<?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>266223</bug_id>
          
          <creation_ts>2023-12-11 07:36:03 -0800</creation_ts>
          <short_desc>REGRESSION(271870@main): Broke the build</short_desc>
          <delta_ts>2023-12-11 07:42:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>265864</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1998642</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-12-11 07:36:03 -0800</bug_when>
    <thetext>https://commits.webkit.org/271870@main introduced a regression:
Broke the build

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1998644</commentid>
    <comment_count>1</comment_count>
      <attachid>468972</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-12-11 07:36:10 -0800</bug_when>
    <thetext>Created attachment 468972
REVERT of 271870@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1998649</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-12-11 07:41:38 -0800</bug_when>
    <thetext>Committed 271875@main (2569fb320d5b): &lt;https://commits.webkit.org/271875@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 468972.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1998651</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-12-11 07:42:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/119493590&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468972</attachid>
            <date>2023-12-11 07:36:10 -0800</date>
            <delta_ts>2023-12-11 07:41:39 -0800</delta_ts>
            <desc>REVERT of 271870@main</desc>
            <filename>bug-266223-20231211153609.patch</filename>
            <type>text/plain</type>
            <size>8530840</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA5N2ZkNDQ2OWVjYWE1ZmVjMTk3ZWRjZWU1MjJkZDE3MjhhNzU2YWE2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDExIERlYyAyMDIzIDE1OjM2OjA2ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI3MTg3MEBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI2NjIyMwoKQnJva2UgdGhlIGJ1aWxkCgpSZXZlcnRlZCBjaGFu
Z2VzZXQ6CgoiVXBkYXRlIGxpYnZweCB1cCB0byBNMTIwIgpodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjY1ODY0Cmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI3MTg3
MEBtYWluCi0tLQogLi4uL2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ2cHgueGNjb25maWcg
IHwgICAgOSArLQogLi4uL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24gICAgICAg
IHwgIDE2OCArLQogLi4uL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvT1dORVJTICAgICAgICAg
IHwgICAgOCArLQogLi4uL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvUkVBRE1FLmNocm9taXVt
IHwgICAyMSArLQogLi4uL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvZ2VuZXJhdGVfZ25pLnNo
IHwgIDI1NiArLQogLi4uL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvbGlidnB4X3NyY3MuZ25p
IHwgMTQzOSArKy0tLS0KIC4uLi9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L2xpbnRfY29uZmln
LnNoICB8ICAgMzYgKy0KIC4uLi9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3J1bl9wZXJsLnB5
ICAgICB8ICAgIDIgKy0KIC4uLi9zb3VyY2UvY29uZmlnL2lvcy9hcm0tbmVvbi92cDhfcnRjZC5o
ICAgICB8ICAgNDEgKwogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZwOV9ydGNkLmgg
ICAgIHwgICA3MSArLQogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZweF9jb25maWcu
YXNtIHwgIDE5OCArLQogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZweF9jb25maWcu
YyAgIHwgICAgMiArLQogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZweF9jb25maWcu
aCAgIHwgICAxMiArLQogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZweF9kc3BfcnRj
ZC5oIHwgIDYzMyArLS0KIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtNjQvdnA4X3J0
Y2QuaCB8ICAgNDEgKwogLi4uL2xpYnZweC9zb3VyY2UvY29uZmlnL2lvcy9hcm02NC92cDlfcnRj
ZC5oIHwgICA3NCArLQogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybTY0L3ZweF9jb25maWcuYXNt
ICAgIHwgIDE5OCArLQogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybTY0L3ZweF9jb25maWcuaCAg
ICAgIHwgICAxNCArLQogLi4uL3NvdXJjZS9jb25maWcvaW9zL2FybTY0L3ZweF9kc3BfcnRjZC5o
ICAgIHwgMTcxMiArLS0tLS0tCiAuLi4vbGludXgvYXJtLW5lb24tY3B1LWRldGVjdC92cDhfcnRj
ZC5oICAgICAgfCAgIDQxICsKIC4uLi9saW51eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZwOV9ydGNk
LmggICAgICB8ICAxNDggKy0KIC4uLi9saW51eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZweF9jb25m
aWcuYXNtICB8ICAgMTYgKy0KIC4uLi9saW51eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZweF9jb25m
aWcuaCAgICB8ICAgMTIgKy0KIC4uLi9saW51eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZweF9kc3Bf
cnRjZC5oICB8IDEwMjEgKy0tLS0KIC4uLi9jb25maWcvbGludXgvYXJtLW5lb24taGlnaGJkL3Zw
OF9ydGNkLmggICB8ICAgNDEgKwogLi4uL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnA5
X3J0Y2QuaCAgIHwgIDE1MSArLQogLi4uL2xpbnV4L2FybS1uZW9uLWhpZ2hiZC92cHhfY29uZmln
LmFzbSAgICAgIHwgICAxNiArLQogLi4uL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnB4
X2NvbmZpZy5jIHwgICAgMiArLQogLi4uL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnB4
X2NvbmZpZy5oIHwgICAxMiArLQogLi4uL2xpbnV4L2FybS1uZW9uLWhpZ2hiZC92cHhfZHNwX3J0
Y2QuaCAgICAgIHwgMjc3OCArKy0tLS0tLS0tLS0KIC4uLi9zb3VyY2UvY29uZmlnL2xpbnV4L2Fy
bS1uZW9uL3ZwOF9ydGNkLmggICB8ICAgNDEgKwogLi4uL3NvdXJjZS9jb25maWcvbGludXgvYXJt
LW5lb24vdnA5X3J0Y2QuaCAgIHwgICA3MSArLQogLi4uL2NvbmZpZy9saW51eC9hcm0tbmVvbi92
cHhfY29uZmlnLmFzbSAgICAgIHwgICAxNiArLQogLi4uL3NvdXJjZS9jb25maWcvbGludXgvYXJt
LW5lb24vdnB4X2NvbmZpZy5jIHwgICAgMiArLQogLi4uL3NvdXJjZS9jb25maWcvbGludXgvYXJt
LW5lb24vdnB4X2NvbmZpZy5oIHwgICAxMiArLQogLi4uL2NvbmZpZy9saW51eC9hcm0tbmVvbi92
cHhfZHNwX3J0Y2QuaCAgICAgIHwgIDYzMyArLS0KIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9s
aW51eC9hcm0vdnA4X3J0Y2QuaCB8ICAgNDEgKwogLi4uL2xpYnZweC9zb3VyY2UvY29uZmlnL2xp
bnV4L2FybS92cDlfcnRjZC5oIHwgICAyMSArLQogLi4uL3NvdXJjZS9jb25maWcvbGludXgvYXJt
L3ZweF9jb25maWcuYXNtICAgIHwgICAxNiArLQogLi4uL3NvdXJjZS9jb25maWcvbGludXgvYXJt
L3ZweF9jb25maWcuYyAgICAgIHwgICAgMiArLQogLi4uL3NvdXJjZS9jb25maWcvbGludXgvYXJt
L3ZweF9jb25maWcuaCAgICAgIHwgICAxMiArLQogLi4uL3NvdXJjZS9jb25maWcvbGludXgvYXJt
L3ZweF9kc3BfcnRjZC5oICAgIHwgIDMyMSArLQogLi4uL2NvbmZpZy9saW51eC9hcm02NC1oaWdo
YmQvdnA4X3J0Y2QuaCAgICAgIHwgICA0MSArCiAuLi4vY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hi
ZC92cDlfcnRjZC5oICAgICAgfCAgMTUxICstCiAuLi4vY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hi
ZC92cHhfY29uZmlnLmFzbSAgfCAgIDE4ICstCiAuLi4vY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hi
ZC92cHhfY29uZmlnLmggICAgfCAgIDI5ICstCiAuLi4vY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hi
ZC92cHhfZHNwX3J0Y2QuaCAgfCAzOTczICsrKy0tLS0tLS0tLS0tLS0tCiAuLi4vc291cmNlL2Nv
bmZpZy9saW51eC9hcm02NC92cDhfcnRjZC5oICAgICAgfCAgIDQxICsKIC4uLi9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybTY0L3ZwOV9ydGNkLmggICAgICB8ICAgNzEgKy0KIC4uLi9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybTY0L3ZweF9jb25maWcuYXNtICB8ICAgMTggKy0KIC4uLi9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybTY0L3ZweF9jb25maWcuaCAgICB8ICAgMTQgKy0KIC4uLi9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybTY0L3ZweF9kc3BfcnRjZC5oICB8IDE3MTIgKy0tLS0tLQogLi4uL3NvdXJj
ZS9jb25maWcvbGludXgvZ2VuZXJpYy92cDhfcnRjZC5oICAgIHwgICA0MSArCiAuLi4vc291cmNl
L2NvbmZpZy9saW51eC9nZW5lcmljL3ZwOV9ydGNkLmggICAgfCAgIDQ4ICstCiAuLi4vY29uZmln
L2xpbnV4L2dlbmVyaWMvdnB4X2NvbmZpZy5hc20gICAgICAgfCAgIDE2ICstCiAuLi4vc291cmNl
L2NvbmZpZy9saW51eC9nZW5lcmljL3ZweF9jb25maWcuaCAgfCAgIDEyICstCiAuLi4vY29uZmln
L2xpbnV4L2dlbmVyaWMvdnB4X2RzcF9ydGNkLmggICAgICAgfCAgNTcyICstLQogLi4uL3NvdXJj
ZS9jb25maWcvbGludXgvaWEzMi92cDhfcnRjZC5oICAgICAgIHwgICA3MiArCiAuLi4vc291cmNl
L2NvbmZpZy9saW51eC9pYTMyL3ZwOV9ydGNkLmggICAgICAgfCAgMTkxICstCiAuLi4vc291cmNl
L2NvbmZpZy9saW51eC9pYTMyL3ZweF9jb25maWcuYXNtICAgfCAgIDEyICstCiAuLi4vc291cmNl
L2NvbmZpZy9saW51eC9pYTMyL3ZweF9jb25maWcuaCAgICAgfCAgIDEyICstCiAuLi4vc291cmNl
L2NvbmZpZy9saW51eC9pYTMyL3ZweF9kc3BfcnRjZC5oICAgfCAyMjA1ICsrKy0tLS0tLQogLi4u
L3NvdXJjZS9jb25maWcvbGludXgvbG9vbmdhcmNoL3ZwOF9ydGNkLmggIHwgIDUwMSAtLS0KIC4u
Li9zb3VyY2UvY29uZmlnL2xpbnV4L2xvb25nYXJjaC92cDlfcnRjZC5oICB8ICAxNjYgLQogLi4u
L2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X2NvbmZpZy5jICAgICAgIHwgICAxMCAtCiAuLi4v
Y29uZmlnL2xpbnV4L2xvb25nYXJjaC92cHhfY29uZmlnLmggICAgICAgfCAgMTE1IC0KIC4uLi9j
b25maWcvbGludXgvbG9vbmdhcmNoL3ZweF9kc3BfcnRjZC5oICAgICB8IDI0NTIgLS0tLS0tLS0t
LQogLi4uL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X3NjYWxlX3J0Y2QuaCAgIHwgIDEwMSAt
CiAuLi4vc291cmNlL2NvbmZpZy9saW51eC9taXBzNjRlbC92cDhfcnRjZC5oICAgfCAgIDQxICsK
IC4uLi9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHM2NGVsL3ZwOV9ydGNkLmggICB8ICAgMjEgKy0K
IC4uLi9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHM2NGVsL3ZweF9jb25maWcuaCB8ICAgMTIgKy0K
IC4uLi9jb25maWcvbGludXgvbWlwczY0ZWwvdnB4X2RzcF9ydGNkLmggICAgICB8ICAzMjEgKy0K
IC4uLi9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHNlbC92cDhfcnRjZC5oICAgICB8ICAgNDEgKwog
Li4uL3NvdXJjZS9jb25maWcvbGludXgvbWlwc2VsL3ZwOV9ydGNkLmggICAgIHwgICAyMSArLQog
Li4uL3NvdXJjZS9jb25maWcvbGludXgvbWlwc2VsL3ZweF9jb25maWcuaCAgIHwgICAxMiArLQog
Li4uL3NvdXJjZS9jb25maWcvbGludXgvbWlwc2VsL3ZweF9kc3BfcnRjZC5oIHwgIDMyMSArLQog
Li4uL3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnA4X3J0Y2QuaCAgICAgIHwgIDMyMCAtLQog
Li4uL3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnA5X3J0Y2QuaCAgICAgIHwgIDE5MyAtCiAu
Li4vc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfY29uZmlnLmFzbSAgfCAgMTA2IC0KIC4u
Li9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcuYyAgICB8ICAgMTAgLQogLi4u
L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5oICAgIHwgIDExNSAtCiAuLi4v
c291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfZHNwX3J0Y2QuaCAgfCAyMTIwIC0tLS0tLS0t
LQogLi4uL2NvbmZpZy9saW51eC9wcGM2NC92cHhfc2NhbGVfcnRjZC5oICAgICAgIHwgIDEwMCAt
CiAuLi4vbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgveDY0L3ZwOF9ydGNkLmggfCAgIDcyICsK
IC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC94NjQvdnA5X3J0Y2QuaCB8ICAxOTQgKy0K
IC4uLi9zb3VyY2UvY29uZmlnL2xpbnV4L3g2NC92cHhfY29uZmlnLmFzbSAgICB8ICAgMTIgKy0K
IC4uLi9zb3VyY2UvY29uZmlnL2xpbnV4L3g2NC92cHhfY29uZmlnLmggICAgICB8ICAgMTIgKy0K
IC4uLi9zb3VyY2UvY29uZmlnL2xpbnV4L3g2NC92cHhfZHNwX3J0Y2QuaCAgICB8IDIyMDUgKysr
LS0tLS0tCiAuLi4vbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL2lhMzIvdnA4X3J0Y2QuaCAgfCAg
IDcyICsKIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMvaWEzMi92cDlfcnRjZC5oICB8ICAx
OTEgKy0KIC4uLi9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZweF9jb25maWcuYXNtICAgICB8ICAg
MTIgKy0KIC4uLi9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZweF9jb25maWcuaCAgICAgICB8ICAg
MTIgKy0KIC4uLi9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZweF9kc3BfcnRjZC5oICAgICB8IDIy
MDUgKysrLS0tLS0tCiAuLi4vbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL3g2NC92cDhfcnRjZC5o
ICAgfCAgIDc0ICsKIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMveDY0L3ZwOV9ydGNkLmgg
ICB8ICAyMTMgKy0KIC4uLi9zb3VyY2UvY29uZmlnL21hYy94NjQvdnB4X2NvbmZpZy5hc20gICAg
ICB8ICAgMTIgKy0KIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMveDY0L3ZweF9jb25maWcu
YyB8ICAgIDIgKy0KIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMveDY0L3ZweF9jb25maWcu
aCB8ICAgMTIgKy0KIC4uLi9zb3VyY2UvY29uZmlnL21hYy94NjQvdnB4X2RzcF9ydGNkLmggICAg
ICB8IDE5NDkgKysrLS0tLS0KIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy9uYWNsL3ZwOF9ydGNk
LmggICAgICB8ICAgNDEgKwogLi4uL2xpYnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnA5X3J0Y2Qu
aCAgICAgIHwgICA0OCArLQogLi4uL2xpYnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnB4X2NvbmZp
Zy5oICAgIHwgICAxMiArLQogLi4uL2xpYnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnB4X2RzcF9y
dGNkLmggIHwgIDU3MiArLS0KIC4uLi9saWJ2cHgvc291cmNlL2NvbmZpZy92cHhfdmVyc2lvbi5o
ICAgICAgICB8ICAgMTAgKy0KIC4uLi9jb25maWcvd2luL2FybTY0LWhpZ2hiZC92cHhfY29uZmln
LmFzbSAgICB8ICAxMDYgLQogLi4uL3dpbi97YXJtNjQtaGlnaGJkID0+IGFybTY0fS92cDhfcnRj
ZC5oICAgIHwgICA0MSArCiAuLi4vd2luL3thcm02NC1oaWdoYmQgPT4gYXJtNjR9L3ZwOV9ydGNk
LmggICAgfCAgMTUxICstCiAuLi4vc291cmNlL2NvbmZpZy93aW4vYXJtNjQvdnB4X2NvbmZpZy5h
c20gICAgfCAgIDk4ICsKIC4uLi93aW4ve2FybTY0LWhpZ2hiZCA9PiBhcm02NH0vdnB4X2NvbmZp
Zy5jICB8ICAgIDAKIC4uLi93aW4ve2FybTY0LWhpZ2hiZCA9PiBhcm02NH0vdnB4X2NvbmZpZy5o
ICB8ICAgMTQgKy0KIC4uLi97YXJtNjQtaGlnaGJkID0+IGFybTY0fS92cHhfZHNwX3J0Y2QuaCAg
ICB8IDM4NzMgKysrLS0tLS0tLS0tLS0tLQogLi4uL3thcm02NC1oaWdoYmQgPT4gYXJtNjR9L3Zw
eF9zY2FsZV9ydGNkLmggIHwgICAgMAogLi4uL2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9pYTMy
L3ZwOF9ydGNkLmggIHwgICA3MiArCiAuLi4vbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2lhMzIv
dnA5X3J0Y2QuaCAgfCAgMTkxICstCiAuLi4vc291cmNlL2NvbmZpZy93aW4vaWEzMi92cHhfY29u
ZmlnLmFzbSAgICAgfCAgIDEyICstCiAuLi4vc291cmNlL2NvbmZpZy93aW4vaWEzMi92cHhfY29u
ZmlnLmggICAgICAgfCAgIDEyICstCiAuLi4vc291cmNlL2NvbmZpZy93aW4vaWEzMi92cHhfZHNw
X3J0Y2QuaCAgICAgfCAyMjA1ICsrKy0tLS0tLQogLi4uL2xpYnZweC9zb3VyY2UvY29uZmlnL3dp
bi94NjQvdnA4X3J0Y2QuaCAgIHwgICA3MiArCiAuLi4vbGlidnB4L3NvdXJjZS9jb25maWcvd2lu
L3g2NC92cDlfcnRjZC5oICAgfCAgMTk0ICstCiAuLi4vc291cmNlL2NvbmZpZy93aW4veDY0L3Zw
eF9jb25maWcuYXNtICAgICAgfCAgIDEyICstCiAuLi4vbGlidnB4L3NvdXJjZS9jb25maWcvd2lu
L3g2NC92cHhfY29uZmlnLmggfCAgIDEyICstCiAuLi4vc291cmNlL2NvbmZpZy93aW4veDY0L3Zw
eF9kc3BfcnRjZC5oICAgICAgfCAyMjA1ICsrKy0tLS0tLQogLi4uL2xpYnZweC9zb3VyY2UvbGli
dnB4Ly5jbGFuZy1mb3JtYXQgICAgICAgIHwgIDE0MiArLQogLi4uL2xpYnZweC9zb3VyY2UvbGli
dnB4Ly5naXRpZ25vcmUgICAgICAgICAgIHwgICAgMiAtCiAuLi4vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvLm1haWxtYXAgfCAgICA1ICstCiAuLi4vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvQVVUSE9SUyAgfCAgIDIzIC0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZw
eC9DT05UUklCVVRJTkcubWQgICAgICB8ICAgIDcgKy0KIC4uLi90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC9SRUFETUUgICB8ICAgMjkgKy0KIC4uLi90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC9hcmdzLmMgICB8ICAgMTAgKy0KIC4uLi9zb3VyY2UvbGlidnB4L2J1aWxk
L21ha2UvQW5kcm9pZC5tayAgICAgICB8ICAgIDYgLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L2J1aWxkL21ha2UvTWFrZWZpbGUgIHwgICA0MiArLQogLi4uL3NvdXJjZS9saWJ2cHgvYnVpbGQv
bWFrZS9hZHMyYXJtYXNtX21zLnBsIHwgICAgMiArLQogLi4uL3NvdXJjZS9saWJ2cHgvYnVpbGQv
bWFrZS9hZHMyZ2FzLnBsICAgICAgIHwgIDE1MSArLQogLi4uL3NvdXJjZS9saWJ2cHgvYnVpbGQv
bWFrZS9hZHMyZ2FzX2FwcGxlLnBsIHwgIDE0NCArLQogLi4uL3NvdXJjZS9saWJ2cHgvYnVpbGQv
bWFrZS9jb25maWd1cmUuc2ggICAgIHwgICA5MiArLQogLi4uL3NvdXJjZS9saWJ2cHgvYnVpbGQv
bWFrZS9nZW5fYXNtX2RlcHMuc2ggIHwgICAgMiArLQogLi4uL3NvdXJjZS9saWJ2cHgvYnVpbGQv
bWFrZS9nZW5fbXN2c19zbG4uc2ggIHwgICAgNSArLQogLi4uL2xpYnZweC9idWlsZC9tYWtlL2dl
bl9tc3ZzX3ZjeHByb2ouc2ggICAgIHwgICA1MSArLQogLi4uL3NvdXJjZS9saWJ2cHgvYnVpbGQv
bWFrZS9tc3ZzX2NvbW1vbi5zaCAgIHwgICAgMyArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L2J1aWxkL21ha2UvcnRjZC5wbCAgIHwgICAzOSArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L2J1aWxkL21ha2UvdGh1bWIucG0gIHwgICAgNSArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L2NvbmZpZ3VyZSAgICAgICAgICAgIHwgICA2MSArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L2V4YW1wbGVzLm1rICAgICAgICAgIHwgICAgNCArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L2V4YW1wbGVzL3Bvc3Rwcm9jLmMgIHwgICAgMiArLQogLi4uL3NvdXJjZS9saWJ2cHgvZXhhbXBs
ZXMvcmVzaXplX3V0aWwuYyAgICAgIHwgICAxMCArLQogLi4uL3NvdXJjZS9saWJ2cHgvZXhhbXBs
ZXMvc3ZjX2VuY29kZWZyYW1lLmMgIHwgICAzMiArLQogLi4uL3NvdXJjZS9saWJ2cHgvZXhhbXBs
ZXMvdHdvcGFzc19lbmNvZGVyLmMgIHwgICAgMyArLQogLi4uL2V4YW1wbGVzL3ZwOF9tdWx0aV9y
ZXNvbHV0aW9uX2VuY29kZXIuYyAgIHwgICAgNiArLQogLi4uL2xpYnZweC9leGFtcGxlcy92cDlf
c3BhdGlhbF9zdmNfZW5jb2Rlci5jIHwgICA5MiArLQogLi4uL3NvdXJjZS9saWJ2cHgvZXhhbXBs
ZXMvdnB4X2RlY19mdXp6ZXIuY2MgIHwgICAgMiArLQogLi4uL2V4YW1wbGVzL3ZweF90ZW1wb3Jh
bF9zdmNfZW5jb2Rlci5jICAgICAgIHwgIDEwNyArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L2xpYnMuZG94eV90ZW1wbGF0ZSAgIHwgICA0MCArLQogLi4uL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L2xpYnMubWsgIHwgIDEwMyArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L21kNV91dGlscy5jICAgICAgICAgIHwgICAgNCArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L3JhdGVfaGlzdC5jICAgICAgICAgIHwgICAzNyArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvYWNtX3JhbmRvbS5oICAgIHwgICAyNyArLQogLi4uL2xpYnZweC90ZXN0L2FjdGl2ZV9t
YXBfcmVmcmVzaF90ZXN0LmNjICAgIHwgICAgOCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC9h
Y3RpdmVfbWFwX3Rlc3QuY2MgICAgIHwgICAxNCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC9h
ZGRfbm9pc2VfdGVzdC5jYyAgICAgIHwgICAgNSArLQogLi4uL2xpYnZweC90ZXN0L2FsdF9yZWZf
YXFfc2VnbWVudF90ZXN0LmNjICAgIHwgICAgOCArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvYWx0cmVmX3Rlc3QuY2MgIHwgICAyMiArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC9h
bmRyb2lkL0FuZHJvaWQubWsgICAgIHwgICAxMCAtCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L2Fx
X3NlZ21lbnRfdGVzdC5jYyAgICAgfCAgICA4ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9hdmdfdGVzdC5jYyAgICAgfCAgIDQ1ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9iZW5jaC5oICAgICAgICAgfCAgICAyIC0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvYmxv
Y2tpbmVzc190ZXN0LmNjICAgICB8ICAgIDQgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2JvcmRlcnNfdGVzdC5jYyB8ICAgMTAgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2J1ZmZlci5oICAgICAgICB8ICAgMTQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvYnl0
ZV9hbGlnbm1lbnRfdGVzdC5jYyB8ICAgIDQgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2NvZGVjX2ZhY3RvcnkuaCB8ICAgNTggKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvY29t
cF9hdmdfcHJlZF90ZXN0LmNjICB8ICAxODcgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2NvbmZpZ190ZXN0LmNjICB8ICAgMTAgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvY29u
c2lzdGVuY3lfdGVzdC5jYyAgICB8ICAgIDQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvY29u
dm9sdmVfdGVzdC5jYyAgICAgICB8ICAgNDkgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvY3B1
X3NwZWVkX3Rlc3QuY2MgICAgICB8ICAgMTIgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2NxX3Rlc3QuY2MgICAgICB8ICAgMTQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZGN0
MTZ4MTZfdGVzdC5jYyAgICAgICB8ICAxOTggKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZGN0
MzJ4MzJfdGVzdC5jYyAgICAgICB8ICAyMTQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZGN0
X3BhcnRpYWxfdGVzdC5jYyAgICB8ICAgMTIgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2RjdF90ZXN0LmNjICAgICB8ICAgNjIgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZGVj
b2RlX2NvcnJ1cHRlZC5jYyAgICB8ICAgMjIgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZGVj
b2RlX3BlcmZfdGVzdC5jYyAgICB8ICAgMTggKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZGVj
b2RlX3N2Y190ZXN0LmNjICAgICB8ICAgMTEgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZGVj
b2RlX3Rlc3RfZHJpdmVyLmggICB8ICAgIDIgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZW5j
b2RlX2FwaV90ZXN0LmNjICAgICB8ICA0ODUgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZW5j
b2RlX3BlcmZfdGVzdC5jYyAgICB8ICAgMTQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZW5j
b2RlX3Rlc3RfZHJpdmVyLmNjICB8ICAgMTEgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZW5j
b2RlX3Rlc3RfZHJpdmVyLmggICB8ICAgMjEgKy0KIC4uLi9saWJ2cHgvdGVzdC9lcnJvcl9yZXNp
bGllbmNlX3Rlc3QuY2MgICAgICB8ICAgMzAgKy0KIC4uLi9saWJ2cHgvdGVzdC9leHRlcm5hbF9m
cmFtZV9idWZmZXJfdGVzdC5jYyB8ICAgMTcgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2ZkY3Q4eDhfdGVzdC5jYyB8ICAgNzYgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvZnJh
bWVfc2l6ZV90ZXN0cy5jYyAgICB8ICAgMjIgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvaGFk
YW1hcmRfdGVzdC5jYyAgICAgICB8ICAgNjggKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2lkY3RfdGVzdC5jYyAgICB8ICAgIDQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvaW5p
dF92cHhfdGVzdC5jYyAgICAgICB8ICAgOTMgLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3Rl
c3QvaW5pdF92cHhfdGVzdC5oIHwgICAxOCAtCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L2ludmFs
aWRfZmlsZV90ZXN0LmNjICAgfCAgIDE1ICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L2l2Zl92
aWRlb19zb3VyY2UuaCAgICAgfCAgIDI4ICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L2tleWZy
YW1lX3Rlc3QuY2MgICAgICAgfCAgIDEwICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9sZXZlbF90ZXN0LmNjICAgfCAgICA4ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9scGZfdGVzdC5jYyAgICAgfCAgIDQ0ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9tZDVfaGVscGVyLmggICAgfCAgICAyICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9taW5tYXhfdGVzdC5jYyAgfCAgMTE1ICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L3BhcnRp
YWxfaWRjdF90ZXN0LmNjICAgfCAgIDIyICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L3BwX2Zp
bHRlcl90ZXN0LmNjICAgICAgfCAgIDI5ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9wcmVkaWN0X3Rlc3QuY2MgfCAgIDE0ICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L3F1YW50
aXplX3Rlc3QuY2MgICAgICAgfCAgIDExICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L3JhdGVj
dHJsX3J0Y190ZXN0LmNjICAgfCAgMjI5ICsKIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvcmVhbHRp
bWVfdGVzdC5jYyAgICAgICB8ICAgNjYgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvcmVnaXN0
ZXJfc3RhdGVfY2hlY2suaCB8ICAgMzYgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0
L3Jlc2l6ZV90ZXN0LmNjICB8ICAgOTAgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0
L3NhZF90ZXN0LmNjICAgICB8ICA5OTggKy0tLS0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3NldF9yb2kuY2MgICAgICB8ICAgIDQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3Qvc2lt
cGxlX2VuY29kZV90ZXN0LmNjICB8ICAgNDEgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3Qvc3Vt
X3NxdWFyZXNfdGVzdC5jYyAgICB8ICAgIDYgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3Qvc3Vw
ZXJmcmFtZV90ZXN0LmNjICAgICB8ICAgMTQgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3Qvc3Zj
X2RhdGFyYXRlX3Rlc3QuY2MgICB8ICAzMjcgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3Qvc3Zj
X2VuZF90b19lbmRfdGVzdC5jYyB8ICAyNDMgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3N2Y190ZXN0LmggICAgICB8ICAgIDYgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3Rlc3QtZGF0YS5tayAgICB8ICAgIDQgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3Rlc3QtZGF0YS5zaGExICB8ICAgIDQgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3Rlc3QubWsgICAgICAgICB8ICAgMzAgKy0KIC4uLi9saWJ2cHgvdGVzdC90ZXN0X2ludHJh
X3ByZWRfc3BlZWQuY2MgICAgICB8ICAgOTEgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3Rlc3RfbGlidnB4LmNjICB8ICAgNjEgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Rlc3QvdGVz
dF9yY19pbnRlcmZhY2UuY2MgICB8ICAgIDYgLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC90ZXN0
X3ZlY3Rvcl90ZXN0LmNjICAgIHwgICAxMSArLQogLi4uL2xpYnZweC90ZXN0L3RpbGVfaW5kZXBl
bmRlbmNlX3Rlc3QuY2MgICAgIHwgICAxMCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC90aW1l
c3RhbXBfdGVzdC5jYyAgICAgIHwgICAxMCArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3Rl
c3QvdG9vbHNfY29tbW9uLnNoIHwgICAgNCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92YXJp
YW5jZV90ZXN0LmNjICAgICAgIHwgIDQ2MCArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3Rl
c3QvdmlkZW9fc291cmNlLmggIHwgICA3MiArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDhf
ZGF0YXJhdGVfdGVzdC5jYyAgIHwgICAxNCArLQogLi4uL2xpYnZweC90ZXN0L3ZwOF9kZW5vaXNl
cl9zc2UyX3Rlc3QuY2MgICAgIHwgICAxNSArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDhf
ZmRjdDR4NF90ZXN0LmNjICAgIHwgICAxMSArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDhf
ZnJhZ21lbnRzX3Rlc3QuY2MgIHwgICAgNCArLQogLi4uL2xpYnZweC90ZXN0L3ZwOF9yYXRlY3Ry
bF9ydGNfdGVzdC5jYyAgICAgIHwgIDM0MyAtLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDlf
YXJmX2ZyZXFfdGVzdC5jYyAgIHwgICAxMiArLQogLi4uL2xpYnZweC90ZXN0L3ZwOV9ibG9ja19l
cnJvcl90ZXN0LmNjICAgICAgIHwgICAyNCArLQogLi4uL2xpYnZweC90ZXN0L3ZwOV9jX3ZzX3Np
bWRfZW5jb2RlLnNoICAgICAgIHwgIDQyMiAtLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDlf
ZGF0YXJhdGVfdGVzdC5jYyAgIHwgIDE4MSArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDlf
ZGVub2lzZXJfdGVzdC5jYyAgIHwgICAgNiArLQogLi4uL3Rlc3QvdnA5X2VuY29kZXJfcGFybXNf
Z2V0X3RvX2RlY29kZXIuY2MgIHwgICAxNCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDlf
ZW5kX3RvX2VuZF90ZXN0LmNjIHwgICAzNCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92cDlf
ZXRocmVhZF90ZXN0LmNjICAgIHwgICA0NSArLQogLi4uL2xpYnZweC90ZXN0L3ZwOV9leHRfcmF0
ZWN0cmxfdGVzdC5jYyAgICAgIHwgIDgyNCArLS0tCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L3Zw
OV9pbnRyYXByZWRfdGVzdC5jYyAgfCAgMTU1ICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L3Zw
OV9sb3NzbGVzc190ZXN0LmNjICAgfCAgIDEyICstCiAuLi4vbGlidnB4L3Rlc3QvdnA5X21vdGlv
bl92ZWN0b3JfdGVzdC5jYyAgICAgfCAgICA4ICstCiAuLi4vc291cmNlL2xpYnZweC90ZXN0L3Zw
OV9xdWFudGl6ZV90ZXN0LmNjICAgfCAgNTM4ICstLQogLi4uL2xpYnZweC90ZXN0L3ZwOV9yYXRl
Y3RybF9ydGNfdGVzdC5jYyAgICAgIHwgIDU3MSAtLS0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZw
eC90ZXN0L3ZwOV9yb2lfdGVzdC5jYyB8ICAxNDggLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92
cDlfc2NhbGVfdGVzdC5jYyAgICAgIHwgICAgNCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92
cDlfc3VidHJhY3RfdGVzdC5jYyAgIHwgIDE3MCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92
cDlfdGhyZWFkX3Rlc3QuY2MgICAgIHwgIDE2OCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC92
cHhfc2NhbGVfdGVzdC5jYyAgICAgIHwgICAgOCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC93
ZWJtX3ZpZGVvX3NvdXJjZS5oICAgIHwgICAyNiArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QveTRtX3Rlc3QuY2MgICAgIHwgICAxMiArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC95
NG1fdmlkZW9fc291cmNlLmggICAgIHwgICAzNCArLQogLi4uL2xpYnZweC90ZXN0L3l1dl90ZW1w
b3JhbF9maWx0ZXJfdGVzdC5jYyAgIHwgICAyOCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdGVzdC95
dXZfdmlkZW9fc291cmNlLmggICAgIHwgICAzMiArLQogLi4uL3RoaXJkX3BhcnR5L2dvb2dsZXRl
c3QvUkVBRE1FLmxpYnZweCAgICAgIHwgICAxNiArLQogLi4uL3RoaXJkX3BhcnR5L2dvb2dsZXRl
c3Qvc3JjLy5jbGFuZy1mb3JtYXQgIHwgICAgNCAtCiAuLi4vdGhpcmRfcGFydHkvZ29vZ2xldGVz
dC9zcmMvQ09OVFJJQlVUT1JTICAgfCAgIDI3IC0KIC4uLi90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0
L3NyYy9SRUFETUUubWQgICAgICB8ICAxNzMgKy0KIC4uLi9pbmNsdWRlL2d0ZXN0L2d0ZXN0LWFz
c2VydGlvbi1yZXN1bHQuaCAgICB8ICAyMzcgLQogLi4uL3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0
LWRlYXRoLXRlc3QuaCAgICAgIHwgIDExOCArLQogLi4uL3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0
LW1hdGNoZXJzLmggICAgICAgIHwgIDQzNiArLQogLi4uL3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0
LW1lc3NhZ2UuaCAgICAgICAgIHwgICAzMyArLQogLi4uL3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0
LXBhcmFtLXRlc3QuaCAgICAgIHwgICA5OSArLQogLi4uL3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0
LXByaW50ZXJzLmggICAgICAgIHwgIDcxMyArKy0KIC4uLi9nb29nbGV0ZXN0L3NyYy9pbmNsdWRl
L2d0ZXN0L2d0ZXN0LXNwaS5oICB8ICAxMzggKy0KIC4uLi9zcmMvaW5jbHVkZS9ndGVzdC9ndGVz
dC10ZXN0LXBhcnQuaCAgICAgICB8ICAgMjAgKy0KIC4uLi9zcmMvaW5jbHVkZS9ndGVzdC9ndGVz
dC10eXBlZC10ZXN0LmggICAgICB8ICAgNTIgKy0KIC4uLi9nb29nbGV0ZXN0L3NyYy9pbmNsdWRl
L2d0ZXN0L2d0ZXN0LmggICAgICB8ICA2MTQgKystCiAuLi4vc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rl
c3RfcHJlZF9pbXBsLmggICAgICAgfCAgMjA2ICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvaW5jbHVk
ZS9ndGVzdC9ndGVzdF9wcm9kLmggfCAgIDE1ICstCiAuLi4vaW5jbHVkZS9ndGVzdC9pbnRlcm5h
bC9jdXN0b20vUkVBRE1FLm1kICAgfCAgIDEyICsKIC4uLi9ndGVzdC9pbnRlcm5hbC9jdXN0b20v
Z3Rlc3QtcG9ydC5oICAgICAgICB8ICAgMzcgKy0KIC4uLi9ndGVzdC9pbnRlcm5hbC9jdXN0b20v
Z3Rlc3QtcHJpbnRlcnMuaCAgICB8ICAgIDYgKy0KIC4uLi9zcmMvaW5jbHVkZS9ndGVzdC9pbnRl
cm5hbC9jdXN0b20vZ3Rlc3QuaCB8ICAgIDYgKy0KIC4uLi9pbnRlcm5hbC9ndGVzdC1kZWF0aC10
ZXN0LWludGVybmFsLmggICAgICB8ICAgODAgKy0KIC4uLi9pbmNsdWRlL2d0ZXN0L2ludGVybmFs
L2d0ZXN0LWZpbGVwYXRoLmggICB8ICAgMjUgKy0KIC4uLi9pbmNsdWRlL2d0ZXN0L2ludGVybmFs
L2d0ZXN0LWludGVybmFsLmggICB8ICA1OTYgKy0tCiAuLi4vaW5jbHVkZS9ndGVzdC9pbnRlcm5h
bC9ndGVzdC1wYXJhbS11dGlsLmggfCAgMTg2ICstCiAuLi4vaW5jbHVkZS9ndGVzdC9pbnRlcm5h
bC9ndGVzdC1wb3J0LWFyY2guaCAgfCAgMTA3ICstCiAuLi4vc3JjL2luY2x1ZGUvZ3Rlc3QvaW50
ZXJuYWwvZ3Rlc3QtcG9ydC5oICAgfCAxMTQ1ICsrLS0tCiAuLi4vc3JjL2luY2x1ZGUvZ3Rlc3Qv
aW50ZXJuYWwvZ3Rlc3Qtc3RyaW5nLmggfCAgIDI3ICstCiAuLi4vaW5jbHVkZS9ndGVzdC9pbnRl
cm5hbC9ndGVzdC10eXBlLXV0aWwuaCAgfCAgIDY5ICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LWFsbC5jYyAgICAgICAgICAgfCAgICAzICstCiAuLi4vc3JjL3NyYy9ndGVzdC1hc3Nl
cnRpb24tcmVzdWx0LmNjICAgICAgICAgfCAgIDc3IC0KIC4uLi9nb29nbGV0ZXN0L3NyYy9zcmMv
Z3Rlc3QtZGVhdGgtdGVzdC5jYyAgICB8ICA1NzEgKy0tCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LWZpbGVwYXRoLmNjICAgICAgfCAgMTIzICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LWludGVybmFsLWlubC5oICAgfCAgMjQwICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LW1hdGNoZXJzLmNjICAgICAgfCAgICA1ICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LXBvcnQuY2MgICAgICAgICAgfCAgMzk5ICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LXByaW50ZXJzLmNjICAgICAgfCAgMjc5ICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LXRlc3QtcGFydC5jYyAgICAgfCAgIDE5ICstCiAuLi4vZ29vZ2xldGVzdC9zcmMvc3Jj
L2d0ZXN0LXR5cGVkLXRlc3QuY2MgICAgfCAgIDIzICstCiAuLi4vdGhpcmRfcGFydHkvZ29vZ2xl
dGVzdC9zcmMvc3JjL2d0ZXN0LmNjICAgfCAyMzUwICsrKystLS0tLS0KIC4uLi9nb29nbGV0ZXN0
L3NyYy9zcmMvZ3Rlc3RfbWFpbi5jYyAgICAgICAgICB8ICAgIDUgKy0KIC4uLi9saWJ2cHgvdGhp
cmRfcGFydHkvbGlid2VibS9BVVRIT1JTLlRYVCAgICB8ICAgIDkgKy0KIC4uLi9saWJ2cHgvdGhp
cmRfcGFydHkvbGlid2VibS9BbmRyb2lkLm1rICAgICB8ICAgIDggKy0KIC4uLi9saWJ2cHgvdGhp
cmRfcGFydHkvbGlid2VibS9SRUFETUUubGlidnB4ICB8ICAgIDUgKy0KIC4uLi90aGlyZF9wYXJ0
eS9saWJ3ZWJtL21rdm11eGVyL21rdm11eGVyLmNjICB8ICAgMzEgKy0KIC4uLi90aGlyZF9wYXJ0
eS9saWJ3ZWJtL21rdm11eGVyL21rdm11eGVyLmggICB8ICAgIDggKy0KIC4uLi9saWJ3ZWJtL21r
dm11eGVyL21rdm11eGVydXRpbC5jYyAgICAgICAgICB8ICAgIDIgKy0KIC4uLi9saWJ3ZWJtL21r
dnBhcnNlci9ta3ZwYXJzZXIuY2MgICAgICAgICAgICB8ICAgOTMgKy0KIC4uLi90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy5tayB8ICAgIDEgLQogLi4uLzNELVJlY29uc3Ry
dWN0aW9uL01vdGlvbkVTVC9FeGhhdXN0LnB5ICAgIHwgICAgMiArLQogLi4uL01vdGlvbkVTVC9H
cm91bmRUcnV0aC5weSAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogLi4uLzNELVJlY29uc3Ry
dWN0aW9uL01vdGlvbkVTVC9Nb3Rpb25FU1QucHkgIHwgICAgNCArLQogLi4uL3Rvb2xzLzNELVJl
Y29uc3RydWN0aW9uL01vdGlvbkVTVC9VdGlsLnB5IHwgICAgMiArLQogLi4uL2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rvb2xzL2NwcGxpbnQucHkgICAgIHwgMzQ1MiArKysrLS0tLS0tLS0tLQogLi4u
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL2RpZmYucHkgICAgICAgIHwgICAgMiArLQogLi4u
L3NvdXJjZS9saWJ2cHgvdG9vbHMvaW50ZXJzZWN0LWRpZmZzLnB5ICAgIHwgICAgNCArLQogLi4u
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL2xpbnQtaHVua3MucHkgIHwgICAzNiArLQogLi4u
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL3Rpbnlfc3NpbS5jICAgIHwgICAzNCArLQogLi4u
L3NvdXJjZS9saWJ2cHgvdG9vbHMvd3JhcC1jb21taXQtbXNnLnB5ICAgIHwgICAgMiArLQogLi4u
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzX2NvbW1vbi5jICAgICAgIHwgICAxNiArLQogLi4u
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzX2NvbW1vbi5oICAgICAgIHwgICAzMCArLQogLi4u
L3ZwOC9jb21tb24vYXJtL25lb24vc2l4dGFwcHJlZGljdF9uZW9uLmMgIHwgICAgOSArLQogLi4u
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYmxvY2tkLmggIHwgICAgNCArLQogLi4u
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vY29tbW9uLmggIHwgICAxMiArLQogLi4u
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9maW5kbmVhcm12LmMgICAgIHwgICAgNCArLQogLi4u
L3ZwOC9jb21tb24vZ2VuZXJpYy9zeXN0ZW1kZXBlbmRlbnQuYyAgICAgIHwgICAgNCAtCiAuLi4v
bGlidnB4L3ZwOC9jb21tb24vbG9vbmdhcmNoL2lkY3RfbHN4LmMgICAgfCAgMzIyIC0tCiAuLi4v
Y29tbW9uL2xvb25nYXJjaC9sb29wZmlsdGVyX2ZpbHRlcnNfbHN4LmMgfCAgNzQzIC0tLQogLi4u
L3ZwOC9jb21tb24vbG9vbmdhcmNoL3NpeHRhcF9maWx0ZXJfbHN4LmMgIHwgMTkwNCAtLS0tLS0t
LQogLi4uL3ZwOC9jb21tb24vbWlwcy9kc3ByMi9maWx0ZXJfZHNwcjIuYyAgICAgIHwgICAxMiAr
LQogLi4uL3ZwOC9jb21tb24vbWlwcy9tc2Evc2l4dGFwX2ZpbHRlcl9tc2EuYyAgIHwgIDE4MSAr
LQogLi4uL3ZwOC9jb21tb24vbWlwcy9tc2EvdnA4X21hY3Jvc19tc2EuaCAgICAgIHwgIDI1NiAr
LQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vb255eC5oICAgIHwgICAyMSAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9ydGNkX2RlZnMucGwgICAgIHwgICA0NCAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi92cDhfbG9vcGZpbHRlci5jIHwgICAgMiAr
LQogLi4uL3ZwOC9jb21tb24veDg2L2JpbGluZWFyX2ZpbHRlcl9zc2UyLmMgICAgIHwgICAgNCAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGJvb2xodWZmLmggICAgIHwgICAgNCAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlZnJhbWUuYyAgIHwgICAxOCAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlbXYuYyAgICAgIHwgICAgNyAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvb255eGRfaW50LmggICAgIHwgICAyMSAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvdGhyZWFkaW5nLmMgICAgIHwgICAzNCAr
LQogLi4uL3ZwOC9lbmNvZGVyL2FybS9uZW9uL2Zhc3RxdWFudGl6ZWJfbmVvbi5jIHwgICAgOCAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYml0c3RyZWFtLmMgICAgIHwgICAxMyAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYm9vbGh1ZmYuaCAgICAgIHwgICAgMyAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZGVub2lzaW5nLmMgICAgIHwgICAgMiAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlZnJhbWUuYyAgIHwgICA0OCAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuYyAgIHwgICAgMyAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuaCAgIHwgICAgMiAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlbXYuYyAgICAgIHwgICAxOSAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZXRocmVhZGluZy5jICAgIHwgICA1NiAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZmlyc3RwYXNzLmMgICAgIHwgIDExOSAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbG9va2FoZWFkLmMgICAgIHwgICAgNCAr
LQogLi4uL2xpYnZweC92cDgvZW5jb2Rlci9sb29uZ2FyY2gvZGN0X2xzeC5jICAgIHwgIDE2MSAt
CiAuLi4vdnA4L2VuY29kZXIvbG9vbmdhcmNoL2VuY29kZW9wdF9sc3guYyAgICAgfCAgIDgyIC0K
IC4uLi92cDgvZW5jb2Rlci9sb29uZ2FyY2gvdnA4X3F1YW50aXplX2xzeC5jICB8ICAxNDUgLQog
Li4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmMgIHwgIDM0MyArLQog
Li4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmggIHwgICAgOCArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbXJfZGlzc2ltLmMgICAgIHwgICAgMiArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvb255eF9pZi5jICAgICAgIHwgIDI0NCArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQuaCAgICAgIHwgICAzOCArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvcGlja2ludGVyLmMgICAgIHwgICAgMiArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvcmF0ZWN0cmwuYyAgICAgIHwgICA2MyArLQog
Li4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3Jkb3B0LmMgIHwgICAxMCArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9uLmMgIHwgICAgNCArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9uLmggIHwgICAgNCArLQog
Li4uL3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvdnA4X3F1YW50aXplLmMgIHwgICAgMiArLQog
Li4uL2xpYnZweC92cDgvZW5jb2Rlci94ODYvZGVub2lzaW5nX3NzZTIuYyAgIHwgICAgMiArLQog
Li4uL2xpYnZweC92cDgvZW5jb2Rlci94ODYvcXVhbnRpemVfc3NlNC5jICAgIHwgIDEwMCArLQog
Li4uL3ZwOC9lbmNvZGVyL3g4Ni92cDhfcXVhbnRpemVfc3NzZTMuYyAgICAgIHwgICAzMyArLQog
Li4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhfY29tbW9uLm1rICAgIHwgICAgNSAtCiAu
Li4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9jeF9pZmFjZS5jICAgfCAgMTI2ICstCiAu
Li4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9keF9pZmFjZS5jICAgfCAgIDQ0ICstCiAu
Li4vc291cmNlL2xpYnZweC92cDgvdnA4X3JhdGVjdHJsX3J0Yy5jYyAgICAgfCAgNDEyIC0tCiAu
Li4vc291cmNlL2xpYnZweC92cDgvdnA4X3JhdGVjdHJsX3J0Yy5oICAgICAgfCAgIDYyIC0KIC4u
Li9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvdnA4Y3gubWsgICAgICAgICB8ICAgIDUgLQogLi4u
L2FybS9uZW9uL3ZwOV9oaWdoYmRfaWh0MTZ4MTZfYWRkX25lb24uYyAgIHwgICAgOCArLQogLi4u
L2xpYnZweC92cDkvY29tbW9uL3ZwOV9hbGxvY2NvbW1vbi5jICAgICAgIHwgICAgNCArLQogLi4u
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYmxvY2tkLmggICAgIHwgICAgMiArLQogLi4u
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9uLmggICAgIHwgICAyMyArLQogLi4u
L2xpYnZweC92cDkvY29tbW9uL3ZwOV9lbnRyb3B5bW9kZS5jICAgICAgIHwgICAgMSArCiAuLi4v
bGlidnB4L3ZwOS9jb21tb24vdnA5X2ZyYW1lX2J1ZmZlcnMuYyAgICAgfCAgIDE0ICstCiAuLi4v
c291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9pZGN0LmMgICAgICAgfCAgICAyIC0KIC4uLi9z
b3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2xvb3BmaWx0ZXIuYyB8ICAgNDAgKy0KIC4uLi9z
b3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X21mcWUuYyAgICAgICB8ICAgIDIgKy0KIC4uLi9z
b3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3Bvc3Rwcm9jLmMgICB8ICAgIDEgLQogLi4uL3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfcnRjZC5jICAgICAgIHwgICAgNiArLQogLi4uL3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfcnRjZF9kZWZzLnBsIHwgICA0NiArLQogLi4uL3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2Nhbi5jICAgICAgIHwgIDMwMSArLQogLi4uL3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2Nhbi5oICAgICAgIHwgICAxMiArLQogLi4uL3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2VnX2NvbW1vbi5oIHwgICAgNSAtCiAuLi4vbGli
dnB4L3ZwOS9jb21tb24vdnA5X3RocmVhZF9jb21tb24uYyAgICAgfCAgIDI2ICstCiAuLi4vbGli
dnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZWNvZGVmcmFtZS5jICAgICAgfCAgIDQwICstCiAuLi4vc291
cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2RlbXYuYyAgfCAgIDE4ICstCiAuLi4vc291
cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2Rlci5jICAgfCAgIDIxICstCiAuLi4vc291
cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2Rlci5oICAgfCAgICAyICstCiAuLi4vbGli
dnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmMgICAgICAgfCAgIDIwICstCiAuLi4vbGli
dnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmggICAgICAgfCAgICA1ICstCiAuLi4vdnA5
L2VuY29kZXIvYXJtL25lb24vdnA5X2RjdF9uZW9uLmMgICAgICAgfCAyMTczIC0tLS0tLS0tLQog
Li4uL3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kZW5vaXNlcl9uZW9uLmMgIHwgICAgNCAtCiAu
Li4vYXJtL25lb24vdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9uZW9uLmMgICAgfCAgMjk2IC0tCiAu
Li4vdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2Vycm9yX25lb24uYyAgICAgfCAgIDk5ICstCiAu
Li4vZW5jb2Rlci9hcm0vbmVvbi92cDlfZnJhbWVfc2NhbGVfbmVvbi5jICAgfCAgICA1ICstCiAu
Li4vZW5jb2Rlci9hcm0vbmVvbi92cDlfaGlnaGJkX2Vycm9yX25lb24uYyAgfCAgIDQ5IC0KIC4u
Li9uZW9uL3ZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX25lb24uYyAgICB8ICA4NzIgLS0tLQog
Li4uL3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9xdWFudGl6ZV9uZW9uLmMgIHwgIDUxMyArLS0K
IC4uLi9hcm0vbmVvbi92cDlfdGVtcG9yYWxfZmlsdGVyX25lb24uYyAgICAgICB8ICA4NDkgLS0t
LQogLi4uL2xpYnZweC92cDkvZW5jb2Rlci9wcGMvdnA5X3F1YW50aXplX3ZzeC5jIHwgICAxNSAr
LQogLi4uL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYXFfY29tcGxleGl0eS5jICAgIHwgICAgMiAr
LQogLi4uL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYXFfY3ljbGljcmVmcmVzaC5jIHwgICAzNCAr
LQogLi4uL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYXFfY3ljbGljcmVmcmVzaC5oIHwgICAgMSAt
CiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYml0c3RyZWFtLmMgfCAgIDgwICst
CiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYmxvY2suaCAgICAgfCAgIDE4ICst
CiAuLi4vbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9jb250ZXh0X3RyZWUuYyAgICAgfCAgIDE1ICst
CiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfY29zdC5oICAgICAgfCAgICA1ICst
CiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZGVub2lzZXIuYyAgfCAgIDE1ICst
CiAuLi4vbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVmcmFtZS5jICAgICAgfCAgNTI1ICsr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZW1iLmMgIHwgIDI4OCAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZW1iLmggIHwgICAgNyAr
LQogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZXIuYyAgIHwgMzEwMSAr
KysrKysrKystLS0tCiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2Rlci5o
ICAgfCAgMzE1ICstCiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXRocmVhZC5j
ICAgfCAgMTE3ICstCiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXRocmVhZC5o
ICAgfCAgICA1IC0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dF9yYXRlY3RybC5jICAg
ICB8ICAgOTAgKy0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dF9yYXRlY3RybC5oICAg
ICB8ICAgMTkgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3Mu
YyB8ICA3NDQgKystCiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNz
LmggfCAgMTAwICstCiAuLi4vbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3Nfc3RhdHMu
aCAgfCAgIDU0IC0KIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9sb29rYWhlYWQu
aCB8ICAgIDQgKwogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X21iZ3JhcGguYyAg
IHwgICAzMCArLQogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X21jb21wLmMgICAg
IHwgIDM5MyArLQogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X21jb21wLmggICAg
IHwgICAyNCArLQogLi4uL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbXVsdGlfdGhyZWFkLmMgICAg
IHwgICAxMSArLQogLi4uL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbm9pc2VfZXN0aW1hdGUuYyAg
IHwgICAgMiArLQogLi4uL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbm9uX2dyZWVkeV9tdi5jICAg
IHwgICAgMyAtCiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcGlja21vZGUuYyAg
fCAgMTM3ICstCiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcXVhbnRpemUuYyAg
fCAgIDkxICstCiAuLi4vc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcXVhbnRpemUuaCAg
fCAgICAzICsKIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9yYXRlY3RybC5jICB8
ICAyMzIgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9yYXRlY3RybC5oICB8
ICAgMTQgLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9yZC5jIHwg
IDEzNiArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9yZC5oIHwg
ICAxNiArLQogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Jkb3B0LmMgICAgIHwg
IDcyOCArKy0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3NlZ21lbnRhdGlvbi5jICAgICB8
ICAgIDIgKy0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3NwZWVkX2ZlYXR1cmVzLmMgICB8
ICAxMjcgKy0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3NwZWVkX2ZlYXR1cmVzLmggICB8
ICAgNzAgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdWJleHAuYyAgICB8
ICAgNDEgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdWJleHAuaCAgICB8
ICAgMTUgKy0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuYyB8
ICAxMDMgKy0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCB8
ICAgIDcgKy0KIC4uLi9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RlbXBvcmFsX2ZpbHRlci5jICB8
ICAgMTggKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6ZS5jICB8
ICAgIDIgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90cGxfbW9kZWwuYyB8
IDE1NDEgLS0tLS0tLQogLi4uL3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2Rl
bC5oIHwgICA0NiAtCiAuLi4vZW5jb2Rlci94ODYvaGlnaGJkX3RlbXBvcmFsX2ZpbHRlcl9zc2U0
LmMgfCAgMTQyICstCiAuLi4vdGVtcG9yYWxfZmlsdGVyX2NvbnN0YW50cy5ofSAgICAgICAgICAg
ICAgfCAgICA4ICstCiAuLi4vdnA5L2VuY29kZXIveDg2L3RlbXBvcmFsX2ZpbHRlcl9zc2U0LmMg
ICAgfCAgMTg5ICstCiAuLi4vdnA5L2VuY29kZXIveDg2L3ZwOV9kY3RfaW50cmluX3NzZTIuYyAg
ICAgfCAgICA2ICstCiAuLi4vZW5jb2Rlci94ODYvdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdngu
YyAgfCAgMzEwICsrCiAuLi4vdnA5L2VuY29kZXIveDg2L3ZwOV9mcmFtZV9zY2FsZV9zc3NlMy5j
ICAgfCAgIDI4ICstCiAuLi4vdnA5L2VuY29kZXIveDg2L3ZwOV9xdWFudGl6ZV9hdngyLmMgICAg
ICAgfCAgNDcwICstCiAuLi4vdnA5L2VuY29kZXIveDg2L3ZwOV9xdWFudGl6ZV9zc2UyLmMgICAg
ICAgfCAgMjQ2ICstCiAuLi4vdnA5L2VuY29kZXIveDg2L3ZwOV9xdWFudGl6ZV9zc3NlMy5jICAg
ICAgfCAgMjUyIC0tCiAuLi4vZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX3Nzc2UzX3g4Nl82NC5h
c20gfCAgMTc4ICsKIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmNj
ICB8ICAxNTkgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmgg
ICB8ICAgOTAgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvc2ltcGxlX2VuY29kZS5j
YyB8ICAxMTUgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvc2ltcGxlX2VuY29kZS5o
ICB8ICAgMjYgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2N4X2lmYWNlLmMg
ICB8ICAzNzYgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2N4X2lmYWNlLmgg
ICB8ICAgIDEgLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuYyAg
IHwgICAzMSArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDljeC5tayAgICAgICAg
IHwgICAyNSArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9leHBvcnRzX2NvbSAgICAg
IHwgICAgMyAtCiAuLi4vbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfY29kZWNfaW50ZXJuYWwuaCAg
fCAgIDQzICstCiAuLi4vbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmggICAg
fCAgIDY1IC0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9jb2RlYy5jICB8
ICAgIDYgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2VuY29kZXIuYyAgICAgICB8
ICAgIDYgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9pbWFnZS5jICB8
ICAgMTQgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF90cGwuYyAgICB8
ICAxMDcgLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhjeC5oICAgICAgICAgIHwg
IDIxNSArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oICAgICAgICAgIHwg
ICAzNiArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfY29kZWMuaCAgICAgIHwg
ICAxNiArLQogLi4uL2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfY29kZWMubWsgICAgIHwg
ICAgNCAtCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9kZWNvZGVyLmggICAgfCAg
ICAyICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9lbmNvZGVyLmggICAgfCAg
MTgwICstCiAuLi4vc291cmNlL2xpYnZweC92cHgvdnB4X2V4dF9yYXRlY3RybC5oICAgICAgfCAg
MjE5ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9pbWFnZS5oICAgICAgfCAg
ICA1ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF90cGwuaCAgICAgICAgfCAg
MTAyIC0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2F2Z19uZW9uLmMgICAgICB8ICAx
MzQgKy0KIC4uLi9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDE2eDE2X25lb24uYyAgICAgICB8ICA1
MzQgKy0tCiAuLi4vbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3QxNngxNl9uZW9uLmggICAgICAgfCAg
MzE4IC0tCiAuLi4vbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3QzMngzMl9uZW9uLmMgICAgICAgfCAx
NTc0ICsrKysrKy0KIC4uLi9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDMyeDMyX25lb24uaCAgICAg
ICB8IDI5MTkgLS0tLS0tLS0tLS0tCiAuLi4vc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0
NHg0X25lb24uYyAgfCAgIDg1IC0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3Q0
eDRfbmVvbi5oICB8ICAxMDUgLQogLi4uL3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDh4
OF9uZW9uLmMgIHwgIDE0MyAtCiAuLi4vc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0OHg4
X25lb24uaCAgfCAgMzA3IC0tCiAuLi4vc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0X25l
b24uYyAgICAgfCAgIDkxICsKIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3RfbmVv
bi5oICAgICB8ICA1NDIgLS0tCiAuLi4vbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3RfcGFydGlhbF9u
ZW9uLmMgICAgfCAgMTA5ICstCiAuLi4vc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9md2RfdHhm
bV9uZW9uLmMgfCAgMjEwICsKIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hhZGFtYXJk
X25lb24uYyB8ICAgNDIgLQogLi4uL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfYXZnX25lb24u
YyAgICAgIHwgIDE0MCAtCiAuLi4vbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9hdmdfcHJlZF9u
ZW9uLmMgfCAgIDY0IC0KIC4uLi9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2hhZGFtYXJkX25l
b24uYyB8ICAyMTUgLQogLi4uL3ZweF9kc3AvYXJtL2hpZ2hiZF9pbnRyYXByZWRfbmVvbi5jICAg
ICAgIHwgMTg5MCArLS0tLS0tLQogLi4uL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfcXVhbnRp
emVfbmVvbi5jIHwgIDMwMCAtLQogLi4uL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfc2FkNGRf
bmVvbi5jICAgIHwgIDI3MyAtLQogLi4uL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfc2FkX25l
b24uYyAgICAgIHwgIDQwOCAtLQogLi4uL3ZweF9kc3AvYXJtL2hpZ2hiZF9zdWJwZWxfdmFyaWFu
Y2VfbmVvbi5jIHwgIDU4NiAtLS0KIC4uLi9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3Zhcmlh
bmNlX25lb24uYyB8ICA0MzYgLS0KIC4uLi9hcm0vaGlnaGJkX3ZhcmlhbmNlX25lb25fZG90cHJv
ZC5jICAgICAgICB8ICAgOTYgLQogLi4uL3ZweF9kc3AvYXJtL2hpZ2hiZF92cHhfY29udm9sdmU4
X25lb24uYyAgIHwgICAgMiArLQogLi4uL2FybS9oaWdoYmRfdnB4X2NvbnZvbHZlX2NvcHlfbmVv
bi5jICAgICAgIHwgIDEwNiArLQogLi4uL2xpYnZweC92cHhfZHNwL2FybS9pZGN0NHg0X2FkZF9u
ZW9uLmFzbSAgIHwgICAgMiArLQogLi4uL2xpYnZweC92cHhfZHNwL2FybS9pbnRyYXByZWRfbmVv
bi5jICAgICAgIHwgMTM1MSArLS0tLS0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL21l
bV9uZW9uLmggICAgICB8ICAyOTkgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3F1
YW50aXplX25lb24uYyB8ICAzMTEgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Nh
ZDRkX25lb24uYyAgICB8ICA1MTAgKystCiAuLi4vbGlidnB4L3ZweF9kc3AvYXJtL3NhZDRkX25l
b25fZG90cHJvZC5jICAgfCAgMTc2IC0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Nh
ZF9uZW9uLmMgICAgICB8ICA2MDggKystCiAuLi4vbGlidnB4L3ZweF9kc3AvYXJtL3NhZF9uZW9u
X2RvdHByb2QuYyAgICAgfCAgMjQ3IC0KIC4uLi9saWJ2cHgvdnB4X2RzcC9hcm0vc3VicGVsX3Zh
cmlhbmNlX25lb24uYyB8ICA2MDcgKy0tCiAuLi4vc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9z
dWJ0cmFjdF9uZW9uLmMgfCAgIDU2IC0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1
bV9uZW9uLmggICAgICB8ICAyMDQgKy0KIC4uLi9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX3NxdWFy
ZXNfbmVvbi5jICAgICB8ICAxMTcgKy0KIC4uLi9saWJ2cHgvdnB4X2RzcC9hcm0vdHJhbnNwb3Nl
X25lb24uaCAgICAgICB8ICAzNDAgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Zh
cmlhbmNlX25lb24uYyB8ICA1NjQgKy0tCiAuLi4vdnB4X2RzcC9hcm0vdmFyaWFuY2VfbmVvbl9k
b3Rwcm9kLmMgICAgICAgfCAgMjk4IC0tCiAuLi4vbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252
b2x2ZThfbmVvbi5jICAgfCAgNzE5ICstLQogLi4uL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29u
dm9sdmU4X25lb24uaCAgIHwgIDI2NSArLQogLi4uL3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThf
bmVvbl9hc20uYyAgICAgIHwgICAgOCArLQogLi4uL3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThf
bmVvbl9hc20uaCAgICAgIHwgICAxNiArLQogLi4uL3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThf
bmVvbl9kb3Rwcm9kLmMgIHwgIDc3NyAtLS0tCiAuLi4vdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZl
OF9uZW9uX2k4bW0uYyAgICAgfCAgNjk4IC0tLQogLi4uL3ZweF9kc3AvYXJtL3ZweF9jb252b2x2
ZV9hdmdfbmVvbi5jICAgICAgIHwgICAgOCArLQogLi4uL3ZweF9kc3AvYXJtL3ZweF9jb252b2x2
ZV9jb3B5X25lb24uYyAgICAgIHwgICAxMyArLQogLi4uL3ZweF9kc3AvYXJtL3ZweF9jb252b2x2
ZV9uZW9uX2RvdHByb2QuYyAgIHwgICA2MCAtCiAuLi4vdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZl
X25lb25faThtbS5jICAgICAgfCAgIDYwIC0KIC4uLi92cHhfZHNwL2FybS92cHhfc2NhbGVkX2Nv
bnZvbHZlOF9uZW9uLmMgICB8ICAgMTAgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2F2Zy5jICAgICAgICB8ICAgMTMgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2JpdHdyaXRlci5oICB8ICAgIDUgKy0KIC4uLi9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2Zhc3Rzc2ltLmMgICB8ICAgIDYgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9v
bmdhcmNoL2F2Z19sc3guYyB8ICAgOTAgLQogLi4uL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9h
dmdfcHJlZF9sc3guYyAgIHwgICA4MyAtCiAuLi4vbG9vbmdhcmNoL2JpdGRlcHRoX2NvbnZlcnNp
b25fbHN4LmggICAgICAgfCAgIDQxIC0KIC4uLi92cHhfZHNwL2xvb25nYXJjaC9md2RfZGN0MzJ4
MzJfbHN4LmMgICAgICB8IDExNzYgLS0tLS0KIC4uLi9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gv
ZndkX3R4Zm1fbHN4LmMgICB8ICAzNTAgLS0KIC4uLi9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gv
ZndkX3R4Zm1fbHN4LmggICB8ICAzODEgLS0KIC4uLi9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gv
aWRjdDMyeDMyX2xzeC5jICB8ICA4MzQgLS0tLQogLi4uL2xpYnZweC92cHhfZHNwL2xvb25nYXJj
aC9pbnRyYXByZWRfbHN4LmMgIHwgICA5OCAtCiAuLi4vdnB4X2RzcC9sb29uZ2FyY2gvbG9vcGZp
bHRlcl8xNl9sc3guYyAgICAgfCAxMzIwIC0tLS0tLQogLi4uL3ZweF9kc3AvbG9vbmdhcmNoL2xv
b3BmaWx0ZXJfNF9sc3guYyAgICAgIHwgIDIxNCAtCiAuLi4vdnB4X2RzcC9sb29uZ2FyY2gvbG9v
cGZpbHRlcl84X2xzeC5jICAgICAgfCAgNDU4IC0tCiAuLi4vbGlidnB4L3ZweF9kc3AvbG9vbmdh
cmNoL2xvb3BmaWx0ZXJfbHN4LmggfCAgMTY3IC0KIC4uLi9saWJ2cHgvdnB4X2RzcC9sb29uZ2Fy
Y2gvcXVhbnRpemVfbHN4LmMgICB8ICAyNDQgLQogLi4uL3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9s
b29uZ2FyY2gvc2FkX2xzeC5jIHwgIDcxNyAtLS0KIC4uLi9sb29uZ2FyY2gvc3ViX3BpeGVsX3Zh
cmlhbmNlX2xzeC5jICAgICAgICB8ICA4NzQgLS0tLQogLi4uL2xpYnZweC92cHhfZHNwL2xvb25n
YXJjaC9zdWJ0cmFjdF9sc3guYyAgIHwgIDM3MSAtLQogLi4uL3ZweF9kc3AvbG9vbmdhcmNoL3R4
Zm1fbWFjcm9zX2xzeC5oICAgICAgIHwgICA0OCAtCiAuLi4vbGlidnB4L3ZweF9kc3AvbG9vbmdh
cmNoL3ZhcmlhbmNlX2xzeC5jICAgfCAgMjYzIC0tCiAuLi4vbGlidnB4L3ZweF9kc3AvbG9vbmdh
cmNoL3ZhcmlhbmNlX2xzeC5oICAgfCAgIDYyIC0KIC4uLi9sb29uZ2FyY2gvdnB4X2NvbnZvbHZl
OF9hdmdfaG9yaXpfbHN4LmMgICB8ICA5NzIgLS0tLQogLi4uL3ZweF9kc3AvbG9vbmdhcmNoL3Zw
eF9jb252b2x2ZThfYXZnX2xzeC5jIHwgIDczNyAtLS0KIC4uLi9sb29uZ2FyY2gvdnB4X2NvbnZv
bHZlOF9hdmdfdmVydF9sc3guYyAgICB8ICA5MTggLS0tLQogLi4uL2xvb25nYXJjaC92cHhfY29u
dm9sdmU4X2hvcml6X2xzeC5jICAgICAgIHwgIDgxNCAtLS0tCiAuLi4vdnB4X2RzcC9sb29uZ2Fy
Y2gvdnB4X2NvbnZvbHZlOF9sc3guYyAgICAgfCAgNjk3IC0tLQogLi4uL2xvb25nYXJjaC92cHhf
Y29udm9sdmU4X3ZlcnRfbHN4LmMgICAgICAgIHwgIDgyNSAtLS0tCiAuLi4vdnB4X2RzcC9sb29u
Z2FyY2gvdnB4X2NvbnZvbHZlX2F2Z19sc3guYyAgfCAgMzIxIC0tCiAuLi4vdnB4X2RzcC9sb29u
Z2FyY2gvdnB4X2NvbnZvbHZlX2NvcHlfbHN4LmMgfCAgNDM3IC0tCiAuLi4vdnB4X2RzcC9sb29u
Z2FyY2gvdnB4X2NvbnZvbHZlX2xzeC5oICAgICAgfCAgMTM4IC0KIC4uLi9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2xvb3BmaWx0ZXIuYyB8ICAgMTIgKy0KIC4uLi9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbWlwcy9tYWNyb3NfbXNhLmggICB8ICAxMDIgKy0KIC4uLi9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbWlwcy9zYWRfbW1pLmMgICAgICB8ICAgMjMgKwogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9taXBzL3NhZF9tc2EuYyAgICAgIHwgIDQ0NiArLQogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9wcGMvcXVhbnRpemVfdnN4LmMgIHwgICA0NiArLQogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9wcGMvdmFyaWFuY2VfdnN4LmMgIHwgICAgMiArLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvcHNuci5jICAgICAgIHwgICA2NyArLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvcXVhbnRpemUuYyAgIHwgIDEyNSArLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvcXVhbnRpemUuaCAgIHwgICAxMyArLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3Avc2FkLmMgICAgICAgIHwgICA3OSArLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvdmFyaWFuY2UuYyAgIHwgICAxMCArLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvdmFyaWFuY2UuaCAgIHwgICAgNyArLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvdnB4X2RzcC5tayAgIHwgICA3MCArLQogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oICAgIHwgICAxMiAtCiAuLi4vbGlidnB4L3ZweF9kc3Av
dnB4X2RzcF9ydGNkX2RlZnMucGwgICAgICAgfCAgODQ2ICsrLS0KIC4uLi9saWJ2cHgvdnB4X2Rz
cC94ODYvYXZnX2ludHJpbl9hdngyLmMgICAgICB8ICAgNTcgKy0KIC4uLi9saWJ2cHgvdnB4X2Rz
cC94ODYvYXZnX2ludHJpbl9zc2UyLmMgICAgICB8ICAgNTkgKy0KIC4uLi9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L2F2Z19wcmVkX2F2eDIuYyB8ICAxMTEgLQogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC94ODYvYXZnX3ByZWRfc3NlMi5jIHwgICAgNiArLQogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC94ODYvY29udm9sdmVfYXZ4Mi5oIHwgICAgNSArLQogLi4uL3ZweF9kc3AveDg2L2Z3
ZF9kY3QzMngzMl9pbXBsX2F2eDIuaCAgICAgIHwgICAgMiArLQogLi4uL3ZweF9kc3AveDg2L2Z3
ZF9kY3QzMngzMl9pbXBsX3NzZTIuaCAgICAgIHwgICAgMiArLQogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC94ODYvZndkX3R4Zm1fYXZ4Mi5jIHwgIDM3MyAtLQogLi4uL2xpYnZweC92cHhfZHNw
L3g4Ni9oaWdoYmRfY29udm9sdmVfYXZ4Mi5jIHwgICAxMiArLQogLi4uL2xpYnZweC92cHhfZHNw
L3g4Ni9oaWdoYmRfaW52X3R4Zm1fc3NlMi5oIHwgICAgMiArLQogLi4uL3ZweF9kc3AveDg2L2hp
Z2hiZF9sb29wZmlsdGVyX3NzZTIuYyAgICAgIHwgICAgOCArLQogLi4uL3ZweF9kc3AveDg2L2hp
Z2hiZF9xdWFudGl6ZV9pbnRyaW5fYXZ4Mi5jIHwgIDI1NCAtLQogLi4uL3ZweF9kc3AveDg2L2hp
Z2hiZF9xdWFudGl6ZV9pbnRyaW5fc3NlMi5jIHwgICA1NyArLQogLi4uL2xpYnZweC92cHhfZHNw
L3g4Ni9oaWdoYmRfc2FkNGRfYXZ4Mi5jICAgIHwgIDQ2MiAtLQogLi4uL2xpYnZweC92cHhfZHNw
L3g4Ni9oaWdoYmRfc2FkNGRfc3NlMi5hc20gIHwgICA0MyArLQogLi4uL2xpYnZweC92cHhfZHNw
L3g4Ni9oaWdoYmRfc2FkX2F2eDIuYyAgICAgIHwgIDUyMiAtLS0KIC4uLi9saWJ2cHgvdnB4X2Rz
cC94ODYvaGlnaGJkX3NhZF9zc2UyLmFzbSAgICB8ICAgNTkgKy0KIC4uLi9saWJ2cHgvdnB4X2Rz
cC94ODYvaGlnaGJkX3ZhcmlhbmNlX3NzZTIuYyB8ICAxMzMgKy0KIC4uLi9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L2ludl90eGZtX2F2eDIuYyB8ICA2MjYgLS0tCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9pbnZfdHhmbV9zc2UyLmMgfCAgICA0ICstCiAuLi4vbGlidnB4L3ZweF9k
c3AveDg2L2xvb3BmaWx0ZXJfYXZ4Mi5jICAgICAgfCAgICA0ICstCiAuLi4vbGlidnB4L3ZweF9k
c3AveDg2L2xvb3BmaWx0ZXJfc3NlMi5jICAgICAgfCAgIDMwICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9tZW1fc3NlMi5oICAgICAgfCAgIDEwICstCiAuLi4vbGlidnB4L3ZweF9k
c3AveDg2L3Bvc3RfcHJvY19zc2UyLmMgICAgICAgfCAgICAyICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9hdnguYyAgfCAgIDY4ICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9hdngyLmMgfCAgMjkwIC0tCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmMgfCAgIDI0ICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmggfCAgIDYwICstCiAuLi4vbGlidnB4L3ZweF9k
c3AveDg2L3F1YW50aXplX3Nzc2UzLmMgICAgICAgfCAgIDY2ICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWQ0ZF9hdngyLmMgICAgfCAgMTI5ICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWQ0ZF9hdng1MTIuYyAgfCAgICA0ICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWQ0ZF9zc2UyLmFzbSAgfCAgIDQzICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWRfYXZ4Mi5jICAgICAgfCAgMTc0ICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWRfc3NlMi5hc20gICAgfCAgIDcwICstCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWRfc3NlMy5hc20gICAgfCAgMzc2ICsrCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWRfc3NlNC5hc20gICAgfCAgMzYxICsrCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWRfc3NzZTMuYXNtICAgfCAgMzcyICsrCiAuLi4vc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zdWJ0cmFjdF9hdngyLmMgfCAgMjAzIC0KIC4uLi9saWJ2cHgvdnB4X2Rz
cC94ODYvc3VtX3NxdWFyZXNfc3NlMi5jICAgICB8ICAgIDIgKy0KIC4uLi9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L3ZhcmlhbmNlX2F2eDIuYyB8ICAgOTcgKy0KIC4uLi9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L3ZhcmlhbmNlX3NzZTIuYyB8ICAgNzYgKy0KIC4uLi92cHhfZHNwL3g4Ni92
cHhfc3VicGl4ZWxfNHRfaW50cmluX3NzZTIuYyB8ICAgMzAgKy0KIC4uLi92cHhfZHNwL3g4Ni92
cHhfc3VicGl4ZWxfOHRfaW50cmluX2F2eDIuYyB8ICA2MzcgKy0tCiAuLi4veDg2L3ZweF9zdWJw
aXhlbF84dF9pbnRyaW5fc3NzZTMuYyAgICAgICAgfCAgIDE4ICstCiAuLi4vbGlidnB4L3ZweF9w
b3J0cy9hYXJjaDMyX2NwdWRldGVjdC5jICAgICAgfCAgIDkwIC0KIC4uLi9saWJ2cHgvdnB4X3Bv
cnRzL2FhcmNoNjRfY3B1ZGV0ZWN0LmMgICAgICB8ICAxNzYgLQogLi4uL2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9wb3J0cy9hcm0uaCAgICAgIHwgICAxMiArLQogLi4uL3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL2FybV9jcHVkZXRlY3QuYyAgIHwgIDE1NCArCiAuLi4vc291cmNlL2xpYnZweC92
cHhfcG9ydHMvYXJtX2NwdWRldGVjdC5oICAgfCAgIDUyIC0KIC4uLi9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfcG9ydHMvYml0b3BzLmggICB8ICAgMjMgKy0KIC4uLi9saWJ2cHgvdnB4X3BvcnRz
L2NvbXBpbGVyX2F0dHJpYnV0ZXMuaCAgICB8ICAgMTIgKy0KIC4uLi9zb3VyY2UvbGlidnB4L3Zw
eF9wb3J0cy9sb29uZ2FyY2guaCAgICAgICB8ICAgMjkgLQogLi4uL2xpYnZweC92cHhfcG9ydHMv
bG9vbmdhcmNoX2NwdWRldGVjdC5jICAgIHwgICA0MCAtCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X3BvcnRzL21pcHMuaCAgICAgfCAgICA2ICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X3BvcnRzL3ZweF9vbmNlLmggfCAgICA0ICstCiAuLi4vc291cmNlL2xpYnZweC92cHhf
cG9ydHMvdnB4X3BvcnRzLm1rICAgICAgfCAgIDEwICstCiAuLi4vbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X3BvcnRzL3g4Ni5oICAgICAgfCAgIDE0ICstCiAuLi4vbGlidnB4L3ZweF9zY2FsZS9n
ZW5lcmljL3l2MTJjb25maWcuYyAgICAgfCAgICA2ICstCiAuLi4vbGlidnB4L3ZweF91dGlsL2xv
b25nc29uX2ludHJpbnNpY3MuaCAgICAgfCAyMDkwIC0tLS0tLS0tLQogLi4uL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweGRlYy5jIHwgICA0MSArLQogLi4uL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweGVuYy5jIHwgIDE4NCArLQogLi4uL2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweHN0YXRzLmMgICAgICAgICAgIHwgICAgMiArLQogLi4uL2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3dhcm5pbmdzLmMgICAgICAgICAgIHwgICAgMiArLQogLi4uL2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3dlYm1kZWMuY2MgICAgICAgICAgIHwgICAgMiAtCiAuLi4vbGlidnB4L3NvdXJj
ZS9saWJ2cHgvd2VibWRlYy5oICAgICAgICAgICAgfCAgICAyICstCiAuLi4vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgveTRtZW5jLmMgfCAgIDQxICstCiAuLi4vbGlidnB4L3NvdXJj
ZS9saWJ2cHgveTRtaW5wdXQuYyAgICAgICAgICAgfCAgIDU1ICstCiAuLi4vbGlid2VicnRjLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgfCAgMjI4ICstCiA2NTIgZmlsZXMgY2hhbmdl
ZCwgMzE3MDcgaW5zZXJ0aW9ucygrKSwgMTA0MzY1IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9jb25maWcvbGludXgvbG9vbmdhcmNoL3ZwOF9ydGNkLmgKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2xvb25nYXJjaC92cDlfcnRjZC5oCiBkZWxldGUgbW9k
ZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X2NvbmZpZy5jCiBkZWxldGUg
bW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X2NvbmZpZy5oCiBkZWxl
dGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X2RzcF9ydGNkLmgK
IGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2xvb25nYXJjaC92cHhfc2NhbGVf
cnRjZC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cDhfcnRj
ZC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cDlfcnRjZC5o
CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfY29uZmlnLmFz
bQogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5j
CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfY29uZmlnLmgK
IGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9kc3BfcnRjZC5o
CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfc2NhbGVfcnRj
ZC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJtNjQtaGlnaGJkL3ZweF9j
b25maWcuYXNtCiByZW5hbWUgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4ve2FybTY0LWhpZ2hiZCA9PiBhcm02NH0v
dnA4X3J0Y2QuaCAoOTMlKQogcmVuYW1lIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL3thcm02NC1oaWdoYmQgPT4g
YXJtNjR9L3ZwOV9ydGNkLmggKDcwJSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dp
bi9hcm02NC92cHhfY29uZmlnLmFzbQogcmVuYW1lIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL3thcm02NC1oaWdo
YmQgPT4gYXJtNjR9L3ZweF9jb25maWcuYyAoMTAwJSkKIHJlbmFtZSBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi97
YXJtNjQtaGlnaGJkID0+IGFybTY0fS92cHhfY29uZmlnLmggKDkxJSkKIHJlbmFtZSBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL3dpbi97YXJtNjQtaGlnaGJkID0+IGFybTY0fS92cHhfZHNwX3J0Y2QuaCAoNTclKQogcmVu
YW1lIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvd2luL3thcm02NC1oaWdoYmQgPT4gYXJtNjR9L3ZweF9zY2FsZV9ydGNk
LmggKDEwMCUpCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2luaXRfdnB4X3Rl
c3QuY2MKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvaW5pdF92cHhfdGVzdC5o
CiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3JhdGVjdHJsX3J0Y190ZXN0LmNj
CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Rlc3RfcmNfaW50ZXJmYWNlLmNj
CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOF9yYXRlY3RybF9ydGNfdGVz
dC5jYwogZGVsZXRlIG1vZGUgMTAwNzU1IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfY192c19zaW1kX2Vu
Y29kZS5zaAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfcmF0ZWN0cmxf
cnRjX3Rlc3QuY2MKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X3JvaV90
ZXN0LmNjCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0
ZXN0L3NyYy8uY2xhbmctZm9ybWF0CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGly
ZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LWFzc2VydGlvbi1yZXN1
bHQuaAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVz
dC9zcmMvc3JjL2d0ZXN0LWFzc2VydGlvbi1yZXN1bHQuY2MKIGRlbGV0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9jb21tb24vbG9vbmdhcmNoL2lkY3RfbHN4LmMKIGRlbGV0ZSBtb2RlIDEw
MDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vbG9vbmdhcmNoL2xvb3BmaWx0ZXJfZmlsdGVyc19s
c3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9sb29uZ2FyY2gv
c2l4dGFwX2ZpbHRlcl9sc3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Vu
Y29kZXIvbG9vbmdhcmNoL2RjdF9sc3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2VuY29kZXIvbG9vbmdhcmNoL2VuY29kZW9wdF9sc3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0
IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbG9vbmdhcmNoL3ZwOF9xdWFudGl6ZV9sc3guYwogZGVs
ZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9yYXRlY3RybF9ydGMuY2MKIGRlbGV0
ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhfcmF0ZWN0cmxfcnRjLmgKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kY3RfbmVvbi5j
CiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlf
ZGlhbW9uZF9zZWFyY2hfc2FkX25lb24uYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2hpZ2hiZF9lcnJvcl9uZW9uLmMKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9oaWdoYmRfdGVtcG9y
YWxfZmlsdGVyX25lb24uYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvYXJtL25lb24vdnA5X3RlbXBvcmFsX2ZpbHRlcl9uZW9uLmMKIGRlbGV0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3Nfc3RhdHMuaAogZGVsZXRlIG1v
ZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5jCiBkZWxldGUg
bW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmgKIHJlbmFt
ZSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3t2cDlfdGVtcG9yYWxfZmlsdGVyX2NvbnN0YW50cy5o
ID0+IHg4Ni90ZW1wb3JhbF9maWx0ZXJfY29uc3RhbnRzLmh9ICg5OCUpCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9h
dnguYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9x
dWFudGl6ZV9zc3NlMy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci94ODYvdnA5X3F1YW50aXplX3Nzc2UzX3g4Nl82NC5hc20KIGRlbGV0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgKIGRlbGV0ZSBtb2RlIDEw
MDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X3RwbC5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHgvdnB4X3RwbC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9mZGN0MTZ4MTZfbmVvbi5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS9mZGN0MzJ4MzJfbmVvbi5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9mZGN0NHg0X25lb24uYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vZmRjdDR4NF9uZW9uLmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2ZkY3Q4eDhfbmVvbi5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9mZGN0OHg4X25lb24uaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vZmRjdF9uZW9uLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2ZkY3RfbmVvbi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9md2RfdHhmbV9uZW9uLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9hdmdfbmVvbi5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfYXZnX3ByZWRfbmVvbi5jCiBkZWxldGUgbW9kZSAx
MDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfaGFkYW1hcmRfbmVvbi5jCiBkZWxl
dGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfcXVhbnRpemVfbmVv
bi5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfc2Fk
NGRfbmVvbi5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdo
YmRfc2FkX25lb24uYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
aGlnaGJkX3N1YnBlbF92YXJpYW5jZV9uZW9uLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92YXJpYW5jZV9uZW9uLmMKIGRlbGV0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92YXJpYW5jZV9uZW9uX2RvdHByb2QuYwog
ZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2FkNGRfbmVvbl9kb3Rw
cm9kLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3NhZF9uZW9u
X2RvdHByb2QuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdmFy
aWFuY2VfbmVvbl9kb3Rwcm9kLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbl9kb3Rwcm9kLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbl9pOG1tLmMKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9uZW9uX2RvdHBy
b2QuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZv
bHZlX25lb25faThtbS5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xv
b25nYXJjaC9hdmdfbHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
bG9vbmdhcmNoL2F2Z19wcmVkX2xzeC5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2xvb25nYXJjaC9iaXRkZXB0aF9jb252ZXJzaW9uX2xzeC5oCiBkZWxldGUgbW9kZSAx
MDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9md2RfZGN0MzJ4MzJfbHN4LmMKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2Z3ZF90eGZtX2xz
eC5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9md2Rf
dHhmbV9sc3guaAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2Fy
Y2gvaWRjdDMyeDMyX2xzeC5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2xvb25nYXJjaC9pbnRyYXByZWRfbHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfMTZfbHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfNF9sc3guYwogZGVsZXRl
IG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvbG9vcGZpbHRlcl84X2xz
eC5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9sb29w
ZmlsdGVyX2xzeC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25n
YXJjaC9xdWFudGl6ZV9sc3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9sb29uZ2FyY2gvc2FkX2xzeC5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2xvb25nYXJjaC9zdWJfcGl4ZWxfdmFyaWFuY2VfbHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3N1YnRyYWN0X2xzeC5jCiBkZWxldGUgbW9k
ZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC90eGZtX21hY3Jvc19sc3guaAog
ZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdmFyaWFuY2Vf
bHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3Zh
cmlhbmNlX2xzeC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25n
YXJjaC92cHhfY29udm9sdmU4X2F2Z19ob3Jpel9sc3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9hdmdfbHN4LmMKIGRlbGV0
ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThf
YXZnX3ZlcnRfbHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9v
bmdhcmNoL3ZweF9jb252b2x2ZThfaG9yaXpfbHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfbHN4LmMKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfdmVydF9s
c3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdnB4
X2NvbnZvbHZlX2F2Z19sc3guYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlX2NvcHlfbHN4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZV9sc3guaAogZGVsZXRlIG1v
ZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX3ByZWRfYXZ4Mi5jCiBkZWxldGUg
bW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfcXVhbnRpemVfaW50cmlu
X2F2eDIuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJk
X3NhZDRkX2F2eDIuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYv
aGlnaGJkX3NhZF9hdngyLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L2ludl90eGZtX2F2eDIuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC94ODYvcXVhbnRpemVfYXZ4Mi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3g4Ni9zYWRfc3NlMy5hc20KIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AveDg2L3NhZF9zc2U0LmFzbQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC94ODYvc2FkX3Nzc2UzLmFzbQogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC94ODYvc3VidHJhY3RfYXZ4Mi5jCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
cG9ydHMvYWFyY2gzMl9jcHVkZXRlY3QuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL2FhcmNoNjRfY3B1ZGV0ZWN0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9wb3J0cy9hcm1fY3B1ZGV0ZWN0LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9wb3J0cy9hcm1fY3B1ZGV0ZWN0LmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9wb3J0cy9sb29uZ2FyY2guaAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL2xvb25nYXJjaF9jcHVkZXRlY3QuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X3V0aWwvbG9vbmdzb25faW50cmluc2ljcy5oCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYnZweC54Y2NvbmZpZyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ2cHgueGNjb25maWcK
aW5kZXggZjlmMGFlZjI1ZWM3Li5iZjYyODNjNzM2OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ2cHgueGNjb25maWcKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYnZweC54Y2NvbmZpZwpA
QCAtNSwxMyArNSwxMiBAQCBQUk9EVUNUX05BTUUgPSB2cHg7CiBJTlNUQUxMX1BBVEggPSAkKElO
U1RBTExfUEFUSF9QUkVGSVgpJChXS19MSUJSQVJZX0lOU1RBTExfUEFUSCk7CiBQVUJMSUNfSEVB
REVSU19GT0xERVJfUEFUSCA9ICQoSU5TVEFMTF9QQVRIX1BSRUZJWCkkKFdLX0xJQlJBUllfSEVB
REVSU19GT0xERVJfUEFUSCkvbGlid2VicnRjOwogCi1BUk1fRklMRVMgPSAqX25lb24uYyBhcm1f
Y3B1ZGV0ZWN0LmMgKl9hcm0uYyAqX25lb24uYyAqX25lb25fZG90cHJvZC5jICpfbmVvbl9hc20u
YXNtICpfbmVvbi5hc20KK0FSTV9GSUxFUyA9ICpfbmVvbi5jIGFybV9jcHVkZXRlY3QuYyAqX2Fy
bS5jCiBYODZfRklMRVMgPSAqX3NzZTIuYyAqX3Nzc2UzLmMgKl9zc2U0LmMgKl9hdngyLmMgKl9h
dngyLmNjICpfYXZ4LmMgKi5hc20KIAotRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNbYXJjaD14
ODZfNjRdID0gJChBUk1fRklMRVMpICQoRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfJChXS19J
U19DQVRBTFlTVCkpCi1FWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19ZRVMgPSAqX3NzZTQuYyAq
X2F2eC5jCi1FWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1thcmNoPWFybTY0Kl0gPSAkKFg4Nl9G
SUxFUykgKl9tbXguYworRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNbYXJjaD14ODZfNjRdID0g
JChBUk1fRklMRVMpICQoRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfJChXS19JU19DQVRBTFlT
VCkpOworRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfWUVTID0gKl9zc2U0LmMgKl9hdnguYzsK
K0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTW2FyY2g9YXJtNjQqXSA9ICQoWDg2X0ZJTEVTKSAq
X21teC5jIHZwOV90ZW1wb3JhbF9maWx0ZXIuYwogRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNb
c2RrPWlwaG9uZXNpbXVsYXRvcipdW2FyY2g9eDg2XzY0XSA9ICQoQVJNX0ZJTEVTKSAkKFg4Nl9G
SUxFUykKLUVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmVvcypdID0gICQoWDg2
X0ZJTEVTKSAqX21teC5jICpfbmVvbl9kb3Rwcm9kLmMKIAogT1RIRVJfTERGTEFHUyA9ICQoaW5o
ZXJpdGVkKSAkKFNPVVJDRV9WRVJTSU9OX0xERkxBR1MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24gYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9CVUlM
RC5nbgppbmRleCBlZGRkZGU0OGQzZjYuLmFiMmZkMGJiYWIwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24K
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvQlVJTEQuZ24KQEAgLTEsMTAgKzEsMTEgQEAKLSMgQ29weXJpZ2h0IDIwMTQgVGhlIENocm9t
aXVtIEF1dGhvcnMKKyMgQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICMgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KIAogaW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9hbmRyb2lkL2NvbmZpZy5nbmkiKQogaW1w
b3J0KCIvL2J1aWxkL2NvbmZpZy9hcm0uZ25pIikKIGltcG9ydCgiLy9idWlsZC9jb25maWcvY2hy
b21lb3MvdWlfbW9kZS5nbmkiKQoraW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9pb3MvY29uZmlnLmdu
aSIpCiBpbXBvcnQoIi8vYnVpbGQvY29uZmlnL3Nhbml0aXplcnMvc2FuaXRpemVycy5nbmkiKQog
aW1wb3J0KCIvL3RoaXJkX3BhcnR5L2xpYnZweC9saWJ2cHhfc3Jjcy5nbmkiKQogaW1wb3J0KCIv
L3RoaXJkX3BhcnR5L25hc20vbmFzbV9hc3NlbWJsZS5nbmkiKQpAQCAtMTksNyArMjAsNyBAQCBp
ZiAoY3VycmVudF9jcHUgPT0gIng4NiIpIHsKICAgICBjcHVfYXJjaF9mdWxsID0gIng2NCIKICAg
fQogfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtIikgewotICBpZiAoaXNfY2hyb21lb3Mp
IHsKKyAgaWYgKGlzX2Nocm9tZW9zX2FzaCkgewogICAgICMgQ2hyb21lT1MgZ2V0cyBoaWdoYmQg
dnA5IGJ1dCBvdGhlciBhcm0gdGFyZ2V0cyBkbyBub3QuCiAgICAgY3B1X2FyY2hfZnVsbCA9ICJh
cm0tbmVvbi1oaWdoYmQiCiAgIH0gZWxzZSBpZiAoYXJtX3VzZV9uZW9uKSB7CkBAIC0zMCwxOCAr
MzEsMTEgQEAgaWYgKGN1cnJlbnRfY3B1ID09ICJ4ODYiKSB7CiAgICAgY3B1X2FyY2hfZnVsbCA9
ICJhcm0iCiAgIH0KIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgewotICBpZiAo
aXNfd2luIHx8IGlzX2Nocm9tZW9zIHx8IGlzX21hYykgewotICAgICMgVGhpcyBpcyBuZWNlc3Nh
cnkgZm9yIENyT1MgYW5kIG1hY09TIGFzIHRoZXkgcmV1c2UgdGhlIExpbnV4Ci0gICAgIyBjb25m
aWd1cmF0aW9uLCBvZiB3aGljaCB0aGVyZSBhcmUgdHdvIChzZWUgdGhlIGxhdGVyIGRlZmluaXRp
b24gb2YKLSAgICAjIG9zX2NhdGVnb3J5KS4KKyAgaWYgKGlzX2Nocm9tZW9zX2FzaCB8fCBpc19t
YWMpIHsKICAgICBjcHVfYXJjaF9mdWxsID0gImFybTY0LWhpZ2hiZCIKICAgfSBlbHNlIHsKICAg
ICBjcHVfYXJjaF9mdWxsID0gY3VycmVudF9jcHUKICAgfQotfSBlbHNlIGlmIChjdXJyZW50X2Nw
dSA9PSAicmlzY3Y2NCIpIHsKLSAgY3B1X2FyY2hfZnVsbCA9ICJnZW5lcmljIgotfSBlbHNlIGlm
IChjdXJyZW50X2NwdSA9PSAibG9vbmc2NCIpIHsKLSAgY3B1X2FyY2hfZnVsbCA9ICJsb29uZ2Fy
Y2giCiB9IGVsc2UgewogICBjcHVfYXJjaF9mdWxsID0gY3VycmVudF9jcHUKIH0KQEAgLTg3LDYg
KzgxLDE2IEBAIGNvbmZpZygibGlidnB4X2NvbmZpZyIpIHsKICAgICAgICMgbGlidnB4IGhhcyBt
YW55IHN0YXRpYyBmdW5jdGlvbnMgaW4gaGVhZGVyLCB3aGljaCB0cmlnZ2VyIHRoaXMgd2Fybmlu
Zy4KICAgICAgICItV25vLXVudXNlZC1mdW5jdGlvbiIsCiAgICAgXQorCisgICAgIyBGaXhlcyBh
IG1hYyAvIGlvcyBzaW11bGF0b3IgbGluayBlcnJvciBmb3IgdnB4X3NjYWxlZF8yZDoKKyAgICAj
IFVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0OgorICAgICMgIl92cHhf
c2NhbGVkXzJkIiwgcmVmZXJlbmNlZCBmcm9tOgorICAgICMgX3ZwOV9zY2FsZV9hbmRfZXh0ZW5k
X2ZyYW1lX2MgaW4gbGlidnB4LmEodnA5X2ZyYW1lX3NjYWxlLm8pCisgICAgIyAobWF5YmUgeW91
IG1lYW50OiBfdnB4X3NjYWxlZF8yZF9zc3NlMykKKyAgICAjIGxkOiBzeW1ib2wocykgbm90IGZv
dW5kIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0CisgICAgaWYgKGlzX21hYyB8fCAoaXNfaW9zICYm
IChjdXJyZW50X2NwdSA9PSAieDg2IiB8fCBjdXJyZW50X2NwdSA9PSAieDY0IikpKSB7CisgICAg
ICBjZmxhZ3MgKz0gWyAiLWZuby1jb21tb24iIF0KKyAgICB9CiAgIH0gZWxzZSBpZiAoIWlzX3dp
bikgewogICAgIGNmbGFncyA9IFsKICAgICAgICItV25vLXVudXNlZC1mdW5jdGlvbiIsCkBAIC0y
NTIsNzggKzI1NiwxMyBAQCBpZiAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwgKGN1cnJlbnRfY3B1
ID09ICJ4NjQiICYmICFpc19tc2FuKSkgewogICB9CiB9CiAKLWlmIChjdXJyZW50X2NwdSA9PSAi
bG9vbmc2NCIpIHsKLSAgc291cmNlX3NldCgibGlidnB4X2xvb25nYXJjaF9sc3giKSB7Ci0gICAg
Y29uZmlncyAtPSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpjaHJvbWl1bV9jb2RlIiBdCi0g
ICAgY29uZmlncyArPSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpub19jaHJvbWl1bV9jb2Rl
IiBdCi0gICAgY29uZmlncyArPSBbICI6bGlidnB4X2NvbmZpZyIgXQotICAgIGNmbGFncyA9IFsg
Ii1tbHN4IiBdCi0gICAgc291cmNlcyA9IGxpYnZweF9zcmNzX2xvb25nYXJjaF9sc3gKLSAgfQot
fQotCi1pZiAoY3VycmVudF9jcHUgPT0gImFybSIgfHwgY3VycmVudF9jcHUgPT0gImFybTY0Iikg
ewotICBzb3VyY2Vfc2V0KCJsaWJ2cHhfaW50cmluc2ljc19uZW9uIikgewotICAgIGNoZWNrX2lu
Y2x1ZGVzID0gZmFsc2UKLSAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVy
OmNocm9taXVtX2NvZGUiIF0KLSAgICBjb25maWdzICs9IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBp
bGVyOm5vX2Nocm9taXVtX2NvZGUiIF0KLSAgICBjb25maWdzICs9IFsgIjpsaWJ2cHhfY29uZmln
IiBdCi0gICAgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm0iKSB7Ci0gICAgICBjb25maWdzIC09IFsg
Ii8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOmNvbXBpbGVyX2FybV9mcHUiIF0KLSAgICAgIGNmbGFn
cyA9IFsgIi1tZnB1PW5lb24iIF0KLSAgICB9Ci0gICAgaWYgKGNwdV9hcmNoX2Z1bGwgPT0gImFy
bS1uZW9uIikgewotICAgICAgc291cmNlcyA9IGxpYnZweF9zcmNzX2FybV9uZW9uX25lb24KLSAg
ICAgIGRlcHMgPSBbICI6bGlidnB4X2FybV9uZW9uX2hlYWRlcnMiIF0KLSAgICB9IGVsc2UgaWYg
KGNwdV9hcmNoX2Z1bGwgPT0gImFybS1uZW9uLWhpZ2hiZCIpIHsKLSAgICAgIHNvdXJjZXMgPSBs
aWJ2cHhfc3Jjc19hcm1fbmVvbl9oaWdoYmRfbmVvbgotICAgICAgZGVwcyA9IFsgIjpsaWJ2cHhf
YXJtX25lb25faGlnaGJkX2hlYWRlcnMiIF0KLSAgICB9IGVsc2UgaWYgKGNwdV9hcmNoX2Z1bGwg
PT0gImFybS1uZW9uLWNwdS1kZXRlY3QiKSB7Ci0gICAgICBzb3VyY2VzID0gbGlidnB4X3NyY3Nf
YXJtX25lb25fY3B1X2RldGVjdF9uZW9uCi0gICAgICBkZXBzID0gWyAiOmxpYnZweF9hcm1fbmVv
bl9jcHVfZGV0ZWN0X2hlYWRlcnMiIF0KLSAgICB9IGVsc2UgaWYgKGNwdV9hcmNoX2Z1bGwgPT0g
ImFybTY0IikgewotICAgICAgc291cmNlcyA9IGxpYnZweF9zcmNzX2FybTY0X25lb24KLSAgICAg
IGRlcHMgPSBbICI6bGlidnB4X2FybTY0X2hlYWRlcnMiIF0KLSAgICB9IGVsc2UgaWYgKGNwdV9h
cmNoX2Z1bGwgPT0gImFybTY0LWhpZ2hiZCIpIHsKLSAgICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jj
c19hcm02NF9oaWdoYmRfbmVvbgotICAgICAgZGVwcyA9IFsgIjpsaWJ2cHhfYXJtNjRfaGlnaGJk
X2hlYWRlcnMiIF0KLSAgICB9Ci0gIH0KLX0KLQotaWYgKGN1cnJlbnRfY3B1ID09ICJhcm02NCIp
IHsKLSAgc291cmNlX3NldCgibGlidnB4X2ludHJpbnNpY3NfbmVvbl9kb3Rwcm9kIikgewotICAg
IGNoZWNrX2luY2x1ZGVzID0gZmFsc2UKLSAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmln
L2NvbXBpbGVyOmNocm9taXVtX2NvZGUiIF0KLSAgICBjb25maWdzICs9IFsgIi8vYnVpbGQvY29u
ZmlnL2NvbXBpbGVyOm5vX2Nocm9taXVtX2NvZGUiIF0KLSAgICBjb25maWdzICs9IFsgIjpsaWJ2
cHhfY29uZmlnIiBdCi0gICAgaWYgKCFpc193aW4gfHwgaXNfY2xhbmcpIHsKLSAgICAgIGNmbGFn
cyA9IFsgIi1tYXJjaD1hcm12OC4yLWErZG90cHJvZCIgXQotICAgIH0KLSAgICBpZiAoY3B1X2Fy
Y2hfZnVsbCA9PSAiYXJtNjQiKSB7Ci0gICAgICBzb3VyY2VzID0gbGlidnB4X3NyY3NfYXJtNjRf
bmVvbl9kb3Rwcm9kCi0gICAgICBkZXBzID0gWyAiOmxpYnZweF9hcm02NF9oZWFkZXJzIiBdCi0g
ICAgfSBlbHNlIGlmIChjcHVfYXJjaF9mdWxsID09ICJhcm02NC1oaWdoYmQiKSB7Ci0gICAgICBz
b3VyY2VzID0gbGlidnB4X3NyY3NfYXJtNjRfaGlnaGJkX25lb25fZG90cHJvZAotICAgICAgZGVw
cyA9IFsgIjpsaWJ2cHhfYXJtNjRfaGlnaGJkX2hlYWRlcnMiIF0KLSAgICB9Ci0gIH0KLQotICBz
b3VyY2Vfc2V0KCJsaWJ2cHhfaW50cmluc2ljc19uZW9uX2k4bW0iKSB7Ci0gICAgY2hlY2tfaW5j
bHVkZXMgPSBmYWxzZQotICAgIGNvbmZpZ3MgLT0gWyAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6
Y2hyb21pdW1fY29kZSIgXQotICAgIGNvbmZpZ3MgKz0gWyAiLy9idWlsZC9jb25maWcvY29tcGls
ZXI6bm9fY2hyb21pdW1fY29kZSIgXQoraWYgKGNwdV9hcmNoX2Z1bGwgPT0gImFybS1uZW9uLWNw
dS1kZXRlY3QiKSB7CisgIHN0YXRpY19saWJyYXJ5KCJsaWJ2cHhfaW50cmluc2ljc19uZW9uIikg
eworICAgIGNvbmZpZ3MgLT0gWyAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6Y29tcGlsZXJfYXJt
X2ZwdSIgXQogICAgIGNvbmZpZ3MgKz0gWyAiOmxpYnZweF9jb25maWciIF0KLSAgICBpZiAoIWlz
X3dpbiB8fCBpc19jbGFuZykgewotICAgICAgY2ZsYWdzID0gWyAiLW1hcmNoPWFybXY4LjItYStp
OG1tIiBdCi0gICAgfQotICAgIGlmIChjcHVfYXJjaF9mdWxsID09ICJhcm02NCIpIHsKLSAgICAg
IHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19hcm02NF9uZW9uX2k4bW0KLSAgICAgIGRlcHMgPSBbICI6
bGlidnB4X2FybTY0X2hlYWRlcnMiIF0KLSAgICB9IGVsc2UgaWYgKGNwdV9hcmNoX2Z1bGwgPT0g
ImFybTY0LWhpZ2hiZCIpIHsKLSAgICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19hcm02NF9oaWdo
YmRfbmVvbl9pOG1tCi0gICAgICBkZXBzID0gWyAiOmxpYnZweF9hcm02NF9oaWdoYmRfaGVhZGVy
cyIgXQotICAgIH0KKyAgICBjZmxhZ3MgPSBbICItbWZwdT1uZW9uIiBdCisgICAgc291cmNlcyA9
IGxpYnZweF9zcmNzX2FybV9uZW9uX2NwdV9kZXRlY3RfbmVvbgorICAgIGRlcHMgPSBbICI6bGli
dnB4X2FybV9uZW9uX2NwdV9kZXRlY3RfaGVhZGVycyIgXQogICB9CiB9CiAKQEAgLTM5MCwxMCAr
MzI5LDYgQEAgc291cmNlX3NldCgibGlidnB4X3g4Nl82NF9oZWFkZXJzIikgewogICBzb3VyY2Vz
ID0gbGlidnB4X3NyY3NfeDg2XzY0X2hlYWRlcnMKIH0KIAotc291cmNlX3NldCgibGlidnB4X2xv
b25nYXJjaF9oZWFkZXJzIikgewotICBzb3VyY2VzID0gbGlidnB4X3NyY3NfbG9vbmdhcmNoX2hl
YWRlcnMKLX0KLQogc291cmNlX3NldCgibGlidnB4X2FybV9oZWFkZXJzIikgewogICBzb3VyY2Vz
ID0gbGlidnB4X3NyY3NfYXJtX2hlYWRlcnMKIH0KQEAgLTQzNiw3ICszNzEsMTUgQEAgc3RhdGlj
X2xpYnJhcnkoImxpYnZweCIpIHsKICAgICBjb25maWdzICs9IFsgIi8vYnVpbGQvY29uZmlnL2Nv
bXBpbGVyOm9wdGltaXplX21heCIgXQogICB9CiAKLSAgaWYgKGlzX25hY2wpIHsKKyAgIyBBcyAi
bmFzbSIgZG9lcyBub3QgZW1iZWQgdGhlIHJlcXVpcmVkIExDX0JVSUxEX1ZFUlNJT04gc2VjdGlv
biBpbiBvYmplY3QKKyAgIyBmaWxlcywgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGJ1aWxkIG9wdGlt
aXNlZCB2ZXJzaW9uIG9mIHRoZSBjb2RlIGlmIHRoZQorICAjIHRhcmdldCBpcyBpT1MgdW5kZXIg
ImNhdGFseXN0IiBlbnZpcm9ubWVudC4gVGhpcyB2ZXJzaW9uIGlzIG5vdCBzaGlwcGVkLAorICAj
IHNvIHRoZXJlIGlzIG5vIGNvbmNlcm4gYWJvdXQgcGVyZm9ybWFuY2UuCisgICMgVE9ETyhjcmJ1
Zy5jb20vMTE0NTE5Nyk6IFJlbW92ZSB0aGlzIGV4Y2VwdGlvbiBvbmNlICJuYXNtIiBoYXMgc3Vw
cG9ydAorICAjIGZvciBlbWJlZGRpbmcgdGhlIGNvcnJlY3QgTERfQlVJTERfVkVSU0lPTiBzZWN0
aW9uLgorICBfZm9yY2VfZ2VuZXJpY19zcmNzID0gaXNfaW9zICYmIHRhcmdldF9lbnZpcm9ubWVu
dCA9PSAiY2F0YWx5c3QiCisKKyAgaWYgKGlzX25hY2wgfHwgX2ZvcmNlX2dlbmVyaWNfc3Jjcykg
ewogICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19nZW5lcmljCiAgICAgcHVibGljX2RlcHMgPSBb
ICI6bGlidnB4X2dlbmVyaWNfaGVhZGVycyIgXQogICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09
ICJ4ODYiKSB7CkBAIC00NTQsNyArMzk3LDcgQEAgc3RhdGljX2xpYnJhcnkoImxpYnZweCIpIHsK
ICAgICBzb3VyY2VzID0gbGlidnB4X3NyY3NfbWlwcwogICAgIHB1YmxpY19kZXBzID0gWyAiOmxp
YnZweF9taXBzX2hlYWRlcnMiIF0KICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtIikg
ewotICAgIGlmIChpc19jaHJvbWVvcykgeworICAgIGlmIChpc19jaHJvbWVvc19hc2gpIHsKICAg
ICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9oaWdoYmQKICAgICAgIHB1YmxpY19k
ZXBzID0gWyAiOmxpYnZweF9hcm1fbmVvbl9oaWdoYmRfaGVhZGVycyIgXQogICAgIH0gZWxzZSBp
ZiAoYXJtX3VzZV9uZW9uKSB7CkBAIC00NjgsNzIgKzQxMSw1NSBAQCBzdGF0aWNfbGlicmFyeSgi
bGlidnB4IikgewogICAgICAgcHVibGljX2RlcHMgPSBbICI6bGlidnB4X2FybV9oZWFkZXJzIiBd
CiAgICAgfQogICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm02NCIpIHsKLSAgICBpZiAo
aXNfY2hyb21lb3MgfHwgaXNfd2luIHx8IGlzX21hYykgeworICAgIGlmIChpc19jaHJvbWVvc19h
c2ggfHwgaXNfd2luIHx8IGlzX21hYykgewogICAgICAgc291cmNlcyA9IGxpYnZweF9zcmNzX2Fy
bTY0X2hpZ2hiZAogICAgICAgcHVibGljX2RlcHMgPSBbICI6bGlidnB4X2FybTY0X2hpZ2hiZF9o
ZWFkZXJzIiBdCiAgICAgfSBlbHNlIHsKICAgICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19hcm02
NAogICAgICAgcHVibGljX2RlcHMgPSBbICI6bGlidnB4X2FybTY0X2hlYWRlcnMiIF0KICAgICB9
Ci0gIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgewotICAgIHNvdXJjZXMgPSBs
aWJ2cHhfc3Jjc19wcGM2NAotICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJyaXNjdjY0Iikg
ewotICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19nZW5lcmljCi0gICAgcHVibGljX2RlcHMgPSBb
ICI6bGlidnB4X2dlbmVyaWNfaGVhZGVycyIgXQotICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09
ICJsb29uZzY0IikgewotICAgIHNvdXJjZXMgPSBsaWJ2cHhfc3Jjc19sb29uZ2FyY2gKLSAgICBw
dWJsaWNfZGVwcyA9IFsgIjpsaWJ2cHhfbG9vbmdhcmNoX2hlYWRlcnMiIF0KICAgfQogCiAgIGNv
bmZpZ3MgLT0gWyAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6Y2hyb21pdW1fY29kZSIgXQogICBj
b25maWdzICs9IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOm5vX2Nocm9taXVtX2NvZGUiIF0K
ICAgY29uZmlncyArPSBbICI6bGlidnB4X2NvbmZpZyIgXQogICBkZXBzID0gW10KLSAgaWYgKGN1
cnJlbnRfY3B1ID09ICJ4ODYiIHx8IChjdXJyZW50X2NwdSA9PSAieDY0IiAmJiAhaXNfbXNhbikp
IHsKLSAgICBkZXBzICs9IFsKLSAgICAgICI6bGlidnB4X2FzbSIsCi0gICAgICAiOmxpYnZweF9p
bnRyaW5zaWNzX2F2eCIsCi0gICAgICAiOmxpYnZweF9pbnRyaW5zaWNzX2F2eDIiLAotICAgICAg
IjpsaWJ2cHhfaW50cmluc2ljc19hdng1MTIiLAotICAgICAgIjpsaWJ2cHhfaW50cmluc2ljc19t
bXgiLAotICAgICAgIjpsaWJ2cHhfaW50cmluc2ljc19zc2UyIiwKLSAgICAgICI6bGlidnB4X2lu
dHJpbnNpY3Nfc3NlNF8xIiwKLSAgICAgICI6bGlidnB4X2ludHJpbnNpY3Nfc3NzZTMiLAotICAg
IF0KKyAgaWYgKCFfZm9yY2VfZ2VuZXJpY19zcmNzKSB7CisgICAgaWYgKGN1cnJlbnRfY3B1ID09
ICJ4ODYiIHx8IChjdXJyZW50X2NwdSA9PSAieDY0IiAmJiAhaXNfbXNhbikpIHsKKyAgICAgIGRl
cHMgKz0gWworICAgICAgICAiOmxpYnZweF9hc20iLAorICAgICAgICAiOmxpYnZweF9pbnRyaW5z
aWNzX2F2eCIsCisgICAgICAgICI6bGlidnB4X2ludHJpbnNpY3NfYXZ4MiIsCisgICAgICAgICI6
bGlidnB4X2ludHJpbnNpY3NfYXZ4NTEyIiwKKyAgICAgICAgIjpsaWJ2cHhfaW50cmluc2ljc19t
bXgiLAorICAgICAgICAiOmxpYnZweF9pbnRyaW5zaWNzX3NzZTIiLAorICAgICAgICAiOmxpYnZw
eF9pbnRyaW5zaWNzX3NzZTRfMSIsCisgICAgICAgICI6bGlidnB4X2ludHJpbnNpY3Nfc3NzZTMi
LAorICAgICAgXQorICAgIH0KICAgfQotICBpZiAoY3B1X2FyY2hfZnVsbCA9PSAiYXJtLW5lb24t
aGlnaGJkIiB8fCBjcHVfYXJjaF9mdWxsID09ICJhcm0tbmVvbiIgfHwKLSAgICAgIGNwdV9hcmNo
X2Z1bGwgPT0gImFybS1uZW9uLWNwdS1kZXRlY3QiIHx8IGN1cnJlbnRfY3B1ID09ICJhcm02NCIp
IHsKKyAgaWYgKGNwdV9hcmNoX2Z1bGwgPT0gImFybS1uZW9uLWNwdS1kZXRlY3QiKSB7CiAgICAg
ZGVwcyArPSBbICI6bGlidnB4X2ludHJpbnNpY3NfbmVvbiIgXQogICB9Ci0gIGlmIChjdXJyZW50
X2NwdSA9PSAiYXJtNjQiKSB7Ci0gICAgZGVwcyArPSBbICI6bGlidnB4X2ludHJpbnNpY3NfbmVv
bl9kb3Rwcm9kIiBdCi0gICAgZGVwcyArPSBbICI6bGlidnB4X2ludHJpbnNpY3NfbmVvbl9pOG1t
IiBdCi0gIH0KICAgaWYgKGlzX2FuZHJvaWQpIHsKLSAgICBkZXBzICs9IFsgIi8vdGhpcmRfcGFy
dHkvY3B1X2ZlYXR1cmVzOm5ka19jb21wYXQiIF0KKyAgICBkZXBzICs9IFsgIi8vdGhpcmRfcGFy
dHkvYW5kcm9pZF9uZGs6Y3B1X2ZlYXR1cmVzIiBdCiAgIH0KICAgaWYgKGN1cnJlbnRfY3B1ID09
ICJhcm0iICYmIGFybV9hc3NlbWJseV9zb3VyY2VzICE9IFtdKSB7CiAgICAgZGVwcyArPSBbICI6
bGlidnB4X2Fzc2VtYmx5X2FybSIgXQogICB9Ci0gIGlmIChjdXJyZW50X2NwdSA9PSAibG9vbmc2
NCIpIHsKLSAgICBkZXBzICs9IFsgIjpsaWJ2cHhfbG9vbmdhcmNoX2xzeCIgXQotICB9CiAKICAg
cHVibGljX2NvbmZpZ3MgPSBbICI6bGlidnB4X2V4dGVybmFsX2NvbmZpZyIgXQogfQogCi1zdGF0
aWNfbGlicmFyeSgibGlidnB4cmMiKSB7CitzdGF0aWNfbGlicmFyeSgibGlidnA5cmMiKSB7CiAg
IGlmICghaXNfZGVidWcgJiYgaXNfd2luKSB7CiAgICAgY29uZmlncyAtPSBbICIvL2J1aWxkL2Nv
bmZpZy9jb21waWxlcjpkZWZhdWx0X29wdGltaXphdGlvbiIgXQogICAgIGNvbmZpZ3MgKz0gWyAi
Ly9idWlsZC9jb25maWcvY29tcGlsZXI6b3B0aW1pemVfbWF4IiBdCiAgIH0KIAogICBzb3VyY2Vz
ID0gWwotICAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhfcmF0
ZWN0cmxfcnRjLmNjIiwKLSAgICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvdnA4X3JhdGVjdHJsX3J0Yy5oIiwKICAgICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmNjIiwKICAgICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmgiLAotICAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgiLAogICBd
CiAKICAgY29uZmlncyAtPSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpjaHJvbWl1bV9jb2Rl
IiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9PV05FUlMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9PV05FUlMKaW5kZXggMGZmZTlhNDA2NTc0Li42NTI0Njc4NjJj
NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L09XTkVSUworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9PV05FUlMKQEAgLTEsOCArMSw0IEBACi0jIFByaW1hcnkg
T1dORVJTCit0b21maW5lZ2FuQGNocm9taXVtLm9yZworam9oYW5ua29lbmlnQGdvb2dsZS5jb20K
IGp6ZXJuQGNocm9taXVtLm9yZwoganplcm5AZ29vZ2xlLmNvbQotd3RjQGdvb2dsZS5jb20KLQot
IyBTZWNvbmRhcnkgT1dORVJTCi1kYWxlY3VydGlzQGNocm9taXVtLm9yZwotZXVnZW5lQGNocm9t
aXVtLm9yZwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvUkVBRE1FLmNocm9taXVtIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvUkVBRE1FLmNocm9taXVtCmluZGV4IDI4
NWE2ZTUzNjY5Yy4uMzQ1YmVkNjFkYWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9SRUFETUUuY2hyb21pdW0KKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvUkVB
RE1FLmNocm9taXVtCkBAIC0xLDE5ICsxLDIyIEBACiBOYW1lOiBsaWJ2cHgKLVVSTDogaHR0cHM6
Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL3dlYm0vbGlidnB4Ci1WZXJzaW9uOiBOL0EKLVJl
dmlzaW9uOiA0MjQ3MjNkYzAyNWNlNDUxZGFiOTU2ODIzOWE0NmIxOGQwOTE5YjRkCi1DUEVQcmVm
aXg6IGNwZTovYTp3ZWJtcHJvamVjdDpsaWJ2cHg6MS4xMy4xCitVUkw6IGh0dHA6Ly93d3cud2Vi
bXByb2plY3Qub3JnCitWZXJzaW9uOiB2MS44LjIKK0NQRVByZWZpeDogY3BlOi9hOmpvaG5fa29s
ZXN6YXI6bGlidnB4OjEuOC4yCiBMaWNlbnNlOiBCU0QKIExpY2Vuc2UgRmlsZTogc291cmNlL2xp
YnZweC9MSUNFTlNFCiBTZWN1cml0eSBDcml0aWNhbDogeWVzCi1TaGlwcGVkOiB5ZXMKKworRGF0
ZTogRnJpZGF5IEphbnVhcnkgMjkgMjAyMQorQnJhbmNoOiBtYXN0ZXIKK0NvbW1pdDogNjFlZGVj
MWVmYmVhMWMwMmQ3MTg1N2UyYWZmOTQyNmQ5Y2QyZGY0ZQogCiBEZXNjcmlwdGlvbjoKIENvbnRh
aW5zIHRoZSBzb3VyY2VzIHVzZWQgdG8gY29tcGlsZSBsaWJ2cHggYmluYXJpZXMgdXNlZCBieSBH
b29nbGUgQ2hyb21lIGFuZAogQ2hyb21pdW0uCiAKIFRoZSBsaWJ2cHggc291cmNlIGlzIGZyb20g
d2VibXByb2plY3Qub3JnOgotICBodHRwczovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS8KKyAg
aHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS8KKyAgaHR0cHM6Ly9jaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL3dlYm0vbGlidnB4CiAKIFBsZWFzZSBmb2xsb3cgdGhlc2Ugc3RlcHMgdG8g
dXBkYXRlIGxpYnZweCBzb3VyY2UgY29kZToKIApAQCAtMzEsMTIgKzM0LDEyIEBAIFBsZWFzZSBm
b2xsb3cgdGhlc2Ugc3RlcHMgdG8gdXBkYXRlIGxpYnZweCBzb3VyY2UgY29kZToKICAgICAgY2Qg
dGhpcmRfcGFydHkvbGlidnB4CiAgICAgIC4vZ2VuZXJhdGVfZ25pLnNoCiAKLSAgIFVwZGF0ZSAn
UmV2aXNpb24nIGFuZCAnQ1BFUHJlZml4JyBpbiB0aGlzIGZpbGUgaWYgbmVjZXNzYXJ5LgotCi0z
LiBBbWVuZCB0aGUgY29tbWl0IGNyZWF0ZWQgYnkgdGhlIGZpcnN0IHN0ZXA6CisgIEFtZW5kIHRo
ZSBjb21taXQgY3JlYXRlZCBieSB0aGUgZmlyc3Qgc3RlcDoKIAogICAgICBnaXQgY29tbWl0IC1h
IC0tYW1lbmQKIAorMy4gVXBkYXRlICdCcmFuY2gnIGluIFJFQURNRS5jaHJvbWl1bSBpZiBuZWNl
c3NhcnkuCisKIDQuIFVwbG9hZCB0aGUgY2hhbmdlIHRvIEdlcnJpdDoKIAogICAgICBnaXQgY2wg
dXBsb2FkCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2ggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2gKaW5kZXggYmUx
ZjQ4NmRjNGFiLi5iOTM3Yjk2ZGJkNDcgMTAwNzU1Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRlX2duaS5zaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9nZW5l
cmF0ZV9nbmkuc2gKQEAgLTEsNiArMSw2IEBACi0jIS9iaW4vYmFzaAorIyEvYmluL2Jhc2ggLWUK
ICMKLSMgQ29weXJpZ2h0IDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMKKyMgQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBVc2Ug
b2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRo
YXQgY2FuIGJlCiAjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKQEAgLTE3LDggKzE3LDYg
QEAKICMgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGhlYWRlcnMgYXJlIGdlbmVyYXRl
ZCkuCiAjIC0tZGlzYWJsZS12cDktaGlnaGJpdGRlcHRoIDogUmV2ZXJ0IHg4NltfNjRdIGJ1aWxk
cyB0byBsb3ctYml0LWRlcHRoIG9ubHkuCiAKLXNldCAtZQotCiBleHBvcnQgTENfQUxMPUMKIEJB
U0VfRElSPSQocHdkKQogTElCVlBYX1NSQ19ESVI9InNvdXJjZS9saWJ2cHgiCkBAIC0yOSwzMyAr
MjcsMzQgQEAgSElHSEJEPSItLWVuYWJsZS12cDktaGlnaGJpdGRlcHRoIgogIyBPbmx5IGRpc2Fi
bGUgYXZ4NTEyIGlmIGl0IGlzIGFuIG9wdGlvbi4KIGdyZXAgLXEgYXZ4NTEyIHNvdXJjZS9saWJ2
cHgvY29uZmlndXJlIHx8IHVuc2V0IERJU0FCTEVfQVZYNTEyCiAKLWZvciBpIGluICIkQCI7IGRv
Ci0gIGNhc2UgJGkgaW4KLSAgICAtLWVuYWJsZS1hdng1MTIpCi0gICAgICB1bnNldCBESVNBQkxF
X0FWWDUxMgotICAgICAgc2hpZnQKLSAgICAgIDs7Ci0gICAgLS1vbmx5LWNvbmZpZ3MpCi0gICAg
ICBPTkxZX0NPTkZJR1M9dHJ1ZQotICAgICAgc2hpZnQKLSAgICAgIDs7Ci0gICAgLS1lbmFibGUt
dnA5LWhpZ2hiaXRkZXB0aCkKLSAgICAgIHNoaWZ0Ci0gICAgICA7OwotICAgIC0tZGlzYWJsZS12
cDktaGlnaGJpdGRlcHRoKQotICAgICAgdW5zZXQgSElHSEJECi0gICAgICBzaGlmdAotICAgICAg
OzsKLSAgICAqKQotICAgICAgZWNobyAiVW5rbm93biBvcHRpb246ICRpIgotICAgICAgZXhpdCAx
Ci0gICAgICA7OwotICBlc2FjCitmb3IgaSBpbiAiJEAiCitkbworY2FzZSAkaSBpbgorICAtLWVu
YWJsZS1hdng1MTIpCisgIHVuc2V0IERJU0FCTEVfQVZYNTEyCisgIHNoaWZ0CisgIDs7CisgIC0t
b25seS1jb25maWdzKQorICBPTkxZX0NPTkZJR1M9dHJ1ZQorICBzaGlmdAorICA7OworICAtLWVu
YWJsZS12cDktaGlnaGJpdGRlcHRoKQorICBzaGlmdAorICA7OworICAtLWRpc2FibGUtdnA5LWhp
Z2hiaXRkZXB0aCkKKyAgdW5zZXQgSElHSEJECisgIHNoaWZ0CisgIDs7CisgICopCisgIGVjaG8g
IlVua25vd24gb3B0aW9uOiAkaSIKKyAgZXhpdCAxCisgIDs7Citlc2FjCiBkb25lCiAKICMgUHJp
bnQgbGljZW5zZSBoZWFkZXIuCiAjICQxIC0gT3V0cHV0IGJhc2UgbmFtZQotZnVuY3Rpb24gd3Jp
dGVfbGljZW5zZSgpIHsKK2Z1bmN0aW9uIHdyaXRlX2xpY2Vuc2UgewogICBlY2hvICIjIFRoaXMg
ZmlsZSBpcyBnZW5lcmF0ZWQuIERvIG5vdCBlZGl0LiIgPj4gJDEKICAgZWNobyAiIiA+PiAkMQog
fQpAQCAtNjQsNyArNjMsNyBAQCBmdW5jdGlvbiB3cml0ZV9saWNlbnNlKCkgewogIyBidWlsZCBj
YW4gc3VwcG9ydCBzdWNoIGZpbGVzIGJ1dCBvbmx5IHdoZW4gdGhleSBhcmUgYnVpbHQgaW50byBk
aXNwYXJhdGUKICMgbW9kdWxlcy4gQ29uZmlndXJpbmcgc3VjaCBtb2R1bGVzIGZvciBib3RoIGd5
cCBhbmQgZ24gYXJlIHRyaWNreSBzbyBhdm9pZCB0aGUKICMgaXNzdWUgYXQgbGVhc3QgdW50aWwg
Z3lwIGlzIHJlbW92ZWQuCi1mdW5jdGlvbiBmaW5kX2R1cGxpY2F0ZXMoKSB7CitmdW5jdGlvbiBm
aW5kX2R1cGxpY2F0ZXMgewogICBsb2NhbCByZWFkb25seSBkdXBsaWNhdGVfZmlsZV9uYW1lcz0k
KGZpbmQgXAogICAgICRCQVNFX0RJUi8kTElCVlBYX1NSQ19ESVIvdnA4IFwKICAgICAkQkFTRV9E
SVIvJExJQlZQWF9TUkNfRElSL3ZwOSBcCkBAIC03Miw3ICs3MSw3IEBAIGZ1bmN0aW9uIGZpbmRf
ZHVwbGljYXRlcygpIHsKICAgICAtdHlwZSBmIC1uYW1lIFwqLmMgIHwgeGFyZ3MgLUkge30gYmFz
ZW5hbWUge30gfCBzb3J0IHwgdW5pcSAtZCBcCiAgICkKIAotICBpZiBbWyAtbiAiJHtkdXBsaWNh
dGVfZmlsZV9uYW1lc30iIF1dOyB0aGVuCisgIGlmIFsgLW4gIiR7ZHVwbGljYXRlX2ZpbGVfbmFt
ZXN9IiBdOyB0aGVuCiAgICAgZWNobyAiV0FSTklORzogRFVQTElDQVRFIEZJTEVTIEZPVU5EIgog
ICAgIGZvciBmaWxlIGluICAke2R1cGxpY2F0ZV9maWxlX25hbWVzfTsgZG8KICAgICAgIGZpbmQg
XApAQCAtOTAsNyArODksNyBAQCBmdW5jdGlvbiBmaW5kX2R1cGxpY2F0ZXMoKSB7CiAjICAgICAg
cmVnZW5lcmF0ZSB0aGUgYXJyYXkgbG9jYWxseS4KICMgJDIgLSBHTiB2YXJpYWJsZSBuYW1lLgog
IyAkMyAtIE91dHB1dCBmaWxlLgotZnVuY3Rpb24gd3JpdGVfZ25pKCkgeworZnVuY3Rpb24gd3Jp
dGVfZ25pIHsKICAgIyBDb252ZXJ0IHRoZSBmaXJzdCBhcmd1bWVudCBiYWNrIGluIHRvIGFuIGFy
cmF5LgogICBkZWNsYXJlIC1hIGZpbGVfbGlzdD0oIiR7ITF9IikKIApAQCAtMTA0LDcgKzEwMyw3
IEBAIGZ1bmN0aW9uIHdyaXRlX2duaSgpIHsKIAogIyBDb252ZXJ0IGEgbGlzdCBvZiBzb3VyY2Ug
ZmlsZXMgaW50byBnbmkgZmlsZXMuCiAjICQxIC0gSW5wdXQgZmlsZS4KLWZ1bmN0aW9uIGNvbnZl
cnRfc3Jjc190b19wcm9qZWN0X2ZpbGVzKCkgeworZnVuY3Rpb24gY29udmVydF9zcmNzX3RvX3By
b2plY3RfZmlsZXMgewogICAjIERvIHRoZSBmb2xsb3dpbmcgaGVyZToKICAgIyAxLiBGaWx0ZXIg
LmMsIC5oLCAucywgLlMgYW5kIC5hc20gZmlsZXMuCiAgICMgMi4gTW92ZSBjZXJ0YWluIGZpbGVz
IHRvIGEgc2VwYXJhdGUgbGlzdHMgdG8gYWxsb3cgYXBwbHlpbmcgZGlmZmVyZW50CkBAIC0xMjYs
MjggKzEyNSwyMyBAQCBmdW5jdGlvbiBjb252ZXJ0X3NyY3NfdG9fcHJvamVjdF9maWxlcygpIHsK
ICAgc291cmNlX2xpc3Q9JChlY2hvIC1lICIkc291cmNlX2xpc3RcXG52cHhfcG9ydHMvYXJtLmgi
KQogICBzb3VyY2VfbGlzdD0kKGVjaG8gLWUgIiRzb3VyY2VfbGlzdFxcbnZweF9wb3J0cy94ODYu
aCIpCiAgIHNvdXJjZV9saXN0PSQoZWNobyAtZSAiJHNvdXJjZV9saXN0XFxudnB4X3BvcnRzL21p
cHMuaCIpCi0gIHNvdXJjZV9saXN0PSQoZWNobyAtZSAiJHNvdXJjZV9saXN0XFxudnB4X3BvcnRz
L2xvb25nYXJjaC5oIikKICAgc291cmNlX2xpc3Q9JChlY2hvICIkc291cmNlX2xpc3QiIHwgc29y
dCAtdSkKIAogICAjIFRoZSBhY3R1YWwgQVJNIGZpbGVzIGVuZCBpbiAuYXNtLiBXZSBoYXZlIHJ1
bGVzIHRvIHRyYW5zbGF0ZSB0aGVtIHRvIC5TCiAgIHNvdXJjZV9saXN0PSQoZWNobyAiJHNvdXJj
ZV9saXN0IiB8IHNlZCBzL1wuYXNtXC5zJC8uYXNtLykKIAogICAjIFNlbGVjdCBhbGwgeDg2IGZp
bGVzIGVuZGluZyB3aXRoIC5jCi0gIGxvY2FsIGludHJpbnNpY19saXN0PSQoZWNobyAiJHNvdXJj
ZV9saXN0IiBcCi0gICAgfCBlZ3JlcCAnKG1teHxzc2UyfHNzZTN8c3NzZTN8c3NlNHxhdnh8YXZ4
Mnxhdng1MTIpLmMkJykKKyAgbG9jYWwgaW50cmluc2ljX2xpc3Q9JChlY2hvICIkc291cmNlX2xp
c3QiIHwgXAorICAgIGVncmVwICcobW14fHNzZTJ8c3NlM3xzc3NlM3xzc2U0fGF2eHxhdngyfGF2
eDUxMikuYyQnKQogCi0gIGlmIFtbICIkMiIgPX4gYXJtIF1dOyB0aGVuCisgICMgU2VsZWN0IGFs
bCBuZW9uIGZpbGVzIGVuZGluZyBpbiBDIGJ1dCBvbmx5IHdoZW4gYnVpbGRpbmcgaW4gUlRDRCBt
b2RlCisgIGlmIFsgImxpYnZweF9zcmNzX2FybV9uZW9uX2NwdV9kZXRlY3QiID09ICIkMiIgXTsg
dGhlbgogICAgICMgU2VsZWN0IGFsbCBhcm0gbmVvbiBmaWxlcyBlbmRpbmcgaW4gX25lb24uYyBh
bmQgYWxsIGFzbSBmaWxlcy4KICAgICAjIFRoZSBhc20gZmlsZXMgbmVlZCB0byBiZSBpbmNsdWRl
ZCBpbiB0aGUgaW50cmluc2ljcyB0YXJnZXQgYmVjYXVzZQogICAgICMgdGhleSBuZWVkIHRoZSAt
bWZwdT1uZW9uIGZsYWcuCiAgICAgIyB0aGUgcGF0dGVybiBtYXkgbmVlZCB0byBiZSB1cGRhdGVk
IGlmIHZweF9zY2FsZSBnZXRzIGludHJpbnNpY3MKLSAgICBsb2NhbCBpbnRyaW5zaWNfbGlzdD0k
KGVjaG8gIiRzb3VyY2VfbGlzdCIgXAotICAgICAgfCBlZ3JlcCAnbmVvbi4qKFwuY3xcLmFzbSkk
JykKLSAgZmkKLQotICAjIFNlbGVjdCBsb29uZ2FyY2ggbHN4IGZpbGVzIGVuZGluZyBpbiBDIGZy
b20gc291cmNlX2xpc3QuCi0gIGlmIFtbIGBlY2hvICQyIHwgZ3JlcCBsb29uZ2FyY2hgIF1dOyB0
aGVuCi0gICAgbG9jYWwgaW50cmluc2ljX2xpc3Q9JChlY2hvICIkc291cmNlX2xpc3QiIHwgZWdy
ZXAgJyhsc3gpLihjfGgpJCcpCisgICAgbG9jYWwgaW50cmluc2ljX2xpc3Q9JChlY2hvICIkc291
cmNlX2xpc3QiIHwgXAorICAgICAgZWdyZXAgJ25lb24uKihcLmN8XC5hc20pJCcpCiAgIGZpCiAK
ICAgIyBSZW1vdmUgdGhlc2UgZmlsZXMgZnJvbSB0aGUgbWFpbiBsaXN0LgpAQCAtMTU2LDcgKzE1
MCw3IEBAIGZ1bmN0aW9uIGNvbnZlcnRfc3Jjc190b19wcm9qZWN0X2ZpbGVzKCkgewogICBsb2Nh
bCB4ODZfbGlzdD0kKGVjaG8gIiRzb3VyY2VfbGlzdCIgfCBlZ3JlcCAnL3g4Ni8nKQogCiAgICMg
V3JpdGUgYSBzaW5nbGUgLmduaSBmaWxlIHRoYXQgaW5jbHVkZXMgYWxsIHNvdXJjZSBmaWxlcyBm
b3IgYWxsIGFyY2hzLgotICBpZiBbWyAkeyN4ODZfbGlzdH0gLW5lIDAgXV07IHRoZW4KKyAgaWYg
WyAwIC1uZSAkeyN4ODZfbGlzdH0gXTsgdGhlbgogICAgIGxvY2FsIGNfc291cmNlcz0kKGVjaG8g
IiRzb3VyY2VfbGlzdCIgfCBlZ3JlcCAnXC5jJCcpCiAgICAgbG9jYWwgY19oZWFkZXJzPSQoZWNo
byAiJHNvdXJjZV9saXN0IiB8IGVncmVwICdcLmgkJykKICAgICBsb2NhbCBhc3NlbWJseV9zb3Vy
Y2VzPSQoZWNobyAiJHNvdXJjZV9saXN0IiB8IGVncmVwICdcLmFzbSQnKQpAQCAtMTgxLDUyICsx
NzUsMzIgQEAgZnVuY3Rpb24gY29udmVydF9zcmNzX3RvX3Byb2plY3RfZmlsZXMoKSB7CiAgICAg
d3JpdGVfZ25pIGF2eDJfc291cmNlcyAkMl9hdngyICIkQkFTRV9ESVIvbGlidnB4X3NyY3MuZ25p
IgogICAgIHdyaXRlX2duaSBhdng1MTJfc291cmNlcyAkMl9hdng1MTIgIiRCQVNFX0RJUi9saWJ2
cHhfc3Jjcy5nbmkiCiAgIGVsc2UKLSAgICBpZiBbWyBgZWNobyAkMiB8IGdyZXAgbG9vbmdhcmNo
YCBdXTsgdGhlbgotICAgICAgbG9jYWwgY19zb3VyY2VzPSQoZWNobyAiJHNvdXJjZV9saXN0IiB8
IGVncmVwICdcLmMkJykKLSAgICAgIGxvY2FsIGNfaGVhZGVycz0kKGVjaG8gIiRzb3VyY2VfbGlz
dCIgfCBlZ3JlcCAnXC5oJCcpCi0gICAgICBsb2NhbCBsc3hfc291cmNlcz0kKGVjaG8gIiRpbnRy
aW5zaWNfbGlzdCIgfCBlZ3JlcCAnX2xzeFwuKGN8aCkkJykKLSAgICAgIHdyaXRlX2duaSBjX3Nv
dXJjZXMgJDIgIiRCQVNFX0RJUi9saWJ2cHhfc3Jjcy5nbmkiCi0gICAgICB3cml0ZV9nbmkgY19o
ZWFkZXJzICQyX2hlYWRlcnMgIiRCQVNFX0RJUi9saWJ2cHhfc3Jjcy5nbmkiCi0gICAgICB3cml0
ZV9nbmkgbHN4X3NvdXJjZXMgJDJfbHN4ICIkQkFTRV9ESVIvbGlidnB4X3NyY3MuZ25pIgotICAg
IGVsc2UKLSAgICAgIGxvY2FsIGNfc291cmNlcz0kKGVjaG8gIiRzb3VyY2VfbGlzdCIgfCBlZ3Jl
cCAnXC5jJCcpCi0gICAgICBsb2NhbCBjX2hlYWRlcnM9JChlY2hvICIkc291cmNlX2xpc3QiIHwg
ZWdyZXAgJ1wuaCQnKQotICAgICAgbG9jYWwgYXNzZW1ibHlfc291cmNlcz0kKGVjaG8gLWUgIiRz
b3VyY2VfbGlzdFxuJGludHJpbnNpY19saXN0IiB8IFwKLSAgICAgICAgZWdyZXAgJ1wuYXNtJCcp
Ci0gICAgICBsb2NhbCBuZW9uX3NvdXJjZXM9JChlY2hvICIkaW50cmluc2ljX2xpc3QiIHwgXAot
ICAgICAgICBncmVwIC1lICdfbmVvblwuYyQnIC1lICdfbmVvbl9hc21cLmMnKQotICAgICAgd3Jp
dGVfZ25pIGNfc291cmNlcyAkMiAiJEJBU0VfRElSL2xpYnZweF9zcmNzLmduaSIKLSAgICAgIHdy
aXRlX2duaSBjX2hlYWRlcnMgJDJfaGVhZGVycyAiJEJBU0VfRElSL2xpYnZweF9zcmNzLmduaSIK
LSAgICAgIHdyaXRlX2duaSBhc3NlbWJseV9zb3VyY2VzICQyX2Fzc2VtYmx5ICIkQkFTRV9ESVIv
bGlidnB4X3NyY3MuZ25pIgotICAgICAgaWYgWyAwIC1uZSAkeyNuZW9uX3NvdXJjZXN9IF07IHRo
ZW4KLSAgICAgICAgd3JpdGVfZ25pIG5lb25fc291cmNlcyAkMl9uZW9uICIkQkFTRV9ESVIvbGli
dnB4X3NyY3MuZ25pIgotICAgICAgZmkKLSAgICAgIGlmIFtbICIkMiIgPX4gYXJtNjQgXV07IHRo
ZW4KLSAgICAgICAgbG9jYWwgbmVvbl9kb3Rwcm9kX3NvdXJjZXM9JChlY2hvICIkaW50cmluc2lj
X2xpc3QiIHwgXAotICAgICAgICAgIGdyZXAgJ19uZW9uX2RvdHByb2RcLmMkJykKLSAgICAgICAg
bG9jYWwgbmVvbl9pOG1tX3NvdXJjZXM9JChlY2hvICIkaW50cmluc2ljX2xpc3QiIHwgXAotICAg
ICAgICAgIGdyZXAgJ19uZW9uX2k4bW1cLmMkJykKLSAgICAgICAgd3JpdGVfZ25pIG5lb25fZG90
cHJvZF9zb3VyY2VzICQyX25lb25fZG90cHJvZCBcCi0gICAgICAgICAgIiRCQVNFX0RJUi9saWJ2
cHhfc3Jjcy5nbmkiCi0gICAgICAgIHdyaXRlX2duaSBuZW9uX2k4bW1fc291cmNlcyAkMl9uZW9u
X2k4bW0gIiRCQVNFX0RJUi9saWJ2cHhfc3Jjcy5nbmkiCi0gICAgICBmaQotICAgICBmaQorICAg
IGxvY2FsIGNfc291cmNlcz0kKGVjaG8gIiRzb3VyY2VfbGlzdCIgfCBlZ3JlcCAnXC5jJCcpCisg
ICAgbG9jYWwgY19oZWFkZXJzPSQoZWNobyAiJHNvdXJjZV9saXN0IiB8IGVncmVwICdcLmgkJykK
KyAgICBsb2NhbCBhc3NlbWJseV9zb3VyY2VzPSQoZWNobyAtZSAiJHNvdXJjZV9saXN0XG4kaW50
cmluc2ljX2xpc3QiIHwgXAorICAgICAgZWdyZXAgJ1wuYXNtJCcpCisgICAgbG9jYWwgbmVvbl9z
b3VyY2VzPSQoZWNobyAiJGludHJpbnNpY19saXN0IiB8IGdyZXAgJ19uZW9uXC5jJCcpCisgICAg
d3JpdGVfZ25pIGNfc291cmNlcyAkMiAiJEJBU0VfRElSL2xpYnZweF9zcmNzLmduaSIKKyAgICB3
cml0ZV9nbmkgY19oZWFkZXJzICQyX2hlYWRlcnMgIiRCQVNFX0RJUi9saWJ2cHhfc3Jjcy5nbmki
CisgICAgd3JpdGVfZ25pIGFzc2VtYmx5X3NvdXJjZXMgJDJfYXNzZW1ibHkgIiRCQVNFX0RJUi9s
aWJ2cHhfc3Jjcy5nbmkiCisgICAgaWYgWyAwIC1uZSAkeyNuZW9uX3NvdXJjZXN9IF07IHRoZW4K
KyAgICAgIHdyaXRlX2duaSBuZW9uX3NvdXJjZXMgJDJfbmVvbiAiJEJBU0VfRElSL2xpYnZweF9z
cmNzLmduaSIKKyAgICBmaQogICBmaQogfQogCiAjIENsZWFuIGZpbGVzIGZyb20gcHJldmlvdXMg
bWFrZS4KLWZ1bmN0aW9uIG1ha2VfY2xlYW4oKSB7CitmdW5jdGlvbiBtYWtlX2NsZWFuIHsKICAg
bWFrZSBjbGVhbiA+IC9kZXYvbnVsbAogICBybSAtZiBsaWJ2cHhfc3Jjcy50eHQKIH0KIAogIyBM
aW50IGEgcGFpciBvZiB2cHhfY29uZmlnLmggYW5kIHZweF9jb25maWcuYXNtIHRvIG1ha2Ugc3Vy
ZSB0aGV5IG1hdGNoLgogIyAkMSAtIEhlYWRlciBmaWxlIGRpcmVjdG9yeS4KLWZ1bmN0aW9uIGxp
bnRfY29uZmlnKCkgewotICAjIG1pcHMsIG5hdGl2ZSBhbmQgbG9vbmdhcmNoIGNsaWVudCBkbyBu
b3QgY29udGFpbiBhbnkgYXNzZW1ibHkgc28gdGhlCi0gICMgaGVhZGVycyBkbyBub3QgbmVlZCB0
byBiZSBjb21wYXJlZCB0byB0aGUgYXNtLgotICBpZiBbWyAiJDEiICE9ICptaXBzZWwgJiYgIiQx
IiAhPSAqbWlwczY0ZWwgJiYgIiQxIiAhPSBuYWNsIFwKLSAgICAgICYmICIkMSIgIT0gKmxvb25n
YXJjaCBdXTsgdGhlbgorZnVuY3Rpb24gbGludF9jb25maWcgeworICAjIG1pcHMgYW5kIG5hdGl2
ZSBjbGllbnQgZG8gbm90IGNvbnRhaW4gYW55IGFzc2VtYmx5IHNvIHRoZSBoZWFkZXJzIGRvIG5v
dAorICAjIG5lZWQgdG8gYmUgY29tcGFyZWQgdG8gdGhlIGFzbS4KKyAgaWYgW1sgIiQxIiAhPSAq
bWlwc2VsICYmICIkMSIgIT0gKm1pcHM2NGVsICYmICIkMSIgIT0gbmFjbCBdXTsgdGhlbgogICAg
ICRCQVNFX0RJUi9saW50X2NvbmZpZy5zaCBcCiAgICAgICAtaCAkQkFTRV9ESVIvJExJQlZQWF9D
T05GSUdfRElSLyQxL3ZweF9jb25maWcuaCBcCiAgICAgICAtYSAkQkFTRV9ESVIvJExJQlZQWF9D
T05GSUdfRElSLyQxL3ZweF9jb25maWcuYXNtCkBAIC0yMzUsNyArMjA5LDcgQEAgZnVuY3Rpb24g
bGludF9jb25maWcoKSB7CiAKICMgUHJpbnQgdGhlIGNvbmZpZ3VyYXRpb24uCiAjICQxIC0gSGVh
ZGVyIGZpbGUgZGlyZWN0b3J5LgotZnVuY3Rpb24gcHJpbnRfY29uZmlnKCkgeworZnVuY3Rpb24g
cHJpbnRfY29uZmlnIHsKICAgJEJBU0VfRElSL2xpbnRfY29uZmlnLnNoIC1wIFwKICAgICAtaCAk
QkFTRV9ESVIvJExJQlZQWF9DT05GSUdfRElSLyQxL3ZweF9jb25maWcuaCBcCiAgICAgLWEgJEJB
U0VfRElSLyRMSUJWUFhfQ09ORklHX0RJUi8kMS92cHhfY29uZmlnLmFzbQpAQCAtMjQ1LDcgKzIx
OSw3IEBAIGZ1bmN0aW9uIHByaW50X2NvbmZpZygpIHsKICMgVGhpcyBmdW5jdGlvbiBpcyBhbiBh
YnJpZGdlZCB2ZXJzaW9uIG9mIHByaW50X2NvbmZpZyB3aGljaCBkb2VzIG5vdCB1c2UKICMgbGlu
dF9jb25maWcgYW5kIGl0IGRvZXMgbm90IHJlcXVpcmUgZXhpc3RlbmNlIG9mIHZweF9jb25maWcu
YXNtLgogIyAkMSAtIEhlYWRlciBmaWxlIGRpcmVjdG9yeS4KLWZ1bmN0aW9uIHByaW50X2NvbmZp
Z19iYXNpYygpIHsKK2Z1bmN0aW9uIHByaW50X2NvbmZpZ19iYXNpYyB7CiAgIGNvbWJpbmVkX2Nv
bmZpZz0iJChjYXQgJEJBU0VfRElSLyRMSUJWUFhfQ09ORklHX0RJUi8kMS92cHhfY29uZmlnLmgg
XAogICAgICAgICAgICAgICAgICAgIHwgZ3JlcCAtRSAnICtbMDFdICokJykiCiAgIGNvbWJpbmVk
X2NvbmZpZz0iJChlY2hvICIkY29tYmluZWRfY29uZmlnIiB8IGdyZXAgLXYgRE8xU1RST1VORElO
RykiCkBAIC0yNjAsMTMgKzIzNCwxMiBAQCBmdW5jdGlvbiBwcmludF9jb25maWdfYmFzaWMoKSB7
CiAjICQxIC0gSGVhZGVyIGZpbGUgZGlyZWN0b3J5LgogIyAkMiAtIEFyY2hpdGVjdHVyZS4KICMg
JDMgLSBPcHRpb25hbCAtIGFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRocm91Z2gu
Ci1mdW5jdGlvbiBnZW5fcnRjZF9oZWFkZXIoKSB7CitmdW5jdGlvbiBnZW5fcnRjZF9oZWFkZXIg
ewogICBlY2hvICJHZW5lcmF0ZSAkTElCVlBYX0NPTkZJR19ESVIvJDEvKl9ydGNkLmggZmlsZXMu
IgogICBmb3JtYXQ9ImNsYW5nLWZvcm1hdCAtaSAtc3R5bGU9Q2hyb21pdW0iCiAKICAgcm0gLXJm
ICRCQVNFX0RJUi8kVEVNUF9ESVIvbGlidnB4LmNvbmZpZwotICBpZiBbWyAiJDIiID09ICJtaXBz
ZWwiIHx8ICIkMiIgPT0gIm1pcHM2NGVsIiB8fCAiJDIiID09IG5hY2wgXAotICAgICAgfHwgIiQy
IiA9PSAibG9vbmdhcmNoIiBdXTsgdGhlbgorICBpZiBbWyAiJDIiID09ICJtaXBzZWwiIHx8ICIk
MiIgPT0gIm1pcHM2NGVsIiB8fCAiJDIiID09IG5hY2wgXV07IHRoZW4KICAgICBwcmludF9jb25m
aWdfYmFzaWMgJDEgPiAkQkFTRV9ESVIvJFRFTVBfRElSL2xpYnZweC5jb25maWcKICAgZWxzZQog
ICAgICRCQVNFX0RJUi9saW50X2NvbmZpZy5zaCAtcCBcCkBAIC0zMTgsNyArMjkxLDcgQEAgZnVu
Y3Rpb24gZ2VuX3J0Y2RfaGVhZGVyKCkgewogIyBkZXRlY3Rpb24gb2YgY2FwYWJpbGl0aWVzIG9u
IHNwZWNpZmljIHRhcmdldHMuCiAjICQxIC0gSGVhZGVyIGZpbGUgZGlyZWN0b3J5LgogIyAkMiAt
IENvbmZpZyBjb21tYW5kIGxpbmUuCi1mdW5jdGlvbiBnZW5fY29uZmlnX2ZpbGVzKCkgeworZnVu
Y3Rpb24gZ2VuX2NvbmZpZ19maWxlcyB7CiAgIC4vY29uZmlndXJlICQyID4gL2Rldi9udWxsCiAK
ICAgIyBEaXNhYmxlIEhBVkVfVU5JU1REX0ggYXMgaXQgY2F1c2VzIHZwOCB0byB0cnkgdG8gZGV0
ZWN0IGhvdyBtYW55IGNwdXMKQEAgLTMyNiw4ICsyOTksNyBAQCBmdW5jdGlvbiBnZW5fY29uZmln
X2ZpbGVzKCkgewogICBzZWQgLWkuYmFrIC1lICdzL1woSEFWRV9VTklTVERfSFtbOnNwYWNlOl1d
KlwpMS9cMTAvJyB2cHhfY29uZmlnLmgKICAgIyBNYWludGFpbiBvbGQgQVJDSF8gZGVmaW5lcyB0
byBhdm9pZCBidWlsZCBlcnJvcnMgYmVjYXVzZSBhc3NlbWJseSBmaWxlCiAgICMgZGVwZW5kZW5j
aWVzIGFyZSBpbmNvcnJlY3QuCi0gIHNlZCAtaS5iYWsgLWUgJ3MvXCgjZGVmaW5lIFwpVlBYX1wo
QVJDSF9bXzAtOUEtWl1cKyBbMDFdXCkvJlxuXDFcMi8nIFwKLSAgICB2cHhfY29uZmlnLmgKKyAg
c2VkIC1pLmJhayAtZSAncy9cKCNkZWZpbmUgXClWUFhfXChBUkNIX1tfMC05QS1aXVwrIFswMV1c
KS8mXG5cMVwyLycgdnB4X2NvbmZpZy5oCiAKICAgcm0gdnB4X2NvbmZpZy5oLmJhawogCkBAIC0z
MzksMTUgKzMxMSwxMSBAQCBmdW5jdGlvbiBnZW5fY29uZmlnX2ZpbGVzKCkgewogICBmaQogCiAg
ICMgR2VuZXJhdGUgdnB4X2NvbmZpZy5hc20uIERvIG5vdCBjcmVhdGUgb25lIGZvciBtaXBzIG9y
IG5hdGl2ZSBjbGllbnQuCi0gIGlmIFtbICIkMSIgIT0gKm1pcHNlbCAmJiAiJDEiICE9ICptaXBz
NjRlbCAmJiAiJDEiICE9IG5hY2wgXAotICAgICAgJiYgIiQxIiAhPSAqbG9vbmdhcmNoIF1dOyB0
aGVuCisgIGlmIFtbICIkMSIgIT0gKm1pcHNlbCAmJiAiJDEiICE9ICptaXBzNjRlbCAmJiAiJDEi
ICE9IG5hY2wgXV07IHRoZW4KICAgICBpZiBbWyAiJDEiID09ICp4NjQqIF1dIHx8IFtbICIkMSIg
PT0gKmlhMzIqIF1dOyB0aGVuCi0gICAgICBlZ3JlcCAiI2RlZmluZSBbQS1aMC05X10rIFswMV0i
IHZweF9jb25maWcuaCBcCi0gICAgICAgIHwgYXdrICd7cHJpbnQgIiVkZWZpbmUgIiAkMiAiICIg
JDN9JyA+IHZweF9jb25maWcuYXNtCisgICAgICBlZ3JlcCAiI2RlZmluZSBbQS1aMC05X10rIFsw
MV0iIHZweF9jb25maWcuaCB8IGF3ayAne3ByaW50ICIlZGVmaW5lICIgJDIgIiAiICQzfScgPiB2
cHhfY29uZmlnLmFzbQogICAgIGVsc2UKLSAgICAgIGVncmVwICIjZGVmaW5lIFtBLVowLTlfXSsg
WzAxXSIgdnB4X2NvbmZpZy5oIFwKLSAgICAgICAgfCBhd2sgJ3twcmludCAkMiAiIEVRVSAiICQz
fScgXAotICAgICAgICB8IHBlcmwgJEJBU0VfRElSLyRMSUJWUFhfU1JDX0RJUi9idWlsZC9tYWtl
LyRBU01fQ09OViA+IHZweF9jb25maWcuYXNtCisgICAgICBlZ3JlcCAiI2RlZmluZSBbQS1aMC05
X10rIFswMV0iIHZweF9jb25maWcuaCB8IGF3ayAne3ByaW50ICQyICIgRVFVICIgJDN9JyB8IHBl
cmwgJEJBU0VfRElSLyRMSUJWUFhfU1JDX0RJUi9idWlsZC9tYWtlLyRBU01fQ09OViA+IHZweF9j
b25maWcuYXNtCiAgICAgZmkKICAgZmkKIApAQCAtMzU3LDE2ICszMjUsMjIgQEAgZnVuY3Rpb24g
Z2VuX2NvbmZpZ19maWxlcygpIHsKICAgcm0gLXJmIHZweF9jb25maWcuKgogfQogCi1mdW5jdGlv
biB1cGRhdGVfcmVhZG1lKCkgewotICBsb2NhbCByZXZpc2lvbj0kKGdpdCAtLW5vLXBhZ2VyIGxv
ZyAtMSAtLWZvcm1hdD0iJUgiKQorZnVuY3Rpb24gdXBkYXRlX3JlYWRtZSB7CisgIGxvY2FsIElG
Uz0kJ1xuJworICAjIFNwbGl0IGdpdCBsb2cgb3V0cHV0ICc8ZGF0ZT5cbjxjb21taXQgaGFzaD4n
IG9uIHRoZSBuZXdsaW5lIHRvIHByb2R1Y2UgMgorICAjIGFycmF5IGVudHJpZXMuCisgIGxvY2Fs
IHZhbHM9KCQoZ2l0IC0tbm8tcGFnZXIgbG9nIC0xIC0tZm9ybWF0PSIlY2QlbiVIIiBcCisgICAg
LS1kYXRlPWZvcm1hdDoiJUEgJUIgJWQgJVkiKSkKICAgc2VkIC1FIC1pLmJhayBcCi0gICAgLWUg
InMvXihSZXZpc2lvbjopW1s6c3BhY2U6XV0rW2EtZjAtOV17NDB9L1wxICR7cmV2aXNpb259LyIg
XAorICAgIC1lICJzL14oRGF0ZTopW1s6c3BhY2U6XV0rLiokL1wxICR7dmFsc1swXX0vIiBcCisg
ICAgLWUgInMvXihDb21taXQ6KVtbOnNwYWNlOl1dK1thLWYwLTldezQwfS9cMSAke3ZhbHNbMV19
LyIgXAogICAgICR7QkFTRV9ESVJ9L1JFQURNRS5jaHJvbWl1bQogICBybSAke0JBU0VfRElSfS9S
RUFETUUuY2hyb21pdW0uYmFrCiAgIGNhdCA8PEVPRgogCiBSRUFETUUuY2hyb21pdW0gdXBkYXRl
ZCB3aXRoOgotUmV2aXNpb246ICR7cmV2aXNpb259CitEYXRlOiAke3ZhbHNbMF19CitDb21taXQ6
ICR7dmFsc1sxXX0KIEVPRgogfQogCkBAIC0zOTAsNDEgKzM2NCwyMyBAQCBhbGxfcGxhdGZvcm1z
Kz0iIC0tZW5hYmxlLXJlYWx0aW1lLW9ubHkiCiBhbGxfcGxhdGZvcm1zKz0iIC0tZGlzYWJsZS1p
bnN0YWxsLWRvY3MiCiBhbGxfcGxhdGZvcm1zKz0iIC0tZGlzYWJsZS1saWJ5dXYiCiB4ODZfcGxh
dGZvcm1zPSItLWVuYWJsZS1waWMgLS1hcz15YXNtICRESVNBQkxFX0FWWDUxMiAkSElHSEJEIgot
Z2VuX2NvbmZpZ19maWxlcyBsaW51eC9pYTMyIFwKLSAgIi0tdGFyZ2V0PXg4Ni1saW51eC1nY2Mg
JHthbGxfcGxhdGZvcm1zfSAke3g4Nl9wbGF0Zm9ybXN9IgotZ2VuX2NvbmZpZ19maWxlcyBsaW51
eC94NjQgXAotICAiLS10YXJnZXQ9eDg2XzY0LWxpbnV4LWdjYyAke2FsbF9wbGF0Zm9ybXN9ICR7
eDg2X3BsYXRmb3Jtc30iCi1nZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2FybSBcCi0gICItLXRhcmdl
dD1hcm12Ny1saW51eC1nY2MgLS1kaXNhYmxlLW5lb24gLS1kaXNhYmxlLXJ1bnRpbWUtY3B1LWRl
dGVjdCBcCi0gICR7YWxsX3BsYXRmb3Jtc30iCi1nZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2FybS1u
ZW9uICItLXRhcmdldD1hcm12Ny1saW51eC1nY2MgXAotICAtLWRpc2FibGUtcnVudGltZS1jcHUt
ZGV0ZWN0ICR7YWxsX3BsYXRmb3Jtc30iCi1nZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2FybS1uZW9u
LWNwdS1kZXRlY3QgXAotICAiLS10YXJnZXQ9YXJtdjctbGludXgtZ2NjIC0tZW5hYmxlLXJ1bnRp
bWUtY3B1LWRldGVjdCAke2FsbF9wbGF0Zm9ybXN9IgorZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9p
YTMyICItLXRhcmdldD14ODYtbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30gJHt4ODZfcGxhdGZv
cm1zfSIKK2dlbl9jb25maWdfZmlsZXMgbGludXgveDY0ICItLXRhcmdldD14ODZfNjQtbGludXgt
Z2NjICR7YWxsX3BsYXRmb3Jtc30gJHt4ODZfcGxhdGZvcm1zfSIKK2dlbl9jb25maWdfZmlsZXMg
bGludXgvYXJtICItLXRhcmdldD1hcm12Ny1saW51eC1nY2MgLS1kaXNhYmxlLW5lb24gJHthbGxf
cGxhdGZvcm1zfSIKK2dlbl9jb25maWdfZmlsZXMgbGludXgvYXJtLW5lb24gIi0tdGFyZ2V0PWFy
bXY3LWxpbnV4LWdjYyAke2FsbF9wbGF0Zm9ybXN9IgorZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9h
cm0tbmVvbi1jcHUtZGV0ZWN0ICItLXRhcmdldD1hcm12Ny1saW51eC1nY2MgLS1lbmFibGUtcnVu
dGltZS1jcHUtZGV0ZWN0ICR7YWxsX3BsYXRmb3Jtc30iCiBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4
L2FybTY0ICItLXRhcmdldD1hcm12OC1saW51eC1nY2MgJHthbGxfcGxhdGZvcm1zfSIKLWdlbl9j
b25maWdfZmlsZXMgbGludXgvYXJtLW5lb24taGlnaGJkIFwKLSAgIi0tdGFyZ2V0PWFybXY3LWxp
bnV4LWdjYyAtLWRpc2FibGUtcnVudGltZS1jcHUtZGV0ZWN0IFwKLSAgJHthbGxfcGxhdGZvcm1z
fSAke0hJR0hCRH0iCi1nZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2FybTY0LWhpZ2hiZCBcCi0gICIt
LXRhcmdldD1hcm12OC1saW51eC1nY2MgJHthbGxfcGxhdGZvcm1zfSAke0hJR0hCRH0iCitnZW5f
Y29uZmlnX2ZpbGVzIGxpbnV4L2FybS1uZW9uLWhpZ2hiZCAiLS10YXJnZXQ9YXJtdjctbGludXgt
Z2NjICR7YWxsX3BsYXRmb3Jtc30gJHtISUdIQkR9IgorZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9h
cm02NC1oaWdoYmQgIi0tdGFyZ2V0PWFybXY4LWxpbnV4LWdjYyAke2FsbF9wbGF0Zm9ybXN9ICR7
SElHSEJEfSIKIGdlbl9jb25maWdfZmlsZXMgbGludXgvbWlwc2VsICItLXRhcmdldD1taXBzMzIt
bGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30iCiBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L21pcHM2
NGVsICItLXRhcmdldD1taXBzNjQtbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30iCi1nZW5fY29u
ZmlnX2ZpbGVzIGxpbnV4L2xvb25nYXJjaCBcCi0gICItLXRhcmdldD1sb29uZ2FyY2g2NC1saW51
eC1nY2MgJHthbGxfcGxhdGZvcm1zfSIKLWdlbl9jb25maWdfZmlsZXMgbGludXgvcHBjNjQgIi0t
dGFyZ2V0PXBwYzY0bGUtbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30iCiBnZW5fY29uZmlnX2Zp
bGVzIGxpbnV4L2dlbmVyaWMgIi0tdGFyZ2V0PWdlbmVyaWMtZ251ICRISUdIQkQgJHthbGxfcGxh
dGZvcm1zfSIKLWdlbl9jb25maWdfZmlsZXMgd2luL2FybTY0LWhpZ2hiZCBcCi0gICItLXRhcmdl
dD1hcm02NC13aW42NC12czE1ICR7YWxsX3BsYXRmb3Jtc30gJHtISUdIQkR9IgotZ2VuX2NvbmZp
Z19maWxlcyB3aW4vaWEzMiBcCi0gICItLXRhcmdldD14ODYtd2luMzItdnMxNCAke2FsbF9wbGF0
Zm9ybXN9ICR7eDg2X3BsYXRmb3Jtc30iCi1nZW5fY29uZmlnX2ZpbGVzIHdpbi94NjQgXAotICAi
LS10YXJnZXQ9eDg2XzY0LXdpbjY0LXZzMTQgJHthbGxfcGxhdGZvcm1zfSAke3g4Nl9wbGF0Zm9y
bXN9IgotZ2VuX2NvbmZpZ19maWxlcyBtYWMvaWEzMiBcCi0gICItLXRhcmdldD14ODYtZGFyd2lu
OS1nY2MgJHthbGxfcGxhdGZvcm1zfSAke3g4Nl9wbGF0Zm9ybXN9IgotZ2VuX2NvbmZpZ19maWxl
cyBtYWMveDY0IFwKLSAgIi0tdGFyZ2V0PXg4Nl82NC1kYXJ3aW45LWdjYyAke2FsbF9wbGF0Zm9y
bXN9ICR7eDg2X3BsYXRmb3Jtc30iCi1nZW5fY29uZmlnX2ZpbGVzIGlvcy9hcm0tbmVvbiAiLS10
YXJnZXQ9YXJtdjctbGludXgtZ2NjIFwKLSAgLS1kaXNhYmxlLXJ1bnRpbWUtY3B1LWRldGVjdCAk
e2FsbF9wbGF0Zm9ybXN9IgorZ2VuX2NvbmZpZ19maWxlcyB3aW4vYXJtNjQgIi0tdGFyZ2V0PWFy
bTY0LXdpbjY0LXZzMTUgJHthbGxfcGxhdGZvcm1zfSAke0hJR0hCRH0iCitnZW5fY29uZmlnX2Zp
bGVzIHdpbi9pYTMyICItLXRhcmdldD14ODYtd2luMzItdnMxNCAke2FsbF9wbGF0Zm9ybXN9ICR7
eDg2X3BsYXRmb3Jtc30iCitnZW5fY29uZmlnX2ZpbGVzIHdpbi94NjQgIi0tdGFyZ2V0PXg4Nl82
NC13aW42NC12czE0ICR7YWxsX3BsYXRmb3Jtc30gJHt4ODZfcGxhdGZvcm1zfSIKK2dlbl9jb25m
aWdfZmlsZXMgbWFjL2lhMzIgIi0tdGFyZ2V0PXg4Ni1kYXJ3aW45LWdjYyAke2FsbF9wbGF0Zm9y
bXN9ICR7eDg2X3BsYXRmb3Jtc30iCitnZW5fY29uZmlnX2ZpbGVzIG1hYy94NjQgIi0tdGFyZ2V0
PXg4Nl82NC1kYXJ3aW45LWdjYyAke2FsbF9wbGF0Zm9ybXN9ICR7eDg2X3BsYXRmb3Jtc30iCitn
ZW5fY29uZmlnX2ZpbGVzIGlvcy9hcm0tbmVvbiAiLS10YXJnZXQ9YXJtdjctbGludXgtZ2NjICR7
YWxsX3BsYXRmb3Jtc30iCiBnZW5fY29uZmlnX2ZpbGVzIGlvcy9hcm02NCAiLS10YXJnZXQ9YXJt
djgtbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30iCiBnZW5fY29uZmlnX2ZpbGVzIG5hY2wgIi0t
dGFyZ2V0PWdlbmVyaWMtZ251ICRISUdIQkQgJHthbGxfcGxhdGZvcm1zfSIKIApAQCAtNDQzLDEw
ICszOTksOCBAQCBsaW50X2NvbmZpZyBsaW51eC9hcm0tbmVvbi1oaWdoYmQKIGxpbnRfY29uZmln
IGxpbnV4L2FybTY0LWhpZ2hiZAogbGludF9jb25maWcgbGludXgvbWlwc2VsCiBsaW50X2NvbmZp
ZyBsaW51eC9taXBzNjRlbAotbGludF9jb25maWcgbGludXgvbG9vbmdhcmNoCi1saW50X2NvbmZp
ZyBsaW51eC9wcGM2NAogbGludF9jb25maWcgbGludXgvZ2VuZXJpYwotbGludF9jb25maWcgd2lu
L2FybTY0LWhpZ2hiZAorbGludF9jb25maWcgd2luL2FybTY0CiBsaW50X2NvbmZpZyB3aW4vaWEz
MgogbGludF9jb25maWcgd2luL3g2NAogbGludF9jb25maWcgbWFjL2lhMzIKQEAgLTQ2MywzNSAr
NDE3LDMyIEBAIGNkICRURU1QX0RJUgogCiAjIGNocm9taXVtIGhhcyByZXF1aXJlZCBzc2UyIGZv
ciB4ODYgc2luY2UgMjAxNAogcmVxdWlyZV9zc2UyPSItLXJlcXVpcmUtbW14IC0tcmVxdWlyZS1z
c2UgLS1yZXF1aXJlLXNzZTIiCi1yZXF1aXJlX25lb249Ii0tcmVxdWlyZS1uZW9uIgogCiBnZW5f
cnRjZF9oZWFkZXIgbGludXgvaWEzMiB4ODYgIiR7cmVxdWlyZV9zc2UyfSIKIGdlbl9ydGNkX2hl
YWRlciBsaW51eC94NjQgeDg2XzY0CiBnZW5fcnRjZF9oZWFkZXIgbGludXgvYXJtIGFybXY3ICIt
LWRpc2FibGUtbmVvbiAtLWRpc2FibGUtbmVvbl9hc20iCi1nZW5fcnRjZF9oZWFkZXIgbGludXgv
YXJtLW5lb24gYXJtdjcgIiR7cmVxdWlyZV9uZW9ufSIKK2dlbl9ydGNkX2hlYWRlciBsaW51eC9h
cm0tbmVvbiBhcm12NwogZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L2FybS1uZW9uLWNwdS1kZXRlY3Qg
YXJtdjcKLWdlbl9ydGNkX2hlYWRlciBsaW51eC9hcm02NCBhcm12OCAiJHtyZXF1aXJlX25lb259
IgotZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L2FybS1uZW9uLWhpZ2hiZCBhcm12NyAiJHtyZXF1aXJl
X25lb259IgotZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L2FybTY0LWhpZ2hiZCBhcm12OCAiJHtyZXF1
aXJlX25lb259IgorZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L2FybTY0IGFybXY4CitnZW5fcnRjZF9o
ZWFkZXIgbGludXgvYXJtLW5lb24taGlnaGJkIGFybXY3CitnZW5fcnRjZF9oZWFkZXIgbGludXgv
YXJtNjQtaGlnaGJkIGFybXY4CiBnZW5fcnRjZF9oZWFkZXIgbGludXgvbWlwc2VsIG1pcHNlbAog
Z2VuX3J0Y2RfaGVhZGVyIGxpbnV4L21pcHM2NGVsIG1pcHM2NGVsCi1nZW5fcnRjZF9oZWFkZXIg
bGludXgvbG9vbmdhcmNoIGxvb25nYXJjaAotZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L3BwYzY0IHBw
YwogZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L2dlbmVyaWMgZ2VuZXJpYwotZ2VuX3J0Y2RfaGVhZGVy
IHdpbi9hcm02NC1oaWdoYmQgYXJtdjggIiR7cmVxdWlyZV9uZW9ufSIKK2dlbl9ydGNkX2hlYWRl
ciB3aW4vYXJtNjQgYXJtdjgKIGdlbl9ydGNkX2hlYWRlciB3aW4vaWEzMiB4ODYgIiR7cmVxdWly
ZV9zc2UyfSIKIGdlbl9ydGNkX2hlYWRlciB3aW4veDY0IHg4Nl82NAogZ2VuX3J0Y2RfaGVhZGVy
IG1hYy9pYTMyIHg4NiAiJHtyZXF1aXJlX3NzZTJ9IgogZ2VuX3J0Y2RfaGVhZGVyIG1hYy94NjQg
eDg2XzY0Ci1nZW5fcnRjZF9oZWFkZXIgaW9zL2FybS1uZW9uIGFybXY3ICIke3JlcXVpcmVfbmVv
bn0iCi1nZW5fcnRjZF9oZWFkZXIgaW9zL2FybTY0IGFybXY4ICIke3JlcXVpcmVfbmVvbn0iCitn
ZW5fcnRjZF9oZWFkZXIgaW9zL2FybS1uZW9uIGFybXY3CitnZW5fcnRjZF9oZWFkZXIgaW9zL2Fy
bTY0IGFybXY4CiBnZW5fcnRjZF9oZWFkZXIgbmFjbCBuYWNsCiAKIGVjaG8gIlByZXBhcmUgTWFr
ZWZpbGUuIgogLi9jb25maWd1cmUgLS10YXJnZXQ9Z2VuZXJpYy1nbnUgPiAvZGV2L251bGwKIG1h
a2VfY2xlYW4KIAotaWYgW1sgLXogJE9OTFlfQ09ORklHUyBdXTsgdGhlbgoraWYgWyAteiAkT05M
WV9DT05GSUdTIF07IHRoZW4KICAgIyBSZW1vdmUgZXhpc3RpbmcgLmduaSBmaWxlLgogICBybSAt
cmYgJEJBU0VfRElSL2xpYnZweF9zcmNzLmduaQogICB3cml0ZV9saWNlbnNlICRCQVNFX0RJUi9s
aWJ2cHhfc3Jjcy5nbmkKQEAgLTU1Miw4ICs1MDMsNyBAQCBpZiBbWyAteiAkT05MWV9DT05GSUdT
IF1dOyB0aGVuCiAgIG1ha2UgbGlidnB4X3NyY3MudHh0IHRhcmdldD1saWJzICRjb25maWcgPiAv
ZGV2L251bGwKICAgY29udmVydF9zcmNzX3RvX3Byb2plY3RfZmlsZXMgbGlidnB4X3NyY3MudHh0
IGxpYnZweF9zcmNzX2FybTY0X2hpZ2hiZAogCi0gIGVjaG8gIkFSTTY0IFdpbmRvd3MgYW5kIE1h
YyB1c2UgdGhlIEFSTTY0IExpbnV4IEhpZ2hCRCBzb3VyY2UgbGlzdC4iIFwKLSAgICAgICAiTm8g
bmVlZCB0byBnZW5lcmF0ZSBpdC4iCisgIGVjaG8gIkFSTTY0IFdpbmRvd3MgYW5kIE1hYyB1c2Ug
dGhlIEFSTTY0IExpbnV4IEhpZ2hCRCBzb3VyY2UgbGlzdC4gTm8gbmVlZCB0byBnZW5lcmF0ZSBp
dC4iCiAKICAgZWNobyAiR2VuZXJhdGUgTUlQUyBzb3VyY2UgbGlzdC4iCiAgIGNvbmZpZz0kKHBy
aW50X2NvbmZpZ19iYXNpYyBsaW51eC9taXBzZWwpCkBAIC01NjEsMjEgKzUxMSw3IEBAIGlmIFtb
IC16ICRPTkxZX0NPTkZJR1MgXV07IHRoZW4KICAgbWFrZSBsaWJ2cHhfc3Jjcy50eHQgdGFyZ2V0
PWxpYnMgJGNvbmZpZyA+IC9kZXYvbnVsbAogICBjb252ZXJ0X3NyY3NfdG9fcHJvamVjdF9maWxl
cyBsaWJ2cHhfc3Jjcy50eHQgbGlidnB4X3NyY3NfbWlwcwogCi0gIGVjaG8gIk1JUFM2NCBzb3Vy
Y2UgbGlzdCBpcyBpZGVudGljYWwgdG8gTUlQUyBzb3VyY2UgbGlzdC4iIFwKLSAgICAgICAiTm8g
bmVlZCB0byBnZW5lcmF0ZSBpdC4iCi0KLSAgZWNobyAiR2VuZXJhdGUgTE9PTkdBUkNIIHNvdXJj
ZSBsaXN0LiIKLSAgY29uZmlnPSQocHJpbnRfY29uZmlnX2Jhc2ljIGxpbnV4L2xvb25nYXJjaCkK
LSAgbWFrZV9jbGVhbgotICBtYWtlIGxpYnZweF9zcmNzLnR4dCB0YXJnZXQ9bGlicyAkY29uZmln
ID4gL2Rldi9udWxsCi0gIGNvbnZlcnRfc3Jjc190b19wcm9qZWN0X2ZpbGVzIGxpYnZweF9zcmNz
LnR4dCBsaWJ2cHhfc3Jjc19sb29uZ2FyY2gKLQotICBlY2hvICJHZW5lcmF0ZSBwcGM2NCBzb3Vy
Y2UgbGlzdC4iCi0gIGNvbmZpZz0kKHByaW50X2NvbmZpZ19iYXNpYyBsaW51eC9wcGM2NCkKLSAg
bWFrZV9jbGVhbgotICBtYWtlIGxpYnZweF9zcmNzLnR4dCB0YXJnZXQ9bGlicyAkY29uZmlnID4g
L2Rldi9udWxsCi0gIGNvbnZlcnRfc3Jjc190b19wcm9qZWN0X2ZpbGVzIGxpYnZweF9zcmNzLnR4
dCBsaWJ2cHhfc3Jjc19wcGM2NAotCisgIGVjaG8gIk1JUFM2NCBzb3VyY2UgbGlzdCBpcyBpZGVu
dGljYWwgdG8gTUlQUyBzb3VyY2UgbGlzdC4gTm8gbmVlZCB0byBnZW5lcmF0ZSBpdC4iCiAKICAg
ZWNobyAiR2VuZXJhdGUgTmFDbCBzb3VyY2UgbGlzdC4iCiAgIGNvbmZpZz0kKHByaW50X2NvbmZp
Z19iYXNpYyBuYWNsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvbGlidnB4X3NyY3MuZ25pIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvbGlidnB4X3NyY3MuZ25pCmlu
ZGV4IGNlYjhiNTMxNmYzNS4uYjE2NWIwZjdjOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9saWJ2cHhfc3Jjcy5nbmkK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvbGlidnB4X3NyY3MuZ25pCkBAIC0xMjEsNyArMTIxLDYgQEAgbGlidnB4X3NyY3NfeDg2ID0g
WwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
c3ViZXhwLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci92cDlfc3ZjX2xheWVyY29udGV4dC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmMiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHJlZXdy
aXRlci5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9j
eF9pZmFjZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3Zw
OV9keF9pZmFjZS5jIiwKQEAgLTEzMCw3ICsxMjksNiBAQCBsaWJ2cHhfc3Jjc194ODYgPSBbCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2RlY29kZXIu
YyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2Vu
Y29kZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMv
dnB4X2ltYWdlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgv
c3JjL3ZweF90cGwuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYWRkX25vaXNlLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2F2Zy5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9iaXRyZWFkZXIuYyIsCkBAIC0yNzMsNyArMjcxLDYgQEAgbGlidnB4X3NyY3NfeDg2
X2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV9leHRfcmF0ZWN0cmwuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9leHRlbmQuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3MuaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3Nf
c3RhdHMuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9qb2JfcXVldWUuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9sb29rYWhlYWQuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tYmdyYXBoLmgiLApAQCAtMjk1LDEzICsy
OTIsMTEgQEAgbGlidnB4X3NyY3NfeDg2X2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdmNfbGF5ZXJjb250ZXh0LmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdGVt
cG9yYWxfZmlsdGVyLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvZW5jb2Rlci92cDlfdG9rZW5pemUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90cGxfbW9kZWwuaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90cmVld3JpdGVyLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2N4X2lmYWNlLmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2R4X2lmYWNlLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2lmYWNlX2Nv
bW1vbi5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L2ludGVy
bmFsL3ZweF9jb2RlY19pbnRlcm5hbC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L2ludGVybmFsL3ZweF9yYXRlY3RybF9ydGMuaCIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDguaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhjeC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOGR4LmgiLApAQCAtMzEyLDcgKzMwNyw2IEBAIGxpYnZweF9z
cmNzX3g4Nl9oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHgvdnB4X2ZyYW1lX2J1ZmZlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3ZweF9pbWFnZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3ZweF9pbnRlZ2VyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvdnB4X3RwbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9iaXRyZWFkZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyX2J1ZmZlci5oIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXIuaCIsCkBAIC0zNTQsNyAr
MzQ4LDYgQEAgbGlidnB4X3NyY3NfeDg2X2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9iaXRvcHMuaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9jb21waWxlcl9hdHRyaWJ1dGVzLmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvZW1taW50cmlu
X2NvbXBhdC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3Bv
cnRzL2xvb25nYXJjaC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL21lbS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL21lbV9vcHMuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9wb3J0cy9tZW1fb3BzX2FsaWduZWQuaCIsCkBAIC00MDUsNiArMzk4LDkgQEAgbGli
dnB4X3NyY3NfeDg2X2Fzc2VtYmx5ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3g4Ni9pbnZfd2h0X3NzZTIuYXNtIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkNGRfc3NlMi5hc20iLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9zYWRfc3NlMi5hc20i
LAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9zYWRf
c3NlMy5hc20iLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3g4Ni9zYWRfc3NlNC5hc20iLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWRfc3NzZTMuYXNtIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc3VicGVsX3ZhcmlhbmNlX3NzZTIuYXNtIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc3VidHJhY3Rfc3Nl
Mi5hc20iLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4
Ni92cHhfY29udm9sdmVfY29weV9zc2UyLmFzbSIsCkBAIC00NTMsNyArNDQ5LDYgQEAgbGlidnB4
X3NyY3NfeDg2X3NzZTMgPSBbXQogbGlidnB4X3NyY3NfeDg2X3Nzc2UzID0gWwogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci94ODYvdnA4X3F1YW50aXpl
X3Nzc2UzLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci94ODYvdnA5X2ZyYW1lX3NjYWxlX3Nzc2UzLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX3Nzc2UzLmMiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRf
aW50cmFwcmVkX2ludHJpbl9zc3NlMy5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC94ODYvaW52X3R4Zm1fc3NzZTMuYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3F1YW50aXplX3Nzc2UzLmMiLApAQCAt
NDY5LDIzICs0NjQsMTkgQEAgbGlidnB4X3NyY3NfeDg2X3NzZTRfMSA9IFsKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJkX2lkY3Q0eDRfYWRk
X3NzZTQuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L2hpZ2hiZF9pZGN0OHg4X2FkZF9zc2U0LmMiLAogXQotbGlidnB4X3NyY3NfeDg2X2F2eCA9
Ci0gICAgWyAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9x
dWFudGl6ZV9hdnguYyIgXQorbGlidnB4X3NyY3NfeDg2X2F2eCA9IFsKKyAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9kaWFtb25kX3NlYXJj
aF9zYWRfYXZ4LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3g4Ni9xdWFudGl6ZV9hdnguYyIsCitdCiBsaWJ2cHhfc3Jjc194ODZfYXZ4MiA9IFsKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9l
cnJvcl9hdngyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX2F2eDIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2F2Z19pbnRyaW5fYXZ4Mi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX3ByZWRfYXZ4Mi5j
IiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvZndk
X3R4Zm1fYXZ4Mi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC94ODYvaGlnaGJkX2NvbnZvbHZlX2F2eDIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9xdWFudGl6ZV9pbnRyaW5fYXZ4Mi5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGln
aGJkX3NhZDRkX2F2eDIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L2hpZ2hiZF9zYWRfYXZ4Mi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaW52X3R4Zm1fYXZ4Mi5jIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvbG9vcGZpbHRlcl9hdngyLmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFu
dGl6ZV9hdngyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3g4Ni9zYWQ0ZF9hdngyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3g4Ni9zYWRfYXZ4Mi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc3VidHJhY3RfYXZ4Mi5jIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdmFyaWFuY2VfYXZ4Mi5jIiwKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdnB4X3N1YnBp
eGVsXzh0X2ludHJpbl9hdngyLmMiLAogXQpAQCAtNjExLDcgKzYwMiw2IEBAIGxpYnZweF9zcmNz
X3g4Nl82NCA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X3N1YmV4cC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6ZS5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2Rl
bC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X3RyZWV3cml0ZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS92cDlfY3hfaWZhY2UuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS92cDlfZHhfaWZhY2UuYyIsCkBAIC02MjAsNyArNjEwLDYgQEAgbGlidnB4X3NyY3Nf
eDg2XzY0ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3Jj
L3ZweF9kZWNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHgvc3JjL3ZweF9lbmNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHgvc3JjL3ZweF9pbWFnZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3NyYy92cHhfdHBsLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FkZF9ub2lzZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLApAQCAtNzYzLDcgKzc1Miw2IEBAIGxp
YnZweF9zcmNzX3g4Nl82NF9oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0X3JhdGVjdHJsLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0ZW5kLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3Rw
YXNzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfZmlyc3RwYXNzX3N0YXRzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZW5jb2Rlci92cDlfam9iX3F1ZXVlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbG9va2FoZWFkLmgiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbWJncmFwaC5o
IiwKQEAgLTc4NSwxMyArNzczLDExIEBAIGxpYnZweF9zcmNzX3g4Nl82NF9oZWFkZXJzID0gWwog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3Zj
X2xheWVyY29udGV4dC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X3RlbXBvcmFsX2ZpbHRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
dHJlZXdyaXRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L3ZwOV9jeF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L3ZwOV9keF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L3ZwOV9pZmFjZV9jb21tb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfY29kZWNfaW50ZXJuYWwuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRj
LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4LmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4Y3guaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oIiwKQEAgLTgwMiw3
ICs3ODgsNiBAQCBsaWJ2cHhfc3Jjc194ODZfNjRfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9mcmFtZV9idWZmZXIuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW1hZ2UuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW50ZWdlci5oIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF90cGwuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZm
ZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0
d3JpdGVyLmgiLApAQCAtODQ0LDcgKzgyOSw2IEBAIGxpYnZweF9zcmNzX3g4Nl82NF9oZWFkZXJz
ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvYml0
b3BzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMv
Y29tcGlsZXJfYXR0cmlidXRlcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X3BvcnRzL2VtbWludHJpbl9jb21wYXQuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29uZ2FyY2guaCIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW0uaCIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW1fb3BzLmgiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtX29wc19hbGlnbmVkLmgi
LApAQCAtODg0LDYgKzg2OCw3IEBAIGxpYnZweF9zcmNzX3g4Nl82NF9hc3NlbWJseSA9IFsKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi94ODYvdnA5X21m
cWVfc3NlMi5hc20iLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci94ODYvdnA5X2RjdF9zc2UyLmFzbSIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni92cDlfZXJyb3Jfc3NlMi5hc20iLAorICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X3F1YW50
aXplX3Nzc2UzX3g4Nl82NC5hc20iLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3g4Ni9hZGRfbm9pc2Vfc3NlMi5hc20iLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9hdmdfc3NzZTNfeDg2XzY0LmFzbSIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2RlYmxvY2tf
c3NlMi5hc20iLApAQCAtODk4LDYgKzg4Myw5IEBAIGxpYnZweF9zcmNzX3g4Nl82NF9hc3NlbWJs
eSA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYv
aW52X3dodF9zc2UyLmFzbSIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L3NhZDRkX3NzZTIuYXNtIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3NzZTIuYXNtIiwKKyAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3NzZTMuYXNtIiwKKyAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3NzZTQuYXNtIiwK
KyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3Nz
c2UzLmFzbSIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L3NzaW1fb3B0X3g4Nl82NC5hc20iLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3g4Ni9zdWJwZWxfdmFyaWFuY2Vfc3NlMi5hc20iLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9zdWJ0cmFjdF9zc2UyLmFz
bSIsCkBAIC05NDcsNyArOTM1LDYgQEAgbGlidnB4X3NyY3NfeDg2XzY0X3NzZTMgPSBbXQogbGli
dnB4X3NyY3NfeDg2XzY0X3Nzc2UzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvZW5jb2Rlci94ODYvdnA4X3F1YW50aXplX3Nzc2UzLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X2ZyYW1lX3Nj
YWxlX3Nzc2UzLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX3Nzc2UzLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfaW50cmFwcmVkX2ludHJpbl9zc3Nl
My5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYv
aW52X3R4Zm1fc3NzZTMuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L3F1YW50aXplX3Nzc2UzLmMiLApAQCAtOTYzLDIzICs5NTAsMTkgQEAgbGli
dnB4X3NyY3NfeDg2XzY0X3NzZTRfMSA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJkX2lkY3Q0eDRfYWRkX3NzZTQuYyIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9pZGN0OHg4
X2FkZF9zc2U0LmMiLAogXQotbGlidnB4X3NyY3NfeDg2XzY0X2F2eCA9Ci0gICAgWyAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9hdnguYyIg
XQorbGlidnB4X3NyY3NfeDg2XzY0X2F2eCA9IFsKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYXZ4LmMi
LAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFu
dGl6ZV9hdnguYyIsCitdCiBsaWJ2cHhfc3Jjc194ODZfNjRfYXZ4MiA9IFsKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9lcnJvcl9hdngy
LmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94
ODYvdnA5X3F1YW50aXplX2F2eDIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AveDg2L2F2Z19pbnRyaW5fYXZ4Mi5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX3ByZWRfYXZ4Mi5jIiwKKyAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvZndkX3R4Zm1fYXZ4
Mi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYv
aGlnaGJkX2NvbnZvbHZlX2F2eDIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9xdWFudGl6ZV9pbnRyaW5fYXZ4Mi5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJkX3NhZDRk
X2F2eDIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L2hpZ2hiZF9zYWRfYXZ4Mi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC94ODYvaW52X3R4Zm1fYXZ4Mi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvbG9vcGZpbHRlcl9hdngyLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9hdngy
LmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9z
YWQ0ZF9hdngyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3g4Ni9zYWRfYXZ4Mi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC94ODYvc3VidHJhY3RfYXZ4Mi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdmFyaWFuY2VfYXZ4Mi5jIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdnB4X3N1YnBpeGVsXzh0X2lu
dHJpbl9hdngyLmMiLAogXQpAQCAtMTEwMyw3ICsxMDg2LDYgQEAgbGlidnB4X3NyY3NfYXJtID0g
WwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
c3ViZXhwLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci92cDlfc3ZjX2xheWVyY29udGV4dC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmMiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHJlZXdy
aXRlci5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9j
eF9pZmFjZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3Zw
OV9keF9pZmFjZS5jIiwKQEAgLTExMTIsNyArMTA5NCw2IEBAIGxpYnZweF9zcmNzX2FybSA9IFsK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92cHhfZGVjb2Rl
ci5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92cHhf
ZW5jb2Rlci5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3Ny
Yy92cHhfaW1hZ2UuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eC9zcmMvdnB4X3RwbC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hZGRfbm9pc2UuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXZnLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2JpdHJlYWRlci5jIiwKQEAgLTExMzUsNyArMTExNiw3IEBAIGxpYnZweF9zcmNz
X2FybSA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92
cHhfY29udm9sdmUuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvdnB4X2RzcF9ydGNkLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfbWVtL3ZweF9tZW0uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9wb3J0cy9hYXJjaDMyX2NwdWRldGVjdC5jIiwKKyAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2FybV9jcHVkZXRlY3QuYyIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS9nZW5lcmljL2dlbl9zY2Fs
ZXJzLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUv
Z2VuZXJpYy92cHhfc2NhbGUuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9zY2FsZS9nZW5lcmljL3l2MTJjb25maWcuYyIsCkBAIC0xMjU2LDcgKzEyMzcsNiBA
QCBsaWJ2cHhfc3Jjc19hcm1faGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dF9yYXRlY3RybC5oIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dGVuZC5oIiwKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2ZpcnN0
cGFzcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvdnA5X2ZpcnN0cGFzc19zdGF0cy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2pvYl9xdWV1ZS5oIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2xvb2thaGVhZC5oIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X21iZ3JhcGgu
aCIsCkBAIC0xMjc4LDEzICsxMjU4LDExIEBAIGxpYnZweF9zcmNzX2FybV9oZWFkZXJzID0gWwog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3Zj
X2xheWVyY29udGV4dC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X3RlbXBvcmFsX2ZpbHRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
dHJlZXdyaXRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L3ZwOV9jeF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L3ZwOV9keF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L3ZwOV9pZmFjZV9jb21tb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfY29kZWNfaW50ZXJuYWwuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRj
LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4LmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4Y3guaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oIiwKQEAgLTEyOTUs
NyArMTI3Myw2IEBAIGxpYnZweF9zcmNzX2FybV9oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X2ZyYW1lX2J1ZmZlci5oIiwKICAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9pbWFnZS5oIiwKICAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9pbnRlZ2VyLmgiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X3RwbC5oIiwKICAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXRyZWFkZXIuaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyX2J1ZmZl
ci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXR3
cml0ZXIuaCIsCkBAIC0xMzE1LDExICsxMjkyLDkgQEAgbGlidnB4X3NyY3NfYXJtX2hlYWRlcnMg
PSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9tZW0vaW5jbHVk
ZS92cHhfbWVtX2ludHJubC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X21lbS92cHhfbWVtLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfcG9ydHMvYXJtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfcG9ydHMvYXJtX2NwdWRldGVjdC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2JpdG9wcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2NvbXBpbGVyX2F0dHJpYnV0ZXMuaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9lbW1pbnRyaW5fY29t
cGF0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMv
bG9vbmdhcmNoLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
cG9ydHMvbWVtLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
cG9ydHMvbWVtX29wcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL21lbV9vcHNfYWxpZ25lZC5oIiwKQEAgLTEzNDIsNiArMTMxNywxOSBAQCBsaWJ2
cHhfc3Jjc19hcm1fYXNzZW1ibHkgPSBbXQogbGlidnB4X3NyY3NfYXJtX25lb24gPSBbCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYWxsb2Njb21tb24u
YyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJt
L2xvb3BmaWx0ZXJfYXJtLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDgvY29tbW9uL2FybS9uZW9uL2JpbGluZWFycHJlZGljdF9uZW9uLmMiLAorICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2NvcHltZW1f
bmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1v
bi9hcm0vbmVvbi9kY19vbmx5X2lkY3RfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vZGVxdWFudF9pZGN0X25lb24u
YyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJt
L25lb24vZGVxdWFudGl6ZWJfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9pZGN0X2Jsa19uZW9uLmMiLAorICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2l3YWxzaF9u
ZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9u
L2FybS9uZW9uL2xvb3BmaWx0ZXJzaW1wbGVob3Jpem9udGFsZWRnZV9uZW9uLmMiLAorICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2xvb3Bm
aWx0ZXJzaW1wbGV2ZXJ0aWNhbGVkZ2VfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9tYmxvb3BmaWx0ZXJfbmVvbi5jIiwK
KyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVv
bi9zaG9ydGlkY3Q0eDRsbG1fbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9zaXh0YXBwcmVkaWN0X25lb24uYyIsCisgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vdnA4
X2xvb3BmaWx0ZXJfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9ibG9ja2QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vZGVxdWFudGl6ZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9lbnRyb3B5LmMiLApAQCAtMTM3NCw2ICsxMzYyLDEw
IEBAIGxpYnZweF9zcmNzX2FybV9uZW9uID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZGVjb2Rlci9kZXRva2VuaXplLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci9vbnl4ZF9pZi5jIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvdGhyZWFkaW5nLmMiLAorICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0vbmVvbi9k
ZW5vaXNpbmdfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2VuY29kZXIvYXJtL25lb24vZmFzdHF1YW50aXplYl9uZW9uLmMiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0vbmVvbi9zaG9ydGZkY3Rf
bmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvYXJtL25lb24vdnA4X3Nob3J0d2Fsc2g0eDRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYml0c3RyZWFtLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9ib29saHVmZi5jIiwKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvY29weV9jLmMi
LApAQCAtMTM5OSw2ICsxMzkxLDkgQEAgbGlidnB4X3NyY3NfYXJtX25lb24gPSBbCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3ZwOF9xdWFudGl6ZS5j
IiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9jeF9pZmFj
ZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9keF9p
ZmFjZS5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1v
bi9hcm0vbmVvbi92cDlfaWh0MTZ4MTZfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2lodDR4NF9hZGRfbmVv
bi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9h
cm0vbmVvbi92cDlfaWh0OHg4X2FkZF9uZW9uLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9hbGxvY2NvbW1vbi5jIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYmxvY2tkLmMiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9jb21tb25f
ZGF0YS5jIiwKQEAgLTE0MjgsNiArMTQyMywxMCBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbiA9IFsK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2Rl
dG9rZW5pemUuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9k
ZWNvZGVyL3ZwOV9kc3ViZXhwLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZGVjb2Rlci92cDlfam9iX3F1ZXVlLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZGVub2lzZXJfbmVvbi5j
IiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJt
L25lb24vdnA5X2Vycm9yX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9mcmFtZV9zY2FsZV9uZW9uLmMiLAorICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92
cDlfcXVhbnRpemVfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X2FxX2N5Y2xpY3JlZnJlc2guYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9iaXRzdHJlYW0uYyIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9jb250ZXh0
X3RyZWUuYyIsCkBAIC0xNDU5LDcgKzE0NTgsNiBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbiA9IFsK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N1
YmV4cC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6ZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5jIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0
ZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hf
aWZhY2UuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlf
ZHhfaWZhY2UuYyIsCkBAIC0xNDY4LDggKzE0NjYsMzUgQEAgbGlidnB4X3NyY3NfYXJtX25lb24g
PSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2Rl
Y29kZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMv
dnB4X2VuY29kZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eC9zcmMvdnB4X2ltYWdlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHgvc3JjL3ZweF90cGwuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYWRkX25vaXNlLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9hdmdfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vYXZnX3ByZWRfbmVvbi5jIiwKKyAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZGVibG9ja19uZW9uLmMiLAor
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0MTZ4
MTZfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vZmRjdDMyeDMyX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvYXJtL2ZkY3RfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdF9wYXJ0aWFsX25lb24uYyIsCisgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2Z3ZF90eGZtX25lb24u
YyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hh
ZGFtYXJkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2lkY3QxNngxNl8xX2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MTZ4MTZfYWRkX25lb24uYyIsCisgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3QzMngzMl8x
MzVfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2lkY3QzMngzMl8xX2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MzJ4MzJfMzRfYWRkX25lb24uYyIsCisg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3QzMngz
Ml9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vaWRjdDh4OF8xX2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0OHg4X2FkZF9uZW9uLmMiLAorICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pbnRyYXByZWRfbmVvbi5j
IiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vcXVh
bnRpemVfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vc2FkNGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vc2FkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1YnBlbF92YXJpYW5jZV9uZW9uLmMiLAorICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdWJ0cmFjdF9uZW9u
LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9z
dW1fc3F1YXJlc19uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS92YXJpYW5jZV9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb25fYXNtLmMiLAorICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9s
dmVfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vdnB4X3NjYWxlZF9jb252b2x2ZThfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZmZXIuYyIsCkBAIC0xNDkx
LDcgKzE1MTYsNyBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbiA9IFsKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfY29udm9sdmUuYyIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2RzcF9ydGNkLmMiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfbWVtL3ZweF9tZW0uYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hYXJjaDMyX2Nw
dWRldGVjdC5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3Bv
cnRzL2FybV9jcHVkZXRlY3QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9zY2FsZS9nZW5lcmljL2dlbl9zY2FsZXJzLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy92cHhfc2NhbGUuYyIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS9nZW5lcmljL3l2MTJj
b25maWcuYyIsCkBAIC0xNjE0LDcgKzE2MzksNiBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9oZWFk
ZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfZXh0X3JhdGVjdHJsLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfZXh0ZW5kLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzLmgiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzX3N0YXRz
LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfam9iX3F1ZXVlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvZW5jb2Rlci92cDlfbG9va2FoZWFkLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbWJncmFwaC5oIiwKQEAgLTE2MzYsMTMgKzE2NjAs
MTEgQEAgbGlidnB4X3NyY3NfYXJtX25lb25faGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCIs
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90
ZW1wb3JhbF9maWx0ZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5oIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuaCIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuaCIs
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2Uu
aCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2Vf
Y29tbW9uLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50
ZXJuYWwvdnB4X2NvZGVjX2ludGVybmFsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvaW50ZXJuYWwvdnB4X3JhdGVjdHJsX3J0Yy5oIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOC5oIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOGN4LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHgvdnA4ZHguaCIsCkBAIC0xNjUzLDcgKzE2NzUsNiBAQCBsaWJ2
cHhfc3Jjc19hcm1fbmVvbl9oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvdnB4X2ZyYW1lX2J1ZmZlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9pbWFnZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9pbnRlZ2VyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X3RwbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdF9uZW9uLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9tZW1fbmVvbi5oIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX25lb24uaCIs
CkBAIC0xNjc5LDExICsxNzAwLDkgQEAgbGlidnB4X3NyY3NfYXJtX25lb25faGVhZGVycyA9IFsK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X21lbS9pbmNsdWRlL3Zw
eF9tZW1faW50cm5sLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfbWVtL3ZweF9tZW0uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9wb3J0cy9hcm0uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9wb3J0cy9hcm1fY3B1ZGV0ZWN0LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfcG9ydHMvYml0b3BzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfcG9ydHMvY29tcGlsZXJfYXR0cmlidXRlcy5oIiwKICAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2VtbWludHJpbl9jb21wYXQu
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29u
Z2FyY2guaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0
cy9tZW0uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0
cy9tZW1fb3BzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
cG9ydHMvbWVtX29wc19hbGlnbmVkLmgiLApAQCAtMTcyMiw2MiArMTc0MSw2IEBAIGxpYnZweF9z
cmNzX2FybV9uZW9uX2Fzc2VtYmx5ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfYXZnX25lb25fYXNtLmFzbSIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2
ZV9jb3B5X25lb25fYXNtLmFzbSIsCiBdCi1saWJ2cHhfc3Jjc19hcm1fbmVvbl9uZW9uID0gWwot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9u
L2JpbGluZWFycHJlZGljdF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2NvcHltZW1fbmVvbi5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9kY19vbmx5X2lk
Y3RfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9jb21tb24vYXJtL25lb24vZGVxdWFudF9pZGN0X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vZGVxdWFudGl6ZWJfbmVv
bi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9h
cm0vbmVvbi9pZGN0X2Jsa19uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2l3YWxzaF9uZW9uLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2xvb3BmaWx0ZXJz
aW1wbGVob3Jpem9udGFsZWRnZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2xvb3BmaWx0ZXJzaW1wbGV2ZXJ0aWNhbGVk
Z2VfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Nv
bW1vbi9hcm0vbmVvbi9tYmxvb3BmaWx0ZXJfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9zaG9ydGlkY3Q0eDRsbG1fbmVv
bi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9h
cm0vbmVvbi9zaXh0YXBwcmVkaWN0X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vdnA4X2xvb3BmaWx0ZXJfbmVvbi5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25l
b24vZGVub2lzaW5nX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL2FybS9uZW9uL2Zhc3RxdWFudGl6ZWJfbmVvbi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vc2hvcnRm
ZGN0X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9l
bmNvZGVyL2FybS9uZW9uL3ZwOF9zaG9ydHdhbHNoNHg0X25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2lodDE2eDE2
X2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
Y29tbW9uL2FybS9uZW9uL3ZwOV9paHQ0eDRfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2lodDh4OF9hZGRf
bmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvYXJtL25lb24vdnA5X2RjdF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZGVub2lzZXJfbmVvbi5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24v
dnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZXJyb3JfbmVvbi5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24v
dnA5X2ZyYW1lX3NjYWxlX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9xdWFudGl6ZV9uZW9uLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9hdmdfbmVvbi5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vYXZnX3By
ZWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vZGVibG9ja19uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9mZGN0MTZ4MTZfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDMyeDMyX25lb24uYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3Q0eDRfbmVvbi5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRj
dDh4OF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9mZGN0X3BhcnRpYWxfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGFkYW1hcmRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDE2eDE2XzFfYWRkX25lb24u
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lk
Y3QxNngxNl9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyXzEzNV9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyXzFfYWRkX25lb24u
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lk
Y3QzMngzMl8zNF9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyX2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0OHg4XzFfYWRkX25lb24uYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q4
eDhfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2ludHJhcHJlZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS9xdWFudGl6ZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWQ0ZF9uZW9uLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWRfbmVvbi5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VicGVs
X3ZhcmlhbmNlX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvYXJtL3N1YnRyYWN0X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1bV9zcXVhcmVzX25lb24uYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZhcmlhbmNlX25lb24uYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9j
b252b2x2ZThfbmVvbl9hc20uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfc2NhbGVkX2NvbnZvbHZlOF9uZW9u
LmMiLAotXQogbGlidnB4X3NyY3NfYXJtX25lb25fY3B1X2RldGVjdCA9IFsKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hbGxvY2NvbW1vbi5jIiwKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbG9vcGZp
bHRlcl9hcm0uYyIsCkBAIC0xODk4LDcgKzE4NjEsNiBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9j
cHVfZGV0ZWN0ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfc3ViZXhwLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVyY29udGV4dC5jIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmMiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21v
ZGVsLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfdHJlZXdyaXRlci5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L3ZwOV9jeF9pZmFjZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L3ZwOV9keF9pZmFjZS5jIiwKQEAgLTE5MDcsNyArMTg2OSw2IEBAIGxpYnZweF9z
cmNzX2FybV9uZW9uX2NwdV9kZXRlY3QgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweC9zcmMvdnB4X2RlY29kZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2VuY29kZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2ltYWdlLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF90cGwuYyIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYWRkX25vaXNlLmMiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2F2Zy5jIiwKICAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXRyZWFkZXIuYyIsCkBAIC0x
OTMwLDcgKzE4OTEsNyBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9jcHVfZGV0ZWN0ID0gWwogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZweF9jb252b2x2ZS5j
IiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNw
X3J0Y2QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9tZW0v
dnB4X21lbS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3Bv
cnRzL2FhcmNoMzJfY3B1ZGV0ZWN0LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfcG9ydHMvYXJtX2NwdWRldGVjdC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X3NjYWxlL2dlbmVyaWMvZ2VuX3NjYWxlcnMuYyIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS9nZW5lcmljL3ZweF9z
Y2FsZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3NjYWxl
L2dlbmVyaWMveXYxMmNvbmZpZy5jIiwKQEAgLTIwNTMsNyArMjAxNCw2IEBAIGxpYnZweF9zcmNz
X2FybV9uZW9uX2NwdV9kZXRlY3RfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dF9yYXRlY3RybC5oIiwKICAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dGVuZC5oIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2Zp
cnN0cGFzcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X2ZpcnN0cGFzc19zdGF0cy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2pvYl9xdWV1ZS5oIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2xvb2thaGVhZC5oIiwKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X21iZ3Jh
cGguaCIsCkBAIC0yMDc1LDEzICsyMDM1LDExIEBAIGxpYnZweF9zcmNzX2FybV9uZW9uX2NwdV9k
ZXRlY3RfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXIuaCIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90b2tl
bml6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvdnA5X3RwbF9tb2RlbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2VfY29tbW9uLmgiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwvdnB4X2NvZGVjX2ludGVy
bmFsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJu
YWwvdnB4X3JhdGVjdHJsX3J0Yy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4L3ZwOC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4L3ZwOGN4LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgv
dnA4ZHguaCIsCkBAIC0yMDkyLDcgKzIwNTAsNiBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9jcHVf
ZGV0ZWN0X2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweC92cHhfZnJhbWVfYnVmZmVyLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHgvdnB4X2ltYWdlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHgvdnB4X2ludGVnZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweC92cHhfdHBsLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9pZGN0X25lb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL21lbV9uZW9uLmgiLAogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdW1fbmVvbi5oIiwKQEAgLTIxMTgs
MTEgKzIwNzUsOSBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9jcHVfZGV0ZWN0X2hlYWRlcnMgPSBb
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9tZW0vaW5jbHVkZS92
cHhfbWVtX2ludHJubC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X21lbS92cHhfbWVtLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfcG9ydHMvYXJtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfcG9ydHMvYXJtX2NwdWRldGVjdC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X3BvcnRzL2JpdG9wcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2NvbXBpbGVyX2F0dHJpYnV0ZXMuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9lbW1pbnRyaW5fY29tcGF0
LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbG9v
bmdhcmNoLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9y
dHMvbWVtLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9y
dHMvbWVtX29wcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X3BvcnRzL21lbV9vcHNfYWxpZ25lZC5oIiwKQEAgLTIxODIsOSArMjEzNyw3IEBAIGxpYnZweF9z
cmNzX2FybV9uZW9uX2NwdV9kZXRlY3RfbmVvbiA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9hcm0vbmVvbi92cDlfaWh0MTZ4MTZfYWRkX25lb24u
YyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJt
L25lb24vdnA5X2lodDR4NF9hZGRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9hcm0vbmVvbi92cDlfaWh0OHg4X2FkZF9uZW9uLmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVv
bi92cDlfZGN0X25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kZW5vaXNlcl9uZW9uLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZGlhbW9u
ZF9zZWFyY2hfc2FkX25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9lcnJvcl9uZW9uLmMiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZnJhbWVf
c2NhbGVfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvYXJtL25lb24vdnA5X3F1YW50aXplX25lb24uYyIsCkBAIC0yMTkzLDkgKzIxNDYs
OSBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9jcHVfZGV0ZWN0X25lb24gPSBbCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2RlYmxvY2tfbmVvbi5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDE2
eDE2X25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL2ZkY3QzMngzMl9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9mZGN0NHg0X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3Q4eDhfbmVvbi5jIiwKKyAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdF9uZW9uLmMiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0X3Bh
cnRpYWxfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vZndkX3R4Zm1fbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGFkYW1hcmRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDE2eDE2XzFfYWRkX25lb24uYyIs
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Qx
NngxNl9hZGRfbmVvbi5jIiwKQEAgLTIyMTMsMTMgKzIxNjYsMjUgQEAgbGlidnB4X3NyY3NfYXJt
X25lb25fY3B1X2RldGVjdF9uZW9uID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9zdWJ0cmFjdF9uZW9uLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdW1fc3F1YXJlc19uZW9uLmMiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92YXJpYW5jZV9u
ZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Fy
bS92cHhfY29udm9sdmU4X25lb25fYXNtLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfbmVvbi5jIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X3NjYWxlZF9jb252b2x2
ZThfbmVvbi5jIiwKIF0KIGxpYnZweF9zcmNzX2FybTY0ID0gWwogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FsbG9jY29tbW9uLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9sb29wZmlsdGVyX2Fy
bS5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9h
cm0vbmVvbi9iaWxpbmVhcnByZWRpY3RfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9jb3B5bWVtX25lb24uYyIsCisgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vZGNf
b25seV9pZGN0X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvY29tbW9uL2FybS9uZW9uL2RlcXVhbnRfaWRjdF9uZW9uLmMiLAorICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2RlcXVhbnRp
emViX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9j
b21tb24vYXJtL25lb24vaWRjdF9ibGtfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9pd2Fsc2hfbmVvbi5jIiwKKyAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9sb29w
ZmlsdGVyc2ltcGxlaG9yaXpvbnRhbGVkZ2VfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9sb29wZmlsdGVyc2ltcGxldmVy
dGljYWxlZGdlX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9jb21tb24vYXJtL25lb24vbWJsb29wZmlsdGVyX25lb24uYyIsCisgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vc2hvcnRpZGN0NHg0
bGxtX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9j
b21tb24vYXJtL25lb24vc2l4dGFwcHJlZGljdF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL3ZwOF9sb29wZmlsdGVyX25l
b24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24v
YmxvY2tkLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29t
bW9uL2RlcXVhbnRpemUuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9jb21tb24vZW50cm9weS5jIiwKQEAgLTIyNTIsNiArMjIxNywxMCBAQCBsaWJ2cHhfc3Jj
c19hcm02NCA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Rl
Y29kZXIvZGV0b2tlbml6ZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2RlY29kZXIvb255eGRfaWYuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9kZWNvZGVyL3RocmVhZGluZy5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vZGVub2lzaW5nX25lb24uYyIs
CisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2FybS9u
ZW9uL2Zhc3RxdWFudGl6ZWJfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vc2hvcnRmZGN0X25lb24uYyIsCisgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2FybS9uZW9uL3ZwOF9z
aG9ydHdhbHNoNHg0X25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL2JpdHN0cmVhbS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYm9vbGh1ZmYuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2NvcHlfYy5jIiwKQEAgLTIyNzcsNiArMjI0
Niw5IEBAIGxpYnZweF9zcmNzX2FybTY0ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci92cDhfcXVhbnRpemUuYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhfY3hfaWZhY2UuYyIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhfZHhfaWZhY2UuYyIsCisgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2lodDE2
eDE2X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHQ0eDRfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2lodDh4OF9h
ZGRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Nv
bW1vbi92cDlfYWxsb2Njb21tb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9jb21tb24vdnA5X2Jsb2NrZC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9uX2RhdGEuYyIsCkBAIC0yMzA2LDYg
KzIyNzgsMTAgQEAgbGlidnB4X3NyY3NfYXJtNjQgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZHN1YmV4cC5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2pv
Yl9xdWV1ZS5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvYXJtL25lb24vdnA5X2Rlbm9pc2VyX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9lcnJvcl9uZW9uLmMi
LAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0v
bmVvbi92cDlfZnJhbWVfc2NhbGVfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X3F1YW50aXplX25lb24uYyIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9hcV9j
eWNsaWNyZWZyZXNoLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvZW5jb2Rlci92cDlfYml0c3RyZWFtLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfY29udGV4dF90cmVlLmMiLApAQCAtMjMzNyw3ICsy
MzEzLDYgQEAgbGlidnB4X3NyY3NfYXJtNjQgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdWJleHAuYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdmNfbGF5ZXJjb250ZXh0LmMi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
dG9rZW5pemUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV90cGxfbW9kZWwuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90cmVld3JpdGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2N4X2lmYWNlLmMiLAogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2R4X2lmYWNlLmMiLApAQCAtMjM0Niw4ICsy
MzIxLDQwIEBAIGxpYnZweF9zcmNzX2FybTY0ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9kZWNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9lbmNvZGVyLmMiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9pbWFnZS5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92cHhfdHBsLmMiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FkZF9ub2lzZS5jIiwKKyAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vYXZnX25lb24u
YyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2F2
Z19wcmVkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2RlYmxvY2tfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDE2eDE2X25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3QzMngzMl9uZW9uLmMiLAorICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0X25lb24u
YyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2Zk
Y3RfcGFydGlhbF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9md2RfdHhmbV9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oYWRhbWFyZF9uZW9uLmMiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MTZ4MTZfMV9hZGRfbmVv
bi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
aWRjdDE2eDE2X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9pZGN0MzJ4MzJfMTM1X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MzJ4MzJfMV9hZGRfbmVv
bi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
aWRjdDMyeDMyXzM0X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9pZGN0MzJ4MzJfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q0eDRfMV9hZGRfbmVvbi5j
IiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRj
dDR4NF9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vaWRjdDh4OF8xX2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0OHg4X2FkZF9uZW9uLmMiLAorICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pbnRyYXByZWRfbmVv
bi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
bG9vcGZpbHRlcl9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9xdWFudGl6ZV9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWQ0ZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWRfbmVvbi5jIiwKKyAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VicGVsX3ZhcmlhbmNl
X25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
YXJtL3N1YnRyYWN0X25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL3N1bV9zcXVhcmVzX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZhcmlhbmNlX25lb24uYyIsCisgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThf
bmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9h
cm0vdnB4X2NvbnZvbHZlX2F2Z19uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfY29weV9uZW9uLmMiLAorICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVf
bmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9h
cm0vdnB4X3NjYWxlZF9jb252b2x2ZThfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZmZXIuYyIsCkBAIC0yMzY5LDcg
KzIzNzYsNyBAQCBsaWJ2cHhfc3Jjc19hcm02NCA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfY29udm9sdmUuYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2RzcF9ydGNkLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfbWVtL3ZweF9tZW0uYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hYXJjaDY0X2NwdWRldGVj
dC5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2Fy
bV9jcHVkZXRlY3QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9zY2FsZS9nZW5lcmljL2dlbl9zY2FsZXJzLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy92cHhfc2NhbGUuYyIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS9nZW5lcmljL3l2MTJjb25maWcu
YyIsCkBAIC0yNDkyLDcgKzI0OTksNiBAQCBsaWJ2cHhfc3Jjc19hcm02NF9oZWFkZXJzID0gWwog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0
X3JhdGVjdHJsLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfZXh0ZW5kLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzX3N0YXRzLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfam9iX3F1
ZXVlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfbG9va2FoZWFkLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci92cDlfbWJncmFwaC5oIiwKQEAgLTI1MTQsMTMgKzI1MjAsMTEgQEAgbGli
dnB4X3NyY3NfYXJtNjRfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0
ZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3ZwOV90b2tlbml6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuaCIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuaCIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2VfY29tbW9uLmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwvdnB4X2Nv
ZGVjX2ludGVybmFsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHgvaW50ZXJuYWwvdnB4X3JhdGVjdHJsX3J0Yy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3ZwOGN4LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHgvdnA4ZHguaCIsCkBAIC0yNTMxLDcgKzI1MzUsNiBAQCBsaWJ2cHhfc3Jjc19hcm02
NF9oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgv
dnB4X2ZyYW1lX2J1ZmZlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4L3ZweF9pbWFnZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4L3ZweF9pbnRlZ2VyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHgvdnB4X3RwbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vaWRjdF9uZW9uLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS9tZW1fbmVvbi5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX25lb24uaCIsCkBAIC0yNTU2LDExICsy
NTU5LDkgQEAgbGlidnB4X3NyY3NfYXJtNjRfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X21lbS9pbmNsdWRlL3ZweF9tZW1faW50cm5sLmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfbWVtL3ZweF9tZW0uaCIs
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm0uaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm1fY3B1
ZGV0ZWN0LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9y
dHMvYml0b3BzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
cG9ydHMvY29tcGlsZXJfYXR0cmlidXRlcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X3BvcnRzL2VtbWludHJpbl9jb21wYXQuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29uZ2FyY2guaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW0uaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW1fb3BzLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtX29wc19hbGln
bmVkLmgiLApAQCAtMjU4MCw3ICsyNTgxLDkgQEAgbGlidnB4X3NyY3NfYXJtNjRfaGVhZGVycyA9
IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvdnB4X3dy
aXRlX3l1dl9mcmFtZS5oIiwKIF0KIGxpYnZweF9zcmNzX2FybTY0X2Fzc2VtYmx5ID0gW10KLWxp
YnZweF9zcmNzX2FybTY0X25lb24gPSBbCitsaWJ2cHhfc3Jjc19hcm1fbmVvbl9oaWdoYmQgPSBb
CisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYWxsb2Nj
b21tb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21t
b24vYXJtL2xvb3BmaWx0ZXJfYXJtLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2JpbGluZWFycHJlZGljdF9uZW9uLmMiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2Nv
cHltZW1fbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2NvbW1vbi9hcm0vbmVvbi9kY19vbmx5X2lkY3RfYWRkX25lb24uYyIsCkBAIC0yNTk0LDY3ICsy
NTk3LDYgQEAgbGlidnB4X3NyY3NfYXJtNjRfbmVvbiA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9zaG9ydGlkY3Q0eDRsbG1fbmVv
bi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9h
cm0vbmVvbi9zaXh0YXBwcmVkaWN0X25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vdnA4X2xvb3BmaWx0ZXJfbmVvbi5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25l
b24vZGVub2lzaW5nX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL2FybS9uZW9uL2Zhc3RxdWFudGl6ZWJfbmVvbi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vc2hvcnRm
ZGN0X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9l
bmNvZGVyL2FybS9uZW9uL3ZwOF9zaG9ydHdhbHNoNHg0X25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2lodDE2eDE2
X2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
Y29tbW9uL2FybS9uZW9uL3ZwOV9paHQ0eDRfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2lodDh4OF9hZGRf
bmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvYXJtL25lb24vdnA5X2RjdF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZGVub2lzZXJfbmVvbi5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24v
dnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZXJyb3JfbmVvbi5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24v
dnA5X2ZyYW1lX3NjYWxlX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9xdWFudGl6ZV9uZW9uLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9hdmdfbmVvbi5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vYXZnX3By
ZWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vZGVibG9ja19uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9mZGN0MTZ4MTZfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDMyeDMyX25lb24uYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3Q0eDRfbmVvbi5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRj
dDh4OF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9mZGN0X3BhcnRpYWxfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGFkYW1hcmRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDE2eDE2XzFfYWRkX25lb24u
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lk
Y3QxNngxNl9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyXzEzNV9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyXzFfYWRkX25lb24u
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lk
Y3QzMngzMl8zNF9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyX2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0NHg0XzFfYWRkX25lb24uYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q0
eDRfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2lkY3Q4eDhfMV9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDh4OF9hZGRfbmVvbi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaW50cmFwcmVkX25lb24u
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2xv
b3BmaWx0ZXJfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vcXVhbnRpemVfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2FkNGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2FkX25lb24uYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1YnBlbF92YXJpYW5jZV9u
ZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Fy
bS9zdWJ0cmFjdF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9zdW1fc3F1YXJlc19uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92YXJpYW5jZV9uZW9uLmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25l
b24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJt
L3ZweF9jb252b2x2ZV9hdmdfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX2NvcHlfbmVvbi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX25l
b24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJt
L3ZweF9zY2FsZWRfY29udm9sdmU4X25lb24uYyIsCi1dCi1saWJ2cHhfc3Jjc19hcm02NF9uZW9u
X2RvdHByb2QgPSBbCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL3NhZDRkX25lb25fZG90cHJvZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2FkX25lb25fZG90cHJvZC5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdmFyaWFuY2VfbmVvbl9kb3Rw
cm9kLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Fy
bS92cHhfY29udm9sdmU4X25lb25fZG90cHJvZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX25lb25fZG90cHJvZC5jIiwK
LV0KLWxpYnZweF9zcmNzX2FybTY0X25lb25faThtbSA9IFsKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uX2k4bW0uYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9j
b252b2x2ZV9uZW9uX2k4bW0uYyIsCi1dCi1saWJ2cHhfc3Jjc19hcm1fbmVvbl9oaWdoYmQgPSBb
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYWxsb2Nj
b21tb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21t
b24vYXJtL2xvb3BmaWx0ZXJfYXJtLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvY29tbW9uL2Jsb2NrZC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9kZXF1YW50aXplLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2VudHJvcHkuYyIsCkBAIC0yNjg3LDYgKzI2
MjksMTAgQEAgbGlidnB4X3NyY3NfYXJtX25lb25faGlnaGJkID0gWwogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci9kZXRva2VuaXplLmMiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci9vbnl4ZF9pZi5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvdGhyZWFk
aW5nLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rl
ci9hcm0vbmVvbi9kZW5vaXNpbmdfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vZmFzdHF1YW50aXplYl9uZW9uLmMiLAor
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0vbmVv
bi9zaG9ydGZkY3RfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2VuY29kZXIvYXJtL25lb24vdnA4X3Nob3J0d2Fsc2g0eDRfbmVvbi5jIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYml0c3RyZWFtLmMi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9ib29s
aHVmZi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvY29weV9jLmMiLApAQCAtMjcxMiw2ICsyNjU4LDEyIEBAIGxpYnZweF9zcmNzX2FybV9uZW9u
X2hpZ2hiZCA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Vu
Y29kZXIvdnA4X3F1YW50aXplLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvdnA4X2N4X2lmYWNlLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvdnA4X2R4X2lmYWNlLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9oaWdoYmRfaWh0MTZ4MTZfYWRkX25l
b24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24v
YXJtL25lb24vdnA5X2hpZ2hiZF9paHQ0eDRfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2hpZ2hiZF9paHQ4
eDhfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9jb21tb24vYXJtL25lb24vdnA5X2lodDE2eDE2X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHQ0eDRf
YWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9j
b21tb24vYXJtL25lb24vdnA5X2lodDh4OF9hZGRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYWxsb2Njb21tb24uYyIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2Jsb2NrZC5j
IiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlf
Y29tbW9uX2RhdGEuYyIsCkBAIC0yNzQxLDYgKzI2OTMsOSBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVv
bl9oaWdoYmQgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9k
ZWNvZGVyL3ZwOV9kZXRva2VuaXplLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZGVjb2Rlci92cDlfZHN1YmV4cC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2pvYl9xdWV1ZS5jIiwKKyAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2Rl
bm9pc2VyX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9mcmFtZV9zY2FsZV9uZW9uLmMiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfcXVhbnRp
emVfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X2FxX2N5Y2xpY3JlZnJlc2guYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9iaXRzdHJlYW0uYyIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9jb250ZXh0X3RyZWUuYyIs
CkBAIC0yNzcyLDcgKzI3MjcsNiBAQCBsaWJ2cHhfc3Jjc19hcm1fbmVvbl9oaWdoYmQgPSBbCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdWJl
eHAuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3ZwOV9zdmNfbGF5ZXJjb250ZXh0LmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZW5jb2Rlci92cDlfdG9rZW5pemUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90cGxfbW9kZWwuYyIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90cmVld3JpdGVy
LmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2N4X2lm
YWNlLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2R4
X2lmYWNlLmMiLApAQCAtMjc4MSw3NDkgKzI3MzUsMTYgQEAgbGlidnB4X3NyY3NfYXJtX25lb25f
aGlnaGJkID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3Jj
L3ZweF9kZWNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHgvc3JjL3ZweF9lbmNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHgvc3JjL3ZweF9pbWFnZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3NyYy92cHhfdHBsLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FkZF9ub2lzZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZmZXIuYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0d3JpdGVyLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHdyaXRlcl9idWZmZXIu
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvZGVibG9j
ay5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9md2Rf
dHhmbS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9p
bnRyYXByZWQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvaW52X3R4Zm0uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvbG9vcGZpbHRlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9wcm9iLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL3BzbnIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvcXVhbnRpemUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3Avc2FkLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL3NraW5fZGV0ZWN0aW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL3N1YnRyYWN0LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3N1bV9zcXVhcmVzLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZhcmlhbmNlLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZweF9jb252b2x2ZS5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNwX3J0Y2QuYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9tZW0vdnB4X21lbS5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2FhcmNoMzJf
Y3B1ZGV0ZWN0LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
c2NhbGUvZ2VuZXJpYy9nZW5fc2NhbGVycy5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X3NjYWxlL2dlbmVyaWMvdnB4X3NjYWxlLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy95djEyY29uZmlnLmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJp
Yy95djEyZXh0ZW5kLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfc2NhbGUvdnB4X3NjYWxlX3J0Y2QuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF91dGlsL3ZweF90aHJlYWQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF91dGlsL3ZweF93cml0ZV95dXZfZnJhbWUuYyIsCi1dCi1saWJ2
cHhfc3Jjc19hcm1fbmVvbl9oaWdoYmRfaGVhZGVycyA9IFsKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hbGxvY2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbG9vcGZpbHRlcl9hcm0u
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYmxv
Y2tkLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9u
L2NvZWZ1cGRhdGVwcm9icy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9jb21tb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vZGVmYXVsdF9jb2VmX3Byb2JzLmgiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2VudHJvcHkuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZW50cm9weW1vZGUuaCIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZW50cm9weW12
LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2V4
dGVuZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1v
bi9maWx0ZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9j
b21tb24vZmluZG5lYXJtdi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9oZWFkZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vaW52dHJhbnMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9jb21tb24vbG9vcGZpbHRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9tb2RlY29udC5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9tdi5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9vbnl4LmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL29ueXhjX2ludC5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9vbnl4ZC5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9wb3N0cHJv
Yy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9w
cGZsYWdzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29t
bW9uL3F1YW50X2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9yZWNvbmludGVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvY29tbW9uL3JlY29uaW50cmEuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vcmVjb25pbnRyYTR4NC5oIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9zZXR1cGludHJhcmVjb24u
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vc3dh
cHl2MTJidWZmZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9jb21tb24vc3lzdGVtZGVwZW5kZW50LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvY29tbW9uL3RocmVhZGluZy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi90cmVlY29kZXIuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vdnA4X2VudHJvcHltb2RlZGF0YS5o
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi92cDhf
c2tpbl9kZXRlY3Rpb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9kZWNvZGVyL2Rib29saHVmZi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlbXYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL2RlY29kZXJ0aHJlYWRpbmcuaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL2RldG9rZW5pemUuaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL29ueXhk
X2ludC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29k
ZXIvdHJlZXJlYWRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2VuY29kZXIvYml0c3RyZWFtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvZW5jb2Rlci9ibG9jay5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYm9vbGh1ZmYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2RjdF92YWx1ZV9jb3N0LmgiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9kY3RfdmFsdWVfdG9r
ZW5zLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rl
ci9kZWZhdWx0Y29lZmNvdW50cy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L2VuY29kZXIvZGVub2lzaW5nLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9lbmNvZGVmcmFtZS5oIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuaCIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2VuY29kZW1iLmgi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9lbmNv
ZGVtdi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvZXRocmVhZGluZy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2VuY29kZXIvZmlyc3RwYXNzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvZW5jb2Rlci9sb29rYWhlYWQuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9tb2RlY29zdHMuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21yX2Rpc3NpbS5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQu
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3Bp
Y2tpbnRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Vu
Y29kZXIvcGlja2xwZi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2VuY29kZXIvcXVhbnRpemUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9lbmNvZGVyL3JhdGVjdHJsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9yZG9wdC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9uLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci90b2tlbml6ZS5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvdHJlZXdyaXRl
ci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9h
cm0vbmVvbi92cDlfaWh0X25lb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9jb21tb24vdnA5X2FsbG9jY29tbW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9ibG9ja2QuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2NvbW1vbi5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9u
X2RhdGEuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21t
b24vdnA5X2VudHJvcHkuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9jb21tb24vdnA5X2VudHJvcHltb2RlLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9lbnRyb3B5bXYuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2VudW1zLmgiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9maWx0ZXIuaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2Zy
YW1lX2J1ZmZlcnMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9jb21tb24vdnA5X2lkY3QuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9jb21tb24vdnA5X2xvb3BmaWx0ZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X21mcWUuaCIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X212LmgiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9tdnJlZl9jb21tb24uaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X29u
eXhjX2ludC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Nv
bW1vbi92cDlfcG9zdHByb2MuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9jb21tb24vdnA5X3BwZmxhZ3MuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3ByZWRfY29tbW9uLmgiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9xdWFudF9jb21tb24uaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3Jl
Y29uaW50ZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9j
b21tb24vdnA5X3JlY29uaW50cmEuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9jb21tb24vdnA5X3NjYWxlLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9zY2FuLmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9zZWdfY29tbW9uLmgiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV90aHJlYWRfY29t
bW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9u
L3ZwOV90aWxlX2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2RlY29kZXIvdnA5X2RlY29kZWZyYW1lLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2RlbXYuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZWNvZGVyLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGV0
b2tlbml6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Rl
Y29kZXIvdnA5X2RzdWJleHAuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9kZWNvZGVyL3ZwOV9qb2JfcXVldWUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9hcV9jeWNsaWNyZWZyZXNoLmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYml0c3Ry
ZWFtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfYmxvY2suaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3ZwOV9jb250ZXh0X3RyZWUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9jb3N0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZGVub2lzZXIuaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVmcmFt
ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2VuY29kZW1iLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvZW5jb2Rlci92cDlfZW5jb2RlbXYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXRocmVhZC5oIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dF9yYXRlY3Ry
bC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2V4dGVuZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X2ZpcnN0cGFzcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2ZpcnN0cGFzc19zdGF0cy5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2pvYl9xdWV1ZS5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2xv
b2thaGVhZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X21iZ3JhcGguaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9tY29tcC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X211bHRpX3RocmVhZC5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X25vaXNlX2VzdGltYXRl
LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfcGFydGl0aW9uX21vZGVscy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3BpY2tscGYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9waWNrbW9kZS5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3F1YW50aXplLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmF0
ZWN0cmwuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9yZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X3Jkb3B0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfcmVzaXplLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc2VnbWVudGF0aW9uLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc2tpbl9kZXRlY3Rp
b24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3ZwOV9zcGVlZF9mZWF0dXJlcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N1YmV4cC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90ZW1wb3Jh
bF9maWx0ZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV90b2tlbml6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuaCIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuaCIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2VfY29tbW9u
LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwv
dnB4X2NvZGVjX2ludGVybmFsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHgvaW50ZXJuYWwvdnB4X3JhdGVjdHJsX3J0Yy5oIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOGN4LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvdnA4ZHguaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweC92cHhfY29kZWMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweC92cHhfZGVjb2Rlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3ZweF9lbmNvZGVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvdnB4X2V4dF9yYXRlY3RybC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9mcmFtZV9idWZmZXIuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW1hZ2UuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW50ZWdlci5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF90cGwuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0X25lb24uaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Rf
bmVvbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9h
cm0vbWVtX25lb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL3N1bV9uZW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS90cmFuc3Bvc2VfbmVvbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uLmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9s
dmU4X25lb25fYXNtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2JpdHJlYWRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9iaXRyZWFkZXJfYnVmZmVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2JpdHdyaXRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXJfYnVmZmVyLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Z3ZF90eGZtLmgiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2ludl90eGZtLmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3Bvc3Rwcm9jLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3Byb2IuaCIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvcHNuci5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9xdWFudGl6ZS5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9za2luX2RldGVj
dGlvbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC90
eGZtX2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC92YXJpYW5jZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC92cHhfY29udm9sdmUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2ZpbHRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X21lbS9pbmNsdWRlL3ZweF9tZW1faW50cm5sLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfbWVtL3ZweF9tZW0uaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm0uaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm1fY3B1
ZGV0ZWN0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9y
dHMvYml0b3BzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
cG9ydHMvY29tcGlsZXJfYXR0cmlidXRlcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X3BvcnRzL2VtbWludHJpbl9jb21wYXQuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29uZ2FyY2guaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW0uaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW1fb3BzLmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtX29wc19hbGln
bmVkLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMv
bWlwcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRz
L21zdmMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0
cy9zdGF0aWNfYXNzZXJ0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfcG9ydHMvc3lzdGVtX3N0YXRlLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfcG9ydHMvdnB4X29uY2UuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy92cHhfdGltZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy94ODYuaCIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS92cHhfc2NhbGUuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS95djEyY29uZmlnLmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfdXRpbC9lbmRpYW5faW5sLmgi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfdXRpbC92cHhfYXRv
bWljcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwv
dnB4X3RocmVhZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X3V0aWwvdnB4X3RpbWVzdGFtcC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X3V0aWwvdnB4X3dyaXRlX3l1dl9mcmFtZS5oIiwKLV0KLWxpYnZweF9zcmNzX2Fy
bV9uZW9uX2hpZ2hiZF9hc3NlbWJseSA9IFsKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDR4NF8xX2FkZF9uZW9uLmFzbSIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q0eDRfYWRkX25lb24u
YXNtIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
aWRjdF9uZW9uLmFzbSIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2ludHJhcHJlZF9uZW9uX2FzbS5hc20iLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9sb29wZmlsdGVyXzE2X25lb24uYXNtIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vbG9vcGZpbHRl
cl80X25lb24uYXNtIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vbG9vcGZpbHRlcl84X25lb24uYXNtIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2F2ZV9yZWdfbmVvbi5hc20iLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X2F2
Z19ob3Jpel9maWx0ZXJfdHlwZTFfbmVvbi5hc20iLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X2F2Z19ob3Jpel9maWx0ZXJf
dHlwZTJfbmVvbi5hc20iLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS92cHhfY29udm9sdmU4X2F2Z192ZXJ0X2ZpbHRlcl90eXBlMV9uZW9uLmFzbSIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9j
b252b2x2ZThfYXZnX3ZlcnRfZmlsdGVyX3R5cGUyX25lb24uYXNtIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9ob3Jpel9m
aWx0ZXJfdHlwZTFfbmVvbi5hc20iLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X2hvcml6X2ZpbHRlcl90eXBlMl9uZW9uLmFz
bSIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Zw
eF9jb252b2x2ZThfdmVydF9maWx0ZXJfdHlwZTFfbmVvbi5hc20iLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X3ZlcnRfZmls
dGVyX3R5cGUyX25lb24uYXNtIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX2F2Z19uZW9uX2FzbS5hc20iLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfY29w
eV9uZW9uX2FzbS5hc20iLAotXQotbGlidnB4X3NyY3NfYXJtX25lb25faGlnaGJkX25lb24gPSBb
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25l
b24vYmlsaW5lYXJwcmVkaWN0X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vY29weW1lbV9uZW9uLmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2RjX29ubHlf
aWRjdF9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2NvbW1vbi9hcm0vbmVvbi9kZXF1YW50X2lkY3RfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9kZXF1YW50aXplYl9u
ZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9u
L2FybS9uZW9uL2lkY3RfYmxrX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vaXdhbHNoX25lb24uYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vbG9vcGZpbHRl
cnNpbXBsZWhvcml6b250YWxlZGdlX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vbG9vcGZpbHRlcnNpbXBsZXZlcnRpY2Fs
ZWRnZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
Y29tbW9uL2FybS9uZW9uL21ibG9vcGZpbHRlcl9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL3Nob3J0aWRjdDR4NGxsbV9u
ZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9u
L2FybS9uZW9uL3NpeHRhcHByZWRpY3RfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi92cDhfbG9vcGZpbHRlcl9uZW9uLmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0v
bmVvbi9kZW5vaXNpbmdfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vZmFzdHF1YW50aXplYl9uZW9uLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0vbmVvbi9zaG9y
dGZkY3RfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2VuY29kZXIvYXJtL25lb24vdnA4X3Nob3J0d2Fsc2g0eDRfbmVvbi5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9hcm0vbmVvbi92cDlfaGlnaGJk
X2lodDE2eDE2X2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9oaWdoYmRfaWh0NHg0X2FkZF9uZW9uLmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9u
L3ZwOV9oaWdoYmRfaWh0OHg4X2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHQxNngxNl9hZGRfbmVvbi5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9hcm0v
bmVvbi92cDlfaWh0NHg0X2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHQ4eDhfYWRkX25lb24uYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9u
L3ZwOV9kY3RfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2Rlbm9pc2VyX25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kaWFtb25k
X3NlYXJjaF9zYWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2Vycm9yX25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9mcmFtZV9z
Y2FsZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci9hcm0vbmVvbi92cDlfaGlnaGJkX2Vycm9yX25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9xdWFudGl6
ZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS9hdmdfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vYXZnX3ByZWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZGVibG9ja19uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0MTZ4MTZfbmVvbi5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDMyeDMy
X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
YXJtL2ZkY3Q0eDRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vZmRjdDh4OF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0X3BhcnRpYWxfbmVvbi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGFkYW1hcmRfbmVvbi5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGln
aGJkX2F2Z19uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS9oaWdoYmRfYXZnX3ByZWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2hhZGFtYXJkX25lb24uYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9p
ZGN0MTZ4MTZfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0MzJ4MzJfMTAyNF9hZGRfbmVvbi5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2lkY3Qz
MngzMl8xMzVfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0MzJ4MzJfMzRfYWRkX25lb24uYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0MzJ4
MzJfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2hpZ2hiZF9pZGN0NHg0X2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfaWRjdDh4OF9hZGRfbmVvbi5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGln
aGJkX2ludHJhcHJlZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9oaWdoYmRfbG9vcGZpbHRlcl9uZW9uLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfcXVhbnRpemVfbmVv
bi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
aGlnaGJkX3NhZDRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9zYWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3N1YnBlbF92YXJpYW5jZV9uZW9u
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9o
aWdoYmRfdmFyaWFuY2VfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9jb252b2x2ZThfbmVvbi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9jb252
b2x2ZV9hdmdfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9jb252b2x2ZV9jb3B5X25lb24uYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92cHhfY29udm9s
dmVfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vaWRjdDE2eDE2XzFfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3QxNngxNl9hZGRfbmVvbi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyXzEzNV9h
ZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vaWRjdDMyeDMyXzFfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3QzMngzMl8zNF9hZGRfbmVvbi5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyX2Fk
ZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS9pZGN0OHg4XzFfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q4eDhfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ludHJhcHJlZF9uZW9uLmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9xdWFudGl6
ZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS9zYWQ0ZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9zYWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VicGVsX3ZhcmlhbmNlX25lb24uYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1YnRyYWN0X25lb24uYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1bV9z
cXVhcmVzX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL3ZhcmlhbmNlX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbl9hc20uYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9u
ZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Fy
bS92cHhfc2NhbGVkX2NvbnZvbHZlOF9uZW9uLmMiLAotXQotbGlidnB4X3NyY3NfYXJtNjRfaGln
aGJkID0gWwotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9u
L2FsbG9jY29tbW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvY29tbW9uL2FybS9sb29wZmlsdGVyX2FybS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9ibG9ja2QuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZGVxdWFudGl6ZS5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9lbnRyb3B5LmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2VudHJvcHltb2RlLmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2VudHJv
cHltdi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1v
bi9leHRlbmQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9j
b21tb24vZmlsdGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvY29tbW9uL2ZpbmRuZWFybXYuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vZ2VuZXJpYy9zeXN0ZW1kZXBlbmRlbnQuYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vaWRjdF9ibGsuYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vaWRjdGxsbS5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9sb29wZmls
dGVyX2ZpbHRlcnMuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9jb21tb24vbWJwaXRjaC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9tZnFlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvY29tbW9uL21vZGVjb250LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvY29tbW9uL3Bvc3Rwcm9jLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL3F1YW50X2NvbW1vbi5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9yZWNvbmludGVyLmMiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL3JlY29uaW50cmEu
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vcmVj
b25pbnRyYTR4NC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2NvbW1vbi9ydGNkLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvY29tbW9uL3NldHVwaW50cmFyZWNvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9zd2FweXYxMmJ1ZmZlci5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi90cmVlY29kZXIuYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vdnA4X2xvb3BmaWx0ZXIu
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vdnA4
X3NraW5fZGV0ZWN0aW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDgvZGVjb2Rlci9kYm9vbGh1ZmYuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9kZWNvZGVyL2RlY29kZWZyYW1lLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci9kZWNvZGVtdi5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGV0b2tlbml6ZS5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvb255eGRfaWYu
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL3Ro
cmVhZGluZy5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Vu
Y29kZXIvYml0c3RyZWFtLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDgvZW5jb2Rlci9ib29saHVmZi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2VuY29kZXIvY29weV9jLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9kY3QuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2Rlbm9pc2luZy5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlZnJhbWUuYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2VuY29kZWludHJh
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9l
bmNvZGVtYi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Vu
Y29kZXIvZW5jb2RlbXYuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9lbmNvZGVyL2V0aHJlYWRpbmcuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9lbmNvZGVyL2xvb2thaGVhZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbWNvbXAuYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21vZGVjb3N0cy5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbXJfZGlzc2ltLmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9vbnl4X2lm
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9w
aWNraW50ZXIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9l
bmNvZGVyL3BpY2tscGYuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9lbmNvZGVyL3JhdGVjdHJsLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvZW5jb2Rlci9yZG9wdC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9uLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci90b2tlbml6ZS5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvdHJlZXdyaXRlci5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvdnA4X3F1
YW50aXplLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvdnA4
X2N4X2lmYWNlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
dnA4X2R4X2lmYWNlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvY29tbW9uL3ZwOV9hbGxvY2NvbW1vbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYmxvY2tkLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9jb21tb25fZGF0YS5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZW50cm9weS5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlf
ZW50cm9weW1vZGUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9jb21tb24vdnA5X2VudHJvcHltdi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZmlsdGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9mcmFtZV9idWZmZXJzLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9pZGN0LmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9sb29w
ZmlsdGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29t
bW9uL3ZwOV9tZnFlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvY29tbW9uL3ZwOV9tdnJlZl9jb21tb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3Bvc3Rwcm9jLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9wcmVkX2NvbW1vbi5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfcXVhbnRf
Y29tbW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29t
bW9uL3ZwOV9yZWNvbmludGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvY29tbW9uL3ZwOV9yZWNvbmludHJhLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9ydGNkLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9zY2FsZS5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2Nhbi5jIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2VnX2Nv
bW1vbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1v
bi92cDlfdGhyZWFkX2NvbW1vbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2NvbW1vbi92cDlfdGlsZV9jb21tb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZWNvZGVmcmFtZS5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2RlY29kZW12
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92
cDlfZGVjb2Rlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2RlY29kZXIvdnA5X2RldG9rZW5pemUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kc3ViZXhwLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfam9iX3F1ZXVlLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYXFfY3ljbGlj
cmVmcmVzaC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X2JpdHN0cmVhbS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X2NvbnRleHRfdHJlZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2Nvc3QuYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9kY3QuYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9kZW5vaXNl
ci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2VuY29kZWZyYW1lLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci92cDlfZW5jb2RlbWIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVtdi5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZXIuYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9ldGhyZWFk
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfZXh0X3JhdGVjdHJsLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci92cDlfZXh0ZW5kLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZnJhbWVfc2NhbGUuYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9sb29rYWhlYWQuYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tY29t
cC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X211bHRpX3RocmVhZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X25vaXNlX2VzdGltYXRlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcGlja2xwZi5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3BpY2ttb2RlLmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
cXVhbnRpemUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV9yYXRlY3RybC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3JkLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmRvcHQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9yZXNpemUuYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zZWdtZW50YXRpb24u
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV9za2luX2RldGVjdGlvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X3NwZWVkX2ZlYXR1cmVzLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ViZXhwLmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVyY29u
dGV4dC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvdnA5X3Rva2VuaXplLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHJlZXdyaXRlci5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9jeF9pZmFjZS5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9keF9pZmFjZS5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9pZmFjZV9jb21tb24uYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2NvZGVj
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9k
ZWNvZGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3Jj
L3ZweF9lbmNvZGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHgvc3JjL3ZweF9pbWFnZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4L3NyYy92cHhfdHBsLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FkZF9ub2lzZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZmZXIuYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0d3JpdGVyLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHdyaXRlcl9idWZmZXIuYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvZGVibG9jay5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9md2RfdHhmbS5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9pbnRyYXBy
ZWQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvaW52
X3R4Zm0uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
bG9vcGZpbHRlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9wcm9iLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3BzbnIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvcXVhbnRpemUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3Avc2FkLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3NraW5fZGV0ZWN0aW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3N1YnRyYWN0LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3N1bV9zcXVhcmVzLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3ZhcmlhbmNlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZweF9jb252b2x2ZS5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNwX3J0Y2QuYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9tZW0vdnB4X21lbS5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2FhcmNoNjRfY3B1ZGV0
ZWN0LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUv
Z2VuZXJpYy9nZW5fc2NhbGVycy5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X3NjYWxlL2dlbmVyaWMvdnB4X3NjYWxlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy95djEyY29uZmlnLmMiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy95djEy
ZXh0ZW5kLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2Nh
bGUvdnB4X3NjYWxlX3J0Y2QuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF91dGlsL3ZweF90aHJlYWQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF91dGlsL3ZweF93cml0ZV95dXZfZnJhbWUuYyIsCi1dCi1saWJ2cHhfc3Jj
c19hcm02NF9oaWdoYmRfaGVhZGVycyA9IFsKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2NvbW1vbi9hbGxvY2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbG9vcGZpbHRlcl9hcm0uaCIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYmxvY2tkLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2NvZWZ1cGRh
dGVwcm9icy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Nv
bW1vbi9jb21tb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9jb21tb24vZGVmYXVsdF9jb2VmX3Byb2JzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDgvY29tbW9uL2VudHJvcHkuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZW50cm9weW1vZGUuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZW50cm9weW12LmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2V4dGVuZC5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9maWx0ZXIu
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZmlu
ZG5lYXJtdi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Nv
bW1vbi9oZWFkZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9jb21tb24vaW52dHJhbnMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9jb21tb24vbG9vcGZpbHRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9tb2RlY29udC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9tdi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9vbnl4LmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL29ueXhjX2ludC5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9vbnl4ZC5oIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9wb3N0cHJvYy5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9wcGZsYWdzLmgi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL3F1YW50
X2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Nv
bW1vbi9yZWNvbmludGVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDgvY29tbW9uL3JlY29uaW50cmEuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9jb21tb24vcmVjb25pbnRyYTR4NC5oIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9zZXR1cGludHJhcmVjb24uaCIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vc3dhcHl2MTJidWZm
ZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24v
c3lzdGVtZGVwZW5kZW50LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDgvY29tbW9uL3RocmVhZGluZy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2NvbW1vbi90cmVlY29kZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vdnA4X2VudHJvcHltb2RlZGF0YS5oIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi92cDhfc2tpbl9kZXRl
Y3Rpb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNv
ZGVyL2Rib29saHVmZi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2RlY29kZXIvZGVjb2RlbXYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9kZWNvZGVyL2RlY29kZXJ0aHJlYWRpbmcuaCIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL2RldG9rZW5pemUuaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL29ueXhkX2ludC5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvdHJlZXJl
YWRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvYml0c3RyZWFtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvZW5jb2Rlci9ibG9jay5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2VuY29kZXIvYm9vbGh1ZmYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9lbmNvZGVyL2RjdF92YWx1ZV9jb3N0LmgiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9kY3RfdmFsdWVfdG9rZW5zLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9kZWZhdWx0
Y29lZmNvdW50cy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2VuY29kZXIvZGVub2lzaW5nLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvZW5jb2Rlci9lbmNvZGVmcmFtZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2VuY29kZW1iLmgiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9lbmNvZGVtdi5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZXRocmVh
ZGluZy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvZmlyc3RwYXNzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvZW5jb2Rlci9sb29rYWhlYWQuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci9tb2RlY29zdHMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21yX2Rpc3NpbS5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQuaCIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3BpY2tpbnRlci5o
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvcGlj
a2xwZi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvcXVhbnRpemUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9lbmNvZGVyL3JhdGVjdHJsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvZW5jb2Rlci9yZG9wdC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci90b2tlbml6ZS5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvdHJlZXdyaXRlci5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9hcm0vbmVvbi92
cDlfaWh0X25lb24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9jb21tb24vdnA5X2FsbG9jY29tbW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9ibG9ja2QuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9uX2RhdGEuaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2Vu
dHJvcHkuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21t
b24vdnA5X2VudHJvcHltb2RlLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvY29tbW9uL3ZwOV9lbnRyb3B5bXYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2VudW1zLmgiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9maWx0ZXIuaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2ZyYW1lX2J1ZmZl
cnMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24v
dnA5X2lkY3QuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9j
b21tb24vdnA5X2xvb3BmaWx0ZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9jb21tb24vdnA5X21mcWUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X212LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9tdnJlZl9jb21tb24uaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X29ueXhjX2ludC5o
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlf
cG9zdHByb2MuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9j
b21tb24vdnA5X3BwZmxhZ3MuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9jb21tb24vdnA5X3ByZWRfY29tbW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9xdWFudF9jb21tb24uaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3JlY29uaW50ZXIu
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5
X3JlY29uaW50cmEuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9jb21tb24vdnA5X3NjYWxlLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvY29tbW9uL3ZwOV9zY2FuLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9zZWdfY29tbW9uLmgiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV90aHJlYWRfY29tbW9uLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV90aWxl
X2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Rl
Y29kZXIvdnA5X2RlY29kZWZyYW1lLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2RlbXYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZWNvZGVyLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGV0b2tlbml6ZS5o
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5
X2RzdWJleHAuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9k
ZWNvZGVyL3ZwOV9qb2JfcXVldWUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9hcV9jeWNsaWNyZWZyZXNoLmgiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYml0c3RyZWFtLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYmxv
Y2suaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3ZwOV9jb250ZXh0X3RyZWUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9jb3N0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZGVub2lzZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVmcmFtZS5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29k
ZW1iLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfZW5jb2RlbXYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXRocmVhZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dF9yYXRlY3RybC5oIiwKLSAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dGVu
ZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2ZpcnN0cGFzcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X2ZpcnN0cGFzc19zdGF0cy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2pvYl9xdWV1ZS5oIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2xvb2thaGVhZC5o
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5
X21iZ3JhcGguaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV9tY29tcC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X211bHRpX3RocmVhZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X25vaXNlX2VzdGltYXRlLmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcGFydGl0
aW9uX21vZGVscy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X3BpY2tscGYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9waWNrbW9kZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3F1YW50aXplLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmF0ZWN0cmwuaCIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9y
ZC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X3Jkb3B0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfcmVzaXplLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfc2VnbWVudGF0aW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc2tpbl9kZXRlY3Rpb24uaCIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zcGVl
ZF9mZWF0dXJlcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X3N1YmV4cC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXIu
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV90b2tlbml6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuaCIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2VfY29tbW9uLmgiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwvdnB4X2NvZGVj
X2ludGVybmFsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgv
aW50ZXJuYWwvdnB4X3JhdGVjdHJsX3J0Yy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4L3ZwOC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4L3ZwOGN4LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHgvdnA4ZHguaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eC92cHhfY29kZWMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eC92cHhfZGVjb2Rlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4L3ZweF9lbmNvZGVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHgvdnB4X2V4dF9yYXRlY3RybC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3ZweF9mcmFtZV9idWZmZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW1hZ2UuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW50ZWdlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF90cGwuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0X25lb24uaCIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3RfbmVvbi5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vbWVtX25l
b24uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJt
L3N1bV9uZW9uLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS90cmFuc3Bvc2VfbmVvbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uLmgiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlci5oIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXRyZWFkZXJfYnVmZmVyLmgi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHdyaXRl
ci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXR3
cml0ZXJfYnVmZmVyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2Z3ZF90eGZtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2ludl90eGZtLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3Bvc3Rwcm9jLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3Byb2IuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvcHNuci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9xdWFudGl6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9za2luX2RldGVjdGlvbi5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC90eGZtX2NvbW1vbi5oIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92YXJpYW5jZS5oIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfY29udm9sdmUuaCIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2RzcF9jb21tb24u
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2Zp
bHRlci5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X21lbS9p
bmNsdWRlL3ZweF9tZW1faW50cm5sLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfbWVtL3ZweF9tZW0uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9wb3J0cy9hcm0uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9wb3J0cy9hcm1fY3B1ZGV0ZWN0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvYml0b3BzLmgiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvY29tcGlsZXJfYXR0cmlidXRlcy5oIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2VtbWludHJp
bl9jb21wYXQuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9w
b3J0cy9sb29uZ2FyY2guaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9wb3J0cy9tZW0uaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9wb3J0cy9tZW1fb3BzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfcG9ydHMvbWVtX29wc19hbGlnbmVkLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWlwcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL21zdmMuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9zdGF0aWNfYXNzZXJ0LmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvc3lzdGVtX3N0YXRlLmgiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvdnB4X29uY2Uu
aCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy92cHhf
dGltZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0
cy94ODYuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2Fs
ZS92cHhfc2NhbGUuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9zY2FsZS95djEyY29uZmlnLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfdXRpbC9lbmRpYW5faW5sLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfdXRpbC92cHhfYXRvbWljcy5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvdnB4X3RocmVhZC5oIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvdnB4X3RpbWVzdGFtcC5oIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvdnB4X3dyaXRlX3l1dl9m
cmFtZS5oIiwKLV0KLWxpYnZweF9zcmNzX2FybTY0X2hpZ2hiZF9hc3NlbWJseSA9IFtdCi1saWJ2
cHhfc3Jjc19hcm02NF9oaWdoYmRfbmVvbiA9IFsKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9iaWxpbmVhcnByZWRpY3RfbmVvbi5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVv
bi9jb3B5bWVtX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9jb21tb24vYXJtL25lb24vZGNfb25seV9pZGN0X2FkZF9uZW9uLmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2RlcXVhbnRf
aWRjdF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
Y29tbW9uL2FybS9uZW9uL2RlcXVhbnRpemViX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vaWRjdF9ibGtfbmVvbi5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVv
bi9pd2Fsc2hfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2NvbW1vbi9hcm0vbmVvbi9sb29wZmlsdGVyc2ltcGxlaG9yaXpvbnRhbGVkZ2VfbmVvbi5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0v
bmVvbi9sb29wZmlsdGVyc2ltcGxldmVydGljYWxlZGdlX25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vbWJsb29wZmlsdGVy
X25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21t
b24vYXJtL25lb24vc2hvcnRpZGN0NHg0bGxtX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vc2l4dGFwcHJlZGljdF9uZW9u
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2Fy
bS9uZW9uL3ZwOF9sb29wZmlsdGVyX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2FybS9uZW9uL2Rlbm9pc2luZ19uZW9uLmMiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0vbmVvbi9m
YXN0cXVhbnRpemViX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL2FybS9uZW9uL3Nob3J0ZmRjdF9uZW9uLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0vbmVvbi92cDhfc2hvcnR3
YWxzaDR4NF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9oaWdoYmRfaWh0MTZ4MTZfYWRkX25lb24uYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5
X2hpZ2hiZF9paHQ0eDRfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2hpZ2hiZF9paHQ4eDhfYWRkX25lb24u
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJt
L25lb24vdnA5X2lodDE2eDE2X2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHQ0eDRfYWRkX25lb24uYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25l
b24vdnA5X2lodDh4OF9hZGRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2RjdF9uZW9uLmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZGVu
b2lzZXJfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvYXJtL25lb24vdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9uZW9uLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlf
ZXJyb3JfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvYXJtL25lb24vdnA5X2ZyYW1lX3NjYWxlX25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9oaWdoYmRf
ZXJyb3JfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvYXJtL25lb24vdnA5X3F1YW50aXplX25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2F2Z19uZW9uLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9hdmdfcHJlZF9uZW9uLmMi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9kZWJs
b2NrX25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL2ZkY3QxNngxNl9uZW9uLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9mZGN0MzJ4MzJfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDR4NF9uZW9uLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0OHg4X25lb24u
YyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2Zk
Y3RfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vZmRjdF9wYXJ0aWFsX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL2Z3ZF90eGZtX25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hhZGFtYXJkX25lb24uYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9hdmdf
bmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9h
cm0vaGlnaGJkX2F2Z19wcmVkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9oYWRhbWFyZF9uZW9uLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfaWRjdDE2eDE2
X2FkZF9uZW9uLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9oaWdoYmRfaWRjdDMyeDMyXzEwMjRfYWRkX25lb24uYyIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0MzJ4MzJfMTM1
X2FkZF9uZW9uLmMiLApAQCAtMzUzMywxMSArMjc1NCw2IEBAIGxpYnZweF9zcmNzX2FybTY0X2hp
Z2hiZF9uZW9uID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9oaWdoYmRfaWRjdDh4OF9hZGRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2ludHJhcHJlZF9uZW9uLmMiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRf
bG9vcGZpbHRlcl9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9oaWdoYmRfcXVhbnRpemVfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3NhZDRkX25lb24uYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9z
YWRfbmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vaGlnaGJkX3N1YnBlbF92YXJpYW5jZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfdmFyaWFuY2VfbmVvbi5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJk
X3ZweF9jb252b2x2ZThfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9jb252b2x2ZV9hdmdfbmVvbi5jIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9j
b252b2x2ZV9jb3B5X25lb24uYyIsCkBAIC0zNTQ4LDE2NiArMjc2NCwxOSBAQCBsaWJ2cHhfc3Jj
c19hcm02NF9oaWdoYmRfbmVvbiA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDMyeDMyXzFfYWRkX25lb24uYyIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3QzMngzMl8zNF9hZGRfbmVv
bi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
aWRjdDMyeDMyX2FkZF9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9pZGN0NHg0XzFfYWRkX25lb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q0eDRfYWRkX25lb24uYyIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q4eDhf
MV9hZGRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vaWRjdDh4OF9hZGRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaW50cmFwcmVkX25lb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2xvb3BmaWx0ZXJfbmVvbi5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vcXVhbnRp
emVfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vc2FkNGRfbmVvbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vc2FkX25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1YnBlbF92YXJpYW5jZV9uZW9uLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdWJ0cmFjdF9uZW9uLmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdW1f
c3F1YXJlc19uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS92YXJpYW5jZV9uZW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb24uYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9hdmdf
bmVvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9h
cm0vdnB4X2NvbnZvbHZlX2NvcHlfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX3NxdWFyZXNfbmVvbi5jIiwKKyAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdmFyaWFuY2VfbmVvbi5jIiwK
KyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2Nv
bnZvbHZlOF9uZW9uX2FzbS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9zY2FsZWRfY29udm9sdmU4X25lb24u
YyIsCi1dCi1saWJ2cHhfc3Jjc19hcm02NF9oaWdoYmRfbmVvbl9kb3Rwcm9kID0gWwotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWQ0ZF9uZW9uX2Rv
dHByb2QuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
YXJtL3NhZF9uZW9uX2RvdHByb2QuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvYXJtL3ZhcmlhbmNlX25lb25fZG90cHJvZC5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9u
X2RvdHByb2QuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL3ZweF9jb252b2x2ZV9uZW9uX2RvdHByb2QuYyIsCi1dCi1saWJ2cHhfc3Jjc19hcm02
NF9oaWdoYmRfbmVvbl9pOG1tID0gWwotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb25faThtbS5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX25lb25f
aThtbS5jIiwKLV0KLWxpYnZweF9zcmNzX21pcHMgPSBbCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYWxsb2Njb21tb24uYyIsCi0gICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYmxvY2tkLmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2RlcXVhbnRpemUuYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZW50cm9weS5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9lbnRy
b3B5bW9kZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Nv
bW1vbi9lbnRyb3B5bXYuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9jb21tb24vZXh0ZW5kLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvY29tbW9uL2ZpbHRlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2NvbW1vbi9maW5kbmVhcm12LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2dlbmVyaWMvc3lzdGVtZGVwZW5kZW50LmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2lkY3RfYmxr
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2lk
Y3RsbG0uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21t
b24vbG9vcGZpbHRlcl9maWx0ZXJzLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvY29tbW9uL21icGl0Y2guYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9jb21tb24vbWZxZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9tb2RlY29udC5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9wb3N0cHJvYy5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9xdWFudF9jb21tb24uYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vcmVjb25pbnRl
ci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9y
ZWNvbmludHJhLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
Y29tbW9uL3JlY29uaW50cmE0eDQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vcnRjZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2NvbW1vbi9zZXR1cGludHJhcmVjb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vc3dhcHl2MTJidWZmZXIuYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vdHJlZWNvZGVyLmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL3ZwOF9s
b29wZmlsdGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
Y29tbW9uL3ZwOF9za2luX2RldGVjdGlvbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGJvb2xodWZmLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci9kZWNvZGVmcmFtZS5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlbXYuYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL2RldG9rZW5p
emUuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVy
L29ueXhkX2lmLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
ZGVjb2Rlci90aHJlYWRpbmcuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL2JpdHN0cmVhbS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYm9vbGh1ZmYuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2NvcHlfYy5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZGN0LmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9kZW5vaXNpbmcuYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2VuY29kZWZyYW1l
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9l
bmNvZGVpbnRyYS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2VuY29kZXIvZW5jb2RlbWIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL2VuY29kZW12LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci9ldGhyZWFkaW5nLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9sb29rYWhlYWQuYyIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9tb2RlY29zdHMuYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21yX2Rp
c3NpbS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvb255eF9pZi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2VuY29kZXIvcGlja2ludGVyLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvZW5jb2Rlci9waWNrbHBmLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci9yYXRlY3RybC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvcmRvcHQuYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3NlZ21lbnRhdGlvbi5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvdG9rZW5pemUuYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3RyZWV3
cml0ZXIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNv
ZGVyL3ZwOF9xdWFudGl6ZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L3ZwOF9jeF9pZmFjZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L3ZwOF9keF9pZmFjZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYWxsb2Njb21tb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2Jsb2NrZC5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9uX2RhdGEu
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5
X2VudHJvcHkuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9j
b21tb24vdnA5X2VudHJvcHltb2RlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvY29tbW9uL3ZwOV9lbnRyb3B5bXYuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2ZpbHRlci5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZnJhbWVfYnVmZmVycy5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlf
aWRjdC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1v
bi92cDlfbG9vcGZpbHRlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2NvbW1vbi92cDlfbWZxZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfbXZyZWZfY29tbW9uLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9wb3N0cHJvYy5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfcHJlZF9jb21t
b24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24v
dnA5X3F1YW50X2NvbW1vbi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2NvbW1vbi92cDlfcmVjb25pbnRlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfcmVjb25pbnRyYS5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfcnRjZC5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2NhbGUuYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3Nj
YW4uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24v
dnA5X3NlZ19jb21tb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9jb21tb24vdnA5X3RocmVhZF9jb21tb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3RpbGVfY29tbW9uLmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2RlZnJhbWUu
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3Zw
OV9kZWNvZGVtdi5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2RlY29kZXIvdnA5X2RlY29kZXIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZHN1YmV4cC5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2pvYl9xdWV1ZS5j
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5
X2FxX2N5Y2xpY3JlZnJlc2guYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9iaXRzdHJlYW0uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9jb250ZXh0X3RyZWUuYyIsCi0gICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9jb3N0LmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZGN0
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfZGVub2lzZXIuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3ZwOV9lbmNvZGVmcmFtZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZW1iLmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2RlbXYuYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVy
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfZXRocmVhZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X2V4dF9yYXRlY3RybC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V4dGVuZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2ZyYW1lX3NjYWxlLmMiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbG9va2Fo
ZWFkLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfbWNvbXAuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3ZwOV9tdWx0aV90aHJlYWQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9ub2lzZV9lc3RpbWF0ZS5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3BpY2tscGYuYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9w
aWNrbW9kZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X3F1YW50aXplLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfcmF0ZWN0cmwuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9yZC5jIiwKLSAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Jkb3B0LmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmVzaXplLmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc2Vn
bWVudGF0aW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfc2tpbl9kZXRlY3Rpb24uYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zcGVlZF9mZWF0dXJlcy5jIiwKLSAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N1YmV4cC5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2
Y19sYXllcmNvbnRleHQuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6ZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuYyIs
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2Uu
YyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2Vf
Y29tbW9uLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3Jj
L3ZweF9jb2RlYy5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
L3NyYy92cHhfZGVjb2Rlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4L3NyYy92cHhfZW5jb2Rlci5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3NyYy92cHhfaW1hZ2UuYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X3RwbC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hZGRfbm9pc2UuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXZnLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlci5jIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXRyZWFkZXJfYnVmZmVyLmMiLApAQCAtMzcy
OSw3ICsyNzk4LDcgQEAgbGlidnB4X3NyY3NfbWlwcyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfY29udm9sdmUuYyIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2RzcF9ydGNkLmMiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfbWVtL3ZweF9tZW0uYyIsCi0gICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9taXBzX2NwdWRldGVj
dC5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2Fy
bV9jcHVkZXRlY3QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9zY2FsZS9nZW5lcmljL2dlbl9zY2FsZXJzLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy92cHhfc2NhbGUuYyIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS9nZW5lcmljL3l2MTJjb25maWcu
YyIsCkBAIC0zNzM4LDggKzI4MDcsOSBAQCBsaWJ2cHhfc3Jjc19taXBzID0gWwogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfdXRpbC92cHhfdGhyZWFkLmMiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfdXRpbC92cHhfd3JpdGVfeXV2
X2ZyYW1lLmMiLAogXQotbGlidnB4X3NyY3NfbWlwc19oZWFkZXJzID0gWworbGlidnB4X3NyY3Nf
YXJtX25lb25faGlnaGJkX2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9jb21tb24vYWxsb2Njb21tb24uaCIsCisgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL2xvb3BmaWx0ZXJfYXJtLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2Jsb2NrZC5oIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9jb2VmdXBk
YXRlcHJvYnMuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9j
b21tb24vY29tbW9uLmgiLApAQCAtMzgwMyw2ICsyODczLDcgQEAgbGlidnB4X3NyY3NfbWlwc19o
ZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5j
b2Rlci9zZWdtZW50YXRpb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL3Rva2VuaXplLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci90cmVld3JpdGVyLmgiLAorICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHRfbmVvbi5oIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYWxs
b2Njb21tb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9j
b21tb24vdnA5X2Jsb2NrZC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2NvbW1vbi92cDlfY29tbW9uLmgiLApAQCAtMzg1MCw3ICsyOTIxLDYgQEAgbGlidnB4
X3NyY3NfbWlwc19oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfZXh0X3JhdGVjdHJsLmgiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0ZW5kLmgiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzLmgi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
Zmlyc3RwYXNzX3N0YXRzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci92cDlfam9iX3F1ZXVlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbG9va2FoZWFkLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbWJncmFwaC5oIiwKQEAg
LTM4NzIsMTMgKzI5NDIsMTEgQEAgbGlidnB4X3NyY3NfbWlwc19oZWFkZXJzID0gWwogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVy
Y29udGV4dC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X3RlbXBvcmFsX2ZpbHRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmgiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHJlZXdy
aXRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9j
eF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3Zw
OV9keF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L3ZwOV9pZmFjZV9jb21tb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweC9pbnRlcm5hbC92cHhfY29kZWNfaW50ZXJuYWwuaCIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4LmgiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4Y3guaCIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oIiwKQEAgLTM4ODksNyArMjk1
NywxMyBAQCBsaWJ2cHhfc3Jjc19taXBzX2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfZnJhbWVfYnVmZmVyLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X2ltYWdlLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X2ludGVnZXIuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfdHBsLmgiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfaWRjdF9uZW9uLmgi
LAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0
X25lb24uaCIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
YXJtL21lbV9uZW9uLmgiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS9zdW1fbmVvbi5oIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vdHJhbnNwb3NlX25lb24uaCIsCisgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbi5oIiwKKyAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZv
bHZlOF9uZW9uX2FzbS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9iaXRyZWFkZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYml0cmVhZGVyX2J1ZmZlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXIuaCIsCkBAIC0zOTA5LDExICsyOTgzLDkg
QEAgbGlidnB4X3NyY3NfbWlwc19oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfbWVtL2luY2x1ZGUvdnB4X21lbV9pbnRybmwuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9tZW0vdnB4X21lbS5oIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2FybS5oIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2FzbWRlZnNfbW1pLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvYml0b3Bz
LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvY29t
cGlsZXJfYXR0cmlidXRlcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X3BvcnRzL2VtbWludHJpbl9jb21wYXQuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29uZ2FyY2guaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW0uaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW1fb3BzLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtX29wc19hbGlnbmVkLmgiLApA
QCAtMzkzMiw5ICszMDA0LDQyIEBAIGxpYnZweF9zcmNzX21pcHNfaGVhZGVycyA9IFsKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvdnB4X3RpbWVzdGFtcC5o
IiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvdnB4X3dy
aXRlX3l1dl9mcmFtZS5oIiwKIF0KLWxpYnZweF9zcmNzX21pcHNfYXNzZW1ibHkgPSBbXQotbGli
dnB4X3NyY3NfbG9vbmdhcmNoID0gWworbGlidnB4X3NyY3NfYXJtX25lb25faGlnaGJkX2Fzc2Vt
Ymx5ID0gWworICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Fy
bS9pZGN0NHg0XzFfYWRkX25lb24uYXNtIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDR4NF9hZGRfbmVvbi5hc20iLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0X25lb24uYXNtIiwKKyAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaW50cmFwcmVk
X25lb25fYXNtLmFzbSIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2xvb3BmaWx0ZXJfMTZfbmVvbi5hc20iLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9sb29wZmlsdGVyXzRfbmVvbi5hc20iLAorICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9sb29wZmlsdGVy
XzhfbmVvbi5hc20iLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9zYXZlX3JlZ19uZW9uLmFzbSIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfYXZnX2hvcml6X2ZpbHRlcl90eXBl
MV9uZW9uLmFzbSIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL3ZweF9jb252b2x2ZThfYXZnX2hvcml6X2ZpbHRlcl90eXBlMl9uZW9uLmFzbSIsCisg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252
b2x2ZThfYXZnX3ZlcnRfZmlsdGVyX3R5cGUxX25lb24uYXNtIiwKKyAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9m
aWx0ZXJfdHlwZTJfbmVvbi5hc20iLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X2hvcml6X2ZpbHRlcl90eXBlMV9uZW9uLmFz
bSIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Zw
eF9jb252b2x2ZThfaG9yaXpfZmlsdGVyX3R5cGUyX25lb24uYXNtIiwKKyAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF92ZXJ0X2Zp
bHRlcl90eXBlMV9uZW9uLmFzbSIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfdmVydF9maWx0ZXJfdHlwZTJfbmVvbi5hc20i
LAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhf
Y29udm9sdmVfYXZnX25lb25fYXNtLmFzbSIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9jb3B5X25lb25fYXNtLmFzbSIsCitd
CitsaWJ2cHhfc3Jjc19hcm02NF9oaWdoYmQgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYWxsb2Njb21tb24uYyIsCisgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL2xvb3BmaWx0ZXJfYXJtLmMiLAor
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9u
L2JpbGluZWFycHJlZGljdF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2NvcHltZW1fbmVvbi5jIiwKKyAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9kY19vbmx5X2lk
Y3RfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9jb21tb24vYXJtL25lb24vZGVxdWFudF9pZGN0X25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vZGVxdWFudGl6ZWJfbmVv
bi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9h
cm0vbmVvbi9pZGN0X2Jsa19uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2l3YWxzaF9uZW9uLmMiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2xvb3BmaWx0ZXJz
aW1wbGVob3Jpem9udGFsZWRnZV9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvY29tbW9uL2FybS9uZW9uL2xvb3BmaWx0ZXJzaW1wbGV2ZXJ0aWNhbGVk
Z2VfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Nv
bW1vbi9hcm0vbmVvbi9tYmxvb3BmaWx0ZXJfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9zaG9ydGlkY3Q0eDRsbG1fbmVv
bi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9h
cm0vbmVvbi9zaXh0YXBwcmVkaWN0X25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vdnA4X2xvb3BmaWx0ZXJfbmVvbi5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9ibG9ja2Qu
YyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZGVx
dWFudGl6ZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Nv
bW1vbi9lbnRyb3B5LmMiLApAQCAtMzk2Nyw2ICszMDcyLDEwIEBAIGxpYnZweF9zcmNzX2xvb25n
YXJjaCA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29k
ZXIvZGV0b2tlbml6ZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2RlY29kZXIvb255eGRfaWYuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9kZWNvZGVyL3RocmVhZGluZy5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vZGVub2lzaW5nX25lb24uYyIsCisg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2FybS9uZW9u
L2Zhc3RxdWFudGl6ZWJfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vc2hvcnRmZGN0X25lb24uYyIsCisgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2FybS9uZW9uL3ZwOF9zaG9y
dHdhbHNoNHg0X25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9lbmNvZGVyL2JpdHN0cmVhbS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2VuY29kZXIvYm9vbGh1ZmYuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2NvcHlfYy5jIiwKQEAgLTM5OTIsNiArMzEwMSwx
MiBAQCBsaWJ2cHhfc3Jjc19sb29uZ2FyY2ggPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3ZwOF9xdWFudGl6ZS5jIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9jeF9pZmFjZS5jIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9keF9pZmFjZS5jIiwKKyAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9hcm0vbmVvbi92cDlfaGln
aGJkX2lodDE2eDE2X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9oaWdoYmRfaWh0NHg0X2FkZF9uZW9uLmMi
LAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9u
ZW9uL3ZwOV9oaWdoYmRfaWh0OHg4X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHQxNngxNl9hZGRfbmVv
bi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi9h
cm0vbmVvbi92cDlfaWh0NHg0X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9paHQ4eDhfYWRkX25lb24uYyIs
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2Fs
bG9jY29tbW9uLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
Y29tbW9uL3ZwOV9ibG9ja2QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9jb21tb24vdnA5X2NvbW1vbl9kYXRhLmMiLApAQCAtNDAyMSw2ICszMTM2LDkgQEAg
bGlidnB4X3NyY3NfbG9vbmdhcmNoID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGV0b2tlbml6ZS5jIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2RzdWJleHAuYyIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9qb2JfcXVldWUu
YyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2Fy
bS9uZW9uL3ZwOV9kZW5vaXNlcl9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZnJhbWVfc2NhbGVfbmVvbi5jIiwK
KyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25l
b24vdnA5X3F1YW50aXplX25lb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9hcV9jeWNsaWNyZWZyZXNoLmMiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYml0c3RyZWFtLmMiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfY29u
dGV4dF90cmVlLmMiLApAQCAtNDA1Miw3ICszMTcwLDYgQEAgbGlidnB4X3NyY3NfbG9vbmdhcmNo
ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfc3ViZXhwLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfc3ZjX2xheWVyY29udGV4dC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmMiLAotICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmMiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHJl
ZXdyaXRlci5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3Zw
OV9jeF9pZmFjZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L3ZwOV9keF9pZmFjZS5jIiwKQEAgLTQwNjEsOCArMzE3OCw1MyBAQCBsaWJ2cHhfc3Jjc19sb29u
Z2FyY2ggPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMv
dnB4X2RlY29kZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eC9zcmMvdnB4X2VuY29kZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweC9zcmMvdnB4X2ltYWdlLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHgvc3JjL3ZweF90cGwuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYWRkX25vaXNlLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9hdmdfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vYXZnX3ByZWRfbmVvbi5jIiwKKyAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZGVibG9ja19uZW9u
LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9m
ZGN0MTZ4MTZfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vZmRjdDMyeDMyX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3RfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdF9wYXJ0aWFsX25lb24uYyIsCisg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2Z3ZF90eGZt
X25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
YXJtL2hhZGFtYXJkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0MTZ4MTZfYWRkX25lb24uYyIsCisgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0MzJ4MzJf
MTAyNF9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vaGlnaGJkX2lkY3QzMngzMl8xMzVfYWRkX25lb24uYyIsCisgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0MzJ4MzJf
MzRfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2hpZ2hiZF9pZGN0MzJ4MzJfYWRkX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pZGN0NHg0X2FkZF9uZW9u
LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9o
aWdoYmRfaWRjdDh4OF9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2ludHJhcHJlZF9uZW9uLmMiLAorICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfbG9vcGZpbHRl
cl9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS9oaWdoYmRfdnB4X2NvbnZvbHZlOF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfdnB4X2NvbnZvbHZlX2F2Z19uZW9u
LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9o
aWdoYmRfdnB4X2NvbnZvbHZlX2NvcHlfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9jb252b2x2ZV9uZW9uLmMiLAor
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MTZ4
MTZfMV9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vaWRjdDE2eDE2X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MzJ4MzJfMTM1X2FkZF9uZW9uLmMiLAor
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MzJ4
MzJfMV9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vaWRjdDMyeDMyXzM0X2FkZF9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0MzJ4MzJfYWRkX25lb24uYyIsCisg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q0eDRf
MV9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vaWRjdDR4NF9hZGRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaWRjdDh4OF8xX2FkZF9uZW9uLmMiLAorICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0OHg4X2FkZF9uZW9u
LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9p
bnRyYXByZWRfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vbG9vcGZpbHRlcl9uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9xdWFudGl6ZV9uZW9uLmMiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWQ0ZF9uZW9uLmMiLAorICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWRfbmVvbi5j
IiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3Vi
cGVsX3ZhcmlhbmNlX25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL3N1YnRyYWN0X25lb24uYyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1bV9zcXVhcmVzX25lb24uYyIsCisgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZhcmlhbmNlX25lb24u
YyIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Zw
eF9jb252b2x2ZThfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX2F2Z19uZW9uLmMiLAorICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfY29weV9uZW9u
LmMiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92
cHhfY29udm9sdmVfbmVvbi5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vdnB4X3NjYWxlZF9jb252b2x2ZThfbmVvbi5jIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZmZXIuYyIs
CkBAIC00MDg0LDcgKzMyNDYsNyBAQCBsaWJ2cHhfc3Jjc19sb29uZ2FyY2ggPSBbCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2NvbnZvbHZlLmMiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZweF9kc3BfcnRj
ZC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X21lbS92cHhf
bWVtLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMv
bG9vbmdhcmNoX2NwdWRldGVjdC5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X3BvcnRzL2FybV9jcHVkZXRlY3QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS9nZW5lcmljL2dlbl9zY2FsZXJzLmMiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy92cHhfc2Nh
bGUuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9zY2FsZS9n
ZW5lcmljL3l2MTJjb25maWcuYyIsCkBAIC00MDkzLDggKzMyNTUsOSBAQCBsaWJ2cHhfc3Jjc19s
b29uZ2FyY2ggPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF91
dGlsL3ZweF90aHJlYWQuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF91dGlsL3ZweF93cml0ZV95dXZfZnJhbWUuYyIsCiBdCi1saWJ2cHhfc3Jjc19sb29uZ2Fy
Y2hfaGVhZGVycyA9IFsKK2xpYnZweF9zcmNzX2FybTY0X2hpZ2hiZF9oZWFkZXJzID0gWwogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2FsbG9jY29tbW9u
LmgiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2Fy
bS9sb29wZmlsdGVyX2FybS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9ibG9ja2QuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vY29lZnVwZGF0ZXByb2JzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2NvbW1vbi5oIiwKQEAgLTQxNTgsNiArMzMy
MSw3IEBAIGxpYnZweF9zcmNzX2xvb25nYXJjaF9oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9zZWdtZW50YXRpb24uaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3Rva2VuaXplLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci90cmVl
d3JpdGVyLmgiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29t
bW9uL2FybS9uZW9uL3ZwOV9paHRfbmVvbi5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYWxsb2Njb21tb24uaCIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2Jsb2NrZC5oIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9uLmgi
LApAQCAtNDIwNSw3ICszMzY5LDYgQEAgbGlidnB4X3NyY3NfbG9vbmdhcmNoX2hlYWRlcnMgPSBb
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9l
eHRfcmF0ZWN0cmwuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3ZwOV9leHRlbmQuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3MuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3Nfc3RhdHMuaCIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9qb2Jf
cXVldWUuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9sb29rYWhlYWQuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9tYmdyYXBoLmgiLApAQCAtNDIyNywxMyArMzM5MCwxMSBAQCBs
aWJ2cHhfc3Jjc19sb29uZ2FyY2hfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90ZW1wb3Jh
bF9maWx0ZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV90b2tlbml6ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuaCIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2VfY29tbW9u
LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwv
dnB4X2NvZGVjX2ludGVybmFsLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHgvaW50ZXJuYWwvdnB4X3JhdGVjdHJsX3J0Yy5oIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4L3ZwOGN4LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvdnA4ZHguaCIsCkBAIC00MjQ0LDcgKzM0MDUsMTIgQEAgbGlidnB4X3Ny
Y3NfbG9vbmdhcmNoX2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweC92cHhfZnJhbWVfYnVmZmVyLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHgvdnB4X2ltYWdlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHgvdnB4X2ludGVnZXIuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweC92cHhfdHBsLmgiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfaWRjdF9uZW9uLmgiLAorICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0X25lb24uaCIsCisg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL21lbV9uZW9u
LmgiLAorICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9z
dW1fbmVvbi5oIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vdHJhbnNwb3NlX25lb24uaCIsCisgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbi5oIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXRyZWFkZXIuaCIsCiAgICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyX2J1ZmZlci5oIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXIu
aCIsCkBAIC00MjY3LDcgKzM0MzMsNiBAQCBsaWJ2cHhfc3Jjc19sb29uZ2FyY2hfaGVhZGVycyA9
IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2JpdG9w
cy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2Nv
bXBpbGVyX2F0dHJpYnV0ZXMuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9wb3J0cy9lbW1pbnRyaW5fY29tcGF0LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbG9vbmdhcmNoLmgiLAogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtLmgiLAogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtX29wcy5oIiwKICAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL21lbV9vcHNfYWxpZ25lZC5oIiwK
QEAgLTQyODYsNDMgKzM0NTEsOCBAQCBsaWJ2cHhfc3Jjc19sb29uZ2FyY2hfaGVhZGVycyA9IFsK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvdnB4X3RpbWVz
dGFtcC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwv
dnB4X3dyaXRlX3l1dl9mcmFtZS5oIiwKIF0KLWxpYnZweF9zcmNzX2xvb25nYXJjaF9sc3ggPSBb
Ci0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vbG9vbmdh
cmNoL2lkY3RfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvY29tbW9uL2xvb25nYXJjaC9sb29wZmlsdGVyX2ZpbHRlcnNfbHN4LmMiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2xvb25nYXJjaC9zaXh0YXBf
ZmlsdGVyX2xzeC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2VuY29kZXIvbG9vbmdhcmNoL2RjdF9sc3guYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2xvb25nYXJjaC9lbmNvZGVvcHRfbHN4LmMiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9sb29uZ2FyY2gv
dnA4X3F1YW50aXplX2xzeC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9sb29uZ2FyY2gvYXZnX2xzeC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvYXZnX3ByZWRfbHN4LmMiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9iaXRkZXB0
aF9jb252ZXJzaW9uX2xzeC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9sb29uZ2FyY2gvZndkX2RjdDMyeDMyX2xzeC5jIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvZndkX3R4Zm1fbHN4LmMi
LAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJj
aC9md2RfdHhmbV9sc3guaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbG9vbmdhcmNoL2lkY3QzMngzMl9sc3guYyIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2ludHJhcHJlZF9sc3guYyIsCi0g
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2xv
b3BmaWx0ZXJfMTZfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2xvb25nYXJjaC9sb29wZmlsdGVyXzRfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9sb29wZmlsdGVyXzhfbHN4
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25n
YXJjaC9sb29wZmlsdGVyX2xzeC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvcXVhbnRpemVfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9zYWRfbHN4LmMiLAotICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9zdWJf
cGl4ZWxfdmFyaWFuY2VfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2xvb25nYXJjaC9zdWJ0cmFjdF9sc3guYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3R4Zm1fbWFjcm9zX2xzeC5o
IiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2Fy
Y2gvdmFyaWFuY2VfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2xvb25nYXJjaC92YXJpYW5jZV9sc3guaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfYXZnX2hv
cml6X2xzeC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9hdmdfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmU4X2F2Z192
ZXJ0X2xzeC5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9ob3Jpel9sc3guYyIsCi0gICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfbHN4
LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25n
YXJjaC92cHhfY29udm9sdmU4X3ZlcnRfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmVfYXZnX2xzeC5jIiwK
LSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gv
dnB4X2NvbnZvbHZlX2NvcHlfbHN4LmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmVfbHN4LmgiLAotXQotbGlidnB4
X3NyY3NfcHBjNjQgPSBbCitsaWJ2cHhfc3Jjc19hcm02NF9oaWdoYmRfYXNzZW1ibHkgPSBbXQor
bGlidnB4X3NyY3NfbWlwcyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9hbGxvY2NvbW1vbi5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9ibG9ja2QuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZGVxdWFudGl6ZS5jIiwKQEAgLTQ0NDEsNyArMzU3
MSw2IEBAIGxpYnZweF9zcmNzX3BwYzY0ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ViZXhwLmMiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVyY29udGV4dC5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rv
a2VuaXplLmMiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci92cDlfdHBsX21vZGVsLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfdHJlZXdyaXRlci5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9jeF9pZmFjZS5jIiwKICAgIi8vdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9keF9pZmFjZS5jIiwKQEAgLTQ0NTAsNyArMzU3
OSw2IEBAIGxpYnZweF9zcmNzX3BwYzY0ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvc3JjL3ZweF9kZWNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9lbmNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9pbWFnZS5jIiwKLSAgIi8vdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92cHhfdHBsLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FkZF9ub2lzZS5jIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLApAQCAt
NDQ3Myw3ICszNjAxLDcgQEAgbGlidnB4X3NyY3NfcHBjNjQgPSBbCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2NvbnZvbHZlLmMiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZweF9kc3BfcnRjZC5jIiwKICAg
Ii8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X21lbS92cHhfbWVtLmMiLAot
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvcHBjX2NwdWRl
dGVjdC5jIiwKKyAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRz
L21pcHNfY3B1ZGV0ZWN0LmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfc2NhbGUvZ2VuZXJpYy9nZW5fc2NhbGVycy5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X3NjYWxlL2dlbmVyaWMvdnB4X3NjYWxlLmMiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy95djEyY29u
ZmlnLmMiLApAQCAtNDQ4Miw3ICszNjEwLDcgQEAgbGlidnB4X3NyY3NfcHBjNjQgPSBbCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF91dGlsL3ZweF90aHJlYWQuYyIs
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF91dGlsL3ZweF93cml0
ZV95dXZfZnJhbWUuYyIsCiBdCi1saWJ2cHhfc3Jjc19wcGM2NF9oZWFkZXJzID0gWworbGlidnB4
X3NyY3NfbWlwc19oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvY29tbW9uL2FsbG9jY29tbW9uLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDgvY29tbW9uL2Jsb2NrZC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9jb2VmdXBkYXRlcHJvYnMuaCIsCkBAIC00NTk0
LDcgKzM3MjIsNiBAQCBsaWJ2cHhfc3Jjc19wcGM2NF9oZWFkZXJzID0gWwogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0X3JhdGVjdHJsLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
ZXh0ZW5kLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci92cDlfZmlyc3RwYXNzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzX3N0YXRzLmgiLAogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfam9iX3F1ZXVlLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbG9va2Fo
ZWFkLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfbWJncmFwaC5oIiwKQEAgLTQ2MTYsMTMgKzM3NDMsMTEgQEAgbGlidnB4X3NyY3NfcHBj
NjRfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXIuaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6
ZS5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X3RwbF9tb2RlbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfaWZhY2VfY29tbW9uLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwvdnB4X2NvZGVjX2ludGVybmFs
LmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwv
dnB4X3JhdGVjdHJsX3J0Yy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4L3ZwOC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
L3ZwOGN4LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4
ZHguaCIsCkBAIC00NjMzLDcgKzM3NTgsNiBAQCBsaWJ2cHhfc3Jjc19wcGM2NF9oZWFkZXJzID0g
WwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X2ZyYW1lX2J1
ZmZlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9p
bWFnZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9p
bnRlZ2VyLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4
X3RwbC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9i
aXRyZWFkZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYml0cmVhZGVyX2J1ZmZlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXIuaCIsCkBAIC00NjUzLDE2ICszNzc3LDE1IEBAIGxpYnZw
eF9zcmNzX3BwYzY0X2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9tZW0vaW5jbHVkZS92cHhfbWVtX2ludHJubC5oIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X21lbS92cHhfbWVtLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvYXJtLmgiLAorICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvYXNtZGVmc19tbWkuaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9iaXRvcHMuaCIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9jb21waWxlcl9h
dHRyaWJ1dGVzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
cG9ydHMvZW1taW50cmluX2NvbXBhdC5oIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X3BvcnRzL2xvb25nYXJjaC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL21lbS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL21lbV9vcHMuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW1fb3BzX2FsaWduZWQuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9taXBzLmgiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbXN2Yy5oIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL3BwYy5oIiwKICAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL3N0YXRpY19hc3NlcnQu
aCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9zeXN0
ZW1fc3RhdGUuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9w
b3J0cy92cHhfb25jZS5oIiwKQEAgLTQ2NzYsNyArMzc5OSw3IEBAIGxpYnZweF9zcmNzX3BwYzY0
X2hlYWRlcnMgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF91
dGlsL3ZweF90aW1lc3RhbXAuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF91dGlsL3ZweF93cml0ZV95dXZfZnJhbWUuaCIsCiBdCi1saWJ2cHhfc3Jjc19wcGM2
NF9hc3NlbWJseSA9IFtdCitsaWJ2cHhfc3Jjc19taXBzX2Fzc2VtYmx5ID0gW10KIGxpYnZweF9z
cmNzX25hY2wgPSBbCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9j
b21tb24vYWxsb2Njb21tb24uYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9jb21tb24vYmxvY2tkLmMiLApAQCAtNDc5Niw3ICszOTE5LDYgQEAgbGlidnB4X3Ny
Y3NfbmFjbCA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X3N1YmV4cC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuYyIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6ZS5jIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2Rl
bC5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X3RyZWV3cml0ZXIuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS92cDlfY3hfaWZhY2UuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS92cDlfZHhfaWZhY2UuYyIsCkBAIC00ODA1LDcgKzM5MjcsNiBAQCBsaWJ2cHhfc3Jj
c19uYWNsID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3Jj
L3ZweF9kZWNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHgvc3JjL3ZweF9lbmNvZGVyLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHgvc3JjL3ZweF9pbWFnZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L3NyYy92cHhfdHBsLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FkZF9ub2lzZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hdmcuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmMiLApAQCAtNDk0OCw3ICs0MDY5LDYgQEAg
bGlidnB4X3NyY3NfbmFjbF9oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0X3JhdGVjdHJsLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0ZW5kLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3Rw
YXNzLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfZmlyc3RwYXNzX3N0YXRzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZW5jb2Rlci92cDlfam9iX3F1ZXVlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbG9va2FoZWFkLmgiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbWJncmFwaC5o
IiwKQEAgLTQ5NzAsMTMgKzQwOTAsMTEgQEAgbGlidnB4X3NyY3NfbmFjbF9oZWFkZXJzID0gWwog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3Zj
X2xheWVyY29udGV4dC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X3RlbXBvcmFsX2ZpbHRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmgiLAotICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
dHJlZXdyaXRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L3ZwOV9jeF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L3ZwOV9keF9pZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L3ZwOV9pZmFjZV9jb21tb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfY29kZWNfaW50ZXJuYWwuaCIsCi0gICIvL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRj
LmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4LmgiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4Y3guaCIsCiAgICIv
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oIiwKQEAgLTQ5ODcs
NyArNDEwNSw2IEBAIGxpYnZweF9zcmNzX25hY2xfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9mcmFtZV9idWZmZXIuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW1hZ2UuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW50ZWdlci5oIiwKLSAgIi8v
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF90cGwuaCIsCiAgICIvL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmgiLAogICAi
Ly90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZm
ZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0
d3JpdGVyLmgiLApAQCAtNTAxMCw3ICs0MTI3LDYgQEAgbGlidnB4X3NyY3NfbmFjbF9oZWFkZXJz
ID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvYml0
b3BzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMv
Y29tcGlsZXJfYXR0cmlidXRlcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X3BvcnRzL2VtbWludHJpbl9jb21wYXQuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29uZ2FyY2guaCIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW0uaCIsCiAgICIvL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW1fb3BzLmgiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtX29wc19hbGlnbmVkLmgi
LApAQCAtNTE0OSw3ICs0MjY1LDYgQEAgbGlidnB4X3NyY3NfZ2VuZXJpYyA9IFsKICAgIi8vdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N1YmV4cC5jIiwK
ICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2
Y19sYXllcmNvbnRleHQuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL3ZwOV90b2tlbml6ZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5jIiwKICAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RyZWV3cml0ZXIuYyIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfY3hfaWZhY2UuYyIs
CiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2Uu
YyIsCkBAIC01MTU4LDcgKzQyNzMsNiBAQCBsaWJ2cHhfc3Jjc19nZW5lcmljID0gWwogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9kZWNvZGVyLmMiLAog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9lbmNvZGVy
LmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9p
bWFnZS5jIiwKLSAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92
cHhfdHBsLmMiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FkZF9ub2lzZS5jIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hdmcuYyIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYml0cmVhZGVyLmMiLApAQCAtNTMwMSw3ICs0NDE1LDYgQEAgbGlidnB4X3NyY3NfZ2VuZXJp
Y19oZWFkZXJzID0gWwogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfZXh0X3JhdGVjdHJsLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0ZW5kLmgiLAogICAiLy90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzLmgiLAotICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNz
X3N0YXRzLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci92cDlfam9iX3F1ZXVlLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfbG9va2FoZWFkLmgiLAogICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbWJncmFwaC5oIiwKQEAgLTUzMjMsMTMg
KzQ0MzYsMTEgQEAgbGlidnB4X3NyY3NfZ2VuZXJpY19oZWFkZXJzID0gWwogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVyY29udGV4
dC5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X3RlbXBvcmFsX2ZpbHRlci5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmgiLAotICAiLy90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmgiLAogICAiLy90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdHJlZXdyaXRlci5o
IiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9jeF9pZmFj
ZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9keF9p
ZmFjZS5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9p
ZmFjZV9jb21tb24uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eC9pbnRlcm5hbC92cHhfY29kZWNfaW50ZXJuYWwuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgiLAogICAiLy90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4LmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4Y3guaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oIiwKQEAgLTUzNDAsNyArNDQ1MSw2IEBA
IGxpYnZweF9zcmNzX2dlbmVyaWNfaGVhZGVycyA9IFsKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9mcmFtZV9idWZmZXIuaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW1hZ2UuaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfaW50ZWdlci5oIiwKLSAgIi8vdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF90cGwuaCIsCiAgICIvL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0cmVhZGVyLmgiLAogICAiLy90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHJlYWRlcl9idWZmZXIuaCIsCiAg
ICIvL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYml0d3JpdGVyLmgi
LApAQCAtNTM2Myw3ICs0NDczLDYgQEAgbGlidnB4X3NyY3NfZ2VuZXJpY19oZWFkZXJzID0gWwog
ICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvYml0b3BzLmgi
LAogICAiLy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvY29tcGls
ZXJfYXR0cmlidXRlcy5oIiwKICAgIi8vdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL2VtbWludHJpbl9jb21wYXQuaCIsCi0gICIvL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29uZ2FyY2guaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW0uaCIsCiAgICIvL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9tZW1fb3BzLmgiLAogICAiLy90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbWVtX29wc19hbGlnbmVkLmgiLApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvbGludF9jb25maWcuc2ggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9saW50X2NvbmZpZy5zaAppbmRleCBlMGIxNWY0ZDcwMTQuLmE0
ZmQzODIzMzNkMCAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvbGludF9jb25maWcuc2gKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvbGludF9jb25maWcuc2gKQEAg
LTEsNiArMSw2IEBACi0jIS9iaW4vYmFzaAorIyEvYmluL2Jhc2ggLWUKICMKLSMgQ29weXJpZ2h0
IDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMKKyMgQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJv
bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAjIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKQEAgLTE5LDMxICsxOSwzMiBAQAogIyAjIENvbXBh
cmUgdGhlIHR3byBjb25maWd1cmF0aW9uIGZpbGVzIGFuZCBvdXRwdXQgdGhlIGZpbmFsIHJlc3Vs
dHMuCiAjIC4vbGludF9jb25maWcuc2ggLWggdnB4X2NvbmZpZy5oIC1hIHZweF9jb25maWcuYXNt
IC1vIGxpYnZweC5jb25maWcgLXAKIAotc2V0IC1lCi0KIGV4cG9ydCBMQ19BTEw9QwogcHJpbnRf
ZmluYWw9Im5vIgogCi13aGlsZSBnZXRvcHRzICJoOmE6bzpwIiBmbGFnOyBkbwotICBpZiBbWyAi
JGZsYWciID09ICJoIiBdXTsgdGhlbgord2hpbGUgZ2V0b3B0cyAiaDphOm86cCIgZmxhZworZG8K
KyAgaWYgWyAiJGZsYWciID0gImgiIF07IHRoZW4KICAgICBoZWFkZXJfZmlsZT0kT1BUQVJHCi0g
IGVsaWYgW1sgIiRmbGFnIiA9PSAiYSIgXV07IHRoZW4KKyAgZWxpZiBbICIkZmxhZyIgPSAiYSIg
XTsgdGhlbgogICAgIGFzbV9maWxlPSRPUFRBUkcKLSAgZWxpZiBbWyAiJGZsYWciID09ICJvIiBd
XTsgdGhlbgorICBlbGlmIFsgIiRmbGFnIiA9ICJvIiBdOyB0aGVuCiAgICAgb3V0X2ZpbGU9JE9Q
VEFSRwotICBlbGlmIFtbICIkZmxhZyIgPT0gInAiIF1dOyB0aGVuCisgIGVsaWYgWyAiJGZsYWci
ID0gInAiIF07IHRoZW4KICAgICBwcmludF9maW5hbD0ieWVzIgogICBmaQogZG9uZQogCi1pZiBb
WyAteiAiJGhlYWRlcl9maWxlIiBdXTsgdGhlbgoraWYgWyAteiAiJGhlYWRlcl9maWxlIiBdOyB0
aGVuCiAgIGVjaG8gIkhlYWRlciBmaWxlIG5vdCBzcGVjaWZpZWQuIgotICBleGl0IDEKKyAgZmFs
c2UKKyAgZXhpdAogZmkKIAotaWYgW1sgLXogIiRhc21fZmlsZSIgXV07IHRoZW4KK2lmIFsgLXog
IiRhc21fZmlsZSIgXTsgdGhlbgogICBlY2hvICJBU00gZmlsZSBub3Qgc3BlY2lmaWVkLiIKLSAg
ZXhpdCAxCisgIGZhbHNlCisgIGV4aXQKIGZpCiAKICMgQ29uY2F0IGhlYWRlciBmaWxlIGFuZCBh
c3NlbWJseSBmaWxlIGFuZCBzZWxlY3QgdGhvc2UgZW5kZWQgd2l0aCAwIG9yIDEuCkBAIC05MCwx
MSArOTEsMTIgQEAgZm9yIHZhciBpbiAkb2RkX3ZhcnM7IGRvCiAgIGVjaG8gIiIKIGRvbmUKIAot
aWYgW1sgLW4gIiRvZGRfdmFycyIgXV07IHRoZW4KLSAgZXhpdCAxCitpZiBbIC1uICIkb2RkX3Zh
cnMiIF07IHRoZW4KKyAgZmFsc2UKKyAgZXhpdAogZmkKIAotaWYgW1sgIiRwcmludF9maW5hbCIg
PT0gIm5vIiBdXTsgdGhlbgoraWYgWyAiJHByaW50X2ZpbmFsIiA9ICJubyIgXTsgdGhlbgogICBl
eGl0CiBmaQogCkBAIC0xMDMsNyArMTA1LDcgQEAgY29tYmluZWRfY29uZmlnPSIkKGVjaG8gIiRj
b21iaW5lZF9jb25maWciIHwgZ3JlcCAtdiBBUkNIX1g4Nj1ubykiCiBjb21iaW5lZF9jb25maWc9
IiQoZWNobyAiJGNvbWJpbmVkX2NvbmZpZyIgfCBncmVwIC12IEFSQ0hfWDg2XzY0PW5vKSIKIAog
IyBQcmludCBvdXQgdGhlIHVuaXF1ZSBjb25maWd1cmF0aW9ucy4KLWlmIFtbIC1uICIkb3V0X2Zp
bGUiIF1dOyB0aGVuCitpZiBbIC1uICIkb3V0X2ZpbGUiIF07IHRoZW4KICAgZWNobyAiJGNvbWJp
bmVkX2NvbmZpZyIgfCBzb3J0IHwgdW5pcSA+ICRvdXRfZmlsZQogZWxzZQogICBlY2hvICIkY29t
YmluZWRfY29uZmlnIiB8IHNvcnQgfCB1bmlxCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9ydW5fcGVybC5weSBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3J1bl9wZXJs
LnB5CmluZGV4IGFjMDM2ZjQ3OTc1Ni4uYTIxM2IxMjBlYzE5IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9ydW5fcGVybC5w
eQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9ydW5fcGVybC5weQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgog
IwotIyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycworIyBDb3B5cmlnaHQgMjAx
NCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQogIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2lvcy9hcm0tbmVvbi92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtLW5lb24vdnA4
X3J0Y2QuaAppbmRleCAxMDI1MDEwOTQyNTQuLmM0YmI0MWIyMTI3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9pb3MvYXJtLW5lb24vdnA4X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2lvcy9hcm0t
bmVvbi92cDhfcnRjZC5oCkBAIC04Myw2ICs4MywzNiBAQCB2b2lkIHZwOF9iaWxpbmVhcl9wcmVk
aWN0OHg4X25lb24odW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKICNkZWZpbmUgdnA4X2JpbGluZWFyX3ByZWRp
Y3Q4eDggdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfbmVvbgogCit2b2lkIHZwOF9ibGVuZF9iX2Mo
dW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAor
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAg
aW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAg
IGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAg
ICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfYiB2cDhfYmxlbmRfYl9jCisKK3Zv
aWQgdnA4X2JsZW5kX21iX2lubmVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX2lu
bmVyIHZwOF9ibGVuZF9tYl9pbm5lcl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX291dGVyX2ModW5z
aWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Ry
aWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX291dGVyIHZwOF9ibGVuZF9tYl9vdXRlcl9jCisK
IGludCB2cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZmKTsKICNk
ZWZpbmUgdnA4X2Jsb2NrX2Vycm9yIHZwOF9ibG9ja19lcnJvcl9jCiAKQEAgLTI0OSw2ICsyNzks
MTcgQEAgdm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9jKHVuc2lnbmVkIGNoYXIqIHNyYywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7CiAjZGVmaW5l
IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MKIAoraW50
IHZwOF9mdWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRf
bXYqIHJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
aW9uIGludF9tdiogY2VudGVyX212KTsKKyNkZWZpbmUgdnA4X2Z1bGxfc2VhcmNoX3NhZCB2cDhf
ZnVsbF9zZWFyY2hfc2FkX2MKKwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNpZ25lZCBj
aGFyKiB5X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtLW5lb24vdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
aW9zL2FybS1uZW9uL3ZwOV9ydGNkLmgKaW5kZXggNGMyYTRhZGFkMjZjLi5lMTc5NTRkNDNiZGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZwOV9ydGNkLmgKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9pb3MvYXJtLW5lb24vdnA5X3J0Y2QuaApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3Qg
bWFjcm9ibG9ja2Q7CiAKIC8qIEVuY29kZXIgZm9yd2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3Jv
YmxvY2s7Ci1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwot
c3RydWN0IFNjYW5PcmRlcjsKK3N0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNl
YXJjaF9zaXRlX2NvbmZpZzsKIHN0cnVjdCBtdjsKIHVuaW9uIGludF9tdjsKQEAgLTM3LDExICsz
NSw3IEBAIGludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IGJsb2NrX3NpemUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludDY0X3QqIHNzeik7Ci1pbnQ2NF90IHZwOV9ibG9ja19lcnJvcl9u
ZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRwdHJfdCBibG9ja19zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2
NF90KiBzc3opOwotI2RlZmluZSB2cDlfYmxvY2tfZXJyb3IgdnA5X2Jsb2NrX2Vycm9yX25lb24K
KyNkZWZpbmUgdnA5X2Jsb2NrX2Vycm9yIHZwOV9ibG9ja19lcnJvcl9jCiAKIGludDY0X3QgdnA5
X2Jsb2NrX2Vycm9yX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCkBAIC03NCw1NCArNjgs
MzEgQEAgaW50IHZwOV9kZW5vaXNlcl9maWx0ZXJfbmVvbihjb25zdCB1aW50OF90KiBzaWcsCiBp
bnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29u
ZmlnKiBjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
dnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwotaW50IHZwOV9kaWFt
b25kX3NlYXJjaF9zYWRfbmVvbihjb25zdCBzdHJ1Y3QgbWFjcm9ibG9jayogeCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyog
Y2ZnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIHJlZl9tdiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfbXZfc2FkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWFyY2hfcGFyYW0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50KiBudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IHZwOV9zYWRfdGFibGUqIHNhZF9mbl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiogY2VudGVyX212KTsKLSNkZWZpbmUg
dnA5X2RpYW1vbmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX25lb24KKyNkZWZp
bmUgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MKIAogdm9p
ZCB2cDlfZmh0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci12b2lkIHZwOV9maHQxNngxNl9uZW9u
KGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2ZodDE2eDE2IHZwOV9maHQx
NngxNl9uZW9uCisjZGVmaW5lIHZwOV9maHQxNngxNiB2cDlfZmh0MTZ4MTZfYwogCiB2b2lkIHZw
OV9maHQ0eDRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIG91dHB1dCwKICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICBpbnQgdHhfdHlwZSk7Ci12b2lkIHZwOV9maHQ0eDRfbmVvbihjb25zdCBpbnQxNl90
KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgdHhf
dHlwZSk7Ci0jZGVmaW5lIHZwOV9maHQ0eDQgdnA5X2ZodDR4NF9uZW9uCisjZGVmaW5lIHZwOV9m
aHQ0eDQgdnA5X2ZodDR4NF9jCiAKIHZvaWQgdnA5X2ZodDh4OF9jKGNvbnN0IGludDE2X3QqIGlu
cHV0LAogICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQg
dnA5X2ZodDh4OF9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2ZodDh4OCB2
cDlfZmh0OHg4X25lb24KKyNkZWZpbmUgdnA5X2ZodDh4OCB2cDlfZmh0OHg4X2MKIAogdm9pZCB2
cDlfZmlsdGVyX2J5X3dlaWdodDE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNzIsMzggKzE0Myw1
MCBAQCB2b2lkIHZwOV9paHQ4eDhfNjRfYWRkX25lb24oY29uc3QgdHJhbl9sb3dfdCogaW5wdXQs
CiAKIHZvaWQgdnA5X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAor
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29l
ZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9u
ZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBx
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2
cDlfcXVhbnRpemVfZnAgdnA5X3F1YW50aXplX2ZwX25lb24KIAogdm9pZCB2cDlfcXVhbnRpemVf
ZnBfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnA5X3F1YW50aXplX2ZwXzMy
eDMyX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0
IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9xdWFudGl6ZV9mcF8zMngzMiB2cDlfcXVhbnRpemVfZnBf
MzJ4MzJfbmVvbgogCiB2b2lkIHZwOV9zY2FsZV9hbmRfZXh0ZW5kX2ZyYW1lX2MoY29uc3Qgc3Ry
dWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogc3JjLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3Mv
YXJtLW5lb24vdnB4X2NvbmZpZy5hc20gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2lvcy9hcm0tbmVvbi92cHhfY29u
ZmlnLmFzbQppbmRleCBkOWYyN2VhODNjYzguLjAzMjIxNTcwNzVlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9pb3MvYXJtLW5lb24vdnB4X2NvbmZpZy5hc20KKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3Mv
YXJtLW5lb24vdnB4X2NvbmZpZy5hc20KQEAgLTEsMTA2ICsxLDk4IEBACiBAIFRoaXMgZmlsZSB3
YXMgY3JlYXRlZCBmcm9tIGEgLmFzbSBmaWxlCiBAICB1c2luZyB0aGUgYWRzMmdhc19hcHBsZS5w
bCBzY3JpcHQuCiAKLS5zeW50YXggdW5pZmllZAotLmVxdSBWUFhfQVJDSF9BUk0gLCAgMQotLmVx
dSBBUkNIX0FSTSAsICAxCi0uZXF1IFZQWF9BUkNIX0FBUkNINjQgLCAgMAotLmVxdSBBUkNIX0FB
UkNINjQgLCAgMAotLmVxdSBWUFhfQVJDSF9NSVBTICwgIDAKLS5lcXUgQVJDSF9NSVBTICwgIDAK
LS5lcXUgVlBYX0FSQ0hfWDg2ICwgIDAKLS5lcXUgQVJDSF9YODYgLCAgMAotLmVxdSBWUFhfQVJD
SF9YODZfNjQgLCAgMAotLmVxdSBBUkNIX1g4Nl82NCAsICAwCi0uZXF1IFZQWF9BUkNIX1BQQyAs
ICAwCi0uZXF1IEFSQ0hfUFBDICwgIDAKLS5lcXUgVlBYX0FSQ0hfTE9PTkdBUkNIICwgIDAKLS5l
cXUgQVJDSF9MT09OR0FSQ0ggLCAgMAotLmVxdSBIQVZFX05FT05fQVNNICwgIDEKLS5lcXUgSEFW
RV9ORU9OICwgIDEKLS5lcXUgSEFWRV9ORU9OX0RPVFBST0QgLCAgMAotLmVxdSBIQVZFX05FT05f
SThNTSAsICAwCi0uZXF1IEhBVkVfTUlQUzMyICwgIDAKLS5lcXUgSEFWRV9EU1BSMiAsICAwCi0u
ZXF1IEhBVkVfTVNBICwgIDAKLS5lcXUgSEFWRV9NSVBTNjQgLCAgMAotLmVxdSBIQVZFX01NWCAs
ICAwCi0uZXF1IEhBVkVfU1NFICwgIDAKLS5lcXUgSEFWRV9TU0UyICwgIDAKLS5lcXUgSEFWRV9T
U0UzICwgIDAKLS5lcXUgSEFWRV9TU1NFMyAsICAwCi0uZXF1IEhBVkVfU1NFNF8xICwgIDAKLS5l
cXUgSEFWRV9BVlggLCAgMAotLmVxdSBIQVZFX0FWWDIgLCAgMAotLmVxdSBIQVZFX0FWWDUxMiAs
ICAwCi0uZXF1IEhBVkVfVlNYICwgIDAKLS5lcXUgSEFWRV9NTUkgLCAgMAotLmVxdSBIQVZFX0xT
WCAsICAwCi0uZXF1IEhBVkVfTEFTWCAsICAwCi0uZXF1IEhBVkVfVlBYX1BPUlRTICwgIDEKLS5l
cXUgSEFWRV9QVEhSRUFEX0ggLCAgMQotLmVxdSBIQVZFX1VOSVNURF9IICwgIDAKLS5lcXUgQ09O
RklHX0RFUEVOREVOQ1lfVFJBQ0tJTkcgLCAgMQotLmVxdSBDT05GSUdfRVhURVJOQUxfQlVJTEQg
LCAgMQotLmVxdSBDT05GSUdfSU5TVEFMTF9ET0NTICwgIDAKLS5lcXUgQ09ORklHX0lOU1RBTExf
QklOUyAsICAxCi0uZXF1IENPTkZJR19JTlNUQUxMX0xJQlMgLCAgMQotLmVxdSBDT05GSUdfSU5T
VEFMTF9TUkNTICwgIDAKLS5lcXUgQ09ORklHX0RFQlVHICwgIDAKLS5lcXUgQ09ORklHX0dQUk9G
ICwgIDAKLS5lcXUgQ09ORklHX0dDT1YgLCAgMAotLmVxdSBDT05GSUdfUlZDVCAsICAwCi0uZXF1
IENPTkZJR19HQ0MgLCAgMQotLmVxdSBDT05GSUdfTVNWUyAsICAwCi0uZXF1IENPTkZJR19QSUMg
LCAgMAotLmVxdSBDT05GSUdfQklHX0VORElBTiAsICAwCi0uZXF1IENPTkZJR19DT0RFQ19TUkNT
ICwgIDAKLS5lcXUgQ09ORklHX0RFQlVHX0xJQlMgLCAgMAotLmVxdSBDT05GSUdfREVRVUFOVF9U
T0tFTlMgLCAgMAotLmVxdSBDT05GSUdfRENfUkVDT04gLCAgMAotLmVxdSBDT05GSUdfUlVOVElN
RV9DUFVfREVURUNUICwgIDAKLS5lcXUgQ09ORklHX1BPU1RQUk9DICwgIDEKLS5lcXUgQ09ORklH
X1ZQOV9QT1NUUFJPQyAsICAxCi0uZXF1IENPTkZJR19NVUxUSVRIUkVBRCAsICAxCi0uZXF1IENP
TkZJR19JTlRFUk5BTF9TVEFUUyAsICAwCi0uZXF1IENPTkZJR19WUDhfRU5DT0RFUiAsICAxCi0u
ZXF1IENPTkZJR19WUDhfREVDT0RFUiAsICAxCi0uZXF1IENPTkZJR19WUDlfRU5DT0RFUiAsICAx
Ci0uZXF1IENPTkZJR19WUDlfREVDT0RFUiAsICAxCi0uZXF1IENPTkZJR19WUDggLCAgMQotLmVx
dSBDT05GSUdfVlA5ICwgIDEKLS5lcXUgQ09ORklHX0VOQ09ERVJTICwgIDEKLS5lcXUgQ09ORklH
X0RFQ09ERVJTICwgIDEKLS5lcXUgQ09ORklHX1NUQVRJQ19NU1ZDUlQgLCAgMAotLmVxdSBDT05G
SUdfU1BBVElBTF9SRVNBTVBMSU5HICwgIDEKLS5lcXUgQ09ORklHX1JFQUxUSU1FX09OTFkgLCAg
MQotLmVxdSBDT05GSUdfT05USEVGTFlfQklUUEFDS0lORyAsICAwCi0uZXF1IENPTkZJR19FUlJP
Ul9DT05DRUFMTUVOVCAsICAwCi0uZXF1IENPTkZJR19TSEFSRUQgLCAgMAotLmVxdSBDT05GSUdf
U1RBVElDICwgIDEKLS5lcXUgQ09ORklHX1NNQUxMICwgIDAKLS5lcXUgQ09ORklHX1BPU1RQUk9D
X1ZJU1VBTElaRVIgLCAgMAotLmVxdSBDT05GSUdfT1NfU1VQUE9SVCAsICAxCi0uZXF1IENPTkZJ
R19VTklUX1RFU1RTICwgIDEKLS5lcXUgQ09ORklHX1dFQk1fSU8gLCAgMQotLmVxdSBDT05GSUdf
TElCWVVWICwgIDAKLS5lcXUgQ09ORklHX0RFQ09ERV9QRVJGX1RFU1RTICwgIDAKLS5lcXUgQ09O
RklHX0VOQ09ERV9QRVJGX1RFU1RTICwgIDAKLS5lcXUgQ09ORklHX01VTFRJX1JFU19FTkNPRElO
RyAsICAxCi0uZXF1IENPTkZJR19URU1QT1JBTF9ERU5PSVNJTkcgLCAgMQotLmVxdSBDT05GSUdf
VlA5X1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCi0uZXF1IENPTkZJR19DT0VGRklDSUVOVF9SQU5H
RV9DSEVDS0lORyAsICAwCi0uZXF1IENPTkZJR19WUDlfSElHSEJJVERFUFRIICwgIDAKLS5lcXUg
Q09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZICwgIDAKLS5lcXUgQ09ORklHX0VYUEVSSU1F
TlRBTCAsICAwCi0uZXF1IENPTkZJR19TSVpFX0xJTUlUICwgIDEKLS5lcXUgQ09ORklHX0FMV0FZ
U19BREpVU1RfQlBNICwgIDAKLS5lcXUgQ09ORklHX0JJVFNUUkVBTV9ERUJVRyAsICAwCi0uZXF1
IENPTkZJR19NSVNNQVRDSF9ERUJVRyAsICAwCi0uZXF1IENPTkZJR19GUF9NQl9TVEFUUyAsICAw
Ci0uZXF1IENPTkZJR19FTVVMQVRFX0hBUkRXQVJFICwgIDAKLS5lcXUgQ09ORklHX05PTl9HUkVF
RFlfTVYgLCAgMAotLmVxdSBDT05GSUdfUkFURV9DVFJMICwgIDAKLS5lcXUgQ09ORklHX0NPTExF
Q1RfQ09NUE9ORU5UX1RJTUlORyAsICAwCi0uZXF1IERFQ09ERV9XSURUSF9MSU1JVCAsICAxNjM4
NAotLmVxdSBERUNPREVfSEVJR0hUX0xJTUlUICwgIDE2Mzg0CisJLnN5bnRheCB1bmlmaWVkCisu
c2V0IFZQWF9BUkNIX0FSTSAsICAxCisuc2V0IEFSQ0hfQVJNICwgIDEKKy5zZXQgVlBYX0FSQ0hf
TUlQUyAsICAwCisuc2V0IEFSQ0hfTUlQUyAsICAwCisuc2V0IFZQWF9BUkNIX1g4NiAsICAwCisu
c2V0IEFSQ0hfWDg2ICwgIDAKKy5zZXQgVlBYX0FSQ0hfWDg2XzY0ICwgIDAKKy5zZXQgQVJDSF9Y
ODZfNjQgLCAgMAorLnNldCBWUFhfQVJDSF9QUEMgLCAgMAorLnNldCBBUkNIX1BQQyAsICAwCisu
c2V0IEhBVkVfTkVPTiAsICAxCisuc2V0IEhBVkVfTkVPTl9BU00gLCAgMQorLnNldCBIQVZFX01J
UFMzMiAsICAwCisuc2V0IEhBVkVfRFNQUjIgLCAgMAorLnNldCBIQVZFX01TQSAsICAwCisuc2V0
IEhBVkVfTUlQUzY0ICwgIDAKKy5zZXQgSEFWRV9NTVggLCAgMAorLnNldCBIQVZFX1NTRSAsICAw
Cisuc2V0IEhBVkVfU1NFMiAsICAwCisuc2V0IEhBVkVfU1NFMyAsICAwCisuc2V0IEhBVkVfU1NT
RTMgLCAgMAorLnNldCBIQVZFX1NTRTRfMSAsICAwCisuc2V0IEhBVkVfQVZYICwgIDAKKy5zZXQg
SEFWRV9BVlgyICwgIDAKKy5zZXQgSEFWRV9BVlg1MTIgLCAgMAorLnNldCBIQVZFX1ZTWCAsICAw
Cisuc2V0IEhBVkVfTU1JICwgIDAKKy5zZXQgSEFWRV9WUFhfUE9SVFMgLCAgMQorLnNldCBIQVZF
X1BUSFJFQURfSCAsICAxCisuc2V0IEhBVkVfVU5JU1REX0ggLCAgMAorLnNldCBDT05GSUdfREVQ
RU5ERU5DWV9UUkFDS0lORyAsICAxCisuc2V0IENPTkZJR19FWFRFUk5BTF9CVUlMRCAsICAxCisu
c2V0IENPTkZJR19JTlNUQUxMX0RPQ1MgLCAgMAorLnNldCBDT05GSUdfSU5TVEFMTF9CSU5TICwg
IDEKKy5zZXQgQ09ORklHX0lOU1RBTExfTElCUyAsICAxCisuc2V0IENPTkZJR19JTlNUQUxMX1NS
Q1MgLCAgMAorLnNldCBDT05GSUdfREVCVUcgLCAgMAorLnNldCBDT05GSUdfR1BST0YgLCAgMAor
LnNldCBDT05GSUdfR0NPViAsICAwCisuc2V0IENPTkZJR19SVkNUICwgIDAKKy5zZXQgQ09ORklH
X0dDQyAsICAxCisuc2V0IENPTkZJR19NU1ZTICwgIDAKKy5zZXQgQ09ORklHX1BJQyAsICAwCisu
c2V0IENPTkZJR19CSUdfRU5ESUFOICwgIDAKKy5zZXQgQ09ORklHX0NPREVDX1NSQ1MgLCAgMAor
LnNldCBDT05GSUdfREVCVUdfTElCUyAsICAwCisuc2V0IENPTkZJR19ERVFVQU5UX1RPS0VOUyAs
ICAwCisuc2V0IENPTkZJR19EQ19SRUNPTiAsICAwCisuc2V0IENPTkZJR19SVU5USU1FX0NQVV9E
RVRFQ1QgLCAgMAorLnNldCBDT05GSUdfUE9TVFBST0MgLCAgMQorLnNldCBDT05GSUdfVlA5X1BP
U1RQUk9DICwgIDEKKy5zZXQgQ09ORklHX01VTFRJVEhSRUFEICwgIDEKKy5zZXQgQ09ORklHX0lO
VEVSTkFMX1NUQVRTICwgIDAKKy5zZXQgQ09ORklHX1ZQOF9FTkNPREVSICwgIDEKKy5zZXQgQ09O
RklHX1ZQOF9ERUNPREVSICwgIDEKKy5zZXQgQ09ORklHX1ZQOV9FTkNPREVSICwgIDEKKy5zZXQg
Q09ORklHX1ZQOV9ERUNPREVSICwgIDEKKy5zZXQgQ09ORklHX1ZQOCAsICAxCisuc2V0IENPTkZJ
R19WUDkgLCAgMQorLnNldCBDT05GSUdfRU5DT0RFUlMgLCAgMQorLnNldCBDT05GSUdfREVDT0RF
UlMgLCAgMQorLnNldCBDT05GSUdfU1RBVElDX01TVkNSVCAsICAwCisuc2V0IENPTkZJR19TUEFU
SUFMX1JFU0FNUExJTkcgLCAgMQorLnNldCBDT05GSUdfUkVBTFRJTUVfT05MWSAsICAxCisuc2V0
IENPTkZJR19PTlRIRUZMWV9CSVRQQUNLSU5HICwgIDAKKy5zZXQgQ09ORklHX0VSUk9SX0NPTkNF
QUxNRU5UICwgIDAKKy5zZXQgQ09ORklHX1NIQVJFRCAsICAwCisuc2V0IENPTkZJR19TVEFUSUMg
LCAgMQorLnNldCBDT05GSUdfU01BTEwgLCAgMAorLnNldCBDT05GSUdfUE9TVFBST0NfVklTVUFM
SVpFUiAsICAwCisuc2V0IENPTkZJR19PU19TVVBQT1JUICwgIDEKKy5zZXQgQ09ORklHX1VOSVRf
VEVTVFMgLCAgMQorLnNldCBDT05GSUdfV0VCTV9JTyAsICAxCisuc2V0IENPTkZJR19MSUJZVVYg
LCAgMAorLnNldCBDT05GSUdfREVDT0RFX1BFUkZfVEVTVFMgLCAgMAorLnNldCBDT05GSUdfRU5D
T0RFX1BFUkZfVEVTVFMgLCAgMAorLnNldCBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5HICwgIDEK
Ky5zZXQgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCisuc2V0IENPTkZJR19WUDlfVEVN
UE9SQUxfREVOT0lTSU5HICwgIDEKKy5zZXQgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFICwgIDAK
Ky5zZXQgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HICwgIDAKKy5zZXQgQ09ORklH
X1ZQOV9ISUdIQklUREVQVEggLCAgMAorLnNldCBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJ
VFkgLCAgMAorLnNldCBDT05GSUdfRVhQRVJJTUVOVEFMICwgIDAKKy5zZXQgQ09ORklHX1NJWkVf
TElNSVQgLCAgMQorLnNldCBDT05GSUdfQUxXQVlTX0FESlVTVF9CUE0gLCAgMAorLnNldCBDT05G
SUdfQklUU1RSRUFNX0RFQlVHICwgIDAKKy5zZXQgQ09ORklHX01JU01BVENIX0RFQlVHICwgIDAK
Ky5zZXQgQ09ORklHX0ZQX01CX1NUQVRTICwgIDAKKy5zZXQgQ09ORklHX0VNVUxBVEVfSEFSRFdB
UkUgLCAgMAorLnNldCBDT05GSUdfTk9OX0dSRUVEWV9NViAsICAwCisuc2V0IENPTkZJR19SQVRF
X0NUUkwgLCAgMAorLnNldCBERUNPREVfV0lEVEhfTElNSVQgLCAgMTYzODQKKy5zZXQgREVDT0RF
X0hFSUdIVF9MSU1JVCAsICAxNjM4NApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtLW5l
b24vdnB4X2NvbmZpZy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtLW5lb24vdnB4X2NvbmZpZy5jCmlu
ZGV4IDBhMzFiY2UwMmU1MC4uZjRmMGMxMTJhMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2lv
cy9hcm0tbmVvbi92cHhfY29uZmlnLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtLW5lb24vdnB4
X2NvbmZpZy5jCkBAIC02LDUgKzYsNSBAQAogLyogaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBj
b250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heSAqLwogLyogYmUgZm91bmQgaW4gdGhlIEFV
VEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuICovCiAjaW5jbHVkZSAi
dnB4L3ZweF9jb2RlYy5oIgotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNmZyA9ICItLXRhcmdl
dD1hcm12Ny1saW51eC1nY2MgLS1kaXNhYmxlLXJ1bnRpbWUtY3B1LWRldGVjdCAtLWVuYWJsZS1l
eHRlcm5hbC1idWlsZCAtLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2Rp
bmcgLS1lbmFibGUtdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1kZW5v
aXNpbmcgLS1lbmFibGUtdnA5LXBvc3Rwcm9jIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCAtLWVu
YWJsZS1yZWFsdGltZS1vbmx5IC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgLS1kaXNhYmxlLWxpYnl1
diI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY2ZnID0gIi0tdGFyZ2V0PWFybXY3LWxpbnV4
LWdjYyAtLWVuYWJsZS1leHRlcm5hbC1idWlsZCAtLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1t
dWx0aS1yZXMtZW5jb2RpbmcgLS1lbmFibGUtdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZw
OS10ZW1wb3JhbC1kZW5vaXNpbmcgLS1lbmFibGUtdnA5LXBvc3Rwcm9jIC0tc2l6ZS1saW1pdD0x
NjM4NHgxNjM4NCAtLWVuYWJsZS1yZWFsdGltZS1vbmx5IC0tZGlzYWJsZS1pbnN0YWxsLWRvY3Mg
LS1kaXNhYmxlLWxpYnl1diI7CiBjb25zdCBjaGFyICp2cHhfY29kZWNfYnVpbGRfY29uZmlnKHZv
aWQpIHtyZXR1cm4gY2ZnO30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3Zw
eF9jb25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZweF9jb25maWcuaAppbmRleCBm
MGIzNjdmZGJiMzUuLjk2OWYxODY0NjA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJt
LW5lb24vdnB4X2NvbmZpZy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvaW9zL2FybS1uZW9uL3ZweF9jb25m
aWcuaApAQCAtMTIsOCArMTIsNiBAQAogI2RlZmluZSBJTkxJTkUgICAgICBpbmxpbmUKICNkZWZp
bmUgVlBYX0FSQ0hfQVJNIDEKICNkZWZpbmUgQVJDSF9BUk0gMQotI2RlZmluZSBWUFhfQVJDSF9B
QVJDSDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICNkZWZpbmUgVlBYX0FSQ0hfTUlQUyAw
CiAjZGVmaW5lIEFSQ0hfTUlQUyAwCiAjZGVmaW5lIFZQWF9BUkNIX1g4NiAwCkBAIC0yMiwxMiAr
MjAsOCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAwCiAjZGVmaW5lIFZQWF9BUkNIX1BQQyAwCiAj
ZGVmaW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNIIDAKLSNkZWZpbmUg
QVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDEKICNkZWZpbmUgSEFWRV9O
RU9OIDEKLSNkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMAotI2RlZmluZSBIQVZFX05FT05fSThN
TSAwCisjZGVmaW5lIEhBVkVfTkVPTl9BU00gMQogI2RlZmluZSBIQVZFX01JUFMzMiAwCiAjZGVm
aW5lIEhBVkVfRFNQUjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC00Myw4ICszNyw2IEBACiAj
ZGVmaW5lIEhBVkVfQVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAogI2RlZmluZSBIQVZFX01N
SSAwCi0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAKICNkZWZpbmUgSEFW
RV9WUFhfUE9SVFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMApAQCAtOTcsNiArODksNyBAQAogI2RlZmluZSBDT05GSUdfTVVMVElfUkVTX0VOQ09E
SU5HIDEKICNkZWZpbmUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAxCiAjZGVmaW5lIENPTkZJ
R19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEKKyNkZWZpbmUgQ09ORklHX0NPTlNJU1RFTlRfUkVD
T0RFIDAKICNkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HIDAKICNkZWZp
bmUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggMAogI2RlZmluZSBDT05GSUdfQkVUVEVSX0hXX0NP
TVBBVElCSUxJVFkgMApAQCAtMTA5LDcgKzEwMiw2IEBACiAjZGVmaW5lIENPTkZJR19FTVVMQVRF
X0hBUkRXQVJFIDAKICNkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYgMAogI2RlZmluZSBDT05G
SUdfUkFURV9DVFJMIDAKLSNkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAw
CiAjZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogI2RlZmluZSBERUNPREVfSEVJR0hU
X0xJTUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBYX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2lvcy9hcm0tbmVvbi92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvaW9zL2FybS1u
ZW9uL3ZweF9kc3BfcnRjZC5oCmluZGV4IDgyYjJiM2ZmYTQ3Mi4uOWMzMTQ5Nzg3NmM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL2lvcy9hcm0tbmVvbi92cHhfZHNwX3J0Y2QuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2lvcy9hcm0tbmVvbi92cHhfZHNwX3J0Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNp
bmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29t
bW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9F
TkNPREVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5k
aWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKQEAgLTI0Miw0MSArMjM4LDI1
IEBAIHZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3By
ZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDExN19wcmVkaWN0
b3JfMTZ4MTYgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2QxMTdf
cHJlZGljdG9yXzE2eDE2IHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jCiAKIHZvaWQgdnB4X2Qx
MTdfcHJlZGljdG9yXzMyeDMyX2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9u
ZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzIgdnB4X2Qx
MTdfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMy
IHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzR4
NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBh
Ym92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQp
Owotdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
MTE3X3ByZWRpY3Rvcl80eDQgdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5lIHZw
eF9kMTE3X3ByZWRpY3Rvcl80eDQgdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9jCiAKIHZvaWQgdnB4
X2QxMTdfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X25lb24odWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVm
dCk7Ci0jZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl84eDggdnB4X2QxMTdfcHJlZGljdG9yXzh4
OF9uZW9uCisjZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl84eDggdnB4X2QxMTdfcHJlZGljdG9y
Xzh4OF9jCiAKIHZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtMzIy
LDgxICszMDIsNDkgQEAgdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQg
dnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
MTUzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmlu
ZSB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2X2MKIAog
dm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJlZGlj
dG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8z
MngzMiB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVk
aWN0b3JfMzJ4MzIgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDE1M19w
cmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNk
ZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzR4NCB2cHhfZDE1M19wcmVkaWN0b3JfNHg0X25lb24K
KyNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzR4NCB2cHhfZDE1M19wcmVkaWN0b3JfNHg0X2MK
IAogdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl84
eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzh4OCB2cHhfZDE1M19w
cmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzh4OCB2cHhfZDE1
M19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50
OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5l
IHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVvbgor
I2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2
X2MKIAogdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdf
cHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMjA3X3ByZWRp
Y3Rvcl8zMngzMiB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfZDIw
N19wcmVkaWN0b3JfMzJ4MzIgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhf
ZDIwN19wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0
KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzR4NCB2cHhfZDIwN19wcmVkaWN0b3JfNHg0
X25lb24KKyNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzR4NCB2cHhfZDIwN19wcmVkaWN0b3Jf
NHg0X2MKIAogdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMjA3X3ByZWRp
Y3Rvcl84eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzh4OCB2cHhf
ZDIwN19wcmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzh4OCB2
cHhfZDIwN19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDQ1X3ByZWRpY3Rvcl8xNngxNl9j
KHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLApAQCAtNDQ4LDQxICszOTYsMjUgQEAgdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8xNngx
Nl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmlu
ZSB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl9uZW9uCisj
ZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2IHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X2MK
IAogdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rv
cl8zMngzMl9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMiB2
cHhfZDYzX3ByZWRpY3Rvcl8zMngzMl9uZW9uCisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzMy
eDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80
eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJl
ZGljdG9yXzR4NCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDYzX3By
ZWRpY3Rvcl80eDQgdnB4X2Q2M19wcmVkaWN0b3JfNHg0X2MKIAogdm9pZCB2cHhfZDYzX3ByZWRp
Y3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfOHg4X25lb24odWludDhfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
NjNfcHJlZGljdG9yXzh4OCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhf
ZDYzX3ByZWRpY3Rvcl84eDggdnB4X2Q2M19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDYz
ZV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKQEAgLTc4MCwxMCArNzEyLDcgQEAgdm9pZCB2cHhfaGFk
YW1hcmRfMTZ4MTZfbmVvbihjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKIHZvaWQgdnB4X2hhZGFt
YXJkXzMyeDMyX2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQxNl90KiBjb2VmZik7Ci12b2lkIHZweF9oYWRhbWFyZF8zMngzMl9uZW9uKGNvbnN0IGludDE2
X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogY29lZmYpOwot
I2RlZmluZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFtYXJkXzMyeDMyX25lb24KKyNkZWZp
bmUgdnB4X2hhZGFtYXJkXzMyeDMyIHZweF9oYWRhbWFyZF8zMngzMl9jCiAKIHZvaWQgdnB4X2hh
ZGFtYXJkXzh4OF9jKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAogICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC04ODMsMTEgKzgxMiwxMSBAQCBpbnQxNl90
IHZweF9pbnRfcHJvX2NvbF9jKGNvbnN0IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsK
IGludDE2X3QgdnB4X2ludF9wcm9fY29sX25lb24oY29uc3QgdWludDhfdCogcmVmLCBjb25zdCBp
bnQgd2lkdGgpOwogI2RlZmluZSB2cHhfaW50X3Byb19jb2wgdnB4X2ludF9wcm9fY29sX25lb24K
IAotdm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50
X3Byb19yb3dfYyhpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKLXZvaWQgdnB4X2lu
dF9wcm9fcm93X25lb24oaW50MTZfdCBoYnVmWzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X25l
b24oaW50MTZfdCogaGJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCk7CkBAIC0xMTIyLDM2
ICsxMDUxLDIxIEBAIHVuc2lnbmVkIGludCB2cHhfbXNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21z
ZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci0jZGVmaW5lIHZweF9tc2UxNng4IHZweF9tc2UxNng4X25lb24KKyNkZWZpbmUgdnB4
X21zZTE2eDggdnB4X21zZTE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X21zZTh4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21z
ZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci0jZGVmaW5lIHZweF9tc2U4eDE2IHZweF9tc2U4eDE2X25lb24KKyNkZWZpbmUgdnB4
X21zZTh4MTYgdnB4X21zZTh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X21zZTh4OF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9tc2U4eDhf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNk
ZWZpbmUgdnB4X21zZTh4OCB2cHhfbXNlOHg4X25lb24KKyNkZWZpbmUgdnB4X21zZTh4OCB2cHhf
bXNlOHg4X2MKIAogdm9pZCB2cHhfcGxhbmVfYWRkX25vaXNlX2ModWludDhfdCogc3RhcnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QqIG5vaXNlLApAQCAtMTE4MSwz
NiArMTA5NSw1OCBAQCB2b2lkIHZweF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX21iX3Jvd19u
ZW9uKHVuc2lnbmVkIGNoYXIqIHNyYywKIAogdm9pZCB2cHhfcXVhbnRpemVfYl9jKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsK
KyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4X3F1YW50aXplX2JfbmVv
bihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZweF9xdWFudGl6ZV9iIHZweF9x
dWFudGl6ZV9iX25lb24KIAogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9jKGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNv
ZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBz
Y2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsK
IHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfbmVvbihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
a2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZweF9xdWFudGl6ZV9iXzMyeDMy
IHZweF9xdWFudGl6ZV9iXzMyeDMyX25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xMjM1LDE4ICsxMTcxLDMyIEBAIHVuc2lnbmVk
IGludCB2cHhfc2FkMTZ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwogI2RlZmluZSB2cHhfc2FkMTZ4MTZfYXZnIHZweF9zYWQxNngxNl9hdmdfbmVvbgogCit2b2lk
IHZweF9zYWQxNngxNngzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2Fk
MTZ4MTZ4MyB2cHhfc2FkMTZ4MTZ4M19jCisKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3Nh
ZDE2eDE2eDRkIHZweF9zYWQxNngxNng0ZF9uZW9uCiAKK3ZvaWQgdnB4X3NhZDE2eDE2eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNngxNng4IHZweF9zYWQxNngx
Nng4X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTEyNzEsMTQg
KzEyMjEsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngzMng0ZCB2
cHhfc2FkMTZ4MzJ4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLApAQCAtMTMwMywxOCArMTI1MywzMiBAQCB1bnNpZ25lZCBpbnQgdnB4
X3NhZDE2eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5l
IHZweF9zYWQxNng4X2F2ZyB2cHhfc2FkMTZ4OF9hdmdfbmVvbgogCit2b2lkIHZweF9zYWQxNng4
eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDh4MyB2cHhfc2FkMTZ4
OHgzX2MKKwogdm9pZCB2cHhfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2
b2lkIHZweF9zYWQxNng4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDE2eDh4NGQgdnB4X3NhZDE2eDh4NGRfbmVvbgogCit2
b2lkIHZweF9zYWQxNng4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2
eDh4OCB2cHhfc2FkMTZ4OHg4X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQzMngxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKQEAgLTEzMzksMTQgKzEzMDMsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMngxNl9hdmdf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngxNng0ZF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZw
eF9zYWQzMngxNng0ZCB2cHhfc2FkMzJ4MTZ4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTEzNzMsMTYgKzEzMzcsMjMgQEAg
dW5zaWduZWQgaW50IHZweF9zYWQzMngzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogCiB2b2lkIHZweF9zYWQzMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiB2b2lkIHZweF9zYWQzMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMngzMng0ZCB2cHhfc2FkMzJ4MzJ4
NGRfbmVvbgogCit2b2lkIHZweF9zYWQzMngzMng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfc2FkMzJ4MzJ4OCB2cHhfc2FkMzJ4MzJ4OF9jCisKIHVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC0xNDA3LDE0ICsxMzc4LDE0IEBAIHVuc2lnbmVkIGlu
dCB2cHhfc2FkMzJ4NjRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2
cHhfc2FkMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhf
c2FkMzJ4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMzJ4NjR4NGQgdnB4X3NhZDMyeDY0eDRkX25lb24KIAog
dW5zaWduZWQgaW50IHZweF9zYWQ0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMTQz
OSwxOCArMTQxMCwzMiBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9hdmdfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkNHg0X2F2ZyB2cHhfc2FkNHg0
X2F2Z19uZW9uCiAKK3ZvaWQgdnB4X3NhZDR4NHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUg
dnB4X3NhZDR4NHgzIHZweF9zYWQ0eDR4M19jCisKIHZvaWQgdnB4X3NhZDR4NHg0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ0eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg0eDRkIHZweF9zYWQ0eDR4NGRfbmVv
bgogCit2b2lkIHZweF9zYWQ0eDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ0
eDR4OCB2cHhfc2FkNHg0eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAt
MTQ3NSwxNCArMTQ2MCwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4OF9hdmdfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogdm9pZCB2cHhfc2FkNHg4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDR4OHg0ZCB2cHhfc2FkNHg4eDRkX25lb24KIAogdW5z
aWduZWQgaW50IHZweF9zYWQ2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xNTA5
LDE0ICsxNDk0LDE0IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYXZnX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4MzJ4
NGQgdnB4X3NhZDY0eDMyeDRkX25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xNTQzLDE0ICsxNTI4LDE0IEBAIHVuc2lnbmVkIGlu
dCB2cHhfc2FkNjR4NjRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2
cHhfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhf
c2FkNjR4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4NjR4NGQgdnB4X3NhZDY0eDY0eDRkX25lb24KIAog
dW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE1
NzUsMTggKzE1NjAsMzIgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkOHgxNl9hdmcgdnB4X3Nh
ZDh4MTZfYXZnX25lb24KIAordm9pZCB2cHhfc2FkOHgxNngzX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9zYWQ4eDE2eDMgdnB4X3NhZDh4MTZ4M19jCisKIHZvaWQgdnB4X3NhZDh4
MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkOHgxNng0ZF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9z
YWQ4eDE2eDRkIHZweF9zYWQ4eDE2eDRkX25lb24KIAordm9pZCB2cHhfc2FkOHgxNng4X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDE2eDggdnB4X3NhZDh4MTZ4OF9jCisK
IHVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC0xNjExLDE0ICsxNjEwLDE0IEBAIHVu
c2lnbmVkIGludCB2cHhfc2FkOHg0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAK
IHZvaWQgdnB4X3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ4eDR4
NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhf
c2FkOHg0eDRkIHZweF9zYWQ4eDR4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xNjQzLDMwMyArMTY0MiwzMSBAQCB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDh4OF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwog
I2RlZmluZSB2cHhfc2FkOHg4X2F2ZyB2cHhfc2FkOHg4X2F2Z19uZW9uCiAKK3ZvaWQgdnB4X3Nh
ZDh4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4OHgzIHZweF9zYWQ4eDh4
M19jCisKIHZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9z
YWQ4eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmlu
ZSB2cHhfc2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfbmVvbgogCi11bnNpZ25lZCBpbnQgdnB4X3Nh
ZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
MTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
MTZ4MTYgdnB4X3NhZF9za2lwXzE2eDE2X25lb24KLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MTZ4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNng0ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4
NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MzIgdnB4X3NhZF9za2lwXzE2eDMyX25l
b24KLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9z
a2lwXzE2eDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF8xNngzMng0ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8x
Nng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDgg
dnB4X3NhZF9za2lwXzE2eDhfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2
cHhfc2FkX3NraXBfMTZ4OHg0ZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uCi0KLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF8zMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF8zMngxNiB2cHhfc2FkX3NraXBfMzJ4MTZfbmVvbgotCi12b2lkIHZweF9zYWRf
c2tpcF8zMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDE2eDRkIHZweF9zYWRf
c2tpcF8zMngxNng0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8zMngzMiB2cHhfc2FkX3Nr
aXBfMzJ4MzJfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUg
dnB4X3NhZF9za2lwXzMyeDMyeDRkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9uZW9uCi0KLXVuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50
IHZweF9zYWRfc2tpcF8zMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF8zMng2NCB2cHhfc2FkX3NraXBfMzJ4NjRfbmVvbgotCi12b2lkIHZweF9z
YWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDY0eDRkIHZweF9z
YWRfc2tpcF8zMng2NHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg0X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBfNHg0X25lb24KLQot
dm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg0eDRkIHZweF9zYWRfc2tpcF80eDR4
NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lwXzR4OF9uZW9uCi0KLXZvaWQgdnB4X3NhZF9z
a2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRkX25lb24KLQotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZF9za2lwXzY0eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X3NhZF9za2lwXzY0eDMyIHZweF9zYWRfc2tpcF82NHgzMl9uZW9uCi0KLXZvaWQgdnB4
X3NhZF9za2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgdnB4
X3NhZF9za2lwXzY0eDMyeDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzY0eDY0IHZweF9z
YWRfc2tpcF82NHg2NF9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfNjR4NjR4NGQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX25lb24KLQot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfc2FkX3NraXBfOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF84eDE2IHZweF9zYWRfc2tpcF84eDE2X25lb24KLQotdm9pZCB2cHhfc2FkX3Nr
aXBfOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRf
bmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF84eDQgdnB4X3NhZF9za2lwXzh4NF9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lw
Xzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZp
bmUgdnB4X3NhZF9za2lwXzh4NHg0ZCB2cHhfc2FkX3NraXBfOHg0eDRkX25lb24KLQotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF84eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg4
IHZweF9zYWRfc2tpcF84eDhfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF84eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF84eDh4NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9uZW9uCit2b2lkIHZweF9zYWQ4eDh4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4OCB2cHhfc2FkOHg4eDhfYwogCiBpbnQg
dnB4X3NhdGRfYyhjb25zdCBpbnQxNl90KiBjb2VmZiwgaW50IGxlbmd0aCk7CiBpbnQgdnB4X3Nh
dGRfbmVvbihjb25zdCBpbnQxNl90KiBjb2VmZiwgaW50IGxlbmd0aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2lvcy9hcm02NC92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtNjQvdnA4
X3J0Y2QuaAppbmRleCAxMDI1MDEwOTQyNTQuLmM0YmI0MWIyMTI3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9pb3MvYXJtNjQvdnA4X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2lvcy9hcm02NC92
cDhfcnRjZC5oCkBAIC04Myw2ICs4MywzNiBAQCB2b2lkIHZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4
X25lb24odW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3BpdGNoKTsKICNkZWZpbmUgdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDgg
dnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfbmVvbgogCit2b2lkIHZwOF9ibGVuZF9iX2ModW5zaWdu
ZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAgaW50IHlf
MSwKKyAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgIGludCB2
XzEsCisgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgIGlu
dCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfYiB2cDhfYmxlbmRfYl9jCisKK3ZvaWQgdnA4
X2JsZW5kX21iX2lubmVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX2lubmVyIHZw
OF9ibGVuZF9tYl9pbm5lcl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX291dGVyX2ModW5zaWduZWQg
Y2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsK
KyNkZWZpbmUgdnA4X2JsZW5kX21iX291dGVyIHZwOF9ibGVuZF9tYl9vdXRlcl9jCisKIGludCB2
cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZmKTsKICNkZWZpbmUg
dnA4X2Jsb2NrX2Vycm9yIHZwOF9ibG9ja19lcnJvcl9jCiAKQEAgLTI0OSw2ICsyNzksMTcgQEAg
dm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9jKHVuc2lnbmVkIGNoYXIqIHNyYywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7CiAjZGVmaW5lIHZwOF9m
aWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MKIAoraW50IHZwOF9m
dWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJl
Zl9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGlu
dF9tdiogY2VudGVyX212KTsKKyNkZWZpbmUgdnA4X2Z1bGxfc2VhcmNoX3NhZCB2cDhfZnVsbF9z
ZWFyY2hfc2FkX2MKKwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNpZ25lZCBjaGFyKiB5
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLApkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2NvbmZpZy9pb3MvYXJtNjQvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvaW9zL2FybTY0
L3ZwOV9ydGNkLmgKaW5kZXggNGMyYTRhZGFkMjZjLi5kZmU5YmM4ZTYwMGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9jb25maWcvaW9zL2FybTY0L3ZwOV9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJt
NjQvdnA5X3J0Y2QuaApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3QgbWFjcm9ibG9ja2Q7CiAKIC8q
IEVuY29kZXIgZm9yd2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3JvYmxvY2s7Ci1zdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwotc3RydWN0IFNjYW5PcmRlcjsK
K3N0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsK
IHN0cnVjdCBtdjsKIHVuaW9uIGludF9tdjsKQEAgLTMzLDE1ICszMSwxNCBAQCBzdHJ1Y3QgeXYx
Ml9idWZmZXJfY29uZmlnOwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAordm9pZCB2cDlfYXBwbHlf
dGVtcG9yYWxfZmlsdGVyX2MoY29uc3QgdWludDhfdCAqeV9zcmMsIGludCB5X3NyY19zdHJpZGUs
IGNvbnN0IHVpbnQ4X3QgKnlfcHJlLCBpbnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1aW50OF90ICp1
X3NyYywgY29uc3QgdWludDhfdCAqdl9zcmMsIGludCB1dl9zcmNfc3RyaWRlLCBjb25zdCB1aW50
OF90ICp1X3ByZSwgY29uc3QgdWludDhfdCAqdl9wcmUsIGludCB1dl9wcmVfc3RyaWRlLCB1bnNp
Z25lZCBpbnQgYmxvY2tfd2lkdGgsIHVuc2lnbmVkIGludCBibG9ja19oZWlnaHQsIGludCBzc194
LCBpbnQgc3NfeSwgaW50IHN0cmVuZ3RoLCBjb25zdCBpbnQgKmNvbnN0IGJsa19mdywgaW50IHVz
ZV8zMngzMiwgdWludDMyX3QgKnlfYWNjdW11bGF0b3IsIHVpbnQxNl90ICp5X2NvdW50LCB1aW50
MzJfdCAqdV9hY2N1bXVsYXRvciwgdWludDE2X3QgKnVfY291bnQsIHVpbnQzMl90ICp2X2FjY3Vt
dWxhdG9yLCB1aW50MTZfdCAqdl9jb3VudCk7CisjZGVmaW5lIHZwOV9hcHBseV90ZW1wb3JhbF9m
aWx0ZXIgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jCisKIGludDY0X3QgdnA5X2Jsb2NrX2Vy
cm9yX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dHB0cl90IGJsb2NrX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqIHNz
eik7Ci1pbnQ2NF90IHZwOV9ibG9ja19lcnJvcl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZm
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBibG9ja19zaXplLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90KiBzc3opOwotI2RlZmluZSB2cDlfYmxv
Y2tfZXJyb3IgdnA5X2Jsb2NrX2Vycm9yX25lb24KKyNkZWZpbmUgdnA5X2Jsb2NrX2Vycm9yIHZw
OV9ibG9ja19lcnJvcl9jCiAKIGludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2ZwX2MoY29uc3QgdHJh
bl9sb3dfdCogY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5f
bG93X3QqIGRxY29lZmYsCkBAIC03NCw1NCArNzEsMzEgQEAgaW50IHZwOV9kZW5vaXNlcl9maWx0
ZXJfbmVvbihjb25zdCB1aW50OF90KiBzaWcsCiBpbnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9j
KGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnKiBjZmcsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBtdiogYmVzdF9tdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNl
YXJjaF9wYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG51bTAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZwOV92YXJpYW5jZV92
dGFibGUqIGZuX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG12KiBjZW50ZXJfbXYpOwotaW50IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVvbihjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9jayogeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgbXYqIHJlZl9tdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc3RhcnRfbXZfc2FkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzZWFyY2hfcGFyYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
YWRfcGVyX2JpdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBudW0wMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZwOV9zYWRfdGFi
bGUqIHNhZF9mbl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBtdiogY2VudGVyX212KTsKLSNkZWZpbmUgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCB2cDlf
ZGlhbW9uZF9zZWFyY2hfc2FkX25lb24KKyNkZWZpbmUgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCB2
cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MKIAogdm9pZCB2cDlfZmh0MTZ4MTZfYyhjb25zdCBpbnQx
Nl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAogICAg
ICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICBpbnQgdHhf
dHlwZSk7Ci12b2lkIHZwOV9maHQxNngxNl9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsK
LSNkZWZpbmUgdnA5X2ZodDE2eDE2IHZwOV9maHQxNngxNl9uZW9uCisjZGVmaW5lIHZwOV9maHQx
NngxNiB2cDlfZmh0MTZ4MTZfYwogCiB2b2lkIHZwOV9maHQ0eDRfYyhjb25zdCBpbnQxNl90KiBp
bnB1dCwKICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAgICAgICAg
ICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci12b2lk
IHZwOV9maHQ0eDRfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAg
ICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9maHQ0eDQg
dnA5X2ZodDR4NF9uZW9uCisjZGVmaW5lIHZwOV9maHQ0eDQgdnA5X2ZodDR4NF9jCiAKIHZvaWQg
dnA5X2ZodDh4OF9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKICAgICAgICAg
ICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2ZodDh4OF9uZW9uKGNvbnN0IGludDE2
X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGludCB0
eF90eXBlKTsKLSNkZWZpbmUgdnA5X2ZodDh4OCB2cDlfZmh0OHg4X25lb24KKyNkZWZpbmUgdnA5
X2ZodDh4OCB2cDlfZmh0OHg4X2MKIAogdm9pZCB2cDlfZmlsdGVyX2J5X3dlaWdodDE2eDE2X2Mo
Y29uc3QgdWludDhfdCogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0xNzIsMzggKzE0Niw1MCBAQCB2b2lkIHZwOV9paHQ4eDhfNjRfYWRk
X25lb24oY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZvaWQgdnA5X3F1YW50aXplX2ZwX2Mo
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnRw
dHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBp
c2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25z
dCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cDlfcXVhbnRpemVfZnAgdnA5X3F1YW50aXpl
X2ZwX25lb24KIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29l
ZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNv
ZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlz
Y2FuKTsKIHZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX25lb24oY29uc3QgdHJhbl9sb3dfdCog
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9xdWFu
dGl6ZV9mcF8zMngzMiB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfbmVvbgogCiB2b2lkIHZwOV9zY2Fs
ZV9hbmRfZXh0ZW5kX2ZyYW1lX2MoY29uc3Qgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogc3Jj
LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtNjQvdnB4X2NvbmZpZy5hc20gYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2lvcy9hcm02NC92cHhfY29uZmlnLmFzbQppbmRleCA2ZDY1MWJhYmZhN2MuLjgwNmQ0
M2Q0Mjk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtNjQvdnB4X2NvbmZpZy5hc20K
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtNjQvdnB4X2NvbmZpZy5hc20KQEAgLTEsMTA2ICsxLDk4
IEBACiBAIFRoaXMgZmlsZSB3YXMgY3JlYXRlZCBmcm9tIGEgLmFzbSBmaWxlCiBAICB1c2luZyB0
aGUgYWRzMmdhc19hcHBsZS5wbCBzY3JpcHQuCiAKLS5zeW50YXggdW5pZmllZAotLmVxdSBWUFhf
QVJDSF9BUk0gLCAgMQotLmVxdSBBUkNIX0FSTSAsICAxCi0uZXF1IFZQWF9BUkNIX0FBUkNINjQg
LCAgMQotLmVxdSBBUkNIX0FBUkNINjQgLCAgMQotLmVxdSBWUFhfQVJDSF9NSVBTICwgIDAKLS5l
cXUgQVJDSF9NSVBTICwgIDAKLS5lcXUgVlBYX0FSQ0hfWDg2ICwgIDAKLS5lcXUgQVJDSF9YODYg
LCAgMAotLmVxdSBWUFhfQVJDSF9YODZfNjQgLCAgMAotLmVxdSBBUkNIX1g4Nl82NCAsICAwCi0u
ZXF1IFZQWF9BUkNIX1BQQyAsICAwCi0uZXF1IEFSQ0hfUFBDICwgIDAKLS5lcXUgVlBYX0FSQ0hf
TE9PTkdBUkNIICwgIDAKLS5lcXUgQVJDSF9MT09OR0FSQ0ggLCAgMAotLmVxdSBIQVZFX05FT05f
QVNNICwgIDAKLS5lcXUgSEFWRV9ORU9OICwgIDEKLS5lcXUgSEFWRV9ORU9OX0RPVFBST0QgLCAg
MQotLmVxdSBIQVZFX05FT05fSThNTSAsICAxCi0uZXF1IEhBVkVfTUlQUzMyICwgIDAKLS5lcXUg
SEFWRV9EU1BSMiAsICAwCi0uZXF1IEhBVkVfTVNBICwgIDAKLS5lcXUgSEFWRV9NSVBTNjQgLCAg
MAotLmVxdSBIQVZFX01NWCAsICAwCi0uZXF1IEhBVkVfU1NFICwgIDAKLS5lcXUgSEFWRV9TU0Uy
ICwgIDAKLS5lcXUgSEFWRV9TU0UzICwgIDAKLS5lcXUgSEFWRV9TU1NFMyAsICAwCi0uZXF1IEhB
VkVfU1NFNF8xICwgIDAKLS5lcXUgSEFWRV9BVlggLCAgMAotLmVxdSBIQVZFX0FWWDIgLCAgMAot
LmVxdSBIQVZFX0FWWDUxMiAsICAwCi0uZXF1IEhBVkVfVlNYICwgIDAKLS5lcXUgSEFWRV9NTUkg
LCAgMAotLmVxdSBIQVZFX0xTWCAsICAwCi0uZXF1IEhBVkVfTEFTWCAsICAwCi0uZXF1IEhBVkVf
VlBYX1BPUlRTICwgIDEKLS5lcXUgSEFWRV9QVEhSRUFEX0ggLCAgMQotLmVxdSBIQVZFX1VOSVNU
RF9IICwgIDAKLS5lcXUgQ09ORklHX0RFUEVOREVOQ1lfVFJBQ0tJTkcgLCAgMQotLmVxdSBDT05G
SUdfRVhURVJOQUxfQlVJTEQgLCAgMQotLmVxdSBDT05GSUdfSU5TVEFMTF9ET0NTICwgIDAKLS5l
cXUgQ09ORklHX0lOU1RBTExfQklOUyAsICAxCi0uZXF1IENPTkZJR19JTlNUQUxMX0xJQlMgLCAg
MQotLmVxdSBDT05GSUdfSU5TVEFMTF9TUkNTICwgIDAKLS5lcXUgQ09ORklHX0RFQlVHICwgIDAK
LS5lcXUgQ09ORklHX0dQUk9GICwgIDAKLS5lcXUgQ09ORklHX0dDT1YgLCAgMAotLmVxdSBDT05G
SUdfUlZDVCAsICAwCi0uZXF1IENPTkZJR19HQ0MgLCAgMQotLmVxdSBDT05GSUdfTVNWUyAsICAw
Ci0uZXF1IENPTkZJR19QSUMgLCAgMAotLmVxdSBDT05GSUdfQklHX0VORElBTiAsICAwCi0uZXF1
IENPTkZJR19DT0RFQ19TUkNTICwgIDAKLS5lcXUgQ09ORklHX0RFQlVHX0xJQlMgLCAgMAotLmVx
dSBDT05GSUdfREVRVUFOVF9UT0tFTlMgLCAgMAotLmVxdSBDT05GSUdfRENfUkVDT04gLCAgMAot
LmVxdSBDT05GSUdfUlVOVElNRV9DUFVfREVURUNUICwgIDEKLS5lcXUgQ09ORklHX1BPU1RQUk9D
ICwgIDEKLS5lcXUgQ09ORklHX1ZQOV9QT1NUUFJPQyAsICAxCi0uZXF1IENPTkZJR19NVUxUSVRI
UkVBRCAsICAxCi0uZXF1IENPTkZJR19JTlRFUk5BTF9TVEFUUyAsICAwCi0uZXF1IENPTkZJR19W
UDhfRU5DT0RFUiAsICAxCi0uZXF1IENPTkZJR19WUDhfREVDT0RFUiAsICAxCi0uZXF1IENPTkZJ
R19WUDlfRU5DT0RFUiAsICAxCi0uZXF1IENPTkZJR19WUDlfREVDT0RFUiAsICAxCi0uZXF1IENP
TkZJR19WUDggLCAgMQotLmVxdSBDT05GSUdfVlA5ICwgIDEKLS5lcXUgQ09ORklHX0VOQ09ERVJT
ICwgIDEKLS5lcXUgQ09ORklHX0RFQ09ERVJTICwgIDEKLS5lcXUgQ09ORklHX1NUQVRJQ19NU1ZD
UlQgLCAgMAotLmVxdSBDT05GSUdfU1BBVElBTF9SRVNBTVBMSU5HICwgIDEKLS5lcXUgQ09ORklH
X1JFQUxUSU1FX09OTFkgLCAgMQotLmVxdSBDT05GSUdfT05USEVGTFlfQklUUEFDS0lORyAsICAw
Ci0uZXF1IENPTkZJR19FUlJPUl9DT05DRUFMTUVOVCAsICAwCi0uZXF1IENPTkZJR19TSEFSRUQg
LCAgMAotLmVxdSBDT05GSUdfU1RBVElDICwgIDEKLS5lcXUgQ09ORklHX1NNQUxMICwgIDAKLS5l
cXUgQ09ORklHX1BPU1RQUk9DX1ZJU1VBTElaRVIgLCAgMAotLmVxdSBDT05GSUdfT1NfU1VQUE9S
VCAsICAxCi0uZXF1IENPTkZJR19VTklUX1RFU1RTICwgIDEKLS5lcXUgQ09ORklHX1dFQk1fSU8g
LCAgMQotLmVxdSBDT05GSUdfTElCWVVWICwgIDAKLS5lcXUgQ09ORklHX0RFQ09ERV9QRVJGX1RF
U1RTICwgIDAKLS5lcXUgQ09ORklHX0VOQ09ERV9QRVJGX1RFU1RTICwgIDAKLS5lcXUgQ09ORklH
X01VTFRJX1JFU19FTkNPRElORyAsICAxCi0uZXF1IENPTkZJR19URU1QT1JBTF9ERU5PSVNJTkcg
LCAgMQotLmVxdSBDT05GSUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCi0uZXF1IENPTkZJ
R19DT0VGRklDSUVOVF9SQU5HRV9DSEVDS0lORyAsICAwCi0uZXF1IENPTkZJR19WUDlfSElHSEJJ
VERFUFRIICwgIDAKLS5lcXUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZICwgIDAKLS5l
cXUgQ09ORklHX0VYUEVSSU1FTlRBTCAsICAwCi0uZXF1IENPTkZJR19TSVpFX0xJTUlUICwgIDEK
LS5lcXUgQ09ORklHX0FMV0FZU19BREpVU1RfQlBNICwgIDAKLS5lcXUgQ09ORklHX0JJVFNUUkVB
TV9ERUJVRyAsICAwCi0uZXF1IENPTkZJR19NSVNNQVRDSF9ERUJVRyAsICAwCi0uZXF1IENPTkZJ
R19GUF9NQl9TVEFUUyAsICAwCi0uZXF1IENPTkZJR19FTVVMQVRFX0hBUkRXQVJFICwgIDAKLS5l
cXUgQ09ORklHX05PTl9HUkVFRFlfTVYgLCAgMAotLmVxdSBDT05GSUdfUkFURV9DVFJMICwgIDAK
LS5lcXUgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAsICAwCi0uZXF1IERFQ09ERV9X
SURUSF9MSU1JVCAsICAxNjM4NAotLmVxdSBERUNPREVfSEVJR0hUX0xJTUlUICwgIDE2Mzg0CisJ
LnN5bnRheCB1bmlmaWVkCisuc2V0IFZQWF9BUkNIX0FSTSAsICAxCisuc2V0IEFSQ0hfQVJNICwg
IDEKKy5zZXQgVlBYX0FSQ0hfTUlQUyAsICAwCisuc2V0IEFSQ0hfTUlQUyAsICAwCisuc2V0IFZQ
WF9BUkNIX1g4NiAsICAwCisuc2V0IEFSQ0hfWDg2ICwgIDAKKy5zZXQgVlBYX0FSQ0hfWDg2XzY0
ICwgIDAKKy5zZXQgQVJDSF9YODZfNjQgLCAgMAorLnNldCBWUFhfQVJDSF9QUEMgLCAgMAorLnNl
dCBBUkNIX1BQQyAsICAwCisuc2V0IEhBVkVfTkVPTiAsICAxCisuc2V0IEhBVkVfTkVPTl9BU00g
LCAgMAorLnNldCBIQVZFX01JUFMzMiAsICAwCisuc2V0IEhBVkVfRFNQUjIgLCAgMAorLnNldCBI
QVZFX01TQSAsICAwCisuc2V0IEhBVkVfTUlQUzY0ICwgIDAKKy5zZXQgSEFWRV9NTVggLCAgMAor
LnNldCBIQVZFX1NTRSAsICAwCisuc2V0IEhBVkVfU1NFMiAsICAwCisuc2V0IEhBVkVfU1NFMyAs
ICAwCisuc2V0IEhBVkVfU1NTRTMgLCAgMAorLnNldCBIQVZFX1NTRTRfMSAsICAwCisuc2V0IEhB
VkVfQVZYICwgIDAKKy5zZXQgSEFWRV9BVlgyICwgIDAKKy5zZXQgSEFWRV9BVlg1MTIgLCAgMAor
LnNldCBIQVZFX1ZTWCAsICAwCisuc2V0IEhBVkVfTU1JICwgIDAKKy5zZXQgSEFWRV9WUFhfUE9S
VFMgLCAgMQorLnNldCBIQVZFX1BUSFJFQURfSCAsICAxCisuc2V0IEhBVkVfVU5JU1REX0ggLCAg
MAorLnNldCBDT05GSUdfREVQRU5ERU5DWV9UUkFDS0lORyAsICAxCisuc2V0IENPTkZJR19FWFRF
Uk5BTF9CVUlMRCAsICAxCisuc2V0IENPTkZJR19JTlNUQUxMX0RPQ1MgLCAgMAorLnNldCBDT05G
SUdfSU5TVEFMTF9CSU5TICwgIDEKKy5zZXQgQ09ORklHX0lOU1RBTExfTElCUyAsICAxCisuc2V0
IENPTkZJR19JTlNUQUxMX1NSQ1MgLCAgMAorLnNldCBDT05GSUdfREVCVUcgLCAgMAorLnNldCBD
T05GSUdfR1BST0YgLCAgMAorLnNldCBDT05GSUdfR0NPViAsICAwCisuc2V0IENPTkZJR19SVkNU
ICwgIDAKKy5zZXQgQ09ORklHX0dDQyAsICAxCisuc2V0IENPTkZJR19NU1ZTICwgIDAKKy5zZXQg
Q09ORklHX1BJQyAsICAwCisuc2V0IENPTkZJR19CSUdfRU5ESUFOICwgIDAKKy5zZXQgQ09ORklH
X0NPREVDX1NSQ1MgLCAgMAorLnNldCBDT05GSUdfREVCVUdfTElCUyAsICAwCisuc2V0IENPTkZJ
R19ERVFVQU5UX1RPS0VOUyAsICAwCisuc2V0IENPTkZJR19EQ19SRUNPTiAsICAwCisuc2V0IENP
TkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgLCAgMAorLnNldCBDT05GSUdfUE9TVFBST0MgLCAgMQor
LnNldCBDT05GSUdfVlA5X1BPU1RQUk9DICwgIDEKKy5zZXQgQ09ORklHX01VTFRJVEhSRUFEICwg
IDEKKy5zZXQgQ09ORklHX0lOVEVSTkFMX1NUQVRTICwgIDAKKy5zZXQgQ09ORklHX1ZQOF9FTkNP
REVSICwgIDEKKy5zZXQgQ09ORklHX1ZQOF9ERUNPREVSICwgIDEKKy5zZXQgQ09ORklHX1ZQOV9F
TkNPREVSICwgIDEKKy5zZXQgQ09ORklHX1ZQOV9ERUNPREVSICwgIDEKKy5zZXQgQ09ORklHX1ZQ
OCAsICAxCisuc2V0IENPTkZJR19WUDkgLCAgMQorLnNldCBDT05GSUdfRU5DT0RFUlMgLCAgMQor
LnNldCBDT05GSUdfREVDT0RFUlMgLCAgMQorLnNldCBDT05GSUdfU1RBVElDX01TVkNSVCAsICAw
Cisuc2V0IENPTkZJR19TUEFUSUFMX1JFU0FNUExJTkcgLCAgMQorLnNldCBDT05GSUdfUkVBTFRJ
TUVfT05MWSAsICAxCisuc2V0IENPTkZJR19PTlRIRUZMWV9CSVRQQUNLSU5HICwgIDAKKy5zZXQg
Q09ORklHX0VSUk9SX0NPTkNFQUxNRU5UICwgIDAKKy5zZXQgQ09ORklHX1NIQVJFRCAsICAwCisu
c2V0IENPTkZJR19TVEFUSUMgLCAgMQorLnNldCBDT05GSUdfU01BTEwgLCAgMAorLnNldCBDT05G
SUdfUE9TVFBST0NfVklTVUFMSVpFUiAsICAwCisuc2V0IENPTkZJR19PU19TVVBQT1JUICwgIDEK
Ky5zZXQgQ09ORklHX1VOSVRfVEVTVFMgLCAgMQorLnNldCBDT05GSUdfV0VCTV9JTyAsICAxCisu
c2V0IENPTkZJR19MSUJZVVYgLCAgMAorLnNldCBDT05GSUdfREVDT0RFX1BFUkZfVEVTVFMgLCAg
MAorLnNldCBDT05GSUdfRU5DT0RFX1BFUkZfVEVTVFMgLCAgMAorLnNldCBDT05GSUdfTVVMVElf
UkVTX0VOQ09ESU5HICwgIDEKKy5zZXQgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCisu
c2V0IENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HICwgIDEKKy5zZXQgQ09ORklHX0NPTlNJ
U1RFTlRfUkVDT0RFICwgIDAKKy5zZXQgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5H
ICwgIDAKKy5zZXQgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggLCAgMAorLnNldCBDT05GSUdfQkVU
VEVSX0hXX0NPTVBBVElCSUxJVFkgLCAgMAorLnNldCBDT05GSUdfRVhQRVJJTUVOVEFMICwgIDAK
Ky5zZXQgQ09ORklHX1NJWkVfTElNSVQgLCAgMQorLnNldCBDT05GSUdfQUxXQVlTX0FESlVTVF9C
UE0gLCAgMAorLnNldCBDT05GSUdfQklUU1RSRUFNX0RFQlVHICwgIDAKKy5zZXQgQ09ORklHX01J
U01BVENIX0RFQlVHICwgIDAKKy5zZXQgQ09ORklHX0ZQX01CX1NUQVRTICwgIDAKKy5zZXQgQ09O
RklHX0VNVUxBVEVfSEFSRFdBUkUgLCAgMAorLnNldCBDT05GSUdfTk9OX0dSRUVEWV9NViAsICAw
Cisuc2V0IENPTkZJR19SQVRFX0NUUkwgLCAgMAorLnNldCBERUNPREVfV0lEVEhfTElNSVQgLCAg
MTYzODQKKy5zZXQgREVDT0RFX0hFSUdIVF9MSU1JVCAsICAxNjM4NApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9pb3MvYXJtNjQvdnB4X2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJtNjQvdnB4
X2NvbmZpZy5oCmluZGV4IDllYWI4ZmQzNjg3NC4uMmMxOTMzZWFjMzdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2lvcy9hcm02NC92cHhfY29uZmlnLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJt
NjQvdnB4X2NvbmZpZy5oCkBAIC0xMiw4ICsxMiw2IEBACiAjZGVmaW5lIElOTElORSAgICAgIGlu
bGluZQogI2RlZmluZSBWUFhfQVJDSF9BUk0gMQogI2RlZmluZSBBUkNIX0FSTSAxCi0jZGVmaW5l
IFZQWF9BUkNIX0FBUkNINjQgMQotI2RlZmluZSBBUkNIX0FBUkNINjQgMQogI2RlZmluZSBWUFhf
QVJDSF9NSVBTIDAKICNkZWZpbmUgQVJDSF9NSVBTIDAKICNkZWZpbmUgVlBYX0FSQ0hfWDg2IDAK
QEAgLTIyLDEyICsyMCw4IEBACiAjZGVmaW5lIEFSQ0hfWDg2XzY0IDAKICNkZWZpbmUgVlBYX0FS
Q0hfUFBDIDAKICNkZWZpbmUgQVJDSF9QUEMgMAotI2RlZmluZSBWUFhfQVJDSF9MT09OR0FSQ0gg
MAotI2RlZmluZSBBUkNIX0xPT05HQVJDSCAwCi0jZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2Rl
ZmluZSBIQVZFX05FT04gMQotI2RlZmluZSBIQVZFX05FT05fRE9UUFJPRCAxCi0jZGVmaW5lIEhB
VkVfTkVPTl9JOE1NIDEKKyNkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAjZGVmaW5lIEhBVkVfTUlQ
UzMyIDAKICNkZWZpbmUgSEFWRV9EU1BSMiAwCiAjZGVmaW5lIEhBVkVfTVNBIDAKQEAgLTQzLDgg
KzM3LDYgQEAKICNkZWZpbmUgSEFWRV9BVlg1MTIgMAogI2RlZmluZSBIQVZFX1ZTWCAwCiAjZGVm
aW5lIEhBVkVfTU1JIDAKLSNkZWZpbmUgSEFWRV9MU1ggMAotI2RlZmluZSBIQVZFX0xBU1ggMAog
I2RlZmluZSBIQVZFX1ZQWF9QT1JUUyAxCiAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKICNkZWZp
bmUgSEFWRV9VTklTVERfSCAwCkBAIC02Niw3ICs1OCw3IEBACiAjZGVmaW5lIENPTkZJR19ERUJV
R19MSUJTIDAKICNkZWZpbmUgQ09ORklHX0RFUVVBTlRfVE9LRU5TIDAKICNkZWZpbmUgQ09ORklH
X0RDX1JFQ09OIDAKLSNkZWZpbmUgQ09ORklHX1JVTlRJTUVfQ1BVX0RFVEVDVCAxCisjZGVmaW5l
IENPTkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgMAogI2RlZmluZSBDT05GSUdfUE9TVFBST0MgMQog
I2RlZmluZSBDT05GSUdfVlA5X1BPU1RQUk9DIDEKICNkZWZpbmUgQ09ORklHX01VTFRJVEhSRUFE
IDEKQEAgLTk3LDYgKzg5LDcgQEAKICNkZWZpbmUgQ09ORklHX01VTFRJX1JFU19FTkNPRElORyAx
CiAjZGVmaW5lIENPTkZJR19URU1QT1JBTF9ERU5PSVNJTkcgMQogI2RlZmluZSBDT05GSUdfVlA5
X1RFTVBPUkFMX0RFTk9JU0lORyAxCisjZGVmaW5lIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSAw
CiAjZGVmaW5lIENPTkZJR19DT0VGRklDSUVOVF9SQU5HRV9DSEVDS0lORyAwCiAjZGVmaW5lIENP
TkZJR19WUDlfSElHSEJJVERFUFRIIDAKICNkZWZpbmUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJ
QklMSVRZIDAKQEAgLTEwOSw3ICsxMDIsNiBAQAogI2RlZmluZSBDT05GSUdfRU1VTEFURV9IQVJE
V0FSRSAwCiAjZGVmaW5lIENPTkZJR19OT05fR1JFRURZX01WIDAKICNkZWZpbmUgQ09ORklHX1JB
VEVfQ1RSTCAwCi0jZGVmaW5lIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgMAogI2Rl
ZmluZSBERUNPREVfV0lEVEhfTElNSVQgMTYzODQKICNkZWZpbmUgREVDT0RFX0hFSUdIVF9MSU1J
VCAxNjM4NAogI2VuZGlmIC8qIFZQWF9DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy9pb3MvYXJtNjQvdnB4X2RzcF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2lvcy9hcm02NC92cHhfZHNw
X3J0Y2QuaAppbmRleCA1NmE5NzJjOGVkMTAuLjljMzE0OTc4NzZjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9pb3MvYXJtNjQvdnB4X2RzcF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9pb3MvYXJt
NjQvdnB4X2RzcF9ydGNkLmgKQEAgLTE1LDEwICsxNSw2IEBACiAjaW5jbHVkZSAidnB4L3ZweF9p
bnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgogI2luY2x1ZGUg
InZweF9kc3AvdnB4X2ZpbHRlci5oIgotI2lmIENPTkZJR19WUDlfRU5DT0RFUgotc3RydWN0IG1h
Y3JvYmxvY2tfcGxhbmU7Ci1zdHJ1Y3QgU2Nhbk9yZGVyOwotI2VuZGlmCiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC02OCwzOSArNjQsNyBAQCB2b2lkIHZweF9jb252b2x2
ZThfbmVvbihjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eV9zdGVwX3E0LAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCiAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfbmVvbl9kb3Rwcm9kKGNvbnN0
IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmls
dGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZv
bHZlOF9uZW9uX2k4bW0oY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
ZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2Vy
bmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9j
b252b2x2ZTgpKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGgpOworI2RlZmluZSB2cHhfY29udm9sdmU4IHZweF9jb252b2x2ZThf
bmVvbgogCiB2b2lkIHZweF9jb252b2x2ZThfYXZnX2MoY29uc3QgdWludDhfdCogc3JjLAogICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMTI0LDM5ICs4
OCw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7
Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBm
aWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X2F2Z19uZW9uX2k4bW0oY29uc3QgdWludDhf
dCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfY29udm9sdmU4X2F2ZykoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0
ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGgpOworI2RlZmluZSB2cHhfY29udm9sdmU4X2F2ZyB2cHhfY29udm9s
dmU4X2F2Z19uZW9uCiAKIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfYyhjb25zdCB1aW50
OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGUsCkBAIC0xODAsMzkgKzExMiw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpf
bmVvbihjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHlfc3RlcF9xNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9j
b252b2x2ZThfYXZnX2hvcml6X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9uZW9uX2k4bW0oY29uc3QgdWlu
dDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfY29udm9sdmU4X2F2Z19ob3JpeikoY29uc3QgdWludDhfdCogc3Jj
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOworI2RlZmluZSB2cHhfY29udm9sdmU4
X2F2Z19ob3JpeiB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9uZW9uCiAKIHZvaWQgdnB4X2NvbnZv
bHZlOF9hdmdfdmVydF9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMjM2LDM5ICsxMzYsNyBAQCB2b2lk
IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbihjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbl9kb3Rwcm9kKGNvbnN0
IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uX2k4bW0o
Y29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThfYXZnX3ZlcnQpKGNvbnN0IHVpbnQ4X3QqIHNyYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGgpOworI2RlZmluZSB2cHhfY29udm9sdmU4X2F2Z192ZXJ0IHZw
eF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbgogCiB2b2lkIHZweF9jb252b2x2ZThfaG9yaXpfYyhj
b25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKQEAgLTI5MiwzOSArMTYwLDcgQEAgdm9pZCB2cHhfY29udm9sdmU4X2hvcml6
X25lb24oY29uc3QgdWludDhfdCogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHlfc3RlcF9xNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X2hv
cml6X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfaG9yaXpfbmVvbl9pOG1tKGNvbnN0IHVpbnQ4
X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5l
bCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBoKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfY29udm9sdmU4X2hvcml6KShjb25zdCB1
aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoKTsKKyNkZWZpbmUgdnB4X2NvbnZvbHZlOF9ob3JpeiB2cHhfY29udm9sdmU4X2hvcml6X25l
b24KIAogdm9pZCB2cHhfY29udm9sdmU4X3ZlcnRfYyhjb25zdCB1aW50OF90KiBzcmMsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMzQ4LDM5ICsx
ODQsNyBAQCB2b2lkIHZweF9jb252b2x2ZThfdmVydF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyYywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF92ZXJ0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90
KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVy
cEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF92ZXJ0X25lb25f
aThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBoKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfY29udm9sdmU4X3ZlcnQpKGNv
bnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7
CisjZGVmaW5lIHZweF9jb252b2x2ZThfdmVydCB2cHhfY29udm9sdmU4X3ZlcnRfbmVvbgogCiB2
b2lkIHZweF9jb252b2x2ZV9hdmdfYyhjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTQzNCw0MSArMjM4LDI1IEBAIHZv
aWQgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rv
cl8xNngxNl9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfMTZ4
MTYgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGlj
dG9yXzE2eDE2IHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jCiAKIHZvaWQgdnB4X2QxMTdfcHJl
ZGljdG9yXzMyeDMyX2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzIgdnB4X2QxMTdfcHJl
ZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyIHZweF9k
MTE3X3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9jKHVp
bnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9p
ZCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3X3By
ZWRpY3Rvcl80eDQgdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5lIHZweF9kMTE3
X3ByZWRpY3Rvcl80eDQgdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9jCiAKIHZvaWQgdnB4X2QxMTdf
cHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X25lb24odWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0j
ZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl84eDggdnB4X2QxMTdfcHJlZGljdG9yXzh4OF9uZW9u
CisjZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl84eDggdnB4X2QxMTdfcHJlZGljdG9yXzh4OF9j
CiAKIHZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtNTE0LDgxICsz
MDIsNDkgQEAgdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Qx
NTNfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTUzX3By
ZWRpY3Rvcl8xNngxNiB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhf
ZDE1M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2X2MKIAogdm9pZCB2
cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzMy
eDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMiB2
cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3Jf
MzJ4MzIgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDE1M19wcmVkaWN0
b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
bGVmdCk7Ci12b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUg
dnB4X2QxNTNfcHJlZGljdG9yXzR4NCB2cHhfZDE1M19wcmVkaWN0b3JfNHg0X25lb24KKyNkZWZp
bmUgdnB4X2QxNTNfcHJlZGljdG9yXzR4NCB2cHhfZDE1M19wcmVkaWN0b3JfNHg0X2MKIAogdm9p
ZCB2cHhfZDE1M19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVv
bih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzh4OCB2cHhfZDE1M19wcmVkaWN0
b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzh4OCB2cHhfZDE1M19wcmVk
aWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQg
dnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
MjA3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmlu
ZSB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2X2MKIAog
dm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdfcHJlZGlj
dG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8z
MngzMiB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfZDIwN19wcmVk
aWN0b3JfMzJ4MzIgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDIwN19w
cmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNk
ZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzR4NCB2cHhfZDIwN19wcmVkaWN0b3JfNHg0X25lb24K
KyNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzR4NCB2cHhfZDIwN19wcmVkaWN0b3JfNHg0X2MK
IAogdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl84
eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzh4OCB2cHhfZDIwN19w
cmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzh4OCB2cHhfZDIw
N19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDQ1X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4
X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRl
LApAQCAtNjQwLDQxICszOTYsMjUgQEAgdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl9jKHVp
bnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwot
dm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhf
ZDYzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl9uZW9uCisjZGVmaW5l
IHZweF9kNjNfcHJlZGljdG9yXzE2eDE2IHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X2MKIAogdm9p
ZCB2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8zMngz
Ml9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMiB2cHhfZDYz
X3ByZWRpY3Rvcl8zMngzMl9uZW9uCisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyIHZw
eF9kNjNfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfYyh1
aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQg
dnB4X2Q2M19wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9y
XzR4NCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDYzX3ByZWRpY3Rv
cl80eDQgdnB4X2Q2M19wcmVkaWN0b3JfNHg0X2MKIAogdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl84
eDhfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfOHg4X25lb24odWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJl
ZGljdG9yXzh4OCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfZDYzX3By
ZWRpY3Rvcl84eDggdnB4X2Q2M19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDYzZV9wcmVk
aWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKQEAgLTg5MiwxOCArNjMyLDcgQEAgdm9pZCB2cHhfZ2V0MTZ4MTZ2
YXJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2dl
dDE2eDE2dmFyX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50KiBzdW0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9nZXQxNngxNnZh
cikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQqIHN1bSk7CisjZGVmaW5lIHZweF9nZXQxNngxNnZhciB2cHhfZ2V0MTZ4MTZ2YXJfbmVv
bgogCiB1bnNpZ25lZCBpbnQgdnB4X2dldDR4NHNzZV9jc19jKGNvbnN0IHVuc2lnbmVkIGNoYXIq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtOTEzLDE0ICs2NDIsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X2dldDR4NHNzZV9jc19uZW9u
KGNvbnN0IHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2dldDR4NHNz
ZV9jc19uZW9uX2RvdHByb2QoY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFy
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9nZXQ0eDRzc2Vf
Y3MpKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7CisjZGVmaW5lIHZweF9nZXQ0eDRzc2VfY3MgdnB4X2dldDR4NHNzZV9jc19uZW9uCiAK
IHZvaWQgdnB4X2dldDh4OHZhcl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTkzNCwxOCArNjU2LDcgQEAgdm9pZCB2cHhf
Z2V0OHg4dmFyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci12b2lkIHZweF9n
ZXQ4eDh2YXJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCogc3VtKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfZ2V0OHg4dmFyKShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0pOworI2RlZmluZSB2
cHhfZ2V0OHg4dmFyIHZweF9nZXQ4eDh2YXJfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X2dldF9t
Yl9zc19jKGNvbnN0IGludDE2X3QqKTsKICNkZWZpbmUgdnB4X2dldF9tYl9zcyB2cHhfZ2V0X21i
X3NzX2MKQEAgLTEwMDEsMTAgKzcxMiw3IEBAIHZvaWQgdnB4X2hhZGFtYXJkXzE2eDE2X25lb24o
Y29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiB2b2lkIHZweF9oYWRhbWFyZF8zMngzMl9jKGNvbnN0
IGludDE2X3QqIHNyY19kaWZmLAogICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogY29lZmYpOwot
dm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzJfbmVvbihjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGNvZWZmKTsKLSNkZWZpbmUgdnB4X2hhZGFt
YXJkXzMyeDMyIHZweF9oYWRhbWFyZF8zMngzMl9uZW9uCisjZGVmaW5lIHZweF9oYWRhbWFyZF8z
MngzMiB2cHhfaGFkYW1hcmRfMzJ4MzJfYwogCiB2b2lkIHZweF9oYWRhbWFyZF84eDhfYyhjb25z
dCBpbnQxNl90KiBzcmNfZGlmZiwKICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLApAQCAtMTEwNCwxMSArODEyLDExIEBAIGludDE2X3QgdnB4X2ludF9wcm9fY29s
X2MoY29uc3QgdWludDhfdCogcmVmLCBjb25zdCBpbnQgd2lkdGgpOwogaW50MTZfdCB2cHhfaW50
X3Byb19jb2xfbmVvbihjb25zdCB1aW50OF90KiByZWYsIGNvbnN0IGludCB3aWR0aCk7CiAjZGVm
aW5lIHZweF9pbnRfcHJvX2NvbCB2cHhfaW50X3Byb19jb2xfbmVvbgogCi12b2lkIHZweF9pbnRf
cHJvX3Jvd19jKGludDE2X3QgaGJ1ZlsxNl0sCit2b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2
X3QqIGhidWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludCBoZWlnaHQpOwotdm9pZCB2cHhfaW50X3Byb19yb3dfbmVvbihp
bnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50X3Byb19yb3dfbmVvbihpbnQxNl90KiBoYnVm
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKQEAgLTEzMzYsNzkgKzEwNDQsMjggQEAgdW5z
aWduZWQgaW50IHZweF9tc2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21z
ZTE2eDE2X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfbXNlMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfbXNlMTZ4MTYgdnB4X21zZTE2eDE2X25l
b24KIAogdW5zaWduZWQgaW50IHZweF9tc2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9tc2UxNng4X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50
IHZweF9tc2UxNng4X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJU
Q0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9tc2UxNng4KShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfbXNlMTZ4OCB2cHhfbXNlMTZ4OF9jCiAKIHVu
c2lnbmVkIGludCB2cHhfbXNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNlOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNl
OHgxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVS
TiB1bnNpZ25lZCBpbnQgKCp2cHhfbXNlOHgxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKKyNkZWZpbmUgdnB4X21zZTh4MTYgdnB4X21zZTh4MTZfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X21zZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5z
aWduZWQgaW50IHZweF9tc2U4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNlOHg4X25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X21z
ZTh4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfbXNlOHg4
IHZweF9tc2U4eDhfYwogCiB2b2lkIHZweF9wbGFuZV9hZGRfbm9pc2VfYyh1aW50OF90KiBzdGFy
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCogbm9pc2UsCkBAIC0x
NDM4LDM2ICsxMDk1LDU4IEBAIHZvaWQgdnB4X3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfbWJf
cm93X25lb24odW5zaWduZWQgY2hhciogc3JjLAogCiB2b2lkIHZweF9xdWFudGl6ZV9iX2MoY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90
IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
X3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9i
bG9jaywKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRl
cXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3Jk
ZXIpOworICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVf
Yl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9z
aGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZpbmUgdnB4X3F1YW50aXplX2Ig
dnB4X3F1YW50aXplX2JfbmVvbgogCiB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX2MoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRx
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRl
cXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNv
bnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNj
YW4pOwogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNv
ZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZpbmUgdnB4X3F1YW50aXplX2Jf
MzJ4MzIgdnB4X3F1YW50aXplX2JfMzJ4MzJfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE0NzgsMTQgKzExNTcsNyBAQCB1bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4
MTZfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVS
TiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7CisjZGVmaW5lIHZweF9zYWQxNngxNiB2cHhfc2FkMTZ4MTZfbmVvbgogCiB1bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQ5NywzNyAr
MTE2OSwzMyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19uZW9uX2Rv
dHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9w
cmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQxNngxNl9hdmcpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2X2F2ZyB2cHhfc2FkMTZ4MTZfYXZnX25lb24KKwordm9p
ZCB2cHhfc2FkMTZ4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3Nh
ZDE2eDE2eDMgdnB4X3NhZDE2eDE2eDNfYwogCiB2b2lkIHZweF9zYWQxNngxNng0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNngxNng0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZDE2eDE2eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQxNngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2eDRkIHZweF9zYWQxNngxNng0ZF9uZW9uCisKK3Zv
aWQgdnB4X3NhZDE2eDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9z
YWQxNngxNng4IHZweF9zYWQxNngxNng4X2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0xNTM3LDE0ICsxMjA1LDcgQEAgdW5zaWduZWQgaW50IHZweF9zYWQx
NngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X3NhZDE2eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmlu
ZSB2cHhfc2FkMTZ4MzIgdnB4X3NhZDE2eDMyX25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQx
NngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE1NTYsMzcgKzEyMTcsMTkgQEAgdW5zaWdu
ZWQgaW50IHZweF9zYWQxNngzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwotdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVS
TiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMTZ4MzJfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9z
YWQxNngzMl9hdmcgdnB4X3NhZDE2eDMyX2F2Z19uZW9uCiAKIHZvaWQgdnB4X3NhZDE2eDMyeDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDMyeDRkX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
Owotdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDE2eDMyeDRkKShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4MzJ4NGQgdnB4X3NhZDE2eDMyeDRkX25l
b24KIAogdW5zaWduZWQgaW50IHZweF9zYWQxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTU5NiwxNCAr
MTIzOSw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X3NhZDE2eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDE2eDggdnB4X3NhZDE2eDhfbmVvbgogCiB1bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE2MTUsMzcgKzEy
NTEsMzMgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNng4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMTZ4OF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhf
c2FkMTZ4OF9hdmcgdnB4X3NhZDE2eDhfYXZnX25lb24KKwordm9pZCB2cHhfc2FkMTZ4OHgzX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDMgdnB4X3NhZDE2eDh4M19j
CiAKIHZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2
cHhfc2FkMTZ4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQxNng4eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDE2eDh4NGQpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4OHg0ZCB2cHhfc2FkMTZ4OHg0ZF9uZW9u
CisKK3ZvaWQgdnB4X3NhZDE2eDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhf
c2FkMTZ4OHg4IHZweF9zYWQxNng4eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTE2NTUsMTQgKzEyODcsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMy
eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfbmVvbl9kb3Rwcm9kKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2
cHhfc2FkMzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5l
IHZweF9zYWQzMngxNiB2cHhfc2FkMzJ4MTZfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMy
eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTY3NCwzNyArMTI5OSwxOSBAQCB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDMyeDE2X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2X2F2Z19uZW9uX2RvdHByb2QoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9zYWQzMngxNl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3Nh
ZDMyeDE2X2F2ZyB2cHhfc2FkMzJ4MTZfYXZnX25lb24KIAogdm9pZCB2cHhfc2FkMzJ4MTZ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MTZ4NGRfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9zYWQzMngxNng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMzJ4MTZ4NGQpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQzMngxNng0ZCB2cHhfc2FkMzJ4MTZ4NGRfbmVv
bgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE3MTQsMTQg
KzEzMjEsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfc2FkMzJ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4MzIpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9zYWQzMngzMiB2cHhfc2FkMzJ4
MzJfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtMTczMywzNyArMTMzMywyNiBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2F2Z19u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDMy
eDMyX2F2Z19uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQz
MngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyX2F2ZyB2cHhfc2FkMzJ4MzJf
YXZnX25lb24KIAogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQzMngzMng0ZF9u
ZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cHhfc2FkMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZw
eF9zYWQzMngzMng0ZCB2cHhfc2FkMzJ4MzJ4NGRfbmVvbgorCit2b2lkIHZweF9zYWQzMngzMng4
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMzJ4MzJ4OCB2cHhfc2Fk
MzJ4MzJ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAt
MTc3MywxNCArMTM2Miw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4NjRfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQzMng2NCkoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDMyeDY0IHZw
eF9zYWQzMng2NF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4NjRfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC0xNzkyLDM3ICsxMzc0LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4
NjRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4NjRfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X3NhZDMyeDY0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkMzJ4NjRfYXZnIHZweF9z
YWQzMng2NF9hdmdfbmVvbgogCiB2b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMng2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDMy
eDY0eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRF
Uk4gdm9pZCAoKnZweF9zYWQzMng2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNk
ZWZpbmUgdnB4X3NhZDMyeDY0eDRkIHZweF9zYWQzMng2NHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGlu
dCB2cHhfc2FkNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xODQ2LDE4ICsxNDEwLDMyIEBAIHVuc2lnbmVk
IGludCB2cHhfc2FkNHg0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAj
ZGVmaW5lIHZweF9zYWQ0eDRfYXZnIHZweF9zYWQ0eDRfYXZnX25lb24KIAordm9pZCB2cHhfc2Fk
NHg0eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDMgdnB4X3NhZDR4NHgz
X2MKKwogdm9pZCB2cHhfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3Nh
ZDR4NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OworICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5l
IHZweF9zYWQ0eDR4NGQgdnB4X3NhZDR4NHg0ZF9uZW9uCiAKK3ZvaWQgdnB4X3NhZDR4NHg4X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDR4NHg4IHZweF9zYWQ0eDR4OF9jCisKIHVu
c2lnbmVkIGludCB2cHhfc2FkNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC0xODgyLDE0ICsxNDYwLDE0IEBAIHVuc2ln
bmVkIGludCB2cHhfc2FkNHg4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZv
aWQgdnB4X3NhZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ0eDh4NGRf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2Fk
NHg4eDRkIHZweF9zYWQ0eDh4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE5MDAsMTQgKzE0NzgsNyBAQCB1bnNpZ25lZCBp
bnQgdnB4X3NhZDY0eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfbmVv
bl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNp
Z25lZCBpbnQgKCp2cHhfc2FkNjR4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7CisjZGVmaW5lIHZweF9zYWQ2NHgzMiB2cHhfc2FkNjR4MzJfbmVvbgogCiB1bnNpZ25lZCBp
bnQgdnB4X3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTkxOSwzNyArMTQ5MCwx
OSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2F2Z19uZW9uX2RvdHByb2Qo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHgzMl9hdmcpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNk
ZWZpbmUgdnB4X3NhZDY0eDMyX2F2ZyB2cHhfc2FkNjR4MzJfYXZnX25lb24KIAogdm9pZCB2cHhf
c2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2Fk
NjR4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ2NHgzMng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkNjR4MzJ4NGQpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ2NHgzMng0ZCB2cHhfc2Fk
NjR4MzJ4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTE5NTksMTQgKzE1MTIsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkNjR4NjQp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9zYWQ2NHg2
NCB2cHhfc2FkNjR4NjRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0X2F2Z19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtMTk3OCwzNyArMTUyNCwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDY0eDY0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZDY0eDY0X2F2Z19uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWQ2NHg2NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDY0eDY0X2F2ZyB2
cHhfc2FkNjR4NjRfYXZnX25lb24KIAogdm9pZCB2cHhfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNjR4NjR4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9z
YWQ2NHg2NHg0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfc2FkNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9zYWQ2NHg2NHg0ZCB2cHhfc2FkNjR4NjR4NGRfbmVvbgogCiB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMDMyLDE4ICsxNTYwLDMyIEBAIHVu
c2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9w
cmVkKTsKICNkZWZpbmUgdnB4X3NhZDh4MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19uZW9uCiAKK3Zv
aWQgdnB4X3NhZDh4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgx
NngzIHZweF9zYWQ4eDE2eDNfYworCiB2b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDh4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgx
Nng0ZF9uZW9uCiAKK3ZvaWQgdnB4X3NhZDh4MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2Rl
ZmluZSB2cHhfc2FkOHgxNng4IHZweF9zYWQ4eDE2eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLApAQCAtMjA2OCwxNCArMTYxMCwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4
NF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ4eDR4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkOHg0eDRkX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10s
CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0
eDRkX25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLApAQCAtMjEwMCw0MzEgKzE2NDIsMzEgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZn
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDh4OF9h
dmcgdnB4X3NhZDh4OF9hdmdfbmVvbgogCit2b2lkIHZweF9zYWQ4eDh4M19jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4MyB2cHhfc2FkOHg4eDNfYworCiB2b2lkIHZweF9zYWQ4
eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkOHg4eDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhf
c2FkOHg4eDRkX25lb24KIAotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MTZfbmVvbl9kb3Rw
cm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMTZ4MTYpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9z
a2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfbmVvbl9kb3Rwcm9k
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF8xNngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzE2eDMyX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9z
a2lwXzE2eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhf
c2FkX3NraXBfMTZ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9z
a2lwXzE2eDMyeDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8xNngz
Mng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWRfc2tpcF8xNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZF9za2lwXzE2eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3Nr
aXBfMTZ4OHg0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8xNng4eDRkKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfc2FkX3NraXBfMzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X3NhZF9za2lwXzMyeDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX25l
b25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzMyeDMyKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZw
eF9zYWRfc2tpcF8zMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX25lb25f
ZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8zMngzMng0ZCkoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMzJ4NjRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQg
aW50IHZweF9zYWRfc2tpcF8zMng2NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF9zYWRfc2tpcF8zMng2NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3Nr
aXBfMzJ4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfNHg0IHZweF9zYWRfc2tpcF80eDRfbmVvbgotCi12b2lkIHZw
eF9zYWRfc2tpcF80eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF80eDR4NGRfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDR4NGQgdnB4X3NhZF9za2lwXzR4NHg0ZF9uZW9u
Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfc2FkX3NraXBfNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzR4OCB2cHhfc2FkX3NraXBfNHg4X25lb24KLQotdm9pZCB2cHhfc2FkX3NraXBfNHg4
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNHg4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2
cHhfc2FkX3NraXBfNHg4eDRkIHZweF9zYWRfc2tpcF80eDh4NGRfbmVvbgotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZF9za2lwXzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
c2FkX3NraXBfNjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50
IHZweF9zYWRfc2tpcF82NHgzMl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9z
YWRfc2tpcF82NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZF9za2lwXzY0eDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9z
YWRfc2tpcF82NHgzMng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBf
NjR4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfbmVvbl9kb3Rwcm9k
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VY
VEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lw
XzY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfbmVvbl9kb3Rwcm9kKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzY0eDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhf
c2FkX3NraXBfOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4
MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHgxNiB2
cHhfc2FkX3NraXBfOHgxNl9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF84eDE2eDRkIHZweF9zYWRfc2tpcF84eDE2eDRkX25lb24KLQotdW5zaWduZWQg
aW50IHZweF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tp
cF84eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg0IHZw
eF9zYWRfc2tpcF84eDRfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9zYWRfc2tpcF84eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84
eDR4NGQgdnB4X3NhZF9za2lwXzh4NHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4OCB2cHhfc2FkX3NraXBfOHg4
X25lb24KLQotdm9pZCB2cHhfc2FkX3NraXBfOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHg4
eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg4eDRkIHZweF9zYWRf
c2tpcF84eDh4NGRfbmVvbgordm9pZCB2cHhfc2FkOHg4eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2Rl
ZmluZSB2cHhfc2FkOHg4eDggdnB4X3NhZDh4OHg4X2MKIAogaW50IHZweF9zYXRkX2MoY29uc3Qg
aW50MTZfdCogY29lZmYsIGludCBsZW5ndGgpOwogaW50IHZweF9zYXRkX25lb24oY29uc3QgaW50
MTZfdCogY29lZmYsIGludCBsZW5ndGgpOwpAQCAtMzE3MywxNiArMjMxNSw3IEBAIHVuc2lnbmVk
IGludCB2cHhfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MTZfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQg
aW50ICgqdnB4X3ZhcmlhbmNlMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTE2eDE2IHZw
eF92YXJpYW5jZTE2eDE2X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2eDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLApAQCAtMzE5NCwxNiArMjMyNyw3IEBAIHVuc2lnbmVkIGludCB2cHhf
dmFyaWFuY2UxNngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X3ZhcmlhbmNlMTZ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3ZhcmlhbmNlMTZ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTE2eDMyIHZweF92YXJpYW5j
ZTE2eDMyX25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTMyMTUsMTYgKzIzMzksNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4
OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4
OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTE2eDgpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZp
bmUgdnB4X3ZhcmlhbmNlMTZ4OCB2cHhfdmFyaWFuY2UxNng4X25lb24KIAogdW5zaWduZWQgaW50
IHZweF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMzIzNiwxNiArMjM1MSw3
IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MTZfbmVvbl9kb3Rwcm9kKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJp
YW5jZTMyeDE2IHZweF92YXJpYW5jZTMyeDE2X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJp
YW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMzI1NywxNiArMjM2Myw3IEBAIHVuc2ln
bmVkIGludCB2cHhfdmFyaWFuY2UzMngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X3ZhcmlhbmNlMzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTMyeDMy
IHZweF92YXJpYW5jZTMyeDMyX25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDY0
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtMzI3OCwxNiArMjM3NSw3IEBAIHVuc2lnbmVkIGludCB2
cHhfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3ZhcmlhbmNlMzJ4NjRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X3ZhcmlhbmNlMzJ4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTMyeDY0IHZweF92YXJp
YW5jZTMyeDY0X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTR4NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC0zMjk5LDE2ICsyMzg3LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTR4
NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNHg0X25l
b25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1S
VENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U0eDQpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFu
Y2U0eDQgdnB4X3ZhcmlhbmNlNHg0X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTR4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0zMzIwLDE2ICsyMzk5LDcgQEAgdW5zaWduZWQgaW50IHZw
eF92YXJpYW5jZTR4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlNHg4X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U0eDgpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmlu
ZSB2cHhfdmFyaWFuY2U0eDggdnB4X3ZhcmlhbmNlNHg4X25lb24KIAogdW5zaWduZWQgaW50IHZw
eF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMzM0MSwxNiArMjQxMSw3IEBA
IHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlNjR4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5j
ZTY0eDMyIHZweF92YXJpYW5jZTY0eDMyX25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5j
ZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMzM2MiwxNiArMjQyMyw3IEBAIHVuc2lnbmVk
IGludCB2cHhfdmFyaWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4NjRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQg
aW50ICgqdnB4X3ZhcmlhbmNlNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTY0eDY0IHZw
eF92YXJpYW5jZTY0eDY0X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKQEAgLTMzODMsMTYgKzI0MzUsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlOHgxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTh4
MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlOHgxNiB2cHhfdmFyaWFuY2U4eDE2X25lb24KIAogdW5z
aWduZWQgaW50IHZweF92YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0zNDA0LDE2ICsy
NDQ3LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4NF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg0X25lb25fZG90cHJvZChjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfdmFyaWFuY2U4eDQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2U4eDQgdnB4X3ZhcmlhbmNlOHg0
X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC0zNDI1LDE2ICsyNDU5LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4OF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg4X25lb25fZG90cHJv
ZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVS
TiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2U4eDggdnB4
X3ZhcmlhbmNlOHg4X25lb24KIAogdm9pZCB2cHhfdmVfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3Qq
IGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAt
MzQ1NiwyODkgKzI0ODEsNiBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQp
IHsKICAgaW50IGZsYWdzID0gYXJtX2NwdV9jYXBzKCk7CiAKICAgKHZvaWQpZmxhZ3M7Ci0KLSAg
dnB4X2NvbnZvbHZlOCA9IHZweF9jb252b2x2ZThfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05F
T05fRE9UUFJPRCkgewotICAgIHZweF9jb252b2x2ZTggPSB2cHhfY29udm9sdmU4X25lb25fZG90
cHJvZDsKLSAgfQotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9JOE1NKSB7Ci0gICAgdnB4X2NvbnZv
bHZlOCA9IHZweF9jb252b2x2ZThfbmVvbl9pOG1tOwotICB9Ci0gIHZweF9jb252b2x2ZThfYXZn
ID0gdnB4X2NvbnZvbHZlOF9hdmdfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9jb252b2x2ZThfYXZnID0gdnB4X2NvbnZvbHZlOF9hdmdfbmVvbl9kb3Rw
cm9kOwotICB9Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0k4TU0pIHsKLSAgICB2cHhfY29udm9s
dmU4X2F2ZyA9IHZweF9jb252b2x2ZThfYXZnX25lb25faThtbTsKLSAgfQotICB2cHhfY29udm9s
dmU4X2F2Z19ob3JpeiA9IHZweF9jb252b2x2ZThfYXZnX2hvcml6X25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfY29udm9sdmU4X2F2Z19ob3JpeiA9IHZw
eF9jb252b2x2ZThfYXZnX2hvcml6X25lb25fZG90cHJvZDsKLSAgfQotICBpZiAoZmxhZ3MgJiBI
QVNfTkVPTl9JOE1NKSB7Ci0gICAgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXogPSB2cHhfY29udm9s
dmU4X2F2Z19ob3Jpel9uZW9uX2k4bW07Ci0gIH0KLSAgdnB4X2NvbnZvbHZlOF9hdmdfdmVydCA9
IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9U
UFJPRCkgewotICAgIHZweF9jb252b2x2ZThfYXZnX3ZlcnQgPSB2cHhfY29udm9sdmU4X2F2Z192
ZXJ0X25lb25fZG90cHJvZDsKLSAgfQotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9JOE1NKSB7Ci0g
ICAgdnB4X2NvbnZvbHZlOF9hdmdfdmVydCA9IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbl9p
OG1tOwotICB9Ci0gIHZweF9jb252b2x2ZThfaG9yaXogPSB2cHhfY29udm9sdmU4X2hvcml6X25l
b247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfY29udm9sdmU4
X2hvcml6ID0gdnB4X2NvbnZvbHZlOF9ob3Jpel9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgaWYgKGZs
YWdzICYgSEFTX05FT05fSThNTSkgewotICAgIHZweF9jb252b2x2ZThfaG9yaXogPSB2cHhfY29u
dm9sdmU4X2hvcml6X25lb25faThtbTsKLSAgfQotICB2cHhfY29udm9sdmU4X3ZlcnQgPSB2cHhf
Y29udm9sdmU4X3ZlcnRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewot
ICAgIHZweF9jb252b2x2ZThfdmVydCA9IHZweF9jb252b2x2ZThfdmVydF9uZW9uX2RvdHByb2Q7
Ci0gIH0KLSAgaWYgKGZsYWdzICYgSEFTX05FT05fSThNTSkgewotICAgIHZweF9jb252b2x2ZThf
dmVydCA9IHZweF9jb252b2x2ZThfdmVydF9uZW9uX2k4bW07Ci0gIH0KLSAgdnB4X2dldDE2eDE2
dmFyID0gdnB4X2dldDE2eDE2dmFyX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBS
T0QpIHsKLSAgICB2cHhfZ2V0MTZ4MTZ2YXIgPSB2cHhfZ2V0MTZ4MTZ2YXJfbmVvbl9kb3Rwcm9k
OwotICB9Ci0gIHZweF9nZXQ0eDRzc2VfY3MgPSB2cHhfZ2V0NHg0c3NlX2NzX25lb247Ci0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfZ2V0NHg0c3NlX2NzID0gdnB4
X2dldDR4NHNzZV9jc19uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X2dldDh4OHZhciA9IHZweF9n
ZXQ4eDh2YXJfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZw
eF9nZXQ4eDh2YXIgPSB2cHhfZ2V0OHg4dmFyX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfbXNl
MTZ4MTYgPSB2cHhfbXNlMTZ4MTZfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9tc2UxNngxNiA9IHZweF9tc2UxNngxNl9uZW9uX2RvdHByb2Q7Ci0gIH0K
LSAgdnB4X21zZTE2eDggPSB2cHhfbXNlMTZ4OF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKSB7Ci0gICAgdnB4X21zZTE2eDggPSB2cHhfbXNlMTZ4OF9uZW9uX2RvdHByb2Q7
Ci0gIH0KLSAgdnB4X21zZTh4MTYgPSB2cHhfbXNlOHgxNl9uZW9uOwotICBpZiAoZmxhZ3MgJiBI
QVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X21zZTh4MTYgPSB2cHhfbXNlOHgxNl9uZW9uX2Rv
dHByb2Q7Ci0gIH0KLSAgdnB4X21zZTh4OCA9IHZweF9tc2U4eDhfbmVvbjsKLSAgaWYgKGZsYWdz
ICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9tc2U4eDggPSB2cHhfbXNlOHg4X25lb25f
ZG90cHJvZDsKLSAgfQotICB2cHhfc2FkMTZ4MTYgPSB2cHhfc2FkMTZ4MTZfbmVvbjsKLSAgaWYg
KGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQxNngxNiA9IHZweF9zYWQx
NngxNl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDE2eDE2X2F2ZyA9IHZweF9zYWQxNngx
Nl9hdmdfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9z
YWQxNngxNl9hdmcgPSB2cHhfc2FkMTZ4MTZfYXZnX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhf
c2FkMTZ4MTZ4NGQgPSB2cHhfc2FkMTZ4MTZ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05F
T05fRE9UUFJPRCkgewotICAgIHZweF9zYWQxNngxNng0ZCA9IHZweF9zYWQxNngxNng0ZF9uZW9u
X2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDE2eDMyID0gdnB4X3NhZDE2eDMyX25lb247Ci0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMTZ4MzIgPSB2cHhfc2Fk
MTZ4MzJfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQxNngzMl9hdmcgPSB2cHhfc2FkMTZ4
MzJfYXZnX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhf
c2FkMTZ4MzJfYXZnID0gdnB4X3NhZDE2eDMyX2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4
X3NhZDE2eDMyeDRkID0gdnB4X3NhZDE2eDMyeDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19O
RU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMTZ4MzJ4NGQgPSB2cHhfc2FkMTZ4MzJ4NGRfbmVv
bl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQxNng4ID0gdnB4X3NhZDE2eDhfbmVvbjsKLSAgaWYg
KGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQxNng4ID0gdnB4X3NhZDE2
eDhfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQxNng4X2F2ZyA9IHZweF9zYWQxNng4X2F2
Z19uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2
eDhfYXZnID0gdnB4X3NhZDE2eDhfYXZnX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkMTZ4
OHg0ZCA9IHZweF9zYWQxNng4eDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBS
T0QpIHsKLSAgICB2cHhfc2FkMTZ4OHg0ZCA9IHZweF9zYWQxNng4eDRkX25lb25fZG90cHJvZDsK
LSAgfQotICB2cHhfc2FkMzJ4MTYgPSB2cHhfc2FkMzJ4MTZfbmVvbjsKLSAgaWYgKGZsYWdzICYg
SEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQzMngxNiA9IHZweF9zYWQzMngxNl9uZW9u
X2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDMyeDE2X2F2ZyA9IHZweF9zYWQzMngxNl9hdmdfbmVv
bjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQzMngxNl9h
dmcgPSB2cHhfc2FkMzJ4MTZfYXZnX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkMzJ4MTZ4
NGQgPSB2cHhfc2FkMzJ4MTZ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9zYWQzMngxNng0ZCA9IHZweF9zYWQzMngxNng0ZF9uZW9uX2RvdHByb2Q7
Ci0gIH0KLSAgdnB4X3NhZDMyeDMyID0gdnB4X3NhZDMyeDMyX25lb247Ci0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMzJ4MzIgPSB2cHhfc2FkMzJ4MzJfbmVv
bl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQzMngzMl9hdmcgPSB2cHhfc2FkMzJ4MzJfYXZnX25l
b247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMzJ4MzJf
YXZnID0gdnB4X3NhZDMyeDMyX2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDMyeDMy
eDRkID0gdnB4X3NhZDMyeDMyeDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBS
T0QpIHsKLSAgICB2cHhfc2FkMzJ4MzJ4NGQgPSB2cHhfc2FkMzJ4MzJ4NGRfbmVvbl9kb3Rwcm9k
OwotICB9Ci0gIHZweF9zYWQzMng2NCA9IHZweF9zYWQzMng2NF9uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDMyeDY0ID0gdnB4X3NhZDMyeDY0X25l
b25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkMzJ4NjRfYXZnID0gdnB4X3NhZDMyeDY0X2F2Z19u
ZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDMyeDY0
X2F2ZyA9IHZweF9zYWQzMng2NF9hdmdfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQzMng2
NHg0ZCA9IHZweF9zYWQzMng2NHg0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQ
Uk9EKSB7Ci0gICAgdnB4X3NhZDMyeDY0eDRkID0gdnB4X3NhZDMyeDY0eDRkX25lb25fZG90cHJv
ZDsKLSAgfQotICB2cHhfc2FkNjR4MzIgPSB2cHhfc2FkNjR4MzJfbmVvbjsKLSAgaWYgKGZsYWdz
ICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQ2NHgzMiA9IHZweF9zYWQ2NHgzMl9u
ZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDY0eDMyX2F2ZyA9IHZweF9zYWQ2NHgzMl9hdmdf
bmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQ2NHgz
Ml9hdmcgPSB2cHhfc2FkNjR4MzJfYXZnX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkNjR4
MzJ4NGQgPSB2cHhfc2FkNjR4MzJ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9U
UFJPRCkgewotICAgIHZweF9zYWQ2NHgzMng0ZCA9IHZweF9zYWQ2NHgzMng0ZF9uZW9uX2RvdHBy
b2Q7Ci0gIH0KLSAgdnB4X3NhZDY0eDY0ID0gdnB4X3NhZDY0eDY0X25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkNjR4NjQgPSB2cHhfc2FkNjR4NjRf
bmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQ2NHg2NF9hdmcgPSB2cHhfc2FkNjR4NjRfYXZn
X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkNjR4
NjRfYXZnID0gdnB4X3NhZDY0eDY0X2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDY0
eDY0eDRkID0gdnB4X3NhZDY0eDY0eDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RP
VFBST0QpIHsKLSAgICB2cHhfc2FkNjR4NjR4NGQgPSB2cHhfc2FkNjR4NjR4NGRfbmVvbl9kb3Rw
cm9kOwotICB9Ci0gIHZweF9zYWRfc2tpcF8xNngxNiA9IHZweF9zYWRfc2tpcF8xNngxNl9uZW9u
OwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzE2
eDE2ID0gdnB4X3NhZF9za2lwXzE2eDE2X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3Nr
aXBfMTZ4MTZ4NGQgPSB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYg
SEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tpcF8xNngxNng0ZCA9IHZweF9zYWRf
c2tpcF8xNngxNng0ZF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZF9za2lwXzE2eDMyID0g
dnB4X3NhZF9za2lwXzE2eDMyX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0Qp
IHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4MzIgPSB2cHhfc2FkX3NraXBfMTZ4MzJfbmVvbl9kb3Rw
cm9kOwotICB9Ci0gIHZweF9zYWRfc2tpcF8xNngzMng0ZCA9IHZweF9zYWRfc2tpcF8xNngzMng0
ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9z
a2lwXzE2eDMyeDRkID0gdnB4X3NhZF9za2lwXzE2eDMyeDRkX25lb25fZG90cHJvZDsKLSAgfQot
ICB2cHhfc2FkX3NraXBfMTZ4OCA9IHZweF9zYWRfc2tpcF8xNng4X25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4OCA9IHZweF9zYWRf
c2tpcF8xNng4X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBfMTZ4OHg0ZCA9IHZw
eF9zYWRfc2tpcF8xNng4eDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0Qp
IHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4OHg0ZCA9IHZweF9zYWRfc2tpcF8xNng4eDRkX25lb25f
ZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBfMzJ4MTYgPSB2cHhfc2FkX3NraXBfMzJ4MTZf
bmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tp
cF8zMngxNiA9IHZweF9zYWRfc2tpcF8zMngxNl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3Nh
ZF9za2lwXzMyeDE2eDRkID0gdnB4X3NhZF9za2lwXzMyeDE2eDRkX25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhf
c2FkX3NraXBfMzJ4MTZ4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWRfc2tpcF8zMngz
MiA9IHZweF9zYWRfc2tpcF8zMngzMl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQ
Uk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzMyeDMyID0gdnB4X3NhZF9za2lwXzMyeDMyX25lb25f
ZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfc2FkX3NraXBfMzJ4
MzJ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9z
YWRfc2tpcF8zMngzMng0ZCA9IHZweF9zYWRfc2tpcF8zMngzMng0ZF9uZW9uX2RvdHByb2Q7Ci0g
IH0KLSAgdnB4X3NhZF9za2lwXzMyeDY0ID0gdnB4X3NhZF9za2lwXzMyeDY0X25lb247Ci0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMzJ4NjQgPSB2
cHhfc2FkX3NraXBfMzJ4NjRfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWRfc2tpcF8zMng2
NHg0ZCA9IHZweF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzMyeDY0eDRkID0gdnB4X3NhZF9za2lwXzMy
eDY0eDRkX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBfNjR4MzIgPSB2cHhfc2Fk
X3NraXBfNjR4MzJfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAg
IHZweF9zYWRfc2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82NHgzMl9uZW9uX2RvdHByb2Q7Ci0g
IH0KLSAgdnB4X3NhZF9za2lwXzY0eDMyeDRkID0gdnB4X3NhZF9za2lwXzY0eDMyeDRkX25lb247
Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfNjR4
MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9z
YWRfc2tpcF82NHg2NCA9IHZweF9zYWRfc2tpcF82NHg2NF9uZW9uOwotICBpZiAoZmxhZ3MgJiBI
QVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzY0eDY0ID0gdnB4X3NhZF9za2lw
XzY0eDY0X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhf
c2FkX3NraXBfNjR4NjR4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkg
ewotICAgIHZweF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9uZW9u
X2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3ZhcmlhbmNlMTZ4MTYgPSB2cHhfdmFyaWFuY2UxNngxNl9u
ZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNl
MTZ4MTYgPSB2cHhfdmFyaWFuY2UxNngxNl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3Zhcmlh
bmNlMTZ4MzIgPSB2cHhfdmFyaWFuY2UxNngzMl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlMTZ4MzIgPSB2cHhfdmFyaWFuY2UxNngzMl9u
ZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3ZhcmlhbmNlMTZ4OCA9IHZweF92YXJpYW5jZTE2eDhf
bmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5j
ZTE2eDggPSB2cHhfdmFyaWFuY2UxNng4X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfdmFyaWFu
Y2UzMngxNiA9IHZweF92YXJpYW5jZTMyeDE2X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9O
X0RPVFBST0QpIHsKLSAgICB2cHhfdmFyaWFuY2UzMngxNiA9IHZweF92YXJpYW5jZTMyeDE2X25l
b25fZG90cHJvZDsKLSAgfQotICB2cHhfdmFyaWFuY2UzMngzMiA9IHZweF92YXJpYW5jZTMyeDMy
X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfdmFyaWFu
Y2UzMngzMiA9IHZweF92YXJpYW5jZTMyeDMyX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfdmFy
aWFuY2UzMng2NCA9IHZweF92YXJpYW5jZTMyeDY0X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19O
RU9OX0RPVFBST0QpIHsKLSAgICB2cHhfdmFyaWFuY2UzMng2NCA9IHZweF92YXJpYW5jZTMyeDY0
X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfdmFyaWFuY2U0eDQgPSB2cHhfdmFyaWFuY2U0eDRf
bmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5j
ZTR4NCA9IHZweF92YXJpYW5jZTR4NF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3ZhcmlhbmNl
NHg4ID0gdnB4X3ZhcmlhbmNlNHg4X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBS
T0QpIHsKLSAgICB2cHhfdmFyaWFuY2U0eDggPSB2cHhfdmFyaWFuY2U0eDhfbmVvbl9kb3Rwcm9k
OwotICB9Ci0gIHZweF92YXJpYW5jZTY0eDMyID0gdnB4X3ZhcmlhbmNlNjR4MzJfbmVvbjsKLSAg
aWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTY0eDMyID0g
dnB4X3ZhcmlhbmNlNjR4MzJfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF92YXJpYW5jZTY0eDY0
ID0gdnB4X3ZhcmlhbmNlNjR4NjRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF92YXJpYW5jZTY0eDY0ID0gdnB4X3ZhcmlhbmNlNjR4NjRfbmVvbl9kb3Rw
cm9kOwotICB9Ci0gIHZweF92YXJpYW5jZTh4MTYgPSB2cHhfdmFyaWFuY2U4eDE2X25lb247Ci0g
IGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfdmFyaWFuY2U4eDE2ID0g
dnB4X3ZhcmlhbmNlOHgxNl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3ZhcmlhbmNlOHg0ID0g
dnB4X3ZhcmlhbmNlOHg0X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsK
LSAgICB2cHhfdmFyaWFuY2U4eDQgPSB2cHhfdmFyaWFuY2U4eDRfbmVvbl9kb3Rwcm9kOwotICB9
Ci0gIHZweF92YXJpYW5jZTh4OCA9IHZweF92YXJpYW5jZTh4OF9uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlOHg4ID0gdnB4X3ZhcmlhbmNl
OHg4X25lb25fZG90cHJvZDsKLSAgfQogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25m
aWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVjdC92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZwOF9ydGNkLmgKaW5kZXggMmExNzk1OWE1N2Q1Li44MGQ3
MWJiOWQzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVj
dC92cDhfcnRjZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVjdC92
cDhfcnRjZC5oCkBAIC0xMDMsNiArMTAzLDM2IEBAIFJUQ0RfRVhURVJOIHZvaWQgKCp2cDhfYmls
aW5lYXJfcHJlZGljdDh4OCkodW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7
CiAKK3ZvaWQgdnA4X2JsZW5kX2JfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
diwKKyAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgIGludCB1
XzEsCisgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQg
YWxwaGEsCisgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVu
ZF9iIHZwOF9ibGVuZF9iX2MKKwordm9pZCB2cDhfYmxlbmRfbWJfaW5uZXJfYyh1bnNpZ25lZCBj
aGFyKiB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwor
I2RlZmluZSB2cDhfYmxlbmRfbWJfaW5uZXIgdnA4X2JsZW5kX21iX2lubmVyX2MKKwordm9pZCB2
cDhfYmxlbmRfbWJfb3V0ZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfb3V0ZXIg
dnA4X2JsZW5kX21iX291dGVyX2MKKwogaW50IHZwOF9ibG9ja19lcnJvcl9jKHNob3J0KiBjb2Vm
Ziwgc2hvcnQqIGRxY29lZmYpOwogI2RlZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4X2Jsb2NrX2Vy
cm9yX2MKIApAQCAtMzA4LDYgKzMzOCwxNyBAQCB2b2lkIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4
X2ModW5zaWduZWQgY2hhciogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfd2VpZ2h0KTsKICNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDggdnA4X2ZpbHRl
cl9ieV93ZWlnaHQ4eDhfYwogCitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jKHN0cnVjdCBtYWNy
b2Jsb2NrKiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0
YW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSog
Zm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworI2RlZmluZSB2
cDhfZnVsbF9zZWFyY2hfc2FkIHZwOF9mdWxsX3NlYXJjaF9zYWRfYworCiB2b2lkIHZwOF9sb29w
X2ZpbHRlcl9iaF9jKHVuc2lnbmVkIGNoYXIqIHlfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBjaGFyKiB1X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciogdl9wdHIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9u
LWNwdS1kZXRlY3QvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRl
dGVjdC92cDlfcnRjZC5oCmluZGV4IDY1NGY0OTY2ZmI0MC4uZjVmYTE0MDNiMjdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uLWNwdS1kZXRlY3QvdnA5X3J0Y2QuaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uLWNwdS1kZXRlY3QvdnA5X3J0Y2QuaApAQCAtMjEs
OSArMjEsNyBAQCBzdHJ1Y3QgbWFjcm9ibG9ja2Q7CiAKIC8qIEVuY29kZXIgZm9yd2FyZCBkZWNs
cyAqLwogc3RydWN0IG1hY3JvYmxvY2s7Ci1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVj
dCB2cDlfc2FkX3RhYmxlOwotc3RydWN0IFNjYW5PcmRlcjsKK3N0cnVjdCB2cDlfdmFyaWFuY2Vf
dnRhYmxlOwogc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsKIHN0cnVjdCBtdjsKIHVuaW9uIGlu
dF9tdjsKQEAgLTM3LDE0ICszNSw3IEBAIGludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2MoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5f
bG93X3QqIGRxY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IGJsb2Nr
X3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqIHNzeik7Ci1pbnQ2NF90
IHZwOV9ibG9ja19lcnJvcl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBibG9ja19zaXplLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQ2NF90KiBzc3opOwotUlRDRF9FWFRFUk4gaW50NjRfdCAoKnZwOV9i
bG9ja19lcnJvcikoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3QgYmxvY2tfc2l6ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqIHNzeik7CisjZGVmaW5l
IHZwOV9ibG9ja19lcnJvciB2cDlfYmxvY2tfZXJyb3JfYwogCiBpbnQ2NF90IHZwOV9ibG9ja19l
cnJvcl9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLApAQCAtODcsNzMgKzc4LDMxIEBAIFJU
Q0RfRVhURVJOIGludCAoKnZwOV9kZW5vaXNlcl9maWx0ZXIpKGNvbnN0IHVpbnQ4X3QqIHNpZywK
IGludCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9j
b25maWcqIGNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiByZWZf
bXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiBiZXN0X212LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCogbnVtMDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci1pbnQgdnA5X2Rp
YW1vbmRfc2VhcmNoX3NhZF9uZW9uKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmln
KiBjZmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwotUlRDRF9F
WFRFUk4gaW50ICgqdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCkoCi0gICAgY29uc3Qgc3RydWN0IG1h
Y3JvYmxvY2sqIHgsCi0gICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAot
ICAgIHN0cnVjdCBtdiogcmVmX212LAotICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwKLSAgICBz
dHJ1Y3QgbXYqIGJlc3RfbXYsCi0gICAgaW50IHNlYXJjaF9wYXJhbSwKLSAgICBpbnQgc2FkX3Bl
cl9iaXQsCi0gICAgaW50KiBudW0wMCwKLSAgICBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJsZSog
c2FkX2ZuX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7CisjZGVmaW5lIHZw
OV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jCiAKIHZvaWQgdnA5
X2ZodDE2eDE2X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIG91dHB1dCwKICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotdm9pZCB2cDlfZmh0MTZ4MTZfbmVvbihjb25z
dCBpbnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0
cHV0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgdHhfdHlwZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X2ZodDE2eDE2KShj
b25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Cisj
ZGVmaW5lIHZwOV9maHQxNngxNiB2cDlfZmh0MTZ4MTZfYwogCiB2b2lkIHZwOV9maHQ0eDRfYyhj
b25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1
dCwKICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICBpbnQg
dHhfdHlwZSk7Ci12b2lkIHZwOV9maHQ0eDRfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAg
ICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnA5X2ZodDR4NCkoY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHR4X3R5cGUpOworI2RlZmluZSB2cDlfZmh0NHg0IHZwOV9maHQ0eDRfYwogCiB2
b2lkIHZwOV9maHQ4eDhfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci12b2lkIHZwOV9maHQ4eDhfbmVvbihjb25zdCBp
bnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwK
LSAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBp
bnQgdHhfdHlwZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X2ZodDh4OCkoY29uc3QgaW50MTZf
dCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0
cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOworI2RlZmluZSB2cDlfZmh0OHg4
IHZwOV9maHQ4eDhfYwogCiB2b2lkIHZwOV9maWx0ZXJfYnlfd2VpZ2h0MTZ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTIxMyw1NSArMTYyLDcxIEBAIFJUQ0RfRVhURVJOIHZvaWQgKCp2cDlfaWh0OHg4
XzY0X2FkZCkoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZvaWQgdnA5X3F1YW50aXplX2Zw
X2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBp
bnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1h
Y3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNv
ZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBj
b25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cDlfcXVhbnRpemVfZnApKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSog
Y29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xv
d190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1
aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworUlRDRF9F
WFRFUk4gdm9pZCAoKnZwOV9xdWFudGl6ZV9mcCkoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngz
Ml9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfbmVv
bihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9v
cmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X3F1YW50aXplX2ZwXzMyeDMyKSgKLSAgICBj
b25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29u
c3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2
cDlfcXVhbnRpemVfZnBfMzJ4MzIpKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBl
b2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIAogdm9pZCB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFt
ZV9jKGNvbnN0IHN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWcqIHNyYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBkc3QsCkBAIC0y
ODgsMjcgKzI1MywxMiBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsK
IAogICAodm9pZClmbGFnczsKIAotICB2cDlfYmxvY2tfZXJyb3IgPSB2cDlfYmxvY2tfZXJyb3Jf
YzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnA5X2Jsb2NrX2Vycm9yID0gdnA5X2Js
b2NrX2Vycm9yX25lb247CiAgIHZwOV9ibG9ja19lcnJvcl9mcCA9IHZwOV9ibG9ja19lcnJvcl9m
cF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKICAgICB2cDlfYmxvY2tfZXJyb3JfZnAgPSB2
cDlfYmxvY2tfZXJyb3JfZnBfbmVvbjsKICAgdnA5X2Rlbm9pc2VyX2ZpbHRlciA9IHZwOV9kZW5v
aXNlcl9maWx0ZXJfYzsKICAgaWYgKGZsYWdzICYgSEFTX05FT04pCiAgICAgdnA5X2Rlbm9pc2Vy
X2ZpbHRlciA9IHZwOV9kZW5vaXNlcl9maWx0ZXJfbmVvbjsKLSAgdnA5X2RpYW1vbmRfc2VhcmNo
X3NhZCA9IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04p
Ci0gICAgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCA9IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVv
bjsKLSAgdnA5X2ZodDE2eDE2ID0gdnA5X2ZodDE2eDE2X2M7Ci0gIGlmIChmbGFncyAmIEhBU19O
RU9OKQotICAgIHZwOV9maHQxNngxNiA9IHZwOV9maHQxNngxNl9uZW9uOwotICB2cDlfZmh0NHg0
ID0gdnA5X2ZodDR4NF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKLSAgICB2cDlfZmh0NHg0
ID0gdnA5X2ZodDR4NF9uZW9uOwotICB2cDlfZmh0OHg4ID0gdnA5X2ZodDh4OF9jOwotICBpZiAo
ZmxhZ3MgJiBIQVNfTkVPTikKLSAgICB2cDlfZmh0OHg4ID0gdnA5X2ZodDh4OF9uZW9uOwogICB2
cDlfaWh0MTZ4MTZfMjU2X2FkZCA9IHZwOV9paHQxNngxNl8yNTZfYWRkX2M7CiAgIGlmIChmbGFn
cyAmIEhBU19ORU9OKQogICAgIHZwOV9paHQxNngxNl8yNTZfYWRkID0gdnA5X2lodDE2eDE2XzI1
Nl9hZGRfbmVvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRl
dGVjdC92cHhfY29uZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVj
dC92cHhfY29uZmlnLmFzbQppbmRleCBmMjEyZjkxMTA5ZDguLmRiNzk2ZWE1OTg0OSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZweF9jb25maWcuYXNt
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVjdC92cHhfY29uZmlnLmFz
bQpAQCAtMSwxMCArMSw4IEBACiBAIFRoaXMgZmlsZSB3YXMgY3JlYXRlZCBmcm9tIGEgLmFzbSBm
aWxlCiBAICB1c2luZyB0aGUgYWRzMmdhcy5wbCBzY3JpcHQuCi0uc3ludGF4IHVuaWZpZWQKKwku
c3ludGF4IHVuaWZpZWQKIC5lcXUgVlBYX0FSQ0hfQVJNICwgIDEKIC5lcXUgQVJDSF9BUk0gLCAg
MQotLmVxdSBWUFhfQVJDSF9BQVJDSDY0ICwgIDAKLS5lcXUgQVJDSF9BQVJDSDY0ICwgIDAKIC5l
cXUgVlBYX0FSQ0hfTUlQUyAsICAwCiAuZXF1IEFSQ0hfTUlQUyAsICAwCiAuZXF1IFZQWF9BUkNI
X1g4NiAsICAwCkBAIC0xMywxMiArMTEsOCBAQAogLmVxdSBBUkNIX1g4Nl82NCAsICAwCiAuZXF1
IFZQWF9BUkNIX1BQQyAsICAwCiAuZXF1IEFSQ0hfUFBDICwgIDAKLS5lcXUgVlBYX0FSQ0hfTE9P
TkdBUkNIICwgIDAKLS5lcXUgQVJDSF9MT09OR0FSQ0ggLCAgMAotLmVxdSBIQVZFX05FT05fQVNN
ICwgIDEKIC5lcXUgSEFWRV9ORU9OICwgIDEKLS5lcXUgSEFWRV9ORU9OX0RPVFBST0QgLCAgMAot
LmVxdSBIQVZFX05FT05fSThNTSAsICAwCisuZXF1IEhBVkVfTkVPTl9BU00gLCAgMQogLmVxdSBI
QVZFX01JUFMzMiAsICAwCiAuZXF1IEhBVkVfRFNQUjIgLCAgMAogLmVxdSBIQVZFX01TQSAsICAw
CkBAIC0zNCw4ICsyOCw2IEBACiAuZXF1IEhBVkVfQVZYNTEyICwgIDAKIC5lcXUgSEFWRV9WU1gg
LCAgMAogLmVxdSBIQVZFX01NSSAsICAwCi0uZXF1IEhBVkVfTFNYICwgIDAKLS5lcXUgSEFWRV9M
QVNYICwgIDAKIC5lcXUgSEFWRV9WUFhfUE9SVFMgLCAgMQogLmVxdSBIQVZFX1BUSFJFQURfSCAs
ICAxCiAuZXF1IEhBVkVfVU5JU1REX0ggLCAgMApAQCAtODgsNiArODAsNyBAQAogLmVxdSBDT05G
SUdfTVVMVElfUkVTX0VOQ09ESU5HICwgIDEKIC5lcXUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lO
RyAsICAxCiAuZXF1IENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HICwgIDEKKy5lcXUgQ09O
RklHX0NPTlNJU1RFTlRfUkVDT0RFICwgIDAKIC5lcXUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdF
X0NIRUNLSU5HICwgIDAKIC5lcXUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggLCAgMAogLmVxdSBD
T05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgLCAgMApAQCAtMTAwLDcgKzkzLDYgQEAKIC5l
cXUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUgLCAgMAogLmVxdSBDT05GSUdfTk9OX0dSRUVEWV9N
ViAsICAwCiAuZXF1IENPTkZJR19SQVRFX0NUUkwgLCAgMAotLmVxdSBDT05GSUdfQ09MTEVDVF9D
T01QT05FTlRfVElNSU5HICwgIDAKIC5lcXUgREVDT0RFX1dJRFRIX0xJTUlUICwgIDE2Mzg0CiAu
ZXF1IERFQ09ERV9IRUlHSFRfTElNSVQgLCAgMTYzODQKLSAgICAuc2VjdGlvbiAubm90ZS5HTlUt
c3RhY2ssIiIsJXByb2diaXRzCisJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLCVwcm9nYml0
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZweF9j
b25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVjdC92cHhfY29uZmln
LmgKaW5kZXggMDQxZjk3OGRiZjE0Li5hNWMzMDlhNTcyOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25m
aWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVjdC92cHhfY29uZmlnLmgKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy9saW51eC9hcm0tbmVvbi1jcHUtZGV0ZWN0L3ZweF9jb25maWcuaApAQCAtMTIsOCArMTIsNiBA
QAogI2RlZmluZSBJTkxJTkUgICAgICBpbmxpbmUKICNkZWZpbmUgVlBYX0FSQ0hfQVJNIDEKICNk
ZWZpbmUgQVJDSF9BUk0gMQotI2RlZmluZSBWUFhfQVJDSF9BQVJDSDY0IDAKLSNkZWZpbmUgQVJD
SF9BQVJDSDY0IDAKICNkZWZpbmUgVlBYX0FSQ0hfTUlQUyAwCiAjZGVmaW5lIEFSQ0hfTUlQUyAw
CiAjZGVmaW5lIFZQWF9BUkNIX1g4NiAwCkBAIC0yMiwxMiArMjAsOCBAQAogI2RlZmluZSBBUkNI
X1g4Nl82NCAwCiAjZGVmaW5lIFZQWF9BUkNIX1BQQyAwCiAjZGVmaW5lIEFSQ0hfUFBDIDAKLSNk
ZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNIIDAKLSNkZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotI2Rl
ZmluZSBIQVZFX05FT05fQVNNIDEKICNkZWZpbmUgSEFWRV9ORU9OIDEKLSNkZWZpbmUgSEFWRV9O
RU9OX0RPVFBST0QgMAotI2RlZmluZSBIQVZFX05FT05fSThNTSAwCisjZGVmaW5lIEhBVkVfTkVP
Tl9BU00gMQogI2RlZmluZSBIQVZFX01JUFMzMiAwCiAjZGVmaW5lIEhBVkVfRFNQUjIgMAogI2Rl
ZmluZSBIQVZFX01TQSAwCkBAIC00Myw4ICszNyw2IEBACiAjZGVmaW5lIEhBVkVfQVZYNTEyIDAK
ICNkZWZpbmUgSEFWRV9WU1ggMAogI2RlZmluZSBIQVZFX01NSSAwCi0jZGVmaW5lIEhBVkVfTFNY
IDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAKICNkZWZpbmUgSEFWRV9WUFhfUE9SVFMgMQogI2RlZmlu
ZSBIQVZFX1BUSFJFQURfSCAxCiAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMApAQCAtOTcsNiArODks
NyBAQAogI2RlZmluZSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5HIDEKICNkZWZpbmUgQ09ORklH
X1RFTVBPUkFMX0RFTk9JU0lORyAxCiAjZGVmaW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lT
SU5HIDEKKyNkZWZpbmUgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIDAKICNkZWZpbmUgQ09ORklH
X0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HIDAKICNkZWZpbmUgQ09ORklHX1ZQOV9ISUdIQklU
REVQVEggMAogI2RlZmluZSBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgMApAQCAtMTA5
LDcgKzEwMiw2IEBACiAjZGVmaW5lIENPTkZJR19FTVVMQVRFX0hBUkRXQVJFIDAKICNkZWZpbmUg
Q09ORklHX05PTl9HUkVFRFlfTVYgMAogI2RlZmluZSBDT05GSUdfUkFURV9DVFJMIDAKLSNkZWZp
bmUgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAwCiAjZGVmaW5lIERFQ09ERV9XSURU
SF9MSU1JVCAxNjM4NAogI2RlZmluZSBERUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0CiAjZW5kaWYg
LyogVlBYX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9u
LWNwdS1kZXRlY3QvdnB4X2RzcF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uLWNw
dS1kZXRlY3QvdnB4X2RzcF9ydGNkLmgKaW5kZXggNDQzZWZhMjdmZTQ3Li45NWRmMTJhMjM1Zjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24tY3B1LWRldGVjdC92cHhfZHNw
X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uLWNwdS1kZXRlY3QvdnB4X2Rz
cF9ydGNkLmgKQEAgLTE1LDEwICsxNSw2IEBACiAjaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgi
CiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgogI2luY2x1ZGUgInZweF9kc3Av
dnB4X2ZpbHRlci5oIgotI2lmIENPTkZJR19WUDlfRU5DT0RFUgotc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmU7Ci1zdHJ1Y3QgU2Nhbk9yZGVyOwotI2VuZGlmCiAKICNpZmRlZiBfX2NwbHVzcGx1cwog
ZXh0ZXJuICJDIiB7CkBAIC0zMjcsNTMgKzMyMywyNSBAQCB2b2lkIHZweF9kMTE3X3ByZWRpY3Rv
cl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50OF90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTYpKHVpbnQ4
X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOworI2RlZmluZSB2cHhfZDExN19w
cmVkaWN0b3JfMTZ4MTYgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X2MKIAogdm9pZCB2cHhfZDEx
N19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyX25l
b24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2QxMTdfcHJlZGljdG9yXzMy
eDMyKSh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKKyNkZWZpbmUg
dnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyIHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZv
aWQgdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X25l
b24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogbGVmdCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2QxMTdfcHJlZGljdG9yXzR4NCkodWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7CisjZGVmaW5lIHZweF9kMTE3X3ByZWRp
Y3Rvcl80eDQgdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9jCiAKIHZvaWQgdnB4X2QxMTdfcHJlZGlj
dG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X25lb24odWludDhfdCogZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X2QxMTdfcHJlZGljdG9yXzh4OCkodWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
YWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7CisjZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl84eDggdnB4X2QxMTdf
cHJlZGljdG9yXzh4OF9jCiAKIHZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2X2ModWludDhf
dCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRl
LApAQCAtNDMxLDEwNSArMzk5LDQ5IEBAIHZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2X2Mo
dWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBh
Ym92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVm
dCk7Ci12b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNikodWludDhfdCogZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7CisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8x
NngxNiB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rv
cl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzIpKHVpbnQ4
X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOworI2RlZmluZSB2cHhfZDE1M19w
cmVkaWN0b3JfMzJ4MzIgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDE1
M19wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfZDE1M19wcmVkaWN0b3JfNHg0KSh1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKKyNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzR4NCB2
cHhfZDE1M19wcmVkaWN0b3JfNHg0X2MKIAogdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfOHg4X2Mo
dWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12
b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cHhfZDE1M19wcmVkaWN0b3JfOHg4KSh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKKyNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzh4OCB2cHhfZDE1M19wcmVkaWN0b3Jf
OHg4X2MKIAogdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Qy
MDdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci1SVENEX0VYVEVSTiB2b2lkICgq
dnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2KSh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKKyNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9kMjA3X3By
ZWRpY3Rvcl8xNngxNl9jCiAKIHZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyX2ModWludDhf
dCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12
b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotUlRDRF9FWFRF
Uk4gdm9pZCAoKnZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMikodWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogbGVmdCk7CisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMiB2
cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRf
Yyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotUlRDRF9FWFRFUk4gdm9p
ZCAoKnZweF9kMjA3X3ByZWRpY3Rvcl80eDQpKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOworI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0IHZweF9kMjA3X3ByZWRpY3Rv
cl80eDRfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdfcHJl
ZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9kMjA3X3ByZWRp
Y3Rvcl84eDgpKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOworI2RlZmluZSB2
cHhfZDIwN19wcmVkaWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZw
eF9kNDVfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC01OTMsNTMgKzUwNSwyNSBAQCB2b2lk
IHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2
X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2Q2M19wcmVkaWN0b3JfMTZ4
MTYpKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOworI2RlZmluZSB2cHhf
ZDYzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl9jCiAKIHZvaWQgdnB4
X2Q2M19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzJfbmVv
bih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMiko
dWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7CisjZGVmaW5lIHZweF9kNjNf
cHJlZGljdG9yXzMyeDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDYz
X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCogZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X2Q2M19wcmVkaWN0b3JfNHg0KSh1aW50OF90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKKyNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfNHg0IHZweF9kNjNfcHJlZGlj
dG9yXzR4NF9jCiAKIHZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGlj
dG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9kNjNfcHJlZGljdG9yXzh4
OCkodWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7CisjZGVmaW5lIHZweF9kNjNfcHJl
ZGljdG9yXzh4OCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kNjNlX3ByZWRp
Y3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLApAQCAtMTAzMCwxMiArOTE0LDcgQEAgUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9oYWRhbWFyZF8xNngxNikoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiB2b2lkIHZweF9o
YWRhbWFyZF8zMngzMl9jKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MTZfdCogY29lZmYpOwotdm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzJfbmVvbihjb25zdCBp
bnQxNl90KiBzcmNfZGlmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGNvZWZm
KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGFkYW1hcmRfMzJ4MzIpKGNvbnN0IGludDE2X3Qq
IHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQxNl90KiBjb2VmZik7CisjZGVmaW5lIHZweF9oYWRhbWFyZF8zMngzMiB2cHhfaGFkYW1hcmRf
MzJ4MzJfYwogCiB2b2lkIHZweF9oYWRhbWFyZF84eDhfYyhjb25zdCBpbnQxNl90KiBzcmNfZGlm
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMTE2
MywxNSArMTA0MiwxNSBAQCBpbnQxNl90IHZweF9pbnRfcHJvX2NvbF9jKGNvbnN0IHVpbnQ4X3Qq
IHJlZiwgY29uc3QgaW50IHdpZHRoKTsKIGludDE2X3QgdnB4X2ludF9wcm9fY29sX25lb24oY29u
c3QgdWludDhfdCogcmVmLCBjb25zdCBpbnQgd2lkdGgpOwogUlRDRF9FWFRFUk4gaW50MTZfdCAo
KnZweF9pbnRfcHJvX2NvbCkoY29uc3QgdWludDhfdCogcmVmLCBjb25zdCBpbnQgd2lkdGgpOwog
Ci12b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3QgaGJ1ZlsxNl0sCit2b2lkIHZweF9pbnRf
cHJvX3Jvd19jKGludDE2X3QqIGhidWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBoZWlnaHQpOwotdm9pZCB2cHhfaW50
X3Byb19yb3dfbmVvbihpbnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50X3Byb19yb3dfbmVv
bihpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfaW50X3Byb19yb3cpKGludDE2X3QgaGJ1ZlsxNl0sCitSVENEX0VYVEVSTiB2
b2lkICgqdnB4X2ludF9wcm9fcm93KShpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKQEAgLTE0ODIsNDggKzEzNjEs
MjEgQEAgdW5zaWduZWQgaW50IHZweF9tc2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNlMTZ4OF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9tc2UxNng4KShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfbXNlMTZ4OCB2cHhfbXNlMTZ4OF9jCiAK
IHVuc2lnbmVkIGludCB2cHhfbXNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNlOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9tc2U4eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OworI2RlZmluZSB2cHhfbXNlOHgxNiB2cHhfbXNlOHgxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhf
bXNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X21zZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X21zZTh4OCkoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfbXNlOHg4IHZweF9tc2U4eDhf
YwogCiB2b2lkIHZweF9wbGFuZV9hZGRfbm9pc2VfYyh1aW50OF90KiBzdGFydCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCogbm9pc2UsCkBAIC0xNTU4LDUyICsxNDEw
LDgzIEBAIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19t
Yl9yb3cpKHVuc2lnbmVkIGNoYXIqIHNyYywKIAogdm9pZCB2cHhfcXVhbnRpemVfYl9jKGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBu
X2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxv
Y2ssCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1
YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4X3F1YW50aXplX2Jf
bmVvbihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hp
ZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X3F1YW50aXplX2IpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBj
b25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsK
K1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYikoY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5f
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHZvaWQgdnB4X3F1YW50
aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX25lb24o
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIp
OwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9xdWFudGl6ZV9iXzMyeDMyKSgKLSAgICBjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUq
IGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9s
b3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAg
dWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nh
bik7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3F1YW50aXplX2JfMzJ4MzIpKGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3NoaWZ0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
aXNjYW4pOwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE2
MzQsMjEgKzE1MTcsMzUgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDE2eDE2
X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogCit2
b2lkIHZweF9zYWQxNngxNngzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhf
c2FkMTZ4MTZ4MyB2cHhfc2FkMTZ4MTZ4M19jCisKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIFJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfc2FkMTZ4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CisKK3ZvaWQgdnB4X3NhZDE2eDE2eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNngxNng4IHZweF9zYWQxNngxNng4X2MKIAogdW5z
aWduZWQgaW50IHZweF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNjgxLDE5ICsxNTc4LDE5
IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQxNngzMl9hdmcpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDE2eDMyeDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDMyeDRkX25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkMTZ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE3MjQs
MjEgKzE2MjEsMzUgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDE2eDhfYXZn
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogCit2b2lkIHZw
eF9zYWQxNng4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDh4MyB2
cHhfc2FkMTZ4OHgzX2MKKwogdm9pZCB2cHhfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiB2b2lkIHZweF9zYWQxNng4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4OHg0ZCkoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwordm9pZCB2cHhfc2Fk
MTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDggdnB4X3Nh
ZDE2eDh4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAt
MTc3MSwxOSArMTY4MiwxOSBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4
MTZfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngxNng0ZF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiBSVENEX0VY
VEVSTiB2b2lkICgqdnB4X3NhZDMyeDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTE4MTYsMTkgKzE3MjcsMjYgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X3NhZDMyeDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhf
c2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2Fk
MzJ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQzMngzMng0ZCkoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwordm9pZCB2cHhfc2FkMzJ4MzJ4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyeDggdnB4X3Nh
ZDMyeDMyeDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDY0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTE4NjEsMTkgKzE3NzksMTkgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMy
eDY0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4NjR4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4NjR4NGRfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9zYWQzMng2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKIAogdW5zaWduZWQgaW50IHZweF9zYWQ0eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTE5MDQsMjEgKzE4MjIsMzUgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X3NhZDR4NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwogCit2b2lkIHZweF9zYWQ0eDR4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ0
eDR4MyB2cHhfc2FkNHg0eDNfYworCiB2b2lkIHZweF9zYWQ0eDR4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogdm9pZCB2cHhfc2FkNHg0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkNHg0eDRkKShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCit2b2lkIHZweF9zYWQ0eDR4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9zYWQ0eDR4OCB2cHhfc2FkNHg0eDhfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X3NhZDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTk1MSwxOSArMTg4MywxOSBAQCBSVENEX0VY
VEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkNHg4X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKIAogdm9pZCB2cHhfc2FkNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3Nh
ZDR4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OworICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiBSVENEX0VY
VEVSTiB2b2lkICgqdnB4X3NhZDR4OHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKIAogdW5zaWduZWQgaW50IHZweF9zYWQ2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0x
OTk2LDE5ICsxOTI4LDE5IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHgz
Ml9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDMyeDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDMyeDRkX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIFJUQ0RfRVhU
RVJOIHZvaWQgKCp2cHhfc2FkNjR4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtMjA0MSwxOSArMTk3MywxOSBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQg
KCp2cHhfc2FkNjR4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9z
YWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2
NHg2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiBSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDY0eDY0eDRkKShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogCiB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMDg0LDIxICsyMDE2LDM1IEBAIFJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9zYWQ4eDE2X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKIAordm9pZCB2cHhfc2FkOHgxNngzX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9zYWQ4eDE2eDMgdnB4X3NhZDh4MTZ4M19jCisKIHZvaWQgdnB4X3Nh
ZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkOHgxNng0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiBSVENEX0VYVEVS
TiB2b2lkICgqdnB4X3NhZDh4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisKK3ZvaWQgdnB4X3NhZDh4MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfc2FkOHgxNng4IHZweF9zYWQ4eDE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4
X3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjEzMSwxOSArMjA3NywxOSBAQCBSVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfc2FkOHg0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAog
dm9pZCB2cHhfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDh4NHg0
ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiBSVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZDh4NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKIAogdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIxNzQsMzk4ICsy
MTIwLDM1IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ4eDhfYXZnKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKIAordm9pZCB2cHhfc2FkOHg4
eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHg4eDMgdnB4X3NhZDh4OHgzX2MK
Kwogdm9pZCB2cHhfc2FkOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDh4
OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiBSVENEX0VYVEVS
TiB2b2lkICgqdnB4X3NhZDh4OHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8xNngxNikoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9p
ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2
eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9z
a2lwXzE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngzMl9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBf
MTZ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRf
c2tpcF8xNngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9zYWRfc2tpcF8xNngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNng4X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tp
cF8xNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotCi12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2
eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tp
cF8xNng4eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKIAotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8zMngxNiko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQot
dm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMy
eDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3Nh
ZF9za2lwXzMyeDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3Nr
aXBfMzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9z
YWRfc2tpcF8zMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9p
ZCAoKnZweF9zYWRfc2tpcF8zMngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X3NhZF9za2lwXzMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfMzJ4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF80eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDRf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3Nh
ZF9za2lwXzR4NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRk
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF80eDR4NGQp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
c2FkX3NraXBfNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9zYWRfc2tpcF80eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3Nh
ZF9za2lwXzR4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2Fk
X3NraXBfNHg4eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzY0eDMyKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12
b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4
MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2Fk
X3NraXBfNjR4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tp
cF82NHg2NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3Nh
ZF9za2lwXzY0eDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnB4X3NhZF9za2lwXzY0eDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
OHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9z
a2lwXzh4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBf
OHgxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9z
a2lwXzh4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfOHg0KShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF84eDR4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVS
TiB2b2lkICgqdnB4X3NhZF9za2lwXzh4NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDhfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzh4OCkoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhf
c2FkX3NraXBfOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHg4eDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF84eDh4NGQpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cit2b2lkIHZweF9zYWQ4eDh4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4OCB2cHhfc2FkOHg4eDhfYwogCiBp
bnQgdnB4X3NhdGRfYyhjb25zdCBpbnQxNl90KiBjb2VmZiwgaW50IGxlbmd0aCk7CiBpbnQgdnB4
X3NhdGRfbmVvbihjb25zdCBpbnQxNl90KiBjb2VmZiwgaW50IGxlbmd0aCk7CkBAIC0zNjkzLDE4
ICszMjc2LDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZw
eF9jb252b2x2ZV9jb3B5ID0gdnB4X2NvbnZvbHZlX2NvcHlfYzsKICAgaWYgKGZsYWdzICYgSEFT
X05FT04pCiAgICAgdnB4X2NvbnZvbHZlX2NvcHkgPSB2cHhfY29udm9sdmVfY29weV9uZW9uOwot
ICB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTYgPSB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfYzsK
LSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2ID0g
dnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb247Ci0gIHZweF9kMTE3X3ByZWRpY3Rvcl8zMngz
MiA9IHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikK
LSAgICB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzIgPSB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJf
bmVvbjsKLSAgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCA9IHZweF9kMTE3X3ByZWRpY3Rvcl80eDRf
YzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCA9
IHZweF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbjsKLSAgdnB4X2QxMTdfcHJlZGljdG9yXzh4OCA9
IHZweF9kMTE3X3ByZWRpY3Rvcl84eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAg
dnB4X2QxMTdfcHJlZGljdG9yXzh4OCA9IHZweF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbjsKICAg
dnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2ID0gdnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2X2M7CiAg
IGlmIChmbGFncyAmIEhBU19ORU9OKQogICAgIHZweF9kMTM1X3ByZWRpY3Rvcl8xNngxNiA9IHZw
eF9kMTM1X3ByZWRpY3Rvcl8xNngxNl9uZW9uOwpAQCAtMzcxNywzMCArMzI4OCw2IEBAIHN0YXRp
YyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfZDEzNV9wcmVkaWN0b3Jf
OHg4ID0gdnB4X2QxMzVfcHJlZGljdG9yXzh4OF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikK
ICAgICB2cHhfZDEzNV9wcmVkaWN0b3JfOHg4ID0gdnB4X2QxMzVfcHJlZGljdG9yXzh4OF9uZW9u
OwotICB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTYgPSB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZf
YzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2
ID0gdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2X25lb247Ci0gIHZweF9kMTUzX3ByZWRpY3Rvcl8z
MngzMiA9IHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
TikKLSAgICB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzIgPSB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4
MzJfbmVvbjsKLSAgdnB4X2QxNTNfcHJlZGljdG9yXzR4NCA9IHZweF9kMTUzX3ByZWRpY3Rvcl80
eDRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X2QxNTNfcHJlZGljdG9yXzR4
NCA9IHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfbmVvbjsKLSAgdnB4X2QxNTNfcHJlZGljdG9yXzh4
OCA9IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0g
ICAgdnB4X2QxNTNfcHJlZGljdG9yXzh4OCA9IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbjsK
LSAgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2ID0gdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2X2M7
Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNiA9
IHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9uZW9uOwotICB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4
MzIgPSB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04p
Ci0gICAgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyID0gdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMy
X25lb247Ci0gIHZweF9kMjA3X3ByZWRpY3Rvcl80eDQgPSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0
X2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZweF9kMjA3X3ByZWRpY3Rvcl80eDQg
PSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0X25lb247Ci0gIHZweF9kMjA3X3ByZWRpY3Rvcl84eDgg
PSB2cHhfZDIwN19wcmVkaWN0b3JfOHg4X2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAg
IHZweF9kMjA3X3ByZWRpY3Rvcl84eDggPSB2cHhfZDIwN19wcmVkaWN0b3JfOHg4X25lb247CiAg
IHZweF9kNDVfcHJlZGljdG9yXzE2eDE2ID0gdnB4X2Q0NV9wcmVkaWN0b3JfMTZ4MTZfYzsKICAg
aWYgKGZsYWdzICYgSEFTX05FT04pCiAgICAgdnB4X2Q0NV9wcmVkaWN0b3JfMTZ4MTYgPSB2cHhf
ZDQ1X3ByZWRpY3Rvcl8xNngxNl9uZW9uOwpAQCAtMzc1MywxOCArMzMwMCw2IEBAIHN0YXRpYyB2
b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfZDQ1X3ByZWRpY3Rvcl84eDgg
PSB2cHhfZDQ1X3ByZWRpY3Rvcl84eDhfYzsKICAgaWYgKGZsYWdzICYgSEFTX05FT04pCiAgICAg
dnB4X2Q0NV9wcmVkaWN0b3JfOHg4ID0gdnB4X2Q0NV9wcmVkaWN0b3JfOHg4X25lb247Ci0gIHZw
eF9kNjNfcHJlZGljdG9yXzE2eDE2ID0gdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTZfYzsKLSAgaWYg
KGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTYgPSB2cHhfZDYz
X3ByZWRpY3Rvcl8xNngxNl9uZW9uOwotICB2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMiA9IHZweF9k
NjNfcHJlZGljdG9yXzMyeDMyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZweF9k
NjNfcHJlZGljdG9yXzMyeDMyID0gdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzJfbmVvbjsKLSAgdnB4
X2Q2M19wcmVkaWN0b3JfNHg0ID0gdnB4X2Q2M19wcmVkaWN0b3JfNHg0X2M7Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OKQotICAgIHZweF9kNjNfcHJlZGljdG9yXzR4NCA9IHZweF9kNjNfcHJlZGlj
dG9yXzR4NF9uZW9uOwotICB2cHhfZDYzX3ByZWRpY3Rvcl84eDggPSB2cHhfZDYzX3ByZWRpY3Rv
cl84eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X2Q2M19wcmVkaWN0b3Jf
OHg4ID0gdnB4X2Q2M19wcmVkaWN0b3JfOHg4X25lb247CiAgIHZweF9kY18xMjhfcHJlZGljdG9y
XzE2eDE2ID0gdnB4X2RjXzEyOF9wcmVkaWN0b3JfMTZ4MTZfYzsKICAgaWYgKGZsYWdzICYgSEFT
X05FT04pCiAgICAgdnB4X2RjXzEyOF9wcmVkaWN0b3JfMTZ4MTYgPSB2cHhfZGNfMTI4X3ByZWRp
Y3Rvcl8xNngxNl9uZW9uOwpAQCAtMzg2NCw5ICszMzk5LDYgQEAgc3RhdGljIHZvaWQgc2V0dXBf
cnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZweF9oYWRhbWFyZF8xNngxNiA9IHZweF9oYWRhbWFy
ZF8xNngxNl9jOwogICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKICAgICB2cHhfaGFkYW1hcmRfMTZ4
MTYgPSB2cHhfaGFkYW1hcmRfMTZ4MTZfbmVvbjsKLSAgdnB4X2hhZGFtYXJkXzMyeDMyID0gdnB4
X2hhZGFtYXJkXzMyeDMyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZweF9oYWRh
bWFyZF8zMngzMiA9IHZweF9oYWRhbWFyZF8zMngzMl9uZW9uOwogICB2cHhfaGFkYW1hcmRfOHg4
ID0gdnB4X2hhZGFtYXJkXzh4OF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKICAgICB2cHhf
aGFkYW1hcmRfOHg4ID0gdnB4X2hhZGFtYXJkXzh4OF9uZW9uOwpAQCAtMzk2MywxNSArMzQ5NSw2
IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfbXNlMTZ4
MTYgPSB2cHhfbXNlMTZ4MTZfYzsKICAgaWYgKGZsYWdzICYgSEFTX05FT04pCiAgICAgdnB4X21z
ZTE2eDE2ID0gdnB4X21zZTE2eDE2X25lb247Ci0gIHZweF9tc2UxNng4ID0gdnB4X21zZTE2eDhf
YzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X21zZTE2eDggPSB2cHhfbXNlMTZ4
OF9uZW9uOwotICB2cHhfbXNlOHgxNiA9IHZweF9tc2U4eDE2X2M7Ci0gIGlmIChmbGFncyAmIEhB
U19ORU9OKQotICAgIHZweF9tc2U4eDE2ID0gdnB4X21zZTh4MTZfbmVvbjsKLSAgdnB4X21zZTh4
OCA9IHZweF9tc2U4eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X21zZTh4
OCA9IHZweF9tc2U4eDhfbmVvbjsKICAgdnB4X3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfbWJf
cm93ID0gdnB4X3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfbWJfcm93X2M7CiAgIGlmIChmbGFn
cyAmIEhBU19ORU9OKQogICAgIHZweF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX21iX3JvdyA9
CkBAIC00MDk5LDg0ICszNjIyLDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2
b2lkKSB7CiAgIHZweF9zYWQ4eDh4NGQgPSB2cHhfc2FkOHg4eDRkX2M7CiAgIGlmIChmbGFncyAm
IEhBU19ORU9OKQogICAgIHZweF9zYWQ4eDh4NGQgPSB2cHhfc2FkOHg4eDRkX25lb247Ci0gIHZw
eF9zYWRfc2tpcF8xNngxNiA9IHZweF9zYWRfc2tpcF8xNngxNl9jOwotICBpZiAoZmxhZ3MgJiBI
QVNfTkVPTikKLSAgICB2cHhfc2FkX3NraXBfMTZ4MTYgPSB2cHhfc2FkX3NraXBfMTZ4MTZfbmVv
bjsKLSAgdnB4X3NhZF9za2lwXzE2eDE2eDRkID0gdnB4X3NhZF9za2lwXzE2eDE2eDRkX2M7Ci0g
IGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZweF9zYWRfc2tpcF8xNngxNng0ZCA9IHZweF9z
YWRfc2tpcF8xNngxNng0ZF9uZW9uOwotICB2cHhfc2FkX3NraXBfMTZ4MzIgPSB2cHhfc2FkX3Nr
aXBfMTZ4MzJfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9za2lwXzE2
eDMyID0gdnB4X3NhZF9za2lwXzE2eDMyX25lb247Ci0gIHZweF9zYWRfc2tpcF8xNngzMng0ZCA9
IHZweF9zYWRfc2tpcF8xNngzMng0ZF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKLSAgICB2
cHhfc2FkX3NraXBfMTZ4MzJ4NGQgPSB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbjsKLSAgdnB4
X3NhZF9za2lwXzE2eDggPSB2cHhfc2FkX3NraXBfMTZ4OF9jOwotICBpZiAoZmxhZ3MgJiBIQVNf
TkVPTikKLSAgICB2cHhfc2FkX3NraXBfMTZ4OCA9IHZweF9zYWRfc2tpcF8xNng4X25lb247Ci0g
IHZweF9zYWRfc2tpcF8xNng4eDRkID0gdnB4X3NhZF9za2lwXzE2eDh4NGRfYzsKLSAgaWYgKGZs
YWdzICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9za2lwXzE2eDh4NGQgPSB2cHhfc2FkX3NraXBf
MTZ4OHg0ZF9uZW9uOwotICB2cHhfc2FkX3NraXBfMzJ4MTYgPSB2cHhfc2FkX3NraXBfMzJ4MTZf
YzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9za2lwXzMyeDE2ID0gdnB4
X3NhZF9za2lwXzMyeDE2X25lb247Ci0gIHZweF9zYWRfc2tpcF8zMngxNng0ZCA9IHZweF9zYWRf
c2tpcF8zMngxNng0ZF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKLSAgICB2cHhfc2FkX3Nr
aXBfMzJ4MTZ4NGQgPSB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfbmVvbjsKLSAgdnB4X3NhZF9za2lw
XzMyeDMyID0gdnB4X3NhZF9za2lwXzMyeDMyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQot
ICAgIHZweF9zYWRfc2tpcF8zMngzMiA9IHZweF9zYWRfc2tpcF8zMngzMl9uZW9uOwotICB2cHhf
c2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYzsKLSAgaWYgKGZsYWdz
ICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9za2lwXzMyeDMyeDRkID0gdnB4X3NhZF9za2lwXzMy
eDMyeDRkX25lb247Ci0gIHZweF9zYWRfc2tpcF8zMng2NCA9IHZweF9zYWRfc2tpcF8zMng2NF9j
OwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKLSAgICB2cHhfc2FkX3NraXBfMzJ4NjQgPSB2cHhf
c2FkX3NraXBfMzJ4NjRfbmVvbjsKLSAgdnB4X3NhZF9za2lwXzMyeDY0eDRkID0gdnB4X3NhZF9z
a2lwXzMyeDY0eDRkX2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZweF9zYWRfc2tp
cF8zMng2NHg0ZCA9IHZweF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uOwotICB2cHhfc2FkX3NraXBf
NHg0ID0gdnB4X3NhZF9za2lwXzR4NF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKLSAgICB2
cHhfc2FkX3NraXBfNHg0ID0gdnB4X3NhZF9za2lwXzR4NF9uZW9uOwotICB2cHhfc2FkX3NraXBf
NHg0eDRkID0gdnB4X3NhZF9za2lwXzR4NHg0ZF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikK
LSAgICB2cHhfc2FkX3NraXBfNHg0eDRkID0gdnB4X3NhZF9za2lwXzR4NHg0ZF9uZW9uOwotICB2
cHhfc2FkX3NraXBfNHg4ID0gdnB4X3NhZF9za2lwXzR4OF9jOwotICBpZiAoZmxhZ3MgJiBIQVNf
TkVPTikKLSAgICB2cHhfc2FkX3NraXBfNHg4ID0gdnB4X3NhZF9za2lwXzR4OF9uZW9uOwotICB2
cHhfc2FkX3NraXBfNHg4eDRkID0gdnB4X3NhZF9za2lwXzR4OHg0ZF9jOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTikKLSAgICB2cHhfc2FkX3NraXBfNHg4eDRkID0gdnB4X3NhZF9za2lwXzR4OHg0
ZF9uZW9uOwotICB2cHhfc2FkX3NraXBfNjR4MzIgPSB2cHhfc2FkX3NraXBfNjR4MzJfYzsKLSAg
aWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9za2lwXzY0eDMyID0gdnB4X3NhZF9z
a2lwXzY0eDMyX25lb247Ci0gIHZweF9zYWRfc2tpcF82NHgzMng0ZCA9IHZweF9zYWRfc2tpcF82
NHgzMng0ZF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKLSAgICB2cHhfc2FkX3NraXBfNjR4
MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbjsKLSAgdnB4X3NhZF9za2lwXzY0eDY0
ID0gdnB4X3NhZF9za2lwXzY0eDY0X2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZw
eF9zYWRfc2tpcF82NHg2NCA9IHZweF9zYWRfc2tpcF82NHg2NF9uZW9uOwotICB2cHhfc2FkX3Nr
aXBfNjR4NjR4NGQgPSB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYzsKLSAgaWYgKGZsYWdzICYgSEFT
X05FT04pCi0gICAgdnB4X3NhZF9za2lwXzY0eDY0eDRkID0gdnB4X3NhZF9za2lwXzY0eDY0eDRk
X25lb247Ci0gIHZweF9zYWRfc2tpcF84eDE2ID0gdnB4X3NhZF9za2lwXzh4MTZfYzsKLSAgaWYg
KGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9za2lwXzh4MTYgPSB2cHhfc2FkX3NraXBf
OHgxNl9uZW9uOwotICB2cHhfc2FkX3NraXBfOHgxNng0ZCA9IHZweF9zYWRfc2tpcF84eDE2eDRk
X2M7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OKQotICAgIHZweF9zYWRfc2tpcF84eDE2eDRkID0g
dnB4X3NhZF9za2lwXzh4MTZ4NGRfbmVvbjsKLSAgdnB4X3NhZF9za2lwXzh4NCA9IHZweF9zYWRf
c2tpcF84eDRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9za2lwXzh4
NCA9IHZweF9zYWRfc2tpcF84eDRfbmVvbjsKLSAgdnB4X3NhZF9za2lwXzh4NHg0ZCA9IHZweF9z
YWRfc2tpcF84eDR4NGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4X3NhZF9z
a2lwXzh4NHg0ZCA9IHZweF9zYWRfc2tpcF84eDR4NGRfbmVvbjsKLSAgdnB4X3NhZF9za2lwXzh4
OCA9IHZweF9zYWRfc2tpcF84eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0gICAgdnB4
X3NhZF9za2lwXzh4OCA9IHZweF9zYWRfc2tpcF84eDhfbmVvbjsKLSAgdnB4X3NhZF9za2lwXzh4
OHg0ZCA9IHZweF9zYWRfc2tpcF84eDh4NGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX05FT04pCi0g
ICAgdnB4X3NhZF9za2lwXzh4OHg0ZCA9IHZweF9zYWRfc2tpcF84eDh4NGRfbmVvbjsKICAgdnB4
X3NhdGQgPSB2cHhfc2F0ZF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfTkVPTikKICAgICB2cHhfc2F0
ZCA9IHZweF9zYXRkX25lb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9u
LWhpZ2hiZC92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnA4
X3J0Y2QuaAppbmRleCAxMDI1MDEwOTQyNTQuLmM0YmI0MWIyMTI3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnA4X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln
L2xpbnV4L2FybS1uZW9uLWhpZ2hiZC92cDhfcnRjZC5oCkBAIC04Myw2ICs4MywzNiBAQCB2b2lk
IHZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4X25lb24odW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKICNkZWZpbmUg
dnA4X2JpbGluZWFyX3ByZWRpY3Q4eDggdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfbmVvbgogCit2
b2lkIHZwOF9ibGVuZF9iX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisg
ICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAor
ICAgICAgICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgaW50IGFscGhh
LAorICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfYiB2
cDhfYmxlbmRfYl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX2lubmVyX2ModW5zaWduZWQgY2hhciog
eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZp
bmUgdnA4X2JsZW5kX21iX2lubmVyIHZwOF9ibGVuZF9tYl9pbm5lcl9jCisKK3ZvaWQgdnA4X2Js
ZW5kX21iX291dGVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZf
MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX291dGVyIHZwOF9i
bGVuZF9tYl9vdXRlcl9jCisKIGludCB2cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29lZmYsIHNo
b3J0KiBkcWNvZWZmKTsKICNkZWZpbmUgdnA4X2Jsb2NrX2Vycm9yIHZwOF9ibG9ja19lcnJvcl9j
CiAKQEAgLTI0OSw2ICsyNzksMTcgQEAgdm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9jKHVu
c2lnbmVkIGNoYXIqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3dlaWdodCk7CiAjZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlf
d2VpZ2h0OHg4X2MKIAoraW50IHZwOF9mdWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9j
ayogeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNhZF9wZXJfYml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogY2VudGVyX212KTsKKyNkZWZpbmUgdnA4X2Z1
bGxfc2VhcmNoX3NhZCB2cDhfZnVsbF9zZWFyY2hfc2FkX2MKKwogdm9pZCB2cDhfbG9vcF9maWx0
ZXJfYmhfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgY2hhciogdV9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGNoYXIqIHZfcHRyLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdo
YmQvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24taGlnaGJkL3ZwOV9ydGNk
LmgKaW5kZXggZTY0Y2IyYzM1YWU0Li5jYTc0MGY0NDBkNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25m
aWcvbGludXgvYXJtLW5lb24taGlnaGJkL3ZwOV9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9hcm0tbmVvbi1oaWdoYmQvdnA5X3J0Y2QuaApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3QgbWFj
cm9ibG9ja2Q7CiAKIC8qIEVuY29kZXIgZm9yd2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3JvYmxv
Y2s7Ci1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwotc3Ry
dWN0IFNjYW5PcmRlcjsKK3N0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNlYXJj
aF9zaXRlX2NvbmZpZzsKIHN0cnVjdCBtdjsKIHVuaW9uIGludF9tdjsKQEAgLTM3LDE5ICszNSwx
MiBAQCBpbnQ2NF90IHZwOV9ibG9ja19lcnJvcl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBibG9ja19zaXplLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQ2NF90KiBzc3opOwotaW50NjRfdCB2cDlfYmxvY2tfZXJyb3JfbmVv
bihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdHJhbl9sb3dfdCogZHFjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3QgYmxvY2tfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRf
dCogc3N6KTsKLSNkZWZpbmUgdnA5X2Jsb2NrX2Vycm9yIHZwOV9ibG9ja19lcnJvcl9uZW9uCisj
ZGVmaW5lIHZwOV9ibG9ja19lcnJvciB2cDlfYmxvY2tfZXJyb3JfYwogCiBpbnQ2NF90IHZwOV9i
bG9ja19lcnJvcl9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmxvY2tfc2l6ZSk7Ci1pbnQ2NF90IHZwOV9ibG9ja19lcnJvcl9m
cF9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmxvY2tfc2l6ZSk7Ci0jZGVmaW5lIHZwOV9ibG9ja19lcnJvcl9mcCB2
cDlfYmxvY2tfZXJyb3JfZnBfbmVvbgorI2RlZmluZSB2cDlfYmxvY2tfZXJyb3JfZnAgdnA5X2Js
b2NrX2Vycm9yX2ZwX2MKIAogaW50IHZwOV9kZW5vaXNlcl9maWx0ZXJfYyhjb25zdCB1aW50OF90
KiBzaWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaWdfc3RyaWRlLApAQCAtNzQs
NTQgKzY1LDMxIEBAIGludCB2cDlfZGVub2lzZXJfZmlsdGVyX25lb24oY29uc3QgdWludDhfdCog
c2lnLAogaW50IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYyhjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
ayogeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9z
aXRlX2NvbmZpZyogY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYq
IHJlZl9tdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfbXZf
c2FkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWFyY2hfcGFyYW0sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50KiBudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IHZwOV9zYWRfdGFibGUqIHNhZF9mbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiogY2VudGVyX212KTsKLWludCB2
cDlfZGlhbW9uZF9zZWFyY2hfc2FkX25lb24oY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9j
b25maWcqIGNmZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiBy
ZWZfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212
X3NhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiBiZXN0X212
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCogbnVtMDAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5fcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci0j
ZGVmaW5lIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9uZW9u
CisjZGVmaW5lIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9j
CiAKIHZvaWQgdnA5X2ZodDE2eDE2X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAgICAgICAgICAgICAgICAgaW50IHN0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotdm9pZCB2cDlfZmh0MTZ4
MTZfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9maHQxNngxNiB2
cDlfZmh0MTZ4MTZfbmVvbgorI2RlZmluZSB2cDlfZmh0MTZ4MTYgdnA5X2ZodDE2eDE2X2MKIAog
dm9pZCB2cDlfZmh0NHg0X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotdm9pZCB2cDlfZmh0NHg0X25lb24oY29uc3Qg
aW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQs
Ci0gICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
aW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfZmh0NHg0IHZwOV9maHQ0eDRfbmVvbgorI2RlZmlu
ZSB2cDlfZmh0NHg0IHZwOV9maHQ0eDRfYwogCiB2b2lkIHZwOV9maHQ4eDhfYyhjb25zdCBpbnQx
Nl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAg
ICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7
Ci12b2lkIHZwOV9maHQ4eDhfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgIGludCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9m
aHQ4eDggdnA5X2ZodDh4OF9uZW9uCisjZGVmaW5lIHZwOV9maHQ4eDggdnA5X2ZodDh4OF9jCiAK
IHZvaWQgdnA5X2ZpbHRlcl9ieV93ZWlnaHQxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQ1LDQy
ICsxMTMsMjUgQEAgaW50NjRfdCB2cDlfaGlnaGJkX2Jsb2NrX2Vycm9yX2MoY29uc3QgdHJhbl9s
b3dfdCogY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBi
bG9ja19zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCogc3N6
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLWludDY0X3QgdnA5
X2hpZ2hiZF9ibG9ja19lcnJvcl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9sb3dfdCogZHFjb2VmZiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IGJsb2NrX3NpemUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90KiBzc3osCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cDlfaGln
aGJkX2Jsb2NrX2Vycm9yIHZwOV9oaWdoYmRfYmxvY2tfZXJyb3JfbmVvbgorI2RlZmluZSB2cDlf
aGlnaGJkX2Jsb2NrX2Vycm9yIHZwOV9oaWdoYmRfYmxvY2tfZXJyb3JfYwogCiB2b2lkIHZwOV9o
aWdoYmRfZmh0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci12
b2lkIHZwOV9oaWdoYmRfZmh0MTZ4MTZfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9oaWdoYmRfZmh0MTZ4MTYgdnA5X2hpZ2hi
ZF9maHQxNngxNl9uZW9uCisjZGVmaW5lIHZwOV9oaWdoYmRfZmh0MTZ4MTYgdnA5X2hpZ2hiZF9m
aHQxNngxNl9jCiAKIHZvaWQgdnA5X2hpZ2hiZF9maHQ0eDRfYyhjb25zdCBpbnQxNl90KiBpbnB1
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdHhfdHlwZSk7Ci12b2lkIHZwOV9oaWdoYmRfZmh0NHg0X25lb24oY29uc3QgaW50MTZfdCog
aW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfaGlnaGJkX2ZodDR4NCB2cDlf
aGlnaGJkX2ZodDR4NF9uZW9uCisjZGVmaW5lIHZwOV9oaWdoYmRfZmh0NHg0IHZwOV9oaWdoYmRf
Zmh0NHg0X2MKIAogdm9pZCB2cDlfaGlnaGJkX2ZodDh4OF9jKGNvbnN0IGludDE2X3QqIGlucHV0
LAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB0eF90eXBlKTsKLXZvaWQgdnA5X2hpZ2hiZF9maHQ4eDhfbmVvbihjb25zdCBpbnQxNl90KiBp
bnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9oaWdoYmRfZmh0OHg4IHZwOV9o
aWdoYmRfZmh0OHg4X25lb24KKyNkZWZpbmUgdnA5X2hpZ2hiZF9maHQ4eDggdnA5X2hpZ2hiZF9m
aHQ4eDhfYwogCiB2b2lkIHZwOV9oaWdoYmRfZndodDR4NF9jKGNvbnN0IGludDE2X3QqIGlucHV0
LCB0cmFuX2xvd190KiBvdXRwdXQsIGludCBzdHJpZGUpOwogI2RlZmluZSB2cDlfaGlnaGJkX2Z3
aHQ0eDQgdnA5X2hpZ2hiZF9md2h0NHg0X2MKQEAgLTI0Nyw0MSArMTk4LDI5IEBAIHZvaWQgdnA5
X2hpZ2hiZF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX2MoY29uc3QgdWludDE2X3QqIHNyY19w
dHIsCiAKIHZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNv
ZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBx
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBk
ZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRl
ciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfbmVvbihj
b25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25z
dCBzY2FuX29yZGVyKTsKLSNkZWZpbmUgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCB2cDlfaGlnaGJk
X3F1YW50aXplX2ZwX25lb24KLQotdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2Mo
Ci0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZz
LAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAot
ICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAot
ICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cDlf
aGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX25lb24oCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAot
ICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRf
cHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIq
IGNvbnN0IHNjYW5fb3JkZXIpOwotI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMy
IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfbmVvbgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnA5X2hpZ2hiZF9xdWFudGl6ZV9m
cCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2MKKwordm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2Zw
XzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBz
Y2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
aXNjYW4pOworI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyIHZwOV9oaWdoYmRf
cXVhbnRpemVfZnBfMzJ4MzJfYwogCiB2b2lkIHZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX2Fw
cGx5X2MoY29uc3QgdWludDhfdCogZnJhbWUxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdHJpZGUsCkBAIC0zMjcsMzggKzI2Niw1MCBAQCB2
b2lkIHZwOV9paHQ4eDhfNjRfYWRkX25lb24oY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZv
aWQgdnA5X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9uZW9uKGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cDlfcXVh
bnRpemVfZnAgdnA5X3F1YW50aXplX2ZwX25lb24KIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4
MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX25l
b24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBz
Y2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nh
bik7CiAjZGVmaW5lIHZwOV9xdWFudGl6ZV9mcF8zMngzMiB2cDlfcXVhbnRpemVfZnBfMzJ4MzJf
bmVvbgogCiB2b2lkIHZwOV9zY2FsZV9hbmRfZXh0ZW5kX2ZyYW1lX2MoY29uc3Qgc3RydWN0IHl2
MTJfYnVmZmVyX2NvbmZpZyogc3JjLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0t
bmVvbi1oaWdoYmQvdnB4X2NvbmZpZy5hc20gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uLWhp
Z2hiZC92cHhfY29uZmlnLmFzbQppbmRleCAxNjJmMmNkMTMyOTQuLjg4ZTVjNDAwODlmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnB4X2NvbmZpZy5hc20K
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnB4X2NvbmZpZy5hc20KQEAg
LTEsMTAgKzEsOCBAQAogQCBUaGlzIGZpbGUgd2FzIGNyZWF0ZWQgZnJvbSBhIC5hc20gZmlsZQog
QCAgdXNpbmcgdGhlIGFkczJnYXMucGwgc2NyaXB0LgotLnN5bnRheCB1bmlmaWVkCisJLnN5bnRh
eCB1bmlmaWVkCiAuZXF1IFZQWF9BUkNIX0FSTSAsICAxCiAuZXF1IEFSQ0hfQVJNICwgIDEKLS5l
cXUgVlBYX0FSQ0hfQUFSQ0g2NCAsICAwCi0uZXF1IEFSQ0hfQUFSQ0g2NCAsICAwCiAuZXF1IFZQ
WF9BUkNIX01JUFMgLCAgMAogLmVxdSBBUkNIX01JUFMgLCAgMAogLmVxdSBWUFhfQVJDSF9YODYg
LCAgMApAQCAtMTMsMTIgKzExLDggQEAKIC5lcXUgQVJDSF9YODZfNjQgLCAgMAogLmVxdSBWUFhf
QVJDSF9QUEMgLCAgMAogLmVxdSBBUkNIX1BQQyAsICAwCi0uZXF1IFZQWF9BUkNIX0xPT05HQVJD
SCAsICAwCi0uZXF1IEFSQ0hfTE9PTkdBUkNIICwgIDAKLS5lcXUgSEFWRV9ORU9OX0FTTSAsICAx
CiAuZXF1IEhBVkVfTkVPTiAsICAxCi0uZXF1IEhBVkVfTkVPTl9ET1RQUk9EICwgIDAKLS5lcXUg
SEFWRV9ORU9OX0k4TU0gLCAgMAorLmVxdSBIQVZFX05FT05fQVNNICwgIDEKIC5lcXUgSEFWRV9N
SVBTMzIgLCAgMAogLmVxdSBIQVZFX0RTUFIyICwgIDAKIC5lcXUgSEFWRV9NU0EgLCAgMApAQCAt
MzQsOCArMjgsNiBAQAogLmVxdSBIQVZFX0FWWDUxMiAsICAwCiAuZXF1IEhBVkVfVlNYICwgIDAK
IC5lcXUgSEFWRV9NTUkgLCAgMAotLmVxdSBIQVZFX0xTWCAsICAwCi0uZXF1IEhBVkVfTEFTWCAs
ICAwCiAuZXF1IEhBVkVfVlBYX1BPUlRTICwgIDEKIC5lcXUgSEFWRV9QVEhSRUFEX0ggLCAgMQog
LmVxdSBIQVZFX1VOSVNURF9IICwgIDAKQEAgLTg4LDYgKzgwLDcgQEAKIC5lcXUgQ09ORklHX01V
TFRJX1JFU19FTkNPRElORyAsICAxCiAuZXF1IENPTkZJR19URU1QT1JBTF9ERU5PSVNJTkcgLCAg
MQogLmVxdSBDT05GSUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCisuZXF1IENPTkZJR19D
T05TSVNURU5UX1JFQ09ERSAsICAwCiAuZXF1IENPTkZJR19DT0VGRklDSUVOVF9SQU5HRV9DSEVD
S0lORyAsICAwCiAuZXF1IENPTkZJR19WUDlfSElHSEJJVERFUFRIICwgIDEKIC5lcXUgQ09ORklH
X0JFVFRFUl9IV19DT01QQVRJQklMSVRZICwgIDAKQEAgLTEwMCw3ICs5Myw2IEBACiAuZXF1IENP
TkZJR19FTVVMQVRFX0hBUkRXQVJFICwgIDAKIC5lcXUgQ09ORklHX05PTl9HUkVFRFlfTVYgLCAg
MAogLmVxdSBDT05GSUdfUkFURV9DVFJMICwgIDAKLS5lcXUgQ09ORklHX0NPTExFQ1RfQ09NUE9O
RU5UX1RJTUlORyAsICAwCiAuZXF1IERFQ09ERV9XSURUSF9MSU1JVCAsICAxNjM4NAogLmVxdSBE
RUNPREVfSEVJR0hUX0xJTUlUICwgIDE2Mzg0Ci0gICAgLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNr
LCIiLCVwcm9nYml0cworCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIiwlcHJvZ2JpdHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24taGlnaGJkL3ZweF9jb25maWcuYyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9jb25maWcvbGludXgvYXJtLW5lb24taGlnaGJkL3ZweF9jb25maWcuYwppbmRleCBmZWVh
NDA1NDZmMGMuLjg2ZGI1ODljMzc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0t
bmVvbi1oaWdoYmQvdnB4X2NvbmZpZy5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24t
aGlnaGJkL3ZweF9jb25maWcuYwpAQCAtNiw1ICs2LDUgQEAKIC8qIGluIHRoZSBmaWxlIFBBVEVO
VFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkgKi8KIC8qIGJlIGZvdW5k
IGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLiAqLwog
I2luY2x1ZGUgInZweC92cHhfY29kZWMuaCIKLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjZmcg
PSAiLS10YXJnZXQ9YXJtdjctbGludXgtZ2NjIC0tZGlzYWJsZS1ydW50aW1lLWNwdS1kZXRlY3Qg
LS1lbmFibGUtZXh0ZXJuYWwtYnVpbGQgLS1lbmFibGUtcG9zdHByb2MgLS1lbmFibGUtbXVsdGkt
cmVzLWVuY29kaW5nIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9pc2luZyAtLWVuYWJsZS12cDktdGVt
cG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS1wb3N0cHJvYyAtLXNpemUtbGltaXQ9MTYzODR4
MTYzODQgLS1lbmFibGUtcmVhbHRpbWUtb25seSAtLWRpc2FibGUtaW5zdGFsbC1kb2NzIC0tZGlz
YWJsZS1saWJ5dXYgLS1lbmFibGUtdnA5LWhpZ2hiaXRkZXB0aCI7CitzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgY2ZnID0gIi0tdGFyZ2V0PWFybXY3LWxpbnV4LWdjYyAtLWVuYWJsZS1leHRlcm5h
bC1idWlsZCAtLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcgLS1l
bmFibGUtdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1kZW5vaXNpbmcg
LS1lbmFibGUtdnA5LXBvc3Rwcm9jIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCAtLWVuYWJsZS1y
ZWFsdGltZS1vbmx5IC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgLS1kaXNhYmxlLWxpYnl1diAtLWVu
YWJsZS12cDktaGlnaGJpdGRlcHRoIjsKIGNvbnN0IGNoYXIgKnZweF9jb2RlY19idWlsZF9jb25m
aWcodm9pZCkge3JldHVybiBjZmc7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0t
bmVvbi1oaWdoYmQvdnB4X2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdo
YmQvdnB4X2NvbmZpZy5oCmluZGV4IDBmNGZmMjJiMmNkYi4uNzU1NTZjY2ViMjBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uLWhpZ2hiZC92cHhfY29uZmlnLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1oaWdoYmQvdnB4X2NvbmZpZy5oCkBAIC0xMiw4ICsx
Miw2IEBACiAjZGVmaW5lIElOTElORSAgICAgIGlubGluZQogI2RlZmluZSBWUFhfQVJDSF9BUk0g
MQogI2RlZmluZSBBUkNIX0FSTSAxCi0jZGVmaW5lIFZQWF9BUkNIX0FBUkNINjQgMAotI2RlZmlu
ZSBBUkNIX0FBUkNINjQgMAogI2RlZmluZSBWUFhfQVJDSF9NSVBTIDAKICNkZWZpbmUgQVJDSF9N
SVBTIDAKICNkZWZpbmUgVlBYX0FSQ0hfWDg2IDAKQEAgLTIyLDEyICsyMCw4IEBACiAjZGVmaW5l
IEFSQ0hfWDg2XzY0IDAKICNkZWZpbmUgVlBYX0FSQ0hfUFBDIDAKICNkZWZpbmUgQVJDSF9QUEMg
MAotI2RlZmluZSBWUFhfQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBBUkNIX0xPT05HQVJDSCAw
Ci0jZGVmaW5lIEhBVkVfTkVPTl9BU00gMQogI2RlZmluZSBIQVZFX05FT04gMQotI2RlZmluZSBI
QVZFX05FT05fRE9UUFJPRCAwCi0jZGVmaW5lIEhBVkVfTkVPTl9JOE1NIDAKKyNkZWZpbmUgSEFW
RV9ORU9OX0FTTSAxCiAjZGVmaW5lIEhBVkVfTUlQUzMyIDAKICNkZWZpbmUgSEFWRV9EU1BSMiAw
CiAjZGVmaW5lIEhBVkVfTVNBIDAKQEAgLTQzLDggKzM3LDYgQEAKICNkZWZpbmUgSEFWRV9BVlg1
MTIgMAogI2RlZmluZSBIQVZFX1ZTWCAwCiAjZGVmaW5lIEhBVkVfTU1JIDAKLSNkZWZpbmUgSEFW
RV9MU1ggMAotI2RlZmluZSBIQVZFX0xBU1ggMAogI2RlZmluZSBIQVZFX1ZQWF9QT1JUUyAxCiAj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKICNkZWZpbmUgSEFWRV9VTklTVERfSCAwCkBAIC05Nyw2
ICs4OSw3IEBACiAjZGVmaW5lIENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgMQogI2RlZmluZSBD
T05GSUdfVEVNUE9SQUxfREVOT0lTSU5HIDEKICNkZWZpbmUgQ09ORklHX1ZQOV9URU1QT1JBTF9E
RU5PSVNJTkcgMQorI2RlZmluZSBDT05GSUdfQ09OU0lTVEVOVF9SRUNPREUgMAogI2RlZmluZSBD
T05GSUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcgMAogI2RlZmluZSBDT05GSUdfVlA5X0hJ
R0hCSVRERVBUSCAxCiAjZGVmaW5lIENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElUWSAwCkBA
IC0xMDksNyArMTAyLDYgQEAKICNkZWZpbmUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUgMAogI2Rl
ZmluZSBDT05GSUdfTk9OX0dSRUVEWV9NViAwCiAjZGVmaW5lIENPTkZJR19SQVRFX0NUUkwgMAot
I2RlZmluZSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HIDAKICNkZWZpbmUgREVDT0RF
X1dJRFRIX0xJTUlUIDE2Mzg0CiAjZGVmaW5lIERFQ09ERV9IRUlHSFRfTElNSVQgMTYzODQKICNl
bmRpZiAvKiBWUFhfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJt
LW5lb24taGlnaGJkL3ZweF9kc3BfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi1o
aWdoYmQvdnB4X2RzcF9ydGNkLmgKaW5kZXggOTQ2ZGIxODVhMWE3Li43MWViMzMzYTBiZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24taGlnaGJkL3ZweF9kc3BfcnRjZC5o
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24taGlnaGJkL3ZweF9kc3BfcnRjZC5oCkBA
IC0xNSwxMCArMTUsNiBAQAogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgogI2luY2x1ZGUg
InZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9maWx0ZXIu
aCIKLSNpZiBDT05GSUdfVlA5X0VOQ09ERVIKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3Ry
dWN0IFNjYW5PcmRlcjsKLSNlbmRpZgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIg
ewpAQCAtMjQyLDQxICsyMzgsMjUgQEAgdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfYyh1
aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0
KTsKLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVm
aW5lIHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVv
bgorI2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QxMTdfcHJlZGljdG9yXzE2
eDE2X2MKIAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Qx
MTdfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3X3By
ZWRpY3Rvcl8zMngzMiB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhf
ZDExN19wcmVkaWN0b3JfMzJ4MzIgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2
cHhfZDExN19wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbih1
aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
YWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVkaWN0b3Jf
NHg0X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVkaWN0
b3JfNHg0X2MKIAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3By
ZWRpY3Rvcl84eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzh4OCB2
cHhfZDExN19wcmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzh4
OCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfMTZ4
MTZfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCkBAIC0zMjIsODEgKzMwMiw0OSBAQCB2b2lkIHZweF9kMTUzX3ByZWRpY3Rv
cl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50OF90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2IHZweF9kMTUzX3ByZWRpY3Rv
cl8xNngxNl9uZW9uCisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDE1M19w
cmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4
X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwot
dm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUg
dnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9uZW9uCisj
ZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMiB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJf
YwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9y
XzR4NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9kMTUz
X3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9k
MTUzX3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYyh1aW50
OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQg
dnB4X2QxNTNfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVk
aWN0b3JfOHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfZDE1M19w
cmVkaWN0b3JfOHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kMjA3X3By
ZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1
aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9kMjA3X3By
ZWRpY3Rvcl8xNngxNl9uZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNiB2cHhf
ZDIwN19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9j
KHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
YWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNk
ZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9u
ZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDIwN19wcmVkaWN0b3Jf
MzJ4MzJfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdfcHJl
ZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0IHZw
eF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0
IHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl84eDhf
Yyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIw
N19wcmVkaWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhf
ZDIwN19wcmVkaWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9k
NDVfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC00NDgsNDEgKzM5NiwyNSBAQCB2b2lkIHZw
eF9kNjNfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X25l
b24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2IHZweF9kNjNfcHJl
ZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2Q2
M19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2ModWlu
dDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12
b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
NjNfcHJlZGljdG9yXzMyeDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUg
dnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lk
IHZweF9kNjNfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfbmVvbih1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfNHg0IHZweF9kNjNfcHJlZGljdG9yXzR4NF9uZW9u
CisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzR4NCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfYwog
CiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfbmVv
bih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfOHg4IHZweF9kNjNfcHJlZGljdG9yXzh4
OF9uZW9uCisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzh4OCB2cHhfZDYzX3ByZWRpY3Rvcl84
eDhfYwogCiB2b2lkIHZweF9kNjNlX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtNzgwLDEwICs3
MTIsNyBAQCB2b2lkIHZweF9oYWRhbWFyZF8xNngxNl9uZW9uKGNvbnN0IGludDE2X3QqIHNyY19k
aWZmLAogdm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzJfYyhjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGNvZWZmKTsKLXZvaWQgdnB4X2hhZGFtYXJk
XzMyeDMyX25lb24oY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBjb2VmZik7Ci0jZGVmaW5lIHZweF9oYWRhbWFyZF8zMngzMiB2cHhf
aGFkYW1hcmRfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFt
YXJkXzMyeDMyX2MKIAogdm9pZCB2cHhfaGFkYW1hcmRfOHg4X2MoY29uc3QgaW50MTZfdCogc3Jj
X2RpZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAg
LTgwNSwxMyArNzM0LDcgQEAgdm9pZCB2cHhfaGlnaGJkXzEwX2dldDE2eDE2dmFyX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci12b2lk
IHZweF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLSNkZWZpbmUgdnB4X2hp
Z2hiZF8xMF9nZXQxNngxNnZhciB2cHhfaGlnaGJkXzEwX2dldDE2eDE2dmFyX25lb24KKyNkZWZp
bmUgdnB4X2hpZ2hiZF8xMF9nZXQxNngxNnZhciB2cHhfaGlnaGJkXzEwX2dldDE2eDE2dmFyX2MK
IAogdm9pZCB2cHhfaGlnaGJkXzEwX2dldDh4OHZhcl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC04MTks
NjEgKzc0MiwzNSBAQCB2b2lkIHZweF9oaWdoYmRfMTBfZ2V0OHg4dmFyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci12b2lkIHZweF9oaWdoYmRf
MTBfZ2V0OHg4dmFyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCogc3VtKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9nZXQ4eDh2YXIgdnB4X2hp
Z2hiZF8xMF9nZXQ4eDh2YXJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX2dldDh4OHZhciB2
cHhfaGlnaGJkXzEwX2dldDh4OHZhcl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21z
ZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF8xMF9tc2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTE2eDE2IHZweF9oaWdoYmRfMTBfbXNlMTZ4
MTZfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTE2eDE2IHZweF9oaWdoYmRfMTBfbXNl
MTZ4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF9tc2UxNng4X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTE2eDhfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEw
X21zZTE2eDggdnB4X2hpZ2hiZF8xMF9tc2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8x
MF9tc2UxNng4IHZweF9oaWdoYmRfMTBfbXNlMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkXzEwX21zZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfMTBfbXNlOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfbXNlOHgxNiB2cHhfaGlnaGJkXzEwX21zZTh4MTZf
bmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTh4MTYgdnB4X2hpZ2hiZF8xMF9tc2U4eDE2
X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfbXNlOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfbXNlOHg4X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTh4OCB2cHhfaGln
aGJkXzEwX21zZTh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfbXNlOHg4IHZweF9oaWdo
YmRfMTBfbXNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlMTZ4MTZfYygKICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtODg0LDE3ICs3
ODEsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngx
Nl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMTZ4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
IGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50
MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTYgXAotICB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTE2eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYygKICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAt
OTA1LDE3ICs3OTMsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UxNngzMl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9v
ZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNk
ZWZpbmUgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIgXAotICB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9uZW9uCisgIHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC05MjUsMTcgKzgwNCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hp
Z2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAg
IGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZf
c3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4IFwK
LSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uCisgIHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9jKAogICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCkBAIC05NDYsMTcgKzgxNiw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoCiAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgdWlu
dDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9uZW9uKAotICAgIGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0
LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGlu
dCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Uz
MngxNiBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X25lb24K
KyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfYwogCiB1aW50MzJf
dCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jKAogICAgIGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC05NjcsMTcgKzgyOCw4IEBAIHVpbnQzMl90IHZweF9oaWdo
YmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX2MoCiAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11
aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9uZW9uKAot
ICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50
IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UzMngzMiBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMy
eDMyX25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYwog
CiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jKAog
ICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC05ODgsMTcgKzg0MCw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X2MoCiAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2
NF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2UzMng2NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTMyeDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
MzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0
eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMDA4LDE3ICs4NTEs
OCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NHg0X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTR4NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTR4NF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4
NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEwMjgsMTcgKzg2Miw4IEBA
IHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhf
bmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAot
ICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlNHg4IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MK
IAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfYygK
ICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMTA0OSwxNyArODc0LDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfYygKICAgICBpbnQg
cmVmX3N0cmlkZSwKICAgICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0
eDMyX25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyIFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlNjR4MzJfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U2NHgzMl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTY0eDY0X2MoCiAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTEwNzAsMTcgKzg4Niw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2Mo
CiAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U2NHg2NF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50
IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90
KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCBcCi0gIHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlNjR4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTEwOTAsMTcgKzg5Nyw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNl
dCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAg
IHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmlu
ZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2IFwKLSAgdnB4X2hpZ2hi
ZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC0xMTEwLDE3ICs5MDgsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0
LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
dWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5l
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCBcCi0gIHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTExMzAsMTcgKzkxOSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
IGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50
MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMTQ5LDE1
ICs5MjksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfdmFyaWFuY2UxNngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zhcmlh
bmNlMTZ4MTZfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2
eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTExNjYsMTUgKzkzOSw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11
aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzIgXAotICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92
YXJpYW5jZTE2eDMyX25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngz
Ml9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTExODMsMTUgKzk0OSw4IEBAIHVpbnQz
Ml90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTE2eDggXAotICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfbmVvbgorICB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTEyMDAsMTUgKzk1OSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF92YXJpYW5jZTMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTYgXAot
ICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X25lb24KKyAgdnB4X2hpZ2hi
ZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtMTIxNywxNSArOTY5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
dmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zhcmlh
bmNlMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsK
ICNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiBcCi0gIHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1
Yl9waXhlbF92YXJpYW5jZTMyeDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0x
MjM0LDE1ICs5NzksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2
NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29m
ZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmlu
ZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X3ZhcmlhbmNlMzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJp
YW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTI1MSwxNSArOTg5
LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJf
dCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTR4NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X25lb24KKyAgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtMTI2OCwxNSArOTk5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
dmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4OF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTR4OCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zhcmlh
bmNlNHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYwogCiB1
aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEyODUsMTUgKzEwMDksOCBAQCB1aW50MzJfdCB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hp
Z2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92
YXJpYW5jZTY0eDMyIFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9u
ZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYwogCiB1aW50MzJf
dCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEzMDIsMTUgKzEwMTksOCBAQCB1aW50MzJfdCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTY0eDY0IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9uZW9uCisg
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYwogCiB1aW50MzJfdCB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC0xMzE5LDE1ICsxMDI5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAj
ZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdo
YmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHgxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zh
cmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMzM2LDE1ICsx
MDM5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJp
YW5jZTh4NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X25lb24KKyAg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLApAQCAtMTM1MywxNzEgKzEwNDksOTkgQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4OCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X3ZhcmlhbmNlOHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhf
YwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlMTZ4MTYgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDE2X25lb24KKyNkZWZpbmUgdnB4
X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDE2IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngxNl9jCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfMTBfdmFyaWFuY2UxNngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2UxNngzMiB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlMTZ4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDMyX2MKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFy
aWFuY2UxNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4OCB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlMTZ4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2Ux
Nng4IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfMTBfdmFyaWFuY2UzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDE2X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDE2IHZweF9oaWdoYmRfMTBf
dmFyaWFuY2UzMngxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMngxNiB2
cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8x
MF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MzJfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MzIgdnB4X2hpZ2hiZF8xMF92YXJp
YW5jZTMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDMyIHZweF9o
aWdoYmRfMTBfdmFyaWFuY2UzMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMng2NCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNl
MzJ4NjRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjQgdnB4X2hpZ2hi
ZF8xMF92YXJpYW5jZTMyeDY0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2U0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFy
aWFuY2U0eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdo
YmRfMTBfdmFyaWFuY2U0eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4NF9jCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4OF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
I2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg4IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0
eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg4IHZweF9oaWdoYmRfMTBf
dmFyaWFuY2U0eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlNjR4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyX25lb24K
KyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyIHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2U2NHgzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4NjRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfMTBfdmFyaWFuY2U2NHg2NCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4NjRfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4NjQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0
eDY0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDE2X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfMTBfdmFyaWFuY2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNl
OHgxNiB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHgxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRf
MTBfdmFyaWFuY2U4eDE2IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDE2X2MKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg0X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4
NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDQgdnB4X2hpZ2hiZF8xMF92
YXJpYW5jZTh4NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF8xMF92YXJpYW5jZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4
IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlOHg4IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDhfYwogCiB2b2lkIHZweF9oaWdoYmRf
MTJfZ2V0MTZ4MTZ2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNTI1LDEzICsxMTQ5LDcgQEAg
dm9pZCB2cHhfaGlnaGJkXzEyX2dldDE2eDE2dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci12b2lkIHZweF9oaWdoYmRfMTJfZ2V0
MTZ4MTZ2YXJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCogc3VtKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9nZXQxNngxNnZh
ciB2cHhfaGlnaGJkXzEyX2dldDE2eDE2dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9n
ZXQxNngxNnZhciB2cHhfaGlnaGJkXzEyX2dldDE2eDE2dmFyX2MKIAogdm9pZCB2cHhfaGlnaGJk
XzEyX2dldDh4OHZhcl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNTM5LDYxICsxMTU3LDM1IEBAIHZv
aWQgdnB4X2hpZ2hiZF8xMl9nZXQ4eDh2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF8xMl9nZXQ4eDh2YXJfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0p
OwotI2RlZmluZSB2cHhfaGlnaGJkXzEyX2dldDh4OHZhciB2cHhfaGlnaGJkXzEyX2dldDh4OHZh
cl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfZ2V0OHg4dmFyIHZweF9oaWdoYmRfMTJfZ2V0
OHg4dmFyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfbXNlMTZ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX21zZTE2eDE2
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfMTJfbXNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfMTJfbXNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9jCiAKIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkXzEyX21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfbXNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfbXNlMTZ4OCB2cHhfaGln
aGJkXzEyX21zZTE2eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEyX21zZTE2eDggdnB4X2hp
Z2hiZF8xMl9tc2UxNng4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfbXNlOHgxNl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl9tc2U4
eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF8xMl9tc2U4eDE2IHZweF9oaWdoYmRfMTJfbXNlOHgxNl9uZW9uCisjZGVmaW5lIHZw
eF9oaWdoYmRfMTJfbXNlOHgxNiB2cHhfaGlnaGJkXzEyX21zZTh4MTZfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMl9tc2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMl9tc2U4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfbXNlOHg4IHZweF9oaWdoYmRfMTJfbXNlOHg4X25l
b24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9tc2U4eDggdnB4X2hpZ2hiZF8xMl9tc2U4eDhfYwog
CiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jKAog
ICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xNjA0LDE3ICsxMTk2LDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfYygKICAgICBpbnQg
cmVmX3N0cmlkZSwKICAgICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2
eDE2X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlMTZ4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2UxNngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTE2eDMyX2MoCiAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE2MjUsMTcgKzEyMDgs
OCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9j
KAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlMTZ4MzJfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJf
dCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTE2eDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC0xNjQ1LDE3ICsxMjE5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zm
c2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVm
aW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDggXAotICB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoCiAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwK
QEAgLTE2NjYsMTcgKzEyMzEsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2UzMngxNl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBz
c2UsCiAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBp
bnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYgXAot
ICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAogdWludDMyX3QgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYygKICAgICBjb25zdCB1aW50OF90
KiBzcmNfcHRyLApAQCAtMTY4NywxNyArMTI0Myw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX2MoCiAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
dWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJf
dCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9uZW9uKAotICAgIGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zm
c2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
IGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2UzMngzMiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25l
b24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYwogCiB1aW50
MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jKAogICAgIGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xNzA4LDE3ICsxMjU1LDggQEAgdWludDMyX3QgdnB4
X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYygKICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X25l
b24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlMzJ4NjRfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2
NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE3MjgsMTcgKzEyNjYsOCBA
QCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0
X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTR4NCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTR4NF9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9j
CiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE3NDgsMTcgKzEyNzcsOCBAQCB1
aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X25l
b24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTR4OCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTR4OF9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jCiAK
IHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX2MoCiAg
ICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE3NjksMTcgKzEyODksOCBAQCB1aW50MzJf
dCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKAogICAgIGludCBy
ZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4
MzJfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRl
LAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U2NHgzMl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTY0eDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NjR4NjRfYygKICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMTc5MCwxNyArMTMwMSw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2Mo
CiAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U2NHg2NF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50
IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90
KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCBcCi0gIHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlNjR4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTE4MTAsMTcgKzEzMTIsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZz
ZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZp
bmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtMTgzMCwxNyArMTMyMyw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDRfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZz
ZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZp
bmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApA
QCAtMTg1MCwxNyArMTMzNCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQs
Ci0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1
aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
dmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xODY5
LDE1ICsxMzQ0LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2Ux
NngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNiBcCi0gIHZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTE2eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFu
Y2UxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xODg2LDE1ICsx
MzU0LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3Nl
KTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX3ZhcmlhbmNlMTZ4MzJfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTE2eDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTkwMywxNSArMTM2NCw4IEBA
IHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTE2eDggXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfbmVv
bgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKQEAgLTE5MjAsMTUgKzEzNzQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMy
eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTE5MzcsMTUgKzEzODQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfdmFyaWFuY2UzMngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIFwK
LSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMl9uZW9uCisgIHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTE5NTQsMTUgKzEzOTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF92YXJpYW5jZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFy
aWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Up
OwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IFwKLSAgdnB4
X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uCisgIHZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF92YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTk3
MSwxNSArMTQwNCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNl
NHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Up
OwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfdmFyaWFuY2U0eDQgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9u
ZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MKIAogdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTE5ODgsMTUgKzE0MTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF92YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zh
cmlhbmNlNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfdmFyaWFuY2U0eDhfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTR4OF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjAwNSwxNSArMTQyNCw4IEBA
IHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJp
YW5jZTY0eDMyX25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9j
CiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjAyMiwxNSArMTQzNCw4IEBAIHVpbnQz
Ml90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX3ZhcmlhbmNlNjR4NjQgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0
eDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9jCiAKIHVp
bnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIwMzksMTUgKzE0NDQsOCBAQCB1aW50MzJfdCB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2IFwK
LSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X25lb24KKyAgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTIwNTYsMTUgKzE0NTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJp
YW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4
eDRfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jCiAKIHVpbnQz
Ml90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0yMDczLDE3MSArMTQ2NCw5OSBAQCB1aW50MzJfdCB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29m
ZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVm
aW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTh4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTZf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfMTJfdmFyaWFuY2UxNngxNiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTZfbmVvbgor
I2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl92YXJpYW5j
ZTE2eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngzMl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTE2eDMyIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngzMl9uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngzMiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4
MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDhfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF8xMl92YXJpYW5jZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2Ux
Nng4IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTE2eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDhfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3Zhcmlh
bmNlMzJ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTYgdnB4
X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJp
YW5jZTMyeDE2IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngxNl9jCiAKIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2Uz
MngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngzMiB2cHhfaGln
aGJkXzEyX3ZhcmlhbmNlMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNl
MzJ4MzIgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfMTJfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDY0
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDY0IHZweF9oaWdoYmRf
MTJfdmFyaWFuY2UzMng2NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMng2
NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4NjRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hp
Z2hiZF8xMl92YXJpYW5jZTR4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0X25lb24KKyNkZWZp
bmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTR4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0X2MK
IAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3Zh
cmlhbmNlNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDggdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTR4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDggdnB4
X2hpZ2hiZF8xMl92YXJpYW5jZTR4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3Zh
cmlhbmNlNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHgzMiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNl
NjR4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzIgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTY0eDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFu
Y2U2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTY0eDY0IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2
NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NCB2cHhfaGlnaGJkXzEy
X3ZhcmlhbmNlNjR4NjRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4
MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
MTJfdmFyaWFuY2U4eDE2IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDE2X25lb24KKyNkZWZpbmUg
dnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4MTYgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4MTZfYwog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFy
aWFuY2U4eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NCB2cHhfaGlnaGJkXzEy
X3ZhcmlhbmNlOHg0X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NCB2cHhf
aGlnaGJkXzEyX3ZhcmlhbmNlOHg0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFy
aWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJf
dmFyaWFuY2U4eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4OF9uZW9uCisjZGVmaW5lIHZweF9o
aWdoYmRfMTJfdmFyaWFuY2U4eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4OF9jCiAKIHZvaWQg
dnB4X2hpZ2hiZF84X2dldDE2eDE2dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMjQ1LDEzICsx
NTY0LDcgQEAgdm9pZCB2cHhfaGlnaGJkXzhfZ2V0MTZ4MTZ2YXJfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF84
X2dldDE2eDE2dmFyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50KiBzdW0pOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfZ2V0MTZ4MTZ2YXIg
dnB4X2hpZ2hiZF84X2dldDE2eDE2dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X2dldDE2
eDE2dmFyIHZweF9oaWdoYmRfOF9nZXQxNngxNnZhcl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF84X2dl
dDh4OHZhcl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIyNTksNjEgKzE1NzIsMzUgQEAgdm9pZCB2cHhf
aGlnaGJkXzhfZ2V0OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQqIHN1bSk7Ci12b2lkIHZweF9oaWdoYmRfOF9nZXQ4eDh2YXJfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLSNkZWZpbmUgdnB4X2hp
Z2hiZF84X2dldDh4OHZhciB2cHhfaGlnaGJkXzhfZ2V0OHg4dmFyX25lb24KKyNkZWZpbmUgdnB4
X2hpZ2hiZF84X2dldDh4OHZhciB2cHhfaGlnaGJkXzhfZ2V0OHg4dmFyX2MKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfOF9tc2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTE2eDE2IHZweF9oaWdoYmRf
OF9tc2UxNngxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF9tc2UxNngxNiB2cHhfaGlnaGJk
XzhfbXNlMTZ4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTE2eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTE2eDhfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9tc2Ux
Nng4IHZweF9oaWdoYmRfOF9tc2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTE2
eDggdnB4X2hpZ2hiZF84X21zZTE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21z
ZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21z
ZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfOF9tc2U4eDE2IHZweF9oaWdoYmRfOF9tc2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF84X21zZTh4MTYgdnB4X2hpZ2hiZF84X21zZTh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF84X21zZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfOF9tc2U4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF84X21zZTh4OCB2cHhfaGlnaGJkXzhfbXNlOHg4X25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF84X21zZTh4OCB2cHhfaGlnaGJkXzhfbXNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0yMzIzLDE3ICsxNjEwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24oCi0gICAgY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQs
Ci0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4
MTYgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24KKyAg
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jCiAKIHVpbnQzMl90IHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjM0MywxNyArMTYyMSw4IEBAIHVpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWlu
dDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9uZW9uKAotICAg
IGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhf
b2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTE2eDMyIFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9u
ZW9uCisgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYwogCiB1aW50
MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMzYzLDE3ICsxNjMyLDggQEAgdWludDMyX3Qg
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVp
bnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uKAotICAg
IGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhf
b2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTE2eDggXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfbmVv
bgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYwogCiB1aW50MzJf
dCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIzODMsMTcgKzE2NDMsOCBAQCB1aW50MzJfdCB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
LXVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigK
LSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGlu
dCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UzMngxNiBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4
MTZfbmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAog
dWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNDAzLDE3ICsxNjU0LDggQEAgdWlu
dDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMy
X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMzJ4MzIgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTMyeDMyX25lb24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngz
Ml9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjQyMywxNyArMTY2NSw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2UzMng2NF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19z
dHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2Us
Ci0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2UzMng2NF9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlMzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjQ0MywxNyArMTY3
Niw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0
X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlNHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U0eDRfbmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jCiAK
IHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNDYzLDE3ICsxNjg3LDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWlu
dDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfbmVvbigKLSAgICBj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29m
ZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U0eDggXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9uZW9uCisg
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MKIAogdWludDMyX3QgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNDgzLDE3ICsxNjk4LDggQEAgdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24oCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9v
ZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25l
b24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jCiAKIHVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjUwMywxNyArMTcwOSw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9uZW9u
KAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAg
aW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTY0eDY0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2
NHg2NF9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYwog
CiB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNTIzLDE3ICsxNzIwLDggQEAgdWlu
dDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNl9uZW9u
KAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAg
aW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTh4MTYgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4
MTZfbmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYwogCiB1
aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjU0MywxNyArMTczMSw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24oCi0gICAgY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
OHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDRfbmVvbgorICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0yNTYzLDE3ICsxNzQyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQg
eV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
ICNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDggXAotICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OF9uZW9uCisgIHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAt
MjU4MiwxNSArMTc1Miw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFu
Y2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTYgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlMTZ4MTZfbmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4
MTZfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNTk5LDE1ICsxNzYyLDggQEAgdWlu
dDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFu
Y2UxNngzMiBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9uZW9uCisg
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jCiAKIHVpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC0yNjE2LDE1ICsxNzcyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF92YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNl
MTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
dmFyaWFuY2UxNng4X25lb24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDhf
YwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNjMzLDE1ICsxNzgyLDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2Uz
MngxNiBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTI2NTAsMTUgKzE3OTIsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX3ZhcmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zhcmlh
bmNlMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZp
bmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIFwKLSAgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyX25lb24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92
YXJpYW5jZTMyeDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5j
ZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjY2NywxNSArMTgw
Miw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVp
bnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX3ZhcmlhbmNlMzJ4NjQgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4
NjRfbmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRfYwogCiB1aW50
MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKQEAgLTI2ODQsMTUgKzE4MTIsNyBAQCB1aW50MzJfdCB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTR4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDQg
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtMjcwMSwxNSArMTgyMSw3IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
dmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
dmFyaWFuY2U0eDggXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24K
KyNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4OCB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX3ZhcmlhbmNlNHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjcx
OCwxNSArMTgzMCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2
NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlNjR4MzJfbmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJf
YwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNzM1LDE1ICsxODQwLDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2
NHg2NCBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9uZW9uCisgIHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9jCiAKIHVpbnQzMl90IHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC0yNzUyLDE1ICsxODUwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgx
Nl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDE2X25lb24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfYwog
CiB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTI3NjksMTUgKzE4NjAsNyBAQCB1aW50MzJfdCB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF92YXJpYW5jZTh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF92YXJpYW5jZTh4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDQgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtMjc4NiwxNzkgKzE4NjksMTA0IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNl
OHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfdmFyaWFuY2U4eDggXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNl
OHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4OCB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfOF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngxNiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngx
Nl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2IHZweF9oaWdoYmRfOF92
YXJpYW5jZTE2eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhf
dmFyaWFuY2UxNngzMiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngzMl9uZW9uCisjZGVmaW5lIHZw
eF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyX2MKIAog
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFu
Y2UxNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDggdnB4X2hpZ2hiZF84X3Zh
cmlhbmNlMTZ4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDggdnB4X2hp
Z2hiZF84X3ZhcmlhbmNlMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFu
Y2UzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hp
Z2hiZF84X3ZhcmlhbmNlMzJ4MTYgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MTZfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngxNiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngx
Nl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkXzhfdmFyaWFuY2UzMngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4
MzIgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhf
dmFyaWFuY2UzMngzMiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMl9jCiAKIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2
NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4NjQgdnB4X2hpZ2hiZF84X3Zh
cmlhbmNlMzJ4NjRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NCB2cHhf
aGlnaGJkXzhfdmFyaWFuY2UzMng2NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFy
aWFuY2U0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTR4
NCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFy
aWFuY2U0eDQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg0X2MKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfOF92YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg4X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84
X3ZhcmlhbmNlNHg4IHZweF9oaWdoYmRfOF92YXJpYW5jZTR4OF9uZW9uCisjZGVmaW5lIHZweF9o
aWdoYmRfOF92YXJpYW5jZTR4OCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDhfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNl
NjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDMyIHZweF9oaWdoYmRf
OF92YXJpYW5jZTY0eDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzIg
dnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84
X3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjRfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDY0IHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDY0X25l
b24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjQgdnB4X2hpZ2hiZF84X3Zhcmlh
bmNlNjR4NjRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfOF92YXJpYW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNiB2
cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3Zhcmlh
bmNlOHgxNiB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfOF92YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84
X3ZhcmlhbmNlOHg0IHZweF9oaWdoYmRfOF92YXJpYW5jZTh4NF9uZW9uCisjZGVmaW5lIHZweF9o
aWdoYmRfOF92YXJpYW5jZTh4NCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDRfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDhfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2
cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDggdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg4X25lb24KKyNk
ZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg4IHZweF9oaWdoYmRfOF92YXJpYW5jZTh4OF9j
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX2F2Z180eDRfYyhjb25zdCB1aW50OF90KiBzOCwg
aW50IHApOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfYXZnXzR4NF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHM4LCBpbnQgcCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfYXZnXzR4NCB2cHhfaGlnaGJkX2F2
Z180eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2F2Z180eDQgdnB4X2hpZ2hiZF9hdmdfNHg0
X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfYXZnXzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHM4
LCBpbnQgcCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9hdmdfOHg4X25lb24oY29uc3QgdWlu
dDhfdCogczgsIGludCBwKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9hdmdfOHg4IHZweF9oaWdoYmRf
YXZnXzh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfYXZnXzh4OCB2cHhfaGlnaGJkX2F2Z184
eDhfYwogCiB2b2lkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZF9jKHVpbnQxNl90KiBjb21wX3By
ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBwcmVk
LApAQCAtMjk2NiwxMyArMTk3NCw3IEBAIHZvaWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2Mo
dWludDE2X3QqIGNvbXBfcHJlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qq
IHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dm9pZCB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWRfbmVvbih1aW50MTZfdCogY29tcF9wcmVkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogcHJlZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogcmVmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfY29t
cF9hdmdfcHJlZCB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWRfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkX2NvbXBfYXZnX3ByZWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2MKIAogdm9pZCB2cHhf
aGlnaGJkX2NvbnZvbHZlOF9jKGNvbnN0IHVpbnQxNl90KiBzcmMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0zMTg3LDQ4ICsyMTg5LDI4IEBA
IHZvaWQgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCogbGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7
Ci12b2lkIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50MTZfdCogZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngx
NiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9kMTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzE2eDE2X2MK
IAogdm9pZCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyX2ModWludDE2X3QqIGRzdCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCog
YWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
MTZfdCogbGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBi
ZCk7Ci12b2lkIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8z
MngzMiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF9kMTE3X3ByZWRpY3Rvcl8zMngzMiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzMyeDMy
X2MKIAogdm9pZCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qq
IGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZv
aWQgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50MTZfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBi
ZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfNHg0IHZweF9oaWdoYmRfZDEx
N19wcmVkaWN0b3JfNHg0X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80
eDQgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9oaWdoYmRfZDEx
N19wcmVkaWN0b3JfOHg4X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxMTdfcHJlZGlj
dG9yXzh4OF9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9k
MTE3X3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzh4OCB2cHhfaGlnaGJkX2QxMTdfcHJlZGlj
dG9yXzh4OF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQx
Nl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLApAQCAtMzI4Myw5NiArMjI2NSw1NiBAQCB2b2lkIHZweF9oaWdoYmRfZDE1M19w
cmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxNTNf
cHJlZGljdG9yXzE2eDE2X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9kMTUzX3ByZWRp
Y3Rvcl8xNngxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTYg
dnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMTUz
X3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2Qx
NTNfcHJlZGljdG9yXzMyeDMyX25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVm
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hiZF9kMTUzX3By
ZWRpY3Rvcl8zMngzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMzJ4
MzIgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9k
MTUzX3ByZWRpY3Rvcl80eDRfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfZDE1M19wcmVk
aWN0b3JfNHg0X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJk
X2QxNTNfcHJlZGljdG9yXzR4NCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzR4NF9uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9oaWdoYmRfZDE1M19wcmVk
aWN0b3JfNHg0X2MKIAogdm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzh4OF9jKHVpbnQx
Nl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
MTZfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbih1aW50MTZfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfOHg4IHZweF9o
aWdoYmRfZDE1M19wcmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTUzX3By
ZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9o
aWdoYmRfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4
X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9oaWdo
YmRfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJl
ZGljdG9yXzE2eDE2IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZw
eF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQg
dnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qq
IGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9o
aWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdf
cHJlZGljdG9yXzMyeDMyIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lk
IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfNHg0X2ModWludDE2X3QqIGRzdCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGln
aGJkX2QyMDdfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rv
cl80eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzR4NCB2cHhfaGln
aGJkX2QyMDdfcHJlZGljdG9yXzR4NF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rv
cl84eDhfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4X25l
b24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGlj
dG9yXzh4OCB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uCisjZGVmaW5lIHZweF9o
aWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4X2MK
IAogdm9pZCB2cHhfaGlnaGJkX2Q0NV9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApA
QCAtMzQyNyw0OCArMjM2OSwyOCBAQCB2b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngx
Nl9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNl9u
ZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDYzX3By
ZWRpY3Rvcl8xNngxNiB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmlu
ZSB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9y
XzE2eDE2X2MKIAogdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZf
dCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
MTZfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZf
dCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4
MzIgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9kNjNfcHJlZGljdG9yXzMyeDMyIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8zMngzMl9jCiAK
IHZvaWQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGln
aGJkX2Q2M19wcmVkaWN0b3JfNHg0X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4NF9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kNjNf
cHJlZGljdG9yXzR4NF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzh4OF9jKHVp
bnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
YmQpOwotdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF9k
NjNfcHJlZGljdG9yXzh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84
eDggdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzh4OF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kY18x
MjhfcHJlZGljdG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKQEAgLTM2NjcsNTQgKzI1ODks
MzMgQEAgdm9pZCB2cHhfaGlnaGJkX2RjX3RvcF9wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3Qq
IGRzdCwKIHZvaWQgdnB4X2hpZ2hiZF9mZGN0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9oaWdoYmRfZmRjdDE2
eDE2X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3QxNngxNiB2cHhfaGlnaGJkX2Zk
Y3QxNngxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2eDE2IHZweF9oaWdoYmRfZmRj
dDE2eDE2X2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3QxNngxNl8xX2MoY29uc3QgaW50MTZfdCog
aW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2hp
Z2hiZF9mZGN0MTZ4MTZfMV9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2
eDE2XzEgdnB4X2hpZ2hiZF9mZGN0MTZ4MTZfMV9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRj
dDE2eDE2XzEgdnB4X2hpZ2hiZF9mZGN0MTZ4MTZfMV9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9mZGN0
MzJ4MzJfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0
cmlkZSk7Ci12b2lkIHZweF9oaWdoYmRfZmRjdDMyeDMyX25lb24oY29uc3QgaW50MTZfdCogaW5w
dXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhf
aGlnaGJkX2ZkY3QzMngzMiB2cHhfaGlnaGJkX2ZkY3QzMngzMl9uZW9uCisjZGVmaW5lIHZweF9o
aWdoYmRfZmRjdDMyeDMyIHZweF9oaWdoYmRfZmRjdDMyeDMyX2MKIAogdm9pZCB2cHhfaGlnaGJk
X2ZkY3QzMngzMl8xX2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9uZW9uKGNvbnN0
IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlk
ZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDMyeDMyXzEgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJf
MV9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDMyeDMyXzEgdnB4X2hpZ2hiZF9mZGN0MzJ4
MzJfMV9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfcmRfYyhjb25zdCBpbnQxNl90KiBp
bnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9o
aWdoYmRfZmRjdDMyeDMyX3JkX25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2Zk
Y3QzMngzMl9yZCB2cHhfaGlnaGJkX2ZkY3QzMngzMl9yZF9uZW9uCisjZGVmaW5lIHZweF9oaWdo
YmRfZmRjdDMyeDMyX3JkIHZweF9oaWdoYmRfZmRjdDMyeDMyX3JkX2MKIAogdm9pZCB2cHhfaGln
aGJkX2ZkY3Q0eDRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBp
bnQgc3RyaWRlKTsKLXZvaWQgdnB4X2hpZ2hiZF9mZGN0NHg0X25lb24oY29uc3QgaW50MTZfdCog
aW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfZmRjdDR4NCB2cHhfaGlnaGJkX2ZkY3Q0eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJk
X2ZkY3Q0eDQgdnB4X2hpZ2hiZF9mZGN0NHg0X2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhf
Yyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsK
LXZvaWQgdnB4X2hpZ2hiZF9mZGN0OHg4X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDh4
OCB2cHhfaGlnaGJkX2ZkY3Q4eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3Q4eDggdnB4
X2hpZ2hiZF9mZGN0OHg4X2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhfMV9jKGNvbnN0IGlu
dDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91
dHB1dCwKQEAgLTM3NzMsMjYgKzI2NzQsMTcgQEAgdm9pZCB2cHhfaGlnaGJkX2hfcHJlZGljdG9y
Xzh4OF9uZW9uKHVpbnQxNl90KiBkc3QsCiB2b2lkIHZweF9oaWdoYmRfaGFkYW1hcmRfMTZ4MTZf
Yyhjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogY29lZmYpOwotdm9pZCB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X25l
b24oY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIGNvZWZmKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9oYWRhbWFy
ZF8xNngxNiB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9oYWRhbWFyZF8xNngxNiB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X2MKIAogdm9pZCB2cHhf
aGlnaGJkX2hhZGFtYXJkXzMyeDMyX2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGNvZWZmKTsKLXZvaWQgdnB4X2hp
Z2hiZF9oYWRhbWFyZF8zMngzMl9uZW9uKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBjb2VmZik7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfaGFkYW1hcmRfMzJ4MzIgdnB4X2hpZ2hiZF9oYWRhbWFyZF8zMngzMl9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfaGFkYW1hcmRfMzJ4MzIgdnB4X2hpZ2hiZF9oYWRhbWFy
ZF8zMngzMl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9oYWRhbWFyZF84eDhfYyhjb25zdCBpbnQxNl90
KiBzcmNfZGlmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBjb2Vm
Zik7Ci12b2lkIHZweF9oaWdoYmRfaGFkYW1hcmRfOHg4X25lb24oY29uc3QgaW50MTZfdCogc3Jj
X2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogY29l
ZmYpOwotI2RlZmluZSB2cHhfaGlnaGJkX2hhZGFtYXJkXzh4OCB2cHhfaGlnaGJkX2hhZGFtYXJk
Xzh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfaGFkYW1hcmRfOHg4IHZweF9oaWdoYmRfaGFk
YW1hcmRfOHg4X2MKIAogdm9pZCB2cHhfaGlnaGJkX2lkY3QxNngxNl8xMF9hZGRfYyhjb25zdCB0
cmFuX2xvd190KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDE2X3QqIGRlc3QsCkBAIC00MTM0LDc4MSArMzAyNiwzMDAgQEAgdm9pZCB2cHhfaGlnaGJkX21p
bm1heF84eDhfYyhjb25zdCB1aW50OF90KiBzOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG1pbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBtYXgpOwotdm9pZCB2cHhfaGlnaGJkX21pbm1h
eF84eDhfbmVvbihjb25zdCB1aW50OF90KiBzOCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGQ4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbWluLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQqIG1heCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfbWlubWF4Xzh4OCB2cHhf
aGlnaGJkX21pbm1heF84eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX21pbm1heF84eDggdnB4
X2hpZ2hiZF9taW5tYXhfOHg4X2MKIAogdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfYyhjb25z
dCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVf
Yl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7Ci0jZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYiB2cHhfaGlnaGJk
X3F1YW50aXplX2JfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jKAot
ICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9i
bG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwK
LSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50
X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVy
KiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX25l
b24oCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZf
cHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRl
cXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2Fu
T3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2Jf
MzJ4MzIgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX25lb24KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXpl
X2IgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MKKwordm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2Jf
MzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBk
ZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qq
IGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyIHZweF9oaWdo
YmRfcXVhbnRpemVfYl8zMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngx
NiB2cHhfaGlnaGJkX3NhZDE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNiB2
cHhfaGlnaGJkX3NhZDE2eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZf
YXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDE2
X2F2ZyB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
MTZ4MTZfYXZnIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3Nh
ZDE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4
NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4
MTZ4NGQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9uZW9uCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngx
Nng0ZCB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
MTZ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJk
X3NhZDE2eDMyIHZweF9oaWdoYmRfc2FkMTZ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDE2eDMyIHZweF9oaWdoYmRfc2FkMTZ4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQxNngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkMTZ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF9zYWQxNngzMl9hdmcgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYwogCiB2b2lkIHZweF9o
aWdoYmRfc2FkMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9z
YWQxNngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQxNngzMng0ZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX25lb24KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJk
X3NhZDE2eDMyeDRkIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJk
X3NhZDE2eDggdnB4X2hpZ2hiZF9zYWQxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQx
Nng4IHZweF9oaWdoYmRfc2FkMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2
eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnIHZw
eF9oaWdoYmRfc2FkMTZ4OF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZn
IHZweF9oaWdoYmRfc2FkMTZ4OF9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZCB2cHhfaGlnaGJkX3NhZDE2
eDh4NGRfbmVvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNng4eDRkIHZweF9oaWdoYmRfc2FkMTZ4OHg0
ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNiB2cHhfaGlnaGJkX3NhZDMy
eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNiB2cHhfaGlnaGJkX3NhZDMyeDE2
X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
MzJ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZyB2cHhfaGlnaGJkX3Nh
ZDMyeDE2X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnIHZweF9oaWdo
YmRfc2FkMzJ4MTZfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9z
YWQzMngxNng0ZF9uZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZCB2cHhfaGlnaGJkX3Nh
ZDMyeDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyIHZweF9oaWdo
YmRfc2FkMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyIHZweF9oaWdoYmRf
c2FkMzJ4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQzMngzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnIHZweF9o
aWdoYmRfc2FkMzJ4MzJfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcg
dnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCB2cHhf
aGlnaGJkX3NhZDMyeDMyeDRkX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkIHZweF9o
aWdoYmRfc2FkMzJ4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjQg
dnB4X2hpZ2hiZF9zYWQzMng2NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjQgdnB4
X2hpZ2hiZF9zYWQzMng2NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2
Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2NF9h
dmcgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMy
eDY0X2F2ZyB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19jCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQz
Mng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRk
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0
eDRkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfbmVvbgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjR4
NGQgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4NCB2cHhfaGlnaGJk
X3NhZDR4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0IHZweF9oaWdoYmRfc2FkNHg0
X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfYXZnX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWQ0eDRfYXZnIHZweF9oaWdoYmRfc2FkNHg0X2F2Z19uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfc2FkNHg0X2F2ZyB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYwogCiB2b2lkIHZw
eF9oaWdoYmRfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4NHg0ZCB2cHhfaGln
aGJkX3NhZDR4NHg0ZF9uZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0eDRkIHZweF9oaWdoYmRfc2Fk
NHg0eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg4IHZweF9oaWdoYmRfc2FkNHg4X25lb24KKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQ0eDggdnB4X2hpZ2hiZF9zYWQ0eDhfYwogCiB1bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ0eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4OF9h
dmcgdnB4X2hpZ2hiZF9zYWQ0eDhfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ0eDhf
YXZnIHZweF9oaWdoYmRfc2FkNHg4X2F2Z19jCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg4eDRkIHZweF9oaWdoYmRfc2FkNHg4eDRkX25lb24K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQ0eDh4NGQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzIgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9uZW9uCi0KLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2
Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmcgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9h
dmdfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9uZW9uCi0K
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHg2NCB2cHhfaGlnaGJkX3NhZDY0eDY0X25l
b24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
NjR4NjRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyB2cHhfaGlnaGJkX3Nh
ZDY0eDY0X2F2Z19uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRk
X25lb24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDE2IHZweF9oaWdoYmRfc2FkOHgxNl9uZW9u
Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2
Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnIHZweF9oaWdoYmRfc2FkOHgxNl9hdmdfbmVv
bgotCi12b2lkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZDh4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ4eDE2eDRkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4
eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NCB2
cHhfaGlnaGJkX3NhZDh4NF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4NF9h
dmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkOHg0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkOHg0X2F2ZyB2cHhfaGlnaGJkX3NhZDh4
NF9hdmdfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hp
Z2hiZF9zYWQ4eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDh4NHg0ZCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDhf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4OCB2cHhf
aGlnaGJkX3NhZDh4OF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4OF9hdmdf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkOHg4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkOHg4X2F2ZyB2cHhfaGlnaGJkX3NhZDh4OF9h
dmdfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hi
ZF9zYWQ4eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4
OHg0ZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngxNiB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X25lb24KLQotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDE2eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfbmVvbgotCi11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4MzIgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9uZW9uCi0KLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkX25lb24K
LQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9uZW9uCi0K
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eDh4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX25lb24KLQotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfbmVvbgot
Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZF9u
ZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMiB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDMyX25lb24KLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MzJ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMng2NF9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2
NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0IHZweF9oaWdoYmRf
c2FkX3NraXBfNHg0X25lb24KLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NHg0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0eDRk
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGRfbmVvbgot
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNHg4X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF80eDggdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfbmVvbgotCi12b2lkIHZweF9o
aWdoYmRfc2FkX3NraXBfNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZCB2cHhfaGln
aGJkX3NhZF9za2lwXzR4OHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgz
MiB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX25lb24KLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMy
eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkX3NraXBfNjR4NjQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9uZW9uCi0KLXZvaWQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzIgdnB4X2hpZ2hiZF9zYWQ2
NHgzMl9jCisKK3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9u
ZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnIHZweF9oaWdo
YmRfc2FkNjR4MzJfYXZnX2MKIAotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHgx
Nl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF84eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2IHZweF9oaWdoYmRfc2Fk
X3NraXBfOHgxNl9uZW9uCit2b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9jCiAK
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKK3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX25lb24KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmlu
ZSB2cHhfaGlnaGJkX3NhZDY0eDY0IHZweF9oaWdoYmRfc2FkNjR4NjRfYwogCi11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAordW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2Fk
X3NraXBfOHg0IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X25lb24KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmlu
ZSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19jCisKK3Zv
aWQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ2NHg2NHg0ZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2MKIAotdm9pZCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCit1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQ4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF84eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2
cHhfaGlnaGJkX3NhZDh4MTYgdnB4X2hpZ2hiZF9zYWQ4eDE2X2MKKwordW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkOHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDh4MTZfYXZn
X2MKKwordm9pZCB2cHhfaGlnaGJkX3NhZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQ4eDE2eDRkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9jCisKK3Vuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkOHg0IHZw
eF9oaWdoYmRfc2FkOHg0X2MKKwordW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X2F2Z19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfbmVvbgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDRfYXZnIHZweF9oaWdoYmRfc2FkOHg0
X2F2Z19jCiAKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfaGlnaGJkX3NhZF9za2lwXzh4OCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9uZW9uCit2b2lk
IHZweF9oaWdoYmRfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDR4NGQgdnB4
X2hpZ2hiZF9zYWQ4eDR4NGRfYwogCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4
NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDggdnB4X2hpZ2hi
ZF9zYWQ4eDhfYworCit1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4OHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZF9uZW9uCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4OF9hdmcgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX2MK
Kwordm9pZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkOHg4
eDRkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MKIAogaW50IHZweF9oaWdoYmRfc2F0ZF9jKGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLWludCB2cHhfaGlnaGJkX3NhdGRfbmVv
bihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfc2F0ZCB2cHhfaGlnaGJkX3NhdGRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhdGQgdnB4
X2hpZ2hiZF9zYXRkX2MKIAogdm9pZCB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MoaW50IHJv
d3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKQEAgLTQ5MTks
MTYgKzMzMzAsNyBAQCB2b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYyhpbnQgcm93cywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWQ4X3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9o
aWdoYmRfc3VidHJhY3RfYmxvY2tfbmVvbihpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zdWJ0
cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF9zdWJ0cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MKIAogdm9pZCB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKQEAgLTUxMTAsMTEg
KzM1MTIsMTEgQEAgaW50MTZfdCB2cHhfaW50X3Byb19jb2xfYyhjb25zdCB1aW50OF90KiByZWYs
IGNvbnN0IGludCB3aWR0aCk7CiBpbnQxNl90IHZweF9pbnRfcHJvX2NvbF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsKICNkZWZpbmUgdnB4X2ludF9wcm9fY29sIHZw
eF9pbnRfcHJvX2NvbF9uZW9uCiAKLXZvaWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCBoYnVm
WzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCogaGJ1ZiwKICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhl
aWdodCk7Ci12b2lkIHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3QgaGJ1ZlsxNl0sCit2b2lk
IHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3QqIGhidWYsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBo
ZWlnaHQpOwpAQCAtNTM0OSwzNiArMzc1MSwyMSBAQCB1bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
dW5zaWduZWQgaW50IHZweF9tc2UxNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfbXNlMTZ4OCB2cHhfbXNlMTZ4
OF9uZW9uCisjZGVmaW5lIHZweF9tc2UxNng4IHZweF9tc2UxNng4X2MKIAogdW5zaWduZWQgaW50
IHZweF9tc2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
dW5zaWduZWQgaW50IHZweF9tc2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfbXNlOHgxNiB2cHhfbXNlOHgx
Nl9uZW9uCisjZGVmaW5lIHZweF9tc2U4eDE2IHZweF9tc2U4eDE2X2MKIAogdW5zaWduZWQgaW50
IHZweF9tc2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2ln
bmVkIGludCB2cHhfbXNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9tc2U4eDggdnB4X21zZTh4OF9uZW9uCisjZGVm
aW5lIHZweF9tc2U4eDggdnB4X21zZTh4OF9jCiAKIHZvaWQgdnB4X3BsYW5lX2FkZF9ub2lzZV9j
KHVpbnQ4X3QqIHN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90
KiBub2lzZSwKQEAgLTU0MDgsMzYgKzM3OTUsNTggQEAgdm9pZCB2cHhfcG9zdF9wcm9jX2Rvd25f
YW5kX2Fjcm9zc19tYl9yb3dfbmVvbih1bnNpZ25lZCBjaGFyKiBzcmMsCiAKIHZvaWQgdnB4X3F1
YW50aXplX2JfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qq
IGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciog
Y29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lk
IHZweF9xdWFudGl6ZV9iX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRx
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2
cHhfcXVhbnRpemVfYiB2cHhfcXVhbnRpemVfYl9uZW9uCiAKIHZvaWQgdnB4X3F1YW50aXplX2Jf
MzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX25lb24oY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2
cHhfcXVhbnRpemVfYl8zMngzMiB2cHhfcXVhbnRpemVfYl8zMngzMl9uZW9uCiAKIHVuc2lnbmVk
IGludCB2cHhfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNTQ2MiwxOCAr
Mzg3MSwzMiBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2X2F2ZyB2cHhfc2FkMTZ4
MTZfYXZnX25lb24KIAordm9pZCB2cHhfc2FkMTZ4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2eDMgdnB4X3NhZDE2eDE2eDNfYworCiB2b2lkIHZweF9z
YWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQx
NngxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiAjZGVmaW5lIHZweF9zYWQxNngxNng0ZCB2cHhfc2FkMTZ4MTZ4NGRfbmVvbgogCit2b2lk
IHZweF9zYWQxNngxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2Fk
MTZ4MTZ4OCB2cHhfc2FkMTZ4MTZ4OF9jCisKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCkBAIC01NDk4LDE0ICszOTIxLDE0IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJf
YXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmlu
ZSB2cHhfc2FkMTZ4MzJ4NGQgdnB4X3NhZDE2eDMyeDRkX25lb24KIAogdW5zaWduZWQgaW50IHZw
eF9zYWQxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTU1MzAsMTggKzM5NTMsMzIg
QEAgdW5zaWduZWQgaW50IHZweF9zYWQxNng4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkMTZ4OF9hdmcgdnB4X3NhZDE2eDhfYXZnX25lb24K
IAordm9pZCB2cHhfc2FkMTZ4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9z
YWQxNng4eDMgdnB4X3NhZDE2eDh4M19jCisKIHZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9z
YWQxNng4eDRkX25lb24KIAordm9pZCB2cHhfc2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9zYWQxNng4eDggdnB4X3NhZDE2eDh4OF9jCisKIHVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC01NTY2LDE0ICs0MDAzLDE0IEBAIHVuc2lnbmVkIGlu
dCB2cHhfc2FkMzJ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2
cHhfc2FkMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhf
c2FkMzJ4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMzJ4MTZ4NGQgdnB4X3NhZDMyeDE2eDRkX25lb24KIAog
dW5zaWduZWQgaW50IHZweF9zYWQzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC01
NjAwLDE2ICs0MDM3LDIzIEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMzJ4
MzJ4NGQgdnB4X3NhZDMyeDMyeDRkX25lb24KIAordm9pZCB2cHhfc2FkMzJ4MzJ4OF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyeDggdnB4X3NhZDMyeDMyeDhf
YworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtNTYzNCwxNCArNDA3
OCwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDY0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKIHZvaWQgdnB4X3NhZDMyeDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDMyeDY0eDRkIHZweF9z
YWQzMng2NHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNHg0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKQEAgLTU2NjYsMTggKzQxMTAsMzIgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ0
eDRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3Nh
ZDR4NF9hdmcgdnB4X3NhZDR4NF9hdmdfbmVvbgogCit2b2lkIHZweF9zYWQ0eDR4M19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ0eDR4MyB2cHhfc2FkNHg0eDNfYworCiB2b2lkIHZw
eF9zYWQ0eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNHg0eDRkX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDR4NHg0
ZCB2cHhfc2FkNHg0eDRkX25lb24KIAordm9pZCB2cHhfc2FkNHg0eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OworI2RlZmluZSB2cHhfc2FkNHg0eDggdnB4X3NhZDR4NHg4X2MKKwogdW5zaWduZWQgaW50IHZw
eF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKQEAgLTU3MDIsMTQgKzQxNjAsMTQgQEAgdW5zaWduZWQgaW50IHZweF9z
YWQ0eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNHg4
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDR4OHg0ZF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0eDh4NGQgdnB4X3Nh
ZDR4OHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLApAQCAtNTczNiwxNCArNDE5NCwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0
eDMyX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDMyeDRk
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNk
ZWZpbmUgdnB4X3NhZDY0eDMyeDRkIHZweF9zYWQ2NHgzMng0ZF9uZW9uCiAKIHVuc2lnbmVkIGlu
dCB2cHhfc2FkNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNTc3MCwxNCArNDIy
OCwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDY0eDY0eDRkIHZweF9z
YWQ2NHg2NHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCkBAIC01ODAyLDE4ICs0MjYwLDMyIEBAIHVuc2lnbmVkIGludCB2cHhfc2Fk
OHgxNl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4
X3NhZDh4MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19uZW9uCiAKK3ZvaWQgdnB4X3NhZDh4MTZ4M19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgxNngzIHZweF9zYWQ4eDE2eDNf
YworCiB2b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQg
dnB4X3NhZDh4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgxNng0ZF9uZW9uCiAKK3ZvaWQg
dnB4X3NhZDh4MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgxNng4
IHZweF9zYWQ4eDE2eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtNTgz
OCwxNCArNDMxMCwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9hdmdfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
Owogdm9pZCB2cHhfc2FkOHg0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX25lb24KIAogdW5zaWdu
ZWQgaW50IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNTg3MCwzMDMg
KzQzNDIsMzEgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDh4OF9hdmcgdnB4X3NhZDh4OF9hdmdf
bmVvbgogCit2b2lkIHZweF9zYWQ4eDh4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9z
YWQ4eDh4MyB2cHhfc2FkOHg4eDNfYworCiB2b2lkIHZweF9zYWQ4eDh4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogdm9pZCB2cHhfc2FkOHg4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhfc2FkOHg4eDRkX25lb24KIAot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2IHZweF9zYWRfc2tpcF8xNngxNl9uZW9uCi0KLXZvaWQg
dnB4X3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngxNng0
ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MTZ4NGQg
dnB4X3NhZF9za2lwXzE2eDE2eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8x
NngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMyIHZw
eF9zYWRfc2tpcF8xNngzMl9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MzJ4NGQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX25lb24K
LQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF8xNng4IHZweF9zYWRfc2tpcF8xNng4X25lb24KLQotdm9pZCB2cHhfc2Fk
X3NraXBfMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDh4NGQgdnB4X3NhZF9za2lwXzE2eDh4
NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MTYgdnB4X3NhZF9za2lwXzMyeDE2X25l
b24KLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9z
a2lwXzMyeDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF8zMngxNng0ZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3Nr
aXBfMzJ4MzIgdnB4X3NhZF9za2lwXzMyeDMyX25lb24KLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4
MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8zMngzMng0ZCB2cHhfc2FkX3NraXBfMzJ4
MzJ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4NjQgdnB4X3NhZF9za2lwXzMyeDY0
X25lb24KLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3Nh
ZF9za2lwXzMyeDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRf
c2tpcF8zMng2NHg0ZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4
NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDQgdnB4X3Nh
ZF9za2lwXzR4NF9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4NHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3Nh
ZF9za2lwXzR4NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NHg0
ZCB2cHhfc2FkX3NraXBfNHg0eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDhfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg4IHZweF9zYWRfc2tpcF80eDhfbmVv
bgotCi12b2lkIHZweF9zYWRfc2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF80eDh4NGRf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDh4NGQgdnB4X3NhZF9za2lw
XzR4OHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHgzMiB2cHhfc2FkX3NraXBfNjR4
MzJfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhf
c2FkX3NraXBfNjR4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzY0eDMyeDRkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9uZW9uCi0KLXVuc2lnbmVkIGlu
dCB2cHhfc2FkX3NraXBfNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9z
YWRfc2tpcF82NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9z
YWRfc2tpcF82NHg2NCB2cHhfc2FkX3NraXBfNjR4NjRfbmVvbgotCi12b2lkIHZweF9zYWRfc2tp
cF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzY0eDY0eDRkIHZweF9zYWRfc2tp
cF82NHg2NHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHgxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHgxNiB2cHhfc2FkX3NraXBfOHgxNl9uZW9u
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHgx
Nng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDE2eDRkIHZw
eF9zYWRfc2tpcF84eDE2eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg0IHZweF9zYWRfc2tpcF84eDRfbmVvbgot
Ci12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDR4NGQgdnB4X3NhZF9za2lwXzh4
NHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X3NhZF9za2lwXzh4OCB2cHhfc2FkX3NraXBfOHg4X25lb24KLQotdm9pZCB2cHhfc2Fk
X3NraXBfOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHg4eDRkX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfOHg4eDRkIHZweF9zYWRfc2tpcF84eDh4NGRfbmVvbgordm9p
ZCB2cHhfc2FkOHg4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHg4eDggdnB4
X3NhZDh4OHg4X2MKIAogaW50IHZweF9zYXRkX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGlu
dCBsZW5ndGgpOwogaW50IHZweF9zYXRkX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGlu
dCBsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi92cDhfcnRj
ZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi92cDhfcnRjZC5oCmluZGV4IDEwMjUwMTA5
NDI1NC4uYzRiYjQxYjIxMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9u
L3ZwOF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi92cDhfcnRjZC5oCkBA
IC04Myw2ICs4MywzNiBAQCB2b2lkIHZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4X25lb24odW5zaWdu
ZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3BpdGNoKTsKICNkZWZpbmUgdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDggdnA4X2JpbGluZWFy
X3ByZWRpY3Q4eDhfbmVvbgogCit2b2lkIHZwOF9ibGVuZF9iX2ModW5zaWduZWQgY2hhciogeSwK
KyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAg
ICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAg
ICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwor
I2RlZmluZSB2cDhfYmxlbmRfYiB2cDhfYmxlbmRfYl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX2lu
bmVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX2lubmVyIHZwOF9ibGVuZF9tYl9p
bm5lcl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX291dGVyX2ModW5zaWduZWQgY2hhciogeSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFs
cGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4
X2JsZW5kX21iX291dGVyIHZwOF9ibGVuZF9tYl9vdXRlcl9jCisKIGludCB2cDhfYmxvY2tfZXJy
b3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZmKTsKICNkZWZpbmUgdnA4X2Jsb2NrX2Vy
cm9yIHZwOF9ibG9ja19lcnJvcl9jCiAKQEAgLTI0OSw2ICsyNzksMTcgQEAgdm9pZCB2cDhfZmls
dGVyX2J5X3dlaWdodDh4OF9jKHVuc2lnbmVkIGNoYXIqIHNyYywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7CiAjZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2Vp
Z2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MKIAoraW50IHZwOF9mdWxsX3NlYXJjaF9z
YWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2
YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBt
dmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogY2VudGVy
X212KTsKKyNkZWZpbmUgdnA4X2Z1bGxfc2VhcmNoX3NhZCB2cDhfZnVsbF9zZWFyY2hfc2FkX2MK
Kwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy9saW51eC9hcm0tbmVvbi92cDlfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi92
cDlfcnRjZC5oCmluZGV4IDRjMmE0YWRhZDI2Yy4uZTE3OTU0ZDQzYmRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2xpbnV4L2FybS1uZW9uL3ZwOV9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9hcm0tbmVvbi92cDlfcnRjZC5oCkBAIC0yMSw5ICsyMSw3IEBAIHN0cnVjdCBtYWNyb2Jsb2Nr
ZDsKIAogLyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCiBzdHJ1Y3QgbWFjcm9ibG9jazsKLXN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9zYWRfdGFibGU7Ci1zdHJ1Y3QgU2Nh
bk9yZGVyOworc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGU7CiBzdHJ1Y3Qgc2VhcmNoX3NpdGVf
Y29uZmlnOwogc3RydWN0IG12OwogdW5pb24gaW50X212OwpAQCAtMzcsMTEgKzM1LDcgQEAgaW50
NjRfdCB2cDlfYmxvY2tfZXJyb3JfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9sb3dfdCogZHFjb2VmZiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50cHRyX3QgYmxvY2tfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50NjRfdCogc3N6KTsKLWludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX25lb24oY29uc3Qg
dHJhbl9sb3dfdCogY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRy
YW5fbG93X3QqIGRxY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90
IGJsb2NrX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqIHNzeik7
Ci0jZGVmaW5lIHZwOV9ibG9ja19lcnJvciB2cDlfYmxvY2tfZXJyb3JfbmVvbgorI2RlZmluZSB2
cDlfYmxvY2tfZXJyb3IgdnA5X2Jsb2NrX2Vycm9yX2MKIAogaW50NjRfdCB2cDlfYmxvY2tfZXJy
b3JfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdHJhbl9sb3dfdCogZHFjb2VmZiwKQEAgLTc0LDU0ICs2OCwzMSBAQCBpbnQg
dnA5X2Rlbm9pc2VyX2ZpbHRlcl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNpZywKIGludCB2cDlfZGlh
bW9uZF9zZWFyY2hfc2FkX2MoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiByZWZfbXYsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiBiZXN0X212LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2FkX3Blcl9iaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbnVt
MDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3Rh
YmxlKiBzYWRfZm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci1pbnQgdnA5X2RpYW1vbmRfc2VhcmNo
X3NhZF9uZW9uKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnKiBjZmcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwotI2RlZmluZSB2cDlfZGlhbW9u
ZF9zZWFyY2hfc2FkIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVvbgorI2RlZmluZSB2cDlfZGlh
bW9uZF9zZWFyY2hfc2FkIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYwogCiB2b2lkIHZwOV9maHQx
NngxNl9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2ZodDE2eDE2X25lb24oY29uc3QgaW50
MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwK
LSAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfZmh0MTZ4MTYgdnA5X2ZodDE2eDE2X25lb24K
KyNkZWZpbmUgdnA5X2ZodDE2eDE2IHZwOV9maHQxNngxNl9jCiAKIHZvaWQgdnA5X2ZodDR4NF9j
KGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0
cHV0LAogICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgIGlu
dCB0eF90eXBlKTsKLXZvaWQgdnA5X2ZodDR4NF9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAot
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNk
ZWZpbmUgdnA5X2ZodDR4NCB2cDlfZmh0NHg0X25lb24KKyNkZWZpbmUgdnA5X2ZodDR4NCB2cDlf
Zmh0NHg0X2MKIAogdm9pZCB2cDlfZmh0OHg4X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICBpbnQg
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotdm9pZCB2cDlfZmh0OHg4
X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfZmh0OHg4IHZwOV9maHQ4eDhf
bmVvbgorI2RlZmluZSB2cDlfZmh0OHg4IHZwOV9maHQ4eDhfYwogCiB2b2lkIHZwOV9maWx0ZXJf
Ynlfd2VpZ2h0MTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE3MiwzOCArMTQzLDUwIEBAIHZvaWQg
dnA5X2lodDh4OF82NF9hZGRfbmVvbihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKIAogdm9pZCB2
cDlfcXVhbnRpemVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnA5X3F1YW50aXplX2ZwX25lb24oY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJf
dCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9xdWFudGl6
ZV9mcCB2cDlfcXVhbnRpemVfZnBfbmVvbgogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9j
KGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfbmVvbihj
b25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRl
cik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsK
ICNkZWZpbmUgdnA5X3F1YW50aXplX2ZwXzMyeDMyIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9uZW9u
CiAKIHZvaWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhjb25zdCBzdHJ1Y3QgeXYxMl9i
dWZmZXJfY29uZmlnKiBzcmMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9u
L3ZweF9jb25maWcuYXNtIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi92cHhfY29uZmlnLmFz
bQppbmRleCA4M2M5Nzc4YzY2ZTIuLjU0ZGFlMDhmOGNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy9saW51eC9hcm0tbmVvbi92cHhfY29uZmlnLmFzbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2Fy
bS1uZW9uL3ZweF9jb25maWcuYXNtCkBAIC0xLDEwICsxLDggQEAKIEAgVGhpcyBmaWxlIHdhcyBj
cmVhdGVkIGZyb20gYSAuYXNtIGZpbGUKIEAgIHVzaW5nIHRoZSBhZHMyZ2FzLnBsIHNjcmlwdC4K
LS5zeW50YXggdW5pZmllZAorCS5zeW50YXggdW5pZmllZAogLmVxdSBWUFhfQVJDSF9BUk0gLCAg
MQogLmVxdSBBUkNIX0FSTSAsICAxCi0uZXF1IFZQWF9BUkNIX0FBUkNINjQgLCAgMAotLmVxdSBB
UkNIX0FBUkNINjQgLCAgMAogLmVxdSBWUFhfQVJDSF9NSVBTICwgIDAKIC5lcXUgQVJDSF9NSVBT
ICwgIDAKIC5lcXUgVlBYX0FSQ0hfWDg2ICwgIDAKQEAgLTEzLDEyICsxMSw4IEBACiAuZXF1IEFS
Q0hfWDg2XzY0ICwgIDAKIC5lcXUgVlBYX0FSQ0hfUFBDICwgIDAKIC5lcXUgQVJDSF9QUEMgLCAg
MAotLmVxdSBWUFhfQVJDSF9MT09OR0FSQ0ggLCAgMAotLmVxdSBBUkNIX0xPT05HQVJDSCAsICAw
Ci0uZXF1IEhBVkVfTkVPTl9BU00gLCAgMQogLmVxdSBIQVZFX05FT04gLCAgMQotLmVxdSBIQVZF
X05FT05fRE9UUFJPRCAsICAwCi0uZXF1IEhBVkVfTkVPTl9JOE1NICwgIDAKKy5lcXUgSEFWRV9O
RU9OX0FTTSAsICAxCiAuZXF1IEhBVkVfTUlQUzMyICwgIDAKIC5lcXUgSEFWRV9EU1BSMiAsICAw
CiAuZXF1IEhBVkVfTVNBICwgIDAKQEAgLTM0LDggKzI4LDYgQEAKIC5lcXUgSEFWRV9BVlg1MTIg
LCAgMAogLmVxdSBIQVZFX1ZTWCAsICAwCiAuZXF1IEhBVkVfTU1JICwgIDAKLS5lcXUgSEFWRV9M
U1ggLCAgMAotLmVxdSBIQVZFX0xBU1ggLCAgMAogLmVxdSBIQVZFX1ZQWF9QT1JUUyAsICAxCiAu
ZXF1IEhBVkVfUFRIUkVBRF9IICwgIDEKIC5lcXUgSEFWRV9VTklTVERfSCAsICAwCkBAIC04OCw2
ICs4MCw3IEBACiAuZXF1IENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgLCAgMQogLmVxdSBDT05G
SUdfVEVNUE9SQUxfREVOT0lTSU5HICwgIDEKIC5lcXUgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5P
SVNJTkcgLCAgMQorLmVxdSBDT05GSUdfQ09OU0lTVEVOVF9SRUNPREUgLCAgMAogLmVxdSBDT05G
SUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcgLCAgMAogLmVxdSBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSCAsICAwCiAuZXF1IENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElUWSAsICAwCkBA
IC0xMDAsNyArOTMsNiBAQAogLmVxdSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAsICAwCiAuZXF1
IENPTkZJR19OT05fR1JFRURZX01WICwgIDAKIC5lcXUgQ09ORklHX1JBVEVfQ1RSTCAsICAwCi0u
ZXF1IENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgLCAgMAogLmVxdSBERUNPREVfV0lE
VEhfTElNSVQgLCAgMTYzODQKIC5lcXUgREVDT0RFX0hFSUdIVF9MSU1JVCAsICAxNjM4NAotICAg
IC5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywiIiwlcHJvZ2JpdHMKKwkuc2VjdGlvbgkubm90ZS5H
TlUtc3RhY2ssIiIsJXByb2diaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1u
ZW9uL3ZweF9jb25maWcuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24vdnB4X2NvbmZpZy5j
CmluZGV4IDBhMzFiY2UwMmU1MC4uZjRmMGMxMTJhMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln
L2xpbnV4L2FybS1uZW9uL3ZweF9jb25maWcuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1u
ZW9uL3ZweF9jb25maWcuYwpAQCAtNiw1ICs2LDUgQEAKIC8qIGluIHRoZSBmaWxlIFBBVEVOVFMu
ICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkgKi8KIC8qIGJlIGZvdW5kIGlu
IHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLiAqLwogI2lu
Y2x1ZGUgInZweC92cHhfY29kZWMuaCIKLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjZmcgPSAi
LS10YXJnZXQ9YXJtdjctbGludXgtZ2NjIC0tZGlzYWJsZS1ydW50aW1lLWNwdS1kZXRlY3QgLS1l
bmFibGUtZXh0ZXJuYWwtYnVpbGQgLS1lbmFibGUtcG9zdHByb2MgLS1lbmFibGUtbXVsdGktcmVz
LWVuY29kaW5nIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9pc2luZyAtLWVuYWJsZS12cDktdGVtcG9y
YWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS1wb3N0cHJvYyAtLXNpemUtbGltaXQ9MTYzODR4MTYz
ODQgLS1lbmFibGUtcmVhbHRpbWUtb25seSAtLWRpc2FibGUtaW5zdGFsbC1kb2NzIC0tZGlzYWJs
ZS1saWJ5dXYiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNmZyA9ICItLXRhcmdldD1hcm12
Ny1saW51eC1nY2MgLS1lbmFibGUtZXh0ZXJuYWwtYnVpbGQgLS1lbmFibGUtcG9zdHByb2MgLS1l
bmFibGUtbXVsdGktcmVzLWVuY29kaW5nIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9pc2luZyAtLWVu
YWJsZS12cDktdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS1wb3N0cHJvYyAtLXNpemUt
bGltaXQ9MTYzODR4MTYzODQgLS1lbmFibGUtcmVhbHRpbWUtb25seSAtLWRpc2FibGUtaW5zdGFs
bC1kb2NzIC0tZGlzYWJsZS1saWJ5dXYiOwogY29uc3QgY2hhciAqdnB4X2NvZGVjX2J1aWxkX2Nv
bmZpZyh2b2lkKSB7cmV0dXJuIGNmZzt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2Fy
bS1uZW9uL3ZweF9jb25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtLW5lb24vdnB4X2NvbmZp
Zy5oCmluZGV4IGYwYjM2N2ZkYmIzNS4uOTY5ZjE4NjQ2MDcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybS1uZW9uL3ZweF9jb25maWcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2Fy
bS1uZW9uL3ZweF9jb25maWcuaApAQCAtMTIsOCArMTIsNiBAQAogI2RlZmluZSBJTkxJTkUgICAg
ICBpbmxpbmUKICNkZWZpbmUgVlBYX0FSQ0hfQVJNIDEKICNkZWZpbmUgQVJDSF9BUk0gMQotI2Rl
ZmluZSBWUFhfQVJDSF9BQVJDSDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICNkZWZpbmUg
VlBYX0FSQ0hfTUlQUyAwCiAjZGVmaW5lIEFSQ0hfTUlQUyAwCiAjZGVmaW5lIFZQWF9BUkNIX1g4
NiAwCkBAIC0yMiwxMiArMjAsOCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAwCiAjZGVmaW5lIFZQ
WF9BUkNIX1BQQyAwCiAjZGVmaW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdB
UkNIIDAKLSNkZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDEK
ICNkZWZpbmUgSEFWRV9ORU9OIDEKLSNkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMAotI2RlZmlu
ZSBIQVZFX05FT05fSThNTSAwCisjZGVmaW5lIEhBVkVfTkVPTl9BU00gMQogI2RlZmluZSBIQVZF
X01JUFMzMiAwCiAjZGVmaW5lIEhBVkVfRFNQUjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC00
Myw4ICszNyw2IEBACiAjZGVmaW5lIEhBVkVfQVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAog
I2RlZmluZSBIQVZFX01NSSAwCi0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNY
IDAKICNkZWZpbmUgSEFWRV9WUFhfUE9SVFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMApAQCAtOTcsNiArODksNyBAQAogI2RlZmluZSBDT05GSUdf
TVVMVElfUkVTX0VOQ09ESU5HIDEKICNkZWZpbmUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAx
CiAjZGVmaW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEKKyNkZWZpbmUgQ09ORklH
X0NPTlNJU1RFTlRfUkVDT0RFIDAKICNkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NI
RUNLSU5HIDAKICNkZWZpbmUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggMAogI2RlZmluZSBDT05G
SUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgMApAQCAtMTA5LDcgKzEwMiw2IEBACiAjZGVmaW5l
IENPTkZJR19FTVVMQVRFX0hBUkRXQVJFIDAKICNkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYg
MAogI2RlZmluZSBDT05GSUdfUkFURV9DVFJMIDAKLSNkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09N
UE9ORU5UX1RJTUlORyAwCiAjZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogI2RlZmlu
ZSBERUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBYX0NPTkZJR19IICovCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uL3ZweF9kc3BfcnRjZC5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9saW51eC9hcm0tbmVvbi92cHhfZHNwX3J0Y2QuaAppbmRleCA4MmIyYjNmZmE0NzIu
LjljMzE0OTc4NzZjNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0tbmVvbi92cHhf
ZHNwX3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS1uZW9uL3ZweF9kc3BfcnRjZC5o
CkBAIC0xNSwxMCArMTUsNiBAQAogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgogI2luY2x1
ZGUgInZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9maWx0
ZXIuaCIKLSNpZiBDT05GSUdfVlA5X0VOQ09ERVIKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwot
c3RydWN0IFNjYW5PcmRlcjsKLSNlbmRpZgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAi
QyIgewpAQCAtMjQyLDQxICsyMzgsMjUgQEAgdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZf
Yyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0j
ZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZf
bmVvbgorI2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QxMTdfcHJlZGljdG9y
XzE2eDE2X2MKIAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4
X2QxMTdfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3
X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2
cHhfZDExN19wcmVkaWN0b3JfMzJ4MzIgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9p
ZCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVv
bih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVkaWN0
b3JfNHg0X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVk
aWN0b3JfNHg0X2MKIAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3
X3ByZWRpY3Rvcl84eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzh4
OCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9y
Xzh4OCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3Jf
MTZ4MTZfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCkBAIC0zMjIsODEgKzMwMiw0OSBAQCB2b2lkIHZweF9kMTUzX3ByZWRp
Y3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2IHZweF9kMTUzX3ByZWRp
Y3Rvcl8xNngxNl9uZW9uCisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDE1
M19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jKHVp
bnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQp
Owotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZp
bmUgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9uZW9u
CisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMiB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4
MzJfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJlZGlj
dG9yXzR4NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9k
MTUzX3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZw
eF9kMTUzX3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYyh1
aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZv
aWQgdnB4X2QxNTNfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19w
cmVkaWN0b3JfOHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfZDE1
M19wcmVkaWN0b3JfOHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kMjA3
X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVv
bih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9kMjA3
X3ByZWRpY3Rvcl8xNngxNl9uZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNiB2
cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngz
Ml9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngz
Ml9uZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDIwN19wcmVkaWN0
b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdf
cHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0
IHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3Jf
NHg0IHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl84
eDhfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
YWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0
KTsKLXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhf
ZDIwN19wcmVkaWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2
cHhfZDIwN19wcmVkaWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZw
eF9kNDVfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC00NDgsNDEgKzM5NiwyNSBAQCB2b2lk
IHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2
X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2IHZweF9kNjNf
cHJlZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTYgdnB4
X2Q2M19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2Mo
dWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7
Ci12b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZw
eF9kNjNfcHJlZGljdG9yXzMyeDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZp
bmUgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2
b2lkIHZweF9kNjNfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfbmVvbih1
aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0
KTsKLSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfNHg0IHZweF9kNjNfcHJlZGljdG9yXzR4NF9u
ZW9uCisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzR4NCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRf
YwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhf
bmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfOHg4IHZweF9kNjNfcHJlZGljdG9y
Xzh4OF9uZW9uCisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzh4OCB2cHhfZDYzX3ByZWRpY3Rv
cl84eDhfYwogCiB2b2lkIHZweF9kNjNlX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtNzgwLDEw
ICs3MTIsNyBAQCB2b2lkIHZweF9oYWRhbWFyZF8xNngxNl9uZW9uKGNvbnN0IGludDE2X3QqIHNy
Y19kaWZmLAogdm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzJfYyhjb25zdCBpbnQxNl90KiBzcmNfZGlm
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGNvZWZmKTsKLXZvaWQgdnB4X2hhZGFtYXJk
XzMyeDMyX25lb24oY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQxNl90KiBjb2VmZik7Ci0jZGVmaW5lIHZweF9oYWRhbWFyZF8zMngzMiB2cHhfaGFk
YW1hcmRfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFtYXJk
XzMyeDMyX2MKIAogdm9pZCB2cHhfaGFkYW1hcmRfOHg4X2MoY29uc3QgaW50MTZfdCogc3JjX2Rp
ZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTg4
MywxMSArODEyLDExIEBAIGludDE2X3QgdnB4X2ludF9wcm9fY29sX2MoY29uc3QgdWludDhfdCog
cmVmLCBjb25zdCBpbnQgd2lkdGgpOwogaW50MTZfdCB2cHhfaW50X3Byb19jb2xfbmVvbihjb25z
dCB1aW50OF90KiByZWYsIGNvbnN0IGludCB3aWR0aCk7CiAjZGVmaW5lIHZweF9pbnRfcHJvX2Nv
bCB2cHhfaW50X3Byb19jb2xfbmVvbgogCi12b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3Qg
aGJ1ZlsxNl0sCit2b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3QqIGhidWYsCiAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dCBoZWlnaHQpOwotdm9pZCB2cHhfaW50X3Byb19yb3dfbmVvbihpbnQxNl90IGhidWZbMTZdLAor
dm9pZCB2cHhfaW50X3Byb19yb3dfbmVvbihpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQgaGVpZ2h0KTsKQEAgLTExMjIsMzYgKzEwNTEsMjEgQEAgdW5zaWduZWQgaW50IHZweF9tc2Ux
Nng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKLXVuc2lnbmVkIGludCB2cHhfbXNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X21zZTE2eDggdnB4X21z
ZTE2eDhfbmVvbgorI2RlZmluZSB2cHhfbXNlMTZ4OCB2cHhfbXNlMTZ4OF9jCiAKIHVuc2lnbmVk
IGludCB2cHhfbXNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKLXVuc2lnbmVkIGludCB2cHhfbXNlOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X21zZTh4MTYgdnB4X21z
ZTh4MTZfbmVvbgorI2RlZmluZSB2cHhfbXNlOHgxNiB2cHhfbXNlOHgxNl9jCiAKIHVuc2lnbmVk
IGludCB2cHhfbXNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X21zZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfbXNlOHg4IHZweF9tc2U4eDhfbmVvbgor
I2RlZmluZSB2cHhfbXNlOHg4IHZweF9tc2U4eDhfYwogCiB2b2lkIHZweF9wbGFuZV9hZGRfbm9p
c2VfYyh1aW50OF90KiBzdGFydCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDhfdCogbm9pc2UsCkBAIC0xMTgxLDM2ICsxMDk1LDU4IEBAIHZvaWQgdnB4X3Bvc3RfcHJvY19k
b3duX2FuZF9hY3Jvc3NfbWJfcm93X25lb24odW5zaWduZWQgY2hhciogc3JjLAogCiB2b2lkIHZw
eF9xdWFudGl6ZV9iX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3Vu
ZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3Jk
ZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwog
dm9pZCB2cHhfcXVhbnRpemVfYl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBk
ZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2Fu
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZp
bmUgdnB4X3F1YW50aXplX2IgdnB4X3F1YW50aXplX2JfbmVvbgogCiB2b2lkIHZweF9xdWFudGl6
ZV9iXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9uZW9uKGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZp
bmUgdnB4X3F1YW50aXplX2JfMzJ4MzIgdnB4X3F1YW50aXplX2JfMzJ4MzJfbmVvbgogCiB1bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTEyMzUs
MTggKzExNzEsMzIgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9hdmdfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQxNngxNl9hdmcgdnB4X3Nh
ZDE2eDE2X2F2Z19uZW9uCiAKK3ZvaWQgdnB4X3NhZDE2eDE2eDNfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9zYWQxNngxNngzIHZweF9zYWQxNngxNngzX2MKKwogdm9pZCB2
cHhfc2FkMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhf
c2FkMTZ4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMTZ4MTZ4NGQgdnB4X3NhZDE2eDE2eDRkX25lb24KIAor
dm9pZCB2cHhfc2FkMTZ4MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4
X3NhZDE2eDE2eDggdnB4X3NhZDE2eDE2eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLApAQCAtMTI3MSwxNCArMTIyMSwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2
eDMyX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDE2eDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDMyeDRk
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNk
ZWZpbmUgdnB4X3NhZDE2eDMyeDRkIHZweF9zYWQxNngzMng0ZF9uZW9uCiAKIHVuc2lnbmVkIGlu
dCB2cHhfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xMzAzLDE4ICsxMjUz
LDMyIEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDhfYXZnIHZweF9zYWQxNng4X2F2Z19u
ZW9uCiAKK3ZvaWQgdnB4X3NhZDE2eDh4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2
cHhfc2FkMTZ4OHgzIHZweF9zYWQxNng4eDNfYworCiB2b2lkIHZweF9zYWQxNng4eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDh4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMTZ4OHg0ZCB2
cHhfc2FkMTZ4OHg0ZF9uZW9uCiAKK3ZvaWQgdnB4X3NhZDE2eDh4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOworI2RlZmluZSB2cHhfc2FkMTZ4OHg4IHZweF9zYWQxNng4eDhfYworCiB1bnNpZ25lZCBp
bnQgdnB4X3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtMTMzOSwxNCArMTMwMywxNCBAQCB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDMyeDE2X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZv
aWQgdnB4X3NhZDMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQg
dnB4X3NhZDMyeDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDMyeDE2eDRkIHZweF9zYWQzMngxNng0ZF9uZW9u
CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApA
QCAtMTM3MywxNiArMTMzNywyMyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2F2Z19uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMyeDMyeDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDMyeDMyeDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3Nh
ZDMyeDMyeDRkIHZweF9zYWQzMngzMng0ZF9uZW9uCiAKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQzMngzMng4IHZweF9zYWQzMngz
Mng4X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTE0MDcsMTQg
KzEzNzgsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMng2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMng2NHg0ZCB2
cHhfc2FkMzJ4NjR4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCkBAIC0xNDM5LDE4ICsxNDEwLDMyIEBAIHVuc2lnbmVkIGludCB2cHhf
c2FkNHg0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZw
eF9zYWQ0eDRfYXZnIHZweF9zYWQ0eDRfYXZnX25lb24KIAordm9pZCB2cHhfc2FkNHg0eDNfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDMgdnB4X3NhZDR4NHgzX2MKKwogdm9p
ZCB2cHhfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDR4NHg0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0
eDR4NGQgdnB4X3NhZDR4NHg0ZF9uZW9uCiAKK3ZvaWQgdnB4X3NhZDR4NHg4X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKKyNkZWZpbmUgdnB4X3NhZDR4NHg4IHZweF9zYWQ0eDR4OF9jCisKIHVuc2lnbmVkIGlu
dCB2cHhfc2FkNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC0xNDc1LDE0ICsxNDYwLDE0IEBAIHVuc2lnbmVkIGludCB2
cHhfc2FkNHg4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3Nh
ZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ0eDh4NGRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg4eDRkIHZw
eF9zYWQ0eDh4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKQEAgLTE1MDksMTQgKzE0OTQsMTQgQEAgdW5zaWduZWQgaW50IHZweF9z
YWQ2NHgzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ2
NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHgz
Mng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiAjZGVmaW5lIHZweF9zYWQ2NHgzMng0ZCB2cHhfc2FkNjR4MzJ4NGRfbmVvbgogCiB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE1NDMsMTQg
KzE1MjgsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9hdmdfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ2NHg2NHg0ZCB2
cHhfc2FkNjR4NjR4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLApAQCAtMTU3NSwxOCArMTU2MCwzMiBAQCB1bnNpZ25lZCBpbnQgdnB4
X3NhZDh4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5l
IHZweF9zYWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9hdmdfbmVvbgogCit2b2lkIHZweF9zYWQ4eDE2
eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4MTZ4MyB2cHhfc2FkOHgx
NngzX2MKKwogdm9pZCB2cHhfc2FkOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2
b2lkIHZweF9zYWQ4eDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4MTZ4NGQgdnB4X3NhZDh4MTZ4NGRfbmVvbgogCit2
b2lkIHZweF9zYWQ4eDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4
MTZ4OCB2cHhfc2FkOHgxNng4X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAg
LTE2MTEsMTQgKzE2MTAsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkOHg0eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKIHZvaWQgdnB4X3NhZDh4NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3NhZDh4NHg0ZF9uZW9uCiAKIHVu
c2lnbmVkIGludCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE2NDMs
MzAzICsxNjQyLDMxIEBAIHVuc2lnbmVkIGludCB2cHhfc2FkOHg4X2F2Z19uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhf
YXZnX25lb24KIAordm9pZCB2cHhfc2FkOHg4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2
cHhfc2FkOHg4eDMgdnB4X3NhZDh4OHgzX2MKKwogdm9pZCB2cHhfc2FkOHg4eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDh4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDh4NGQgdnB4X3NhZDh4OHg0ZF9uZW9u
CiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNiB2cHhfc2FkX3NraXBfMTZ4MTZfbmVvbgotCi12
b2lkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4
MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2
eDRkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngz
Ml9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngz
MiB2cHhfc2FkX3NraXBfMTZ4MzJfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMyeDRkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9u
ZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfMTZ4OCB2cHhfc2FkX3NraXBfMTZ4OF9uZW9uCi0KLXZvaWQgdnB4
X3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNng4eDRkIHZweF9zYWRfc2tpcF8x
Nng4eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDE2IHZweF9zYWRfc2tpcF8zMngx
Nl9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9z
YWRfc2tpcF8zMngxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2Fk
X3NraXBfMzJ4MTZ4NGQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX25lb24KLQotdW5zaWduZWQgaW50
IHZweF9zYWRfc2tpcF8zMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Nh
ZF9za2lwXzMyeDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzMyeDMyIHZweF9zYWRfc2tpcF8zMngzMl9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lw
XzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MzJ4NGQgdnB4X3NhZF9za2lw
XzMyeDMyeDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDY0IHZweF9zYWRfc2tpcF8z
Mng2NF9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhf
c2FkX3NraXBfMzJ4NjR4NGQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX25lb24KLQotdW5zaWduZWQg
aW50IHZweF9zYWRfc2tpcF80eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tp
cF80eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg0IHZw
eF9zYWRfc2tpcF80eDRfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF80eDR4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9zYWRfc2tpcF80eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80
eDR4NGQgdnB4X3NhZF9za2lwXzR4NHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg4X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4OCB2cHhfc2FkX3NraXBfNHg4
X25lb24KLQotdm9pZCB2cHhfc2FkX3NraXBfNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNHg4
eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg4eDRkIHZweF9zYWRf
c2tpcF80eDh4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4MzIgdnB4X3NhZF9za2lw
XzY0eDMyX25lb24KLQotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZF9za2lwXzY0eDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF82NHgzMng0ZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbgotCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfNjR4NjRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfc2FkX3NraXBfNjR4NjQgdnB4X3NhZF9za2lwXzY0eDY0X25lb24KLQotdm9pZCB2cHhfc2Fk
X3NraXBfNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHg2NHg0ZCB2cHhfc2Fk
X3NraXBfNjR4NjR4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTYgdnB4X3NhZF9za2lwXzh4MTZf
bmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lw
Xzh4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHgxNng0
ZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
OHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg0X25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4NCB2cHhfc2FkX3NraXBfOHg0X25l
b24KLQotdm9pZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHg0eDRk
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg0eDRkIHZweF9zYWRfc2tp
cF84eDR4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0j
ZGVmaW5lIHZweF9zYWRfc2tpcF84eDggdnB4X3NhZF9za2lwXzh4OF9uZW9uCi0KLXZvaWQgdnB4
X3NhZF9za2lwXzh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzh4OHg0ZF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4OHg0ZCB2cHhfc2FkX3NraXBfOHg4eDRkX25lb24K
K3ZvaWQgdnB4X3NhZDh4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4OHg4
IHZweF9zYWQ4eDh4OF9jCiAKIGludCB2cHhfc2F0ZF9jKGNvbnN0IGludDE2X3QqIGNvZWZmLCBp
bnQgbGVuZ3RoKTsKIGludCB2cHhfc2F0ZF9uZW9uKGNvbnN0IGludDE2X3QqIGNvZWZmLCBpbnQg
bGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtL3ZwOF9ydGNkLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2xpbnV4L2FybS92cDhfcnRjZC5oCmluZGV4IGU1OTYzYzI0OGI5MC4uZTk1ZGVj
NTFjMjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS92cDhfcnRjZC5oCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9jb25maWcvbGludXgvYXJtL3ZwOF9ydGNkLmgKQEAgLTU5LDYgKzU5LDM2IEBAIHZvaWQg
dnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfYyh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwogI2RlZmluZSB2cDhfYmls
aW5lYXJfcHJlZGljdDh4OCB2cDhfYmlsaW5lYXJfcHJlZGljdDh4OF9jCiAKK3ZvaWQgdnA4X2Js
ZW5kX2JfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIqIHUsCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisgICAgICAgICAg
ICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9iIHZwOF9ibGVuZF9i
X2MKKwordm9pZCB2cDhfYmxlbmRfbWJfaW5uZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxl
bmRfbWJfaW5uZXIgdnA4X2JsZW5kX21iX2lubmVyX2MKKwordm9pZCB2cDhfYmxlbmRfbWJfb3V0
ZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfb3V0ZXIgdnA4X2JsZW5kX21iX291
dGVyX2MKKwogaW50IHZwOF9ibG9ja19lcnJvcl9jKHNob3J0KiBjb2VmZiwgc2hvcnQqIGRxY29l
ZmYpOwogI2RlZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4X2Jsb2NrX2Vycm9yX2MKIApAQCAtMTc1
LDYgKzIwNSwxNyBAQCB2b2lkIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2ModW5zaWduZWQgY2hh
ciogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2VpZ2h0KTsK
ICNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDggdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDhf
YwogCitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jKHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
aW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Bl
cl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworI2RlZmluZSB2cDhfZnVsbF9zZWFyY2hf
c2FkIHZwOF9mdWxsX3NlYXJjaF9zYWRfYworCiB2b2lkIHZwOF9sb29wX2ZpbHRlcl9iaF9jKHVu
c2lnbmVkIGNoYXIqIHlfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBj
aGFyKiB1X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdl9w
dHIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS92cDlfcnRjZC5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2Nv
bmZpZy9saW51eC9hcm0vdnA5X3J0Y2QuaAppbmRleCA1NWM3MDNkOWJlNDQuLjU0NjVmYzBlY2M1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0vdnA5X3J0Y2QuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2xpbnV4L2FybS92cDlfcnRjZC5oCkBAIC0yMSw5ICsyMSw3IEBAIHN0cnVjdCBtYWNy
b2Jsb2NrZDsKIAogLyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCiBzdHJ1Y3QgbWFjcm9ibG9j
azsKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9zYWRfdGFibGU7Ci1zdHJ1
Y3QgU2Nhbk9yZGVyOworc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGU7CiBzdHJ1Y3Qgc2VhcmNo
X3NpdGVfY29uZmlnOwogc3RydWN0IG12OwogdW5pb24gaW50X212OwpAQCAtNTgsMTIgKzU2LDEx
IEBAIGludCB2cDlfZGVub2lzZXJfZmlsdGVyX2MoY29uc3QgdWludDhfdCogc2lnLAogaW50IHZw
OV9kaWFtb25kX3NlYXJjaF9zYWRfYyhjb25zdCBzdHJ1Y3QgbWFjcm9ibG9jayogeCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyog
Y2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIHJlZl9tdiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfbXZfc2FkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzZWFyY2hfcGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzYWRfcGVyX2JpdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
KiBudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZwOV9z
YWRfdGFibGUqIHNhZF9mbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiogY2VudGVyX212KTsKICNkZWZpbmUgdnA5X2RpYW1v
bmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MKIApAQCAtMTIyLDIyICsxMTks
MjggQEAgdm9pZCB2cDlfaWh0OHg4XzY0X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAog
CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cDlfcXVhbnRpemVfZnAg
dnA5X3F1YW50aXplX2ZwX2MKIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYyhjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0
cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCog
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5P
cmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGlzY2FuKTsKICNkZWZpbmUgdnA5X3F1YW50aXplX2ZwXzMyeDMyIHZwOV9xdWFudGl6
ZV9mcF8zMngzMl9jCiAKIHZvaWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhjb25zdCBz
dHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xp
bnV4L2FybS92cHhfY29uZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtL3ZweF9jb25maWcu
YXNtCmluZGV4IGUzYzNlNjlmOGQ2Mi4uNDUxODAzZDQ1N2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybS92cHhfY29uZmlnLmFzbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS92
cHhfY29uZmlnLmFzbQpAQCAtMSwxMCArMSw4IEBACiBAIFRoaXMgZmlsZSB3YXMgY3JlYXRlZCBm
cm9tIGEgLmFzbSBmaWxlCiBAICB1c2luZyB0aGUgYWRzMmdhcy5wbCBzY3JpcHQuCi0uc3ludGF4
IHVuaWZpZWQKKwkuc3ludGF4IHVuaWZpZWQKIC5lcXUgVlBYX0FSQ0hfQVJNICwgIDEKIC5lcXUg
QVJDSF9BUk0gLCAgMQotLmVxdSBWUFhfQVJDSF9BQVJDSDY0ICwgIDAKLS5lcXUgQVJDSF9BQVJD
SDY0ICwgIDAKIC5lcXUgVlBYX0FSQ0hfTUlQUyAsICAwCiAuZXF1IEFSQ0hfTUlQUyAsICAwCiAu
ZXF1IFZQWF9BUkNIX1g4NiAsICAwCkBAIC0xMywxMiArMTEsOCBAQAogLmVxdSBBUkNIX1g4Nl82
NCAsICAwCiAuZXF1IFZQWF9BUkNIX1BQQyAsICAwCiAuZXF1IEFSQ0hfUFBDICwgIDAKLS5lcXUg
VlBYX0FSQ0hfTE9PTkdBUkNIICwgIDAKLS5lcXUgQVJDSF9MT09OR0FSQ0ggLCAgMAotLmVxdSBI
QVZFX05FT05fQVNNICwgIDAKIC5lcXUgSEFWRV9ORU9OICwgIDAKLS5lcXUgSEFWRV9ORU9OX0RP
VFBST0QgLCAgMAotLmVxdSBIQVZFX05FT05fSThNTSAsICAwCisuZXF1IEhBVkVfTkVPTl9BU00g
LCAgMAogLmVxdSBIQVZFX01JUFMzMiAsICAwCiAuZXF1IEhBVkVfRFNQUjIgLCAgMAogLmVxdSBI
QVZFX01TQSAsICAwCkBAIC0zNCw4ICsyOCw2IEBACiAuZXF1IEhBVkVfQVZYNTEyICwgIDAKIC5l
cXUgSEFWRV9WU1ggLCAgMAogLmVxdSBIQVZFX01NSSAsICAwCi0uZXF1IEhBVkVfTFNYICwgIDAK
LS5lcXUgSEFWRV9MQVNYICwgIDAKIC5lcXUgSEFWRV9WUFhfUE9SVFMgLCAgMQogLmVxdSBIQVZF
X1BUSFJFQURfSCAsICAxCiAuZXF1IEhBVkVfVU5JU1REX0ggLCAgMApAQCAtODgsNiArODAsNyBA
QAogLmVxdSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5HICwgIDEKIC5lcXUgQ09ORklHX1RFTVBP
UkFMX0RFTk9JU0lORyAsICAxCiAuZXF1IENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HICwg
IDEKKy5lcXUgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFICwgIDAKIC5lcXUgQ09ORklHX0NPRUZG
SUNJRU5UX1JBTkdFX0NIRUNLSU5HICwgIDAKIC5lcXUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgg
LCAgMAogLmVxdSBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgLCAgMApAQCAtMTAwLDcg
KzkzLDYgQEAKIC5lcXUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUgLCAgMAogLmVxdSBDT05GSUdf
Tk9OX0dSRUVEWV9NViAsICAwCiAuZXF1IENPTkZJR19SQVRFX0NUUkwgLCAgMAotLmVxdSBDT05G
SUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HICwgIDAKIC5lcXUgREVDT0RFX1dJRFRIX0xJTUlU
ICwgIDE2Mzg0CiAuZXF1IERFQ09ERV9IRUlHSFRfTElNSVQgLCAgMTYzODQKLSAgICAuc2VjdGlv
biAubm90ZS5HTlUtc3RhY2ssIiIsJXByb2diaXRzCisJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNr
LCIiLCVwcm9nYml0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0vdnB4X2NvbmZp
Zy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0vdnB4X2NvbmZpZy5jCmluZGV4IDhjMWE4M2IyYjZk
Zi4uYjBkMjNlNzJmZWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybS92cHhfY29u
ZmlnLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm0vdnB4X2NvbmZpZy5jCkBAIC02LDUgKzYs
NSBAQAogLyogaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBh
dXRob3JzIG1heSAqLwogLyogYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlIHRyZWUuICovCiAjaW5jbHVkZSAidnB4L3ZweF9jb2RlYy5oIgotc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IGNmZyA9ICItLXRhcmdldD1hcm12Ny1saW51eC1nY2MgLS1k
aXNhYmxlLW5lb24gLS1kaXNhYmxlLXJ1bnRpbWUtY3B1LWRldGVjdCAtLWVuYWJsZS1leHRlcm5h
bC1idWlsZCAtLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcgLS1l
bmFibGUtdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1kZW5vaXNpbmcg
LS1lbmFibGUtdnA5LXBvc3Rwcm9jIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCAtLWVuYWJsZS1y
ZWFsdGltZS1vbmx5IC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgLS1kaXNhYmxlLWxpYnl1diI7Citz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgY2ZnID0gIi0tdGFyZ2V0PWFybXY3LWxpbnV4LWdjYyAt
LWRpc2FibGUtbmVvbiAtLWVuYWJsZS1leHRlcm5hbC1idWlsZCAtLWVuYWJsZS1wb3N0cHJvYyAt
LWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcgLS1lbmFibGUtdGVtcG9yYWwtZGVub2lzaW5nIC0t
ZW5hYmxlLXZwOS10ZW1wb3JhbC1kZW5vaXNpbmcgLS1lbmFibGUtdnA5LXBvc3Rwcm9jIC0tc2l6
ZS1saW1pdD0xNjM4NHgxNjM4NCAtLWVuYWJsZS1yZWFsdGltZS1vbmx5IC0tZGlzYWJsZS1pbnN0
YWxsLWRvY3MgLS1kaXNhYmxlLWxpYnl1diI7CiBjb25zdCBjaGFyICp2cHhfY29kZWNfYnVpbGRf
Y29uZmlnKHZvaWQpIHtyZXR1cm4gY2ZnO30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgv
YXJtL3ZweF9jb25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtL3ZweF9jb25maWcuaAppbmRl
eCBiMTIzNzYyM2Q1YTguLmVlMzIyNWZjOWQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9hcm0vdnB4X2NvbmZpZy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtL3ZweF9jb25maWcu
aApAQCAtMTIsOCArMTIsNiBAQAogI2RlZmluZSBJTkxJTkUgICAgICBpbmxpbmUKICNkZWZpbmUg
VlBYX0FSQ0hfQVJNIDEKICNkZWZpbmUgQVJDSF9BUk0gMQotI2RlZmluZSBWUFhfQVJDSF9BQVJD
SDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICNkZWZpbmUgVlBYX0FSQ0hfTUlQUyAwCiAj
ZGVmaW5lIEFSQ0hfTUlQUyAwCiAjZGVmaW5lIFZQWF9BUkNIX1g4NiAwCkBAIC0yMiwxMiArMjAs
OCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAwCiAjZGVmaW5lIFZQWF9BUkNIX1BQQyAwCiAjZGVm
aW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNIIDAKLSNkZWZpbmUgQVJD
SF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDAKICNkZWZpbmUgSEFWRV9ORU9O
IDAKLSNkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMAotI2RlZmluZSBIQVZFX05FT05fSThNTSAw
CisjZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZFX01JUFMzMiAwCiAjZGVmaW5l
IEhBVkVfRFNQUjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC00Myw4ICszNyw2IEBACiAjZGVm
aW5lIEhBVkVfQVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAogI2RlZmluZSBIQVZFX01NSSAw
Ci0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAKICNkZWZpbmUgSEFWRV9W
UFhfUE9SVFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMApAQCAtOTcsNiArODksNyBAQAogI2RlZmluZSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5H
IDEKICNkZWZpbmUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAxCiAjZGVmaW5lIENPTkZJR19W
UDlfVEVNUE9SQUxfREVOT0lTSU5HIDEKKyNkZWZpbmUgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RF
IDAKICNkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HIDAKICNkZWZpbmUg
Q09ORklHX1ZQOV9ISUdIQklUREVQVEggMAogI2RlZmluZSBDT05GSUdfQkVUVEVSX0hXX0NPTVBB
VElCSUxJVFkgMApAQCAtMTA5LDcgKzEwMiw2IEBACiAjZGVmaW5lIENPTkZJR19FTVVMQVRFX0hB
UkRXQVJFIDAKICNkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYgMAogI2RlZmluZSBDT05GSUdf
UkFURV9DVFJMIDAKLSNkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAwCiAj
ZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogI2RlZmluZSBERUNPREVfSEVJR0hUX0xJ
TUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBYX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybS92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtL3ZweF9k
c3BfcnRjZC5oCmluZGV4IDBhMzYxZTYwZjE5OC4uNzkyZDUwZmJkZWY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2xpbnV4L2FybS92cHhfZHNwX3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4
L2FybS92cHhfZHNwX3J0Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNpbmNsdWRlICJ2cHgvdnB4
X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgiCiAjaW5jbHVk
ZSAidnB4X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9FTkNPREVSCi1zdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5kaWYKIAogI2lmZGVmIF9f
Y3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKQEAgLTUzOSw3ICs1MzUsNyBAQCB2b2lkIHZweF9pZGN0
OHg4XzY0X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQg
c3RyaWRlKTsKIGludDE2X3QgdnB4X2ludF9wcm9fY29sX2MoY29uc3QgdWludDhfdCogcmVmLCBj
b25zdCBpbnQgd2lkdGgpOwogI2RlZmluZSB2cHhfaW50X3Byb19jb2wgdnB4X2ludF9wcm9fY29s
X2MKIAotdm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhf
aW50X3Byb19yb3dfYyhpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKQEAgLTcxOCwy
MSArNzE0LDMyIEBAIHZvaWQgdnB4X3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfbWJfcm93X2Mo
dW5zaWduZWQgY2hhciogc3JjLAogCiB2b2lkIHZweF9xdWFudGl6ZV9iX2MoY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZz
LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBj
b25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29l
ZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYiB2cHhf
cXVhbnRpemVfYl9jCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
c2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2Nh
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAj
ZGVmaW5lIHZweF9xdWFudGl6ZV9iXzMyeDMyIHZweF9xdWFudGl6ZV9iXzMyeDMyX2MKIAogdW5z
aWduZWQgaW50IHZweF9zYWQxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC03NDgs
MTMgKzc1NSwyNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2X2F2ZyB2cHhfc2FkMTZ4MTZf
YXZnX2MKIAordm9pZCB2cHhfc2FkMTZ4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNk
ZWZpbmUgdnB4X3NhZDE2eDE2eDMgdnB4X3NhZDE2eDE2eDNfYworCiB2b2lkIHZweF9zYWQxNngx
Nng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngx
Nng0ZCB2cHhfc2FkMTZ4MTZ4NGRfYwogCit2b2lkIHZweF9zYWQxNngxNng4X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4MTZ4OCB2cHhfc2FkMTZ4MTZ4OF9jCisK
IHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC03NzAsOSArNzkxLDkgQEAg
dW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
CiB2b2lkIHZweF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAj
ZGVmaW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQg
dnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNzg4LDEzICs4MDksMjcg
QEAgdW5zaWduZWQgaW50IHZweF9zYWQxNng4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwogI2RlZmluZSB2cHhfc2FkMTZ4OF9hdmcgdnB4X3NhZDE2eDhfYXZnX2MKIAordm9pZCB2
cHhfc2FkMTZ4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDMg
dnB4X3NhZDE2eDh4M19jCisKIHZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMTZ4OHg0ZCB2cHhfc2FkMTZ4OHg0ZF9jCiAKK3ZvaWQg
dnB4X3NhZDE2eDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4OHg4
IHZweF9zYWQxNng4eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApA
QCAtODEwLDkgKzg0NSw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMzJ4MTZ4NGQgdnB4X3NhZDMyeDE2eDRk
X2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CkBAIC04MzAsMTEgKzg2NSwxOCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2F2Z19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMyeDMyeDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10s
CiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDMyeDMyeDRkIHZweF9zYWQzMngz
Mng0ZF9jCiAKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9zYWQzMngzMng4IHZweF9zYWQzMngzMng4X2MKKwogdW5zaWduZWQgaW50IHZw
eF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTg1MCw5ICs4OTIsOSBAQCB1bnNpZ25lZCBpbnQgdnB4
X3NhZDMyeDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMy
eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDMy
eDY0eDRkIHZweF9zYWQzMng2NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNHg0X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTg2OCwxMyArOTEwLDI3IEBAIHVuc2lnbmVkIGludCB2
cHhfc2FkNHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9z
YWQ0eDRfYXZnIHZweF9zYWQ0eDRfYXZnX2MKIAordm9pZCB2cHhfc2FkNHg0eDNfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDMgdnB4X3NhZDR4NHgzX2MKKwogdm9pZCB2cHhf
c2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDR4NHg0ZCB2cHhf
c2FkNHg0eDRkX2MKIAordm9pZCB2cHhfc2FkNHg0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmlu
ZSB2cHhfc2FkNHg0eDggdnB4X3NhZDR4NHg4X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQ0eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKQEAgLTg5MCw5ICs5NDYsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4OF9hdmdfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg4eDRkIHZweF9zYWQ0eDh4NGRfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTkxMCw5ICs5
NjYsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKICNkZWZpbmUgdnB4X3NhZDY0eDMyeDRkIHZweF9zYWQ2NHgzMng0ZF9jCiAKIHVuc2ln
bmVkIGludCB2cHhfc2FkNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtOTMwLDkg
Kzk4Niw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4NjR4NGQgdnB4X3NhZDY0eDY0eDRkX2MKIAogdW5z
aWduZWQgaW50IHZweF9zYWQ4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTk0OCwx
MyArMTAwNCwyNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYXZnX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9hdmdf
YwogCit2b2lkIHZweF9zYWQ4eDE2eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4
X3NhZDh4MTZ4MyB2cHhfc2FkOHgxNngzX2MKKwogdm9pZCB2cHhfc2FkOHgxNng0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDE2eDRkIHZweF9zYWQ4eDE2eDRk
X2MKIAordm9pZCB2cHhfc2FkOHgxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZw
eF9zYWQ4eDE2eDggdnB4X3NhZDh4MTZ4OF9jCisKIHVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCkBAIC05NzAsOSArMTA0MCw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2F2Z19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3NhZDh4NHg0ZF9jCiAKIHVuc2lnbmVk
IGludCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTk4OCwxODEgKzEw
NTgsMjYgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDh4OF9hdmcgdnB4X3NhZDh4OF9hdmdfYwogCit2b2lk
IHZweF9zYWQ4eDh4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4MyB2cHhf
c2FkOHg4eDNfYworCiB2b2lkIHZweF9zYWQ4eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfc2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfYwogCi11bnNpZ25lZCBpbnQgdnB4X3Nh
ZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2
IHZweF9zYWRfc2tpcF8xNngxNl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNng0ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRf
YwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMyIHZweF9zYWRfc2tpcF8xNngzMl9jCi0KLXZvaWQgdnB4
X3NhZF9za2lwXzE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngzMng0
ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OCB2cHhfc2FkX3NraXBf
MTZ4OF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2Fk
X3NraXBfMTZ4OHg0ZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhf
c2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4
MTYgdnB4X3NhZF9za2lwXzMyeDE2X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDE2eDRkIHZweF9zYWRfc2tpcF8zMngxNng0
ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MzIgdnB4X3NhZF9za2lwXzMyeDMyX2MKLQotdm9pZCB2
cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDMy
eDRkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
MzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4NjQgdnB4X3Nh
ZF9za2lwXzMyeDY0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzMyeDY0eDRkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jCi0KLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9z
a2lwXzR4NCB2cHhfc2FkX3NraXBfNHg0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfNHg0eDRkIHZweF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF80eDggdnB4X3NhZF9za2lwXzR4OF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRkX2MKLQotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9z
YWRfc2tpcF82NHgzMiB2cHhfc2FkX3NraXBfNjR4MzJfYwotCi12b2lkIHZweF9zYWRfc2tpcF82
NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgdnB4X3NhZF9z
a2lwXzY0eDMyeDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHg2NCB2cHhfc2FkX3NraXBfNjR4NjRf
YwotCi12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2Fk
X3NraXBfNjR4NjR4NGQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2MKLQotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF84eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTYg
dnB4X3NhZF9za2lwXzh4MTZfYwotCi12b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYwotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF84eDQgdnB4X3NhZF9za2lwXzh4NF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzh4NHg0ZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MKLQotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
OHg4IHZweF9zYWRfc2tpcF84eDhfYwotCi12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF84eDh4NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9jCit2b2lkIHZweF9z
YWQ4eDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4OCB2cHhfc2FkOHg4
eDhfYwogCiBpbnQgdnB4X3NhdGRfYyhjb25zdCBpbnQxNl90KiBjb2VmZiwgaW50IGxlbmd0aCk7
CiAjZGVmaW5lIHZweF9zYXRkIHZweF9zYXRkX2MKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu
dXgvYXJtNjQtaGlnaGJkL3ZwOF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hi
ZC92cDhfcnRjZC5oCmluZGV4IDEwMjUwMTA5NDI1NC4uYzRiYjQxYjIxMjcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hiZC92cDhfcnRjZC5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25m
aWcvbGludXgvYXJtNjQtaGlnaGJkL3ZwOF9ydGNkLmgKQEAgLTgzLDYgKzgzLDM2IEBAIHZvaWQg
dnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfbmVvbih1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwogI2RlZmluZSB2
cDhfYmlsaW5lYXJfcHJlZGljdDh4OCB2cDhfYmlsaW5lYXJfcHJlZGljdDh4OF9uZW9uCiAKK3Zv
aWQgdnA4X2JsZW5kX2JfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAg
ICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisg
ICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEs
CisgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9iIHZw
OF9ibGVuZF9iX2MKKwordm9pZCB2cDhfYmxlbmRfbWJfaW5uZXJfYyh1bnNpZ25lZCBjaGFyKiB5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmlu
ZSB2cDhfYmxlbmRfbWJfaW5uZXIgdnA4X2JsZW5kX21iX2lubmVyX2MKKwordm9pZCB2cDhfYmxl
bmRfbWJfb3V0ZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBj
aGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdl8x
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfb3V0ZXIgdnA4X2Js
ZW5kX21iX291dGVyX2MKKwogaW50IHZwOF9ibG9ja19lcnJvcl9jKHNob3J0KiBjb2VmZiwgc2hv
cnQqIGRxY29lZmYpOwogI2RlZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4X2Jsb2NrX2Vycm9yX2MK
IApAQCAtMjQ5LDYgKzI3OSwxNyBAQCB2b2lkIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2ModW5z
aWduZWQgY2hhciogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
d2VpZ2h0KTsKICNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDggdnA4X2ZpbHRlcl9ieV93
ZWlnaHQ4eDhfYwogCitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jKHN0cnVjdCBtYWNyb2Jsb2Nr
KiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworI2RlZmluZSB2cDhfZnVs
bF9zZWFyY2hfc2FkIHZwOF9mdWxsX3NlYXJjaF9zYWRfYworCiB2b2lkIHZwOF9sb29wX2ZpbHRl
cl9iaF9jKHVuc2lnbmVkIGNoYXIqIHlfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyKiB1X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogdl9wdHIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hiZC92
cDlfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm02NC1oaWdoYmQvdnA5X3J0Y2QuaAppbmRl
eCBlNjRjYjJjMzVhZTQuLmNhNzQwZjQ0MGQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9hcm02NC1oaWdoYmQvdnA5X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhp
Z2hiZC92cDlfcnRjZC5oCkBAIC0yMSw5ICsyMSw3IEBAIHN0cnVjdCBtYWNyb2Jsb2NrZDsKIAog
LyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCiBzdHJ1Y3QgbWFjcm9ibG9jazsKLXN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9zYWRfdGFibGU7Ci1zdHJ1Y3QgU2Nhbk9yZGVy
Oworc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGU7CiBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmln
Owogc3RydWN0IG12OwogdW5pb24gaW50X212OwpAQCAtMzcsMTkgKzM1LDEyIEBAIGludDY0X3Qg
dnA5X2Jsb2NrX2Vycm9yX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludHB0cl90IGJsb2NrX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludDY0X3QqIHNzeik7Ci1pbnQ2NF90IHZwOV9ibG9ja19lcnJvcl9uZW9uKGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xv
d190KiBkcWNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBibG9j
a19zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90KiBzc3opOwotI2Rl
ZmluZSB2cDlfYmxvY2tfZXJyb3IgdnA5X2Jsb2NrX2Vycm9yX25lb24KKyNkZWZpbmUgdnA5X2Js
b2NrX2Vycm9yIHZwOV9ibG9ja19lcnJvcl9jCiAKIGludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2Zw
X2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBibG9ja19zaXplKTsKLWludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2ZwX25lb24oY29uc3Qg
dHJhbl9sb3dfdCogY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHRyYW5fbG93X3QqIGRxY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBibG9ja19zaXplKTsKLSNkZWZpbmUgdnA5X2Jsb2NrX2Vycm9yX2ZwIHZwOV9ibG9ja19lcnJv
cl9mcF9uZW9uCisjZGVmaW5lIHZwOV9ibG9ja19lcnJvcl9mcCB2cDlfYmxvY2tfZXJyb3JfZnBf
YwogCiBpbnQgdnA5X2Rlbm9pc2VyX2ZpbHRlcl9jKGNvbnN0IHVpbnQ4X3QqIHNpZywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNpZ19zdHJpZGUsCkBAIC03NCw1NCArNjUsMzEgQEAg
aW50IHZwOV9kZW5vaXNlcl9maWx0ZXJfbmVvbihjb25zdCB1aW50OF90KiBzaWcsCiBpbnQgdnA5
X2RpYW1vbmRfc2VhcmNoX3NhZF9jKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnKiBj
ZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNhZF9wZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQq
IG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3Nh
ZF90YWJsZSogc2FkX2ZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IHZwOV92YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwotaW50IHZwOV9kaWFtb25kX3Nl
YXJjaF9zYWRfbmVvbihjb25zdCBzdHJ1Y3QgbWFjcm9ibG9jayogeCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIHJlZl9tdiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfbXZfc2FkLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzZWFyY2hfcGFyYW0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50KiBudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IHZwOV9zYWRfdGFibGUqIHNhZF9mbl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiogY2VudGVyX212KTsKLSNkZWZpbmUgdnA5X2Rp
YW1vbmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX25lb24KKyNkZWZpbmUgdnA5
X2RpYW1vbmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MKIAogdm9pZCB2cDlf
Zmh0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci12b2lkIHZwOV9maHQxNngxNl9uZW9uKGNvbnN0
IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRw
dXQsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2ZodDE2eDE2IHZwOV9maHQxNngxNl9u
ZW9uCisjZGVmaW5lIHZwOV9maHQxNngxNiB2cDlfZmh0MTZ4MTZfYwogCiB2b2lkIHZwOV9maHQ0
eDRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IG91dHB1dCwKICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICBpbnQgdHhfdHlwZSk7Ci12b2lkIHZwOV9maHQ0eDRfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1
dCwKLSAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7
Ci0jZGVmaW5lIHZwOV9maHQ0eDQgdnA5X2ZodDR4NF9uZW9uCisjZGVmaW5lIHZwOV9maHQ0eDQg
dnA5X2ZodDR4NF9jCiAKIHZvaWQgdnA5X2ZodDh4OF9jKGNvbnN0IGludDE2X3QqIGlucHV0LAog
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAgICAgICAg
aW50IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2Zo
dDh4OF9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2ZodDh4OCB2cDlfZmh0
OHg4X25lb24KKyNkZWZpbmUgdnA5X2ZodDh4OCB2cDlfZmh0OHg4X2MKIAogdm9pZCB2cDlfZmls
dGVyX2J5X3dlaWdodDE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNDUsNDIgKzExMywyNSBAQCBp
bnQ2NF90IHZwOV9oaWdoYmRfYmxvY2tfZXJyb3JfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IGJsb2NrX3NpemUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90KiBzc3osCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotaW50NjRfdCB2cDlfaGlnaGJkX2Jsb2Nr
X2Vycm9yX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3QgYmxvY2tfc2l6ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqIHNzeiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZwOV9oaWdoYmRfYmxvY2tfZXJy
b3IgdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9uZW9uCisjZGVmaW5lIHZwOV9oaWdoYmRfYmxvY2tf
ZXJyb3IgdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9jCiAKIHZvaWQgdnA5X2hpZ2hiZF9maHQxNngx
Nl9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2hpZ2hi
ZF9maHQxNngxNl9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0eF90
eXBlKTsKLSNkZWZpbmUgdnA5X2hpZ2hiZF9maHQxNngxNiB2cDlfaGlnaGJkX2ZodDE2eDE2X25l
b24KKyNkZWZpbmUgdnA5X2hpZ2hiZF9maHQxNngxNiB2cDlfaGlnaGJkX2ZodDE2eDE2X2MKIAog
dm9pZCB2cDlfaGlnaGJkX2ZodDR4NF9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsK
LXZvaWQgdnA5X2hpZ2hiZF9maHQ0eDRfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9oaWdoYmRfZmh0NHg0IHZwOV9oaWdoYmRfZmh0NHg0
X25lb24KKyNkZWZpbmUgdnA5X2hpZ2hiZF9maHQ0eDQgdnA5X2hpZ2hiZF9maHQ0eDRfYwogCiB2
b2lkIHZwOV9oaWdoYmRfZmh0OHg4X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwot
dm9pZCB2cDlfaGlnaGJkX2ZodDh4OF9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2hpZ2hiZF9maHQ4eDggdnA5X2hpZ2hiZF9maHQ4eDhf
bmVvbgorI2RlZmluZSB2cDlfaGlnaGJkX2ZodDh4OCB2cDlfaGlnaGJkX2ZodDh4OF9jCiAKIHZv
aWQgdnA5X2hpZ2hiZF9md2h0NHg0X2MoY29uc3QgaW50MTZfdCogaW5wdXQsIHRyYW5fbG93X3Qq
IG91dHB1dCwgaW50IHN0cmlkZSk7CiAjZGVmaW5lIHZwOV9oaWdoYmRfZndodDR4NCB2cDlfaGln
aGJkX2Z3aHQ0eDRfYwpAQCAtMjQ3LDQxICsxOTgsMjkgQEAgdm9pZCB2cDlfaGlnaGJkX3Bvc3Rf
cHJvY19kb3duX2FuZF9hY3Jvc3NfYyhjb25zdCB1aW50MTZfdCogc3JjX3B0ciwKIAogdm9pZCB2
cDlfaGlnaGJkX3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKLXZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9uZW9uKGNvbnN0IHRyYW5fbG93
X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90
IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIp
OwotI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBf
bmVvbgotCi12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYygKLSAgICBjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3Qq
IHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50
MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9oaWdoYmRfcXVhbnRp
emVfZnBfMzJ4MzJfbmVvbigKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNv
bnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWlu
dDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9v
cmRlcik7Ci0jZGVmaW5lIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzIgdnA5X2hpZ2hiZF9x
dWFudGl6ZV9mcF8zMngzMl9uZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOworI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwIHZwOV9oaWdoYmRf
cXVhbnRpemVfZnBfYworCit2b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYyhjb25z
dCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVm
aW5lIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzIgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8z
MngzMl9jCiAKIHZvaWQgdnA5X2hpZ2hiZF90ZW1wb3JhbF9maWx0ZXJfYXBwbHlfYyhjb25zdCB1
aW50OF90KiBmcmFtZTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50IHN0cmlkZSwKQEAgLTMyNywzOCArMjY2LDUwIEBAIHZvaWQgdnA5X2lodDh4
OF82NF9hZGRfbmVvbihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKIAogdm9pZCB2cDlfcXVhbnRp
emVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGlzY2FuKTsKIHZvaWQgdnA5X3F1YW50aXplX2ZwX25lb24oY29uc3QgdHJhbl9sb3df
dCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZm
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxh
bmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9i
bG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9xdWFudGl6ZV9mcCB2cDlf
cXVhbnRpemVfZnBfbmVvbgogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRy
X3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBl
b2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfbmVvbihjb25zdCB0cmFu
X2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0
cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZpbmUg
dnA5X3F1YW50aXplX2ZwXzMyeDMyIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9uZW9uCiAKIHZvaWQg
dnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhjb25zdCBzdHJ1Y3QgeXYxMl9idWZmZXJfY29u
ZmlnKiBzcmMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hiZC92cHhf
Y29uZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtNjQtaGlnaGJkL3ZweF9jb25maWcuYXNt
CmluZGV4IDNhN2I0YWZmMzM3Yi4uZWE3NzYyNzczOGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln
L2xpbnV4L2FybTY0LWhpZ2hiZC92cHhfY29uZmlnLmFzbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4
L2FybTY0LWhpZ2hiZC92cHhfY29uZmlnLmFzbQpAQCAtMSwxMCArMSw4IEBACiBAIFRoaXMgZmls
ZSB3YXMgY3JlYXRlZCBmcm9tIGEgLmFzbSBmaWxlCiBAICB1c2luZyB0aGUgYWRzMmdhcy5wbCBz
Y3JpcHQuCi0uc3ludGF4IHVuaWZpZWQKKwkuc3ludGF4IHVuaWZpZWQKIC5lcXUgVlBYX0FSQ0hf
QVJNICwgIDEKIC5lcXUgQVJDSF9BUk0gLCAgMQotLmVxdSBWUFhfQVJDSF9BQVJDSDY0ICwgIDEK
LS5lcXUgQVJDSF9BQVJDSDY0ICwgIDEKIC5lcXUgVlBYX0FSQ0hfTUlQUyAsICAwCiAuZXF1IEFS
Q0hfTUlQUyAsICAwCiAuZXF1IFZQWF9BUkNIX1g4NiAsICAwCkBAIC0xMywxMiArMTEsOCBAQAog
LmVxdSBBUkNIX1g4Nl82NCAsICAwCiAuZXF1IFZQWF9BUkNIX1BQQyAsICAwCiAuZXF1IEFSQ0hf
UFBDICwgIDAKLS5lcXUgVlBYX0FSQ0hfTE9PTkdBUkNIICwgIDAKLS5lcXUgQVJDSF9MT09OR0FS
Q0ggLCAgMAotLmVxdSBIQVZFX05FT05fQVNNICwgIDAKIC5lcXUgSEFWRV9ORU9OICwgIDEKLS5l
cXUgSEFWRV9ORU9OX0RPVFBST0QgLCAgMQotLmVxdSBIQVZFX05FT05fSThNTSAsICAxCisuZXF1
IEhBVkVfTkVPTl9BU00gLCAgMAogLmVxdSBIQVZFX01JUFMzMiAsICAwCiAuZXF1IEhBVkVfRFNQ
UjIgLCAgMAogLmVxdSBIQVZFX01TQSAsICAwCkBAIC0zNCw4ICsyOCw2IEBACiAuZXF1IEhBVkVf
QVZYNTEyICwgIDAKIC5lcXUgSEFWRV9WU1ggLCAgMAogLmVxdSBIQVZFX01NSSAsICAwCi0uZXF1
IEhBVkVfTFNYICwgIDAKLS5lcXUgSEFWRV9MQVNYICwgIDAKIC5lcXUgSEFWRV9WUFhfUE9SVFMg
LCAgMQogLmVxdSBIQVZFX1BUSFJFQURfSCAsICAxCiAuZXF1IEhBVkVfVU5JU1REX0ggLCAgMApA
QCAtNTcsNyArNDksNyBAQAogLmVxdSBDT05GSUdfREVCVUdfTElCUyAsICAwCiAuZXF1IENPTkZJ
R19ERVFVQU5UX1RPS0VOUyAsICAwCiAuZXF1IENPTkZJR19EQ19SRUNPTiAsICAwCi0uZXF1IENP
TkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgLCAgMQorLmVxdSBDT05GSUdfUlVOVElNRV9DUFVfREVU
RUNUICwgIDAKIC5lcXUgQ09ORklHX1BPU1RQUk9DICwgIDEKIC5lcXUgQ09ORklHX1ZQOV9QT1NU
UFJPQyAsICAxCiAuZXF1IENPTkZJR19NVUxUSVRIUkVBRCAsICAxCkBAIC04OCw2ICs4MCw3IEBA
CiAuZXF1IENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgLCAgMQogLmVxdSBDT05GSUdfVEVNUE9S
QUxfREVOT0lTSU5HICwgIDEKIC5lcXUgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgLCAg
MQorLmVxdSBDT05GSUdfQ09OU0lTVEVOVF9SRUNPREUgLCAgMAogLmVxdSBDT05GSUdfQ09FRkZJ
Q0lFTlRfUkFOR0VfQ0hFQ0tJTkcgLCAgMAogLmVxdSBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAs
ICAxCiAuZXF1IENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElUWSAsICAwCkBAIC0xMDAsNyAr
OTMsNiBAQAogLmVxdSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAsICAwCiAuZXF1IENPTkZJR19O
T05fR1JFRURZX01WICwgIDAKIC5lcXUgQ09ORklHX1JBVEVfQ1RSTCAsICAwCi0uZXF1IENPTkZJ
R19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgLCAgMAogLmVxdSBERUNPREVfV0lEVEhfTElNSVQg
LCAgMTYzODQKIC5lcXUgREVDT0RFX0hFSUdIVF9MSU1JVCAsICAxNjM4NAotICAgIC5zZWN0aW9u
IC5ub3RlLkdOVS1zdGFjaywiIiwlcHJvZ2JpdHMKKwkuc2VjdGlvbgkubm90ZS5HTlUtc3RhY2ss
IiIsJXByb2diaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hiZC92
cHhfY29uZmlnLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hiZC92cHhfY29uZmlnLmgK
aW5kZXggM2U3MmRkMTQ5OTgzLi5lMGUzOWZhMDlmYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
bGludXgvYXJtNjQtaGlnaGJkL3ZweF9jb25maWcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2Fy
bTY0LWhpZ2hiZC92cHhfY29uZmlnLmgKQEAgLTgsMTcgKzgsMTAgQEAKIC8qIFRoaXMgZmlsZSBh
dXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBjb25maWd1cmUuIERvIG5vdCBlZGl0ISAqLwogI2lm
bmRlZiBWUFhfQ09ORklHX0gKICNkZWZpbmUgVlBYX0NPTkZJR19ICi0KLSNpZmRlZiBfX0FQUExF
X18KLSNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMuaD4KLSNlbmRpZgotCi0jZGVmaW5lIFJF
U1RSSUNUCisjZGVmaW5lIFJFU1RSSUNUICAgIAogI2RlZmluZSBJTkxJTkUgICAgICBpbmxpbmUK
ICNkZWZpbmUgVlBYX0FSQ0hfQVJNIDEKICNkZWZpbmUgQVJDSF9BUk0gMQotI2RlZmluZSBWUFhf
QVJDSF9BQVJDSDY0IDEKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDEKICNkZWZpbmUgVlBYX0FSQ0hf
TUlQUyAwCiAjZGVmaW5lIEFSQ0hfTUlQUyAwCiAjZGVmaW5lIFZQWF9BUkNIX1g4NiAwCkBAIC0y
NywyMCArMjAsOCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAwCiAjZGVmaW5lIFZQWF9BUkNIX1BQ
QyAwCiAjZGVmaW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNIIDAKLSNk
ZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDAKICNkZWZpbmUg
SEFWRV9ORU9OIDEKLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgVEFSR0VUX09TX0lQSE9ORQot
I2RlZmluZSBIQVZFX05FT05fRE9UUFJPRCAwCi0jZWxzZQotI2RlZmluZSBIQVZFX05FT05fRE9U
UFJPRCAxCi0jZW5kaWYKLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykKLSNkZWZpbmUgSEFWRV9ORU9O
X0k4TU0gMAotI2Vsc2UKLSNkZWZpbmUgSEFWRV9ORU9OX0k4TU0gMQotI2VuZGlmCisjZGVmaW5l
IEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZFX01JUFMzMiAwCiAjZGVmaW5lIEhBVkVfRFNQ
UjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC01Niw4ICszNyw2IEBACiAjZGVmaW5lIEhBVkVf
QVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAogI2RlZmluZSBIQVZFX01NSSAwCi0jZGVmaW5l
IEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAKICNkZWZpbmUgSEFWRV9WUFhfUE9SVFMg
MQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMApAQCAt
NzksNyArNTgsNyBAQAogI2RlZmluZSBDT05GSUdfREVCVUdfTElCUyAwCiAjZGVmaW5lIENPTkZJ
R19ERVFVQU5UX1RPS0VOUyAwCiAjZGVmaW5lIENPTkZJR19EQ19SRUNPTiAwCi0jZGVmaW5lIENP
TkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgMQorI2RlZmluZSBDT05GSUdfUlVOVElNRV9DUFVfREVU
RUNUIDAKICNkZWZpbmUgQ09ORklHX1BPU1RQUk9DIDEKICNkZWZpbmUgQ09ORklHX1ZQOV9QT1NU
UFJPQyAxCiAjZGVmaW5lIENPTkZJR19NVUxUSVRIUkVBRCAxCkBAIC0xMTAsNiArODksNyBAQAog
I2RlZmluZSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5HIDEKICNkZWZpbmUgQ09ORklHX1RFTVBP
UkFMX0RFTk9JU0lORyAxCiAjZGVmaW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEK
KyNkZWZpbmUgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIDAKICNkZWZpbmUgQ09ORklHX0NPRUZG
SUNJRU5UX1JBTkdFX0NIRUNLSU5HIDAKICNkZWZpbmUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgg
MQogI2RlZmluZSBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgMApAQCAtMTIyLDcgKzEw
Miw2IEBACiAjZGVmaW5lIENPTkZJR19FTVVMQVRFX0hBUkRXQVJFIDAKICNkZWZpbmUgQ09ORklH
X05PTl9HUkVFRFlfTVYgMAogI2RlZmluZSBDT05GSUdfUkFURV9DVFJMIDAKLSNkZWZpbmUgQ09O
RklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAwCiAjZGVmaW5lIERFQ09ERV9XSURUSF9MSU1J
VCAxNjM4NAogI2RlZmluZSBERUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBY
X0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0LWhpZ2hiZC92
cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtNjQtaGlnaGJkL3ZweF9kc3BfcnRj
ZC5oCmluZGV4IGFiZDcwZTk4ZDczYy4uNzFlYjMzM2EwYmRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2xpbnV4L2FybTY0LWhpZ2hiZC92cHhfZHNwX3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xp
bnV4L2FybTY0LWhpZ2hiZC92cHhfZHNwX3J0Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNpbmNs
dWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9u
LmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9FTkNP
REVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5kaWYK
IAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKQEAgLTY4LDM5ICs2NCw3IEBAIHZv
aWQgdnB4X2NvbnZvbHZlOF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X3N0ZXBfcTQsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywK
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9uZW9u
X2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50
ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwot
dm9pZCB2cHhfY29udm9sdmU4X25lb25faThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci1SVENEX0VYVEVS
TiB2b2lkICgqdnB4X2NvbnZvbHZlOCkoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3Rl
cF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVmaW5lIHZweF9jb252b2x2ZTgg
dnB4X2NvbnZvbHZlOF9uZW9uCiAKIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfYyhjb25zdCB1aW50
OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
CkBAIC0xMjQsMzkgKzg4LDcgQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z19uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0
IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJ
bnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0
ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX25lb25faTht
bShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJw
S2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgp
OwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThfYXZnKShjb25zdCB1aW50OF90KiBz
cmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRl
cnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9z
dGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVmaW5lIHZweF9jb252b2x2ZThf
YXZnIHZweF9jb252b2x2ZThfYXZnX25lb24KIAogdm9pZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jp
el9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTE4MCwzOSArMTEyLDcgQEAgdm9pZCB2cHhfY29udm9s
dmU4X2F2Z19ob3Jpel9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBo
KTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4
X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX2hvcml6X25lb25f
aThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThfYXZnX2hvcml6KShjb25z
dCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVmaW5l
IHZweF9jb252b2x2ZThfYXZnX2hvcml6IHZweF9jb252b2x2ZThfYXZnX2hvcml6X25lb24KIAog
dm9pZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2MoY29uc3QgdWludDhfdCogc3JjLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0yMzYsMzkg
KzEzNiw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9u
X2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X2F2Z192
ZXJ0X25lb25faThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2NvbnZvbHZlOF9hdmdfdmVydCkoY29uc3Qg
dWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVmaW5lIHZweF9jb252b2x2
ZThfYXZnX3ZlcnQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uCiAKIHZvaWQgdnB4X2NvbnZv
bHZlOF9ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMjkyLDM5ICsxNjAsNyBAQCB2b2lkIHZweF9j
b252b2x2ZThfaG9yaXpfbmVvbihjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZw
eF9jb252b2x2ZThfaG9yaXpfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCog
ZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9ob3Jpel9uZW9uX2k4
bW0oY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
c3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThf
aG9yaXopKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGgpOworI2RlZmluZSB2cHhfY29udm9sdmU4X2hvcml6IHZweF9jb252
b2x2ZThfaG9yaXpfbmVvbgogCiB2b2lkIHZweF9jb252b2x2ZThfdmVydF9jKGNvbnN0IHVpbnQ4
X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
CkBAIC0zNDgsMzkgKzE4NCw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF92ZXJ0X25lb24oY29uc3Qg
dWludDhfdCogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X3ZlcnRfbmVvbl9kb3Rwcm9k
KGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0
ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9s
dmU4X3ZlcnRfbmVvbl9pOG1tKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252
b2x2ZThfdmVydCkoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBoKTsKKyNkZWZpbmUgdnB4X2NvbnZvbHZlOF92ZXJ0IHZweF9jb252b2x2ZThf
dmVydF9uZW9uCiAKIHZvaWQgdnB4X2NvbnZvbHZlX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyYywK
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtNDM0LDQx
ICsyMzgsMjUgQEAgdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4
X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3
X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2
cHhfZDExN19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X2MKIAogdm9p
ZCB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9y
XzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl8zMngz
MiB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfZDExN19wcmVkaWN0
b3JfMzJ4MzIgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDExN19wcmVk
aWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZp
bmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X25lb24KKyNk
ZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X2MKIAog
dm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl84eDhf
bmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzh4OCB2cHhfZDExN19wcmVk
aWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzh4OCB2cHhfZDExN19w
cmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90
KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
CkBAIC01MTQsODEgKzMwMiw0OSBAQCB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9jKHVp
bnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQp
Owotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50OF90KiBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZp
bmUgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2IHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9uZW9u
CisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4
MTZfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDE1
M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJl
ZGljdG9yXzMyeDMyIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9uZW9uCisjZGVmaW5lIHZweF9k
MTUzX3ByZWRpY3Rvcl8zMngzMiB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZw
eF9kMTUzX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzR4NF9uZW9uKHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBh
Ym92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9kMTUzX3ByZWRpY3Rvcl80
eDRfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9kMTUzX3ByZWRpY3Rv
cl80eDRfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJl
ZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfOHg4IHZw
eF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfOHg4
IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8xNngx
Nl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9kMjA3X3ByZWRpY3Rvcl8xNngx
Nl9uZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDIwN19wcmVkaWN0
b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRz
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2
cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2Qy
MDdfcHJlZGljdG9yXzMyeDMyIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9uZW9uCisjZGVmaW5l
IHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2
b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzR4NF9u
ZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0IHZweF9kMjA3X3ByZWRp
Y3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0IHZweF9kMjA3X3By
ZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Qy
MDdfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3Jf
OHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0
b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kNDVfcHJlZGljdG9y
XzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCkBAIC02NDAsNDEgKzM5NiwyNSBAQCB2b2lkIHZweF9kNjNfcHJlZGlj
dG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7
Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2IHZweF9kNjNfcHJlZGljdG9yXzE2eDE2
X25lb24KKyNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2Q2M19wcmVkaWN0b3Jf
MTZ4MTZfYwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2ModWludDhfdCogZHN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNf
cHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9y
XzMyeDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2Q2M19wcmVk
aWN0b3JfMzJ4MzIgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9kNjNfcHJl
ZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4
X2Q2M19wcmVkaWN0b3JfNHg0IHZweF9kNjNfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5lIHZw
eF9kNjNfcHJlZGljdG9yXzR4NCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9k
NjNfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbih1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZp
bmUgdnB4X2Q2M19wcmVkaWN0b3JfOHg4IHZweF9kNjNfcHJlZGljdG9yXzh4OF9uZW9uCisjZGVm
aW5lIHZweF9kNjNfcHJlZGljdG9yXzh4OCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lk
IHZweF9kNjNlX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtODkyLDE4ICs2MzIsNyBAQCB2b2lk
IHZweF9nZXQxNngxNnZhcl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0p
Owotdm9pZCB2cHhfZ2V0MTZ4MTZ2YXJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci1SVENEX0VYVEVSTiB2b2lkICgq
dnB4X2dldDE2eDE2dmFyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCogc3VtKTsKKyNkZWZpbmUgdnB4X2dldDE2eDE2dmFyIHZweF9n
ZXQxNngxNnZhcl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfZ2V0NHg0c3NlX2NzX2MoY29uc3Qg
dW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC05MTMsMTQgKzY0Miw3IEBAIHVuc2lnbmVkIGludCB2cHhfZ2V0
NHg0c3NlX2NzX25lb24oY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfZ2V0NHg0c3NlX2NzX25lb25fZG90cHJvZChjb25zdCB1bnNpZ25lZCBjaGFyKiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X2dldDR4NHNzZV9jcykoY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQg
Y2hhciogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2dldDR4NHNzZV9jcyB2cHhfZ2V0NHg0
c3NlX2NzX25lb24KIAogdm9pZCB2cHhfZ2V0OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtOTM0LDE4ICs2NTYs
NyBAQCB2b2lkIHZweF9nZXQ4eDh2YXJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3Vt
KTsKLXZvaWQgdnB4X2dldDh4OHZhcl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50KiBzdW0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9nZXQ4eDh2
YXIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1
bSk7CisjZGVmaW5lIHZweF9nZXQ4eDh2YXIgdnB4X2dldDh4OHZhcl9uZW9uCiAKIHVuc2lnbmVk
IGludCB2cHhfZ2V0X21iX3NzX2MoY29uc3QgaW50MTZfdCopOwogI2RlZmluZSB2cHhfZ2V0X21i
X3NzIHZweF9nZXRfbWJfc3NfYwpAQCAtMTAwMSwxMCArNzEyLDcgQEAgdm9pZCB2cHhfaGFkYW1h
cmRfMTZ4MTZfbmVvbihjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKIHZvaWQgdnB4X2hhZGFtYXJk
XzMyeDMyX2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190KiBjb2VmZik7Ci12b2lkIHZweF9oYWRhbWFyZF8zMngzMl9uZW9uKGNvbnN0IGludDE2
X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogY29lZmYp
OwotI2RlZmluZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFtYXJkXzMyeDMyX25lb24KKyNk
ZWZpbmUgdnB4X2hhZGFtYXJkXzMyeDMyIHZweF9oYWRhbWFyZF8zMngzMl9jCiAKIHZvaWQgdnB4
X2hhZGFtYXJkXzh4OF9jKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAogICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0xMDI2LDEzICs3MzQsNyBAQCB2b2lk
IHZweF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF8xMF9nZXQxNngx
NnZhcl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50KiBzdW0pOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX2dldDE2eDE2dmFyIHZw
eF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX2dldDE2
eDE2dmFyIHZweF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXJfYwogCiB2b2lkIHZweF9oaWdoYmRfMTBf
Z2V0OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEwNDAsNjEgKzc0MiwzNSBAQCB2b2lkIHZw
eF9oaWdoYmRfMTBfZ2V0OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQqIHN1bSk7Ci12b2lkIHZweF9oaWdoYmRfMTBfZ2V0OHg4dmFyX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLSNk
ZWZpbmUgdnB4X2hpZ2hiZF8xMF9nZXQ4eDh2YXIgdnB4X2hpZ2hiZF8xMF9nZXQ4eDh2YXJfbmVv
bgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX2dldDh4OHZhciB2cHhfaGlnaGJkXzEwX2dldDh4OHZh
cl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTE2eDE2X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF9tc2UxNngxNl9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGln
aGJkXzEwX21zZTE2eDE2IHZweF9oaWdoYmRfMTBfbXNlMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhf
aGlnaGJkXzEwX21zZTE2eDE2IHZweF9oaWdoYmRfMTBfbXNlMTZ4MTZfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMF9tc2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTE2eDggdnB4X2hpZ2hiZF8x
MF9tc2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9tc2UxNng4IHZweF9oaWdoYmRf
MTBfbXNlMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTh4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfbXNlOHgxNl9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfMTBfbXNlOHgxNiB2cHhfaGlnaGJkXzEwX21zZTh4MTZfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkXzEwX21zZTh4MTYgdnB4X2hpZ2hiZF8xMF9tc2U4eDE2X2MKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfMTBfbXNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfMTBfbXNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
I2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTh4OCB2cHhfaGlnaGJkXzEwX21zZTh4OF9uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfMTBfbXNlOHg4IHZweF9oaWdoYmRfMTBfbXNlOHg4X2MKIAogdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfYygKICAgICBj
b25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMTEwNSwxNyArNzgxLDggQEAgdWludDMyX3QgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfYygKICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25l
b24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlMTZ4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngx
Nl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMy
X2MoCiAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTExMjYsMTcgKzc5Myw4IEBAIHVp
bnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX2MoCiAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2UxNngzMl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19z
dHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2Us
Ci0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMiBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTE2eDMyX25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlMTZ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTExNDYs
MTcgKzgwNCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMTZ4OF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
aW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQz
Ml90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4IFwKLSAgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2UzMngxNl9jKAogICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0xMTY3
LDE3ICs4MTYsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2UzMngxNl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZz
ZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZp
bmUgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYgXAotICB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYygKICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRy
LApAQCAtMTE4OCwxNyArODI4LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMzJ4MzJfYygKICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICB1aW50MzJfdCog
c3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdo
YmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25lb24oCi0gICAgY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAg
aW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyIFwK
LSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfbmVvbgorICB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jCiAKIHVpbnQzMl90IHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X2MoCiAgICAgY29uc3QgdWludDhf
dCogc3JjX3B0ciwKQEAgLTEyMDksMTcgKzg0MCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X2MoCiAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
dWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJf
dCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9uZW9uKAotICAgIGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zm
c2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
IGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2UzMng2NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X25l
b24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYwogCiB1aW50
MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMjI5LDE3ICs4NTEsOCBAQCB1aW50MzJfdCB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X25lb24oCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9v
ZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTR4NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9uZW9u
CisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEyNDksMTcgKzg2Miw4IEBAIHVpbnQzMl90IHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJf
dCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfbmVvbigKLSAgICBjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNl
dCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NHg4IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X25lb24KKyAg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MKIAogdWludDMyX3QgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfYygKICAgICBjb25zdCB1aW50
OF90KiBzcmNfcHRyLApAQCAtMTI3MCwxNyArODc0LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfYygKICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24oCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9v
ZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTY0eDMyIFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJf
bmVvbgorICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jCiAKIHVp
bnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2MoCiAgICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTEyOTEsMTcgKzg4Niw4IEBAIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2MoCiAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9u
ZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHg2NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTY0eDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4
NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEzMTEsMTcgKzg5Nyw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlOHgxNl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19z
dHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2Us
Ci0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlOHgxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTh4MTZfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMzMxLDE3ICs5
MDgsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlOHg0X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwK
LSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTh4NF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEzNTEsMTcgKzkxOSw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4
eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRl
LAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlOHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4
X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMzcwLDE1ICs5MjksOCBAQCB1aW50
MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF92YXJpYW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2Ux
NngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfYwogCiB1
aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEzODcsMTUgKzkzOSw4IEBAIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zh
cmlhbmNlMTZ4MzIgXAotICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX25l
b24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jCiAKIHVpbnQzMl90
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKQEAgLTE0MDQsMTUgKzk0OSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Up
OwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDggXAotICB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1
Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE0
MjEsMTUgKzk1OSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNl
MzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5l
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTYgXAotICB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
dmFyaWFuY2UzMngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zhcmlh
bmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQzOCwxNSAr
OTY5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3Nl
KTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hp
Z2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX3ZhcmlhbmNlMzJ4MzJfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTMyeDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNDU1LDE1ICs5NzksOCBA
QCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2UzMng2NF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRf
YwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQ3MiwxNSArOTg5LDggQEAgdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Up
OwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NCBcCi0gIHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfdmFyaWFuY2U0eDRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92
YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQ4OSwxNSAr
OTk5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4OF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJp
YW5jZTR4OCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24KKyAg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTE1MDYsMTUgKzEwMDksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1
Yl9waXhlbF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyIFwK
LSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9uCisgIHZweF9oaWdo
YmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTE1MjMsMTUgKzEwMTksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Up
OwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0IFwKLSAgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9uZW9uCisgIHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0x
NTQwLDE1ICsxMDI5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdo
YmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X3ZhcmlhbmNlOHgxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHgx
Nl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNTU3LDE1ICsxMDM5LDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NCBcCi0gIHZw
eF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfdmFyaWFuY2U4eDRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTU3NCwx
NzEgKzEwNDksOTkgQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7
Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4OF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF92YXJpYW5jZTh4OCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X25l
b24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3Zhcmlh
bmNlMTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MTYgdnB4
X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF92YXJp
YW5jZTE2eDE2IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngxNl9jCiAKIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2Ux
NngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngzMiB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlMTZ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNl
MTZ4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfMTBfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
I2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4OCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNl
MTZ4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4IHZweF9oaWdoYmRf
MTBfdmFyaWFuY2UxNng4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2Uz
MngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDE2X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDE2IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMngxNl9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMngxNiB2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlMzJ4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDMyX25lb24K
KyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDMyIHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2UzMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfMTBfdmFyaWFuY2UzMng2NCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjRfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMy
eDY0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
XzEwX3ZhcmlhbmNlNHg0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDQgdnB4X2hp
Z2hiZF8xMF92YXJpYW5jZTR4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0
eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
XzEwX3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4OF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlNHg4IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDhfbmVvbgorI2RlZmlu
ZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg4IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDhfYwog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlNjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3Zhcmlh
bmNlNjR4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyX25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF8xMF92YXJpYW5jZTY0eDMyIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U2NHgzMl9jCiAKIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
MTBfdmFyaWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U2
NHg2NCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4NjRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJk
XzEwX3ZhcmlhbmNlNjR4NjQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDY0X2MKIAogdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHgxNiB2cHhfaGlnaGJk
XzEwX3ZhcmlhbmNlOHgxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDE2
IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
MTBfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfMTBfdmFyaWFuY2U4eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4NF9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4NF9jCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJp
YW5jZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4IHZweF9oaWdoYmRfMTBf
dmFyaWFuY2U4eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4IHZweF9o
aWdoYmRfMTBfdmFyaWFuY2U4eDhfYwogCiB2b2lkIHZweF9oaWdoYmRfMTJfZ2V0MTZ4MTZ2YXJf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNzQ2LDEzICsxMTQ5LDcgQEAgdm9pZCB2cHhfaGlnaGJk
XzEyX2dldDE2eDE2dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQqIHN1bSk7Ci12b2lkIHZweF9oaWdoYmRfMTJfZ2V0MTZ4MTZ2YXJfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCogc3VtKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9nZXQxNngxNnZhciB2cHhfaGlnaGJkXzEy
X2dldDE2eDE2dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9nZXQxNngxNnZhciB2cHhf
aGlnaGJkXzEyX2dldDE2eDE2dmFyX2MKIAogdm9pZCB2cHhfaGlnaGJkXzEyX2dldDh4OHZhcl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0xNzYwLDYxICsxMTU3LDM1IEBAIHZvaWQgdnB4X2hpZ2hiZF8x
Ml9nZXQ4eDh2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF8xMl9nZXQ4eDh2YXJfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0pOwotI2RlZmluZSB2cHhf
aGlnaGJkXzEyX2dldDh4OHZhciB2cHhfaGlnaGJkXzEyX2dldDh4OHZhcl9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfMTJfZ2V0OHg4dmFyIHZweF9oaWdoYmRfMTJfZ2V0OHg4dmFyX2MKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfMTJfbXNlMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX21zZTE2eDE2X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfbXNl
MTZ4MTYgdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJf
bXNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkXzEyX21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfMTJfbXNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfbXNlMTZ4OCB2cHhfaGlnaGJkXzEyX21zZTE2eDhf
bmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEyX21zZTE2eDggdnB4X2hpZ2hiZF8xMl9tc2UxNng4
X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfbXNlOHgxNl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl9tc2U4eDE2X25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9tc2U4
eDE2IHZweF9oaWdoYmRfMTJfbXNlOHgxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfbXNl
OHgxNiB2cHhfaGlnaGJkXzEyX21zZTh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8x
Ml9tc2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8x
Ml9tc2U4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfMTJfbXNlOHg4IHZweF9oaWdoYmRfMTJfbXNlOHg4X25lb24KKyNkZWZpbmUgdnB4
X2hpZ2hiZF8xMl9tc2U4eDggdnB4X2hpZ2hiZF8xMl9tc2U4eDhfYwogCiB1aW50MzJfdCB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jKAogICAgIGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCkBAIC0xODI1LDE3ICsxMTk2LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfYygKICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24oCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9v
ZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZf
bmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jCiAKIHVp
bnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX2MoCiAgICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE4NDYsMTcgKzEyMDgsOCBAQCB1aW50MzJfdCB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9jKAogICAgIGludCByZWZf
c3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJf
bmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAot
ICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UxNngzMl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2
eDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xODY2LDE3ICsxMjE5
LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UxNng4X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNz
ZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDggXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UxNng4X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlMTZ4OF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTMyeDE2X2MoCiAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE4ODcsMTcgKzEy
MzEsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngx
Nl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
IGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50
MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4
X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYgXAotICB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYygKICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAt
MTkwOCwxNyArMTI0Myw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTMyeDMyX2MoCiAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwK
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5
X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRl
LAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwog
I2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMiBcCi0gIHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25lb24KKyAgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jKAogICAgIGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCkBAIC0xOTI5LDE3ICsxMjU1LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYygKICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICB1aW50
MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X25lb24oCi0gICAgY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQs
Ci0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMy
eDY0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfbmVvbgor
ICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jCiAKIHVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE5NDksMTcgKzEyNjYsOCBAQCB1aW50MzJfdCB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMy
X3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X25lb24oCi0gICAgY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTR4NCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9uZW9uCisg
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE5NjksMTcgKzEyNzcsOCBAQCB1aW50MzJfdCB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X25lb24oCi0gICAgY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQs
Ci0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4
OCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9uZW9uCisgIHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jCiAKIHVpbnQzMl90IHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX2MoCiAgICAgY29uc3QgdWludDhf
dCogc3JjX3B0ciwKQEAgLTE5OTAsMTcgKzEyODksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAg
IHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMy
X3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfbmVvbigKLSAgICBj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29m
ZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9u
ZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX2MKIAogdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYygKICAgICBj
b25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjAxMSwxNyArMTMwMSw4IEBAIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2MoCiAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9u
ZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHg2NCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTY0eDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4
NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIwMzEsMTcgKzEzMTIs
OCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTh4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNf
c3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3Nl
LAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTh4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U4eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjA1MSwxNyAr
MTMyMyw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U4eDRfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNf
c3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3Nl
LAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlOHg0X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlOHg0X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjA3MSwxNyArMTMz
NCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3Ry
aWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAot
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlOHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
OHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMDkwLDE1ICsxMzQ0LDggQEAg
dWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2UxNngxNiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zhcmlh
bmNlMTZ4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2X2MK
IAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMTA3LDE1ICsxMzU0LDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfdmFyaWFuY2UxNngzMiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4
MzJfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MKIAogdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjEyNCwxNSArMTM2NCw4IEBAIHVpbnQzMl90IHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDggXAot
ICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfbmVvbgorICB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTIxNDEsMTUgKzEzNzQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFu
Y2UzMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwog
I2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2IFwKLSAgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIx
NTgsMTUgKzEzODQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngz
Ml9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29m
ZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmlu
ZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIFwKLSAgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X3ZhcmlhbmNlMzJ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJp
YW5jZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIxNzUsMTUg
KzEzOTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zhcmlh
bmNlMzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjE5MiwxNSArMTQwNCw4IEBA
IHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4
X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDQg
XAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uCisgIHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTIyMDksMTUgKzE0MTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJp
YW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX3ZhcmlhbmNlNHg4IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0
eDhfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4OF9jCiAKIHVpbnQz
Ml90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjIyNiwxNSArMTQyNCw4IEBAIHVpbnQzMl90IHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zhcmlh
bmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX25lb24K
KyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9jCiAKIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtMjI0MywxNSArMTQzNCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4
NjQgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X25lb24KKyAgdnB4
X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9jCiAKIHVpbnQzMl90IHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTIyNjAsMTUgKzE0NDQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJp
YW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZp
bmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2IFwKLSAgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIyNzcsMTUgKzE0NTQs
OCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNl
OHg0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfbmVvbgorICB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC0yMjk0LDE3MSArMTQ2NCw5OSBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDhfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4OF9jCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTZfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfMTJfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFu
Y2UxNngxNiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkXzEyX3ZhcmlhbmNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDE2X2MKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2
eDMyIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRf
MTJfdmFyaWFuY2UxNngzMiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MzJfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5j
ZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNng4IHZweF9oaWdoYmRf
MTJfdmFyaWFuY2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDgg
dnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTZfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotI2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTYgdnB4X2hpZ2hiZF8xMl92YXJp
YW5jZTMyeDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDE2IHZweF9o
aWdoYmRfMTJfdmFyaWFuY2UzMngxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3Zh
cmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngzMl9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngzMiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNl
MzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MzIgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTMyeDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFu
Y2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDY0X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDY0IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMng2
NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMng2NCB2cHhfaGlnaGJkXzEy
X3ZhcmlhbmNlMzJ4NjRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTR4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5j
ZTR4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTR4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0X2MKIAogdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg4X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTR4OF9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDggdnB4X2hpZ2hiZF8xMl92YXJp
YW5jZTR4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfMTJfdmFyaWFuY2U2NHgzMiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzJfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzIgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTY0
eDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF8xMl92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTY0eDY0IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NF9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4NjRf
YwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDE2
IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92
YXJpYW5jZTh4MTYgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4MTZfYwogCiB1bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDRfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHg0X25l
b24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NCB2cHhfaGlnaGJkXzEyX3Zhcmlh
bmNlOHg0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkXzEyX3ZhcmlhbmNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDggdnB4
X2hpZ2hiZF8xMl92YXJpYW5jZTh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFu
Y2U4eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4OF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF84X2dl
dDE2eDE2dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNDY2LDEzICsxNTY0LDcgQEAgdm9pZCB2
cHhfaGlnaGJkXzhfZ2V0MTZ4MTZ2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF84X2dldDE2eDE2dmFyX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
KiBzdW0pOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfZ2V0MTZ4MTZ2YXIgdnB4X2hpZ2hiZF84X2dl
dDE2eDE2dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X2dldDE2eDE2dmFyIHZweF9oaWdo
YmRfOF9nZXQxNngxNnZhcl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF84X2dldDh4OHZhcl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTI0ODAsNjEgKzE1NzIsMzUgQEAgdm9pZCB2cHhfaGlnaGJkXzhfZ2V0OHg4
dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci12
b2lkIHZweF9oaWdoYmRfOF9nZXQ4eDh2YXJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCogc3VtKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X2dldDh4OHZh
ciB2cHhfaGlnaGJkXzhfZ2V0OHg4dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X2dldDh4
OHZhciB2cHhfaGlnaGJkXzhfZ2V0OHg4dmFyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
OF9tc2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF84X21zZTE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTE2eDE2IHZweF9oaWdoYmRfOF9tc2UxNngxNl9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfOF9tc2UxNngxNiB2cHhfaGlnaGJkXzhfbXNlMTZ4MTZfYwog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9tc2UxNng4IHZweF9oaWdoYmRf
OF9tc2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTE2eDggdnB4X2hpZ2hiZF84
X21zZTE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTh4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTh4MTZfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9tc2U4eDE2
IHZweF9oaWdoYmRfOF9tc2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTh4MTYg
dnB4X2hpZ2hiZF84X21zZTh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTh4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF9tc2U4eDhfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTh4
OCB2cHhfaGlnaGJkXzhfbXNlOHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTh4OCB2
cHhfaGlnaGJkXzhfbXNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC0yNTQ0LDE3ICsxNjEwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zm
c2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVm
aW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTYgXAotICB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24KKyAgdnB4X2hpZ2hiZF84X3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLApAQCAtMjU2NCwxNyArMTYyMSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGlu
dCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3Ry
aWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyIFwKLSAg
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9uZW9uCisgIHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC0yNTg0LDE3ICsxNjMyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGlu
dCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3Ry
aWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDggXAotICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfbmVvbgorICB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTI2MDQsMTcgKzE2NDMsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigKLSAgICBjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAg
ICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9w
cmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNiBc
Ci0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbgorICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAogdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0yNjI0LDE3ICsxNjU0LDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJf
dCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25lb24oCi0gICAgY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
MzJ4MzIgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25lb24K
KyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jCiAKIHVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjY0NCwxNyArMTY2NSw4IEBAIHVpbnQzMl90IHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
dWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9uZW9uKAot
ICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50
IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2
NF9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYwogCiB1
aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjY2NCwxNyArMTY3Niw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X25lb24oCi0gICAgY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfbmVvbgorICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0yNjg0LDE3ICsxNjg3LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQg
eV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
ICNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDggXAotICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9uZW9uCisgIHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC0yNzA0LDE3ICsxNjk4LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24oCi0gICAgY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50
IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIgXAotICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24KKyAgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRf
OF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLApAQCAtMjcyNCwxNyArMTcwOSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9uZW9uKAotICAgIGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAot
ICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCBy
ZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0
IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9uZW9uCisgIHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYwogCiB1aW50MzJfdCB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0yNzQ0LDE3ICsxNzIwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNl9uZW9uKAotICAgIGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAot
ICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCBy
ZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTYg
XAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfbmVvbgorICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLApAQCAtMjc2NCwxNyArMTczMSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRf
OF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlf
b2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAj
ZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDRfbmVvbgorICB2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC0yNzg0LDE3ICsxNzQyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJf
dCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDggXAotICB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTh4OF9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjgwMywxNSArMTc1Miw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlMTZ4MTYgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZf
bmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfYwogCiB1aW50MzJf
dCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0yODIwLDE1ICsxNzYyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMiBcCi0gIHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9uZW9uCisgIHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yODM3
LDE1ICsxNzcyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7
Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlMTZ4OCBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4X25l
b24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0yODU0LDE1ICsxNzgyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF92YXJpYW5jZTMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7
CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNiBcCi0gIHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfdmFyaWFuY2UzMngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
dmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTI4NzEs
MTUgKzE3OTIsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4
MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTMyeDMyX25lb24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyX2MK
IAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjg4OCwxNSArMTgwMiw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4
NjQgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRfbmVvbgorICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTI5MDUsMTUgKzE4MTIsNyBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlNHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDQgdnB4X2hpZ2hiZF84X3N1
Yl9waXhlbF92YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
dmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjkyMiwxNSAr
MTgyMSw3IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJf
dCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDggXAot
ICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4OCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zhcmlh
bmNlNHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTY0eDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjkzOSwxNSArMTgzMCw4IEBA
IHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfbmVv
bgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYwogCiB1aW50MzJfdCB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0yOTU2LDE1ICsxODQwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7
CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NCBcCi0gIHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfdmFyaWFuY2U2NHg2NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yOTczLDE1
ICsxODUwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4MTZf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11
aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlOHgxNiBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X25lb24K
KyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfYwogCiB1aW50MzJfdCB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTI5OTAsMTUgKzE4NjAsNyBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4NF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4NF9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDQgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMzAw
NywxNzkgKzE4NjksMTA0IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7
Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDggXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X25lb24KKyNkZWZp
bmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4OCB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHg4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJk
XzhfdmFyaWFuY2UxNngxNiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngxNl9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2X2MK
IAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
OF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngzMiB2
cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJp
YW5jZTE2eDMyIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyX2MKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfOF92YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNng4X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDggdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMTZ4OF9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDggdnB4X2hpZ2hiZF84X3ZhcmlhbmNl
MTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkXzhfdmFyaWFuY2UzMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNl
MzJ4MTYgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJk
XzhfdmFyaWFuY2UzMngxNiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngxNl9jCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2Uz
MngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MzIgdnB4X2hpZ2hiZF84
X3ZhcmlhbmNlMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMiB2
cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhf
dmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4NjQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4NjRfbmVv
bgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NCB2cHhfaGlnaGJkXzhfdmFyaWFu
Y2UzMng2NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
OF92YXJpYW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTR4NCB2cHhfaGlnaGJkXzhf
dmFyaWFuY2U0eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDQgdnB4X2hp
Z2hiZF84X3ZhcmlhbmNlNHg0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5j
ZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg4IHZw
eF9oaWdoYmRfOF92YXJpYW5jZTR4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5j
ZTR4OCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF84X3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzJfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDMyIHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDMy
X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzIgdnB4X2hpZ2hiZF84X3Zh
cmlhbmNlNjR4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF92
YXJpYW5jZTY0eDY0IHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDY0X25lb24KKyNkZWZpbmUgdnB4
X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjRfYwogCiB1
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5j
ZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNiB2cHhfaGlnaGJkXzhfdmFy
aWFuY2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNiB2cHhfaGln
aGJkXzhfdmFyaWFuY2U4eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5j
ZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg0IHZw
eF9oaWdoYmRfOF92YXJpYW5jZTh4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5j
ZTh4NCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF84X3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDhfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFy
aWFuY2U4eDggdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hi
ZF84X3ZhcmlhbmNlOHg4IHZweF9oaWdoYmRfOF92YXJpYW5jZTh4OF9jCiAKIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX2F2Z180eDRfYyhjb25zdCB1aW50OF90KiBzOCwgaW50IHApOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfYXZnXzR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHM4LCBpbnQgcCk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfYXZnXzR4NCB2cHhfaGlnaGJkX2F2Z180eDRfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkX2F2Z180eDQgdnB4X2hpZ2hiZF9hdmdfNHg0X2MKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfYXZnXzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHM4LCBpbnQgcCk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9hdmdfOHg4X25lb24oY29uc3QgdWludDhfdCogczgsIGludCBw
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9hdmdfOHg4IHZweF9oaWdoYmRfYXZnXzh4OF9uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfYXZnXzh4OCB2cHhfaGlnaGJkX2F2Z184eDhfYwogCiB2b2lkIHZw
eF9oaWdoYmRfY29tcF9hdmdfcHJlZF9jKHVpbnQxNl90KiBjb21wX3ByZWQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBwcmVkLApAQCAtMzE4NywxMyAr
MTk3NCw3IEBAIHZvaWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2ModWludDE2X3QqIGNvbXBf
cHJlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHJlZiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdm9pZCB2cHhfaGlnaGJk
X2NvbXBfYXZnX3ByZWRfbmVvbih1aW50MTZfdCogY29tcF9wcmVkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogcHJlZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZCB2cHhf
aGlnaGJkX2NvbXBfYXZnX3ByZWRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2NvbXBfYXZnX3By
ZWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2MKIAogdm9pZCB2cHhfaGlnaGJkX2NvbnZvbHZl
OF9jKGNvbnN0IHVpbnQxNl90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCkBAIC0zNDA4LDQ4ICsyMTg5LDI4IEBAIHZvaWQgdnB4X2hpZ2hi
ZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdo
YmRfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90
KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJk
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfaGlnaGJkX2Qx
MTdfcHJlZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rv
cl8xNngxNiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzE2eDE2X2MKIAogdm9pZCB2cHhfaGln
aGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyX2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9o
aWdoYmRfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8zMngzMiB2cHhfaGlnaGJk
X2QxMTdfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRp
Y3Rvcl8zMngzMiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhf
aGlnaGJkX2QxMTdfcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF9k
MTE3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfZDExN19wcmVkaWN0b3JfNHg0IHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfNHg0
X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9k
MTE3X3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfOHg4
X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzh4OF9uZW9uKHVp
bnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl84
eDggdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJk
X2QxMTdfcHJlZGljdG9yXzh4OCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzh4OF9jCiAKIHZv
aWQgdnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBkc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAt
MzUwNCw5NiArMjI2NSw1NiBAQCB2b2lkIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTZf
Yyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzE2eDE2
X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
ZDE1M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9kMTUz
X3ByZWRpY3Rvcl8xNngxNl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8zMngz
Ml9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzMy
eDMyX25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfZDE1M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hiZF9k
MTUzX3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl80
eDRfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfNHg0X25lb24o
dWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9y
XzR4NCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdo
YmRfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfNHg0X2MKIAog
dm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4
X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBs
ZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfOHg4IHZweF9oaWdoYmRfZDE1M19wcmVk
aWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDggdnB4
X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9oaWdoYmRfZDIwN19wcmVk
aWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF9kMjA3X3By
ZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmlu
ZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0
b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzE2eDE2IHZw
eF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9oaWdoYmRfZDIwN19w
cmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF9kMjA3
X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9oaWdoYmRfZDIwN19wcmVk
aWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzMyeDMy
IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9oaWdoYmRfZDIw
N19wcmVkaWN0b3JfNHg0X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QyMDdfcHJlZGlj
dG9yXzR4NF9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9k
MjA3X3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzR4NCB2cHhfaGlnaGJkX2QyMDdfcHJlZGlj
dG9yXzR4NF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl84eDhfYyh1aW50MTZf
dCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2
X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBi
ZCk7Ci12b2lkIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzh4OCB2cHhfaGln
aGJkX2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDIwN19wcmVk
aWN0b3JfOHg4IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfaGln
aGJkX2Q0NV9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtMzY0OCw0OCArMjM2
OSwyOCBAQCB2b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90
KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBi
ZCk7Ci12b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNiB2
cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2Q2
M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzE2eDE2X2MKIAogdm9p
ZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZfdCogZHN0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2
cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
YmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hiZF9k
NjNfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9y
XzMyeDMyIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZvaWQgdnB4X2hpZ2hi
ZF9kNjNfcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0
b3JfNHg0X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDYzX3By
ZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5lIHZw
eF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4NF9j
CiAKIHZvaWQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhf
aGlnaGJkX2Q2M19wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzh4
OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF9k
NjNfcHJlZGljdG9yXzh4OF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kY18xMjhfcHJlZGljdG9yXzE2
eDE2X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKQEAgLTM4ODgsNTQgKzI1ODksMzMgQEAgdm9pZCB2cHhf
aGlnaGJkX2RjX3RvcF9wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QqIGRzdCwKIHZvaWQgdnB4
X2hpZ2hiZF9mZGN0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9oaWdoYmRfZmRjdDE2eDE2X25lb24oY29uc3Qg
aW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwot
I2RlZmluZSB2cHhfaGlnaGJkX2ZkY3QxNngxNiB2cHhfaGlnaGJkX2ZkY3QxNngxNl9uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2eDE2IHZweF9oaWdoYmRfZmRjdDE2eDE2X2MKIAogdm9p
ZCB2cHhfaGlnaGJkX2ZkY3QxNngxNl8xX2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2hpZ2hiZF9mZGN0MTZ4MTZf
MV9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2eDE2XzEgdnB4X2hpZ2hi
ZF9mZGN0MTZ4MTZfMV9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2eDE2XzEgdnB4X2hp
Z2hiZF9mZGN0MTZ4MTZfMV9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfYyhjb25zdCBp
bnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBv
dXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZw
eF9oaWdoYmRfZmRjdDMyeDMyX25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3QzMngz
MiB2cHhfaGlnaGJkX2ZkY3QzMngzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDMyeDMy
IHZweF9oaWdoYmRfZmRjdDMyeDMyX2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3QzMngzMl8xX2Mo
Y29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRl
KTsKLXZvaWQgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfZmRjdDMyeDMyXzEgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfZmRjdDMyeDMyXzEgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9jCiAKIHZvaWQg
dnB4X2hpZ2hiZF9mZGN0MzJ4MzJfcmRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9oaWdoYmRfZmRjdDMyeDMy
X3JkX25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3QzMngzMl9yZCB2cHhf
aGlnaGJkX2ZkY3QzMngzMl9yZF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDMyeDMyX3Jk
IHZweF9oaWdoYmRfZmRjdDMyeDMyX3JkX2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q0eDRfYyhj
b25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsKLXZv
aWQgdnB4X2hpZ2hiZF9mZGN0NHg0X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDR4NCB2
cHhfaGlnaGJkX2ZkY3Q0eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3Q0eDQgdnB4X2hp
Z2hiZF9mZGN0NHg0X2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhfYyhjb25zdCBpbnQxNl90
KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2hpZ2hi
ZF9mZGN0OHg4X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDh4OCB2cHhfaGlnaGJkX2Zk
Y3Q4eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3Q4eDggdnB4X2hpZ2hiZF9mZGN0OHg4
X2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhfMV9jKGNvbnN0IGludDE2X3QqIGlucHV0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKQEAgLTM5OTQs
MjYgKzI2NzQsMTcgQEAgdm9pZCB2cHhfaGlnaGJkX2hfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQx
Nl90KiBkc3QsCiB2b2lkIHZweF9oaWdoYmRfaGFkYW1hcmRfMTZ4MTZfYyhjb25zdCBpbnQxNl90
KiBzcmNfZGlmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
Y29lZmYpOwotdm9pZCB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X25lb24oY29uc3QgaW50MTZf
dCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIGNvZWZmKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9oYWRhbWFyZF8xNngxNiB2cHhfaGln
aGJkX2hhZGFtYXJkXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9oYWRhbWFyZF8xNngx
NiB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X2MKIAogdm9pZCB2cHhfaGlnaGJkX2hhZGFtYXJk
XzMyeDMyX2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIGNvZWZmKTsKLXZvaWQgdnB4X2hpZ2hiZF9oYWRhbWFyZF8z
MngzMl9uZW9uKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBjb2VmZik7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
aGFkYW1hcmRfMzJ4MzIgdnB4X2hpZ2hiZF9oYWRhbWFyZF8zMngzMl9uZW9uCisjZGVmaW5lIHZw
eF9oaWdoYmRfaGFkYW1hcmRfMzJ4MzIgdnB4X2hpZ2hiZF9oYWRhbWFyZF8zMngzMl9jCiAKIHZv
aWQgdnB4X2hpZ2hiZF9oYWRhbWFyZF84eDhfYyhjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBjb2VmZik7Ci12b2lkIHZweF9o
aWdoYmRfaGFkYW1hcmRfOHg4X25lb24oY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogY29lZmYpOwotI2RlZmluZSB2
cHhfaGlnaGJkX2hhZGFtYXJkXzh4OCB2cHhfaGlnaGJkX2hhZGFtYXJkXzh4OF9uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfaGFkYW1hcmRfOHg4IHZweF9oaWdoYmRfaGFkYW1hcmRfOHg4X2MKIAog
dm9pZCB2cHhfaGlnaGJkX2lkY3QxNngxNl8xMF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGRlc3QsCkBA
IC00MzU1LDc4MSArMzAyNiwzMDAgQEAgdm9pZCB2cHhfaGlnaGJkX21pbm1heF84eDhfYyhjb25z
dCB1aW50OF90KiBzOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRwLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG1pbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50KiBtYXgpOwotdm9pZCB2cHhfaGlnaGJkX21pbm1heF84eDhfbmVvbihjb25z
dCB1aW50OF90KiBzOCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGQ4LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCogbWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQq
IG1heCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfbWlubWF4Xzh4OCB2cHhfaGlnaGJkX21pbm1heF84
eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX21pbm1heF84eDggdnB4X2hpZ2hiZF9taW5tYXhf
OHg4X2MKIAogdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfYyhjb25zdCB0cmFuX2xvd190KiBj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
a2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6
YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50
X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNv
ZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9uZW9uKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYiB2cHhfaGlnaGJkX3F1YW50aXplX2JfbmVv
bgotCi12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jKAotICAgIGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29u
c3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKLXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX25lb24oCi0gICAgY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
KiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5f
bG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAg
IHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNj
YW5fb3JkZXIpOwotI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzIgdnB4X2hpZ2hi
ZF9xdWFudGl6ZV9iXzMyeDMyX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOworI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2IgdnB4X2hpZ2hiZF9x
dWFudGl6ZV9iX2MKKwordm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyIHZweF9oaWdoYmRfcXVhbnRpemVfYl8z
MngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNiB2cHhfaGlnaGJkX3Nh
ZDE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNiB2cHhfaGlnaGJkX3NhZDE2
eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMTZ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZyB2cHhfaGlnaGJk
X3NhZDE2eDE2X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnIHZweF9o
aWdoYmRfc2FkMTZ4MTZfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGQgdnB4X2hpZ2hi
ZF9zYWQxNngxNng0ZF9uZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZCB2cHhfaGlnaGJk
X3NhZDE2eDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyIHZweF9o
aWdoYmRfc2FkMTZ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyIHZweF9oaWdo
YmRfc2FkMTZ4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQxNngzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnIHZw
eF9oaWdoYmRfc2FkMTZ4MzJfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMl9h
dmcgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MzJ4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZCB2
cHhfaGlnaGJkX3NhZDE2eDMyeDRkX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkIHZw
eF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNng4
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDggdnB4X2hp
Z2hiZF9zYWQxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNng4IHZweF9oaWdoYmRf
c2FkMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQxNng4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnIHZweF9oaWdoYmRfc2FkMTZ4
OF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnIHZweF9oaWdoYmRfc2Fk
MTZ4OF9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfbmVvbgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWQxNng4eDRkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9jCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNiB2cHhfaGlnaGJkX3NhZDMyeDE2X25lb24KKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQzMngxNiB2cHhfaGlnaGJkX3NhZDMyeDE2X2MKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZn
X2MKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12
b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9uZW9u
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2MKIAog
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyIHZweF9oaWdoYmRfc2FkMzJ4MzJfbmVv
bgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyIHZweF9oaWdoYmRfc2FkMzJ4MzJfYwogCiB1
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9h
dmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMzJ4MzJf
YXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcgdnB4X2hpZ2hiZF9zYWQz
MngzMl9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCB2cHhfaGlnaGJkX3NhZDMyeDMy
eDRkX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4
NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjQgdnB4X2hpZ2hiZF9zYWQz
Mng2NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjQgdnB4X2hpZ2hiZF9zYWQzMng2
NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDMyeDY0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcgdnB4X2hpZ2hiZF9z
YWQzMng2NF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZyB2cHhfaGln
aGJkX3NhZDMyeDY0X2F2Z19jCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkIHZweF9oaWdoYmRf
c2FkMzJ4NjR4NGRfbmVvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgdnB4X2hpZ2hiZF9z
YWQzMng2NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4NCB2cHhfaGlnaGJkX3NhZDR4NF9uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0IHZweF9oaWdoYmRfc2FkNHg0X2MKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkNHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfYXZnX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ0
eDRfYXZnIHZweF9oaWdoYmRfc2FkNHg0X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
NHg0X2F2ZyB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg0
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4NHg0ZCB2cHhfaGlnaGJkX3NhZDR4NHg0ZF9u
ZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0eDRkIHZweF9oaWdoYmRfc2FkNHg0eDRkX2MKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDR4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfc2FkNHg4IHZweF9oaWdoYmRfc2FkNHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ0eDggdnB4X2hpZ2hiZF9zYWQ0eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0
eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDR4OF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4OF9hdmcgdnB4X2hpZ2hiZF9z
YWQ0eDhfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ0eDhfYXZnIHZweF9oaWdoYmRf
c2FkNHg4X2F2Z19jCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfc2FkNHg4eDRkIHZweF9oaWdoYmRfc2FkNHg4eDRkX25lb24KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ0eDh4NGQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfc2FkNjR4MzIgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRf
c2FkNjR4MzIgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMl9hdmcgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfbmVvbgorI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDY0eDMyX2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19jCiAKIHZvaWQgdnB4
X2hpZ2hiZF9zYWQ2NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZDY0eDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGln
aGJkX3NhZDY0eDMyeDRkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfbmVvbgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdo
YmRfc2FkNjR4MzJ4NGQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9jCiAKIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWQ2NHg2NCB2cHhfaGlnaGJkX3NhZDY0eDY0X25lb24KKyNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWQ2NHg2NCB2cHhfaGlnaGJkX3NhZDY0eDY0X2MKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2
cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2MKIAog
dm9pZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9oaWdoYmRfc2FkNjR4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfc2FkNjR4NjR4NGQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9uZW9uCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2MKIAogdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWQ4eDE2IHZweF9oaWdoYmRfc2FkOHgxNl9uZW9uCisjZGVmaW5lIHZweF9o
aWdoYmRfc2FkOHgxNiB2cHhfaGlnaGJkX3NhZDh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQ4eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4
eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ4eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3Nh
ZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4MTZ4NGQgdnB4X2hp
Z2hiZF9zYWQ4eDE2eDRkX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkOHgxNng0ZCB2cHhfaGlnaGJk
X3NhZDh4MTZ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDQgdnB4X2hpZ2hiZF9zYWQ4eDRfbmVvbgor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NCB2cHhfaGlnaGJkX3NhZDh4NF9jCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDh4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2Fk
OHg0X2F2ZyB2cHhfaGlnaGJkX3NhZDh4NF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDh4NF9hdmcgdnB4X2hpZ2hiZF9zYWQ4eDRfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDh4
NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkOHg0eDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDR4NGQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRf
bmVvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NHg0ZCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9jCiAKIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDh4OCB2cHhfaGlnaGJkX3NhZDh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRf
c2FkOHg4IHZweF9oaWdoYmRfc2FkOHg4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
OHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnIHZweF9oaWdoYmRf
c2FkOHg4X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkOHg4X2F2ZyB2cHhfaGlnaGJk
X3NhZDh4OF9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDh4OHg0ZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNngxNiB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X25lb24KLQotdm9p
ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDE2eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfbmVvbgot
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
NngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzIgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngz
Ml9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0
ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2
eDMyeDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4IHZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4OF9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2
cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX25l
b24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2IHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4MTZfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8zMngxNng0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMiB2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDMyX25lb24KLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzMyeDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkIHZweF9o
aWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4NjQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8z
Mng2NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX25lb24KLQotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0
IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X25lb24KLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2Fk
X3NraXBfNHg0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80
eDR4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3Nr
aXBfNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDggdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfbmVvbgot
Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4
OHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWRfc2tpcF82NHgzMiB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX25lb24KLQotdm9pZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDMyeDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbgotCi11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9uZW9u
Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRk
X25lb24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF84eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2IHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNl9u
ZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGln
aGJkX3NhZF9za2lwXzh4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX25lb24KLQot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkX3NraXBfOHg0IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X25lb24KLQotdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHg0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF84eDR4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkX3NraXBfOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDggdnB4X2hpZ2hiZF9zYWRfc2tp
cF84eDhfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4OHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZF9uZW9uCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9o
aWdoYmRfc2FkOHg4eDRkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MKIAogaW50IHZweF9oaWdoYmRf
c2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLWludCB2cHhfaGln
aGJkX3NhdGRfbmVvbihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfc2F0ZCB2cHhfaGlnaGJkX3NhdGRfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkX3NhdGQgdnB4X2hpZ2hiZF9zYXRkX2MKIAogdm9pZCB2cHhfaGlnaGJkX3N1YnRyYWN0X2Js
b2NrX2MoaW50IHJvd3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29s
cywKQEAgLTUxNDAsMTYgKzMzMzAsNyBAQCB2b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tf
YyhpbnQgcm93cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHByZWQ4X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBwcmVkX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7
Ci12b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfbmVvbihpbnQgcm93cywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX25lb24KKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2Nr
X2MKIAogdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwK
QEAgLTUzMzEsMTEgKzM1MTIsMTEgQEAgaW50MTZfdCB2cHhfaW50X3Byb19jb2xfYyhjb25zdCB1
aW50OF90KiByZWYsIGNvbnN0IGludCB3aWR0aCk7CiBpbnQxNl90IHZweF9pbnRfcHJvX2NvbF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsKICNkZWZpbmUgdnB4X2lu
dF9wcm9fY29sIHZweF9pbnRfcHJvX2NvbF9uZW9uCiAKLXZvaWQgdnB4X2ludF9wcm9fcm93X2Mo
aW50MTZfdCBoYnVmWzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCogaGJ1ZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50IGhlaWdodCk7Ci12b2lkIHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3QgaGJ1
ZlsxNl0sCit2b2lkIHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3QqIGhidWYsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludCBoZWlnaHQpOwpAQCAtNTU2Myw3OSArMzc0NCwyOCBAQCB1bnNpZ25lZCBpbnQg
dnB4X21zZTE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNlMTZ4MTZfbmVv
bl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9tc2UxNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7CisjZGVmaW5lIHZweF9tc2UxNngxNiB2cHhfbXNlMTZ4MTZfbmVvbgogCiB1bnNp
Z25lZCBpbnQgdnB4X21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21zZTE2
eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X21zZTE2eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7CisjZGVmaW5lIHZweF9tc2UxNng4IHZweF9tc2UxNng4X2MKIAogdW5zaWduZWQgaW50
IHZweF9tc2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
dW5zaWduZWQgaW50IHZweF9tc2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9tc2U4eDE2X25lb25f
ZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9tc2U4eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwor
I2RlZmluZSB2cHhfbXNlOHgxNiB2cHhfbXNlOHgxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhfbXNl
OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X21zZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9tc2U4eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfbXNlOHg4KShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF9tc2U4eDggdnB4X21zZTh4
OF9jCiAKIHZvaWQgdnB4X3BsYW5lX2FkZF9ub2lzZV9jKHVpbnQ4X3QqIHN0YXJ0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90KiBub2lzZSwKQEAgLTU2NjUsMzYgKzM3
OTUsNTggQEAgdm9pZCB2cHhfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19tYl9yb3dfbmVvbih1
bnNpZ25lZCBjaGFyKiBzcmMsCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfYyhjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNv
bnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iX25lb24oY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0
cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNy
b2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6
YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYiB2cHhfcXVhbnRp
emVfYl9uZW9uCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1h
Y3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
a2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpi
aW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5k
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hp
ZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9v
cmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lk
IHZweF9xdWFudGl6ZV9iXzMyeDMyX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3Bs
YW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRw
dHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9i
bG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6Ymlu
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3Vu
ZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVh
bnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90
KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYl8zMngzMiB2cHhf
cXVhbnRpemVfYl8zMngzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLApAQCAtNTcwNSwxNCArMzg1Nyw3IEBAIHVuc2lnbmVkIGludCB2
cHhfc2FkMTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9uZW9uX2Rv
dHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9zYWQxNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
KyNkZWZpbmUgdnB4X3NhZDE2eDE2IHZweF9zYWQxNngxNl9uZW9uCiAKIHVuc2lnbmVkIGludCB2
cHhfc2FkMTZ4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01NzI0LDM3ICszODY5LDMzIEBA
IHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX25lb25fZG90cHJvZChjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRD
RF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDE2eDE2X2F2ZykoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmlu
ZSB2cHhfc2FkMTZ4MTZfYXZnIHZweF9zYWQxNngxNl9hdmdfbmVvbgorCit2b2lkIHZweF9zYWQx
NngxNngzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4MTZ4MyB2
cHhfc2FkMTZ4MTZ4M19jCiAKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkMTZ4
MTZ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVS
TiB2b2lkICgqdnB4X3NhZDE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2Rl
ZmluZSB2cHhfc2FkMTZ4MTZ4NGQgdnB4X3NhZDE2eDE2eDRkX25lb24KKwordm9pZCB2cHhfc2Fk
MTZ4MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2eDgg
dnB4X3NhZDE2eDE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTU3NjQsMTQgKzM5MDUsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMTZ4
MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9zYWQx
NngzMiB2cHhfc2FkMTZ4MzJfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2F2Z19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLApAQCAtNTc4MywzNyArMzkxNywxOSBAQCB1bnNpZ25lZCBpbnQgdnB4
X3NhZDE2eDMyX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZDE2eDMyX2F2Z19uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9zYWQxNngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDE2eDMyX2F2
ZyB2cHhfc2FkMTZ4MzJfYXZnX25lb24KIAogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9zYWQxNngzMng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJU
Q0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRfbmVvbgogCiB1bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01ODIzLDE0ICszOTM5LDcgQEAg
dW5zaWduZWQgaW50IHZweF9zYWQxNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4
OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9zYWQxNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OworI2RlZmluZSB2cHhfc2FkMTZ4OCB2cHhfc2FkMTZ4OF9uZW9uCiAKIHVuc2lnbmVkIGludCB2
cHhfc2FkMTZ4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTg0MiwzNyArMzk1MSwzMyBAQCB1
bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9zYWQxNng4X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQxNng4X2F2
ZyB2cHhfc2FkMTZ4OF9hdmdfbmVvbgorCit2b2lkIHZweF9zYWQxNng4eDNfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDh4MyB2cHhfc2FkMTZ4OHgzX2MKIAogdm9pZCB2
cHhfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNng4
eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZDE2eDh4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4OHg0ZCkoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX25lb24KKwordm9pZCB2
cHhfc2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDgg
dnB4X3NhZDE2eDh4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNTg4MiwxNCArMzk4Nyw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQzMngxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQzMngx
NikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDMy
eDE2IHZweF9zYWQzMngxNl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYXZnX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC01OTAxLDM3ICszOTk5LDE5IEBAIHVuc2lnbmVkIGludCB2cHhf
c2FkMzJ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVk
IGludCB2cHhfc2FkMzJ4MTZfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQg
aW50ICgqdnB4X3NhZDMyeDE2X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkMzJ4MTZfYXZn
IHZweF9zYWQzMngxNl9hdmdfbmVvbgogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngxNng0ZF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4
X3NhZDMyeDE2eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9zYWQzMngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKKyNkZWZpbmUgdnB4X3NhZDMyeDE2eDRkIHZweF9zYWQzMngxNng0ZF9uZW9uCiAKIHVuc2ln
bmVkIGludCB2cHhfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTk0MSwxNCArNDAyMSw3IEBA
IHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9z
YWQzMngzMl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0Rf
RVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQzMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyIHZweF9zYWQzMngzMl9uZW9uCiAK
IHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01OTYw
LDM3ICs0MDMzLDI2IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX25l
b25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDMyX2F2Zyko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOworI2RlZmluZSB2cHhfc2FkMzJ4MzJfYXZnIHZweF9zYWQzMngzMl9hdmdfbmVvbgog
CiB2b2lkIHZweF9zYWQzMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2
b2lkIHZweF9zYWQzMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDMyeDMyeDRkX25lb25fZG90cHJv
ZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQz
MngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMy
eDRkIHZweF9zYWQzMngzMng0ZF9uZW9uCisKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQzMngzMng4IHZweF9zYWQzMngzMng4X2MK
IAogdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC02MDAwLDE0ICs0
MDYyLDcgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZDMyeDY0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDY0KShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfc2FkMzJ4NjQgdnB4X3NhZDMyeDY0
X25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTYwMTksMzcgKzQwNzQsMTkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQzMng2
NF9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4
NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQzMng2NF9hdmcgdnB4X3NhZDMyeDY0X2F2
Z19uZW9uCiAKIHZvaWQgdnB4X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKIHZvaWQgdnB4X3NhZDMyeDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkMzJ4NjR4NGRfbmVv
bl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgq
dnB4X3NhZDMyeDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhf
c2FkMzJ4NjR4NGQgdnB4X3NhZDMyeDY0eDRkX25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQ0
eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKQEAgLTYwNzMsMTggKzQxMTAsMzIgQEAgdW5zaWduZWQgaW50IHZweF9z
YWQ0eDRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4
X3NhZDR4NF9hdmcgdnB4X3NhZDR4NF9hdmdfbmVvbgogCit2b2lkIHZweF9zYWQ0eDR4M19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ0eDR4MyB2cHhfc2FkNHg0eDNfYworCiB2b2lk
IHZweF9zYWQ0eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNHg0eDRkX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDR4
NHg0ZCB2cHhfc2FkNHg0eDRkX25lb24KIAordm9pZCB2cHhfc2FkNHg0eDhfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDggdnB4X3NhZDR4NHg4X2MKKwogdW5zaWduZWQgaW50
IHZweF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKQEAgLTYxMDksMTQgKzQxNjAsMTQgQEAgdW5zaWduZWQgaW50IHZw
eF9zYWQ0eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2Fk
NHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDR4OHg0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0eDh4NGQgdnB4
X3NhZDR4OHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLApAQCAtNjEyNywxNCArNDE3OCw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2Fk
NjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHgzMl9uZW9uX2RvdHByb2Qo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAo
KnZweF9zYWQ2NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZp
bmUgdnB4X3NhZDY0eDMyIHZweF9zYWQ2NHgzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2Fk
NjR4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC02MTQ2LDM3ICs0MTkwLDE5IEBAIHVuc2ln
bmVkIGludCB2cHhfc2FkNjR4MzJfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDY0eDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhf
c2FkNjR4MzJfYXZnIHZweF9zYWQ2NHgzMl9hdmdfbmVvbgogCiB2b2lkIHZweF9zYWQ2NHgzMng0
ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHgzMng0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZDY0eDMyeDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ2NHgzMng0ZCkoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDY0eDMyeDRkIHZweF9zYWQ2NHgzMng0ZF9u
ZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNjE4Niwx
NCArNDIxMiw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWdu
ZWQgaW50IHZweF9zYWQ2NHg2NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHg2NCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDY0eDY0IHZweF9zYWQ2
NHg2NF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC02MjA1LDM3ICs0MjI0LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZn
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2Fk
NjR4NjRfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3Nh
ZDY0eDY0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkNjR4NjRfYXZnIHZweF9zYWQ2NHg2
NF9hdmdfbmVvbgogCiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDY0eDY0eDRk
X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9p
ZCAoKnZweF9zYWQ2NHg2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUg
dnB4X3NhZDY0eDY0eDRkIHZweF9zYWQ2NHg2NHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhf
c2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTYyNTksNDk5ICs0MjYwLDExMyBAQCB1bnNpZ25lZCBp
bnQgdnB4X3NhZDh4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAj
ZGVmaW5lIHZweF9zYWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9hdmdfbmVvbgogCi12b2lkIHZweF9z
YWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4
X3NhZDh4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgxNng0ZF9uZW9uCi0KLXVu
c2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHg0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X3NhZDh4NCB2cHhfc2FkOHg0X25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
I2RlZmluZSB2cHhfc2FkOHg0X2F2ZyB2cHhfc2FkOHg0X2F2Z19uZW9uCi0KLXZvaWQgdnB4X3Nh
ZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDh4
NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZw
eF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkOHg4IHZweF9z
YWQ4eDhfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZDh4OF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9z
YWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZnX25lb24KLQotdm9pZCB2cHhfc2FkOHg4eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkOHg4eDRkX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2Fk
OHg4eDRkIHZweF9zYWQ4eDh4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MTZfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngx
Nl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8xNngxNikoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9p
ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2
eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9u
ZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfMTZ4MTZ4NGQpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZF9za2lwXzE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQg
KCp2cHhfc2FkX3NraXBfMTZ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3Nh
ZF9za2lwXzE2eDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNng4X25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzE2eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF8xNng4eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lw
XzE2eDh4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9uZW9uX2RvdHByb2QoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8zMngxNikoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4
MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9uZW9uX2RvdHByb2QoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfc2FkX3NraXBfMzJ4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF8zMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMy
eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfMzJ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMzJ4
MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tp
cF8zMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4
MzJ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzMyeDMyeDRkKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X25lb25fZG90cHJvZChjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X3NhZF9za2lwXzMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9zYWRfc2tpcF8zMng2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4NF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDQgdnB4X3NhZF9za2lwXzR4NF9uZW9u
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzR4NHg0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NHg0ZCB2cHhfc2FkX3NraXBf
NHg0eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfNHg4IHZweF9zYWRfc2tpcF80eDhfbmVvbgotCi12b2lkIHZweF9z
YWRfc2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF80eDh4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDh4NGQgdnB4X3NhZF9za2lwXzR4OHg0ZF9uZW9uCi0K
LXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX25lb25fZG90cHJvZChjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQg
aW50ICgqdnB4X3NhZF9za2lwXzY0eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZw
eF9zYWRfc2tpcF82NHgzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwordm9pZCB2cHhfc2FkOHgxNngzX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDE2eDMgdnB4X3NhZDh4MTZ4M19jCiAKLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF82NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZF9za2lwXzY0eDY0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZF9za2lwXzY0eDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwordm9pZCB2cHhfc2FkOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4MTZ4NGQgdnB4X3Nh
ZDh4MTZ4NGRfbmVvbgorCit2b2lkIHZweF9zYWQ4eDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
KyNkZWZpbmUgdnB4X3NhZDh4MTZ4OCB2cHhfc2FkOHgxNng4X2MKIAotdm9pZCB2cHhfc2FkX3Nr
aXBfNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9z
YWQ4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwor
dW5zaWduZWQgaW50IHZweF9zYWQ4eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzY0
eDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0
ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfNjR4NjR4NGQpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfc2Fk
OHg0IHZweF9zYWQ4eDRfbmVvbgogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwordW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF84eDE2IHZweF9zYWRfc2tpcF84eDE2X25lb24KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2Fk
OHg0X2F2ZyB2cHhfc2FkOHg0X2F2Z19uZW9uCiAKLXZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF84eDE2eDRkIHZweF9zYWRfc2tpcF84eDE2eDRkX25lb24KK3ZvaWQg
dnB4X3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3Nh
ZDh4NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNk
ZWZpbmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX25lb24KIAotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDRf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg0IHZweF9zYWRf
c2tpcF84eDRfbmVvbgordW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwordW5zaWduZWQgaW50IHZweF9zYWQ4eDhf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOworI2RlZmluZSB2cHhfc2FkOHg4IHZweF9zYWQ4eDhfbmVvbgogCi12b2lkIHZweF9zYWRf
c2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZp
bmUgdnB4X3NhZF9za2lwXzh4NHg0ZCB2cHhfc2FkX3NraXBfOHg0eDRkX25lb24KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKK3Vuc2ln
bmVkIGludCB2cHhfc2FkOHg4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4
X3NhZDh4OF9hdmcgdnB4X3NhZDh4OF9hdmdfbmVvbgogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4OF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDggdnB4X3NhZF9za2lwXzh4
OF9uZW9uCit2b2lkIHZweF9zYWQ4eDh4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9z
YWQ4eDh4MyB2cHhfc2FkOHg4eDNfYwogCi12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF84eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF84eDh4NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9uZW9uCit2b2lkIHZweF9zYWQ4eDh4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDh4NGRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4
NGQgdnB4X3NhZDh4OHg0ZF9uZW9uCisKK3ZvaWQgdnB4X3NhZDh4OHg4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKKyNkZWZpbmUgdnB4X3NhZDh4OHg4IHZweF9zYWQ4eDh4OF9jCiAKIGludCB2cHhfc2F0ZF9j
KGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKIGludCB2cHhfc2F0ZF9uZW9u
KGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKQEAgLTc0MDAsMTYgKzUwMTUs
NyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2eDE2X25lb25fZG90cHJvZChjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTE2eDE2KShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFy
aWFuY2UxNngxNiB2cHhfdmFyaWFuY2UxNngxNl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfdmFy
aWFuY2UxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc0MjEsMTYgKzUwMjcsNyBAQCB1bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
dW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2eDMyX25lb25fZG90cHJvZChjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF92YXJpYW5jZTE2eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2UxNngz
MiB2cHhfdmFyaWFuY2UxNngzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNng4
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC03NDQyLDE2ICs1MDM5LDcgQEAgdW5zaWduZWQgaW50IHZw
eF92YXJpYW5jZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZw
eF92YXJpYW5jZTE2eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFu
Y2UxNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTE2eDggdnB4X3ZhcmlhbmNlMTZ4OF9uZW9uCiAK
IHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc0
NjMsMTYgKzUwNTEsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MTZfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDE2X25lb25f
ZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTMyeDE2KShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2Rl
ZmluZSB2cHhfdmFyaWFuY2UzMngxNiB2cHhfdmFyaWFuY2UzMngxNl9uZW9uCiAKIHVuc2lnbmVk
IGludCB2cHhfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc0ODQsMTYgKzUw
NjMsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MzJfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDMyX25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0Rf
RVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTMyeDMyKShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhf
dmFyaWFuY2UzMngzMiB2cHhfdmFyaWFuY2UzMngzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhf
dmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc1MDUsMTYgKzUwNzUsNyBAQCB1
bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4NjRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDY0X25lb25fZG90cHJvZChjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF92YXJpYW5jZTMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2Uz
Mng2NCB2cHhfdmFyaWFuY2UzMng2NF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U0
eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtNzUyNiwxNiArNTA4Nyw3IEBAIHVuc2lnbmVkIGludCB2
cHhfdmFyaWFuY2U0eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92
YXJpYW5jZTR4NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlNHg0KShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZp
bmUgdnB4X3ZhcmlhbmNlNHg0IHZweF92YXJpYW5jZTR4NF9uZW9uCiAKIHVuc2lnbmVkIGludCB2
cHhfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNzU0NywxNiArNTA5OSw3IEBAIHVu
c2lnbmVkIGludCB2cHhfdmFyaWFuY2U0eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTR4OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3Zh
cmlhbmNlNHg4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlNHg4IHZweF92YXJpYW5jZTR4OF9uZW9uCiAKIHVu
c2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc1Njgs
MTYgKzUxMTEsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4MzJfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTY0eDMyX25lb25fZG90
cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTY0eDMyKShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmlu
ZSB2cHhfdmFyaWFuY2U2NHgzMiB2cHhfdmFyaWFuY2U2NHgzMl9uZW9uCiAKIHVuc2lnbmVkIGlu
dCB2cHhfdmFyaWFuY2U2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc1ODksMTYgKzUxMjMs
NyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4NjRfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTY0eDY0X25lb25fZG90cHJvZChjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTY0eDY0KShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFy
aWFuY2U2NHg2NCB2cHhfdmFyaWFuY2U2NHg2NF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfdmFy
aWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC03NjEwLDE2ICs1MTM1LDcgQEAgdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTh4MTZfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2
cHhfdmFyaWFuY2U4eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTh4MTYgdnB4X3ZhcmlhbmNlOHgx
Nl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApA
QCAtNzYzMSwxNiArNTE0Nyw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDRfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4NF9uZW9uX2RvdHBy
b2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHg0KShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlOHg0IHZw
eF92YXJpYW5jZTh4NF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLApAQCAtNzY1MiwxNiArNTE1OSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFu
Y2U4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4
OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHg4KShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3Zh
cmlhbmNlOHg4IHZweF92YXJpYW5jZTh4OF9uZW9uCiAKIHZvaWQgdnB4X3ZlX3ByZWRpY3Rvcl80
eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKQEAgLTc2ODMsNDAzICs1MTgxLDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9p
bnRlcm5hbCh2b2lkKSB7CiAgIGludCBmbGFncyA9IGFybV9jcHVfY2FwcygpOwogCiAgICh2b2lk
KWZsYWdzOwotCi0gIHZweF9jb252b2x2ZTggPSB2cHhfY29udm9sdmU4X25lb247Ci0jaWYgSEFW
RV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZw
eF9jb252b2x2ZTggPSB2cHhfY29udm9sdmU4X25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0g
IHZweF9jb252b2x2ZThfYXZnID0gdnB4X2NvbnZvbHZlOF9hdmdfbmVvbjsKLSNpZiBIQVZFX05F
T05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X2Nv
bnZvbHZlOF9hdmcgPSB2cHhfY29udm9sdmU4X2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRp
ZgotICB2cHhfY29udm9sdmU4X2F2Z19ob3JpeiA9IHZweF9jb252b2x2ZThfYXZnX2hvcml6X25l
b247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9jb252b2x2ZThfYXZnX2hvcml6ID0gdnB4X2NvbnZvbHZlOF9hdmdfaG9y
aXpfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X2NvbnZvbHZlOF9hdmdfdmVydCA9
IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBp
ZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X2NvbnZvbHZlOF9hdmdfdmVy
dCA9IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAg
dnB4X2NvbnZvbHZlOF9ob3JpeiA9IHZweF9jb252b2x2ZThfaG9yaXpfbmVvbjsKLSNpZiBIQVZF
X05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4
X2NvbnZvbHZlOF9ob3JpeiA9IHZweF9jb252b2x2ZThfaG9yaXpfbmVvbl9kb3Rwcm9kOwotICB9
Ci0jZW5kaWYKLSAgdnB4X2NvbnZvbHZlOF92ZXJ0ID0gdnB4X2NvbnZvbHZlOF92ZXJ0X25lb247
Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkg
ewotICAgIHZweF9jb252b2x2ZThfdmVydCA9IHZweF9jb252b2x2ZThfdmVydF9uZW9uX2RvdHBy
b2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfZ2V0MTZ4MTZ2YXIgPSB2cHhfZ2V0MTZ4MTZ2YXJfbmVv
bjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9E
KSB7Ci0gICAgdnB4X2dldDE2eDE2dmFyID0gdnB4X2dldDE2eDE2dmFyX25lb25fZG90cHJvZDsK
LSAgfQotI2VuZGlmCi0gIHZweF9nZXQ0eDRzc2VfY3MgPSB2cHhfZ2V0NHg0c3NlX2NzX25lb247
Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkg
ewotICAgIHZweF9nZXQ0eDRzc2VfY3MgPSB2cHhfZ2V0NHg0c3NlX2NzX25lb25fZG90cHJvZDsK
LSAgfQotI2VuZGlmCi0gIHZweF9nZXQ4eDh2YXIgPSB2cHhfZ2V0OHg4dmFyX25lb247Ci0jaWYg
SEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAg
IHZweF9nZXQ4eDh2YXIgPSB2cHhfZ2V0OHg4dmFyX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlm
Ci0gIHZweF9tc2UxNngxNiA9IHZweF9tc2UxNngxNl9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQ
Uk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfbXNlMTZ4MTYg
PSB2cHhfbXNlMTZ4MTZfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X21zZTE2eDgg
PSB2cHhfbXNlMTZ4OF9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfbXNlMTZ4OCA9IHZweF9tc2UxNng4X25lb25f
ZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9tc2U4eDE2ID0gdnB4X21zZTh4MTZfbmVvbjsK
LSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7
Ci0gICAgdnB4X21zZTh4MTYgPSB2cHhfbXNlOHgxNl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRp
ZgotICB2cHhfbXNlOHg4ID0gdnB4X21zZTh4OF9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9E
Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfbXNlOHg4ID0gdnB4
X21zZTh4OF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkMTZ4MTYgPSB2cHhf
c2FkMTZ4MTZfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNf
TkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2eDE2ID0gdnB4X3NhZDE2eDE2X25lb25fZG90
cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9zYWQxNngxNl9hdmcgPSB2cHhfc2FkMTZ4MTZfYXZn
X25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9U
UFJPRCkgewotICAgIHZweF9zYWQxNngxNl9hdmcgPSB2cHhfc2FkMTZ4MTZfYXZnX25lb25fZG90
cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9zYWQxNngxNng0ZCA9IHZweF9zYWQxNngxNng0ZF9u
ZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBS
T0QpIHsKLSAgICB2cHhfc2FkMTZ4MTZ4NGQgPSB2cHhfc2FkMTZ4MTZ4NGRfbmVvbl9kb3Rwcm9k
OwotICB9Ci0jZW5kaWYKLSAgdnB4X3NhZDE2eDMyID0gdnB4X3NhZDE2eDMyX25lb247Ci0jaWYg
SEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAg
IHZweF9zYWQxNngzMiA9IHZweF9zYWQxNngzMl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgot
ICB2cHhfc2FkMTZ4MzJfYXZnID0gdnB4X3NhZDE2eDMyX2F2Z19uZW9uOwotI2lmIEhBVkVfTkVP
Tl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2Fk
MTZ4MzJfYXZnID0gdnB4X3NhZDE2eDMyX2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgot
ICB2cHhfc2FkMTZ4MzJ4NGQgPSB2cHhfc2FkMTZ4MzJ4NGRfbmVvbjsKLSNpZiBIQVZFX05FT05f
RE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2
eDMyeDRkID0gdnB4X3NhZDE2eDMyeDRkX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZw
eF9zYWQxNng4ID0gdnB4X3NhZDE2eDhfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBp
ZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2eDggPSB2cHhfc2Fk
MTZ4OF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkMTZ4OF9hdmcgPSB2cHhf
c2FkMTZ4OF9hdmdfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBI
QVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2eDhfYXZnID0gdnB4X3NhZDE2eDhfYXZn
X25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9zYWQxNng4eDRkID0gdnB4X3NhZDE2
eDh4NGRfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2eDh4NGQgPSB2cHhfc2FkMTZ4OHg0ZF9uZW9uX2Rv
dHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkMzJ4MTYgPSB2cHhfc2FkMzJ4MTZfbmVvbjsK
LSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7
Ci0gICAgdnB4X3NhZDMyeDE2ID0gdnB4X3NhZDMyeDE2X25lb25fZG90cHJvZDsKLSAgfQotI2Vu
ZGlmCi0gIHZweF9zYWQzMngxNl9hdmcgPSB2cHhfc2FkMzJ4MTZfYXZnX25lb247Ci0jaWYgSEFW
RV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZw
eF9zYWQzMngxNl9hdmcgPSB2cHhfc2FkMzJ4MTZfYXZnX25lb25fZG90cHJvZDsKLSAgfQotI2Vu
ZGlmCi0gIHZweF9zYWQzMngxNng0ZCA9IHZweF9zYWQzMngxNng0ZF9uZW9uOwotI2lmIEhBVkVf
TkVPTl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhf
c2FkMzJ4MTZ4NGQgPSB2cHhfc2FkMzJ4MTZ4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYK
LSAgdnB4X3NhZDMyeDMyID0gdnB4X3NhZDMyeDMyX25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBS
T0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQzMngzMiA9
IHZweF9zYWQzMngzMl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkMzJ4MzJf
YXZnID0gdnB4X3NhZDMyeDMyX2F2Z19uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMzJ4MzJfYXZnID0gdnB4
X3NhZDMyeDMyX2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkMzJ4MzJ4
NGQgPSB2cHhfc2FkMzJ4MzJ4NGRfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAo
ZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDMyeDMyeDRkID0gdnB4X3Nh
ZDMyeDMyeDRkX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9zYWQzMng2NCA9IHZw
eF9zYWQzMng2NF9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhB
U19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMzJ4NjQgPSB2cHhfc2FkMzJ4NjRfbmVvbl9k
b3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3NhZDMyeDY0X2F2ZyA9IHZweF9zYWQzMng2NF9h
dmdfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9E
T1RQUk9EKSB7Ci0gICAgdnB4X3NhZDMyeDY0X2F2ZyA9IHZweF9zYWQzMng2NF9hdmdfbmVvbl9k
b3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3NhZDMyeDY0eDRkID0gdnB4X3NhZDMyeDY0eDRk
X25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9U
UFJPRCkgewotICAgIHZweF9zYWQzMng2NHg0ZCA9IHZweF9zYWQzMng2NHg0ZF9uZW9uX2RvdHBy
b2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkNjR4MzIgPSB2cHhfc2FkNjR4MzJfbmVvbjsKLSNp
ZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0g
ICAgdnB4X3NhZDY0eDMyID0gdnB4X3NhZDY0eDMyX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlm
Ci0gIHZweF9zYWQ2NHgzMl9hdmcgPSB2cHhfc2FkNjR4MzJfYXZnX25lb247Ci0jaWYgSEFWRV9O
RU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9z
YWQ2NHgzMl9hdmcgPSB2cHhfc2FkNjR4MzJfYXZnX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlm
Ci0gIHZweF9zYWQ2NHgzMng0ZCA9IHZweF9zYWQ2NHgzMng0ZF9uZW9uOwotI2lmIEhBVkVfTkVP
Tl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2Fk
NjR4MzJ4NGQgPSB2cHhfc2FkNjR4MzJ4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAg
dnB4X3NhZDY0eDY0ID0gdnB4X3NhZDY0eDY0X25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QK
LSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQ2NHg2NCA9IHZw
eF9zYWQ2NHg2NF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkNjR4NjRfYXZn
ID0gdnB4X3NhZDY0eDY0X2F2Z19uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChm
bGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkNjR4NjRfYXZnID0gdnB4X3Nh
ZDY0eDY0X2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkNjR4NjR4NGQg
PSB2cHhfc2FkNjR4NjR4NGRfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxh
Z3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDY0eDY0eDRkID0gdnB4X3NhZDY0
eDY0eDRkX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9zYWRfc2tpcF8xNngxNiA9
IHZweF9zYWRfc2tpcF8xNngxNl9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChm
bGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4MTYgPSB2cHhf
c2FkX3NraXBfMTZ4MTZfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3NhZF9za2lw
XzE2eDE2eDRkID0gdnB4X3NhZF9za2lwXzE2eDE2eDRkX25lb247Ci0jaWYgSEFWRV9ORU9OX0RP
VFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tp
cF8xNngxNng0ZCA9IHZweF9zYWRfc2tpcF8xNngxNng0ZF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNl
bmRpZgotICB2cHhfc2FkX3NraXBfMTZ4MzIgPSB2cHhfc2FkX3NraXBfMTZ4MzJfbmVvbjsKLSNp
ZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0g
ICAgdnB4X3NhZF9za2lwXzE2eDMyID0gdnB4X3NhZF9za2lwXzE2eDMyX25lb25fZG90cHJvZDsK
LSAgfQotI2VuZGlmCi0gIHZweF9zYWRfc2tpcF8xNngzMng0ZCA9IHZweF9zYWRfc2tpcF8xNngz
Mng0ZF9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9O
X0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4MzJ4NGQgPSB2cHhfc2FkX3NraXBfMTZ4
MzJ4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3NhZF9za2lwXzE2eDggPSB2
cHhfc2FkX3NraXBfMTZ4OF9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4OCA9IHZweF9zYWRf
c2tpcF8xNng4X25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9zYWRfc2tpcF8xNng4
eDRkID0gdnB4X3NhZF9za2lwXzE2eDh4NGRfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAot
ICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzE2eDh4
NGQgPSB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2
cHhfc2FkX3NraXBfMzJ4MTYgPSB2cHhfc2FkX3NraXBfMzJ4MTZfbmVvbjsKLSNpZiBIQVZFX05F
T05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3Nh
ZF9za2lwXzMyeDE2ID0gdnB4X3NhZF9za2lwXzMyeDE2X25lb25fZG90cHJvZDsKLSAgfQotI2Vu
ZGlmCi0gIHZweF9zYWRfc2tpcF8zMngxNng0ZCA9IHZweF9zYWRfc2tpcF8zMngxNng0ZF9uZW9u
OwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0Qp
IHsKLSAgICB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfbmVv
bl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3NhZF9za2lwXzMyeDMyID0gdnB4X3NhZF9z
a2lwXzMyeDMyX25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFT
X05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tpcF8zMngzMiA9IHZweF9zYWRfc2tpcF8z
MngzMl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkX3NraXBfMzJ4MzJ4NGQg
PSB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBp
ZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzMyeDMyeDRk
ID0gdnB4X3NhZF9za2lwXzMyeDMyeDRkX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZw
eF9zYWRfc2tpcF8zMng2NCA9IHZweF9zYWRfc2tpcF8zMng2NF9uZW9uOwotI2lmIEhBVkVfTkVP
Tl9ET1RQUk9ECi0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2Fk
X3NraXBfMzJ4NjQgPSB2cHhfc2FkX3NraXBfMzJ4NjRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5k
aWYKLSAgdnB4X3NhZF9za2lwXzMyeDY0eDRkID0gdnB4X3NhZF9za2lwXzMyeDY0eDRkX25lb247
Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkg
ewotICAgIHZweF9zYWRfc2tpcF8zMng2NHg0ZCA9IHZweF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9u
X2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfc2FkX3NraXBfNjR4MzIgPSB2cHhfc2FkX3Nr
aXBfNjR4MzJfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNf
TkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzY0eDMyID0gdnB4X3NhZF9za2lwXzY0
eDMyX25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF9zYWRfc2tpcF82NHgzMng0ZCA9
IHZweF9zYWRfc2tpcF82NHgzMng0ZF9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfNjR4MzJ4NGQg
PSB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4
X3NhZF9za2lwXzY0eDY0ID0gdnB4X3NhZF9za2lwXzY0eDY0X25lb247Ci0jaWYgSEFWRV9ORU9O
X0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRf
c2tpcF82NHg2NCA9IHZweF9zYWRfc2tpcF82NHg2NF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRp
ZgotICB2cHhfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhfc2FkX3NraXBfNjR4NjR4NGRfbmVvbjsK
LSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7
Ci0gICAgdnB4X3NhZF9za2lwXzY0eDY0eDRkID0gdnB4X3NhZF9za2lwXzY0eDY0eDRkX25lb25f
ZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF92YXJpYW5jZTE2eDE2ID0gdnB4X3ZhcmlhbmNl
MTZ4MTZfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlMTZ4MTYgPSB2cHhfdmFyaWFuY2UxNngxNl9u
ZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfdmFyaWFuY2UxNngzMiA9IHZweF92YXJp
YW5jZTE2eDMyX25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYgKGZsYWdzICYgSEFT
X05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTE2eDMyID0gdnB4X3ZhcmlhbmNlMTZ4
MzJfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3ZhcmlhbmNlMTZ4OCA9IHZweF92
YXJpYW5jZTE2eDhfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxhZ3MgJiBI
QVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlMTZ4OCA9IHZweF92YXJpYW5jZTE2
eDhfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3ZhcmlhbmNlMzJ4MTYgPSB2cHhf
dmFyaWFuY2UzMngxNl9uZW9uOwotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfdmFyaWFuY2UzMngxNiA9IHZweF92YXJpYW5j
ZTMyeDE2X25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF92YXJpYW5jZTMyeDMyID0g
dnB4X3ZhcmlhbmNlMzJ4MzJfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxh
Z3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlMzJ4MzIgPSB2cHhfdmFy
aWFuY2UzMngzMl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfdmFyaWFuY2UzMng2
NCA9IHZweF92YXJpYW5jZTMyeDY0X25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYg
KGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTMyeDY0ID0gdnB4
X3ZhcmlhbmNlMzJ4NjRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3ZhcmlhbmNl
NHg0ID0gdnB4X3ZhcmlhbmNlNHg0X25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYg
KGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTR4NCA9IHZweF92
YXJpYW5jZTR4NF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfdmFyaWFuY2U0eDgg
PSB2cHhfdmFyaWFuY2U0eDhfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxh
Z3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlNHg4ID0gdnB4X3Zhcmlh
bmNlNHg4X25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCi0gIHZweF92YXJpYW5jZTY0eDMyID0g
dnB4X3ZhcmlhbmNlNjR4MzJfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxh
Z3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlNjR4MzIgPSB2cHhfdmFy
aWFuY2U2NHgzMl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfdmFyaWFuY2U2NHg2
NCA9IHZweF92YXJpYW5jZTY0eDY0X25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYg
KGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTY0eDY0ID0gdnB4
X3ZhcmlhbmNlNjR4NjRfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3ZhcmlhbmNl
OHgxNiA9IHZweF92YXJpYW5jZTh4MTZfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBp
ZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlOHgxNiA9IHZw
eF92YXJpYW5jZTh4MTZfbmVvbl9kb3Rwcm9kOwotICB9Ci0jZW5kaWYKLSAgdnB4X3ZhcmlhbmNl
OHg0ID0gdnB4X3ZhcmlhbmNlOHg0X25lb247Ci0jaWYgSEFWRV9ORU9OX0RPVFBST0QKLSAgaWYg
KGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTh4NCA9IHZweF92
YXJpYW5jZTh4NF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSNlbmRpZgotICB2cHhfdmFyaWFuY2U4eDgg
PSB2cHhfdmFyaWFuY2U4eDhfbmVvbjsKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmxh
Z3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlOHg4ID0gdnB4X3Zhcmlh
bmNlOHg4X25lb25fZG90cHJvZDsKLSAgfQotI2VuZGlmCiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2NvbmZpZy9saW51eC9hcm02NC92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9h
cm02NC92cDhfcnRjZC5oCmluZGV4IDEwMjUwMTA5NDI1NC4uYzRiYjQxYjIxMjcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0L3ZwOF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9s
aW51eC9hcm02NC92cDhfcnRjZC5oCkBAIC04Myw2ICs4MywzNiBAQCB2b2lkIHZwOF9iaWxpbmVh
cl9wcmVkaWN0OHg4X25lb24odW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKICNkZWZpbmUgdnA4X2JpbGluZWFy
X3ByZWRpY3Q4eDggdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfbmVvbgogCit2b2lkIHZwOF9ibGVu
ZF9iX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy
KiB1LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAg
ICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAg
ICAgICAgIGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAg
ICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfYiB2cDhfYmxlbmRfYl9j
CisKK3ZvaWQgdnA4X2JsZW5kX21iX2lubmVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlf
MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5k
X21iX2lubmVyIHZwOF9ibGVuZF9tYl9pbm5lcl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX291dGVy
X2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX291dGVyIHZwOF9ibGVuZF9tYl9vdXRl
cl9jCisKIGludCB2cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZm
KTsKICNkZWZpbmUgdnA4X2Jsb2NrX2Vycm9yIHZwOF9ibG9ja19lcnJvcl9jCiAKQEAgLTI0OSw2
ICsyNzksMTcgQEAgdm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9jKHVuc2lnbmVkIGNoYXIq
IHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7CiAj
ZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MK
IAoraW50IHZwOF9mdWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlv
biBpbnRfbXYqIHJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJf
Yml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuaW9uIGludF9tdiogY2VudGVyX212KTsKKyNkZWZpbmUgdnA4X2Z1bGxfc2VhcmNoX3Nh
ZCB2cDhfZnVsbF9zZWFyY2hfc2FkX2MKKwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNp
Z25lZCBjaGFyKiB5X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hh
ciogdV9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRy
LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm02NC92cDlfcnRjZC5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2Nv
bmZpZy9saW51eC9hcm02NC92cDlfcnRjZC5oCmluZGV4IDRjMmE0YWRhZDI2Yy4uZTE3OTU0ZDQz
YmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2FybTY0L3ZwOV9ydGNkLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9saW51eC9hcm02NC92cDlfcnRjZC5oCkBAIC0yMSw5ICsyMSw3IEBAIHN0cnVj
dCBtYWNyb2Jsb2NrZDsKIAogLyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCiBzdHJ1Y3QgbWFj
cm9ibG9jazsKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9zYWRfdGFibGU7
Ci1zdHJ1Y3QgU2Nhbk9yZGVyOworc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGU7CiBzdHJ1Y3Qg
c2VhcmNoX3NpdGVfY29uZmlnOwogc3RydWN0IG12OwogdW5pb24gaW50X212OwpAQCAtMzcsMTEg
KzM1LDcgQEAgaW50NjRfdCB2cDlfYmxvY2tfZXJyb3JfYyhjb25zdCB0cmFuX2xvd190KiBjb2Vm
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9sb3dfdCogZHFjb2VmZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3QgYmxvY2tfc2l6ZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50NjRfdCogc3N6KTsKLWludDY0X3QgdnA5X2Jsb2NrX2Vycm9y
X25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IGJsb2NrX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dDY0X3QqIHNzeik7Ci0jZGVmaW5lIHZwOV9ibG9ja19lcnJvciB2cDlfYmxvY2tfZXJyb3JfbmVv
bgorI2RlZmluZSB2cDlfYmxvY2tfZXJyb3IgdnA5X2Jsb2NrX2Vycm9yX2MKIAogaW50NjRfdCB2
cDlfYmxvY2tfZXJyb3JfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9sb3dfdCogZHFjb2VmZiwKQEAgLTc0LDU0ICs2
OCwzMSBAQCBpbnQgdnA5X2Rlbm9pc2VyX2ZpbHRlcl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNpZywK
IGludCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9j
b25maWcqIGNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiByZWZf
bXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiBiZXN0X212LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCogbnVtMDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci1pbnQgdnA5X2Rp
YW1vbmRfc2VhcmNoX3NhZF9uZW9uKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmln
KiBjZmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwotI2RlZmlu
ZSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVvbgorI2Rl
ZmluZSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYwogCiB2
b2lkIHZwOV9maHQxNngxNl9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2ZodDE2eDE2X25l
b24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfZmh0MTZ4MTYgdnA5X2Zo
dDE2eDE2X25lb24KKyNkZWZpbmUgdnA5X2ZodDE2eDE2IHZwOV9maHQxNngxNl9jCiAKIHZvaWQg
dnA5X2ZodDR4NF9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKICAgICAgICAg
ICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2ZodDR4NF9uZW9uKGNvbnN0IGludDE2
X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGludCB0
eF90eXBlKTsKLSNkZWZpbmUgdnA5X2ZodDR4NCB2cDlfZmh0NHg0X25lb24KKyNkZWZpbmUgdnA5
X2ZodDR4NCB2cDlfZmh0NHg0X2MKIAogdm9pZCB2cDlfZmh0OHg4X2MoY29uc3QgaW50MTZfdCog
aW5wdXQsCiAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAg
ICAgICAgICBpbnQgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotdm9p
ZCB2cDlfZmh0OHg4X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfZmh0OHg4
IHZwOV9maHQ4eDhfbmVvbgorI2RlZmluZSB2cDlfZmh0OHg4IHZwOV9maHQ4eDhfYwogCiB2b2lk
IHZwOV9maWx0ZXJfYnlfd2VpZ2h0MTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE3MiwzOCArMTQz
LDUwIEBAIHZvaWQgdnA5X2lodDh4OF82NF9hZGRfbmVvbihjb25zdCB0cmFuX2xvd190KiBpbnB1
dCwKIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7
CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnA5X3F1YW50aXplX2Zw
X25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29l
ZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5l
IHZwOV9xdWFudGl6ZV9mcCB2cDlfcXVhbnRpemVfZnBfbmVvbgogCiB2b2lkIHZwOV9xdWFudGl6
ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBf
MzJ4MzJfbmVvbihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGlzY2FuKTsKICNkZWZpbmUgdnA5X3F1YW50aXplX2ZwXzMyeDMyIHZwOV9xdWFudGl6ZV9m
cF8zMngzMl9uZW9uCiAKIHZvaWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhjb25zdCBz
dHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xp
bnV4L2FybTY0L3ZweF9jb25maWcuYXNtIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm02NC92cHhfY29u
ZmlnLmFzbQppbmRleCA4NDBkNWI3NDA1ZTEuLmI5MDlhZDYxMjcwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9saW51eC9hcm02NC92cHhfY29uZmlnLmFzbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4
L2FybTY0L3ZweF9jb25maWcuYXNtCkBAIC0xLDEwICsxLDggQEAKIEAgVGhpcyBmaWxlIHdhcyBj
cmVhdGVkIGZyb20gYSAuYXNtIGZpbGUKIEAgIHVzaW5nIHRoZSBhZHMyZ2FzLnBsIHNjcmlwdC4K
LS5zeW50YXggdW5pZmllZAorCS5zeW50YXggdW5pZmllZAogLmVxdSBWUFhfQVJDSF9BUk0gLCAg
MQogLmVxdSBBUkNIX0FSTSAsICAxCi0uZXF1IFZQWF9BUkNIX0FBUkNINjQgLCAgMQotLmVxdSBB
UkNIX0FBUkNINjQgLCAgMQogLmVxdSBWUFhfQVJDSF9NSVBTICwgIDAKIC5lcXUgQVJDSF9NSVBT
ICwgIDAKIC5lcXUgVlBYX0FSQ0hfWDg2ICwgIDAKQEAgLTEzLDEyICsxMSw4IEBACiAuZXF1IEFS
Q0hfWDg2XzY0ICwgIDAKIC5lcXUgVlBYX0FSQ0hfUFBDICwgIDAKIC5lcXUgQVJDSF9QUEMgLCAg
MAotLmVxdSBWUFhfQVJDSF9MT09OR0FSQ0ggLCAgMAotLmVxdSBBUkNIX0xPT05HQVJDSCAsICAw
Ci0uZXF1IEhBVkVfTkVPTl9BU00gLCAgMAogLmVxdSBIQVZFX05FT04gLCAgMQotLmVxdSBIQVZF
X05FT05fRE9UUFJPRCAsICAxCi0uZXF1IEhBVkVfTkVPTl9JOE1NICwgIDEKKy5lcXUgSEFWRV9O
RU9OX0FTTSAsICAwCiAuZXF1IEhBVkVfTUlQUzMyICwgIDAKIC5lcXUgSEFWRV9EU1BSMiAsICAw
CiAuZXF1IEhBVkVfTVNBICwgIDAKQEAgLTM0LDggKzI4LDYgQEAKIC5lcXUgSEFWRV9BVlg1MTIg
LCAgMAogLmVxdSBIQVZFX1ZTWCAsICAwCiAuZXF1IEhBVkVfTU1JICwgIDAKLS5lcXUgSEFWRV9M
U1ggLCAgMAotLmVxdSBIQVZFX0xBU1ggLCAgMAogLmVxdSBIQVZFX1ZQWF9QT1JUUyAsICAxCiAu
ZXF1IEhBVkVfUFRIUkVBRF9IICwgIDEKIC5lcXUgSEFWRV9VTklTVERfSCAsICAwCkBAIC01Nyw3
ICs0OSw3IEBACiAuZXF1IENPTkZJR19ERUJVR19MSUJTICwgIDAKIC5lcXUgQ09ORklHX0RFUVVB
TlRfVE9LRU5TICwgIDAKIC5lcXUgQ09ORklHX0RDX1JFQ09OICwgIDAKLS5lcXUgQ09ORklHX1JV
TlRJTUVfQ1BVX0RFVEVDVCAsICAxCisuZXF1IENPTkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgLCAg
MAogLmVxdSBDT05GSUdfUE9TVFBST0MgLCAgMQogLmVxdSBDT05GSUdfVlA5X1BPU1RQUk9DICwg
IDEKIC5lcXUgQ09ORklHX01VTFRJVEhSRUFEICwgIDEKQEAgLTg4LDYgKzgwLDcgQEAKIC5lcXUg
Q09ORklHX01VTFRJX1JFU19FTkNPRElORyAsICAxCiAuZXF1IENPTkZJR19URU1QT1JBTF9ERU5P
SVNJTkcgLCAgMQogLmVxdSBDT05GSUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCisuZXF1
IENPTkZJR19DT05TSVNURU5UX1JFQ09ERSAsICAwCiAuZXF1IENPTkZJR19DT0VGRklDSUVOVF9S
QU5HRV9DSEVDS0lORyAsICAwCiAuZXF1IENPTkZJR19WUDlfSElHSEJJVERFUFRIICwgIDAKIC5l
cXUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZICwgIDAKQEAgLTEwMCw3ICs5Myw2IEBA
CiAuZXF1IENPTkZJR19FTVVMQVRFX0hBUkRXQVJFICwgIDAKIC5lcXUgQ09ORklHX05PTl9HUkVF
RFlfTVYgLCAgMAogLmVxdSBDT05GSUdfUkFURV9DVFJMICwgIDAKLS5lcXUgQ09ORklHX0NPTExF
Q1RfQ09NUE9ORU5UX1RJTUlORyAsICAwCiAuZXF1IERFQ09ERV9XSURUSF9MSU1JVCAsICAxNjM4
NAogLmVxdSBERUNPREVfSEVJR0hUX0xJTUlUICwgIDE2Mzg0Ci0gICAgLnNlY3Rpb24gLm5vdGUu
R05VLXN0YWNrLCIiLCVwcm9nYml0cworCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIiwlcHJv
Z2JpdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtNjQvdnB4X2NvbmZpZy5oIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9saW51eC9hcm02NC92cHhfY29uZmlnLmgKaW5kZXggOWVhYjhmZDM2ODc0Li4y
YzE5MzNlYWMzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtNjQvdnB4X2NvbmZp
Zy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtNjQvdnB4X2NvbmZpZy5oCkBAIC0xMiw4ICsx
Miw2IEBACiAjZGVmaW5lIElOTElORSAgICAgIGlubGluZQogI2RlZmluZSBWUFhfQVJDSF9BUk0g
MQogI2RlZmluZSBBUkNIX0FSTSAxCi0jZGVmaW5lIFZQWF9BUkNIX0FBUkNINjQgMQotI2RlZmlu
ZSBBUkNIX0FBUkNINjQgMQogI2RlZmluZSBWUFhfQVJDSF9NSVBTIDAKICNkZWZpbmUgQVJDSF9N
SVBTIDAKICNkZWZpbmUgVlBYX0FSQ0hfWDg2IDAKQEAgLTIyLDEyICsyMCw4IEBACiAjZGVmaW5l
IEFSQ0hfWDg2XzY0IDAKICNkZWZpbmUgVlBYX0FSQ0hfUFBDIDAKICNkZWZpbmUgQVJDSF9QUEMg
MAotI2RlZmluZSBWUFhfQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBBUkNIX0xPT05HQVJDSCAw
Ci0jZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZFX05FT04gMQotI2RlZmluZSBI
QVZFX05FT05fRE9UUFJPRCAxCi0jZGVmaW5lIEhBVkVfTkVPTl9JOE1NIDEKKyNkZWZpbmUgSEFW
RV9ORU9OX0FTTSAwCiAjZGVmaW5lIEhBVkVfTUlQUzMyIDAKICNkZWZpbmUgSEFWRV9EU1BSMiAw
CiAjZGVmaW5lIEhBVkVfTVNBIDAKQEAgLTQzLDggKzM3LDYgQEAKICNkZWZpbmUgSEFWRV9BVlg1
MTIgMAogI2RlZmluZSBIQVZFX1ZTWCAwCiAjZGVmaW5lIEhBVkVfTU1JIDAKLSNkZWZpbmUgSEFW
RV9MU1ggMAotI2RlZmluZSBIQVZFX0xBU1ggMAogI2RlZmluZSBIQVZFX1ZQWF9QT1JUUyAxCiAj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKICNkZWZpbmUgSEFWRV9VTklTVERfSCAwCkBAIC02Niw3
ICs1OCw3IEBACiAjZGVmaW5lIENPTkZJR19ERUJVR19MSUJTIDAKICNkZWZpbmUgQ09ORklHX0RF
UVVBTlRfVE9LRU5TIDAKICNkZWZpbmUgQ09ORklHX0RDX1JFQ09OIDAKLSNkZWZpbmUgQ09ORklH
X1JVTlRJTUVfQ1BVX0RFVEVDVCAxCisjZGVmaW5lIENPTkZJR19SVU5USU1FX0NQVV9ERVRFQ1Qg
MAogI2RlZmluZSBDT05GSUdfUE9TVFBST0MgMQogI2RlZmluZSBDT05GSUdfVlA5X1BPU1RQUk9D
IDEKICNkZWZpbmUgQ09ORklHX01VTFRJVEhSRUFEIDEKQEAgLTk3LDYgKzg5LDcgQEAKICNkZWZp
bmUgQ09ORklHX01VTFRJX1JFU19FTkNPRElORyAxCiAjZGVmaW5lIENPTkZJR19URU1QT1JBTF9E
RU5PSVNJTkcgMQogI2RlZmluZSBDT05GSUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORyAxCisjZGVm
aW5lIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSAwCiAjZGVmaW5lIENPTkZJR19DT0VGRklDSUVO
VF9SQU5HRV9DSEVDS0lORyAwCiAjZGVmaW5lIENPTkZJR19WUDlfSElHSEJJVERFUFRIIDAKICNk
ZWZpbmUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZIDAKQEAgLTEwOSw3ICsxMDIsNiBA
QAogI2RlZmluZSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAwCiAjZGVmaW5lIENPTkZJR19OT05f
R1JFRURZX01WIDAKICNkZWZpbmUgQ09ORklHX1JBVEVfQ1RSTCAwCi0jZGVmaW5lIENPTkZJR19D
T0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgMAogI2RlZmluZSBERUNPREVfV0lEVEhfTElNSVQgMTYz
ODQKICNkZWZpbmUgREVDT0RFX0hFSUdIVF9MSU1JVCAxNjM4NAogI2VuZGlmIC8qIFZQWF9DT05G
SUdfSCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm02NC92cHhfZHNwX3J0Y2Qu
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvbGludXgvYXJtNjQvdnB4X2RzcF9ydGNkLmgKaW5kZXggNTZhOTcyYzhl
ZDEwLi45YzMxNDk3ODc2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvYXJtNjQvdnB4
X2RzcF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9hcm02NC92cHhfZHNwX3J0Y2QuaApA
QCAtMTUsMTAgKzE1LDYgQEAKICNpbmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNpbmNsdWRl
ICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZmlsdGVy
LmgiCi0jaWYgQ09ORklHX1ZQOV9FTkNPREVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0
cnVjdCBTY2FuT3JkZXI7Ci0jZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMi
IHsKQEAgLTY4LDM5ICs2NCw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgdywKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsK
LXZvaWQgdnB4X2NvbnZvbHZlOF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X25lb25faThtbShjb25z
dCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2NvbnZvbHZlOCkoY29uc3QgdWlu
dDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwq
IGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7
CisjZGVmaW5lIHZweF9jb252b2x2ZTggdnB4X2NvbnZvbHZlOF9uZW9uCiAKIHZvaWQgdnB4X2Nv
bnZvbHZlOF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0xMjQsMzkgKzg4LDcgQEAgdm9pZCB2cHhfY29u
dm9sdmU4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZl
OF9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZw
eF9jb252b2x2ZThfYXZnX25lb25faThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2
ZThfYXZnKShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7
CisjZGVmaW5lIHZweF9jb252b2x2ZThfYXZnIHZweF9jb252b2x2ZThfYXZnX25lb24KIAogdm9p
ZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTE4MCwzOSAr
MTEyLDcgQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpf
bmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZp
bHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9j
b252b2x2ZThfYXZnX2hvcml6X25lb25faThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVs
KiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9j
b252b2x2ZThfYXZnX2hvcml6KShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJ
bnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgaCk7CisjZGVmaW5lIHZweF9jb252b2x2ZThfYXZnX2hvcml6IHZweF9jb252
b2x2ZThfYXZnX2hvcml6X25lb24KIAogdm9pZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2MoY29u
c3QgdWludDhfdCogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCkBAIC0yMzYsMzkgKzEzNiw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdf
dmVydF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X3N0ZXBfcTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4
X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
SW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwot
dm9pZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X25lb25faThtbShjb25zdCB1aW50OF90KiBzcmMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBL
ZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2Nv
bnZvbHZlOF9hdmdfdmVydCkoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBL
ZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
aCk7CisjZGVmaW5lIHZweF9jb252b2x2ZThfYXZnX3ZlcnQgdnB4X2NvbnZvbHZlOF9hdmdfdmVy
dF9uZW9uCiAKIHZvaWQgdnB4X2NvbnZvbHZlOF9ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMjky
LDM5ICsxNjAsNyBAQCB2b2lkIHZweF9jb252b2x2ZThfaG9yaXpfbmVvbihjb25zdCB1aW50OF90
KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfaG9yaXpfbmVvbl9kb3Rwcm9kKGNv
bnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4
X2NvbnZvbHZlOF9ob3Jpel9uZW9uX2k4bW0oY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRF
Uk4gdm9pZCAoKnZweF9jb252b2x2ZThfaG9yaXopKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJw
S2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOworI2RlZmluZSB2cHhf
Y29udm9sdmU4X2hvcml6IHZweF9jb252b2x2ZThfaG9yaXpfbmVvbgogCiB2b2lkIHZweF9jb252
b2x2ZThfdmVydF9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0zNDgsMzkgKzE4NCw3IEBAIHZvaWQgdnB4X2Nv
bnZvbHZlOF92ZXJ0X25lb24oY29uc3QgdWludDhfdCogc3JjLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29u
dm9sdmU4X3ZlcnRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X3ZlcnRfbmVvbl9pOG1tKGNvbnN0IHVpbnQ4X3Qq
IHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0
ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThfdmVydCkoY29uc3QgdWludDhfdCogc3JjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVy
cEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
c3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKKyNkZWZpbmUgdnB4X2NvbnZv
bHZlOF92ZXJ0IHZweF9jb252b2x2ZThfdmVydF9uZW9uCiAKIHZvaWQgdnB4X2NvbnZvbHZlX2F2
Z19jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLApAQCAtNDM0LDQxICsyMzgsMjUgQEAgdm9pZCB2cHhfZDExN19wcmVkaWN0
b3JfMTZ4MTZfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhf
dCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBh
Ym92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
bGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDExN19wcmVkaWN0
b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QxMTdf
cHJlZGljdG9yXzE2eDE2X2MKIAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50
OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5l
IHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgor
I2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzIgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMy
X2MKIAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rv
cl80eDRfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDEx
N19wcmVkaWN0b3JfNHg0X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhf
ZDExN19wcmVkaWN0b3JfNHg0X2MKIAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2ModWlu
dDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lk
IHZweF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJl
ZGljdG9yXzh4OCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QxMTdf
cHJlZGljdG9yXzh4OCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDEzNV9w
cmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC01MTQsODEgKzMwMiw0OSBAQCB2b2lkIHZweF9k
MTUzX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZf
bmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2IHZweF9k
MTUzX3ByZWRpY3Rvcl8xNngxNl9uZW9uCisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngx
NiB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8z
MngzMl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0
KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyIHZweF9kMTUzX3ByZWRpY3Rvcl8z
MngzMl9uZW9uCisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMiB2cHhfZDE1M19wcmVk
aWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Qx
NTNfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3Jf
NHg0IHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0
b3JfNHg0IHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rv
cl84eDhfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2
cHhfZDE1M19wcmVkaWN0b3JfOHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmlu
ZSB2cHhfZDE1M19wcmVkaWN0b3JfOHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lk
IHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3Jf
MTZ4MTZfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2
IHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9uZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rv
cl8xNngxNiB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRp
Y3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9kMjA3X3ByZWRp
Y3Rvcl8zMngzMl9uZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDIw
N19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYyh1aW50
OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQg
dnB4X2QyMDdfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVk
aWN0b3JfNHg0IHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDIwN19w
cmVkaWN0b3JfNHg0IHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMjA3X3By
ZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2Rl
ZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfbmVvbgor
I2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYwog
CiB2b2lkIHZweF9kNDVfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC02NDAsNDEgKzM5Niwy
NSBAQCB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGlj
dG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2
IHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3Jf
MTZ4MTYgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9y
XzMyeDMyX2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0j
ZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25l
b24KKyNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4
MzJfYwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80
eDRfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfNHg0IHZweF9kNjNfcHJlZGlj
dG9yXzR4NF9uZW9uCisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzR4NCB2cHhfZDYzX3ByZWRp
Y3Rvcl80eDRfYwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRp
Y3Rvcl84eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfOHg4IHZweF9kNjNf
cHJlZGljdG9yXzh4OF9uZW9uCisjZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzh4OCB2cHhfZDYz
X3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kNjNlX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90
KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApA
QCAtODkyLDE4ICs2MzIsNyBAQCB2b2lkIHZweF9nZXQxNngxNnZhcl9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50KiBzdW0pOwotdm9pZCB2cHhfZ2V0MTZ4MTZ2YXJfbmVvbl9kb3Rw
cm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1
bSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2dldDE2eDE2dmFyKShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKKyNkZWZp
bmUgdnB4X2dldDE2eDE2dmFyIHZweF9nZXQxNngxNnZhcl9uZW9uCiAKIHVuc2lnbmVkIGludCB2
cHhfZ2V0NHg0c3NlX2NzX2MoY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC05MTMsMTQgKzY0Miw3
IEBAIHVuc2lnbmVkIGludCB2cHhfZ2V0NHg0c3NlX2NzX25lb24oY29uc3QgdW5zaWduZWQgY2hh
ciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IGNoYXIqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfZ2V0NHg0c3NlX2NzX25lb25fZG90cHJvZChj
b25zdCB1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRD
RF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2dldDR4NHNzZV9jcykoY29uc3QgdW5zaWduZWQg
Y2hhciogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4
X2dldDR4NHNzZV9jcyB2cHhfZ2V0NHg0c3NlX2NzX25lb24KIAogdm9pZCB2cHhfZ2V0OHg4dmFy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtOTM0LDE4ICs2NTYsNyBAQCB2b2lkIHZweF9nZXQ4eDh2YXJfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2dldDh4OHZhcl9uZW9uX2RvdHBy
b2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0pOwotUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9nZXQ4eDh2YXIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7CisjZGVmaW5lIHZweF9nZXQ4eDh2YXIgdnB4X2dl
dDh4OHZhcl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfZ2V0X21iX3NzX2MoY29uc3QgaW50MTZf
dCopOwogI2RlZmluZSB2cHhfZ2V0X21iX3NzIHZweF9nZXRfbWJfc3NfYwpAQCAtMTAwMSwxMCAr
NzEyLDcgQEAgdm9pZCB2cHhfaGFkYW1hcmRfMTZ4MTZfbmVvbihjb25zdCBpbnQxNl90KiBzcmNf
ZGlmZiwKIHZvaWQgdnB4X2hhZGFtYXJkXzMyeDMyX2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBjb2VmZik7Ci12b2lkIHZweF9oYWRhbWFyZF8z
MngzMl9uZW9uKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MTZfdCogY29lZmYpOwotI2RlZmluZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFt
YXJkXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hhZGFtYXJkXzMyeDMyIHZweF9oYWRhbWFyZF8z
MngzMl9jCiAKIHZvaWQgdnB4X2hhZGFtYXJkXzh4OF9jKGNvbnN0IGludDE2X3QqIHNyY19kaWZm
LAogICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0xMTA0
LDExICs4MTIsMTEgQEAgaW50MTZfdCB2cHhfaW50X3Byb19jb2xfYyhjb25zdCB1aW50OF90KiBy
ZWYsIGNvbnN0IGludCB3aWR0aCk7CiBpbnQxNl90IHZweF9pbnRfcHJvX2NvbF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsKICNkZWZpbmUgdnB4X2ludF9wcm9fY29s
IHZweF9pbnRfcHJvX2NvbF9uZW9uCiAKLXZvaWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCBo
YnVmWzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCogaGJ1ZiwKICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
IGhlaWdodCk7Ci12b2lkIHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3QgaGJ1ZlsxNl0sCit2
b2lkIHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3QqIGhidWYsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dCBoZWlnaHQpOwpAQCAtMTMzNiw3OSArMTA0NCwyOCBAQCB1bnNpZ25lZCBpbnQgdnB4X21zZTE2
eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNlMTZ4MTZfbmVvbl9kb3Rwcm9k
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9tc2UxNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
CisjZGVmaW5lIHZweF9tc2UxNngxNiB2cHhfbXNlMTZ4MTZfbmVvbgogCiB1bnNpZ25lZCBpbnQg
dnB4X21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhfbmVvbl9k
b3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQg
aW50ICgqdnB4X21zZTE2eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Cisj
ZGVmaW5lIHZweF9tc2UxNng4IHZweF9tc2UxNng4X2MKIAogdW5zaWduZWQgaW50IHZweF9tc2U4
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF9tc2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9tc2U4eDE2X25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF9tc2U4eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2
cHhfbXNlOHgxNiB2cHhfbXNlOHgxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhfbXNlOHg4X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21zZTh4
OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
dW5zaWduZWQgaW50IHZweF9tc2U4eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfbXNlOHg4KShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF9tc2U4eDggdnB4X21zZTh4OF9jCiAKIHZv
aWQgdnB4X3BsYW5lX2FkZF9ub2lzZV9jKHVpbnQ4X3QqIHN0YXJ0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50OF90KiBub2lzZSwKQEAgLTE0MzgsMzYgKzEwOTUsNTggQEAg
dm9pZCB2cHhfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19tYl9yb3dfbmVvbih1bnNpZ25lZCBj
aGFyKiBzcmMsCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfYyhjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAorICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iX25lb24oY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29l
ZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3Bs
YW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9i
bG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYiB2cHhfcXVhbnRpemVfYl9uZW9u
CiAKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0
cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2Nr
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFu
dGl6ZV9iXzMyeDMyX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25z
dCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIq
IGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYl8zMngzMiB2cHhfcXVhbnRpemVf
Yl8zMngzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLApAQCAtMTQ3OCwxNCArMTE1Nyw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4
MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9uZW9uX2RvdHByb2QoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF9zYWQxNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUg
dnB4X3NhZDE2eDE2IHZweF9zYWQxNngxNl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4
MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNDk3LDM3ICsxMTY5LDMzIEBAIHVuc2lnbmVk
IGludCB2cHhfc2FkMTZ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
LXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X3NhZDE2eDE2X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2Fk
MTZ4MTZfYXZnIHZweF9zYWQxNngxNl9hdmdfbmVvbgorCit2b2lkIHZweF9zYWQxNngxNngzX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4MTZ4MyB2cHhfc2FkMTZ4
MTZ4M19jCiAKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkMTZ4MTZ4NGRfbmVv
bl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgq
dnB4X3NhZDE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhf
c2FkMTZ4MTZ4NGQgdnB4X3NhZDE2eDE2eDRkX25lb24KKwordm9pZCB2cHhfc2FkMTZ4MTZ4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2eDggdnB4X3NhZDE2
eDE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE1
MzcsMTQgKzEyMDUsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMTZ4MzIpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9zYWQxNngzMiB2cHhf
c2FkMTZ4MzJfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2F2Z19jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtMTU1NiwzNyArMTIxNywxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMy
X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4
X3NhZDE2eDMyX2F2Z19uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF9zYWQxNngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDE2eDMyX2F2ZyB2cHhfc2Fk
MTZ4MzJfYXZnX25lb24KIAogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQxNngz
Mng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfc2FkMTZ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVm
aW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRfbmVvbgogCiB1bnNpZ25lZCBpbnQg
dnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNTk2LDE0ICsxMjM5LDcgQEAgdW5zaWduZWQg
aW50IHZweF9zYWQxNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9uZW9uX2Rv
dHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWQxNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmlu
ZSB2cHhfc2FkMTZ4OCB2cHhfc2FkMTZ4OF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4
OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTYxNSwzNyArMTI1MSwzMyBAQCB1bnNpZ25lZCBp
bnQgdnB4X3NhZDE2eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2ln
bmVkIGludCB2cHhfc2FkMTZ4OF9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWQxNng4X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQxNng4X2F2ZyB2cHhfc2Fk
MTZ4OF9hdmdfbmVvbgorCit2b2lkIHZweF9zYWQxNng4eDNfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
KyNkZWZpbmUgdnB4X3NhZDE2eDh4MyB2cHhfc2FkMTZ4OHgzX2MKIAogdm9pZCB2cHhfc2FkMTZ4
OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNng4eDRkX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZDE2eDh4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4OHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVm
aW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX25lb24KKwordm9pZCB2cHhfc2FkMTZ4
OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDggdnB4X3NhZDE2
eDh4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTY1
NSwxNCArMTI4Nyw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWQzMngxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQzMngxNikoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDMyeDE2IHZweF9z
YWQzMngxNl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYXZnX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC0xNjc0LDM3ICsxMjk5LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZf
YXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhf
c2FkMzJ4MTZfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZDMyeDE2X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkMzJ4MTZfYXZnIHZweF9zYWQz
MngxNl9hdmdfbmVvbgogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDMyeDE2
eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9zYWQzMngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZp
bmUgdnB4X3NhZDMyeDE2eDRkIHZweF9zYWQzMngxNng0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTcxNCwxNCArMTMyMSw3IEBAIHVuc2lnbmVk
IGludCB2cHhfc2FkMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQzMngzMl9u
ZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9zYWQzMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyIHZweF9zYWQzMngzMl9uZW9uCiAKIHVuc2lnbmVk
IGludCB2cHhfc2FkMzJ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNzMzLDM3ICsxMzMz
LDI2IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX25lb25fZG90cHJv
ZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDMyX2F2ZykoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwor
I2RlZmluZSB2cHhfc2FkMzJ4MzJfYXZnIHZweF9zYWQzMngzMl9hdmdfbmVvbgogCiB2b2lkIHZw
eF9zYWQzMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9z
YWQzMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDMyeDMyeDRkX25lb25fZG90cHJvZChjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQzMngzMng0ZCko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyeDRkIHZweF9z
YWQzMngzMng0ZF9uZW9uCisKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9zYWQzMngzMng4IHZweF9zYWQzMngzMng4X2MKIAogdW5zaWdu
ZWQgaW50IHZweF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNzczLDE0ICsxMzYyLDcgQEAg
dW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Nh
ZDMyeDY0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9F
WFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfc2FkMzJ4NjQgdnB4X3NhZDMyeDY0X25lb24KIAog
dW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE3OTIs
MzcgKzEzNzQsMTkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfbmVv
bl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4NjRfYXZnKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7CisjZGVmaW5lIHZweF9zYWQzMng2NF9hdmcgdnB4X3NhZDMyeDY0X2F2Z19uZW9uCiAK
IHZvaWQgdnB4X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZv
aWQgdnB4X3NhZDMyeDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkMzJ4NjR4NGRfbmVvbl9kb3Rwcm9k
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDMy
eDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMzJ4NjR4
NGQgdnB4X3NhZDMyeDY0eDRkX25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQ0eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTE4NDYsMTggKzE0MTAsMzIgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ0eDRfYXZn
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDR4NF9h
dmcgdnB4X3NhZDR4NF9hdmdfbmVvbgogCit2b2lkIHZweF9zYWQ0eDR4M19jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9zYWQ0eDR4MyB2cHhfc2FkNHg0eDNfYworCiB2b2lkIHZweF9zYWQ0
eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNHg0eDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDR4NHg0ZCB2cHhf
c2FkNHg0eDRkX25lb24KIAordm9pZCB2cHhfc2FkNHg0eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2Rl
ZmluZSB2cHhfc2FkNHg0eDggdnB4X3NhZDR4NHg4X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQ0
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKQEAgLTE4ODIsMTQgKzE0NjAsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ0eDhf
YXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNHg4eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDR4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0eDh4NGQgdnB4X3NhZDR4OHg0
ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLApAQCAtMTkwMCwxNCArMTQ3OCw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHgzMl9uZW9uX2RvdHByb2QoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ2
NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3Nh
ZDY0eDMyIHZweF9zYWQ2NHgzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYXZn
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0xOTE5LDM3ICsxNDkwLDE5IEBAIHVuc2lnbmVkIGludCB2
cHhfc2FkNjR4MzJfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2ln
bmVkIGludCB2cHhfc2FkNjR4MzJfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X3NhZDY0eDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkNjR4MzJf
YXZnIHZweF9zYWQ2NHgzMl9hdmdfbmVvbgogCiB2b2lkIHZweF9zYWQ2NHgzMng0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHgzMng0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZDY0eDMyeDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ2NHgzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKKyNkZWZpbmUgdnB4X3NhZDY0eDMyeDRkIHZweF9zYWQ2NHgzMng0ZF9uZW9uCiAKIHVu
c2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTk1OSwxNCArMTUxMiw3
IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9zYWQ2NHg2NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJU
Q0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHg2NCkoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDY0eDY0IHZweF9zYWQ2NHg2NF9uZW9u
CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0x
OTc4LDM3ICsxNTI0LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZnX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZn
X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDY0eDY0X2F2
ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkNjR4NjRfYXZnIHZweF9zYWQ2NHg2NF9hdmdfbmVv
bgogCiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDY0eDY0eDRkX25lb25fZG90
cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9z
YWQ2NHg2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDY0
eDY0eDRkIHZweF9zYWQ2NHg2NHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTIwMzIsMTggKzE1NjAsMzIgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4
eDE2X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhf
c2FkOHgxNl9hdmcgdnB4X3NhZDh4MTZfYXZnX25lb24KIAordm9pZCB2cHhfc2FkOHgxNngzX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDE2eDMgdnB4X3NhZDh4MTZ4M19j
CisKIHZvaWQgdnB4X3NhZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2
cHhfc2FkOHgxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiAjZGVmaW5lIHZweF9zYWQ4eDE2eDRkIHZweF9zYWQ4eDE2eDRkX25lb24KIAordm9pZCB2
cHhfc2FkOHgxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDE2eDgg
dnB4X3NhZDh4MTZ4OF9jCisKIHVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC0yMDY4
LDE0ICsxNjEwLDE0IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2F2Z19uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiB2b2lkIHZweF9zYWQ4eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogI2RlZmluZSB2cHhfc2FkOHg0eDRkIHZweF9zYWQ4eDR4NGRfbmVvbgogCiB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0yMTAwLDQzMSAr
MTY0MiwzMSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkOHg4X2F2ZyB2cHhfc2FkOHg4X2F2Z19u
ZW9uCiAKK3ZvaWQgdnB4X3NhZDh4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3Nh
ZDh4OHgzIHZweF9zYWQ4eDh4M19jCisKIHZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiB2b2lkIHZweF9zYWQ4eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
YWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfbmVvbgogCi11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfMTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWRfc2tpcF8xNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12
b2lkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkX3NraXBfMTZ4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngzMl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfbmVv
bl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMTZ4MzIpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4
X3NhZF9za2lwXzE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbl9k
b3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzE2eDMyeDRkKShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Nh
ZF9za2lwXzE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9z
YWRfc2tpcF8xNng4X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzE2
eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0K
LXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4OHg0
ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX25lb25fZG90
cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzE2eDh4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3Nh
ZF9za2lwXzMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
MzJ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF8zMngxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8z
MngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9z
a2lwXzMyeDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8z
MngxNng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfMzJ4MTZ4NGQp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNp
Z25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnB4X3NhZF9za2lwXzMyeDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
MzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMy
eDY0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzMyeDY0KShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12
b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4
NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0eDRk
X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8zMng2NHg0ZCkoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF80eDQgdnB4X3NhZF9za2lwXzR4NF9uZW9uCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4NHg0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X3NhZF9za2lwXzR4NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzR4NHg0ZCB2cHhfc2FkX3NraXBfNHg0eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDhf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg4IHZweF9zYWRf
c2tpcF80eDhfbmVvbgotCi12b2lkIHZweF9zYWRfc2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRf
c2tpcF80eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDh4NGQg
dnB4X3NhZF9za2lwXzR4OHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4
MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMy
X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzY0eDMyKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lk
IHZweF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4
NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX25l
b25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF82NHgzMng0ZCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfc2FkX3NraXBfNjR4NjRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAo
KnZweF9zYWRfc2tpcF82NHg2NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2Fk
X3NraXBfNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHgxNl9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDE2IHZweF9zYWRfc2tpcF84eDE2X25l
b24KLQotdm9pZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84
eDE2eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTZ4NGQg
dnB4X3NhZF9za2lwXzh4MTZ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDQgdnB4X3NhZF9za2lwXzh4NF9uZW9u
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4NHg0ZCB2cHhfc2FkX3NraXBf
OHg0eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDhfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfOHg4IHZweF9zYWRfc2tpcF84eDhfbmVvbgotCi12b2lkIHZweF9z
YWRfc2tpcF84eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDh4NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9uZW9uCit2
b2lkIHZweF9zYWQ4eDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4OCB2
cHhfc2FkOHg4eDhfYwogCiBpbnQgdnB4X3NhdGRfYyhjb25zdCBpbnQxNl90KiBjb2VmZiwgaW50
IGxlbmd0aCk7CiBpbnQgdnB4X3NhdGRfbmVvbihjb25zdCBpbnQxNl90KiBjb2VmZiwgaW50IGxl
bmd0aCk7CkBAIC0zMTczLDE2ICsyMzE1LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2
eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFu
Y2UxNngxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2Ux
NngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlMTZ4MTYgdnB4X3ZhcmlhbmNlMTZ4MTZfbmVv
bgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC0zMTk0LDE2ICsyMzI3LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2eDMyX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNngzMl9u
ZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2UxNngzMikoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
KyNkZWZpbmUgdnB4X3ZhcmlhbmNlMTZ4MzIgdnB4X3ZhcmlhbmNlMTZ4MzJfbmVvbgogCiB1bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMzIxNSwxNiAr
MjMzOSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNng4X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNng4X25lb25fZG90cHJvZChjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2UxNng4
IHZweF92YXJpYW5jZTE2eDhfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MTZf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0zMjM2LDE2ICsyMzUxLDcgQEAgdW5zaWduZWQgaW50IHZw
eF92YXJpYW5jZTMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfdmFyaWFuY2UzMngxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2
cHhfdmFyaWFuY2UzMngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlMzJ4MTYgdnB4X3Zhcmlh
bmNlMzJ4MTZfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC0zMjU3LDE2ICsyMzYzLDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5j
ZTMyeDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFy
aWFuY2UzMngzMl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFu
Y2UzMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlMzJ4MzIgdnB4X3ZhcmlhbmNlMzJ4MzJf
bmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC0zMjc4LDE2ICsyMzc1LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDY0X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMng2
NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2UzMng2NCko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlMzJ4NjQgdnB4X3ZhcmlhbmNlMzJ4NjRfbmVvbgogCiB1
bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTMyOTksMTYg
KzIzODcsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNHg0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U0eDRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF92YXJpYW5jZTR4NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTR4NCB2cHhfdmFyaWFuY2U0
eDRfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTMzMjAsMTYgKzIzOTksNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNHg4X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U0eDhfbmVvbl9kb3Rw
cm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTR4OCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTR4OCB2
cHhfdmFyaWFuY2U0eDhfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0zMzQxLDE2ICsyNDExLDcgQEAgdW5zaWduZWQgaW50IHZweF92
YXJpYW5jZTY0eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2
cHhfdmFyaWFuY2U2NHgzMl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhf
dmFyaWFuY2U2NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlNjR4MzIgdnB4X3ZhcmlhbmNl
NjR4MzJfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC0zMzYyLDE2ICsyNDIzLDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTY0
eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFu
Y2U2NHg2NF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U2
NHg2NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlNjR4NjQgdnB4X3ZhcmlhbmNlNjR4NjRfbmVv
bgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAt
MzM4MywxNiArMjQzNSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDE2X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDE2X25lb25fZG90
cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRD
RF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHgxNikoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFy
aWFuY2U4eDE2IHZweF92YXJpYW5jZTh4MTZfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3Zhcmlh
bmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTM0MDQsMTYgKzI0NDcsNyBAQCB1bnNpZ25lZCBp
bnQgdnB4X3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2
cHhfdmFyaWFuY2U4eDRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTh4
NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Cisj
ZGVmaW5lIHZweF92YXJpYW5jZTh4NCB2cHhfdmFyaWFuY2U4eDRfbmVvbgogCiB1bnNpZ25lZCBp
bnQgdnB4X3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTM0MjUsMTYgKzI0NTksNyBA
QCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVu
c2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF92YXJpYW5jZTh4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTh4OCB2cHhfdmFyaWFuY2U4eDhfbmVvbgog
CiB2b2lkIHZweF92ZV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC0zNDU2LDI4OSArMjQ4MSw2IEBA
IHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICBpbnQgZmxhZ3MgPSBh
cm1fY3B1X2NhcHMoKTsKIAogICAodm9pZClmbGFnczsKLQotICB2cHhfY29udm9sdmU4ID0gdnB4
X2NvbnZvbHZlOF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAg
dnB4X2NvbnZvbHZlOCA9IHZweF9jb252b2x2ZThfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIGlmIChm
bGFncyAmIEhBU19ORU9OX0k4TU0pIHsKLSAgICB2cHhfY29udm9sdmU4ID0gdnB4X2NvbnZvbHZl
OF9uZW9uX2k4bW07Ci0gIH0KLSAgdnB4X2NvbnZvbHZlOF9hdmcgPSB2cHhfY29udm9sdmU4X2F2
Z19uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X2NvbnZv
bHZlOF9hdmcgPSB2cHhfY29udm9sdmU4X2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgaWYgKGZs
YWdzICYgSEFTX05FT05fSThNTSkgewotICAgIHZweF9jb252b2x2ZThfYXZnID0gdnB4X2NvbnZv
bHZlOF9hdmdfbmVvbl9pOG1tOwotICB9Ci0gIHZweF9jb252b2x2ZThfYXZnX2hvcml6ID0gdnB4
X2NvbnZvbHZlOF9hdmdfaG9yaXpfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9jb252b2x2ZThfYXZnX2hvcml6ID0gdnB4X2NvbnZvbHZlOF9hdmdfaG9y
aXpfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0k4TU0pIHsKLSAg
ICB2cHhfY29udm9sdmU4X2F2Z19ob3JpeiA9IHZweF9jb252b2x2ZThfYXZnX2hvcml6X25lb25f
aThtbTsKLSAgfQotICB2cHhfY29udm9sdmU4X2F2Z192ZXJ0ID0gdnB4X2NvbnZvbHZlOF9hdmdf
dmVydF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X2Nv
bnZvbHZlOF9hdmdfdmVydCA9IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbl9kb3Rwcm9kOwot
ICB9Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0k4TU0pIHsKLSAgICB2cHhfY29udm9sdmU4X2F2
Z192ZXJ0ID0gdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uX2k4bW07Ci0gIH0KLSAgdnB4X2Nv
bnZvbHZlOF9ob3JpeiA9IHZweF9jb252b2x2ZThfaG9yaXpfbmVvbjsKLSAgaWYgKGZsYWdzICYg
SEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9jb252b2x2ZThfaG9yaXogPSB2cHhfY29udm9s
dmU4X2hvcml6X25lb25fZG90cHJvZDsKLSAgfQotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9JOE1N
KSB7Ci0gICAgdnB4X2NvbnZvbHZlOF9ob3JpeiA9IHZweF9jb252b2x2ZThfaG9yaXpfbmVvbl9p
OG1tOwotICB9Ci0gIHZweF9jb252b2x2ZThfdmVydCA9IHZweF9jb252b2x2ZThfdmVydF9uZW9u
OwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X2NvbnZvbHZlOF92
ZXJ0ID0gdnB4X2NvbnZvbHZlOF92ZXJ0X25lb25fZG90cHJvZDsKLSAgfQotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9JOE1NKSB7Ci0gICAgdnB4X2NvbnZvbHZlOF92ZXJ0ID0gdnB4X2NvbnZvbHZl
OF92ZXJ0X25lb25faThtbTsKLSAgfQotICB2cHhfZ2V0MTZ4MTZ2YXIgPSB2cHhfZ2V0MTZ4MTZ2
YXJfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9nZXQx
NngxNnZhciA9IHZweF9nZXQxNngxNnZhcl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X2dldDR4
NHNzZV9jcyA9IHZweF9nZXQ0eDRzc2VfY3NfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05f
RE9UUFJPRCkgewotICAgIHZweF9nZXQ0eDRzc2VfY3MgPSB2cHhfZ2V0NHg0c3NlX2NzX25lb25f
ZG90cHJvZDsKLSAgfQotICB2cHhfZ2V0OHg4dmFyID0gdnB4X2dldDh4OHZhcl9uZW9uOwotICBp
ZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X2dldDh4OHZhciA9IHZweF9n
ZXQ4eDh2YXJfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9tc2UxNngxNiA9IHZweF9tc2UxNngx
Nl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X21zZTE2
eDE2ID0gdnB4X21zZTE2eDE2X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfbXNlMTZ4OCA9IHZw
eF9tc2UxNng4X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2
cHhfbXNlMTZ4OCA9IHZweF9tc2UxNng4X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfbXNlOHgx
NiA9IHZweF9tc2U4eDE2X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsK
LSAgICB2cHhfbXNlOHgxNiA9IHZweF9tc2U4eDE2X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhf
bXNlOHg4ID0gdnB4X21zZTh4OF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9E
KSB7Ci0gICAgdnB4X21zZTh4OCA9IHZweF9tc2U4eDhfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZw
eF9zYWQxNngxNiA9IHZweF9zYWQxNngxNl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9E
T1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2eDE2ID0gdnB4X3NhZDE2eDE2X25lb25fZG90cHJvZDsK
LSAgfQotICB2cHhfc2FkMTZ4MTZfYXZnID0gdnB4X3NhZDE2eDE2X2F2Z19uZW9uOwotICBpZiAo
ZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2eDE2X2F2ZyA9IHZweF9z
YWQxNngxNl9hdmdfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQxNngxNng0ZCA9IHZweF9z
YWQxNngxNng0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAg
dnB4X3NhZDE2eDE2eDRkID0gdnB4X3NhZDE2eDE2eDRkX25lb25fZG90cHJvZDsKLSAgfQotICB2
cHhfc2FkMTZ4MzIgPSB2cHhfc2FkMTZ4MzJfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05f
RE9UUFJPRCkgewotICAgIHZweF9zYWQxNngzMiA9IHZweF9zYWQxNngzMl9uZW9uX2RvdHByb2Q7
Ci0gIH0KLSAgdnB4X3NhZDE2eDMyX2F2ZyA9IHZweF9zYWQxNngzMl9hdmdfbmVvbjsKLSAgaWYg
KGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQxNngzMl9hdmcgPSB2cHhf
c2FkMTZ4MzJfYXZnX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkMTZ4MzJ4NGQgPSB2cHhf
c2FkMTZ4MzJ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAg
IHZweF9zYWQxNngzMng0ZCA9IHZweF9zYWQxNngzMng0ZF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAg
dnB4X3NhZDE2eDggPSB2cHhfc2FkMTZ4OF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9E
T1RQUk9EKSB7Ci0gICAgdnB4X3NhZDE2eDggPSB2cHhfc2FkMTZ4OF9uZW9uX2RvdHByb2Q7Ci0g
IH0KLSAgdnB4X3NhZDE2eDhfYXZnID0gdnB4X3NhZDE2eDhfYXZnX25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMTZ4OF9hdmcgPSB2cHhfc2FkMTZ4
OF9hdmdfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQxNng4eDRkID0gdnB4X3NhZDE2eDh4
NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQx
Nng4eDRkID0gdnB4X3NhZDE2eDh4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQzMngx
NiA9IHZweF9zYWQzMngxNl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7
Ci0gICAgdnB4X3NhZDMyeDE2ID0gdnB4X3NhZDMyeDE2X25lb25fZG90cHJvZDsKLSAgfQotICB2
cHhfc2FkMzJ4MTZfYXZnID0gdnB4X3NhZDMyeDE2X2F2Z19uZW9uOwotICBpZiAoZmxhZ3MgJiBI
QVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDMyeDE2X2F2ZyA9IHZweF9zYWQzMngxNl9h
dmdfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQzMngxNng0ZCA9IHZweF9zYWQzMngxNng0
ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDMy
eDE2eDRkID0gdnB4X3NhZDMyeDE2eDRkX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkMzJ4
MzIgPSB2cHhfc2FkMzJ4MzJfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkg
ewotICAgIHZweF9zYWQzMngzMiA9IHZweF9zYWQzMngzMl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAg
dnB4X3NhZDMyeDMyX2F2ZyA9IHZweF9zYWQzMngzMl9hdmdfbmVvbjsKLSAgaWYgKGZsYWdzICYg
SEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQzMngzMl9hdmcgPSB2cHhfc2FkMzJ4MzJf
YXZnX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkMzJ4MzJ4NGQgPSB2cHhfc2FkMzJ4MzJ4
NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQz
MngzMng0ZCA9IHZweF9zYWQzMngzMng0ZF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDMy
eDY0ID0gdnB4X3NhZDMyeDY0X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0Qp
IHsKLSAgICB2cHhfc2FkMzJ4NjQgPSB2cHhfc2FkMzJ4NjRfbmVvbl9kb3Rwcm9kOwotICB9Ci0g
IHZweF9zYWQzMng2NF9hdmcgPSB2cHhfc2FkMzJ4NjRfYXZnX25lb247Ci0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkMzJ4NjRfYXZnID0gdnB4X3NhZDMyeDY0
X2F2Z19uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZDMyeDY0eDRkID0gdnB4X3NhZDMyeDY0
eDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2Fk
MzJ4NjR4NGQgPSB2cHhfc2FkMzJ4NjR4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQ2
NHgzMiA9IHZweF9zYWQ2NHgzMl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9E
KSB7Ci0gICAgdnB4X3NhZDY0eDMyID0gdnB4X3NhZDY0eDMyX25lb25fZG90cHJvZDsKLSAgfQot
ICB2cHhfc2FkNjR4MzJfYXZnID0gdnB4X3NhZDY0eDMyX2F2Z19uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZDY0eDMyX2F2ZyA9IHZweF9zYWQ2NHgz
Ml9hdmdfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWQ2NHgzMng0ZCA9IHZweF9zYWQ2NHgz
Mng0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3Nh
ZDY0eDMyeDRkID0gdnB4X3NhZDY0eDMyeDRkX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2Fk
NjR4NjQgPSB2cHhfc2FkNjR4NjRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9zYWQ2NHg2NCA9IHZweF9zYWQ2NHg2NF9uZW9uX2RvdHByb2Q7Ci0gIH0K
LSAgdnB4X3NhZDY0eDY0X2F2ZyA9IHZweF9zYWQ2NHg2NF9hdmdfbmVvbjsKLSAgaWYgKGZsYWdz
ICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWQ2NHg2NF9hdmcgPSB2cHhfc2FkNjR4
NjRfYXZnX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkNjR4NjR4NGQgPSB2cHhfc2FkNjR4
NjR4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9z
YWQ2NHg2NHg0ZCA9IHZweF9zYWQ2NHg2NHg0ZF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3Nh
ZF9za2lwXzE2eDE2ID0gdnB4X3NhZF9za2lwXzE2eDE2X25lb247Ci0gIGlmIChmbGFncyAmIEhB
U19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4MTYgPSB2cHhfc2FkX3NraXBf
MTZ4MTZfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWRfc2tpcF8xNngxNng0ZCA9IHZweF9z
YWRfc2tpcF8xNngxNng0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7
Ci0gICAgdnB4X3NhZF9za2lwXzE2eDE2eDRkID0gdnB4X3NhZF9za2lwXzE2eDE2eDRkX25lb25f
ZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBfMTZ4MzIgPSB2cHhfc2FkX3NraXBfMTZ4MzJf
bmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tp
cF8xNngzMiA9IHZweF9zYWRfc2tpcF8xNngzMl9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3Nh
ZF9za2lwXzE2eDMyeDRkID0gdnB4X3NhZF9za2lwXzE2eDMyeDRkX25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2FkX3NraXBfMTZ4MzJ4NGQgPSB2cHhf
c2FkX3NraXBfMTZ4MzJ4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF9zYWRfc2tpcF8xNng4
ID0gdnB4X3NhZF9za2lwXzE2eDhfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9zYWRfc2tpcF8xNng4ID0gdnB4X3NhZF9za2lwXzE2eDhfbmVvbl9kb3Rw
cm9kOwotICB9Ci0gIHZweF9zYWRfc2tpcF8xNng4eDRkID0gdnB4X3NhZF9za2lwXzE2eDh4NGRf
bmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tp
cF8xNng4eDRkID0gdnB4X3NhZF9za2lwXzE2eDh4NGRfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZw
eF9zYWRfc2tpcF8zMngxNiA9IHZweF9zYWRfc2tpcF8zMngxNl9uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzMyeDE2ID0gdnB4X3NhZF9z
a2lwXzMyeDE2X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2
cHhfc2FkX3NraXBfMzJ4MTZ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJP
RCkgewotICAgIHZweF9zYWRfc2tpcF8zMngxNng0ZCA9IHZweF9zYWRfc2tpcF8zMngxNng0ZF9u
ZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZF9za2lwXzMyeDMyID0gdnB4X3NhZF9za2lwXzMy
eDMyX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfc2Fk
X3NraXBfMzJ4MzIgPSB2cHhfc2FkX3NraXBfMzJ4MzJfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZw
eF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9zYWRfc2tpcF8zMngzMng0ZF9uZW9uOwotICBpZiAo
ZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzMyeDMyeDRkID0g
dnB4X3NhZF9za2lwXzMyeDMyeDRkX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBf
MzJ4NjQgPSB2cHhfc2FkX3NraXBfMzJ4NjRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05f
RE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tpcF8zMng2NCA9IHZweF9zYWRfc2tpcF8zMng2NF9u
ZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZF9za2lwXzMyeDY0eDRkID0gdnB4X3NhZF9za2lw
XzMyeDY0eDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2
cHhfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfbmVvbl9kb3Rwcm9k
OwotICB9Ci0gIHZweF9zYWRfc2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82NHgzMl9uZW9uOwot
ICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lwXzY0eDMy
ID0gdnB4X3NhZF9za2lwXzY0eDMyX25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfc2FkX3NraXBf
NjR4MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFT
X05FT05fRE9UUFJPRCkgewotICAgIHZweF9zYWRfc2tpcF82NHgzMng0ZCA9IHZweF9zYWRfc2tp
cF82NHgzMng0ZF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3NhZF9za2lwXzY0eDY0ID0gdnB4
X3NhZF9za2lwXzY0eDY0X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsK
LSAgICB2cHhfc2FkX3NraXBfNjR4NjQgPSB2cHhfc2FkX3NraXBfNjR4NjRfbmVvbl9kb3Rwcm9k
OwotICB9Ci0gIHZweF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9u
ZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3NhZF9za2lw
XzY0eDY0eDRkID0gdnB4X3NhZF9za2lwXzY0eDY0eDRkX25lb25fZG90cHJvZDsKLSAgfQotICB2
cHhfdmFyaWFuY2UxNngxNiA9IHZweF92YXJpYW5jZTE2eDE2X25lb247Ci0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2cHhfdmFyaWFuY2UxNngxNiA9IHZweF92YXJpYW5j
ZTE2eDE2X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfdmFyaWFuY2UxNngzMiA9IHZweF92YXJp
YW5jZTE2eDMyX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpIHsKLSAgICB2
cHhfdmFyaWFuY2UxNngzMiA9IHZweF92YXJpYW5jZTE2eDMyX25lb25fZG90cHJvZDsKLSAgfQot
ICB2cHhfdmFyaWFuY2UxNng4ID0gdnB4X3ZhcmlhbmNlMTZ4OF9uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlMTZ4OCA9IHZweF92YXJpYW5j
ZTE2eDhfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF92YXJpYW5jZTMyeDE2ID0gdnB4X3Zhcmlh
bmNlMzJ4MTZfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZw
eF92YXJpYW5jZTMyeDE2ID0gdnB4X3ZhcmlhbmNlMzJ4MTZfbmVvbl9kb3Rwcm9kOwotICB9Ci0g
IHZweF92YXJpYW5jZTMyeDMyID0gdnB4X3ZhcmlhbmNlMzJ4MzJfbmVvbjsKLSAgaWYgKGZsYWdz
ICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTMyeDMyID0gdnB4X3Zhcmlh
bmNlMzJ4MzJfbmVvbl9kb3Rwcm9kOwotICB9Ci0gIHZweF92YXJpYW5jZTMyeDY0ID0gdnB4X3Zh
cmlhbmNlMzJ4NjRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAg
IHZweF92YXJpYW5jZTMyeDY0ID0gdnB4X3ZhcmlhbmNlMzJ4NjRfbmVvbl9kb3Rwcm9kOwotICB9
Ci0gIHZweF92YXJpYW5jZTR4NCA9IHZweF92YXJpYW5jZTR4NF9uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlNHg0ID0gdnB4X3ZhcmlhbmNl
NHg0X25lb25fZG90cHJvZDsKLSAgfQotICB2cHhfdmFyaWFuY2U0eDggPSB2cHhfdmFyaWFuY2U0
eDhfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJp
YW5jZTR4OCA9IHZweF92YXJpYW5jZTR4OF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3Zhcmlh
bmNlNjR4MzIgPSB2cHhfdmFyaWFuY2U2NHgzMl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKSB7Ci0gICAgdnB4X3ZhcmlhbmNlNjR4MzIgPSB2cHhfdmFyaWFuY2U2NHgzMl9u
ZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3ZhcmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2NHg2
NF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKSB7Ci0gICAgdnB4X3Zhcmlh
bmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2NHg2NF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3Zh
cmlhbmNlOHgxNiA9IHZweF92YXJpYW5jZTh4MTZfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05F
T05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTh4MTYgPSB2cHhfdmFyaWFuY2U4eDE2X25l
b25fZG90cHJvZDsKLSAgfQotICB2cHhfdmFyaWFuY2U4eDQgPSB2cHhfdmFyaWFuY2U4eDRfbmVv
bjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkgewotICAgIHZweF92YXJpYW5jZTh4
NCA9IHZweF92YXJpYW5jZTh4NF9uZW9uX2RvdHByb2Q7Ci0gIH0KLSAgdnB4X3ZhcmlhbmNlOHg4
ID0gdnB4X3ZhcmlhbmNlOHg4X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0Qp
IHsKLSAgICB2cHhfdmFyaWFuY2U4eDggPSB2cHhfdmFyaWFuY2U4eDhfbmVvbl9kb3Rwcm9kOwot
ICB9CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9nZW5lcmljL3Zw
OF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2dlbmVyaWMvdnA4X3J0Y2QuaAppbmRleCA3NzE5
ZTFjNGE2MTAuLmFhNDc1YjU1ZmFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9nZW5l
cmljL3ZwOF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9nZW5lcmljL3ZwOF9ydGNkLmgK
QEAgLTU5LDYgKzU5LDM2IEBAIHZvaWQgdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfYyh1bnNpZ25l
ZCBjaGFyKiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
cGl0Y2gpOwogI2RlZmluZSB2cDhfYmlsaW5lYXJfcHJlZGljdDh4OCB2cDhfYmlsaW5lYXJfcHJl
ZGljdDh4OF9jCiAKK3ZvaWQgdnA4X2JsZW5kX2JfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAg
ICAgIGludCB1XzEsCisgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAg
ICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5l
IHZwOF9ibGVuZF9iIHZwOF9ibGVuZF9iX2MKKwordm9pZCB2cDhfYmxlbmRfbWJfaW5uZXJfYyh1
bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy
KiB1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
dHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfaW5uZXIgdnA4X2JsZW5kX21iX2lubmVyX2MK
Kwordm9pZCB2cDhfYmxlbmRfbWJfb3V0ZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV8x
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRf
bWJfb3V0ZXIgdnA4X2JsZW5kX21iX291dGVyX2MKKwogaW50IHZwOF9ibG9ja19lcnJvcl9jKHNo
b3J0KiBjb2VmZiwgc2hvcnQqIGRxY29lZmYpOwogI2RlZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4
X2Jsb2NrX2Vycm9yX2MKIApAQCAtMTc1LDYgKzIwNSwxNyBAQCB2b2lkIHZwOF9maWx0ZXJfYnlf
d2VpZ2h0OHg4X2ModW5zaWduZWQgY2hhciogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfd2VpZ2h0KTsKICNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDgg
dnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDhfYwogCitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jKHN0
cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxv
Y2sqIGIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkaXN0YW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNl
X3Z0YWJsZSogZm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsy
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOwor
I2RlZmluZSB2cDhfZnVsbF9zZWFyY2hfc2FkIHZwOF9mdWxsX3NlYXJjaF9zYWRfYworCiB2b2lk
IHZwOF9sb29wX2ZpbHRlcl9iaF9jKHVuc2lnbmVkIGNoYXIqIHlfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1X3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogdl9wdHIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4
L2dlbmVyaWMvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvZ2VuZXJpYy92cDlfcnRjZC5o
CmluZGV4IGVlOTk0MGFjMTBkOS4uMDA5MTM5MzE0ODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln
L2xpbnV4L2dlbmVyaWMvdnA5X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2dlbmVyaWMv
dnA5X3J0Y2QuaApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3QgbWFjcm9ibG9ja2Q7CiAKIC8qIEVu
Y29kZXIgZm9yd2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3JvYmxvY2s7Ci1zdHJ1Y3QgbWFjcm9i
bG9ja19wbGFuZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwotc3RydWN0IFNjYW5PcmRlcjsKK3N0
cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsKIHN0
cnVjdCBtdjsKIHVuaW9uIGludF9tdjsKQEAgLTU4LDEyICs1NiwxMSBAQCBpbnQgdnA5X2Rlbm9p
c2VyX2ZpbHRlcl9jKGNvbnN0IHVpbnQ4X3QqIHNpZywKIGludCB2cDlfZGlhbW9uZF9zZWFyY2hf
c2FkX2MoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiByZWZfbXYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IG12KiBiZXN0X212LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc2VhcmNoX3BhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Bl
cl9iaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbnVtMDAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5f
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3Zhcmlh
bmNlX3Z0YWJsZSogZm5fcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgbXYqIGNlbnRlcl9tdik7CiAjZGVmaW5lIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5
X2RpYW1vbmRfc2VhcmNoX3NhZF9jCiAKQEAgLTE3NywyMyArMTc0LDI4IEBAIHZvaWQgdnA5X2hp
Z2hiZF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX2MoY29uc3QgdWludDE2X3QqIHNyY19wdHIs
CiAKIHZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxh
bmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNr
aXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1
YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciog
Y29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogaXNjYW4pOwogI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwIHZwOV9oaWdoYmRfcXVh
bnRpemVfZnBfYwogCi12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYygKLSAgICBj
b25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29u
c3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Cit2b2lkIHZwOV9oaWdoYmRf
cXVhbnRpemVfZnBfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzIg
dnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9jCiAKIHZvaWQgdnA5X2hpZ2hiZF90ZW1wb3Jh
bF9maWx0ZXJfYXBwbHlfYyhjb25zdCB1aW50OF90KiBmcmFtZTEsCkBAIC0yMjgsMjIgKzIzMCwy
OCBAQCB2b2lkIHZwOV9paHQ4eDhfNjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAK
IHZvaWQgdnA5X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9xdWFudGl6ZV9mcCB2
cDlfcXVhbnRpemVfZnBfYwogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRy
X3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBl
b2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cDlfcXVhbnRpemVfZnBfMzJ4MzIgdnA5X3F1YW50aXpl
X2ZwXzMyeDMyX2MKIAogdm9pZCB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jKGNvbnN0IHN0
cnVjdCB5djEyX2J1ZmZlcl9jb25maWcqIHNyYywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu
dXgvZ2VuZXJpYy92cHhfY29uZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvZ2VuZXJpYy92cHhf
Y29uZmlnLmFzbQppbmRleCA2YmIxYmQwNjIxODAuLjAwNzEyZTUyYmJiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9saW51eC9nZW5lcmljL3ZweF9jb25maWcuYXNtCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
bGludXgvZ2VuZXJpYy92cHhfY29uZmlnLmFzbQpAQCAtMSwxMCArMSw4IEBACiBAIFRoaXMgZmls
ZSB3YXMgY3JlYXRlZCBmcm9tIGEgLmFzbSBmaWxlCiBAICB1c2luZyB0aGUgYWRzMmdhcy5wbCBz
Y3JpcHQuCi0uc3ludGF4IHVuaWZpZWQKKwkuc3ludGF4IHVuaWZpZWQKIC5lcXUgVlBYX0FSQ0hf
QVJNICwgIDAKIC5lcXUgQVJDSF9BUk0gLCAgMAotLmVxdSBWUFhfQVJDSF9BQVJDSDY0ICwgIDAK
LS5lcXUgQVJDSF9BQVJDSDY0ICwgIDAKIC5lcXUgVlBYX0FSQ0hfTUlQUyAsICAwCiAuZXF1IEFS
Q0hfTUlQUyAsICAwCiAuZXF1IFZQWF9BUkNIX1g4NiAsICAwCkBAIC0xMywxMiArMTEsOCBAQAog
LmVxdSBBUkNIX1g4Nl82NCAsICAwCiAuZXF1IFZQWF9BUkNIX1BQQyAsICAwCiAuZXF1IEFSQ0hf
UFBDICwgIDAKLS5lcXUgVlBYX0FSQ0hfTE9PTkdBUkNIICwgIDAKLS5lcXUgQVJDSF9MT09OR0FS
Q0ggLCAgMAotLmVxdSBIQVZFX05FT05fQVNNICwgIDAKIC5lcXUgSEFWRV9ORU9OICwgIDAKLS5l
cXUgSEFWRV9ORU9OX0RPVFBST0QgLCAgMAotLmVxdSBIQVZFX05FT05fSThNTSAsICAwCisuZXF1
IEhBVkVfTkVPTl9BU00gLCAgMAogLmVxdSBIQVZFX01JUFMzMiAsICAwCiAuZXF1IEhBVkVfRFNQ
UjIgLCAgMAogLmVxdSBIQVZFX01TQSAsICAwCkBAIC0zNCw4ICsyOCw2IEBACiAuZXF1IEhBVkVf
QVZYNTEyICwgIDAKIC5lcXUgSEFWRV9WU1ggLCAgMAogLmVxdSBIQVZFX01NSSAsICAwCi0uZXF1
IEhBVkVfTFNYICwgIDAKLS5lcXUgSEFWRV9MQVNYICwgIDAKIC5lcXUgSEFWRV9WUFhfUE9SVFMg
LCAgMQogLmVxdSBIQVZFX1BUSFJFQURfSCAsICAxCiAuZXF1IEhBVkVfVU5JU1REX0ggLCAgMApA
QCAtODgsNiArODAsNyBAQAogLmVxdSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5HICwgIDEKIC5l
cXUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCiAuZXF1IENPTkZJR19WUDlfVEVNUE9S
QUxfREVOT0lTSU5HICwgIDEKKy5lcXUgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFICwgIDAKIC5l
cXUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HICwgIDAKIC5lcXUgQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEggLCAgMQogLmVxdSBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkg
LCAgMApAQCAtMTAwLDcgKzkzLDYgQEAKIC5lcXUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUgLCAg
MAogLmVxdSBDT05GSUdfTk9OX0dSRUVEWV9NViAsICAwCiAuZXF1IENPTkZJR19SQVRFX0NUUkwg
LCAgMAotLmVxdSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HICwgIDAKIC5lcXUgREVD
T0RFX1dJRFRIX0xJTUlUICwgIDE2Mzg0CiAuZXF1IERFQ09ERV9IRUlHSFRfTElNSVQgLCAgMTYz
ODQKLSAgICAuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssIiIsJXByb2diaXRzCisJLnNlY3Rpb24J
Lm5vdGUuR05VLXN0YWNrLCIiLCVwcm9nYml0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9nZW5lcmljL3ZweF9jb25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvZ2VuZXJpYy92cHhfY29u
ZmlnLmgKaW5kZXggZTU3ZTBmYmY2Yzg4Li5mZGRiNzZiZDJmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9j
b25maWcvbGludXgvZ2VuZXJpYy92cHhfY29uZmlnLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9n
ZW5lcmljL3ZweF9jb25maWcuaApAQCAtMTIsOCArMTIsNiBAQAogI2RlZmluZSBJTkxJTkUgICAg
ICBpbmxpbmUKICNkZWZpbmUgVlBYX0FSQ0hfQVJNIDAKICNkZWZpbmUgQVJDSF9BUk0gMAotI2Rl
ZmluZSBWUFhfQVJDSF9BQVJDSDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICNkZWZpbmUg
VlBYX0FSQ0hfTUlQUyAwCiAjZGVmaW5lIEFSQ0hfTUlQUyAwCiAjZGVmaW5lIFZQWF9BUkNIX1g4
NiAwCkBAIC0yMiwxMiArMjAsOCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAwCiAjZGVmaW5lIFZQ
WF9BUkNIX1BQQyAwCiAjZGVmaW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdB
UkNIIDAKLSNkZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDAK
ICNkZWZpbmUgSEFWRV9ORU9OIDAKLSNkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMAotI2RlZmlu
ZSBIQVZFX05FT05fSThNTSAwCisjZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZF
X01JUFMzMiAwCiAjZGVmaW5lIEhBVkVfRFNQUjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC00
Myw4ICszNyw2IEBACiAjZGVmaW5lIEhBVkVfQVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAog
I2RlZmluZSBIQVZFX01NSSAwCi0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNY
IDAKICNkZWZpbmUgSEFWRV9WUFhfUE9SVFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMApAQCAtOTcsNiArODksNyBAQAogI2RlZmluZSBDT05GSUdf
TVVMVElfUkVTX0VOQ09ESU5HIDEKICNkZWZpbmUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAx
CiAjZGVmaW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEKKyNkZWZpbmUgQ09ORklH
X0NPTlNJU1RFTlRfUkVDT0RFIDAKICNkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NI
RUNLSU5HIDAKICNkZWZpbmUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggMQogI2RlZmluZSBDT05G
SUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgMApAQCAtMTA5LDcgKzEwMiw2IEBACiAjZGVmaW5l
IENPTkZJR19FTVVMQVRFX0hBUkRXQVJFIDAKICNkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYg
MAogI2RlZmluZSBDT05GSUdfUkFURV9DVFJMIDAKLSNkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09N
UE9ORU5UX1RJTUlORyAwCiAjZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogI2RlZmlu
ZSBERUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBYX0NPTkZJR19IICovCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2dlbmVyaWMvdnB4X2RzcF9ydGNkLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2xpbnV4L2dlbmVyaWMvdnB4X2RzcF9ydGNkLmgKaW5kZXggNmI3NTYyMTgxNzBlLi44
YmE0ZDg4MDU1ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvZ2VuZXJpYy92cHhfZHNw
X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2dlbmVyaWMvdnB4X2RzcF9ydGNkLmgKQEAg
LTE1LDEwICsxNSw2IEBACiAjaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCiAjaW5jbHVkZSAi
dnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgogI2luY2x1ZGUgInZweF9kc3AvdnB4X2ZpbHRlci5o
IgotI2lmIENPTkZJR19WUDlfRU5DT0RFUgotc3RydWN0IG1hY3JvYmxvY2tfcGxhbmU7Ci1zdHJ1
Y3QgU2Nhbk9yZGVyOwotI2VuZGlmCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7
CkBAIC0yNDE4LDIyICsyNDE0LDMyIEBAIHZvaWQgdnB4X2hpZ2hiZF9taW5tYXhfOHg4X2MoY29u
c3QgdWludDhfdCogczgsCiAKIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MoY29uc3QgdHJh
bl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJf
dCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1h
Y3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qq
IGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2Fu
T3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYiB2cHhfaGlnaGJk
X3F1YW50aXplX2JfYwogCi12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jKAotICAg
IGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBj
b25zdCBzY2FuX29yZGVyKTsKK3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2MoY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7
CiAjZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMiB2cHhfaGlnaGJkX3F1YW50aXpl
X2JfMzJ4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngxNl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCkBAIC0yNDUxLDkgKzI0NTcsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQxNngxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9o
aWdoYmRfc2FkMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDE2eDE2eDRkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0yNDcxLDkgKzI0Nzcs
OSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRf
YwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNng4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKQEAgLTI0OTEsOSArMjQ5Nyw5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2
eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDE2
eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDh4NGQgdnB4X2hpZ2hi
ZF9zYWQxNng4eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjUxMSw5ICsyNTE3LDkgQEAgdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2
cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQzMngxNng0ZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjUzMSw5ICsy
NTM3LDkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCB2cHhfaGlnaGJkX3NhZDMyeDMy
eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLApAQCAtMjU1MSw5ICsyNTU3LDkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMzJ4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJk
X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2
NHg0ZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTI1NzEsOSArMjU3Nyw5IEBAIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ0eDR4NGQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjU5MSw5ICsyNTk3LDkgQEAg
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJk
X3NhZDR4OHg0ZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTI2MTEsOSArMjYxNyw5
IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9j
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKQEAgLTI2MzEsOSArMjYzNyw5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0
eDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2
NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjR4NGQg
dnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4
MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjY1MSw5ICsyNjU3LDkgQEAgdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
CiB2b2lkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdo
YmRfc2FkOHgxNng0ZCB2cHhfaGlnaGJkX3NhZDh4MTZ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQ4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjY3MSw5ICsyNjc3
LDkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDh4NHg0ZCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0yNjkxLDE4MCAr
MjY5NywxMSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5l
IHZweF9oaWdoYmRfc2FkOHg4eDRkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MKIAotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2IHZweF9oaWdoYmRf
c2FkX3NraXBfMTZ4MTZfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9jCi0KLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMiB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDMyX2MKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eDMyeDRkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYwotCi11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4IHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4OF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
OHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYgdnB4X2hpZ2hiZF9zYWRfc2tpcF8z
MngxNl9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngx
Nng0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkX3NraXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyIHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4MzJfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
MzJ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NCB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDY0X2MKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDY0eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF80eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NF9jCi0K
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NHg0ZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzR4NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBf
NHg4IHZweF9oaWdoYmRfc2FkX3NraXBfNHg4X2MKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkX3NraXBfNHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkX2MKLQotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyIHZweF9oaWdoYmRf
c2FkX3NraXBfNjR4MzJfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4MzJ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZF9jCi0KLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NCB2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDY0X2MKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDY0eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfYwotCi11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2IHZweF9oaWdoYmRfc2Fk
X3NraXBfOHgxNl9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfOHgx
Nng0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmlu
ZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9jCi0KLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lw
Xzh4NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4
IHZweF9oaWdoYmRfc2FkX3NraXBfOHg4X2MKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2Fk
X3NraXBfOHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX2MKLQogaW50IHZweF9oaWdo
YmRfc2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKICNkZWZpbmUg
dnB4X2hpZ2hiZF9zYXRkIHZweF9oaWdoYmRfc2F0ZF9jCiAKQEAgLTI5ODMsNyArMjgyMCw3IEBA
IHZvaWQgdnB4X2lkY3Q4eDhfNjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsIHVpbnQ4
X3QqIGRlc3QsIGludCBzdHJpZGUpOwogaW50MTZfdCB2cHhfaW50X3Byb19jb2xfYyhjb25zdCB1
aW50OF90KiByZWYsIGNvbnN0IGludCB3aWR0aCk7CiAjZGVmaW5lIHZweF9pbnRfcHJvX2NvbCB2
cHhfaW50X3Byb19jb2xfYwogCi12b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3QgaGJ1Zlsx
Nl0sCit2b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3QqIGhidWYsCiAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBoZWln
aHQpOwpAQCAtMzE2MiwyMSArMjk5OSwzMiBAQCB2b2lkIHZweF9wb3N0X3Byb2NfZG93bl9hbmRf
YWNyb3NzX21iX3Jvd19jKHVuc2lnbmVkIGNoYXIqIHNyYywKIAogdm9pZCB2cHhfcXVhbnRpemVf
Yl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBp
bnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZpbmUgdnB4
X3F1YW50aXplX2IgdnB4X3F1YW50aXplX2JfYwogCiB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMy
X2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90
KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2Fu
T3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYl8zMngzMiB2cHhfcXVhbnRpemVf
Yl8zMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLApAQCAtMzE5MiwxMyArMzA0MCwyNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2
X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2
X2F2ZyB2cHhfc2FkMTZ4MTZfYXZnX2MKIAordm9pZCB2cHhfc2FkMTZ4MTZ4M19jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2eDMgdnB4X3NhZDE2eDE2eDNfYwor
CiB2b2lkIHZweF9zYWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAj
ZGVmaW5lIHZweF9zYWQxNngxNng0ZCB2cHhfc2FkMTZ4MTZ4NGRfYwogCit2b2lkIHZweF9zYWQx
NngxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4MTZ4OCB2
cHhfc2FkMTZ4MTZ4OF9jCisKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBA
IC0zMjE0LDkgKzMwNzYsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2F2Z19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDE2eDMyeDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDE2eDMyeDRkIHZweF9zYWQxNngzMng0
ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CkBAIC0zMjMyLDEzICszMDk0LDI3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9hdmdfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDhfYXZnIHZweF9z
YWQxNng4X2F2Z19jCiAKK3ZvaWQgdnB4X3NhZDE2eDh4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfc2FkMTZ4OHgzIHZweF9zYWQxNng4eDNfYworCiB2b2lkIHZweF9zYWQxNng4
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDE2eDh4NGQgdnB4
X3NhZDE2eDh4NGRfYwogCit2b2lkIHZweF9zYWQxNng4eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
KyNkZWZpbmUgdnB4X3NhZDE2eDh4OCB2cHhfc2FkMTZ4OHg4X2MKKwogdW5zaWduZWQgaW50IHZw
eF9zYWQzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTMyNTQsOSArMzEzMCw5IEBAIHVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2Fk
MzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2Fk
MzJ4MTZ4NGQgdnB4X3NhZDMyeDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQzMngzMl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0zMjc0LDExICszMTUwLDE4IEBAIHVuc2lnbmVk
IGludCB2cHhfc2FkMzJ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2
cHhfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2
cHhfc2FkMzJ4MzJ4NGQgdnB4X3NhZDMyeDMyeDRkX2MKIAordm9pZCB2cHhfc2FkMzJ4MzJ4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyeDggdnB4X3NhZDMy
eDMyeDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDY0X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtMzI5NCw5
ICszMTc3LDkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMng2NHg0ZCB2cHhfc2FkMzJ4NjR4NGRfYwogCiB1
bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0zMzEy
LDEzICszMTk1LDI3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNHg0X2F2Z19jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQ0eDRfYXZnIHZweF9zYWQ0eDRfYXZnX2MK
IAordm9pZCB2cHhfc2FkNHg0eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkNHg0
eDMgdnB4X3NhZDR4NHgzX2MKKwogdm9pZCB2cHhfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKICNkZWZpbmUgdnB4X3NhZDR4NHg0ZCB2cHhfc2FkNHg0eDRkX2MKIAordm9pZCB2cHhfc2Fk
NHg0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDggdnB4X3NhZDR4NHg4
X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTMzMzQsOSArMzIzMSw5IEBA
IHVuc2lnbmVkIGludCB2cHhfc2FkNHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAK
IHZvaWQgdnB4X3NhZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0
eDh4NGQgdnB4X3NhZDR4OHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLApAQCAtMzM1NCw5ICszMjUxLDkgQEAgdW5zaWduZWQgaW50IHZw
eF9zYWQ2NHgzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ2
NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ2
NHgzMng0ZCB2cHhfc2FkNjR4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTMzNzQsOSArMzI3MSw5IEBAIHVuc2lnbmVkIGlu
dCB2cHhfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhf
c2FkNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhf
c2FkNjR4NjR4NGQgdnB4X3NhZDY0eDY0eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTMzOTIsMTMgKzMyODksMjcgQEAgdW5zaWdu
ZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2Rl
ZmluZSB2cHhfc2FkOHgxNl9hdmcgdnB4X3NhZDh4MTZfYXZnX2MKIAordm9pZCB2cHhfc2FkOHgx
NngzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDE2eDMgdnB4X3NhZDh4
MTZ4M19jCisKIHZvaWQgdnB4X3NhZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwog
I2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgxNng0ZF9jCiAKK3ZvaWQgdnB4X3NhZDh4
MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgxNng4IHZweF9zYWQ4
eDE2eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtMzQxNCw5ICszMzI1
LDkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKIAogdm9pZCB2cHhfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4
X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMzQzMiwxODEgKzMzNDMsMjYgQEAgdW5zaWduZWQg
aW50IHZweF9zYWQ4eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUg
dnB4X3NhZDh4OF9hdmcgdnB4X3NhZDh4OF9hdmdfYwogCit2b2lkIHZweF9zYWQ4eDh4M19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4MyB2cHhfc2FkOHg4eDNfYworCiB2b2lk
IHZweF9zYWQ4eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkOHg4eDRk
IHZweF9zYWQ4eDh4NGRfYwogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2IHZweF9zYWRfc2tpcF8xNngx
Nl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9z
YWRfc2tpcF8xNngxNng0ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lw
XzE2eDMyIHZweF9zYWRfc2tpcF8xNngzMl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfc2FkX3NraXBfMTZ4
MzJ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OCB2cHhfc2FkX3NraXBfMTZ4OF9jCi0KLXZvaWQgdnB4
X3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OHg0ZCB2cHhf
c2FkX3NraXBfMTZ4OHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MTYgdnB4X3NhZF9za2lwXzMy
eDE2X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X3NhZF9za2lwXzMyeDE2eDRkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9jCi0KLXVuc2lnbmVkIGlu
dCB2cHhfc2FkX3NraXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3Nr
aXBfMzJ4MzIgdnB4X3NhZF9za2lwXzMyeDMyX2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDMyeDRkIHZweF9zYWRfc2tpcF8z
MngzMng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4NjQgdnB4X3NhZF9za2lwXzMyeDY0X2MKLQot
dm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lw
XzMyeDY0eDRkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2Fk
X3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3Nr
aXBfNHg0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3Nr
aXBfNHg0eDRkIHZweF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lw
XzR4OF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lw
XzR4OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tp
cF82NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHgzMiB2cHhf
c2FkX3NraXBfNjR4MzJfYwotCi12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2MKLQot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF82NHg2NCB2cHhfc2FkX3NraXBfNjR4NjRfYwotCi12b2lkIHZweF9zYWRf
c2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4NjR4NGQgdnB4
X3NhZF9za2lwXzY0eDY0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTYgdnB4X3NhZF9za2lwXzh4MTZf
YwotCi12b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lw
Xzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDQgdnB4X3NhZF9za2lw
Xzh4NF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lw
Xzh4NHg0ZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tp
cF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg4IHZweF9zYWRfc2tpcF84
eDhfYwotCi12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84
eDh4NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9jCit2b2lkIHZweF9zYWQ4eDh4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4OCB2cHhfc2FkOHg4eDhfYwogCiBpbnQgdnB4X3Nh
dGRfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CiAjZGVmaW5lIHZweF9z
YXRkIHZweF9zYXRkX2MKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvaWEzMi92cDhfcnRj
ZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9pYTMyL3ZwOF9ydGNkLmgKaW5kZXggMzYyMTY3NzBhMWU4
Li5jNDZiZmU1NzMzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvaWEzMi92cDhfcnRj
ZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvaWEzMi92cDhfcnRjZC5oCkBAIC0xMDUsNiArMTA1
LDM2IEBAIFJUQ0RfRVhURVJOIHZvaWQgKCp2cDhfYmlsaW5lYXJfcHJlZGljdDh4OCkodW5zaWdu
ZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7CiAKK3ZvaWQgdnA4X2JsZW5kX2JfYyh1
bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHUsCisg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICBp
bnQgeV8xLAorICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisgICAgICAgICAgICAgICAgICAg
aW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAg
ICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9iIHZwOF9ibGVuZF9iX2MKKwordm9p
ZCB2cDhfYmxlbmRfbWJfaW5uZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfaW5u
ZXIgdnA4X2JsZW5kX21iX2lubmVyX2MKKwordm9pZCB2cDhfYmxlbmRfbWJfb3V0ZXJfYyh1bnNp
Z25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1
LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJp
ZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfb3V0ZXIgdnA4X2JsZW5kX21iX291dGVyX2MKKwog
aW50IHZwOF9ibG9ja19lcnJvcl9jKHNob3J0KiBjb2VmZiwgc2hvcnQqIGRxY29lZmYpOwogaW50
IHZwOF9ibG9ja19lcnJvcl9zc2UyKHNob3J0KiBjb2VmZiwgc2hvcnQqIGRxY29lZmYpOwogI2Rl
ZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4X2Jsb2NrX2Vycm9yX3NzZTIKQEAgLTMwOCw2ICszMzgs
NDMgQEAgdm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9zc2UyKHVuc2lnbmVkIGNoYXIqIHNy
YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7CiAj
ZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X3Nz
ZTIKIAoraW50IHZwOF9mdWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1
bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9w
ZXJfYml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuaW9uIGludF9tdiogY2VudGVyX212KTsKK2ludCB2cDhfZnVsbF9zZWFyY2hfc2Fk
eDMoc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dCBibG9jayogYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrZCogZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiByZWZfbXYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRpc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFy
aWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZj
b3N0WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9t
dik7CitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZHg4KHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
aW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Bl
cl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworUlRDRF9FWFRFUk4gaW50ICgqdnA4X2Z1
bGxfc2VhcmNoX3NhZCkoc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiByZWZfbXYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogY2VudGVy
X212KTsKKwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLApAQCAtNTgxLDYgKzY0OCwx
MSBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAgdnA4X2Zhc3Rf
cXVhbnRpemVfYiA9IHZwOF9mYXN0X3F1YW50aXplX2Jfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFT
X1NTU0UzKQogICAgIHZwOF9mYXN0X3F1YW50aXplX2IgPSB2cDhfZmFzdF9xdWFudGl6ZV9iX3Nz
c2UzOworICB2cDhfZnVsbF9zZWFyY2hfc2FkID0gdnA4X2Z1bGxfc2VhcmNoX3NhZF9jOworICBp
ZiAoZmxhZ3MgJiBIQVNfU1NFMykKKyAgICB2cDhfZnVsbF9zZWFyY2hfc2FkID0gdnA4X2Z1bGxf
c2VhcmNoX3NhZHgzOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZwOF9mdWxsX3Nl
YXJjaF9zYWQgPSB2cDhfZnVsbF9zZWFyY2hfc2FkeDg7CiAgIHZwOF9yZWd1bGFyX3F1YW50aXpl
X2IgPSB2cDhfcmVndWxhcl9xdWFudGl6ZV9iX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU0U0
XzEpCiAgICAgdnA4X3JlZ3VsYXJfcXVhbnRpemVfYiA9IHZwOF9yZWd1bGFyX3F1YW50aXplX2Jf
c3NlNF8xOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9pYTMyL3ZwOV9ydGNkLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2xpbnV4L2lhMzIvdnA5X3J0Y2QuaAppbmRleCA3NzcxZWUzZTFhOTAuLmUwNzlh
MmQwY2VmYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9pYTMyL3ZwOV9ydGNkLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2NvbmZpZy9saW51eC9pYTMyL3ZwOV9ydGNkLmgKQEAgLTIxLDkgKzIxLDcgQEAgc3Ry
dWN0IG1hY3JvYmxvY2tkOwogCiAvKiBFbmNvZGVyIGZvcndhcmQgZGVjbHMgKi8KIHN0cnVjdCBt
YWNyb2Jsb2NrOwotc3RydWN0IG1hY3JvYmxvY2tfcGxhbmU7Ci1zdHJ1Y3QgdnA5X3NhZF90YWJs
ZTsKLXN0cnVjdCBTY2FuT3JkZXI7CitzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZTsKIHN0cnVj
dCBzZWFyY2hfc2l0ZV9jb25maWc7CiBzdHJ1Y3QgbXY7CiB1bmlvbiBpbnRfbXY7CkBAIC04Niwx
NCArODQsMzEgQEAgaW50IHZwOV9kZW5vaXNlcl9maWx0ZXJfc3NlMihjb25zdCB1aW50OF90KiBz
aWcsCiBpbnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
KiB4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3Np
dGVfY29uZmlnKiBjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiog
cmVmX212LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9z
YWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwotI2RlZmlu
ZSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYworaW50IHZw
OV9kaWFtb25kX3NlYXJjaF9zYWRfYXZ4KGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25m
aWcqIGNmZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIHJlZl9t
diwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50KiBudW0wMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiogY2VudGVyX212KTsKK1JUQ0RfRVhU
RVJOIGludCAoKnZwOV9kaWFtb25kX3NlYXJjaF9zYWQpKAorICAgIGNvbnN0IHN0cnVjdCBtYWNy
b2Jsb2NrKiB4LAorICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKKyAg
ICBzdHJ1Y3QgbXYqIHJlZl9tdiwKKyAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCisgICAgaW50IHNl
YXJjaF9wYXJhbSwKKyAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgaW50KiBudW0wMCwKKyAgICBj
b25zdCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgIGNvbnN0IHN0cnVj
dCBtdiogY2VudGVyX212KTsKIAogdm9pZCB2cDlfZmh0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBp
bnB1dCwKICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LApAQCAtMjYwLDU3
ICsyNzUsMjkgQEAgdm9pZCB2cDlfaGlnaGJkX3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfYyhj
b25zdCB1aW50MTZfdCogc3JjX3B0ciwKIAogdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2Mo
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X2hpZ2hi
ZF9xdWFudGl6ZV9mcF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0
IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZw
OV9oaWdoYmRfcXVhbnRpemVfZnApKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwK
LSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFu
X2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAg
ICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKLQotdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2MoCi0gICAg
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAg
IGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFu
X2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNv
bnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNv
bnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cDlfaGlnaGJk
X3F1YW50aXplX2ZwXzMyeDMyX2F2eDIoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRy
LAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3Bs
YW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRy
YW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAot
ICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0
IHNjYW5fb3JkZXIpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9oaWdoYmRfcXVhbnRpemVfZnBf
MzJ4MzIpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBu
X2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxh
bmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9i
X3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVmaW5lIHZw
OV9oaWdoYmRfcXVhbnRpemVfZnAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9jCisKK3ZvaWQgdnA5
X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBx
Y29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnA5X2hpZ2hiZF9xdWFudGl6ZV9m
cF8zMngzMiB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2MKIAogdm9pZCB2cDlfaGlnaGJk
X3RlbXBvcmFsX2ZpbHRlcl9hcHBseV9jKGNvbnN0IHVpbnQ4X3QqIGZyYW1lMSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3RyaWRlLApAQCAt
MzU2LDc5ICszNDMsNjEgQEAgdm9pZCB2cDlfaWh0OHg4XzY0X2FkZF9zc2UyKGNvbnN0IHRyYW5f
bG93X3QqIGlucHV0LAogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25z
dCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlf
cXVhbnRpemVfZnBfc3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9i
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciog
Y29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9xdWFudGl6ZV9mcF9zc3NlMyhjb25zdCB0cmFu
X2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBu
X2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVv
Yl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVy
KiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNj
YW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5
X3F1YW50aXplX2ZwKSgKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0
IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCog
ZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2
X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRl
cik7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJO
IHZvaWQgKCp2cDlfcXVhbnRpemVfZnApKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
ZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYyhj
b25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngz
Ml9zc3NlMyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2F2eDIo
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDlfcXVhbnRpemVfZnBfMzJ4MzIpKAotICAg
IGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAg
ICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJh
bl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBj
b25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBj
b25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cDlfcXVhbnRpemVfZnBf
MzJ4MzIgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2MKIAogdm9pZCB2cDlfc2NhbGVfYW5kX2V4dGVu
ZF9mcmFtZV9jKGNvbnN0IHN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWcqIHNyYywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBkc3Qs
CkBAIC00NTksNiArNDI4LDkgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lk
KSB7CiAgIHZwOV9ibG9ja19lcnJvcl9mcCA9IHZwOV9ibG9ja19lcnJvcl9mcF9zc2UyOwogICBp
ZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cDlfYmxvY2tfZXJyb3JfZnAgPSB2cDlfYmxvY2tf
ZXJyb3JfZnBfYXZ4MjsKKyAgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCA9IHZwOV9kaWFtb25kX3Nl
YXJjaF9zYWRfYzsKKyAgaWYgKGZsYWdzICYgSEFTX0FWWCkKKyAgICB2cDlfZGlhbW9uZF9zZWFy
Y2hfc2FkID0gdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdng7CiAgIHZwOV9oaWdoYmRfaWh0MTZ4
MTZfMjU2X2FkZCA9IHZwOV9oaWdoYmRfaWh0MTZ4MTZfMjU2X2FkZF9jOwogICBpZiAoZmxhZ3Mg
JiBIQVNfU1NFNF8xKQogICAgIHZwOV9oaWdoYmRfaWh0MTZ4MTZfMjU2X2FkZCA9IHZwOV9oaWdo
YmRfaWh0MTZ4MTZfMjU2X2FkZF9zc2U0XzE7CkBAIC00NjgsMjIgKzQ0MCw5IEBAIHN0YXRpYyB2
b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cDlfaGlnaGJkX2lodDh4OF82NF9h
ZGQgPSB2cDlfaGlnaGJkX2lodDh4OF82NF9hZGRfYzsKICAgaWYgKGZsYWdzICYgSEFTX1NTRTRf
MSkKICAgICB2cDlfaGlnaGJkX2lodDh4OF82NF9hZGQgPSB2cDlfaGlnaGJkX2lodDh4OF82NF9h
ZGRfc3NlNF8xOwotICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwID0gdnA5X2hpZ2hiZF9xdWFudGl6
ZV9mcF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cDlfaGlnaGJkX3F1YW50aXpl
X2ZwID0gdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9hdngyOwotICB2cDlfaGlnaGJkX3F1YW50aXpl
X2ZwXzMyeDMyID0gdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9jOwotICBpZiAoZmxhZ3Mg
JiBIQVNfQVZYMikKLSAgICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyID0gdnA5X2hpZ2hi
ZF9xdWFudGl6ZV9mcF8zMngzMl9hdngyOwogICB2cDlfcXVhbnRpemVfZnAgPSB2cDlfcXVhbnRp
emVfZnBfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQotICAgIHZwOV9xdWFudGl6ZV9m
cCA9IHZwOV9xdWFudGl6ZV9mcF9zc3NlMzsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAg
dnA5X3F1YW50aXplX2ZwID0gdnA5X3F1YW50aXplX2ZwX2F2eDI7Ci0gIHZwOV9xdWFudGl6ZV9m
cF8zMngzMiA9IHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfU1NT
RTMpCi0gICAgdnA5X3F1YW50aXplX2ZwXzMyeDMyID0gdnA5X3F1YW50aXplX2ZwXzMyeDMyX3Nz
c2UzOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cDlfcXVhbnRpemVfZnBfMzJ4MzIg
PSB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MjsKICAgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJh
bWUgPSB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NT
RTMpCiAgICAgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUgPSB2cDlfc2NhbGVfYW5kX2V4dGVu
ZF9mcmFtZV9zc3NlMzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvaWEzMi92cHhfY29u
ZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvaWEzMi92cHhfY29uZmlnLmFzbQppbmRleCBkMThl
ZGQ1ZDJkY2EuLmE1YmRhMjljNzY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9pYTMy
L3ZweF9jb25maWcuYXNtCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvaWEzMi92cHhfY29uZmlnLmFz
bQpAQCAtMSw3ICsxLDUgQEAKICVkZWZpbmUgVlBYX0FSQ0hfQVJNIDAKICVkZWZpbmUgQVJDSF9B
Uk0gMAotJWRlZmluZSBWUFhfQVJDSF9BQVJDSDY0IDAKLSVkZWZpbmUgQVJDSF9BQVJDSDY0IDAK
ICVkZWZpbmUgVlBYX0FSQ0hfTUlQUyAwCiAlZGVmaW5lIEFSQ0hfTUlQUyAwCiAlZGVmaW5lIFZQ
WF9BUkNIX1g4NiAxCkBAIC0xMCwxMiArOCw4IEBACiAlZGVmaW5lIEFSQ0hfWDg2XzY0IDAKICVk
ZWZpbmUgVlBYX0FSQ0hfUFBDIDAKICVkZWZpbmUgQVJDSF9QUEMgMAotJWRlZmluZSBWUFhfQVJD
SF9MT09OR0FSQ0ggMAotJWRlZmluZSBBUkNIX0xPT05HQVJDSCAwCi0lZGVmaW5lIEhBVkVfTkVP
Tl9BU00gMAogJWRlZmluZSBIQVZFX05FT04gMAotJWRlZmluZSBIQVZFX05FT05fRE9UUFJPRCAw
Ci0lZGVmaW5lIEhBVkVfTkVPTl9JOE1NIDAKKyVkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAlZGVm
aW5lIEhBVkVfTUlQUzMyIDAKICVkZWZpbmUgSEFWRV9EU1BSMiAwCiAlZGVmaW5lIEhBVkVfTVNB
IDAKQEAgLTMxLDggKzI1LDYgQEAKICVkZWZpbmUgSEFWRV9BVlg1MTIgMAogJWRlZmluZSBIQVZF
X1ZTWCAwCiAlZGVmaW5lIEhBVkVfTU1JIDAKLSVkZWZpbmUgSEFWRV9MU1ggMAotJWRlZmluZSBI
QVZFX0xBU1ggMAogJWRlZmluZSBIQVZFX1ZQWF9QT1JUUyAxCiAlZGVmaW5lIEhBVkVfUFRIUkVB
RF9IIDEKICVkZWZpbmUgSEFWRV9VTklTVERfSCAwCkBAIC04NSw2ICs3Nyw3IEBACiAlZGVmaW5l
IENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgMQogJWRlZmluZSBDT05GSUdfVEVNUE9SQUxfREVO
T0lTSU5HIDEKICVkZWZpbmUgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgMQorJWRlZmlu
ZSBDT05GSUdfQ09OU0lTVEVOVF9SRUNPREUgMAogJWRlZmluZSBDT05GSUdfQ09FRkZJQ0lFTlRf
UkFOR0VfQ0hFQ0tJTkcgMAogJWRlZmluZSBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAxCiAlZGVm
aW5lIENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElUWSAwCkBAIC05Nyw2ICs5MCw1IEBACiAl
ZGVmaW5lIENPTkZJR19FTVVMQVRFX0hBUkRXQVJFIDAKICVkZWZpbmUgQ09ORklHX05PTl9HUkVF
RFlfTVYgMAogJWRlZmluZSBDT05GSUdfUkFURV9DVFJMIDAKLSVkZWZpbmUgQ09ORklHX0NPTExF
Q1RfQ09NUE9ORU5UX1RJTUlORyAwCiAlZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAog
JWRlZmluZSBERUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln
L2xpbnV4L2lhMzIvdnB4X2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9pYTMyL3ZweF9jb25m
aWcuaAppbmRleCBhN2Q3ZmZkMDcwOWMuLjExYzE0ZmVlZjc5NiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2Nv
bmZpZy9saW51eC9pYTMyL3ZweF9jb25maWcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2lhMzIv
dnB4X2NvbmZpZy5oCkBAIC0xMiw4ICsxMiw2IEBACiAjZGVmaW5lIElOTElORSAgICAgIGlubGlu
ZQogI2RlZmluZSBWUFhfQVJDSF9BUk0gMAogI2RlZmluZSBBUkNIX0FSTSAwCi0jZGVmaW5lIFZQ
WF9BUkNIX0FBUkNINjQgMAotI2RlZmluZSBBUkNIX0FBUkNINjQgMAogI2RlZmluZSBWUFhfQVJD
SF9NSVBTIDAKICNkZWZpbmUgQVJDSF9NSVBTIDAKICNkZWZpbmUgVlBYX0FSQ0hfWDg2IDEKQEAg
LTIyLDEyICsyMCw4IEBACiAjZGVmaW5lIEFSQ0hfWDg2XzY0IDAKICNkZWZpbmUgVlBYX0FSQ0hf
UFBDIDAKICNkZWZpbmUgQVJDSF9QUEMgMAotI2RlZmluZSBWUFhfQVJDSF9MT09OR0FSQ0ggMAot
I2RlZmluZSBBUkNIX0xPT05HQVJDSCAwCi0jZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmlu
ZSBIQVZFX05FT04gMAotI2RlZmluZSBIQVZFX05FT05fRE9UUFJPRCAwCi0jZGVmaW5lIEhBVkVf
TkVPTl9JOE1NIDAKKyNkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAjZGVmaW5lIEhBVkVfTUlQUzMy
IDAKICNkZWZpbmUgSEFWRV9EU1BSMiAwCiAjZGVmaW5lIEhBVkVfTVNBIDAKQEAgLTQzLDggKzM3
LDYgQEAKICNkZWZpbmUgSEFWRV9BVlg1MTIgMAogI2RlZmluZSBIQVZFX1ZTWCAwCiAjZGVmaW5l
IEhBVkVfTU1JIDAKLSNkZWZpbmUgSEFWRV9MU1ggMAotI2RlZmluZSBIQVZFX0xBU1ggMAogI2Rl
ZmluZSBIQVZFX1ZQWF9QT1JUUyAxCiAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKICNkZWZpbmUg
SEFWRV9VTklTVERfSCAwCkBAIC05Nyw2ICs4OSw3IEBACiAjZGVmaW5lIENPTkZJR19NVUxUSV9S
RVNfRU5DT0RJTkcgMQogI2RlZmluZSBDT05GSUdfVEVNUE9SQUxfREVOT0lTSU5HIDEKICNkZWZp
bmUgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgMQorI2RlZmluZSBDT05GSUdfQ09OU0lT
VEVOVF9SRUNPREUgMAogI2RlZmluZSBDT05GSUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcg
MAogI2RlZmluZSBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAxCiAjZGVmaW5lIENPTkZJR19CRVRU
RVJfSFdfQ09NUEFUSUJJTElUWSAwCkBAIC0xMDksNyArMTAyLDYgQEAKICNkZWZpbmUgQ09ORklH
X0VNVUxBVEVfSEFSRFdBUkUgMAogI2RlZmluZSBDT05GSUdfTk9OX0dSRUVEWV9NViAwCiAjZGVm
aW5lIENPTkZJR19SQVRFX0NUUkwgMAotI2RlZmluZSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRf
VElNSU5HIDAKICNkZWZpbmUgREVDT0RFX1dJRFRIX0xJTUlUIDE2Mzg0CiAjZGVmaW5lIERFQ09E
RV9IRUlHSFRfTElNSVQgMTYzODQKICNlbmRpZiAvKiBWUFhfQ09ORklHX0ggKi8KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvbGludXgvaWEzMi92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu
dXgvaWEzMi92cHhfZHNwX3J0Y2QuaAppbmRleCAzM2EzYzk2ZWRjYWMuLjA5NmUzYTg2M2U1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9pYTMyL3ZweF9kc3BfcnRjZC5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9jb25maWcvbGludXgvaWEzMi92cHhfZHNwX3J0Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNp
bmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29t
bW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9F
TkNPREVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5k
aWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKQEAgLTQ0LDE4ICs0MCw3IEBA
IHZvaWQgdnB4X2NvbXBfYXZnX3ByZWRfc3NlMih1aW50OF90KiBjb21wX3ByZWQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdm9pZCB2cHhfY29tcF9hdmdfcHJlZF9hdngyKHVpbnQ4X3QqIGNvbXBf
cHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2NvbXBfYXZnX3ByZWQpKHVpbnQ4X3QqIGNvbXBf
cHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNk
ZWZpbmUgdnB4X2NvbXBfYXZnX3ByZWQgdnB4X2NvbXBfYXZnX3ByZWRfc3NlMgogCiB2b2lkIHZw
eF9jb252b2x2ZThfYyhjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTMwMjEsMTMgKzMwMDYsNyBAQCB2b2lkIHZweF9oaWdo
YmRfY29tcF9hdmdfcHJlZF9jKHVpbnQxNl90KiBjb21wX3ByZWQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLXZvaWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX3NzZTIodWlu
dDE2X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDE2X3QqIHByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHJlZiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX3Nz
ZTIKKyNkZWZpbmUgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkIHZweF9oaWdoYmRfY29tcF9hdmdf
cHJlZF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9jb252b2x2ZThfYyhjb25zdCB1aW50MTZfdCogc3Jj
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAt
NDQ0Myw3MCArNDQyMiw1OSBAQCB2b2lkIHZweF9oaWdoYmRfbWlubWF4Xzh4OF9jKGNvbnN0IHVp
bnQ4X3QqIHM4LAogCiB2b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93
X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9j
b2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVy
KiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogaXNjYW4pOwogdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2Jfc3NlMihjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90
IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7
Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
X3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X2hpZ2hiZF9xdWFudGl6ZV9iKSgKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0g
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciog
Y29uc3Qgc2Nhbl9vcmRlcik7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2Mo
Ci0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNy
b2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3Jk
ZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJf
c3NlMigKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNj
YW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8z
MngzMl9hdngyKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQx
Nl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
aGlnaGJkX3F1YW50aXplX2JfMzJ4MzIpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0g
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
LSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cHhf
aGlnaGJkX3F1YW50aXplX2IgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX3NzZTIKKwordm9pZCB2cHhf
aGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9i
XzMyeDMyX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVm
aW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMiB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4
MzJfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngxNl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtNDUxNiwxNCArNDQ4NCw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDE2eDE2X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDE2eDE2X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdo
YmRfc2FkMTZ4MTYgdnB4X2hpZ2hiZF9zYWQxNngxNl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDE2eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ1MzUsMzcg
KzQ0OTYsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAo
KnZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDE2eDE2
X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDE2eDE2eDRkKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQxNngxNng0
ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDMyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC00NTc1LDE0ICs0NTE4LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
MTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNngzMikoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQxNngzMiB2cHhfaGlnaGJkX3NhZDE2eDMyX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDU5NCwzNyAr
NDUzMCwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X2hpZ2hiZF9zYWQxNngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMTZ4MzJf
YXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkMTZ4MzJ4NGQpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRk
X3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC00NjM0LDE0ICs0NTUyLDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4
OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQxNng4X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9oaWdoYmRfc2FkMTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNng4IHZweF9o
aWdoYmRfc2FkMTZ4OF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZn
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NjUzLDM3ICs0NTY0LDE5IEBAIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhf
YXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDhfYXZnKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OF9h
dmcgdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDE2eDh4NGQp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfc3Nl
MgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNDY5MywxNCArNDU4Niw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDMyeDE2X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
MzJ4MTYgdnB4X2hpZ2hiZF9zYWQzMngxNl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDMyeDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ3MTIsMzcgKzQ1OTgs
MTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9o
aWdoYmRfc2FkMzJ4MTZfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19z
c2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lk
IHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDMyeDE2eDRkKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9zc2Uy
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC00NzUyLDE0ICs0NjIwLDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMzJ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5z
aWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQz
MngzMiB2cHhfaGlnaGJkX3NhZDMyeDMyX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMzJ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDc3MSwzNyArNDYzMiwx
OSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hp
Z2hiZF9zYWQzMngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3Nz
ZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQg
dnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkMzJ4MzJ4NGQpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX3NzZTIK
IAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTQ4MTEsMTQgKzQ2NTQsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQzMng2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNp
Z25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMy
eDY0IHZweF9oaWdoYmRfc2FkMzJ4NjRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQzMng2NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00ODMwLDM3ICs0NjY2LDE5
IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQzMng2NF9hdmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGln
aGJkX3NhZDMyeDY0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfc3Nl
MgogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2
cHhfaGlnaGJkX3NhZDMyeDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2
cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfc3NlMgog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00
ODc3LDE0ICs0Njk1LDE0IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg0eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDR4NHg0ZCB2cHhfaGlnaGJkX3NhZDR4NHg0ZF9zc2UyCiAKIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBA
IC00OTAyLDE0ICs0NzIwLDE0IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9hdmdf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg4eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwog
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4OHg0ZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9zc2UyCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKQEAgLTQ5MjAsMTQgKzQ3MzgsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgz
Ml9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDY0eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDY0eDMyIHZweF9oaWdoYmRfc2FkNjR4MzJfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00OTM5LDM3ICs0NzUw
LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhf
aGlnaGJkX3NhZDY0eDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
KyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmcgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdf
c3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9p
ZCB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZCkoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfc3Nl
MgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNDk3OSwxNCArNDc3Miw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDY0eDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
NjR4NjQgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDY0eDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ5OTgsMzcgKzQ3ODQs
MTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9o
aWdoYmRfc2FkNjR4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19z
c2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lk
IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDY0eDY0eDRkKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjR4NGQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9zc2Uy
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApA
QCAtNTA1NCwxNCArNDgyMiwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2
Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDE2
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkIHZweF9oaWdo
YmRfc2FkOHgxNng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC01MDg4LDE0ICs0ODU2LDE0IEBAIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDh4NF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2
b2lkIHZweF9oaWdoYmRfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NHg0ZCB2
cHhfaGlnaGJkX3NhZDh4NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC01MTIyLDQ5NSArNDg5MCw3OCBAQCB1bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2Fk
OHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4
eDh4NGQgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngxNl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2
eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOworaW50IHZweF9oaWdoYmRfc2F0ZF9jKGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKK2ludCB2cHhfaGlnaGJkX3NhdGRfYXZ4Mihjb25z
dCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CitSVENEX0VYVEVSTiBpbnQgKCp2cHhf
aGlnaGJkX3NhdGQpKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKIAotdm9p
ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX3NzZTIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDE2eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
MTZ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3Ry
aWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cit2b2lkIHZweF9oaWdoYmRfc3VidHJh
Y3RfYmxvY2tfYyhpbnQgcm93cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBjb2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJl
ZDhfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MK
IAotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfYXZ4Mihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKK3ZvaWQgdnB4
X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Cit2b2lkIHZweF9oaWdoYmRf
dG1fcHJlZGljdG9yXzE2eDE2X3NzZTIodWludDE2X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNiB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngx
Nl9zc2UyCiAKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDMyeDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwordm9pZCB2cHhf
aGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQxNl90KiBkc3QsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKK3ZvaWQgdnB4X2hpZ2hiZF90
bV9wcmVkaWN0b3JfMzJ4MzJfc3NlMih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7CisjZGVmaW5lIHZw
eF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMy
X3NzZTIKIAotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNng4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwordm9pZCB2cHhfaGlnaGJkX3Rt
X3ByZWRpY3Rvcl80eDRfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmQpOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3Nl
Mih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDQgdnB4
X2hpZ2hiZF90bV9wcmVkaWN0b3JfNHg0X3NzZTIKIAotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNng4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDE2eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQp
KAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAot
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDMyX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8zMng2NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9hdngyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2
NHg0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWRfc2tpcF80eDQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDRfYwotCi12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80
eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OCB2
cHhfaGlnaGJkX3NhZF9za2lwXzR4OF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzR4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRk
X3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQot
dm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzY0eDMyeDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBf
NjR4MzJ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZf
c3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZF9za2lwXzY0eDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9hdngy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhU
RVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkKSgKLSAgICBjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzh4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTYgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDE2X3NzZTIKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfc3Nl
MgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4NF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4OF9zc2UyCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX3Nz
ZTIKLQotaW50IHZweF9oaWdoYmRfc2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQg
bGVuZ3RoKTsKLWludCB2cHhfaGlnaGJkX3NhdGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2Vm
ZiwgaW50IGxlbmd0aCk7Ci1SVENEX0VYVEVSTiBpbnQgKCp2cHhfaGlnaGJkX3NhdGQpKGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLQotdm9pZCB2cHhfaGlnaGJkX3N1YnRy
YWN0X2Jsb2NrX2MoaW50IHJvd3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgY29scywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3Jj
OF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHBy
ZWQ4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVk
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lk
IHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYXZ4MihpbnQgcm93cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrKShpbnQgcm93cywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc3JjOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQp
OwotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCog
bGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9p
ZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2
X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJk
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF90bV9w
cmVkaWN0b3JfMTZ4MTZfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMy
X2ModWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9zc2UyKHVp
bnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4
MzIgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzJfc3NlMgotCi12b2lkIHZweF9oaWdoYmRf
dG1fcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9z
c2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NCB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJl
ZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OF9zc2UyKHVp
bnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OCB2cHhfaGln
aGJkX3RtX3ByZWRpY3Rvcl84eDhfc3NlMgordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84
eDhfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYmQpOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDhfc3NlMih1aW50MTZfdCog
ZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
YmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF90bV9w
cmVkaWN0b3JfOHg4X3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzE2eDE2X2Mo
dWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCkBAIC01Njc4LDEyICs1MDI5LDcgQEAgdm9pZCB2cHhfaWRjdDE2eDE2XzI1
Nl9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKIHZvaWQgdnB4X2lkY3QxNngxNl8yNTZf
YWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzdHJpZGUpOwotdm9pZCB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYXZ4Mihjb25zdCB0cmFu
X2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnB4X2lkY3QxNngxNl8yNTZfYWRkKShjb25zdCB0cmFuX2xvd190KiBp
bnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Ry
aWRlKTsKKyNkZWZpbmUgdnB4X2lkY3QxNngxNl8yNTZfYWRkIHZweF9pZGN0MTZ4MTZfMjU2X2Fk
ZF9zc2UyCiAKIHZvaWQgdnB4X2lkY3QxNngxNl8zOF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBp
bnB1dCwgdWludDhfdCogZGVzdCwgaW50IHN0cmlkZSk7CiB2b2lkIHZweF9pZGN0MTZ4MTZfMzhf
YWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCkBAIC01Njk3LDEyICs1MDQzLDcgQEAg
dm9pZCB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiB2
b2lkIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfc3NlMihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2lkY3QzMngz
Ml8xMDI0X2FkZF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzdHJpZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9pZGN0MzJ4MzJf
MTAyNF9hZGQpKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZweF9pZGN0MzJ4
MzJfMTAyNF9hZGQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9zc2UyCiAKIHZvaWQgdnB4X2lkY3Qz
MngzMl8xMzVfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCkBAIC01NzEzLDkgKzUwNTQsNiBAQCB2b2lkIHZw
eF9pZGN0MzJ4MzJfMTM1X2FkZF9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogdm9pZCB2
cHhfaWRjdDMyeDMyXzEzNV9hZGRfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9pZGN0MzJ4MzJfMTM1
X2FkZF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlKTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaWRjdDMyeDMyXzEzNV9hZGQp
KGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCogZGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzdHJpZGUpOwpAQCAtNTc3MiwxMSArNTExMCwxMSBAQCBpbnQxNl90
IHZweF9pbnRfcHJvX2NvbF9jKGNvbnN0IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsK
IGludDE2X3QgdnB4X2ludF9wcm9fY29sX3NzZTIoY29uc3QgdWludDhfdCogcmVmLCBjb25zdCBp
bnQgd2lkdGgpOwogI2RlZmluZSB2cHhfaW50X3Byb19jb2wgdnB4X2ludF9wcm9fY29sX3NzZTIK
IAotdm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50
X3Byb19yb3dfYyhpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKLXZvaWQgdnB4X2lu
dF9wcm9fcm93X3NzZTIoaW50MTZfdCBoYnVmWzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X3Nz
ZTIoaW50MTZfdCogaGJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCk7CkBAIC02MTE2LDkw
ICs1NDU0LDEyMiBAQCB2b2lkIHZweF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX21iX3Jvd19z
c2UyKHVuc2lnbmVkIGNoYXIqIHNyYywKIAogdm9pZCB2cHhfcXVhbnRpemVfYl9jKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsK
KyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4X3F1YW50aXplX2Jfc3Nl
Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iX3Nzc2UzKGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hp
ZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVf
Yl9hdngoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfcXVhbnRpemVf
Yl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZf
dCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVf
YikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29l
ZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwK
LSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVh
bnRpemVfYikoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90
KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBpc2Nhbik7CiAKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
c2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2Nh
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2
b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRp
emVfYl8zMngzMl9hdngoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1i
X3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3Jk
ZXIpOwotdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNv
ZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfcXVhbnRpemVfYl8zMngzMikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfcXVhbnRpemVfYl8zMngzMikoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBf
YmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHVuc2ln
bmVkIGludCB2cHhfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNjIyMywxOCArNTU5Myw1NSBA
QCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2X2F2ZyB2cHhfc2FkMTZ4MTZfYXZnX3Nz
ZTIKIAordm9pZCB2cHhfc2FkMTZ4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQg
dnB4X3NhZDE2eDE2eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2
b2lkIHZweF9zYWQxNngxNngzX3Nzc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDE2eDE2eDMpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2eDRkIHZweF9zYWQxNngx
Nng0ZF9zc2UyCiAKK3ZvaWQgdnB4X3NhZDE2eDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
Cit2b2lkIHZweF9zYWQxNngxNng4X3NzZTRfMShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4MTZ4OCkoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKKwogdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTYy
NTksMTQgKzU2NjYsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngz
Mng0ZCB2cHhfc2FkMTZ4MzJ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNjI5MSwxOCArNTY5OCw1NSBAQCB1bnNpZ25lZCBp
bnQgdnB4X3NhZDE2eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAj
ZGVmaW5lIHZweF9zYWQxNng4X2F2ZyB2cHhfc2FkMTZ4OF9hdmdfc3NlMgogCit2b2lkIHZweF9z
YWQxNng4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDh4M19zc2UzKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkMTZ4OHgzX3Nzc2UzKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkMTZ4OHgzKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9z
YWQxNng4eDRkX3NzZTIKIAordm9pZCB2cHhfc2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
Cit2b2lkIHZweF9zYWQxNng4eDhfc3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDE2eDh4OCkoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtNjM0MywxNCArNTc4
NywxNCBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4MTZfYXZnKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMngx
Nng0ZCB2cHhfc2FkMzJ4MTZ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTYzOTMsMjQgKzU4MzcsNDAgQEAgUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKIAogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
Owogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9zYWQzMngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKKwordm9pZCB2cHhfc2FkMzJ4MzJ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDMyeDMyeDgpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNjQ1Miwx
NCArNTkxMiwxNCBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4NjRfYXZn
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMng2NHg0ZF9zc2UyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9z
YWQzMng2NHg0ZCB2cHhfc2FkMzJ4NjR4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02NDg0LDE4ICs1OTQ0LDUwIEBAIHVuc2ln
bmVkIGludCB2cHhfc2FkNHg0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
CiAjZGVmaW5lIHZweF9zYWQ0eDRfYXZnIHZweF9zYWQ0eDRfYXZnX3NzZTIKIAordm9pZCB2cHhf
c2FkNHg0eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkNHg0eDNfc3NlMyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ0eDR4MykoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisKIHZvaWQgdnB4X3NhZDR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZw
eF9zYWQ0eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfc2FkNHg0eDRkIHZweF9zYWQ0eDR4NGRfc3NlMgogCit2b2lkIHZweF9zYWQ0eDR4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ0eDR4OF9zc2U0XzEoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ0eDR4OCko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CisKIHVuc2lnbmVkIGludCB2cHhfc2FkNHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC02NTIwLDE0ICs2
MDEyLDE0IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNHg4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lk
IHZweF9zYWQ0eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwog
I2RlZmluZSB2cHhfc2FkNHg4eDRkIHZweF9zYWQ0eDh4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQg
dnB4X3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTY1NzAsMTQgKzYwNjIs
MTQgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDY0eDMyX2F2ZykoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4MzJ4
NGQgdnB4X3NhZDY0eDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02NjIwLDI0ICs2MTEyLDI0IEBAIFJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHg2NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X3NhZDY0eDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX2F2eDIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2
cHhfc2FkNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTY2
NDcsNDQ3ICs2MTM5LDE2MyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkOHgxNiB2cHhfc2FkOHgxNl9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2Fk
OHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9h
dmdfc3NlMgotCi12b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDh4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhf
c2FkOHgxNng0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2Fk
OHg0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4NCB2cHhfc2FkOHg0X3NzZTIKLQotdW5zaWduZWQg
aW50IHZweF9zYWQ4eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkOHg0X2F2ZyB2cHhfc2FkOHg0X2F2
Z19zc2UyCi0KLXZvaWQgdnB4X3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X3NhZDh4NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX3Nz
ZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkOHg4IHZweF9zYWQ4eDhfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4
OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZnX3NzZTIKLQotdm9p
ZCB2cHhfc2FkOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2
cHhfc2FkOHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfc2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfc3NlMgotCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMTZ4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfc2FkX3NraXBfMTZ4MTYgdnB4X3NhZF9za2lwXzE2eDE2X3NzZTIKLQotdm9pZCB2cHhfc2Fk
X3NraXBfMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNng0ZCB2cHhfc2Fk
X3NraXBfMTZ4MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MzIgdnB4X3NhZF9z
a2lwXzE2eDMyX3NzZTIKLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfc3NlMgotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF8xNng4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzE2eDggdnB4X3NhZF9za2lwXzE2eDhfc3NlMgotCi12b2lkIHZweF9zYWRfc2tpcF8x
Nng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OHg0ZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9zc2Uy
Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8zMngxNikoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2
eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9h
dngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8z
MngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBf
MzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRf
c2tpcF8zMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBf
MzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkX3NraXBfMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZF9za2lwXzMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4
X3NhZF9za2lwXzMyeDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZF9za2lwXzMyeDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBf
NHg0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
NHg0eDRkIHZweF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9zc2UyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lwXzR4OF9z
c2UyCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3Nr
aXBfNHg4eDRkX3NzZTIKKyNkZWZpbmUgdnB4X3NhZDh4MTYgdnB4X3NhZDh4MTZfc3NlMgogCi11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
K3Vuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwordW5zaWduZWQgaW50IHZw
eF9zYWQ4eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzY0eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
c2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzY0eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDh4MTZfYXZn
IHZweF9zYWQ4eDE2X2F2Z19zc2UyCiAKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfNjR4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKK3ZvaWQgdnB4X3NhZDh4MTZ4
M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHgxNngzX3NzZTMoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDh4MTZ4Myko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworCit2b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhf
c2FkOHgxNng0ZF9zc2UyCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAordm9pZCB2cHhfc2FkOHgxNng4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7Cit2b2lkIHZweF9zYWQ4eDE2eDhfc3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDh4MTZ4OCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBf
NjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAK
LXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKK3Vu
c2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg0X3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhf
c2FkX3NraXBfNjR4NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfc2FkX3NraXBfNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfc2FkOHg0IHZweF9zYWQ4eDRfc3NlMgogCi11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
dW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwordW5zaWduZWQgaW50IHZweF9zYWQ4
eDRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHgxNl9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDE2IHZweF9z
YWRfc2tpcF84eDE2X3NzZTIKLQotdm9pZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF84eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDQgdnB4
X3NhZF9za2lwXzh4NF9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDh4NF9hdmcgdnB4X3NhZDh4NF9hdmdfc3Nl
MgogCi12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDR4
NGQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jCit2b2lkIHZweF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDR4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3Nh
ZDh4NHg0ZF9zc2UyCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzh4OCB2cHhfc2FkX3NraXBfOHg4X3NzZTIKK3Vuc2lnbmVkIGlu
dCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDh4OCB2
cHhfc2FkOHg4X3NzZTIKIAotdm9pZCB2cHhfc2FkX3NraXBfOHg4eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2Fk
X3NraXBfOHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKK3Vuc2lnbmVkIGludCB2
cHhfc2FkOHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDh4NGQgdnB4
X3NhZF9za2lwXzh4OHg0ZF9zc2UyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Cit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfc3Nl
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZn
X3NzZTIKKwordm9pZCB2cHhfc2FkOHg4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2Fk
OHg4eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9zYWQ4eDh4MykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKK3ZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhf
c2FkOHg4eDRkX3NzZTIKKwordm9pZCB2cHhfc2FkOHg4eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9p
ZCB2cHhfc2FkOHg4eDhfc3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
K1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkOHg4eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogCiBpbnQgdnB4X3Nh
dGRfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CiBpbnQgdnB4X3NhdGRf
c3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CkBAIC04MDU4LDIyICs3
MjY2LDcgQEAgdm9pZCB2cHhfc3VidHJhY3RfYmxvY2tfc3NlMihpbnQgcm93cywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3QgcHJlZF9zdHJpZGUpOwotdm9pZCB2cHhfc3VidHJhY3Rf
YmxvY2tfYXZ4MihpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNv
bHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2
cHhfc3VidHJhY3RfYmxvY2spKGludCByb3dzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWRfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsK
KyNkZWZpbmUgdnB4X3N1YnRyYWN0X2Jsb2NrIHZweF9zdWJ0cmFjdF9ibG9ja19zc2UyCiAKIHVp
bnQ2NF90IHZweF9zdW1fc3F1YXJlc18yZF9pMTZfYyhjb25zdCBpbnQxNl90KiBzcmMsIGludCBz
dHJpZGUsIGludCBzaXplKTsKIHVpbnQ2NF90IHZweF9zdW1fc3F1YXJlc18yZF9pMTZfc3NlMihj
b25zdCBpbnQxNl90KiBzcmMsIGludCBzdHJpZGUsIGludCBzaXplKTsKQEAgLTgzNjEsMTYgKzc1
NTQsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHgxNl9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHgxNl9hdngyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHgxNikoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2
cHhfdmFyaWFuY2U4eDE2IHZweF92YXJpYW5jZTh4MTZfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4
X3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTgzODIsMTYgKzc1NjYsNyBAQCB1bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVk
IGludCB2cHhfdmFyaWFuY2U4eDRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHg0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlOHg0IHZweF92YXJpYW5j
ZTh4NF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtODQwMywxNiArNzU3OCw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfc3Nl
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4OF9hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDgpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmlu
ZSB2cHhfdmFyaWFuY2U4eDggdnB4X3ZhcmlhbmNlOHg4X3NzZTIKIAogdm9pZCB2cHhfdmVfcHJl
ZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLApAQCAtODQzMyw5ICs3NTk5LDYgQEAgc3RhdGljIHZvaWQgc2V0dXBf
cnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAKICAgKHZvaWQpZmxhZ3M7CiAKLSAgdnB4X2NvbXBfYXZn
X3ByZWQgPSB2cHhfY29tcF9hdmdfcHJlZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
LSAgICB2cHhfY29tcF9hdmdfcHJlZCA9IHZweF9jb21wX2F2Z19wcmVkX2F2eDI7CiAgIHZweF9j
b252b2x2ZTggPSB2cHhfY29udm9sdmU4X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykK
ICAgICB2cHhfY29udm9sdmU4ID0gdnB4X2NvbnZvbHZlOF9zc3NlMzsKQEAgLTg2MzEsMTQ5ICs3
Nzk0LDEyIEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhf
aGlnaGJkX2lkY3Q4eDhfNjRfYWRkID0gdnB4X2hpZ2hiZF9pZGN0OHg4XzY0X2FkZF9zc2UyOwog
ICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQogICAgIHZweF9oaWdoYmRfaWRjdDh4OF82NF9hZGQg
PSB2cHhfaGlnaGJkX2lkY3Q4eDhfNjRfYWRkX3NzZTRfMTsKLSAgdnB4X2hpZ2hiZF9xdWFudGl6
ZV9iID0gdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYiA9IHZweF9oaWdoYmRfcXVhbnRpemVfYl9hdngy
OwotICB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfaGlnaGJkX3F1YW50aXplX2Jf
MzJ4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iXzMyeDMyID0gdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2F2eDI7Ci0gIHZweF9o
aWdoYmRfc2FkMTZ4MTYgPSB2cHhfaGlnaGJkX3NhZDE2eDE2X3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMTZ4MTYgPSB2cHhfaGlnaGJkX3NhZDE2eDE2
X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNngxNl9h
dmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngx
Nl9hdmcgPSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2
eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQxNngxNng0
ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDMyID0gdnB4X2hpZ2hiZF9zYWQxNngzMl9zc2Uy
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDMyID0gdnB4
X2hpZ2hiZF9zYWQxNngzMl9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2ZyA9IHZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZnX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZw
eF9oaWdoYmRfc2FkMTZ4MzJfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYXZ4MjsKLSAg
dnB4X2hpZ2hiZF9zYWQxNngzMng0ZCA9IHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfc3NlMjsKLSAg
aWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZCA9IHZweF9o
aWdoYmRfc2FkMTZ4MzJ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNng4ID0gdnB4X2hpZ2hi
ZF9zYWQxNng4X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRf
c2FkMTZ4OCA9IHZweF9oaWdoYmRfc2FkMTZ4OF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDhf
YXZnID0gdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZY
MikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19h
dngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDh4NGQgPSB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfc3Nl
MjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNng4eDRkID0g
dnB4X2hpZ2hiZF9zYWQxNng4eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4MTYgPSB2cHhf
aGlnaGJkX3NhZDMyeDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfc2FkMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRf
c2FkMzJ4MTZfYXZnID0gdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdz
ICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmcgPSB2cHhfaGlnaGJkX3Nh
ZDMyeDE2X2F2Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkID0gdnB4X2hpZ2hiZF9z
YWQzMngxNng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJk
X3NhZDMyeDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9hdngyOwotICB2cHhfaGlnaGJk
X3NhZDMyeDMyID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDMyID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9hdngy
OwotICB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3Nz
ZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZn
ID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngzMng0
ZCA9IHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIp
Ci0gICAgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCA9IHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYXZ4
MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMng2NCA9IHZweF9oaWdoYmRfc2FkMzJ4NjRfc3NlMjsKLSAg
aWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQzMng2NCA9IHZweF9oaWdo
YmRfc2FkMzJ4NjRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcgPSB2cHhfaGlnaGJk
X3NhZDMyeDY0X2F2Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGln
aGJkX3NhZDMyeDY0X2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnX2F2eDI7Ci0gIHZweF9o
aWdoYmRfc2FkMzJ4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgPSB2cHhfaGlnaGJk
X3NhZDMyeDY0eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4MzIgPSB2cHhfaGlnaGJkX3Nh
ZDY0eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2Fk
NjR4MzIgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4MzJf
YXZnID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FW
WDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmcgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2
Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMng0
ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDY0eDMy
eDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDY0
ID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfaGlnaGJkX3NhZDY0eDY0ID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdngyOwotICB2cHhf
aGlnaGJkX3NhZDY0eDY0X2F2ZyA9IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnID0gdnB4X2hp
Z2hiZF9zYWQ2NHg2NF9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZCA9IHZweF9o
aWdoYmRfc2FkNjR4NjR4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4
X2hpZ2hiZF9zYWQ2NHg2NHg0ZCA9IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYXZ4MjsKLSAgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfc3NlMjsK
LSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiA9
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
NngxNng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZsYWdz
ICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZCA9IHZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4MTZ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMiA9
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIp
Ci0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
MzJfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCA9IHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNngzMng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYXZ4
MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4
X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4OCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9z
a2lwXzE2eDh4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfc3NlMjsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkID0gdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNng4eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYg
PSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDE2eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2F2
eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX3NzZTI7Ci0g
IGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGQg
PSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDY0X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQot
ICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDY0eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzIgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdo
YmRfc2FkX3NraXBfNjR4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX2F2eDI7Ci0gIHZw
eF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRk
X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBf
NjR4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdo
YmRfc2FkX3NraXBfNjR4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDY0X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4
NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhB
U19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDY0eDRkX2F2eDI7CiAgIHZweF9oaWdoYmRfc2F0ZCA9IHZweF9oaWdoYmRfc2F0
ZF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfaGlnaGJkX3NhdGQgPSB2cHhf
aGlnaGJkX3NhdGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayA9IHZweF9oaWdo
YmRfc3VidHJhY3RfYmxvY2tfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hp
Z2hiZF9zdWJ0cmFjdF9ibG9jayA9IHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYXZ4MjsKLSAg
dnB4X2lkY3QxNngxNl8yNTZfYWRkID0gdnB4X2lkY3QxNngxNl8yNTZfYWRkX3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9pZGN0MTZ4MTZfMjU2X2FkZCA9IHZweF9pZGN0
MTZ4MTZfMjU2X2FkZF9hdngyOwotICB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkID0gdnB4X2lkY3Qz
MngzMl8xMDI0X2FkZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaWRj
dDMyeDMyXzEwMjRfYWRkID0gdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9hdngyOwogICB2cHhfaWRj
dDMyeDMyXzEzNV9hZGQgPSB2cHhfaWRjdDMyeDMyXzEzNV9hZGRfc3NlMjsKICAgaWYgKGZsYWdz
ICYgSEFTX1NTU0UzKQogICAgIHZweF9pZGN0MzJ4MzJfMTM1X2FkZCA9IHZweF9pZGN0MzJ4MzJf
MTM1X2FkZF9zc3NlMzsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2lkY3QzMngz
Ml8xMzVfYWRkID0gdnB4X2lkY3QzMngzMl8xMzVfYWRkX2F2eDI7CiAgIHZweF9pZGN0MzJ4MzJf
MzRfYWRkID0gdnB4X2lkY3QzMngzMl8zNF9hZGRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NT
U0UzKQogICAgIHZweF9pZGN0MzJ4MzJfMzRfYWRkID0gdnB4X2lkY3QzMngzMl8zNF9hZGRfc3Nz
ZTM7CkBAIC04Nzk3LDE1ICs3ODIzLDI3IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJu
YWwodm9pZCkgewogICAgIHZweF9xdWFudGl6ZV9iID0gdnB4X3F1YW50aXplX2Jfc3NzZTM7CiAg
IGlmIChmbGFncyAmIEhBU19BVlgpCiAgICAgdnB4X3F1YW50aXplX2IgPSB2cHhfcXVhbnRpemVf
Yl9hdng7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9xdWFudGl6ZV9iID0gdnB4
X3F1YW50aXplX2JfYXZ4MjsKICAgdnB4X3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfcXVhbnRpemVf
Yl8zMngzMl9jOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAgdnB4X3F1YW50aXplX2Jf
MzJ4MzIgPSB2cHhfcXVhbnRpemVfYl8zMngzMl9zc3NlMzsKICAgaWYgKGZsYWdzICYgSEFTX0FW
WCkKICAgICB2cHhfcXVhbnRpemVfYl8zMngzMiA9IHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eDsK
LSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3F1YW50aXplX2JfMzJ4MzIgPSB2cHhf
cXVhbnRpemVfYl8zMngzMl9hdngyOworICB2cHhfc2FkMTZ4MTZ4MyA9IHZweF9zYWQxNngxNngz
X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZweF9zYWQxNngxNngzID0gdnB4X3Nh
ZDE2eDE2eDNfc3NlMzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQorICAgIHZweF9zYWQxNngx
NngzID0gdnB4X3NhZDE2eDE2eDNfc3NzZTM7CisgIHZweF9zYWQxNngxNng4ID0gdnB4X3NhZDE2
eDE2eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2FkMTZ4MTZ4OCA9
IHZweF9zYWQxNngxNng4X3NzZTRfMTsKKyAgdnB4X3NhZDE2eDh4MyA9IHZweF9zYWQxNng4eDNf
YzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnB4X3NhZDE2eDh4MyA9IHZweF9zYWQx
Nng4eDNfc3NlMzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQorICAgIHZweF9zYWQxNng4eDMg
PSB2cHhfc2FkMTZ4OHgzX3Nzc2UzOworICB2cHhfc2FkMTZ4OHg4ID0gdnB4X3NhZDE2eDh4OF9j
OworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZweF9zYWQxNng4eDggPSB2cHhfc2Fk
MTZ4OHg4X3NzZTRfMTsKICAgdnB4X3NhZDMyeDE2ID0gdnB4X3NhZDMyeDE2X3NzZTI7CiAgIGlm
IChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQzMngxNiA9IHZweF9zYWQzMngxNl9hdngy
OwpAQCAtODgyMSwxMiArNzg1OSwyMSBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFs
KHZvaWQpIHsKICAgdnB4X3NhZDMyeDMyeDRkID0gdnB4X3NhZDMyeDMyeDRkX3NzZTI7CiAgIGlm
IChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQzMngzMng0ZCA9IHZweF9zYWQzMngzMng0
ZF9hdngyOworICB2cHhfc2FkMzJ4MzJ4OCA9IHZweF9zYWQzMngzMng4X2M7CisgIGlmIChmbGFn
cyAmIEhBU19BVlgyKQorICAgIHZweF9zYWQzMngzMng4ID0gdnB4X3NhZDMyeDMyeDhfYXZ4MjsK
ICAgdnB4X3NhZDMyeDY0ID0gdnB4X3NhZDMyeDY0X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19B
VlgyKQogICAgIHZweF9zYWQzMng2NCA9IHZweF9zYWQzMng2NF9hdngyOwogICB2cHhfc2FkMzJ4
NjRfYXZnID0gdnB4X3NhZDMyeDY0X2F2Z19zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
ICAgICB2cHhfc2FkMzJ4NjRfYXZnID0gdnB4X3NhZDMyeDY0X2F2Z19hdngyOworICB2cHhfc2Fk
NHg0eDMgPSB2cHhfc2FkNHg0eDNfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnB4
X3NhZDR4NHgzID0gdnB4X3NhZDR4NHgzX3NzZTM7CisgIHZweF9zYWQ0eDR4OCA9IHZweF9zYWQ0
eDR4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZweF9zYWQ0eDR4OCA9IHZw
eF9zYWQ0eDR4OF9zc2U0XzE7CiAgIHZweF9zYWQ2NHgzMiA9IHZweF9zYWQ2NHgzMl9zc2UyOwog
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkNjR4MzIgPSB2cHhfc2FkNjR4MzJf
YXZ4MjsKQEAgLTg4NDIsMzYgKzc4ODksMTggQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRl
cm5hbCh2b2lkKSB7CiAgIHZweF9zYWQ2NHg2NHg0ZCA9IHZweF9zYWQ2NHg2NHg0ZF9zc2UyOwog
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkNjR4NjR4NGQgPSB2cHhfc2FkNjR4
NjR4NGRfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzMyeDE2ID0gdnB4X3NhZF9za2lwXzMyeDE2X3Nz
ZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF8zMngxNiA9IHZw
eF9zYWRfc2tpcF8zMngxNl9hdngyOwotICB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfc2Fk
X3NraXBfMzJ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3Nh
ZF9za2lwXzMyeDE2eDRkID0gdnB4X3NhZF9za2lwXzMyeDE2eDRkX2F2eDI7Ci0gIHZweF9zYWRf
c2tpcF8zMngzMiA9IHZweF9zYWRfc2tpcF8zMngzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKLSAgICB2cHhfc2FkX3NraXBfMzJ4MzIgPSB2cHhfc2FkX3NraXBfMzJ4MzJfYXZ4MjsK
LSAgdnB4X3NhZF9za2lwXzMyeDMyeDRkID0gdnB4X3NhZF9za2lwXzMyeDMyeDRkX3NzZTI7Ci0g
IGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9z
YWRfc2tpcF8zMngzMng0ZF9hdngyOwotICB2cHhfc2FkX3NraXBfMzJ4NjQgPSB2cHhfc2FkX3Nr
aXBfMzJ4NjRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lw
XzMyeDY0ID0gdnB4X3NhZF9za2lwXzMyeDY0X2F2eDI7Ci0gIHZweF9zYWRfc2tpcF8zMng2NHg0
ZCA9IHZweF9zYWRfc2tpcF8zMng2NHg0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
LSAgICB2cHhfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4MjsK
LSAgdnB4X3NhZF9za2lwXzY0eDMyID0gdnB4X3NhZF9za2lwXzY0eDMyX3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82
NHgzMl9hdngyOwotICB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4
NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzY0eDMy
eDRkID0gdnB4X3NhZF9za2lwXzY0eDMyeDRkX2F2eDI7Ci0gIHZweF9zYWRfc2tpcF82NHg2NCA9
IHZweF9zYWRfc2tpcF82NHg2NF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2
cHhfc2FkX3NraXBfNjR4NjQgPSB2cHhfc2FkX3NraXBfNjR4NjRfYXZ4MjsKLSAgdnB4X3NhZF9z
a2lwXzY0eDY0eDRkID0gdnB4X3NhZF9za2lwXzY0eDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82NHg2
NHg0ZF9hdngyOworICB2cHhfc2FkOHgxNngzID0gdnB4X3NhZDh4MTZ4M19jOworICBpZiAoZmxh
Z3MgJiBIQVNfU1NFMykKKyAgICB2cHhfc2FkOHgxNngzID0gdnB4X3NhZDh4MTZ4M19zc2UzOwor
ICB2cHhfc2FkOHgxNng4ID0gdnB4X3NhZDh4MTZ4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NF
NF8xKQorICAgIHZweF9zYWQ4eDE2eDggPSB2cHhfc2FkOHgxNng4X3NzZTRfMTsKKyAgdnB4X3Nh
ZDh4OHgzID0gdnB4X3NhZDh4OHgzX2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZw
eF9zYWQ4eDh4MyA9IHZweF9zYWQ4eDh4M19zc2UzOworICB2cHhfc2FkOHg4eDggPSB2cHhfc2Fk
OHg4eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2FkOHg4eDggPSB2
cHhfc2FkOHg4eDhfc3NlNF8xOwogICB2cHhfc2F0ZCA9IHZweF9zYXRkX3NzZTI7CiAgIGlmIChm
bGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYXRkID0gdnB4X3NhdGRfYXZ4MjsKQEAgLTg5NjQs
OSArNzk5Myw2IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2
cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4ID0gdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OF9zc2Uy
OwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4
OCA9IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfc3NzZTM7Ci0gIHZweF9zdWJ0cmFjdF9ibG9j
ayA9IHZweF9zdWJ0cmFjdF9ibG9ja19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfc3VidHJhY3RfYmxvY2sgPSB2cHhfc3VidHJhY3RfYmxvY2tfYXZ4MjsKICAgdnB4X3Zh
cmlhbmNlMTZ4MTYgPSB2cHhfdmFyaWFuY2UxNngxNl9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKICAgICB2cHhfdmFyaWFuY2UxNngxNiA9IHZweF92YXJpYW5jZTE2eDE2X2F2eDI7CkBA
IC04OTkxLDE1ICs4MDE3LDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lk
KSB7CiAgIHZweF92YXJpYW5jZTY0eDY0ID0gdnB4X3ZhcmlhbmNlNjR4NjRfc3NlMjsKICAgaWYg
KGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3ZhcmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2
NHg2NF9hdngyOwotICB2cHhfdmFyaWFuY2U4eDE2ID0gdnB4X3ZhcmlhbmNlOHgxNl9zc2UyOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfdmFyaWFuY2U4eDE2ID0gdnB4X3Zhcmlh
bmNlOHgxNl9hdngyOwotICB2cHhfdmFyaWFuY2U4eDQgPSB2cHhfdmFyaWFuY2U4eDRfc3NlMjsK
LSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3ZhcmlhbmNlOHg0ID0gdnB4X3Zhcmlh
bmNlOHg0X2F2eDI7Ci0gIHZweF92YXJpYW5jZTh4OCA9IHZweF92YXJpYW5jZTh4OF9zc2UyOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfdmFyaWFuY2U4eDggPSB2cHhfdmFyaWFu
Y2U4eDhfYXZ4MjsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2xv
b25nYXJjaC92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnA4X3J0Y2Qu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTllZTEyMzkxOTg2Li4wMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnA4X3J0Y2QuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDUwMSArMCwwIEBACi0vLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkLiBEbyBub3Qg
ZWRpdC4KLSNpZm5kZWYgVlA4X1JUQ0RfSF8KLSNkZWZpbmUgVlA4X1JUQ0RfSF8KLQotI2lmZGVm
IFJUQ0RfQwotI2RlZmluZSBSVENEX0VYVEVSTgotI2Vsc2UKLSNkZWZpbmUgUlRDRF9FWFRFUk4g
ZXh0ZXJuCi0jZW5kaWYKLQotLyoKLSAqIFZQOAotICovCi0KLXN0cnVjdCBibG9ja2Q7Ci1zdHJ1
Y3QgbWFjcm9ibG9ja2Q7Ci1zdHJ1Y3QgbG9vcF9maWx0ZXJfaW5mbzsKLQotLyogRW5jb2RlciBm
b3J3YXJkIGRlY2xzICovCi1zdHJ1Y3QgYmxvY2s7Ci1zdHJ1Y3QgbWFjcm9ibG9jazsKLXN0cnVj
dCB2YXJpYW5jZV92dGFibGU7Ci11bmlvbiBpbnRfbXY7Ci1zdHJ1Y3QgeXYxMl9idWZmZXJfY29u
ZmlnOwotCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLXZvaWQg
dnA4X2JpbGluZWFyX3ByZWRpY3QxNngxNl9jKHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3BpeGVsc19wZXJfbGluZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4b2Zmc2V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7Ci0jZGVmaW5lIHZwOF9iaWxpbmVhcl9wcmVkaWN0
MTZ4MTYgdnA4X2JpbGluZWFyX3ByZWRpY3QxNngxNl9jCi0KLXZvaWQgdnA4X2JpbGluZWFyX3By
ZWRpY3Q0eDRfYyh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IGRzdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7
Ci0jZGVmaW5lIHZwOF9iaWxpbmVhcl9wcmVkaWN0NHg0IHZwOF9iaWxpbmVhcl9wcmVkaWN0NHg0
X2MKLQotdm9pZCB2cDhfYmlsaW5lYXJfcHJlZGljdDh4NF9jKHVuc2lnbmVkIGNoYXIqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19waXhlbHNfcGVyX2xp
bmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhvZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKLSNkZWZpbmUgdnA4X2JpbGluZWFyX3ByZWRpY3Q4
eDQgdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDRfYwotCi12b2lkIHZwOF9iaWxpbmVhcl9wcmVkaWN0
OHg4X2ModW5zaWduZWQgY2hhciogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3BpeGVsc19wZXJfbGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeG9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeW9m
ZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3Rf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwotI2Rl
ZmluZSB2cDhfYmlsaW5lYXJfcHJlZGljdDh4OCB2cDhfYmlsaW5lYXJfcHJlZGljdDh4OF9jCi0K
LWludCB2cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZmKTsKLWlu
dCB2cDhfYmxvY2tfZXJyb3JfbHN4KHNob3J0KiBjb2VmZiwgc2hvcnQqIGRxY29lZmYpOwotUlRD
RF9FWFRFUk4gaW50ICgqdnA4X2Jsb2NrX2Vycm9yKShzaG9ydCogY29lZmYsIHNob3J0KiBkcWNv
ZWZmKTsKLQotdm9pZCB2cDhfY29weTMyeG5fYyhjb25zdCB1bnNpZ25lZCBjaGFyKiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwotI2RlZmluZSB2cDhfY29w
eTMyeG4gdnA4X2NvcHkzMnhuX2MKLQotdm9pZCB2cDhfY29weV9tZW0xNngxNl9jKHVuc2lnbmVk
IGNoYXIqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUpOwotI2RlZmluZSB2cDhfY29weV9tZW0xNngxNiB2
cDhfY29weV9tZW0xNngxNl9jCi0KLXZvaWQgdnA4X2NvcHlfbWVtOHg0X2ModW5zaWduZWQgY2hh
ciogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZSk7Ci0jZGVmaW5lIHZwOF9jb3B5X21lbTh4NCB2cDhfY29weV9tZW04
eDRfYwotCi12b2lkIHZwOF9jb3B5X21lbTh4OF9jKHVuc2lnbmVkIGNoYXIqIHNyYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGNoYXIqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGUpOwotI2RlZmluZSB2cDhfY29weV9tZW04eDggdnA4X2NvcHlfbWVtOHg4X2MKLQotdm9pZCB2
cDhfZGNfb25seV9pZGN0X2FkZF9jKHNob3J0IGlucHV0X2RjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHByZWRfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBwcmVkX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBjaGFyKiBkc3RfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlKTsKLXZvaWQgdnA4X2RjX29ubHlfaWRjdF9hZGRfbHN4KHNob3J0IGlucHV0X2RjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogcHJlZF9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcHJlZF9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZw
OF9kY19vbmx5X2lkY3RfYWRkKShzaG9ydCBpbnB1dF9kYywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogcHJlZF9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwcmVkX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUp
OwotCi1pbnQgdnA4X2Rlbm9pc2VyX2ZpbHRlcl9jKHVuc2lnbmVkIGNoYXIqIG1jX3J1bm5pbmdf
YXZnX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtY19hdmdfeV9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHJ1bm5pbmdfYXZnX3ksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhdmdfeV9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNpZywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNpZ19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBtb3Rpb25fbWFnbml0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5jcmVh
c2VfZGVub2lzaW5nKTsKLSNkZWZpbmUgdnA4X2Rlbm9pc2VyX2ZpbHRlciB2cDhfZGVub2lzZXJf
ZmlsdGVyX2MKLQotaW50IHZwOF9kZW5vaXNlcl9maWx0ZXJfdXZfYyh1bnNpZ25lZCBjaGFyKiBt
Y19ydW5uaW5nX2F2ZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1jX2F2Z19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHJ1bm5p
bmdfYXZnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXZnX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogc2lnLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc2lnX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IG1vdGlvbl9tYWduaXR1ZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBpbmNyZWFzZV9kZW5vaXNpbmcpOwotI2RlZmluZSB2cDhfZGVub2lz
ZXJfZmlsdGVyX3V2IHZwOF9kZW5vaXNlcl9maWx0ZXJfdXZfYwotCi12b2lkIHZwOF9kZXF1YW50
X2lkY3RfYWRkX2Moc2hvcnQqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNo
b3J0KiBkcSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cDhf
ZGVxdWFudF9pZGN0X2FkZCB2cDhfZGVxdWFudF9pZGN0X2FkZF9jCi0KLXZvaWQgdnA4X2RlcXVh
bnRfaWRjdF9hZGRfdXZfYmxvY2tfYyhzaG9ydCogcSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaG9ydCogZHEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogZHN0X3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFyKiBlb2JzKTsKLXZvaWQgdnA4X2RlcXVhbnRfaWRjdF9hZGRfdXZfYmxvY2tfbHN4
KHNob3J0KiBxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnQq
IGRxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hh
ciogZHN0X3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBjaGFyKiBkc3RfdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiBl
b2JzKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDhfZGVxdWFudF9pZGN0X2FkZF91dl9ibG9jayko
c2hvcnQqIHEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNob3J0KiBkcSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdF92LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiBlb2Jz
KTsKLQotdm9pZCB2cDhfZGVxdWFudF9pZGN0X2FkZF95X2Jsb2NrX2Moc2hvcnQqIHEsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydCogZHEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhciogZW9icyk7Ci12b2lkIHZwOF9kZXF1YW50X2lkY3RfYWRkX3lf
YmxvY2tfbHN4KHNob3J0KiBxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaG9ydCogZHEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciogZW9i
cyk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA4X2RlcXVhbnRfaWRjdF9hZGRfeV9ibG9jaykoc2hv
cnQqIHEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2hvcnQqIGRxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGNoYXIqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNoYXIqIGVvYnMpOwotCi12b2lkIHZwOF9kZXF1YW50aXpl
X2JfYyhzdHJ1Y3QgYmxvY2tkKiwgc2hvcnQqIERRQyk7Ci0jZGVmaW5lIHZwOF9kZXF1YW50aXpl
X2IgdnA4X2RlcXVhbnRpemVfYl9jCi0KLWludCB2cDhfZGlhbW9uZF9zZWFyY2hfc2FkX2Moc3Ry
dWN0IG1hY3JvYmxvY2sqIHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBi
bG9jayogYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrZCogZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiByZWZfbXYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogYmVzdF9tdiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFyaWFu
Y2VfdnRhYmxlKiBmbl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZj
b3N0WzJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRl
cl9tdik7Ci1pbnQgdnA4X2RpYW1vbmRfc2VhcmNoX3NhZHg0KHN0cnVjdCBtYWNyb2Jsb2NrKiB4
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bmlvbiBpbnRfbXYqIGJlc3RfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzZWFyY2hfcGFyYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
YWRfcGVyX2JpdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBudW0wMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOwotUlRDRF9FWFRF
Uk4gaW50ICgqdnA4X2RpYW1vbmRfc2VhcmNoX3NhZCkoc3RydWN0IG1hY3JvYmxvY2sqIHgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tk
KiBkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50
X212KiByZWZfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bmlvbiBpbnRfbXYqIGJlc3RfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50KiBudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZjb3N0WzJdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYp
OwotCi12b2lkIHZwOF9mYXN0X3F1YW50aXplX2JfYyhzdHJ1Y3QgYmxvY2sqLCBzdHJ1Y3QgYmxv
Y2tkKik7Ci0jZGVmaW5lIHZwOF9mYXN0X3F1YW50aXplX2IgdnA4X2Zhc3RfcXVhbnRpemVfYl9j
Ci0KLXZvaWQgdnA4X2ZpbHRlcl9ieV93ZWlnaHQxNngxNl9jKHVuc2lnbmVkIGNoYXIqIHNyYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7Ci0jZGVmaW5lIHZwOF9maWx0ZXJfYnlf
d2VpZ2h0MTZ4MTYgdnA4X2ZpbHRlcl9ieV93ZWlnaHQxNngxNl9jCi0KLXZvaWQgdnA4X2ZpbHRl
cl9ieV93ZWlnaHQ0eDRfYyh1bnNpZ25lZCBjaGFyKiBzcmMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgY2hhciogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2Vp
Z2h0KTsKLSNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ0eDQgdnA4X2ZpbHRlcl9ieV93ZWln
aHQ0eDRfYwotCi12b2lkIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2ModW5zaWduZWQgY2hhciog
c3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7Ci0jZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2Vp
Z2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MKLQotdm9pZCB2cDhfbG9vcF9maWx0ZXJf
YmhfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciogdV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIqIHZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB1dl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvKiBsZmkpOwotdm9pZCB2cDhfbG9vcF9maWx0
ZXJfYmhfbHN4KHVuc2lnbmVkIGNoYXIqIHlfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGNoYXIqIHVfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGNoYXIqIHZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvKiBsZmkpOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZwOF9sb29wX2ZpbHRlcl9iaCkodW5zaWduZWQgY2hhciogeV9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIqIHZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHV2X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsb29w
X2ZpbHRlcl9pbmZvKiBsZmkpOwotCi12b2lkIHZwOF9sb29wX2ZpbHRlcl9idl9jKHVuc2lnbmVk
IGNoYXIqIHlfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHV2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0
IGxvb3BfZmlsdGVyX2luZm8qIGxmaSk7Ci12b2lkIHZwOF9sb29wX2ZpbHRlcl9idl9sc3godW5z
aWduZWQgY2hhciogeV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogdV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
dl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB1dl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IGxvb3BfZmlsdGVyX2luZm8qIGxmaSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnA4X2xvb3BfZmlsdGVyX2J2KSh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHVfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxvb3BfZmlsdGVyX2luZm8q
IGxmaSk7Ci0KLXZvaWQgdnA4X2xvb3BfZmlsdGVyX21iaF9jKHVuc2lnbmVkIGNoYXIqIHlfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB1dl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbG9vcF9m
aWx0ZXJfaW5mbyogbGZpKTsKLXZvaWQgdnA4X2xvb3BfZmlsdGVyX21iaF9sc3godW5zaWduZWQg
Y2hhciogeV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IHVfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2X3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdXZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3QgbG9vcF9maWx0ZXJfaW5mbyogbGZpKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cDhfbG9vcF9maWx0ZXJfbWJoKSh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1X3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHV2X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbG9vcF9maWx0ZXJf
aW5mbyogbGZpKTsKLQotdm9pZCB2cDhfbG9vcF9maWx0ZXJfbWJ2X2ModW5zaWduZWQgY2hhciog
eV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHV2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBs
b29wX2ZpbHRlcl9pbmZvKiBsZmkpOwotdm9pZCB2cDhfbG9vcF9maWx0ZXJfbWJ2X2xzeCh1bnNp
Z25lZCBjaGFyKiB5X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogdV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IHZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1dl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvKiBsZmkpOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZwOF9sb29wX2ZpbHRlcl9tYnYpKHVuc2lnbmVkIGNoYXIqIHlfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHVfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsb29wX2Zp
bHRlcl9pbmZvKiBsZmkpOwotCi12b2lkIHZwOF9sb29wX2ZpbHRlcl9iaHNfYyh1bnNpZ25lZCBj
aGFyKiB5X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJsaW1pdCk7Ci0j
ZGVmaW5lIHZwOF9sb29wX2ZpbHRlcl9zaW1wbGVfYmggdnA4X2xvb3BfZmlsdGVyX2Joc19jCi0K
LXZvaWQgdnA4X2xvb3BfZmlsdGVyX2J2c19jKHVuc2lnbmVkIGNoYXIqIHlfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogYmxpbWl0KTsKLSNkZWZpbmUgdnA4X2xvb3BfZmls
dGVyX3NpbXBsZV9idiB2cDhfbG9vcF9maWx0ZXJfYnZzX2MKLQotdm9pZCB2cDhfbG9vcF9maWx0
ZXJfc2ltcGxlX2hvcml6b250YWxfZWRnZV9jKHVuc2lnbmVkIGNoYXIqIHlfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25l
ZCBjaGFyKiBibGltaXQpOwotI2RlZmluZSB2cDhfbG9vcF9maWx0ZXJfc2ltcGxlX21iaCB2cDhf
bG9vcF9maWx0ZXJfc2ltcGxlX2hvcml6b250YWxfZWRnZV9jCi0KLXZvaWQgdnA4X2xvb3BfZmls
dGVyX3NpbXBsZV92ZXJ0aWNhbF9lZGdlX2ModW5zaWduZWQgY2hhciogeV9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hh
ciogYmxpbWl0KTsKLSNkZWZpbmUgdnA4X2xvb3BfZmlsdGVyX3NpbXBsZV9tYnYgdnA4X2xvb3Bf
ZmlsdGVyX3NpbXBsZV92ZXJ0aWNhbF9lZGdlX2MKLQotaW50IHZwOF9tYmJsb2NrX2Vycm9yX2Mo
c3RydWN0IG1hY3JvYmxvY2sqIG1iLCBpbnQgZGMpOwotaW50IHZwOF9tYmJsb2NrX2Vycm9yX2xz
eChzdHJ1Y3QgbWFjcm9ibG9jayogbWIsIGludCBkYyk7Ci1SVENEX0VYVEVSTiBpbnQgKCp2cDhf
bWJibG9ja19lcnJvcikoc3RydWN0IG1hY3JvYmxvY2sqIG1iLCBpbnQgZGMpOwotCi1pbnQgdnA4
X21idXZlcnJvcl9jKHN0cnVjdCBtYWNyb2Jsb2NrKiBtYik7Ci0jZGVmaW5lIHZwOF9tYnV2ZXJy
b3IgdnA4X21idXZlcnJvcl9jCi0KLWludCB2cDhfcmVmaW5pbmdfc2VhcmNoX3NhZF9jKHN0cnVj
dCBtYWNyb2Jsb2NrKiB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJs
b2NrKiBiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrZCogZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGVycm9yX3Blcl9iaXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3JhbmdlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9tdik7Ci0jZGVmaW5lIHZwOF9yZWZpbmluZ19z
ZWFyY2hfc2FkIHZwOF9yZWZpbmluZ19zZWFyY2hfc2FkX2MKLQotdm9pZCB2cDhfcmVndWxhcl9x
dWFudGl6ZV9iX2Moc3RydWN0IGJsb2NrKiwgc3RydWN0IGJsb2NrZCopOwotdm9pZCB2cDhfcmVn
dWxhcl9xdWFudGl6ZV9iX2xzeChzdHJ1Y3QgYmxvY2sqLCBzdHJ1Y3QgYmxvY2tkKik7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnA4X3JlZ3VsYXJfcXVhbnRpemVfYikoc3RydWN0IGJsb2NrKiwgc3Ry
dWN0IGJsb2NrZCopOwotCi12b2lkIHZwOF9zaG9ydF9mZGN0NHg0X2Moc2hvcnQqIGlucHV0LCBz
aG9ydCogb3V0cHV0LCBpbnQgcGl0Y2gpOwotdm9pZCB2cDhfc2hvcnRfZmRjdDR4NF9sc3goc2hv
cnQqIGlucHV0LCBzaG9ydCogb3V0cHV0LCBpbnQgcGl0Y2gpOwotUlRDRF9FWFRFUk4gdm9pZCAo
KnZwOF9zaG9ydF9mZGN0NHg0KShzaG9ydCogaW5wdXQsIHNob3J0KiBvdXRwdXQsIGludCBwaXRj
aCk7Ci0KLXZvaWQgdnA4X3Nob3J0X2ZkY3Q4eDRfYyhzaG9ydCogaW5wdXQsIHNob3J0KiBvdXRw
dXQsIGludCBwaXRjaCk7Ci12b2lkIHZwOF9zaG9ydF9mZGN0OHg0X2xzeChzaG9ydCogaW5wdXQs
IHNob3J0KiBvdXRwdXQsIGludCBwaXRjaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA4X3Nob3J0
X2ZkY3Q4eDQpKHNob3J0KiBpbnB1dCwgc2hvcnQqIG91dHB1dCwgaW50IHBpdGNoKTsKLQotdm9p
ZCB2cDhfc2hvcnRfaWRjdDR4NGxsbV9jKHNob3J0KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBwcmVkX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcHJlZF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciogZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3N0cmlkZSk7Ci0jZGVmaW5lIHZwOF9zaG9ydF9pZGN0NHg0bGxtIHZwOF9zaG9ydF9pZGN0NHg0
bGxtX2MKLQotdm9pZCB2cDhfc2hvcnRfaW52X3dhbHNoNHg0X2Moc2hvcnQqIGlucHV0LCBzaG9y
dCogbWJfZHFjb2VmZik7Ci0jZGVmaW5lIHZwOF9zaG9ydF9pbnZfd2Fsc2g0eDQgdnA4X3Nob3J0
X2ludl93YWxzaDR4NF9jCi0KLXZvaWQgdnA4X3Nob3J0X2ludl93YWxzaDR4NF8xX2Moc2hvcnQq
IGlucHV0LCBzaG9ydCogbWJfZHFjb2VmZik7Ci0jZGVmaW5lIHZwOF9zaG9ydF9pbnZfd2Fsc2g0
eDRfMSB2cDhfc2hvcnRfaW52X3dhbHNoNHg0XzFfYwotCi12b2lkIHZwOF9zaG9ydF93YWxzaDR4
NF9jKHNob3J0KiBpbnB1dCwgc2hvcnQqIG91dHB1dCwgaW50IHBpdGNoKTsKLSNkZWZpbmUgdnA4
X3Nob3J0X3dhbHNoNHg0IHZwOF9zaG9ydF93YWxzaDR4NF9jCi0KLXZvaWQgdnA4X3NpeHRhcF9w
cmVkaWN0MTZ4MTZfYyh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIqIGRzdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRj
aCk7Ci12b2lkIHZwOF9zaXh0YXBfcHJlZGljdDE2eDE2X2xzeCh1bnNpZ25lZCBjaGFyKiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19waXhlbHNfcGVy
X2xpbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeG9mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5b2Zmc2V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwotUlRDRF9FWFRFUk4gdm9pZCAo
KnZwOF9zaXh0YXBfcHJlZGljdDE2eDE2KSh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3BpeGVsc19wZXJf
bGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhv
ZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBjaGFyKiBkc3RfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3BpdGNoKTsKLQotdm9pZCB2cDhfc2l4dGFwX3ByZWRpY3Q0eDRfYyh1
bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3BpeGVsc19wZXJfbGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhv
ZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5b2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKLXZvaWQgdnA4X3NpeHRhcF9wcmVk
aWN0NHg0X2xzeCh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IGRzdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7
Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA4X3NpeHRhcF9wcmVkaWN0NHg0KSh1bnNpZ25lZCBjaGFy
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19waXhlbHNfcGVyX2xpbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeG9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwotCi12b2lkIHZwOF9zaXh0YXBfcHJlZGlj
dDh4NF9jKHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeG9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlvZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdF9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwotI2RlZmluZSB2cDhf
c2l4dGFwX3ByZWRpY3Q4eDQgdnA4X3NpeHRhcF9wcmVkaWN0OHg0X2MKLQotdm9pZCB2cDhfc2l4
dGFwX3ByZWRpY3Q4eDhfYyh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3BpeGVsc19wZXJfbGluZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBk
c3RfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKLXZv
aWQgdnA4X3NpeHRhcF9wcmVkaWN0OHg4X2xzeCh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4b2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGNoYXIqIGRzdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF9waXRjaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA4X3NpeHRhcF9wcmVkaWN0
OHg4KSh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19waXhlbHNfcGVyX2xpbmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeG9mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwotCi12b2lk
IHZwOF9ydGNkKHZvaWQpOwotCi0jaW5jbHVkZSAidnB4X2NvbmZpZy5oIgotCi0jaWZkZWYgUlRD
RF9DCi0jaW5jbHVkZSAidnB4X3BvcnRzL2xvb25nYXJjaC5oIgotc3RhdGljIHZvaWQgc2V0dXBf
cnRjZF9pbnRlcm5hbCh2b2lkKSB7Ci0gIGludCBmbGFncyA9IGxvb25nYXJjaF9jcHVfY2Fwcygp
OwotCi0gICh2b2lkKWZsYWdzOwotICB2cDhfYmxvY2tfZXJyb3IgPSB2cDhfYmxvY2tfZXJyb3Jf
YzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cDhfYmxvY2tfZXJyb3IgPSB2cDhfYmxv
Y2tfZXJyb3JfbHN4OwotICB2cDhfZGNfb25seV9pZGN0X2FkZCA9IHZwOF9kY19vbmx5X2lkY3Rf
YWRkX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnA4X2RjX29ubHlfaWRjdF9hZGQg
PSB2cDhfZGNfb25seV9pZGN0X2FkZF9sc3g7Ci0gIHZwOF9kZXF1YW50X2lkY3RfYWRkX3V2X2Js
b2NrID0gdnA4X2RlcXVhbnRfaWRjdF9hZGRfdXZfYmxvY2tfYzsKLSAgaWYgKGZsYWdzICYgSEFT
X0xTWCkKLSAgICB2cDhfZGVxdWFudF9pZGN0X2FkZF91dl9ibG9jayA9IHZwOF9kZXF1YW50X2lk
Y3RfYWRkX3V2X2Jsb2NrX2xzeDsKLSAgdnA4X2RlcXVhbnRfaWRjdF9hZGRfeV9ibG9jayA9IHZw
OF9kZXF1YW50X2lkY3RfYWRkX3lfYmxvY2tfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAg
ICB2cDhfZGVxdWFudF9pZGN0X2FkZF95X2Jsb2NrID0gdnA4X2RlcXVhbnRfaWRjdF9hZGRfeV9i
bG9ja19sc3g7Ci0gIHZwOF9kaWFtb25kX3NlYXJjaF9zYWQgPSB2cDhfZGlhbW9uZF9zZWFyY2hf
c2FkX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnA4X2RpYW1vbmRfc2VhcmNoX3Nh
ZCA9IHZwOF9kaWFtb25kX3NlYXJjaF9zYWR4NDsKLSAgdnA4X2xvb3BfZmlsdGVyX2JoID0gdnA4
X2xvb3BfZmlsdGVyX2JoX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnA4X2xvb3Bf
ZmlsdGVyX2JoID0gdnA4X2xvb3BfZmlsdGVyX2JoX2xzeDsKLSAgdnA4X2xvb3BfZmlsdGVyX2J2
ID0gdnA4X2xvb3BfZmlsdGVyX2J2X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnA4
X2xvb3BfZmlsdGVyX2J2ID0gdnA4X2xvb3BfZmlsdGVyX2J2X2xzeDsKLSAgdnA4X2xvb3BfZmls
dGVyX21iaCA9IHZwOF9sb29wX2ZpbHRlcl9tYmhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkK
LSAgICB2cDhfbG9vcF9maWx0ZXJfbWJoID0gdnA4X2xvb3BfZmlsdGVyX21iaF9sc3g7Ci0gIHZw
OF9sb29wX2ZpbHRlcl9tYnYgPSB2cDhfbG9vcF9maWx0ZXJfbWJ2X2M7Ci0gIGlmIChmbGFncyAm
IEhBU19MU1gpCi0gICAgdnA4X2xvb3BfZmlsdGVyX21idiA9IHZwOF9sb29wX2ZpbHRlcl9tYnZf
bHN4OwotICB2cDhfbWJibG9ja19lcnJvciA9IHZwOF9tYmJsb2NrX2Vycm9yX2M7Ci0gIGlmIChm
bGFncyAmIEhBU19MU1gpCi0gICAgdnA4X21iYmxvY2tfZXJyb3IgPSB2cDhfbWJibG9ja19lcnJv
cl9sc3g7Ci0gIHZwOF9yZWd1bGFyX3F1YW50aXplX2IgPSB2cDhfcmVndWxhcl9xdWFudGl6ZV9i
X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnA4X3JlZ3VsYXJfcXVhbnRpemVfYiA9
IHZwOF9yZWd1bGFyX3F1YW50aXplX2JfbHN4OwotICB2cDhfc2hvcnRfZmRjdDR4NCA9IHZwOF9z
aG9ydF9mZGN0NHg0X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnA4X3Nob3J0X2Zk
Y3Q0eDQgPSB2cDhfc2hvcnRfZmRjdDR4NF9sc3g7Ci0gIHZwOF9zaG9ydF9mZGN0OHg0ID0gdnA4
X3Nob3J0X2ZkY3Q4eDRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cDhfc2hvcnRf
ZmRjdDh4NCA9IHZwOF9zaG9ydF9mZGN0OHg0X2xzeDsKLSAgdnA4X3NpeHRhcF9wcmVkaWN0MTZ4
MTYgPSB2cDhfc2l4dGFwX3ByZWRpY3QxNngxNl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQot
ICAgIHZwOF9zaXh0YXBfcHJlZGljdDE2eDE2ID0gdnA4X3NpeHRhcF9wcmVkaWN0MTZ4MTZfbHN4
OwotICB2cDhfc2l4dGFwX3ByZWRpY3Q0eDQgPSB2cDhfc2l4dGFwX3ByZWRpY3Q0eDRfYzsKLSAg
aWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cDhfc2l4dGFwX3ByZWRpY3Q0eDQgPSB2cDhfc2l4
dGFwX3ByZWRpY3Q0eDRfbHN4OwotICB2cDhfc2l4dGFwX3ByZWRpY3Q4eDggPSB2cDhfc2l4dGFw
X3ByZWRpY3Q4eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cDhfc2l4dGFwX3By
ZWRpY3Q4eDggPSB2cDhfc2l4dGFwX3ByZWRpY3Q4eDhfbHN4OwotfQotI2VuZGlmCi0KLSNpZmRl
ZiBfX2NwbHVzcGx1cwotfSAgLy8gZXh0ZXJuICJDIgotI2VuZGlmCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
bGludXgvbG9vbmdhcmNoL3ZwOV9ydGNkLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDE2MjAyZjA3YjJkYi4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbG9vbmdh
cmNoL3ZwOV9ydGNkLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjYgKzAsMCBAQAotLy8gVGhpcyBm
aWxlIGlzIGdlbmVyYXRlZC4gRG8gbm90IGVkaXQuCi0jaWZuZGVmIFZQOV9SVENEX0hfCi0jZGVm
aW5lIFZQOV9SVENEX0hfCi0KLSNpZmRlZiBSVENEX0MKLSNkZWZpbmUgUlRDRF9FWFRFUk4KLSNl
bHNlCi0jZGVmaW5lIFJUQ0RfRVhURVJOIGV4dGVybgotI2VuZGlmCi0KLS8qCi0gKiBWUDkKLSAq
LwotCi0jaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfY29tbW9uLmgiCi0jaW5jbHVkZSAidnA5L2Nv
bW1vbi92cDlfZW51bXMuaCIKLSNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9maWx0ZXIuaCIKLSNp
bmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKLQotc3RydWN0IG1hY3JvYmxvY2tkOwotCi0vKiBF
bmNvZGVyIGZvcndhcmQgZGVjbHMgKi8KLXN0cnVjdCBtYWNyb2Jsb2NrOwotc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmU7Ci1zdHJ1Y3QgdnA5X3NhZF90YWJsZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci1z
dHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnOwotc3RydWN0IG12OwotdW5pb24gaW50X212Owotc3Ry
dWN0IHl2MTJfYnVmZmVyX2NvbmZpZzsKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMi
IHsKLSNlbmRpZgotCi1pbnQ2NF90IHZwOV9ibG9ja19lcnJvcl9jKGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNv
ZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBibG9ja19zaXplLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90KiBzc3opOwotI2RlZmluZSB2cDlfYmxvY2tf
ZXJyb3IgdnA5X2Jsb2NrX2Vycm9yX2MKLQotaW50NjRfdCB2cDlfYmxvY2tfZXJyb3JfZnBfYyhj
b25zdCB0cmFuX2xvd190KiBjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdHJhbl9sb3dfdCogZHFjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGJsb2NrX3NpemUpOwotI2RlZmluZSB2cDlfYmxvY2tfZXJyb3JfZnAgdnA5X2Jsb2NrX2Vycm9y
X2ZwX2MKLQotaW50IHZwOV9kZW5vaXNlcl9maWx0ZXJfYyhjb25zdCB1aW50OF90KiBzaWcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaWdfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBtY19hdmcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBtY19hdmdfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90
KiBhdmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhdmdfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgaW5jcmVhc2VfZGVub2lzaW5nLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBCTE9DS19TSVpFIGJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgbW90aW9uX21hZ25pdHVkZSk7Ci0jZGVmaW5lIHZwOV9kZW5vaXNlcl9maWx0ZXIgdnA5X2Rl
bm9pc2VyX2ZpbHRlcl9jCi0KLWludCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MoY29uc3Qgc3Ry
dWN0IG1hY3JvYmxvY2sqIHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RydWN0IG12KiByZWZfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHN0YXJ0X212X3NhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12
KiBiZXN0X212LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFt
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCogbnVtMDAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5fcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci0jZGVmaW5l
IHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jCi0KLXZvaWQg
dnA5X2ZodDE2eDE2X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfZmh0MTZ4MTYgdnA5
X2ZodDE2eDE2X2MKLQotdm9pZCB2cDlfZmh0NHg0X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCi0g
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAgICBp
bnQgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotI2RlZmluZSB2cDlf
Zmh0NHg0IHZwOV9maHQ0eDRfYwotCi12b2lkIHZwOV9maHQ4eDhfYyhjb25zdCBpbnQxNl90KiBp
bnB1dCwKLSAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAg
ICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVm
aW5lIHZwOV9maHQ4eDggdnA5X2ZodDh4OF9jCi0KLXZvaWQgdnA5X2ZpbHRlcl9ieV93ZWlnaHQx
NngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7Ci0j
ZGVmaW5lIHZwOV9maWx0ZXJfYnlfd2VpZ2h0MTZ4MTYgdnA5X2ZpbHRlcl9ieV93ZWlnaHQxNngx
Nl9jCi0KLXZvaWQgdnA5X2ZpbHRlcl9ieV93ZWlnaHQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfd2VpZ2h0KTsKLSNkZWZpbmUgdnA5X2ZpbHRlcl9ieV93ZWlnaHQ4eDggdnA5
X2ZpbHRlcl9ieV93ZWlnaHQ4eDhfYwotCi12b2lkIHZwOV9md2h0NHg0X2MoY29uc3QgaW50MTZf
dCogaW5wdXQsIHRyYW5fbG93X3QqIG91dHB1dCwgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZwOV9m
d2h0NHg0IHZwOV9md2h0NHg0X2MKLQotdm9pZCB2cDlfaWh0MTZ4MTZfMjU2X2FkZF9jKGNvbnN0
IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9paHQxNngxNl8y
NTZfYWRkIHZwOV9paHQxNngxNl8yNTZfYWRkX2MKLQotdm9pZCB2cDlfaWh0NHg0XzE2X2FkZF9j
KGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9paHQ0eDRfMTZfYWRk
IHZwOV9paHQ0eDRfMTZfYWRkX2MKLQotdm9pZCB2cDlfaWh0OHg4XzY0X2FkZF9jKGNvbnN0IHRy
YW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9paHQ4eDhfNjRfYWRkIHZwOV9paHQ4
eDhfNjRfYWRkX2MKLQotdm9pZCB2cDlfcXVhbnRpemVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBj
b2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotI2RlZmluZSB2cDlfcXVh
bnRpemVfZnAgdnA5X3F1YW50aXplX2ZwX2MKLQotdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJf
Yyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotI2RlZmluZSB2
cDlfcXVhbnRpemVfZnBfMzJ4MzIgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2MKLQotdm9pZCB2cDlf
c2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jKGNvbnN0IHN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWcq
IHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeXYxMl9idWZm
ZXJfY29uZmlnKiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5URVJQ
X0ZJTFRFUiBmaWx0ZXJfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcGhhc2Vfc2NhbGVyKTsKLSNkZWZpbmUgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUgdnA5
X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYwotCi12b2lkIHZwOV9ydGNkKHZvaWQpOwotCi0jaW5j
bHVkZSAidnB4X2NvbmZpZy5oIgotCi0jaWZkZWYgUlRDRF9DCi0jaW5jbHVkZSAidnB4X3BvcnRz
L2xvb25nYXJjaC5oIgotc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7Ci0g
IGludCBmbGFncyA9IGxvb25nYXJjaF9jcHVfY2FwcygpOwotCi0gICh2b2lkKWZsYWdzOwotfQot
I2VuZGlmCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfSAgLy8gZXh0ZXJuICJDIgotI2VuZGlmCi0K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X2NvbmZp
Zy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X2NvbmZpZy5jCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhMzVmN2ZkMjg1N2QuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2xpbnV4L2xvb25nYXJjaC92cHhfY29uZmlnLmMKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi0vKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIFdlYk0gcHJvamVjdCBhdXRob3Jz
LiBBbGwgUmlnaHRzIFJlc2VydmVkLiAqLwotLyogICovCi0vKiBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlICovCi0vKiB0aGF0IGNhbiBi
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgKi8K
LS8qIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFu
dCBjYW4gYmUgZm91bmQgKi8KLS8qIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0
aW5nIHByb2plY3QgYXV0aG9ycyBtYXkgKi8KLS8qIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLiAqLwotI2luY2x1ZGUgInZweC92cHhf
Y29kZWMuaCIKLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjZmcgPSAiLS10YXJnZXQ9bG9vbmdh
cmNoNjQtbGludXgtZ2NjIC0tZW5hYmxlLWV4dGVybmFsLWJ1aWxkIC0tZW5hYmxlLXBvc3Rwcm9j
IC0tZW5hYmxlLW11bHRpLXJlcy1lbmNvZGluZyAtLWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcg
LS1lbmFibGUtdnA5LXRlbXBvcmFsLWRlbm9pc2luZyAtLWVuYWJsZS12cDktcG9zdHByb2MgLS1z
aXplLWxpbWl0PTE2Mzg0eDE2Mzg0IC0tZW5hYmxlLXJlYWx0aW1lLW9ubHkgLS1kaXNhYmxlLWlu
c3RhbGwtZG9jcyAtLWRpc2FibGUtbGlieXV2IjsKLWNvbnN0IGNoYXIgKnZweF9jb2RlY19idWls
ZF9jb25maWcodm9pZCkge3JldHVybiBjZmc7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9sb29uZ2FyY2gvdnB4X2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4
X2NvbmZpZy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTFkNTlkMjNhNzguLjAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2xvb25nYXJjaC92cHhfY29uZmlnLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotLyogQ29weXJpZ2h0IChjKSAyMDExIFRo
ZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gKi8KLS8qICAqLwot
LyogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZSAqLwotLyogdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUg
cm9vdCBvZiB0aGUgc291cmNlICovCi0vKiB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVh
bCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kICovCi0vKiBpbiB0aGUgZmlsZSBQ
QVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5ICovCi0vKiBiZSBm
b3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4g
Ki8KLS8qIFRoaXMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBjb25maWd1cmUuIERv
IG5vdCBlZGl0ISAqLwotI2lmbmRlZiBWUFhfQ09ORklHX0gKLSNkZWZpbmUgVlBYX0NPTkZJR19I
Ci0jZGVmaW5lIFJFU1RSSUNUICAgIAotI2RlZmluZSBJTkxJTkUgICAgICBpbmxpbmUKLSNkZWZp
bmUgVlBYX0FSQ0hfQVJNIDAKLSNkZWZpbmUgQVJDSF9BUk0gMAotI2RlZmluZSBWUFhfQVJDSF9B
QVJDSDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKLSNkZWZpbmUgVlBYX0FSQ0hfTUlQUyAw
Ci0jZGVmaW5lIEFSQ0hfTUlQUyAwCi0jZGVmaW5lIFZQWF9BUkNIX1g4NiAwCi0jZGVmaW5lIEFS
Q0hfWDg2IDAKLSNkZWZpbmUgVlBYX0FSQ0hfWDg2XzY0IDAKLSNkZWZpbmUgQVJDSF9YODZfNjQg
MAotI2RlZmluZSBWUFhfQVJDSF9QUEMgMAotI2RlZmluZSBBUkNIX1BQQyAwCi0jZGVmaW5lIFZQ
WF9BUkNIX0xPT05HQVJDSCAxCi0jZGVmaW5lIEFSQ0hfTE9PTkdBUkNIIDEKLSNkZWZpbmUgSEFW
RV9ORU9OX0FTTSAwCi0jZGVmaW5lIEhBVkVfTkVPTiAwCi0jZGVmaW5lIEhBVkVfTkVPTl9ET1RQ
Uk9EIDAKLSNkZWZpbmUgSEFWRV9ORU9OX0k4TU0gMAotI2RlZmluZSBIQVZFX01JUFMzMiAwCi0j
ZGVmaW5lIEhBVkVfRFNQUjIgMAotI2RlZmluZSBIQVZFX01TQSAwCi0jZGVmaW5lIEhBVkVfTUlQ
UzY0IDAKLSNkZWZpbmUgSEFWRV9NTVggMAotI2RlZmluZSBIQVZFX1NTRSAwCi0jZGVmaW5lIEhB
VkVfU1NFMiAwCi0jZGVmaW5lIEhBVkVfU1NFMyAwCi0jZGVmaW5lIEhBVkVfU1NTRTMgMAotI2Rl
ZmluZSBIQVZFX1NTRTRfMSAwCi0jZGVmaW5lIEhBVkVfQVZYIDAKLSNkZWZpbmUgSEFWRV9BVlgy
IDAKLSNkZWZpbmUgSEFWRV9BVlg1MTIgMAotI2RlZmluZSBIQVZFX1ZTWCAwCi0jZGVmaW5lIEhB
VkVfTU1JIDAKLSNkZWZpbmUgSEFWRV9MU1ggMQotI2RlZmluZSBIQVZFX0xBU1ggMQotI2RlZmlu
ZSBIQVZFX1ZQWF9QT1JUUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKLSNkZWZpbmUgSEFW
RV9VTklTVERfSCAwCi0jZGVmaW5lIENPTkZJR19ERVBFTkRFTkNZX1RSQUNLSU5HIDEKLSNkZWZp
bmUgQ09ORklHX0VYVEVSTkFMX0JVSUxEIDEKLSNkZWZpbmUgQ09ORklHX0lOU1RBTExfRE9DUyAw
Ci0jZGVmaW5lIENPTkZJR19JTlNUQUxMX0JJTlMgMQotI2RlZmluZSBDT05GSUdfSU5TVEFMTF9M
SUJTIDEKLSNkZWZpbmUgQ09ORklHX0lOU1RBTExfU1JDUyAwCi0jZGVmaW5lIENPTkZJR19ERUJV
RyAwCi0jZGVmaW5lIENPTkZJR19HUFJPRiAwCi0jZGVmaW5lIENPTkZJR19HQ09WIDAKLSNkZWZp
bmUgQ09ORklHX1JWQ1QgMAotI2RlZmluZSBDT05GSUdfR0NDIDEKLSNkZWZpbmUgQ09ORklHX01T
VlMgMAotI2RlZmluZSBDT05GSUdfUElDIDAKLSNkZWZpbmUgQ09ORklHX0JJR19FTkRJQU4gMAot
I2RlZmluZSBDT05GSUdfQ09ERUNfU1JDUyAwCi0jZGVmaW5lIENPTkZJR19ERUJVR19MSUJTIDAK
LSNkZWZpbmUgQ09ORklHX0RFUVVBTlRfVE9LRU5TIDAKLSNkZWZpbmUgQ09ORklHX0RDX1JFQ09O
IDAKLSNkZWZpbmUgQ09ORklHX1JVTlRJTUVfQ1BVX0RFVEVDVCAxCi0jZGVmaW5lIENPTkZJR19Q
T1NUUFJPQyAxCi0jZGVmaW5lIENPTkZJR19WUDlfUE9TVFBST0MgMQotI2RlZmluZSBDT05GSUdf
TVVMVElUSFJFQUQgMQotI2RlZmluZSBDT05GSUdfSU5URVJOQUxfU1RBVFMgMAotI2RlZmluZSBD
T05GSUdfVlA4X0VOQ09ERVIgMQotI2RlZmluZSBDT05GSUdfVlA4X0RFQ09ERVIgMQotI2RlZmlu
ZSBDT05GSUdfVlA5X0VOQ09ERVIgMQotI2RlZmluZSBDT05GSUdfVlA5X0RFQ09ERVIgMQotI2Rl
ZmluZSBDT05GSUdfVlA4IDEKLSNkZWZpbmUgQ09ORklHX1ZQOSAxCi0jZGVmaW5lIENPTkZJR19F
TkNPREVSUyAxCi0jZGVmaW5lIENPTkZJR19ERUNPREVSUyAxCi0jZGVmaW5lIENPTkZJR19TVEFU
SUNfTVNWQ1JUIDAKLSNkZWZpbmUgQ09ORklHX1NQQVRJQUxfUkVTQU1QTElORyAxCi0jZGVmaW5l
IENPTkZJR19SRUFMVElNRV9PTkxZIDEKLSNkZWZpbmUgQ09ORklHX09OVEhFRkxZX0JJVFBBQ0tJ
TkcgMAotI2RlZmluZSBDT05GSUdfRVJST1JfQ09OQ0VBTE1FTlQgMAotI2RlZmluZSBDT05GSUdf
U0hBUkVEIDAKLSNkZWZpbmUgQ09ORklHX1NUQVRJQyAxCi0jZGVmaW5lIENPTkZJR19TTUFMTCAw
Ci0jZGVmaW5lIENPTkZJR19QT1NUUFJPQ19WSVNVQUxJWkVSIDAKLSNkZWZpbmUgQ09ORklHX09T
X1NVUFBPUlQgMQotI2RlZmluZSBDT05GSUdfVU5JVF9URVNUUyAxCi0jZGVmaW5lIENPTkZJR19X
RUJNX0lPIDEKLSNkZWZpbmUgQ09ORklHX0xJQllVViAwCi0jZGVmaW5lIENPTkZJR19ERUNPREVf
UEVSRl9URVNUUyAwCi0jZGVmaW5lIENPTkZJR19FTkNPREVfUEVSRl9URVNUUyAwCi0jZGVmaW5l
IENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgMQotI2RlZmluZSBDT05GSUdfVEVNUE9SQUxfREVO
T0lTSU5HIDEKLSNkZWZpbmUgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgMQotI2RlZmlu
ZSBDT05GSUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcgMAotI2RlZmluZSBDT05GSUdfVlA5
X0hJR0hCSVRERVBUSCAwCi0jZGVmaW5lIENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElUWSAw
Ci0jZGVmaW5lIENPTkZJR19FWFBFUklNRU5UQUwgMAotI2RlZmluZSBDT05GSUdfU0laRV9MSU1J
VCAxCi0jZGVmaW5lIENPTkZJR19BTFdBWVNfQURKVVNUX0JQTSAwCi0jZGVmaW5lIENPTkZJR19C
SVRTVFJFQU1fREVCVUcgMAotI2RlZmluZSBDT05GSUdfTUlTTUFUQ0hfREVCVUcgMAotI2RlZmlu
ZSBDT05GSUdfRlBfTUJfU1RBVFMgMAotI2RlZmluZSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAw
Ci0jZGVmaW5lIENPTkZJR19OT05fR1JFRURZX01WIDAKLSNkZWZpbmUgQ09ORklHX1JBVEVfQ1RS
TCAwCi0jZGVmaW5lIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgMAotI2RlZmluZSBE
RUNPREVfV0lEVEhfTElNSVQgMTYzODQKLSNkZWZpbmUgREVDT0RFX0hFSUdIVF9MSU1JVCAxNjM4
NAotI2VuZGlmIC8qIFZQWF9DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9sb29uZ2FyY2gvdnB4X2RzcF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L2xvb25nYXJjaC92
cHhfZHNwX3J0Y2QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q4ZTZhN2ExOGFi
Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X2RzcF9y
dGNkLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNDUyICswLDAgQEAKLS8vIFRoaXMgZmlsZSBpcyBn
ZW5lcmF0ZWQuIERvIG5vdCBlZGl0LgotI2lmbmRlZiBWUFhfRFNQX1JUQ0RfSF8KLSNkZWZpbmUg
VlBYX0RTUF9SVENEX0hfCi0KLSNpZmRlZiBSVENEX0MKLSNkZWZpbmUgUlRDRF9FWFRFUk4KLSNl
bHNlCi0jZGVmaW5lIFJUQ0RfRVhURVJOIGV4dGVybgotI2VuZGlmCi0KLS8qCi0gKiBEU1AKLSAq
LwotCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0jaW5jbHVkZSAidnB4X2RzcC92cHhf
ZHNwX2NvbW1vbi5oIgotI2luY2x1ZGUgInZweF9kc3AvdnB4X2ZpbHRlci5oIgotI2lmIENPTkZJ
R19WUDlfRU5DT0RFUgotc3RydWN0IG1hY3JvYmxvY2tfcGxhbmU7Ci1zdHJ1Y3QgU2Nhbk9yZGVy
OwotI2VuZGlmCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQot
dW5zaWduZWQgaW50IHZweF9hdmdfNHg0X2MoY29uc3QgdWludDhfdCosIGludCBwKTsKLSNkZWZp
bmUgdnB4X2F2Z180eDQgdnB4X2F2Z180eDRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2F2Z184eDhf
Yyhjb25zdCB1aW50OF90KiwgaW50IHApOwotI2RlZmluZSB2cHhfYXZnXzh4OCB2cHhfYXZnXzh4
OF9jCi0KLXZvaWQgdnB4X2NvbXBfYXZnX3ByZWRfYyh1aW50OF90KiBjb21wX3ByZWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdo
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdm9pZCB2cHhfY29tcF9hdmdfcHJl
ZF9sc3godWludDhfdCogY29tcF9wcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2NvbXBfYXZnX3ByZWQp
KHVpbnQ4X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfY29udm9sdmU4X2MoY29uc3QgdWludDhfdCogc3JjLAot
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVy
LAotICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
aW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgdywK
LSAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9sc3goY29u
c3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB4
MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZTgpKGNvbnN0IHVpbnQ4
X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBm
aWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwot
Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
ZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwq
IGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
aCk7Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX2xzeChjb25zdCB1aW50OF90KiBzcmMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
SW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252
b2x2ZThfYXZnKShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
aCk7Ci0KLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfYyhjb25zdCB1aW50OF90KiBzcmMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbHN4KGNvbnN0
IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwq
IGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXopKGNvbnN0IHVpbnQ4X3QqIHNy
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLQotdm9pZCB2cHhfY29udm9sdmU4
X2F2Z192ZXJ0X2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
ZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtl
cm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZl
OF9hdmdfdmVydF9sc3goY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThfYXZnX3ZlcnQpKGNvbnN0IHVp
bnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotCi12b2lkIHZweF9jb252b2x2ZThf
aG9yaXpfYyhjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X2hvcml6X2xzeChjb25zdCB1aW50OF90KiBzcmMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnB4X2NvbnZvbHZlOF9ob3JpeikoY29uc3QgdWludDhfdCogc3JjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJ
bnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlf
c3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci0KLXZvaWQg
dnB4X2NvbnZvbHZlOF92ZXJ0X2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBm
aWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X3ZlcnRfbHN4KGNvbnN0IHVpbnQ4X3QqIHNyYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9jb252b2x2ZThfdmVydCkoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCog
ZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLQotdm9pZCB2cHhfY29udm9sdmVfYXZnX2Mo
Y29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlX2F2Z19sc3goY29uc3Qg
dWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9jb252b2x2ZV9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgp
OwotCi12b2lkIHZweF9jb252b2x2ZV9jb3B5X2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJu
ZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZV9jb3B5X2xzeChjb25zdCB1aW50OF90KiBzcmMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9j
b252b2x2ZV9jb3B5KShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaCk7Ci0KLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZw
eF9kMTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfYwotCi12b2lk
IHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDExN19wcmVkaWN0
b3JfMzJ4MzIgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyX2MKLQotdm9pZCB2cHhfZDExN19wcmVk
aWN0b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl80eDQgdnB4X2QxMTdfcHJlZGlj
dG9yXzR4NF9jCi0KLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDEx
N19wcmVkaWN0b3JfOHg4IHZweF9kMTE3X3ByZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF9kMTM1
X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDEzNV9wcmVkaWN0b3JfMTZ4MTYg
dnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2X2MKLQotdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfMzJ4
MzJfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMzVfcHJlZGljdG9yXzMyeDMyIHZweF9kMTM1X3ByZWRp
Y3Rvcl8zMngzMl9jCi0KLXZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhf
ZDEzNV9wcmVkaWN0b3JfNHg0IHZweF9kMTM1X3ByZWRpY3Rvcl80eDRfYwotCi12b2lkIHZweF9k
MTM1X3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMzVfcHJlZGljdG9yXzh4OCB2cHhfZDEz
NV9wcmVkaWN0b3JfOHg4X2MKLQotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2IHZweF9kMTUzX3ByZWRpY3Rvcl8xNngx
Nl9jCi0KLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyX2ModWludDhfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
MTUzX3ByZWRpY3Rvcl8zMngzMiB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfYwotCi12b2lkIHZw
eF9kMTUzX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzR4NCB2cHhf
ZDE1M19wcmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfOHg4X2ModWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVm
aW5lIHZweF9kMTUzX3ByZWRpY3Rvcl84eDggdnB4X2QxNTNfcHJlZGljdG9yXzh4OF9jCi0KLXZv
aWQgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMjA3X3ByZWRp
Y3Rvcl8xNngxNiB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYwotCi12b2lkIHZweF9kMjA3X3By
ZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzIgdnB4
X2QyMDdfcHJlZGljdG9yXzMyeDMyX2MKLQotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfNHg0X2Mo
dWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0j
ZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl80eDQgdnB4X2QyMDdfcHJlZGljdG9yXzR4NF9jCi0K
LXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3Jf
OHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF9kNDVfcHJlZGljdG9yXzE2
eDE2X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
bGVmdCk7Ci0jZGVmaW5lIHZweF9kNDVfcHJlZGljdG9yXzE2eDE2IHZweF9kNDVfcHJlZGljdG9y
XzE2eDE2X2MKLQotdm9pZCB2cHhfZDQ1X3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhf
ZDQ1X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDQ1X3ByZWRpY3Rvcl8zMngzMl9jCi0KLXZvaWQgdnB4
X2Q0NV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNDVfcHJlZGljdG9yXzR4NCB2cHhfZDQ1X3By
ZWRpY3Rvcl80eDRfYwotCi12b2lkIHZweF9kNDVfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDQ1
X3ByZWRpY3Rvcl84eDggdnB4X2Q0NV9wcmVkaWN0b3JfOHg4X2MKLQotdm9pZCB2cHhfZDQ1ZV9w
cmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNDVlX3ByZWRpY3Rvcl80eDQgdnB4X2Q0NWVfcHJl
ZGljdG9yXzR4NF9jCi0KLXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUg
dnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTZfYwotCi12b2lk
IHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzMy
eDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2MKLQotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80
eDRfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfNHg0IHZweF9kNjNfcHJlZGljdG9yXzR4NF9jCi0K
LXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzh4OCB2
cHhfZDYzX3ByZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF9kNjNlX3ByZWRpY3Rvcl80eDRfYyh1
aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNk
ZWZpbmUgdnB4X2Q2M2VfcHJlZGljdG9yXzR4NCB2cHhfZDYzZV9wcmVkaWN0b3JfNHg0X2MKLQot
dm9pZCB2cHhfZGNfMTI4X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhf
ZGNfMTI4X3ByZWRpY3Rvcl8xNngxNiB2cHhfZGNfMTI4X3ByZWRpY3Rvcl8xNngxNl9jCi0KLXZv
aWQgdnB4X2RjXzEyOF9wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2Rj
XzEyOF9wcmVkaWN0b3JfMzJ4MzIgdnB4X2RjXzEyOF9wcmVkaWN0b3JfMzJ4MzJfYwotCi12b2lk
IHZweF9kY18xMjhfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZGNfMTI4X3ByZWRp
Y3Rvcl80eDQgdnB4X2RjXzEyOF9wcmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2cHhfZGNfMTI4X3By
ZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2RjXzEyOF9wcmVkaWN0b3JfOHg4IHZweF9k
Y18xMjhfcHJlZGljdG9yXzh4OF9jCi0KLXZvaWQgdnB4X2RjX2xlZnRfcHJlZGljdG9yXzE2eDE2
X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl8xNngxNiB2cHhf
ZGNfbGVmdF9wcmVkaWN0b3JfMTZ4MTZfYwotCi12b2lkIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl8z
MngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfMzJ4MzIg
dnB4X2RjX2xlZnRfcHJlZGljdG9yXzMyeDMyX2MKLQotdm9pZCB2cHhfZGNfbGVmdF9wcmVkaWN0
b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl80eDQgdnB4X2Rj
X2xlZnRfcHJlZGljdG9yXzR4NF9jCi0KLXZvaWQgdnB4X2RjX2xlZnRfcHJlZGljdG9yXzh4OF9j
KHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotI2RlZmluZSB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfOHg4IHZweF9kY19sZWZ0X3By
ZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF9kY19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Rj
X3ByZWRpY3Rvcl8xNngxNl9sc3godWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2RjX3ByZWRp
Y3Rvcl8xNngxNikodWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0KLXZvaWQg
dnB4X2RjX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZGNfcHJlZGljdG9yXzMyeDMyIHZw
eF9kY19wcmVkaWN0b3JfMzJ4MzJfYwotCi12b2lkIHZweF9kY19wcmVkaWN0b3JfNHg0X2ModWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZw
eF9kY19wcmVkaWN0b3JfNHg0IHZweF9kY19wcmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2cHhfZGNf
cHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotdm9pZCB2cHhfZGNfcHJlZGljdG9yXzh4OF9sc3godWludDhfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci1SVENEX0VYVEVSTiB2b2lkICgq
dnB4X2RjX3ByZWRpY3Rvcl84eDgpKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotCi12
b2lkIHZweF9kY190b3BfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
Y190b3BfcHJlZGljdG9yXzE2eDE2IHZweF9kY190b3BfcHJlZGljdG9yXzE2eDE2X2MKLQotdm9p
ZCB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZGNf
dG9wX3ByZWRpY3Rvcl8zMngzMiB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8zMngzMl9jCi0KLXZvaWQg
dnB4X2RjX3RvcF9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kY190b3BfcHJlZGlj
dG9yXzR4NCB2cHhfZGNfdG9wX3ByZWRpY3Rvcl80eDRfYwotCi12b2lkIHZweF9kY190b3BfcHJl
ZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZGNfdG9wX3ByZWRpY3Rvcl84eDggdnB4X2Rj
X3RvcF9wcmVkaWN0b3JfOHg4X2MKLQotdm9pZCB2cHhfZmRjdDE2eDE2X2MoY29uc3QgaW50MTZf
dCogaW5wdXQsIHRyYW5fbG93X3QqIG91dHB1dCwgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9mZGN0
MTZ4MTZfbHN4KGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBvdXRwdXQsIGludCBz
dHJpZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9mZGN0MTZ4MTYpKGNvbnN0IGludDE2X3Qq
IGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91
dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLQot
dm9pZCB2cHhfZmRjdDE2eDE2XzFfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCog
b3V0cHV0LCBpbnQgc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2ZkY3QxNngxNl8xIHZweF9mZGN0MTZ4
MTZfMV9jCi0KLXZvaWQgdnB4X2ZkY3QzMngzMl9jKGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFu
X2xvd190KiBvdXRwdXQsIGludCBzdHJpZGUpOwotdm9pZCB2cHhfZmRjdDMyeDMyX2xzeChjb25z
dCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfZmRjdDMyeDMyKShjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0KLXZvaWQgdnB4X2ZkY3Qz
MngzMl8xX2MoY29uc3QgaW50MTZfdCogaW5wdXQsIHRyYW5fbG93X3QqIG91dHB1dCwgaW50IHN0
cmlkZSk7Ci0jZGVmaW5lIHZweF9mZGN0MzJ4MzJfMSB2cHhfZmRjdDMyeDMyXzFfYwotCi12b2lk
IHZweF9mZGN0MzJ4MzJfcmRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0
cHV0LCBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2ZkY3QzMngzMl9yZF9sc3goY29uc3QgaW50MTZf
dCogaW5wdXQsIHRyYW5fbG93X3QqIG91dHB1dCwgaW50IHN0cmlkZSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X2ZkY3QzMngzMl9yZCkoY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotCi12b2lkIHZweF9mZGN0
NHg0X2MoY29uc3QgaW50MTZfdCogaW5wdXQsIHRyYW5fbG93X3QqIG91dHB1dCwgaW50IHN0cmlk
ZSk7Ci12b2lkIHZweF9mZGN0NHg0X2xzeChjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3df
dCogb3V0cHV0LCBpbnQgc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfZmRjdDR4NCko
Y29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0
cmlkZSk7Ci0KLXZvaWQgdnB4X2ZkY3Q0eDRfMV9jKGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFu
X2xvd190KiBvdXRwdXQsIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfZmRjdDR4NF8xIHZweF9m
ZGN0NHg0XzFfYwotCi12b2lkIHZweF9mZGN0OHg4X2MoY29uc3QgaW50MTZfdCogaW5wdXQsIHRy
YW5fbG93X3QqIG91dHB1dCwgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9mZGN0OHg4X2xzeChjb25z
dCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfZmRjdDh4OCkoY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0KLXZvaWQgdnB4X2ZkY3Q4eDhfMV9j
KGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBvdXRwdXQsIGludCBzdHJpZGUpOwot
I2RlZmluZSB2cHhfZmRjdDh4OF8xIHZweF9mZGN0OHg4XzFfYwotCi12b2lkIHZweF9nZXQxNngx
NnZhcl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgIGlu
dCogc3VtKTsKLXZvaWQgdnB4X2dldDE2eDE2dmFyX2xzeChjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0pOwotUlRDRF9FWFRF
Uk4gdm9pZCAoKnZweF9nZXQxNngxNnZhcikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci0KLXVuc2lnbmVkIGludCB2cHhf
Z2V0NHg0c3NlX2NzX2MoY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2dldDR4NHNz
ZV9jcyB2cHhfZ2V0NHg0c3NlX2NzX2MKLQotdm9pZCB2cHhfZ2V0OHg4dmFyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci0jZGVmaW5lIHZweF9nZXQ4
eDh2YXIgdnB4X2dldDh4OHZhcl9jCi0KLXVuc2lnbmVkIGludCB2cHhfZ2V0X21iX3NzX2MoY29u
c3QgaW50MTZfdCopOwotI2RlZmluZSB2cHhfZ2V0X21iX3NzIHZweF9nZXRfbWJfc3NfYwotCi12
b2lkIHZweF9oX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfaF9wcmVkaWN0b3JfMTZ4MTYgdnB4
X2hfcHJlZGljdG9yXzE2eDE2X2MKLQotdm9pZCB2cHhfaF9wcmVkaWN0b3JfMzJ4MzJfYyh1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUg
dnB4X2hfcHJlZGljdG9yXzMyeDMyIHZweF9oX3ByZWRpY3Rvcl8zMngzMl9jCi0KLXZvaWQgdnB4
X2hfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotI2RlZmluZSB2cHhfaF9wcmVkaWN0b3JfNHg0IHZweF9oX3ByZWRpY3Rvcl80eDRf
YwotCi12b2lkIHZweF9oX3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2hfcHJlZGljdG9yXzh4OCB2cHhfaF9w
cmVkaWN0b3JfOHg4X2MKLQotdm9pZCB2cHhfaGFkYW1hcmRfMTZ4MTZfYyhjb25zdCBpbnQxNl90
KiBzcmNfZGlmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGNvZWZmKTsKLXZvaWQgdnB4
X2hhZGFtYXJkXzE2eDE2X2xzeChjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQxNl90KiBjb2VmZik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hhZGFt
YXJkXzE2eDE2KShjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogY29lZmYpOwotCi12b2lkIHZweF9oYWRh
bWFyZF8zMngzMl9jKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MTZfdCogY29lZmYpOwotI2RlZmluZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFtYXJk
XzMyeDMyX2MKLQotdm9pZCB2cHhfaGFkYW1hcmRfOHg4X2MoY29uc3QgaW50MTZfdCogc3JjX2Rp
ZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGNvZWZmKTsKLXZvaWQgdnB4X2hhZGFtYXJkXzh4
OF9sc3goY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90
KiBjb2VmZik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hhZGFtYXJkXzh4OCkoY29uc3QgaW50
MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MTZfdCogY29lZmYpOwotCi12b2lkIHZweF9oZV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9oZV9w
cmVkaWN0b3JfNHg0IHZweF9oZV9wcmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2cHhfaWRjdDE2eDE2
XzEwX2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2lkY3QxNngxNl8xMF9hZGQgdnB4X2lkY3QxNngxNl8xMF9hZGRf
YwotCi12b2lkIHZweF9pZGN0MTZ4MTZfMV9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwg
dWludDhfdCogZGVzdCwgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9pZGN0MTZ4MTZfMV9hZGQg
dnB4X2lkY3QxNngxNl8xX2FkZF9jCi0KLXZvaWQgdnB4X2lkY3QxNngxNl8yNTZfYWRkX2MoY29u
c3QgdHJhbl9sb3dfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2Rl
ZmluZSB2cHhfaWRjdDE2eDE2XzI1Nl9hZGQgdnB4X2lkY3QxNngxNl8yNTZfYWRkX2MKLQotdm9p
ZCB2cHhfaWRjdDE2eDE2XzM4X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90
KiBkZXN0LCBpbnQgc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2lkY3QxNngxNl8zOF9hZGQgdnB4X2lk
Y3QxNngxNl8zOF9hZGRfYwotCi12b2lkIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfYyhjb25zdCB0
cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZvaWQg
dnB4X2lkY3QzMngzMl8xMDI0X2FkZF9sc3goY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9p
ZGN0MzJ4MzJfMTAyNF9hZGQpKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0KLXZvaWQgdnB4
X2lkY3QzMngzMl8xMzVfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzdHJpZGUpOwotdm9pZCB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2xzeChjb25z
dCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7
Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2lkY3QzMngzMl8xMzVfYWRkKShjb25zdCB0cmFuX2xv
d190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3RyaWRlKTsKLQotdm9pZCB2cHhfaWRjdDMyeDMyXzFfYWRkX2MoY29uc3QgdHJhbl9sb3df
dCogaW5wdXQsIHVpbnQ4X3QqIGRlc3QsIGludCBzdHJpZGUpOwotdm9pZCB2cHhfaWRjdDMyeDMy
XzFfYWRkX2xzeChjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHN0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2lkY3QzMngzMl8xX2FkZCkoY29uc3Qg
dHJhbl9sb3dfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlKTsKLQotdm9pZCB2cHhfaWRjdDMyeDMyXzM0X2FkZF9jKGNvbnN0IHRyYW5f
bG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2lkY3Qz
MngzMl8zNF9hZGRfbHN4KGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzdHJpZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9pZGN0MzJ4MzJfMzRfYWRk
KShjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0KLXZvaWQgdnB4X2lkY3Q0eDRfMTZfYWRkX2MoY29u
c3QgdHJhbl9sb3dfdCogaW5wdXQsIHVpbnQ4X3QqIGRlc3QsIGludCBzdHJpZGUpOwotI2RlZmlu
ZSB2cHhfaWRjdDR4NF8xNl9hZGQgdnB4X2lkY3Q0eDRfMTZfYWRkX2MKLQotdm9pZCB2cHhfaWRj
dDR4NF8xX2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQg
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2lkY3Q0eDRfMV9hZGQgdnB4X2lkY3Q0eDRfMV9hZGRfYwot
Ci12b2lkIHZweF9pZGN0OHg4XzEyX2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50
OF90KiBkZXN0LCBpbnQgc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2lkY3Q4eDhfMTJfYWRkIHZweF9p
ZGN0OHg4XzEyX2FkZF9jCi0KLXZvaWQgdnB4X2lkY3Q4eDhfMV9hZGRfYyhjb25zdCB0cmFuX2xv
d190KiBpbnB1dCwgdWludDhfdCogZGVzdCwgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9pZGN0
OHg4XzFfYWRkIHZweF9pZGN0OHg4XzFfYWRkX2MKLQotdm9pZCB2cHhfaWRjdDh4OF82NF9hZGRf
Yyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhfdCogZGVzdCwgaW50IHN0cmlkZSk7Ci0j
ZGVmaW5lIHZweF9pZGN0OHg4XzY0X2FkZCB2cHhfaWRjdDh4OF82NF9hZGRfYwotCi1pbnQxNl90
IHZweF9pbnRfcHJvX2NvbF9jKGNvbnN0IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsK
LSNkZWZpbmUgdnB4X2ludF9wcm9fY29sIHZweF9pbnRfcHJvX2NvbF9jCi0KLXZvaWQgdnB4X2lu
dF9wcm9fcm93X2MoaW50MTZfdCBoYnVmWzE2XSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCk7Ci0jZGVmaW5l
IHZweF9pbnRfcHJvX3JvdyB2cHhfaW50X3Byb19yb3dfYwotCi12b2lkIHZweF9pd2h0NHg0XzE2
X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3RyaWRl
KTsKLSNkZWZpbmUgdnB4X2l3aHQ0eDRfMTZfYWRkIHZweF9pd2h0NHg0XzE2X2FkZF9jCi0KLXZv
aWQgdnB4X2l3aHQ0eDRfMV9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhfdCog
ZGVzdCwgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9pd2h0NHg0XzFfYWRkIHZweF9pd2h0NHg0
XzFfYWRkX2MKLQotdm9pZCB2cHhfbHBmX2hvcml6b250YWxfMTZfYyh1aW50OF90KiBzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHRocmVzaCk7Ci0jZGVmaW5lIHZweF9scGZfaG9yaXpvbnRhbF8xNiB2
cHhfbHBmX2hvcml6b250YWxfMTZfYwotCi12b2lkIHZweF9scGZfaG9yaXpvbnRhbF8xNl9kdWFs
X2ModWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0
Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxp
bWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxp
bWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRo
cmVzaCk7Ci12b2lkIHZweF9scGZfaG9yaXpvbnRhbF8xNl9kdWFsX2xzeCh1aW50OF90KiBzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpdGNoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gpOwot
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9scGZfaG9yaXpvbnRhbF8xNl9kdWFsKSh1aW50OF90KiBz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0
Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGJsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaCk7Ci0KLXZvaWQgdnB4
X2xwZl9ob3Jpem9udGFsXzRfYyh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBibGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGlt
aXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoKTsK
LXZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzRfbHN4KHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBibGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHRocmVzaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2xwZl9ob3Jpem9udGFs
XzQpKHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoKTsKLQotdm9pZCB2cHhfbHBmX2hvcml6
b250YWxfNF9kdWFsX2ModWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGJsaW1pdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsaW1pdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiB0aHJlc2gwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYmxpbWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxpbWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHRocmVzaDEpOwotdm9pZCB2cHhfbHBmX2hvcml6b250YWxfNF9kdWFsX2xzeCh1
aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1p
dDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxp
bWl0MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
dGhyZXNoMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYmxpbWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiB0aHJlc2gxKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfbHBmX2hvcml6b250YWxf
NF9kdWFsKSh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGltaXQwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0MCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJl
c2gwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGJsaW1pdDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaDEpOwotCi12b2lkIHZw
eF9scGZfaG9yaXpvbnRhbF84X2ModWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxp
bWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaCk7
Ci12b2lkIHZweF9scGZfaG9yaXpvbnRhbF84X2xzeCh1aW50OF90KiBzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHBpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiB0aHJlc2gpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9scGZfaG9yaXpvbnRh
bF84KSh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGJsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaCk7Ci0KLXZvaWQgdnB4X2xwZl9ob3Jp
em9udGFsXzhfZHVhbF9jKHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBibGltaXQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGltaXQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogdGhyZXNoMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGJsaW1pdDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsaW1pdDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiB0aHJlc2gxKTsKLXZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzhfZHVhbF9sc3go
dWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpdGNo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGlt
aXQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
aW1pdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHRocmVzaDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGJsaW1pdDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxpbWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogdGhyZXNoMSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2xwZl9ob3Jpem9udGFs
XzhfZHVhbCkodWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0MCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1pdDAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhy
ZXNoMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBibGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gxKTsKLQotdm9pZCB2
cHhfbHBmX3ZlcnRpY2FsXzE2X2ModWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGJsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoKTsKLSNk
ZWZpbmUgdnB4X2xwZl92ZXJ0aWNhbF8xNiB2cHhfbHBmX3ZlcnRpY2FsXzE2X2MKLQotdm9pZCB2
cHhfbHBmX3ZlcnRpY2FsXzE2X2R1YWxfYyh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGJsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHRocmVzaCk7Ci12b2lkIHZweF9scGZfdmVydGljYWxfMTZfZHVhbF9sc3go
dWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVz
aCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2xwZl92ZXJ0aWNhbF8xNl9kdWFsKSh1aW50OF90
KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBp
dGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gpOwotCi12b2lkIHZweF9scGZf
dmVydGljYWxfNF9jKHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBw
aXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1pdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoKTsKLXZvaWQgdnB4X2xwZl92
ZXJ0aWNhbF80X2xzeCh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGlt
aXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfbHBmX3ZlcnRpY2FsXzQpKHVpbnQ4X3QqIHMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGltaXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1pdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaCk7
Ci0KLXZvaWQgdnB4X2xwZl92ZXJ0aWNhbF80X2R1YWxfYyh1aW50OF90KiBzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBibGltaXQwLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHRocmVzaDEpOwotdm9pZCB2cHhfbHBmX3ZlcnRpY2FsXzRfZHVhbF9s
c3godWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXRj
aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1p
dDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1p
dDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJl
c2gwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxp
bWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxp
bWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRo
cmVzaDEpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9scGZfdmVydGljYWxfNF9kdWFsKSh1aW50
OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGJsaW1pdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoMCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0MSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
bGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiB0aHJlc2gxKTsKLQotdm9pZCB2cHhfbHBmX3ZlcnRpY2FsXzhfYyh1aW50OF90
KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHRocmVzaCk7Ci12b2lkIHZweF9scGZfdmVydGljYWxfOF9sc3godWludDhf
dCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2xw
Zl92ZXJ0aWNhbF84KSh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHBpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gpOwotCi12b2lkIHZweF9scGZfdmVy
dGljYWxfOF9kdWFsX2ModWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYmxpbWl0MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsaW1pdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
dGhyZXNoMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBi
bGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxp
bWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJl
c2gxKTsKLXZvaWQgdnB4X2xwZl92ZXJ0aWNhbF84X2R1YWxfbHN4KHVpbnQ4X3QqIHMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGltaXQwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoMCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdDEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1pdDEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gxKTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfbHBmX3ZlcnRpY2FsXzhfZHVhbCkodWludDhfdCogcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpdGNoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGltaXQwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsaW1pdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHRocmVzaDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdDEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0MSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoMSk7
Ci0KLXZvaWQgdnB4X21icG9zdF9wcm9jX2Fjcm9zc19pcF9jKHVuc2lnbmVkIGNoYXIqIHNyYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByb3dzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZmxpbWl0KTsKLSNkZWZpbmUgdnB4X21icG9zdF9wcm9jX2Fjcm9zc19pcCB2cHhfbWJwb3N0X3By
b2NfYWNyb3NzX2lwX2MKLQotdm9pZCB2cHhfbWJwb3N0X3Byb2NfZG93bl9jKHVuc2lnbmVkIGNo
YXIqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJvd3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZsaW1pdCk7Ci0j
ZGVmaW5lIHZweF9tYnBvc3RfcHJvY19kb3duIHZweF9tYnBvc3RfcHJvY19kb3duX2MKLQotdm9p
ZCB2cHhfbWlubWF4Xzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAgICAgICAg
ICAgaW50IHAsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogZCwKLSAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHAsCi0gICAgICAgICAgICAgICAgICAgICAgaW50KiBtaW4s
Ci0gICAgICAgICAgICAgICAgICAgICAgaW50KiBtYXgpOwotI2RlZmluZSB2cHhfbWlubWF4Xzh4
OCB2cHhfbWlubWF4Xzh4OF9jCi0KLXVuc2lnbmVkIGludCB2cHhfbXNlMTZ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9t
c2UxNngxNl9sc3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X21zZTE2eDE2KShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLQotdW5zaWduZWQgaW50IHZweF9tc2Ux
Nng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2
cHhfbXNlMTZ4OCB2cHhfbXNlMTZ4OF9jCi0KLXVuc2lnbmVkIGludCB2cHhfbXNlOHgxNl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X21zZTh4
MTYgdnB4X21zZTh4MTZfYwotCi11bnNpZ25lZCBpbnQgdnB4X21zZTh4OF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfbXNlOHg4IHZweF9tc2U4eDhf
YwotCi12b2lkIHZweF9wbGFuZV9hZGRfbm9pc2VfYyh1aW50OF90KiBzdGFydCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCogbm9pc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmxhY2tjbGFtcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aGl0ZWNsYW1wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBwaXRjaCk7Ci0jZGVmaW5lIHZweF9wbGFuZV9hZGRfbm9pc2UgdnB4X3BsYW5l
X2FkZF9ub2lzZV9jCi0KLXZvaWQgdnB4X3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfbWJfcm93
X2ModW5zaWduZWQgY2hhciogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBmbGltaXRzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2l6ZSk7Ci0jZGVmaW5lIHZw
eF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX21iX3JvdyBcCi0gIHZweF9wb3N0X3Byb2NfZG93
bl9hbmRfYWNyb3NzX21iX3Jvd19jCi0KLXZvaWQgdnB4X3F1YW50aXplX2JfYyhjb25zdCB0cmFu
X2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2Vm
ZnMsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUq
IGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9xdWFu
dGl6ZV9iX2xzeChjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qq
IGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVy
KiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYiko
Ci0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZz
LAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAot
ICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAot
ICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotCi12b2lkIHZw
eF9xdWFudGl6ZV9iXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25z
dCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNj
YW5fb3JkZXIpOwotdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9sc3goY29uc3QgdHJhbl9sb3df
dCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9xdWFudGl6ZV9iXzMyeDMyKSgKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5l
LAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9w
dHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci0KLXVu
c2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9sc3goY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQxNngxNikoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9hdmdfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3NhZDE2eDE2X2F2ZyB2cHhfc2FkMTZ4MTZfYXZnX2MK
LQotdm9pZCB2cHhfc2FkMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLXZvaWQgdnB4X3NhZDE2eDE2eDRkX2xzeChjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQxNngx
Nng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZDE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDE2eDMyIHZweF9zYWQxNngzMl9jCi0KLXVuc2ln
bmVkIGludCB2cHhfc2FkMTZ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQx
NngzMl9hdmcgdnB4X3NhZDE2eDMyX2F2Z19jCi0KLXZvaWQgdnB4X3NhZDE2eDMyeDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWQxNngz
Mng0ZCB2cHhfc2FkMTZ4MzJ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfc2FkMTZ4OCB2cHhfc2FkMTZ4OF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9hdmdf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkMTZ4OF9hdmcgdnB4X3NhZDE2eDhfYXZnX2MKLQot
dm9pZCB2cHhfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX2MKLQotdW5zaWduZWQgaW50
IHZweF9zYWQzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWQzMngxNiB2cHhfc2FkMzJ4MTZfYwotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZDMyeDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2Fk
MzJ4MTZfYXZnIHZweF9zYWQzMngxNl9hdmdfYwotCi12b2lkIHZweF9zYWQzMngxNng0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkMzJ4
MTZ4NGQgdnB4X3NhZDMyeDE2eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWQzMngzMl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3NhZDMyeDMyX2xzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X3NhZDMyeDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZDMyeDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZw
eF9zYWQzMngzMl9hdmdfbHN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNp
Z25lZCBpbnQgKCp2cHhfc2FkMzJ4MzJfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0KLXZvaWQgdnB4X3NhZDMyeDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9z
YWQzMngzMng0ZF9sc3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWQzMng2NCB2cHhfc2FkMzJ4NjRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDY0
X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkMzJ4NjRfYXZnIHZweF9zYWQzMng2
NF9hdmdfYwotCi12b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkMzJ4NjR4NGRfbHN4KGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X3NhZDMyeDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2ln
bmVkIGludCB2cHhfc2FkNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDR4NCB2cHhfc2FkNHg0X2MKLQotdW5zaWduZWQg
aW50IHZweF9zYWQ0eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkNHg0X2F2ZyB2cHhfc2Fk
NHg0X2F2Z19jCi0KLXZvaWQgdnB4X3NhZDR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDR4NHg0ZCB2cHhfc2FkNHg0eDRkX2MKLQotdW5zaWdu
ZWQgaW50IHZweF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkNHg4IHZweF9zYWQ0eDhfYwotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZDR4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ0eDhfYXZnIHZweF9zYWQ0
eDhfYXZnX2MKLQotdm9pZCB2cHhfc2FkNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotI2RlZmluZSB2cHhfc2FkNHg4eDRkIHZweF9zYWQ0eDh4NGRfYwotCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDY0eDMyIHZweF9zYWQ2NHgzMl9jCi0K
LXVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZw
eF9zYWQ2NHgzMl9hdmcgdnB4X3NhZDY0eDMyX2F2Z19jCi0KLXZvaWQgdnB4X3NhZDY0eDMyeDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ2
NHgzMng0ZF9sc3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkNjR4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZDY0eDY0X2xzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3Nh
ZDY0eDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZDY0eDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2
NHg2NF9hdmdfbHN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfc2FkNjR4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0KLXZvaWQgdnB4X3NhZDY0eDY0eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ2NHg2
NHg0ZF9sc3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4
MTYgdnB4X3NhZDh4MTZfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLSNkZWZpbmUgdnB4X3NhZDh4MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19jCi0KLXZvaWQgdnB4
X3NhZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmlu
ZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgxNng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2Fk
OHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X3NhZDh4NCB2cHhfc2FkOHg0X2MKLQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDRf
YXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkOHg0X2F2ZyB2cHhfc2FkOHg0X2F2Z19jCi0KLXZv
aWQgdnB4X3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZp
bmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWQ4
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWQ4eDhfbHN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2Fk
OHg4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi11bnNpZ25lZCBpbnQgdnB4X3Nh
ZDh4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZnX2MK
LQotdm9pZCB2cHhfc2FkOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfc2FkOHg4eDRkX2xzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkOHg4eDRkKShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2IHZweF9zYWRfc2tpcF8xNngxNl9jCi0K
LXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF8xNngxNng0ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3Nh
ZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMy
IHZweF9zYWRfc2tpcF8xNngzMl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRf
YwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfMTZ4OCB2cHhfc2FkX3NraXBfMTZ4OF9jCi0KLXZvaWQgdnB4X3NhZF9z
a2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OHg0ZCB2cHhfc2FkX3Nr
aXBfMTZ4OHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MTYgdnB4X3NhZF9za2lwXzMyeDE2X2MK
LQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9z
a2lwXzMyeDE2eDRkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhf
c2FkX3NraXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4
MzIgdnB4X3NhZF9za2lwXzMyeDMyX2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDMyeDRkIHZweF9zYWRfc2tpcF8zMngzMng0
ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
I2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4NjQgdnB4X3NhZF9za2lwXzMyeDY0X2MKLQotdm9pZCB2
cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDY0
eDRkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
NHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBfNHg0
X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg0
eDRkIHZweF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lwXzR4OF9j
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0
ZCB2cHhfc2FkX3NraXBfNHg4eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgz
Ml9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHgzMiB2cHhfc2FkX3Nr
aXBfNjR4MzJfYwotCi12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2MKLQotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9z
YWRfc2tpcF82NHg2NCB2cHhfc2FkX3NraXBfNjR4NjRfYwotCi12b2lkIHZweF9zYWRfc2tpcF82
NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4NjR4NGQgdnB4X3NhZF9z
a2lwXzY0eDY0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTYgdnB4X3NhZF9za2lwXzh4MTZfYwotCi12
b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTZ4
NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDQgdnB4X3NhZF9za2lwXzh4NF9j
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4NHg0
ZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg4IHZweF9zYWRfc2tpcF84eDhfYwot
Ci12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDh4NGQg
dnB4X3NhZF9za2lwXzh4OHg0ZF9jCi0KLWludCB2cHhfc2F0ZF9jKGNvbnN0IGludDE2X3QqIGNv
ZWZmLCBpbnQgbGVuZ3RoKTsKLSNkZWZpbmUgdnB4X3NhdGQgdnB4X3NhdGRfYwotCi12b2lkIHZw
eF9zY2FsZWRfMmRfYyhjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAg
ICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3Rl
cF9xNCwKLSAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAg
aW50IGgpOwotI2RlZmluZSB2cHhfc2NhbGVkXzJkIHZweF9zY2FsZWRfMmRfYwotCi12b2lkIHZw
eF9zY2FsZWRfYXZnXzJkX2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci0jZGVm
aW5lIHZweF9zY2FsZWRfYXZnXzJkIHZweF9zY2FsZWRfYXZnXzJkX2MKLQotdm9pZCB2cHhfc2Nh
bGVkX2F2Z19ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRz
dF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVs
KiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0
ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGgpOwotI2RlZmluZSB2cHhfc2NhbGVkX2F2Z19ob3JpeiB2cHhf
c2NhbGVkX2F2Z19ob3Jpel9jCi0KLXZvaWQgdnB4X3NjYWxlZF9hdmdfdmVydF9jKGNvbnN0IHVp
bnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0
ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci0jZGVmaW5lIHZw
eF9zY2FsZWRfYXZnX3ZlcnQgdnB4X3NjYWxlZF9hdmdfdmVydF9jCi0KLXZvaWQgdnB4X3NjYWxl
ZF9ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0
ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci0jZGVmaW5lIHZweF9zY2FsZWRfaG9y
aXogdnB4X3NjYWxlZF9ob3Jpel9jCi0KLXZvaWQgdnB4X3NjYWxlZF92ZXJ0X2MoY29uc3QgdWlu
dDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
SW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgaW50
IGgpOwotI2RlZmluZSB2cHhfc2NhbGVkX3ZlcnQgdnB4X3NjYWxlZF92ZXJ0X2MKLQotdWludDMy
X3QgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZf
YwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVm
aW5lIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIgdnB4X3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UxNngzMl9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0j
ZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OCB2cHhfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTE2eDhfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYgdnB4X3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2UzMngxNl9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3Nl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngz
MiB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX2MKLQotdWludDMyX3QgdnB4X3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTMyeDY0IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYwotCi11aW50MzJf
dCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U0eDQgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYwotCi11aW50MzJfdCB2cHhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDggdnB4
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NjR4MzIgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jCi0KLXVpbnQzMl90IHZweF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlNjR4NjRfbHN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1aW50
MzJfdCAoKnZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjQpKAotICAgIGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAg
IGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZf
c3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2
cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTYgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4
eDE2X2MKLQotdWludDMyX3QgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHg0IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X2MKLQot
dWludDMyX3QgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9v
ZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlOHg4IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4X2MKLQotdWludDMyX3Qg
dnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50
MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfbHN4KGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UpOwotUlRDRF9FWFRFUk4gdWludDMyX3QgKCp2cHhfc3ViX3BpeGVsX3Zhcmlh
bmNlMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotCi11
aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3Nl
KTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyIHZweF9zdWJfcGl4ZWxfdmFy
aWFuY2UxNngzMl9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4IHZweF9zdWJf
cGl4ZWxfdmFyaWFuY2UxNng4X2MKLQotdWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMy
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfdmFyaWFu
Y2UzMngxNiB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYwotCi11aW50MzJfdCB2cHhfc3Vi
X3BpeGVsX3ZhcmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZw
eF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMl9sc3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSk7Ci1SVENEX0VYVEVSTiB1aW50MzJfdCAoKnZweF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngz
MikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0KLXVpbnQzMl90
IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2Rl
ZmluZSB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjQgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMy
eDY0X2MKLQotdWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwot
I2RlZmluZSB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U0
eDRfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0j
ZGVmaW5lIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDggdnB4X3N1Yl9waXhlbF92YXJpYW5jZTR4
OF9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29m
ZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzIgdnB4X3N1Yl9w
aXhlbF92YXJpYW5jZTY0eDMyX2MKLQotdWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTY0
eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfdmFyaWFu
Y2U2NHg2NCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYwotCi11aW50MzJfdCB2cHhfc3Vi
X3BpeGVsX3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHgxNiB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9jCi0KLXVpbnQzMl90
IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLSNkZWZpbmUgdnB4X3N1Yl9w
aXhlbF92YXJpYW5jZTh4NCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2MKLQotdWludDMyX3Qg
dnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X3N1Yl9w
aXhlbF92YXJpYW5jZTh4OF9sc3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci1SVENEX0VYVEVSTiB1
aW50MzJfdCAoKnZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwotCi12b2lkIHZweF9zdWJ0cmFjdF9ibG9ja19jKGludCByb3dzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBk
aWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWRfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgcHJlZF9zdHJpZGUpOwotdm9pZCB2cHhfc3Vi
dHJhY3RfYmxvY2tfbHN4KGludCByb3dzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWRfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X3N1YnRyYWN0X2Jsb2NrKShpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSk7Ci0K
LXVpbnQ2NF90IHZweF9zdW1fc3F1YXJlc18yZF9pMTZfYyhjb25zdCBpbnQxNl90KiBzcmMsIGlu
dCBzdHJpZGUsIGludCBzaXplKTsKLSNkZWZpbmUgdnB4X3N1bV9zcXVhcmVzXzJkX2kxNiB2cHhf
c3VtX3NxdWFyZXNfMmRfaTE2X2MKLQotdm9pZCB2cHhfdG1fcHJlZGljdG9yXzE2eDE2X2ModWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVm
aW5lIHZweF90bV9wcmVkaWN0b3JfMTZ4MTYgdnB4X3RtX3ByZWRpY3Rvcl8xNngxNl9jCi0KLXZv
aWQgdnB4X3RtX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfdG1fcHJlZGljdG9yXzMyeDMy
IHZweF90bV9wcmVkaWN0b3JfMzJ4MzJfYwotCi12b2lkIHZweF90bV9wcmVkaWN0b3JfNHg0X2Mo
dWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5l
IHZweF90bV9wcmVkaWN0b3JfNHg0IHZweF90bV9wcmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2cHhf
dG1fcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfdG1fcHJlZGljdG9yXzh4OCB2cHhfdG1fcHJlZGljdG9y
Xzh4OF9jCi0KLXZvaWQgdnB4X3ZfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF92X3ByZWRpY3Rv
cl8xNngxNiB2cHhfdl9wcmVkaWN0b3JfMTZ4MTZfYwotCi12b2lkIHZweF92X3ByZWRpY3Rvcl8z
MngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
YWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQp
OwotI2RlZmluZSB2cHhfdl9wcmVkaWN0b3JfMzJ4MzIgdnB4X3ZfcHJlZGljdG9yXzMyeDMyX2MK
LQotdm9pZCB2cHhfdl9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF92X3ByZWRpY3Rvcl80eDQgdnB4X3ZfcHJl
ZGljdG9yXzR4NF9jCi0KLXZvaWQgdnB4X3ZfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfdl9wcmVkaWN0b3Jf
OHg4IHZweF92X3ByZWRpY3Rvcl84eDhfYwotCi11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4
MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MTZfbHN4KGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMTZ4MTYpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci0KLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4
X3ZhcmlhbmNlMTZ4MzIgdnB4X3ZhcmlhbmNlMTZ4MzJfYwotCi11bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfdmFyaWFuY2UxNng4IHZweF92YXJpYW5jZTE2
eDhfYwotCi11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5l
IHZweF92YXJpYW5jZTMyeDE2IHZweF92YXJpYW5jZTMyeDE2X2MKLQotdW5zaWduZWQgaW50IHZw
eF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDMy
X2xzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJp
YW5jZTMyeDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UpOwotCi11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4NjRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci0jZGVmaW5lIHZweF92YXJpYW5jZTMyeDY0IHZweF92YXJpYW5jZTMyeDY0X2MKLQotdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF92YXJpYW5jZTR4NCB2cHhfdmFy
aWFuY2U0eDRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4
X3ZhcmlhbmNlNHg4IHZweF92YXJpYW5jZTR4OF9jCi0KLXVuc2lnbmVkIGludCB2cHhfdmFyaWFu
Y2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X3ZhcmlhbmNlNjR4MzIgdnB4X3ZhcmlhbmNl
NjR4MzJfYwotCi11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4NjRfbHN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0KLXVuc2lnbmVkIGludCB2
cHhfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF92YXJpYW5jZTh4MTYgdnB4X3Zhcmlh
bmNlOHgxNl9jCi0KLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhf
dmFyaWFuY2U4eDQgdnB4X3ZhcmlhbmNlOHg0X2MKLQotdW5zaWduZWQgaW50IHZweF92YXJpYW5j
ZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg4X2xzeChjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VY
VEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotCi12b2lkIHZweF92ZV9wcmVkaWN0b3Jf
NHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0j
ZGVmaW5lIHZweF92ZV9wcmVkaWN0b3JfNHg0IHZweF92ZV9wcmVkaWN0b3JfNHg0X2MKLQotaW50
IHZweF92ZWN0b3JfdmFyX2MoY29uc3QgaW50MTZfdCogcmVmLCBjb25zdCBpbnQxNl90KiBzcmMs
IGNvbnN0IGludCBid2wpOwotI2RlZmluZSB2cHhfdmVjdG9yX3ZhciB2cHhfdmVjdG9yX3Zhcl9j
Ci0KLXZvaWQgdnB4X2RzcF9ydGNkKHZvaWQpOwotCi0jaW5jbHVkZSAidnB4X2NvbmZpZy5oIgot
Ci0jaWZkZWYgUlRDRF9DCi0jaW5jbHVkZSAidnB4X3BvcnRzL2xvb25nYXJjaC5oIgotc3RhdGlj
IHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7Ci0gIGludCBmbGFncyA9IGxvb25nYXJj
aF9jcHVfY2FwcygpOwotCi0gICh2b2lkKWZsYWdzOwotICB2cHhfY29tcF9hdmdfcHJlZCA9IHZw
eF9jb21wX2F2Z19wcmVkX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2NvbXBf
YXZnX3ByZWQgPSB2cHhfY29tcF9hdmdfcHJlZF9sc3g7Ci0gIHZweF9jb252b2x2ZTggPSB2cHhf
Y29udm9sdmU4X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2NvbnZvbHZlOCA9
IHZweF9jb252b2x2ZThfbHN4OwotICB2cHhfY29udm9sdmU4X2F2ZyA9IHZweF9jb252b2x2ZThf
YXZnX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2NvbnZvbHZlOF9hdmcgPSB2
cHhfY29udm9sdmU4X2F2Z19sc3g7Ci0gIHZweF9jb252b2x2ZThfYXZnX2hvcml6ID0gdnB4X2Nv
bnZvbHZlOF9hdmdfaG9yaXpfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhfY29u
dm9sdmU4X2F2Z19ob3JpeiA9IHZweF9jb252b2x2ZThfYXZnX2hvcml6X2xzeDsKLSAgdnB4X2Nv
bnZvbHZlOF9hdmdfdmVydCA9IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfYzsKLSAgaWYgKGZsYWdz
ICYgSEFTX0xTWCkKLSAgICB2cHhfY29udm9sdmU4X2F2Z192ZXJ0ID0gdnB4X2NvbnZvbHZlOF9h
dmdfdmVydF9sc3g7Ci0gIHZweF9jb252b2x2ZThfaG9yaXogPSB2cHhfY29udm9sdmU4X2hvcml6
X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2NvbnZvbHZlOF9ob3JpeiA9IHZw
eF9jb252b2x2ZThfaG9yaXpfbHN4OwotICB2cHhfY29udm9sdmU4X3ZlcnQgPSB2cHhfY29udm9s
dmU4X3ZlcnRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhfY29udm9sdmU4X3Zl
cnQgPSB2cHhfY29udm9sdmU4X3ZlcnRfbHN4OwotICB2cHhfY29udm9sdmVfYXZnID0gdnB4X2Nv
bnZvbHZlX2F2Z19jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9jb252b2x2ZV9h
dmcgPSB2cHhfY29udm9sdmVfYXZnX2xzeDsKLSAgdnB4X2NvbnZvbHZlX2NvcHkgPSB2cHhfY29u
dm9sdmVfY29weV9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9jb252b2x2ZV9j
b3B5ID0gdnB4X2NvbnZvbHZlX2NvcHlfbHN4OwotICB2cHhfZGNfcHJlZGljdG9yXzE2eDE2ID0g
dnB4X2RjX3ByZWRpY3Rvcl8xNngxNl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZw
eF9kY19wcmVkaWN0b3JfMTZ4MTYgPSB2cHhfZGNfcHJlZGljdG9yXzE2eDE2X2xzeDsKLSAgdnB4
X2RjX3ByZWRpY3Rvcl84eDggPSB2cHhfZGNfcHJlZGljdG9yXzh4OF9jOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTFNYKQotICAgIHZweF9kY19wcmVkaWN0b3JfOHg4ID0gdnB4X2RjX3ByZWRpY3Rvcl84
eDhfbHN4OwotICB2cHhfZmRjdDE2eDE2ID0gdnB4X2ZkY3QxNngxNl9jOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTFNYKQotICAgIHZweF9mZGN0MTZ4MTYgPSB2cHhfZmRjdDE2eDE2X2xzeDsKLSAgdnB4
X2ZkY3QzMngzMiA9IHZweF9mZGN0MzJ4MzJfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAg
ICB2cHhfZmRjdDMyeDMyID0gdnB4X2ZkY3QzMngzMl9sc3g7Ci0gIHZweF9mZGN0MzJ4MzJfcmQg
PSB2cHhfZmRjdDMyeDMyX3JkX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2Zk
Y3QzMngzMl9yZCA9IHZweF9mZGN0MzJ4MzJfcmRfbHN4OwotICB2cHhfZmRjdDR4NCA9IHZweF9m
ZGN0NHg0X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2ZkY3Q0eDQgPSB2cHhf
ZmRjdDR4NF9sc3g7Ci0gIHZweF9mZGN0OHg4ID0gdnB4X2ZkY3Q4eDhfYzsKLSAgaWYgKGZsYWdz
ICYgSEFTX0xTWCkKLSAgICB2cHhfZmRjdDh4OCA9IHZweF9mZGN0OHg4X2xzeDsKLSAgdnB4X2dl
dDE2eDE2dmFyID0gdnB4X2dldDE2eDE2dmFyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0g
ICAgdnB4X2dldDE2eDE2dmFyID0gdnB4X2dldDE2eDE2dmFyX2xzeDsKLSAgdnB4X2hhZGFtYXJk
XzE2eDE2ID0gdnB4X2hhZGFtYXJkXzE2eDE2X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0g
ICAgdnB4X2hhZGFtYXJkXzE2eDE2ID0gdnB4X2hhZGFtYXJkXzE2eDE2X2xzeDsKLSAgdnB4X2hh
ZGFtYXJkXzh4OCA9IHZweF9oYWRhbWFyZF84eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkK
LSAgICB2cHhfaGFkYW1hcmRfOHg4ID0gdnB4X2hhZGFtYXJkXzh4OF9sc3g7Ci0gIHZweF9pZGN0
MzJ4MzJfMTAyNF9hZGQgPSB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2M7Ci0gIGlmIChmbGFncyAm
IEhBU19MU1gpCi0gICAgdnB4X2lkY3QzMngzMl8xMDI0X2FkZCA9IHZweF9pZGN0MzJ4MzJfMTAy
NF9hZGRfbHN4OwotICB2cHhfaWRjdDMyeDMyXzEzNV9hZGQgPSB2cHhfaWRjdDMyeDMyXzEzNV9h
ZGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhfaWRjdDMyeDMyXzEzNV9hZGQg
PSB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2xzeDsKLSAgdnB4X2lkY3QzMngzMl8xX2FkZCA9IHZw
eF9pZGN0MzJ4MzJfMV9hZGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhfaWRj
dDMyeDMyXzFfYWRkID0gdnB4X2lkY3QzMngzMl8xX2FkZF9sc3g7Ci0gIHZweF9pZGN0MzJ4MzJf
MzRfYWRkID0gdnB4X2lkY3QzMngzMl8zNF9hZGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkK
LSAgICB2cHhfaWRjdDMyeDMyXzM0X2FkZCA9IHZweF9pZGN0MzJ4MzJfMzRfYWRkX2xzeDsKLSAg
dnB4X2xwZl9ob3Jpem9udGFsXzE2X2R1YWwgPSB2cHhfbHBmX2hvcml6b250YWxfMTZfZHVhbF9j
OwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9scGZfaG9yaXpvbnRhbF8xNl9kdWFs
ID0gdnB4X2xwZl9ob3Jpem9udGFsXzE2X2R1YWxfbHN4OwotICB2cHhfbHBmX2hvcml6b250YWxf
NCA9IHZweF9scGZfaG9yaXpvbnRhbF80X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAg
dnB4X2xwZl9ob3Jpem9udGFsXzQgPSB2cHhfbHBmX2hvcml6b250YWxfNF9sc3g7Ci0gIHZweF9s
cGZfaG9yaXpvbnRhbF80X2R1YWwgPSB2cHhfbHBmX2hvcml6b250YWxfNF9kdWFsX2M7Ci0gIGlm
IChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2xwZl9ob3Jpem9udGFsXzRfZHVhbCA9IHZweF9s
cGZfaG9yaXpvbnRhbF80X2R1YWxfbHN4OwotICB2cHhfbHBmX2hvcml6b250YWxfOCA9IHZweF9s
cGZfaG9yaXpvbnRhbF84X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2xwZl9o
b3Jpem9udGFsXzggPSB2cHhfbHBmX2hvcml6b250YWxfOF9sc3g7Ci0gIHZweF9scGZfaG9yaXpv
bnRhbF84X2R1YWwgPSB2cHhfbHBmX2hvcml6b250YWxfOF9kdWFsX2M7Ci0gIGlmIChmbGFncyAm
IEhBU19MU1gpCi0gICAgdnB4X2xwZl9ob3Jpem9udGFsXzhfZHVhbCA9IHZweF9scGZfaG9yaXpv
bnRhbF84X2R1YWxfbHN4OwotICB2cHhfbHBmX3ZlcnRpY2FsXzE2X2R1YWwgPSB2cHhfbHBmX3Zl
cnRpY2FsXzE2X2R1YWxfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhfbHBmX3Zl
cnRpY2FsXzE2X2R1YWwgPSB2cHhfbHBmX3ZlcnRpY2FsXzE2X2R1YWxfbHN4OwotICB2cHhfbHBm
X3ZlcnRpY2FsXzQgPSB2cHhfbHBmX3ZlcnRpY2FsXzRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xT
WCkKLSAgICB2cHhfbHBmX3ZlcnRpY2FsXzQgPSB2cHhfbHBmX3ZlcnRpY2FsXzRfbHN4OwotICB2
cHhfbHBmX3ZlcnRpY2FsXzRfZHVhbCA9IHZweF9scGZfdmVydGljYWxfNF9kdWFsX2M7Ci0gIGlm
IChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X2xwZl92ZXJ0aWNhbF80X2R1YWwgPSB2cHhfbHBm
X3ZlcnRpY2FsXzRfZHVhbF9sc3g7Ci0gIHZweF9scGZfdmVydGljYWxfOCA9IHZweF9scGZfdmVy
dGljYWxfOF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9scGZfdmVydGljYWxf
OCA9IHZweF9scGZfdmVydGljYWxfOF9sc3g7Ci0gIHZweF9scGZfdmVydGljYWxfOF9kdWFsID0g
dnB4X2xwZl92ZXJ0aWNhbF84X2R1YWxfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2
cHhfbHBmX3ZlcnRpY2FsXzhfZHVhbCA9IHZweF9scGZfdmVydGljYWxfOF9kdWFsX2xzeDsKLSAg
dnB4X21zZTE2eDE2ID0gdnB4X21zZTE2eDE2X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0g
ICAgdnB4X21zZTE2eDE2ID0gdnB4X21zZTE2eDE2X2xzeDsKLSAgdnB4X3F1YW50aXplX2IgPSB2
cHhfcXVhbnRpemVfYl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9xdWFudGl6
ZV9iID0gdnB4X3F1YW50aXplX2JfbHN4OwotICB2cHhfcXVhbnRpemVfYl8zMngzMiA9IHZweF9x
dWFudGl6ZV9iXzMyeDMyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X3F1YW50
aXplX2JfMzJ4MzIgPSB2cHhfcXVhbnRpemVfYl8zMngzMl9sc3g7Ci0gIHZweF9zYWQxNngxNiA9
IHZweF9zYWQxNngxNl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9zYWQxNngx
NiA9IHZweF9zYWQxNngxNl9sc3g7Ci0gIHZweF9zYWQxNngxNng0ZCA9IHZweF9zYWQxNngxNng0
ZF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9zYWQxNngxNng0ZCA9IHZweF9z
YWQxNngxNng0ZF9sc3g7Ci0gIHZweF9zYWQzMngzMiA9IHZweF9zYWQzMngzMl9jOwotICBpZiAo
ZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9zYWQzMngzMiA9IHZweF9zYWQzMngzMl9sc3g7Ci0g
IHZweF9zYWQzMngzMl9hdmcgPSB2cHhfc2FkMzJ4MzJfYXZnX2M7Ci0gIGlmIChmbGFncyAmIEhB
U19MU1gpCi0gICAgdnB4X3NhZDMyeDMyX2F2ZyA9IHZweF9zYWQzMngzMl9hdmdfbHN4OwotICB2
cHhfc2FkMzJ4MzJ4NGQgPSB2cHhfc2FkMzJ4MzJ4NGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xT
WCkKLSAgICB2cHhfc2FkMzJ4MzJ4NGQgPSB2cHhfc2FkMzJ4MzJ4NGRfbHN4OwotICB2cHhfc2Fk
MzJ4NjR4NGQgPSB2cHhfc2FkMzJ4NjR4NGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAg
ICB2cHhfc2FkMzJ4NjR4NGQgPSB2cHhfc2FkMzJ4NjR4NGRfbHN4OwotICB2cHhfc2FkNjR4MzJ4
NGQgPSB2cHhfc2FkNjR4MzJ4NGRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhf
c2FkNjR4MzJ4NGQgPSB2cHhfc2FkNjR4MzJ4NGRfbHN4OwotICB2cHhfc2FkNjR4NjQgPSB2cHhf
c2FkNjR4NjRfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhfc2FkNjR4NjQgPSB2
cHhfc2FkNjR4NjRfbHN4OwotICB2cHhfc2FkNjR4NjRfYXZnID0gdnB4X3NhZDY0eDY0X2F2Z19j
OwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9zYWQ2NHg2NF9hdmcgPSB2cHhfc2Fk
NjR4NjRfYXZnX2xzeDsKLSAgdnB4X3NhZDY0eDY0eDRkID0gdnB4X3NhZDY0eDY0eDRkX2M7Ci0g
IGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X3NhZDY0eDY0eDRkID0gdnB4X3NhZDY0eDY0
eDRkX2xzeDsKLSAgdnB4X3NhZDh4OCA9IHZweF9zYWQ4eDhfYzsKLSAgaWYgKGZsYWdzICYgSEFT
X0xTWCkKLSAgICB2cHhfc2FkOHg4ID0gdnB4X3NhZDh4OF9sc3g7Ci0gIHZweF9zYWQ4eDh4NGQg
PSB2cHhfc2FkOHg4eDRkX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X3NhZDh4
OHg0ZCA9IHZweF9zYWQ4eDh4NGRfbHN4OwotICB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0
eDY0ID0gdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9jOwotICBpZiAoZmxhZ3MgJiBI
QVNfTFNYKQotICAgIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjQgPSB2cHhfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTY0eDY0X2xzeDsKLSAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2
ID0gdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gp
Ci0gICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2ID0gdnB4X3N1Yl9waXhlbF92YXJpYW5j
ZTE2eDE2X2xzeDsKLSAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyID0gdnB4X3N1Yl9waXhl
bF92YXJpYW5jZTMyeDMyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAgdnB4X3N1Yl9w
aXhlbF92YXJpYW5jZTMyeDMyID0gdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyX2xzeDsKLSAg
dnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OCA9IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfYzsK
LSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4ID0g
dnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OF9sc3g7Ci0gIHZweF9zdWJ0cmFjdF9ibG9jayA9IHZw
eF9zdWJ0cmFjdF9ibG9ja19jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZweF9zdWJ0
cmFjdF9ibG9jayA9IHZweF9zdWJ0cmFjdF9ibG9ja19sc3g7Ci0gIHZweF92YXJpYW5jZTE2eDE2
ID0gdnB4X3ZhcmlhbmNlMTZ4MTZfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0xTWCkKLSAgICB2cHhf
dmFyaWFuY2UxNngxNiA9IHZweF92YXJpYW5jZTE2eDE2X2xzeDsKLSAgdnB4X3ZhcmlhbmNlMzJ4
MzIgPSB2cHhfdmFyaWFuY2UzMngzMl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZw
eF92YXJpYW5jZTMyeDMyID0gdnB4X3ZhcmlhbmNlMzJ4MzJfbHN4OwotICB2cHhfdmFyaWFuY2U2
NHg2NCA9IHZweF92YXJpYW5jZTY0eDY0X2M7Ci0gIGlmIChmbGFncyAmIEhBU19MU1gpCi0gICAg
dnB4X3ZhcmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2NHg2NF9sc3g7Ci0gIHZweF92YXJpYW5j
ZTh4OCA9IHZweF92YXJpYW5jZTh4OF9jOwotICBpZiAoZmxhZ3MgJiBIQVNfTFNYKQotICAgIHZw
eF92YXJpYW5jZTh4OCA9IHZweF92YXJpYW5jZTh4OF9sc3g7Ci19Ci0jZW5kaWYKLQotI2lmZGVm
IF9fY3BsdXNwbHVzCi19ICAvLyBleHRlcm4gIkMiCi0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvY29uZmlnL2xpbnV4L2xvb25nYXJjaC92cHhfc2NhbGVfcnRjZC5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2Nv
bmZpZy9saW51eC9sb29uZ2FyY2gvdnB4X3NjYWxlX3J0Y2QuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDA5MjliZGNkM2Y1Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9s
aW51eC9sb29uZ2FyY2gvdnB4X3NjYWxlX3J0Y2QuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSAr
MCwwIEBACi0vLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkLiBEbyBub3QgZWRpdC4KLSNpZm5kZWYg
VlBYX1NDQUxFX1JUQ0RfSF8KLSNkZWZpbmUgVlBYX1NDQUxFX1JUQ0RfSF8KLQotI2lmZGVmIFJU
Q0RfQwotI2RlZmluZSBSVENEX0VYVEVSTgotI2Vsc2UKLSNkZWZpbmUgUlRDRF9FWFRFUk4gZXh0
ZXJuCi0jZW5kaWYKLQotc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZzsKLQotI2lmZGVmIF9fY3Bs
dXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi12b2lkIHZwOF9ob3Jpem9udGFsX2xpbmVf
Ml8xX3NjYWxlX2MoY29uc3QgdW5zaWduZWQgY2hhciogc291cmNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzb3VyY2Vfd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZGVzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZGVzdF93aWR0aCk7
Ci0jZGVmaW5lIHZwOF9ob3Jpem9udGFsX2xpbmVfMl8xX3NjYWxlIHZwOF9ob3Jpem9udGFsX2xp
bmVfMl8xX3NjYWxlX2MKLQotdm9pZCB2cDhfaG9yaXpvbnRhbF9saW5lXzVfM19zY2FsZV9jKGNv
bnN0IHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgc291cmNlX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlc3Rfd2lkdGgpOwotI2RlZmluZSB2cDhf
aG9yaXpvbnRhbF9saW5lXzVfM19zY2FsZSB2cDhfaG9yaXpvbnRhbF9saW5lXzVfM19zY2FsZV9j
Ci0KLXZvaWQgdnA4X2hvcml6b250YWxfbGluZV81XzRfc2NhbGVfYyhjb25zdCB1bnNpZ25lZCBj
aGFyKiBzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50IHNvdXJjZV93aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBjaGFyKiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBkZXN0X3dpZHRoKTsKLSNkZWZpbmUgdnA4X2hvcml6b250YWxfbGlu
ZV81XzRfc2NhbGUgdnA4X2hvcml6b250YWxfbGluZV81XzRfc2NhbGVfYwotCi12b2lkIHZwOF92
ZXJ0aWNhbF9iYW5kXzJfMV9zY2FsZV9jKHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHNyY19waXRjaCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZGVzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlc3RfcGl0Y2gsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXN0X3dpZHRo
KTsKLSNkZWZpbmUgdnA4X3ZlcnRpY2FsX2JhbmRfMl8xX3NjYWxlIHZwOF92ZXJ0aWNhbF9iYW5k
XzJfMV9zY2FsZV9jCi0KLXZvaWQgdnA4X3ZlcnRpY2FsX2JhbmRfMl8xX3NjYWxlX2lfYyh1bnNp
Z25lZCBjaGFyKiBzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50IHNyY19waXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCBkZXN0X3BpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXN0X3dpZHRoKTsKLSNkZWZpbmUgdnA4X3ZlcnRp
Y2FsX2JhbmRfMl8xX3NjYWxlX2kgdnA4X3ZlcnRpY2FsX2JhbmRfMl8xX3NjYWxlX2lfYwotCi12
b2lkIHZwOF92ZXJ0aWNhbF9iYW5kXzVfM19zY2FsZV9jKHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHNyY19waXRj
aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZGVz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlc3Rf
cGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBk
ZXN0X3dpZHRoKTsKLSNkZWZpbmUgdnA4X3ZlcnRpY2FsX2JhbmRfNV8zX3NjYWxlIHZwOF92ZXJ0
aWNhbF9iYW5kXzVfM19zY2FsZV9jCi0KLXZvaWQgdnA4X3ZlcnRpY2FsX2JhbmRfNV80X3NjYWxl
X2ModW5zaWduZWQgY2hhciogc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgc3JjX3BpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgZGVzdF9waXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlc3Rfd2lkdGgpOwotI2RlZmluZSB2cDhfdmVydGlj
YWxfYmFuZF81XzRfc2NhbGUgdnA4X3ZlcnRpY2FsX2JhbmRfNV80X3NjYWxlX2MKLQotdm9pZCB2
cDhfeXYxMl9jb3B5X2ZyYW1lX2MoY29uc3Qgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogc3Jj
X3liYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB5djEyX2J1ZmZlcl9jb25m
aWcqIGRzdF95YmMpOwotI2RlZmluZSB2cDhfeXYxMl9jb3B5X2ZyYW1lIHZwOF95djEyX2NvcHlf
ZnJhbWVfYwotCi12b2lkIHZwOF95djEyX2V4dGVuZF9mcmFtZV9ib3JkZXJzX2Moc3RydWN0IHl2
MTJfYnVmZmVyX2NvbmZpZyogeWJmKTsKLSNkZWZpbmUgdnA4X3l2MTJfZXh0ZW5kX2ZyYW1lX2Jv
cmRlcnMgdnA4X3l2MTJfZXh0ZW5kX2ZyYW1lX2JvcmRlcnNfYwotCi12b2lkIHZweF9leHRlbmRf
ZnJhbWVfYm9yZGVyc19jKHN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWcqIHliZik7Ci0jZGVmaW5l
IHZweF9leHRlbmRfZnJhbWVfYm9yZGVycyB2cHhfZXh0ZW5kX2ZyYW1lX2JvcmRlcnNfYwotCi12
b2lkIHZweF9leHRlbmRfZnJhbWVfaW5uZXJfYm9yZGVyc19jKHN0cnVjdCB5djEyX2J1ZmZlcl9j
b25maWcqIHliZik7Ci0jZGVmaW5lIHZweF9leHRlbmRfZnJhbWVfaW5uZXJfYm9yZGVycyB2cHhf
ZXh0ZW5kX2ZyYW1lX2lubmVyX2JvcmRlcnNfYwotCi12b2lkIHZweF95djEyX2NvcHlfZnJhbWVf
Yyhjb25zdCBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmNfeWJjLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogZHN0X3liYyk7Ci0jZGVm
aW5lIHZweF95djEyX2NvcHlfZnJhbWUgdnB4X3l2MTJfY29weV9mcmFtZV9jCi0KLXZvaWQgdnB4
X3l2MTJfY29weV95X2MoY29uc3Qgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogc3JjX3liYywK
LSAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogZHN0X3li
Yyk7Ci0jZGVmaW5lIHZweF95djEyX2NvcHlfeSB2cHhfeXYxMl9jb3B5X3lfYwotCi12b2lkIHZw
eF9zY2FsZV9ydGNkKHZvaWQpOwotCi0jaW5jbHVkZSAidnB4X2NvbmZpZy5oIgotCi0jaWZkZWYg
UlRDRF9DCi0jaW5jbHVkZSAidnB4X3BvcnRzL2xvb25nYXJjaC5oIgotc3RhdGljIHZvaWQgc2V0
dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7Ci0gIGludCBmbGFncyA9IGxvb25nYXJjaF9jcHVfY2Fw
cygpOwotCi0gICh2b2lkKWZsYWdzOwotfQotI2VuZGlmCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwot
fSAgLy8gZXh0ZXJuICJDIgotI2VuZGlmCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy9saW51eC9taXBzNjRlbC92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9taXBzNjRlbC92
cDhfcnRjZC5oCmluZGV4IDc3MTllMWM0YTYxMC4uYWE0NzViNTVmYWYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2xpbnV4L21pcHM2NGVsL3ZwOF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9taXBzNjRlbC92cDhfcnRjZC5oCkBAIC01OSw2ICs1OSwzNiBAQCB2b2lkIHZwOF9iaWxpbmVh
cl9wcmVkaWN0OHg4X2ModW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKICNkZWZpbmUgdnA4X2JpbGluZWFyX3ByZWRp
Y3Q4eDggdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfYwogCit2b2lkIHZwOF9ibGVuZF9iX2ModW5z
aWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAgaW50
IHlfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgIGlu
dCB2XzEsCisgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAg
IGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfYiB2cDhfYmxlbmRfYl9jCisKK3ZvaWQg
dnA4X2JsZW5kX21iX2lubmVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX2lubmVy
IHZwOF9ibGVuZF9tYl9pbm5lcl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX291dGVyX2ModW5zaWdu
ZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVf
MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRl
KTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX291dGVyIHZwOF9ibGVuZF9tYl9vdXRlcl9jCisKIGlu
dCB2cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZmKTsKICNkZWZp
bmUgdnA4X2Jsb2NrX2Vycm9yIHZwOF9ibG9ja19lcnJvcl9jCiAKQEAgLTE3NSw2ICsyMDUsMTcg
QEAgdm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9jKHVuc2lnbmVkIGNoYXIqIHNyYywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7CiAjZGVmaW5lIHZw
OF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MKIAoraW50IHZw
OF9mdWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYq
IHJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9u
IGludF9tdiogY2VudGVyX212KTsKKyNkZWZpbmUgdnA4X2Z1bGxfc2VhcmNoX3NhZCB2cDhfZnVs
bF9zZWFyY2hfc2FkX2MKKwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNpZ25lZCBjaGFy
KiB5X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2NvbmZpZy9saW51eC9taXBzNjRlbC92cDlfcnRjZC5oIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9s
aW51eC9taXBzNjRlbC92cDlfcnRjZC5oCmluZGV4IGUzNTA4ZDBmMzZhNC4uOWU5NTZmYjE3YTM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHM2NGVsL3ZwOV9ydGNkLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9saW51eC9taXBzNjRlbC92cDlfcnRjZC5oCkBAIC0yMSw5ICsyMSw3IEBAIHN0
cnVjdCBtYWNyb2Jsb2NrZDsKIAogLyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCiBzdHJ1Y3Qg
bWFjcm9ibG9jazsKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9zYWRfdGFi
bGU7Ci1zdHJ1Y3QgU2Nhbk9yZGVyOworc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGU7CiBzdHJ1
Y3Qgc2VhcmNoX3NpdGVfY29uZmlnOwogc3RydWN0IG12OwogdW5pb24gaW50X212OwpAQCAtNTgs
MTIgKzU2LDExIEBAIGludCB2cDlfZGVub2lzZXJfZmlsdGVyX2MoY29uc3QgdWludDhfdCogc2ln
LAogaW50IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYyhjb25zdCBzdHJ1Y3QgbWFjcm9ibG9jayog
eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRl
X2NvbmZpZyogY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIHJl
Zl9tdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfbXZfc2Fk
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWFyY2hfcGFyYW0sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50KiBudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IHZwOV9zYWRfdGFibGUqIHNhZF9mbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiogY2VudGVyX212KTsKICNkZWZpbmUg
dnA5X2RpYW1vbmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MKIApAQCAtMTIy
LDIyICsxMTksMjggQEAgdm9pZCB2cDlfaWh0OHg4XzY0X2FkZF9jKGNvbnN0IHRyYW5fbG93X3Qq
IGlucHV0LAogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9w
bGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVx
dWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cDlfcXVh
bnRpemVfZnAgdnA5X3F1YW50aXplX2ZwX2MKIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJf
Yyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZpbmUgdnA5X3F1YW50aXplX2ZwXzMyeDMyIHZw
OV9xdWFudGl6ZV9mcF8zMngzMl9jCiAKIHZvaWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVf
Yyhjb25zdCBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmMsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2xpbnV4L21pcHM2NGVsL3ZweF9jb25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbWlw
czY0ZWwvdnB4X2NvbmZpZy5oCmluZGV4IGUzYzFjMTFhNjA4Mi4uZjc5YWRlZmQ4ODI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHM2NGVsL3ZweF9jb25maWcuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL2xpbnV4L21pcHM2NGVsL3ZweF9jb25maWcuaApAQCAtMTIsOCArMTIsNiBAQAogI2Rl
ZmluZSBJTkxJTkUgICAgICBpbmxpbmUKICNkZWZpbmUgVlBYX0FSQ0hfQVJNIDAKICNkZWZpbmUg
QVJDSF9BUk0gMAotI2RlZmluZSBWUFhfQVJDSF9BQVJDSDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJD
SDY0IDAKICNkZWZpbmUgVlBYX0FSQ0hfTUlQUyAxCiAjZGVmaW5lIEFSQ0hfTUlQUyAxCiAjZGVm
aW5lIFZQWF9BUkNIX1g4NiAwCkBAIC0yMiwxMiArMjAsOCBAQAogI2RlZmluZSBBUkNIX1g4Nl82
NCAwCiAjZGVmaW5lIFZQWF9BUkNIX1BQQyAwCiAjZGVmaW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUg
VlBYX0FSQ0hfTE9PTkdBUkNIIDAKLSNkZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBI
QVZFX05FT05fQVNNIDAKICNkZWZpbmUgSEFWRV9ORU9OIDAKLSNkZWZpbmUgSEFWRV9ORU9OX0RP
VFBST0QgMAotI2RlZmluZSBIQVZFX05FT05fSThNTSAwCisjZGVmaW5lIEhBVkVfTkVPTl9BU00g
MAogI2RlZmluZSBIQVZFX01JUFMzMiAwCiAjZGVmaW5lIEhBVkVfRFNQUjIgMAogI2RlZmluZSBI
QVZFX01TQSAwCkBAIC00Myw4ICszNyw2IEBACiAjZGVmaW5lIEhBVkVfQVZYNTEyIDAKICNkZWZp
bmUgSEFWRV9WU1ggMAogI2RlZmluZSBIQVZFX01NSSAwCi0jZGVmaW5lIEhBVkVfTFNYIDAKLSNk
ZWZpbmUgSEFWRV9MQVNYIDAKICNkZWZpbmUgSEFWRV9WUFhfUE9SVFMgMQogI2RlZmluZSBIQVZF
X1BUSFJFQURfSCAxCiAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMApAQCAtOTcsNiArODksNyBAQAog
I2RlZmluZSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5HIDEKICNkZWZpbmUgQ09ORklHX1RFTVBP
UkFMX0RFTk9JU0lORyAxCiAjZGVmaW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEK
KyNkZWZpbmUgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIDAKICNkZWZpbmUgQ09ORklHX0NPRUZG
SUNJRU5UX1JBTkdFX0NIRUNLSU5HIDAKICNkZWZpbmUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgg
MAogI2RlZmluZSBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgMApAQCAtMTA5LDcgKzEw
Miw2IEBACiAjZGVmaW5lIENPTkZJR19FTVVMQVRFX0hBUkRXQVJFIDAKICNkZWZpbmUgQ09ORklH
X05PTl9HUkVFRFlfTVYgMAogI2RlZmluZSBDT05GSUdfUkFURV9DVFJMIDAKLSNkZWZpbmUgQ09O
RklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAwCiAjZGVmaW5lIERFQ09ERV9XSURUSF9MSU1J
VCAxNjM4NAogI2RlZmluZSBERUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBY
X0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHM2NGVsL3ZweF9k
c3BfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9taXBzNjRlbC92cHhfZHNwX3J0Y2QuaAppbmRl
eCBhNTkyZDVlMDYyZDYuLjYzYTBmNzViODc0NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9taXBzNjRlbC92cHhfZHNwX3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHM2NGVs
L3ZweF9kc3BfcnRjZC5oCkBAIC0xNSwxMCArMTUsNiBAQAogI2luY2x1ZGUgInZweC92cHhfaW50
ZWdlci5oIgogI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIKICNpbmNsdWRlICJ2
cHhfZHNwL3ZweF9maWx0ZXIuaCIKLSNpZiBDT05GSUdfVlA5X0VOQ09ERVIKLXN0cnVjdCBtYWNy
b2Jsb2NrX3BsYW5lOwotc3RydWN0IFNjYW5PcmRlcjsKLSNlbmRpZgogCiAjaWZkZWYgX19jcGx1
c3BsdXMKIGV4dGVybiAiQyIgewpAQCAtNTM5LDcgKzUzNSw3IEBAIHZvaWQgdnB4X2lkY3Q4eDhf
NjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsIHVpbnQ4X3QqIGRlc3QsIGludCBzdHJp
ZGUpOwogaW50MTZfdCB2cHhfaW50X3Byb19jb2xfYyhjb25zdCB1aW50OF90KiByZWYsIGNvbnN0
IGludCB3aWR0aCk7CiAjZGVmaW5lIHZweF9pbnRfcHJvX2NvbCB2cHhfaW50X3Byb19jb2xfYwog
Ci12b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3QgaGJ1ZlsxNl0sCit2b2lkIHZweF9pbnRf
cHJvX3Jvd19jKGludDE2X3QqIGhidWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBoZWlnaHQpOwpAQCAtNzE4LDIxICs3
MTQsMzIgQEAgdm9pZCB2cHhfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19tYl9yb3dfYyh1bnNp
Z25lZCBjaGFyKiBzcmMsCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfYyhjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0
IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZweF9xdWFudGl6ZV9iIHZweF9xdWFu
dGl6ZV9iX2MKIAogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNr
aXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJp
bl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlm
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZp
bmUgdnB4X3F1YW50aXplX2JfMzJ4MzIgdnB4X3F1YW50aXplX2JfMzJ4MzJfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTc0OCwxMyAr
NzU1LDI3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkMTZ4MTZfYXZnIHZweF9zYWQxNngxNl9hdmdf
YwogCit2b2lkIHZweF9zYWQxNngxNngzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmlu
ZSB2cHhfc2FkMTZ4MTZ4MyB2cHhfc2FkMTZ4MTZ4M19jCisKIHZvaWQgdnB4X3NhZDE2eDE2eDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2eDRk
IHZweF9zYWQxNngxNng0ZF9jCiAKK3ZvaWQgdnB4X3NhZDE2eDE2eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNngxNng4IHZweF9zYWQxNngxNng4X2MKKwogdW5z
aWduZWQgaW50IHZweF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTc3MCw5ICs3OTEsOSBAQCB1bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZv
aWQgdnB4X3NhZDE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZp
bmUgdnB4X3NhZDE2eDMyeDRkIHZweF9zYWQxNngzMng0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhf
c2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC03ODgsMTMgKzgwOSwyNyBAQCB1
bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
CiAjZGVmaW5lIHZweF9zYWQxNng4X2F2ZyB2cHhfc2FkMTZ4OF9hdmdfYwogCit2b2lkIHZweF9z
YWQxNng4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDh4MyB2cHhf
c2FkMTZ4OHgzX2MKKwogdm9pZCB2cHhfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiAjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX2MKIAordm9pZCB2cHhf
c2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDggdnB4
X3NhZDE2eDh4OF9jCisKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC04
MTAsOSArODQ1LDkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMngxNl9hdmdfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMngxNng0ZCB2cHhfc2FkMzJ4MTZ4NGRfYwog
CiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAg
LTgzMCwxMSArODY1LDE4IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMzJ4MzJ4NGQgdnB4X3NhZDMyeDMyeDRk
X2MKIAordm9pZCB2cHhfc2FkMzJ4MzJ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZp
bmUgdnB4X3NhZDMyeDMyeDggdnB4X3NhZDMyeDMyeDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLApAQCAtODUwLDkgKzg5Miw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2Fk
MzJ4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4NjR4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMzJ4NjR4
NGQgdnB4X3NhZDMyeDY0eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQ0eDRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLApAQCAtODY4LDEzICs5MTAsMjcgQEAgdW5zaWduZWQgaW50IHZweF9z
YWQ0eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDR4
NF9hdmcgdnB4X3NhZDR4NF9hdmdfYwogCit2b2lkIHZweF9zYWQ0eDR4M19jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9zYWQ0eDR4MyB2cHhfc2FkNHg0eDNfYworCiB2b2lkIHZweF9zYWQ0
eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg0eDRkIHZweF9zYWQ0
eDR4NGRfYwogCit2b2lkIHZweF9zYWQ0eDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZw
eF9zYWQ0eDR4OCB2cHhfc2FkNHg0eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LApAQCAtODkwLDkgKzk0Niw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNHg4X2F2Z19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiAjZGVmaW5lIHZweF9zYWQ0eDh4NGQgdnB4X3NhZDR4OHg0ZF9jCiAKIHVuc2lnbmVkIGlu
dCB2cHhfc2FkNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtOTEwLDkgKzk2Niw5
IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKIAogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OwogI2RlZmluZSB2cHhfc2FkNjR4MzJ4NGQgdnB4X3NhZDY0eDMyeDRkX2MKIAogdW5zaWduZWQg
aW50IHZweF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC05MzAsOSArOTg2
LDkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogCiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiAjZGVmaW5lIHZweF9zYWQ2NHg2NHg0ZCB2cHhfc2FkNjR4NjR4NGRfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtOTQ4LDEzICsx
MDA0LDI3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDh4MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19jCiAK
K3ZvaWQgdnB4X3NhZDh4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2Fk
OHgxNngzIHZweF9zYWQ4eDE2eDNfYworCiB2b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4MTZ4NGQgdnB4X3NhZDh4MTZ4NGRfYwog
Cit2b2lkIHZweF9zYWQ4eDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3Nh
ZDh4MTZ4OCB2cHhfc2FkOHgxNng4X2MKKwogdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
QEAgLTk3MCw5ICsxMDQwLDkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKICNkZWZpbmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX2MKIAogdW5zaWduZWQgaW50
IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtOTg4LDE4MSArMTA1OCwy
NiBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwogI2RlZmluZSB2cHhfc2FkOHg4X2F2ZyB2cHhfc2FkOHg4X2F2Z19jCiAKK3ZvaWQgdnB4
X3NhZDh4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCisgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4OHgzIHZweF9zYWQ4
eDh4M19jCisKIHZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5l
IHZweF9zYWQ4eDh4NGQgdnB4X3NhZDh4OHg0ZF9jCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MTYgdnB4
X3NhZF9za2lwXzE2eDE2X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2eDRkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9jCi0K
LXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfMTZ4MzIgdnB4X3NhZF9za2lwXzE2eDMyX2MKLQotdm9pZCB2cHhfc2Fk
X3NraXBfMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMyeDRkIHZw
eF9zYWRfc2tpcF8xNngzMng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNng4IHZweF9zYWRfc2tpcF8xNng4
X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF8xNng4eDRkIHZweF9zYWRfc2tpcF8xNng4eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF8zMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8zMngxNiB2
cHhfc2FkX3NraXBfMzJ4MTZfYwotCi12b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX2MK
LQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF8zMngzMiB2cHhfc2FkX3NraXBfMzJ4MzJfYwotCi12b2lkIHZweF9z
YWRfc2tpcF8zMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MzJ4NGQg
dnB4X3NhZF9za2lwXzMyeDMyeDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8zMng2NCB2cHhfc2FkX3Nr
aXBfMzJ4NjRfYwotCi12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfMzJ4NjR4NGQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX2MKLQotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF80eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
NHg0IHZweF9zYWRfc2tpcF80eDRfYwotCi12b2lkIHZweF9zYWRfc2tpcF80eDR4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF80eDR4NGQgdnB4X3NhZF9za2lwXzR4NHg0ZF9jCi0KLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4
OCB2cHhfc2FkX3NraXBfNHg4X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg4eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfNHg4eDRkIHZweF9zYWRfc2tpcF80eDh4NGRfYwotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZF9za2lwXzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9z
a2lwXzY0eDMyIHZweF9zYWRfc2tpcF82NHgzMl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHgzMng0ZCB2cHhfc2FkX3NraXBf
NjR4MzJ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzY0eDY0IHZweF9zYWRfc2tpcF82NHg2NF9jCi0K
LXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tp
cF82NHg2NHg0ZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3Nh
ZF9za2lwXzh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHgxNiB2cHhf
c2FkX3NraXBfOHgxNl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfOHgxNng0ZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9jCi0KLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4
NCB2cHhfc2FkX3NraXBfOHg0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfOHg0eDRkIHZweF9zYWRfc2tpcF84eDR4NGRfYwotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZF9za2lwXzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDgg
dnB4X3NhZF9za2lwXzh4OF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzh4OHg0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUg
dnB4X3NhZF9za2lwXzh4OHg0ZCB2cHhfc2FkX3NraXBfOHg4eDRkX2MKK3ZvaWQgdnB4X3NhZDh4
OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4OHg4IHZweF9zYWQ4eDh4OF9j
CiAKIGludCB2cHhfc2F0ZF9jKGNvbnN0IGludDE2X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKICNk
ZWZpbmUgdnB4X3NhdGQgdnB4X3NhdGRfYwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9t
aXBzZWwvdnA4X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbWlwc2VsL3ZwOF9ydGNkLmgKaW5k
ZXggNzcxOWUxYzRhNjEwLi5hYTQ3NWI1NWZhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu
dXgvbWlwc2VsL3ZwOF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9taXBzZWwvdnA4X3J0
Y2QuaApAQCAtNTksNiArNTksMzYgQEAgdm9pZCB2cDhfYmlsaW5lYXJfcHJlZGljdDh4OF9jKHVu
c2lnbmVkIGNoYXIqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF9waXRjaCk7CiAjZGVmaW5lIHZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4IHZwOF9iaWxpbmVh
cl9wcmVkaWN0OHg4X2MKIAordm9pZCB2cDhfYmxlbmRfYl9jKHVuc2lnbmVkIGNoYXIqIHksCisg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgIGludCB5XzEsCisgICAgICAgICAg
ICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAg
ICAgICAgICAgIGludCBhbHBoYSwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNk
ZWZpbmUgdnA4X2JsZW5kX2IgdnA4X2JsZW5kX2JfYworCit2b2lkIHZwOF9ibGVuZF9tYl9pbm5l
cl9jKHVuc2lnbmVkIGNoYXIqIHksCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5XzEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB1XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBhbHBoYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9tYl9pbm5lciB2cDhfYmxlbmRfbWJfaW5u
ZXJfYworCit2b2lkIHZwOF9ibGVuZF9tYl9vdXRlcl9jKHVuc2lnbmVkIGNoYXIqIHksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhbHBo
YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9i
bGVuZF9tYl9vdXRlciB2cDhfYmxlbmRfbWJfb3V0ZXJfYworCiBpbnQgdnA4X2Jsb2NrX2Vycm9y
X2Moc2hvcnQqIGNvZWZmLCBzaG9ydCogZHFjb2VmZik7CiAjZGVmaW5lIHZwOF9ibG9ja19lcnJv
ciB2cDhfYmxvY2tfZXJyb3JfYwogCkBAIC0xNzUsNiArMjA1LDE3IEBAIHZvaWQgdnA4X2ZpbHRl
cl9ieV93ZWlnaHQ4eDhfYyh1bnNpZ25lZCBjaGFyKiBzcmMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY193ZWlnaHQpOwogI2RlZmluZSB2cDhfZmlsdGVyX2J5X3dlaWdo
dDh4OCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9jCiAKK2ludCB2cDhfZnVsbF9zZWFyY2hfc2Fk
X2Moc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dCBibG9jayogYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrZCogZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiByZWZfbXYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRpc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFy
aWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZj
b3N0WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9t
dik7CisjZGVmaW5lIHZwOF9mdWxsX3NlYXJjaF9zYWQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jCisK
IHZvaWQgdnA4X2xvb3BfZmlsdGVyX2JoX2ModW5zaWduZWQgY2hhciogeV9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHVfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2X3B0ciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
bGludXgvbWlwc2VsL3ZwOV9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHNlbC92cDlfcnRj
ZC5oCmluZGV4IGUzNTA4ZDBmMzZhNC4uOWU5NTZmYjE3YTM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2xpbnV4L21pcHNlbC92cDlfcnRjZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbWlwc2Vs
L3ZwOV9ydGNkLmgKQEAgLTIxLDkgKzIxLDcgQEAgc3RydWN0IG1hY3JvYmxvY2tkOwogCiAvKiBF
bmNvZGVyIGZvcndhcmQgZGVjbHMgKi8KIHN0cnVjdCBtYWNyb2Jsb2NrOwotc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmU7Ci1zdHJ1Y3QgdnA5X3NhZF90YWJsZTsKLXN0cnVjdCBTY2FuT3JkZXI7Citz
dHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZTsKIHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWc7CiBz
dHJ1Y3QgbXY7CiB1bmlvbiBpbnRfbXY7CkBAIC01OCwxMiArNTYsMTEgQEAgaW50IHZwOV9kZW5v
aXNlcl9maWx0ZXJfYyhjb25zdCB1aW50OF90KiBzaWcsCiBpbnQgdnA5X2RpYW1vbmRfc2VhcmNo
X3NhZF9jKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnKiBjZmcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNlYXJjaF9wYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9w
ZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG51bTAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2Zu
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZwOV92YXJp
YW5jZV92dGFibGUqIGZuX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IG12KiBjZW50ZXJfbXYpOwogI2RlZmluZSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkIHZw
OV9kaWFtb25kX3NlYXJjaF9zYWRfYwogCkBAIC0xMjIsMjIgKzExOSwyOCBAQCB2b2lkIHZwOV9p
aHQ4eDhfNjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZvaWQgdnA5X3F1YW50
aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9xdWFudGl6ZV9mcCB2cDlfcXVhbnRpemVfZnBf
YwogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
KiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBf
YmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5k
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2Nh
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwog
I2RlZmluZSB2cDlfcXVhbnRpemVfZnBfMzJ4MzIgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2MKIAog
dm9pZCB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jKGNvbnN0IHN0cnVjdCB5djEyX2J1ZmZl
cl9jb25maWcqIHNyYywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbWlwc2VsL3ZweF9j
b25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbWlwc2VsL3ZweF9jb25maWcuaAppbmRleCAzMDhi
YjdiNDBiNDMuLmEwY2RiODFiNGU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9taXBz
ZWwvdnB4X2NvbmZpZy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbWlwc2VsL3ZweF9jb25maWcu
aApAQCAtMTIsOCArMTIsNiBAQAogI2RlZmluZSBJTkxJTkUgICAgICBpbmxpbmUKICNkZWZpbmUg
VlBYX0FSQ0hfQVJNIDAKICNkZWZpbmUgQVJDSF9BUk0gMAotI2RlZmluZSBWUFhfQVJDSF9BQVJD
SDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICNkZWZpbmUgVlBYX0FSQ0hfTUlQUyAxCiAj
ZGVmaW5lIEFSQ0hfTUlQUyAxCiAjZGVmaW5lIFZQWF9BUkNIX1g4NiAwCkBAIC0yMiwxMiArMjAs
OCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAwCiAjZGVmaW5lIFZQWF9BUkNIX1BQQyAwCiAjZGVm
aW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNIIDAKLSNkZWZpbmUgQVJD
SF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDAKICNkZWZpbmUgSEFWRV9ORU9O
IDAKLSNkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMAotI2RlZmluZSBIQVZFX05FT05fSThNTSAw
CisjZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZFX01JUFMzMiAxCiAjZGVmaW5l
IEhBVkVfRFNQUjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC00Myw4ICszNyw2IEBACiAjZGVm
aW5lIEhBVkVfQVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAogI2RlZmluZSBIQVZFX01NSSAw
Ci0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAKICNkZWZpbmUgSEFWRV9W
UFhfUE9SVFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMApAQCAtOTcsNiArODksNyBAQAogI2RlZmluZSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5H
IDEKICNkZWZpbmUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAxCiAjZGVmaW5lIENPTkZJR19W
UDlfVEVNUE9SQUxfREVOT0lTSU5HIDEKKyNkZWZpbmUgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RF
IDAKICNkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HIDAKICNkZWZpbmUg
Q09ORklHX1ZQOV9ISUdIQklUREVQVEggMAogI2RlZmluZSBDT05GSUdfQkVUVEVSX0hXX0NPTVBB
VElCSUxJVFkgMApAQCAtMTA5LDcgKzEwMiw2IEBACiAjZGVmaW5lIENPTkZJR19FTVVMQVRFX0hB
UkRXQVJFIDAKICNkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYgMAogI2RlZmluZSBDT05GSUdf
UkFURV9DVFJMIDAKLSNkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAwCiAj
ZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogI2RlZmluZSBERUNPREVfSEVJR0hUX0xJ
TUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBYX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2xpbnV4L21pcHNlbC92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvbWlwc2Vs
L3ZweF9kc3BfcnRjZC5oCmluZGV4IGE1OTJkNWUwNjJkNi4uNjNhMGY3NWI4NzQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvY29uZmlnL2xpbnV4L21pcHNlbC92cHhfZHNwX3J0Y2QuaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL2xpbnV4L21pcHNlbC92cHhfZHNwX3J0Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNpbmNs
dWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9u
LmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9FTkNP
REVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5kaWYK
IAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKQEAgLTUzOSw3ICs1MzUsNyBAQCB2
b2lkIHZweF9pZGN0OHg4XzY0X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90
KiBkZXN0LCBpbnQgc3RyaWRlKTsKIGludDE2X3QgdnB4X2ludF9wcm9fY29sX2MoY29uc3QgdWlu
dDhfdCogcmVmLCBjb25zdCBpbnQgd2lkdGgpOwogI2RlZmluZSB2cHhfaW50X3Byb19jb2wgdnB4
X2ludF9wcm9fY29sX2MKIAotdm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90IGhidWZbMTZd
LAordm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0
KTsKQEAgLTcxOCwyMSArNzE0LDMyIEBAIHZvaWQgdnB4X3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jv
c3NfbWJfcm93X2ModW5zaWduZWQgY2hhciogc3JjLAogCiB2b2lkIHZweF9xdWFudGl6ZV9iX2Mo
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludHB0
cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tp
cF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVh
bnRpemVfYiB2cHhfcXVhbnRpemVfYl9jCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhj
b25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVv
Yl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRl
ciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBpc2Nhbik7CiAjZGVmaW5lIHZweF9xdWFudGl6ZV9iXzMyeDMyIHZweF9xdWFudGl6ZV9iXzMy
eDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCkBAIC03NDgsMTMgKzc1NSwyNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2X2F2ZyB2
cHhfc2FkMTZ4MTZfYXZnX2MKIAordm9pZCB2cHhfc2FkMTZ4MTZ4M19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2eDMgdnB4X3NhZDE2eDE2eDNfYworCiB2b2lk
IHZweF9zYWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5l
IHZweF9zYWQxNngxNng0ZCB2cHhfc2FkMTZ4MTZ4NGRfYwogCit2b2lkIHZweF9zYWQxNngxNng4
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4MTZ4OCB2cHhfc2Fk
MTZ4MTZ4OF9jCisKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC03NzAs
OSArNzkxLDkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRfYwogCiB1
bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNzg4
LDEzICs4MDksMjcgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNng4X2F2Z19jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkMTZ4OF9hdmcgdnB4X3NhZDE2eDhfYXZn
X2MKIAordm9pZCB2cHhfc2FkMTZ4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZw
eF9zYWQxNng4eDMgdnB4X3NhZDE2eDh4M19jCisKIHZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMTZ4OHg0ZCB2cHhfc2FkMTZ4OHg0
ZF9jCiAKK3ZvaWQgdnB4X3NhZDE2eDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2
cHhfc2FkMTZ4OHg4IHZweF9zYWQxNng4eDhfYworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLApAQCAtODEwLDkgKzg0NSw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZf
YXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4MTZ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMzJ4MTZ4NGQgdnB4
X3NhZDMyeDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQzMngzMl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCkBAIC04MzAsMTEgKzg2NSwxOCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMy
eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMyeDMyeDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDMyeDMyeDRk
IHZweF9zYWQzMngzMng0ZF9jCiAKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQzMngzMng4IHZweF9zYWQzMngzMng4X2MKKwogdW5z
aWduZWQgaW50IHZweF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTg1MCw5ICs4OTIsOSBAQCB1bnNp
Z25lZCBpbnQgdnB4X3NhZDMyeDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZv
aWQgdnB4X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZp
bmUgdnB4X3NhZDMyeDY0eDRkIHZweF9zYWQzMng2NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhf
c2FkNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTg2OCwxMyArOTEwLDI3IEBAIHVu
c2lnbmVkIGludCB2cHhfc2FkNHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAj
ZGVmaW5lIHZweF9zYWQ0eDRfYXZnIHZweF9zYWQ0eDRfYXZnX2MKIAordm9pZCB2cHhfc2FkNHg0
eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDMgdnB4X3NhZDR4NHgzX2MK
Kwogdm9pZCB2cHhfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3Nh
ZDR4NHg0ZCB2cHhfc2FkNHg0eDRkX2MKIAordm9pZCB2cHhfc2FkNHg0eDhfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDggdnB4X3NhZDR4NHg4X2MKKwogdW5zaWduZWQgaW50
IHZweF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKQEAgLTg5MCw5ICs5NDYsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDR4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ0eDh4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg4eDRkIHZweF9zYWQ0eDh4NGRf
YwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
QEAgLTkxMCw5ICs5NjYsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2F2Z19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDMyeDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDY0eDMyeDRkIHZweF9zYWQ2NHgzMng0
ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LApAQCAtOTMwLDkgKzk4Niw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZnX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4NjR4NGQgdnB4X3NhZDY0eDY0
eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKQEAgLTk0OCwxMyArMTAwNCwyNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYXZnX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQ4eDE2X2F2ZyB2cHhf
c2FkOHgxNl9hdmdfYwogCit2b2lkIHZweF9zYWQ4eDE2eDNfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
KyNkZWZpbmUgdnB4X3NhZDh4MTZ4MyB2cHhfc2FkOHgxNngzX2MKKwogdm9pZCB2cHhfc2FkOHgx
Nng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDE2eDRkIHZw
eF9zYWQ4eDE2eDRkX2MKIAordm9pZCB2cHhfc2FkOHgxNng4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9zYWQ4eDE2eDggdnB4X3NhZDh4MTZ4OF9jCisKIHVuc2lnbmVkIGludCB2
cHhfc2FkOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCkBAIC05NzAsOSArMTA0MCw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2Fk
OHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDh4NHg0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3NhZDh4NHg0ZF9j
CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAg
LTk4OCwxODEgKzEwNTgsMjYgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDh4OF9hdmcgdnB4X3NhZDh4OF9h
dmdfYwogCit2b2lkIHZweF9zYWQ4eDh4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9z
YWQ4eDh4MyB2cHhfc2FkOHg4eDNfYworCiB2b2lkIHZweF9zYWQ4eDh4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogI2RlZmluZSB2cHhfc2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfYwogCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzE2eDE2IHZweF9zYWRfc2tpcF8xNngxNl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2
eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNng0ZCB2cHhfc2FkX3Nr
aXBfMTZ4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMyIHZweF9zYWRfc2tpcF8xNngzMl9j
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRf
c2tpcF8xNngzMng0ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OCB2
cHhfc2FkX3NraXBfMTZ4OF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfMTZ4OHg0ZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9jCi0KLXVuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhf
c2FkX3NraXBfMzJ4MTYgdnB4X3NhZF9za2lwXzMyeDE2X2MKLQotdm9pZCB2cHhfc2FkX3NraXBf
MzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDE2eDRkIHZweF9zYWRf
c2tpcF8zMngxNng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MzIgdnB4X3NhZF9za2lwXzMyeDMy
X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzMyeDMyeDRkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9jCi0KLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
MzJ4NjQgdnB4X3NhZF9za2lwXzMyeDY0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDY0eDRkIHZweF9zYWRfc2tpcF8zMng2
NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBfNHg0X2MKLQotdm9pZCB2cHhfc2FkX3Nr
aXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg0eDRkIHZweF9zYWRfc2tpcF80eDR4
NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lwXzR4OF9jCi0KLXZvaWQgdnB4X3NhZF9za2lw
XzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRk
X2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0j
ZGVmaW5lIHZweF9zYWRfc2tpcF82NHgzMiB2cHhfc2FkX3NraXBfNjR4MzJfYwotCi12b2lkIHZw
eF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4MzJ4
NGQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82
NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHg2NCB2cHhfc2Fk
X3NraXBfNjR4NjRfYwotCi12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfNjR4NjR4NGQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2MKLQotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzh4MTYgdnB4X3NhZF9za2lwXzh4MTZfYwotCi12b2lkIHZweF9zYWRfc2tpcF84eDE2
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4
NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF84eDQgdnB4X3NhZF9za2lwXzh4NF9jCi0KLXZvaWQgdnB4X3NhZF9za2lw
Xzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4NHg0ZCB2cHhfc2FkX3NraXBfOHg0eDRk
X2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfc2FkX3NraXBfOHg4IHZweF9zYWRfc2tpcF84eDhfYwotCi12b2lkIHZweF9zYWRfc2tpcF84
eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDh4NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9j
Cit2b2lkIHZweF9zYWQ4eDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDh4
OCB2cHhfc2FkOHg4eDhfYwogCiBpbnQgdnB4X3NhdGRfYyhjb25zdCBpbnQxNl90KiBjb2VmZiwg
aW50IGxlbmd0aCk7CiAjZGVmaW5lIHZweF9zYXRkIHZweF9zYXRkX2MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9jb25maWcvbGludXgvcHBjNjQvdnA4X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQv
dnA4X3J0Y2QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjI1NjQ3ZmVmNWFkLi4w
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cDhfcnRjZC5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMzIwICswLDAgQEAKLS8vIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQuIERv
IG5vdCBlZGl0LgotI2lmbmRlZiBWUDhfUlRDRF9IXwotI2RlZmluZSBWUDhfUlRDRF9IXwotCi0j
aWZkZWYgUlRDRF9DCi0jZGVmaW5lIFJUQ0RfRVhURVJOCi0jZWxzZQotI2RlZmluZSBSVENEX0VY
VEVSTiBleHRlcm4KLSNlbmRpZgotCi0vKgotICogVlA4Ci0gKi8KLQotc3RydWN0IGJsb2NrZDsK
LXN0cnVjdCBtYWNyb2Jsb2NrZDsKLXN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvOwotCi0vKiBFbmNv
ZGVyIGZvcndhcmQgZGVjbHMgKi8KLXN0cnVjdCBibG9jazsKLXN0cnVjdCBtYWNyb2Jsb2NrOwot
c3RydWN0IHZhcmlhbmNlX3Z0YWJsZTsKLXVuaW9uIGludF9tdjsKLXN0cnVjdCB5djEyX2J1ZmZl
cl9jb25maWc7Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQot
dm9pZCB2cDhfYmlsaW5lYXJfcHJlZGljdDE2eDE2X2ModW5zaWduZWQgY2hhciogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5l
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhvZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdF9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKLSNkZWZpbmUgdnA4X2JpbGluZWFyX3By
ZWRpY3QxNngxNiB2cDhfYmlsaW5lYXJfcHJlZGljdDE2eDE2X2MKLQotdm9pZCB2cDhfYmlsaW5l
YXJfcHJlZGljdDR4NF9jKHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19waXhlbHNfcGVyX2xpbmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHhvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHlvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3Bp
dGNoKTsKLSNkZWZpbmUgdnA4X2JpbGluZWFyX3ByZWRpY3Q0eDQgdnA4X2JpbGluZWFyX3ByZWRp
Y3Q0eDRfYwotCi12b2lkIHZwOF9iaWxpbmVhcl9wcmVkaWN0OHg0X2ModW5zaWduZWQgY2hhciog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3BpeGVsc19w
ZXJfbGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeG9mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeW9mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwotI2RlZmluZSB2cDhfYmlsaW5lYXJfcHJl
ZGljdDh4NCB2cDhfYmlsaW5lYXJfcHJlZGljdDh4NF9jCi0KLXZvaWQgdnA4X2JpbGluZWFyX3By
ZWRpY3Q4eDhfYyh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IGRzdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7
Ci0jZGVmaW5lIHZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4IHZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4
X2MKLQotaW50IHZwOF9ibG9ja19lcnJvcl9jKHNob3J0KiBjb2VmZiwgc2hvcnQqIGRxY29lZmYp
OwotI2RlZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4X2Jsb2NrX2Vycm9yX2MKLQotdm9pZCB2cDhf
Y29weTMyeG5fYyhjb25zdCB1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
ZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgIGludCBoZWlnaHQpOwotI2RlZmluZSB2cDhfY29weTMyeG4gdnA4X2NvcHkzMnhu
X2MKLQotdm9pZCB2cDhfY29weV9tZW0xNngxNl9jKHVuc2lnbmVkIGNoYXIqIHNyYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBjaGFyKiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF9zdHJpZGUpOwotI2RlZmluZSB2cDhfY29weV9tZW0xNngxNiB2cDhfY29weV9tZW0xNngxNl9j
Ci0KLXZvaWQgdnA4X2NvcHlfbWVtOHg0X2ModW5zaWduZWQgY2hhciogc3JjLAotICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSk7
Ci0jZGVmaW5lIHZwOF9jb3B5X21lbTh4NCB2cDhfY29weV9tZW04eDRfYwotCi12b2lkIHZwOF9j
b3B5X21lbTh4OF9jKHVuc2lnbmVkIGNoYXIqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUpOwotI2RlZmluZSB2cDhf
Y29weV9tZW04eDggdnA4X2NvcHlfbWVtOHg4X2MKLQotdm9pZCB2cDhfZGNfb25seV9pZGN0X2Fk
ZF9jKHNob3J0IGlucHV0X2RjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGNoYXIqIHByZWRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwcmVkX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlKTsKLSNkZWZpbmUg
dnA4X2RjX29ubHlfaWRjdF9hZGQgdnA4X2RjX29ubHlfaWRjdF9hZGRfYwotCi1pbnQgdnA4X2Rl
bm9pc2VyX2ZpbHRlcl9jKHVuc2lnbmVkIGNoYXIqIG1jX3J1bm5pbmdfYXZnX3ksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBtY19hdmdfeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHJ1bm5pbmdfYXZnX3ksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBhdmdfeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGNoYXIqIHNpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNpZ19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtb3Rpb25fbWFnbml0
dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5jcmVhc2VfZGVub2lzaW5nKTsK
LSNkZWZpbmUgdnA4X2Rlbm9pc2VyX2ZpbHRlciB2cDhfZGVub2lzZXJfZmlsdGVyX2MKLQotaW50
IHZwOF9kZW5vaXNlcl9maWx0ZXJfdXZfYyh1bnNpZ25lZCBjaGFyKiBtY19ydW5uaW5nX2F2ZywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1jX2F2Z19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHJ1bm5pbmdfYXZnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXZnX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgY2hhciogc2lnLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2lnX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50IG1vdGlvbl9tYWduaXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBpbmNyZWFzZV9kZW5vaXNpbmcpOwotI2RlZmluZSB2cDhfZGVub2lzZXJfZmlsdGVyX3V2IHZw
OF9kZW5vaXNlcl9maWx0ZXJfdXZfYwotCi12b2lkIHZwOF9kZXF1YW50X2lkY3RfYWRkX2Moc2hv
cnQqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3J0KiBkcSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cDhfZGVxdWFudF9pZGN0X2Fk
ZCB2cDhfZGVxdWFudF9pZGN0X2FkZF9jCi0KLXZvaWQgdnA4X2RlcXVhbnRfaWRjdF9hZGRfdXZf
YmxvY2tfYyhzaG9ydCogcSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aG9ydCogZHEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogZHN0X3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogZHN0X3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiBlb2Jz
KTsKLSNkZWZpbmUgdnA4X2RlcXVhbnRfaWRjdF9hZGRfdXZfYmxvY2sgdnA4X2RlcXVhbnRfaWRj
dF9hZGRfdXZfYmxvY2tfYwotCi12b2lkIHZwOF9kZXF1YW50X2lkY3RfYWRkX3lfYmxvY2tfYyhz
aG9ydCogcSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3J0KiBkcSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiBlb2JzKTsKLSNkZWZpbmUgdnA4X2Rl
cXVhbnRfaWRjdF9hZGRfeV9ibG9jayB2cDhfZGVxdWFudF9pZGN0X2FkZF95X2Jsb2NrX2MKLQot
dm9pZCB2cDhfZGVxdWFudGl6ZV9iX2Moc3RydWN0IGJsb2NrZCosIHNob3J0KiBEUUMpOwotI2Rl
ZmluZSB2cDhfZGVxdWFudGl6ZV9iIHZwOF9kZXF1YW50aXplX2JfYwotCi1pbnQgdnA4X2RpYW1v
bmRfc2VhcmNoX3NhZF9jKHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBibG9ja2QqIGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGlu
dF9tdiogcmVmX212LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYq
IGJlc3RfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWFyY2hfcGFyYW0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50KiBudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5pb24gaW50X212KiBjZW50ZXJfbXYpOwotI2RlZmluZSB2cDhfZGlhbW9uZF9zZWFyY2hfc2Fk
IHZwOF9kaWFtb25kX3NlYXJjaF9zYWRfYwotCi12b2lkIHZwOF9mYXN0X3F1YW50aXplX2JfYyhz
dHJ1Y3QgYmxvY2sqLCBzdHJ1Y3QgYmxvY2tkKik7Ci0jZGVmaW5lIHZwOF9mYXN0X3F1YW50aXpl
X2IgdnA4X2Zhc3RfcXVhbnRpemVfYl9jCi0KLXZvaWQgdnA4X2ZpbHRlcl9ieV93ZWlnaHQxNngx
Nl9jKHVuc2lnbmVkIGNoYXIqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7
Ci0jZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2VpZ2h0MTZ4MTYgdnA4X2ZpbHRlcl9ieV93ZWlnaHQx
NngxNl9jCi0KLXZvaWQgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ0eDRfYyh1bnNpZ25lZCBjaGFyKiBz
cmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfd2VpZ2h0KTsKLSNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWln
aHQ0eDQgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ0eDRfYwotCi12b2lkIHZwOF9maWx0ZXJfYnlfd2Vp
Z2h0OHg4X2ModW5zaWduZWQgY2hhciogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7Ci0j
ZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MK
LQotdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1dl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvKiBs
ZmkpOwotI2RlZmluZSB2cDhfbG9vcF9maWx0ZXJfYmggdnA4X2xvb3BfZmlsdGVyX2JoX2MKLQot
dm9pZCB2cDhfbG9vcF9maWx0ZXJfYnZfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdV9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1dl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvKiBsZmkp
OwotI2RlZmluZSB2cDhfbG9vcF9maWx0ZXJfYnYgdnA4X2xvb3BfZmlsdGVyX2J2X2MKLQotdm9p
ZCB2cDhfbG9vcF9maWx0ZXJfbWJoX2ModW5zaWduZWQgY2hhciogeV9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHV2X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvKiBs
ZmkpOwotI2RlZmluZSB2cDhfbG9vcF9maWx0ZXJfbWJoIHZwOF9sb29wX2ZpbHRlcl9tYmhfYwot
Ci12b2lkIHZwOF9sb29wX2ZpbHRlcl9tYnZfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHVfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxvb3BfZmlsdGVyX2lu
Zm8qIGxmaSk7Ci0jZGVmaW5lIHZwOF9sb29wX2ZpbHRlcl9tYnYgdnA4X2xvb3BfZmlsdGVyX21i
dl9jCi0KLXZvaWQgdnA4X2xvb3BfZmlsdGVyX2Joc19jKHVuc2lnbmVkIGNoYXIqIHlfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogYmxpbWl0KTsKLSNkZWZpbmUgdnA4X2xv
b3BfZmlsdGVyX3NpbXBsZV9iaCB2cDhfbG9vcF9maWx0ZXJfYmhzX2MKLQotdm9pZCB2cDhfbG9v
cF9maWx0ZXJfYnZzX2ModW5zaWduZWQgY2hhciogeV9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
bnNpZ25lZCBjaGFyKiBibGltaXQpOwotI2RlZmluZSB2cDhfbG9vcF9maWx0ZXJfc2ltcGxlX2J2
IHZwOF9sb29wX2ZpbHRlcl9idnNfYwotCi12b2lkIHZwOF9sb29wX2ZpbHRlcl9zaW1wbGVfaG9y
aXpvbnRhbF9lZGdlX2ModW5zaWduZWQgY2hhciogeV9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJsaW1p
dCk7Ci0jZGVmaW5lIHZwOF9sb29wX2ZpbHRlcl9zaW1wbGVfbWJoIHZwOF9sb29wX2ZpbHRlcl9z
aW1wbGVfaG9yaXpvbnRhbF9lZGdlX2MKLQotdm9pZCB2cDhfbG9vcF9maWx0ZXJfc2ltcGxlX3Zl
cnRpY2FsX2VkZ2VfYyh1bnNpZ25lZCBjaGFyKiB5X3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBibGltaXQpOwot
I2RlZmluZSB2cDhfbG9vcF9maWx0ZXJfc2ltcGxlX21idiB2cDhfbG9vcF9maWx0ZXJfc2ltcGxl
X3ZlcnRpY2FsX2VkZ2VfYwotCi1pbnQgdnA4X21iYmxvY2tfZXJyb3JfYyhzdHJ1Y3QgbWFjcm9i
bG9jayogbWIsIGludCBkYyk7Ci0jZGVmaW5lIHZwOF9tYmJsb2NrX2Vycm9yIHZwOF9tYmJsb2Nr
X2Vycm9yX2MKLQotaW50IHZwOF9tYnV2ZXJyb3JfYyhzdHJ1Y3QgbWFjcm9ibG9jayogbWIpOwot
I2RlZmluZSB2cDhfbWJ1dmVycm9yIHZwOF9tYnV2ZXJyb3JfYwotCi1pbnQgdnA4X3JlZmluaW5n
X3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBibG9jayogYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBibG9ja2QqIGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBp
bnRfbXYqIHJlZl9tdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBlcnJvcl9w
ZXJfYml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9yYW5nZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZu
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZjb3N0WzJdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOwotI2Rl
ZmluZSB2cDhfcmVmaW5pbmdfc2VhcmNoX3NhZCB2cDhfcmVmaW5pbmdfc2VhcmNoX3NhZF9jCi0K
LXZvaWQgdnA4X3JlZ3VsYXJfcXVhbnRpemVfYl9jKHN0cnVjdCBibG9jayosIHN0cnVjdCBibG9j
a2QqKTsKLSNkZWZpbmUgdnA4X3JlZ3VsYXJfcXVhbnRpemVfYiB2cDhfcmVndWxhcl9xdWFudGl6
ZV9iX2MKLQotdm9pZCB2cDhfc2hvcnRfZmRjdDR4NF9jKHNob3J0KiBpbnB1dCwgc2hvcnQqIG91
dHB1dCwgaW50IHBpdGNoKTsKLSNkZWZpbmUgdnA4X3Nob3J0X2ZkY3Q0eDQgdnA4X3Nob3J0X2Zk
Y3Q0eDRfYwotCi12b2lkIHZwOF9zaG9ydF9mZGN0OHg0X2Moc2hvcnQqIGlucHV0LCBzaG9ydCog
b3V0cHV0LCBpbnQgcGl0Y2gpOwotI2RlZmluZSB2cDhfc2hvcnRfZmRjdDh4NCB2cDhfc2hvcnRf
ZmRjdDh4NF9jCi0KLXZvaWQgdnA4X3Nob3J0X2lkY3Q0eDRsbG1fYyhzaG9ydCogaW5wdXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogcHJlZF9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHByZWRfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdF9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGUpOwotI2RlZmluZSB2cDhfc2hvcnRfaWRjdDR4NGxsbSB2
cDhfc2hvcnRfaWRjdDR4NGxsbV9jCi0KLXZvaWQgdnA4X3Nob3J0X2ludl93YWxzaDR4NF9jKHNo
b3J0KiBpbnB1dCwgc2hvcnQqIG1iX2RxY29lZmYpOwotI2RlZmluZSB2cDhfc2hvcnRfaW52X3dh
bHNoNHg0IHZwOF9zaG9ydF9pbnZfd2Fsc2g0eDRfYwotCi12b2lkIHZwOF9zaG9ydF9pbnZfd2Fs
c2g0eDRfMV9jKHNob3J0KiBpbnB1dCwgc2hvcnQqIG1iX2RxY29lZmYpOwotI2RlZmluZSB2cDhf
c2hvcnRfaW52X3dhbHNoNHg0XzEgdnA4X3Nob3J0X2ludl93YWxzaDR4NF8xX2MKLQotdm9pZCB2
cDhfc2hvcnRfd2Fsc2g0eDRfYyhzaG9ydCogaW5wdXQsIHNob3J0KiBvdXRwdXQsIGludCBwaXRj
aCk7Ci0jZGVmaW5lIHZwOF9zaG9ydF93YWxzaDR4NCB2cDhfc2hvcnRfd2Fsc2g0eDRfYwotCi12
b2lkIHZwOF9zaXh0YXBfcHJlZGljdDE2eDE2X2ModW5zaWduZWQgY2hhciogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3BpeGVsc19wZXJfbGluZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeG9mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3RfcGl0Y2gpOwotI2RlZmluZSB2cDhfc2l4dGFwX3ByZWRpY3QxNngxNiB2cDhf
c2l4dGFwX3ByZWRpY3QxNngxNl9jCi0KLXZvaWQgdnA4X3NpeHRhcF9wcmVkaWN0NHg0X2ModW5z
aWduZWQgY2hhciogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19waXhlbHNfcGVyX2xpbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4b2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeW9mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7Ci0jZGVmaW5lIHZwOF9zaXh0YXBfcHJl
ZGljdDR4NCB2cDhfc2l4dGFwX3ByZWRpY3Q0eDRfYwotCi12b2lkIHZwOF9zaXh0YXBfcHJlZGlj
dDh4NF9jKHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeG9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlvZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdF9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwotI2RlZmluZSB2cDhf
c2l4dGFwX3ByZWRpY3Q4eDQgdnA4X3NpeHRhcF9wcmVkaWN0OHg0X2MKLQotdm9pZCB2cDhfc2l4
dGFwX3ByZWRpY3Q4eDhfYyh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3BpeGVsc19wZXJfbGluZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBk
c3RfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKLSNk
ZWZpbmUgdnA4X3NpeHRhcF9wcmVkaWN0OHg4IHZwOF9zaXh0YXBfcHJlZGljdDh4OF9jCi0KLXZv
aWQgdnA4X3J0Y2Qodm9pZCk7Ci0KLSNpbmNsdWRlICJ2cHhfY29uZmlnLmgiCi0KLSNpZmRlZiBS
VENEX0MKLSNpbmNsdWRlICJ2cHhfcG9ydHMvcHBjLmgiCi1zdGF0aWMgdm9pZCBzZXR1cF9ydGNk
X2ludGVybmFsKHZvaWQpIHsKLSAgaW50IGZsYWdzID0gcHBjX3NpbWRfY2FwcygpOwotICAodm9p
ZClmbGFnczsKLX0KLSNlbmRpZgotCi0jaWZkZWYgX19jcGx1c3BsdXMKLX0gIC8vIGV4dGVybiAi
QyIKLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQv
dnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnA5X3J0Y2QuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDBjZWVjMWZkMjhlLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9saW51eC9wcGM2NC92cDlfcnRjZC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTkzICsw
LDAgQEAKLS8vIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQuIERvIG5vdCBlZGl0LgotI2lmbmRlZiBW
UDlfUlRDRF9IXwotI2RlZmluZSBWUDlfUlRDRF9IXwotCi0jaWZkZWYgUlRDRF9DCi0jZGVmaW5l
IFJUQ0RfRVhURVJOCi0jZWxzZQotI2RlZmluZSBSVENEX0VYVEVSTiBleHRlcm4KLSNlbmRpZgot
Ci0vKgotICogVlA5Ci0gKi8KLQotI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X2NvbW1vbi5oIgot
I2luY2x1ZGUgInZwOS9jb21tb24vdnA5X2VudW1zLmgiCi0jaW5jbHVkZSAidnA5L2NvbW1vbi92
cDlfZmlsdGVyLmgiCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0KLXN0cnVjdCBtYWNy
b2Jsb2NrZDsKLQotLyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCi1zdHJ1Y3QgbWFjcm9ibG9j
azsKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9zYWRfdGFibGU7Ci1zdHJ1
Y3QgU2Nhbk9yZGVyOwotc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsKLXN0cnVjdCBtdjsKLXVu
aW9uIGludF9tdjsKLXN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWc7Ci0KLSNpZmRlZiBfX2NwbHVz
cGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQotaW50NjRfdCB2cDlfYmxvY2tfZXJyb3JfYyhj
b25zdCB0cmFuX2xvd190KiBjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dHJhbl9sb3dfdCogZHFjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qg
YmxvY2tfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCogc3N6KTsKLSNk
ZWZpbmUgdnA5X2Jsb2NrX2Vycm9yIHZwOV9ibG9ja19lcnJvcl9jCi0KLWludDY0X3QgdnA5X2Js
b2NrX2Vycm9yX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBibG9ja19zaXplKTsKLSNkZWZpbmUgdnA5X2Jsb2NrX2Vycm9yX2Zw
IHZwOV9ibG9ja19lcnJvcl9mcF9jCi0KLWludCB2cDlfZGVub2lzZXJfZmlsdGVyX2MoY29uc3Qg
dWludDhfdCogc2lnLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2lnX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbWNfYXZnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgbWNfYXZnX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDhfdCogYXZnLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXZn
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluY3JlYXNlX2Rlbm9pc2lu
ZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQkxPQ0tfU0laRSBicywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IG1vdGlvbl9tYWduaXR1ZGUpOwotI2RlZmluZSB2cDlfZGVub2lz
ZXJfZmlsdGVyIHZwOV9kZW5vaXNlcl9maWx0ZXJfYwotCi1pbnQgdnA5X2RpYW1vbmRfc2VhcmNo
X3NhZF9jKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnKiBjZmcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNlYXJjaF9wYXJhbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9w
ZXJfYml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG51bTAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2Zu
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50
ZXJfbXYpOwotI2RlZmluZSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkIHZwOV9kaWFtb25kX3NlYXJj
aF9zYWRfYwotCi12b2lkIHZwOV9maHQxNngxNl9jKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAg
IGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUg
dnA5X2ZodDE2eDE2IHZwOV9maHQxNngxNl9jCi0KLXZvaWQgdnA5X2ZodDR4NF9jKGNvbnN0IGlu
dDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgIGludCB0eF90eXBl
KTsKLSNkZWZpbmUgdnA5X2ZodDR4NCB2cDlfZmh0NHg0X2MKLQotdm9pZCB2cDlfZmh0OHg4X2Mo
Y29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRw
dXQsCi0gICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgaW50
IHR4X3R5cGUpOwotI2RlZmluZSB2cDlfZmh0OHg4IHZwOV9maHQ4eDhfYwotCi12b2lkIHZwOV9m
aWx0ZXJfYnlfd2VpZ2h0MTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY193ZWlnaHQpOwotI2RlZmluZSB2cDlfZmlsdGVyX2J5X3dlaWdodDE2eDE2IHZwOV9maWx0
ZXJfYnlfd2VpZ2h0MTZ4MTZfYwotCi12b2lkIHZwOV9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MoY29u
c3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7Ci0jZGVmaW5lIHZwOV9maWx0ZXJf
Ynlfd2VpZ2h0OHg4IHZwOV9maWx0ZXJfYnlfd2VpZ2h0OHg4X2MKLQotdm9pZCB2cDlfZndodDR4
NF9jKGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBvdXRwdXQsIGludCBzdHJpZGUp
OwotI2RlZmluZSB2cDlfZndodDR4NCB2cDlfZndodDR4NF9jCi0KLXZvaWQgdnA5X2lodDE2eDE2
XzI1Nl9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotdm9pZCB2
cDlfaWh0MTZ4MTZfMjU2X2FkZF92c3goY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2lodDE2eDE2XzI1Nl9hZGQgdnA5X2lodDE2eDE2XzI1
Nl9hZGRfdnN4Ci0KLXZvaWQgdnA5X2lodDR4NF8xNl9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBp
bnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHR4X3R5cGUpOwotdm9pZCB2cDlfaWh0NHg0XzE2X2FkZF92c3goY29uc3QgdHJhbl9sb3dfdCog
aW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2lodDR4NF8xNl9hZGQgdnA5X2lodDR4NF8x
Nl9hZGRfdnN4Ci0KLXZvaWQgdnA5X2lodDh4OF82NF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBp
bnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHR4X3R5cGUpOwotdm9pZCB2cDlfaWh0OHg4XzY0X2FkZF92c3goY29uc3QgdHJhbl9sb3dfdCog
aW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2lodDh4OF82NF9hZGQgdnA5X2lodDh4OF82
NF9hZGRfdnN4Ci0KLXZvaWQgdnA5X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1i
X3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X3F1YW50aXpl
X2ZwX3ZzeChjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2
X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5P
cmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci0jZGVmaW5lIHZwOV9xdWFudGl6ZV9mcCB2cDlfcXVh
bnRpemVfZnBfdnN4Ci0KLXZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2MoY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBu
X2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X3F1YW50aXplX2ZwXzMy
eDMyX3ZzeChjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7Ci0jZGVmaW5lIHZwOV9xdWFudGl6ZV9mcF8zMngzMiB2cDlfcXVhbnRpemVfZnBf
MzJ4MzJfdnN4Ci0KLXZvaWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhjb25zdCBzdHJ1
Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIElOVEVSUF9GSUxURVIgZmlsdGVyX3R5cGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHBoYXNlX3NjYWxlcik7Ci0jZGVmaW5lIHZwOV9zY2Fs
ZV9hbmRfZXh0ZW5kX2ZyYW1lIHZwOV9zY2FsZV9hbmRfZXh0ZW5kX2ZyYW1lX2MKLQotdm9pZCB2
cDlfcnRjZCh2b2lkKTsKLQotI2luY2x1ZGUgInZweF9jb25maWcuaCIKLQotI2lmZGVmIFJUQ0Rf
QwotI2luY2x1ZGUgInZweF9wb3J0cy9wcGMuaCIKLXN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50
ZXJuYWwodm9pZCkgewotICBpbnQgZmxhZ3MgPSBwcGNfc2ltZF9jYXBzKCk7Ci0gICh2b2lkKWZs
YWdzOwotfQotI2VuZGlmCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfSAgLy8gZXh0ZXJuICJDIgot
I2VuZGlmCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhf
Y29uZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5hc20KZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZWU0ZjEyOWU0Yy4uMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5hc20KKysrIC9kZXYvbnVsbApAQCAt
MSwxMDYgKzAsMCBAQAotQCBUaGlzIGZpbGUgd2FzIGNyZWF0ZWQgZnJvbSBhIC5hc20gZmlsZQot
QCAgdXNpbmcgdGhlIGFkczJnYXMucGwgc2NyaXB0LgotLnN5bnRheCB1bmlmaWVkCi0uZXF1IFZQ
WF9BUkNIX0FSTSAsICAwCi0uZXF1IEFSQ0hfQVJNICwgIDAKLS5lcXUgVlBYX0FSQ0hfQUFSQ0g2
NCAsICAwCi0uZXF1IEFSQ0hfQUFSQ0g2NCAsICAwCi0uZXF1IFZQWF9BUkNIX01JUFMgLCAgMAot
LmVxdSBBUkNIX01JUFMgLCAgMAotLmVxdSBWUFhfQVJDSF9YODYgLCAgMAotLmVxdSBBUkNIX1g4
NiAsICAwCi0uZXF1IFZQWF9BUkNIX1g4Nl82NCAsICAwCi0uZXF1IEFSQ0hfWDg2XzY0ICwgIDAK
LS5lcXUgVlBYX0FSQ0hfUFBDICwgIDEKLS5lcXUgQVJDSF9QUEMgLCAgMQotLmVxdSBWUFhfQVJD
SF9MT09OR0FSQ0ggLCAgMAotLmVxdSBBUkNIX0xPT05HQVJDSCAsICAwCi0uZXF1IEhBVkVfTkVP
Tl9BU00gLCAgMAotLmVxdSBIQVZFX05FT04gLCAgMAotLmVxdSBIQVZFX05FT05fRE9UUFJPRCAs
ICAwCi0uZXF1IEhBVkVfTkVPTl9JOE1NICwgIDAKLS5lcXUgSEFWRV9NSVBTMzIgLCAgMAotLmVx
dSBIQVZFX0RTUFIyICwgIDAKLS5lcXUgSEFWRV9NU0EgLCAgMAotLmVxdSBIQVZFX01JUFM2NCAs
ICAwCi0uZXF1IEhBVkVfTU1YICwgIDAKLS5lcXUgSEFWRV9TU0UgLCAgMAotLmVxdSBIQVZFX1NT
RTIgLCAgMAotLmVxdSBIQVZFX1NTRTMgLCAgMAotLmVxdSBIQVZFX1NTU0UzICwgIDAKLS5lcXUg
SEFWRV9TU0U0XzEgLCAgMAotLmVxdSBIQVZFX0FWWCAsICAwCi0uZXF1IEhBVkVfQVZYMiAsICAw
Ci0uZXF1IEhBVkVfQVZYNTEyICwgIDAKLS5lcXUgSEFWRV9WU1ggLCAgMAotLmVxdSBIQVZFX01N
SSAsICAwCi0uZXF1IEhBVkVfTFNYICwgIDAKLS5lcXUgSEFWRV9MQVNYICwgIDAKLS5lcXUgSEFW
RV9WUFhfUE9SVFMgLCAgMQotLmVxdSBIQVZFX1BUSFJFQURfSCAsICAxCi0uZXF1IEhBVkVfVU5J
U1REX0ggLCAgMAotLmVxdSBDT05GSUdfREVQRU5ERU5DWV9UUkFDS0lORyAsICAxCi0uZXF1IENP
TkZJR19FWFRFUk5BTF9CVUlMRCAsICAxCi0uZXF1IENPTkZJR19JTlNUQUxMX0RPQ1MgLCAgMAot
LmVxdSBDT05GSUdfSU5TVEFMTF9CSU5TICwgIDEKLS5lcXUgQ09ORklHX0lOU1RBTExfTElCUyAs
ICAxCi0uZXF1IENPTkZJR19JTlNUQUxMX1NSQ1MgLCAgMAotLmVxdSBDT05GSUdfREVCVUcgLCAg
MAotLmVxdSBDT05GSUdfR1BST0YgLCAgMAotLmVxdSBDT05GSUdfR0NPViAsICAwCi0uZXF1IENP
TkZJR19SVkNUICwgIDAKLS5lcXUgQ09ORklHX0dDQyAsICAxCi0uZXF1IENPTkZJR19NU1ZTICwg
IDAKLS5lcXUgQ09ORklHX1BJQyAsICAwCi0uZXF1IENPTkZJR19CSUdfRU5ESUFOICwgIDAKLS5l
cXUgQ09ORklHX0NPREVDX1NSQ1MgLCAgMAotLmVxdSBDT05GSUdfREVCVUdfTElCUyAsICAwCi0u
ZXF1IENPTkZJR19ERVFVQU5UX1RPS0VOUyAsICAwCi0uZXF1IENPTkZJR19EQ19SRUNPTiAsICAw
Ci0uZXF1IENPTkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgLCAgMAotLmVxdSBDT05GSUdfUE9TVFBS
T0MgLCAgMQotLmVxdSBDT05GSUdfVlA5X1BPU1RQUk9DICwgIDEKLS5lcXUgQ09ORklHX01VTFRJ
VEhSRUFEICwgIDEKLS5lcXUgQ09ORklHX0lOVEVSTkFMX1NUQVRTICwgIDAKLS5lcXUgQ09ORklH
X1ZQOF9FTkNPREVSICwgIDEKLS5lcXUgQ09ORklHX1ZQOF9ERUNPREVSICwgIDEKLS5lcXUgQ09O
RklHX1ZQOV9FTkNPREVSICwgIDEKLS5lcXUgQ09ORklHX1ZQOV9ERUNPREVSICwgIDEKLS5lcXUg
Q09ORklHX1ZQOCAsICAxCi0uZXF1IENPTkZJR19WUDkgLCAgMQotLmVxdSBDT05GSUdfRU5DT0RF
UlMgLCAgMQotLmVxdSBDT05GSUdfREVDT0RFUlMgLCAgMQotLmVxdSBDT05GSUdfU1RBVElDX01T
VkNSVCAsICAwCi0uZXF1IENPTkZJR19TUEFUSUFMX1JFU0FNUExJTkcgLCAgMQotLmVxdSBDT05G
SUdfUkVBTFRJTUVfT05MWSAsICAxCi0uZXF1IENPTkZJR19PTlRIRUZMWV9CSVRQQUNLSU5HICwg
IDAKLS5lcXUgQ09ORklHX0VSUk9SX0NPTkNFQUxNRU5UICwgIDAKLS5lcXUgQ09ORklHX1NIQVJF
RCAsICAwCi0uZXF1IENPTkZJR19TVEFUSUMgLCAgMQotLmVxdSBDT05GSUdfU01BTEwgLCAgMAot
LmVxdSBDT05GSUdfUE9TVFBST0NfVklTVUFMSVpFUiAsICAwCi0uZXF1IENPTkZJR19PU19TVVBQ
T1JUICwgIDEKLS5lcXUgQ09ORklHX1VOSVRfVEVTVFMgLCAgMQotLmVxdSBDT05GSUdfV0VCTV9J
TyAsICAxCi0uZXF1IENPTkZJR19MSUJZVVYgLCAgMAotLmVxdSBDT05GSUdfREVDT0RFX1BFUkZf
VEVTVFMgLCAgMAotLmVxdSBDT05GSUdfRU5DT0RFX1BFUkZfVEVTVFMgLCAgMAotLmVxdSBDT05G
SUdfTVVMVElfUkVTX0VOQ09ESU5HICwgIDEKLS5lcXUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lO
RyAsICAxCi0uZXF1IENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HICwgIDEKLS5lcXUgQ09O
RklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HICwgIDAKLS5lcXUgQ09ORklHX1ZQOV9ISUdI
QklUREVQVEggLCAgMAotLmVxdSBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgLCAgMAot
LmVxdSBDT05GSUdfRVhQRVJJTUVOVEFMICwgIDAKLS5lcXUgQ09ORklHX1NJWkVfTElNSVQgLCAg
MQotLmVxdSBDT05GSUdfQUxXQVlTX0FESlVTVF9CUE0gLCAgMAotLmVxdSBDT05GSUdfQklUU1RS
RUFNX0RFQlVHICwgIDAKLS5lcXUgQ09ORklHX01JU01BVENIX0RFQlVHICwgIDAKLS5lcXUgQ09O
RklHX0ZQX01CX1NUQVRTICwgIDAKLS5lcXUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUgLCAgMAot
LmVxdSBDT05GSUdfTk9OX0dSRUVEWV9NViAsICAwCi0uZXF1IENPTkZJR19SQVRFX0NUUkwgLCAg
MAotLmVxdSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HICwgIDAKLS5lcXUgREVDT0RF
X1dJRFRIX0xJTUlUICwgIDE2Mzg0Ci0uZXF1IERFQ09ERV9IRUlHSFRfTElNSVQgLCAgMTYzODQK
LSAgICAuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssIiIsJXByb2diaXRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBj
NjQvdnB4X2NvbmZpZy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Yjg3MGU3YjFj
YTQuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcu
YworKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgMjAxMSBU
aGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICovCi0vKiAgKi8K
LS8qIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UgKi8KLS8qIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhl
IHJvb3Qgb2YgdGhlIHNvdXJjZSAqLwotLyogdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1
YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZCAqLwotLyogaW4gdGhlIGZpbGUg
UEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heSAqLwotLyogYmUg
Zm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUu
ICovCi0jaW5jbHVkZSAidnB4L3ZweF9jb2RlYy5oIgotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IGNmZyA9ICItLXRhcmdldD1wcGM2NGxlLWxpbnV4LWdjYyAtLWVuYWJsZS1leHRlcm5hbC1idWls
ZCAtLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2RpbmcgLS1lbmFibGUt
dGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1kZW5vaXNpbmcgLS1lbmFi
bGUtdnA5LXBvc3Rwcm9jIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCAtLWVuYWJsZS1yZWFsdGlt
ZS1vbmx5IC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgLS1kaXNhYmxlLWxpYnl1diI7Ci1jb25zdCBj
aGFyICp2cHhfY29kZWNfYnVpbGRfY29uZmlnKHZvaWQpIHtyZXR1cm4gY2ZnO30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51
eC9wcGM2NC92cHhfY29uZmlnLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwYzIw
MjlmNjUzZS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2Nv
bmZpZy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykg
MjAxMSBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICovCi0v
KiAgKi8KLS8qIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0
eWxlIGxpY2Vuc2UgKi8KLS8qIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSAqLwotLyogdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRl
bGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZCAqLwotLyogaW4gdGhl
IGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heSAqLwot
LyogYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl
IHRyZWUuICovCi0vKiBUaGlzIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgY29uZmln
dXJlLiBEbyBub3QgZWRpdCEgKi8KLSNpZm5kZWYgVlBYX0NPTkZJR19ICi0jZGVmaW5lIFZQWF9D
T05GSUdfSAotI2RlZmluZSBSRVNUUklDVCAgICAKLSNkZWZpbmUgSU5MSU5FICAgICAgaW5saW5l
Ci0jZGVmaW5lIFZQWF9BUkNIX0FSTSAwCi0jZGVmaW5lIEFSQ0hfQVJNIDAKLSNkZWZpbmUgVlBY
X0FSQ0hfQUFSQ0g2NCAwCi0jZGVmaW5lIEFSQ0hfQUFSQ0g2NCAwCi0jZGVmaW5lIFZQWF9BUkNI
X01JUFMgMAotI2RlZmluZSBBUkNIX01JUFMgMAotI2RlZmluZSBWUFhfQVJDSF9YODYgMAotI2Rl
ZmluZSBBUkNIX1g4NiAwCi0jZGVmaW5lIFZQWF9BUkNIX1g4Nl82NCAwCi0jZGVmaW5lIEFSQ0hf
WDg2XzY0IDAKLSNkZWZpbmUgVlBYX0FSQ0hfUFBDIDEKLSNkZWZpbmUgQVJDSF9QUEMgMQotI2Rl
ZmluZSBWUFhfQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBBUkNIX0xPT05HQVJDSCAwCi0jZGVm
aW5lIEhBVkVfTkVPTl9BU00gMAotI2RlZmluZSBIQVZFX05FT04gMAotI2RlZmluZSBIQVZFX05F
T05fRE9UUFJPRCAwCi0jZGVmaW5lIEhBVkVfTkVPTl9JOE1NIDAKLSNkZWZpbmUgSEFWRV9NSVBT
MzIgMAotI2RlZmluZSBIQVZFX0RTUFIyIDAKLSNkZWZpbmUgSEFWRV9NU0EgMAotI2RlZmluZSBI
QVZFX01JUFM2NCAwCi0jZGVmaW5lIEhBVkVfTU1YIDAKLSNkZWZpbmUgSEFWRV9TU0UgMAotI2Rl
ZmluZSBIQVZFX1NTRTIgMAotI2RlZmluZSBIQVZFX1NTRTMgMAotI2RlZmluZSBIQVZFX1NTU0Uz
IDAKLSNkZWZpbmUgSEFWRV9TU0U0XzEgMAotI2RlZmluZSBIQVZFX0FWWCAwCi0jZGVmaW5lIEhB
VkVfQVZYMiAwCi0jZGVmaW5lIEhBVkVfQVZYNTEyIDAKLSNkZWZpbmUgSEFWRV9WU1ggMAotI2Rl
ZmluZSBIQVZFX01NSSAwCi0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAK
LSNkZWZpbmUgSEFWRV9WUFhfUE9SVFMgMQotI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCi0jZGVm
aW5lIEhBVkVfVU5JU1REX0ggMAotI2RlZmluZSBDT05GSUdfREVQRU5ERU5DWV9UUkFDS0lORyAx
Ci0jZGVmaW5lIENPTkZJR19FWFRFUk5BTF9CVUlMRCAxCi0jZGVmaW5lIENPTkZJR19JTlNUQUxM
X0RPQ1MgMAotI2RlZmluZSBDT05GSUdfSU5TVEFMTF9CSU5TIDEKLSNkZWZpbmUgQ09ORklHX0lO
U1RBTExfTElCUyAxCi0jZGVmaW5lIENPTkZJR19JTlNUQUxMX1NSQ1MgMAotI2RlZmluZSBDT05G
SUdfREVCVUcgMAotI2RlZmluZSBDT05GSUdfR1BST0YgMAotI2RlZmluZSBDT05GSUdfR0NPViAw
Ci0jZGVmaW5lIENPTkZJR19SVkNUIDAKLSNkZWZpbmUgQ09ORklHX0dDQyAxCi0jZGVmaW5lIENP
TkZJR19NU1ZTIDAKLSNkZWZpbmUgQ09ORklHX1BJQyAwCi0jZGVmaW5lIENPTkZJR19CSUdfRU5E
SUFOIDAKLSNkZWZpbmUgQ09ORklHX0NPREVDX1NSQ1MgMAotI2RlZmluZSBDT05GSUdfREVCVUdf
TElCUyAwCi0jZGVmaW5lIENPTkZJR19ERVFVQU5UX1RPS0VOUyAwCi0jZGVmaW5lIENPTkZJR19E
Q19SRUNPTiAwCi0jZGVmaW5lIENPTkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgMAotI2RlZmluZSBD
T05GSUdfUE9TVFBST0MgMQotI2RlZmluZSBDT05GSUdfVlA5X1BPU1RQUk9DIDEKLSNkZWZpbmUg
Q09ORklHX01VTFRJVEhSRUFEIDEKLSNkZWZpbmUgQ09ORklHX0lOVEVSTkFMX1NUQVRTIDAKLSNk
ZWZpbmUgQ09ORklHX1ZQOF9FTkNPREVSIDEKLSNkZWZpbmUgQ09ORklHX1ZQOF9ERUNPREVSIDEK
LSNkZWZpbmUgQ09ORklHX1ZQOV9FTkNPREVSIDEKLSNkZWZpbmUgQ09ORklHX1ZQOV9ERUNPREVS
IDEKLSNkZWZpbmUgQ09ORklHX1ZQOCAxCi0jZGVmaW5lIENPTkZJR19WUDkgMQotI2RlZmluZSBD
T05GSUdfRU5DT0RFUlMgMQotI2RlZmluZSBDT05GSUdfREVDT0RFUlMgMQotI2RlZmluZSBDT05G
SUdfU1RBVElDX01TVkNSVCAwCi0jZGVmaW5lIENPTkZJR19TUEFUSUFMX1JFU0FNUExJTkcgMQot
I2RlZmluZSBDT05GSUdfUkVBTFRJTUVfT05MWSAxCi0jZGVmaW5lIENPTkZJR19PTlRIRUZMWV9C
SVRQQUNLSU5HIDAKLSNkZWZpbmUgQ09ORklHX0VSUk9SX0NPTkNFQUxNRU5UIDAKLSNkZWZpbmUg
Q09ORklHX1NIQVJFRCAwCi0jZGVmaW5lIENPTkZJR19TVEFUSUMgMQotI2RlZmluZSBDT05GSUdf
U01BTEwgMAotI2RlZmluZSBDT05GSUdfUE9TVFBST0NfVklTVUFMSVpFUiAwCi0jZGVmaW5lIENP
TkZJR19PU19TVVBQT1JUIDEKLSNkZWZpbmUgQ09ORklHX1VOSVRfVEVTVFMgMQotI2RlZmluZSBD
T05GSUdfV0VCTV9JTyAxCi0jZGVmaW5lIENPTkZJR19MSUJZVVYgMAotI2RlZmluZSBDT05GSUdf
REVDT0RFX1BFUkZfVEVTVFMgMAotI2RlZmluZSBDT05GSUdfRU5DT0RFX1BFUkZfVEVTVFMgMAot
I2RlZmluZSBDT05GSUdfTVVMVElfUkVTX0VOQ09ESU5HIDEKLSNkZWZpbmUgQ09ORklHX1RFTVBP
UkFMX0RFTk9JU0lORyAxCi0jZGVmaW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEK
LSNkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HIDAKLSNkZWZpbmUgQ09O
RklHX1ZQOV9ISUdIQklUREVQVEggMAotI2RlZmluZSBDT05GSUdfQkVUVEVSX0hXX0NPTVBBVElC
SUxJVFkgMAotI2RlZmluZSBDT05GSUdfRVhQRVJJTUVOVEFMIDAKLSNkZWZpbmUgQ09ORklHX1NJ
WkVfTElNSVQgMQotI2RlZmluZSBDT05GSUdfQUxXQVlTX0FESlVTVF9CUE0gMAotI2RlZmluZSBD
T05GSUdfQklUU1RSRUFNX0RFQlVHIDAKLSNkZWZpbmUgQ09ORklHX01JU01BVENIX0RFQlVHIDAK
LSNkZWZpbmUgQ09ORklHX0ZQX01CX1NUQVRTIDAKLSNkZWZpbmUgQ09ORklHX0VNVUxBVEVfSEFS
RFdBUkUgMAotI2RlZmluZSBDT05GSUdfTk9OX0dSRUVEWV9NViAwCi0jZGVmaW5lIENPTkZJR19S
QVRFX0NUUkwgMAotI2RlZmluZSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HIDAKLSNk
ZWZpbmUgREVDT0RFX1dJRFRIX0xJTUlUIDE2Mzg0Ci0jZGVmaW5lIERFQ09ERV9IRUlHSFRfTElN
SVQgMTYzODQKLSNlbmRpZiAvKiBWUFhfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25m
aWcvbGludXgvcHBjNjQvdnB4X2RzcF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3Zw
eF9kc3BfcnRjZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmN2M3NDdlNTkyM2Iu
LjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9kc3BfcnRjZC5o
CisrKyAvZGV2L251bGwKQEAgLTEsMjEyMCArMCwwIEBACi0vLyBUaGlzIGZpbGUgaXMgZ2VuZXJh
dGVkLiBEbyBub3QgZWRpdC4KLSNpZm5kZWYgVlBYX0RTUF9SVENEX0hfCi0jZGVmaW5lIFZQWF9E
U1BfUlRDRF9IXwotCi0jaWZkZWYgUlRDRF9DCi0jZGVmaW5lIFJUQ0RfRVhURVJOCi0jZWxzZQot
I2RlZmluZSBSVENEX0VYVEVSTiBleHRlcm4KLSNlbmRpZgotCi0vKgotICogRFNQCi0gKi8KLQot
I2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgotI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9j
b21tb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL3ZweF9maWx0ZXIuaCIKLSNpZiBDT05GSUdfVlA5
X0VOQ09ERVIKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IFNjYW5PcmRlcjsKLSNl
bmRpZgotCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLXVuc2ln
bmVkIGludCB2cHhfYXZnXzR4NF9jKGNvbnN0IHVpbnQ4X3QqLCBpbnQgcCk7Ci0jZGVmaW5lIHZw
eF9hdmdfNHg0IHZweF9hdmdfNHg0X2MKLQotdW5zaWduZWQgaW50IHZweF9hdmdfOHg4X2MoY29u
c3QgdWludDhfdCosIGludCBwKTsKLSNkZWZpbmUgdnB4X2F2Z184eDggdnB4X2F2Z184eDhfYwot
Ci12b2lkIHZweF9jb21wX2F2Z19wcmVkX2ModWludDhfdCogY29tcF9wcmVkLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXZvaWQgdnB4X2NvbXBfYXZnX3ByZWRfdnN4
KHVpbnQ4X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfY29tcF9hdmdfcHJlZCB2cHhfY29tcF9hdmdfcHJl
ZF92c3gKLQotdm9pZCB2cHhfY29udm9sdmU4X2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAg
ICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgaW50IHhf
c3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAg
ICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF92c3goY29uc3QgdWlu
dDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
SW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgaW50
IGgpOwotI2RlZmluZSB2cHhfY29udm9sdmU4IHZweF9jb252b2x2ZThfdnN4Ci0KLXZvaWQgdnB4
X2NvbnZvbHZlOF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQg
dnB4X2NvbnZvbHZlOF9hdmdfdnN4KGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJu
ZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVw
X3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaCk7Ci0jZGVmaW5lIHZweF9jb252b2x2ZThfYXZnIHZweF9jb252b2x2
ZThfYXZnX3ZzeAotCi12b2lkIHZweF9jb252b2x2ZThfYXZnX2hvcml6X2MoY29uc3QgdWludDhf
dCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX2hvcml6X3Zz
eChjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJw
S2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgp
OwotI2RlZmluZSB2cHhfY29udm9sdmU4X2F2Z19ob3JpeiB2cHhfY29udm9sdmU4X2F2Z19ob3Jp
el92c3gKLQotdm9pZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2MoY29uc3QgdWludDhfdCogc3Jj
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF92c3goY29uc3QgdWludDhfdCog
c3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9z
dGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotI2RlZmluZSB2cHhfY29udm9sdmU4X2F2
Z192ZXJ0IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfdnN4Ci0KLXZvaWQgdnB4X2NvbnZvbHZlOF9o
b3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
aCk7Ci12b2lkIHZweF9jb252b2x2ZThfaG9yaXpfdnN4KGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLSNkZWZp
bmUgdnB4X2NvbnZvbHZlOF9ob3JpeiB2cHhfY29udm9sdmU4X2hvcml6X3ZzeAotCi12b2lkIHZw
eF9jb252b2x2ZThfdmVydF9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmls
dGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF92ZXJ0X3ZzeChjb25zdCB1aW50OF90KiBzcmMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLSNkZWZpbmUgdnB4X2Nv
bnZvbHZlOF92ZXJ0IHZweF9jb252b2x2ZThfdmVydF92c3gKLQotdm9pZCB2cHhfY29udm9sdmVf
YXZnX2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlX2F2Z192c3go
Y29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
c3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotI2RlZmluZSB2cHhf
Y29udm9sdmVfYXZnIHZweF9jb252b2x2ZV9hdmdfdnN4Ci0KLXZvaWQgdnB4X2NvbnZvbHZlX2Nv
cHlfYyhjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9z
dGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZl
X2NvcHlfdnN4KGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf
dCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaCk7Ci0jZGVmaW5lIHZweF9jb252b2x2ZV9jb3B5IHZweF9jb252b2x2ZV9jb3B5X3ZzeAot
Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDExN19w
cmVkaWN0b3JfMTZ4MTYgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X2MKLQotdm9pZCB2cHhfZDEx
N19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMy
IHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9jCi0KLXZvaWQgdnB4X2QxMTdfcHJlZGljdG9yXzR4
NF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBh
Ym92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQp
OwotI2RlZmluZSB2cHhfZDExN19wcmVkaWN0b3JfNHg0IHZweF9kMTE3X3ByZWRpY3Rvcl80eDRf
YwotCi12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGlj
dG9yXzh4OCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2MKLQotdm9pZCB2cHhfZDEzNV9wcmVkaWN0
b3JfMTZ4MTZfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2IHZweF9kMTM1
X3ByZWRpY3Rvcl8xNngxNl9jCi0KLXZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzMyeDMyX2ModWlu
dDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7
Ci0jZGVmaW5lIHZweF9kMTM1X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDEzNV9wcmVkaWN0b3JfMzJ4
MzJfYwotCi12b2lkIHZweF9kMTM1X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMzVfcHJl
ZGljdG9yXzR4NCB2cHhfZDEzNV9wcmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2cHhfZDEzNV9wcmVk
aWN0b3JfOHg4X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTM1X3ByZWRpY3Rvcl84eDggdnB4X2QxMzVfcHJlZGlj
dG9yXzh4OF9jCi0KLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5l
IHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfYwotCi12
b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVk
aWN0b3JfMzJ4MzIgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyX2MKLQotdm9pZCB2cHhfZDE1M19w
cmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl80eDQgdnB4X2QxNTNfcHJl
ZGljdG9yXzR4NF9jCi0KLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhf
ZDE1M19wcmVkaWN0b3JfOHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF9k
MjA3X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4
MTYgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2X2MKLQotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3Jf
MzJ4MzJfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9kMjA3X3By
ZWRpY3Rvcl8zMngzMl9jCi0KLXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3Qq
IGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2
cHhfZDIwN19wcmVkaWN0b3JfNHg0IHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYwotCi12b2lkIHZw
eF9kMjA3X3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzh4OCB2cHhf
ZDIwN19wcmVkaWN0b3JfOHg4X2MKLQotdm9pZCB2cHhfZDQ1X3ByZWRpY3Rvcl8xNngxNl9jKHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwot
dm9pZCB2cHhfZDQ1X3ByZWRpY3Rvcl8xNngxNl92c3godWludDhfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNDVf
cHJlZGljdG9yXzE2eDE2IHZweF9kNDVfcHJlZGljdG9yXzE2eDE2X3ZzeAotCi12b2lkIHZweF9k
NDVfcHJlZGljdG9yXzMyeDMyX2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNDVfcHJlZGljdG9yXzMyeDMyX3ZzeCh1
aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
YWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBs
ZWZ0KTsKLSNkZWZpbmUgdnB4X2Q0NV9wcmVkaWN0b3JfMzJ4MzIgdnB4X2Q0NV9wcmVkaWN0b3Jf
MzJ4MzJfdnN4Ci0KLXZvaWQgdnB4X2Q0NV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNDVfcHJl
ZGljdG9yXzR4NCB2cHhfZDQ1X3ByZWRpY3Rvcl80eDRfYwotCi12b2lkIHZweF9kNDVfcHJlZGlj
dG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotI2RlZmluZSB2cHhfZDQ1X3ByZWRpY3Rvcl84eDggdnB4X2Q0NV9wcmVkaWN0b3JfOHg4
X2MKLQotdm9pZCB2cHhfZDQ1ZV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNDVlX3ByZWRp
Y3Rvcl80eDQgdnB4X2Q0NWVfcHJlZGljdG9yXzR4NF9jCi0KLXZvaWQgdnB4X2Q2M19wcmVkaWN0
b3JfMTZ4MTZfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTZfdnN4KHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2Rl
ZmluZSB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl92c3gK
LQotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rv
cl8zMngzMl92c3godWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyIHZweF9k
NjNfcHJlZGljdG9yXzMyeDMyX3ZzeAotCi12b2lkIHZweF9kNjNfcHJlZGljdG9yXzR4NF9jKHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmlu
ZSB2cHhfZDYzX3ByZWRpY3Rvcl80eDQgdnB4X2Q2M19wcmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2
cHhfZDYzX3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfOHg4IHZweF9kNjNf
cHJlZGljdG9yXzh4OF9jCi0KLXZvaWQgdnB4X2Q2M2VfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3Qq
IGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2
cHhfZDYzZV9wcmVkaWN0b3JfNHg0IHZweF9kNjNlX3ByZWRpY3Rvcl80eDRfYwotCi12b2lkIHZw
eF9kY18xMjhfcHJlZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kY18xMjhfcHJl
ZGljdG9yXzE2eDE2X3ZzeCh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2RjXzEyOF9wcmVk
aWN0b3JfMTZ4MTYgdnB4X2RjXzEyOF9wcmVkaWN0b3JfMTZ4MTZfdnN4Ci0KLXZvaWQgdnB4X2Rj
XzEyOF9wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2RjXzEyOF9wcmVkaWN0
b3JfMzJ4MzJfdnN4KHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZGNfMTI4X3ByZWRpY3Rv
cl8zMngzMiB2cHhfZGNfMTI4X3ByZWRpY3Rvcl8zMngzMl92c3gKLQotdm9pZCB2cHhfZGNfMTI4
X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2RjXzEyOF9wcmVkaWN0b3JfNHg0IHZw
eF9kY18xMjhfcHJlZGljdG9yXzR4NF9jCi0KLXZvaWQgdnB4X2RjXzEyOF9wcmVkaWN0b3JfOHg4
X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
bGVmdCk7Ci0jZGVmaW5lIHZweF9kY18xMjhfcHJlZGljdG9yXzh4OCB2cHhfZGNfMTI4X3ByZWRp
Y3Rvcl84eDhfYwotCi12b2lkIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3Qq
IGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotdm9pZCB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfMTZ4MTZfdnN4KHVpbnQ4X3QqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotI2RlZmluZSB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfMTZ4MTYgdnB4X2RjX2xlZnRfcHJl
ZGljdG9yXzE2eDE2X3ZzeAotCi12b2lkIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl8zMngzMl9jKHVp
bnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotdm9pZCB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfMzJ4MzJfdnN4KHVpbnQ4X3Qq
IGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfMzJ4MzIgdnB4X2RjX2xl
ZnRfcHJlZGljdG9yXzMyeDMyX3ZzeAotCi12b2lkIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl80eDRf
Yyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2RjX2xlZnRfcHJlZGljdG9yXzR4NCB2cHhfZGNfbGVmdF9w
cmVkaWN0b3JfNHg0X2MKLQotdm9pZCB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfOHg4X2ModWludDhf
dCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7
Ci0jZGVmaW5lIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl84eDggdnB4X2RjX2xlZnRfcHJlZGljdG9y
Xzh4OF9jCi0KLXZvaWQgdnB4X2RjX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZGNfcHJlZGlj
dG9yXzE2eDE2X3ZzeCh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2RjX3ByZWRpY3Rvcl8xNngxNiB2cHhfZGNf
cHJlZGljdG9yXzE2eDE2X3ZzeAotCi12b2lkIHZweF9kY19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50
OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQg
dnB4X2RjX3ByZWRpY3Rvcl8zMngzMl92c3godWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kY19wcmVkaWN0b3Jf
MzJ4MzIgdnB4X2RjX3ByZWRpY3Rvcl8zMngzMl92c3gKLQotdm9pZCB2cHhfZGNfcHJlZGljdG9y
XzR4NF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwot
I2RlZmluZSB2cHhfZGNfcHJlZGljdG9yXzR4NCB2cHhfZGNfcHJlZGljdG9yXzR4NF9jCi0KLXZv
aWQgdnB4X2RjX3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2RjX3ByZWRpY3Rvcl84eDggdnB4X2RjX3By
ZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF9kY190b3BfcHJlZGljdG9yXzE2eDE2X2ModWludDhf
dCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVm
dCk7Ci12b2lkIHZweF9kY190b3BfcHJlZGljdG9yXzE2eDE2X3ZzeCh1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LSNkZWZpbmUgdnB4X2RjX3RvcF9wcmVkaWN0b3JfMTZ4MTYgdnB4X2RjX3RvcF9wcmVkaWN0b3Jf
MTZ4MTZfdnN4Ci0KLXZvaWQgdnB4X2RjX3RvcF9wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsK
LXZvaWQgdnB4X2RjX3RvcF9wcmVkaWN0b3JfMzJ4MzJfdnN4KHVpbnQ4X3QqIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2Rl
ZmluZSB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8zMngzMiB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8zMngz
Ml92c3gKLQotdm9pZCB2cHhfZGNfdG9wX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4
X2RjX3RvcF9wcmVkaWN0b3JfNHg0IHZweF9kY190b3BfcHJlZGljdG9yXzR4NF9jCi0KLXZvaWQg
dnB4X2RjX3RvcF9wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kY190b3BfcHJlZGlj
dG9yXzh4OCB2cHhfZGNfdG9wX3ByZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF9mZGN0MTZ4MTZf
Yyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsK
LSNkZWZpbmUgdnB4X2ZkY3QxNngxNiB2cHhfZmRjdDE2eDE2X2MKLQotdm9pZCB2cHhfZmRjdDE2
eDE2XzFfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2ZkY3QxNngxNl8xIHZweF9mZGN0MTZ4MTZfMV9jCi0KLXZvaWQg
dnB4X2ZkY3QzMngzMl9jKGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBvdXRwdXQs
IGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfZmRjdDMyeDMyIHZweF9mZGN0MzJ4MzJfYwotCi12
b2lkIHZweF9mZGN0MzJ4MzJfMV9jKGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBv
dXRwdXQsIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfZmRjdDMyeDMyXzEgdnB4X2ZkY3QzMngz
Ml8xX2MKLQotdm9pZCB2cHhfZmRjdDMyeDMyX3JkX2MoY29uc3QgaW50MTZfdCogaW5wdXQsIHRy
YW5fbG93X3QqIG91dHB1dCwgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9mZGN0MzJ4MzJfcmRfdnN4
KGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBvdXRwdXQsIGludCBzdHJpZGUpOwot
I2RlZmluZSB2cHhfZmRjdDMyeDMyX3JkIHZweF9mZGN0MzJ4MzJfcmRfdnN4Ci0KLXZvaWQgdnB4
X2ZkY3Q0eDRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQg
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2ZkY3Q0eDQgdnB4X2ZkY3Q0eDRfYwotCi12b2lkIHZweF9m
ZGN0NHg0XzFfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQg
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2ZkY3Q0eDRfMSB2cHhfZmRjdDR4NF8xX2MKLQotdm9pZCB2
cHhfZmRjdDh4OF9jKGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBvdXRwdXQsIGlu
dCBzdHJpZGUpOwotI2RlZmluZSB2cHhfZmRjdDh4OCB2cHhfZmRjdDh4OF9jCi0KLXZvaWQgdnB4
X2ZkY3Q4eDhfMV9jKGNvbnN0IGludDE2X3QqIGlucHV0LCB0cmFuX2xvd190KiBvdXRwdXQsIGlu
dCBzdHJpZGUpOwotI2RlZmluZSB2cHhfZmRjdDh4OF8xIHZweF9mZGN0OHg4XzFfYwotCi12b2lk
IHZweF9nZXQxNngxNnZhcl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2dldDE2eDE2dmFyX3ZzeChjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0p
OwotI2RlZmluZSB2cHhfZ2V0MTZ4MTZ2YXIgdnB4X2dldDE2eDE2dmFyX3ZzeAotCi11bnNpZ25l
ZCBpbnQgdnB4X2dldDR4NHNzZV9jc19jKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2dldDR4NHNzZV9jc192c3goY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X2dldDR4NHNzZV9jcyB2cHhfZ2V0NHg0c3NlX2NzX3ZzeAotCi12b2lkIHZweF9nZXQ4
eDh2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsK
LXZvaWQgdnB4X2dldDh4OHZhcl92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgaW50KiBzdW0pOwotI2RlZmluZSB2cHhfZ2V0OHg4dmFyIHZweF9nZXQ4
eDh2YXJfdnN4Ci0KLXVuc2lnbmVkIGludCB2cHhfZ2V0X21iX3NzX2MoY29uc3QgaW50MTZfdCop
OwotdW5zaWduZWQgaW50IHZweF9nZXRfbWJfc3NfdnN4KGNvbnN0IGludDE2X3QqKTsKLSNkZWZp
bmUgdnB4X2dldF9tYl9zcyB2cHhfZ2V0X21iX3NzX3ZzeAotCi12b2lkIHZweF9oX3ByZWRpY3Rv
cl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotdm9pZCB2cHhfaF9wcmVkaWN0b3JfMTZ4MTZfdnN4KHVpbnQ4X3QqIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfaF9wcmVk
aWN0b3JfMTZ4MTYgdnB4X2hfcHJlZGljdG9yXzE2eDE2X3ZzeAotCi12b2lkIHZweF9oX3ByZWRp
Y3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotdm9pZCB2cHhfaF9wcmVkaWN0b3JfMzJ4MzJfdnN4KHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfaF9w
cmVkaWN0b3JfMzJ4MzIgdnB4X2hfcHJlZGljdG9yXzMyeDMyX3ZzeAotCi12b2lkIHZweF9oX3By
ZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0
KTsKLSNkZWZpbmUgdnB4X2hfcHJlZGljdG9yXzR4NCB2cHhfaF9wcmVkaWN0b3JfNHg0X2MKLQot
dm9pZCB2cHhfaF9wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9oX3ByZWRpY3Rvcl84eDggdnB4X2hfcHJlZGlj
dG9yXzh4OF9jCi0KLXZvaWQgdnB4X2hhZGFtYXJkXzE2eDE2X2MoY29uc3QgaW50MTZfdCogc3Jj
X2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBjb2VmZik7Ci12b2lkIHZweF9oYWRh
bWFyZF8xNngxNl92c3goY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50MTZfdCogY29lZmYpOwotI2RlZmluZSB2cHhfaGFkYW1hcmRfMTZ4MTYgdnB4X2hh
ZGFtYXJkXzE2eDE2X3ZzeAotCi12b2lkIHZweF9oYWRhbWFyZF8zMngzMl9jKGNvbnN0IGludDE2
X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogY29lZmYpOwotI2RlZmlu
ZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFtYXJkXzMyeDMyX2MKLQotdm9pZCB2cHhfaGFk
YW1hcmRfOHg4X2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludDE2
X3QqIGNvZWZmKTsKLXZvaWQgdnB4X2hhZGFtYXJkXzh4OF92c3goY29uc3QgaW50MTZfdCogc3Jj
X2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBjb2VmZik7Ci0jZGVmaW5lIHZweF9o
YWRhbWFyZF84eDggdnB4X2hhZGFtYXJkXzh4OF92c3gKLQotdm9pZCB2cHhfaGVfcHJlZGljdG9y
XzR4NF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwot
I2RlZmluZSB2cHhfaGVfcHJlZGljdG9yXzR4NCB2cHhfaGVfcHJlZGljdG9yXzR4NF9jCi0KLXZv
aWQgdnB4X2lkY3QxNngxNl8xMF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhf
dCogZGVzdCwgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9pZGN0MTZ4MTZfMTBfYWRkIHZweF9p
ZGN0MTZ4MTZfMTBfYWRkX2MKLQotdm9pZCB2cHhfaWRjdDE2eDE2XzFfYWRkX2MoY29uc3QgdHJh
bl9sb3dfdCogaW5wdXQsIHVpbnQ4X3QqIGRlc3QsIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhf
aWRjdDE2eDE2XzFfYWRkIHZweF9pZGN0MTZ4MTZfMV9hZGRfYwotCi12b2lkIHZweF9pZGN0MTZ4
MTZfMjU2X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3RyaWRlKTsKLXZvaWQgdnB4X2lkY3QxNngxNl8yNTZfYWRkX3ZzeChjb25zdCB0cmFuX2xv
d190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2
cHhfaWRjdDE2eDE2XzI1Nl9hZGQgdnB4X2lkY3QxNngxNl8yNTZfYWRkX3ZzeAotCi12b2lkIHZw
eF9pZGN0MTZ4MTZfMzhfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsIHVpbnQ4X3QqIGRl
c3QsIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaWRjdDE2eDE2XzM4X2FkZCB2cHhfaWRjdDE2
eDE2XzM4X2FkZF9jCi0KLXZvaWQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9jKGNvbnN0IHRyYW5f
bG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotdm9pZCB2cHhf
aWRjdDMyeDMyXzEwMjRfYWRkX3ZzeChjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9pZGN0MzJ4MzJfMTAyNF9h
ZGQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF92c3gKLQotdm9pZCB2cHhfaWRjdDMyeDMyXzEzNV9h
ZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlk
ZSk7Ci0jZGVmaW5lIHZweF9pZGN0MzJ4MzJfMTM1X2FkZCB2cHhfaWRjdDMyeDMyXzEzNV9hZGRf
YwotCi12b2lkIHZweF9pZGN0MzJ4MzJfMV9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwg
dWludDhfdCogZGVzdCwgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9pZGN0MzJ4MzJfMV9hZGQg
dnB4X2lkY3QzMngzMl8xX2FkZF9jCi0KLXZvaWQgdnB4X2lkY3QzMngzMl8zNF9hZGRfYyhjb25z
dCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhfdCogZGVzdCwgaW50IHN0cmlkZSk7Ci0jZGVmaW5l
IHZweF9pZGN0MzJ4MzJfMzRfYWRkIHZweF9pZGN0MzJ4MzJfMzRfYWRkX2MKLQotdm9pZCB2cHhf
aWRjdDR4NF8xNl9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhfdCogZGVzdCwg
aW50IHN0cmlkZSk7Ci12b2lkIHZweF9pZGN0NHg0XzE2X2FkZF92c3goY29uc3QgdHJhbl9sb3df
dCogaW5wdXQsIHVpbnQ4X3QqIGRlc3QsIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaWRjdDR4
NF8xNl9hZGQgdnB4X2lkY3Q0eDRfMTZfYWRkX3ZzeAotCi12b2lkIHZweF9pZGN0NHg0XzFfYWRk
X2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsIHVpbnQ4X3QqIGRlc3QsIGludCBzdHJpZGUpOwot
I2RlZmluZSB2cHhfaWRjdDR4NF8xX2FkZCB2cHhfaWRjdDR4NF8xX2FkZF9jCi0KLXZvaWQgdnB4
X2lkY3Q4eDhfMTJfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsIHVpbnQ4X3QqIGRlc3Qs
IGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaWRjdDh4OF8xMl9hZGQgdnB4X2lkY3Q4eDhfMTJf
YWRkX2MKLQotdm9pZCB2cHhfaWRjdDh4OF8xX2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0
LCB1aW50OF90KiBkZXN0LCBpbnQgc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2lkY3Q4eDhfMV9hZGQg
dnB4X2lkY3Q4eDhfMV9hZGRfYwotCi12b2lkIHZweF9pZGN0OHg4XzY0X2FkZF9jKGNvbnN0IHRy
YW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2lk
Y3Q4eDhfNjRfYWRkX3ZzeChjb25zdCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhfdCogZGVzdCwg
aW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9pZGN0OHg4XzY0X2FkZCB2cHhfaWRjdDh4OF82NF9h
ZGRfdnN4Ci0KLWludDE2X3QgdnB4X2ludF9wcm9fY29sX2MoY29uc3QgdWludDhfdCogcmVmLCBj
b25zdCBpbnQgd2lkdGgpOwotI2RlZmluZSB2cHhfaW50X3Byb19jb2wgdnB4X2ludF9wcm9fY29s
X2MKLQotdm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90IGhidWZbMTZdLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCi0gICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQg
aGVpZ2h0KTsKLSNkZWZpbmUgdnB4X2ludF9wcm9fcm93IHZweF9pbnRfcHJvX3Jvd19jCi0KLXZv
aWQgdnB4X2l3aHQ0eDRfMTZfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsIHVpbnQ4X3Qq
IGRlc3QsIGludCBzdHJpZGUpOwotdm9pZCB2cHhfaXdodDR4NF8xNl9hZGRfdnN4KGNvbnN0IHRy
YW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X2l3aHQ0eDRfMTZfYWRkIHZweF9pd2h0NHg0XzE2X2FkZF92c3gKLQotdm9pZCB2cHhfaXdodDR4
NF8xX2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2l3aHQ0eDRfMV9hZGQgdnB4X2l3aHQ0eDRfMV9hZGRfYwotCi12
b2lkIHZweF9scGZfaG9yaXpvbnRhbF8xNl9jKHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogdGhyZXNoKTsKLSNkZWZpbmUgdnB4X2xwZl9ob3Jpem9udGFsXzE2IHZweF9scGZfaG9yaXpv
bnRhbF8xNl9jCi0KLXZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzE2X2R1YWxfYyh1aW50OF90KiBz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGltaXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoKTsKLSNkZWZp
bmUgdnB4X2xwZl9ob3Jpem9udGFsXzE2X2R1YWwgdnB4X2xwZl9ob3Jpem9udGFsXzE2X2R1YWxf
YwotCi12b2lkIHZweF9scGZfaG9yaXpvbnRhbF80X2ModWludDhfdCogcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHRocmVzaCk7Ci0jZGVmaW5lIHZweF9scGZfaG9yaXpvbnRhbF80IHZweF9scGZfaG9yaXpv
bnRhbF80X2MKLQotdm9pZCB2cHhfbHBmX2hvcml6b250YWxfNF9kdWFsX2ModWludDhfdCogcywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdDAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1pdDAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0MSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0MSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaDEpOwotI2RlZmlu
ZSB2cHhfbHBmX2hvcml6b250YWxfNF9kdWFsIHZweF9scGZfaG9yaXpvbnRhbF80X2R1YWxfYwot
Ci12b2lkIHZweF9scGZfaG9yaXpvbnRhbF84X2ModWludDhfdCogcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHRocmVzaCk7Ci0jZGVmaW5lIHZweF9scGZfaG9yaXpvbnRhbF84IHZweF9scGZfaG9yaXpvbnRh
bF84X2MKLQotdm9pZCB2cHhfbHBmX2hvcml6b250YWxfOF9kdWFsX2ModWludDhfdCogcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1pdDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0MSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0MSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaDEpOwotI2RlZmluZSB2
cHhfbHBmX2hvcml6b250YWxfOF9kdWFsIHZweF9scGZfaG9yaXpvbnRhbF84X2R1YWxfYwotCi12
b2lkIHZweF9scGZfdmVydGljYWxfMTZfYyh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHBpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
bGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gp
OwotI2RlZmluZSB2cHhfbHBmX3ZlcnRpY2FsXzE2IHZweF9scGZfdmVydGljYWxfMTZfYwotCi12
b2lkIHZweF9scGZfdmVydGljYWxfMTZfZHVhbF9jKHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBwaXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogdGhyZXNoKTsKLSNkZWZpbmUgdnB4X2xwZl92ZXJ0aWNhbF8xNl9k
dWFsIHZweF9scGZfdmVydGljYWxfMTZfZHVhbF9jCi0KLXZvaWQgdnB4X2xwZl92ZXJ0aWNhbF80
X2ModWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpdGNoLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBibGltaXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxpbWl0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiB0aHJlc2gpOwotI2RlZmluZSB2cHhfbHBmX3ZlcnRpY2Fs
XzQgdnB4X2xwZl92ZXJ0aWNhbF80X2MKLQotdm9pZCB2cHhfbHBmX3ZlcnRpY2FsXzRfZHVhbF9j
KHVpbnQ4X3QqIHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpdGNoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGJsaW1pdDAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYmxpbWl0MSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsaW1pdDEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogdGhyZXNoMSk7Ci0jZGVmaW5l
IHZweF9scGZfdmVydGljYWxfNF9kdWFsIHZweF9scGZfdmVydGljYWxfNF9kdWFsX2MKLQotdm9p
ZCB2cHhfbHBmX3ZlcnRpY2FsXzhfYyh1aW50OF90KiBzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGJsaW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGltaXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRocmVzaCk7Ci0jZGVm
aW5lIHZweF9scGZfdmVydGljYWxfOCB2cHhfbHBmX3ZlcnRpY2FsXzhfYwotCi12b2lkIHZweF9s
cGZfdmVydGljYWxfOF9kdWFsX2ModWludDhfdCogcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYmxpbWl0MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsaW1pdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogdGhyZXNoMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBibGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxpbWl0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiB0aHJlc2gxKTsKLSNkZWZpbmUgdnB4X2xwZl92ZXJ0aWNhbF84X2R1YWwgdnB4X2xwZl92ZXJ0
aWNhbF84X2R1YWxfYwotCi12b2lkIHZweF9tYnBvc3RfcHJvY19hY3Jvc3NfaXBfYyh1bnNpZ25l
ZCBjaGFyKiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl0Y2gs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcm93cywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGZsaW1pdCk7Ci12b2lkIHZweF9tYnBvc3RfcHJvY19hY3Jvc3NfaXBfdnN4
KHVuc2lnbmVkIGNoYXIqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHBpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcm93cywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbHMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmbGltaXQpOwotI2RlZmluZSB2cHhfbWJwb3N0
X3Byb2NfYWNyb3NzX2lwIHZweF9tYnBvc3RfcHJvY19hY3Jvc3NfaXBfdnN4Ci0KLXZvaWQgdnB4
X21icG9zdF9wcm9jX2Rvd25fYyh1bnNpZ25lZCBjaGFyKiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHBpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
b3dzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBmbGltaXQpOwotdm9pZCB2cHhfbWJwb3N0X3Byb2NfZG93bl92
c3godW5zaWduZWQgY2hhciogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHBpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJvd3MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBmbGltaXQpOwotI2RlZmluZSB2cHhfbWJwb3N0X3Byb2NfZG93biB2cHhfbWJw
b3N0X3Byb2NfZG93bl92c3gKLQotdm9pZCB2cHhfbWlubWF4Xzh4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHMsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHAsCi0gICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogZCwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgZHAsCi0gICAgICAg
ICAgICAgICAgICAgICAgaW50KiBtaW4sCi0gICAgICAgICAgICAgICAgICAgICAgaW50KiBtYXgp
OwotI2RlZmluZSB2cHhfbWlubWF4Xzh4OCB2cHhfbWlubWF4Xzh4OF9jCi0KLXVuc2lnbmVkIGlu
dCB2cHhfbXNlMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotdW5zaWduZWQgaW50IHZweF9tc2UxNngxNl92c3goY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfbXNlMTZ4MTYgdnB4
X21zZTE2eDE2X3ZzeAotCi11bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhfdnN4
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmlu
ZSB2cHhfbXNlMTZ4OCB2cHhfbXNlMTZ4OF92c3gKLQotdW5zaWduZWQgaW50IHZweF9tc2U4eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50
IHZweF9tc2U4eDE2X3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLSNkZWZpbmUgdnB4X21zZTh4MTYgdnB4X21zZTh4MTZfdnN4Ci0KLXVuc2lnbmVk
IGludCB2cHhfbXNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X21zZTh4OF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X21zZTh4OCB2cHhfbXNlOHg4X3ZzeAotCi12b2lk
IHZweF9wbGFuZV9hZGRfbm9pc2VfYyh1aW50OF90KiBzdGFydCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDhfdCogbm9pc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYmxhY2tjbGFtcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aGl0ZWNs
YW1wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBwaXRjaCk7Ci0jZGVmaW5lIHZweF9wbGFuZV9hZGRfbm9pc2UgdnB4X3BsYW5lX2FkZF9ub2lz
ZV9jCi0KLXZvaWQgdnB4X3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfbWJfcm93X2ModW5zaWdu
ZWQgY2hhciogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBjaGFyKiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBmbGltaXRzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2l6ZSk7Ci12b2lkIHZweF9wb3N0X3Byb2Nf
ZG93bl9hbmRfYWNyb3NzX21iX3Jvd192c3godW5zaWduZWQgY2hhciogc3JjLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3Bp
dGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3RfcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgY2hhciogZmxpbWl0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2l6ZSk7Ci0jZGVmaW5lIHZweF9wb3N0X3Byb2NfZG93bl9hbmRf
YWNyb3NzX21iX3JvdyBcCi0gIHZweF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX21iX3Jvd192
c3gKLQotdm9pZCB2cHhfcXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnB4X3F1YW50aXplX2JfdnN4KGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5f
Y29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29l
ZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIp
OwotI2RlZmluZSB2cHhfcXVhbnRpemVfYiB2cHhfcXVhbnRpemVfYl92c3gKLQotdm9pZCB2cHhf
cXVhbnRpemVfYl8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKLXZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfdnN4KGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLSNkZWZpbmUgdnB4X3F1
YW50aXplX2JfMzJ4MzIgdnB4X3F1YW50aXplX2JfMzJ4MzJfdnN4Ci0KLXVuc2lnbmVkIGludCB2
cHhfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl92c3goY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X3NhZDE2eDE2IHZweF9zYWQxNngxNl92c3gKLQotdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9h
dmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX3ZzeChjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkMTZ4MTZfYXZnIHZweF9zYWQxNngxNl9h
dmdfdnN4Ci0KLXZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQxNngxNng0ZF92c3goY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDE2eDE2eDRk
IHZweF9zYWQxNngxNng0ZF92c3gKLQotdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZDE2eDMyX3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkMTZ4MzIgdnB4X3NhZDE2
eDMyX3ZzeAotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
dW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfdnN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0j
ZGVmaW5lIHZweF9zYWQxNngzMl9hdmcgdnB4X3NhZDE2eDMyX2F2Z192c3gKLQotdm9pZCB2cHhf
c2FkMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X3NhZDE2eDMyeDRkX3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkMTZ4MzJ4NGQgdnB4X3NhZDE2eDMyeDRkX3Zz
eAotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQxNng4X3ZzeChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
I2RlZmluZSB2cHhfc2FkMTZ4OCB2cHhfc2FkMTZ4OF92c3gKLQotdW5zaWduZWQgaW50IHZweF9z
YWQxNng4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX3ZzeChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQxNng4X2F2ZyB2cHhfc2FkMTZ4OF9hdmdf
dnN4Ci0KLXZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfc2FkMTZ4OHg0ZF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkMTZ4OHg0ZCB2cHhfc2FkMTZ4OHg0
ZF92c3gKLQotdW5zaWduZWQgaW50IHZweF9zYWQzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDMy
eDE2X3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkMzJ4MTYgdnB4X3NhZDMyeDE2X3ZzeAotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZDMyeDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZw
eF9zYWQzMngxNl9hdmdfdnN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQz
MngxNl9hdmcgdnB4X3NhZDMyeDE2X2F2Z192c3gKLQotdm9pZCB2cHhfc2FkMzJ4MTZ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDMyeDE2
eDRkX3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
I2RlZmluZSB2cHhfc2FkMzJ4MTZ4NGQgdnB4X3NhZDMyeDE2eDRkX3ZzeAotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfdnN4KGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5l
IHZweF9zYWQzMngzMiB2cHhfc2FkMzJ4MzJfdnN4Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4
MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2F2Z192c3go
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3NhZDMyeDMyX2F2ZyB2cHhfc2FkMzJ4
MzJfYXZnX3ZzeAotCi12b2lkIHZweF9zYWQzMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfdnN4KGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWQzMngz
Mng0ZCB2cHhfc2FkMzJ4MzJ4NGRfdnN4Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4NjRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWQzMng2NF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDMyeDY0IHZweF9z
YWQzMng2NF92c3gKLQotdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4NjRfYXZnX3ZzeChjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwotI2RlZmluZSB2cHhfc2FkMzJ4NjRfYXZnIHZweF9zYWQzMng2NF9hdmdfdnN4Ci0KLXZvaWQg
dnB4X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9zYWQzMng2NHg0ZF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDMyeDY0eDRkIHZweF9zYWQzMng2NHg0
ZF92c3gKLQotdW5zaWduZWQgaW50IHZweF9zYWQ0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkNHg0IHZweF9zYWQ0eDRf
YwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ0
eDRfYXZnIHZweF9zYWQ0eDRfYXZnX2MKLQotdm9pZCB2cHhfc2FkNHg0eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkNHg0eDRkIHZweF9zYWQ0eDR4
NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWQ0eDggdnB4X3NhZDR4OF9j
Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkNHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3NhZDR4
OF9hdmcgdnB4X3NhZDR4OF9hdmdfYwotCi12b2lkIHZweF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWQ0eDh4NGQgdnB4X3NhZDR4OHg0
ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHgz
Ml92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDY0eDMyIHZweF9zYWQ2NHgzMl92c3gKLQotdW5zaWdu
ZWQgaW50IHZweF9zYWQ2NHgzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhf
c2FkNjR4MzJfYXZnX3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkNjR4
MzJfYXZnIHZweF9zYWQ2NHgzMl9hdmdfdnN4Ci0KLXZvaWQgdnB4X3NhZDY0eDMyeDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ2NHgzMng0
ZF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNk
ZWZpbmUgdnB4X3NhZDY0eDMyeDRkIHZweF9zYWQ2NHgzMng0ZF92c3gKLQotdW5zaWduZWQgaW50
IHZweF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0X3ZzeChjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfc2FkNjR4NjQgdnB4X3NhZDY0eDY0X3ZzeAotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0
X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9hdmdfdnN4KGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ2NHg2NF9hdmcgdnB4X3NhZDY0eDY0
X2F2Z192c3gKLQotdm9pZCB2cHhfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDY0eDY0eDRkX3ZzeChjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkNjR4NjR4
NGQgdnB4X3NhZDY0eDY0eDRkX3ZzeAotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQg
aW50IHZweF9zYWQ4eDE2X3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkOHgxNiB2cHhfc2FkOHgxNl92c3gK
LQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9z
YWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9hdmdfYwotCi12b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDh4MTZ4NGQg
dnB4X3NhZDh4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Nh
ZDh4NF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4NCB2cHhfc2FkOHg0X3ZzeAotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZDh4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4eDRfYXZnIHZweF9zYWQ4eDRf
YXZnX2MKLQotdm9pZCB2cHhfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfc2FkOHg0eDRkIHZweF9zYWQ4eDR4NGRfYwotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF92c3goY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4OCB2cHhf
c2FkOHg4X3ZzeAotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5l
IHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZnX2MKLQotdm9pZCB2cHhfc2FkOHg4eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkOHg4eDRkIHZw
eF9zYWQ4eDh4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2IHZweF9zYWRfc2tpcF8xNngxNl9j
Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRf
c2tpcF8xNngxNng0ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2
eDMyIHZweF9zYWRfc2tpcF8xNngzMl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4
NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfMTZ4OCB2cHhfc2FkX3NraXBfMTZ4OF9jCi0KLXZvaWQgdnB4X3Nh
ZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OHg0ZCB2cHhfc2Fk
X3NraXBfMTZ4OHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4MTYgdnB4X3NhZF9za2lwXzMyeDE2
X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzMyeDE2eDRkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9jCi0KLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
MzJ4MzIgdnB4X3NhZF9za2lwXzMyeDMyX2MKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDMyeDRkIHZweF9zYWRfc2tpcF8zMngz
Mng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfMzJ4NjQgdnB4X3NhZF9za2lwXzMyeDY0X2MKLQotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMy
eDY0eDRkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBf
NHg0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
NHg0eDRkIHZweF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lwXzR4
OF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4
OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82
NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF82NHgzMiB2cHhfc2Fk
X3NraXBfNjR4MzJfYwotCi12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2MKLQotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF82NHg2NCB2cHhfc2FkX3NraXBfNjR4NjRfYwotCi12b2lkIHZweF9zYWRfc2tp
cF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4NjR4NGQgdnB4X3Nh
ZF9za2lwXzY0eDY0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTYgdnB4X3NhZF9za2lwXzh4MTZfYwot
Ci12b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4
MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
Xzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDQgdnB4X3NhZF9za2lwXzh4
NF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4
NHg0ZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg4IHZweF9zYWRfc2tpcF84eDhf
YwotCi12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDh4
NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9jCi0KLWludCB2cHhfc2F0ZF9jKGNvbnN0IGludDE2X3Qq
IGNvZWZmLCBpbnQgbGVuZ3RoKTsKLSNkZWZpbmUgdnB4X3NhdGQgdnB4X3NhdGRfYwotCi12b2lk
IHZweF9zY2FsZWRfMmRfYyhjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAg
ICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgaW50IHlf
c3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAg
ICAgaW50IGgpOwotI2RlZmluZSB2cHhfc2NhbGVkXzJkIHZweF9zY2FsZWRfMmRfYwotCi12b2lk
IHZweF9zY2FsZWRfYXZnXzJkX2MoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRl
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci0j
ZGVmaW5lIHZweF9zY2FsZWRfYXZnXzJkIHZweF9zY2FsZWRfYXZnXzJkX2MKLQotdm9pZCB2cHhf
c2NhbGVkX2F2Z19ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2Vy
bmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGgpOwotI2RlZmluZSB2cHhfc2NhbGVkX2F2Z19ob3JpeiB2
cHhfc2NhbGVkX2F2Z19ob3Jpel9jCi0KLXZvaWQgdnB4X3NjYWxlZF9hdmdfdmVydF9jKGNvbnN0
IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci0jZGVmaW5l
IHZweF9zY2FsZWRfYXZnX3ZlcnQgdnB4X3NjYWxlZF9hdmdfdmVydF9jCi0KLXZvaWQgdnB4X3Nj
YWxlZF9ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci0jZGVmaW5lIHZweF9zY2FsZWRf
aG9yaXogdnB4X3NjYWxlZF9ob3Jpel9jCi0KLXZvaWQgdnB4X3NjYWxlZF92ZXJ0X2MoY29uc3Qg
dWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAg
aW50IGgpOwotI2RlZmluZSB2cHhfc2NhbGVkX3ZlcnQgdnB4X3NjYWxlZF92ZXJ0X2MKLQotdWlu
dDMyX3QgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4
MTZfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0j
ZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIgdnB4X3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UxNngzMl9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OCB2cHhfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTE2eDhfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMy
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYgdnB4X3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Uz
MngzMiB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX2MKLQotdWludDMyX3QgdnB4X3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTMyeDY0IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYwotCi11aW50
MzJfdCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U0eDQgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYwotCi11aW50MzJfdCB2cHhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDgg
dnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNjR4MzIgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jCi0KLXVpbnQzMl90IHZw
eF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHg2NCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2MKLQot
dWludDMyX3QgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U4eDE2IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNl9jCi0K
LXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTh4NCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NF9jCi0KLXVpbnQzMl90
IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTh4OCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OF9jCi0KLXVpbnQzMl90IHZweF9zdWJf
cGl4ZWxfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhf
c3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTYgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2X2MKLQot
dWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7Ci0jZGVmaW5lIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMiB2cHhfc3ViX3BpeGVsX3Zh
cmlhbmNlMTZ4MzJfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCB2cHhfc3Vi
X3BpeGVsX3ZhcmlhbmNlMTZ4OF9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2Uz
MngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX3Zhcmlh
bmNlMzJ4MTYgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MKLQotdWludDMyX3QgdnB4X3N1
Yl9waXhlbF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZw
eF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfYwot
Ci11aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IHZweF9zdWJfcGl4ZWxf
dmFyaWFuY2UzMng2NF9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc3NlKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTR4NCB2cHhfc3ViX3BpeGVs
X3ZhcmlhbmNlNHg0X2MKLQotdWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTR4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwotI2RlZmluZSB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4IHZweF9zdWJfcGl4ZWxf
dmFyaWFuY2U0eDhfYwotCi11aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc3NlKTsKLSNkZWZpbmUgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTY0eDMy
IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9jCi0KLXVpbnQzMl90IHZweF9zdWJfcGl4ZWxf
dmFyaWFuY2U2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfc3ViX3Bp
eGVsX3ZhcmlhbmNlNjR4NjQgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MKLQotdWludDMy
X3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLSNkZWZpbmUg
dnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4MTYgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfYwot
Ci11aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5l
IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDQgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jCi0K
LXVpbnQzMl90IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLSNkZWZpbmUg
dnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X2MKLQot
dm9pZCB2cHhfc3VidHJhY3RfYmxvY2tfYyhpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsKLXZvaWQgdnB4X3N1YnRyYWN0X2Jsb2NrX3Zz
eChpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBwcmVkX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgcHJlZF9zdHJpZGUpOwotI2RlZmluZSB2cHhfc3VidHJhY3RfYmxvY2sgdnB4X3N1YnRy
YWN0X2Jsb2NrX3ZzeAotCi11aW50NjRfdCB2cHhfc3VtX3NxdWFyZXNfMmRfaTE2X2MoY29uc3Qg
aW50MTZfdCogc3JjLCBpbnQgc3RyaWRlLCBpbnQgc2l6ZSk7Ci0jZGVmaW5lIHZweF9zdW1fc3F1
YXJlc18yZF9pMTYgdnB4X3N1bV9zcXVhcmVzXzJkX2kxNl9jCi0KLXZvaWQgdnB4X3RtX3ByZWRp
Y3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotdm9pZCB2cHhfdG1fcHJlZGljdG9yXzE2eDE2X3ZzeCh1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUg
dnB4X3RtX3ByZWRpY3Rvcl8xNngxNiB2cHhfdG1fcHJlZGljdG9yXzE2eDE2X3ZzeAotCi12b2lk
IHZweF90bV9wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X3RtX3ByZWRpY3Rvcl8zMngzMl92c3go
dWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBh
Ym92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVm
dCk7Ci0jZGVmaW5lIHZweF90bV9wcmVkaWN0b3JfMzJ4MzIgdnB4X3RtX3ByZWRpY3Rvcl8zMngz
Ml92c3gKLQotdm9pZCB2cHhfdG1fcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfdG1fcHJlZGljdG9yXzR4
NCB2cHhfdG1fcHJlZGljdG9yXzR4NF9jCi0KLXZvaWQgdnB4X3RtX3ByZWRpY3Rvcl84eDhfYyh1
aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUg
dnB4X3RtX3ByZWRpY3Rvcl84eDggdnB4X3RtX3ByZWRpY3Rvcl84eDhfYwotCi12b2lkIHZweF92
X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfdl9wcmVkaWN0b3JfMTZ4MTZfdnN4KHVpbnQ4X3QqIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2
cHhfdl9wcmVkaWN0b3JfMTZ4MTYgdnB4X3ZfcHJlZGljdG9yXzE2eDE2X3ZzeAotCi12b2lkIHZw
eF92X3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfdl9wcmVkaWN0b3JfMzJ4MzJfdnN4KHVpbnQ4X3Qq
IGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmlu
ZSB2cHhfdl9wcmVkaWN0b3JfMzJ4MzIgdnB4X3ZfcHJlZGljdG9yXzMyeDMyX3ZzeAotCi12b2lk
IHZweF92X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X3ZfcHJlZGljdG9yXzR4NCB2cHhfdl9wcmVkaWN0b3Jf
NHg0X2MKLQotdm9pZCB2cHhfdl9wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF92X3ByZWRpY3Rvcl84eDggdnB4
X3ZfcHJlZGljdG9yXzh4OF9jCi0KLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNngxNl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNngxNl92c3goY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci0jZGVmaW5lIHZweF92YXJpYW5jZTE2eDE2IHZweF92YXJpYW5jZTE2eDE2X3ZzeAotCi11bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlMTZ4MzJfdnN4KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfdmFyaWFuY2UxNngz
MiB2cHhfdmFyaWFuY2UxNngzMl92c3gKLQotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNng4X3ZzeChjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2Rl
ZmluZSB2cHhfdmFyaWFuY2UxNng4IHZweF92YXJpYW5jZTE2eDhfdnN4Ci0KLXVuc2lnbmVkIGlu
dCB2cHhfdmFyaWFuY2UzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2Uz
MngxNl92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF92YXJpYW5jZTMyeDE2IHZweF92
YXJpYW5jZTMyeDE2X3ZzeAotCi11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MzJfdnN4KGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
I2RlZmluZSB2cHhfdmFyaWFuY2UzMngzMiB2cHhfdmFyaWFuY2UzMngzMl92c3gKLQotdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJp
YW5jZTMyeDY0X3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X3ZhcmlhbmNlMzJ4NjQg
dnB4X3ZhcmlhbmNlMzJ4NjRfdnN4Ci0KLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U0eDRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
dW5zaWduZWQgaW50IHZweF92YXJpYW5jZTR4NF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfdmFy
aWFuY2U0eDQgdnB4X3ZhcmlhbmNlNHg0X3ZzeAotCi11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNl
NHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U0eDhfdnN4KGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUg
dnB4X3ZhcmlhbmNlNHg4IHZweF92YXJpYW5jZTR4OF92c3gKLQotdW5zaWduZWQgaW50IHZweF92
YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTY0eDMyX3Zz
eChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X3ZhcmlhbmNlNjR4MzIgdnB4X3ZhcmlhbmNl
NjR4MzJfdnN4Ci0KLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHg2NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVu
c2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHg2NF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5l
IHZweF92YXJpYW5jZTY0eDY0IHZweF92YXJpYW5jZTY0eDY0X3ZzeAotCi11bnNpZ25lZCBpbnQg
dnB4X3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4MTZfdnN4
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF92YXJpYW5jZTh4MTYgdnB4X3ZhcmlhbmNlOHgxNl92
c3gKLQotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlOHg0X3ZzeChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF92YXJpYW5jZTh4NCB2cHhfdmFyaWFu
Y2U4eDRfdnN4Ci0KLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50
IHZweF92YXJpYW5jZTh4OF92c3goY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfdmFyaWFuY2U4eDggdnB4
X3ZhcmlhbmNlOHg4X3ZzeAotCi12b2lkIHZweF92ZV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF92ZV9w
cmVkaWN0b3JfNHg0IHZweF92ZV9wcmVkaWN0b3JfNHg0X2MKLQotaW50IHZweF92ZWN0b3JfdmFy
X2MoY29uc3QgaW50MTZfdCogcmVmLCBjb25zdCBpbnQxNl90KiBzcmMsIGNvbnN0IGludCBid2wp
OwotI2RlZmluZSB2cHhfdmVjdG9yX3ZhciB2cHhfdmVjdG9yX3Zhcl9jCi0KLXZvaWQgdnB4X2Rz
cF9ydGNkKHZvaWQpOwotCi0jaW5jbHVkZSAidnB4X2NvbmZpZy5oIgotCi0jaWZkZWYgUlRDRF9D
Ci0jaW5jbHVkZSAidnB4X3BvcnRzL3BwYy5oIgotc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRl
cm5hbCh2b2lkKSB7Ci0gIGludCBmbGFncyA9IHBwY19zaW1kX2NhcHMoKTsKLSAgKHZvaWQpZmxh
Z3M7Ci19Ci0jZW5kaWYKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19ICAvLyBleHRlcm4gIkMiCi0j
ZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9z
Y2FsZV9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9zY2FsZV9ydGNkLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3YmU0NTkyOWNmZC4uMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X3NjYWxlX3J0Y2QuaAorKysgL2Rldi9udWxs
CkBAIC0xLDEwMCArMCwwIEBACi0vLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkLiBEbyBub3QgZWRp
dC4KLSNpZm5kZWYgVlBYX1NDQUxFX1JUQ0RfSF8KLSNkZWZpbmUgVlBYX1NDQUxFX1JUQ0RfSF8K
LQotI2lmZGVmIFJUQ0RfQwotI2RlZmluZSBSVENEX0VYVEVSTgotI2Vsc2UKLSNkZWZpbmUgUlRD
RF9FWFRFUk4gZXh0ZXJuCi0jZW5kaWYKLQotc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZzsKLQot
I2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi12b2lkIHZwOF9ob3Jp
em9udGFsX2xpbmVfMl8xX3NjYWxlX2MoY29uc3QgdW5zaWduZWQgY2hhciogc291cmNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzb3VyY2Vfd2lk
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
ZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
ZGVzdF93aWR0aCk7Ci0jZGVmaW5lIHZwOF9ob3Jpem9udGFsX2xpbmVfMl8xX3NjYWxlIHZwOF9o
b3Jpem9udGFsX2xpbmVfMl8xX3NjYWxlX2MKLQotdm9pZCB2cDhfaG9yaXpvbnRhbF9saW5lXzVf
M19zY2FsZV9jKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc291cmNlX3dpZHRoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRlc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlc3Rfd2lkdGgpOwot
I2RlZmluZSB2cDhfaG9yaXpvbnRhbF9saW5lXzVfM19zY2FsZSB2cDhfaG9yaXpvbnRhbF9saW5l
XzVfM19zY2FsZV9jCi0KLXZvaWQgdnA4X2hvcml6b250YWxfbGluZV81XzRfc2NhbGVfYyhjb25z
dCB1bnNpZ25lZCBjaGFyKiBzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IHNvdXJjZV93aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXN0X3dpZHRoKTsKLSNkZWZpbmUgdnA4X2hv
cml6b250YWxfbGluZV81XzRfc2NhbGUgdnA4X2hvcml6b250YWxfbGluZV81XzRfc2NhbGVfYwot
Ci12b2lkIHZwOF92ZXJ0aWNhbF9iYW5kXzJfMV9zY2FsZV9jKHVuc2lnbmVkIGNoYXIqIHNvdXJj
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHNyY19w
aXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
ZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRl
c3RfcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBkZXN0X3dpZHRoKTsKLSNkZWZpbmUgdnA4X3ZlcnRpY2FsX2JhbmRfMl8xX3NjYWxlIHZwOF92
ZXJ0aWNhbF9iYW5kXzJfMV9zY2FsZV9jCi0KLXZvaWQgdnA4X3ZlcnRpY2FsX2JhbmRfMl8xX3Nj
YWxlX2lfYyh1bnNpZ25lZCBjaGFyKiBzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50IHNyY19waXRjaCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXN0X3BpdGNoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXN0X3dpZHRoKTsKLSNkZWZp
bmUgdnA4X3ZlcnRpY2FsX2JhbmRfMl8xX3NjYWxlX2kgdnA4X3ZlcnRpY2FsX2JhbmRfMl8xX3Nj
YWxlX2lfYwotCi12b2lkIHZwOF92ZXJ0aWNhbF9iYW5kXzVfM19zY2FsZV9jKHVuc2lnbmVkIGNo
YXIqIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IHNyY19waXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50IGRlc3RfcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBkZXN0X3dpZHRoKTsKLSNkZWZpbmUgdnA4X3ZlcnRpY2FsX2JhbmRfNV8zX3Nj
YWxlIHZwOF92ZXJ0aWNhbF9iYW5kXzVfM19zY2FsZV9jCi0KLXZvaWQgdnA4X3ZlcnRpY2FsX2Jh
bmRfNV80X3NjYWxlX2ModW5zaWduZWQgY2hhciogc291cmNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3JjX3BpdGNoLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZGVzdF9waXRjaCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlc3Rfd2lkdGgpOwotI2RlZmlu
ZSB2cDhfdmVydGljYWxfYmFuZF81XzRfc2NhbGUgdnA4X3ZlcnRpY2FsX2JhbmRfNV80X3NjYWxl
X2MKLQotdm9pZCB2cDhfeXYxMl9jb3B5X2ZyYW1lX2MoY29uc3Qgc3RydWN0IHl2MTJfYnVmZmVy
X2NvbmZpZyogc3JjX3liYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB5djEy
X2J1ZmZlcl9jb25maWcqIGRzdF95YmMpOwotI2RlZmluZSB2cDhfeXYxMl9jb3B5X2ZyYW1lIHZw
OF95djEyX2NvcHlfZnJhbWVfYwotCi12b2lkIHZwOF95djEyX2V4dGVuZF9mcmFtZV9ib3JkZXJz
X2Moc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogeWJmKTsKLSNkZWZpbmUgdnA4X3l2MTJfZXh0
ZW5kX2ZyYW1lX2JvcmRlcnMgdnA4X3l2MTJfZXh0ZW5kX2ZyYW1lX2JvcmRlcnNfYwotCi12b2lk
IHZweF9leHRlbmRfZnJhbWVfYm9yZGVyc19jKHN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWcqIHli
Zik7Ci0jZGVmaW5lIHZweF9leHRlbmRfZnJhbWVfYm9yZGVycyB2cHhfZXh0ZW5kX2ZyYW1lX2Jv
cmRlcnNfYwotCi12b2lkIHZweF9leHRlbmRfZnJhbWVfaW5uZXJfYm9yZGVyc19jKHN0cnVjdCB5
djEyX2J1ZmZlcl9jb25maWcqIHliZik7Ci0jZGVmaW5lIHZweF9leHRlbmRfZnJhbWVfaW5uZXJf
Ym9yZGVycyB2cHhfZXh0ZW5kX2ZyYW1lX2lubmVyX2JvcmRlcnNfYwotCi12b2lkIHZweF95djEy
X2NvcHlfZnJhbWVfYyhjb25zdCBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmNfeWJjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogZHN0
X3liYyk7Ci0jZGVmaW5lIHZweF95djEyX2NvcHlfZnJhbWUgdnB4X3l2MTJfY29weV9mcmFtZV9j
Ci0KLXZvaWQgdnB4X3l2MTJfY29weV95X2MoY29uc3Qgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZp
Zyogc3JjX3liYywKLSAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHl2MTJfYnVmZmVyX2Nv
bmZpZyogZHN0X3liYyk7Ci0jZGVmaW5lIHZweF95djEyX2NvcHlfeSB2cHhfeXYxMl9jb3B5X3lf
YwotCi12b2lkIHZweF9zY2FsZV9ydGNkKHZvaWQpOwotCi0jaW5jbHVkZSAidnB4X2NvbmZpZy5o
IgotCi0jaWZkZWYgUlRDRF9DCi0jaW5jbHVkZSAidnB4X3BvcnRzL3BwYy5oIgotc3RhdGljIHZv
aWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7Ci0gIGludCBmbGFncyA9IHBwY19zaW1kX2Nh
cHMoKTsKLSAgKHZvaWQpZmxhZ3M7Ci19Ci0jZW5kaWYKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19
ICAvLyBleHRlcm4gIkMiCi0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln
L2xpbnV4L3g2NC92cDhfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC94NjQvdnA4X3J0Y2QuaApp
bmRleCAzNjIxNjc3MGExZTguLmM0NmJmZTU3MzNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9s
aW51eC94NjQvdnA4X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3g2NC92cDhfcnRjZC5o
CkBAIC0xMDUsNiArMTA1LDM2IEBAIFJUQ0RfRVhURVJOIHZvaWQgKCp2cDhfYmlsaW5lYXJfcHJl
ZGljdDh4OCkodW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogZHN0X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9waXRjaCk7CiAKK3ZvaWQg
dnA4X2JsZW5kX2JfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAg
ICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisgICAg
ICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9iIHZwOF9i
bGVuZF9iX2MKKwordm9pZCB2cDhfYmxlbmRfbWJfaW5uZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
YWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2
cDhfYmxlbmRfbWJfaW5uZXIgdnA4X2JsZW5kX21iX2lubmVyX2MKKwordm9pZCB2cDhfYmxlbmRf
bWJfb3V0ZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy
KiB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfb3V0ZXIgdnA4X2JsZW5k
X21iX291dGVyX2MKKwogaW50IHZwOF9ibG9ja19lcnJvcl9jKHNob3J0KiBjb2VmZiwgc2hvcnQq
IGRxY29lZmYpOwogaW50IHZwOF9ibG9ja19lcnJvcl9zc2UyKHNob3J0KiBjb2VmZiwgc2hvcnQq
IGRxY29lZmYpOwogI2RlZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4X2Jsb2NrX2Vycm9yX3NzZTIK
QEAgLTMwOCw2ICszMzgsNDMgQEAgdm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9zc2UyKHVu
c2lnbmVkIGNoYXIqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3dlaWdodCk7CiAjZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJf
Ynlfd2VpZ2h0OHg4X3NzZTIKIAoraW50IHZwOF9mdWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFj
cm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlz
dGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUq
IGZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogY2VudGVyX212KTsKK2ludCB2cDhf
ZnVsbF9zZWFyY2hfc2FkeDMoc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBibG9jayogYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0IGJsb2NrZCogZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBy
ZWZfbXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGRpc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3QgdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCogbXZjb3N0WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBp
bnRfbXYqIGNlbnRlcl9tdik7CitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZHg4KHN0cnVjdCBtYWNy
b2Jsb2NrKiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0
YW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSog
Zm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworUlRDRF9FWFRF
Uk4gaW50ICgqdnA4X2Z1bGxfc2VhcmNoX3NhZCkoc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiByZWZfbXYs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFyaWFuY2VfdnRh
YmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQq
IG12Y29zdFsyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9u
IGludF9tdiogY2VudGVyX212KTsKKwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1bnNpZ25l
ZCBjaGFyKiB5X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
dV9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZfcHRyLApA
QCAtNTgxLDYgKzY0OCwxMSBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQp
IHsKICAgdnA4X2Zhc3RfcXVhbnRpemVfYiA9IHZwOF9mYXN0X3F1YW50aXplX2Jfc3NlMjsKICAg
aWYgKGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZwOF9mYXN0X3F1YW50aXplX2IgPSB2cDhfZmFz
dF9xdWFudGl6ZV9iX3Nzc2UzOworICB2cDhfZnVsbF9zZWFyY2hfc2FkID0gdnA4X2Z1bGxfc2Vh
cmNoX3NhZF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFMykKKyAgICB2cDhfZnVsbF9zZWFyY2hf
c2FkID0gdnA4X2Z1bGxfc2VhcmNoX3NhZHgzOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQor
ICAgIHZwOF9mdWxsX3NlYXJjaF9zYWQgPSB2cDhfZnVsbF9zZWFyY2hfc2FkeDg7CiAgIHZwOF9y
ZWd1bGFyX3F1YW50aXplX2IgPSB2cDhfcmVndWxhcl9xdWFudGl6ZV9iX3NzZTI7CiAgIGlmIChm
bGFncyAmIEhBU19TU0U0XzEpCiAgICAgdnA4X3JlZ3VsYXJfcXVhbnRpemVfYiA9IHZwOF9yZWd1
bGFyX3F1YW50aXplX2Jfc3NlNF8xOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC94NjQv
dnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgveDY0L3ZwOV9ydGNkLmgKaW5kZXggNzc3MWVl
M2UxYTkwLi4xMmI5MTEwZDI4ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgveDY0L3Zw
OV9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC94NjQvdnA5X3J0Y2QuaApAQCAtMjEsOSAr
MjEsNyBAQCBzdHJ1Y3QgbWFjcm9ibG9ja2Q7CiAKIC8qIEVuY29kZXIgZm9yd2FyZCBkZWNscyAq
Lwogc3RydWN0IG1hY3JvYmxvY2s7Ci1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCB2
cDlfc2FkX3RhYmxlOwotc3RydWN0IFNjYW5PcmRlcjsKK3N0cnVjdCB2cDlfdmFyaWFuY2VfdnRh
YmxlOwogc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsKIHN0cnVjdCBtdjsKIHVuaW9uIGludF9t
djsKQEAgLTg2LDE0ICs4NCwzMSBAQCBpbnQgdnA5X2Rlbm9pc2VyX2ZpbHRlcl9zc2UyKGNvbnN0
IHVpbnQ4X3QqIHNpZywKIGludCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MoY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2sqIHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RydWN0IG12KiByZWZfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHN0YXJ0X212X3NhZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiBi
ZXN0X212LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCogbnVtMDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5fcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9t
dik7Ci0jZGVmaW5lIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5X2RpYW1vbmRfc2VhcmNoX3Nh
ZF9jCitpbnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdngoY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2sqIHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNlYXJj
aF9zaXRlX2NvbmZpZyogY2ZnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dCBtdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiog
YmVzdF9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFt
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG51bTAwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYp
OworUlRDRF9FWFRFUk4gaW50ICgqdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCkoCisgICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZp
ZyogY2ZnLAorICAgIHN0cnVjdCBtdiogcmVmX212LAorICAgIHN0cnVjdCBtdiogYmVzdF9tdiwK
KyAgICBpbnQgc2VhcmNoX3BhcmFtLAorICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICBpbnQqIG51
bTAwLAorICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAg
Y29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwogCiB2b2lkIHZwOV9maHQxNngxNl9jKGNvbnN0
IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQs
CkBAIC0yNjAsNTcgKzI3NSwyOSBAQCB2b2lkIHZwOV9oaWdoYmRfcG9zdF9wcm9jX2Rvd25fYW5k
X2Fjcm9zc19jKGNvbnN0IHVpbnQxNl90KiBzcmNfcHRyLAogCiB2b2lkIHZwOV9oaWdoYmRfcXVh
bnRpemVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9p
ZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2F2eDIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVS
TiB2b2lkICgqdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCkoCi0gICAgY29uc3QgdHJhbl9sb3dfdCog
Y29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNy
b2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3Jk
ZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotCi12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4
MzJfYygKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9j
b2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5l
LAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9w
dHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lk
IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MigKLSAgICBjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1h
Y3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9w
dHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVx
dWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5P
cmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X2hpZ2hiZF9x
dWFudGl6ZV9mcF8zMngzMikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAg
IGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBj
b25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVp
bnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2Nh
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsK
KyNkZWZpbmUgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2MK
Kwordm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCog
Y29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qg
bl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9i
bG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cDlfaGlnaGJk
X3F1YW50aXplX2ZwXzMyeDMyIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYwogCiB2b2lk
IHZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX2FwcGx5X2MoY29uc3QgdWludDhfdCogZnJhbWUx
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBz
dHJpZGUsCkBAIC0zNTYsNzkgKzM0Myw5MyBAQCB2b2lkIHZwOV9paHQ4eDhfNjRfYWRkX3NzZTIo
Y29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZvaWQgdnA5X3F1YW50aXplX2ZwX2MoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBu
X2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9i
bG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2
X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3Jk
ZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7
CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9w
bGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
U2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBfc3NzZTMoY29uc3QgdHJhbl9sb3df
dCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2Vm
ZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tp
cF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5k
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6
ZV9mcF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVx
dWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDlfcXVhbnRpemVfZnApKAotICAgIGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25z
dCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25z
dCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOworUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9xdWFudGl6ZV9m
cCkoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4p
OwogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
KiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBf
YmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5k
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2Nh
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwog
dm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCogY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5
X3F1YW50aXplX2ZwXzMyeDMyX2F2eDIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNv
bnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDlf
cXVhbnRpemVfZnBfMzJ4MzIpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSog
Y29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xv
d190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1
aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBp
c2Nhbik7CitSVENEX0VYVEVSTiB2b2lkICgqdnA5X3F1YW50aXplX2ZwXzMyeDMyKShjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHZv
aWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhjb25zdCBzdHJ1Y3QgeXYxMl9idWZmZXJf
Y29uZmlnKiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHl2
MTJfYnVmZmVyX2NvbmZpZyogZHN0LApAQCAtNDU5LDYgKzQ2MCw5IEBAIHN0YXRpYyB2b2lkIHNl
dHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cDlfYmxvY2tfZXJyb3JfZnAgPSB2cDlfYmxv
Y2tfZXJyb3JfZnBfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnA5X2Jsb2Nr
X2Vycm9yX2ZwID0gdnA5X2Jsb2NrX2Vycm9yX2ZwX2F2eDI7CisgIHZwOV9kaWFtb25kX3NlYXJj
aF9zYWQgPSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2M7CisgIGlmIChmbGFncyAmIEhBU19BVlgp
CisgICAgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCA9IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYXZ4
OwogICB2cDlfaGlnaGJkX2lodDE2eDE2XzI1Nl9hZGQgPSB2cDlfaGlnaGJkX2lodDE2eDE2XzI1
Nl9hZGRfYzsKICAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKICAgICB2cDlfaGlnaGJkX2lodDE2
eDE2XzI1Nl9hZGQgPSB2cDlfaGlnaGJkX2lodDE2eDE2XzI1Nl9hZGRfc3NlNF8xOwpAQCAtNDY4
LDEyICs0NzIsNiBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAg
dnA5X2hpZ2hiZF9paHQ4eDhfNjRfYWRkID0gdnA5X2hpZ2hiZF9paHQ4eDhfNjRfYWRkX2M7CiAg
IGlmIChmbGFncyAmIEhBU19TU0U0XzEpCiAgICAgdnA5X2hpZ2hiZF9paHQ4eDhfNjRfYWRkID0g
dnA5X2hpZ2hiZF9paHQ4eDhfNjRfYWRkX3NzZTRfMTsKLSAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9m
cCA9IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0g
ICAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCA9IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYXZ4MjsK
LSAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMiA9IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBf
MzJ4MzJfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnA5X2hpZ2hiZF9xdWFudGl6
ZV9mcF8zMngzMiA9IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MjsKICAgdnA5X3F1
YW50aXplX2ZwID0gdnA5X3F1YW50aXplX2ZwX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU1NF
MykKICAgICB2cDlfcXVhbnRpemVfZnAgPSB2cDlfcXVhbnRpemVfZnBfc3NzZTM7CkBAIC00ODIs
OCArNDgwLDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZw
OV9xdWFudGl6ZV9mcF8zMngzMiA9IHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jOwogICBpZiAoZmxh
Z3MgJiBIQVNfU1NTRTMpCiAgICAgdnA5X3F1YW50aXplX2ZwXzMyeDMyID0gdnA5X3F1YW50aXpl
X2ZwXzMyeDMyX3Nzc2UzOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cDlfcXVhbnRp
emVfZnBfMzJ4MzIgPSB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MjsKICAgdnA5X3NjYWxlX2Fu
ZF9leHRlbmRfZnJhbWUgPSB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jOwogICBpZiAoZmxh
Z3MgJiBIQVNfU1NTRTMpCiAgICAgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUgPSB2cDlfc2Nh
bGVfYW5kX2V4dGVuZF9mcmFtZV9zc3NlMzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgv
eDY0L3ZweF9jb25maWcuYXNtIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC94NjQvdnB4X2NvbmZpZy5hc20K
aW5kZXggZTE2MWE3NzE4MjQ2Li5iOWQ3ODEwMjE1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
bGludXgveDY0L3ZweF9jb25maWcuYXNtCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgveDY0L3ZweF9j
b25maWcuYXNtCkBAIC0xLDcgKzEsNSBAQAogJWRlZmluZSBWUFhfQVJDSF9BUk0gMAogJWRlZmlu
ZSBBUkNIX0FSTSAwCi0lZGVmaW5lIFZQWF9BUkNIX0FBUkNINjQgMAotJWRlZmluZSBBUkNIX0FB
UkNINjQgMAogJWRlZmluZSBWUFhfQVJDSF9NSVBTIDAKICVkZWZpbmUgQVJDSF9NSVBTIDAKICVk
ZWZpbmUgVlBYX0FSQ0hfWDg2IDAKQEAgLTEwLDEyICs4LDggQEAKICVkZWZpbmUgQVJDSF9YODZf
NjQgMQogJWRlZmluZSBWUFhfQVJDSF9QUEMgMAogJWRlZmluZSBBUkNIX1BQQyAwCi0lZGVmaW5l
IFZQWF9BUkNIX0xPT05HQVJDSCAwCi0lZGVmaW5lIEFSQ0hfTE9PTkdBUkNIIDAKLSVkZWZpbmUg
SEFWRV9ORU9OX0FTTSAwCiAlZGVmaW5lIEhBVkVfTkVPTiAwCi0lZGVmaW5lIEhBVkVfTkVPTl9E
T1RQUk9EIDAKLSVkZWZpbmUgSEFWRV9ORU9OX0k4TU0gMAorJWRlZmluZSBIQVZFX05FT05fQVNN
IDAKICVkZWZpbmUgSEFWRV9NSVBTMzIgMAogJWRlZmluZSBIQVZFX0RTUFIyIDAKICVkZWZpbmUg
SEFWRV9NU0EgMApAQCAtMzEsOCArMjUsNiBAQAogJWRlZmluZSBIQVZFX0FWWDUxMiAwCiAlZGVm
aW5lIEhBVkVfVlNYIDAKICVkZWZpbmUgSEFWRV9NTUkgMAotJWRlZmluZSBIQVZFX0xTWCAwCi0l
ZGVmaW5lIEhBVkVfTEFTWCAwCiAlZGVmaW5lIEhBVkVfVlBYX1BPUlRTIDEKICVkZWZpbmUgSEFW
RV9QVEhSRUFEX0ggMQogJWRlZmluZSBIQVZFX1VOSVNURF9IIDAKQEAgLTg1LDYgKzc3LDcgQEAK
ICVkZWZpbmUgQ09ORklHX01VTFRJX1JFU19FTkNPRElORyAxCiAlZGVmaW5lIENPTkZJR19URU1Q
T1JBTF9ERU5PSVNJTkcgMQogJWRlZmluZSBDT05GSUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORyAx
CislZGVmaW5lIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSAwCiAlZGVmaW5lIENPTkZJR19DT0VG
RklDSUVOVF9SQU5HRV9DSEVDS0lORyAwCiAlZGVmaW5lIENPTkZJR19WUDlfSElHSEJJVERFUFRI
IDEKICVkZWZpbmUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZIDAKQEAgLTk3LDYgKzkw
LDUgQEAKICVkZWZpbmUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUgMAogJWRlZmluZSBDT05GSUdf
Tk9OX0dSRUVEWV9NViAwCiAlZGVmaW5lIENPTkZJR19SQVRFX0NUUkwgMAotJWRlZmluZSBDT05G
SUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HIDAKICVkZWZpbmUgREVDT0RFX1dJRFRIX0xJTUlU
IDE2Mzg0CiAlZGVmaW5lIERFQ09ERV9IRUlHSFRfTElNSVQgMTYzODQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9jb25maWcvbGludXgveDY0L3ZweF9jb25maWcuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgveDY0L3Zw
eF9jb25maWcuaAppbmRleCA1N2ZkMDY3MzI5ZjkuLjdjM2MzMzg4Y2YzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9saW51eC94NjQvdnB4X2NvbmZpZy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgv
eDY0L3ZweF9jb25maWcuaApAQCAtMTIsOCArMTIsNiBAQAogI2RlZmluZSBJTkxJTkUgICAgICBp
bmxpbmUKICNkZWZpbmUgVlBYX0FSQ0hfQVJNIDAKICNkZWZpbmUgQVJDSF9BUk0gMAotI2RlZmlu
ZSBWUFhfQVJDSF9BQVJDSDY0IDAKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICNkZWZpbmUgVlBY
X0FSQ0hfTUlQUyAwCiAjZGVmaW5lIEFSQ0hfTUlQUyAwCiAjZGVmaW5lIFZQWF9BUkNIX1g4NiAw
CkBAIC0yMiwxMiArMjAsOCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAxCiAjZGVmaW5lIFZQWF9B
UkNIX1BQQyAwCiAjZGVmaW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNI
IDAKLSNkZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDAKICNk
ZWZpbmUgSEFWRV9ORU9OIDAKLSNkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMAotI2RlZmluZSBI
QVZFX05FT05fSThNTSAwCisjZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZFX01J
UFMzMiAwCiAjZGVmaW5lIEhBVkVfRFNQUjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC00Myw4
ICszNyw2IEBACiAjZGVmaW5lIEhBVkVfQVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAogI2Rl
ZmluZSBIQVZFX01NSSAwCi0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAK
ICNkZWZpbmUgSEFWRV9WUFhfUE9SVFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAjZGVm
aW5lIEhBVkVfVU5JU1REX0ggMApAQCAtOTcsNiArODksNyBAQAogI2RlZmluZSBDT05GSUdfTVVM
VElfUkVTX0VOQ09ESU5HIDEKICNkZWZpbmUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAxCiAj
ZGVmaW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEKKyNkZWZpbmUgQ09ORklHX0NP
TlNJU1RFTlRfUkVDT0RFIDAKICNkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNL
SU5HIDAKICNkZWZpbmUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggMQogI2RlZmluZSBDT05GSUdf
QkVUVEVSX0hXX0NPTVBBVElCSUxJVFkgMApAQCAtMTA5LDcgKzEwMiw2IEBACiAjZGVmaW5lIENP
TkZJR19FTVVMQVRFX0hBUkRXQVJFIDAKICNkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYgMAog
I2RlZmluZSBDT05GSUdfUkFURV9DVFJMIDAKLSNkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09NUE9O
RU5UX1RJTUlORyAwCiAjZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogI2RlZmluZSBE
RUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0CiAjZW5kaWYgLyogVlBYX0NPTkZJR19IICovCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3g2NC92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
bGludXgveDY0L3ZweF9kc3BfcnRjZC5oCmluZGV4IGQ2YzMwZTg2NTYzOS4uZWQ2MzIzMzE0ODVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3g2NC92cHhfZHNwX3J0Y2QuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL2xpbnV4L3g2NC92cHhfZHNwX3J0Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNp
bmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29t
bW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9F
TkNPREVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5k
aWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKQEAgLTQ0LDE4ICs0MCw3IEBA
IHZvaWQgdnB4X2NvbXBfYXZnX3ByZWRfc3NlMih1aW50OF90KiBjb21wX3ByZWQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdm9pZCB2cHhfY29tcF9hdmdfcHJlZF9hdngyKHVpbnQ4X3QqIGNvbXBf
cHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2NvbXBfYXZnX3ByZWQpKHVpbnQ4X3QqIGNvbXBf
cHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNk
ZWZpbmUgdnB4X2NvbXBfYXZnX3ByZWQgdnB4X2NvbXBfYXZnX3ByZWRfc3NlMgogCiB2b2lkIHZw
eF9jb252b2x2ZThfYyhjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTMwMjYsMTMgKzMwMTEsNyBAQCB2b2lkIHZweF9oaWdo
YmRfY29tcF9hdmdfcHJlZF9jKHVpbnQxNl90KiBjb21wX3ByZWQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLXZvaWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX3NzZTIodWlu
dDE2X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDE2X3QqIHByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHJlZiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX3Nz
ZTIKKyNkZWZpbmUgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkIHZweF9oaWdoYmRfY29tcF9hdmdf
cHJlZF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9jb252b2x2ZThfYyhjb25zdCB1aW50MTZfdCogc3Jj
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAt
NDUyMCw3MCArNDQ5OSw1OSBAQCB2b2lkIHZweF9oaWdoYmRfbWlubWF4Xzh4OF9jKGNvbnN0IHVp
bnQ4X3QqIHM4LAogCiB2b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93
X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9j
b2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVy
KiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogaXNjYW4pOwogdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2Jfc3NlMihjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90
IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7
Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
X3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X2hpZ2hiZF9xdWFudGl6ZV9iKSgKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0g
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciog
Y29uc3Qgc2Nhbl9vcmRlcik7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2Mo
Ci0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNy
b2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3Jk
ZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJf
c3NlMigKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNj
YW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8z
MngzMl9hdngyKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQx
Nl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
aGlnaGJkX3F1YW50aXplX2JfMzJ4MzIpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0g
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
LSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cHhf
aGlnaGJkX3F1YW50aXplX2IgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX3NzZTIKKwordm9pZCB2cHhf
aGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9i
XzMyeDMyX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVm
aW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMiB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4
MzJfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngxNl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtNDU5MywxNCArNDU2MSw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDE2eDE2X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDE2eDE2X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdo
YmRfc2FkMTZ4MTYgdnB4X2hpZ2hiZF9zYWQxNngxNl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDE2eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ2MTIsMzcg
KzQ1NzMsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAo
KnZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDE2eDE2
X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDE2eDE2eDRkKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQxNngxNng0
ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDMyX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC00NjUyLDE0ICs0NTk1LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
MTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNngzMikoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQxNngzMiB2cHhfaGlnaGJkX3NhZDE2eDMyX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDY3MSwzNyAr
NDYwNywxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X2hpZ2hiZF9zYWQxNngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMTZ4MzJf
YXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkMTZ4MzJ4NGQpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRk
X3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC00NzExLDE0ICs0NjI5LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4
OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQxNng4X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9oaWdoYmRfc2FkMTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNng4IHZweF9o
aWdoYmRfc2FkMTZ4OF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZn
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NzMwLDM3ICs0NjQxLDE5IEBAIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhf
YXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDhfYXZnKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OF9h
dmcgdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDE2eDh4NGQp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfc3Nl
MgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNDc3MCwxNCArNDY2Myw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDMyeDE2X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
MzJ4MTYgdnB4X2hpZ2hiZF9zYWQzMngxNl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDMyeDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ3ODksMzcgKzQ2NzUs
MTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9o
aWdoYmRfc2FkMzJ4MTZfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19z
c2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lk
IHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDMyeDE2eDRkKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9zc2Uy
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC00ODI5LDE0ICs0Njk3LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMzJ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5z
aWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQz
MngzMiB2cHhfaGlnaGJkX3NhZDMyeDMyX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMzJ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDg0OCwzNyArNDcwOSwx
OSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hp
Z2hiZF9zYWQzMngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3Nz
ZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQg
dnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkMzJ4MzJ4NGQpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX3NzZTIK
IAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTQ4ODgsMTQgKzQ3MzEsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQzMng2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNp
Z25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMy
eDY0IHZweF9oaWdoYmRfc2FkMzJ4NjRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQzMng2NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00OTA3LDM3ICs0NzQzLDE5
IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQzMng2NF9hdmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGln
aGJkX3NhZDMyeDY0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfc3Nl
MgogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2
cHhfaGlnaGJkX3NhZDMyeDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2
cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfc3NlMgog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00
OTU0LDE0ICs0NzcyLDE0IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg0eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDR4NHg0ZCB2cHhfaGlnaGJkX3NhZDR4NHg0ZF9zc2UyCiAKIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBA
IC00OTc5LDE0ICs0Nzk3LDE0IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9hdmdf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg4eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwog
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4OHg0ZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9zc2UyCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKQEAgLTQ5OTcsMTQgKzQ4MTUsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgz
Ml9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDY0eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDY0eDMyIHZweF9oaWdoYmRfc2FkNjR4MzJfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01MDE2LDM3ICs0ODI3
LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhf
aGlnaGJkX3NhZDY0eDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
KyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmcgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdf
c3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9p
ZCB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZCkoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfc3Nl
MgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNTA1NiwxNCArNDg0OSw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDY0eDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
NjR4NjQgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDY0eDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTUwNzUsMzcgKzQ4NjEs
MTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9o
aWdoYmRfc2FkNjR4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19z
c2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lk
IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDY0eDY0eDRkKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjR4NGQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9zc2Uy
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApA
QCAtNTEzMSwxNCArNDg5OSwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2
Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDE2
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkIHZweF9oaWdo
YmRfc2FkOHgxNng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC01MTY1LDE0ICs0OTMzLDE0IEBAIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDh4NF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2
b2lkIHZweF9oaWdoYmRfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NHg0ZCB2
cHhfaGlnaGJkX3NhZDh4NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC01MTk5LDQ5NSArNDk2Nyw3OCBAQCB1bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2Fk
OHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4
eDh4NGQgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngxNl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2
eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOworaW50IHZweF9oaWdoYmRfc2F0ZF9jKGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKK2ludCB2cHhfaGlnaGJkX3NhdGRfYXZ4Mihjb25z
dCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CitSVENEX0VYVEVSTiBpbnQgKCp2cHhf
aGlnaGJkX3NhdGQpKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKIAotdm9p
ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX3NzZTIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDE2eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
MTZ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3Ry
aWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cit2b2lkIHZweF9oaWdoYmRfc3VidHJh
Y3RfYmxvY2tfYyhpbnQgcm93cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBjb2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJl
ZDhfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MK
IAotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfYXZ4Mihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKK3ZvaWQgdnB4
X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Cit2b2lkIHZweF9oaWdoYmRf
dG1fcHJlZGljdG9yXzE2eDE2X3NzZTIodWludDE2X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNiB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngx
Nl9zc2UyCiAKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDMyeDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwordm9pZCB2cHhf
aGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQxNl90KiBkc3QsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKK3ZvaWQgdnB4X2hpZ2hiZF90
bV9wcmVkaWN0b3JfMzJ4MzJfc3NlMih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7CisjZGVmaW5lIHZw
eF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMy
X3NzZTIKIAotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNng4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwordm9pZCB2cHhfaGlnaGJkX3Rt
X3ByZWRpY3Rvcl80eDRfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmQpOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3Nl
Mih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDQgdnB4
X2hpZ2hiZF90bV9wcmVkaWN0b3JfNHg0X3NzZTIKIAotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNng4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDE2eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQp
KAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAot
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDMyX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8zMng2NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9hdngyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2
NHg0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWRfc2tpcF80eDQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDRfYwotCi12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80
eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OCB2
cHhfaGlnaGJkX3NhZF9za2lwXzR4OF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzR4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRk
X3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQot
dm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzY0eDMyeDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBf
NjR4MzJ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZf
c3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZF9za2lwXzY0eDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9hdngy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhU
RVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkKSgKLSAgICBjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzh4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTYgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDE2X3NzZTIKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfc3Nl
MgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4NF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4OF9zc2UyCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX3Nz
ZTIKLQotaW50IHZweF9oaWdoYmRfc2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQg
bGVuZ3RoKTsKLWludCB2cHhfaGlnaGJkX3NhdGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2Vm
ZiwgaW50IGxlbmd0aCk7Ci1SVENEX0VYVEVSTiBpbnQgKCp2cHhfaGlnaGJkX3NhdGQpKGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLQotdm9pZCB2cHhfaGlnaGJkX3N1YnRy
YWN0X2Jsb2NrX2MoaW50IHJvd3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgY29scywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3Jj
OF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHBy
ZWQ4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVk
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lk
IHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYXZ4MihpbnQgcm93cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrKShpbnQgcm93cywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc3JjOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQp
OwotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCog
bGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9p
ZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2
X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJk
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF90bV9w
cmVkaWN0b3JfMTZ4MTZfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMy
X2ModWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9zc2UyKHVp
bnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4
MzIgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzJfc3NlMgotCi12b2lkIHZweF9oaWdoYmRf
dG1fcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9z
c2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NCB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJl
ZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OF9zc2UyKHVp
bnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OCB2cHhfaGln
aGJkX3RtX3ByZWRpY3Rvcl84eDhfc3NlMgordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84
eDhfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYmQpOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDhfc3NlMih1aW50MTZfdCog
ZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
YmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF90bV9w
cmVkaWN0b3JfOHg4X3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzE2eDE2X2Mo
dWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCkBAIC01NzU1LDEyICs1MTA2LDcgQEAgdm9pZCB2cHhfaWRjdDE2eDE2XzI1
Nl9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKIHZvaWQgdnB4X2lkY3QxNngxNl8yNTZf
YWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzdHJpZGUpOwotdm9pZCB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYXZ4Mihjb25zdCB0cmFu
X2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnB4X2lkY3QxNngxNl8yNTZfYWRkKShjb25zdCB0cmFuX2xvd190KiBp
bnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Ry
aWRlKTsKKyNkZWZpbmUgdnB4X2lkY3QxNngxNl8yNTZfYWRkIHZweF9pZGN0MTZ4MTZfMjU2X2Fk
ZF9zc2UyCiAKIHZvaWQgdnB4X2lkY3QxNngxNl8zOF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBp
bnB1dCwgdWludDhfdCogZGVzdCwgaW50IHN0cmlkZSk7CiB2b2lkIHZweF9pZGN0MTZ4MTZfMzhf
YWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCkBAIC01Nzc0LDEyICs1MTIwLDcgQEAg
dm9pZCB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiB2
b2lkIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfc3NlMihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2lkY3QzMngz
Ml8xMDI0X2FkZF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzdHJpZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9pZGN0MzJ4MzJf
MTAyNF9hZGQpKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZweF9pZGN0MzJ4
MzJfMTAyNF9hZGQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9zc2UyCiAKIHZvaWQgdnB4X2lkY3Qz
MngzMl8xMzVfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCkBAIC01NzkwLDkgKzUxMzEsNiBAQCB2b2lkIHZw
eF9pZGN0MzJ4MzJfMTM1X2FkZF9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogdm9pZCB2
cHhfaWRjdDMyeDMyXzEzNV9hZGRfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9pZGN0MzJ4MzJfMTM1
X2FkZF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlKTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaWRjdDMyeDMyXzEzNV9hZGQp
KGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCogZGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzdHJpZGUpOwpAQCAtNTg0OSwxMSArNTE4NywxMSBAQCBpbnQxNl90
IHZweF9pbnRfcHJvX2NvbF9jKGNvbnN0IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsK
IGludDE2X3QgdnB4X2ludF9wcm9fY29sX3NzZTIoY29uc3QgdWludDhfdCogcmVmLCBjb25zdCBp
bnQgd2lkdGgpOwogI2RlZmluZSB2cHhfaW50X3Byb19jb2wgdnB4X2ludF9wcm9fY29sX3NzZTIK
IAotdm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50
X3Byb19yb3dfYyhpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKLXZvaWQgdnB4X2lu
dF9wcm9fcm93X3NzZTIoaW50MTZfdCBoYnVmWzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X3Nz
ZTIoaW50MTZfdCogaGJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCk7CkBAIC02MTkzLDkw
ICs1NTMxLDEyMiBAQCB2b2lkIHZweF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX21iX3Jvd19z
c2UyKHVuc2lnbmVkIGNoYXIqIHNyYywKIAogdm9pZCB2cHhfcXVhbnRpemVfYl9jKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsK
KyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4X3F1YW50aXplX2Jfc3Nl
Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iX3Nzc2UzKGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hp
ZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVf
Yl9hdngoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfcXVhbnRpemVf
Yl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZf
dCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVf
YikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29l
ZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwK
LSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVh
bnRpemVfYikoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90
KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBpc2Nhbik7CiAKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
c2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2Nh
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2
b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRp
emVfYl8zMngzMl9hdngoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1i
X3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3Jk
ZXIpOwotdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNv
ZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfcXVhbnRpemVfYl8zMngzMikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfcXVhbnRpemVfYl8zMngzMikoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBf
YmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHVuc2ln
bmVkIGludCB2cHhfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNjMwMCwxOCArNTY3MCw1NSBA
QCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2X2F2ZyB2cHhfc2FkMTZ4MTZfYXZnX3Nz
ZTIKIAordm9pZCB2cHhfc2FkMTZ4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQg
dnB4X3NhZDE2eDE2eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2
b2lkIHZweF9zYWQxNngxNngzX3Nzc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDE2eDE2eDMpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDE2eDE2eDRkIHZweF9zYWQxNngx
Nng0ZF9zc2UyCiAKK3ZvaWQgdnB4X3NhZDE2eDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
Cit2b2lkIHZweF9zYWQxNngxNng4X3NzZTRfMShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4MTZ4OCkoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKKwogdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTYz
MzYsMTQgKzU3NDMsMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngz
Mng0ZCB2cHhfc2FkMTZ4MzJ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNjM2OCwxOCArNTc3NSw1NSBAQCB1bnNpZ25lZCBp
bnQgdnB4X3NhZDE2eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAj
ZGVmaW5lIHZweF9zYWQxNng4X2F2ZyB2cHhfc2FkMTZ4OF9hdmdfc3NlMgogCit2b2lkIHZweF9z
YWQxNng4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDh4M19zc2UzKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkMTZ4OHgzX3Nzc2UzKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkMTZ4OHgzKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9z
YWQxNng4eDRkX3NzZTIKIAordm9pZCB2cHhfc2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
Cit2b2lkIHZweF9zYWQxNng4eDhfc3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDE2eDh4OCkoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtNjQyMCwxNCArNTg2
NCwxNCBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4MTZfYXZnKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMngx
Nng0ZCB2cHhfc2FkMzJ4MTZ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTY0NzAsMjQgKzU5MTQsNDAgQEAgUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKIAogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
Owogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9zYWQzMngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKKwordm9pZCB2cHhfc2FkMzJ4MzJ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDMyeDMyeDgpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNjUyOSwx
NCArNTk4OSwxNCBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4NjRfYXZn
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMng2NHg0ZF9zc2UyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9z
YWQzMng2NHg0ZCB2cHhfc2FkMzJ4NjR4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4
NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02NTYxLDE4ICs2MDIxLDUwIEBAIHVuc2ln
bmVkIGludCB2cHhfc2FkNHg0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
CiAjZGVmaW5lIHZweF9zYWQ0eDRfYXZnIHZweF9zYWQ0eDRfYXZnX3NzZTIKIAordm9pZCB2cHhf
c2FkNHg0eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkNHg0eDNfc3NlMyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ0eDR4MykoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisKIHZvaWQgdnB4X3NhZDR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZw
eF9zYWQ0eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfc2FkNHg0eDRkIHZweF9zYWQ0eDR4NGRfc3NlMgogCit2b2lkIHZweF9zYWQ0eDR4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ0eDR4OF9zc2U0XzEoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ0eDR4OCko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CisKIHVuc2lnbmVkIGludCB2cHhfc2FkNHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC02NTk3LDE0ICs2
MDg5LDE0IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNHg4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lk
IHZweF9zYWQ0eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwog
I2RlZmluZSB2cHhfc2FkNHg4eDRkIHZweF9zYWQ0eDh4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQg
dnB4X3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTY2NDcsMTQgKzYxMzks
MTQgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDY0eDMyX2F2ZykoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4MzJ4
NGQgdnB4X3NhZDY0eDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02Njk3LDI0ICs2MTg5LDI0IEBAIFJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHg2NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X3NhZDY0eDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX2F2eDIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2
cHhfc2FkNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTY3
MjQsNDQ3ICs2MjE2LDE2MyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkOHgxNiB2cHhfc2FkOHgxNl9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2Fk
OHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9h
dmdfc3NlMgotCi12b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDh4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhf
c2FkOHgxNng0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2Fk
OHg0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4NCB2cHhfc2FkOHg0X3NzZTIKLQotdW5zaWduZWQg
aW50IHZweF9zYWQ4eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkOHg0X2F2ZyB2cHhfc2FkOHg0X2F2
Z19zc2UyCi0KLXZvaWQgdnB4X3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X3NhZDh4NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX3Nz
ZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkOHg4IHZweF9zYWQ4eDhfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4
OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZnX3NzZTIKLQotdm9p
ZCB2cHhfc2FkOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2
cHhfc2FkOHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfc2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfc3NlMgotCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMTZ4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfc2FkX3NraXBfMTZ4MTYgdnB4X3NhZF9za2lwXzE2eDE2X3NzZTIKLQotdm9pZCB2cHhfc2Fk
X3NraXBfMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNng0ZCB2cHhfc2Fk
X3NraXBfMTZ4MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MzIgdnB4X3NhZF9z
a2lwXzE2eDMyX3NzZTIKLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5l
IHZweF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfc3NlMgotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF8xNng4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzE2eDggdnB4X3NhZF9za2lwXzE2eDhfc3NlMgotCi12b2lkIHZweF9zYWRfc2tpcF8x
Nng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OHg0ZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9zc2Uy
Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8zMngxNikoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2
eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9h
dngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8z
MngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBf
MzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRf
c2tpcF8zMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBf
MzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkX3NraXBfMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZF9za2lwXzMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4
X3NhZF9za2lwXzMyeDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZF9za2lwXzMyeDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBf
NHg0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
NHg0eDRkIHZweF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9zc2UyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lwXzR4OF9z
c2UyCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3Nr
aXBfNHg4eDRkX3NzZTIKKyNkZWZpbmUgdnB4X3NhZDh4MTYgdnB4X3NhZDh4MTZfc3NlMgogCi11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
K3Vuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwordW5zaWduZWQgaW50IHZw
eF9zYWQ4eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzY0eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
c2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzY0eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDh4MTZfYXZn
IHZweF9zYWQ4eDE2X2F2Z19zc2UyCiAKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfNjR4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKK3ZvaWQgdnB4X3NhZDh4MTZ4
M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHgxNngzX3NzZTMoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDh4MTZ4Myko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworCit2b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhf
c2FkOHgxNng0ZF9zc2UyCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAordm9pZCB2cHhfc2FkOHgxNng4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7Cit2b2lkIHZweF9zYWQ4eDE2eDhfc3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDh4MTZ4OCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBf
NjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAK
LXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKK3Vu
c2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg0X3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhf
c2FkX3NraXBfNjR4NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfc2FkX3NraXBfNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfc2FkOHg0IHZweF9zYWQ4eDRfc3NlMgogCi11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
dW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwordW5zaWduZWQgaW50IHZweF9zYWQ4
eDRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHgxNl9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDE2IHZweF9z
YWRfc2tpcF84eDE2X3NzZTIKLQotdm9pZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWRfc2tpcF84eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3Nh
ZF9za2lwXzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDQgdnB4
X3NhZF9za2lwXzh4NF9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDh4NF9hdmcgdnB4X3NhZDh4NF9hdmdfc3Nl
MgogCi12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDR4
NGQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jCit2b2lkIHZweF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDR4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3Nh
ZDh4NHg0ZF9zc2UyCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X3NhZF9za2lwXzh4OCB2cHhfc2FkX3NraXBfOHg4X3NzZTIKK3Vuc2lnbmVkIGlu
dCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDh4OCB2
cHhfc2FkOHg4X3NzZTIKIAotdm9pZCB2cHhfc2FkX3NraXBfOHg4eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2Fk
X3NraXBfOHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKK3Vuc2lnbmVkIGludCB2
cHhfc2FkOHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDh4NGQgdnB4
X3NhZF9za2lwXzh4OHg0ZF9zc2UyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Cit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfc3Nl
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZn
X3NzZTIKKwordm9pZCB2cHhfc2FkOHg4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2Fk
OHg4eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9zYWQ4eDh4MykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKK3ZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhf
c2FkOHg4eDRkX3NzZTIKKwordm9pZCB2cHhfc2FkOHg4eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9p
ZCB2cHhfc2FkOHg4eDhfc3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
K1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkOHg4eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogCiBpbnQgdnB4X3Nh
dGRfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CiBpbnQgdnB4X3NhdGRf
c3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CkBAIC04MTM1LDIyICs3
MzQzLDcgQEAgdm9pZCB2cHhfc3VidHJhY3RfYmxvY2tfc3NlMihpbnQgcm93cywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3QgcHJlZF9zdHJpZGUpOwotdm9pZCB2cHhfc3VidHJhY3Rf
YmxvY2tfYXZ4MihpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNv
bHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2
cHhfc3VidHJhY3RfYmxvY2spKGludCByb3dzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWRfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsK
KyNkZWZpbmUgdnB4X3N1YnRyYWN0X2Jsb2NrIHZweF9zdWJ0cmFjdF9ibG9ja19zc2UyCiAKIHVp
bnQ2NF90IHZweF9zdW1fc3F1YXJlc18yZF9pMTZfYyhjb25zdCBpbnQxNl90KiBzcmMsIGludCBz
dHJpZGUsIGludCBzaXplKTsKIHVpbnQ2NF90IHZweF9zdW1fc3F1YXJlc18yZF9pMTZfc3NlMihj
b25zdCBpbnQxNl90KiBzcmMsIGludCBzdHJpZGUsIGludCBzaXplKTsKQEAgLTg0MzgsMTYgKzc2
MzEsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHgxNl9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHgxNl9hdngyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHgxNikoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2
cHhfdmFyaWFuY2U4eDE2IHZweF92YXJpYW5jZTh4MTZfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4
X3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTg0NTksMTYgKzc2NDMsNyBAQCB1bnNp
Z25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVk
IGludCB2cHhfdmFyaWFuY2U4eDRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHg0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlOHg0IHZweF92YXJpYW5j
ZTh4NF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtODQ4MCwxNiArNzY1NSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfc3Nl
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4OF9hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDgpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmlu
ZSB2cHhfdmFyaWFuY2U4eDggdnB4X3ZhcmlhbmNlOHg4X3NzZTIKIAogdm9pZCB2cHhfdmVfcHJl
ZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLApAQCAtODUxMCw5ICs3Njc2LDYgQEAgc3RhdGljIHZvaWQgc2V0dXBf
cnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAKICAgKHZvaWQpZmxhZ3M7CiAKLSAgdnB4X2NvbXBfYXZn
X3ByZWQgPSB2cHhfY29tcF9hdmdfcHJlZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
LSAgICB2cHhfY29tcF9hdmdfcHJlZCA9IHZweF9jb21wX2F2Z19wcmVkX2F2eDI7CiAgIHZweF9j
b252b2x2ZTggPSB2cHhfY29udm9sdmU4X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykK
ICAgICB2cHhfY29udm9sdmU4ID0gdnB4X2NvbnZvbHZlOF9zc3NlMzsKQEAgLTg3MTEsMTQ5ICs3
ODc0LDEyIEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhf
aGlnaGJkX2lkY3Q4eDhfNjRfYWRkID0gdnB4X2hpZ2hiZF9pZGN0OHg4XzY0X2FkZF9zc2UyOwog
ICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQogICAgIHZweF9oaWdoYmRfaWRjdDh4OF82NF9hZGQg
PSB2cHhfaGlnaGJkX2lkY3Q4eDhfNjRfYWRkX3NzZTRfMTsKLSAgdnB4X2hpZ2hiZF9xdWFudGl6
ZV9iID0gdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYiA9IHZweF9oaWdoYmRfcXVhbnRpemVfYl9hdngy
OwotICB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfaGlnaGJkX3F1YW50aXplX2Jf
MzJ4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iXzMyeDMyID0gdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2F2eDI7Ci0gIHZweF9o
aWdoYmRfc2FkMTZ4MTYgPSB2cHhfaGlnaGJkX3NhZDE2eDE2X3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMTZ4MTYgPSB2cHhfaGlnaGJkX3NhZDE2eDE2
X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNngxNl9h
dmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngx
Nl9hdmcgPSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2
eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQxNngxNng0
ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDMyID0gdnB4X2hpZ2hiZF9zYWQxNngzMl9zc2Uy
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDMyID0gdnB4
X2hpZ2hiZF9zYWQxNngzMl9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2ZyA9IHZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZnX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZw
eF9oaWdoYmRfc2FkMTZ4MzJfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYXZ4MjsKLSAg
dnB4X2hpZ2hiZF9zYWQxNngzMng0ZCA9IHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfc3NlMjsKLSAg
aWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZCA9IHZweF9o
aWdoYmRfc2FkMTZ4MzJ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNng4ID0gdnB4X2hpZ2hi
ZF9zYWQxNng4X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRf
c2FkMTZ4OCA9IHZweF9oaWdoYmRfc2FkMTZ4OF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDhf
YXZnID0gdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZY
MikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19h
dngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDh4NGQgPSB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfc3Nl
MjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNng4eDRkID0g
dnB4X2hpZ2hiZF9zYWQxNng4eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4MTYgPSB2cHhf
aGlnaGJkX3NhZDMyeDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfc2FkMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRf
c2FkMzJ4MTZfYXZnID0gdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdz
ICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmcgPSB2cHhfaGlnaGJkX3Nh
ZDMyeDE2X2F2Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkID0gdnB4X2hpZ2hiZF9z
YWQzMngxNng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJk
X3NhZDMyeDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9hdngyOwotICB2cHhfaGlnaGJk
X3NhZDMyeDMyID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDMyID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9hdngy
OwotICB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3Nz
ZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZn
ID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngzMng0
ZCA9IHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIp
Ci0gICAgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCA9IHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYXZ4
MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMng2NCA9IHZweF9oaWdoYmRfc2FkMzJ4NjRfc3NlMjsKLSAg
aWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQzMng2NCA9IHZweF9oaWdo
YmRfc2FkMzJ4NjRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcgPSB2cHhfaGlnaGJk
X3NhZDMyeDY0X2F2Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGln
aGJkX3NhZDMyeDY0X2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnX2F2eDI7Ci0gIHZweF9o
aWdoYmRfc2FkMzJ4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgPSB2cHhfaGlnaGJk
X3NhZDMyeDY0eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4MzIgPSB2cHhfaGlnaGJkX3Nh
ZDY0eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2Fk
NjR4MzIgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4MzJf
YXZnID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FW
WDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmcgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2
Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMng0
ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDY0eDMy
eDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDY0
ID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfaGlnaGJkX3NhZDY0eDY0ID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdngyOwotICB2cHhf
aGlnaGJkX3NhZDY0eDY0X2F2ZyA9IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnID0gdnB4X2hp
Z2hiZF9zYWQ2NHg2NF9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZCA9IHZweF9o
aWdoYmRfc2FkNjR4NjR4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4
X2hpZ2hiZF9zYWQ2NHg2NHg0ZCA9IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYXZ4MjsKLSAgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfc3NlMjsK
LSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiA9
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
NngxNng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZsYWdz
ICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZCA9IHZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4MTZ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMiA9
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIp
Ci0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
MzJfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCA9IHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNngzMng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYXZ4
MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4
X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4OCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9z
a2lwXzE2eDh4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfc3NlMjsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkID0gdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNng4eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYg
PSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDE2eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2F2
eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX3NzZTI7Ci0g
IGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGQg
PSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDY0X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQot
ICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDY0eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzIgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdo
YmRfc2FkX3NraXBfNjR4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX2F2eDI7Ci0gIHZw
eF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRk
X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBf
NjR4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdo
YmRfc2FkX3NraXBfNjR4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDY0X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4
NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhB
U19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDY0eDRkX2F2eDI7CiAgIHZweF9oaWdoYmRfc2F0ZCA9IHZweF9oaWdoYmRfc2F0
ZF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfaGlnaGJkX3NhdGQgPSB2cHhf
aGlnaGJkX3NhdGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayA9IHZweF9oaWdo
YmRfc3VidHJhY3RfYmxvY2tfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hp
Z2hiZF9zdWJ0cmFjdF9ibG9jayA9IHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYXZ4MjsKLSAg
dnB4X2lkY3QxNngxNl8yNTZfYWRkID0gdnB4X2lkY3QxNngxNl8yNTZfYWRkX3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9pZGN0MTZ4MTZfMjU2X2FkZCA9IHZweF9pZGN0
MTZ4MTZfMjU2X2FkZF9hdngyOwotICB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkID0gdnB4X2lkY3Qz
MngzMl8xMDI0X2FkZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaWRj
dDMyeDMyXzEwMjRfYWRkID0gdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9hdngyOwogICB2cHhfaWRj
dDMyeDMyXzEzNV9hZGQgPSB2cHhfaWRjdDMyeDMyXzEzNV9hZGRfc3NlMjsKICAgaWYgKGZsYWdz
ICYgSEFTX1NTU0UzKQogICAgIHZweF9pZGN0MzJ4MzJfMTM1X2FkZCA9IHZweF9pZGN0MzJ4MzJf
MTM1X2FkZF9zc3NlMzsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2lkY3QzMngz
Ml8xMzVfYWRkID0gdnB4X2lkY3QzMngzMl8xMzVfYWRkX2F2eDI7CiAgIHZweF9pZGN0MzJ4MzJf
MzRfYWRkID0gdnB4X2lkY3QzMngzMl8zNF9hZGRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NT
U0UzKQogICAgIHZweF9pZGN0MzJ4MzJfMzRfYWRkID0gdnB4X2lkY3QzMngzMl8zNF9hZGRfc3Nz
ZTM7CkBAIC04ODc3LDE1ICs3OTAzLDI3IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJu
YWwodm9pZCkgewogICAgIHZweF9xdWFudGl6ZV9iID0gdnB4X3F1YW50aXplX2Jfc3NzZTM7CiAg
IGlmIChmbGFncyAmIEhBU19BVlgpCiAgICAgdnB4X3F1YW50aXplX2IgPSB2cHhfcXVhbnRpemVf
Yl9hdng7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9xdWFudGl6ZV9iID0gdnB4
X3F1YW50aXplX2JfYXZ4MjsKICAgdnB4X3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfcXVhbnRpemVf
Yl8zMngzMl9jOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAgdnB4X3F1YW50aXplX2Jf
MzJ4MzIgPSB2cHhfcXVhbnRpemVfYl8zMngzMl9zc3NlMzsKICAgaWYgKGZsYWdzICYgSEFTX0FW
WCkKICAgICB2cHhfcXVhbnRpemVfYl8zMngzMiA9IHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eDsK
LSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3F1YW50aXplX2JfMzJ4MzIgPSB2cHhf
cXVhbnRpemVfYl8zMngzMl9hdngyOworICB2cHhfc2FkMTZ4MTZ4MyA9IHZweF9zYWQxNngxNngz
X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZweF9zYWQxNngxNngzID0gdnB4X3Nh
ZDE2eDE2eDNfc3NlMzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQorICAgIHZweF9zYWQxNngx
NngzID0gdnB4X3NhZDE2eDE2eDNfc3NzZTM7CisgIHZweF9zYWQxNngxNng4ID0gdnB4X3NhZDE2
eDE2eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2FkMTZ4MTZ4OCA9
IHZweF9zYWQxNngxNng4X3NzZTRfMTsKKyAgdnB4X3NhZDE2eDh4MyA9IHZweF9zYWQxNng4eDNf
YzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnB4X3NhZDE2eDh4MyA9IHZweF9zYWQx
Nng4eDNfc3NlMzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQorICAgIHZweF9zYWQxNng4eDMg
PSB2cHhfc2FkMTZ4OHgzX3Nzc2UzOworICB2cHhfc2FkMTZ4OHg4ID0gdnB4X3NhZDE2eDh4OF9j
OworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZweF9zYWQxNng4eDggPSB2cHhfc2Fk
MTZ4OHg4X3NzZTRfMTsKICAgdnB4X3NhZDMyeDE2ID0gdnB4X3NhZDMyeDE2X3NzZTI7CiAgIGlm
IChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQzMngxNiA9IHZweF9zYWQzMngxNl9hdngy
OwpAQCAtODkwMSwxMiArNzkzOSwyMSBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFs
KHZvaWQpIHsKICAgdnB4X3NhZDMyeDMyeDRkID0gdnB4X3NhZDMyeDMyeDRkX3NzZTI7CiAgIGlm
IChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQzMngzMng0ZCA9IHZweF9zYWQzMngzMng0
ZF9hdngyOworICB2cHhfc2FkMzJ4MzJ4OCA9IHZweF9zYWQzMngzMng4X2M7CisgIGlmIChmbGFn
cyAmIEhBU19BVlgyKQorICAgIHZweF9zYWQzMngzMng4ID0gdnB4X3NhZDMyeDMyeDhfYXZ4MjsK
ICAgdnB4X3NhZDMyeDY0ID0gdnB4X3NhZDMyeDY0X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19B
VlgyKQogICAgIHZweF9zYWQzMng2NCA9IHZweF9zYWQzMng2NF9hdngyOwogICB2cHhfc2FkMzJ4
NjRfYXZnID0gdnB4X3NhZDMyeDY0X2F2Z19zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
ICAgICB2cHhfc2FkMzJ4NjRfYXZnID0gdnB4X3NhZDMyeDY0X2F2Z19hdngyOworICB2cHhfc2Fk
NHg0eDMgPSB2cHhfc2FkNHg0eDNfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnB4
X3NhZDR4NHgzID0gdnB4X3NhZDR4NHgzX3NzZTM7CisgIHZweF9zYWQ0eDR4OCA9IHZweF9zYWQ0
eDR4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZweF9zYWQ0eDR4OCA9IHZw
eF9zYWQ0eDR4OF9zc2U0XzE7CiAgIHZweF9zYWQ2NHgzMiA9IHZweF9zYWQ2NHgzMl9zc2UyOwog
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkNjR4MzIgPSB2cHhfc2FkNjR4MzJf
YXZ4MjsKQEAgLTg5MjIsMzYgKzc5NjksMTggQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRl
cm5hbCh2b2lkKSB7CiAgIHZweF9zYWQ2NHg2NHg0ZCA9IHZweF9zYWQ2NHg2NHg0ZF9zc2UyOwog
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkNjR4NjR4NGQgPSB2cHhfc2FkNjR4
NjR4NGRfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzMyeDE2ID0gdnB4X3NhZF9za2lwXzMyeDE2X3Nz
ZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF8zMngxNiA9IHZw
eF9zYWRfc2tpcF8zMngxNl9hdngyOwotICB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfc2Fk
X3NraXBfMzJ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3Nh
ZF9za2lwXzMyeDE2eDRkID0gdnB4X3NhZF9za2lwXzMyeDE2eDRkX2F2eDI7Ci0gIHZweF9zYWRf
c2tpcF8zMngzMiA9IHZweF9zYWRfc2tpcF8zMngzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKLSAgICB2cHhfc2FkX3NraXBfMzJ4MzIgPSB2cHhfc2FkX3NraXBfMzJ4MzJfYXZ4MjsK
LSAgdnB4X3NhZF9za2lwXzMyeDMyeDRkID0gdnB4X3NhZF9za2lwXzMyeDMyeDRkX3NzZTI7Ci0g
IGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9z
YWRfc2tpcF8zMngzMng0ZF9hdngyOwotICB2cHhfc2FkX3NraXBfMzJ4NjQgPSB2cHhfc2FkX3Nr
aXBfMzJ4NjRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lw
XzMyeDY0ID0gdnB4X3NhZF9za2lwXzMyeDY0X2F2eDI7Ci0gIHZweF9zYWRfc2tpcF8zMng2NHg0
ZCA9IHZweF9zYWRfc2tpcF8zMng2NHg0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
LSAgICB2cHhfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4MjsK
LSAgdnB4X3NhZF9za2lwXzY0eDMyID0gdnB4X3NhZF9za2lwXzY0eDMyX3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82
NHgzMl9hdngyOwotICB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4
NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzY0eDMy
eDRkID0gdnB4X3NhZF9za2lwXzY0eDMyeDRkX2F2eDI7Ci0gIHZweF9zYWRfc2tpcF82NHg2NCA9
IHZweF9zYWRfc2tpcF82NHg2NF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2
cHhfc2FkX3NraXBfNjR4NjQgPSB2cHhfc2FkX3NraXBfNjR4NjRfYXZ4MjsKLSAgdnB4X3NhZF9z
a2lwXzY0eDY0eDRkID0gdnB4X3NhZF9za2lwXzY0eDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82NHg2
NHg0ZF9hdngyOworICB2cHhfc2FkOHgxNngzID0gdnB4X3NhZDh4MTZ4M19jOworICBpZiAoZmxh
Z3MgJiBIQVNfU1NFMykKKyAgICB2cHhfc2FkOHgxNngzID0gdnB4X3NhZDh4MTZ4M19zc2UzOwor
ICB2cHhfc2FkOHgxNng4ID0gdnB4X3NhZDh4MTZ4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NF
NF8xKQorICAgIHZweF9zYWQ4eDE2eDggPSB2cHhfc2FkOHgxNng4X3NzZTRfMTsKKyAgdnB4X3Nh
ZDh4OHgzID0gdnB4X3NhZDh4OHgzX2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZw
eF9zYWQ4eDh4MyA9IHZweF9zYWQ4eDh4M19zc2UzOworICB2cHhfc2FkOHg4eDggPSB2cHhfc2Fk
OHg4eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2FkOHg4eDggPSB2
cHhfc2FkOHg4eDhfc3NlNF8xOwogICB2cHhfc2F0ZCA9IHZweF9zYXRkX3NzZTI7CiAgIGlmIChm
bGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYXRkID0gdnB4X3NhdGRfYXZ4MjsKQEAgLTkwNDQs
OSArODA3Myw2IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2
cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4ID0gdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OF9zc2Uy
OwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4
OCA9IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfc3NzZTM7Ci0gIHZweF9zdWJ0cmFjdF9ibG9j
ayA9IHZweF9zdWJ0cmFjdF9ibG9ja19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfc3VidHJhY3RfYmxvY2sgPSB2cHhfc3VidHJhY3RfYmxvY2tfYXZ4MjsKICAgdnB4X3Zh
cmlhbmNlMTZ4MTYgPSB2cHhfdmFyaWFuY2UxNngxNl9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKICAgICB2cHhfdmFyaWFuY2UxNngxNiA9IHZweF92YXJpYW5jZTE2eDE2X2F2eDI7CkBA
IC05MDcxLDE1ICs4MDk3LDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lk
KSB7CiAgIHZweF92YXJpYW5jZTY0eDY0ID0gdnB4X3ZhcmlhbmNlNjR4NjRfc3NlMjsKICAgaWYg
KGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3ZhcmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2
NHg2NF9hdngyOwotICB2cHhfdmFyaWFuY2U4eDE2ID0gdnB4X3ZhcmlhbmNlOHgxNl9zc2UyOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfdmFyaWFuY2U4eDE2ID0gdnB4X3Zhcmlh
bmNlOHgxNl9hdngyOwotICB2cHhfdmFyaWFuY2U4eDQgPSB2cHhfdmFyaWFuY2U4eDRfc3NlMjsK
LSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3ZhcmlhbmNlOHg0ID0gdnB4X3Zhcmlh
bmNlOHg0X2F2eDI7Ci0gIHZweF92YXJpYW5jZTh4OCA9IHZweF92YXJpYW5jZTh4OF9zc2UyOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfdmFyaWFuY2U4eDggPSB2cHhfdmFyaWFu
Y2U4eDhfYXZ4MjsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy9pYTMy
L3ZwOF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZwOF9ydGNkLmgKaW5kZXggMzYyMTY3
NzBhMWU4Li5jNDZiZmU1NzMzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL2lhMzIvdnA4
X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZwOF9ydGNkLmgKQEAgLTEwNSw2ICsx
MDUsMzYgQEAgUlRDRF9FWFRFUk4gdm9pZCAoKnZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4KSh1bnNp
Z25lZCBjaGFyKiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKIAordm9pZCB2cDhfYmxlbmRfYl9j
KHVuc2lnbmVkIGNoYXIqIHksCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwK
KyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAg
IGludCB5XzEsCisgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAg
ICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgIGludCBhbHBoYSwKKyAgICAgICAgICAgICAg
ICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX2IgdnA4X2JsZW5kX2JfYworCit2
b2lkIHZwOF9ibGVuZF9tYl9pbm5lcl9jKHVuc2lnbmVkIGNoYXIqIHksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5XzEsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhbHBoYSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9tYl9p
bm5lciB2cDhfYmxlbmRfbWJfaW5uZXJfYworCit2b2lkIHZwOF9ibGVuZF9tYl9vdXRlcl9jKHVu
c2lnbmVkIGNoYXIqIHksCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IHUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB1XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBhbHBoYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0
cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9tYl9vdXRlciB2cDhfYmxlbmRfbWJfb3V0ZXJfYwor
CiBpbnQgdnA4X2Jsb2NrX2Vycm9yX2Moc2hvcnQqIGNvZWZmLCBzaG9ydCogZHFjb2VmZik7CiBp
bnQgdnA4X2Jsb2NrX2Vycm9yX3NzZTIoc2hvcnQqIGNvZWZmLCBzaG9ydCogZHFjb2VmZik7CiAj
ZGVmaW5lIHZwOF9ibG9ja19lcnJvciB2cDhfYmxvY2tfZXJyb3Jfc3NlMgpAQCAtMzA4LDYgKzMz
OCw0MyBAQCB2b2lkIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X3NzZTIodW5zaWduZWQgY2hhciog
c3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2VpZ2h0KTsK
ICNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDggdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDhf
c3NlMgogCitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jKHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2Fk
X3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworaW50IHZwOF9mdWxsX3NlYXJjaF9z
YWR4MyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2
YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBt
dmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogY2VudGVy
X212KTsKK2ludCB2cDhfZnVsbF9zZWFyY2hfc2FkeDgoc3RydWN0IG1hY3JvYmxvY2sqIHgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9jayogYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IGJsb2NrZCogZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5pb24gaW50X212KiByZWZfbXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRf
cGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpc3RhbmNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCogbXZjb3N0WzJdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9tdik7CitSVENEX0VYVEVSTiBpbnQgKCp2cDhf
ZnVsbF9zZWFyY2hfc2FkKShzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9jayogYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZjb3N0WzJdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50
ZXJfbXYpOworCiB2b2lkIHZwOF9sb29wX2ZpbHRlcl9iaF9jKHVuc2lnbmVkIGNoYXIqIHlfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdl9wdHIsCkBAIC01ODEsNiArNjQ4
LDExIEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cDhfZmFz
dF9xdWFudGl6ZV9iID0gdnA4X2Zhc3RfcXVhbnRpemVfYl9zc2UyOwogICBpZiAoZmxhZ3MgJiBI
QVNfU1NTRTMpCiAgICAgdnA4X2Zhc3RfcXVhbnRpemVfYiA9IHZwOF9mYXN0X3F1YW50aXplX2Jf
c3NzZTM7CisgIHZwOF9mdWxsX3NlYXJjaF9zYWQgPSB2cDhfZnVsbF9zZWFyY2hfc2FkX2M7Cisg
IGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZwOF9mdWxsX3NlYXJjaF9zYWQgPSB2cDhfZnVs
bF9zZWFyY2hfc2FkeDM7CisgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisgICAgdnA4X2Z1bGxf
c2VhcmNoX3NhZCA9IHZwOF9mdWxsX3NlYXJjaF9zYWR4ODsKICAgdnA4X3JlZ3VsYXJfcXVhbnRp
emVfYiA9IHZwOF9yZWd1bGFyX3F1YW50aXplX2Jfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NT
RTRfMSkKICAgICB2cDhfcmVndWxhcl9xdWFudGl6ZV9iID0gdnA4X3JlZ3VsYXJfcXVhbnRpemVf
Yl9zc2U0XzE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZwOV9ydGNkLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL21hYy9pYTMyL3ZwOV9ydGNkLmgKaW5kZXggNzc3MWVlM2UxYTkwLi5lMDc5YTJk
MGNlZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL2lhMzIvdnA5X3J0Y2QuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL21hYy9pYTMyL3ZwOV9ydGNkLmgKQEAgLTIxLDkgKzIxLDcgQEAgc3RydWN0IG1h
Y3JvYmxvY2tkOwogCiAvKiBFbmNvZGVyIGZvcndhcmQgZGVjbHMgKi8KIHN0cnVjdCBtYWNyb2Js
b2NrOwotc3RydWN0IG1hY3JvYmxvY2tfcGxhbmU7Ci1zdHJ1Y3QgdnA5X3NhZF90YWJsZTsKLXN0
cnVjdCBTY2FuT3JkZXI7CitzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZTsKIHN0cnVjdCBzZWFy
Y2hfc2l0ZV9jb25maWc7CiBzdHJ1Y3QgbXY7CiB1bmlvbiBpbnRfbXY7CkBAIC04NiwxNCArODQs
MzEgQEAgaW50IHZwOV9kZW5vaXNlcl9maWx0ZXJfc3NlMihjb25zdCB1aW50OF90KiBzaWcsCiBp
bnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29u
ZmlnKiBjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzdGFydF9tdl9zYWQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
dnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwotI2RlZmluZSB2cDlf
ZGlhbW9uZF9zZWFyY2hfc2FkIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYworaW50IHZwOV9kaWFt
b25kX3NlYXJjaF9zYWRfYXZ4KGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNm
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIHJlZl9tdiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJhbSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50KiBudW0wMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiogY2VudGVyX212KTsKK1JUQ0RfRVhURVJOIGlu
dCAoKnZwOV9kaWFtb25kX3NlYXJjaF9zYWQpKAorICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
KiB4LAorICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKKyAgICBzdHJ1
Y3QgbXYqIHJlZl9tdiwKKyAgICBzdHJ1Y3QgbXYqIGJlc3RfbXYsCisgICAgaW50IHNlYXJjaF9w
YXJhbSwKKyAgICBpbnQgc2FkX3Blcl9iaXQsCisgICAgaW50KiBudW0wMCwKKyAgICBjb25zdCBz
dHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgIGNvbnN0IHN0cnVjdCBtdiog
Y2VudGVyX212KTsKIAogdm9pZCB2cDlfZmh0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwK
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LApAQCAtMjYwLDU3ICsyNzUs
MjkgQEAgdm9pZCB2cDlfaGlnaGJkX3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfYyhjb25zdCB1
aW50MTZfdCogc3JjX3B0ciwKIAogdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2MoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X2hpZ2hiZF9xdWFu
dGl6ZV9mcF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29l
ZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCog
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9oaWdo
YmRfcXVhbnRpemVfZnApKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBp
bnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29u
c3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKLQotdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2MoCi0gICAgY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0
IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGlu
dDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0
cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cDlfaGlnaGJkX3F1YW50
aXplX2ZwXzMyeDMyX2F2eDIoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAg
IGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBj
b25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVp
bnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzIp
KAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZm
cywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0g
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
LSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVmaW5lIHZwOV9oaWdo
YmRfcXVhbnRpemVfZnAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9jCisKK3ZvaWQgdnA5X2hpZ2hi
ZF9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngz
MiB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2MKIAogdm9pZCB2cDlfaGlnaGJkX3RlbXBv
cmFsX2ZpbHRlcl9hcHBseV9jKGNvbnN0IHVpbnQ4X3QqIGZyYW1lMSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3RyaWRlLApAQCAtMzU2LDc5
ICszNDMsNjEgQEAgdm9pZCB2cDlfaWh0OHg4XzY0X2FkZF9zc2UyKGNvbnN0IHRyYW5fbG93X3Qq
IGlucHV0LAogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9w
bGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVx
dWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRp
emVfZnBfc3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
ZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRl
cXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qg
c2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9xdWFudGl6ZV9mcF9zc3NlMyhjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZm
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3Bs
YW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRl
cXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25z
dCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwog
dm9pZCB2cDlfcXVhbnRpemVfZnBfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxh
bmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNj
YW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X3F1YW50
aXplX2ZwKSgKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qg
bl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVv
Yl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJOIHZvaWQg
KCp2cDlfcXVhbnRpemVfZnApKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGlzY2FuKTsKIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYyhjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0
cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCog
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5P
cmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9zc3Nl
Myhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBj
b25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2F2eDIoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDlfcXVhbnRpemVfZnBfMzJ4MzIpKAotICAgIGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3df
dCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBp
bnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cDlfcXVhbnRpemVfZnBfMzJ4MzIg
dnA5X3F1YW50aXplX2ZwXzMyeDMyX2MKIAogdm9pZCB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFt
ZV9jKGNvbnN0IHN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWcqIHNyYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBkc3QsCkBAIC00
NTksNiArNDI4LDkgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAg
IHZwOV9ibG9ja19lcnJvcl9mcCA9IHZwOV9ibG9ja19lcnJvcl9mcF9zc2UyOwogICBpZiAoZmxh
Z3MgJiBIQVNfQVZYMikKICAgICB2cDlfYmxvY2tfZXJyb3JfZnAgPSB2cDlfYmxvY2tfZXJyb3Jf
ZnBfYXZ4MjsKKyAgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCA9IHZwOV9kaWFtb25kX3NlYXJjaF9z
YWRfYzsKKyAgaWYgKGZsYWdzICYgSEFTX0FWWCkKKyAgICB2cDlfZGlhbW9uZF9zZWFyY2hfc2Fk
ID0gdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdng7CiAgIHZwOV9oaWdoYmRfaWh0MTZ4MTZfMjU2
X2FkZCA9IHZwOV9oaWdoYmRfaWh0MTZ4MTZfMjU2X2FkZF9jOwogICBpZiAoZmxhZ3MgJiBIQVNf
U1NFNF8xKQogICAgIHZwOV9oaWdoYmRfaWh0MTZ4MTZfMjU2X2FkZCA9IHZwOV9oaWdoYmRfaWh0
MTZ4MTZfMjU2X2FkZF9zc2U0XzE7CkBAIC00NjgsMjIgKzQ0MCw5IEBAIHN0YXRpYyB2b2lkIHNl
dHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cDlfaGlnaGJkX2lodDh4OF82NF9hZGQgPSB2
cDlfaGlnaGJkX2lodDh4OF82NF9hZGRfYzsKICAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKICAg
ICB2cDlfaGlnaGJkX2lodDh4OF82NF9hZGQgPSB2cDlfaGlnaGJkX2lodDh4OF82NF9hZGRfc3Nl
NF8xOwotICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwID0gdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9j
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwID0g
dnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9hdngyOwotICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMy
eDMyID0gdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9jOwotICBpZiAoZmxhZ3MgJiBIQVNf
QVZYMikKLSAgICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyID0gdnA5X2hpZ2hiZF9xdWFu
dGl6ZV9mcF8zMngzMl9hdngyOwogICB2cDlfcXVhbnRpemVfZnAgPSB2cDlfcXVhbnRpemVfZnBf
c3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQotICAgIHZwOV9xdWFudGl6ZV9mcCA9IHZw
OV9xdWFudGl6ZV9mcF9zc3NlMzsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnA5X3F1
YW50aXplX2ZwID0gdnA5X3F1YW50aXplX2ZwX2F2eDI7Ci0gIHZwOV9xdWFudGl6ZV9mcF8zMngz
MiA9IHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jOwotICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCi0g
ICAgdnA5X3F1YW50aXplX2ZwXzMyeDMyID0gdnA5X3F1YW50aXplX2ZwXzMyeDMyX3Nzc2UzOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cDlfcXVhbnRpemVfZnBfMzJ4MzIgPSB2cDlf
cXVhbnRpemVfZnBfMzJ4MzJfYXZ4MjsKICAgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUgPSB2
cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAg
ICAgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUgPSB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFt
ZV9zc3NlMzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL2lhMzIvdnB4X2NvbmZpZy5hc20g
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL21hYy9pYTMyL3ZweF9jb25maWcuYXNtCmluZGV4IGQxOGVkZDVkMmRjYS4u
YTViZGEyOWM3Njg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZweF9jb25maWcu
YXNtCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvbWFjL2lhMzIvdnB4X2NvbmZpZy5hc20KQEAgLTEsNyArMSw1
IEBACiAlZGVmaW5lIFZQWF9BUkNIX0FSTSAwCiAlZGVmaW5lIEFSQ0hfQVJNIDAKLSVkZWZpbmUg
VlBYX0FSQ0hfQUFSQ0g2NCAwCi0lZGVmaW5lIEFSQ0hfQUFSQ0g2NCAwCiAlZGVmaW5lIFZQWF9B
UkNIX01JUFMgMAogJWRlZmluZSBBUkNIX01JUFMgMAogJWRlZmluZSBWUFhfQVJDSF9YODYgMQpA
QCAtMTAsMTIgKzgsOCBAQAogJWRlZmluZSBBUkNIX1g4Nl82NCAwCiAlZGVmaW5lIFZQWF9BUkNI
X1BQQyAwCiAlZGVmaW5lIEFSQ0hfUFBDIDAKLSVkZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNIIDAK
LSVkZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotJWRlZmluZSBIQVZFX05FT05fQVNNIDAKICVkZWZp
bmUgSEFWRV9ORU9OIDAKLSVkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMAotJWRlZmluZSBIQVZF
X05FT05fSThNTSAwCislZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogJWRlZmluZSBIQVZFX01JUFMz
MiAwCiAlZGVmaW5lIEhBVkVfRFNQUjIgMAogJWRlZmluZSBIQVZFX01TQSAwCkBAIC0zMSw4ICsy
NSw2IEBACiAlZGVmaW5lIEhBVkVfQVZYNTEyIDAKICVkZWZpbmUgSEFWRV9WU1ggMAogJWRlZmlu
ZSBIQVZFX01NSSAwCi0lZGVmaW5lIEhBVkVfTFNYIDAKLSVkZWZpbmUgSEFWRV9MQVNYIDAKICVk
ZWZpbmUgSEFWRV9WUFhfUE9SVFMgMQogJWRlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAlZGVmaW5l
IEhBVkVfVU5JU1REX0ggMApAQCAtODUsNiArNzcsNyBAQAogJWRlZmluZSBDT05GSUdfTVVMVElf
UkVTX0VOQ09ESU5HIDEKICVkZWZpbmUgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAxCiAlZGVm
aW5lIENPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIDEKKyVkZWZpbmUgQ09ORklHX0NPTlNJ
U1RFTlRfUkVDT0RFIDAKICVkZWZpbmUgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5H
IDAKICVkZWZpbmUgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggMQogJWRlZmluZSBDT05GSUdfQkVU
VEVSX0hXX0NPTVBBVElCSUxJVFkgMApAQCAtOTcsNiArOTAsNSBAQAogJWRlZmluZSBDT05GSUdf
RU1VTEFURV9IQVJEV0FSRSAwCiAlZGVmaW5lIENPTkZJR19OT05fR1JFRURZX01WIDAKICVkZWZp
bmUgQ09ORklHX1JBVEVfQ1RSTCAwCi0lZGVmaW5lIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9U
SU1JTkcgMAogJWRlZmluZSBERUNPREVfV0lEVEhfTElNSVQgMTYzODQKICVkZWZpbmUgREVDT0RF
X0hFSUdIVF9MSU1JVCAxNjM4NApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMvaWEzMi92cHhf
Y29uZmlnLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy9pYTMyL3ZweF9jb25maWcuaAppbmRleCBhN2Q3ZmZk
MDcwOWMuLjExYzE0ZmVlZjc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMvaWEzMi92cHhf
Y29uZmlnLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMvaWEzMi92cHhfY29uZmlnLmgKQEAgLTEyLDgg
KzEyLDYgQEAKICNkZWZpbmUgSU5MSU5FICAgICAgaW5saW5lCiAjZGVmaW5lIFZQWF9BUkNIX0FS
TSAwCiAjZGVmaW5lIEFSQ0hfQVJNIDAKLSNkZWZpbmUgVlBYX0FSQ0hfQUFSQ0g2NCAwCi0jZGVm
aW5lIEFSQ0hfQUFSQ0g2NCAwCiAjZGVmaW5lIFZQWF9BUkNIX01JUFMgMAogI2RlZmluZSBBUkNI
X01JUFMgMAogI2RlZmluZSBWUFhfQVJDSF9YODYgMQpAQCAtMjIsMTIgKzIwLDggQEAKICNkZWZp
bmUgQVJDSF9YODZfNjQgMAogI2RlZmluZSBWUFhfQVJDSF9QUEMgMAogI2RlZmluZSBBUkNIX1BQ
QyAwCi0jZGVmaW5lIFZQWF9BUkNIX0xPT05HQVJDSCAwCi0jZGVmaW5lIEFSQ0hfTE9PTkdBUkNI
IDAKLSNkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAjZGVmaW5lIEhBVkVfTkVPTiAwCi0jZGVmaW5l
IEhBVkVfTkVPTl9ET1RQUk9EIDAKLSNkZWZpbmUgSEFWRV9ORU9OX0k4TU0gMAorI2RlZmluZSBI
QVZFX05FT05fQVNNIDAKICNkZWZpbmUgSEFWRV9NSVBTMzIgMAogI2RlZmluZSBIQVZFX0RTUFIy
IDAKICNkZWZpbmUgSEFWRV9NU0EgMApAQCAtNDMsOCArMzcsNiBAQAogI2RlZmluZSBIQVZFX0FW
WDUxMiAwCiAjZGVmaW5lIEhBVkVfVlNYIDAKICNkZWZpbmUgSEFWRV9NTUkgMAotI2RlZmluZSBI
QVZFX0xTWCAwCi0jZGVmaW5lIEhBVkVfTEFTWCAwCiAjZGVmaW5lIEhBVkVfVlBYX1BPUlRTIDEK
ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQogI2RlZmluZSBIQVZFX1VOSVNURF9IIDAKQEAgLTk3
LDYgKzg5LDcgQEAKICNkZWZpbmUgQ09ORklHX01VTFRJX1JFU19FTkNPRElORyAxCiAjZGVmaW5l
IENPTkZJR19URU1QT1JBTF9ERU5PSVNJTkcgMQogI2RlZmluZSBDT05GSUdfVlA5X1RFTVBPUkFM
X0RFTk9JU0lORyAxCisjZGVmaW5lIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSAwCiAjZGVmaW5l
IENPTkZJR19DT0VGRklDSUVOVF9SQU5HRV9DSEVDS0lORyAwCiAjZGVmaW5lIENPTkZJR19WUDlf
SElHSEJJVERFUFRIIDEKICNkZWZpbmUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZIDAK
QEAgLTEwOSw3ICsxMDIsNiBAQAogI2RlZmluZSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAwCiAj
ZGVmaW5lIENPTkZJR19OT05fR1JFRURZX01WIDAKICNkZWZpbmUgQ09ORklHX1JBVEVfQ1RSTCAw
Ci0jZGVmaW5lIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgMAogI2RlZmluZSBERUNP
REVfV0lEVEhfTElNSVQgMTYzODQKICNkZWZpbmUgREVDT0RFX0hFSUdIVF9MSU1JVCAxNjM4NAog
I2VuZGlmIC8qIFZQWF9DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMvaWEz
Mi92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL2lhMzIvdnB4X2RzcF9ydGNkLmgKaW5k
ZXggMzNhM2M5NmVkY2FjLi4wOTZlM2E4NjNlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFj
L2lhMzIvdnB4X2RzcF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMvaWEzMi92cHhfZHNwX3J0
Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNpbmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNp
bmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhf
ZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9FTkNPREVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRl
cm4gIkMiIHsKQEAgLTQ0LDE4ICs0MCw3IEBAIHZvaWQgdnB4X2NvbXBfYXZnX3ByZWRfc3NlMih1
aW50OF90KiBjb21wX3ByZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdo
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdm9pZCB2cHhfY29tcF9h
dmdfcHJlZF9hdngyKHVpbnQ4X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBwcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2Nv
bXBfYXZnX3ByZWQpKHVpbnQ4X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2NvbXBfYXZnX3ByZWQgdnB4X2Nv
bXBfYXZnX3ByZWRfc3NlMgogCiB2b2lkIHZweF9jb252b2x2ZThfYyhjb25zdCB1aW50OF90KiBz
cmMsCiAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTMwMjEs
MTMgKzMwMDYsNyBAQCB2b2lkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZF9jKHVpbnQxNl90KiBj
b21wX3ByZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiByZWYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXZvaWQgdnB4X2hp
Z2hiZF9jb21wX2F2Z19wcmVkX3NzZTIodWludDE2X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHByZWQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIHJlZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWQg
dnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX3NzZTIKKyNkZWZpbmUgdnB4X2hpZ2hiZF9jb21wX2F2
Z19wcmVkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9jb252
b2x2ZThfYyhjb25zdCB1aW50MTZfdCogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtNDQ0Myw3MCArNDQyMiw1OSBAQCB2b2lkIHZweF9o
aWdoYmRfbWlubWF4Xzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHM4LAogCiB2b2lkIHZweF9oaWdoYmRf
cXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfaGlnaGJkX3F1
YW50aXplX2Jfc3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxh
bmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3No
aWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNv
ZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCog
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNj
YW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9h
dngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qg
c2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9xdWFudGl6ZV9iKSgK
LSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0g
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0g
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci0KLXZvaWQgdnB4
X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2MoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZf
cHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwK
LSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2
cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMigKLSAgICBjb25zdCB0cmFuX2xvd190KiBj
b2VmZl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVv
Yl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12
b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9hdngyKAotICAgIGNvbnN0IHRyYW5fbG93
X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZf
dCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzIpKAotICAg
IGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAg
ICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBj
b25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogaXNjYW4pOworI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2IgdnB4X2hpZ2hiZF9x
dWFudGl6ZV9iX3NzZTIKKwordm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYyhjb25z
dCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsK
K3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX3NzZTIoY29uc3QgdHJhbl9sb3dfdCog
Y29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJf
dCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNr
aXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngz
MiB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDUxNiwxNCArNDQ4NCw3IEBA
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2eDIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRf
c2FkMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTYgdnB4X2hpZ2hiZF9zYWQxNngx
Nl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKQEAgLTQ1MzUsMzcgKzQ0OTYsMTkgQEAgdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMTZ4MTZfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19h
dngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2
eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9z
YWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRf
YXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQg
KCp2cHhfaGlnaGJkX3NhZDE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4
MTZ4NGQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZDE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NTc1LDE0ICs0NTE4LDcgQEAg
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9z
YWQxNngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMiB2cHhfaGlnaGJkX3NhZDE2eDMy
X3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtNDU5NCwzNyArNDUzMCwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQxNngzMl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX2F2
eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
UlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmcpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4
MzJfYXZnIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3Nh
ZDE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9h
dngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAo
KnZweF9oaWdoYmRfc2FkMTZ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngz
Mng0ZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NjM0LDE0ICs0NTUyLDcgQEAgdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNng4X2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMTZ4OCkoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQxNng4IHZweF9oaWdoYmRfc2FkMTZ4OF9zc2UyCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00
NjUzLDM3ICs0NTY0LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2
cHhfaGlnaGJkX3NhZDE2eDhfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OF9hdmcgdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19zc2Uy
CiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hi
ZF9zYWQxNng4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhf
aGlnaGJkX3NhZDE2eDh4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfaGlnaGJkX3NhZDE2eDh4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OHg0
ZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDY5MywxNCArNDU4Niw3IEBAIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2eDIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4
MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTYgdnB4X2hpZ2hiZF9zYWQzMngxNl9zc2Uy
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTQ3MTIsMzcgKzQ1OTgsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMzJ4MTZfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0Rf
RVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnKShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2
ZyB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngx
Nng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYXZ4Mihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
aGlnaGJkX3NhZDMyeDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQg
dnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NzUyLDE0ICs0NjIwLDcgQEAgdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMngz
MikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMiB2cHhfaGlnaGJkX3NhZDMyeDMyX3NzZTIK
IAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtNDc3MSwzNyArNDYzMiwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQzMngzMl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2F2eDIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9F
WFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZn
IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9o
aWdoYmRfc2FkMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCB2
cHhfaGlnaGJkX3NhZDMyeDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
MzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ4MTEsMTQgKzQ2NTQsNyBAQCB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDY0
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0IHZweF9oaWdoYmRfc2FkMzJ4NjRfc3NlMgog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC00ODMwLDM3ICs0NjY2LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDMyeDY0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VY
VEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZykoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcg
dnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4NjR4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2F2eDIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hp
Z2hiZF9zYWQzMng2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkIHZw
eF9oaWdoYmRfc2FkMzJ4NjR4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0
eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00ODc3LDE0ICs0Njk1LDE0IEBAIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lk
IHZweF9oaWdoYmRfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRfc3Nl
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4NHg0ZCB2cHhf
aGlnaGJkX3NhZDR4NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC00OTAyLDE0ICs0NzIwLDE0IEBAIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDR4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2
b2lkIHZweF9oaWdoYmRfc2FkNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4OHg0ZCB2
cHhfaGlnaGJkX3NhZDR4OHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0
eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTQ5MjAsMTQgKzQ3MzgsNyBAQCB1bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdngyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDY0
eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDMyIHZweF9oaWdoYmRfc2FkNjR4MzJfc3Nl
MgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC00OTM5LDM3ICs0NzUwLDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDY0eDMyX2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfYXZ4Mihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDY0eDMyX2F2ZykoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9h
dmcgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4
MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkNjR4
MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X2hpZ2hiZF9zYWQ2NHgzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDMyeDRk
IHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDk3OSwxNCArNDc3Miw3IEBAIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2eDIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkNjR4
NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjQgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9zc2Uy
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTQ5OTgsMzcgKzQ3ODQsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkNjR4NjRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0Rf
RVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkNjR4NjRfYXZnKShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2
ZyB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2
NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYXZ4Mihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
aGlnaGJkX3NhZDY0eDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjR4NGQg
dnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTA1NCwxNCArNDgyMiwxNCBAQCB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hi
ZF9zYWQ4eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWQ4eDE2eDRkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9zc2UyCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC01MDg4
LDE0ICs0ODU2LDE0IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4NF9hdmdfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkOHg0eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDh4NHg0ZCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9zc2UyCiAKIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBA
IC01MTIyLDQ5NSArNDg5MCw3OCBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZn
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDh4OHg0
ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkOHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDh4NGQgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRfc3Nl
MgogCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9hdngyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworaW50IHZw
eF9oaWdoYmRfc2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKK2lu
dCB2cHhfaGlnaGJkX3NhdGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0
aCk7CitSVENEX0VYVEVSTiBpbnQgKCp2cHhfaGlnaGJkX3NhdGQpKGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmLCBpbnQgbGVuZ3RoKTsKIAotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9p
ZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Cit2b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYyhpbnQgcm93cywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGJkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayB2
cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MKIAotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3Nr
aXBfMTZ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMiko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKK3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfYyh1
aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBiZCk7Cit2b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2X3NzZTIodWludDE2
X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBhYm92ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNiB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9zc2UyCiAKLXZvaWQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0
ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJU
Q0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkKSgKLSAgICBjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9jKHVp
bnQxNl90KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDE2X3QqIGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGJkKTsKK3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzJfc3NlMih1aW50MTZf
dCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBiZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyIHZw
eF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyX3NzZTIKIAotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDhfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRD
RF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4KShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfYyh1aW50MTZfdCogZHN0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwordm9pZCB2cHhf
aGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3NlMih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhf
aGlnaGJkX3RtX3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfNHg0X3NzZTIK
IAotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX3NzZTIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4OHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZCkoCi0g
ICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
UlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNikoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2F2eDIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0K
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2F2eDIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAo
KnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRk
KSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMng2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4Mihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF80eDRfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80
eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmlu
ZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OF9jCi0KLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
Owotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRk
IHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkX3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2F2eDIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDY0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0K
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lw
XzY0eDY0eDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3Ry
aWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF84eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lw
Xzh4MTYgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X3NzZTIKLQotdm9pZCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhf
aGlnaGJkX3NhZF9za2lwXzh4NCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9jCi0KLXZvaWQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0
ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhf
aGlnaGJkX3NhZF9za2lwXzh4OCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9zc2UyCi0KLXZvaWQg
dnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX3NzZTIKLQotaW50IHZweF9oaWdoYmRfc2F0ZF9jKGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLWludCB2cHhfaGlnaGJkX3NhdGRf
YXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7Ci1SVENEX0VYVEVSTiBp
bnQgKCp2cHhfaGlnaGJkX3NhdGQpKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3Ro
KTsKLQotdm9pZCB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MoaW50IHJvd3MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDE2X3QqIGRpZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc3JjOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWQ4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYXZ4
MihpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
cmM4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcHJlZDhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHByZWRfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGJkKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrKShp
bnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgY29scywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQxNl90KiBkaWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3JjOF9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcHJlZDhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGlj
dG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngx
Nl9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVk
aWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfc3NlMgotCi12b2lkIHZw
eF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyX2ModWludDE2X3QqIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJk
X3RtX3ByZWRpY3Rvcl8zMngzMl9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4
MzJfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxl
ZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZw
eF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3Nl
MgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdo
YmRfdG1fcHJlZGljdG9yXzh4OF9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfdG1fcHJlZGljdG9yXzh4OCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDhfc3NlMgordm9p
ZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDhfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwordm9pZCB2cHhfaGlnaGJkX3RtX3By
ZWRpY3Rvcl84eDhfc3NlMih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3RtX3By
ZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfOHg4X3NzZTIKIAogdm9pZCB2cHhf
aGlnaGJkX3ZfcHJlZGljdG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC01Njc4LDEyICs1MDI5
LDcgQEAgdm9pZCB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1
dCwKIHZvaWQgdnB4X2lkY3QxNngxNl8yNTZfYWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5w
dXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotdm9pZCB2cHhfaWRjdDE2
eDE2XzI1Nl9hZGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHN0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2lkY3QxNngxNl8y
NTZfYWRkKShjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2lkY3QxNngxNl8y
NTZfYWRkIHZweF9pZGN0MTZ4MTZfMjU2X2FkZF9zc2UyCiAKIHZvaWQgdnB4X2lkY3QxNngxNl8z
OF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhfdCogZGVzdCwgaW50IHN0cmlk
ZSk7CiB2b2lkIHZweF9pZGN0MTZ4MTZfMzhfYWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5w
dXQsCkBAIC01Njk3LDEyICs1MDQzLDcgQEAgdm9pZCB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2Mo
Y29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiB2b2lkIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfc3Nl
Mihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3RyaWRlKTsKLXZvaWQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9hdngyKGNvbnN0IHRyYW5fbG93
X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9pZGN0MzJ4MzJfMTAyNF9hZGQpKGNvbnN0IHRyYW5fbG93X3QqIGlu
cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0
cmlkZSk7CisjZGVmaW5lIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGQgdnB4X2lkY3QzMngzMl8xMDI0
X2FkZF9zc2UyCiAKIHZvaWQgdnB4X2lkY3QzMngzMl8xMzVfYWRkX2MoY29uc3QgdHJhbl9sb3df
dCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCkBA
IC01NzEzLDkgKzUwNTQsNiBAQCB2b2lkIHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9zc2UyKGNvbnN0
IHRyYW5fbG93X3QqIGlucHV0LAogdm9pZCB2cHhfaWRjdDMyeDMyXzEzNV9hZGRfc3NzZTMoY29u
c3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90KiBkZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlk
ZSk7Ci12b2lkIHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGlu
cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKIFJUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfaWRjdDMyeDMyXzEzNV9hZGQpKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwpAQCAt
NTc3MiwxMSArNTExMCwxMSBAQCBpbnQxNl90IHZweF9pbnRfcHJvX2NvbF9jKGNvbnN0IHVpbnQ4
X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsKIGludDE2X3QgdnB4X2ludF9wcm9fY29sX3NzZTIo
Y29uc3QgdWludDhfdCogcmVmLCBjb25zdCBpbnQgd2lkdGgpOwogI2RlZmluZSB2cHhfaW50X3By
b19jb2wgdnB4X2ludF9wcm9fY29sX3NzZTIKIAotdm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQx
Nl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90KiBoYnVmLAogICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQgaGVpZ2h0KTsKLXZvaWQgdnB4X2ludF9wcm9fcm93X3NzZTIoaW50MTZfdCBoYnVmWzE2
XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X3NzZTIoaW50MTZfdCogaGJ1ZiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50IGhlaWdodCk7CkBAIC02MTE2LDkwICs1NDU0LDEyMiBAQCB2b2lkIHZweF9wb3N0X3By
b2NfZG93bl9hbmRfYWNyb3NzX21iX3Jvd19zc2UyKHVuc2lnbmVkIGNoYXIqIHNyYywKIAogdm9p
ZCB2cHhfcXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICB1
aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nh
bk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2Fu
KTsKIHZvaWQgdnB4X3F1YW50aXplX2Jfc3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2
b2lkIHZweF9xdWFudGl6ZV9iX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90
KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
aXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVfYl9hdngoY29uc3QgdHJhbl9sb3dfdCogY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJf
cGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVx
dWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOwotdm9pZCB2cHhfcXVhbnRpemVfYl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAot
ICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRf
cHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIq
IGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsK
K1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYikoY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5f
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHZvaWQgdnB4X3F1YW50
aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2Uz
KGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25z
dCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9hdngoY29uc3QgdHJhbl9sb3df
dCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfcXVhbnRpemVfYl8zMngz
Ml9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25z
dCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYl8zMngzMiko
Ci0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNy
b2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3Jk
ZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYl8zMngzMiko
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBpc2Nhbik7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLApAQCAtNjIyMywxOCArNTU5Myw1NSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2F2
Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2
eDE2X2F2ZyB2cHhfc2FkMTZ4MTZfYXZnX3NzZTIKIAordm9pZCB2cHhfc2FkMTZ4MTZ4M19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDE2eDNfc3NlMyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQxNngxNngzX3Nzc2UzKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4
X3NhZDE2eDE2eDMpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUg
dnB4X3NhZDE2eDE2eDRkIHZweF9zYWQxNngxNng0ZF9zc2UyCiAKK3ZvaWQgdnB4X3NhZDE2eDE2
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQxNngxNng4X3NzZTRfMShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfc2FkMTZ4MTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwogdW5zaWduZWQgaW50IHZw
eF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTYyNTksMTQgKzU2NjYsMTQgQEAgdW5zaWduZWQgaW50
IHZweF9zYWQxNngzMl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZw
eF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9z
YWQxNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRfc3NlMgogCiB1
bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNjI5
MSwxOCArNTY5OCw1NSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX3NzZTIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQxNng4X2F2ZyB2cHhfc2Fk
MTZ4OF9hdmdfc3NlMgogCit2b2lkIHZweF9zYWQxNng4eDNfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
K3ZvaWQgdnB4X3NhZDE2eDh4M19zc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
dm9pZCB2cHhfc2FkMTZ4OHgzX3Nzc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4OHgzKShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHZv
aWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2Fk
MTZ4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAj
ZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX3NzZTIKIAordm9pZCB2cHhfc2Fk
MTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQxNng4eDhfc3NlNF8xKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgq
dnB4X3NhZDE2eDh4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLApAQCAtNjM0MywxNCArNTc4NywxNCBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfc2FkMzJ4MTZfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZw
eF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9z
YWQzMngxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMngxNng0ZCB2cHhfc2FkMzJ4MTZ4NGRfc3NlMgogCiB1
bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTYz
OTMsMjQgKzU4MzcsNDAgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDMy
X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MzJ4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhf
c2FkMzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQzMngzMng0ZCkoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwordm9pZCB2cHhfc2FkMzJ4
MzJ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYXZ4Mihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4
X3NhZDMyeDMyeDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4
NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLApAQCAtNjQ1MiwxNCArNTkxMiwxNCBAQCBSVENEX0VYVEVSTiB1bnNp
Z25lZCBpbnQgKCp2cHhfc2FkMzJ4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2
b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lk
IHZweF9zYWQzMng2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMng2NHg0ZCB2cHhfc2FkMzJ4NjR4NGRfc3Nl
MgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBA
IC02NDg0LDE4ICs1OTQ0LDUwIEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNHg0X2F2Z19zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQ0eDRfYXZnIHZweF9z
YWQ0eDRfYXZnX3NzZTIKIAordm9pZCB2cHhfc2FkNHg0eDNfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9p
ZCB2cHhfc2FkNHg0eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRF
Uk4gdm9pZCAoKnZweF9zYWQ0eDR4MykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHZvaWQgdnB4X3NhZDR4NHg0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ0eDR4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg0eDRkIHZweF9zYWQ0eDR4
NGRfc3NlMgogCit2b2lkIHZweF9zYWQ0eDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9z
YWQ0eDR4OF9zc2U0XzEoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9zYWQ0eDR4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHVuc2lnbmVkIGludCB2cHhf
c2FkNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCkBAIC02NTIwLDE0ICs2MDEyLDE0IEBAIHVuc2lnbmVkIGludCB2cHhfc2Fk
NHg4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDR4OHg0
ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ0eDh4NGRfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg4eDRkIHZweF9zYWQ0
eDh4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKQEAgLTY1NzAsMTQgKzYwNjIsMTQgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X3NhZDY0eDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhf
c2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2Fk
NjR4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogI2RlZmluZSB2cHhfc2FkNjR4MzJ4NGQgdnB4X3NhZDY0eDMyeDRkX3NzZTIKIAogdW5z
aWduZWQgaW50IHZweF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02NjIw
LDI0ICs2MTEyLDI0IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHg2NF9h
dmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3Nh
ZDY0eDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAKIHVuc2lnbmVkIGludCB2cHhf
c2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTY2NDcsNDQ3ICs2MTM5LDE2MyBAQCB1bnNpZ25lZCBp
bnQgdnB4X3NhZDh4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkOHgxNiB2cHhfc2FkOHgxNl9z
c2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQg
aW50IHZweF9zYWQ4eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZw
eF9zYWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9hdmdfc3NlMgotCi12b2lkIHZweF9zYWQ4eDE2eDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDh4MTZ4
NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
I2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgxNng0ZF9zc2UyCi0KLXVuc2lnbmVkIGlu
dCB2cHhfc2FkOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHg0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4NCB2
cHhfc2FkOHg0X3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5z
aWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2
cHhfc2FkOHg0X2F2ZyB2cHhfc2FkOHg0X2F2Z19zc2UyCi0KLXZvaWQgdnB4X3NhZDh4NHg0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDh4NHg0ZF9zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWdu
ZWQgaW50IHZweF9zYWQ4eDhfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkOHg4IHZweF9zYWQ4eDhfc3Nl
MgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4
X3NhZDh4OF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4eDhfYXZn
IHZweF9zYWQ4eDhfYXZnX3NzZTIKLQotdm9pZCB2cHhfc2FkOHg4eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkOHg4eDRkX3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkOHg4eDRkIHZw
eF9zYWQ4eDh4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MTZfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MTYgdnB4X3NhZF9za2lw
XzE2eDE2X3NzZTIKLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZF9za2lwXzE2eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF8xNngxNng0ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfc3NlMgotCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfc2FkX3NraXBfMTZ4MzIgdnB4X3NhZF9za2lwXzE2eDMyX3NzZTIKLQotdm9pZCB2cHhfc2Fk
X3NraXBfMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfc2Fk
X3NraXBfMTZ4MzJ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNng4X3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDggdnB4X3NhZF9za2lwXzE2eDhf
c3NlMgotCi12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lw
XzE2eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OHg0
ZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
MzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMy
eDE2X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWRfc2tpcF8zMngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12
b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8zMngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfMzJ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9z
YWRfc2tpcF8zMngzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzMyeDY0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRD
RF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzMyeDY0KShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRf
c2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzMyeDY0eDRkKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBfNHg0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg0
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg0eDRkIHZweF9zYWRfc2tpcF80eDR4NGRfYwot
Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzR4OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRf
c2tpcF80eDggdnB4X3NhZF9za2lwXzR4OF9zc2UyCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0
ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRkX3NzZTIKKyNkZWZpbmUgdnB4X3Nh
ZDh4MTYgdnB4X3NhZDh4MTZfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwordW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX3NzZTIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzY0
eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKKyNkZWZpbmUgdnB4X3NhZDh4MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19zc2UyCiAKLXZvaWQg
dnB4X3NhZF9za2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfNjR4
MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKK3ZvaWQgdnB4X3NhZDh4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2
cHhfc2FkOHgxNngzX3NzZTMoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VY
VEVSTiB2b2lkICgqdnB4X3NhZDh4MTZ4MykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCit2b2lkIHZweF9zYWQ4
eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbXSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4
MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgxNng0ZF9zc2UyCiAKLXVuc2lnbmVkIGlu
dCB2cHhfc2FkX3NraXBfNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAordm9pZCB2cHhf
c2FkOHgxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDE2eDhfc3NlNF8x
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lk
ICgqdnB4X3NhZDh4MTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfNjR4NjRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9z
YWRfc2tpcF82NHg2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg0X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKK3Vuc2lnbmVkIGludCB2
cHhfc2FkOHg0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYXZ4Mihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfNjR4NjR4NGQpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhf
c2FkOHg0IHZweF9zYWQ4eDRfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwordW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfOHgxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF84eDE2IHZweF9zYWRfc2tpcF84eDE2X3NzZTIKLQotdm9pZCB2cHhf
c2FkX3NraXBfOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4
MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0j
ZGVmaW5lIHZweF9zYWRfc2tpcF84eDQgdnB4X3NhZF9za2lwXzh4NF9jCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3Nh
ZDh4NF9hdmcgdnB4X3NhZDh4NF9hdmdfc3NlMgogCi12b2lkIHZweF9zYWRfc2tpcF84eDR4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDR4NGQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jCit2b2lk
IHZweF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9z
YWQ4eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cisj
ZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3NhZDh4NHg0ZF9zc2UyCiAKLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4OCB2cHhfc2Fk
X3NraXBfOHg4X3NzZTIKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg4
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKKyNkZWZpbmUgdnB4X3NhZDh4OCB2cHhfc2FkOHg4X3NzZTIKIAotdm9pZCB2cHhfc2Fk
X3NraXBfOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHg4eDRkX3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF84eDh4NGQgdnB4X3NhZF9za2lwXzh4OHg0ZF9zc2UyCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Cit1bnNp
Z25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZw
eF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZnX3NzZTIKKwordm9pZCB2cHhfc2FkOHg4eDNfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHg4eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ4eDh4MykoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKK3Zv
aWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4
X3NhZDh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
KyNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhfc2FkOHg4eDRkX3NzZTIKKwordm9pZCB2cHhfc2Fk
OHg4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHg4eDhfc3NlNF8xKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkOHg4
eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwogCiBpbnQgdnB4X3NhdGRfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwg
aW50IGxlbmd0aCk7CiBpbnQgdnB4X3NhdGRfc3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwg
aW50IGxlbmd0aCk7CkBAIC04MDU4LDIyICs3MjY2LDcgQEAgdm9pZCB2cHhfc3VidHJhY3RfYmxv
Y2tfc3NlMihpbnQgcm93cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHByZWRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgcHJlZF9z
dHJpZGUpOwotdm9pZCB2cHhfc3VidHJhY3RfYmxvY2tfYXZ4MihpbnQgcm93cywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDE2X3QqIGRpZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBw
cmVkX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc3VidHJhY3RfYmxvY2spKGludCByb3dzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbHMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHByZWRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3N1YnRyYWN0X2Jsb2NrIHZw
eF9zdWJ0cmFjdF9ibG9ja19zc2UyCiAKIHVpbnQ2NF90IHZweF9zdW1fc3F1YXJlc18yZF9pMTZf
Yyhjb25zdCBpbnQxNl90KiBzcmMsIGludCBzdHJpZGUsIGludCBzaXplKTsKIHVpbnQ2NF90IHZw
eF9zdW1fc3F1YXJlc18yZF9pMTZfc3NlMihjb25zdCBpbnQxNl90KiBzcmMsIGludCBzdHJpZGUs
IGludCBzaXplKTsKQEAgLTgzNjEsMTYgKzc1NTQsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3Zhcmlh
bmNlOHgxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Zhcmlh
bmNlOHgxNl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgq
dnB4X3ZhcmlhbmNlOHgxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2U4eDE2IHZweF92YXJpYW5jZTh4
MTZfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTgzODIsMTYgKzc1NjYsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg0X3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDRfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHg0KShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUg
dnB4X3ZhcmlhbmNlOHg0IHZweF92YXJpYW5jZTh4NF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhf
dmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtODQwMywxNiArNzU3OCw3IEBAIHVuc2ln
bmVkIGludCB2cHhfdmFyaWFuY2U4eDhfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF92YXJpYW5jZTh4OF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25l
ZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2U4eDggdnB4X3ZhcmlhbmNl
OHg4X3NzZTIKIAogdm9pZCB2cHhfdmVfcHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtODQzMyw5ICs3
NTk5LDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAKICAgKHZv
aWQpZmxhZ3M7CiAKLSAgdnB4X2NvbXBfYXZnX3ByZWQgPSB2cHhfY29tcF9hdmdfcHJlZF9zc2Uy
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfY29tcF9hdmdfcHJlZCA9IHZweF9j
b21wX2F2Z19wcmVkX2F2eDI7CiAgIHZweF9jb252b2x2ZTggPSB2cHhfY29udm9sdmU4X3NzZTI7
CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cHhfY29udm9sdmU4ID0gdnB4X2NvbnZv
bHZlOF9zc3NlMzsKQEAgLTg2MzEsMTQ5ICs3Nzk0LDEyIEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0
Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfaGlnaGJkX2lkY3Q4eDhfNjRfYWRkID0gdnB4X2hp
Z2hiZF9pZGN0OHg4XzY0X2FkZF9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQogICAg
IHZweF9oaWdoYmRfaWRjdDh4OF82NF9hZGQgPSB2cHhfaGlnaGJkX2lkY3Q4eDhfNjRfYWRkX3Nz
ZTRfMTsKLSAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iID0gdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX3Nz
ZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYiA9
IHZweF9oaWdoYmRfcXVhbnRpemVfYl9hdngyOwotICB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4
MzIgPSB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFT
X0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyID0gdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iXzMyeDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MTYgPSB2cHhfaGlnaGJkX3Nh
ZDE2eDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2Fk
MTZ4MTYgPSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MTZf
YXZnID0gdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FW
WDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmcgPSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2
Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQxNngxNng0
ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDE2
eDRkID0gdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDMy
ID0gdnB4X2hpZ2hiZF9zYWQxNngzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfaGlnaGJkX3NhZDE2eDMyID0gdnB4X2hpZ2hiZF9zYWQxNngzMl9hdngyOwotICB2cHhf
aGlnaGJkX3NhZDE2eDMyX2F2ZyA9IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnID0gdnB4X2hp
Z2hiZF9zYWQxNngzMl9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZCA9IHZweF9o
aWdoYmRfc2FkMTZ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4
X2hpZ2hiZF9zYWQxNngzMng0ZCA9IHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYXZ4MjsKLSAgdnB4
X2hpZ2hiZF9zYWQxNng4ID0gdnB4X2hpZ2hiZF9zYWQxNng4X3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMTZ4OCA9IHZweF9oaWdoYmRfc2FkMTZ4OF9h
dngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19z
c2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDhfYXZn
ID0gdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDh4NGQg
PSB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0g
ICAgdnB4X2hpZ2hiZF9zYWQxNng4eDRkID0gdnB4X2hpZ2hiZF9zYWQxNng4eDRkX2F2eDI7Ci0g
IHZweF9oaWdoYmRfc2FkMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZDMyeDE2X3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4MTYgPSB2cHhfaGlnaGJkX3Nh
ZDMyeDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnID0gdnB4X2hpZ2hiZF9zYWQz
MngxNl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9z
YWQzMngxNl9hdmcgPSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19hdngyOwotICB2cHhfaGlnaGJk
X3NhZDMyeDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9zc2UyOwotICBpZiAoZmxhZ3Mg
JiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkID0gdnB4X2hpZ2hiZF9zYWQz
MngxNng0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDMyeDMyID0gdnB4X2hpZ2hiZF9zYWQzMngz
Ml9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDMy
ID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9hdngyOwotICB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2ZyA9
IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQot
ICAgIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnID0gdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYXZ4
MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCA9IHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfc3Nl
MjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCA9
IHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMng2NCA9IHZw
eF9oaWdoYmRfc2FkMzJ4NjRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4
X2hpZ2hiZF9zYWQzMng2NCA9IHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZ4MjsKLSAgdnB4X2hpZ2hi
ZF9zYWQzMng2NF9hdmcgPSB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19zc2UyOwotICBpZiAoZmxh
Z3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZyA9IHZweF9oaWdoYmRf
c2FkMzJ4NjRfYXZnX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgPSB2cHhfaGlnaGJk
X3NhZDMyeDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdo
YmRfc2FkMzJ4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2F2eDI7Ci0gIHZweF9oaWdo
YmRfc2FkNjR4MzIgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhB
U19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkNjR4MzIgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2
eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdf
c3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9h
dmcgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDMy
eDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZY
MikKLSAgICB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9h
dngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDY0ID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NF9zc2UyOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDY0eDY0ID0gdnB4X2hp
Z2hiZF9zYWQ2NHg2NF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyA9IHZweF9oaWdo
YmRfc2FkNjR4NjRfYXZnX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfc2FkNjR4NjRfYXZnID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmdfYXZ4MjsKLSAgdnB4
X2hpZ2hiZF9zYWQ2NHg2NHg0ZCA9IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfc3NlMjsKLSAgaWYg
KGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZCA9IHZweF9oaWdo
YmRfc2FkNjR4NjR4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiA9IHZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4MTZfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfYXZ4
MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngxNng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYXZ4MjsKLSAg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfc3Nl
MjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngz
MiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngzMng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCA9IHZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4
ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
OF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGQgPSB2cHhfaGlnaGJkX3NhZF9z
a2lwXzE2eDh4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNng4eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX2F2eDI7Ci0g
IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2X3Nz
ZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
MTYgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19B
VlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfaGlnaGJk
X3NhZF9za2lwXzMyeDMyeDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRk
X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDY0X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X2F2eDI7Ci0gIHZweF9oaWdo
YmRfc2FkX3NraXBfMzJ4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX3NzZTI7
Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4
NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX3NzZTI7Ci0gIGlmIChmbGFn
cyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzIgPSB2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGQgPSB2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lw
XzY0eDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgPSB2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDY0X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfc2FkX3NraXBfNjR4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2F2eDI7Ci0g
IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0
eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX2F2eDI7CiAgIHZweF9o
aWdoYmRfc2F0ZCA9IHZweF9oaWdoYmRfc2F0ZF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
ICAgICB2cHhfaGlnaGJkX3NhdGQgPSB2cHhfaGlnaGJkX3NhdGRfYXZ4MjsKLSAgdnB4X2hpZ2hi
ZF9zdWJ0cmFjdF9ibG9jayA9IHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYzsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayA9IHZweF9oaWdo
YmRfc3VidHJhY3RfYmxvY2tfYXZ4MjsKLSAgdnB4X2lkY3QxNngxNl8yNTZfYWRkID0gdnB4X2lk
Y3QxNngxNl8yNTZfYWRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9p
ZGN0MTZ4MTZfMjU2X2FkZCA9IHZweF9pZGN0MTZ4MTZfMjU2X2FkZF9hdngyOwotICB2cHhfaWRj
dDMyeDMyXzEwMjRfYWRkID0gdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9zc2UyOwotICBpZiAoZmxh
Z3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkID0gdnB4X2lkY3QzMngz
Ml8xMDI0X2FkZF9hdngyOwogICB2cHhfaWRjdDMyeDMyXzEzNV9hZGQgPSB2cHhfaWRjdDMyeDMy
XzEzNV9hZGRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZweF9pZGN0MzJ4
MzJfMTM1X2FkZCA9IHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9zc3NlMzsKLSAgaWYgKGZsYWdzICYg
SEFTX0FWWDIpCi0gICAgdnB4X2lkY3QzMngzMl8xMzVfYWRkID0gdnB4X2lkY3QzMngzMl8xMzVf
YWRkX2F2eDI7CiAgIHZweF9pZGN0MzJ4MzJfMzRfYWRkID0gdnB4X2lkY3QzMngzMl8zNF9hZGRf
c3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZweF9pZGN0MzJ4MzJfMzRfYWRk
ID0gdnB4X2lkY3QzMngzMl8zNF9hZGRfc3NzZTM7CkBAIC04Nzk3LDE1ICs3ODIzLDI3IEBAIHN0
YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICAgIHZweF9xdWFudGl6ZV9i
ID0gdnB4X3F1YW50aXplX2Jfc3NzZTM7CiAgIGlmIChmbGFncyAmIEhBU19BVlgpCiAgICAgdnB4
X3F1YW50aXplX2IgPSB2cHhfcXVhbnRpemVfYl9hdng7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9xdWFudGl6ZV9iID0gdnB4X3F1YW50aXplX2JfYXZ4MjsKICAgdnB4X3F1YW50
aXplX2JfMzJ4MzIgPSB2cHhfcXVhbnRpemVfYl8zMngzMl9jOwogICBpZiAoZmxhZ3MgJiBIQVNf
U1NTRTMpCiAgICAgdnB4X3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfcXVhbnRpemVfYl8zMngzMl9z
c3NlMzsKICAgaWYgKGZsYWdzICYgSEFTX0FWWCkKICAgICB2cHhfcXVhbnRpemVfYl8zMngzMiA9
IHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eDsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAg
dnB4X3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfcXVhbnRpemVfYl8zMngzMl9hdngyOworICB2cHhf
c2FkMTZ4MTZ4MyA9IHZweF9zYWQxNngxNngzX2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQor
ICAgIHZweF9zYWQxNngxNngzID0gdnB4X3NhZDE2eDE2eDNfc3NlMzsKKyAgaWYgKGZsYWdzICYg
SEFTX1NTU0UzKQorICAgIHZweF9zYWQxNngxNngzID0gdnB4X3NhZDE2eDE2eDNfc3NzZTM7Cisg
IHZweF9zYWQxNngxNng4ID0gdnB4X3NhZDE2eDE2eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NT
RTRfMSkKKyAgICB2cHhfc2FkMTZ4MTZ4OCA9IHZweF9zYWQxNngxNng4X3NzZTRfMTsKKyAgdnB4
X3NhZDE2eDh4MyA9IHZweF9zYWQxNng4eDNfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisg
ICAgdnB4X3NhZDE2eDh4MyA9IHZweF9zYWQxNng4eDNfc3NlMzsKKyAgaWYgKGZsYWdzICYgSEFT
X1NTU0UzKQorICAgIHZweF9zYWQxNng4eDMgPSB2cHhfc2FkMTZ4OHgzX3Nzc2UzOworICB2cHhf
c2FkMTZ4OHg4ID0gdnB4X3NhZDE2eDh4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQor
ICAgIHZweF9zYWQxNng4eDggPSB2cHhfc2FkMTZ4OHg4X3NzZTRfMTsKICAgdnB4X3NhZDMyeDE2
ID0gdnB4X3NhZDMyeDE2X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9z
YWQzMngxNiA9IHZweF9zYWQzMngxNl9hdngyOwpAQCAtODgyMSwxMiArNzg1OSwyMSBAQCBzdGF0
aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAgdnB4X3NhZDMyeDMyeDRkID0g
dnB4X3NhZDMyeDMyeDRkX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9z
YWQzMngzMng0ZCA9IHZweF9zYWQzMngzMng0ZF9hdngyOworICB2cHhfc2FkMzJ4MzJ4OCA9IHZw
eF9zYWQzMngzMng4X2M7CisgIGlmIChmbGFncyAmIEhBU19BVlgyKQorICAgIHZweF9zYWQzMngz
Mng4ID0gdnB4X3NhZDMyeDMyeDhfYXZ4MjsKICAgdnB4X3NhZDMyeDY0ID0gdnB4X3NhZDMyeDY0
X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQzMng2NCA9IHZweF9z
YWQzMng2NF9hdngyOwogICB2cHhfc2FkMzJ4NjRfYXZnID0gdnB4X3NhZDMyeDY0X2F2Z19zc2Uy
OwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkMzJ4NjRfYXZnID0gdnB4X3Nh
ZDMyeDY0X2F2Z19hdngyOworICB2cHhfc2FkNHg0eDMgPSB2cHhfc2FkNHg0eDNfYzsKKyAgaWYg
KGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnB4X3NhZDR4NHgzID0gdnB4X3NhZDR4NHgzX3NzZTM7
CisgIHZweF9zYWQ0eDR4OCA9IHZweF9zYWQ0eDR4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NF
NF8xKQorICAgIHZweF9zYWQ0eDR4OCA9IHZweF9zYWQ0eDR4OF9zc2U0XzE7CiAgIHZweF9zYWQ2
NHgzMiA9IHZweF9zYWQ2NHgzMl9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2
cHhfc2FkNjR4MzIgPSB2cHhfc2FkNjR4MzJfYXZ4MjsKQEAgLTg4NDIsMzYgKzc4ODksMTggQEAg
c3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZweF9zYWQ2NHg2NHg0
ZCA9IHZweF9zYWQ2NHg2NHg0ZF9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2
cHhfc2FkNjR4NjR4NGQgPSB2cHhfc2FkNjR4NjR4NGRfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzMy
eDE2ID0gdnB4X3NhZF9za2lwXzMyeDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQot
ICAgIHZweF9zYWRfc2tpcF8zMngxNiA9IHZweF9zYWRfc2tpcF8zMngxNl9hdngyOwotICB2cHhf
c2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzMyeDE2eDRkID0gdnB4X3NhZF9za2lw
XzMyeDE2eDRkX2F2eDI7Ci0gIHZweF9zYWRfc2tpcF8zMngzMiA9IHZweF9zYWRfc2tpcF8zMngz
Ml9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBfMzJ4MzIg
PSB2cHhfc2FkX3NraXBfMzJ4MzJfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzMyeDMyeDRkID0gdnB4
X3NhZF9za2lwXzMyeDMyeDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZw
eF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9zYWRfc2tpcF8zMngzMng0ZF9hdngyOwotICB2cHhf
c2FkX3NraXBfMzJ4NjQgPSB2cHhfc2FkX3NraXBfMzJ4NjRfc3NlMjsKLSAgaWYgKGZsYWdzICYg
SEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzMyeDY0ID0gdnB4X3NhZF9za2lwXzMyeDY0X2F2
eDI7Ci0gIHZweF9zYWRfc2tpcF8zMng2NHg0ZCA9IHZweF9zYWRfc2tpcF8zMng2NHg0ZF9zc2Uy
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBfMzJ4NjR4NGQgPSB2
cHhfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzY0eDMyID0gdnB4X3Nh
ZF9za2lwXzY0eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRf
c2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82NHgzMl9hdngyOwotICB2cHhfc2FkX3NraXBfNjR4
MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FW
WDIpCi0gICAgdnB4X3NhZF9za2lwXzY0eDMyeDRkID0gdnB4X3NhZF9za2lwXzY0eDMyeDRkX2F2
eDI7Ci0gIHZweF9zYWRfc2tpcF82NHg2NCA9IHZweF9zYWRfc2tpcF82NHg2NF9zc2UyOwotICBp
ZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBfNjR4NjQgPSB2cHhfc2FkX3Nr
aXBfNjR4NjRfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzY0eDY0eDRkID0gdnB4X3NhZF9za2lwXzY0
eDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF82
NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9hdngyOworICB2cHhfc2FkOHgxNngzID0g
dnB4X3NhZDh4MTZ4M19jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFMykKKyAgICB2cHhfc2FkOHgx
NngzID0gdnB4X3NhZDh4MTZ4M19zc2UzOworICB2cHhfc2FkOHgxNng4ID0gdnB4X3NhZDh4MTZ4
OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZweF9zYWQ4eDE2eDggPSB2cHhf
c2FkOHgxNng4X3NzZTRfMTsKKyAgdnB4X3NhZDh4OHgzID0gdnB4X3NhZDh4OHgzX2M7CisgIGlm
IChmbGFncyAmIEhBU19TU0UzKQorICAgIHZweF9zYWQ4eDh4MyA9IHZweF9zYWQ4eDh4M19zc2Uz
OworICB2cHhfc2FkOHg4eDggPSB2cHhfc2FkOHg4eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NT
RTRfMSkKKyAgICB2cHhfc2FkOHg4eDggPSB2cHhfc2FkOHg4eDhfc3NlNF8xOwogICB2cHhfc2F0
ZCA9IHZweF9zYXRkX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYXRk
ID0gdnB4X3NhdGRfYXZ4MjsKQEAgLTg5NjQsOSArNzk5Myw2IEBAIHN0YXRpYyB2b2lkIHNldHVw
X3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4ID0gdnB4
X3N1Yl9waXhlbF92YXJpYW5jZTh4OF9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAg
ICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OCA9IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhf
c3NzZTM7Ci0gIHZweF9zdWJ0cmFjdF9ibG9jayA9IHZweF9zdWJ0cmFjdF9ibG9ja19zc2UyOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc3VidHJhY3RfYmxvY2sgPSB2cHhfc3Vi
dHJhY3RfYmxvY2tfYXZ4MjsKICAgdnB4X3ZhcmlhbmNlMTZ4MTYgPSB2cHhfdmFyaWFuY2UxNngx
Nl9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfdmFyaWFuY2UxNngxNiA9
IHZweF92YXJpYW5jZTE2eDE2X2F2eDI7CkBAIC04OTkxLDE1ICs4MDE3LDYgQEAgc3RhdGljIHZv
aWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZweF92YXJpYW5jZTY0eDY0ID0gdnB4
X3ZhcmlhbmNlNjR4NjRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3Zh
cmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2NHg2NF9hdngyOwotICB2cHhfdmFyaWFuY2U4eDE2
ID0gdnB4X3ZhcmlhbmNlOHgxNl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2
cHhfdmFyaWFuY2U4eDE2ID0gdnB4X3ZhcmlhbmNlOHgxNl9hdngyOwotICB2cHhfdmFyaWFuY2U4
eDQgPSB2cHhfdmFyaWFuY2U4eDRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAg
dnB4X3ZhcmlhbmNlOHg0ID0gdnB4X3ZhcmlhbmNlOHg0X2F2eDI7Ci0gIHZweF92YXJpYW5jZTh4
OCA9IHZweF92YXJpYW5jZTh4OF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2
cHhfdmFyaWFuY2U4eDggPSB2cHhfdmFyaWFuY2U4eDhfYXZ4MjsKIH0KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL21hYy94NjQvdnA4X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL3g2
NC92cDhfcnRjZC5oCmluZGV4IGY2Y2RhYjJhOTdmNC4uMmE1NTAzMGE5YTlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL21hYy94NjQvdnA4X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy94NjQv
dnA4X3J0Y2QuaApAQCAtMTA5LDYgKzEwOSwzNiBAQCBSVENEX0VYVEVSTiB2b2lkICgqdnA4X2Jp
bGluZWFyX3ByZWRpY3Q4eDgpKHVuc2lnbmVkIGNoYXIqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdF9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gp
OwogCit2b2lkIHZwOF9ibGVuZF9iX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IHYsCisgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQg
dV8xLAorICAgICAgICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgaW50
IGFscGhhLAorICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxl
bmRfYiB2cDhfYmxlbmRfYl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX2lubmVyX2ModW5zaWduZWQg
Y2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsK
KyNkZWZpbmUgdnA4X2JsZW5kX21iX2lubmVyIHZwOF9ibGVuZF9tYl9pbm5lcl9jCisKK3ZvaWQg
dnA4X2JsZW5kX21iX291dGVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX291dGVy
IHZwOF9ibGVuZF9tYl9vdXRlcl9jCisKIGludCB2cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29l
ZmYsIHNob3J0KiBkcWNvZWZmKTsKIGludCB2cDhfYmxvY2tfZXJyb3Jfc3NlMihzaG9ydCogY29l
ZmYsIHNob3J0KiBkcWNvZWZmKTsKICNkZWZpbmUgdnA4X2Jsb2NrX2Vycm9yIHZwOF9ibG9ja19l
cnJvcl9zc2UyCkBAIC0zMTIsNiArMzQyLDQzIEBAIHZvaWQgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4
eDhfc3NlMih1bnNpZ25lZCBjaGFyKiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY193ZWlnaHQpOwogI2RlZmluZSB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OCB2
cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9zc2UyCiAKK2ludCB2cDhfZnVsbF9zZWFyY2hfc2FkX2Mo
c3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBi
bG9jayogYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrZCogZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiByZWZfbXYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRpc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFyaWFu
Y2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZjb3N0
WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9tdik7
CitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZHgzKHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9u
IGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9i
aXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworaW50IHZwOF9mdWxsX3NlYXJjaF9zYWR4OChz
dHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJs
b2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5j
ZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3Rb
Ml0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiogY2VudGVyX212KTsK
K1JUQ0RfRVhURVJOIGludCAoKnZwOF9mdWxsX3NlYXJjaF9zYWQpKHN0cnVjdCBtYWNyb2Jsb2Nr
KiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2Nr
KiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2Nr
ZCogZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9t
diogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNh
ZF9wZXJfYml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRp
c3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZh
cmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9tdik7CisKIHZvaWQgdnA4X2xvb3BfZmlsdGVyX2Jo
X2ModW5zaWduZWQgY2hhciogeV9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIqIHVfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy
KiB2X3B0ciwKQEAgLTU4NSw2ICs2NTIsMTMgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRl
cm5hbCh2b2lkKSB7CiAgIHZwOF9mYXN0X3F1YW50aXplX2IgPSB2cDhfZmFzdF9xdWFudGl6ZV9i
X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cDhfZmFzdF9xdWFudGl6ZV9i
ID0gdnA4X2Zhc3RfcXVhbnRpemVfYl9zc3NlMzsKKyAgdnA4X2Z1bGxfc2VhcmNoX3NhZCA9IHZw
OF9mdWxsX3NlYXJjaF9zYWRfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnA4X2Z1
bGxfc2VhcmNoX3NhZCA9IHZwOF9mdWxsX3NlYXJjaF9zYWR4MzsKKyNpZm5kZWYgV0VCUlRDX1dF
QktJVF9NQUNfQ0FUQUxJU1QKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cDhfZnVs
bF9zZWFyY2hfc2FkID0gdnA4X2Z1bGxfc2VhcmNoX3NhZHg4OworI2VuZGlmCiAgIHZwOF9yZWd1
bGFyX3F1YW50aXplX2IgPSB2cDhfcmVndWxhcl9xdWFudGl6ZV9iX3NzZTI7CiAjaWZuZGVmIFdF
QlJUQ19XRUJLSVRfTUFDX0NBVEFMSVNUCiAgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL21hYy94NjQvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL3g2
NC92cDlfcnRjZC5oCmluZGV4IGU1NWI1MWE4MWFiZS4uNWNjYTE2ZjQ1NmRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL21hYy94NjQvdnA5X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy94NjQv
dnA5X3J0Y2QuaApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3QgbWFjcm9ibG9ja2Q7CiAKIC8qIEVu
Y29kZXIgZm9yd2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3JvYmxvY2s7Ci1zdHJ1Y3QgbWFjcm9i
bG9ja19wbGFuZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwotc3RydWN0IFNjYW5PcmRlcjsKK3N0
cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsKIHN0
cnVjdCBtdjsKIHVuaW9uIGludF9tdjsKQEAgLTkwLDE0ICs4OCwzMSBAQCBpbnQgdnA5X2Rlbm9p
c2VyX2ZpbHRlcl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNpZywKIGludCB2cDlfZGlhbW9uZF9zZWFy
Y2hfc2FkX2MoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiByZWZfbXYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IG12KiBiZXN0X212LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2VhcmNoX3BhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2Fk
X3Blcl9iaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbnVtMDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlKiBzYWRf
Zm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3Zh
cmlhbmNlX3Z0YWJsZSogZm5fcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci0jZGVmaW5lIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQg
dnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jCitpbnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdngo
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2VhcmNoX3BhcmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG51bTAw
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFu
Y2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IG12KiBjZW50ZXJfbXYpOworUlRDRF9FWFRFUk4gaW50ICgqdnA5X2RpYW1vbmRfc2Vh
cmNoX3NhZCkoCisgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgY29uc3Qgc3Ry
dWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAorICAgIHN0cnVjdCBtdiogcmVmX212LAorICAg
IHN0cnVjdCBtdiogYmVzdF9tdiwKKyAgICBpbnQgc2VhcmNoX3BhcmFtLAorICAgIGludCBzYWRf
cGVyX2JpdCwKKyAgICBpbnQqIG51bTAwLAorICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2Vf
dnRhYmxlKiBmbl9wdHIsCisgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwogCiB2b2lk
IHZwOV9maHQxNngxNl9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBvdXRwdXQsCkBAIC0yOTIsNTcgKzMwNywyOSBAQCB2b2lkIHZwOV9oaWdo
YmRfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19jKGNvbnN0IHVpbnQxNl90KiBzcmNfcHRyLAog
CiB2b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
KiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lw
X2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFu
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNv
bnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2F2eDIoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCkoCi0g
ICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAot
ICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0
cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAg
IGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotCi12b2lkIHZwOV9o
aWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYygKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
Ci0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MigK
LSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0g
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0g
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVS
TiB2b2lkICgqdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMikoCi0gICAgY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCB2cDlf
aGlnaGJkX3F1YW50aXplX2ZwX2MKKwordm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMy
X2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4p
OworI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyIHZwOV9oaWdoYmRfcXVhbnRp
emVfZnBfMzJ4MzJfYwogCiB2b2lkIHZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX2FwcGx5X2Mo
Y29uc3QgdWludDhfdCogZnJhbWUxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCBzdHJpZGUsCkBAIC00MDAsNzkgKzM4Nyw5MyBAQCB2b2lkIHZw
OV9paHQ4eDhfNjRfYWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZvaWQgdnA5
X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9zc2UyKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qg
bl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBf
c3NzZTMoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBj
b25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nh
bik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBt
Yl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDlf
cXVhbnRpemVfZnApKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRw
dHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZf
dCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworUlRDRF9FWFRFUk4g
dm9pZCAoKnZwOV9xdWFudGl6ZV9mcCkoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOwogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jKGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
U2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfc3NzZTMoY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKLXZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2F2eDIoY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJf
dCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJU
Q0RfRVhURVJOIHZvaWQgKCp2cDlfcXVhbnRpemVfZnBfMzJ4MzIpKAotICAgIGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNv
ZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90
KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3Qg
U2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CitSVENEX0VYVEVSTiB2b2lkICgqdnA5X3F1YW50
aXplX2ZwXzMyeDMyKShjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBpc2Nhbik7CiAKIHZvaWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhjb25z
dCBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZpZyogZHN0LApAQCAtNDg4LDEwICs0
ODksMTkgQEAgUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9zY2FsZV9hbmRfZXh0ZW5kX2ZyYW1lKSgK
ICAgICBJTlRFUlBfRklMVEVSIGZpbHRlcl90eXBlLAogICAgIGludCBwaGFzZV9zY2FsZXIpOwog
Cit2b2lkIHZwOV9hcHBseV90ZW1wb3JhbF9maWx0ZXJfYyhjb25zdCB1aW50OF90ICp5X3NyYywg
aW50IHlfc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqeV9wcmUsIGludCB5X3ByZV9zdHJpZGUs
IGNvbnN0IHVpbnQ4X3QgKnVfc3JjLCBjb25zdCB1aW50OF90ICp2X3NyYywgaW50IHV2X3NyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnVfcHJlLCBjb25zdCB1aW50OF90ICp2X3ByZSwgaW50IHV2
X3ByZV9zdHJpZGUsIHVuc2lnbmVkIGludCBibG9ja193aWR0aCwgdW5zaWduZWQgaW50IGJsb2Nr
X2hlaWdodCwgaW50IHNzX3gsIGludCBzc195LCBpbnQgc3RyZW5ndGgsIGNvbnN0IGludCAqY29u
c3QgYmxrX2Z3LCBpbnQgdXNlXzMyeDMyLCB1aW50MzJfdCAqeV9hY2N1bXVsYXRvciwgdWludDE2
X3QgKnlfY291bnQsIHVpbnQzMl90ICp1X2FjY3VtdWxhdG9yLCB1aW50MTZfdCAqdV9jb3VudCwg
dWludDMyX3QgKnZfYWNjdW11bGF0b3IsIHVpbnQxNl90ICp2X2NvdW50KTsKK3ZvaWQgdnA5X2Fw
cGx5X3RlbXBvcmFsX2ZpbHRlcl9zc2U0XzEoY29uc3QgdWludDhfdCAqeV9zcmMsIGludCB5X3Ny
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnlfcHJlLCBpbnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1
aW50OF90ICp1X3NyYywgY29uc3QgdWludDhfdCAqdl9zcmMsIGludCB1dl9zcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICp1X3ByZSwgY29uc3QgdWludDhfdCAqdl9wcmUsIGludCB1dl9wcmVfc3Ry
aWRlLCB1bnNpZ25lZCBpbnQgYmxvY2tfd2lkdGgsIHVuc2lnbmVkIGludCBibG9ja19oZWlnaHQs
IGludCBzc194LCBpbnQgc3NfeSwgaW50IHN0cmVuZ3RoLCBjb25zdCBpbnQgKmNvbnN0IGJsa19m
dywgaW50IHVzZV8zMngzMiwgdWludDMyX3QgKnlfYWNjdW11bGF0b3IsIHVpbnQxNl90ICp5X2Nv
dW50LCB1aW50MzJfdCAqdV9hY2N1bXVsYXRvciwgdWludDE2X3QgKnVfY291bnQsIHVpbnQzMl90
ICp2X2FjY3VtdWxhdG9yLCB1aW50MTZfdCAqdl9jb3VudCk7CitSVENEX0VYVEVSTiB2b2lkICgq
dnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcikoY29uc3QgdWludDhfdCAqeV9zcmMsIGludCB5X3Ny
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnlfcHJlLCBpbnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1
aW50OF90ICp1X3NyYywgY29uc3QgdWludDhfdCAqdl9zcmMsIGludCB1dl9zcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICp1X3ByZSwgY29uc3QgdWludDhfdCAqdl9wcmUsIGludCB1dl9wcmVfc3Ry
aWRlLCB1bnNpZ25lZCBpbnQgYmxvY2tfd2lkdGgsIHVuc2lnbmVkIGludCBibG9ja19oZWlnaHQs
IGludCBzc194LCBpbnQgc3NfeSwgaW50IHN0cmVuZ3RoLCBjb25zdCBpbnQgKmNvbnN0IGJsa19m
dywgaW50IHVzZV8zMngzMiwgdWludDMyX3QgKnlfYWNjdW11bGF0b3IsIHVpbnQxNl90ICp5X2Nv
dW50LCB1aW50MzJfdCAqdV9hY2N1bXVsYXRvciwgdWludDE2X3QgKnVfY291bnQsIHVpbnQzMl90
ICp2X2FjY3VtdWxhdG9yLCB1aW50MTZfdCAqdl9jb3VudCk7CisKK3ZvaWQgdnA5X2hpZ2hiZF9h
cHBseV90ZW1wb3JhbF9maWx0ZXJfYyhjb25zdCB1aW50MTZfdCAqeV9zcmMsIGludCB5X3NyY19z
dHJpZGUsIGNvbnN0IHVpbnQxNl90ICp5X3ByZSwgaW50IHlfcHJlX3N0cmlkZSwgY29uc3QgdWlu
dDE2X3QgKnVfc3JjLCBjb25zdCB1aW50MTZfdCAqdl9zcmMsIGludCB1dl9zcmNfc3RyaWRlLCBj
b25zdCB1aW50MTZfdCAqdV9wcmUsIGNvbnN0IHVpbnQxNl90ICp2X3ByZSwgaW50IHV2X3ByZV9z
dHJpZGUsIHVuc2lnbmVkIGludCBibG9ja193aWR0aCwgdW5zaWduZWQgaW50IGJsb2NrX2hlaWdo
dCwgaW50IHNzX3gsIGludCBzc195LCBpbnQgc3RyZW5ndGgsIGNvbnN0IGludCAqY29uc3QgYmxr
X2Z3LCBpbnQgdXNlXzMyeDMyLCB1aW50MzJfdCAqeV9hY2N1bSwgdWludDE2X3QgKnlfY291bnQs
IHVpbnQzMl90ICp1X2FjY3VtLCB1aW50MTZfdCAqdV9jb3VudCwgdWludDMyX3QgKnZfYWNjdW0s
IHVpbnQxNl90ICp2X2NvdW50KTsKK3ZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0
ZXJfc3NlNF8xKGNvbnN0IHVpbnQxNl90ICp5X3NyYywgaW50IHlfc3JjX3N0cmlkZSwgY29uc3Qg
dWludDE2X3QgKnlfcHJlLCBpbnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1aW50MTZfdCAqdV9zcmMs
IGNvbnN0IHVpbnQxNl90ICp2X3NyYywgaW50IHV2X3NyY19zdHJpZGUsIGNvbnN0IHVpbnQxNl90
ICp1X3ByZSwgY29uc3QgdWludDE2X3QgKnZfcHJlLCBpbnQgdXZfcHJlX3N0cmlkZSwgdW5zaWdu
ZWQgaW50IGJsb2NrX3dpZHRoLCB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LCBpbnQgc3NfeCwg
aW50IHNzX3ksIGludCBzdHJlbmd0aCwgY29uc3QgaW50ICpjb25zdCBibGtfZncsIGludCB1c2Vf
MzJ4MzIsIHVpbnQzMl90ICp5X2FjY3VtLCB1aW50MTZfdCAqeV9jb3VudCwgdWludDMyX3QgKnVf
YWNjdW0sIHVpbnQxNl90ICp1X2NvdW50LCB1aW50MzJfdCAqdl9hY2N1bSwgdWludDE2X3QgKnZf
Y291bnQpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmls
dGVyKShjb25zdCB1aW50MTZfdCAqeV9zcmMsIGludCB5X3NyY19zdHJpZGUsIGNvbnN0IHVpbnQx
Nl90ICp5X3ByZSwgaW50IHlfcHJlX3N0cmlkZSwgY29uc3QgdWludDE2X3QgKnVfc3JjLCBjb25z
dCB1aW50MTZfdCAqdl9zcmMsIGludCB1dl9zcmNfc3RyaWRlLCBjb25zdCB1aW50MTZfdCAqdV9w
cmUsIGNvbnN0IHVpbnQxNl90ICp2X3ByZSwgaW50IHV2X3ByZV9zdHJpZGUsIHVuc2lnbmVkIGlu
dCBibG9ja193aWR0aCwgdW5zaWduZWQgaW50IGJsb2NrX2hlaWdodCwgaW50IHNzX3gsIGludCBz
c195LCBpbnQgc3RyZW5ndGgsIGNvbnN0IGludCAqY29uc3QgYmxrX2Z3LCBpbnQgdXNlXzMyeDMy
LCB1aW50MzJfdCAqeV9hY2N1bSwgdWludDE2X3QgKnlfY291bnQsIHVpbnQzMl90ICp1X2FjY3Vt
LCB1aW50MTZfdCAqdV9jb3VudCwgdWludDMyX3QgKnZfYWNjdW0sIHVpbnQxNl90ICp2X2NvdW50
KTsKKwogdm9pZCB2cDlfcnRjZCh2b2lkKTsKIAogI2lmZGVmIFJUQ0RfQwogI2luY2x1ZGUgInZw
eF9wb3J0cy94ODYuaCIKKwogc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7
CiAgIGludCBmbGFncyA9IHg4Nl9zaW1kX2NhcHMoKTsKIApAQCAtNTAzLDYgKzUxMywxMSBAQCBz
dGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICNlbHNlCiAgIHZwOV9ibG9j
a19lcnJvciA9IHZwOV9ibG9ja19lcnJvcl9zc2UyOwogICB2cDlfYmxvY2tfZXJyb3JfZnAgPSB2
cDlfYmxvY2tfZXJyb3JfZnBfc3NlMjsKKyNlbmRpZgorICB2cDlfZGlhbW9uZF9zZWFyY2hfc2Fk
ID0gdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jOworI2lmICFkZWZpbmVkKFdFQlJUQ19XRUJLSVRf
RElTQUJMRV9IQVJEV0FSRV9BQ0NFTEVSQVRJT04pICYmICFkZWZpbmVkKFdFQlJUQ19XRUJLSVRf
TUFDX0NBVEFMSVNUKQorICBpZiAoZmxhZ3MgJiBIQVNfQVZYKQorICAgIHZwOV9kaWFtb25kX3Nl
YXJjaF9zYWQgPSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2F2eDsKICNlbmRpZgogICB2cDlfaGln
aGJkX2lodDE2eDE2XzI1Nl9hZGQgPSB2cDlfaGlnaGJkX2lodDE2eDE2XzI1Nl9hZGRfYzsKICNp
ZiAhZGVmaW5lZChXRUJSVENfV0VCS0lUX0RJU0FCTEVfSEFSRFdBUkVfQUNDRUxFUkFUSU9OKSAm
JiAhZGVmaW5lZChXRUJSVENfV0VCS0lUX01BQ19DQVRBTElTVCkKQEAgLTUxOSwxMCArNTM0LDEw
IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICBpZiAoZmxhZ3Mg
JiBIQVNfU1NFNF8xKQogICAgIHZwOV9oaWdoYmRfaWh0OHg4XzY0X2FkZCA9IHZwOV9oaWdoYmRf
aWh0OHg4XzY0X2FkZF9zc2U0XzE7CiAjZW5kaWYKLSAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCA9
IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYzsKLSAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngz
MiA9IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYzsKKyNpZmRlZiBXRUJSVENfV0VCS0lU
X0RJU0FCTEVfSEFSRFdBUkVfQUNDRUxFUkFUSU9OCisgIHZwOV9xdWFudGl6ZV9mcCA9IHZwOV9x
dWFudGl6ZV9mcF9jOworI2Vsc2UKICAgdnA5X3F1YW50aXplX2ZwID0gdnA5X3F1YW50aXplX2Zw
X3NzZTI7Ci0jaWZuZGVmIFdFQlJUQ19XRUJLSVRfRElTQUJMRV9IQVJEV0FSRV9BQ0NFTEVSQVRJ
T04KICAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZwOV9xdWFudGl6ZV9mcCA9IHZwOV9x
dWFudGl6ZV9mcF9zc3NlMzsKICNlbmRpZgpAQCAtNTM1LDYgKzU1MCwxNiBAQCBzdGF0aWMgdm9p
ZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICNpZm5kZWYgV0VCUlRDX1dFQktJVF9ESVNB
QkxFX0hBUkRXQVJFX0FDQ0VMRVJBVElPTgogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAg
dnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUgPSB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9z
c3NlMzsKKyNlbmRpZgorICB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyID0gdnA5X2FwcGx5X3Rl
bXBvcmFsX2ZpbHRlcl9jOworI2lmICFkZWZpbmVkKFdFQlJUQ19XRUJLSVRfRElTQUJMRV9IQVJE
V0FSRV9BQ0NFTEVSQVRJT04pICYmICFkZWZpbmVkKFdFQlJUQ19XRUJLSVRfTUFDX0NBVEFMSVNU
KQorICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZwOV9hcHBseV90ZW1wb3JhbF9maWx0
ZXIgPSB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX3NzZTRfMTsKKyNlbmRpZgorICB2cDlfaGln
aGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlciA9IHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmls
dGVyX2M7CisjaWYgIWRlZmluZWQoV0VCUlRDX1dFQktJVF9ESVNBQkxFX0hBUkRXQVJFX0FDQ0VM
RVJBVElPTikgJiYgIWRlZmluZWQoV0VCUlRDX1dFQktJVF9NQUNfQ0FUQUxJU1QpCisgIGlmIChm
bGFncyAmIEhBU19TU0U0XzEpCisgICAgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXIg
PSB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9zc2U0XzE7CiAjZW5kaWYKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMveDY0L3ZweF9jb25maWcuYXNtIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9tYWMveDY0L3ZweF9jb25maWcuYXNtCmluZGV4IGUxNjFhNzcxODI0Ni4uYjlkNzgx
MDIxNTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy94NjQvdnB4X2NvbmZpZy5hc20KKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2NvbmZpZy9tYWMveDY0L3ZweF9jb25maWcuYXNtCkBAIC0xLDcgKzEsNSBAQAogJWRl
ZmluZSBWUFhfQVJDSF9BUk0gMAogJWRlZmluZSBBUkNIX0FSTSAwCi0lZGVmaW5lIFZQWF9BUkNI
X0FBUkNINjQgMAotJWRlZmluZSBBUkNIX0FBUkNINjQgMAogJWRlZmluZSBWUFhfQVJDSF9NSVBT
IDAKICVkZWZpbmUgQVJDSF9NSVBTIDAKICVkZWZpbmUgVlBYX0FSQ0hfWDg2IDAKQEAgLTEwLDEy
ICs4LDggQEAKICVkZWZpbmUgQVJDSF9YODZfNjQgMQogJWRlZmluZSBWUFhfQVJDSF9QUEMgMAog
JWRlZmluZSBBUkNIX1BQQyAwCi0lZGVmaW5lIFZQWF9BUkNIX0xPT05HQVJDSCAwCi0lZGVmaW5l
IEFSQ0hfTE9PTkdBUkNIIDAKLSVkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAlZGVmaW5lIEhBVkVf
TkVPTiAwCi0lZGVmaW5lIEhBVkVfTkVPTl9ET1RQUk9EIDAKLSVkZWZpbmUgSEFWRV9ORU9OX0k4
TU0gMAorJWRlZmluZSBIQVZFX05FT05fQVNNIDAKICVkZWZpbmUgSEFWRV9NSVBTMzIgMAogJWRl
ZmluZSBIQVZFX0RTUFIyIDAKICVkZWZpbmUgSEFWRV9NU0EgMApAQCAtMzEsOCArMjUsNiBAQAog
JWRlZmluZSBIQVZFX0FWWDUxMiAwCiAlZGVmaW5lIEhBVkVfVlNYIDAKICVkZWZpbmUgSEFWRV9N
TUkgMAotJWRlZmluZSBIQVZFX0xTWCAwCi0lZGVmaW5lIEhBVkVfTEFTWCAwCiAlZGVmaW5lIEhB
VkVfVlBYX1BPUlRTIDEKICVkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQogJWRlZmluZSBIQVZFX1VO
SVNURF9IIDAKQEAgLTg1LDYgKzc3LDcgQEAKICVkZWZpbmUgQ09ORklHX01VTFRJX1JFU19FTkNP
RElORyAxCiAlZGVmaW5lIENPTkZJR19URU1QT1JBTF9ERU5PSVNJTkcgMQogJWRlZmluZSBDT05G
SUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORyAxCislZGVmaW5lIENPTkZJR19DT05TSVNURU5UX1JF
Q09ERSAwCiAlZGVmaW5lIENPTkZJR19DT0VGRklDSUVOVF9SQU5HRV9DSEVDS0lORyAwCiAlZGVm
aW5lIENPTkZJR19WUDlfSElHSEJJVERFUFRIIDEKICVkZWZpbmUgQ09ORklHX0JFVFRFUl9IV19D
T01QQVRJQklMSVRZIDAKQEAgLTk3LDYgKzkwLDUgQEAKICVkZWZpbmUgQ09ORklHX0VNVUxBVEVf
SEFSRFdBUkUgMAogJWRlZmluZSBDT05GSUdfTk9OX0dSRUVEWV9NViAwCiAlZGVmaW5lIENPTkZJ
R19SQVRFX0NUUkwgMAotJWRlZmluZSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HIDAK
ICVkZWZpbmUgREVDT0RFX1dJRFRIX0xJTUlUIDE2Mzg0CiAlZGVmaW5lIERFQ09ERV9IRUlHSFRf
TElNSVQgMTYzODQKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL3g2NC92cHhfY29uZmlnLmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL21hYy94NjQvdnB4X2NvbmZpZy5jCmluZGV4IGM5ODRiNTE2YTAwZC4uNTJh
YWFjNWIwYTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy94NjQvdnB4X2NvbmZpZy5jCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvbWFjL3g2NC92cHhfY29uZmlnLmMKQEAgLTYsNSArNiw1IEBACiAvKiBp
biB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5
ICovCiAvKiBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBz
b3VyY2UgdHJlZS4gKi8KICNpbmNsdWRlICJ2cHgvdnB4X2NvZGVjLmgiCi1zdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgY2ZnID0gIi0tdGFyZ2V0PXg4Nl82NC1kYXJ3aW45LWdjYyAtLWVuYWJsZS1l
eHRlcm5hbC1idWlsZCAtLWVuYWJsZS1wb3N0cHJvYyAtLWVuYWJsZS1tdWx0aS1yZXMtZW5jb2Rp
bmcgLS1lbmFibGUtdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS10ZW1wb3JhbC1kZW5v
aXNpbmcgLS1lbmFibGUtdnA5LXBvc3Rwcm9jIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCAtLWVu
YWJsZS1yZWFsdGltZS1vbmx5IC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgLS1kaXNhYmxlLWxpYnl1
diAtLWVuYWJsZS1waWMgLS1hcz15YXNtIC0tZGlzYWJsZS1hdng1MTIgLS1lbmFibGUtdnA5LWhp
Z2hiaXRkZXB0aCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY2ZnID0gIi0tdGFyZ2V0PXg4
Nl82NC1saW51eC1nY2MgLS1lbmFibGUtZXh0ZXJuYWwtYnVpbGQgLS1lbmFibGUtcG9zdHByb2Mg
LS1lbmFibGUtbXVsdGktcmVzLWVuY29kaW5nIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9pc2luZyAt
LWVuYWJsZS12cDktdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS1wb3N0cHJvYyAtLXNp
emUtbGltaXQ9MTYzODR4MTYzODQgLS1lbmFibGUtcmVhbHRpbWUtb25seSAtLWRpc2FibGUtaW5z
dGFsbC1kb2NzIC0tZGlzYWJsZS1saWJ5dXYgLS1lbmFibGUtcGljIC0tYXM9eWFzbSAtLWRpc2Fi
bGUtYXZ4NTEyIC0tZW5hYmxlLXZwOS1oaWdoYml0ZGVwdGgiOwogY29uc3QgY2hhciAqdnB4X2Nv
ZGVjX2J1aWxkX2NvbmZpZyh2b2lkKSB7cmV0dXJuIGNmZzt9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL21hYy94NjQvdnB4X2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9tYWMveDY0L3ZweF9jb25maWcu
aAppbmRleCA1N2ZkMDY3MzI5ZjkuLjdjM2MzMzg4Y2YzZSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy9tYWMveDY0L3ZweF9jb25maWcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL21hYy94NjQvdnB4X2NvbmZp
Zy5oCkBAIC0xMiw4ICsxMiw2IEBACiAjZGVmaW5lIElOTElORSAgICAgIGlubGluZQogI2RlZmlu
ZSBWUFhfQVJDSF9BUk0gMAogI2RlZmluZSBBUkNIX0FSTSAwCi0jZGVmaW5lIFZQWF9BUkNIX0FB
UkNINjQgMAotI2RlZmluZSBBUkNIX0FBUkNINjQgMAogI2RlZmluZSBWUFhfQVJDSF9NSVBTIDAK
ICNkZWZpbmUgQVJDSF9NSVBTIDAKICNkZWZpbmUgVlBYX0FSQ0hfWDg2IDAKQEAgLTIyLDEyICsy
MCw4IEBACiAjZGVmaW5lIEFSQ0hfWDg2XzY0IDEKICNkZWZpbmUgVlBYX0FSQ0hfUFBDIDAKICNk
ZWZpbmUgQVJDSF9QUEMgMAotI2RlZmluZSBWUFhfQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBB
UkNIX0xPT05HQVJDSCAwCi0jZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZFX05F
T04gMAotI2RlZmluZSBIQVZFX05FT05fRE9UUFJPRCAwCi0jZGVmaW5lIEhBVkVfTkVPTl9JOE1N
IDAKKyNkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAjZGVmaW5lIEhBVkVfTUlQUzMyIDAKICNkZWZp
bmUgSEFWRV9EU1BSMiAwCiAjZGVmaW5lIEhBVkVfTVNBIDAKQEAgLTQzLDggKzM3LDYgQEAKICNk
ZWZpbmUgSEFWRV9BVlg1MTIgMAogI2RlZmluZSBIQVZFX1ZTWCAwCiAjZGVmaW5lIEhBVkVfTU1J
IDAKLSNkZWZpbmUgSEFWRV9MU1ggMAotI2RlZmluZSBIQVZFX0xBU1ggMAogI2RlZmluZSBIQVZF
X1ZQWF9QT1JUUyAxCiAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKICNkZWZpbmUgSEFWRV9VTklT
VERfSCAwCkBAIC05Nyw2ICs4OSw3IEBACiAjZGVmaW5lIENPTkZJR19NVUxUSV9SRVNfRU5DT0RJ
TkcgMQogI2RlZmluZSBDT05GSUdfVEVNUE9SQUxfREVOT0lTSU5HIDEKICNkZWZpbmUgQ09ORklH
X1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgMQorI2RlZmluZSBDT05GSUdfQ09OU0lTVEVOVF9SRUNP
REUgMAogI2RlZmluZSBDT05GSUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcgMAogI2RlZmlu
ZSBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAxCiAjZGVmaW5lIENPTkZJR19CRVRURVJfSFdfQ09N
UEFUSUJJTElUWSAwCkBAIC0xMDksNyArMTAyLDYgQEAKICNkZWZpbmUgQ09ORklHX0VNVUxBVEVf
SEFSRFdBUkUgMAogI2RlZmluZSBDT05GSUdfTk9OX0dSRUVEWV9NViAwCiAjZGVmaW5lIENPTkZJ
R19SQVRFX0NUUkwgMAotI2RlZmluZSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HIDAK
ICNkZWZpbmUgREVDT0RFX1dJRFRIX0xJTUlUIDE2Mzg0CiAjZGVmaW5lIERFQ09ERV9IRUlHSFRf
TElNSVQgMTYzODQKICNlbmRpZiAvKiBWUFhfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9j
b25maWcvbWFjL3g2NC92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL3g2NC92cHhfZHNw
X3J0Y2QuaAppbmRleCBmNjlhODhjZDU0OWYuLmI3MjcwYjExY2Y0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2NvbmZpZy9tYWMveDY0L3ZweF9kc3BfcnRjZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbWFjL3g2NC92
cHhfZHNwX3J0Y2QuaApAQCAtMTksMTAgKzE5LDYgQEAKICNpbmNsdWRlICJ2cHgvdnB4X2ludGVn
ZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgiCiAjaW5jbHVkZSAidnB4
X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9FTkNPREVSCi1zdHJ1Y3QgbWFjcm9i
bG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNw
bHVzCiBleHRlcm4gIkMiIHsKQEAgLTQ4LDE4ICs0NCw3IEBAIHZvaWQgdnB4X2NvbXBfYXZnX3By
ZWRfc3NlMih1aW50OF90KiBjb21wX3ByZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdm9pZCB2
cHhfY29tcF9hdmdfcHJlZF9hdngyKHVpbnQ4X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnB4X2NvbXBfYXZnX3ByZWQpKHVpbnQ4X3QqIGNvbXBfcHJlZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2NvbXBfYXZnX3By
ZWQgdnB4X2NvbXBfYXZnX3ByZWRfc3NlMgogCiB2b2lkIHZweF9jb252b2x2ZThfYyhjb25zdCB1
aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
QEAgLTMwMzAsMTMgKzMwMTUsNyBAQCB2b2lkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZF9jKHVp
bnQxNl90KiBjb21wX3ByZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBo
ZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBy
ZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXZv
aWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX3NzZTIodWludDE2X3QqIGNvbXBfcHJlZCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHByZWQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHJlZiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2NvbXBf
YXZnX3ByZWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX3NzZTIKKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9jb21wX2F2Z19wcmVkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZF9jCiAKIHZvaWQgdnB4X2hp
Z2hiZF9jb252b2x2ZThfYyhjb25zdCB1aW50MTZfdCogc3JjLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtNDUyNCw3MCArNDUwMyw1OSBAQCB2
b2lkIHZweF9oaWdoYmRfbWlubWF4Xzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHM4LAogCiB2b2lkIHZw
eF9oaWdoYmRfcXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9w
bGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhf
aGlnaGJkX3F1YW50aXplX2Jfc3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29u
c3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Js
b2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6Ymlu
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVh
bnRpemVfYl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRl
ciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iKSgKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qg
bl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVv
Yl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci0K
LXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2MoCi0gICAgY29uc3QgdHJhbl9sb3df
dCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBt
Yl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRx
Y29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90
KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIp
Owotdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMigKLSAgICBjb25zdCB0cmFu
X2xvd190KiBjb2VmZl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNv
bnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWlu
dDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9v
cmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9hdngyKAotICAgIGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFu
X2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAg
ICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBz
Y2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4
MzIpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBk
ZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nh
bk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2IgdnB4
X2hpZ2hiZF9xdWFudGl6ZV9iX3NzZTIKKwordm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4
MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1
YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVv
Yl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IGlzY2FuKTsKK3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX3NzZTIoY29uc3QgdHJh
bl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRp
emVfYl8zMngzMiB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMgogCiB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDU5NywxNCAr
NDU2NSw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2eDIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF9oaWdoYmRfc2FkMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTYgdnB4X2hpZ2hi
ZF9zYWQxNngxNl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ2MTYsMzcgKzQ1NzcsMTkgQEAgdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2
eDE2X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMTZ4MTZf
YXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGln
aGJkX3NhZDE2eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19zc2UyCiAKIHZvaWQgdnB4
X2hpZ2hiZF9zYWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2Fk
MTZ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2Fk
MTZ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhU
RVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdo
YmRfc2FkMTZ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9zc2UyCiAKIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NjU2LDE0ICs0
NTk5LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZ4Mihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X2hpZ2hiZF9zYWQxNngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMiB2cHhfaGlnaGJk
X3NhZDE2eDMyX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDY3NSwzNyArNDYxMSwxOSBAQCB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4
MzJfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNngzMl9h
dmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdo
YmRfc2FkMTZ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX3NzZTIKIAogdm9pZCB2cHhf
aGlnaGJkX3NhZDE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQx
NngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQx
NngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRF
Uk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkMTZ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQxNngzMng0ZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NzE1LDE0ICs0NjMz
LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4OF9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNng4X2F2eDIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2Fk
MTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNng4IHZweF9oaWdoYmRfc2FkMTZ4OF9zc2UyCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC00NzM0LDM3ICs0NjQ1LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2
eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX2F2eDIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25l
ZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDhfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OF9hdmcgdnB4X2hpZ2hiZF9zYWQxNng4
X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQg
dnB4X2hpZ2hiZF9zYWQxNng4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDE2eDh4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRf
c2FkMTZ4OHg0ZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDc3NCwxNCArNDY2Nyw3
IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X3NzZTIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdo
YmRfc2FkMzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTYgdnB4X2hpZ2hiZF9zYWQz
MngxNl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ3OTMsMzcgKzQ2NzksMTkgQEAgdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMzJ4MTZfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2
Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDMyeDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hi
ZF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4
NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4
NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfaGlnaGJkX3NhZDMyeDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
MzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00ODMzLDE0ICs0NzAxLDcg
QEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfc3NlMihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZ4Mihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hi
ZF9zYWQzMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMiB2cHhfaGlnaGJkX3NhZDMy
eDMyX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLApAQCAtNDg1MiwzNyArNDcxMywxOSBAQCB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQzMngzMl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZn
X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
MzJ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJk
X3NhZDMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0
ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9p
ZCAoKnZweF9oaWdoYmRfc2FkMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQz
MngzMng0ZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ4OTIsMTQgKzQ3MzUsNyBA
QCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJk
X3NhZDMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0IHZweF9oaWdoYmRfc2FkMzJ4
NjRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC00OTExLDM3ICs0NzQ3LDE5IEBAIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDMyeDY0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdf
YXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZykoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQz
Mng2NF9hdmcgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRf
c2FkMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRk
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRk
X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMy
eDY0eDRkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQ0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00OTU4LDE0ICs0Nzc2LDE0IEBAIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0
eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4
NHg0ZCB2cHhfaGlnaGJkX3NhZDR4NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC00OTgzLDE0ICs0ODAxLDE0IEBA
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9z
YWQ0eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDR4OHg0ZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTUwMDEsMTQgKzQ4MTks
NyBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdngyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGln
aGJkX3NhZDY0eDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDMyIHZweF9oaWdoYmRfc2Fk
NjR4MzJfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC01MDIwLDM3ICs0ODMxLDE5IEBAIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9h
dmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Zyko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ2NHgzMl9hdmcgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdo
YmRfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDMy
eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdo
YmRfc2FkNjR4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDY0eDMyeDRkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTA2MCwxNCArNDg1Myw3
IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X3NzZTIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdo
YmRfc2FkNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjQgdnB4X2hpZ2hiZF9zYWQ2
NHg2NF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKQEAgLTUwNzksMzcgKzQ4NjUsMTkgQEAgdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkNjR4NjRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2
Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkNjR4NjRfYXZnKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDY0eDY0X2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hi
ZF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4NjR4
NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkNjR4NjR4
NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfaGlnaGJkX3NhZDY0eDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
NjR4NjR4NGQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTEzNSwxNCArNDkwMywxNCBA
QCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQg
dnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9zc2UyCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CkBAIC01MTY5LDE0ICs0OTM3LDE0IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4NF9h
dmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkOHg0
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NHg0ZCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9z
c2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCkBAIC01MjAzLDQ5NSArNDk3MSw3OCBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ4eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJk
X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkOHg4eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDh4NGQgdnB4X2hpZ2hiZF9zYWQ4
eDh4NGRfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2KShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OworaW50IHZweF9oaWdoYmRfc2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVu
Z3RoKTsKK2ludCB2cHhfaGlnaGJkX3NhdGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwg
aW50IGxlbmd0aCk7CitSVENEX0VYVEVSTiBpbnQgKCp2cHhfaGlnaGJkX3NhdGQpKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKIAotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2F2
eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGQpKAotICAgIGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Cit2b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYyhpbnQgcm93cywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zdWJ0cmFj
dF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MKIAotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKK3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3Jf
MTZ4MTZfYyh1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBiZCk7Cit2b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2X3Nz
ZTIodWludDE2X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rv
cl8xNngxNiB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9zc2UyCiAKLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkKSgK
LSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8z
MngzMl9jKHVpbnQxNl90KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGJkKTsKK3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzJfc3Nl
Mih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBiZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9y
XzMyeDMyIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyX3NzZTIKIAotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDhfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfYyh1aW50
MTZfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwor
dm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3NlMih1aW50MTZfdCogZHN0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBs
ZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOworI2Rl
ZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3Jf
NHg0X3NzZTIKIAotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
OHg0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8z
MngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzMyeDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX2F2eDIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0K
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDMyeDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3Ry
aWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMng2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9o
aWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZCkoCi0gICAgY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80
eDQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDRfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
NHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWRfc2tpcF80eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4
OF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZF9zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3Nr
aXBfNHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkX3NzZTIKLQotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9z
YWRfc2tpcF82NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRk
X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGQpKAotICAgIGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDY0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2F2
eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDY0eDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4MTYgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X3NzZTIKLQotdm9pZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfOHgx
Nng0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9jCi0K
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzh4NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF84eDhfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9zc2Uy
Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBf
OHg4eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX3NzZTIKLQotaW50IHZweF9oaWdoYmRf
c2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLWludCB2cHhfaGln
aGJkX3NhdGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7Ci1SVENE
X0VYVEVSTiBpbnQgKCp2cHhfaGlnaGJkX3NhdGQpKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBp
bnQgbGVuZ3RoKTsKLQotdm9pZCB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MoaW50IHJvd3Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3JjOF9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWQ4X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfc3VidHJhY3Rf
YmxvY2tfYXZ4MihpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCog
ZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
ZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGJkKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3N1YnRyYWN0
X2Jsb2NrKShpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3JjOF9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotCi12b2lkIHZweF9oaWdoYmRf
dG1fcHJlZGljdG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRp
Y3Rvcl8xNngxNl9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF90bV9wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfc3NlMgot
Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyX2ModWludDE2X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVm
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qq
IGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hiZF90bV9wcmVk
aWN0b3JfMzJ4MzJfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9jKHVp
bnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7
Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9zc2UyKHVpbnQxNl90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qq
IGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rv
cl80eDRfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OF9jKHVpbnQxNl90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBh
Ym92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qq
IGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lk
IHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OF9zc2UyKHVpbnQxNl90KiBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDhf
c3NlMgordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDhfYyh1aW50MTZfdCogZHN0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwordm9pZCB2cHhfaGln
aGJkX3RtX3ByZWRpY3Rvcl84eDhfc3NlMih1aW50MTZfdCogZHN0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhfaGln
aGJkX3RtX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfOHg4X3NzZTIKIAog
dm9pZCB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC01NzU5
LDEyICs1MTEwLDcgQEAgdm9pZCB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYyhjb25zdCB0cmFuX2xv
d190KiBpbnB1dCwKIHZvaWQgdnB4X2lkY3QxNngxNl8yNTZfYWRkX3NzZTIoY29uc3QgdHJhbl9s
b3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRl
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotdm9pZCB2
cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2lk
Y3QxNngxNl8yNTZfYWRkKShjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2lk
Y3QxNngxNl8yNTZfYWRkIHZweF9pZGN0MTZ4MTZfMjU2X2FkZF9zc2UyCiAKIHZvaWQgdnB4X2lk
Y3QxNngxNl8zOF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1dCwgdWludDhfdCogZGVzdCwg
aW50IHN0cmlkZSk7CiB2b2lkIHZweF9pZGN0MTZ4MTZfMzhfYWRkX3NzZTIoY29uc3QgdHJhbl9s
b3dfdCogaW5wdXQsCkBAIC01Nzc4LDEyICs1MTI0LDcgQEAgdm9pZCB2cHhfaWRjdDMyeDMyXzEw
MjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiB2b2lkIHZweF9pZGN0MzJ4MzJfMTAy
NF9hZGRfc3NlMihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9hdngyKGNvbnN0
IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUp
OwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9pZGN0MzJ4MzJfMTAyNF9hZGQpKGNvbnN0IHRyYW5f
bG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGQgdnB4X2lkY3Qz
MngzMl8xMDI0X2FkZF9zc2UyCiAKIHZvaWQgdnB4X2lkY3QzMngzMl8xMzVfYWRkX2MoY29uc3Qg
dHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRlc3QsCkBAIC01Nzk0LDkgKzUxMzUsNiBAQCB2b2lkIHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9z
c2UyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogdm9pZCB2cHhfaWRjdDMyeDMyXzEzNV9hZGRf
c3NzZTMoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90KiBkZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHN0cmlkZSk7Ci12b2lkIHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9hdngyKGNvbnN0IHRyYW5f
bG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBk
ZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKIFJUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfaWRjdDMyeDMyXzEzNV9hZGQpKGNvbnN0IHRyYW5fbG93X3QqIGlu
cHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJp
ZGUpOwpAQCAtNTg1MywxMSArNTE5MSwxMSBAQCBpbnQxNl90IHZweF9pbnRfcHJvX2NvbF9jKGNv
bnN0IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsKIGludDE2X3QgdnB4X2ludF9wcm9f
Y29sX3NzZTIoY29uc3QgdWludDhfdCogcmVmLCBjb25zdCBpbnQgd2lkdGgpOwogI2RlZmluZSB2
cHhfaW50X3Byb19jb2wgdnB4X2ludF9wcm9fY29sX3NzZTIKIAotdm9pZCB2cHhfaW50X3Byb19y
b3dfYyhpbnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90KiBo
YnVmLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKLXZvaWQgdnB4X2ludF9wcm9fcm93X3NzZTIoaW50MTZf
dCBoYnVmWzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X3NzZTIoaW50MTZfdCogaGJ1ZiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50IGhlaWdodCk7CkBAIC02MTk3LDkwICs1NTM1LDEyMiBAQCB2b2lkIHZw
eF9wb3N0X3Byb2NfZG93bl9hbmRfYWNyb3NzX21iX3Jvd19zc2UyKHVuc2lnbmVkIGNoYXIqIHNy
YywKIAogdm9pZCB2cHhfcXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9z
aGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGlzY2FuKTsKIHZvaWQgdnB4X3F1YW50aXplX2Jfc3NlMihjb25zdCB0cmFuX2xvd190KiBj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNv
bnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2
X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5P
cmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBp
c2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25z
dCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVfYl9hdngoY29uc3QgdHJhbl9sb3df
dCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSog
Y29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9i
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNv
bnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfcXVhbnRpemVfYl9hdngyKGNvbnN0IHRyYW5fbG93
X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZm
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYikoCi0gICAgY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IGlzY2FuKTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVfYikoY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRw
dHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNr
aXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHZvaWQg
dnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNv
bnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29l
ZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iXzMy
eDMyX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVx
dWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9hdngoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfcXVhbnRp
emVfYl8zMngzMl9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNv
ZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNv
ZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBk
ZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9i
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVf
Yl8zMngzMikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBx
Y29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2
X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVj
dCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIGlzY2FuKTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfcXVhbnRpemVf
Yl8zMngzMikoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3Vu
ZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVx
dWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtNjMwNCwxOCArNTY3NCw1NSBAQCB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDE2eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUg
dnB4X3NhZDE2eDE2X2F2ZyB2cHhfc2FkMTZ4MTZfYXZnX3NzZTIKIAordm9pZCB2cHhfc2FkMTZ4
MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDE2eDNfc3NlMyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQxNngxNngzX3Nz
c2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZDE2eDE2eDMpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHZvaWQgdnB4X3NhZDE2
eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDE2
eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
ICNkZWZpbmUgdnB4X3NhZDE2eDE2eDRkIHZweF9zYWQxNngxNng0ZF9zc2UyCiAKK3ZvaWQgdnB4
X3NhZDE2eDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQxNngxNng4
X3NzZTRfMShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0Rf
RVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4MTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwogdW5zaWdu
ZWQgaW50IHZweF9zYWQxNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTYzNDAsMTQgKzU3NDcsMTQgQEAgdW5z
aWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
CiB2b2lkIHZweF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2
b2lkIHZweF9zYWQxNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRf
c3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LApAQCAtNjM3MiwxOCArNTc3OSw1NSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQxNng4X2F2
ZyB2cHhfc2FkMTZ4OF9hdmdfc3NlMgogCit2b2lkIHZweF9zYWQxNng4eDNfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDh4M19zc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwordm9pZCB2cHhfc2FkMTZ4OHgzX3Nzc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4OHgzKShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CisKIHZvaWQgdnB4X3NhZDE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9p
ZCB2cHhfc2FkMTZ4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX3NzZTIKIAordm9p
ZCB2cHhfc2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQxNng4eDhf
c3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVS
TiB2b2lkICgqdnB4X3NhZDE2eDh4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCiB1bnNpZ25lZCBpbnQgdnB4
X3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLApAQCAtNjQyNCwxNCArNTg2OCwxNCBAQCBSVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4MTZfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
CiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2
b2lkIHZweF9zYWQzMngxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMngxNng0ZCB2cHhfc2FkMzJ4MTZ4NGRf
c3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKQEAgLTY0NzQsMjQgKzU5MTgsNDAgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZDMyeDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4
MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MzJ4
NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwog
dm9pZCB2cHhfc2FkMzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQzMngzMng0ZCkoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwordm9pZCB2
cHhfc2FkMzJ4MzJ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDMyeDMy
eDhfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZDMyeDMyeDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAKIHVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNjUzMywxNCArNTk5MywxNCBAQCBSVENEX0VY
VEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogCiB2b2lkIHZweF9zYWQzMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiB2b2lkIHZweF9zYWQzMng2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQzMng2NHg0ZCB2cHhfc2FkMzJ4
NjR4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCkBAIC02NTY1LDE4ICs2MDI1LDUwIEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNHg0X2F2
Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQ0eDRf
YXZnIHZweF9zYWQ0eDRfYXZnX3NzZTIKIAordm9pZCB2cHhfc2FkNHg0eDNfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwordm9pZCB2cHhfc2FkNHg0eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ0eDR4MykoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHZvaWQgdnB4X3Nh
ZDR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ0eDR4NGRfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg0eDRkIHZw
eF9zYWQ0eDR4NGRfc3NlMgogCit2b2lkIHZweF9zYWQ0eDR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2
b2lkIHZweF9zYWQ0eDR4OF9zc2U0XzEoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ0eDR4OCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKIHVuc2lnbmVk
IGludCB2cHhfc2FkNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBAIC02NjAxLDE0ICs2MDkzLDE0IEBAIHVuc2lnbmVkIGlu
dCB2cHhfc2FkNHg4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4
X3NhZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ0eDh4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg4eDRk
IHZweF9zYWQ0eDh4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKQEAgLTY2NTEsMTQgKzYxNDMsMTQgQEAgUlRDRF9FWFRFUk4gdW5z
aWduZWQgaW50ICgqdnB4X3NhZDY0eDMyX2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAog
dm9pZCB2cHhfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9p
ZCB2cHhfc2FkNjR4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4MzJ4NGQgdnB4X3NhZDY0eDMyeDRkX3Nz
ZTIKIAogdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CkBAIC02NzAxLDI0ICs2MTkzLDI0IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9z
YWQ2NHg2NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDY0
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDY0eDRk
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZv
aWQgdnB4X3NhZDY0eDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIFJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkNjR4NjR4NGQpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAKIHVuc2lnbmVk
IGludCB2cHhfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTY3MzksMjEgKzYyMzEsNTMgQEAgdW5z
aWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVm
aW5lIHZweF9zYWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9hdmdfc3NlMgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUg
dnB4X3NhZDh4MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19zc2UyCisKK3ZvaWQgdnB4X3NhZDh4MTZ4
M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHgxNngzX3NzZTMoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDh4MTZ4Myko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwogCiB2b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKIHZvaWQgdnB4X3NhZDh4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkOHgxNng0ZCB2cHhfc2FkOHgxNng0ZF9z
c2UyCiAKK3ZvaWQgdnB4X3NhZDh4MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhf
c2FkOHgxNng4X3NzZTRfMShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ4eDE2eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwogdW5zaWdu
ZWQgaW50IHZweF9zYWQ4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTY3NzgsMTQgKzYzMDIsMTQgQEAgdW5zaWduZWQg
aW50IHZweF9zYWQ4eDRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2
cHhfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDh4NHg0ZF9zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDR4
NGQgdnB4X3NhZDh4NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHg4X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKQEAgLTY4MTAsMzY1ICs2MzM0LDQ5IEBAIHVuc2lnbmVkIGludCB2
cHhfc2FkOHg4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5l
IHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4eDhfYXZnX3NzZTIKIAordm9pZCB2cHhfc2FkOHg4eDNf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHg4eDNfc3NlMyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
YWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ4eDh4MykoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisK
IHZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ4eDh4
NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhf
c2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MTZf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MTYg
dnB4X3NhZF9za2lwXzE2eDE2X3NzZTIKLQotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNng0ZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfc3Nl
MgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MzIgdnB4X3NhZF9za2lwXzE2eDMyX3NzZTIKLQot
dm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2
eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngz
Mng0ZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNng4X3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDggdnB4X3Nh
ZF9za2lwXzE2eDhfc3NlMgotCi12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZF9za2lwXzE2eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2Fk
X3NraXBfMTZ4OHg0ZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF8zMngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzMyeDE2X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8zMngxNikoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4
MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9hdngyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8zMngxNng0ZCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfc2FkX3NraXBfMzJ4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1S
VENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMzJ4MzIpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3Nh
ZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfMzJ4MzJ4NGQp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzMyeDY0KShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12
b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4
NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0eDRk
X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lw
XzMyeDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNHg0X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NCB2cHhfc2FkX3NraXBfNHg0X2MKLQotdm9pZCB2cHhf
c2FkX3NraXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg0eDRkIHZweF9zYWRfc2tp
cF80eDR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF80eDggdnB4X3NhZF9za2lwXzR4OF9zc2UyCi0KLXZvaWQgdnB4X3Nh
ZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRkX3NzZTIKLQot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzY0eDMyKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZw
eF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2F2eDIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzY0eDMy
eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X2F2eDIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF82NHg2
NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LQotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lw
XzY0eDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHg2
NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRf
c2tpcF82NHg2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAordm9pZCB2cHhfc2FkOHg4eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
dm9pZCB2cHhfc2FkOHg4eDhfc3NlNF8xKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkOHg4eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzh4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmlu
ZSB2cHhfc2FkX3NraXBfOHgxNiB2cHhfc2FkX3NraXBfOHgxNl9zc2UyCi0KLXZvaWQgdnB4X3Nh
ZF9za2lwXzh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9zc2UyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDE2eDRkIHZweF9zYWRfc2tpcF84eDE2
eDRkX3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfOHg0IHZweF9zYWRfc2tpcF84eDRfYwotCi12b2lkIHZweF9zYWRf
c2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDR4NGQgdnB4X3NhZF9za2lwXzh4
NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfOHg4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X3NhZF9za2lwXzh4OCB2cHhfc2FkX3NraXBfOHg4X3NzZTIKLQotdm9pZCB2cHhfc2FkX3Nr
aXBfOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfOHg4eDRkIHZweF9zYWRfc2tpcF84eDh4NGRfc3NlMgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIAogaW50IHZweF9zYXRk
X2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwogaW50IHZweF9zYXRkX3Nz
ZTIoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwpAQCAtODEzOSwyMiArNzM0
Nyw3IEBAIHZvaWQgdnB4X3N1YnRyYWN0X2Jsb2NrX3NzZTIoaW50IHJvd3MsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsKLXZvaWQgdnB4X3N1YnRyYWN0X2Js
b2NrX2F2eDIoaW50IHJvd3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZF9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X3N1YnRyYWN0X2Jsb2NrKShpbnQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSk7Cisj
ZGVmaW5lIHZweF9zdWJ0cmFjdF9ibG9jayB2cHhfc3VidHJhY3RfYmxvY2tfc3NlMgogCiB1aW50
NjRfdCB2cHhfc3VtX3NxdWFyZXNfMmRfaTE2X2MoY29uc3QgaW50MTZfdCogc3JjLCBpbnQgc3Ry
aWRlLCBpbnQgc2l6ZSk7CiB1aW50NjRfdCB2cHhfc3VtX3NxdWFyZXNfMmRfaTE2X3NzZTIoY29u
c3QgaW50MTZfdCogc3JjLCBpbnQgc3RyaWRlLCBpbnQgc2l6ZSk7CkBAIC04NDQyLDE2ICs3NjM1
LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4MTZfc3NlMihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTh4MTYpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4
X3ZhcmlhbmNlOHgxNiB2cHhfdmFyaWFuY2U4eDE2X3NzZTIKIAogdW5zaWduZWQgaW50IHZweF92
YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC04NDYzLDE2ICs3NjQ3LDcgQEAgdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTh4NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3ZhcmlhbmNlOHg0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF92YXJpYW5jZTh4NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTh4NCB2cHhfdmFyaWFuY2U4
eDRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTg0ODQsMTYgKzc2NTksNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg4X3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDhfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlOHg4KShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUg
dnB4X3ZhcmlhbmNlOHg4IHZweF92YXJpYW5jZTh4OF9zc2UyCiAKIHZvaWQgdnB4X3ZlX3ByZWRp
Y3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKQEAgLTg1MTQsNyArNzY4MCw2IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0
Y2RfaW50ZXJuYWwodm9pZCkgewogCiAgICh2b2lkKWZsYWdzOwogCi0gIHZweF9jb21wX2F2Z19w
cmVkID0gdnB4X2NvbXBfYXZnX3ByZWRfc3NlMjsKICAgdnB4X2NvbnZvbHZlOCA9IHZweF9jb252
b2x2ZThfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZweF9jb252b2x2ZTgg
PSB2cHhfY29udm9sdmU4X3Nzc2UzOwpAQCAtODY5MSw1MiArNzg1Niw3IEBAIHN0YXRpYyB2b2lk
IHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQog
ICAgIHZweF9oaWdoYmRfaWRjdDh4OF82NF9hZGQgPSB2cHhfaGlnaGJkX2lkY3Q4eDhfNjRfYWRk
X3NzZTRfMTsKICNlbmRpZgotICB2cHhfaGlnaGJkX3F1YW50aXplX2IgPSB2cHhfaGlnaGJkX3F1
YW50aXplX2Jfc3NlMjsKLSAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyID0gdnB4X2hpZ2hi
ZF9xdWFudGl6ZV9iXzMyeDMyX3NzZTI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MTYgPSB2cHhfaGln
aGJkX3NhZDE2eDE2X3NzZTI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnID0gdnB4X2hpZ2hi
ZF9zYWQxNngxNl9hdmdfc3NlMjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZCA9IHZweF9oaWdo
YmRfc2FkMTZ4MTZ4NGRfc3NlMjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngzMiA9IHZweF9oaWdoYmRf
c2FkMTZ4MzJfc3NlMjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmcgPSB2cHhfaGlnaGJkX3Nh
ZDE2eDMyX2F2Z19zc2UyOwotICB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkID0gdnB4X2hpZ2hiZF9z
YWQxNngzMng0ZF9zc2UyOwotICB2cHhfaGlnaGJkX3NhZDE2eDggPSB2cHhfaGlnaGJkX3NhZDE2
eDhfc3NlMjsKLSAgdnB4X2hpZ2hiZF9zYWQxNng4X2F2ZyA9IHZweF9oaWdoYmRfc2FkMTZ4OF9h
dmdfc3NlMjsKLSAgdnB4X2hpZ2hiZF9zYWQxNng4eDRkID0gdnB4X2hpZ2hiZF9zYWQxNng4eDRk
X3NzZTI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZDMyeDE2X3NzZTI7
Ci0gIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnID0gdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmdfc3Nl
MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZCA9IHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfc3Nl
MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngzMiA9IHZweF9oaWdoYmRfc2FkMzJ4MzJfc3NlMjsKLSAg
dnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcgPSB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19zc2UyOwot
ICB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkID0gdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9zc2UyOwot
ICB2cHhfaGlnaGJkX3NhZDMyeDY0ID0gdnB4X2hpZ2hiZF9zYWQzMng2NF9zc2UyOwotICB2cHhf
aGlnaGJkX3NhZDMyeDY0X2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnX3NzZTI7Ci0gIHZw
eF9oaWdoYmRfc2FkMzJ4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX3NzZTI7Ci0gIHZw
eF9oaWdoYmRfc2FkNjR4MzIgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX3NzZTI7Ci0gIHZweF9oaWdo
YmRfc2FkNjR4MzJfYXZnID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfc3NlMjsKLSAgdnB4X2hp
Z2hiZF9zYWQ2NHgzMng0ZCA9IHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfc3NlMjsKLSAgdnB4X2hp
Z2hiZF9zYWQ2NHg2NCA9IHZweF9oaWdoYmRfc2FkNjR4NjRfc3NlMjsKLSAgdnB4X2hpZ2hiZF9z
YWQ2NHg2NF9hdmcgPSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19zc2UyOwotICB2cHhfaGlnaGJk
X3NhZDY0eDY0eDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9zc2UyOwotICB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDE2ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9zc2UyOwotICB2cHhf
aGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9z
c2UyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
NngzMl9zc2UyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkID0gdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngzMng0ZF9zc2UyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDggPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzE2eDhfc3NlMjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRk
ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX3NzZTI7Ci0gIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MTYgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2X3NzZTI7Ci0gIHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX3NzZTI7Ci0g
IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX3Nz
ZTI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDMyeDRkX3NzZTI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQgPSB2cHhfaGlnaGJk
X3NhZF9za2lwXzMyeDY0X3NzZTI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGQgPSB2
cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX3NzZTI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBf
NjR4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX3NzZTI7Ci0gIHZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX3NzZTI7Ci0gIHZw
eF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X3NzZTI7
Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0
eDY0eDRkX3NzZTI7CiAgIHZweF9oaWdoYmRfc2F0ZCA9IHZweF9oaWdoYmRfc2F0ZF9jOwotICB2
cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrID0gdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9ja19jOwot
ICB2cHhfaWRjdDE2eDE2XzI1Nl9hZGQgPSB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfc3NlMjsKLSAg
dnB4X2lkY3QzMngzMl8xMDI0X2FkZCA9IHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfc3NlMjsKICAg
dnB4X2lkY3QzMngzMl8xMzVfYWRkID0gdnB4X2lkY3QzMngzMl8xMzVfYWRkX3NzZTI7CiAgIGlm
IChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cHhfaWRjdDMyeDMyXzEzNV9hZGQgPSB2cHhfaWRj
dDMyeDMyXzEzNV9hZGRfc3NzZTM7CkBAIC04NzU2LDI4ICs3ODc2LDU1IEBAIHN0YXRpYyB2b2lk
IHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfcXVhbnRpemVfYl8zMngzMiA9IHZw
eF9xdWFudGl6ZV9iXzMyeDMyX2M7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cHhf
cXVhbnRpemVfYl8zMngzMiA9IHZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2UzOworICB2cHhfc2Fk
MTZ4MTZ4MyA9IHZweF9zYWQxNngxNngzX2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAg
IHZweF9zYWQxNngxNngzID0gdnB4X3NhZDE2eDE2eDNfc3NlMzsKKyAgaWYgKGZsYWdzICYgSEFT
X1NTU0UzKQorICAgIHZweF9zYWQxNngxNngzID0gdnB4X3NhZDE2eDE2eDNfc3NzZTM7CisgIHZw
eF9zYWQxNngxNng4ID0gdnB4X3NhZDE2eDE2eDhfYzsKKyNpZm5kZWYgV0VCUlRDX1dFQktJVF9N
QUNfQ0FUQUxJU1QKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2FkMTZ4MTZ4
OCA9IHZweF9zYWQxNngxNng4X3NzZTRfMTsKKyNlbmRpZgorICB2cHhfc2FkMTZ4OHgzID0gdnB4
X3NhZDE2eDh4M19jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFMykKKyAgICB2cHhfc2FkMTZ4OHgz
ID0gdnB4X3NhZDE2eDh4M19zc2UzOworICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCisgICAgdnB4
X3NhZDE2eDh4MyA9IHZweF9zYWQxNng4eDNfc3NzZTM7CisgIHZweF9zYWQxNng4eDggPSB2cHhf
c2FkMTZ4OHg4X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisgICAgdnB4X3NhZDE2eDh4
OCA9IHZweF9zYWQxNng4eDhfc3NlNF8xOwogICB2cHhfc2FkMzJ4MTYgPSB2cHhfc2FkMzJ4MTZf
c3NlMjsKICAgdnB4X3NhZDMyeDE2X2F2ZyA9IHZweF9zYWQzMngxNl9hdmdfc3NlMjsKICAgdnB4
X3NhZDMyeDMyID0gdnB4X3NhZDMyeDMyX3NzZTI7CiAgIHZweF9zYWQzMngzMl9hdmcgPSB2cHhf
c2FkMzJ4MzJfYXZnX3NzZTI7CiAgIHZweF9zYWQzMngzMng0ZCA9IHZweF9zYWQzMngzMng0ZF9z
c2UyOworICB2cHhfc2FkMzJ4MzJ4OCA9IHZweF9zYWQzMngzMng4X2M7CiAgIHZweF9zYWQzMng2
NCA9IHZweF9zYWQzMng2NF9zc2UyOwogICB2cHhfc2FkMzJ4NjRfYXZnID0gdnB4X3NhZDMyeDY0
X2F2Z19zc2UyOworICB2cHhfc2FkNHg0eDMgPSB2cHhfc2FkNHg0eDNfYzsKKyAgaWYgKGZsYWdz
ICYgSEFTX1NTRTMpCisgICAgdnB4X3NhZDR4NHgzID0gdnB4X3NhZDR4NHgzX3NzZTM7CisgIHZw
eF9zYWQ0eDR4OCA9IHZweF9zYWQ0eDR4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQor
ICAgIHZweF9zYWQ0eDR4OCA9IHZweF9zYWQ0eDR4OF9zc2U0XzE7CiAgIHZweF9zYWQ2NHgzMiA9
IHZweF9zYWQ2NHgzMl9zc2UyOwogICB2cHhfc2FkNjR4MzJfYXZnID0gdnB4X3NhZDY0eDMyX2F2
Z19zc2UyOwogICB2cHhfc2FkNjR4NjQgPSB2cHhfc2FkNjR4NjRfc3NlMjsKICAgdnB4X3NhZDY0
eDY0X2F2ZyA9IHZweF9zYWQ2NHg2NF9hdmdfc3NlMjsKICAgdnB4X3NhZDY0eDY0eDRkID0gdnB4
X3NhZDY0eDY0eDRkX3NzZTI7Ci0gIHZweF9zYWRfc2tpcF8zMngxNiA9IHZweF9zYWRfc2tpcF8z
MngxNl9zc2UyOwotICB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfc2FkX3NraXBfMzJ4MTZ4
NGRfc3NlMjsKLSAgdnB4X3NhZF9za2lwXzMyeDMyID0gdnB4X3NhZF9za2lwXzMyeDMyX3NzZTI7
Ci0gIHZweF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9zYWRfc2tpcF8zMngzMng0ZF9zc2UyOwot
ICB2cHhfc2FkX3NraXBfMzJ4NjQgPSB2cHhfc2FkX3NraXBfMzJ4NjRfc3NlMjsKLSAgdnB4X3Nh
ZF9za2lwXzMyeDY0eDRkID0gdnB4X3NhZF9za2lwXzMyeDY0eDRkX3NzZTI7Ci0gIHZweF9zYWRf
c2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82NHgzMl9zc2UyOwotICB2cHhfc2FkX3NraXBfNjR4
MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfc3NlMjsKLSAgdnB4X3NhZF9za2lwXzY0eDY0
ID0gdnB4X3NhZF9za2lwXzY0eDY0X3NzZTI7Ci0gIHZweF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZw
eF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyOworICB2cHhfc2FkOHgxNngzID0gdnB4X3NhZDh4MTZ4
M19jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFMykKKyAgICB2cHhfc2FkOHgxNngzID0gdnB4X3Nh
ZDh4MTZ4M19zc2UzOworICB2cHhfc2FkOHgxNng4ID0gdnB4X3NhZDh4MTZ4OF9jOworICBpZiAo
ZmxhZ3MgJiBIQVNfU1NFNF8xKQorICAgIHZweF9zYWQ4eDE2eDggPSB2cHhfc2FkOHgxNng4X3Nz
ZTRfMTsKKyAgdnB4X3NhZDh4OHgzID0gdnB4X3NhZDh4OHgzX2M7CisgIGlmIChmbGFncyAmIEhB
U19TU0UzKQorICAgIHZweF9zYWQ4eDh4MyA9IHZweF9zYWQ4eDh4M19zc2UzOworICB2cHhfc2Fk
OHg4eDggPSB2cHhfc2FkOHg4eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2
cHhfc2FkOHg4eDggPSB2cHhfc2FkOHg4eDhfc3NlNF8xOwogICB2cHhfc2F0ZCA9IHZweF9zYXRk
X3NzZTI7CiAgIHZweF9zY2FsZWRfMmQgPSB2cHhfc2NhbGVkXzJkX2M7CiAgIGlmIChmbGFncyAm
IEhBU19TU1NFMykKQEAgLTg4NjAsNyArODAwNyw2IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2Rf
aW50ZXJuYWwodm9pZCkgewogICB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4ID0gdnB4X3N1Yl9w
aXhlbF92YXJpYW5jZTh4OF9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAgdnB4
X3N1Yl9waXhlbF92YXJpYW5jZTh4OCA9IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfc3NzZTM7
Ci0gIHZweF9zdWJ0cmFjdF9ibG9jayA9IHZweF9zdWJ0cmFjdF9ibG9ja19zc2UyOwogICB2cHhf
dmFyaWFuY2UxNngxNiA9IHZweF92YXJpYW5jZTE2eDE2X3NzZTI7CiAgIHZweF92YXJpYW5jZTE2
eDMyID0gdnB4X3ZhcmlhbmNlMTZ4MzJfc3NlMjsKICAgdnB4X3ZhcmlhbmNlMTZ4OCA9IHZweF92
YXJpYW5jZTE2eDhfc3NlMjsKQEAgLTg4NjksOSArODAxNSw2IEBAIHN0YXRpYyB2b2lkIHNldHVw
X3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfdmFyaWFuY2UzMng2NCA9IHZweF92YXJpYW5j
ZTMyeDY0X3NzZTI7CiAgIHZweF92YXJpYW5jZTY0eDMyID0gdnB4X3ZhcmlhbmNlNjR4MzJfc3Nl
MjsKICAgdnB4X3ZhcmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2NHg2NF9zc2UyOwotICB2cHhf
dmFyaWFuY2U4eDE2ID0gdnB4X3ZhcmlhbmNlOHgxNl9zc2UyOwotICB2cHhfdmFyaWFuY2U4eDQg
PSB2cHhfdmFyaWFuY2U4eDRfc3NlMjsKLSAgdnB4X3ZhcmlhbmNlOHg4ID0gdnB4X3ZhcmlhbmNl
OHg4X3NzZTI7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9uYWNsL3ZwOF9y
dGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnA4X3J0Y2QuaAppbmRleCA3NzE5ZTFjNGE2MTAuLmFh
NDc1YjU1ZmFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9uYWNsL3ZwOF9ydGNkLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9uYWNsL3ZwOF9ydGNkLmgKQEAgLTU5LDYgKzU5LDM2IEBAIHZvaWQgdnA4X2Jp
bGluZWFyX3ByZWRpY3Q4eDhfYyh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3RfcGl0Y2gpOwogI2RlZmluZSB2cDhfYmlsaW5lYXJf
cHJlZGljdDh4OCB2cDhfYmlsaW5lYXJfcHJlZGljdDh4OF9jCiAKK3ZvaWQgdnA4X2JsZW5kX2Jf
Yyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHUs
CisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAg
ICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisgICAgICAgICAgICAgICAg
ICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9iIHZwOF9ibGVuZF9iX2MKKwor
dm9pZCB2cDhfYmxlbmRfbWJfaW5uZXJfYyh1bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJf
aW5uZXIgdnA4X2JsZW5kX21iX2lubmVyX2MKKwordm9pZCB2cDhfYmxlbmRfbWJfb3V0ZXJfYyh1
bnNpZ25lZCBjaGFyKiB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy
KiB1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgdV8xLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
dHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfbWJfb3V0ZXIgdnA4X2JsZW5kX21iX291dGVyX2MK
KwogaW50IHZwOF9ibG9ja19lcnJvcl9jKHNob3J0KiBjb2VmZiwgc2hvcnQqIGRxY29lZmYpOwog
I2RlZmluZSB2cDhfYmxvY2tfZXJyb3IgdnA4X2Jsb2NrX2Vycm9yX2MKIApAQCAtMTc1LDYgKzIw
NSwxNyBAQCB2b2lkIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X2ModW5zaWduZWQgY2hhciogc3Jj
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2VpZ2h0KTsKICNkZWZp
bmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDggdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDhfYwogCitp
bnQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jKHN0cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGlu
dF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5pb24gaW50X212KiBjZW50ZXJfbXYpOworI2RlZmluZSB2cDhfZnVsbF9zZWFyY2hfc2FkIHZw
OF9mdWxsX3NlYXJjaF9zYWRfYworCiB2b2lkIHZwOF9sb29wX2ZpbHRlcl9iaF9jKHVuc2lnbmVk
IGNoYXIqIHlfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdl9wdHIsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbmFjbC92
cDlfcnRjZC5oCmluZGV4IGVlOTk0MGFjMTBkOS4uMDA5MTM5MzE0ODRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL25hY2wvdnA5X3J0Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnA5X3J0Y2Qu
aApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3QgbWFjcm9ibG9ja2Q7CiAKIC8qIEVuY29kZXIgZm9y
d2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3JvYmxvY2s7Ci1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwotc3RydWN0IFNjYW5PcmRlcjsKK3N0cnVjdCB2cDlf
dmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsKIHN0cnVjdCBtdjsK
IHVuaW9uIGludF9tdjsKQEAgLTU4LDEyICs1NiwxMSBAQCBpbnQgdnA5X2Rlbm9pc2VyX2ZpbHRl
cl9jKGNvbnN0IHVpbnQ4X3QqIHNpZywKIGludCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MoY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IG12KiByZWZfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHN0YXJ0X212X3NhZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0IG12KiBiZXN0X212LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNo
X3BhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbnVtMDAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5fcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJs
ZSogZm5fcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXYq
IGNlbnRlcl9tdik7CiAjZGVmaW5lIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5X2RpYW1vbmRf
c2VhcmNoX3NhZF9jCiAKQEAgLTE3NywyMyArMTc0LDI4IEBAIHZvaWQgdnA5X2hpZ2hiZF9wb3N0
X3Byb2NfZG93bl9hbmRfYWNyb3NzX2MoY29uc3QgdWludDE2X3QqIHNyY19wdHIsCiAKIHZvaWQg
dnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0
IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBz
Y2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4p
OwogI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBf
YwogCi12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYygKLSAgICBjb25zdCB0cmFu
X2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3Ry
dWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFj
b2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0
IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Cit2b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVf
ZnBfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9i
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzIgdnA5X2hpZ2hi
ZF9xdWFudGl6ZV9mcF8zMngzMl9jCiAKIHZvaWQgdnA5X2hpZ2hiZF90ZW1wb3JhbF9maWx0ZXJf
YXBwbHlfYyhjb25zdCB1aW50OF90KiBmcmFtZTEsCkBAIC0yMjgsMjIgKzIzMCwyOCBAQCB2b2lk
IHZwOV9paHQ4eDhfNjRfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZvaWQgdnA5
X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZwOV9xdWFudGl6ZV9mcCB2cDlfcXVhbnRp
emVfZnBfYwogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2Vm
ZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
X3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFu
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25z
dCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNj
YW4pOwogI2RlZmluZSB2cDlfcXVhbnRpemVfZnBfMzJ4MzIgdnA5X3F1YW50aXplX2ZwXzMyeDMy
X2MKIAogdm9pZCB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jKGNvbnN0IHN0cnVjdCB5djEy
X2J1ZmZlcl9jb25maWcqIHNyYywKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbmFjbC92cHhfY29u
ZmlnLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnB4X2NvbmZpZy5oCmluZGV4IGU1N2UwZmJmNmM4OC4u
ZmRkYjc2YmQyZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnB4X2NvbmZpZy5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvbmFjbC92cHhfY29uZmlnLmgKQEAgLTEyLDggKzEyLDYgQEAKICNkZWZp
bmUgSU5MSU5FICAgICAgaW5saW5lCiAjZGVmaW5lIFZQWF9BUkNIX0FSTSAwCiAjZGVmaW5lIEFS
Q0hfQVJNIDAKLSNkZWZpbmUgVlBYX0FSQ0hfQUFSQ0g2NCAwCi0jZGVmaW5lIEFSQ0hfQUFSQ0g2
NCAwCiAjZGVmaW5lIFZQWF9BUkNIX01JUFMgMAogI2RlZmluZSBBUkNIX01JUFMgMAogI2RlZmlu
ZSBWUFhfQVJDSF9YODYgMApAQCAtMjIsMTIgKzIwLDggQEAKICNkZWZpbmUgQVJDSF9YODZfNjQg
MAogI2RlZmluZSBWUFhfQVJDSF9QUEMgMAogI2RlZmluZSBBUkNIX1BQQyAwCi0jZGVmaW5lIFZQ
WF9BUkNIX0xPT05HQVJDSCAwCi0jZGVmaW5lIEFSQ0hfTE9PTkdBUkNIIDAKLSNkZWZpbmUgSEFW
RV9ORU9OX0FTTSAwCiAjZGVmaW5lIEhBVkVfTkVPTiAwCi0jZGVmaW5lIEhBVkVfTkVPTl9ET1RQ
Uk9EIDAKLSNkZWZpbmUgSEFWRV9ORU9OX0k4TU0gMAorI2RlZmluZSBIQVZFX05FT05fQVNNIDAK
ICNkZWZpbmUgSEFWRV9NSVBTMzIgMAogI2RlZmluZSBIQVZFX0RTUFIyIDAKICNkZWZpbmUgSEFW
RV9NU0EgMApAQCAtNDMsOCArMzcsNiBAQAogI2RlZmluZSBIQVZFX0FWWDUxMiAwCiAjZGVmaW5l
IEhBVkVfVlNYIDAKICNkZWZpbmUgSEFWRV9NTUkgMAotI2RlZmluZSBIQVZFX0xTWCAwCi0jZGVm
aW5lIEhBVkVfTEFTWCAwCiAjZGVmaW5lIEhBVkVfVlBYX1BPUlRTIDEKICNkZWZpbmUgSEFWRV9Q
VEhSRUFEX0ggMQogI2RlZmluZSBIQVZFX1VOSVNURF9IIDAKQEAgLTk3LDYgKzg5LDcgQEAKICNk
ZWZpbmUgQ09ORklHX01VTFRJX1JFU19FTkNPRElORyAxCiAjZGVmaW5lIENPTkZJR19URU1QT1JB
TF9ERU5PSVNJTkcgMQogI2RlZmluZSBDT05GSUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORyAxCisj
ZGVmaW5lIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSAwCiAjZGVmaW5lIENPTkZJR19DT0VGRklD
SUVOVF9SQU5HRV9DSEVDS0lORyAwCiAjZGVmaW5lIENPTkZJR19WUDlfSElHSEJJVERFUFRIIDEK
ICNkZWZpbmUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZIDAKQEAgLTEwOSw3ICsxMDIs
NiBAQAogI2RlZmluZSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAwCiAjZGVmaW5lIENPTkZJR19O
T05fR1JFRURZX01WIDAKICNkZWZpbmUgQ09ORklHX1JBVEVfQ1RSTCAwCi0jZGVmaW5lIENPTkZJ
R19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgMAogI2RlZmluZSBERUNPREVfV0lEVEhfTElNSVQg
MTYzODQKICNkZWZpbmUgREVDT0RFX0hFSUdIVF9MSU1JVCAxNjM4NAogI2VuZGlmIC8qIFZQWF9D
T05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9uYWNsL3ZweF9kc3BfcnRjZC5oIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9uYWNsL3ZweF9kc3BfcnRjZC5oCmluZGV4IDZiNzU2MjE4MTcwZS4uOGJhNGQ4
ODA1NWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL25hY2wvdnB4X2RzcF9ydGNkLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy9uYWNsL3ZweF9kc3BfcnRjZC5oCkBAIC0xNSwxMCArMTUsNiBAQAogI2luY2x1
ZGUgInZweC92cHhfaW50ZWdlci5oIgogI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9jb21tb24u
aCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9maWx0ZXIuaCIKLSNpZiBDT05GSUdfVlA5X0VOQ09E
RVIKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IFNjYW5PcmRlcjsKLSNlbmRpZgog
CiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewpAQCAtMjQxOCwyMiArMjQxNCwzMiBA
QCB2b2lkIHZweF9oaWdoYmRfbWlubWF4Xzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHM4LAogCiB2b2lk
IHZweF9oaWdoYmRfcXVhbnRpemVfYl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBt
Yl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmlu
ZSB2cHhfaGlnaGJkX3F1YW50aXplX2IgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MKIAotdm9pZCB2
cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYygKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5l
LAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9w
dHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Cit2b2lk
IHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHF1YW50X3NoaWZ0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfaGlnaGJkX3F1
YW50aXplX2JfMzJ4MzIgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2MKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjQ1
MSw5ICsyNDU3LDkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZCB2cHhfaGlnaGJkX3Nh
ZDE2eDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLApAQCAtMjQ3MSw5ICsyNDc3LDkgQEAgdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhf
aGlnaGJkX3NhZDE2eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQxNngzMng0ZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0yNDkxLDkgKzI0OTcs
OSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQxNng4eDRkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9jCiAKIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAg
LTI1MTEsOSArMjUxNyw5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQgdnB4X2hpZ2hi
ZF9zYWQzMngxNng0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDMyX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTI1MzEsOSArMjUzNyw5IEBAIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQg
dnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdo
YmRfc2FkMzJ4MzJ4NGQgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9jCiAKIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTI1NTEsOSAr
MjU1Nyw5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgdnB4X2hpZ2hiZF9zYWQzMng2
NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCkBAIC0yNTcxLDkgKzI1NzcsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ0eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3Nh
ZDR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0eDRkIHZweF9oaWdoYmRfc2Fk
NHg0eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKQEAgLTI1OTEsOSArMjU5Nyw5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDR4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRf
c2FkNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ0eDh4NGQgdnB4X2hpZ2hiZF9z
YWQ0eDh4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCkBAIC0yNjExLDkgKzI2MTcsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQ2NHgzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9o
aWdoYmRfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZDY0eDMyeDRkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0yNjMxLDkgKzI2Mzcs
OSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkIHZweF9oaWdoYmRfc2FkNjR4NjR4NGRf
YwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKQEAgLTI2NTEsOSArMjY1Nyw5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4
MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDh4
MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4MTZ4NGQgdnB4X2hpZ2hi
ZF9zYWQ4eDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKQEAgLTI2NzEsOSArMjY3Nyw5IEBAIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDh4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9o
aWdoYmRfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDR4NGQgdnB4X2hp
Z2hiZF9zYWQ4eDR4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjY5MSwxODAgKzI2OTcsMTEgQEAgdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkOHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQg
dnB4X2hpZ2hiZF9zYWQ4eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4OHg0ZCB2
cHhfaGlnaGJkX3NhZDh4OHg0ZF9jCiAKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2MKLQotdm9p
ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkIHZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4MzIgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9jCi0KLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDMyeDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3Nr
aXBfMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4OCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhfYwotCi12b2lkIHZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNng4eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDE2IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYwotCi12b2lkIHZweF9oaWdo
YmRfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8zMngxNng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMngzMiB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2MKLQotdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MzJ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4NjQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9jCi0KLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDY0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tp
cF80eDQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDRfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3Nr
aXBfNHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF80eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGRfYwotCi11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OCB2cHhfaGlnaGJkX3NhZF9za2lw
XzR4OF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZCB2cHhfaGln
aGJkX3NhZF9za2lwXzR4OHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lw
XzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWRfc2tpcF82NHgzMiB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX2MKLQotdm9p
ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkIHZweF9oaWdo
YmRfc2FkX3NraXBfNjR4MzJ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9jCi0KLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZCB2cHhfaGln
aGJkX3NhZF9za2lwXzY0eDY0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3Nr
aXBfOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfc2FkX3NraXBfOHgxNiB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZfYwotCi12b2lkIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF84eDE2eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDRfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
OHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWRfc2tpcF84eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYwotCi11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
OF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4OHg0ZF9jCi0KIGludCB2cHhfaGlnaGJkX3NhdGRfYyhjb25zdCB0cmFuX2xv
d190KiBjb2VmZiwgaW50IGxlbmd0aCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2F0ZCB2cHhfaGln
aGJkX3NhdGRfYwogCkBAIC0yOTgzLDcgKzI4MjAsNyBAQCB2b2lkIHZweF9pZGN0OHg4XzY0X2Fk
ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3RyaWRlKTsK
IGludDE2X3QgdnB4X2ludF9wcm9fY29sX2MoY29uc3QgdWludDhfdCogcmVmLCBjb25zdCBpbnQg
d2lkdGgpOwogI2RlZmluZSB2cHhfaW50X3Byb19jb2wgdnB4X2ludF9wcm9fY29sX2MKIAotdm9p
ZCB2cHhfaW50X3Byb19yb3dfYyhpbnQxNl90IGhidWZbMTZdLAordm9pZCB2cHhfaW50X3Byb19y
b3dfYyhpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KTsKQEAgLTMxNjIsMjEgKzI5OTks
MzIgQEAgdm9pZCB2cHhfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19tYl9yb3dfYyh1bnNpZ25l
ZCBjaGFyKiBzcmMsCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfYyhjb25zdCB0cmFuX2xvd190KiBj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1i
X3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBpc2Nhbik7CiAjZGVmaW5lIHZweF9xdWFudGl6ZV9iIHZweF9xdWFudGl6
ZV9iX2MKIAogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNv
ZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9i
bG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBf
YmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKICNkZWZpbmUg
dnB4X3F1YW50aXplX2JfMzJ4MzIgdnB4X3F1YW50aXplX2JfMzJ4MzJfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X3NhZDE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTMxOTIsMTMgKzMw
NDAsMjcgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9hdmdfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQxNngxNl9hdmcgdnB4X3NhZDE2eDE2X2F2Z19j
CiAKK3ZvaWQgdnB4X3NhZDE2eDE2eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5l
IHZweF9zYWQxNngxNngzIHZweF9zYWQxNngxNngzX2MKKwogdm9pZCB2cHhfc2FkMTZ4MTZ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMTZ4MTZ4NGQg
dnB4X3NhZDE2eDE2eDRkX2MKIAordm9pZCB2cHhfc2FkMTZ4MTZ4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2eDggdnB4X3NhZDE2eDE2eDhfYworCiB1bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAtMzIxNCw5ICszMDc2LDkgQEAgdW5z
aWduZWQgaW50IHZweF9zYWQxNngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2
b2lkIHZweF9zYWQxNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVm
aW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4
X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMzIzMiwxMyArMzA5NCwyNyBA
QCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7CiAjZGVmaW5lIHZweF9zYWQxNng4X2F2ZyB2cHhfc2FkMTZ4OF9hdmdfYwogCit2b2lkIHZw
eF9zYWQxNng4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDh4MyB2
cHhfc2FkMTZ4OHgzX2MKKwogdm9pZCB2cHhfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX2MKIAordm9pZCB2
cHhfc2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDgg
dnB4X3NhZDE2eDh4OF9jCisKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCkBA
IC0zMjU0LDkgKzMxMzAsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDE2X2F2Z19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMyeDE2eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDMyeDE2eDRkIHZweF9zYWQzMngxNng0
ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LApAQCAtMzI3NCwxMSArMzE1MCwxOCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDMyX2F2Z19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMyeDMyeDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDMyeDMyeDRkIHZweF9zYWQz
MngzMng0ZF9jCiAKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9zYWQzMngzMng4IHZweF9zYWQzMngzMng4X2MKKwogdW5zaWduZWQgaW50
IHZweF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTMyOTQsOSArMzE3Nyw5IEBAIHVuc2lnbmVkIGlu
dCB2cHhfc2FkMzJ4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhf
c2FkMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhf
c2FkMzJ4NjR4NGQgdnB4X3NhZDMyeDY0eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQ0eDRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMzMxMiwxMyArMzE5NSwyNyBAQCB1bnNpZ25l
ZCBpbnQgdnB4X3NhZDR4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmlu
ZSB2cHhfc2FkNHg0X2F2ZyB2cHhfc2FkNHg0X2F2Z19jCiAKK3ZvaWQgdnB4X3NhZDR4NHgzX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDR4NHgzIHZweF9zYWQ0eDR4M19jCisKIHZv
aWQgdnB4X3NhZDR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0eDR4
NGQgdnB4X3NhZDR4NHg0ZF9jCiAKK3ZvaWQgdnB4X3NhZDR4NHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
KyNkZWZpbmUgdnB4X3NhZDR4NHg4IHZweF9zYWQ0eDR4OF9jCisKIHVuc2lnbmVkIGludCB2cHhf
c2FkNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCkBAIC0zMzM0LDkgKzMyMzEsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4
OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ0eDh4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNHg4eDRkIHZweF9zYWQ0eDh4NGRfYwog
CiB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAg
LTMzNTQsOSArMzI1MSw5IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkNjR4MzJ4NGQgdnB4X3NhZDY0eDMyeDRk
X2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CkBAIC0zMzc0LDkgKzMyNzEsOSBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0X2F2Z19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDY0eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10s
CiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDY0eDY0eDRkIHZweF9zYWQ2NHg2
NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCkBAIC0zMzkyLDEzICszMjg5LDI3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDh4MTZfYXZnIHZw
eF9zYWQ4eDE2X2F2Z19jCiAKK3ZvaWQgdnB4X3NhZDh4MTZ4M19jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OworI2RlZmluZSB2cHhfc2FkOHgxNngzIHZweF9zYWQ4eDE2eDNfYworCiB2b2lkIHZweF9zYWQ4
eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4MTZ4NGQg
dnB4X3NhZDh4MTZ4NGRfYwogCit2b2lkIHZweF9zYWQ4eDE2eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKKyNkZWZpbmUgdnB4X3NhZDh4MTZ4OCB2cHhfc2FkOHgxNng4X2MKKwogdW5zaWduZWQgaW50
IHZweF9zYWQ4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKQEAgLTM0MTQsOSArMzMyNSw5IEBAIHVuc2lnbmVkIGludCB2cHhf
c2FkOHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDh4NHg0
ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3NhZDh4NHg0
ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
QEAgLTM0MzIsMTgxICszMzQzLDI2IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkOHg4X2F2Z19jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQ4eDhfYXZnIHZweF9zYWQ4
eDhfYXZnX2MKIAordm9pZCB2cHhfc2FkOHg4eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2
cHhfc2FkOHg4eDMgdnB4X3NhZDh4OHgzX2MKKwogdm9pZCB2cHhfc2FkOHg4eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhfc2FkOHg4eDRkX2MKIAotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF8xNngxNiB2cHhfc2FkX3NraXBfMTZ4MTZfYwotCi12b2lkIHZweF9zYWRfc2tp
cF8xNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MTZ4NGQgdnB4X3Nh
ZF9za2lwXzE2eDE2eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngzMl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngzMiB2cHhfc2FkX3NraXBfMTZ4
MzJfYwotCi12b2lkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhf
c2FkX3NraXBfMTZ4MzJ4NGQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2MKLQotdW5zaWduZWQgaW50
IHZweF9zYWRfc2tpcF8xNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2
eDggdnB4X3NhZF9za2lwXzE2eDhfYwotCi12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDh4NGQgdnB4X3NhZF9za2lwXzE2eDh4NGRfYwotCi11
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X3NhZF9za2lwXzMyeDE2IHZweF9zYWRfc2tpcF8zMngxNl9jCi0KLXZvaWQgdnB4X3NhZF9z
a2lwXzMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8zMngxNng0ZCB2cHhf
c2FkX3NraXBfMzJ4MTZ4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzMyeDMyIHZweF9zYWRfc2tpcF8z
MngzMl9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF8zMngzMng0ZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYwotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZF9za2lwXzMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9z
a2lwXzMyeDY0IHZweF9zYWRfc2tpcF8zMng2NF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8zMng2NHg0ZCB2cHhfc2FkX3NraXBf
MzJ4NjR4NGRfYwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzR4NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0j
ZGVmaW5lIHZweF9zYWRfc2tpcF80eDQgdnB4X3NhZF9za2lwXzR4NF9jCi0KLXZvaWQgdnB4X3Nh
ZF9za2lwXzR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4NHg0ZCB2cHhfc2FkX3NraXBf
NHg0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfNHg4IHZweF9zYWRfc2tpcF80eDhfYwotCi12b2lkIHZweF9zYWRf
c2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDh4NGQgdnB4X3NhZF9za2lwXzR4
OHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4MzIgdnB4X3NhZF9za2lwXzY0eDMyX2MKLQotdm9p
ZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzY0
eDMyeDRkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNjR4NjQgdnB4
X3NhZF9za2lwXzY0eDY0X2MKLQotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X3NhZF9za2lwXzY0eDY0eDRkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9jCi0K
LXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF84eDE2IHZweF9zYWRfc2tpcF84eDE2X2MKLQotdm9pZCB2cHhfc2FkX3NraXBf
OHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDE2eDRkIHZweF9zYWRfc2tpcF84
eDE2eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2Rl
ZmluZSB2cHhfc2FkX3NraXBfOHg0IHZweF9zYWRfc2tpcF84eDRfYwotCi12b2lkIHZweF9zYWRf
c2tpcF84eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDR4NGQgdnB4X3NhZF9za2lwXzh4
NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X3NhZF9za2lwXzh4OCB2cHhfc2FkX3NraXBfOHg4X2MKLQotdm9pZCB2cHhfc2FkX3Nr
aXBfOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg4eDRkIHZweF9zYWRfc2tpcF84eDh4
NGRfYwordm9pZCB2cHhfc2FkOHg4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2Fk
OHg4eDggdnB4X3NhZDh4OHg4X2MKIAogaW50IHZweF9zYXRkX2MoY29uc3QgdHJhbl9sb3dfdCog
Y29lZmYsIGludCBsZW5ndGgpOwogI2RlZmluZSB2cHhfc2F0ZCB2cHhfc2F0ZF9jCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvY29uZmlnL3ZweF92ZXJzaW9uLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3ZweF92ZXJzaW9uLmgK
aW5kZXggZmRlZjAwNzZiMDgxLi5kMmJkYTVhZmM5YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcv
dnB4X3ZlcnNpb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3ZweF92ZXJzaW9uLmgKQEAgLTEsOSArMSw5
IEBACiAvLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkLiBEbyBub3QgZWRpdC4KICNkZWZpbmUgVkVS
U0lPTl9NQUpPUiAxCi0jZGVmaW5lIFZFUlNJT05fTUlOT1IgMTMKLSNkZWZpbmUgVkVSU0lPTl9Q
QVRDSCAxCi0jZGVmaW5lIFZFUlNJT05fRVhUUkEgIjUwMC1nNDI0NzIzZGMwIgorI2RlZmluZSBW
RVJTSU9OX01JTk9SIDkKKyNkZWZpbmUgVkVSU0lPTl9QQVRDSCAwCisjZGVmaW5lIFZFUlNJT05f
RVhUUkEgIjE0Ny1nNjFlZGVjMWVmIgogI2RlZmluZSBWRVJTSU9OX1BBQ0tFRCBcCiAgICgoVkVS
U0lPTl9NQUpPUiA8PCAxNikgfCAoVkVSU0lPTl9NSU5PUiA8PCA4KSB8IChWRVJTSU9OX1BBVENI
KSkKLSNkZWZpbmUgVkVSU0lPTl9TVFJJTkdfTk9TUCAidjEuMTMuMS01MDAtZzQyNDcyM2RjMCIK
LSNkZWZpbmUgVkVSU0lPTl9TVFJJTkcgIiB2MS4xMy4xLTUwMC1nNDI0NzIzZGMwIgorI2RlZmlu
ZSBWRVJTSU9OX1NUUklOR19OT1NQICJ2MS45LjAtMTQ3LWc2MWVkZWMxZWYiCisjZGVmaW5lIFZF
UlNJT05fU1RSSU5HICIgdjEuOS4wLTE0Ny1nNjFlZGVjMWVmIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2Nv
bmZpZy93aW4vYXJtNjQtaGlnaGJkL3ZweF9jb25maWcuYXNtIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJt
NjQtaGlnaGJkL3ZweF9jb25maWcuYXNtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
ZGIyZmQ0OTUzYzYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9hcm02NC1oaWdo
YmQvdnB4X2NvbmZpZy5hc20KKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotQCBUaGlz
IGZpbGUgd2FzIGNyZWF0ZWQgZnJvbSBhIC5hc20gZmlsZQotQCAgdXNpbmcgdGhlIGFkczJnYXNf
YXBwbGUucGwgc2NyaXB0LgotCi0uc3ludGF4IHVuaWZpZWQKLS5lcXUgVlBYX0FSQ0hfQVJNICwg
IDEKLS5lcXUgQVJDSF9BUk0gLCAgMQotLmVxdSBWUFhfQVJDSF9BQVJDSDY0ICwgIDEKLS5lcXUg
QVJDSF9BQVJDSDY0ICwgIDEKLS5lcXUgVlBYX0FSQ0hfTUlQUyAsICAwCi0uZXF1IEFSQ0hfTUlQ
UyAsICAwCi0uZXF1IFZQWF9BUkNIX1g4NiAsICAwCi0uZXF1IEFSQ0hfWDg2ICwgIDAKLS5lcXUg
VlBYX0FSQ0hfWDg2XzY0ICwgIDAKLS5lcXUgQVJDSF9YODZfNjQgLCAgMAotLmVxdSBWUFhfQVJD
SF9QUEMgLCAgMAotLmVxdSBBUkNIX1BQQyAsICAwCi0uZXF1IFZQWF9BUkNIX0xPT05HQVJDSCAs
ICAwCi0uZXF1IEFSQ0hfTE9PTkdBUkNIICwgIDAKLS5lcXUgSEFWRV9ORU9OX0FTTSAsICAwCi0u
ZXF1IEhBVkVfTkVPTiAsICAxCi0uZXF1IEhBVkVfTkVPTl9ET1RQUk9EICwgIDEKLS5lcXUgSEFW
RV9ORU9OX0k4TU0gLCAgMQotLmVxdSBIQVZFX01JUFMzMiAsICAwCi0uZXF1IEhBVkVfRFNQUjIg
LCAgMAotLmVxdSBIQVZFX01TQSAsICAwCi0uZXF1IEhBVkVfTUlQUzY0ICwgIDAKLS5lcXUgSEFW
RV9NTVggLCAgMAotLmVxdSBIQVZFX1NTRSAsICAwCi0uZXF1IEhBVkVfU1NFMiAsICAwCi0uZXF1
IEhBVkVfU1NFMyAsICAwCi0uZXF1IEhBVkVfU1NTRTMgLCAgMAotLmVxdSBIQVZFX1NTRTRfMSAs
ICAwCi0uZXF1IEhBVkVfQVZYICwgIDAKLS5lcXUgSEFWRV9BVlgyICwgIDAKLS5lcXUgSEFWRV9B
Vlg1MTIgLCAgMAotLmVxdSBIQVZFX1ZTWCAsICAwCi0uZXF1IEhBVkVfTU1JICwgIDAKLS5lcXUg
SEFWRV9MU1ggLCAgMAotLmVxdSBIQVZFX0xBU1ggLCAgMAotLmVxdSBIQVZFX1ZQWF9QT1JUUyAs
ICAxCi0uZXF1IEhBVkVfUFRIUkVBRF9IICwgIDAKLS5lcXUgSEFWRV9VTklTVERfSCAsICAwCi0u
ZXF1IENPTkZJR19ERVBFTkRFTkNZX1RSQUNLSU5HICwgIDEKLS5lcXUgQ09ORklHX0VYVEVSTkFM
X0JVSUxEICwgIDEKLS5lcXUgQ09ORklHX0lOU1RBTExfRE9DUyAsICAwCi0uZXF1IENPTkZJR19J
TlNUQUxMX0JJTlMgLCAgMQotLmVxdSBDT05GSUdfSU5TVEFMTF9MSUJTICwgIDEKLS5lcXUgQ09O
RklHX0lOU1RBTExfU1JDUyAsICAwCi0uZXF1IENPTkZJR19ERUJVRyAsICAwCi0uZXF1IENPTkZJ
R19HUFJPRiAsICAwCi0uZXF1IENPTkZJR19HQ09WICwgIDAKLS5lcXUgQ09ORklHX1JWQ1QgLCAg
MAotLmVxdSBDT05GSUdfR0NDICwgIDAKLS5lcXUgQ09ORklHX01TVlMgLCAgMQotLmVxdSBDT05G
SUdfUElDICwgIDAKLS5lcXUgQ09ORklHX0JJR19FTkRJQU4gLCAgMAotLmVxdSBDT05GSUdfQ09E
RUNfU1JDUyAsICAwCi0uZXF1IENPTkZJR19ERUJVR19MSUJTICwgIDAKLS5lcXUgQ09ORklHX0RF
UVVBTlRfVE9LRU5TICwgIDAKLS5lcXUgQ09ORklHX0RDX1JFQ09OICwgIDAKLS5lcXUgQ09ORklH
X1JVTlRJTUVfQ1BVX0RFVEVDVCAsICAxCi0uZXF1IENPTkZJR19QT1NUUFJPQyAsICAxCi0uZXF1
IENPTkZJR19WUDlfUE9TVFBST0MgLCAgMQotLmVxdSBDT05GSUdfTVVMVElUSFJFQUQgLCAgMQot
LmVxdSBDT05GSUdfSU5URVJOQUxfU1RBVFMgLCAgMAotLmVxdSBDT05GSUdfVlA4X0VOQ09ERVIg
LCAgMQotLmVxdSBDT05GSUdfVlA4X0RFQ09ERVIgLCAgMQotLmVxdSBDT05GSUdfVlA5X0VOQ09E
RVIgLCAgMQotLmVxdSBDT05GSUdfVlA5X0RFQ09ERVIgLCAgMQotLmVxdSBDT05GSUdfVlA4ICwg
IDEKLS5lcXUgQ09ORklHX1ZQOSAsICAxCi0uZXF1IENPTkZJR19FTkNPREVSUyAsICAxCi0uZXF1
IENPTkZJR19ERUNPREVSUyAsICAxCi0uZXF1IENPTkZJR19TVEFUSUNfTVNWQ1JUICwgIDAKLS5l
cXUgQ09ORklHX1NQQVRJQUxfUkVTQU1QTElORyAsICAxCi0uZXF1IENPTkZJR19SRUFMVElNRV9P
TkxZICwgIDEKLS5lcXUgQ09ORklHX09OVEhFRkxZX0JJVFBBQ0tJTkcgLCAgMAotLmVxdSBDT05G
SUdfRVJST1JfQ09OQ0VBTE1FTlQgLCAgMAotLmVxdSBDT05GSUdfU0hBUkVEICwgIDAKLS5lcXUg
Q09ORklHX1NUQVRJQyAsICAxCi0uZXF1IENPTkZJR19TTUFMTCAsICAwCi0uZXF1IENPTkZJR19Q
T1NUUFJPQ19WSVNVQUxJWkVSICwgIDAKLS5lcXUgQ09ORklHX09TX1NVUFBPUlQgLCAgMQotLmVx
dSBDT05GSUdfVU5JVF9URVNUUyAsICAxCi0uZXF1IENPTkZJR19XRUJNX0lPICwgIDEKLS5lcXUg
Q09ORklHX0xJQllVViAsICAwCi0uZXF1IENPTkZJR19ERUNPREVfUEVSRl9URVNUUyAsICAwCi0u
ZXF1IENPTkZJR19FTkNPREVfUEVSRl9URVNUUyAsICAwCi0uZXF1IENPTkZJR19NVUxUSV9SRVNf
RU5DT0RJTkcgLCAgMQotLmVxdSBDT05GSUdfVEVNUE9SQUxfREVOT0lTSU5HICwgIDEKLS5lcXUg
Q09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgLCAgMQotLmVxdSBDT05GSUdfQ09FRkZJQ0lF
TlRfUkFOR0VfQ0hFQ0tJTkcgLCAgMAotLmVxdSBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAsICAx
Ci0uZXF1IENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElUWSAsICAwCi0uZXF1IENPTkZJR19F
WFBFUklNRU5UQUwgLCAgMAotLmVxdSBDT05GSUdfU0laRV9MSU1JVCAsICAxCi0uZXF1IENPTkZJ
R19BTFdBWVNfQURKVVNUX0JQTSAsICAwCi0uZXF1IENPTkZJR19CSVRTVFJFQU1fREVCVUcgLCAg
MAotLmVxdSBDT05GSUdfTUlTTUFUQ0hfREVCVUcgLCAgMAotLmVxdSBDT05GSUdfRlBfTUJfU1RB
VFMgLCAgMAotLmVxdSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAsICAwCi0uZXF1IENPTkZJR19O
T05fR1JFRURZX01WICwgIDAKLS5lcXUgQ09ORklHX1JBVEVfQ1RSTCAsICAwCi0uZXF1IENPTkZJ
R19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgLCAgMAotLmVxdSBERUNPREVfV0lEVEhfTElNSVQg
LCAgMTYzODQKLS5lcXUgREVDT0RFX0hFSUdIVF9MSU1JVCAsICAxNjM4NApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy93aW4vYXJtNjQtaGlnaGJkL3ZwOF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9h
cm02NC92cDhfcnRjZC5oCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIFNvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25m
aWcvd2luL2FybTY0LWhpZ2hiZC92cDhfcnRjZC5oCnJlbmFtZSB0byBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9h
cm02NC92cDhfcnRjZC5oCmluZGV4IDEwMjUwMTA5NDI1NC4uYzRiYjQxYjIxMjcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvY29uZmlnL3dpbi9hcm02NC1oaWdoYmQvdnA4X3J0Y2QuaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL3dpbi9hcm02NC92cDhfcnRjZC5oCkBAIC04Myw2ICs4MywzNiBAQCB2b2lkIHZwOF9iaWxp
bmVhcl9wcmVkaWN0OHg4X25lb24odW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKICNkZWZpbmUgdnA4X2JpbGlu
ZWFyX3ByZWRpY3Q4eDggdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDhfbmVvbgogCit2b2lkIHZwOF9i
bGVuZF9iX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBj
aGFyKiB1LAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAg
ICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAg
ICAgICAgICAgIGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAg
ICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cDhfYmxlbmRfYiB2cDhfYmxlbmRf
Yl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX2lubmVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhh
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2Js
ZW5kX21iX2lubmVyIHZwOF9ibGVuZF9tYl9pbm5lcl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX291
dGVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX291dGVyIHZwOF9ibGVuZF9tYl9v
dXRlcl9jCisKIGludCB2cDhfYmxvY2tfZXJyb3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNv
ZWZmKTsKICNkZWZpbmUgdnA4X2Jsb2NrX2Vycm9yIHZwOF9ibG9ja19lcnJvcl9jCiAKQEAgLTI0
OSw2ICsyNzksMTcgQEAgdm9pZCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9jKHVuc2lnbmVkIGNo
YXIqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dlaWdodCk7
CiAjZGVmaW5lIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4IHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4
X2MKIAoraW50IHZwOF9mdWxsX3NlYXJjaF9zYWRfYyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgYmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1
bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9w
ZXJfYml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuaW9uIGludF9tdiogY2VudGVyX212KTsKKyNkZWZpbmUgdnA4X2Z1bGxfc2VhcmNo
X3NhZCB2cDhfZnVsbF9zZWFyY2hfc2FkX2MKKwogdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfYyh1
bnNpZ25lZCBjaGFyKiB5X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogdV9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHZf
cHRyLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJtNjQtaGlnaGJkL3ZwOV9ydGNkLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL3dpbi9hcm02NC92cDlfcnRjZC5oCnNpbWlsYXJpdHkgaW5kZXggNzAlCnJl
bmFtZSBmcm9tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0LWhpZ2hiZC92cDlfcnRjZC5oCnJlbmFtZSB0
byBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL3dpbi9hcm02NC92cDlfcnRjZC5oCmluZGV4IGU2NGNiMmMzNWFlNC4uY2E3
NDBmNDQwZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9hcm02NC1oaWdoYmQvdnA5X3J0
Y2QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9hcm02NC92cDlfcnRjZC5oCkBAIC0yMSw5ICsyMSw3
IEBAIHN0cnVjdCBtYWNyb2Jsb2NrZDsKIAogLyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCiBz
dHJ1Y3QgbWFjcm9ibG9jazsKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9z
YWRfdGFibGU7Ci1zdHJ1Y3QgU2Nhbk9yZGVyOworc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGU7
CiBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnOwogc3RydWN0IG12OwogdW5pb24gaW50X212OwpA
QCAtMzcsMTkgKzM1LDEyIEBAIGludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2MoY29uc3QgdHJhbl9s
b3dfdCogY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5fbG93X3Qq
IGRxY29lZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IGJsb2NrX3NpemUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqIHNzeik7Ci1pbnQ2NF90IHZwOV9i
bG9ja19lcnJvcl9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB0cmFuX2xvd190KiBkcWNvZWZmLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBibG9ja19zaXplLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQ2NF90KiBzc3opOwotI2RlZmluZSB2cDlfYmxvY2tfZXJyb3IgdnA5X2Jsb2Nr
X2Vycm9yX25lb24KKyNkZWZpbmUgdnA5X2Jsb2NrX2Vycm9yIHZwOV9ibG9ja19lcnJvcl9jCiAK
IGludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBibG9ja19zaXplKTsKLWludDY0X3QgdnA5
X2Jsb2NrX2Vycm9yX2ZwX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5fbG93X3QqIGRxY29lZmYsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBibG9ja19zaXplKTsKLSNkZWZpbmUgdnA5X2Js
b2NrX2Vycm9yX2ZwIHZwOV9ibG9ja19lcnJvcl9mcF9uZW9uCisjZGVmaW5lIHZwOV9ibG9ja19l
cnJvcl9mcCB2cDlfYmxvY2tfZXJyb3JfZnBfYwogCiBpbnQgdnA5X2Rlbm9pc2VyX2ZpbHRlcl9j
KGNvbnN0IHVpbnQ4X3QqIHNpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNpZ19z
dHJpZGUsCkBAIC03NCw1NCArNjUsMzEgQEAgaW50IHZwOV9kZW5vaXNlcl9maWx0ZXJfbmVvbihj
b25zdCB1aW50OF90KiBzaWcsCiBpbnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jKGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrKiB4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3Qgc2VhcmNoX3NpdGVfY29uZmlnKiBjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0cnVjdCBtdiogcmVmX212LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzdGFydF9tdl9zYWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBt
diogYmVzdF9tdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlYXJjaF9wYXJh
bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG51bTAwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJsZSogc2FkX2ZuX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGUqIGZu
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50
ZXJfbXYpOwotaW50IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVvbihjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9jayogeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgbXYqIHJlZl9tdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc3RhcnRfbXZfc2FkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgbXYqIGJlc3RfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWFy
Y2hfcGFyYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2Jp
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBudW0wMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZwOV9zYWRfdGFibGUqIHNhZF9m
bl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtdiog
Y2VudGVyX212KTsKLSNkZWZpbmUgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9uZF9z
ZWFyY2hfc2FkX25lb24KKyNkZWZpbmUgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCB2cDlfZGlhbW9u
ZF9zZWFyY2hfc2FkX2MKIAogdm9pZCB2cDlfZmh0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1
dCwKICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAg
ICAgICAgICBpbnQgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci12
b2lkIHZwOV9maHQxNngxNl9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUg
dnA5X2ZodDE2eDE2IHZwOV9maHQxNngxNl9uZW9uCisjZGVmaW5lIHZwOV9maHQxNngxNiB2cDlf
Zmh0MTZ4MTZfYwogCiB2b2lkIHZwOV9maHQ0eDRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKICAgICAgICAgICAgICAgICAgIGlu
dCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci12b2lkIHZwOV9maHQ0
eDRfbmVvbihjb25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9maHQ0eDQgdnA5X2ZodDR4
NF9uZW9uCisjZGVmaW5lIHZwOV9maHQ0eDQgdnA5X2ZodDR4NF9jCiAKIHZvaWQgdnA5X2ZodDh4
OF9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
b3V0cHV0LAogICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKICAgICAgICAgICAgICAgICAg
IGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2ZodDh4OF9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0
LAotICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAg
ICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsK
LSNkZWZpbmUgdnA5X2ZodDh4OCB2cDlfZmh0OHg4X25lb24KKyNkZWZpbmUgdnA5X2ZodDh4OCB2
cDlfZmh0OHg4X2MKIAogdm9pZCB2cDlfZmlsdGVyX2J5X3dlaWdodDE2eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC0xNDUsNDIgKzExMywyNSBAQCBpbnQ2NF90IHZwOV9oaWdoYmRfYmxvY2tfZXJyb3Jf
Yyhjb25zdCB0cmFuX2xvd190KiBjb2VmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IGJsb2NrX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQ2NF90KiBzc3osCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQp
OwotaW50NjRfdCB2cDlfaGlnaGJkX2Jsb2NrX2Vycm9yX25lb24oY29uc3QgdHJhbl9sb3dfdCog
Y29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2xv
d190KiBkcWNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRy
X3QgYmxvY2tfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0
X3QqIHNzeiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0j
ZGVmaW5lIHZwOV9oaWdoYmRfYmxvY2tfZXJyb3IgdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9uZW9u
CisjZGVmaW5lIHZwOV9oaWdoYmRfYmxvY2tfZXJyb3IgdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9j
CiAKIHZvaWQgdnA5X2hpZ2hiZF9maHQxNngxNl9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB0eF90eXBlKTsKLXZvaWQgdnA5X2hpZ2hiZF9maHQxNngxNl9uZW9uKGNvbnN0IGludDE2X3Qq
IGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2hpZ2hiZF9maHQx
NngxNiB2cDlfaGlnaGJkX2ZodDE2eDE2X25lb24KKyNkZWZpbmUgdnA5X2hpZ2hiZF9maHQxNngx
NiB2cDlfaGlnaGJkX2ZodDE2eDE2X2MKIAogdm9pZCB2cDlfaGlnaGJkX2ZodDR4NF9jKGNvbnN0
IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91
dHB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLXZvaWQgdnA5X2hpZ2hiZF9maHQ0eDRfbmVvbihj
b25zdCBpbnQxNl90KiBpbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdHhfdHlwZSk7Ci0jZGVmaW5lIHZwOV9oaWdo
YmRfZmh0NHg0IHZwOV9oaWdoYmRfZmh0NHg0X25lb24KKyNkZWZpbmUgdnA5X2hpZ2hiZF9maHQ0
eDQgdnA5X2hpZ2hiZF9maHQ0eDRfYwogCiB2b2lkIHZwOV9oaWdoYmRfZmh0OHg4X2MoY29uc3Qg
aW50MTZfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0
cHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHR4X3R5cGUpOwotdm9pZCB2cDlfaGlnaGJkX2ZodDh4OF9uZW9uKGNv
bnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKTsKLSNkZWZpbmUgdnA5X2hpZ2hi
ZF9maHQ4eDggdnA5X2hpZ2hiZF9maHQ4eDhfbmVvbgorI2RlZmluZSB2cDlfaGlnaGJkX2ZodDh4
OCB2cDlfaGlnaGJkX2ZodDh4OF9jCiAKIHZvaWQgdnA5X2hpZ2hiZF9md2h0NHg0X2MoY29uc3Qg
aW50MTZfdCogaW5wdXQsIHRyYW5fbG93X3QqIG91dHB1dCwgaW50IHN0cmlkZSk7CiAjZGVmaW5l
IHZwOV9oaWdoYmRfZndodDR4NCB2cDlfaGlnaGJkX2Z3aHQ0eDRfYwpAQCAtMjQ3LDQxICsxOTgs
MjkgQEAgdm9pZCB2cDlfaGlnaGJkX3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3NfYyhjb25zdCB1
aW50MTZfdCogc3JjX3B0ciwKIAogdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2MoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X2hpZ2hiZF9xdWFu
dGl6ZV9mcF9uZW9uKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3Bs
YW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29l
ZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCog
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXpl
X2ZwIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfbmVvbgotCi12b2lkIHZwOV9oaWdoYmRfcXVhbnRp
emVfZnBfMzJ4MzJfYygKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0
IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCog
ZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2
X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRl
cik7Ci12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfbmVvbigKLSAgICBjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3Qq
IHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50
MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci0jZGVmaW5lIHZwOV9oaWdoYmRfcXVh
bnRpemVfZnBfMzJ4MzIgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9uZW9uCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cDlfaGln
aGJkX3F1YW50aXplX2ZwIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYworCit2b2lkIHZwOV9oaWdo
YmRfcXVhbnRpemVfZnBfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRx
Y29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBpc2Nhbik7CisjZGVmaW5lIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4
MzIgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9jCiAKIHZvaWQgdnA5X2hpZ2hiZF90ZW1w
b3JhbF9maWx0ZXJfYXBwbHlfYyhjb25zdCB1aW50OF90KiBmcmFtZTEsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN0cmlkZSwKQEAgLTMyNywz
OCArMjY2LDUwIEBAIHZvaWQgdnA5X2lodDh4OF82NF9hZGRfbmVvbihjb25zdCB0cmFuX2xvd190
KiBpbnB1dCwKIAogdm9pZCB2cDlfcXVhbnRpemVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJf
cGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRl
cXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9v
cmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnA5X3F1YW50
aXplX2ZwX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBk
ZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0
IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBz
Y2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAj
ZGVmaW5lIHZwOV9xdWFudGl6ZV9mcCB2cDlfcXVhbnRpemVfZnBfbmVvbgogCiB2b2lkIHZwOV9x
dWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRp
emVfZnBfMzJ4MzJfbmVvbihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJf
cGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRl
ciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGlzY2FuKTsKICNkZWZpbmUgdnA5X3F1YW50aXplX2ZwXzMyeDMyIHZwOV9xdWFu
dGl6ZV9mcF8zMngzMl9uZW9uCiAKIHZvaWQgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWVfYyhj
b25zdCBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmMsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u
ZmlnL3dpbi9hcm02NC92cHhfY29uZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0L3ZweF9j
b25maWcuYXNtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDA2ZmU4
ZjAxNjAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJtNjQvdnB4X2NvbmZp
Zy5hc20KQEAgLTAsMCArMSw5OCBAQAorQCBUaGlzIGZpbGUgd2FzIGNyZWF0ZWQgZnJvbSBhIC5h
c20gZmlsZQorQCAgdXNpbmcgdGhlIGFkczJnYXNfYXBwbGUucGwgc2NyaXB0LgorCisJLnN5bnRh
eCB1bmlmaWVkCisuc2V0IFZQWF9BUkNIX0FSTSAsICAxCisuc2V0IEFSQ0hfQVJNICwgIDEKKy5z
ZXQgVlBYX0FSQ0hfTUlQUyAsICAwCisuc2V0IEFSQ0hfTUlQUyAsICAwCisuc2V0IFZQWF9BUkNI
X1g4NiAsICAwCisuc2V0IEFSQ0hfWDg2ICwgIDAKKy5zZXQgVlBYX0FSQ0hfWDg2XzY0ICwgIDAK
Ky5zZXQgQVJDSF9YODZfNjQgLCAgMAorLnNldCBWUFhfQVJDSF9QUEMgLCAgMAorLnNldCBBUkNI
X1BQQyAsICAwCisuc2V0IEhBVkVfTkVPTiAsICAxCisuc2V0IEhBVkVfTkVPTl9BU00gLCAgMAor
LnNldCBIQVZFX01JUFMzMiAsICAwCisuc2V0IEhBVkVfRFNQUjIgLCAgMAorLnNldCBIQVZFX01T
QSAsICAwCisuc2V0IEhBVkVfTUlQUzY0ICwgIDAKKy5zZXQgSEFWRV9NTVggLCAgMAorLnNldCBI
QVZFX1NTRSAsICAwCisuc2V0IEhBVkVfU1NFMiAsICAwCisuc2V0IEhBVkVfU1NFMyAsICAwCisu
c2V0IEhBVkVfU1NTRTMgLCAgMAorLnNldCBIQVZFX1NTRTRfMSAsICAwCisuc2V0IEhBVkVfQVZY
ICwgIDAKKy5zZXQgSEFWRV9BVlgyICwgIDAKKy5zZXQgSEFWRV9BVlg1MTIgLCAgMAorLnNldCBI
QVZFX1ZTWCAsICAwCisuc2V0IEhBVkVfTU1JICwgIDAKKy5zZXQgSEFWRV9WUFhfUE9SVFMgLCAg
MQorLnNldCBIQVZFX1BUSFJFQURfSCAsICAwCisuc2V0IEhBVkVfVU5JU1REX0ggLCAgMAorLnNl
dCBDT05GSUdfREVQRU5ERU5DWV9UUkFDS0lORyAsICAxCisuc2V0IENPTkZJR19FWFRFUk5BTF9C
VUlMRCAsICAxCisuc2V0IENPTkZJR19JTlNUQUxMX0RPQ1MgLCAgMAorLnNldCBDT05GSUdfSU5T
VEFMTF9CSU5TICwgIDEKKy5zZXQgQ09ORklHX0lOU1RBTExfTElCUyAsICAxCisuc2V0IENPTkZJ
R19JTlNUQUxMX1NSQ1MgLCAgMAorLnNldCBDT05GSUdfREVCVUcgLCAgMAorLnNldCBDT05GSUdf
R1BST0YgLCAgMAorLnNldCBDT05GSUdfR0NPViAsICAwCisuc2V0IENPTkZJR19SVkNUICwgIDAK
Ky5zZXQgQ09ORklHX0dDQyAsICAwCisuc2V0IENPTkZJR19NU1ZTICwgIDEKKy5zZXQgQ09ORklH
X1BJQyAsICAwCisuc2V0IENPTkZJR19CSUdfRU5ESUFOICwgIDAKKy5zZXQgQ09ORklHX0NPREVD
X1NSQ1MgLCAgMAorLnNldCBDT05GSUdfREVCVUdfTElCUyAsICAwCisuc2V0IENPTkZJR19ERVFV
QU5UX1RPS0VOUyAsICAwCisuc2V0IENPTkZJR19EQ19SRUNPTiAsICAwCisuc2V0IENPTkZJR19S
VU5USU1FX0NQVV9ERVRFQ1QgLCAgMAorLnNldCBDT05GSUdfUE9TVFBST0MgLCAgMQorLnNldCBD
T05GSUdfVlA5X1BPU1RQUk9DICwgIDEKKy5zZXQgQ09ORklHX01VTFRJVEhSRUFEICwgIDEKKy5z
ZXQgQ09ORklHX0lOVEVSTkFMX1NUQVRTICwgIDAKKy5zZXQgQ09ORklHX1ZQOF9FTkNPREVSICwg
IDEKKy5zZXQgQ09ORklHX1ZQOF9ERUNPREVSICwgIDEKKy5zZXQgQ09ORklHX1ZQOV9FTkNPREVS
ICwgIDEKKy5zZXQgQ09ORklHX1ZQOV9ERUNPREVSICwgIDEKKy5zZXQgQ09ORklHX1ZQOCAsICAx
Cisuc2V0IENPTkZJR19WUDkgLCAgMQorLnNldCBDT05GSUdfRU5DT0RFUlMgLCAgMQorLnNldCBD
T05GSUdfREVDT0RFUlMgLCAgMQorLnNldCBDT05GSUdfU1RBVElDX01TVkNSVCAsICAwCisuc2V0
IENPTkZJR19TUEFUSUFMX1JFU0FNUExJTkcgLCAgMQorLnNldCBDT05GSUdfUkVBTFRJTUVfT05M
WSAsICAxCisuc2V0IENPTkZJR19PTlRIRUZMWV9CSVRQQUNLSU5HICwgIDAKKy5zZXQgQ09ORklH
X0VSUk9SX0NPTkNFQUxNRU5UICwgIDAKKy5zZXQgQ09ORklHX1NIQVJFRCAsICAwCisuc2V0IENP
TkZJR19TVEFUSUMgLCAgMQorLnNldCBDT05GSUdfU01BTEwgLCAgMAorLnNldCBDT05GSUdfUE9T
VFBST0NfVklTVUFMSVpFUiAsICAwCisuc2V0IENPTkZJR19PU19TVVBQT1JUICwgIDEKKy5zZXQg
Q09ORklHX1VOSVRfVEVTVFMgLCAgMQorLnNldCBDT05GSUdfV0VCTV9JTyAsICAxCisuc2V0IENP
TkZJR19MSUJZVVYgLCAgMAorLnNldCBDT05GSUdfREVDT0RFX1BFUkZfVEVTVFMgLCAgMAorLnNl
dCBDT05GSUdfRU5DT0RFX1BFUkZfVEVTVFMgLCAgMAorLnNldCBDT05GSUdfTVVMVElfUkVTX0VO
Q09ESU5HICwgIDEKKy5zZXQgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORyAsICAxCisuc2V0IENP
TkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HICwgIDEKKy5zZXQgQ09ORklHX0NPTlNJU1RFTlRf
UkVDT0RFICwgIDAKKy5zZXQgQ09ORklHX0NPRUZGSUNJRU5UX1JBTkdFX0NIRUNLSU5HICwgIDAK
Ky5zZXQgQ09ORklHX1ZQOV9ISUdIQklUREVQVEggLCAgMQorLnNldCBDT05GSUdfQkVUVEVSX0hX
X0NPTVBBVElCSUxJVFkgLCAgMAorLnNldCBDT05GSUdfRVhQRVJJTUVOVEFMICwgIDAKKy5zZXQg
Q09ORklHX1NJWkVfTElNSVQgLCAgMQorLnNldCBDT05GSUdfQUxXQVlTX0FESlVTVF9CUE0gLCAg
MAorLnNldCBDT05GSUdfQklUU1RSRUFNX0RFQlVHICwgIDAKKy5zZXQgQ09ORklHX01JU01BVENI
X0RFQlVHICwgIDAKKy5zZXQgQ09ORklHX0ZQX01CX1NUQVRTICwgIDAKKy5zZXQgQ09ORklHX0VN
VUxBVEVfSEFSRFdBUkUgLCAgMAorLnNldCBDT05GSUdfTk9OX0dSRUVEWV9NViAsICAwCisuc2V0
IENPTkZJR19SQVRFX0NUUkwgLCAgMAorLnNldCBERUNPREVfV0lEVEhfTElNSVQgLCAgMTYzODQK
Ky5zZXQgREVDT0RFX0hFSUdIVF9MSU1JVCAsICAxNjM4NApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy93aW4vYXJtNjQtaGlnaGJkL3ZweF9jb25maWcuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0L3Zw
eF9jb25maWcuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93
aW4vYXJtNjQtaGlnaGJkL3ZweF9jb25maWcuYwpyZW5hbWUgdG8gU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJt
NjQvdnB4X2NvbmZpZy5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9hcm02NC1oaWdoYmQv
dnB4X2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJtNjQvdnB4X2NvbmZpZy5oCnNpbWlsYXJp
dHkgaW5kZXggOTElCnJlbmFtZSBmcm9tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0LWhpZ2hiZC92cHhf
Y29uZmlnLmgKcmVuYW1lIHRvIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0L3ZweF9jb25maWcuaAppbmRl
eCA4OTJkNTgyMzA3MmQuLjA4YWVjZDMzY2I3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4v
YXJtNjQtaGlnaGJkL3ZweF9jb25maWcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9hcm02NC92cHhf
Y29uZmlnLmgKQEAgLTEyLDggKzEyLDYgQEAKICNkZWZpbmUgSU5MSU5FICAgICAgX19pbmxpbmUK
ICNkZWZpbmUgVlBYX0FSQ0hfQVJNIDEKICNkZWZpbmUgQVJDSF9BUk0gMQotI2RlZmluZSBWUFhf
QVJDSF9BQVJDSDY0IDEKLSNkZWZpbmUgQVJDSF9BQVJDSDY0IDEKICNkZWZpbmUgVlBYX0FSQ0hf
TUlQUyAwCiAjZGVmaW5lIEFSQ0hfTUlQUyAwCiAjZGVmaW5lIFZQWF9BUkNIX1g4NiAwCkBAIC0y
MiwxMiArMjAsOCBAQAogI2RlZmluZSBBUkNIX1g4Nl82NCAwCiAjZGVmaW5lIFZQWF9BUkNIX1BQ
QyAwCiAjZGVmaW5lIEFSQ0hfUFBDIDAKLSNkZWZpbmUgVlBYX0FSQ0hfTE9PTkdBUkNIIDAKLSNk
ZWZpbmUgQVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBIQVZFX05FT05fQVNNIDAKICNkZWZpbmUg
SEFWRV9ORU9OIDEKLSNkZWZpbmUgSEFWRV9ORU9OX0RPVFBST0QgMQotI2RlZmluZSBIQVZFX05F
T05fSThNTSAxCisjZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogI2RlZmluZSBIQVZFX01JUFMzMiAw
CiAjZGVmaW5lIEhBVkVfRFNQUjIgMAogI2RlZmluZSBIQVZFX01TQSAwCkBAIC00Myw4ICszNyw2
IEBACiAjZGVmaW5lIEhBVkVfQVZYNTEyIDAKICNkZWZpbmUgSEFWRV9WU1ggMAogI2RlZmluZSBI
QVZFX01NSSAwCi0jZGVmaW5lIEhBVkVfTFNYIDAKLSNkZWZpbmUgSEFWRV9MQVNYIDAKICNkZWZp
bmUgSEFWRV9WUFhfUE9SVFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAwCiAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMApAQCAtNjYsNyArNTgsNyBAQAogI2RlZmluZSBDT05GSUdfREVCVUdfTElC
UyAwCiAjZGVmaW5lIENPTkZJR19ERVFVQU5UX1RPS0VOUyAwCiAjZGVmaW5lIENPTkZJR19EQ19S
RUNPTiAwCi0jZGVmaW5lIENPTkZJR19SVU5USU1FX0NQVV9ERVRFQ1QgMQorI2RlZmluZSBDT05G
SUdfUlVOVElNRV9DUFVfREVURUNUIDAKICNkZWZpbmUgQ09ORklHX1BPU1RQUk9DIDEKICNkZWZp
bmUgQ09ORklHX1ZQOV9QT1NUUFJPQyAxCiAjZGVmaW5lIENPTkZJR19NVUxUSVRIUkVBRCAxCkBA
IC05Nyw2ICs4OSw3IEBACiAjZGVmaW5lIENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgMQogI2Rl
ZmluZSBDT05GSUdfVEVNUE9SQUxfREVOT0lTSU5HIDEKICNkZWZpbmUgQ09ORklHX1ZQOV9URU1Q
T1JBTF9ERU5PSVNJTkcgMQorI2RlZmluZSBDT05GSUdfQ09OU0lTVEVOVF9SRUNPREUgMAogI2Rl
ZmluZSBDT05GSUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcgMAogI2RlZmluZSBDT05GSUdf
VlA5X0hJR0hCSVRERVBUSCAxCiAjZGVmaW5lIENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElU
WSAwCkBAIC0xMDksNyArMTAyLDYgQEAKICNkZWZpbmUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUg
MAogI2RlZmluZSBDT05GSUdfTk9OX0dSRUVEWV9NViAwCiAjZGVmaW5lIENPTkZJR19SQVRFX0NU
UkwgMAotI2RlZmluZSBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HIDAKICNkZWZpbmUg
REVDT0RFX1dJRFRIX0xJTUlUIDE2Mzg0CiAjZGVmaW5lIERFQ09ERV9IRUlHSFRfTElNSVQgMTYz
ODQKICNlbmRpZiAvKiBWUFhfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2lu
L2FybTY0LWhpZ2hiZC92cHhfZHNwX3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0L3ZweF9k
c3BfcnRjZC5oCnNpbWlsYXJpdHkgaW5kZXggNTclCnJlbmFtZSBmcm9tIFNvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2lu
L2FybTY0LWhpZ2hiZC92cHhfZHNwX3J0Y2QuaApyZW5hbWUgdG8gU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJt
NjQvdnB4X2RzcF9ydGNkLmgKaW5kZXggZDU4NzY4MzNkM2MzLi43MWViMzMzYTBiZGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0LWhpZ2hiZC92cHhfZHNwX3J0Y2QuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvY29uZmlnL3dpbi9hcm02NC92cHhfZHNwX3J0Y2QuaApAQCAtMTUsMTAgKzE1LDYgQEAKICNp
bmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29t
bW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZmlsdGVyLmgiCi0jaWYgQ09ORklHX1ZQOV9F
TkNPREVSCi1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5k
aWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKQEAgLTY4LDM5ICs2NCw3IEBA
IHZvaWQgdnB4X2NvbnZvbHZlOF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
dywKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9u
ZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
SW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgp
Owotdm9pZCB2cHhfY29udm9sdmU4X25lb25faThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X2NvbnZvbHZlOCkoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlf
c3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVmaW5lIHZweF9jb252b2x2
ZTggdnB4X2NvbnZvbHZlOF9uZW9uCiAKIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfYyhjb25zdCB1
aW50OF90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCkBAIC0xMjQsMzkgKzg4LDcgQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z19uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfbmVvbl9kb3Rwcm9kKGNv
bnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX25lb25f
aThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50
ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThfYXZnKShjb25zdCB1aW50OF90
KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJ
bnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVmaW5lIHZweF9jb252b2x2
ZThfYXZnIHZweF9jb252b2x2ZThfYXZnX25lb24KIAogdm9pZCB2cHhfY29udm9sdmU4X2F2Z19o
b3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTE4MCwzOSArMTEyLDcgQEAgdm9pZCB2cHhfY29u
dm9sdmU4X2F2Z19ob3Jpel9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX2hvcml6X25l
b25faThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2ZThfYXZnX2hvcml6KShj
b25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVm
aW5lIHZweF9jb252b2x2ZThfYXZnX2hvcml6IHZweF9jb252b2x2ZThfYXZnX2hvcml6X25lb24K
IAogdm9pZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2MoY29uc3QgdWludDhfdCogc3JjLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0yMzYs
MzkgKzEzNiw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9u
ZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4MF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X2F2
Z192ZXJ0X25lb25faThtbShjb25zdCB1aW50OF90KiBzcmMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgaCk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2NvbnZvbHZlOF9hdmdfdmVydCkoY29u
c3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwqIGZpbHRlciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7CisjZGVmaW5lIHZweF9jb252
b2x2ZThfYXZnX3ZlcnQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uCiAKIHZvaWQgdnB4X2Nv
bnZvbHZlOF9ob3Jpel9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMjkyLDM5ICsxNjAsNyBAQCB2b2lkIHZw
eF9jb252b2x2ZThfaG9yaXpfbmVvbihjb25zdCB1aW50OF90KiBzcmMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCk7Ci12b2lk
IHZweF9jb252b2x2ZThfaG9yaXpfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5l
bCogZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeDBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBoKTsKLXZvaWQgdnB4X2NvbnZvbHZlOF9ob3Jpel9uZW9u
X2k4bW0oY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb252b2x2
ZThfaG9yaXopKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGgpOworI2RlZmluZSB2cHhfY29udm9sdmU4X2hvcml6IHZweF9j
b252b2x2ZThfaG9yaXpfbmVvbgogCiB2b2lkIHZweF9jb252b2x2ZThfdmVydF9jKGNvbnN0IHVp
bnQ4X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCkBAIC0zNDgsMzkgKzE4NCw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF92ZXJ0X25lb24oY29u
c3QgdWludDhfdCogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVw
X3E0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29udm9sdmU4X3ZlcnRfbmVvbl9kb3Rw
cm9kKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotdm9pZCB2cHhfY29u
dm9sdmU4X3ZlcnRfbmVvbl9pOG1tKGNvbnN0IHVpbnQ4X3QqIHNyYywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsKiBmaWx0ZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9j
b252b2x2ZThfdmVydCkoY29uc3QgdWludDhfdCogc3JjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCogZmlsdGVyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5MF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBoKTsKKyNkZWZpbmUgdnB4X2NvbnZvbHZlOF92ZXJ0IHZweF9jb252b2x2
ZThfdmVydF9uZW9uCiAKIHZvaWQgdnB4X2NvbnZvbHZlX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNy
YywKICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtNDM0
LDQxICsyMzgsMjUgQEAgdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfYyh1aW50OF90KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQg
dnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9k
MTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmlu
ZSB2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTYgdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2X2MKIAog
dm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxMTdfcHJlZGlj
dG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kMTE3X3ByZWRpY3Rvcl8z
MngzMiB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfZDExN19wcmVk
aWN0b3JfMzJ4MzIgdnB4X2QxMTdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2cHhfZDExN19w
cmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNk
ZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X25lb24K
KyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzR4NCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X2MK
IAogdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4X2ModWludDhfdCogZHN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl84
eDhfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzh4OCB2cHhfZDExN19w
cmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2QxMTdfcHJlZGljdG9yXzh4OCB2cHhfZDEx
N19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50
OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCkBAIC01MTQsODEgKzMwMiw0OSBAQCB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9j
KHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
YWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxl
ZnQpOwotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50OF90KiBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNk
ZWZpbmUgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2IHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9u
ZW9uCisjZGVmaW5lIHZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNiB2cHhfZDE1M19wcmVkaWN0b3Jf
MTZ4MTZfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3QqIGRzdCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhf
ZDE1M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4X2QxNTNf
cHJlZGljdG9yXzMyeDMyIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9uZW9uCisjZGVmaW5lIHZw
eF9kMTUzX3ByZWRpY3Rvcl8zMngzMiB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lk
IHZweF9kMTUzX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzR4NF9uZW9u
KHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9kMTUzX3ByZWRpY3Rv
cl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9kMTUzX3ByZWRp
Y3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYyh1aW50OF90KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QxNTNf
cHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3JfOHg4
IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfZDE1M19wcmVkaWN0b3Jf
OHg4IHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8x
NngxNl9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50OF90KiBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0
KTsKLSNkZWZpbmUgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9kMjA3X3ByZWRpY3Rvcl8x
NngxNl9uZW9uCisjZGVmaW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8xNngxNiB2cHhfZDIwN19wcmVk
aWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9jKHVpbnQ4X3Qq
IGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotdm9p
ZCB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50OF90KiBkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUgdnB4
X2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9uZW9uCisjZGVm
aW5lIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMiB2cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYwog
CiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4X2QyMDdfcHJlZGljdG9yXzR4
NF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0IHZweF9kMjA3X3By
ZWRpY3Rvcl80eDRfbmVvbgorI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0b3JfNHg0IHZweF9kMjA3
X3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYyh1aW50OF90
KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLXZvaWQgdnB4
X2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGxlZnQpOwotI2RlZmluZSB2cHhfZDIwN19wcmVkaWN0
b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfZDIwN19wcmVk
aWN0b3JfOHg4IHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9kNDVfcHJlZGlj
dG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCkBAIC02NDAsNDEgKzM5NiwyNSBAQCB2b2lkIHZweF9kNjNfcHJl
ZGljdG9yXzE2eDE2X2ModWludDhfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhf
dCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVm
dCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzE2eDE2IHZweF9kNjNfcHJlZGljdG9yXzE2
eDE2X25lb24KKyNkZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2Q2M19wcmVkaWN0
b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX2ModWludDhfdCogZHN0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci12b2lkIHZweF9k
NjNfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogbGVmdCk7Ci0jZGVmaW5lIHZweF9kNjNfcHJlZGlj
dG9yXzMyeDMyIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2Q2M19w
cmVkaWN0b3JfMzJ4MzIgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9kNjNf
cHJlZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfbmVvbih1aW50OF90KiBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNkZWZpbmUg
dnB4X2Q2M19wcmVkaWN0b3JfNHg0IHZweF9kNjNfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5l
IHZweF9kNjNfcHJlZGljdG9yXzR4NCB2cHhfZDYzX3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZw
eF9kNjNfcHJlZGljdG9yXzh4OF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGxlZnQpOwotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbih1aW50OF90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGFib3ZlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBsZWZ0KTsKLSNk
ZWZpbmUgdnB4X2Q2M19wcmVkaWN0b3JfOHg4IHZweF9kNjNfcHJlZGljdG9yXzh4OF9uZW9uCisj
ZGVmaW5lIHZweF9kNjNfcHJlZGljdG9yXzh4OCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhfYwogCiB2
b2lkIHZweF9kNjNlX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtODkyLDE4ICs2MzIsNyBAQCB2
b2lkIHZweF9nZXQxNngxNnZhcl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBz
dW0pOwotdm9pZCB2cHhfZ2V0MTZ4MTZ2YXJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnB4X2dldDE2eDE2dmFyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKKyNkZWZpbmUgdnB4X2dldDE2eDE2dmFyIHZw
eF9nZXQxNngxNnZhcl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfZ2V0NHg0c3NlX2NzX2MoY29u
c3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC05MTMsMTQgKzY0Miw3IEBAIHVuc2lnbmVkIGludCB2cHhf
Z2V0NHg0c3NlX2NzX25lb24oY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfZ2V0NHg0c3NlX2NzX25lb25fZG90cHJvZChjb25zdCB1bnNpZ25lZCBjaGFyKiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVuc2lnbmVkIGNoYXIqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X2dldDR4NHNzZV9jcykoY29uc3QgdW5zaWduZWQgY2hhciogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgY2hhciogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2dldDR4NHNzZV9jcyB2cHhfZ2V0
NHg0c3NlX2NzX25lb24KIAogdm9pZCB2cHhfZ2V0OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtOTM0LDE4ICs2
NTYsNyBAQCB2b2lkIHZweF9nZXQ4eDh2YXJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCog
c3VtKTsKLXZvaWQgdnB4X2dldDh4OHZhcl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50KiBzdW0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9nZXQ4
eDh2YXIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQq
IHN1bSk7CisjZGVmaW5lIHZweF9nZXQ4eDh2YXIgdnB4X2dldDh4OHZhcl9uZW9uCiAKIHVuc2ln
bmVkIGludCB2cHhfZ2V0X21iX3NzX2MoY29uc3QgaW50MTZfdCopOwogI2RlZmluZSB2cHhfZ2V0
X21iX3NzIHZweF9nZXRfbWJfc3NfYwpAQCAtMTAwMSwxMCArNzEyLDcgQEAgdm9pZCB2cHhfaGFk
YW1hcmRfMTZ4MTZfbmVvbihjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwKIHZvaWQgdnB4X2hhZGFt
YXJkXzMyeDMyX2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBjb2VmZik7Ci12b2lkIHZweF9oYWRhbWFyZF8zMngzMl9uZW9uKGNvbnN0IGlu
dDE2X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogY29l
ZmYpOwotI2RlZmluZSB2cHhfaGFkYW1hcmRfMzJ4MzIgdnB4X2hhZGFtYXJkXzMyeDMyX25lb24K
KyNkZWZpbmUgdnB4X2hhZGFtYXJkXzMyeDMyIHZweF9oYWRhbWFyZF8zMngzMl9jCiAKIHZvaWQg
dnB4X2hhZGFtYXJkXzh4OF9jKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAogICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0xMDI2LDEzICs3MzQsNyBAQCB2
b2lkIHZweF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF8xMF9nZXQx
NngxNnZhcl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50KiBzdW0pOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX2dldDE2eDE2dmFy
IHZweF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX2dl
dDE2eDE2dmFyIHZweF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXJfYwogCiB2b2lkIHZweF9oaWdoYmRf
MTBfZ2V0OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEwNDAsNjEgKzc0MiwzNSBAQCB2b2lk
IHZweF9oaWdoYmRfMTBfZ2V0OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQqIHN1bSk7Ci12b2lkIHZweF9oaWdoYmRfMTBfZ2V0OHg4dmFyX25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9nZXQ4eDh2YXIgdnB4X2hpZ2hiZF8xMF9nZXQ4eDh2YXJf
bmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX2dldDh4OHZhciB2cHhfaGlnaGJkXzEwX2dldDh4
OHZhcl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTE2eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF9tc2UxNngxNl9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhf
aGlnaGJkXzEwX21zZTE2eDE2IHZweF9oaWdoYmRfMTBfbXNlMTZ4MTZfbmVvbgorI2RlZmluZSB2
cHhfaGlnaGJkXzEwX21zZTE2eDE2IHZweF9oaWdoYmRfMTBfbXNlMTZ4MTZfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF8xMF9tc2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTE2eDggdnB4X2hpZ2hi
ZF8xMF9tc2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9tc2UxNng4IHZweF9oaWdo
YmRfMTBfbXNlMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTh4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfbXNlOHgx
Nl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfMTBfbXNlOHgxNiB2cHhfaGlnaGJkXzEwX21zZTh4MTZfbmVvbgorI2RlZmluZSB2cHhf
aGlnaGJkXzEwX21zZTh4MTYgdnB4X2hpZ2hiZF8xMF9tc2U4eDE2X2MKIAogdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfMTBfbXNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfMTBfbXNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX21zZTh4OCB2cHhfaGlnaGJkXzEwX21zZTh4OF9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfMTBfbXNlOHg4IHZweF9oaWdoYmRfMTBfbXNlOHg4X2MKIAog
dWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfYygKICAg
ICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMTEwNSwxNyArNzgxLDggQEAgdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfYygKICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9w
cmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2
X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBj
b25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlMTZ4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Ux
NngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2
eDMyX2MoCiAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTExMjYsMTcgKzc5Myw4IEBA
IHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX2MoCiAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UxNngzMl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBz
c2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMiBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTE2eDMyX25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlMTZ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEx
NDYsMTcgKzgwNCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwK
LSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVp
bnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4IFwKLSAgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UzMngxNl9jKAogICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC0x
MTY3LDE3ICs4MTYsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UzMngxNl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9v
ZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNk
ZWZpbmUgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYgXAotICB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYygKICAgICBjb25zdCB1aW50OF90KiBzcmNf
cHRyLApAQCAtMTE4OCwxNyArODI4LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYygKICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICB1aW50MzJf
dCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25lb24oCi0gICAgY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0g
ICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMy
IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfbmVvbgorICB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jCiAKIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X2MoCiAgICAgY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKQEAgLTEyMDksMTcgKzg0MCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X2MoCiAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9uZW9uKAotICAg
IGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhf
b2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UzMng2NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0
X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYwogCiB1
aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMjI5LDE3ICs4NTEsOCBAQCB1aW50MzJf
dCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
dWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X25lb24oCi0g
ICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQg
eF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTR4NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9u
ZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jCiAKIHVpbnQz
Ml90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEyNDksMTcgKzg2Miw4IEBAIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfbmVvbigKLSAgICBj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29m
ZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNHg4IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X25lb24K
KyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MKIAogdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfYygKICAgICBjb25zdCB1
aW50OF90KiBzcmNfcHRyLApAQCAtMTI3MCwxNyArODc0LDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfYygKICAgICBpbnQgcmVmX3N0cmlkZSwK
ICAgICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVp
bnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24oCi0g
ICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQg
eF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTY0eDMyIFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4
MzJfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jCiAK
IHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2MoCiAg
ICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTEyOTEsMTcgKzg4Niw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2MoCiAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2
NF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U2NHg2NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTY0eDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NjR4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEzMTEsMTcgKzg5
Nyw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlOHgxNl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBz
c2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlOHgxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTh4MTZfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMzMxLDE3
ICs5MDgsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4
eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlOHg0X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNz
ZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTh4NF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEzNTEsMTcgKzkx
OSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3Ry
aWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAot
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlOHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
OHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xMzcwLDE1ICs5MjksOCBAQCB1
aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMy
X3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1
Yl9waXhlbF92YXJpYW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFu
Y2UxNngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfYwog
CiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTEzODcsMTUgKzkzOSw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X3ZhcmlhbmNlMTZ4MzIgXAotICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMy
X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jCiAKIHVpbnQz
Ml90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE0MDQsMTUgKzk0OSw4IEBAIHVpbnQzMl90IHZweF9oaWdo
YmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDggXAotICB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfbmVvbgorICB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTE0MjEsMTUgKzk1OSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zhcmlh
bmNlMzJ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMy
eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVm
aW5lIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTYgXAotICB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfdmFyaWFuY2UzMngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zh
cmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQzOCwx
NSArOTY5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngz
Ml9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiBcCi0gIHZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX3ZhcmlhbmNlMzJ4MzJfbmVvbgorICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJp
YW5jZTMyeDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2Uz
Mng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNDU1LDE1ICs5Nzks
OCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwot
dWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
dmFyaWFuY2UzMng2NF9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4
NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQ3MiwxNSArOTg5LDggQEAgdWludDMy
X3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NCBcCi0gIHZw
eF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfdmFyaWFuY2U0eDRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF92YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTQ4OSwx
NSArOTk5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11
aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4OF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92
YXJpYW5jZTR4OCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24K
KyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYwogCiB1aW50MzJfdCB2cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTE1MDYsMTUgKzEwMDksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMy
IFwKLSAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9uCisgIHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTE1MjMsMTUgKzEwMTksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
dmFyaWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
c2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0IFwKLSAg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9uZW9uCisgIHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1
Yl9waXhlbF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC0xNTQwLDE1ICsxMDI5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHgxNl9uZW9uCisgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNl
OHgxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNTU3LDE1ICsxMDM5LDggQEAgdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NCBcCi0g
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X25lb24KKyAgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMTU3
NCwxNzEgKzEwNDksOTkgQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4OF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF92YXJpYW5jZTh4OCBcCi0gIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4
X25lb24KKyAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDhfYwogCiB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlMTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MTYg
dnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF92
YXJpYW5jZTE2eDE2IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngxNl9jCiAKIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2UxNngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngzMiB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX3Zhcmlh
bmNlMTZ4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDMyX2MKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMTZ4OCB2cHhfaGlnaGJkXzEwX3Zhcmlh
bmNlMTZ4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4IHZweF9oaWdo
YmRfMTBfdmFyaWFuY2UxNng4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2UzMngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDE2X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDE2IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMngx
Nl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMngxNiB2cHhfaGlnaGJkXzEw
X3ZhcmlhbmNlMzJ4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMy
eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MzJfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2
cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDMyX25l
b24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDMyIHZweF9oaWdoYmRfMTBfdmFy
aWFuY2UzMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfMTBfdmFyaWFuY2UzMng2NCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjRfbmVvbgor
I2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjQgdnB4X2hpZ2hiZF8xMF92YXJpYW5j
ZTMyeDY0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlNHg0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDQgdnB4
X2hpZ2hiZF8xMF92YXJpYW5jZTR4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2U0eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4OF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlNHg4IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDhfbmVvbgorI2Rl
ZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg4IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U0eDhf
YwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlNjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlNjR4MzIgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyX25lb24KKyNkZWZpbmUgdnB4
X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U2NHgzMl9jCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfMTBfdmFyaWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFu
Y2U2NHg2NCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4NjRfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlNjR4NjQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDY0X2MKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFy
aWFuY2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHgxNiB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlOHgxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4
eDE2IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfMTBfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfMTBfdmFyaWFuY2U4eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4NF9uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4NF9j
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92
YXJpYW5jZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4IHZweF9oaWdoYmRf
MTBfdmFyaWFuY2U4eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4IHZw
eF9oaWdoYmRfMTBfdmFyaWFuY2U4eDhfYwogCiB2b2lkIHZweF9oaWdoYmRfMTJfZ2V0MTZ4MTZ2
YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNzQ2LDEzICsxMTQ5LDcgQEAgdm9pZCB2cHhfaGln
aGJkXzEyX2dldDE2eDE2dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQqIHN1bSk7Ci12b2lkIHZweF9oaWdoYmRfMTJfZ2V0MTZ4MTZ2YXJfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCogc3VtKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9nZXQxNngxNnZhciB2cHhfaGlnaGJk
XzEyX2dldDE2eDE2dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9nZXQxNngxNnZhciB2
cHhfaGlnaGJkXzEyX2dldDE2eDE2dmFyX2MKIAogdm9pZCB2cHhfaGlnaGJkXzEyX2dldDh4OHZh
cl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0xNzYwLDYxICsxMTU3LDM1IEBAIHZvaWQgdnB4X2hpZ2hi
ZF8xMl9nZXQ4eDh2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF8xMl9nZXQ4eDh2YXJfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBzdW0pOwotI2RlZmluZSB2
cHhfaGlnaGJkXzEyX2dldDh4OHZhciB2cHhfaGlnaGJkXzEyX2dldDh4OHZhcl9uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfMTJfZ2V0OHg4dmFyIHZweF9oaWdoYmRfMTJfZ2V0OHg4dmFyX2MKIAog
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfbXNlMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX21zZTE2eDE2X25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJf
bXNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRf
MTJfbXNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkXzEyX21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfMTJfbXNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfbXNlMTZ4OCB2cHhfaGlnaGJkXzEyX21zZTE2
eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEyX21zZTE2eDggdnB4X2hpZ2hiZF8xMl9tc2Ux
Nng4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfbXNlOHgxNl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl9tc2U4eDE2X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9t
c2U4eDE2IHZweF9oaWdoYmRfMTJfbXNlOHgxNl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJf
bXNlOHgxNiB2cHhfaGlnaGJkXzEyX21zZTh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF8xMl9tc2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF8xMl9tc2U4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfMTJfbXNlOHg4IHZweF9oaWdoYmRfMTJfbXNlOHg4X25lb24KKyNkZWZpbmUg
dnB4X2hpZ2hiZF8xMl9tc2U4eDggdnB4X2hpZ2hiZF8xMl9tc2U4eDhfYwogCiB1aW50MzJfdCB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jKAogICAgIGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCkBAIC0xODI1LDE3ICsxMTk2LDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfYygKICAgICBpbnQgcmVmX3N0cmlkZSwK
ICAgICB1aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVp
bnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24oCi0g
ICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQg
eF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTE2eDE2IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4
MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jCiAK
IHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX2MoCiAg
ICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE4NDYsMTcgKzEyMDgsOCBAQCB1aW50MzJf
dCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9jKAogICAgIGludCBy
ZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4
MzJfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRl
LAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UxNngzMl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTE2eDMyX2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0xODY2LDE3ICsx
MjE5LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UxNng4X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qq
IHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDggXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2UxNng4X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlMTZ4OF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTMyeDE2X2MoCiAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTE4ODcsMTcg
KzEyMzEsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Uz
MngxNl9jKAogICAgIGludCByZWZfc3RyaWRlLAogICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQs
Ci0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1
aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYgXAotICB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYygKICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApA
QCAtMTkwOCwxNyArMTI0Myw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTMyeDMyX2MoCiAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNz
ZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAgIGlu
dCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZfc3Ry
aWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMiBcCi0g
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25lb24KKyAgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jKAogICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCkBAIC0xOTI5LDE3ICsxMjU1LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYygKICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICB1
aW50MzJfdCogc3NlLAogICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0X25lb24oCi0gICAgY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfbmVv
bgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9jCiAKIHVpbnQz
Ml90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE5NDksMTcgKzEyNjYsOCBAQCB1aW50MzJfdCB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X25lb24oCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9v
ZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTR4NCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9uZW9u
CisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTE5NjksMTcgKzEyNzcsOCBAQCB1aW50MzJfdCB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMy
X3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X25lb24oCi0gICAgY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBz
ZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTR4OCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9uZW9uCisg
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9jCiAKIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX2MoCiAgICAgY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKQEAgLTE5OTAsMTcgKzEyODksOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKAogICAgIGludCByZWZfc3RyaWRlLAog
ICAgIHVpbnQzMl90KiBzc2UsCiAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfbmVvbigKLSAg
ICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4
X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgz
Ml9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX2MKIAog
dWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYygKICAg
ICBjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtMjAxMSwxNyArMTMwMSw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X2MoCiAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgdWludDMyX3QqIHNzZSwKICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2
NF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgaW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U2NHg2NCBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTY0eDY0X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NjR4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4
eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIwMzEsMTcgKzEz
MTIsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTh4MTZfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBz
cmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCog
c3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTh4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U4eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjA1MSwx
NyArMTMyMyw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U4eDRfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBz
cmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCog
c3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlOHg0X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjA3MSwxNyAr
MTMzNCw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNf
c3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3Nl
LAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlOHg4X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngx
Nl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMDkwLDE1ICsxMzQ0LDgg
QEAgdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVp
bnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zh
cmlhbmNlMTZ4MTZfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2
X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yMTA3LDE1ICsxMzU0LDggQEAgdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfdmFyaWFuY2UxNngzMiBcCi0gIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNl
MTZ4MzJfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MKIAog
dWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjEyNCwxNSArMTM2NCw4IEBAIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDgg
XAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfbmVvbgorICB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTIxNDEsMTUgKzEzNzQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFy
aWFuY2UzMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2Up
OwogI2RlZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2IFwKLSAgdnB4
X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTIxNTgsMTUgKzEzODQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJp
YW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2Uz
MngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2Rl
ZmluZSB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIFwKLSAgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMl9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX3ZhcmlhbmNlMzJ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIxNzUs
MTUgKzEzOTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMy
eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uCisgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zh
cmlhbmNlMzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjE5MiwxNSArMTQwNCw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0
eDQgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uCisgIHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8x
Ml9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTIyMDksMTUgKzE0MTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX3ZhcmlhbmNlNHg4IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFu
Y2U0eDhfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4OF9jCiAKIHVp
bnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjIyNiwxNSArMTQyNCw4IEBAIHVpbnQzMl90IHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zh
cmlhbmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyX25l
b24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9jCiAKIHVpbnQzMl90
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLApAQCAtMjI0MywxNSArMTQzNCw4IEBAIHVpbnQzMl90IHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNl
NjR4NjQgXAotICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X25lb24KKyAg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9jCiAKIHVpbnQzMl90IHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTIyNjAsMTUgKzE0NDQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1
Yl9waXhlbF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeV9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNk
ZWZpbmUgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2IFwKLSAgdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X25lb24KKyAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfdmFyaWFuY2U4eDE2X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTIyNzcsMTUgKzE0
NTQsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zhcmlh
bmNlOHg0IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDRfbmVvbgorICB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC0yMjk0LDE3MSArMTQ2NCw5OSBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF92YXJpYW5jZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNl
OHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7CiAjZGVmaW5lIHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4IFwKLSAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDhfbmVvbgorICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4OF9j
CiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTZfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfMTJfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFy
aWFuY2UxNngxNiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhf
aGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MTYgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDE2X2MKIAog
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngzMl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5j
ZTE2eDMyIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdo
YmRfMTJfdmFyaWFuY2UxNngzMiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4MzJfYwogCiB1bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJp
YW5jZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNng4IHZweF9oaWdo
YmRfMTJfdmFyaWFuY2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2
eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTZfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBz
c2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTYgdnB4X2hpZ2hiZF8xMl92
YXJpYW5jZTMyeDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDE2IHZw
eF9oaWdoYmRfMTJfdmFyaWFuY2UzMngxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEy
X3ZhcmlhbmNlMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngzMl9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngzMiB2cHhfaGlnaGJkXzEyX3Zhcmlh
bmNlMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MzIgdnB4X2hp
Z2hiZF8xMl92YXJpYW5jZTMyeDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFy
aWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDY0X25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNk
ZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDY0IHZweF9oaWdoYmRfMTJfdmFyaWFuY2Uz
Mng2NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMng2NCB2cHhfaGlnaGJk
XzEyX3ZhcmlhbmNlMzJ4NjRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5j
ZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJp
YW5jZTR4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTR4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0X2MKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg4X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTR4
OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDggdnB4X2hpZ2hiZF8xMl92
YXJpYW5jZTR4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzJf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfMTJfdmFyaWFuY2U2NHgzMiB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzJfbmVvbgor
I2RlZmluZSB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzIgdnB4X2hpZ2hiZF8xMl92YXJpYW5j
ZTY0eDMyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF8xMl92YXJpYW5jZTY0eDY0IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NF9uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4
NjRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF8xMl92YXJpYW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4
eDE2IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTh4MTYgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4MTZfYwogCiB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDRfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNk
ZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHg0
X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NCB2cHhfaGlnaGJkXzEyX3Zh
cmlhbmNlOHg0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkXzEyX3ZhcmlhbmNlOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDgg
dnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfMTJfdmFy
aWFuY2U4eDggdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4OF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF84
X2dldDE2eDE2dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNDY2LDEzICsxNTY0LDcgQEAgdm9p
ZCB2cHhfaGlnaGJkXzhfZ2V0MTZ4MTZ2YXJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCogc3VtKTsKLXZvaWQgdnB4X2hpZ2hiZF84X2dldDE2eDE2dmFy
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50KiBzdW0pOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfZ2V0MTZ4MTZ2YXIgdnB4X2hpZ2hiZF84
X2dldDE2eDE2dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X2dldDE2eDE2dmFyIHZweF9o
aWdoYmRfOF9nZXQxNngxNnZhcl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF84X2dldDh4OHZhcl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTI0ODAsNjEgKzE1NzIsMzUgQEAgdm9pZCB2cHhfaGlnaGJkXzhfZ2V0
OHg4dmFyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHN1bSk7
Ci12b2lkIHZweF9oaWdoYmRfOF9nZXQ4eDh2YXJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCogc3VtKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X2dldDh4
OHZhciB2cHhfaGlnaGJkXzhfZ2V0OHg4dmFyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X2dl
dDh4OHZhciB2cHhfaGlnaGJkXzhfZ2V0OHg4dmFyX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfOF9tc2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF84X21zZTE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTE2eDE2IHZweF9oaWdoYmRfOF9tc2UxNngxNl9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF9tc2UxNngxNiB2cHhfaGlnaGJkXzhfbXNlMTZ4MTZf
YwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTE2eDhfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9tc2UxNng4IHZweF9oaWdo
YmRfOF9tc2UxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTE2eDggdnB4X2hpZ2hi
ZF84X21zZTE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTh4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21zZTh4MTZfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9tc2U4
eDE2IHZweF9oaWdoYmRfOF9tc2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTh4
MTYgdnB4X2hpZ2hiZF84X21zZTh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X21z
ZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF9tc2U4eDhf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X21z
ZTh4OCB2cHhfaGlnaGJkXzhfbXNlOHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X21zZTh4
OCB2cHhfaGlnaGJkXzhfbXNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC0yNTQ0LDE3ICsxNjEwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2UxNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24oCi0gICAgY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50IHlf
b2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CiAj
ZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTYgXAotICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24KKyAgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtMjU2NCwxNyArMTYyMSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9uZW9uKAotICAgIGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAg
IGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZf
c3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyIFwK
LSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMl9uZW9uCisgIHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCkBAIC0yNTg0LDE3ICsxNjMyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uKAotICAgIGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0LAotICAg
IGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGludCByZWZf
c3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDggXAot
ICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfbmVvbgorICB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDhfYwogCiB1aW50MzJfdCB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTI2MDQsMTcgKzE2NDMsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbigKLSAgICBjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwK
LSAgICBpbnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKICNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngx
NiBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTZfbmVvbgorICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X2MKIAogdWludDMyX3QgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNjI0LDE3ICsxNjU0LDggQEAgdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25lb24oCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9v
ZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlMzJ4MzIgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyX25l
b24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMl9jCiAKIHVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjY0NCwxNyArMTY2NSw4IEBAIHVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NF9uZW9u
KAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAg
aW50IHhfb2Zmc2V0LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTMyeDY0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Uz
Mng2NF9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfYwog
CiB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjY2NCwxNyArMTY3Niw4IEBAIHVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVp
bnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X25lb24oCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9v
ZmZzZXQsCi0gICAgaW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90
KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfbmVvbgor
ICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90IHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0yNjg0LDE3ICsxNjg3LDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBp
bnQgeV9vZmZzZXQsCi0gICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICB1aW50MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDggXAotICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OF9uZW9uCisgIHZweF9oaWdoYmRf
OF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC0yNzA0LDE3ICsxNjk4LDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11aW50MzJfdCB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24oCi0gICAgY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAg
aW50IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIgXAot
ICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24KKyAgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9jCiAKIHVpbnQzMl90IHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtMjcyNCwxNyArMTcwOSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRf
OF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3Qg
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9uZW9uKAotICAgIGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0
LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGlu
dCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0
eDY0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NF9uZW9uCisg
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfYwogCiB1aW50MzJfdCB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0yNzQ0LDE3ICsxNzIwLDggQEAgdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNl9uZW9uKAotICAgIGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgaW50IHhfb2Zmc2V0
LAotICAgIGludCB5X29mZnNldCwKLSAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgIGlu
dCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90KiBzc2UsCi0gICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4
MTYgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfbmVvbgorICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTZfYwogCiB1aW50MzJfdCB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtMjc2NCwxNyArMTczMSw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRf
OF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVpbnQzMl90IHZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24oCi0gICAgY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBpbnQgeF9vZmZzZXQsCi0gICAgaW50
IHlfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgdWludDMyX3QqIHNzZSwKLSAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0IFwKLSAgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDRfbmVvbgorICB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC0yNzg0LDE3ICsxNzQyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U4eDhfbmVvbigKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
IGludCBzcmNfc3RyaWRlLAotICAgIGludCB4X29mZnNldCwKLSAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50
MzJfdCogc3NlLAotICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDggXAotICB2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTh4OF9uZW9uCisgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlOHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5j
ZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjgwMywxNSArMTc1
Miw4IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVp
bnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX3ZhcmlhbmNlMTZ4MTYgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4
MTZfbmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfYwogCiB1aW50
MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzJfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC0yODIwLDE1ICsxNzYyLDggQEAgdWludDMyX3QgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1
Yl9waXhlbF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMiBcCi0g
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9uZW9uCisgIHZweF9oaWdoYmRf
OF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfdmFyaWFuY2UxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0y
ODM3LDE1ICsxNzcyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5j
ZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX3ZhcmlhbmNlMTZ4OCBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4
X25lb24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDhfYwogCiB1aW50MzJf
dCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0yODU0LDE1ICsxNzgyLDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF92YXJpYW5jZTMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNiBcCi0gIHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uCisgIHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTI4
NzEsMTUgKzE3OTIsOCBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNl
MzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNzZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9vZmZzZXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKICNkZWZpbmUgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92
YXJpYW5jZTMyeDMyX25lb24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMy
X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjg4OCwxNSArMTgwMiw4IEBAIHVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNl
MzJ4NjQgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRfbmVvbgorICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjRfYwogCiB1aW50MzJfdCB2cHhfaGln
aGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTI5MDUsMTUgKzE4MTIsNyBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlNHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDQgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTR4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfdmFyaWFuY2U0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjkyMiwx
NSArMTgyMSw3IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7Ci11aW50
MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDgg
XAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4X25lb24KKyNkZWZpbmUgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4OCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlNHg4X2MKIAogdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTY0
eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtMjkzOSwxNSArMTgzMCw4
IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3NlKTsKLXVpbnQz
Ml90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlNjR4MzIgXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJf
bmVvbgorICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfYwogCiB1aW50MzJf
dCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCkBAIC0yOTU2LDE1ICsxODQwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NCBcCi0gIHZw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9uZW9uCisgIHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfdmFyaWFuY2U2NHg2NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfdmFyaWFuY2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC0yOTcz
LDE1ICsxODUwLDggQEAgdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4
MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNzZSk7
Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwogI2RlZmluZSB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlOHgxNiBcCi0gIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2X25l
b24KKyAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4MTZfYwogCiB1aW50MzJfdCB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTI5OTAsMTUgKzE4NjAsNyBAQCB1aW50MzJfdCB2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX3ZhcmlhbmNlOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzc2UpOwotdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4
NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfb2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X29mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX3ZhcmlhbmNlOHg0IFwKLSAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4
NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDQgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4NF9jCiAKIHVpbnQzMl90IHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfdmFyaWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAt
MzAwNywxNzkgKzE4NjksMTA0IEBAIHVpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNz
ZSk7Ci11aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDggXAotICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X25lb24KKyNk
ZWZpbmUgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4OCB2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX3ZhcmlhbmNlOHg4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5j
ZTE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2X25lb24oY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGln
aGJkXzhfdmFyaWFuY2UxNngxNiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngxNl9uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2
X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfOF92YXJpYW5jZTE2eDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngz
MiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92
YXJpYW5jZTE2eDMyIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyX2MKIAogdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNng4X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDggdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMTZ4OF9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDggdnB4X2hpZ2hiZF84X3Zhcmlh
bmNlMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngxNl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3Zhcmlh
bmNlMzJ4MTYgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkXzhfdmFyaWFuY2UzMngxNiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngxNl9jCiAKIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFu
Y2UzMngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MzIgdnB4X2hpZ2hi
ZF84X3ZhcmlhbmNlMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngz
MiB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
XzhfdmFyaWFuY2UzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCog
c3NlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4NjQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4NjRf
bmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NCB2cHhfaGlnaGJkXzhfdmFy
aWFuY2UzMng2NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfOF92YXJpYW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTR4NCB2cHhfaGlnaGJk
XzhfdmFyaWFuY2U0eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDQgdnB4
X2hpZ2hiZF84X3ZhcmlhbmNlNHg0X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJp
YW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg4
IHZweF9oaWdoYmRfOF92YXJpYW5jZTR4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJp
YW5jZTR4OCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF84X3ZhcmlhbmNlNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzJfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDMyIHZweF9oaWdoYmRfOF92YXJpYW5jZTY0
eDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzIgdnB4X2hpZ2hiZF84
X3ZhcmlhbmNlNjR4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4
NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjRfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
OF92YXJpYW5jZTY0eDY0IHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDY0X25lb24KKyNkZWZpbmUg
dnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjRfYwog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJp
YW5jZTh4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNiB2cHhfaGlnaGJkXzhf
dmFyaWFuY2U4eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNiB2cHhf
aGlnaGJkXzhfdmFyaWFuY2U4eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJp
YW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg0
IHZweF9oaWdoYmRfOF92YXJpYW5jZTh4NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfOF92YXJp
YW5jZTh4NCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF84X3ZhcmlhbmNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDhfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotI2RlZmluZSB2cHhfaGlnaGJkXzhf
dmFyaWFuY2U4eDggdnB4X2hpZ2hiZF84X3ZhcmlhbmNlOHg4X25lb24KKyNkZWZpbmUgdnB4X2hp
Z2hiZF84X3ZhcmlhbmNlOHg4IHZweF9oaWdoYmRfOF92YXJpYW5jZTh4OF9jCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX2F2Z180eDRfYyhjb25zdCB1aW50OF90KiBzOCwgaW50IHApOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfYXZnXzR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHM4LCBpbnQg
cCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfYXZnXzR4NCB2cHhfaGlnaGJkX2F2Z180eDRfbmVvbgor
I2RlZmluZSB2cHhfaGlnaGJkX2F2Z180eDQgdnB4X2hpZ2hiZF9hdmdfNHg0X2MKIAogdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfYXZnXzh4OF9jKGNvbnN0IHVpbnQ4X3QqIHM4LCBpbnQgcCk7Ci11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9hdmdfOHg4X25lb24oY29uc3QgdWludDhfdCogczgsIGlu
dCBwKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9hdmdfOHg4IHZweF9oaWdoYmRfYXZnXzh4OF9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfYXZnXzh4OCB2cHhfaGlnaGJkX2F2Z184eDhfYwogCiB2b2lk
IHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZF9jKHVpbnQxNl90KiBjb21wX3ByZWQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBwcmVkLApAQCAtMzE4Nywx
MyArMTk3NCw3IEBAIHZvaWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2ModWludDE2X3QqIGNv
bXBfcHJlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHJlZiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdm9pZCB2cHhfaGln
aGJkX2NvbXBfYXZnX3ByZWRfbmVvbih1aW50MTZfdCogY29tcF9wcmVkLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogcHJlZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50MTZfdCogcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZCB2
cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2NvbXBfYXZn
X3ByZWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2MKIAogdm9pZCB2cHhfaGlnaGJkX2NvbnZv
bHZlOF9jKGNvbnN0IHVpbnQxNl90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0zNDA4LDQ4ICsyMTg5LDI4IEBAIHZvaWQgdnB4X2hp
Z2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9o
aWdoYmRfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNiB2cHhfaGlnaGJk
X2QxMTdfcHJlZGljdG9yXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRp
Y3Rvcl8xNngxNiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzE2eDE2X2MKIAogdm9pZCB2cHhf
aGlnaGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyX2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZw
eF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBh
Ym92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8zMngzMiB2cHhfaGln
aGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3By
ZWRpY3Rvcl8zMngzMiB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyX2MKIAogdm9pZCB2
cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hi
ZF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfNHg0IHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3Jf
NHg0X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hi
ZF9kMTE3X3ByZWRpY3Rvcl80eDRfYwogCiB2b2lkIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3Jf
OHg4X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzh4OF9uZW9u
KHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rv
cl84eDggdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbgorI2RlZmluZSB2cHhfaGln
aGJkX2QxMTdfcHJlZGljdG9yXzh4OCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzh4OF9jCiAK
IHZvaWQgdnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApA
QCAtMzUwNCw5NiArMjI2NSw1NiBAQCB2b2lkIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4
MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzE2
eDE2X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfZDE1M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9k
MTUzX3ByZWRpY3Rvcl8xNngxNl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8z
MngzMl9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9y
XzMyeDMyX25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfZDE1M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8zMngz
Ml9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hi
ZF9kMTUzX3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rv
cl80eDRfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfNHg0X25l
b24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2QxNTNfcHJlZGlj
dG9yXzR4NCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5lIHZweF9o
aWdoYmRfZDE1M19wcmVkaWN0b3JfNHg0IHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfNHg0X2MK
IAogdm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxl
ZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQg
dnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbih1aW50MTZfdCogZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3Zl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90
KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfOHg4IHZweF9oaWdoYmRfZDE1M19w
cmVkaWN0b3JfOHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDgg
dnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDhfYwogCiB2b2lkIHZweF9oaWdoYmRfZDIwN19w
cmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF9kMjA3
X3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2Rl
ZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzE2eDE2IHZweF9oaWdoYmRfZDIwN19wcmVk
aWN0b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzE2eDE2
IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMTZ4MTZfYwogCiB2b2lkIHZweF9oaWdoYmRfZDIw
N19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF9k
MjA3X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxl
ZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwot
I2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzMyeDMyIHZweF9oaWdoYmRfZDIwN19w
cmVkaWN0b3JfMzJ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzMy
eDMyIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYwogCiB2b2lkIHZweF9oaWdoYmRf
ZDIwN19wcmVkaWN0b3JfNHg0X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2QyMDdfcHJl
ZGljdG9yXzR4NF9uZW9uKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF9kMjA3X3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbgor
I2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzR4NCB2cHhfaGlnaGJkX2QyMDdfcHJl
ZGljdG9yXzR4NF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl84eDhfYyh1aW50
MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBsZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3Qq
IGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzh4OCB2cHhf
aGlnaGJkX2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDIwN19w
cmVkaWN0b3JfOHg4IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4X2MKIAogdm9pZCB2cHhf
aGlnaGJkX2Q0NV9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtMzY0OCw0OCAr
MjM2OSwyOCBAQCB2b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90
KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBhYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90
KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngx
NiB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMTZ4MTZfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJk
X2Q2M19wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzE2eDE2X2MKIAog
dm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZfdCogZHN0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBs
ZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9p
ZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZfdCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCog
YWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hi
ZF9kNjNfcHJlZGljdG9yXzMyeDMyX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9kNjNfcHJlZGlj
dG9yXzMyeDMyIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8zMngzMl9jCiAKIHZvaWQgdnB4X2hp
Z2hiZF9kNjNfcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVk
aWN0b3JfNHg0X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZDYz
X3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4NF9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl80eDQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4
NF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3Zl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxl
ZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2
cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVm
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9y
Xzh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDggdnB4X2hpZ2hi
ZF9kNjNfcHJlZGljdG9yXzh4OF9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9kY18xMjhfcHJlZGljdG9y
XzE2eDE2X2ModWludDE2X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKQEAgLTM4ODgsNTQgKzI1ODksMzMgQEAgdm9pZCB2
cHhfaGlnaGJkX2RjX3RvcF9wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QqIGRzdCwKIHZvaWQg
dnB4X2hpZ2hiZF9mZGN0MTZ4MTZfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9oaWdoYmRfZmRjdDE2eDE2X25lb24oY29u
c3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUp
OwotI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3QxNngxNiB2cHhfaGlnaGJkX2ZkY3QxNngxNl9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2eDE2IHZweF9oaWdoYmRfZmRjdDE2eDE2X2MKIAog
dm9pZCB2cHhfaGlnaGJkX2ZkY3QxNngxNl8xX2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2hpZ2hiZF9mZGN0MTZ4
MTZfMV9uZW9uKGNvbnN0IGludDE2X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2eDE2XzEgdnB4X2hp
Z2hiZF9mZGN0MTZ4MTZfMV9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDE2eDE2XzEgdnB4
X2hpZ2hiZF9mZGN0MTZ4MTZfMV9jCiAKIHZvaWQgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfYyhjb25z
dCBpbnQxNl90KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lk
IHZweF9oaWdoYmRfZmRjdDMyeDMyX25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3Qz
MngzMiB2cHhfaGlnaGJkX2ZkY3QzMngzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDMy
eDMyIHZweF9oaWdoYmRfZmRjdDMyeDMyX2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3QzMngzMl8x
X2MoY29uc3QgaW50MTZfdCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Ry
aWRlKTsKLXZvaWQgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9uZW9uKGNvbnN0IGludDE2X3QqIGlu
cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5l
IHZweF9oaWdoYmRfZmRjdDMyeDMyXzEgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9uZW9uCisjZGVm
aW5lIHZweF9oaWdoYmRfZmRjdDMyeDMyXzEgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9jCiAKIHZv
aWQgdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfcmRfYyhjb25zdCBpbnQxNl90KiBpbnB1dCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9oaWdoYmRfZmRjdDMy
eDMyX3JkX25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3QzMngzMl9yZCB2
cHhfaGlnaGJkX2ZkY3QzMngzMl9yZF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfZmRjdDMyeDMy
X3JkIHZweF9oaWdoYmRfZmRjdDMyeDMyX3JkX2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q0eDRf
Yyhjb25zdCBpbnQxNl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsK
LXZvaWQgdnB4X2hpZ2hiZF9mZGN0NHg0X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDR4
NCB2cHhfaGlnaGJkX2ZkY3Q0eDRfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3Q0eDQgdnB4
X2hpZ2hiZF9mZGN0NHg0X2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhfYyhjb25zdCBpbnQx
Nl90KiBpbnB1dCwgdHJhbl9sb3dfdCogb3V0cHV0LCBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2hp
Z2hiZF9mZGN0OHg4X25lb24oY29uc3QgaW50MTZfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfZmRjdDh4OCB2cHhfaGlnaGJk
X2ZkY3Q4eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX2ZkY3Q4eDggdnB4X2hpZ2hiZF9mZGN0
OHg4X2MKIAogdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhfMV9jKGNvbnN0IGludDE2X3QqIGlucHV0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIG91dHB1dCwKQEAgLTM5
OTQsMjYgKzI2NzQsMTcgQEAgdm9pZCB2cHhfaGlnaGJkX2hfcHJlZGljdG9yXzh4OF9uZW9uKHVp
bnQxNl90KiBkc3QsCiB2b2lkIHZweF9oaWdoYmRfaGFkYW1hcmRfMTZ4MTZfYyhjb25zdCBpbnQx
Nl90KiBzcmNfZGlmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogY29lZmYpOwotdm9pZCB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X25lb24oY29uc3QgaW50
MTZfdCogc3JjX2RpZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIGNvZWZmKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9oYWRhbWFyZF8xNngxNiB2cHhf
aGlnaGJkX2hhZGFtYXJkXzE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9oYWRhbWFyZF8x
NngxNiB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X2MKIAogdm9pZCB2cHhfaGlnaGJkX2hhZGFt
YXJkXzMyeDMyX2MoY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIGNvZWZmKTsKLXZvaWQgdnB4X2hpZ2hiZF9oYWRhbWFy
ZF8zMngzMl9uZW9uKGNvbnN0IGludDE2X3QqIHNyY19kaWZmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBjb2VmZik7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfaGFkYW1hcmRfMzJ4MzIgdnB4X2hpZ2hiZF9oYWRhbWFyZF8zMngzMl9uZW9uCisjZGVmaW5l
IHZweF9oaWdoYmRfaGFkYW1hcmRfMzJ4MzIgdnB4X2hpZ2hiZF9oYWRhbWFyZF8zMngzMl9jCiAK
IHZvaWQgdnB4X2hpZ2hiZF9oYWRhbWFyZF84eDhfYyhjb25zdCBpbnQxNl90KiBzcmNfZGlmZiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBjb2VmZik7Ci12b2lkIHZw
eF9oaWdoYmRfaGFkYW1hcmRfOHg4X25lb24oY29uc3QgaW50MTZfdCogc3JjX2RpZmYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogY29lZmYpOwotI2RlZmlu
ZSB2cHhfaGlnaGJkX2hhZGFtYXJkXzh4OCB2cHhfaGlnaGJkX2hhZGFtYXJkXzh4OF9uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfaGFkYW1hcmRfOHg4IHZweF9oaWdoYmRfaGFkYW1hcmRfOHg4X2MK
IAogdm9pZCB2cHhfaGlnaGJkX2lkY3QxNngxNl8xMF9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBp
bnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGRlc3Qs
CkBAIC00MzU1LDc4MSArMzAyNiwzMDAgQEAgdm9pZCB2cHhfaGlnaGJkX21pbm1heF84eDhfYyhj
b25zdCB1aW50OF90KiBzOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRwLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG1pbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50KiBtYXgpOwotdm9pZCB2cHhfaGlnaGJkX21pbm1heF84eDhfbmVvbihj
b25zdCB1aW50OF90KiBzOCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGQ4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCogbWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQqIG1heCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfbWlubWF4Xzh4OCB2cHhfaGlnaGJkX21pbm1h
eF84eDhfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX21pbm1heF84eDggdnB4X2hpZ2hiZF9taW5t
YXhfOHg4X2MKIAogdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfYyhjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29l
ZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRl
cXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciog
Y29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9uZW9uKGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRl
cik7Ci0jZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYiB2cHhfaGlnaGJkX3F1YW50aXplX2Jf
bmVvbgotCi12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jKAotICAgIGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSog
Y29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xv
d190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1
aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKLXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX25lb24oCi0gICAgY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3Bs
YW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRy
YW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAot
ICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0
IHNjYW5fb3JkZXIpOwotI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzIgdnB4X2hp
Z2hiZF9xdWFudGl6ZV9iXzMyeDMyX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2IgdnB4X2hpZ2hi
ZF9xdWFudGl6ZV9iX2MKKwordm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYyhjb25z
dCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsK
KyNkZWZpbmUgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyIHZweF9oaWdoYmRfcXVhbnRpemVf
Yl8zMngzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNiB2cHhfaGlnaGJk
X3NhZDE2eDE2X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNiB2cHhfaGlnaGJkX3Nh
ZDE2eDE2X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkMTZ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZyB2cHhfaGln
aGJkX3NhZDE2eDE2X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnIHZw
eF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGQgdnB4X2hp
Z2hiZF9zYWQxNngxNng0ZF9uZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZCB2cHhfaGln
aGJkX3NhZDE2eDE2eDRkX2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyIHZw
eF9oaWdoYmRfc2FkMTZ4MzJfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyIHZweF9o
aWdoYmRfc2FkMTZ4MzJfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZn
IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngz
Ml9hdmcgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4
MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMng0
ZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyeDRk
IHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQx
Nng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDggdnB4
X2hpZ2hiZF9zYWQxNng4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNng4IHZweF9oaWdo
YmRfc2FkMTZ4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQxNng4X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnIHZweF9oaWdoYmRfc2Fk
MTZ4OF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnIHZweF9oaWdoYmRf
c2FkMTZ4OF9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfbmVvbgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQxNng4eDRkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9jCiAKIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNiB2cHhfaGlnaGJkX3NhZDMyeDE2X25lb24KKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNiB2cHhfaGlnaGJkX3NhZDMyeDE2X2MKIAogdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
I2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19u
ZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnIHZweF9oaWdoYmRfc2FkMzJ4MTZf
YXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9u
ZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
KyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2MK
IAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyIHZweF9oaWdoYmRfc2FkMzJ4MzJf
bmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyIHZweF9oaWdoYmRfc2FkMzJ4MzJfYwog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngz
Ml9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnIHZweF9oaWdoYmRfc2FkMzJ4
MzJfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcgdnB4X2hpZ2hiZF9z
YWQzMngzMl9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCB2cHhfaGlnaGJkX3NhZDMy
eDMyeDRkX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkIHZweF9oaWdoYmRfc2FkMzJ4
MzJ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjQgdnB4X2hpZ2hiZF9z
YWQzMng2NF9uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjQgdnB4X2hpZ2hiZF9zYWQz
Mng2NF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDMyeDY0X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcgdnB4X2hpZ2hi
ZF9zYWQzMng2NF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZyB2cHhf
aGlnaGJkX3NhZDMyeDY0X2F2Z19jCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkIHZweF9oaWdo
YmRfc2FkMzJ4NjR4NGRfbmVvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgdnB4X2hpZ2hi
ZF9zYWQzMng2NHg0ZF9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4NCB2cHhfaGlnaGJkX3NhZDR4NF9uZW9u
CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0IHZweF9oaWdoYmRfc2FkNHg0X2MKIAogdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkNHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDRfYXZnX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ0eDRfYXZnIHZweF9oaWdoYmRfc2FkNHg0X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRf
c2FkNHg0X2F2ZyB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2Fk
NHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRfbmVvbihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4NHg0ZCB2cHhfaGlnaGJkX3NhZDR4NHg0
ZF9uZW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0eDRkIHZweF9oaWdoYmRfc2FkNHg0eDRkX2MKIAog
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDR4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkNHg4IHZweF9oaWdoYmRfc2FkNHg4X25lb24KKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQ0eDggdnB4X2hpZ2hiZF9zYWQ0eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ0eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDR4OF9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDR4OF9hdmcgdnB4X2hpZ2hi
ZF9zYWQ0eDhfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ0eDhfYXZnIHZweF9oaWdo
YmRfc2FkNHg4X2F2Z19jCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkNHg4eDRkIHZweF9oaWdoYmRfc2FkNHg4eDRkX25lb24KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQ0eDh4NGQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQ2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfc2FkNjR4MzIgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9uZW9uCisjZGVmaW5lIHZweF9oaWdo
YmRfc2FkNjR4MzIgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9jCiAKIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hp
Z2hiZF9zYWQ2NHgzMl9hdmcgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfbmVvbgorI2RlZmluZSB2
cHhfaGlnaGJkX3NhZDY0eDMyX2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19jCiAKIHZvaWQg
dnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGln
aGJkX3NhZDY0eDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDY0eDMyeDRkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfbmVvbgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9o
aWdoYmRfc2FkNjR4MzJ4NGQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9jCiAKIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQ2NHg2NCB2cHhfaGlnaGJkX3NhZDY0eDY0X25lb24KKyNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWQ2NHg2NCB2cHhfaGlnaGJkX3NhZDY0eDY0X2MKIAogdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmlu
ZSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19uZW9uCisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2MK
IAogdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfc2FkNjR4NjR4NGQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9uZW9uCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2MKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWQ4eDE2IHZweF9oaWdoYmRfc2FkOHgxNl9uZW9uCisjZGVmaW5lIHZw
eF9oaWdoYmRfc2FkOHgxNiB2cHhfaGlnaGJkX3NhZDh4MTZfYwogCiB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQ4eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9hdmdfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ4eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnX25lb24KKyNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWQ4eDE2X2F2ZyB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJk
X3NhZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4MTZ4NGQgdnB4
X2hpZ2hiZF9zYWQ4eDE2eDRkX25lb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkOHgxNng0ZCB2cHhfaGln
aGJkX3NhZDh4MTZ4NGRfYwogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDQgdnB4X2hpZ2hiZF9zYWQ4eDRfbmVv
bgorI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NCB2cHhfaGlnaGJkX3NhZDh4NF9jCiAKIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDh4NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X2F2Z19uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkOHg0X2F2ZyB2cHhfaGlnaGJkX3NhZDh4NF9hdmdfbmVvbgorI2RlZmluZSB2cHhfaGlnaGJk
X3NhZDh4NF9hdmcgdnB4X2hpZ2hiZF9zYWQ4eDRfYXZnX2MKIAogdm9pZCB2cHhfaGlnaGJkX3Nh
ZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkOHg0eDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDR4NGQgdnB4X2hpZ2hiZF9zYWQ4eDR4
NGRfbmVvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
OworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDh4NHg0ZCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9jCiAK
IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQ4eDhfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2
cHhfaGlnaGJkX3NhZDh4OCB2cHhfaGlnaGJkX3NhZDh4OF9uZW9uCisjZGVmaW5lIHZweF9oaWdo
YmRfc2FkOHg4IHZweF9oaWdoYmRfc2FkOHg4X2MKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkOHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnIHZweF9oaWdo
YmRfc2FkOHg4X2F2Z19uZW9uCisjZGVmaW5lIHZweF9oaWdoYmRfc2FkOHg4X2F2ZyB2cHhfaGln
aGJkX3NhZDh4OF9hdmdfYwogCiB2b2lkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2
cHhfaGlnaGJkX3NhZDh4OHg0ZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9uZW9uCi0KLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNngxNiB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X25lb24KLQot
dm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhf
aGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfbmVv
bgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzIgdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
NngzMl9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngz
Mng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDMyeDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4IHZweF9oaWdoYmRfc2FkX3Nr
aXBfMTZ4OF9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0
ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmlu
ZSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRk
X25lb24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2IHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MTZfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4MTZ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMngxNng0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMiB2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDMyX25lb24KLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDMyeDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkIHZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8zMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4NjQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8zMng2NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX25lb24KLQotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBf
NHg0IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X25lb24KLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRf
c2FkX3NraXBfNHg0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF80eDR4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
X3NraXBfNHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDggdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfbmVv
bgotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lw
XzR4OHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF82NHgzMiB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX25lb24KLQotdm9pZCB2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX25lb24oY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDMyeDRkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbgotCi11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2
NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVm
aW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9u
ZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZp
bmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0
eDRkX25lb24KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF84eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2IHZweF9oaWdoYmRfc2FkX3NraXBfOHgx
Nl9uZW9uCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhf
aGlnaGJkX3NhZF9za2lwXzh4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX25lb24K
LQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdo
YmRfc2FkX3NraXBfOHg0IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X25lb24KLQotdm9pZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF84eDR4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkX3NraXBfOHg4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDggdnB4X2hpZ2hiZF9zYWRf
c2tpcF84eDhfbmVvbgotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGln
aGJkX3NhZF9za2lwXzh4OHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZF9uZW9uCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZw
eF9oaWdoYmRfc2FkOHg4eDRkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MKIAogaW50IHZweF9oaWdo
YmRfc2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLWludCB2cHhf
aGlnaGJkX3NhdGRfbmVvbihjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7Ci0j
ZGVmaW5lIHZweF9oaWdoYmRfc2F0ZCB2cHhfaGlnaGJkX3NhdGRfbmVvbgorI2RlZmluZSB2cHhf
aGlnaGJkX3NhdGQgdnB4X2hpZ2hiZF9zYXRkX2MKIAogdm9pZCB2cHhfaGlnaGJkX3N1YnRyYWN0
X2Jsb2NrX2MoaW50IHJvd3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
Y29scywKQEAgLTUxNDAsMTYgKzMzMzAsNyBAQCB2b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxv
Y2tfYyhpbnQgcm93cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHByZWQ4X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBwcmVkX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBi
ZCk7Ci12b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfbmVvbihpbnQgcm93cywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUg
dnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX25lb24K
KyNkZWZpbmUgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayB2cHhfaGlnaGJkX3N1YnRyYWN0X2Js
b2NrX2MKIAogdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKQEAgLTUzMzEsMTEgKzM1MTIsMTEgQEAgaW50MTZfdCB2cHhfaW50X3Byb19jb2xfYyhjb25z
dCB1aW50OF90KiByZWYsIGNvbnN0IGludCB3aWR0aCk7CiBpbnQxNl90IHZweF9pbnRfcHJvX2Nv
bF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHJlZiwgY29uc3QgaW50IHdpZHRoKTsKICNkZWZpbmUgdnB4
X2ludF9wcm9fY29sIHZweF9pbnRfcHJvX2NvbF9uZW9uCiAKLXZvaWQgdnB4X2ludF9wcm9fcm93
X2MoaW50MTZfdCBoYnVmWzE2XSwKK3ZvaWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCogaGJ1
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50IGhlaWdodCk7Ci12b2lkIHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3Qg
aGJ1ZlsxNl0sCit2b2lkIHZweF9pbnRfcHJvX3Jvd19uZW9uKGludDE2X3QqIGhidWYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludCBoZWlnaHQpOwpAQCAtNTU2Myw3OSArMzc0NCwyOCBAQCB1bnNpZ25lZCBp
bnQgdnB4X21zZTE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfbXNlMTZ4MTZf
bmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9tc2UxNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF9tc2UxNngxNiB2cHhfbXNlMTZ4MTZfbmVvbgogCiB1
bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21zZTE2eDhfbmVvbihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X21z
ZTE2eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X21zZTE2eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7CisjZGVmaW5lIHZweF9tc2UxNng4IHZweF9tc2UxNng4X2MKIAogdW5zaWduZWQg
aW50IHZweF9tc2U4eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotdW5zaWduZWQgaW50IHZweF9tc2U4eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9tc2U4eDE2X25l
b25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9tc2U4eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OworI2RlZmluZSB2cHhfbXNlOHgxNiB2cHhfbXNlOHgxNl9jCiAKIHVuc2lnbmVkIGludCB2cHhf
bXNlOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X21zZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF9tc2U4eDhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfbXNlOHg4KShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF9tc2U4eDggdnB4X21z
ZTh4OF9jCiAKIHZvaWQgdnB4X3BsYW5lX2FkZF9ub2lzZV9jKHVpbnQ4X3QqIHN0YXJ0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90KiBub2lzZSwKQEAgLTU2NjUsMzYg
KzM3OTUsNTggQEAgdm9pZCB2cHhfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19tYl9yb3dfbmVv
bih1bnNpZ25lZCBjaGFyKiBzcmMsCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfYyhjb25zdCB0cmFu
X2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2Vm
ZnMsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUq
IGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAor
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Cisg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFudGl6ZV9iX25lb24o
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3Vu
ZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYiB2cHhfcXVh
bnRpemVfYl9uZW9uCiAKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFu
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
c2hpZnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2Nh
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2
b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
X3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tp
cF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6
YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
cXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogI2RlZmluZSB2cHhfcXVhbnRpemVfYl8zMngzMiB2
cHhfcXVhbnRpemVfYl8zMngzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNTcwNSwxNCArMzg1Nyw3IEBAIHVuc2lnbmVkIGlu
dCB2cHhfc2FkMTZ4MTZfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9uZW9u
X2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9zYWQxNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2IHZweF9zYWQxNngxNl9uZW9uCiAKIHVuc2lnbmVkIGlu
dCB2cHhfc2FkMTZ4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01NzI0LDM3ICszODY5LDMz
IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNl
Y29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwot
UlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDE2eDE2X2F2ZykoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2Rl
ZmluZSB2cHhfc2FkMTZ4MTZfYXZnIHZweF9zYWQxNngxNl9hdmdfbmVvbgorCit2b2lkIHZweF9z
YWQxNngxNngzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkMTZ4MTZ4
MyB2cHhfc2FkMTZ4MTZ4M19jCiAKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDE2eDRkX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2Fk
MTZ4MTZ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X3NhZDE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwor
I2RlZmluZSB2cHhfc2FkMTZ4MTZ4NGQgdnB4X3NhZDE2eDE2eDRkX25lb24KKwordm9pZCB2cHhf
c2FkMTZ4MTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDE2
eDggdnB4X3NhZDE2eDE2eDhfYwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKQEAgLTU3NjQsMTQgKzM5MDUsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2Fk
MTZ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9z
YWQxNngzMiB2cHhfc2FkMTZ4MzJfbmVvbgogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDMyX2F2
Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTc4MywzNyArMzkxNywxOSBAQCB1bnNpZ25lZCBpbnQg
dnB4X3NhZDE2eDMyX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNp
Z25lZCBpbnQgdnB4X3NhZDE2eDMyX2F2Z19uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9zYWQxNngzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDE2eDMy
X2F2ZyB2cHhfc2FkMTZ4MzJfYXZnX25lb24KIAogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9zYWQxNngzMng0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9zYWQxNngzMng0ZCB2cHhfc2FkMTZ4MzJ4NGRfbmVvbgogCiB1
bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01ODIzLDE0ICszOTM5LDcg
QEAgdW5zaWduZWQgaW50IHZweF9zYWQxNng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2Fk
MTZ4OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9zYWQxNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOworI2RlZmluZSB2cHhfc2FkMTZ4OCB2cHhfc2FkMTZ4OF9uZW9uCiAKIHVuc2lnbmVkIGlu
dCB2cHhfc2FkMTZ4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTg0MiwzNyArMzk1MSwzMyBA
QCB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9w
cmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9zYWQxNng4X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQxNng4
X2F2ZyB2cHhfc2FkMTZ4OF9hdmdfbmVvbgorCit2b2lkIHZweF9zYWQxNng4eDNfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDE2eDh4MyB2cHhfc2FkMTZ4OHgzX2MKIAogdm9p
ZCB2cHhfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQx
Nng4eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X3NhZDE2eDh4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4OHg0ZCkoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4eDRkIHZweF9zYWQxNng4eDRkX25lb24KKwordm9p
ZCB2cHhfc2FkMTZ4OHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQxNng4
eDggdnB4X3NhZDE2eDh4OF9jCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLApAQCAtNTg4MiwxNCArMzk4Nyw3IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfbmVv
bihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQzMngxNl9uZW9uX2RvdHByb2QoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQz
MngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3Nh
ZDMyeDE2IHZweF9zYWQzMngxNl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYXZn
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC01OTAxLDM3ICszOTk5LDE5IEBAIHVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4MTZfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2ln
bmVkIGludCB2cHhfc2FkMzJ4MTZfYXZnX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWdu
ZWQgaW50ICgqdnB4X3NhZDMyeDE2X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkMzJ4MTZf
YXZnIHZweF9zYWQzMngxNl9hdmdfbmVvbgogCiB2b2lkIHZweF9zYWQzMngxNng0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngxNng0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X3NhZDMyeDE2eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQzMngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKKyNkZWZpbmUgdnB4X3NhZDMyeDE2eDRkIHZweF9zYWQzMngxNng0ZF9uZW9uCiAKIHVu
c2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNTk0MSwxNCArNDAyMSw3
IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9zYWQzMngzMl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJU
Q0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQzMngzMikoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDMyeDMyIHZweF9zYWQzMngzMl9uZW9u
CiAKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01
OTYwLDM3ICs0MDMzLDI2IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZn
X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDMyX2F2
ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkMzJ4MzJfYXZnIHZweF9zYWQzMngzMl9hdmdfbmVv
bgogCiB2b2lkIHZweF9zYWQzMngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiB2b2lkIHZweF9zYWQzMngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDMyeDMyeDRkX25lb25fZG90
cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9z
YWQzMngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDMy
eDMyeDRkIHZweF9zYWQzMngzMng0ZF9uZW9uCisKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQzMngzMng4IHZweF9zYWQzMngzMng4
X2MKIAogdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC02MDAwLDE0
ICs0MDYyLDcgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZDMyeDY0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDY0KShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfc2FkMzJ4NjQgdnB4X3NhZDMy
eDY0X25lb24KIAogdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTYwMTksMzcgKzQwNzQsMTkgQEAgdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9hdmdf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQz
Mng2NF9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2Fk
MzJ4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQzMng2NF9hdmcgdnB4X3NhZDMyeDY0
X2F2Z19uZW9uCiAKIHZvaWQgdnB4X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKIHZvaWQgdnB4X3NhZDMyeDY0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkMzJ4NjR4NGRf
bmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lk
ICgqdnB4X3NhZDMyeDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2
cHhfc2FkMzJ4NjR4NGQgdnB4X3NhZDMyeDY0eDRkX25lb24KIAogdW5zaWduZWQgaW50IHZweF9z
YWQ0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKQEAgLTYwNzMsMTggKzQxMTAsMzIgQEAgdW5zaWduZWQgaW50IHZw
eF9zYWQ0eDRfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUg
dnB4X3NhZDR4NF9hdmcgdnB4X3NhZDR4NF9hdmdfbmVvbgogCit2b2lkIHZweF9zYWQ0eDR4M19j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ0eDR4MyB2cHhfc2FkNHg0eDNfYworCiB2
b2lkIHZweF9zYWQ0eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNHg0eDRk
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X3Nh
ZDR4NHg0ZCB2cHhfc2FkNHg0eDRkX25lb24KIAordm9pZCB2cHhfc2FkNHg0eDhfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOworI2RlZmluZSB2cHhfc2FkNHg0eDggdnB4X3NhZDR4NHg4X2MKKwogdW5zaWduZWQg
aW50IHZweF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTYxMDksMTQgKzQxNjAsMTQgQEAgdW5zaWduZWQgaW50
IHZweF9zYWQ0eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhf
c2FkNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDR4OHg0ZF9uZW9uKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0eDh4NGQg
dnB4X3NhZDR4OHg0ZF9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLApAQCAtNjEyNywxNCArNDE3OCw3IEBAIHVuc2lnbmVkIGludCB2cHhf
c2FkNjR4MzJfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHgzMl9uZW9uX2RvdHBy
b2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWQ2NHgzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNk
ZWZpbmUgdnB4X3NhZDY0eDMyIHZweF9zYWQ2NHgzMl9uZW9uCiAKIHVuc2lnbmVkIGludCB2cHhf
c2FkNjR4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC02MTQ2LDYxMiArNDE5MCwxODMgQEAg
dW5zaWduZWQgaW50IHZweF9zYWQ2NHgzMl9hdmdfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHgzMl9hdmdfbmVvbl9kb3Rwcm9kKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkNjR4MzJfYXZnKShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0KLXZvaWQg
dnB4X3NhZDY0eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9zYWQ2NHgzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkNjR4MzJ4NGRfbmVvbl9kb3Rwcm9k
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDY0
eDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGlu
dCB2cHhfc2FkNjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3NhZDY0eDY0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDY0eDY0KShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDY0eDY0
X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9hdmdfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfYXZnX25l
b25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDY0eDY0X2F2Zyko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwotCi12b2lkIHZweF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkNjR4NjR4NGRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZDY0eDY0
eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9zYWQ2NHg2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X25lb24o
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLSNkZWZpbmUgdnB4X3NhZDh4MTYgdnB4X3NhZDh4MTZfbmVvbgotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZDh4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdf
bmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkOHgxNl9hdmcgdnB4X3Nh
ZDh4MTZfYXZnX25lb24KLQotdm9pZCB2cHhfc2FkOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ4eDE2eDRkX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDh4MTZ4
NGQgdnB4X3NhZDh4MTZ4NGRfbmVvbgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X3NhZDh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWQ4eDQgdnB4X3NhZDh4NF9uZW9uCi0KLXVu
c2lnbmVkIGludCB2cHhfc2FkOHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHg0
X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3NhZDh4NF9hdmcgdnB4X3Nh
ZDh4NF9hdmdfbmVvbgotCi12b2lkIHZweF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ4eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3NhZDh4
NHg0ZF9uZW9uCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHg4X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLSNkZWZpbmUgdnB4X3NhZDh4OCB2cHhfc2FkOHg4X25lb24KLQotdW5zaWduZWQgaW50IHZw
eF9zYWQ4eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX25lb24oY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkOHg4X2F2ZyB2cHhfc2FkOHg4X2F2Z19uZW9u
Ci0KLXZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X3NhZDh4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhfc2FkOHg4eDRkX25lb24KLQot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MTZfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfc2FkX3NraXBfMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfc2FkX3NraXBfMTZ4MTZ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X3NhZF9za2lwXzE2eDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisjZGVmaW5lIHZweF9zYWQ2NHgzMl9hdmcgdnB4X3NhZDY0
eDMyX2F2Z19uZW9uCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MzJfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngzMl9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMyX25lb25fZG90cHJv
ZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9F
WFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzE2eDMyKShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tp
cF8xNngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX25lb25fZG90cHJvZChj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8xNngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4
X3NhZF9za2lwXzE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8x
Nng4X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
MTZ4OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8xNng4KShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZw
eF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uX2RvdHByb2QoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9zYWRfc2tpcF8xNng4eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8z
MngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4
MTZfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMzJ4MTYpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZv
aWQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMngx
Nng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRf
bmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzMyeDE2eDRkKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQg
aW50IHZweF9zYWRfc2tpcF8zMngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X3NhZF9za2lwXzMyeDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
Owotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9z
YWRfc2tpcF8zMngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDY0X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4NjRfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NF9uZW9u
X2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF8zMng2NCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhf
c2FkX3NraXBfMzJ4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX25l
b24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uX2Rv
dHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfMzJ4NjR4NGQpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQg
aW50IHZweF9zYWRfc2tpcF80eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tp
cF80eDRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg0IHZw
eF9zYWRfc2tpcF80eDRfbmVvbgordm9pZCB2cHhfc2FkNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDY0eDMyeDRkX25lb24oY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9z
YWQ2NHgzMng0ZCB2cHhfc2FkNjR4MzJ4NGRfbmVvbgogCi12b2lkIHZweF9zYWRfc2tpcF80eDR4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9zYWRfc2tpcF80eDR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9zYWRfc2tpcF80eDR4NGQgdnB4X3NhZF9za2lwXzR4NHg0ZF9uZW9uCit1bnNpZ25lZCBpbnQg
dnB4X3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkNjR4NjRfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmlu
ZSB2cHhfc2FkNjR4NjQgdnB4X3NhZDY0eDY0X25lb24KIAotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF80eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9zYWQ2
NHg2NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDhfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOwordW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NF9hdmdfbmVvbihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg4IHZweF9zYWRfc2tpcF80
eDhfbmVvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkNjR4NjRfYXZnIHZweF9zYWQ2NHg2NF9hdmdfbmVv
bgorCit2b2lkIHZweF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwordm9pZCB2cHhfc2FkNjR4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDY0eDY0eDRkIHZweF9z
YWQ2NHg2NHg0ZF9uZW9uCiAKLXZvaWQgdnB4X3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tp
cF80eDh4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4OHg0ZCB2cHhfc2FkX3NraXBfNHg4eDRkX25l
b24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5l
IHZweF9zYWQ4eDE2IHZweF9zYWQ4eDE2X25lb24KIAotdW5zaWduZWQgaW50IHZweF9zYWRfc2tp
cF82NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4
MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9hdmdfbmVvbihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX25lb25fZG90
cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRD
RF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZF9za2lwXzY0eDMyKShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3Nh
ZDh4MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19uZW9uCiAKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMy
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZF9za2lwXzY0eDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cit2b2lkIHZweF9zYWQ4eDE2eDNfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4MTZ4MyB2cHhfc2FkOHgxNngzX2MKIAot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfc2FkX3NraXBfNjR4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Cit2b2lkIHZweF9zYWQ4eDE2eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKKyAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4MTZ4NGRfbmVvbihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgxNng0
ZCB2cHhfc2FkOHgxNng0ZF9uZW9uCisKK3ZvaWQgdnB4X3NhZDh4MTZ4OF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHgxNng4IHZweF9zYWQ4eDE2eDhfYwogCi12b2lkIHZw
eF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCit1bnNpZ25lZCBp
bnQgdnB4X3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Cit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2Fk
X3NraXBfNjR4NjR4NGRfbmVvbihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lw
XzY0eDY0eDRkX25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF82NHg2NHg0
ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5l
IHZweF9zYWQ4eDQgdnB4X3NhZDh4NF9uZW9uCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
OHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9h
dmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7Cit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9hdmdfbmVvbihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTYgdnB4X3NhZF9za2lwXzh4MTZfbmVvbgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5l
IHZweF9zYWQ4eDRfYXZnIHZweF9zYWQ4eDRfYXZnX25lb24KIAotdm9pZCB2cHhfc2FkX3NraXBf
OHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDE2eDRkX25lb24oY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4MTZ4NGQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfbmVv
bgordm9pZCB2cHhfc2FkOHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9p
ZCB2cHhfc2FkOHg0eDRkX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOworI2RlZmluZSB2cHhfc2FkOHg0eDRkIHZweF9zYWQ4eDR4NGRfbmVvbgogCi11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzh4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDQg
dnB4X3NhZF9za2lwXzh4NF9uZW9uCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Cit1bnNpZ25lZCBpbnQgdnB4
X3NhZDh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9zYWQ4eDggdnB4X3NhZDh4OF9uZW9uCiAKLXZvaWQg
dnB4X3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg0eDRkIHZweF9zYWRfc2tpcF84eDR4NGRfbmVvbgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQp
OwordW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX25lb24oY29uc3QgdWludDhfdCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2Rl
ZmluZSB2cHhfc2FkOHg4X2F2ZyB2cHhfc2FkOHg4X2F2Z19uZW9uCiAKLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg4
X25lb24oY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzh4OCB2cHhfc2Fk
X3NraXBfOHg4X25lb24KK3ZvaWQgdnB4X3NhZDh4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZp
bmUgdnB4X3NhZDh4OHgzIHZweF9zYWQ4eDh4M19jCiAKLXZvaWQgdnB4X3NhZF9za2lwXzh4OHg0
ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZF9za2lwXzh4OHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X3NhZF9za2lwXzh4OHg0ZCB2cHhfc2FkX3NraXBfOHg4eDRkX25lb24KK3ZvaWQgdnB4X3NhZDh4
OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4OHg0ZF9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4
X3NhZDh4OHg0ZCB2cHhfc2FkOHg4eDRkX25lb24KKwordm9pZCB2cHhfc2FkOHg4eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
YWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHg4eDggdnB4X3NhZDh4OHg4X2MKIAogaW50IHZw
eF9zYXRkX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwogaW50IHZweF9z
YXRkX25lb24oY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwpAQCAtNzQwMCwx
NiArNTAxNSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNngxNl9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MTZfbmVvbl9kb3Rw
cm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
UlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMTZ4MTYpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5l
IHZweF92YXJpYW5jZTE2eDE2IHZweF92YXJpYW5jZTE2eDE2X25lb24KIAogdW5zaWduZWQgaW50
IHZweF92YXJpYW5jZTE2eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNzQyMSwxNiArNTAyNyw3
IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNngzMl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQq
IHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MzJfbmVvbl9kb3Rwcm9kKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRF
Uk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMTZ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJp
YW5jZTE2eDMyIHZweF92YXJpYW5jZTE2eDMyX25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJp
YW5jZTE2eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc0NDIsMTYgKzUwMzksNyBAQCB1bnNpZ25l
ZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4OF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF92YXJpYW5jZTE2eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlMTZ4OCB2cHhfdmFyaWFuY2UxNng4
X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDE2X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNzQ2MywxNiArNTA1MSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMngxNl9u
ZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4
MTZfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMzJ4MTYp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNz
ZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTMyeDE2IHZweF92YXJpYW5jZTMyeDE2X25lb24KIAog
dW5zaWduZWQgaW50IHZweF92YXJpYW5jZTMyeDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNzQ4
NCwxNiArNTA2Myw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMngzMl9uZW9uKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4MzJfbmVvbl9k
b3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMzJ4MzIpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVm
aW5lIHZweF92YXJpYW5jZTMyeDMyIHZweF92YXJpYW5jZTMyeDMyX25lb24KIAogdW5zaWduZWQg
aW50IHZweF92YXJpYW5jZTMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNzUwNSwxNiArNTA3
NSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4NjRfbmVvbl9kb3Rwcm9kKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9F
WFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlMzJ4NjQpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92
YXJpYW5jZTMyeDY0IHZweF92YXJpYW5jZTMyeDY0X25lb24KIAogdW5zaWduZWQgaW50IHZweF92
YXJpYW5jZTR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC03NTI2LDE2ICs1MDg3LDcgQEAgdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTR4NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3ZhcmlhbmNlNHg0X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFu
Y2U0eDQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2Up
OworI2RlZmluZSB2cHhfdmFyaWFuY2U0eDQgdnB4X3ZhcmlhbmNlNHg0X25lb24KIAogdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC03NTQ3LDE2ICs1MDk5
LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTR4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNHg4X25lb25fZG90cHJvZChjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQg
KCp2cHhfdmFyaWFuY2U0eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFuY2U0eDggdnB4X3ZhcmlhbmNlNHg4X25l
b24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTY0eDMyX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApA
QCAtNzU2OCwxNiArNTExMSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHgzMl9uZW9u
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4MzJf
bmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlNjR4MzIpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
CisjZGVmaW5lIHZweF92YXJpYW5jZTY0eDMyIHZweF92YXJpYW5jZTY0eDMyX25lb24KIAogdW5z
aWduZWQgaW50IHZweF92YXJpYW5jZTY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNzU4OSwx
NiArNTEyMyw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHg2NF9uZW9uKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlNjR4NjRfbmVvbl9kb3Rw
cm9kKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOwot
UlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3ZhcmlhbmNlNjR4NjQpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5l
IHZweF92YXJpYW5jZTY0eDY0IHZweF92YXJpYW5jZTY0eDY0X25lb24KIAogdW5zaWduZWQgaW50
IHZweF92YXJpYW5jZTh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTc2MTAsMTYgKzUxMzUsNyBA
QCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHgxNl9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHgxNl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF92YXJpYW5jZTh4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCogc3NlKTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlOHgxNiB2cHhfdmFy
aWFuY2U4eDE2X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4NF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC03NjMxLDE2ICs1MTQ3LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4
NF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg0X25l
b25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1S
VENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDQpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFyaWFu
Y2U4eDQgdnB4X3ZhcmlhbmNlOHg0X25lb24KIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4
OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC03NjUyLDE2ICs1MTU5LDcgQEAgdW5zaWduZWQgaW50IHZw
eF92YXJpYW5jZTh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlOHg4X25lb25fZG90cHJvZChjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDgpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmlu
ZSB2cHhfdmFyaWFuY2U4eDggdnB4X3ZhcmlhbmNlOHg4X25lb24KIAogdm9pZCB2cHhfdmVfcHJl
ZGljdG9yXzR4NF9jKHVpbnQ4X3QqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLApAQCAtNzY4MywyMTcgKzUxODEsNiBAQCBzdGF0aWMgdm9pZCBzZXR1
cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAgaW50IGZsYWdzID0gYXJtX2NwdV9jYXBzKCk7CiAK
ICAgKHZvaWQpZmxhZ3M7Ci0KLSAgdnB4X2NvbnZvbHZlOCA9IHZweF9jb252b2x2ZThfbmVvbjsK
LSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfY29udm9sdmU4ID0gdnB4
X2NvbnZvbHZlOF9uZW9uX2RvdHByb2Q7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0k4TU0pCi0g
ICAgdnB4X2NvbnZvbHZlOCA9IHZweF9jb252b2x2ZThfbmVvbl9pOG1tOwotICB2cHhfY29udm9s
dmU4X2F2ZyA9IHZweF9jb252b2x2ZThfYXZnX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9O
X0RPVFBST0QpCi0gICAgdnB4X2NvbnZvbHZlOF9hdmcgPSB2cHhfY29udm9sdmU4X2F2Z19uZW9u
X2RvdHByb2Q7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0k4TU0pCi0gICAgdnB4X2NvbnZvbHZl
OF9hdmcgPSB2cHhfY29udm9sdmU4X2F2Z19uZW9uX2k4bW07Ci0gIHZweF9jb252b2x2ZThfYXZn
X2hvcml6ID0gdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFT
X05FT05fRE9UUFJPRCkKLSAgICB2cHhfY29udm9sdmU4X2F2Z19ob3JpeiA9IHZweF9jb252b2x2
ZThfYXZnX2hvcml6X25lb25fZG90cHJvZDsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fSThNTSkK
LSAgICB2cHhfY29udm9sdmU4X2F2Z19ob3JpeiA9IHZweF9jb252b2x2ZThfYXZnX2hvcml6X25l
b25faThtbTsKLSAgdnB4X2NvbnZvbHZlOF9hdmdfdmVydCA9IHZweF9jb252b2x2ZThfYXZnX3Zl
cnRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfY29udm9s
dmU4X2F2Z192ZXJ0ID0gdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uX2RvdHByb2Q7Ci0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0k4TU0pCi0gICAgdnB4X2NvbnZvbHZlOF9hdmdfdmVydCA9IHZw
eF9jb252b2x2ZThfYXZnX3ZlcnRfbmVvbl9pOG1tOwotICB2cHhfY29udm9sdmU4X2hvcml6ID0g
dnB4X2NvbnZvbHZlOF9ob3Jpel9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9E
KQotICAgIHZweF9jb252b2x2ZThfaG9yaXogPSB2cHhfY29udm9sdmU4X2hvcml6X25lb25fZG90
cHJvZDsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fSThNTSkKLSAgICB2cHhfY29udm9sdmU4X2hv
cml6ID0gdnB4X2NvbnZvbHZlOF9ob3Jpel9uZW9uX2k4bW07Ci0gIHZweF9jb252b2x2ZThfdmVy
dCA9IHZweF9jb252b2x2ZThfdmVydF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQ
Uk9EKQotICAgIHZweF9jb252b2x2ZThfdmVydCA9IHZweF9jb252b2x2ZThfdmVydF9uZW9uX2Rv
dHByb2Q7Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0k4TU0pCi0gICAgdnB4X2NvbnZvbHZlOF92
ZXJ0ID0gdnB4X2NvbnZvbHZlOF92ZXJ0X25lb25faThtbTsKLSAgdnB4X2dldDE2eDE2dmFyID0g
dnB4X2dldDE2eDE2dmFyX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0g
ICAgdnB4X2dldDE2eDE2dmFyID0gdnB4X2dldDE2eDE2dmFyX25lb25fZG90cHJvZDsKLSAgdnB4
X2dldDR4NHNzZV9jcyA9IHZweF9nZXQ0eDRzc2VfY3NfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFT
X05FT05fRE9UUFJPRCkKLSAgICB2cHhfZ2V0NHg0c3NlX2NzID0gdnB4X2dldDR4NHNzZV9jc19u
ZW9uX2RvdHByb2Q7Ci0gIHZweF9nZXQ4eDh2YXIgPSB2cHhfZ2V0OHg4dmFyX25lb247Ci0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X2dldDh4OHZhciA9IHZweF9nZXQ4
eDh2YXJfbmVvbl9kb3Rwcm9kOwotICB2cHhfbXNlMTZ4MTYgPSB2cHhfbXNlMTZ4MTZfbmVvbjsK
LSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfbXNlMTZ4MTYgPSB2cHhf
bXNlMTZ4MTZfbmVvbl9kb3Rwcm9kOwotICB2cHhfbXNlMTZ4OCA9IHZweF9tc2UxNng4X25lb247
Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X21zZTE2eDggPSB2cHhf
bXNlMTZ4OF9uZW9uX2RvdHByb2Q7Ci0gIHZweF9tc2U4eDE2ID0gdnB4X21zZTh4MTZfbmVvbjsK
LSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfbXNlOHgxNiA9IHZweF9t
c2U4eDE2X25lb25fZG90cHJvZDsKLSAgdnB4X21zZTh4OCA9IHZweF9tc2U4eDhfbmVvbjsKLSAg
aWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfbXNlOHg4ID0gdnB4X21zZTh4
OF9uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWQxNngxNiA9IHZweF9zYWQxNngxNl9uZW9uOwotICBp
ZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWQxNngxNiA9IHZweF9zYWQx
NngxNl9uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWQxNngxNl9hdmcgPSB2cHhfc2FkMTZ4MTZfYXZn
X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZDE2eDE2
X2F2ZyA9IHZweF9zYWQxNngxNl9hdmdfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkMTZ4MTZ4NGQg
PSB2cHhfc2FkMTZ4MTZ4NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkK
LSAgICB2cHhfc2FkMTZ4MTZ4NGQgPSB2cHhfc2FkMTZ4MTZ4NGRfbmVvbl9kb3Rwcm9kOwotICB2
cHhfc2FkMTZ4MzIgPSB2cHhfc2FkMTZ4MzJfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05f
RE9UUFJPRCkKLSAgICB2cHhfc2FkMTZ4MzIgPSB2cHhfc2FkMTZ4MzJfbmVvbl9kb3Rwcm9kOwot
ICB2cHhfc2FkMTZ4MzJfYXZnID0gdnB4X3NhZDE2eDMyX2F2Z19uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWQxNngzMl9hdmcgPSB2cHhfc2FkMTZ4MzJf
YXZnX25lb25fZG90cHJvZDsKLSAgdnB4X3NhZDE2eDMyeDRkID0gdnB4X3NhZDE2eDMyeDRkX25l
b247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZDE2eDMyeDRk
ID0gdnB4X3NhZDE2eDMyeDRkX25lb25fZG90cHJvZDsKLSAgdnB4X3NhZDE2eDggPSB2cHhfc2Fk
MTZ4OF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWQx
Nng4ID0gdnB4X3NhZDE2eDhfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkMTZ4OF9hdmcgPSB2cHhf
c2FkMTZ4OF9hdmdfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2
cHhfc2FkMTZ4OF9hdmcgPSB2cHhfc2FkMTZ4OF9hdmdfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2Fk
MTZ4OHg0ZCA9IHZweF9zYWQxNng4eDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RP
VFBST0QpCi0gICAgdnB4X3NhZDE2eDh4NGQgPSB2cHhfc2FkMTZ4OHg0ZF9uZW9uX2RvdHByb2Q7
Ci0gIHZweF9zYWQzMngxNiA9IHZweF9zYWQzMngxNl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNf
TkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWQzMngxNiA9IHZweF9zYWQzMngxNl9uZW9uX2RvdHBy
b2Q7Ci0gIHZweF9zYWQzMngxNl9hdmcgPSB2cHhfc2FkMzJ4MTZfYXZnX25lb247Ci0gIGlmIChm
bGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZDMyeDE2X2F2ZyA9IHZweF9zYWQz
MngxNl9hdmdfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkMzJ4MTZ4NGQgPSB2cHhfc2FkMzJ4MTZ4
NGRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfc2FkMzJ4
MTZ4NGQgPSB2cHhfc2FkMzJ4MTZ4NGRfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkMzJ4MzIgPSB2
cHhfc2FkMzJ4MzJfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2
cHhfc2FkMzJ4MzIgPSB2cHhfc2FkMzJ4MzJfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkMzJ4MzJf
YXZnID0gdnB4X3NhZDMyeDMyX2F2Z19uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQ
Uk9EKQotICAgIHZweF9zYWQzMngzMl9hdmcgPSB2cHhfc2FkMzJ4MzJfYXZnX25lb25fZG90cHJv
ZDsKLSAgdnB4X3NhZDMyeDMyeDRkID0gdnB4X3NhZDMyeDMyeDRkX25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZDMyeDMyeDRkID0gdnB4X3NhZDMyeDMy
eDRkX25lb25fZG90cHJvZDsKLSAgdnB4X3NhZDMyeDY0ID0gdnB4X3NhZDMyeDY0X25lb247Ci0g
IGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZDMyeDY0ID0gdnB4X3Nh
ZDMyeDY0X25lb25fZG90cHJvZDsKLSAgdnB4X3NhZDMyeDY0X2F2ZyA9IHZweF9zYWQzMng2NF9h
dmdfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfc2FkMzJ4
NjRfYXZnID0gdnB4X3NhZDMyeDY0X2F2Z19uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWQzMng2NHg0
ZCA9IHZweF9zYWQzMng2NHg0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9E
KQotICAgIHZweF9zYWQzMng2NHg0ZCA9IHZweF9zYWQzMng2NHg0ZF9uZW9uX2RvdHByb2Q7Ci0g
IHZweF9zYWQ2NHgzMiA9IHZweF9zYWQ2NHgzMl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKQotICAgIHZweF9zYWQ2NHgzMiA9IHZweF9zYWQ2NHgzMl9uZW9uX2RvdHByb2Q7
Ci0gIHZweF9zYWQ2NHgzMl9hdmcgPSB2cHhfc2FkNjR4MzJfYXZnX25lb247Ci0gIGlmIChmbGFn
cyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZDY0eDMyX2F2ZyA9IHZweF9zYWQ2NHgz
Ml9hdmdfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkNjR4MzJ4NGQgPSB2cHhfc2FkNjR4MzJ4NGRf
bmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfc2FkNjR4MzJ4
NGQgPSB2cHhfc2FkNjR4MzJ4NGRfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkNjR4NjQgPSB2cHhf
c2FkNjR4NjRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhf
c2FkNjR4NjQgPSB2cHhfc2FkNjR4NjRfbmVvbl9kb3Rwcm9kOwotICB2cHhfc2FkNjR4NjRfYXZn
ID0gdnB4X3NhZDY0eDY0X2F2Z19uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9E
KQotICAgIHZweF9zYWQ2NHg2NF9hdmcgPSB2cHhfc2FkNjR4NjRfYXZnX25lb25fZG90cHJvZDsK
LSAgdnB4X3NhZDY0eDY0eDRkID0gdnB4X3NhZDY0eDY0eDRkX25lb247Ci0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZDY0eDY0eDRkID0gdnB4X3NhZDY0eDY0eDRk
X25lb25fZG90cHJvZDsKLSAgdnB4X3NhZF9za2lwXzE2eDE2ID0gdnB4X3NhZF9za2lwXzE2eDE2
X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZF9za2lw
XzE2eDE2ID0gdnB4X3NhZF9za2lwXzE2eDE2X25lb25fZG90cHJvZDsKLSAgdnB4X3NhZF9za2lw
XzE2eDE2eDRkID0gdnB4X3NhZF9za2lwXzE2eDE2eDRkX25lb247Ci0gIGlmIChmbGFncyAmIEhB
U19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZF9za2lwXzE2eDE2eDRkID0gdnB4X3NhZF9za2lw
XzE2eDE2eDRkX25lb25fZG90cHJvZDsKLSAgdnB4X3NhZF9za2lwXzE2eDMyID0gdnB4X3NhZF9z
a2lwXzE2eDMyX25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4
X3NhZF9za2lwXzE2eDMyID0gdnB4X3NhZF9za2lwXzE2eDMyX25lb25fZG90cHJvZDsKLSAgdnB4
X3NhZF9za2lwXzE2eDMyeDRkID0gdnB4X3NhZF9za2lwXzE2eDMyeDRkX25lb247Ci0gIGlmIChm
bGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZF9za2lwXzE2eDMyeDRkID0gdnB4
X3NhZF9za2lwXzE2eDMyeDRkX25lb25fZG90cHJvZDsKLSAgdnB4X3NhZF9za2lwXzE2eDggPSB2
cHhfc2FkX3NraXBfMTZ4OF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQot
ICAgIHZweF9zYWRfc2tpcF8xNng4ID0gdnB4X3NhZF9za2lwXzE2eDhfbmVvbl9kb3Rwcm9kOwot
ICB2cHhfc2FkX3NraXBfMTZ4OHg0ZCA9IHZweF9zYWRfc2tpcF8xNng4eDRkX25lb247Ci0gIGlm
IChmbGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3NhZF9za2lwXzE2eDh4NGQgPSB2
cHhfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWRfc2tpcF8zMngxNiA9
IHZweF9zYWRfc2tpcF8zMngxNl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9E
KQotICAgIHZweF9zYWRfc2tpcF8zMngxNiA9IHZweF9zYWRfc2tpcF8zMngxNl9uZW9uX2RvdHBy
b2Q7Ci0gIHZweF9zYWRfc2tpcF8zMngxNng0ZCA9IHZweF9zYWRfc2tpcF8zMngxNng0ZF9uZW9u
OwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWRfc2tpcF8zMngx
Nng0ZCA9IHZweF9zYWRfc2tpcF8zMngxNng0ZF9uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWRfc2tp
cF8zMngzMiA9IHZweF9zYWRfc2tpcF8zMngzMl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKQotICAgIHZweF9zYWRfc2tpcF8zMngzMiA9IHZweF9zYWRfc2tpcF8zMngzMl9u
ZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9zYWRfc2tpcF8zMngz
Mng0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWRf
c2tpcF8zMngzMng0ZCA9IHZweF9zYWRfc2tpcF8zMngzMng0ZF9uZW9uX2RvdHByb2Q7Ci0gIHZw
eF9zYWRfc2tpcF8zMng2NCA9IHZweF9zYWRfc2tpcF8zMng2NF9uZW9uOwotICBpZiAoZmxhZ3Mg
JiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWRfc2tpcF8zMng2NCA9IHZweF9zYWRfc2tp
cF8zMng2NF9uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWRfc2tpcF8zMng2NHg0ZCA9IHZweF9zYWRf
c2tpcF8zMng2NHg0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAg
IHZweF9zYWRfc2tpcF8zMng2NHg0ZCA9IHZweF9zYWRfc2tpcF8zMng2NHg0ZF9uZW9uX2RvdHBy
b2Q7Ci0gIHZweF9zYWRfc2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82NHgzMl9uZW9uOwotICBp
ZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWRfc2tpcF82NHgzMiA9IHZw
eF9zYWRfc2tpcF82NHgzMl9uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWRfc2tpcF82NHgzMng0ZCA9
IHZweF9zYWRfc2tpcF82NHgzMng0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQ
Uk9EKQotICAgIHZweF9zYWRfc2tpcF82NHgzMng0ZCA9IHZweF9zYWRfc2tpcF82NHgzMng0ZF9u
ZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWRfc2tpcF82NHg2NCA9IHZweF9zYWRfc2tpcF82NHg2NF9u
ZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWRfc2tpcF82
NHg2NCA9IHZweF9zYWRfc2tpcF82NHg2NF9uZW9uX2RvdHByb2Q7Ci0gIHZweF9zYWRfc2tpcF82
NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNf
TkVPTl9ET1RQUk9EKQotICAgIHZweF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82
NHg2NHg0ZF9uZW9uX2RvdHByb2Q7Ci0gIHZweF92YXJpYW5jZTE2eDE2ID0gdnB4X3ZhcmlhbmNl
MTZ4MTZfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfdmFy
aWFuY2UxNngxNiA9IHZweF92YXJpYW5jZTE2eDE2X25lb25fZG90cHJvZDsKLSAgdnB4X3Zhcmlh
bmNlMTZ4MzIgPSB2cHhfdmFyaWFuY2UxNngzMl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVP
Tl9ET1RQUk9EKQotICAgIHZweF92YXJpYW5jZTE2eDMyID0gdnB4X3ZhcmlhbmNlMTZ4MzJfbmVv
bl9kb3Rwcm9kOwotICB2cHhfdmFyaWFuY2UxNng4ID0gdnB4X3ZhcmlhbmNlMTZ4OF9uZW9uOwot
ICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF92YXJpYW5jZTE2eDggPSB2
cHhfdmFyaWFuY2UxNng4X25lb25fZG90cHJvZDsKLSAgdnB4X3ZhcmlhbmNlMzJ4MTYgPSB2cHhf
dmFyaWFuY2UzMngxNl9uZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAg
IHZweF92YXJpYW5jZTMyeDE2ID0gdnB4X3ZhcmlhbmNlMzJ4MTZfbmVvbl9kb3Rwcm9kOwotICB2
cHhfdmFyaWFuY2UzMngzMiA9IHZweF92YXJpYW5jZTMyeDMyX25lb247Ci0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3ZhcmlhbmNlMzJ4MzIgPSB2cHhfdmFyaWFuY2Uz
MngzMl9uZW9uX2RvdHByb2Q7Ci0gIHZweF92YXJpYW5jZTMyeDY0ID0gdnB4X3ZhcmlhbmNlMzJ4
NjRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfdmFyaWFu
Y2UzMng2NCA9IHZweF92YXJpYW5jZTMyeDY0X25lb25fZG90cHJvZDsKLSAgdnB4X3ZhcmlhbmNl
NHg0ID0gdnB4X3ZhcmlhbmNlNHg0X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBS
T0QpCi0gICAgdnB4X3ZhcmlhbmNlNHg0ID0gdnB4X3ZhcmlhbmNlNHg0X25lb25fZG90cHJvZDsK
LSAgdnB4X3ZhcmlhbmNlNHg4ID0gdnB4X3ZhcmlhbmNlNHg4X25lb247Ci0gIGlmIChmbGFncyAm
IEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3ZhcmlhbmNlNHg4ID0gdnB4X3ZhcmlhbmNlNHg4
X25lb25fZG90cHJvZDsKLSAgdnB4X3ZhcmlhbmNlNjR4MzIgPSB2cHhfdmFyaWFuY2U2NHgzMl9u
ZW9uOwotICBpZiAoZmxhZ3MgJiBIQVNfTkVPTl9ET1RQUk9EKQotICAgIHZweF92YXJpYW5jZTY0
eDMyID0gdnB4X3ZhcmlhbmNlNjR4MzJfbmVvbl9kb3Rwcm9kOwotICB2cHhfdmFyaWFuY2U2NHg2
NCA9IHZweF92YXJpYW5jZTY0eDY0X25lb247Ci0gIGlmIChmbGFncyAmIEhBU19ORU9OX0RPVFBS
T0QpCi0gICAgdnB4X3ZhcmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFuY2U2NHg2NF9uZW9uX2RvdHBy
b2Q7Ci0gIHZweF92YXJpYW5jZTh4MTYgPSB2cHhfdmFyaWFuY2U4eDE2X25lb247Ci0gIGlmIChm
bGFncyAmIEhBU19ORU9OX0RPVFBST0QpCi0gICAgdnB4X3ZhcmlhbmNlOHgxNiA9IHZweF92YXJp
YW5jZTh4MTZfbmVvbl9kb3Rwcm9kOwotICB2cHhfdmFyaWFuY2U4eDQgPSB2cHhfdmFyaWFuY2U4
eDRfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkKLSAgICB2cHhfdmFyaWFu
Y2U4eDQgPSB2cHhfdmFyaWFuY2U4eDRfbmVvbl9kb3Rwcm9kOwotICB2cHhfdmFyaWFuY2U4eDgg
PSB2cHhfdmFyaWFuY2U4eDhfbmVvbjsKLSAgaWYgKGZsYWdzICYgSEFTX05FT05fRE9UUFJPRCkK
LSAgICB2cHhfdmFyaWFuY2U4eDggPSB2cHhfdmFyaWFuY2U4eDhfbmVvbl9kb3Rwcm9kOwogfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0LWhpZ2hiZC92cHhfc2Nh
bGVfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJtNjQvdnB4X3NjYWxlX3J0Y2QuaApzaW1pbGFy
aXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vYXJtNjQtaGlnaGJkL3Zw
eF9zY2FsZV9ydGNkLmgKcmVuYW1lIHRvIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2FybTY0L3ZweF9zY2FsZV9y
dGNkLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2lhMzIvdnA4X3J0Y2QuaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9j
b25maWcvd2luL2lhMzIvdnA4X3J0Y2QuaAppbmRleCAzNjIxNjc3MGExZTguLmM0NmJmZTU3MzNm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4vaWEzMi92cDhfcnRjZC5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9j
b25maWcvd2luL2lhMzIvdnA4X3J0Y2QuaApAQCAtMTA1LDYgKzEwNSwzNiBAQCBSVENEX0VYVEVS
TiB2b2lkICgqdnA4X2JpbGluZWFyX3ByZWRpY3Q4eDgpKHVuc2lnbmVkIGNoYXIqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIqIGRzdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3RfcGl0Y2gpOwogCit2b2lkIHZwOF9ibGVuZF9iX2ModW5zaWduZWQgY2hhciogeSwK
KyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1LAorICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAg
ICAgICAgICAgICBpbnQgdV8xLAorICAgICAgICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAg
ICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwor
I2RlZmluZSB2cDhfYmxlbmRfYiB2cDhfYmxlbmRfYl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX2lu
bmVyX2ModW5zaWduZWQgY2hhciogeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciogdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHVfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX21iX2lubmVyIHZwOF9ibGVuZF9tYl9p
bm5lcl9jCisKK3ZvaWQgdnA4X2JsZW5kX21iX291dGVyX2ModW5zaWduZWQgY2hhciogeSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHlfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHZfMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFs
cGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4
X2JsZW5kX21iX291dGVyIHZwOF9ibGVuZF9tYl9vdXRlcl9jCisKIGludCB2cDhfYmxvY2tfZXJy
b3JfYyhzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZmKTsKIGludCB2cDhfYmxvY2tfZXJyb3Jf
c3NlMihzaG9ydCogY29lZmYsIHNob3J0KiBkcWNvZWZmKTsKICNkZWZpbmUgdnA4X2Jsb2NrX2Vy
cm9yIHZwOF9ibG9ja19lcnJvcl9zc2UyCkBAIC0zMDgsNiArMzM4LDQzIEBAIHZvaWQgdnA4X2Zp
bHRlcl9ieV93ZWlnaHQ4eDhfc3NlMih1bnNpZ25lZCBjaGFyKiBzcmMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY193ZWlnaHQpOwogI2RlZmluZSB2cDhfZmlsdGVy
X2J5X3dlaWdodDh4OCB2cDhfZmlsdGVyX2J5X3dlaWdodDh4OF9zc2UyCiAKK2ludCB2cDhfZnVs
bF9zZWFyY2hfc2FkX2Moc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdCBibG9jayogYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0
IGJsb2NrZCogZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiByZWZf
bXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRpc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCogbXZjb3N0WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRf
bXYqIGNlbnRlcl9tdik7CitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZHgzKHN0cnVjdCBtYWNyb2Js
b2NrKiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5j
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5f
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworaW50IHZwOF9mdWxs
X3NlYXJjaF9zYWR4OChzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg
YmxvY2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9t
diwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9t
diogY2VudGVyX212KTsKK1JUQ0RfRVhURVJOIGludCAoKnZwOF9mdWxsX3NlYXJjaF9zYWQpKHN0
cnVjdCBtYWNyb2Jsb2NrKiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RydWN0IGJsb2NrZCogZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRpc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9tdik7CisKIHZvaWQgdnA4
X2xvb3BfZmlsdGVyX2JoX2ModW5zaWduZWQgY2hhciogeV9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHVfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBjaGFyKiB2X3B0ciwKQEAgLTU4MSw2ICs2NDgsMTEgQEAgc3RhdGljIHZvaWQg
c2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZwOF9mYXN0X3F1YW50aXplX2IgPSB2cDhf
ZmFzdF9xdWFudGl6ZV9iX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cDhf
ZmFzdF9xdWFudGl6ZV9iID0gdnA4X2Zhc3RfcXVhbnRpemVfYl9zc3NlMzsKKyAgdnA4X2Z1bGxf
c2VhcmNoX3NhZCA9IHZwOF9mdWxsX3NlYXJjaF9zYWRfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NT
RTMpCisgICAgdnA4X2Z1bGxfc2VhcmNoX3NhZCA9IHZwOF9mdWxsX3NlYXJjaF9zYWR4MzsKKyAg
aWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cDhfZnVsbF9zZWFyY2hfc2FkID0gdnA4X2Z1
bGxfc2VhcmNoX3NhZHg4OwogICB2cDhfcmVndWxhcl9xdWFudGl6ZV9iID0gdnA4X3JlZ3VsYXJf
cXVhbnRpemVfYl9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQogICAgIHZwOF9yZWd1
bGFyX3F1YW50aXplX2IgPSB2cDhfcmVndWxhcl9xdWFudGl6ZV9iX3NzZTRfMTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvd2luL2lhMzIvdnA5X3J0Y2QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2lhMzIv
dnA5X3J0Y2QuaAppbmRleCA3NzcxZWUzZTFhOTAuLmUwNzlhMmQwY2VmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2NvbmZpZy93aW4vaWEzMi92cDlfcnRjZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2lhMzIv
dnA5X3J0Y2QuaApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3QgbWFjcm9ibG9ja2Q7CiAKIC8qIEVu
Y29kZXIgZm9yd2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3JvYmxvY2s7Ci1zdHJ1Y3QgbWFjcm9i
bG9ja19wbGFuZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwotc3RydWN0IFNjYW5PcmRlcjsKK3N0
cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZzsKIHN0
cnVjdCBtdjsKIHVuaW9uIGludF9tdjsKQEAgLTg2LDE0ICs4NCwzMSBAQCBpbnQgdnA5X2Rlbm9p
c2VyX2ZpbHRlcl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNpZywKIGludCB2cDlfZGlhbW9uZF9zZWFy
Y2hfc2FkX2MoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcqIGNmZywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiByZWZfbXYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IG12KiBiZXN0X212LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc2VhcmNoX3BhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2Fk
X3Blcl9iaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbnVtMDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlKiBzYWRf
Zm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X3Zh
cmlhbmNlX3Z0YWJsZSogZm5fcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci0jZGVmaW5lIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQg
dnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jCitpbnQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdngo
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2VhcmNoX3BhcmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG51bTAw
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFu
Y2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IG12KiBjZW50ZXJfbXYpOworUlRDRF9FWFRFUk4gaW50ICgqdnA5X2RpYW1vbmRfc2Vh
cmNoX3NhZCkoCisgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgY29uc3Qgc3Ry
dWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAorICAgIHN0cnVjdCBtdiogcmVmX212LAorICAg
IHN0cnVjdCBtdiogYmVzdF9tdiwKKyAgICBpbnQgc2VhcmNoX3BhcmFtLAorICAgIGludCBzYWRf
cGVyX2JpdCwKKyAgICBpbnQqIG51bTAwLAorICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2Vf
dnRhYmxlKiBmbl9wdHIsCisgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOwogCiB2b2lk
IHZwOV9maHQxNngxNl9jKGNvbnN0IGludDE2X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190KiBvdXRwdXQsCkBAIC0yNjAsNTcgKzI3NSwyOSBAQCB2b2lkIHZwOV9oaWdo
YmRfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19jKGNvbnN0IHVpbnQxNl90KiBzcmNfcHRyLAog
CiB2b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
KiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lw
X2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZm
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFu
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNv
bnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2F2eDIoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCkoCi0g
ICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAot
ICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0
cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAg
IGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotCi12b2lkIHZwOV9o
aWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYygKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
Ci0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MigK
LSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0g
ICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0g
ICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVS
TiB2b2lkICgqdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMikoCi0gICAgY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCB2cDlf
aGlnaGJkX3F1YW50aXplX2ZwX2MKKwordm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMy
X2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4p
OworI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyIHZwOV9oaWdoYmRfcXVhbnRp
emVfZnBfMzJ4MzJfYwogCiB2b2lkIHZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX2FwcGx5X2Mo
Y29uc3QgdWludDhfdCogZnJhbWUxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCBzdHJpZGUsCkBAIC0zNTYsNzkgKzM0Myw2MSBAQCB2b2lkIHZw
OV9paHQ4eDhfNjRfYWRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAKIHZvaWQgdnA5
X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9zc2UyKGNvbnN0IHRy
YW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qg
bl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQg
dnA5X3F1YW50aXplX2ZwX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5l
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9m
cF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNv
ZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFu
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDlfcXVhbnRpemVfZnApKAotICAgIGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3df
dCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBp
bnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogaXNjYW4pOworUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9xdWFudGl6ZV9mcCko
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwog
CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBj
b25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxv
Y2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKLXZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5f
Y29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1h
Y3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwot
dm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotUlRDRF9FWFRFUk4gdm9p
ZCAoKnZwOV9xdWFudGl6ZV9mcF8zMngzMikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZf
cHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
X3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAg
IHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRy
LAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNv
bnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBp
c2Nhbik7CisjZGVmaW5lIHZwOV9xdWFudGl6ZV9mcF8zMngzMiB2cDlfcXVhbnRpemVfZnBfMzJ4
MzJfYwogCiB2b2lkIHZwOV9zY2FsZV9hbmRfZXh0ZW5kX2ZyYW1lX2MoY29uc3Qgc3RydWN0IHl2
MTJfYnVmZmVyX2NvbmZpZyogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCB5djEyX2J1ZmZlcl9jb25maWcqIGRzdCwKQEAgLTQ1OSw2ICs0MjgsOSBAQCBzdGF0
aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAgdnA5X2Jsb2NrX2Vycm9yX2Zw
ID0gdnA5X2Jsb2NrX2Vycm9yX2ZwX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAg
IHZwOV9ibG9ja19lcnJvcl9mcCA9IHZwOV9ibG9ja19lcnJvcl9mcF9hdngyOworICB2cDlfZGlh
bW9uZF9zZWFyY2hfc2FkID0gdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jOworICBpZiAoZmxhZ3Mg
JiBIQVNfQVZYKQorICAgIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgPSB2cDlfZGlhbW9uZF9zZWFy
Y2hfc2FkX2F2eDsKICAgdnA5X2hpZ2hiZF9paHQxNngxNl8yNTZfYWRkID0gdnA5X2hpZ2hiZF9p
aHQxNngxNl8yNTZfYWRkX2M7CiAgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCiAgICAgdnA5X2hp
Z2hiZF9paHQxNngxNl8yNTZfYWRkID0gdnA5X2hpZ2hiZF9paHQxNngxNl8yNTZfYWRkX3NzZTRf
MTsKQEAgLTQ2OCwyMiArNDQwLDkgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2
b2lkKSB7CiAgIHZwOV9oaWdoYmRfaWh0OHg4XzY0X2FkZCA9IHZwOV9oaWdoYmRfaWh0OHg4XzY0
X2FkZF9jOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQogICAgIHZwOV9oaWdoYmRfaWh0OHg4
XzY0X2FkZCA9IHZwOV9oaWdoYmRfaWh0OHg4XzY0X2FkZF9zc2U0XzE7Ci0gIHZwOV9oaWdoYmRf
cXVhbnRpemVfZnAgPSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2M7Ci0gIGlmIChmbGFncyAmIEhB
U19BVlgyKQotICAgIHZwOV9oaWdoYmRfcXVhbnRpemVfZnAgPSB2cDlfaGlnaGJkX3F1YW50aXpl
X2ZwX2F2eDI7Ci0gIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzIgPSB2cDlfaGlnaGJkX3F1
YW50aXplX2ZwXzMyeDMyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZwOV9oaWdo
YmRfcXVhbnRpemVfZnBfMzJ4MzIgPSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2F2eDI7
CiAgIHZwOV9xdWFudGl6ZV9mcCA9IHZwOV9xdWFudGl6ZV9mcF9zc2UyOwotICBpZiAoZmxhZ3Mg
JiBIQVNfU1NTRTMpCi0gICAgdnA5X3F1YW50aXplX2ZwID0gdnA5X3F1YW50aXplX2ZwX3Nzc2Uz
OwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cDlfcXVhbnRpemVfZnAgPSB2cDlfcXVh
bnRpemVfZnBfYXZ4MjsKLSAgdnA5X3F1YW50aXplX2ZwXzMyeDMyID0gdnA5X3F1YW50aXplX2Zw
XzMyeDMyX2M7Ci0gIGlmIChmbGFncyAmIEhBU19TU1NFMykKLSAgICB2cDlfcXVhbnRpemVfZnBf
MzJ4MzIgPSB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfc3NzZTM7Ci0gIGlmIChmbGFncyAmIEhBU19B
VlgyKQotICAgIHZwOV9xdWFudGl6ZV9mcF8zMngzMiA9IHZwOV9xdWFudGl6ZV9mcF8zMngzMl9h
dngyOwogICB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZSA9IHZwOV9zY2FsZV9hbmRfZXh0ZW5k
X2ZyYW1lX2M7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cDlfc2NhbGVfYW5kX2V4
dGVuZF9mcmFtZSA9IHZwOV9zY2FsZV9hbmRfZXh0ZW5kX2ZyYW1lX3Nzc2UzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2NvbmZpZy93aW4vaWEzMi92cHhfY29uZmlnLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2lh
MzIvdnB4X2NvbmZpZy5hc20KaW5kZXggMzk1NGQ4N2MyMTVjLi4yZjViZDNmYzEzMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9jb25maWcvd2luL2lhMzIvdnB4X2NvbmZpZy5hc20KKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy93aW4vaWEzMi92cHhfY29uZmlnLmFzbQpAQCAtMSw3ICsxLDUgQEAKICVkZWZpbmUgVlBYX0FS
Q0hfQVJNIDAKICVkZWZpbmUgQVJDSF9BUk0gMAotJWRlZmluZSBWUFhfQVJDSF9BQVJDSDY0IDAK
LSVkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICVkZWZpbmUgVlBYX0FSQ0hfTUlQUyAwCiAlZGVmaW5l
IEFSQ0hfTUlQUyAwCiAlZGVmaW5lIFZQWF9BUkNIX1g4NiAxCkBAIC0xMCwxMiArOCw4IEBACiAl
ZGVmaW5lIEFSQ0hfWDg2XzY0IDAKICVkZWZpbmUgVlBYX0FSQ0hfUFBDIDAKICVkZWZpbmUgQVJD
SF9QUEMgMAotJWRlZmluZSBWUFhfQVJDSF9MT09OR0FSQ0ggMAotJWRlZmluZSBBUkNIX0xPT05H
QVJDSCAwCi0lZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogJWRlZmluZSBIQVZFX05FT04gMAotJWRl
ZmluZSBIQVZFX05FT05fRE9UUFJPRCAwCi0lZGVmaW5lIEhBVkVfTkVPTl9JOE1NIDAKKyVkZWZp
bmUgSEFWRV9ORU9OX0FTTSAwCiAlZGVmaW5lIEhBVkVfTUlQUzMyIDAKICVkZWZpbmUgSEFWRV9E
U1BSMiAwCiAlZGVmaW5lIEhBVkVfTVNBIDAKQEAgLTMxLDggKzI1LDYgQEAKICVkZWZpbmUgSEFW
RV9BVlg1MTIgMAogJWRlZmluZSBIQVZFX1ZTWCAwCiAlZGVmaW5lIEhBVkVfTU1JIDAKLSVkZWZp
bmUgSEFWRV9MU1ggMAotJWRlZmluZSBIQVZFX0xBU1ggMAogJWRlZmluZSBIQVZFX1ZQWF9QT1JU
UyAxCiAlZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDAKICVkZWZpbmUgSEFWRV9VTklTVERfSCAwCkBA
IC04NSw2ICs3Nyw3IEBACiAlZGVmaW5lIENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgMQogJWRl
ZmluZSBDT05GSUdfVEVNUE9SQUxfREVOT0lTSU5HIDEKICVkZWZpbmUgQ09ORklHX1ZQOV9URU1Q
T1JBTF9ERU5PSVNJTkcgMQorJWRlZmluZSBDT05GSUdfQ09OU0lTVEVOVF9SRUNPREUgMAogJWRl
ZmluZSBDT05GSUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcgMAogJWRlZmluZSBDT05GSUdf
VlA5X0hJR0hCSVRERVBUSCAxCiAlZGVmaW5lIENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElU
WSAwCkBAIC05Nyw2ICs5MCw1IEBACiAlZGVmaW5lIENPTkZJR19FTVVMQVRFX0hBUkRXQVJFIDAK
ICVkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYgMAogJWRlZmluZSBDT05GSUdfUkFURV9DVFJM
IDAKLSVkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORyAwCiAlZGVmaW5lIERF
Q09ERV9XSURUSF9MSU1JVCAxNjM4NAogJWRlZmluZSBERUNPREVfSEVJR0hUX0xJTUlUIDE2Mzg0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9pYTMyL3ZweF9jb25maWcuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25m
aWcvd2luL2lhMzIvdnB4X2NvbmZpZy5oCmluZGV4IDk0ZjY1NzgxZjVhYy4uY2VjODg3ZGQ4MDk1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9pYTMyL3ZweF9jb25maWcuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
Y29uZmlnL3dpbi9pYTMyL3ZweF9jb25maWcuaApAQCAtMTIsOCArMTIsNiBAQAogI2RlZmluZSBJ
TkxJTkUgICAgICBfX2lubGluZQogI2RlZmluZSBWUFhfQVJDSF9BUk0gMAogI2RlZmluZSBBUkNI
X0FSTSAwCi0jZGVmaW5lIFZQWF9BUkNIX0FBUkNINjQgMAotI2RlZmluZSBBUkNIX0FBUkNINjQg
MAogI2RlZmluZSBWUFhfQVJDSF9NSVBTIDAKICNkZWZpbmUgQVJDSF9NSVBTIDAKICNkZWZpbmUg
VlBYX0FSQ0hfWDg2IDEKQEAgLTIyLDEyICsyMCw4IEBACiAjZGVmaW5lIEFSQ0hfWDg2XzY0IDAK
ICNkZWZpbmUgVlBYX0FSQ0hfUFBDIDAKICNkZWZpbmUgQVJDSF9QUEMgMAotI2RlZmluZSBWUFhf
QVJDSF9MT09OR0FSQ0ggMAotI2RlZmluZSBBUkNIX0xPT05HQVJDSCAwCi0jZGVmaW5lIEhBVkVf
TkVPTl9BU00gMAogI2RlZmluZSBIQVZFX05FT04gMAotI2RlZmluZSBIQVZFX05FT05fRE9UUFJP
RCAwCi0jZGVmaW5lIEhBVkVfTkVPTl9JOE1NIDAKKyNkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAj
ZGVmaW5lIEhBVkVfTUlQUzMyIDAKICNkZWZpbmUgSEFWRV9EU1BSMiAwCiAjZGVmaW5lIEhBVkVf
TVNBIDAKQEAgLTQzLDggKzM3LDYgQEAKICNkZWZpbmUgSEFWRV9BVlg1MTIgMAogI2RlZmluZSBI
QVZFX1ZTWCAwCiAjZGVmaW5lIEhBVkVfTU1JIDAKLSNkZWZpbmUgSEFWRV9MU1ggMAotI2RlZmlu
ZSBIQVZFX0xBU1ggMAogI2RlZmluZSBIQVZFX1ZQWF9QT1JUUyAxCiAjZGVmaW5lIEhBVkVfUFRI
UkVBRF9IIDAKICNkZWZpbmUgSEFWRV9VTklTVERfSCAwCkBAIC05Nyw2ICs4OSw3IEBACiAjZGVm
aW5lIENPTkZJR19NVUxUSV9SRVNfRU5DT0RJTkcgMQogI2RlZmluZSBDT05GSUdfVEVNUE9SQUxf
REVOT0lTSU5HIDEKICNkZWZpbmUgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgMQorI2Rl
ZmluZSBDT05GSUdfQ09OU0lTVEVOVF9SRUNPREUgMAogI2RlZmluZSBDT05GSUdfQ09FRkZJQ0lF
TlRfUkFOR0VfQ0hFQ0tJTkcgMAogI2RlZmluZSBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAxCiAj
ZGVmaW5lIENPTkZJR19CRVRURVJfSFdfQ09NUEFUSUJJTElUWSAwCkBAIC0xMDksNyArMTAyLDYg
QEAKICNkZWZpbmUgQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUgMAogI2RlZmluZSBDT05GSUdfTk9O
X0dSRUVEWV9NViAwCiAjZGVmaW5lIENPTkZJR19SQVRFX0NUUkwgMAotI2RlZmluZSBDT05GSUdf
Q09MTEVDVF9DT01QT05FTlRfVElNSU5HIDAKICNkZWZpbmUgREVDT0RFX1dJRFRIX0xJTUlUIDE2
Mzg0CiAjZGVmaW5lIERFQ09ERV9IRUlHSFRfTElNSVQgMTYzODQKICNlbmRpZiAvKiBWUFhfQ09O
RklHX0ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL2lhMzIvdnB4X2RzcF9ydGNkLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL3dpbi9pYTMyL3ZweF9kc3BfcnRjZC5oCmluZGV4IDMzYTNjOTZlZGNhYy4u
MDk2ZTNhODYzZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi9pYTMyL3ZweF9kc3BfcnRj
ZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvd2luL2lhMzIvdnB4X2RzcF9ydGNkLmgKQEAgLTE1LDEwICsx
NSw2IEBACiAjaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92
cHhfZHNwX2NvbW1vbi5oIgogI2luY2x1ZGUgInZweF9kc3AvdnB4X2ZpbHRlci5oIgotI2lmIENP
TkZJR19WUDlfRU5DT0RFUgotc3RydWN0IG1hY3JvYmxvY2tfcGxhbmU7Ci1zdHJ1Y3QgU2Nhbk9y
ZGVyOwotI2VuZGlmCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC00NCwx
OCArNDAsNyBAQCB2b2lkIHZweF9jb21wX2F2Z19wcmVkX3NzZTIodWludDhfdCogY29tcF9wcmVk
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLXZvaWQgdnB4X2NvbXBfYXZnX3ByZWRfYXZ4Mih1aW50
OF90KiBjb21wX3ByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9jb21wX2F2Z19wcmVkKSh1aW50
OF90KiBjb21wX3ByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhl
aWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7CisjZGVmaW5lIHZweF9jb21wX2F2Z19wcmVkIHZweF9jb21wX2F2Z19wcmVkX3NzZTIK
IAogdm9pZCB2cHhfY29udm9sdmU4X2MoY29uc3QgdWludDhfdCogc3JjLAogICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCkBAIC0zMDIxLDEzICszMDA2LDcgQEAgdm9p
ZCB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWRfYyh1aW50MTZfdCogY29tcF9wcmVkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogcmVmLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci12b2lkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJl
ZF9zc2UyKHVpbnQxNl90KiBjb21wX3ByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBwcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiByZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkIHZweF9oaWdoYmRfY29tcF9h
dmdfcHJlZF9zc2UyCisjZGVmaW5lIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZCB2cHhfaGlnaGJk
X2NvbXBfYXZnX3ByZWRfYwogCiB2b2lkIHZweF9oaWdoYmRfY29udm9sdmU4X2MoY29uc3QgdWlu
dDE2X3QqIHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKQEAgLTQ0NDMsNzAgKzQ0MjIsNTkgQEAgdm9pZCB2cHhfaGlnaGJkX21pbm1heF84eDhf
Yyhjb25zdCB1aW50OF90KiBzOCwKIAogdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfYyhjb25z
dCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX3NzZTIoY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNj
YW5fb3JkZXIpOwotdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfYXZ4Mihjb25zdCB0cmFuX2xv
d190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90
IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfcXVhbnRpemVfYikoCi0gICAgY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBT
Y2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotCi12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVf
Yl8zMngzMl9jKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBz
dHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQx
Nl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6
ZV9iXzMyeDMyX3NzZTIoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNv
bnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0
IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0
IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cHhfaGlnaGJkX3F1
YW50aXplX2JfMzJ4MzJfYXZ4MigKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0g
ICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRy
YW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAg
Y29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyKSgKLSAgICBjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1i
X3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3Qq
IGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iIHZweF9oaWdoYmRfcXVhbnRpemVfYl9zc2UyCisK
K3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5f
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7Cit2b2lkIHZweF9oaWdoYmRf
cXVhbnRpemVfYl8zMngzMl9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91
bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNj
YW4pOworI2RlZmluZSB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzIgdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iXzMyeDMyX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ1MTYsMTQgKzQ0ODQsNyBAQCB1bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQxNngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngxNl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDE2KShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmlu
ZSB2cHhfaGlnaGJkX3NhZDE2eDE2IHZweF9oaWdoYmRfc2FkMTZ4MTZfc3NlMgogCiB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC00NTM1LDM3ICs0NDk2LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2
Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmdfYXZ4Mihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNp
Z25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmcgdnB4X2hpZ2hi
ZF9zYWQxNngxNl9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
YWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX2F2eDIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWQx
NngxNng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkIHZweF9oaWdoYmRf
c2FkMTZ4MTZ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLApAQCAtNDU3NSwxNCArNDUxOCw3IEBAIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZDE2eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMTZ4MzIpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5l
IHZweF9oaWdoYmRfc2FkMTZ4MzIgdnB4X2hpZ2hiZF9zYWQxNngzMl9zc2UyCiAKIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAg
LTQ1OTQsMzcgKzQ1MzAsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZn
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsK
LXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2Z19hdngyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2ZyB2cHhfaGlnaGJk
X3NhZDE2eDMyX2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDE2
eDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGQgdnB4X2hpZ2hiZF9z
YWQxNngzMng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtNDYzNCwxNCArNDU1Miw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZDE2eDhfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMTZ4OF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVS
TiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2Fk
MTZ4OCB2cHhfaGlnaGJkX3NhZDE2eDhfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQxNng4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDY1MywzNyArNDU2NCwxOSBA
QCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQxNng4X2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNng4
X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJk
X3NhZDE2eDhfYXZnIHZweF9oaWdoYmRfc2FkMTZ4OF9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdo
YmRfc2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRk
X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9z
YWQxNng4eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
YWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDh4NGQgdnB4X2hpZ2hiZF9zYWQx
Nng4eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTQ2OTMsMTQgKzQ1ODYsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQzMngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQzMngxNl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDE2KShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDMyeDE2IHZweF9oaWdoYmRfc2FkMzJ4MTZfc3NlMgogCiB1bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQzMngxNl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NzEy
LDM3ICs0NTk4LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2Z19zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmcgdnB4X2hpZ2hiZF9zYWQz
MngxNl9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWQzMngxNng0
ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkIHZweF9oaWdoYmRfc2FkMzJ4
MTZ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLApAQCAtNDc1MiwxNCArNDYyMCw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZDMyeDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDMyeDMyX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0Rf
RVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4MzIpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9o
aWdoYmRfc2FkMzJ4MzIgdnB4X2hpZ2hiZF9zYWQzMngzMl9zc2UyCiAKIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ3NzEs
MzcgKzQ2MzIsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2ZyB2cHhfaGlnaGJkX3NhZDMy
eDMyX2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZDMyeDMyeDRk
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGQgdnB4X2hpZ2hiZF9zYWQzMngz
Mng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC00ODExLDE0ICs0NjU0LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMzJ4NjRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMzJ4NjRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9F
WFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMng2NCkoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X2hp
Z2hiZF9zYWQzMng2NCB2cHhfaGlnaGJkX3NhZDMyeDY0X3NzZTIKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMzJ4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDgzMCwz
NyArNDY2NiwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRf
cHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnIHZweF9oaWdoYmRfc2FkMzJ4
NjRfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5
KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkMzJ4NjR4NGQp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZCB2cHhfaGlnaGJkX3NhZDMyeDY0
eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLApAQCAtNDg3NywxNCArNDY5NSwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0
eDRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDR4
NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkNHg0eDRkX3NzZTIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ0eDR4NGQgdnB4X2hpZ2hiZF9zYWQ0eDR4NGRf
c3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ0eDhfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLApAQCAtNDkwMiwxNCArNDcyMCwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ0eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3Nh
ZDR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkNHg4eDRkX3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ0eDh4NGQgdnB4X2hpZ2hiZF9zYWQ0eDh4
NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCkBAIC00OTIwLDE0ICs0NzM4LDcgQEAgdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkNjR4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkNjR4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRD
RF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQ2NHgzMikoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4
X2hpZ2hiZF9zYWQ2NHgzMiB2cHhfaGlnaGJkX3NhZDY0eDMyX3NzZTIKIAogdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDkz
OSwzNyArNDc1MCwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfc3Nl
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnX2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQg
aW50ICgqdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnIHZweF9oaWdoYmRfc2Fk
NjR4MzJfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkNjR4MzJ4
NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZCB2cHhfaGlnaGJkX3NhZDY0
eDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTQ5NzksMTQgKzQ3NzIsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWQ2NHg2NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDY0eDY0KShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDY0eDY0IHZweF9oaWdoYmRfc2FkNjR4NjRfc3NlMgogCiB1bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00OTk4
LDM3ICs0Nzg0LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBp
bnQgKCp2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29u
ZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmcgdnB4X2hpZ2hiZF9zYWQ2
NHg2NF9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0
ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkIHZweF9oaWdoYmRfc2FkNjR4
NjR4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKQEAgLTUwNTQsMTQgKzQ4MjIsMTQgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkOHgxNl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdo
YmRfc2FkOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkOHgxNng0
ZCB2cHhfaGlnaGJkX3NhZDh4MTZ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNTA4OCwxNCArNDg1NiwxNCBAQCB1
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ4eDRfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRf
c2FkOHg0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWQ4eDR4NGQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNTEyMiw0OTUgKzQ4OTAs
NzggQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhf
aGlnaGJkX3NhZDh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9o
aWdoYmRfc2FkOHg4eDRkIHZweF9oaWdoYmRfc2FkOHg4eDRkX3NzZTIKIAotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngxNikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKK2ludCB2cHhfaGlnaGJkX3NhdGRfYyhj
b25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7CitpbnQgdnB4X2hpZ2hiZF9zYXRk
X2F2eDIoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOworUlRDRF9FWFRFUk4g
aW50ICgqdnB4X2hpZ2hiZF9zYXRkKShjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0
aCk7CiAKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eDE2eDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBz
cmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwordm9pZCB2cHhfaGln
aGJkX3N1YnRyYWN0X2Jsb2NrX2MoaW50IHJvd3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgY29scywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2
X3QqIGRpZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IGRpZmZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc3JjOF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHByZWQ4X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBwcmVkX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBi
ZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2sgdnB4X2hpZ2hiZF9zdWJ0cmFj
dF9ibG9ja19jCiAKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX2F2eDIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzIpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Cit2b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2X2ModWludDE2X3QqIGRzdCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVm
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwordm9pZCB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9zc2UyKHVpbnQxNl90KiBkc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qq
IGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsK
KyNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTYgdnB4X2hpZ2hiZF90bV9wcmVk
aWN0b3JfMTZ4MTZfc3NlMgogCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMTZ4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgq
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
K3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZfdCogZHN0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Cit2b2lkIHZw
eF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyX3NzZTIodWludDE2X3QqIGRzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCog
bGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwor
I2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMiB2cHhfaGlnaGJkX3RtX3ByZWRp
Y3Rvcl8zMngzMl9zc2UyCiAKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKK3ZvaWQgdnB4
X2hpZ2hiZF90bV9wcmVkaWN0b3JfNHg0X2ModWludDE2X3QqIGRzdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKK3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0
b3JfNHg0X3NzZTIodWludDE2X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGJkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0
b3JfNHg0IHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9zc2UyCiAKLXZvaWQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNng4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJO
IHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDE2X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2X2F2eDIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2ln
bmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0K
LXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMngxNng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDE2eDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3Ry
aWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8zMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMl9zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMngzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9o
aWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZCkoCi0gICAgY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkX3NraXBfMzJ4NjRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjRfYXZ4Mihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NCkoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2
cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4NjR4NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGlu
dCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0IHZweF9oaWdoYmRfc2FkX3NraXBfNHg0
X2MKLQotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0eDRkIHZweF9oaWdoYmRf
c2FkX3NraXBfNHg0eDRkX2MKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNHg4
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRf
c2tpcF80eDggdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYwotCi12b2lkIHZweF9oaWdoYmRfc2Fk
X3NraXBfNHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF80eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzR4OHg0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMy
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXzY0eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX2F2
eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzIpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDMyeDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGln
aGJkX3NhZF9za2lwXzY0eDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9oaWdoYmRf
c2FkX3NraXBfNjR4NjR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12
b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4
NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZCkoCi0gICAg
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBf
OHgxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF84eDE2X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2IHZweF9oaWdoYmRf
c2FkX3NraXBfOHgxNl9zc2UyCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
OHgxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
I2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDE2eDRkX3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDRfYwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
OHg0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9z
YWRfc2tpcF84eDR4NGQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYwotCi11bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHg4X3NzZTIoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDggdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfc2FkX3Nr
aXBfOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF84eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZCB2cHhfaGlnaGJkX3NhZF9za2lw
Xzh4OHg0ZF9zc2UyCi0KLWludCB2cHhfaGlnaGJkX3NhdGRfYyhjb25zdCB0cmFuX2xvd190KiBj
b2VmZiwgaW50IGxlbmd0aCk7Ci1pbnQgdnB4X2hpZ2hiZF9zYXRkX2F2eDIoY29uc3QgdHJhbl9s
b3dfdCogY29lZmYsIGludCBsZW5ndGgpOwotUlRDRF9FWFRFUk4gaW50ICgqdnB4X2hpZ2hiZF9z
YXRkKShjb25zdCB0cmFuX2xvd190KiBjb2VmZiwgaW50IGxlbmd0aCk7Ci0KLXZvaWQgdnB4X2hp
Z2hiZF9zdWJ0cmFjdF9ibG9ja19jKGludCByb3dzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQx
Nl90KiBkaWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBkaWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNyYzhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBwcmVkOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgcHJlZF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
YmQpOwotdm9pZCB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2F2eDIoaW50IHJvd3MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3JjOF9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWQ4X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci1SVENEX0VY
VEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jaykoaW50IHJvd3MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbHMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IGRpZmZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNyYzhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWQ4X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
cHJlZF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGJkKTsKLQotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQx
Nl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfc3NlMih1aW50MTZfdCog
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2IHZweF9o
aWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2X3NzZTIKLQotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRp
Y3Rvcl8zMngzMl9jKHVpbnQxNl90KiBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4
MzJfc3NlMih1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJl
ZGljdG9yXzMyeDMyIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyX3NzZTIKLQotdm9pZCB2
cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfYyh1aW50MTZfdCogZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRp
Y3Rvcl80eDRfc3NlMih1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRp
Y3Rvcl80eDQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfNHg0X3NzZTIKLQotdm9pZCB2cHhfaGln
aGJkX3RtX3ByZWRpY3Rvcl84eDhfYyh1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgYmQpOwotdm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84
eDhfc3NlMih1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50MTZfdCogYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84
eDggdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfOHg4X3NzZTIKK3ZvaWQgdnB4X2hpZ2hiZF90bV9w
cmVkaWN0b3JfOHg4X2ModWludDE2X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGJkKTsKK3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfOHg4X3NzZTIo
dWludDE2X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDE2X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGJkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfOHg4IHZweF9o
aWdoYmRfdG1fcHJlZGljdG9yXzh4OF9zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF92X3ByZWRpY3Rv
cl8xNngxNl9jKHVpbnQxNl90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3RyaWRlLApAQCAtNTY3OCwxMiArNTAyOSw3IEBAIHZvaWQgdnB4X2lk
Y3QxNngxNl8yNTZfYWRkX2MoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiB2b2lkIHZweF9pZGN0
MTZ4MTZfMjU2X2FkZF9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZvaWQgdnB4X2lkY3QxNngxNl8yNTZfYWRkX2F2eDIo
Y29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJp
ZGUpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9pZGN0MTZ4MTZfMjU2X2FkZCkoY29uc3QgdHJh
bl9sb3dfdCogaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OF90KiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZweF9pZGN0MTZ4MTZfMjU2X2FkZCB2cHhfaWRjdDE2
eDE2XzI1Nl9hZGRfc3NlMgogCiB2b2lkIHZweF9pZGN0MTZ4MTZfMzhfYWRkX2MoY29uc3QgdHJh
bl9sb3dfdCogaW5wdXQsIHVpbnQ4X3QqIGRlc3QsIGludCBzdHJpZGUpOwogdm9pZCB2cHhfaWRj
dDE2eDE2XzM4X2FkZF9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LApAQCAtNTY5NywxMiAr
NTA0Myw3IEBAIHZvaWQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9jKGNvbnN0IHRyYW5fbG93X3Qq
IGlucHV0LAogdm9pZCB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX3NzZTIoY29uc3QgdHJhbl9sb3df
dCogaW5wdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZw
eF9pZGN0MzJ4MzJfMTAyNF9hZGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
aWRjdDMyeDMyXzEwMjRfYWRkKShjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2
cHhfaWRjdDMyeDMyXzEwMjRfYWRkIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfc3NlMgogCiB2b2lk
IHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LApAQCAtNTcxMyw5ICs1MDU0LDYg
QEAgdm9pZCB2cHhfaWRjdDMyeDMyXzEzNV9hZGRfc3NlMihjb25zdCB0cmFuX2xvd190KiBpbnB1
dCwKIHZvaWQgdnB4X2lkY3QzMngzMl8xMzVfYWRkX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QqIGlu
cHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwotdm9pZCB2cHhfaWRj
dDMyeDMyXzEzNV9hZGRfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZSk7CiBSVENEX0VYVEVSTiB2b2lkICgqdnB4X2lkY3QzMngz
Ml8xMzVfYWRkKShjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKQEAgLTU3NzIsMTEgKzUxMTAsMTEg
QEAgaW50MTZfdCB2cHhfaW50X3Byb19jb2xfYyhjb25zdCB1aW50OF90KiByZWYsIGNvbnN0IGlu
dCB3aWR0aCk7CiBpbnQxNl90IHZweF9pbnRfcHJvX2NvbF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHJl
ZiwgY29uc3QgaW50IHdpZHRoKTsKICNkZWZpbmUgdnB4X2ludF9wcm9fY29sIHZweF9pbnRfcHJv
X2NvbF9zc2UyCiAKLXZvaWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCBoYnVmWzE2XSwKK3Zv
aWQgdnB4X2ludF9wcm9fcm93X2MoaW50MTZfdCogaGJ1ZiwKICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQg
cmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCk7Ci12
b2lkIHZweF9pbnRfcHJvX3Jvd19zc2UyKGludDE2X3QgaGJ1ZlsxNl0sCit2b2lkIHZweF9pbnRf
cHJvX3Jvd19zc2UyKGludDE2X3QqIGhidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IHJl
Zl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBoZWlnaHQpOwpA
QCAtNjExNiw5MCArNTQ1NCwxMjIgQEAgdm9pZCB2cHhfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9z
c19tYl9yb3dfc3NlMih1bnNpZ25lZCBjaGFyKiBzcmMsCiAKIHZvaWQgdnB4X3F1YW50aXplX2Jf
Yyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgIGludCBz
a2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRy
LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9xdWFu
dGl6ZV9iX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVf
Yl9zc3NlMyhjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9v
cmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4
X3F1YW50aXplX2JfYXZ4KGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50
X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnB4
X3F1YW50aXplX2JfYXZ4Mihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X3F1YW50aXplX2IpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRw
dHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZf
dCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVy
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CitSVENEX0VYVEVSTiB2b2lk
ICgqdnB4X3F1YW50aXplX2IpKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3No
aWZ0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
cWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCogZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOwogCiB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX2MoY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qq
IGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIq
IGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
aXNjYW4pOwogdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9zc3NlMyhjb25zdCB0cmFuX2xvd190
KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQg
dnB4X3F1YW50aXplX2JfMzJ4MzJfYXZ4KGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
KiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90
IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25z
dCBzY2FuX29yZGVyKTsKLXZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYXZ4Mihjb25zdCB0cmFu
X2xvd190KiBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1S
VENEX0VYVEVSTiB2b2lkICgqdnB4X3F1YW50aXplX2JfMzJ4MzIpKAotICAgIGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29u
c3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CitS
VENEX0VYVEVSTiB2b2lkICgqdnB4X3F1YW50aXplX2JfMzJ4MzIpKGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3No
aWZ0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4p
OwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTYyMjMsMTgg
KzU1OTMsNTUgQEAgdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9hdmdfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBzZWNvbmRfcHJlZCk7CiAjZGVmaW5lIHZweF9zYWQxNngxNl9hdmcgdnB4X3NhZDE2
eDE2X2F2Z19zc2UyCiAKK3ZvaWQgdnB4X3NhZDE2eDE2eDNfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJh
eSk7Cit2b2lkIHZweF9zYWQxNngxNngzX3NzZTMoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwordm9pZCB2cHhfc2FkMTZ4MTZ4M19zc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQxNngxNngzKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOworCiB2b2lkIHZweF9zYWQxNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNngxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQxNngxNng0ZCB2
cHhfc2FkMTZ4MTZ4NGRfc3NlMgogCit2b2lkIHZweF9zYWQxNngxNng4X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
YWRfYXJyYXkpOwordm9pZCB2cHhfc2FkMTZ4MTZ4OF9zc2U0XzEoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDE2eDE2
eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CisKIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCkBAIC02MjU5LDE0ICs1NjY2LDE0IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzJfYXZn
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4MzJ4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2
cHhfc2FkMTZ4MzJ4NGQgdnB4X3NhZDE2eDMyeDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9z
YWQxNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTYyOTEsMTggKzU2OTgsNTUgQEAg
dW5zaWduZWQgaW50IHZweF9zYWQxNng4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25k
X3ByZWQpOwogI2RlZmluZSB2cHhfc2FkMTZ4OF9hdmcgdnB4X3NhZDE2eDhfYXZnX3NzZTIKIAor
dm9pZCB2cHhfc2FkMTZ4OHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQxNng4
eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDh4
M19zc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZDE2eDh4MykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCiB2b2lkIHZweF9zYWQxNng4eDRk
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDh4NGRfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2FkMTZ4
OHg0ZCB2cHhfc2FkMTZ4OHg0ZF9zc2UyCiAKK3ZvaWQgdnB4X3NhZDE2eDh4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBz
YWRfYXJyYXkpOwordm9pZCB2cHhfc2FkMTZ4OHg4X3NzZTRfMShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQxNng4eDgpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKKwogdW5zaWduZWQgaW50IHZweF9zYWQzMngxNl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKQEAgLTYz
NDMsMTQgKzU3ODcsMTQgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDMyeDE2
X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4MTZ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4MTZ4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2
cHhfc2FkMzJ4MTZ4NGQgdnB4X3NhZDMyeDE2eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9z
YWQzMngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02MzkzLDI0ICs1ODM3LDQwIEBA
IFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQzMngzMl9hdmcpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDMyeDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDMyeDMyeDRkX2F2eDIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIFJUQ0RfRVhU
RVJOIHZvaWQgKCp2cHhfc2FkMzJ4MzJ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CisKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQzMngzMng4X2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQzMngzMng4KShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDY0X2MoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTY0NTIsMTQgKzU5MTIsMTQgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3Nh
ZDMyeDY0X2F2ZykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkMzJ4NjR4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMzJ4NjR4NGRf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfc2FkMzJ4NjR4NGQgdnB4X3NhZDMyeDY0eDRkX3NzZTIKIAogdW5zaWduZWQgaW50
IHZweF9zYWQ0eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNjQ4NCwxOCArNTk0NCw1
MCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkNHg0X2F2ZyB2cHhfc2FkNHg0X2F2Z19zc2UyCiAK
K3ZvaWQgdnB4X3NhZDR4NHgzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDR4NHgzX3Nz
ZTMoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2Fk
NHg0eDMpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOworCiB2b2lkIHZweF9zYWQ0eDR4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkp
Owogdm9pZCB2cHhfc2FkNHg0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKICNkZWZpbmUgdnB4X3NhZDR4NHg0ZCB2cHhfc2FkNHg0eDRkX3NzZTIKIAordm9pZCB2
cHhfc2FkNHg0eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkNHg0eDhfc3NlNF8xKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkNHg0eDgpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLApAQCAt
NjUyMCwxNCArNjAxMiwxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4OF9hdmdfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJy
YXkpOwogdm9pZCB2cHhfc2FkNHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2Fk
X2FycmF5KTsKICNkZWZpbmUgdnB4X3NhZDR4OHg0ZCB2cHhfc2FkNHg4eDRkX3NzZTIKIAogdW5z
aWduZWQgaW50IHZweF9zYWQ2NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02NTcw
LDE0ICs2MDYyLDE0IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWQ2NHgzMl9h
dmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDY0eDMyeDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDY0eDMyeDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUgdnB4
X3NhZDY0eDMyeDRkIHZweF9zYWQ2NHgzMng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfc2Fk
NjR4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNjYyMCwyNCArNjExMiwyNCBAQCBS
VENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkNjR4NjRfYXZnKShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHg2NHg0ZF9hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiBSVENEX0VYVEVS
TiB2b2lkICgqdnB4X3NhZDY0eDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCkBAIC02NjQ3LDQ0NyArNjEzOSwxNjMgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X3Nz
ZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4MTYgdnB4X3NhZDh4MTZfc3NlMgotCi11bnNpZ25lZCBp
bnQgdnB4X3NhZDh4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHgxNl9h
dmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkOHgxNl9hdmcgdnB4
X3NhZDh4MTZfYXZnX3NzZTIKLQotdm9pZCB2cHhfc2FkOHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ4eDE2eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDh4
MTZ4NGQgdnB4X3NhZDh4MTZ4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZDh4NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWQ4eDQgdnB4X3NhZDh4NF9zc2UyCi0K
LXVuc2lnbmVkIGludCB2cHhfc2FkOHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2Fk
OHg0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3NhZDh4NF9hdmcgdnB4
X3NhZDh4NF9hdmdfc3NlMgotCi12b2lkIHZweF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ4eDR4NGRfc3NlMihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWQ4eDR4NGQgdnB4X3Nh
ZDh4NHg0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkOHg4X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHg4
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLSNkZWZpbmUgdnB4X3NhZDh4OCB2cHhfc2FkOHg4X3NzZTIKLQotdW5zaWduZWQgaW50
IHZweF9zYWQ4eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOwotI2RlZmluZSB2cHhfc2FkOHg4X2F2ZyB2cHhfc2FkOHg4X2F2Z19z
c2UyCi0KLXZvaWQgdnB4X3NhZDh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X3NhZDh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZDh4OHg0ZCB2cHhfc2FkOHg4eDRkX3NzZTIK
LQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsK
LSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDE2IHZweF9zYWRfc2tpcF8xNngxNl9zc2UyCi0KLXZv
aWQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngx
Nng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MTZ4
NGQgdnB4X3NhZF9za2lwXzE2eDE2eDRkX3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tp
cF8xNngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDMy
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMy
IHZweF9zYWRfc2tpcF8xNngzMl9zc2UyCi0KLXZvaWQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNngzMng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4MzJ4NGQgdnB4X3NhZF9za2lwXzE2eDMyeDRkX3Nz
ZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNng4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfMTZ4OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF8xNng4IHZweF9zYWRfc2tpcF8xNng4X3NzZTIKLQotdm9pZCB2cHhf
c2FkX3NraXBfMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8xNng4eDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDh4NGQgdnB4X3NhZF9za2lwXzE2
eDh4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBf
MzJ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMyeDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRf
c2tpcF8zMngxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBf
MzJ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkX3NraXBfMzJ4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngzMl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDMyX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MzJfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZF9za2lwXzMyeDMyKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4
X3NhZF9za2lwXzMyeDMyeDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZF9za2lwXzMyeDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfMzJ4NjRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2
NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzMyeDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9zYWRfc2tpcF8zMng2NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8zMng2NHg0ZCkoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzR4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDQgdnB4
X3NhZF9za2lwXzR4NF9jCi0KLXZvaWQgdnB4X3NhZF9za2lwXzR4NHg0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X3NhZF9za2lwXzR4NHg0ZCB2cHhfc2FkX3NraXBfNHg0eDRkX2MKLQotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF80eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF80eDhf
c3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfNHg4IHZweF9zYWRf
c2tpcF80eDhfc3NlMgotCi12b2lkIHZweF9zYWRfc2tpcF80eDh4NGRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRf
c2tpcF80eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF80eDh4NGQg
dnB4X3NhZF9za2lwXzR4OHg0ZF9zc2UyCisjZGVmaW5lIHZweF9zYWQ4eDE2IHZweF9zYWQ4eDE2
X3NzZTIKIAotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYXZnX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKK3Vuc2ln
bmVkIGludCB2cHhfc2FkOHgxNl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50
IHZweF9zYWRfc2tpcF82NHgzMl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJU
Q0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9zYWRfc2tpcF82NHgzMikoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9z
YWQ4eDE2X2F2ZyB2cHhfc2FkOHgxNl9hdmdfc3NlMgogCi12b2lkIHZweF9zYWRfc2tpcF82NHgz
Mng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX2F2eDIoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzY0eDMyeDRkKShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Cit2b2lkIHZw
eF9zYWQ4eDE2eDNfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4MTZ4M19zc2Uz
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9z
YWQ4eDE2eDMpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwordm9pZCB2cHhfc2FkOHgxNng0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCisg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDE2eDRkX3NzZTIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X3NhZDh4
MTZ4NGQgdnB4X3NhZDh4MTZ4NGRfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0
eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKK3ZvaWQgdnB4X3NhZDh4MTZ4OF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHgxNng4X3NzZTRfMShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ4eDE2eDgp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDY0X3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4NjRfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZF9za2lwXzY0eDY0KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRf
YXJyYXkpOwogCi12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Cit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENE
X0VYVEVSTiB2b2lkICgqdnB4X3NhZF9za2lwXzY0eDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNkZWZpbmUgdnB4X3NhZDh4NCB2cHhfc2FkOHg0
X3NzZTIKIAotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDE2X2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKK3Vuc2lnbmVkIGludCB2cHhfc2FkOHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKK3Vuc2lnbmVkIGlu
dCB2cHhfc2FkOHg0X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9z
a2lwXzh4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
OHgxNiB2cHhfc2FkX3NraXBfOHgxNl9zc2UyCi0KLXZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVm
aW5lIHZweF9zYWRfc2tpcF84eDE2eDRkIHZweF9zYWRfc2tpcF84eDE2eDRkX3NzZTIKLQotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF84eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3Nr
aXBfOHg0IHZweF9zYWRfc2tpcF84eDRfYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9zYWQ4eDRfYXZnIHZweF9zYWQ4
eDRfYXZnX3NzZTIKIAotdm9pZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2Fk
X3NraXBfOHg0eDRkIHZweF9zYWRfc2tpcF84eDR4NGRfYwordm9pZCB2cHhfc2FkOHg0eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
W10sCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHg0eDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5W10sCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfc2FkOHg0
eDRkIHZweF9zYWQ4eDR4NGRfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzh4OF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF84eDggdnB4X3NhZF9za2lwXzh4OF9zc2UyCit1
bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Cit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9zc2UyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZw
eF9zYWQ4eDggdnB4X3NhZDh4OF9zc2UyCiAKLXZvaWQgdnB4X3NhZF9za2lwXzh4OHg0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZv
aWQgdnB4X3NhZF9za2lwXzh4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCit1bnNp
Z25lZCBpbnQgdnB4X3NhZDh4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBf
OHg4eDRkIHZweF9zYWRfc2tpcF84eDh4NGRfc3NlMgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwordW5zaWduZWQgaW50IHZweF9zYWQ4
eDhfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkOHg4X2F2ZyB2cHhf
c2FkOHg4X2F2Z19zc2UyCisKK3ZvaWQgdnB4X3NhZDh4OHgzX2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3Zv
aWQgdnB4X3NhZDh4OHgzX3NzZTMoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhU
RVJOIHZvaWQgKCp2cHhfc2FkOHg4eDMpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCit2b2lkIHZweF9zYWQ4eDh4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbXSwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDh4NGRfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9zYWQ4
eDh4NGQgdnB4X3NhZDh4OHg0ZF9zc2UyCisKK3ZvaWQgdnB4X3NhZDh4OHg4X2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKK3ZvaWQgdnB4X3NhZDh4OHg4X3NzZTRfMShjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNh
ZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDh4OHg4KShjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIAog
aW50IHZweF9zYXRkX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwogaW50
IHZweF9zYXRkX3NzZTIoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwpAQCAt
ODA1OCwyMiArNzI2Niw3IEBAIHZvaWQgdnB4X3N1YnRyYWN0X2Jsb2NrX3NzZTIoaW50IHJvd3Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKTsKLXZvaWQgdnB4
X3N1YnRyYWN0X2Jsb2NrX2F2eDIoaW50IHJvd3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBkaWZm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZF9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSk7Ci1SVENEX0VYVEVS
TiB2b2lkICgqdnB4X3N1YnRyYWN0X2Jsb2NrKShpbnQgcm93cywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVk
X3N0cmlkZSk7CisjZGVmaW5lIHZweF9zdWJ0cmFjdF9ibG9jayB2cHhfc3VidHJhY3RfYmxvY2tf
c3NlMgogCiB1aW50NjRfdCB2cHhfc3VtX3NxdWFyZXNfMmRfaTE2X2MoY29uc3QgaW50MTZfdCog
c3JjLCBpbnQgc3RyaWRlLCBpbnQgc2l6ZSk7CiB1aW50NjRfdCB2cHhfc3VtX3NxdWFyZXNfMmRf
aTE2X3NzZTIoY29uc3QgaW50MTZfdCogc3JjLCBpbnQgc3RyaWRlLCBpbnQgc2l6ZSk7CkBAIC04
MzYxLDE2ICs3NTU0LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4MTZfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4MTZfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTh4MTYp
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsK
KyNkZWZpbmUgdnB4X3ZhcmlhbmNlOHgxNiB2cHhfdmFyaWFuY2U4eDE2X3NzZTIKIAogdW5zaWdu
ZWQgaW50IHZweF92YXJpYW5jZTh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC04MzgyLDE2ICs3NTY2
LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhU
RVJOIHVuc2lnbmVkIGludCAoKnZweF92YXJpYW5jZTh4NCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTh4NCB2
cHhfdmFyaWFuY2U4eDRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlOHg4X2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKQEAgLTg0MDMsMTYgKzc1NzgsNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3Zhcmlh
bmNlOHg4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4
eDhfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50KiBzc2UpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3Zhcmlh
bmNlOHg4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCogc3Nl
KTsKKyNkZWZpbmUgdnB4X3ZhcmlhbmNlOHg4IHZweF92YXJpYW5jZTh4OF9zc2UyCiAKIHZvaWQg
dnB4X3ZlX3ByZWRpY3Rvcl80eDRfYyh1aW50OF90KiBkc3QsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKQEAgLTg0MzMsOSArNzU5OSw2IEBAIHN0YXRpYyB2
b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogCiAgICh2b2lkKWZsYWdzOwogCi0gIHZw
eF9jb21wX2F2Z19wcmVkID0gdnB4X2NvbXBfYXZnX3ByZWRfc3NlMjsKLSAgaWYgKGZsYWdzICYg
SEFTX0FWWDIpCi0gICAgdnB4X2NvbXBfYXZnX3ByZWQgPSB2cHhfY29tcF9hdmdfcHJlZF9hdngy
OwogICB2cHhfY29udm9sdmU4ID0gdnB4X2NvbnZvbHZlOF9zc2UyOwogICBpZiAoZmxhZ3MgJiBI
QVNfU1NTRTMpCiAgICAgdnB4X2NvbnZvbHZlOCA9IHZweF9jb252b2x2ZThfc3NzZTM7CkBAIC04
NjMxLDE0OSArNzc5NCwxMiBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQp
IHsKICAgdnB4X2hpZ2hiZF9pZGN0OHg4XzY0X2FkZCA9IHZweF9oaWdoYmRfaWRjdDh4OF82NF9h
ZGRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKICAgICB2cHhfaGlnaGJkX2lkY3Q4
eDhfNjRfYWRkID0gdnB4X2hpZ2hiZF9pZGN0OHg4XzY0X2FkZF9zc2U0XzE7Ci0gIHZweF9oaWdo
YmRfcXVhbnRpemVfYiA9IHZweF9oaWdoYmRfcXVhbnRpemVfYl9zc2UyOwotICBpZiAoZmxhZ3Mg
JiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3F1YW50aXplX2IgPSB2cHhfaGlnaGJkX3F1YW50
aXplX2JfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyID0gdnB4X2hpZ2hiZF9x
dWFudGl6ZV9iXzMyeDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfcXVhbnRpemVfYl8zMngzMiA9IHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9hdngy
OwotICB2cHhfaGlnaGJkX3NhZDE2eDE2ID0gdnB4X2hpZ2hiZF9zYWQxNngxNl9zc2UyOwotICBp
ZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDE2ID0gdnB4X2hpZ2hi
ZF9zYWQxNngxNl9hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZyA9IHZweF9oaWdoYmRf
c2FkMTZ4MTZfYXZnX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdo
YmRfc2FkMTZ4MTZfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmdfYXZ4MjsKLSAgdnB4X2hp
Z2hiZF9zYWQxNngxNng0ZCA9IHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZCA9IHZweF9oaWdoYmRf
c2FkMTZ4MTZ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngzMiA9IHZweF9oaWdoYmRfc2Fk
MTZ4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQx
NngzMiA9IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngzMl9h
dmcgPSB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZY
MikKLSAgICB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2ZyA9IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZn
X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZDE2eDMyeDRk
X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMTZ4MzJ4
NGQgPSB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4OCA9
IHZweF9oaWdoYmRfc2FkMTZ4OF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2
cHhfaGlnaGJkX3NhZDE2eDggPSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZ4MjsKLSAgdnB4X2hpZ2hi
ZF9zYWQxNng4X2F2ZyA9IHZweF9oaWdoYmRfc2FkMTZ4OF9hdmdfc3NlMjsKLSAgaWYgKGZsYWdz
ICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNng4X2F2ZyA9IHZweF9oaWdoYmRfc2Fk
MTZ4OF9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNng4eDRkID0gdnB4X2hpZ2hiZF9zYWQx
Nng4eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2Fk
MTZ4OHg0ZCA9IHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDMy
eDE2ID0gdnB4X2hpZ2hiZF9zYWQzMngxNl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
LSAgICB2cHhfaGlnaGJkX3NhZDMyeDE2ID0gdnB4X2hpZ2hiZF9zYWQzMngxNl9hdngyOwotICB2
cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX3NzZTI7Ci0g
IGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnID0gdnB4
X2hpZ2hiZF9zYWQzMngxNl9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZCA9IHZw
eF9oaWdoYmRfc2FkMzJ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAg
dnB4X2hpZ2hiZF9zYWQzMngxNng0ZCA9IHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYXZ4MjsKLSAg
dnB4X2hpZ2hiZF9zYWQzMngzMiA9IHZweF9oaWdoYmRfc2FkMzJ4MzJfc3NlMjsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQzMngzMiA9IHZweF9oaWdoYmRfc2Fk
MzJ4MzJfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcgPSB2cHhfaGlnaGJkX3NhZDMy
eDMyX2F2Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3Nh
ZDMyeDMyX2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2F2eDI7Ci0gIHZweF9oaWdoYmRf
c2FkMzJ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZDMy
eDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4NjQgPSB2cHhfaGlnaGJkX3NhZDMyeDY0
X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4NjQg
PSB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnID0g
dnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0g
ICAgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmcgPSB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19hdngy
OwotICB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkID0gdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9zc2Uy
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkID0g
dnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDY0eDMyID0gdnB4
X2hpZ2hiZF9zYWQ2NHgzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhf
aGlnaGJkX3NhZDY0eDMyID0gdnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdngyOwotICB2cHhfaGlnaGJk
X3NhZDY0eDMyX2F2ZyA9IHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnX3NzZTI7Ci0gIGlmIChmbGFn
cyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnID0gdnB4X2hpZ2hiZF9z
YWQ2NHgzMl9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZCA9IHZweF9oaWdoYmRf
c2FkNjR4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hi
ZF9zYWQ2NHgzMng0ZCA9IHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hi
ZF9zYWQ2NHg2NCA9IHZweF9oaWdoYmRfc2FkNjR4NjRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFT
X0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQ2NHg2NCA9IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZ4
MjsKLSAgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmcgPSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19z
c2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2
ZyA9IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4NjR4
NGQgPSB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgy
KQotICAgIHZweF9oaWdoYmRfc2FkNjR4NjR4NGQgPSB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2F2
eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTYgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2
eDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMTZ4MTYgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2F2eDI7Ci0gIHZweF9oaWdoYmRf
c2FkX3NraXBfMTZ4MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX3NzZTI7Ci0g
IGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGQg
PSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3Nr
aXBfMTZ4MzIgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAm
IEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzIgPSB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGQgPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQot
ICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2
eDMyeDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OCA9IHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4OF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDggPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhfYXZ4MjsKLSAgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNng4eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX3NzZTI7
Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0
ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9z
a2lwXzMyeDE2ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNl9zc2UyOwotICBpZiAoZmxhZ3Mg
JiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2ID0gdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMngxNl9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkID0gdnB4
X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
LSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8z
MngxNng0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyID0gdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMngzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDMyID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMl9hdngyOwotICB2
cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0
ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDMyeDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9hdngyOwotICB2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDY0ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9zc2UyOwotICBp
ZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0ID0gdnB4
X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0
eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBI
QVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkID0gdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMng2NHg0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyID0gdnB4
X2hpZ2hiZF9zYWRfc2tpcF82NHgzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMl9h
dngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tp
cF82NHgzMng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJk
X3NhZF9za2lwXzY0eDMyeDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZF9hdngyOwot
ICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9z
c2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0
eDY0ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9z
a2lwXzY0eDY0eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyOwotICBpZiAo
ZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkID0gdnB4
X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9hdngyOwogICB2cHhfaGlnaGJkX3NhdGQgPSB2cHhf
aGlnaGJkX3NhdGRfYzsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X2hpZ2hiZF9z
YXRkID0gdnB4X2hpZ2hiZF9zYXRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2sg
PSB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2M7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQot
ICAgIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2sgPSB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2Nr
X2F2eDI7Ci0gIHZweF9pZGN0MTZ4MTZfMjU2X2FkZCA9IHZweF9pZGN0MTZ4MTZfMjU2X2FkZF9z
c2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaWRjdDE2eDE2XzI1Nl9hZGQg
PSB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYXZ4MjsKLSAgdnB4X2lkY3QzMngzMl8xMDI0X2FkZCA9
IHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0g
ICAgdnB4X2lkY3QzMngzMl8xMDI0X2FkZCA9IHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfYXZ4MjsK
ICAgdnB4X2lkY3QzMngzMl8xMzVfYWRkID0gdnB4X2lkY3QzMngzMl8xMzVfYWRkX3NzZTI7CiAg
IGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cHhfaWRjdDMyeDMyXzEzNV9hZGQgPSB2cHhf
aWRjdDMyeDMyXzEzNV9hZGRfc3NzZTM7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZw
eF9pZGN0MzJ4MzJfMTM1X2FkZCA9IHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9hdngyOwogICB2cHhf
aWRjdDMyeDMyXzM0X2FkZCA9IHZweF9pZGN0MzJ4MzJfMzRfYWRkX3NzZTI7CiAgIGlmIChmbGFn
cyAmIEhBU19TU1NFMykKICAgICB2cHhfaWRjdDMyeDMyXzM0X2FkZCA9IHZweF9pZGN0MzJ4MzJf
MzRfYWRkX3Nzc2UzOwpAQCAtODc5NywxNSArNzgyMywyNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9y
dGNkX2ludGVybmFsKHZvaWQpIHsKICAgICB2cHhfcXVhbnRpemVfYiA9IHZweF9xdWFudGl6ZV9i
X3Nzc2UzOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYKQogICAgIHZweF9xdWFudGl6ZV9iID0gdnB4
X3F1YW50aXplX2JfYXZ4OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfcXVhbnRp
emVfYiA9IHZweF9xdWFudGl6ZV9iX2F2eDI7CiAgIHZweF9xdWFudGl6ZV9iXzMyeDMyID0gdnB4
X3F1YW50aXplX2JfMzJ4MzJfYzsKICAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZweF9x
dWFudGl6ZV9iXzMyeDMyID0gdnB4X3F1YW50aXplX2JfMzJ4MzJfc3NzZTM7CiAgIGlmIChmbGFn
cyAmIEhBU19BVlgpCiAgICAgdnB4X3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfcXVhbnRpemVfYl8z
MngzMl9hdng7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9xdWFudGl6ZV9iXzMy
eDMyID0gdnB4X3F1YW50aXplX2JfMzJ4MzJfYXZ4MjsKKyAgdnB4X3NhZDE2eDE2eDMgPSB2cHhf
c2FkMTZ4MTZ4M19jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFMykKKyAgICB2cHhfc2FkMTZ4MTZ4
MyA9IHZweF9zYWQxNngxNngzX3NzZTM7CisgIGlmIChmbGFncyAmIEhBU19TU1NFMykKKyAgICB2
cHhfc2FkMTZ4MTZ4MyA9IHZweF9zYWQxNngxNngzX3Nzc2UzOworICB2cHhfc2FkMTZ4MTZ4OCA9
IHZweF9zYWQxNngxNng4X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisgICAgdnB4X3Nh
ZDE2eDE2eDggPSB2cHhfc2FkMTZ4MTZ4OF9zc2U0XzE7CisgIHZweF9zYWQxNng4eDMgPSB2cHhf
c2FkMTZ4OHgzX2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZweF9zYWQxNng4eDMg
PSB2cHhfc2FkMTZ4OHgzX3NzZTM7CisgIGlmIChmbGFncyAmIEhBU19TU1NFMykKKyAgICB2cHhf
c2FkMTZ4OHgzID0gdnB4X3NhZDE2eDh4M19zc3NlMzsKKyAgdnB4X3NhZDE2eDh4OCA9IHZweF9z
YWQxNng4eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2FkMTZ4OHg4
ID0gdnB4X3NhZDE2eDh4OF9zc2U0XzE7CiAgIHZweF9zYWQzMngxNiA9IHZweF9zYWQzMngxNl9z
c2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkMzJ4MTYgPSB2cHhfc2Fk
MzJ4MTZfYXZ4MjsKQEAgLTg4MjEsMTIgKzc4NTksMjEgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRj
ZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZweF9zYWQzMngzMng0ZCA9IHZweF9zYWQzMngzMng0ZF9z
c2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkMzJ4MzJ4NGQgPSB2cHhf
c2FkMzJ4MzJ4NGRfYXZ4MjsKKyAgdnB4X3NhZDMyeDMyeDggPSB2cHhfc2FkMzJ4MzJ4OF9jOwor
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKKyAgICB2cHhfc2FkMzJ4MzJ4OCA9IHZweF9zYWQzMngz
Mng4X2F2eDI7CiAgIHZweF9zYWQzMng2NCA9IHZweF9zYWQzMng2NF9zc2UyOwogICBpZiAoZmxh
Z3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2FkMzJ4NjQgPSB2cHhfc2FkMzJ4NjRfYXZ4MjsKICAg
dnB4X3NhZDMyeDY0X2F2ZyA9IHZweF9zYWQzMng2NF9hdmdfc3NlMjsKICAgaWYgKGZsYWdzICYg
SEFTX0FWWDIpCiAgICAgdnB4X3NhZDMyeDY0X2F2ZyA9IHZweF9zYWQzMng2NF9hdmdfYXZ4MjsK
KyAgdnB4X3NhZDR4NHgzID0gdnB4X3NhZDR4NHgzX2M7CisgIGlmIChmbGFncyAmIEhBU19TU0Uz
KQorICAgIHZweF9zYWQ0eDR4MyA9IHZweF9zYWQ0eDR4M19zc2UzOworICB2cHhfc2FkNHg0eDgg
PSB2cHhfc2FkNHg0eDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2Fk
NHg0eDggPSB2cHhfc2FkNHg0eDhfc3NlNF8xOwogICB2cHhfc2FkNjR4MzIgPSB2cHhfc2FkNjR4
MzJfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3NhZDY0eDMyID0gdnB4
X3NhZDY0eDMyX2F2eDI7CkBAIC04ODQyLDM2ICs3ODg5LDE4IEBAIHN0YXRpYyB2b2lkIHNldHVw
X3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfc2FkNjR4NjR4NGQgPSB2cHhfc2FkNjR4NjR4
NGRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3NhZDY0eDY0eDRkID0g
dnB4X3NhZDY0eDY0eDRkX2F2eDI7Ci0gIHZweF9zYWRfc2tpcF8zMngxNiA9IHZweF9zYWRfc2tp
cF8zMngxNl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBf
MzJ4MTYgPSB2cHhfc2FkX3NraXBfMzJ4MTZfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzMyeDE2eDRk
ID0gdnB4X3NhZF9za2lwXzMyeDE2eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQot
ICAgIHZweF9zYWRfc2tpcF8zMngxNng0ZCA9IHZweF9zYWRfc2tpcF8zMngxNng0ZF9hdngyOwot
ICB2cHhfc2FkX3NraXBfMzJ4MzIgPSB2cHhfc2FkX3NraXBfMzJ4MzJfc3NlMjsKLSAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzMyeDMyID0gdnB4X3NhZF9za2lwXzMy
eDMyX2F2eDI7Ci0gIHZweF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9zYWRfc2tpcF8zMngzMng0
ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBfMzJ4MzJ4
NGQgPSB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzMyeDY0ID0g
dnB4X3NhZF9za2lwXzMyeDY0X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZw
eF9zYWRfc2tpcF8zMng2NCA9IHZweF9zYWRfc2tpcF8zMng2NF9hdngyOwotICB2cHhfc2FkX3Nr
aXBfMzJ4NjR4NGQgPSB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYg
SEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzMyeDY0eDRkID0gdnB4X3NhZF9za2lwXzMyeDY0
eDRkX2F2eDI7Ci0gIHZweF9zYWRfc2tpcF82NHgzMiA9IHZweF9zYWRfc2tpcF82NHgzMl9zc2Uy
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBfNjR4MzIgPSB2cHhf
c2FkX3NraXBfNjR4MzJfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzY0eDMyeDRkID0gdnB4X3NhZF9z
a2lwXzY0eDMyeDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRf
c2tpcF82NHgzMng0ZCA9IHZweF9zYWRfc2tpcF82NHgzMng0ZF9hdngyOwotICB2cHhfc2FkX3Nr
aXBfNjR4NjQgPSB2cHhfc2FkX3NraXBfNjR4NjRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FW
WDIpCi0gICAgdnB4X3NhZF9za2lwXzY0eDY0ID0gdnB4X3NhZF9za2lwXzY0eDY0X2F2eDI7Ci0g
IHZweF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZweF9zYWRfc2tpcF82NHg2NHg0ZF9zc2UyOwotICBp
ZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhfc2Fk
X3NraXBfNjR4NjR4NGRfYXZ4MjsKKyAgdnB4X3NhZDh4MTZ4MyA9IHZweF9zYWQ4eDE2eDNfYzsK
KyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnB4X3NhZDh4MTZ4MyA9IHZweF9zYWQ4eDE2
eDNfc3NlMzsKKyAgdnB4X3NhZDh4MTZ4OCA9IHZweF9zYWQ4eDE2eDhfYzsKKyAgaWYgKGZsYWdz
ICYgSEFTX1NTRTRfMSkKKyAgICB2cHhfc2FkOHgxNng4ID0gdnB4X3NhZDh4MTZ4OF9zc2U0XzE7
CisgIHZweF9zYWQ4eDh4MyA9IHZweF9zYWQ4eDh4M19jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NF
MykKKyAgICB2cHhfc2FkOHg4eDMgPSB2cHhfc2FkOHg4eDNfc3NlMzsKKyAgdnB4X3NhZDh4OHg4
ID0gdnB4X3NhZDh4OHg4X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisgICAgdnB4X3Nh
ZDh4OHg4ID0gdnB4X3NhZDh4OHg4X3NzZTRfMTsKICAgdnB4X3NhdGQgPSB2cHhfc2F0ZF9zc2Uy
OwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfc2F0ZCA9IHZweF9zYXRkX2F2eDI7
CkBAIC04OTY0LDkgKzc5OTMsNiBAQCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZv
aWQpIHsKICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OCA9IHZweF9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDhfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZweF9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDggPSB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X3Nzc2UzOwotICB2cHhfc3Vi
dHJhY3RfYmxvY2sgPSB2cHhfc3VidHJhY3RfYmxvY2tfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFT
X0FWWDIpCi0gICAgdnB4X3N1YnRyYWN0X2Jsb2NrID0gdnB4X3N1YnRyYWN0X2Jsb2NrX2F2eDI7
CiAgIHZweF92YXJpYW5jZTE2eDE2ID0gdnB4X3ZhcmlhbmNlMTZ4MTZfc3NlMjsKICAgaWYgKGZs
YWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3ZhcmlhbmNlMTZ4MTYgPSB2cHhfdmFyaWFuY2UxNngx
Nl9hdngyOwpAQCAtODk5MSwxNSArODAxNyw2IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50
ZXJuYWwodm9pZCkgewogICB2cHhfdmFyaWFuY2U2NHg2NCA9IHZweF92YXJpYW5jZTY0eDY0X3Nz
ZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF92YXJpYW5jZTY0eDY0ID0gdnB4
X3ZhcmlhbmNlNjR4NjRfYXZ4MjsKLSAgdnB4X3ZhcmlhbmNlOHgxNiA9IHZweF92YXJpYW5jZTh4
MTZfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3ZhcmlhbmNlOHgxNiA9
IHZweF92YXJpYW5jZTh4MTZfYXZ4MjsKLSAgdnB4X3ZhcmlhbmNlOHg0ID0gdnB4X3ZhcmlhbmNl
OHg0X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF92YXJpYW5jZTh4NCA9
IHZweF92YXJpYW5jZTh4NF9hdngyOwotICB2cHhfdmFyaWFuY2U4eDggPSB2cHhfdmFyaWFuY2U4
eDhfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3ZhcmlhbmNlOHg4ID0g
dnB4X3ZhcmlhbmNlOHg4X2F2eDI7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp
Zy93aW4veDY0L3ZwOF9ydGNkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi94NjQvdnA4X3J0Y2QuaAppbmRl
eCAzNjIxNjc3MGExZTguLmM0NmJmZTU3MzNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4v
eDY0L3ZwOF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4veDY0L3ZwOF9ydGNkLmgKQEAgLTEw
NSw2ICsxMDUsMzYgQEAgUlRDRF9FWFRFUk4gdm9pZCAoKnZwOF9iaWxpbmVhcl9wcmVkaWN0OHg4
KSh1bnNpZ25lZCBjaGFyKiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3BpdGNoKTsKIAordm9pZCB2cDhfYmxl
bmRfYl9jKHVuc2lnbmVkIGNoYXIqIHksCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hh
ciogdSwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB2LAorICAgICAgICAgICAg
ICAgICAgIGludCB5XzEsCisgICAgICAgICAgICAgICAgICAgaW50IHVfMSwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgdl8xLAorICAgICAgICAgICAgICAgICAgIGludCBhbHBoYSwKKyAgICAgICAg
ICAgICAgICAgICBpbnQgc3RyaWRlKTsKKyNkZWZpbmUgdnA4X2JsZW5kX2IgdnA4X2JsZW5kX2Jf
YworCit2b2lkIHZwOF9ibGVuZF9tYl9pbm5lcl9jKHVuc2lnbmVkIGNoYXIqIHksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5
XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1XzEsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB2XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhbHBoYSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVu
ZF9tYl9pbm5lciB2cDhfYmxlbmRfbWJfaW5uZXJfYworCit2b2lkIHZwOF9ibGVuZF9tYl9vdXRl
cl9jKHVuc2lnbmVkIGNoYXIqIHksCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGNoYXIqIHUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5XzEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB1XzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB2XzEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBhbHBoYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHN0cmlkZSk7CisjZGVmaW5lIHZwOF9ibGVuZF9tYl9vdXRlciB2cDhfYmxlbmRfbWJfb3V0
ZXJfYworCiBpbnQgdnA4X2Jsb2NrX2Vycm9yX2Moc2hvcnQqIGNvZWZmLCBzaG9ydCogZHFjb2Vm
Zik7CiBpbnQgdnA4X2Jsb2NrX2Vycm9yX3NzZTIoc2hvcnQqIGNvZWZmLCBzaG9ydCogZHFjb2Vm
Zik7CiAjZGVmaW5lIHZwOF9ibG9ja19lcnJvciB2cDhfYmxvY2tfZXJyb3Jfc3NlMgpAQCAtMzA4
LDYgKzMzOCw0MyBAQCB2b2lkIHZwOF9maWx0ZXJfYnlfd2VpZ2h0OHg4X3NzZTIodW5zaWduZWQg
Y2hhciogc3JjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2Vp
Z2h0KTsKICNkZWZpbmUgdnA4X2ZpbHRlcl9ieV93ZWlnaHQ4eDggdnA4X2ZpbHRlcl9ieV93ZWln
aHQ4eDhfc3NlMgogCitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZF9jKHN0cnVjdCBtYWNyb2Jsb2Nr
KiB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxvY2sqIGIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuaW9uIGludF9tdiogcmVmX212LAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc2FkX3Blcl9iaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSogZm5fcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIG12Y29zdFsyXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5pb24gaW50X212KiBjZW50ZXJfbXYpOworaW50IHZwOF9mdWxsX3Nl
YXJjaF9zYWR4MyhzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RydWN0IGJsb2NrKiBiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmxv
Y2tkKiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdCB2YXJpYW5jZV92dGFibGUqIGZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50KiBtdmNvc3RbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGludF9tdiog
Y2VudGVyX212KTsKK2ludCB2cDhfZnVsbF9zZWFyY2hfc2FkeDgoc3RydWN0IG1hY3JvYmxvY2sq
IHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9jayogYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IGJsb2NrZCogZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5pb24gaW50X212KiByZWZfbXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpc3RhbmNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZjb3N0WzJdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIGNlbnRlcl9tdik7CitSVENEX0VYVEVSTiBpbnQg
KCp2cDhfZnVsbF9zZWFyY2hfc2FkKShzdHJ1Y3QgbWFjcm9ibG9jayogeCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9jayogYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBibG9ja2QqIGQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpbnRfbXYqIHJlZl9tdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YXJpYW5jZV92dGFibGUqIGZu
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCogbXZjb3N0
WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gaW50X212
KiBjZW50ZXJfbXYpOworCiB2b2lkIHZwOF9sb29wX2ZpbHRlcl9iaF9jKHVuc2lnbmVkIGNoYXIq
IHlfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiB1X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogdl9wdHIsCkBAIC01ODEs
NiArNjQ4LDExIEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2
cDhfZmFzdF9xdWFudGl6ZV9iID0gdnA4X2Zhc3RfcXVhbnRpemVfYl9zc2UyOwogICBpZiAoZmxh
Z3MgJiBIQVNfU1NTRTMpCiAgICAgdnA4X2Zhc3RfcXVhbnRpemVfYiA9IHZwOF9mYXN0X3F1YW50
aXplX2Jfc3NzZTM7CisgIHZwOF9mdWxsX3NlYXJjaF9zYWQgPSB2cDhfZnVsbF9zZWFyY2hfc2Fk
X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZwOF9mdWxsX3NlYXJjaF9zYWQgPSB2
cDhfZnVsbF9zZWFyY2hfc2FkeDM7CisgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisgICAgdnA4
X2Z1bGxfc2VhcmNoX3NhZCA9IHZwOF9mdWxsX3NlYXJjaF9zYWR4ODsKICAgdnA4X3JlZ3VsYXJf
cXVhbnRpemVfYiA9IHZwOF9yZWd1bGFyX3F1YW50aXplX2Jfc3NlMjsKICAgaWYgKGZsYWdzICYg
SEFTX1NTRTRfMSkKICAgICB2cDhfcmVndWxhcl9xdWFudGl6ZV9iID0gdnA4X3JlZ3VsYXJfcXVh
bnRpemVfYl9zc2U0XzE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi94NjQvdnA5X3J0Y2Qu
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvd2luL3g2NC92cDlfcnRjZC5oCmluZGV4IDc3NzFlZTNlMWE5MC4uMTJi
OTExMGQyOGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi94NjQvdnA5X3J0Y2QuaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvY29uZmlnL3dpbi94NjQvdnA5X3J0Y2QuaApAQCAtMjEsOSArMjEsNyBAQCBzdHJ1Y3Qg
bWFjcm9ibG9ja2Q7CiAKIC8qIEVuY29kZXIgZm9yd2FyZCBkZWNscyAqLwogc3RydWN0IG1hY3Jv
YmxvY2s7Ci1zdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZTsKLXN0cnVjdCB2cDlfc2FkX3RhYmxlOwot
c3RydWN0IFNjYW5PcmRlcjsKK3N0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlOwogc3RydWN0IHNl
YXJjaF9zaXRlX2NvbmZpZzsKIHN0cnVjdCBtdjsKIHVuaW9uIGludF9tdjsKQEAgLTg2LDE0ICs4
NCwzMSBAQCBpbnQgdnA5X2Rlbm9pc2VyX2ZpbHRlcl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNpZywK
IGludCB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9j
b25maWcqIGNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiByZWZf
bXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3NhZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG12KiBiZXN0X212LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCogbnVtMDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCB2cDlfc2FkX3RhYmxlKiBzYWRfZm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgdnA5X3ZhcmlhbmNlX3Z0YWJsZSogZm5fcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXYqIGNlbnRlcl9tdik7Ci0jZGVmaW5lIHZw
OV9kaWFtb25kX3NlYXJjaF9zYWQgdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9jCitpbnQgdnA5X2Rp
YW1vbmRfc2VhcmNoX3NhZF9hdngoY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sqIHgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyog
Y2ZnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogcmVmX212LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VhcmNoX3BhcmFtLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQqIG51bTAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12KiBjZW50ZXJfbXYpOworUlRDRF9FWFRFUk4g
aW50ICgqdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCkoCisgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2sqIHgsCisgICAgY29uc3Qgc3RydWN0IHNlYXJjaF9zaXRlX2NvbmZpZyogY2ZnLAorICAgIHN0
cnVjdCBtdiogcmVmX212LAorICAgIHN0cnVjdCBtdiogYmVzdF9tdiwKKyAgICBpbnQgc2VhcmNo
X3BhcmFtLAorICAgIGludCBzYWRfcGVyX2JpdCwKKyAgICBpbnQqIG51bTAwLAorICAgIGNvbnN0
IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlKiBmbl9wdHIsCisgICAgY29uc3Qgc3RydWN0IG12
KiBjZW50ZXJfbXYpOwogCiB2b2lkIHZwOV9maHQxNngxNl9jKGNvbnN0IGludDE2X3QqIGlucHV0
LAogICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBvdXRwdXQsCkBAIC0yNjAsNTcgKzI3
NSwyOSBAQCB2b2lkIHZwOV9oaWdoYmRfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc19jKGNvbnN0
IHVpbnQxNl90KiBzcmNfcHRyLAogCiB2b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYyhjb25z
dCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotdm9pZCB2cDlfaGlnaGJkX3F1
YW50aXplX2ZwX2F2eDIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJf
cGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29l
ZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFj
b2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90
KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X2hp
Z2hiZF9xdWFudGl6ZV9mcCkoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAg
IGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBj
b25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVp
bnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOwotCi12b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYygKLSAgICBjb25z
dCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93
X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3Qg
aW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZwOV9oaWdoYmRfcXVh
bnRpemVfZnBfMzJ4MzJfYXZ4MigKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0g
ICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUq
IGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9s
b3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAg
dWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nh
bl9vcmRlcik7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngz
MikoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGludHB0cl90IG5fY29l
ZmZzLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwK
LSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnA5X2hp
Z2hiZF9xdWFudGl6ZV9mcCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2MKKwordm9pZCB2cDlfaGln
aGJkX3F1YW50aXplX2ZwXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2Vm
Zl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogaXNjYW4pOworI2RlZmluZSB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMy
eDMyIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYwogCiB2b2lkIHZwOV9oaWdoYmRfdGVt
cG9yYWxfZmlsdGVyX2FwcGx5X2MoY29uc3QgdWludDhfdCogZnJhbWUxLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzdHJpZGUsCkBAIC0zNTYs
NzkgKzM0Myw5MyBAQCB2b2lkIHZwOV9paHQ4eDhfNjRfYWRkX3NzZTIoY29uc3QgdHJhbl9sb3df
dCogaW5wdXQsCiAKIHZvaWQgdnA5X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1i
X3BsYW5lLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBk
ZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFu
dGl6ZV9mcF9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
ZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25z
dCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwog
dm9pZCB2cDlfcXVhbnRpemVfZnBfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJf
cGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9hdngyKGNvbnN0
IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRy
X3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNy
b2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVh
bnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLVJU
Q0RfRVhURVJOIHZvaWQgKCp2cDlfcXVhbnRpemVfZnApKAotICAgIGNvbnN0IHRyYW5fbG93X3Qq
IGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0
ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1
YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
aXNjYW4pOworUlRDRF9FWFRFUk4gdm9pZCAoKnZwOV9xdWFudGl6ZV9mcCkoY29uc3QgdHJhbl9s
b3dfdCogY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogCiB2b2lkIHZwOV9x
dWFudGl6ZV9mcF8zMngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9pZCB2cDlfcXVhbnRp
emVfZnBfMzJ4MzJfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3Qg
bWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9j
aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5k
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1
YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFj
b2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2
X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnA5X3F1YW50aXplX2ZwXzMy
eDMyX2F2eDIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBj
b25zdCBzY2FuX29yZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cDlfcXVhbnRpemVfZnBfMzJ4
MzIpKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2Nv
ZWZmcywKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUs
Ci0gICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0
ciwKLSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0
ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CitSVENEX0VY
VEVSTiB2b2lkICgqdnA5X3F1YW50aXplX2ZwXzMyeDMyKShjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJf
dCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCogZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiAKIHZvaWQgdnA5X3NjYWxlX2Fu
ZF9leHRlbmRfZnJhbWVfYyhjb25zdCBzdHJ1Y3QgeXYxMl9idWZmZXJfY29uZmlnKiBzcmMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHl2MTJfYnVmZmVyX2NvbmZp
ZyogZHN0LApAQCAtNDU5LDYgKzQ2MCw5IEBAIHN0YXRpYyB2b2lkIHNldHVwX3J0Y2RfaW50ZXJu
YWwodm9pZCkgewogICB2cDlfYmxvY2tfZXJyb3JfZnAgPSB2cDlfYmxvY2tfZXJyb3JfZnBfc3Nl
MjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnA5X2Jsb2NrX2Vycm9yX2ZwID0gdnA5
X2Jsb2NrX2Vycm9yX2ZwX2F2eDI7CisgIHZwOV9kaWFtb25kX3NlYXJjaF9zYWQgPSB2cDlfZGlh
bW9uZF9zZWFyY2hfc2FkX2M7CisgIGlmIChmbGFncyAmIEhBU19BVlgpCisgICAgdnA5X2RpYW1v
bmRfc2VhcmNoX3NhZCA9IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYXZ4OwogICB2cDlfaGlnaGJk
X2lodDE2eDE2XzI1Nl9hZGQgPSB2cDlfaGlnaGJkX2lodDE2eDE2XzI1Nl9hZGRfYzsKICAgaWYg
KGZsYWdzICYgSEFTX1NTRTRfMSkKICAgICB2cDlfaGlnaGJkX2lodDE2eDE2XzI1Nl9hZGQgPSB2
cDlfaGlnaGJkX2lodDE2eDE2XzI1Nl9hZGRfc3NlNF8xOwpAQCAtNDY4LDEyICs0NzIsNiBAQCBz
dGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAgdnA5X2hpZ2hiZF9paHQ4
eDhfNjRfYWRkID0gdnA5X2hpZ2hiZF9paHQ4eDhfNjRfYWRkX2M7CiAgIGlmIChmbGFncyAmIEhB
U19TU0U0XzEpCiAgICAgdnA5X2hpZ2hiZF9paHQ4eDhfNjRfYWRkID0gdnA5X2hpZ2hiZF9paHQ4
eDhfNjRfYWRkX3NzZTRfMTsKLSAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcCA9IHZwOV9oaWdoYmRf
cXVhbnRpemVfZnBfYzsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnA5X2hpZ2hiZF9x
dWFudGl6ZV9mcCA9IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYXZ4MjsKLSAgdnA5X2hpZ2hiZF9x
dWFudGl6ZV9mcF8zMngzMiA9IHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYzsKLSAgaWYg
KGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMiA9IHZw
OV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MjsKICAgdnA5X3F1YW50aXplX2ZwID0gdnA5
X3F1YW50aXplX2ZwX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cDlfcXVh
bnRpemVfZnAgPSB2cDlfcXVhbnRpemVfZnBfc3NzZTM7CkBAIC00ODIsOCArNDgwLDYgQEAgc3Rh
dGljIHZvaWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgIHZwOV9xdWFudGl6ZV9mcF8z
MngzMiA9IHZwOV9xdWFudGl6ZV9mcF8zMngzMl9jOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMp
CiAgICAgdnA5X3F1YW50aXplX2ZwXzMyeDMyID0gdnA5X3F1YW50aXplX2ZwXzMyeDMyX3Nzc2Uz
OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cDlfcXVhbnRpemVfZnBfMzJ4MzIgPSB2
cDlfcXVhbnRpemVfZnBfMzJ4MzJfYXZ4MjsKICAgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUg
PSB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9jOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMp
CiAgICAgdnA5X3NjYWxlX2FuZF9leHRlbmRfZnJhbWUgPSB2cDlfc2NhbGVfYW5kX2V4dGVuZF9m
cmFtZV9zc3NlMzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvd2luL3g2NC92cHhfY29uZmlnLmFz
bSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9jb25maWcvd2luL3g2NC92cHhfY29uZmlnLmFzbQppbmRleCA1N2RhMzg3ZDFhMzUu
LjUwN2FiNTQzZjNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4veDY0L3ZweF9jb25maWcu
YXNtCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9jb25maWcvd2luL3g2NC92cHhfY29uZmlnLmFzbQpAQCAtMSw3ICsxLDUg
QEAKICVkZWZpbmUgVlBYX0FSQ0hfQVJNIDAKICVkZWZpbmUgQVJDSF9BUk0gMAotJWRlZmluZSBW
UFhfQVJDSF9BQVJDSDY0IDAKLSVkZWZpbmUgQVJDSF9BQVJDSDY0IDAKICVkZWZpbmUgVlBYX0FS
Q0hfTUlQUyAwCiAlZGVmaW5lIEFSQ0hfTUlQUyAwCiAlZGVmaW5lIFZQWF9BUkNIX1g4NiAwCkBA
IC0xMCwxMiArOCw4IEBACiAlZGVmaW5lIEFSQ0hfWDg2XzY0IDEKICVkZWZpbmUgVlBYX0FSQ0hf
UFBDIDAKICVkZWZpbmUgQVJDSF9QUEMgMAotJWRlZmluZSBWUFhfQVJDSF9MT09OR0FSQ0ggMAot
JWRlZmluZSBBUkNIX0xPT05HQVJDSCAwCi0lZGVmaW5lIEhBVkVfTkVPTl9BU00gMAogJWRlZmlu
ZSBIQVZFX05FT04gMAotJWRlZmluZSBIQVZFX05FT05fRE9UUFJPRCAwCi0lZGVmaW5lIEhBVkVf
TkVPTl9JOE1NIDAKKyVkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAlZGVmaW5lIEhBVkVfTUlQUzMy
IDAKICVkZWZpbmUgSEFWRV9EU1BSMiAwCiAlZGVmaW5lIEhBVkVfTVNBIDAKQEAgLTMxLDggKzI1
LDYgQEAKICVkZWZpbmUgSEFWRV9BVlg1MTIgMAogJWRlZmluZSBIQVZFX1ZTWCAwCiAlZGVmaW5l
IEhBVkVfTU1JIDAKLSVkZWZpbmUgSEFWRV9MU1ggMAotJWRlZmluZSBIQVZFX0xBU1ggMAogJWRl
ZmluZSBIQVZFX1ZQWF9QT1JUUyAxCiAlZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDAKICVkZWZpbmUg
SEFWRV9VTklTVERfSCAwCkBAIC04NSw2ICs3Nyw3IEBACiAlZGVmaW5lIENPTkZJR19NVUxUSV9S
RVNfRU5DT0RJTkcgMQogJWRlZmluZSBDT05GSUdfVEVNUE9SQUxfREVOT0lTSU5HIDEKICVkZWZp
bmUgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcgMQorJWRlZmluZSBDT05GSUdfQ09OU0lT
VEVOVF9SRUNPREUgMAogJWRlZmluZSBDT05GSUdfQ09FRkZJQ0lFTlRfUkFOR0VfQ0hFQ0tJTkcg
MAogJWRlZmluZSBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAxCiAlZGVmaW5lIENPTkZJR19CRVRU
RVJfSFdfQ09NUEFUSUJJTElUWSAwCkBAIC05Nyw2ICs5MCw1IEBACiAlZGVmaW5lIENPTkZJR19F
TVVMQVRFX0hBUkRXQVJFIDAKICVkZWZpbmUgQ09ORklHX05PTl9HUkVFRFlfTVYgMAogJWRlZmlu
ZSBDT05GSUdfUkFURV9DVFJMIDAKLSVkZWZpbmUgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJ
TUlORyAwCiAlZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogJWRlZmluZSBERUNPREVf
SEVJR0hUX0xJTUlUIDE2Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi94NjQvdnB4X2Nv
bmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2NvbmZpZy93aW4veDY0L3ZweF9jb25maWcuaAppbmRleCAyZjEwYzcyNjJl
OTUuLjIzYTA4M2IzODU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4veDY0L3ZweF9jb25m
aWcuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi94NjQvdnB4X2NvbmZpZy5oCkBAIC0xMiw4ICsxMiw2
IEBACiAjZGVmaW5lIElOTElORSAgICAgIF9faW5saW5lCiAjZGVmaW5lIFZQWF9BUkNIX0FSTSAw
CiAjZGVmaW5lIEFSQ0hfQVJNIDAKLSNkZWZpbmUgVlBYX0FSQ0hfQUFSQ0g2NCAwCi0jZGVmaW5l
IEFSQ0hfQUFSQ0g2NCAwCiAjZGVmaW5lIFZQWF9BUkNIX01JUFMgMAogI2RlZmluZSBBUkNIX01J
UFMgMAogI2RlZmluZSBWUFhfQVJDSF9YODYgMApAQCAtMjIsMTIgKzIwLDggQEAKICNkZWZpbmUg
QVJDSF9YODZfNjQgMQogI2RlZmluZSBWUFhfQVJDSF9QUEMgMAogI2RlZmluZSBBUkNIX1BQQyAw
Ci0jZGVmaW5lIFZQWF9BUkNIX0xPT05HQVJDSCAwCi0jZGVmaW5lIEFSQ0hfTE9PTkdBUkNIIDAK
LSNkZWZpbmUgSEFWRV9ORU9OX0FTTSAwCiAjZGVmaW5lIEhBVkVfTkVPTiAwCi0jZGVmaW5lIEhB
VkVfTkVPTl9ET1RQUk9EIDAKLSNkZWZpbmUgSEFWRV9ORU9OX0k4TU0gMAorI2RlZmluZSBIQVZF
X05FT05fQVNNIDAKICNkZWZpbmUgSEFWRV9NSVBTMzIgMAogI2RlZmluZSBIQVZFX0RTUFIyIDAK
ICNkZWZpbmUgSEFWRV9NU0EgMApAQCAtNDMsOCArMzcsNiBAQAogI2RlZmluZSBIQVZFX0FWWDUx
MiAwCiAjZGVmaW5lIEhBVkVfVlNYIDAKICNkZWZpbmUgSEFWRV9NTUkgMAotI2RlZmluZSBIQVZF
X0xTWCAwCi0jZGVmaW5lIEhBVkVfTEFTWCAwCiAjZGVmaW5lIEhBVkVfVlBYX1BPUlRTIDEKICNk
ZWZpbmUgSEFWRV9QVEhSRUFEX0ggMAogI2RlZmluZSBIQVZFX1VOSVNURF9IIDAKQEAgLTk3LDYg
Kzg5LDcgQEAKICNkZWZpbmUgQ09ORklHX01VTFRJX1JFU19FTkNPRElORyAxCiAjZGVmaW5lIENP
TkZJR19URU1QT1JBTF9ERU5PSVNJTkcgMQogI2RlZmluZSBDT05GSUdfVlA5X1RFTVBPUkFMX0RF
Tk9JU0lORyAxCisjZGVmaW5lIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSAwCiAjZGVmaW5lIENP
TkZJR19DT0VGRklDSUVOVF9SQU5HRV9DSEVDS0lORyAwCiAjZGVmaW5lIENPTkZJR19WUDlfSElH
SEJJVERFUFRIIDEKICNkZWZpbmUgQ09ORklHX0JFVFRFUl9IV19DT01QQVRJQklMSVRZIDAKQEAg
LTEwOSw3ICsxMDIsNiBAQAogI2RlZmluZSBDT05GSUdfRU1VTEFURV9IQVJEV0FSRSAwCiAjZGVm
aW5lIENPTkZJR19OT05fR1JFRURZX01WIDAKICNkZWZpbmUgQ09ORklHX1JBVEVfQ1RSTCAwCi0j
ZGVmaW5lIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcgMAogI2RlZmluZSBERUNPREVf
V0lEVEhfTElNSVQgMTYzODQKICNkZWZpbmUgREVDT0RFX0hFSUdIVF9MSU1JVCAxNjM4NAogI2Vu
ZGlmIC8qIFZQWF9DT05GSUdfSCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4veDY0L3Zw
eF9kc3BfcnRjZC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4veDY0L3ZweF9kc3BfcnRjZC5oCmluZGV4IGQ2
YzMwZTg2NTYzOS4uZWQ2MzIzMzE0ODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL3dpbi94NjQv
dnB4X2RzcF9ydGNkLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy93aW4veDY0L3ZweF9kc3BfcnRjZC5oCkBA
IC0xNSwxMCArMTUsNiBAQAogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgogI2luY2x1ZGUg
InZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIKICNpbmNsdWRlICJ2cHhfZHNwL3ZweF9maWx0ZXIu
aCIKLSNpZiBDT05GSUdfVlA5X0VOQ09ERVIKLXN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotc3Ry
dWN0IFNjYW5PcmRlcjsKLSNlbmRpZgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIg
ewpAQCAtNDQsMTggKzQwLDcgQEAgdm9pZCB2cHhfY29tcF9hdmdfcHJlZF9zc2UyKHVpbnQ4X3Qq
IGNvbXBfcHJlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci12b2lkIHZweF9jb21wX2F2Z19wcmVk
X2F2eDIodWludDhfdCogY29tcF9wcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfY29tcF9hdmdf
cHJlZCkodWludDhfdCogY29tcF9wcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBwcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBoZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhfY29tcF9hdmdfcHJlZCB2cHhfY29tcF9hdmdf
cHJlZF9zc2UyCiAKIHZvaWQgdnB4X2NvbnZvbHZlOF9jKGNvbnN0IHVpbnQ4X3QqIHNyYywKICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLApAQCAtMzAyNiwxMyArMzAx
MSw3IEBAIHZvaWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2ModWludDE2X3QqIGNvbXBfcHJl
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIHJlZiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdm9pZCB2cHhfaGlnaGJkX2Nv
bXBfYXZnX3ByZWRfc3NlMih1aW50MTZfdCogY29tcF9wcmVkLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogcHJlZCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCogcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZCB2cHhfaGln
aGJkX2NvbXBfYXZnX3ByZWRfc3NlMgorI2RlZmluZSB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWQg
dnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2MKIAogdm9pZCB2cHhfaGlnaGJkX2NvbnZvbHZlOF9j
KGNvbnN0IHVpbnQxNl90KiBzcmMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCkBAIC00NTIwLDcwICs0NDk5LDU5IEBAIHZvaWQgdnB4X2hpZ2hiZF9t
aW5tYXhfOHg4X2MoY29uc3QgdWludDhfdCogczgsCiAKIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6
ZV9iX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7CiB2b2lkIHZweF9oaWdoYmRfcXVhbnRpemVf
Yl9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHpiaW5fcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfc2hpZnRfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFu
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVy
KiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2F2eDIoY29u
c3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29y
ZGVyKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3F1YW50aXplX2IpKAotICAgIGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0gICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKLSAgICBjb25z
dCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAgICBjb25z
dCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLQotdm9pZCB2cHhfaGlnaGJk
X3F1YW50aXplX2JfMzJ4MzJfYygKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0g
ICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRy
YW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAg
Y29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9oaWdo
YmRfcXVhbnRpemVfYl8zMngzMl9zc2UyKAotICAgIGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0
ciwKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCi0g
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKLSAgICB0cmFuX2xvd190KiBkcWNvZWZmX3B0ciwK
LSAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKLSAgICB1aW50MTZfdCogZW9iX3B0ciwK
LSAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKLXZvaWQgdnB4
X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2F2eDIoCi0gICAgY29uc3QgdHJhbl9sb3dfdCogY29l
ZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QqIGRxY29lZmZf
cHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90KiBlb2Jf
cHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMikoCi0gICAgY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
KiBjb25zdCBtYl9wbGFuZSwKLSAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgIHRyYW5f
bG93X3QqIGRxY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAg
IHVpbnQxNl90KiBlb2JfcHRyLAotICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNj
YW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBp
c2Nhbik7CisjZGVmaW5lIHZweF9oaWdoYmRfcXVhbnRpemVfYiB2cHhfaGlnaGJkX3F1YW50aXpl
X2Jfc3NlMgorCit2b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jKGNvbnN0IHRyYW5f
bG93X3QqIGNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
a2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogc2NhbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwordm9pZCB2
cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMihjb25zdCB0cmFuX2xvd190KiBjb2VmZl9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29l
ZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9j
aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
emJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVv
Yl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QqIGlzY2FuKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyIHZweF9o
aWdoYmRfcXVhbnRpemVfYl8zMngzMl9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDE2eDE2X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NTkzLDE0ICs0NTYxLDcgQEAgdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNngx
NikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNiB2cHhfaGlnaGJkX3NhZDE2eDE2X3NzZTIK
IAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2MoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLApAQCAtNDYxMiwzNyArNDU3MywxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQxNngxNl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vj
b25kX3ByZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2F2eDIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9F
WFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmcpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZn
IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDE2
eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9hdngyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9o
aWdoYmRfc2FkMTZ4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZCB2
cHhfaGlnaGJkX3NhZDE2eDE2eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2Fk
MTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ2NTIsMTQgKzQ1OTUsNyBAQCB1bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDMy
KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyIHZweF9oaWdoYmRfc2FkMTZ4MzJfc3NlMgog
CiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCkBAIC00NjcxLDM3ICs0NjA3LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDE2eDMyX2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNv
bmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYXZ4Mihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VY
VEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDE2eDMyX2F2ZykoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmcg
dnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkMTZ4MzJ4
NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkX2F2eDIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hp
Z2hiZF9zYWQxNngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkIHZw
eF9oaWdoYmRfc2FkMTZ4MzJ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQx
Nng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ3MTEsMTQgKzQ2MjksNyBAQCB1bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF9zYWQxNng4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDhfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
UlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQxNng4KShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2RlZmluZSB2cHhf
aGlnaGJkX3NhZDE2eDggdnB4X2hpZ2hiZF9zYWQxNng4X3NzZTIKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkMTZ4OF9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ3MzAsMzcg
KzQ2NDEsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4OF9hdmdfc3NlMihjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkMTZ4OF9hdmdfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdo
YmRfc2FkMTZ4OF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUg
dnB4X2hpZ2hiZF9zYWQxNng4X2F2ZyB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX3NzZTIKIAogdm9p
ZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDE2
eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRf
c2FkMTZ4OHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZw
eF9oaWdoYmRfc2FkMTZ4OHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQxNng4eDRkIHZweF9o
aWdoYmRfc2FkMTZ4OHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC00NzcwLDE0ICs0NjYzLDcgQEAgdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkMzJ4MTZfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMngxNikoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNiB2cHhfaGlnaGJkX3NhZDMyeDE2X3NzZTIKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNDc4OSwzNyArNDY3NSwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngx
Nl9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2F2eDIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnIHZweF9o
aWdoYmRfc2FkMzJ4MTZfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRf
c2FkMzJ4MTZ4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZCB2cHhfaGln
aGJkX3NhZDMyeDE2eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKQEAgLTQ4MjksMTQgKzQ2OTcsNyBAQCB1bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWQzMngzMl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDMyKShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOworI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyIHZweF9oaWdoYmRfc2FkMzJ4MzJfc3NlMgogCiB1bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CkBAIC00ODQ4LDM3ICs0NzA5LDE5IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDMy
X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci1SVENEX0VYVEVSTiB1
bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZDMyeDMyX2F2ZykoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmcgdnB4X2hp
Z2hiZF9zYWQzMngzMl9hdmdfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX2F2eDIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9z
YWQzMngzMng0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90KiBzYWRfYXJyYXkpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkIHZweF9oaWdo
YmRfc2FkMzJ4MzJ4NGRfc3NlMgogCiB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMng2NF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLApAQCAtNDg4OCwxNCArNDczMSw3IEBAIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDMyeDY0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4NjQpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVm
aW5lIHZweF9oaWdoYmRfc2FkMzJ4NjQgdnB4X2hpZ2hiZF9zYWQzMng2NF9zc2UyCiAKIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
QEAgLTQ5MDcsMzcgKzQ3NDMsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4NjRf
YXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVk
KTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19hdngyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJOIHVu
c2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnKShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZyB2cHhfaGln
aGJkX3NhZDMyeDY0X2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qq
IHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJkX3Nh
ZDMyeDY0eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgdnB4X2hpZ2hi
ZF9zYWQzMng2NHg0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKQEAgLTQ5NTQsMTQgKzQ3NzIsMTQgQEAgdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkNHg0X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hp
Z2hiZF9zYWQ0eDR4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDR4NHg0ZF9zc2UyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg0eDRkIHZweF9oaWdoYmRf
c2FkNHg0eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg4X2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKQEAgLTQ5NzksMTQgKzQ3OTcsMTQgQEAgdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkNHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4
X2hpZ2hiZF9zYWQ0eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9oaWdoYmRfc2FkNHg4eDRkIHZweF9oaWdo
YmRfc2FkNHg4eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4MzJfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNDk5NywxNCArNDgxNSw3IEBAIHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDY0eDMyX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJl
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkNjR4MzIpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Cisj
ZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzIgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9zc2UyCiAKIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTUwMTYsMzcgKzQ4MjcsMTkgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4
MzJfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9w
cmVkKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLVJUQ0RfRVhURVJO
IHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkNjR4MzJfYXZnKShjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2ZyB2cHhf
aGlnaGJkX3NhZDY0eDMyX2F2Z19zc2UyCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9h
dngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaGlnaGJk
X3NhZDY0eDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJh
eVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGQgdnB4X2hp
Z2hiZF9zYWQ2NHgzMng0ZF9zc2UyCiAKIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eDY0
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC01MDU2LDE0ICs0ODQ5LDcgQEAgdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkNjR4NjRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQ2NHg2NCkoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKKyNk
ZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHg2NCB2cHhfaGlnaGJkX3NhZDY0eDY0X3NzZTIKIAogdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LApAQCAtNTA3NSwzNyArNDg2MSwxOSBAQCB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHg2
NF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3By
ZWQpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2F2eDIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwotUlRDRF9FWFRFUk4g
dW5zaWduZWQgaW50ICgqdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBzZWNvbmRfcHJlZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnIHZweF9o
aWdoYmRfc2FkNjR4NjRfYXZnX3NzZTIKIAogdm9pZCB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRf
c2FkNjR4NjR4NGQpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZCB2cHhfaGln
aGJkX3NhZDY0eDY0eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCkBAIC01MTMxLDE0ICs0ODk5LDE0IEBAIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDh4MTZfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9p
ZCB2cHhfaGlnaGJkX3NhZDh4MTZ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfaGlnaGJkX3NhZDh4
MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfaGlnaGJk
X3NhZDh4MTZ4NGQgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX3NzZTIKIAogdW5zaWduZWQgaW50IHZw
eF9oaWdoYmRfc2FkOHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTUxNjUsMTQgKzQ5
MzMsMTQgQEAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0X2F2Z19zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2
cHhfaGlnaGJkX3NhZDh4NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZw
eF9oaWdoYmRfc2FkOHg0eDRkIHZweF9oaWdoYmRfc2FkOHg0eDRkX3NzZTIKIAogdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkOHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTUxOTks
NDk1ICs0OTY3LDc4IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4OF9hdmdfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9oaWdoYmRfc2FkOHg4eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
IHZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2Rl
ZmluZSB2cHhfaGlnaGJkX3NhZDh4OHg0ZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9zc2UyCiAKLXVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2F2eDIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4MTYpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CitpbnQgdnB4X2hpZ2hi
ZF9zYXRkX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOworaW50IHZweF9o
aWdoYmRfc2F0ZF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKK1JU
Q0RfRVhURVJOIGludCAoKnZweF9oaWdoYmRfc2F0ZCkoY29uc3QgdHJhbl9sb3dfdCogY29lZmYs
IGludCBsZW5ndGgpOwogCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0
XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKK3Zv
aWQgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9ja19jKGludCByb3dzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGNvbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQxNl90KiBkaWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHNyYzhfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBwcmVkOF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3QgcHJlZF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYmQpOworI2RlZmluZSB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrIHZweF9oaWdo
YmRfc3VidHJhY3RfYmxvY2tfYwogCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
NngzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngz
Ml9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENE
X0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyKShjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9jKHVpbnQxNl90
KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJk
KTsKK3ZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfc3NlMih1aW50MTZfdCogZHN0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2
X3QqIGFib3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90KiBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBiZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2IHZweF9oaWdo
YmRfdG1fcHJlZGljdG9yXzE2eDE2X3NzZTIKIAotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2
eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVm
X2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkX2F2eDIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRDRF9FWFRF
Uk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGQpKAotICAgIGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Cit2b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMyeDMyX2ModWludDE2X3Qq
IGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90
KiBhYm92ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
MTZfdCogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQp
Owordm9pZCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9zc2UyKHVpbnQxNl90KiBkc3Qs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCogYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QqIGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGJkKTsKKyNkZWZpbmUgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzIgdnB4X2hpZ2hi
ZF90bV9wcmVkaWN0b3JfMzJ4MzJfc3NlMgogCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8xNng4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9h
dngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVS
TiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDgpKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Cit2b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9jKHVpbnQxNl90KiBkc3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Cit2b2lkIHZweF9oaWdoYmRf
dG1fcHJlZGljdG9yXzR4NF9zc2UyKHVpbnQxNl90KiBkc3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7CisjZGVmaW5lIHZweF9oaWdoYmRf
dG1fcHJlZGljdG9yXzR4NCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl80eDRfc3NlMgogCi12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
Nng4eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1S
VENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkKSgKLSAgICBjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngx
Nl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWRfc2tpcF8zMngxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNl9h
dngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VY
VEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2KShjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUpOwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4
NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12
b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgqdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8zMngxNng0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0g
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJfc3Nl
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzMyeDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwot
dm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyeDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
OwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGQpKAotICAg
IGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0gICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLAotICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJU
Q0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQpKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8z
Mng2NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRd
KTsKLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkKSgKLSAgICBjb25zdCB1aW50OF90KiBzcmNfcHRyLAot
ICAgIGludCBzcmNfc3RyaWRlLAotICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUpOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzR4NF9jCi0KLXZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NHg0ZCB2
cHhfaGlnaGJkX3NhZF9za2lwXzR4NHg0ZF9jCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzR4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9o
aWdoYmRfc2FkX3NraXBfNHg4IHZweF9oaWdoYmRfc2FkX3NraXBfNHg4X2MKLQotdm9pZCB2cHhf
aGlnaGJkX3NhZF9za2lwXzR4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lk
IHZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF80eDh4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF82NHgzMl9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tp
cF82NHgzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7
Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4MzJ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfYXZ4Mihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2b2lkICgq
dnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZCkoCi0gICAgY29uc3QgdWludDhfdCogc3JjX3B0
ciwKLSAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsCi0gICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
LQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBf
NjR4NjRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjRfYXZ4Mihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50
ICgqdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDY0eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4
NGQpKAotICAgIGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRl
LAotICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4MTZfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNiB2
cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZfc3NlMgotCi12b2lkIHZweF9oaWdoYmRfc2FkX3NraXBf
OHgxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkIHZweF9oaWdoYmRf
c2FkX3NraXBfOHgxNng0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lw
Xzh4NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkX3NraXBfOHg0IHZweF9oaWdoYmRfc2FkX3NraXBfOHg0X2MKLQotdm9pZCB2cHhfaGlnaGJk
X3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHg0eDRkIHZweF9oaWdoYmRfc2FkX3NraXBfOHg0eDRkX2MKLQot
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHg4X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9zc2UyKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9oaWdoYmRf
c2FkX3NraXBfOHg4IHZweF9oaWdoYmRfc2FkX3NraXBfOHg4X3NzZTIKLQotdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzh4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF84eDh4NGRfc3NlMgotCi1pbnQgdnB4X2hpZ2hiZF9zYXRkX2MoY29uc3QgdHJh
bl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwotaW50IHZweF9oaWdoYmRfc2F0ZF9hdngyKGNv
bnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVuZ3RoKTsKLVJUQ0RfRVhURVJOIGludCAoKnZw
eF9oaWdoYmRfc2F0ZCkoY29uc3QgdHJhbl9sb3dfdCogY29lZmYsIGludCBsZW5ndGgpOwotCi12
b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYyhpbnQgcm93cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBjb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcHJlZDhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9ja19hdngyKGludCBy
b3dzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbHMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiBkaWZmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNyYzhfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBw
cmVkOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
cHJlZF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQp
OwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2spKGludCByb3dz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb2xz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3Qq
IGRpZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzcmM4X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBw
cmVkOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHByZWRfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBiZCk7Ci0KLXZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4
MTZfYyh1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzE2eDE2X3NzZTIo
dWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8x
NngxNiB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8xNngxNl9zc2UyCi0KLXZvaWQgdnB4X2hpZ2hi
ZF90bV9wcmVkaWN0b3JfMzJ4MzJfYyh1aW50MTZfdCogZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBsZWZ0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZCk7Ci12b2lkIHZweF9oaWdoYmRfdG1fcHJl
ZGljdG9yXzMyeDMyX3NzZTIodWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmQpOwotI2RlZmluZSB2cHhfaGln
aGJkX3RtX3ByZWRpY3Rvcl8zMngzMiB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl8zMngzMl9zc2Uy
Ci0KLXZvaWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfNHg0X2ModWludDE2X3QqIGRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hi
ZF90bV9wcmVkaWN0b3JfNHg0X3NzZTIodWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hi
ZF90bV9wcmVkaWN0b3JfNHg0IHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzR4NF9zc2UyCi0KLXZv
aWQgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfOHg4X2ModWludDE2X3QqIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLXZvaWQgdnB4X2hpZ2hiZF90bV9w
cmVkaWN0b3JfOHg4X3NzZTIodWludDE2X3QqIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGFib3ZlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogbGVmdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJkKTsKLSNkZWZpbmUgdnB4X2hpZ2hiZF90bV9w
cmVkaWN0b3JfOHg4IHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OF9zc2UyCit2b2lkIHZweF9o
aWdoYmRfdG1fcHJlZGljdG9yXzh4OF9jKHVpbnQxNl90KiBkc3QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBiZCk7Cit2b2lkIHZweF9oaWdoYmRfdG1fcHJlZGljdG9y
Xzh4OF9zc2UyKHVpbnQxNl90KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBhYm92ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBiZCk7CisjZGVmaW5lIHZweF9oaWdoYmRfdG1fcHJlZGljdG9y
Xzh4OCB2cHhfaGlnaGJkX3RtX3ByZWRpY3Rvcl84eDhfc3NlMgogCiB2b2lkIHZweF9oaWdoYmRf
dl9wcmVkaWN0b3JfMTZ4MTZfYyh1aW50MTZfdCogZHN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSwKQEAgLTU3NTUsMTIgKzUxMDYsNyBAQCB2
b2lkIHZweF9pZGN0MTZ4MTZfMjU2X2FkZF9jKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAogdm9p
ZCB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfc3NlMihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci12b2lkIHZweF9pZGN0MTZ4MTZfMjU2
X2FkZF9hdngyKGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfaWRjdDE2eDE2XzI1Nl9hZGQp
KGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCogZGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzdHJpZGUpOworI2RlZmluZSB2cHhfaWRjdDE2eDE2XzI1Nl9hZGQg
dnB4X2lkY3QxNngxNl8yNTZfYWRkX3NzZTIKIAogdm9pZCB2cHhfaWRjdDE2eDE2XzM4X2FkZF9j
KGNvbnN0IHRyYW5fbG93X3QqIGlucHV0LCB1aW50OF90KiBkZXN0LCBpbnQgc3RyaWRlKTsKIHZv
aWQgdnB4X2lkY3QxNngxNl8zOF9hZGRfc3NlMihjb25zdCB0cmFuX2xvd190KiBpbnB1dCwKQEAg
LTU3NzQsMTIgKzUxMjAsNyBAQCB2b2lkIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfYyhjb25zdCB0
cmFuX2xvd190KiBpbnB1dCwKIHZvaWQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9zc2UyKGNvbnN0
IHRyYW5fbG93X3QqIGlucHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCogZGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUp
Owotdm9pZCB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2F2eDIoY29uc3QgdHJhbl9sb3dfdCogaW5w
dXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X2lkY3QzMngzMl8xMDI0X2FkZCkoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsK
KyNkZWZpbmUgdnB4X2lkY3QzMngzMl8xMDI0X2FkZCB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX3Nz
ZTIKIAogdm9pZCB2cHhfaWRjdDMyeDMyXzEzNV9hZGRfYyhjb25zdCB0cmFuX2xvd190KiBpbnB1
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZGVzdCwKQEAgLTU3OTAs
OSArNTEzMSw2IEBAIHZvaWQgdnB4X2lkY3QzMngzMl8xMzVfYWRkX3NzZTIoY29uc3QgdHJhbl9s
b3dfdCogaW5wdXQsCiB2b2lkIHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9zc3NlMyhjb25zdCB0cmFu
X2xvd190KiBpbnB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qq
IGRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKTsKLXZv
aWQgdnB4X2lkY3QzMngzMl8xMzVfYWRkX2F2eDIoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRlc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpOwogUlRDRF9FWFRFUk4gdm9pZCAoKnZw
eF9pZGN0MzJ4MzJfMTM1X2FkZCkoY29uc3QgdHJhbl9sb3dfdCogaW5wdXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkZXN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSk7CkBAIC01ODQ5LDEx
ICs1MTg3LDExIEBAIGludDE2X3QgdnB4X2ludF9wcm9fY29sX2MoY29uc3QgdWludDhfdCogcmVm
LCBjb25zdCBpbnQgd2lkdGgpOwogaW50MTZfdCB2cHhfaW50X3Byb19jb2xfc3NlMihjb25zdCB1
aW50OF90KiByZWYsIGNvbnN0IGludCB3aWR0aCk7CiAjZGVmaW5lIHZweF9pbnRfcHJvX2NvbCB2
cHhfaW50X3Byb19jb2xfc3NlMgogCi12b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3QgaGJ1
ZlsxNl0sCit2b2lkIHZweF9pbnRfcHJvX3Jvd19jKGludDE2X3QqIGhidWYsCiAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBo
ZWlnaHQpOwotdm9pZCB2cHhfaW50X3Byb19yb3dfc3NlMihpbnQxNl90IGhidWZbMTZdLAordm9p
ZCB2cHhfaW50X3Byb19yb3dfc3NlMihpbnQxNl90KiBoYnVmLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiByZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQg
aGVpZ2h0KTsKQEAgLTYxOTMsOTAgKzU1MzEsMTIyIEBAIHZvaWQgdnB4X3Bvc3RfcHJvY19kb3du
X2FuZF9hY3Jvc3NfbWJfcm93X3NzZTIodW5zaWduZWQgY2hhciogc3JjLAogCiB2b2lkIHZweF9x
dWFudGl6ZV9iX2MoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKKyAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiB6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiByb3VuZF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHF1YW50X3NoaWZ0X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAogICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90
KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIq
IGNvbnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qq
IHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOwogdm9p
ZCB2cHhfcXVhbnRpemVfYl9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9s
b3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBk
cWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1
YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogZW9iX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyKiBjb25zdCBzY2Fu
X29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4
X3F1YW50aXplX2Jfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUqIGNvbnN0IG1iX3BsYW5lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNv
bnN0IHNjYW5fb3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nhbik7
CiB2b2lkIHZweF9xdWFudGl6ZV9iX2F2eChjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiByb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCogZHFjb2Vm
Zl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qgc2Nhbl9vcmRlcik7
Ci12b2lkIHZweF9xdWFudGl6ZV9iX2F2eDIoY29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFu
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5fb3JkZXIpOwotUlRDRF9FWFRFUk4g
dm9pZCAoKnZweF9xdWFudGl6ZV9iKSgKLSAgICBjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIs
Ci0gICAgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxh
bmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAgdHJh
bl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIsCi0g
ICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29uc3Qg
c2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBzY2Fu
LAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogaXNjYW4pOworUlRDRF9F
WFRFUk4gdm9pZCAoKnZweF9xdWFudGl6ZV9iKShjb25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVh
bnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBxdWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIGlzY2FuKTsKIAogdm9pZCB2cHhfcXVhbnRpemVfYl8z
MngzMl9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCogcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QqIHF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCogcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190KiBkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCogZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
U2Nhbk9yZGVyKiBjb25zdCBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QqIGlzY2FuKTsKIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfc3NzZTMoY29uc3Qg
dHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBz
Y2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBpc2Nh
bik7CiB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eChjb25zdCB0cmFuX2xvd190KiBjb2Vm
Zl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9i
bG9ja19wbGFuZSogY29uc3QgbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
a2lwX2Jsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
emJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBy
b3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBx
dWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190
KiBxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCog
ZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBkZXF1YW50X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBl
b2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5P
cmRlciogY29uc3Qgc2Nhbl9vcmRlcik7Ci12b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eDIo
Y29uc3QgdHJhbl9sb3dfdCogY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lKiBjb25zdCBtYl9wbGFuZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190KiBxY29lZmZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGRlcXVhbnRfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiBlb2JfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIqIGNvbnN0IHNjYW5f
b3JkZXIpOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9xdWFudGl6ZV9iXzMyeDMyKSgKLSAgICBj
b25zdCB0cmFuX2xvd190KiBjb2VmZl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tf
cGxhbmUqIGNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCi0gICAg
dHJhbl9sb3dfdCogZHFjb2VmZl9wdHIsCi0gICAgY29uc3QgaW50MTZfdCogZGVxdWFudF9wdHIs
Ci0gICAgdWludDE2X3QqIGVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciogY29u
c3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90KiBzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCog
aXNjYW4pOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9xdWFudGl6ZV9iXzMyeDMyKShjb25zdCB0
cmFuX2xvd190KiBjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCogemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHJvdW5kX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCogcXVhbnRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
KiBxdWFudF9zaGlmdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRyYW5fbG93X3QqIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5fbG93X3QqIGRxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkZXF1YW50X3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGVvYl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIHNj
YW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QqIGlzY2FuKTsKIAogdW5zaWduZWQgaW50IHZweF9zYWQxNngxNl9jKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCkBA
IC02MzAwLDE4ICs1NjcwLDU1IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4MTZfYXZnX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOwogI2RlZmluZSB2cHhfc2FkMTZ4MTZfYXZn
IHZweF9zYWQxNngxNl9hdmdfc3NlMgogCit2b2lkIHZweF9zYWQxNngxNngzX2MoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkMTZ4MTZ4M19zc2UzKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDE2eDNfc3NzZTMoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMTZ4
MTZ4MykoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwogdm9pZCB2cHhfc2FkMTZ4MTZ4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
XSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkMTZ4MTZ4NGRfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2Fy
cmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogI2RlZmluZSB2cHhfc2Fk
MTZ4MTZ4NGQgdnB4X3NhZDE2eDE2eDRkX3NzZTIKIAordm9pZCB2cHhfc2FkMTZ4MTZ4OF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDE2eDhfc3NlNF8xKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZw
eF9zYWQxNngxNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCiB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2
eDMyX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiByZWZfcHRyLApAQCAtNjMzNiwxNCArNTc0MywxNCBAQCB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDE2eDMyX2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDE2
eDMyeDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDE2eDMy
eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
ICNkZWZpbmUgdnB4X3NhZDE2eDMyeDRkIHZweF9zYWQxNngzMng0ZF9zc2UyCiAKIHVuc2lnbmVk
IGludCB2cHhfc2FkMTZ4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCkBAIC02MzY4LDE4ICs1
Nzc1LDU1IEBAIHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4OF9hdmdfc3NlMihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDE2eDhfYXZnIHZweF9zYWQxNng4X2F2
Z19zc2UyCiAKK3ZvaWQgdnB4X3NhZDE2eDh4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2
cHhfc2FkMTZ4OHgzX3NzZTMoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZw
eF9zYWQxNng4eDNfc3NzZTMoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9zYWQxNng4eDMpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwogdm9pZCB2cHhf
c2FkMTZ4OHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQxNng4eDRk
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKICNkZWZpbmUg
dnB4X3NhZDE2eDh4NGQgdnB4X3NhZDE2eDh4NGRfc3NlMgogCit2b2lkIHZweF9zYWQxNng4eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDE2eDh4OF9zc2U0XzEoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2Fk
MTZ4OHg4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CisKIHVuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCkBAIC02NDIwLDE0ICs1ODY0LDE0IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAoKnZw
eF9zYWQzMngxNl9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4X3NhZDMy
eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDMyeDE2
eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsK
ICNkZWZpbmUgdnB4X3NhZDMyeDE2eDRkIHZweF9zYWQzMngxNng0ZF9zc2UyCiAKIHVuc2lnbmVk
IGludCB2cHhfc2FkMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLApAQCAtNjQ3MCwyNCAr
NTkxNCw0MCBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkMzJ4MzJfYXZnKShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQzMngzMng0ZF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtd
LAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngzMng0ZF9zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJy
YXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQzMngz
Mng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CiBSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDMyeDMyeDRkKShjb25zdCB1aW50OF90KiBzcmNf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworCit2b2lkIHZweF9zYWQzMngzMng4X2Mo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkMzJ4MzJ4OF9hdngyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkMzJ4
MzJ4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKIAogdW5zaWduZWQgaW50IHZweF9zYWQzMng2NF9jKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCkBAIC02NTI5LDE0ICs1OTg5LDE0IEBAIFJUQ0RfRVhURVJOIHVuc2lnbmVkIGlu
dCAoKnZweF9zYWQzMng2NF9hdmcpKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAKIHZvaWQgdnB4
X3NhZDMyeDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwor
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3Nh
ZDMyeDY0eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2Fy
cmF5KTsKICNkZWZpbmUgdnB4X3NhZDMyeDY0eDRkIHZweF9zYWQzMng2NHg0ZF9zc2UyCiAKIHVu
c2lnbmVkIGludCB2cHhfc2FkNHg0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTY1NjEs
MTggKzYwMjEsNTAgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ0eDRfYXZnX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHNlY29uZF9wcmVkKTsKICNkZWZpbmUgdnB4X3NhZDR4NF9hdmcgdnB4X3NhZDR4NF9h
dmdfc3NlMgogCit2b2lkIHZweF9zYWQ0eDR4M19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9z
YWQ0eDR4M19zc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2b2lk
ICgqdnB4X3NhZDR4NHgzKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwogdm9pZCB2cHhfc2FkNHg0eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCog
c2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDR4NHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0eDR4NGQgdnB4X3NhZDR4NHg0ZF9zc2Uy
CiAKK3ZvaWQgdnB4X3NhZDR4NHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDR4NHg4
X3NzZTRfMShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CitSVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZDR4NHg4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwogdW5zaWduZWQgaW50IHZweF9zYWQ0eDhf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKQEAgLTY1OTcsMTQgKzYwODksMTQgQEAgdW5zaWduZWQgaW50IHZweF9zYWQ0eDhfYXZn
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNHg4eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10s
CiAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCogc2FkX2FycmF5KTsKIHZvaWQgdnB4X3NhZDR4OHg0ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QqIHNhZF9hcnJheSk7CiAjZGVmaW5lIHZweF9zYWQ0eDh4NGQgdnB4X3NhZDR4OHg0ZF9z
c2UyCiAKIHVuc2lnbmVkIGludCB2cHhfc2FkNjR4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LApAQCAtNjY0NywxNCArNjEzOSwxNCBAQCBSVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhf
c2FkNjR4MzJfYXZnKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogCiB2b2lkIHZweF9zYWQ2NHgz
Mng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiB2b2lkIHZweF9zYWQ2NHgzMng0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CiAj
ZGVmaW5lIHZweF9zYWQ2NHgzMng0ZCB2cHhfc2FkNjR4MzJ4NGRfc3NlMgogCiB1bnNpZ25lZCBp
bnQgdnB4X3NhZDY0eDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKQEAgLTY2OTcsMjQgKzYx
ODksMjQgQEAgUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4X3NhZDY0eDY0X2F2ZykoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKIAogdm9pZCB2cHhfc2FkNjR4NjR4NGRfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwK
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNjR4NjR4NGRfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwogdm9pZCB2cHhfc2FkNjR4NjR4
NGRfYXZ4Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwog
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ2NHg2NHg0ZCkoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5W10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKIAogdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2
X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLApAQCAtNjcyNCw0NDcgKzYyMTYsMTYzIEBAIHVuc2lnbmVkIGludCB2cHhf
c2FkOHgxNl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWQ4eDE2IHZweF9zYWQ4eDE2X3NzZTIKLQot
dW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBpbnQgdnB4
X3NhZDh4MTZfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3NhZDh4
MTZfYXZnIHZweF9zYWQ4eDE2X2F2Z19zc2UyCi0KLXZvaWQgdnB4X3NhZDh4MTZ4NGRfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkOHgxNng0ZF9zc2Uy
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5l
IHZweF9zYWQ4eDE2eDRkIHZweF9zYWQ4eDE2eDRkX3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9z
YWQ4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwot
dW5zaWduZWQgaW50IHZweF9zYWQ4eDRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkOHg0IHZweF9zYWQ4
eDRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9hdmdfYyhjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci11bnNpZ25lZCBp
bnQgdnB4X3NhZDh4NF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Ci0jZGVmaW5lIHZweF9zYWQ4
eDRfYXZnIHZweF9zYWQ4eDRfYXZnX3NzZTIKLQotdm9pZCB2cHhfc2FkOHg0eDRkX2MoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkOHg0eDRkX3NzZTIoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkOHg0
eDRkIHZweF9zYWQ4eDR4NGRfc3NlMgotCi11bnNpZ25lZCBpbnQgdnB4X3NhZDh4OF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQg
dnB4X3NhZDh4OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWQ4eDggdnB4X3NhZDh4OF9zc2UyCi0KLXVu
c2lnbmVkIGludCB2cHhfc2FkOHg4X2F2Z19jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkOHg4
X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKLSNkZWZpbmUgdnB4X3NhZDh4OF9hdmcgdnB4X3Nh
ZDh4OF9hdmdfc3NlMgotCi12b2lkIHZweF9zYWQ4eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNh
ZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWQ4eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWQ4eDh4NGQgdnB4X3NhZDh4
OHg0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4MTZfYyhjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8xNngxNl9zc2UyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNngxNiB2cHhfc2FkX3NraXBfMTZ4MTZf
c3NlMgotCi12b2lkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2Fk
X3NraXBfMTZ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9z
a2lwXzE2eDE2eDRkIHZweF9zYWRfc2tpcF8xNngxNng0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfMTZ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF8xNngzMl9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0jZGVmaW5lIHZweF9zYWRf
c2tpcF8xNngzMiB2cHhfc2FkX3NraXBfMTZ4MzJfc3NlMgotCi12b2lkIHZweF9zYWRfc2tpcF8x
NngzMng0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2Fk
X2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzE2eDMyeDRkIHZweF9zYWRfc2tpcF8x
NngzMng0ZF9zc2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4OF9jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDhfc3NlMihjb25zdCB1aW50OF90KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBy
ZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfMTZ4OCB2cHhfc2FkX3NraXBfMTZ4OF9zc2UyCi0K
LXZvaWQgdnB4X3NhZF9za2lwXzE2eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMTZ4OHg0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90IHNhZF9hcnJheVs0XSk7Ci0jZGVmaW5lIHZweF9zYWRfc2tpcF8xNng4eDRkIHZweF9z
YWRfc2tpcF8xNng4eDRkX3NzZTIKLQotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngxNl9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2X3NzZTIoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMzJ4MTZfYXZ4
Mihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotUlRDRF9FWFRFUk4gdW5zaWduZWQgaW50ICgqdnB4
X3NhZF9za2lwXzMyeDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVm
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUpOwotCi12b2lkIHZweF9zYWRfc2tpcF8zMngxNng0ZF9jKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZf
YXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4
X3NhZF9za2lwXzMyeDE2eDRkX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci1SVENEX0VYVEVSTiB2
b2lkICgqdnB4X3NhZF9za2lwXzMyeDE2eDRkKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3Nr
aXBfMzJ4MzJfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngz
Ml9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzMyeDMyX2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9zYWRfc2tpcF8zMngzMikoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKLQotdm9pZCB2cHhfc2FkX3NraXBfMzJ4MzJ4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzMyeDMyeDRkX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7
Ci12b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotUlRD
RF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF8zMngzMng0ZCkoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotCi11bnNpZ25lZCBpbnQg
dnB4X3NhZF9za2lwXzMyeDY0X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2Fk
X3NraXBfMzJ4NjRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF8zMng2NF9hdngyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci1SVENEX0VYVEVS
TiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfMzJ4NjQpKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci0KLXZvaWQgdnB4X3NhZF9za2lwXzMy
eDY0eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF8zMng2NHg0ZF9zc2UyKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBj
b25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pOwotdm9pZCB2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4Mihjb25zdCB1aW50OF90
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5
WzRdKTsKLVJUQ0RfRVhURVJOIHZvaWQgKCp2cHhfc2FkX3NraXBfMzJ4NjR4NGQpKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLQotdW5z
aWduZWQgaW50IHZweF9zYWRfc2tpcF80eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3Nr
aXBfNHg0IHZweF9zYWRfc2tpcF80eDRfYwotCi12b2lkIHZweF9zYWRfc2tpcF80eDR4NGRfYyhj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25z
dCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSk7Ci0j
ZGVmaW5lIHZweF9zYWRfc2tpcF80eDR4NGQgdnB4X3NhZF9za2lwXzR4NHg0ZF9jCi0KLXVuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfNHg4X2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVuc2lnbmVkIGludCB2cHhfc2Fk
X3NraXBfNHg4X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4X3NhZF9za2lwXzR4
OCB2cHhfc2FkX3NraXBfNHg4X3NzZTIKLQotdm9pZCB2cHhfc2FkX3NraXBfNHg4eDRkX2MoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3Qg
cmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotdm9p
ZCB2cHhfc2FkX3NraXBfNHg4eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOwotI2RlZmluZSB2cHhfc2FkX3Nr
aXBfNHg4eDRkIHZweF9zYWRfc2tpcF80eDh4NGRfc3NlMgorI2RlZmluZSB2cHhfc2FkOHgxNiB2
cHhfc2FkOHgxNl9zc2UyCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfYyhjb25z
dCB1aW50OF90KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2Z19jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJl
ZCk7Cit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTZfYXZnX3NzZTIoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLXVu
c2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4MzJfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUp
OwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHgzMl9hdngyKGNvbnN0IHVpbnQ4X3QqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfc2FkX3NraXBfNjR4MzIpKGNv
bnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2Rl
ZmluZSB2cHhfc2FkOHgxNl9hdmcgdnB4X3NhZDh4MTZfYXZnX3NzZTIKIAotdm9pZCB2cHhfc2Fk
X3NraXBfNjR4MzJ4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkX3NzZTIo
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHgzMng0ZF9hdngyKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF82NHgzMng0ZCko
Y29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0p
Owordm9pZCB2cHhfc2FkOHgxNngzX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4
eDE2eDNfc3NlMyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZv
aWQgKCp2cHhfc2FkOHgxNngzKShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisKK3ZvaWQgdnB4X3NhZDh4MTZ4NGRf
Yyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHgxNng0ZF9z
c2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7CisjZGVmaW5l
IHZweF9zYWQ4eDE2eDRkIHZweF9zYWQ4eDE2eDRkX3NzZTIKIAotdW5zaWduZWQgaW50IHZweF9z
YWRfc2tpcF82NHg2NF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCit2b2lkIHZweF9zYWQ4eDE2
eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4MTZ4OF9zc2U0XzEoY29uc3Qg
dWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK1JUQ0RfRVhURVJOIHZvaWQgKCp2cHhf
c2FkOHgxNng4KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF82NHg2
NF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7Ci11bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lw
XzY0eDY0X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVk
IGludCAoKnZweF9zYWRfc2tpcF82NHg2NCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCogc2FkX2FycmF5KTsKIAotdm9pZCB2cHhfc2FkX3NraXBfNjR4NjR4NGRfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAordW5zaWduZWQgaW50IHZweF9zYWQ4eDRfYyhjb25zdCB1aW50OF90
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwordW5zaWduZWQgaW50IHZweF9zYWQ4
eDRfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzY0eDY0eDRkX3NzZTIoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9h
cnJheVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3Qq
IHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBjb25zdCBy
ZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWRfc2tpcF82NHg2NHg0ZCkoY29uc3QgdWlu
dDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSk7CisjZGVmaW5lIHZweF9zYWQ4eDQg
dnB4X3NhZDh4NF9zc2UyCiAKLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHgxNl9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCit1bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9hdmdfYyhjb25zdCB1
aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBzZWNvbmRfcHJlZCk7Cit1
bnNpZ25lZCBpbnQgdnB4X3NhZDh4NF9hdmdfc3NlMihjb25zdCB1aW50OF90KiBzcmNfcHRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50
IHZweF9zYWRfc2tpcF84eDE2X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUgdnB4
X3NhZF9za2lwXzh4MTYgdnB4X3NhZF9za2lwXzh4MTZfc3NlMgotCi12b2lkIHZweF9zYWRfc2tp
cF84eDE2eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
c2FkX2FycmF5WzRdKTsKLXZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGRfc3NlMihjb25zdCB1aW50
OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHgxNng0ZCB2cHhfc2FkX3NraXBfOHgxNng0ZF9z
c2UyCi0KLXVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfOHg0X2MoY29uc3QgdWludDhfdCogc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKTsKLSNkZWZpbmUg
dnB4X3NhZF9za2lwXzh4NCB2cHhfc2FkX3NraXBfOHg0X2MKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCogc2Vjb25kX3ByZWQpOworI2RlZmluZSB2cHhfc2FkOHg0X2F2
ZyB2cHhfc2FkOHg0X2F2Z19zc2UyCiAKLXZvaWQgdnB4X3NhZF9za2lwXzh4NHg0ZF9jKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVs0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZp
bmUgdnB4X3NhZF9za2lwXzh4NHg0ZCB2cHhfc2FkX3NraXBfOHg0eDRkX2MKK3ZvaWQgdnB4X3Nh
ZDh4NHg0ZF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKK3ZvaWQgdnB4X3NhZDh4NHg0
ZF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKyNkZWZpbmUg
dnB4X3NhZDh4NHg0ZCB2cHhfc2FkOHg0eDRkX3NzZTIKIAotdW5zaWduZWQgaW50IHZweF9zYWRf
c2tpcF84eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJlZl9zdHJpZGUpOwotdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF84eDhfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCogcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJlZl9zdHJpZGUpOwotI2RlZmluZSB2cHhfc2FkX3NraXBfOHg4IHZweF9zYWRfc2tpcF84
eDhfc3NlMgordW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwordW5zaWduZWQgaW50IHZweF9zYWQ4eDhfc3NlMihj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpOwor
I2RlZmluZSB2cHhfc2FkOHg4IHZweF9zYWQ4eDhfc3NlMgogCi12b2lkIHZweF9zYWRfc2tpcF84
eDh4NGRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90KiBjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSk7Ci12b2lkIHZweF9zYWRfc2tpcF84eDh4NGRfc3NlMihjb25zdCB1aW50OF90KiBzcmNf
cHRyLAordW5zaWduZWQgaW50IHZweF9zYWQ4eDhfYXZnX2MoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5WzRd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKTsKLSNkZWZpbmUgdnB4
X3NhZF9za2lwXzh4OHg0ZCB2cHhfc2FkX3NraXBfOHg4eDRkX3NzZTIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKK3Vuc2lnbmVkIGlu
dCB2cHhfc2FkOHg4X2F2Z19zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHNlY29uZF9wcmVkKTsKKyNkZWZpbmUgdnB4X3NhZDh4
OF9hdmcgdnB4X3NhZDh4OF9hdmdfc3NlMgorCit2b2lkIHZweF9zYWQ4eDh4M19jKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7Cit2b2lkIHZweF9zYWQ4eDh4M19zc2UzKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQg
cmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9hcnJheSk7
CitSVENEX0VYVEVSTiB2b2lkICgqdnB4X3NhZDh4OHgzKShjb25zdCB1aW50OF90KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc2FkX2FycmF5KTsKKwordm9pZCB2cHhf
c2FkOHg4eDRkX2MoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogY29u
c3QgcmVmX2FycmF5W10sCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOwordm9pZCB2cHhfc2FkOHg4
eDRkX3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiBzYWRfYXJyYXkpOworI2RlZmlu
ZSB2cHhfc2FkOHg4eDRkIHZweF9zYWQ4eDh4NGRfc3NlMgorCit2b2lkIHZweF9zYWQ4eDh4OF9j
KGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QqIHNhZF9hcnJheSk7Cit2b2lkIHZweF9zYWQ4eDh4OF9zc2U0XzEoY29uc3QgdWludDhfdCog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMl90KiBzYWRfYXJyYXkpOworUlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zYWQ4eDh4OCkoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCogcmVmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqIHNhZF9h
cnJheSk7CiAKIGludCB2cHhfc2F0ZF9jKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVu
Z3RoKTsKIGludCB2cHhfc2F0ZF9zc2UyKGNvbnN0IHRyYW5fbG93X3QqIGNvZWZmLCBpbnQgbGVu
Z3RoKTsKQEAgLTgxMzUsMjIgKzczNDMsNyBAQCB2b2lkIHZweF9zdWJ0cmFjdF9ibG9ja19zc2Uy
KGludCByb3dzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcHJlZF9w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSk7
Ci12b2lkIHZweF9zdWJ0cmFjdF9ibG9ja19hdngyKGludCByb3dzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MTZfdCogZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBk
aWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHByZWRfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgcHJlZF9zdHJpZGUpOwot
UlRDRF9FWFRFUk4gdm9pZCAoKnZweF9zdWJ0cmFjdF9ibG9jaykoaW50IHJvd3MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29scywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqIGRpZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCogcHJlZF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgcHJlZF9zdHJpZGUpOworI2RlZmluZSB2cHhfc3VidHJhY3RfYmxvY2sgdnB4X3N1YnRy
YWN0X2Jsb2NrX3NzZTIKIAogdWludDY0X3QgdnB4X3N1bV9zcXVhcmVzXzJkX2kxNl9jKGNvbnN0
IGludDE2X3QqIHNyYywgaW50IHN0cmlkZSwgaW50IHNpemUpOwogdWludDY0X3QgdnB4X3N1bV9z
cXVhcmVzXzJkX2kxNl9zc2UyKGNvbnN0IGludDE2X3QqIHNyYywgaW50IHN0cmlkZSwgaW50IHNp
emUpOwpAQCAtODQzOCwxNiArNzYzMSw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDE2
X3NzZTIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLXVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDE2
X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFy
aWFuY2U4eDE2KShjb25zdCB1aW50OF90KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTh4MTYgdnB4X3ZhcmlhbmNlOHgxNl9zc2Uy
CiAKIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDRfYyhjb25zdCB1aW50OF90KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLApAQCAtODQ1
OSwxNiArNzY0Myw3IEBAIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDRfc3NlMihjb25zdCB1
aW50OF90KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QqIHJlZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50KiBzc2UpOwotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4NF9hdngyKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCog
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7
Ci1SVENEX0VYVEVSTiB1bnNpZ25lZCBpbnQgKCp2cHhfdmFyaWFuY2U4eDQpKGNvbnN0IHVpbnQ4
X3QqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50KiBzc2UpOworI2RlZmluZSB2cHhfdmFy
aWFuY2U4eDQgdnB4X3ZhcmlhbmNlOHg0X3NzZTIKIAogdW5zaWduZWQgaW50IHZweF92YXJpYW5j
ZTh4OF9jKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCkBAIC04NDgwLDE2ICs3NjU1LDcgQEAgdW5zaWduZWQgaW50
IHZweF92YXJpYW5jZTh4OF9zc2UyKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCogcmVmX3B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQqIHNzZSk7Ci11bnNpZ25lZCBpbnQgdnB4
X3ZhcmlhbmNlOHg4X2F2eDIoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiByZWZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCogc3NlKTsKLVJUQ0RfRVhURVJOIHVuc2lnbmVkIGludCAo
KnZweF92YXJpYW5jZTh4OCkoY29uc3QgdWludDhfdCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQqIHNzZSk7CisjZGVmaW5lIHZweF92YXJpYW5jZTh4OCB2cHhfdmFyaWFuY2U4eDhfc3Nl
MgogCiB2b2lkIHZweF92ZV9wcmVkaWN0b3JfNHg0X2ModWludDhfdCogZHN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUsCkBAIC04NTEwLDkgKzc2NzYsNiBA
QCBzdGF0aWMgdm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKIAogICAodm9pZClmbGFn
czsKIAotICB2cHhfY29tcF9hdmdfcHJlZCA9IHZweF9jb21wX2F2Z19wcmVkX3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9jb21wX2F2Z19wcmVkID0gdnB4X2NvbXBfYXZn
X3ByZWRfYXZ4MjsKICAgdnB4X2NvbnZvbHZlOCA9IHZweF9jb252b2x2ZThfc3NlMjsKICAgaWYg
KGZsYWdzICYgSEFTX1NTU0UzKQogICAgIHZweF9jb252b2x2ZTggPSB2cHhfY29udm9sdmU4X3Nz
c2UzOwpAQCAtODcxMSwxNDkgKzc4NzQsMTIgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9pbnRl
cm5hbCh2b2lkKSB7CiAgIHZweF9oaWdoYmRfaWRjdDh4OF82NF9hZGQgPSB2cHhfaGlnaGJkX2lk
Y3Q4eDhfNjRfYWRkX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCiAgICAgdnB4X2hp
Z2hiZF9pZGN0OHg4XzY0X2FkZCA9IHZweF9oaWdoYmRfaWRjdDh4OF82NF9hZGRfc3NlNF8xOwot
ICB2cHhfaGlnaGJkX3F1YW50aXplX2IgPSB2cHhfaGlnaGJkX3F1YW50aXplX2Jfc3NlMjsKLSAg
aWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iID0gdnB4X2hp
Z2hiZF9xdWFudGl6ZV9iX2F2eDI7Ci0gIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMiA9IHZw
eF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikK
LSAgICB2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzIgPSB2cHhfaGlnaGJkX3F1YW50aXplX2Jf
MzJ4MzJfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngxNiA9IHZweF9oaWdoYmRfc2FkMTZ4MTZf
c3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngxNiA9
IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmcgPSB2
cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZyA9IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2F2eDI7
Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX3NzZTI7
Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGQgPSB2
cHhfaGlnaGJkX3NhZDE2eDE2eDRkX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4MzIgPSB2cHhf
aGlnaGJkX3NhZDE2eDMyX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9o
aWdoYmRfc2FkMTZ4MzIgPSB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRf
c2FkMTZ4MzJfYXZnID0gdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdz
ICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmcgPSB2cHhfaGlnaGJkX3Nh
ZDE2eDMyX2F2Z19hdngyOwotICB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkID0gdnB4X2hpZ2hiZF9z
YWQxNngzMng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJk
X3NhZDE2eDMyeDRkID0gdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9hdngyOwotICB2cHhfaGlnaGJk
X3NhZDE2eDggPSB2cHhfaGlnaGJkX3NhZDE2eDhfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FW
WDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQxNng4ID0gdnB4X2hpZ2hiZF9zYWQxNng4X2F2eDI7Ci0g
IHZweF9oaWdoYmRfc2FkMTZ4OF9hdmcgPSB2cHhfaGlnaGJkX3NhZDE2eDhfYXZnX3NzZTI7Ci0g
IGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMTZ4OF9hdmcgPSB2cHhf
aGlnaGJkX3NhZDE2eDhfYXZnX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZCA9IHZweF9o
aWdoYmRfc2FkMTZ4OHg0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhf
aGlnaGJkX3NhZDE2eDh4NGQgPSB2cHhfaGlnaGJkX3NhZDE2eDh4NGRfYXZ4MjsKLSAgdnB4X2hp
Z2hiZF9zYWQzMngxNiA9IHZweF9oaWdoYmRfc2FkMzJ4MTZfc3NlMjsKLSAgaWYgKGZsYWdzICYg
SEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQzMngxNiA9IHZweF9oaWdoYmRfc2FkMzJ4MTZf
YXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmcgPSB2cHhfaGlnaGJkX3NhZDMyeDE2X2F2
Z19zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDE2
X2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4
MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19B
VlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQgPSB2cHhfaGlnaGJkX3NhZDMyeDE2eDRk
X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4MzIgPSB2cHhfaGlnaGJkX3NhZDMyeDMyX3NzZTI7
Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4MzIgPSB2cHhf
aGlnaGJkX3NhZDMyeDMyX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnID0gdnB4X2hp
Z2hiZF9zYWQzMngzMl9hdmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4
X2hpZ2hiZF9zYWQzMngzMl9hdmcgPSB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19hdngyOwotICB2
cHhfaGlnaGJkX3NhZDMyeDMyeDRkID0gdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9zc2UyOwotICBp
ZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkID0gdnB4X2hp
Z2hiZF9zYWQzMngzMng0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDMyeDY0ID0gdnB4X2hpZ2hi
ZF9zYWQzMng2NF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJk
X3NhZDMyeDY0ID0gdnB4X2hpZ2hiZF9zYWQzMng2NF9hdngyOwotICB2cHhfaGlnaGJkX3NhZDMy
eDY0X2F2ZyA9IHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhB
U19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnID0gdnB4X2hpZ2hiZF9zYWQzMng2
NF9hdmdfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZCA9IHZweF9oaWdoYmRfc2FkMzJ4
NjR4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWQz
Mng2NHg0ZCA9IHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWQ2
NHgzMiA9IHZweF9oaWdoYmRfc2FkNjR4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIp
Ci0gICAgdnB4X2hpZ2hiZF9zYWQ2NHgzMiA9IHZweF9oaWdoYmRfc2FkNjR4MzJfYXZ4MjsKLSAg
dnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmcgPSB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19zc2UyOwot
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2ZyA9IHZw
eF9oaWdoYmRfc2FkNjR4MzJfYXZnX2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGQgPSB2
cHhfaGlnaGJkX3NhZDY0eDMyeDRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAg
IHZweF9oaWdoYmRfc2FkNjR4MzJ4NGQgPSB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX2F2eDI7Ci0g
IHZweF9oaWdoYmRfc2FkNjR4NjQgPSB2cHhfaGlnaGJkX3NhZDY0eDY0X3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9oaWdoYmRfc2FkNjR4NjQgPSB2cHhfaGlnaGJkX3Nh
ZDY0eDY0X2F2eDI7Ci0gIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnID0gdnB4X2hpZ2hiZF9zYWQ2
NHg2NF9hdmdfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9z
YWQ2NHg2NF9hdmcgPSB2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19hdngyOwotICB2cHhfaGlnaGJk
X3NhZDY0eDY0eDRkID0gdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9zc2UyOwotICBpZiAoZmxhZ3Mg
JiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkID0gdnB4X2hpZ2hiZF9zYWQ2
NHg2NHg0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2ID0gdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngxNl9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDE2ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9hdngyOwotICB2
cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0
ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDE2eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9hdngyOwotICB2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDMyID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9zc2UyOwotICBp
ZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyID0gdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMy
eDRkID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBI
QVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkID0gdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngzMng0ZF9hdngyOwotICB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDggPSB2cHhf
aGlnaGJkX3NhZF9za2lwXzE2eDhfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4ID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2F2eDI7
Ci0gIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
OHg0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3NhZF9z
a2lwXzE2eDh4NGQgPSB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfYXZ4MjsKLSAgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMngxNiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfc3NlMjsKLSAg
aWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNiA9IHZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngx
Nng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYg
SEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZCA9IHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MTZ4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMiA9IHZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0g
ICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMiA9IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJf
YXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9oaWdoYmRfc2FkX3Nr
aXBfMzJ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8zMngzMng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfYXZ4MjsK
LSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjRf
c3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8z
Mng2NCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMng2NHg0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfc3NlMjsKLSAgaWYg
KGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZCA9IHZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHgzMiA9IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFT
X0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMiA9IHZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4MzJfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZCA9IHZweF9oaWdo
YmRfc2FkX3NraXBfNjR4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAg
dnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4
NGRfYXZ4MjsKLSAgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NCA9IHZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4NjRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9z
YWRfc2tpcF82NHg2NCA9IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjRfYXZ4MjsKLSAgdnB4X2hp
Z2hiZF9zYWRfc2tpcF82NHg2NHg0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfc3Nl
MjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2
NHg0ZCA9IHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfYXZ4MjsKICAgdnB4X2hpZ2hiZF9z
YXRkID0gdnB4X2hpZ2hiZF9zYXRkX2M7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZw
eF9oaWdoYmRfc2F0ZCA9IHZweF9oaWdoYmRfc2F0ZF9hdngyOwotICB2cHhfaGlnaGJkX3N1YnRy
YWN0X2Jsb2NrID0gdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9ja19jOwotICBpZiAoZmxhZ3MgJiBI
QVNfQVZYMikKLSAgICB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrID0gdnB4X2hpZ2hiZF9zdWJ0
cmFjdF9ibG9ja19hdngyOwotICB2cHhfaWRjdDE2eDE2XzI1Nl9hZGQgPSB2cHhfaWRjdDE2eDE2
XzI1Nl9hZGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X2lkY3QxNngx
Nl8yNTZfYWRkID0gdnB4X2lkY3QxNngxNl8yNTZfYWRkX2F2eDI7Ci0gIHZweF9pZGN0MzJ4MzJf
MTAyNF9hZGQgPSB2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX3NzZTI7Ci0gIGlmIChmbGFncyAmIEhB
U19BVlgyKQotICAgIHZweF9pZGN0MzJ4MzJfMTAyNF9hZGQgPSB2cHhfaWRjdDMyeDMyXzEwMjRf
YWRkX2F2eDI7CiAgIHZweF9pZGN0MzJ4MzJfMTM1X2FkZCA9IHZweF9pZGN0MzJ4MzJfMTM1X2Fk
ZF9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAgdnB4X2lkY3QzMngzMl8xMzVf
YWRkID0gdnB4X2lkY3QzMngzMl8xMzVfYWRkX3Nzc2UzOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZY
MikKLSAgICB2cHhfaWRjdDMyeDMyXzEzNV9hZGQgPSB2cHhfaWRjdDMyeDMyXzEzNV9hZGRfYXZ4
MjsKICAgdnB4X2lkY3QzMngzMl8zNF9hZGQgPSB2cHhfaWRjdDMyeDMyXzM0X2FkZF9zc2UyOwog
ICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMpCiAgICAgdnB4X2lkY3QzMngzMl8zNF9hZGQgPSB2cHhf
aWRjdDMyeDMyXzM0X2FkZF9zc3NlMzsKQEAgLTg4NzcsMTUgKzc5MDMsMjcgQEAgc3RhdGljIHZv
aWQgc2V0dXBfcnRjZF9pbnRlcm5hbCh2b2lkKSB7CiAgICAgdnB4X3F1YW50aXplX2IgPSB2cHhf
cXVhbnRpemVfYl9zc3NlMzsKICAgaWYgKGZsYWdzICYgSEFTX0FWWCkKICAgICB2cHhfcXVhbnRp
emVfYiA9IHZweF9xdWFudGl6ZV9iX2F2eDsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAg
dnB4X3F1YW50aXplX2IgPSB2cHhfcXVhbnRpemVfYl9hdngyOwogICB2cHhfcXVhbnRpemVfYl8z
MngzMiA9IHZweF9xdWFudGl6ZV9iXzMyeDMyX2M7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykK
ICAgICB2cHhfcXVhbnRpemVfYl8zMngzMiA9IHZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2UzOwog
ICBpZiAoZmxhZ3MgJiBIQVNfQVZYKQogICAgIHZweF9xdWFudGl6ZV9iXzMyeDMyID0gdnB4X3F1
YW50aXplX2JfMzJ4MzJfYXZ4OwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfcXVh
bnRpemVfYl8zMngzMiA9IHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eDI7CisgIHZweF9zYWQxNngx
NngzID0gdnB4X3NhZDE2eDE2eDNfYzsKKyAgaWYgKGZsYWdzICYgSEFTX1NTRTMpCisgICAgdnB4
X3NhZDE2eDE2eDMgPSB2cHhfc2FkMTZ4MTZ4M19zc2UzOworICBpZiAoZmxhZ3MgJiBIQVNfU1NT
RTMpCisgICAgdnB4X3NhZDE2eDE2eDMgPSB2cHhfc2FkMTZ4MTZ4M19zc3NlMzsKKyAgdnB4X3Nh
ZDE2eDE2eDggPSB2cHhfc2FkMTZ4MTZ4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQor
ICAgIHZweF9zYWQxNngxNng4ID0gdnB4X3NhZDE2eDE2eDhfc3NlNF8xOworICB2cHhfc2FkMTZ4
OHgzID0gdnB4X3NhZDE2eDh4M19jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFMykKKyAgICB2cHhf
c2FkMTZ4OHgzID0gdnB4X3NhZDE2eDh4M19zc2UzOworICBpZiAoZmxhZ3MgJiBIQVNfU1NTRTMp
CisgICAgdnB4X3NhZDE2eDh4MyA9IHZweF9zYWQxNng4eDNfc3NzZTM7CisgIHZweF9zYWQxNng4
eDggPSB2cHhfc2FkMTZ4OHg4X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisgICAgdnB4
X3NhZDE2eDh4OCA9IHZweF9zYWQxNng4eDhfc3NlNF8xOwogICB2cHhfc2FkMzJ4MTYgPSB2cHhf
c2FkMzJ4MTZfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3NhZDMyeDE2
ID0gdnB4X3NhZDMyeDE2X2F2eDI7CkBAIC04OTAxLDEyICs3OTM5LDIxIEBAIHN0YXRpYyB2b2lk
IHNldHVwX3J0Y2RfaW50ZXJuYWwodm9pZCkgewogICB2cHhfc2FkMzJ4MzJ4NGQgPSB2cHhfc2Fk
MzJ4MzJ4NGRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3NhZDMyeDMy
eDRkID0gdnB4X3NhZDMyeDMyeDRkX2F2eDI7CisgIHZweF9zYWQzMngzMng4ID0gdnB4X3NhZDMy
eDMyeDhfYzsKKyAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCisgICAgdnB4X3NhZDMyeDMyeDggPSB2
cHhfc2FkMzJ4MzJ4OF9hdngyOwogICB2cHhfc2FkMzJ4NjQgPSB2cHhfc2FkMzJ4NjRfc3NlMjsK
ICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3NhZDMyeDY0ID0gdnB4X3NhZDMyeDY0
X2F2eDI7CiAgIHZweF9zYWQzMng2NF9hdmcgPSB2cHhfc2FkMzJ4NjRfYXZnX3NzZTI7CiAgIGlm
IChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQzMng2NF9hdmcgPSB2cHhfc2FkMzJ4NjRf
YXZnX2F2eDI7CisgIHZweF9zYWQ0eDR4MyA9IHZweF9zYWQ0eDR4M19jOworICBpZiAoZmxhZ3Mg
JiBIQVNfU1NFMykKKyAgICB2cHhfc2FkNHg0eDMgPSB2cHhfc2FkNHg0eDNfc3NlMzsKKyAgdnB4
X3NhZDR4NHg4ID0gdnB4X3NhZDR4NHg4X2M7CisgIGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisg
ICAgdnB4X3NhZDR4NHg4ID0gdnB4X3NhZDR4NHg4X3NzZTRfMTsKICAgdnB4X3NhZDY0eDMyID0g
dnB4X3NhZDY0eDMyX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQ2
NHgzMiA9IHZweF9zYWQ2NHgzMl9hdngyOwpAQCAtODkyMiwzNiArNzk2OSwxOCBAQCBzdGF0aWMg
dm9pZCBzZXR1cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAgdnB4X3NhZDY0eDY0eDRkID0gdnB4
X3NhZDY0eDY0eDRkX3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF9zYWQ2
NHg2NHg0ZCA9IHZweF9zYWQ2NHg2NHg0ZF9hdngyOwotICB2cHhfc2FkX3NraXBfMzJ4MTYgPSB2
cHhfc2FkX3NraXBfMzJ4MTZfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4
X3NhZF9za2lwXzMyeDE2ID0gdnB4X3NhZF9za2lwXzMyeDE2X2F2eDI7Ci0gIHZweF9zYWRfc2tp
cF8zMngxNng0ZCA9IHZweF9zYWRfc2tpcF8zMngxNng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBI
QVNfQVZYMikKLSAgICB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQgPSB2cHhfc2FkX3NraXBfMzJ4MTZ4
NGRfYXZ4MjsKLSAgdnB4X3NhZF9za2lwXzMyeDMyID0gdnB4X3NhZF9za2lwXzMyeDMyX3NzZTI7
Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF8zMngzMiA9IHZweF9z
YWRfc2tpcF8zMngzMl9hdngyOwotICB2cHhfc2FkX3NraXBfMzJ4MzJ4NGQgPSB2cHhfc2FkX3Nr
aXBfMzJ4MzJ4NGRfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9z
a2lwXzMyeDMyeDRkID0gdnB4X3NhZF9za2lwXzMyeDMyeDRkX2F2eDI7Ci0gIHZweF9zYWRfc2tp
cF8zMng2NCA9IHZweF9zYWRfc2tpcF8zMng2NF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZY
MikKLSAgICB2cHhfc2FkX3NraXBfMzJ4NjQgPSB2cHhfc2FkX3NraXBfMzJ4NjRfYXZ4MjsKLSAg
dnB4X3NhZF9za2lwXzMyeDY0eDRkID0gdnB4X3NhZF9za2lwXzMyeDY0eDRkX3NzZTI7Ci0gIGlm
IChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF8zMng2NHg0ZCA9IHZweF9zYWRf
c2tpcF8zMng2NHg0ZF9hdngyOwotICB2cHhfc2FkX3NraXBfNjR4MzIgPSB2cHhfc2FkX3NraXBf
NjR4MzJfc3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzY0
eDMyID0gdnB4X3NhZF9za2lwXzY0eDMyX2F2eDI7Ci0gIHZweF9zYWRfc2tpcF82NHgzMng0ZCA9
IHZweF9zYWRfc2tpcF82NHgzMng0ZF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAg
ICB2cHhfc2FkX3NraXBfNjR4MzJ4NGQgPSB2cHhfc2FkX3NraXBfNjR4MzJ4NGRfYXZ4MjsKLSAg
dnB4X3NhZF9za2lwXzY0eDY0ID0gdnB4X3NhZF9za2lwXzY0eDY0X3NzZTI7Ci0gIGlmIChmbGFn
cyAmIEhBU19BVlgyKQotICAgIHZweF9zYWRfc2tpcF82NHg2NCA9IHZweF9zYWRfc2tpcF82NHg2
NF9hdngyOwotICB2cHhfc2FkX3NraXBfNjR4NjR4NGQgPSB2cHhfc2FkX3NraXBfNjR4NjR4NGRf
c3NlMjsKLSAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCi0gICAgdnB4X3NhZF9za2lwXzY0eDY0eDRk
ID0gdnB4X3NhZF9za2lwXzY0eDY0eDRkX2F2eDI7CisgIHZweF9zYWQ4eDE2eDMgPSB2cHhfc2Fk
OHgxNngzX2M7CisgIGlmIChmbGFncyAmIEhBU19TU0UzKQorICAgIHZweF9zYWQ4eDE2eDMgPSB2
cHhfc2FkOHgxNngzX3NzZTM7CisgIHZweF9zYWQ4eDE2eDggPSB2cHhfc2FkOHgxNng4X2M7Cisg
IGlmIChmbGFncyAmIEhBU19TU0U0XzEpCisgICAgdnB4X3NhZDh4MTZ4OCA9IHZweF9zYWQ4eDE2
eDhfc3NlNF8xOworICB2cHhfc2FkOHg4eDMgPSB2cHhfc2FkOHg4eDNfYzsKKyAgaWYgKGZsYWdz
ICYgSEFTX1NTRTMpCisgICAgdnB4X3NhZDh4OHgzID0gdnB4X3NhZDh4OHgzX3NzZTM7CisgIHZw
eF9zYWQ4eDh4OCA9IHZweF9zYWQ4eDh4OF9jOworICBpZiAoZmxhZ3MgJiBIQVNfU1NFNF8xKQor
ICAgIHZweF9zYWQ4eDh4OCA9IHZweF9zYWQ4eDh4OF9zc2U0XzE7CiAgIHZweF9zYXRkID0gdnB4
X3NhdGRfc3NlMjsKICAgaWYgKGZsYWdzICYgSEFTX0FWWDIpCiAgICAgdnB4X3NhdGQgPSB2cHhf
c2F0ZF9hdngyOwpAQCAtOTA0NCw5ICs4MDczLDYgQEAgc3RhdGljIHZvaWQgc2V0dXBfcnRjZF9p
bnRlcm5hbCh2b2lkKSB7CiAgIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDggPSB2cHhfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHg4X3NzZTI7CiAgIGlmIChmbGFncyAmIEhBU19TU1NFMykKICAgICB2cHhf
c3ViX3BpeGVsX3ZhcmlhbmNlOHg4ID0gdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4OF9zc3NlMzsK
LSAgdnB4X3N1YnRyYWN0X2Jsb2NrID0gdnB4X3N1YnRyYWN0X2Jsb2NrX3NzZTI7Ci0gIGlmIChm
bGFncyAmIEhBU19BVlgyKQotICAgIHZweF9zdWJ0cmFjdF9ibG9jayA9IHZweF9zdWJ0cmFjdF9i
bG9ja19hdngyOwogICB2cHhfdmFyaWFuY2UxNngxNiA9IHZweF92YXJpYW5jZTE2eDE2X3NzZTI7
CiAgIGlmIChmbGFncyAmIEhBU19BVlgyKQogICAgIHZweF92YXJpYW5jZTE2eDE2ID0gdnB4X3Zh
cmlhbmNlMTZ4MTZfYXZ4MjsKQEAgLTkwNzEsMTUgKzgwOTcsNiBAQCBzdGF0aWMgdm9pZCBzZXR1
cF9ydGNkX2ludGVybmFsKHZvaWQpIHsKICAgdnB4X3ZhcmlhbmNlNjR4NjQgPSB2cHhfdmFyaWFu
Y2U2NHg2NF9zc2UyOwogICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKICAgICB2cHhfdmFyaWFuY2U2
NHg2NCA9IHZweF92YXJpYW5jZTY0eDY0X2F2eDI7Ci0gIHZweF92YXJpYW5jZTh4MTYgPSB2cHhf
dmFyaWFuY2U4eDE2X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF92YXJp
YW5jZTh4MTYgPSB2cHhfdmFyaWFuY2U4eDE2X2F2eDI7Ci0gIHZweF92YXJpYW5jZTh4NCA9IHZw
eF92YXJpYW5jZTh4NF9zc2UyOwotICBpZiAoZmxhZ3MgJiBIQVNfQVZYMikKLSAgICB2cHhfdmFy
aWFuY2U4eDQgPSB2cHhfdmFyaWFuY2U4eDRfYXZ4MjsKLSAgdnB4X3ZhcmlhbmNlOHg4ID0gdnB4
X3ZhcmlhbmNlOHg4X3NzZTI7Ci0gIGlmIChmbGFncyAmIEhBU19BVlgyKQotICAgIHZweF92YXJp
YW5jZTh4OCA9IHZweF92YXJpYW5jZTh4OF9hdngyOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvLmNsYW5nLWZvcm1hdCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvLmNsYW5nLWZvcm1hdAppbmRl
eCBhOGJjNDk2N2MzOTguLjg2NmI3ZTIxMTdmMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC8uY2xh
bmctZm9ybWF0CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvLmNsYW5nLWZvcm1hdApAQCAtMSw5ICsxLDE0OSBA
QAogLS0tCiBMYW5ndWFnZTogICAgICAgIENwcAotQmFzZWRPblN0eWxlOiAgR29vZ2xlCisjIEJh
c2VkT25TdHlsZTogIEdvb2dsZQorIyBHZW5lcmF0ZWQgd2l0aCBjbGFuZy1mb3JtYXQgNy4wLjEK
K0FjY2Vzc01vZGlmaWVyT2Zmc2V0OiAtMQorQWxpZ25BZnRlck9wZW5CcmFja2V0OiBBbGlnbgor
QWxpZ25Db25zZWN1dGl2ZUFzc2lnbm1lbnRzOiBmYWxzZQorQWxpZ25Db25zZWN1dGl2ZURlY2xh
cmF0aW9uczogZmFsc2UKK0FsaWduRXNjYXBlZE5ld2xpbmVzOiBMZWZ0CitBbGlnbk9wZXJhbmRz
OiAgIHRydWUKK0FsaWduVHJhaWxpbmdDb21tZW50czogdHJ1ZQorQWxsb3dBbGxQYXJhbWV0ZXJz
T2ZEZWNsYXJhdGlvbk9uTmV4dExpbmU6IHRydWUKK0FsbG93U2hvcnRCbG9ja3NPbkFTaW5nbGVM
aW5lOiBmYWxzZQogQWxsb3dTaG9ydENhc2VMYWJlbHNPbkFTaW5nbGVMaW5lOiB0cnVlCitBbGxv
d1Nob3J0RnVuY3Rpb25zT25BU2luZ2xlTGluZTogQWxsCitBbGxvd1Nob3J0SWZTdGF0ZW1lbnRz
T25BU2luZ2xlTGluZTogdHJ1ZQorQWxsb3dTaG9ydExvb3BzT25BU2luZ2xlTGluZTogdHJ1ZQor
QWx3YXlzQnJlYWtBZnRlckRlZmluaXRpb25SZXR1cm5UeXBlOiBOb25lCitBbHdheXNCcmVha0Fm
dGVyUmV0dXJuVHlwZTogTm9uZQorQWx3YXlzQnJlYWtCZWZvcmVNdWx0aWxpbmVTdHJpbmdzOiB0
cnVlCitBbHdheXNCcmVha1RlbXBsYXRlRGVjbGFyYXRpb25zOiB0cnVlCitCaW5QYWNrQXJndW1l
bnRzOiB0cnVlCitCaW5QYWNrUGFyYW1ldGVyczogdHJ1ZQorQnJhY2VXcmFwcGluZzoKKyAgQWZ0
ZXJDbGFzczogICAgICBmYWxzZQorICBBZnRlckNvbnRyb2xTdGF0ZW1lbnQ6IGZhbHNlCisgIEFm
dGVyRW51bTogICAgICAgZmFsc2UKKyAgQWZ0ZXJGdW5jdGlvbjogICBmYWxzZQorICBBZnRlck5h
bWVzcGFjZTogIGZhbHNlCisgIEFmdGVyT2JqQ0RlY2xhcmF0aW9uOiBmYWxzZQorICBBZnRlclN0
cnVjdDogICAgIGZhbHNlCisgIEFmdGVyVW5pb246ICAgICAgZmFsc2UKKyAgQWZ0ZXJFeHRlcm5C
bG9jazogZmFsc2UKKyAgQmVmb3JlQ2F0Y2g6ICAgICBmYWxzZQorICBCZWZvcmVFbHNlOiAgICAg
IGZhbHNlCisgIEluZGVudEJyYWNlczogICAgZmFsc2UKKyAgU3BsaXRFbXB0eUZ1bmN0aW9uOiB0
cnVlCisgIFNwbGl0RW1wdHlSZWNvcmQ6IHRydWUKKyAgU3BsaXRFbXB0eU5hbWVzcGFjZTogdHJ1
ZQorQnJlYWtCZWZvcmVCaW5hcnlPcGVyYXRvcnM6IE5vbmUKK0JyZWFrQmVmb3JlQnJhY2VzOiBB
dHRhY2gKK0JyZWFrQmVmb3JlSW5oZXJpdGFuY2VDb21tYTogZmFsc2UKK0JyZWFrSW5oZXJpdGFu
Y2VMaXN0OiBCZWZvcmVDb2xvbgorQnJlYWtCZWZvcmVUZXJuYXJ5T3BlcmF0b3JzOiB0cnVlCitC
cmVha0NvbnN0cnVjdG9ySW5pdGlhbGl6ZXJzQmVmb3JlQ29tbWE6IGZhbHNlCitCcmVha0NvbnN0
cnVjdG9ySW5pdGlhbGl6ZXJzOiBCZWZvcmVDb2xvbgorQnJlYWtBZnRlckphdmFGaWVsZEFubm90
YXRpb25zOiBmYWxzZQorQnJlYWtTdHJpbmdMaXRlcmFsczogdHJ1ZQorQ29sdW1uTGltaXQ6ICAg
ICA4MAorQ29tbWVudFByYWdtYXM6ICAnXiBJV1lVIHByYWdtYTonCitDb21wYWN0TmFtZXNwYWNl
czogZmFsc2UKIENvbnN0cnVjdG9ySW5pdGlhbGl6ZXJBbGxPbk9uZUxpbmVPck9uZVBlckxpbmU6
IGZhbHNlCitDb25zdHJ1Y3RvckluaXRpYWxpemVySW5kZW50V2lkdGg6IDQKK0NvbnRpbnVhdGlv
bkluZGVudFdpZHRoOiA0CiBDcHAxMUJyYWNlZExpc3RTdHlsZTogZmFsc2UKIERlcml2ZVBvaW50
ZXJBbGlnbm1lbnQ6IGZhbHNlCitEaXNhYmxlRm9ybWF0OiAgIGZhbHNlCitFeHBlcmltZW50YWxB
dXRvRGV0ZWN0QmluUGFja2luZzogZmFsc2UKK0ZpeE5hbWVzcGFjZUNvbW1lbnRzOiB0cnVlCitG
b3JFYWNoTWFjcm9zOgorICAtIGZvcmVhY2gKKyAgLSBRX0ZPUkVBQ0gKKyAgLSBCT09TVF9GT1JF
QUNICitJbmNsdWRlQmxvY2tzOiAgIFByZXNlcnZlCitJbmNsdWRlQ2F0ZWdvcmllczoKKyAgLSBS
ZWdleDogICAgICAgICAgICdePGV4dC8uKlwuaD4nCisgICAgUHJpb3JpdHk6ICAgICAgICAyCisg
IC0gUmVnZXg6ICAgICAgICAgICAnXjwuKlwuaD4nCisgICAgUHJpb3JpdHk6ICAgICAgICAxCisg
IC0gUmVnZXg6ICAgICAgICAgICAnXjwuKicKKyAgICBQcmlvcml0eTogICAgICAgIDIKKyAgLSBS
ZWdleDogICAgICAgICAgICcuKicKKyAgICBQcmlvcml0eTogICAgICAgIDMKK0luY2x1ZGVJc01h
aW5SZWdleDogJyhbLV9dKHRlc3R8dW5pdHRlc3QpKT8kJworSW5kZW50Q2FzZUxhYmVsczogdHJ1
ZQorSW5kZW50UFBEaXJlY3RpdmVzOiBOb25lCitJbmRlbnRXaWR0aDogICAgIDIKK0luZGVudFdy
YXBwZWRGdW5jdGlvbk5hbWVzOiBmYWxzZQorSmF2YVNjcmlwdFF1b3RlczogTGVhdmUKK0phdmFT
Y3JpcHRXcmFwSW1wb3J0czogdHJ1ZQorS2VlcEVtcHR5TGluZXNBdFRoZVN0YXJ0T2ZCbG9ja3M6
IGZhbHNlCitNYWNyb0Jsb2NrQmVnaW46ICcnCitNYWNyb0Jsb2NrRW5kOiAgICcnCitNYXhFbXB0
eUxpbmVzVG9LZWVwOiAxCitOYW1lc3BhY2VJbmRlbnRhdGlvbjogTm9uZQorT2JqQ0JpblBhY2tQ
cm90b2NvbExpc3Q6IE5ldmVyCitPYmpDQmxvY2tJbmRlbnRXaWR0aDogMgorT2JqQ1NwYWNlQWZ0
ZXJQcm9wZXJ0eTogZmFsc2UKK09iakNTcGFjZUJlZm9yZVByb3RvY29sTGlzdDogZmFsc2UKK1Bl
bmFsdHlCcmVha0Fzc2lnbm1lbnQ6IDIKK1BlbmFsdHlCcmVha0JlZm9yZUZpcnN0Q2FsbFBhcmFt
ZXRlcjogMQorUGVuYWx0eUJyZWFrQ29tbWVudDogMzAwCitQZW5hbHR5QnJlYWtGaXJzdExlc3NM
ZXNzOiAxMjAKK1BlbmFsdHlCcmVha1RlbXBsYXRlRGVjbGFyYXRpb246IDEwCitQZW5hbHR5QnJl
YWtTdHJpbmc6IDEwMDAKK1BlbmFsdHlFeGNlc3NDaGFyYWN0ZXI6IDEwMDAwMDAKK1BlbmFsdHlS
ZXR1cm5UeXBlT25JdHNPd25MaW5lOiAyMDAKIFBvaW50ZXJBbGlnbm1lbnQ6IFJpZ2h0CitSYXdT
dHJpbmdGb3JtYXRzOgorICAtIExhbmd1YWdlOiAgICAgICAgQ3BwCisgICAgRGVsaW1pdGVyczoK
KyAgICAgIC0gY2MKKyAgICAgIC0gQ0MKKyAgICAgIC0gY3BwCisgICAgICAtIENwcAorICAgICAg
LSBDUFAKKyAgICAgIC0gJ2MrKycKKyAgICAgIC0gJ0MrKycKKyAgICBDYW5vbmljYWxEZWxpbWl0
ZXI6ICcnCisgICAgQmFzZWRPblN0eWxlOiAgICBnb29nbGUKKyAgLSBMYW5ndWFnZTogICAgICAg
IFRleHRQcm90bworICAgIERlbGltaXRlcnM6CisgICAgICAtIHBiCisgICAgICAtIFBCCisgICAg
ICAtIHByb3RvCisgICAgICAtIFBST1RPCisgICAgRW5jbG9zaW5nRnVuY3Rpb25zOgorICAgICAg
LSBFcXVhbHNQcm90bworICAgICAgLSBFcXVpdlRvUHJvdG8KKyAgICAgIC0gUEFSU0VfUEFSVElB
TF9URVhUX1BST1RPCisgICAgICAtIFBBUlNFX1RFU1RfUFJPVE8KKyAgICAgIC0gUEFSU0VfVEVY
VF9QUk9UTworICAgICAgLSBQYXJzZVRleHRPckRpZQorICAgICAgLSBQYXJzZVRleHRQcm90b09y
RGllCisgICAgQ2Fub25pY2FsRGVsaW1pdGVyOiAnJworICAgIEJhc2VkT25TdHlsZTogICAgZ29v
Z2xlCitSZWZsb3dDb21tZW50czogIHRydWUKIFNvcnRJbmNsdWRlczogICAgZmFsc2UKK1NvcnRV
c2luZ0RlY2xhcmF0aW9uczogdHJ1ZQorU3BhY2VBZnRlckNTdHlsZUNhc3Q6IGZhbHNlCitTcGFj
ZUFmdGVyVGVtcGxhdGVLZXl3b3JkOiB0cnVlCitTcGFjZUJlZm9yZUFzc2lnbm1lbnRPcGVyYXRv
cnM6IHRydWUKK1NwYWNlQmVmb3JlQ3BwMTFCcmFjZWRMaXN0OiBmYWxzZQorU3BhY2VCZWZvcmVD
dG9ySW5pdGlhbGl6ZXJDb2xvbjogdHJ1ZQorU3BhY2VCZWZvcmVJbmhlcml0YW5jZUNvbG9uOiB0
cnVlCitTcGFjZUJlZm9yZVBhcmVuczogQ29udHJvbFN0YXRlbWVudHMKK1NwYWNlQmVmb3JlUmFu
Z2VCYXNlZEZvckxvb3BDb2xvbjogdHJ1ZQorU3BhY2VJbkVtcHR5UGFyZW50aGVzZXM6IGZhbHNl
CitTcGFjZXNCZWZvcmVUcmFpbGluZ0NvbW1lbnRzOiAyCitTcGFjZXNJbkFuZ2xlczogIGZhbHNl
CitTcGFjZXNJbkNvbnRhaW5lckxpdGVyYWxzOiB0cnVlCitTcGFjZXNJbkNTdHlsZUNhc3RQYXJl
bnRoZXNlczogZmFsc2UKK1NwYWNlc0luUGFyZW50aGVzZXM6IGZhbHNlCitTcGFjZXNJblNxdWFy
ZUJyYWNrZXRzOiBmYWxzZQorU3RhbmRhcmQ6ICAgICAgICBBdXRvCitUYWJXaWR0aDogICAgICAg
IDgKK1VzZVRhYjogICAgICAgICAgTmV2ZXIKKy4uLgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
Ly5naXRpZ25vcmUgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4Ly5naXRpZ25vcmUKaW5kZXggOTllZWI5MmQwYjE3Li41
ZjI2ODM1Mzg2NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvLmdpdGlnbm9yZQorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4Ly5naXRpZ25vcmUKQEAgLTcsMTAgKzcsOCBAQAogKi5vCiAqfgogLmNwcm9qZWN0Ci0u
aWRlYQogLnByb2plY3QKIC5zZXR0aW5ncwotLnZzY29kZQogLyotKi5tawogLyouYXNtCiAvKi5k
b3h5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4Ly5tYWlsbWFwIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC8ubWFpbG1h
cAppbmRleCBiYjBkZGQ5NWIyNDkuLjhkOTc1MDA5OTQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC8ubWFpbG1hcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4Ly5tYWlsbWFwCkBAIC0xMiw4ICsxMiw2IEBAIERl
YiBNdWtoZXJqZWUgPGRlYmFyZ2hhQGdvb2dsZS5jb20+CiBFbGxpb3R0IEthcnBpbG92c2t5IDxl
bGxpb3R0a0Bnb29nbGUuY29tPgogRXJpayBOaWVtZXllciA8ZXJpay5hLm5pZW1leWVyQGludGVs
LmNvbT4gPGVyaWsuYS5uaWVtZXllckBnbWFpbC5jb20+CiBGeW9kb3IgS3lzbG92IDxreXNsb3ZA
Z29vZ2xlLmNvbT4KLUdyZWdvciBKYXNueSA8Z2phc255QGdtYWlsLmNvbT4KLUdyZWdvciBKYXNu
eSA8Z2phc255QGdtYWlsLmNvbT4gPGdqYXNueUBnb29nbGVtYWlsLmNvbT4KIEd1aWxsYXVtZSBN
YXJ0cmVzIDxnbWFydHJlc0Bnb29nbGUuY29tPiA8c21hcnRlcjNAZ21haWwuY29tPgogSGFuZ3l1
IEt1YW5nIDxoa3VhbmdAZ29vZ2xlLmNvbT4KIEh1aSBTdSA8aHVpc3VAZ29vZ2xlLmNvbT4KQEAg
LTIxLDExICsxOSwxMCBAQCBKYWNreSBDaGVuIDxqYWNreWNoZW5AZ29vZ2xlLmNvbT4KIEppbSBC
YW5rb3NraSA8amltYmFua29za2lAZ29vZ2xlLmNvbT4KIEpvaGFubiBLb2VuaWcgPGpvaGFubmtv
ZW5pZ0Bnb29nbGUuY29tPgogSm9oYW5uIEtvZW5pZyA8am9oYW5ua29lbmlnQGdvb2dsZS5jb20+
IDxqb2hhbm4ua29lbmlnQGR1Y2suY29tPgorSm9oYW5uIEtvZW5pZyA8am9oYW5ua29lbmlnQGdv
b2dsZS5jb20+IDxqb2hhbm4ua29lbmlnQGdtYWlsLmNvbT4KIEpvaGFubiBLb2VuaWcgPGpvaGFu
bmtvZW5pZ0Bnb29nbGUuY29tPiA8am9oYW5ua29lbmlnQGNocm9taXVtLm9yZz4KLUpvaGFubiA8
am9oYW5uQGR1Y2suY29tPiA8am9oYW5uLmtvZW5pZ0BnbWFpbC5jb20+CiBKb2huIEtvbGVzemFy
IDxqa29sZXN6YXJAZ29vZ2xlLmNvbT4KIEpvc2h1YSBMaXR0IDxqb3NodWFsaXR0QGdvb2dsZS5j
b20+IDxqb3NodWFsaXR0QGNocm9taXVtLm9yZz4KLUtvbnN0YW50aW5vcyBNYXJnYXJpdGlzIDxr
b25tYUB2ZWN0b3JjYW1wLmdyPiA8a29uc3RhbnRpbm9zQHZlY3RvcmNhbXAuZ3I+CiBNYXJjbyBQ
YW5pY29uaSA8bWFycGFuQGdvb2dsZS5jb20+CiBNYXJjbyBQYW5pY29uaSA8bWFycGFuQGdvb2ds
ZS5jb20+IDxtYXJwYW5AY2hyb21pdW0ub3JnPgogTWFydGluIFN0b3JzasO2IDxtYXJ0aW5AbWFy
dGluLnN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9BVVRIT1JTIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9BVVRI
T1JTCmluZGV4IDJkYjRhMTEzZTRjYS4uMzUyYzkxZmVkYTBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L0FVVEhPUlMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9BVVRIT1JTCkBAIC0zLDcgKzMsNiBAQAogCiBB
YXJvbiBXYXRyeSA8YXdhdHJ5QGdtYWlsLmNvbT4KIEFibyBUYWxpYiBNYWhmb29kaCA8YWIubWFo
Zm9vZGhAZ21haWwuY29tPgotQWRhbSBCLiBHb29kZSA8YWRhbS5tY2tlZTg0QGdtYWlsLmNvbT4K
IEFkcmlhbiBHcmFuZ2UgPGFncmFuZ2VAZ29vZ2xlLmNvbT4KIEFobWFkIFNoYXJpZiA8YXNoYXJp
ZkBnb29nbGUuY29tPgogQWlkYW4gV2VsY2ggPGFpZGFuc3dAeWFob28uY29tPgpAQCAtMjEsMTQg
KzIwLDExIEBAIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CiBB
bmRyZXMgTWVqaWEgPG1jaXRhZGVsQGdtYWlsLmNvbT4KIEFuZHJldyBMZXdpcyA8YW5kcmV3bGV3
aXNAZ29vZ2xlLmNvbT4KIEFuZHJldyBSdXNzZWxsIDxhbnJ1c3NlbGxAZ29vZ2xlLmNvbT4KLUFu
ZHJldyBTYWxrZWxkIDxhbmRyZXcuc2Fsa2VsZEBhcm0uY29tPgogQW5naWUgQ2hlbiA8eXVucWlA
Z29vZ2xlLmNvbT4KIEFuZ2llIENoaWFuZyA8YW5naWViaXJkQGdvb2dsZS5jb20+Ci1BbnRvbiBW
ZW5lbWEgPGFudG9uLnZlbmVtYUBsaXZlc3dpdGNoLmNvbT4KIEFyb24gUm9zZW5iZXJnIDxhcm9z
ZW5iZXJnQGxvZ2l0ZWNoLmNvbT4KIEF0dGlsYSBOYWd5IDxhdHRpbGFuYWd5QGdvb2dsZS5jb20+
CiBCaXJrIE1hZ251c3NlbiA8Ymlyay5tYWdudXNzZW5AZ29vZ2xlbWFpbC5jb20+Ci1Cb2hhbiBM
aSA8Ym9oYW5saUBnb29nbGUuY29tPgogQnJpYW4gRm9sZXkgPGJwZm9sZXlAZ29vZ2xlLmNvbT4K
IEJyaW9uIFZpYmJlciA8YnZpYmJlckB3aWtpbWVkaWEub3JnPgogY2hhbmdqdW4ueWFuZyA8Y2hh
bmdqdW4ueWFuZ0BpbnRlbC5jb20+CkBAIC0zOCwxMSArMzQsOSBAQCBDaGkgWW8gVHNhaSA8Y2hp
eW90c2FpQGdvb2dsZS5jb20+CiBjaG0gPGNobUByb2NrLWNoaXBzLmNvbT4KIENocmlzIEN1bm5p
bmdoYW0gPGNoY3VubmluZ2hhbUBjaHJvbWl1bS5vcmc+CiBDaHJpc3RpYW4gRHV2aXZpZXIgPGNk
dXZpdmllckBnb29nbGUuY29tPgotQ2h1bmJvIEh1YSA8Y2h1bmJvLmh1YUBpbnRlbC5jb20+CiBD
bGVtZW50IENvdXJiZXQgPGNvdXJiZXRAZ29vZ2xlLmNvbT4KIERhbmllbGUgQ2FzdGFnbmEgPGRj
YXN0YWduYUBjaHJvbWl1bS5vcmc+CiBEYW5pZWwgS2FuZyA8ZGRrYW5nQGdvb2dsZS5jb20+Ci1E
YW5pZWwgU29tbWVybWFubiA8ZGNzb21tZXJAZ21haWwuY29tPgogRGFuIFpodSA8enhkYW5AZ29v
Z2xlLmNvbT4KIERlYiBNdWtoZXJqZWUgPGRlYmFyZ2hhQGdvb2dsZS5jb20+CiBEZWVwYSBLIEcg
PGRlZXBhLmtnQGl0dGlhbS5jb20+CkBAIC03MCwxOSArNjQsMTUgQEAgR3VpbGxlcm1vIEJhbGxl
c3RlciBWYWxvciA8Z2J2YWxvckBnbWFpbC5jb20+CiBIYW5neXUgS3VhbmcgPGhrdWFuZ0Bnb29n
bGUuY29tPgogSGFubm8gQsO2Y2sgPGhhbm5vQGhib2Vjay5kZT4KIEhhbiBTaGVuIDxzaGVuaGFu
QGdvb2dsZS5jb20+Ci1IYW8gQ2hlbiA8Y2hlbmhhb0Bsb29uZ3Nvbi5jbj4KIEhhcmlzaCBNYWhl
bmRyYWthciA8aGFyaXNoLm1haGVuZHJha2FyQGl0dGlhbS5jb20+CiBIZW5yaWsgTHVuZGluIDxo
bHVuZGluQGdvb2dsZS5jb20+CiBIaWVuIEhvIDxoaWVuaG9AZ29vZ2xlLmNvbT4KLUhpcm9rYXp1
IEhvbmRhIDxoaXJvaEBjaHJvbWl1bS5vcmc+CiBIdWkgU3UgPGh1aXN1QGdvb2dsZS5jb20+Ci1J
bHlhIEt1cmR5dWtvdiA8anBlZ3FzQGdtYWlsLmNvbT4KIEl2YW4gS3Jhc2luIDxrcmFzaW5AY2hy
b21pdW0ub3JnPgogSXZhbiBNYWx0eiA8aXZhbm1hbHR6QGdvb2dsZS5jb20+CiBKYWNlayBDYWJh
biA8Y2phY2VrQGdtYWlsLmNvbT4KIEphY2t5IENoZW4gPGphY2t5Y2hlbkBnb29nbGUuY29tPgog
SmFtZXMgQmVycnkgPGphbWVzYmVycnlAZ29vZ2xlLmNvbT4KLUphbWVzIFRvdXRvbiA8YmVrZW5u
QGdtYWlsLmNvbT4KIEphbWVzIFl1IDxqYW1lcy55dUBsaW5hcm8ub3JnPgogSmFtZXMgWmVybiA8
anplcm5AZ29vZ2xlLmNvbT4KIEphbiBHZXJiZXIgPGpAbWFpbGIub3JnPgpAQCAtOTIsMjIgKzgy
LDE2IEBAIEplYW4tWXZlcyBBdmVuYXJkIDxqeWF2ZW5hcmRAbW96aWxsYS5jb20+CiBKZWZmIEZh
dXN0IDxqZmF1c3RAZ29vZ2xlLmNvbT4KIEplZmYgTXVpemVsYWFyIDxqbXVpemVsYWFyQG1vemls
bGEuY29tPgogSmVmZiBQZXRrYXUgPGpwZXRAY2hyb21pdW0ub3JnPgotSmVyZW15IExlY29udGUg
PGpsZWNvbnRlQGdvb2dsZS5jb20+CiBKZXJvbWUgSmlhbmcgPGppYW5qQGdvb2dsZS5jb20+CiBK
aWEgSmlhIDxqaWEuamlhQGxpbmFyby5vcmc+Ci1KaWFuaHVpIERhaSA8amlhbmh1aS5qLmRhaUBp
bnRlbC5jb20+CiBKaWFuIFpob3UgPHpob3VqaWFuQGdvb2dsZS5jb20+CiBKaW0gQmFua29za2kg
PGppbWJhbmtvc2tpQGdvb2dsZS5jb20+Ci1qaW5ibyA8amluYm8taGZAbG9vbmdzb24uY24+Ci1K
aW4gQm8gPGppbmJvQGxvb25nc29uLmNuPgogSmluZ25pbmcgSGFuIDxqaW5nbmluZ0Bnb29nbGUu
Y29tPgotSm9lbCBGZXJuYW5kZXMgPGpvZWxhZkBnb29nbGUuY29tPgogSm9leSBQYXJyaXNoIDxq
b2V5cGFycmlzaEBnb29nbGUuY29tPgogSm9oYW5uIEtvZW5pZyA8am9oYW5ua29lbmlnQGdvb2ds
ZS5jb20+CiBKb2huIEtvbGVzemFyIDxqa29sZXN6YXJAZ29vZ2xlLmNvbT4KIEpvaG5ueSBLbG9u
YXJpcyA8Z29vZ2xlQGphd2tuZWUuY29tPgogSm9obiBTdGFyayA8amhuc3Rya0BnbWFpbC5jb20+
Ci1Kb25hdGhhbiBXcmlnaHQgPGpvbmF0aGFuLndyaWdodEBhcm0uY29tPgogSm9uIEt1bmtlZSA8
amt1bmtlZUBtaWNyb3NvZnQuY29tPgogSm9yZ2UgRS4gTW9yZWlyYSA8amVtb3JlaXJhQGdvb2ds
ZS5jb20+CiBKb3NodWEgQmxlZWNoZXIgU255ZGVyIDxqb3NoQHRyZWVsaW5lbGFicy5jb20+CkBA
IC0xMTcsNyArMTAxLDYgQEAgSnVzdGluIENsaWZ0IDxqdXN0aW5Ac2FsYXNhZ2Eub3JnPgogSnVz
dGluIExlYmFyIDxqdXN0aW4ubGViYXJAZ21haWwuY29tPgogS2F1c3R1YmggUmFzdGUgPGthdXN0
dWJoLnJhc3RlQGltZ3RlYy5jb20+CiBLTyBNeXVuZy1IdW4gPGtvbWhAY2hvbGxpYW4ubmV0Pgot
S29uc3RhbnRpbm9zIE1hcmdhcml0aXMgPGtvbm1hQHZlY3RvcmNhbXAuZ3I+CiBLeWxlIFNpZWZy
aW5nIDxreWxlc2llZnJpbmdAZ21haWwuY29tPgogTGF3cmVuY2UgVmVsw6F6cXVleiA8bGFycnl2
QG1hY3BvcnRzLm9yZz4KIExpbmZlbmcgWmhhbmcgPGxpbmZlbmd6QGdvb2dsZS5jb20+CkBAIC0x
MjUsNyArMTA4LDYgQEAgTGl1IFBlbmcgPHBlbmdsaXUubWFpbEBnbWFpbC5jb20+CiBMb3UgUXVp
bGxpbyA8bG91cXVpbGxpb0Bnb29nbGUuY29tPgogTHVjYSBCYXJiYXRvIDxsdV96ZXJvQGdlbnRv
by5vcmc+CiBMdWMgVHJ1ZGVhdSA8bHVjQHRydWQuY2E+Ci1MdSBXYW5nIDx3YW5nbHVAbG9vbmdz
b24uY24+CiBNYWtvdG8gS2F0byA8bWFrb3RvLmt0QGdtYWlsLmNvbT4KIE1hbnMgUnVsbGdhcmQg
PG1hbnNAbWFuc3IuY29tPgogTWFyY28gUGFuaWNvbmkgPG1hcnBhbkBnb29nbGUuY29tPgpAQCAt
MTM5LDcgKzEyMSw2IEBAIE1pY2hhZWwgS29obGVyIDxtaWNoYWVsa29obGVyQGxpdmUuY29tPgog
TWlrZSBGcnlzaW5nZXIgPHZhcGllckBjaHJvbWl1bS5vcmc+CiBNaWtlIEhvbW1leSA8bWhvbW1l
eUBtb3ppbGxhLmNvbT4KIE1pa2hhbCBTaGVtZXIgPG1pa2hhbEBnb29nbGUuY29tPgotTWlra28g
S29pdmlzdG8gPG1pa2tvLmtvaXZpc3RvQHVuaWtpZS5jb20+CiBNaW4gQ2hlbiA8Y2hlbm0wMDNA
Z21haWwuY29tPgogTWluZ2hhaSBTaGFuZyA8bWluZ2hhaUBnb29nbGUuY29tPgogTWluIFllIDx5
ZWVtbWlAZ29vZ2xlLmNvbT4KQEAgLTE2MCw3ICsxNDEsNiBAQCBQZW5nY2hvbmcgSmluIDxwZW5n
Y2hvbmdAZ29vZ2xlLmNvbT4KIFBldGVyIEJvc3Ryw7ZtIDxwYm9zQGNocm9taXVtLm9yZz4KIFBl
dGVyIENvbGxpbmdib3VybmUgPHBjY0BjaHJvbWl1bS5vcmc+CiBQZXRlciBkZSBSaXZheiA8cGV0
ZXIuZGVyaXZhekBnbWFpbC5jb20+Ci1QZXRlciBLYXN0aW5nIDxwa2FzdGluZ0BjaHJvbWl1bS5v
cmc+CiBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgogUHJpaXQgTGFlcyA8
cGxhZXNAcGxhZXMub3JnPgogUmFmYWVsIMOBdmlsYSBkZSBFc3DDrW5kb2xhIDxyYWZhZWwuZXNw
aW5kb2xhQGdtYWlsLmNvbT4KQEAgLTE3Niw5ICsxNTYsNyBAQCBSb2IgQnJhZGZvcmQgPHJvYkBs
aW51eC5pbnRlbC5jb20+CiBSb25hbGQgUy4gQnVsdGplIDxyc2J1bHRqZUBnbWFpbC5jb20+CiBS
dWkgVWV5YW1hIDxydWl1QGdvb2dsZS5jb20+CiBTYWkgRGVuZyA8c2RlbmdAZ29vZ2xlLmNvbT4K
LVNhbG9tZSBUaGlyb3QgPHNhbG9tZS50aGlyb3RAYXJtLmNvbT4KIFNhbWkgUGlldGlsw6QgPHNh
bWlwaWV0aWxhQGdvb2dsZS5jb20+Ci1TYW0gSmFtZXMgPHNhbUBnZW50b28ub3JnPgogU2FyYWgg
UGFya2VyIDxzYXJhaHBhcmtlckBnb29nbGUuY29tPgogU2FzaSBJbmd1dmEgPGlzYXNpQGdvb2ds
ZS5jb20+CiBTY290dCBHcmFoYW0gPHNjb3R0bWdAY2hyb21pdW0ub3JnPgpAQCAtMjE3LDcgKzE5
NSw2IEBAIHhpd2VpIGd1IDxndXhpd2VpLWhmQGxvb25nc29uLmNuPgogWWFvd3UgWHUgPHlhb3d1
QGdvb2dsZS5jb20+CiBZaSBMdW8gPGx1b3lpQGdvb2dsZS5jb20+CiBZb25nemhlIFdhbmcgPHlv
bmd6aGVAZ29vZ2xlLmNvbT4KLXl1YW5oZWNhaSA8eXVhbmhlY2FpQGxvb25nc29uLmNuPgogWXVl
IENoZW4gPHl1ZWNAZ29vZ2xlLmNvbT4KIFl1biBMaXUgPHlsaXV5bGl1QGdvb2dsZS5jb20+CiBZ
dW5xaW5nIFdhbmcgPHl1bnFpbmd3YW5nQGdvb2dsZS5jb20+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L0NPTlRSSUJVVElORy5tZCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvQ09OVFJJQlVUSU5HLm1kCmluZGV4IDdh
NzNhMzAzMTdhZi4uNTc3Yzk2YTZiNWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L0NPTlRSSUJV
VElORy5tZAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L0NPTlRSSUJVVElORy5tZApAQCAtMTksOSArMTksMTAg
QEAgYWdhaW4uCiAKIEFsbCBzdWJtaXNzaW9ucywgaW5jbHVkaW5nIHN1Ym1pc3Npb25zIGJ5IHBy
b2plY3QgbWVtYmVycywgcmVxdWlyZSByZXZpZXcuIFdlCiB1c2UgYSBbR2Vycml0XShodHRwczov
L3d3dy5nZXJyaXRjb2RlcmV2aWV3LmNvbSkgaW5zdGFuY2UgaG9zdGVkIGF0Ci1odHRwczovL2No
cm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tIGZvciB0aGlzIHB1cnBvc2UuIFNlZSB0aGUK
LVtXZWJNIFByb2plY3QgcGFnZV0oaHR0cHM6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvY29u
dHJpYnV0ZS9zdWJtaXR0aW5nLXBhdGNoZXMvKQotZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KK2h0
dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20gZm9yIHRoaXMgcHVycG9zZS4K
KworU2VlIGh0dHBzOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL2NvbnRyaWJ1dGUvc3VibWl0
dGluZy1wYXRjaGVzIGZvciBhbgorZXhhbXBsZSBvZiBhIHR5cGljYWwgZ2Vycml0IHdvcmtmbG93
LgogCiAjIyBDb21tdW5pdHkgR3VpZGVsaW5lcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L1JF
QURNRSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvUkVBRE1FCmluZGV4IDVjY2M5YzNmY2UxOC4uNjJmZWYzNDU5MzJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L1JFQURNRQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L1JFQURNRQpA
QCAtMSw0ICsxLDQgQEAKLXYxLjEzLjEgVWdseSBEdWNrbGluZworUkVBRE1FIC0gMjAgSnVseSAy
MDIwCiAKIFdlbGNvbWUgdG8gdGhlIFdlYk0gVlA4L1ZQOSBDb2RlYyBTREshCiAKQEAgLTEwLDE0
ICsxMCwxNCBAQCBDT01QSUxJTkcgVEhFIEFQUExJQ0FUSU9OUy9MSUJSQVJJRVM6CiAgIDEuIFBy
ZXJlcXVpc2l0ZXMKIAogICAgICogQWxsIHg4NiB0YXJnZXRzIHJlcXVpcmUgdGhlIFlhc21bMV0g
YXNzZW1ibGVyIGJlIGluc3RhbGxlZFsyXS4KLSAgICAqIEFsbCBXaW5kb3dzIGJ1aWxkcyByZXF1
aXJlIHRoYXQgQ3lnd2luWzNdIG9yIE1TWVMyWzRdIGJlIGluc3RhbGxlZC4KLSAgICAqIEJ1aWxk
aW5nIHRoZSBkb2N1bWVudGF0aW9uIHJlcXVpcmVzIERveHlnZW5bNV0uIElmIHlvdSBkbyBub3QK
KyAgICAqIEFsbCBXaW5kb3dzIGJ1aWxkcyByZXF1aXJlIHRoYXQgQ3lnd2luWzNdIGJlIGluc3Rh
bGxlZC4KKyAgICAqIEJ1aWxkaW5nIHRoZSBkb2N1bWVudGF0aW9uIHJlcXVpcmVzIERveHlnZW5b
NF0uIElmIHlvdSBkbyBub3QKICAgICAgIGhhdmUgdGhpcyBwYWNrYWdlLCB0aGUgaW5zdGFsbC1k
b2NzIG9wdGlvbiB3aWxsIGJlIGRpc2FibGVkLgotICAgICogRG93bmxvYWRpbmcgdGhlIGRhdGEg
Zm9yIHRoZSB1bml0IHRlc3RzIHJlcXVpcmVzIGN1cmxbNl0gYW5kIHNoYTFzdW0uCisgICAgKiBE
b3dubG9hZGluZyB0aGUgZGF0YSBmb3IgdGhlIHVuaXQgdGVzdHMgcmVxdWlyZXMgY3VybFs1XSBh
bmQgc2hhMXN1bS4KICAgICAgIHNoYTFzdW0gaXMgcHJvdmlkZWQgdmlhIHRoZSBHTlUgY29yZXV0
aWxzLCBpbnN0YWxsZWQgYnkgZGVmYXVsdCBvbgogICAgICAgbWFueSAqbml4IHBsYXRmb3Jtcywg
YXMgd2VsbCBhcyBNaW5HVyBhbmQgQ3lnd2luLiBJZiBjb3JldXRpbHMgaXMgbm90CiAgICAgICBh
dmFpbGFibGUsIGEgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIHNoYTFzdW0gY2FuIGJlIGJ1aWx0IGZy
b20KLSAgICAgIHNvdXJjZVs3XS4gVGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBvcHRpb25hbCBpZiBu
b3QgcnVubmluZyB0aGUgdW5pdAorICAgICAgc291cmNlWzZdLiBUaGVzZSByZXF1aXJlbWVudHMg
YXJlIG9wdGlvbmFsIGlmIG5vdCBydW5uaW5nIHRoZSB1bml0CiAgICAgICB0ZXN0cy4KIAogICAg
IFsxXTogaHR0cDovL3d3dy50b3J0YWxsLm5ldC9wcm9qZWN0cy95YXNtCkBAIC0yNiwxMCArMjYs
OSBAQCBDT01QSUxJTkcgVEhFIEFQUExJQ0FUSU9OUy9MSUJSQVJJRVM6CiAgICAgICAgICB5YXNt
LTx2ZXJzaW9uPi08YXJjaD4uZXhlIHRvIHlhc20uZXhlIGFuZCBwbGFjZSBpdCBpbjoKICAgICAg
ICAgIFByb2dyYW0gRmlsZXMgKHg4NikvTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8vMjAxNy88bGV2
ZWw+L0NvbW1vbjcvVG9vbHMvCiAgICAgWzNdOiBodHRwOi8vd3d3LmN5Z3dpbi5jb20KLSAgICBb
NF06IGh0dHA6Ly93d3cubXN5czIub3JnLwotICAgIFs1XTogaHR0cDovL3d3dy5kb3h5Z2VuLm9y
ZwotICAgIFs2XTogaHR0cDovL2N1cmwuaGF4eC5zZQotICAgIFs3XTogaHR0cDovL3d3dy5taWNy
b2JyZXcub3JnL3Rvb2xzL21kNXNoYTFzdW0vCisgICAgWzRdOiBodHRwOi8vd3d3LmRveHlnZW4u
b3JnCisgICAgWzVdOiBodHRwOi8vY3VybC5oYXh4LnNlCisgICAgWzZdOiBodHRwOi8vd3d3Lm1p
Y3JvYnJldy5vcmcvdG9vbHMvbWQ1c2hhMXN1bS8KIAogICAyLiBPdXQtb2YtdHJlZSBidWlsZHMK
ICAgT3V0IG9mIHRyZWUgYnVpbGRzIGFyZSBhIHN1cHBvcnRlZCBtZXRob2Qgb2YgYnVpbGRpbmcg
dGhlIGFwcGxpY2F0aW9uLiBGb3IKQEAgLTY0LDE1ICs2Myw5IEBAIENPTVBJTElORyBUSEUgQVBQ
TElDQVRJT05TL0xJQlJBUklFUzoKICAgICBhcm02NC1hbmRyb2lkLWdjYwogICAgIGFybTY0LWRh
cndpbi1nY2MKICAgICBhcm02NC1kYXJ3aW4yMC1nY2MKLSAgICBhcm02NC1kYXJ3aW4yMS1nY2MK
LSAgICBhcm02NC1kYXJ3aW4yMi1nY2MKICAgICBhcm02NC1saW51eC1nY2MKICAgICBhcm02NC13
aW42NC1nY2MKICAgICBhcm02NC13aW42NC12czE1Ci0gICAgYXJtNjQtd2luNjQtdnMxNgotICAg
IGFybTY0LXdpbjY0LXZzMTYtY2xhbmdjbAotICAgIGFybTY0LXdpbjY0LXZzMTcKLSAgICBhcm02
NC13aW42NC12czE3LWNsYW5nY2wKICAgICBhcm12Ny1hbmRyb2lkLWdjYwogICAgIGFybXY3LWRh
cndpbi1nY2MKICAgICBhcm12Ny1saW51eC1ydmN0CkBAIC04Myw4ICs3Niw2IEBAIENPTVBJTElO
RyBUSEUgQVBQTElDQVRJT05TL0xJQlJBUklFUzoKICAgICBhcm12Ny13aW4zMi12czE1CiAgICAg
YXJtdjdzLWRhcndpbi1nY2MKICAgICBhcm12OC1saW51eC1nY2MKLSAgICBsb29uZ2FyY2gzMi1s
aW51eC1nY2MKLSAgICBsb29uZ2FyY2g2NC1saW51eC1nY2MKICAgICBtaXBzMzItbGludXgtZ2Nj
CiAgICAgbWlwczY0LWxpbnV4LWdjYwogICAgIHBwYzY0bGUtbGludXgtZ2NjCkBAIC0xMTEsNyAr
MTAyLDYgQEAgQ09NUElMSU5HIFRIRSBBUFBMSUNBVElPTlMvTElCUkFSSUVTOgogICAgIHg4Ni13
aW4zMi12czE0CiAgICAgeDg2LXdpbjMyLXZzMTUKICAgICB4ODYtd2luMzItdnMxNgotICAgIHg4
Ni13aW4zMi12czE3CiAgICAgeDg2XzY0LWFuZHJvaWQtZ2NjCiAgICAgeDg2XzY0LWRhcndpbjkt
Z2NjCiAgICAgeDg2XzY0LWRhcndpbjEwLWdjYwpAQCAtMTI1LDggKzExNSw2IEBAIENPTVBJTElO
RyBUSEUgQVBQTElDQVRJT05TL0xJQlJBUklFUzoKICAgICB4ODZfNjQtZGFyd2luMTgtZ2NjCiAg
ICAgeDg2XzY0LWRhcndpbjE5LWdjYwogICAgIHg4Nl82NC1kYXJ3aW4yMC1nY2MKLSAgICB4ODZf
NjQtZGFyd2luMjEtZ2NjCi0gICAgeDg2XzY0LWRhcndpbjIyLWdjYwogICAgIHg4Nl82NC1pcGhv
bmVzaW11bGF0b3ItZ2NjCiAgICAgeDg2XzY0LWxpbnV4LWdjYwogICAgIHg4Nl82NC1saW51eC1p
Y2MKQEAgLTEzNSw3ICsxMjMsNiBAQCBDT01QSUxJTkcgVEhFIEFQUExJQ0FUSU9OUy9MSUJSQVJJ
RVM6CiAgICAgeDg2XzY0LXdpbjY0LXZzMTQKICAgICB4ODZfNjQtd2luNjQtdnMxNQogICAgIHg4
Nl82NC13aW42NC12czE2Ci0gICAgeDg2XzY0LXdpbjY0LXZzMTcKICAgICBnZW5lcmljLWdudQog
CiAgIFRoZSBnZW5lcmljLWdudSB0YXJnZXQsIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIENST1NT
IGVudmlyb25tZW50IHZhcmlhYmxlLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9hcmdzLmMgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L2FyZ3MuYwppbmRleCAwYTk2MzFlMWY0MWQuLmE4N2IxMzhiOWQ3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC9hcmdzLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9hcmdzLmMKQEAgLTE2LDEw
ICsxNiw4IEBACiAjaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X3Bv
cnRzL21zdmMuaCIKIAotI2lmIGRlZmluZWQoX19HTlVDX18pCi1fX2F0dHJpYnV0ZV9fKChub3Jl
dHVybikpIGV4dGVybiB2b2lkIGRpZShjb25zdCBjaGFyICpmbXQsIC4uLik7Ci0jZWxpZiBkZWZp
bmVkKF9NU0NfVkVSKQotX19kZWNsc3BlYyhub3JldHVybikgZXh0ZXJuIHZvaWQgZGllKGNvbnN0
IGNoYXIgKmZtdCwgLi4uKTsKKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXworZXh0
ZXJuIHZvaWQgZGllKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChub3JldHVy
bikpOwogI2Vsc2UKIGV4dGVybiB2b2lkIGRpZShjb25zdCBjaGFyICpmbXQsIC4uLik7CiAjZW5k
aWYKQEAgLTgzLDcgKzgxLDYgQEAgY29uc3QgY2hhciAqYXJnX25leHQoc3RydWN0IGFyZyAqYXJn
KSB7CiAKIGNoYXIgKiphcmd2X2R1cChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpIHsKICAg
Y2hhciAqKm5ld19hcmd2ID0gbWFsbG9jKChhcmdjICsgMSkgKiBzaXplb2YoKmFyZ3YpKTsKLSAg
aWYgKCFuZXdfYXJndikgcmV0dXJuIE5VTEw7CiAKICAgbWVtY3B5KG5ld19hcmd2LCBhcmd2LCBh
cmdjICogc2l6ZW9mKCphcmd2KSk7CiAgIG5ld19hcmd2W2FyZ2NdID0gTlVMTDsKQEAgLTEzNSw2
ICsxMzIsNyBAQCB1bnNpZ25lZCBpbnQgYXJnX3BhcnNlX3VpbnQoY29uc3Qgc3RydWN0IGFyZyAq
YXJnKSB7CiAgIH0KIAogICBkaWUoIk9wdGlvbiAlczogSW52YWxpZCBjaGFyYWN0ZXIgJyVjJ1xu
IiwgYXJnLT5uYW1lLCAqZW5kcHRyKTsKKyAgcmV0dXJuIDA7CiB9CiAKIGludCBhcmdfcGFyc2Vf
aW50KGNvbnN0IHN0cnVjdCBhcmcgKmFyZykgewpAQCAtMTUxLDYgKzE0OSw3IEBAIGludCBhcmdf
cGFyc2VfaW50KGNvbnN0IHN0cnVjdCBhcmcgKmFyZykgewogICB9CiAKICAgZGllKCJPcHRpb24g
JXM6IEludmFsaWQgY2hhcmFjdGVyICclYydcbiIsIGFyZy0+bmFtZSwgKmVuZHB0cik7CisgIHJl
dHVybiAwOwogfQogCiBzdHJ1Y3QgdnB4X3JhdGlvbmFsIHsKQEAgLTIwNyw2ICsyMDYsNyBAQCBp
bnQgYXJnX3BhcnNlX2VudW0oY29uc3Qgc3RydWN0IGFyZyAqYXJnKSB7CiAgICAgaWYgKCFzdHJj
bXAoYXJnLT52YWwsIGxpc3RwdHItPm5hbWUpKSByZXR1cm4gbGlzdHB0ci0+dmFsOwogCiAgIGRp
ZSgiT3B0aW9uICVzOiBJbnZhbGlkIHZhbHVlICclcydcbiIsIGFyZy0+bmFtZSwgYXJnLT52YWwp
OworICByZXR1cm4gMDsKIH0KIAogaW50IGFyZ19wYXJzZV9lbnVtX29yX2ludChjb25zdCBzdHJ1
Y3QgYXJnICphcmcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9BbmRyb2lk
Lm1rIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL0FuZHJvaWQubWsKaW5kZXggYmEyNGY1NDFiMTAx
Li42Y2IzYWYwMjdiNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9BbmRyb2lk
Lm1rCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9BbmRyb2lkLm1rCkBAIC04LDggKzgsNiBA
QAogIyMgIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNv
dXJjZSB0cmVlLgogIyMKIAotIyBJZ25vcmUgdGhpcyBmaWxlIGR1cmluZyBub24tTkRLIGJ1aWxk
cy4KLWlmZGVmIE5ES19ST09UCiAjCiAjIFRoaXMgZmlsZSBpcyB0byBiZSB1c2VkIGZvciBjb21w
aWxpbmcgbGlidnB4IGZvciBBbmRyb2lkIHVzaW5nIHRoZSBOREsuCiAjIEluIGFuIEFuZHJvaWQg
cHJvamVjdCBwbGFjZSBhIGxpYnZweCBjaGVja291dCBpbiB0aGUgam5pIGRpcmVjdG9yeS4KQEAg
LTE2OCw5ICsxNjYsNiBAQCBMT0NBTF9DRkxBR1MgKz0gXAogICAgIC1JJChBU01fQ05WX1BBVEgp
L2xpYnZweAogCiBMT0NBTF9NT0RVTEUgOj0gbGlidnB4Ci1MT0NBTF9MSUNFTlNFX0tJTkRTIDo9
IFNQRFgtbGljZW5zZS1pZGVudGlmaWVyLUJTRAotTE9DQUxfTElDRU5TRV9DT05ESVRJT05TIDo9
IG5vdGljZQotTE9DQUxfTk9USUNFX0ZJTEUgOj0gJChMT0NBTF9QQVRIKS8uLi8uLi9MSUNFTlNF
ICQoTE9DQUxfUEFUSCkvLi4vLi4vUEFURU5UUwogCiBpZmVxICgkKENPTkZJR19SVU5USU1FX0NQ
VV9ERVRFQ1QpLHllcykKICAgTE9DQUxfU1RBVElDX0xJQlJBUklFUyA6PSBjcHVmZWF0dXJlcwpA
QCAtMjE0LDQgKzIwOSwzIEBAIGVuZGlmCiBpZmVxICgkKENPTkZJR19SVU5USU1FX0NQVV9ERVRF
Q1QpLHllcykKICQoY2FsbCBpbXBvcnQtbW9kdWxlLGFuZHJvaWQvY3B1ZmVhdHVyZXMpCiBlbmRp
ZgotZW5kaWYgICMgTkRLX1JPT1QKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9N
YWtlZmlsZSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9NYWtlZmlsZQppbmRleCBjMmRjNDdjY2Zm
NmIuLjljYTk3YzhjNjQwNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL01ha2Vm
aWxlCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9NYWtlZmlsZQpAQCAtMjEsOSArMjEsOSBA
QCBhbGw6IC5ERUZBVUxUCiBjbGVhbjo6IC5ERUZBVUxUCiBleGFtcGxldGVzdDogLkRFRkFVTFQK
IGluc3RhbGw6OiAuREVGQVVMVAotdGVzdDogLkRFRkFVTFQKLXRlc3Qtbm8tZGF0YS1jaGVjazog
LkRFRkFVTFQKLXRlc3RkYXRhOiAuREVGQVVMVAordGVzdDo6IC5ERUZBVUxUCit0ZXN0LW5vLWRh
dGEtY2hlY2s6OiAuREVGQVVMVAordGVzdGRhdGE6OiAuREVGQVVMVAogdXRpbHRlc3Q6IC5ERUZB
VUxUCiBleGFtcGxldGVzdC1uby1kYXRhLWNoZWNrIHV0aWx0ZXN0LW5vLWRhdGEtY2hlY2s6IC5E
RUZBVUxUCiB0ZXN0XyU6IC5ERUZBVUxUIDsKQEAgLTExMSwxMyArMTExLDEzIEBAIGV4YW1wbGV0
ZXN0OgogLlBIT05ZOiBpbnN0YWxsCiBpbnN0YWxsOjoKIC5QSE9OWTogdGVzdAotdGVzdDoKK3Rl
c3Q6OgogLlBIT05ZOiB0ZXN0ZGF0YQotdGVzdGRhdGE6Cit0ZXN0ZGF0YTo6CiAuUEhPTlk6IHV0
aWx0ZXN0CiB1dGlsdGVzdDoKIC5QSE9OWTogdGVzdC1uby1kYXRhLWNoZWNrIGV4YW1wbGV0ZXN0
LW5vLWRhdGEtY2hlY2sgdXRpbHRlc3Qtbm8tZGF0YS1jaGVjawotdGVzdC1uby1kYXRhLWNoZWNr
OgordGVzdC1uby1kYXRhLWNoZWNrOjoKIGV4YW1wbGV0ZXN0LW5vLWRhdGEtY2hlY2sgdXRpbHRl
c3Qtbm8tZGF0YS1jaGVjazoKIAogIyBGb3JjZSB0byByZWFsaWduIHN0YWNrIGFsd2F5cyBvbiBP
Uy8yCkBAIC0xNDMsMTIgKzE0Myw2IEBAICQoQlVJTERfUEZYKSVfYXZ4Mi5jLm86IENGTEFHUyAr
PSAtbWF2eDIKICQoQlVJTERfUEZYKSVfYXZ4NTEyLmMuZDogQ0ZMQUdTICs9IC1tYXZ4NTEyZiAt
bWF2eDUxMmNkIC1tYXZ4NTEyYncgLW1hdng1MTJkcSAtbWF2eDUxMnZsCiAkKEJVSUxEX1BGWCkl
X2F2eDUxMi5jLm86IENGTEFHUyArPSAtbWF2eDUxMmYgLW1hdng1MTJjZCAtbWF2eDUxMmJ3IC1t
YXZ4NTEyZHEgLW1hdng1MTJ2bAogCi0jIEFBUkNINjQKLSQoQlVJTERfUEZYKSVfbmVvbl9kb3Rw
cm9kLmMuZDogQ0ZMQUdTICs9IC1tYXJjaD1hcm12OC4yLWErZG90cHJvZAotJChCVUlMRF9QRlgp
JV9uZW9uX2RvdHByb2QuYy5vOiBDRkxBR1MgKz0gLW1hcmNoPWFybXY4LjItYStkb3Rwcm9kCi0k
KEJVSUxEX1BGWCklX25lb25faThtbS5jLmQ6IENGTEFHUyArPSAtbWFyY2g9YXJtdjguMi1hK2Rv
dHByb2QraThtbQotJChCVUlMRF9QRlgpJV9uZW9uX2k4bW0uYy5vOiBDRkxBR1MgKz0gLW1hcmNo
PWFybXY4LjItYStkb3Rwcm9kK2k4bW0KLQogIyBQT1dFUgogJChCVUlMRF9QRlgpJV92c3guYy5k
OiBDRkxBR1MgKz0gLW1hbHRpdmVjIC1tdnN4CiAkKEJVSUxEX1BGWCklX3ZzeC5jLm86IENGTEFH
UyArPSAtbWFsdGl2ZWMgLW12c3gKQEAgLTE1NywxMiArMTUxLDYgQEAgJChCVUlMRF9QRlgpJV92
c3guYy5vOiBDRkxBR1MgKz0gLW1hbHRpdmVjIC1tdnN4CiAkKEJVSUxEX1BGWCklX21zYS5jLmQ6
IENGTEFHUyArPSAtbW1zYQogJChCVUlMRF9QRlgpJV9tc2EuYy5vOiBDRkxBR1MgKz0gLW1tc2EK
IAotIyBMT09OR0FSQ0gKLSQoQlVJTERfUEZYKSVfbHN4LmMuZDogIENGTEFHUyArPSAtbWxzeAot
JChCVUlMRF9QRlgpJV9sc3guYy5vOiAgQ0ZMQUdTICs9IC1tbHN4Ci0kKEJVSUxEX1BGWCklX2xh
c3guYy5kOiBDRkxBR1MgKz0gLW1sYXN4Ci0kKEJVSUxEX1BGWCklX2xhc3guYy5vOiBDRkxBR1Mg
Kz0gLW1sYXN4Ci0KICQoQlVJTERfUEZYKSUuYy5kOiAlLmMKIAkkKGlmICQocXVpZXQpLEBlY2hv
ICIgICAgW0RFUF0gJEAiKQogCSQocWV4ZWMpbWtkaXIgLXAgJChkaXIgJEApCkBAIC0zMTAsMTkg
KzI5OCw2IEBAICQoMSk6CiAJJChxZXhlYykkJChBUikgJCQoQVJGTEFHUykgJCRAICQkXgogZW5k
ZWYKIAotIyBEb24ndCB1c2UgLVdsLC16LGRlZnMgd2l0aCBDbGFuZydzIHNhbml0aXplcnMuCi0j
Ci0jIENsYW5nJ3MgQWRkcmVzc1Nhbml0aXplciBkb2N1bWVudGF0aW9uIHNheXMgIldoZW4gbGlu
a2luZyBzaGFyZWQgbGlicmFyaWVzLAotIyB0aGUgQWRkcmVzc1Nhbml0aXplciBydW4tdGltZSBp
cyBub3QgbGlua2VkLCBzbyAtV2wsLXosZGVmcyBtYXkgY2F1c2UgbGluawotIyBlcnJvcnMgKGRv
bid0IHVzZSBpdCB3aXRoIEFkZHJlc3NTYW5pdGl6ZXIpLiIgU2VlCi0jIGh0dHBzOi8vY2xhbmcu
bGx2bS5vcmcvZG9jcy9BZGRyZXNzU2FuaXRpemVyLmh0bWwjdXNhZ2UuCi1OT19VTkRFRklORUQg
Oj0gLVdsLC16LGRlZnMKLWlmZXEgKCQoZmluZHN0cmluZyBjbGFuZywkKENDKSksY2xhbmcpCi0g
ICAgaWZuZXEgKCQoZmlsdGVyIC1mc2FuaXRpemU9JSwkKExERkxBR1MpKSwpCi0gICAgICAgIE5P
X1VOREVGSU5FRCA6PQotICAgIGVuZGlmCi1lbmRpZgotCiBkZWZpbmUgc29fdGVtcGxhdGUKICMg
Tm90IHVzaW5nIGEgcGF0dGVybiBydWxlIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGdl
bmVyYXRlIGVtcHR5CiAjIGFyY2hpdmVzIHdoZW4gdGhleSBhcmUgbGlzdGVkIGFzIGEgZGVwZW5k
ZW5jeSBpbiBmaWxlcyBub3QgcmVzcG9uc2libGUKQEAgLTMzMiw4ICszMDcsNyBAQCBkZWZpbmUg
c29fdGVtcGxhdGUKICQoMSk6CiAJJChpZiAkKHF1aWV0KSxAZWNobyAiICAgIFtMRF0gJCRAIikK
IAkkKHFleGVjKSQkKExEKSAtc2hhcmVkICQkKExERkxBR1MpIFwKLSAgICAgICAgICAgICQoTk9f
VU5ERUZJTkVEKSBcCi0gICAgICAgICAgICAtV2wsLXNvbmFtZSwkJChTT05BTUUpIFwKKyAgICAg
ICAgICAgIC1XbCwtLW5vLXVuZGVmaW5lZCAtV2wsLXNvbmFtZSwkJChTT05BTUUpIFwKICAgICAg
ICAgICAgIC1XbCwtLXZlcnNpb24tc2NyaXB0LCQkKEVYUE9SVFNfRklMRSkgLW8gJCRAIFwKICAg
ICAgICAgICAgICQkKGZpbHRlciAlLm8sJCReKSAkJChleHRyYWxpYnMpCiBlbmRlZgpAQCAtNDg1
LDYgKzQ1OSw2IEBAIElOU1RBTExfVEFSR0VUUyArPSAuaW5zdGFsbC1kb2NzIC5pbnN0YWxsLXNy
Y3MgLmluc3RhbGwtbGlicyAuaW5zdGFsbC1iaW5zCiBhbGw6ICQoQlVJTERfVEFSR0VUUykKIGlu
c3RhbGw6OiAkKElOU1RBTExfVEFSR0VUUykKIGRpc3Q6ICQoSU5TVEFMTF9UQVJHRVRTKQotdGVz
dDoKK3Rlc3Q6OgogCiAuU1VGRklYRVM6ICAjIERlbGV0ZSBkZWZhdWx0IHN1ZmZpeCBydWxlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2FkczJhcm1hc21fbXMucGwgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L2J1aWxkL21ha2UvYWRzMmFybWFzbV9tcy5wbAppbmRleCBkZDRlMDMxOGM0NjQuLjJh
MmM0NzBmZjg4YSAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2FkczJhcm1hc21f
bXMucGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2FkczJhcm1hc21fbXMucGwKQEAgLTI4
LDcgKzI4LDcgQEAgd2hpbGUgKDxTVERJTj4pCiAgICAgcy9xc3ViYWRkeC9xc2F4L2k7CiAgICAg
cy9xYWRkc3VieC9xYXN4L2k7CiAKLSAgICB0aHVtYjo6Rml4VGh1bWJJbnN0cnVjdGlvbnMoJF8p
OworICAgIHRodW1iOjpGaXhUaHVtYkluc3RydWN0aW9ucygkXywgMSk7CiAKICAgICBzL2xkcm5l
Yi9sZHJibmUvaTsKICAgICBzL2xkcm5laC9sZHJobmUvaTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvYnVpbGQvbWFrZS9hZHMyZ2FzLnBsIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2FkczJnYXMu
cGwKaW5kZXggYzMwMWI3ZjgyOTkzLi5iNmE4ZjUzZWFlMjMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvYnVpbGQvbWFrZS9hZHMyZ2FzLnBsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9hZHMy
Z2FzLnBsCkBAIC0zMiw3ICszMiw3IEBAIGZvcmVhY2ggbXkgJGFyZyAoQEFSR1YpIHsKIAogcHJp
bnQgIkAgVGhpcyBmaWxlIHdhcyBjcmVhdGVkIGZyb20gYSAuYXNtIGZpbGVcbiI7CiBwcmludCAi
QCAgdXNpbmcgdGhlIGFkczJnYXMucGwgc2NyaXB0LlxuIjsKLXByaW50ICIuc3ludGF4IHVuaWZp
ZWRcbiI7CitwcmludCAiXHQuc3ludGF4IHVuaWZpZWRcbiI7CiBpZiAoJHRodW1iKSB7CiAgICAg
cHJpbnQgIlx0LnRodW1iXG4iOwogfQpAQCAtNDIsMTEgKzQyLDM5IEBAIGlmICgkdGh1bWIpIHsK
IAogd2hpbGUgKDxTVERJTj4pCiB7CisgICAgdW5kZWYgJGNvbW1lbnQ7CisgICAgdW5kZWYgJGxp
bmU7CisgICAgJGNvbW1lbnRfY2hhciA9ICI7IjsKKyAgICAkY29tbWVudF9zdWIgPSAiQCI7CisK
KyAgICAjIEhhbmRsZSBjb21tZW50cy4KKyAgICBpZiAoLyRjb21tZW50X2NoYXIvKQorICAgIHsK
KyAgICAgICRjb21tZW50ID0gIiI7CisgICAgICAoJGxpbmUsICRjb21tZW50KSA9IC8oLio/KSRj
b21tZW50X2NoYXIoLiopLzsKKyAgICAgICRfID0gJGxpbmU7CisgICAgfQorCiAgICAgIyBMb2Fk
IGFuZCBzdG9yZSBhbGlnbm1lbnQKICAgICBzL0AvLDovZzsKIAotICAgICMgQ29tbWVudCBjaGFy
YWN0ZXIKLSAgICBzLzsvQC87CisgICAgIyBIZXhhZGVjaW1hbCBjb25zdGFudHMgcHJlZmFjZWQg
YnkgMHgKKyAgICBzLyMmLyMweC9nOworCisgICAgIyBDb252ZXJ0IDpPUjogdG8gfAorICAgIHMv
Ok9SOi8gfCAvZzsKKworICAgICMgQ29udmVydCA6QU5EOiB0byAmCisgICAgcy86QU5EOi8gJiAv
ZzsKKworICAgICMgQ29udmVydCA6Tk9UOiB0byB+CisgICAgcy86Tk9UOi8gfiAvZzsKKworICAg
ICMgQ29udmVydCA6U0hMOiB0byA8PAorICAgIHMvOlNITDovIDw8IC9nOworCisgICAgIyBDb252
ZXJ0IDpTSFI6IHRvID4+CisgICAgcy86U0hSOi8gPj4gL2c7CiAKICAgICAjIENvbnZlcnQgRUxT
RSB0byAuZWxzZQogICAgIHMvXGJFTFNFXGIvLmVsc2UvZzsKQEAgLTU0LDUxICs4MiwxMDUgQEAg
d2hpbGUgKDxTVERJTj4pCiAgICAgIyBDb252ZXJ0IEVORElGIHRvIC5lbmRpZgogICAgIHMvXGJF
TkRJRlxiLy5lbmRpZi9nOwogCisgICAgIyBDb252ZXJ0IEVMU0VJRiB0byAuZWxzZWlmCisgICAg
cy9cYkVMU0VJRlxiLy5lbHNlaWYvZzsKKworICAgICMgQ29udmVydCBMVE9SRyB0byAubHRvcmcK
KyAgICBzL1xiTFRPUkdcYi8ubHRvcmcvZzsKKworICAgICMgQ29udmVydCBlbmRmdW5jIHRvIG5v
dGhpbmcuCisgICAgcy9cYmVuZGZ1bmNcYi8vaWc7CisKKyAgICAjIENvbnZlcnQgRlVOQ1RJT04g
dG8gbm90aGluZy4KKyAgICBzL1xiRlVOQ1RJT05cYi8vZzsKKyAgICBzL1xiZnVuY3Rpb25cYi8v
ZzsKKworICAgIHMvXGJFTlRSWVxiLy9nOworICAgIHMvXGJNU0FSTUFTTVxiLzAvZzsKKyAgICBz
L15ccytlbmRccyskLy9nOworCisgICAgIyBDb252ZXJ0IElGIDpERUY6dG8gLmlmCisgICAgIyBn
Y2MgZG9lc24ndCBoYXZlIHRoZSBhYmlsaXR5IHRvIGRvIGEgY29uZGl0aW9uYWwKKyAgICAjIGlm
IGRlZmluZWQgdmFyaWFibGUgdGhhdCBpcyBzZXQgYnkgSUYgOkRFRjogb24KKyAgICAjIGFybWFz
bSwgc28gY29udmVydCBpdCB0byBhIG5vcm1hbCAuaWYgYW5kIHRoZW4KKyAgICAjIG1ha2Ugc3Vy
ZSB0byBkZWZpbmUgYSB2YWx1ZSBlbGVzZXdoZXJlCisgICAgaWYgKHMvXGJJRiA6REVGOlxiLy5p
ZiAvZykKKyAgICB7CisgICAgICAgIHMvPS89PS9nOworICAgIH0KKwogICAgICMgQ29udmVydCBJ
RiB0byAuaWYKLSAgICBpZiAocy9cYklGXGIvLmlmL2cpIHsKKyAgICBpZiAocy9cYklGXGIvLmlm
L2cpCisgICAgewogICAgICAgICBzLz0rLz09L2c7CiAgICAgfQogCiAgICAgIyBDb252ZXJ0IElO
Q0xVREUgdG8gLklOQ0xVREUgImZpbGUiCi0gICAgcy9JTkNMVURFXHM/KC4qKSQvLmluY2x1ZGUg
XCIkMVwiLzsKKyAgICBzL0lOQ0xVREUoXHMqKSguKikkLy5pbmNsdWRlICQxXCIkMlwiLzsKKwor
ICAgICMgQ29kZSBkaXJlY3RpdmUgKEFSTSB2cyBUaHVtYikKKyAgICBzL0NPREUoWzAtOV1bMC05
XSkvLmNvZGUgJDEvOwogCiAgICAgIyBObyBBUkVBIHJlcXVpcmVkCiAgICAgIyBCdXQgQUxJR05z
IGluIEFSRUEgbXVzdCBiZSBvYmV5ZWQKLSAgICBzL14oXHMqKVxiQVJFQVxiLipBTElHTj0oWzAt
OV0pJC8kMS50ZXh0XG4kMS5wMmFsaWduICQyLzsKKyAgICBzL15ccypBUkVBLipBTElHTj0oWzAt
OV0pJC8udGV4dFxuLnAyYWxpZ24gJDEvOwogICAgICMgSWYgbm8gQUxJR04sIHN0cmlwIHRoZSBB
UkVBIGFuZCBhbGlnbiB0byA0IGJ5dGVzCi0gICAgcy9eKFxzKilcYkFSRUFcYi4qJC8kMS50ZXh0
XG4kMS5wMmFsaWduIDIvOworICAgIHMvXlxzKkFSRUEuKiQvLnRleHRcbi5wMmFsaWduIDIvOwor
CisgICAgIyBEQ0QgdG8gLndvcmQKKyAgICAjIFRoaXMgb25lIGlzIGZvciBpbmNvbWluZyBzeW1i
b2xzCisgICAgcy9EQ0RccytcfChcdyopXHwvLmxvbmcgJDEvOworCisgICAgIyBEQ1cgdG8gLnNo
b3J0CisgICAgcy9EQ1dccytcfChcdyopXHwvLnNob3J0ICQxLzsKKyAgICBzL0RDVyguKikvLnNo
b3J0ICQxLzsKIAotICAgICMgTWFrZSBmdW5jdGlvbiB2aXNpYmxlIHRvIGxpbmtlci4KKyAgICAj
IENvbnN0YW50cyBkZWZpbmVkIGluIHNjb3BlCisgICAgcy9EQ0QoLiopLy5sb25nICQxLzsKKyAg
ICBzL0RDQiguKikvLmJ5dGUgJDEvOworCisgICAgIyBNYWtlIGZ1bmN0aW9uIHZpc2libGUgdG8g
bGlua2VyLCBhbmQgbWFrZSBhZGRpdGlvbmFsIHN5bWJvbCB3aXRoCisgICAgIyBwcmVwZW5kZWQg
dW5kZXJzY29yZQogICAgIGlmICgkZWxmKSB7Ci0gICAgICAgIHMvKFxzKilFWFBPUlRccytcfChb
XCRcd10qKVx8LyQxLmdsb2JhbCAkMlxuJDEudHlwZSAkMiwgZnVuY3Rpb24vOworICAgICAgICBz
L0VYUE9SVFxzK1x8KFtcJFx3XSopXHwvLmdsb2JhbCAkMSBcblx0LnR5cGUgJDEsIGZ1bmN0aW9u
LzsKICAgICB9IGVsc2UgewotICAgICAgICBzLyhccyopRVhQT1JUXHMrXHwoW1wkXHddKilcfC8k
MS5nbG9iYWwgJDIvOworICAgICAgICBzL0VYUE9SVFxzK1x8KFtcJFx3XSopXHwvLmdsb2JhbCAk
MS87CiAgICAgfQorICAgIHMvSU1QT1JUXHMrXHwoW1wkXHddKilcfC8uZ2xvYmFsICQxLzsKKwor
ICAgIHMvRVhQT1JUXHMrKFtcJFx3XSopLy5nbG9iYWwgJDEvOworICAgIHMvZXhwb3J0XHMrKFtc
JFx3XSopLy5nbG9iYWwgJDEvOwogCi0gICAgIyBObyB2ZXJ0aWNhbCBiYXJzIG9uIGZ1bmN0aW9u
IG5hbWVzCi0gICAgcy9eXHwoXCQ/XHcrKVx8LyQxL2c7CisgICAgIyBObyB2ZXJ0aWNhbCBiYXJz
IHJlcXVpcmVkOyBtYWtlIGFkZGl0aW9uYWwgc3ltYm9sIHdpdGggcHJlcGVuZGVkCisgICAgIyB1
bmRlcnNjb3JlCisgICAgcy9eXHwoXCQ/XHcrKVx8L18kMVxuXHQkMTovZzsKIAogICAgICMgTGFi
ZWxzIG5lZWQgdHJhaWxpbmcgY29sb24KKyMgICBzL14oXHcrKS8kMTovIGlmICEvRVFVLzsKKyAg
ICAjIHB1dCB0aGUgY29sb24gYXQgdGhlIGVuZCBvZiB0aGUgbGluZSBpbiB0aGUgbWFjcm8KICAg
ICBzL14oW2EtekEtWl8wLTlcJF0rKS8kMTovIGlmICEvRVFVLzsKIAogICAgICMgQUxJR04gZGly
ZWN0aXZlCiAgICAgcy9cYkFMSUdOXGIvLmJhbGlnbi9nOwogCiAgICAgaWYgKCR0aHVtYikgewot
ICAgICAgICAjIEFSTSBjb2RlIC0gd2UgZm9yY2UgZXZlcnl0aGluZyB0byB0aHVtYiB3aXRoIHRo
ZSBkZWNsYXJhdGlvbiBpbiB0aGUKLSAgICAgICAgIyBoZWFkZXIKLSAgICAgICAgcy9cYkFSTVxi
Ly9nOworICAgICAgICAjIEFSTSBjb2RlIC0gd2UgZm9yY2UgZXZlcnl0aGluZyB0byB0aHVtYiB3
aXRoIHRoZSBkZWNsYXJhdGlvbiBpbiB0aGUgaGVhZGVyCisgICAgICAgIHMvXHNBUk0vL2c7CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgIyBBUk0gY29kZQotICAgICAgICBzL1xiQVJNXGIvLmFybS9n
OworICAgICAgICBzL1xzQVJNLy5hcm0vZzsKICAgICB9CiAKICAgICAjIHB1c2gvcG9wCiAgICAg
cy8ocHVzaFxzKykoclxkKykvc3RtZGIgc3BcISwgXHskMlx9L2c7CiAgICAgcy8ocG9wXHMrKShy
XGQrKS9sZG1pYSBzcFwhLCBceyQyXH0vZzsKIAorICAgICMgTkVPTiBjb2RlCisgICAgcy8odmxk
MS5cZCtccyspKHFcZCspLyQxXHskMlx9L2c7CisgICAgcy8odnRibC5cZCtccytbXixdKyksKFte
LF0rKS8kMSxceyQyXH0vZzsKKwogICAgIGlmICgkdGh1bWIpIHsKLSAgICAgICAgdGh1bWI6OkZp
eFRodW1iSW5zdHJ1Y3Rpb25zKCRfKTsKKyAgICAgICAgdGh1bWI6OkZpeFRodW1iSW5zdHJ1Y3Rp
b25zKCRfLCAwKTsKICAgICB9CiAKICAgICAjIGVhYmlfYXR0cmlidXRlcyBudW1lcmljYWwgZXF1
aXZhbGVudHMgY2FuIGJlIGZvdW5kIGluIHRoZQpAQCAtMTA2LDMxICsxODgsMzEgQEAgd2hpbGUg
KDxTVERJTj4pCiAKICAgICBpZiAoJGVsZikgewogICAgICAgICAjIFJFUVVJUkU4IFN0YWNrIGlz
IHJlcXVpcmVkIHRvIGJlIDgtYnl0ZSBhbGlnbmVkCi0gICAgICAgIHMvXGJSRVFVSVJFOFxiLy5l
YWJpX2F0dHJpYnV0ZSAyNCwgMSBcQFRhZ19BQklfYWxpZ25fbmVlZGVkL2c7CisgICAgICAgIHMv
XHNSRVFVSVJFOC8uZWFiaV9hdHRyaWJ1dGUgMjQsIDEgXEBUYWdfQUJJX2FsaWduX25lZWRlZC9n
OwogCiAgICAgICAgICMgUFJFU0VSVkU4IFN0YWNrIDgtYnl0ZSBhbGlnbiBpcyBwcmVzZXJ2ZWQK
LSAgICAgICAgcy9cYlBSRVNFUlZFOFxiLy5lYWJpX2F0dHJpYnV0ZSAyNSwgMSBcQFRhZ19BQklf
YWxpZ25fcHJlc2VydmVkL2c7CisgICAgICAgIHMvXHNQUkVTRVJWRTgvLmVhYmlfYXR0cmlidXRl
IDI1LCAxIFxAVGFnX0FCSV9hbGlnbl9wcmVzZXJ2ZWQvZzsKICAgICB9IGVsc2UgewotICAgICAg
ICBzL1xiUkVRVUlSRThcYi8vOwotICAgICAgICBzL1xiUFJFU0VSVkU4XGIvLzsKKyAgICAgICAg
cy9cc1JFUVVJUkU4Ly87CisgICAgICAgIHMvXHNQUkVTRVJWRTgvLzsKICAgICB9CiAKICAgICAj
IFVzZSBQUk9DIGFuZCBFTkRQIHRvIGdpdmUgdGhlIHN5bWJvbHMgYSAuc2l6ZSBkaXJlY3RpdmUu
CiAgICAgIyBUaGlzIG1ha2VzIHRoZW0gc2hvdyB1cCBwcm9wZXJseSBpbiBkZWJ1Z2dpbmcgdG9v
bHMgbGlrZSBnZGIgYW5kIHZhbGdyaW5kLgotICAgIGlmICgvXGJQUk9DXGIvKSB7CisgICAgaWYg
KC9cYlBST0NcYi8pCisgICAgewogICAgICAgICBteSAkcHJvYzsKLSAgICAgICAgIyBNYXRjaCB0
aGUgZnVuY3Rpb24gbmFtZSBzbyBpdCBjYW4gYmUgc3RvcmVkIGluICRwcm9jCi0gICAgICAgIC9e
KFtcLjAtOUEtWl9hLXpdXHcrKVxiLzsKKyAgICAgICAgL15fKFtcLjAtOUEtWl9hLXpdXHcrKVxi
LzsKICAgICAgICAgJHByb2MgPSAkMTsKICAgICAgICAgcHVzaChAcHJvY19zdGFjaywgJHByb2Mp
IGlmICgkcHJvYyk7CiAgICAgICAgIHMvXGJQUk9DXGIvQCAkJi87CiAgICAgfQotCi0gICAgaWYg
KC9cYkVORFBcYi8pIHsKKyAgICBpZiAoL1xiRU5EUFxiLykKKyAgICB7CiAgICAgICAgIG15ICRw
cm9jOwogICAgICAgICBzL1xiRU5EUFxiL0AgJCYvOwogICAgICAgICAkcHJvYyA9IHBvcChAcHJv
Y19zdGFjayk7Ci0gICAgICAgICRfID0gIi5zaXplICRwcm9jLCAuLSRwcm9jIi4kXyBpZiAoJHBy
b2MgYW5kICRlbGYpOworICAgICAgICAkXyA9ICJcdC5zaXplICRwcm9jLCAuLSRwcm9jIi4kXyBp
ZiAoJHByb2MgYW5kICRlbGYpOwogICAgIH0KIAogICAgICMgRVFVIGRpcmVjdGl2ZQpAQCAtMTM4
LDIwICsyMjAsMTkgQEAgd2hpbGUgKDxTVERJTj4pCiAKICAgICAjIEJlZ2luIG1hY3JvIGRlZmlu
aXRpb24KICAgICBpZiAoL1xiTUFDUk9cYi8pIHsKLSAgICAgICAgIyBQcm9jZXNzIG5leHQgbGlu
ZSBkb3duLCB3aGljaCB3aWxsIGJlIHRoZSBtYWNybyBkZWZpbml0aW9uCiAgICAgICAgICRfID0g
PFNURElOPjsKICAgICAgICAgcy9eLy5tYWNyby87Ci0gICAgICAgIHMvXCQvL2c7ICAgICAgICAg
ICAgICMgUmVtb3ZlICQgZnJvbSB0aGUgdmFyaWFibGVzIGluIHRoZSBkZWNsYXJhdGlvbgorICAg
ICAgICBzL1wkLy9nOyAgICAgICAgICAgICAgICAjIHJlbW92ZSBmb3JtYWwgcGFyYW0gcmVmZXJl
bmNlCisgICAgICAgIHMvOy9AL2c7ICAgICAgICAgICAgICAgICMgY2hhbmdlIGNvbW1lbnQgY2hh
cmFjdGVycwogICAgIH0KIAotICAgIHMvXCQvXFwvZzsgICAgICAgICAgICAgICAjIFVzZSBcIHRv
IHJlZmVyZW5jZSBmb3JtYWwgcGFyYW1ldGVycwotICAgICMgRW5kIG1hY3JvIGRlZmluaXRpb24K
LQotICAgIHMvXGJNRU5EXGIvLmVuZG0vOyAgICAgICAjIE5vIG5lZWQgdG8gdGVsbCBpdCB3aGVy
ZSB0byBzdG9wIGFzc2VtYmxpbmcKKyAgICAjIEZvciBtYWNyb3MsIHVzZSBcIHRvIHJlZmVyZW5j
ZSBmb3JtYWwgcGFyYW1zCisgICAgcy9cJC9cXC9nOyAgICAgICAgICAgICAgICAgICMgRW5kIG1h
Y3JvIGRlZmluaXRpb24KKyAgICBzL1xiTUVORFxiLy5lbmRtLzsgICAgICAgICAgICAgICMgTm8g
bmVlZCB0byB0ZWxsIGl0IHdoZXJlIHRvIHN0b3AgYXNzZW1ibGluZwogICAgIG5leHQgaWYgL15c
cypFTkRccyokLzsKLSAgICBzL1sgXHRdKyQvLzsKICAgICBwcmludDsKKyAgICBwcmludCAiJGNv
bW1lbnRfc3ViJGNvbW1lbnRcbiIgaWYgZGVmaW5lZCAkY29tbWVudDsKIH0KIAogIyBNYXJrIHRo
YXQgdGhpcyBvYmplY3QgZG9lc24ndCBuZWVkIGFuIGV4ZWN1dGFibGUgc3RhY2suCi1wcmludGYg
KCIgICAgLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLFwiXCIsXCVcJXByb2diaXRzXG4iKSBpZiAk
ZWxmOworcHJpbnRmICgiXHQuc2VjdGlvblx0Lm5vdGUuR05VLXN0YWNrLFwiXCIsXCVcJXByb2di
aXRzXG4iKSBpZiAkZWxmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2FkczJn
YXNfYXBwbGUucGwgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2J1aWxkL21ha2UvYWRzMmdhc19hcHBsZS5wbAppbmRl
eCA2MjQ5MWMxOTE4ZjUuLjg0ODg3MmZhN2QxZiAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWls
ZC9tYWtlL2FkczJnYXNfYXBwbGUucGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2FkczJn
YXNfYXBwbGUucGwKQEAgLTIwLDE0ICsyMCwxNyBAQAogCiBwcmludCAiQCBUaGlzIGZpbGUgd2Fz
IGNyZWF0ZWQgZnJvbSBhIC5hc20gZmlsZVxuIjsKIHByaW50ICJAICB1c2luZyB0aGUgYWRzMmdh
c19hcHBsZS5wbCBzY3JpcHQuXG5cbiI7Ci1wcmludCAiLnN5bnRheCB1bmlmaWVkXG4iOworcHJp
bnQgIlx0LnN5bnRheCB1bmlmaWVkXG4iOwogCitteSAlcmVnaXN0ZXJfYWxpYXNlczsKIG15ICVt
YWNyb19hbGlhc2VzOwogCiBteSBAbWFwcGluZ19saXN0ID0gKCJcJDAiLCAiXCQxIiwgIlwkMiIs
ICJcJDMiLCAiXCQ0IiwgIlwkNSIsICJcJDYiLCAiXCQ3IiwgIlwkOCIsICJcJDkiKTsKIAogbXkg
QGluY29taW5nX2FycmF5OwogCitteSBAaW1wb3J0ZWRfZnVuY3Rpb25zOworCiAjIFBlcmwgdHJp
bSBmdW5jdGlvbiB0byByZW1vdmUgd2hpdGVzcGFjZSBmcm9tIHRoZSBzdGFydCBhbmQgZW5kIG9m
IHRoZSBzdHJpbmcKIHN1YiB0cmltKCQpCiB7CkBAIC00Myw3ICs0NiwyNSBAQCB3aGlsZSAoPFNU
RElOPikKICAgICBzL0AvLDovZzsKIAogICAgICMgQ29tbWVudCBjaGFyYWN0ZXIKLSAgICBzLzsv
QC87CisgICAgcy87LyBAL2c7CisKKyAgICAjIEhleGFkZWNpbWFsIGNvbnN0YW50cyBwcmVmYWNl
ZCBieSAweAorICAgIHMvIyYvIzB4L2c7CisKKyAgICAjIENvbnZlcnQgOk9SOiB0byB8CisgICAg
cy86T1I6LyB8IC9nOworCisgICAgIyBDb252ZXJ0IDpBTkQ6IHRvICYKKyAgICBzLzpBTkQ6LyAm
IC9nOworCisgICAgIyBDb252ZXJ0IDpOT1Q6IHRvIH4KKyAgICBzLzpOT1Q6LyB+IC9nOworCisg
ICAgIyBDb252ZXJ0IDpTSEw6IHRvIDw8CisgICAgcy86U0hMOi8gPDwgL2c7CisKKyAgICAjIENv
bnZlcnQgOlNIUjogdG8gPj4KKyAgICBzLzpTSFI6LyA+PiAvZzsKIAogICAgICMgQ29udmVydCBF
TFNFIHRvIC5lbHNlCiAgICAgcy9cYkVMU0VcYi8uZWxzZS9nOwpAQCAtNTEsNjQgKzcyLDEzMSBA
QCB3aGlsZSAoPFNURElOPikKICAgICAjIENvbnZlcnQgRU5ESUYgdG8gLmVuZGlmCiAgICAgcy9c
YkVORElGXGIvLmVuZGlmL2c7CiAKKyAgICAjIENvbnZlcnQgRUxTRUlGIHRvIC5lbHNlaWYKKyAg
ICBzL1xiRUxTRUlGXGIvLmVsc2VpZi9nOworCisgICAgIyBDb252ZXJ0IExUT1JHIHRvIC5sdG9y
ZworICAgIHMvXGJMVE9SR1xiLy5sdG9yZy9nOworCisgICAgIyBDb252ZXJ0IElGIDpERUY6dG8g
LmlmCisgICAgIyBnY2MgZG9lc24ndCBoYXZlIHRoZSBhYmlsaXR5IHRvIGRvIGEgY29uZGl0aW9u
YWwKKyAgICAjIGlmIGRlZmluZWQgdmFyaWFibGUgdGhhdCBpcyBzZXQgYnkgSUYgOkRFRjogb24K
KyAgICAjIGFybWFzbSwgc28gY29udmVydCBpdCB0byBhIG5vcm1hbCAuaWYgYW5kIHRoZW4KKyAg
ICAjIG1ha2Ugc3VyZSB0byBkZWZpbmUgYSB2YWx1ZSBlbGVzZXdoZXJlCisgICAgaWYgKHMvXGJJ
RiA6REVGOlxiLy5pZiAvZykKKyAgICB7CisgICAgICAgIHMvPS89PS9nOworICAgIH0KKwogICAg
ICMgQ29udmVydCBJRiB0byAuaWYKLSAgICBpZiAocy9cYklGXGIvLmlmL2cpIHsKLSAgICAgICAg
cy89Ky89PS9nOworICAgIGlmIChzL1xiSUZcYi8uaWYvZykKKyAgICB7CisgICAgICAgIHMvPS89
PS9nOwogICAgIH0KIAogICAgICMgQ29udmVydCBJTkNMVURFIHRvIC5JTkNMVURFICJmaWxlIgot
ICAgIHMvSU5DTFVERVxzPyguKikkLy5pbmNsdWRlIFwiJDFcIi87CisgICAgcy9JTkNMVURFKFxz
KikoLiopJC8uaW5jbHVkZSAkMVwiJDJcIi87CisKKyAgICAjIENvZGUgZGlyZWN0aXZlIChBUk0g
dnMgVGh1bWIpCisgICAgcy9DT0RFKFswLTldWzAtOV0pLy5jb2RlICQxLzsKIAogICAgICMgTm8g
QVJFQSByZXF1aXJlZAogICAgICMgQnV0IEFMSUdOcyBpbiBBUkVBIG11c3QgYmUgb2JleWVkCi0g
ICAgcy9eKFxzKilcYkFSRUFcYi4qQUxJR049KFswLTldKSQvJDEudGV4dFxuJDEucDJhbGlnbiAk
Mi87CisgICAgcy9eXHMqQVJFQS4qQUxJR049KFswLTldKSQvLnRleHRcbi5wMmFsaWduICQxLzsK
ICAgICAjIElmIG5vIEFMSUdOLCBzdHJpcCB0aGUgQVJFQSBhbmQgYWxpZ24gdG8gNCBieXRlcwot
ICAgIHMvXihccyopXGJBUkVBXGIuKiQvJDEudGV4dFxuJDEucDJhbGlnbiAyLzsKKyAgICBzL15c
cypBUkVBLiokLy50ZXh0XG4ucDJhbGlnbiAyLzsKKworICAgICMgRENEIHRvIC53b3JkCisgICAg
IyBUaGlzIG9uZSBpcyBmb3IgaW5jb21pbmcgc3ltYm9scworICAgIHMvRENEXHMrXHwoXHcqKVx8
Ly5sb25nICQxLzsKIAotICAgICMgTWFrZSBmdW5jdGlvbiB2aXNpYmxlIHRvIGxpbmtlci4KLSAg
ICBzL0VYUE9SVFxzK1x8KFtcJFx3XSopXHwvLmdsb2JsIF8kMS87CisgICAgIyBEQ1cgdG8gLnNo
b3J0CisgICAgcy9EQ1dccytcfChcdyopXHwvLnNob3J0ICQxLzsKKyAgICBzL0RDVyguKikvLnNo
b3J0ICQxLzsKIAotICAgICMgTm8gdmVydGljYWwgYmFycyBvbiBmdW5jdGlvbiBuYW1lcwotICAg
IHMvXlx8KFwkP1x3KylcfC8kMS9nOworICAgICMgQ29uc3RhbnRzIGRlZmluZWQgaW4gc2NvcGUK
KyAgICBzL0RDRCguKikvLmxvbmcgJDEvOworICAgIHMvRENCKC4qKS8uYnl0ZSAkMS87CiAKLSAg
ICAjIExhYmVscyBhbmQgZnVuY3Rpb25zIG5lZWQgYSBsZWFkaW5nIHVuZGVyc2NvcmUgYW5kIHRy
YWlsaW5nIGNvbG9uCi0gICAgcy9eKFthLXpBLVpfMC05XCRdKykvXyQxOi8gaWYgIS9FUVUvOwor
ICAgICMgTWFrZSBmdW5jdGlvbiB2aXNpYmxlIHRvIGxpbmtlciwgYW5kIG1ha2UgYWRkaXRpb25h
bCBzeW1ib2wgd2l0aAorICAgICMgcHJlcGVuZGVkIHVuZGVyc2NvcmUKKyAgICBzL0VYUE9SVFxz
K1x8KFtcJFx3XSopXHwvLmdsb2JsIF8kMVxuXHQuZ2xvYmwgJDEvOwogCi0gICAgIyBCcmFuY2hl
cyBuZWVkIHRvIGNhbGwgdGhlIGNvcnJlY3QsIHVuZGVyc2NvcmVkLCBmdW5jdGlvbgotICAgIHMv
XihccytiW2VnbG5dP1t0ZXFdP1xzKykoW2EtekEtWl8wLTlcJF0rKS8kMSBfJDIvIGlmICEvRVFV
LzsKKyAgICAjIFByZXBlbmQgaW1wb3J0ZWQgZnVuY3Rpb25zIHdpdGggXworICAgIGlmIChzL0lN
UE9SVFxzK1x8KFtcJFx3XSopXHwvLmdsb2JsICQxLykKKyAgICB7CisgICAgICAgICRmdW5jdGlv
biA9IHRyaW0oJDEpOworICAgICAgICBwdXNoKEBpbXBvcnRlZF9mdW5jdGlvbnMsICRmdW5jdGlv
bik7CisgICAgfQorCisgICAgZm9yZWFjaCAkZnVuY3Rpb24gKEBpbXBvcnRlZF9mdW5jdGlvbnMp
CisgICAgeworICAgICAgICBzLyRmdW5jdGlvbi9fJGZ1bmN0aW9uLzsKKyAgICB9CisKKyAgICAj
IE5vIHZlcnRpY2FsIGJhcnMgcmVxdWlyZWQ7IG1ha2UgYWRkaXRpb25hbCBzeW1ib2wgd2l0aCBw
cmVwZW5kZWQKKyAgICAjIHVuZGVyc2NvcmUKKyAgICBzL15cfChcJD9cdyspXHwvXyQxXG5cdCQx
Oi9nOworCisgICAgIyBMYWJlbHMgbmVlZCB0cmFpbGluZyBjb2xvbgorIyAgIHMvXihcdyspLyQx
Oi8gaWYgIS9FUVUvOworICAgICMgcHV0IHRoZSBjb2xvbiBhdCB0aGUgZW5kIG9mIHRoZSBsaW5l
IGluIHRoZSBtYWNybworICAgIHMvXihbYS16QS1aXzAtOVwkXSspLyQxOi8gaWYgIS9FUVUvOwog
CiAgICAgIyBBTElHTiBkaXJlY3RpdmUKICAgICBzL1xiQUxJR05cYi8uYmFsaWduL2c7CiAKICAg
ICAjIFN0cmlwIEFSTQotICAgIHMvXHMrQVJNLy87CisgICAgcy9cc0FSTS9AIEFSTS9nOwogCiAg
ICAgIyBTdHJpcCBSRVFVSVJFOAotICAgIHMvXHMrUkVRVUlSRTgvLzsKKyAgICAjcy9cc1JFUVVJ
UkU4L0AgUkVRVUlSRTgvZzsKKyAgICBzL1xzUkVRVUlSRTgvQCAvZzsKIAogICAgICMgU3RyaXAg
UFJFU0VSVkU4Ci0gICAgcy9ccytQUkVTRVJWRTgvLzsKKyAgICBzL1xzUFJFU0VSVkU4L0AgUFJF
U0VSVkU4L2c7CiAKICAgICAjIFN0cmlwIFBST0MgYW5kIEVORFBST0MKLSAgICBzL1xiUFJPQ1xi
Ly9nOwotICAgIHMvXGJFTkRQXGIvL2c7CisgICAgcy9cYlBST0NcYi9AL2c7CisgICAgcy9cYkVO
RFBcYi9AL2c7CiAKICAgICAjIEVRVSBkaXJlY3RpdmUKLSAgICBzLyhcUytccyspRVFVKFxzK1xT
KykvLmVxdSAkMSwgJDIvOworICAgIHMvKC4qKUVRVSguKikvLnNldCAkMSwgJDIvOwogCiAgICAg
IyBCZWdpbiBtYWNybyBkZWZpbml0aW9uCi0gICAgaWYgKC9cYk1BQ1JPXGIvKSB7CisgICAgaWYg
KC9cYk1BQ1JPXGIvKQorICAgIHsKICAgICAgICAgIyBQcm9jZXNzIG5leHQgbGluZSBkb3duLCB3
aGljaCB3aWxsIGJlIHRoZSBtYWNybyBkZWZpbml0aW9uCiAgICAgICAgICRfID0gPFNURElOPjsK
LSAgICAgICAgcy9eLy5tYWNyby87Ci0gICAgICAgIHMvXCQvL2c7ICAgICAgICAgICAgICMgUmVt
b3ZlICQgZnJvbSB0aGUgdmFyaWFibGVzIGluIHRoZSBkZWNsYXJhdGlvbgorCisgICAgICAgICR0
cmltbWVkID0gdHJpbSgkXyk7CisKKyAgICAgICAgIyByZW1vdmUgY29tbWFzIHRoYXQgYXJlIHNl
cGFyYXRpbmcgbGlzdAorICAgICAgICAkdHJpbW1lZCA9fiBzLywvL2c7CisKKyAgICAgICAgIyBz
dHJpbmcgdG8gYXJyYXkKKyAgICAgICAgQGluY29taW5nX2FycmF5ID0gc3BsaXQoL1xzKy8sICR0
cmltbWVkKTsKKworICAgICAgICBwcmludCAiLm1hY3JvIEBpbmNvbWluZ19hcnJheVswXVxuIjsK
KworICAgICAgICAjIHJlbW92ZSB0aGUgZmlyc3QgZWxlbWVudCwgYXMgdGhhdCBpcyB0aGUgbmFt
ZSBvZiB0aGUgbWFjcm8KKyAgICAgICAgc2hpZnQgKEBpbmNvbWluZ19hcnJheSk7CisKKyAgICAg
ICAgQG1hY3JvX2FsaWFzZXN7QGluY29taW5nX2FycmF5fSA9IEBtYXBwaW5nX2xpc3Q7CisKKyAg
ICAgICAgbmV4dDsKICAgICB9CiAKLSAgICBzL1wkL1xcL2c7ICAgICAgICAgICAgICAgIyBVc2Ug
XCB0byByZWZlcmVuY2UgZm9ybWFsIHBhcmFtZXRlcnMKLSAgICAjIEVuZCBtYWNybyBkZWZpbml0
aW9uCisgICAgd2hpbGUgKCgka2V5LCAkdmFsdWUpID0gZWFjaCglbWFjcm9fYWxpYXNlcykpCisg
ICAgeworICAgICAgICAka2V5ID1+IHMvXCQvXFxcJC87CisgICAgICAgIHMvJGtleVxiLyR2YWx1
ZS9nOworICAgIH0KIAotICAgIHMvXGJNRU5EXGIvLmVuZG0vOyAgICAgICAjIE5vIG5lZWQgdG8g
dGVsbCBpdCB3aGVyZSB0byBzdG9wIGFzc2VtYmxpbmcKKyAgICAjIEZvciBtYWNyb3MsIHVzZSBc
IHRvIHJlZmVyZW5jZSBmb3JtYWwgcGFyYW1zCisjICAgcy9cJC9cXC9nOyAgICAgICAgICAgICAg
ICAgICMgRW5kIG1hY3JvIGRlZmluaXRpb24KKyAgICBzL1xiTUVORFxiLy5lbmRtLzsgICAgICAg
ICAgICAgICMgTm8gbmVlZCB0byB0ZWxsIGl0IHdoZXJlIHRvIHN0b3AgYXNzZW1ibGluZwogICAg
IG5leHQgaWYgL15ccypFTkRccyokLzsKLSAgICBzL1sgXHRdKyQvLzsKKwogICAgIHByaW50Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2NvbmZpZ3VyZS5zaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvYnVpbGQvbWFrZS9jb25maWd1cmUuc2gKaW5kZXggOWQzY2Q4MGNiMzNkLi5jNGU5Mzhm
YzcyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9jb25maWd1cmUuc2gKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC9idWlsZC9tYWtlL2NvbmZpZ3VyZS5zaApAQCAtNDQ5LDE3ICs0NDksNiBA
QCBFT0YKICAgZmkKIH0KIAotY2hlY2tfaW5saW5lX2FzbSgpIHsKLSAgbG9nIGNoZWNrX2lubGlu
ZV9hc20gIiRAIgotICBuYW1lPSIkMSIKLSAgY29kZT0iJDIiCi0gIHNoaWZ0IDIKLSAgZGlzYWJs
ZV9mZWF0dXJlICRuYW1lCi0gIGNoZWNrX2NjICIkQCIgPDxFT0YgJiYgZW5hYmxlX2ZlYXR1cmUg
JG5hbWUKLXZvaWQgZm9vKHZvaWQpIHsgX19hc21fXyB2b2xhdGlsZSgkY29kZSk7IH0KLUVPRgot
fQotCiB3cml0ZV9jb21tb25fY29uZmlnX2Jhbm5lcigpIHsKICAgcHJpbnRfd2VibV9saWNlbnNl
IGNvbmZpZy5tayAiIyMiICIiCiAgIGVjaG8gJyMgVGhpcyBmaWxlIGF1dG9tYXRpY2FsbHkgZ2Vu
ZXJhdGVkIGJ5IGNvbmZpZ3VyZS4gRG8gbm90IGVkaXQhJyA+PiBjb25maWcubWsKQEAgLTUyMSw3
ICs1MTAsNiBAQCBBU19TRlggICAgPSAke0FTX1NGWDotLmFzbX0KIEVYRV9TRlggICA9ICR7RVhF
X1NGWH0KIFZDUFJPSl9TRlggPSAke1ZDUFJPSl9TRlh9CiBSVENEX09QVElPTlMgPSAke1JUQ0Rf
T1BUSU9OU30KLUxJQldFQk1fQ1hYRkxBR1MgPSAke0xJQldFQk1fQ1hYRkxBR1N9CiBMSUJZVVZf
Q1hYRkxBR1MgPSAke0xJQllVVl9DWFhGTEFHU30KIEVPRgogCkBAIC03NzgsMTIgKzc2Niw2IEBA
IHByb2Nlc3NfY29tbW9uX3Rvb2xjaGFpbigpIHsKICAgICAgICptaXBzMzJlbCopCiAgICAgICAg
IHRndF9pc2E9bWlwczMyCiAgICAgICAgIDs7Ci0gICAgICBsb29uZ2FyY2gzMiopCi0gICAgICAg
IHRndF9pc2E9bG9vbmdhcmNoMzIKLSAgICAgICAgOzsKLSAgICAgIGxvb25nYXJjaDY0KikKLSAg
ICAgICAgdGd0X2lzYT1sb29uZ2FyY2g2NAotICAgICAgICA7OwogICAgIGVzYWMKIAogICAgICMg
ZGV0ZWN0IHRndF9vcwpAQCAtNzkyLDcgKzc3NCw3IEBAIHByb2Nlc3NfY29tbW9uX3Rvb2xjaGFp
bigpIHsKICAgICAgICAgdGd0X2lzYT14ODZfNjQKICAgICAgICAgdGd0X29zPWBlY2hvICRnY2N0
YXJnZXQgfCBzZWQgJ3MvLipcKGRhcndpbjFbMC05XVwpLiovXDEvJ2AKICAgICAgICAgOzsKLSAg
ICAgICpkYXJ3aW4yWzAtMl0qKQorICAgICAgKmRhcndpbjIwKikKICAgICAgICAgdGd0X2lzYT1g
dW5hbWUgLW1gCiAgICAgICAgIHRndF9vcz1gZWNobyAkZ2NjdGFyZ2V0IHwgc2VkICdzLy4qXChk
YXJ3aW4yWzAtOV1cKS4qL1wxLydgCiAgICAgICAgIDs7CkBAIC04NDMsMTAgKzgyNSw2IEBAIHBy
b2Nlc3NfY29tbW9uX3Rvb2xjaGFpbigpIHsKIAogICAjIEVuYWJsZSB0aGUgYXJjaGl0ZWN0dXJl
IGZhbWlseQogICBjYXNlICR7dGd0X2lzYX0gaW4KLSAgICBhcm02NCB8IGFybXY4KQotICAgICAg
ZW5hYmxlX2ZlYXR1cmUgYXJtCi0gICAgICBlbmFibGVfZmVhdHVyZSBhYXJjaDY0Ci0gICAgICA7
OwogICAgIGFybSopCiAgICAgICBlbmFibGVfZmVhdHVyZSBhcm0KICAgICAgIDs7CkBAIC04NTYs
MTEgKzgzNCw2IEBAIHByb2Nlc3NfY29tbW9uX3Rvb2xjaGFpbigpIHsKICAgICBwcGMqKQogICAg
ICAgZW5hYmxlX2ZlYXR1cmUgcHBjCiAgICAgICA7OwotICAgIGxvb25nYXJjaCopCi0gICAgICBz
b2Z0X2VuYWJsZSBsc3gKLSAgICAgIHNvZnRfZW5hYmxlIGxhc3gKLSAgICAgIGVuYWJsZV9mZWF0
dXJlIGxvb25nYXJjaAotICAgICAgOzsKICAgZXNhYwogCiAgICMgUElDIGlzIHByb2JhYmx5IHdo
YXQgd2Ugd2FudCB3aGVuIGJ1aWxkaW5nIHNoYXJlZCBsaWJzCkBAIC05NDUsOSArOTE4LDkgQEAg
cHJvY2Vzc19jb21tb25fdG9vbGNoYWluKCkgewogICAgICAgYWRkX2NmbGFncyAgIi1tbWFjb3N4
LXZlcnNpb24tbWluPTEwLjE1IgogICAgICAgYWRkX2xkZmxhZ3MgIi1tbWFjb3N4LXZlcnNpb24t
bWluPTEwLjE1IgogICAgICAgOzsKLSAgICAqLWRhcndpbjJbMC0yXS0qKQotICAgICAgYWRkX2Nm
bGFncyAgIi1hcmNoICR7dG9vbGNoYWluJSUtKn0iCi0gICAgICBhZGRfbGRmbGFncyAiLWFyY2gg
JHt0b29sY2hhaW4lJS0qfSIKKyAgICAqLWRhcndpbjIwLSopCisgICAgICBhZGRfY2ZsYWdzICAi
LW1tYWNvc3gtdmVyc2lvbi1taW49MTAuMTYgLWFyY2ggJHt0b29sY2hhaW4lJS0qfSIKKyAgICAg
IGFkZF9sZGZsYWdzICItbW1hY29zeC12ZXJzaW9uLW1pbj0xMC4xNiAtYXJjaCAke3Rvb2xjaGFp
biUlLSp9IgogICAgICAgOzsKICAgICAqLWlwaG9uZXNpbXVsYXRvci0qKQogICAgICAgYWRkX2Nm
bGFncyAgIi1taXBob25lb3MtdmVyc2lvbi1taW49JHtJT1NfVkVSU0lPTl9NSU59IgpAQCAtOTcw
LDI2ICs5NDMsMTMgQEAgcHJvY2Vzc19jb21tb25fdG9vbGNoYWluKCkgewogICAgICAgOzsKICAg
ZXNhYwogCi0gICMgUHJvY2VzcyBhcmNoaXRlY3R1cmUgdmFyaWFudHMKKyAgIyBQcm9jZXNzIEFS
TSBhcmNoaXRlY3R1cmUgdmFyaWFudHMKICAgY2FzZSAke3Rvb2xjaGFpbn0gaW4KICAgICBhcm0q
KQotICAgICAgc29mdF9lbmFibGUgcnVudGltZV9jcHVfZGV0ZWN0Ci0gICAgICAjIEFybSBJU0Eg
ZXh0ZW5zaW9ucyBhcmUgdHJlYXRlZCBhcyBzdXBlcnNldHMuCisgICAgICAjIG9uIGFybSwgaXNh
IHZlcnNpb25zIGFyZSBzdXBlcnNldHMKICAgICAgIGNhc2UgJHt0Z3RfaXNhfSBpbgogICAgICAg
ICBhcm02NHxhcm12OCkKLSAgICAgICAgICBmb3IgZXh0IGluICR7QVJDSF9FWFRfTElTVF9BQVJD
SDY0fTsgZG8KLSAgICAgICAgICAgICMgRGlzYWJsZSBoaWdoZXIgb3JkZXIgZXh0ZW5zaW9ucyB0
byBzaW1wbGlmeSBkZXBlbmRlbmNpZXMuCi0gICAgICAgICAgICBpZiBbICIkZGlzYWJsZV9leHRz
IiA9ICJ5ZXMiIF07IHRoZW4KLSAgICAgICAgICAgICAgaWYgISBkaXNhYmxlZCAkZXh0OyB0aGVu
Ci0gICAgICAgICAgICAgICAgUlRDRF9PUFRJT05TPSIke1JUQ0RfT1BUSU9OU30tLWRpc2FibGUt
JHtleHR9ICIKLSAgICAgICAgICAgICAgICBkaXNhYmxlX2ZlYXR1cmUgJGV4dAotICAgICAgICAg
ICAgICBmaQotICAgICAgICAgICAgZWxpZiBkaXNhYmxlZCAkZXh0OyB0aGVuCi0gICAgICAgICAg
ICAgIGRpc2FibGVfZXh0cz0ieWVzIgotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICBz
b2Z0X2VuYWJsZSAkZXh0Ci0gICAgICAgICAgICBmaQotICAgICAgICAgIGRvbmUKKyAgICAgICAg
ICBzb2Z0X2VuYWJsZSBuZW9uCiAgICAgICAgICAgOzsKICAgICAgICAgYXJtdjd8YXJtdjdzKQog
ICAgICAgICAgIHNvZnRfZW5hYmxlIG5lb24KQEAgLTEwODQsMTEgKzEwNDQsOCBAQCBFT0YKICAg
ICAgICAgICAgICAgICAgICAgZW5hYmxlX2ZlYXR1cmUgd2luX2FybTY0X25lb25faF93b3JrYXJv
dW5kCiAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAjIElmIGEgcHJvYmUgaXMg
bm90IHBvc3NpYmxlLCBhc3N1bWUgdGhpcyBpcyB0aGUgcHVyZSBXaW5kb3dzCi0gICAgICAgICAg
ICAgICAgIyBTREsgYW5kIHNvIHRoZSB3b3JrYXJvdW5kIGlzIG5lY2Vzc2FyeSB3aGVuIHVzaW5n
IFZpc3VhbAotICAgICAgICAgICAgICAgICMgU3R1ZGlvIDwgMjAxOS4KLSAgICAgICAgICAgICAg
ICBpZiBbICR7dGd0X2NjIyN2c30gLWx0IDE2IF07IHRoZW4KLSAgICAgICAgICAgICAgICAgIGVu
YWJsZV9mZWF0dXJlIHdpbl9hcm02NF9uZW9uX2hfd29ya2Fyb3VuZAotICAgICAgICAgICAgICAg
IGZpCisgICAgICAgICAgICAgICAgIyBTREsgYW5kIHNvIHRoZSB3b3JrYXJvdW5kIGlzIG5lY2Vz
c2FyeS4KKyAgICAgICAgICAgICAgICBlbmFibGVfZmVhdHVyZSB3aW5fYXJtNjRfbmVvbl9oX3dv
cmthcm91bmQKICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgIGZpCiAgICAgICAgICAgZmkK
QEAgLTEzMzksNiArMTI5NiwxMCBAQCBFT0YKICAgICAgICAgICBlbmFibGVkIG9wdGltaXphdGlv
bnMgJiYgZGlzYWJsZWQgZ3Byb2YgJiYgY2hlY2tfYWRkX2NmbGFncyAtZm9taXQtZnJhbWUtcG9p
bnRlcgogICAgICAgICAgIDs7CiAgICAgICAgIHZzKikKKyAgICAgICAgICAjIFdoZW4gYnVpbGRp
bmcgd2l0aCBNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyB0aGUgYXNzZW1ibGVyIGlzCisgICAgICAg
ICAgIyBpbnZva2VkIGRpcmVjdGx5LiBDaGVja2luZyBhdCBjb25maWd1cmUgdGltZSBpcyB1bm5l
Y2Vzc2FyeS4KKyAgICAgICAgICAjIFNraXAgdGhlIGNoZWNrIGJ5IHNldHRpbmcgQVMgYXJiaXRy
YXJpbHkKKyAgICAgICAgICBBUz1tc3ZzCiAgICAgICAgICAgbXN2c19hcmNoX2Rpcj14ODYtbXN2
cwogICAgICAgICAgIGNhc2UgJHt0Z3RfY2MjI3ZzfSBpbgogICAgICAgICAgICAgMTQpCkBAIC0x
NDYyLDE1ICsxNDIzLDYgQEAgRU9GCiAgICAgICAgICAgOzsKICAgICAgIGVzYWMKICAgICAgIDs7
Ci0gICAgbG9vbmdhcmNoKikKLSAgICAgIGxpbmtfd2l0aF9jYz1nY2MKLSAgICAgIHNldHVwX2du
dV90b29sY2hhaW4KLQotICAgICAgZW5hYmxlZCBsc3ggJiYgY2hlY2tfaW5saW5lX2FzbSBsc3gg
JyJ2YWRkLmIgJHZyMCwgJHZyMSwgJHZyMSInCi0gICAgICBlbmFibGVkIGxzeCAmJiBzb2Z0X2Vu
YWJsZSBydW50aW1lX2NwdV9kZXRlY3QKLSAgICAgIGVuYWJsZWQgbGFzeCAmJiBjaGVja19pbmxp
bmVfYXNtIGxhc3ggJyJ4dmFkZC5iICR4cjAsICR4cjEsICR4cjEiJwotICAgICAgZW5hYmxlZCBs
YXN4ICYmIHNvZnRfZW5hYmxlIHJ1bnRpbWVfY3B1X2RldGVjdAotICAgICAgOzsKICAgICAqLWdj
Y3xnZW5lcmljLWdudSkKICAgICAgIGxpbmtfd2l0aF9jYz1nY2MKICAgICAgIGVuYWJsZV9mZWF0
dXJlIGdjYwpAQCAtMTUzMiw3ICsxNDg0LDcgQEAgRU9GCiAKICAgICAjIFRyeSB0byBmaW5kIHdo
aWNoIGlubGluZSBrZXl3b3JkcyBhcmUgc3VwcG9ydGVkCiAgICAgY2hlY2tfY2MgPDxFT0YgJiYg
SU5MSU5FPSJpbmxpbmUiCi1zdGF0aWMgaW5saW5lIGludCBmdW5jdGlvbih2b2lkKSB7fQorc3Rh
dGljIGlubGluZSBmdW5jdGlvbigpIHt9CiBFT0YKIAogICAjIEFsbW9zdCBldmVyeSBwbGF0Zm9y
bSB1c2VzIHB0aHJlYWRzLgpAQCAtMTU3MywyMiArMTUyNSw2IEBAIEVPRgogICAgICAgOzsKICAg
ZXNhYwogCi0gICMgb25seSBmb3IgTE9PTkdBUkNIIHBsYXRmb3JtcwotICBjYXNlICR7dG9vbGNo
YWlufSBpbgotICAgIGxvb25nYXJjaCopCi0gICAgICBpZiBlbmFibGVkIGJpZ19lbmRpYW47IHRo
ZW4KLSAgICAgICAgaWYgZW5hYmxlZCBsc3g7IHRoZW4KLSAgICAgICAgICBlY2hvICJsc3ggb3B0
aW1pemF0aW9ucyBhcmUgYXZhaWxhYmxlIG9ubHkgZm9yIGxpdHRsZSBlbmRpYW4gcGxhdGZvcm1z
IgotICAgICAgICAgIGRpc2FibGVfZmVhdHVyZSBsc3gKLSAgICAgICAgZmkKLSAgICAgICAgaWYg
ZW5hYmxlZCBsYXN4OyB0aGVuCi0gICAgICAgICAgZWNobyAibGFzeCBvcHRpbWl6YXRpb25zIGFy
ZSBhdmFpbGFibGUgb25seSBmb3IgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybXMiCi0gICAgICAgICAg
ZGlzYWJsZV9mZWF0dXJlIGxhc3gKLSAgICAgICAgZmkKLSAgICAgIGZpCi0gICAgICA7OwotICBl
c2FjCi0KICAgIyBnbGliYyBuZWVkcyB0aGVzZQogICBpZiBlbmFibGVkIGxpbnV4OyB0aGVuCiAg
ICAgYWRkX2NmbGFncyAtRF9MQVJHRUZJTEVfU09VUkNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L2J1aWxkL21ha2UvZ2VuX2FzbV9kZXBzLnNoIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2dlbl9h
c21fZGVwcy5zaAppbmRleCAzYmQ0ZDEyNWYxZWQuLjZhN2JmZjllYmNlNCAxMDA3NTUKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC9idWlsZC9tYWtlL2dlbl9hc21fZGVwcy5zaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2J1
aWxkL21ha2UvZ2VuX2FzbV9kZXBzLnNoCkBAIC00Miw3ICs0Miw3IEBAIGRvbmUKIAogWyAtbiAi
JHNyY2ZpbGUiIF0gfHwgc2hvd19oZWxwCiBzZng9JHtzZng6LWFzbX0KLWluY2x1ZGVzPSQoTENf
QUxMPUMgZ3JlcCAtRSAtaSAiaW5jbHVkZSArXCI/W2EtejAtOV8vXStcLiR7c2Z4fSIgJHNyY2Zp
bGUgfAoraW5jbHVkZXM9JChMQ19BTEw9QyBlZ3JlcCAtaSAiaW5jbHVkZSArXCI/W2EtejAtOV8v
XStcLiR7c2Z4fSIgJHNyY2ZpbGUgfAogICAgICAgICAgICBwZXJsIC1wIC1lICJzOy4qPyhbYS16
MC05Xy9dKy4ke3NmeH0pLio7XDE7IikKICMiIHJlc3RvcmUgZWRpdG9yIHN0YXRlCiBmb3IgaW5j
IGluICR7aW5jbHVkZXN9OyBkbwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2dl
bl9tc3ZzX3Nsbi5zaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9nZW5fbXN2c19zbG4uc2gKaW5k
ZXggMGIzMTI4NTBmZTgwLi5kMWFkZmQ3NDljNjYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVp
bGQvbWFrZS9nZW5fbXN2c19zbG4uc2gKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL2dlbl9t
c3ZzX3Nsbi5zaApAQCAtMjUsNyArMjUsNyBAQCBmaWxlcy4KIE9wdGlvbnM6CiAgICAgLS1oZWxw
ICAgICAgICAgICAgICAgICAgICAgIFByaW50IHRoaXMgbWVzc2FnZQogICAgIC0tb3V0PW91dGZp
bGUgICAgICAgICAgICAgICBSZWRpcmVjdCBvdXRwdXQgdG8gYSBmaWxlCi0gICAgLS12ZXI9dmVy
c2lvbiAgICAgICAgICAgICAgIFZlcnNpb24gKDE0LTE3KSBvZiB2aXN1YWwgc3R1ZGlvIHRvIGdl
bmVyYXRlIGZvcgorICAgIC0tdmVyPXZlcnNpb24gICAgICAgICAgICAgICBWZXJzaW9uICgxNC0x
Nikgb2YgdmlzdWFsIHN0dWRpbyB0byBnZW5lcmF0ZSBmb3IKICAgICAtLXRhcmdldD1pc2Etb3Mt
Y2MgICAgICAgICAgVGFyZ2V0IHNwZWNpZmllcgogRU9GCiAgICAgZXhpdCAxCkBAIC0yMTksNyAr
MjE5LDYgQEAgZm9yIG9wdCBpbiAiJEAiOyBkbwogICAgICAgICAxNCkgdnNfeWVhcj0yMDE1IDs7
CiAgICAgICAgIDE1KSB2c195ZWFyPTIwMTcgOzsKICAgICAgICAgMTYpIHZzX3llYXI9MjAxOSA7
OwotICAgICAgICAxNykgdnNfeWVhcj0yMDIyIDs7CiAgICAgICAgICopIGRpZSBVbnJlY29nbml6
ZWQgVmlzdWFsIFN0dWRpbyBWZXJzaW9uIGluICRvcHQgOzsKICAgICAgIGVzYWMKICAgICA7OwpA
QCAtMjMzLDcgKzIzMiw3IEBAIGRvbmUKIG91dGZpbGU9JHtvdXRmaWxlOi0vZGV2L3N0ZG91dH0K
IG1rb3V0ZmlsZT0ke21rb3V0ZmlsZTotL2Rldi9zdGRvdXR9CiBjYXNlICIke3ZzX3Zlcn0iIGlu
Ci0gICAgMVs0LTddKQorICAgIDFbNC02XSkKICAgICAgICMgVlMgaGFzIHVzZWQgRm9ybWF0IFZl
cnNpb24gMTIuMDAgY29udGludW91c2x5IHNpbmNlIHZzMTEuCiAgICAgICBzbG5fdmVycz0iMTIu
MDAiCiAgICAgICBzbG5fdmVyc19zdHI9IlZpc3VhbCBTdHVkaW8gJHt2c195ZWFyfSIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9nZW5fbXN2c192Y3hwcm9qLnNoIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC9idWlsZC9tYWtlL2dlbl9tc3ZzX3ZjeHByb2ouc2gKaW5kZXggMWUxZGIwNWJiMjMyLi5i
YjFjMzFkMjMwZGEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9nZW5fbXN2c192
Y3hwcm9qLnNoCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9nZW5fbXN2c192Y3hwcm9qLnNo
CkBAIC0xNDEsMTcgKzE0MSw3IEBAIGZvciBvcHQgaW4gIiRAIjsgZG8KICAgICBjYXNlICIkb3B0
IiBpbgogICAgICAgICAtLWhlbHB8LWgpIHNob3dfaGVscAogICAgICAgICA7OwotICAgICAgICAt
LXRhcmdldD0qKQotICAgICAgICAgICAgdGFyZ2V0PSIke29wdHZhbH0iCi0gICAgICAgICAgICBw
bGF0Zm9ybV90b29sc2V0PSQoZWNobyAke3RhcmdldH0gfCBhd2sgJ0JFR0lOe0ZTPSItIn17cHJp
bnQgJDR9JykKLSAgICAgICAgICAgIGNhc2UgIiRwbGF0Zm9ybV90b29sc2V0IiBpbgotICAgICAg
ICAgICAgICAgIGNsYW5nY2wpIHBsYXRmb3JtX3Rvb2xzZXQ9IkNsYW5nQ2wiCi0gICAgICAgICAg
ICAgICAgOzsKLSAgICAgICAgICAgICAgICAiIikKLSAgICAgICAgICAgICAgICA7OwotICAgICAg
ICAgICAgICAgICopIGRpZSBVbnJlY29nbml6ZWQgVmlzdWFsIFN0dWRpbyBQbGF0Zm9ybSBUb29s
c2V0IGluICRvcHQKLSAgICAgICAgICAgICAgICA7OwotICAgICAgICAgICAgZXNhYworICAgICAg
ICAtLXRhcmdldD0qKSB0YXJnZXQ9IiR7b3B0dmFsfSIKICAgICAgICAgOzsKICAgICAgICAgLS1v
dXQ9Kikgb3V0ZmlsZT0iJG9wdHZhbCIKICAgICAgICAgOzsKQEAgLTE2Nyw4ICsxNTcsNiBAQCBm
b3Igb3B0IGluICIkQCI7IGRvCiAgICAgICAgIDs7CiAgICAgICAgIC0tbGliKSBwcm9qX2tpbmQ9
ImxpYiIKICAgICAgICAgOzsKLSAgICAgICAgLS1hcz0qKSBhcz0iJHtvcHR2YWx9IgotICAgICAg
ICA7OwogICAgICAgICAtLXNyYy1wYXRoLWJhcmU9KikKICAgICAgICAgICAgIHNyY19wYXRoX2Jh
cmU9JChmaXhfcGF0aCAiJG9wdHZhbCIpCiAgICAgICAgICAgICBzcmNfcGF0aF9iYXJlPSR7c3Jj
X3BhdGhfYmFyZSUvfQpAQCAtMTgwLDcgKzE2OCw3IEBAIGZvciBvcHQgaW4gIiRAIjsgZG8KICAg
ICAgICAgLS12ZXI9KikKICAgICAgICAgICAgIHZzX3Zlcj0iJG9wdHZhbCIKICAgICAgICAgICAg
IGNhc2UgIiRvcHR2YWwiIGluCi0gICAgICAgICAgICAgICAgMVs0LTddKQorICAgICAgICAgICAg
ICAgIDFbNC02XSkKICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICopIGRpZSBV
bnJlY29nbml6ZWQgVmlzdWFsIFN0dWRpbyBWZXJzaW9uIGluICRvcHQKICAgICAgICAgICAgICAg
ICA7OwpAQCAtMjU5LDIwICsyNDcsMTYgQEAgbGlicz0ke2xpYnMvLyAvO30KIGNhc2UgIiR0YXJn
ZXQiIGluCiAgICAgeDg2XzY0KikKICAgICAgICAgcGxhdGZvcm1zWzBdPSJ4NjQiCi0gICAgICAg
IGFzbV9EZWJ1Z19jbWRsaW5lPSIke2FzfSAtWHZjIC1nY3Y4IC1mIHdpbjY0ICR7eWFzbWluY3N9
ICZxdW90OyUoRnVsbFBhdGgpJnF1b3Q7IgotICAgICAgICBhc21fUmVsZWFzZV9jbWRsaW5lPSIk
e2FzfSAtWHZjIC1mIHdpbjY0ICR7eWFzbWluY3N9ICZxdW90OyUoRnVsbFBhdGgpJnF1b3Q7Igor
ICAgICAgICBhc21fRGVidWdfY21kbGluZT0ieWFzbSAtWHZjIC1nIGN2OCAtZiB3aW42NCAke3lh
c21pbmNzfSAmcXVvdDslKEZ1bGxQYXRoKSZxdW90OyIKKyAgICAgICAgYXNtX1JlbGVhc2VfY21k
bGluZT0ieWFzbSAtWHZjIC1mIHdpbjY0ICR7eWFzbWluY3N9ICZxdW90OyUoRnVsbFBhdGgpJnF1
b3Q7IgogICAgIDs7CiAgICAgeDg2KikKICAgICAgICAgcGxhdGZvcm1zWzBdPSJXaW4zMiIKLSAg
ICAgICAgYXNtX0RlYnVnX2NtZGxpbmU9IiR7YXN9IC1YdmMgLWdjdjggLWYgd2luMzIgJHt5YXNt
aW5jc30gJnF1b3Q7JShGdWxsUGF0aCkmcXVvdDsiCi0gICAgICAgIGFzbV9SZWxlYXNlX2NtZGxp
bmU9IiR7YXN9IC1YdmMgLWYgd2luMzIgJHt5YXNtaW5jc30gJnF1b3Q7JShGdWxsUGF0aCkmcXVv
dDsiCisgICAgICAgIGFzbV9EZWJ1Z19jbWRsaW5lPSJ5YXNtIC1YdmMgLWcgY3Y4IC1mIHdpbjMy
ICR7eWFzbWluY3N9ICZxdW90OyUoRnVsbFBhdGgpJnF1b3Q7IgorICAgICAgICBhc21fUmVsZWFz
ZV9jbWRsaW5lPSJ5YXNtIC1YdmMgLWYgd2luMzIgJHt5YXNtaW5jc30gJnF1b3Q7JShGdWxsUGF0
aCkmcXVvdDsiCiAgICAgOzsKICAgICBhcm02NCopCiAgICAgICAgIHBsYXRmb3Jtc1swXT0iQVJN
NjQiCi0gICAgICAgICMgQXMgb2YgVmlzdWFsIFN0dWRpbyAyMDIyIDE3LjUuNSwgY2xhbmctY2wg
ZG9lcyBub3Qgc3VwcG9ydCBBUk02NEVDLgotICAgICAgICBpZiBbICIkdnNfdmVyIiAtZ2UgMTcg
LWEgIiRwbGF0Zm9ybV90b29sc2V0IiAhPSAiQ2xhbmdDbCIgXTsgdGhlbgotICAgICAgICAgICAg
cGxhdGZvcm1zWzFdPSJBUk02NEVDIgotICAgICAgICBmaQogICAgICAgICBhc21fRGVidWdfY21k
bGluZT0iYXJtYXNtNjQgLW5vbG9nbyAtb2xkaXQgJnF1b3Q7JShGdWxsUGF0aCkmcXVvdDsiCiAg
ICAgICAgIGFzbV9SZWxlYXNlX2NtZGxpbmU9ImFybWFzbTY0IC1ub2xvZ28gLW9sZGl0ICZxdW90
OyUoRnVsbFBhdGgpJnF1b3Q7IgogICAgIDs7CkBAIC0zNDksMjEgKzMzMywxNCBAQCBnZW5lcmF0
ZV92Y3hwcm9qKCkgewogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHRhZ19jb250
ZW50IENvbmZpZ3VyYXRpb25UeXBlIFN0YXRpY0xpYnJhcnkKICAgICAgICAgICAgIGZpCi0gICAg
ICAgICAgICBpZiBbIC1uICIkcGxhdGZvcm1fdG9vbHNldCIgXTsgdGhlbgotICAgICAgICAgICAg
ICAgIHRhZ19jb250ZW50IFBsYXRmb3JtVG9vbHNldCAiJHBsYXRmb3JtX3Rvb2xzZXQiCi0gICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaWYgWyAiJHZzX3ZlciIgPSAiMTQiIF07IHRo
ZW4KLSAgICAgICAgICAgICAgICAgICAgdGFnX2NvbnRlbnQgUGxhdGZvcm1Ub29sc2V0IHYxNDAK
LSAgICAgICAgICAgICAgICBmaQotICAgICAgICAgICAgICAgIGlmIFsgIiR2c192ZXIiID0gIjE1
IiBdOyB0aGVuCi0gICAgICAgICAgICAgICAgICAgIHRhZ19jb250ZW50IFBsYXRmb3JtVG9vbHNl
dCB2MTQxCi0gICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAgICBpZiBbICIkdnNfdmVy
IiA9ICIxNiIgXTsgdGhlbgotICAgICAgICAgICAgICAgICAgICB0YWdfY29udGVudCBQbGF0Zm9y
bVRvb2xzZXQgdjE0MgotICAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICAgICAgaWYgWyAi
JHZzX3ZlciIgPSAiMTciIF07IHRoZW4KLSAgICAgICAgICAgICAgICAgICAgdGFnX2NvbnRlbnQg
UGxhdGZvcm1Ub29sc2V0IHYxNDMKLSAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgaWYg
WyAiJHZzX3ZlciIgPSAiMTQiIF07IHRoZW4KKyAgICAgICAgICAgICAgICB0YWdfY29udGVudCBQ
bGF0Zm9ybVRvb2xzZXQgdjE0MAorICAgICAgICAgICAgZmkKKyAgICAgICAgICAgIGlmIFsgIiR2
c192ZXIiID0gIjE1IiBdOyB0aGVuCisgICAgICAgICAgICAgICAgdGFnX2NvbnRlbnQgUGxhdGZv
cm1Ub29sc2V0IHYxNDEKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBpZiBbICIkdnNfdmVy
IiA9ICIxNiIgXTsgdGhlbgorICAgICAgICAgICAgICAgIHRhZ19jb250ZW50IFBsYXRmb3JtVG9v
bHNldCB2MTQyCiAgICAgICAgICAgICBmaQogICAgICAgICAgICAgdGFnX2NvbnRlbnQgQ2hhcmFj
dGVyU2V0IFVuaWNvZGUKICAgICAgICAgICAgIGlmIFsgIiRjb25maWciID0gIlJlbGVhc2UiIF07
IHRoZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9tc3ZzX2NvbW1vbi5zaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9tc3ZzX2NvbW1vbi5zaAppbmRleCAzOTg5ZmVjMGQ1MTgu
LjI3ZGRmN2ZkOTFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL21zdnNfY29t
bW9uLnNoCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9tc3ZzX2NvbW1vbi5zaApAQCAtOSw4
ICs5LDcgQEAKICMjICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9m
IHRoZSBzb3VyY2UgdHJlZS4KICMjCiAKLXNoZWxsX25hbWU9IiQodW5hbWUgLW8gMj4vZGV2L251
bGwpIgotaWYgW1sgIiRzaGVsbF9uYW1lIiA9ICJDeWd3aW4iIHx8ICIkc2hlbGxfbmFtZSIgPSAi
TXN5cyIgXV0gXAoraWYgWyAiJCh1bmFtZSAtbyAyPi9kZXYvbnVsbCkiID0gIkN5Z3dpbiIgXSBc
CiAgICAmJiBjeWdwYXRoIC0taGVscCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICAgICBGSVhQQVRI
PSdjeWdwYXRoIC1tJwogZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL3J0
Y2QucGwgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L2J1aWxkL21ha2UvcnRjZC5wbAppbmRleCAxYTZiOTNkNWFlMjYu
LmFjYjlmNmU0NjY3MyAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL3J0Y2QucGwK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL3J0Y2QucGwKQEAgLTM4NywzNyArMzg3LDYgQEAg
RU9GCiAgIGNvbW1vbl9ib3R0b207CiB9CiAKLXN1YiBsb29uZ2FyY2goKSB7Ci0gIGRldGVybWlu
ZV9pbmRpcmVjdGlvbigiYyIsIEBBTExfQVJDSFMpOwotCi0gICMgQXNzaWduIHRoZSBoZWxwZXIg
dmFyaWFibGUgZm9yIGVhY2ggZW5hYmxlZCBleHRlbnNpb24KLSAgZm9yZWFjaCBteSAkb3B0IChA
QUxMX0FSQ0hTKSB7Ci0gICAgbXkgJG9wdF91YyA9IHVjICRvcHQ7Ci0gICAgZXZhbCAiXCRoYXZl
XyR7b3B0fT1cImZsYWdzICYgSEFTXyR7b3B0X3VjfVwiIjsKLSAgfQotCi0gIGNvbW1vbl90b3A7
Ci0gIHByaW50IDw8RU9GOwotI2luY2x1ZGUgInZweF9jb25maWcuaCIKLQotI2lmZGVmIFJUQ0Rf
QwotI2luY2x1ZGUgInZweF9wb3J0cy9sb29uZ2FyY2guaCIKLXN0YXRpYyB2b2lkIHNldHVwX3J0
Y2RfaW50ZXJuYWwodm9pZCkKLXsKLSAgICBpbnQgZmxhZ3MgPSBsb29uZ2FyY2hfY3B1X2NhcHMo
KTsKLQotICAgICh2b2lkKWZsYWdzOwotRU9GCi0KLSAgc2V0X2Z1bmN0aW9uX3BvaW50ZXJzKCJj
IiwgQEFMTF9BUkNIUyk7Ci0KLSAgcHJpbnQgPDxFT0Y7Ci19Ci0jZW5kaWYKLUVPRgotICBjb21t
b25fYm90dG9tOwotfQotCiBzdWIgdW5vcHRpbWl6ZWQoKSB7CiAgIGRldGVybWluZV9pbmRpcmVj
dGlvbiAiYyI7CiAgIGNvbW1vbl90b3A7CkBAIC00ODcsMTYgKzQ1NiwxMiBAQCBpZiAoJG9wdHN7
YXJjaH0gZXEgJ3g4NicpIHsKICAgQEFMTF9BUkNIUyA9IGZpbHRlcihxdy9uZW9uX2FzbSBuZW9u
Lyk7CiAgIGFybTsKIH0gZWxzaWYgKCRvcHRze2FyY2h9IGVxICdhcm12OCcgfHwgJG9wdHN7YXJj
aH0gZXEgJ2FybTY0JyApIHsKLSAgQEFMTF9BUkNIUyA9IGZpbHRlcihxdy9uZW9uIG5lb25fZG90
cHJvZCBuZW9uX2k4bW0vKTsKLSAgQFJFUVVJUkVTID0gZmlsdGVyKHF3L25lb24vKTsKLSAgJnJl
cXVpcmUoQFJFUVVJUkVTKTsKKyAgQEFMTF9BUkNIUyA9IGZpbHRlcihxdy9uZW9uLyk7CisgICZy
ZXF1aXJlKCJuZW9uIik7CiAgIGFybTsKIH0gZWxzaWYgKCRvcHRze2FyY2h9ID1+IC9ecHBjLyAp
IHsKICAgQEFMTF9BUkNIUyA9IGZpbHRlcihxdy92c3gvKTsKICAgcHBjOwotfSBlbHNpZiAoJG9w
dHN7YXJjaH0gPX4gL2xvb25nYXJjaC8gKSB7Ci0gIEBBTExfQVJDSFMgPSBmaWx0ZXIocXcvbHN4
IGxhc3gvKTsKLSAgbG9vbmdhcmNoOwogfSBlbHNlIHsKICAgdW5vcHRpbWl6ZWQ7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L2J1aWxkL21ha2UvdGh1bWIucG0gYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2J1aWxk
L21ha2UvdGh1bWIucG0KaW5kZXggZWY0YjMxNjc3MTA4Li45YzQ5ZTJkOGI3MjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS90aHVtYi5wbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2J1aWxk
L21ha2UvdGh1bWIucG0KQEAgLTExLDggKzExLDExIEBACiAKIHBhY2thZ2UgdGh1bWI7CiAKLXN1
YiBGaXhUaHVtYkluc3RydWN0aW9ucygkKQorc3ViIEZpeFRodW1iSW5zdHJ1Y3Rpb25zKCQkKQog
eworICAgIG15ICRzaG9ydF9icmFuY2hlcyA9ICRfWzFdOworICAgIG15ICRicmFuY2hfc2hpZnRf
b2Zmc2V0ID0gJHNob3J0X2JyYW5jaGVzID8gMSA6IDA7CisKICAgICAjIFdyaXRlIGFkZGl0aW9u
cyB3aXRoIHNoaWZ0cywgc3VjaCBhcyAiYWRkIHIxMCwgcjExLCBsc2wgIzgiLAogICAgICMgaW4g
dGhyZWUgb3BlcmFuZCBmb3JtLCAiYWRkIHIxMCwgcjEwLCByMTEsIGxzbCAjOCIuCiAgICAgcy8o
YWRkXHMrKShyXGQrKSxccyooclxkKyksXHMqKGxzbCAjXGQrKS8kMSQyLCAkMiwgJDMsICQ0L2c7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2NvbmZpZ3VyZSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvY29uZmlndXJl
CmluZGV4IDJjNjM4ZTVlNWE5NS4uZjdlMTFhYWYyZDRkIDEwMDc1NQotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L2NvbmZpZ3VyZQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2NvbmZpZ3VyZQpAQCAtMTAwLDE1ICsxMDAsOSBA
QCBFT0YKIGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3BsYXRmb3Jtc30gYXJtNjQtYW5kcm9pZC1nY2Mi
CiBhbGxfcGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IGFybTY0LWRhcndpbi1nY2MiCiBhbGxf
cGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IGFybTY0LWRhcndpbjIwLWdjYyIKLWFsbF9wbGF0
Zm9ybXM9IiR7YWxsX3BsYXRmb3Jtc30gYXJtNjQtZGFyd2luMjEtZ2NjIgotYWxsX3BsYXRmb3Jt
cz0iJHthbGxfcGxhdGZvcm1zfSBhcm02NC1kYXJ3aW4yMi1nY2MiCiBhbGxfcGxhdGZvcm1zPSIk
e2FsbF9wbGF0Zm9ybXN9IGFybTY0LWxpbnV4LWdjYyIKIGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3Bs
YXRmb3Jtc30gYXJtNjQtd2luNjQtZ2NjIgogYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1z
fSBhcm02NC13aW42NC12czE1IgotYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm02
NC13aW42NC12czE2IgotYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm02NC13aW42
NC12czE2LWNsYW5nY2wiCi1hbGxfcGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IGFybTY0LXdp
bjY0LXZzMTciCi1hbGxfcGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IGFybTY0LXdpbjY0LXZz
MTctY2xhbmdjbCIKIGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3BsYXRmb3Jtc30gYXJtdjctYW5kcm9p
ZC1nY2MiICAgI25lb24gQ29ydGV4LUE4CiBhbGxfcGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9
IGFybXY3LWRhcndpbi1nY2MiICAgICNuZW9uIENvcnRleC1BOAogYWxsX3BsYXRmb3Jtcz0iJHth
bGxfcGxhdGZvcm1zfSBhcm12Ny1saW51eC1ydmN0IiAgICAjbmVvbiBDb3J0ZXgtQTgKQEAgLTEx
NywxMiArMTExLDggQEAgYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm12Ny1ub25l
LXJ2Y3QiICAgICAjbmVvbiBDb3J0ZXgtQTgKIGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3BsYXRmb3Jt
c30gYXJtdjctd2luMzItZ2NjIgogYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm12
Ny13aW4zMi12czE0IgogYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm12Ny13aW4z
Mi12czE1IgotYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm12Ny13aW4zMi12czE2
IgotYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm12Ny13aW4zMi12czE3IgogYWxs
X3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSBhcm12N3MtZGFyd2luLWdjYyIKIGFsbF9wbGF0
Zm9ybXM9IiR7YWxsX3BsYXRmb3Jtc30gYXJtdjgtbGludXgtZ2NjIgotYWxsX3BsYXRmb3Jtcz0i
JHthbGxfcGxhdGZvcm1zfSBsb29uZ2FyY2gzMi1saW51eC1nY2MiCi1hbGxfcGxhdGZvcm1zPSIk
e2FsbF9wbGF0Zm9ybXN9IGxvb25nYXJjaDY0LWxpbnV4LWdjYyIKIGFsbF9wbGF0Zm9ybXM9IiR7
YWxsX3BsYXRmb3Jtc30gbWlwczMyLWxpbnV4LWdjYyIKIGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3Bs
YXRmb3Jtc30gbWlwczY0LWxpbnV4LWdjYyIKIGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3BsYXRmb3Jt
c30gcHBjNjRsZS1saW51eC1nY2MiCkBAIC0xNDksNyArMTM5LDYgQEAgYWxsX3BsYXRmb3Jtcz0i
JHthbGxfcGxhdGZvcm1zfSB4ODYtd2luMzItZ2NjIgogYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxh
dGZvcm1zfSB4ODYtd2luMzItdnMxNCIKIGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3BsYXRmb3Jtc30g
eDg2LXdpbjMyLXZzMTUiCiBhbGxfcGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IHg4Ni13aW4z
Mi12czE2IgotYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODYtd2luMzItdnMxNyIK
IGFsbF9wbGF0Zm9ybXM9IiR7YWxsX3BsYXRmb3Jtc30geDg2XzY0LWFuZHJvaWQtZ2NjIgogYWxs
X3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtZGFyd2luOS1nY2MiCiBhbGxfcGxh
dGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IHg4Nl82NC1kYXJ3aW4xMC1nY2MiCkBAIC0xNjMsOCAr
MTUyLDYgQEAgYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtZGFyd2luMTct
Z2NjIgogYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtZGFyd2luMTgtZ2Nj
IgogYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtZGFyd2luMTktZ2NjIgog
YWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtZGFyd2luMjAtZ2NjIgotYWxs
X3BsYXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtZGFyd2luMjEtZ2NjIgotYWxsX3Bs
YXRmb3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtZGFyd2luMjItZ2NjIgogYWxsX3BsYXRm
b3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtaXBob25lc2ltdWxhdG9yLWdjYyIKIGFsbF9w
bGF0Zm9ybXM9IiR7YWxsX3BsYXRmb3Jtc30geDg2XzY0LWxpbnV4LWdjYyIKIGFsbF9wbGF0Zm9y
bXM9IiR7YWxsX3BsYXRmb3Jtc30geDg2XzY0LWxpbnV4LWljYyIKQEAgLTE3Myw3ICsxNjAsNiBA
QCBhbGxfcGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IHg4Nl82NC13aW42NC1nY2MiCiBhbGxf
cGxhdGZvcm1zPSIke2FsbF9wbGF0Zm9ybXN9IHg4Nl82NC13aW42NC12czE0IgogYWxsX3BsYXRm
b3Jtcz0iJHthbGxfcGxhdGZvcm1zfSB4ODZfNjQtd2luNjQtdnMxNSIKIGFsbF9wbGF0Zm9ybXM9
IiR7YWxsX3BsYXRmb3Jtc30geDg2XzY0LXdpbjY0LXZzMTYiCi1hbGxfcGxhdGZvcm1zPSIke2Fs
bF9wbGF0Zm9ybXN9IHg4Nl82NC13aW42NC12czE3IgogYWxsX3BsYXRmb3Jtcz0iJHthbGxfcGxh
dGZvcm1zfSBnZW5lcmljLWdudSIKIAogIyBhbGxfdGFyZ2V0cyBpcyBhIGxpc3Qgb2YgYWxsIHRh
cmdldHMgdGhhdCBjYW4gYmUgY29uZmlndXJlZApAQCAtMjQ1LDIwICsyMzEsMTEgQEAgQ09ERUNf
RkFNSUxJRVM9IgogCiBBUkNIX0xJU1Q9IgogICAgIGFybQotICAgIGFhcmNoNjQKICAgICBtaXBz
CiAgICAgeDg2CiAgICAgeDg2XzY0CiAgICAgcHBjCi0gICAgbG9vbmdhcmNoCiAiCi0KLUFSQ0hf
RVhUX0xJU1RfQUFSQ0g2ND0iCi0gICAgbmVvbgotICAgIG5lb25fZG90cHJvZAotICAgIG5lb25f
aThtbQotIgotCiBBUkNIX0VYVF9MSVNUX1g4Nj0iCiAgICAgbW14CiAgICAgc3NlCkBAIC0yNzMs
MTMgKzI1MCwxMSBAQCBBUkNIX0VYVF9MSVNUX1g4Nj0iCiAKIEFSQ0hfRVhUX0xJU1RfTE9PTkdT
T049IgogICAgIG1taQotICAgIGxzeAotICAgIGxhc3gKICIKIAogQVJDSF9FWFRfTElTVD0iCisg
ICAgbmVvbgogICAgIG5lb25fYXNtCi0gICAgJHtBUkNIX0VYVF9MSVNUX0FBUkNINjR9CiAKICAg
ICBtaXBzMzIKICAgICBkc3ByMgpAQCAtMzAzLDcgKzI3OCw2IEBAIEVYUEVSSU1FTlRfTElTVD0i
CiAgICAgZW11bGF0ZV9oYXJkd2FyZQogICAgIG5vbl9ncmVlZHlfbXYKICAgICByYXRlX2N0cmwK
LSAgICBjb2xsZWN0X2NvbXBvbmVudF90aW1pbmcKICIKIENPTkZJR19MSVNUPSIKICAgICBkZXBl
bmRlbmN5X3RyYWNraW5nCkBAIC0zNTMsNiArMzI3LDcgQEAgQ09ORklHX0xJU1Q9IgogICAgIG11
bHRpX3Jlc19lbmNvZGluZwogICAgIHRlbXBvcmFsX2Rlbm9pc2luZwogICAgIHZwOV90ZW1wb3Jh
bF9kZW5vaXNpbmcKKyAgICBjb25zaXN0ZW50X3JlY29kZQogICAgIGNvZWZmaWNpZW50X3Jhbmdl
X2NoZWNraW5nCiAgICAgdnA5X2hpZ2hiaXRkZXB0aAogICAgIGJldHRlcl9od19jb21wYXRpYmls
aXR5CkBAIC00MTYsNiArMzkxLDcgQEAgQ01ETElORV9TRUxFQ1Q9IgogICAgIG11bHRpX3Jlc19l
bmNvZGluZwogICAgIHRlbXBvcmFsX2Rlbm9pc2luZwogICAgIHZwOV90ZW1wb3JhbF9kZW5vaXNp
bmcKKyAgICBjb25zaXN0ZW50X3JlY29kZQogICAgIGNvZWZmaWNpZW50X3JhbmdlX2NoZWNraW5n
CiAgICAgYmV0dGVyX2h3X2NvbXBhdGliaWxpdHkKICAgICB2cDlfaGlnaGJpdGRlcHRoCkBAIC02
NDQsMTAgKzYyMCw3IEBAIHByb2Nlc3NfdG9vbGNoYWluKCkgewogICAgICAgICBjaGVja19hZGRf
Y2ZsYWdzIC1XYWxsCiAgICAgICAgIGNoZWNrX2FkZF9jZmxhZ3MgLVdkZWNsYXJhdGlvbi1hZnRl
ci1zdGF0ZW1lbnQKICAgICAgICAgY2hlY2tfYWRkX2NmbGFncyAtV2Rpc2FibGVkLW9wdGltaXph
dGlvbgotICAgICAgICBjaGVja19hZGRfY2ZsYWdzIC1XZXh0cmEtc2VtaQotICAgICAgICBjaGVj
a19hZGRfY2ZsYWdzIC1XZXh0cmEtc2VtaS1zdG10CiAgICAgICAgIGNoZWNrX2FkZF9jZmxhZ3Mg
LVdmbG9hdC1jb252ZXJzaW9uCi0gICAgICAgIGNoZWNrX2FkZF9jZmxhZ3MgLVdmb3JtYXQ9Mgog
ICAgICAgICBjaGVja19hZGRfY2ZsYWdzIC1XcGFyZW50aGVzZXMtZXF1YWxpdHkKICAgICAgICAg
Y2hlY2tfYWRkX2NmbGFncyAtV3BvaW50ZXItYXJpdGgKICAgICAgICAgY2hlY2tfYWRkX2NmbGFn
cyAtV3R5cGUtbGltaXRzCkBAIC02NTYsOSArNjI5LDggQEAgcHJvY2Vzc190b29sY2hhaW4oKSB7
CiAgICAgICAgIGNoZWNrX2FkZF9jZmxhZ3MgLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlv
bgogICAgICAgICBjaGVja19hZGRfY2ZsYWdzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMKICAgICAg
ICAgY2hlY2tfYWRkX2NmbGFncyAtV21pc3NpbmctcHJvdG90eXBlcwotICAgICAgICBjaGVja19h
ZGRfY2ZsYWdzIC1Xc2hhZG93CiAgICAgICAgIGNoZWNrX2FkZF9jZmxhZ3MgLVd1bmluaXRpYWxp
emVkCi0gICAgICAgIGNoZWNrX2FkZF9jZmxhZ3MgLVd1bnJlYWNoYWJsZS1jb2RlLWFnZ3Jlc3Np
dmUKKyAgICAgICAgY2hlY2tfYWRkX2NmbGFncyAtV3VucmVhY2hhYmxlLWNvZGUtbG9vcC1pbmNy
ZW1lbnQKICAgICAgICAgY2hlY2tfYWRkX2NmbGFncyAtV3VudXNlZAogICAgICAgICBjaGVja19h
ZGRfY2ZsYWdzIC1XZXh0cmEKICAgICAgICAgIyBjaGVja19hZGRfY2ZsYWdzIGFsc28gYWRkcyB0
byBjeHhmbGFncy4gZ3Rlc3QgZG9lcyBub3QgZG8gd2VsbCB3aXRoCkBAIC02ODIsMjIgKzY1NCwx
MSBAQCBwcm9jZXNzX3Rvb2xjaGFpbigpIHsKICAgICAgICAgICBjaGVja19hZGRfY3h4ZmxhZ3Mg
LVduby1wc2FiaQogICAgICAgICBmaQogCi0gICAgICAgICMgRW5mb3JjZSBDKysxMSBjb21wYXRp
YmlsaXR5LgotICAgICAgICBjaGVja19hZGRfY3h4ZmxhZ3MgLVdjKysxNC1leHRlbnNpb25zCi0g
ICAgICAgIGNoZWNrX2FkZF9jeHhmbGFncyAtV2MrKzE3LWV4dGVuc2lvbnMKLSAgICAgICAgY2hl
Y2tfYWRkX2N4eGZsYWdzIC1XYysrMjAtZXh0ZW5zaW9ucwotICAgICAgICBjaGVja19hZGRfY3h4
ZmxhZ3MgLVdub24tdmlydHVhbC1kdG9yCi0KLSAgICAgICAgIyBkaXNhYmxlIHNvbWUgd2Fybmlu
Z3Mgc3BlY2lmaWMgdG8gbGlieXV2IC8gbGlid2VibS4KKyAgICAgICAgIyBkaXNhYmxlIHNvbWUg
d2FybmluZ3Mgc3BlY2lmaWMgdG8gbGlieXV2LgogICAgICAgICBjaGVja19jeHhmbGFncyAtV25v
LW1pc3NpbmctZGVjbGFyYXRpb25zIFwKICAgICAgICAgICAmJiBMSUJZVVZfQ1hYRkxBR1M9IiR7
TElCWVVWX0NYWEZMQUdTfSAtV25vLW1pc3NpbmctZGVjbGFyYXRpb25zIgogICAgICAgICBjaGVj
a19jeHhmbGFncyAtV25vLW1pc3NpbmctcHJvdG90eXBlcyBcCiAgICAgICAgICAgJiYgTElCWVVW
X0NYWEZMQUdTPSIke0xJQllVVl9DWFhGTEFHU30gLVduby1taXNzaW5nLXByb3RvdHlwZXMiCi0g
ICAgICAgIGNoZWNrX2N4eGZsYWdzIC1Xbm8tcGFzcy1mYWlsZWQgXAotICAgICAgICAgICYmIExJ
QllVVl9DWFhGTEFHUz0iJHtMSUJZVVZfQ1hYRkxBR1N9IC1Xbm8tcGFzcy1mYWlsZWQiCi0gICAg
ICAgIGNoZWNrX2N4eGZsYWdzIC1Xbm8tc2hhZG93IFwKLSAgICAgICAgICAmJiBMSUJXRUJNX0NY
WEZMQUdTPSIke0xJQldFQk1fQ1hYRkxBR1N9IC1Xbm8tc2hhZG93IiBcCi0gICAgICAgICAgJiYg
TElCWVVWX0NYWEZMQUdTPSIke0xJQllVVl9DWFhGTEFHU30gLVduby1zaGFkb3ciCiAgICAgICAg
IGNoZWNrX2N4eGZsYWdzIC1Xbm8tdW51c2VkLXBhcmFtZXRlciBcCiAgICAgICAgICAgJiYgTElC
WVVWX0NYWEZMQUdTPSIke0xJQllVVl9DWFhGTEFHU30gLVduby11bnVzZWQtcGFyYW1ldGVyIgog
ICAgIGZpCkBAIC03NzAsMzMgKzczMSwzMyBAQCBwcm9jZXNzX3Rvb2xjaGFpbigpIHsKICAgICAg
ICAgICAgIHNvZnRfZW5hYmxlIGxpYnl1dgogICAgICAgICA7OwogICAgICAgICAqLWFuZHJvaWQt
KikKLSAgICAgICAgICAgIGNoZWNrX2FkZF9jeHhmbGFncyAtc3RkPWdudSsrMTEgJiYgc29mdF9l
bmFibGUgd2VibV9pbworICAgICAgICAgICAgY2hlY2tfYWRkX2N4eGZsYWdzIC1zdGQ9YysrMTEg
JiYgc29mdF9lbmFibGUgd2VibV9pbwogICAgICAgICAgICAgc29mdF9lbmFibGUgbGlieXV2CiAg
ICAgICAgICAgICAjIEdUZXN0TG9nIG11c3QgYmUgbW9kaWZpZWQgdG8gdXNlIEFuZHJvaWQgbG9n
Z2luZyB1dGlsaXRpZXMuCiAgICAgICAgIDs7CiAgICAgICAgICotZGFyd2luLSopCi0gICAgICAg
ICAgICBjaGVja19hZGRfY3h4ZmxhZ3MgLXN0ZD1nbnUrKzExCisgICAgICAgICAgICBjaGVja19h
ZGRfY3h4ZmxhZ3MgLXN0ZD1jKysxMQogICAgICAgICAgICAgIyBpT1MvQVJNIGJ1aWxkcyBkbyBu
b3Qgd29yayB3aXRoIGd0ZXN0LiBUaGlzIGRvZXMgbm90IG1hdGNoCiAgICAgICAgICAgICAjIHg4
NiB0YXJnZXRzLgogICAgICAgICA7OwogICAgICAgICAqLWlwaG9uZXNpbXVsYXRvci0qKQotICAg
ICAgICAgICAgY2hlY2tfYWRkX2N4eGZsYWdzIC1zdGQ9Z251KysxMSAmJiBzb2Z0X2VuYWJsZSB3
ZWJtX2lvCisgICAgICAgICAgICBjaGVja19hZGRfY3h4ZmxhZ3MgLXN0ZD1jKysxMSAmJiBzb2Z0
X2VuYWJsZSB3ZWJtX2lvCiAgICAgICAgICAgICBzb2Z0X2VuYWJsZSBsaWJ5dXYKICAgICAgICAg
OzsKICAgICAgICAgKi13aW4qKQogICAgICAgICAgICAgIyBTb21lIG1pbmd3IHRvb2xjaGFpbnMg
ZG9uJ3QgaGF2ZSBwdGhyZWFkIGF2YWlsYWJsZSBieSBkZWZhdWx0LgogICAgICAgICAgICAgIyBU
cmVhdCB0aGVzZSBtb3JlIGxpa2UgdmlzdWFsIHN0dWRpbyB3aGVyZSB0aHJlYWRpbmcgaW4gZ3Rl
c3QKICAgICAgICAgICAgICMgd291bGQgYmUgZGlzYWJsZWQgZm9yIHRoZSBzYW1lIHJlYXNvbi4K
LSAgICAgICAgICAgIGNoZWNrX2FkZF9jeHhmbGFncyAtc3RkPWdudSsrMTEgJiYgc29mdF9lbmFi
bGUgdW5pdF90ZXN0cyBcCisgICAgICAgICAgICBjaGVja19hZGRfY3h4ZmxhZ3MgLXN0ZD1jKysx
MSAmJiBzb2Z0X2VuYWJsZSB1bml0X3Rlc3RzIFwKICAgICAgICAgICAgICAgJiYgc29mdF9lbmFi
bGUgd2VibV9pbwogICAgICAgICAgICAgY2hlY2tfY3h4ICIkQCIgPDxFT0YgJiYgc29mdF9lbmFi
bGUgbGlieXV2CiBpbnQgejsKIEVPRgogICAgICAgICA7OwogICAgICAgICAqKQotICAgICAgICAg
ICAgZW5hYmxlZCBwdGhyZWFkX2ggJiYgY2hlY2tfYWRkX2N4eGZsYWdzIC1zdGQ9Z251KysxMSBc
CisgICAgICAgICAgICBlbmFibGVkIHB0aHJlYWRfaCAmJiBjaGVja19hZGRfY3h4ZmxhZ3MgLXN0
ZD1jKysxMSBcCiAgICAgICAgICAgICAgICYmIHNvZnRfZW5hYmxlIHVuaXRfdGVzdHMKLSAgICAg
ICAgICAgIGNoZWNrX2FkZF9jeHhmbGFncyAtc3RkPWdudSsrMTEgJiYgc29mdF9lbmFibGUgd2Vi
bV9pbworICAgICAgICAgICAgY2hlY2tfYWRkX2N4eGZsYWdzIC1zdGQ9YysrMTEgJiYgc29mdF9l
bmFibGUgd2VibV9pbwogICAgICAgICAgICAgY2hlY2tfY3h4ICIkQCIgPDxFT0YgJiYgc29mdF9l
bmFibGUgbGlieXV2CiBpbnQgejsKIEVPRgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9leGFtcGxl
cy5tayBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMubWsKaW5kZXggMjI3MjZhM2Q0MTE5Li5hMjhlNTI5
MzU5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMubWsKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC9leGFtcGxlcy5tawpAQCAtNTcsNyArNTcsNiBAQCBMSUJXRUJNX1BBUlNFUl9TUkNTID0gdGhp
cmRfcGFydHkvbGlid2VibS9ta3ZwYXJzZXIvbWt2cGFyc2VyLmNjIFwKICMgQWRkIGNvbXBpbGUg
ZmxhZ3MgYW5kIGluY2x1ZGUgcGF0aCBmb3IgbGlid2VibSBzb3VyY2VzLgogaWZlcSAoJChDT05G
SUdfV0VCTV9JTykseWVzKQogICBDWFhGTEFHUyAgICAgKz0gLURfX1NURENfQ09OU1RBTlRfTUFD
Uk9TIC1EX19TVERDX0xJTUlUX01BQ1JPUwotICAkKEJVSUxEX1BGWCl0aGlyZF9wYXJ0eS9saWJ3
ZWJtLyUuY2MubzogQ1hYRkxBR1MgKz0gJChMSUJXRUJNX0NYWEZMQUdTKQogICBJTkNfUEFUSC15
ZXMgKz0gJChTUkNfUEFUSF9CQVJFKS90aGlyZF9wYXJ0eS9saWJ3ZWJtCiBlbmRpZgogCkBAIC04
Miw2ICs4MSw4IEBAIGlmZXEgKCQoQ09ORklHX0xJQllVVikseWVzKQogICAkKEJVSUxEX1BGWCl0
aGlyZF9wYXJ0eS9saWJ5dXYvJS5jYy5vOiBDWFhGTEFHUyArPSAke0xJQllVVl9DWFhGTEFHU30K
IGVuZGlmCiBpZmVxICgkKENPTkZJR19XRUJNX0lPKSx5ZXMpCisgIHZweGRlYy5TUkNTICAgICAg
ICAgICAgICAgICArPSAkKExJQldFQk1fQ09NTU9OX1NSQ1MpCisgIHZweGRlYy5TUkNTICAgICAg
ICAgICAgICAgICArPSAkKExJQldFQk1fTVVYRVJfU1JDUykKICAgdnB4ZGVjLlNSQ1MgICAgICAg
ICAgICAgICAgICs9ICQoTElCV0VCTV9QQVJTRVJfU1JDUykKICAgdnB4ZGVjLlNSQ1MgICAgICAg
ICAgICAgICAgICs9IHdlYm1kZWMuY2Mgd2VibWRlYy5oCiBlbmRpZgpAQCAtMzc1LDcgKzM3Niw2
IEBAICQoMSk6ICQoJCgxOi4kKFZDUFJPSl9TRlgpPSkuU1JDUykgdnB4LiQoVkNQUk9KX1NGWCkK
ICAgICAgICAgICAgIC0tdmVyPSQkKENPTkZJR19WU19WRVJTSU9OKVwKICAgICAgICAgICAgIC0t
cHJvai1ndWlkPSQkKCQkKEA6LiQoVkNQUk9KX1NGWCk9KS5HVUlEKVwKICAgICAgICAgICAgIC0t
c3JjLXBhdGgtYmFyZT0iJChTUkNfUEFUSF9CQVJFKSIgXAotICAgICAgICAgICAgLS1hcz0kJChB
UykgXAogICAgICAgICAgICAgJCQoaWYgJCQoQ09ORklHX1NUQVRJQ19NU1ZDUlQpLC0tc3RhdGlj
LWNydCkgXAogICAgICAgICAgICAgLS1vdXQ9JCRAICQkKElOVEVSTkFMX0NGTEFHUykgJCQoQ0ZM
QUdTKSBcCiAgICAgICAgICAgICAkJChJTlRFUk5BTF9MREZMQUdTKSAkJChMREZMQUdTKSAtbCQk
KENPREVDX0xJQikgJCReCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3Bvc3Rwcm9j
LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3Bvc3Rwcm9jLmMKaW5kZXggYjUzYzE1ZWExNTEwLi5i
ZTk5OWI0MjllN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMvcG9zdHByb2MuYwor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3Bvc3Rwcm9jLmMKQEAgLTEwOSw3ICsxMDksNyBAQCBp
bnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMCB9OwogICAgICAgaWYgKHZweF9jb2RlY19jb250cm9sKCZjb2RlYywgVlA4X1NF
VF9QT1NUUFJPQywgJnBwKSkKICAgICAgICAgZGllX2NvZGVjKCZjb2RlYywgIkZhaWxlZCB0byB0
dXJuIG9uIHBvc3Rwcm9jLiIpOwotICAgIH0KKyAgICB9OwogCiAgICAgLy8gRGVjb2RlIHRoZSBm
cmFtZSB3aXRoIDE1bXMgZGVhZGxpbmUKICAgICBpZiAodnB4X2NvZGVjX2RlY29kZSgmY29kZWMs
IGZyYW1lLCAodW5zaWduZWQgaW50KWZyYW1lX3NpemUsIE5VTEwsIDE1MDAwKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMvcmVzaXplX3V0aWwuYyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBs
ZXMvcmVzaXplX3V0aWwuYwppbmRleCA1ZmI2M2UxNjYwMTUuLjdlNTI5YjJlMjAzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC9leGFtcGxlcy9yZXNpemVfdXRpbC5jCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
ZXhhbXBsZXMvcmVzaXplX3V0aWwuYwpAQCAtNTIsNyArNTIsNiBAQCBpbnQgbWFpbihpbnQgYXJn
YywgY2hhciAqYXJndltdKSB7CiAgIHVpbnQ4X3QgKmluYnVmX3YsICpvdXRidWZfdjsKICAgaW50
IGYsIGZyYW1lczsKICAgaW50IHdpZHRoLCBoZWlnaHQsIHRhcmdldF93aWR0aCwgdGFyZ2V0X2hl
aWdodDsKLSAgaW50IGZhaWxlZCA9IDA7CiAKICAgZXhlY19uYW1lID0gYXJndlswXTsKIApAQCAt
ODMsNyArODIsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CiAgIH0KICAg
ZnBvdXQgPSBmb3Blbihmb3V0LCAid2IiKTsKICAgaWYgKGZwb3V0ID09IE5VTEwpIHsKLSAgICBm
Y2xvc2UoZnBpbik7CiAgICAgcHJpbnRmKCJDYW4ndCBvcGVuIGZpbGUgJXMgdG8gd3JpdGVcbiIs
IGZvdXQpOwogICAgIHVzYWdlKCk7CiAgICAgcmV0dXJuIDE7CkBAIC0xMDIsMTEgKzEwMCw2IEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKIAogICBpbmJ1ZiA9ICh1aW50OF90
ICopbWFsbG9jKHdpZHRoICogaGVpZ2h0ICogMyAvIDIpOwogICBvdXRidWYgPSAodWludDhfdCAq
KW1hbGxvYyh0YXJnZXRfd2lkdGggKiB0YXJnZXRfaGVpZ2h0ICogMyAvIDIpOwotICBpZiAoIShp
bmJ1ZiAmJiBvdXRidWYpKSB7Ci0gICAgcHJpbnRmKCJGYWlsZWQgdG8gYWxsb2NhdGUgYnVmZmVy
cy5cbiIpOwotICAgIGZhaWxlZCA9IDE7Ci0gICAgZ290byBFcnJvcjsKLSAgfQogICBpbmJ1Zl91
ID0gaW5idWYgKyB3aWR0aCAqIGhlaWdodDsKICAgaW5idWZfdiA9IGluYnVmX3UgKyB3aWR0aCAq
IGhlaWdodCAvIDQ7CiAgIG91dGJ1Zl91ID0gb3V0YnVmICsgdGFyZ2V0X3dpZHRoICogdGFyZ2V0
X2hlaWdodDsKQEAgLTEyMSwxMSArMTE0LDEwIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICph
cmd2W10pIHsKICAgICBmKys7CiAgIH0KICAgcHJpbnRmKCIlZCBmcmFtZXMgcHJvY2Vzc2VkXG4i
LCBmKTsKLUVycm9yOgogICBmY2xvc2UoZnBpbik7CiAgIGZjbG9zZShmcG91dCk7CiAKICAgZnJl
ZShpbmJ1Zik7CiAgIGZyZWUob3V0YnVmKTsKLSAgcmV0dXJuIGZhaWxlZDsKKyAgcmV0dXJuIDA7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3N2Y19lbmNvZGVmcmFtZS5jIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC9leGFtcGxlcy9zdmNfZW5jb2RlZnJhbWUuYwppbmRleCAxZGQ3MzE3NjVjZTUu
LmE3M2VlOGVkNjYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9leGFtcGxlcy9zdmNfZW5jb2Rl
ZnJhbWUuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3N2Y19lbmNvZGVmcmFtZS5jCkBAIC0y
MSw3ICsyMSw2IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAj
ZGVmaW5lIFZQWF9ESVNBQkxFX0NUUkxfVFlQRUNIRUNLUyAxCi0jaW5jbHVkZSAiLi4vdG9vbHNf
Y29tbW9uLmgiCiAjaW5jbHVkZSAiLi92cHhfY29uZmlnLmgiCiAjaW5jbHVkZSAiLi9zdmNfY29u
dGV4dC5oIgogI2luY2x1ZGUgInZweC92cDhjeC5oIgpAQCAtOTYsOSArOTUsOCBAQCBzdGF0aWMg
Y29uc3QgU3ZjSW50ZXJuYWxfdCAqZ2V0X2NvbnN0X3N2Y19pbnRlcm5hbChjb25zdCBTdmNDb250
ZXh0ICpzdmNfY3R4KSB7CiAgIHJldHVybiAoY29uc3QgU3ZjSW50ZXJuYWxfdCAqKXN2Y19jdHgt
PmludGVybmFsOwogfQogCi1zdGF0aWMgVlBYX1RPT0xTX0ZPUk1BVF9QUklOVEYoMywgNCkgaW50
IHN2Y19sb2coU3ZjQ29udGV4dCAqc3ZjX2N0eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTVkNfTE9HX0xFVkVMIGxldmVsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4u
KSB7CitzdGF0aWMgaW50IHN2Y19sb2coU3ZjQ29udGV4dCAqc3ZjX2N0eCwgU1ZDX0xPR19MRVZF
TCBsZXZlbCwgY29uc3QgY2hhciAqZm10LAorICAgICAgICAgICAgICAgICAgIC4uLikgewogICBj
aGFyIGJ1Zls1MTJdOwogICBpbnQgcmV0dmFsID0gMDsKICAgdmFfbGlzdCBhcDsKQEAgLTI2Niw3
ICsyNjQsNyBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IHBhcnNlX29wdGlvbnMoU3ZjQ29udGV4
dCAqc3ZjX2N0eCwgY29uc3QgY2hhciAqb3B0aW9ucykgewogICBpZiAoYWx0X3JlZl9lbmFibGVk
ID4gUkVGX0ZSQU1FUyAtIHN2Y19jdHgtPnNwYXRpYWxfbGF5ZXJzKSB7CiAgICAgc3ZjX2xvZyhz
dmNfY3R4LCBTVkNfTE9HX0VSUk9SLAogICAgICAgICAgICAgInN2YzogYXV0byBhbHQgcmVmOiBN
YXhpbnVtICVkKFJFRl9GUkFNRVMgLSBsYXllcnMpIGxheWVycyBjb3VsZCIKLSAgICAgICAgICAg
ICJlbmFibGVkIGF1dG8gYWx0IHJlZmVyZW5jZSBmcmFtZSwgYnV0ICVkIGxheWVycyBhcmUgZW5h
YmxlZFxuIiwKKyAgICAgICAgICAgICJlbmFibGVkIGF1dG8gYWx0IHJlZmVyZW5jZSBmcmFtZSwg
YnV0ICUgbGF5ZXJzIGFyZSBlbmFibGVkXG4iLAogICAgICAgICAgICAgUkVGX0ZSQU1FUyAtIHN2
Y19jdHgtPnNwYXRpYWxfbGF5ZXJzLCBhbHRfcmVmX2VuYWJsZWQpOwogICAgIHJlcyA9IFZQWF9D
T0RFQ19JTlZBTElEX1BBUkFNOwogICB9CkBAIC0yNzksNyArMjc3LDcgQEAgdnB4X2NvZGVjX2Vy
cl90IHZweF9zdmNfc2V0X29wdGlvbnMoU3ZjQ29udGV4dCAqc3ZjX2N0eCwgY29uc3QgY2hhciAq
b3B0aW9ucykgewogICBpZiAoc3ZjX2N0eCA9PSBOVUxMIHx8IG9wdGlvbnMgPT0gTlVMTCB8fCBz
aSA9PSBOVUxMKSB7CiAgICAgcmV0dXJuIFZQWF9DT0RFQ19JTlZBTElEX1BBUkFNOwogICB9Ci0g
IHN0cm5jcHkoc2ktPm9wdGlvbnMsIG9wdGlvbnMsIHNpemVvZihzaS0+b3B0aW9ucykgLSAxKTsK
KyAgc3RybmNweShzaS0+b3B0aW9ucywgb3B0aW9ucywgc2l6ZW9mKHNpLT5vcHRpb25zKSk7CiAg
IHNpLT5vcHRpb25zW3NpemVvZihzaS0+b3B0aW9ucykgLSAxXSA9ICdcMCc7CiAgIHJldHVybiBW
UFhfQ09ERUNfT0s7CiB9CkBAIC0zODEsNyArMzc5LDcgQEAgdnB4X2NvZGVjX2Vycl90IHZweF9z
dmNfaW5pdChTdmNDb250ZXh0ICpzdmNfY3R4LCB2cHhfY29kZWNfY3R4X3QgKmNvZGVjX2N0eCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnB4X2NvZGVjX2lmYWNlX3QgKmlmYWNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhfY29kZWNfZW5jX2NmZ190ICplbmNfY2Zn
KSB7CiAgIHZweF9jb2RlY19lcnJfdCByZXM7Ci0gIGludCBzbCwgdGw7CisgIGludCBpLCBzbCwg
dGw7CiAgIFN2Y0ludGVybmFsX3QgKmNvbnN0IHNpID0gZ2V0X3N2Y19pbnRlcm5hbChzdmNfY3R4
KTsKICAgaWYgKHN2Y19jdHggPT0gTlVMTCB8fCBjb2RlY19jdHggPT0gTlVMTCB8fCBpZmFjZSA9
PSBOVUxMIHx8CiAgICAgICBlbmNfY2ZnID09IE5VTEwpIHsKQEAgLTQzMyw3ICs0MzEsNyBAQCB2
cHhfY29kZWNfZXJyX3QgdnB4X3N2Y19pbml0KFN2Y0NvbnRleHQgKnN2Y19jdHgsIHZweF9jb2Rl
Y19jdHhfdCAqY29kZWNfY3R4LAogICB9CiAgIGZvciAodGwgPSAwOyB0bCA8IHN2Y19jdHgtPnRl
bXBvcmFsX2xheWVyczsgKyt0bCkgewogICAgIGZvciAoc2wgPSAwOyBzbCA8IHN2Y19jdHgtPnNw
YXRpYWxfbGF5ZXJzOyArK3NsKSB7Ci0gICAgICBjb25zdCBpbnQgaSA9IHNsICogc3ZjX2N0eC0+
dGVtcG9yYWxfbGF5ZXJzICsgdGw7CisgICAgICBpID0gc2wgKiBzdmNfY3R4LT50ZW1wb3JhbF9s
YXllcnMgKyB0bDsKICAgICAgIHNpLT5zdmNfcGFyYW1zLm1heF9xdWFudGl6ZXJzW2ldID0gTUFY
X1FVQU5USVpFUjsKICAgICAgIHNpLT5zdmNfcGFyYW1zLm1pbl9xdWFudGl6ZXJzW2ldID0gMDsK
ICAgICAgIGlmIChlbmNfY2ZnLT5yY19lbmRfdXNhZ2UgPT0gVlBYX0NCUiAmJgpAQCAtNDU4LDEx
ICs0NTYsMTAgQEAgdnB4X2NvZGVjX2Vycl90IHZweF9zdmNfaW5pdChTdmNDb250ZXh0ICpzdmNf
Y3R4LCB2cHhfY29kZWNfY3R4X3QgKmNvZGVjX2N0eCwKICAgICBzdmNfY3R4LT50ZW1wb3JhbF9s
YXllcnMgPSBWUFhfVFNfTUFYX0xBWUVSUzsKIAogICBpZiAoc3ZjX2N0eC0+dGVtcG9yYWxfbGF5
ZXJzICogc3ZjX2N0eC0+c3BhdGlhbF9sYXllcnMgPiBWUFhfTUFYX0xBWUVSUykgewotICAgIHN2
Y19sb2coCi0gICAgICAgIHN2Y19jdHgsIFNWQ19MT0dfRVJST1IsCi0gICAgICAgICJzcGF0aWFs
IGxheWVycyAqIHRlbXBvcmFsIGxheWVycyAoJWQpIGV4Y2VlZHMgdGhlIG1heGltdW0gbnVtYmVy
IG9mICIKLSAgICAgICAgImFsbG93ZWQgbGF5ZXJzIG9mICVkXG4iLAotICAgICAgICBzdmNfY3R4
LT5zcGF0aWFsX2xheWVycyAqIHN2Y19jdHgtPnRlbXBvcmFsX2xheWVycywgVlBYX01BWF9MQVlF
UlMpOworICAgIHN2Y19sb2coc3ZjX2N0eCwgU1ZDX0xPR19FUlJPUiwKKyAgICAgICAgICAgICJz
cGF0aWFsIGxheWVycyAqIHRlbXBvcmFsIGxheWVycyBleGNlZWRzIHRoZSBtYXhpbXVtIG51bWJl
ciBvZiAiCisgICAgICAgICAgICAiYWxsb3dlZCBsYXllcnMgb2YgJWRcbiIsCisgICAgICAgICAg
ICBzdmNfY3R4LT5zcGF0aWFsX2xheWVycyAqIHN2Y19jdHgtPnRlbXBvcmFsX2xheWVycywgVlBY
X01BWF9MQVlFUlMpOwogICAgIHJldHVybiBWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTTsKICAgfQog
ICByZXMgPSBhc3NpZ25fbGF5ZXJfYml0cmF0ZXMoc3ZjX2N0eCwgZW5jX2NmZyk7CkBAIC01MDMs
NyArNTAwLDcgQEAgdnB4X2NvZGVjX2Vycl90IHZweF9zdmNfaW5pdChTdmNDb250ZXh0ICpzdmNf
Y3R4LCB2cHhfY29kZWNfY3R4X3QgKmNvZGVjX2N0eCwKIAogICBmb3IgKHRsID0gMDsgdGwgPCBz
dmNfY3R4LT50ZW1wb3JhbF9sYXllcnM7ICsrdGwpIHsKICAgICBmb3IgKHNsID0gMDsgc2wgPCBz
dmNfY3R4LT5zcGF0aWFsX2xheWVyczsgKytzbCkgewotICAgICAgY29uc3QgaW50IGkgPSBzbCAq
IHN2Y19jdHgtPnRlbXBvcmFsX2xheWVycyArIHRsOworICAgICAgaSA9IHNsICogc3ZjX2N0eC0+
dGVtcG9yYWxfbGF5ZXJzICsgdGw7CiAgICAgICBpZiAoZW5jX2NmZy0+cmNfZW5kX3VzYWdlID09
IFZQWF9DQlIgJiYKICAgICAgICAgICBlbmNfY2ZnLT5nX3Bhc3MgPT0gVlBYX1JDX09ORV9QQVNT
KSB7CiAgICAgICAgIHNpLT5zdmNfcGFyYW1zLm1heF9xdWFudGl6ZXJzW2ldID0gZW5jX2NmZy0+
cmNfbWF4X3F1YW50aXplcjsKQEAgLTU1Miw4ICs1NDksMTEgQEAgdnB4X2NvZGVjX2Vycl90IHZw
eF9zdmNfZW5jb2RlKFN2Y0NvbnRleHQgKnN2Y19jdHgsIHZweF9jb2RlY19jdHhfdCAqY29kZWNf
Y3R4LAogICBpdGVyID0gTlVMTDsKICAgd2hpbGUgKChjeF9wa3QgPSB2cHhfY29kZWNfZ2V0X2N4
X2RhdGEoY29kZWNfY3R4LCAmaXRlcikpKSB7CiAgICAgc3dpdGNoIChjeF9wa3QtPmtpbmQpIHsK
LSAgICAgIGNhc2UgVlBYX0NPREVDX1BTTlJfUEtUOiArK3NpLT5wc25yX3BrdF9yZWNlaXZlZDsg
YnJlYWs7Ci0gICAgICBkZWZhdWx0OiBicmVhazsKKyAgICAgIGNhc2UgVlBYX0NPREVDX1BTTlJf
UEtUOiB7CisgICAgICB9CisgICAgICAgICsrc2ktPnBzbnJfcGt0X3JlY2VpdmVkOworICAgICAg
ICBicmVhazsKKyAgICAgIGRlZmF1bHQ6IHsgYnJlYWs7IH0KICAgICB9CiAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC9leGFtcGxlcy90d29wYXNzX2VuY29kZXIuYyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
ZXhhbXBsZXMvdHdvcGFzc19lbmNvZGVyLmMKaW5kZXggMDdhMTBkOWNmMzZmLi4zZDk1MGIyYzRi
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMvdHdvcGFzc19lbmNvZGVyLmMKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC9leGFtcGxlcy90d29wYXNzX2VuY29kZXIuYwpAQCAtODQsNyArODQsNiBA
QCBzdGF0aWMgaW50IGdldF9mcmFtZV9zdGF0cyh2cHhfY29kZWNfY3R4X3QgKmN0eCwgY29uc3Qg
dnB4X2ltYWdlX3QgKmltZywKICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHBrdF9idWYgPSBw
a3QtPmRhdGEudHdvcGFzc19zdGF0cy5idWY7CiAgICAgICBjb25zdCBzaXplX3QgcGt0X3NpemUg
PSBwa3QtPmRhdGEudHdvcGFzc19zdGF0cy5zejsKICAgICAgIHN0YXRzLT5idWYgPSByZWFsbG9j
KHN0YXRzLT5idWYsIHN0YXRzLT5zeiArIHBrdF9zaXplKTsKLSAgICAgIGlmICghc3RhdHMtPmJ1
ZikgZGllKCJGYWlsZWQgdG8gcmVhbGxvY2F0ZSBzdGF0cyBidWZmZXIuIik7CiAgICAgICBtZW1j
cHkoKHVpbnQ4X3QgKilzdGF0cy0+YnVmICsgc3RhdHMtPnN6LCBwa3RfYnVmLCBwa3Rfc2l6ZSk7
CiAgICAgICBzdGF0cy0+c3ogKz0gcGt0X3NpemU7CiAgICAgfQpAQCAtMjIyLDcgKzIyMSw3IEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgIGRpZSgiSW52YWxpZCBmcmFt
ZSBzaXplOiAlZHglZCIsIHcsIGgpOwogCiAgIGlmICghdnB4X2ltZ19hbGxvYygmcmF3LCBWUFhf
SU1HX0ZNVF9JNDIwLCB3LCBoLCAxKSkKLSAgICBkaWUoIkZhaWxlZCB0byBhbGxvY2F0ZSBpbWFn
ZSAoJWR4JWQpIiwgdywgaCk7CisgICAgZGllKCJGYWlsZWQgdG8gYWxsb2NhdGUgaW1hZ2UiLCB3
LCBoKTsKIAogICBwcmludGYoIlVzaW5nICVzXG4iLCB2cHhfY29kZWNfaWZhY2VfbmFtZShlbmNv
ZGVyLT5jb2RlY19pbnRlcmZhY2UoKSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1w
bGVzL3ZwOF9tdWx0aV9yZXNvbHV0aW9uX2VuY29kZXIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMv
dnA4X211bHRpX3Jlc29sdXRpb25fZW5jb2Rlci5jCmluZGV4IDYyZDk2ZGU1NTdkOS4uZTcyZjhh
MDE5NzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3ZwOF9tdWx0aV9yZXNvbHV0
aW9uX2VuY29kZXIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3ZwOF9tdWx0aV9yZXNvbHV0
aW9uX2VuY29kZXIuYwpAQCAtMzUyLDcgKzM1Miw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy
ICoqYXJndikgewogICBmcmFtZXJhdGUgPSAoaW50KXN0cnRvbChhcmd2WzNdLCBOVUxMLCAwKTsK
IAogICBpZiAod2lkdGggPCAxNiB8fCB3aWR0aCAlIDIgfHwgaGVpZ2h0IDwgMTYgfHwgaGVpZ2h0
ICUgMikKLSAgICBkaWUoIkludmFsaWQgcmVzb2x1dGlvbjogJWR4JWQiLCB3aWR0aCwgaGVpZ2h0
KTsKKyAgICBkaWUoIkludmFsaWQgcmVzb2x1dGlvbjogJWxkeCVsZCIsIHdpZHRoLCBoZWlnaHQp
OwogCiAgIC8qIE9wZW4gaW5wdXQgdmlkZW8gZmlsZSBmb3IgZW5jb2RpbmcgKi8KICAgaWYgKCEo
aW5maWxlID0gZm9wZW4oYXJndls0XSwgInJiIikpKQpAQCAtMzgwLDcgKzM4MCw3IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgICAgICAoaW50KXN0cnRvbChhcmd2WzIg
KiBOVU1fRU5DT0RFUlMgKyA1ICsgaV0sIE5VTEwsIDApOwogICAgIGlmIChudW1fdGVtcG9yYWxf
bGF5ZXJzW2ldIDwgMSB8fCBudW1fdGVtcG9yYWxfbGF5ZXJzW2ldID4gMykKICAgICAgIGRpZSgi
SW52YWxpZCB0ZW1wb3JhbCBsYXllcnM6ICVkLCBNdXN0IGJlIDEsIDIsIG9yIDMuIFxuIiwKLSAg
ICAgICAgICBudW1fdGVtcG9yYWxfbGF5ZXJzW2ldKTsKKyAgICAgICAgICBudW1fdGVtcG9yYWxf
bGF5ZXJzKTsKICAgfQogCiAgIC8qIE9wZW4gZmlsZSB0byB3cml0ZSBvdXQgZWFjaCBzcGF0aWFs
bHkgZG93bnNhbXBsZWQgaW5wdXQgc3RyZWFtLiAqLwpAQCAtNDY4LDcgKzQ2OCw3IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAvKiBBbGxvY2F0ZSBpbWFnZSBmb3IgZWFj
aCBlbmNvZGVyICovCiAgIGZvciAoaSA9IDA7IGkgPCBOVU1fRU5DT0RFUlM7IGkrKykKICAgICBp
ZiAoIXZweF9pbWdfYWxsb2MoJnJhd1tpXSwgVlBYX0lNR19GTVRfSTQyMCwgY2ZnW2ldLmdfdywg
Y2ZnW2ldLmdfaCwgMzIpKQotICAgICAgZGllKCJGYWlsZWQgdG8gYWxsb2NhdGUgaW1hZ2UgKCVk
eCVkKSIsIGNmZ1tpXS5nX3csIGNmZ1tpXS5nX2gpOworICAgICAgZGllKCJGYWlsZWQgdG8gYWxs
b2NhdGUgaW1hZ2UiLCBjZmdbaV0uZ193LCBjZmdbaV0uZ19oKTsKIAogICBpZiAocmF3WzBdLnN0
cmlkZVtWUFhfUExBTkVfWV0gPT0gKGludClyYXdbMF0uZF93KQogICAgIHJlYWRfZnJhbWVfcCA9
IG11bHJlc19yZWFkX2ZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9leGFtcGxlcy92cDlf
c3BhdGlhbF9zdmNfZW5jb2Rlci5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9leGFtcGxlcy92cDlfc3BhdGlhbF9z
dmNfZW5jb2Rlci5jCmluZGV4IDk5OGU0ZmIyMGQ3NC4uNjMwNTU3Mjk3OTVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L2V4YW1wbGVzL3ZwOV9zcGF0aWFsX3N2Y19lbmNvZGVyLmMKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC9leGFtcGxlcy92cDlfc3BhdGlhbF9zdmNfZW5jb2Rlci5jCkBAIC0zMiw3ICszMiw2
IEBACiAjaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2VuY29kZXIuaCIKICNpbmNsdWRlICIuL3k0
bWlucHV0LmgiCiAKLSNkZWZpbmUgT1VUUFVUX0ZSQU1FX1NUQVRTIDAKICNkZWZpbmUgT1VUUFVU
X1JDX1NUQVRTIDEKIAogI2RlZmluZSBTSU1VTENBU1RfTU9ERSAwCkBAIC02Nyw2ICs2NiwxMiBA
QCBzdGF0aWMgY29uc3QgYXJnX2RlZl90IGtmX2Rpc3RfYXJnID0KICAgICBBUkdfREVGKCJrIiwg
ImtmLWRpc3QiLCAxLCAibnVtYmVyIG9mIGZyYW1lcyBiZXR3ZWVuIGtleWZyYW1lcyIpOwogc3Rh
dGljIGNvbnN0IGFyZ19kZWZfdCBzY2FsZV9mYWN0b3JzX2FyZyA9CiAgICAgQVJHX0RFRigiciIs
ICJzY2FsZS1mYWN0b3JzIiwgMSwgInNjYWxlIGZhY3RvcnMgKGxvd2VzdCB0byBoaWdoZXN0IGxh
eWVyKSIpOworc3RhdGljIGNvbnN0IGFyZ19kZWZfdCBwYXNzZXNfYXJnID0KKyAgICBBUkdfREVG
KCJwIiwgInBhc3NlcyIsIDEsICJOdW1iZXIgb2YgcGFzc2VzICgxLzIpIik7CitzdGF0aWMgY29u
c3QgYXJnX2RlZl90IHBhc3NfYXJnID0KKyAgICBBUkdfREVGKE5VTEwsICJwYXNzIiwgMSwgIlBh
c3MgdG8gZXhlY3V0ZSAoMS8yKSIpOworc3RhdGljIGNvbnN0IGFyZ19kZWZfdCBmcGZfbmFtZV9h
cmcgPQorICAgIEFSR19ERUYoTlVMTCwgImZwZiIsIDEsICJGaXJzdCBwYXNzIHN0YXRpc3RpY3Mg
ZmlsZSBuYW1lIik7CiBzdGF0aWMgY29uc3QgYXJnX2RlZl90IG1pbl9xX2FyZyA9CiAgICAgQVJH
X0RFRihOVUxMLCAibWluLXEiLCAxLCAiTWluaW11bSBxdWFudGl6ZXIiKTsKIHN0YXRpYyBjb25z
dCBhcmdfZGVmX3QgbWF4X3FfYXJnID0KQEAgLTEyMCw2ICsxMjUsOSBAQCBzdGF0aWMgY29uc3Qg
YXJnX2RlZl90ICpzdmNfYXJnc1tdID0geyAmZnJhbWVzX2FyZywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZzcGF0aWFsX2xheWVyc19hcmcsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAma2ZfZGlzdF9hcmcsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmc2NhbGVfZmFjdG9yc19hcmcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmcGFzc2VzX2FyZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZwYXNzX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZmcGZfbmFtZV9hcmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmbWluX3FfYXJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJm1heF9xX2FyZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZtaW5fYml0cmF0ZV9hcmcsCkBAIC0xNjUsNiArMTczLDggQEAgdHlwZWRlZiBzdHJ1Y3Qg
ewogICB1aW50MzJfdCBmcmFtZXNfdG9fc2tpcDsKICAgc3RydWN0IFZweElucHV0Q29udGV4dCBp
bnB1dF9jdHg7CiAgIHN0YXRzX2lvX3QgcmNfc3RhdHM7CisgIGludCBwYXNzZXM7CisgIGludCBw
YXNzOwogICBpbnQgdHVuZV9jb250ZW50OwogICBpbnQgaW50ZXJfbGF5ZXJfcHJlZDsKIH0gQXBw
SW5wdXQ7CkBAIC0xODcsNiArMTk3LDkgQEAgc3RhdGljIHZvaWQgcGFyc2VfY29tbWFuZF9saW5l
KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndl8sCiAgIGNoYXIgKiphcmdpID0gTlVMTDsKICAg
Y2hhciAqKmFyZ2ogPSBOVUxMOwogICB2cHhfY29kZWNfZXJyX3QgcmVzOworICBpbnQgcGFzc2Vz
ID0gMDsKKyAgaW50IHBhc3MgPSAwOworICBjb25zdCBjaGFyICpmcGZfZmlsZV9uYW1lID0gTlVM
TDsKICAgdW5zaWduZWQgaW50IG1pbl9iaXRyYXRlID0gMDsKICAgdW5zaWduZWQgaW50IG1heF9i
aXRyYXRlID0gMDsKICAgY2hhciBzdHJpbmdfb3B0aW9uc1sxMDI0XSA9IHsgMCB9OwpAQCAtMjIz
LDEwICsyMzYsNiBAQCBzdGF0aWMgdm9pZCBwYXJzZV9jb21tYW5kX2xpbmUoaW50IGFyZ2MsIGNv
bnN0IGNoYXIgKiphcmd2XywKIAogICAvLyBwcm9jZXNzIGNvbW1hbmQgbGluZSBvcHRpb25zCiAg
IGFyZ3YgPSBhcmd2X2R1cChhcmdjIC0gMSwgYXJndl8gKyAxKTsKLSAgaWYgKCFhcmd2KSB7Ci0g
ICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBhbGxvY2F0aW5nIGFyZ3VtZW50IGxpc3RcbiIpOwot
ICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKLSAgfQogICBmb3IgKGFyZ2kgPSBhcmdqID0gYXJndjsg
KCphcmdqID0gKmFyZ2kpOyBhcmdpICs9IGFyZy5hcmd2X3N0ZXApIHsKICAgICBhcmcuYXJndl9z
dGVwID0gMTsKIApAQCAtMjgwLDYgKzI4OSwxOCBAQCBzdGF0aWMgdm9pZCBwYXJzZV9jb21tYW5k
X2xpbmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2XywKICAgICAgICAgICAgICAgc2l6ZW9m
KHN0cmluZ19vcHRpb25zKSAtIHN0cmxlbihzdHJpbmdfb3B0aW9ucykgLSAxKTsKICAgICAgIHN0
cm5jYXQoc3RyaW5nX29wdGlvbnMsIGFyZy52YWwsCiAgICAgICAgICAgICAgIHNpemVvZihzdHJp
bmdfb3B0aW9ucykgLSBzdHJsZW4oc3RyaW5nX29wdGlvbnMpIC0gMSk7CisgICAgfSBlbHNlIGlm
IChhcmdfbWF0Y2goJmFyZywgJnBhc3Nlc19hcmcsIGFyZ2kpKSB7CisgICAgICBwYXNzZXMgPSBh
cmdfcGFyc2VfdWludCgmYXJnKTsKKyAgICAgIGlmIChwYXNzZXMgPCAxIHx8IHBhc3NlcyA+IDIp
IHsKKyAgICAgICAgZGllKCJFcnJvcjogSW52YWxpZCBudW1iZXIgb2YgcGFzc2VzICglZClcbiIs
IHBhc3Nlcyk7CisgICAgICB9CisgICAgfSBlbHNlIGlmIChhcmdfbWF0Y2goJmFyZywgJnBhc3Nf
YXJnLCBhcmdpKSkgeworICAgICAgcGFzcyA9IGFyZ19wYXJzZV91aW50KCZhcmcpOworICAgICAg
aWYgKHBhc3MgPCAxIHx8IHBhc3MgPiAyKSB7CisgICAgICAgIGRpZSgiRXJyb3I6IEludmFsaWQg
cGFzcyBzZWxlY3RlZCAoJWQpXG4iLCBwYXNzKTsKKyAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGFy
Z19tYXRjaCgmYXJnLCAmZnBmX25hbWVfYXJnLCBhcmdpKSkgeworICAgICAgZnBmX2ZpbGVfbmFt
ZSA9IGFyZy52YWw7CiAgICAgfSBlbHNlIGlmIChhcmdfbWF0Y2goJmFyZywgJm1pbl9xX2FyZywg
YXJnaSkpIHsKICAgICAgIHN0cm5jYXQoc3RyaW5nX29wdGlvbnMsICIgbWluLXF1YW50aXplcnM9
IiwKICAgICAgICAgICAgICAgc2l6ZW9mKHN0cmluZ19vcHRpb25zKSAtIHN0cmxlbihzdHJpbmdf
b3B0aW9ucykgLSAxKTsKQEAgLTMxNiw2ICszMzcsNyBAQCBzdGF0aWMgdm9pZCBwYXJzZV9jb21t
YW5kX2xpbmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2XywKICAgICAgICAgICBicmVhazsK
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICBkaWUoIkVycm9yOiBJbnZhbGlkIGJpdCBkZXB0
aCBzZWxlY3RlZCAoJWQpXG4iLCBlbmNfY2ZnLT5nX2JpdF9kZXB0aCk7CisgICAgICAgICAgYnJl
YWs7CiAgICAgICB9CiAjZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICiAgICAgfSBl
bHNlIGlmIChhcmdfbWF0Y2goJmFyZywgJmRyb3BmcmFtZV90aHJlc2hfYXJnLCBhcmdpKSkgewpA
QCAtMzMzLDcgKzM1NSwzNSBAQCBzdGF0aWMgdm9pZCBwYXJzZV9jb21tYW5kX2xpbmUoaW50IGFy
Z2MsIGNvbnN0IGNoYXIgKiphcmd2XywKICAgaWYgKHN0cmxlbihzdHJpbmdfb3B0aW9ucykgPiAw
KQogICAgIHZweF9zdmNfc2V0X29wdGlvbnMoc3ZjX2N0eCwgc3RyaW5nX29wdGlvbnMgKyAxKTsK
IAotICBlbmNfY2ZnLT5nX3Bhc3MgPSBWUFhfUkNfT05FX1BBU1M7CisgIGlmIChwYXNzZXMgPT0g
MCB8fCBwYXNzZXMgPT0gMSkgeworICAgIGlmIChwYXNzKSB7CisgICAgICBmcHJpbnRmKHN0ZGVy
ciwgInBhc3MgaXMgaWdub3JlZCBzaW5jZSB0aGVyZSdzIG9ubHkgb25lIHBhc3NcbiIpOworICAg
IH0KKyAgICBlbmNfY2ZnLT5nX3Bhc3MgPSBWUFhfUkNfT05FX1BBU1M7CisgIH0gZWxzZSB7Cisg
ICAgaWYgKHBhc3MgPT0gMCkgeworICAgICAgZGllKCJwYXNzIG11c3QgYmUgc3BlY2lmaWVkIHdo
ZW4gcGFzc2VzIGlzIDJcbiIpOworICAgIH0KKworICAgIGlmIChmcGZfZmlsZV9uYW1lID09IE5V
TEwpIHsKKyAgICAgIGRpZSgiZnBmIG11c3QgYmUgc3BlY2lmaWVkIHdoZW4gcGFzc2VzIGlzIDJc
biIpOworICAgIH0KKworICAgIGlmIChwYXNzID09IDEpIHsKKyAgICAgIGVuY19jZmctPmdfcGFz
cyA9IFZQWF9SQ19GSVJTVF9QQVNTOworICAgICAgaWYgKCFzdGF0c19vcGVuX2ZpbGUoJmFwcF9p
bnB1dC0+cmNfc3RhdHMsIGZwZl9maWxlX25hbWUsIDApKSB7CisgICAgICAgIGZhdGFsKCJGYWls
ZWQgdG8gb3BlbiBzdGF0aXN0aWNzIHN0b3JlIik7CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAg
ICAgIGVuY19jZmctPmdfcGFzcyA9IFZQWF9SQ19MQVNUX1BBU1M7CisgICAgICBpZiAoIXN0YXRz
X29wZW5fZmlsZSgmYXBwX2lucHV0LT5yY19zdGF0cywgZnBmX2ZpbGVfbmFtZSwgMSkpIHsKKyAg
ICAgICAgZmF0YWwoIkZhaWxlZCB0byBvcGVuIHN0YXRpc3RpY3Mgc3RvcmUiKTsKKyAgICAgIH0K
KyAgICAgIGVuY19jZmctPnJjX3R3b3Bhc3Nfc3RhdHNfaW4gPSBzdGF0c19nZXQoJmFwcF9pbnB1
dC0+cmNfc3RhdHMpOworICAgIH0KKyAgICBhcHBfaW5wdXQtPnBhc3NlcyA9IHBhc3NlczsKKyAg
ICBhcHBfaW5wdXQtPnBhc3MgPSBwYXNzOworICB9CiAKICAgaWYgKGVuY19jZmctPnJjX3Rhcmdl
dF9iaXRyYXRlID4gMCkgewogICAgIGlmIChtaW5fYml0cmF0ZSA+IDApIHsKQEAgLTM2MSw4ICs0
MTEsNiBAQCBzdGF0aWMgdm9pZCBwYXJzZV9jb21tYW5kX2xpbmUoaW50IGFyZ2MsIGNvbnN0IGNo
YXIgKiphcmd2XywKICAgaWYgKGFwcF9pbnB1dC0+aW5wdXRfY3R4LmZpbGVfdHlwZSA9PSBGSUxF
X1RZUEVfWTRNKSB7CiAgICAgZW5jX2NmZy0+Z193ID0gYXBwX2lucHV0LT5pbnB1dF9jdHgud2lk
dGg7CiAgICAgZW5jX2NmZy0+Z19oID0gYXBwX2lucHV0LT5pbnB1dF9jdHguaGVpZ2h0OwotICAg
IGVuY19jZmctPmdfdGltZWJhc2UuZGVuID0gYXBwX2lucHV0LT5pbnB1dF9jdHguZnJhbWVyYXRl
Lm51bWVyYXRvcjsKLSAgICBlbmNfY2ZnLT5nX3RpbWViYXNlLm51bSA9IGFwcF9pbnB1dC0+aW5w
dXRfY3R4LmZyYW1lcmF0ZS5kZW5vbWluYXRvcjsKICAgfQogCiAgIGlmIChlbmNfY2ZnLT5nX3cg
PCAxNiB8fCBlbmNfY2ZnLT5nX3cgJSAyIHx8IGVuY19jZmctPmdfaCA8IDE2IHx8CkBAIC01ODUs
OCArNjMzLDcgQEAgc3RhdGljIHZvaWQgc2V0X2ZyYW1lX2ZsYWdzX2J5cGFzc19tb2RlX2V4MCgK
ICAgICAgIHJlZl9mcmFtZV9jb25maWctPmFsdF9mYl9pZHhbc2xdID0gMDsKICAgICB9IGVsc2Ug
aWYgKHRsID09IDEpIHsKICAgICAgIHJlZl9mcmFtZV9jb25maWctPmxzdF9mYl9pZHhbc2xdID0g
c2w7Ci0gICAgICByZWZfZnJhbWVfY29uZmlnLT5nbGRfZmJfaWR4W3NsXSA9Ci0gICAgICAgICAg
KHNsID09IDApID8gMCA6IG51bV9zcGF0aWFsX2xheWVycyArIHNsIC0gMTsKKyAgICAgIHJlZl9m
cmFtZV9jb25maWctPmdsZF9mYl9pZHhbc2xdID0gbnVtX3NwYXRpYWxfbGF5ZXJzICsgc2wgLSAx
OwogICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+YWx0X2ZiX2lkeFtzbF0gPSBudW1fc3BhdGlhbF9s
YXllcnMgKyBzbDsKICAgICB9CiAgICAgLy8gU2V0IHRoZSByZWZlcmVuY2UgYW5kIHVwZGF0ZSBm
bGFncy4KQEAgLTg4MCw5ICs5MjcsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAq
KmFyZ3YpIHsKICAgaW50IHB0cyA9IDA7ICAgICAgICAgICAgLyogUFRTIHN0YXJ0cyBhdCAwICov
CiAgIGludCBmcmFtZV9kdXJhdGlvbiA9IDE7IC8qIDEgdGltZWJhc2UgdGljayBwZXIgZnJhbWUg
Ki8KICAgaW50IGVuZF9vZl9zdHJlYW0gPSAwOwotI2lmIE9VVFBVVF9GUkFNRV9TVEFUUwogICBp
bnQgZnJhbWVzX3JlY2VpdmVkID0gMDsKLSNlbmRpZgogI2lmIE9VVFBVVF9SQ19TVEFUUwogICBW
cHhWaWRlb1dyaXRlciAqb3V0ZmlsZVtWUFhfU1NfTUFYX0xBWUVSU10gPSB7IE5VTEwgfTsKICAg
c3RydWN0IFJhdGVDb250cm9sU3RhdHMgcmM7CkBAIC05NTksMTEgKzEwMDQsMTMgQEAgaW50IG1h
aW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KSB7CiAgIGluZm8udGltZV9iYXNlLm51bWVy
YXRvciA9IGVuY19jZmcuZ190aW1lYmFzZS5udW07CiAgIGluZm8udGltZV9iYXNlLmRlbm9taW5h
dG9yID0gZW5jX2NmZy5nX3RpbWViYXNlLmRlbjsKIAotICB3cml0ZXIgPQotICAgICAgdnB4X3Zp
ZGVvX3dyaXRlcl9vcGVuKGFwcF9pbnB1dC5vdXRwdXRfZmlsZW5hbWUsIGtDb250YWluZXJJVkYs
ICZpbmZvKTsKLSAgaWYgKCF3cml0ZXIpCi0gICAgZGllKCJGYWlsZWQgdG8gb3BlbiAlcyBmb3Ig
d3JpdGluZ1xuIiwgYXBwX2lucHV0Lm91dHB1dF9maWxlbmFtZSk7Ci0KKyAgaWYgKCEoYXBwX2lu
cHV0LnBhc3NlcyA9PSAyICYmIGFwcF9pbnB1dC5wYXNzID09IDEpKSB7CisgICAgLy8gV2UgZG9u
J3Qgc2F2ZSB0aGUgYml0c3RyZWFtIGZvciB0aGUgMXN0IHBhc3Mgb24gdHdvIHBhc3MgcmF0ZSBj
b250cm9sCisgICAgd3JpdGVyID0KKyAgICAgICAgdnB4X3ZpZGVvX3dyaXRlcl9vcGVuKGFwcF9p
bnB1dC5vdXRwdXRfZmlsZW5hbWUsIGtDb250YWluZXJJVkYsICZpbmZvKTsKKyAgICBpZiAoIXdy
aXRlcikKKyAgICAgIGRpZSgiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmdcbiIsIGFwcF9p
bnB1dC5vdXRwdXRfZmlsZW5hbWUpOworICB9CiAjaWYgT1VUUFVUX1JDX1NUQVRTCiAgIC8vIFdy
aXRlIG91dCBzcGF0aWFsIGxheWVyIHN0cmVhbS4KICAgLy8gVE9ETyhtYXJwYW4vamlhbmopOiBh
bGxvdyBmb3Igd3JpdGluZyBlYWNoIHNwYXRpYWwgYW5kIHRlbXBvcmFsIHN0cmVhbS4KQEAgLTEx
MjgsMTQgKzExNzUsMTQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KSB7
CiAgICAgICAgICAgICB9CiAjZW5kaWYKICAgICAgICAgICB9Ci0jaWYgT1VUUFVUX0ZSQU1FX1NU
QVRTCisgICAgICAgICAgLyoKICAgICAgICAgICBwcmludGYoIlNWQyBmcmFtZTogJWQsIGtmOiAl
ZCwgc2l6ZTogJWQsIHB0czogJWRcbiIsIGZyYW1lc19yZWNlaXZlZCwKICAgICAgICAgICAgICAg
ICAgISEoY3hfcGt0LT5kYXRhLmZyYW1lLmZsYWdzICYgVlBYX0ZSQU1FX0lTX0tFWSksCiAgICAg
ICAgICAgICAgICAgIChpbnQpY3hfcGt0LT5kYXRhLmZyYW1lLnN6LCAoaW50KWN4X3BrdC0+ZGF0
YS5mcmFtZS5wdHMpOwotICAgICAgICAgICsrZnJhbWVzX3JlY2VpdmVkOwotI2VuZGlmCisgICAg
ICAgICAgKi8KICAgICAgICAgICBpZiAoZW5jX2NmZy5zc19udW1iZXJfbGF5ZXJzID09IDEgJiYg
ZW5jX2NmZy50c19udW1iZXJfbGF5ZXJzID09IDEpCiAgICAgICAgICAgICBzaS0+Ynl0ZXNfc3Vt
WzBdICs9IChpbnQpY3hfcGt0LT5kYXRhLmZyYW1lLnN6OworICAgICAgICAgICsrZnJhbWVzX3Jl
Y2VpdmVkOwogI2lmIENPTkZJR19WUDlfREVDT0RFUiAmJiAhU0lNVUxDQVNUX01PREUKICAgICAg
ICAgICBpZiAodnB4X2NvZGVjX2RlY29kZSgmZGVjb2RlciwgY3hfcGt0LT5kYXRhLmZyYW1lLmJ1
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KWN4X3BrdC0+
ZGF0YS5mcmFtZS5zeiwgTlVMTCwgMCkpCkBAIC0xMTQ4LDkgKzExOTUsNyBAQCBpbnQgbWFpbihp
bnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpIHsKICAgICAgICAgICAgICAgICAgICAgICBjeF9w
a3QtPmRhdGEudHdvcGFzc19zdGF0cy5zeik7CiAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
LSAgICAgICAgZGVmYXVsdDogewotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CisgICAgICAg
IGRlZmF1bHQ6IHsgYnJlYWs7IH0KICAgICAgIH0KIAogI2lmIENPTkZJR19WUDlfREVDT0RFUiAm
JiAhU0lNVUxDQVNUX01PREUKQEAgLTExODUsNiArMTIzMCw3IEBAIGludCBtYWluKGludCBhcmdj
LCBjb25zdCBjaGFyICoqYXJndikgewogI2VuZGlmCiAgIGlmICh2cHhfY29kZWNfZGVzdHJveSgm
ZW5jb2RlcikpCiAgICAgZGllX2NvZGVjKCZlbmNvZGVyLCAiRmFpbGVkIHRvIGRlc3Ryb3kgY29k
ZWMiKTsKKyAgaWYgKGFwcF9pbnB1dC5wYXNzZXMgPT0gMikgc3RhdHNfY2xvc2UoJmFwcF9pbnB1
dC5yY19zdGF0cywgMSk7CiAgIGlmICh3cml0ZXIpIHsKICAgICB2cHhfdmlkZW9fd3JpdGVyX2Ns
b3NlKHdyaXRlcik7CiAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMvdnB4X2Rl
Y19mdXp6ZXIuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3ZweF9kZWNfZnV6emVyLmNjCmluZGV4
IDVlYmE5ZDc0ZGFhOC4uMzRjMGUxMTIzODNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1w
bGVzL3ZweF9kZWNfZnV6emVyLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvZXhhbXBsZXMvdnB4X2RlY19m
dXp6ZXIuY2MKQEAgLTQxLDcgKzQxLDcgQEAKICAgICRtYWtlIC1qMzIKIAogICogQnVpbGQgdnA5
IGZ1enplcgotICAgJCAkQ1hYICRDWFhGTEFHUyAtc3RkPWdudSsrMTEgLURERUNPREVSPXZwOSBc
CisgICAkICRDWFggJENYWEZMQUdTIC1zdGQ9YysrMTEgLURERUNPREVSPXZwOSBcCiAgICAtZnNh
bml0aXplPWZ1enplciAtSS4uL2xpYnZweCAtSS4gLVdsLC0tc3RhcnQtZ3JvdXAgXAogICAgLi4v
bGlidnB4L2V4YW1wbGVzL3ZweF9kZWNfZnV6emVyLmNjIC1vIC4vdnB4X2RlY19mdXp6ZXJfdnA5
IFwKICAgIC4vbGlidnB4LmEgLVdsLC0tZW5kLWdyb3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L2V4YW1wbGVzL3ZweF90ZW1wb3JhbF9zdmNfZW5jb2Rlci5jIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9leGFtcGxl
cy92cHhfdGVtcG9yYWxfc3ZjX2VuY29kZXIuYwppbmRleCBhODAwMjc4MjJhZDQuLmZmZWFlMmFi
YzRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9leGFtcGxlcy92cHhfdGVtcG9yYWxfc3ZjX2Vu
Y29kZXIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2V4YW1wbGVzL3ZweF90ZW1wb3JhbF9zdmNfZW5jb2Rl
ci5jCkBAIC0zMCw3ICszMCw3IEBACiAKICNkZWZpbmUgUk9JX01BUCAwCiAKLSNkZWZpbmUgemVy
byhEZXN0KSBtZW1zZXQoJihEZXN0KSwgMCwgc2l6ZW9mKERlc3QpKQorI2RlZmluZSB6ZXJvKERl
c3QpIG1lbXNldCgmKERlc3QpLCAwLCBzaXplb2YoRGVzdCkpOwogCiBzdGF0aWMgY29uc3QgY2hh
ciAqZXhlY19uYW1lOwogCkBAIC0yNDAsMzggKzI0MCw2IEBAIHN0YXRpYyB2b2lkIHNldF9yb2lf
bWFwKGNvbnN0IGNoYXIgKmVuY19uYW1lLCB2cHhfY29kZWNfZW5jX2NmZ190ICpjZmcsCiAgICAg
fQogICB9CiB9Ci0KLXN0YXRpYyB2b2lkIHNldF9yb2lfc2tpcF9tYXAodnB4X2NvZGVjX2VuY19j
ZmdfdCAqY2ZnLCB2cHhfcm9pX21hcF90ICpyb2ksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCAqc2tpcF9tYXAsIGludCAqcHJldl9tYXNrX21hcCwgaW50IGZyYW1lX251bSkgewot
ICBjb25zdCBpbnQgYmxvY2tfc2l6ZSA9IDg7Ci0gIHVuc2lnbmVkIGludCBpLCBqOwotICByb2kt
PnJvd3MgPSAoY2ZnLT5nX2ggKyBibG9ja19zaXplIC0gMSkgLyBibG9ja19zaXplOwotICByb2kt
PmNvbHMgPSAoY2ZnLT5nX3cgKyBibG9ja19zaXplIC0gMSkgLyBibG9ja19zaXplOwotICB6ZXJv
KHJvaS0+c2tpcCk7Ci0gIHplcm8ocm9pLT5kZWx0YV9xKTsKLSAgemVybyhyb2ktPmRlbHRhX2xm
KTsKLSAgbWVtc2V0KHJvaS0+cmVmX2ZyYW1lLCAtMSwgc2l6ZW9mKHJvaS0+cmVmX2ZyYW1lKSk7
Ci0gIHJvaS0+cmVmX2ZyYW1lWzFdID0gMTsKLSAgLy8gVXNlIHNlZ21lbnQgMyBmb3Igc2tpcC4K
LSAgcm9pLT5za2lwWzNdID0gMTsKLSAgcm9pLT5yb2lfbWFwID0KLSAgICAgICh1aW50OF90ICop
Y2FsbG9jKHJvaS0+cm93cyAqIHJvaS0+Y29scywgc2l6ZW9mKCpyb2ktPnJvaV9tYXApKTsKLSAg
Zm9yIChpID0gMDsgaSA8IHJvaS0+cm93czsgKytpKSB7Ci0gICAgZm9yIChqID0gMDsgaiA8IHJv
aS0+Y29sczsgKytqKSB7Ci0gICAgICBjb25zdCBpbnQgaWR4ID0gaSAqIHJvaS0+Y29scyArIGo7
Ci0gICAgICAvLyBVc2Ugc2VnbWVudCAzIGZvciBza2lwLgotICAgICAgLy8gcHJldl9tYXNrX21h
cCBrZWVwcyB0cmFjayBvZiBibG9ja3MgdGhhdCBoYXZlIGJlZW4gc3RhYmx5IG9uIHNlZ21lbnQg
MwotICAgICAgLy8gZm9yIHRoZSBwYXN0IDEwIGZyYW1lcy4gT25seSBza2lwIHdoZW4gdGhlIGJs
b2NrIGlzIG9uIHNlZ21lbnQgMyBpbgotICAgICAgLy8gYm90aCBjdXJyZW50IG1hcCBhbmQgcHJl
dl9tYXNrX21hcC4KLSAgICAgIGlmIChza2lwX21hcFtpZHhdID09IDEgJiYgcHJldl9tYXNrX21h
cFtpZHhdID09IDEpIHJvaS0+cm9pX21hcFtpZHhdID0gMzsKLSAgICAgIC8vIFJlc2V0IGl0IGV2
ZXJ5IDEwIGZyYW1lcyBzbyBpdCBkb2Vzbid0IHByb3BhZ2F0ZSBmb3IgdG9vIG1hbnkgZnJhbWVz
LgotICAgICAgaWYgKGZyYW1lX251bSAlIDEwID09IDApCi0gICAgICAgIHByZXZfbWFza19tYXBb
aWR4XSA9IHNraXBfbWFwW2lkeF07Ci0gICAgICBlbHNlIGlmIChwcmV2X21hc2tfbWFwW2lkeF0g
PT0gMSAmJiBza2lwX21hcFtpZHhdID09IDApCi0gICAgICAgIHByZXZfbWFza19tYXBbaWR4XSA9
IDA7Ci0gICAgfQotICB9Ci19CiAjZW5kaWYKIAogLy8gVGVtcG9yYWwgc2NhbGluZyBwYXJhbWV0
ZXJzOgpAQCAtNjA2LDIzICs1NzQsNiBAQCBzdGF0aWMgdm9pZCBzZXRfdGVtcG9yYWxfbGF5ZXJf
cGF0dGVybihpbnQgbGF5ZXJpbmdfbW9kZSwKICAgfQogfQogCi0jaWYgUk9JX01BUAotc3RhdGlj
IHZvaWQgcmVhZF9tYXNrKEZJTEUgKm1hc2tfZmlsZSwgaW50ICpzZWdfbWFwKSB7Ci0gIGludCBt
YXNrX3Jvd3MsIG1hc2tfY29scywgaSwgajsKLSAgaW50ICptYXBfc3RhcnQgPSBzZWdfbWFwOwot
ICBmc2NhbmYobWFza19maWxlLCAiJWQgJWRcbiIsICZtYXNrX2NvbHMsICZtYXNrX3Jvd3MpOwot
ICBmb3IgKGkgPSAwOyBpIDwgbWFza19yb3dzOyBpKyspIHsKLSAgICBmb3IgKGogPSAwOyBqIDwg
bWFza19jb2xzOyBqKyspIHsKLSAgICAgIGZzY2FuZihtYXNrX2ZpbGUsICIlZCAiLCAmc2VnX21h
cFtqXSk7Ci0gICAgICAvLyByZXZlcnNlIHRoZSBiaXQKLSAgICAgIHNlZ19tYXBbal0gPSAxIC0g
c2VnX21hcFtqXTsKLSAgICB9Ci0gICAgc2VnX21hcCArPSBtYXNrX2NvbHM7Ci0gIH0KLSAgc2Vn
X21hcCA9IG1hcF9zdGFydDsKLX0KLSNlbmRpZgotCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq
KmFyZ3YpIHsKICAgVnB4VmlkZW9Xcml0ZXIgKm91dGZpbGVbVlBYX1RTX01BWF9MQVlFUlNdID0g
eyBOVUxMIH07CiAgIHZweF9jb2RlY19jdHhfdCBjb2RlYzsKQEAgLTY2MiwxNCArNjEzLDcgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgIGRvdWJsZSBzdW1fYml0cmF0ZSA9
IDAuMDsKICAgZG91YmxlIHN1bV9iaXRyYXRlMiA9IDAuMDsKICAgZG91YmxlIGZyYW1lcmF0ZSA9
IDMwLjA7Ci0jaWYgUk9JX01BUAotICBGSUxFICptYXNrX2ZpbGUgPSBOVUxMOwotICBpbnQgYmxv
Y2tfc2l6ZSA9IDg7Ci0gIGludCBtYXNrX3Jvd3MgPSAwOwotICBpbnQgbWFza19jb2xzID0gMDsK
LSAgaW50ICptYXNrX21hcDsKLSAgaW50ICpwcmV2X21hc2tfbWFwOwotI2VuZGlmCisKICAgemVy
byhyYy5sYXllcl90YXJnZXRfYml0cmF0ZSk7CiAgIG1lbXNldCgmbGF5ZXJfaWQsIDAsIHNpemVv
Zih2cHhfc3ZjX2xheWVyX2lkX3QpKTsKICAgbWVtc2V0KCZpbnB1dF9jdHgsIDAsIHNpemVvZihp
bnB1dF9jdHgpKTsKQEAgLTcxMywxNSArNjU3LDkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg
Kiphcmd2KSB7CiAgICAgZGllKCJJbnZhbGlkIGxheWVyaW5nIG1vZGUgKDAuLjEyKSAlcyIsIGFy
Z3ZbMTJdKTsKICAgfQogCi0jaWYgUk9JX01BUAotICBpZiAoYXJnYyAhPSBtaW5fYXJncyArIG1v
ZGVfdG9fbnVtX2xheWVyc1tsYXllcmluZ19tb2RlXSArIDEpIHsKLSAgICBkaWUoIkludmFsaWQg
bnVtYmVyIG9mIGFyZ3VtZW50cyIpOwotICB9Ci0jZWxzZQogICBpZiAoYXJnYyAhPSBtaW5fYXJn
cyArIG1vZGVfdG9fbnVtX2xheWVyc1tsYXllcmluZ19tb2RlXSkgewogICAgIGRpZSgiSW52YWxp
ZCBudW1iZXIgb2YgYXJndW1lbnRzIik7CiAgIH0KLSNlbmRpZgogCiAgIGlucHV0X2N0eC5maWxl
bmFtZSA9IGFyZ3ZbMV07CiAgIG9wZW5faW5wdXRfZmlsZSgmaW5wdXRfY3R4KTsKQEAgLTc0OSwx
NCArNjg3LDE0IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgICAgICAg
ICAgJnJhdywKICAgICAgICAgICAgIGJpdF9kZXB0aCA9PSBWUFhfQklUU184ID8gVlBYX0lNR19G
TVRfSTQyMCA6IFZQWF9JTUdfRk1UX0k0MjAxNiwKICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQs
IDMyKSkgewotICAgICAgZGllKCJGYWlsZWQgdG8gYWxsb2NhdGUgaW1hZ2UgKCVkeCVkKSIsIHdp
ZHRoLCBoZWlnaHQpOworICAgICAgZGllKCJGYWlsZWQgdG8gYWxsb2NhdGUgaW1hZ2UiLCB3aWR0
aCwgaGVpZ2h0KTsKICAgICB9CiAgIH0KICNlbHNlCiAgIC8vIFk0TSByZWFkZXIgaGFzIGl0cyBv
d24gYWxsb2NhdGlvbi4KICAgaWYgKGlucHV0X2N0eC5maWxlX3R5cGUgIT0gRklMRV9UWVBFX1k0
TSkgewogICAgIGlmICghdnB4X2ltZ19hbGxvYygmcmF3LCBWUFhfSU1HX0ZNVF9JNDIwLCB3aWR0
aCwgaGVpZ2h0LCAzMikpIHsKLSAgICAgIGRpZSgiRmFpbGVkIHRvIGFsbG9jYXRlIGltYWdlICgl
ZHglZCkiLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIGRpZSgiRmFpbGVkIHRvIGFsbG9jYXRlIGlt
YWdlIiwgd2lkdGgsIGhlaWdodCk7CiAgICAgfQogICB9CiAjZW5kaWYgIC8vIENPTkZJR19WUDlf
SElHSEJJVERFUFRICkBAIC04NzksMTMgKzgxNyw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy
ICoqYXJndikgewogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogICAgIGRpZSgi
RmFpbGVkIHRvIGluaXRpYWxpemUgZW5jb2RlciIpOwogCi0jaWYgUk9JX01BUAotICBtYXNrX3Jv
d3MgPSAoY2ZnLmdfaCArIGJsb2NrX3NpemUgLSAxKSAvIGJsb2NrX3NpemU7Ci0gIG1hc2tfY29s
cyA9IChjZmcuZ193ICsgYmxvY2tfc2l6ZSAtIDEpIC8gYmxvY2tfc2l6ZTsKLSAgbWFza19tYXAg
PSAoaW50ICopY2FsbG9jKG1hc2tfcm93cyAqIG1hc2tfY29scywgc2l6ZW9mKCptYXNrX21hcCkp
OwotICBwcmV2X21hc2tfbWFwID0gKGludCAqKWNhbGxvYyhtYXNrX3Jvd3MgKiBtYXNrX2NvbHMs
IHNpemVvZigqbWFza19tYXApKTsKLSNlbmRpZgotCiAgIGlmIChzdHJuY21wKGVuY29kZXItPm5h
bWUsICJ2cDgiLCAzKSA9PSAwKSB7CiAgICAgdnB4X2NvZGVjX2NvbnRyb2woJmNvZGVjLCBWUDhF
X1NFVF9DUFVVU0VELCAtc3BlZWQpOwogICAgIHZweF9jb2RlY19jb250cm9sKCZjb2RlYywgVlA4
RV9TRVRfTk9JU0VfU0VOU0lUSVZJVFksIGtWcDhEZW5vaXNlck9mZik7CkBAIC04OTYsMTAgKzgy
NywxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICAgICBpZiAodnB4X2Nv
ZGVjX2NvbnRyb2woJmNvZGVjLCBWUDhFX1NFVF9ST0lfTUFQLCAmcm9pKSkKICAgICAgIGRpZV9j
b2RlYygmY29kZWMsICJGYWlsZWQgdG8gc2V0IFJPSSBtYXAiKTsKICNlbmRpZgorCiAgIH0gZWxz
ZSBpZiAoc3RybmNtcChlbmNvZGVyLT5uYW1lLCAidnA5IiwgMykgPT0gMCkgewogICAgIHZweF9z
dmNfZXh0cmFfY2ZnX3Qgc3ZjX3BhcmFtczsKICAgICBtZW1zZXQoJnN2Y19wYXJhbXMsIDAsIHNp
emVvZihzdmNfcGFyYW1zKSk7Ci0gICAgdnB4X2NvZGVjX2NvbnRyb2woJmNvZGVjLCBWUDlFX1NF
VF9QT1NURU5DT0RFX0RST1AsIDApOwogICAgIHZweF9jb2RlY19jb250cm9sKCZjb2RlYywgVlA5
RV9TRVRfRElTQUJMRV9PVkVSU0hPT1RfTUFYUV9DQlIsIDApOwogICAgIHZweF9jb2RlY19jb250
cm9sKCZjb2RlYywgVlA4RV9TRVRfQ1BVVVNFRCwgc3BlZWQpOwogICAgIHZweF9jb2RlY19jb250
cm9sKCZjb2RlYywgVlA5RV9TRVRfQVFfTU9ERSwgMyk7CkBAIC05MTEsNyArODQyLDEyIEBAIGlu
dCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgIHZweF9jb2RlY19jb250cm9sKCZj
b2RlYywgVlA5RV9TRVRfVFVORV9DT05URU5ULCAwKTsKICAgICB2cHhfY29kZWNfY29udHJvbCgm
Y29kZWMsIFZQOUVfU0VUX1RJTEVfQ09MVU1OUywgZ2V0X21zYihjZmcuZ190aHJlYWRzKSk7CiAg
ICAgdnB4X2NvZGVjX2NvbnRyb2woJmNvZGVjLCBWUDlFX1NFVF9ESVNBQkxFX0xPT1BGSUxURVIs
IDApOwotCisjaWYgUk9JX01BUAorICAgIHNldF9yb2lfbWFwKGVuY29kZXItPm5hbWUsICZjZmcs
ICZyb2kpOworICAgIGlmICh2cHhfY29kZWNfY29udHJvbCgmY29kZWMsIFZQOUVfU0VUX1JPSV9N
QVAsICZyb2kpKQorICAgICAgZGllX2NvZGVjKCZjb2RlYywgIkZhaWxlZCB0byBzZXQgUk9JIG1h
cCIpOworICAgIHZweF9jb2RlY19jb250cm9sKCZjb2RlYywgVlA5RV9TRVRfQVFfTU9ERSwgMCk7
CisjZW5kaWYKICAgICBpZiAoY2ZnLmdfdGhyZWFkcyA+IDEpCiAgICAgICB2cHhfY29kZWNfY29u
dHJvbCgmY29kZWMsIFZQOUVfU0VUX1JPV19NVCwgMSk7CiAgICAgZWxzZQpAQCAtOTQ0LDkgKzg4
MCw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgIHN0cnVjdCB2cHhf
dXNlY190aW1lciB0aW1lcjsKICAgICB2cHhfY29kZWNfaXRlcl90IGl0ZXIgPSBOVUxMOwogICAg
IGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0OwotI2lmIFJPSV9NQVAKLSAgICBjaGFyIG1h
c2tfZmlsZV9uYW1lWzI1NV07Ci0jZW5kaWYKICAgICAvLyBVcGRhdGUgdGhlIHRlbXBvcmFsIGxh
eWVyX2lkLiBObyBzcGF0aWFsIGxheWVycyBpbiB0aGlzIHRlc3QuCiAgICAgbGF5ZXJfaWQuc3Bh
dGlhbF9sYXllcl9pZCA9IDA7CiAgICAgbGF5ZXJfaWQudGVtcG9yYWxfbGF5ZXJfaWQgPQpAQCAt
OTYwLDE5ICs4OTMsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICAgICB9
CiAgICAgZmxhZ3MgPSBsYXllcl9mbGFnc1tmcmFtZV9jbnQgJSBmbGFnX3BlcmlvZGljaXR5XTsK
ICAgICBpZiAobGF5ZXJpbmdfbW9kZSA9PSAwKSBmbGFncyA9IDA7Ci0jaWYgUk9JX01BUAotICAg
IHNucHJpbnRmKG1hc2tfZmlsZV9uYW1lLCBzaXplb2YobWFza19maWxlX25hbWUpLCAiJXMlMDVk
LnR4dCIsCi0gICAgICAgICAgICAgYXJndlthcmdjIC0gMV0sIGZyYW1lX2NudCk7Ci0gICAgbWFz
a19maWxlID0gZm9wZW4obWFza19maWxlX25hbWUsICJyIik7Ci0gICAgaWYgKG1hc2tfZmlsZSAh
PSBOVUxMKSB7Ci0gICAgICByZWFkX21hc2sobWFza19maWxlLCBtYXNrX21hcCk7Ci0gICAgICBm
Y2xvc2UobWFza19maWxlKTsKLSAgICAgIC8vIHNldF9yb2lfbWFwKGVuY29kZXItPm5hbWUsICZj
ZmcsICZyb2kpOwotICAgICAgc2V0X3JvaV9za2lwX21hcCgmY2ZnLCAmcm9pLCBtYXNrX21hcCwg
cHJldl9tYXNrX21hcCwgZnJhbWVfY250KTsKLSAgICAgIGlmICh2cHhfY29kZWNfY29udHJvbCgm
Y29kZWMsIFZQOUVfU0VUX1JPSV9NQVAsICZyb2kpKQotICAgICAgICBkaWVfY29kZWMoJmNvZGVj
LCAiRmFpbGVkIHRvIHNldCBST0kgbWFwIik7Ci0gICAgfQotI2VuZGlmCiAgICAgZnJhbWVfYXZh
aWwgPSByZWFkX2ZyYW1lKCZpbnB1dF9jdHgsICZyYXcpOwogICAgIGlmIChmcmFtZV9hdmFpbCkg
KytyYy5sYXllcl9pbnB1dF9mcmFtZXNbbGF5ZXJfaWQudGVtcG9yYWxfbGF5ZXJfaWRdOwogICAg
IHZweF91c2VjX3RpbWVyX3N0YXJ0KCZ0aW1lcik7CkBAIC0xMDEwLDcgKzkzMCw2IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgICAgICAgIC8vIFVwZGF0ZSBmb3Igc2hv
cnQtdGltZSBlbmNvZGluZyBiaXRyYXRlIHN0YXRlcywgZm9yIG1vdmluZyB3aW5kb3cKICAgICAg
ICAgICAvLyBvZiBzaXplIHJjLT53aW5kb3csIHNoaWZ0ZWQgYnkgcmMtPndpbmRvdyAvIDIuCiAg
ICAgICAgICAgLy8gSWdub3JlIGZpcnN0IHdpbmRvdyBzZWdtZW50LCBkdWUgdG8ga2V5IGZyYW1l
LgotICAgICAgICAgIGlmIChyYy53aW5kb3dfc2l6ZSA9PSAwKSByYy53aW5kb3dfc2l6ZSA9IDE1
OwogICAgICAgICAgIGlmIChmcmFtZV9jbnQgPiByYy53aW5kb3dfc2l6ZSkgewogICAgICAgICAg
ICAgc3VtX2JpdHJhdGUgKz0gMC4wMDEgKiA4LjAgKiBwa3QtPmRhdGEuZnJhbWUuc3ogKiBmcmFt
ZXJhdGU7CiAgICAgICAgICAgICBpZiAoZnJhbWVfY250ICUgcmMud2luZG93X3NpemUgPT0gMCkg
ewpAQCAtMTA0MiwxMCArOTYxLDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7
CiAgICAgKytmcmFtZV9jbnQ7CiAgICAgcHRzICs9IGZyYW1lX2R1cmF0aW9uOwogICB9Ci0jaWYg
Uk9JX01BUAotICBmcmVlKG1hc2tfbWFwKTsKLSAgZnJlZShwcmV2X21hc2tfbWFwKTsKLSNlbmRp
ZgogICBjbG9zZV9pbnB1dF9maWxlKCZpbnB1dF9jdHgpOwogICBwcmludG91dF9yYXRlX2NvbnRy
b2xfc3VtbWFyeSgmcmMsICZjZmcsIGZyYW1lX2NudCk7CiAgIHByaW50ZigiXG4iKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvbGlicy5kb3h5X3RlbXBsYXRlIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9saWJzLmRv
eHlfdGVtcGxhdGUKaW5kZXggMWVlNDQyYWYzZWEzLi4xZWFjYzhmZTJkYjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvbGlicy5kb3h5X3RlbXBsYXRlCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvbGlicy5kb3h5
X3RlbXBsYXRlCkBAIC02NTQsNiArNjU0LDEyIEBAIFZFUkJBVElNX0hFQURFUlMgICAgICAgPSBZ
RVMKIAogQUxQSEFCRVRJQ0FMX0lOREVYICAgICA9IE5PCiAKKyMgSWYgdGhlIGFscGhhYmV0aWNh
bCBpbmRleCBpcyBlbmFibGVkIChzZWUgQUxQSEFCRVRJQ0FMX0lOREVYKSB0aGVuCisjIHRoZSBD
T0xTX0lOX0FMUEhBX0lOREVYIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBudW1iZXIg
b2YgY29sdW1ucworIyBpbiB3aGljaCB0aGlzIGxpc3Qgd2lsbCBiZSBzcGxpdCAoY2FuIGJlIGEg
bnVtYmVyIGluIHRoZSByYW5nZSBbMS4uMjBdKQorCitDT0xTX0lOX0FMUEhBX0lOREVYICAgID0g
NQorCiAjIEluIGNhc2UgYWxsIGNsYXNzZXMgaW4gYSBwcm9qZWN0IHN0YXJ0IHdpdGggYSBjb21t
b24gcHJlZml4LCBhbGwKICMgY2xhc3NlcyB3aWxsIGJlIHB1dCB1bmRlciB0aGUgc2FtZSBoZWFk
ZXIgaW4gdGhlIGFscGhhYmV0aWNhbCBpbmRleC4KICMgVGhlIElHTk9SRV9QUkVGSVggdGFnIGNh
biBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgcHJlZml4ZXMgdGhhdApAQCAtMTA5Mywx
MCArMTA5OSwzMiBAQCBBTExFWFRFUk5BTFMgICAgICAgICAgID0gTk8KIAogRVhURVJOQUxfR1JP
VVBTICAgICAgICA9IFlFUwogCisjIFRoZSBQRVJMX1BBVEggc2hvdWxkIGJlIHRoZSBhYnNvbHV0
ZSBwYXRoIGFuZCBuYW1lIG9mIHRoZSBwZXJsIHNjcmlwdAorIyBpbnRlcnByZXRlciAoaS5lLiB0
aGUgcmVzdWx0IG9mIGB3aGljaCBwZXJsJykuCisKK1BFUkxfUEFUSCAgICAgICAgICAgICAgPSAv
dXNyL2Jpbi9wZXJsCisKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgQ29uZmlndXJhdGlvbiBvcHRp
b25zIHJlbGF0ZWQgdG8gdGhlIGRvdCB0b29sCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKKyMgSWYg
dGhlIENMQVNTX0RJQUdSQU1TIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdl
biB3aWxsCisjIGdlbmVyYXRlIGEgaW5oZXJpdGFuY2UgZGlhZ3JhbSAoaW4gSFRNTCwgUlRGIGFu
ZCBsYV90ZV94KSBmb3IgY2xhc3NlcyB3aXRoIGJhc2UKKyMgb3Igc3VwZXIgY2xhc3Nlcy4gU2V0
dGluZyB0aGUgdGFnIHRvIE5PIHR1cm5zIHRoZSBkaWFncmFtcyBvZmYuIE5vdGUgdGhhdAorIyB0
aGlzIG9wdGlvbiBpcyBzdXBlcnNlZGVkIGJ5IHRoZSBIQVZFX0RPVCBvcHRpb24gYmVsb3cuIFRo
aXMgaXMgb25seSBhCisjIGZhbGxiYWNrLiBJdCBpcyByZWNvbW1lbmRlZCB0byBpbnN0YWxsIGFu
ZCB1c2UgZG90LCBzaW5jZSBpdCB5aWVsZHMgbW9yZQorIyBwb3dlcmZ1bCBncmFwaHMuCisKK0NM
QVNTX0RJQUdSQU1TICAgICAgICAgPSBZRVMKKworIyBZb3UgY2FuIGRlZmluZSBtZXNzYWdlIHNl
cXVlbmNlIGNoYXJ0cyB3aXRoaW4gZG94eWdlbiBjb21tZW50cyB1c2luZyB0aGUgXG1zYworIyBj
b21tYW5kLiBEb3h5Z2VuIHdpbGwgdGhlbiBydW4gdGhlIG1zY2dlbiB0b29sIChzZWUgaHR0cDov
L3d3dy5tY3Rlcm5hbi5tZS51ay9tc2NnZW4vKSB0bworIyBwcm9kdWNlIHRoZSBjaGFydCBhbmQg
aW5zZXJ0IGl0IGluIHRoZSBkb2N1bWVudGF0aW9uLiBUaGUgTVNDR0VOX1BBVEggdGFnIGFsbG93
cyB5b3UgdG8KKyMgc3BlY2lmeSB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBtc2NnZW4gdG9vbCBy
ZXNpZGVzLiBJZiBsZWZ0IGVtcHR5IHRoZSB0b29sIGlzIGFzc3VtZWQgdG8KKyMgYmUgZm91bmQg
aW4gdGhlIGRlZmF1bHQgc2VhcmNoIHBhdGguCisKK01TQ0dFTl9QQVRIICAgICAgICAgICAgPQor
CiAjIElmIHNldCB0byBZRVMsIHRoZSBpbmhlcml0YW5jZSBhbmQgY29sbGFib3JhdGlvbiBncmFw
aHMgd2lsbCBoaWRlCiAjIGluaGVyaXRhbmNlIGFuZCB1c2FnZSByZWxhdGlvbnMgaWYgdGhlIHRh
cmdldCBpcyB1bmRvY3VtZW50ZWQKICMgb3IgaXMgbm90IGEgY2xhc3MuCkBAIC0xMTEwLDE0ICsx
MTM4LDEwIEBAIEhJREVfVU5ET0NfUkVMQVRJT05TICAgPSBZRVMKIAogSEFWRV9ET1QgICAgICAg
ICAgICAgICA9IE5PCiAKLSMgSWYgdGhlIENMQVNTX0dSQVBIIHRhZyBpcyBzZXQgdG8gWUVTIChv
ciBHUkFQSCkgdGhlbiBkb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgYQotIyBncmFwaCBmb3IgZWFjaCBk
b2N1bWVudGVkIGNsYXNzIHNob3dpbmcgdGhlIGRpcmVjdCBhbmQgaW5kaXJlY3QgaW5oZXJpdGFu
Y2UKLSMgcmVsYXRpb25zLiBJbiBjYXNlIEhBVkVfRE9UIGlzIHNldCBhcyB3ZWxsIGRvdCB3aWxs
IGJlIHVzZWQgdG8gZHJhdyB0aGUgZ3JhcGgsCi0jIG90aGVyd2lzZSB0aGUgYnVpbHQtaW4gZ2Vu
ZXJhdG9yIHdpbGwgYmUgdXNlZC4gSWYgdGhlIENMQVNTX0dSQVBIIHRhZyBpcyBzZXQKLSMgdG8g
VEVYVCB0aGUgZGlyZWN0IGFuZCBpbmRpcmVjdCBpbmhlcml0YW5jZSByZWxhdGlvbnMgd2lsbCBi
ZSBzaG93biBhcyB0ZXh0cyAvCi0jIGxpbmtzLgotIyBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBOTywg
WUVTLCBURVhUIGFuZCBHUkFQSC4KLSMgVGhlIGRlZmF1bHQgdmFsdWUgaXM6IFlFUy4KKyMgSWYg
dGhlIENMQVNTX0dSQVBIIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTIHRoZW4gZG94
eWdlbgorIyB3aWxsIGdlbmVyYXRlIGEgZ3JhcGggZm9yIGVhY2ggZG9jdW1lbnRlZCBjbGFzcyBz
aG93aW5nIHRoZSBkaXJlY3QgYW5kCisjIGluZGlyZWN0IGluaGVyaXRhbmNlIHJlbGF0aW9ucy4g
U2V0dGluZyB0aGlzIHRhZyB0byBZRVMgd2lsbCBmb3JjZSB0aGUKKyMgdGhlIENMQVNTX0RJQUdS
QU1TIHRhZyB0byBOTy4KIAogQ0xBU1NfR1JBUEggICAgICAgICAgICA9IFlFUwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L2xpYnMubWsgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2xpYnMubWsKaW5kZXggZmYxYzU2
OWMzYjM2Li5iNWJjMzU3NTVjZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvbGlicy5taworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L2xpYnMubWsKQEAgLTk0LDI4ICs5NCwxNSBAQCBpZmVxICgkKENPTkZJR19W
UDlfRU5DT0RFUikseWVzKQogICBJTlNUQUxMX01BUFMgKz0gaW5jbHVkZS92cHgvJSAkKFNSQ19Q
QVRIX0JBUkUpLyQoVlA5X1BSRUZJWCkvJQogICBDT0RFQ19ET0NfU1JDUyArPSB2cHgvdnA4Lmgg
dnB4L3ZwOGN4LmggdnB4L3ZweF9leHRfcmF0ZWN0cmwuaAogICBDT0RFQ19ET0NfU0VDVElPTlMg
Kz0gdnA5IHZwOV9lbmNvZGVyCi1lbmRpZgogCi1SQ19SVENfU1JDUyA6PSB2cHgvdnA4LmggdnB4
L3ZwOGN4LmgKLVJDX1JUQ19TUkNTICs9IHZweC92cHhfZXh0X3JhdGVjdHJsLmgKLVJDX1JUQ19T
UkNTICs9IHZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgKLWlmZXEgKCQoQ09ORklHX1ZQ
OV9FTkNPREVSKSx5ZXMpCi0gIFZQOV9QUkVGSVg9dnA5LwotICBSQ19SVENfU1JDUyArPSAkKGFk
ZHByZWZpeCAkKFZQOV9QUkVGSVgpLCQoY2FsbCBlbmFibGVkLFZQOV9DWF9TUkNTKSkKLSAgUkNf
UlRDX1NSQ1MgKz0gJChWUDlfUFJFRklYKXZwOWN4Lm1rCisgIFJDX1JUQ19TUkNTIDo9ICQoYWRk
cHJlZml4ICQoVlA5X1BSRUZJWCksJChjYWxsIGVuYWJsZWQsVlA5X0NYX1NSQ1MpKQorICBSQ19S
VENfU1JDUyArPSAkKFZQOV9QUkVGSVgpdnA5Y3gubWsgdnB4L3ZwOC5oIHZweC92cDhjeC5oCisg
IFJDX1JUQ19TUkNTICs9IHZweC92cHhfZXh0X3JhdGVjdHJsLmgKICAgUkNfUlRDX1NSQ1MgKz0g
JChWUDlfUFJFRklYKXJhdGVjdHJsX3J0Yy5jYwogICBSQ19SVENfU1JDUyArPSAkKFZQOV9QUkVG
SVgpcmF0ZWN0cmxfcnRjLmgKICAgSU5TVEFMTC1TUkNTLSQoQ09ORklHX0NPREVDX1NSQ1MpICs9
ICQoVlA5X1BSRUZJWClyYXRlY3RybF9ydGMuY2MKICAgSU5TVEFMTC1TUkNTLSQoQ09ORklHX0NP
REVDX1NSQ1MpICs9ICQoVlA5X1BSRUZJWClyYXRlY3RybF9ydGMuaAogZW5kaWYKLWlmZXEgKCQo
Q09ORklHX1ZQOF9FTkNPREVSKSx5ZXMpCi0gIFZQOF9QUkVGSVg9dnA4LwotICBSQ19SVENfU1JD
UyArPSAkKGFkZHByZWZpeCAkKFZQOF9QUkVGSVgpLCQoY2FsbCBlbmFibGVkLFZQOF9DWF9TUkNT
KSkKLSAgUkNfUlRDX1NSQ1MgKz0gJChWUDhfUFJFRklYKXZwOF9yYXRlY3RybF9ydGMuY2MKLSAg
UkNfUlRDX1NSQ1MgKz0gJChWUDhfUFJFRklYKXZwOF9yYXRlY3RybF9ydGMuaAotICBJTlNUQUxM
LVNSQ1MtJChDT05GSUdfQ09ERUNfU1JDUykgKz0gJChWUDhfUFJFRklYKXZwOF9yYXRlY3RybF9y
dGMuY2MKLSAgSU5TVEFMTC1TUkNTLSQoQ09ORklHX0NPREVDX1NSQ1MpICs9ICQoVlA4X1BSRUZJ
WCl2cDhfcmF0ZWN0cmxfcnRjLmgKLWVuZGlmCiAKIGlmZXEgKCQoQ09ORklHX1ZQOV9ERUNPREVS
KSx5ZXMpCiAgIFZQOV9QUkVGSVg9dnA5LwpAQCAtMTM5LDcgKzEyNiw3IEBAIGVuZGlmCiBpZmVx
ICgkKENPTkZJR19NU1ZTKSx5ZXMpCiBDT0RFQ19MSUI9JChpZiAkKENPTkZJR19TVEFUSUNfTVNW
Q1JUKSx2cHhtdCx2cHhtZCkKIEdURVNUX0xJQj0kKGlmICQoQ09ORklHX1NUQVRJQ19NU1ZDUlQp
LGd0ZXN0bXQsZ3Rlc3RtZCkKLVJDX1JUQ19MSUI9JChpZiAkKENPTkZJR19TVEFUSUNfTVNWQ1JU
KSx2cHhyY210LHZweHJjbWQpCitSQ19SVENfTElCPSQoaWYgJChDT05GSUdfU1RBVElDX01TVkNS
VCksdnA5cmNtdCx2cDlyY21kKQogIyBUaGlzIHZhcmlhYmxlIHVzZXMgZGVmZXJyZWQgZXhwYW5z
aW9uIGludGVudGlvbmFsbHksIHNpbmNlIHRoZSByZXN1bHRzIG9mCiAjICQod2lsZGNhcmQpIG1h
eSBjaGFuZ2UgZHVyaW5nIHRoZSBjb3Vyc2Ugb2YgdGhlIE1ha2UuCiBWU19QTEFURk9STVMgPSAk
KGZvcmVhY2ggZCwkKHdpbGRjYXJkICovUmVsZWFzZS8kKENPREVDX0xJQikubGliKSwkKHdvcmQg
MSwkKHN1YnN0IC8sICwkKGQpKSkpCkBAIC0xNzgsNyArMTY1LDYgQEAgSU5TVEFMTC1MSUJTLXll
cyArPSBpbmNsdWRlL3ZweC92cHhfaW1hZ2UuaAogSU5TVEFMTC1MSUJTLXllcyArPSBpbmNsdWRl
L3ZweC92cHhfaW50ZWdlci5oCiBJTlNUQUxMLUxJQlMtJChDT05GSUdfREVDT0RFUlMpICs9IGlu
Y2x1ZGUvdnB4L3ZweF9kZWNvZGVyLmgKIElOU1RBTEwtTElCUy0kKENPTkZJR19FTkNPREVSUykg
Kz0gaW5jbHVkZS92cHgvdnB4X2VuY29kZXIuaAotSU5TVEFMTC1MSUJTLSQoQ09ORklHX0VOQ09E
RVJTKSArPSBpbmNsdWRlL3ZweC92cHhfdHBsLmgKIGlmZXEgKCQoQ09ORklHX0VYVEVSTkFMX0JV
SUxEKSx5ZXMpCiBpZmVxICgkKENPTkZJR19NU1ZTKSx5ZXMpCiBJTlNUQUxMLUxJQlMteWVzICAg
ICAgICAgICAgICAgICAgKz0gJChmb3JlYWNoIHAsJChWU19QTEFURk9STVMpLCQoTElCU1VCRElS
KS8kKHApLyQoQ09ERUNfTElCKS5saWIpCkBAIC0yNDYsNyArMjMyLDYgQEAgdnB4LiQoVkNQUk9K
X1NGWCk6ICQoQ09ERUNfU1JDUykgdnB4LmRlZgogICAgICAgICAgICAgLS12ZXI9JChDT05GSUdf
VlNfVkVSU0lPTikgXAogICAgICAgICAgICAgLS1zcmMtcGF0aC1iYXJlPSIkKFNSQ19QQVRIX0JB
UkUpIiBcCiAgICAgICAgICAgICAtLW91dD0kQCAkKENGTEFHUykgXAotICAgICAgICAgICAgLS1h
cz0kKEFTKSBcCiAgICAgICAgICAgICAkKGZpbHRlciAkKFNSQ19QQVRIX0JBUkUpL3ZwOC8lLmMs
ICQoVkNQUk9KX1NSQ1MpKSBcCiAgICAgICAgICAgICAkKGZpbHRlciAkKFNSQ19QQVRIX0JBUkUp
L3ZwOC8lLmgsICQoVkNQUk9KX1NSQ1MpKSBcCiAgICAgICAgICAgICAkKGZpbHRlciAkKFNSQ19Q
QVRIX0JBUkUpL3ZwOS8lLmMsICQoVkNQUk9KX1NSQ1MpKSBcCkBAIC0yNjMsMjEgKzI0OCwyMCBA
QCBQUk9KRUNUUy15ZXMgKz0gdnB4LiQoVkNQUk9KX1NGWCkKIHZweC4kKFZDUFJPSl9TRlgpOiB2
cHhfY29uZmlnLmFzbQogdnB4LiQoVkNQUk9KX1NGWCk6ICQoUlRDRCkKIAotdnB4cmMuJChWQ1BS
T0pfU0ZYKTogXAordnA5cmMuJChWQ1BST0pfU0ZYKTogXAogICAgIFZDUFJPSl9TUkNTPSQoZmls
dGVyLW91dCAkKGFkZHByZWZpeCAlLCAkKEFTTV9JTkNMVURFUykpLCAkXikKIAotdnB4cmMuJChW
Q1BST0pfU0ZYKTogJChSQ19SVENfU1JDUykKK3ZwOXJjLiQoVkNQUk9KX1NGWCk6ICQoUkNfUlRD
X1NSQ1MpCiAJQGVjaG8gIiAgICBbQ1JFQVRFXSAkQCIKIAkkKHFleGVjKSQoR0VOX1ZDUFJPSikg
XAogICAgICAgICAgICAgJChpZiAkKENPTkZJR19TSEFSRUQpLC0tZGxsLC0tbGliKSBcCiAgICAg
ICAgICAgICAtLXRhcmdldD0kKFRPT0xDSEFJTikgXAogICAgICAgICAgICAgJChpZiAkKENPTkZJ
R19TVEFUSUNfTVNWQ1JUKSwtLXN0YXRpYy1jcnQpIFwKLSAgICAgICAgICAgIC0tbmFtZT12cHhy
YyBcCisgICAgICAgICAgICAtLW5hbWU9dnA5cmMgXAogICAgICAgICAgICAgLS1wcm9qLWd1aWQ9
QzI2RkY5NTItOTQ5NC00ODM4LTlBM0YtN0YzRDRGNjEzMzg1IFwKICAgICAgICAgICAgIC0tdmVy
PSQoQ09ORklHX1ZTX1ZFUlNJT04pIFwKICAgICAgICAgICAgIC0tc3JjLXBhdGgtYmFyZT0iJChT
UkNfUEFUSF9CQVJFKSIgXAogICAgICAgICAgICAgLS1vdXQ9JEAgJChDRkxBR1MpIFwKLSAgICAg
ICAgICAgIC0tYXM9JChBUykgXAogICAgICAgICAgICAgJChmaWx0ZXIgJChTUkNfUEFUSF9CQVJF
KS92cDkvJS5jLCAkKFZDUFJPSl9TUkNTKSkgXAogICAgICAgICAgICAgJChmaWx0ZXIgJChTUkNf
UEFUSF9CQVJFKS92cDkvJS5jYywgJChWQ1BST0pfU1JDUykpIFwKICAgICAgICAgICAgICQoZmls
dGVyICQoU1JDX1BBVEhfQkFSRSkvdnA5LyUuaCwgJChWQ1BST0pfU1JDUykpIFwKQEAgLTI4OSwx
MCArMjczLDEwIEBAIHZweHJjLiQoVkNQUk9KX1NGWCk6ICQoUkNfUlRDX1NSQ1MpCiAgICAgICAg
ICAgICAgICQoVkNQUk9KX1NSQ1MpKSBcCiAgICAgICAgICAgICAtLXNyYy1wYXRoLWJhcmU9IiQo
U1JDX1BBVEhfQkFSRSkiIFwKIAotUFJPSkVDVFMteWVzICs9IHZweHJjLiQoVkNQUk9KX1NGWCkK
K1BST0pFQ1RTLXllcyArPSB2cDlyYy4kKFZDUFJPSl9TRlgpCiAKLXZweHJjLiQoVkNQUk9KX1NG
WCk6IHZweF9jb25maWcuYXNtCi12cHhyYy4kKFZDUFJPSl9TRlgpOiAkKFJUQ0QpCit2cDlyYy4k
KFZDUFJPSl9TRlgpOiB2cHhfY29uZmlnLmFzbQordnA5cmMuJChWQ1BST0pfU0ZYKTogJChSVENE
KQogCiBlbmRpZiAjIGlmZXEgKCQoQ09ORklHX01TVlMpLHllcykKIGVsc2UgIyBpZmVxICgkKENP
TkZJR19FWFRFUk5BTF9CVUlMRCkseWVzKQpAQCAtMzAxLDIxICsyODUsOSBAQCBPQkpTLXllcyAr
PSAkKExJQlZQWF9PQkpTKQogTElCUy0kKGlmIHllcywkKENPTkZJR19TVEFUSUMpKSArPSAkKEJV
SUxEX1BGWClsaWJ2cHguYSAkKEJVSUxEX1BGWClsaWJ2cHhfZy5hCiAkKEJVSUxEX1BGWClsaWJ2
cHhfZy5hOiAkKExJQlZQWF9PQkpTKQogCi0jIFVwZGF0aW5nIHZlcnNpb24gaW5mby4KLSMgaHR0
cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0b29sL21hbnVhbC9saWJ0b29sLmh0bWwjVXBk
YXRpbmctdmVyc2lvbi1pbmZvCi0jIEZvciBsaWJ0b29sOiBjPTxjdXJyZW50PiwgYT08YWdlPiwg
cj08cmV2aXNpb24+Ci0jIGxpYnRvb2wgZ2VuZXJhdGVzIC5zbyBmaWxlIGFzIC5zby5bYy1hXS5h
LnIsIHdoaWxlIC12ZXJzaW9uLWluZm8gYzpyOmEgaXMKLSMgcGFzc2VkIHRvIGxpYnRvb2wuCi0j
Ci0jIGxpYnZweCBsaWJyYXJ5IGZpbGUgaXMgZ2VuZXJhdGVkIGFzIGxpYnZweC5zby48TUFKT1I+
LjxNSU5PUj4uPFBBVENIPgotIyBNQUpPUiA9IGMtYSwgTUlOT1IgPSBhLCBQQVRDSCA9IHIKLSMK
LSMgVG8gZGV0ZXJtaW5lIFNPX1ZFUlNJT05fe01BSk9SLE1JTk9SLFBBVENIfSwgY2FsY3VsYXRl
IGMsYSxyIHdpdGggY3VycmVudAotIyBTT19WRVJTSU9OXyogdGhlbiBmb2xsb3cgdGhlIHJ1bGVz
IGluIHRoZSBsaW5rIHRvIGRldGVtaW5lIHRoZSBuZXcgdmVyc2lvbgotIyAoYzEsIGExLCByMSkg
YW5kIHNldCBNQUpPUiB0byBbYzEtYTFdLCBNSU5PUiB0byBhMSBhbmQgUEFUQ0ggdG8gcjEKLVNP
X1ZFUlNJT05fTUFKT1IgOj0gOAotU09fVkVSU0lPTl9NSU5PUiA6PSAwCi1TT19WRVJTSU9OX1BB
VENIIDo9IDEKK1NPX1ZFUlNJT05fTUFKT1IgOj0gNgorU09fVkVSU0lPTl9NSU5PUiA6PSAzCitT
T19WRVJTSU9OX1BBVENIIDo9IDAKIGlmZXEgKCQoZmlsdGVyIGRhcndpbiUsJChUR1RfT1MpKSwk
KFRHVF9PUykpCiBMSUJWUFhfU08gICAgICAgICAgICAgICA6PSBsaWJ2cHguJChTT19WRVJTSU9O
X01BSk9SKS5keWxpYgogU0hBUkVEX0xJQl9TVUYgICAgICAgICAgOj0gLmR5bGliCkBAIC00MTIs
MTEgKzM4NCwxMiBAQCBJTlNUQUxMLUxJQlMteWVzICs9ICQoTElCU1VCRElSKS9wa2djb25maWcv
dnB4LnBjCiBJTlNUQUxMX01BUFMgKz0gJChMSUJTVUJESVIpL3BrZ2NvbmZpZy8lLnBjICUucGMK
IENMRUFOLU9CSlMgKz0gdnB4LnBjCiAKLWlmZXEgKCQoQ09ORklHX0VOQ09ERVJTKSx5ZXMpCitp
ZmVxICgkKENPTkZJR19WUDlfRU5DT0RFUikseWVzKQorICBSQ19SVENfT0JKUz0kKGNhbGwgb2Jq
cywkKFJDX1JUQ19TUkNTKSkKICAgUkNfUlRDX09CSlM9JChjYWxsIG9ianMsJChSQ19SVENfU1JD
UykpCiAgIE9CSlMteWVzICs9ICQoUkNfUlRDX09CSlMpCi0gIExJQlMteWVzICs9ICQoQlVJTERf
UEZYKWxpYnZweHJjLmEgJChCVUlMRF9QRlgpbGlidnB4cmNfZy5hCi0gICQoQlVJTERfUEZYKWxp
YnZweHJjX2cuYTogJChSQ19SVENfT0JKUykKKyAgTElCUy15ZXMgKz0gJChCVUlMRF9QRlgpbGli
dnA5cmMuYSAkKEJVSUxEX1BGWClsaWJ2cDlyY19nLmEKKyAgJChCVUlMRF9QRlgpbGlidnA5cmNf
Zy5hOiAkKFJDX1JUQ19PQkpTKQogZW5kaWYKIAogaWZlcSAoJChDT05GSUdfVlA5X0VOQ09ERVIp
JChDT05GSUdfUkFURV9DVFJMKSx5ZXN5ZXMpCkBAIC00NDcsMTMgKzQyMCwxMyBAQCBpZmVxICgk
KFZQWF9BUkNIX1g4NikkKFZQWF9BUkNIX1g4Nl82NCkseWVzKQogIyBZQVNNCiAkKEJVSUxEX1BG
WCl2cHhfY29uZmlnLmFzbTogJChCVUlMRF9QRlgpdnB4X2NvbmZpZy5oCiAJQGVjaG8gIiAgICBb
Q1JFQVRFXSAkQCIKLQlATENfQUxMPUMgZ3JlcCAtRSAiI2RlZmluZSBbQS1aMC05X10rIFswMV0i
ICQ8IFwKKwlATENfQUxMPUMgZWdyZXAgIiNkZWZpbmUgW0EtWjAtOV9dKyBbMDFdIiAkPCBcCiAJ
ICAgIHwgYXdrICd7cHJpbnQgJCQyICIgZXF1ICIgJCQzfScgPiAkQAogZWxzZQogQURTMkdBUz0k
KGlmICQoZmlsdGVyIHllcywkKENPTkZJR19HQ0MpKSx8ICQoQVNNX0NPTlZFUlNJT04pKQogJChC
VUlMRF9QRlgpdnB4X2NvbmZpZy5hc206ICQoQlVJTERfUEZYKXZweF9jb25maWcuaAogCUBlY2hv
ICIgICAgW0NSRUFURV0gJEAiCi0JQExDX0FMTD1DIGdyZXAgLUUgIiNkZWZpbmUgW0EtWjAtOV9d
KyBbMDFdIiAkPCBcCisJQExDX0FMTD1DIGVncmVwICIjZGVmaW5lIFtBLVowLTlfXSsgWzAxXSIg
JDwgXAogCSAgICB8IGF3ayAne3ByaW50ICQkMiAiIEVRVSAiICQkM30nICQoQURTMkdBUykgPiAk
QAogCUBlY2hvICIgICAgICAgIEVORCIgJChBRFMyR0FTKSA+PiAkQAogQ0xFQU4tT0JKUyArPSAk
KEJVSUxEX1BGWCl2cHhfY29uZmlnLmFzbQpAQCAtNTA2LDEyICs0NzksMTAgQEAgVEVTVF9JTlRS
QV9QUkVEX1NQRUVEX1NSQ1M9JChjYWxsIGFkZHByZWZpeF9jbGVhbix0ZXN0LyxcCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAkKGNhbGwgZW5hYmxlZCxURVNUX0lOVFJBX1BSRURfU1BFRURf
U1JDUykpCiBURVNUX0lOVFJBX1BSRURfU1BFRURfT0JKUyA6PSAkKHNvcnQgJChjYWxsIG9ianMs
JChURVNUX0lOVFJBX1BSRURfU1BFRURfU1JDUykpKQogCi1pZmVxICgkKENPTkZJR19FTkNPREVS
UykseWVzKQogUkNfSU5URVJGQUNFX1RFU1RfQklOPS4vdGVzdF9yY19pbnRlcmZhY2UkKEVYRV9T
RlgpCiBSQ19JTlRFUkZBQ0VfVEVTVF9TUkNTPSQoY2FsbCBhZGRwcmVmaXhfY2xlYW4sdGVzdC8s
XAogICAgICAgICAgICAgICAgICAgICAgICAkKGNhbGwgZW5hYmxlZCxSQ19JTlRFUkZBQ0VfVEVT
VF9TUkNTKSkKIFJDX0lOVEVSRkFDRV9URVNUX09CSlMgOj0gJChzb3J0ICQoY2FsbCBvYmpzLCQo
UkNfSU5URVJGQUNFX1RFU1RfU1JDUykpKQotZW5kaWYKIAogU0lNUExFX0VOQ09ERV9URVNUX0JJ
Tj0uL3Rlc3Rfc2ltcGxlX2VuY29kZSQoRVhFX1NGWCkKIFNJTVBMRV9FTkNPREVfVEVTVF9TUkNT
PSQoY2FsbCBhZGRwcmVmaXhfY2xlYW4sdGVzdC8sXApAQCAtNTM3LDcgKzUwOCw3IEBAICQoTElC
VlBYX1RFU1RfREFUQSk6ICQoU1JDX1BBVEhfQkFSRSkvdGVzdC90ZXN0LWRhdGEuc2hhMQogCSAg
ZXNhYyBcCiAJKQogCi10ZXN0ZGF0YTogJChMSUJWUFhfVEVTVF9EQVRBKQordGVzdGRhdGE6OiAk
KExJQlZQWF9URVNUX0RBVEEpCiAJJChxZXhlYylbIC14ICIkJCh3aGljaCBzaGExc3VtKSIgXSAm
JiBzaGExc3VtPXNoYTFzdW07XAogICAgICAgICAgIFsgLXggIiQkKHdoaWNoIHNoYXN1bSkiIF0g
JiYgc2hhMXN1bT1zaGFzdW07XAogICAgICAgICAgIFsgLXggIiQkKHdoaWNoIHNoYTEpIiBdICYm
IHNoYTFzdW09c2hhMTtcCkBAIC01NDYsNyArNTE3LDcgQEAgdGVzdGRhdGE6ICQoTElCVlBYX1RF
U1RfREFUQSkKICAgICAgICAgICAgIGVjaG8gIkNoZWNraW5nIHRlc3QgZGF0YToiO1wKICAgICAg
ICAgICAgIGZvciBmIGluICQoY2FsbCBlbmFibGVkLExJQlZQWF9URVNUX0RBVEEpOyBkb1wKICAg
ICAgICAgICAgICAgICBncmVwICQkZiAkKFNSQ19QQVRIX0JBUkUpL3Rlc3QvdGVzdC1kYXRhLnNo
YTEgfFwKLSAgICAgICAgICAgICAgICAgICAgKGNkICIkKExJQlZQWF9URVNUX0RBVEFfUEFUSCki
OyAkJHtzaGExc3VtfSAtYyk7XAorICAgICAgICAgICAgICAgICAgICAoY2QgJChMSUJWUFhfVEVT
VF9EQVRBX1BBVEgpOyAkJHtzaGExc3VtfSAtYyk7XAogICAgICAgICAgICAgZG9uZTsgXAogICAg
ICAgICBlbHNlXAogICAgICAgICAgICAgZWNobyAiU2tpcHBpbmcgdGVzdCBkYXRhIGludGVncml0
eSBjaGVjaywgc2hhMXN1bSBub3QgZm91bmQuIjtcCkBAIC01NjUsNyArNTM2LDYgQEAgZ3Rlc3Qu
JChWQ1BST0pfU0ZYKTogJChTUkNfUEFUSF9CQVJFKS90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3Ny
Yy9zcmMvZ3Rlc3QtYWxsLmMKICAgICAgICAgICAgIC0tcHJvai1ndWlkPUVDMDBFMUVDLUFGNjgt
NEQ5Mi1BMjU1LTE4MTY5MEQxQzlCMSBcCiAgICAgICAgICAgICAtLXZlcj0kKENPTkZJR19WU19W
RVJTSU9OKSBcCiAgICAgICAgICAgICAtLXNyYy1wYXRoLWJhcmU9IiQoU1JDX1BBVEhfQkFSRSki
IFwKLSAgICAgICAgICAgIC0tYXM9JChBUykgXAogICAgICAgICAgICAgLURfVkFSSUFESUNfTUFY
PTEwIFwKICAgICAgICAgICAgIC0tb3V0PWd0ZXN0LiQoVkNQUk9KX1NGWCkgJChTUkNfUEFUSF9C
QVJFKS90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtYWxsLmNjIFwKICAgICAg
ICAgICAgIC1JLiAtSSIkKFNSQ19QQVRIX0JBUkUpL3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3Jj
L2luY2x1ZGUiIC1JIiQoU1JDX1BBVEhfQkFSRSkvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMi
CkBAIC01ODIsNyArNTUyLDYgQEAgdGVzdF9saWJ2cHguJChWQ1BST0pfU0ZYKTogJChMSUJWUFhf
VEVTVF9TUkNTKSB2cHguJChWQ1BST0pfU0ZYKSBndGVzdC4kKFZDUFJPSl8KICAgICAgICAgICAg
IC0tcHJvai1ndWlkPUNEODM3RjVGLTUyRDgtNDMxNC1BMzcwLTg5NUQ2MTQxNjZBNyBcCiAgICAg
ICAgICAgICAtLXZlcj0kKENPTkZJR19WU19WRVJTSU9OKSBcCiAgICAgICAgICAgICAtLXNyYy1w
YXRoLWJhcmU9IiQoU1JDX1BBVEhfQkFSRSkiIFwKLSAgICAgICAgICAgIC0tYXM9JChBUykgXAog
ICAgICAgICAgICAgJChpZiAkKENPTkZJR19TVEFUSUNfTVNWQ1JUKSwtLXN0YXRpYy1jcnQpIFwK
ICAgICAgICAgICAgIC0tb3V0PSRAICQoSU5URVJOQUxfQ0ZMQUdTKSAkKENGTEFHUykgXAogICAg
ICAgICAgICAgLUkuIC1JIiQoU1JDX1BBVEhfQkFSRSkvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9z
cmMvaW5jbHVkZSIgXApAQCAtNjA1LDE4ICs1NzQsMTYgQEAgdGVzdF9pbnRyYV9wcmVkX3NwZWVk
LiQoVkNQUk9KX1NGWCk6ICQoVEVTVF9JTlRSQV9QUkVEX1NQRUVEX1NSQ1MpIHZweC4kKFZDUFJP
Sl8KICAgICAgICAgICAgIC0tcHJvai1ndWlkPUNEODM3RjVGLTUyRDgtNDMxNC1BMzcwLTg5NUQ2
MTQxNjZBNyBcCiAgICAgICAgICAgICAtLXZlcj0kKENPTkZJR19WU19WRVJTSU9OKSBcCiAgICAg
ICAgICAgICAtLXNyYy1wYXRoLWJhcmU9IiQoU1JDX1BBVEhfQkFSRSkiIFwKLSAgICAgICAgICAg
IC0tYXM9JChBUykgXAogICAgICAgICAgICAgJChpZiAkKENPTkZJR19TVEFUSUNfTVNWQ1JUKSwt
LXN0YXRpYy1jcnQpIFwKICAgICAgICAgICAgIC0tb3V0PSRAICQoSU5URVJOQUxfQ0ZMQUdTKSAk
KENGTEFHUykgXAogICAgICAgICAgICAgLUkuIC1JIiQoU1JDX1BBVEhfQkFSRSkvdGhpcmRfcGFy
dHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZSIgXAogICAgICAgICAgICAgLUwuIC1sJChDT0RFQ19M
SUIpIC1sJChHVEVTVF9MSUIpICReCiBlbmRpZiAgIyBURVNUX0lOVFJBX1BSRURfU1BFRUQKIAot
aWZlcSAoJChDT05GSUdfRU5DT0RFUlMpLHllcykKIGlmbmVxICgkKHN0cmlwICQoUkNfSU5URVJG
QUNFX1RFU1RfT0JKUykpLCkKIFBST0pFQ1RTLSQoQ09ORklHX01TVlMpICs9IHRlc3RfcmNfaW50
ZXJmYWNlLiQoVkNQUk9KX1NGWCkKIHRlc3RfcmNfaW50ZXJmYWNlLiQoVkNQUk9KX1NGWCk6ICQo
UkNfSU5URVJGQUNFX1RFU1RfU1JDUykgdnB4LiQoVkNQUk9KX1NGWCkgXAotCXZweHJjLiQoVkNQ
Uk9KX1NGWCkgZ3Rlc3QuJChWQ1BST0pfU0ZYKQorCXZwOXJjLiQoVkNQUk9KX1NGWCkgZ3Rlc3Qu
JChWQ1BST0pfU0ZYKQogCUBlY2hvICIgICAgW0NSRUFURV0gJEAiCiAJJChxZXhlYykkKEdFTl9W
Q1BST0opIFwKICAgICAgICAgICAgIC0tZXhlIFwKQEAgLTYyNSwxNSArNTkyLDEzIEBAIHRlc3Rf
cmNfaW50ZXJmYWNlLiQoVkNQUk9KX1NGWCk6ICQoUkNfSU5URVJGQUNFX1RFU1RfU1JDUykgdnB4
LiQoVkNQUk9KX1NGWCkgXAogICAgICAgICAgICAgLURfVkFSSUFESUNfTUFYPTEwIFwKICAgICAg
ICAgICAgIC0tcHJvai1ndWlkPTMwNDU4Rjg4LTFCQzYtNDY4OS1CNDFDLTUwRjM3MzdBQUIyNyBc
CiAgICAgICAgICAgICAtLXZlcj0kKENPTkZJR19WU19WRVJTSU9OKSBcCi0gICAgICAgICAgICAt
LWFzPSQoQVMpIFwKICAgICAgICAgICAgIC0tc3JjLXBhdGgtYmFyZT0iJChTUkNfUEFUSF9CQVJF
KSIgXAogICAgICAgICAgICAgJChpZiAkKENPTkZJR19TVEFUSUNfTVNWQ1JUKSwtLXN0YXRpYy1j
cnQpIFwKICAgICAgICAgICAgIC0tb3V0PSRAICQoSU5URVJOQUxfQ0ZMQUdTKSAkKENGTEFHUykg
XAogICAgICAgICAgICAgLUkuIC1JIiQoU1JDX1BBVEhfQkFSRSkvdGhpcmRfcGFydHkvZ29vZ2xl
dGVzdC9zcmMvaW5jbHVkZSIgXAogICAgICAgICAgICAgLUwuIC1sJChDT0RFQ19MSUIpIC1sJChS
Q19SVENfTElCKSAtbCQoR1RFU1RfTElCKSAkXgogZW5kaWYgICMgUkNfSU5URVJGQUNFX1RFU1QK
LWVuZGlmICAjIENPTkZJR19FTkNPREVSUwotZW5kaWYgICMgQ09ORklHX01TVlMKK2VuZGlmCiBl
bHNlCiAKIGluY2x1ZGUgJChTUkNfUEFUSF9CQVJFKS90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L2d0
ZXN0Lm1rCkBAIC02NzQsMTkgKzYzOSwxNyBAQCAkKGV2YWwgJChjYWxsIGxpbmtlcnh4X3RlbXBs
YXRlLCQoVEVTVF9JTlRSQV9QUkVEX1NQRUVEX0JJTiksIFwKICAgICAgICAgICAgICAgLUwuIC1s
dnB4IC1sZ3Rlc3QgJChleHRyYWxpYnMpIC1sbSkpCiBlbmRpZiAgIyBURVNUX0lOVFJBX1BSRURf
U1BFRUQKIAotaWZlcSAoJChDT05GSUdfRU5DT0RFUlMpLHllcykKIGlmbmVxICgkKHN0cmlwICQo
UkNfSU5URVJGQUNFX1RFU1RfT0JKUykpLCkKICQoUkNfSU5URVJGQUNFX1RFU1RfT0JKUykgJChS
Q19JTlRFUkZBQ0VfVEVTVF9PQkpTOi5vPS5kKTogXAogICBDWFhGTEFHUyArPSAkKEdURVNUX0lO
Q0xVREVTKQogT0JKUy15ZXMgKz0gJChSQ19JTlRFUkZBQ0VfVEVTVF9PQkpTKQogQklOUy15ZXMg
Kz0gJChSQ19JTlRFUkZBQ0VfVEVTVF9CSU4pCiAKLSQoUkNfSU5URVJGQUNFX1RFU1RfQklOKTog
JChURVNUX0xJQlMpIGxpYnZweHJjLmEKKyQoUkNfSU5URVJGQUNFX1RFU1RfQklOKTogJChURVNU
X0xJQlMpIGxpYnZwOXJjLmEKICQoZXZhbCAkKGNhbGwgbGlua2VyeHhfdGVtcGxhdGUsJChSQ19J
TlRFUkZBQ0VfVEVTVF9CSU4pLCBcCiAgICAgICAgICAgICAgICQoUkNfSU5URVJGQUNFX1RFU1Rf
T0JKUykgXAotICAgICAgICAgICAgICAtTC4gLWx2cHggLWxndGVzdCAtbHZweHJjICQoZXh0cmFs
aWJzKSAtbG0pKQorICAgICAgICAgICAgICAtTC4gLWx2cHggLWxndGVzdCAtbHZwOXJjICQoZXh0
cmFsaWJzKSAtbG0pKQogZW5kaWYgICMgUkNfSU5URVJGQUNFX1RFU1QKLWVuZGlmICAjIENPTkZJ
R19FTkNPREVSUwogCiBpZm5lcSAoJChzdHJpcCAkKFNJTVBMRV9FTkNPREVfVEVTVF9PQkpTKSks
KQogJChTSU1QTEVfRU5DT0RFX1RFU1RfT0JKUykgJChTSU1QTEVfRU5DT0RFX1RFU1RfT0JKUzou
bz0uZCk6IFwKQEAgLTcwMCw3ICs2NjMsNyBAQCAkKGV2YWwgJChjYWxsIGxpbmtlcnh4X3RlbXBs
YXRlLCQoU0lNUExFX0VOQ09ERV9URVNUX0JJTiksIFwKICAgICAgICAgICAgICAgLUwuIC1sc2lt
cGxlX2VuY29kZSAtbHZweCAtbGd0ZXN0ICQoZXh0cmFsaWJzKSAtbG0pKQogZW5kaWYgICMgU0lN
UExFX0VOQ09ERV9URVNUCiAKLWVuZGlmICAjIENPTkZJR19FWFRFUk5BTF9CVUlMRAorZW5kaWYg
ICMgQ09ORklHX1VOSVRfVEVTVFMKIAogIyBJbnN0YWxsIHRlc3Qgc291cmNlcyBvbmx5IGlmIGNv
ZGVjIHNvdXJjZSBpcyBpbmNsdWRlZAogSU5TVEFMTC1TUkNTLSQoQ09ORklHX0NPREVDX1NSQ1Mp
ICs9ICQocGF0c3Vic3QgJChTUkNfUEFUSF9CQVJFKS8lLCUsXApAQCAtNzEwLDIyICs2NzMsMjIg
QEAgSU5TVEFMTC1TUkNTLSQoQ09ORklHX0NPREVDX1NSQ1MpICs9ICQoVEVTVF9JTlRSQV9QUkVE
X1NQRUVEX1NSQ1MpCiBJTlNUQUxMLVNSQ1MtJChDT05GSUdfQ09ERUNfU1JDUykgKz0gJChSQ19J
TlRFUkZBQ0VfVEVTVF9TUkNTKQogCiBkZWZpbmUgdGVzdF9zaGFyZF90ZW1wbGF0ZQotdGVzdDog
dGVzdF9zaGFyZC4kKDEpCi10ZXN0LW5vLWRhdGEtY2hlY2s6IHRlc3Rfc2hhcmRfbmRjLiQoMSkK
K3Rlc3Q6OiB0ZXN0X3NoYXJkLiQoMSkKK3Rlc3Qtbm8tZGF0YS1jaGVjazo6IHRlc3Rfc2hhcmRf
bmRjLiQoMSkKIHRlc3Rfc2hhcmQuJCgxKSB0ZXN0X3NoYXJkX25kYy4kKDEpOiAkKExJQlZQWF9U
RVNUX0JJTikKIAlAc2V0IC1lOyBcCiAJIGV4cG9ydCBHVEVTVF9TSEFSRF9JTkRFWD0kKDEpOyBc
CiAJIGV4cG9ydCBHVEVTVF9UT1RBTF9TSEFSRFM9JCgyKTsgXAogCSAkKExJQlZQWF9URVNUX0JJ
TikKIHRlc3Rfc2hhcmQuJCgxKTogdGVzdGRhdGEKLS5QSE9OWTogdGVzdF9zaGFyZC4kKDEpIHRl
c3Rfc2hhcmRfbmRjLiQoMSkKKy5QSE9OWTogdGVzdF9zaGFyZC4kKDEpCiBlbmRlZgogCiBOVU1f
U0hBUkRTIDo9IDEwCiBTSEFSRFMgOj0gMCAxIDIgMyA0IDUgNiA3IDggOQogJChmb3JlYWNoIHMs
JChTSEFSRFMpLCQoZXZhbCAkKGNhbGwgdGVzdF9zaGFyZF90ZW1wbGF0ZSwkKHMpLCQoTlVNX1NI
QVJEUykpKSkKIAotZW5kaWYgICMgQ09ORklHX1VOSVRfVEVTVFMKK2VuZGlmCiAKICMjCiAjIyBk
b2N1bWVudGF0aW9uIGRpcmVjdGl2ZXMKQEAgLTc2NSwxMCArNzI4LDEwIEBAIFRFU1RfQklOX1BB
VEggOj0gJChhZGRzdWZmaXggLyQoVEdUX09TOndpbjY0PXg2NCkvUmVsZWFzZSwgJChURVNUX0JJ
Tl9QQVRIKSkKIGVuZGlmCiB1dGlsdGVzdCB1dGlsdGVzdC1uby1kYXRhLWNoZWNrOgogCSQocWV4
ZWMpJChTUkNfUEFUSF9CQVJFKS90ZXN0L3ZweGRlYy5zaCBcCi0JCS0tdGVzdC1kYXRhLXBhdGgg
IiQoTElCVlBYX1RFU1RfREFUQV9QQVRIKSIgXAorCQktLXRlc3QtZGF0YS1wYXRoICQoTElCVlBY
X1RFU1RfREFUQV9QQVRIKSBcCiAJCS0tYmluLXBhdGggJChURVNUX0JJTl9QQVRIKQogCSQocWV4
ZWMpJChTUkNfUEFUSF9CQVJFKS90ZXN0L3ZweGVuYy5zaCBcCi0JCS0tdGVzdC1kYXRhLXBhdGgg
IiQoTElCVlBYX1RFU1RfREFUQV9QQVRIKSIgXAorCQktLXRlc3QtZGF0YS1wYXRoICQoTElCVlBY
X1RFU1RfREFUQV9QQVRIKSBcCiAJCS0tYmluLXBhdGggJChURVNUX0JJTl9QQVRIKQogdXRpbHRl
c3Q6IHRlc3RkYXRhCiBlbHNlCkBAIC03OTIsNyArNzU1LDcgQEAgRVhBTVBMRVNfQklOX1BBVEgg
Oj0gJChUR1RfT1M6d2luNjQ9eDY0KS9SZWxlYXNlCiBlbmRpZgogZXhhbXBsZXRlc3QgZXhhbXBs
ZXRlc3Qtbm8tZGF0YS1jaGVjazogZXhhbXBsZXMKIAkkKHFleGVjKSQoU1JDX1BBVEhfQkFSRSkv
dGVzdC9leGFtcGxlcy5zaCBcCi0JCS0tdGVzdC1kYXRhLXBhdGggIiQoTElCVlBYX1RFU1RfREFU
QV9QQVRIKSIgXAorCQktLXRlc3QtZGF0YS1wYXRoICQoTElCVlBYX1RFU1RfREFUQV9QQVRIKSBc
CiAJCS0tYmluLXBhdGggJChFWEFNUExFU19CSU5fUEFUSCkKIGV4YW1wbGV0ZXN0OiB0ZXN0ZGF0
YQogZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9tZDVfdXRpbHMuYyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
bWQ1X3V0aWxzLmMKaW5kZXggYWJkOGQ0M2MzOTUzLi5jNDEwNjUyNWYyNjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvbWQ1X3V0aWxzLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9tZDVfdXRpbHMuYwpAQCAt
MTUxLDggKzE1MSw4IEBAIHZvaWQgTUQ1RmluYWwobWQ1Ynl0ZSBkaWdlc3RbMTZdLCBzdHJ1Y3Qg
TUQ1Q29udGV4dCAqY3R4KSB7CiAgKiByZWZsZWN0IHRoZSBhZGRpdGlvbiBvZiAxNiBsb25nd29y
ZHMgb2YgbmV3IGRhdGEuICBNRDVVcGRhdGUgYmxvY2tzCiAgKiB0aGUgZGF0YSBhbmQgY29udmVy
dHMgYnl0ZXMgaW50byBsb25nd29yZHMgZm9yIHRoaXMgcm91dGluZS4KICAqLwotVlBYX05PX1VO
U0lHTkVEX09WRVJGTE9XX0NIRUNLIFZQWF9OT19VTlNJR05FRF9TSElGVF9DSEVDSyB2b2lkIE1E
NVRyYW5zZm9ybSgKLSAgICBVV09SRDMyIGJ1Zls0XSwgVVdPUkQzMiBjb25zdCBpblsxNl0pIHsK
K1ZQWF9OT19VTlNJR05FRF9PVkVSRkxPV19DSEVDSyB2b2lkIE1ENVRyYW5zZm9ybShVV09SRDMy
IGJ1Zls0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBVV09SRDMyIGNvbnN0IGluWzE2XSkgewogICBVV09SRDMyIGEsIGIsIGMsIGQ7CiAKICAgYSA9
IGJ1ZlswXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvcmF0ZV9oaXN0LmMgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3JhdGVfaGlzdC5jCmluZGV4IDk0Nzk1MGQ0ODEzZi4uNmNmOGNlN2JiMDUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3JhdGVfaGlzdC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvcmF0ZV9oaXN0LmMKQEAg
LTE5Myw0MiArMTkzLDQwIEBAIHN0YXRpYyBpbnQgbWVyZ2VfaGlzdF9idWNrZXRzKHN0cnVjdCBo
aXN0X2J1Y2tldCAqYnVja2V0LCBpbnQgbWF4X2J1Y2tldHMsCiAKIHN0YXRpYyB2b2lkIHNob3df
aGlzdG9ncmFtKGNvbnN0IHN0cnVjdCBoaXN0X2J1Y2tldCAqYnVja2V0LCBpbnQgYnVja2V0cywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0b3RhbCwgaW50IHNjYWxlKSB7Ci0gIGlu
dCB3aWR0aDEsIHdpZHRoMjsKKyAgY29uc3QgY2hhciAqcGF0MSwgKnBhdDI7CiAgIGludCBpOwog
Ci0gIGlmICghYnVja2V0cykgcmV0dXJuOwogICBhc3NlcnQoYnVja2V0ICE9IE5VTEwpOwotICBh
c3NlcnQoYnVja2V0cyA+IDApOwogCiAgIHN3aXRjaCAoKGludCkobG9nKGJ1Y2tldFtidWNrZXRz
IC0gMV0uaGlnaCkgLyBsb2coMTApKSArIDEpIHsKICAgICBjYXNlIDE6CiAgICAgY2FzZSAyOgot
ICAgICAgd2lkdGgxID0gNDsKLSAgICAgIHdpZHRoMiA9IDI7CisgICAgICBwYXQxID0gIiU0ZCAl
MnM6ICI7CisgICAgICBwYXQyID0gIiU0ZC0lMmQ6ICI7CiAgICAgICBicmVhazsKICAgICBjYXNl
IDM6Ci0gICAgICB3aWR0aDEgPSA1OwotICAgICAgd2lkdGgyID0gMzsKKyAgICAgIHBhdDEgPSAi
JTVkICUzczogIjsKKyAgICAgIHBhdDIgPSAiJTVkLSUzZDogIjsKICAgICAgIGJyZWFrOwogICAg
IGNhc2UgNDoKLSAgICAgIHdpZHRoMSA9IDY7Ci0gICAgICB3aWR0aDIgPSA0OworICAgICAgcGF0
MSA9ICIlNmQgJTRzOiAiOworICAgICAgcGF0MiA9ICIlNmQtJTRkOiAiOwogICAgICAgYnJlYWs7
CiAgICAgY2FzZSA1OgotICAgICAgd2lkdGgxID0gNzsKLSAgICAgIHdpZHRoMiA9IDU7CisgICAg
ICBwYXQxID0gIiU3ZCAlNXM6ICI7CisgICAgICBwYXQyID0gIiU3ZC0lNWQ6ICI7CiAgICAgICBi
cmVhazsKICAgICBjYXNlIDY6Ci0gICAgICB3aWR0aDEgPSA4OwotICAgICAgd2lkdGgyID0gNjsK
KyAgICAgIHBhdDEgPSAiJThkICU2czogIjsKKyAgICAgIHBhdDIgPSAiJThkLSU2ZDogIjsKICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgNzoKLSAgICAgIHdpZHRoMSA9IDk7Ci0gICAgICB3aWR0aDIg
PSA3OworICAgICAgcGF0MSA9ICIlOWQgJTdzOiAiOworICAgICAgcGF0MiA9ICIlOWQtJTdkOiAi
OwogICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAgIHdpZHRoMSA9IDEyOwotICAgICAg
d2lkdGgyID0gMTA7CisgICAgICBwYXQxID0gIiUxMmQgJTEwczogIjsKKyAgICAgIHBhdDIgPSAi
JTEyZC0lMTBkOiAiOwogICAgICAgYnJlYWs7CiAgIH0KIApAQCAtMjQzLDEwICsyNDEsOSBAQCBz
dGF0aWMgdm9pZCBzaG93X2hpc3RvZ3JhbShjb25zdCBzdHJ1Y3QgaGlzdF9idWNrZXQgKmJ1Y2tl
dCwgaW50IGJ1Y2tldHMsCiAgICAgYXNzZXJ0KGxlbiA8PSBISVNUX0JBUl9NQVgpOwogCiAgICAg
aWYgKGJ1Y2tldFtpXS5sb3cgPT0gYnVja2V0W2ldLmhpZ2gpCi0gICAgICBmcHJpbnRmKHN0ZGVy
ciwgIiUqZCAlKnM6ICIsIHdpZHRoMSwgYnVja2V0W2ldLmxvdywgd2lkdGgyLCAiIik7CisgICAg
ICBmcHJpbnRmKHN0ZGVyciwgcGF0MSwgYnVja2V0W2ldLmxvdywgIiIpOwogICAgIGVsc2UKLSAg
ICAgIGZwcmludGYoc3RkZXJyLCAiJSpkLSUqZDogIiwgd2lkdGgxLCBidWNrZXRbaV0ubG93LCB3
aWR0aDIsCi0gICAgICAgICAgICAgIGJ1Y2tldFtpXS5oaWdoKTsKKyAgICAgIGZwcmludGYoc3Rk
ZXJyLCBwYXQyLCBidWNrZXRbaV0ubG93LCBidWNrZXRbaV0uaGlnaCk7CiAKICAgICBmb3IgKGog
PSAwOyBqIDwgSElTVF9CQVJfTUFYOyBqKyspIGZwcmludGYoc3RkZXJyLCBqIDwgbGVuID8gIj0i
IDogIiAiKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIlx0JTVkICglNi4yZiUlKVxuIiwgYnVja2V0
W2ldLmNvdW50LCBwY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2FjbV9yYW5kb20u
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC9hY21fcmFuZG9tLmgKaW5kZXggZTM1MjBjNDdkZTcyLi4zNDU4
MzQwYTEyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9hY21fcmFuZG9tLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L2FjbV9yYW5kb20uaApAQCAtMjgsMzggKzI4LDQzIEBAIGNsYXNzIEFD
TVJhbmRvbSB7CiAgIGV4cGxpY2l0IEFDTVJhbmRvbShpbnQgc2VlZCkgOiByYW5kb21fKHNlZWQp
IHt9CiAKICAgdm9pZCBSZXNldChpbnQgc2VlZCkgeyByYW5kb21fLlJlc2VlZChzZWVkKTsgfQot
ICB1aW50MTZfdCBSYW5kMTYoKSB7CisgIHVpbnQxNl90IFJhbmQxNih2b2lkKSB7CiAgICAgY29u
c3QgdWludDMyX3QgdmFsdWUgPQogICAgICAgICByYW5kb21fLkdlbmVyYXRlKHRlc3Rpbmc6Omlu
dGVybmFsOjpSYW5kb206OmtNYXhSYW5nZSk7CiAgICAgcmV0dXJuICh2YWx1ZSA+PiAxNSkgJiAw
eGZmZmY7CiAgIH0KIAotICBpbnQzMl90IFJhbmQyMFNpZ25lZCgpIHsKKyAgaW50MzJfdCBSYW5k
MjBTaWduZWQodm9pZCkgewogICAgIC8vIFVzZSAyMCBiaXRzOiB2YWx1ZXMgYmV0d2VlbiA1MjQy
ODcgYW5kIC01MjQyODguCiAgICAgY29uc3QgdWludDMyX3QgdmFsdWUgPSByYW5kb21fLkdlbmVy
YXRlKDEwNDg1NzYpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQzMl90Pih2YWx1ZSkgLSA1
MjQyODg7CiAgIH0KIAotICBpbnQxNl90IFJhbmQxNlNpZ25lZCgpIHsKKyAgaW50MTZfdCBSYW5k
MTZTaWduZWQodm9pZCkgewogICAgIC8vIFVzZSAxNiBiaXRzOiB2YWx1ZXMgYmV0d2VlbiAzMjc2
NyBhbmQgLTMyNzY4LgogICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQxNl90PihyYW5kb21fLkdl
bmVyYXRlKDY1NTM2KSk7CiAgIH0KIAotICB1aW50MTZfdCBSYW5kMTIoKSB7Ci0gICAgY29uc3Qg
dWludDMyX3QgdmFsdWUgPQotICAgICAgICByYW5kb21fLkdlbmVyYXRlKHRlc3Rpbmc6OmludGVy
bmFsOjpSYW5kb206OmtNYXhSYW5nZSk7Ci0gICAgLy8gVGhlcmUncyBhIGJpdCBtb3JlIGVudHJv
cHkgaW4gdGhlIHVwcGVyIGJpdHMgb2YgdGhpcyBpbXBsZW1lbnRhdGlvbi4KLSAgICByZXR1cm4g
KHZhbHVlID4+IDE5KSAmIDB4ZmZmOworICBpbnQxNl90IFJhbmQxM1NpZ25lZCh2b2lkKSB7Cisg
ICAgLy8gVXNlIDEzIGJpdHM6IHZhbHVlcyBiZXR3ZWVuIDQwOTUgYW5kIC00MDk2LgorICAgIGNv
bnN0IHVpbnQzMl90IHZhbHVlID0gcmFuZG9tXy5HZW5lcmF0ZSg4MTkyKTsKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8aW50MTZfdD4odmFsdWUpIC0gNDA5NjsKKyAgfQorCisgIGludDE2X3QgUmFu
ZDlTaWduZWQodm9pZCkgeworICAgIC8vIFVzZSA5IGJpdHM6IHZhbHVlcyBiZXR3ZWVuIDI1NSAo
MHgwRkYpIGFuZCAtMjU2ICgweDEwMCkuCisgICAgY29uc3QgdWludDMyX3QgdmFsdWUgPSByYW5k
b21fLkdlbmVyYXRlKDUxMik7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludDE2X3Q+KHZhbHVl
KSAtIDI1NjsKICAgfQogCi0gIHVpbnQ4X3QgUmFuZDgoKSB7CisgIHVpbnQ4X3QgUmFuZDgodm9p
ZCkgewogICAgIGNvbnN0IHVpbnQzMl90IHZhbHVlID0KICAgICAgICAgcmFuZG9tXy5HZW5lcmF0
ZSh0ZXN0aW5nOjppbnRlcm5hbDo6UmFuZG9tOjprTWF4UmFuZ2UpOwogICAgIC8vIFRoZXJlJ3Mg
YSBiaXQgbW9yZSBlbnRyb3B5IGluIHRoZSB1cHBlciBiaXRzIG9mIHRoaXMgaW1wbGVtZW50YXRp
b24uCiAgICAgcmV0dXJuICh2YWx1ZSA+PiAyMykgJiAweGZmOwogICB9CiAKLSAgdWludDhfdCBS
YW5kOEV4dHJlbWVzKCkgeworICB1aW50OF90IFJhbmQ4RXh0cmVtZXModm9pZCkgewogICAgIC8v
IFJldHVybnMgYSByYW5kb20gdmFsdWUgbmVhciAwIG9yIG5lYXIgMjU1LCB0byBiZXR0ZXIgZXhl
cmNpc2UKICAgICAvLyBzYXR1cmF0aW9uIGJlaGF2aW9yLgogICAgIGNvbnN0IHVpbnQ4X3QgciA9
IFJhbmQ4KCk7CkBAIC03Nyw3ICs4Miw3IEBAIGNsYXNzIEFDTVJhbmRvbSB7CiAKICAgaW50IG9w
ZXJhdG9yKCkoaW50IG4pIHsgcmV0dXJuIFBzZXVkb1VuaWZvcm0obik7IH0KIAotICBzdGF0aWMg
aW50IERldGVybWluaXN0aWNTZWVkKCkgeyByZXR1cm4gMHhiYWJhOyB9CisgIHN0YXRpYyBpbnQg
RGV0ZXJtaW5pc3RpY1NlZWQodm9pZCkgeyByZXR1cm4gMHhiYWJhOyB9CiAKICBwcml2YXRlOgog
ICB0ZXN0aW5nOjppbnRlcm5hbDo6UmFuZG9tIHJhbmRvbV87CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3Rlc3QvYWN0aXZlX21hcF9yZWZyZXNoX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvYWN0
aXZlX21hcF9yZWZyZXNoX3Rlc3QuY2MKaW5kZXggYWQwNjczNDZhN2NhLi42OGQ4ODU2ZWFhNmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9hY3RpdmVfbWFwX3JlZnJlc2hfdGVzdC5jYwor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3Rlc3QvYWN0aXZlX21hcF9yZWZyZXNoX3Rlc3QuY2MKQEAgLTYyLDE2
ICs2MiwxNiBAQCBjbGFzcyBBY3RpdmVNYXBSZWZyZXNoVGVzdAogICAgICAgcHVibGljIDo6bGli
dnB4X3Rlc3Q6OkNvZGVjVGVzdFdpdGgyUGFyYW1zPGxpYnZweF90ZXN0OjpUZXN0TW9kZSwgaW50
PiB7CiAgcHJvdGVjdGVkOgogICBBY3RpdmVNYXBSZWZyZXNoVGVzdCgpIDogRW5jb2RlclRlc3Qo
R0VUX1BBUkFNKDApKSB7fQotICB+QWN0aXZlTWFwUmVmcmVzaFRlc3QoKSBvdmVycmlkZSA9IGRl
ZmF1bHQ7CisgIHZpcnR1YWwgfkFjdGl2ZU1hcFJlZnJlc2hUZXN0KCkge30KIAotICB2b2lkIFNl
dFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6
ZUNvbmZpZygpOwogICAgIFNldE1vZGUoR0VUX1BBUkFNKDEpKTsKICAgICBjcHVfdXNlZF8gPSBH
RVRfUEFSQU0oMik7CiAgIH0KIAotICB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90
ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGli
dnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFBy
ZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5j
b2RlcikgewogICAgIDo6bGlidnB4X3Rlc3Q6Olk0bVZpZGVvU291cmNlICp5NG1fdmlkZW8gPQog
ICAgICAgICBzdGF0aWNfY2FzdDxsaWJ2cHhfdGVzdDo6WTRtVmlkZW9Tb3VyY2UgKj4odmlkZW8p
OwogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvYWN0aXZlX21hcF90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2FjdGl2ZV9tYXBfdGVz
dC5jYwppbmRleCBkMjIyYzAwYjc0MTQuLjljNTVmOWE4YjE3OCAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L2FjdGl2ZV9tYXBfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvYWN0aXZl
X21hcF90ZXN0LmNjCkBAIC0xOSwyNiArMTksMjQgQEAgbmFtZXNwYWNlIHsKIAogY2xhc3MgQWN0
aXZlTWFwVGVzdAogICAgIDogcHVibGljIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXJUZXN0LAotICAg
ICAgcHVibGljIDo6bGlidnB4X3Rlc3Q6OkNvZGVjVGVzdFdpdGgzUGFyYW1zPGxpYnZweF90ZXN0
OjpUZXN0TW9kZSwgaW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludD4geworICAgICAgcHVibGljIDo6bGlidnB4X3Rlc3Q6OkNvZGVjVGVzdFdp
dGgyUGFyYW1zPGxpYnZweF90ZXN0OjpUZXN0TW9kZSwgaW50PiB7CiAgcHJvdGVjdGVkOgogICBz
dGF0aWMgY29uc3QgaW50IGtXaWR0aCA9IDIwODsKICAgc3RhdGljIGNvbnN0IGludCBrSGVpZ2h0
ID0gMTQ0OwogCiAgIEFjdGl2ZU1hcFRlc3QoKSA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgwKSkg
e30KLSAgfkFjdGl2ZU1hcFRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkFj
dGl2ZU1hcFRlc3QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwg
dm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZShHRVRf
UEFSQU0oMSkpOwogICAgIGNwdV91c2VkXyA9IEdFVF9QQVJBTSgyKTsKICAgfQogCi0gIHZvaWQg
UHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikg
b3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rl
c3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSB7CiAgICAgaWYgKHZpZGVvLT5mcmFt
ZSgpID09IDApIHsKICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgY3B1
X3VzZWRfKTsKLSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfQVFfTU9ERSwgR0VUX1BB
UkFNKDMpKTsKICAgICB9IGVsc2UgaWYgKHZpZGVvLT5mcmFtZSgpID09IDMpIHsKICAgICAgIHZw
eF9hY3RpdmVfbWFwX3QgbWFwID0gdnB4X2FjdGl2ZV9tYXBfdCgpOwogICAgICAgLyogY2xhbmct
Zm9ybWF0IG9mZiAqLwpAQCAtODksNSArODcsNSBAQCBURVNUX1AoQWN0aXZlTWFwVGVzdCwgVGVz
dCkgewogCiBWUDlfSU5TVEFOVElBVEVfVEVTVF9TVUlURShBY3RpdmVNYXBUZXN0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoOjpsaWJ2cHhfdGVzdDo6a1Jl
YWxUaW1lKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6UmFuZ2UoNSwg
MTApLCA6OnRlc3Rpbmc6OlZhbHVlcygwLCAzKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OnRlc3Rpbmc6OlJhbmdlKDAsIDkpKTsKIH0gIC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L2FkZF9ub2lzZV90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2FkZF9u
b2lzZV90ZXN0LmNjCmluZGV4IDRmYzRlODFlNjM2Yi4uMjVkZTQyNzljMjg0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvYWRkX25vaXNlX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0
L2FkZF9ub2lzZV90ZXN0LmNjCkBAIC0yMyw2ICsyMyw3IEBAIG5hbWVzcGFjZSB7CiAKIHN0YXRp
YyBjb25zdCBpbnQga05vaXNlU2l6ZSA9IDMwNzI7CiAKKy8vIFRPRE8oamltYmFua29za2kpOiBt
YWtlIHdpZHRoIGFuZCBoZWlnaHQgaW50ZWdlcnMgbm90IHVuc2lnbmVkLgogdHlwZWRlZiB2b2lk
ICgqQWRkTm9pc2VGdW5jKSh1aW50OF90ICpzdGFydCwgY29uc3QgaW50OF90ICpub2lzZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJsYWNrY2xhbXAsIGludCB3aGl0ZWNsYW1w
LCBpbnQgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsIGlu
dCBwaXRjaCk7CkBAIC0zMiw4ICszMyw4IEBAIHR5cGVkZWYgc3RkOjp0dXBsZTxkb3VibGUsIEFk
ZE5vaXNlRnVuYz4gQWRkTm9pc2VUZXN0RlBQYXJhbTsKIGNsYXNzIEFkZE5vaXNlVGVzdCA6IHB1
YmxpYyA6OnRlc3Rpbmc6OlRlc3QsCiAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgOjp0ZXN0
aW5nOjpXaXRoUGFyYW1JbnRlcmZhY2U8QWRkTm9pc2VUZXN0RlBQYXJhbT4gewogIHB1YmxpYzoK
LSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lzdGVtU3Rh
dGUoKTsgfQotICB+QWRkTm9pc2VUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFs
IHZvaWQgVGVhckRvd24oKSB7IGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KKyAg
dmlydHVhbCB+QWRkTm9pc2VUZXN0KCkge30KIH07CiAKIGRvdWJsZSBzdGRkZXY2KGNoYXIgYSwg
Y2hhciBiLCBjaGFyIGMsIGNoYXIgZCwgY2hhciBlLCBjaGFyIGYpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC9hbHRfcmVmX2FxX3NlZ21lbnRfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9hbHRfcmVmX2FxX3NlZ21lbnRfdGVzdC5jYwppbmRleCAzYjFhMjZlZDE2NDMuLjAwYTAwZTI3
YzU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2FsdF9yZWZfYXFfc2VnbWVudF90ZXN0
LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9hbHRfcmVmX2FxX3NlZ21lbnRfdGVzdC5jYwpAQCAt
MjAsOSArMjAsOSBAQCBjbGFzcyBBbHRSZWZBcVNlZ21lbnRUZXN0CiAgICAgICBwdWJsaWMgOjps
aWJ2cHhfdGVzdDo6Q29kZWNUZXN0V2l0aDJQYXJhbXM8bGlidnB4X3Rlc3Q6OlRlc3RNb2RlLCBp
bnQ+IHsKICBwcm90ZWN0ZWQ6CiAgIEFsdFJlZkFxU2VnbWVudFRlc3QoKSA6IEVuY29kZXJUZXN0
KEdFVF9QQVJBTSgwKSkge30KLSAgfkFsdFJlZkFxU2VnbWVudFRlc3QoKSBvdmVycmlkZSA9IGRl
ZmF1bHQ7CisgIHZpcnR1YWwgfkFsdFJlZkFxU2VnbWVudFRlc3QoKSB7fQogCi0gIHZvaWQgU2V0
VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXpl
Q29uZmlnKCk7CiAgICAgU2V0TW9kZShHRVRfUEFSQU0oMSkpOwogICAgIHNldF9jcHVfdXNlZF8g
PSBHRVRfUEFSQU0oMik7CkBAIC0zMCw4ICszMCw4IEBAIGNsYXNzIEFsdFJlZkFxU2VnbWVudFRl
c3QKICAgICBhbHRfcmVmX2FxX21vZGVfID0gMDsKICAgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJh
bWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291
cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90
ZXN0OjpFbmNvZGVyICplbmNvZGVyKSB7CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsK
ICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgc2V0X2NwdV91c2VkXyk7
CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX0FMVF9SRUZfQVEsIGFsdF9yZWZfYXFf
bW9kZV8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2FsdHJlZl90ZXN0LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L2FsdHJlZl90ZXN0LmNjCmluZGV4IDkwMzIzMGZkZTkzNS4uNjliY2VmNzc0
ZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvYWx0cmVmX3Rlc3QuY2MKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L2FsdHJlZl90ZXN0LmNjCkBAIC0yNCwyNCArMjQsMjQgQEAgY2xhc3MgQWx0
UmVmVGVzdCA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpFbmNvZGVyVGVzdCwKICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6Q29kZWNUZXN0V2l0aFBhcmFtPGludD4gewog
IHByb3RlY3RlZDoKICAgQWx0UmVmVGVzdCgpIDogRW5jb2RlclRlc3QoR0VUX1BBUkFNKDApKSwg
YWx0cmVmX2NvdW50XygwKSB7fQotICB+QWx0UmVmVGVzdCgpIG92ZXJyaWRlID0gZGVmYXVsdDsK
KyAgdmlydHVhbCB+QWx0UmVmVGVzdCgpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsK
KyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxpemVDb25maWcoKTsKICAgICBT
ZXRNb2RlKGxpYnZweF90ZXN0OjprVHdvUGFzc0dvb2QpOwogICB9CiAKLSAgdm9pZCBCZWdpblBh
c3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgb3ZlcnJpZGUgeyBhbHRyZWZfY291bnRfID0g
MDsgfQorICB2aXJ0dWFsIHZvaWQgQmVnaW5QYXNzSG9vayh1bnNpZ25lZCBpbnQgLypwYXNzKi8p
IHsgYWx0cmVmX2NvdW50XyA9IDA7IH0KIAotICB2b2lkIFByZUVuY29kZUZyYW1lSG9vayhsaWJ2
cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAgICAgICAgICAgICAgICAgICBs
aWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQg
UHJlRW5jb2RlRnJhbWVIb29rKGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29k
ZXIpIHsKICAgICBpZiAodmlkZW8tPmZyYW1lKCkgPT0gMCkgewogICAgICAgZW5jb2Rlci0+Q29u
dHJvbChWUDhFX1NFVF9FTkFCTEVBVVRPQUxUUkVGLCAxKTsKICAgICAgIGVuY29kZXItPkNvbnRy
b2woVlA4RV9TRVRfQ1BVVVNFRCwgMyk7CiAgICAgfQogICB9CiAKLSAgdm9pZCBGcmFtZVBrdEhv
b2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2
b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAgIGlm
IChwa3QtPmRhdGEuZnJhbWUuZmxhZ3MgJiBWUFhfRlJBTUVfSVNfSU5WSVNJQkxFKSArK2FsdHJl
Zl9jb3VudF87CiAgIH0KIApAQCAtNzUsMTcgKzc1LDE3IEBAIGNsYXNzIEFsdFJlZkZvcmNlZEtl
eVRlc3RMYXJnZQogICBBbHRSZWZGb3JjZWRLZXlUZXN0TGFyZ2UoKQogICAgICAgOiBFbmNvZGVy
VGVzdChHRVRfUEFSQU0oMCkpLCBlbmNvZGluZ19tb2RlXyhHRVRfUEFSQU0oMSkpLAogICAgICAg
ICBjcHVfdXNlZF8oR0VUX1BBUkFNKDIpKSwgZm9yY2VkX2tmX2ZyYW1lX251bV8oMSksIGZyYW1l
X251bV8oMCkge30KLSAgfkFsdFJlZkZvcmNlZEtleVRlc3RMYXJnZSgpIG92ZXJyaWRlID0gZGVm
YXVsdDsKKyAgdmlydHVhbCB+QWx0UmVmRm9yY2VkS2V5VGVzdExhcmdlKCkge30KIAotICB2b2lk
IFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlh
bGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUoZW5jb2RpbmdfbW9kZV8pOwogICAgIGNmZ18ucmNf
ZW5kX3VzYWdlID0gVlBYX1ZCUjsKICAgICBjZmdfLmdfdGhyZWFkcyA9IDA7CiAgIH0KIAotICB2
b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29k
ZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZw
eF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2RlcikgewogICAgIGlmICh2aWRlby0+
ZnJhbWUoKSA9PSAwKSB7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVfU0VUX0NQVVVTRUQs
IGNwdV91c2VkXyk7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVfU0VUX0VOQUJMRUFVVE9B
TFRSRUYsIDEpOwpAQCAtMTAwLDcgKzEwMCw3IEBAIGNsYXNzIEFsdFJlZkZvcmNlZEtleVRlc3RM
YXJnZQogICAgICAgICAodmlkZW8tPmZyYW1lKCkgPT0gZm9yY2VkX2tmX2ZyYW1lX251bV8pID8g
VlBYX0VGTEFHX0ZPUkNFX0tGIDogMDsKICAgfQogCi0gIHZvaWQgRnJhbWVQa3RIb29rKGNvbnN0
IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBGcmFt
ZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIHsKICAgICBpZiAoZnJhbWVf
bnVtXyA9PSBmb3JjZWRfa2ZfZnJhbWVfbnVtXykgewogICAgICAgQVNTRVJUX1RSVUUoISEocGt0
LT5kYXRhLmZyYW1lLmZsYWdzICYgVlBYX0ZSQU1FX0lTX0tFWSkpCiAgICAgICAgICAgPDwgIkZy
YW1lICMiIDw8IGZyYW1lX251bV8gPDwgIiBpc24ndCBhIGtleWZyYW1lISI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvYW5kcm9pZC9BbmRyb2lkLm1rIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2Fu
ZHJvaWQvQW5kcm9pZC5tawppbmRleCA5YTc1MzNlYmJhM2EuLjczMThkZTJmYzQ5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L2FuZHJvaWQvQW5kcm9pZC5taworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvYW5kcm9pZC9BbmRyb2lkLm1rCkBAIC0xMCw5ICsxMCw2IEBACiAjIFRoZSB0ZXN0IGFw
cCBpdHNlbGYgcnVucyBvbiB0aGUgY29tbWFuZCBsaW5lIHRocm91Z2ggYWRiIHNoZWxsCiAjIFRo
ZSBwYXRocyBhcmUgcmVhbGx5IG1lc3NlZCB1cCBhcyB0aGUgbGlidnB4IG1ha2UgZmlsZQogIyBl
eHBlY3RzIHRvIGJlIG1hZGUgZnJvbSBhIHBhcmVudCBkaXJlY3RvcnkuCi0KLSMgSWdub3JlIHRo
aXMgZmlsZSBkdXJpbmcgbm9uLU5ESyBidWlsZHMuCi1pZmRlZiBOREtfUk9PVAogQ1VSX1dEIDo9
ICQoY2FsbCBteS1kaXIpCiBCSU5ESU5HU19ESVIgOj0gJChDVVJfV0QpLy4uLy4uLy4uCiBMT0NB
TF9QQVRIIDo9ICQoQ1VSX1dEKS8uLi8uLi8uLgpAQCAtMzcsOSArMzQsNiBAQCBMT0NBTF9DX0lO
Q0xVREVTIDo9ICQoTE9DQUxfUEFUSCkvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvCiBMT0NB
TF9DX0lOQ0xVREVTICs9ICQoTE9DQUxfUEFUSCkvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMv
aW5jbHVkZS8KIExPQ0FMX0VYUE9SVF9DX0lOQ0xVREVTIDo9ICQoTE9DQUxfUEFUSCkvdGhpcmRf
cGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS8KIExPQ0FMX1NSQ19GSUxFUyA6PSAuL3RoaXJk
X3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1hbGwuY2MKLUxPQ0FMX0xJQ0VOU0VfS0lO
RFMgOj0gU1BEWC1saWNlbnNlLWlkZW50aWZpZXItQlNECi1MT0NBTF9MSUNFTlNFX0NPTkRJVElP
TlMgOj0gbm90aWNlCi1MT0NBTF9OT1RJQ0VfRklMRSA6PSAkKExPQ0FMX1BBVEgpLy4uLy4uL0xJ
Q0VOU0UgJChMT0NBTF9QQVRIKS8uLi8uLi9QQVRFTlRTCiBpbmNsdWRlICQoQlVJTERfU1RBVElD
X0xJQlJBUlkpCiAKICNsaWJ2cHhfdGVzdApAQCAtNTQsOSArNDgsNiBAQCBlbHNlCiAgIExPQ0FM
X1NUQVRJQ19MSUJSQVJJRVMgKz0gdnB4CiBlbmRpZgogCi1MT0NBTF9MSUNFTlNFX0tJTkRTIDo9
IFNQRFgtbGljZW5zZS1pZGVudGlmaWVyLUJTRAotTE9DQUxfTElDRU5TRV9DT05ESVRJT05TIDo9
IG5vdGljZQotTE9DQUxfTk9USUNFX0ZJTEUgOj0gJChMT0NBTF9QQVRIKS8uLi8uLi9MSUNFTlNF
ICQoTE9DQUxfUEFUSCkvLi4vLi4vUEFURU5UUwogaW5jbHVkZSAkKExPQ0FMX1BBVEgpL3Rlc3Qv
dGVzdC5tawogTE9DQUxfQ19JTkNMVURFUyA6PSAkKEJJTkRJTkdTX0RJUikKIEZJTFRFUkVEX1NS
QyA6PSAkKHNvcnQgJChmaWx0ZXIgJS5jYyAlLmMsICQoTElCVlBYX1RFU1RfU1JDUy15ZXMpKSkK
QEAgLTY0LDQgKzU1LDMgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoYWRkcHJlZml4IC4vdGVzdC8s
ICQoRklMVEVSRURfU1JDKSkKICMgc29tZSB0ZXN0IGZpbGVzIGRlcGVuZCBvbiAqX3J0Y2QuaCwg
ZW5zdXJlIHRoZXkncmUgZ2VuZXJhdGVkIGZpcnN0LgogJChldmFsICQoY2FsbCBydGNkX2RlcF90
ZW1wbGF0ZSkpCiBpbmNsdWRlICQoQlVJTERfRVhFQ1VUQUJMRSkKLWVuZGlmICAjIE5ES19ST09U
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvYXFfc2VnbWVudF90ZXN0LmNjIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L2FxX3NlZ21lbnRfdGVzdC5jYwppbmRleCA5NTVlMWRhZmMwOWIuLjJjYmM5OTFk
MGMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2FxX3NlZ21lbnRfdGVzdC5jYworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvYXFfc2VnbWVudF90ZXN0LmNjCkBAIC0yMCwxNyArMjAsMTcgQEAg
Y2xhc3MgQXFTZWdtZW50VGVzdAogICAgICAgcHVibGljIDo6bGlidnB4X3Rlc3Q6OkNvZGVjVGVz
dFdpdGgyUGFyYW1zPGxpYnZweF90ZXN0OjpUZXN0TW9kZSwgaW50PiB7CiAgcHJvdGVjdGVkOgog
ICBBcVNlZ21lbnRUZXN0KCkgOiBFbmNvZGVyVGVzdChHRVRfUEFSQU0oMCkpIHt9Ci0gIH5BcVNl
Z21lbnRUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5BcVNlZ21lbnRUZXN0
KCkge30KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAo
KSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUoR0VUX1BBUkFNKDEpKTsK
ICAgICBzZXRfY3B1X3VzZWRfID0gR0VUX1BBUkFNKDIpOwogICAgIGFxX21vZGVfID0gMDsKICAg
fQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNl
ICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2Rl
ciAqZW5jb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29r
KDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSB7CiAgICAgaWYg
KHZpZGVvLT5mcmFtZSgpID09IDApIHsKICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9TRVRf
Q1BVVVNFRCwgc2V0X2NwdV91c2VkXyk7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VU
X0FRX01PREUsIGFxX21vZGVfKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9hdmdfdGVz
dC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9hdmdfdGVzdC5jYwppbmRleCBlZGU5YzBiYThjM2MuLjE5
NjUyMmNlNTg4YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2F2Z190ZXN0LmNjCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC9hdmdfdGVzdC5jYwpAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBBdmVy
YWdlVGVzdEJhc2UgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKICAgICAgIDogd2lkdGhfKHdp
ZHRoKSwgaGVpZ2h0XyhoZWlnaHQpLCBzb3VyY2VfZGF0YV8obnVsbHB0ciksCiAgICAgICAgIHNv
dXJjZV9zdHJpZGVfKDApLCBiaXRfZGVwdGhfKDgpIHt9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92
ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgewogICAgIHZweF9mcmVlKHNvdXJj
ZV9kYXRhXyk7CiAgICAgc291cmNlX2RhdGFfID0gbnVsbHB0cjsKICAgICBsaWJ2cHhfdGVzdDo6
Q2xlYXJTeXN0ZW1TdGF0ZSgpOwpAQCAtNDksNyArNDksNyBAQCBjbGFzcyBBdmVyYWdlVGVzdEJh
c2UgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKICAgc3RhdGljIGNvbnN0IGludCBrRGF0YUFs
aWdubWVudCA9IDE2OwogICBzdGF0aWMgY29uc3QgaW50IGtEYXRhQmxvY2tTaXplID0gNjQgKiAx
Mjg7CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkg
ewogICAgIHNvdXJjZV9kYXRhXyA9IHJlaW50ZXJwcmV0X2Nhc3Q8UGl4ZWwgKj4oCiAgICAgICAg
IHZweF9tZW1hbGlnbihrRGF0YUFsaWdubWVudCwga0RhdGFCbG9ja1NpemUgKiBzaXplb2Yoc291
cmNlX2RhdGFfWzBdKSkpOwogICAgIEFTU0VSVF9ORShzb3VyY2VfZGF0YV8sIG51bGxwdHIpOwpA
QCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIEludFByb1Jvd1Rlc3QgOiBwdWJsaWMgQXZlcmFnZVRl
c3RCYXNlPHVpbnQ4X3Q+LAogICB9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgU2V0VXAoKSBvdmVy
cmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBzb3VyY2VfZGF0YV8gPSByZWlu
dGVycHJldF9jYXN0PHVpbnQ4X3QgKj4oCiAgICAgICAgIHZweF9tZW1hbGlnbihrRGF0YUFsaWdu
bWVudCwga0RhdGFCbG9ja1NpemUgKiBzaXplb2Yoc291cmNlX2RhdGFfWzBdKSkpOwogICAgIEFT
U0VSVF9ORShzb3VyY2VfZGF0YV8sIG51bGxwdHIpOwpAQCAtMTgwLDcgKzE4MCw3IEBAIGNsYXNz
IEludFByb1Jvd1Rlc3QgOiBwdWJsaWMgQXZlcmFnZVRlc3RCYXNlPHVpbnQ4X3Q+LAogICAgICAg
ICB2cHhfbWVtYWxpZ24oa0RhdGFBbGlnbm1lbnQsIHNpemVvZigqaGJ1Zl9jXykgKiAxNikpOwog
ICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFRlYXJE
b3duKCkgewogICAgIHZweF9mcmVlKHNvdXJjZV9kYXRhXyk7CiAgICAgc291cmNlX2RhdGFfID0g
bnVsbHB0cjsKICAgICB2cHhfZnJlZShoYnVmX2NfKTsKQEAgLTE5MCw5ICsxOTAsOCBAQCBjbGFz
cyBJbnRQcm9Sb3dUZXN0IDogcHVibGljIEF2ZXJhZ2VUZXN0QmFzZTx1aW50OF90PiwKICAgfQog
CiAgIHZvaWQgUnVuQ29tcGFyaXNvbigpIHsKLSAgICBBU01fUkVHSVNURVJfU1RBVEVfQ0hFQ0so
Y19mdW5jXyhoYnVmX2NfLCBzb3VyY2VfZGF0YV8sIHdpZHRoXywgaGVpZ2h0XykpOwotICAgIEFT
TV9SRUdJU1RFUl9TVEFURV9DSEVDSygKLSAgICAgICAgYXNtX2Z1bmNfKGhidWZfYXNtXywgc291
cmNlX2RhdGFfLCB3aWR0aF8sIGhlaWdodF8pKTsKKyAgICBBU01fUkVHSVNURVJfU1RBVEVfQ0hF
Q0soY19mdW5jXyhoYnVmX2NfLCBzb3VyY2VfZGF0YV8sIDAsIGhlaWdodF8pKTsKKyAgICBBU01f
UkVHSVNURVJfU1RBVEVfQ0hFQ0soYXNtX2Z1bmNfKGhidWZfYXNtXywgc291cmNlX2RhdGFfLCAw
LCBoZWlnaHRfKSk7CiAgICAgRVhQRUNUX0VRKDAsIG1lbWNtcChoYnVmX2NfLCBoYnVmX2FzbV8s
IHNpemVvZigqaGJ1Zl9jXykgKiAxNikpCiAgICAgICAgIDw8ICJPdXRwdXQgbWlzbWF0Y2giOwog
ICB9CkBAIC0yMzksNyArMjM4LDcgQEAgdHlwZWRlZiBzdGQ6OnR1cGxlPGludCwgU2F0ZEZ1bmM+
IFNhdGRUZXN0UGFyYW07CiBjbGFzcyBTYXRkVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3Qs
CiAgICAgICAgICAgICAgICAgIHB1YmxpYyA6OnRlc3Rpbmc6OldpdGhQYXJhbUludGVyZmFjZTxT
YXRkVGVzdFBhcmFtPiB7CiAgcHJvdGVjdGVkOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgc2F0ZF9zaXplXyA9IEdFVF9QQVJBTSgwKTsK
ICAgICBzYXRkX2Z1bmNfID0gR0VUX1BBUkFNKDEpOwogICAgIHJuZF8uUmVzZXQoQUNNUmFuZG9t
OjpEZXRlcm1pbmlzdGljU2VlZCgpKTsKQEAgLTI0OCw3ICsyNDcsNyBAQCBjbGFzcyBTYXRkVGVz
dCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QsCiAgICAgQVNTRVJUX05FKHNyY18sIG51bGxwdHIp
OwogICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFRl
YXJEb3duKCkgewogICAgIGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7CiAgICAgdnB4
X2ZyZWUoc3JjXyk7CiAgIH0KQEAgLTI3Nyw3ICsyNzYsNyBAQCBjbGFzcyBTYXRkVGVzdCA6IHB1
YmxpYyA6OnRlc3Rpbmc6OlRlc3QsCiAKIGNsYXNzIFNhdGRMb3diZFRlc3QgOiBwdWJsaWMgU2F0
ZFRlc3QgewogIHByb3RlY3RlZDoKLSAgdm9pZCBGaWxsUmFuZG9tKCkgb3ZlcnJpZGUgeworICB2
aXJ0dWFsIHZvaWQgRmlsbFJhbmRvbSgpIHsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNhdGRf
c2l6ZV87ICsraSkgewogICAgICAgY29uc3QgaW50MTZfdCB0bXAgPSBybmRfLlJhbmQxNlNpZ25l
ZCgpOwogICAgICAgc3JjX1tpXSA9ICh0cmFuX2xvd190KXRtcDsKQEAgLTI5Myw3ICsyOTIsNyBA
QCBjbGFzcyBCbG9ja0Vycm9yVGVzdEZQCiAgICAgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0LAog
ICAgICAgcHVibGljIDo6dGVzdGluZzo6V2l0aFBhcmFtSW50ZXJmYWNlPEJsb2NrRXJyb3JUZXN0
RlBQYXJhbT4gewogIHByb3RlY3RlZDoKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmly
dHVhbCB2b2lkIFNldFVwKCkgewogICAgIHR4Zm1fc2l6ZV8gPSBHRVRfUEFSQU0oMCk7CiAgICAg
YmxvY2tfZXJyb3JfZnVuY18gPSBHRVRfUEFSQU0oMSk7CiAgICAgcm5kXy5SZXNldChBQ01SYW5k
b206OkRldGVybWluaXN0aWNTZWVkKCkpOwpAQCAtMzA1LDcgKzMwNCw3IEBAIGNsYXNzIEJsb2Nr
RXJyb3JUZXN0RlAKICAgICBBU1NFUlRfTkUoZHFjb2VmZl8sIG51bGxwdHIpOwogICB9CiAKLSAg
dm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgewog
ICAgIGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7CiAgICAgdnB4X2ZyZWUoY29lZmZf
KTsKICAgICB2cHhfZnJlZShkcWNvZWZmXyk7CkBAIC00NjQsNyArNDYzLDcgQEAgVEVTVF9QKFNh
dGRMb3diZFRlc3QsIERJU0FCTEVEX1NwZWVkKSB7CiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQ
VEgKIGNsYXNzIFNhdGRIaWdoYmRUZXN0IDogcHVibGljIFNhdGRUZXN0IHsKICBwcm90ZWN0ZWQ6
Ci0gIHZvaWQgRmlsbFJhbmRvbSgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEZpbGxSYW5k
b20oKSB7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzYXRkX3NpemVfOyArK2kpIHsKICAgICAg
IHNyY19baV0gPSBybmRfLlJhbmQyMFNpZ25lZCgpOwogICAgIH0KQEAgLTU4MywxMyArNTgyLDYg
QEAgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgICAgICAgICAgICAgICAgICAgIG1ha2Vf
dHVwbGUoMTYsIDE2LCAxLCA0LCAmdnB4X2hpZ2hiZF9hdmdfNHg0X3NzZTIpKSk7CiAjZW5kaWYg
IC8vIEhBVkVfU1NFMgogCi0jaWYgSEFWRV9ORU9OCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1Ao
Ci0gICAgTkVPTiwgQXZlcmFnZVRlc3RIQkQsCi0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMobWFrZV90
dXBsZSgxNiwgMTYsIDEsIDgsICZ2cHhfaGlnaGJkX2F2Z184eDhfbmVvbiksCi0gICAgICAgICAg
ICAgICAgICAgICAgbWFrZV90dXBsZSgxNiwgMTYsIDEsIDQsICZ2cHhfaGlnaGJkX2F2Z180eDRf
bmVvbikpKTsKLSNlbmRpZiAgLy8gSEFWRV9ORU9OCi0KIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVf
UChDLCBTYXRkSGlnaGJkVGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6
OlZhbHVlcyhtYWtlX3R1cGxlKDE2LCAmdnB4X3NhdGRfYyksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSg2NCwgJnZweF9zYXRkX2MpLApAQCAt
NzAyLDIxICs2OTQsMTYgQEAgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKE5FT04sIFNhdGRMb3di
ZFRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFrZV90
dXBsZSgyNTYsICZ2cHhfc2F0ZF9uZW9uKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtYWtlX3R1cGxlKDEwMjQsICZ2cHhfc2F0ZF9uZW9uKSkpOwogCi0jaWYg
Q09ORklHX1ZQOV9ISUdIQklUREVQVEgKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAgICBO
RU9OLCBTYXRkSGlnaGJkVGVzdCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVlcyhtYWtlX3R1cGxlKDE2
LCAmdnB4X2hpZ2hiZF9zYXRkX25lb24pLAotICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVw
bGUoNjQsICZ2cHhfaGlnaGJkX3NhdGRfbmVvbiksCi0gICAgICAgICAgICAgICAgICAgICAgbWFr
ZV90dXBsZSgyNTYsICZ2cHhfaGlnaGJkX3NhdGRfbmVvbiksCi0gICAgICAgICAgICAgICAgICAg
ICAgbWFrZV90dXBsZSgxMDI0LCAmdnB4X2hpZ2hiZF9zYXRkX25lb24pKSk7Ci0jZW5kaWYgIC8v
IENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KKy8vIFRPRE8oamlhbmopOiBSZW1vdmUgdGhlIGhp
Z2hiaXRkZXB0aCBmbGFnIG9uY2UgdGhlIFNJTUQgZnVuY3Rpb25zIGFyZQorLy8gaW4gcGxhY2Uu
CisjaWYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1Ao
CiAgICAgTkVPTiwgQmxvY2tFcnJvclRlc3RGUCwKICAgICA6OnRlc3Rpbmc6OlZhbHVlcyhtYWtl
X3R1cGxlKDE2LCAmdnA5X2Jsb2NrX2Vycm9yX2ZwX25lb24pLAogICAgICAgICAgICAgICAgICAg
ICAgIG1ha2VfdHVwbGUoNjQsICZ2cDlfYmxvY2tfZXJyb3JfZnBfbmVvbiksCiAgICAgICAgICAg
ICAgICAgICAgICAgbWFrZV90dXBsZSgyNTYsICZ2cDlfYmxvY2tfZXJyb3JfZnBfbmVvbiksCiAg
ICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSgxMDI0LCAmdnA5X2Jsb2NrX2Vycm9yX2Zw
X25lb24pKSk7CisjZW5kaWYgIC8vICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogI2VuZGlmICAv
LyBIQVZFX05FT04KIAogI2lmIEhBVkVfTVNBCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qv
YmVuY2guaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9iZW5jaC5oCmluZGV4IDIwM2U0ZDI0N2VmNi4uNTdj
YTkxMThiYWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvYmVuY2guaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvYmVuY2guaApAQCAtMTYsOCArMTYsNiBAQAogCiBjbGFzcyBBYnN0cmFjdEJl
bmNoIHsKICBwdWJsaWM6Ci0gIHZpcnR1YWwgfkFic3RyYWN0QmVuY2goKSA9IGRlZmF1bHQ7Ci0K
ICAgdm9pZCBSdW5OVGltZXMoaW50IG4pOwogICB2b2lkIFByaW50TWVkaWFuKGNvbnN0IGNoYXIg
KnRpdGxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2Jsb2NraW5lc3NfdGVzdC5j
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC9ibG9ja2luZXNzX3Rlc3QuY2MKaW5kZXggNWE0NWJjMGI3ZmQx
Li4xMWIyYTNmNjFmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9ibG9ja2luZXNzX3Rl
c3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2Jsb2NraW5lc3NfdGVzdC5jYwpAQCAtNDksMTQg
KzQ5LDE0IEBAIGNsYXNzIEJsb2NraW5lc3NUZXN0QmFzZSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRl
c3QgewogICAgIHJlZmVyZW5jZV9kYXRhXyA9IG51bGxwdHI7CiAgIH0KIAotICB2b2lkIFRlYXJE
b3duKCkgb3ZlcnJpZGUgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CisgIHZp
cnR1YWwgdm9pZCBUZWFyRG93bigpIHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsg
fQogCiAgcHJvdGVjdGVkOgogICAvLyBIYW5kbGUgZnJhbWVzIHVwIHRvIDY0MHg0ODAKICAgc3Rh
dGljIGNvbnN0IGludCBrRGF0YUFsaWdubWVudCA9IDE2OwogICBzdGF0aWMgY29uc3QgaW50IGtE
YXRhQnVmZmVyU2l6ZSA9IDY0MCAqIDQ4MDsKIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgc291cmNlX3N0cmlkZV8gPSAod2lkdGhfICsg
MzEpICYgfjMxOwogICAgIHJlZmVyZW5jZV9zdHJpZGVfID0gd2lkdGhfICogMjsKICAgICBybmRf
LlJlc2V0KEFDTVJhbmRvbTo6RGV0ZXJtaW5pc3RpY1NlZWQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvYm9yZGVyc190ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2JvcmRlcnNfdGVz
dC5jYwppbmRleCAyNzI2YmQ1NTdkNTIuLjNjMWY2OWE5MjNmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L2JvcmRlcnNfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvYm9yZGVyc190
ZXN0LmNjCkBAIC0yMiwxNSArMjIsMTUgQEAgY2xhc3MgQm9yZGVyc1Rlc3QKICAgICAgIHB1Ymxp
YyA6OmxpYnZweF90ZXN0OjpDb2RlY1Rlc3RXaXRoUGFyYW08bGlidnB4X3Rlc3Q6OlRlc3RNb2Rl
PiB7CiAgcHJvdGVjdGVkOgogICBCb3JkZXJzVGVzdCgpIDogRW5jb2RlclRlc3QoR0VUX1BBUkFN
KDApKSB7fQotICB+Qm9yZGVyc1Rlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwg
fkJvcmRlcnNUZXN0KCkge30KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFs
IHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUoR0VU
X1BBUkFNKDEpKTsKICAgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rl
c3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2
cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJl
RW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNv
ZGVyKSB7CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsKICAgICAgIGVuY29kZXItPkNv
bnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgMSk7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVf
U0VUX0VOQUJMRUFVVE9BTFRSRUYsIDEpOwpAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBCb3JkZXJz
VGVzdAogICAgIH0KICAgfQogCi0gIHZvaWQgRnJhbWVQa3RIb29rKGNvbnN0IHZweF9jb2RlY19j
eF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBGcmFtZVBrdEhvb2soY29u
c3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIHsKICAgICBpZiAocGt0LT5kYXRhLmZyYW1lLmZs
YWdzICYgVlBYX0ZSQU1FX0lTX0tFWSkgewogICAgIH0KICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L2J1ZmZlci5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2J1ZmZlci5oCmluZGV4IDAyMzkz
OWNlZGZkMi4uYjAwM2QyZjBkMDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvYnVmZmVy
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2J1ZmZlci5oCkBAIC0zMSw3ICszMSw3IEBAIGNsYXNz
IEJ1ZmZlciB7CiAgICAgICA6IHdpZHRoXyh3aWR0aCksIGhlaWdodF8oaGVpZ2h0KSwgdG9wX3Bh
ZGRpbmdfKHRvcF9wYWRkaW5nKSwKICAgICAgICAgbGVmdF9wYWRkaW5nXyhsZWZ0X3BhZGRpbmcp
LCByaWdodF9wYWRkaW5nXyhyaWdodF9wYWRkaW5nKSwKICAgICAgICAgYm90dG9tX3BhZGRpbmdf
KGJvdHRvbV9wYWRkaW5nKSwgYWxpZ25tZW50XygwKSwgcGFkZGluZ192YWx1ZV8oMCksCi0gICAg
ICAgIHN0cmlkZV8oMCksIHJhd19zaXplXygwKSwgbnVtX2VsZW1lbnRzXygwKSwgcmF3X2J1ZmZl
cl8obnVsbHB0cikge30KKyAgICAgICAgc3RyaWRlXygwKSwgcmF3X3NpemVfKDApLCBudW1fZWxl
bWVudHNfKDApLCByYXdfYnVmZmVyXyhOVUxMKSB7fQogCiAgIEJ1ZmZlcihpbnQgd2lkdGgsIGlu
dCBoZWlnaHQsIGludCB0b3BfcGFkZGluZywgaW50IGxlZnRfcGFkZGluZywKICAgICAgICAgIGlu
dCByaWdodF9wYWRkaW5nLCBpbnQgYm90dG9tX3BhZGRpbmcsIHVuc2lnbmVkIGludCBhbGlnbm1l
bnQpCkBAIC0zOSwxOSArMzksMTkgQEAgY2xhc3MgQnVmZmVyIHsKICAgICAgICAgbGVmdF9wYWRk
aW5nXyhsZWZ0X3BhZGRpbmcpLCByaWdodF9wYWRkaW5nXyhyaWdodF9wYWRkaW5nKSwKICAgICAg
ICAgYm90dG9tX3BhZGRpbmdfKGJvdHRvbV9wYWRkaW5nKSwgYWxpZ25tZW50XyhhbGlnbm1lbnQp
LAogICAgICAgICBwYWRkaW5nX3ZhbHVlXygwKSwgc3RyaWRlXygwKSwgcmF3X3NpemVfKDApLCBu
dW1fZWxlbWVudHNfKDApLAotICAgICAgICByYXdfYnVmZmVyXyhudWxscHRyKSB7fQorICAgICAg
ICByYXdfYnVmZmVyXyhOVUxMKSB7fQogCiAgIEJ1ZmZlcihpbnQgd2lkdGgsIGludCBoZWlnaHQs
IGludCBwYWRkaW5nKQogICAgICAgOiB3aWR0aF8od2lkdGgpLCBoZWlnaHRfKGhlaWdodCksIHRv
cF9wYWRkaW5nXyhwYWRkaW5nKSwKICAgICAgICAgbGVmdF9wYWRkaW5nXyhwYWRkaW5nKSwgcmln
aHRfcGFkZGluZ18ocGFkZGluZyksCiAgICAgICAgIGJvdHRvbV9wYWRkaW5nXyhwYWRkaW5nKSwg
YWxpZ25tZW50XygwKSwgcGFkZGluZ192YWx1ZV8oMCksIHN0cmlkZV8oMCksCi0gICAgICAgIHJh
d19zaXplXygwKSwgbnVtX2VsZW1lbnRzXygwKSwgcmF3X2J1ZmZlcl8obnVsbHB0cikge30KKyAg
ICAgICAgcmF3X3NpemVfKDApLCBudW1fZWxlbWVudHNfKDApLCByYXdfYnVmZmVyXyhOVUxMKSB7
fQogCiAgIEJ1ZmZlcihpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBwYWRkaW5nLCB1bnNpZ25l
ZCBpbnQgYWxpZ25tZW50KQogICAgICAgOiB3aWR0aF8od2lkdGgpLCBoZWlnaHRfKGhlaWdodCks
IHRvcF9wYWRkaW5nXyhwYWRkaW5nKSwKICAgICAgICAgbGVmdF9wYWRkaW5nXyhwYWRkaW5nKSwg
cmlnaHRfcGFkZGluZ18ocGFkZGluZyksCiAgICAgICAgIGJvdHRvbV9wYWRkaW5nXyhwYWRkaW5n
KSwgYWxpZ25tZW50XyhhbGlnbm1lbnQpLCBwYWRkaW5nX3ZhbHVlXygwKSwKLSAgICAgICAgc3Ry
aWRlXygwKSwgcmF3X3NpemVfKDApLCBudW1fZWxlbWVudHNfKDApLCByYXdfYnVmZmVyXyhudWxs
cHRyKSB7fQorICAgICAgICBzdHJpZGVfKDApLCByYXdfc2l6ZV8oMCksIG51bV9lbGVtZW50c18o
MCksIHJhd19idWZmZXJfKE5VTEwpIHt9CiAKICAgfkJ1ZmZlcigpIHsKICAgICBpZiAoYWxpZ25t
ZW50XykgewpAQCAtMTAzLDcgKzEwMyw3IEBAIGNsYXNzIEJ1ZmZlciB7CiAgIGJvb2wgQ2hlY2tW
YWx1ZXMoY29uc3QgQnVmZmVyPFQ+ICZhKSBjb25zdDsKIAogICBib29sIEluaXQoKSB7Ci0gICAg
aWYgKHJhd19idWZmZXJfICE9IG51bGxwdHIpIHJldHVybiBmYWxzZTsKKyAgICBpZiAocmF3X2J1
ZmZlcl8gIT0gTlVMTCkgcmV0dXJuIGZhbHNlOwogICAgIEVYUEVDVF9HVCh3aWR0aF8sIDApOwog
ICAgIEVYUEVDVF9HVChoZWlnaHRfLCAwKTsKICAgICBFWFBFQ1RfR0UodG9wX3BhZGRpbmdfLCAw
KTsKQEAgLTEyNiw3ICsxMjYsNyBAQCBjbGFzcyBCdWZmZXIgewogICAgIH0gZWxzZSB7CiAgICAg
ICByYXdfYnVmZmVyXyA9IG5ldyAoc3RkOjpub3Rocm93KSBUW251bV9lbGVtZW50c19dOwogICAg
IH0KLSAgICBFWFBFQ1RfTkUocmF3X2J1ZmZlcl8sIG51bGxwdHIpOworICAgIEVYUEVDVF9UUlVF
KHJhd19idWZmZXJfICE9IE5VTEwpOwogICAgIFNldFBhZGRpbmcoc3RkOjpudW1lcmljX2xpbWl0
czxUPjo6bWF4KCkpOwogICAgIHJldHVybiAhOjp0ZXN0aW5nOjpUZXN0OjpIYXNGYWlsdXJlKCk7
CiAgIH0KQEAgLTE1MCw3ICsxNTAsNyBAQCBjbGFzcyBCdWZmZXIgewogCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVD4KIFQgKkJ1ZmZlcjxUPjo6VG9wTGVmdFBpeGVsKCkgY29uc3QgewotICBpZiAoIXJh
d19idWZmZXJfKSByZXR1cm4gbnVsbHB0cjsKKyAgaWYgKCFyYXdfYnVmZmVyXykgcmV0dXJuIE5V
TEw7CiAgIHJldHVybiByYXdfYnVmZmVyXyArICh0b3BfcGFkZGluZ18gKiBzdHJpZGVfKSArIGxl
ZnRfcGFkZGluZ187CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9ieXRlX2FsaWdu
bWVudF90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2J5dGVfYWxpZ25tZW50X3Rlc3QuY2MKaW5k
ZXggYmE2ZmZmYzUyNGI3Li4xZTBmZmNlYjhkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9ieXRlX2FsaWdubWVudF90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9ieXRlX2FsaWdu
bWVudF90ZXN0LmNjCkBAIC01OCw3ICs1OCw3IEBAIGNsYXNzIEJ5dGVBbGlnbm1lbnRUZXN0CiAg
IEJ5dGVBbGlnbm1lbnRUZXN0KCkKICAgICAgIDogdmlkZW9fKG51bGxwdHIpLCBkZWNvZGVyXyhu
dWxscHRyKSwgbWQ1X2ZpbGVfKG51bGxwdHIpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRl
IHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIHZpZGVvXyA9IG5ldyBsaWJ2cHhfdGVz
dDo6V2ViTVZpZGVvU291cmNlKGtWUDlUZXN0RmlsZSk7CiAgICAgQVNTRVJUX05FKHZpZGVvXywg
bnVsbHB0cik7CiAgICAgdmlkZW9fLT5Jbml0KCk7CkBAIC03MSw3ICs3MSw3IEBAIGNsYXNzIEJ5
dGVBbGlnbm1lbnRUZXN0CiAgICAgT3Blbk1kNUZpbGUoa1ZQOU1kNUZpbGUpOwogICB9CiAKLSAg
dm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgewog
ICAgIGlmIChtZDVfZmlsZV8gIT0gbnVsbHB0cikgZmNsb3NlKG1kNV9maWxlXyk7CiAKICAgICBk
ZWxldGUgZGVjb2Rlcl87CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29kZWNfZmFjdG9y
eS5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L2NvZGVjX2ZhY3RvcnkuaAppbmRleCBkMDA1NjNkZjFjMmQu
Ljc3Y2U0OWRlOWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2NvZGVjX2ZhY3Rvcnku
aAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29kZWNfZmFjdG9yeS5oCkBAIC04NCwxMSArODQsMTEg
QEAgY2xhc3MgVlA4RGVjb2RlciA6IHB1YmxpYyBEZWNvZGVyIHsKICAgICAgIDogRGVjb2Rlcihj
ZmcsIGZsYWcpIHt9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZweF9jb2RlY19pZmFjZV90ICpDb2RlY0lu
dGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2cHhfY29kZWNfaWZhY2VfdCAq
Q29kZWNJbnRlcmZhY2UoKSBjb25zdCB7CiAjaWYgQ09ORklHX1ZQOF9ERUNPREVSCiAgICAgcmV0
dXJuICZ2cHhfY29kZWNfdnA4X2R4X2FsZ287CiAjZWxzZQotICAgIHJldHVybiBudWxscHRyOwor
ICAgIHJldHVybiBOVUxMOwogI2VuZGlmCiAgIH0KIH07CkBAIC0xMDAsMTEgKzEwMCwxMSBAQCBj
bGFzcyBWUDhFbmNvZGVyIDogcHVibGljIEVuY29kZXIgewogICAgICAgOiBFbmNvZGVyKGNmZywg
ZGVhZGxpbmUsIGluaXRfZmxhZ3MsIHN0YXRzKSB7fQogCiAgcHJvdGVjdGVkOgotICB2cHhfY29k
ZWNfaWZhY2VfdCAqQ29kZWNJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7CisgIHZpcnR1YWwg
dnB4X2NvZGVjX2lmYWNlX3QgKkNvZGVjSW50ZXJmYWNlKCkgY29uc3QgewogI2lmIENPTkZJR19W
UDhfRU5DT0RFUgogICAgIHJldHVybiAmdnB4X2NvZGVjX3ZwOF9jeF9hbGdvOwogI2Vsc2UKLSAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gTlVMTDsKICNlbmRpZgogICB9CiB9OwpAQCAt
MTEzLDI0ICsxMTMsMjUgQEAgY2xhc3MgVlA4Q29kZWNGYWN0b3J5IDogcHVibGljIENvZGVjRmFj
dG9yeSB7CiAgcHVibGljOgogICBWUDhDb2RlY0ZhY3RvcnkoKSA6IENvZGVjRmFjdG9yeSgpIHt9
CiAKLSAgRGVjb2RlciAqQ3JlYXRlRGVjb2Rlcih2cHhfY29kZWNfZGVjX2NmZ190IGNmZykgY29u
c3Qgb3ZlcnJpZGUgeworICB2aXJ0dWFsIERlY29kZXIgKkNyZWF0ZURlY29kZXIodnB4X2NvZGVj
X2RlY19jZmdfdCBjZmcpIGNvbnN0IHsKICAgICByZXR1cm4gQ3JlYXRlRGVjb2RlcihjZmcsIDAp
OwogICB9CiAKLSAgRGVjb2RlciAqQ3JlYXRlRGVjb2Rlcih2cHhfY29kZWNfZGVjX2NmZ190IGNm
ZywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2cHhfY29kZWNfZmxhZ3NfdCBmbGFn
cykgY29uc3Qgb3ZlcnJpZGUgeworICB2aXJ0dWFsIERlY29kZXIgKkNyZWF0ZURlY29kZXIodnB4
X2NvZGVjX2RlY19jZmdfdCBjZmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB2cHhfY29kZWNfZmxhZ3NfdCBmbGFncykgY29uc3QgewogI2lmIENPTkZJR19WUDhfREVD
T0RFUgogICAgIHJldHVybiBuZXcgVlA4RGVjb2RlcihjZmcsIGZsYWdzKTsKICNlbHNlCiAgICAg
KHZvaWQpY2ZnOwogICAgICh2b2lkKWZsYWdzOwotICAgIHJldHVybiBudWxscHRyOworICAgIHJl
dHVybiBOVUxMOwogI2VuZGlmCiAgIH0KIAotICBFbmNvZGVyICpDcmVhdGVFbmNvZGVyKHZweF9j
b2RlY19lbmNfY2ZnX3QgY2ZnLCB1bnNpZ25lZCBsb25nIGRlYWRsaW5lLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgaW5pdF9mbGFncywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBUd29wYXNzU3RhdHNTdG9yZSAqc3RhdHMpIGNvbnN0IG92ZXJyaWRlIHsK
KyAgdmlydHVhbCBFbmNvZGVyICpDcmVhdGVFbmNvZGVyKHZweF9jb2RlY19lbmNfY2ZnX3QgY2Zn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBkZWFkbGlu
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcg
aW5pdF9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR3b3Bhc3NTdGF0
c1N0b3JlICpzdGF0cykgY29uc3QgewogI2lmIENPTkZJR19WUDhfRU5DT0RFUgogICAgIHJldHVy
biBuZXcgVlA4RW5jb2RlcihjZmcsIGRlYWRsaW5lLCBpbml0X2ZsYWdzLCBzdGF0cyk7CiAjZWxz
ZQpAQCAtMTM4LDEyICsxMzksMTIgQEAgY2xhc3MgVlA4Q29kZWNGYWN0b3J5IDogcHVibGljIENv
ZGVjRmFjdG9yeSB7CiAgICAgKHZvaWQpZGVhZGxpbmU7CiAgICAgKHZvaWQpaW5pdF9mbGFnczsK
ICAgICAodm9pZClzdGF0czsKLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gTlVMTDsK
ICNlbmRpZgogICB9CiAKLSAgdnB4X2NvZGVjX2Vycl90IERlZmF1bHRFbmNvZGVyQ29uZmlnKHZw
eF9jb2RlY19lbmNfY2ZnX3QgKmNmZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB1c2FnZSkgY29uc3Qgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZweF9jb2RlY19l
cnJfdCBEZWZhdWx0RW5jb2RlckNvbmZpZyh2cHhfY29kZWNfZW5jX2NmZ190ICpjZmcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1c2FnZSkgY29u
c3QgewogI2lmIENPTkZJR19WUDhfRU5DT0RFUgogICAgIHJldHVybiB2cHhfY29kZWNfZW5jX2Nv
bmZpZ19kZWZhdWx0KCZ2cHhfY29kZWNfdnA4X2N4X2FsZ28sIGNmZywgdXNhZ2UpOwogI2Vsc2UK
QEAgLTE3OSwxMSArMTgwLDExIEBAIGNsYXNzIFZQOURlY29kZXIgOiBwdWJsaWMgRGVjb2RlciB7
CiAgICAgICA6IERlY29kZXIoY2ZnLCBmbGFnKSB7fQogCiAgcHJvdGVjdGVkOgotICB2cHhfY29k
ZWNfaWZhY2VfdCAqQ29kZWNJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7CisgIHZpcnR1YWwg
dnB4X2NvZGVjX2lmYWNlX3QgKkNvZGVjSW50ZXJmYWNlKCkgY29uc3QgewogI2lmIENPTkZJR19W
UDlfREVDT0RFUgogICAgIHJldHVybiAmdnB4X2NvZGVjX3ZwOV9keF9hbGdvOwogI2Vsc2UKLSAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gTlVMTDsKICNlbmRpZgogICB9CiB9OwpAQCAt
MTk1LDExICsxOTYsMTEgQEAgY2xhc3MgVlA5RW5jb2RlciA6IHB1YmxpYyBFbmNvZGVyIHsKICAg
ICAgIDogRW5jb2RlcihjZmcsIGRlYWRsaW5lLCBpbml0X2ZsYWdzLCBzdGF0cykge30KIAogIHBy
b3RlY3RlZDoKLSAgdnB4X2NvZGVjX2lmYWNlX3QgKkNvZGVjSW50ZXJmYWNlKCkgY29uc3Qgb3Zl
cnJpZGUgeworICB2aXJ0dWFsIHZweF9jb2RlY19pZmFjZV90ICpDb2RlY0ludGVyZmFjZSgpIGNv
bnN0IHsKICNpZiBDT05GSUdfVlA5X0VOQ09ERVIKICAgICByZXR1cm4gJnZweF9jb2RlY192cDlf
Y3hfYWxnbzsKICNlbHNlCi0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIE5VTEw7CiAj
ZW5kaWYKICAgfQogfTsKQEAgLTIwOCwyNCArMjA5LDI1IEBAIGNsYXNzIFZQOUNvZGVjRmFjdG9y
eSA6IHB1YmxpYyBDb2RlY0ZhY3RvcnkgewogIHB1YmxpYzoKICAgVlA5Q29kZWNGYWN0b3J5KCkg
OiBDb2RlY0ZhY3RvcnkoKSB7fQogCi0gIERlY29kZXIgKkNyZWF0ZURlY29kZXIodnB4X2NvZGVj
X2RlY19jZmdfdCBjZmcpIGNvbnN0IG92ZXJyaWRlIHsKKyAgdmlydHVhbCBEZWNvZGVyICpDcmVh
dGVEZWNvZGVyKHZweF9jb2RlY19kZWNfY2ZnX3QgY2ZnKSBjb25zdCB7CiAgICAgcmV0dXJuIENy
ZWF0ZURlY29kZXIoY2ZnLCAwKTsKICAgfQogCi0gIERlY29kZXIgKkNyZWF0ZURlY29kZXIodnB4
X2NvZGVjX2RlY19jZmdfdCBjZmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnB4
X2NvZGVjX2ZsYWdzX3QgZmxhZ3MpIGNvbnN0IG92ZXJyaWRlIHsKKyAgdmlydHVhbCBEZWNvZGVy
ICpDcmVhdGVEZWNvZGVyKHZweF9jb2RlY19kZWNfY2ZnX3QgY2ZnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdnB4X2NvZGVjX2ZsYWdzX3QgZmxhZ3MpIGNvbnN0IHsK
ICNpZiBDT05GSUdfVlA5X0RFQ09ERVIKICAgICByZXR1cm4gbmV3IFZQOURlY29kZXIoY2ZnLCBm
bGFncyk7CiAjZWxzZQogICAgICh2b2lkKWNmZzsKICAgICAodm9pZClmbGFnczsKLSAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gTlVMTDsKICNlbmRpZgogICB9CiAKLSAgRW5jb2RlciAq
Q3JlYXRlRW5jb2Rlcih2cHhfY29kZWNfZW5jX2NmZ190IGNmZywgdW5zaWduZWQgbG9uZyBkZWFk
bGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGluaXRf
ZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgVHdvcGFzc1N0YXRzU3RvcmUgKnN0YXRz
KSBjb25zdCBvdmVycmlkZSB7CisgIHZpcnR1YWwgRW5jb2RlciAqQ3JlYXRlRW5jb2Rlcih2cHhf
Y29kZWNfZW5jX2NmZ190IGNmZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgZGVhZGxpbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1bnNpZ25lZCBsb25nIGluaXRfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBUd29wYXNzU3RhdHNTdG9yZSAqc3RhdHMpIGNvbnN0IHsKICNpZiBDT05GSUdfVlA5
X0VOQ09ERVIKICAgICByZXR1cm4gbmV3IFZQOUVuY29kZXIoY2ZnLCBkZWFkbGluZSwgaW5pdF9m
bGFncywgc3RhdHMpOwogI2Vsc2UKQEAgLTIzMywxMiArMjM1LDEyIEBAIGNsYXNzIFZQOUNvZGVj
RmFjdG9yeSA6IHB1YmxpYyBDb2RlY0ZhY3RvcnkgewogICAgICh2b2lkKWRlYWRsaW5lOwogICAg
ICh2b2lkKWluaXRfZmxhZ3M7CiAgICAgKHZvaWQpc3RhdHM7Ci0gICAgcmV0dXJuIG51bGxwdHI7
CisgICAgcmV0dXJuIE5VTEw7CiAjZW5kaWYKICAgfQogCi0gIHZweF9jb2RlY19lcnJfdCBEZWZh
dWx0RW5jb2RlckNvbmZpZyh2cHhfY29kZWNfZW5jX2NmZ190ICpjZmcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXNhZ2UpIGNvbnN0IG92ZXJyaWRlIHsKKyAg
dmlydHVhbCB2cHhfY29kZWNfZXJyX3QgRGVmYXVsdEVuY29kZXJDb25maWcodnB4X2NvZGVjX2Vu
Y19jZmdfdCAqY2ZnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgdXNhZ2UpIGNvbnN0IHsKICNpZiBDT05GSUdfVlA5X0VOQ09ERVIKICAgICByZXR1
cm4gdnB4X2NvZGVjX2VuY19jb25maWdfZGVmYXVsdCgmdnB4X2NvZGVjX3ZwOV9jeF9hbGdvLCBj
ZmcsIHVzYWdlKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29tcF9hdmdf
cHJlZF90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2NvbXBfYXZnX3ByZWRfdGVzdC5jYwppbmRl
eCAzMjM0Y2M5YTI1N2YuLmI5MjAxYTIwZjljMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0
L2NvbXBfYXZnX3ByZWRfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29tcF9hdmdfcHJl
ZF90ZXN0LmNjCkBAIC0yMiwxNCArMjIsMTMgQEAgbmFtZXNwYWNlIHsKIHVzaW5nIDo6bGlidnB4
X3Rlc3Q6OkFDTVJhbmRvbTsKIHVzaW5nIDo6bGlidnB4X3Rlc3Q6OkJ1ZmZlcjsKIAotdGVtcGxh
dGUgPHR5cGVuYW1lIFBpeGVsPgotUGl4ZWwgYXZnX3dpdGhfcm91bmRpbmcoUGl4ZWwgYSwgUGl4
ZWwgYikgewotICByZXR1cm4gKGEgKyBiICsgMSkgPj4gMTsKLX0KK3R5cGVkZWYgdm9pZCAoKkF2
Z1ByZWRGdW5jKSh1aW50OF90ICphLCBjb25zdCB1aW50OF90ICpiLCBpbnQgdywgaW50IGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYywgaW50IGNfc3RyaWRl
KTsKKwordWludDhfdCBhdmdfd2l0aF9yb3VuZGluZyh1aW50OF90IGEsIHVpbnQ4X3QgYikgeyBy
ZXR1cm4gKGEgKyBiICsgMSkgPj4gMTsgfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgUGl4ZWw+Ci12
b2lkIHJlZmVyZW5jZV9wcmVkKGNvbnN0IEJ1ZmZlcjxQaXhlbD4gJnByZWQsIGNvbnN0IEJ1ZmZl
cjxQaXhlbD4gJnJlZiwKLSAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
LCBCdWZmZXI8UGl4ZWw+ICphdmcpIHsKK3ZvaWQgcmVmZXJlbmNlX3ByZWQoY29uc3QgQnVmZmVy
PHVpbnQ4X3Q+ICZwcmVkLCBjb25zdCBCdWZmZXI8dWludDhfdD4gJnJlZiwKKyAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBCdWZmZXI8dWludDhfdD4gKmF2Zykgewog
ICBBU1NFUlRfTkUoYXZnLT5Ub3BMZWZ0UGl4ZWwoKSwgbnVsbHB0cik7CiAgIEFTU0VSVF9ORShw
cmVkLlRvcExlZnRQaXhlbCgpLCBudWxscHRyKTsKICAgQVNTRVJUX05FKHJlZi5Ub3BMZWZ0UGl4
ZWwoKSwgbnVsbHB0cik7CkBAIC0zNywzNiArMzYsMjggQEAgdm9pZCByZWZlcmVuY2VfcHJlZChj
b25zdCBCdWZmZXI8UGl4ZWw+ICZwcmVkLCBjb25zdCBCdWZmZXI8UGl4ZWw+ICZyZWYsCiAgIGZv
ciAoaW50IHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBmb3IgKGludCB4ID0gMDsgeCA8
IHdpZHRoOyArK3gpIHsKICAgICAgIGF2Zy0+VG9wTGVmdFBpeGVsKClbeSAqIGF2Zy0+c3RyaWRl
KCkgKyB4XSA9Ci0gICAgICAgICAgYXZnX3dpdGhfcm91bmRpbmc8UGl4ZWw+KHByZWQuVG9wTGVm
dFBpeGVsKClbeSAqIHByZWQuc3RyaWRlKCkgKyB4XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVmLlRvcExlZnRQaXhlbCgpW3kgKiByZWYuc3RyaWRlKCkgKyB4XSk7Cisg
ICAgICAgICAgYXZnX3dpdGhfcm91bmRpbmcocHJlZC5Ub3BMZWZ0UGl4ZWwoKVt5ICogcHJlZC5z
dHJpZGUoKSArIHhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5Ub3BMZWZ0UGl4
ZWwoKVt5ICogcmVmLnN0cmlkZSgpICsgeF0pOwogICAgIH0KICAgfQogfQogCi11c2luZyBBdmdQ
cmVkRnVuYyA9IHZvaWQgKCopKHVpbnQ4X3QgKmEsIGNvbnN0IHVpbnQ4X3QgKmIsIGludCB3LCBp
bnQgaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYywgaW50
IGNfc3RyaWRlKTsKLQotdGVtcGxhdGUgPGludCBiaXRkZXB0aCwgdHlwZW5hbWUgUGl4ZWw+CiBj
bGFzcyBBdmdQcmVkVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08QXZnUHJl
ZEZ1bmM+IHsKICBwdWJsaWM6Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwg
dm9pZCBTZXRVcCgpIHsKICAgICBhdmdfcHJlZF9mdW5jXyA9IEdldFBhcmFtKCk7CiAgICAgcm5k
Xy5SZXNldChBQ01SYW5kb206OkRldGVybWluaXN0aWNTZWVkKCkpOwogICB9CiAKLSAgdm9pZCBU
ZXN0U2l6ZUNvbWJpbmF0aW9ucygpOwotICB2b2lkIFRlc3RDb21wYXJlUmVmZXJlbmNlUmFuZG9t
KCk7Ci0gIHZvaWQgVGVzdFNwZWVkKCk7Ci0KICBwcm90ZWN0ZWQ6CiAgIEF2Z1ByZWRGdW5jIGF2
Z19wcmVkX2Z1bmNfOwogICBBQ01SYW5kb20gcm5kXzsKIH07CiAKLXRlbXBsYXRlIDxpbnQgYml0
ZGVwdGgsIHR5cGVuYW1lIFBpeGVsPgotdm9pZCBBdmdQcmVkVGVzdDxiaXRkZXB0aCwgUGl4ZWw+
OjpUZXN0U2l6ZUNvbWJpbmF0aW9ucygpIHsKK1RFU1RfUChBdmdQcmVkVGVzdCwgU2l6ZUNvbWJp
bmF0aW9ucykgewogICAvLyBUaGlzIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIHRoZSBzdWIgcGl4ZWwg
dmFyaWFuY2UuIEFzIHN1Y2ggaXQgbXVzdCBiZSBvbmUgb2YKICAgLy8gdGhlIHZhcmlhbmNlIGJs
b2NrIHNpemVzLgorCiAgIGZvciAoaW50IHdpZHRoX3BvdyA9IDI7IHdpZHRoX3BvdyA8PSA2OyAr
K3dpZHRoX3BvdykgewogICAgIGZvciAoaW50IGhlaWdodF9wb3cgPSB3aWR0aF9wb3cgLSAxOyBo
ZWlnaHRfcG93IDw9IHdpZHRoX3BvdyArIDE7CiAgICAgICAgICArK2hlaWdodF9wb3cpIHsKQEAg
LTc5LDMwICs3MCwyMyBAQCB2b2lkIEF2Z1ByZWRUZXN0PGJpdGRlcHRoLCBQaXhlbD46OlRlc3RT
aXplQ29tYmluYXRpb25zKCkgewogICAgICAgICBjb25zdCBpbnQgd2lkdGggPSAxIDw8IHdpZHRo
X3BvdzsKICAgICAgICAgY29uc3QgaW50IGhlaWdodCA9IDEgPDwgaGVpZ2h0X3BvdzsKICAgICAg
ICAgLy8gT25seSB0aGUgcmVmZXJlbmNlIGJ1ZmZlciBtYXkgaGF2ZSBhIHN0cmlkZSBub3QgZXF1
YWwgdG8gd2lkdGguCi0gICAgICAgIEJ1ZmZlcjxQaXhlbD4gcmVmID0gQnVmZmVyPFBpeGVsPih3
aWR0aCwgaGVpZ2h0LCByZWZfcGFkZGluZyA/IDggOiAwKTsKKyAgICAgICAgQnVmZmVyPHVpbnQ4
X3Q+IHJlZiA9CisgICAgICAgICAgICBCdWZmZXI8dWludDhfdD4od2lkdGgsIGhlaWdodCwgcmVm
X3BhZGRpbmcgPyA4IDogMCk7CiAgICAgICAgIEFTU0VSVF9UUlVFKHJlZi5Jbml0KCkpOwotICAg
ICAgICBCdWZmZXI8UGl4ZWw+IHByZWQgPSBCdWZmZXI8UGl4ZWw+KHdpZHRoLCBoZWlnaHQsIDAs
IDMyKTsKKyAgICAgICAgQnVmZmVyPHVpbnQ4X3Q+IHByZWQgPSBCdWZmZXI8dWludDhfdD4od2lk
dGgsIGhlaWdodCwgMCwgMTYpOwogICAgICAgICBBU1NFUlRfVFJVRShwcmVkLkluaXQoKSk7Ci0g
ICAgICAgIEJ1ZmZlcjxQaXhlbD4gYXZnX3JlZiA9IEJ1ZmZlcjxQaXhlbD4od2lkdGgsIGhlaWdo
dCwgMCwgMzIpOworICAgICAgICBCdWZmZXI8dWludDhfdD4gYXZnX3JlZiA9IEJ1ZmZlcjx1aW50
OF90Pih3aWR0aCwgaGVpZ2h0LCAwLCAxNik7CiAgICAgICAgIEFTU0VSVF9UUlVFKGF2Z19yZWYu
SW5pdCgpKTsKLSAgICAgICAgQnVmZmVyPFBpeGVsPiBhdmdfY2hrID0gQnVmZmVyPFBpeGVsPih3
aWR0aCwgaGVpZ2h0LCAwLCAzMik7CisgICAgICAgIEJ1ZmZlcjx1aW50OF90PiBhdmdfY2hrID0g
QnVmZmVyPHVpbnQ4X3Q+KHdpZHRoLCBoZWlnaHQsIDAsIDE2KTsKICAgICAgICAgQVNTRVJUX1RS
VUUoYXZnX2Noay5Jbml0KCkpOwotICAgICAgICBjb25zdCBpbnQgYml0ZGVwdGhfbWFzayA9ICgx
IDw8IGJpdGRlcHRoKSAtIDE7Ci0gICAgICAgIGZvciAoaW50IGggPSAwOyBoIDwgaGVpZ2h0OyAr
K2gpIHsKLSAgICAgICAgICBmb3IgKGludCB3ID0gMDsgdyA8IHdpZHRoOyArK3cpIHsKLSAgICAg
ICAgICAgIHJlZi5Ub3BMZWZ0UGl4ZWwoKVt3ICsgaCAqIHdpZHRoXSA9IHJuZF8uUmFuZDE2KCkg
JiBiaXRkZXB0aF9tYXNrOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBmb3IgKGlu
dCBoID0gMDsgaCA8IGhlaWdodDsgKytoKSB7Ci0gICAgICAgICAgZm9yIChpbnQgdyA9IDA7IHcg
PCB3aWR0aDsgKyt3KSB7Ci0gICAgICAgICAgICBwcmVkLlRvcExlZnRQaXhlbCgpW3cgKyBoICog
d2lkdGhdID0gcm5kXy5SYW5kMTYoKSAmIGJpdGRlcHRoX21hc2s7Ci0gICAgICAgICAgfQotICAg
ICAgICB9CiAKLSAgICAgICAgcmVmZXJlbmNlX3ByZWQ8UGl4ZWw+KHByZWQsIHJlZiwgd2lkdGgs
IGhlaWdodCwgJmF2Z19yZWYpOwotICAgICAgICBBU01fUkVHSVNURVJfU1RBVEVfQ0hFQ0soYXZn
X3ByZWRfZnVuY18oCi0gICAgICAgICAgICAodWludDhfdCAqKWF2Z19jaGsuVG9wTGVmdFBpeGVs
KCksICh1aW50OF90ICopcHJlZC5Ub3BMZWZ0UGl4ZWwoKSwKLSAgICAgICAgICAgIHdpZHRoLCBo
ZWlnaHQsICh1aW50OF90ICopcmVmLlRvcExlZnRQaXhlbCgpLCByZWYuc3RyaWRlKCkpKTsKKyAg
ICAgICAgcmVmLlNldCgmcm5kXywgJkFDTVJhbmRvbTo6UmFuZDgpOworICAgICAgICBwcmVkLlNl
dCgmcm5kXywgJkFDTVJhbmRvbTo6UmFuZDgpOworCisgICAgICAgIHJlZmVyZW5jZV9wcmVkKHBy
ZWQsIHJlZiwgd2lkdGgsIGhlaWdodCwgJmF2Z19yZWYpOworICAgICAgICBBU01fUkVHSVNURVJf
U1RBVEVfQ0hFQ0soCisgICAgICAgICAgICBhdmdfcHJlZF9mdW5jXyhhdmdfY2hrLlRvcExlZnRQ
aXhlbCgpLCBwcmVkLlRvcExlZnRQaXhlbCgpLCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlaWdodCwgcmVmLlRvcExlZnRQaXhlbCgpLCByZWYuc3RyaWRlKCkpKTsKIAogICAg
ICAgICBFWFBFQ1RfVFJVRShhdmdfY2hrLkNoZWNrVmFsdWVzKGF2Z19yZWYpKTsKICAgICAgICAg
aWYgKEhhc0ZhaWx1cmUoKSkgewpAQCAtMTE1LDM2ICs5OSwyNiBAQCB2b2lkIEF2Z1ByZWRUZXN0
PGJpdGRlcHRoLCBQaXhlbD46OlRlc3RTaXplQ29tYmluYXRpb25zKCkgewogICB9CiB9CiAKLXRl
bXBsYXRlIDxpbnQgYml0ZGVwdGgsIHR5cGVuYW1lIFBpeGVsPgotdm9pZCBBdmdQcmVkVGVzdDxi
aXRkZXB0aCwgUGl4ZWw+OjpUZXN0Q29tcGFyZVJlZmVyZW5jZVJhbmRvbSgpIHsKK1RFU1RfUChB
dmdQcmVkVGVzdCwgQ29tcGFyZVJlZmVyZW5jZVJhbmRvbSkgewogICBjb25zdCBpbnQgd2lkdGgg
PSA2NDsKICAgY29uc3QgaW50IGhlaWdodCA9IDMyOwotICBCdWZmZXI8UGl4ZWw+IHJlZiA9IEJ1
ZmZlcjxQaXhlbD4od2lkdGgsIGhlaWdodCwgOCk7CisgIEJ1ZmZlcjx1aW50OF90PiByZWYgPSBC
dWZmZXI8dWludDhfdD4od2lkdGgsIGhlaWdodCwgOCk7CiAgIEFTU0VSVF9UUlVFKHJlZi5Jbml0
KCkpOwotICBCdWZmZXI8UGl4ZWw+IHByZWQgPSBCdWZmZXI8UGl4ZWw+KHdpZHRoLCBoZWlnaHQs
IDAsIDMyKTsKKyAgQnVmZmVyPHVpbnQ4X3Q+IHByZWQgPSBCdWZmZXI8dWludDhfdD4od2lkdGgs
IGhlaWdodCwgMCwgMTYpOwogICBBU1NFUlRfVFJVRShwcmVkLkluaXQoKSk7Ci0gIEJ1ZmZlcjxQ
aXhlbD4gYXZnX3JlZiA9IEJ1ZmZlcjxQaXhlbD4od2lkdGgsIGhlaWdodCwgMCwgMzIpOworICBC
dWZmZXI8dWludDhfdD4gYXZnX3JlZiA9IEJ1ZmZlcjx1aW50OF90Pih3aWR0aCwgaGVpZ2h0LCAw
LCAxNik7CiAgIEFTU0VSVF9UUlVFKGF2Z19yZWYuSW5pdCgpKTsKLSAgQnVmZmVyPFBpeGVsPiBh
dmdfY2hrID0gQnVmZmVyPFBpeGVsPih3aWR0aCwgaGVpZ2h0LCAwLCAzMik7CisgIEJ1ZmZlcjx1
aW50OF90PiBhdmdfY2hrID0gQnVmZmVyPHVpbnQ4X3Q+KHdpZHRoLCBoZWlnaHQsIDAsIDE2KTsK
ICAgQVNTRVJUX1RSVUUoYXZnX2Noay5Jbml0KCkpOwogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwg
NTAwOyArK2kpIHsKLSAgICBjb25zdCBpbnQgYml0ZGVwdGhfbWFzayA9ICgxIDw8IGJpdGRlcHRo
KSAtIDE7Ci0gICAgZm9yIChpbnQgaCA9IDA7IGggPCBoZWlnaHQ7ICsraCkgewotICAgICAgZm9y
IChpbnQgdyA9IDA7IHcgPCB3aWR0aDsgKyt3KSB7Ci0gICAgICAgIHJlZi5Ub3BMZWZ0UGl4ZWwo
KVt3ICsgaCAqIHdpZHRoXSA9IHJuZF8uUmFuZDE2KCkgJiBiaXRkZXB0aF9tYXNrOwotICAgICAg
fQotICAgIH0KLSAgICBmb3IgKGludCBoID0gMDsgaCA8IGhlaWdodDsgKytoKSB7Ci0gICAgICBm
b3IgKGludCB3ID0gMDsgdyA8IHdpZHRoOyArK3cpIHsKLSAgICAgICAgcHJlZC5Ub3BMZWZ0UGl4
ZWwoKVt3ICsgaCAqIHdpZHRoXSA9IHJuZF8uUmFuZDE2KCkgJiBiaXRkZXB0aF9tYXNrOwotICAg
ICAgfQotICAgIH0KKyAgICByZWYuU2V0KCZybmRfLCAmQUNNUmFuZG9tOjpSYW5kOCk7CisgICAg
cHJlZC5TZXQoJnJuZF8sICZBQ01SYW5kb206OlJhbmQ4KTsKIAotICAgIHJlZmVyZW5jZV9wcmVk
PFBpeGVsPihwcmVkLCByZWYsIHdpZHRoLCBoZWlnaHQsICZhdmdfcmVmKTsKLSAgICBBU01fUkVH
SVNURVJfU1RBVEVfQ0hFQ0soYXZnX3ByZWRfZnVuY18oCi0gICAgICAgICh1aW50OF90ICopYXZn
X2Noay5Ub3BMZWZ0UGl4ZWwoKSwgKHVpbnQ4X3QgKilwcmVkLlRvcExlZnRQaXhlbCgpLAotICAg
ICAgICB3aWR0aCwgaGVpZ2h0LCAodWludDhfdCAqKXJlZi5Ub3BMZWZ0UGl4ZWwoKSwgcmVmLnN0
cmlkZSgpKSk7CisgICAgcmVmZXJlbmNlX3ByZWQocHJlZCwgcmVmLCB3aWR0aCwgaGVpZ2h0LCAm
YXZnX3JlZik7CisgICAgQVNNX1JFR0lTVEVSX1NUQVRFX0NIRUNLKGF2Z19wcmVkX2Z1bmNfKGF2
Z19jaGsuVG9wTGVmdFBpeGVsKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHByZWQuVG9wTGVmdFBpeGVsKCksIHdpZHRoLCBoZWlnaHQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5Ub3BMZWZ0UGl4ZWwoKSwgcmVm
LnN0cmlkZSgpKSk7CiAgICAgRVhQRUNUX1RSVUUoYXZnX2Noay5DaGVja1ZhbHVlcyhhdmdfcmVm
KSk7CiAgICAgaWYgKEhhc0ZhaWx1cmUoKSkgewogICAgICAgcHJpbnRmKCJXaWR0aDogJWQgSGVp
Z2h0OiAlZFxuIiwgd2lkdGgsIGhlaWdodCk7CkBAIC0xNTQsOCArMTI4LDcgQEAgdm9pZCBBdmdQ
cmVkVGVzdDxiaXRkZXB0aCwgUGl4ZWw+OjpUZXN0Q29tcGFyZVJlZmVyZW5jZVJhbmRvbSgpIHsK
ICAgfQogfQogCi10ZW1wbGF0ZSA8aW50IGJpdGRlcHRoLCB0eXBlbmFtZSBQaXhlbD4KLXZvaWQg
QXZnUHJlZFRlc3Q8Yml0ZGVwdGgsIFBpeGVsPjo6VGVzdFNwZWVkKCkgeworVEVTVF9QKEF2Z1By
ZWRUZXN0LCBESVNBQkxFRF9TcGVlZCkgewogICBmb3IgKGludCB3aWR0aF9wb3cgPSAyOyB3aWR0
aF9wb3cgPD0gNjsgKyt3aWR0aF9wb3cpIHsKICAgICBmb3IgKGludCBoZWlnaHRfcG93ID0gd2lk
dGhfcG93IC0gMTsgaGVpZ2h0X3BvdyA8PSB3aWR0aF9wb3cgKyAxOwogICAgICAgICAgKytoZWln
aHRfcG93KSB7CkBAIC0xNjUsMzAgKzEzOCwyMiBAQCB2b2lkIEF2Z1ByZWRUZXN0PGJpdGRlcHRo
LCBQaXhlbD46OlRlc3RTcGVlZCgpIHsKICAgICAgIGZvciAoaW50IHJlZl9wYWRkaW5nID0gMDsg
cmVmX3BhZGRpbmcgPCAyOyByZWZfcGFkZGluZysrKSB7CiAgICAgICAgIGNvbnN0IGludCB3aWR0
aCA9IDEgPDwgd2lkdGhfcG93OwogICAgICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gMSA8PCBoZWln
aHRfcG93OwotICAgICAgICBCdWZmZXI8UGl4ZWw+IHJlZiA9IEJ1ZmZlcjxQaXhlbD4od2lkdGgs
IGhlaWdodCwgcmVmX3BhZGRpbmcgPyA4IDogMCk7CisgICAgICAgIEJ1ZmZlcjx1aW50OF90PiBy
ZWYgPQorICAgICAgICAgICAgQnVmZmVyPHVpbnQ4X3Q+KHdpZHRoLCBoZWlnaHQsIHJlZl9wYWRk
aW5nID8gOCA6IDApOwogICAgICAgICBBU1NFUlRfVFJVRShyZWYuSW5pdCgpKTsKLSAgICAgICAg
QnVmZmVyPFBpeGVsPiBwcmVkID0gQnVmZmVyPFBpeGVsPih3aWR0aCwgaGVpZ2h0LCAwLCAzMik7
CisgICAgICAgIEJ1ZmZlcjx1aW50OF90PiBwcmVkID0gQnVmZmVyPHVpbnQ4X3Q+KHdpZHRoLCBo
ZWlnaHQsIDAsIDE2KTsKICAgICAgICAgQVNTRVJUX1RSVUUocHJlZC5Jbml0KCkpOwotICAgICAg
ICBCdWZmZXI8UGl4ZWw+IGF2ZyA9IEJ1ZmZlcjxQaXhlbD4od2lkdGgsIGhlaWdodCwgMCwgMzIp
OworICAgICAgICBCdWZmZXI8dWludDhfdD4gYXZnID0gQnVmZmVyPHVpbnQ4X3Q+KHdpZHRoLCBo
ZWlnaHQsIDAsIDE2KTsKICAgICAgICAgQVNTRVJUX1RSVUUoYXZnLkluaXQoKSk7Ci0gICAgICAg
IGNvbnN0IGludCBiaXRkZXB0aF9tYXNrID0gKDEgPDwgYml0ZGVwdGgpIC0gMTsKLSAgICAgICAg
Zm9yIChpbnQgaCA9IDA7IGggPCBoZWlnaHQ7ICsraCkgewotICAgICAgICAgIGZvciAoaW50IHcg
PSAwOyB3IDwgd2lkdGg7ICsrdykgewotICAgICAgICAgICAgcmVmLlRvcExlZnRQaXhlbCgpW3cg
KyBoICogd2lkdGhdID0gcm5kXy5SYW5kMTYoKSAmIGJpdGRlcHRoX21hc2s7Ci0gICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgICAgIGZvciAoaW50IGggPSAwOyBoIDwgaGVpZ2h0OyArK2gpIHsK
LSAgICAgICAgICBmb3IgKGludCB3ID0gMDsgdyA8IHdpZHRoOyArK3cpIHsKLSAgICAgICAgICAg
IHByZWQuVG9wTGVmdFBpeGVsKClbdyArIGggKiB3aWR0aF0gPSBybmRfLlJhbmQxNigpICYgYml0
ZGVwdGhfbWFzazsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KKworICAgICAgICByZWYuU2V0KCZy
bmRfLCAmQUNNUmFuZG9tOjpSYW5kOCk7CisgICAgICAgIHByZWQuU2V0KCZybmRfLCAmQUNNUmFu
ZG9tOjpSYW5kOCk7CiAKICAgICAgICAgdnB4X3VzZWNfdGltZXIgdGltZXI7CiAgICAgICAgIHZw
eF91c2VjX3RpbWVyX3N0YXJ0KCZ0aW1lcik7Ci0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
MTAwMDAwMDAwIC8gKHdpZHRoICogaGVpZ2h0KTsgKytpKSB7Ci0gICAgICAgICAgYXZnX3ByZWRf
ZnVuY18oKHVpbnQ4X3QgKilhdmcuVG9wTGVmdFBpeGVsKCksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgKHVpbnQ4X3QgKilwcmVkLlRvcExlZnRQaXhlbCgpLCB3aWR0aCwgaGVpZ2h0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICh1aW50OF90ICopcmVmLlRvcExlZnRQaXhlbCgpLCByZWYu
c3RyaWRlKCkpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwMDAwMDAwIC8gKHdpZHRo
ICogaGVpZ2h0KTsgKytpKSB7CisgICAgICAgICAgYXZnX3ByZWRfZnVuY18oYXZnLlRvcExlZnRQ
aXhlbCgpLCBwcmVkLlRvcExlZnRQaXhlbCgpLCB3aWR0aCwgaGVpZ2h0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlZi5Ub3BMZWZ0UGl4ZWwoKSwgcmVmLnN0cmlkZSgpKTsKICAgICAgICAg
fQogICAgICAgICB2cHhfdXNlY190aW1lcl9tYXJrKCZ0aW1lcik7CiAKQEAgLTIwMSw3NSArMTY2
LDIxIEBAIHZvaWQgQXZnUHJlZFRlc3Q8Yml0ZGVwdGgsIFBpeGVsPjo6VGVzdFNwZWVkKCkgewog
ICB9CiB9CiAKLXVzaW5nIEF2Z1ByZWRUZXN0TEJEID0gQXZnUHJlZFRlc3Q8OCwgdWludDhfdD47
Ci0KLVRFU1RfUChBdmdQcmVkVGVzdExCRCwgU2l6ZUNvbWJpbmF0aW9ucykgeyBUZXN0U2l6ZUNv
bWJpbmF0aW9ucygpOyB9Ci0KLVRFU1RfUChBdmdQcmVkVGVzdExCRCwgQ29tcGFyZVJlZmVyZW5j
ZVJhbmRvbSkgeyBUZXN0Q29tcGFyZVJlZmVyZW5jZVJhbmRvbSgpOyB9Ci0KLVRFU1RfUChBdmdQ
cmVkVGVzdExCRCwgRElTQUJMRURfU3BlZWQpIHsgVGVzdFNwZWVkKCk7IH0KLQotSU5TVEFOVElB
VEVfVEVTVF9TVUlURV9QKEMsIEF2Z1ByZWRUZXN0TEJELAorSU5TVEFOVElBVEVfVEVTVF9TVUlU
RV9QKEMsIEF2Z1ByZWRUZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6
VmFsdWVzKCZ2cHhfY29tcF9hdmdfcHJlZF9jKSk7CiAKICNpZiBIQVZFX1NTRTIKLUlOU1RBTlRJ
QVRFX1RFU1RfU1VJVEVfUChTU0UyLCBBdmdQcmVkVGVzdExCRCwKK0lOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUChTU0UyLCBBdmdQcmVkVGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICA6OnRl
c3Rpbmc6OlZhbHVlcygmdnB4X2NvbXBfYXZnX3ByZWRfc3NlMikpOwogI2VuZGlmICAvLyBIQVZF
X1NTRTIKIAotI2lmIEhBVkVfQVZYMgotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKEFWWDIsIEF2
Z1ByZWRUZXN0TEJELAotICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVz
KCZ2cHhfY29tcF9hdmdfcHJlZF9hdngyKSk7Ci0jZW5kaWYgIC8vIEhBVkVfQVZYMgotCiAjaWYg
SEFWRV9ORU9OCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTkVPTiwgQXZnUHJlZFRlc3RMQkQs
CitJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTkVPTiwgQXZnUHJlZFRlc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoJnZweF9jb21wX2F2Z19wcmVkX25lb24p
KTsKICNlbmRpZiAgLy8gSEFWRV9ORU9OCiAKICNpZiBIQVZFX1ZTWAotSU5TVEFOVElBVEVfVEVT
VF9TVUlURV9QKFZTWCwgQXZnUHJlZFRlc3RMQkQsCitJTlNUQU5USUFURV9URVNUX1NVSVRFX1Ao
VlNYLCBBdmdQcmVkVGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZh
bHVlcygmdnB4X2NvbXBfYXZnX3ByZWRfdnN4KSk7CiAjZW5kaWYgIC8vIEhBVkVfVlNYCi0KLSNp
ZiBIQVZFX0xTWAotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKExTWCwgQXZnUHJlZFRlc3RMQkQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoJnZweF9jb21wX2F2
Z19wcmVkX2xzeCkpOwotI2VuZGlmICAvLyBIQVZFX0xTWAotCi0jaWYgQ09ORklHX1ZQOV9ISUdI
QklUREVQVEgKLXVzaW5nIEhpZ2hiZEF2Z1ByZWRGdW5jID0gdm9pZCAoKikodWludDE2X3QgKmEs
IGNvbnN0IHVpbnQxNl90ICpiLCBpbnQgdywgaW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpjLCBpbnQgY19zdHJpZGUpOwotCi10ZW1wbGF0
ZSA8SGlnaGJkQXZnUHJlZEZ1bmMgZm4+Ci12b2lkIGhpZ2hiZF93cmFwcGVyKHVpbnQ4X3QgKmEs
IGNvbnN0IHVpbnQ4X3QgKmIsIGludCB3LCBpbnQgaCwKLSAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCAqYywgaW50IGNfc3RyaWRlKSB7Ci0gIGZuKCh1aW50MTZfdCAqKWEsIChjb25z
dCB1aW50MTZfdCAqKWIsIHcsIGgsIChjb25zdCB1aW50MTZfdCAqKWMsIGNfc3RyaWRlKTsKLX0K
LQotdXNpbmcgQXZnUHJlZFRlc3RIQkQgPSBBdmdQcmVkVGVzdDwxMiwgdWludDE2X3Q+OwotCi1U
RVNUX1AoQXZnUHJlZFRlc3RIQkQsIFNpemVDb21iaW5hdGlvbnMpIHsgVGVzdFNpemVDb21iaW5h
dGlvbnMoKTsgfQotCi1URVNUX1AoQXZnUHJlZFRlc3RIQkQsIENvbXBhcmVSZWZlcmVuY2VSYW5k
b20pIHsgVGVzdENvbXBhcmVSZWZlcmVuY2VSYW5kb20oKTsgfQotCi1URVNUX1AoQXZnUHJlZFRl
c3RIQkQsIERJU0FCTEVEX1NwZWVkKSB7IFRlc3RTcGVlZCgpOyB9Ci0KLUlOU1RBTlRJQVRFX1RF
U1RfU1VJVEVfUCgKLSAgICBDLCBBdmdQcmVkVGVzdEhCRCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVl
cygmaGlnaGJkX3dyYXBwZXI8dnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkX2M+KSk7Ci0KLSNpZiBI
QVZFX1NTRTIKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAgICBTU0UyLCBBdmdQcmVkVGVz
dEhCRCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVlcygmaGlnaGJkX3dyYXBwZXI8dnB4X2hpZ2hiZF9j
b21wX2F2Z19wcmVkX3NzZTI+KSk7Ci0jZW5kaWYgIC8vIEhBVkVfU1NFMgotCi0jaWYgSEFWRV9O
RU9OCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCi0gICAgTkVPTiwgQXZnUHJlZFRlc3RIQkQs
Ci0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMoJmhpZ2hiZF93cmFwcGVyPHZweF9oaWdoYmRfY29tcF9h
dmdfcHJlZF9uZW9uPikpOwotI2VuZGlmICAvLyBIQVZFX05FT04KLQotI2VuZGlmICAvLyBDT05G
SUdfVlA5X0hJR0hCSVRERVBUSAogfSAgLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3Rlc3QvY29uZmlnX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29uZmlnX3Rlc3QuY2MK
aW5kZXggNzI5YjAxMTUxYmNjLi44ZjRjNjBlMTEzN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9jb25maWdfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29uZmlnX3Rlc3QuY2MK
QEAgLTIyLDI0ICsyMiwyNCBAQCBjbGFzcyBDb25maWdUZXN0CiAgIENvbmZpZ1Rlc3QoKQogICAg
ICAgOiBFbmNvZGVyVGVzdChHRVRfUEFSQU0oMCkpLCBmcmFtZV9jb3VudF9pbl8oMCksIGZyYW1l
X2NvdW50X291dF8oMCksCiAgICAgICAgIGZyYW1lX2NvdW50X21heF8oMCkge30KLSAgfkNvbmZp
Z1Rlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkNvbmZpZ1Rlc3QoKSB7fQog
Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAg
ICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZShHRVRfUEFSQU0oMSkpOwogICB9CiAK
LSAgdm9pZCBCZWdpblBhc3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgQmVnaW5QYXNzSG9vayh1bnNpZ25lZCBpbnQgLypwYXNzKi8pIHsKICAg
ICBmcmFtZV9jb3VudF9pbl8gPSAwOwogICAgIGZyYW1lX2NvdW50X291dF8gPSAwOwogICB9CiAK
LSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2sobGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICogLyp2
aWRlbyovKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2sobGli
dnB4X3Rlc3Q6OlZpZGVvU291cmNlICogLyp2aWRlbyovKSB7CiAgICAgKytmcmFtZV9jb3VudF9p
bl87CiAgICAgYWJvcnRfIHw9IChmcmFtZV9jb3VudF9pbl8gPj0gZnJhbWVfY291bnRfbWF4Xyk7
CiAgIH0KIAotICB2b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKiAv
KnBrdCovKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4
X2NvZGVjX2N4X3BrdF90ICogLypwa3QqLykgewogICAgICsrZnJhbWVfY291bnRfb3V0XzsKICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29uc2lzdGVuY3lfdGVzdC5jYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC9jb25zaXN0ZW5jeV90ZXN0LmNjCmluZGV4IDVlODcyZTcwYTg2MC4uZjBl
MmNiMjk3ZWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29uc2lzdGVuY3lfdGVzdC5j
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY29uc2lzdGVuY3lfdGVzdC5jYwpAQCAtNjUsMTQgKzY1
LDE0IEBAIGNsYXNzIENvbnNpc3RlbmN5VGVzdEJhc2UgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0
IHsKICAgICBkZWxldGVbXSBzc2ltX2FycmF5XzsKICAgfQogCi0gIHZvaWQgVGVhckRvd24oKSBv
dmVycmlkZSB7IGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVhbCB2
b2lkIFRlYXJEb3duKCkgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBw
cm90ZWN0ZWQ6CiAgIC8vIEhhbmRsZSBmcmFtZXMgdXAgdG8gNjQweDQ4MAogICBzdGF0aWMgY29u
c3QgaW50IGtEYXRhQWxpZ25tZW50ID0gMTY7CiAgIHN0YXRpYyBjb25zdCBpbnQga0RhdGFCdWZm
ZXJTaXplID0gNjQwICogNDgwOwogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1
YWwgdm9pZCBTZXRVcCgpIHsKICAgICBzb3VyY2Vfc3RyaWRlXyA9ICh3aWR0aF8gKyAzMSkgJiB+
MzE7CiAgICAgcmVmZXJlbmNlX3N0cmlkZV8gPSB3aWR0aF8gKiAyOwogICAgIHJuZF8uUmVzZXQo
QUNNUmFuZG9tOjpEZXRlcm1pbmlzdGljU2VlZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9jb252b2x2ZV90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2NvbnZvbHZlX3Rlc3QuY2MK
aW5kZXggZmZkNWM0MWM2Mzc0Li40YjJkYWRlZmFjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9jb252b2x2ZV90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9jb252b2x2ZV90ZXN0
LmNjCkBAIC0yNDQsNyArMjQ0LDcgQEAgdm9pZCBoaWdoYmRfZmlsdGVyX2Jsb2NrMmRfOF9jKGNv
bnN0IHVpbnQxNl90ICpzcmNfcHRyLAogCiAgIC8vIFZlcnRpY2FsIHBhc3MgKHRyYW5zcG9zZWQg
aW50ZXJtZWRpYXRlIC0+IGRzdCkuCiAgIHsKLSAgICBzcmNfcHRyID0gaW50ZXJtZWRpYXRlX2J1
ZmZlcjsKKyAgICB1aW50MTZfdCAqc3JjX3B0ciA9IGludGVybWVkaWF0ZV9idWZmZXI7CiAgICAg
Y29uc3QgaW50IGRzdF9uZXh0X3Jvd19zdHJpZGUgPSBkc3Rfc3RyaWRlIC0gb3V0cHV0X3dpZHRo
OwogICAgIHVuc2lnbmVkIGludCBpLCBqOwogICAgIGZvciAoaSA9IDA7IGkgPCBvdXRwdXRfaGVp
Z2h0OyArK2kpIHsKQEAgLTM2MSw3ICszNjEsNyBAQCBjbGFzcyBDb252b2x2ZVRlc3QgOiBwdWJs
aWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPENvbnZvbHZlUGFyYW0+IHsKICNlbmRpZgogICB9
CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lzdGVt
U3RhdGUoKTsgfQorICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7IGxpYnZweF90ZXN0OjpDbGVh
clN5c3RlbVN0YXRlKCk7IH0KIAogICBzdGF0aWMgdm9pZCBUZWFyRG93blRlc3RTdWl0ZSgpIHsK
ICAgICB2cHhfZnJlZShpbnB1dF8gLSAxKTsKQEAgLTQwMyw3ICs0MDMsNyBAQCBjbGFzcyBDb252
b2x2ZVRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPENvbnZvbHZlUGFyYW0+
IHsKICAgICAgICAgICAgIGkgJSBrT3V0ZXJCbG9ja1NpemUgPj0gKEJvcmRlckxlZnQoKSArIFdp
ZHRoKCkpKTsKICAgfQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9p
ZCBTZXRVcCgpIHsKICAgICBVVVRfID0gR0VUX1BBUkFNKDIpOwogI2lmIENPTkZJR19WUDlfSElH
SEJJVERFUFRICiAgICAgaWYgKFVVVF8tPnVzZV9oaWdoYmRfICE9IDApIHsKQEAgLTE0MjMsMzYg
KzE0MjMsNiBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTkVPTiwgQ29udm9sdmVUZXN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzSW4oa0FycmF5Q29udm9s
dmVfbmVvbikpOwogI2VuZGlmICAvLyBIQVZFX05FT04KIAotI2lmIEhBVkVfTkVPTl9ET1RQUk9E
Ci1jb25zdCBDb252b2x2ZUZ1bmN0aW9ucyBjb252b2x2ZThfbmVvbl9kb3Rwcm9kKAotICAgIHZw
eF9jb252b2x2ZV9jb3B5X2MsIHZweF9jb252b2x2ZV9hdmdfYywgdnB4X2NvbnZvbHZlOF9ob3Jp
el9uZW9uX2RvdHByb2QsCi0gICAgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbmVvbl9kb3Rwcm9k
LCB2cHhfY29udm9sdmU4X3ZlcnRfbmVvbl9kb3Rwcm9kLAotICAgIHZweF9jb252b2x2ZThfYXZn
X3ZlcnRfbmVvbl9kb3Rwcm9kLCB2cHhfY29udm9sdmU4X25lb25fZG90cHJvZCwKLSAgICB2cHhf
Y29udm9sdmU4X2F2Z19uZW9uX2RvdHByb2QsIHZweF9zY2FsZWRfaG9yaXpfYywgdnB4X3NjYWxl
ZF9hdmdfaG9yaXpfYywKLSAgICB2cHhfc2NhbGVkX3ZlcnRfYywgdnB4X3NjYWxlZF9hdmdfdmVy
dF9jLCB2cHhfc2NhbGVkXzJkX2MsCi0gICAgdnB4X3NjYWxlZF9hdmdfMmRfYywgMCk7Ci0KLWNv
bnN0IENvbnZvbHZlUGFyYW0ga0FycmF5Q29udm9sdmVfbmVvbl9kb3Rwcm9kW10gPSB7IEFMTF9T
SVpFUygKLSAgICBjb252b2x2ZThfbmVvbl9kb3Rwcm9kKSB9OwotSU5TVEFOVElBVEVfVEVTVF9T
VUlURV9QKE5FT05fRE9UUFJPRCwgQ29udm9sdmVUZXN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6dGVzdGluZzo6VmFsdWVzSW4oa0FycmF5Q29udm9sdmVfbmVvbl9kb3Rwcm9kKSk7Ci0j
ZW5kaWYgIC8vIEhBVkVfTkVPTl9ET1RQUk9ECi0KLSNpZiBIQVZFX05FT05fSThNTQotY29uc3Qg
Q29udm9sdmVGdW5jdGlvbnMgY29udm9sdmU4X25lb25faThtbSgKLSAgICB2cHhfY29udm9sdmVf
Y29weV9jLCB2cHhfY29udm9sdmVfYXZnX2MsIHZweF9jb252b2x2ZThfaG9yaXpfbmVvbl9pOG1t
LAotICAgIHZweF9jb252b2x2ZThfYXZnX2hvcml6X25lb25faThtbSwgdnB4X2NvbnZvbHZlOF92
ZXJ0X25lb25faThtbSwKLSAgICB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X25lb25faThtbSwgdnB4
X2NvbnZvbHZlOF9uZW9uX2k4bW0sCi0gICAgdnB4X2NvbnZvbHZlOF9hdmdfbmVvbl9pOG1tLCB2
cHhfc2NhbGVkX2hvcml6X2MsIHZweF9zY2FsZWRfYXZnX2hvcml6X2MsCi0gICAgdnB4X3NjYWxl
ZF92ZXJ0X2MsIHZweF9zY2FsZWRfYXZnX3ZlcnRfYywgdnB4X3NjYWxlZF8yZF9jLAotICAgIHZw
eF9zY2FsZWRfYXZnXzJkX2MsIDApOwotCi1jb25zdCBDb252b2x2ZVBhcmFtIGtBcnJheUNvbnZv
bHZlX25lb25faThtbVtdID0geyBBTExfU0laRVMoCi0gICAgY29udm9sdmU4X25lb25faThtbSkg
fTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChORU9OX0k4TU0sIENvbnZvbHZlVGVzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlc0luKGtBcnJheUNvbnZvbHZl
X25lb25faThtbSkpOwotI2VuZGlmICAvLyBIQVZFX05FT05fSThNTQotCiAjaWYgSEFWRV9EU1BS
MgogY29uc3QgQ29udm9sdmVGdW5jdGlvbnMgY29udm9sdmU4X2RzcHIyKAogICAgIHZweF9jb252
b2x2ZV9jb3B5X2RzcHIyLCB2cHhfY29udm9sdmVfYXZnX2RzcHIyLCB2cHhfY29udm9sdmU4X2hv
cml6X2RzcHIyLApAQCAtMTQ3OSwxOSArMTQ0OSw2IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVf
UChNU0EsIENvbnZvbHZlVGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6
OlZhbHVlc0luKGtBcnJheUNvbnZvbHZlOF9tc2EpKTsKICNlbmRpZiAgLy8gSEFWRV9NU0EKIAot
I2lmIEhBVkVfTFNYCi1jb25zdCBDb252b2x2ZUZ1bmN0aW9ucyBjb252b2x2ZThfbHN4KAotICAg
IHZweF9jb252b2x2ZV9jb3B5X2xzeCwgdnB4X2NvbnZvbHZlX2F2Z19sc3gsIHZweF9jb252b2x2
ZThfaG9yaXpfbHN4LAotICAgIHZweF9jb252b2x2ZThfYXZnX2hvcml6X2xzeCwgdnB4X2NvbnZv
bHZlOF92ZXJ0X2xzeCwKLSAgICB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2xzeCwgdnB4X2NvbnZv
bHZlOF9sc3gsIHZweF9jb252b2x2ZThfYXZnX2xzeCwKLSAgICB2cHhfc2NhbGVkX2hvcml6X2Ms
IHZweF9zY2FsZWRfYXZnX2hvcml6X2MsIHZweF9zY2FsZWRfdmVydF9jLAotICAgIHZweF9zY2Fs
ZWRfYXZnX3ZlcnRfYywgdnB4X3NjYWxlZF8yZF9jLCB2cHhfc2NhbGVkX2F2Z18yZF9jLCAwKTsK
LQotY29uc3QgQ29udm9sdmVQYXJhbSBrQXJyYXlDb252b2x2ZThfbHN4W10gPSB7IEFMTF9TSVpF
Uyhjb252b2x2ZThfbHN4KSB9OwotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKExTWCwgQ29udm9s
dmVUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzSW4oa0Fy
cmF5Q29udm9sdmU4X2xzeCkpOwotI2VuZGlmICAvLyBIQVZFX0xTWAotCiAjaWYgSEFWRV9WU1gK
IGNvbnN0IENvbnZvbHZlRnVuY3Rpb25zIGNvbnZvbHZlOF92c3goCiAgICAgdnB4X2NvbnZvbHZl
X2NvcHlfdnN4LCB2cHhfY29udm9sdmVfYXZnX3ZzeCwgdnB4X2NvbnZvbHZlOF9ob3Jpel92c3gs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvY3B1X3NwZWVkX3Rlc3QuY2MgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3Rlc3QvY3B1X3NwZWVkX3Rlc3QuY2MKaW5kZXggMjJmNDU1Mjk2MzVmLi5hNzYyM2YwOWFj
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9jcHVfc3BlZWRfdGVzdC5jYworKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvY3B1X3NwZWVkX3Rlc3QuY2MKQEAgLTI2LDkgKzI2LDkgQEAgY2xhc3Mg
Q3B1U3BlZWRUZXN0CiAgICAgICA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgwKSksIGVuY29kaW5n
X21vZGVfKEdFVF9QQVJBTSgxKSksCiAgICAgICAgIHNldF9jcHVfdXNlZF8oR0VUX1BBUkFNKDIp
KSwgbWluX3BzbnJfKGtNYXhQU05SKSwKICAgICAgICAgdHVuZV9jb250ZW50XyhWUDlFX0NPTlRF
TlRfREVGQVVMVCkge30KLSAgfkNwdVNwZWVkVGVzdCgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAg
dmlydHVhbCB+Q3B1U3BlZWRUZXN0KCkge30KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNl
dE1vZGUoZW5jb2RpbmdfbW9kZV8pOwogICAgIGlmIChlbmNvZGluZ19tb2RlXyAhPSA6OmxpYnZw
eF90ZXN0OjprUmVhbFRpbWUpIHsKQEAgLTQwLDEwICs0MCwxMCBAQCBjbGFzcyBDcHVTcGVlZFRl
c3QKICAgICB9CiAgIH0KIAotICB2b2lkIEJlZ2luUGFzc0hvb2sodW5zaWduZWQgaW50IC8qcGFz
cyovKSBvdmVycmlkZSB7IG1pbl9wc25yXyA9IGtNYXhQU05SOyB9CisgIHZpcnR1YWwgdm9pZCBC
ZWdpblBhc3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgeyBtaW5fcHNucl8gPSBrTWF4UFNO
UjsgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291
cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5j
b2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVI
b29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSB7CiAgICAg
aWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsKICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9T
RVRfQ1BVVVNFRCwgc2V0X2NwdV91c2VkXyk7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVf
U0VUX1RVTkVfQ09OVEVOVCwgdHVuZV9jb250ZW50Xyk7CkBAIC01Niw3ICs1Niw3IEBAIGNsYXNz
IENwdVNwZWVkVGVzdAogICAgIH0KICAgfQogCi0gIHZvaWQgUFNOUlBrdEhvb2soY29uc3QgdnB4
X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFBTTlJQa3RI
b29rKGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSB7CiAgICAgaWYgKHBrdC0+ZGF0YS5w
c25yLnBzbnJbMF0gPCBtaW5fcHNucl8pIG1pbl9wc25yXyA9IHBrdC0+ZGF0YS5wc25yLnBzbnJb
MF07CiAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2NxX3Rlc3QuY2MgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvY3FfdGVzdC5jYwppbmRleCBiNzQ5MTVhMzM2OWEuLjI5MmFkYjBkMDRmNCAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2NxX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L2NxX3Rlc3QuY2MKQEAgLTUwLDIxICs1MCwyMSBAQCBjbGFzcyBDUVRlc3QgOiBwdWJsaWMg
OjpsaWJ2cHhfdGVzdDo6RW5jb2RlclRlc3QsCiAgICAgaW5pdF9mbGFnc18gPSBWUFhfQ09ERUNf
VVNFX1BTTlI7CiAgIH0KIAotICB+Q1FUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0
dWFsIH5DUVRlc3QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwg
dm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZShsaWJ2
cHhfdGVzdDo6a1R3b1Bhc3NHb29kKTsKICAgfQogCi0gIHZvaWQgQmVnaW5QYXNzSG9vayh1bnNp
Z25lZCBpbnQgLypwYXNzKi8pIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEJlZ2luUGFzc0hv
b2sodW5zaWduZWQgaW50IC8qcGFzcyovKSB7CiAgICAgZmlsZV9zaXplXyA9IDA7CiAgICAgcHNu
cl8gPSAwLjA7CiAgICAgbl9mcmFtZXNfID0gMDsKICAgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJh
bWVIb29rKGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7CisgIHZp
cnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2sobGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2
aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RW5j
b2RlciAqZW5jb2RlcikgewogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CiAgICAgICBp
ZiAoY2ZnXy5yY19lbmRfdXNhZ2UgPT0gVlBYX0NRKSB7CiAgICAgICAgIGVuY29kZXItPkNvbnRy
b2woVlA4RV9TRVRfQ1FfTEVWRUwsIGNxX2xldmVsXyk7CkBAIC03MywxMiArNzMsMTIgQEAgY2xh
c3MgQ1FUZXN0IDogcHVibGljIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXJUZXN0LAogICAgIH0KICAg
fQogCi0gIHZvaWQgUFNOUlBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92
ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFBTTlJQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9w
a3RfdCAqcGt0KSB7CiAgICAgcHNucl8gKz0gcG93KDEwLjAsIHBrdC0+ZGF0YS5wc25yLnBzbnJb
MF0gLyAxMC4wKTsKICAgICBuX2ZyYW1lc18rKzsKICAgfQogCi0gIHZvaWQgRnJhbWVQa3RIb29r
KGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9p
ZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIHsKICAgICBmaWxl
X3NpemVfICs9IHBrdC0+ZGF0YS5mcmFtZS5zejsKICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3Rlc3QvZGN0MTZ4MTZfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kY3QxNngxNl90ZXN0
LmNjCmluZGV4IDhjNDIxM2VlMTY2Ny4uYzA0ODgwZWM5NWY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3Rlc3QvZGN0MTZ4MTZfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZGN0MTZ4MTZf
dGVzdC5jYwpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgog
I2luY2x1ZGUgInZweF9wb3J0cy9tZW0uaCIKICNpbmNsdWRlICJ2cHhfcG9ydHMvbXN2Yy5oIiAg
Ly8gZm9yIHJvdW5kKCkKLSNpbmNsdWRlICJ2cHhfcG9ydHMvdnB4X3RpbWVyLmgiCiAKIHVzaW5n
IGxpYnZweF90ZXN0OjpBQ01SYW5kb207CiAKQEAgLTMxMCw3ICszMDksNyBAQCB2b2lkIGlkY3Qx
NngxNl8xMF9hZGRfMTJfc3NlMihjb25zdCB0cmFuX2xvd190ICppbiwgdWludDhfdCAqb3V0LCBp
bnQgc3RyaWRlKSB7CiAKIGNsYXNzIFRyYW5zMTZ4MTZUZXN0QmFzZSB7CiAgcHVibGljOgotICB2
aXJ0dWFsIH5UcmFuczE2eDE2VGVzdEJhc2UoKSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgflRyYW5z
MTZ4MTZUZXN0QmFzZSgpIHt9CiAKICBwcm90ZWN0ZWQ6CiAgIHZpcnR1YWwgdm9pZCBSdW5Gd2RU
eGZtKGludDE2X3QgKmluLCB0cmFuX2xvd190ICpvdXQsIGludCBzdHJpZGUpID0gMDsKQEAgLTU0
OSw1MCArNTQ4LDEyIEBAIGNsYXNzIFRyYW5zMTZ4MTZUZXN0QmFzZSB7CiAgICAgfQogICB9CiAK
LSAgdm9pZCBSdW5TcGVlZFRlc3QoKSB7Ci0gICAgQUNNUmFuZG9tIHJuZChBQ01SYW5kb206OkRl
dGVybWluaXN0aWNTZWVkKCkpOwotICAgIGNvbnN0IGludCBjb3VudF90ZXN0X2Jsb2NrID0gMTAw
MDA7Ci0gICAgaW50IGNfc3VtX3RpbWUgPSAwOwotICAgIGludCBzaW1kX3N1bV90aW1lID0gMDsK
LQotICAgIERFQ0xBUkVfQUxJR05FRCgzMiwgaW50MTZfdCwgaW5wdXRfYmxvY2tba051bUNvZWZm
c10pOwotICAgIERFQ0xBUkVfQUxJR05FRCgzMiwgdHJhbl9sb3dfdCwgb3V0cHV0X3JlZl9ibG9j
a1trTnVtQ29lZmZzXSk7Ci0gICAgREVDTEFSRV9BTElHTkVEKDMyLCB0cmFuX2xvd190LCBvdXRw
dXRfYmxvY2tba051bUNvZWZmc10pOwotCi0gICAgLy8gSW5pdGlhbGl6ZSBhIHRlc3QgYmxvY2sg
d2l0aCBpbnB1dCByYW5nZSBbLW1hc2tfLCBtYXNrX10uCi0gICAgZm9yIChpbnQgaiA9IDA7IGog
PCBrTnVtQ29lZmZzOyArK2opIHsKLSAgICAgIGlucHV0X2Jsb2NrW2pdID0gKHJuZC5SYW5kMTYo
KSAmIG1hc2tfKSAtIChybmQuUmFuZDE2KCkgJiBtYXNrXyk7Ci0gICAgfQotCi0gICAgdnB4X3Vz
ZWNfdGltZXIgdGltZXJfYzsKLSAgICB2cHhfdXNlY190aW1lcl9zdGFydCgmdGltZXJfYyk7Ci0g
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudF90ZXN0X2Jsb2NrOyArK2kpIHsKLSAgICAgIHZw
eF9mZGN0MTZ4MTZfYyhpbnB1dF9ibG9jaywgb3V0cHV0X3JlZl9ibG9jaywgcGl0Y2hfKTsKLSAg
ICB9Ci0gICAgdnB4X3VzZWNfdGltZXJfbWFyaygmdGltZXJfYyk7Ci0gICAgY19zdW1fdGltZSAr
PSBzdGF0aWNfY2FzdDxpbnQ+KHZweF91c2VjX3RpbWVyX2VsYXBzZWQoJnRpbWVyX2MpKTsKLQot
ICAgIHZweF91c2VjX3RpbWVyIHRpbWVyX21vZDsKLSAgICB2cHhfdXNlY190aW1lcl9zdGFydCgm
dGltZXJfbW9kKTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50X3Rlc3RfYmxvY2s7ICsr
aSkgewotICAgICAgUnVuRndkVHhmbShpbnB1dF9ibG9jaywgb3V0cHV0X2Jsb2NrLCBwaXRjaF8p
OwotICAgIH0KLQotICAgIHZweF91c2VjX3RpbWVyX21hcmsoJnRpbWVyX21vZCk7Ci0gICAgc2lt
ZF9zdW1fdGltZSArPSBzdGF0aWNfY2FzdDxpbnQ+KHZweF91c2VjX3RpbWVyX2VsYXBzZWQoJnRp
bWVyX21vZCkpOwotCi0gICAgcHJpbnRmKAotICAgICAgICAiY190aW1lID0gJWQgXHQgc2ltZF90
aW1lID0gJWQgXHQgR2FpbiA9ICU0LjJmIFxuIiwgY19zdW1fdGltZSwKLSAgICAgICAgc2ltZF9z
dW1fdGltZSwKLSAgICAgICAgKHN0YXRpY19jYXN0PGZsb2F0PihjX3N1bV90aW1lKSAvIHN0YXRp
Y19jYXN0PGZsb2F0PihzaW1kX3N1bV90aW1lKSkpOwotICB9Ci0KICAgdm9pZCBDb21wYXJlSW52
UmVmZXJlbmNlKElkY3RGdW5jIHJlZl90eGZtLCBpbnQgdGhyZXNoKSB7CiAgICAgQUNNUmFuZG9t
IHJuZChBQ01SYW5kb206OkRldGVybWluaXN0aWNTZWVkKCkpOwogICAgIGNvbnN0IGludCBjb3Vu
dF90ZXN0X2Jsb2NrID0gMTAwMDA7CiAgICAgY29uc3QgaW50IGVvYiA9IDEwOwogICAgIGNvbnN0
IGludDE2X3QgKnNjYW4gPSB2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1tUWF8xNlgxNl0uc2NhbjsK
LSAgICBERUNMQVJFX0FMSUdORUQoMzIsIHRyYW5fbG93X3QsIGNvZWZmW2tOdW1Db2VmZnNdKTsK
KyAgICBERUNMQVJFX0FMSUdORUQoMTYsIHRyYW5fbG93X3QsIGNvZWZmW2tOdW1Db2VmZnNdKTsK
ICAgICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQ4X3QsIGRzdFtrTnVtQ29lZmZzXSk7CiAgICAg
REVDTEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCByZWZba051bUNvZWZmc10pOwogI2lmIENPTkZJ
R19WUDlfSElHSEJJVERFUFRICkBAIC02NDMsODAgKzYwNCw2IEBAIGNsYXNzIFRyYW5zMTZ4MTZU
ZXN0QmFzZSB7CiAgICAgfQogICB9CiAKLSAgdm9pZCBSdW5JbnZUcmFuczE2eDE2U3BlZWRUZXN0
KElkY3RGdW5jIHJlZl90eGZtLCBpbnQgdGhyZXNoKSB7Ci0gICAgQUNNUmFuZG9tIHJuZChBQ01S
YW5kb206OkRldGVybWluaXN0aWNTZWVkKCkpOwotICAgIGNvbnN0IGludCBjb3VudF90ZXN0X2Js
b2NrID0gMTAwMDA7Ci0gICAgY29uc3QgaW50IGVvYiA9IDEwOwotICAgIGNvbnN0IGludDE2X3Qg
KnNjYW4gPSB2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1tUWF8xNlgxNl0uc2NhbjsKLSAgICBpbnQ2
NF90IGNfc3VtX3RpbWUgPSAwOwotICAgIGludDY0X3Qgc2ltZF9zdW1fdGltZSA9IDA7Ci0gICAg
REVDTEFSRV9BTElHTkVEKDMyLCB0cmFuX2xvd190LCBjb2VmZltrTnVtQ29lZmZzXSk7Ci0gICAg
REVDTEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCBkc3Rba051bUNvZWZmc10pOwotICAgIERFQ0xB
UkVfQUxJR05FRCgxNiwgdWludDhfdCwgcmVmW2tOdW1Db2VmZnNdKTsKLSNpZiBDT05GSUdfVlA5
X0hJR0hCSVRERVBUSAotICAgIERFQ0xBUkVfQUxJR05FRCgxNiwgdWludDE2X3QsIGRzdDE2W2tO
dW1Db2VmZnNdKTsKLSAgICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQxNl90LCByZWYxNltrTnVt
Q29lZmZzXSk7Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLSAgICBmb3Ig
KGludCBqID0gMDsgaiA8IGtOdW1Db2VmZnM7ICsraikgewotICAgICAgaWYgKGogPCBlb2IpIHsK
LSAgICAgICAgLy8gUmFuZG9tIHZhbHVlcyBsZXNzIHRoYW4gdGhlIHRocmVzaG9sZCwgZWl0aGVy
IHBvc2l0aXZlIG9yIG5lZ2F0aXZlCi0gICAgICAgIGNvZWZmW3NjYW5bal1dID0gcm5kKHRocmVz
aCk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBjb2VmZltzY2FuW2pdXSA9IDA7Ci0gICAgICB9
Ci0gICAgICBpZiAoYml0X2RlcHRoXyA9PSBWUFhfQklUU184KSB7Ci0gICAgICAgIGRzdFtqXSA9
IDA7Ci0gICAgICAgIHJlZltqXSA9IDA7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGRzdDE2W2pdID0gMDsKLSAgICAgICAgcmVmMTZbal0gPSAw
OwotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAgICAgfQotICAgIH0KLQot
ICAgIGlmIChiaXRfZGVwdGhfID09IFZQWF9CSVRTXzgpIHsKLSAgICAgIHZweF91c2VjX3RpbWVy
IHRpbWVyX2M7Ci0gICAgICB2cHhfdXNlY190aW1lcl9zdGFydCgmdGltZXJfYyk7Ci0gICAgICBm
b3IgKGludCBpID0gMDsgaSA8IGNvdW50X3Rlc3RfYmxvY2s7ICsraSkgewotICAgICAgICByZWZf
dHhmbShjb2VmZiwgcmVmLCBwaXRjaF8pOwotICAgICAgfQotICAgICAgdnB4X3VzZWNfdGltZXJf
bWFyaygmdGltZXJfYyk7Ci0gICAgICBjX3N1bV90aW1lICs9IHZweF91c2VjX3RpbWVyX2VsYXBz
ZWQoJnRpbWVyX2MpOwotCi0gICAgICB2cHhfdXNlY190aW1lciB0aW1lcl9tb2Q7Ci0gICAgICB2
cHhfdXNlY190aW1lcl9zdGFydCgmdGltZXJfbW9kKTsKLSAgICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgY291bnRfdGVzdF9ibG9jazsgKytpKSB7Ci0gICAgICAgIFJ1bkludlR4Zm0oY29lZmYsIGRz
dCwgcGl0Y2hfKTsKLSAgICAgIH0KLSAgICAgIHZweF91c2VjX3RpbWVyX21hcmsoJnRpbWVyX21v
ZCk7Ci0gICAgICBzaW1kX3N1bV90aW1lICs9IHZweF91c2VjX3RpbWVyX2VsYXBzZWQoJnRpbWVy
X21vZCk7Ci0gICAgfSBlbHNlIHsKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAgICAg
dnB4X3VzZWNfdGltZXIgdGltZXJfYzsKLSAgICAgIHZweF91c2VjX3RpbWVyX3N0YXJ0KCZ0aW1l
cl9jKTsKLSAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnRfdGVzdF9ibG9jazsgKytpKSB7
Ci0gICAgICAgIHJlZl90eGZtKGNvZWZmLCBDQVNUX1RPX0JZVEVQVFIocmVmMTYpLCBwaXRjaF8p
OwotICAgICAgfQotICAgICAgdnB4X3VzZWNfdGltZXJfbWFyaygmdGltZXJfYyk7Ci0gICAgICBj
X3N1bV90aW1lICs9IHZweF91c2VjX3RpbWVyX2VsYXBzZWQoJnRpbWVyX2MpOwotCi0gICAgICB2
cHhfdXNlY190aW1lciB0aW1lcl9tb2Q7Ci0gICAgICB2cHhfdXNlY190aW1lcl9zdGFydCgmdGlt
ZXJfbW9kKTsKLSAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnRfdGVzdF9ibG9jazsgKytp
KSB7Ci0gICAgICAgIFJ1bkludlR4Zm0oY29lZmYsIENBU1RfVE9fQllURVBUUihkc3QxNiksIHBp
dGNoXyk7Ci0gICAgICB9Ci0gICAgICB2cHhfdXNlY190aW1lcl9tYXJrKCZ0aW1lcl9tb2QpOwot
ICAgICAgc2ltZF9zdW1fdGltZSArPSB2cHhfdXNlY190aW1lcl9lbGFwc2VkKCZ0aW1lcl9tb2Qp
OwotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAgIH0KLSAgICBwcmludGYo
Ci0gICAgICAgICJjX3RpbWUgPSAlIiBQUklkNjQgIiBcdCBzaW1kX3RpbWUgPSAlIiBQUklkNjQg
IiBcdCBHYWluID0gJTQuMmYgXG4iLAotICAgICAgICBjX3N1bV90aW1lLCBzaW1kX3N1bV90aW1l
LAotICAgICAgICAoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNfc3VtX3RpbWUpIC8gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHNpbWRfc3VtX3RpbWUpKSk7Ci0gIH0KLQogICBpbnQgcGl0Y2hfOwogICBpbnQgdHhf
dHlwZV87CiAgIHZweF9iaXRfZGVwdGhfdCBiaXRfZGVwdGhfOwpAQCAtNzI4LDkgKzYxNSw5IEBA
IGNsYXNzIFRyYW5zMTZ4MTZUZXN0QmFzZSB7CiBjbGFzcyBUcmFuczE2eDE2RENUIDogcHVibGlj
IFRyYW5zMTZ4MTZUZXN0QmFzZSwKICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgOjp0ZXN0
aW5nOjpUZXN0V2l0aFBhcmFtPERjdDE2eDE2UGFyYW0+IHsKICBwdWJsaWM6Ci0gIH5UcmFuczE2
eDE2RENUKCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5UcmFuczE2eDE2RENUKCkg
e30KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7
CiAgICAgZndkX3R4Zm1fID0gR0VUX1BBUkFNKDApOwogICAgIGludl90eGZtXyA9IEdFVF9QQVJB
TSgxKTsKICAgICB0eF90eXBlXyA9IEdFVF9QQVJBTSgyKTsKQEAgLTc0OSwxMyArNjM2LDEzIEBA
IGNsYXNzIFRyYW5zMTZ4MTZEQ1QgOiBwdWJsaWMgVHJhbnMxNngxNlRlc3RCYXNlLAogICAgIGlu
dl90eGZtX3JlZiA9IGlkY3QxNngxNl9yZWY7CiAjZW5kaWYKICAgfQotICB2b2lkIFRlYXJEb3du
KCkgb3ZlcnJpZGUgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CisgIHZpcnR1
YWwgdm9pZCBUZWFyRG93bigpIHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQog
CiAgcHJvdGVjdGVkOgotICB2b2lkIFJ1bkZ3ZFR4Zm0oaW50MTZfdCAqaW4sIHRyYW5fbG93X3Qg
Km91dCwgaW50IHN0cmlkZSkgb3ZlcnJpZGUgeworICB2b2lkIFJ1bkZ3ZFR4Zm0oaW50MTZfdCAq
aW4sIHRyYW5fbG93X3QgKm91dCwgaW50IHN0cmlkZSkgewogICAgIGZ3ZF90eGZtXyhpbiwgb3V0
LCBzdHJpZGUpOwogICB9Ci0gIHZvaWQgUnVuSW52VHhmbSh0cmFuX2xvd190ICpvdXQsIHVpbnQ4
X3QgKmRzdCwgaW50IHN0cmlkZSkgb3ZlcnJpZGUgeworICB2b2lkIFJ1bkludlR4Zm0odHJhbl9s
b3dfdCAqb3V0LCB1aW50OF90ICpkc3QsIGludCBzdHJpZGUpIHsKICAgICBpbnZfdHhmbV8ob3V0
LCBkc3QsIHN0cmlkZSk7CiAgIH0KIApAQCAtNzc3LDE0ICs2NjQsMTIgQEAgVEVTVF9QKFRyYW5z
MTZ4MTZEQ1QsIFF1YW50Q2hlY2spIHsKIAogVEVTVF9QKFRyYW5zMTZ4MTZEQ1QsIEludkFjY3Vy
YWN5Q2hlY2spIHsgUnVuSW52QWNjdXJhY3lDaGVjaygpOyB9CiAKLVRFU1RfUChUcmFuczE2eDE2
RENULCBESVNBQkxFRF9TcGVlZCkgeyBSdW5TcGVlZFRlc3QoKTsgfQotCiBjbGFzcyBUcmFuczE2
eDE2SFQgOiBwdWJsaWMgVHJhbnMxNngxNlRlc3RCYXNlLAogICAgICAgICAgICAgICAgICAgICAg
cHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxIdDE2eDE2UGFyYW0+IHsKICBwdWJsaWM6
Ci0gIH5UcmFuczE2eDE2SFQoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgflRyYW5z
MTZ4MTZIVCgpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lk
IFNldFVwKCkgewogICAgIGZ3ZF90eGZtXyA9IEdFVF9QQVJBTSgwKTsKICAgICBpbnZfdHhmbV8g
PSBHRVRfUEFSQU0oMSk7CiAgICAgdHhfdHlwZV8gPSBHRVRfUEFSQU0oMik7CkBAIC04MDMsMTMg
KzY4OCwxMyBAQCBjbGFzcyBUcmFuczE2eDE2SFQgOiBwdWJsaWMgVHJhbnMxNngxNlRlc3RCYXNl
LAogICAgIGludl90eGZtX3JlZiA9IGlodDE2eDE2X3JlZjsKICNlbmRpZgogICB9Ci0gIHZvaWQg
VGVhckRvd24oKSBvdmVycmlkZSB7IGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0K
KyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0
ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgUnVuRndkVHhmbShpbnQxNl90ICppbiwgdHJh
bl9sb3dfdCAqb3V0LCBpbnQgc3RyaWRlKSBvdmVycmlkZSB7CisgIHZvaWQgUnVuRndkVHhmbShp
bnQxNl90ICppbiwgdHJhbl9sb3dfdCAqb3V0LCBpbnQgc3RyaWRlKSB7CiAgICAgZndkX3R4Zm1f
KGluLCBvdXQsIHN0cmlkZSwgdHhfdHlwZV8pOwogICB9Ci0gIHZvaWQgUnVuSW52VHhmbSh0cmFu
X2xvd190ICpvdXQsIHVpbnQ4X3QgKmRzdCwgaW50IHN0cmlkZSkgb3ZlcnJpZGUgeworICB2b2lk
IFJ1bkludlR4Zm0odHJhbl9sb3dfdCAqb3V0LCB1aW50OF90ICpkc3QsIGludCBzdHJpZGUpIHsK
ICAgICBpbnZfdHhmbV8ob3V0LCBkc3QsIHN0cmlkZSwgdHhfdHlwZV8pOwogICB9CiAKQEAgLTgy
OSwxMiArNzE0LDEzIEBAIFRFU1RfUChUcmFuczE2eDE2SFQsIFF1YW50Q2hlY2spIHsKICAgUnVu
UXVhbnRDaGVjayg0MjksIDcyOSk7CiB9CiAKKyNpZiBIQVZFX1NTRTIgJiYgQ09ORklHX1ZQOV9I
SUdIQklUREVQVEggJiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCiBjbGFzcyBJbnZUcmFuczE2
eDE2RENUIDogcHVibGljIFRyYW5zMTZ4MTZUZXN0QmFzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPElkY3QxNngxNlBhcmFtPiB7CiAg
cHVibGljOgotICB+SW52VHJhbnMxNngxNkRDVCgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmly
dHVhbCB+SW52VHJhbnMxNngxNkRDVCgpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsK
KyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIHJlZl90eGZtXyA9IEdFVF9QQVJBTSgwKTsK
ICAgICBpbnZfdHhmbV8gPSBHRVRfUEFSQU0oMSk7CiAgICAgdGhyZXNoXyA9IEdFVF9QQVJBTSgy
KTsKQEAgLTg0MiwxMiArNzI4LDExIEBAIGNsYXNzIEludlRyYW5zMTZ4MTZEQ1QgOiBwdWJsaWMg
VHJhbnMxNngxNlRlc3RCYXNlLAogICAgIHBpdGNoXyA9IDE2OwogICAgIG1hc2tfID0gKDEgPDwg
Yml0X2RlcHRoXykgLSAxOwogICB9Ci0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7IGxpYnZw
eF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkg
eyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZv
aWQgUnVuRndkVHhmbShpbnQxNl90ICogLyppbiovLCB0cmFuX2xvd190ICogLypvdXQqLywKLSAg
ICAgICAgICAgICAgICAgIGludCAvKnN0cmlkZSovKSBvdmVycmlkZSB7fQotICB2b2lkIFJ1bklu
dlR4Zm0odHJhbl9sb3dfdCAqb3V0LCB1aW50OF90ICpkc3QsIGludCBzdHJpZGUpIG92ZXJyaWRl
IHsKKyAgdm9pZCBSdW5Gd2RUeGZtKGludDE2X3QgKiAvKmluKi8sIHRyYW5fbG93X3QgKiAvKm91
dCovLCBpbnQgLypzdHJpZGUqLykge30KKyAgdm9pZCBSdW5JbnZUeGZtKHRyYW5fbG93X3QgKm91
dCwgdWludDhfdCAqZHN0LCBpbnQgc3RyaWRlKSB7CiAgICAgaW52X3R4Zm1fKG91dCwgZHN0LCBz
dHJpZGUpOwogICB9CiAKQEAgLTg2MCwxMCArNzQ1LDcgQEAgR1RFU1RfQUxMT1dfVU5JTlNUQU5U
SUFURURfUEFSQU1FVEVSSVpFRF9URVNUKEludlRyYW5zMTZ4MTZEQ1QpOwogVEVTVF9QKEludlRy
YW5zMTZ4MTZEQ1QsIENvbXBhcmVSZWZlcmVuY2UpIHsKICAgQ29tcGFyZUludlJlZmVyZW5jZShy
ZWZfdHhmbV8sIHRocmVzaF8pOwogfQotCi1URVNUX1AoSW52VHJhbnMxNngxNkRDVCwgRElTQUJM
RURfU3BlZWQpIHsKLSAgUnVuSW52VHJhbnMxNngxNlNwZWVkVGVzdChyZWZfdHhmbV8sIHRocmVz
aF8pOwotfQorI2VuZGlmICAvLyBIQVZFX1NTRTIgJiYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgg
JiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCiAKIHVzaW5nIHN0ZDo6bWFrZV90dXBsZTsKIApA
QCAtOTA1LDMxICs3ODcsMTUgQEAgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgICAgICBt
YWtlX3R1cGxlKCZ2cDlfZmh0MTZ4MTZfYywgJnZwOV9paHQxNngxNl8yNTZfYWRkX2MsIDEsIFZQ
WF9CSVRTXzgpLAogICAgICAgICBtYWtlX3R1cGxlKCZ2cDlfZmh0MTZ4MTZfYywgJnZwOV9paHQx
NngxNl8yNTZfYWRkX2MsIDIsIFZQWF9CSVRTXzgpLAogICAgICAgICBtYWtlX3R1cGxlKCZ2cDlf
Zmh0MTZ4MTZfYywgJnZwOV9paHQxNngxNl8yNTZfYWRkX2MsIDMsIFZQWF9CSVRTXzgpKSk7Ci0K
LUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChDLCBJbnZUcmFuczE2eDE2RENULAotICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUoJnZweF9pZGN0MTZ4
MTZfMjU2X2FkZF9jLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnZweF9pZGN0MTZ4MTZfMjU2X2FkZF9jLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjIyNSwgVlBYX0JJVFNfOCkpKTsK
LQogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCi0jaWYgSEFWRV9ORU9OICYm
ICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAmJiAhQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUKKyNp
ZiBIQVZFX05FT04gJiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCiBJTlNUQU5USUFURV9URVNU
X1NVSVRFX1AoCiAgICAgTkVPTiwgVHJhbnMxNngxNkRDVCwKICAgICA6OnRlc3Rpbmc6OlZhbHVl
cyhtYWtlX3R1cGxlKCZ2cHhfZmRjdDE2eDE2X25lb24sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmdnB4X2lkY3QxNngxNl8yNTZfYWRkX25lb24sIDAsIFZQWF9CSVRTXzgpKSk7
CiAjZW5kaWYgIC8vIEhBVkVfTkVPTiAmJiAhQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUKIAotI2lm
IEhBVkVfTkVPTiAmJiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAmJiAhQ09ORklHX0VNVUxBVEVf
SEFSRFdBUkUKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAgICBORU9OLCBUcmFuczE2eDE2
RENULAotICAgIDo6dGVzdGluZzo6VmFsdWVzKAotICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfaGln
aGJkX2ZkY3QxNngxNl9uZW9uLCAmaWRjdDE2eDE2XzEwLCAwLCBWUFhfQklUU18xMCksCi0gICAg
ICAgIG1ha2VfdHVwbGUoJnZweF9oaWdoYmRfZmRjdDE2eDE2X25lb24sICZpZGN0MTZ4MTZfMTIs
IDAsIFZQWF9CSVRTXzEyKSwKLSAgICAgICAgbWFrZV90dXBsZSgmdnB4X2ZkY3QxNngxNl9uZW9u
LCAmdnB4X2lkY3QxNngxNl8yNTZfYWRkX2MsIDAsCi0gICAgICAgICAgICAgICAgICAgVlBYX0JJ
VFNfOCkpKTsKLSNlbmRpZiAgLy8gSEFWRV9ORU9OICYmIENPTkZJR19WUDlfSElHSEJJVERFUFRI
ICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQotCiAjaWYgSEFWRV9TU0UyICYmICFDT05GSUdf
VlA5X0hJR0hCSVRERVBUSCAmJiAhQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUKIElOU1RBTlRJQVRF
X1RFU1RfU1VJVEVfUCgKICAgICBTU0UyLCBUcmFuczE2eDE2RENULApAQCAtOTQ1LDI1ICs4MTEs
OCBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyLCBWUFhfQklUU184KSwKICAgICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxl
KCZ2cDlfZmh0MTZ4MTZfc3NlMiwgJnZwOV9paHQxNngxNl8yNTZfYWRkX3NzZTIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAzLCBWUFhfQklUU184KSkpOwotCi1JTlNUQU5USUFU
RV9URVNUX1NVSVRFX1AoU1NFMiwgSW52VHJhbnMxNngxNkRDVCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlcyhtYWtlX3R1cGxlKAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmdnB4X2lkY3QxNngxNl8yNTZfYWRkX2MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZ2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfc3NlMiwgNjIyNSwgVlBYX0JJVFNfOCkp
KTsKICNlbmRpZiAgLy8gSEFWRV9TU0UyICYmICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAmJiAh
Q09ORklHX0VNVUxBVEVfSEFSRFdBUkUKIAotI2lmIEhBVkVfQVZYMiAmJiAhQ09ORklHX1ZQOV9I
SUdIQklUREVQVEggJiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCi1JTlNUQU5USUFURV9URVNU
X1NVSVRFX1AoCi0gICAgQVZYMiwgVHJhbnMxNngxNkRDVCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVl
cyhtYWtlX3R1cGxlKCZ2cHhfZmRjdDE2eDE2X2F2eDIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmdnB4X2lkY3QxNngxNl8yNTZfYWRkX3NzZTIsIDAsIFZQWF9CSVRTXzgpKSk7
Ci0KLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChBVlgyLCBJbnZUcmFuczE2eDE2RENULAotICAg
ICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUoCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9pZGN0MTZ4MTZfMjU2X2FkZF9hdngyLCA2MjI1
LCBWUFhfQklUU184KSkpOwotI2VuZGlmICAvLyBIQVZFX0FWWDIgJiYgIUNPTkZJR19WUDlfSElH
SEJJVERFUFRIICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQotCiAjaWYgSEFWRV9TU0UyICYm
IENPTkZJR19WUDlfSElHSEJJVERFUFRIICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQogSU5T
VEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgIFNTRTIsIFRyYW5zMTZ4MTZEQ1QsCkBAIC0xMDE5
LDExICs4NjgsNCBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgOjp0ZXN0aW5nOjpW
YWx1ZXMobWFrZV90dXBsZSgmdnB4X2ZkY3QxNngxNl9jLCAmdnB4X2lkY3QxNngxNl8yNTZfYWRk
X3ZzeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIFZQWF9CSVRTXzgpKSk7
CiAjZW5kaWYgIC8vIEhBVkVfVlNYICYmICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAmJiAhQ09O
RklHX0VNVUxBVEVfSEFSRFdBUkUKLQotI2lmIEhBVkVfTFNYICYmICFDT05GSUdfVlA5X0hJR0hC
SVRERVBUSCAmJiAhQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUKLUlOU1RBTlRJQVRFX1RFU1RfU1VJ
VEVfUChMU1gsIFRyYW5zMTZ4MTZEQ1QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0
aW5nOjpWYWx1ZXMobWFrZV90dXBsZSgmdnB4X2ZkY3QxNngxNl9sc3gsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2lkY3QxNngxNl8y
NTZfYWRkX2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAwLCBWUFhfQklUU184KSkpOwotI2VuZGlmICAvLyBIQVZFX0xTWCAmJiAhQ09ORklH
X1ZQOV9ISUdIQklUREVQVEggJiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCiB9ICAvLyBuYW1l
c3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kY3QzMngzMl90ZXN0LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L2RjdDMyeDMyX3Rlc3QuY2MKaW5kZXggNjIzM2IxN2E0M2RkLi44Mzk4ZTE3
ZTgxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kY3QzMngzMl90ZXN0LmNjCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC9kY3QzMngzMl90ZXN0LmNjCkBAIC0yNCwxMiArMjQsMTAgQEAKICNp
bmNsdWRlICJ0ZXN0L3JlZ2lzdGVyX3N0YXRlX2NoZWNrLmgiCiAjaW5jbHVkZSAidGVzdC91dGls
LmgiCiAjaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfZW50cm9weS5oIgotI2luY2x1ZGUgInZwOS9j
b21tb24vdnA5X3NjYW4uaCIKICNpbmNsdWRlICJ2cHgvdnB4X2NvZGVjLmgiCiAjaW5jbHVkZSAi
dnB4L3ZweF9pbnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgogI2luY2x1ZGUg
InZweF9wb3J0cy9tc3ZjLmgiICAvLyBmb3Igcm91bmQoKQotI2luY2x1ZGUgInZweF9wb3J0cy92
cHhfdGltZXIuaCIKIAogdXNpbmcgbGlidnB4X3Rlc3Q6OkFDTVJhbmRvbTsKIApAQCAtNzMsOSAr
NzEsNiBAQCB0eXBlZGVmIHZvaWQgKCpJbnZUeGZtRnVuYykoY29uc3QgdHJhbl9sb3dfdCAqaW4s
IHVpbnQ4X3QgKm91dCwgaW50IHN0cmlkZSk7CiB0eXBlZGVmIHN0ZDo6dHVwbGU8RndkVHhmbUZ1
bmMsIEludlR4Zm1GdW5jLCBpbnQsIHZweF9iaXRfZGVwdGhfdD4KICAgICBUcmFuczMyeDMyUGFy
YW07CiAKLXR5cGVkZWYgc3RkOjp0dXBsZTxJbnZUeGZtRnVuYywgSW52VHhmbUZ1bmMsIGludCwg
dnB4X2JpdF9kZXB0aF90LCBpbnQsIGludD4KLSAgICBJbnZUcmFuczMyeDMyUGFyYW07Ci0KICNp
ZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogdm9pZCBpZGN0MzJ4MzJfMTAoY29uc3QgdHJhbl9s
b3dfdCAqaW4sIHVpbnQ4X3QgKm91dCwgaW50IHN0cmlkZSkgewogICB2cHhfaGlnaGJkX2lkY3Qz
MngzMl8xMDI0X2FkZF9jKGluLCBDQVNUX1RPX1NIT1JUUFRSKG91dCksIHN0cmlkZSwgMTApOwpA
QCAtODksOCArODQsOCBAQCB2b2lkIGlkY3QzMngzMl8xMihjb25zdCB0cmFuX2xvd190ICppbiwg
dWludDhfdCAqb3V0LCBpbnQgc3RyaWRlKSB7CiBjbGFzcyBUcmFuczMyeDMyVGVzdCA6IHB1Ymxp
YyBBYnN0cmFjdEJlbmNoLAogICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgOjp0ZXN0aW5n
OjpUZXN0V2l0aFBhcmFtPFRyYW5zMzJ4MzJQYXJhbT4gewogIHB1YmxpYzoKLSAgflRyYW5zMzJ4
MzJUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OwotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIH5UcmFuczMyeDMyVGVzdCgpIHt9CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsK
ICAgICBmd2RfdHhmbV8gPSBHRVRfUEFSQU0oMCk7CiAgICAgaW52X3R4Zm1fID0gR0VUX1BBUkFN
KDEpOwogICAgIHZlcnNpb25fID0gR0VUX1BBUkFNKDIpOyAgLy8gMDogaGlnaCBwcmVjaXNpb24g
Zm9yd2FyZCB0cmFuc2Zvcm0KQEAgLTk5LDcgKzk0LDcgQEAgY2xhc3MgVHJhbnMzMngzMlRlc3Qg
OiBwdWJsaWMgQWJzdHJhY3RCZW5jaCwKICAgICBtYXNrXyA9ICgxIDw8IGJpdF9kZXB0aF8pIC0g
MTsKICAgfQogCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7IGxpYnZweF90ZXN0OjpDbGVh
clN5c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgeyBsaWJ2cHhfdGVz
dDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6CiAgIGludCB2ZXJzaW9uXzsK
QEAgLTExMCw3ICsxMDUsNyBAQCBjbGFzcyBUcmFuczMyeDMyVGVzdCA6IHB1YmxpYyBBYnN0cmFj
dEJlbmNoLAogCiAgIGludDE2X3QgKmJlbmNoX2luXzsKICAgdHJhbl9sb3dfdCAqYmVuY2hfb3V0
XzsKLSAgdm9pZCBSdW4oKSBvdmVycmlkZTsKKyAgdmlydHVhbCB2b2lkIFJ1bigpOwogfTsKIAog
dm9pZCBUcmFuczMyeDMyVGVzdDo6UnVuKCkgeyBmd2RfdHhmbV8oYmVuY2hfaW5fLCBiZW5jaF9v
dXRfLCAzMik7IH0KQEAgLTMxOSwxNzQgKzMxNCw2IEBAIFRFU1RfUChUcmFuczMyeDMyVGVzdCwg
SW52ZXJzZUFjY3VyYWN5KSB7CiAgIH0KIH0KIAotY2xhc3MgSW52VHJhbnMzMngzMlRlc3QgOiBw
dWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEludlRyYW5zMzJ4MzJQYXJhbT4gewotIHB1
YmxpYzoKLSAgfkludlRyYW5zMzJ4MzJUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OwotICB2b2lk
IFNldFVwKCkgb3ZlcnJpZGUgewotICAgIHJlZl90eGZtXyA9IEdFVF9QQVJBTSgwKTsKLSAgICBp
bnZfdHhmbV8gPSBHRVRfUEFSQU0oMSk7Ci0gICAgdmVyc2lvbl8gPSBHRVRfUEFSQU0oMik7ICAv
LyAwOiBoaWdoIHByZWNpc2lvbiBmb3J3YXJkIHRyYW5zZm9ybQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gMTogbG93IHByZWNpc2lvbiB2ZXJzaW9uIGZvciByZCBsb29wCi0gICAg
Yml0X2RlcHRoXyA9IEdFVF9QQVJBTSgzKTsKLSAgICBlb2JfID0gR0VUX1BBUkFNKDQpOwotICAg
IHRocmVzaF8gPSBHRVRfUEFSQU0oNCk7Ci0gICAgbWFza18gPSAoMSA8PCBiaXRfZGVwdGhfKSAt
IDE7Ci0gICAgcGl0Y2hfID0gMzI7Ci0gIH0KLQotICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGUg
eyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9Ci0KLSBwcm90ZWN0ZWQ6Ci0gIHZv
aWQgUnVuUmVmVHhmbSh0cmFuX2xvd190ICpvdXQsIHVpbnQ4X3QgKmRzdCwgaW50IHN0cmlkZSkg
ewotICAgIHJlZl90eGZtXyhvdXQsIGRzdCwgc3RyaWRlKTsKLSAgfQotICB2b2lkIFJ1bkludlR4
Zm0odHJhbl9sb3dfdCAqb3V0LCB1aW50OF90ICpkc3QsIGludCBzdHJpZGUpIHsKLSAgICBpbnZf
dHhmbV8ob3V0LCBkc3QsIHN0cmlkZSk7Ci0gIH0KLSAgaW50IHZlcnNpb25fOwotICB2cHhfYml0
X2RlcHRoX3QgYml0X2RlcHRoXzsKLSAgaW50IG1hc2tfOwotICBpbnQgZW9iXzsKLSAgaW50IHRo
cmVzaF87Ci0KLSAgSW52VHhmbUZ1bmMgcmVmX3R4Zm1fOwotICBJbnZUeGZtRnVuYyBpbnZfdHhm
bV87Ci0gIGludCBwaXRjaF87Ci0KLSAgdm9pZCBSdW5JbnZUcmFuczMyeDMyU3BlZWRUZXN0KCkg
ewotICAgIEFDTVJhbmRvbSBybmQoQUNNUmFuZG9tOjpEZXRlcm1pbmlzdGljU2VlZCgpKTsKLSAg
ICBjb25zdCBpbnQgY291bnRfdGVzdF9ibG9jayA9IDEwMDAwOwotICAgIGludDY0X3QgY19zdW1f
dGltZSA9IDA7Ci0gICAgaW50NjRfdCBzaW1kX3N1bV90aW1lID0gMDsKLSAgICBjb25zdCBpbnQx
Nl90ICpzY2FuID0gdnA5X2RlZmF1bHRfc2Nhbl9vcmRlcnNbVFhfMzJYMzJdLnNjYW47Ci0gICAg
REVDTEFSRV9BTElHTkVEKDMyLCB0cmFuX2xvd190LCBjb2VmZltrTnVtQ29lZmZzXSk7Ci0gICAg
REVDTEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCBkc3Rba051bUNvZWZmc10pOwotICAgIERFQ0xB
UkVfQUxJR05FRCgxNiwgdWludDhfdCwgcmVmW2tOdW1Db2VmZnNdKTsKLSNpZiBDT05GSUdfVlA5
X0hJR0hCSVRERVBUSAotICAgIERFQ0xBUkVfQUxJR05FRCgxNiwgdWludDE2X3QsIGRzdDE2W2tO
dW1Db2VmZnNdKTsKLSAgICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQxNl90LCByZWYxNltrTnVt
Q29lZmZzXSk7Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLSAgICBmb3Ig
KGludCBqID0gMDsgaiA8IGtOdW1Db2VmZnM7ICsraikgewotICAgICAgaWYgKGogPCBlb2JfKSB7
Ci0gICAgICAgIC8vIFJhbmRvbSB2YWx1ZXMgbGVzcyB0aGFuIHRoZSB0aHJlc2hvbGQsIGVpdGhl
ciBwb3NpdGl2ZSBvciBuZWdhdGl2ZQotICAgICAgICBjb2VmZltzY2FuW2pdXSA9IHJuZCh0aHJl
c2hfKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGNvZWZmW3NjYW5bal1dID0gMDsKLSAgICAg
IH0KLSAgICAgIGlmIChiaXRfZGVwdGhfID09IFZQWF9CSVRTXzgpIHsKLSAgICAgICAgZHN0W2pd
ID0gMDsKLSAgICAgICAgcmVmW2pdID0gMDsKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAot
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgZHN0MTZbal0gPSAwOwotICAgICAgICByZWYxNltqXSA9
IDA7Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAgICB9Ci0gICAgfQot
Ci0gICAgaWYgKGJpdF9kZXB0aF8gPT0gVlBYX0JJVFNfOCkgewotICAgICAgdnB4X3VzZWNfdGlt
ZXIgdGltZXJfYzsKLSAgICAgIHZweF91c2VjX3RpbWVyX3N0YXJ0KCZ0aW1lcl9jKTsKLSAgICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgY291bnRfdGVzdF9ibG9jazsgKytpKSB7Ci0gICAgICAgIFJ1
blJlZlR4Zm0oY29lZmYsIHJlZiwgcGl0Y2hfKTsKLSAgICAgIH0KLSAgICAgIHZweF91c2VjX3Rp
bWVyX21hcmsoJnRpbWVyX2MpOwotICAgICAgY19zdW1fdGltZSArPSB2cHhfdXNlY190aW1lcl9l
bGFwc2VkKCZ0aW1lcl9jKTsKLQotICAgICAgdnB4X3VzZWNfdGltZXIgdGltZXJfbW9kOwotICAg
ICAgdnB4X3VzZWNfdGltZXJfc3RhcnQoJnRpbWVyX21vZCk7Ci0gICAgICBmb3IgKGludCBpID0g
MDsgaSA8IGNvdW50X3Rlc3RfYmxvY2s7ICsraSkgewotICAgICAgICBSdW5JbnZUeGZtKGNvZWZm
LCBkc3QsIHBpdGNoXyk7Ci0gICAgICB9Ci0gICAgICB2cHhfdXNlY190aW1lcl9tYXJrKCZ0aW1l
cl9tb2QpOwotICAgICAgc2ltZF9zdW1fdGltZSArPSB2cHhfdXNlY190aW1lcl9lbGFwc2VkKCZ0
aW1lcl9tb2QpOwotICAgIH0gZWxzZSB7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAg
ICAgIHZweF91c2VjX3RpbWVyIHRpbWVyX2M7Ci0gICAgICB2cHhfdXNlY190aW1lcl9zdGFydCgm
dGltZXJfYyk7Ci0gICAgICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50X3Rlc3RfYmxvY2s7ICsr
aSkgewotICAgICAgICBSdW5SZWZUeGZtKGNvZWZmLCBDQVNUX1RPX0JZVEVQVFIocmVmMTYpLCBw
aXRjaF8pOwotICAgICAgfQotICAgICAgdnB4X3VzZWNfdGltZXJfbWFyaygmdGltZXJfYyk7Ci0g
ICAgICBjX3N1bV90aW1lICs9IHZweF91c2VjX3RpbWVyX2VsYXBzZWQoJnRpbWVyX2MpOwotCi0g
ICAgICB2cHhfdXNlY190aW1lciB0aW1lcl9tb2Q7Ci0gICAgICB2cHhfdXNlY190aW1lcl9zdGFy
dCgmdGltZXJfbW9kKTsKLSAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnRfdGVzdF9ibG9j
azsgKytpKSB7Ci0gICAgICAgIFJ1bkludlR4Zm0oY29lZmYsIENBU1RfVE9fQllURVBUUihkc3Qx
NiksIHBpdGNoXyk7Ci0gICAgICB9Ci0gICAgICB2cHhfdXNlY190aW1lcl9tYXJrKCZ0aW1lcl9t
b2QpOwotICAgICAgc2ltZF9zdW1fdGltZSArPSB2cHhfdXNlY190aW1lcl9lbGFwc2VkKCZ0aW1l
cl9tb2QpOwotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAgIH0KLSAgICBw
cmludGYoCi0gICAgICAgICJjX3RpbWUgPSAlIiBQUklkNjQgIiBcdCBzaW1kX3RpbWUgPSAlIiBQ
UklkNjQgIiBcdCBHYWluID0gJTQuMmYgXG4iLAotICAgICAgICBjX3N1bV90aW1lLCBzaW1kX3N1
bV90aW1lLAotICAgICAgICAoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNfc3VtX3RpbWUpIC8gc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KHNpbWRfc3VtX3RpbWUpKSk7Ci0gIH0KLQotICB2b2lkIENvbXBhcmVJbnZS
ZWZlcmVuY2UzMngzMigpIHsKLSAgICBBQ01SYW5kb20gcm5kKEFDTVJhbmRvbTo6RGV0ZXJtaW5p
c3RpY1NlZWQoKSk7Ci0gICAgY29uc3QgaW50IGNvdW50X3Rlc3RfYmxvY2sgPSAxMDAwMDsKLSAg
ICBjb25zdCBpbnQgZW9iID0gMzE7Ci0gICAgY29uc3QgaW50MTZfdCAqc2NhbiA9IHZwOV9kZWZh
dWx0X3NjYW5fb3JkZXJzW1RYXzMyWDMyXS5zY2FuOwotICAgIERFQ0xBUkVfQUxJR05FRCgzMiwg
dHJhbl9sb3dfdCwgY29lZmZba051bUNvZWZmc10pOwotICAgIERFQ0xBUkVfQUxJR05FRCgxNiwg
dWludDhfdCwgZHN0W2tOdW1Db2VmZnNdKTsKLSAgICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQ4
X3QsIHJlZltrTnVtQ29lZmZzXSk7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICBE
RUNMQVJFX0FMSUdORUQoMTYsIHVpbnQxNl90LCBkc3QxNltrTnVtQ29lZmZzXSk7Ci0gICAgREVD
TEFSRV9BTElHTkVEKDE2LCB1aW50MTZfdCwgcmVmMTZba051bUNvZWZmc10pOwotI2VuZGlmICAv
LyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotCi0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3Vu
dF90ZXN0X2Jsb2NrOyArK2kpIHsKLSAgICAgIGZvciAoaW50IGogPSAwOyBqIDwga051bUNvZWZm
czsgKytqKSB7Ci0gICAgICAgIGlmIChqIDwgZW9iKSB7Ci0gICAgICAgICAgY29lZmZbc2Nhbltq
XV0gPSBybmQuUmFuZDhFeHRyZW1lcygpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIGNv
ZWZmW3NjYW5bal1dID0gMDsKLSAgICAgICAgfQotICAgICAgICBpZiAoYml0X2RlcHRoXyA9PSBW
UFhfQklUU184KSB7Ci0gICAgICAgICAgZHN0W2pdID0gMDsKLSAgICAgICAgICByZWZbal0gPSAw
OwotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgZHN0MTZbal0gPSAwOwotICAgICAgICAgIHJlZjE2W2pdID0gMDsKLSNlbmRpZiAgLy8gQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICAgICAgfQotICAgICAgfQotICAgICAgaWYgKGJpdF9k
ZXB0aF8gPT0gVlBYX0JJVFNfOCkgewotICAgICAgICBSdW5SZWZUeGZtKGNvZWZmLCByZWYsIHBp
dGNoXyk7Ci0gICAgICAgIFJ1bkludlR4Zm0oY29lZmYsIGRzdCwgcGl0Y2hfKTsKLSAgICAgIH0g
ZWxzZSB7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICAgICAgUnVuUmVmVHhmbShj
b2VmZiwgQ0FTVF9UT19CWVRFUFRSKHJlZjE2KSwgcGl0Y2hfKTsKLSAgICAgICAgQVNNX1JFR0lT
VEVSX1NUQVRFX0NIRUNLKAotICAgICAgICAgICAgUnVuSW52VHhmbShjb2VmZiwgQ0FTVF9UT19C
WVRFUFRSKGRzdDE2KSwgcGl0Y2hfKSk7Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERF
UFRICi0gICAgICB9Ci0KLSAgICAgIGZvciAoaW50IGogPSAwOyBqIDwga051bUNvZWZmczsgKytq
KSB7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICAgICAgY29uc3QgdWludDMyX3Qg
ZGlmZiA9Ci0gICAgICAgICAgICBiaXRfZGVwdGhfID09IFZQWF9CSVRTXzggPyBkc3Rbal0gLSBy
ZWZbal0gOiBkc3QxNltqXSAtIHJlZjE2W2pdOwotI2Vsc2UKLSAgICAgICAgY29uc3QgdWludDMy
X3QgZGlmZiA9IGRzdFtqXSAtIHJlZltqXTsKLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklU
REVQVEgKLSAgICAgICAgY29uc3QgdWludDMyX3QgZXJyb3IgPSBkaWZmICogZGlmZjsKLSAgICAg
ICAgRVhQRUNUX0VRKDB1LCBlcnJvcikgPDwgIkVycm9yOiAzMngzMiBJRENUIENvbXBhcmlzb24g
aGFzIGVycm9yICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgZXJyb3IgPDwgIiBh
dCBpbmRleCAiIDw8IGo7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19OwotCi1HVEVTVF9BTExPV19V
TklOU1RBTlRJQVRFRF9QQVJBTUVURVJJWkVEX1RFU1QoSW52VHJhbnMzMngzMlRlc3QpOwotCi1U
RVNUX1AoSW52VHJhbnMzMngzMlRlc3QsIERJU0FCTEVEX1NwZWVkKSB7IFJ1bkludlRyYW5zMzJ4
MzJTcGVlZFRlc3QoKTsgfQotVEVTVF9QKEludlRyYW5zMzJ4MzJUZXN0LCBDb21wYXJlUmVmZXJl
bmNlKSB7IENvbXBhcmVJbnZSZWZlcmVuY2UzMngzMigpOyB9Ci0KIHVzaW5nIHN0ZDo6bWFrZV90
dXBsZTsKIAogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICkBAIC01MDcsMTQgKzMzNCw2IEBA
IElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZQWF9CSVRTXzgpLAogICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoJnZweF9m
ZGN0MzJ4MzJfcmRfYywgJnZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEsIFZQWF9CSVRTXzgpKSk7Ci0KLUlOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUCgKLSAgICBDLCBJbnZUcmFuczMyeDMyVGVzdCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVl
cygKLSAgICAgICAgKG1ha2VfdHVwbGUoJnZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfYywgJnZweF9p
ZGN0MzJ4MzJfMTAyNF9hZGRfYywgMCwKLSAgICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwg
MzIsIDYyMjUpKSwKLSAgICAgICAgbWFrZV90dXBsZSgmdnB4X2lkY3QzMngzMl8xMzVfYWRkX2Ms
ICZ2cHhfaWRjdDMyeDMyXzEzNV9hZGRfYywgMCwKLSAgICAgICAgICAgICAgICAgICBWUFhfQklU
U184LCAxNiwgNjI1NSkpKTsKICNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKIAog
I2lmIEhBVkVfTkVPTiAmJiAhQ09ORklHX0VNVUxBVEVfSEFSRFdBUkUKQEAgLTUzMywxNCArMzUy
LDYgQEAgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJnZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfc3NlMiwgMCwgVlBYX0JJVFNfOCksCiAg
ICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSgmdnB4X2ZkY3QzMngzMl9yZF9zc2UyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9pZGN0MzJ4MzJfMTAyNF9hZGRf
c3NlMiwgMSwgVlBYX0JJVFNfOCkpKTsKLQotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAotICAg
IFNTRTIsIEludlRyYW5zMzJ4MzJUZXN0LAotICAgIDo6dGVzdGluZzo6VmFsdWVzKAotICAgICAg
ICAobWFrZV90dXBsZSgmdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9jLCAmdnB4X2lkY3QzMngzMl8x
MDI0X2FkZF9zc2UyLCAwLAotICAgICAgICAgICAgICAgICAgICBWUFhfQklUU184LCAzMiwgNjIy
NSkpLAotICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfaWRjdDMyeDMyXzEzNV9hZGRfYywgJnZweF9p
ZGN0MzJ4MzJfMTM1X2FkZF9zc2UyLCAwLAotICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzgs
IDE2LCA2MjI1KSkpOwogI2VuZGlmICAvLyBIQVZFX1NTRTIgJiYgIUNPTkZJR19WUDlfSElHSEJJ
VERFUFRIICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQogCiAjaWYgSEFWRV9TU0UyICYmIENP
TkZJR19WUDlfSElHSEJJVERFUFRIICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQpAQCAtNTY2
LDE0ICszNzcsNiBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9zc2UyLCAwLCBWUFhfQklU
U184KSwKICAgICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfZmRjdDMyeDMyX3Jk
X2F2eDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2lkY3QzMngzMl8x
MDI0X2FkZF9zc2UyLCAxLCBWUFhfQklUU184KSkpOwotCi1JTlNUQU5USUFURV9URVNUX1NVSVRF
X1AoCi0gICAgQVZYMiwgSW52VHJhbnMzMngzMlRlc3QsCi0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMo
Ci0gICAgICAgIChtYWtlX3R1cGxlKCZ2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2MsICZ2cHhfaWRj
dDMyeDMyXzEwMjRfYWRkX2F2eDIsIDAsCi0gICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzgs
IDMyLCA2MjI1KSksCi0gICAgICAgIG1ha2VfdHVwbGUoJnZweF9pZGN0MzJ4MzJfMTM1X2FkZF9j
LCAmdnB4X2lkY3QzMngzMl8xMzVfYWRkX2F2eDIsIDAsCi0gICAgICAgICAgICAgICAgICAgVlBY
X0JJVFNfOCwgMTYsIDYyMjUpKSk7CiAjZW5kaWYgIC8vIEhBVkVfQVZYMiAmJiAhQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEggJiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCiAKICNpZiBIQVZFX01T
QSAmJiAhQ09ORklHX1ZQOV9ISUdIQklUREVQVEggJiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJF
CkBAIC01OTMsMTMgKzM5Niw0IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICAgICAg
ICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfZmRjdDMyeDMyX3JkX3ZzeCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX3ZzeCwgMSwg
VlBYX0JJVFNfOCkpKTsKICNlbmRpZiAgLy8gSEFWRV9WU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJ
VERFUFRIICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQotCi0jaWYgSEFWRV9MU1ggJiYgIUNP
TkZJR19WUDlfSElHSEJJVERFUFRIICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQotSU5TVEFO
VElBVEVfVEVTVF9TVUlURV9QKAotICAgIExTWCwgVHJhbnMzMngzMlRlc3QsCi0gICAgOjp0ZXN0
aW5nOjpWYWx1ZXMobWFrZV90dXBsZSgmdnB4X2ZkY3QzMngzMl9sc3gsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9sc3gsIDAsIFZQWF9C
SVRTXzgpLAotICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoJnZweF9mZGN0MzJ4MzJf
cmRfbHN4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9pZGN0MzJ4MzJf
MTAyNF9hZGRfbHN4LCAxLCBWUFhfQklUU184KSkpOwotI2VuZGlmICAvLyBIQVZFX0xTWCAmJiAh
Q09ORklHX1ZQOV9ISUdIQklUREVQVEggJiYgIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCiB9ICAv
LyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kY3RfcGFydGlhbF90ZXN0
LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L2RjdF9wYXJ0aWFsX3Rlc3QuY2MKaW5kZXggZWM2ZjU0M2Y3
MTRlLi44ZDBlM2E5MTJlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kY3RfcGFydGlh
bF90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kY3RfcGFydGlhbF90ZXN0LmNjCkBAIC02
Nyw3ICs2Nyw3IEBAIGNsYXNzIFBhcnRpYWxGZGN0VGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRl
c3RXaXRoUGFyYW08UGFydGlhbEZkY3RQYXJhbT4gewogICAgIGJpdF9kZXB0aF8gPSBHRVRfUEFS
QU0oMik7CiAgIH0KIAotICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGUgeyBsaWJ2cHhfdGVzdDo6
Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CisgIHZpcnR1YWwgdm9pZCBUZWFyRG93bigpIHsgbGlidnB4
X3Rlc3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQogCiAgcHJvdGVjdGVkOgogICB2b2lkIFJ1blRl
c3QoKSB7CkBAIC0xNDUsMTcgKzE0NSwxMSBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAj
aWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAg
ICBORU9OLCBQYXJ0aWFsRmRjdFRlc3QsCi0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMobWFrZV90dXBs
ZSgmdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMV9uZW9uLCAzMiwgVlBYX0JJVFNfMTIpLAotICAgICAg
ICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoJnZweF9oaWdoYmRfZmRjdDMyeDMyXzFfbmVvbiwg
MzIsIFZQWF9CSVRTXzEwKSwKLSAgICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZ2cHhf
aGlnaGJkX2ZkY3QzMngzMl8xX25lb24sIDMyLCBWUFhfQklUU184KSwKLSAgICAgICAgICAgICAg
ICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfaGlnaGJkX2ZkY3QxNngxNl8xX25lb24sIDE2LCBWUFhf
QklUU18xMiksCi0gICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSgmdnB4X2hpZ2hiZF9m
ZGN0MTZ4MTZfMV9uZW9uLCAxNiwgVlBYX0JJVFNfMTApLAotICAgICAgICAgICAgICAgICAgICAg
IG1ha2VfdHVwbGUoJnZweF9oaWdoYmRfZmRjdDE2eDE2XzFfbmVvbiwgMTYsIFZQWF9CSVRTXzgp
LAorICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUoJnZweF9mZGN0MzJ4MzJfMV9uZW9u
LCAzMiwgVlBYX0JJVFNfOCksCisgICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSgmdnB4
X2ZkY3QxNngxNl8xX25lb24sIDE2LCBWUFhfQklUU184KSwKICAgICAgICAgICAgICAgICAgICAg
ICBtYWtlX3R1cGxlKCZ2cHhfZmRjdDh4OF8xX25lb24sIDgsIFZQWF9CSVRTXzEyKSwKICAgICAg
ICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfZmRjdDh4OF8xX25lb24sIDgsIFZQWF9C
SVRTXzEwKSwKICAgICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfZmRjdDh4OF8x
X25lb24sIDgsIFZQWF9CSVRTXzgpLAotICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUo
JnZweF9mZGN0NHg0XzFfbmVvbiwgNCwgVlBYX0JJVFNfMTIpLAotICAgICAgICAgICAgICAgICAg
ICAgIG1ha2VfdHVwbGUoJnZweF9mZGN0NHg0XzFfbmVvbiwgNCwgVlBYX0JJVFNfMTApLAogICAg
ICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoJnZweF9mZGN0NHg0XzFfbmVvbiwgNCwgVlBY
X0JJVFNfOCkpKTsKICNlbHNlCiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvZGN0X3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZGN0X3Rlc3Qu
Y2MKaW5kZXggYzNkMzA4MWM0MjJlLi45NTQxODY5NTM1MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdGVzdC9kY3RfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZGN0X3Rlc3QuY2MKQEAg
LTEzNCw3ICsxMzQsNyBAQCB2b2lkIGZ3aHRfcmVmKGNvbnN0IEJ1ZmZlcjxpbnQxNl90PiAmaW4s
IEJ1ZmZlcjx0cmFuX2xvd190PiAqb3V0LCBpbnQgc2l6ZSwKIAogY2xhc3MgVHJhbnNUZXN0QmFz
ZSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08RGN0UGFyYW0+IHsKICBwdWJsaWM6
Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAg
ICBybmRfLlJlc2V0KEFDTVJhbmRvbTo6RGV0ZXJtaW5pc3RpY1NlZWQoKSk7CiAgICAgY29uc3Qg
aW50IGlkeCA9IEdFVF9QQVJBTSgwKTsKICAgICBjb25zdCBGdW5jSW5mbyAqZnVuY19pbmZvID0g
JihHRVRfUEFSQU0oMSlbaWR4XSk7CkBAIC0xNjYsNyArMTY2LDcgQEAgY2xhc3MgVHJhbnNUZXN0
QmFzZSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08RGN0UGFyYW0+IHsKICAgICBB
U1NFUlRfTkUoZHN0XywgbnVsbHB0cik7CiAgIH0KIAotICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJp
ZGUgeworICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7CiAgICAgdnB4X2ZyZWUoc3JjXyk7CiAg
ICAgc3JjXyA9IG51bGxwdHI7CiAgICAgdnB4X2ZyZWUoZHN0Xyk7CkBAIC0zNTgsNiArMzU4LDE0
IEBAIGNsYXNzIFRyYW5zVGVzdEJhc2UgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFt
PERjdFBhcmFtPiB7CiAgICAgQVNTRVJUX1RSVUUoaW4uSW5pdCgpKTsKICAgICBCdWZmZXI8dHJh
bl9sb3dfdD4gY29lZmYgPSBCdWZmZXI8dHJhbl9sb3dfdD4oc2l6ZV8sIHNpemVfLCAwLCAxNik7
CiAgICAgQVNTRVJUX1RSVUUoY29lZmYuSW5pdCgpKTsKKyAgICBCdWZmZXI8dWludDhfdD4gZHN0
ID0gQnVmZmVyPHVpbnQ4X3Q+KHNpemVfLCBzaXplXywgMCwgMTYpOworICAgIEFTU0VSVF9UUlVF
KGRzdC5Jbml0KCkpOworICAgIEJ1ZmZlcjx1aW50OF90PiBzcmMgPSBCdWZmZXI8dWludDhfdD4o
c2l6ZV8sIHNpemVfLCAwKTsKKyAgICBBU1NFUlRfVFJVRShzcmMuSW5pdCgpKTsKKyAgICBCdWZm
ZXI8dWludDE2X3Q+IGRzdDE2ID0gQnVmZmVyPHVpbnQxNl90PihzaXplXywgc2l6ZV8sIDAsIDE2
KTsKKyAgICBBU1NFUlRfVFJVRShkc3QxNi5Jbml0KCkpOworICAgIEJ1ZmZlcjx1aW50MTZfdD4g
c3JjMTYgPSBCdWZmZXI8dWludDE2X3Q+KHNpemVfLCBzaXplXywgMCk7CisgICAgQVNTRVJUX1RS
VUUoc3JjMTYuSW5pdCgpKTsKIAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnRfdGVzdF9i
bG9jazsgKytpKSB7CiAgICAgICBJbml0TWVtKCk7CkBAIC01MzEsMTggKzUzOSw2IEBAIElOU1RB
TlRJQVRFX1RFU1RfU1VJVEVfUChBVlgyLCBUcmFuc0RDVCwKICNlbmRpZiAgLy8gSEFWRV9BVlgy
ICYmICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCiAjaWYgSEFWRV9ORU9OCi0jaWYgQ09ORklH
X1ZQOV9ISUdIQklUREVQVEgKLXN0YXRpYyBjb25zdCBGdW5jSW5mbyBkY3RfbmVvbl9mdW5jX2lu
Zm9bXSA9IHsKLSAgeyAmZmRjdF93cmFwcGVyPHZweF9oaWdoYmRfZmRjdDR4NF9uZW9uPiwKLSAg
ICAmaGlnaGJkX2lkY3Rfd3JhcHBlcjx2cHhfaGlnaGJkX2lkY3Q0eDRfMTZfYWRkX25lb24+LCA0
LCAyIH0sCi0gIHsgJmZkY3Rfd3JhcHBlcjx2cHhfaGlnaGJkX2ZkY3Q4eDhfbmVvbj4sCi0gICAg
JmhpZ2hiZF9pZGN0X3dyYXBwZXI8dnB4X2hpZ2hiZF9pZGN0OHg4XzY0X2FkZF9uZW9uPiwgOCwg
MiB9LAotICB7ICZmZGN0X3dyYXBwZXI8dnB4X2hpZ2hiZF9mZGN0MTZ4MTZfbmVvbj4sCi0gICAg
JmhpZ2hiZF9pZGN0X3dyYXBwZXI8dnB4X2hpZ2hiZF9pZGN0MTZ4MTZfMjU2X2FkZF9uZW9uPiwg
MTYsIDIgfSwKLSAgLyogeyAmZmRjdF93cmFwcGVyPHZweF9oaWdoYmRfZmRjdDMyeDMyX25lb24+
LAotICAgICAgICZoaWdoYmRfaWRjdF93cmFwcGVyPHZweF9oaWdoYmRfaWRjdDMyeDMyXzEwMjRf
YWRkX25lb24+LCAzMiwgMiB9LCovCi19OwotI2Vsc2UKIHN0YXRpYyBjb25zdCBGdW5jSW5mbyBk
Y3RfbmVvbl9mdW5jX2luZm9bNF0gPSB7CiAgIHsgJmZkY3Rfd3JhcHBlcjx2cHhfZmRjdDR4NF9u
ZW9uPiwgJmlkY3Rfd3JhcHBlcjx2cHhfaWRjdDR4NF8xNl9hZGRfbmVvbj4sIDQsCiAgICAgMSB9
LApAQCAtNTUzLDE1ICs1NDksMTIgQEAgc3RhdGljIGNvbnN0IEZ1bmNJbmZvIGRjdF9uZW9uX2Z1
bmNfaW5mb1s0XSA9IHsKICAgeyAmZmRjdF93cmFwcGVyPHZweF9mZGN0MzJ4MzJfbmVvbj4sCiAg
ICAgJmlkY3Rfd3JhcHBlcjx2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX25lb24+LCAzMiwgMSB9CiB9
OwotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCiBJTlNUQU5USUFURV9URVNU
X1NVSVRFX1AoCiAgICAgTkVPTiwgVHJhbnNEQ1QsCi0gICAgOjp0ZXN0aW5nOjpDb21iaW5lKAot
ICAgICAgICA6OnRlc3Rpbmc6OlJhbmdlKDAsIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKGRjdF9u
ZW9uX2Z1bmNfaW5mbykgLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZW9mKGRjdF9uZW9uX2Z1bmNfaW5mb1swXSkpKSwKLSAgICAgICAgOjp0ZXN0aW5n
OjpWYWx1ZXMoZGN0X25lb25fZnVuY19pbmZvKSwgOjp0ZXN0aW5nOjpWYWx1ZXMoMCksCi0gICAg
ICAgIDo6dGVzdGluZzo6VmFsdWVzKFZQWF9CSVRTXzgsIFZQWF9CSVRTXzEwLCBWUFhfQklUU18x
MikpKTsKKyAgICA6OnRlc3Rpbmc6OkNvbWJpbmUoOjp0ZXN0aW5nOjpSYW5nZSgwLCA0KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoZGN0X25lb25fZnVuY19pbmZv
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoMCksIDo6dGVzdGlu
Zzo6VmFsdWVzKFZQWF9CSVRTXzgpKSk7CiAjZW5kaWYgIC8vIEhBVkVfTkVPTgogCiAjaWYgSEFW
RV9NU0EgJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICkBAIC01OTMsMjMgKzU4Niw2IEBAIElO
U1RBTlRJQVRFX1RFU1RfU1VJVEVfUChWU1gsIFRyYW5zRENULAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCkpKTsKICNlbmRp
ZiAgLy8gSEFWRV9WU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRIICYmCiAKLSNpZiBIQVZF
X0xTWCAmJiAhQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLXN0YXRpYyBjb25zdCBGdW5jSW5mbyBk
Y3RfbHN4X2Z1bmNfaW5mb1s0XSA9IHsKLSAgeyAmZmRjdF93cmFwcGVyPHZweF9mZGN0NHg0X2xz
eD4sICZpZGN0X3dyYXBwZXI8dnB4X2lkY3Q0eDRfMTZfYWRkX2M+LCA0LCAxIH0sCi0gIHsgJmZk
Y3Rfd3JhcHBlcjx2cHhfZmRjdDh4OF9sc3g+LCAmaWRjdF93cmFwcGVyPHZweF9pZGN0OHg4XzY0
X2FkZF9jPiwgOCwgMSB9LAotICB7ICZmZGN0X3dyYXBwZXI8dnB4X2ZkY3QxNngxNl9sc3g+LCAm
aWRjdF93cmFwcGVyPHZweF9pZGN0MTZ4MTZfMjU2X2FkZF9jPiwKLSAgICAxNiwgMSB9LAotICB7
ICZmZGN0X3dyYXBwZXI8dnB4X2ZkY3QzMngzMl9sc3g+LCAmaWRjdF93cmFwcGVyPHZweF9pZGN0
MzJ4MzJfMTAyNF9hZGRfbHN4PiwKLSAgICAzMiwgMSB9Ci19OwotCi1JTlNUQU5USUFURV9URVNU
X1NVSVRFX1AoCi0gICAgTFNYLCBUcmFuc0RDVCwKLSAgICA6OnRlc3Rpbmc6OkNvbWJpbmUoOjp0
ZXN0aW5nOjpSYW5nZSgwLCA0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpW
YWx1ZXMoZGN0X2xzeF9mdW5jX2luZm8pLAotICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rp
bmc6OlZhbHVlcygwKSwgOjp0ZXN0aW5nOjpWYWx1ZXMoVlBYX0JJVFNfOCkpKTsKLSNlbmRpZiAg
Ly8gSEFWRV9MU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICi0KICNlbmRpZiAgLy8gIUNP
TkZJR19FTVVMQVRFX0hBUkRXQVJFCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCkBAIC02NTks
MjMgKzYzNSwxNCBAQCBzdGF0aWMgY29uc3QgRnVuY0luZm8gaHRfbmVvbl9mdW5jX2luZm9bXSA9
IHsKICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogICB7ICZ2cDlfaGlnaGJkX2ZodDR4NF9j
LCAmaGlnaGJkX2lodF93cmFwcGVyPHZwOV9oaWdoYmRfaWh0NHg0XzE2X2FkZF9uZW9uPiwgNCwK
ICAgICAyIH0sCi0gIHsgJnZwOV9oaWdoYmRfZmh0NHg0X25lb24sICZoaWdoYmRfaWh0X3dyYXBw
ZXI8dnA5X2hpZ2hiZF9paHQ0eDRfMTZfYWRkX25lb24+LAotICAgIDQsIDIgfSwKICAgeyAmdnA5
X2hpZ2hiZF9maHQ4eDhfYywgJmhpZ2hiZF9paHRfd3JhcHBlcjx2cDlfaGlnaGJkX2lodDh4OF82
NF9hZGRfbmVvbj4sIDgsCiAgICAgMiB9LAotICB7ICZ2cDlfaGlnaGJkX2ZodDh4OF9uZW9uLCAm
aGlnaGJkX2lodF93cmFwcGVyPHZwOV9oaWdoYmRfaWh0OHg4XzY0X2FkZF9uZW9uPiwKLSAgICA4
LCAyIH0sCiAgIHsgJnZwOV9oaWdoYmRfZmh0MTZ4MTZfYywKICAgICAmaGlnaGJkX2lodF93cmFw
cGVyPHZwOV9oaWdoYmRfaWh0MTZ4MTZfMjU2X2FkZF9uZW9uPiwgMTYsIDIgfSwKLSAgeyAmdnA5
X2hpZ2hiZF9maHQxNngxNl9uZW9uLAotICAgICZoaWdoYmRfaWh0X3dyYXBwZXI8dnA5X2hpZ2hi
ZF9paHQxNngxNl8yNTZfYWRkX25lb24+LCAxNiwgMiB9LAogI2VuZGlmCiAgIHsgJnZwOV9maHQ0
eDRfYywgJmlodF93cmFwcGVyPHZwOV9paHQ0eDRfMTZfYWRkX25lb24+LCA0LCAxIH0sCi0gIHsg
JnZwOV9maHQ0eDRfbmVvbiwgJmlodF93cmFwcGVyPHZwOV9paHQ0eDRfMTZfYWRkX25lb24+LCA0
LCAxIH0sCiAgIHsgJnZwOV9maHQ4eDhfYywgJmlodF93cmFwcGVyPHZwOV9paHQ4eDhfNjRfYWRk
X25lb24+LCA4LCAxIH0sCi0gIHsgJnZwOV9maHQ4eDhfbmVvbiwgJmlodF93cmFwcGVyPHZwOV9p
aHQ4eDhfNjRfYWRkX25lb24+LCA4LCAxIH0sCi0gIHsgJnZwOV9maHQxNngxNl9jLCAmaWh0X3dy
YXBwZXI8dnA5X2lodDE2eDE2XzI1Nl9hZGRfbmVvbj4sIDE2LCAxIH0sCi0gIHsgJnZwOV9maHQx
NngxNl9uZW9uLCAmaWh0X3dyYXBwZXI8dnA5X2lodDE2eDE2XzI1Nl9hZGRfbmVvbj4sIDE2LCAx
IH0KKyAgeyAmdnA5X2ZodDE2eDE2X2MsICZpaHRfd3JhcHBlcjx2cDlfaWh0MTZ4MTZfMjU2X2Fk
ZF9uZW9uPiwgMTYsIDEgfQogfTsKIAogSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKApAQCAtNzg2
LDUgKzc1Myw0IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChWU1gsIFRyYW5zV0hULAogICAg
ICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUoMCwgJndo
dF92c3hfZnVuY19pbmZvLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCkpKTsKICNlbmRpZiAgLy8gSEFWRV9WU1ggJiYg
IUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCi0KIH0gIC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L2RlY29kZV9jb3JydXB0ZWQuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZGVj
b2RlX2NvcnJ1cHRlZC5jYwppbmRleCA1ODc3M2Q3Yjg2NDguLjMxZTFkYTY5Y2MwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L2RlY29kZV9jb3JydXB0ZWQuY2MKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90ZXN0L2RlY29kZV9jb3JydXB0ZWQuY2MKQEAgLTI4LDkgKzI4LDkgQEAgY2xhc3MgRGVjb2Rl
Q29ycnVwdGVkRnJhbWVUZXN0CiAgIERlY29kZUNvcnJ1cHRlZEZyYW1lVGVzdCgpIDogRW5jb2Rl
clRlc3QoR0VUX1BBUkFNKDApKSB7fQogCiAgcHJvdGVjdGVkOgotICB+RGVjb2RlQ29ycnVwdGVk
RnJhbWVUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5EZWNvZGVDb3JydXB0
ZWRGcmFtZVRlc3QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwg
dm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZSg6Omxp
YnZweF90ZXN0OjprUmVhbFRpbWUpOwogICAgIGNmZ18uZ19sYWdfaW5fZnJhbWVzID0gMDsKQEAg
LTQ0LDE2ICs0NCwxNiBAQCBjbGFzcyBEZWNvZGVDb3JydXB0ZWRGcmFtZVRlc3QKICAgICBkZWNf
Y2ZnXy50aHJlYWRzID0gMTsKICAgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGli
dnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
OjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZv
aWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVy
ICplbmNvZGVyKSB7CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIGVuY29kZXItPkNvbnRy
b2woVlA4RV9TRVRfQ1BVVVNFRCwgNyk7CiAgIH0KIAotICB2b2lkIE1pc21hdGNoSG9vayhjb25z
dCB2cHhfaW1hZ2VfdCAqIC8qaW1nMSovLAotICAgICAgICAgICAgICAgICAgICBjb25zdCB2cHhf
aW1hZ2VfdCAqIC8qaW1nMiovKSBvdmVycmlkZSB7fQorICB2aXJ0dWFsIHZvaWQgTWlzbWF0Y2hI
b29rKGNvbnN0IHZweF9pbWFnZV90ICogLyppbWcxKi8sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdnB4X2ltYWdlX3QgKiAvKmltZzIqLykge30KIAotICBjb25zdCB2cHhfY29k
ZWNfY3hfcGt0X3QgKk11dGF0ZUVuY29kZXJPdXRwdXRIb29rKAotICAgICAgY29uc3QgdnB4X2Nv
ZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCBjb25zdCB2cHhfY29kZWNf
Y3hfcGt0X3QgKk11dGF0ZUVuY29kZXJPdXRwdXRIb29rKAorICAgICAgY29uc3QgdnB4X2NvZGVj
X2N4X3BrdF90ICpwa3QpIHsKICAgICAvLyBEb24ndCBlZGl0IGZyYW1lIHBhY2tldCBvbiBrZXkg
ZnJhbWUuCiAgICAgaWYgKHBrdC0+ZGF0YS5mcmFtZS5mbGFncyAmIFZQWF9GUkFNRV9JU19LRVkp
IHJldHVybiBwa3Q7CiAgICAgaWYgKHBrdC0+a2luZCAhPSBWUFhfQ09ERUNfQ1hfRlJBTUVfUEtU
KSByZXR1cm4gcGt0OwpAQCAtNjYsOSArNjYsOSBAQCBjbGFzcyBEZWNvZGVDb3JydXB0ZWRGcmFt
ZVRlc3QKICAgICByZXR1cm4gJm1vZGlmaWVkX3BrdF87CiAgIH0KIAotICBib29sIEhhbmRsZURl
Y29kZVJlc3VsdChjb25zdCB2cHhfY29kZWNfZXJyX3QgcmVzX2RlYywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgbGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICYgLyp2aWRlbyovLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RGVjb2RlciAqZGVjb2Rlcikg
b3ZlcnJpZGUgeworICB2aXJ0dWFsIGJvb2wgSGFuZGxlRGVjb2RlUmVzdWx0KGNvbnN0IHZweF9j
b2RlY19lcnJfdCByZXNfZGVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAmIC8qdmlkZW8qLywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RGVjb2RlciAqZGVjb2RlcikgewogICAg
IEVYUEVDVF9ORShyZXNfZGVjLCBWUFhfQ09ERUNfTUVNX0VSUk9SKSA8PCBkZWNvZGVyLT5EZWNv
ZGVFcnJvcigpOwogICAgIHJldHVybiBWUFhfQ09ERUNfTUVNX0VSUk9SICE9IHJlc19kZWM7CiAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kZWNvZGVfcGVyZl90ZXN0LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L2RlY29kZV9wZXJmX3Rlc3QuY2MKaW5kZXggMzgzZmQyZDg5NjQxLi5lMDdh
NjY3NDQwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kZWNvZGVfcGVyZl90ZXN0LmNj
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kZWNvZGVfcGVyZl90ZXN0LmNjCkBAIC0xMTYsMTEgKzEx
NiwxMSBAQCBjbGFzcyBWUDlOZXdFbmNvZGVEZWNvZGVQZXJmVGVzdAogIHByb3RlY3RlZDoKICAg
VlA5TmV3RW5jb2RlRGVjb2RlUGVyZlRlc3QoKQogICAgICAgOiBFbmNvZGVyVGVzdChHRVRfUEFS
QU0oMCkpLCBlbmNvZGluZ19tb2RlXyhHRVRfUEFSQU0oMSkpLCBzcGVlZF8oMCksCi0gICAgICAg
IG91dGZpbGVfKG51bGxwdHIpLCBvdXRfZnJhbWVzXygwKSB7fQorICAgICAgICBvdXRmaWxlXygw
KSwgb3V0X2ZyYW1lc18oMCkge30KIAotICB+VlA5TmV3RW5jb2RlRGVjb2RlUGVyZlRlc3QoKSBv
dmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgflZQOU5ld0VuY29kZURlY29kZVBlcmZUZXN0
KCkge30KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAo
KSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUoZW5jb2RpbmdfbW9kZV8p
OwogCkBAIC0xMzcsOCArMTM3LDggQEAgY2xhc3MgVlA5TmV3RW5jb2RlRGVjb2RlUGVyZlRlc3QK
ICAgICBjZmdfLnJjX2VuZF91c2FnZSA9IFZQWF9WQlI7CiAgIH0KIAotICB2b2lkIFByZUVuY29k
ZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRl
IHsKKyAgdmlydHVhbCB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRl
b1NvdXJjZSAqdmlkZW8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2
cHhfdGVzdDo6RW5jb2RlciAqZW5jb2RlcikgewogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAw
KSB7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVfU0VUX0NQVVVTRUQsIHNwZWVkXyk7CiAg
ICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX0ZSQU1FX1BBUkFMTEVMX0RFQ09ESU5HLCAx
KTsKQEAgLTE0NiwxNCArMTQ2LDE0IEBAIGNsYXNzIFZQOU5ld0VuY29kZURlY29kZVBlcmZUZXN0
CiAgICAgfQogICB9CiAKLSAgdm9pZCBCZWdpblBhc3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3Mq
Lykgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgQmVnaW5QYXNzSG9vayh1bnNpZ25lZCBpbnQg
LypwYXNzKi8pIHsKICAgICBjb25zdCBzdGQ6OnN0cmluZyBkYXRhX3BhdGggPSBnZXRlbnYoIkxJ
QlZQWF9URVNUX0RBVEFfUEFUSCIpOwogICAgIGNvbnN0IHN0ZDo6c3RyaW5nIHBhdGhfdG9fc291
cmNlID0gZGF0YV9wYXRoICsgIi8iICsga05ld0VuY29kZU91dHB1dEZpbGU7CiAgICAgb3V0Zmls
ZV8gPSBmb3BlbihwYXRoX3RvX3NvdXJjZS5jX3N0cigpLCAid2IiKTsKICAgICBBU1NFUlRfTkUo
b3V0ZmlsZV8sIG51bGxwdHIpOwogICB9CiAKLSAgdm9pZCBFbmRQYXNzSG9vaygpIG92ZXJyaWRl
IHsKKyAgdmlydHVhbCB2b2lkIEVuZFBhc3NIb29rKCkgewogICAgIGlmIChvdXRmaWxlXyAhPSBu
dWxscHRyKSB7CiAgICAgICBpZiAoIWZzZWVrKG91dGZpbGVfLCAwLCBTRUVLX1NFVCkpIHsKICAg
ICAgICAgaXZmX3dyaXRlX2ZpbGVfaGVhZGVyKG91dGZpbGVfLCAmY2ZnXywgVlA5X0ZPVVJDQywg
b3V0X2ZyYW1lc18pOwpAQCAtMTYzLDcgKzE2Myw3IEBAIGNsYXNzIFZQOU5ld0VuY29kZURlY29k
ZVBlcmZUZXN0CiAgICAgfQogICB9CiAKLSAgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2Nv
ZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEZyYW1lUGt0SG9v
ayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAgICsrb3V0X2ZyYW1lc187CiAK
ICAgICAvLyBXcml0ZSBpbml0aWFsIGZpbGUgaGVhZGVyIGlmIGZpcnN0IGZyYW1lLgpAQCAtMTc3
LDcgKzE3Nyw3IEBAIGNsYXNzIFZQOU5ld0VuY29kZURlY29kZVBlcmZUZXN0CiAgICAgICAgICAg
ICAgIHBrdC0+ZGF0YS5mcmFtZS5zeik7CiAgIH0KIAotICBib29sIERvRGVjb2RlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgdmlydHVhbCBib29sIERvRGVjb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICB2b2lkIHNldF9zcGVlZCh1bnNpZ25lZCBpbnQgc3Bl
ZWQpIHsgc3BlZWRfID0gc3BlZWQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2Rl
Y29kZV9zdmNfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kZWNvZGVfc3ZjX3Rlc3QuY2MKaW5k
ZXggNzA5OGU3YjI3MDQ4Li5lYzk5MzVkYTc5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9kZWNvZGVfc3ZjX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2RlY29kZV9zdmNfdGVz
dC5jYwpAQCAtMjUsMTYgKzI1LDE3IEBAIGNsYXNzIERlY29kZVN2Y1Rlc3QgOiBwdWJsaWMgOjps
aWJ2cHhfdGVzdDo6RGVjb2RlclRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIDo6
bGlidnB4X3Rlc3Q6OkNvZGVjVGVzdFdpdGhQYXJhbTxjb25zdCBjaGFyICo+IHsKICBwcm90ZWN0
ZWQ6CiAgIERlY29kZVN2Y1Rlc3QoKSA6IERlY29kZXJUZXN0KEdFVF9QQVJBTSg6OmxpYnZweF90
ZXN0OjprQ29kZWNGYWN0b3J5UGFyYW0pKSB7fQotICB+RGVjb2RlU3ZjVGVzdCgpIG92ZXJyaWRl
ID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+RGVjb2RlU3ZjVGVzdCgpIHt9CiAKLSAgdm9pZCBQcmVE
ZWNvZGVGcmFtZUhvb2soY29uc3QgbGlidnB4X3Rlc3Q6OkNvbXByZXNzZWRWaWRlb1NvdXJjZSAm
dmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnZweF90ZXN0OjpEZWNvZGVyICpk
ZWNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVEZWNvZGVGcmFtZUhvb2soCisg
ICAgICBjb25zdCBsaWJ2cHhfdGVzdDo6Q29tcHJlc3NlZFZpZGVvU291cmNlICZ2aWRlbywKKyAg
ICAgIGxpYnZweF90ZXN0OjpEZWNvZGVyICpkZWNvZGVyKSB7CiAgICAgaWYgKHZpZGVvLmZyYW1l
X251bWJlcigpID09IDApCiAgICAgICBkZWNvZGVyLT5Db250cm9sKFZQOV9ERUNPREVfU1ZDX1NQ
QVRJQUxfTEFZRVIsIHNwYXRpYWxfbGF5ZXJfKTsKICAgfQogCi0gIHZvaWQgRGVjb21wcmVzc2Vk
RnJhbWVIb29rKGNvbnN0IHZweF9pbWFnZV90ICZpbWcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBmcmFtZV9udW1iZXIpIG92ZXJyaWRlIHsKKyAgdmly
dHVhbCB2b2lkIERlY29tcHJlc3NlZEZyYW1lSG9vayhjb25zdCB2cHhfaW1hZ2VfdCAmaW1nLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBm
cmFtZV9udW1iZXIpIHsKICAgICBBU1NFUlRfRVEoaW1nLmRfdywgd2lkdGhfKTsKICAgICBBU1NF
UlRfRVEoaW1nLmRfaCwgaGVpZ2h0Xyk7CiAgICAgdG90YWxfZnJhbWVzXyA9IGZyYW1lX251bWJl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kZWNvZGVfdGVzdF9kcml2ZXIuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC9kZWNvZGVfdGVzdF9kcml2ZXIuaAppbmRleCBmNDQ2YWI0NjY0ZmQuLjA0
ODc2Y2RkN2NiNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2RlY29kZV90ZXN0X2RyaXZl
ci5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9kZWNvZGVfdGVzdF9kcml2ZXIuaApAQCAtMjQsNyAr
MjQsNyBAQCBjbGFzcyBDb21wcmVzc2VkVmlkZW9Tb3VyY2U7CiBjbGFzcyBEeERhdGFJdGVyYXRv
ciB7CiAgcHVibGljOgogICBleHBsaWNpdCBEeERhdGFJdGVyYXRvcih2cHhfY29kZWNfY3R4X3Qg
KmRlY29kZXIpCi0gICAgICA6IGRlY29kZXJfKGRlY29kZXIpLCBpdGVyXyhudWxscHRyKSB7fQor
ICAgICAgOiBkZWNvZGVyXyhkZWNvZGVyKSwgaXRlcl8oTlVMTCkge30KIAogICBjb25zdCB2cHhf
aW1hZ2VfdCAqTmV4dCgpIHsgcmV0dXJuIHZweF9jb2RlY19nZXRfZnJhbWUoZGVjb2Rlcl8sICZp
dGVyXyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2VuY29kZV9hcGlfdGVzdC5j
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC9lbmNvZGVfYXBpX3Rlc3QuY2MKaW5kZXggZDcxMGIwYjVmNzBj
Li42YmQ3ZTU5M2RhY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9lbmNvZGVfYXBpX3Rl
c3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2VuY29kZV9hcGlfdGVzdC5jYwpAQCAtOCwzOSAr
OCwyNSBAQAogICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2Yg
dGhlIHNvdXJjZSB0cmVlLgogICovCiAKLSNpbmNsdWRlIDxjbGltaXRzPgotI2luY2x1ZGUgPGNz
dHJpbmc+Ci0jaW5jbHVkZSA8aW5pdGlhbGl6ZXJfbGlzdD4KLSNpbmNsdWRlIDxuZXc+Ci0KICNp
bmNsdWRlICJ0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0Lmgi
Ci0jaW5jbHVkZSAidGVzdC9jb2RlY19mYWN0b3J5LmgiCi0jaW5jbHVkZSAidGVzdC9lbmNvZGVf
dGVzdF9kcml2ZXIuaCIKLSNpbmNsdWRlICJ0ZXN0L2k0MjBfdmlkZW9fc291cmNlLmgiCi0jaW5j
bHVkZSAidGVzdC92aWRlb19zb3VyY2UuaCIKIAogI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgog
I2luY2x1ZGUgInZweC92cDhjeC5oIgotI2luY2x1ZGUgInZweC92cHhfdHBsLmgiCisjaW5jbHVk
ZSAidnB4L3ZweF9lbmNvZGVyLmgiCiAKIG5hbWVzcGFjZSB7CiAKLWNvbnN0IHZweF9jb2RlY19p
ZmFjZV90ICprQ29kZWNJZmFjZXNbXSA9IHsKKyNkZWZpbmUgTkVMRU1FTlRTKHgpIHN0YXRpY19j
YXN0PGludD4oc2l6ZW9mKHgpIC8gc2l6ZW9mKHhbMF0pKQorCitURVNUKEVuY29kZUFQSSwgSW52
YWxpZFBhcmFtcykgeworICBzdGF0aWMgY29uc3QgdnB4X2NvZGVjX2lmYWNlX3QgKmtDb2RlY3Nb
XSA9IHsKICNpZiBDT05GSUdfVlA4X0VOQ09ERVIKLSAgJnZweF9jb2RlY192cDhfY3hfYWxnbywK
KyAgICAmdnB4X2NvZGVjX3ZwOF9jeF9hbGdvLAogI2VuZGlmCiAjaWYgQ09ORklHX1ZQOV9FTkNP
REVSCi0gICZ2cHhfY29kZWNfdnA5X2N4X2FsZ28sCisgICAgJnZweF9jb2RlY192cDlfY3hfYWxn
bywKICNlbmRpZgotfTsKLQotYm9vbCBJc1ZQOShjb25zdCB2cHhfY29kZWNfaWZhY2VfdCAqaWZh
Y2UpIHsKLSAgc3RhdGljIGNvbnN0IGNoYXIga1ZQOU5hbWVbXSA9ICJXZWJNIFByb2plY3QgVlA5
IjsKLSAgcmV0dXJuIHN0cm5jbXAoa1ZQOU5hbWUsIHZweF9jb2RlY19pZmFjZV9uYW1lKGlmYWNl
KSwgc2l6ZW9mKGtWUDlOYW1lKSAtIDEpID09Ci0gICAgICAgICAwOwotfQotCi1URVNUKEVuY29k
ZUFQSSwgSW52YWxpZFBhcmFtcykgeworICB9OwogICB1aW50OF90IGJ1ZlsxXSA9IHsgMCB9Owog
ICB2cHhfaW1hZ2VfdCBpbWc7CiAgIHZweF9jb2RlY19jdHhfdCBlbmM7CkBAIC02MywxNyArNDks
MTcgQEAgVEVTVChFbmNvZGVBUEksIEludmFsaWRQYXJhbXMpIHsKICAgICAgICAgICAgIHZweF9j
b2RlY19lbmNfY29uZmlnX2RlZmF1bHQobnVsbHB0ciwgJmNmZywgMCkpOwogICBFWFBFQ1RfTkUo
dnB4X2NvZGVjX2Vycm9yKG51bGxwdHIpLCBudWxscHRyKTsKIAotICBmb3IgKGNvbnN0IGF1dG8g
KmlmYWNlIDoga0NvZGVjSWZhY2VzKSB7Ci0gICAgU0NPUEVEX1RSQUNFKHZweF9jb2RlY19pZmFj
ZV9uYW1lKGlmYWNlKSk7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgTkVMRU1FTlRTKGtDb2RlY3Mp
OyArK2kpIHsKKyAgICBTQ09QRURfVFJBQ0UodnB4X2NvZGVjX2lmYWNlX25hbWUoa0NvZGVjc1tp
XSkpOwogICAgIEVYUEVDVF9FUShWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTSwKLSAgICAgICAgICAg
ICAgdnB4X2NvZGVjX2VuY19pbml0KG51bGxwdHIsIGlmYWNlLCBudWxscHRyLCAwKSk7CisgICAg
ICAgICAgICAgIHZweF9jb2RlY19lbmNfaW5pdChudWxscHRyLCBrQ29kZWNzW2ldLCBudWxscHRy
LCAwKSk7CiAgICAgRVhQRUNUX0VRKFZQWF9DT0RFQ19JTlZBTElEX1BBUkFNLAotICAgICAgICAg
ICAgICB2cHhfY29kZWNfZW5jX2luaXQoJmVuYywgaWZhY2UsIG51bGxwdHIsIDApKTsKKyAgICAg
ICAgICAgICAgdnB4X2NvZGVjX2VuY19pbml0KCZlbmMsIGtDb2RlY3NbaV0sIG51bGxwdHIsIDAp
KTsKICAgICBFWFBFQ1RfRVEoVlBYX0NPREVDX0lOVkFMSURfUEFSQU0sCi0gICAgICAgICAgICAg
IHZweF9jb2RlY19lbmNfY29uZmlnX2RlZmF1bHQoaWZhY2UsICZjZmcsIDEpKTsKKyAgICAgICAg
ICAgICAgdnB4X2NvZGVjX2VuY19jb25maWdfZGVmYXVsdChrQ29kZWNzW2ldLCAmY2ZnLCAxKSk7
CiAKLSAgICBFWFBFQ1RfRVEoVlBYX0NPREVDX09LLCB2cHhfY29kZWNfZW5jX2NvbmZpZ19kZWZh
dWx0KGlmYWNlLCAmY2ZnLCAwKSk7Ci0gICAgRVhQRUNUX0VRKFZQWF9DT0RFQ19PSywgdnB4X2Nv
ZGVjX2VuY19pbml0KCZlbmMsIGlmYWNlLCAmY2ZnLCAwKSk7CisgICAgRVhQRUNUX0VRKFZQWF9D
T0RFQ19PSywgdnB4X2NvZGVjX2VuY19jb25maWdfZGVmYXVsdChrQ29kZWNzW2ldLCAmY2ZnLCAw
KSk7CisgICAgRVhQRUNUX0VRKFZQWF9DT0RFQ19PSywgdnB4X2NvZGVjX2VuY19pbml0KCZlbmMs
IGtDb2RlY3NbaV0sICZjZmcsIDApKTsKICAgICBFWFBFQ1RfRVEoVlBYX0NPREVDX09LLCB2cHhf
Y29kZWNfZW5jb2RlKCZlbmMsIG51bGxwdHIsIDAsIDAsIDAsIDApKTsKIAogICAgIEVYUEVDVF9F
UShWUFhfQ09ERUNfT0ssIHZweF9jb2RlY19kZXN0cm95KCZlbmMpKTsKQEAgLTEyMiw2MiArMTA4
LDYgQEAgVEVTVChFbmNvZGVBUEksIEltYWdlU2l6ZVNldHRpbmcpIHsKIAogICB2cHhfY29kZWNf
ZGVzdHJveSgmZW5jKTsKIH0KLQotLy8gVmVyaWZpZXMgdGhlIGZpeCBmb3IgYSBmbG9hdC1jYXN0
LW92ZXJmbG93IGluIHZwOF9jaGFuZ2VfY29uZmlnKCkuCi0vLwotLy8gQ2F1c2VzIGNwaS0+ZnJh
bWVyYXRlIHRvIGJlY29tZSB0aGUgbGFyZ2VzdCBwb3NzaWJsZSB2YWx1ZSAoMTAsMDAwLDAwMCkg
aW4KLS8vIFZQOCBieSBzZXR0aW5nIGNmZy5nX3RpbWViYXNlIHRvIDEvMTAwMDAwMDAgYW5kIHBh
c3NpbmcgYSBkdXJhdGlvbiBvZiAxIHRvCi0vLyB2cHhfY29kZWNfZW5jb2RlKCkuCi1URVNUKEVu
Y29kZUFQSSwgSHVnZUZyYW1lcmF0ZVZwOCkgewotICB2cHhfY29kZWNfaWZhY2VfdCAqY29uc3Qg
aWZhY2UgPSB2cHhfY29kZWNfdnA4X2N4KCk7Ci0gIHZweF9jb2RlY19lbmNfY2ZnX3QgY2ZnOwot
ICBBU1NFUlRfRVEodnB4X2NvZGVjX2VuY19jb25maWdfZGVmYXVsdChpZmFjZSwgJmNmZywgMCks
IFZQWF9DT0RFQ19PSyk7Ci0gIGNmZy5nX3cgPSAyNzE7Ci0gIGNmZy5nX2ggPSAxMDgwOwotICBj
ZmcuZ190aW1lYmFzZS5udW0gPSAxOwotICAvLyBMYXJnZXN0IHZhbHVlIChWUDgncyBUSUNLU19Q
RVJfU0VDKSBzdWNoIHRoYXQgZnJhbWUgZHVyYXRpb24gaXMgbm9uemVybyAoMQotICAvLyB0aWNr
KS4KLSAgY2ZnLmdfdGltZWJhc2UuZGVuID0gMTAwMDAwMDA7Ci0gIGNmZy5nX3Bhc3MgPSBWUFhf
UkNfT05FX1BBU1M7Ci0gIGNmZy5nX2xhZ19pbl9mcmFtZXMgPSAwOwotICBjZmcucmNfZW5kX3Vz
YWdlID0gVlBYX0NCUjsKLQotICB2cHhfY29kZWNfY3R4X3QgZW5jOwotICAvLyBCZWZvcmUgd2Ug
ZW5jb2RlIHRoZSBmaXJzdCBmcmFtZSwgY3BpLT5mcmFtZXJhdGUgaXMgc2V0IHRvIGEgZ3Vlc3Mg
KHRoZQotICAvLyByZWNpcHJvY2FsIG9mIGNmZy5nX3RpbWViYXNlKS4gSWYgdGhpcyBndWVzcyBk
b2Vzbid0IHNlZW0gcmVhc29uYWJsZQotICAvLyAoPiAxODApLCBjcGktPmZyYW1lcmF0ZSBpcyBz
ZXQgdG8gMzAuCi0gIEFTU0VSVF9FUSh2cHhfY29kZWNfZW5jX2luaXQoJmVuYywgaWZhY2UsICZj
ZmcsIDApLCBWUFhfQ09ERUNfT0spOwotCi0gIEFTU0VSVF9FUSh2cHhfY29kZWNfY29udHJvbCgm
ZW5jLCBWUDhFX1NFVF9DUFVVU0VELCAtMTIpLCBWUFhfQ09ERUNfT0spOwotCi0gIHZweF9pbWFn
ZV90ICpjb25zdCBpbWFnZSA9Ci0gICAgICB2cHhfaW1nX2FsbG9jKG51bGxwdHIsIFZQWF9JTUdf
Rk1UX0k0MjAsIGNmZy5nX3csIGNmZy5nX2gsIDEpOwotICBBU1NFUlRfTkUoaW1hZ2UsIG51bGxw
dHIpOwotCi0gIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgaW1hZ2UtPmRfaDsgKytpKSB7
Ci0gICAgbWVtc2V0KGltYWdlLT5wbGFuZXNbMF0gKyBpICogaW1hZ2UtPnN0cmlkZVswXSwgMTI4
LCBpbWFnZS0+ZF93KTsKLSAgfQotICBjb25zdCB1bnNpZ25lZCBpbnQgdXZfaCA9IChpbWFnZS0+
ZF9oICsgMSkgLyAyOwotICBjb25zdCB1bnNpZ25lZCBpbnQgdXZfdyA9IChpbWFnZS0+ZF93ICsg
MSkgLyAyOwotICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHV2X2g7ICsraSkgewotICAg
IG1lbXNldChpbWFnZS0+cGxhbmVzWzFdICsgaSAqIGltYWdlLT5zdHJpZGVbMV0sIDEyOCwgdXZf
dyk7Ci0gICAgbWVtc2V0KGltYWdlLT5wbGFuZXNbMl0gKyBpICogaW1hZ2UtPnN0cmlkZVsyXSwg
MTI4LCB1dl93KTsKLSAgfQotCi0gIC8vIEVuY29kZSBhIGZyYW1lLgotICBjb25zdCB1bnNpZ25l
ZCBsb25nIGRlYWRsaW5lID0gVlBYX0RMX1JFQUxUSU1FOwotICAvLyBVcCB0byB0aGlzIHBvaW50
IGNwaS0+ZnJhbWVyYXRlIGlzIDMwLiBOb3cgcGFzcyBhIGR1cmF0aW9uIG9mIG9ubHkgMS4gVGhp
cwotICAvLyBjYXVzZXMgY3BpLT5mcmFtZXJhdGUgdG8gYmVjb21lIDEwLDAwMCwwMDAuCi0gIEFT
U0VSVF9FUSh2cHhfY29kZWNfZW5jb2RlKCZlbmMsIGltYWdlLCAwLCAxLCAwLCBkZWFkbGluZSks
IFZQWF9DT0RFQ19PSyk7Ci0KLSAgLy8gQ2hhbmdlIHRvIHRoZSBzYW1lIGNvbmZpZy4gU2luY2Ug
Y3BpLT5mcmFtZXJhdGUgaXMgbm93IGh1Z2UsIHdoZW4gaXQgaXMKLSAgLy8gdXNlZCB0byBjYWxj
dWxhdGUgcmF3X3RhcmdldF9yYXRlIChiaXQgcmF0ZSBvZiB1bmNvbXByZXNzZWQgZnJhbWVzKSwg
dGhlCi0gIC8vIHJlc3VsdCBpcyBsaWtlbHkgdG8gb3ZlcmZsb3cgYW4gdW5zaWduZWQgaW50Lgot
ICBBU1NFUlRfRVEodnB4X2NvZGVjX2VuY19jb25maWdfc2V0KCZlbmMsICZjZmcpLCBWUFhfQ09E
RUNfT0spOwotCi0gIHZweF9pbWdfZnJlZShpbWFnZSk7Ci0gIEFTU0VSVF9FUSh2cHhfY29kZWNf
ZGVzdHJveSgmZW5jKSwgVlBYX0NPREVDX09LKTsKLX0KICNlbmRpZgogCiAvLyBTZXQgdXAgMiBz
cGF0aWFsIHN0cmVhbXMgd2l0aCAyIHRlbXBvcmFsIGxheWVycyBwZXIgc3RyZWFtLCBhbmQgZ2Vu
ZXJhdGUKQEAgLTE4NSw2ICsxMTUsMTQgQEAgVEVTVChFbmNvZGVBUEksIEh1Z2VGcmFtZXJhdGVW
cDgpIHsKIC8vICh0c190YXJnZXRfYml0cmF0ZVtdKSB0byAwIGZvciBib3RoIGxheWVycy4gVGhp
cyBzaG91bGQgZmFpbCBpbmRlcGVuZGVudCBvZgogLy8gQ09ORklHX01VTFRJX1JFU19FTkNPRElO
Ry4KIFRFU1QoRW5jb2RlQVBJLCBNdWx0aVJlc0VuY29kZSkgeworICBzdGF0aWMgY29uc3QgdnB4
X2NvZGVjX2lmYWNlX3QgKmtDb2RlY3NbXSA9IHsKKyNpZiBDT05GSUdfVlA4X0VOQ09ERVIKKyAg
ICAmdnB4X2NvZGVjX3ZwOF9jeF9hbGdvLAorI2VuZGlmCisjaWYgQ09ORklHX1ZQOV9FTkNPREVS
CisgICAgJnZweF9jb2RlY192cDlfY3hfYWxnbywKKyNlbmRpZgorICB9OwogICBjb25zdCBpbnQg
d2lkdGggPSAxMjgwOwogICBjb25zdCBpbnQgaGVpZ2h0ID0gNzIwOwogICBjb25zdCBpbnQgd2lk
dGhfZG93biA9IHdpZHRoIC8gMjsKQEAgLTE5Miw3ICsxMzAsOCBAQCBURVNUKEVuY29kZUFQSSwg
TXVsdGlSZXNFbmNvZGUpIHsKICAgY29uc3QgaW50IHRhcmdldF9iaXRyYXRlID0gMTAwMDsKICAg
Y29uc3QgaW50IGZyYW1lcmF0ZSA9IDMwOwogCi0gIGZvciAoY29uc3QgYXV0byAqaWZhY2UgOiBr
Q29kZWNJZmFjZXMpIHsKKyAgZm9yIChpbnQgYyA9IDA7IGMgPCBORUxFTUVOVFMoa0NvZGVjcyk7
ICsrYykgeworICAgIGNvbnN0IHZweF9jb2RlY19pZmFjZV90ICpjb25zdCBpZmFjZSA9IGtDb2Rl
Y3NbY107CiAgICAgdnB4X2NvZGVjX2N0eF90IGVuY1syXTsKICAgICB2cHhfY29kZWNfZW5jX2Nm
Z190IGNmZ1syXTsKICAgICB2cHhfcmF0aW9uYWxfdCBkc2ZbMl0gPSB7IHsgMiwgMSB9LCB7IDIs
IDEgfSB9OwpAQCAtMjQ1LDcgKzE4NCwxMCBAQCBURVNUKEVuY29kZUFQSSwgTXVsdGlSZXNFbmNv
ZGUpIHsKICAgICB9CiAKICAgICAvLyBWUDkgc2hvdWxkIHJlcG9ydCBpbmNhcGFibGUsIFZQOCBp
bnZhbGlkIGZvciBhbGwgY29uZmlndXJhdGlvbnMuCi0gICAgRVhQRUNUX0VRKElzVlA5KGlmYWNl
KSA/IFZQWF9DT0RFQ19JTkNBUEFCTEUgOiBWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTSwKKyAgICBj
b25zdCBjaGFyIGtWUDlOYW1lW10gPSAiV2ViTSBQcm9qZWN0IFZQOSI7CisgICAgY29uc3QgYm9v
bCBpc192cDkgPSBzdHJuY21wKGtWUDlOYW1lLCB2cHhfY29kZWNfaWZhY2VfbmFtZShpZmFjZSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihrVlA5TmFtZSkgLSAxKSA9
PSAwOworICAgIEVYUEVDVF9FUShpc192cDkgPyBWUFhfQ09ERUNfSU5DQVBBQkxFIDogVlBYX0NP
REVDX0lOVkFMSURfUEFSQU0sCiAgICAgICAgICAgICAgIHZweF9jb2RlY19lbmNfaW5pdF9tdWx0
aSgmZW5jWzBdLCBpZmFjZSwgJmNmZ1swXSwgMiwgMCwgJmRzZlswXSkpOwogCiAgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCAyOyBpKyspIHsKQEAgLTI1NCwzNzMgKzE5Niw0IEBAIFRFU1QoRW5jb2Rl
QVBJLCBNdWx0aVJlc0VuY29kZSkgewogICB9CiB9CiAKLVRFU1QoRW5jb2RlQVBJLCBTZXRSb2kp
IHsKLSAgc3RhdGljIHN0cnVjdCB7Ci0gICAgY29uc3QgdnB4X2NvZGVjX2lmYWNlX3QgKmlmYWNl
OwotICAgIGludCBjdHJsX2lkOwotICB9IGtDb2RlY3NbXSA9IHsKLSNpZiBDT05GSUdfVlA4X0VO
Q09ERVIKLSAgICB7ICZ2cHhfY29kZWNfdnA4X2N4X2FsZ28sIFZQOEVfU0VUX1JPSV9NQVAgfSwK
LSNlbmRpZgotI2lmIENPTkZJR19WUDlfRU5DT0RFUgotICAgIHsgJnZweF9jb2RlY192cDlfY3hf
YWxnbywgVlA5RV9TRVRfUk9JX01BUCB9LAotI2VuZGlmCi0gIH07Ci0gIGNvbnN0ZXhwciBpbnQg
a1dpZHRoID0gNjQ7Ci0gIGNvbnN0ZXhwciBpbnQga0hlaWdodCA9IDY0OwotCi0gIGZvciAoY29u
c3QgYXV0byAmY29kZWMgOiBrQ29kZWNzKSB7Ci0gICAgU0NPUEVEX1RSQUNFKHZweF9jb2RlY19p
ZmFjZV9uYW1lKGNvZGVjLmlmYWNlKSk7Ci0gICAgdnB4X2NvZGVjX2N0eF90IGVuYzsKLSAgICB2
cHhfY29kZWNfZW5jX2NmZ190IGNmZzsKLQotICAgIEVYUEVDVF9FUSh2cHhfY29kZWNfZW5jX2Nv
bmZpZ19kZWZhdWx0KGNvZGVjLmlmYWNlLCAmY2ZnLCAwKSwgVlBYX0NPREVDX09LKTsKLSAgICBj
ZmcuZ193ID0ga1dpZHRoOwotICAgIGNmZy5nX2ggPSBrSGVpZ2h0OwotICAgIEVYUEVDVF9FUSh2
cHhfY29kZWNfZW5jX2luaXQoJmVuYywgY29kZWMuaWZhY2UsICZjZmcsIDApLCBWUFhfQ09ERUNf
T0spOwotCi0gICAgdnB4X3JvaV9tYXBfdCByb2kgPSB7fTsKLSAgICB1aW50OF90IHJvaV9tYXBb
a1dpZHRoICoga0hlaWdodF0gPSB7fTsKLSAgICBpZiAoSXNWUDkoY29kZWMuaWZhY2UpKSB7Ci0g
ICAgICByb2kucm93cyA9IChjZmcuZ193ICsgNykgPj4gMzsKLSAgICAgIHJvaS5jb2xzID0gKGNm
Zy5nX2ggKyA3KSA+PiAzOwotICAgIH0gZWxzZSB7Ci0gICAgICByb2kucm93cyA9IChjZmcuZ193
ICsgMTUpID4+IDQ7Ci0gICAgICByb2kuY29scyA9IChjZmcuZ19oICsgMTUpID4+IDQ7Ci0gICAg
fQotICAgIEVYUEVDVF9FUSh2cHhfY29kZWNfY29udHJvbF8oJmVuYywgY29kZWMuY3RybF9pZCwg
JnJvaSksIFZQWF9DT0RFQ19PSyk7Ci0KLSAgICByb2kucm9pX21hcCA9IHJvaV9tYXA7Ci0gICAg
Ly8gVlA4IG9ubHkuIFRoaXMgdmFsdWUgaXNuJ3QgcmFuZ2UgY2hlY2tlZC4KLSAgICByb2kuc3Rh
dGljX3RocmVzaG9sZFsxXSA9IDEwMDA7Ci0gICAgcm9pLnN0YXRpY190aHJlc2hvbGRbMl0gPSBV
SU5UX01BWCAvIDIgKyAxOwotICAgIHJvaS5zdGF0aWNfdGhyZXNob2xkWzNdID0gVUlOVF9NQVg7
Ci0KLSAgICBmb3IgKGNvbnN0IGF1dG8gZGVsdGEgOiB7IC02MywgLTEsIDAsIDEsIDYzIH0pIHsK
LSAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgKytpKSB7Ci0gICAgICAgIHJvaS5kZWx0YV9x
W2ldID0gZGVsdGE7Ci0gICAgICAgIHJvaS5kZWx0YV9sZltpXSA9IGRlbHRhOwotICAgICAgICAv
LyBWUDkgb25seS4KLSAgICAgICAgcm9pLnNraXBbaV0gXj0gMTsKLSAgICAgICAgcm9pLnJlZl9m
cmFtZVtpXSA9IChyb2kucmVmX2ZyYW1lW2ldICsgMSkgJSA0OwotICAgICAgICBFWFBFQ1RfRVEo
dnB4X2NvZGVjX2NvbnRyb2xfKCZlbmMsIGNvZGVjLmN0cmxfaWQsICZyb2kpLCBWUFhfQ09ERUNf
T0spOwotICAgICAgfQotICAgIH0KLQotICAgIHZweF9jb2RlY19lcnJfdCBleHBlY3RlZF9lcnJv
cjsKLSAgICBmb3IgKGNvbnN0IGF1dG8gZGVsdGEgOiB7IC02NCwgNjQsIElOVF9NSU4sIElOVF9N
QVggfSkgewotICAgICAgZXhwZWN0ZWRfZXJyb3IgPSBWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTTsK
LSAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgKytpKSB7Ci0gICAgICAgIHJvaS5kZWx0YV9x
W2ldID0gZGVsdGE7Ci0gICAgICAgIC8vIFRoZSBtYXggc2VnbWVudCBjb3VudCBmb3IgVlA4IGlz
IDQsIHRoZSByZW1haW5kZXIgb2YgdGhlIGVudHJpZXMgYXJlCi0gICAgICAgIC8vIGlnbm9yZWQu
Ci0gICAgICAgIGlmIChpID49IDQgJiYgIUlzVlA5KGNvZGVjLmlmYWNlKSkgZXhwZWN0ZWRfZXJy
b3IgPSBWUFhfQ09ERUNfT0s7Ci0KLSAgICAgICAgRVhQRUNUX0VRKHZweF9jb2RlY19jb250cm9s
XygmZW5jLCBjb2RlYy5jdHJsX2lkLCAmcm9pKSwgZXhwZWN0ZWRfZXJyb3IpCi0gICAgICAgICAg
ICA8PCAiZGVsdGFfcVsiIDw8IGkgPDwgIl06ICIgPDwgZGVsdGE7Ci0gICAgICAgIHJvaS5kZWx0
YV9xW2ldID0gMDsKLQotICAgICAgICByb2kuZGVsdGFfbGZbaV0gPSBkZWx0YTsKLSAgICAgICAg
RVhQRUNUX0VRKHZweF9jb2RlY19jb250cm9sXygmZW5jLCBjb2RlYy5jdHJsX2lkLCAmcm9pKSwg
ZXhwZWN0ZWRfZXJyb3IpCi0gICAgICAgICAgICA8PCAiZGVsdGFfbGZbIiA8PCBpIDw8ICJdOiAi
IDw8IGRlbHRhOwotICAgICAgICByb2kuZGVsdGFfbGZbaV0gPSAwOwotICAgICAgfQotICAgIH0K
LQotICAgIC8vIFZQOCBzaG91bGQgaWdub3JlIHNraXBbXSBhbmQgcmVmX2ZyYW1lW10gdmFsdWVz
LgotICAgIGV4cGVjdGVkX2Vycm9yID0KLSAgICAgICAgSXNWUDkoY29kZWMuaWZhY2UpID8gVlBY
X0NPREVDX0lOVkFMSURfUEFSQU0gOiBWUFhfQ09ERUNfT0s7Ci0gICAgZm9yIChjb25zdCBhdXRv
IHNraXAgOiB7IC0yLCAyLCBJTlRfTUlOLCBJTlRfTUFYIH0pIHsKLSAgICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgODsgKytpKSB7Ci0gICAgICAgIHJvaS5za2lwW2ldID0gc2tpcDsKLSAgICAgICAg
RVhQRUNUX0VRKHZweF9jb2RlY19jb250cm9sXygmZW5jLCBjb2RlYy5jdHJsX2lkLCAmcm9pKSwg
ZXhwZWN0ZWRfZXJyb3IpCi0gICAgICAgICAgICA8PCAic2tpcFsiIDw8IGkgPDwgIl06ICIgPDwg
c2tpcDsKLSAgICAgICAgcm9pLnNraXBbaV0gPSAwOwotICAgICAgfQotICAgIH0KLQotICAgIC8v
IFZQOSBhbGxvd3MgbmVnYXRpdmUgdmFsdWVzIHRvIGJlIHVzZWQgdG8gZGlzYWJsZSBzZWdtZW50
YXRpb24uCi0gICAgZm9yIChpbnQgcmVmX2ZyYW1lID0gLTM7IHJlZl9mcmFtZSA8IDA7ICsrcmVm
X2ZyYW1lKSB7Ci0gICAgICBmb3IgKGludCBpID0gMDsgaSA8IDg7ICsraSkgewotICAgICAgICBy
b2kucmVmX2ZyYW1lW2ldID0gcmVmX2ZyYW1lOwotICAgICAgICBFWFBFQ1RfRVEodnB4X2NvZGVj
X2NvbnRyb2xfKCZlbmMsIGNvZGVjLmN0cmxfaWQsICZyb2kpLCBWUFhfQ09ERUNfT0spCi0gICAg
ICAgICAgICA8PCAicmVmX2ZyYW1lWyIgPDwgaSA8PCAiXTogIiA8PCByZWZfZnJhbWU7Ci0gICAg
ICAgIHJvaS5yZWZfZnJhbWVbaV0gPSAwOwotICAgICAgfQotICAgIH0KLQotICAgIGZvciAoY29u
c3QgYXV0byByZWZfZnJhbWUgOiB7IDQsIElOVF9NSU4sIElOVF9NQVggfSkgewotICAgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCA4OyArK2kpIHsKLSAgICAgICAgcm9pLnJlZl9mcmFtZVtpXSA9IHJl
Zl9mcmFtZTsKLSAgICAgICAgRVhQRUNUX0VRKHZweF9jb2RlY19jb250cm9sXygmZW5jLCBjb2Rl
Yy5jdHJsX2lkLCAmcm9pKSwgZXhwZWN0ZWRfZXJyb3IpCi0gICAgICAgICAgICA8PCAicmVmX2Zy
YW1lWyIgPDwgaSA8PCAiXTogIiA8PCByZWZfZnJhbWU7Ci0gICAgICAgIHJvaS5yZWZfZnJhbWVb
aV0gPSAwOwotICAgICAgfQotICAgIH0KLQotICAgIEVYUEVDVF9FUSh2cHhfY29kZWNfZGVzdHJv
eSgmZW5jKSwgVlBYX0NPREVDX09LKTsKLSAgfQotfQotCi12b2lkIEluaXRDb2RlYyhjb25zdCB2
cHhfY29kZWNfaWZhY2VfdCAmaWZhY2UsIGludCB3aWR0aCwgaW50IGhlaWdodCwKLSAgICAgICAg
ICAgICAgIHZweF9jb2RlY19jdHhfdCAqZW5jLCB2cHhfY29kZWNfZW5jX2NmZ190ICpjZmcpIHsK
LSAgY2ZnLT5nX3cgPSB3aWR0aDsKLSAgY2ZnLT5nX2ggPSBoZWlnaHQ7Ci0gIGNmZy0+Z19sYWdf
aW5fZnJhbWVzID0gMDsKLSAgY2ZnLT5nX3Bhc3MgPSBWUFhfUkNfT05FX1BBU1M7Ci0gIEFTU0VS
VF9FUSh2cHhfY29kZWNfZW5jX2luaXQoZW5jLCAmaWZhY2UsIGNmZywgMCksIFZQWF9DT0RFQ19P
Syk7Ci0KLSAgQVNTRVJUX0VRKHZweF9jb2RlY19jb250cm9sXyhlbmMsIFZQOEVfU0VUX0NQVVVT
RUQsIDIpLCBWUFhfQ09ERUNfT0spOwotfQotCi0vLyBFbmNvZGVzIDEgZnJhbWUgb2Ygc2l6ZSB8
Y2ZnLmdfd3wgeCB8Y2ZnLmdfaHwgc2V0dGluZyB8ZW5jfCdzIGNvbmZpZ3VyYXRpb24KLS8vIHRv
IHxjZmd8Lgotdm9pZCBFbmNvZGVXaXRoQ29uZmlnKGNvbnN0IHZweF9jb2RlY19lbmNfY2ZnX3Qg
JmNmZywgdnB4X2NvZGVjX2N0eF90ICplbmMpIHsKLSAgbGlidnB4X3Rlc3Q6OkR1bW15VmlkZW9T
b3VyY2UgdmlkZW87Ci0gIHZpZGVvLlNldFNpemUoY2ZnLmdfdywgY2ZnLmdfaCk7Ci0gIHZpZGVv
LkJlZ2luKCk7Ci0gIEVYUEVDVF9FUSh2cHhfY29kZWNfZW5jX2NvbmZpZ19zZXQoZW5jLCAmY2Zn
KSwgVlBYX0NPREVDX09LKQotICAgICAgPDwgdnB4X2NvZGVjX2Vycm9yX2RldGFpbChlbmMpOwot
Ci0gIEVYUEVDVF9FUSh2cHhfY29kZWNfZW5jb2RlKGVuYywgdmlkZW8uaW1nKCksIHZpZGVvLnB0
cygpLCB2aWRlby5kdXJhdGlvbigpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKmZs
YWdzPSovMCwgVlBYX0RMX0dPT0RfUVVBTElUWSksCi0gICAgICAgICAgICBWUFhfQ09ERUNfT0sp
Ci0gICAgICA8PCB2cHhfY29kZWNfZXJyb3JfZGV0YWlsKGVuYyk7Ci19Ci0KLVRFU1QoRW5jb2Rl
QVBJLCBDb25maWdDaGFuZ2VUaHJlYWRDb3VudCkgewotICBjb25zdGV4cHIgaW50IGtXaWR0aCA9
IDE5MjA7Ci0gIGNvbnN0ZXhwciBpbnQga0hlaWdodCA9IDEwODA7Ci0KLSAgZm9yIChjb25zdCBh
dXRvICppZmFjZSA6IGtDb2RlY0lmYWNlcykgewotICAgIFNDT1BFRF9UUkFDRSh2cHhfY29kZWNf
aWZhY2VfbmFtZShpZmFjZSkpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKElzVlA5KGlmYWNl
KSA/IDIgOiAxKTsgKytpKSB7Ci0gICAgICB2cHhfY29kZWNfZW5jX2NmZ190IGNmZyA9IHt9Owot
ICAgICAgc3RydWN0IEVuY29kZXIgewotICAgICAgICB+RW5jb2RlcigpIHsgRVhQRUNUX0VRKHZw
eF9jb2RlY19kZXN0cm95KCZjdHgpLCBWUFhfQ09ERUNfT0spOyB9Ci0gICAgICAgIHZweF9jb2Rl
Y19jdHhfdCBjdHggPSB7fTsKLSAgICAgIH0gZW5jOwotCi0gICAgICBBU1NFUlRfRVEodnB4X2Nv
ZGVjX2VuY19jb25maWdfZGVmYXVsdChpZmFjZSwgJmNmZywgMCksIFZQWF9DT0RFQ19PSyk7Ci0g
ICAgICBFWFBFQ1RfTk9fRkFUQUxfRkFJTFVSRSgKLSAgICAgICAgICBJbml0Q29kZWMoKmlmYWNl
LCBrV2lkdGgsIGtIZWlnaHQsICZlbmMuY3R4LCAmY2ZnKSk7Ci0gICAgICBpZiAoSXNWUDkoaWZh
Y2UpKSB7Ci0gICAgICAgIEVYUEVDVF9FUSh2cHhfY29kZWNfY29udHJvbF8oJmVuYy5jdHgsIFZQ
OUVfU0VUX1RJTEVfQ09MVU1OUywgNiksCi0gICAgICAgICAgICAgICAgICBWUFhfQ09ERUNfT0sp
OwotICAgICAgICBFWFBFQ1RfRVEodnB4X2NvZGVjX2NvbnRyb2xfKCZlbmMuY3R4LCBWUDlFX1NF
VF9ST1dfTVQsIGkpLAotICAgICAgICAgICAgICAgICAgVlBYX0NPREVDX09LKTsKLSAgICAgIH0K
LQotICAgICAgZm9yIChjb25zdCBhdXRvIHRocmVhZHMgOiB7IDEsIDQsIDgsIDYsIDIsIDEgfSkg
ewotICAgICAgICBjZmcuZ190aHJlYWRzID0gdGhyZWFkczsKLSAgICAgICAgRVhQRUNUX05PX0ZB
VEFMX0ZBSUxVUkUoRW5jb2RlV2l0aENvbmZpZyhjZmcsICZlbmMuY3R4KSkKLSAgICAgICAgICAg
IDw8ICJpdGVyYXRpb246ICIgPDwgaSA8PCAiIHRocmVhZHM6ICIgPDwgdGhyZWFkczsKLSAgICAg
IH0KLSAgICB9Ci0gIH0KLX0KLQotVEVTVChFbmNvZGVBUEksIENvbmZpZ1Jlc2l6ZUNoYW5nZVRo
cmVhZENvdW50KSB7Ci0gIGNvbnN0ZXhwciBpbnQga0luaXRXaWR0aCA9IDEwMjQ7Ci0gIGNvbnN0
ZXhwciBpbnQga0luaXRIZWlnaHQgPSAxMDI0OwotCi0gIGZvciAoY29uc3QgYXV0byAqaWZhY2Ug
OiBrQ29kZWNJZmFjZXMpIHsKLSAgICBTQ09QRURfVFJBQ0UodnB4X2NvZGVjX2lmYWNlX25hbWUo
aWZhY2UpKTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IChJc1ZQOShpZmFjZSkgPyAyIDogMSk7
ICsraSkgewotICAgICAgdnB4X2NvZGVjX2VuY19jZmdfdCBjZmcgPSB7fTsKLSAgICAgIHN0cnVj
dCBFbmNvZGVyIHsKLSAgICAgICAgfkVuY29kZXIoKSB7IEVYUEVDVF9FUSh2cHhfY29kZWNfZGVz
dHJveSgmY3R4KSwgVlBYX0NPREVDX09LKTsgfQotICAgICAgICB2cHhfY29kZWNfY3R4X3QgY3R4
ID0ge307Ci0gICAgICB9IGVuYzsKLQotICAgICAgQVNTRVJUX0VRKHZweF9jb2RlY19lbmNfY29u
ZmlnX2RlZmF1bHQoaWZhY2UsICZjZmcsIDApLCBWUFhfQ09ERUNfT0spOwotICAgICAgLy8gU3Rh
cnQgaW4gdGhyZWFkZWQgbW9kZSB0byBlbnN1cmUgcmVzb2x1dGlvbiBhbmQgdGhyZWFkIHJlbGF0
ZWQKLSAgICAgIC8vIGFsbG9jYXRpb25zIGFyZSB1cGRhdGVkIGNvcnJlY3RseSBhY3Jvc3MgY2hh
bmdlcyBpbiByZXNvbHV0aW9uIGFuZAotICAgICAgLy8gdGhyZWFkIGNvdW50cy4gU2VlIGh0dHBz
Oi8vY3JidWcuY29tLzE0ODY0NDEuCi0gICAgICBjZmcuZ190aHJlYWRzID0gNDsKLSAgICAgIEVY
UEVDVF9OT19GQVRBTF9GQUlMVVJFKAotICAgICAgICAgIEluaXRDb2RlYygqaWZhY2UsIGtJbml0
V2lkdGgsIGtJbml0SGVpZ2h0LCAmZW5jLmN0eCwgJmNmZykpOwotICAgICAgaWYgKElzVlA5KGlm
YWNlKSkgewotICAgICAgICBFWFBFQ1RfRVEodnB4X2NvZGVjX2NvbnRyb2xfKCZlbmMuY3R4LCBW
UDlFX1NFVF9USUxFX0NPTFVNTlMsIDYpLAotICAgICAgICAgICAgICAgICAgVlBYX0NPREVDX09L
KTsKLSAgICAgICAgRVhQRUNUX0VRKHZweF9jb2RlY19jb250cm9sXygmZW5jLmN0eCwgVlA5RV9T
RVRfUk9XX01ULCBpKSwKLSAgICAgICAgICAgICAgICAgIFZQWF9DT0RFQ19PSyk7Ci0gICAgICB9
Ci0KLSAgICAgIGNmZy5nX3cgPSAxMDAwOwotICAgICAgY2ZnLmdfaCA9IDYwODsKLSAgICAgIEVY
UEVDVF9FUSh2cHhfY29kZWNfZW5jX2NvbmZpZ19zZXQoJmVuYy5jdHgsICZjZmcpLCBWUFhfQ09E
RUNfT0spCi0gICAgICAgICAgPDwgdnB4X2NvZGVjX2Vycm9yX2RldGFpbCgmZW5jLmN0eCk7Ci0K
LSAgICAgIGNmZy5nX3cgPSAxMDAwOwotICAgICAgY2ZnLmdfaCA9IDcyMDsKLQotICAgICAgZm9y
IChjb25zdCBhdXRvIHRocmVhZHMgOiB7IDEsIDQsIDgsIDYsIDIsIDEgfSkgewotICAgICAgICBj
ZmcuZ190aHJlYWRzID0gdGhyZWFkczsKLSAgICAgICAgRVhQRUNUX05PX0ZBVEFMX0ZBSUxVUkUo
RW5jb2RlV2l0aENvbmZpZyhjZmcsICZlbmMuY3R4KSkKLSAgICAgICAgICAgIDw8ICJpdGVyYXRp
b246ICIgPDwgaSA8PCAiIHRocmVhZHM6ICIgPDwgdGhyZWFkczsKLSAgICAgIH0KLSAgICB9Ci0g
IH0KLX0KLQotI2lmIENPTkZJR19WUDlfRU5DT0RFUgotI2lmIFZQWF9BUkNIX1g4Nl82NCB8fCBW
UFhfQVJDSF9BQVJDSDY0Ci1URVNUKEVuY29kZUFQSSwgQ29uZmlnTGFyZ2VUYXJnZXRCaXRyYXRl
VnA5KSB7Ci0gIGNvbnN0ZXhwciBpbnQga1dpZHRoID0gMTYzODM7Ci0gIGNvbnN0ZXhwciBpbnQg
a0hlaWdodCA9IDE2MzgzOwotICBjb25zdGV4cHIgYXV0byAqaWZhY2UgPSAmdnB4X2NvZGVjX3Zw
OV9jeF9hbGdvOwotICBTQ09QRURfVFJBQ0UodnB4X2NvZGVjX2lmYWNlX25hbWUoaWZhY2UpKTsK
LSAgdnB4X2NvZGVjX2VuY19jZmdfdCBjZmcgPSB7fTsKLSAgc3RydWN0IEVuY29kZXIgewotICAg
IH5FbmNvZGVyKCkgeyBFWFBFQ1RfRVEodnB4X2NvZGVjX2Rlc3Ryb3koJmN0eCksIFZQWF9DT0RF
Q19PSyk7IH0KLSAgICB2cHhfY29kZWNfY3R4X3QgY3R4ID0ge307Ci0gIH0gZW5jOwotCi0gIEFT
U0VSVF9FUSh2cHhfY29kZWNfZW5jX2NvbmZpZ19kZWZhdWx0KGlmYWNlLCAmY2ZnLCAwKSwgVlBY
X0NPREVDX09LKTsKLSAgLy8gVGhlIGZvbGxvd2luZyBzZXR0aW5nIHdpbGwgY2F1c2UgYXZnX2Zy
YW1lX2JhbmR3aWR0aCBpbiByYXRlIGNvbnRyb2wgdG8gYmUKLSAgLy8gbGFyZ2VyIHRoYW4gSU5U
X01BWAotICBjZmcucmNfdGFyZ2V0X2JpdHJhdGUgPSBJTlRfTUFYOwotICBjZmcuZ190aW1lYmFz
ZS5kZW4gPSAxOwotICBjZmcuZ190aW1lYmFzZS5udW0gPSAxMDsKLSAgRVhQRUNUX05PX0ZBVEFM
X0ZBSUxVUkUoSW5pdENvZGVjKCppZmFjZSwga1dpZHRoLCBrSGVpZ2h0LCAmZW5jLmN0eCwgJmNm
ZykpOwotICBFWFBFQ1RfTk9fRkFUQUxfRkFJTFVSRShFbmNvZGVXaXRoQ29uZmlnKGNmZywgJmVu
Yy5jdHgpKQotICAgICAgPDwgInRhcmdldCBiaXRyYXRlOiAiIDw8IGNmZy5yY190YXJnZXRfYml0
cmF0ZSA8PCAiIGZyYW1lcmF0ZTogIgotICAgICAgPDwgc3RhdGljX2Nhc3Q8ZG91YmxlPihjZmcu
Z190aW1lYmFzZS5kZW4pIC8gY2ZnLmdfdGltZWJhc2UubnVtOwotfQotI2VuZGlmICAvLyBWUFhf
QVJDSF9YODZfNjQgfHwgVlBYX0FSQ0hfQUFSQ0g2NAotCi1jbGFzcyBFbmNvZGVBcGlHZXRUcGxT
dGF0c1Rlc3QKLSAgICA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpFbmNvZGVyVGVzdCwKLSAgICAg
IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08Y29uc3QgbGlidnB4X3Rlc3Q6OkNvZGVj
RmFjdG9yeSAqPiB7Ci0gcHVibGljOgotICBFbmNvZGVBcGlHZXRUcGxTdGF0c1Rlc3QoKSA6IEVu
Y29kZXJUZXN0KEdldFBhcmFtKCkpLCB0ZXN0X2lvXyhmYWxzZSkge30KLSAgfkVuY29kZUFwaUdl
dFRwbFN0YXRzVGVzdCgpIG92ZXJyaWRlID0gZGVmYXVsdDsKLQotIHByb3RlY3RlZDoKLSAgdm9p
ZCBTZXRVcCgpIG92ZXJyaWRlIHsKLSAgICBJbml0aWFsaXplQ29uZmlnKCk7Ci0gICAgU2V0TW9k
ZSg6OmxpYnZweF90ZXN0OjprVHdvUGFzc0dvb2QpOwotICB9Ci0KLSAgdm9pZCBQcmVFbmNvZGVG
cmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7
Ci0gICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsKLSAgICAgIGVuY29kZXItPkNvbnRyb2wo
VlA5RV9TRVRfVFBMLCAxKTsKLSAgICB9Ci0gIH0KLQotICB2cHhfY29kZWNfZXJyX3QgQWxsb2Nh
dGVUcGxMaXN0KFZweFRwbEdvcFN0YXRzICpkYXRhKSB7Ci0gICAgLy8gQWxsb2NhdGUgTUFYX0FS
Rl9HT1BfU0laRSAoNTApICogc2l6ZW9mKFZweFRwbEZyYW1lU3RhdHMpIHRoYXQgd2lsbCBiZQot
ICAgIC8vIGZpbGxlZCBieSBWUDlFX0dFVF9UUExfU1RBVFMuCi0gICAgLy8gTUFYX0FSRl9HT1Bf
U0laRSBpcyB1c2VkIGhlcmUgYmVjYXVzZSB0aGUgdGVzdCBkb2Vzbid0IGtub3cgdGhlIHNpemUg
b2YKLSAgICAvLyBlYWNoIEdPUCBiZWZvcmUgZ2V0dGluZyBUUEwgc3RhdHMgZnJvbSB0aGUgZW5j
b2Rlci4KLSAgICBkYXRhLT5zaXplID0gNTA7Ci0gICAgZGF0YS0+ZnJhbWVfc3RhdHNfbGlzdCA9
Ci0gICAgICAgIHN0YXRpY19jYXN0PFZweFRwbEZyYW1lU3RhdHMgKj4oY2FsbG9jKDUwLCBzaXpl
b2YoVnB4VHBsRnJhbWVTdGF0cykpKTsKLSAgICBpZiAoZGF0YS0+ZnJhbWVfc3RhdHNfbGlzdCA9
PSBudWxscHRyKSByZXR1cm4gVlBYX0NPREVDX01FTV9FUlJPUjsKLSAgICByZXR1cm4gVlBYX0NP
REVDX09LOwotICB9Ci0KLSAgdm9pZCBDb21wYXJlVHBsR29wU3RhdHMoY29uc3QgVnB4VHBsR29w
U3RhdHMgJnJlZl9nb3Bfc3RhdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZw
eFRwbEdvcFN0YXRzICZ0ZXN0X2dvcF9zdGF0cykgewotICAgIEFTU0VSVF9FUShyZWZfZ29wX3N0
YXRzLnNpemUsIHRlc3RfZ29wX3N0YXRzLnNpemUpOwotICAgIGZvciAoaW50IGZyYW1lID0gMDsg
ZnJhbWUgPCByZWZfZ29wX3N0YXRzLnNpemU7IGZyYW1lKyspIHsKLSAgICAgIGNvbnN0IFZweFRw
bEZyYW1lU3RhdHMgJnJlZl9mcmFtZV9zdGF0cyA9Ci0gICAgICAgICAgcmVmX2dvcF9zdGF0cy5m
cmFtZV9zdGF0c19saXN0W2ZyYW1lXTsKLSAgICAgIGNvbnN0IFZweFRwbEZyYW1lU3RhdHMgJnRl
c3RfZnJhbWVfc3RhdHMgPQotICAgICAgICAgIHRlc3RfZ29wX3N0YXRzLmZyYW1lX3N0YXRzX2xp
c3RbZnJhbWVdOwotICAgICAgQVNTRVJUX0VRKHJlZl9mcmFtZV9zdGF0cy5udW1fYmxvY2tzLCB0
ZXN0X2ZyYW1lX3N0YXRzLm51bV9ibG9ja3MpOwotICAgICAgQVNTRVJUX0VRKHJlZl9mcmFtZV9z
dGF0cy5mcmFtZV93aWR0aCwgdGVzdF9mcmFtZV9zdGF0cy5mcmFtZV93aWR0aCk7Ci0gICAgICBB
U1NFUlRfRVEocmVmX2ZyYW1lX3N0YXRzLmZyYW1lX2hlaWdodCwgdGVzdF9mcmFtZV9zdGF0cy5m
cmFtZV9oZWlnaHQpOwotICAgICAgZm9yIChpbnQgYmxvY2sgPSAwOyBibG9jayA8IHJlZl9mcmFt
ZV9zdGF0cy5udW1fYmxvY2tzOyBibG9jaysrKSB7Ci0gICAgICAgIGNvbnN0IFZweFRwbEJsb2Nr
U3RhdHMgJnJlZl9ibG9ja19zdGF0cyA9Ci0gICAgICAgICAgICByZWZfZnJhbWVfc3RhdHMuYmxv
Y2tfc3RhdHNfbGlzdFtibG9ja107Ci0gICAgICAgIGNvbnN0IFZweFRwbEJsb2NrU3RhdHMgJnRl
c3RfYmxvY2tfc3RhdHMgPQotICAgICAgICAgICAgdGVzdF9mcmFtZV9zdGF0cy5ibG9ja19zdGF0
c19saXN0W2Jsb2NrXTsKLSAgICAgICAgQVNTRVJUX0VRKHJlZl9ibG9ja19zdGF0cy5pbnRlcl9j
b3N0LCB0ZXN0X2Jsb2NrX3N0YXRzLmludGVyX2Nvc3QpOwotICAgICAgICBBU1NFUlRfRVEocmVm
X2Jsb2NrX3N0YXRzLmludHJhX2Nvc3QsIHRlc3RfYmxvY2tfc3RhdHMuaW50cmFfY29zdCk7Ci0g
ICAgICAgIEFTU0VSVF9FUShyZWZfYmxvY2tfc3RhdHMubXZfYywgdGVzdF9ibG9ja19zdGF0cy5t
dl9jKTsKLSAgICAgICAgQVNTRVJUX0VRKHJlZl9ibG9ja19zdGF0cy5tdl9yLCB0ZXN0X2Jsb2Nr
X3N0YXRzLm12X3IpOwotICAgICAgICBBU1NFUlRfRVEocmVmX2Jsb2NrX3N0YXRzLnJlY3JmX2Rp
c3QsIHRlc3RfYmxvY2tfc3RhdHMucmVjcmZfZGlzdCk7Ci0gICAgICAgIEFTU0VSVF9FUShyZWZf
YmxvY2tfc3RhdHMucmVjcmZfcmF0ZSwgdGVzdF9ibG9ja19zdGF0cy5yZWNyZl9yYXRlKTsKLSAg
ICAgICAgQVNTRVJUX0VRKHJlZl9ibG9ja19zdGF0cy5yZWZfZnJhbWVfaW5kZXgsCi0gICAgICAg
ICAgICAgICAgICB0ZXN0X2Jsb2NrX3N0YXRzLnJlZl9mcmFtZV9pbmRleCk7Ci0gICAgICB9Ci0g
ICAgfQotICB9Ci0KLSAgdm9pZCBQb3N0RW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OkVu
Y29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKLSAgICA6OmxpYnZweF90ZXN0OjpDeERhdGFJdGVy
YXRvciBpdGVyID0gZW5jb2Rlci0+R2V0Q3hEYXRhKCk7Ci0gICAgd2hpbGUgKGNvbnN0IHZweF9j
b2RlY19jeF9wa3RfdCAqcGt0ID0gaXRlci5OZXh0KCkpIHsKLSAgICAgIHN3aXRjaCAocGt0LT5r
aW5kKSB7Ci0gICAgICAgIGNhc2UgVlBYX0NPREVDX0NYX0ZSQU1FX1BLVDogewotICAgICAgICAg
IFZweFRwbEdvcFN0YXRzIHRwbF9zdGF0czsKLSAgICAgICAgICBFWFBFQ1RfRVEoQWxsb2NhdGVU
cGxMaXN0KCZ0cGxfc3RhdHMpLCBWUFhfQ09ERUNfT0spOwotICAgICAgICAgIGVuY29kZXItPkNv
bnRyb2woVlA5RV9HRVRfVFBMX1NUQVRTLCAmdHBsX3N0YXRzKTsKLSAgICAgICAgICBib29sIHN0
YXRzX25vdF9hbGxfemVybyA9IGZhbHNlOwotICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
dHBsX3N0YXRzLnNpemU7IGkrKykgewotICAgICAgICAgICAgVnB4VHBsRnJhbWVTdGF0cyAqZnJh
bWVfc3RhdHNfbGlzdCA9IHRwbF9zdGF0cy5mcmFtZV9zdGF0c19saXN0OwotICAgICAgICAgICAg
aWYgKGZyYW1lX3N0YXRzX2xpc3RbaV0uZnJhbWVfd2lkdGggIT0gMCkgewotICAgICAgICAgICAg
ICBBU1NFUlRfRVEoZnJhbWVfc3RhdHNfbGlzdFtpXS5mcmFtZV93aWR0aCwgd2lkdGhfKTsKLSAg
ICAgICAgICAgICAgQVNTRVJUX0VRKGZyYW1lX3N0YXRzX2xpc3RbaV0uZnJhbWVfaGVpZ2h0LCBo
ZWlnaHRfKTsKLSAgICAgICAgICAgICAgQVNTRVJUX0dUKGZyYW1lX3N0YXRzX2xpc3RbaV0ubnVt
X2Jsb2NrcywgMCk7Ci0gICAgICAgICAgICAgIEFTU0VSVF9ORShmcmFtZV9zdGF0c19saXN0W2ld
LmJsb2NrX3N0YXRzX2xpc3QsIG51bGxwdHIpOwotICAgICAgICAgICAgICBzdGF0c19ub3RfYWxs
X3plcm8gPSB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAgICAgICBBU1NF
UlRfVFJVRShzdGF0c19ub3RfYWxsX3plcm8pOwotICAgICAgICAgIGlmICh0ZXN0X2lvXyAmJiB0
cGxfc3RhdHMuc2l6ZSA+IDApIHsKLSAgICAgICAgICAgIGxpYnZweF90ZXN0OjpUZW1wT3V0Rmls
ZSAqdGVtcF9vdXRfZmlsZSA9Ci0gICAgICAgICAgICAgICAgbmV3IChzdGQ6Om5vdGhyb3cpIGxp
YnZweF90ZXN0OjpUZW1wT3V0RmlsZSgidysiKTsKLSAgICAgICAgICAgIEFTU0VSVF9ORSh0ZW1w
X291dF9maWxlLCBudWxscHRyKTsKLSAgICAgICAgICAgIEFTU0VSVF9ORSh0ZW1wX291dF9maWxl
LT5maWxlKCksIG51bGxwdHIpOwotICAgICAgICAgICAgdnB4X3dyaXRlX3RwbF9nb3Bfc3RhdHMo
dGVtcF9vdXRfZmlsZS0+ZmlsZSgpLCAmdHBsX3N0YXRzKTsKLSAgICAgICAgICAgIHJld2luZCh0
ZW1wX291dF9maWxlLT5maWxlKCkpOwotICAgICAgICAgICAgVnB4VHBsR29wU3RhdHMgZ29wX3N0
YXRzX2lvOwotICAgICAgICAgICAgQVNTRVJUX0VRKAotICAgICAgICAgICAgICAgIHZweF9yZWFk
X3RwbF9nb3Bfc3RhdHModGVtcF9vdXRfZmlsZS0+ZmlsZSgpLCAmZ29wX3N0YXRzX2lvKSwKLSAg
ICAgICAgICAgICAgICBWUFhfQ09ERUNfT0spOwotICAgICAgICAgICAgQ29tcGFyZVRwbEdvcFN0
YXRzKGdvcF9zdGF0c19pbywgdHBsX3N0YXRzKTsKLSAgICAgICAgICAgIHZweF9mcmVlX3RwbF9n
b3Bfc3RhdHMoJmdvcF9zdGF0c19pbyk7Ci0gICAgICAgICAgICBkZWxldGUgdGVtcF9vdXRfZmls
ZTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZnJlZSh0cGxfc3RhdHMuZnJhbWVfc3RhdHNfbGlz
dCk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgZGVmYXVsdDogYnJlYWs7
Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSAgaW50IHdpZHRoXzsKLSAgaW50IGhlaWdodF87Ci0g
IGJvb2wgdGVzdF9pb187Ci19OwotCi1URVNUX1AoRW5jb2RlQXBpR2V0VHBsU3RhdHNUZXN0LCBH
ZXRUcGxTdGF0cykgewotICBjZmdfLmdfbGFnX2luX2ZyYW1lcyA9IDI1OwotICB3aWR0aF8gPSAz
NTI7Ci0gIGhlaWdodF8gPSAyODg7Ci0gIDo6bGlidnB4X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2
aWRlbygiaGFudHJvX2NvbGxhZ2VfdzM1MmgyODgueXV2Iiwgd2lkdGhfLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0XywgMzAsIDEsIDAsIDUwKTsKLSAgQVNT
RVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKLX0KLQotVEVTVF9QKEVuY29k
ZUFwaUdldFRwbFN0YXRzVGVzdCwgR2V0VHBsU3RhdHNJTykgewotICBjZmdfLmdfbGFnX2luX2Zy
YW1lcyA9IDI1OwotICB3aWR0aF8gPSAzNTI7Ci0gIGhlaWdodF8gPSAyODg7Ci0gIHRlc3RfaW9f
ID0gdHJ1ZTsKLSAgOjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZpZGVvKCJoYW50cm9f
Y29sbGFnZV93MzUyaDI4OC55dXYiLCB3aWR0aF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWlnaHRfLCAzMCwgMSwgMCwgNTApOwotICBBU1NFUlRfTk9fRkFUQUxf
RkFJTFVSRShSdW5Mb29wKCZ2aWRlbykpOwotfQotCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1Ao
Ci0gICAgVlA5LCBFbmNvZGVBcGlHZXRUcGxTdGF0c1Rlc3QsCi0gICAgOjp0ZXN0aW5nOjpWYWx1
ZXMoCi0gICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IGxpYnZweF90ZXN0OjpDb2RlY0ZhY3Rvcnkg
Kj4oJmxpYnZweF90ZXN0OjprVlA5KSkpOwotI2VuZGlmICAvLyBDT05GSUdfVlA5X0VOQ09ERVIK
LQogfSAgLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZW5jb2RlX3Bl
cmZfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9lbmNvZGVfcGVyZl90ZXN0LmNjCmluZGV4IDE3
MWZmOGVlY2EzNy4uMTQyYTU1OTUyYjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZW5j
b2RlX3BlcmZfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZW5jb2RlX3BlcmZfdGVzdC5j
YwpAQCAtNjEsOSArNjEsOSBAQCBjbGFzcyBWUDlFbmNvZGVQZXJmVGVzdAogICAgICAgOiBFbmNv
ZGVyVGVzdChHRVRfUEFSQU0oMCkpLCBtaW5fcHNucl8oa01heFBzbnIpLCBuZnJhbWVzXygwKSwK
ICAgICAgICAgZW5jb2RpbmdfbW9kZV8oR0VUX1BBUkFNKDEpKSwgc3BlZWRfKDApLCB0aHJlYWRz
XygxKSB7fQogCi0gIH5WUDlFbmNvZGVQZXJmVGVzdCgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAg
dmlydHVhbCB+VlA5RW5jb2RlUGVyZlRlc3QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlk
ZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAg
ICAgU2V0TW9kZShlbmNvZGluZ19tb2RlXyk7CiAKQEAgLTgyLDggKzgyLDggQEAgY2xhc3MgVlA5
RW5jb2RlUGVyZlRlc3QKICAgICBjZmdfLmdfdGhyZWFkcyA9IHRocmVhZHNfOwogICB9CiAKLSAg
dm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVv
LAotICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNv
ZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2
cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBpZiAodmlkZW8t
PmZyYW1lKCkgPT0gMCkgewogICAgICAgY29uc3QgaW50IGxvZzJfdGlsZV9jb2x1bW5zID0gMzsK
ICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgc3BlZWRfKTsKQEAgLTkz
LDE5ICs5MywxOSBAQCBjbGFzcyBWUDlFbmNvZGVQZXJmVGVzdAogICAgIH0KICAgfQogCi0gIHZv
aWQgQmVnaW5QYXNzSG9vayh1bnNpZ25lZCBpbnQgLypwYXNzKi8pIG92ZXJyaWRlIHsKKyAgdmly
dHVhbCB2b2lkIEJlZ2luUGFzc0hvb2sodW5zaWduZWQgaW50IC8qcGFzcyovKSB7CiAgICAgbWlu
X3BzbnJfID0ga01heFBzbnI7CiAgICAgbmZyYW1lc18gPSAwOwogICB9CiAKLSAgdm9pZCBQU05S
UGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgb3ZlcnJpZGUgeworICB2aXJ0
dWFsIHZvaWQgUFNOUlBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIHsKICAg
ICBpZiAocGt0LT5kYXRhLnBzbnIucHNuclswXSA8IG1pbl9wc25yXykgewogICAgICAgbWluX3Bz
bnJfID0gcGt0LT5kYXRhLnBzbnIucHNuclswXTsKICAgICB9CiAgIH0KIAogICAvLyBmb3IgcGVy
Zm9ybWFuY2UgcmVhc29ucyBkb24ndCBkZWNvZGUKLSAgYm9vbCBEb0RlY29kZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgIHZpcnR1YWwgYm9vbCBEb0RlY29kZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgZG91YmxlIG1pbl9wc25yKCkgY29uc3QgeyByZXR1cm4g
bWluX3BzbnJfOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9lbmNvZGVfdGVzdF9k
cml2ZXIuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZW5jb2RlX3Rlc3RfZHJpdmVyLmNjCmluZGV4IGQz
ZmVlZWUzNGQ1YS4uMWNlMzllYWVmZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZW5j
b2RlX3Rlc3RfZHJpdmVyLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9lbmNvZGVfdGVzdF9kcml2
ZXIuY2MKQEAgLTUyLDggKzUyLDcgQEAgdm9pZCBFbmNvZGVyOjpJbml0RW5jb2RlcihWaWRlb1Nv
dXJjZSAqdmlkZW8pIHsKICAgfQogfQogCi12b2lkIEVuY29kZXI6OkVuY29kZUZyYW1lKFZpZGVv
U291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnB4X2VuY19m
cmFtZV9mbGFnc190IGZyYW1lX2ZsYWdzKSB7Cit2b2lkIEVuY29kZXI6OkVuY29kZUZyYW1lKFZp
ZGVvU291cmNlICp2aWRlbywgY29uc3QgdW5zaWduZWQgbG9uZyBmcmFtZV9mbGFncykgewogICBp
ZiAodmlkZW8tPmltZygpKSB7CiAgICAgRW5jb2RlRnJhbWVJbnRlcm5hbCgqdmlkZW8sIGZyYW1l
X2ZsYWdzKTsKICAgfSBlbHNlIHsKQEAgLTcxLDcgKzcwLDcgQEAgdm9pZCBFbmNvZGVyOjpFbmNv
ZGVGcmFtZShWaWRlb1NvdXJjZSAqdmlkZW8sCiB9CiAKIHZvaWQgRW5jb2Rlcjo6RW5jb2RlRnJh
bWVJbnRlcm5hbChjb25zdCBWaWRlb1NvdXJjZSAmdmlkZW8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdnB4X2VuY19mcmFtZV9mbGFnc190IGZyYW1lX2ZsYWdzKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBm
cmFtZV9mbGFncykgewogICB2cHhfY29kZWNfZXJyX3QgcmVzOwogICBjb25zdCB2cHhfaW1hZ2Vf
dCAqaW1nID0gdmlkZW8uaW1nKCk7CiAKQEAgLTE3MCw3ICsxNjksNyBAQCB2b2lkIEVuY29kZXJU
ZXN0OjpSdW5Mb29wKFZpZGVvU291cmNlICp2aWRlbykgewogCiAgIEFTU0VSVF9UUlVFKHBhc3Nl
c18gPT0gMSB8fCBwYXNzZXNfID09IDIpOwogICBmb3IgKHVuc2lnbmVkIGludCBwYXNzID0gMDsg
cGFzcyA8IHBhc3Nlc187IHBhc3MrKykgewotICAgIHZweF9jb2RlY19wdHNfdCBsYXN0X3B0cyA9
IDA7CisgICAgbGFzdF9wdHNfID0gMDsKIAogICAgIGlmIChwYXNzZXNfID09IDEpIHsKICAgICAg
IGNmZ18uZ19wYXNzID0gVlBYX1JDX09ORV9QQVNTOwpAQCAtMjI2LDggKzIyNSw4IEBAIHZvaWQg
RW5jb2RlclRlc3Q6OlJ1bkxvb3AoVmlkZW9Tb3VyY2UgKnZpZGVvKSB7CiAKICAgICAgICAgICAg
ICAgaGFzX2R4ZGF0YSA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBBU1NFUlRf
R0UocGt0LT5kYXRhLmZyYW1lLnB0cywgbGFzdF9wdHMpOwotICAgICAgICAgICAgbGFzdF9wdHMg
PSBwa3QtPmRhdGEuZnJhbWUucHRzOworICAgICAgICAgICAgQVNTRVJUX0dFKHBrdC0+ZGF0YS5m
cmFtZS5wdHMsIGxhc3RfcHRzXyk7CisgICAgICAgICAgICBsYXN0X3B0c18gPSBwa3QtPmRhdGEu
ZnJhbWUucHRzOwogICAgICAgICAgICAgRnJhbWVQa3RIb29rKHBrdCk7CiAgICAgICAgICAgICBi
cmVhazsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2VuY29kZV90ZXN0X2RyaXZlci5o
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC90ZXN0L2VuY29kZV90ZXN0X2RyaXZlci5oCmluZGV4IGM3OTc0ODk0Yzcw
MC4uMzhjNjE5NTJlYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZW5jb2RlX3Rlc3Rf
ZHJpdmVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2VuY29kZV90ZXN0X2RyaXZlci5oCkBAIC0x
OSw3ICsxOSw3IEBACiAjaWYgQ09ORklHX1ZQOF9FTkNPREVSIHx8IENPTkZJR19WUDlfRU5DT0RF
UgogI2luY2x1ZGUgInZweC92cDhjeC5oIgogI2VuZGlmCi0jaW5jbHVkZSAidnB4L3ZweF90cGwu
aCIKKyNpbmNsdWRlICJ2cHgvdnB4X2VuY29kZXIuaCIKIAogbmFtZXNwYWNlIGxpYnZweF90ZXN0
IHsKIApAQCAtNDksNyArNDksNyBAQCBlbnVtIFRlc3RNb2RlIHsKIGNsYXNzIEN4RGF0YUl0ZXJh
dG9yIHsKICBwdWJsaWM6CiAgIGV4cGxpY2l0IEN4RGF0YUl0ZXJhdG9yKHZweF9jb2RlY19jdHhf
dCAqZW5jb2RlcikKLSAgICAgIDogZW5jb2Rlcl8oZW5jb2RlciksIGl0ZXJfKG51bGxwdHIpIHt9
CisgICAgICA6IGVuY29kZXJfKGVuY29kZXIpLCBpdGVyXyhOVUxMKSB7fQogCiAgIGNvbnN0IHZw
eF9jb2RlY19jeF9wa3RfdCAqTmV4dCgpIHsKICAgICByZXR1cm4gdnB4X2NvZGVjX2dldF9jeF9k
YXRhKGVuY29kZXJfLCAmaXRlcl8pOwpAQCAtMTAzLDcgKzEwMyw3IEBAIGNsYXNzIEVuY29kZXIg
ewogICB9CiAgIC8vIFRoaXMgaXMgYSB0aGluIHdyYXBwZXIgYXJvdW5kIHZweF9jb2RlY19lbmNv
ZGUoKSwgc28gcmVmZXIgdG8KICAgLy8gdnB4X2VuY29kZXIuaCBmb3IgaXRzIHNlbWFudGljcy4K
LSAgdm9pZCBFbmNvZGVGcmFtZShWaWRlb1NvdXJjZSAqdmlkZW8sIHZweF9lbmNfZnJhbWVfZmxh
Z3NfdCBmcmFtZV9mbGFncyk7CisgIHZvaWQgRW5jb2RlRnJhbWUoVmlkZW9Tb3VyY2UgKnZpZGVv
LCBjb25zdCB1bnNpZ25lZCBsb25nIGZyYW1lX2ZsYWdzKTsKIAogICAvLyBDb252ZW5pZW5jZSB3
cmFwcGVyIGZvciBFbmNvZGVGcmFtZSgpCiAgIHZvaWQgRW5jb2RlRnJhbWUoVmlkZW9Tb3VyY2Ug
KnZpZGVvKSB7IEVuY29kZUZyYW1lKHZpZGVvLCAwKTsgfQpAQCAtMTUzLDExICsxNTMsNiBAQCBj
bGFzcyBFbmNvZGVyIHsKICAgICBjb25zdCB2cHhfY29kZWNfZXJyX3QgcmVzID0gdnB4X2NvZGVj
X2NvbnRyb2xfKCZlbmNvZGVyXywgY3RybF9pZCwgYXJnKTsKICAgICBBU1NFUlRfRVEoVlBYX0NP
REVDX09LLCByZXMpIDw8IEVuY29kZXJFcnJvcigpOwogICB9Ci0KLSAgdm9pZCBDb250cm9sKGlu
dCBjdHJsX2lkLCBWcHhUcGxHb3BTdGF0cyAqYXJnKSB7Ci0gICAgY29uc3QgdnB4X2NvZGVjX2Vy
cl90IHJlcyA9IHZweF9jb2RlY19jb250cm9sXygmZW5jb2Rlcl8sIGN0cmxfaWQsIGFyZyk7Ci0g
ICAgQVNTRVJUX0VRKFZQWF9DT0RFQ19PSywgcmVzKSA8PCBFbmNvZGVyRXJyb3IoKTsKLSAgfQog
I2VuZGlmICAvLyBDT05GSUdfVlA5X0VOQ09ERVIKIAogI2lmIENPTkZJR19WUDhfRU5DT0RFUiB8
fCBDT05GSUdfVlA5X0VOQ09ERVIKQEAgLTE4OSw3ICsxODQsNyBAQCBjbGFzcyBFbmNvZGVyIHsK
IAogICAvLyBFbmNvZGUgYW4gaW1hZ2UKICAgdm9pZCBFbmNvZGVGcmFtZUludGVybmFsKGNvbnN0
IFZpZGVvU291cmNlICZ2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9lbmNf
ZnJhbWVfZmxhZ3NfdCBmcmFtZV9mbGFncyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1bnNpZ25lZCBsb25nIGZyYW1lX2ZsYWdzKTsKIAogICAvLyBGbHVzaCB0aGUgZW5jb2Rl
ciBvbiBFT1MKICAgdm9pZCBGbHVzaCgpOwpAQCAtMjExLDcgKzIwNiw4IEBAIGNsYXNzIEVuY29k
ZXIgewogY2xhc3MgRW5jb2RlclRlc3QgewogIHByb3RlY3RlZDoKICAgZXhwbGljaXQgRW5jb2Rl
clRlc3QoY29uc3QgQ29kZWNGYWN0b3J5ICpjb2RlYykKLSAgICAgIDogY29kZWNfKGNvZGVjKSwg
YWJvcnRfKGZhbHNlKSwgaW5pdF9mbGFnc18oMCksIGZyYW1lX2ZsYWdzXygwKSB7CisgICAgICA6
IGNvZGVjXyhjb2RlYyksIGFib3J0XyhmYWxzZSksIGluaXRfZmxhZ3NfKDApLCBmcmFtZV9mbGFn
c18oMCksCisgICAgICAgIGxhc3RfcHRzXygwKSB7CiAgICAgLy8gRGVmYXVsdCB0byAxIHRocmVh
ZC4KICAgICBjZmdfLmdfdGhyZWFkcyA9IDE7CiAgIH0KQEAgLTI2NCw3ICsyNjAsNyBAQCBjbGFz
cyBFbmNvZGVyVGVzdCB7CiAKICAgY29uc3QgQ29kZWNGYWN0b3J5ICpjb2RlY187CiAgIC8vIEhv
b2sgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gZGVjb2RlIGZyYW1lIGFmdGVyIGVuY29kaW5nCi0g
IHZpcnR1YWwgYm9vbCBEb0RlY29kZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgdmlydHVh
bCBib29sIERvRGVjb2RlKCkgY29uc3QgeyByZXR1cm4gMTsgfQogCiAgIC8vIEhvb2sgdG8gaGFu
ZGxlIGVuY29kZS9kZWNvZGUgbWlzbWF0Y2gKICAgdmlydHVhbCB2b2lkIE1pc21hdGNoSG9vayhj
b25zdCB2cHhfaW1hZ2VfdCAqaW1nMSwgY29uc3QgdnB4X2ltYWdlX3QgKmltZzIpOwpAQCAtMjk0
LDcgKzI5MCw4IEBAIGNsYXNzIEVuY29kZXJUZXN0IHsKICAgdW5zaWduZWQgbG9uZyBkZWFkbGlu
ZV87CiAgIFR3b3Bhc3NTdGF0c1N0b3JlIHN0YXRzXzsKICAgdW5zaWduZWQgbG9uZyBpbml0X2Zs
YWdzXzsKLSAgdnB4X2VuY19mcmFtZV9mbGFnc190IGZyYW1lX2ZsYWdzXzsKKyAgdW5zaWduZWQg
bG9uZyBmcmFtZV9mbGFnc187CisgIHZweF9jb2RlY19wdHNfdCBsYXN0X3B0c187CiB9OwogCiB9
ICAvLyBuYW1lc3BhY2UgbGlidnB4X3Rlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9l
cnJvcl9yZXNpbGllbmNlX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZXJyb3JfcmVzaWxpZW5j
ZV90ZXN0LmNjCmluZGV4IDZiMDE5YjJiZmI3Zi4uNDVhMzI3ZWMyZmQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvZXJyb3JfcmVzaWxpZW5jZV90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9lcnJvcl9yZXNpbGllbmNlX3Rlc3QuY2MKQEAgLTMwLDcgKzMwLDcgQEAgY2xhc3MgRXJy
b3JSZXNpbGllbmNlVGVzdExhcmdlCiAgICAgUmVzZXQoKTsKICAgfQogCi0gIH5FcnJvclJlc2ls
aWVuY2VUZXN0TGFyZ2UoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkVycm9yUmVz
aWxpZW5jZVRlc3RMYXJnZSgpIHt9CiAKICAgdm9pZCBSZXNldCgpIHsKICAgICBlcnJvcl9uZnJh
bWVzXyA9IDA7CkBAIC0zOCwxOSArMzgsMTkgQEAgY2xhc3MgRXJyb3JSZXNpbGllbmNlVGVzdExh
cmdlCiAgICAgcGF0dGVybl9zd2l0Y2hfID0gMDsKICAgfQogCi0gIHZvaWQgU2V0VXAoKSBvdmVy
cmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7
CiAgICAgU2V0TW9kZShlbmNvZGluZ19tb2RlXyk7CiAgIH0KIAotICB2b2lkIEJlZ2luUGFzc0hv
b2sodW5zaWduZWQgaW50IC8qcGFzcyovKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBCZWdp
blBhc3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgewogICAgIHBzbnJfID0gMC4wOwogICAg
IG5mcmFtZXNfID0gMDsKICAgICBtaXNtYXRjaF9wc25yXyA9IDAuMDsKICAgICBtaXNtYXRjaF9u
ZnJhbWVzXyA9IDA7CiAgIH0KIAotICB2b2lkIFBTTlJQa3RIb29rKGNvbnN0IHZweF9jb2RlY19j
eF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQU05SUGt0SG9vayhjb25z
dCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAgIHBzbnJfICs9IHBrdC0+ZGF0YS5wc25y
LnBzbnJbMF07CiAgICAgbmZyYW1lc18rKzsKICAgfQpAQCAtOTAsNyArOTAsNyBAQCBjbGFzcyBF
cnJvclJlc2lsaWVuY2VUZXN0TGFyZ2UKICAgICByZXR1cm4gZnJhbWVfZmxhZ3M7CiAgIH0KIAot
ICB2b2lkIFByZUVuY29kZUZyYW1lSG9vayhsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVv
KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2sobGlidnB4X3Rl
c3Q6OlZpZGVvU291cmNlICp2aWRlbykgewogICAgIGZyYW1lX2ZsYWdzXyAmPQogICAgICAgICB+
KFZQOF9FRkxBR19OT19VUERfTEFTVCB8IFZQOF9FRkxBR19OT19VUERfR0YgfCBWUDhfRUZMQUdf
Tk9fVVBEX0FSRik7CiAgICAgLy8gRm9yIHRlbXBvcmFsIGxheWVyIGNhc2UuCkBAIC0xMjksMjEg
KzEyOSwyMSBAQCBjbGFzcyBFcnJvclJlc2lsaWVuY2VUZXN0TGFyZ2UKICAgICByZXR1cm4gMC4w
OwogICB9CiAKLSAgYm9vbCBEb0RlY29kZSgpIGNvbnN0IG92ZXJyaWRlIHsKKyAgdmlydHVhbCBi
b29sIERvRGVjb2RlKCkgY29uc3QgewogICAgIGlmIChlcnJvcl9uZnJhbWVzXyA+IDAgJiYKICAg
ICAgICAgKGNmZ18uZ19wYXNzID09IFZQWF9SQ19MQVNUX1BBU1MgfHwgY2ZnXy5nX3Bhc3MgPT0g
VlBYX1JDX09ORV9QQVNTKSkgewogICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBl
cnJvcl9uZnJhbWVzXzsgKytpKSB7CiAgICAgICAgIGlmIChlcnJvcl9mcmFtZXNfW2ldID09IG5m
cmFtZXNfIC0gMSkgewogICAgICAgICAgIHN0ZDo6Y291dCA8PCAiICAgICAgICAgICAgIFNraXBw
aW5nIGRlY29kaW5nIGZyYW1lOiAiCiAgICAgICAgICAgICAgICAgICAgIDw8IGVycm9yX2ZyYW1l
c19baV0gPDwgIlxuIjsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgcmV0dXJu
IDA7CiAgICAgICAgIH0KICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0
dXJuIDE7CiAgIH0KIAotICB2b2lkIE1pc21hdGNoSG9vayhjb25zdCB2cHhfaW1hZ2VfdCAqaW1n
MSwgY29uc3QgdnB4X2ltYWdlX3QgKmltZzIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIE1p
c21hdGNoSG9vayhjb25zdCB2cHhfaW1hZ2VfdCAqaW1nMSwgY29uc3QgdnB4X2ltYWdlX3QgKmlt
ZzIpIHsKICAgICBkb3VibGUgbWlzbWF0Y2hfcHNuciA9IGNvbXB1dGVfcHNucihpbWcxLCBpbWcy
KTsKICAgICBtaXNtYXRjaF9wc25yXyArPSBtaXNtYXRjaF9wc25yOwogICAgICsrbWlzbWF0Y2hf
bmZyYW1lc187CkBAIC0zODEsNyArMzgxLDcgQEAgY2xhc3MgRXJyb3JSZXNpbGllbmNlVGVzdExh
cmdlQ29kZWNDb250cm9scwogICAgIFJlc2V0KCk7CiAgIH0KIAotICB+RXJyb3JSZXNpbGllbmNl
VGVzdExhcmdlQ29kZWNDb250cm9scygpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+
RXJyb3JSZXNpbGllbmNlVGVzdExhcmdlQ29kZWNDb250cm9scygpIHt9CiAKICAgdm9pZCBSZXNl
dCgpIHsKICAgICBsYXN0X3B0c18gPSAwOwpAQCAtMzkzLDcgKzM5Myw3IEBAIGNsYXNzIEVycm9y
UmVzaWxpZW5jZVRlc3RMYXJnZUNvZGVjQ29udHJvbHMKICAgICBkdXJhdGlvbl8gPSAwLjA7CiAg
IH0KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7
CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUoZW5jb2RpbmdfbW9kZV8pOwog
ICB9CkBAIC00NjAsOCArNDYwLDggQEAgY2xhc3MgRXJyb3JSZXNpbGllbmNlVGVzdExhcmdlQ29k
ZWNDb250cm9scwogICAgIHJldHVybiBsYXllcl9pZDsKICAgfQogCi0gIHZvaWQgUHJlRW5jb2Rl
RnJhbWVIb29rKGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7Cisg
IHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2sobGlidnB4X3Rlc3Q6OlZpZGVvU291cmNl
ICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6
RW5jb2RlciAqZW5jb2RlcikgewogICAgIGlmIChjZmdfLnRzX251bWJlcl9sYXllcnMgPiAxKSB7
CiAgICAgICBpbnQgbGF5ZXJfaWQgPSBTZXRMYXllcklkKHZpZGVvLT5mcmFtZSgpLCBjZmdfLnRz
X251bWJlcl9sYXllcnMpOwogICAgICAgaW50IGZyYW1lX2ZsYWdzID0gU2V0RnJhbWVGbGFncyh2
aWRlby0+ZnJhbWUoKSwgY2ZnXy50c19udW1iZXJfbGF5ZXJzKTsKQEAgLTQ3Niw3ICs0NzYsNyBA
QCBjbGFzcyBFcnJvclJlc2lsaWVuY2VUZXN0TGFyZ2VDb2RlY0NvbnRyb2xzCiAgICAgfQogICB9
CiAKLSAgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92
ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hf
cGt0X3QgKnBrdCkgewogICAgIC8vIFRpbWUgc2luY2UgbGFzdCB0aW1lc3RhbXAgPSBkdXJhdGlv
bi4KICAgICB2cHhfY29kZWNfcHRzX3QgZHVyYXRpb24gPSBwa3QtPmRhdGEuZnJhbWUucHRzIC0g
bGFzdF9wdHNfOwogICAgIGlmIChkdXJhdGlvbiA+IDEpIHsKQEAgLTQ5Niw3ICs0OTYsNyBAQCBj
bGFzcyBFcnJvclJlc2lsaWVuY2VUZXN0TGFyZ2VDb2RlY0NvbnRyb2xzCiAgICAgKyt0b3RfZnJh
bWVfbnVtYmVyXzsKICAgfQogCi0gIHZvaWQgRW5kUGFzc0hvb2soKSBvdmVycmlkZSB7CisgIHZp
cnR1YWwgdm9pZCBFbmRQYXNzSG9vayh2b2lkKSB7CiAgICAgZHVyYXRpb25fID0gKGxhc3RfcHRz
XyArIDEpICogdGltZWJhc2VfOwogICAgIGlmIChjZmdfLnRzX251bWJlcl9sYXllcnMgPiAxKSB7
CiAgICAgICBmb3IgKGludCBsYXllciA9IDA7IGxheWVyIDwgc3RhdGljX2Nhc3Q8aW50PihjZmdf
LnRzX251bWJlcl9sYXllcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2V4dGVybmFs
X2ZyYW1lX2J1ZmZlcl90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2V4dGVybmFsX2ZyYW1lX2J1
ZmZlcl90ZXN0LmNjCmluZGV4IDdiOWE4MzZmYmM3Ni4uM2JkNGExYzQ3MzNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvZXh0ZXJuYWxfZnJhbWVfYnVmZmVyX3Rlc3QuY2MKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L2V4dGVybmFsX2ZyYW1lX2J1ZmZlcl90ZXN0LmNjCkBAIC0yMTAsMTIgKzIx
MCwxMyBAQCBjbGFzcyBFeHRlcm5hbEZyYW1lQnVmZmVyTUQ1VGVzdAogICAgICAgOiBEZWNvZGVy
VGVzdChHRVRfUEFSQU0oOjpsaWJ2cHhfdGVzdDo6a0NvZGVjRmFjdG9yeVBhcmFtKSksCiAgICAg
ICAgIG1kNV9maWxlXyhudWxscHRyKSwgbnVtX2J1ZmZlcnNfKDApIHt9CiAKLSAgfkV4dGVybmFs
RnJhbWVCdWZmZXJNRDVUZXN0KCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIH5FeHRlcm5hbEZyYW1l
QnVmZmVyTUQ1VGVzdCgpIHsKICAgICBpZiAobWQ1X2ZpbGVfICE9IG51bGxwdHIpIGZjbG9zZSht
ZDVfZmlsZV8pOwogICB9CiAKLSAgdm9pZCBQcmVEZWNvZGVGcmFtZUhvb2soY29uc3QgbGlidnB4
X3Rlc3Q6OkNvbXByZXNzZWRWaWRlb1NvdXJjZSAmdmlkZW8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnZweF90ZXN0OjpEZWNvZGVyICpkZWNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1
YWwgdm9pZCBQcmVEZWNvZGVGcmFtZUhvb2soCisgICAgICBjb25zdCBsaWJ2cHhfdGVzdDo6Q29t
cHJlc3NlZFZpZGVvU291cmNlICZ2aWRlbywKKyAgICAgIGxpYnZweF90ZXN0OjpEZWNvZGVyICpk
ZWNvZGVyKSB7CiAgICAgaWYgKG51bV9idWZmZXJzXyA+IDAgJiYgdmlkZW8uZnJhbWVfbnVtYmVy
KCkgPT0gMCkgewogICAgICAgLy8gSGF2ZSBsaWJ2cHggdXNlIGZyYW1lIGJ1ZmZlcnMgd2UgY3Jl
YXRlLgogICAgICAgQVNTRVJUX1RSVUUoZmJfbGlzdF8uQ3JlYXRlQnVmZmVyTGlzdChudW1fYnVm
ZmVyc18pKTsKQEAgLTIzMSw4ICsyMzIsOCBAQCBjbGFzcyBFeHRlcm5hbEZyYW1lQnVmZmVyTUQ1
VGVzdAogICAgICAgICA8PCAiTWQ1IGZpbGUgb3BlbiBmYWlsZWQuIEZpbGVuYW1lOiAiIDw8IG1k
NV9maWxlX25hbWVfOwogICB9CiAKLSAgdm9pZCBEZWNvbXByZXNzZWRGcmFtZUhvb2soY29uc3Qg
dnB4X2ltYWdlX3QgJmltZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5z
aWduZWQgaW50IGZyYW1lX251bWJlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgRGVjb21w
cmVzc2VkRnJhbWVIb29rKGNvbnN0IHZweF9pbWFnZV90ICZpbWcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IGZyYW1lX251bWJlcikgewog
ICAgIEFTU0VSVF9ORShtZDVfZmlsZV8sIG51bGxwdHIpOwogICAgIGNoYXIgZXhwZWN0ZWRfbWQ1
WzMzXTsKICAgICBjaGFyIGp1bmtbMTI4XTsKQEAgLTI4OCw3ICsyODksNyBAQCBjbGFzcyBFeHRl
cm5hbEZyYW1lQnVmZmVyVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QgewogICBFeHRlcm5h
bEZyYW1lQnVmZmVyVGVzdCgpCiAgICAgICA6IHZpZGVvXyhudWxscHRyKSwgZGVjb2Rlcl8obnVs
bHB0ciksIG51bV9idWZmZXJzXygwKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7Cisg
IHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICB2aWRlb18gPSBuZXcgbGlidnB4X3Rlc3Q6Oldl
Yk1WaWRlb1NvdXJjZShrVlA5VGVzdEZpbGUpOwogICAgIEFTU0VSVF9ORSh2aWRlb18sIG51bGxw
dHIpOwogICAgIHZpZGVvXy0+SW5pdCgpOwpAQCAtMjk5LDcgKzMwMCw3IEBAIGNsYXNzIEV4dGVy
bmFsRnJhbWVCdWZmZXJUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdCB7CiAgICAgQVNTRVJU
X05FKGRlY29kZXJfLCBudWxscHRyKTsKICAgfQogCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlk
ZSB7CisgIHZpcnR1YWwgdm9pZCBUZWFyRG93bigpIHsKICAgICBkZWxldGUgZGVjb2Rlcl87CiAg
ICAgZGVjb2Rlcl8gPSBudWxscHRyOwogICAgIGRlbGV0ZSB2aWRlb187CkBAIC0zNTQsNyArMzU1
LDcgQEAgY2xhc3MgRXh0ZXJuYWxGcmFtZUJ1ZmZlclRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpU
ZXN0IHsKIAogY2xhc3MgRXh0ZXJuYWxGcmFtZUJ1ZmZlck5vblJlZlRlc3QgOiBwdWJsaWMgRXh0
ZXJuYWxGcmFtZUJ1ZmZlclRlc3QgewogIHByb3RlY3RlZDoKLSAgdm9pZCBTZXRVcCgpIG92ZXJy
aWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIHZpZGVvXyA9IG5ldyBsaWJ2cHhf
dGVzdDo6V2ViTVZpZGVvU291cmNlKGtWUDlOb25SZWZUZXN0RmlsZSk7CiAgICAgQVNTRVJUX05F
KHZpZGVvXywgbnVsbHB0cik7CiAgICAgdmlkZW9fLT5Jbml0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvZmRjdDh4OF90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2ZkY3Q4eDhfdGVz
dC5jYwppbmRleCAzY2RmOTA5ZDQ2M2UuLjA4MjI2NjZlNzA2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L2ZkY3Q4eDhfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZmRjdDh4OF90
ZXN0LmNjCkBAIC0xMzIsMTggKzEzMiw5IEBAIHZvaWQgaWRjdDh4OF82NF9hZGRfMTJfc3NlMihj
b25zdCB0cmFuX2xvd190ICppbiwgdWludDhfdCAqb3V0LCBpbnQgc3RyaWRlKSB7CiAjZW5kaWYg
IC8vIEhBVkVfU1NFMgogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCi0vLyBW
aXN1YWwgU3R1ZGlvIDIwMjIgKGNsLmV4ZSkgdGFyZ2V0aW5nIEFBcmNoNjQgd2l0aCBvcHRpbWl6
YXRpb25zIGVuYWJsZWQKLS8vIHByb2R1Y2VzIGludmFsaWQgY29kZSBpbiBSdW5FeHRyZW1hbENo
ZWNrKCkgYW5kIFJ1bkludkFjY3VyYWN5Q2hlY2soKS4KLS8vIFNlZToKLS8vIGh0dHBzOi8vZGV2
ZWxvcGVyY29tbXVuaXR5LnZpc3VhbHN0dWRpby5jb20vdC8xNzcwLXByZXZpZXctMTotTWlzb3B0
aW1pemF0aW9uLWZvci1BUi8xMDM2OTc4NgotLy8gVE9ETyhqemVybik6IGNoZWNrIHRoZSBjb21w
aWxlciB2ZXJzaW9uIGFmdGVyIGEgZml4IGZvciB0aGUgaXNzdWUgaXMKLS8vIHJlbGVhc2VkLgot
I2lmIGRlZmluZWQoX01TQ19WRVIpICYmIGRlZmluZWQoX01fQVJNNjQpICYmICFkZWZpbmVkKF9f
Y2xhbmdfXykKLSNwcmFnbWEgb3B0aW1pemUoIiIsIG9mZikKLSNlbmRpZgogY2xhc3MgRndkVHJh
bnM4eDhUZXN0QmFzZSB7CiAgcHVibGljOgotICB2aXJ0dWFsIH5Gd2RUcmFuczh4OFRlc3RCYXNl
KCkgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5Gd2RUcmFuczh4OFRlc3RCYXNlKCkge30KIAogIHBy
b3RlY3RlZDoKICAgdmlydHVhbCB2b2lkIFJ1bkZ3ZFR4Zm0oaW50MTZfdCAqaW4sIHRyYW5fbG93
X3QgKm91dCwgaW50IHN0cmlkZSkgPSAwOwpAQCAtMTc5LDcgKzE3MCw3IEBAIGNsYXNzIEZ3ZFRy
YW5zOHg4VGVzdEJhc2UgewogICAgIGZvciAoaW50IGogPSAwOyBqIDwgNjQ7ICsraikgewogICAg
ICAgY29uc3QgaW50IGRpZmYgPSBhYnMoY291bnRfc2lnbl9ibG9ja1tqXVswXSAtIGNvdW50X3Np
Z25fYmxvY2tbal1bMV0pOwogICAgICAgY29uc3QgaW50IG1heF9kaWZmID0ga1NpZ25CaWFzTWF4
RGlmZjI1NTsKLSAgICAgIEFTU0VSVF9MVChkaWZmLCBtYXhfZGlmZiA8PCAoYml0X2RlcHRoXyAt
IDgpKQorICAgICAgRVhQRUNUX0xUKGRpZmYsIG1heF9kaWZmIDw8IChiaXRfZGVwdGhfIC0gOCkp
CiAgICAgICAgICAgPDwgIkVycm9yOiA4eDggRkRDVC9GSFQgaGFzIGEgc2lnbiBiaWFzID4gIgog
ICAgICAgICAgIDw8IDEuICogbWF4X2RpZmYgLyBjb3VudF90ZXN0X2Jsb2NrICogMTAwIDw8ICIl
IgogICAgICAgICAgIDw8ICIgZm9yIGlucHV0IHJhbmdlIFstMjU1LCAyNTVdIGF0IGluZGV4ICIg
PDwgagpAQCAtMjEwLDcgKzIwMSw3IEBAIGNsYXNzIEZ3ZFRyYW5zOHg4VGVzdEJhc2UgewogICAg
IGZvciAoaW50IGogPSAwOyBqIDwgNjQ7ICsraikgewogICAgICAgY29uc3QgaW50IGRpZmYgPSBh
YnMoY291bnRfc2lnbl9ibG9ja1tqXVswXSAtIGNvdW50X3NpZ25fYmxvY2tbal1bMV0pOwogICAg
ICAgY29uc3QgaW50IG1heF9kaWZmID0ga1NpZ25CaWFzTWF4RGlmZjE1OwotICAgICAgQVNTRVJU
X0xUKGRpZmYsIG1heF9kaWZmIDw8IChiaXRfZGVwdGhfIC0gOCkpCisgICAgICBFWFBFQ1RfTFQo
ZGlmZiwgbWF4X2RpZmYgPDwgKGJpdF9kZXB0aF8gLSA4KSkKICAgICAgICAgICA8PCAiRXJyb3I6
IDh4OCBGRENUL0ZIVCBoYXMgYSBzaWduIGJpYXMgPiAiCiAgICAgICAgICAgPDwgMS4gKiBtYXhf
ZGlmZiAvIGNvdW50X3Rlc3RfYmxvY2sgKiAxMDAgPDwgIiUiCiAgICAgICAgICAgPDwgIiBmb3Ig
aW5wdXQgcmFuZ2UgWy0xNSwgMTVdIGF0IGluZGV4ICIgPDwgagpAQCAtMjg0LDExICsyNzUsMTEg
QEAgY2xhc3MgRndkVHJhbnM4eDhUZXN0QmFzZSB7CiAgICAgICB9CiAgICAgfQogCi0gICAgQVNT
RVJUX0dFKDEgPDwgMiAqIChiaXRfZGVwdGhfIC0gOCksIG1heF9lcnJvcikKKyAgICBFWFBFQ1Rf
R0UoMSA8PCAyICogKGJpdF9kZXB0aF8gLSA4KSwgbWF4X2Vycm9yKQogICAgICAgICA8PCAiRXJy
b3I6IDh4OCBGRENUL0lEQ1Qgb3IgRkhUL0lIVCBoYXMgYW4gaW5kaXZpZHVhbCIKICAgICAgICAg
PDwgIiByb3VuZHRyaXAgZXJyb3IgPiAxIjsKIAotICAgIEFTU0VSVF9HRSgoY291bnRfdGVzdF9i
bG9jayA8PCAyICogKGJpdF9kZXB0aF8gLSA4KSkgLyA1LCB0b3RhbF9lcnJvcikKKyAgICBFWFBF
Q1RfR0UoKGNvdW50X3Rlc3RfYmxvY2sgPDwgMiAqIChiaXRfZGVwdGhfIC0gOCkpIC8gNSwgdG90
YWxfZXJyb3IpCiAgICAgICAgIDw8ICJFcnJvcjogOHg4IEZEQ1QvSURDVCBvciBGSFQvSUhUIGhh
cyBhdmVyYWdlIHJvdW5kdHJpcCAiCiAgICAgICAgIDw8ICJlcnJvciA+IDEvNSBwZXIgYmxvY2si
OwogICB9CkBAIC0zNjksMTcgKzM2MCwxNyBAQCBjbGFzcyBGd2RUcmFuczh4OFRlc3RCYXNlIHsK
ICAgICAgICAgdG90YWxfY29lZmZfZXJyb3IgKz0gYWJzKGNvZWZmX2RpZmYpOwogICAgICAgfQog
Ci0gICAgICBBU1NFUlRfR0UoMSA8PCAyICogKGJpdF9kZXB0aF8gLSA4KSwgbWF4X2Vycm9yKQor
ICAgICAgRVhQRUNUX0dFKDEgPDwgMiAqIChiaXRfZGVwdGhfIC0gOCksIG1heF9lcnJvcikKICAg
ICAgICAgICA8PCAiRXJyb3I6IEV4dHJlbWFsIDh4OCBGRENUL0lEQ1Qgb3IgRkhUL0lIVCBoYXMi
Ci0gICAgICAgICAgPDwgIiBhbiBpbmRpdmlkdWFsIHJvdW5kdHJpcCBlcnJvciA+IDEiOworICAg
ICAgICAgIDw8ICJhbiBpbmRpdmlkdWFsIHJvdW5kdHJpcCBlcnJvciA+IDEiOwogCi0gICAgICBB
U1NFUlRfR0UoKGNvdW50X3Rlc3RfYmxvY2sgPDwgMiAqIChiaXRfZGVwdGhfIC0gOCkpIC8gNSwg
dG90YWxfZXJyb3IpCisgICAgICBFWFBFQ1RfR0UoKGNvdW50X3Rlc3RfYmxvY2sgPDwgMiAqIChi
aXRfZGVwdGhfIC0gOCkpIC8gNSwgdG90YWxfZXJyb3IpCiAgICAgICAgICAgPDwgIkVycm9yOiBF
eHRyZW1hbCA4eDggRkRDVC9JRENUIG9yIEZIVC9JSFQgaGFzIGF2ZXJhZ2UiCiAgICAgICAgICAg
PDwgIiByb3VuZHRyaXAgZXJyb3IgPiAxLzUgcGVyIGJsb2NrIjsKIAotICAgICAgQVNTRVJUX0VR
KDAsIHRvdGFsX2NvZWZmX2Vycm9yKQorICAgICAgRVhQRUNUX0VRKDAsIHRvdGFsX2NvZWZmX2Vy
cm9yKQogICAgICAgICAgIDw8ICJFcnJvcjogRXh0cmVtYWwgOHg4IEZEQ1QvRkhUIGhhcyIKLSAg
ICAgICAgICA8PCAiIG92ZXJmbG93IGlzc3VlcyBpbiB0aGUgaW50ZXJtZWRpYXRlIHN0ZXBzID4g
MSI7CisgICAgICAgICAgPDwgIm92ZXJmbG93IGlzc3VlcyBpbiB0aGUgaW50ZXJtZWRpYXRlIHN0
ZXBzID4gMSI7CiAgICAgfQogICB9CiAKQEAgLTQzNSw3ICs0MjYsNyBAQCBjbGFzcyBGd2RUcmFu
czh4OFRlc3RCYXNlIHsKICAgICAgICAgY29uc3QgaW50IGRpZmYgPSBkc3Rbal0gLSBzcmNbal07
CiAjZW5kaWYKICAgICAgICAgY29uc3QgdWludDMyX3QgZXJyb3IgPSBkaWZmICogZGlmZjsKLSAg
ICAgICAgQVNTRVJUX0dFKDF1IDw8IDIgKiAoYml0X2RlcHRoXyAtIDgpLCBlcnJvcikKKyAgICAg
ICAgRVhQRUNUX0dFKDF1IDw8IDIgKiAoYml0X2RlcHRoXyAtIDgpLCBlcnJvcikKICAgICAgICAg
ICAgIDw8ICJFcnJvcjogOHg4IElEQ1QgaGFzIGVycm9yICIgPDwgZXJyb3IgPDwgIiBhdCBpbmRl
eCAiIDw8IGo7CiAgICAgICB9CiAgICAgfQpAQCAtNDY1LDcgKzQ1Niw3IEBAIGNsYXNzIEZ3ZFRy
YW5zOHg4VGVzdEJhc2UgewogICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrTnVtQ29lZmZzOyAr
K2opIHsKICAgICAgICAgY29uc3QgaW50MzJfdCBkaWZmID0gY29lZmZbal0gLSBjb2VmZl9yW2pd
OwogICAgICAgICBjb25zdCB1aW50MzJfdCBlcnJvciA9IGRpZmYgKiBkaWZmOwotICAgICAgICBB
U1NFUlRfR0UoOXUgPDwgMiAqIChiaXRfZGVwdGhfIC0gOCksIGVycm9yKQorICAgICAgICBFWFBF
Q1RfR0UoOXUgPDwgMiAqIChiaXRfZGVwdGhfIC0gOCksIGVycm9yKQogICAgICAgICAgICAgPDwg
IkVycm9yOiA4eDggRENUIGhhcyBlcnJvciAiIDw8IGVycm9yIDw8ICIgYXQgaW5kZXggIiA8PCBq
OwogICAgICAgfQogICAgIH0KQEAgLTUyMSw3ICs1MTIsNyBAQCBjbGFzcyBGd2RUcmFuczh4OFRl
c3RCYXNlIHsKICAgICAgICAgY29uc3QgaW50IGRpZmYgPSBkc3Rbal0gLSByZWZbal07CiAjZW5k
aWYKICAgICAgICAgY29uc3QgdWludDMyX3QgZXJyb3IgPSBkaWZmICogZGlmZjsKLSAgICAgICAg
QVNTRVJUX0VRKDB1LCBlcnJvcikKKyAgICAgICAgRVhQRUNUX0VRKDB1LCBlcnJvcikKICAgICAg
ICAgICAgIDw8ICJFcnJvcjogOHg4IElEQ1QgaGFzIGVycm9yICIgPDwgZXJyb3IgPDwgIiBhdCBp
bmRleCAiIDw8IGo7CiAgICAgICB9CiAgICAgfQpAQCAtNTMyLDE2ICs1MjMsMTMgQEAgY2xhc3Mg
RndkVHJhbnM4eDhUZXN0QmFzZSB7CiAgIHZweF9iaXRfZGVwdGhfdCBiaXRfZGVwdGhfOwogICBp
bnQgbWFza187CiB9OwotI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIGRlZmluZWQoX01fQVJNNjQp
ICYmICFkZWZpbmVkKF9fY2xhbmdfXykKLSNwcmFnbWEgb3B0aW1pemUoIiIsIG9uKQotI2VuZGlm
CiAKIGNsYXNzIEZ3ZFRyYW5zOHg4RENUIDogcHVibGljIEZ3ZFRyYW5zOHg4VGVzdEJhc2UsCiAg
ICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08RGN0
OHg4UGFyYW0+IHsKICBwdWJsaWM6Ci0gIH5Gd2RUcmFuczh4OERDVCgpIG92ZXJyaWRlID0gZGVm
YXVsdDsKKyAgdmlydHVhbCB+RndkVHJhbnM4eDhEQ1QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBv
dmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBmd2RfdHhmbV8gPSBHRVRf
UEFSQU0oMCk7CiAgICAgaW52X3R4Zm1fID0gR0VUX1BBUkFNKDEpOwogICAgIHR4X3R5cGVfID0g
R0VUX1BBUkFNKDIpOwpAQCAtNTUxLDEzICs1MzksMTMgQEAgY2xhc3MgRndkVHJhbnM4eDhEQ1Qg
OiBwdWJsaWMgRndkVHJhbnM4eDhUZXN0QmFzZSwKICAgICBtYXNrXyA9ICgxIDw8IGJpdF9kZXB0
aF8pIC0gMTsKICAgfQogCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7IGxpYnZweF90ZXN0
OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgeyBsaWJ2
cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgUnVu
RndkVHhmbShpbnQxNl90ICppbiwgdHJhbl9sb3dfdCAqb3V0LCBpbnQgc3RyaWRlKSBvdmVycmlk
ZSB7CisgIHZvaWQgUnVuRndkVHhmbShpbnQxNl90ICppbiwgdHJhbl9sb3dfdCAqb3V0LCBpbnQg
c3RyaWRlKSB7CiAgICAgZndkX3R4Zm1fKGluLCBvdXQsIHN0cmlkZSk7CiAgIH0KLSAgdm9pZCBS
dW5JbnZUeGZtKHRyYW5fbG93X3QgKm91dCwgdWludDhfdCAqZHN0LCBpbnQgc3RyaWRlKSBvdmVy
cmlkZSB7CisgIHZvaWQgUnVuSW52VHhmbSh0cmFuX2xvd190ICpvdXQsIHVpbnQ4X3QgKmRzdCwg
aW50IHN0cmlkZSkgewogICAgIGludl90eGZtXyhvdXQsIGRzdCwgc3RyaWRlKTsKICAgfQogCkBA
IC01NzgsOSArNTY2LDkgQEAgVEVTVF9QKEZ3ZFRyYW5zOHg4RENULCBJbnZBY2N1cmFjeUNoZWNr
KSB7IFJ1bkludkFjY3VyYWN5Q2hlY2soKTsgfQogY2xhc3MgRndkVHJhbnM4eDhIVCA6IHB1Ymxp
YyBGd2RUcmFuczh4OFRlc3RCYXNlLAogICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyA6OnRl
c3Rpbmc6OlRlc3RXaXRoUGFyYW08SHQ4eDhQYXJhbT4gewogIHB1YmxpYzoKLSAgfkZ3ZFRyYW5z
OHg4SFQoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkZ3ZFRyYW5zOHg4SFQoKSB7
fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsK
ICAgICBmd2RfdHhmbV8gPSBHRVRfUEFSQU0oMCk7CiAgICAgaW52X3R4Zm1fID0gR0VUX1BBUkFN
KDEpOwogICAgIHR4X3R5cGVfID0gR0VUX1BBUkFNKDIpOwpAQCAtNTkwLDEzICs1NzgsMTMgQEAg
Y2xhc3MgRndkVHJhbnM4eDhIVCA6IHB1YmxpYyBGd2RUcmFuczh4OFRlc3RCYXNlLAogICAgIG1h
c2tfID0gKDEgPDwgYml0X2RlcHRoXykgLSAxOwogICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92
ZXJyaWRlIHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQorICB2aXJ0dWFsIHZv
aWQgVGVhckRvd24oKSB7IGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KIAogIHBy
b3RlY3RlZDoKLSAgdm9pZCBSdW5Gd2RUeGZtKGludDE2X3QgKmluLCB0cmFuX2xvd190ICpvdXQs
IGludCBzdHJpZGUpIG92ZXJyaWRlIHsKKyAgdm9pZCBSdW5Gd2RUeGZtKGludDE2X3QgKmluLCB0
cmFuX2xvd190ICpvdXQsIGludCBzdHJpZGUpIHsKICAgICBmd2RfdHhmbV8oaW4sIG91dCwgc3Ry
aWRlLCB0eF90eXBlXyk7CiAgIH0KLSAgdm9pZCBSdW5JbnZUeGZtKHRyYW5fbG93X3QgKm91dCwg
dWludDhfdCAqZHN0LCBpbnQgc3RyaWRlKSBvdmVycmlkZSB7CisgIHZvaWQgUnVuSW52VHhmbSh0
cmFuX2xvd190ICpvdXQsIHVpbnQ4X3QgKmRzdCwgaW50IHN0cmlkZSkgewogICAgIGludl90eGZt
XyhvdXQsIGRzdCwgc3RyaWRlLCB0eF90eXBlXyk7CiAgIH0KIApAQCAtNjE0LDkgKzYwMiw5IEBA
IFRFU1RfUChGd2RUcmFuczh4OEhULCBFeHRyZW1hbENoZWNrKSB7IFJ1bkV4dHJlbWFsQ2hlY2so
KTsgfQogY2xhc3MgSW52VHJhbnM4eDhEQ1QgOiBwdWJsaWMgRndkVHJhbnM4eDhUZXN0QmFzZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxJ
ZGN0OHg4UGFyYW0+IHsKICBwdWJsaWM6Ci0gIH5JbnZUcmFuczh4OERDVCgpIG92ZXJyaWRlID0g
ZGVmYXVsdDsKKyAgdmlydHVhbCB+SW52VHJhbnM4eDhEQ1QoKSB7fQogCi0gIHZvaWQgU2V0VXAo
KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICByZWZfdHhmbV8gPSBH
RVRfUEFSQU0oMCk7CiAgICAgaW52X3R4Zm1fID0gR0VUX1BBUkFNKDEpOwogICAgIHRocmVzaF8g
PSBHRVRfUEFSQU0oMik7CkBAIC02MjUsMTQgKzYxMywxMyBAQCBjbGFzcyBJbnZUcmFuczh4OERD
VCA6IHB1YmxpYyBGd2RUcmFuczh4OFRlc3RCYXNlLAogICAgIG1hc2tfID0gKDEgPDwgYml0X2Rl
cHRoXykgLSAxOwogICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsgbGlidnB4X3Rl
c3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQorICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7IGxp
YnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KIAogIHByb3RlY3RlZDoKLSAgdm9pZCBS
dW5JbnZUeGZtKHRyYW5fbG93X3QgKm91dCwgdWludDhfdCAqZHN0LCBpbnQgc3RyaWRlKSBvdmVy
cmlkZSB7CisgIHZvaWQgUnVuSW52VHhmbSh0cmFuX2xvd190ICpvdXQsIHVpbnQ4X3QgKmRzdCwg
aW50IHN0cmlkZSkgewogICAgIGludl90eGZtXyhvdXQsIGRzdCwgc3RyaWRlKTsKICAgfQotICB2
b2lkIFJ1bkZ3ZFR4Zm0oaW50MTZfdCAqIC8qb3V0Ki8sIHRyYW5fbG93X3QgKiAvKmRzdCovLAot
ICAgICAgICAgICAgICAgICAgaW50IC8qc3RyaWRlKi8pIG92ZXJyaWRlIHt9CisgIHZvaWQgUnVu
RndkVHhmbShpbnQxNl90ICogLypvdXQqLywgdHJhbl9sb3dfdCAqIC8qZHN0Ki8sIGludCAvKnN0
cmlkZSovKSB7fQogCiAgIElkY3RGdW5jIHJlZl90eGZtXzsKICAgSWRjdEZ1bmMgaW52X3R4Zm1f
OwpAQCAtNzgxLDExICs3NjgsNCBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoVlNYLCBGd2RU
cmFuczh4OERDVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZ2cHhfaWRjdDh4OF82NF9hZGRfdnN4LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgVlBYX0JJVFNfOCkpKTsKICNlbmRp
ZiAgLy8gSEFWRV9WU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRIICYmICFDT05GSUdfRU1V
TEFURV9IQVJEV0FSRQotCi0jaWYgSEFWRV9MU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRI
ICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKExT
WCwgRndkVHJhbnM4eDhEQ1QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpW
YWx1ZXMobWFrZV90dXBsZSgmdnB4X2ZkY3Q4eDhfbHN4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9pZGN0OHg4XzY0X2FkZF9jLCAw
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VlBYX0JJVFNfOCkpKTsKLSNlbmRpZiAgLy8gSEFWRV9MU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJ
VERFUFRIICYmICFDT05GSUdfRU1VTEFURV9IQVJEV0FSRQogfSAgLy8gbmFtZXNwYWNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZnJhbWVfc2l6ZV90ZXN0cy5jYyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9mcmFtZV9zaXplX3Rlc3RzLmNjCmluZGV4IDdiNmMyOWE4OGY1ZC4uZDg1YzE5M2UwYjZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvZnJhbWVfc2l6ZV90ZXN0cy5jYworKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvZnJhbWVfc2l6ZV90ZXN0cy5jYwpAQCAtNjUsNyArNjUsNyBAQCBjbGFz
cyBFbmNvZGVyV2l0aEV4cGVjdGVkRXJyb3IgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2Rl
ciB7CiAgICAgQVNTRVJUX0VRKGV4cGVjdGVkX2VyciwgcmVzKSA8PCBFbmNvZGVyRXJyb3IoKTsK
ICAgfQogCi0gIHZweF9jb2RlY19pZmFjZV90ICpDb2RlY0ludGVyZmFjZSgpIGNvbnN0IG92ZXJy
aWRlIHsKKyAgdmlydHVhbCB2cHhfY29kZWNfaWZhY2VfdCAqQ29kZWNJbnRlcmZhY2UoKSBjb25z
dCB7CiAjaWYgQ09ORklHX1ZQOV9FTkNPREVSCiAgICAgcmV0dXJuICZ2cHhfY29kZWNfdnA5X2N4
X2FsZ287CiAjZWxzZQpAQCAtNzksMjIgKzc5LDIyIEBAIGNsYXNzIFZQOUZyYW1lU2l6ZVRlc3Rz
TGFyZ2UgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlclRlc3QsCiAgcHJvdGVjdGVkOgog
ICBWUDlGcmFtZVNpemVUZXN0c0xhcmdlKCkKICAgICAgIDogRW5jb2RlclRlc3QoJjo6bGlidnB4
X3Rlc3Q6OmtWUDkpLCBleHBlY3RlZF9yZXNfKFZQWF9DT0RFQ19PSykge30KLSAgflZQOUZyYW1l
U2l6ZVRlc3RzTGFyZ2UoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgflZQOUZyYW1l
U2l6ZVRlc3RzTGFyZ2UoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1
YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZSg6
OmxpYnZweF90ZXN0OjprUmVhbFRpbWUpOwogICB9CiAKLSAgYm9vbCBIYW5kbGVEZWNvZGVSZXN1
bHQoY29uc3QgdnB4X2NvZGVjX2Vycl90IHJlc19kZWMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAmIC8qdmlkZW8qLywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGlidnB4X3Rlc3Q6OkRlY29kZXIgKmRlY29kZXIpIG92ZXJyaWRl
IHsKKyAgdmlydHVhbCBib29sIEhhbmRsZURlY29kZVJlc3VsdChjb25zdCB2cHhfY29kZWNfZXJy
X3QgcmVzX2RlYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ2
cHhfdGVzdDo6VmlkZW9Tb3VyY2UgJiAvKnZpZGVvKi8sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGlidnB4X3Rlc3Q6OkRlY29kZXIgKmRlY29kZXIpIHsKICAgICBFWFBFQ1Rf
RVEoZXhwZWN0ZWRfcmVzXywgcmVzX2RlYykgPDwgZGVjb2Rlci0+RGVjb2RlRXJyb3IoKTsKICAg
ICByZXR1cm4gITo6dGVzdGluZzo6VGVzdDo6SGFzRmFpbHVyZSgpOwogICB9CiAKLSAgdm9pZCBQ
cmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBv
dmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVz
dDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBpZiAodmlkZW8tPmZyYW1l
KCkgPT0gMCkgewogICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDhFX1NFVF9DUFVVU0VELCA3KTsK
ICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9TRVRfRU5BQkxFQVVUT0FMVFJFRiwgMSk7CkBA
IC0xMTEsNyArMTExLDcgQEAgY2xhc3MgVlA5RnJhbWVTaXplVGVzdHNMYXJnZSA6IHB1YmxpYyA6
OmxpYnZweF90ZXN0OjpFbmNvZGVyVGVzdCwKIAogICAgIEFTU0VSVF9UUlVFKHBhc3Nlc18gPT0g
MSB8fCBwYXNzZXNfID09IDIpOwogICAgIGZvciAodW5zaWduZWQgaW50IHBhc3MgPSAwOyBwYXNz
IDwgcGFzc2VzXzsgcGFzcysrKSB7Ci0gICAgICB2cHhfY29kZWNfcHRzX3QgbGFzdF9wdHMgPSAw
OworICAgICAgbGFzdF9wdHNfID0gMDsKIAogICAgICAgaWYgKHBhc3Nlc18gPT0gMSkgewogICAg
ICAgICBjZmdfLmdfcGFzcyA9IFZQWF9SQ19PTkVfUEFTUzsKQEAgLTE0NCw4ICsxNDQsOCBAQCBj
bGFzcyBWUDlGcmFtZVNpemVUZXN0c0xhcmdlIDogcHVibGljIDo6bGlidnB4X3Rlc3Q6OkVuY29k
ZXJUZXN0LAogICAgICAgICAgIGFnYWluID0gdHJ1ZTsKICAgICAgICAgICBzd2l0Y2ggKHBrdC0+
a2luZCkgewogICAgICAgICAgICAgY2FzZSBWUFhfQ09ERUNfQ1hfRlJBTUVfUEtUOgotICAgICAg
ICAgICAgICBBU1NFUlRfR0UocGt0LT5kYXRhLmZyYW1lLnB0cywgbGFzdF9wdHMpOwotICAgICAg
ICAgICAgICBsYXN0X3B0cyA9IHBrdC0+ZGF0YS5mcmFtZS5wdHM7CisgICAgICAgICAgICAgIEFT
U0VSVF9HRShwa3QtPmRhdGEuZnJhbWUucHRzLCBsYXN0X3B0c18pOworICAgICAgICAgICAgICBs
YXN0X3B0c18gPSBwa3QtPmRhdGEuZnJhbWUucHRzOwogICAgICAgICAgICAgICBGcmFtZVBrdEhv
b2socGt0KTsKICAgICAgICAgICAgICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9oYWRhbWFyZF90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2hhZGFtYXJkX3Rlc3QuY2MK
aW5kZXggYjIyYmFlODdjYzEzLi5kYWI5NDVhNTYxZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC9oYWRhbWFyZF90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9oYWRhbWFyZF90ZXN0
LmNjCkBAIC0xMzAsMTkgKzEzMCwxMyBAQCBzdGQ6Om9zdHJlYW0gJm9wZXJhdG9yPDwoc3RkOjpv
c3RyZWFtICZvcywgY29uc3QgSGFkYW1hcmRGdW5jV2l0aFNpemUgJmhmcykgewogCiBjbGFzcyBI
YWRhbWFyZFRlc3RCYXNlIDogcHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxIYWRhbWFy
ZEZ1bmNXaXRoU2l6ZT4gewogIHB1YmxpYzoKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAg
dmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIGhfZnVuY18gPSBHZXRQYXJhbSgpLmZ1bmM7CiAg
ICAgYndoXyA9IEdldFBhcmFtKCkuYmxvY2tfc2l6ZTsKICAgICBibG9ja19zaXplXyA9IGJ3aF8g
KiBid2hfOwogICAgIHJuZF8uUmVzZXQoQUNNUmFuZG9tOjpEZXRlcm1pbmlzdGljU2VlZCgpKTsK
ICAgfQogCi0gIC8vIFRoZSBSYW5kKCkgZnVuY3Rpb24gZ2VuZXJhdGVzIHZhbHVlcyBpbiB0aGUg
cmFuZ2UgWy0oKDEgPDwgQml0RGVwdGgpIC0gMSksCi0gIC8vICgxIDw8IEJpdERlcHRoKSAtIDFd
LiBUaGlzIGlzIGJlY2F1c2UgdGhlIGlucHV0IHRvIHRoZSBIYWRhbWFyZCB0cmFuc2Zvcm0KLSAg
Ly8gaXMgdGhlIHJlc2lkdWFsIHBpeGVsLCB3aGljaCBpcyBkZWZpbmVkIGFzICdzb3VyY2UgcGl4
ZWwgLSBwcmVkaWN0ZWQKLSAgLy8gcGl4ZWwnLiBTb3VyY2UgcGl4ZWwgYW5kIHByZWRpY3RlZCBw
aXhlbCB0YWtlIHZhbHVlcyBpbiB0aGUgcmFuZ2UKLSAgLy8gWzAsICgxIDw8IEJpdERlcHRoKSAt
IDFdIGFuZCB0aHVzIHRoZSByZXNpZHVhbCBwaXhlbCByYW5nZXMgZnJvbQotICAvLyAtKCgxIDw8
IEJpdERlcHRoKSAtIDEpIHRvICgoMSA8PCBCaXREZXB0aCkgLSAxKS4KICAgdmlydHVhbCBpbnQx
Nl90IFJhbmQoKSA9IDA7CiAKICAgdm9pZCBSZWZlcmVuY2VIYWRhbWFyZChjb25zdCBpbnQxNl90
ICphLCBpbnQgYV9zdHJpZGUsIHRyYW5fbG93X3QgKmIsCkBAIC0xNzYsMzEgKzE3MCw2IEBAIGNs
YXNzIEhhZGFtYXJkVGVzdEJhc2UgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEhh
ZGFtYXJkRnVuY1dpdGhTaXplPiB7CiAgICAgRVhQRUNUX0VRKDAsIG1lbWNtcChiLCBiX3JlZiwg
c2l6ZW9mKGIpKSk7CiAgIH0KIAotICB2b2lkIEV4dHJlbWVWYWx1ZXNUZXN0KCkgewotICAgIGNv
bnN0IGludCBrTWF4QmxvY2tTaXplID0gMzIgKiAzMjsKLSAgICBERUNMQVJFX0FMSUdORUQoMTYs
IGludDE2X3QsIGlucHV0X2V4dHJlbWVfYmxvY2tba01heEJsb2NrU2l6ZV0pOwotICAgIERFQ0xB
UkVfQUxJR05FRCgxNiwgdHJhbl9sb3dfdCwgYltrTWF4QmxvY2tTaXplXSk7Ci0gICAgbWVtc2V0
KGIsIDAsIHNpemVvZihiKSk7Ci0KLSAgICB0cmFuX2xvd190IGJfcmVmW2tNYXhCbG9ja1NpemVd
OwotICAgIG1lbXNldChiX3JlZiwgMCwgc2l6ZW9mKGJfcmVmKSk7Ci0KLSAgICBmb3IgKGludCBp
ID0gMDsgaSA8IDI7ICsraSkgewotICAgICAgLy8gSW5pdGlhbGl6ZSBhIHRlc3QgYmxvY2sgd2l0
aCBpbnB1dCByYW5nZSBbLW1hc2tfLCBtYXNrX10uCi0gICAgICBjb25zdCBpbnQgc2lnbiA9IChp
ID09IDApID8gMSA6IC0xOwotICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrTWF4QmxvY2tTaXpl
OyArK2opCi0gICAgICAgIGlucHV0X2V4dHJlbWVfYmxvY2tbal0gPSBzaWduICogMjU1OwotCi0g
ICAgICBSZWZlcmVuY2VIYWRhbWFyZChpbnB1dF9leHRyZW1lX2Jsb2NrLCBid2hfLCBiX3JlZiwg
YndoXyk7Ci0gICAgICBBU01fUkVHSVNURVJfU1RBVEVfQ0hFQ0soaF9mdW5jXyhpbnB1dF9leHRy
ZW1lX2Jsb2NrLCBid2hfLCBiKSk7Ci0KLSAgICAgIC8vIFRoZSBvcmRlciBvZiB0aGUgb3V0cHV0
IGlzIG5vdCBpbXBvcnRhbnQuIFNvcnQgYmVmb3JlIGNoZWNraW5nLgotICAgICAgc3RkOjpzb3J0
KGIsIGIgKyBibG9ja19zaXplXyk7Ci0gICAgICBzdGQ6OnNvcnQoYl9yZWYsIGJfcmVmICsgYmxv
Y2tfc2l6ZV8pOwotICAgICAgRVhQRUNUX0VRKDAsIG1lbWNtcChiLCBiX3JlZiwgc2l6ZW9mKGIp
KSk7Ci0gICAgfQotICB9Ci0KICAgdm9pZCBWYXJ5U3RyaWRlKCkgewogICAgIGNvbnN0IGludCBr
TWF4QmxvY2tTaXplID0gMzIgKiAzMjsKICAgICBERUNMQVJFX0FMSUdORUQoMTYsIGludDE2X3Qs
IGFba01heEJsb2NrU2l6ZSAqIDhdKTsKQEAgLTI1MSwxOCArMjIwLDExIEBAIGNsYXNzIEhhZGFt
YXJkVGVzdEJhc2UgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEhhZGFtYXJkRnVu
Y1dpdGhTaXplPiB7CiAKIGNsYXNzIEhhZGFtYXJkTG93YmRUZXN0IDogcHVibGljIEhhZGFtYXJk
VGVzdEJhc2UgewogIHByb3RlY3RlZDoKLSAgLy8gVXNlIHZhbHVlcyBiZXR3ZWVuIC0yNTUgKDB4
RkYwMSkgYW5kIDI1NSAoMHgwMEZGKQotICBpbnQxNl90IFJhbmQoKSBvdmVycmlkZSB7Ci0gICAg
aW50MTZfdCBzcmMgPSBybmRfLlJhbmQ4KCk7Ci0gICAgaW50MTZfdCBwcmVkID0gcm5kXy5SYW5k
OCgpOwotICAgIHJldHVybiBzcmMgLSBwcmVkOwotICB9CisgIHZpcnR1YWwgaW50MTZfdCBSYW5k
KCkgeyByZXR1cm4gcm5kXy5SYW5kOVNpZ25lZCgpOyB9CiB9OwogCiBURVNUX1AoSGFkYW1hcmRM
b3diZFRlc3QsIENvbXBhcmVSZWZlcmVuY2VSYW5kb20pIHsgQ29tcGFyZVJlZmVyZW5jZVJhbmRv
bSgpOyB9CiAKLVRFU1RfUChIYWRhbWFyZExvd2JkVGVzdCwgRXh0cmVtZVZhbHVlc1Rlc3QpIHsg
RXh0cmVtZVZhbHVlc1Rlc3QoKTsgfQotCiBURVNUX1AoSGFkYW1hcmRMb3diZFRlc3QsIFZhcnlT
dHJpZGUpIHsgVmFyeVN0cmlkZSgpOyB9CiAKIFRFU1RfUChIYWRhbWFyZExvd2JkVGVzdCwgRElT
QUJMRURfU3BlZWQpIHsKQEAgLTMwMiw4ICsyNjQsNyBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRF
X1AoCiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgTkVPTiwgSGFkYW1hcmRMb3diZFRl
c3QsCiAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoSGFkYW1hcmRGdW5jV2l0aFNpemUoJnZweF9oYWRh
bWFyZF84eDhfbmVvbiwgOCksCi0gICAgICAgICAgICAgICAgICAgICAgSGFkYW1hcmRGdW5jV2l0
aFNpemUoJnZweF9oYWRhbWFyZF8xNngxNl9uZW9uLCAxNiksCi0gICAgICAgICAgICAgICAgICAg
ICAgSGFkYW1hcmRGdW5jV2l0aFNpemUoJnZweF9oYWRhbWFyZF8zMngzMl9uZW9uLCAzMikpKTsK
KyAgICAgICAgICAgICAgICAgICAgICBIYWRhbWFyZEZ1bmNXaXRoU2l6ZSgmdnB4X2hhZGFtYXJk
XzE2eDE2X25lb24sIDE2KSkpOwogI2VuZGlmICAvLyBIQVZFX05FT04KIAogLy8gVE9ETyhqaW5n
bmluZyk6IFJlbW92ZSBoaWdoYml0ZGVwdGggZmxhZyB3aGVuIHRoZSBTSU1EIGZ1bmN0aW9ucyBh
cmUKQEAgLTMyNCwyMiArMjg1LDEwIEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICAg
ICAgICAgICAgICAgICAgICBIYWRhbWFyZEZ1bmNXaXRoU2l6ZSgmdnB4X2hhZGFtYXJkXzE2eDE2
X3ZzeCwgMTYpKSk7CiAjZW5kaWYgIC8vIEhBVkVfVlNYCiAKLSNpZiBIQVZFX0xTWAotSU5TVEFO
VElBVEVfVEVTVF9TVUlURV9QKAotICAgIExTWCwgSGFkYW1hcmRMb3diZFRlc3QsCi0gICAgOjp0
ZXN0aW5nOjpWYWx1ZXMoSGFkYW1hcmRGdW5jV2l0aFNpemUoJnZweF9oYWRhbWFyZF84eDhfbHN4
LCA4KSwKLSAgICAgICAgICAgICAgICAgICAgICBIYWRhbWFyZEZ1bmNXaXRoU2l6ZSgmdnB4X2hh
ZGFtYXJkXzE2eDE2X2xzeCwgMTYpKSk7Ci0jZW5kaWYgIC8vIEhBVkVfTFNYCi0KICNpZiBDT05G
SUdfVlA5X0hJR0hCSVRERVBUSAogY2xhc3MgSGFkYW1hcmRIaWdoYmRUZXN0IDogcHVibGljIEhh
ZGFtYXJkVGVzdEJhc2UgewogIHByb3RlY3RlZDoKLSAgLy8gVXNlIHZhbHVlcyBiZXR3ZWVuIC00
MDk1ICgweEYwMDEpIGFuZCA0MDk1ICgweDBGRkYpCi0gIGludDE2X3QgUmFuZCgpIG92ZXJyaWRl
IHsKLSAgICBpbnQxNl90IHNyYyA9IHJuZF8uUmFuZDEyKCk7Ci0gICAgaW50MTZfdCBwcmVkID0g
cm5kXy5SYW5kMTIoKTsKLSAgICByZXR1cm4gc3JjIC0gcHJlZDsKLSAgfQorICB2aXJ0dWFsIGlu
dDE2X3QgUmFuZCgpIHsgcmV0dXJuIHJuZF8uUmFuZDEzU2lnbmVkKCk7IH0KIH07CiAKIFRFU1Rf
UChIYWRhbWFyZEhpZ2hiZFRlc3QsIENvbXBhcmVSZWZlcmVuY2VSYW5kb20pIHsgQ29tcGFyZVJl
ZmVyZW5jZVJhbmRvbSgpOyB9CkBAIC0zNjcsMTQgKzMxNiw1IEBAIElOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMikp
KTsKICNlbmRpZiAgLy8gSEFWRV9BVlgyCiAKLSNpZiBIQVZFX05FT04KLUlOU1RBTlRJQVRFX1RF
U1RfU1VJVEVfUCgKLSAgICBORU9OLCBIYWRhbWFyZEhpZ2hiZFRlc3QsCi0gICAgOjp0ZXN0aW5n
OjpWYWx1ZXMoSGFkYW1hcmRGdW5jV2l0aFNpemUoJnZweF9oaWdoYmRfaGFkYW1hcmRfOHg4X25l
b24sIDgpLAotICAgICAgICAgICAgICAgICAgICAgIEhhZGFtYXJkRnVuY1dpdGhTaXplKCZ2cHhf
aGlnaGJkX2hhZGFtYXJkXzE2eDE2X25lb24sIDE2KSwKLSAgICAgICAgICAgICAgICAgICAgICBI
YWRhbWFyZEZ1bmNXaXRoU2l6ZSgmdnB4X2hpZ2hiZF9oYWRhbWFyZF8zMngzMl9uZW9uLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMyKSkpOwotI2VuZGlmCi0K
ICNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKIH0gIC8vIG5hbWVzcGFjZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2lkY3RfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9p
ZGN0X3Rlc3QuY2MKaW5kZXggMjc5ZTU4ZTJhYTNmLi4xYjk1MzJlMWMxNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC9pZGN0X3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2lkY3Rf
dGVzdC5jYwpAQCAtMjcsNyArMjcsNyBAQCB1c2luZyBsaWJ2cHhfdGVzdDo6QnVmZmVyOwogCiBj
bGFzcyBJRENUVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08SWRjdEZ1bmM+
IHsKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9p
ZCBTZXRVcCgpIHsKICAgICBVVVQgPSBHZXRQYXJhbSgpOwogCiAgICAgaW5wdXQgPSBuZXcgQnVm
ZmVyPGludDE2X3Q+KDQsIDQsIDApOwpAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBJRENUVGVzdCA6
IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08SWRjdEZ1bmM+IHsKICAgICBBU1NFUlRf
VFJVRShvdXRwdXQtPkluaXQoKSk7CiAgIH0KIAotICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGUg
eworICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7CiAgICAgZGVsZXRlIGlucHV0OwogICAgIGRl
bGV0ZSBwcmVkaWN0OwogICAgIGRlbGV0ZSBvdXRwdXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvaW5pdF92cHhfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9pbml0X3ZweF90ZXN0LmNj
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODhjNTRmMzIzYjguLjAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvaW5pdF92cHhfdGVzdC5jYworKysgL2Rldi9udWxsCkBA
IC0xLDkzICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBXZWJNIHByb2pl
Y3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2Fu
IGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQot
ICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFu
dCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGlu
ZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBp
biB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgInRlc3QvaW5p
dF92cHhfdGVzdC5oIgotCi0jaW5jbHVkZSAiLi92cHhfY29uZmlnLmgiCi0KLSNpZiAhQ09ORklH
X1NIQVJFRAotI2luY2x1ZGUgPHN0cmluZz4KLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9nb29nbGV0
ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCi0jaWYgVlBYX0FSQ0hfQVJNCi0jaW5jbHVk
ZSAidnB4X3BvcnRzL2FybS5oIgotI2VuZGlmCi0jaWYgVlBYX0FSQ0hfWDg2IHx8IFZQWF9BUkNI
X1g4Nl82NAotI2luY2x1ZGUgInZweF9wb3J0cy94ODYuaCIKLSNlbmRpZgotZXh0ZXJuICJDIiB7
Ci0jaWYgQ09ORklHX1ZQOAotZXh0ZXJuIHZvaWQgdnA4X3J0Y2QoKTsKLSNlbmRpZiAgLy8gQ09O
RklHX1ZQOAotI2lmIENPTkZJR19WUDkKLWV4dGVybiB2b2lkIHZwOV9ydGNkKCk7Ci0jZW5kaWYg
IC8vIENPTkZJR19WUDkKLWV4dGVybiB2b2lkIHZweF9kc3BfcnRjZCgpOwotZXh0ZXJuIHZvaWQg
dnB4X3NjYWxlX3J0Y2QoKTsKLX0KLQotI2lmIFZQWF9BUkNIX0FSTSB8fCBWUFhfQVJDSF9YODYg
fHwgVlBYX0FSQ0hfWDg2XzY0Ci1zdGF0aWMgdm9pZCBhcHBlbmRfbmVnYXRpdmVfZ3Rlc3RfZmls
dGVyKGNvbnN0IGNoYXIgKnN0cikgewotICBzdGQ6OnN0cmluZyBmaWx0ZXIgPSBHVEVTVF9GTEFH
X0dFVChmaWx0ZXIpOwotICAvLyBOZWdhdGl2ZSBwYXR0ZXJucyBiZWdpbiB3aXRoIG9uZSAnLScg
Zm9sbG93ZWQgYnkgYSAnOicgc2VwYXJhdGVkIGxpc3QuCi0gIGlmIChmaWx0ZXIuZmluZCgnLScp
ID09IHN0ZDo6c3RyaW5nOjpucG9zKSBmaWx0ZXIgKz0gJy0nOwotICBmaWx0ZXIgKz0gc3RyOwot
ICBHVEVTVF9GTEFHX1NFVChmaWx0ZXIsIGZpbHRlcik7Ci19Ci0jZW5kaWYgIC8vIFZQWF9BUkNI
X0FSTSB8fCBWUFhfQVJDSF9YODYgfHwgVlBYX0FSQ0hfWDg2XzY0Ci0jZW5kaWYgIC8vICFDT05G
SUdfU0hBUkVECi0KLW5hbWVzcGFjZSBsaWJ2cHhfdGVzdCB7Ci12b2lkIGluaXRfdnB4X3Rlc3Qo
KSB7Ci0jaWYgIUNPTkZJR19TSEFSRUQKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gIGNvbnN0IGlu
dCBjYXBzID0gYXJtX2NwdV9jYXBzKCk7Ci0gIGlmICghKGNhcHMgJiBIQVNfTkVPTl9ET1RQUk9E
KSkgewotICAgIGFwcGVuZF9uZWdhdGl2ZV9ndGVzdF9maWx0ZXIoIjpORU9OX0RPVFBST0QuKjpO
RU9OX0RPVFBST0QvKiIpOwotICB9Ci0gIGlmICghKGNhcHMgJiBIQVNfTkVPTl9JOE1NKSkgewot
ICAgIGFwcGVuZF9uZWdhdGl2ZV9ndGVzdF9maWx0ZXIoIjpORU9OX0k4TU0uKjpORU9OX0k4TU0v
KiIpOwotICB9Ci0jZWxpZiBWUFhfQVJDSF9BUk0KLSAgY29uc3QgaW50IGNhcHMgPSBhcm1fY3B1
X2NhcHMoKTsKLSAgaWYgKCEoY2FwcyAmIEhBU19ORU9OKSkgYXBwZW5kX25lZ2F0aXZlX2d0ZXN0
X2ZpbHRlcigiOk5FT04uKjpORU9OLyoiKTsKLSNlbmRpZiAgLy8gVlBYX0FSQ0hfQVJNCi0KLSNp
ZiBWUFhfQVJDSF9YODYgfHwgVlBYX0FSQ0hfWDg2XzY0Ci0gIGNvbnN0IGludCBzaW1kX2NhcHMg
PSB4ODZfc2ltZF9jYXBzKCk7Ci0gIGlmICghKHNpbWRfY2FwcyAmIEhBU19NTVgpKSBhcHBlbmRf
bmVnYXRpdmVfZ3Rlc3RfZmlsdGVyKCI6TU1YLio6TU1YLyoiKTsKLSAgaWYgKCEoc2ltZF9jYXBz
ICYgSEFTX1NTRSkpIGFwcGVuZF9uZWdhdGl2ZV9ndGVzdF9maWx0ZXIoIjpTU0UuKjpTU0UvKiIp
OwotICBpZiAoIShzaW1kX2NhcHMgJiBIQVNfU1NFMikpIGFwcGVuZF9uZWdhdGl2ZV9ndGVzdF9m
aWx0ZXIoIjpTU0UyLio6U1NFMi8qIik7Ci0gIGlmICghKHNpbWRfY2FwcyAmIEhBU19TU0UzKSkg
YXBwZW5kX25lZ2F0aXZlX2d0ZXN0X2ZpbHRlcigiOlNTRTMuKjpTU0UzLyoiKTsKLSAgaWYgKCEo
c2ltZF9jYXBzICYgSEFTX1NTU0UzKSkgewotICAgIGFwcGVuZF9uZWdhdGl2ZV9ndGVzdF9maWx0
ZXIoIjpTU1NFMy4qOlNTU0UzLyoiKTsKLSAgfQotICBpZiAoIShzaW1kX2NhcHMgJiBIQVNfU1NF
NF8xKSkgewotICAgIGFwcGVuZF9uZWdhdGl2ZV9ndGVzdF9maWx0ZXIoIjpTU0U0XzEuKjpTU0U0
XzEvKiIpOwotICB9Ci0gIGlmICghKHNpbWRfY2FwcyAmIEhBU19BVlgpKSBhcHBlbmRfbmVnYXRp
dmVfZ3Rlc3RfZmlsdGVyKCI6QVZYLio6QVZYLyoiKTsKLSAgaWYgKCEoc2ltZF9jYXBzICYgSEFT
X0FWWDIpKSBhcHBlbmRfbmVnYXRpdmVfZ3Rlc3RfZmlsdGVyKCI6QVZYMi4qOkFWWDIvKiIpOwot
ICBpZiAoIShzaW1kX2NhcHMgJiBIQVNfQVZYNTEyKSkgewotICAgIGFwcGVuZF9uZWdhdGl2ZV9n
dGVzdF9maWx0ZXIoIjpBVlg1MTIuKjpBVlg1MTIvKiIpOwotICB9Ci0jZW5kaWYgIC8vIFZQWF9B
UkNIX1g4NiB8fCBWUFhfQVJDSF9YODZfNjQKLQotICAvLyBTaGFyZWQgbGlicmFyeSBidWlsZHMg
ZG9uJ3Qgc3VwcG9ydCB3aGl0ZWJveCB0ZXN0cyB0aGF0IGV4ZXJjaXNlIGludGVybmFsCi0gIC8v
IHN5bWJvbHMuCi0jaWYgQ09ORklHX1ZQOAotICB2cDhfcnRjZCgpOwotI2VuZGlmICAvLyBDT05G
SUdfVlA4Ci0jaWYgQ09ORklHX1ZQOQotICB2cDlfcnRjZCgpOwotI2VuZGlmICAvLyBDT05GSUdf
VlA5Ci0gIHZweF9kc3BfcnRjZCgpOwotICB2cHhfc2NhbGVfcnRjZCgpOwotI2VuZGlmICAvLyAh
Q09ORklHX1NIQVJFRAotfQotfSAgLy8gbmFtZXNwYWNlIGxpYnZweF90ZXN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvaW5pdF92cHhfdGVzdC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2luaXRf
dnB4X3Rlc3QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUwZGJiMGU3ZWQyLi4w
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2luaXRfdnB4X3Rlc3QuaAorKysgL2Rl
di9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBX
ZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICog
IHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJp
Z2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNv
bnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhP
UlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2lmbmRlZiBU
RVNUX0lOSVRfVlBYX1RFU1RfSF8KLSNkZWZpbmUgVEVTVF9JTklUX1ZQWF9URVNUX0hfCi0KLW5h
bWVzcGFjZSBsaWJ2cHhfdGVzdCB7Ci12b2lkIGluaXRfdnB4X3Rlc3QoKTsKLX0KLQotI2VuZGlm
ICAvLyBURVNUX0lOSVRfVlBYX1RFU1RfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9p
bnZhbGlkX2ZpbGVfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9pbnZhbGlkX2ZpbGVfdGVzdC5j
YwppbmRleCBjMzdkYzBkNDg2MjAuLjc2MmQ1ODVmNTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90ZXN0L2ludmFsaWRfZmlsZV90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9pbnZhbGlk
X2ZpbGVfdGVzdC5jYwpAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBJbnZhbGlkRmlsZVRlc3QgOiBw
dWJsaWMgOjpsaWJ2cHhfdGVzdDo6RGVjb2RlclRlc3QsCiAgcHJvdGVjdGVkOgogICBJbnZhbGlk
RmlsZVRlc3QoKSA6IERlY29kZXJUZXN0KEdFVF9QQVJBTSgwKSksIHJlc19maWxlXyhudWxscHRy
KSB7fQogCi0gIH5JbnZhbGlkRmlsZVRlc3QoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgfkludmFs
aWRGaWxlVGVzdCgpIHsKICAgICBpZiAocmVzX2ZpbGVfICE9IG51bGxwdHIpIGZjbG9zZShyZXNf
ZmlsZV8pOwogICB9CiAKQEAgLTUwLDkgKzUwLDEwIEBAIGNsYXNzIEludmFsaWRGaWxlVGVzdCA6
IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpEZWNvZGVyVGVzdCwKICAgICAgICAgPDwgIlJlc3VsdCBm
aWxlIG9wZW4gZmFpbGVkLiBGaWxlbmFtZTogIiA8PCByZXNfZmlsZV9uYW1lXzsKICAgfQogCi0g
IGJvb2wgSGFuZGxlRGVjb2RlUmVzdWx0KGNvbnN0IHZweF9jb2RlY19lcnJfdCByZXNfZGVjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ2cHhfdGVzdDo6Q29tcHJlc3NlZFZp
ZGVvU291cmNlICZ2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlidnB4X3Rlc3Q6
OkRlY29kZXIgKmRlY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCBib29sIEhhbmRsZURlY29k
ZVJlc3VsdCgKKyAgICAgIGNvbnN0IHZweF9jb2RlY19lcnJfdCByZXNfZGVjLAorICAgICAgY29u
c3QgbGlidnB4X3Rlc3Q6OkNvbXByZXNzZWRWaWRlb1NvdXJjZSAmdmlkZW8sCisgICAgICBsaWJ2
cHhfdGVzdDo6RGVjb2RlciAqZGVjb2RlcikgewogICAgIEVYUEVDVF9ORShyZXNfZmlsZV8sIG51
bGxwdHIpOwogICAgIGludCBleHBlY3RlZF9yZXNfZGVjOwogCkBAIC0xNzEsOSArMTcyLDkgQEAg
VlA5X0lOU1RBTlRJQVRFX1RFU1RfU1VJVEUoSW52YWxpZEZpbGVUZXN0LAogY2xhc3MgSW52YWxp
ZEZpbGVJbnZhbGlkUGVla1Rlc3QgOiBwdWJsaWMgSW52YWxpZEZpbGVUZXN0IHsKICBwcm90ZWN0
ZWQ6CiAgIEludmFsaWRGaWxlSW52YWxpZFBlZWtUZXN0KCkgOiBJbnZhbGlkRmlsZVRlc3QoKSB7
fQotICB2b2lkIEhhbmRsZVBlZWtSZXN1bHQobGlidnB4X3Rlc3Q6OkRlY29kZXIgKmNvbnN0IC8q
ZGVjb2RlciovLAotICAgICAgICAgICAgICAgICAgICAgICAgbGlidnB4X3Rlc3Q6OkNvbXByZXNz
ZWRWaWRlb1NvdXJjZSAqIC8qdmlkZW8qLywKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHZweF9jb2RlY19lcnJfdCAvKnJlc19wZWVrKi8pIG92ZXJyaWRlIHt9CisgIHZpcnR1YWwgdm9p
ZCBIYW5kbGVQZWVrUmVzdWx0KGxpYnZweF90ZXN0OjpEZWNvZGVyICpjb25zdCAvKmRlY29kZXIq
LywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlidnB4X3Rlc3Q6OkNvbXByZXNz
ZWRWaWRlb1NvdXJjZSAqIC8qdmlkZW8qLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdnB4X2NvZGVjX2Vycl90IC8qcmVzX3BlZWsqLykge30KIH07CiAKIFRFU1RfUChJ
bnZhbGlkRmlsZUludmFsaWRQZWVrVGVzdCwgUmV0dXJuQ29kZSkgeyBSdW5UZXN0KCk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9pdmZfdmlkZW9fc291cmNlLmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvaXZmX3ZpZGVvX3NvdXJjZS5oCmluZGV4IDNjY2FjNjJiNTE4Mi4uMjJjMDVlY2RlOWVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvaXZmX3ZpZGVvX3NvdXJjZS5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC9pdmZfdmlkZW9fc291cmNlLmgKQEAgLTI5LDI1ICsyOSwyNSBAQCBzdGF0
aWMgdW5zaWduZWQgaW50IE1lbUdldExlMzIoY29uc3QgdWludDhfdCAqbWVtKSB7CiBjbGFzcyBJ
VkZWaWRlb1NvdXJjZSA6IHB1YmxpYyBDb21wcmVzc2VkVmlkZW9Tb3VyY2UgewogIHB1YmxpYzoK
ICAgZXhwbGljaXQgSVZGVmlkZW9Tb3VyY2UoY29uc3Qgc3RkOjpzdHJpbmcgJmZpbGVfbmFtZSkK
LSAgICAgIDogZmlsZV9uYW1lXyhmaWxlX25hbWUpLCBpbnB1dF9maWxlXyhudWxscHRyKSwKLSAg
ICAgICAgY29tcHJlc3NlZF9mcmFtZV9idWZfKG51bGxwdHIpLCBmcmFtZV9zel8oMCksIGZyYW1l
XygwKSwKLSAgICAgICAgZW5kX29mX2ZpbGVfKGZhbHNlKSB7fQorICAgICAgOiBmaWxlX25hbWVf
KGZpbGVfbmFtZSksIGlucHV0X2ZpbGVfKE5VTEwpLCBjb21wcmVzc2VkX2ZyYW1lX2J1Zl8oTlVM
TCksCisgICAgICAgIGZyYW1lX3N6XygwKSwgZnJhbWVfKDApLCBlbmRfb2ZfZmlsZV8oZmFsc2Up
IHt9CiAKLSAgfklWRlZpZGVvU291cmNlKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIH5JVkZWaWRl
b1NvdXJjZSgpIHsKICAgICBkZWxldGVbXSBjb21wcmVzc2VkX2ZyYW1lX2J1Zl87CiAKICAgICBp
ZiAoaW5wdXRfZmlsZV8pIGZjbG9zZShpbnB1dF9maWxlXyk7CiAgIH0KIAotICB2b2lkIEluaXQo
KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBJbml0KCkgewogICAgIC8vIEFsbG9jYXRlIGEg
YnVmZmVyIGZvciByZWFkIGluIHRoZSBjb21wcmVzc2VkIHZpZGVvIGZyYW1lLgogICAgIGNvbXBy
ZXNzZWRfZnJhbWVfYnVmXyA9IG5ldyB1aW50OF90W2xpYnZweF90ZXN0OjprQ29kZUJ1ZmZlclNp
emVdOwotICAgIEFTU0VSVF9ORShjb21wcmVzc2VkX2ZyYW1lX2J1Zl8sIG51bGxwdHIpIDw8ICJB
bGxvY2F0ZSBmcmFtZSBidWZmZXIgZmFpbGVkIjsKKyAgICBBU1NFUlRfVFJVRShjb21wcmVzc2Vk
X2ZyYW1lX2J1Zl8gIT0gTlVMTCkKKyAgICAgICAgPDwgIkFsbG9jYXRlIGZyYW1lIGJ1ZmZlciBm
YWlsZWQiOwogICB9CiAKLSAgdm9pZCBCZWdpbigpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lk
IEJlZ2luKCkgewogICAgIGlucHV0X2ZpbGVfID0gT3BlblRlc3REYXRhRmlsZShmaWxlX25hbWVf
KTsKLSAgICBBU1NFUlRfTkUoaW5wdXRfZmlsZV8sIG51bGxwdHIpCisgICAgQVNTRVJUX1RSVUUo
aW5wdXRfZmlsZV8gIT0gTlVMTCkKICAgICAgICAgPDwgIklucHV0IGZpbGUgb3BlbiBmYWlsZWQu
IEZpbGVuYW1lOiAiIDw8IGZpbGVfbmFtZV87CiAKICAgICAvLyBSZWFkIGZpbGUgaGVhZGVyCkBA
IC02MiwxMyArNjIsMTMgQEAgY2xhc3MgSVZGVmlkZW9Tb3VyY2UgOiBwdWJsaWMgQ29tcHJlc3Nl
ZFZpZGVvU291cmNlIHsKICAgICBGaWxsRnJhbWUoKTsKICAgfQogCi0gIHZvaWQgTmV4dCgpIG92
ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIE5leHQoKSB7CiAgICAgKytmcmFtZV87CiAgICAgRmls
bEZyYW1lKCk7CiAgIH0KIAogICB2b2lkIEZpbGxGcmFtZSgpIHsKLSAgICBBU1NFUlRfTkUoaW5w
dXRfZmlsZV8sIG51bGxwdHIpOworICAgIEFTU0VSVF9UUlVFKGlucHV0X2ZpbGVfICE9IE5VTEwp
OwogICAgIHVpbnQ4X3QgZnJhbWVfaGRyW2tJdmZGcmFtZUhkclNpemVdOwogICAgIC8vIENoZWNr
IGZyYW1lIGhlYWRlciBhbmQgcmVhZCBhIGZyYW1lIGZyb20gaW5wdXRfZmlsZS4KICAgICBpZiAo
ZnJlYWQoZnJhbWVfaGRyLCAxLCBrSXZmRnJhbWVIZHJTaXplLCBpbnB1dF9maWxlXykgIT0KQEAg
LTg2LDExICs4NiwxMSBAQCBjbGFzcyBJVkZWaWRlb1NvdXJjZSA6IHB1YmxpYyBDb21wcmVzc2Vk
VmlkZW9Tb3VyY2UgewogICAgIH0KICAgfQogCi0gIGNvbnN0IHVpbnQ4X3QgKmN4ZGF0YSgpIGNv
bnN0IG92ZXJyaWRlIHsKLSAgICByZXR1cm4gZW5kX29mX2ZpbGVfID8gbnVsbHB0ciA6IGNvbXBy
ZXNzZWRfZnJhbWVfYnVmXzsKKyAgdmlydHVhbCBjb25zdCB1aW50OF90ICpjeGRhdGEoKSBjb25z
dCB7CisgICAgcmV0dXJuIGVuZF9vZl9maWxlXyA/IE5VTEwgOiBjb21wcmVzc2VkX2ZyYW1lX2J1
Zl87CiAgIH0KLSAgc2l6ZV90IGZyYW1lX3NpemUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
cmFtZV9zel87IH0KLSAgdW5zaWduZWQgaW50IGZyYW1lX251bWJlcigpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZyYW1lXzsgfQorICB2aXJ0dWFsIHNpemVfdCBmcmFtZV9zaXplKCkgY29uc3Qg
eyByZXR1cm4gZnJhbWVfc3pfOyB9CisgIHZpcnR1YWwgdW5zaWduZWQgaW50IGZyYW1lX251bWJl
cigpIGNvbnN0IHsgcmV0dXJuIGZyYW1lXzsgfQogCiAgcHJvdGVjdGVkOgogICBzdGQ6OnN0cmlu
ZyBmaWxlX25hbWVfOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2tleWZyYW1lX3Rlc3Qu
Y2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3Rlc3Qva2V5ZnJhbWVfdGVzdC5jYwppbmRleCBkYWJmODhlNDE1YmUu
LmExM2RlYzljZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2tleWZyYW1lX3Rlc3Qu
Y2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2tleWZyYW1lX3Rlc3QuY2MKQEAgLTIyLDkgKzIyLDkg
QEAgY2xhc3MgS2V5ZnJhbWVUZXN0CiAgICAgICBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6Q29kZWNU
ZXN0V2l0aFBhcmFtPGxpYnZweF90ZXN0OjpUZXN0TW9kZT4gewogIHByb3RlY3RlZDoKICAgS2V5
ZnJhbWVUZXN0KCkgOiBFbmNvZGVyVGVzdChHRVRfUEFSQU0oMCkpIHt9Ci0gIH5LZXlmcmFtZVRl
c3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfktleWZyYW1lVGVzdCgpIHt9CiAK
LSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAg
IEluaXRpYWxpemVDb25maWcoKTsKICAgICBTZXRNb2RlKEdFVF9QQVJBTSgxKSk7CiAgICAga2Zf
Y291bnRfID0gMDsKQEAgLTMzLDggKzMzLDggQEAgY2xhc3MgS2V5ZnJhbWVUZXN0CiAgICAgc2V0
X2NwdV91c2VkXyA9IDA7CiAgIH0KIAotICB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZw
eF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6
bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lk
IFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAq
ZW5jb2RlcikgewogICAgIGlmIChrZl9kb19mb3JjZV9rZl8pIHsKICAgICAgIGZyYW1lX2ZsYWdz
XyA9ICh2aWRlby0+ZnJhbWUoKSAlIDMpID8gMCA6IFZQWF9FRkxBR19GT1JDRV9LRjsKICAgICB9
CkBAIC00Myw3ICs0Myw3IEBAIGNsYXNzIEtleWZyYW1lVGVzdAogICAgIH0KICAgfQogCi0gIHZv
aWQgRnJhbWVQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7
CisgIHZpcnR1YWwgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpw
a3QpIHsKICAgICBpZiAocGt0LT5kYXRhLmZyYW1lLmZsYWdzICYgVlBYX0ZSQU1FX0lTX0tFWSkg
ewogICAgICAga2ZfcHRzX2xpc3RfLnB1c2hfYmFjayhwa3QtPmRhdGEuZnJhbWUucHRzKTsKICAg
ICAgIGtmX2NvdW50XysrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2xldmVsX3Rlc3Qu
Y2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3Rlc3QvbGV2ZWxfdGVzdC5jYwppbmRleCAzZjFjZjlmMWM1YzguLjAz
OGQ3NWY0NGY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L2xldmVsX3Rlc3QuY2MKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC90ZXN0L2xldmVsX3Rlc3QuY2MKQEAgLTIyLDkgKzIyLDkgQEAgY2xhc3Mg
TGV2ZWxUZXN0CiAgICAgICA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgwKSksIGVuY29kaW5nX21v
ZGVfKEdFVF9QQVJBTSgxKSksCiAgICAgICAgIGNwdV91c2VkXyhHRVRfUEFSQU0oMikpLCBtaW5f
Z2ZfaW50ZXJuYWxfKDI0KSwgdGFyZ2V0X2xldmVsXygwKSwKICAgICAgICAgbGV2ZWxfKDApIHt9
Ci0gIH5MZXZlbFRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkxldmVsVGVz
dCgpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVw
KCkgewogICAgIEluaXRpYWxpemVDb25maWcoKTsKICAgICBTZXRNb2RlKGVuY29kaW5nX21vZGVf
KTsKICAgICBpZiAoZW5jb2RpbmdfbW9kZV8gIT0gOjpsaWJ2cHhfdGVzdDo6a1JlYWxUaW1lKSB7
CkBAIC00MSw4ICs0MSw4IEBAIGNsYXNzIExldmVsVGVzdAogICAgIGNmZ18ucmNfbWluX3F1YW50
aXplciA9IDA7CiAgIH0KIAotICB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0
OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4
X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFByZUVu
Y29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rl
cikgewogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CiAgICAgICBlbmNvZGVyLT5Db250
cm9sKFZQOEVfU0VUX0NQVVVTRUQsIGNwdV91c2VkXyk7CiAgICAgICBlbmNvZGVyLT5Db250cm9s
KFZQOUVfU0VUX1RBUkdFVF9MRVZFTCwgdGFyZ2V0X2xldmVsXyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvbHBmX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvbHBmX3Rlc3QuY2MKaW5k
ZXggY2UwZGRlYWUxODNhLi42MmM2ZjMwYTA3MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9scGZfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvbHBmX3Rlc3QuY2MKQEAgLTEyOSwx
NSArMTI5LDE1IEBAIHVpbnQ4X3QgR2V0SGV2VGhyZXNoKEFDTVJhbmRvbSAqcm5kKSB7CiAKIGNs
YXNzIExvb3A4VGVzdDZQYXJhbSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08bG9v
cDhfcGFyYW1fdD4gewogIHB1YmxpYzoKLSAgfkxvb3A4VGVzdDZQYXJhbSgpIG92ZXJyaWRlID0g
ZGVmYXVsdDsKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB+TG9vcDhUZXN0
NlBhcmFtKCkge30KKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIGxvb3BmaWx0ZXJfb3Bf
ID0gR0VUX1BBUkFNKDApOwogICAgIHJlZl9sb29wZmlsdGVyX29wXyA9IEdFVF9QQVJBTSgxKTsK
ICAgICBiaXRfZGVwdGhfID0gR0VUX1BBUkFNKDIpOwogICAgIG1hc2tfID0gKDEgPDwgYml0X2Rl
cHRoXykgLSAxOwogICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsgbGlidnB4X3Rl
c3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQorICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7IGxp
YnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KIAogIHByb3RlY3RlZDoKICAgaW50IGJp
dF9kZXB0aF87CkBAIC0xNDcsMTkgKzE0NywxOSBAQCBjbGFzcyBMb29wOFRlc3Q2UGFyYW0gOiBw
dWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPGxvb3A4X3BhcmFtX3Q+IHsKIH07CiBHVEVT
VF9BTExPV19VTklOU1RBTlRJQVRFRF9QQVJBTUVURVJJWkVEX1RFU1QoTG9vcDhUZXN0NlBhcmFt
KTsKIAotI2lmIEhBVkVfTkVPTiB8fCBIQVZFX1NTRTIgfHwgKEhBVkVfTFNYICYmICFDT05GSUdf
VlA5X0hJR0hCSVRERVBUSCkgfHwgXAorI2lmIEhBVkVfTkVPTiB8fCBIQVZFX1NTRTIgfHwgXAog
ICAgIChIQVZFX0RTUFIyIHx8IEhBVkVfTVNBICYmICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSCkK
IGNsYXNzIExvb3A4VGVzdDlQYXJhbSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08
ZHVhbGxvb3A4X3BhcmFtX3Q+IHsKICBwdWJsaWM6Ci0gIH5Mb29wOFRlc3Q5UGFyYW0oKSBvdmVy
cmlkZSA9IGRlZmF1bHQ7Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgfkxv
b3A4VGVzdDlQYXJhbSgpIHt9CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBsb29wZmls
dGVyX29wXyA9IEdFVF9QQVJBTSgwKTsKICAgICByZWZfbG9vcGZpbHRlcl9vcF8gPSBHRVRfUEFS
QU0oMSk7CiAgICAgYml0X2RlcHRoXyA9IEdFVF9QQVJBTSgyKTsKICAgICBtYXNrXyA9ICgxIDw8
IGJpdF9kZXB0aF8pIC0gMTsKICAgfQogCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7IGxp
YnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVhbCB2b2lkIFRlYXJEb3du
KCkgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6CiAg
IGludCBiaXRfZGVwdGhfOwpAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIExvb3A4VGVzdDlQYXJh
bSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08ZHVhbGxvb3A4X3BhcmFtX3Q+IHsK
IH07CiBHVEVTVF9BTExPV19VTklOU1RBTlRJQVRFRF9QQVJBTUVURVJJWkVEX1RFU1QoTG9vcDhU
ZXN0OVBhcmFtKTsKICNlbmRpZiAgLy8gSEFWRV9ORU9OIHx8IEhBVkVfU1NFMiB8fCAoSEFWRV9E
U1BSMiB8fCBIQVZFX01TQSAmJgotICAgICAgICAvLyAoIUNPTkZJR19WUDlfSElHSEJJVERFUFRI
KSB8fCAoSEFWRV9MU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRIKSkKKyAgICAgICAgLy8g
KCFDT05GSUdfVlA5X0hJR0hCSVRERVBUSCkpCiAKIFRFU1RfUChMb29wOFRlc3Q2UGFyYW0sIE9w
ZXJhdGlvbkNoZWNrKSB7CiAgIEFDTVJhbmRvbSBybmQoQUNNUmFuZG9tOjpEZXRlcm1pbmlzdGlj
U2VlZCgpKTsKQEAgLTI4MSw3ICsyODEsNyBAQCBURVNUX1AoTG9vcDhUZXN0NlBhcmFtLCBWYWx1
ZUNoZWNrKSB7CiAgICAgICA8PCAiRmlyc3QgZmFpbGVkIGF0IHRlc3QgY2FzZSAiIDw8IGZpcnN0
X2ZhaWx1cmU7CiB9CiAKLSNpZiBIQVZFX05FT04gfHwgSEFWRV9TU0UyIHx8IChIQVZFX0xTWCAm
JiAoIUNPTkZJR19WUDlfSElHSEJJVERFUFRIKSkgfHwgXAorI2lmIEhBVkVfTkVPTiB8fCBIQVZF
X1NTRTIgfHwgXAogICAgIChIQVZFX0RTUFIyIHx8IEhBVkVfTVNBICYmICghQ09ORklHX1ZQOV9I
SUdIQklUREVQVEgpKQogVEVTVF9QKExvb3A4VGVzdDlQYXJhbSwgT3BlcmF0aW9uQ2hlY2spIHsK
ICAgQUNNUmFuZG9tIHJuZChBQ01SYW5kb206OkRldGVybWluaXN0aWNTZWVkKCkpOwpAQCAtNDEx
LDcgKzQxMSw2IEBAIFRFU1RfUChMb29wOFRlc3Q5UGFyYW0sIFZhbHVlQ2hlY2spIHsKICAgICAg
IDw8ICJGaXJzdCBmYWlsZWQgYXQgdGVzdCBjYXNlICIgPDwgZmlyc3RfZmFpbHVyZTsKIH0KICNl
bmRpZiAgLy8gSEFWRV9ORU9OIHx8IEhBVkVfU1NFMiB8fCAoSEFWRV9EU1BSMiB8fCBIQVZFX01T
QSAmJgotICAgICAgICAvLyAoIUNPTkZJR19WUDlfSElHSEJJVERFUFRIKSkgfHwgKEhBVkVfTFNY
ICYmCiAgICAgICAgIC8vICghQ09ORklHX1ZQOV9ISUdIQklUREVQVEgpKQogCiB1c2luZyBzdGQ6
Om1ha2VfdHVwbGU7CkBAIC02OTMsMjkgKzY5Miw0IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVf
UCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfbHBmX3ZlcnRpY2FsXzhf
ZHVhbF9jLCA4KSkpOwogI2VuZGlmICAvLyBIQVZFX01TQSAmJiAoIUNPTkZJR19WUDlfSElHSEJJ
VERFUFRIKQogCi0jaWYgSEFWRV9MU1ggJiYgKCFDT05GSUdfVlA5X0hJR0hCSVRERVBUSCkKLUlO
U1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAgICBMU1gsIExvb3A4VGVzdDZQYXJhbSwKLSAgICA6
OnRlc3Rpbmc6OlZhbHVlcygKLSAgICAgICAgbWFrZV90dXBsZSgmdnB4X2xwZl9ob3Jpem9udGFs
XzRfbHN4LCAmdnB4X2xwZl9ob3Jpem9udGFsXzRfYywgOCksCi0gICAgICAgIG1ha2VfdHVwbGUo
JnZweF9scGZfaG9yaXpvbnRhbF84X2xzeCwgJnZweF9scGZfaG9yaXpvbnRhbF84X2MsIDgpLAot
ICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfbHBmX2hvcml6b250YWxfMTZfZHVhbF9sc3gsCi0gICAg
ICAgICAgICAgICAgICAgJnZweF9scGZfaG9yaXpvbnRhbF8xNl9kdWFsX2MsIDgpLAotICAgICAg
ICBtYWtlX3R1cGxlKCZ2cHhfbHBmX3ZlcnRpY2FsXzRfbHN4LCAmdnB4X2xwZl92ZXJ0aWNhbF80
X2MsIDgpLAotICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfbHBmX3ZlcnRpY2FsXzhfbHN4LCAmdnB4
X2xwZl92ZXJ0aWNhbF84X2MsIDgpLAotICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfbHBmX3ZlcnRp
Y2FsXzE2X2R1YWxfbHN4LCAmdnB4X2xwZl92ZXJ0aWNhbF8xNl9kdWFsX2MsCi0gICAgICAgICAg
ICAgICAgICAgOCkpKTsKLQotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAotICAgIExTWCwgTG9v
cDhUZXN0OVBhcmFtLAotICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUoJnZweF9scGZf
aG9yaXpvbnRhbF80X2R1YWxfbHN4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JnZweF9scGZfaG9yaXpvbnRhbF80X2R1YWxfYywgOCksCi0gICAgICAgICAgICAgICAgICAgICAg
bWFrZV90dXBsZSgmdnB4X2xwZl9ob3Jpem9udGFsXzhfZHVhbF9sc3gsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmdnB4X2xwZl9ob3Jpem9udGFsXzhfZHVhbF9jLCA4KSwKLSAg
ICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfbHBmX3ZlcnRpY2FsXzRfZHVhbF9s
c3gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2xwZl92ZXJ0aWNhbF80
X2R1YWxfYywgOCksCi0gICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSgmdnB4X2xwZl92
ZXJ0aWNhbF84X2R1YWxfbHN4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZw
eF9scGZfdmVydGljYWxfOF9kdWFsX2MsIDgpKSk7Ci0jZW5kaWYgIC8vIEhBVkVfTFNYICYmICgh
Q09ORklHX1ZQOV9ISUdIQklUREVQVEgpCi0KIH0gIC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L21kNV9oZWxwZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9tZDVfaGVscGVy
LmgKaW5kZXggOTA5NWQ5NmE4YTNiLi5kYzI4ZGM2MjgzYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdGVzdC9tZDVfaGVscGVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L21kNV9oZWxwZXIuaApA
QCAtNDcsNyArNDcsNyBAQCBjbGFzcyBNRDUgewogICAgIE1ENVVwZGF0ZSgmbWQ1XywgZGF0YSwg
c3RhdGljX2Nhc3Q8dWludDMyX3Q+KHNpemUpKTsKICAgfQogCi0gIGNvbnN0IGNoYXIgKkdldCgp
IHsKKyAgY29uc3QgY2hhciAqR2V0KHZvaWQpIHsKICAgICBzdGF0aWMgY29uc3QgY2hhciBoZXhb
MTZdID0gewogICAgICAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsCiAg
ICAgICAnOCcsICc5JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC9taW5tYXhfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9taW5tYXhf
dGVzdC5jYwppbmRleCBiNDk1NzA5MDYzYTYuLjEyMzI3YmMxODhhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L21pbm1heF90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9taW5tYXhf
dGVzdC5jYwpAQCAtMTUsNyArMTUsNiBAQAogCiAjaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIK
ICNpbmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKLSNpbmNsdWRlICJ2cHhfbWVtL3ZweF9tZW0u
aCIKIAogI2luY2x1ZGUgInRlc3QvYWNtX3JhbmRvbS5oIgogI2luY2x1ZGUgInRlc3QvcmVnaXN0
ZXJfc3RhdGVfY2hlY2suaCIKQEAgLTI5LDcgKzI4LDcgQEAgdHlwZWRlZiB2b2lkICgqTWluTWF4
RnVuYykoY29uc3QgdWludDhfdCAqYSwgaW50IGFfc3RyaWRlLCBjb25zdCB1aW50OF90ICpiLAog
CiBjbGFzcyBNaW5NYXhUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxNaW5N
YXhGdW5jPiB7CiAgcHVibGljOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFs
IHZvaWQgU2V0VXAoKSB7CiAgICAgbW1fZnVuY18gPSBHZXRQYXJhbSgpOwogICAgIHJuZF8uUmVz
ZXQoQUNNUmFuZG9tOjpEZXRlcm1pbmlzdGljU2VlZCgpKTsKICAgfQpAQCAtMTE2LDExNSArMTE1
LDcgQEAgVEVTVF9QKE1pbk1heFRlc3QsIENvbXBhcmVSZWZlcmVuY2VBbmRWYXJ5U3RyaWRlKSB7
CiAgIH0KIH0KIAotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLXVzaW5nIEhCRE1pbk1h
eFRlc3QgPSBNaW5NYXhUZXN0OwotCi12b2lkIGhpZ2hiZF9yZWZlcmVuY2VfbWlubWF4KGNvbnN0
IHVpbnQ4X3QgKmEsIGludCBhX3N0cmlkZSwgY29uc3QgdWludDhfdCAqYiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGJfc3RyaWRlLCBpbnQgKm1pbl9yZXQsIGludCAqbWF4X3Jl
dCkgewotICBpbnQgbWluID0gNjU1MzU7Ci0gIGludCBtYXggPSAwOwotICBjb25zdCB1aW50MTZf
dCAqYV9wdHIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKGEpOwotICBjb25zdCB1aW50MTZfdCAqYl9w
dHIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKGIpOwotICBmb3IgKGludCBpID0gMDsgaSA8IDg7IGkr
KykgewotICAgIGZvciAoaW50IGogPSAwOyBqIDwgODsgaisrKSB7Ci0gICAgICBjb25zdCBpbnQg
ZGlmZiA9IGFicyhhX3B0cltpICogYV9zdHJpZGUgKyBqXSAtIGJfcHRyW2kgKiBiX3N0cmlkZSAr
IGpdKTsKLSAgICAgIGlmIChtaW4gPiBkaWZmKSBtaW4gPSBkaWZmOwotICAgICAgaWYgKG1heCA8
IGRpZmYpIG1heCA9IGRpZmY7Ci0gICAgfQotICB9Ci0KLSAgKm1pbl9yZXQgPSBtaW47Ci0gICpt
YXhfcmV0ID0gbWF4OwotfQotCi1URVNUX1AoSEJETWluTWF4VGVzdCwgTWluVmFsdWUpIHsKLSAg
dWludDhfdCAqYSA9IENPTlZFUlRfVE9fQllURVBUUigKLSAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDE2X3QgKj4odnB4X21hbGxvYyg2NCAqIHNpemVvZih1aW50MTZfdCkpKSk7Ci0gIHVpbnQ4
X3QgKmIgPSBDT05WRVJUX1RPX0JZVEVQVFIoCi0gICAgICByZWludGVycHJldF9jYXN0PHVpbnQx
Nl90ICo+KHZweF9tYWxsb2MoNjQgKiBzaXplb2YodWludDE2X3QpKSkpOwotICBmb3IgKGludCBp
ID0gMDsgaSA8IDY0OyBpKyspIHsKLSAgICB2cHhfbWVtc2V0MTYoQ09OVkVSVF9UT19TSE9SVFBU
UihhKSwgMCwgNjQpOwotICAgIHZweF9tZW1zZXQxNihDT05WRVJUX1RPX1NIT1JUUFRSKGIpLCA2
NTUzNSwgNjQpOwotICAgIENPTlZFUlRfVE9fU0hPUlRQVFIoYilbaV0gPSBpOyAgLy8gU2V0IGEg
bWluaW11bSBkaWZmZXJlbmNlIG9mIGkuCi0KLSAgICBpbnQgbWluLCBtYXg7Ci0gICAgQVNNX1JF
R0lTVEVSX1NUQVRFX0NIRUNLKG1tX2Z1bmNfKGEsIDgsIGIsIDgsICZtaW4sICZtYXgpKTsKLSAg
ICBFWFBFQ1RfRVEoNjU1MzUsIG1heCk7Ci0gICAgRVhQRUNUX0VRKGksIG1pbik7Ci0gIH0KLSAg
dnB4X2ZyZWUoQ09OVkVSVF9UT19TSE9SVFBUUihhKSk7Ci0gIHZweF9mcmVlKENPTlZFUlRfVE9f
U0hPUlRQVFIoYikpOwotfQotCi1URVNUX1AoSEJETWluTWF4VGVzdCwgTWF4VmFsdWUpIHsKLSAg
dWludDhfdCAqYSA9IENPTlZFUlRfVE9fQllURVBUUigKLSAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDE2X3QgKj4odnB4X21hbGxvYyg2NCAqIHNpemVvZih1aW50MTZfdCkpKSk7Ci0gIHVpbnQ4
X3QgKmIgPSBDT05WRVJUX1RPX0JZVEVQVFIoCi0gICAgICByZWludGVycHJldF9jYXN0PHVpbnQx
Nl90ICo+KHZweF9tYWxsb2MoNjQgKiBzaXplb2YodWludDE2X3QpKSkpOwotICBmb3IgKGludCBp
ID0gMDsgaSA8IDY0OyBpKyspIHsKLSAgICB2cHhfbWVtc2V0MTYoQ09OVkVSVF9UT19TSE9SVFBU
UihhKSwgMCwgNjQpOwotICAgIHZweF9tZW1zZXQxNihDT05WRVJUX1RPX1NIT1JUUFRSKGIpLCAw
LCA2NCk7Ci0gICAgQ09OVkVSVF9UT19TSE9SVFBUUihiKVtpXSA9IGk7ICAvLyBTZXQgYSBtaW5p
bXVtIGRpZmZlcmVuY2Ugb2YgaS4KLQotICAgIGludCBtaW4sIG1heDsKLSAgICBBU01fUkVHSVNU
RVJfU1RBVEVfQ0hFQ0sobW1fZnVuY18oYSwgOCwgYiwgOCwgJm1pbiwgJm1heCkpOwotICAgIEVY
UEVDVF9FUShpLCBtYXgpOwotICAgIEVYUEVDVF9FUSgwLCBtaW4pOwotICB9Ci0gIHZweF9mcmVl
KENPTlZFUlRfVE9fU0hPUlRQVFIoYSkpOwotICB2cHhfZnJlZShDT05WRVJUX1RPX1NIT1JUUFRS
KGIpKTsKLX0KLQotVEVTVF9QKEhCRE1pbk1heFRlc3QsIENvbXBhcmVSZWZlcmVuY2UpIHsKLSAg
dWludDhfdCAqYSA9IENPTlZFUlRfVE9fQllURVBUUigKLSAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDE2X3QgKj4odnB4X21hbGxvYyg2NCAqIHNpemVvZih1aW50MTZfdCkpKSk7Ci0gIHVpbnQ4
X3QgKmIgPSBDT05WRVJUX1RPX0JZVEVQVFIoCi0gICAgICByZWludGVycHJldF9jYXN0PHVpbnQx
Nl90ICo+KHZweF9tYWxsb2MoNjQgKiBzaXplb2YodWludDE2X3QpKSkpOwotICBmb3IgKGludCBq
ID0gMDsgaiA8IDY0OyBqKyspIHsKLSAgICBDT05WRVJUX1RPX1NIT1JUUFRSKGEpW2pdID0gcm5k
Xy5SYW5kMTYoKTsKLSAgICBDT05WRVJUX1RPX1NIT1JUUFRSKGIpW2pdID0gcm5kXy5SYW5kMTYo
KTsKLSAgfQotCi0gIGludCBtaW5fcmVmLCBtYXhfcmVmLCBtaW4sIG1heDsKLSAgaGlnaGJkX3Jl
ZmVyZW5jZV9taW5tYXgoYSwgOCwgYiwgOCwgJm1pbl9yZWYsICZtYXhfcmVmKTsKLSAgQVNNX1JF
R0lTVEVSX1NUQVRFX0NIRUNLKG1tX2Z1bmNfKGEsIDgsIGIsIDgsICZtaW4sICZtYXgpKTsKLSAg
dnB4X2ZyZWUoQ09OVkVSVF9UT19TSE9SVFBUUihhKSk7Ci0gIHZweF9mcmVlKENPTlZFUlRfVE9f
U0hPUlRQVFIoYikpOwotICBFWFBFQ1RfRVEobWF4X3JlZiwgbWF4KTsKLSAgRVhQRUNUX0VRKG1p
bl9yZWYsIG1pbik7Ci19Ci0KLVRFU1RfUChIQkRNaW5NYXhUZXN0LCBDb21wYXJlUmVmZXJlbmNl
QW5kVmFyeVN0cmlkZSkgewotICB1aW50OF90ICphID0gQ09OVkVSVF9UT19CWVRFUFRSKAotICAg
ICAgcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCAqPih2cHhfbWFsbG9jKCg4ICogNjQpICogc2l6
ZW9mKHVpbnQxNl90KSkpKTsKLSAgdWludDhfdCAqYiA9IENPTlZFUlRfVE9fQllURVBUUigKLSAg
ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QgKj4odnB4X21hbGxvYygoOCAqIDY0KSAqIHNp
emVvZih1aW50MTZfdCkpKSk7Ci0gIGZvciAoaW50IGkgPSAwOyBpIDwgOCAqIDY0OyBpKyspIHsK
LSAgICBDT05WRVJUX1RPX1NIT1JUUFRSKGEpW2ldID0gcm5kXy5SYW5kMTYoKTsKLSAgICBDT05W
RVJUX1RPX1NIT1JUUFRSKGIpW2ldID0gcm5kXy5SYW5kMTYoKTsKLSAgfQotICBmb3IgKGludCBh
X3N0cmlkZSA9IDg7IGFfc3RyaWRlIDw9IDY0OyBhX3N0cmlkZSArPSA4KSB7Ci0gICAgZm9yIChp
bnQgYl9zdHJpZGUgPSA4OyBiX3N0cmlkZSA8PSA2NDsgYl9zdHJpZGUgKz0gOCkgewotICAgICAg
aW50IG1pbl9yZWYsIG1heF9yZWYsIG1pbiwgbWF4OwotICAgICAgaGlnaGJkX3JlZmVyZW5jZV9t
aW5tYXgoYSwgYV9zdHJpZGUsIGIsIGJfc3RyaWRlLCAmbWluX3JlZiwgJm1heF9yZWYpOwotICAg
ICAgQVNNX1JFR0lTVEVSX1NUQVRFX0NIRUNLKG1tX2Z1bmNfKGEsIGFfc3RyaWRlLCBiLCBiX3N0
cmlkZSwgJm1pbiwgJm1heCkpOwotICAgICAgRVhQRUNUX0VRKG1heF9yZWYsIG1heCkKLSAgICAg
ICAgICA8PCAid2hlbiBhX3N0cmlkZSA9ICIgPDwgYV9zdHJpZGUgPDwgIiBhbmQgYl9zdHJpZGUg
PSAiIDw8IGJfc3RyaWRlOwotICAgICAgRVhQRUNUX0VRKG1pbl9yZWYsIG1pbikKLSAgICAgICAg
ICA8PCAid2hlbiBhX3N0cmlkZSA9ICIgPDwgYV9zdHJpZGUgPDwgIiBhbmQgYl9zdHJpZGUgPSAi
IDw8IGJfc3RyaWRlOwotICAgIH0KLSAgfQotICB2cHhfZnJlZShDT05WRVJUX1RPX1NIT1JUUFRS
KGEpKTsKLSAgdnB4X2ZyZWUoQ09OVkVSVF9UT19TSE9SVFBUUihiKSk7Ci19Ci0jZW5kaWYKLQog
SU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKEMsIE1pbk1heFRlc3QsIDo6dGVzdGluZzo6VmFsdWVz
KCZ2cHhfbWlubWF4Xzh4OF9jKSk7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLUlOU1RB
TlRJQVRFX1RFU1RfU1VJVEVfUChDLCBIQkRNaW5NYXhUZXN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKCZ2cHhfaGlnaGJkX21pbm1heF84eDhfYykpOwotI2Vu
ZGlmCiAKICNpZiBIQVZFX1NTRTIKIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChTU0UyLCBNaW5N
YXhUZXN0LApAQCAtMjM0LDEwICsxMjUsNiBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoU1NF
MiwgTWluTWF4VGVzdCwKICNpZiBIQVZFX05FT04KIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChO
RU9OLCBNaW5NYXhUZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFs
dWVzKCZ2cHhfbWlubWF4Xzh4OF9uZW9uKSk7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgK
LUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChORU9OLCBIQkRNaW5NYXhUZXN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKCZ2cHhfaGlnaGJkX21pbm1heF84eDhf
bmVvbikpOwotI2VuZGlmCiAjZW5kaWYKIAogI2lmIEhBVkVfTVNBCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvcGFydGlhbF9pZGN0X3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvcGFydGlh
bF9pZGN0X3Rlc3QuY2MKaW5kZXggMDFlNjNlYjY5MTg5Li5hMTYwMTIwZGUxZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC9wYXJ0aWFsX2lkY3RfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvcGFydGlhbF9pZGN0X3Rlc3QuY2MKQEAgLTU5LDggKzU5LDggQEAgY29uc3QgaW50IGtD
b3VudFRlc3RCbG9jayA9IDEwMDA7CiAKIGNsYXNzIFBhcnRpYWxJRGN0VGVzdCA6IHB1YmxpYyA6
OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08UGFydGlhbEludlR4Zm1QYXJhbT4gewogIHB1YmxpYzoK
LSAgflBhcnRpYWxJRGN0VGVzdCgpIG92ZXJyaWRlID0gZGVmYXVsdDsKLSAgdm9pZCBTZXRVcCgp
IG92ZXJyaWRlIHsKKyAgdmlydHVhbCB+UGFydGlhbElEY3RUZXN0KCkge30KKyAgdmlydHVhbCB2
b2lkIFNldFVwKCkgewogICAgIHJuZF8uUmVzZXQoQUNNUmFuZG9tOjpEZXRlcm1pbmlzdGljU2Vl
ZCgpKTsKICAgICBmd2RfdHhmbV8gPSBHRVRfUEFSQU0oMCk7CiAgICAgZnVsbF9pbnZfdHhmbV8g
PSBHRVRfUEFSQU0oMSk7CkBAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFBhcnRpYWxJRGN0VGVzdCA6
IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08UGFydGlhbEludlR4Zm1QYXJhbT4gewog
ICAgICAgY2FzZSBUWF84WDg6IHNpemVfID0gODsgYnJlYWs7CiAgICAgICBjYXNlIFRYXzE2WDE2
OiBzaXplXyA9IDE2OyBicmVhazsKICAgICAgIGNhc2UgVFhfMzJYMzI6IHNpemVfID0gMzI7IGJy
ZWFrOwotICAgICAgZGVmYXVsdDogRkFJTCgpIDw8ICJXcm9uZyBTaXplISI7CisgICAgICBkZWZh
dWx0OiBGQUlMKCkgPDwgIldyb25nIFNpemUhIjsgYnJlYWs7CiAgICAgfQogCiAgICAgLy8gUmFu
ZG9taXplIHN0cmlkZV8gdG8gYSB2YWx1ZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMTAyNApAQCAt
MTAwLDcgKzEwMCw3IEBAIGNsYXNzIFBhcnRpYWxJRGN0VGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6
OlRlc3RXaXRoUGFyYW08UGFydGlhbEludlR4Zm1QYXJhbT4gewogICAgICAgICB2cHhfbWVtYWxp
Z24oMTYsIHBpeGVsX3NpemVfICogb3V0cHV0X2Jsb2NrX3NpemVfKSk7CiAgIH0KIAotICB2b2lk
IFRlYXJEb3duKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7CiAgICAg
dnB4X2ZyZWUoaW5wdXRfYmxvY2tfKTsKICAgICBpbnB1dF9ibG9ja18gPSBudWxscHRyOwogICAg
IHZweF9mcmVlKG91dHB1dF9ibG9ja18pOwpAQCAtOTU0LDIwICs5NTQsNiBAQCBJTlNUQU5USUFU
RV9URVNUX1NVSVRFX1AoTVNBLCBQYXJ0aWFsSURjdFRlc3QsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXNJbihtc2FfcGFydGlhbF9pZGN0X3Rlc3RzKSk7CiAjZW5k
aWYgIC8vIEhBVkVfTVNBICYmICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCi0jaWYgSEFWRV9M
U1ggJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICi1jb25zdCBQYXJ0aWFsSW52VHhmbVBhcmFt
IGxzeF9wYXJ0aWFsX2lkY3RfdGVzdHNbXSA9IHsKLSAgbWFrZV90dXBsZSgmdnB4X2ZkY3QzMngz
Ml9jLCAmd3JhcHBlcjx2cHhfaWRjdDMyeDMyXzEwMjRfYWRkX2M+LAotICAgICAgICAgICAgICZ3
cmFwcGVyPHZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfbHN4PiwgVFhfMzJYMzIsIDEwMjQsIDgsIDEp
LAotICBtYWtlX3R1cGxlKCZ2cHhfZmRjdDMyeDMyX2MsICZ3cmFwcGVyPHZweF9pZGN0MzJ4MzJf
MzRfYWRkX2M+LAotICAgICAgICAgICAgICZ3cmFwcGVyPHZweF9pZGN0MzJ4MzJfMzRfYWRkX2xz
eD4sIFRYXzMyWDMyLCAzNCwgOCwgMSksCi0gIG1ha2VfdHVwbGUoJnZweF9mZGN0MzJ4MzJfYywg
JndyYXBwZXI8dnB4X2lkY3QzMngzMl8xX2FkZF9jPiwKLSAgICAgICAgICAgICAmd3JhcHBlcjx2
cHhfaWRjdDMyeDMyXzFfYWRkX2xzeD4sIFRYXzMyWDMyLCAxLCA4LCAxKSwKLX07Ci0KLUlOU1RB
TlRJQVRFX1RFU1RfU1VJVEVfUChMU1gsIFBhcnRpYWxJRGN0VGVzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlc0luKGxzeF9wYXJ0aWFsX2lkY3RfdGVzdHMpKTsK
LSNlbmRpZiAgLy8gSEFWRV9MU1ggJiYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICi0KICNlbmRp
ZiAgLy8gIUNPTkZJR19FTVVMQVRFX0hBUkRXQVJFCiAKIH0gIC8vIG5hbWVzcGFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L3BwX2ZpbHRlcl90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0
L3BwX2ZpbHRlcl90ZXN0LmNjCmluZGV4IGQyZGI4YTdjN2RmNy4uYTUxMWZmYmU5OGQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvcHBfZmlsdGVyX3Rlc3QuY2MKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90ZXN0L3BwX2ZpbHRlcl90ZXN0LmNjCkBAIC03LDExICs3LDcgQEAKICAqICBpbiB0aGUgZmls
ZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5CiAgKiAgYmUg
Zm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUu
CiAgKi8KLQogI2luY2x1ZGUgPGxpbWl0cy5oPgotCi0jaW5jbHVkZSA8bWVtb3J5PgotCiAjaW5j
bHVkZSAiLi92cHhfY29uZmlnLmgiCiAjaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKICNpbmNs
dWRlICJ0ZXN0L2FjbV9yYW5kb20uaCIKQEAgLTUxLDEwICs0NywxMCBAQCBjbGFzcyBWcHhQb3N0
UHJvY0Rvd25BbmRBY3Jvc3NNYlJvd1Rlc3QKICBwdWJsaWM6CiAgIFZweFBvc3RQcm9jRG93bkFu
ZEFjcm9zc01iUm93VGVzdCgpCiAgICAgICA6IG1iX3Bvc3RfcHJvY19kb3duX2FuZF9hY3Jvc3Nf
KEdldFBhcmFtKCkpIHt9Ci0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7IGxpYnZweF90ZXN0
OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgeyBsaWJ2
cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgUnVu
KCkgb3ZlcnJpZGU7CisgIHZpcnR1YWwgdm9pZCBSdW4oKTsKIAogICBjb25zdCBWcHhQb3N0UHJv
Y0Rvd25BbmRBY3Jvc3NNYlJvd0Z1bmMgbWJfcG9zdF9wcm9jX2Rvd25fYW5kX2Fjcm9zc187CiAg
IC8vIFNpemUgb2YgdGhlIHVuZGVybHlpbmcgZGF0YSBibG9jayB0aGF0IHdpbGwgYmUgZmlsdGVy
ZWQuCkBAIC0xMTksNyArMTE1LDcgQEAgVEVTVF9QKFZweFBvc3RQcm9jRG93bkFuZEFjcm9zc01i
Um93VGVzdCwgQ2hlY2tGaWx0ZXJPdXRwdXQpIHsKICAgfQogCiAgIHZweF9mcmVlKGZsaW1pdHNf
KTsKLX0KK307CiAKIFRFU1RfUChWcHhQb3N0UHJvY0Rvd25BbmRBY3Jvc3NNYlJvd1Rlc3QsIENo
ZWNrQ3ZzQXNzZW1ibHkpIHsKICAgLy8gU2l6ZSBvZiB0aGUgdW5kZXJseWluZyBkYXRhIGJsb2Nr
IHRoYXQgd2lsbCBiZSBmaWx0ZXJlZC4KQEAgLTIxOCw3ICsyMTQsNyBAQCBURVNUX1AoVnB4UG9z
dFByb2NEb3duQW5kQWNyb3NzTWJSb3dUZXN0LCBESVNBQkxFRF9TcGVlZCkgewogICBQcmludE1l
ZGlhbigiMTZ4MTYiKTsKIAogICB2cHhfZnJlZShmbGltaXRzXyk7Ci19Cit9OwogCiBjbGFzcyBW
cHhNYlBvc3RQcm9jQWNyb3NzSXBUZXN0CiAgICAgOiBwdWJsaWMgQWJzdHJhY3RCZW5jaCwKQEAg
LTIyNywxMCArMjIzLDEwIEBAIGNsYXNzIFZweE1iUG9zdFByb2NBY3Jvc3NJcFRlc3QKICAgVnB4
TWJQb3N0UHJvY0Fjcm9zc0lwVGVzdCgpCiAgICAgICA6IHJvd3NfKDE2KSwgY29sc18oMTYpLCBt
Yl9wb3N0X3Byb2NfYWNyb3NzX2lwXyhHZXRQYXJhbSgpKSwKICAgICAgICAgc3JjXyhCdWZmZXI8
dWludDhfdD4ocm93c18sIGNvbHNfLCA4LCA4LCAxNywgOCkpIHt9Ci0gIHZvaWQgVGVhckRvd24o
KSBvdmVycmlkZSB7IGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVh
bCB2b2lkIFRlYXJEb3duKCkgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAK
ICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgUnVuKCkgb3ZlcnJpZGU7CisgIHZpcnR1YWwgdm9pZCBSdW4o
KTsKIAogICB2b2lkIFNldENvbHModW5zaWduZWQgY2hhciAqcywgaW50IHJvd3MsIGludCBjb2xz
LCBpbnQgc3JjX3dpZHRoKSB7CiAgICAgZm9yIChpbnQgciA9IDA7IHIgPCByb3dzOyByKyspIHsK
QEAgLTM1NiwxMCArMzUyLDEwIEBAIGNsYXNzIFZweE1iUG9zdFByb2NEb3duVGVzdAogICAgICAg
OiByb3dzXygxNiksIGNvbHNfKDE2KSwgbWJfcG9zdF9wcm9jX2Rvd25fKEdldFBhcmFtKCkpLAog
ICAgICAgICBzcmNfY18oQnVmZmVyPHVpbnQ4X3Q+KHJvd3NfLCBjb2xzXywgOCwgOCwgOCwgMTcp
KSB7fQogCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7IGxpYnZweF90ZXN0OjpDbGVhclN5
c3RlbVN0YXRlKCk7IH0KKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgeyBsaWJ2cHhfdGVzdDo6
Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgUnVuKCkgb3ZlcnJp
ZGU7CisgIHZpcnR1YWwgdm9pZCBSdW4oKTsKIAogICB2b2lkIFNldFJvd3ModW5zaWduZWQgY2hh
ciAqc3JjX2MsIGludCByb3dzLCBpbnQgY29scywgaW50IHNyY193aWR0aCkgewogICAgIGZvciAo
aW50IHIgPSAwOyByIDwgcm93czsgcisrKSB7CkBAIC00NjIsMTMgKzQ1OCwxNCBAQCBURVNUX1Ao
VnB4TWJQb3N0UHJvY0Rvd25UZXN0LCBDaGVja0xvd0ZpbHRlck91dHB1dCkgewogCiAgIFNldFJv
d3Moc3JjX2NfLlRvcExlZnRQaXhlbCgpLCByb3dzXywgY29sc18sIHNyY19jXy5zdHJpZGUoKSk7
CiAKLSAgc3RkOjp1bmlxdWVfcHRyPHVuc2lnbmVkIGNoYXJbXT4gZXhwZWN0ZWRfb3V0cHV0KAot
ICAgICAgbmV3IHVuc2lnbmVkIGNoYXJbcm93c18gKiBjb2xzX10pOworICB1bnNpZ25lZCBjaGFy
ICpleHBlY3RlZF9vdXRwdXQgPSBuZXcgdW5zaWduZWQgY2hhcltyb3dzXyAqIGNvbHNfXTsKICAg
QVNTRVJUX05FKGV4cGVjdGVkX291dHB1dCwgbnVsbHB0cik7Ci0gIFNldFJvd3MoZXhwZWN0ZWRf
b3V0cHV0LmdldCgpLCByb3dzXywgY29sc18sIGNvbHNfKTsKKyAgU2V0Um93cyhleHBlY3RlZF9v
dXRwdXQsIHJvd3NfLCBjb2xzXywgY29sc18pOwogCiAgIFJ1bkZpbHRlckxldmVsKHNyY19jXy5U
b3BMZWZ0UGl4ZWwoKSwgcm93c18sIGNvbHNfLCBzcmNfY18uc3RyaWRlKCksIHEybWJsKDApLAot
ICAgICAgICAgICAgICAgICBleHBlY3RlZF9vdXRwdXQuZ2V0KCkpOworICAgICAgICAgICAgICAg
ICBleHBlY3RlZF9vdXRwdXQpOworCisgIGRlbGV0ZVtdIGV4cGVjdGVkX291dHB1dDsKIH0KIAog
VEVTVF9QKFZweE1iUG9zdFByb2NEb3duVGVzdCwgQ2hlY2tDdnNBc3NlbWJseSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L3ByZWRpY3RfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9w
cmVkaWN0X3Rlc3QuY2MKaW5kZXggNDc0ZWFiMmNiNTdhLi43NDcyOTcwNTc2MWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC9wcmVkaWN0X3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0
L3ByZWRpY3RfdGVzdC5jYwpAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBQcmVkaWN0VGVzdEJhc2Ug
OiBwdWJsaWMgQWJzdHJhY3RCZW5jaCwKICAgICAgIDogd2lkdGhfKEdFVF9QQVJBTSgwKSksIGhl
aWdodF8oR0VUX1BBUkFNKDEpKSwgcHJlZGljdF8oR0VUX1BBUkFNKDIpKSwKICAgICAgICAgc3Jj
XyhudWxscHRyKSwgcGFkZGVkX2RzdF8obnVsbHB0ciksIGRzdF8obnVsbHB0ciksIGRzdF9jXyhu
dWxscHRyKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBT
ZXRVcCgpIHsKICAgICBzcmNfID0gbmV3IHVpbnQ4X3Rba1NyY1NpemVdOwogICAgIEFTU0VSVF9O
RShzcmNfLCBudWxscHRyKTsKIApAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBQcmVkaWN0VGVzdEJh
c2UgOiBwdWJsaWMgQWJzdHJhY3RCZW5jaCwKICAgICBtZW1zZXQoZHN0X2NfLCAwLCAxNiAqIDE2
KTsKICAgfQogCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBU
ZWFyRG93bigpIHsKICAgICBkZWxldGVbXSBzcmNfOwogICAgIHNyY18gPSBudWxscHRyOwogICAg
IHZweF9mcmVlKHBhZGRlZF9kc3RfKTsKQEAgLTIwOSw3ICsyMDksNyBAQCBjbGFzcyBQcmVkaWN0
VGVzdEJhc2UgOiBwdWJsaWMgQWJzdHJhY3RCZW5jaCwKICAgICB9CiAgIH0KIAotICB2b2lkIFJ1
bigpIG92ZXJyaWRlIHsKKyAgdm9pZCBSdW4oKSB7CiAgICAgZm9yIChpbnQgeG9mZnNldCA9IDA7
IHhvZmZzZXQgPCA4OyArK3hvZmZzZXQpIHsKICAgICAgIGZvciAoaW50IHlvZmZzZXQgPSAwOyB5
b2Zmc2V0IDwgODsgKyt5b2Zmc2V0KSB7CiAgICAgICAgIGlmICh4b2Zmc2V0ID09IDAgJiYgeW9m
ZnNldCA9PSAwKSB7CkBAIC0zNTAsMTQgKzM1MCw2IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVf
UCgKICAgICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKDQsIDQsICZ2cDhfc2l4dGFwX3By
ZWRpY3Q0eDRfbW1pKSkpOwogI2VuZGlmCiAKLSNpZiBIQVZFX0xTWAotSU5TVEFOVElBVEVfVEVT
VF9TVUlURV9QKAotICAgIExTWCwgU2l4dGFwUHJlZGljdFRlc3QsCi0gICAgOjp0ZXN0aW5nOjpW
YWx1ZXMobWFrZV90dXBsZSgxNiwgMTYsICZ2cDhfc2l4dGFwX3ByZWRpY3QxNngxNl9sc3gpLAot
ICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoOCwgOCwgJnZwOF9zaXh0YXBfcHJlZGlj
dDh4OF9sc3gpLAotICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoNCwgNCwgJnZwOF9z
aXh0YXBfcHJlZGljdDR4NF9sc3gpKSk7Ci0jZW5kaWYKLQogY2xhc3MgQmlsaW5lYXJQcmVkaWN0
VGVzdCA6IHB1YmxpYyBQcmVkaWN0VGVzdEJhc2Uge307CiAKIFRFU1RfUChCaWxpbmVhclByZWRp
Y3RUZXN0LCBUZXN0V2l0aFJhbmRvbURhdGEpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9xdWFudGl6ZV90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3F1YW50aXplX3Rlc3QuY2MKaW5k
ZXggYWIzOGY1YzFiMGJkLi43OTJiMjE0MzJlYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9xdWFudGl6ZV90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9xdWFudGl6ZV90ZXN0LmNj
CkBAIC0xMjEsMTMgKzEyMSwxMyBAQCBjbGFzcyBRdWFudGl6ZVRlc3QgOiBwdWJsaWMgUXVhbnRp
emVUZXN0QmFzZSwKICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RX
aXRoUGFyYW08VlA4UXVhbnRpemVQYXJhbT4sCiAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
QWJzdHJhY3RCZW5jaCB7CiAgcHJvdGVjdGVkOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgU2V0dXBDb21wcmVzc29yKCk7CiAgICAgYXNt
X3F1YW50XyA9IEdFVF9QQVJBTSgwKTsKICAgICBjX3F1YW50XyA9IEdFVF9QQVJBTSgxKTsKICAg
fQogCi0gIHZvaWQgUnVuKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUnVuKCkgewogICAg
IGFzbV9xdWFudF8oJnZwOF9jb21wXy0+bWIuYmxvY2tbMF0sICZtYWNyb2Jsb2NrZF9kc3RfLT5i
bG9ja1swXSk7CiAgIH0KIApAQCAtMjI0LDExICsyMjQsNCBAQCBJTlNUQU5USUFURV9URVNUX1NV
SVRFX1AoCiAgICAgICAgIG1ha2VfdHVwbGUoJnZwOF9mYXN0X3F1YW50aXplX2JfbW1pLCAmdnA4
X2Zhc3RfcXVhbnRpemVfYl9jKSwKICAgICAgICAgbWFrZV90dXBsZSgmdnA4X3JlZ3VsYXJfcXVh
bnRpemVfYl9tbWksICZ2cDhfcmVndWxhcl9xdWFudGl6ZV9iX2MpKSk7CiAjZW5kaWYgIC8vIEhB
VkVfTU1JCi0KLSNpZiBIQVZFX0xTWAotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAotICAgIExT
WCwgUXVhbnRpemVUZXN0LAotICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUoJnZwOF9y
ZWd1bGFyX3F1YW50aXplX2JfbHN4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JnZwOF9yZWd1bGFyX3F1YW50aXplX2JfYykpKTsKLSNlbmRpZiAgLy8gSEFWRV9MU1gKIH0gIC8v
IG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3JhdGVjdHJsX3J0Y190ZXN0
LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L3JhdGVjdHJsX3J0Y190ZXN0LmNjCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uM2ExYzg0NjllZTc1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC90ZXN0L3JhdGVjdHJsX3J0Y190ZXN0LmNjCkBAIC0wLDAgKzEsMjI5IEBA
CisvKgorICogIENvcHlyaWdodCAoYykgMjAyMCBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKKyAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKKyAqICB0cmVlLiBBbiBh
ZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5k
CisgKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRo
b3JzIG1heQorICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2Yg
dGhlIHNvdXJjZSB0cmVlLgorICovCisjaW5jbHVkZSAidnA5L3JhdGVjdHJsX3J0Yy5oIgorCisj
aW5jbHVkZSA8ZnN0cmVhbT4gIC8vIE5PTElOVAorI2luY2x1ZGUgPHN0cmluZz4KKworI2luY2x1
ZGUgIi4vdnB4X2NvbmZpZy5oIgorI2luY2x1ZGUgInRoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3Jj
L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIKKyNpbmNsdWRlICJ0ZXN0L2NvZGVjX2ZhY3RvcnkuaCIK
KyNpbmNsdWRlICJ0ZXN0L2VuY29kZV90ZXN0X2RyaXZlci5oIgorI2luY2x1ZGUgInRlc3QvdXRp
bC5oIgorI2luY2x1ZGUgInRlc3QvdmlkZW9fc291cmNlLmgiCisjaW5jbHVkZSAidnB4L3ZweF9j
b2RlYy5oIgorI2luY2x1ZGUgInZweF9wb3J0cy9iaXRvcHMuaCIKKworbmFtZXNwYWNlIHsKKwor
Y29uc3Qgc2l6ZV90IGtOdW1GcmFtZSA9IDg1MDsKKworc3RydWN0IEZyYW1lSW5mbyB7CisgIGZy
aWVuZCBzdGQ6OmlzdHJlYW0gJm9wZXJhdG9yPj4oc3RkOjppc3RyZWFtICZpcywgRnJhbWVJbmZv
ICZpbmZvKSB7CisgICAgaXMgPj4gaW5mby5mcmFtZV9pZCA+PiBpbmZvLnNwYXRpYWxfaWQgPj4g
aW5mby50ZW1wb3JhbF9pZCA+PiBpbmZvLmJhc2VfcSA+PgorICAgICAgICBpbmZvLnRhcmdldF9i
YW5kd2lkdGggPj4gaW5mby5idWZmZXJfbGV2ZWwgPj4gaW5mby5maWx0ZXJfbGV2ZWxfID4+Cisg
ICAgICAgIGluZm8uYnl0ZXNfdXNlZDsKKyAgICByZXR1cm4gaXM7CisgIH0KKyAgaW50IGZyYW1l
X2lkOworICBpbnQgc3BhdGlhbF9pZDsKKyAgaW50IHRlbXBvcmFsX2lkOworICAvLyBCYXNlIFFQ
CisgIGludCBiYXNlX3E7CisgIHNpemVfdCB0YXJnZXRfYmFuZHdpZHRoOworICBzaXplX3QgYnVm
ZmVyX2xldmVsOworICAvLyBMb29wZmlsdGVyIGxldmVsCisgIGludCBmaWx0ZXJfbGV2ZWxfOwor
ICAvLyBGcmFtZSBzaXplIGZvciBjdXJyZW50IGZyYW1lLCB1c2VkIGZvciBwb3NlIGVuY29kZSB1
cGRhdGUKKyAgc2l6ZV90IGJ5dGVzX3VzZWQ7Cit9OworCisvLyBUaGlzIHRlc3QgcnVucyB0aGUg
cmF0ZSBjb250cm9sIGludGVyZmFjZSBhbmQgY29tcGFyZSBhZ2FpbnN0IGdyb3VuZCB0cnV0aAor
Ly8gZ2VuZXJhdGVkIGJ5IGVuY29kZXJzLgorLy8gU2V0dGluZ3MgZm9yIHRoZSBlbmNvZGVyOgor
Ly8gRm9yIDEgbGF5ZXI6CisvLworLy8gZXhhbXBsZXMvdnB4X3RlbXBvcmFsX3N2Y19lbmNvZGVy
IGdpcHNyZWNfbW90aW9uMS4xMjgwXzcyMC55dXYgb3V0IHZwOQorLy8gICAgMTI4MCA3MjAgMSAz
MCA3IDAgMCAxIDAgMTAwMAorLy8KKy8vIEZvciBTVkMgKDMgdGVtcG9yYWwgbGF5ZXJzLCAzIHNw
YXRpYWwgbGF5ZXJzKToKKy8vCisvLyBleGFtcGxlcy92cDlfc3BhdGlhbF9zdmNfZW5jb2RlciAt
ZiAxMDAwMCAtdyAxMjgwIC1oIDcyMCAtdCAxLzMwIC1zbCAzCisvLyAtayAxMDAwMCAtYmwgMTAw
LDE0MCwyMDAsMjUwLDM1MCw1MDAsNDUwLDYzMCw5MDAgLWIgMTYwMCAtLXJjLWVuZC11c2FnZT0x
CisvLyAtLWxhZy1pbi1mcmFtZXM9MCAtLXBhc3Nlcz0xIC0tc3BlZWQ9NyAtLXRocmVhZHM9MQor
Ly8gLS10ZW1wb3JhbC1sYXllcmluZy1tb2RlPTMgLWFxIDEgLXJjc3RhdCAxCisvLyBnaXBzcmVj
X21vdGlvbjEuMTI4MF83MjAueXV2IC1vIG91dC53ZWJtCisvLworLy8gLSBBUV9Nb2RlIDAKKy8v
IC0gRGlzYWJsZSBnb2xkZW4gcmVmcmVzaAorLy8gLSBCaXRyYXRlIHggMiBhdCBmcmFtZS9zdXBl
cmZyYW1lIDIwMAorLy8gLSBCaXRyYXRlIC8gNCBhdCBmcmFtZS9zdXBlcmZyYW1lIDQwMAorLy8K
Ky8vIFRoZSBnZW5lcmF0ZWQgZmlsZSBpbmNsdWRlczoKKy8vIGZyYW1lIG51bWJlciwgc3BhdGlh
bCBsYXllciBJRCwgdGVtcG9yYWwgbGF5ZXIgSUQsIGJhc2UgUVAsIHRhcmdldAorLy8gYmFuZHdp
ZHRoLCBidWZmZXIgbGV2ZWwsIGxvb3BmaWx0ZXIgbGV2ZWwsIGVuY29kZWQgZnJhbWUgc2l6ZQor
Ly8gVE9ETyhqaWFuaik6IFJlbW92ZSBnb2xkZW4gZmlsZXMsIGFuZCBydW4gYWN0dWFsIGVuY29k
aW5nIGluIHRoaXMgdGVzdC4KK2NsYXNzIFJjSW50ZXJmYWNlVGVzdCA6IHB1YmxpYyA6OnRlc3Rp
bmc6OlRlc3QgeworIHB1YmxpYzoKKyAgZXhwbGljaXQgUmNJbnRlcmZhY2VUZXN0KCkge30KKwor
ICB2aXJ0dWFsIH5SY0ludGVyZmFjZVRlc3QoKSB7fQorCisgcHJvdGVjdGVkOgorICB2b2lkIFJ1
bk9uZUxheWVyKCkgeworICAgIFNldENvbmZpZ09uZUxheWVyKCk7CisgICAgcmNfYXBpXyA9IGxp
YnZweDo6VlA5UmF0ZUNvbnRyb2xSVEM6OkNyZWF0ZShyY19jZmdfKTsKKyAgICBGcmFtZUluZm8g
ZnJhbWVfaW5mbzsKKyAgICBsaWJ2cHg6OlZQOUZyYW1lUGFyYW1zUXBSVEMgZnJhbWVfcGFyYW1z
OworICAgIGZyYW1lX3BhcmFtcy5mcmFtZV90eXBlID0gS0VZX0ZSQU1FOworICAgIGZyYW1lX3Bh
cmFtcy5zcGF0aWFsX2xheWVyX2lkID0gMDsKKyAgICBmcmFtZV9wYXJhbXMudGVtcG9yYWxfbGF5
ZXJfaWQgPSAwOworICAgIHN0ZDo6aWZzdHJlYW0gb25lX2xheWVyX2ZpbGU7CisgICAgb25lX2xh
eWVyX2ZpbGUub3BlbihsaWJ2cHhfdGVzdDo6R2V0RGF0YVBhdGgoKSArCisgICAgICAgICAgICAg
ICAgICAgICAgICAiL3JjX2ludGVyZmFjZV90ZXN0X29uZV9sYXllciIpOworICAgIEFTU0VSVF9U
UlVFKG9uZV9sYXllcl9maWxlLmdvb2QoKSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBr
TnVtRnJhbWU7IGkrKykgeworICAgICAgb25lX2xheWVyX2ZpbGUgPj4gZnJhbWVfaW5mbzsKKyAg
ICAgIGlmIChmcmFtZV9pbmZvLmZyYW1lX2lkID4gMCkgZnJhbWVfcGFyYW1zLmZyYW1lX3R5cGUg
PSBJTlRFUl9GUkFNRTsKKyAgICAgIGlmIChmcmFtZV9pbmZvLmZyYW1lX2lkID09IDIwMCkgewor
ICAgICAgICByY19jZmdfLnRhcmdldF9iYW5kd2lkdGggPSByY19jZmdfLnRhcmdldF9iYW5kd2lk
dGggKiAyOworICAgICAgICByY19hcGlfLT5VcGRhdGVSYXRlQ29udHJvbChyY19jZmdfKTsKKyAg
ICAgIH0gZWxzZSBpZiAoZnJhbWVfaW5mby5mcmFtZV9pZCA9PSA0MDApIHsKKyAgICAgICAgcmNf
Y2ZnXy50YXJnZXRfYmFuZHdpZHRoID0gcmNfY2ZnXy50YXJnZXRfYmFuZHdpZHRoIC8gNDsKKyAg
ICAgICAgcmNfYXBpXy0+VXBkYXRlUmF0ZUNvbnRyb2wocmNfY2ZnXyk7CisgICAgICB9CisgICAg
ICBBU1NFUlRfRVEoZnJhbWVfaW5mby5zcGF0aWFsX2lkLCAwKTsKKyAgICAgIEFTU0VSVF9FUShm
cmFtZV9pbmZvLnRlbXBvcmFsX2lkLCAwKTsKKyAgICAgIHJjX2FwaV8tPkNvbXB1dGVRUChmcmFt
ZV9wYXJhbXMpOworICAgICAgQVNTRVJUX0VRKHJjX2FwaV8tPkdldFFQKCksIGZyYW1lX2luZm8u
YmFzZV9xKTsKKyAgICAgIEFTU0VSVF9FUShyY19hcGlfLT5HZXRMb29wZmlsdGVyTGV2ZWwoKSwg
ZnJhbWVfaW5mby5maWx0ZXJfbGV2ZWxfKTsKKyAgICAgIHJjX2FwaV8tPlBvc3RFbmNvZGVVcGRh
dGUoZnJhbWVfaW5mby5ieXRlc191c2VkKTsKKyAgICB9CisgIH0KKworICB2b2lkIFJ1blNWQygp
IHsKKyAgICBTZXRDb25maWdTVkMoKTsKKyAgICByY19hcGlfID0gbGlidnB4OjpWUDlSYXRlQ29u
dHJvbFJUQzo6Q3JlYXRlKHJjX2NmZ18pOworICAgIEZyYW1lSW5mbyBmcmFtZV9pbmZvOworICAg
IGxpYnZweDo6VlA5RnJhbWVQYXJhbXNRcFJUQyBmcmFtZV9wYXJhbXM7CisgICAgZnJhbWVfcGFy
YW1zLmZyYW1lX3R5cGUgPSBLRVlfRlJBTUU7CisgICAgc3RkOjppZnN0cmVhbSBzdmNfZmlsZTsK
KyAgICBzdmNfZmlsZS5vcGVuKHN0ZDo6c3RyaW5nKHN0ZDo6Z2V0ZW52KCJMSUJWUFhfVEVTVF9E
QVRBX1BBVEgiKSkgKworICAgICAgICAgICAgICAgICAgIi9yY19pbnRlcmZhY2VfdGVzdF9zdmMi
KTsKKyAgICBBU1NFUlRfVFJVRShzdmNfZmlsZS5nb29kKCkpOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwga051bUZyYW1lICogcmNfY2ZnXy5zc19udW1iZXJfbGF5ZXJzOyBpKyspIHsKKyAg
ICAgIHN2Y19maWxlID4+IGZyYW1lX2luZm87CisgICAgICBpZiAoZnJhbWVfaW5mby5mcmFtZV9p
ZCA+IDApIGZyYW1lX3BhcmFtcy5mcmFtZV90eXBlID0gSU5URVJfRlJBTUU7CisgICAgICBpZiAo
ZnJhbWVfaW5mby5mcmFtZV9pZCA9PSAyMDAgKiByY19jZmdfLnNzX251bWJlcl9sYXllcnMpIHsK
KyAgICAgICAgZm9yIChpbnQgbGF5ZXIgPSAwOworICAgICAgICAgICAgIGxheWVyIDwgcmNfY2Zn
Xy5zc19udW1iZXJfbGF5ZXJzICogcmNfY2ZnXy50c19udW1iZXJfbGF5ZXJzOworICAgICAgICAg
ICAgIGxheWVyKyspCisgICAgICAgICAgcmNfY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0ZVtsYXll
cl0gKj0gMjsKKyAgICAgICAgcmNfY2ZnXy50YXJnZXRfYmFuZHdpZHRoICo9IDI7CisgICAgICAg
IHJjX2FwaV8tPlVwZGF0ZVJhdGVDb250cm9sKHJjX2NmZ18pOworICAgICAgfSBlbHNlIGlmIChm
cmFtZV9pbmZvLmZyYW1lX2lkID09IDQwMCAqIHJjX2NmZ18uc3NfbnVtYmVyX2xheWVycykgewor
ICAgICAgICBmb3IgKGludCBsYXllciA9IDA7CisgICAgICAgICAgICAgbGF5ZXIgPCByY19jZmdf
LnNzX251bWJlcl9sYXllcnMgKiByY19jZmdfLnRzX251bWJlcl9sYXllcnM7CisgICAgICAgICAg
ICAgbGF5ZXIrKykKKyAgICAgICAgICByY19jZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlW2xheWVy
XSAvPSA0OworICAgICAgICByY19jZmdfLnRhcmdldF9iYW5kd2lkdGggLz0gNDsKKyAgICAgICAg
cmNfYXBpXy0+VXBkYXRlUmF0ZUNvbnRyb2wocmNfY2ZnXyk7CisgICAgICB9CisgICAgICBmcmFt
ZV9wYXJhbXMuc3BhdGlhbF9sYXllcl9pZCA9IGZyYW1lX2luZm8uc3BhdGlhbF9pZDsKKyAgICAg
IGZyYW1lX3BhcmFtcy50ZW1wb3JhbF9sYXllcl9pZCA9IGZyYW1lX2luZm8udGVtcG9yYWxfaWQ7
CisgICAgICByY19hcGlfLT5Db21wdXRlUVAoZnJhbWVfcGFyYW1zKTsKKyAgICAgIEFTU0VSVF9F
UShyY19hcGlfLT5HZXRRUCgpLCBmcmFtZV9pbmZvLmJhc2VfcSk7CisgICAgICBBU1NFUlRfRVEo
cmNfYXBpXy0+R2V0TG9vcGZpbHRlckxldmVsKCksIGZyYW1lX2luZm8uZmlsdGVyX2xldmVsXyk7
CisgICAgICByY19hcGlfLT5Qb3N0RW5jb2RlVXBkYXRlKGZyYW1lX2luZm8uYnl0ZXNfdXNlZCk7
CisgICAgfQorICB9CisKKyBwcml2YXRlOgorICB2b2lkIFNldENvbmZpZ09uZUxheWVyKCkgewor
ICAgIHJjX2NmZ18ud2lkdGggPSAxMjgwOworICAgIHJjX2NmZ18uaGVpZ2h0ID0gNzIwOworICAg
IHJjX2NmZ18ubWF4X3F1YW50aXplciA9IDUyOworICAgIHJjX2NmZ18ubWluX3F1YW50aXplciA9
IDI7CisgICAgcmNfY2ZnXy50YXJnZXRfYmFuZHdpZHRoID0gMTAwMDsKKyAgICByY19jZmdfLmJ1
Zl9pbml0aWFsX3N6ID0gNjAwOworICAgIHJjX2NmZ18uYnVmX29wdGltYWxfc3ogPSA2MDA7Cisg
ICAgcmNfY2ZnXy5idWZfc3ogPSAxMDAwOworICAgIHJjX2NmZ18udW5kZXJzaG9vdF9wY3QgPSA1
MDsKKyAgICByY19jZmdfLm92ZXJzaG9vdF9wY3QgPSA1MDsKKyAgICByY19jZmdfLm1heF9pbnRy
YV9iaXRyYXRlX3BjdCA9IDEwMDA7CisgICAgcmNfY2ZnXy5mcmFtZXJhdGUgPSAzMC4wOworICAg
IHJjX2NmZ18uc3NfbnVtYmVyX2xheWVycyA9IDE7CisgICAgcmNfY2ZnXy50c19udW1iZXJfbGF5
ZXJzID0gMTsKKyAgICByY19jZmdfLnNjYWxpbmdfZmFjdG9yX251bVswXSA9IDE7CisgICAgcmNf
Y2ZnXy5zY2FsaW5nX2ZhY3Rvcl9kZW5bMF0gPSAxOworICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0
X2JpdHJhdGVbMF0gPSAxMDAwOworICAgIHJjX2NmZ18ubWF4X3F1YW50aXplcnNbMF0gPSA1MjsK
KyAgICByY19jZmdfLm1pbl9xdWFudGl6ZXJzWzBdID0gMjsKKyAgfQorCisgIHZvaWQgU2V0Q29u
ZmlnU1ZDKCkgeworICAgIHJjX2NmZ18ud2lkdGggPSAxMjgwOworICAgIHJjX2NmZ18uaGVpZ2h0
ID0gNzIwOworICAgIHJjX2NmZ18ubWF4X3F1YW50aXplciA9IDU2OworICAgIHJjX2NmZ18ubWlu
X3F1YW50aXplciA9IDI7CisgICAgcmNfY2ZnXy50YXJnZXRfYmFuZHdpZHRoID0gMTYwMDsKKyAg
ICByY19jZmdfLmJ1Zl9pbml0aWFsX3N6ID0gNTAwOworICAgIHJjX2NmZ18uYnVmX29wdGltYWxf
c3ogPSA2MDA7CisgICAgcmNfY2ZnXy5idWZfc3ogPSAxMDAwOworICAgIHJjX2NmZ18udW5kZXJz
aG9vdF9wY3QgPSA1MDsKKyAgICByY19jZmdfLm92ZXJzaG9vdF9wY3QgPSA1MDsKKyAgICByY19j
ZmdfLm1heF9pbnRyYV9iaXRyYXRlX3BjdCA9IDkwMDsKKyAgICByY19jZmdfLmZyYW1lcmF0ZSA9
IDMwLjA7CisgICAgcmNfY2ZnXy5zc19udW1iZXJfbGF5ZXJzID0gMzsKKyAgICByY19jZmdfLnRz
X251bWJlcl9sYXllcnMgPSAzOworCisgICAgcmNfY2ZnXy5zY2FsaW5nX2ZhY3Rvcl9udW1bMF0g
PSAxOworICAgIHJjX2NmZ18uc2NhbGluZ19mYWN0b3JfZGVuWzBdID0gNDsKKyAgICByY19jZmdf
LnNjYWxpbmdfZmFjdG9yX251bVsxXSA9IDI7CisgICAgcmNfY2ZnXy5zY2FsaW5nX2ZhY3Rvcl9k
ZW5bMV0gPSA0OworICAgIHJjX2NmZ18uc2NhbGluZ19mYWN0b3JfbnVtWzJdID0gNDsKKyAgICBy
Y19jZmdfLnNjYWxpbmdfZmFjdG9yX2RlblsyXSA9IDQ7CisKKyAgICByY19jZmdfLnRzX3JhdGVf
ZGVjaW1hdG9yWzBdID0gNDsKKyAgICByY19jZmdfLnRzX3JhdGVfZGVjaW1hdG9yWzFdID0gMjsK
KyAgICByY19jZmdfLnRzX3JhdGVfZGVjaW1hdG9yWzJdID0gMTsKKworICAgIHJjX2NmZ18ubGF5
ZXJfdGFyZ2V0X2JpdHJhdGVbMF0gPSAxMDA7CisgICAgcmNfY2ZnXy5sYXllcl90YXJnZXRfYml0
cmF0ZVsxXSA9IDE0MDsKKyAgICByY19jZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlWzJdID0gMjAw
OworICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbM10gPSAyNTA7CisgICAgcmNfY2Zn
Xy5sYXllcl90YXJnZXRfYml0cmF0ZVs0XSA9IDM1MDsKKyAgICByY19jZmdfLmxheWVyX3Rhcmdl
dF9iaXRyYXRlWzVdID0gNTAwOworICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbNl0g
PSA0NTA7CisgICAgcmNfY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0ZVs3XSA9IDYzMDsKKyAgICBy
Y19jZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlWzhdID0gOTAwOworCisgICAgZm9yIChpbnQgc2wg
PSAwOyBzbCA8IHJjX2NmZ18uc3NfbnVtYmVyX2xheWVyczsgKytzbCkgeworICAgICAgZm9yIChp
bnQgdGwgPSAwOyB0bCA8IHJjX2NmZ18udHNfbnVtYmVyX2xheWVyczsgKyt0bCkgeworICAgICAg
ICBjb25zdCBpbnQgaSA9IHNsICogcmNfY2ZnXy50c19udW1iZXJfbGF5ZXJzICsgdGw7CisgICAg
ICAgIHJjX2NmZ18ubWF4X3F1YW50aXplcnNbaV0gPSA1NjsKKyAgICAgICAgcmNfY2ZnXy5taW5f
cXVhbnRpemVyc1tpXSA9IDI7CisgICAgICB9CisgICAgfQorICB9CisKKyAgc3RkOjp1bmlxdWVf
cHRyPGxpYnZweDo6VlA5UmF0ZUNvbnRyb2xSVEM+IHJjX2FwaV87CisgIGxpYnZweDo6VlA5UmF0
ZUNvbnRyb2xSdGNDb25maWcgcmNfY2ZnXzsKK307CisKK1RFU1RfRihSY0ludGVyZmFjZVRlc3Qs
IE9uZUxheWVyKSB7IFJ1bk9uZUxheWVyKCk7IH0KKworVEVTVF9GKFJjSW50ZXJmYWNlVGVzdCwg
U1ZDKSB7IFJ1blNWQygpOyB9Cit9ICAvLyBuYW1lc3BhY2UKKworaW50IG1haW4oaW50IGFyZ2Ms
IGNoYXIgKiphcmd2KSB7CisgIDo6dGVzdGluZzo6SW5pdEdvb2dsZVRlc3QoJmFyZ2MsIGFyZ3Yp
OworICByZXR1cm4gUlVOX0FMTF9URVNUUygpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3JlYWx0aW1lX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvcmVhbHRpbWVfdGVzdC5jYwpp
bmRleCA4OGU1MTBmZDBkZTIuLjYzYTUzNDdkOTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3JlYWx0aW1lX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3JlYWx0aW1lX3Rlc3Qu
Y2MKQEAgLTcsOCArNyw2IEBACiAgKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmli
dXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQogICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgogICovCi0jaW5jbHVkZSA8bGltaXRz
Lmg+Ci0KICNpbmNsdWRlICJ0ZXN0L2NvZGVjX2ZhY3RvcnkuaCIKICNpbmNsdWRlICJ0ZXN0L2Vu
Y29kZV90ZXN0X2RyaXZlci5oIgogI2luY2x1ZGUgInRlc3QvdXRpbC5oIgpAQCAtMjYsNyArMjQs
NyBAQCBjbGFzcyBSZWFsdGltZVRlc3QKICAgICAgIHB1YmxpYyA6OmxpYnZweF90ZXN0OjpDb2Rl
Y1Rlc3RXaXRoUGFyYW08bGlidnB4X3Rlc3Q6OlRlc3RNb2RlPiB7CiAgcHJvdGVjdGVkOgogICBS
ZWFsdGltZVRlc3QoKSA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgwKSksIGZyYW1lX3BhY2tldHNf
KDApIHt9Ci0gIH5SZWFsdGltZVRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIH5SZWFsdGlt
ZVRlc3QoKSBvdmVycmlkZSB7fQogCiAgIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CiAgICAgSW5p
dGlhbGl6ZUNvbmZpZygpOwpAQCAtMzUsMTkgKzMzLDE3IEBAIGNsYXNzIFJlYWx0aW1lVGVzdAog
ICB9CiAKICAgdm9pZCBCZWdpblBhc3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgb3ZlcnJp
ZGUgewotI2lmICFDT05GSUdfUkVBTFRJTUVfT05MWQogICAgIC8vIFRPRE8odG9tZmluZWdhbik6
IFdlJ3JlIGNoYW5naW5nIHRoZSBwYXNzIHZhbHVlIGhlcmUgdG8gbWFrZSBzdXJlCiAgICAgLy8g
d2UgZ2V0IGZyYW1lcyB3aGVuIHJlYWwgdGltZSBtb2RlIGlzIGNvbWJpbmVkIHdpdGggfGdfcGFz
c3wgc2V0IHRvCiAgICAgLy8gVlBYX1JDX0ZJUlNUX1BBU1MuIFRoaXMgaXMgbmVjZXNzYXJ5IGJl
Y2F1c2UgRW5jb2RlclRlc3Q6OlJ1bkxvb3AoKSBzZXRzCiAgICAgLy8gdGhlIHBhc3MgdmFsdWUg
YmFzZWQgb24gdGhlIG1vZGUgcGFzc2VkIGludG8gRW5jb2RlclRlc3Q6OlNldE1vZGUoKSwKICAg
ICAvLyB3aGljaCBvdmVycmlkZXMgdGhlIG9uZSBzcGVjaWZpZWQgaW4gU2V0VXAoKSBhYm92ZS4K
ICAgICBjZmdfLmdfcGFzcyA9IFZQWF9SQ19GSVJTVF9QQVNTOwotI2VuZGlmCiAgIH0KIAogICB2
b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29k
ZXIpIG92ZXJyaWRlIHsKLSAgICBpZiAodmlkZW8tPmZyYW1lKCkgPT0gMCAmJiBzZXRfY3B1X3Vz
ZWRfKSB7CisgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsKICAgICAgIGVuY29kZXItPkNv
bnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgOCk7CiAgICAgfQogICB9CkBAIC01Niw1NyArNTIsMjMg
QEAgY2xhc3MgUmVhbHRpbWVUZXN0CiAgICAgZnJhbWVfcGFja2V0c18rKzsKICAgfQogCi0gIGJv
b2wgSXNWUDkoKSBjb25zdCB7Ci0jaWYgQ09ORklHX1ZQOV9FTkNPREVSCi0gICAgcmV0dXJuIGNv
ZGVjXyA9PSAmbGlidnB4X3Rlc3Q6OmtWUDk7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNl
bmRpZgotICB9Ci0KLSAgdm9pZCBUZXN0SW50ZWdlck92ZXJmbG93KHVuc2lnbmVkIGludCB3aWR0
aCwgdW5zaWduZWQgaW50IGhlaWdodCkgewotICAgIDo6bGlidnB4X3Rlc3Q6OlJhbmRvbVZpZGVv
U291cmNlIHZpZGVvOwotICAgIHZpZGVvLlNldFNpemUod2lkdGgsIGhlaWdodCk7Ci0gICAgdmlk
ZW8uc2V0X2xpbWl0KDIwKTsKLSAgICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gVUlOVF9NQVg7
Ci0gICAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKLSAgfQotCi0g
IHZvaWQgVGVzdEVuY29kZSgpIHsKLSAgICA6OmxpYnZweF90ZXN0OjpSYW5kb21WaWRlb1NvdXJj
ZSB2aWRlbzsKLSAgICB2aWRlby5TZXRTaXplKGtWaWRlb1NvdXJjZVdpZHRoLCBrVmlkZW9Tb3Vy
Y2VIZWlnaHQpOwotICAgIHZpZGVvLnNldF9saW1pdChrRnJhbWVzVG9FbmNvZGUpOwotICAgIEFT
U0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci0gICAgRVhQRUNUX0VRKGtG
cmFtZXNUb0VuY29kZSwgZnJhbWVfcGFja2V0c18pOwotICB9Ci0KICAgaW50IGZyYW1lX3BhY2tl
dHNfOwotICBib29sIHNldF9jcHVfdXNlZF8gPSB0cnVlOwogfTsKIAotVEVTVF9QKFJlYWx0aW1l
VGVzdCwgUmVhbHRpbWVGaXJzdFBhc3NQcm9kdWNlc0ZyYW1lcykgeyBUZXN0RW5jb2RlKCk7IH0K
LQotVEVTVF9QKFJlYWx0aW1lVGVzdCwgUmVhbHRpbWVEZWZhdWx0Q3B1VXNlZCkgewotICBzZXRf
Y3B1X3VzZWRfID0gZmFsc2U7Ci0gIFRlc3RFbmNvZGUoKTsKK1RFU1RfUChSZWFsdGltZVRlc3Qs
IFJlYWx0aW1lRmlyc3RQYXNzUHJvZHVjZXNGcmFtZXMpIHsKKyAgOjpsaWJ2cHhfdGVzdDo6UmFu
ZG9tVmlkZW9Tb3VyY2UgdmlkZW87CisgIHZpZGVvLlNldFNpemUoa1ZpZGVvU291cmNlV2lkdGgs
IGtWaWRlb1NvdXJjZUhlaWdodCk7CisgIHZpZGVvLnNldF9saW1pdChrRnJhbWVzVG9FbmNvZGUp
OworICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShSdW5Mb29wKCZ2aWRlbykpOworICBFWFBFQ1Rf
RVEoa0ZyYW1lc1RvRW5jb2RlLCBmcmFtZV9wYWNrZXRzXyk7CiB9CiAKLVRFU1RfUChSZWFsdGlt
ZVRlc3QsIEludGVnZXJPdmVyZmxvdykgeyBUZXN0SW50ZWdlck92ZXJmbG93KDIwNDgsIDIwNDgp
OyB9Ci0KLVRFU1RfUChSZWFsdGltZVRlc3QsIEludGVnZXJPdmVyZmxvd0xhcmdlKSB7Ci0gIGlm
IChJc1ZQOSgpKSB7Ci0jaWYgVlBYX0FSQ0hfWDg2XzY0Ci0gICAgVGVzdEludGVnZXJPdmVyZmxv
dygxNjM4NCwgMTYzODQpOwotI2Vsc2UKLSAgICBUZXN0SW50ZWdlck92ZXJmbG93KDQwOTYsIDQw
OTYpOwotI2VuZGlmCi0gIH0gZWxzZSB7Ci0gICAgR1RFU1RfU0tJUCgpCi0gICAgICAgIDw8ICJU
T0RPKGh0dHBzOi8vY3JidWcuY29tL3dlYm0vMTc0OCxodHRwczovL2NyYnVnLmNvbS93ZWJtLzE3
NTEpOiIKLSAgICAgICAgPDwgIiBFbmFibGUgdGhpcyB0ZXN0IGFmdGVyIGJpdHN0cmVhbSBlcnJv
cnMgJiB1bmRlZmluZWQgc2FuaXRpemVyICIKLSAgICAgICAgICAgIndhcm5pbmdzIGFyZSBmaXhl
ZC4iOwotICAgIC8vIFRlc3RJbnRlZ2VyT3ZlcmZsb3coMTYzODMsIDE2MzgzKTsKLSAgfQorVEVT
VF9QKFJlYWx0aW1lVGVzdCwgSW50ZWdlck92ZXJmbG93KSB7CisgIDo6bGlidnB4X3Rlc3Q6OlJh
bmRvbVZpZGVvU291cmNlIHZpZGVvOworICB2aWRlby5TZXRTaXplKDgwMCwgNDgwKTsKKyAgdmlk
ZW8uc2V0X2xpbWl0KDIwKTsKKyAgY2ZnXy5yY190YXJnZXRfYml0cmF0ZSA9IDE0MDAwMDAwMDsK
KyAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKIH0KIAogVlA4X0lO
U1RBTlRJQVRFX1RFU1RfU1VJVEUoUmVhbHRpbWVUZXN0LApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90ZXN0L3JlZ2lzdGVyX3N0YXRlX2NoZWNrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvcmVnaXN0ZXJf
c3RhdGVfY2hlY2suaAppbmRleCBlZGU4NmVmNTJmOTAuLjQzNjY0NjYzNzhmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC90ZXN0L3JlZ2lzdGVyX3N0YXRlX2NoZWNrLmgKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90ZXN0L3JlZ2lzdGVyX3N0YXRlX2NoZWNrLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpZm5kZWYg
V0lOMzJfTEVBTl9BTkRfTUVBTgogI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCiAjZW5kaWYK
LSNpbmNsdWRlIDxpbnRyaW4uaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d2lu
bnQuaD4KIApAQCAtNTYsNyArNTUsNyBAQCBjbGFzcyBSZWdpc3RlclN0YXRlQ2hlY2sgewogIHBy
aXZhdGU6CiAgIHN0YXRpYyBib29sIFN0b3JlUmVnaXN0ZXJzKENPTlRFWFQgKmNvbnN0IGNvbnRl
eHQpIHsKICAgICBjb25zdCBIQU5ETEUgdGhpc190aHJlYWQgPSBHZXRDdXJyZW50VGhyZWFkKCk7
Ci0gICAgRVhQRUNUX05FKHRoaXNfdGhyZWFkLCBudWxscHRyKTsKKyAgICBFWFBFQ1RfVFJVRSh0
aGlzX3RocmVhZCAhPSBOVUxMKTsKICAgICBjb250ZXh0LT5Db250ZXh0RmxhZ3MgPSBDT05URVhU
X0ZMT0FUSU5HX1BPSU5UOwogICAgIGNvbnN0IGJvb2wgY29udGV4dF9zYXZlZCA9IEdldFRocmVh
ZENvbnRleHQodGhpc190aHJlYWQsIGNvbnRleHQpID09IFRSVUU7CiAgICAgRVhQRUNUX1RSVUUo
Y29udGV4dF9zYXZlZCkgPDwgIkdldExhc3RFcnJvcjogIiA8PCBHZXRMYXN0RXJyb3IoKTsKQEAg
LTgyLDEzICs4MSwxMCBAQCBjbGFzcyBSZWdpc3RlclN0YXRlQ2hlY2sgewogICBDT05URVhUIHBy
ZV9jb250ZXh0XzsKIH07CiAKLSNkZWZpbmUgQVNNX1JFR0lTVEVSX1NUQVRFX0NIRUNLKHN0YXRl
bWVudCkgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIGxpYnZweF90ZXN0OjpSZWdpc3RlclN0YXRlQ2hlY2sgcmVnX2NoZWNrOyBcCi0g
ICAgICBzdGF0ZW1lbnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfUmVhZFdy
aXRlQmFycmllcigpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIEFTTV9SRUdJ
U1RFUl9TVEFURV9DSEVDSyhzdGF0ZW1lbnQpICAgIFwKKyAgZG8geyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGxpYnZweF90ZXN0OjpSZWdpc3RlclN0YXRl
Q2hlY2sgcmVnX2NoZWNrOyBcCisgICAgc3RhdGVtZW50OyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgfSB3aGlsZSAoZmFsc2UpCiAKIH0gIC8vIG5hbWVzcGFjZSBsaWJ2cHhf
dGVzdApAQCAtMTI1LDIyICsxMjEsMTEgQEAgY2xhc3MgUmVnaXN0ZXJTdGF0ZUNoZWNrIHsKICAg
aW50NjRfdCBwcmVfc3RvcmVfWzhdOwogfTsKIAotI2lmIGRlZmluZWQoX19HTlVDX18pCi0jZGVm
aW5lIEFTTV9SRUdJU1RFUl9TVEFURV9DSEVDSyhzdGF0ZW1lbnQpICAgICAgXAotICBkbyB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBsaWJ2cHhfdGVzdDo6
UmVnaXN0ZXJTdGF0ZUNoZWNrIHJlZ19jaGVjazsgXAotICAgICAgc3RhdGVtZW50OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc21fXyB2b2xhdGlsZSgiIiA6OjogIm1lbW9y
eSIpOyAgICAgICAgICAgXAotICB9IHdoaWxlIChmYWxzZSkKLSNlbHNlCiAjZGVmaW5lIEFTTV9S
RUdJU1RFUl9TVEFURV9DSEVDSyhzdGF0ZW1lbnQpICAgIFwKICAgZG8geyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGxpYnZweF90ZXN0OjpSZWdpc3RlclN0
YXRlQ2hlY2sgcmVnX2NoZWNrOyBcCiAgICAgc3RhdGVtZW50OyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgfSB3aGlsZSAoZmFsc2UpCi0jZW5kaWYKIAogfSAgLy8gbmFtZXNw
YWNlIGxpYnZweF90ZXN0CiAKQEAgLTE4NCwxMyArMTY5LDEwIEBAIGNsYXNzIFJlZ2lzdGVyU3Rh
dGVDaGVja01NWCB7CiAgIHVpbnQxNl90IHByZV9mcHVfZW52X1sxNF07CiB9OwogCi0jZGVmaW5l
IEFQSV9SRUdJU1RFUl9TVEFURV9DSEVDSyhzdGF0ZW1lbnQpICAgICAgICAgICAgIFwKLSAgZG8g
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICBsaWJ2cHhfdGVzdDo6UmVnaXN0ZXJTdGF0ZUNoZWNrTU1YIHJlZ19jaGVja19tbXg7IFwK
LSAgICAgIEFTTV9SRUdJU1RFUl9TVEFURV9DSEVDSyhzdGF0ZW1lbnQpOyAgICAgICAgICAgICAg
XAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX19hc21fXyB2b2xhdGlsZSgiIiA6OjogIm1lbW9yeSIpOyAgICAgICAgICAgICAg
ICAgIFwKKyNkZWZpbmUgQVBJX1JFR0lTVEVSX1NUQVRFX0NIRUNLKHN0YXRlbWVudCkgICAgICAg
XAorICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgbGlidnB4X3Rlc3Q6OlJlZ2lzdGVyU3RhdGVDaGVja01NWCByZWdfY2hlY2s7IFwKKyAgICBB
U01fUkVHSVNURVJfU1RBVEVfQ0hFQ0soc3RhdGVtZW50KTsgICAgICAgICAgXAogICB9IHdoaWxl
IChmYWxzZSkKIAogfSAgLy8gbmFtZXNwYWNlIGxpYnZweF90ZXN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvcmVzaXplX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvcmVzaXplX3Rlc3Qu
Y2MKaW5kZXggMjBhZDIyMjliNDZjLi5mZWI0YzI3Y2YxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdGVzdC9yZXNpemVfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvcmVzaXplX3Rlc3Qu
Y2MKQEAgLTk1LDExICs5NSwxMCBAQCB2b2lkIFNjYWxlRm9yRnJhbWVOdW1iZXIodW5zaWduZWQg
aW50IGZyYW1lLCB1bnNpZ25lZCBpbnQgaW5pdGlhbF93LAogICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBpbml0aWFsX2gsIHVuc2lnbmVkIGludCAqdywKICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmgsIGJvb2wgZmxhZ19jb2RlYywKICAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sIHNtYWxsZXJfd2lkdGhfbGFyZ2VyX3NpemVfKSB7Ci0gICp3
ID0gaW5pdGlhbF93OwotICAqaCA9IGluaXRpYWxfaDsKLQogICBpZiAoc21hbGxlcl93aWR0aF9s
YXJnZXJfc2l6ZV8pIHsKICAgICBpZiAoZnJhbWUgPCAzMCkgeworICAgICAgKncgPSBpbml0aWFs
X3c7CisgICAgICAqaCA9IGluaXRpYWxfaDsKICAgICAgIHJldHVybjsKICAgICB9CiAgICAgKncg
PSBpbml0aWFsX3cgKiA3IC8gMTA7CkBAIC0xMDcsNiArMTA2LDggQEAgdm9pZCBTY2FsZUZvckZy
YW1lTnVtYmVyKHVuc2lnbmVkIGludCBmcmFtZSwgdW5zaWduZWQgaW50IGluaXRpYWxfdywKICAg
ICByZXR1cm47CiAgIH0KICAgaWYgKGZyYW1lIDwgMTApIHsKKyAgICAqdyA9IGluaXRpYWxfdzsK
KyAgICAqaCA9IGluaXRpYWxfaDsKICAgICByZXR1cm47CiAgIH0KICAgaWYgKGZyYW1lIDwgMjAp
IHsKQEAgLTEyMCw2ICsxMjEsOCBAQCB2b2lkIFNjYWxlRm9yRnJhbWVOdW1iZXIodW5zaWduZWQg
aW50IGZyYW1lLCB1bnNpZ25lZCBpbnQgaW5pdGlhbF93LAogICAgIHJldHVybjsKICAgfQogICBp
ZiAoZnJhbWUgPCA0MCkgeworICAgICp3ID0gaW5pdGlhbF93OworICAgICpoID0gaW5pdGlhbF9o
OwogICAgIHJldHVybjsKICAgfQogICBpZiAoZnJhbWUgPCA1MCkgewpAQCAtMTMzLDYgKzEzNiw4
IEBAIHZvaWQgU2NhbGVGb3JGcmFtZU51bWJlcih1bnNpZ25lZCBpbnQgZnJhbWUsIHVuc2lnbmVk
IGludCBpbml0aWFsX3csCiAgICAgcmV0dXJuOwogICB9CiAgIGlmIChmcmFtZSA8IDcwKSB7Cisg
ICAgKncgPSBpbml0aWFsX3c7CisgICAgKmggPSBpbml0aWFsX2g7CiAgICAgcmV0dXJuOwogICB9
CiAgIGlmIChmcmFtZSA8IDgwKSB7CkBAIC0xNTEsNiArMTU2LDggQEAgdm9pZCBTY2FsZUZvckZy
YW1lTnVtYmVyKHVuc2lnbmVkIGludCBmcmFtZSwgdW5zaWduZWQgaW50IGluaXRpYWxfdywKICAg
ICByZXR1cm47CiAgIH0KICAgaWYgKGZyYW1lIDwgMTEwKSB7CisgICAgKncgPSBpbml0aWFsX3c7
CisgICAgKmggPSBpbml0aWFsX2g7CiAgICAgcmV0dXJuOwogICB9CiAgIGlmIChmcmFtZSA8IDEy
MCkgewpAQCAtMTY5LDYgKzE3Niw4IEBAIHZvaWQgU2NhbGVGb3JGcmFtZU51bWJlcih1bnNpZ25l
ZCBpbnQgZnJhbWUsIHVuc2lnbmVkIGludCBpbml0aWFsX3csCiAgICAgcmV0dXJuOwogICB9CiAg
IGlmIChmcmFtZSA8IDE1MCkgeworICAgICp3ID0gaW5pdGlhbF93OworICAgICpoID0gaW5pdGlh
bF9oOwogICAgIHJldHVybjsKICAgfQogICBpZiAoZnJhbWUgPCAxNjApIHsKQEAgLTE4Nyw2ICsx
OTYsOCBAQCB2b2lkIFNjYWxlRm9yRnJhbWVOdW1iZXIodW5zaWduZWQgaW50IGZyYW1lLCB1bnNp
Z25lZCBpbnQgaW5pdGlhbF93LAogICAgIHJldHVybjsKICAgfQogICBpZiAoZnJhbWUgPCAxOTAp
IHsKKyAgICAqdyA9IGluaXRpYWxfdzsKKyAgICAqaCA9IGluaXRpYWxfaDsKICAgICByZXR1cm47
CiAgIH0KICAgaWYgKGZyYW1lIDwgMjAwKSB7CkBAIC0yMDUsNiArMjE2LDggQEAgdm9pZCBTY2Fs
ZUZvckZyYW1lTnVtYmVyKHVuc2lnbmVkIGludCBmcmFtZSwgdW5zaWduZWQgaW50IGluaXRpYWxf
dywKICAgICByZXR1cm47CiAgIH0KICAgaWYgKGZyYW1lIDwgMjMwKSB7CisgICAgKncgPSBpbml0
aWFsX3c7CisgICAgKmggPSBpbml0aWFsX2g7CiAgICAgcmV0dXJuOwogICB9CiAgIGlmIChmcmFt
ZSA8IDI0MCkgewpAQCAtMjE4LDYgKzIzMSw4IEBAIHZvaWQgU2NhbGVGb3JGcmFtZU51bWJlcih1
bnNpZ25lZCBpbnQgZnJhbWUsIHVuc2lnbmVkIGludCBpbml0aWFsX3csCiAgICAgcmV0dXJuOwog
ICB9CiAgIGlmIChmcmFtZSA8IDI2MCkgeworICAgICp3ID0gaW5pdGlhbF93OworICAgICpoID0g
aW5pdGlhbF9oOwogICAgIHJldHVybjsKICAgfQogICAvLyBHbyBkb3duIHZlcnkgbG93LgpAQCAt
MjMwLDkgKzI0NSwxMyBAQCB2b2lkIFNjYWxlRm9yRnJhbWVOdW1iZXIodW5zaWduZWQgaW50IGZy
YW1lLCB1bnNpZ25lZCBpbnQgaW5pdGlhbF93LAogICAgIC8vIENhc2VzIHRoYXQgb25seSB3b3Jr
cyBmb3IgVlA5LgogICAgIC8vIEZvciBWUDk6IFN3YXAgd2lkdGggYW5kIGhlaWdodCBvZiBvcmln
aW5hbC4KICAgICBpZiAoZnJhbWUgPCAzMjApIHsKKyAgICAgICp3ID0gaW5pdGlhbF9oOworICAg
ICAgKmggPSBpbml0aWFsX3c7CiAgICAgICByZXR1cm47CiAgICAgfQogICB9CisgICp3ID0gaW5p
dGlhbF93OworICAqaCA9IGluaXRpYWxfaDsKIH0KIAogY2xhc3MgUmVzaXppbmdWaWRlb1NvdXJj
ZSA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpEdW1teVZpZGVvU291cmNlIHsKQEAgLTI0NCwxMCAr
MjYzLDEwIEBAIGNsYXNzIFJlc2l6aW5nVmlkZW9Tb3VyY2UgOiBwdWJsaWMgOjpsaWJ2cHhfdGVz
dDo6RHVtbXlWaWRlb1NvdXJjZSB7CiAgIH0KICAgYm9vbCBmbGFnX2NvZGVjXzsKICAgYm9vbCBz
bWFsbGVyX3dpZHRoX2xhcmdlcl9zaXplXzsKLSAgflJlc2l6aW5nVmlkZW9Tb3VyY2UoKSBvdmVy
cmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgflJlc2l6aW5nVmlkZW9Tb3VyY2UoKSB7fQogCiAg
cHJvdGVjdGVkOgotICB2b2lkIE5leHQoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBOZXh0
KCkgewogICAgICsrZnJhbWVfOwogICAgIHVuc2lnbmVkIGludCB3aWR0aCA9IDA7CiAgICAgdW5z
aWduZWQgaW50IGhlaWdodCA9IDA7CkBAIC0yNjQsMTQgKzI4MywxNCBAQCBjbGFzcyBSZXNpemVU
ZXN0CiAgcHJvdGVjdGVkOgogICBSZXNpemVUZXN0KCkgOiBFbmNvZGVyVGVzdChHRVRfUEFSQU0o
MCkpIHt9CiAKLSAgflJlc2l6ZVRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwg
flJlc2l6ZVRlc3QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwg
dm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZShHRVRf
UEFSQU0oMSkpOwogICB9CiAKLSAgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4
X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEZyYW1lUGt0SG9vayhjb25z
dCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAgIEFTU0VSVF9ORShzdGF0aWNfY2FzdDxp
bnQ+KHBrdC0+ZGF0YS5mcmFtZS53aWR0aFswXSksIDApOwogICAgIEFTU0VSVF9ORShzdGF0aWNf
Y2FzdDxpbnQ+KHBrdC0+ZGF0YS5mcmFtZS5oZWlnaHRbMF0pLCAwKTsKICAgICBlbmNvZGVfZnJh
bWVfd2lkdGhfLnB1c2hfYmFjayhwa3QtPmRhdGEuZnJhbWUud2lkdGhbMF0pOwpAQCAtMjg2LDgg
KzMwNSw4IEBAIGNsYXNzIFJlc2l6ZVRlc3QKICAgICByZXR1cm4gZW5jb2RlX2ZyYW1lX2hlaWdo
dF9baWR4XTsKICAgfQogCi0gIHZvaWQgRGVjb21wcmVzc2VkRnJhbWVIb29rKGNvbnN0IHZweF9p
bWFnZV90ICZpbWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9jb2RlY19wdHNf
dCBwdHMpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIERlY29tcHJlc3NlZEZyYW1lSG9vayhj
b25zdCB2cHhfaW1hZ2VfdCAmaW1nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZweF9jb2RlY19wdHNfdCBwdHMpIHsKICAgICBmcmFtZV9pbmZvX2xpc3RfLnB1c2hfYmFj
ayhGcmFtZUluZm8ocHRzLCBpbWcuZF93LCBpbWcuZF9oKSk7CiAgIH0KIApAQCAtMzMzLDE1ICsz
NTIsMTUgQEAgY2xhc3MgUmVzaXplSW50ZXJuYWxUZXN0IDogcHVibGljIFJlc2l6ZVRlc3Qgewog
ICBSZXNpemVJbnRlcm5hbFRlc3QoKSA6IFJlc2l6ZVRlc3QoKSwgZnJhbWUwX3BzbnJfKDAuMCkg
e30KICNlbmRpZgogCi0gIH5SZXNpemVJbnRlcm5hbFRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7
CisgIHZpcnR1YWwgflJlc2l6ZUludGVybmFsVGVzdCgpIHt9CiAKLSAgdm9pZCBCZWdpblBhc3NI
b29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgQmVn
aW5QYXNzSG9vayh1bnNpZ25lZCBpbnQgLypwYXNzKi8pIHsKICNpZiBXUklURV9DT01QUkVTU0VE
X1NUUkVBTQogICAgIG91dGZpbGVfID0gZm9wZW4oInZwOTAtMi0wNS1yZXNpemUuaXZmIiwgIndi
Iik7CiAjZW5kaWYKICAgfQogCi0gIHZvaWQgRW5kUGFzc0hvb2soKSBvdmVycmlkZSB7CisgIHZp
cnR1YWwgdm9pZCBFbmRQYXNzSG9vaygpIHsKICNpZiBXUklURV9DT01QUkVTU0VEX1NUUkVBTQog
ICAgIGlmIChvdXRmaWxlXykgewogICAgICAgaWYgKCFmc2VlayhvdXRmaWxlXywgMCwgU0VFS19T
RVQpKQpAQCAtMzUyLDggKzM3MSw4IEBAIGNsYXNzIFJlc2l6ZUludGVybmFsVGVzdCA6IHB1Ymxp
YyBSZXNpemVUZXN0IHsKICNlbmRpZgogICB9CiAKLSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2so
bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2
b2lkIFByZUVuY29kZUZyYW1lSG9vayhsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnZweF90ZXN0OjpFbmNvZGVyICpl
bmNvZGVyKSB7CiAgICAgaWYgKGNoYW5nZV9jb25maWdfKSB7CiAgICAgICBpbnQgbmV3X3EgPSA2
MDsKICAgICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CkBAIC0zNzgsMTMgKzM5NywxMyBA
QCBjbGFzcyBSZXNpemVJbnRlcm5hbFRlc3QgOiBwdWJsaWMgUmVzaXplVGVzdCB7CiAgICAgfQog
ICB9CiAKLSAgdm9pZCBQU05SUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkg
b3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUFNOUlBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4
X3BrdF90ICpwa3QpIHsKICAgICBpZiAoZnJhbWUwX3BzbnJfID09IDAuKSBmcmFtZTBfcHNucl8g
PSBwa3QtPmRhdGEucHNuci5wc25yWzBdOwogICAgIEVYUEVDVF9ORUFSKHBrdC0+ZGF0YS5wc25y
LnBzbnJbMF0sIGZyYW1lMF9wc25yXywgMi4wKTsKICAgfQogCiAjaWYgV1JJVEVfQ09NUFJFU1NF
RF9TVFJFQU0KLSAgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpw
a3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2cHhfY29k
ZWNfY3hfcGt0X3QgKnBrdCkgewogICAgICsrb3V0X2ZyYW1lc187CiAKICAgICAvLyBXcml0ZSBp
bml0aWFsIGZpbGUgaGVhZGVyIGlmIGZpcnN0IGZyYW1lLgpAQCAtNDQ3LDEwICs0NjYsMTAgQEAg
Y2xhc3MgUmVzaXplUmVhbHRpbWVUZXN0CiAgICAgICBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6Q29k
ZWNUZXN0V2l0aDJQYXJhbXM8bGlidnB4X3Rlc3Q6OlRlc3RNb2RlLCBpbnQ+IHsKICBwcm90ZWN0
ZWQ6CiAgIFJlc2l6ZVJlYWx0aW1lVGVzdCgpIDogRW5jb2RlclRlc3QoR0VUX1BBUkFNKDApKSB7
fQotICB+UmVzaXplUmVhbHRpbWVUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFs
IH5SZXNpemVSZWFsdGltZVRlc3QoKSB7fQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKGxp
YnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9p
ZCBQcmVFbmNvZGVGcmFtZUhvb2sobGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5j
b2RlcikgewogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CiAgICAgICBlbmNvZGVyLT5D
b250cm9sKFZQOUVfU0VUX0FRX01PREUsIDMpOwogICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDhF
X1NFVF9DUFVVU0VELCBzZXRfY3B1X3VzZWRfKTsKQEAgLTQ2MywyNCArNDgyLDI0IEBAIGNsYXNz
IFJlc2l6ZVJlYWx0aW1lVGVzdAogICAgIH0KICAgfQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlk
ZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAg
ICAgU2V0TW9kZShHRVRfUEFSQU0oMSkpOwogICAgIHNldF9jcHVfdXNlZF8gPSBHRVRfUEFSQU0o
Mik7CiAgIH0KIAotICB2b2lkIERlY29tcHJlc3NlZEZyYW1lSG9vayhjb25zdCB2cHhfaW1hZ2Vf
dCAmaW1nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhfY29kZWNfcHRzX3QgcHRz
KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBEZWNvbXByZXNzZWRGcmFtZUhvb2soY29uc3Qg
dnB4X2ltYWdlX3QgJmltZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
cHhfY29kZWNfcHRzX3QgcHRzKSB7CiAgICAgZnJhbWVfaW5mb19saXN0Xy5wdXNoX2JhY2soRnJh
bWVJbmZvKHB0cywgaW1nLmRfdywgaW1nLmRfaCkpOwogICB9CiAKLSAgdm9pZCBNaXNtYXRjaEhv
b2soY29uc3QgdnB4X2ltYWdlX3QgKmltZzEsIGNvbnN0IHZweF9pbWFnZV90ICppbWcyKSBvdmVy
cmlkZSB7CisgIHZpcnR1YWwgdm9pZCBNaXNtYXRjaEhvb2soY29uc3QgdnB4X2ltYWdlX3QgKmlt
ZzEsIGNvbnN0IHZweF9pbWFnZV90ICppbWcyKSB7CiAgICAgZG91YmxlIG1pc21hdGNoX3BzbnIg
PSBjb21wdXRlX3BzbnIoaW1nMSwgaW1nMik7CiAgICAgbWlzbWF0Y2hfcHNucl8gKz0gbWlzbWF0
Y2hfcHNucjsKICAgICArK21pc21hdGNoX25mcmFtZXNfOwogICB9CiAKLSAgdm9pZCBGcmFtZVBr
dEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVh
bCB2b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAg
IEFTU0VSVF9ORShzdGF0aWNfY2FzdDxpbnQ+KHBrdC0+ZGF0YS5mcmFtZS53aWR0aFswXSksIDAp
OwogICAgIEFTU0VSVF9ORShzdGF0aWNfY2FzdDxpbnQ+KHBrdC0+ZGF0YS5mcmFtZS5oZWlnaHRb
MF0pLCAwKTsKICAgICBlbmNvZGVfZnJhbWVfd2lkdGhfLnB1c2hfYmFjayhwa3QtPmRhdGEuZnJh
bWUud2lkdGhbMF0pOwpAQCAtNjg4LDE1ICs3MDcsMTUgQEAgY2xhc3MgUmVzaXplQ3NwVGVzdCA6
IHB1YmxpYyBSZXNpemVUZXN0IHsKICAgUmVzaXplQ3NwVGVzdCgpIDogUmVzaXplVGVzdCgpLCBm
cmFtZTBfcHNucl8oMC4wKSB7fQogI2VuZGlmCiAKLSAgflJlc2l6ZUNzcFRlc3QoKSBvdmVycmlk
ZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgflJlc2l6ZUNzcFRlc3QoKSB7fQogCi0gIHZvaWQgQmVn
aW5QYXNzSG9vayh1bnNpZ25lZCBpbnQgLypwYXNzKi8pIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2
b2lkIEJlZ2luUGFzc0hvb2sodW5zaWduZWQgaW50IC8qcGFzcyovKSB7CiAjaWYgV1JJVEVfQ09N
UFJFU1NFRF9TVFJFQU0KICAgICBvdXRmaWxlXyA9IGZvcGVuKCJ2cDkxLTItMDUtY3NwY2hhcGUu
aXZmIiwgIndiIik7CiAjZW5kaWYKICAgfQogCi0gIHZvaWQgRW5kUGFzc0hvb2soKSBvdmVycmlk
ZSB7CisgIHZpcnR1YWwgdm9pZCBFbmRQYXNzSG9vaygpIHsKICNpZiBXUklURV9DT01QUkVTU0VE
X1NUUkVBTQogICAgIGlmIChvdXRmaWxlXykgewogICAgICAgaWYgKCFmc2VlayhvdXRmaWxlXywg
MCwgU0VFS19TRVQpKQpAQCAtNzA3LDggKzcyNiw4IEBAIGNsYXNzIFJlc2l6ZUNzcFRlc3QgOiBw
dWJsaWMgUmVzaXplVGVzdCB7CiAjZW5kaWYKICAgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVI
b29rKGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1
YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2sobGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRl
bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RW5jb2Rl
ciAqZW5jb2RlcikgewogICAgIGlmIChDc3BGb3JGcmFtZU51bWJlcih2aWRlby0+ZnJhbWUoKSkg
IT0gVlBYX0lNR19GTVRfSTQyMCAmJgogICAgICAgICBjZmdfLmdfcHJvZmlsZSAhPSAxKSB7CiAg
ICAgICBjZmdfLmdfcHJvZmlsZSA9IDE7CkBAIC03MjEsMTMgKzc0MCwxMyBAQCBjbGFzcyBSZXNp
emVDc3BUZXN0IDogcHVibGljIFJlc2l6ZVRlc3QgewogICAgIH0KICAgfQogCi0gIHZvaWQgUFNO
UlBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmly
dHVhbCB2b2lkIFBTTlJQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSB7CiAg
ICAgaWYgKGZyYW1lMF9wc25yXyA9PSAwLikgZnJhbWUwX3BzbnJfID0gcGt0LT5kYXRhLnBzbnIu
cHNuclswXTsKICAgICBFWFBFQ1RfTkVBUihwa3QtPmRhdGEucHNuci5wc25yWzBdLCBmcmFtZTBf
cHNucl8sIDIuMCk7CiAgIH0KIAogI2lmIFdSSVRFX0NPTVBSRVNTRURfU1RSRUFNCi0gIHZvaWQg
RnJhbWVQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7Cisg
IHZpcnR1YWwgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3Qp
IHsKICAgICArK291dF9mcmFtZXNfOwogCiAgICAgLy8gV3JpdGUgaW5pdGlhbCBmaWxlIGhlYWRl
ciBpZiBmaXJzdCBmcmFtZS4KQEAgLTc1MywxMCArNzcyLDEwIEBAIGNsYXNzIFJlc2l6aW5nQ3Nw
VmlkZW9Tb3VyY2UgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6RHVtbXlWaWRlb1NvdXJjZSB7CiAg
ICAgbGltaXRfID0gMzA7CiAgIH0KIAotICB+UmVzaXppbmdDc3BWaWRlb1NvdXJjZSgpIG92ZXJy
aWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+UmVzaXppbmdDc3BWaWRlb1NvdXJjZSgpIHt9CiAK
ICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgTmV4dCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIE5l
eHQoKSB7CiAgICAgKytmcmFtZV87CiAgICAgU2V0SW1hZ2VGb3JtYXQoQ3NwRm9yRnJhbWVOdW1i
ZXIoZnJhbWVfKSk7CiAgICAgRmlsbEZyYW1lKCk7CkBAIC03NzIsNyArNzkxLDggQEAgVEVTVF9Q
KFJlc2l6ZUNzcFRlc3QsIFRlc3RSZXNpemVDc3BXb3JrcykgewogfQogCiBWUDhfSU5TVEFOVElB
VEVfVEVTVF9TVUlURShSZXNpemVUZXN0LCBPTkVfUEFTU19URVNUX01PREVTKTsKLVZQOV9JTlNU
QU5USUFURV9URVNUX1NVSVRFKFJlc2l6ZVRlc3QsIE9ORV9QQVNTX1RFU1RfTU9ERVMpOworVlA5
X0lOU1RBTlRJQVRFX1RFU1RfU1VJVEUoUmVzaXplVGVzdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKDo6bGlidnB4X3Rlc3Q6OmtSZWFsVGltZSkpOwogVlA5
X0lOU1RBTlRJQVRFX1RFU1RfU1VJVEUoUmVzaXplSW50ZXJuYWxUZXN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoOjpsaWJ2cHhfdGVzdDo6a09uZVBhc3NC
ZXN0KSk7CiBWUDlfSU5TVEFOVElBVEVfVEVTVF9TVUlURShSZXNpemVSZWFsdGltZVRlc3QsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc2FkX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qv
c2FkX3Rlc3QuY2MKaW5kZXggMzUzMGU2NjA1MDBkLi5lZTEwYTQ2Mzg5MTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC9zYWRfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc2FkX3Rl
c3QuY2MKQEAgLTQyLDEwICs0Miw2IEBAIHR5cGVkZWYgdW5zaWduZWQgaW50ICgqU2FkTXhORnVu
YykoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3Ry
aWRlKTsKIHR5cGVkZWYgVGVzdFBhcmFtczxTYWRNeE5GdW5jPiBTYWRNeE5QYXJhbTsKIAotdHlw
ZWRlZiB1bnNpZ25lZCBpbnQgKCpTYWRTa2lwTXhORnVuYykoY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSk7Ci10eXBlZGVmIFRlc3RQ
YXJhbXM8U2FkU2tpcE14TkZ1bmM+IFNhZFNraXBNeE5QYXJhbTsKLQogdHlwZWRlZiB1bnNpZ25l
ZCBpbnQgKCpTYWRNeE5BdmdGdW5jKShjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkKTsKQEAgLTU2LDE1ICs1MiwxMiBA
QCB0eXBlZGVmIHZvaWQgKCpTYWRNeE54NEZ1bmMpKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
KnNhZF9hcnJheSk7CiB0eXBlZGVmIFRlc3RQYXJhbXM8U2FkTXhOeDRGdW5jPiBTYWRNeE54NFBh
cmFtOwogCi10eXBlZGVmIHZvaWQgKCpTYWRTa2lwTXhOeDRGdW5jKShjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9wdHJbXSwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnNhZF9hcnJheSk7Ci10eXBl
ZGVmIFRlc3RQYXJhbXM8U2FkU2tpcE14Tng0RnVuYz4gU2FkU2tpcE14Tng0UGFyYW07Ci0KIHR5
cGVkZWYgdm9pZCAoKlNhZE14Tng4RnVuYykoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJl
Zl9wdHIsIGludCByZWZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgKnNhZF9hcnJheSk7CiAKK3R5cGVkZWYgVGVzdFBhcmFtczxTYWRNeE54OEZ1bmM+
IFNhZE14Tng4UGFyYW07CisKIHVzaW5nIGxpYnZweF90ZXN0OjpBQ01SYW5kb207CiAKIG5hbWVz
cGFjZSB7CkBAIC03Myw3ICs2Niw3IEBAIGNsYXNzIFNBRFRlc3RCYXNlIDogcHVibGljIDo6dGVz
dGluZzo6VGVzdFdpdGhQYXJhbTxQYXJhbVR5cGU+IHsKICBwdWJsaWM6CiAgIGV4cGxpY2l0IFNB
RFRlc3RCYXNlKGNvbnN0IFBhcmFtVHlwZSAmcGFyYW1zKSA6IHBhcmFtc18ocGFyYW1zKSB7fQog
Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAg
ICBzb3VyY2VfZGF0YThfID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90ICo+KAogICAgICAgICB2
cHhfbWVtYWxpZ24oa0RhdGFBbGlnbm1lbnQsIGtEYXRhQmxvY2tTaXplKSk7CiAgICAgcmVmZXJl
bmNlX2RhdGE4XyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCAqPigKQEAgLTEwOCw3ICsxMDEs
NyBAQCBjbGFzcyBTQURUZXN0QmFzZSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08
UGFyYW1UeXBlPiB7CiAgICAgcm5kXy5SZXNldChBQ01SYW5kb206OkRldGVybWluaXN0aWNTZWVk
KCkpOwogICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lk
IFRlYXJEb3duKCkgewogICAgIHZweF9mcmVlKHNvdXJjZV9kYXRhOF8pOwogICAgIHNvdXJjZV9k
YXRhOF8gPSBudWxscHRyOwogICAgIHZweF9mcmVlKHJlZmVyZW5jZV9kYXRhOF8pOwpAQCAtMTc5
LDM0ICsxNzIsNiBAQCBjbGFzcyBTQURUZXN0QmFzZSA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RX
aXRoUGFyYW08UGFyYW1UeXBlPiB7CiAgICAgcmV0dXJuIHNhZDsKICAgfQogCi0gIC8vIFN1bSBv
ZiBBYnNvbHV0ZSBEaWZmZXJlbmNlcyBTa2lwIHJvd3MuIEdpdmVuIHR3byBibG9ja3MsIGNhbGN1
bGF0ZSB0aGUKLSAgLy8gYWJzb2x1dGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBwaXhlbHMgaW4g
dGhlIHNhbWUgcmVsYXRpdmUgbG9jYXRpb24gZXZlcnkKLSAgLy8gb3RoZXIgcm93OyBhY2N1bXVs
YXRlIGFuZCBkb3VibGUgdGhlIHJlc3VsdCBhdCB0aGUgZW5kLgotICB1aW50MzJfdCBSZWZlcmVu
Y2VTQURTa2lwKGludCByZWZfb2Zmc2V0KSBjb25zdCB7Ci0gICAgdWludDMyX3Qgc2FkID0gMDsK
LSAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZlcmVuY2U4ID0gR2V0UmVmZXJlbmNlRnJvbU9m
ZnNldChyZWZfb2Zmc2V0KTsKLSAgICBjb25zdCB1aW50OF90ICpjb25zdCBzb3VyY2U4ID0gc291
cmNlX2RhdGFfOwotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAgY29uc3QgdWludDE2
X3QgKmNvbnN0IHJlZmVyZW5jZTE2ID0KLSAgICAgICAgQ09OVkVSVF9UT19TSE9SVFBUUihHZXRS
ZWZlcmVuY2VGcm9tT2Zmc2V0KHJlZl9vZmZzZXQpKTsKLSAgICBjb25zdCB1aW50MTZfdCAqY29u
c3Qgc291cmNlMTYgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNvdXJjZV9kYXRhXyk7Ci0jZW5kaWYg
IC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAgZm9yIChpbnQgaCA9IDA7IGggPCBwYXJh
bXNfLmhlaWdodDsgaCArPSAyKSB7Ci0gICAgICBmb3IgKGludCB3ID0gMDsgdyA8IHBhcmFtc18u
d2lkdGg7ICsrdykgewotICAgICAgICBpZiAoIXVzZV9oaWdoX2JpdF9kZXB0aF8pIHsKLSAgICAg
ICAgICBzYWQgKz0gYWJzKHNvdXJjZThbaCAqIHNvdXJjZV9zdHJpZGVfICsgd10gLQotICAgICAg
ICAgICAgICAgICAgICAgcmVmZXJlbmNlOFtoICogcmVmZXJlbmNlX3N0cmlkZV8gKyB3XSk7Ci0j
aWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBz
YWQgKz0gYWJzKHNvdXJjZTE2W2ggKiBzb3VyY2Vfc3RyaWRlXyArIHddIC0KLSAgICAgICAgICAg
ICAgICAgICAgIHJlZmVyZW5jZTE2W2ggKiByZWZlcmVuY2Vfc3RyaWRlXyArIHddKTsKLSNlbmRp
ZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICAgICAgfQotICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gc2FkICogMjsKLSAgfQotCiAgIC8vIFN1bSBvZiBBYnNvbHV0ZSBEaWZmZXJl
bmNlcyBBdmVyYWdlLiBHaXZlbiB0d28gYmxvY2tzLCBhbmQgYSBwcmVkaWN0aW9uCiAgIC8vIGNh
bGN1bGF0ZSB0aGUgYWJzb2x1dGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG9uZSBwaXhlbCBhbmQgYXZl
cmFnZSBvZiB0aGUKICAgLy8gY29ycmVzcG9uZGluZyBhbmQgcHJlZGljdGVkIHBpeGVsczsgYWNj
dW11bGF0ZS4KQEAgLTMwMSwzNSArMjY2LDMzIEBAIGNsYXNzIFNBRFRlc3RCYXNlIDogcHVibGlj
IDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxQYXJhbVR5cGU+IHsKICAgUGFyYW1UeXBlIHBhcmFt
c187CiB9OwogCi1jbGFzcyBTQUR4NFRlc3QgOiBwdWJsaWMgU0FEVGVzdEJhc2U8U2FkTXhOeDRQ
YXJhbT4geworY2xhc3MgU0FEeDhUZXN0IDogcHVibGljIFNBRFRlc3RCYXNlPFNhZE14Tng4UGFy
YW0+IHsKICBwdWJsaWM6Ci0gIFNBRHg0VGVzdCgpIDogU0FEVGVzdEJhc2UoR2V0UGFyYW0oKSkg
e30KKyAgU0FEeDhUZXN0KCkgOiBTQURUZXN0QmFzZShHZXRQYXJhbSgpKSB7fQogCiAgcHJvdGVj
dGVkOgogICB2b2lkIFNBRHModW5zaWduZWQgaW50ICpyZXN1bHRzKSBjb25zdCB7Ci0gICAgY29u
c3QgdWludDhfdCAqcmVmZXJlbmNlc1tdID0geyBHZXRSZWZlcmVuY2UoMCksIEdldFJlZmVyZW5j
ZSgxKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFJlZmVyZW5jZSgy
KSwgR2V0UmVmZXJlbmNlKDMpIH07CisgICAgY29uc3QgdWludDhfdCAqcmVmZXJlbmNlID0gR2V0
UmVmZXJlbmNlRnJvbU9mZnNldCgwKTsKIAogICAgIEFTTV9SRUdJU1RFUl9TVEFURV9DSEVDSyhw
YXJhbXNfLmZ1bmMoCi0gICAgICAgIHNvdXJjZV9kYXRhXywgc291cmNlX3N0cmlkZV8sIHJlZmVy
ZW5jZXMsIHJlZmVyZW5jZV9zdHJpZGVfLCByZXN1bHRzKSk7CisgICAgICAgIHNvdXJjZV9kYXRh
Xywgc291cmNlX3N0cmlkZV8sIHJlZmVyZW5jZSwgcmVmZXJlbmNlX3N0cmlkZV8sIHJlc3VsdHMp
KTsKICAgfQogCiAgIHZvaWQgQ2hlY2tTQURzKCkgY29uc3QgewogICAgIHVpbnQzMl90IHJlZmVy
ZW5jZV9zYWQ7Ci0gICAgREVDTEFSRV9BTElHTkVEKGtEYXRhQWxpZ25tZW50LCB1aW50MzJfdCwg
ZXhwX3NhZFs0XSk7CisgICAgREVDTEFSRV9BTElHTkVEKGtEYXRhQWxpZ25tZW50LCB1aW50MzJf
dCwgZXhwX3NhZFs4XSk7CiAKICAgICBTQURzKGV4cF9zYWQpOwotICAgIGZvciAoaW50IGJsb2Nr
ID0gMDsgYmxvY2sgPCA0OyArK2Jsb2NrKSB7Ci0gICAgICByZWZlcmVuY2Vfc2FkID0gUmVmZXJl
bmNlU0FEKEdldEJsb2NrUmVmT2Zmc2V0KGJsb2NrKSk7Ci0KLSAgICAgIEVYUEVDVF9FUShyZWZl
cmVuY2Vfc2FkLCBleHBfc2FkW2Jsb2NrXSkgPDwgImJsb2NrICIgPDwgYmxvY2s7CisgICAgZm9y
IChpbnQgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgODsgKytvZmZzZXQpIHsKKyAgICAgIHJlZmVyZW5j
ZV9zYWQgPSBSZWZlcmVuY2VTQUQob2Zmc2V0KTsKKyAgICAgIEVYUEVDVF9FUShyZWZlcmVuY2Vf
c2FkLCBleHBfc2FkW29mZnNldF0pIDw8ICJvZmZzZXQgIiA8PCBvZmZzZXQ7CiAgICAgfQogICB9
CiB9OwogCi1jbGFzcyBTQURTa2lweDRUZXN0IDogcHVibGljIFNBRFRlc3RCYXNlPFNhZE14Tng0
UGFyYW0+IHsKK2NsYXNzIFNBRHg0VGVzdCA6IHB1YmxpYyBTQURUZXN0QmFzZTxTYWRNeE54NFBh
cmFtPiB7CiAgcHVibGljOgotICBTQURTa2lweDRUZXN0KCkgOiBTQURUZXN0QmFzZShHZXRQYXJh
bSgpKSB7fQorICBTQUR4NFRlc3QoKSA6IFNBRFRlc3RCYXNlKEdldFBhcmFtKCkpIHt9CiAKICBw
cm90ZWN0ZWQ6CiAgIHZvaWQgU0FEcyh1bnNpZ25lZCBpbnQgKnJlc3VsdHMpIGNvbnN0IHsKQEAg
LTM0Niw3ICszMDksNyBAQCBjbGFzcyBTQURTa2lweDRUZXN0IDogcHVibGljIFNBRFRlc3RCYXNl
PFNhZE14Tng0UGFyYW0+IHsKIAogICAgIFNBRHMoZXhwX3NhZCk7CiAgICAgZm9yIChpbnQgYmxv
Y2sgPSAwOyBibG9jayA8IDQ7ICsrYmxvY2spIHsKLSAgICAgIHJlZmVyZW5jZV9zYWQgPSBSZWZl
cmVuY2VTQURTa2lwKEdldEJsb2NrUmVmT2Zmc2V0KGJsb2NrKSk7CisgICAgICByZWZlcmVuY2Vf
c2FkID0gUmVmZXJlbmNlU0FEKEdldEJsb2NrUmVmT2Zmc2V0KGJsb2NrKSk7CiAKICAgICAgIEVY
UEVDVF9FUShyZWZlcmVuY2Vfc2FkLCBleHBfc2FkW2Jsb2NrXSkgPDwgImJsb2NrICIgPDwgYmxv
Y2s7CiAgICAgfQpAQCAtMzc0LDQwICszMzcsMTMgQEAgY2xhc3MgU0FEVGVzdCA6IHB1YmxpYyBB
YnN0cmFjdEJlbmNoLCBwdWJsaWMgU0FEVGVzdEJhc2U8U2FkTXhOUGFyYW0+IHsKICAgICBBU1NF
UlRfRVEocmVmZXJlbmNlX3NhZCwgZXhwX3NhZCk7CiAgIH0KIAotICB2b2lkIFJ1bigpIG92ZXJy
aWRlIHsKLSAgICBwYXJhbXNfLmZ1bmMoc291cmNlX2RhdGFfLCBzb3VyY2Vfc3RyaWRlXywgcmVm
ZXJlbmNlX2RhdGFfLAotICAgICAgICAgICAgICAgICByZWZlcmVuY2Vfc3RyaWRlXyk7Ci0gIH0K
LX07Ci0KLWNsYXNzIFNBRFNraXBUZXN0IDogcHVibGljIEFic3RyYWN0QmVuY2gsIHB1YmxpYyBT
QURUZXN0QmFzZTxTYWRNeE5QYXJhbT4gewotIHB1YmxpYzoKLSAgU0FEU2tpcFRlc3QoKSA6IFNB
RFRlc3RCYXNlKEdldFBhcmFtKCkpIHt9Ci0KLSBwcm90ZWN0ZWQ6Ci0gIHVuc2lnbmVkIGludCBT
QUQoaW50IGJsb2NrX2lkeCkgY29uc3QgewotICAgIHVuc2lnbmVkIGludCByZXQ7Ci0gICAgY29u
c3QgdWludDhfdCAqY29uc3QgcmVmZXJlbmNlID0gR2V0UmVmZXJlbmNlKGJsb2NrX2lkeCk7Ci0K
LSAgICBBU01fUkVHSVNURVJfU1RBVEVfQ0hFQ0socmV0ID0gcGFyYW1zXy5mdW5jKHNvdXJjZV9k
YXRhXywgc291cmNlX3N0cmlkZV8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZWZlcmVuY2UsIHJlZmVyZW5jZV9zdHJpZGVfKSk7Ci0gICAgcmV0dXJu
IHJldDsKLSAgfQotCi0gIHZvaWQgQ2hlY2tTQUQoKSBjb25zdCB7Ci0gICAgY29uc3QgdW5zaWdu
ZWQgaW50IHJlZmVyZW5jZV9zYWQgPSBSZWZlcmVuY2VTQURTa2lwKEdldEJsb2NrUmVmT2Zmc2V0
KDApKTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgZXhwX3NhZCA9IFNBRCgwKTsKLQotICAgIEFT
U0VSVF9FUShyZWZlcmVuY2Vfc2FkLCBleHBfc2FkKTsKLSAgfQotCi0gIHZvaWQgUnVuKCkgb3Zl
cnJpZGUgeworICB2b2lkIFJ1bigpIHsKICAgICBwYXJhbXNfLmZ1bmMoc291cmNlX2RhdGFfLCBz
b3VyY2Vfc3RyaWRlXywgcmVmZXJlbmNlX2RhdGFfLAogICAgICAgICAgICAgICAgICByZWZlcmVu
Y2Vfc3RyaWRlXyk7CiAgIH0KIH07CiAKLWNsYXNzIFNBRGF2Z1Rlc3QgOiBwdWJsaWMgQWJzdHJh
Y3RCZW5jaCwgcHVibGljIFNBRFRlc3RCYXNlPFNhZE14TkF2Z1BhcmFtPiB7CitjbGFzcyBTQURh
dmdUZXN0IDogcHVibGljIFNBRFRlc3RCYXNlPFNhZE14TkF2Z1BhcmFtPiB7CiAgcHVibGljOgog
ICBTQURhdmdUZXN0KCkgOiBTQURUZXN0QmFzZShHZXRQYXJhbSgpKSB7fQogCkBAIC00MjgsMTEg
KzM2NCw2IEBAIGNsYXNzIFNBRGF2Z1Rlc3QgOiBwdWJsaWMgQWJzdHJhY3RCZW5jaCwgcHVibGlj
IFNBRFRlc3RCYXNlPFNhZE14TkF2Z1BhcmFtPiB7CiAKICAgICBBU1NFUlRfRVEocmVmZXJlbmNl
X3NhZCwgZXhwX3NhZCk7CiAgIH0KLQotICB2b2lkIFJ1bigpIG92ZXJyaWRlIHsKLSAgICBwYXJh
bXNfLmZ1bmMoc291cmNlX2RhdGFfLCBzb3VyY2Vfc3RyaWRlXywgcmVmZXJlbmNlX2RhdGFfLAot
ICAgICAgICAgICAgICAgICByZWZlcmVuY2Vfc3RyaWRlXywgc2Vjb25kX3ByZWRfKTsKLSAgfQog
fTsKIAogVEVTVF9QKFNBRFRlc3QsIE1heFJlZikgewpAQCAtNDg3LDU4ICs0MTgsNiBAQCBURVNU
X1AoU0FEVGVzdCwgRElTQUJMRURfU3BlZWQpIHsKICAgUHJpbnRNZWRpYW4odGl0bGUpOwogfQog
Ci1URVNUX1AoU0FEU2tpcFRlc3QsIE1heFJlZikgewotICBGaWxsQ29uc3RhbnQoc291cmNlX2Rh
dGFfLCBzb3VyY2Vfc3RyaWRlXywgMCk7Ci0gIEZpbGxDb25zdGFudChyZWZlcmVuY2VfZGF0YV8s
IHJlZmVyZW5jZV9zdHJpZGVfLCBtYXNrXyk7Ci0gIENoZWNrU0FEKCk7Ci19Ci0KLVRFU1RfUChT
QURTa2lwVGVzdCwgTWF4U3JjKSB7Ci0gIEZpbGxDb25zdGFudChzb3VyY2VfZGF0YV8sIHNvdXJj
ZV9zdHJpZGVfLCBtYXNrXyk7Ci0gIEZpbGxDb25zdGFudChyZWZlcmVuY2VfZGF0YV8sIHJlZmVy
ZW5jZV9zdHJpZGVfLCAwKTsKLSAgQ2hlY2tTQUQoKTsKLX0KLQotVEVTVF9QKFNBRFNraXBUZXN0
LCBTaG9ydFJlZikgewotICBjb25zdCBpbnQgdG1wX3N0cmlkZSA9IHJlZmVyZW5jZV9zdHJpZGVf
OwotICByZWZlcmVuY2Vfc3RyaWRlXyA+Pj0gMTsKLSAgRmlsbFJhbmRvbShzb3VyY2VfZGF0YV8s
IHNvdXJjZV9zdHJpZGVfKTsKLSAgRmlsbFJhbmRvbShyZWZlcmVuY2VfZGF0YV8sIHJlZmVyZW5j
ZV9zdHJpZGVfKTsKLSAgQ2hlY2tTQUQoKTsKLSAgcmVmZXJlbmNlX3N0cmlkZV8gPSB0bXBfc3Ry
aWRlOwotfQotCi1URVNUX1AoU0FEU2tpcFRlc3QsIFVuYWxpZ25lZFJlZikgewotICAvLyBUaGUg
cmVmZXJlbmNlIGZyYW1lLCBidXQgbm90IHRoZSBzb3VyY2UgZnJhbWUsIG1heSBiZSB1bmFsaWdu
ZWQgZm9yCi0gIC8vIGNlcnRhaW4gdHlwZXMgb2Ygc2VhcmNoZXMuCi0gIGNvbnN0IGludCB0bXBf
c3RyaWRlID0gcmVmZXJlbmNlX3N0cmlkZV87Ci0gIHJlZmVyZW5jZV9zdHJpZGVfIC09IDE7Ci0g
IEZpbGxSYW5kb20oc291cmNlX2RhdGFfLCBzb3VyY2Vfc3RyaWRlXyk7Ci0gIEZpbGxSYW5kb20o
cmVmZXJlbmNlX2RhdGFfLCByZWZlcmVuY2Vfc3RyaWRlXyk7Ci0gIENoZWNrU0FEKCk7Ci0gIHJl
ZmVyZW5jZV9zdHJpZGVfID0gdG1wX3N0cmlkZTsKLX0KLQotVEVTVF9QKFNBRFNraXBUZXN0LCBT
aG9ydFNyYykgewotICBjb25zdCBpbnQgdG1wX3N0cmlkZSA9IHNvdXJjZV9zdHJpZGVfOwotICBz
b3VyY2Vfc3RyaWRlXyA+Pj0gMTsKLSAgRmlsbFJhbmRvbShzb3VyY2VfZGF0YV8sIHNvdXJjZV9z
dHJpZGVfKTsKLSAgRmlsbFJhbmRvbShyZWZlcmVuY2VfZGF0YV8sIHJlZmVyZW5jZV9zdHJpZGVf
KTsKLSAgQ2hlY2tTQUQoKTsKLSAgc291cmNlX3N0cmlkZV8gPSB0bXBfc3RyaWRlOwotfQotCi1U
RVNUX1AoU0FEU2tpcFRlc3QsIERJU0FCTEVEX1NwZWVkKSB7Ci0gIGNvbnN0IGludCBrQ291bnRT
cGVlZFRlc3RCbG9jayA9IDUwMDAwMDAwIC8gKHBhcmFtc18ud2lkdGggKiBwYXJhbXNfLmhlaWdo
dCk7Ci0gIEZpbGxSYW5kb20oc291cmNlX2RhdGFfLCBzb3VyY2Vfc3RyaWRlXyk7Ci0KLSAgUnVu
TlRpbWVzKGtDb3VudFNwZWVkVGVzdEJsb2NrKTsKLQotICBjaGFyIHRpdGxlWzE2XTsKLSAgc25w
cmludGYodGl0bGUsIHNpemVvZih0aXRsZSksICIlZHglZCIsIHBhcmFtc18ud2lkdGgsIHBhcmFt
c18uaGVpZ2h0KTsKLSAgUHJpbnRNZWRpYW4odGl0bGUpOwotfQotCiBURVNUX1AoU0FEYXZnVGVz
dCwgTWF4UmVmKSB7CiAgIEZpbGxDb25zdGFudChzb3VyY2VfZGF0YV8sIHNvdXJjZV9zdHJpZGVf
LCAwKTsKICAgRmlsbENvbnN0YW50KHJlZmVyZW5jZV9kYXRhXywgcmVmZXJlbmNlX3N0cmlkZV8s
IG1hc2tfKTsKQEAgLTU4NCwxOSArNDYzLDYgQEAgVEVTVF9QKFNBRGF2Z1Rlc3QsIFNob3J0U3Jj
KSB7CiAgIHNvdXJjZV9zdHJpZGVfID0gdG1wX3N0cmlkZTsKIH0KIAotVEVTVF9QKFNBRGF2Z1Rl
c3QsIERJU0FCTEVEX1NwZWVkKSB7Ci0gIGNvbnN0IGludCBrQ291bnRTcGVlZFRlc3RCbG9jayA9
IDUwMDAwMDAwIC8gKHBhcmFtc18ud2lkdGggKiBwYXJhbXNfLmhlaWdodCk7Ci0gIEZpbGxSYW5k
b20oc291cmNlX2RhdGFfLCBzb3VyY2Vfc3RyaWRlXyk7Ci0gIEZpbGxSYW5kb20ocmVmZXJlbmNl
X2RhdGFfLCByZWZlcmVuY2Vfc3RyaWRlXyk7Ci0gIEZpbGxSYW5kb20oc2Vjb25kX3ByZWRfLCBw
YXJhbXNfLndpZHRoKTsKLQotICBSdW5OVGltZXMoa0NvdW50U3BlZWRUZXN0QmxvY2spOwotCi0g
IGNoYXIgdGl0bGVbMTZdOwotICBzbnByaW50Zih0aXRsZSwgc2l6ZW9mKHRpdGxlKSwgIiVkeCVk
IiwgcGFyYW1zXy53aWR0aCwgcGFyYW1zXy5oZWlnaHQpOwotICBQcmludE1lZGlhbih0aXRsZSk7
Ci19Ci0KIFRFU1RfUChTQUR4NFRlc3QsIE1heFJlZikgewogICBGaWxsQ29uc3RhbnQoc291cmNl
X2RhdGFfLCBzb3VyY2Vfc3RyaWRlXywgMCk7CiAgIEZpbGxDb25zdGFudChHZXRSZWZlcmVuY2Uo
MCksIHJlZmVyZW5jZV9zdHJpZGVfLCBtYXNrXyk7CkBAIC02NzcsMTIgKzU0MywxNCBAQCBURVNU
X1AoU0FEeDRUZXN0LCBESVNBQkxFRF9TcGVlZCkgewogICB1aW50MzJfdCByZWZlcmVuY2Vfc2Fk
WzRdOwogICBERUNMQVJFX0FMSUdORUQoa0RhdGFBbGlnbm1lbnQsIHVpbnQzMl90LCBleHBfc2Fk
WzRdKTsKICAgdnB4X3VzZWNfdGltZXIgdGltZXI7Ci0gIGZvciAoaW50IGJsb2NrID0gMDsgYmxv
Y2sgPCA0OyArK2Jsb2NrKSB7Ci0gICAgcmVmZXJlbmNlX3NhZFtibG9ja10gPSBSZWZlcmVuY2VT
QUQoR2V0QmxvY2tSZWZPZmZzZXQoYmxvY2spKTsKLSAgfQorCisgIG1lbXNldChyZWZlcmVuY2Vf
c2FkLCAwLCBzaXplb2YocmVmZXJlbmNlX3NhZCkpOworICBTQURzKGV4cF9zYWQpOwogICB2cHhf
dXNlY190aW1lcl9zdGFydCgmdGltZXIpOwogICBmb3IgKGludCBpID0gMDsgaSA8IGtDb3VudFNw
ZWVkVGVzdEJsb2NrOyArK2kpIHsKLSAgICBTQURzKGV4cF9zYWQpOworICAgIGZvciAoaW50IGJs
b2NrID0gMDsgYmxvY2sgPCA0OyArK2Jsb2NrKSB7CisgICAgICByZWZlcmVuY2Vfc2FkW2Jsb2Nr
XSA9IFJlZmVyZW5jZVNBRChHZXRCbG9ja1JlZk9mZnNldChibG9jaykpOworICAgIH0KICAgfQog
ICB2cHhfdXNlY190aW1lcl9tYXJrKCZ0aW1lcik7CiAgIGZvciAoaW50IGJsb2NrID0gMDsgYmxv
Y2sgPCA0OyArK2Jsb2NrKSB7CkBAIC02OTYsMTA1ICs1NjQsMTMgQEAgVEVTVF9QKFNBRHg0VGVz
dCwgRElTQUJMRURfU3BlZWQpIHsKICAgcmVmZXJlbmNlX3N0cmlkZV8gPSB0bXBfc3RyaWRlOwog
fQogCi1URVNUX1AoU0FEU2tpcHg0VGVzdCwgTWF4UmVmKSB7Ci0gIEZpbGxDb25zdGFudChzb3Vy
Y2VfZGF0YV8sIHNvdXJjZV9zdHJpZGVfLCAwKTsKLSAgRmlsbENvbnN0YW50KEdldFJlZmVyZW5j
ZSgwKSwgcmVmZXJlbmNlX3N0cmlkZV8sIG1hc2tfKTsKLSAgRmlsbENvbnN0YW50KEdldFJlZmVy
ZW5jZSgxKSwgcmVmZXJlbmNlX3N0cmlkZV8sIG1hc2tfKTsKLSAgRmlsbENvbnN0YW50KEdldFJl
ZmVyZW5jZSgyKSwgcmVmZXJlbmNlX3N0cmlkZV8sIG1hc2tfKTsKLSAgRmlsbENvbnN0YW50KEdl
dFJlZmVyZW5jZSgzKSwgcmVmZXJlbmNlX3N0cmlkZV8sIG1hc2tfKTsKK1RFU1RfUChTQUR4OFRl
c3QsIFJlZ3VsYXIpIHsKKyAgRmlsbFJhbmRvbVdIKHNvdXJjZV9kYXRhXywgc291cmNlX3N0cmlk
ZV8sIHBhcmFtc18ud2lkdGgsIHBhcmFtc18uaGVpZ2h0KTsKKyAgRmlsbFJhbmRvbVdIKEdldFJl
ZmVyZW5jZUZyb21PZmZzZXQoMCksIHJlZmVyZW5jZV9zdHJpZGVfLCBwYXJhbXNfLndpZHRoICsg
OCwKKyAgICAgICAgICAgICAgIHBhcmFtc18uaGVpZ2h0KTsKICAgQ2hlY2tTQURzKCk7CiB9CiAK
LVRFU1RfUChTQURTa2lweDRUZXN0LCBNYXhTcmMpIHsKLSAgRmlsbENvbnN0YW50KHNvdXJjZV9k
YXRhXywgc291cmNlX3N0cmlkZV8sIG1hc2tfKTsKLSAgRmlsbENvbnN0YW50KEdldFJlZmVyZW5j
ZSgwKSwgcmVmZXJlbmNlX3N0cmlkZV8sIDApOwotICBGaWxsQ29uc3RhbnQoR2V0UmVmZXJlbmNl
KDEpLCByZWZlcmVuY2Vfc3RyaWRlXywgMCk7Ci0gIEZpbGxDb25zdGFudChHZXRSZWZlcmVuY2Uo
MiksIHJlZmVyZW5jZV9zdHJpZGVfLCAwKTsKLSAgRmlsbENvbnN0YW50KEdldFJlZmVyZW5jZSgz
KSwgcmVmZXJlbmNlX3N0cmlkZV8sIDApOwotICBDaGVja1NBRHMoKTsKLX0KLQotVEVTVF9QKFNB
RFNraXB4NFRlc3QsIFNob3J0UmVmKSB7Ci0gIGludCB0bXBfc3RyaWRlID0gcmVmZXJlbmNlX3N0
cmlkZV87Ci0gIHJlZmVyZW5jZV9zdHJpZGVfID4+PSAxOwotICBGaWxsUmFuZG9tKHNvdXJjZV9k
YXRhXywgc291cmNlX3N0cmlkZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgwKSwgcmVm
ZXJlbmNlX3N0cmlkZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgxKSwgcmVmZXJlbmNl
X3N0cmlkZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgyKSwgcmVmZXJlbmNlX3N0cmlk
ZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgzKSwgcmVmZXJlbmNlX3N0cmlkZV8pOwot
ICBDaGVja1NBRHMoKTsKLSAgcmVmZXJlbmNlX3N0cmlkZV8gPSB0bXBfc3RyaWRlOwotfQotCi1U
RVNUX1AoU0FEU2tpcHg0VGVzdCwgVW5hbGlnbmVkUmVmKSB7Ci0gIC8vIFRoZSByZWZlcmVuY2Ug
ZnJhbWUsIGJ1dCBub3QgdGhlIHNvdXJjZSBmcmFtZSwgbWF5IGJlIHVuYWxpZ25lZCBmb3IKLSAg
Ly8gY2VydGFpbiB0eXBlcyBvZiBzZWFyY2hlcy4KLSAgaW50IHRtcF9zdHJpZGUgPSByZWZlcmVu
Y2Vfc3RyaWRlXzsKLSAgcmVmZXJlbmNlX3N0cmlkZV8gLT0gMTsKLSAgRmlsbFJhbmRvbShzb3Vy
Y2VfZGF0YV8sIHNvdXJjZV9zdHJpZGVfKTsKLSAgRmlsbFJhbmRvbShHZXRSZWZlcmVuY2UoMCks
IHJlZmVyZW5jZV9zdHJpZGVfKTsKLSAgRmlsbFJhbmRvbShHZXRSZWZlcmVuY2UoMSksIHJlZmVy
ZW5jZV9zdHJpZGVfKTsKLSAgRmlsbFJhbmRvbShHZXRSZWZlcmVuY2UoMiksIHJlZmVyZW5jZV9z
dHJpZGVfKTsKLSAgRmlsbFJhbmRvbShHZXRSZWZlcmVuY2UoMyksIHJlZmVyZW5jZV9zdHJpZGVf
KTsKLSAgQ2hlY2tTQURzKCk7Ci0gIHJlZmVyZW5jZV9zdHJpZGVfID0gdG1wX3N0cmlkZTsKLX0K
LQotVEVTVF9QKFNBRFNraXB4NFRlc3QsIFNob3J0U3JjKSB7Ci0gIGludCB0bXBfc3RyaWRlID0g
c291cmNlX3N0cmlkZV87Ci0gIHNvdXJjZV9zdHJpZGVfID4+PSAxOwotICBGaWxsUmFuZG9tKHNv
dXJjZV9kYXRhXywgc291cmNlX3N0cmlkZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgw
KSwgcmVmZXJlbmNlX3N0cmlkZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgxKSwgcmVm
ZXJlbmNlX3N0cmlkZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgyKSwgcmVmZXJlbmNl
X3N0cmlkZV8pOwotICBGaWxsUmFuZG9tKEdldFJlZmVyZW5jZSgzKSwgcmVmZXJlbmNlX3N0cmlk
ZV8pOwotICBDaGVja1NBRHMoKTsKLSAgc291cmNlX3N0cmlkZV8gPSB0bXBfc3RyaWRlOwotfQot
Ci1URVNUX1AoU0FEU2tpcHg0VGVzdCwgU3JjQWxpZ25lZEJ5V2lkdGgpIHsKLSAgdWludDhfdCAq
dG1wX3NvdXJjZV9kYXRhID0gc291cmNlX2RhdGFfOwotICBzb3VyY2VfZGF0YV8gKz0gcGFyYW1z
Xy53aWR0aDsKLSAgRmlsbFJhbmRvbShzb3VyY2VfZGF0YV8sIHNvdXJjZV9zdHJpZGVfKTsKLSAg
RmlsbFJhbmRvbShHZXRSZWZlcmVuY2UoMCksIHJlZmVyZW5jZV9zdHJpZGVfKTsKLSAgRmlsbFJh
bmRvbShHZXRSZWZlcmVuY2UoMSksIHJlZmVyZW5jZV9zdHJpZGVfKTsKLSAgRmlsbFJhbmRvbShH
ZXRSZWZlcmVuY2UoMiksIHJlZmVyZW5jZV9zdHJpZGVfKTsKLSAgRmlsbFJhbmRvbShHZXRSZWZl
cmVuY2UoMyksIHJlZmVyZW5jZV9zdHJpZGVfKTsKLSAgQ2hlY2tTQURzKCk7Ci0gIHNvdXJjZV9k
YXRhXyA9IHRtcF9zb3VyY2VfZGF0YTsKLX0KLQotVEVTVF9QKFNBRFNraXB4NFRlc3QsIERJU0FC
TEVEX1NwZWVkKSB7Ci0gIGludCB0bXBfc3RyaWRlID0gcmVmZXJlbmNlX3N0cmlkZV87Ci0gIHJl
ZmVyZW5jZV9zdHJpZGVfIC09IDE7Ci0gIEZpbGxSYW5kb20oc291cmNlX2RhdGFfLCBzb3VyY2Vf
c3RyaWRlXyk7Ci0gIEZpbGxSYW5kb20oR2V0UmVmZXJlbmNlKDApLCByZWZlcmVuY2Vfc3RyaWRl
Xyk7Ci0gIEZpbGxSYW5kb20oR2V0UmVmZXJlbmNlKDEpLCByZWZlcmVuY2Vfc3RyaWRlXyk7Ci0g
IEZpbGxSYW5kb20oR2V0UmVmZXJlbmNlKDIpLCByZWZlcmVuY2Vfc3RyaWRlXyk7Ci0gIEZpbGxS
YW5kb20oR2V0UmVmZXJlbmNlKDMpLCByZWZlcmVuY2Vfc3RyaWRlXyk7Ci0gIGNvbnN0IGludCBr
Q291bnRTcGVlZFRlc3RCbG9jayA9IDUwMDAwMDAwMCAvIChwYXJhbXNfLndpZHRoICogcGFyYW1z
Xy5oZWlnaHQpOwotICB1aW50MzJfdCByZWZlcmVuY2Vfc2FkWzRdOwotICBERUNMQVJFX0FMSUdO
RUQoa0RhdGFBbGlnbm1lbnQsIHVpbnQzMl90LCBleHBfc2FkWzRdKTsKLSAgdnB4X3VzZWNfdGlt
ZXIgdGltZXI7Ci0gIGZvciAoaW50IGJsb2NrID0gMDsgYmxvY2sgPCA0OyArK2Jsb2NrKSB7Ci0g
ICAgcmVmZXJlbmNlX3NhZFtibG9ja10gPSBSZWZlcmVuY2VTQURTa2lwKEdldEJsb2NrUmVmT2Zm
c2V0KGJsb2NrKSk7Ci0gIH0KLSAgdnB4X3VzZWNfdGltZXJfc3RhcnQoJnRpbWVyKTsKLSAgZm9y
IChpbnQgaSA9IDA7IGkgPCBrQ291bnRTcGVlZFRlc3RCbG9jazsgKytpKSB7Ci0gICAgU0FEcyhl
eHBfc2FkKTsKLSAgfQotICB2cHhfdXNlY190aW1lcl9tYXJrKCZ0aW1lcik7Ci0gIGZvciAoaW50
IGJsb2NrID0gMDsgYmxvY2sgPCA0OyArK2Jsb2NrKSB7Ci0gICAgRVhQRUNUX0VRKHJlZmVyZW5j
ZV9zYWRbYmxvY2tdLCBleHBfc2FkW2Jsb2NrXSkgPDwgImJsb2NrICIgPDwgYmxvY2s7Ci0gIH0K
LSAgY29uc3QgaW50IGVsYXBzZWRfdGltZSA9Ci0gICAgICBzdGF0aWNfY2FzdDxpbnQ+KHZweF91
c2VjX3RpbWVyX2VsYXBzZWQoJnRpbWVyKSAvIDEwMDApOwotICBwcmludGYoInNhZCVkeCVkeDQg
KCUyZGJpdCkgdGltZTogJTVkIG1zXG4iLCBwYXJhbXNfLndpZHRoLCBwYXJhbXNfLmhlaWdodCwK
LSAgICAgICAgIGJpdF9kZXB0aF8sIGVsYXBzZWRfdGltZSk7Ci0KLSAgcmVmZXJlbmNlX3N0cmlk
ZV8gPSB0bXBfc3RyaWRlOwotfQotCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gQyBmdW5j
dGlvbnMKIGNvbnN0IFNhZE14TlBhcmFtIGNfdGVzdHNbXSA9IHsKQEAgLTg1NSw1NiArNjMxLDYg
QEAgY29uc3QgU2FkTXhOUGFyYW0gY190ZXN0c1tdID0gewogfTsKIElOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUChDLCBTQURUZXN0LCA6OnRlc3Rpbmc6OlZhbHVlc0luKGNfdGVzdHMpKTsKIAotY29u
c3QgU2FkU2tpcE14TlBhcmFtIHNraXBfY190ZXN0c1tdID0gewotICBTYWRTa2lwTXhOUGFyYW0o
NjQsIDY0LCAmdnB4X3NhZF9za2lwXzY0eDY0X2MpLAotICBTYWRTa2lwTXhOUGFyYW0oNjQsIDMy
LCAmdnB4X3NhZF9za2lwXzY0eDMyX2MpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDY0LCAmdnB4
X3NhZF9za2lwXzMyeDY0X2MpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDMyLCAmdnB4X3NhZF9z
a2lwXzMyeDMyX2MpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDE2LCAmdnB4X3NhZF9za2lwXzMy
eDE2X2MpLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDMyLCAmdnB4X3NhZF9za2lwXzE2eDMyX2Mp
LAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDE2LCAmdnB4X3NhZF9za2lwXzE2eDE2X2MpLAotICBT
YWRTa2lwTXhOUGFyYW0oMTYsIDgsICZ2cHhfc2FkX3NraXBfMTZ4OF9jKSwKLSAgU2FkU2tpcE14
TlBhcmFtKDgsIDE2LCAmdnB4X3NhZF9za2lwXzh4MTZfYyksCi0gIFNhZFNraXBNeE5QYXJhbSg4
LCA4LCAmdnB4X3NhZF9za2lwXzh4OF9jKSwKLSAgU2FkU2tpcE14TlBhcmFtKDQsIDgsICZ2cHhf
c2FkX3NraXBfNHg4X2MpLAotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIFNhZFNraXBN
eE5QYXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2MsIDgpLAotICBTYWRT
a2lwTXhOUGFyYW0oNjQsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMl9jLCA4KSwKLSAg
U2FkU2tpcE14TlBhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjRfYywgOCks
Ci0gIFNhZFNraXBNeE5QYXJhbSgzMiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX2Ms
IDgpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngx
Nl9jLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBf
MTZ4MzJfYywgOCksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9z
a2lwXzE2eDE2X2MsIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDgsICZ2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eDhfYywgOCksCi0gIFNhZFNraXBNeE5QYXJhbSg4LCAxNiwgJnZweF9oaWdoYmRf
c2FkX3NraXBfOHgxNl9jLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDgsIDgsICZ2cHhfaGlnaGJk
X3NhZF9za2lwXzh4OF9jLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDQsIDgsICZ2cHhfaGlnaGJk
X3NhZF9za2lwXzR4OF9jLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCA2NCwgJnZweF9oaWdo
YmRfc2FkX3NraXBfNjR4NjRfYywgMTApLAotICBTYWRTa2lwTXhOUGFyYW0oNjQsIDMyLCAmdnB4
X2hpZ2hiZF9zYWRfc2tpcF82NHgzMl9jLCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSgzMiwgNjQs
ICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X2MsIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMy
LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJfYywgMTApLAotICBTYWRTa2lwTXhOUGFy
YW0oMzIsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNl9jLCAxMCksCi0gIFNhZFNraXBN
eE5QYXJhbSgxNiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX2MsIDEwKSwKLSAgU2Fk
U2tpcE14TlBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfYywgMTApLAot
ICBTYWRTa2lwTXhOUGFyYW0oMTYsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhfYywgMTAp
LAotICBTYWRTa2lwTXhOUGFyYW0oOCwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZfYywg
MTApLAotICBTYWRTa2lwTXhOUGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfOHg4X2Ms
IDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDQsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzR4OF9j
LCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0
eDY0X2MsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4MzJfYywgMTIpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMng2NF9jLCAxMiksCi0gIFNhZFNraXBNeE5QYXJhbSgzMiwgMzIsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDMyX2MsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAxNiwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYywgMTIpLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDMy
LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9jLCAxMiksCi0gIFNhZFNraXBNeE5QYXJhbSgx
NiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2MsIDEyKSwKLSAgU2FkU2tpcE14TlBh
cmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2MsIDEyKSwKLSAgU2FkU2tpcE14
TlBhcmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X2MsIDEyKSwKLSAgU2FkU2tp
cE14TlBhcmFtKDgsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9jLCAxMiksCi0gIFNhZFNr
aXBNeE5QYXJhbSg0LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYywgMTIpLAotI2VuZGlm
ICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotfTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVf
UChDLCBTQURTa2lwVGVzdCwgOjp0ZXN0aW5nOjpWYWx1ZXNJbihza2lwX2NfdGVzdHMpKTsKLQog
Y29uc3QgU2FkTXhOQXZnUGFyYW0gYXZnX2NfdGVzdHNbXSA9IHsKICAgU2FkTXhOQXZnUGFyYW0o
NjQsIDY0LCAmdnB4X3NhZDY0eDY0X2F2Z19jKSwKICAgU2FkTXhOQXZnUGFyYW0oNjQsIDMyLCAm
dnB4X3NhZDY0eDMyX2F2Z19jKSwKQEAgLTEwMjEsNTYgKzc0NywyMyBAQCBjb25zdCBTYWRNeE54
NFBhcmFtIHg0ZF9jX3Rlc3RzW10gPSB7CiB9OwogSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKEMs
IFNBRHg0VGVzdCwgOjp0ZXN0aW5nOjpWYWx1ZXNJbih4NGRfY190ZXN0cykpOwogCi1jb25zdCBT
YWRTa2lwTXhOeDRQYXJhbSBza2lwX3g0ZF9jX3Rlc3RzW10gPSB7Ci0gIFNhZFNraXBNeE54NFBh
cmFtKDY0LCA2NCwgJnZweF9zYWRfc2tpcF82NHg2NHg0ZF9jKSwKLSAgU2FkU2tpcE14Tng0UGFy
YW0oNjQsIDMyLCAmdnB4X3NhZF9za2lwXzY0eDMyeDRkX2MpLAotICBTYWRTa2lwTXhOeDRQYXJh
bSgzMiwgNjQsICZ2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYyksCi0gIFNhZFNraXBNeE54NFBhcmFt
KDMyLCAzMiwgJnZweF9zYWRfc2tpcF8zMngzMng0ZF9jKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0o
MzIsIDE2LCAmdnB4X3NhZF9za2lwXzMyeDE2eDRkX2MpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgx
NiwgMzIsICZ2cHhfc2FkX3NraXBfMTZ4MzJ4NGRfYyksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2
LCAxNiwgJnZweF9zYWRfc2tpcF8xNngxNng0ZF9jKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYs
IDgsICZ2cHhfc2FkX3NraXBfMTZ4OHg0ZF9jKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgMTYs
ICZ2cHhfc2FkX3NraXBfOHgxNng0ZF9jKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgOCwgJnZw
eF9zYWRfc2tpcF84eDh4NGRfYyksCi0gIFNhZFNraXBNeE54NFBhcmFtKDQsIDgsICZ2cHhfc2Fk
X3NraXBfNHg4eDRkX2MpLAotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIFNhZFNraXBN
eE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfYywgOCksCi0g
IFNhZFNraXBNeE54NFBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRf
YywgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4NjR4NGRfYywgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MzJ4NGRfYywgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAxNiwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfYywgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2
LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYywgOCksCi0gIFNhZFNraXBNeE54
NFBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYywgOCksCi0gIFNh
ZFNraXBNeE54NFBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX2MsIDgp
LAotICBTYWRTa2lwTXhOeDRQYXJhbSg4LCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfOHgxNng0
ZF9jLCA4KSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBf
OHg4eDRkX2MsIDgpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg0LCA4LCAmdnB4X2hpZ2hiZF9zYWRf
c2tpcF80eDh4NGRfYywgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdo
YmRfc2FkX3NraXBfNjR4NjR4NGRfYywgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSg2NCwgMzIs
ICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyeDRkX2MsIDEwKSwKLSAgU2FkU2tpcE14Tng0UGFy
YW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9jLCAxMCksCi0gIFNhZFNr
aXBNeE54NFBhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfYywgMTAp
LAotICBTYWRTa2lwTXhOeDRQYXJhbSgzMiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2
eDRkX2MsIDEwKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWRf
c2tpcF8xNngzMng0ZF9jLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAxNiwgJnZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYywgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwg
OCwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9jLCAxMCksCi0gIFNhZFNraXBNeE54NFBh
cmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX2MsIDEwKSwKLSAgU2FkU2tp
cE14Tng0UGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX2MsIDEwKSwKLSAg
U2FkU2tpcE14Tng0UGFyYW0oNCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkX2MsIDEw
KSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2
NHg0ZF9jLCAxMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4MzJ4NGRfYywgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgzMiwgNjQsICZ2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX2MsIDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIs
IDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9jLCAxMiksCi0gIFNhZFNraXBNeE54
NFBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfYywgMTIpLAotICBT
YWRTa2lwTXhOeDRQYXJhbSgxNiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkX2Ms
IDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8x
NngxNng0ZF9jLCAxMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNng4eDRkX2MsIDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgMTYsICZ2cHhf
aGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRfYywgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg4LCA4
LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfYywgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJh
bSg0LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfYywgMTIpLAotI2VuZGlmICAvLyBD
T05GSUdfVlA5X0hJR0hCSVRERVBUSAorLy8gVE9ETyhhbmdpZWJpcmQpOiBpbXBsZW1lbnQgdGhl
IG1hcmtlZC1kb3duIHNhZCBmdW5jdGlvbnMKK2NvbnN0IFNhZE14Tng4UGFyYW0geDhfY190ZXN0
c1tdID0geworICAvLyBTYWRNeE54OFBhcmFtKDY0LCA2NCwgJnZweF9zYWQ2NHg2NHg4X2MpLAor
ICAvLyBTYWRNeE54OFBhcmFtKDY0LCAzMiwgJnZweF9zYWQ2NHgzMng4X2MpLAorICAvLyBTYWRN
eE54OFBhcmFtKDMyLCA2NCwgJnZweF9zYWQzMng2NHg4X2MpLAorICBTYWRNeE54OFBhcmFtKDMy
LCAzMiwgJnZweF9zYWQzMngzMng4X2MpLAorICAvLyBTYWRNeE54OFBhcmFtKDMyLCAxNiwgJnZw
eF9zYWQzMngxNng4X2MpLAorICAvLyBTYWRNeE54OFBhcmFtKDE2LCAzMiwgJnZweF9zYWQxNngz
Mng4X2MpLAorICBTYWRNeE54OFBhcmFtKDE2LCAxNiwgJnZweF9zYWQxNngxNng4X2MpLAorICBT
YWRNeE54OFBhcmFtKDE2LCA4LCAmdnB4X3NhZDE2eDh4OF9jKSwKKyAgU2FkTXhOeDhQYXJhbSg4
LCAxNiwgJnZweF9zYWQ4eDE2eDhfYyksCisgIFNhZE14Tng4UGFyYW0oOCwgOCwgJnZweF9zYWQ4
eDh4OF9jKSwKKyAgLy8gU2FkTXhOeDhQYXJhbSg4LCA0LCAmdnB4X3NhZDh4NHg4X2MpLAorICAv
LyBTYWRNeE54OFBhcmFtKDQsIDgsICZ2cHhfc2FkNHg4eDhfYyksCisgIFNhZE14Tng4UGFyYW0o
NCwgNCwgJnZweF9zYWQ0eDR4OF9jKSwKIH07Ci1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoQywg
U0FEU2tpcHg0VGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVl
c0luKHNraXBfeDRkX2NfdGVzdHMpKTsKK0lOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChDLCBTQUR4
OFRlc3QsIDo6dGVzdGluZzo6VmFsdWVzSW4oeDhfY190ZXN0cykpOwogCiAvLy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogLy8gQVJNIGZ1bmN0aW9ucwpAQCAtMTA4NywxMzcgKzc4MCw5IEBAIGNvbnN0
IFNhZE14TlBhcmFtIG5lb25fdGVzdHNbXSA9IHsKICAgU2FkTXhOUGFyYW0oOCwgNCwgJnZweF9z
YWQ4eDRfbmVvbiksCiAgIFNhZE14TlBhcmFtKDQsIDgsICZ2cHhfc2FkNHg4X25lb24pLAogICBT
YWRNeE5QYXJhbSg0LCA0LCAmdnB4X3NhZDR4NF9uZW9uKSwKLSNpZiBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSAotICBTYWRNeE5QYXJhbSg0LCA0LCAmdnB4X2hpZ2hiZF9zYWQ0eDRfbmVvbiwgOCks
Ci0gIFNhZE14TlBhcmFtKDQsIDgsICZ2cHhfaGlnaGJkX3NhZDR4OF9uZW9uLCA4KSwKLSAgU2Fk
TXhOUGFyYW0oOCwgNCwgJnZweF9oaWdoYmRfc2FkOHg0X25lb24sIDgpLAotICBTYWRNeE5QYXJh
bSg4LCA4LCAmdnB4X2hpZ2hiZF9zYWQ4eDhfbmVvbiwgOCksCi0gIFNhZE14TlBhcmFtKDgsIDE2
LCAmdnB4X2hpZ2hiZF9zYWQ4eDE2X25lb24sIDgpLAotICBTYWRNeE5QYXJhbSgxNiwgOCwgJnZw
eF9oaWdoYmRfc2FkMTZ4OF9uZW9uLCA4KSwKLSAgU2FkTXhOUGFyYW0oMTYsIDE2LCAmdnB4X2hp
Z2hiZF9zYWQxNngxNl9uZW9uLCA4KSwKLSAgU2FkTXhOUGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hi
ZF9zYWQxNngzMl9uZW9uLCA4KSwKLSAgU2FkTXhOUGFyYW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9z
YWQzMngzMl9uZW9uLCA4KSwKLSAgU2FkTXhOUGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWQz
Mng2NF9uZW9uLCA4KSwKLSAgU2FkTXhOUGFyYW0oNjQsIDMyLCAmdnB4X2hpZ2hiZF9zYWQ2NHgz
Ml9uZW9uLCA4KSwKLSAgU2FkTXhOUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWQ2NHg2NF9u
ZW9uLCA4KSwKLSAgU2FkTXhOUGFyYW0oNCwgNCwgJnZweF9oaWdoYmRfc2FkNHg0X25lb24sIDEw
KSwKLSAgU2FkTXhOUGFyYW0oNCwgOCwgJnZweF9oaWdoYmRfc2FkNHg4X25lb24sIDEwKSwKLSAg
U2FkTXhOUGFyYW0oOCwgNCwgJnZweF9oaWdoYmRfc2FkOHg0X25lb24sIDEwKSwKLSAgU2FkTXhO
UGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkOHg4X25lb24sIDEwKSwKLSAgU2FkTXhOUGFyYW0o
OCwgMTYsICZ2cHhfaGlnaGJkX3NhZDh4MTZfbmVvbiwgMTApLAotICBTYWRNeE5QYXJhbSgxNiwg
OCwgJnZweF9oaWdoYmRfc2FkMTZ4OF9uZW9uLCAxMCksCi0gIFNhZE14TlBhcmFtKDE2LCAxNiwg
JnZweF9oaWdoYmRfc2FkMTZ4MTZfbmVvbiwgMTApLAotICBTYWRNeE5QYXJhbSgxNiwgMzIsICZ2
cHhfaGlnaGJkX3NhZDE2eDMyX25lb24sIDEwKSwKLSAgU2FkTXhOUGFyYW0oMzIsIDMyLCAmdnB4
X2hpZ2hiZF9zYWQzMngzMl9uZW9uLCAxMCksCi0gIFNhZE14TlBhcmFtKDMyLCA2NCwgJnZweF9o
aWdoYmRfc2FkMzJ4NjRfbmVvbiwgMTApLAotICBTYWRNeE5QYXJhbSg2NCwgMzIsICZ2cHhfaGln
aGJkX3NhZDY0eDMyX25lb24sIDEwKSwKLSAgU2FkTXhOUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hi
ZF9zYWQ2NHg2NF9uZW9uLCAxMCksCi0gIFNhZE14TlBhcmFtKDQsIDQsICZ2cHhfaGlnaGJkX3Nh
ZDR4NF9uZW9uLCAxMiksCi0gIFNhZE14TlBhcmFtKDQsIDgsICZ2cHhfaGlnaGJkX3NhZDR4OF9u
ZW9uLCAxMiksCi0gIFNhZE14TlBhcmFtKDgsIDQsICZ2cHhfaGlnaGJkX3NhZDh4NF9uZW9uLCAx
MiksCi0gIFNhZE14TlBhcmFtKDgsIDgsICZ2cHhfaGlnaGJkX3NhZDh4OF9uZW9uLCAxMiksCi0g
IFNhZE14TlBhcmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9zYWQ4eDE2X25lb24sIDEyKSwKLSAgU2Fk
TXhOUGFyYW0oMTYsIDgsICZ2cHhfaGlnaGJkX3NhZDE2eDhfbmVvbiwgMTIpLAotICBTYWRNeE5Q
YXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3NhZDE2eDE2X25lb24sIDEyKSwKLSAgU2FkTXhOUGFy
YW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWQxNngzMl9uZW9uLCAxMiksCi0gIFNhZE14TlBhcmFt
KDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkMzJ4MzJfbmVvbiwgMTIpLAotICBTYWRNeE5QYXJhbSgz
MiwgNjQsICZ2cHhfaGlnaGJkX3NhZDMyeDY0X25lb24sIDEyKSwKLSAgU2FkTXhOUGFyYW0oNjQs
IDMyLCAmdnB4X2hpZ2hiZF9zYWQ2NHgzMl9uZW9uLCAxMiksCi0gIFNhZE14TlBhcmFtKDY0LCA2
NCwgJnZweF9oaWdoYmRfc2FkNjR4NjRfbmVvbiwgMTIpLAotI2VuZGlmICAvLyBDT05GSUdfVlA5
X0hJR0hCSVRERVBUSAotCiB9OwogSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKE5FT04sIFNBRFRl
c3QsIDo6dGVzdGluZzo6VmFsdWVzSW4obmVvbl90ZXN0cykpOwogCi0jaWYgSEFWRV9ORU9OX0RP
VFBST0QKLWNvbnN0IFNhZE14TlBhcmFtIG5lb25fZG90cHJvZF90ZXN0c1tdID0gewotICBTYWRN
eE5QYXJhbSg2NCwgNjQsICZ2cHhfc2FkNjR4NjRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOUGFy
YW0oNjQsIDMyLCAmdnB4X3NhZDY0eDMyX25lb25fZG90cHJvZCksCi0gIFNhZE14TlBhcmFtKDMy
LCA2NCwgJnZweF9zYWQzMng2NF9uZW9uX2RvdHByb2QpLAotICBTYWRNeE5QYXJhbSgzMiwgMzIs
ICZ2cHhfc2FkMzJ4MzJfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOUGFyYW0oMzIsIDE2LCAmdnB4
X3NhZDMyeDE2X25lb25fZG90cHJvZCksCi0gIFNhZE14TlBhcmFtKDE2LCAzMiwgJnZweF9zYWQx
NngzMl9uZW9uX2RvdHByb2QpLAotICBTYWRNeE5QYXJhbSgxNiwgMTYsICZ2cHhfc2FkMTZ4MTZf
bmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOUGFyYW0oMTYsIDgsICZ2cHhfc2FkMTZ4OF9uZW9uX2Rv
dHByb2QpLAotfTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChORU9OX0RPVFBST0QsIFNBRFRl
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXNJbihuZW9uX2Rv
dHByb2RfdGVzdHMpKTsKLSNlbmRpZiAgLy8gSEFWRV9ORU9OX0RPVFBST0QKLQotY29uc3QgU2Fk
U2tpcE14TlBhcmFtIHNraXBfbmVvbl90ZXN0c1tdID0gewotICBTYWRTa2lwTXhOUGFyYW0oNjQs
IDY0LCAmdnB4X3NhZF9za2lwXzY0eDY0X25lb24pLAotICBTYWRTa2lwTXhOUGFyYW0oNjQsIDMy
LCAmdnB4X3NhZF9za2lwXzY0eDMyX25lb24pLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDY0LCAm
dnB4X3NhZF9za2lwXzMyeDY0X25lb24pLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDMyLCAmdnB4
X3NhZF9za2lwXzMyeDMyX25lb24pLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDE2LCAmdnB4X3Nh
ZF9za2lwXzMyeDE2X25lb24pLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDMyLCAmdnB4X3NhZF9z
a2lwXzE2eDMyX25lb24pLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDE2LCAmdnB4X3NhZF9za2lw
XzE2eDE2X25lb24pLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDgsICZ2cHhfc2FkX3NraXBfMTZ4
OF9uZW9uKSwKLSAgU2FkU2tpcE14TlBhcmFtKDgsIDE2LCAmdnB4X3NhZF9za2lwXzh4MTZfbmVv
biksCi0gIFNhZFNraXBNeE5QYXJhbSg4LCA4LCAmdnB4X3NhZF9za2lwXzh4OF9uZW9uKSwKLSAg
U2FkU2tpcE14TlBhcmFtKDgsIDQsICZ2cHhfc2FkX3NraXBfOHg0X25lb24pLAotICBTYWRTa2lw
TXhOUGFyYW0oNCwgOCwgJnZweF9zYWRfc2tpcF80eDhfbmVvbiksCi0gIFNhZFNraXBNeE5QYXJh
bSg0LCA0LCAmdnB4X3NhZF9za2lwXzR4NF9uZW9uKSwKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRE
RVBUSAotICBTYWRTa2lwTXhOUGFyYW0oNCwgNCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNHg0X25l
b24sIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oNCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNHg4
X25lb24sIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oOCwgNCwgJnZweF9oaWdoYmRfc2FkX3NraXBf
OHg0X25lb24sIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkX3Nr
aXBfOHg4X25lb24sIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oOCwgMTYsICZ2cHhfaGlnaGJkX3Nh
ZF9za2lwXzh4MTZfbmVvbiwgOCksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwgOCwgJnZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4OF9uZW9uLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCAxNiwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZfbmVvbiwgOCksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwg
MzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX25lb24sIDgpLAotICBTYWRTa2lwTXhOUGFy
YW0oMzIsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNl9uZW9uLCA4KSwKLSAgU2FkU2tp
cE14TlBhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJfbmVvbiwgOCksCi0g
IFNhZFNraXBNeE5QYXJhbSgzMiwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X25lb24s
IDgpLAotICBTYWRTa2lwTXhOUGFyYW0oNjQsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgz
Ml9uZW9uLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkX3Nr
aXBfNjR4NjRfbmVvbiwgOCksCi0gIFNhZFNraXBNeE5QYXJhbSg0LCA0LCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF80eDRfbmVvbiwgMTApLAotICBTYWRTa2lwTXhOUGFyYW0oNCwgOCwgJnZweF9oaWdo
YmRfc2FkX3NraXBfNHg4X25lb24sIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDgsIDQsICZ2cHhf
aGlnaGJkX3NhZF9za2lwXzh4NF9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSg4LCA4LCAm
dnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhfbmVvbiwgMTApLAotICBTYWRTa2lwTXhOUGFyYW0oOCwg
MTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZfbmVvbiwgMTApLAotICBTYWRTa2lwTXhOUGFy
YW0oMTYsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDhfbmVvbiwgMTApLAotICBTYWRTa2lw
TXhOUGFyYW0oMTYsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9uZW9uLCAxMCksCi0g
IFNhZFNraXBNeE5QYXJhbSgxNiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX25lb24s
IDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
MTZfbmVvbiwgMTApLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMngzMl9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSgzMiwgNjQsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDY0X25lb24sIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwg
JnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfbmVvbiwgMTApLAotICBTYWRTa2lwTXhOUGFyYW0o
NjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9uZW9uLCAxMCksCi0gIFNhZFNraXBN
eE5QYXJhbSg0LCA0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDRfbmVvbiwgMTIpLAotICBTYWRT
a2lwTXhOUGFyYW0oNCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNHg4X25lb24sIDEyKSwKLSAg
U2FkU2tpcE14TlBhcmFtKDgsIDQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9uZW9uLCAxMiks
Ci0gIFNhZFNraXBNeE5QYXJhbSg4LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDhfbmVvbiwg
MTIpLAotICBTYWRTa2lwTXhOUGFyYW0oOCwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZf
bmVvbiwgMTIpLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDhfbmVvbiwgMTIpLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDE2LCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNngxNl9uZW9uLCAxMiksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwgMzIsICZ2cHhf
aGlnaGJkX3NhZF9za2lwXzE2eDMyX25lb24sIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAx
NiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfbmVvbiwgMTIpLAotICBTYWRTa2lwTXhOUGFy
YW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMl9uZW9uLCAxMiksCi0gIFNhZFNr
aXBNeE5QYXJhbSgzMiwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X25lb24sIDEyKSwK
LSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfbmVv
biwgMTIpLAotICBTYWRTa2lwTXhOUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHg2NF9uZW9uLCAxMiksCi0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi19Owot
SU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKE5FT04sIFNBRFNraXBUZXN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzSW4oc2tpcF9uZW9uX3Rlc3RzKSk7Ci0KLSNp
ZiBIQVZFX05FT05fRE9UUFJPRAotY29uc3QgU2FkU2tpcE14TlBhcmFtIHNraXBfbmVvbl9kb3Rw
cm9kX3Rlc3RzW10gPSB7Ci0gIFNhZFNraXBNeE5QYXJhbSg2NCwgNjQsICZ2cHhfc2FkX3NraXBf
NjR4NjRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9zYWRf
c2tpcF82NHgzMl9uZW9uX2RvdHByb2QpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDY0LCAmdnB4
X3NhZF9za2lwXzMyeDY0X25lb25fZG90cHJvZCksCi0gIFNhZFNraXBNeE5QYXJhbSgzMiwgMzIs
ICZ2cHhfc2FkX3NraXBfMzJ4MzJfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMy
LCAxNiwgJnZweF9zYWRfc2tpcF8zMngxNl9uZW9uX2RvdHByb2QpLAotICBTYWRTa2lwTXhOUGFy
YW0oMTYsIDMyLCAmdnB4X3NhZF9za2lwXzE2eDMyX25lb25fZG90cHJvZCksCi0gIFNhZFNraXBN
eE5QYXJhbSgxNiwgMTYsICZ2cHhfc2FkX3NraXBfMTZ4MTZfbmVvbl9kb3Rwcm9kKSwKLSAgU2Fk
U2tpcE14TlBhcmFtKDE2LCA4LCAmdnB4X3NhZF9za2lwXzE2eDhfbmVvbl9kb3Rwcm9kKSwKLX07
Ci1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTkVPTl9ET1RQUk9ELCBTQURTa2lwVGVzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlc0luKHNraXBfbmVvbl9kb3Rw
cm9kX3Rlc3RzKSk7Ci0jZW5kaWYgIC8vIEhBVkVfTkVPTl9ET1RQUk9ECi0KIGNvbnN0IFNhZE14
TkF2Z1BhcmFtIGF2Z19uZW9uX3Rlc3RzW10gPSB7CiAgIFNhZE14TkF2Z1BhcmFtKDY0LCA2NCwg
JnZweF9zYWQ2NHg2NF9hdmdfbmVvbiksCiAgIFNhZE14TkF2Z1BhcmFtKDY0LCAzMiwgJnZweF9z
YWQ2NHgzMl9hdmdfbmVvbiksCkBAIC0xMjMyLDY1ICs3OTcsOSBAQCBjb25zdCBTYWRNeE5BdmdQ
YXJhbSBhdmdfbmVvbl90ZXN0c1tdID0gewogICBTYWRNeE5BdmdQYXJhbSg4LCA0LCAmdnB4X3Nh
ZDh4NF9hdmdfbmVvbiksCiAgIFNhZE14TkF2Z1BhcmFtKDQsIDgsICZ2cHhfc2FkNHg4X2F2Z19u
ZW9uKSwKICAgU2FkTXhOQXZnUGFyYW0oNCwgNCwgJnZweF9zYWQ0eDRfYXZnX25lb24pLAotI2lm
IENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIFNhZE14TkF2Z1BhcmFtKDQsIDQsICZ2cHhfaGln
aGJkX3NhZDR4NF9hdmdfbmVvbiwgOCksCi0gIFNhZE14TkF2Z1BhcmFtKDQsIDgsICZ2cHhfaGln
aGJkX3NhZDR4OF9hdmdfbmVvbiwgOCksCi0gIFNhZE14TkF2Z1BhcmFtKDgsIDQsICZ2cHhfaGln
aGJkX3NhZDh4NF9hdmdfbmVvbiwgOCksCi0gIFNhZE14TkF2Z1BhcmFtKDgsIDgsICZ2cHhfaGln
aGJkX3NhZDh4OF9hdmdfbmVvbiwgOCksCi0gIFNhZE14TkF2Z1BhcmFtKDgsIDE2LCAmdnB4X2hp
Z2hiZF9zYWQ4eDE2X2F2Z19uZW9uLCA4KSwKLSAgU2FkTXhOQXZnUGFyYW0oMTYsIDgsICZ2cHhf
aGlnaGJkX3NhZDE2eDhfYXZnX25lb24sIDgpLAotICBTYWRNeE5BdmdQYXJhbSgxNiwgMTYsICZ2
cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19uZW9uLCA4KSwKLSAgU2FkTXhOQXZnUGFyYW0oMTYsIDMy
LCAmdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfbmVvbiwgOCksCi0gIFNhZE14TkF2Z1BhcmFtKDMy
LCAxNiwgJnZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX25lb24sIDgpLAotICBTYWRNeE5BdmdQYXJh
bSgzMiwgMzIsICZ2cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19uZW9uLCA4KSwKLSAgU2FkTXhOQXZn
UGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfbmVvbiwgOCksCi0gIFNhZE14
TkF2Z1BhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkNjR4MzJfYXZnX25lb24sIDgpLAotICBT
YWRNeE5BdmdQYXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19uZW9uLCA4KSwK
LSAgU2FkTXhOQXZnUGFyYW0oNCwgNCwgJnZweF9oaWdoYmRfc2FkNHg0X2F2Z19uZW9uLCAxMCks
Ci0gIFNhZE14TkF2Z1BhcmFtKDQsIDgsICZ2cHhfaGlnaGJkX3NhZDR4OF9hdmdfbmVvbiwgMTAp
LAotICBTYWRNeE5BdmdQYXJhbSg4LCA0LCAmdnB4X2hpZ2hiZF9zYWQ4eDRfYXZnX25lb24sIDEw
KSwKLSAgU2FkTXhOQXZnUGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkOHg4X2F2Z19uZW9uLCAx
MCksCi0gIFNhZE14TkF2Z1BhcmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2Z19uZW9u
LCAxMCksCi0gIFNhZE14TkF2Z1BhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19u
ZW9uLCAxMCksCi0gIFNhZE14TkF2Z1BhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkMTZ4MTZf
YXZnX25lb24sIDEwKSwKLSAgU2FkTXhOQXZnUGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWQx
NngzMl9hdmdfbmVvbiwgMTApLAotICBTYWRNeE5BdmdQYXJhbSgzMiwgMTYsICZ2cHhfaGlnaGJk
X3NhZDMyeDE2X2F2Z19uZW9uLCAxMCksCi0gIFNhZE14TkF2Z1BhcmFtKDMyLCAzMiwgJnZweF9o
aWdoYmRfc2FkMzJ4MzJfYXZnX25lb24sIDEwKSwKLSAgU2FkTXhOQXZnUGFyYW0oMzIsIDY0LCAm
dnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfbmVvbiwgMTApLAotICBTYWRNeE5BdmdQYXJhbSg2NCwg
MzIsICZ2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19uZW9uLCAxMCksCi0gIFNhZE14TkF2Z1BhcmFt
KDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX25lb24sIDEwKSwKLSAgU2FkTXhOQXZn
UGFyYW0oNCwgNCwgJnZweF9oaWdoYmRfc2FkNHg0X2F2Z19uZW9uLCAxMiksCi0gIFNhZE14TkF2
Z1BhcmFtKDQsIDgsICZ2cHhfaGlnaGJkX3NhZDR4OF9hdmdfbmVvbiwgMTIpLAotICBTYWRNeE5B
dmdQYXJhbSg4LCA0LCAmdnB4X2hpZ2hiZF9zYWQ4eDRfYXZnX25lb24sIDEyKSwKLSAgU2FkTXhO
QXZnUGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkOHg4X2F2Z19uZW9uLCAxMiksCi0gIFNhZE14
TkF2Z1BhcmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2Z19uZW9uLCAxMiksCi0gIFNh
ZE14TkF2Z1BhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19uZW9uLCAxMiksCi0g
IFNhZE14TkF2Z1BhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX25lb24sIDEy
KSwKLSAgU2FkTXhOQXZnUGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfbmVv
biwgMTIpLAotICBTYWRNeE5BdmdQYXJhbSgzMiwgMTYsICZ2cHhfaGlnaGJkX3NhZDMyeDE2X2F2
Z19uZW9uLCAxMiksCi0gIFNhZE14TkF2Z1BhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkMzJ4
MzJfYXZnX25lb24sIDEyKSwKLSAgU2FkTXhOQXZnUGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9z
YWQzMng2NF9hdmdfbmVvbiwgMTIpLAotICBTYWRNeE5BdmdQYXJhbSg2NCwgMzIsICZ2cHhfaGln
aGJkX3NhZDY0eDMyX2F2Z19uZW9uLCAxMiksCi0gIFNhZE14TkF2Z1BhcmFtKDY0LCA2NCwgJnZw
eF9oaWdoYmRfc2FkNjR4NjRfYXZnX25lb24sIDEyKSwKLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9I
SUdIQklUREVQVEgKIH07CiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTkVPTiwgU0FEYXZnVGVz
dCwgOjp0ZXN0aW5nOjpWYWx1ZXNJbihhdmdfbmVvbl90ZXN0cykpOwogCi0jaWYgSEFWRV9ORU9O
X0RPVFBST0QKLWNvbnN0IFNhZE14TkF2Z1BhcmFtIGF2Z19uZW9uX2RvdHByb2RfdGVzdHNbXSA9
IHsKLSAgU2FkTXhOQXZnUGFyYW0oNjQsIDY0LCAmdnB4X3NhZDY0eDY0X2F2Z19uZW9uX2RvdHBy
b2QpLAotICBTYWRNeE5BdmdQYXJhbSg2NCwgMzIsICZ2cHhfc2FkNjR4MzJfYXZnX25lb25fZG90
cHJvZCksCi0gIFNhZE14TkF2Z1BhcmFtKDMyLCA2NCwgJnZweF9zYWQzMng2NF9hdmdfbmVvbl9k
b3Rwcm9kKSwKLSAgU2FkTXhOQXZnUGFyYW0oMzIsIDMyLCAmdnB4X3NhZDMyeDMyX2F2Z19uZW9u
X2RvdHByb2QpLAotICBTYWRNeE5BdmdQYXJhbSgzMiwgMTYsICZ2cHhfc2FkMzJ4MTZfYXZnX25l
b25fZG90cHJvZCksCi0gIFNhZE14TkF2Z1BhcmFtKDE2LCAzMiwgJnZweF9zYWQxNngzMl9hdmdf
bmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOQXZnUGFyYW0oMTYsIDE2LCAmdnB4X3NhZDE2eDE2X2F2
Z19uZW9uX2RvdHByb2QpLAotICBTYWRNeE5BdmdQYXJhbSgxNiwgOCwgJnZweF9zYWQxNng4X2F2
Z19uZW9uX2RvdHByb2QpLAotfTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChORU9OX0RPVFBS
T0QsIFNBRGF2Z1Rlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1
ZXNJbihhdmdfbmVvbl9kb3Rwcm9kX3Rlc3RzKSk7Ci0jZW5kaWYgIC8vIEhBVkVfTkVPTl9ET1RQ
Uk9ECi0KIGNvbnN0IFNhZE14Tng0UGFyYW0geDRkX25lb25fdGVzdHNbXSA9IHsKICAgU2FkTXhO
eDRQYXJhbSg2NCwgNjQsICZ2cHhfc2FkNjR4NjR4NGRfbmVvbiksCiAgIFNhZE14Tng0UGFyYW0o
NjQsIDMyLCAmdnB4X3NhZDY0eDMyeDRkX25lb24pLApAQCAtMTMwNSwxMzIgKzgxNCw4IEBAIGNv
bnN0IFNhZE14Tng0UGFyYW0geDRkX25lb25fdGVzdHNbXSA9IHsKICAgU2FkTXhOeDRQYXJhbSg4
LCA0LCAmdnB4X3NhZDh4NHg0ZF9uZW9uKSwKICAgU2FkTXhOeDRQYXJhbSg0LCA4LCAmdnB4X3Nh
ZDR4OHg0ZF9uZW9uKSwKICAgU2FkTXhOeDRQYXJhbSg0LCA0LCAmdnB4X3NhZDR4NHg0ZF9uZW9u
KSwKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICBTYWRNeE54NFBhcmFtKDQsIDQsICZ2
cHhfaGlnaGJkX3NhZDR4NHg0ZF9uZW9uLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSg0LCA4LCAmdnB4
X2hpZ2hiZF9zYWQ0eDh4NGRfbmVvbiwgOCksCi0gIFNhZE14Tng0UGFyYW0oOCwgNCwgJnZweF9o
aWdoYmRfc2FkOHg0eDRkX25lb24sIDgpLAotICBTYWRNeE54NFBhcmFtKDgsIDgsICZ2cHhfaGln
aGJkX3NhZDh4OHg0ZF9uZW9uLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSg4LCAxNiwgJnZweF9oaWdo
YmRfc2FkOHgxNng0ZF9uZW9uLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwgOCwgJnZweF9oaWdo
YmRfc2FkMTZ4OHg0ZF9uZW9uLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwgMTYsICZ2cHhfaGln
aGJkX3NhZDE2eDE2eDRkX25lb24sIDgpLAotICBTYWRNeE54NFBhcmFtKDE2LCAzMiwgJnZweF9o
aWdoYmRfc2FkMTZ4MzJ4NGRfbmVvbiwgOCksCi0gIFNhZE14Tng0UGFyYW0oMzIsIDMyLCAmdnB4
X2hpZ2hiZF9zYWQzMngzMng0ZF9uZW9uLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwgNjQsICZ2
cHhfaGlnaGJkX3NhZDMyeDY0eDRkX25lb24sIDgpLAotICBTYWRNeE54NFBhcmFtKDY0LCAzMiwg
JnZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfbmVvbiwgOCksCi0gIFNhZE14Tng0UGFyYW0oNjQsIDY0
LCAmdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9uZW9uLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSg0LCA0
LCAmdnB4X2hpZ2hiZF9zYWQ0eDR4NGRfbmVvbiwgMTApLAotICBTYWRNeE54NFBhcmFtKDQsIDgs
ICZ2cHhfaGlnaGJkX3NhZDR4OHg0ZF9uZW9uLCAxMCksCi0gIFNhZE14Tng0UGFyYW0oOCwgNCwg
JnZweF9oaWdoYmRfc2FkOHg0eDRkX25lb24sIDEwKSwKLSAgU2FkTXhOeDRQYXJhbSg4LCA4LCAm
dnB4X2hpZ2hiZF9zYWQ4eDh4NGRfbmVvbiwgMTApLAotICBTYWRNeE54NFBhcmFtKDgsIDE2LCAm
dnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX25lb24sIDEwKSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwgOCwg
JnZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9uZW9uLCAxMCksCi0gIFNhZE14Tng0UGFyYW0oMTYsIDE2
LCAmdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9uZW9uLCAxMCksCi0gIFNhZE14Tng0UGFyYW0oMTYs
IDMyLCAmdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9uZW9uLCAxMCksCi0gIFNhZE14Tng0UGFyYW0o
MzIsIDMyLCAmdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9uZW9uLCAxMCksCi0gIFNhZE14Tng0UGFy
YW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWQzMng2NHg0ZF9uZW9uLCAxMCksCi0gIFNhZE14Tng0
UGFyYW0oNjQsIDMyLCAmdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9uZW9uLCAxMCksCi0gIFNhZE14
Tng0UGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9uZW9uLCAxMCksCi0gIFNh
ZE14Tng0UGFyYW0oNCwgNCwgJnZweF9oaWdoYmRfc2FkNHg0eDRkX25lb24sIDEyKSwKLSAgU2Fk
TXhOeDRQYXJhbSg0LCA4LCAmdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfbmVvbiwgMTIpLAotICBTYWRN
eE54NFBhcmFtKDgsIDQsICZ2cHhfaGlnaGJkX3NhZDh4NHg0ZF9uZW9uLCAxMiksCi0gIFNhZE14
Tng0UGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkOHg4eDRkX25lb24sIDEyKSwKLSAgU2FkTXhO
eDRQYXJhbSg4LCAxNiwgJnZweF9oaWdoYmRfc2FkOHgxNng0ZF9uZW9uLCAxMiksCi0gIFNhZE14
Tng0UGFyYW0oMTYsIDgsICZ2cHhfaGlnaGJkX3NhZDE2eDh4NGRfbmVvbiwgMTIpLAotICBTYWRN
eE54NFBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfbmVvbiwgMTIpLAotICBT
YWRNeE54NFBhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfbmVvbiwgMTIpLAot
ICBTYWRNeE54NFBhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfbmVvbiwgMTIp
LAotICBTYWRNeE54NFBhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfbmVvbiwg
MTIpLAotICBTYWRNeE54NFBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfbmVv
biwgMTIpLAotICBTYWRNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkNjR4NjR4NGRf
bmVvbiwgMTIpLAotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogfTsKIElOU1RB
TlRJQVRFX1RFU1RfU1VJVEVfUChORU9OLCBTQUR4NFRlc3QsIDo6dGVzdGluZzo6VmFsdWVzSW4o
eDRkX25lb25fdGVzdHMpKTsKLQotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi1jb25zdCBTYWRNeE54
NFBhcmFtIHg0ZF9uZW9uX2RvdHByb2RfdGVzdHNbXSA9IHsKLSAgU2FkTXhOeDRQYXJhbSg2NCwg
NjQsICZ2cHhfc2FkNjR4NjR4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOeDRQYXJhbSg2NCwg
MzIsICZ2cHhfc2FkNjR4MzJ4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwg
NjQsICZ2cHhfc2FkMzJ4NjR4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwg
MzIsICZ2cHhfc2FkMzJ4MzJ4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwg
MTYsICZ2cHhfc2FkMzJ4MTZ4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwg
MzIsICZ2cHhfc2FkMTZ4MzJ4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwg
MTYsICZ2cHhfc2FkMTZ4MTZ4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwg
OCwgJnZweF9zYWQxNng4eDRkX25lb25fZG90cHJvZCksCi19OwotSU5TVEFOVElBVEVfVEVTVF9T
VUlURV9QKE5FT05fRE9UUFJPRCwgU0FEeDRUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
IDo6dGVzdGluZzo6VmFsdWVzSW4oeDRkX25lb25fZG90cHJvZF90ZXN0cykpOwotI2VuZGlmICAv
LyBIQVZFX05FT05fRE9UUFJPRAotCi1jb25zdCBTYWRTa2lwTXhOeDRQYXJhbSBza2lwX3g0ZF9u
ZW9uX3Rlc3RzW10gPSB7Ci0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9zYWRfc2tp
cF82NHg2NHg0ZF9uZW9uKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oNjQsIDMyLCAmdnB4X3NhZF9z
a2lwXzY0eDMyeDRkX25lb24pLAotICBTYWRTa2lwTXhOeDRQYXJhbSgzMiwgNjQsICZ2cHhfc2Fk
X3NraXBfMzJ4NjR4NGRfbmVvbiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAzMiwgJnZweF9z
YWRfc2tpcF8zMngzMng0ZF9uZW9uKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIsIDE2LCAmdnB4
X3NhZF9za2lwXzMyeDE2eDRkX25lb24pLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwgMzIsICZ2
cHhfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAxNiwg
JnZweF9zYWRfc2tpcF8xNngxNng0ZF9uZW9uKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDgs
ICZ2cHhfc2FkX3NraXBfMTZ4OHg0ZF9uZW9uKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgMTYs
ICZ2cHhfc2FkX3NraXBfOHgxNng0ZF9uZW9uKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgOCwg
JnZweF9zYWRfc2tpcF84eDh4NGRfbmVvbiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDgsIDQsICZ2
cHhfc2FkX3NraXBfOHg0eDRkX25lb24pLAotICBTYWRTa2lwTXhOeDRQYXJhbSg0LCA4LCAmdnB4
X3NhZF9za2lwXzR4OHg0ZF9uZW9uKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oNCwgNCwgJnZweF9z
YWRfc2tpcF80eDR4NGRfbmVvbiksCi0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgU2Fk
U2tpcE14Tng0UGFyYW0oNCwgNCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNHg0eDRkX25lb24sIDgp
LAotICBTYWRTa2lwTXhOeDRQYXJhbSg0LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRf
bmVvbiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDgsIDQsICZ2cHhfaGlnaGJkX3NhZF9za2lw
Xzh4NHg0ZF9uZW9uLCA4KSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgOCwgJnZweF9oaWdoYmRf
c2FkX3NraXBfOHg4eDRkX25lb24sIDgpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg4LCAxNiwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZF9uZW9uLCA4KSwKLSAgU2FkU2tpcE14Tng0UGFyYW0o
MTYsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfbmVvbiwgOCksCi0gIFNhZFNraXBN
eE54NFBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfbmVvbiwgOCks
Ci0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4
NGRfbmVvbiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4MzJ4NGRfbmVvbiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCA2NCwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfbmVvbiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFt
KDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbiwgOCksCi0gIFNhZFNr
aXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfbmVvbiwg
OCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDQsIDQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzR4NHg0
ZF9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDQsIDgsICZ2cHhfaGlnaGJkX3NhZF9z
a2lwXzR4OHg0ZF9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDgsIDQsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzh4NHg0ZF9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDgsIDgs
ICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0ZF9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE54NFBh
cmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX25lb24sIDEwKSwKLSAgU2Fk
U2tpcE14Tng0UGFyYW0oMTYsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfbmVvbiwg
MTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2
eDE2eDRkX25lb24sIDEwKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNngzMng0ZF9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAz
MiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfbmVvbiwgMTApLAotICBTYWRTa2lwTXhO
eDRQYXJhbSgzMiwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX25lb24sIDEwKSwK
LSAgU2FkU2tpcE14Tng0UGFyYW0oNjQsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0
ZF9uZW9uLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4NjR4NGRfbmVvbiwgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSg0LCA0LCAmdnB4
X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGRfbmVvbiwgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg0
LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfbmVvbiwgMTIpLAotICBTYWRTa2lwTXhO
eDRQYXJhbSg4LCA0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfbmVvbiwgMTIpLAotICBT
YWRTa2lwTXhOeDRQYXJhbSg4LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfbmVvbiwg
MTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg4LCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfOHgx
Nng0ZF9uZW9uLCAxMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNng4eDRkX25lb24sIDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDE2LCAm
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9uZW9uLCAxMiksCi0gIFNhZFNraXBNeE54NFBh
cmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfbmVvbiwgMTIpLAotICBT
YWRTa2lwTXhOeDRQYXJhbSgzMiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX25l
b24sIDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tp
cF8zMng2NHg0ZF9uZW9uLCAxMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCAzMiwgJnZweF9o
aWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfbmVvbiwgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg2
NCwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX25lb24sIDEyKSwKLSNlbmRpZiAg
Ly8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLX07Ci1JTlNUQU5USUFURV9URVNUX1NVSVRFX1Ao
TkVPTiwgU0FEU2tpcHg0VGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6
OlZhbHVlc0luKHNraXBfeDRkX25lb25fdGVzdHMpKTsKLQotI2lmIEhBVkVfTkVPTkVfRE9UUFJP
RAotY29uc3QgU2FkU2tpcE14Tng0UGFyYW0gc2tpcF94NGRfbmVvbl9kb3Rwcm9kX3Rlc3RzW10g
PSB7Ci0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9zYWRfc2tpcF82NHg2NHg0ZF9u
ZW9uX2RvdHByb2QpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg2NCwgMzIsICZ2cHhfc2FkX3NraXBf
NjR4MzJ4NGRfbmVvbl9kb3Rwcm9kKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIsIDY0LCAmdnB4
X3NhZF9za2lwXzMyeDY0eDRkX25lb25fZG90cHJvZCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMy
LCAzMiwgJnZweF9zYWRfc2tpcF8zMngzMng0ZF9uZW9uX2RvdHByb2QpLAotICBTYWRTa2lwTXhO
eDRQYXJhbSgzMiwgMTYsICZ2cHhfc2FkX3NraXBfMzJ4MTZ4NGRfbmVvbl9kb3Rwcm9kKSwKLSAg
U2FkU2tpcE14Tng0UGFyYW0oMTYsIDMyLCAmdnB4X3NhZF9za2lwXzE2eDMyeDRkX25lb25fZG90
cHJvZCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAxNiwgJnZweF9zYWRfc2tpcF8xNngxNng0
ZF9uZW9uX2RvdHByb2QpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwgOCwgJnZweF9zYWRfc2tp
cF8xNng4eDRkX25lb25fZG90cHJvZCksCi19OwotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKE5F
T05fRE9UUFJPRCwgU0FEU2tpcHg0VGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICA6OnRl
c3Rpbmc6OlZhbHVlc0luKHNraXBfeDRkX25lb25fZG90cHJvZF90ZXN0cykpOwotI2VuZGlmICAv
LyBIQVZFX05FT05fRE9UUFJPRAogI2VuZGlmICAvLyBIQVZFX05FT04KIAogLy8tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KQEAgLTE0ODgsNTQgKzg3Myw2IEBAIGNvbnN0IFNhZE14TlBhcmFtIHNzZTJf
dGVzdHNbXSA9IHsKIH07CiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoU1NFMiwgU0FEVGVzdCwg
Ojp0ZXN0aW5nOjpWYWx1ZXNJbihzc2UyX3Rlc3RzKSk7CiAKLWNvbnN0IFNhZFNraXBNeE5QYXJh
bSBza2lwX3NzZTJfdGVzdHNbXSA9IHsKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCA2NCwgJnZweF9z
YWRfc2tpcF82NHg2NF9zc2UyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9zYWRf
c2tpcF82NHgzMl9zc2UyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCA2NCwgJnZweF9zYWRfc2tp
cF8zMng2NF9zc2UyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAzMiwgJnZweF9zYWRfc2tpcF8z
MngzMl9zc2UyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAxNiwgJnZweF9zYWRfc2tpcF8zMngx
Nl9zc2UyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCAzMiwgJnZweF9zYWRfc2tpcF8xNngzMl9z
c2UyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCAxNiwgJnZweF9zYWRfc2tpcF8xNngxNl9zc2Uy
KSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCA4LCAmdnB4X3NhZF9za2lwXzE2eDhfc3NlMiksCi0g
IFNhZFNraXBNeE5QYXJhbSg4LCAxNiwgJnZweF9zYWRfc2tpcF84eDE2X3NzZTIpLAotICBTYWRT
a2lwTXhOUGFyYW0oOCwgOCwgJnZweF9zYWRfc2tpcF84eDhfc3NlMiksCi0gIFNhZFNraXBNeE5Q
YXJhbSg0LCA4LCAmdnB4X3NhZF9za2lwXzR4OF9zc2UyKSwKLSNpZiBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSAotICBTYWRTa2lwTXhOUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHg2NF9zc2UyLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2Fk
X3NraXBfNjR4MzJfc3NlMiwgOCksCi0gIFNhZFNraXBNeE5QYXJhbSgzMiwgNjQsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzMyeDY0X3NzZTIsIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDMyLCAm
dnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMl9zc2UyLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDMy
LCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfc3NlMiwgOCksCi0gIFNhZFNraXBNeE5Q
YXJhbSgxNiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyX3NzZTIsIDgpLAotICBTYWRT
a2lwTXhOUGFyYW0oMTYsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9zc2UyLCA4KSwK
LSAgU2FkU2tpcE14TlBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X3NzZTIs
IDgpLAotICBTYWRTa2lwTXhOUGFyYW0oOCwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZf
c3NlMiwgOCksCi0gIFNhZFNraXBNeE5QYXJhbSg4LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDhfc3NlMiwgOCksCi0gIFNhZFNraXBNeE5QYXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJkX3NhZF9z
a2lwXzY0eDY0X3NzZTIsIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9oaWdo
YmRfc2FkX3NraXBfNjR4MzJfc3NlMiwgMTApLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDY0LCAm
dnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9zc2UyLCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSgz
MiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX3NzZTIsIDEwKSwKLSAgU2FkU2tpcE14
TlBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfc3NlMiwgMTApLAotICBT
YWRTa2lwTXhOUGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9zc2UyLCAx
MCksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2
X3NzZTIsIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNng4X3NzZTIsIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF84eDE2X3NzZTIsIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDgsIDgsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzh4OF9zc2UyLCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSg2NCwgNjQsICZ2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X3NzZTIsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0
LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfc3NlMiwgMTIpLAotICBTYWRTa2lwTXhO
UGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9zc2UyLCAxMiksCi0gIFNh
ZFNraXBNeE5QYXJhbSgzMiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyX3NzZTIsIDEy
KSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZf
c3NlMiwgMTIpLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngzMl9zc2UyLCAxMiksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJk
X3NhZF9za2lwXzE2eDE2X3NzZTIsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCA4LCAmdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNng4X3NzZTIsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDgsIDE2
LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X3NzZTIsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFt
KDgsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4OF9zc2UyLCAxMiksCi0jZW5kaWYgIC8vIENP
TkZJR19WUDlfSElHSEJJVERFUFRICi19OwotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKFNTRTIs
IFNBRFNraXBUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVz
SW4oc2tpcF9zc2UyX3Rlc3RzKSk7Ci0KIGNvbnN0IFNhZE14TkF2Z1BhcmFtIGF2Z19zc2UyX3Rl
c3RzW10gPSB7CiAgIFNhZE14TkF2Z1BhcmFtKDY0LCA2NCwgJnZweF9zYWQ2NHg2NF9hdmdfc3Nl
MiksCiAgIFNhZE14TkF2Z1BhcmFtKDY0LCAzMiwgJnZweF9zYWQ2NHgzMl9hdmdfc3NlMiksCkBA
IC0xNjQ1LDU3ICs5ODIsNiBAQCBjb25zdCBTYWRNeE54NFBhcmFtIHg0ZF9zc2UyX3Rlc3RzW10g
PSB7CiAjZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICiB9OwogSU5TVEFOVElBVEVf
VEVTVF9TVUlURV9QKFNTRTIsIFNBRHg0VGVzdCwgOjp0ZXN0aW5nOjpWYWx1ZXNJbih4NGRfc3Nl
Ml90ZXN0cykpOwotCi1jb25zdCBTYWRTa2lwTXhOeDRQYXJhbSBza2lwX3g0ZF9zc2UyX3Rlc3Rz
W10gPSB7Ci0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9zYWRfc2tpcF82NHg2NHg0
ZF9zc2UyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oNjQsIDMyLCAmdnB4X3NhZF9za2lwXzY0eDMy
eDRkX3NzZTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgzMiwgNjQsICZ2cHhfc2FkX3NraXBfMzJ4
NjR4NGRfc3NlMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAzMiwgJnZweF9zYWRfc2tpcF8z
MngzMng0ZF9zc2UyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIsIDE2LCAmdnB4X3NhZF9za2lw
XzMyeDE2eDRkX3NzZTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwgMzIsICZ2cHhfc2FkX3Nr
aXBfMTZ4MzJ4NGRfc3NlMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAxNiwgJnZweF9zYWRf
c2tpcF8xNngxNng0ZF9zc2UyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDgsICZ2cHhfc2Fk
X3NraXBfMTZ4OHg0ZF9zc2UyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgMTYsICZ2cHhfc2Fk
X3NraXBfOHgxNng0ZF9zc2UyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgOCwgJnZweF9zYWRf
c2tpcF84eDh4NGRfc3NlMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDQsIDgsICZ2cHhfc2FkX3Nr
aXBfNHg4eDRkX3NzZTIpLAotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIFNhZFNraXBN
eE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfc3NlMiwgOCks
Ci0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4
NGRfc3NlMiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4NjR4NGRfc3NlMiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAzMiwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfc3NlMiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFt
KDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRfc3NlMiwgOCksCi0gIFNhZFNr
aXBNeE54NFBhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfc3NlMiwg
OCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
MTZ4NGRfc3NlMiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF8xNng4eDRkX3NzZTIsIDgpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg4LCAxNiwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZF9zc2UyLCA4KSwKLSAgU2FkU2tpcE14Tng0UGFyYW0o
OCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX3NzZTIsIDgpLAotICBTYWRTa2lwTXhO
eDRQYXJhbSg0LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGRfc3NlMiwgOCksCi0gIFNh
ZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjR4NGRfc3Nl
MiwgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSg2NCwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lw
XzY0eDMyeDRkX3NzZTIsIDEwKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIsIDY0LCAmdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMng2NHg0ZF9zc2UyLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMy
LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfc3NlMiwgMTApLAotICBTYWRTa2lw
TXhOeDRQYXJhbSgzMiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRkX3NzZTIsIDEw
KSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngz
Mng0ZF9zc2UyLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRf
c2FkX3NraXBfMTZ4MTZ4NGRfc3NlMiwgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwgOCwg
JnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9zc2UyLCAxMCksCi0gIFNhZFNraXBNeE54NFBh
cmFtKDgsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRkX3NzZTIsIDEwKSwKLSAgU2Fk
U2tpcE14Tng0UGFyYW0oOCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX3NzZTIsIDEw
KSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oNCwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfNHg4eDRk
X3NzZTIsIDEwKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWRf
c2tpcF82NHg2NHg0ZF9zc2UyLCAxMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCAzMiwgJnZw
eF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfc3NlMiwgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJh
bSgzMiwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX3NzZTIsIDEyKSwKLSAgU2Fk
U2tpcE14Tng0UGFyYW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZF9zc2Uy
LCAxMiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4MTZ4NGRfc3NlMiwgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwgMzIsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDMyeDRkX3NzZTIsIDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYs
IDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9zc2UyLCAxMiksCi0gIFNhZFNraXBN
eE54NFBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX3NzZTIsIDEyKSwK
LSAgU2FkU2tpcE14Tng0UGFyYW0oOCwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGRf
c3NlMiwgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg4LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tp
cF84eDh4NGRfc3NlMiwgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSg0LCA4LCAmdnB4X2hpZ2hi
ZF9zYWRfc2tpcF80eDh4NGRfc3NlMiwgMTIpLAotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSAotfTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChTU0UyLCBTQURTa2lweDRUZXN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzSW4oc2tpcF94NGRf
c3NlMl90ZXN0cykpOwogI2VuZGlmICAvLyBIQVZFX1NTRTIKIAogI2lmIEhBVkVfU1NFMwpAQCAt
MTcwNiw2ICs5OTIsMTggQEAgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKFNTRTIsIFNBRFNraXB4
NFRlc3QsCiAvLyBPbmx5IGZ1bmN0aW9ucyBhcmUgeDMsIHdoaWNoIGRvIG5vdCBoYXZlIHRlc3Rz
LgogI2VuZGlmICAvLyBIQVZFX1NTU0UzCiAKKyNpZiBIQVZFX1NTRTRfMQorY29uc3QgU2FkTXhO
eDhQYXJhbSB4OF9zc2U0XzFfdGVzdHNbXSA9IHsKKyAgU2FkTXhOeDhQYXJhbSgxNiwgMTYsICZ2
cHhfc2FkMTZ4MTZ4OF9zc2U0XzEpLAorICBTYWRNeE54OFBhcmFtKDE2LCA4LCAmdnB4X3NhZDE2
eDh4OF9zc2U0XzEpLAorICBTYWRNeE54OFBhcmFtKDgsIDE2LCAmdnB4X3NhZDh4MTZ4OF9zc2U0
XzEpLAorICBTYWRNeE54OFBhcmFtKDgsIDgsICZ2cHhfc2FkOHg4eDhfc3NlNF8xKSwKKyAgU2Fk
TXhOeDhQYXJhbSg0LCA0LCAmdnB4X3NhZDR4NHg4X3NzZTRfMSksCit9OworSU5TVEFOVElBVEVf
VEVTVF9TVUlURV9QKFNTRTRfMSwgU0FEeDhUZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
IDo6dGVzdGluZzo6VmFsdWVzSW4oeDhfc3NlNF8xX3Rlc3RzKSk7CisjZW5kaWYgIC8vIEhBVkVf
U1NFNF8xCisKICNpZiBIQVZFX0FWWDIKIGNvbnN0IFNhZE14TlBhcmFtIGF2eDJfdGVzdHNbXSA9
IHsKICAgU2FkTXhOUGFyYW0oNjQsIDY0LCAmdnB4X3NhZDY0eDY0X2F2eDIpLApAQCAtMTcxMywx
NzggKzEwMTEsMjkgQEAgY29uc3QgU2FkTXhOUGFyYW0gYXZ4Ml90ZXN0c1tdID0gewogICBTYWRN
eE5QYXJhbSgzMiwgNjQsICZ2cHhfc2FkMzJ4NjRfYXZ4MiksCiAgIFNhZE14TlBhcmFtKDMyLCAz
MiwgJnZweF9zYWQzMngzMl9hdngyKSwKICAgU2FkTXhOUGFyYW0oMzIsIDE2LCAmdnB4X3NhZDMy
eDE2X2F2eDIpLAotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIFNhZE14TlBhcmFtKDY0
LCA2NCwgJnZweF9oaWdoYmRfc2FkNjR4NjRfYXZ4MiwgOCksCi0gIFNhZE14TlBhcmFtKDY0LCAz
MiwgJnZweF9oaWdoYmRfc2FkNjR4MzJfYXZ4MiwgOCksCi0gIFNhZE14TlBhcmFtKDMyLCA2NCwg
JnZweF9oaWdoYmRfc2FkMzJ4NjRfYXZ4MiwgOCksCi0gIFNhZE14TlBhcmFtKDMyLCAzMiwgJnZw
eF9oaWdoYmRfc2FkMzJ4MzJfYXZ4MiwgOCksCi0gIFNhZE14TlBhcmFtKDMyLCAxNiwgJnZweF9o
aWdoYmRfc2FkMzJ4MTZfYXZ4MiwgOCksCi0gIFNhZE14TlBhcmFtKDE2LCAzMiwgJnZweF9oaWdo
YmRfc2FkMTZ4MzJfYXZ4MiwgOCksCi0gIFNhZE14TlBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRf
c2FkMTZ4MTZfYXZ4MiwgOCksCi0gIFNhZE14TlBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWQx
Nng4X2F2eDIsIDgpLAotCi0gIFNhZE14TlBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkNjR4
NjRfYXZ4MiwgMTApLAotICBTYWRNeE5QYXJhbSg2NCwgMzIsICZ2cHhfaGlnaGJkX3NhZDY0eDMy
X2F2eDIsIDEwKSwKLSAgU2FkTXhOUGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWQzMng2NF9h
dngyLCAxMCksCi0gIFNhZE14TlBhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkMzJ4MzJfYXZ4
MiwgMTApLAotICBTYWRNeE5QYXJhbSgzMiwgMTYsICZ2cHhfaGlnaGJkX3NhZDMyeDE2X2F2eDIs
IDEwKSwKLSAgU2FkTXhOUGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWQxNngzMl9hdngyLCAx
MCksCi0gIFNhZE14TlBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkMTZ4MTZfYXZ4MiwgMTAp
LAotICBTYWRNeE5QYXJhbSgxNiwgOCwgJnZweF9oaWdoYmRfc2FkMTZ4OF9hdngyLCAxMCksCi0K
LSAgU2FkTXhOUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdngyLCAxMiksCi0g
IFNhZE14TlBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkNjR4MzJfYXZ4MiwgMTIpLAotICBT
YWRNeE5QYXJhbSgzMiwgNjQsICZ2cHhfaGlnaGJkX3NhZDMyeDY0X2F2eDIsIDEyKSwKLSAgU2Fk
TXhOUGFyYW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9zYWQzMngzMl9hdngyLCAxMiksCi0gIFNhZE14
TlBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkMzJ4MTZfYXZ4MiwgMTIpLAotICBTYWRNeE5Q
YXJhbSgxNiwgMzIsICZ2cHhfaGlnaGJkX3NhZDE2eDMyX2F2eDIsIDEyKSwKLSAgU2FkTXhOUGFy
YW0oMTYsIDE2LCAmdnB4X2hpZ2hiZF9zYWQxNngxNl9hdngyLCAxMiksCi0gIFNhZE14TlBhcmFt
KDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWQxNng4X2F2eDIsIDEyKSwKLSNlbmRpZiAgLy8gQ09ORklH
X1ZQOV9ISUdIQklUREVQVEgKIH07CiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoQVZYMiwgU0FE
VGVzdCwgOjp0ZXN0aW5nOjpWYWx1ZXNJbihhdngyX3Rlc3RzKSk7CiAKLWNvbnN0IFNhZFNraXBN
eE5QYXJhbSBza2lwX2F2eDJfdGVzdHNbXSA9IHsKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCA2NCwg
JnZweF9zYWRfc2tpcF82NHg2NF9hdngyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDY0LCAzMiwgJnZw
eF9zYWRfc2tpcF82NHgzMl9hdngyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCA2NCwgJnZweF9z
YWRfc2tpcF8zMng2NF9hdngyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAzMiwgJnZweF9zYWRf
c2tpcF8zMngzMl9hdngyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAxNiwgJnZweF9zYWRfc2tp
cF8zMngxNl9hdngyKSwKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICBTYWRTa2lwTXhO
UGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9hdngyLCA4KSwKLSAgU2Fk
U2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYXZ4MiwgOCks
Ci0gIFNhZFNraXBNeE5QYXJhbSgzMiwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0X2F2
eDIsIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8z
MngzMl9hdngyLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4MTZfYXZ4MiwgOCksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwgMzIsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDMyX2F2eDIsIDgpLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDE2LCAm
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9hdngyLCA4KSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2
LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2F2eDIsIDgpLAotCi0gIFNhZFNraXBNeE5Q
YXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2F2eDIsIDEwKSwKLSAgU2Fk
U2tpcE14TlBhcmFtKDY0LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYXZ4MiwgMTAp
LAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9h
dngyLCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSgzMiwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lw
XzMyeDMyX2F2eDIsIDEwKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MTZfYXZ4MiwgMTApLAotICBTYWRTa2lwTXhOUGFyYW0oMTYsIDMyLCAmdnB4
X2hpZ2hiZF9zYWRfc2tpcF8xNngzMl9hdngyLCAxMCksCi0gIFNhZFNraXBNeE5QYXJhbSgxNiwg
MTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2X2F2eDIsIDEwKSwKLSAgU2FkU2tpcE14TlBh
cmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2F2eDIsIDEwKSwKLQotICBTYWRT
a2lwTXhOUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NF9hdngyLCAxMiks
Ci0gIFNhZFNraXBNeE5QYXJhbSg2NCwgMzIsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX2F2
eDIsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4NjRfYXZ4MiwgMTIpLAotICBTYWRTa2lwTXhOUGFyYW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMngzMl9hdngyLCAxMiksCi0gIFNhZFNraXBNeE5QYXJhbSgzMiwgMTYsICZ2cHhf
aGlnaGJkX3NhZF9za2lwXzMyeDE2X2F2eDIsIDEyKSwKLSAgU2FkU2tpcE14TlBhcmFtKDE2LCAz
MiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJfYXZ4MiwgMTIpLAotICBTYWRTa2lwTXhOUGFy
YW0oMTYsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNl9hdngyLCAxMiksCi0gIFNhZFNr
aXBNeE5QYXJhbSgxNiwgOCwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9hdngyLCAxMiksCi0j
ZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi19OwotSU5TVEFOVElBVEVfVEVTVF9T
VUlURV9QKEFWWDIsIFNBRFNraXBUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVz
dGluZzo6VmFsdWVzSW4oc2tpcF9hdngyX3Rlc3RzKSk7Ci0KIGNvbnN0IFNhZE14TkF2Z1BhcmFt
IGF2Z19hdngyX3Rlc3RzW10gPSB7CiAgIFNhZE14TkF2Z1BhcmFtKDY0LCA2NCwgJnZweF9zYWQ2
NHg2NF9hdmdfYXZ4MiksCiAgIFNhZE14TkF2Z1BhcmFtKDY0LCAzMiwgJnZweF9zYWQ2NHgzMl9h
dmdfYXZ4MiksCiAgIFNhZE14TkF2Z1BhcmFtKDMyLCA2NCwgJnZweF9zYWQzMng2NF9hdmdfYXZ4
MiksCiAgIFNhZE14TkF2Z1BhcmFtKDMyLCAzMiwgJnZweF9zYWQzMngzMl9hdmdfYXZ4MiksCiAg
IFNhZE14TkF2Z1BhcmFtKDMyLCAxNiwgJnZweF9zYWQzMngxNl9hdmdfYXZ4MiksCi0jaWYgQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKLSAgU2FkTXhOQXZnUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hi
ZF9zYWQ2NHg2NF9hdmdfYXZ4MiwgOCksCi0gIFNhZE14TkF2Z1BhcmFtKDY0LCAzMiwgJnZweF9o
aWdoYmRfc2FkNjR4MzJfYXZnX2F2eDIsIDgpLAotICBTYWRNeE5BdmdQYXJhbSgzMiwgNjQsICZ2
cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19hdngyLCA4KSwKLSAgU2FkTXhOQXZnUGFyYW0oMzIsIDMy
LCAmdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYXZ4MiwgOCksCi0gIFNhZE14TkF2Z1BhcmFtKDMy
LCAxNiwgJnZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2F2eDIsIDgpLAotICBTYWRNeE5BdmdQYXJh
bSgxNiwgMzIsICZ2cHhfaGlnaGJkX3NhZDE2eDMyX2F2Z19hdngyLCA4KSwKLSAgU2FkTXhOQXZn
UGFyYW0oMTYsIDE2LCAmdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmdfYXZ4MiwgOCksCi0gIFNhZE14
TkF2Z1BhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19hdngyLCA4KSwKLSAgU2Fk
TXhOQXZnUGFyYW0oNjQsIDY0LCAmdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmdfYXZ4MiwgMTApLAot
ICBTYWRNeE5BdmdQYXJhbSg2NCwgMzIsICZ2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19hdngyLCAx
MCksCi0gIFNhZE14TkF2Z1BhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnX2F2
eDIsIDEwKSwKLSAgU2FkTXhOQXZnUGFyYW0oMzIsIDMyLCAmdnB4X2hpZ2hiZF9zYWQzMngzMl9h
dmdfYXZ4MiwgMTApLAotICBTYWRNeE5BdmdQYXJhbSgzMiwgMTYsICZ2cHhfaGlnaGJkX3NhZDMy
eDE2X2F2Z19hdngyLCAxMCksCi0gIFNhZE14TkF2Z1BhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRf
c2FkMTZ4MzJfYXZnX2F2eDIsIDEwKSwKLSAgU2FkTXhOQXZnUGFyYW0oMTYsIDE2LCAmdnB4X2hp
Z2hiZF9zYWQxNngxNl9hdmdfYXZ4MiwgMTApLAotICBTYWRNeE5BdmdQYXJhbSgxNiwgOCwgJnZw
eF9oaWdoYmRfc2FkMTZ4OF9hdmdfYXZ4MiwgMTApLAotICBTYWRNeE5BdmdQYXJhbSg2NCwgNjQs
ICZ2cHhfaGlnaGJkX3NhZDY0eDY0X2F2Z19hdngyLCAxMiksCi0gIFNhZE14TkF2Z1BhcmFtKDY0
LCAzMiwgJnZweF9oaWdoYmRfc2FkNjR4MzJfYXZnX2F2eDIsIDEyKSwKLSAgU2FkTXhOQXZnUGFy
YW0oMzIsIDY0LCAmdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfYXZ4MiwgMTIpLAotICBTYWRNeE5B
dmdQYXJhbSgzMiwgMzIsICZ2cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19hdngyLCAxMiksCi0gIFNh
ZE14TkF2Z1BhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnX2F2eDIsIDEyKSwK
LSAgU2FkTXhOQXZnUGFyYW0oMTYsIDMyLCAmdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYXZ4Miwg
MTIpLAotICBTYWRNeE5BdmdQYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19h
dngyLCAxMiksCi0gIFNhZE14TkF2Z1BhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWQxNng4X2F2
Z19hdngyLCAxMiksCi0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICiB9OwogSU5T
VEFOVElBVEVfVEVTVF9TVUlURV9QKEFWWDIsIFNBRGF2Z1Rlc3QsIDo6dGVzdGluZzo6VmFsdWVz
SW4oYXZnX2F2eDJfdGVzdHMpKTsKIAogY29uc3QgU2FkTXhOeDRQYXJhbSB4NGRfYXZ4Ml90ZXN0
c1tdID0gewogICBTYWRNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9zYWQ2NHg2NHg0ZF9hdngyKSwK
ICAgU2FkTXhOeDRQYXJhbSgzMiwgMzIsICZ2cHhfc2FkMzJ4MzJ4NGRfYXZ4MiksCi0jaWYgQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKLSAgU2FkTXhOeDRQYXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJk
X3NhZDY0eDY0eDRkX2F2eDIsIDgpLAotICBTYWRNeE54NFBhcmFtKDY0LCAzMiwgJnZweF9oaWdo
YmRfc2FkNjR4MzJ4NGRfYXZ4MiwgOCksCi0gIFNhZE14Tng0UGFyYW0oMzIsIDY0LCAmdnB4X2hp
Z2hiZF9zYWQzMng2NHg0ZF9hdngyLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwgMzIsICZ2cHhf
aGlnaGJkX3NhZDMyeDMyeDRkX2F2eDIsIDgpLAotICBTYWRNeE54NFBhcmFtKDMyLCAxNiwgJnZw
eF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYXZ4MiwgOCksCi0gIFNhZE14Tng0UGFyYW0oMTYsIDMyLCAm
dnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9hdngyLCA4KSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwgMTYs
ICZ2cHhfaGlnaGJkX3NhZDE2eDE2eDRkX2F2eDIsIDgpLAotICBTYWRNeE54NFBhcmFtKDE2LCA4
LCAmdnB4X2hpZ2hiZF9zYWQxNng4eDRkX2F2eDIsIDgpLAotICBTYWRNeE54NFBhcmFtKDY0LCA2
NCwgJnZweF9oaWdoYmRfc2FkNjR4NjR4NGRfYXZ4MiwgMTApLAotICBTYWRNeE54NFBhcmFtKDY0
LCAzMiwgJnZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYXZ4MiwgMTApLAotICBTYWRNeE54NFBhcmFt
KDMyLCA2NCwgJnZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYXZ4MiwgMTApLAotICBTYWRNeE54NFBh
cmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYXZ4MiwgMTApLAotICBTYWRNeE54
NFBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYXZ4MiwgMTApLAotICBTYWRN
eE54NFBhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYXZ4MiwgMTApLAotICBT
YWRNeE54NFBhcmFtKDE2LCAxNiwgJnZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfYXZ4MiwgMTApLAot
ICBTYWRNeE54NFBhcmFtKDE2LCA4LCAmdnB4X2hpZ2hiZF9zYWQxNng4eDRkX2F2eDIsIDEwKSwK
LSAgU2FkTXhOeDRQYXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2F2eDIsIDEy
KSwKLSAgU2FkTXhOeDRQYXJhbSg2NCwgMzIsICZ2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX2F2eDIs
IDEyKSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwgNjQsICZ2cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2F2
eDIsIDEyKSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwgMzIsICZ2cHhfaGlnaGJkX3NhZDMyeDMyeDRk
X2F2eDIsIDEyKSwKLSAgU2FkTXhOeDRQYXJhbSgzMiwgMTYsICZ2cHhfaGlnaGJkX3NhZDMyeDE2
eDRkX2F2eDIsIDEyKSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwgMzIsICZ2cHhfaGlnaGJkX3NhZDE2
eDMyeDRkX2F2eDIsIDEyKSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3Nh
ZDE2eDE2eDRkX2F2eDIsIDEyKSwKLSAgU2FkTXhOeDRQYXJhbSgxNiwgOCwgJnZweF9oaWdoYmRf
c2FkMTZ4OHg0ZF9hdngyLCAxMiksCi0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRI
CiB9OwogSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKEFWWDIsIFNBRHg0VGVzdCwgOjp0ZXN0aW5n
OjpWYWx1ZXNJbih4NGRfYXZ4Ml90ZXN0cykpOwogCi1jb25zdCBTYWRTa2lwTXhOeDRQYXJhbSBz
a2lwX3g0ZF9hdngyX3Rlc3RzW10gPSB7Ci0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZw
eF9zYWRfc2tpcF82NHg2NHg0ZF9hdngyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oNjQsIDMyLCAm
dnB4X3NhZF9za2lwXzY0eDMyeDRkX2F2eDIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgzMiwgNjQs
ICZ2cHhfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4MiksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCAz
MiwgJnZweF9zYWRfc2tpcF8zMngzMng0ZF9hdngyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIs
IDE2LCAmdnB4X3NhZF9za2lwXzMyeDE2eDRkX2F2eDIpLAotI2lmIENPTkZJR19WUDlfSElHSEJJ
VERFUFRICi0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBf
NjR4NjR4NGRfYXZ4MiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDY0LCAzMiwgJnZweF9oaWdo
YmRfc2FkX3NraXBfNjR4MzJ4NGRfYXZ4MiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCA2
NCwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYXZ4MiwgOCksCi0gIFNhZFNraXBNeE54
NFBhcmFtKDMyLCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfYXZ4MiwgOCksCi0g
IFNhZFNraXBNeE54NFBhcmFtKDMyLCAxNiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGRf
YXZ4MiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkX3Nr
aXBfMTZ4MzJ4NGRfYXZ4MiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2LCAxNiwgJnZweF9o
aWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYXZ4MiwgOCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDE2
LCA4LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4eDRkX2F2eDIsIDgpLAotICBTYWRTa2lwTXhO
eDRQYXJhbSg2NCwgNjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX2F2eDIsIDEwKSwK
LSAgU2FkU2tpcE14Tng0UGFyYW0oNjQsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0
ZF9hdngyLCAxMCksCi0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4NjR4NGRfYXZ4MiwgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSgzMiwgMzIsICZ2
cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMyeDRkX2F2eDIsIDEwKSwKLSAgU2FkU2tpcE14Tng0UGFy
YW0oMzIsIDE2LCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZF9hdngyLCAxMCksCi0gIFNh
ZFNraXBNeE54NFBhcmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYXZ4
MiwgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDE2eDRkX2F2eDIsIDEwKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDgsICZ2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDh4NGRfYXZ4MiwgMTApLAotICBTYWRTa2lwTXhOeDRQYXJhbSg2NCwg
NjQsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX2F2eDIsIDEyKSwKLSAgU2FkU2tpcE14
Tng0UGFyYW0oNjQsIDMyLCAmdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZF9hdngyLCAxMiks
Ci0gIFNhZFNraXBNeE54NFBhcmFtKDMyLCA2NCwgJnZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4
NGRfYXZ4MiwgMTIpLAotICBTYWRTa2lwTXhOeDRQYXJhbSgzMiwgMzIsICZ2cHhfaGlnaGJkX3Nh
ZF9za2lwXzMyeDMyeDRkX2F2eDIsIDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMzIsIDE2LCAm
dnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZF9hdngyLCAxMiksCi0gIFNhZFNraXBNeE54NFBh
cmFtKDE2LCAzMiwgJnZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYXZ4MiwgMTIpLAotICBT
YWRTa2lwTXhOeDRQYXJhbSgxNiwgMTYsICZ2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDE2eDRkX2F2
eDIsIDEyKSwKLSAgU2FkU2tpcE14Tng0UGFyYW0oMTYsIDgsICZ2cHhfaGlnaGJkX3NhZF9za2lw
XzE2eDh4NGRfYXZ4MiwgMTIpLAotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAor
Y29uc3QgU2FkTXhOeDhQYXJhbSB4OF9hdngyX3Rlc3RzW10gPSB7CisgIC8vIFNhZE14Tng4UGFy
YW0oNjQsIDY0LCAmdnB4X3NhZDY0eDY0eDhfYyksCisgIFNhZE14Tng4UGFyYW0oMzIsIDMyLCAm
dnB4X3NhZDMyeDMyeDhfYXZ4MiksCiB9OwotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKEFWWDIs
IFNBRFNraXB4NFRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1
ZXNJbihza2lwX3g0ZF9hdngyX3Rlc3RzKSk7Ci0KK0lOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChB
VlgyLCBTQUR4OFRlc3QsIDo6dGVzdGluZzo6VmFsdWVzSW4oeDhfYXZ4Ml90ZXN0cykpOwogI2Vu
ZGlmICAvLyBIQVZFX0FWWDIKIAogI2lmIEhBVkVfQVZYNTEyCkBAIC0yMDQ3LDMzICsxMTk2LDQg
QEAgY29uc3QgU2FkTXhOeDRQYXJhbSB4NGRfbW1pX3Rlc3RzW10gPSB7CiB9OwogSU5TVEFOVElB
VEVfVEVTVF9TVUlURV9QKE1NSSwgU0FEeDRUZXN0LCA6OnRlc3Rpbmc6OlZhbHVlc0luKHg0ZF9t
bWlfdGVzdHMpKTsKICNlbmRpZiAgLy8gSEFWRV9NTUkKLQotLy8tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLS8vIGxvb25nYXJjaCBmdW5jdGlvbnMKLSNpZiBIQVZFX0xTWAotY29uc3QgU2FkTXhOUGFy
YW0gbHN4X3Rlc3RzW10gPSB7Ci0gIFNhZE14TlBhcmFtKDY0LCA2NCwgJnZweF9zYWQ2NHg2NF9s
c3gpLAotICBTYWRNeE5QYXJhbSgzMiwgMzIsICZ2cHhfc2FkMzJ4MzJfbHN4KSwKLSAgU2FkTXhO
UGFyYW0oMTYsIDE2LCAmdnB4X3NhZDE2eDE2X2xzeCksCi0gIFNhZE14TlBhcmFtKDgsIDgsICZ2
cHhfc2FkOHg4X2xzeCksCi19OwotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKExTWCwgU0FEVGVz
dCwgOjp0ZXN0aW5nOjpWYWx1ZXNJbihsc3hfdGVzdHMpKTsKLQotY29uc3QgU2FkTXhOQXZnUGFy
YW0gYXZnX2xzeF90ZXN0c1tdID0gewotICBTYWRNeE5BdmdQYXJhbSg2NCwgNjQsICZ2cHhfc2Fk
NjR4NjRfYXZnX2xzeCksCi0gIFNhZE14TkF2Z1BhcmFtKDMyLCAzMiwgJnZweF9zYWQzMngzMl9h
dmdfbHN4KSwKLX07Ci1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTFNYLCBTQURhdmdUZXN0LCA6
OnRlc3Rpbmc6OlZhbHVlc0luKGF2Z19sc3hfdGVzdHMpKTsKLQotY29uc3QgU2FkTXhOeDRQYXJh
bSB4NGRfbHN4X3Rlc3RzW10gPSB7Ci0gIFNhZE14Tng0UGFyYW0oNjQsIDY0LCAmdnB4X3NhZDY0
eDY0eDRkX2xzeCksCi0gIFNhZE14Tng0UGFyYW0oNjQsIDMyLCAmdnB4X3NhZDY0eDMyeDRkX2xz
eCksCi0gIFNhZE14Tng0UGFyYW0oMzIsIDY0LCAmdnB4X3NhZDMyeDY0eDRkX2xzeCksCi0gIFNh
ZE14Tng0UGFyYW0oMzIsIDMyLCAmdnB4X3NhZDMyeDMyeDRkX2xzeCksCi0gIFNhZE14Tng0UGFy
YW0oMTYsIDE2LCAmdnB4X3NhZDE2eDE2eDRkX2xzeCksCi0gIFNhZE14Tng0UGFyYW0oOCwgOCwg
JnZweF9zYWQ4eDh4NGRfbHN4KSwKLX07Ci1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTFNYLCBT
QUR4NFRlc3QsIDo6dGVzdGluZzo6VmFsdWVzSW4oeDRkX2xzeF90ZXN0cykpOwotI2VuZGlmICAv
LyBIQVZFX0xTWAotCiB9ICAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC9zZXRfcm9pLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3NldF9yb2kuY2MKaW5kZXggNjkzNDEwZTM5
MTA4Li5mNjM5NTQ3NTIzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9zZXRfcm9pLmNj
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9zZXRfcm9pLmNjCkBAIC00MCw3ICs0MCw3IEBAIFRFU1Qo
VlA4Um9pTWFwVGVzdCwgUGFyYW1ldGVyQ2hlY2spIHsKIAogICAvLyBJbml0aWFsaXplIGVsZW1l
bnRzIG9mIGNwaSB3aXRoIHZhbGlkIGRlZmF1bHRzLgogICBWUDhfQ09NUCBjcGk7Ci0gIGNwaS5t
Yi5lX21iZC5tYl9zZWdtZW50X2Fic19kZWx0YSA9IFNFR01FTlRfREVMVEFEQVRBOworICBjcGku
bWIuZV9tYmQubWJfc2VnZW1lbnRfYWJzX2RlbHRhID0gU0VHTUVOVF9ERUxUQURBVEE7CiAgIGNw
aS5jeWNsaWNfcmVmcmVzaF9tb2RlX2VuYWJsZWQgPSAwOwogICBjcGkubWIuZV9tYmQuc2VnbWVu
dGF0aW9uX2VuYWJsZWQgPSAwOwogICBjcGkubWIuZV9tYmQudXBkYXRlX21iX3NlZ21lbnRhdGlv
bl9tYXAgPSAwOwpAQCAtMTYxLDYgKzE2MSw2IEBAIFRFU1QoVlA4Um9pTWFwVGVzdCwgUGFyYW1l
dGVyQ2hlY2spIHsKICAgLy8gRnJlZSBhbGxvY2F0ZWQgbWVtb3J5CiAgIGlmIChjcGkuc2VnbWVu
dGF0aW9uX21hcCkgdnB4X2ZyZWUoY3BpLnNlZ21lbnRhdGlvbl9tYXApOwogICBpZiAocm9pX21h
cCkgdnB4X2ZyZWUocm9pX21hcCk7Ci19Cit9OwogCiB9ICAvLyBuYW1lc3BhY2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC9zaW1wbGVfZW5jb2RlX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rl
c3Qvc2ltcGxlX2VuY29kZV90ZXN0LmNjCmluZGV4IDAxZmMyNTg1NjY4MC4uYWI4OTMwNDVkODAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc2ltcGxlX2VuY29kZV90ZXN0LmNjCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC9zaW1wbGVfZW5jb2RlX3Rlc3QuY2MKQEAgLTEzLDcgKzEzLDYgQEAK
ICNpbmNsdWRlIDxzdHJpbmc+CiAjaW5jbHVkZSA8dmVjdG9yPgogI2luY2x1ZGUgInRoaXJkX3Bh
cnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIKLSNpbmNsdWRlICJ0ZXN0
L3ZpZGVvX3NvdXJjZS5oIgogI2luY2x1ZGUgInZwOS9zaW1wbGVfZW5jb2RlLmgiCiAKIG5hbWVz
cGFjZSB2cDkgewpAQCAtMzcsMTQgKzM2LDEyIEBAIGNsYXNzIFNpbXBsZUVuY29kZVRlc3QgOiBw
dWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKICAgY29uc3QgaW50IGZyYW1lX3JhdGVfZGVuXyA9IDE7
CiAgIGNvbnN0IGludCB0YXJnZXRfYml0cmF0ZV8gPSAxMDAwOwogICBjb25zdCBpbnQgbnVtX2Zy
YW1lc18gPSAxNzsKLSAgY29uc3QgaW50IHRhcmdldF9sZXZlbF8gPSBMRVZFTF9VTktOT1dOOwot
ICBjb25zdCBzdGQ6OnN0cmluZyBpbl9maWxlX3BhdGhfc3RyXyA9Ci0gICAgICBsaWJ2cHhfdGVz
dDo6R2V0RGF0YVBhdGgoKSArICIvYnVzXzM1MngyODhfNDIwX2YyMF9iOC55dXYiOworICBjb25z
dCBzdGQ6OnN0cmluZyBpbl9maWxlX3BhdGhfc3RyXyA9ICJidXNfMzUyeDI4OF80MjBfZjIwX2I4
Lnl1diI7CiB9OwogCiBURVNUX0YoU2ltcGxlRW5jb2RlVGVzdCwgQ29tcHV0ZUZpcnN0UGFzc1N0
YXRzKSB7CiAgIFNpbXBsZUVuY29kZSBzaW1wbGVfZW5jb2RlKHdpZHRoXywgaGVpZ2h0XywgZnJh
bWVfcmF0ZV9udW1fLCBmcmFtZV9yYXRlX2Rlbl8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRhcmdldF9iaXRyYXRlXywgbnVtX2ZyYW1lc18sIHRhcmdldF9sZXZlbF8sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9iaXRyYXRlXywgbnVtX2ZyYW1lc18sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluX2ZpbGVfcGF0aF9zdHJfLmNfc3RyKCkpOwogICBz
aW1wbGVfZW5jb2RlLkNvbXB1dGVGaXJzdFBhc3NTdGF0cygpOwogICBzdGQ6OnZlY3RvcjxzdGQ6
OnZlY3Rvcjxkb3VibGU+PiBmcmFtZV9zdGF0cyA9CkBAIC02NSw3ICs2Miw3IEBAIFRFU1RfRihT
aW1wbGVFbmNvZGVUZXN0LCBDb21wdXRlRmlyc3RQYXNzU3RhdHMpIHsKIAogVEVTVF9GKFNpbXBs
ZUVuY29kZVRlc3QsIE9ic2VydmVGaXJzdFBhc3NNb3Rpb25WZWN0b3JzKSB7CiAgIFNpbXBsZUVu
Y29kZSBzaW1wbGVfZW5jb2RlKHdpZHRoXywgaGVpZ2h0XywgZnJhbWVfcmF0ZV9udW1fLCBmcmFt
ZV9yYXRlX2Rlbl8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9iaXRyYXRl
XywgbnVtX2ZyYW1lc18sIHRhcmdldF9sZXZlbF8sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRhcmdldF9iaXRyYXRlXywgbnVtX2ZyYW1lc18sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluX2ZpbGVfcGF0aF9zdHJfLmNfc3RyKCkpOwogICBzaW1wbGVfZW5jb2RlLkNvbXB1
dGVGaXJzdFBhc3NTdGF0cygpOwogICBzdGQ6OnZlY3RvcjxzdGQ6OnZlY3RvcjxNb3Rpb25WZWN0
b3JJbmZvPj4gZnBzX21vdGlvbl92ZWN0b3JzID0KQEAgLTg3LDcgKzg0LDcgQEAgVEVTVF9GKFNp
bXBsZUVuY29kZVRlc3QsIE9ic2VydmVGaXJzdFBhc3NNb3Rpb25WZWN0b3JzKSB7CiAKIFRFU1Rf
RihTaW1wbGVFbmNvZGVUZXN0LCBHZXRDb2RpbmdGcmFtZU51bSkgewogICBTaW1wbGVFbmNvZGUg
c2ltcGxlX2VuY29kZSh3aWR0aF8sIGhlaWdodF8sIGZyYW1lX3JhdGVfbnVtXywgZnJhbWVfcmF0
ZV9kZW5fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfYml0cmF0ZV8sIG51
bV9mcmFtZXNfLCB0YXJnZXRfbGV2ZWxfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
YXJnZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNfLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbl9maWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKICAgc2ltcGxlX2VuY29kZS5Db21wdXRlRmly
c3RQYXNzU3RhdHMoKTsKICAgY29uc3QgaW50IG51bV9jb2RpbmdfZnJhbWVzID0gc2ltcGxlX2Vu
Y29kZS5HZXRDb2RpbmdGcmFtZU51bSgpOwpAQCAtOTYsNyArOTMsNyBAQCBURVNUX0YoU2ltcGxl
RW5jb2RlVGVzdCwgR2V0Q29kaW5nRnJhbWVOdW0pIHsKIAogVEVTVF9GKFNpbXBsZUVuY29kZVRl
c3QsIEVuY29kZUZyYW1lKSB7CiAgIFNpbXBsZUVuY29kZSBzaW1wbGVfZW5jb2RlKHdpZHRoXywg
aGVpZ2h0XywgZnJhbWVfcmF0ZV9udW1fLCBmcmFtZV9yYXRlX2Rlbl8sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRhcmdldF9iaXRyYXRlXywgbnVtX2ZyYW1lc18sIHRhcmdldF9sZXZl
bF8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9iaXRyYXRlXywgbnVtX2Zy
YW1lc18sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluX2ZpbGVfcGF0aF9zdHJfLmNf
c3RyKCkpOwogICBzaW1wbGVfZW5jb2RlLkNvbXB1dGVGaXJzdFBhc3NTdGF0cygpOwogICBpbnQg
bnVtX2NvZGluZ19mcmFtZXMgPSBzaW1wbGVfZW5jb2RlLkdldENvZGluZ0ZyYW1lTnVtKCk7CkBA
IC0xMzksNyArMTM2LDcgQEAgVEVTVF9GKFNpbXBsZUVuY29kZVRlc3QsIEVuY29kZUZyYW1lKSB7
CiAKIFRFU1RfRihTaW1wbGVFbmNvZGVUZXN0LCBPYnNlcnZlS2V5RnJhbWVNYXApIHsKICAgU2lt
cGxlRW5jb2RlIHNpbXBsZV9lbmNvZGUod2lkdGhfLCBoZWlnaHRfLCBmcmFtZV9yYXRlX251bV8s
IGZyYW1lX3JhdGVfZGVuXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2Jp
dHJhdGVfLCBudW1fZnJhbWVzXywgdGFyZ2V0X2xldmVsXywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGFyZ2V0X2JpdHJhdGVfLCBudW1fZnJhbWVzXywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW5fZmlsZV9wYXRoX3N0cl8uY19zdHIoKSk7CiAgIHNpbXBsZV9lbmNvZGUu
Q29tcHV0ZUZpcnN0UGFzc1N0YXRzKCk7CiAgIHN0ZDo6dmVjdG9yPGludD4ga2V5X2ZyYW1lX21h
cCA9IHNpbXBsZV9lbmNvZGUuT2JzZXJ2ZUtleUZyYW1lTWFwKCk7CkBAIC0xNjgsNyArMTY1LDcg
QEAgVEVTVF9GKFNpbXBsZUVuY29kZVRlc3QsIE9ic2VydmVLZXlGcmFtZU1hcCkgewogCiBURVNU
X0YoU2ltcGxlRW5jb2RlVGVzdCwgRW5jb2RlRnJhbWVXaXRoVGFyZ2V0RnJhbWVCaXRzKSB7CiAg
IFNpbXBsZUVuY29kZSBzaW1wbGVfZW5jb2RlKHdpZHRoXywgaGVpZ2h0XywgZnJhbWVfcmF0ZV9u
dW1fLCBmcmFtZV9yYXRlX2Rlbl8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdl
dF9iaXRyYXRlXywgbnVtX2ZyYW1lc18sIHRhcmdldF9sZXZlbF8sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRhcmdldF9iaXRyYXRlXywgbnVtX2ZyYW1lc18sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluX2ZpbGVfcGF0aF9zdHJfLmNfc3RyKCkpOwogICBzaW1wbGVfZW5j
b2RlLkNvbXB1dGVGaXJzdFBhc3NTdGF0cygpOwogICBjb25zdCBpbnQgbnVtX2NvZGluZ19mcmFt
ZXMgPSBzaW1wbGVfZW5jb2RlLkdldENvZGluZ0ZyYW1lTnVtKCk7CkBAIC0yMDYsNyArMjAzLDcg
QEAgVEVTVF9GKFNpbXBsZUVuY29kZVRlc3QsIEVuY29kZUZyYW1lV2l0aFRhcmdldEZyYW1lQml0
cykgewogCiBURVNUX0YoU2ltcGxlRW5jb2RlVGVzdCwgRW5jb2RlRnJhbWVXaXRoUXVhbnRpemVJ
bmRleCkgewogICBTaW1wbGVFbmNvZGUgc2ltcGxlX2VuY29kZSh3aWR0aF8sIGhlaWdodF8sIGZy
YW1lX3JhdGVfbnVtXywgZnJhbWVfcmF0ZV9kZW5fLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0YXJnZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNfLCB0YXJnZXRfbGV2ZWxfLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNfLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbl9maWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKICAg
c2ltcGxlX2VuY29kZS5Db21wdXRlRmlyc3RQYXNzU3RhdHMoKTsKICAgY29uc3QgaW50IG51bV9j
b2RpbmdfZnJhbWVzID0gc2ltcGxlX2VuY29kZS5HZXRDb2RpbmdGcmFtZU51bSgpOwpAQCAtMjM4
LDcgKzIzNSw3IEBAIFRFU1RfRihTaW1wbGVFbmNvZGVUZXN0LCBFbmNvZGVDb25zaXN0ZW5jeVRl
c3QpIHsKICAgICAvLyBUaGUgZmlyc3QgZW5jb2RlLgogICAgIFNpbXBsZUVuY29kZSBzaW1wbGVf
ZW5jb2RlKHdpZHRoXywgaGVpZ2h0XywgZnJhbWVfcmF0ZV9udW1fLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZyYW1lX3JhdGVfZGVuXywgdGFyZ2V0X2JpdHJhdGVfLCBudW1fZnJh
bWVzXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfbGV2ZWxfLCBpbl9m
aWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bl9maWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKICAgICBzaW1wbGVfZW5jb2RlLkNvbXB1dGVGaXJz
dFBhc3NTdGF0cygpOwogICAgIGNvbnN0IGludCBudW1fY29kaW5nX2ZyYW1lcyA9IHNpbXBsZV9l
bmNvZGUuR2V0Q29kaW5nRnJhbWVOdW0oKTsKICAgICBzaW1wbGVfZW5jb2RlLlN0YXJ0RW5jb2Rl
KCk7CkBAIC0yNTgsNyArMjU1LDcgQEAgVEVTVF9GKFNpbXBsZUVuY29kZVRlc3QsIEVuY29kZUNv
bnNpc3RlbmN5VGVzdCkgewogICAgIC8vIFRoZSBzZWNvbmQgZW5jb2RlIHdpdGggcXVhbnRpemUg
aW5kZXggZ290IGZyb20gdGhlIGZpcnN0IGVuY29kZS4KICAgICBTaW1wbGVFbmNvZGUgc2ltcGxl
X2VuY29kZSh3aWR0aF8sIGhlaWdodF8sIGZyYW1lX3JhdGVfbnVtXywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmcmFtZV9yYXRlX2Rlbl8sIHRhcmdldF9iaXRyYXRlXywgbnVtX2Zy
YW1lc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2xldmVsXywgaW5f
ZmlsZV9wYXRoX3N0cl8uY19zdHIoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5fZmlsZV9wYXRoX3N0cl8uY19zdHIoKSk7CiAgICAgc2ltcGxlX2VuY29kZS5Db21wdXRlRmly
c3RQYXNzU3RhdHMoKTsKICAgICBjb25zdCBpbnQgbnVtX2NvZGluZ19mcmFtZXMgPSBzaW1wbGVf
ZW5jb2RlLkdldENvZGluZ0ZyYW1lTnVtKCk7CiAgICAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHNp
emVfdD4obnVtX2NvZGluZ19mcmFtZXMpLApAQCAtMjg3LDcgKzI4NCw3IEBAIFRFU1RfRihTaW1w
bGVFbmNvZGVUZXN0LCBFbmNvZGVDb25zaXN0ZW5jeVRlc3QyKSB7CiAgIGNvbnN0IGludCBudW1f
dW5pdHNfNHg0ID0gbnVtX3Jvd3NfNHg0ICogbnVtX2NvbHNfNHg0OwogICAvLyBUaGUgZmlyc3Qg
ZW5jb2RlLgogICBTaW1wbGVFbmNvZGUgc2ltcGxlX2VuY29kZSh3aWR0aF8sIGhlaWdodF8sIGZy
YW1lX3JhdGVfbnVtXywgZnJhbWVfcmF0ZV9kZW5fLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0YXJnZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNfLCB0YXJnZXRfbGV2ZWxfLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNfLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbl9maWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKICAg
c2ltcGxlX2VuY29kZS5Db21wdXRlRmlyc3RQYXNzU3RhdHMoKTsKICAgY29uc3QgaW50IG51bV9j
b2RpbmdfZnJhbWVzID0gc2ltcGxlX2VuY29kZS5HZXRDb2RpbmdGcmFtZU51bSgpOwpAQCAtMzEw
LDcgKzMwNyw3IEBAIFRFU1RfRihTaW1wbGVFbmNvZGVUZXN0LCBFbmNvZGVDb25zaXN0ZW5jeVRl
c3QyKSB7CiAgIC8vIFRoZSBzZWNvbmQgZW5jb2RlLgogICBTaW1wbGVFbmNvZGUgc2ltcGxlX2Vu
Y29kZV8yKHdpZHRoXywgaGVpZ2h0XywgZnJhbWVfcmF0ZV9udW1fLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZyYW1lX3JhdGVfZGVuXywgdGFyZ2V0X2JpdHJhdGVfLCBudW1fZnJh
bWVzXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfbGV2ZWxfLCBpbl9m
aWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bl9maWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKICAgc2ltcGxlX2VuY29kZV8yLkNvbXB1dGVGaXJz
dFBhc3NTdGF0cygpOwogICBjb25zdCBpbnQgbnVtX2NvZGluZ19mcmFtZXNfMiA9IHNpbXBsZV9l
bmNvZGVfMi5HZXRDb2RpbmdGcmFtZU51bSgpOwogICBzaW1wbGVfZW5jb2RlXzIuU3RhcnRFbmNv
ZGUoKTsKQEAgLTM1OCw3ICszNTUsNyBAQCBURVNUX0YoU2ltcGxlRW5jb2RlVGVzdCwgRW5jb2Rl
Q29uc2lzdGVuY3lUZXN0MykgewogICBjb25zdCBpbnQgbnVtX3VuaXRzXzR4NCA9IG51bV9yb3dz
XzR4NCAqIG51bV9jb2xzXzR4NDsKICAgLy8gVGhlIGZpcnN0IGVuY29kZS4KICAgU2ltcGxlRW5j
b2RlIHNpbXBsZV9lbmNvZGUod2lkdGhfLCBoZWlnaHRfLCBmcmFtZV9yYXRlX251bV8sIGZyYW1l
X3JhdGVfZGVuXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2JpdHJhdGVf
LCBudW1fZnJhbWVzXywgdGFyZ2V0X2xldmVsXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGFyZ2V0X2JpdHJhdGVfLCBudW1fZnJhbWVzXywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5fZmlsZV9wYXRoX3N0cl8uY19zdHIoKSk7CiAgIHNpbXBsZV9lbmNvZGUuQ29tcHV0
ZUZpcnN0UGFzc1N0YXRzKCk7CiAgIGNvbnN0IGludCBudW1fY29kaW5nX2ZyYW1lcyA9IHNpbXBs
ZV9lbmNvZGUuR2V0Q29kaW5nRnJhbWVOdW0oKTsKQEAgLTM3OCw3ICszNzUsNyBAQCBURVNUX0Yo
U2ltcGxlRW5jb2RlVGVzdCwgRW5jb2RlQ29uc2lzdGVuY3lUZXN0MykgewogICAvLyBUaGUgc2Vj
b25kIGVuY29kZS4KICAgU2ltcGxlRW5jb2RlIHNpbXBsZV9lbmNvZGVfMih3aWR0aF8sIGhlaWdo
dF8sIGZyYW1lX3JhdGVfbnVtXywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFt
ZV9yYXRlX2Rlbl8sIHRhcmdldF9iaXRyYXRlXywgbnVtX2ZyYW1lc18sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGFyZ2V0X2xldmVsXywgaW5fZmlsZV9wYXRoX3N0cl8uY19zdHIo
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5fZmlsZV9wYXRoX3N0cl8uY19z
dHIoKSk7CiAgIHNpbXBsZV9lbmNvZGVfMi5Db21wdXRlRmlyc3RQYXNzU3RhdHMoKTsKICAgY29u
c3QgaW50IG51bV9jb2RpbmdfZnJhbWVzXzIgPSBzaW1wbGVfZW5jb2RlXzIuR2V0Q29kaW5nRnJh
bWVOdW0oKTsKICAgc2ltcGxlX2VuY29kZV8yLlN0YXJ0RW5jb2RlKCk7CkBAIC00MTgsNyArNDE1
LDcgQEAgVEVTVF9GKFNpbXBsZUVuY29kZVRlc3QsIEVuY29kZUNvbnNpc3RlbmN5U2V0RXh0ZXJu
YWxHcm91cE9mUGljdHVyZXNNYXApIHsKICAgICAvLyBUaGUgZmlyc3QgZW5jb2RlLgogICAgIFNp
bXBsZUVuY29kZSBzaW1wbGVfZW5jb2RlKHdpZHRoXywgaGVpZ2h0XywgZnJhbWVfcmF0ZV9udW1f
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lX3JhdGVfZGVuXywgdGFyZ2V0
X2JpdHJhdGVfLCBudW1fZnJhbWVzXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
YXJnZXRfbGV2ZWxfLCBpbl9maWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbl9maWxlX3BhdGhfc3RyXy5jX3N0cigpKTsKICAgICBzaW1wbGVf
ZW5jb2RlLkNvbXB1dGVGaXJzdFBhc3NTdGF0cygpOwogICAgIHNpbXBsZV9lbmNvZGUuU3RhcnRF
bmNvZGUoKTsKIApAQCAtNDUwLDcgKzQ0Nyw3IEBAIFRFU1RfRihTaW1wbGVFbmNvZGVUZXN0LCBF
bmNvZGVDb25zaXN0ZW5jeVNldEV4dGVybmFsR3JvdXBPZlBpY3R1cmVzTWFwKSB7CiAgICAgLy8g
VGhlIGV4dGVybmFsIGFyZnMgYXJlIHRoZSBzYW1lIGFzIHRoZSBmaXJzdCBlbmNvZGUuCiAgICAg
U2ltcGxlRW5jb2RlIHNpbXBsZV9lbmNvZGUod2lkdGhfLCBoZWlnaHRfLCBmcmFtZV9yYXRlX251
bV8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVfcmF0ZV9kZW5fLCB0YXJn
ZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRhcmdldF9sZXZlbF8sIGluX2ZpbGVfcGF0aF9zdHJfLmNfc3RyKCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluX2ZpbGVfcGF0aF9zdHJfLmNfc3RyKCkpOwogICAgIHNpbXBs
ZV9lbmNvZGUuQ29tcHV0ZUZpcnN0UGFzc1N0YXRzKCk7CiAgICAgc2ltcGxlX2VuY29kZS5TZXRF
eHRlcm5hbEdyb3VwT2ZQaWN0dXJlc01hcChnb3BfbWFwLmRhdGEoKSwgZ29wX21hcC5zaXplKCkp
OwogICAgIGNvbnN0IGludCBudW1fY29kaW5nX2ZyYW1lcyA9IHNpbXBsZV9lbmNvZGUuR2V0Q29k
aW5nRnJhbWVOdW0oKTsKQEAgLTQ3Miw3ICs0NjksNyBAQCBURVNUX0YoU2ltcGxlRW5jb2RlVGVz
dCwgRW5jb2RlQ29uc2lzdGVuY3lTZXRFeHRlcm5hbEdyb3VwT2ZQaWN0dXJlc01hcCkgewogCiBU
RVNUX0YoU2ltcGxlRW5jb2RlVGVzdCwgU2V0RXh0ZXJuYWxHcm91cE9mUGljdHVyZXNNYXApIHsK
ICAgU2ltcGxlRW5jb2RlIHNpbXBsZV9lbmNvZGUod2lkdGhfLCBoZWlnaHRfLCBmcmFtZV9yYXRl
X251bV8sIGZyYW1lX3JhdGVfZGVuXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFy
Z2V0X2JpdHJhdGVfLCBudW1fZnJhbWVzXywgdGFyZ2V0X2xldmVsXywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGFyZ2V0X2JpdHJhdGVfLCBudW1fZnJhbWVzXywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW5fZmlsZV9wYXRoX3N0cl8uY19zdHIoKSk7CiAgIHNpbXBsZV9l
bmNvZGUuQ29tcHV0ZUZpcnN0UGFzc1N0YXRzKCk7CiAKQEAgLTU0Miw3ICs1MzksNyBAQCBURVNU
X0YoU2ltcGxlRW5jb2RlVGVzdCwgR2V0RW5jb2RlRnJhbWVJbmZvKSB7CiAgIC8vIE1ha2VzIHN1
cmUgdGhhdCB0aGUgZW5jb2RlX2ZyYW1lX2luZm8gb2J0YWluZWQgZnJvbSBHZXRFbmNvZGVGcmFt
ZUluZm8oKQogICAvLyBtYXRjaGVzIHRoZSBjb3VudGVycGFydCBpbiBlbmNvZGVfZnJhbWVfcmVz
dWx0IG9idGFpbmVkIGZyb20gRW5jb2RlRnJhbWUoKQogICBTaW1wbGVFbmNvZGUgc2ltcGxlX2Vu
Y29kZSh3aWR0aF8sIGhlaWdodF8sIGZyYW1lX3JhdGVfbnVtXywgZnJhbWVfcmF0ZV9kZW5fLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNf
LCB0YXJnZXRfbGV2ZWxfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfYml0
cmF0ZV8sIG51bV9mcmFtZXNfLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbl9maWxl
X3BhdGhfc3RyXy5jX3N0cigpKTsKICAgc2ltcGxlX2VuY29kZS5Db21wdXRlRmlyc3RQYXNzU3Rh
dHMoKTsKICAgY29uc3QgaW50IG51bV9jb2RpbmdfZnJhbWVzID0gc2ltcGxlX2VuY29kZS5HZXRD
b2RpbmdGcmFtZU51bSgpOwpAQCAtNTU5LDcgKzU1Niw3IEBAIFRFU1RfRihTaW1wbGVFbmNvZGVU
ZXN0LCBHZXRFbmNvZGVGcmFtZUluZm8pIHsKIAogVEVTVF9GKFNpbXBsZUVuY29kZVRlc3QsIEdl
dEZyYW1lUGl4ZWxDb3VudCkgewogICBTaW1wbGVFbmNvZGUgc2ltcGxlX2VuY29kZSh3aWR0aF8s
IGhlaWdodF8sIGZyYW1lX3JhdGVfbnVtXywgZnJhbWVfcmF0ZV9kZW5fLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0YXJnZXRfYml0cmF0ZV8sIG51bV9mcmFtZXNfLCB0YXJnZXRfbGV2
ZWxfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfYml0cmF0ZV8sIG51bV9m
cmFtZXNfLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbl9maWxlX3BhdGhfc3RyXy5j
X3N0cigpKTsKICAgRVhQRUNUX0VRKHNpbXBsZV9lbmNvZGUuR2V0RnJhbWVQaXhlbENvdW50KCks
CiAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1aW50NjRfdD4od2lkdGhfICogaGVpZ2h0XyAqIDMg
LyAyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc3VtX3NxdWFyZXNfdGVzdC5jYyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC9zdW1fc3F1YXJlc190ZXN0LmNjCmluZGV4IDVhYmI0NjRkYzBkMS4u
ZGY2ZGE4NDAzNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc3VtX3NxdWFyZXNfdGVz
dC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc3VtX3NxdWFyZXNfdGVzdC5jYwpAQCAtMzMsMTMg
KzMzLDEzIEBAIHR5cGVkZWYgc3RkOjp0dXBsZTxTU0kxNkZ1bmMsIFNTSTE2RnVuYz4gU3VtU3F1
YXJlc1BhcmFtOwogCiBjbGFzcyBTdW1TcXVhcmVzVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRl
c3RXaXRoUGFyYW08U3VtU3F1YXJlc1BhcmFtPiB7CiAgcHVibGljOgotICB+U3VtU3F1YXJlc1Rl
c3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZp
cnR1YWwgflN1bVNxdWFyZXNUZXN0KCkge30KKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAg
IHJlZl9mdW5jXyA9IEdFVF9QQVJBTSgwKTsKICAgICB0c3RfZnVuY18gPSBHRVRfUEFSQU0oMSk7
CiAgIH0KIAotICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGUgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJT
eXN0ZW1TdGF0ZSgpOyB9CisgIHZpcnR1YWwgdm9pZCBUZWFyRG93bigpIHsgbGlidnB4X3Rlc3Q6
OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQogCiAgcHJvdGVjdGVkOgogICBTU0kxNkZ1bmMgcmVmX2Z1
bmNfOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3N1cGVyZnJhbWVfdGVzdC5jYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC9zdXBlcmZyYW1lX3Rlc3QuY2MKaW5kZXggNGMzYWExNjI1YWY2Li5hNWM5
MmU5MTQ3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9zdXBlcmZyYW1lX3Rlc3QuY2MK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L3N1cGVyZnJhbWVfdGVzdC5jYwpAQCAtMjgsOSArMjgsOSBA
QCBjbGFzcyBTdXBlcmZyYW1lVGVzdAogIHByb3RlY3RlZDoKICAgU3VwZXJmcmFtZVRlc3QoKQog
ICAgICAgOiBFbmNvZGVyVGVzdChHRVRfUEFSQU0oMCkpLCBtb2RpZmllZF9idWZfKG51bGxwdHIp
LCBsYXN0X3NmX3B0c18oMCkge30KLSAgflN1cGVyZnJhbWVUZXN0KCkgb3ZlcnJpZGUgPSBkZWZh
dWx0OworICB2aXJ0dWFsIH5TdXBlcmZyYW1lVGVzdCgpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92
ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxpemVDb25maWco
KTsKICAgICBjb25zdCBTdXBlcmZyYW1lVGVzdFBhcmFtIGlucHV0ID0gR0VUX1BBUkFNKDEpOwog
ICAgIGNvbnN0IGxpYnZweF90ZXN0OjpUZXN0TW9kZSBtb2RlID0gc3RkOjpnZXQ8a1Rlc3RNb2Rl
PihpbnB1dCk7CkBAIC0zOSwxNyArMzksMTcgQEAgY2xhc3MgU3VwZXJmcmFtZVRlc3QKICAgICBz
Zl9jb3VudF9tYXhfID0gSU5UX01BWDsKICAgfQogCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlk
ZSB7IGRlbGV0ZVtdIG1vZGlmaWVkX2J1Zl87IH0KKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkg
eyBkZWxldGVbXSBtb2RpZmllZF9idWZfOyB9CiAKLSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2so
bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2
b2lkIFByZUVuY29kZUZyYW1lSG9vayhsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnZweF90ZXN0OjpFbmNvZGVyICpl
bmNvZGVyKSB7CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsKICAgICAgIGVuY29kZXIt
PkNvbnRyb2woVlA4RV9TRVRfRU5BQkxFQVVUT0FMVFJFRiwgMSk7CiAgICAgfQogICB9CiAKLSAg
Y29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpNdXRhdGVFbmNvZGVyT3V0cHV0SG9vaygKLSAgICAg
IGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgY29u
c3QgdnB4X2NvZGVjX2N4X3BrdF90ICpNdXRhdGVFbmNvZGVyT3V0cHV0SG9vaygKKyAgICAgIGNv
bnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSB7CiAgICAgaWYgKHBrdC0+a2luZCAhPSBWUFhf
Q09ERUNfQ1hfRlJBTUVfUEtUKSByZXR1cm4gcGt0OwogCiAgICAgY29uc3QgdWludDhfdCAqYnVm
ZmVyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90ICo+KHBrdC0+ZGF0YS5mcmFtZS5idWYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3N2Y19kYXRhcmF0ZV90ZXN0LmNjIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L3N2Y19kYXRhcmF0ZV90ZXN0LmNjCmluZGV4IGFmZjRhY2U4NDNkYi4uMGE3ZDAw
MzJjMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc3ZjX2RhdGFyYXRlX3Rlc3QuY2MK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L3N2Y19kYXRhcmF0ZV90ZXN0LmNjCkBAIC00Myw3ICs0Myw3
IEBAIGNsYXNzIERhdGFyYXRlT25lUGFzc0NiclN2YyA6IHB1YmxpYyBPbmVQYXNzQ2JyU3ZjIHsK
ICAgfQogCiAgcHJvdGVjdGVkOgotICB+RGF0YXJhdGVPbmVQYXNzQ2JyU3ZjKCkgb3ZlcnJpZGUg
PSBkZWZhdWx0OworICB2aXJ0dWFsIH5EYXRhcmF0ZU9uZVBhc3NDYnJTdmMoKSB7fQogCiAgIHZp
cnR1YWwgdm9pZCBSZXNldE1vZGVsKCkgewogICAgIGxhc3RfcHRzXyA9IDA7CkBAIC04NCwxOCAr
ODQsMTYgQEAgY2xhc3MgRGF0YXJhdGVPbmVQYXNzQ2JyU3ZjIDogcHVibGljIE9uZVBhc3NDYnJT
dmMgewogICAgICAgcHJldl9mcmFtZV93aWR0aFtpXSA9IDMyMDsKICAgICAgIHByZXZfZnJhbWVf
aGVpZ2h0W2ldID0gMjQwOwogICAgIH0KLSAgICBrc3ZjX2ZsZXhfbm91cGRfdGxlbmhfID0gZmFs
c2U7CiAgIH0KLSAgdm9pZCBCZWdpblBhc3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgb3Zl
cnJpZGUge30KKyAgdmlydHVhbCB2b2lkIEJlZ2luUGFzc0hvb2sodW5zaWduZWQgaW50IC8qcGFz
cyovKSB7fQogCiAgIC8vIEV4YW1wbGUgcGF0dGVybiBmb3Igc3BhdGlhbCBsYXllcnMgYW5kIDIg
dGVtcG9yYWwgbGF5ZXJzIHVzZWQgaW4gdGhlCiAgIC8vIGJ5cGFzcy9mbGV4aWJsZSBtb2RlLiBU
aGUgcGF0dGVybiBjb3JyZXNwb25kcyB0byB0aGUgcGF0dGVybgogICAvLyBWUDlFX1RFTVBPUkFM
X0xBWUVSSU5HX01PREVfMDEwMSAodGVtcG9yYWxfbGF5ZXJpbmdfbW9kZSA9PSAyKSB1c2VkIGlu
CiAgIC8vIG5vbi1mbGV4aWJsZSBtb2RlLCBleGNlcHQgdGhhdCB3ZSBkaXNhYmxlIGludGVyLWxh
eWVyIHByZWRpY3Rpb24uCi0gIHZvaWQgc2V0X2ZyYW1lX2ZsYWdzX2J5cGFzc19tb2RlKGludCB0
bCwgaW50IG51bV9zcGF0aWFsX2xheWVycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGlzX2tleV9mcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdnB4X3N2Y19yZWZfZnJhbWVfY29uZmlnX3QgKnJlZl9mcmFtZV9jb25maWcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBub3VwZGF0ZV90bGVuaCkgeworICB2b2lk
IHNldF9mcmFtZV9mbGFnc19ieXBhc3NfbW9kZSgKKyAgICAgIGludCB0bCwgaW50IG51bV9zcGF0
aWFsX2xheWVycywgaW50IGlzX2tleV9mcmFtZSwKKyAgICAgIHZweF9zdmNfcmVmX2ZyYW1lX2Nv
bmZpZ190ICpyZWZfZnJhbWVfY29uZmlnKSB7CiAgICAgZm9yIChpbnQgc2wgPSAwOyBzbCA8IG51
bV9zcGF0aWFsX2xheWVyczsgKytzbCkKICAgICAgIHJlZl9mcmFtZV9jb25maWctPnVwZGF0ZV9i
dWZmZXJfc2xvdFtzbF0gPSAwOwogCkBAIC0xNTMsMTIgKzE1MSw5IEBAIGNsYXNzIERhdGFyYXRl
T25lUGFzc0NiclN2YyA6IHB1YmxpYyBPbmVQYXNzQ2JyU3ZjIHsKICAgICAgICAgICByZWZfZnJh
bWVfY29uZmlnLT5yZWZlcmVuY2VfbGFzdFtzbF0gPSAxOwogICAgICAgICAgIHJlZl9mcmFtZV9j
b25maWctPnJlZmVyZW5jZV9nb2xkZW5bc2xdID0gMDsKICAgICAgICAgICByZWZfZnJhbWVfY29u
ZmlnLT5yZWZlcmVuY2VfYWx0X3JlZltzbF0gPSAwOwotICAgICAgICAgIC8vIE5vbiByZWZlcmVu
Y2UgZnJhbWUgb24gdG9wIHRlbXBvcmFsIHRvcCBzcGF0aWFsLgotICAgICAgICAgIHJlZl9mcmFt
ZV9jb25maWctPnVwZGF0ZV9idWZmZXJfc2xvdFtzbF0gPSAwOworICAgICAgICAgIHJlZl9mcmFt
ZV9jb25maWctPnVwZGF0ZV9idWZmZXJfc2xvdFtzbF0gfD0KKyAgICAgICAgICAgICAgMSA8PCBy
ZWZfZnJhbWVfY29uZmlnLT5hbHRfZmJfaWR4W3NsXTsKICAgICAgICAgfQotICAgICAgICAvLyBG
b3JjZSBubyB1cGRhdGUgb24gYWxsIHNwYXRpYWwgbGF5ZXJzIGZvciB0ZW1wb3JhbCBlbmhhbmNl
bWVudCBsYXllcgotICAgICAgICAvLyBmcmFtZXMuCi0gICAgICAgIGlmIChub3VwZGF0ZV90bGVu
aCkgcmVmX2ZyYW1lX2NvbmZpZy0+dXBkYXRlX2J1ZmZlcl9zbG90W3NsXSA9IDA7CiAgICAgICB9
CiAgICAgfQogICB9CkBAIC0xNzksOCArMTc0LDggQEAgY2xhc3MgRGF0YXJhdGVPbmVQYXNzQ2Jy
U3ZjIDogcHVibGljIE9uZVBhc3NDYnJTdmMgewogICAgICAgfQogICB9CiAKLSAgdm9pZCBQcmVF
bmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVy
cmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6
VmlkZW9Tb3VyY2UgKnZpZGVvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6
bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBQcmVFbmNvZGVGcmFtZUhvb2tT
ZXR1cCh2aWRlbywgZW5jb2Rlcik7CiAKICAgICBpZiAodmlkZW8tPmZyYW1lKCkgPT0gMCkgewpA
QCAtMjQ5LDIyICsyNDQsNiBAQCBjbGFzcyBEYXRhcmF0ZU9uZVBhc3NDYnJTdmMgOiBwdWJsaWMg
T25lUGFzc0NiclN2YyB7CiAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGtzdmNfZmxleF9ub3Vw
ZF90bGVuaF8pIHsKLSAgICAgIHZweF9zdmNfbGF5ZXJfaWRfdCBsYXllcl9pZDsKLSAgICAgIGxh
eWVyX2lkLnNwYXRpYWxfbGF5ZXJfaWQgPSAwOwotICAgICAgbGF5ZXJfaWQudGVtcG9yYWxfbGF5
ZXJfaWQgPSAodmlkZW8tPmZyYW1lKCkgJSAyICE9IDApOwotICAgICAgdGVtcG9yYWxfbGF5ZXJf
aWRfID0gbGF5ZXJfaWQudGVtcG9yYWxfbGF5ZXJfaWQ7Ci0gICAgICBmb3IgKGludCBpID0gMDsg
aSA8IG51bWJlcl9zcGF0aWFsX2xheWVyc187IGkrKykgewotICAgICAgICBsYXllcl9pZC50ZW1w
b3JhbF9sYXllcl9pZF9wZXJfc3BhdGlhbFtpXSA9IHRlbXBvcmFsX2xheWVyX2lkXzsKLSAgICAg
ICAgcmVmX2ZyYW1lX2NvbmZpZ18uZHVyYXRpb25baV0gPSAxOwotICAgICAgfQotICAgICAgZW5j
b2Rlci0+Q29udHJvbChWUDlFX1NFVF9TVkNfTEFZRVJfSUQsICZsYXllcl9pZCk7Ci0gICAgICBz
ZXRfZnJhbWVfZmxhZ3NfYnlwYXNzX21vZGUobGF5ZXJfaWQudGVtcG9yYWxfbGF5ZXJfaWQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyX3NwYXRpYWxfbGF5ZXJzXywg
MCwgJnJlZl9mcmFtZV9jb25maWdfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDEpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9TVkNfUkVGX0ZSQU1FX0NPTkZJ
RywgJnJlZl9mcmFtZV9jb25maWdfKTsKLSAgICB9Ci0KICAgICBpZiAodXBkYXRlX3BhdHRlcm5f
ICYmIHZpZGVvLT5mcmFtZSgpID49IDEwMCkgewogICAgICAgdnB4X3N2Y19sYXllcl9pZF90IGxh
eWVyX2lkOwogICAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDEwMCkgewpAQCAtMjc1LDE1ICsy
NTQsMTIgQEAgY2xhc3MgRGF0YXJhdGVPbmVQYXNzQ2JyU3ZjIDogcHVibGljIE9uZVBhc3NDYnJT
dmMgewogICAgICAgbGF5ZXJfaWQuc3BhdGlhbF9sYXllcl9pZCA9IDA7CiAgICAgICBsYXllcl9p
ZC50ZW1wb3JhbF9sYXllcl9pZCA9ICh2aWRlby0+ZnJhbWUoKSAlIDIgIT0gMCk7CiAgICAgICB0
ZW1wb3JhbF9sYXllcl9pZF8gPSBsYXllcl9pZC50ZW1wb3JhbF9sYXllcl9pZDsKLSAgICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgbnVtYmVyX3NwYXRpYWxfbGF5ZXJzXzsgaSsrKSB7CisgICAgICBm
b3IgKGludCBpID0gMDsgaSA8IG51bWJlcl9zcGF0aWFsX2xheWVyc187IGkrKykKICAgICAgICAg
bGF5ZXJfaWQudGVtcG9yYWxfbGF5ZXJfaWRfcGVyX3NwYXRpYWxbaV0gPSB0ZW1wb3JhbF9sYXll
cl9pZF87Ci0gICAgICAgIHJlZl9mcmFtZV9jb25maWdfLmR1cmF0aW9uW2ldID0gMTsKLSAgICAg
IH0KICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfU1ZDX0xBWUVSX0lELCAmbGF5ZXJf
aWQpOwogICAgICAgc2V0X2ZyYW1lX2ZsYWdzX2J5cGFzc19tb2RlKGxheWVyX2lkLnRlbXBvcmFs
X2xheWVyX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlcl9zcGF0
aWFsX2xheWVyc18sIDAsICZyZWZfZnJhbWVfY29uZmlnXywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAwKTsKLSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfU1ZDX1JF
Rl9GUkFNRV9DT05GSUcsICZyZWZfZnJhbWVfY29uZmlnXyk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbnVtYmVyX3NwYXRpYWxfbGF5ZXJzXywgMCwgJnJlZl9mcmFtZV9jb25m
aWcpOworICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9TVkNfUkVGX0ZSQU1FX0NPTkZJ
RywgJnJlZl9mcmFtZV9jb25maWcpOwogICAgIH0KIAogICAgIGlmIChjaGFuZ2VfYml0cmF0ZV8g
JiYgdmlkZW8tPmZyYW1lKCkgPT0gMjAwKSB7CkBAIC00NjgsNyArNDQ0LDcgQEAgY2xhc3MgRGF0
YXJhdGVPbmVQYXNzQ2JyU3ZjIDogcHVibGljIE9uZVBhc3NDYnJTdmMgewogICAgIHJldHVybiBW
UFhfQ09ERUNfT0s7CiAgIH0KIAotICB2b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2cHhfY29kZWNf
Y3hfcGt0X3QgKnBrdCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgRnJhbWVQa3RIb29rKGNv
bnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSB7CiAgICAgdWludDMyX3Qgc2l6ZXNbOF0gPSB7
IDAgfTsKICAgICB1aW50MzJfdCBzaXplc19wYXJzZWRbOF0gPSB7IDAgfTsKICAgICBpbnQgY291
bnQgPSAwOwpAQCAtNTQ4LDE2ICs1MjQsMTMgQEAgY2xhc3MgRGF0YXJhdGVPbmVQYXNzQ2JyU3Zj
IDogcHVibGljIE9uZVBhc3NDYnJTdmMgewogICAgICAgfQogCiAgICAgICBpZiAoIXNpbmdsZV9s
YXllcl9yZXNpemVfKSB7Ci0gICAgICAgIHVuc2lnbmVkIGludCBzY2FsZWRfd2lkdGggPSB0b3Bf
c2xfd2lkdGhfICoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2Y19wYXJh
bXNfLnNjYWxpbmdfZmFjdG9yX251bVtzbF0gLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3ZjX3BhcmFtc18uc2NhbGluZ19mYWN0b3JfZGVuW3NsXTsKLSAgICAgICAgaWYg
KHNjYWxlZF93aWR0aCAlIDIgIT0gMCkgc2NhbGVkX3dpZHRoICs9IDE7Ci0gICAgICAgIEFTU0VS
VF9FUShwa3QtPmRhdGEuZnJhbWUud2lkdGhbc2xdLCBzY2FsZWRfd2lkdGgpOwotICAgICAgICB1
bnNpZ25lZCBpbnQgc2NhbGVkX2hlaWdodCA9IHRvcF9zbF9oZWlnaHRfICoKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdmNfcGFyYW1zXy5zY2FsaW5nX2ZhY3Rvcl9udW1b
c2xdIC8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmNfcGFyYW1zXy5z
Y2FsaW5nX2ZhY3Rvcl9kZW5bc2xdOwotICAgICAgICBpZiAoc2NhbGVkX2hlaWdodCAlIDIgIT0g
MCkgc2NhbGVkX2hlaWdodCArPSAxOwotICAgICAgICBBU1NFUlRfRVEocGt0LT5kYXRhLmZyYW1l
LmhlaWdodFtzbF0sIHNjYWxlZF9oZWlnaHQpOworICAgICAgICBBU1NFUlRfRVEocGt0LT5kYXRh
LmZyYW1lLndpZHRoW3NsXSwKKyAgICAgICAgICAgICAgICAgIHRvcF9zbF93aWR0aF8gKiBzdmNf
cGFyYW1zXy5zY2FsaW5nX2ZhY3Rvcl9udW1bc2xdIC8KKyAgICAgICAgICAgICAgICAgICAgICBz
dmNfcGFyYW1zXy5zY2FsaW5nX2ZhY3Rvcl9kZW5bc2xdKTsKKworICAgICAgICBBU1NFUlRfRVEo
cGt0LT5kYXRhLmZyYW1lLmhlaWdodFtzbF0sCisgICAgICAgICAgICAgICAgICB0b3Bfc2xfaGVp
Z2h0XyAqIHN2Y19wYXJhbXNfLnNjYWxpbmdfZmFjdG9yX251bVtzbF0gLworICAgICAgICAgICAg
ICAgICAgICAgIHN2Y19wYXJhbXNfLnNjYWxpbmdfZmFjdG9yX2RlbltzbF0pOwogICAgICAgfSBl
bHNlIGlmIChzdXBlcmZyYW1lX2NvdW50XyA+IDApIHsKICAgICAgICAgaWYgKHBrdC0+ZGF0YS5m
cmFtZS53aWR0aFtzbF0gPCBwcmV2X2ZyYW1lX3dpZHRoW3NsXSAmJgogICAgICAgICAgICAgcGt0
LT5kYXRhLmZyYW1lLmhlaWdodFtzbF0gPCBwcmV2X2ZyYW1lX2hlaWdodFtzbF0pCkBAIC01NzEs
NyArNTQ0LDcgQEAgY2xhc3MgRGF0YXJhdGVPbmVQYXNzQ2JyU3ZjIDogcHVibGljIE9uZVBhc3ND
YnJTdmMgewogICAgIH0KICAgfQogCi0gIHZvaWQgRW5kUGFzc0hvb2soKSBvdmVycmlkZSB7Cisg
IHZpcnR1YWwgdm9pZCBFbmRQYXNzSG9vayh2b2lkKSB7CiAgICAgaWYgKGNoYW5nZV9iaXRyYXRl
XykgbGFzdF9wdHNfID0gbGFzdF9wdHNfIC0gbGFzdF9wdHNfcmVmXzsKICAgICBkdXJhdGlvbl8g
PSAobGFzdF9wdHNfICsgMSkgKiB0aW1lYmFzZV87CiAgICAgZm9yIChpbnQgc2wgPSAwOyBzbCA8
IG51bWJlcl9zcGF0aWFsX2xheWVyc187ICsrc2wpIHsKQEAgLTU4MywxNSArNTU2LDEwIEBAIGNs
YXNzIERhdGFyYXRlT25lUGFzc0NiclN2YyA6IHB1YmxpYyBPbmVQYXNzQ2JyU3ZjIHsKICAgICB9
CiAgIH0KIAotICB2b2lkIE1pc21hdGNoSG9vayhjb25zdCB2cHhfaW1hZ2VfdCAqaW1nMSwgY29u
c3QgdnB4X2ltYWdlX3QgKmltZzIpIG92ZXJyaWRlIHsKLSAgICAvLyBUT0RPKG1hcnBhbik6IExv
b2sgaW50byB3aHkgYW4gYXNzZXJ0IGlzIHRyaWdnZXJlZCBpbiBjb21wdXRlX3BzbnIKLSAgICAv
LyBmb3IgbWlzbWF0Y2ggZnJhbWVzIGZvciB0aGUgc3BlY2lhbCB0ZXN0IGNhc2U6IGtzdmNfZmxl
eF9ub3VwZF90bGVuaC4KLSAgICAvLyBIYXMgdG8gZG8gd2l0aCBkcm9wcGVkIGZyYW1lcyBpbiBi
eXBhc3MvZmxleGlibGUgc3ZjIG1vZGUuCi0gICAgaWYgKCFrc3ZjX2ZsZXhfbm91cGRfdGxlbmhf
KSB7Ci0gICAgICBkb3VibGUgbWlzbWF0Y2hfcHNuciA9IGNvbXB1dGVfcHNucihpbWcxLCBpbWcy
KTsKLSAgICAgIG1pc21hdGNoX3BzbnJfICs9IG1pc21hdGNoX3BzbnI7Ci0gICAgICArK21pc21h
dGNoX25mcmFtZXNfOwotICAgIH0KKyAgdmlydHVhbCB2b2lkIE1pc21hdGNoSG9vayhjb25zdCB2
cHhfaW1hZ2VfdCAqaW1nMSwgY29uc3QgdnB4X2ltYWdlX3QgKmltZzIpIHsKKyAgICBkb3VibGUg
bWlzbWF0Y2hfcHNuciA9IGNvbXB1dGVfcHNucihpbWcxLCBpbWcyKTsKKyAgICBtaXNtYXRjaF9w
c25yXyArPSBtaXNtYXRjaF9wc25yOworICAgICsrbWlzbWF0Y2hfbmZyYW1lc187CiAgIH0KIAog
ICB1bnNpZ25lZCBpbnQgR2V0TWlzbWF0Y2hGcmFtZXMoKSB7IHJldHVybiBtaXNtYXRjaF9uZnJh
bWVzXzsgfQpAQCAtNjExLDcgKzU3OSw3IEBAIGNsYXNzIERhdGFyYXRlT25lUGFzc0NiclN2YyA6
IHB1YmxpYyBPbmVQYXNzQ2JyU3ZjIHsKICAgYm9vbCBzaW5nbGVfbGF5ZXJfcmVzaXplXzsKICAg
dW5zaWduZWQgaW50IHRvcF9zbF93aWR0aF87CiAgIHVuc2lnbmVkIGludCB0b3Bfc2xfaGVpZ2h0
XzsKLSAgdnB4X3N2Y19yZWZfZnJhbWVfY29uZmlnX3QgcmVmX2ZyYW1lX2NvbmZpZ187CisgIHZw
eF9zdmNfcmVmX2ZyYW1lX2NvbmZpZ190IHJlZl9mcmFtZV9jb25maWc7CiAgIGludCB1cGRhdGVf
cGF0dGVybl87CiAgIGJvb2wgY2hhbmdlX2JpdHJhdGVfOwogICB2cHhfY29kZWNfcHRzX3QgbGFz
dF9wdHNfcmVmXzsKQEAgLTYzNiwxMCArNjA0LDkgQEAgY2xhc3MgRGF0YXJhdGVPbmVQYXNzQ2Jy
U3ZjIDogcHVibGljIE9uZVBhc3NDYnJTdmMgewogICBpbnQgbnVtX3Jlc2l6ZV9kb3duXzsKICAg
dW5zaWduZWQgaW50IHByZXZfZnJhbWVfd2lkdGhbVlBYX01BWF9MQVlFUlNdOwogICB1bnNpZ25l
ZCBpbnQgcHJldl9mcmFtZV9oZWlnaHRbVlBYX01BWF9MQVlFUlNdOwotICBib29sIGtzdmNfZmxl
eF9ub3VwZF90bGVuaF87CiAKICBwcml2YXRlOgotICB2b2lkIFNldENvbmZpZyhjb25zdCBpbnQg
bnVtX3RlbXBvcmFsX2xheWVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRDb25maWco
Y29uc3QgaW50IG51bV90ZW1wb3JhbF9sYXllcikgewogICAgIGNmZ18ucmNfZW5kX3VzYWdlID0g
VlBYX0NCUjsKICAgICBjZmdfLmdfbGFnX2luX2ZyYW1lcyA9IDA7CiAgICAgY2ZnXy5nX2Vycm9y
X3Jlc2lsaWVudCA9IDE7CkBAIC02NzAsMTAgKzYzNywxMCBAQCBjbGFzcyBEYXRhcmF0ZU9uZVBh
c3NDYnJTdmNTaW5nbGVCUgogICBEYXRhcmF0ZU9uZVBhc3NDYnJTdmNTaW5nbGVCUigpIDogRGF0
YXJhdGVPbmVQYXNzQ2JyU3ZjKEdFVF9QQVJBTSgwKSkgewogICAgIG1lbXNldCgmc3ZjX3BhcmFt
c18sIDAsIHNpemVvZihzdmNfcGFyYW1zXykpOwogICB9Ci0gIH5EYXRhcmF0ZU9uZVBhc3NDYnJT
dmNTaW5nbGVCUigpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+RGF0YXJhdGVPbmVQ
YXNzQ2JyU3ZjU2luZ2xlQlIoKSB7fQogCiAgcHJvdGVjdGVkOgotICB2b2lkIFNldFVwKCkgb3Zl
cnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygp
OwogICAgIFNldE1vZGUoOjpsaWJ2cHhfdGVzdDo6a1JlYWxUaW1lKTsKICAgICBzcGVlZF9zZXR0
aW5nXyA9IEdFVF9QQVJBTSgxKTsKQEAgLTY4MSwxNTIgKzY0OCw2IEBAIGNsYXNzIERhdGFyYXRl
T25lUGFzc0NiclN2Y1NpbmdsZUJSCiAgIH0KIH07CiAKLS8vIENoZWNrIGJhc2ljIHJhdGUgdGFy
Z2V0aW5nIGZvciAxIHBhc3MgQ0JSIFNWQzogMyBzcGF0aWFsIGxheWVycyBhbmQgMwotLy8gdGVt
cG9yYWwgbGF5ZXJzLCBmb3IgNDo0OjQgUHJvZmlsZSAxLgotVEVTVF9QKERhdGFyYXRlT25lUGFz
c0NiclN2Y1NpbmdsZUJSLCBPbmVQYXNzQ2JyU3ZjM1NMM1RMNDQ0UHJvZmlsZTEpIHsKLSAgU2V0
U3ZjQ29uZmlnKDMsIDMpOwotICA6OmxpYnZweF90ZXN0OjpZNG1WaWRlb1NvdXJjZSB2aWRlbygi
cnVzaF9ob3VyXzQ0NC55NG0iLCAwLCAxNDApOwotICBjZmdfLmdfcHJvZmlsZSA9IDE7Ci0gIGNm
Z18uZ19iaXRfZGVwdGggPSBWUFhfQklUU184OwotICBjZmdfLnJjX2J1Zl9pbml0aWFsX3N6ID0g
NTAwOwotICBjZmdfLnJjX2J1Zl9vcHRpbWFsX3N6ID0gNTAwOwotICBjZmdfLnJjX2J1Zl9zeiA9
IDEwMDA7Ci0gIGNmZ18ucmNfbWluX3F1YW50aXplciA9IDA7Ci0gIGNmZ18ucmNfbWF4X3F1YW50
aXplciA9IDYzOwotICBjZmdfLmdfdGhyZWFkcyA9IDE7Ci0gIGNmZ18ucmNfZHJvcGZyYW1lX3Ro
cmVzaCA9IDA7Ci0gIGNmZ18ua2ZfbWF4X2Rpc3QgPSA5OTk5OwotCi0gIHRvcF9zbF93aWR0aF8g
PSAzNTI7Ci0gIHRvcF9zbF9oZWlnaHRfID0gMjg4OwotICBjZmdfLnJjX3RhcmdldF9iaXRyYXRl
ID0gNTAwOwotICBSZXNldE1vZGVsKCk7Ci0gIEFzc2lnbkxheWVyQml0cmF0ZXMoKTsKLSAgQVNT
RVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKLSAgQ2hlY2tMYXllclJhdGVU
YXJnZXRpbmcobnVtYmVyX3NwYXRpYWxfbGF5ZXJzXywgbnVtYmVyX3RlbXBvcmFsX2xheWVyc18s
IDAuNzgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTUpOwotI2lmIENPTkZJR19WUDlf
REVDT0RFUgotICAvLyBUaGUgbm9uLXJlZmVyZW5jZSBmcmFtZXMgYXJlIGV4cGVjdGVkIHRvIGJl
IG1pc21hdGNoZWQgZnJhbWVzIGFzIHRoZQotICAvLyBlbmNvZGVyIHdpbGwgYXZvaWQgbG9vcGZp
bHRlciBvbiB0aGVzZSBmcmFtZXMuCi0gIEVYUEVDVF9FUShHZXROb25SZWZGcmFtZXMoKSwgR2V0
TWlzbWF0Y2hGcmFtZXMoKSk7Ci0jZW5kaWYKLX0KLQotLy8gQ2hlY2sgYmFzaWMgcmF0ZSB0YXJn
ZXRpbmcgZm9yIDEgcGFzcyBDQlIgU1ZDOiAyIHNwYXRpYWwgbGF5ZXJzIGFuZCAzCi0vLyB0ZW1w
b3JhbCBsYXllcnMsIGZvciA0OjI6MiBQcm9maWxlIDEuCi1URVNUX1AoRGF0YXJhdGVPbmVQYXNz
Q2JyU3ZjU2luZ2xlQlIsIE9uZVBhc3NDYnJTdmMyU0wzVEw0MjJQcm9maWxlMSkgewotICBTZXRT
dmNDb25maWcoMiwgMyk7Ci0gIDo6bGlidnB4X3Rlc3Q6Olk0bVZpZGVvU291cmNlIHZpZGVvKCJw
YXJrX2pveV85MHBfOF80MjIueTRtIiwgMCwgMjApOwotICBjZmdfLmdfcHJvZmlsZSA9IDE7Ci0g
IGNmZ18uZ19iaXRfZGVwdGggPSBWUFhfQklUU184OwotICBjZmdfLnJjX2J1Zl9pbml0aWFsX3N6
ID0gNTAwOwotICBjZmdfLnJjX2J1Zl9vcHRpbWFsX3N6ID0gNTAwOwotICBjZmdfLnJjX2J1Zl9z
eiA9IDEwMDA7Ci0gIGNmZ18ucmNfbWluX3F1YW50aXplciA9IDA7Ci0gIGNmZ18ucmNfbWF4X3F1
YW50aXplciA9IDYzOwotICBjZmdfLmdfdGhyZWFkcyA9IDE7Ci0gIGNmZ18ucmNfZHJvcGZyYW1l
X3RocmVzaCA9IDA7Ci0gIGNmZ18ua2ZfbWF4X2Rpc3QgPSA5OTk5OwotCi0gIHRvcF9zbF93aWR0
aF8gPSAxNjA7Ci0gIHRvcF9zbF9oZWlnaHRfID0gOTA7Ci0gIGNmZ18ucmNfdGFyZ2V0X2JpdHJh
dGUgPSA1MDA7Ci0gIFJlc2V0TW9kZWwoKTsKLSAgQXNzaWduTGF5ZXJCaXRyYXRlcygpOwotICBB
U1NFUlRfTk9fRkFUQUxfRkFJTFVSRShSdW5Mb29wKCZ2aWRlbykpOwotICAvLyBVc2UgbGFyZ2Ug
dW5kZXIvb3ZlciBzaG9vdCB0aHJlc2hvbGRzIGFzIHRoaXMgaXMgYSB2ZXJ5IHNob3J0IGNsaXAs
Ci0gIC8vIHNvIG5vdCBnb29kIGZvciB0ZXN0aW5nIHJhdGUtdGFyZ2V0aW5nLgotICBDaGVja0xh
eWVyUmF0ZVRhcmdldGluZyhudW1iZXJfc3BhdGlhbF9sYXllcnNfLCBudW1iZXJfdGVtcG9yYWxf
bGF5ZXJzXywgMC41LAotICAgICAgICAgICAgICAgICAgICAgICAgICAxLjcpOwotI2lmIENPTkZJ
R19WUDlfREVDT0RFUgotICAvLyBUaGUgbm9uLXJlZmVyZW5jZSBmcmFtZXMgYXJlIGV4cGVjdGVk
IHRvIGJlIG1pc21hdGNoZWQgZnJhbWVzIGFzIHRoZQotICAvLyBlbmNvZGVyIHdpbGwgYXZvaWQg
bG9vcGZpbHRlciBvbiB0aGVzZSBmcmFtZXMuCi0gIEVYUEVDVF9FUShHZXROb25SZWZGcmFtZXMo
KSwgR2V0TWlzbWF0Y2hGcmFtZXMoKSk7Ci0jZW5kaWYKLX0KLQotI2lmIENPTkZJR19WUDlfSElH
SEJJVERFUFRICi0vLyBDaGVjayBiYXNpYyByYXRlIHRhcmdldGluZyBmb3IgMSBwYXNzIENCUiBT
VkM6IDMgc3BhdGlhbCBsYXllcnMgYW5kIDMKLS8vIHRlbXBvcmFsIGxheWVycywgZm9yIFByb2Zs
ZSAyIDEwYml0LgotVEVTVF9QKERhdGFyYXRlT25lUGFzc0NiclN2Y1NpbmdsZUJSLCBPbmVQYXNz
Q2JyU3ZjM1NMM1RMMTBiaXRQcm9maWxlMikgewotICBTZXRTdmNDb25maWcoMywgMyk7Ci0gIDo6
bGlidnB4X3Rlc3Q6Olk0bVZpZGVvU291cmNlIHZpZGVvKCJwYXJrX2pveV85MHBfMTBfNDIwXzIw
Zi55NG0iLCAwLCAyMCk7Ci0gIGNmZ18uZ19wcm9maWxlID0gMjsKLSAgY2ZnXy5nX2JpdF9kZXB0
aCA9IFZQWF9CSVRTXzEwOwotICBjZmdfLmdfaW5wdXRfYml0X2RlcHRoID0gVlBYX0JJVFNfMTA7
Ci0gIGlmIChjZmdfLmdfYml0X2RlcHRoID4gOCkgaW5pdF9mbGFnc18gfD0gVlBYX0NPREVDX1VT
RV9ISUdIQklUREVQVEg7Ci0gIGNmZ18ucmNfYnVmX2luaXRpYWxfc3ogPSA1MDA7Ci0gIGNmZ18u
cmNfYnVmX29wdGltYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVmX3N6ID0gMTAwMDsKLSAgY2Zn
Xy5yY19taW5fcXVhbnRpemVyID0gMDsKLSAgY2ZnXy5yY19tYXhfcXVhbnRpemVyID0gNjM7Ci0g
IGNmZ18uZ190aHJlYWRzID0gMTsKLSAgY2ZnXy5yY19kcm9wZnJhbWVfdGhyZXNoID0gMDsKLSAg
Y2ZnXy5rZl9tYXhfZGlzdCA9IDk5OTk7Ci0KLSAgdG9wX3NsX3dpZHRoXyA9IDE2MDsKLSAgdG9w
X3NsX2hlaWdodF8gPSA5MDsKLSAgY2ZnXy5yY190YXJnZXRfYml0cmF0ZSA9IDUwMDsKLSAgUmVz
ZXRNb2RlbCgpOwotICBBc3NpZ25MYXllckJpdHJhdGVzKCk7Ci0gIEFTU0VSVF9OT19GQVRBTF9G
QUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci0gIC8vIFRPRE8obWFycGFuL2ppYW5qKTogQ29tbWVu
dCBvdXQgdGhlIHJhdGUtdGFyZ2V0IGNoZWNraW5nIGZvciBub3cKLSAgLy8gYXMgc3VwZXJmcmFt
ZSBwYXJzaW5nIHRvIGdldCBmcmFtZSBzaXplIG5lZWRzIHRvIGJlIGZpeGVkIGZvcgotICAvLyBo
aWdoIGJpdGRlcHRoLgotICAvKgotICAvLyBVc2UgbGFyZ2UgdW5kZXIvb3ZlciBzaG9vdCB0aHJl
c2hvbGRzIGFzIHRoaXMgaXMgYSB2ZXJ5IHNob3J0IGNsaXAsCi0gIC8vIHNvIG5vdCBnb29kIGZv
ciB0ZXN0aW5nIHJhdGUtdGFyZ2V0aW5nLgotICBDaGVja0xheWVyUmF0ZVRhcmdldGluZyhudW1i
ZXJfc3BhdGlhbF9sYXllcnNfLCBudW1iZXJfdGVtcG9yYWxfbGF5ZXJzXywgMC41LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAxLjcpOwotICAqLwotI2lmIENPTkZJR19WUDlfREVDT0RFUgot
ICAvLyBUaGUgbm9uLXJlZmVyZW5jZSBmcmFtZXMgYXJlIGV4cGVjdGVkIHRvIGJlIG1pc21hdGNo
ZWQgZnJhbWVzIGFzIHRoZQotICAvLyBlbmNvZGVyIHdpbGwgYXZvaWQgbG9vcGZpbHRlciBvbiB0
aGVzZSBmcmFtZXMuCi0gIEVYUEVDVF9FUShHZXROb25SZWZGcmFtZXMoKSwgR2V0TWlzbWF0Y2hG
cmFtZXMoKSk7Ci0jZW5kaWYKLX0KLQotLy8gQ2hlY2sgYmFzaWMgcmF0ZSB0YXJnZXRpbmcgZm9y
IDEgcGFzcyBDQlIgU1ZDOiAzIHNwYXRpYWwgbGF5ZXJzIGFuZCAzCi0vLyB0ZW1wb3JhbCBsYXll
cnMsIGZvciBQcm9mbGUgMiAxMmJpdC4KLVRFU1RfUChEYXRhcmF0ZU9uZVBhc3NDYnJTdmNTaW5n
bGVCUiwgT25lUGFzc0NiclN2YzNTTDNUTDEyYml0UHJvZmlsZTIpIHsKLSAgU2V0U3ZjQ29uZmln
KDMsIDMpOwotICA6OmxpYnZweF90ZXN0OjpZNG1WaWRlb1NvdXJjZSB2aWRlbygicGFya19qb3lf
OTBwXzEyXzQyMF8yMGYueTRtIiwgMCwgMjApOwotICBjZmdfLmdfcHJvZmlsZSA9IDI7Ci0gIGNm
Z18uZ19iaXRfZGVwdGggPSBWUFhfQklUU18xMjsKLSAgY2ZnXy5nX2lucHV0X2JpdF9kZXB0aCA9
IFZQWF9CSVRTXzEyOwotICBpZiAoY2ZnXy5nX2JpdF9kZXB0aCA+IDgpIGluaXRfZmxhZ3NfIHw9
IFZQWF9DT0RFQ19VU0VfSElHSEJJVERFUFRIOwotICBjZmdfLnJjX2J1Zl9pbml0aWFsX3N6ID0g
NTAwOwotICBjZmdfLnJjX2J1Zl9vcHRpbWFsX3N6ID0gNTAwOwotICBjZmdfLnJjX2J1Zl9zeiA9
IDEwMDA7Ci0gIGNmZ18ucmNfbWluX3F1YW50aXplciA9IDA7Ci0gIGNmZ18ucmNfbWF4X3F1YW50
aXplciA9IDYzOwotICBjZmdfLmdfdGhyZWFkcyA9IDE7Ci0gIGNmZ18ucmNfZHJvcGZyYW1lX3Ro
cmVzaCA9IDA7Ci0gIGNmZ18ua2ZfbWF4X2Rpc3QgPSA5OTk5OwotCi0gIHRvcF9zbF93aWR0aF8g
PSAxNjA7Ci0gIHRvcF9zbF9oZWlnaHRfID0gOTA7Ci0gIGNmZ18ucmNfdGFyZ2V0X2JpdHJhdGUg
PSA1MDA7Ci0gIFJlc2V0TW9kZWwoKTsKLSAgQXNzaWduTGF5ZXJCaXRyYXRlcygpOwotICBBU1NF
UlRfTk9fRkFUQUxfRkFJTFVSRShSdW5Mb29wKCZ2aWRlbykpOwotICAvLyBUT0RPKG1hcnBhbi9q
aWFuaik6IENvbW1lbnQgb3V0IHRoZSByYXRlLXRhcmdldCBjaGVja2luZyBmb3Igbm93Ci0gIC8v
IGFzIHN1cGVyZnJhbWUgcGFyc2luZyB0byBnZXQgZnJhbWUgc2l6ZSBuZWVkcyB0byBiZSBmaXhl
ZCBmb3IKLSAgLy8gaGlnaCBiaXRkZXB0aC4KLSAgLyoKLSAgLy8gVXNlIGxhcmdlIHVuZGVyL292
ZXIgc2hvb3QgdGhyZXNob2xkcyBhcyB0aGlzIGlzIGEgdmVyeSBzaG9ydCBjbGlwLAotICAvLyBz
byBub3QgZ29vZCBmb3IgdGVzdGluZyByYXRlLXRhcmdldGluZy4KLSAgQ2hlY2tMYXllclJhdGVU
YXJnZXRpbmcobnVtYmVyX3NwYXRpYWxfbGF5ZXJzXywgbnVtYmVyX3RlbXBvcmFsX2xheWVyc18s
IDAuNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgMS43KTsKLSAgKi8KLSNpZiBDT05GSUdf
VlA5X0RFQ09ERVIKLSAgLy8gVGhlIG5vbi1yZWZlcmVuY2UgZnJhbWVzIGFyZSBleHBlY3RlZCB0
byBiZSBtaXNtYXRjaGVkIGZyYW1lcyBhcyB0aGUKLSAgLy8gZW5jb2RlciB3aWxsIGF2b2lkIGxv
b3BmaWx0ZXIgb24gdGhlc2UgZnJhbWVzLgotICBFWFBFQ1RfRVEoR2V0Tm9uUmVmRnJhbWVzKCks
IEdldE1pc21hdGNoRnJhbWVzKCkpOwotI2VuZGlmCi19Ci0jZW5kaWYKLQogLy8gQ2hlY2sgYmFz
aWMgcmF0ZSB0YXJnZXRpbmcgZm9yIDEgcGFzcyBDQlIgU1ZDOiAyIHNwYXRpYWwgbGF5ZXJzIGFu
ZCAxCiAvLyB0ZW1wb3JhbCBsYXllciwgd2l0aCBzY3JlZW4gY29udGVudCBtb2RlIG9uIGFuZCBz
YW1lIHNwZWVkIHNldHRpbmcgZm9yIGFsbAogLy8gbGF5ZXJzLgpAQCAtOTAxLDE0ICs3MjIsMTQg
QEAgVEVTVF9QKERhdGFyYXRlT25lUGFzc0NiclN2Y1NpbmdsZUJSLCBPbmVQYXNzQ2JyU3ZjM1NM
MlRMRHluYW1pY1BhdHRlcm5DaGFuZ2UpIHsKICAgY2ZnXy5nX3RocmVhZHMgPSAxOwogICBjZmdf
LnJjX2Ryb3BmcmFtZV90aHJlc2ggPSAzMDsKICAgY2ZnXy5rZl9tYXhfZGlzdCA9IDk5OTk7Cisg
IC8vIENoYW5nZSBTVkMgcGF0dGVybiBvbiB0aGUgZmx5LgorICB1cGRhdGVfcGF0dGVybl8gPSAx
OwogICA6OmxpYnZweF90ZXN0OjpJNDIwVmlkZW9Tb3VyY2UgdmlkZW8oIm5pa2xhc182NDBfNDgw
XzMwLnl1diIsIDY0MCwgNDgwLCAzMCwgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDAsIDQwMCk7CiAgIHRvcF9zbF93aWR0aF8gPSA2NDA7CiAgIHRvcF9zbF9oZWln
aHRfID0gNDgwOwogICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gODAwOwogICBSZXNldE1vZGVs
KCk7Ci0gIC8vIENoYW5nZSBTVkMgcGF0dGVybiBvbiB0aGUgZmx5LgotICB1cGRhdGVfcGF0dGVy
bl8gPSAxOwogICBBc3NpZ25MYXllckJpdHJhdGVzKCk7CiAgIEFTU0VSVF9OT19GQVRBTF9GQUlM
VVJFKFJ1bkxvb3AoJnZpZGVvKSk7CiAgIENoZWNrTGF5ZXJSYXRlVGFyZ2V0aW5nKG51bWJlcl9z
cGF0aWFsX2xheWVyc18sIG51bWJlcl90ZW1wb3JhbF9sYXllcnNfLCAwLjc4LApAQCAtMTE2MCwx
MCArOTgxLDEwIEBAIGNsYXNzIERhdGFyYXRlT25lUGFzc0NiclN2Y011bHRpQlIKICAgRGF0YXJh
dGVPbmVQYXNzQ2JyU3ZjTXVsdGlCUigpIDogRGF0YXJhdGVPbmVQYXNzQ2JyU3ZjKEdFVF9QQVJB
TSgwKSkgewogICAgIG1lbXNldCgmc3ZjX3BhcmFtc18sIDAsIHNpemVvZihzdmNfcGFyYW1zXykp
OwogICB9Ci0gIH5EYXRhcmF0ZU9uZVBhc3NDYnJTdmNNdWx0aUJSKCkgb3ZlcnJpZGUgPSBkZWZh
dWx0OworICB2aXJ0dWFsIH5EYXRhcmF0ZU9uZVBhc3NDYnJTdmNNdWx0aUJSKCkge30KIAogIHBy
b3RlY3RlZDoKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVw
KCkgewogICAgIEluaXRpYWxpemVDb25maWcoKTsKICAgICBTZXRNb2RlKDo6bGlidnB4X3Rlc3Q6
OmtSZWFsVGltZSk7CiAgICAgc3BlZWRfc2V0dGluZ18gPSBHRVRfUEFSQU0oMSk7CkBAIC0xMjAz
LDM3ICsxMDI0LDYgQEAgVEVTVF9QKERhdGFyYXRlT25lUGFzc0NiclN2Y011bHRpQlIsIE9uZVBh
c3NDYnJTdmMyU0wzVEwpIHsKICNlbmRpZgogfQogCi0vLyBDaGVjayBiYXNpYyByYXRlIHRhcmdl
dGluZyBmb3IgMSBwYXNzIFZCUiBTVkM6IDIgc3BhdGlhbCBsYXllcnMgYW5kCi0vLyAzIHRlbXBv
cmFsIGxheWVycy4gUnVuIFZHQSBjbGlwIHdpdGggMSB0aHJlYWQuCi1URVNUX1AoRGF0YXJhdGVP
bmVQYXNzQ2JyU3ZjTXVsdGlCUiwgT25lUGFzc1ZiclN2YzJTTDNUTCkgewotICBTZXRTdmNDb25m
aWcoMiwgMyk7Ci0gIGNmZ18ucmNfYnVmX2luaXRpYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVm
X29wdGltYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVmX3N6ID0gMTAwMDsKLSAgY2ZnXy5yY19t
aW5fcXVhbnRpemVyID0gMjsKLSAgY2ZnXy5yY19tYXhfcXVhbnRpemVyID0gNTY7Ci0gIGNmZ18u
Z190aHJlYWRzID0gMTsKLSAgY2ZnXy5yY19kcm9wZnJhbWVfdGhyZXNoID0gMzA7Ci0gIGNmZ18u
a2ZfbWF4X2Rpc3QgPSA5OTk5OwotICBjZmdfLnJjX2VuZF91c2FnZSA9IFZQWF9WQlI7Ci0gIDo6
bGlidnB4X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2aWRlbygibmlrbGFzXzY0MF80ODBfMzAueXV2
IiwgNjQwLCA0ODAsIDMwLCAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMCwgNDAwKTsKLSAgdG9wX3NsX3dpZHRoXyA9IDY0MDsKLSAgdG9wX3NsX2hlaWdodF8gPSA0
ODA7Ci0gIGNvbnN0IGludCBiaXRyYXRlc1szXSA9IHsgMjAwLCA0MDAsIDYwMCB9OwotICBjZmdf
LnJjX3RhcmdldF9iaXRyYXRlID0gYml0cmF0ZXNbR0VUX1BBUkFNKDIpXTsKLSAgUmVzZXRNb2Rl
bCgpOwotICBBc3NpZ25MYXllckJpdHJhdGVzKCk7Ci0gIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJF
KFJ1bkxvb3AoJnZpZGVvKSk7Ci0gIENoZWNrTGF5ZXJSYXRlVGFyZ2V0aW5nKG51bWJlcl9zcGF0
aWFsX2xheWVyc18sIG51bWJlcl90ZW1wb3JhbF9sYXllcnNfLCAwLjcwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAxLjMpOwotI2lmIENPTkZJR19WUDlfREVDT0RFUgotICAvLyBUaGUgbm9u
LXJlZmVyZW5jZSBmcmFtZXMgYXJlIGV4cGVjdGVkIHRvIGJlIG1pc21hdGNoZWQgZnJhbWVzIGFz
IHRoZQotICAvLyBlbmNvZGVyIHdpbGwgYXZvaWQgbG9vcGZpbHRlciBvbiB0aGVzZSBmcmFtZXMu
Ci0gIEVYUEVDVF9FUShHZXROb25SZWZGcmFtZXMoKSwgR2V0TWlzbWF0Y2hGcmFtZXMoKSk7Ci0j
ZW5kaWYKLX0KLQogLy8gUGFyYW1zOiBzcGVlZCBzZXR0aW5nLCBsYXllciBmcmFtZWRyb3AgY29u
dHJvbCBhbmQgaW5kZXggZm9yIGJpdHJhdGUgYXJyYXkuCiBjbGFzcyBEYXRhcmF0ZU9uZVBhc3ND
YnJTdmNGcmFtZURyb3BNdWx0aUJSCiAgICAgOiBwdWJsaWMgRGF0YXJhdGVPbmVQYXNzQ2JyU3Zj
LApAQCAtMTI0MywxMCArMTAzMywxMCBAQCBjbGFzcyBEYXRhcmF0ZU9uZVBhc3NDYnJTdmNGcmFt
ZURyb3BNdWx0aUJSCiAgICAgICA6IERhdGFyYXRlT25lUGFzc0NiclN2YyhHRVRfUEFSQU0oMCkp
IHsKICAgICBtZW1zZXQoJnN2Y19wYXJhbXNfLCAwLCBzaXplb2Yoc3ZjX3BhcmFtc18pKTsKICAg
fQotICB+RGF0YXJhdGVPbmVQYXNzQ2JyU3ZjRnJhbWVEcm9wTXVsdGlCUigpIG92ZXJyaWRlID0g
ZGVmYXVsdDsKKyAgdmlydHVhbCB+RGF0YXJhdGVPbmVQYXNzQ2JyU3ZjRnJhbWVEcm9wTXVsdGlC
UigpIHt9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1
YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZSg6
OmxpYnZweF90ZXN0OjprUmVhbFRpbWUpOwogICAgIHNwZWVkX3NldHRpbmdfID0gR0VUX1BBUkFN
KDEpOwpAQCAtMTMxNiwzNiArMTEwNiw2IEBAIFRFU1RfUChEYXRhcmF0ZU9uZVBhc3NDYnJTdmNG
cmFtZURyb3BNdWx0aUJSLCBPbmVQYXNzQ2JyU3ZjM1NMM1RMNFRocmVhZHMpIHsKICNlbmRpZgog
fQogCi0vLyBDaGVjayBiYXNpYyByYXRlIHRhcmdldGluZyBmb3IgMSBwYXNzIENCUiBTVkM6IDMg
c3BhdGlhbCBsYXllcnMgYW5kCi0vLyAyIHRlbXBvcmFsIGxheWVycywgZm9yIEtTVkMgaW4gZmxl
eGlibGUgbW9kZSB3aXRoIG5vIHVwZGF0ZSBvZiByZWZlcmVuY2UKLS8vIGZyYW1lcyBmb3IgYWxs
IHNwYXRpYWwgbGF5ZXJzIG9uIFRMID4gMCBzdXBlcmZyYW1lcy4KLS8vIFJ1biBIRCBjbGlwIHdp
dGggNCB0aHJlYWRzLgotVEVTVF9QKERhdGFyYXRlT25lUGFzc0NiclN2Y0ZyYW1lRHJvcE11bHRp
QlIsIE9uZVBhc3NDYnJTdmMzU0wyVEw0VGhLU1ZDRmxleCkgewotICBTZXRTdmNDb25maWcoMywg
Mik7Ci0gIGNmZ18ucmNfYnVmX2luaXRpYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVmX29wdGlt
YWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVmX3N6ID0gMTAwMDsKLSAgY2ZnXy5yY19taW5fcXVh
bnRpemVyID0gMDsKLSAgY2ZnXy5yY19tYXhfcXVhbnRpemVyID0gNjM7Ci0gIGNmZ18uZ190aHJl
YWRzID0gNDsKLSAgY2ZnXy5yY19kcm9wZnJhbWVfdGhyZXNoID0gMzA7Ci0gIGNmZ18ua2ZfbWF4
X2Rpc3QgPSA5OTk5OwotICA6OmxpYnZweF90ZXN0OjpZNG1WaWRlb1NvdXJjZSB2aWRlbygibmlr
bGFzXzEyODBfNzIwXzMwLnk0bSIsIDAsIDYwKTsKLSAgdG9wX3NsX3dpZHRoXyA9IDEyODA7Ci0g
IHRvcF9zbF9oZWlnaHRfID0gNzIwOwotICBsYXllcl9mcmFtZWRyb3BfID0gMDsKLSAgY29uc3Qg
aW50IGJpdHJhdGVzWzNdID0geyAyMDAsIDQwMCwgNjAwIH07Ci0gIGNmZ18ucmNfdGFyZ2V0X2Jp
dHJhdGUgPSBiaXRyYXRlc1tHRVRfUEFSQU0oMyldOwotICBSZXNldE1vZGVsKCk7Ci0gIGxheWVy
X2ZyYW1lZHJvcF8gPSBHRVRfUEFSQU0oMik7Ci0gIEFzc2lnbkxheWVyQml0cmF0ZXMoKTsKLSAg
a3N2Y19mbGV4X25vdXBkX3RsZW5oXyA9IHRydWU7Ci0gIGNmZ18udGVtcG9yYWxfbGF5ZXJpbmdf
bW9kZSA9IFZQOUVfVEVNUE9SQUxfTEFZRVJJTkdfTU9ERV9CWVBBU1M7Ci0gIEFTU0VSVF9OT19G
QVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci0gIENoZWNrTGF5ZXJSYXRlVGFyZ2V0aW5n
KG51bWJlcl9zcGF0aWFsX2xheWVyc18sIG51bWJlcl90ZW1wb3JhbF9sYXllcnNfLCAwLjU4LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjIpOwotfQotCiAvLyBQYXJhbXM6IHNwZWVkIHNl
dHRpbmcsIGludGVyLWxheWVyIHByZWRpY3Rpb24gbW9kZS4KIGNsYXNzIERhdGFyYXRlT25lUGFz
c0NiclN2Y0ludGVyTGF5ZXJQcmVkU2luZ2xlQlIKICAgICA6IHB1YmxpYyBEYXRhcmF0ZU9uZVBh
c3NDYnJTdmMsCkBAIC0xMzU1LDEwICsxMTE1LDEwIEBAIGNsYXNzIERhdGFyYXRlT25lUGFzc0Ni
clN2Y0ludGVyTGF5ZXJQcmVkU2luZ2xlQlIKICAgICAgIDogRGF0YXJhdGVPbmVQYXNzQ2JyU3Zj
KEdFVF9QQVJBTSgwKSkgewogICAgIG1lbXNldCgmc3ZjX3BhcmFtc18sIDAsIHNpemVvZihzdmNf
cGFyYW1zXykpOwogICB9Ci0gIH5EYXRhcmF0ZU9uZVBhc3NDYnJTdmNJbnRlckxheWVyUHJlZFNp
bmdsZUJSKCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5EYXRhcmF0ZU9uZVBhc3ND
YnJTdmNJbnRlckxheWVyUHJlZFNpbmdsZUJSKCkge30KIAogIHByb3RlY3RlZDoKLSAgdm9pZCBT
ZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxp
emVDb25maWcoKTsKICAgICBTZXRNb2RlKDo6bGlidnB4X3Rlc3Q6OmtSZWFsVGltZSk7CiAgICAg
c3BlZWRfc2V0dGluZ18gPSBHRVRfUEFSQU0oMSk7CkBAIC0xNDQxLDEwICsxMjAxLDEwIEBAIGNs
YXNzIERhdGFyYXRlT25lUGFzc0NiclN2Y0Rlbm9pc2VyCiAgIERhdGFyYXRlT25lUGFzc0NiclN2
Y0Rlbm9pc2VyKCkgOiBEYXRhcmF0ZU9uZVBhc3NDYnJTdmMoR0VUX1BBUkFNKDApKSB7CiAgICAg
bWVtc2V0KCZzdmNfcGFyYW1zXywgMCwgc2l6ZW9mKHN2Y19wYXJhbXNfKSk7CiAgIH0KLSAgfkRh
dGFyYXRlT25lUGFzc0NiclN2Y0Rlbm9pc2VyKCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0
dWFsIH5EYXRhcmF0ZU9uZVBhc3NDYnJTdmNEZW5vaXNlcigpIHt9CiAKICBwcm90ZWN0ZWQ6Ci0g
IHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJ
bml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZSg6OmxpYnZweF90ZXN0OjprUmVhbFRpbWUp
OwogICAgIHNwZWVkX3NldHRpbmdfID0gR0VUX1BBUkFNKDEpOwpAQCAtMTQ5OSwxMCArMTI1OSwx
MCBAQCBjbGFzcyBEYXRhcmF0ZU9uZVBhc3NDYnJTdmNTbWFsbEtGCiAgIERhdGFyYXRlT25lUGFz
c0NiclN2Y1NtYWxsS0YoKSA6IERhdGFyYXRlT25lUGFzc0NiclN2YyhHRVRfUEFSQU0oMCkpIHsK
ICAgICBtZW1zZXQoJnN2Y19wYXJhbXNfLCAwLCBzaXplb2Yoc3ZjX3BhcmFtc18pKTsKICAgfQot
ICB+RGF0YXJhdGVPbmVQYXNzQ2JyU3ZjU21hbGxLRigpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAg
dmlydHVhbCB+RGF0YXJhdGVPbmVQYXNzQ2JyU3ZjU21hbGxLRigpIHt9CiAKICBwcm90ZWN0ZWQ6
Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAg
ICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZSg6OmxpYnZweF90ZXN0OjprUmVhbFRp
bWUpOwogICAgIHNwZWVkX3NldHRpbmdfID0gR0VUX1BBUkFNKDEpOwpAQCAtMTUzNCw2ICsxMjk0
LDcgQEAgVEVTVF9QKERhdGFyYXRlT25lUGFzc0NiclN2Y1NtYWxsS0YsIE9uZVBhc3NDYnJTdmMz
U0wzVExTbWFsbEtmKSB7CiAgIFJlc2V0TW9kZWwoKTsKICAgQXNzaWduTGF5ZXJCaXRyYXRlcygp
OwogICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShSdW5Mb29wKCZ2aWRlbykpOworICAvLyBUT0RP
KGppYW5qKTogd2VibToxNTU0CiAgIENoZWNrTGF5ZXJSYXRlVGFyZ2V0aW5nKG51bWJlcl9zcGF0
aWFsX2xheWVyc18sIG51bWJlcl90ZW1wb3JhbF9sYXllcnNfLCAwLjcwLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAxLjE1KTsKICNpZiBDT05GSUdfVlA5X0RFQ09ERVIKQEAgLTE3MDIsMTAg
KzE0NjMsMTAgQEAgY2xhc3MgRGF0YXJhdGVPbmVQYXNzQ2JyU3ZjUG9zdGVuY29kZURyb3AKICAg
RGF0YXJhdGVPbmVQYXNzQ2JyU3ZjUG9zdGVuY29kZURyb3AoKSA6IERhdGFyYXRlT25lUGFzc0Ni
clN2YyhHRVRfUEFSQU0oMCkpIHsKICAgICBtZW1zZXQoJnN2Y19wYXJhbXNfLCAwLCBzaXplb2Yo
c3ZjX3BhcmFtc18pKTsKICAgfQotICB+RGF0YXJhdGVPbmVQYXNzQ2JyU3ZjUG9zdGVuY29kZURy
b3AoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkRhdGFyYXRlT25lUGFzc0NiclN2
Y1Bvc3RlbmNvZGVEcm9wKCkge30KIAogIHByb3RlY3RlZDoKLSAgdm9pZCBTZXRVcCgpIG92ZXJy
aWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxpemVDb25maWcoKTsK
ICAgICBTZXRNb2RlKDo6bGlidnB4X3Rlc3Q6OmtSZWFsVGltZSk7CiAgICAgc3BlZWRfc2V0dGlu
Z18gPSBHRVRfUEFSQU0oMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc3ZjX2VuZF90
b19lbmRfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9zdmNfZW5kX3RvX2VuZF90ZXN0LmNjCmlu
ZGV4IGI0MzM3YWU3NTQ5Ny4uNTE4ODI0ZDAzZmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rl
c3Qvc3ZjX2VuZF90b19lbmRfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc3ZjX2VuZF90
b19lbmRfdGVzdC5jYwpAQCAtMTUsNyArMTUsNiBAQAogI2luY2x1ZGUgInRlc3Qvc3ZjX3Rlc3Qu
aCIKICNpbmNsdWRlICJ0ZXN0L3V0aWwuaCIKICNpbmNsdWRlICJ0ZXN0L3k0bV92aWRlb19zb3Vy
Y2UuaCIKLSNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9vbnl4Y19pbnQuaCIKICNpbmNsdWRlICJ2
cHgvdnB4X2NvZGVjLmgiCiAjaW5jbHVkZSAidnB4X3BvcnRzL2JpdG9wcy5oIgogCkBAIC00NSwx
OSArNDQsMTkgQEAgY2xhc3MgU2NhbGVQYXJ0aXRpb25PbmVQYXNzQ2JyU3ZjCiAgIH0KIAogIHBy
b3RlY3RlZDoKLSAgflNjYWxlUGFydGl0aW9uT25lUGFzc0NiclN2YygpIG92ZXJyaWRlID0gZGVm
YXVsdDsKKyAgdmlydHVhbCB+U2NhbGVQYXJ0aXRpb25PbmVQYXNzQ2JyU3ZjKCkge30KIAotICB2
b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5p
dGlhbGl6ZUNvbmZpZygpOwogICAgIHNwZWVkX3NldHRpbmdfID0gNzsKICAgfQogCi0gIHZvaWQg
UHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikg
b3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rl
c3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSB7CiAgICAgUHJlRW5jb2RlRnJhbWVI
b29rU2V0dXAodmlkZW8sIGVuY29kZXIpOwogICB9CiAKLSAgdm9pZCBGcmFtZVBrdEhvb2soY29u
c3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEZy
YW1lUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAgIC8vIEtlZXAg
dHJhY2sgb2YgbnVtYmVyIG9mIG5vbi1yZWZlcmVuY2UgZnJhbWVzLCBuZWVkZWQgZm9yIG1pc21h
dGNoIGNoZWNrLgogICAgIC8vIE5vbi1yZWZlcmVuY2UgZnJhbWVzIGFyZSB0b3Agc3BhdGlhbCBh
bmQgdGVtcG9yYWwgbGF5ZXIgZnJhbWVzLAogICAgIC8vIGZvciBUTCA+IDAuCkBAIC02NywxMiAr
NjYsMTIgQEAgY2xhc3MgU2NhbGVQYXJ0aXRpb25PbmVQYXNzQ2JyU3ZjCiAgICAgICBudW1fbm9u
cmVmX2ZyYW1lc18rKzsKICAgfQogCi0gIHZvaWQgTWlzbWF0Y2hIb29rKGNvbnN0IHZweF9pbWFn
ZV90ICogLyppbWcxKi8sCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZweF9pbWFnZV90ICog
LyppbWcyKi8pIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIE1pc21hdGNoSG9vayhjb25zdCB2
cHhfaW1hZ2VfdCAqIC8qaW1nMSovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHZweF9pbWFnZV90ICogLyppbWcyKi8pIHsKICAgICArK21pc21hdGNoX25mcmFtZXNfOwogICB9
CiAKLSAgdm9pZCBTZXRDb25maWcoY29uc3QgaW50IC8qbnVtX3RlbXBvcmFsX2xheWVyKi8pIG92
ZXJyaWRlIHt9CisgIHZpcnR1YWwgdm9pZCBTZXRDb25maWcoY29uc3QgaW50IC8qbnVtX3RlbXBv
cmFsX2xheWVyKi8pIHt9CiAKICAgdW5zaWduZWQgaW50IEdldE1pc21hdGNoRnJhbWVzKCkgY29u
c3QgeyByZXR1cm4gbWlzbWF0Y2hfbmZyYW1lc187IH0KICAgdW5zaWduZWQgaW50IEdldE5vblJl
ZkZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG51bV9ub25yZWZfZnJhbWVzXzsgfQpAQCAtMTI5LDEw
NCArMTI4LDE5IEBAIGNsYXNzIFN5bmNGcmFtZU9uZVBhc3NDYnJTdmMgOiBwdWJsaWMgT25lUGFz
c0NiclN2YywKICAgfQogCiAgcHJvdGVjdGVkOgotICB+U3luY0ZyYW1lT25lUGFzc0NiclN2Yygp
IG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+U3luY0ZyYW1lT25lUGFzc0NiclN2Yygp
IHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkg
ewogICAgIEluaXRpYWxpemVDb25maWcoKTsKICAgICBzcGVlZF9zZXR0aW5nXyA9IDc7CiAgIH0K
IAotICBib29sIERvRGVjb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeworICB2aXJ0dWFsIGJvb2wgRG9E
ZWNvZGUoKSBjb25zdCB7CiAgICAgcmV0dXJuIGN1cnJlbnRfdmlkZW9fZnJhbWVfID49IGZyYW1l
X3RvX3N0YXJ0X2RlY29kZV87CiAgIH0KIAotICAvLyBFeGFtcGxlIHBhdHRlcm4gZm9yIHNwYXRp
YWwgbGF5ZXJzIGFuZCAyIHRlbXBvcmFsIGxheWVycyB1c2VkIGluIHRoZQotICAvLyBieXBhc3Mv
ZmxleGlibGUgbW9kZS4gVGhlIHBhdHRlcm4gY29ycmVzcG9uZHMgdG8gdGhlIHBhdHRlcm4KLSAg
Ly8gVlA5RV9URU1QT1JBTF9MQVlFUklOR19NT0RFXzAxMDEgKHRlbXBvcmFsX2xheWVyaW5nX21v
ZGUgPT0gMikgdXNlZCBpbgotICAvLyBub24tZmxleGlibGUgbW9kZS4KLSAgdm9pZCBzZXRfZnJh
bWVfZmxhZ3NfYnlwYXNzX21vZGUoCi0gICAgICBpbnQgdGwsIGludCBudW1fc3BhdGlhbF9sYXll
cnMsIGludCBpc19rZXlfZnJhbWUsCi0gICAgICB2cHhfc3ZjX3JlZl9mcmFtZV9jb25maWdfdCAq
cmVmX2ZyYW1lX2NvbmZpZykgewotICAgIGludCBzbDsKLSAgICBmb3IgKHNsID0gMDsgc2wgPCBu
dW1fc3BhdGlhbF9sYXllcnM7ICsrc2wpCi0gICAgICByZWZfZnJhbWVfY29uZmlnLT51cGRhdGVf
YnVmZmVyX3Nsb3Rbc2xdID0gMDsKLQotICAgIGZvciAoc2wgPSAwOyBzbCA8IG51bV9zcGF0aWFs
X2xheWVyczsgKytzbCkgewotICAgICAgLy8gU2V0IHRoZSBidWZmZXIgaWR4LgotICAgICAgaWYg
KHRsID09IDApIHsKLSAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+bHN0X2ZiX2lkeFtzbF0gPSBz
bDsKLSAgICAgICAgaWYgKHNsKSB7Ci0gICAgICAgICAgaWYgKGlzX2tleV9mcmFtZSkgewotICAg
ICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+bHN0X2ZiX2lkeFtzbF0gPSBzbCAtIDE7Ci0gICAg
ICAgICAgICByZWZfZnJhbWVfY29uZmlnLT5nbGRfZmJfaWR4W3NsXSA9IHNsOwotICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICByZWZfZnJhbWVfY29uZmlnLT5nbGRfZmJfaWR4W3NsXSA9
IHNsIC0gMTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgcmVmX2Zy
YW1lX2NvbmZpZy0+Z2xkX2ZiX2lkeFtzbF0gPSAwOwotICAgICAgICB9Ci0gICAgICAgIHJlZl9m
cmFtZV9jb25maWctPmFsdF9mYl9pZHhbc2xdID0gMDsKLSAgICAgIH0gZWxzZSBpZiAodGwgPT0g
MSkgewotICAgICAgICByZWZfZnJhbWVfY29uZmlnLT5sc3RfZmJfaWR4W3NsXSA9IHNsOwotICAg
ICAgICByZWZfZnJhbWVfY29uZmlnLT5nbGRfZmJfaWR4W3NsXSA9Ci0gICAgICAgICAgICAoc2wg
PT0gMCkgPyAwIDogbnVtX3NwYXRpYWxfbGF5ZXJzICsgc2wgLSAxOwotICAgICAgICByZWZfZnJh
bWVfY29uZmlnLT5hbHRfZmJfaWR4W3NsXSA9IG51bV9zcGF0aWFsX2xheWVycyArIHNsOwotICAg
ICAgfQotICAgICAgLy8gU2V0IHRoZSByZWZlcmVuY2UgYW5kIHVwZGF0ZSBmbGFncy4KLSAgICAg
IGlmICghdGwpIHsKLSAgICAgICAgaWYgKCFzbCkgewotICAgICAgICAgIC8vIEJhc2Ugc3BhdGlh
bCBhbmQgYmFzZSB0ZW1wb3JhbCAoc2wgPSAwLCB0bCA9IDApCi0gICAgICAgICAgcmVmX2ZyYW1l
X2NvbmZpZy0+cmVmZXJlbmNlX2xhc3Rbc2xdID0gMTsKLSAgICAgICAgICByZWZfZnJhbWVfY29u
ZmlnLT5yZWZlcmVuY2VfZ29sZGVuW3NsXSA9IDA7Ci0gICAgICAgICAgcmVmX2ZyYW1lX2NvbmZp
Zy0+cmVmZXJlbmNlX2FsdF9yZWZbc2xdID0gMDsKLSAgICAgICAgICByZWZfZnJhbWVfY29uZmln
LT51cGRhdGVfYnVmZmVyX3Nsb3Rbc2xdIHw9Ci0gICAgICAgICAgICAgIDEgPDwgcmVmX2ZyYW1l
X2NvbmZpZy0+bHN0X2ZiX2lkeFtzbF07Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgaWYg
KGlzX2tleV9mcmFtZSkgewotICAgICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+cmVmZXJlbmNl
X2xhc3Rbc2xdID0gMTsKLSAgICAgICAgICAgIHJlZl9mcmFtZV9jb25maWctPnJlZmVyZW5jZV9n
b2xkZW5bc2xdID0gMDsKLSAgICAgICAgICAgIHJlZl9mcmFtZV9jb25maWctPnJlZmVyZW5jZV9h
bHRfcmVmW3NsXSA9IDA7Ci0gICAgICAgICAgICByZWZfZnJhbWVfY29uZmlnLT51cGRhdGVfYnVm
ZmVyX3Nsb3Rbc2xdIHw9Ci0gICAgICAgICAgICAgICAgMSA8PCByZWZfZnJhbWVfY29uZmlnLT5n
bGRfZmJfaWR4W3NsXTsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gTm9uLXpl
cm8gc3BhdGlhbGwgbGF5ZXIuCi0gICAgICAgICAgICByZWZfZnJhbWVfY29uZmlnLT5yZWZlcmVu
Y2VfbGFzdFtzbF0gPSAxOwotICAgICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+cmVmZXJlbmNl
X2dvbGRlbltzbF0gPSAxOwotICAgICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+cmVmZXJlbmNl
X2FsdF9yZWZbc2xdID0gMTsKLSAgICAgICAgICAgIHJlZl9mcmFtZV9jb25maWctPnVwZGF0ZV9i
dWZmZXJfc2xvdFtzbF0gfD0KLSAgICAgICAgICAgICAgICAxIDw8IHJlZl9mcmFtZV9jb25maWct
PmxzdF9mYl9pZHhbc2xdOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSBlbHNlIGlm
ICh0bCA9PSAxKSB7Ci0gICAgICAgIGlmICghc2wpIHsKLSAgICAgICAgICAvLyBCYXNlIHNwYXRp
YWwgYW5kIHRvcCB0ZW1wb3JhbCAodGwgPSAxKQotICAgICAgICAgIHJlZl9mcmFtZV9jb25maWct
PnJlZmVyZW5jZV9sYXN0W3NsXSA9IDE7Ci0gICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+cmVm
ZXJlbmNlX2dvbGRlbltzbF0gPSAwOwotICAgICAgICAgIHJlZl9mcmFtZV9jb25maWctPnJlZmVy
ZW5jZV9hbHRfcmVmW3NsXSA9IDA7Ci0gICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+dXBkYXRl
X2J1ZmZlcl9zbG90W3NsXSB8PQotICAgICAgICAgICAgICAxIDw8IHJlZl9mcmFtZV9jb25maWct
PmFsdF9mYl9pZHhbc2xdOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIC8vIE5vbi16ZXJv
IHNwYXRpYWwuCi0gICAgICAgICAgaWYgKHNsIDwgbnVtX3NwYXRpYWxfbGF5ZXJzIC0gMSkgewot
ICAgICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+cmVmZXJlbmNlX2xhc3Rbc2xdID0gMTsKLSAg
ICAgICAgICAgIHJlZl9mcmFtZV9jb25maWctPnJlZmVyZW5jZV9nb2xkZW5bc2xdID0gMTsKLSAg
ICAgICAgICAgIHJlZl9mcmFtZV9jb25maWctPnJlZmVyZW5jZV9hbHRfcmVmW3NsXSA9IDA7Ci0g
ICAgICAgICAgICByZWZfZnJhbWVfY29uZmlnLT51cGRhdGVfYnVmZmVyX3Nsb3Rbc2xdIHw9Ci0g
ICAgICAgICAgICAgICAgMSA8PCByZWZfZnJhbWVfY29uZmlnLT5hbHRfZmJfaWR4W3NsXTsKLSAg
ICAgICAgICB9IGVsc2UgaWYgKHNsID09IG51bV9zcGF0aWFsX2xheWVycyAtIDEpIHsKLSAgICAg
ICAgICAgIC8vIFRvcCBzcGF0aWFsIGFuZCB0b3AgdGVtcG9yYWwgKG5vbi1yZWZlcmVuY2UgLS0g
ZG9lc24ndAotICAgICAgICAgICAgLy8gdXBkYXRlIGFueSByZWZlcmVuY2UgYnVmZmVycykuCi0g
ICAgICAgICAgICByZWZfZnJhbWVfY29uZmlnLT5yZWZlcmVuY2VfbGFzdFtzbF0gPSAxOwotICAg
ICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+cmVmZXJlbmNlX2dvbGRlbltzbF0gPSAxOwotICAg
ICAgICAgICAgcmVmX2ZyYW1lX2NvbmZpZy0+cmVmZXJlbmNlX2FsdF9yZWZbc2xdID0gMDsKLSAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICB2b2lkIFByZUVu
Y29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJy
aWRlIHsKKyAgdmlydHVhbCB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpW
aWRlb1NvdXJjZSAqdmlkZW8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjps
aWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2RlcikgewogICAgIGN1cnJlbnRfdmlkZW9fZnJhbWVf
ID0gdmlkZW8tPmZyYW1lKCk7CiAgICAgUHJlRW5jb2RlRnJhbWVIb29rU2V0dXAodmlkZW8sIGVu
Y29kZXIpOwogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CkBAIC0yNDQsNDcgKzE1OCwy
NyBAQCBjbGFzcyBTeW5jRnJhbWVPbmVQYXNzQ2JyU3ZjIDogcHVibGljIE9uZVBhc3NDYnJTdmMs
CiAKICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfRElTQUJMRV9MT09QRklMVEVSLCBs
b29wZmlsdGVyX29mZl8pOwogICAgIH0KLSAgICBpZiAoZmxleGlibGVfbW9kZV8pIHsKLSAgICAg
IHZweF9zdmNfbGF5ZXJfaWRfdCBsYXllcl9pZDsKLSAgICAgIGxheWVyX2lkLnNwYXRpYWxfbGF5
ZXJfaWQgPSAwOwotICAgICAgbGF5ZXJfaWQudGVtcG9yYWxfbGF5ZXJfaWQgPSAodmlkZW8tPmZy
YW1lKCkgJSAyICE9IDApOwotICAgICAgdGVtcG9yYWxfbGF5ZXJfaWRfID0gbGF5ZXJfaWQudGVt
cG9yYWxfbGF5ZXJfaWQ7Ci0gICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bWJlcl9zcGF0aWFs
X2xheWVyc187IGkrKykgewotICAgICAgICBsYXllcl9pZC50ZW1wb3JhbF9sYXllcl9pZF9wZXJf
c3BhdGlhbFtpXSA9IHRlbXBvcmFsX2xheWVyX2lkXzsKLSAgICAgICAgcmVmX2ZyYW1lX2NvbmZp
Z18uZHVyYXRpb25baV0gPSAxOwotICAgICAgfQotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlF
X1NFVF9TVkNfTEFZRVJfSUQsICZsYXllcl9pZCk7Ci0gICAgICBzZXRfZnJhbWVfZmxhZ3NfYnlw
YXNzX21vZGUobGF5ZXJfaWQudGVtcG9yYWxfbGF5ZXJfaWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbnVtYmVyX3NwYXRpYWxfbGF5ZXJzXywgMCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmcmVmX2ZyYW1lX2NvbmZpZ18pOwotICAgICAgZW5jb2Rlci0+
Q29udHJvbChWUDlFX1NFVF9TVkNfUkVGX0ZSQU1FX0NPTkZJRywgJnJlZl9mcmFtZV9jb25maWdf
KTsKLSAgICB9CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IGZyYW1lX3RvX3N5bmNfKSB7CiAg
ICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1NWQ19TUEFUSUFMX0xBWUVSX1NZTkMsICZz
dmNfbGF5ZXJfc3luY18pOwogICAgIH0KICAgfQogCiAjaWYgQ09ORklHX1ZQOV9ERUNPREVSCi0g
IHZvaWQgUHJlRGVjb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRl
bywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RGVjb2RlciAqZGVj
b2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJlRGVjb2RlRnJhbWVIb29rKDo6bGli
dnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6OmxpYnZweF90ZXN0OjpEZWNvZGVyICpkZWNvZGVyKSB7CiAgICAgaWYgKHZpZGVv
LT5mcmFtZSgpIDwgZnJhbWVfdG9fc3luY18pIHsKICAgICAgIGlmIChkZWNvZGVfdG9fbGF5ZXJf
YmVmb3JlX3N5bmNfID49IDApCiAgICAgICAgIGRlY29kZXItPkNvbnRyb2woVlA5X0RFQ09ERV9T
VkNfU1BBVElBTF9MQVlFUiwKICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfdG9fbGF5
ZXJfYmVmb3JlX3N5bmNfKTsKICAgICB9IGVsc2UgewotICAgICAgaWYgKGRlY29kZV90b19sYXll
cl9hZnRlcl9zeW5jXyA+PSAwKSB7Ci0gICAgICAgIGludCBkZWNvZGVfdG9fbGF5ZXIgPSBkZWNv
ZGVfdG9fbGF5ZXJfYWZ0ZXJfc3luY187Ci0gICAgICAgIC8vIE92ZXJsYXkgZnJhbWUgaXMgYWRk
aXRpb25hbCBsYXllciBmb3IgaW50cmEtb25seS4KLSAgICAgICAgaWYgKHZpZGVvLT5mcmFtZSgp
ID09IGZyYW1lX3RvX3N5bmNfICYmIGludHJhX29ubHlfdGVzdF8gJiYKLSAgICAgICAgICAgIGRl
Y29kZV90b19sYXllcl9hZnRlcl9zeW5jXyA9PSAwICYmIG51bWJlcl9zcGF0aWFsX2xheWVyc18g
PiAxKQotICAgICAgICAgIGRlY29kZV90b19sYXllciArPSAxOwotICAgICAgICBkZWNvZGVyLT5D
b250cm9sKFZQOV9ERUNPREVfU1ZDX1NQQVRJQUxfTEFZRVIsIGRlY29kZV90b19sYXllcik7Ci0g
ICAgICB9CisgICAgICBpZiAoZGVjb2RlX3RvX2xheWVyX2FmdGVyX3N5bmNfID49IDApCisgICAg
ICAgIGRlY29kZXItPkNvbnRyb2woVlA5X0RFQ09ERV9TVkNfU1BBVElBTF9MQVlFUiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBkZWNvZGVfdG9fbGF5ZXJfYWZ0ZXJfc3luY18pOwogICAgIH0K
ICAgfQogI2VuZGlmCiAKLSAgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3Br
dF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2
cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAgIC8vIEtlZXAgdHJhY2sgb2YgbnVtYmVyIG9m
IG5vbi1yZWZlcmVuY2UgZnJhbWVzLCBuZWVkZWQgZm9yIG1pc21hdGNoIGNoZWNrLgogICAgIC8v
IE5vbi1yZWZlcmVuY2UgZnJhbWVzIGFyZSB0b3Agc3BhdGlhbCBhbmQgdGVtcG9yYWwgbGF5ZXIg
ZnJhbWVzLAogICAgIC8vIGZvciBUTCA+IDAuCkBAIC0zMDcsOCArMjAxLDggQEAgY2xhc3MgU3lu
Y0ZyYW1lT25lUGFzc0NiclN2YyA6IHB1YmxpYyBPbmVQYXNzQ2JyU3ZjLAogICAgIH0KICAgfQog
Ci0gIHZvaWQgTWlzbWF0Y2hIb29rKGNvbnN0IHZweF9pbWFnZV90ICogLyppbWcxKi8sCi0gICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHZweF9pbWFnZV90ICogLyppbWcyKi8pIG92ZXJyaWRlIHsK
KyAgdmlydHVhbCB2b2lkIE1pc21hdGNoSG9vayhjb25zdCB2cHhfaW1hZ2VfdCAqIC8qaW1nMSov
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZweF9pbWFnZV90ICogLyppbWcy
Ki8pIHsKICAgICBpZiAoY3VycmVudF92aWRlb19mcmFtZV8gPj0gZnJhbWVfdG9fc3luY18pICsr
bWlzbWF0Y2hfbmZyYW1lc187CiAgIH0KIApAQCAtMzI3LDExICsyMjEsOSBAQCBjbGFzcyBTeW5j
RnJhbWVPbmVQYXNzQ2JyU3ZjIDogcHVibGljIE9uZVBhc3NDYnJTdmMsCiAgIHZweF9zdmNfc3Bh
dGlhbF9sYXllcl9zeW5jX3Qgc3ZjX2xheWVyX3N5bmNfOwogICB1bnNpZ25lZCBpbnQgbWlzbWF0
Y2hfbmZyYW1lc187CiAgIHVuc2lnbmVkIGludCBudW1fbm9ucmVmX2ZyYW1lc187Ci0gIGJvb2wg
ZmxleGlibGVfbW9kZV87Ci0gIHZweF9zdmNfcmVmX2ZyYW1lX2NvbmZpZ190IHJlZl9mcmFtZV9j
b25maWdfOwogCiAgcHJpdmF0ZToKLSAgdm9pZCBTZXRDb25maWcoY29uc3QgaW50IG51bV90ZW1w
b3JhbF9sYXllcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0Q29uZmlnKGNvbnN0IGlu
dCBudW1fdGVtcG9yYWxfbGF5ZXIpIHsKICAgICBjZmdfLnJjX2J1Zl9pbml0aWFsX3N6ID0gNTAw
OwogICAgIGNmZ18ucmNfYnVmX29wdGltYWxfc3ogPSA1MDA7CiAgICAgY2ZnXy5yY19idWZfc3og
PSAxMDAwOwpAQCAtMzU0LDcgKzI0Niw3IEBAIGNsYXNzIFN5bmNGcmFtZU9uZVBhc3NDYnJTdmMg
OiBwdWJsaWMgT25lUGFzc0NiclN2YywKICAgICAgIGNmZ18udGVtcG9yYWxfbGF5ZXJpbmdfbW9k
ZSA9IDI7CiAgICAgfSBlbHNlIGlmIChudW1fdGVtcG9yYWxfbGF5ZXIgPT0gMSkgewogICAgICAg
Y2ZnXy50c19yYXRlX2RlY2ltYXRvclswXSA9IDE7Ci0gICAgICBjZmdfLnRlbXBvcmFsX2xheWVy
aW5nX21vZGUgPSAwOworICAgICAgY2ZnXy50ZW1wb3JhbF9sYXllcmluZ19tb2RlID0gMTsKICAg
ICB9CiAgIH0KIH07CkBAIC0zNzgsNyArMjcwLDYgQEAgVEVTVF9QKFN5bmNGcmFtZU9uZVBhc3ND
YnJTdmMsIE9uZVBhc3NDYnJTdmMzU0wzVExGdWxsU3luYykgewogICA6OmxpYnZweF90ZXN0OjpZ
NG1WaWRlb1NvdXJjZSB2aWRlbygibmlrbGFzXzEyODBfNzIwXzMwLnk0bSIsIDAsIDYwKTsKIAog
ICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gNjAwOwotICBmbGV4aWJsZV9tb2RlXyA9IGZhbHNl
OwogICBBc3NpZ25MYXllckJpdHJhdGVzKCk7CiAgIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1
bkxvb3AoJnZpZGVvKSk7CiAjaWYgQ09ORklHX1ZQOV9ERUNPREVSCkBAIC00MDYsNyArMjk3LDYg
QEAgVEVTVF9QKFN5bmNGcmFtZU9uZVBhc3NDYnJTdmMsIE9uZVBhc3NDYnJTdmMyU0wzVExTeW5j
VG9WR0EpIHsKICAgOjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZpZGVvKCJuaWtsYXNf
NjQwXzQ4MF8zMC55dXYiLCA2NDAsIDQ4MCwgMzAsIDEsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAwLCA0MDApOwogICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gNDAw
OwotICBmbGV4aWJsZV9tb2RlXyA9IGZhbHNlOwogICBBc3NpZ25MYXllckJpdHJhdGVzKCk7CiAg
IEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7CiAjaWYgQ09ORklHX1ZQ
OV9ERUNPREVSCkBAIC00MzQsNyArMzI0LDYgQEAgVEVTVF9QKFN5bmNGcmFtZU9uZVBhc3NDYnJT
dmMsIE9uZVBhc3NDYnJTdmMzU0wzVExTeW5jVG9IRCkgewogCiAgIDo6bGlidnB4X3Rlc3Q6Olk0
bVZpZGVvU291cmNlIHZpZGVvKCJuaWtsYXNfMTI4MF83MjBfMzAueTRtIiwgMCwgNjApOwogICBj
ZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gNjAwOwotICBmbGV4aWJsZV9tb2RlXyA9IGZhbHNlOwog
ICBBc3NpZ25MYXllckJpdHJhdGVzKCk7CiAgIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxv
b3AoJnZpZGVvKSk7CiAjaWYgQ09ORklHX1ZQOV9ERUNPREVSCkBAIC00NjIsNyArMzUxLDYgQEAg
VEVTVF9QKFN5bmNGcmFtZU9uZVBhc3NDYnJTdmMsIE9uZVBhc3NDYnJTdmMzU0wzVExTeW5jVG9W
R0FIRCkgewogCiAgIDo6bGlidnB4X3Rlc3Q6Olk0bVZpZGVvU291cmNlIHZpZGVvKCJuaWtsYXNf
MTI4MF83MjBfMzAueTRtIiwgMCwgNjApOwogICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gNjAw
OwotICBmbGV4aWJsZV9tb2RlXyA9IGZhbHNlOwogICBBc3NpZ25MYXllckJpdHJhdGVzKCk7CiAg
IEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7CiAjaWYgQ09ORklHX1ZQ
OV9ERUNPREVSCkBAIC00OTIsNyArMzgwLDYgQEAgVEVTVF9QKFN5bmNGcmFtZU9uZVBhc3NDYnJT
dmMsIE9uZVBhc3NDYnJTdmMyU0wzVExTeW5jRnJhbWVWR0FEZW5vaXNlKSB7CiAgIDo6bGlidnB4
X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2aWRlbygibmlrbGFzXzY0MF80ODBfMzAueXV2IiwgNjQw
LCA0ODAsIDMwLCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg
NDAwKTsKICAgY2ZnXy5yY190YXJnZXRfYml0cmF0ZSA9IDQwMDsKLSAgZmxleGlibGVfbW9kZV8g
PSBmYWxzZTsKICAgQXNzaWduTGF5ZXJCaXRyYXRlcygpOwogICBBU1NFUlRfTk9fRkFUQUxfRkFJ
TFVSRShSdW5Mb29wKCZ2aWRlbykpOwogI2lmIENPTkZJR19WUDlfREVDT0RFUgpAQCAtNTAzLDYx
ICszOTAsNiBAQCBURVNUX1AoU3luY0ZyYW1lT25lUGFzc0NiclN2YywgT25lUGFzc0NiclN2YzJT
TDNUTFN5bmNGcmFtZVZHQURlbm9pc2UpIHsKIH0KICNlbmRpZgogCi0vLyBFbmNvZGUgMyBzcGF0
aWFsLCAyIHRlbXBvcmFsIGxheWVyIGluIGZsZXhpYmxlIG1vZGUgYnV0IGRvbid0Ci0vLyBzdGFy
dCBkZWNvZGluZy4gRHVyaW5nIHRoZSBzZXF1ZW5jZSBpbnNlcnQgaW50cmEtb25seSBvbiBiYXNl
L3F2Z2EKLS8vIGxheWVyIGF0IGZyYW1lIDIwIGFuZCBzdGFydCBkZWNvZGluZyBvbmx5IFFWR0Eg
bGF5ZXIgZnJvbSB0aGVyZS4KLVRFU1RfUChTeW5jRnJhbWVPbmVQYXNzQ2JyU3ZjLAotICAgICAg
IE9uZVBhc3NDYnJTdmMzU0wzVExTeW5jRnJhbWVTdGFydERlY29kZU9uSW50cmFPbmx5UVZHQUZs
ZXgpIHsKLSAgU2V0U3ZjQ29uZmlnKDMsIDIpOwotICBmcmFtZV90b19zdGFydF9kZWNvZGVfID0g
MjA7Ci0gIGZyYW1lX3RvX3N5bmNfID0gMjA7Ci0gIGRlY29kZV90b19sYXllcl9iZWZvcmVfc3lu
Y18gPSAyOwotICBkZWNvZGVfdG9fbGF5ZXJfYWZ0ZXJfc3luY18gPSAwOwotICBpbnRyYV9vbmx5
X3Rlc3RfID0gdHJ1ZTsKLQotICAvLyBTZXQgdXAgc3ZjIGxheWVyIHN5bmMgc3RydWN0dXJlLgot
ICBzdmNfbGF5ZXJfc3luY18uYmFzZV9sYXllcl9pbnRyYV9vbmx5ID0gMTsKLSAgc3ZjX2xheWVy
X3N5bmNfLnNwYXRpYWxfbGF5ZXJfc3luY1swXSA9IDE7Ci0gIHN2Y19sYXllcl9zeW5jXy5zcGF0
aWFsX2xheWVyX3N5bmNbMV0gPSAwOwotICBzdmNfbGF5ZXJfc3luY18uc3BhdGlhbF9sYXllcl9z
eW5jWzJdID0gMDsKLQotICA6OmxpYnZweF90ZXN0OjpZNG1WaWRlb1NvdXJjZSB2aWRlbygibmlr
bGFzXzEyODBfNzIwXzMwLnk0bSIsIDAsIDYwKTsKLSAgY2ZnXy5yY190YXJnZXRfYml0cmF0ZSA9
IDYwMDsKLSAgZmxleGlibGVfbW9kZV8gPSB0cnVlOwotICBBc3NpZ25MYXllckJpdHJhdGVzKCk7
Ci0gIGNmZ18udGVtcG9yYWxfbGF5ZXJpbmdfbW9kZSA9IFZQOUVfVEVNUE9SQUxfTEFZRVJJTkdf
TU9ERV9CWVBBU1M7Ci0gIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7
Ci0gIC8vIENhbid0IGNoZWNrIG1pc21hdGNoIGhlcmUgYmVjYXVzZSBvbmx5IGJhc2UgaXMgZGVj
b2RlZCBhdAotICAvLyBmcmFtZSBzeW5jLCB3aGVyZWFzIGVuY29kZXIgY29udGludWVzIGVuY29k
aW5nIGFsbCBsYXllcnMuCi19Ci0KLS8vIEVuY29kZSAzIHNwYXRpYWwsIDMgdGVtcG9yYWwgbGF5
ZXIgYnV0IGRvbid0IHN0YXJ0IGRlY29kaW5nLgotLy8gRHVyaW5nIHRoZSBzZXF1ZW5jZSBpbnNl
cnQgaW50cmEtb25seSBvbiBiYXNlL3F2Z2EgbGF5ZXIgYXQgZnJhbWUgMjAKLS8vIGFuZCBzdGFy
dCBkZWNvZGluZyBvbmx5IFFWR0EgbGF5ZXIgZnJvbSB0aGVyZS4KLVRFU1RfUChTeW5jRnJhbWVP
bmVQYXNzQ2JyU3ZjLAotICAgICAgIE9uZVBhc3NDYnJTdmMzU0wzVExTeW5jRnJhbWVTdGFydERl
Y29kZU9uSW50cmFPbmx5UVZHQSkgewotICBTZXRTdmNDb25maWcoMywgMyk7Ci0gIGZyYW1lX3Rv
X3N0YXJ0X2RlY29kZV8gPSAyMDsKLSAgZnJhbWVfdG9fc3luY18gPSAyMDsKLSAgZGVjb2RlX3Rv
X2xheWVyX2JlZm9yZV9zeW5jXyA9IDI7Ci0gIGRlY29kZV90b19sYXllcl9hZnRlcl9zeW5jXyA9
IDA7Ci0gIGludHJhX29ubHlfdGVzdF8gPSB0cnVlOwotCi0gIC8vIFNldCB1cCBzdmMgbGF5ZXIg
c3luYyBzdHJ1Y3R1cmUuCi0gIHN2Y19sYXllcl9zeW5jXy5iYXNlX2xheWVyX2ludHJhX29ubHkg
PSAxOwotICBzdmNfbGF5ZXJfc3luY18uc3BhdGlhbF9sYXllcl9zeW5jWzBdID0gMTsKLSAgc3Zj
X2xheWVyX3N5bmNfLnNwYXRpYWxfbGF5ZXJfc3luY1sxXSA9IDA7Ci0gIHN2Y19sYXllcl9zeW5j
Xy5zcGF0aWFsX2xheWVyX3N5bmNbMl0gPSAwOwotCi0gIDo6bGlidnB4X3Rlc3Q6Olk0bVZpZGVv
U291cmNlIHZpZGVvKCJuaWtsYXNfMTI4MF83MjBfMzAueTRtIiwgMCwgNjApOwotICBjZmdfLnJj
X3RhcmdldF9iaXRyYXRlID0gNjAwOwotICBmbGV4aWJsZV9tb2RlXyA9IGZhbHNlOwotICBBc3Np
Z25MYXllckJpdHJhdGVzKCk7Ci0gIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZp
ZGVvKSk7Ci0gIC8vIENhbid0IGNoZWNrIG1pc21hdGNoIGhlcmUgYmVjYXVzZSBvbmx5IGJhc2Ug
aXMgZGVjb2RlZCBhdAotICAvLyBmcmFtZSBzeW5jLCB3aGVyZWFzIGVuY29kZXIgY29udGludWVz
IGVuY29kaW5nIGFsbCBsYXllcnMuCi19Ci0KIC8vIFN0YXJ0IGRlY29kaW5nIGZyb20gYmVnaW5u
aW5nIG9mIHNlcXVlbmNlLCBkdXJpbmcgc2VxdWVuY2UgaW5zZXJ0IGludHJhLW9ubHkKIC8vIG9u
IGJhc2UvcXZnYSBsYXllci4gRGVjb2RlIGFsbCBsYXllcnMuCiBURVNUX1AoU3luY0ZyYW1lT25l
UGFzc0NiclN2YywgT25lUGFzc0NiclN2YzNTTDNUTFN5bmNGcmFtZUludHJhT25seVFWR0EpIHsK
QEAgLTU2NSw5ICszOTcsOCBAQCBURVNUX1AoU3luY0ZyYW1lT25lUGFzc0NiclN2YywgT25lUGFz
c0NiclN2YzNTTDNUTFN5bmNGcmFtZUludHJhT25seVFWR0EpIHsKICAgZnJhbWVfdG9fc3RhcnRf
ZGVjb2RlXyA9IDA7CiAgIGZyYW1lX3RvX3N5bmNfID0gMjA7CiAgIGRlY29kZV90b19sYXllcl9i
ZWZvcmVfc3luY18gPSAyOwotICAvLyBUaGUgc3VwZXJmcmFtZSBjb250YWluaW5nIGludHJhLW9u
bHkgbGF5ZXIgd2lsbCBoYXZlICsxIGZyYW1lcy4gVGh1cyBzZXQKLSAgLy8gdGhlIGxheWVyIHRv
IGRlY29kZSBhZnRlciBzeW5jIGZyYW1lIHRvICsxIGZyb20KLSAgLy8gZGVjb2RlX3RvX2xheWVy
X2JlZm9yZV9zeW5jLgorICAvLyBUaGUgc3VwZXJmcmFtZSBjb250YWluaW5nIGludHJhLW9ubHkg
bGF5ZXIgd2lsbCBoYXZlIDQgZnJhbWVzLiBUaHVzIHNldCB0aGUKKyAgLy8gbGF5ZXIgdG8gZGVj
b2RlIGFmdGVyIHN5bmMgZnJhbWUgdG8gMy4KICAgZGVjb2RlX3RvX2xheWVyX2FmdGVyX3N5bmNf
ID0gMzsKICAgaW50cmFfb25seV90ZXN0XyA9IHRydWU7CiAKQEAgLTU3OSw3ICs0MTAsNiBAQCBU
RVNUX1AoU3luY0ZyYW1lT25lUGFzc0NiclN2YywgT25lUGFzc0NiclN2YzNTTDNUTFN5bmNGcmFt
ZUludHJhT25seVFWR0EpIHsKIAogICA6OmxpYnZweF90ZXN0OjpZNG1WaWRlb1NvdXJjZSB2aWRl
bygibmlrbGFzXzEyODBfNzIwXzMwLnk0bSIsIDAsIDYwKTsKICAgY2ZnXy5yY190YXJnZXRfYml0
cmF0ZSA9IDYwMDsKLSAgZmxleGlibGVfbW9kZV8gPSBmYWxzZTsKICAgQXNzaWduTGF5ZXJCaXRy
YXRlcygpOwogICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShSdW5Mb29wKCZ2aWRlbykpOwogI2lm
IENPTkZJR19WUDlfREVDT0RFUgpAQCAtNTk2LDkgKzQyNiw4IEBAIFRFU1RfUChTeW5jRnJhbWVP
bmVQYXNzQ2JyU3ZjLCBPbmVQYXNzQ2JyU3ZjM1NMM1RMU3luY0ZyYW1lSW50cmFPbmx5VkdBKSB7
CiAgIGZyYW1lX3RvX3N0YXJ0X2RlY29kZV8gPSAwOwogICBmcmFtZV90b19zeW5jXyA9IDIwOwog
ICBkZWNvZGVfdG9fbGF5ZXJfYmVmb3JlX3N5bmNfID0gMjsKLSAgLy8gVGhlIHN1cGVyZnJhbWUg
Y29udGFpbmluZyBpbnRyYS1vbmx5IGxheWVyIHdpbGwgaGF2ZSArMSBmcmFtZXMuIFRodXMgc2V0
Ci0gIC8vIHRoZSBsYXllciB0byBkZWNvZGUgYWZ0ZXIgc3luYyBmcmFtZSB0byArMSBmcm9tCi0g
IC8vIGRlY29kZV90b19sYXllcl9iZWZvcmVfc3luYy4KKyAgLy8gVGhlIHN1cGVyZnJhbWUgY29u
dGFpbmluZyBpbnRyYS1vbmx5IGxheWVyIHdpbGwgaGF2ZSA0IGZyYW1lcy4gVGh1cyBzZXQgdGhl
CisgIC8vIGxheWVyIHRvIGRlY29kZSBhZnRlciBzeW5jIGZyYW1lIHRvIDMuCiAgIGRlY29kZV90
b19sYXllcl9hZnRlcl9zeW5jXyA9IDM7CiAgIGludHJhX29ubHlfdGVzdF8gPSB0cnVlOwogCkBA
IC02MTAsNyArNDM5LDYgQEAgVEVTVF9QKFN5bmNGcmFtZU9uZVBhc3NDYnJTdmMsIE9uZVBhc3ND
YnJTdmMzU0wzVExTeW5jRnJhbWVJbnRyYU9ubHlWR0EpIHsKIAogICA6OmxpYnZweF90ZXN0OjpZ
NG1WaWRlb1NvdXJjZSB2aWRlbygibmlrbGFzXzEyODBfNzIwXzMwLnk0bSIsIDAsIDYwKTsKICAg
Y2ZnXy5yY190YXJnZXRfYml0cmF0ZSA9IDYwMDsKLSAgZmxleGlibGVfbW9kZV8gPSBmYWxzZTsK
ICAgQXNzaWduTGF5ZXJCaXRyYXRlcygpOwogICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShSdW5M
b29wKCZ2aWRlbykpOwogI2lmIENPTkZJR19WUDlfREVDT0RFUgpAQCAtNjM2LDcgKzQ2NCw2IEBA
IFRFU1RfUChTeW5jRnJhbWVPbmVQYXNzQ2JyU3ZjLCBPbmVQYXNzQ2JyU3ZjMVNMM1RMU3luY0Zy
YW1lSW50cmFPbmx5UVZHQSkgewogCiAgIDo6bGlidnB4X3Rlc3Q6Olk0bVZpZGVvU291cmNlIHZp
ZGVvKCJuaWtsYXNfMTI4MF83MjBfMzAueTRtIiwgMCwgNjApOwogICBjZmdfLnJjX3RhcmdldF9i
aXRyYXRlID0gNjAwOwotICBmbGV4aWJsZV9tb2RlXyA9IGZhbHNlOwogICBBc3NpZ25MYXllckJp
dHJhdGVzKCk7CiAgIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7CiAj
aWYgQ09ORklHX1ZQOV9ERUNPREVSCkBAIC02NTcsMTUgKzQ4NCwxNSBAQCBjbGFzcyBMb29wZmls
dGVyT25lUGFzc0NiclN2YyA6IHB1YmxpYyBPbmVQYXNzQ2JyU3ZjLAogICB9CiAKICBwcm90ZWN0
ZWQ6Ci0gIH5Mb29wZmlsdGVyT25lUGFzc0NiclN2YygpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAg
dmlydHVhbCB+TG9vcGZpbHRlck9uZVBhc3NDYnJTdmMoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBv
dmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmln
KCk7CiAgICAgc3BlZWRfc2V0dGluZ18gPSA3OwogICB9CiAKLSAgdm9pZCBQcmVFbmNvZGVGcmFt
ZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7Cisg
IHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3Vy
Y2UgKnZpZGVvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rl
c3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBQcmVFbmNvZGVGcmFtZUhvb2tTZXR1cCh2aWRl
bywgZW5jb2Rlcik7CiAgICAgaWYgKG51bWJlcl90ZW1wb3JhbF9sYXllcnNfID4gMSB8fCBudW1i
ZXJfc3BhdGlhbF9sYXllcnNfID4gMSkgewogICAgICAgLy8gQ29uc2lkZXIgMyBjYXNlczoKQEAg
LTY5NCw3ICs1MjEsNyBAQCBjbGFzcyBMb29wZmlsdGVyT25lUGFzc0NiclN2YyA6IHB1YmxpYyBP
bmVQYXNzQ2JyU3ZjLAogICAgIH0KICAgfQogCi0gIHZvaWQgRnJhbWVQa3RIb29rKGNvbnN0IHZw
eF9jb2RlY19jeF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBGcmFtZVBr
dEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIHsKICAgICAvLyBLZWVwIHRyYWNr
IG9mIG51bWJlciBvZiBub24tcmVmZXJlbmNlIGZyYW1lcywgbmVlZGVkIGZvciBtaXNtYXRjaCBj
aGVjay4KICAgICAvLyBOb24tcmVmZXJlbmNlIGZyYW1lcyBhcmUgdG9wIHNwYXRpYWwgYW5kIHRl
bXBvcmFsIGxheWVyIGZyYW1lcywKICAgICAvLyBmb3IgVEwgPiAwLgpAQCAtNzA0LDEyICs1MzEs
MTIgQEAgY2xhc3MgTG9vcGZpbHRlck9uZVBhc3NDYnJTdmMgOiBwdWJsaWMgT25lUGFzc0NiclN2
YywKICAgICAgIG51bV9ub25yZWZfZnJhbWVzXysrOwogICB9CiAKLSAgdm9pZCBNaXNtYXRjaEhv
b2soY29uc3QgdnB4X2ltYWdlX3QgKiAvKmltZzEqLywKLSAgICAgICAgICAgICAgICAgICAgY29u
c3QgdnB4X2ltYWdlX3QgKiAvKmltZzIqLykgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgTWlz
bWF0Y2hIb29rKGNvbnN0IHZweF9pbWFnZV90ICogLyppbWcxKi8sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdnB4X2ltYWdlX3QgKiAvKmltZzIqLykgewogICAgICsrbWlzbWF0
Y2hfbmZyYW1lc187CiAgIH0KIAotICB2b2lkIFNldENvbmZpZyhjb25zdCBpbnQgLypudW1fdGVt
cG9yYWxfbGF5ZXIqLykgb3ZlcnJpZGUge30KKyAgdmlydHVhbCB2b2lkIFNldENvbmZpZyhjb25z
dCBpbnQgLypudW1fdGVtcG9yYWxfbGF5ZXIqLykge30KIAogICBpbnQgR2V0TWlzbWF0Y2hGcmFt
ZXMoKSBjb25zdCB7IHJldHVybiBtaXNtYXRjaF9uZnJhbWVzXzsgfQogICBpbnQgR2V0Tm9uUmVm
RnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbnVtX25vbnJlZl9mcmFtZXNfOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3Qvc3ZjX3Rlc3QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC9zdmNfdGVzdC5o
CmluZGV4IDAwMjYzNzJkZTVmYS4uZjFkNzI3ZmQ5ZGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3Qvc3ZjX3Rlc3QuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvc3ZjX3Rlc3QuaApAQCAtMzYs
NyArMzYsNyBAQCBjbGFzcyBPbmVQYXNzQ2JyU3ZjIDogcHVibGljIDo6bGlidnB4X3Rlc3Q6OkVu
Y29kZXJUZXN0IHsKICAgfQogCiAgcHJvdGVjdGVkOgotICB+T25lUGFzc0NiclN2YygpIG92ZXJy
aWRlIHt9CisgIHZpcnR1YWwgfk9uZVBhc3NDYnJTdmMoKSB7fQogCiAgIHZpcnR1YWwgdm9pZCBT
ZXRDb25maWcoY29uc3QgaW50IG51bV90ZW1wb3JhbF9sYXllcikgPSAwOwogCkBAIC00NiwxMSAr
NDYsMTEgQEAgY2xhc3MgT25lUGFzc0NiclN2YyA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpFbmNv
ZGVyVGVzdCB7CiAgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2tTZXR1cCg6OmxpYnZw
eF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKTsKIAotICB2b2lkIFBv
c3RFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJp
ZGU7CisgIHZpcnR1YWwgdm9pZCBQb3N0RW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OkVu
Y29kZXIgKmVuY29kZXIpOwogCiAgIHZpcnR1YWwgdm9pZCBBc3NpZ25MYXllckJpdHJhdGVzKCk7
CiAKLSAgdm9pZCBNaXNtYXRjaEhvb2soY29uc3QgdnB4X2ltYWdlX3QgKiwgY29uc3QgdnB4X2lt
YWdlX3QgKikgb3ZlcnJpZGUge30KKyAgdmlydHVhbCB2b2lkIE1pc21hdGNoSG9vayhjb25zdCB2
cHhfaW1hZ2VfdCAqLCBjb25zdCB2cHhfaW1hZ2VfdCAqKSB7fQogCiAgIHZweF9zdmNfZXh0cmFf
Y2ZnX3Qgc3ZjX3BhcmFtc187CiAgIGludDY0X3QgYml0c19pbl9idWZmZXJfbW9kZWxfW1ZQWF9N
QVhfTEFZRVJTXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90ZXN0LWRhdGEubWsgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvdGVzdC1kYXRhLm1rCmluZGV4IDllYWJmZmFlM2U1My4uNzQ0OTAxYjEx
NTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdC1kYXRhLm1rCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGVzdC90ZXN0LWRhdGEubWsKQEAgLTYsNyArNiw2IEBAIExJQlZQWF9URVNUX0RBVEEt
JChDT05GSUdfRU5DT0RFUlMpICs9IGhhbnRyb19jb2xsYWdlX3czNTJoMjg4X252MTIueXV2CiBM
SUJWUFhfVEVTVF9EQVRBLSQoQ09ORklHX0VOQ09ERVJTKSArPSBoYW50cm9fb2RkLnl1dgogTElC
VlBYX1RFU1RfREFUQS0kKENPTkZJR19FTkNPREVSUykgKz0gZGVza3RvcF9vZmZpY2UxLjEyODBf
NzIwLTAyMC55dXYKIExJQlZQWF9URVNUX0RBVEEtJChDT05GSUdfRU5DT0RFUlMpICs9IHNsaWRl
c19jb2RlX3Rlcm1fd2ViX3Bsb3QuMTkyMF8xMDgwLnl1dgotTElCVlBYX1RFU1RfREFUQS0kKENP
TkZJR19FTkNPREVSUykgKz0gZGVza3RvcHF2Z2EuMzIwXzI0MC55dXYKIAogTElCVlBYX1RFU1Rf
REFUQS0kKENPTkZJR19FTkNPREVSUykgKz0gcGFya19qb3lfOTBwXzEwXzQyMF8yMGYueTRtCiBM
SUJWUFhfVEVTVF9EQVRBLSQoQ09ORklHX0VOQ09ERVJTKSArPSBwYXJrX2pveV85MHBfMTBfNDIy
XzIwZi55NG0KQEAgLTI4LDggKzI3LDkgQEAgTElCVlBYX1RFU1RfREFUQS0kKENPTkZJR19WUDlf
RU5DT0RFUikgKz0gbm9pc3lfY2xpcF82NDBfMzYwLnk0bQogTElCVlBYX1RFU1RfREFUQS0kKENP
TkZJR19WUDlfRU5DT0RFUikgKz0gcnVzaF9ob3VyXzQ0NC55NG0KIExJQlZQWF9URVNUX0RBVEEt
JChDT05GSUdfVlA5X0VOQ09ERVIpICs9IHNjcmVlbmRhdGEueTRtCiBMSUJWUFhfVEVTVF9EQVRB
LSQoQ09ORklHX1ZQOV9FTkNPREVSKSArPSBuaWtsYXNfNjQwXzQ4MF8zMC55dXYKK0xJQlZQWF9U
RVNUX0RBVEEtJChDT05GSUdfVlA5X0VOQ09ERVIpICs9IHJjX2ludGVyZmFjZV90ZXN0X29uZV9s
YXllcgorTElCVlBYX1RFU1RfREFUQS0kKENPTkZJR19WUDlfRU5DT0RFUikgKz0gcmNfaW50ZXJm
YWNlX3Rlc3Rfc3ZjCiBMSUJWUFhfVEVTVF9EQVRBLSQoQ09ORklHX1ZQOV9FTkNPREVSKSArPSBi
dXNfMzUyeDI4OF80MjBfZjIwX2I4Lnl1dgotTElCVlBYX1RFU1RfREFUQS0kKENPTkZJR19WUDlf
RU5DT0RFUikgKz0gY3Jvd2RfcnVuXzM2MHBfMTBfMTUwZi55NG0KIAogIyBUZXN0IHZlY3RvcnMK
IExJQlZQWF9URVNUX0RBVEEtJChDT05GSUdfVlA4X0RFQ09ERVIpICs9IHZwODAtMDAtY29tcHJl
aGVuc2l2ZS0wMDEuaXZmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdC1kYXRhLnNo
YTEgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdC1kYXRhLnNoYTEKaW5kZXggYTlkZWNjNmI2YjcxLi42
ZjkwMjE1NTRkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90ZXN0LWRhdGEuc2hhMQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdC1kYXRhLnNoYTEKQEAgLTg2OSw1ICs4NjksNSBAQCBi
YWM0NTU5MDYzNjBiNDUzMzhhMTZkZDYyNmFjNWYxOWJjMzZhMzA3ICpkZXNrdG9wX29mZmljZTEu
MTI4MF83MjAtMDIwLnl1dgogNTE4YTBiZTk5OGFmZWNlNzZkM2RmNzYwNDdkNTFlMjU2YzU5MWZm
MiAqaW52YWxpZC1idWctMTQ4MjcxMTA5Lml2ZgogZDM5NjRmOWRhZDlmNjAzNjNjODFiNjg4MzI0
ZDk1YjRlYzdjODAzOCAqaW52YWxpZC1idWctMTQ4MjcxMTA5Lml2Zi5yZXMKIGFkMThjYTE2ZjBh
MjQ5ZmIzYjdjMzhkZTBkOWIzMjdmZWQyNzNmOTYgKmhhbnRyb19jb2xsYWdlX3czNTJoMjg4X252
MTIueXV2Ci04YTBiMmMzNTA1Mzk4NTk0NjNkMzU0NmE2Nzg3NmM4M2ZmNmZmMGFjICpkZXNrdG9w
cXZnYS4zMjBfMjQwLnl1dgotYWQ5OTQyYTA3M2UyNDU1ODVjOTNmNzY0ZWEyOTkzODJhNjU5Mzlh
NyAqY3Jvd2RfcnVuXzM2MHBfMTBfMTUwZi55NG0KKzAzZjgyN2MwZTM2ZmY5YTZlMjNjNWNjMTE5
MzY5MjRlNGYxODI3YWIgKnJjX2ludGVyZmFjZV90ZXN0X29uZV9sYXllcgorOTllNGY0YzI5NjFk
NDZkYzI4NmRiMjMwMDkwYTM5ZDc4NDYwYjI1ZCAqcmNfaW50ZXJmYWNlX3Rlc3Rfc3ZjCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdC5tayBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90ZXN0Lm1r
CmluZGV4IGQ0NTIxZjA4YmYxNi4uMDQ5MDIzODJkYmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvdGVzdC5taworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdC5tawpAQCAtNyw4ICs3LDYg
QEAgTElCVlBYX1RFU1RfU1JDUy15ZXMgKz0gY29kZWNfZmFjdG9yeS5oCiBMSUJWUFhfVEVTVF9T
UkNTLXllcyArPSBtZDVfaGVscGVyLmgKIExJQlZQWF9URVNUX1NSQ1MteWVzICs9IHJlZ2lzdGVy
X3N0YXRlX2NoZWNrLmgKIExJQlZQWF9URVNUX1NSQ1MteWVzICs9IHRlc3QubWsKLUxJQlZQWF9U
RVNUX1NSQ1MteWVzICs9IGluaXRfdnB4X3Rlc3QuY2MKLUxJQlZQWF9URVNUX1NSQ1MteWVzICs9
IGluaXRfdnB4X3Rlc3QuaAogTElCVlBYX1RFU1RfU1JDUy15ZXMgKz0gdGVzdF9saWJ2cHguY2MK
IExJQlZQWF9URVNUX1NSQ1MteWVzICs9IHRlc3RfdmVjdG9ycy5jYwogTElCVlBYX1RFU1RfU1JD
Uy15ZXMgKz0gdGVzdF92ZWN0b3JzLmgKQEAgLTI0LDYgKzIyLDEwIEBAIExJQlZQWF9URVNUX1NS
Q1MteWVzICAgICAgICAgICAgICAgICAgICs9IC4uL21kNV91dGlscy5oIC4uL21kNV91dGlscy5j
CiBMSUJWUFhfVEVTVF9TUkNTLSQoQ09ORklHX0RFQ09ERVJTKSAgICArPSBpdmZfdmlkZW9fc291
cmNlLmgKIExJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfRU5DT0RFUlMpICAgICs9IC4uL3k0bWlu
cHV0LmggLi4veTRtaW5wdXQuYwogTElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19FTkNPREVSUykg
ICAgKz0gYWx0cmVmX3Rlc3QuY2MKK0xJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfRU5DT0RFUlMp
ICAgICs9IGFxX3NlZ21lbnRfdGVzdC5jYworTElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19FTkNP
REVSUykgICAgKz0gYWx0X3JlZl9hcV9zZWdtZW50X3Rlc3QuY2MKK0xJQlZQWF9URVNUX1NSQ1Mt
JChDT05GSUdfRU5DT0RFUlMpICAgICs9IHZwOF9kYXRhcmF0ZV90ZXN0LmNjCitMSUJWUFhfVEVT
VF9TUkNTLSQoQ09ORklHX0VOQ09ERVJTKSAgICArPSB2cDlfZGF0YXJhdGVfdGVzdC5jYwogTElC
VlBYX1RFU1RfU1JDUy0kKENPTkZJR19FTkNPREVSUykgICAgKz0gZW5jb2RlX2FwaV90ZXN0LmNj
CiBMSUJWUFhfVEVTVF9TUkNTLSQoQ09ORklHX0VOQ09ERVJTKSAgICArPSBlcnJvcl9yZXNpbGll
bmNlX3Rlc3QuY2MKIExJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfRU5DT0RFUlMpICAgICs9IGk0
MjBfdmlkZW9fc291cmNlLmgKQEAgLTM1LDcgKzM3LDYgQEAgTElCVlBYX1RFU1RfU1JDUy0kKENP
TkZJR19FTkNPREVSUykgICAgKz0geXV2X3ZpZGVvX3NvdXJjZS5oCiBMSUJWUFhfVEVTVF9TUkNT
LSQoQ09ORklHX1ZQOF9FTkNPREVSKSArPSBjb25maWdfdGVzdC5jYwogTElCVlBYX1RFU1RfU1JD
Uy0kKENPTkZJR19WUDhfRU5DT0RFUikgKz0gY3FfdGVzdC5jYwogTElCVlBYX1RFU1RfU1JDUy0k
KENPTkZJR19WUDhfRU5DT0RFUikgKz0ga2V5ZnJhbWVfdGVzdC5jYwotTElCVlBYX1RFU1RfU1JD
Uy0kKENPTkZJR19WUDhfRU5DT0RFUikgKz0gdnA4X2RhdGFyYXRlX3Rlc3QuY2MKIAogTElCVlBY
X1RFU1RfU1JDUy0kKENPTkZJR19WUDlfREVDT0RFUikgKz0gYnl0ZV9hbGlnbm1lbnRfdGVzdC5j
YwogTElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19WUDlfREVDT0RFUikgKz0gZGVjb2RlX3N2Y190
ZXN0LmNjCkBAIC00Myw4ICs0NCw2IEBAIExJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0RF
Q09ERVIpICs9IGV4dGVybmFsX2ZyYW1lX2J1ZmZlcl90ZXN0LmNjCiBMSUJWUFhfVEVTVF9TUkNT
LSQoQ09ORklHX1ZQOV9ERUNPREVSKSArPSB1c2VyX3ByaXZfdGVzdC5jYwogTElCVlBYX1RFU1Rf
U1JDUy0kKENPTkZJR19WUDlfRU5DT0RFUikgKz0gYWN0aXZlX21hcF9yZWZyZXNoX3Rlc3QuY2MK
IExJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0VOQ09ERVIpICs9IGFjdGl2ZV9tYXBfdGVz
dC5jYwotTElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19WUDlfRU5DT0RFUikgKz0gYWx0X3JlZl9h
cV9zZWdtZW50X3Rlc3QuY2MKLUxJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0VOQ09ERVIp
ICs9IGFxX3NlZ21lbnRfdGVzdC5jYwogTElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19WUDlfRU5D
T0RFUikgKz0gYm9yZGVyc190ZXN0LmNjCiBMSUJWUFhfVEVTVF9TUkNTLSQoQ09ORklHX1ZQOV9F
TkNPREVSKSArPSBjcHVfc3BlZWRfdGVzdC5jYwogTElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19W
UDlfRU5DT0RFUikgKz0gZnJhbWVfc2l6ZV90ZXN0cy5jYwpAQCAtNTksOSArNTgsNyBAQCBMSUJW
UFhfVEVTVF9TUkNTLSQoQ09ORklHX1ZQOV9FTkNPREVSKSArPSBzdmNfdGVzdC5jYwogTElCVlBY
X1RFU1RfU1JDUy0kKENPTkZJR19WUDlfRU5DT0RFUikgKz0gc3ZjX3Rlc3QuaAogTElCVlBYX1RF
U1RfU1JDUy0kKENPTkZJR19WUDlfRU5DT0RFUikgKz0gc3ZjX2VuZF90b19lbmRfdGVzdC5jYwog
TElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19WUDlfRU5DT0RFUikgKz0gdGltZXN0YW1wX3Rlc3Qu
Y2MKLUxJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0VOQ09ERVIpICs9IHZwOV9kYXRhcmF0
ZV90ZXN0LmNjCiBMSUJWUFhfVEVTVF9TUkNTLSQoQ09ORklHX1ZQOV9FTkNPREVSKSArPSB2cDlf
ZXh0X3JhdGVjdHJsX3Rlc3QuY2MKLUxJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0VOQ09E
RVIpICs9IC4uL3ZwOS9zaW1wbGVfZW5jb2RlLmgKIAogTElCVlBYX1RFU1RfU1JDUy15ZXMgICAg
ICAgICAgICAgICAgICAgKz0gZGVjb2RlX3Rlc3RfZHJpdmVyLmNjCiBMSUJWUFhfVEVTVF9TUkNT
LXllcyAgICAgICAgICAgICAgICAgICArPSBkZWNvZGVfdGVzdF9kcml2ZXIuaApAQCAtODcsNyAr
ODQsNiBAQCBMSUJWUFhfVEVTVF9TUkNTLSQoQ09ORklHX0RFQ09ERVJTKSAgICArPSAuLi93ZWJt
ZGVjLmNjCiBMSUJWUFhfVEVTVF9TUkNTLSQoQ09ORklHX0RFQ09ERVJTKSAgICArPSAuLi93ZWJt
ZGVjLmgKIExJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfREVDT0RFUlMpICAgICs9IHdlYm1fdmlk
ZW9fc291cmNlLmgKIExJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0RFQ09ERVIpICs9IHZw
OV9za2lwX2xvb3BmaWx0ZXJfdGVzdC5jYwotJChCVUlMRF9QRlgpdGhpcmRfcGFydHkvbGlid2Vi
bS8lLmNjLm86IENYWEZMQUdTICs9ICQoTElCV0VCTV9DWFhGTEFHUykKIGVuZGlmCiAKIExJQlZQ
WF9URVNUX1NSQ1MtJChDT05GSUdfREVDT0RFUlMpICAgICs9IGRlY29kZV9hcGlfdGVzdC5jYwpA
QCAtMTYwLDcgKzE1Niw2IEBAIExJQlZQWF9URVNUX1NSQ1MteWVzICAgICAgICAgICAgICAgICAg
ICs9IHN1cGVyZnJhbWVfdGVzdC5jYwogTElCVlBYX1RFU1RfU1JDUy15ZXMgICAgICAgICAgICAg
ICAgICAgKz0gdGlsZV9pbmRlcGVuZGVuY2VfdGVzdC5jYwogTElCVlBYX1RFU1RfU1JDUy15ZXMg
ICAgICAgICAgICAgICAgICAgKz0gdnA5X2Jvb2xjb2Rlcl90ZXN0LmNjCiBMSUJWUFhfVEVTVF9T
UkNTLXllcyAgICAgICAgICAgICAgICAgICArPSB2cDlfZW5jb2Rlcl9wYXJtc19nZXRfdG9fZGVj
b2Rlci5jYwotTElCVlBYX1RFU1RfU1JDUy15ZXMgICAgICAgICAgICAgICAgICAgKz0gdnA5X3Jv
aV90ZXN0LmNjCiBlbmRpZgogCiBMSUJWUFhfVEVTVF9TUkNTLXllcyAgICAgICAgICAgICAgICAg
ICArPSBjb252b2x2ZV90ZXN0LmNjCkBAIC0xODIsNyArMTc3LDcgQEAgaWZuZXEgKCQoQ09ORklH
X1JFQUxUSU1FX09OTFkpLHllcykKIExJQlZQWF9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0VOQ09E
RVIpICs9IHl1dl90ZW1wb3JhbF9maWx0ZXJfdGVzdC5jYwogZW5kaWYKIExJQlZQWF9URVNUX1NS
Q1MtJChDT05GSUdfVlA5X0VOQ09ERVIpICs9IHZhcmlhbmNlX3Rlc3QuY2MKLWlmbmVxICgsICQo
ZmlsdGVyIHllcywgJChIQVZFX1NTRTIpICQoSEFWRV9BVlgyKSAkKEhBVkVfTkVPTikpKQoraWZu
ZXEgKCwgJChmaWx0ZXIgeWVzLCAkKEhBVkVfU1NFMikgJChIQVZFX0FWWDIpKSkKIExJQlZQWF9U
RVNUX1NSQ1MtJChDT05GSUdfVlA5X0VOQ09ERVIpICs9IHZwOV9ibG9ja19lcnJvcl90ZXN0LmNj
CiBlbmRpZgogTElCVlBYX1RFU1RfU1JDUy0kKENPTkZJR19WUDlfRU5DT0RFUikgKz0gdnA5X3F1
YW50aXplX3Rlc3QuY2MKQEAgLTE5OCw4ICsxOTMsMTAgQEAgTElCVlBYX1RFU1RfU1JDUy0kKENP
TkZJR19OT05fR1JFRURZX01WKSArPSBub25fZ3JlZWR5X212X3Rlc3QuY2MKIGVuZGlmCiAKIGlm
ZXEgKCQoQ09ORklHX1ZQOV9FTkNPREVSKSQoQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcp
LHllc3llcykKK2lmbmVxICgsICQoZmlsdGVyIHllcywgJChIQVZFX1NTRTIpICQoSEFWRV9BVlgy
KSkpCiBMSUJWUFhfVEVTVF9TUkNTLXllcyArPSB2cDlfZGVub2lzZXJfdGVzdC5jYwogZW5kaWYK
K2VuZGlmCiBMSUJWUFhfVEVTVF9TUkNTLSQoQ09ORklHX1ZQOV9FTkNPREVSKSArPSB2cDlfYXJm
X2ZyZXFfdGVzdC5jYwogCiBpZmVxICgkKENPTkZJR19WUDlfRU5DT0RFUikseWVzKQpAQCAtMjE3
LDE3ICsyMTQsOCBAQCBlbmRpZgogCiBURVNUX0lOVFJBX1BSRURfU1BFRURfU1JDUy15ZXMgOj0g
dGVzdF9pbnRyYV9wcmVkX3NwZWVkLmNjCiBURVNUX0lOVFJBX1BSRURfU1BFRURfU1JDUy15ZXMg
Kz0gLi4vbWQ1X3V0aWxzLmggLi4vbWQ1X3V0aWxzLmMKLVRFU1RfSU5UUkFfUFJFRF9TUEVFRF9T
UkNTLXllcyArPSBpbml0X3ZweF90ZXN0LmNjCi1URVNUX0lOVFJBX1BSRURfU1BFRURfU1JDUy15
ZXMgKz0gaW5pdF92cHhfdGVzdC5oCi0KLVJDX0lOVEVSRkFDRV9URVNUX1NSQ1MteWVzIDo9IHRl
c3RfcmNfaW50ZXJmYWNlLmNjCi1SQ19JTlRFUkZBQ0VfVEVTVF9TUkNTLSQoQ09ORklHX1ZQOV9F
TkNPREVSKSArPSB2cDlfcmF0ZWN0cmxfcnRjX3Rlc3QuY2MKLVJDX0lOVEVSRkFDRV9URVNUX1NS
Q1MtJChDT05GSUdfVlA4X0VOQ09ERVIpICs9IHZwOF9yYXRlY3RybF9ydGNfdGVzdC5jYwotUkNf
SU5URVJGQUNFX1RFU1RfU1JDUy0kKENPTkZJR19FTkNPREVSUykgKz0gZW5jb2RlX3Rlc3RfZHJp
dmVyLmNjCi1SQ19JTlRFUkZBQ0VfVEVTVF9TUkNTLSQoQ09ORklHX0VOQ09ERVJTKSArPSBlbmNv
ZGVfdGVzdF9kcml2ZXIuaAotUkNfSU5URVJGQUNFX1RFU1RfU1JDUy15ZXMgKz0gZGVjb2RlX3Rl
c3RfZHJpdmVyLmNjCi1SQ19JTlRFUkZBQ0VfVEVTVF9TUkNTLXllcyArPSBkZWNvZGVfdGVzdF9k
cml2ZXIuaAotUkNfSU5URVJGQUNFX1RFU1RfU1JDUy15ZXMgKz0gY29kZWNfZmFjdG9yeS5oCisK
K1JDX0lOVEVSRkFDRV9URVNUX1NSQ1MtJChDT05GSUdfVlA5X0VOQ09ERVIpIDo9IHJhdGVjdHJs
X3J0Y190ZXN0LmNjCiAKIGVuZGlmICMgQ09ORklHX1NIQVJFRAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvdGVzdF9pbnRyYV9wcmVkX3NwZWVkLmNjIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Rl
c3RfaW50cmFfcHJlZF9zcGVlZC5jYwppbmRleCA0YzQ2NGEyNjJmMDguLjA4MTAwYTE0NmUyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Rlc3RfaW50cmFfcHJlZF9zcGVlZC5jYworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvdGVzdF9pbnRyYV9wcmVkX3NwZWVkLmNjCkBAIC0xNCwxMSArMTQs
OSBAQAogCiAjaW5jbHVkZSAidGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVz
dC9ndGVzdC5oIgogCi0jaW5jbHVkZSAiLi92cHhfY29uZmlnLmgiCiAjaW5jbHVkZSAiLi92cHhf
ZHNwX3J0Y2QuaCIKICNpbmNsdWRlICJ0ZXN0L2FjbV9yYW5kb20uaCIKICNpbmNsdWRlICJ0ZXN0
L2NsZWFyX3N5c3RlbV9zdGF0ZS5oIgotI2luY2x1ZGUgInRlc3QvaW5pdF92cHhfdGVzdC5oIgog
I2luY2x1ZGUgInRlc3QvbWQ1X2hlbHBlci5oIgogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5o
IgogI2luY2x1ZGUgInZweF9wb3J0cy9tZW0uaCIKQEAgLTUwLDkgKzQ4LDExIEBAIHN0cnVjdCBJ
bnRyYVByZWRUZXN0TWVtIHsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IGtCUFM7ICsraSkgbGVm
dFtpXSA9IHJuZC5SYW5kMTYoKSAmIG1hc2s7CiAgICAgZm9yIChpbnQgaSA9IC0xOyBpIDwga0JQ
UzsgKytpKSBhYm92ZVtpXSA9IHJuZC5SYW5kMTYoKSAmIG1hc2s7CiAKLSAgICAvLyBkNDUvZDYz
IHJlcXVpcmUgdGhlIHRvcCByb3cgdG8gYmUgZXh0ZW5kZWQuCisgICAgLy8gc29tZSBjb2RlIGFz
c3VtZXMgdGhlIHRvcCByb3cgaGFzIGJlZW4gZXh0ZW5kZWQ6CisgICAgLy8gZDQ1L2Q2MyBDLWNv
ZGUsIGZvciBpbnN0YW5jZSwgYnV0IG5vdCB0aGUgYXNzZW1ibHkuCisgICAgLy8gVE9ETyhqemVy
bik6IHRoaXMgc3R5bGUgb2YgZXh0ZW5zaW9uIGlzbid0IHN0cmljdGx5IG5lY2Vzc2FyeS4KICAg
ICBBU1NFUlRfTEUoYmxvY2tfc2l6ZSwga0JQUyk7Ci0gICAgZm9yIChpbnQgaSA9IGJsb2NrX3Np
emU7IGkgPCAyICogYmxvY2tfc2l6ZTsgKytpKSB7CisgICAgZm9yIChpbnQgaSA9IGJsb2NrX3Np
emU7IGkgPCAyICoga0JQUzsgKytpKSB7CiAgICAgICBhYm92ZVtpXSA9IGFib3ZlW2Jsb2NrX3Np
emUgLSAxXTsKICAgICB9CiAgIH0KQEAgLTI3MSwzMiArMjcxLDI4IEBAIElOVFJBX1BSRURfVEVT
VChORU9OLCBUZXN0SW50cmFQcmVkNCwgdnB4X2RjX3ByZWRpY3Rvcl80eDRfbmVvbiwKICAgICAg
ICAgICAgICAgICB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfNHg0X25lb24sIHZweF9kY190b3BfcHJl
ZGljdG9yXzR4NF9uZW9uLAogICAgICAgICAgICAgICAgIHZweF9kY18xMjhfcHJlZGljdG9yXzR4
NF9uZW9uLCB2cHhfdl9wcmVkaWN0b3JfNHg0X25lb24sCiAgICAgICAgICAgICAgICAgdnB4X2hf
cHJlZGljdG9yXzR4NF9uZW9uLCB2cHhfZDQ1X3ByZWRpY3Rvcl80eDRfbmVvbiwKLSAgICAgICAg
ICAgICAgICB2cHhfZDEzNV9wcmVkaWN0b3JfNHg0X25lb24sIHZweF9kMTE3X3ByZWRpY3Rvcl80
eDRfbmVvbiwKLSAgICAgICAgICAgICAgICB2cHhfZDE1M19wcmVkaWN0b3JfNHg0X25lb24sIHZw
eF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbiwKLSAgICAgICAgICAgICAgICB2cHhfZDYzX3ByZWRp
Y3Rvcl80eDRfbmVvbiwgdnB4X3RtX3ByZWRpY3Rvcl80eDRfbmVvbikKKyAgICAgICAgICAgICAg
ICB2cHhfZDEzNV9wcmVkaWN0b3JfNHg0X25lb24sIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIs
IG51bGxwdHIsCisgICAgICAgICAgICAgICAgdnB4X3RtX3ByZWRpY3Rvcl80eDRfbmVvbikKIElO
VFJBX1BSRURfVEVTVChORU9OLCBUZXN0SW50cmFQcmVkOCwgdnB4X2RjX3ByZWRpY3Rvcl84eDhf
bmVvbiwKICAgICAgICAgICAgICAgICB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfOHg4X25lb24sIHZw
eF9kY190b3BfcHJlZGljdG9yXzh4OF9uZW9uLAogICAgICAgICAgICAgICAgIHZweF9kY18xMjhf
cHJlZGljdG9yXzh4OF9uZW9uLCB2cHhfdl9wcmVkaWN0b3JfOHg4X25lb24sCiAgICAgICAgICAg
ICAgICAgdnB4X2hfcHJlZGljdG9yXzh4OF9uZW9uLCB2cHhfZDQ1X3ByZWRpY3Rvcl84eDhfbmVv
biwKLSAgICAgICAgICAgICAgICB2cHhfZDEzNV9wcmVkaWN0b3JfOHg4X25lb24sIHZweF9kMTE3
X3ByZWRpY3Rvcl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICB2cHhfZDE1M19wcmVkaWN0b3Jf
OHg4X25lb24sIHZweF9kMjA3X3ByZWRpY3Rvcl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICB2
cHhfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbiwgdnB4X3RtX3ByZWRpY3Rvcl84eDhfbmVvbikKKyAg
ICAgICAgICAgICAgICB2cHhfZDEzNV9wcmVkaWN0b3JfOHg4X25lb24sIG51bGxwdHIsIG51bGxw
dHIsIG51bGxwdHIsIG51bGxwdHIsCisgICAgICAgICAgICAgICAgdnB4X3RtX3ByZWRpY3Rvcl84
eDhfbmVvbikKIElOVFJBX1BSRURfVEVTVChORU9OLCBUZXN0SW50cmFQcmVkMTYsIHZweF9kY19w
cmVkaWN0b3JfMTZ4MTZfbmVvbiwKICAgICAgICAgICAgICAgICB2cHhfZGNfbGVmdF9wcmVkaWN0
b3JfMTZ4MTZfbmVvbiwKICAgICAgICAgICAgICAgICB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8xNngx
Nl9uZW9uLAogICAgICAgICAgICAgICAgIHZweF9kY18xMjhfcHJlZGljdG9yXzE2eDE2X25lb24s
IHZweF92X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAogICAgICAgICAgICAgICAgIHZweF9oX3ByZWRp
Y3Rvcl8xNngxNl9uZW9uLCB2cHhfZDQ1X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAotICAgICAgICAg
ICAgICAgIHZweF9kMTM1X3ByZWRpY3Rvcl8xNngxNl9uZW9uLCB2cHhfZDExN19wcmVkaWN0b3Jf
MTZ4MTZfbmVvbiwKLSAgICAgICAgICAgICAgICB2cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVv
biwgdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2X25lb24sCi0gICAgICAgICAgICAgICAgdnB4X2Q2
M19wcmVkaWN0b3JfMTZ4MTZfbmVvbiwgdnB4X3RtX3ByZWRpY3Rvcl8xNngxNl9uZW9uKQorICAg
ICAgICAgICAgICAgIHZweF9kMTM1X3ByZWRpY3Rvcl8xNngxNl9uZW9uLCBudWxscHRyLCBudWxs
cHRyLCBudWxscHRyLAorICAgICAgICAgICAgICAgIG51bGxwdHIsIHZweF90bV9wcmVkaWN0b3Jf
MTZ4MTZfbmVvbikKIElOVFJBX1BSRURfVEVTVChORU9OLCBUZXN0SW50cmFQcmVkMzIsIHZweF9k
Y19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwKICAgICAgICAgICAgICAgICB2cHhfZGNfbGVmdF9wcmVk
aWN0b3JfMzJ4MzJfbmVvbiwKICAgICAgICAgICAgICAgICB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8z
MngzMl9uZW9uLAogICAgICAgICAgICAgICAgIHZweF9kY18xMjhfcHJlZGljdG9yXzMyeDMyX25l
b24sIHZweF92X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAogICAgICAgICAgICAgICAgIHZweF9oX3By
ZWRpY3Rvcl8zMngzMl9uZW9uLCB2cHhfZDQ1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAotICAgICAg
ICAgICAgICAgIHZweF9kMTM1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLCB2cHhfZDExN19wcmVkaWN0
b3JfMzJ4MzJfbmVvbiwKLSAgICAgICAgICAgICAgICB2cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzJf
bmVvbiwgdnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgdnB4
X2Q2M19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwgdnB4X3RtX3ByZWRpY3Rvcl8zMngzMl9uZW9uKQor
ICAgICAgICAgICAgICAgIHZweF9kMTM1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLCBudWxscHRyLCBu
dWxscHRyLCBudWxscHRyLAorICAgICAgICAgICAgICAgIG51bGxwdHIsIHZweF90bV9wcmVkaWN0
b3JfMzJ4MzJfbmVvbikKICNlbmRpZiAgLy8gSEFWRV9ORU9OCiAKICNpZiBIQVZFX01TQQpAQCAt
MzUwLDE1ICszNDYsNiBAQCBJTlRSQV9QUkVEX1RFU1QoVlNYLCBUZXN0SW50cmFQcmVkMzIsIHZw
eF9kY19wcmVkaWN0b3JfMzJ4MzJfdnN4LAogICAgICAgICAgICAgICAgIHZweF90bV9wcmVkaWN0
b3JfMzJ4MzJfdnN4KQogI2VuZGlmICAvLyBIQVZFX1ZTWAogCi0jaWYgSEFWRV9MU1gKLUlOVFJB
X1BSRURfVEVTVChMU1gsIFRlc3RJbnRyYVByZWQ4LCB2cHhfZGNfcHJlZGljdG9yXzh4OF9sc3gs
IG51bGxwdHIsIG51bGxwdHIsCi0gICAgICAgICAgICAgICAgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwKLSAgICAgICAgICAgICAg
ICBudWxscHRyLCBudWxscHRyLCBudWxscHRyKQotSU5UUkFfUFJFRF9URVNUKExTWCwgVGVzdElu
dHJhUHJlZDE2LCB2cHhfZGNfcHJlZGljdG9yXzE2eDE2X2xzeCwgbnVsbHB0ciwKLSAgICAgICAg
ICAgICAgICBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxs
cHRyLCBudWxscHRyLAotICAgICAgICAgICAgICAgIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIs
IG51bGxwdHIpCi0jZW5kaWYgIC8vIEhBVkVfTFNYCi0KIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAKICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSApAQCAtNTc2LDQxICs1NjMsMzcgQEAgSElH
SEJEX0lOVFJBX1BSRURfVEVTVCgKICAgICB2cHhfaGlnaGJkX2RjX2xlZnRfcHJlZGljdG9yXzR4
NF9uZW9uLCB2cHhfaGlnaGJkX2RjX3RvcF9wcmVkaWN0b3JfNHg0X25lb24sCiAgICAgdnB4X2hp
Z2hiZF9kY18xMjhfcHJlZGljdG9yXzR4NF9uZW9uLCB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzR4
NF9uZW9uLAogICAgIHZweF9oaWdoYmRfaF9wcmVkaWN0b3JfNHg0X25lb24sIHZweF9oaWdoYmRf
ZDQ1X3ByZWRpY3Rvcl80eDRfbmVvbiwKLSAgICB2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzR4
NF9uZW9uLCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzR4NF9uZW9uLAotICAgIHZweF9oaWdo
YmRfZDE1M19wcmVkaWN0b3JfNHg0X25lb24sIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfNHg0
X25lb24sCi0gICAgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4NF9uZW9uLCB2cHhfaGlnaGJk
X3RtX3ByZWRpY3Rvcl80eDRfbmVvbikKKyAgICB2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzR4
NF9uZW9uLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLAorICAgIHZweF9oaWdo
YmRfdG1fcHJlZGljdG9yXzR4NF9uZW9uKQogSElHSEJEX0lOVFJBX1BSRURfVEVTVCgKICAgICBO
RU9OLCBUZXN0SGlnaGJkSW50cmFQcmVkOCwgdnB4X2hpZ2hiZF9kY19wcmVkaWN0b3JfOHg4X25l
b24sCiAgICAgdnB4X2hpZ2hiZF9kY19sZWZ0X3ByZWRpY3Rvcl84eDhfbmVvbiwgdnB4X2hpZ2hi
ZF9kY190b3BfcHJlZGljdG9yXzh4OF9uZW9uLAogICAgIHZweF9oaWdoYmRfZGNfMTI4X3ByZWRp
Y3Rvcl84eDhfbmVvbiwgdnB4X2hpZ2hiZF92X3ByZWRpY3Rvcl84eDhfbmVvbiwKICAgICB2cHhf
aGlnaGJkX2hfcHJlZGljdG9yXzh4OF9uZW9uLCB2cHhfaGlnaGJkX2Q0NV9wcmVkaWN0b3JfOHg4
X25lb24sCi0gICAgdnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl84eDhfbmVvbiwgdnB4X2hpZ2hi
ZF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbiwKLSAgICB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9y
Xzh4OF9uZW9uLCB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uLAotICAgIHZweF9o
aWdoYmRfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbiwgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfOHg4
X25lb24pCi1ISUdIQkRfSU5UUkFfUFJFRF9URVNUKAotICAgIE5FT04sIFRlc3RIaWdoYmRJbnRy
YVByZWQxNiwgdnB4X2hpZ2hiZF9kY19wcmVkaWN0b3JfMTZ4MTZfbmVvbiwKLSAgICB2cHhfaGln
aGJkX2RjX2xlZnRfcHJlZGljdG9yXzE2eDE2X25lb24sCi0gICAgdnB4X2hpZ2hiZF9kY190b3Bf
cHJlZGljdG9yXzE2eDE2X25lb24sCi0gICAgdnB4X2hpZ2hiZF9kY18xMjhfcHJlZGljdG9yXzE2
eDE2X25lb24sIHZweF9oaWdoYmRfdl9wcmVkaWN0b3JfMTZ4MTZfbmVvbiwKLSAgICB2cHhfaGln
aGJkX2hfcHJlZGljdG9yXzE2eDE2X25lb24sIHZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl8xNngx
Nl9uZW9uLAotICAgIHZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfMTZ4MTZfbmVvbiwgdnB4X2hp
Z2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAotICAgIHZweF9oaWdoYmRfZDE1M19wcmVk
aWN0b3JfMTZ4MTZfbmVvbiwgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAot
ICAgIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNl9uZW9uLCB2cHhfaGlnaGJkX3RtX3By
ZWRpY3Rvcl8xNngxNl9uZW9uKQotSElHSEJEX0lOVFJBX1BSRURfVEVTVCgKLSAgICBORU9OLCBU
ZXN0SGlnaGJkSW50cmFQcmVkMzIsIHZweF9oaWdoYmRfZGNfcHJlZGljdG9yXzMyeDMyX25lb24s
Ci0gICAgdnB4X2hpZ2hiZF9kY19sZWZ0X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAotICAgIHZweF9o
aWdoYmRfZGNfdG9wX3ByZWRpY3Rvcl8zMngzMl9uZW9uLAotICAgIHZweF9oaWdoYmRfZGNfMTI4
X3ByZWRpY3Rvcl8zMngzMl9uZW9uLCB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzMyeDMyX25lb24s
Ci0gICAgdnB4X2hpZ2hiZF9oX3ByZWRpY3Rvcl8zMngzMl9uZW9uLCB2cHhfaGlnaGJkX2Q0NV9w
cmVkaWN0b3JfMzJ4MzJfbmVvbiwKLSAgICB2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzMyeDMy
X25lb24sIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwKLSAgICB2cHhfaGln
aGJkX2QxNTNfcHJlZGljdG9yXzMyeDMyX25lb24sIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3Jf
MzJ4MzJfbmVvbiwKLSAgICB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwgdnB4
X2hpZ2hiZF90bV9wcmVkaWN0b3JfMzJ4MzJfbmVvbikKKyAgICB2cHhfaGlnaGJkX2QxMzVfcHJl
ZGljdG9yXzh4OF9uZW9uLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLAorICAg
IHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzh4OF9uZW9uKQorSElHSEJEX0lOVFJBX1BSRURfVEVT
VChORU9OLCBUZXN0SGlnaGJkSW50cmFQcmVkMTYsCisgICAgICAgICAgICAgICAgICAgICAgIHZw
eF9oaWdoYmRfZGNfcHJlZGljdG9yXzE2eDE2X25lb24sCisgICAgICAgICAgICAgICAgICAgICAg
IHZweF9oaWdoYmRfZGNfbGVmdF9wcmVkaWN0b3JfMTZ4MTZfbmVvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgdnB4X2hpZ2hiZF9kY190b3BfcHJlZGljdG9yXzE2eDE2X25lb24sCisgICAgICAg
ICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfZGNfMTI4X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAor
ICAgICAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzE2eDE2X25lb24s
CisgICAgICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfaF9wcmVkaWN0b3JfMTZ4MTZfbmVv
biwKKyAgICAgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9kNDVfcHJlZGljdG9yXzE2eDE2
X25lb24sCisgICAgICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3Jf
MTZ4MTZfbmVvbiwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgbnVs
bHB0ciwgbnVsbHB0ciwgdnB4X2hpZ2hiZF90bV9wcmVkaWN0b3JfMTZ4MTZfbmVvbikKK0hJR0hC
RF9JTlRSQV9QUkVEX1RFU1QoTkVPTiwgVGVzdEhpZ2hiZEludHJhUHJlZDMyLAorICAgICAgICAg
ICAgICAgICAgICAgICB2cHhfaGlnaGJkX2RjX3ByZWRpY3Rvcl8zMngzMl9uZW9uLAorICAgICAg
ICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX2RjX2xlZnRfcHJlZGljdG9yXzMyeDMyX25lb24s
CisgICAgICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfZGNfdG9wX3ByZWRpY3Rvcl8zMngz
Ml9uZW9uLAorICAgICAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX2RjXzEyOF9wcmVkaWN0
b3JfMzJ4MzJfbmVvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF92X3ByZWRp
Y3Rvcl8zMngzMl9uZW9uLAorICAgICAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX2hfcHJl
ZGljdG9yXzMyeDMyX25lb24sCisgICAgICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfZDQ1
X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAorICAgICAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJk
X2QxMzVfcHJlZGljdG9yXzMyeDMyX25lb24sIG51bGxwdHIsIG51bGxwdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgIG51bGxwdHIsIG51bGxwdHIsIHZweF9oaWdoYmRfdG1fcHJlZGljdG9yXzMy
eDMyX25lb24pCiAjZW5kaWYgIC8vIEhBVkVfTkVPTgogCiAjZW5kaWYgIC8vIENPTkZJR19WUDlf
SElHSEJJVERFUFRICiAKLWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewotICA6OnRl
c3Rpbmc6OkluaXRHb29nbGVUZXN0KCZhcmdjLCBhcmd2KTsKLSAgOjpsaWJ2cHhfdGVzdDo6aW5p
dF92cHhfdGVzdCgpOwotICByZXR1cm4gUlVOX0FMTF9URVNUUygpOwotfQorI2luY2x1ZGUgInRl
c3QvdGVzdF9saWJ2cHguY2MiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdF9saWJ2
cHguY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdF9saWJ2cHguY2MKaW5kZXggYzE3OThiOGI4YjMw
Li4yMjJhODNmOGM3NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90ZXN0X2xpYnZweC5j
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdF9saWJ2cHguY2MKQEAgLTcsMTIgKzcsNjkgQEAK
ICAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhv
cnMgbWF5CiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0
aGUgc291cmNlIHRyZWUuCiAgKi8KKyNpbmNsdWRlIDxzdHJpbmc+CiAKLSNpbmNsdWRlICJ0ZXN0
L2luaXRfdnB4X3Rlc3QuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9p
bmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCiAKKyNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKKyNpZiBW
UFhfQVJDSF9YODYgfHwgVlBYX0FSQ0hfWDg2XzY0CisjaW5jbHVkZSAidnB4X3BvcnRzL3g4Ni5o
IgorI2VuZGlmCitleHRlcm4gIkMiIHsKKyNpZiBDT05GSUdfVlA4CitleHRlcm4gdm9pZCB2cDhf
cnRjZCgpOworI2VuZGlmICAvLyBDT05GSUdfVlA4CisjaWYgQ09ORklHX1ZQOQorZXh0ZXJuIHZv
aWQgdnA5X3J0Y2QoKTsKKyNlbmRpZiAgLy8gQ09ORklHX1ZQOQorZXh0ZXJuIHZvaWQgdnB4X2Rz
cF9ydGNkKCk7CitleHRlcm4gdm9pZCB2cHhfc2NhbGVfcnRjZCgpOworfQorCisjaWYgVlBYX0FS
Q0hfWDg2IHx8IFZQWF9BUkNIX1g4Nl82NAorc3RhdGljIHZvaWQgYXBwZW5kX25lZ2F0aXZlX2d0
ZXN0X2ZpbHRlcihjb25zdCBjaGFyICpzdHIpIHsKKyAgc3RkOjpzdHJpbmcgZmlsdGVyID0gOjp0
ZXN0aW5nOjpGTEFHU19ndGVzdF9maWx0ZXI7CisgIC8vIE5lZ2F0aXZlIHBhdHRlcm5zIGJlZ2lu
IHdpdGggb25lICctJyBmb2xsb3dlZCBieSBhICc6JyBzZXBhcmF0ZWQgbGlzdC4KKyAgaWYgKGZp
bHRlci5maW5kKCctJykgPT0gc3RkOjpzdHJpbmc6Om5wb3MpIGZpbHRlciArPSAnLSc7CisgIGZp
bHRlciArPSBzdHI7CisgIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZmlsdGVyID0gZmlsdGVyOwor
fQorI2VuZGlmICAvLyBWUFhfQVJDSF9YODYgfHwgVlBYX0FSQ0hfWDg2XzY0CisKIGludCBtYWlu
KGludCBhcmdjLCBjaGFyICoqYXJndikgewogICA6OnRlc3Rpbmc6OkluaXRHb29nbGVUZXN0KCZh
cmdjLCBhcmd2KTsKLSAgOjpsaWJ2cHhfdGVzdDo6aW5pdF92cHhfdGVzdCgpOworCisjaWYgVlBY
X0FSQ0hfWDg2IHx8IFZQWF9BUkNIX1g4Nl82NAorICBjb25zdCBpbnQgc2ltZF9jYXBzID0geDg2
X3NpbWRfY2FwcygpOworICBpZiAoIShzaW1kX2NhcHMgJiBIQVNfTU1YKSkgYXBwZW5kX25lZ2F0
aXZlX2d0ZXN0X2ZpbHRlcigiOk1NWC4qOk1NWC8qIik7CisgIGlmICghKHNpbWRfY2FwcyAmIEhB
U19TU0UpKSBhcHBlbmRfbmVnYXRpdmVfZ3Rlc3RfZmlsdGVyKCI6U1NFLio6U1NFLyoiKTsKKyAg
aWYgKCEoc2ltZF9jYXBzICYgSEFTX1NTRTIpKSBhcHBlbmRfbmVnYXRpdmVfZ3Rlc3RfZmlsdGVy
KCI6U1NFMi4qOlNTRTIvKiIpOworICBpZiAoIShzaW1kX2NhcHMgJiBIQVNfU1NFMykpIGFwcGVu
ZF9uZWdhdGl2ZV9ndGVzdF9maWx0ZXIoIjpTU0UzLio6U1NFMy8qIik7CisgIGlmICghKHNpbWRf
Y2FwcyAmIEhBU19TU1NFMykpIHsKKyAgICBhcHBlbmRfbmVnYXRpdmVfZ3Rlc3RfZmlsdGVyKCI6
U1NTRTMuKjpTU1NFMy8qIik7CisgIH0KKyAgaWYgKCEoc2ltZF9jYXBzICYgSEFTX1NTRTRfMSkp
IHsKKyAgICBhcHBlbmRfbmVnYXRpdmVfZ3Rlc3RfZmlsdGVyKCI6U1NFNF8xLio6U1NFNF8xLyoi
KTsKKyAgfQorICBpZiAoIShzaW1kX2NhcHMgJiBIQVNfQVZYKSkgYXBwZW5kX25lZ2F0aXZlX2d0
ZXN0X2ZpbHRlcigiOkFWWC4qOkFWWC8qIik7CisgIGlmICghKHNpbWRfY2FwcyAmIEhBU19BVlgy
KSkgYXBwZW5kX25lZ2F0aXZlX2d0ZXN0X2ZpbHRlcigiOkFWWDIuKjpBVlgyLyoiKTsKKyAgaWYg
KCEoc2ltZF9jYXBzICYgSEFTX0FWWDUxMikpIHsKKyAgICBhcHBlbmRfbmVnYXRpdmVfZ3Rlc3Rf
ZmlsdGVyKCI6QVZYNTEyLio6QVZYNTEyLyoiKTsKKyAgfQorI2VuZGlmICAvLyBWUFhfQVJDSF9Y
ODYgfHwgVlBYX0FSQ0hfWDg2XzY0CisKKyNpZiAhQ09ORklHX1NIQVJFRAorLy8gU2hhcmVkIGxp
YnJhcnkgYnVpbGRzIGRvbid0IHN1cHBvcnQgd2hpdGVib3ggdGVzdHMKKy8vIHRoYXQgZXhlcmNp
c2UgaW50ZXJuYWwgc3ltYm9scy4KKyNpZiBDT05GSUdfVlA4CisgIHZwOF9ydGNkKCk7CisjZW5k
aWYgIC8vIENPTkZJR19WUDgKKyNpZiBDT05GSUdfVlA5CisgIHZwOV9ydGNkKCk7CisjZW5kaWYg
IC8vIENPTkZJR19WUDkKKyAgdnB4X2RzcF9ydGNkKCk7CisgIHZweF9zY2FsZV9ydGNkKCk7Cisj
ZW5kaWYgIC8vICFDT05GSUdfU0hBUkVECisKICAgcmV0dXJuIFJVTl9BTExfVEVTVFMoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90ZXN0X3JjX2ludGVyZmFjZS5jYyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGVzdC90ZXN0X3JjX2ludGVyZmFjZS5jYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWM3NTcwMGY3MzJmLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Rl
c3RfcmNfaW50ZXJmYWNlLmNjCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0jaW5jbHVk
ZSAidGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC5oIgotCi1p
bnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKLSAgOjp0ZXN0aW5nOjpJbml0R29vZ2xl
VGVzdCgmYXJnYywgYXJndik7Ci0gIHJldHVybiBSVU5fQUxMX1RFU1RTKCk7Ci19CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdF92ZWN0b3JfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC90ZXN0X3ZlY3Rvcl90ZXN0LmNjCmluZGV4IGVlNTUyMTEzY2UyOS4uY2E5OTBmNGRkNGUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdGVzdF92ZWN0b3JfdGVzdC5jYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvdGVzdF92ZWN0b3JfdGVzdC5jYwpAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBU
ZXN0VmVjdG9yVGVzdCA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpEZWNvZGVyVGVzdCwKICNlbmRp
ZgogICB9CiAKLSAgflRlc3RWZWN0b3JUZXN0KCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIH5UZXN0
VmVjdG9yVGVzdCgpIHsKICAgICBpZiAobWQ1X2ZpbGVfKSBmY2xvc2UobWQ1X2ZpbGVfKTsKICAg
fQogCkBAIC01OSw4ICs1OSw5IEBAIGNsYXNzIFRlc3RWZWN0b3JUZXN0IDogcHVibGljIDo6bGli
dnB4X3Rlc3Q6OkRlY29kZXJUZXN0LAogICB9CiAKICNpZiBDT05GSUdfVlA5X0RFQ09ERVIKLSAg
dm9pZCBQcmVEZWNvZGVGcmFtZUhvb2soY29uc3QgbGlidnB4X3Rlc3Q6OkNvbXByZXNzZWRWaWRl
b1NvdXJjZSAmdmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnZweF90ZXN0OjpE
ZWNvZGVyICpkZWNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVEZWNvZGVGcmFt
ZUhvb2soCisgICAgICBjb25zdCBsaWJ2cHhfdGVzdDo6Q29tcHJlc3NlZFZpZGVvU291cmNlICZ2
aWRlbywKKyAgICAgIGxpYnZweF90ZXN0OjpEZWNvZGVyICpkZWNvZGVyKSB7CiAgICAgaWYgKHZp
ZGVvLmZyYW1lX251bWJlcigpID09IDAgJiYgbXRfbW9kZV8gPj0gMCkgewogICAgICAgaWYgKG10
X21vZGVfID09IDEpIHsKICAgICAgICAgZGVjb2Rlci0+Q29udHJvbChWUDlEX1NFVF9MT09QX0ZJ
TFRFUl9PUFQsIDEpOwpAQCAtNzYsOCArNzcsOCBAQCBjbGFzcyBUZXN0VmVjdG9yVGVzdCA6IHB1
YmxpYyA6OmxpYnZweF90ZXN0OjpEZWNvZGVyVGVzdCwKICAgfQogI2VuZGlmCiAKLSAgdm9pZCBE
ZWNvbXByZXNzZWRGcmFtZUhvb2soY29uc3QgdnB4X2ltYWdlX3QgJmltZywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IGZyYW1lX251bWJlcikgb3ZlcnJp
ZGUgeworICB2aXJ0dWFsIHZvaWQgRGVjb21wcmVzc2VkRnJhbWVIb29rKGNvbnN0IHZweF9pbWFn
ZV90ICZpbWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5z
aWduZWQgaW50IGZyYW1lX251bWJlcikgewogICAgIEFTU0VSVF9ORShtZDVfZmlsZV8sIG51bGxw
dHIpOwogICAgIGNoYXIgZXhwZWN0ZWRfbWQ1WzMzXTsKICAgICBjaGFyIGp1bmtbMTI4XTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90aWxlX2luZGVwZW5kZW5jZV90ZXN0LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L3RpbGVfaW5kZXBlbmRlbmNlX3Rlc3QuY2MKaW5kZXggZGFiNmU1MzFiNzY2
Li5kOTJjMTNmODhlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90aWxlX2luZGVwZW5k
ZW5jZV90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90aWxlX2luZGVwZW5kZW5jZV90ZXN0
LmNjCkBAIC0zNiwxOCArMzYsMTggQEAgY2xhc3MgVGlsZUluZGVwZW5kZW5jZVRlc3QgOiBwdWJs
aWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlclRlc3QsCiAgICAgaW52X2RlY18tPkNvbnRyb2woVlA5
X0lOVkVSVF9USUxFX0RFQ09ERV9PUkRFUiwgMSk7CiAgIH0KIAotICB+VGlsZUluZGVwZW5kZW5j
ZVRlc3QoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgflRpbGVJbmRlcGVuZGVuY2VUZXN0KCkgewog
ICAgIGRlbGV0ZSBmd19kZWNfOwogICAgIGRlbGV0ZSBpbnZfZGVjXzsKICAgfQogCi0gIHZvaWQg
U2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFs
aXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZShsaWJ2cHhfdGVzdDo6a1R3b1Bhc3NHb29kKTsKICAg
fQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAq
dmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnZweF90ZXN0OjpFbmNvZGVyICpl
bmNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2sobGli
dnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2RlcikgewogICAgIGlmICh2aWRlby0+
ZnJhbWUoKSA9PSAwKSB7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1RJTEVfQ09M
VU1OUywgbl90aWxlc18pOwogICAgIH0KQEAgLTY1LDcgKzY1LDcgQEAgY2xhc3MgVGlsZUluZGVw
ZW5kZW5jZVRlc3QgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlclRlc3QsCiAgICAgbWQ1
LT5BZGQoaW1nKTsKICAgfQogCi0gIHZvaWQgRnJhbWVQa3RIb29rKGNvbnN0IHZweF9jb2RlY19j
eF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBGcmFtZVBrdEhvb2soY29u
c3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIHsKICAgICBVcGRhdGVNRDUoZndfZGVjXywgcGt0
LCAmbWQ1X2Z3X29yZGVyXyk7CiAgICAgVXBkYXRlTUQ1KGludl9kZWNfLCBwa3QsICZtZDVfaW52
X29yZGVyXyk7CiAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90aW1lc3RhbXBfdGVz
dC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90aW1lc3RhbXBfdGVzdC5jYwppbmRleCAwMGFiZjhmMzFj
ZWUuLjY0NWE5ZjJmZjhhOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3RpbWVzdGFtcF90
ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90aW1lc3RhbXBfdGVzdC5jYwpAQCAtNDIsMTYg
KzQyLDE2IEBAIGNsYXNzIER1bW15VGltZWJhc2VWaWRlb1NvdXJjZSA6IHB1YmxpYyA6OmxpYnZw
eF90ZXN0OjpEdW1teVZpZGVvU291cmNlIHsKICAgICAgICAgICAgKHN0YXRpY19jYXN0PGRvdWJs
ZT4oZnJhbWVyYXRlX251bWVyYXRvcl8pIC8gZnJhbWVyYXRlX2Rlbm9taW5hdG9yXyk7CiAgIH0K
IAotICB2cHhfY29kZWNfcHRzX3QgcHRzKCkgY29uc3Qgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZw
eF9jb2RlY19wdHNfdCBwdHMoKSBjb25zdCB7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHZweF9j
b2RlY19wdHNfdD4oZnJhbWVfICogRnJhbWVEdXJhdGlvbigpICsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdGFydGluZ19wdHNfICsgMC41KTsKICAgfQogCi0gIHVu
c2lnbmVkIGxvbmcgZHVyYXRpb24oKSBjb25zdCBvdmVycmlkZSB7CisgIHZpcnR1YWwgdW5zaWdu
ZWQgbG9uZyBkdXJhdGlvbigpIGNvbnN0IHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgbG9uZz4oRnJhbWVEdXJhdGlvbigpICsgMC41KTsKICAgfQogCi0gIHZweF9yYXRpb25hbF90
IHRpbWViYXNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdGltZWJhc2VfOyB9CisgIHZpcnR1
YWwgdnB4X3JhdGlvbmFsX3QgdGltZWJhc2UoKSBjb25zdCB7IHJldHVybiB0aW1lYmFzZV87IH0K
IAogICB2b2lkIHNldF9zdGFydGluZ19wdHMoaW50NjRfdCBzdGFydGluZ19wdHMpIHsgc3RhcnRp
bmdfcHRzXyA9IHN0YXJ0aW5nX3B0czsgfQogCkBAIC02Nyw5ICs2Nyw5IEBAIGNsYXNzIFRpbWVz
dGFtcFRlc3QKICAgICAgIHB1YmxpYyA6OmxpYnZweF90ZXN0OjpDb2RlY1Rlc3RXaXRoUGFyYW08
bGlidnB4X3Rlc3Q6OlRlc3RNb2RlPiB7CiAgcHJvdGVjdGVkOgogICBUaW1lc3RhbXBUZXN0KCkg
OiBFbmNvZGVyVGVzdChHRVRfUEFSQU0oMCkpIHt9Ci0gIH5UaW1lc3RhbXBUZXN0KCkgb3ZlcnJp
ZGUgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5UaW1lc3RhbXBUZXN0KCkge30KIAotICB2b2lkIFNl
dFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6
ZUNvbmZpZygpOwogICAgIFNldE1vZGUoR0VUX1BBUkFNKDEpKTsKICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L3Rvb2xzX2NvbW1vbi5zaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC90b29sc19j
b21tb24uc2gKaW5kZXggMGU0YTBhNWMwZTA5Li44NDRhMTI1MzRkZWIgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC90b29sc19jb21tb24uc2gKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Rvb2xz
X2NvbW1vbi5zaApAQCAtMTMzLDcgKzEzMyw3IEBAIHZweF9jb25maWdfb3B0aW9uX2VuYWJsZWQo
KSB7CiAgIHZweF9jb25maWdfb3B0aW9uPSIkezF9IgogICB2cHhfY29uZmlnX2ZpbGU9IiR7TElC
VlBYX0NPTkZJR19QQVRIfS92cHhfY29uZmlnLmgiCiAgIGNvbmZpZ19saW5lPSQoZ3JlcCAiJHt2
cHhfY29uZmlnX29wdGlvbn0iICIke3ZweF9jb25maWdfZmlsZX0iKQotICBpZiBlY2hvICIke2Nv
bmZpZ19saW5lfSIgfCBncmVwIC1FIC1xICcxJCc7IHRoZW4KKyAgaWYgZWNobyAiJHtjb25maWdf
bGluZX0iIHwgZWdyZXAgLXEgJzEkJzsgdGhlbgogICAgIGVjaG8geWVzCiAgIGZpCiB9CkBAIC0y
MjIsNyArMjIyLDcgQEAgZmlsdGVyX3N0cmluZ3MoKSB7CiAKICAgaWYgWyAtbiAiJHtmaWx0ZXJ9
IiBdOyB0aGVuCiAgICAgZm9yIHMgaW4gJHtzdHJpbmdzfTsgZG8KLSAgICAgIGlmIGVjaG8gIiR7
c30iIHwgZ3JlcCAtRSAtcSAke2V4Y2x1ZGV9ICIke2ZpbHRlcn0iID4gL2Rldi9udWxsIDI+JjE7
IHRoZW4KKyAgICAgIGlmIGVjaG8gIiR7c30iIHwgZWdyZXAgLXEgJHtleGNsdWRlfSAiJHtmaWx0
ZXJ9IiA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgICAgICAgIGZpbHRlcmVkX3N0cmluZ3M9IiR7
ZmlsdGVyZWRfc3RyaW5nc30gJHtzfSIKICAgICAgIGZpCiAgICAgZG9uZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L3ZhcmlhbmNlX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdmFyaWFu
Y2VfdGVzdC5jYwppbmRleCBiODMyMGU5Y2ViYjEuLjFiNzZiMjA0MTkyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L3ZhcmlhbmNlX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Zh
cmlhbmNlX3Rlc3QuY2MKQEAgLTIxMCw3ICsyMTAsNyBAQCBjbGFzcyBTdW1PZlNxdWFyZXNUZXN0
IDogcHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxTdW1PZlNxdWFyZXNGdW5jdGlvbj4g
ewogIHB1YmxpYzoKICAgU3VtT2ZTcXVhcmVzVGVzdCgpIDogZnVuY18oR2V0UGFyYW0oKSkge30K
IAotICB+U3VtT2ZTcXVhcmVzVGVzdCgpIG92ZXJyaWRlIHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lz
dGVtU3RhdGUoKTsgfQorICB2aXJ0dWFsIH5TdW1PZlNxdWFyZXNUZXN0KCkgeyBsaWJ2cHhfdGVz
dDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CiAKICBwcm90ZWN0ZWQ6CiAgIHZvaWQgQ29uc3RUZXN0
KCk7CkBAIC0yODksNyArMjg5LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0aW9uVHlwZT4K
IGNsYXNzIE1haW5UZXN0Q2xhc3MKICAgICA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFy
YW08VGVzdFBhcmFtczxGdW5jdGlvblR5cGU+ID4gewogIHB1YmxpYzoKLSAgdm9pZCBTZXRVcCgp
IG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIHBhcmFtc18gPSB0aGlz
LT5HZXRQYXJhbSgpOwogCiAgICAgcm5kXy5SZXNldChBQ01SYW5kb206OkRldGVybWluaXN0aWNT
ZWVkKCkpOwpAQCAtMzA4LDcgKzMwOCw3IEBAIGNsYXNzIE1haW5UZXN0Q2xhc3MKICNlbmRpZgog
ICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFRlYXJE
b3duKCkgewogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICiAgICAgaWYgKHVzZV9oaWdoX2Jp
dF9kZXB0aCgpKSB7CiAgICAgICAvLyBUT0RPKHNrYWwpOiByZW1vdmUhCkBAIC00ODgsOCArNDg4
LDggQEAgdm9pZCBNYWluVGVzdENsYXNzPFZhcmlhbmNlRnVuY3Rpb25UeXBlPjo6U3BlZWRUZXN0
KCkgewogICB9CiAgIHZweF91c2VjX3RpbWVyX21hcmsoJnRpbWVyKTsKICAgY29uc3QgaW50IGVs
YXBzZWRfdGltZSA9IHN0YXRpY19jYXN0PGludD4odnB4X3VzZWNfdGltZXJfZWxhcHNlZCgmdGlt
ZXIpKTsKLSAgcHJpbnRmKCJWYXJpYW5jZSAlZHglZCAlZGJwcCB0aW1lOiAlNWQgbXNcbiIsIHdp
ZHRoKCksIGhlaWdodCgpLAotICAgICAgICAgcGFyYW1zXy5iaXRfZGVwdGgsIGVsYXBzZWRfdGlt
ZSAvIDEwMDApOworICBwcmludGYoIlZhcmlhbmNlICVkeCVkIHRpbWU6ICU1ZCBtc1xuIiwgd2lk
dGgoKSwgaGVpZ2h0KCksCisgICAgICAgICBlbGFwc2VkX3RpbWUgLyAxMDAwKTsKIH0KIAogLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KQEAgLTQ5OSwyMSArNDk5LDE0IEBAIHRlbXBsYXRlIDx0eXBl
bmFtZSBGdW5jdGlvblR5cGU+CiB2b2lkIE1haW5UZXN0Q2xhc3M8RnVuY3Rpb25UeXBlPjo6UmVm
VGVzdE1zZSgpIHsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgKytpKSB7CiAgICAgZm9yIChp
bnQgaiA9IDA7IGogPCBibG9ja19zaXplKCk7ICsraikgewotICAgICAgaWYgKCF1c2VfaGlnaF9i
aXRfZGVwdGgoKSkgewotICAgICAgICBzcmNfW2pdID0gcm5kXy5SYW5kOCgpOwotICAgICAgICBy
ZWZfW2pdID0gcm5kXy5SYW5kOCgpOwotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAg
ICB9IGVsc2UgewotICAgICAgICBDT05WRVJUX1RPX1NIT1JUUFRSKHNyY18pW2pdID0gcm5kXy5S
YW5kMTYoKSAmIG1hc2soKTsKLSAgICAgICAgQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfKVtqXSA9
IHJuZF8uUmFuZDE2KCkgJiBtYXNrKCk7Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERF
UFRICi0gICAgICB9CisgICAgICBzcmNfW2pdID0gcm5kXy5SYW5kOCgpOworICAgICAgcmVmX1tq
XSA9IHJuZF8uUmFuZDgoKTsKICAgICB9CiAgICAgdW5zaWduZWQgaW50IHNzZTEsIHNzZTI7CiAg
ICAgY29uc3QgaW50IHN0cmlkZSA9IHdpZHRoKCk7CiAgICAgQVNNX1JFR0lTVEVSX1NUQVRFX0NI
RUNLKHBhcmFtc18uZnVuYyhzcmNfLCBzdHJpZGUsIHJlZl8sIHN0cmlkZSwgJnNzZTEpKTsKICAg
ICB2YXJpYW5jZV9yZWYoc3JjXywgcmVmXywgcGFyYW1zXy5sb2cyd2lkdGgsIHBhcmFtc18ubG9n
MmhlaWdodCwgc3RyaWRlLAotICAgICAgICAgICAgICAgICBzdHJpZGUsICZzc2UyLCB1c2VfaGln
aF9iaXRfZGVwdGgoKSwgcGFyYW1zXy5iaXRfZGVwdGgpOworICAgICAgICAgICAgICAgICBzdHJp
ZGUsICZzc2UyLCBmYWxzZSwgVlBYX0JJVFNfOCk7CiAgICAgRVhQRUNUX0VRKHNzZTEsIHNzZTIp
OwogICB9CiB9CkBAIC01MzcsMTUgKzUzMCw4IEBAIHZvaWQgTWFpblRlc3RDbGFzczxGdW5jdGlv
blR5cGU+OjpSZWZUZXN0U3NlKCkgewogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgRnVuY3Rpb25UeXBl
Pgogdm9pZCBNYWluVGVzdENsYXNzPEZ1bmN0aW9uVHlwZT46Ok1heFRlc3RNc2UoKSB7Ci0gIGlm
ICghdXNlX2hpZ2hfYml0X2RlcHRoKCkpIHsKLSAgICBtZW1zZXQoc3JjXywgMjU1LCBibG9ja19z
aXplKCkpOwotICAgIG1lbXNldChyZWZfLCAwLCBibG9ja19zaXplKCkpOwotI2lmIENPTkZJR19W
UDlfSElHSEJJVERFUFRICi0gIH0gZWxzZSB7Ci0gICAgdnB4X21lbXNldDE2KENPTlZFUlRfVE9f
U0hPUlRQVFIoc3JjXyksIDI1NSA8PCBieXRlX3NoaWZ0KCksIGJsb2NrX3NpemUoKSk7Ci0gICAg
dnB4X21lbXNldDE2KENPTlZFUlRfVE9fU0hPUlRQVFIocmVmXyksIDAsIGJsb2NrX3NpemUoKSk7
Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIH0KKyAgbWVtc2V0KHNyY18s
IDI1NSwgYmxvY2tfc2l6ZSgpKTsKKyAgbWVtc2V0KHJlZl8sIDAsIGJsb2NrX3NpemUoKSk7CiAg
IHVuc2lnbmVkIGludCBzc2U7CiAgIEFTTV9SRUdJU1RFUl9TVEFURV9DSEVDSyhwYXJhbXNfLmZ1
bmMoc3JjXywgd2lkdGgoKSwgcmVmXywgd2lkdGgoKSwgJnNzZSkpOwogICBjb25zdCB1bnNpZ25l
ZCBpbnQgZXhwZWN0ZWQgPSBibG9ja19zaXplKCkgKiAyNTUgKiAyNTU7CkBAIC01NjgsNyArNTU0
LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0aW9uVHlwZT4KIGNsYXNzIFN1YnBlbFZhcmlh
bmNlVGVzdAogICAgIDogcHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxUZXN0UGFyYW1z
PEZ1bmN0aW9uVHlwZT4gPiB7CiAgcHVibGljOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgcGFyYW1zXyA9IHRoaXMtPkdldFBhcmFtKCk7
CiAKICAgICBybmRfLlJlc2V0KEFDTVJhbmRvbTo6RGV0ZXJtaW5pc3RpY1NlZWQoKSk7CkBAIC01
OTIsNyArNTc4LDcgQEAgY2xhc3MgU3VicGVsVmFyaWFuY2VUZXN0CiAgICAgQVNTRVJUX05FKHJl
Zl8sIG51bGxwdHIpOwogICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsKKyAgdmly
dHVhbCB2b2lkIFRlYXJEb3duKCkgewogICAgIGlmICghdXNlX2hpZ2hfYml0X2RlcHRoKCkpIHsK
ICAgICAgIHZweF9mcmVlKHNyY18pOwogICAgICAgdnB4X2ZyZWUoc2VjXyk7CkBAIC02MTAsNyAr
NTk2LDYgQEAgY2xhc3MgU3VicGVsVmFyaWFuY2VUZXN0CiAgcHJvdGVjdGVkOgogICB2b2lkIFJl
ZlRlc3QoKTsKICAgdm9pZCBFeHRyZW1lUmVmVGVzdCgpOwotICB2b2lkIFNwZWVkVGVzdCgpOwog
CiAgIEFDTVJhbmRvbSBybmRfOwogICB1aW50OF90ICpzcmNfOwpAQCAtNjk2LDM3ICs2ODEsNiBA
QCB2b2lkIFN1YnBlbFZhcmlhbmNlVGVzdDxTdWJwZWxWYXJpYW5jZUZ1bmN0aW9uVHlwZT46OkV4
dHJlbWVSZWZUZXN0KCkgewogICB9CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBTdWJwZWxWYXJp
YW5jZUZ1bmN0aW9uVHlwZT4KLXZvaWQgU3VicGVsVmFyaWFuY2VUZXN0PFN1YnBlbFZhcmlhbmNl
RnVuY3Rpb25UeXBlPjo6U3BlZWRUZXN0KCkgewotICAvLyBUaGUgb25seSBpbnRlcmVzdGluZyBw
b2ludHMgYXJlIDAsIDQsIGFuZCBhbnl0aGluZyBlbHNlLiBUbyBtYWtlIHRoZSBsb29wcwotICAv
LyBzaW1wbGUgd2Ugd2lsbCB1c2UgMCwgMiBhbmQgNC4KLSAgZm9yIChpbnQgeCA9IDA7IHggPD0g
NDsgeCArPSAyKSB7Ci0gICAgZm9yIChpbnQgeSA9IDA7IHkgPD0gNDsgeSArPSAyKSB7Ci0gICAg
ICBpZiAoIXVzZV9oaWdoX2JpdF9kZXB0aCgpKSB7Ci0gICAgICAgIG1lbXNldChzcmNfLCAyNSwg
YmxvY2tfc2l6ZSgpKTsKLSAgICAgICAgbWVtc2V0KHJlZl8sIDUwLCBibG9ja19zaXplKCkpOwot
I2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAgICB9IGVsc2UgewotICAgICAgICB2cHhf
bWVtc2V0MTYoQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfKSwgMjUsIGJsb2NrX3NpemUoKSk7Ci0g
ICAgICAgIHZweF9tZW1zZXQxNihDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl8pLCA1MCwgYmxvY2tf
c2l6ZSgpKTsKLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICAgIH0KLSAg
ICAgIHVuc2lnbmVkIGludCBzc2U7Ci0gICAgICB2cHhfdXNlY190aW1lciB0aW1lcjsKLSAgICAg
IHZweF91c2VjX3RpbWVyX3N0YXJ0KCZ0aW1lcik7Ci0gICAgICBmb3IgKGludCBpID0gMDsgaSA8
IDEwMDAwMDAwMDAgLyBibG9ja19zaXplKCk7ICsraSkgewotICAgICAgICBjb25zdCB1aW50MzJf
dCB2YXJpYW5jZSA9Ci0gICAgICAgICAgICBwYXJhbXNfLmZ1bmMocmVmXywgd2lkdGgoKSArIDEs
IHgsIHksIHNyY18sIHdpZHRoKCksICZzc2UpOwotICAgICAgICAodm9pZCl2YXJpYW5jZTsKLSAg
ICAgIH0KLSAgICAgIHZweF91c2VjX3RpbWVyX21hcmsoJnRpbWVyKTsKLSAgICAgIGNvbnN0IGlu
dCBlbGFwc2VkX3RpbWUgPSBzdGF0aWNfY2FzdDxpbnQ+KHZweF91c2VjX3RpbWVyX2VsYXBzZWQo
JnRpbWVyKSk7Ci0gICAgICBwcmludGYoIlN1YnBlbFZhcmlhbmNlICVkeCVkIHhvZmZzZXQ6ICVk
IHlvZmZzZXQ6ICVkIHRpbWU6ICU1ZCBtc1xuIiwKLSAgICAgICAgICAgICB3aWR0aCgpLCBoZWln
aHQoKSwgeCwgeSwgZWxhcHNlZF90aW1lIC8gMTAwMCk7Ci0gICAgfQotICB9Ci19Ci0KIHRlbXBs
YXRlIDw+CiB2b2lkIFN1YnBlbFZhcmlhbmNlVGVzdDx2cHhfc3VicF9hdmdfdmFyaWFuY2VfZm5f
dD46OlJlZlRlc3QoKSB7CiAgIGZvciAoaW50IHggPSAwOyB4IDwgODsgKyt4KSB7CkBAIC03NzMs
NyArNzI3LDYgQEAgVEVTVF9QKFZweFNzZVRlc3QsIFJlZlNzZSkgeyBSZWZUZXN0U3NlKCk7IH0K
IFRFU1RfUChWcHhTc2VUZXN0LCBNYXhTc2UpIHsgTWF4VGVzdFNzZSgpOyB9CiBURVNUX1AoVnB4
TXNlVGVzdCwgUmVmTXNlKSB7IFJlZlRlc3RNc2UoKTsgfQogVEVTVF9QKFZweE1zZVRlc3QsIE1h
eE1zZSkgeyBNYXhUZXN0TXNlKCk7IH0KLVRFU1RfUChWcHhNc2VUZXN0LCBESVNBQkxFRF9TcGVl
ZCkgeyBTcGVlZFRlc3QoKTsgfQogVEVTVF9QKFZweFZhcmlhbmNlVGVzdCwgWmVybykgeyBaZXJv
VGVzdCgpOyB9CiBURVNUX1AoVnB4VmFyaWFuY2VUZXN0LCBSZWYpIHsgUmVmVGVzdCgpOyB9CiBU
RVNUX1AoVnB4VmFyaWFuY2VUZXN0LCBSZWZTdHJpZGUpIHsgUmVmU3RyaWRlVGVzdCgpOyB9CkBA
IC03ODMsNyArNzM2LDYgQEAgVEVTVF9QKFN1bU9mU3F1YXJlc1Rlc3QsIENvbnN0KSB7IENvbnN0
VGVzdCgpOyB9CiBURVNUX1AoU3VtT2ZTcXVhcmVzVGVzdCwgUmVmKSB7IFJlZlRlc3QoKTsgfQog
VEVTVF9QKFZweFN1YnBlbFZhcmlhbmNlVGVzdCwgUmVmKSB7IFJlZlRlc3QoKTsgfQogVEVTVF9Q
KFZweFN1YnBlbFZhcmlhbmNlVGVzdCwgRXh0cmVtZVJlZikgeyBFeHRyZW1lUmVmVGVzdCgpOyB9
Ci1URVNUX1AoVnB4U3VicGVsVmFyaWFuY2VUZXN0LCBESVNBQkxFRF9TcGVlZCkgeyBTcGVlZFRl
c3QoKTsgfQogVEVTVF9QKFZweFN1YnBlbEF2Z1ZhcmlhbmNlVGVzdCwgUmVmKSB7IFJlZlRlc3Qo
KTsgfQogCiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoQywgU3VtT2ZTcXVhcmVzVGVzdCwKQEAg
LTg2OSwyNSArODIxLDI1IEBAIFRFU1RfUChWcHhIQkRTdWJwZWxWYXJpYW5jZVRlc3QsIFJlZikg
eyBSZWZUZXN0KCk7IH0KIFRFU1RfUChWcHhIQkRTdWJwZWxWYXJpYW5jZVRlc3QsIEV4dHJlbWVS
ZWYpIHsgRXh0cmVtZVJlZlRlc3QoKTsgfQogVEVTVF9QKFZweEhCRFN1YnBlbEF2Z1ZhcmlhbmNl
VGVzdCwgUmVmKSB7IFJlZlRlc3QoKTsgfQogCisvKiBUT0RPKGRlYmFyZ2hhKTogVGhpcyB0ZXN0
IGRvZXMgbm90IHN1cHBvcnQgdGhlIGhpZ2hiZCB2ZXJzaW9uCiB0eXBlZGVmIE1haW5UZXN0Q2xh
c3M8dnB4X3ZhcmlhbmNlX2ZuX3Q+IFZweEhCRE1zZVRlc3Q7CiBURVNUX1AoVnB4SEJETXNlVGVz
dCwgUmVmTXNlKSB7IFJlZlRlc3RNc2UoKTsgfQogVEVTVF9QKFZweEhCRE1zZVRlc3QsIE1heE1z
ZSkgeyBNYXhUZXN0TXNlKCk7IH0KLVRFU1RfUChWcHhIQkRNc2VUZXN0LCBESVNBQkxFRF9TcGVl
ZCkgeyBTcGVlZFRlc3QoKTsgfQogSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgIEMsIFZw
eEhCRE1zZVRlc3QsCi0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMoTXNlUGFyYW1zKDQsIDQsICZ2cHhf
aGlnaGJkXzEyX21zZTE2eDE2X2MsIFZQWF9CSVRTXzEyKSwKLSAgICAgICAgICAgICAgICAgICAg
ICBNc2VQYXJhbXMoNCwgMywgJnZweF9oaWdoYmRfMTJfbXNlMTZ4OF9jLCBWUFhfQklUU18xMiks
Ci0gICAgICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDMsIDQsICZ2cHhfaGlnaGJkXzEyX21z
ZTh4MTZfYywgVlBYX0JJVFNfMTIpLAotICAgICAgICAgICAgICAgICAgICAgIE1zZVBhcmFtcygz
LCAzLCAmdnB4X2hpZ2hiZF8xMl9tc2U4eDhfYywgVlBYX0JJVFNfMTIpLAotICAgICAgICAgICAg
ICAgICAgICAgIE1zZVBhcmFtcyg0LCA0LCAmdnB4X2hpZ2hiZF8xMF9tc2UxNngxNl9jLCBWUFhf
QklUU18xMCksCi0gICAgICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDQsIDMsICZ2cHhfaGln
aGJkXzEwX21zZTE2eDhfYywgVlBYX0JJVFNfMTApLAotICAgICAgICAgICAgICAgICAgICAgIE1z
ZVBhcmFtcygzLCA0LCAmdnB4X2hpZ2hiZF8xMF9tc2U4eDE2X2MsIFZQWF9CSVRTXzEwKSwKLSAg
ICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoMywgMywgJnZweF9oaWdoYmRfMTBfbXNlOHg4
X2MsIFZQWF9CSVRTXzEwKSwKLSAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoNCwgNCwg
JnZweF9oaWdoYmRfOF9tc2UxNngxNl9jLCBWUFhfQklUU184KSwKLSAgICAgICAgICAgICAgICAg
ICAgICBNc2VQYXJhbXMoNCwgMywgJnZweF9oaWdoYmRfOF9tc2UxNng4X2MsIFZQWF9CSVRTXzgp
LAotICAgICAgICAgICAgICAgICAgICAgIE1zZVBhcmFtcygzLCA0LCAmdnB4X2hpZ2hiZF84X21z
ZTh4MTZfYywgVlBYX0JJVFNfOCksCi0gICAgICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDMs
IDMsICZ2cHhfaGlnaGJkXzhfbXNlOHg4X2MsIFZQWF9CSVRTXzgpKSk7Ci0KKyAgICA6OnRlc3Rp
bmc6OlZhbHVlcyhNc2VQYXJhbXMoNCwgNCwgJnZweF9oaWdoYmRfMTJfbXNlMTZ4MTZfYyksCisg
ICAgICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJkXzEyX21zZTE2
eDhfYyksCisgICAgICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJk
XzEyX21zZTh4MTZfYyksCisgICAgICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDQsIDQsICZ2
cHhfaGlnaGJkXzEyX21zZTh4OF9jKSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMo
NCwgNCwgJnZweF9oaWdoYmRfMTBfbXNlMTZ4MTZfYyksCisgICAgICAgICAgICAgICAgICAgICAg
TXNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJkXzEwX21zZTE2eDhfYyksCisgICAgICAgICAgICAg
ICAgICAgICAgTXNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJkXzEwX21zZTh4MTZfYyksCisgICAg
ICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJkXzEwX21zZTh4OF9j
KSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoNCwgNCwgJnZweF9oaWdoYmRfOF9t
c2UxNngxNl9jKSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoNCwgNCwgJnZweF9o
aWdoYmRfOF9tc2UxNng4X2MpLAorICAgICAgICAgICAgICAgICAgICAgIE1zZVBhcmFtcyg0LCA0
LCAmdnB4X2hpZ2hiZF84X21zZTh4MTZfYyksCisgICAgICAgICAgICAgICAgICAgICAgTXNlUGFy
YW1zKDQsIDQsICZ2cHhfaGlnaGJkXzhfbXNlOHg4X2MpKSk7CisqLwogR1RFU1RfQUxMT1dfVU5J
TlNUQU5USUFURURfUEFSQU1FVEVSSVpFRF9URVNUKFZweEhCRE1zZVRlc3QpOwogCiBJTlNUQU5U
SUFURV9URVNUX1NVSVRFX1AoCkBAIC0xMTUzLDE1ICsxMTA1LDIyIEBAIElOU1RBTlRJQVRFX1RF
U1RfU1VJVEVfUCgKICAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoMiwgMiwgJnZweF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X3NzZTIsIDApKSk7CiAKICNpZiBDT05GSUdfVlA5X0hJ
R0hCSVRERVBUSAorLyogVE9ETyhkZWJhcmdoYSk6IFRoaXMgdGVzdCBkb2VzIG5vdCBzdXBwb3J0
IHRoZSBoaWdoYmQgdmVyc2lvbgogSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgIFNTRTIs
IFZweEhCRE1zZVRlc3QsCi0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMoCi0gICAgICAgIE1zZVBhcmFt
cyg0LCA0LCAmdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9zc2UyLCBWUFhfQklUU18xMiksCi0gICAg
ICAgIE1zZVBhcmFtcygzLCAzLCAmdnB4X2hpZ2hiZF8xMl9tc2U4eDhfc3NlMiwgVlBYX0JJVFNf
MTIpLAotICAgICAgICBNc2VQYXJhbXMoNCwgNCwgJnZweF9oaWdoYmRfMTBfbXNlMTZ4MTZfc3Nl
MiwgVlBYX0JJVFNfMTApLAotICAgICAgICBNc2VQYXJhbXMoMywgMywgJnZweF9oaWdoYmRfMTBf
bXNlOHg4X3NzZTIsIFZQWF9CSVRTXzEwKSwKLSAgICAgICAgTXNlUGFyYW1zKDQsIDQsICZ2cHhf
aGlnaGJkXzhfbXNlMTZ4MTZfc3NlMiwgVlBYX0JJVFNfOCksCi0gICAgICAgIE1zZVBhcmFtcygz
LCAzLCAmdnB4X2hpZ2hiZF84X21zZTh4OF9zc2UyLCBWUFhfQklUU184KSkpOworICAgIDo6dGVz
dGluZzo6VmFsdWVzKE1zZVBhcmFtcyg0LCA0LCAmdnB4X2hpZ2hiZF8xMl9tc2UxNngxNl9zc2Uy
KSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoNCwgMywgJnZweF9oaWdoYmRfMTJf
bXNlMTZ4OF9zc2UyKSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoMywgNCwgJnZw
eF9oaWdoYmRfMTJfbXNlOHgxNl9zc2UyKSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJh
bXMoMywgMywgJnZweF9oaWdoYmRfMTJfbXNlOHg4X3NzZTIpLAorICAgICAgICAgICAgICAgICAg
ICAgIE1zZVBhcmFtcyg0LCA0LCAmdnB4X2hpZ2hiZF8xMF9tc2UxNngxNl9zc2UyKSwKKyAgICAg
ICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoNCwgMywgJnZweF9oaWdoYmRfMTBfbXNlMTZ4OF9z
c2UyKSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoMywgNCwgJnZweF9oaWdoYmRf
MTBfbXNlOHgxNl9zc2UyKSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoMywgMywg
JnZweF9oaWdoYmRfMTBfbXNlOHg4X3NzZTIpLAorICAgICAgICAgICAgICAgICAgICAgIE1zZVBh
cmFtcyg0LCA0LCAmdnB4X2hpZ2hiZF84X21zZTE2eDE2X3NzZTIpLAorICAgICAgICAgICAgICAg
ICAgICAgIE1zZVBhcmFtcyg0LCAzLCAmdnB4X2hpZ2hiZF84X21zZTE2eDhfc3NlMiksCisgICAg
ICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDMsIDQsICZ2cHhfaGlnaGJkXzhfbXNlOHgxNl9z
c2UyKSwKKyAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoMywgMywgJnZweF9oaWdoYmRf
OF9tc2U4eDhfc3NlMikpKTsKKyovCiAKIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICBT
U0UyLCBWcHhIQkRWYXJpYW5jZVRlc3QsCkBAIC0xNDI5LDEwICsxMzg4LDcgQEAgSU5TVEFOVElB
VEVfVEVTVF9TVUlURV9QKAogICAgICAgICAgICAgICAgICAgICAgIFZhcmlhbmNlUGFyYW1zKDUs
IDQsICZ2cHhfdmFyaWFuY2UzMngxNl9hdngyKSwKICAgICAgICAgICAgICAgICAgICAgICBWYXJp
YW5jZVBhcmFtcyg0LCA1LCAmdnB4X3ZhcmlhbmNlMTZ4MzJfYXZ4MiksCiAgICAgICAgICAgICAg
ICAgICAgICAgVmFyaWFuY2VQYXJhbXMoNCwgNCwgJnZweF92YXJpYW5jZTE2eDE2X2F2eDIpLAot
ICAgICAgICAgICAgICAgICAgICAgIFZhcmlhbmNlUGFyYW1zKDQsIDMsICZ2cHhfdmFyaWFuY2Ux
Nng4X2F2eDIpLAotICAgICAgICAgICAgICAgICAgICAgIFZhcmlhbmNlUGFyYW1zKDMsIDQsICZ2
cHhfdmFyaWFuY2U4eDE2X2F2eDIpLAotICAgICAgICAgICAgICAgICAgICAgIFZhcmlhbmNlUGFy
YW1zKDMsIDMsICZ2cHhfdmFyaWFuY2U4eDhfYXZ4MiksCi0gICAgICAgICAgICAgICAgICAgICAg
VmFyaWFuY2VQYXJhbXMoMywgMiwgJnZweF92YXJpYW5jZTh4NF9hdngyKSkpOworICAgICAgICAg
ICAgICAgICAgICAgIFZhcmlhbmNlUGFyYW1zKDQsIDMsICZ2cHhfdmFyaWFuY2UxNng4X2F2eDIp
KSk7CiAKIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICBBVlgyLCBWcHhTdWJwZWxWYXJp
YW5jZVRlc3QsCkBAIC0xNDU0LDEwICsxNDEwLDggQEAgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9Q
KE5FT04sIFZweFNzZVRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZ2cHhfZ2V0NHg0c3NlX2NzX25lb24pKSk7CiAKIElOU1RBTlRJQVRF
X1RFU1RfU1VJVEVfUChORU9OLCBWcHhNc2VUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
IDo6dGVzdGluZzo6VmFsdWVzKE1zZVBhcmFtcyg0LCA0LCAmdnB4X21zZTE2eDE2X25lb24pLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1zZVBhcmFtcyg0LCAz
LCAmdnB4X21zZTE2eDhfbmVvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTXNlUGFyYW1zKDMsIDQsICZ2cHhfbXNlOHgxNl9uZW9uKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoMywgMywgJnZweF9tc2U4
eDhfbmVvbikpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlcyhN
c2VQYXJhbXMoNCwgNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnZweF9tc2UxNngxNl9uZW9uKSkpOwogCiBJTlNUQU5USUFURV9URVNUX1NV
SVRFX1AoCiAgICAgTkVPTiwgVnB4VmFyaWFuY2VUZXN0LApAQCAtMTQ3NSwzNSArMTQyOSw2IEBA
IElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICAgICAgICAgICAgICAgICAgICBWYXJpYW5j
ZVBhcmFtcygyLCAzLCAmdnB4X3ZhcmlhbmNlNHg4X25lb24pLAogICAgICAgICAgICAgICAgICAg
ICAgIFZhcmlhbmNlUGFyYW1zKDIsIDIsICZ2cHhfdmFyaWFuY2U0eDRfbmVvbikpKTsKIAotI2lm
IEhBVkVfTkVPTl9ET1RQUk9ECi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCi0gICAgTkVPTl9E
T1RQUk9ELCBWcHhTc2VUZXN0LAotICAgIDo6dGVzdGluZzo6VmFsdWVzKFNzZVBhcmFtcygyLCAy
LCAmdnB4X2dldDR4NHNzZV9jc19uZW9uX2RvdHByb2QpKSk7Ci0KLUlOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUCgKLSAgICBORU9OX0RPVFBST0QsIFZweE1zZVRlc3QsCi0gICAgOjp0ZXN0aW5nOjpW
YWx1ZXMoTXNlUGFyYW1zKDQsIDQsICZ2cHhfbXNlMTZ4MTZfbmVvbl9kb3Rwcm9kKSwKLSAgICAg
ICAgICAgICAgICAgICAgICBNc2VQYXJhbXMoNCwgMywgJnZweF9tc2UxNng4X25lb25fZG90cHJv
ZCksCi0gICAgICAgICAgICAgICAgICAgICAgTXNlUGFyYW1zKDMsIDQsICZ2cHhfbXNlOHgxNl9u
ZW9uX2RvdHByb2QpLAotICAgICAgICAgICAgICAgICAgICAgIE1zZVBhcmFtcygzLCAzLCAmdnB4
X21zZTh4OF9uZW9uX2RvdHByb2QpKSk7Ci0KLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAg
ICBORU9OX0RPVFBST0QsIFZweFZhcmlhbmNlVGVzdCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVlcyhW
YXJpYW5jZVBhcmFtcyg2LCA2LCAmdnB4X3ZhcmlhbmNlNjR4NjRfbmVvbl9kb3Rwcm9kKSwKLSAg
ICAgICAgICAgICAgICAgICAgICBWYXJpYW5jZVBhcmFtcyg2LCA1LCAmdnB4X3ZhcmlhbmNlNjR4
MzJfbmVvbl9kb3Rwcm9kKSwKLSAgICAgICAgICAgICAgICAgICAgICBWYXJpYW5jZVBhcmFtcyg1
LCA2LCAmdnB4X3ZhcmlhbmNlMzJ4NjRfbmVvbl9kb3Rwcm9kKSwKLSAgICAgICAgICAgICAgICAg
ICAgICBWYXJpYW5jZVBhcmFtcyg1LCA1LCAmdnB4X3ZhcmlhbmNlMzJ4MzJfbmVvbl9kb3Rwcm9k
KSwKLSAgICAgICAgICAgICAgICAgICAgICBWYXJpYW5jZVBhcmFtcyg1LCA0LCAmdnB4X3Zhcmlh
bmNlMzJ4MTZfbmVvbl9kb3Rwcm9kKSwKLSAgICAgICAgICAgICAgICAgICAgICBWYXJpYW5jZVBh
cmFtcyg0LCA1LCAmdnB4X3ZhcmlhbmNlMTZ4MzJfbmVvbl9kb3Rwcm9kKSwKLSAgICAgICAgICAg
ICAgICAgICAgICBWYXJpYW5jZVBhcmFtcyg0LCA0LCAmdnB4X3ZhcmlhbmNlMTZ4MTZfbmVvbl9k
b3Rwcm9kKSwKLSAgICAgICAgICAgICAgICAgICAgICBWYXJpYW5jZVBhcmFtcyg0LCAzLCAmdnB4
X3ZhcmlhbmNlMTZ4OF9uZW9uX2RvdHByb2QpLAotICAgICAgICAgICAgICAgICAgICAgIFZhcmlh
bmNlUGFyYW1zKDMsIDQsICZ2cHhfdmFyaWFuY2U4eDE2X25lb25fZG90cHJvZCksCi0gICAgICAg
ICAgICAgICAgICAgICAgVmFyaWFuY2VQYXJhbXMoMywgMywgJnZweF92YXJpYW5jZTh4OF9uZW9u
X2RvdHByb2QpLAotICAgICAgICAgICAgICAgICAgICAgIFZhcmlhbmNlUGFyYW1zKDMsIDIsICZ2
cHhfdmFyaWFuY2U4eDRfbmVvbl9kb3Rwcm9kKSwKLSAgICAgICAgICAgICAgICAgICAgICBWYXJp
YW5jZVBhcmFtcygyLCAzLCAmdnB4X3ZhcmlhbmNlNHg4X25lb25fZG90cHJvZCksCi0gICAgICAg
ICAgICAgICAgICAgICAgVmFyaWFuY2VQYXJhbXMoMiwgMiwgJnZweF92YXJpYW5jZTR4NF9uZW9u
X2RvdHByb2QpKSk7Ci0jZW5kaWYgIC8vIEhBVkVfTkVPTl9ET1RQUk9ECi0KIElOU1RBTlRJQVRF
X1RFU1RfU1VJVEVfUCgKICAgICBORU9OLCBWcHhTdWJwZWxWYXJpYW5jZVRlc3QsCiAgICAgOjp0
ZXN0aW5nOjpWYWx1ZXMoCkBAIC0xNTM3LDI4MiArMTQ2Miw2IEBAIElOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUCgKICAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoMywgMiwgJnZweF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24sIDApLAogICAgICAgICBTdWJwZWxBdmdWYXJpYW5j
ZVBhcmFtcygyLCAzLCAmdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDhfbmVvbiwgMCksCiAg
ICAgICAgIFN1YnBlbEF2Z1ZhcmlhbmNlUGFyYW1zKDIsIDIsICZ2cHhfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTR4NF9uZW9uLCAwKSkpOwotCi0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLUlO
U1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAgICBORU9OLCBWcHhIQkRNc2VUZXN0LAotICAgIDo6
dGVzdGluZzo6VmFsdWVzKAotICAgICAgICBNc2VQYXJhbXMoNCwgNCwgJnZweF9oaWdoYmRfMTJf
bXNlMTZ4MTZfbmVvbiwgVlBYX0JJVFNfMTIpLAotICAgICAgICBNc2VQYXJhbXMoNCwgMywgJnZw
eF9oaWdoYmRfMTJfbXNlMTZ4OF9uZW9uLCBWUFhfQklUU18xMiksCi0gICAgICAgIE1zZVBhcmFt
cygzLCA0LCAmdnB4X2hpZ2hiZF8xMl9tc2U4eDE2X25lb24sIFZQWF9CSVRTXzEyKSwKLSAgICAg
ICAgTXNlUGFyYW1zKDMsIDMsICZ2cHhfaGlnaGJkXzEyX21zZTh4OF9uZW9uLCBWUFhfQklUU18x
MiksCi0gICAgICAgIE1zZVBhcmFtcyg0LCA0LCAmdnB4X2hpZ2hiZF8xMF9tc2UxNngxNl9uZW9u
LCBWUFhfQklUU18xMCksCi0gICAgICAgIE1zZVBhcmFtcyg0LCAzLCAmdnB4X2hpZ2hiZF8xMF9t
c2UxNng4X25lb24sIFZQWF9CSVRTXzEwKSwKLSAgICAgICAgTXNlUGFyYW1zKDMsIDQsICZ2cHhf
aGlnaGJkXzEwX21zZTh4MTZfbmVvbiwgVlBYX0JJVFNfMTApLAotICAgICAgICBNc2VQYXJhbXMo
MywgMywgJnZweF9oaWdoYmRfMTBfbXNlOHg4X25lb24sIFZQWF9CSVRTXzEwKSwKLSAgICAgICAg
TXNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJkXzhfbXNlMTZ4MTZfbmVvbiwgVlBYX0JJVFNfOCks
Ci0gICAgICAgIE1zZVBhcmFtcyg0LCAzLCAmdnB4X2hpZ2hiZF84X21zZTE2eDhfbmVvbiwgVlBY
X0JJVFNfOCksCi0gICAgICAgIE1zZVBhcmFtcygzLCA0LCAmdnB4X2hpZ2hiZF84X21zZTh4MTZf
bmVvbiwgVlBYX0JJVFNfOCksCi0gICAgICAgIE1zZVBhcmFtcygzLCAzLCAmdnB4X2hpZ2hiZF84
X21zZTh4OF9uZW9uLCBWUFhfQklUU184KSkpOwotCi0vLyBUT0RPKHdlYm06MTgxOSk6IFJlLWVu
YWJsZSB3aGVuIHZweF9oaWdoYmRfOF9tc2UxNngxNl9uZW9uX2RvdHByb2QsIGV0Yy4gY2FuCi0v
LyBiZSB1c2VkIGFnYWluLgotI2lmIDAKLSNpZiBIQVZFX05FT05fRE9UUFJPRAotSU5TVEFOVElB
VEVfVEVTVF9TVUlURV9QKAotICAgIE5FT05fRE9UUFJPRCwgVnB4SEJETXNlVGVzdCwKLSAgICA6
OnRlc3Rpbmc6OlZhbHVlcygKLSAgICAgICAgTXNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJkXzhf
bXNlMTZ4MTZfbmVvbl9kb3Rwcm9kLCBWUFhfQklUU184KSwKLSAgICAgICAgTXNlUGFyYW1zKDQs
IDMsICZ2cHhfaGlnaGJkXzhfbXNlMTZ4OF9uZW9uX2RvdHByb2QsIFZQWF9CSVRTXzgpLAotICAg
ICAgICBNc2VQYXJhbXMoMywgNCwgJnZweF9oaWdoYmRfOF9tc2U4eDE2X25lb25fZG90cHJvZCwg
VlBYX0JJVFNfOCksCi0gICAgICAgIE1zZVBhcmFtcygzLCAzLCAmdnB4X2hpZ2hiZF84X21zZTh4
OF9uZW9uX2RvdHByb2QsIFZQWF9CSVRTXzgpKSk7Ci0jZW5kaWYgIC8vIEhBVkVfTkVPTl9ET1RQ
Uk9ECi0jZW5kaWYgIC8vIDAKLQotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAotICAgIE5FT04s
IFZweEhCRFZhcmlhbmNlVGVzdCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVlcygKLSAgICAgICAgVmFy
aWFuY2VQYXJhbXMoNiwgNiwgJnZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NF9uZW9uLCAxMiks
Ci0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDYsIDUsICZ2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4
MzJfbmVvbiwgMTIpLAotICAgICAgICBWYXJpYW5jZVBhcmFtcyg1LCA2LCAmdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTMyeDY0X25lb24sIDEyKSwKLSAgICAgICAgVmFyaWFuY2VQYXJhbXMoNSwgNSwg
JnZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngzMl9uZW9uLCAxMiksCi0gICAgICAgIFZhcmlhbmNl
UGFyYW1zKDUsIDQsICZ2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTZfbmVvbiwgMTIpLAotICAg
ICAgICBWYXJpYW5jZVBhcmFtcyg0LCA1LCAmdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDMyX25l
b24sIDEyKSwKLSAgICAgICAgVmFyaWFuY2VQYXJhbXMoNCwgNCwgJnZweF9oaWdoYmRfMTJfdmFy
aWFuY2UxNngxNl9uZW9uLCAxMiksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDQsIDMsICZ2cHhf
aGlnaGJkXzEyX3ZhcmlhbmNlMTZ4OF9uZW9uLCAxMiksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1z
KDMsIDQsICZ2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHgxNl9uZW9uLCAxMiksCi0gICAgICAgIFZh
cmlhbmNlUGFyYW1zKDMsIDMsICZ2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHg4X25lb24sIDEyKSwK
LSAgICAgICAgVmFyaWFuY2VQYXJhbXMoMywgMiwgJnZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDRf
bmVvbiwgMTIpLAotICAgICAgICBWYXJpYW5jZVBhcmFtcygyLCAzLCAmdnB4X2hpZ2hiZF8xMl92
YXJpYW5jZTR4OF9uZW9uLCAxMiksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDIsIDIsICZ2cHhf
aGlnaGJkXzEyX3ZhcmlhbmNlNHg0X25lb24sIDEyKSwKLSAgICAgICAgVmFyaWFuY2VQYXJhbXMo
NiwgNiwgJnZweF9oaWdoYmRfMTBfdmFyaWFuY2U2NHg2NF9uZW9uLCAxMCksCi0gICAgICAgIFZh
cmlhbmNlUGFyYW1zKDYsIDUsICZ2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4MzJfbmVvbiwgMTAp
LAotICAgICAgICBWYXJpYW5jZVBhcmFtcyg1LCA2LCAmdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMy
eDY0X25lb24sIDEwKSwKLSAgICAgICAgVmFyaWFuY2VQYXJhbXMoNSwgNSwgJnZweF9oaWdoYmRf
MTBfdmFyaWFuY2UzMngzMl9uZW9uLCAxMCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDUsIDQs
ICZ2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MTZfbmVvbiwgMTApLAotICAgICAgICBWYXJpYW5j
ZVBhcmFtcyg0LCA1LCAmdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDMyX25lb24sIDEwKSwKLSAg
ICAgICAgVmFyaWFuY2VQYXJhbXMoNCwgNCwgJnZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngxNl9u
ZW9uLCAxMCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDQsIDMsICZ2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlMTZ4OF9uZW9uLCAxMCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDMsIDQsICZ2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlOHgxNl9uZW9uLCAxMCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1z
KDMsIDMsICZ2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4X25lb24sIDEwKSwKLSAgICAgICAgVmFy
aWFuY2VQYXJhbXMoMywgMiwgJnZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDRfbmVvbiwgMTApLAot
ICAgICAgICBWYXJpYW5jZVBhcmFtcygyLCAzLCAmdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4OF9u
ZW9uLCAxMCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDIsIDIsICZ2cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlNHg0X25lb24sIDEwKSwKLSAgICAgICAgVmFyaWFuY2VQYXJhbXMoNiwgNiwgJnZweF9o
aWdoYmRfOF92YXJpYW5jZTY0eDY0X25lb24sIDgpLAotICAgICAgICBWYXJpYW5jZVBhcmFtcyg2
LCA1LCAmdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4MzJfbmVvbiwgOCksCi0gICAgICAgIFZhcmlh
bmNlUGFyYW1zKDUsIDYsICZ2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NF9uZW9uLCA4KSwKLSAg
ICAgICAgVmFyaWFuY2VQYXJhbXMoNSwgNSwgJnZweF9oaWdoYmRfOF92YXJpYW5jZTMyeDMyX25l
b24sIDgpLAotICAgICAgICBWYXJpYW5jZVBhcmFtcyg1LCA0LCAmdnB4X2hpZ2hiZF84X3Zhcmlh
bmNlMzJ4MTZfbmVvbiwgOCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDQsIDUsICZ2cHhfaGln
aGJkXzhfdmFyaWFuY2UxNngzMl9uZW9uLCA4KSwKLSAgICAgICAgVmFyaWFuY2VQYXJhbXMoNCwg
NCwgJnZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2X25lb24sIDgpLAotICAgICAgICBWYXJpYW5j
ZVBhcmFtcyg0LCAzLCAmdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMTZ4OF9uZW9uLCA4KSwKLSAgICAg
ICAgVmFyaWFuY2VQYXJhbXMoMywgNCwgJnZweF9oaWdoYmRfOF92YXJpYW5jZTh4MTZfbmVvbiwg
OCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDMsIDMsICZ2cHhfaGlnaGJkXzhfdmFyaWFuY2U4
eDhfbmVvbiwgOCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDMsIDIsICZ2cHhfaGlnaGJkXzhf
dmFyaWFuY2U4eDRfbmVvbiwgOCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDIsIDMsICZ2cHhf
aGlnaGJkXzhfdmFyaWFuY2U0eDhfbmVvbiwgOCksCi0gICAgICAgIFZhcmlhbmNlUGFyYW1zKDIs
IDIsICZ2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDRfbmVvbiwgOCkpKTsKLQotSU5TVEFOVElBVEVf
VEVTVF9TVUlURV9QKAotICAgIE5FT04sIFZweEhCRFN1YnBlbFZhcmlhbmNlVGVzdCwKLSAgICA6
OnRlc3Rpbmc6OlZhbHVlcygKLSAgICAgICAgU3VicGVsVmFyaWFuY2VQYXJhbXMoNiwgNiwgJnZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjRfbmVvbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMTIpLAotICAgICAgICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg2LCA1LCAm
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMl9uZW9uLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNlUGFyYW1zKDUsIDYs
ICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0X25lb24sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsVmFyaWFuY2VQYXJhbXMoNSwg
NSwgJnZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MzJfbmVvbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTIpLAotICAgICAgICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg1
LCA0LCAmdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNl9uZW9uLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNlUGFyYW1z
KDQsIDUsICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyX25lb24sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsVmFyaWFuY2VQYXJh
bXMoNCwgNCwgJnZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTZfbmVvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIpLAotICAgICAgICBTdWJwZWxWYXJpYW5jZVBh
cmFtcyg0LCAzLCAmdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4X25lb24sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsVmFyaWFuY2VQ
YXJhbXMoMywgNCwgJnZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNl9uZW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNl
UGFyYW1zKDMsIDMsICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4OF9uZW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNl
UGFyYW1zKDMsIDIsICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4NF9uZW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNl
UGFyYW1zKDIsIDMsICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4OF9uZW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNl
UGFyYW1zKDIsIDIsICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTR4NF9uZW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNl
UGFyYW1zKDYsIDYsICZ2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0X25lb24s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwKSwKLSAgICAgICAgU3VicGVsVmFyaWFu
Y2VQYXJhbXMoNiwgNSwgJnZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzJfbmVv
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBTdWJwZWxWYXJp
YW5jZVBhcmFtcyg1LCA2LCAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NF9u
ZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCksCi0gICAgICAgIFN1YnBlbFZh
cmlhbmNlUGFyYW1zKDUsIDUsICZ2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDMy
X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwKSwKLSAgICAgICAgU3VicGVs
VmFyaWFuY2VQYXJhbXMoNSwgNCwgJnZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4
MTZfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBTdWJw
ZWxWYXJpYW5jZVBhcmFtcyg0LCA1LCAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2Ux
NngzMl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCksCi0gICAgICAgIFN1
YnBlbFZhcmlhbmNlUGFyYW1zKDQsIDQsICZ2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTE2eDE2X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwKSwKLSAgICAgICAg
U3VicGVsVmFyaWFuY2VQYXJhbXMoNCwgMywgJnZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3Zhcmlh
bmNlMTZ4OF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCksCi0gICAgICAg
IFN1YnBlbFZhcmlhbmNlUGFyYW1zKDMsIDQsICZ2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJp
YW5jZTh4MTZfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcygzLCAzLCAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcygzLCAyLCAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2U4eDRfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcygyLCAzLCAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2U0eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcygyLCAyLCAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2U0eDRfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg2LCA2LCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTY0eDY0X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg2LCA1LCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTY0eDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg1LCA2LCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTMyeDY0X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg1LCA1LCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg1LCA0LCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTMyeDE2X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg0LCA1LCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTE2eDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg0LCA0LCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTE2eDE2X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxWYXJpYW5jZVBhcmFtcyg0LCAzLCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTE2eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOCksCi0gICAgICAg
IFN1YnBlbFZhcmlhbmNlUGFyYW1zKDMsIDQsICZ2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zhcmlh
bmNlOHgxNl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4KSwKLSAgICAgICAg
U3VicGVsVmFyaWFuY2VQYXJhbXMoMywgMywgJnZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDhfbmVvbiwgOCksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNlUGFyYW1zKDMsIDIsICZ2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0X25lb24sIDgpLAotICAgICAgICBTdWJwZWxW
YXJpYW5jZVBhcmFtcygyLCAzLCAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4OF9u
ZW9uLCA4KSwKLSAgICAgICAgU3VicGVsVmFyaWFuY2VQYXJhbXMoMiwgMiwgJnZweF9oaWdoYmRf
OF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDRfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOCkpKTsKLQotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAotICAgIE5FT04sIFZweEhCRFN1
YnBlbEF2Z1ZhcmlhbmNlVGVzdCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVlcygKLSAgICAgICAgU3Vi
cGVsQXZnVmFyaWFuY2VQYXJhbXMoNiwgNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJnZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X25lb24sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFu
Y2VQYXJhbXMoNiwgNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyX25lb24sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoNSwg
NiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTMyeDY0X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEyKSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoNSwgNSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyKSwKLSAg
ICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoNSwgNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2X25l
b24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVs
QXZnVmFyaWFuY2VQYXJhbXMoNCwgNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JnZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyX25lb24sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQ
YXJhbXMoNCwgNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoNCwgMywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTE2eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MTIpLAotICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcygzLCA0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
OHgxNl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMiksCi0gICAgICAg
IFN1YnBlbEF2Z1ZhcmlhbmNlUGFyYW1zKDMsIDMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDhfbmVvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIpLAotICAgICAgICBTdWJwZWxBdmdWYXJp
YW5jZVBhcmFtcygzLCAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0X25lb24sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEyKSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoMiwg
MywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTR4OF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxMiksCi0gICAgICAgIFN1YnBlbEF2Z1ZhcmlhbmNlUGFyYW1zKDIsIDIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U0eDRfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIpLAotICAgICAg
ICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcyg2LCA2LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjRfbmVvbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBTdWJwZWxBdmdW
YXJpYW5jZVBhcmFtcyg2LCA1LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzJfbmVvbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFt
cyg1LCA2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTApLAotICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcyg1LCA1LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlMzJ4MzJfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAp
LAotICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcyg1LCA0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4
MTZfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBT
dWJwZWxBdmdWYXJpYW5jZVBhcmFtcyg0LCA1LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfbmVvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBTdWJwZWxBdmdWYXJp
YW5jZVBhcmFtcyg0LCA0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hp
Z2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTZfbmVvbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcyg0
LCAzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF8xMF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxMCksCi0gICAgICAgIFN1YnBlbEF2Z1ZhcmlhbmNlUGFyYW1zKDMsIDQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U4eDE2X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwKSwKLSAg
ICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoMywgMywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OF9uZW9u
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCksCi0gICAgICAgIFN1YnBlbEF2
Z1ZhcmlhbmNlUGFyYW1zKDMsIDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDRfbmVvbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTApLAotICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFt
cygyLCAzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEwKSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoMiwgMiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTR4NF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCksCi0g
ICAgICAgIFN1YnBlbEF2Z1ZhcmlhbmNlUGFyYW1zKDYsIDYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZ2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0X25l
b24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAgICBTdWJwZWxB
dmdWYXJpYW5jZVBhcmFtcyg2LCA1LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMl9uZW9uLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA4KSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJh
bXMoNSwgNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjRfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOCksCi0gICAgICAgIFN1YnBlbEF2Z1ZhcmlhbmNlUGFyYW1zKDUsIDUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAot
ICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcyg1LCA0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNl9u
ZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4KSwKLSAgICAgICAgU3VicGVs
QXZnVmFyaWFuY2VQYXJhbXMoNCwgNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JnZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzJfbmVvbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOCksCi0gICAgICAgIFN1YnBlbEF2Z1ZhcmlhbmNlUGFy
YW1zKDQsIDQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDgpLAotICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcyg0LCAzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UxNng4X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAot
ICAgICAgICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcygzLCA0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2X25l
b24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAgICBTdWJwZWxB
dmdWYXJpYW5jZVBhcmFtcygzLCAzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDhfbmVvbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOCksCi0gICAgICAgIFN1YnBlbEF2Z1ZhcmlhbmNlUGFyYW1z
KDMsIDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTh4NF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA4KSwKLSAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoMiwgMywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNHg4X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpLAotICAgICAg
ICBTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcygyLCAyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDRfbmVvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOCkpKTsKLQotI2VuZGlmICAvLyBDT05GSUdf
VlA5X0hJR0hCSVRERVBUSAogI2VuZGlmICAvLyBIQVZFX05FT04KIAogI2lmIEhBVkVfTVNBCkBA
IC0xOTY3LDI3ICsxNjE2LDQgQEAgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgICAgICBT
dWJwZWxBdmdWYXJpYW5jZVBhcmFtcygyLCAzLCAmdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0
eDhfbW1pLCAwKSwKICAgICAgICAgU3VicGVsQXZnVmFyaWFuY2VQYXJhbXMoMiwgMiwgJnZweF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0X21taSwgMCkpKTsKICNlbmRpZiAgLy8gSEFWRV9NTUkK
LQotI2lmIEhBVkVfTFNYCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTFNYLCBWcHhNc2VUZXN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKE1zZVBhcmFtcyg0
LCA0LCAmdnB4X21zZTE2eDE2X2xzeCkpKTsKLQotSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAot
ICAgIExTWCwgVnB4VmFyaWFuY2VUZXN0LAotICAgIDo6dGVzdGluZzo6VmFsdWVzKFZhcmlhbmNl
UGFyYW1zKDYsIDYsICZ2cHhfdmFyaWFuY2U2NHg2NF9sc3gpLAotICAgICAgICAgICAgICAgICAg
ICAgIFZhcmlhbmNlUGFyYW1zKDUsIDUsICZ2cHhfdmFyaWFuY2UzMngzMl9sc3gpLAotICAgICAg
ICAgICAgICAgICAgICAgIFZhcmlhbmNlUGFyYW1zKDQsIDQsICZ2cHhfdmFyaWFuY2UxNngxNl9s
c3gpLAotICAgICAgICAgICAgICAgICAgICAgIFZhcmlhbmNlUGFyYW1zKDMsIDMsICZ2cHhfdmFy
aWFuY2U4eDhfbHN4KSkpOwotCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCi0gICAgTFNYLCBW
cHhTdWJwZWxWYXJpYW5jZVRlc3QsCi0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMoCi0gICAgICAgIFN1
YnBlbFZhcmlhbmNlUGFyYW1zKDMsIDMsICZ2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4X2xzeCwg
MCksCi0gICAgICAgIFN1YnBlbFZhcmlhbmNlUGFyYW1zKDQsIDQsICZ2cHhfc3ViX3BpeGVsX3Zh
cmlhbmNlMTZ4MTZfbHN4LCAwKSwKLSAgICAgICAgU3VicGVsVmFyaWFuY2VQYXJhbXMoNSwgNSwg
JnZweF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMl9sc3gsIDApKSk7Ci0KLUlOU1RBTlRJQVRFX1RF
U1RfU1VJVEVfUChMU1gsIFZweFN1YnBlbEF2Z1ZhcmlhbmNlVGVzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlcyhTdWJwZWxBdmdWYXJpYW5jZVBhcmFtcygKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgNiwgNiwgJnZweF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNjR4NjRfbHN4LCAwKSkpOwotI2VuZGlmCiB9ICAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGVzdC92aWRlb19zb3VyY2UuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92aWRlb19z
b3VyY2UuaAppbmRleCAyMTk0MTI2ZjFmZjQuLmU5MzQwZjIxZTllYSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L3ZpZGVvX3NvdXJjZS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92aWRlb19z
b3VyY2UuaApAQCAtMjAsMTQgKzIwLDggQEAKICNlbmRpZgogI2luY2x1ZGUgPGNzdGRpbz4KICNp
bmNsdWRlIDxjc3RkbGliPgotI2luY2x1ZGUgPGNzdHJpbmc+Ci0jaW5jbHVkZSA8bWVtb3J5Pgog
I2luY2x1ZGUgPHN0cmluZz4KLQogI2luY2x1ZGUgInRlc3QvYWNtX3JhbmRvbS5oIgotI2lmICFk
ZWZpbmVkKF9XSU4zMikKLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNs
dWRlL2d0ZXN0L2d0ZXN0LmgiCi0jZW5kaWYKICNpbmNsdWRlICJ2cHgvdnB4X2VuY29kZXIuaCIK
IAogbmFtZXNwYWNlIGxpYnZweF90ZXN0IHsKQEAgLTQyLDcgKzM2LDcgQEAgbmFtZXNwYWNlIGxp
YnZweF90ZXN0IHsKIC8vIEEgc2ltcGxlIGZ1bmN0aW9uIHRvIGVuY2Fwc3VsYXRlIGNyb3NzIHBs
YXRmb3JtIHJldHJpZXZhbCBvZiB0ZXN0IGRhdGEgcGF0aAogc3RhdGljIHN0ZDo6c3RyaW5nIEdl
dERhdGFQYXRoKCkgewogICBjb25zdCBjaGFyICpjb25zdCBkYXRhX3BhdGggPSBnZXRlbnYoIkxJ
QlZQWF9URVNUX0RBVEFfUEFUSCIpOwotICBpZiAoZGF0YV9wYXRoID09IG51bGxwdHIpIHsKKyAg
aWYgKGRhdGFfcGF0aCA9PSBOVUxMKSB7CiAjaWZkZWYgTElCVlBYX1RFU1RfREFUQV9QQVRICiAg
ICAgLy8gSW4gc29tZSBlbnZpcm9ubWVudHMsIHdlIGNhbm5vdCBzZXQgZW52aXJvbm1lbnQgdmFy
aWFibGVzCiAgICAgLy8gSW5zdGVhZCwgd2Ugc2V0IHRoZSBkYXRhIHBhdGggYnkgdXNpbmcgYSBw
cmVwcm9jZXNzb3Igc3ltYm9sCkBAIC02NCw3ICs1OCw3IEBAIGlubGluZSBGSUxFICpPcGVuVGVz
dERhdGFGaWxlKGNvbnN0IHN0ZDo6c3RyaW5nICZmaWxlX25hbWUpIHsKICAgcmV0dXJuIGZvcGVu
KHBhdGhfdG9fc291cmNlLmNfc3RyKCksICJyYiIpOwogfQogCi1zdGF0aWMgRklMRSAqR2V0VGVt
cE91dEZpbGUoc3RkOjpzdHJpbmcgKmZpbGVfbmFtZSwgY29uc3QgY2hhciAqaW9fbW9kZSkgewor
c3RhdGljIEZJTEUgKkdldFRlbXBPdXRGaWxlKHN0ZDo6c3RyaW5nICpmaWxlX25hbWUpIHsKICAg
ZmlsZV9uYW1lLT5jbGVhcigpOwogI2lmIGRlZmluZWQoX1dJTjMyKQogICBjaGFyIGZuYW1lW01B
WF9QQVRIXTsKQEAgLTczLDM3ICs2NywxOCBAQCBzdGF0aWMgRklMRSAqR2V0VGVtcE91dEZpbGUo
c3RkOjpzdHJpbmcgKmZpbGVfbmFtZSwgY29uc3QgY2hhciAqaW9fbW9kZSkgewogICAgIC8vIEFz
c3VtZSBmb3Igbm93IHRoYXQgdGhlIGZpbGVuYW1lIGdlbmVyYXRlZCBpcyB1bmlxdWUgcGVyIHBy
b2Nlc3MKICAgICBpZiAoR2V0VGVtcEZpbGVOYW1lQSh0bXBwYXRoLCAibHZ4IiwgMCwgZm5hbWUp
KSB7CiAgICAgICBmaWxlX25hbWUtPmFzc2lnbihmbmFtZSk7Ci0gICAgICByZXR1cm4gZm9wZW4o
Zm5hbWUsIGlvX21vZGUpOworICAgICAgcmV0dXJuIGZvcGVuKGZuYW1lLCAid2IrIik7CiAgICAg
fQogICB9Ci0gIHJldHVybiBudWxscHRyOworICByZXR1cm4gTlVMTDsKICNlbHNlCi0gIHN0ZDo6
c3RyaW5nIHRlbXBfZGlyID0gdGVzdGluZzo6VGVtcERpcigpOwotICBpZiAodGVtcF9kaXIuZW1w
dHkoKSkgcmV0dXJuIG51bGxwdHI7Ci0gIC8vIFZlcnNpb25zIG9mIHRlc3Rpbmc6OlRlbXBEaXIo
KSBwcmlvciB0byByZWxlYXNlLTEuMTEuMC0yMTQtZzVlNmE1MzM2IG1heQotICAvLyB1c2UgdGhl
IHZhbHVlIG9mIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHdpdGhvdXQgY2hlY2tpbmcgZm9yIGEg
dHJhaWxpbmcKLSAgLy8gcGF0aCBkZWxpbWl0ZXIuCi0gIGlmICh0ZW1wX2Rpclt0ZW1wX2Rpci5z
aXplKCkgLSAxXSAhPSAnLycpIHRlbXBfZGlyICs9ICcvJzsKLSAgY29uc3QgY2hhciBuYW1lX3Rl
bXBsYXRlW10gPSAibGlidnB4dGVzdC5YWFhYWFgiOwotICBzdGQ6OnVuaXF1ZV9wdHI8Y2hhcltd
PiB0ZW1wX2ZpbGVfbmFtZSgKLSAgICAgIG5ldyBjaGFyW3RlbXBfZGlyLnNpemUoKSArIHNpemVv
ZihuYW1lX3RlbXBsYXRlKV0pOwotICBpZiAodGVtcF9maWxlX25hbWUgPT0gbnVsbHB0cikgcmV0
dXJuIG51bGxwdHI7Ci0gIG1lbWNweSh0ZW1wX2ZpbGVfbmFtZS5nZXQoKSwgdGVtcF9kaXIuZGF0
YSgpLCB0ZW1wX2Rpci5zaXplKCkpOwotICBtZW1jcHkodGVtcF9maWxlX25hbWUuZ2V0KCkgKyB0
ZW1wX2Rpci5zaXplKCksIG5hbWVfdGVtcGxhdGUsCi0gICAgICAgICBzaXplb2YobmFtZV90ZW1w
bGF0ZSkpOwotICBjb25zdCBpbnQgZmQgPSBta3N0ZW1wKHRlbXBfZmlsZV9uYW1lLmdldCgpKTsK
LSAgaWYgKGZkID09IC0xKSByZXR1cm4gbnVsbHB0cjsKLSAgKmZpbGVfbmFtZSA9IHRlbXBfZmls
ZV9uYW1lLmdldCgpOwotICByZXR1cm4gZmRvcGVuKGZkLCBpb19tb2RlKTsKKyAgcmV0dXJuIHRt
cGZpbGUoKTsKICNlbmRpZgogfQogCiBjbGFzcyBUZW1wT3V0RmlsZSB7CiAgcHVibGljOgotICBU
ZW1wT3V0RmlsZSgpIHsgZmlsZV8gPSBHZXRUZW1wT3V0RmlsZSgmZmlsZV9uYW1lXywgIndiKyIp
OyB9Ci0gIFRlbXBPdXRGaWxlKGNvbnN0IGNoYXIgKmlvX21vZGUpIHsKLSAgICBmaWxlXyA9IEdl
dFRlbXBPdXRGaWxlKCZmaWxlX25hbWVfLCBpb19tb2RlKTsKLSAgfQorICBUZW1wT3V0RmlsZSgp
IHsgZmlsZV8gPSBHZXRUZW1wT3V0RmlsZSgmZmlsZV9uYW1lXyk7IH0KICAgflRlbXBPdXRGaWxl
KCkgewogICAgIENsb3NlRmlsZSgpOwogICAgIGlmICghZmlsZV9uYW1lXy5lbXB0eSgpKSB7CkBA
IC0xMTcsNyArOTIsNyBAQCBjbGFzcyBUZW1wT3V0RmlsZSB7CiAgIHZvaWQgQ2xvc2VGaWxlKCkg
ewogICAgIGlmIChmaWxlXykgewogICAgICAgZmNsb3NlKGZpbGVfKTsKLSAgICAgIGZpbGVfID0g
bnVsbHB0cjsKKyAgICAgIGZpbGVfID0gTlVMTDsKICAgICB9CiAgIH0KICAgRklMRSAqZmlsZV87
CkBAIC0xMzYsNyArMTExLDcgQEAgY2xhc3MgVmlkZW9Tb3VyY2UgewogICAvLyBBZHZhbmNlIHRo
ZSBjdXJzb3IgdG8gdGhlIG5leHQgZnJhbWUKICAgdmlydHVhbCB2b2lkIE5leHQoKSA9IDA7CiAK
LSAgLy8gR2V0IHRoZSBjdXJyZW50IHZpZGVvIGZyYW1lLCBvciBudWxscHRyIG9uIEVuZC1PZi1T
dHJlYW0uCisgIC8vIEdldCB0aGUgY3VycmVudCB2aWRlbyBmcmFtZSwgb3IgTlVMTCBvbiBFbmQt
T2YtU3RyZWFtLgogICB2aXJ0dWFsIHZweF9pbWFnZV90ICppbWcoKSBjb25zdCA9IDA7CiAKICAg
Ly8gR2V0IHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wIG9mIHRoZSBjdXJyZW50IGZyYW1lLgpA
QCAtMTU4LDQwICsxMzMsMzggQEAgY2xhc3MgVmlkZW9Tb3VyY2UgewogY2xhc3MgRHVtbXlWaWRl
b1NvdXJjZSA6IHB1YmxpYyBWaWRlb1NvdXJjZSB7CiAgcHVibGljOgogICBEdW1teVZpZGVvU291
cmNlKCkKLSAgICAgIDogaW1nXyhudWxscHRyKSwgbGltaXRfKDEwMCksIHdpZHRoXyg4MCksIGhl
aWdodF8oNjQpLAorICAgICAgOiBpbWdfKE5VTEwpLCBsaW1pdF8oMTAwKSwgd2lkdGhfKDgwKSwg
aGVpZ2h0Xyg2NCksCiAgICAgICAgIGZvcm1hdF8oVlBYX0lNR19GTVRfSTQyMCkgewogICAgIFJl
YWxsb2NJbWFnZSgpOwogICB9CiAKLSAgfkR1bW15VmlkZW9Tb3VyY2UoKSBvdmVycmlkZSB7IHZw
eF9pbWdfZnJlZShpbWdfKTsgfQorICB2aXJ0dWFsIH5EdW1teVZpZGVvU291cmNlKCkgeyB2cHhf
aW1nX2ZyZWUoaW1nXyk7IH0KIAotICB2b2lkIEJlZ2luKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFs
IHZvaWQgQmVnaW4oKSB7CiAgICAgZnJhbWVfID0gMDsKICAgICBGaWxsRnJhbWUoKTsKICAgfQog
Ci0gIHZvaWQgTmV4dCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIE5leHQoKSB7CiAgICAg
KytmcmFtZV87CiAgICAgRmlsbEZyYW1lKCk7CiAgIH0KIAotICB2cHhfaW1hZ2VfdCAqaW1nKCkg
Y29uc3Qgb3ZlcnJpZGUgewotICAgIHJldHVybiAoZnJhbWVfIDwgbGltaXRfKSA/IGltZ18gOiBu
dWxscHRyOwotICB9CisgIHZpcnR1YWwgdnB4X2ltYWdlX3QgKmltZygpIGNvbnN0IHsgcmV0dXJu
IChmcmFtZV8gPCBsaW1pdF8pID8gaW1nXyA6IE5VTEw7IH0KIAogICAvLyBNb2RlbHMgYSBzdHJl
YW0gd2hlcmUgVGltZWJhc2UgPSAxL0ZQUywgc28gcHRzID09IGZyYW1lLgotICB2cHhfY29kZWNf
cHRzX3QgcHRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVfOyB9CisgIHZpcnR1YWwg
dnB4X2NvZGVjX3B0c190IHB0cygpIGNvbnN0IHsgcmV0dXJuIGZyYW1lXzsgfQogCi0gIHVuc2ln
bmVkIGxvbmcgZHVyYXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAxOyB9CisgIHZpcnR1
YWwgdW5zaWduZWQgbG9uZyBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIDE7IH0KIAotICB2cHhf
cmF0aW9uYWxfdCB0aW1lYmFzZSgpIGNvbnN0IG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2cHhfcmF0
aW9uYWxfdCB0aW1lYmFzZSgpIGNvbnN0IHsKICAgICBjb25zdCB2cHhfcmF0aW9uYWxfdCB0ID0g
eyAxLCAzMCB9OwogICAgIHJldHVybiB0OwogICB9CiAKLSAgdW5zaWduZWQgaW50IGZyYW1lKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVfOyB9CisgIHZpcnR1YWwgdW5zaWduZWQgaW50
IGZyYW1lKCkgY29uc3QgeyByZXR1cm4gZnJhbWVfOyB9CiAKLSAgdW5zaWduZWQgaW50IGxpbWl0
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbGltaXRfOyB9CisgIHZpcnR1YWwgdW5zaWduZWQg
aW50IGxpbWl0KCkgY29uc3QgeyByZXR1cm4gbGltaXRfOyB9CiAKICAgdm9pZCBzZXRfbGltaXQo
dW5zaWduZWQgaW50IGxpbWl0KSB7IGxpbWl0XyA9IGxpbWl0OyB9CiAKQEAgLTIxNyw5ICsxOTAs
OCBAQCBjbGFzcyBEdW1teVZpZGVvU291cmNlIDogcHVibGljIFZpZGVvU291cmNlIHsKIAogICB2
b2lkIFJlYWxsb2NJbWFnZSgpIHsKICAgICB2cHhfaW1nX2ZyZWUoaW1nXyk7Ci0gICAgaW1nXyA9
IHZweF9pbWdfYWxsb2MobnVsbHB0ciwgZm9ybWF0Xywgd2lkdGhfLCBoZWlnaHRfLCAzMik7Ci0g
ICAgQVNTRVJUX05FKGltZ18sIG51bGxwdHIpOwotICAgIHJhd19zel8gPSAoKGltZ18tPncgKyAz
MSkgJiB+MzF1KSAqIGltZ18tPmggKiBpbWdfLT5icHMgLyA4OworICAgIGltZ18gPSB2cHhfaW1n
X2FsbG9jKE5VTEwsIGZvcm1hdF8sIHdpZHRoXywgaGVpZ2h0XywgMzIpOworICAgIHJhd19zel8g
PSAoKGltZ18tPncgKyAzMSkgJiB+MzEpICogaW1nXy0+aCAqIGltZ18tPmJwcyAvIDg7CiAgIH0K
IAogICB2cHhfaW1hZ2VfdCAqaW1nXzsKQEAgLTIzOCw3ICsyMTAsNyBAQCBjbGFzcyBSYW5kb21W
aWRlb1NvdXJjZSA6IHB1YmxpYyBEdW1teVZpZGVvU291cmNlIHsKIAogIHByb3RlY3RlZDoKICAg
Ly8gUmVzZXQgdGhlIFJORyB0byBnZXQgYSBtYXRjaGluZyBzdHJlYW0gZm9yIHRoZSBzZWNvbmQg
cGFzcwotICB2b2lkIEJlZ2luKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgQmVnaW4oKSB7
CiAgICAgZnJhbWVfID0gMDsKICAgICBybmRfLlJlc2V0KHNlZWRfKTsKICAgICBGaWxsRnJhbWUo
KTsKQEAgLTI0Niw3ICsyMTgsNyBAQCBjbGFzcyBSYW5kb21WaWRlb1NvdXJjZSA6IHB1YmxpYyBE
dW1teVZpZGVvU291cmNlIHsKIAogICAvLyAxNSBmcmFtZXMgb2Ygbm9pc2UsIGZvbGxvd2VkIGJ5
IDE1IHN0YXRpYyBmcmFtZXMuIFJlc2V0IHRvIDAgcmF0aGVyCiAgIC8vIHRoYW4gaG9sZGluZyBw
cmV2aW91cyBmcmFtZXMgdG8gZW5jb3VyYWdlIGtleWZyYW1lcyB0byBiZSB0aHJvd24uCi0gIHZv
aWQgRmlsbEZyYW1lKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgRmlsbEZyYW1lKCkgewog
ICAgIGlmIChpbWdfKSB7CiAgICAgICBpZiAoZnJhbWVfICUgMzAgPCAxNSkgewogICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHJhd19zel87ICsraSkgaW1nXy0+aW1nX2RhdGFbaV0gPSBy
bmRfLlJhbmQ4KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA4X2RhdGFyYXRlX3Rl
c3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA4X2RhdGFyYXRlX3Rlc3QuY2MKaW5kZXggYWVlMjdh
ZjY2ZWRjLi5kY2Q2OGEyZDRjN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDhfZGF0
YXJhdGVfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA4X2RhdGFyYXRlX3Rlc3QuY2MK
QEAgLTI0LDEwICsyNCwxMCBAQCBjbGFzcyBEYXRhcmF0ZVRlc3RMYXJnZQogIHB1YmxpYzoKICAg
RGF0YXJhdGVUZXN0TGFyZ2UoKSA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgwKSkge30KIAotICB+
RGF0YXJhdGVUZXN0TGFyZ2UoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkRhdGFy
YXRlVGVzdExhcmdlKCkge30KIAogIHByb3RlY3RlZDoKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRl
IHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxpemVDb25maWcoKTsKICAg
ICBTZXRNb2RlKEdFVF9QQVJBTSgxKSk7CiAgICAgc2V0X2NwdV91c2VkXyA9IEdFVF9QQVJBTSgy
KTsKQEAgLTQ3LDggKzQ3LDggQEAgY2xhc3MgRGF0YXJhdGVUZXN0TGFyZ2UKICAgICB1c2Vfcm9p
XyA9IGZhbHNlOwogICB9CiAKLSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVz
dDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZw
eF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVF
bmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29k
ZXIpIHsKICAgICBpZiAodmlkZW8tPmZyYW1lKCkgPT0gMCkgewogICAgICAgZW5jb2Rlci0+Q29u
dHJvbChWUDhFX1NFVF9OT0lTRV9TRU5TSVRJVklUWSwgZGVub2lzZXJfb25fKTsKICAgICAgIGVu
Y29kZXItPkNvbnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgc2V0X2NwdV91c2VkXyk7CkBAIC03NCw3
ICs3NCw3IEBAIGNsYXNzIERhdGFyYXRlVGVzdExhcmdlCiAgICAgZHVyYXRpb25fID0gMDsKICAg
fQogCi0gIHZvaWQgRnJhbWVQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSBv
dmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4
X3BrdF90ICpwa3QpIHsKICAgICAvLyBUaW1lIHNpbmNlIGxhc3QgdGltZXN0YW1wID0gZHVyYXRp
b24uCiAgICAgdnB4X2NvZGVjX3B0c190IGR1cmF0aW9uID0gcGt0LT5kYXRhLmZyYW1lLnB0cyAt
IGxhc3RfcHRzXzsKIApAQCAtMTIxLDcgKzEyMSw3IEBAIGNsYXNzIERhdGFyYXRlVGVzdExhcmdl
CiAgICAgKytmcmFtZV9udW1iZXJfOwogICB9CiAKLSAgdm9pZCBFbmRQYXNzSG9vaygpIG92ZXJy
aWRlIHsKKyAgdmlydHVhbCB2b2lkIEVuZFBhc3NIb29rKHZvaWQpIHsKICAgICBpZiAoYml0c190
b3RhbF8pIHsKICAgICAgIGNvbnN0IGRvdWJsZSBmaWxlX3NpemVfaW5fa2IgPSBiaXRzX3RvdGFs
XyAvIDEwMDAuOyAgLy8gYml0cyBwZXIga2lsb2JpdAogCkBAIC0zMDEsNyArMzAxLDcgQEAgVEVT
VF9QKERhdGFyYXRlVGVzdExhcmdlLCBEcm9wRnJhbWVzTXVsdGlUaHJlYWRzKSB7CiAKIGNsYXNz
IERhdGFyYXRlVGVzdFJlYWxUaW1lIDogcHVibGljIERhdGFyYXRlVGVzdExhcmdlIHsKICBwdWJs
aWM6Ci0gIH5EYXRhcmF0ZVRlc3RSZWFsVGltZSgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmly
dHVhbCB+RGF0YXJhdGVUZXN0UmVhbFRpbWUoKSB7fQogfTsKIAogI2lmIENPTkZJR19URU1QT1JB
TF9ERU5PSVNJTkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDhfZGVub2lzZXJfc3Nl
Ml90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOF9kZW5vaXNlcl9zc2UyX3Rlc3QuY2MKaW5k
ZXggN2ZhODY3ZDhiYjcxLi4wMTk3ZjE0M2YzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC92cDhfZGVub2lzZXJfc3NlMl90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDhfZGVu
b2lzZXJfc3NlMl90ZXN0LmNjCkBAIC0zMCwyMiArMzAsMTcgQEAgbmFtZXNwYWNlIHsKIGNvbnN0
IGludCBrTnVtUGl4ZWxzID0gMTYgKiAxNjsKIGNsYXNzIFZQOERlbm9pc2VyVGVzdCA6IHB1Ymxp
YyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08aW50PiB7CiAgcHVibGljOgotICB+VlA4RGVub2lz
ZXJUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5WUDhEZW5vaXNlclRlc3Qo
KSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7IGluY3JlYXNlX2Rlbm9pc2luZ18gPSBH
ZXRQYXJhbSgpOyB9CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsgaW5jcmVhc2VfZGVub2lzaW5n
XyA9IEdldFBhcmFtKCk7IH0KIAotICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGUgeyBsaWJ2cHhf
dGVzdDo6Q2xlYXJTeXN0ZW1TdGF0ZSgpOyB9CisgIHZpcnR1YWwgdm9pZCBUZWFyRG93bigpIHsg
bGlidnB4X3Rlc3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQogCiAgcHJvdGVjdGVkOgogICBpbnQg
aW5jcmVhc2VfZGVub2lzaW5nXzsKIH07CiAKLS8vIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vd2Vi
bS8xNzE4KTogVGhpcyB0ZXN0IGZhaWxzIHdpdGggZ2NjIDgtMTAuCi0jaWYgZGVmaW5lZChfX0dO
VUNfXykgJiYgX19HTlVDX18gPj0gOAotVEVTVF9QKFZQOERlbm9pc2VyVGVzdCwgRElTQUJMRURf
Qml0ZXhhY3RDaGVjaykgewotI2Vsc2UKIFRFU1RfUChWUDhEZW5vaXNlclRlc3QsIEJpdGV4YWN0
Q2hlY2spIHsKLSNlbmRpZgogICBBQ01SYW5kb20gcm5kKEFDTVJhbmRvbTo6RGV0ZXJtaW5pc3Rp
Y1NlZWQoKSk7CiAgIGNvbnN0IGludCBjb3VudF90ZXN0X2Jsb2NrID0gNDAwMDsKICAgY29uc3Qg
aW50IHN0cmlkZSA9IDE2OwpAQCAtOTIsNyArODcsNyBAQCBURVNUX1AoVlA4RGVub2lzZXJUZXN0
LCBCaXRleGFjdENoZWNrKSB7CiAgICAgLy8gQ2hlY2sgYml0ZXhhY3RuZXNzLgogICAgIGZvciAo
aW50IGggPSAwOyBoIDwgMTY7ICsraCkgewogICAgICAgZm9yIChpbnQgdyA9IDA7IHcgPCAxNjsg
Kyt3KSB7Ci0gICAgICAgIEFTU0VSVF9FUShhdmdfYmxvY2tfY1toICogc3RyaWRlICsgd10sIGF2
Z19ibG9ja19zc2UyW2ggKiBzdHJpZGUgKyB3XSk7CisgICAgICAgIEVYUEVDVF9FUShhdmdfYmxv
Y2tfY1toICogc3RyaWRlICsgd10sIGF2Z19ibG9ja19zc2UyW2ggKiBzdHJpZGUgKyB3XSk7CiAg
ICAgICB9CiAgICAgfQogCkBAIC0xMDgsNyArMTAzLDcgQEAgVEVTVF9QKFZQOERlbm9pc2VyVGVz
dCwgQml0ZXhhY3RDaGVjaykgewogICAgIC8vIENoZWNrIGJpdGV4YWN0bmVzcy4KICAgICBmb3Ig
KGludCBoID0gMDsgaCA8IDE2OyArK2gpIHsKICAgICAgIGZvciAoaW50IHcgPSAwOyB3IDwgMTY7
ICsrdykgewotICAgICAgICBBU1NFUlRfRVEoYXZnX2Jsb2NrX2NbaCAqIHN0cmlkZSArIHddLCBh
dmdfYmxvY2tfc3NlMltoICogc3RyaWRlICsgd10pOworICAgICAgICBFWFBFQ1RfRVEoYXZnX2Js
b2NrX2NbaCAqIHN0cmlkZSArIHddLCBhdmdfYmxvY2tfc3NlMltoICogc3RyaWRlICsgd10pOwog
ICAgICAgfQogICAgIH0KICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOF9mZGN0
NHg0X3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA4X2ZkY3Q0eDRfdGVzdC5jYwppbmRleCA2
NmQ1YzE1MWM1NDcuLmQ1YWMyNTMwMDNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Zw
OF9mZGN0NHg0X3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOF9mZGN0NHg0X3Rlc3Qu
Y2MKQEAgLTc0LDcgKzc0LDcgQEAgdXNpbmcgbGlidnB4X3Rlc3Q6OkFDTVJhbmRvbTsKIAogY2xh
c3MgRmRjdFRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEZkY3RGdW5jPiB7
CiAgcHVibGljOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0
VXAoKSB7CiAgICAgZmRjdF9mdW5jXyA9IEdldFBhcmFtKCk7CiAgICAgcm5kXy5SZXNldChBQ01S
YW5kb206OkRldGVybWluaXN0aWNTZWVkKCkpOwogICB9CkBAIC0xNDgsNyArMTQ4LDcgQEAgVEVT
VF9QKEZkY3RUZXN0LCBTaWduQmlhc0NoZWNrKSB7CiAKICAgRVhQRUNUX0VRKHRydWUsIGJpYXNf
YWNjZXB0YWJsZSkKICAgICAgIDw8ICJFcnJvcjogNHg0IEZEQ1QgaGFzIGEgc2lnbiBiaWFzID4g
MTAlIGZvciBpbnB1dCByYW5nZSBbLTE1LCAxNV0iOwotfQorfTsKIAogVEVTVF9QKEZkY3RUZXN0
LCBSb3VuZFRyaXBFcnJvckNoZWNrKSB7CiAgIGludCBtYXhfZXJyb3IgPSAwOwpAQCAtMTgxLDcg
KzE4MSw3IEBAIFRFU1RfUChGZGN0VGVzdCwgUm91bmRUcmlwRXJyb3JDaGVjaykgewogCiAgIEVY
UEVDVF9HRShjb3VudF90ZXN0X2Jsb2NrLCB0b3RhbF9lcnJvcikKICAgICAgIDw8ICJFcnJvcjog
RkRDVC9JRENUIGhhcyBhdmVyYWdlIHJvdW5kdHJpcCBlcnJvciA+IDEgcGVyIGJsb2NrIjsKLX0K
K307CiAKIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChDLCBGZGN0VGVzdCwgOjp0ZXN0aW5nOjpW
YWx1ZXModnA4X3Nob3J0X2ZkY3Q0eDRfYykpOwogCkBAIC0yMDMsOSArMjAzLDQgQEAgSU5TVEFO
VElBVEVfVEVTVF9TVUlURV9QKE1TQSwgRmRjdFRlc3QsCiBJTlNUQU5USUFURV9URVNUX1NVSVRF
X1AoTU1JLCBGZGN0VGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZh
bHVlcyh2cDhfc2hvcnRfZmRjdDR4NF9tbWkpKTsKICNlbmRpZiAgLy8gSEFWRV9NTUkKLQotI2lm
IEhBVkVfTFNYCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTFNYLCBGZGN0VGVzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlcyh2cDhfc2hvcnRfZmRjdDR4NF9s
c3gpKTsKLSNlbmRpZiAgLy8gSEFWRV9MU1gKIH0gIC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90ZXN0L3ZwOF9mcmFnbWVudHNfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92
cDhfZnJhZ21lbnRzX3Rlc3QuY2MKaW5kZXggMDFiNGMyMTIwZWIwLi42ZTViYWYyMjlkMjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDhfZnJhZ21lbnRzX3Rlc3QuY2MKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L3ZwOF9mcmFnbWVudHNfdGVzdC5jYwpAQCAtMTcsOSArMTcsOSBAQCBjbGFz
cyBWUDhGcmFnbWVudHNUZXN0IDogcHVibGljIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXJUZXN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QgewogIHByb3Rl
Y3RlZDoKICAgVlA4RnJhZ21lbnRzVGVzdCgpIDogRW5jb2RlclRlc3QoJjo6bGlidnB4X3Rlc3Q6
OmtWUDgpIHt9Ci0gIH5WUDhGcmFnbWVudHNUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2
aXJ0dWFsIH5WUDhGcmFnbWVudHNUZXN0KCkge30KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUg
eworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBpbml0
X2ZsYWdzID0gIC8vIE5PTElOVChydW50aW1lL2ludCkKICAgICAgICAgVlBYX0NPREVDX1VTRV9P
VVRQVVRfUEFSVElUSU9OOwogICAgIEluaXRpYWxpemVDb25maWcoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC92cDhfcmF0ZWN0cmxfcnRjX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qv
dnA4X3JhdGVjdHJsX3J0Y190ZXN0LmNjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
MWYwNmQ5MGFkYWYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA4X3JhdGVj
dHJsX3J0Y190ZXN0LmNjCisrKyAvZGV2L251bGwKQEAgLTEsMzQzICswLDAgQEAKLS8qCi0gKiAg
Q29weXJpZ2h0IChjKSAyMDIxIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg
YSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwg
aW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0
aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0g
KiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl
IHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGZzdHJlYW0+ICAvLyBOT0xJTlQKLSNpbmNsdWRlIDxz
dHJpbmc+Ci0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICJ0aGlyZF9wYXJ0
eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCi0jaW5jbHVkZSAidGVzdC9j
b2RlY19mYWN0b3J5LmgiCi0jaW5jbHVkZSAidGVzdC9lbmNvZGVfdGVzdF9kcml2ZXIuaCIKLSNp
bmNsdWRlICJ0ZXN0L2k0MjBfdmlkZW9fc291cmNlLmgiCi0jaW5jbHVkZSAidGVzdC91dGlsLmgi
Ci0jaW5jbHVkZSAidGVzdC92aWRlb19zb3VyY2UuaCIKLSNpbmNsdWRlICJ2cDgvdnA4X3JhdGVj
dHJsX3J0Yy5oIgotI2luY2x1ZGUgInZweC92cHhfY29kZWMuaCIKLSNpbmNsdWRlICJ2cHhfcG9y
dHMvYml0b3BzLmgiCi0KLW5hbWVzcGFjZSB7Ci0KLXN0cnVjdCBWcDhSQ1Rlc3RWaWRlbyB7Ci0g
IFZwOFJDVGVzdFZpZGVvKCkgPSBkZWZhdWx0OwotICBWcDhSQ1Rlc3RWaWRlbyhjb25zdCBjaGFy
ICpuYW1lXywgaW50IHdpZHRoXywgaW50IGhlaWdodF8sCi0gICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCBmcmFtZXNfKQotICAgICAgOiBuYW1lKG5hbWVfKSwgd2lkdGgod2lkdGhfKSwgaGVp
Z2h0KGhlaWdodF8pLCBmcmFtZXMoZnJhbWVzXykge30KLQotICBmcmllbmQgc3RkOjpvc3RyZWFt
ICZvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSAmb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgVnA4UkNUZXN0VmlkZW8gJnZpZGVvKSB7Ci0gICAgb3MgPDwgdmlkZW8u
bmFtZSA8PCAiICIgPDwgdmlkZW8ud2lkdGggPDwgIiAiIDw8IHZpZGVvLmhlaWdodCA8PCAiICIK
LSAgICAgICA8PCB2aWRlby5mcmFtZXM7Ci0gICAgcmV0dXJuIG9zOwotICB9Ci0gIGNvbnN0IGNo
YXIgKm5hbWU7Ci0gIGludCB3aWR0aDsKLSAgaW50IGhlaWdodDsKLSAgdW5zaWduZWQgaW50IGZy
YW1lczsKLX07Ci0KLWNvbnN0IFZwOFJDVGVzdFZpZGVvIGtWcDhSQ1Rlc3RWZWN0b3JzW10gPSB7
Ci0gIFZwOFJDVGVzdFZpZGVvKCJuaWtsYXNfNjQwXzQ4MF8zMC55dXYiLCA2NDAsIDQ4MCwgNDcw
KSwKLSAgVnA4UkNUZXN0VmlkZW8oImRlc2t0b3Bfb2ZmaWNlMS4xMjgwXzcyMC0wMjAueXV2Iiwg
MTI4MCwgNzIwLCAzMDApLAotfTsKLQotY2xhc3MgVnA4UmNJbnRlcmZhY2VUZXN0Ci0gICAgOiBw
dWJsaWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlclRlc3QsCi0gICAgICBwdWJsaWMgOjpsaWJ2cHhf
dGVzdDo6Q29kZWNUZXN0V2l0aDJQYXJhbXM8aW50LCBWcDhSQ1Rlc3RWaWRlbz4gewotIHB1Ymxp
YzoKLSAgVnA4UmNJbnRlcmZhY2VUZXN0KCkKLSAgICAgIDogRW5jb2RlclRlc3QoR0VUX1BBUkFN
KDApKSwga2V5X2ludGVydmFsXygzMDAwKSwgZW5jb2Rlcl9leGl0XyhmYWxzZSkge30KLSAgflZw
OFJjSW50ZXJmYWNlVGVzdCgpIG92ZXJyaWRlID0gZGVmYXVsdDsKLQotIHByb3RlY3RlZDoKLSAg
dm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKLSAgICBJbml0aWFsaXplQ29uZmlnKCk7Ci0gICAgU2V0
TW9kZSg6OmxpYnZweF90ZXN0OjprUmVhbFRpbWUpOwotICB9Ci0KLSAgLy8gRnJvbSBlcnJvcl9y
ZXNpbGllbmNlX3Rlc3QuY2MKLSAgaW50IFNldEZyYW1lRmxhZ3MoaW50IGZyYW1lX251bSwgaW50
IG51bV90ZW1wX2xheWVycykgewotICAgIGludCBmcmFtZV9mbGFncyA9IDA7Ci0gICAgaWYgKG51
bV90ZW1wX2xheWVycyA9PSAyKSB7Ci0gICAgICBpZiAoZnJhbWVfbnVtICUgMiA9PSAwKSB7Ci0g
ICAgICAgIC8vIExheWVyIDA6IHByZWRpY3QgZnJvbSBMIGFuZCBBUkYsIHVwZGF0ZSBMLgotICAg
ICAgICBmcmFtZV9mbGFncyA9Ci0gICAgICAgICAgICBWUDhfRUZMQUdfTk9fUkVGX0dGIHwgVlA4
X0VGTEFHX05PX1VQRF9HRiB8IFZQOF9FRkxBR19OT19VUERfQVJGOwotICAgICAgfSBlbHNlIHsK
LSAgICAgICAgLy8gTGF5ZXIgMTogcHJlZGljdCBmcm9tIEwsIEcgYW5kIEFSRiwgYW5kIHVwZGF0
ZSBHLgotICAgICAgICBmcmFtZV9mbGFncyA9IFZQOF9FRkxBR19OT19VUERfQVJGIHwgVlA4X0VG
TEFHX05PX1VQRF9MQVNUIHwKLSAgICAgICAgICAgICAgICAgICAgICBWUDhfRUZMQUdfTk9fVVBE
X0VOVFJPUFk7Ci0gICAgICB9Ci0gICAgfSBlbHNlIGlmIChudW1fdGVtcF9sYXllcnMgPT0gMykg
ewotICAgICAgaWYgKGZyYW1lX251bSAlIDQgPT0gMCkgewotICAgICAgICAvLyBMYXllciAwOiBw
cmVkaWN0IGZyb20gTCwgdXBkYXRlIEwuCi0gICAgICAgIGZyYW1lX2ZsYWdzID0gVlA4X0VGTEFH
X05PX1VQRF9HRiB8IFZQOF9FRkxBR19OT19VUERfQVJGIHwKLSAgICAgICAgICAgICAgICAgICAg
ICBWUDhfRUZMQUdfTk9fUkVGX0dGIHwgVlA4X0VGTEFHX05PX1JFRl9BUkY7Ci0gICAgICB9IGVs
c2UgaWYgKChmcmFtZV9udW0gLSAyKSAlIDQgPT0gMCkgewotICAgICAgICAvLyBMYXllciAxOiBw
cmVkaWN0IGZyb20gTCwgRywgIHVwZGF0ZSBHLgotICAgICAgICBmcmFtZV9mbGFncyA9Ci0gICAg
ICAgICAgICBWUDhfRUZMQUdfTk9fVVBEX0FSRiB8IFZQOF9FRkxBR19OT19VUERfTEFTVCB8IFZQ
OF9FRkxBR19OT19SRUZfQVJGOwotICAgICAgfSBlbHNlIGlmICgoZnJhbWVfbnVtIC0gMSkgJSAy
ID09IDApIHsKLSAgICAgICAgLy8gTGF5ZXIgMjogcHJlZGljdCBmcm9tIEwsIEcsIEFSRjsgdXBk
YXRlIEFSRy4KLSAgICAgICAgZnJhbWVfZmxhZ3MgPSBWUDhfRUZMQUdfTk9fVVBEX0dGIHwgVlA4
X0VGTEFHX05PX1VQRF9MQVNUOwotICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gZnJhbWVfZmxh
Z3M7Ci0gIH0KLQotICBpbnQgU2V0TGF5ZXJJZChpbnQgZnJhbWVfbnVtLCBpbnQgbnVtX3RlbXBf
bGF5ZXJzKSB7Ci0gICAgaW50IGxheWVyX2lkID0gMDsKLSAgICBpZiAobnVtX3RlbXBfbGF5ZXJz
ID09IDIpIHsKLSAgICAgIGlmIChmcmFtZV9udW0gJSAyID09IDApIHsKLSAgICAgICAgbGF5ZXJf
aWQgPSAwOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgbGF5ZXJfaWQgPSAxOwotICAgICAgfQot
ICAgIH0gZWxzZSBpZiAobnVtX3RlbXBfbGF5ZXJzID09IDMpIHsKLSAgICAgIGlmIChmcmFtZV9u
dW0gJSA0ID09IDApIHsKLSAgICAgICAgbGF5ZXJfaWQgPSAwOwotICAgICAgfSBlbHNlIGlmICgo
ZnJhbWVfbnVtIC0gMikgJSA0ID09IDApIHsKLSAgICAgICAgbGF5ZXJfaWQgPSAxOwotICAgICAg
fSBlbHNlIGlmICgoZnJhbWVfbnVtIC0gMSkgJSAyID09IDApIHsKLSAgICAgICAgbGF5ZXJfaWQg
PSAyOwotICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gbGF5ZXJfaWQ7Ci0gIH0KLQotICB2b2lk
IFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIp
IG92ZXJyaWRlIHsKLSAgICBpZiAocmNfY2ZnXy50c19udW1iZXJfbGF5ZXJzID4gMSkgewotICAg
ICAgY29uc3QgaW50IGxheWVyX2lkID0gU2V0TGF5ZXJJZCh2aWRlby0+ZnJhbWUoKSwgY2ZnXy50
c19udW1iZXJfbGF5ZXJzKTsKLSAgICAgIGNvbnN0IGludCBmcmFtZV9mbGFncyA9Ci0gICAgICAg
ICAgU2V0RnJhbWVGbGFncyh2aWRlby0+ZnJhbWUoKSwgY2ZnXy50c19udW1iZXJfbGF5ZXJzKTsK
LSAgICAgIGZyYW1lX3BhcmFtc18udGVtcG9yYWxfbGF5ZXJfaWQgPSBsYXllcl9pZDsKLSAgICAg
IGlmICh2aWRlby0+ZnJhbWUoKSA+IDApIHsKLSAgICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDhF
X1NFVF9URU1QT1JBTF9MQVlFUl9JRCwgbGF5ZXJfaWQpOwotICAgICAgICBlbmNvZGVyLT5Db250
cm9sKFZQOEVfU0VUX0ZSQU1FX0ZMQUdTLCBmcmFtZV9mbGFncyk7Ci0gICAgICB9Ci0gICAgfSBl
bHNlIHsKLSAgICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7Ci0gICAgICAgIGVuY29kZXIt
PkNvbnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgLTYpOwotICAgICAgICBlbmNvZGVyLT5Db250cm9s
KFZQOEVfU0VUX1JUQ19FWFRFUk5BTF9SQVRFQ1RSTCwgMSk7Ci0gICAgICAgIGVuY29kZXItPkNv
bnRyb2woVlA4RV9TRVRfTUFYX0lOVFJBX0JJVFJBVEVfUENULCAxMDAwKTsKLSAgICAgIH0gZWxz
ZSBpZiAoZnJhbWVfcGFyYW1zXy5mcmFtZV90eXBlID09IGxpYnZweDo6UmNGcmFtZVR5cGU6OmtJ
bnRlckZyYW1lKSB7Ci0gICAgICAgIC8vIERpc2FibGUgZ29sZGVuIGZyYW1lIHVwZGF0ZS4KLSAg
ICAgICAgZnJhbWVfZmxhZ3NfIHw9IFZQOF9FRkxBR19OT19VUERfR0Y7Ci0gICAgICAgIGZyYW1l
X2ZsYWdzXyB8PSBWUDhfRUZMQUdfTk9fVVBEX0FSRjsKLSAgICAgIH0KLSAgICB9Ci0gICAgZnJh
bWVfcGFyYW1zXy5mcmFtZV90eXBlID0gdmlkZW8tPmZyYW1lKCkgJSBrZXlfaW50ZXJ2YWxfID09
IDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBsaWJ2cHg6OlJjRnJhbWVU
eXBlOjprS2V5RnJhbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBsaWJ2
cHg6OlJjRnJhbWVUeXBlOjprSW50ZXJGcmFtZTsKLSAgICBlbmNvZGVyX2V4aXRfID0gdmlkZW8t
PmZyYW1lKCkgPT0gdGVzdF92aWRlb18uZnJhbWVzOwotICB9Ci0KLSAgdm9pZCBQb3N0RW5jb2Rl
RnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKLSAg
ICBpZiAoZW5jb2Rlcl9leGl0XykgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpbnQgcXA7
Ci0gICAgZW5jb2Rlci0+Q29udHJvbChWUDhFX0dFVF9MQVNUX1FVQU5USVpFUiwgJnFwKTsKLSAg
ICByY19hcGlfLT5Db21wdXRlUVAoZnJhbWVfcGFyYW1zXyk7Ci0gICAgQVNTRVJUX0VRKHJjX2Fw
aV8tPkdldFFQKCksIHFwKTsKLSAgfQotCi0gIHZvaWQgRnJhbWVQa3RIb29rKGNvbnN0IHZweF9j
b2RlY19jeF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7Ci0gICAgcmNfYXBpXy0+UG9zdEVuY29kZVVw
ZGF0ZShwa3QtPmRhdGEuZnJhbWUuc3opOwotICB9Ci0KLSAgdm9pZCBSdW5PbmVMYXllcigpIHsK
LSAgICB0ZXN0X3ZpZGVvXyA9IEdFVF9QQVJBTSgyKTsKLSAgICB0YXJnZXRfYml0cmF0ZV8gPSBH
RVRfUEFSQU0oMSk7Ci0gICAgaWYgKHRlc3RfdmlkZW9fLndpZHRoID09IDEyODAgJiYgdGFyZ2V0
X2JpdHJhdGVfID09IDIwMCkgcmV0dXJuOwotICAgIGlmICh0ZXN0X3ZpZGVvXy53aWR0aCA9PSA2
NDAgJiYgdGFyZ2V0X2JpdHJhdGVfID09IDEwMDApIHJldHVybjsKLSAgICBTZXRDb25maWcoKTsK
LSAgICByY19hcGlfID0gbGlidnB4OjpWUDhSYXRlQ29udHJvbFJUQzo6Q3JlYXRlKHJjX2NmZ18p
OwotICAgIEFTU0VSVF9UUlVFKHJjX2FwaV8tPlVwZGF0ZVJhdGVDb250cm9sKHJjX2NmZ18pKTsK
LQotICAgIDo6bGlidnB4X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2aWRlbyh0ZXN0X3ZpZGVvXy5u
YW1lLCB0ZXN0X3ZpZGVvXy53aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdF92aWRlb18uaGVpZ2h0LCAzMCwgMSwgMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF92aWRlb18uZnJhbWVzKTsKLQotICAgIEFTU0VS
VF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci0gIH0KLQotICB2b2lkIFJ1blBl
cmlvZGljS2V5KCkgewotICAgIHRlc3RfdmlkZW9fID0gR0VUX1BBUkFNKDIpOwotICAgIHRhcmdl
dF9iaXRyYXRlXyA9IEdFVF9QQVJBTSgxKTsKLSAgICBpZiAodGVzdF92aWRlb18ud2lkdGggPT0g
MTI4MCAmJiB0YXJnZXRfYml0cmF0ZV8gPT0gMjAwKSByZXR1cm47Ci0gICAgaWYgKHRlc3Rfdmlk
ZW9fLndpZHRoID09IDY0MCAmJiB0YXJnZXRfYml0cmF0ZV8gPT0gMTAwMCkgcmV0dXJuOwotICAg
IGtleV9pbnRlcnZhbF8gPSAxMDA7Ci0gICAgU2V0Q29uZmlnKCk7Ci0gICAgcmNfYXBpXyA9IGxp
YnZweDo6VlA4UmF0ZUNvbnRyb2xSVEM6OkNyZWF0ZShyY19jZmdfKTsKLSAgICBBU1NFUlRfVFJV
RShyY19hcGlfLT5VcGRhdGVSYXRlQ29udHJvbChyY19jZmdfKSk7Ci0KLSAgICA6OmxpYnZweF90
ZXN0OjpJNDIwVmlkZW9Tb3VyY2UgdmlkZW8odGVzdF92aWRlb18ubmFtZSwgdGVzdF92aWRlb18u
d2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rfdmlk
ZW9fLmhlaWdodCwgMzAsIDEsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RfdmlkZW9fLmZyYW1lcyk7Ci0KLSAgICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVS
RShSdW5Mb29wKCZ2aWRlbykpOwotICB9Ci0KLSAgdm9pZCBSdW5UZW1wb3JhbExheWVyczJUTCgp
IHsKLSAgICB0ZXN0X3ZpZGVvXyA9IEdFVF9QQVJBTSgyKTsKLSAgICB0YXJnZXRfYml0cmF0ZV8g
PSBHRVRfUEFSQU0oMSk7Ci0gICAgaWYgKHRlc3RfdmlkZW9fLndpZHRoID09IDEyODAgJiYgdGFy
Z2V0X2JpdHJhdGVfID09IDIwMCkgcmV0dXJuOwotICAgIGlmICh0ZXN0X3ZpZGVvXy53aWR0aCA9
PSA2NDAgJiYgdGFyZ2V0X2JpdHJhdGVfID09IDEwMDApIHJldHVybjsKLSAgICBTZXRDb25maWdU
ZW1wb3JhbExheWVycygyKTsKLSAgICByY19hcGlfID0gbGlidnB4OjpWUDhSYXRlQ29udHJvbFJU
Qzo6Q3JlYXRlKHJjX2NmZ18pOwotICAgIEFTU0VSVF9UUlVFKHJjX2FwaV8tPlVwZGF0ZVJhdGVD
b250cm9sKHJjX2NmZ18pKTsKLQotICAgIDo6bGlidnB4X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2
aWRlbyh0ZXN0X3ZpZGVvXy5uYW1lLCB0ZXN0X3ZpZGVvXy53aWR0aCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF92aWRlb18uaGVpZ2h0LCAzMCwgMSwgMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF92aWRlb18uZnJh
bWVzKTsKLQotICAgIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci0g
IH0KLQotICB2b2lkIFJ1blRlbXBvcmFsTGF5ZXJzM1RMKCkgewotICAgIHRlc3RfdmlkZW9fID0g
R0VUX1BBUkFNKDIpOwotICAgIHRhcmdldF9iaXRyYXRlXyA9IEdFVF9QQVJBTSgxKTsKLSAgICBp
ZiAodGVzdF92aWRlb18ud2lkdGggPT0gMTI4MCAmJiB0YXJnZXRfYml0cmF0ZV8gPT0gMjAwKSBy
ZXR1cm47Ci0gICAgaWYgKHRlc3RfdmlkZW9fLndpZHRoID09IDY0MCAmJiB0YXJnZXRfYml0cmF0
ZV8gPT0gMTAwMCkgcmV0dXJuOwotICAgIFNldENvbmZpZ1RlbXBvcmFsTGF5ZXJzKDMpOwotICAg
IHJjX2FwaV8gPSBsaWJ2cHg6OlZQOFJhdGVDb250cm9sUlRDOjpDcmVhdGUocmNfY2ZnXyk7Ci0g
ICAgQVNTRVJUX1RSVUUocmNfYXBpXy0+VXBkYXRlUmF0ZUNvbnRyb2wocmNfY2ZnXykpOwotCi0g
ICAgOjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZpZGVvKHRlc3RfdmlkZW9fLm5hbWUs
IHRlc3RfdmlkZW9fLndpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3ZpZGVvXy5oZWlnaHQsIDMwLCAxLCAwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X3ZpZGVvXy5mcmFtZXMpOwotCi0gICAgQVNTRVJUX05P
X0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKLSAgfQotCi0gcHJpdmF0ZToKLSAgdm9p
ZCBTZXRDb25maWcoKSB7Ci0gICAgcmNfY2ZnXy53aWR0aCA9IHRlc3RfdmlkZW9fLndpZHRoOwot
ICAgIHJjX2NmZ18uaGVpZ2h0ID0gdGVzdF92aWRlb18uaGVpZ2h0OwotICAgIHJjX2NmZ18ubWF4
X3F1YW50aXplciA9IDYwOwotICAgIHJjX2NmZ18ubWluX3F1YW50aXplciA9IDI7Ci0gICAgcmNf
Y2ZnXy50YXJnZXRfYmFuZHdpZHRoID0gdGFyZ2V0X2JpdHJhdGVfOwotICAgIHJjX2NmZ18uYnVm
X2luaXRpYWxfc3ogPSA2MDA7Ci0gICAgcmNfY2ZnXy5idWZfb3B0aW1hbF9zeiA9IDYwMDsKLSAg
ICByY19jZmdfLmJ1Zl9zeiA9IHRhcmdldF9iaXRyYXRlXzsKLSAgICByY19jZmdfLnVuZGVyc2hv
b3RfcGN0ID0gNTA7Ci0gICAgcmNfY2ZnXy5vdmVyc2hvb3RfcGN0ID0gNTA7Ci0gICAgcmNfY2Zn
Xy5tYXhfaW50cmFfYml0cmF0ZV9wY3QgPSAxMDAwOwotICAgIHJjX2NmZ18uZnJhbWVyYXRlID0g
MzAuMDsKLSAgICByY19jZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlWzBdID0gdGFyZ2V0X2JpdHJh
dGVfOwotCi0gICAgLy8gRW5jb2RlciBzZXR0aW5ncyBmb3IgZ3JvdW5kIHRydXRoLgotICAgIGNm
Z18uZ193ID0gdGVzdF92aWRlb18ud2lkdGg7Ci0gICAgY2ZnXy5nX2ggPSB0ZXN0X3ZpZGVvXy5o
ZWlnaHQ7Ci0gICAgY2ZnXy5yY191bmRlcnNob290X3BjdCA9IDUwOwotICAgIGNmZ18ucmNfb3Zl
cnNob290X3BjdCA9IDUwOwotICAgIGNmZ18ucmNfYnVmX2luaXRpYWxfc3ogPSA2MDA7Ci0gICAg
Y2ZnXy5yY19idWZfb3B0aW1hbF9zeiA9IDYwMDsKLSAgICBjZmdfLnJjX2J1Zl9zeiA9IHRhcmdl
dF9iaXRyYXRlXzsKLSAgICBjZmdfLnJjX2Ryb3BmcmFtZV90aHJlc2ggPSAwOwotICAgIGNmZ18u
cmNfbWluX3F1YW50aXplciA9IDI7Ci0gICAgY2ZnXy5yY19tYXhfcXVhbnRpemVyID0gNjA7Ci0g
ICAgY2ZnXy5yY19lbmRfdXNhZ2UgPSBWUFhfQ0JSOwotICAgIGNmZ18uZ19sYWdfaW5fZnJhbWVz
ID0gMDsKLSAgICBjZmdfLmdfZXJyb3JfcmVzaWxpZW50ID0gMTsKLSAgICBjZmdfLnJjX3Rhcmdl
dF9iaXRyYXRlID0gdGFyZ2V0X2JpdHJhdGVfOwotICAgIGNmZ18ua2ZfbWluX2Rpc3QgPSBrZXlf
aW50ZXJ2YWxfOwotICAgIGNmZ18ua2ZfbWF4X2Rpc3QgPSBrZXlfaW50ZXJ2YWxfOwotICB9Ci0K
LSAgdm9pZCBTZXRDb25maWdUZW1wb3JhbExheWVycyhpbnQgdGVtcG9yYWxfbGF5ZXJzKSB7Ci0g
ICAgcmNfY2ZnXy53aWR0aCA9IHRlc3RfdmlkZW9fLndpZHRoOwotICAgIHJjX2NmZ18uaGVpZ2h0
ID0gdGVzdF92aWRlb18uaGVpZ2h0OwotICAgIHJjX2NmZ18ubWF4X3F1YW50aXplciA9IDYwOwot
ICAgIHJjX2NmZ18ubWluX3F1YW50aXplciA9IDI7Ci0gICAgcmNfY2ZnXy50YXJnZXRfYmFuZHdp
ZHRoID0gdGFyZ2V0X2JpdHJhdGVfOwotICAgIHJjX2NmZ18uYnVmX2luaXRpYWxfc3ogPSA2MDA7
Ci0gICAgcmNfY2ZnXy5idWZfb3B0aW1hbF9zeiA9IDYwMDsKLSAgICByY19jZmdfLmJ1Zl9zeiA9
IHRhcmdldF9iaXRyYXRlXzsKLSAgICByY19jZmdfLnVuZGVyc2hvb3RfcGN0ID0gNTA7Ci0gICAg
cmNfY2ZnXy5vdmVyc2hvb3RfcGN0ID0gNTA7Ci0gICAgcmNfY2ZnXy5tYXhfaW50cmFfYml0cmF0
ZV9wY3QgPSAxMDAwOwotICAgIHJjX2NmZ18uZnJhbWVyYXRlID0gMzAuMDsKLSAgICBpZiAodGVt
cG9yYWxfbGF5ZXJzID09IDIpIHsKLSAgICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVb
MF0gPSA2MCAqIHRhcmdldF9iaXRyYXRlXyAvIDEwMDsKLSAgICAgIHJjX2NmZ18ubGF5ZXJfdGFy
Z2V0X2JpdHJhdGVbMV0gPSB0YXJnZXRfYml0cmF0ZV87Ci0gICAgICByY19jZmdfLnRzX3JhdGVf
ZGVjaW1hdG9yWzBdID0gMjsKLSAgICAgIHJjX2NmZ18udHNfcmF0ZV9kZWNpbWF0b3JbMV0gPSAx
OwotICAgIH0gZWxzZSBpZiAodGVtcG9yYWxfbGF5ZXJzID09IDMpIHsKLSAgICAgIHJjX2NmZ18u
bGF5ZXJfdGFyZ2V0X2JpdHJhdGVbMF0gPSA0MCAqIHRhcmdldF9iaXRyYXRlXyAvIDEwMDsKLSAg
ICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbMV0gPSA2MCAqIHRhcmdldF9iaXRyYXRl
XyAvIDEwMDsKLSAgICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbMl0gPSB0YXJnZXRf
Yml0cmF0ZV87Ci0gICAgICByY19jZmdfLnRzX3JhdGVfZGVjaW1hdG9yWzBdID0gNDsKLSAgICAg
IHJjX2NmZ18udHNfcmF0ZV9kZWNpbWF0b3JbMV0gPSAyOwotICAgICAgcmNfY2ZnXy50c19yYXRl
X2RlY2ltYXRvclsyXSA9IDE7Ci0gICAgfQotCi0gICAgcmNfY2ZnXy50c19udW1iZXJfbGF5ZXJz
ID0gdGVtcG9yYWxfbGF5ZXJzOwotCi0gICAgLy8gRW5jb2RlciBzZXR0aW5ncyBmb3IgZ3JvdW5k
IHRydXRoLgotICAgIGNmZ18uZ193ID0gdGVzdF92aWRlb18ud2lkdGg7Ci0gICAgY2ZnXy5nX2gg
PSB0ZXN0X3ZpZGVvXy5oZWlnaHQ7Ci0gICAgY2ZnXy5yY191bmRlcnNob290X3BjdCA9IDUwOwot
ICAgIGNmZ18ucmNfb3ZlcnNob290X3BjdCA9IDUwOwotICAgIGNmZ18ucmNfYnVmX2luaXRpYWxf
c3ogPSA2MDA7Ci0gICAgY2ZnXy5yY19idWZfb3B0aW1hbF9zeiA9IDYwMDsKLSAgICBjZmdfLnJj
X2J1Zl9zeiA9IHRhcmdldF9iaXRyYXRlXzsKLSAgICBjZmdfLnJjX2Ryb3BmcmFtZV90aHJlc2gg
PSAwOwotICAgIGNmZ18ucmNfbWluX3F1YW50aXplciA9IDI7Ci0gICAgY2ZnXy5yY19tYXhfcXVh
bnRpemVyID0gNjA7Ci0gICAgY2ZnXy5yY19lbmRfdXNhZ2UgPSBWUFhfQ0JSOwotICAgIGNmZ18u
Z19sYWdfaW5fZnJhbWVzID0gMDsKLSAgICBjZmdfLmdfZXJyb3JfcmVzaWxpZW50ID0gMTsKLSAg
ICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gdGFyZ2V0X2JpdHJhdGVfOwotICAgIGNmZ18ua2Zf
bWluX2Rpc3QgPSBrZXlfaW50ZXJ2YWxfOwotICAgIGNmZ18ua2ZfbWF4X2Rpc3QgPSBrZXlfaW50
ZXJ2YWxfOwotICAgIC8vIDIgVGVtcG9yYWwgbGF5ZXJzLCBubyBzcGF0aWFsIGxheWVycywgQ0JS
IG1vZGUuCi0gICAgY2ZnXy5zc19udW1iZXJfbGF5ZXJzID0gMTsKLSAgICBjZmdfLnRzX251bWJl
cl9sYXllcnMgPSB0ZW1wb3JhbF9sYXllcnM7Ci0gICAgaWYgKHRlbXBvcmFsX2xheWVycyA9PSAy
KSB7Ci0gICAgICBjZmdfLnRzX3JhdGVfZGVjaW1hdG9yWzBdID0gMjsKLSAgICAgIGNmZ18udHNf
cmF0ZV9kZWNpbWF0b3JbMV0gPSAxOwotICAgICAgY2ZnXy50c19wZXJpb2RpY2l0eSA9IDI7Ci0g
ICAgICBjZmdfLnRzX3RhcmdldF9iaXRyYXRlWzBdID0gNjAgKiBjZmdfLnJjX3RhcmdldF9iaXRy
YXRlIC8gMTAwOwotICAgICAgY2ZnXy50c190YXJnZXRfYml0cmF0ZVsxXSA9IGNmZ18ucmNfdGFy
Z2V0X2JpdHJhdGU7Ci0gICAgfSBlbHNlIGlmICh0ZW1wb3JhbF9sYXllcnMgPT0gMykgewotICAg
ICAgY2ZnXy50c19yYXRlX2RlY2ltYXRvclswXSA9IDQ7Ci0gICAgICBjZmdfLnRzX3JhdGVfZGVj
aW1hdG9yWzFdID0gMjsKLSAgICAgIGNmZ18udHNfcmF0ZV9kZWNpbWF0b3JbMl0gPSAxOwotICAg
ICAgY2ZnXy50c19wZXJpb2RpY2l0eSA9IDQ7Ci0gICAgICBjZmdfLnRzX3RhcmdldF9iaXRyYXRl
WzBdID0gNDAgKiBjZmdfLnJjX3RhcmdldF9iaXRyYXRlIC8gMTAwOwotICAgICAgY2ZnXy50c190
YXJnZXRfYml0cmF0ZVsxXSA9IDYwICogY2ZnXy5yY190YXJnZXRfYml0cmF0ZSAvIDEwMDsKLSAg
ICAgIGNmZ18udHNfdGFyZ2V0X2JpdHJhdGVbMl0gPSBjZmdfLnJjX3RhcmdldF9iaXRyYXRlOwot
ICAgIH0KLSAgfQotCi0gIHN0ZDo6dW5pcXVlX3B0cjxsaWJ2cHg6OlZQOFJhdGVDb250cm9sUlRD
PiByY19hcGlfOwotICBsaWJ2cHg6OlZQOFJhdGVDb250cm9sUnRjQ29uZmlnIHJjX2NmZ187Ci0g
IGludCBrZXlfaW50ZXJ2YWxfOwotICBpbnQgdGFyZ2V0X2JpdHJhdGVfOwotICBWcDhSQ1Rlc3RW
aWRlbyB0ZXN0X3ZpZGVvXzsKLSAgbGlidnB4OjpWUDhGcmFtZVBhcmFtc1FwUlRDIGZyYW1lX3Bh
cmFtc187Ci0gIGJvb2wgZW5jb2Rlcl9leGl0XzsKLX07Ci0KLVRFU1RfUChWcDhSY0ludGVyZmFj
ZVRlc3QsIE9uZUxheWVyKSB7IFJ1bk9uZUxheWVyKCk7IH0KLQotVEVTVF9QKFZwOFJjSW50ZXJm
YWNlVGVzdCwgT25lTGF5ZXJQZXJpb2RpY0tleSkgeyBSdW5QZXJpb2RpY0tleSgpOyB9Ci0KLVRF
U1RfUChWcDhSY0ludGVyZmFjZVRlc3QsIFRlbXBvcmFsTGF5ZXJzMlRMKSB7IFJ1blRlbXBvcmFs
TGF5ZXJzMlRMKCk7IH0KLQotVEVTVF9QKFZwOFJjSW50ZXJmYWNlVGVzdCwgVGVtcG9yYWxMYXll
cnMzVEwpIHsgUnVuVGVtcG9yYWxMYXllcnMzVEwoKTsgfQotCi1WUDhfSU5TVEFOVElBVEVfVEVT
VF9TVUlURShWcDhSY0ludGVyZmFjZVRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6
OnRlc3Rpbmc6OlZhbHVlcygyMDAsIDQwMCwgMTAwMCksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OnRlc3Rpbmc6OlZhbHVlc0luKGtWcDhSQ1Rlc3RWZWN0b3JzKSk7Ci0KLX0gIC8vIG5h
bWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9hcmZfZnJlcV90ZXN0LmNj
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC90ZXN0L3ZwOV9hcmZfZnJlcV90ZXN0LmNjCmluZGV4IDM4ODIzMjZkMmY5
NS4uYzdlNmYxYWYwMjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2FyZl9mcmVx
X3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9hcmZfZnJlcV90ZXN0LmNjCkBAIC04
Niw5ICs4Niw5IEBAIGNsYXNzIEFyZkZyZXFUZXN0CiAgICAgICA6IEVuY29kZXJUZXN0KEdFVF9Q
QVJBTSgwKSksIHRlc3RfdmlkZW9fcGFyYW1fKEdFVF9QQVJBTSgxKSksCiAgICAgICAgIHRlc3Rf
ZW5jb2RlX3BhcmFtXyhHRVRfUEFSQU0oMikpLCBtaW5fYXJmX3JlcXVlc3RlZF8oR0VUX1BBUkFN
KDMpKSB7fQogCi0gIH5BcmZGcmVxVGVzdCgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmlydHVh
bCB+QXJmRnJlcVRlc3QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1
YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZSh0
ZXN0X2VuY29kZV9wYXJhbV8ubW9kZSk7CiAgICAgaWYgKHRlc3RfZW5jb2RlX3BhcmFtXy5tb2Rl
ICE9IDo6bGlidnB4X3Rlc3Q6OmtSZWFsVGltZSkgewpAQCAtMTA0LDcgKzEwNCw3IEBAIGNsYXNz
IEFyZkZyZXFUZXN0CiAgICAgZGVjX2NmZ18udGhyZWFkcyA9IDQ7CiAgIH0KIAotICB2b2lkIEJl
Z2luUGFzc0hvb2sodW5zaWduZWQgaW50KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBCZWdp
blBhc3NIb29rKHVuc2lnbmVkIGludCkgewogICAgIG1pbl9ydW5fID0gQVJGX05PVF9TRUVOOwog
ICAgIHJ1bl9vZl92aXNpYmxlX2ZyYW1lc18gPSAwOwogICB9CkBAIC0xMjYsNyArMTI2LDcgQEAg
Y2xhc3MgQXJmRnJlcVRlc3QKICAgICByZXR1cm4gZnJhbWVzOwogICB9CiAKLSAgdm9pZCBGcmFt
ZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRlIHsKKyAgdmly
dHVhbCB2b2lkIEZyYW1lUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewog
ICAgIGlmIChwa3QtPmtpbmQgIT0gVlBYX0NPREVDX0NYX0ZSQU1FX1BLVCkgcmV0dXJuOwogICAg
IGNvbnN0IGludCBmcmFtZXMgPSBHZXROdW1GcmFtZXNJblBrdChwa3QpOwogICAgIGlmIChmcmFt
ZXMgPT0gMSkgewpAQCAtMTQ1LDggKzE0NSw4IEBAIGNsYXNzIEFyZkZyZXFUZXN0CiAgICAgfQog
ICB9CiAKLSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3Vy
Y2UgKnZpZGVvLAotICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNv
ZGVyICplbmNvZGVyKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhv
b2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBp
ZiAodmlkZW8tPmZyYW1lKCkgPT0gMCkgewogICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NF
VF9GUkFNRV9QQVJBTExFTF9ERUNPRElORywgMSk7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQ
OUVfU0VUX1RJTEVfQ09MVU1OUywgNCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5
X2Jsb2NrX2Vycm9yX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2Jsb2NrX2Vycm9yX3Rl
c3QuY2MKaW5kZXggMDY0NTM0MWFjMTg1Li5iOTNiMDE0ZTY1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGVzdC92cDlfYmxvY2tfZXJyb3JfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qv
dnA5X2Jsb2NrX2Vycm9yX3Rlc3QuY2MKQEAgLTUzLDE0ICs1MywxNCBAQCBpbnQ2NF90IEJsb2Nr
RXJyb3I4Qml0V3JhcHBlcihjb25zdCB0cmFuX2xvd190ICpjb2VmZiwKIAogY2xhc3MgQmxvY2tF
cnJvclRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEJsb2NrRXJyb3JQYXJh
bT4gewogIHB1YmxpYzoKLSAgfkJsb2NrRXJyb3JUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0Owot
ICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIH5CbG9ja0Vycm9yVGVzdCgpIHt9
CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBlcnJvcl9ibG9ja19vcF8gPSBHRVRfUEFS
QU0oMCk7CiAgICAgcmVmX2Vycm9yX2Jsb2NrX29wXyA9IEdFVF9QQVJBTSgxKTsKICAgICBiaXRf
ZGVwdGhfID0gR0VUX1BBUkFNKDIpOwogICB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRl
IHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQorICB2aXJ0dWFsIHZvaWQgVGVh
ckRvd24oKSB7IGxpYnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KIAogIHByb3RlY3Rl
ZDoKICAgdnB4X2JpdF9kZXB0aF90IGJpdF9kZXB0aF87CkBAIC0xOTcsMjIgKzE5Nyw0IEBAIElO
U1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZCbG9ja0Vycm9yOEJpdFdyYXBwZXI8dnA5X2Jsb2NrX2Vycm9yX2M+LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCkpKTsKICNlbmRpZiAgLy8gSEFWRV9BVlgy
Ci0KLSNpZiBIQVZFX05FT04KLWNvbnN0IEJsb2NrRXJyb3JQYXJhbSBuZW9uX2Jsb2NrX2Vycm9y
X3Rlc3RzW10gPSB7Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgbWFrZV90dXBsZSgm
dnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9uZW9uLCAmdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9jLAot
ICAgICAgICAgICAgIFZQWF9CSVRTXzEwKSwKLSAgbWFrZV90dXBsZSgmdnA5X2hpZ2hiZF9ibG9j
a19lcnJvcl9uZW9uLCAmdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9jLAotICAgICAgICAgICAgIFZQ
WF9CSVRTXzEyKSwKLSAgbWFrZV90dXBsZSgmdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9uZW9uLCAm
dnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9jLAotICAgICAgICAgICAgIFZQWF9CSVRTXzgpLAotI2Vu
ZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICBtYWtlX3R1cGxlKCZCbG9ja0Vycm9y
OEJpdFdyYXBwZXI8dnA5X2Jsb2NrX2Vycm9yX25lb24+LAotICAgICAgICAgICAgICZCbG9ja0Vy
cm9yOEJpdFdyYXBwZXI8dnA5X2Jsb2NrX2Vycm9yX2M+LCBWUFhfQklUU184KQotfTsKLQotSU5T
VEFOVElBVEVfVEVTVF9TVUlURV9QKE5FT04sIEJsb2NrRXJyb3JUZXN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzSW4obmVvbl9ibG9ja19lcnJvcl90ZXN0cykp
OwotI2VuZGlmICAvLyBIQVZFX05FT04KIH0gIC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90ZXN0L3ZwOV9jX3ZzX3NpbWRfZW5jb2RlLnNoIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3Zw
OV9jX3ZzX3NpbWRfZW5jb2RlLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3Yzgw
YjNkYWIwYWIuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2NfdnNfc2lt
ZF9lbmNvZGUuc2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MjIgKzAsMCBAQAotIyEvYmluL3NoCi0j
IwotIyMgIENvcHlyaWdodCAoYykgMjAyMyBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0jIwotIyMgIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSMjICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSMjICB0cmVlLiBBbiBhZGRp
dGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0j
IyAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3Jz
IG1heQotIyMgIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZSB0cmVlLgotIyMKLSMjICBUaGlzIHNjcmlwdCBjaGVja3MgdGhlIGJpdCBleGFjdG5l
c3MgYmV0d2VlbiBDIGFuZCBTSU1ECi0jIyAgaW1wbGVtZW50YXRpb25zIG9mIFZQOSBlbmNvZGVy
LgotIyMKLS4gJChkaXJuYW1lICQwKS90b29sc19jb21tb24uc2gKLQotVEVTVF9CSVRSQVRFUz0i
MTYwMCA2NDAwIgotUFJFU0VUUz0iZ29vZCBydCIKLVRFU1RfQ0xJUFM9Inl1dl9yYXdfaW5wdXQg
eTRtXzM2MHBfMTBiaXRfaW5wdXQgeXV2XzQ4MHBfcmF3X2lucHV0IHk0bV83MjBwX2lucHV0Igot
T1VUX0ZJTEVfU1VGRklYPSIuaXZmIgotU0NSSVBUX0RJUj0kKGRpcm5hbWUgIiQwIikKLUxJQlZQ
WF9TT1VSQ0VfRElSPSQoY2QgIiR7U0NSSVBUX0RJUn0vLi4iOyBwd2QpCi0KLSMgQ2xpcHMgdXNl
ZCBpbiB0ZXN0LgotWVVWX1JBV19JTlBVVD0iJHtMSUJWUFhfVEVTVF9EQVRBX1BBVEh9L2hhbnRy
b19jb2xsYWdlX3czNTJoMjg4Lnl1diIKLVlVVl80ODBQX1JBV19JTlBVVD0iJHtMSUJWUFhfVEVT
VF9EQVRBX1BBVEh9L25pa2xhc182NDBfNDgwXzMwLnl1diIKLVk0TV8zNjBQXzEwQklUX0lOUFVU
PSIke0xJQlZQWF9URVNUX0RBVEFfUEFUSH0vY3Jvd2RfcnVuXzM2MHBfMTBfMTUwZi55NG0iCi1Z
NE1fNzIwUF9JTlBVVD0iJHtMSUJWUFhfVEVTVF9EQVRBX1BBVEh9L25pa2xhc18xMjgwXzcyMF8z
MC55NG0iCi0KLSMgTnVtYmVyIG9mIGZyYW1lcyB0byB0ZXN0LgotVlA5X0VOQ09ERV9DX1ZTX1NJ
TURfVEVTVF9GUkFNRV9MSU1JVD0yMAotCi0jIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3Rvcnkg
Zm9yIG91dHB1dCBmaWxlcy4KLWlmIFsgLW4gIiR7VE1QRElSfSIgXTsgdGhlbgotICBWUFhfVEVT
VF9URU1QX1JPT1Q9IiR7VE1QRElSfSIKLWVsaWYgWyAtbiAiJHtURU1QRElSfSIgXTsgdGhlbgot
ICBWUFhfVEVTVF9URU1QX1JPT1Q9IiR7VEVNUERJUn0iCi1lbHNlCi0gIFZQWF9URVNUX1RFTVBf
Uk9PVD0vdG1wCi1maQotCi1WUFhfVEVTVF9PVVRQVVRfRElSPSIke1ZQWF9URVNUX1RFTVBfUk9P
VH0vdnB4X3Rlc3RfJCQiCi0KLWlmICEgbWtkaXIgLXAgIiR7VlBYX1RFU1RfT1VUUFVUX0RJUn0i
IHx8IFwKLSAgIFsgISAtZCAiJHtWUFhfVEVTVF9PVVRQVVRfRElSfSIgXTsgdGhlbgotICBlY2hv
ICIkezAjIyovfTogQ2Fubm90IGNyZWF0ZSBvdXRwdXQgZGlyZWN0b3J5LCBnaXZpbmcgdXAuIgot
ICBlY2hvICIkezAjIyovfTogICBWUFhfVEVTVF9PVVRQVVRfRElSPSR7VlBYX1RFU1RfT1VUUFVU
X0RJUn0iCi0gIGV4aXQgMQotZmkKLQotZWxvZygpIHsKLSAgZWNobyAiJEAiIDE+JjIKLX0KLQot
IyBFY2hvZXMgcGF0aCB0byAkMSB3aGVuIGl0J3MgZXhlY3V0YWJsZSBhbmQgZXhpc3RzIGluICR7
VlBYX1RFU1RfT1VUUFVUX0RJUn0sCi0jIG9yIGFuIGVtcHR5IHN0cmluZy4gQ2FsbGVyIGlzIHJl
c3BvbnNpYmxlIGZvciB0ZXN0aW5nIHRoZSBzdHJpbmcgb25jZSB0aGUKLSMgZnVuY3Rpb24gcmV0
dXJucy4KLXZwOV9lbmNfdG9vbF9wYXRoKCkgewotICBsb2NhbCB0YXJnZXQ9IiQxIgotICBsb2Nh
bCB0b29sX3BhdGg9IiR7VlBYX1RFU1RfT1VUUFVUX0RJUn0vYnVpbGRfdGFyZ2V0XyR7dGFyZ2V0
fS92cHhlbmMiCi0KLSAgaWYgWyAhIC14ICIke3Rvb2xfcGF0aH0iIF07IHRoZW4KLSAgICB0b29s
X3BhdGg9IiIKLSAgZmkKLSAgZWNobyAiJHt0b29sX3BhdGh9IgotfQotCi0jIEVudmlyb25tZW50
IGNoZWNrOiBNYWtlIHN1cmUgaW5wdXQgYW5kIHNvdXJjZSBkaXJlY3RvcmllcyBhcmUgYXZhaWxh
YmxlLgotdnA5X2NfdnNfc2ltZF9lbmNfdmVyaWZ5X2Vudmlyb25tZW50KCkgewotICBpZiBbICEg
LWUgIiR7WVVWX1JBV19JTlBVVH0iIF07IHRoZW4KLSAgICBlbG9nICJsaWJ2cHggdGVzdCBkYXRh
IG11c3QgZXhpc3QgaW4gTElCVlBYX1RFU1RfREFUQV9QQVRILiIKLSAgICByZXR1cm4gMQotICBm
aQotICBpZiBbICEgLWUgIiR7WVVWXzQ4MFBfUkFXX0lOUFVUfSIgXTsgdGhlbgotICAgIGVsb2cg
ImxpYnZweCB0ZXN0IGRhdGEgbXVzdCBleGlzdCBpbiBMSUJWUFhfVEVTVF9EQVRBX1BBVEguIgot
ICAgIHJldHVybiAxCi0gIGZpCi0gIGlmIFsgISAtZSAiJHtZNE1fNzIwUF9JTlBVVH0iIF07IHRo
ZW4KLSAgICBlbG9nICJsaWJ2cHggdGVzdCBkYXRhIG11c3QgZXhpc3QgaW4gTElCVlBYX1RFU1Rf
REFUQV9QQVRILiIKLSAgICByZXR1cm4gMQotICBmaQotICBpZiBbICEgLWUgIiR7WTRNXzM2MFBf
MTBCSVRfSU5QVVR9IiBdOyB0aGVuCi0gICAgZWxvZyAibGlidnB4IHRlc3QgZGF0YSBtdXN0IGV4
aXN0IGluIExJQlZQWF9URVNUX0RBVEFfUEFUSC4iCi0gICAgcmV0dXJuIDEKLSAgZmkKLSAgaWYg
WyAhIC1kICIkTElCVlBYX1NPVVJDRV9ESVIiIF07IHRoZW4KLSAgICBlbG9nICJMSUJWUFhfU09V
UkNFX0RJUiBkb2VzIG5vdCBleGlzdC4iCi0gICAgcmV0dXJuIDEKLSAgZmkKLX0KLQotIyBUaGlz
IGlzIG5vdCBuZWVkZWQgc2luY2UgdG9vbHNfY29tbW9uLnNoIGRvZXMgdGhlIHNhbWUgY2xlYW51
cC4KLSMgS2VlcCB0aGUgY29kZSBoZXJlIGZvciBvdXIgcmVmZXJlbmNlLgotIyBjbGVhbnVwKCkg
ewotIyAgIHJtIC1yZiAgJHtWUFhfVEVTVF9PVVRQVVRfRElSfQotIyB9Ci0KLSMgRWNobyBWUFhf
U0lNRF9DQVBTX01BU0sgZm9yIGRpZmZlcmVudCBpbnN0cnVjdGlvbiBzZXQgYXJjaGl0ZWN0dXJl
LgotYXZ4NTEyZigpIHsKLSAgIGVjaG8gIjB4MUZGIgotfQotCi1hdngyKCkgewotICAgZWNobyAi
MHgwRkYiCi19Ci0KLXNzZTRfMSgpIHsKLSAgIGVjaG8gIjB4MDNGIgotfQotCi1zc3NlMygpIHsK
LSAgIGVjaG8gIjB4MDFGIgotfQotCi1zc2UyKCkgewotICAgZWNobyAiMHgwMDciCi19Ci0KLSMg
RWNobyBjbGlwIGRldGFpbHMgdG8gYmUgdXNlZCBhcyBpbnB1dCB0byB2cHhlbmMuCi15dXZfcmF3
X2lucHV0KCkgewotICBlY2hvICIiJHtZVVZfUkFXX0lOUFVUfSIKLSAgICAgICAtLXdpZHRoPTM1
MgotICAgICAgIC0taGVpZ2h0PTI4OAotICAgICAgIC0tYml0LWRlcHRoPTgKLSAgICAgICAtLXBy
b2ZpbGU9MCIKLX0KLQoteXV2XzQ4MHBfcmF3X2lucHV0KCkgewotICBlY2hvICIiJHtZVVZfNDgw
UF9SQVdfSU5QVVR9IgotICAgICAgIC0td2lkdGg9NjQwCi0gICAgICAgLS1oZWlnaHQ9NDgwCi0g
ICAgICAgLS1iaXQtZGVwdGg9OAotICAgICAgIC0tcHJvZmlsZT0wIgotfQotCi15NG1fNzIwcF9p
bnB1dCgpIHsKLSAgZWNobyAiIiR7WTRNXzcyMFBfSU5QVVR9IgotICAgICAgIC0tYml0LWRlcHRo
PTgKLSAgICAgICAtLXByb2ZpbGU9MCIKLX0KLQoteTRtXzM2MHBfMTBiaXRfaW5wdXQoKSB7Ci0g
IGVjaG8gIiIke1k0TV8zNjBQXzEwQklUX0lOUFVUfSIKLSAgICAgICAtLWJpdC1kZXB0aD0xMAot
ICAgICAgIC0tcHJvZmlsZT0yIgotfQotCi1oYXNfeDg2X2lzYV9leHRuKCkgewotICBpbnN0cnVj
dGlvbl9zZXQ9JDEKLSAgaWYgISBncmVwIC1xICIkaW5zdHJ1Y3Rpb25fc2V0IiAvcHJvYy9jcHVp
bmZvOyB0aGVuCi0gICAgIyBUaGlzIGluc3RydWN0aW9uX3NldCBpcyBub3Qgc3VwcG9ydGVkLgot
ICAgIHJldHVybiAxCi0gIGZpCi0gICMgVGhpcyBpbnN0cnVjdGlvbl9zZXQgaXMgc3VwcG9ydGVk
LgotICByZXR1cm4gMAotfQotCi0jIEVjaG8gZ29vZCBlbmNvZGUgcGFyYW1zIGZvciB1c2Ugd2l0
aCBWUDkgZW5jb2Rlci4KLXZwOV9lbmNvZGVfZ29vZF9wYXJhbXMoKSB7Ci0gIGVjaG8gIi0tY29k
ZWM9dnA5IFwKLSAgLS1nb29kIFwKLSAgLS10ZXN0LWRlY29kZT1mYXRhbCBcCi0gIC0taXZmIFwK
LSAgLS10aHJlYWRzPTEgXAotICAtLXN0YXRpYy10aHJlc2g9MCBcCi0gIC0tdGlsZS1jb2x1bW5z
PTAgXAotICAtLWVuZC11c2FnZT12YnIgXAotICAtLWtmLW1heC1kaXN0PTE2MCBcCi0gIC0ta2Yt
bWluLWRpc3Q9MCBcCi0gIC0tbGFnLWluLWZyYW1lcz0xOSBcCi0gIC0tbWF4LXE9NjMgXAotICAt
LW1pbi1xPTAgXAotICAtLXBhc3Nlcz0yIFwKLSAgLS11bmRlcnNob290LXBjdD0xMDAgXAotICAt
LW92ZXJzaG9vdC1wY3Q9MTAwIFwKLSAgLS12ZXJib3NlIFwKLSAgLS1hdXRvLWFsdC1yZWY9MSBc
Ci0gIC0tZHJvcC1mcmFtZT0wIFwKLSAgLS1iaWFzLXBjdD01MCBcCi0gIC0tbWluc2VjdGlvbi1w
Y3Q9MCBcCi0gIC0tbWF4c2VjdGlvbi1wY3Q9MjAwMCBcCi0gIC0tYXJuci1tYXhmcmFtZXM9NyBc
Ci0gIC0tYXJuci1zdHJlbmd0aD01IFwKLSAgLS1zaGFycG5lc3M9MCBcCi0gIC0tZnJhbWUtcGFy
YWxsZWw9MCIKLX0KLQotIyBFY2hvIHJlYWx0aW1lIGVuY29kZSBwYXJhbXMgZm9yIHVzZSB3aXRo
IFZQOSBlbmNvZGVyLgotdnA5X2VuY29kZV9ydF9wYXJhbXMoKSB7Ci0gIGVjaG8gIi0tY29kZWM9
dnA5IFwKLSAgLS1ydCBcCi0gIC0tdGVzdC1kZWNvZGU9ZmF0YWwgXAotICAtLWl2ZiBcCi0gIC0t
dGhyZWFkcz0xIFwKLSAgLS1zdGF0aWMtdGhyZXNoPTAgXAotICAtLXRpbGUtY29sdW1ucz0wIFwK
LSAgLS10aWxlLXJvd3M9MCBcCi0gIC0tZW5kLXVzYWdlPWNiciBcCi0gIC0ta2YtbWF4LWRpc3Q9
OTAwMDAgXAotICAtLWxhZy1pbi1mcmFtZXM9MCBcCi0gIC0tbWF4LXE9NTggXAotICAtLW1pbi1x
PTIgXAotICAtLXBhc3Nlcz0xIFwKLSAgLS11bmRlcnNob290LXBjdD01MCBcCi0gIC0tb3ZlcnNo
b290LXBjdD01MCBcCi0gIC0tdmVyYm9zZSBcCi0gIC0tcm93LW10PTAgXAotICAtLWJ1Zi1zej0x
MDAwIFwKLSAgLS1idWYtaW5pdGlhbC1zej01MDAgXAotICAtLWJ1Zi1vcHRpbWFsLXN6PTYwMCBc
Ci0gIC0tbWF4LWludHJhLXJhdGU9MzAwIFwKLSAgLS1yZXNpemUtYWxsb3dlZD0wIFwKLSAgLS1u
b2lzZS1zZW5zaXRpdml0eT0wIFwKLSAgLS1hcS1tb2RlPTMgXAotICAtLWVycm9yLXJlc2lsaWVu
dD0wIgotfQotCi0jIENvbmZpZ3VyZXMgZm9yIHRoZSBnaXZlbiB0YXJnZXQgaW4gdGhlCi0jICR7
VlBYX1RFU1RfT1VUUFVUX0RJUn0vYnVpbGRfdGFyZ2V0XyR7dGFyZ2V0fSBkaXJlY3RvcnkuCi12
cDlfZW5jX2J1aWxkKCkgewotICBsb2NhbCB0YXJnZXQ9JDEKLSAgbG9jYWwgY29uZmlndXJlPSIk
MiIKLSAgbG9jYWwgdG1wX2J1aWxkX2Rpcj0ke1ZQWF9URVNUX09VVFBVVF9ESVJ9L2J1aWxkX3Rh
cmdldF8ke3RhcmdldH0KLSAgbWtkaXIgLXAgIiR0bXBfYnVpbGRfZGlyIgotICBsb2NhbCBzYXZl
X2Rpcj0iJFBXRCIKLSAgY2QgIiR0bXBfYnVpbGRfZGlyIgotCi0gIGVjaG8gIkJ1aWxkaW5nIHRh
cmdldDogJHt0YXJnZXR9IgotICBsb2NhbCBjb25maWdfYXJncz0iLS1kaXNhYmxlLWluc3RhbGwt
ZG9jcyBcCi0gICAgICAgICAgICAgLS1lbmFibGUtdW5pdC10ZXN0cyBcCi0gICAgICAgICAgICAg
LS1lbmFibGUtZGVidWcgXAotICAgICAgICAgICAgIC0tZW5hYmxlLXBvc3Rwcm9jIFwKLSAgICAg
ICAgICAgICAtLWVuYWJsZS12cDktcG9zdHByb2MgXAotICAgICAgICAgICAgIC0tZW5hYmxlLXZw
OS10ZW1wb3JhbC1kZW5vaXNpbmcgXAotICAgICAgICAgICAgIC0tZW5hYmxlLXZwOS1oaWdoYml0
ZGVwdGgiCi0KLSAgZXZhbCAiJGNvbmZpZ3VyZSIgLS10YXJnZXQ9IiR7dGFyZ2V0fSIgIiR7Y29u
ZmlnX2FyZ3N9IiAke2Rldm51bGx9Ci0gIGV2YWwgbWFrZSAtaiQobnByb2MpICR7ZGV2bnVsbH0K
LSAgZWNobyAiRG9uZSBidWlsZGluZyB0YXJnZXQ6ICR7dGFyZ2V0fSIKLSAgY2QgIiR7c2F2ZV9k
aXJ9IgotfQotCi1jb21wYXJlX2VuY19vdXRwdXQoKSB7Ci0gIGxvY2FsIHRhcmdldD0kMQotICBs
b2NhbCBjcHU9JDIKLSAgbG9jYWwgY2xpcD0kMwotICBsb2NhbCBiaXRyYXRlPSQ0Ci0gIGxvY2Fs
IHByZXNldD0kNQotICBpZiAhIGRpZmYgLXEgJHtWUFhfVEVTVF9PVVRQVVRfRElSfS9PdXQtZ2Vu
ZXJpYy1nbnUtIiR7Y2xpcH0iLSR7cHJlc2V0fS0ke2JpdHJhdGV9a2Jwcy1jcHUke2NwdX0ke09V
VF9GSUxFX1NVRkZJWH0gXAotICAgICAgICR7VlBYX1RFU1RfT1VUUFVUX0RJUn0vT3V0LSR7dGFy
Z2V0fS0iJHtjbGlwfSItJHtwcmVzZXR9LSR7Yml0cmF0ZX1rYnBzLWNwdSR7Y3B1fSR7T1VUX0ZJ
TEVfU1VGRklYfTsgdGhlbgotICAgIGVsb2cgIkMgdnMgJHt0YXJnZXR9IGVuY29kZSBtaXNtYXRj
aGVzIGZvciAke2NsaXB9LCBhdCAke2JpdHJhdGV9IGticHMsIHNwZWVkICR7Y3B1fSwgJHtwcmVz
ZXR9IHByZXNldCIKLSAgICByZXR1cm4gMQotICBmaQotfQotCi12cDlfZW5jX3Rlc3QoKSB7Ci0g
IGxvY2FsIGVuY29kZXI9IiQxIgotICBsb2NhbCB0YXJnZXQ9JDIKLSAgaWYgWyAteiAiJCh2cDlf
ZW5jX3Rvb2xfcGF0aCAiJHt0YXJnZXR9IikiIF07IHRoZW4KLSAgICBlbG9nICJ2cHhlbmMgbm90
IGZvdW5kLiBJdCBtdXN0IGV4aXN0IGluICR7VlBYX1RFU1RfT1VUUFVUX0RJUn0vYnVpbGRfdGFy
Z2V0XyR7dGFyZ2V0fSBwYXRoIgotICAgIHJldHVybiAxCi0gIGZpCi0KLSAgbG9jYWwgdG1wX2J1
aWxkX2Rpcj0ke1ZQWF9URVNUX09VVFBVVF9ESVJ9L2J1aWxkX3RhcmdldF8ke3RhcmdldH0KLSAg
bG9jYWwgc2F2ZV9kaXI9IiRQV0QiCi0gIGNkICIkdG1wX2J1aWxkX2RpciIKLSAgZm9yIHByZXNl
dCBpbiAke1BSRVNFVFN9OyBkbwotICAgIGlmIFsgIiR7cHJlc2V0fSIgPSAiZ29vZCIgXTsgdGhl
bgotICAgICAgbG9jYWwgbWF4X2NwdV91c2VkPTUKLSAgICAgIGxvY2FsIHRlc3RfcGFyYW1zPXZw
OV9lbmNvZGVfZ29vZF9wYXJhbXMKLSAgICBlbGlmIFsgIiR7cHJlc2V0fSIgPSAicnQiIF07IHRo
ZW4KLSAgICAgIGxvY2FsIG1heF9jcHVfdXNlZD05Ci0gICAgICBsb2NhbCB0ZXN0X3BhcmFtcz12
cDlfZW5jb2RlX3J0X3BhcmFtcwotICAgIGVsc2UKLSAgICAgIGVsb2cgIkludmFsaWQgcHJlc2V0
IgotICAgICAgY2QgIiR7c2F2ZV9kaXJ9IgotICAgICAgcmV0dXJuIDEKLSAgICBmaQotCi0gICAg
IyBFbmFibGUgYXJtdjggdGVzdCBmb3IgcmVhbC10aW1lIG9ubHkKLSAgICBpZiBbICIke3ByZXNl
dH0iID0gImdvb2QiIF0gJiYgWyAiJHt0YXJnZXR9IiA9ICJhcm12OC1saW51eC1nY2MiIF07IHRo
ZW4KLSAgICAgIGNvbnRpbnVlCi0gICAgZmkKLQotICAgIGZvciBjcHUgaW4gJChzZXEgMCAkbWF4
X2NwdV91c2VkKTsgZG8KLSAgICAgIGZvciBjbGlwIGluICR7VEVTVF9DTElQU307IGRvCi0gICAg
ICAgIGZvciBiaXRyYXRlIGluICR7VEVTVF9CSVRSQVRFU307IGRvCi0gICAgICAgICAgZXZhbCAi
JHtlbmNvZGVyfSIgJCgkY2xpcCkgJCgkdGVzdF9wYXJhbXMpIFwKLSAgICAgICAgICAiLS1saW1p
dD0ke1ZQOV9FTkNPREVfQ19WU19TSU1EX1RFU1RfRlJBTUVfTElNSVR9IiBcCi0gICAgICAgICAg
Ii0tY3B1LXVzZWQ9JHtjcHV9IiAiLS10YXJnZXQtYml0cmF0ZT0ke2JpdHJhdGV9IiAiLW8iIFwK
LSAgICAgICAgICAke1ZQWF9URVNUX09VVFBVVF9ESVJ9L091dC0ke3RhcmdldH0tIiR7Y2xpcH0i
LSR7cHJlc2V0fS0ke2JpdHJhdGV9a2Jwcy1jcHUke2NwdX0ke09VVF9GSUxFX1NVRkZJWH0gXAot
ICAgICAgICAgICR7ZGV2bnVsbH0KLQotICAgICAgICAgIGlmIFsgIiR7dGFyZ2V0fSIgIT0gImdl
bmVyaWMtZ251IiBdOyB0aGVuCi0gICAgICAgICAgICBpZiAhIGNvbXBhcmVfZW5jX291dHB1dCAk
e3RhcmdldH0gJGNwdSAke2NsaXB9ICRiaXRyYXRlICR7cHJlc2V0fTsgdGhlbgotICAgICAgICAg
ICAgICAjIEZpbmQgdGhlIG1pc21hdGNoCi0gICAgICAgICAgICAgIGNkICIke3NhdmVfZGlyfSIK
LSAgICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgICAgIGZpCi0gICAgICAgICAgZmkKLSAg
ICAgICAgZG9uZQotICAgICAgZG9uZQotICAgIGRvbmUKLSAgZG9uZQotICBjZCAiJHtzYXZlX2Rp
cn0iCi19Ci0KLXZwOV90ZXN0X2dlbmVyaWMoKSB7Ci0gIGxvY2FsIGNvbmZpZ3VyZT0iJExJQlZQ
WF9TT1VSQ0VfRElSL2NvbmZpZ3VyZSIKLSAgbG9jYWwgdGFyZ2V0PSJnZW5lcmljLWdudSIKLQot
ICBlY2hvICJCdWlsZCBmb3I6ICR7dGFyZ2V0fSIKLSAgdnA5X2VuY19idWlsZCAke3RhcmdldH0g
JHtjb25maWd1cmV9Ci0gIGxvY2FsIGVuY29kZXI9IiQodnA5X2VuY190b29sX3BhdGggIiR7dGFy
Z2V0fSIpIgotICB2cDlfZW5jX3Rlc3QgJGVuY29kZXIgIiR7dGFyZ2V0fSIKLX0KLQotIyBUaGlz
IGZ1bmN0aW9uIGVuY29kZXMgVlA5IGJpdHN0cmVhbSBieSBlbmFibGluZyBTU0UyLCBTU1NFMywg
U1NFNF8xLCBBVlgyLCBBVlg1MTJmIGFzIHRoZXJlIGFyZQotIyBubyBmdW5jdGlvbnMgd2l0aCBN
TVgsIFNTRSwgU1NFMyBhbmQgQVZYIHNwZWNpYWxpemF0aW9uLgotIyBUaGUgdmFsdWUgb2YgZW52
aXJvbm1lbnQgdmFyaWFibGUgJ1ZQWF9TSU1EX0NBUFMnIGNvbnRyb2xzIGVuYWJsaW5nIG9mIGRp
ZmZlcmVudCBpbnN0cnVjdGlvbgotIyBzZXQgZXh0ZW5zaW9uIG9wdGltaXphdGlvbnMuIFRoZSB2
YWx1ZSBvZiB0aGUgZmxhZyAnVlBYX1NJTURfQ0FQUycgYW5kIHRoZSBjb3JyZXNwb25kaW5nCi0j
IGluc3RydWN0aW9uIHNldCBleHRlbnNpb24gb3B0aW1pemF0aW9uIGVuYWJsZWQgYXJlIGFzIGZv
bGxvd3M6Ci0jIEFWWDUxMiBBVlgyIEFWWCBTU0U0XzEgU1NTRTMgU1NFMyBTU0UyIFNTRSBNTVgK
LSMgICAxICAgICAxICAgIDEgICAgMSAgICAgIDEgICAgMSAgICAxICAgIDEgICAxICAtPiAweDFG
RiAtPiBFbmFibGUgQVZYNTEyIGFuZCBsb3dlciB2YXJpYW50cwotIyAgIDAgICAgIDEgICAgMSAg
ICAxICAgICAgMSAgICAxICAgIDEgICAgMSAgIDEgIC0+IDB4MEZGIC0+IEVuYWJsZSBBVlgyIGFu
ZCBsb3dlciB2YXJpYW50cwotIyAgIDAgICAgIDAgICAgMSAgICAxICAgICAgMSAgICAxICAgIDEg
ICAgMSAgIDEgIC0+IDB4MDdGIC0+IEVuYWJsZSBBVlggYW5kIGxvd2VyIHZhcmlhbnRzCi0jICAg
MCAgICAgMCAgICAwICAgIDEgICAgICAxICAgIDEgICAgMSAgICAxICAgMSAgLT4gMHgwM0YgIC0+
IEVuYWJsZSBTU0U0XzEgYW5kIGxvd2VyIHZhcmlhbnRzCi0jICAgMCAgICAgMCAgICAwICAgIDAg
ICAgICAxICAgIDEgICAgMSAgICAxICAgMSAgLT4gMHgwMUYgIC0+IEVuYWJsZSBTU1NFMyBhbmQg
bG93ZXIgdmFyaWFudHMKLSMgICAwICAgICAwICAgIDAgICAgMCAgICAgIDAgICAgMSAgICAxICAg
IDEgICAxICAtPiAweDAwRiAgLT4gRW5hYmxlIFNTRTMgYW5kIGxvd2VyIHZhcmlhbnRzCi0jICAg
MCAgICAgMCAgICAwICAgIDAgICAgICAwICAgIDAgICAgMSAgICAxICAgMSAgLT4gMHgwMDcgIC0+
IEVuYWJsZSBTU0UyIGFuZCBsb3dlciB2YXJpYW50cwotIyAgIDAgICAgIDAgICAgMCAgICAwICAg
ICAgMCAgICAwICAgIDAgICAgMSAgIDEgIC0+IDB4MDAzICAtPiBFbmFibGUgU1NFIGFuZCBsb3dl
ciB2YXJpYW50cwotIyAgIDAgICAgIDAgICAgMCAgICAwICAgICAgMCAgICAwICAgIDAgICAgMCAg
IDEgIC0+IDB4MDAxICAtPiBFbmFibGUgTU1YCi0jIyBOT1RFOiBJbiB4ODZfNjQgcGxhdGZvcm0s
IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBlbmFibGUgc3NlL21teC9jIHVzaW5nICJWUFhfU0lNRF9D
QVBTX01BU0siIGFzCi0jICBhbGwgeDg2XzY0IHBsYXRmb3JtcyBpbXBsZW1lbnQgc3NlMi4KLXZw
OV90ZXN0X3g4NigpIHsKLSAgbG9jYWwgYXJjaD0kMQotCi0gIGlmICEgdW5hbWUgLW0gfCBncmVw
IC1xICJ4ODYiOyB0aGVuCi0gICAgZWxvZyAiTWFjaGluZSBhcmNoaXRlY3R1cmUgaXMgbm90IHg4
NiBvciB4ODZfNjQiCi0gICAgcmV0dXJuIDAKLSAgZmkKLQotICBpZiBbICRhcmNoID0gIng4NiIg
XTsgdGhlbgotICAgIGxvY2FsIHRhcmdldD0ieDg2LWxpbnV4LWdjYyIKLSAgZWxpZiBbICRhcmNo
ID0gIng4Nl82NCIgXTsgdGhlbgotICAgIGxvY2FsIHRhcmdldD0ieDg2XzY0LWxpbnV4LWdjYyIK
LSAgZmkKLQotICBsb2NhbCB4ODZfaXNhX3ZhcmlhbnRzPSJhdng1MTJmIGF2eDIgc3NlNF8xIHNz
c2UzIHNzZTIiCi0gIGxvY2FsIGNvbmZpZ3VyZT0iJExJQlZQWF9TT1VSQ0VfRElSL2NvbmZpZ3Vy
ZSIKLQotICBlY2hvICJCdWlsZCBmb3IgeDg2OiAke3RhcmdldH0iCi0gIHZwOV9lbmNfYnVpbGQg
JHt0YXJnZXR9ICR7Y29uZmlndXJlfQotICBsb2NhbCBlbmNvZGVyPSIkKHZwOV9lbmNfdG9vbF9w
YXRoICIke3RhcmdldH0iKSIKLSAgZm9yIGlzYSBpbiAkeDg2X2lzYV92YXJpYW50czsgZG8KLSAg
ICAjIE5vdGUgdGhhdCBpZiBoYXNfeDg2X2lzYV9leHRuIHJldHVybnMgMSwgaXQgaXMgZmFsc2Us
IGFuZCB2aWNlIHZlcnNhLgotICAgIGlmICEgaGFzX3g4Nl9pc2FfZXh0biAkaXNhOyB0aGVuCi0g
ICAgICBlY2hvICIke2lzYX0gaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIG1hY2hpbmUiCi0gICAg
ICBjb250aW51ZQotICAgIGZpCi0gICAgZXhwb3J0IFZQWF9TSU1EX0NBUFNfTUFTSz0kKCRpc2Ep
Ci0gICAgaWYgISB2cDlfZW5jX3Rlc3QgJGVuY29kZXIgJHt0YXJnZXR9OyB0aGVuCi0gICAgICAj
IEZpbmQgdGhlIG1pc21hdGNoCi0gICAgICByZXR1cm4gMQotICAgIGZpCi0gICAgdW5zZXQgVlBY
X1NJTURfQ0FQU19NQVNLCi0gIGRvbmUKLX0KLQotdnA5X3Rlc3RfYXJtKCkgewotICBsb2NhbCB0
YXJnZXQ9ImFybXY4LWxpbnV4LWdjYyIKLSAgbG9jYWwgY29uZmlndXJlPSJDUk9TUz1hYXJjaDY0
LWxpbnV4LWdudS0gJExJQlZQWF9TT1VSQ0VfRElSL2NvbmZpZ3VyZSAtLWV4dHJhLWNmbGFncz0t
bWFyY2g9YXJtdjguNC1hIFwKLSAgICAgICAgICAtLWV4dHJhLWN4eGZsYWdzPS1tYXJjaD1hcm12
OC40LWEiCi0gIGVjaG8gIkJ1aWxkIGZvciBhcm02NDogJHt0YXJnZXR9IgotICB2cDlfZW5jX2J1
aWxkICR7dGFyZ2V0fSAiJHtjb25maWd1cmV9IgotCi0gIGxvY2FsIGVuY29kZXI9IiQodnA5X2Vu
Y190b29sX3BhdGggIiR7dGFyZ2V0fSIpIgotICBpZiAhIHZwOV9lbmNfdGVzdCAicWVtdS1hYXJj
aDY0IC1MIC91c3IvYWFyY2g2NC1saW51eC1nbnUgJHtlbmNvZGVyfSIgJHt0YXJnZXR9OyB0aGVu
Ci0gICAgIyBGaW5kIHRoZSBtaXNtYXRjaAotICAgIHJldHVybiAxCi0gIGZpCi19Ci0KLXZwOV9j
X3ZzX3NpbWRfZW5jX3Rlc3QoKSB7Ci0gICMgVGVzdCBHZW5lcmljCi0gIHZwOV90ZXN0X2dlbmVy
aWMKLQotICAjIFRPRE8od2VibToxODE2KTogRW5hYmxlIHg4NiB0ZXN0IG9uY2UgaXNzdWUgMTgx
NiBpcyBmaXhlZC4KLSAgIyBEZXRhaWxzOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3Avd2Vi
bS9pc3N1ZXMvZGV0YWlsP2lkPTE4MTYKLSAgIyBUZXN0IHg4NiAoMzIgYml0KQotICAjIGVjaG8g
InZwOSB0ZXN0IGZvciB4ODYgKDMyIGJpdCk6IFN0YXJ0ZWQuIgotICAjIGlmICEgdnA5X3Rlc3Rf
eDg2ICJ4ODYiOyB0aGVuCi0gICMgICBlY2hvICJ2cDkgdGVzdCBmb3IgeDg2ICgzMiBiaXQpOiBE
b25lLCB0ZXN0IGZhaWxlZC4iCi0gICMgICByZXR1cm4gMQotICAjIGVsc2UKLSAgIyAgIGVjaG8g
InZwOSB0ZXN0IGZvciB4ODYgKDMyIGJpdCk6IERvbmUsIGFsbCB0ZXN0cyBwYXNzZWQuIgotICAj
IGZpCi0KLSAgIyBUZXN0IHg4Nl82NCAoNjQgYml0KQotICBpZiBbICIkKGV2YWwgdW5hbWUgLW0p
IiA9ICJ4ODZfNjQiIF07IHRoZW4KLSAgICBlY2hvICJ2cDkgdGVzdCBmb3IgeDg2XzY0ICg2NCBi
aXQpOiBTdGFydGVkLiIKLSAgICBpZiAhIHZwOV90ZXN0X3g4NiAieDg2XzY0IjsgdGhlbgotICAg
ICAgZWNobyAidnA5IHRlc3QgZm9yIHg4Nl82NCAoNjQgYml0KTogRG9uZSwgdGVzdCBmYWlsZWQu
IgotICAgICAgcmV0dXJuIDEKLSAgICBlbHNlCi0gICAgICBlY2hvICJ2cDkgdGVzdCBmb3IgeDg2
XzY0ICg2NCBiaXQpOiBEb25lLCBhbGwgdGVzdHMgcGFzc2VkLiIKLSAgICBmaQotICBmaQotCi0g
ICMgVGVzdCBBUk0KLSAgZWNobyAidnA5X3Rlc3RfYXJtOiBTdGFydGVkLiIKLSAgaWYgISB2cDlf
dGVzdF9hcm07IHRoZW4KLSAgICBlY2hvICJ2cDkgdGVzdCBmb3IgYXJtOiBEb25lLCB0ZXN0IGZh
aWxlZC4iCi0gICAgcmV0dXJuIDEKLSAgZWxzZQotICAgIGVjaG8gInZwOSB0ZXN0IGZvciBhcm06
IERvbmUsIGFsbCB0ZXN0cyBwYXNzZWQuIgotICBmaQotfQotCi0jIFNldHVwIGEgdHJhcCBmdW5j
dGlvbiB0byBjbGVhbiB1cCBidWlsZCwgYW5kIG91dHB1dCBmaWxlcyBhZnRlciB0ZXN0cyBjb21w
bGV0ZS4KLSMgdHJhcCBjbGVhbnVwIEVYSVQKLQotcnVuX3Rlc3RzIHZwOV9jX3ZzX3NpbWRfZW5j
X3ZlcmlmeV9lbnZpcm9ubWVudCB2cDlfY192c19zaW1kX2VuY190ZXN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvdnA5X2RhdGFyYXRlX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5
X2RhdGFyYXRlX3Rlc3QuY2MKaW5kZXggNGJjOTA5OTIwNjNiLi45OTMwYzc1NGM3YTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfZGF0YXJhdGVfdGVzdC5jYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3Rlc3QvdnA5X2RhdGFyYXRlX3Rlc3QuY2MKQEAgLTksNyArOSw2IEBACiAgKi8KICNpbmNs
dWRlICIuL3ZweF9jb25maWcuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3Ny
Yy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCi0jaW5jbHVkZSAidGVzdC9hY21fcmFuZG9tLmgiCiAj
aW5jbHVkZSAidGVzdC9jb2RlY19mYWN0b3J5LmgiCiAjaW5jbHVkZSAidGVzdC9lbmNvZGVfdGVz
dF9kcml2ZXIuaCIKICNpbmNsdWRlICJ0ZXN0L2k0MjBfdmlkZW9fc291cmNlLmgiCkBAIC0yOCw3
ICsyNyw3IEBAIGNsYXNzIERhdGFyYXRlVGVzdFZQOSA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpF
bmNvZGVyVGVzdCB7CiAgIH0KIAogIHByb3RlY3RlZDoKLSAgfkRhdGFyYXRlVGVzdFZQOSgpIG92
ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+RGF0YXJhdGVUZXN0VlA5KCkge30KIAogICB2
aXJ0dWFsIHZvaWQgUmVzZXRNb2RlbCgpIHsKICAgICBsYXN0X3B0c18gPSAwOwpAQCAtMTEzLDgg
KzExMiw4IEBAIGNsYXNzIERhdGFyYXRlVGVzdFZQOSA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpF
bmNvZGVyVGVzdCB7CiAgICAgcmV0dXJuIGxheWVyX2lkOwogICB9CiAKLSAgdm9pZCBQcmVFbmNv
ZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlk
ZSB7CisgIHZpcnR1YWwgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6Vmlk
ZW9Tb3VyY2UgKnZpZGVvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGli
dnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBpZiAodmlkZW8tPmZyYW1lKCkgPT0g
MCkgewogICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDhFX1NFVF9DUFVVU0VELCBzZXRfY3B1X3Vz
ZWRfKTsKICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfQVFfTU9ERSwgYXFfbW9kZV8p
OwpAQCAtMTQ4LDIzICsxNDcsMjEgQEAgY2xhc3MgRGF0YXJhdGVUZXN0VlA5IDogcHVibGljIDo6
bGlidnB4X3Rlc3Q6OkVuY29kZXJUZXN0IHsKICAgICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAw
KSB7CiAgICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfU1ZDLCAxKTsKICAgICAgIH0K
LSAgICAgIGlmIChjZmdfLnRlbXBvcmFsX2xheWVyaW5nX21vZGUgPT0gVlA5RV9URU1QT1JBTF9M
QVlFUklOR19NT0RFX0JZUEFTUykgewotICAgICAgICB2cHhfc3ZjX2xheWVyX2lkX3QgbGF5ZXJf
aWQ7Ci0gICAgICAgIGZyYW1lX2ZsYWdzXyA9IEdldEZyYW1lRmxhZ3ModmlkZW8tPmZyYW1lKCks
IGNmZ18udHNfbnVtYmVyX2xheWVycyk7Ci0gICAgICAgIGxheWVyX2lkLnNwYXRpYWxfbGF5ZXJf
aWQgPSAwOwotICAgICAgICBsYXllcl9pZC50ZW1wb3JhbF9sYXllcl9pZCA9Ci0gICAgICAgICAg
ICBTZXRMYXllcklkKHZpZGVvLT5mcmFtZSgpLCBjZmdfLnRzX251bWJlcl9sYXllcnMpOwotICAg
ICAgICBsYXllcl9pZC50ZW1wb3JhbF9sYXllcl9pZF9wZXJfc3BhdGlhbFswXSA9Ci0gICAgICAg
ICAgICBTZXRMYXllcklkKHZpZGVvLT5mcmFtZSgpLCBjZmdfLnRzX251bWJlcl9sYXllcnMpOwot
ICAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1NWQ19MQVlFUl9JRCwgJmxheWVyX2lk
KTsKLSAgICAgIH0KKyAgICAgIHZweF9zdmNfbGF5ZXJfaWRfdCBsYXllcl9pZDsKKyAgICAgIGxh
eWVyX2lkLnNwYXRpYWxfbGF5ZXJfaWQgPSAwOworICAgICAgZnJhbWVfZmxhZ3NfID0gR2V0RnJh
bWVGbGFncyh2aWRlby0+ZnJhbWUoKSwgY2ZnXy50c19udW1iZXJfbGF5ZXJzKTsKKyAgICAgIGxh
eWVyX2lkLnRlbXBvcmFsX2xheWVyX2lkID0KKyAgICAgICAgICBTZXRMYXllcklkKHZpZGVvLT5m
cmFtZSgpLCBjZmdfLnRzX251bWJlcl9sYXllcnMpOworICAgICAgbGF5ZXJfaWQudGVtcG9yYWxf
bGF5ZXJfaWRfcGVyX3NwYXRpYWxbMF0gPQorICAgICAgICAgIFNldExheWVySWQodmlkZW8tPmZy
YW1lKCksIGNmZ18udHNfbnVtYmVyX2xheWVycyk7CisgICAgICBlbmNvZGVyLT5Db250cm9sKFZQ
OUVfU0VUX1NWQ19MQVlFUl9JRCwgJmxheWVyX2lkKTsKICAgICB9CiAgICAgY29uc3QgdnB4X3Jh
dGlvbmFsX3QgdGIgPSB2aWRlby0+dGltZWJhc2UoKTsKICAgICB0aW1lYmFzZV8gPSBzdGF0aWNf
Y2FzdDxkb3VibGU+KHRiLm51bSkgLyB0Yi5kZW47CiAgICAgZHVyYXRpb25fID0gMDsKICAgfQog
Ci0gIHZvaWQgRnJhbWVQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAqcGt0KSBvdmVy
cmlkZSB7CisgIHZpcnR1YWwgdm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3Br
dF90ICpwa3QpIHsKICAgICAvLyBUaW1lIHNpbmNlIGxhc3QgdGltZXN0YW1wID0gZHVyYXRpb24u
CiAgICAgdnB4X2NvZGVjX3B0c190IGR1cmF0aW9uID0gcGt0LT5kYXRhLmZyYW1lLnB0cyAtIGxh
c3RfcHRzXzsKIApAQCAtMjAyLDcgKzE5OSw3IEBAIGNsYXNzIERhdGFyYXRlVGVzdFZQOSA6IHB1
YmxpYyA6OmxpYnZweF90ZXN0OjpFbmNvZGVyVGVzdCB7CiAgICAgKyt0b3RfZnJhbWVfbnVtYmVy
XzsKICAgfQogCi0gIHZvaWQgRW5kUGFzc0hvb2soKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9p
ZCBFbmRQYXNzSG9vayh2b2lkKSB7CiAgICAgZm9yIChpbnQgbGF5ZXIgPSAwOyBsYXllciA8IHN0
YXRpY19jYXN0PGludD4oY2ZnXy50c19udW1iZXJfbGF5ZXJzKTsKICAgICAgICAgICsrbGF5ZXIp
IHsKICAgICAgIGR1cmF0aW9uXyA9IChsYXN0X3B0c18gKyAxKSAqIHRpbWViYXNlXzsKQEAgLTI0
Myw3ICsyNDAsNyBAQCBjbGFzcyBEYXRhcmF0ZVRlc3RWUDlSZWFsVGltZU11bHRpQlIKICAgRGF0
YXJhdGVUZXN0VlA5UmVhbFRpbWVNdWx0aUJSKCkgOiBEYXRhcmF0ZVRlc3RWUDkoR0VUX1BBUkFN
KDApKSB7fQogCiAgcHJvdGVjdGVkOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0
dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUo
OjpsaWJ2cHhfdGVzdDo6a1JlYWxUaW1lKTsKICAgICBzZXRfY3B1X3VzZWRfID0gR0VUX1BBUkFN
KDEpOwpAQCAtMjU5LDcgKzI1Niw3IEBAIGNsYXNzIERhdGFyYXRlVGVzdFZQOUxhcmdlVkJSCiAg
IERhdGFyYXRlVGVzdFZQOUxhcmdlVkJSKCkgOiBEYXRhcmF0ZVRlc3RWUDkoR0VUX1BBUkFNKDAp
KSB7fQogCiAgcHJvdGVjdGVkOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFs
IHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUoOjps
aWJ2cHhfdGVzdDo6a1JlYWxUaW1lKTsKICAgICBzZXRfY3B1X3VzZWRfID0gR0VUX1BBUkFNKDEp
OwpAQCAtNTc5LDEwICs1NzYsMTAgQEAgY2xhc3MgRGF0YXJhdGVUZXN0VlA5UmVhbFRpbWUgOiBw
dWJsaWMgRGF0YXJhdGVUZXN0VlA5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgOjpsaWJ2cHhfdGVzdDo6Q29kZWNUZXN0V2l0aFBhcmFtPGludD4gewogIHB1YmxpYzoK
ICAgRGF0YXJhdGVUZXN0VlA5UmVhbFRpbWUoKSA6IERhdGFyYXRlVGVzdFZQOShHRVRfUEFSQU0o
MCkpIHt9Ci0gIH5EYXRhcmF0ZVRlc3RWUDlSZWFsVGltZSgpIG92ZXJyaWRlID0gZGVmYXVsdDsK
KyAgdmlydHVhbCB+RGF0YXJhdGVUZXN0VlA5UmVhbFRpbWUoKSB7fQogCiAgcHJvdGVjdGVkOgot
ICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAg
SW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1vZGUoOjpsaWJ2cHhfdGVzdDo6a1JlYWxUaW1l
KTsKICAgICBzZXRfY3B1X3VzZWRfID0gR0VUX1BBUkFNKDEpOwpAQCAtNzMxLDEwICs3MjgsMTAg
QEAgY2xhc3MgRGF0YXJhdGVUZXN0VlA5UmVhbFRpbWVEZWx0YVFVVgogICAgICAgcHVibGljIDo6
bGlidnB4X3Rlc3Q6OkNvZGVjVGVzdFdpdGgyUGFyYW1zPGludCwgaW50PiB7CiAgcHVibGljOgog
ICBEYXRhcmF0ZVRlc3RWUDlSZWFsVGltZURlbHRhUVVWKCkgOiBEYXRhcmF0ZVRlc3RWUDkoR0VU
X1BBUkFNKDApKSB7fQotICB+RGF0YXJhdGVUZXN0VlA5UmVhbFRpbWVEZWx0YVFVVigpIG92ZXJy
aWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+RGF0YXJhdGVUZXN0VlA5UmVhbFRpbWVEZWx0YVFV
VigpIHt9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1
YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZSg6
OmxpYnZweF90ZXN0OjprUmVhbFRpbWUpOwogICAgIHNldF9jcHVfdXNlZF8gPSBHRVRfUEFSQU0o
MSk7CkBAIC03NzksNyArNzc2LDcgQEAgY2xhc3MgRGF0YXJhdGVUZXN0VlA5UG9zdEVuY29kZURy
b3AKICAgRGF0YXJhdGVUZXN0VlA5UG9zdEVuY29kZURyb3AoKSA6IERhdGFyYXRlVGVzdFZQOShH
RVRfUEFSQU0oMCkpIHt9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7
CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAg
U2V0TW9kZSg6OmxpYnZweF90ZXN0OjprUmVhbFRpbWUpOwogICAgIHNldF9jcHVfdXNlZF8gPSBH
RVRfUEFSQU0oMSk7CkBAIC04MTIsMTQwICs4MDksMTEgQEAgVEVTVF9QKERhdGFyYXRlVGVzdFZQ
OVBvc3RFbmNvZGVEcm9wLCBQb3N0RW5jb2RlRHJvcFNjcmVlbkNvbnRlbnQpIHsKICAgICAgIDw8
ICIgVGhlIGRhdGFyYXRlIGZvciB0aGUgZmlsZSBpcyBncmVhdGVyIHRoYW4gdGFyZ2V0IGJ5IHRv
byBtdWNoISI7CiB9CiAKLXVzaW5nIGxpYnZweF90ZXN0OjpBQ01SYW5kb207Ci0KLWNsYXNzIERh
dGFyYXRlVGVzdFZQOUZyYW1lUXAKLSAgICA6IHB1YmxpYyBEYXRhcmF0ZVRlc3RWUDksCi0gICAg
ICBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPGNvbnN0IGxpYnZweF90ZXN0OjpDb2Rl
Y0ZhY3RvcnkgKj4gewotIHB1YmxpYzoKLSAgRGF0YXJhdGVUZXN0VlA5RnJhbWVRcCgpIDogRGF0
YXJhdGVUZXN0VlA5KEdldFBhcmFtKCkpLCBmcmFtZV8oMCkge30KLSAgfkRhdGFyYXRlVGVzdFZQ
OUZyYW1lUXAoKSBvdmVycmlkZSA9IGRlZmF1bHQ7Ci0KLSBwcm90ZWN0ZWQ6Ci0gIHZvaWQgU2V0
VXAoKSBvdmVycmlkZSB7Ci0gICAgSW5pdGlhbGl6ZUNvbmZpZygpOwotICAgIFNldE1vZGUoOjps
aWJ2cHhfdGVzdDo6a1JlYWxUaW1lKTsKLSAgICBSZXNldE1vZGVsKCk7Ci0gIH0KLQotICB2b2lk
IFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIp
IG92ZXJyaWRlIHsKLSAgICBzZXRfY3B1X3VzZWRfID0gNzsKLSAgICBEYXRhcmF0ZVRlc3RWUDk6
OlByZUVuY29kZUZyYW1lSG9vayh2aWRlbywgZW5jb2Rlcik7Ci0gICAgZnJhbWVfcXBfID0gc3Rh
dGljX2Nhc3Q8aW50PihybmRfLlJhbmRSYW5nZSg2NCkpOwotICAgIGVuY29kZXItPkNvbnRyb2wo
VlA5RV9TRVRfUVVBTlRJWkVSX09ORV9QQVNTLCBmcmFtZV9xcF8pOwotICAgIGZyYW1lXysrOwot
ICB9Ci0KLSAgdm9pZCBQb3N0RW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIg
KmVuY29kZXIpIG92ZXJyaWRlIHsKLSAgICBpbnQgcXAgPSAwOwotICAgIHZweF9zdmNfbGF5ZXJf
aWRfdCBsYXllcl9pZDsKLSAgICBpZiAoZnJhbWVfID49IHRvdGFsX2ZyYW1lXykgcmV0dXJuOwot
ICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9HRVRfTEFTVF9RVUFOVElaRVJfNjQsICZxcCk7Ci0g
ICAgQVNTRVJUX0VRKGZyYW1lX3FwXywgcXApOwotICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9H
RVRfU1ZDX0xBWUVSX0lELCAmbGF5ZXJfaWQpOwotICAgIHRlbXBvcmFsX2xheWVyX2lkXyA9IGxh
eWVyX2lkLnRlbXBvcmFsX2xheWVyX2lkOwotICB9Ci0KLSAgdm9pZCBNaXNtYXRjaEhvb2soY29u
c3QgdnB4X2ltYWdlX3QgKiAvKmltZzEqLywKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgdnB4
X2ltYWdlX3QgKiAvKmltZzIqLykgb3ZlcnJpZGUgewotICAgIGlmIChmcmFtZV8gPj0gdG90YWxf
ZnJhbWVfKSByZXR1cm47Ci0gICAgQVNTRVJUX1RSVUUoY2ZnXy50ZW1wb3JhbF9sYXllcmluZ19t
b2RlID09Ci0gICAgICAgICAgICAgICAgICAgIFZQOUVfVEVNUE9SQUxfTEFZRVJJTkdfTU9ERV8w
MjEyICYmCi0gICAgICAgICAgICAgICAgdGVtcG9yYWxfbGF5ZXJfaWRfID09IDIpOwotICB9Ci0K
LSBwcm90ZWN0ZWQ6Ci0gIGludCB0b3RhbF9mcmFtZV87Ci0KLSBwcml2YXRlOgotICBBQ01SYW5k
b20gcm5kXzsKLSAgaW50IGZyYW1lX3FwXzsKLSAgaW50IGZyYW1lXzsKLSAgaW50IHRlbXBvcmFs
X2xheWVyX2lkXzsKLX07Ci0KLVRFU1RfUChEYXRhcmF0ZVRlc3RWUDlGcmFtZVFwLCBWUDlTZXRG
cmFtZVFwKSB7Ci0gIGNmZ18ucmNfYnVmX2luaXRpYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVm
X29wdGltYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVmX3N6ID0gMTAwMDsKLSAgY2ZnXy5yY19k
cm9wZnJhbWVfdGhyZXNoID0gMDsKLSAgY2ZnXy5yY19taW5fcXVhbnRpemVyID0gMDsKLSAgY2Zn
Xy5yY19tYXhfcXVhbnRpemVyID0gNjM7Ci0gIGNmZ18ucmNfZW5kX3VzYWdlID0gVlBYX0NCUjsK
LSAgY2ZnXy5nX2xhZ19pbl9mcmFtZXMgPSAwOwotCi0gIHRvdGFsX2ZyYW1lXyA9IDQwMDsKLSAg
OjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZpZGVvKCJuaWtsYXNfNjQwXzQ4MF8zMC55
dXYiLCA2NDAsIDQ4MCwgMzAsIDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLCB0b3RhbF9mcmFtZV8pOwotICBSZXNldE1vZGVsKCk7Ci0gIEFTU0VSVF9OT19GQVRB
TF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci19Ci0KLVRFU1RfUChEYXRhcmF0ZVRlc3RWUDlG
cmFtZVFwLCBWUDlTZXRGcmFtZVFwM1RlbXBvcmFsTGF5ZXJzQnlwYXNzKSB7Ci0gIGNmZ18ucmNf
YnVmX2luaXRpYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVmX29wdGltYWxfc3ogPSA1MDA7Ci0g
IGNmZ18ucmNfYnVmX3N6ID0gMTAwMDsKLSAgY2ZnXy5yY19kcm9wZnJhbWVfdGhyZXNoID0gMDsK
LSAgY2ZnXy5yY19tYXhfcXVhbnRpemVyID0gNjM7Ci0gIGNmZ18ucmNfbWluX3F1YW50aXplciA9
IDA7Ci0gIGNmZ18ucmNfZW5kX3VzYWdlID0gVlBYX0NCUjsKLSAgY2ZnXy5nX2xhZ19pbl9mcmFt
ZXMgPSAwOwotCi0gIC8vIDMgVGVtcG9yYWwgbGF5ZXJzLCBubyBzcGF0aWFsIGxheWVyczogRnJh
bWVyYXRlIGRlY2ltYXRpb24gKDQsIDIsIDEpLgotICBjZmdfLnNzX251bWJlcl9sYXllcnMgPSAx
OwotICBjZmdfLnRzX251bWJlcl9sYXllcnMgPSAzOwotICBjZmdfLnRzX3JhdGVfZGVjaW1hdG9y
WzBdID0gNDsKLSAgY2ZnXy50c19yYXRlX2RlY2ltYXRvclsxXSA9IDI7Ci0gIGNmZ18udHNfcmF0
ZV9kZWNpbWF0b3JbMl0gPSAxOwotCi0gIGNmZ18udGVtcG9yYWxfbGF5ZXJpbmdfbW9kZSA9IFZQ
OUVfVEVNUE9SQUxfTEFZRVJJTkdfTU9ERV9CWVBBU1M7Ci0gIGNmZ18ucmNfdGFyZ2V0X2JpdHJh
dGUgPSAyMDA7Ci0gIHRvdGFsX2ZyYW1lXyA9IDQwMDsKLSAgOjpsaWJ2cHhfdGVzdDo6STQyMFZp
ZGVvU291cmNlIHZpZGVvKCJuaWtsYXNfNjQwXzQ4MF8zMC55dXYiLCA2NDAsIDQ4MCwgMzAsIDEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCB0b3RhbF9mcmFtZV8p
OwotICBSZXNldE1vZGVsKCk7Ci0gIGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbMF0gPSA0MCAq
IGNmZ18ucmNfdGFyZ2V0X2JpdHJhdGUgLyAxMDA7Ci0gIGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJh
dGVbMV0gPSA2MCAqIGNmZ18ucmNfdGFyZ2V0X2JpdHJhdGUgLyAxMDA7Ci0gIGNmZ18ubGF5ZXJf
dGFyZ2V0X2JpdHJhdGVbMl0gPSBjZmdfLnJjX3RhcmdldF9iaXRyYXRlOwotICBBU1NFUlRfTk9f
RkFUQUxfRkFJTFVSRShSdW5Mb29wKCZ2aWRlbykpOwotfQotCi1URVNUX1AoRGF0YXJhdGVUZXN0
VlA5RnJhbWVRcCwgVlA5U2V0RnJhbWVRcDNUZW1wb3JhbExheWVyc0ZpeGVkTW9kZSkgewotICBj
ZmdfLnJjX2J1Zl9pbml0aWFsX3N6ID0gNTAwOwotICBjZmdfLnJjX2J1Zl9vcHRpbWFsX3N6ID0g
NTAwOwotICBjZmdfLnJjX2J1Zl9zeiA9IDEwMDA7Ci0gIGNmZ18ucmNfZHJvcGZyYW1lX3RocmVz
aCA9IDA7Ci0gIGNmZ18ucmNfbWF4X3F1YW50aXplciA9IDYzOwotICBjZmdfLnJjX21pbl9xdWFu
dGl6ZXIgPSAwOwotICBjZmdfLnJjX2VuZF91c2FnZSA9IFZQWF9DQlI7Ci0gIGNmZ18uZ19sYWdf
aW5fZnJhbWVzID0gMDsKLQotICAvLyAzIFRlbXBvcmFsIGxheWVycywgbm8gc3BhdGlhbCBsYXll
cnM6IEZyYW1lcmF0ZSBkZWNpbWF0aW9uICg0LCAyLCAxKS4KLSAgY2ZnXy5zc19udW1iZXJfbGF5
ZXJzID0gMTsKLSAgY2ZnXy50c19udW1iZXJfbGF5ZXJzID0gMzsKLSAgY2ZnXy50c19yYXRlX2Rl
Y2ltYXRvclswXSA9IDQ7Ci0gIGNmZ18udHNfcmF0ZV9kZWNpbWF0b3JbMV0gPSAyOwotICBjZmdf
LnRzX3JhdGVfZGVjaW1hdG9yWzJdID0gMTsKLQotICBjZmdfLnRlbXBvcmFsX2xheWVyaW5nX21v
ZGUgPSBWUDlFX1RFTVBPUkFMX0xBWUVSSU5HX01PREVfMDIxMjsKLSAgY2ZnXy5yY190YXJnZXRf
Yml0cmF0ZSA9IDIwMDsKLSAgY2ZnXy5nX2Vycm9yX3Jlc2lsaWVudCA9IDE7Ci0gIHRvdGFsX2Zy
YW1lXyA9IDQwMDsKLSAgOjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZpZGVvKCJuaWts
YXNfNjQwXzQ4MF8zMC55dXYiLCA2NDAsIDQ4MCwgMzAsIDEsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAwLCB0b3RhbF9mcmFtZV8pOwotICBSZXNldE1vZGVsKCk7Ci0g
IGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbMF0gPSA0MCAqIGNmZ18ucmNfdGFyZ2V0X2JpdHJh
dGUgLyAxMDA7Ci0gIGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbMV0gPSA2MCAqIGNmZ18ucmNf
dGFyZ2V0X2JpdHJhdGUgLyAxMDA7Ci0gIGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbMl0gPSBj
ZmdfLnJjX3RhcmdldF9iaXRyYXRlOwotICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShSdW5Mb29w
KCZ2aWRlbykpOwotfQotCiAjaWYgQ09ORklHX1ZQOV9URU1QT1JBTF9ERU5PSVNJTkcKIC8vIFBh
cmFtczogc3BlZWQgc2V0dGluZy4KIGNsYXNzIERhdGFyYXRlVGVzdFZQOVJlYWxUaW1lRGVub2lz
ZXIgOiBwdWJsaWMgRGF0YXJhdGVUZXN0VlA5UmVhbFRpbWUgewogIHB1YmxpYzoKLSAgfkRhdGFy
YXRlVGVzdFZQOVJlYWxUaW1lRGVub2lzZXIoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1
YWwgfkRhdGFyYXRlVGVzdFZQOVJlYWxUaW1lRGVub2lzZXIoKSB7fQogfTsKIAogLy8gQ2hlY2sg
YmFzaWMgZGF0YXJhdGUgdGFyZ2V0aW5nLCBmb3IgYSBzaW5nbGUgYml0cmF0ZSwgd2hlbiBkZW5v
aXNlciBpcyBvbi4KQEAgLTEwNzUsMTMgKzk0Myw2IEBAIFZQOV9JTlNUQU5USUFURV9URVNUX1NV
SVRFKERhdGFyYXRlVGVzdFZQOUxhcmdlVkJSLCA6OnRlc3Rpbmc6OlJhbmdlKDUsIDkpLAogCiBW
UDlfSU5TVEFOVElBVEVfVEVTVF9TVUlURShEYXRhcmF0ZVRlc3RWUDlSZWFsVGltZSwgOjp0ZXN0
aW5nOjpSYW5nZSg1LCAxMCkpOwogCi0jaWYgQ09ORklHX1ZQOQotSU5TVEFOVElBVEVfVEVTVF9T
VUlURV9QKAotICAgIFZQOSwgRGF0YXJhdGVUZXN0VlA5RnJhbWVRcCwKLSAgICA6OnRlc3Rpbmc6
OlZhbHVlcygKLSAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgbGlidnB4X3Rlc3Q6OkNvZGVjRmFj
dG9yeSAqPigmbGlidnB4X3Rlc3Q6OmtWUDkpKSk7Ci0jZW5kaWYKLQogVlA5X0lOU1RBTlRJQVRF
X1RFU1RfU1VJVEUoRGF0YXJhdGVUZXN0VlA5UmVhbFRpbWVEZWx0YVFVViwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6UmFuZ2UoNSwgMTApLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoLTUsIC0xMCwgLTE1KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rlc3QvdnA5X2Rlbm9pc2VyX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qv
dnA5X2Rlbm9pc2VyX3Rlc3QuY2MKaW5kZXggODMxZjgzMzA1YzU2Li5kODg0YjdlYjkyNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfZGVub2lzZXJfdGVzdC5jYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvdnA5X2Rlbm9pc2VyX3Rlc3QuY2MKQEAgLTQyLDExICs0MiwxMSBAQCBjbGFz
cyBWUDlEZW5vaXNlclRlc3QKICAgICA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QsCiAgICAgICBw
dWJsaWMgOjp0ZXN0aW5nOjpXaXRoUGFyYW1JbnRlcmZhY2U8VlA5RGVub2lzZXJUZXN0UGFyYW0+
IHsKICBwdWJsaWM6Ci0gIH5WUDlEZW5vaXNlclRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7Cisg
IHZpcnR1YWwgflZQOURlbm9pc2VyVGVzdCgpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRl
IHsgYnNfID0gR0VUX1BBUkFNKDEpOyB9CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsgYnNfID0g
R0VUX1BBUkFNKDEpOyB9CiAKLSAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlIHsgbGlidnB4X3Rl
c3Q6OkNsZWFyU3lzdGVtU3RhdGUoKTsgfQorICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7IGxp
YnZweF90ZXN0OjpDbGVhclN5c3RlbVN0YXRlKCk7IH0KIAogIHByb3RlY3RlZDoKICAgQkxPQ0tf
U0laRSBic187CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2VuY29kZXJfcGFybXNf
Z2V0X3RvX2RlY29kZXIuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2VuY29kZXJfcGFybXNfZ2V0
X3RvX2RlY29kZXIuY2MKaW5kZXggMGUxODJjNzZkYjkxLi5jZTIxOThjNTkyMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfZW5jb2Rlcl9wYXJtc19nZXRfdG9fZGVjb2Rlci5jYwor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2VuY29kZXJfcGFybXNfZ2V0X3RvX2RlY29kZXIuY2MK
QEAgLTYyLDkgKzYyLDkgQEAgY2xhc3MgVnB4RW5jb2RlclBhcm1zR2V0VG9EZWNvZGVyCiAgIFZw
eEVuY29kZXJQYXJtc0dldFRvRGVjb2RlcigpCiAgICAgICA6IEVuY29kZXJUZXN0KEdFVF9QQVJB
TSgwKSksIGVuY29kZV9wYXJtcyhHRVRfUEFSQU0oMSkpIHt9CiAKLSAgflZweEVuY29kZXJQYXJt
c0dldFRvRGVjb2RlcigpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+VnB4RW5jb2Rl
clBhcm1zR2V0VG9EZWNvZGVyKCkge30KIAotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2
aXJ0dWFsIHZvaWQgU2V0VXAoKSB7CiAgICAgSW5pdGlhbGl6ZUNvbmZpZygpOwogICAgIFNldE1v
ZGUoOjpsaWJ2cHhfdGVzdDo6a1R3b1Bhc3NHb29kKTsKICAgICBjZmdfLmdfbGFnX2luX2ZyYW1l
cyA9IDI1OwpAQCAtNzQsOCArNzQsOCBAQCBjbGFzcyBWcHhFbmNvZGVyUGFybXNHZXRUb0RlY29k
ZXIKICAgICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gdGVzdF92aWRlb18uYml0cmF0ZTsKICAg
fQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNl
ICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2Rl
ciAqZW5jb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29r
KDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSB7CiAgICAgaWYg
KHZpZGVvLT5mcmFtZSgpID09IDApIHsKICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRf
Q09MT1JfU1BBQ0UsIGVuY29kZV9wYXJtcy5jcyk7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQ
OUVfU0VUX0NPTE9SX1JBTkdFLCBlbmNvZGVfcGFybXMuY29sb3JfcmFuZ2UpOwpAQCAtOTUsOSAr
OTUsOSBAQCBjbGFzcyBWcHhFbmNvZGVyUGFybXNHZXRUb0RlY29kZXIKICAgICB9CiAgIH0KIAot
ICBib29sIEhhbmRsZURlY29kZVJlc3VsdChjb25zdCB2cHhfY29kZWNfZXJyX3QgcmVzX2RlYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlidnB4X3Rlc3Q6OlZpZGVvU291cmNl
ICYgLyp2aWRlbyovLAotICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RGVj
b2RlciAqZGVjb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIGJvb2wgSGFuZGxlRGVjb2RlUmVz
dWx0KGNvbnN0IHZweF9jb2RlY19lcnJfdCByZXNfZGVjLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAmIC8qdmlkZW8qLywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RGVjb2RlciAq
ZGVjb2RlcikgewogICAgIHZweF9jb2RlY19jdHhfdCAqY29uc3QgdnA5X2RlY29kZXIgPSBkZWNv
ZGVyLT5HZXREZWNvZGVyKCk7CiAgICAgdnB4X2NvZGVjX2FsZ19wcml2X3QgKmNvbnN0IHByaXYg
PQogICAgICAgICByZWludGVycHJldF9jYXN0PHZweF9jb2RlY19hbGdfcHJpdl90ICo+KHZwOV9k
ZWNvZGVyLT5wcml2KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfZW5kX3RvX2Vu
ZF90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9lbmRfdG9fZW5kX3Rlc3QuY2MKaW5kZXgg
NzliZTRlZTE0NjBmLi43Y2MxMjZlYTU4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92
cDlfZW5kX3RvX2VuZF90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfZW5kX3RvX2Vu
ZF90ZXN0LmNjCkBAIC0zMSw3ICszMSw3IEBAIGNvbnN0IGRvdWJsZSBrUHNuclRocmVzaG9sZFtd
WzVdID0gewogICB7IDM2LjAsIDM3LjAsIDM3LjAsIDM3LjAsIDM3LjAgfSwgeyAzNS4wLCAzNi4w
LCAzNi4wLCAzNi4wLCAzNi4wIH0sCiAgIHsgMzQuMCwgMzUuMCwgMzUuMCwgMzUuMCwgMzUuMCB9
LCB7IDMzLjAsIDM0LjAsIDM0LjAsIDM0LjAsIDM0LjAgfSwKICAgeyAzMi4wLCAzMy4wLCAzMy4w
LCAzMy4wLCAzMy4wIH0sIHsgMjguMCwgMzIuMCwgMzIuMCwgMzIuMCwgMzIuMCB9LAotICB7IDI4
LjQsIDMxLjAsIDMxLjAsIDMxLjAsIDMxLjAgfSwgeyAyNy41LCAzMC4wLCAzMC4wLCAzMC4wLCAz
MC4wIH0sCisgIHsgMjguNSwgMzEuMCwgMzEuMCwgMzEuMCwgMzEuMCB9LCB7IDI3LjUsIDMwLjAs
IDMwLjAsIDMwLjAsIDMwLjAgfSwKIH07CiAKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTg5LDkgKzg5
LDkgQEAgY2xhc3MgRW5kVG9FbmRUZXN0QWRhcHRpdmVSRFRocmVzaAogICAgICAgOiBFbmNvZGVy
VGVzdChHRVRfUEFSQU0oMCkpLCBjcHVfdXNlZF9zdGFydF8oR0VUX1BBUkFNKDEpKSwKICAgICAg
ICAgY3B1X3VzZWRfZW5kXyhHRVRfUEFSQU0oMikpIHt9CiAKLSAgfkVuZFRvRW5kVGVzdEFkYXB0
aXZlUkRUaHJlc2goKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgIHZpcnR1YWwgfkVuZFRvRW5kVGVz
dEFkYXB0aXZlUkRUaHJlc2goKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZp
cnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9k
ZSg6OmxpYnZweF90ZXN0OjprUmVhbFRpbWUpOwogICAgIGNmZ18uZ19sYWdfaW5fZnJhbWVzID0g
MDsKQEAgLTEwMiw4ICsxMDIsOCBAQCBjbGFzcyBFbmRUb0VuZFRlc3RBZGFwdGl2ZVJEVGhyZXNo
CiAgICAgZGVjX2NmZ18udGhyZWFkcyA9IDQ7CiAgIH0KIAotICB2b2lkIFByZUVuY29kZUZyYW1l
SG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKKyAg
dmlydHVhbCB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJj
ZSAqdmlkZW8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVz
dDo6RW5jb2RlciAqZW5jb2RlcikgewogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CiAg
ICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVfU0VUX0NQVVVTRUQsIGNwdV91c2VkX3N0YXJ0Xyk7
CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1JPV19NVCwgMSk7CkBAIC0xMzEsOSAr
MTMxLDkgQEAgY2xhc3MgRW5kVG9FbmRUZXN0TGFyZ2UKICAgICBkZW5vaXNlcl9vbl8gPSAwOwog
ICB9CiAKLSAgfkVuZFRvRW5kVGVzdExhcmdlKCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0
dWFsIH5FbmRUb0VuZFRlc3RMYXJnZSgpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsK
KyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxpemVDb25maWcoKTsKICAgICBT
ZXRNb2RlKGVuY29kaW5nX21vZGVfKTsKICAgICBpZiAoZW5jb2RpbmdfbW9kZV8gIT0gOjpsaWJ2
cHhfdGVzdDo6a1JlYWxUaW1lKSB7CkBAIC0xNDksMTggKzE0OSwxOCBAQCBjbGFzcyBFbmRUb0Vu
ZFRlc3RMYXJnZQogICAgIGRlY19jZmdfLnRocmVhZHMgPSA0OwogICB9CiAKLSAgdm9pZCBCZWdp
blBhc3NIb29rKHVuc2lnbmVkIGludCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgQmVnaW5Q
YXNzSG9vayh1bnNpZ25lZCBpbnQpIHsKICAgICBwc25yXyA9IDAuMDsKICAgICBuZnJhbWVzXyA9
IDA7CiAgIH0KIAotICB2b2lkIFBTTlJQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9wa3RfdCAq
cGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQU05SUGt0SG9vayhjb25zdCB2cHhfY29k
ZWNfY3hfcGt0X3QgKnBrdCkgewogICAgIHBzbnJfICs9IHBrdC0+ZGF0YS5wc25yLnBzbnJbMF07
CiAgICAgbmZyYW1lc18rKzsKICAgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGli
dnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
OjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZv
aWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVy
ICplbmNvZGVyKSB7CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsKICAgICAgIGVuY29k
ZXItPkNvbnRyb2woVlA5RV9TRVRfRlJBTUVfUEFSQUxMRUxfREVDT0RJTkcsIDEpOwogICAgICAg
ZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9USUxFX0NPTFVNTlMsIDQpOwpAQCAtMjA3LDkgKzIw
Nyw5IEBAIGNsYXNzIEVuZFRvRW5kVGVzdExvb3BGaWx0ZXJUaHJlYWRpbmcKICAgRW5kVG9FbmRU
ZXN0TG9vcEZpbHRlclRocmVhZGluZygpCiAgICAgICA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgw
KSksIHVzZV9sb29wX2ZpbHRlcl9vcHRfKEdFVF9QQVJBTSgxKSkge30KIAotICB+RW5kVG9FbmRU
ZXN0TG9vcEZpbHRlclRocmVhZGluZygpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+
RW5kVG9FbmRUZXN0TG9vcEZpbHRlclRocmVhZGluZygpIHt9CiAKLSAgdm9pZCBTZXRVcCgpIG92
ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxpemVDb25maWco
KTsKICAgICBTZXRNb2RlKDo6bGlidnB4X3Rlc3Q6OmtSZWFsVGltZSk7CiAgICAgY2ZnXy5nX3Ro
cmVhZHMgPSAyOwpAQCAtMjIxLDE2ICsyMjEsMTYgQEAgY2xhc3MgRW5kVG9FbmRUZXN0TG9vcEZp
bHRlclRocmVhZGluZwogICAgIGRlY19jZmdfLnRocmVhZHMgPSBHRVRfUEFSQU0oMik7CiAgIH0K
IAotICB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAq
dmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIg
KmVuY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6
OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2RlcikgewogICAgIGlmICh2
aWRlby0+ZnJhbWUoKSA9PSAwKSB7CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVfU0VUX0NQ
VVVTRUQsIDgpOwogICAgIH0KICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1RJTEVfQ09M
VU1OUywgNCAtIHZpZGVvLT5mcmFtZSgpICUgNSk7CiAgIH0KIAotICB2b2lkIFByZURlY29kZUZy
YW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkRlY29kZXIgKmRlY29kZXIpIG92ZXJyaWRlIHsK
KyAgdmlydHVhbCB2b2lkIFByZURlY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1Nv
dXJjZSAqdmlkZW8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhf
dGVzdDo6RGVjb2RlciAqZGVjb2RlcikgewogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7
CiAgICAgICBkZWNvZGVyLT5Db250cm9sKFZQOURfU0VUX0xPT1BfRklMVEVSX09QVCwgdXNlX2xv
b3BfZmlsdGVyX29wdF8gPyAxIDogMCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3ZwOV9ldGhyZWFkX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2V0aHJlYWRfdGVz
dC5jYwppbmRleCBjOGQzY2JhN2ZiYjMuLjIxY2FmNzkxOGMyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L3ZwOV9ldGhyZWFkX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9l
dGhyZWFkX3Rlc3QuY2MKQEAgLTIxLDEyICsyMSwxMiBAQAogbmFtZXNwYWNlIHsKIC8vIEZJUlNU
UEFTU19TVEFUUyBzdHJ1Y3Q6CiAvLyB7Ci0vLyAgIDI2IGRvdWJsZSBtZW1iZXJzOworLy8gICAy
NSBkb3VibGUgbWVtYmVyczsKIC8vICAgMSBpbnQ2NF90IG1lbWJlcjsKIC8vIH0KIC8vIFdoZW5l
dmVyIEZJUlNUUEFTU19TVEFUUyBzdHJ1Y3QgaXMgbW9kaWZpZWQsIHRoZSBmb2xsb3dpbmcgY29u
c3RhbnRzIG5lZWQgdG8KIC8vIGJlIHJldmlzaXRlZC4KLWNvbnN0IGludCBrRGJsID0gMjY7Citj
b25zdCBpbnQga0RibCA9IDI1OwogY29uc3QgaW50IGtJbnQgPSAxOwogY29uc3Qgc2l6ZV90IGtG
aXJzdFBhc3NTdGF0c1N6ID0ga0RibCAqIHNpemVvZihkb3VibGUpICsga0ludCAqIHNpemVvZihp
bnQ2NF90KTsKIApAQCAtNDQsOSArNDQsOSBAQCBjbGFzcyBWUHhGaXJzdFBhc3NFbmNvZGVyVGhy
ZWFkVGVzdAogICAgIGZpcnN0cGFzc19zdGF0c18uYnVmID0gbnVsbHB0cjsKICAgICBmaXJzdHBh
c3Nfc3RhdHNfLnN6ID0gMDsKICAgfQotICB+VlB4Rmlyc3RQYXNzRW5jb2RlclRocmVhZFRlc3Qo
KSBvdmVycmlkZSB7IGZyZWUoZmlyc3RwYXNzX3N0YXRzXy5idWYpOyB9CisgIHZpcnR1YWwgflZQ
eEZpcnN0UGFzc0VuY29kZXJUaHJlYWRUZXN0KCkgeyBmcmVlKGZpcnN0cGFzc19zdGF0c18uYnVm
KTsgfQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgp
IHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZShlbmNvZGluZ19tb2RlXyk7
CiAKQEAgLTU3LDE5ICs1NywxOSBAQCBjbGFzcyBWUHhGaXJzdFBhc3NFbmNvZGVyVGhyZWFkVGVz
dAogICAgIGNmZ18ucmNfbWluX3F1YW50aXplciA9IDA7CiAgIH0KIAotICB2b2lkIEJlZ2luUGFz
c0hvb2sodW5zaWduZWQgaW50IC8qcGFzcyovKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBC
ZWdpblBhc3NIb29rKHVuc2lnbmVkIGludCAvKnBhc3MqLykgewogICAgIGVuY29kZXJfaW5pdGlh
bGl6ZWRfID0gZmFsc2U7CiAgICAgYWJvcnRfID0gZmFsc2U7CiAgIH0KIAotICB2b2lkIEVuZFBh
c3NIb29rKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgRW5kUGFzc0hvb2soKSB7CiAgICAg
Ly8gRm9yIGZpcnN0IHBhc3Mgc3RhdHMgdGVzdCwgb25seSBydW4gZmlyc3QgcGFzcyBlbmNvZGVy
LgogICAgIGlmIChmaXJzdF9wYXNzX29ubHlfICYmIGNmZ18uZ19wYXNzID09IFZQWF9SQ19GSVJT
VF9QQVNTKQogICAgICAgYWJvcnRfIHw9IGZpcnN0X3Bhc3Nfb25seV87CiAgIH0KIAotICB2b2lk
IFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqIC8qdmlkZW8q
LywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5j
b2Rlcikgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGli
dnB4X3Rlc3Q6OlZpZGVvU291cmNlICogLyp2aWRlbyovLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBpZiAo
IWVuY29kZXJfaW5pdGlhbGl6ZWRfKSB7CiAgICAgICAvLyBFbmNvZGUgaW4gMi1wYXNzIG1vZGUu
CiAgICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1RJTEVfQ09MVU1OUywgdGlsZXNfKTsK
QEAgLTg3LDcgKzg3LDcgQEAgY2xhc3MgVlB4Rmlyc3RQYXNzRW5jb2RlclRocmVhZFRlc3QKICAg
ICB9CiAgIH0KIAotICB2b2lkIFN0YXRzUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3Qg
KnBrdCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU3RhdHNQa3RIb29rKGNvbnN0IHZweF9j
b2RlY19jeF9wa3RfdCAqcGt0KSB7CiAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcGt0X2J1ZiA9
CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCAqPihwa3QtPmRhdGEudHdvcGFzc19z
dGF0cy5idWYpOwogICAgIGNvbnN0IHNpemVfdCBwa3Rfc2l6ZSA9IHBrdC0+ZGF0YS50d29wYXNz
X3N0YXRzLnN6OwpAQCAtOTgsNyArOTgsNiBAQCBjbGFzcyBWUHhGaXJzdFBhc3NFbmNvZGVyVGhy
ZWFkVGVzdAogCiAgICAgZmlyc3RwYXNzX3N0YXRzXy5idWYgPQogICAgICAgICByZWFsbG9jKGZp
cnN0cGFzc19zdGF0c18uYnVmLCBmaXJzdHBhc3Nfc3RhdHNfLnN6ICsgcGt0X3NpemUpOwotICAg
IEFTU0VSVF9ORShmaXJzdHBhc3Nfc3RhdHNfLmJ1ZiwgbnVsbHB0cik7CiAgICAgbWVtY3B5KCh1
aW50OF90ICopZmlyc3RwYXNzX3N0YXRzXy5idWYgKyBmaXJzdHBhc3Nfc3RhdHNfLnN6LCBwa3Rf
YnVmLAogICAgICAgICAgICBwa3Rfc2l6ZSk7CiAgICAgZmlyc3RwYXNzX3N0YXRzXy5zeiArPSBw
a3Rfc2l6ZTsKQEAgLTE4NSw3ICsxODQsNyBAQCBURVNUX1AoVlB4Rmlyc3RQYXNzRW5jb2RlclRo
cmVhZFRlc3QsIEZpcnN0UGFzc1N0YXRzVGVzdCkgewogICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVS
RShSdW5Mb29wKCZ2aWRlbykpOwogCiAgIC8vIENvbXBhcmUgdG8gY2hlY2sgaWYgdXNpbmcgb3Ig
bm90IHVzaW5nIHJvdy1tdCBnZW5lcmF0ZXMgY2xvc2Ugc3RhdHMuCi0gIEFTU0VSVF9OT19GQVRB
TF9GQUlMVVJFKGNvbXBhcmVfZnBfc3RhdHMoJmZpcnN0cGFzc19zdGF0c18sIDQwMC4wKSk7Cisg
IEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKGNvbXBhcmVfZnBfc3RhdHMoJmZpcnN0cGFzc19zdGF0
c18sIDEwMDAuMCkpOwogCiAgIC8vIFRlc3Qgc2luZ2xlIHRocmVhZCB2cyBtdWx0aXBsZSB0aHJl
YWRzCiAgIHJvd19tdF9tb2RlXyA9IDE7CkBAIC0xOTksNyArMTk4LDcgQEAgVEVTVF9QKFZQeEZp
cnN0UGFzc0VuY29kZXJUaHJlYWRUZXN0LCBGaXJzdFBhc3NTdGF0c1Rlc3QpIHsKICAgQVNTRVJU
X05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKIAogICAvLyBDb21wYXJlIHRvIGNo
ZWNrIGlmIHNpbmdsZS10aHJlYWQgYW5kIG11bHRpLXRocmVhZCBzdGF0cyBhcmUgY2xvc2UgZW5v
dWdoLgotICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShjb21wYXJlX2ZwX3N0YXRzKCZmaXJzdHBh
c3Nfc3RhdHNfLCA0MDAuMCkpOworICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShjb21wYXJlX2Zw
X3N0YXRzKCZmaXJzdHBhc3Nfc3RhdHNfLCAxMDAwLjApKTsKIAogICAvLyBCaXQgZXhhY3QgdGVz
dCBpbiByb3dfbXQgbW9kZS4KICAgLy8gV2hlbiByb3dfbXRfbW9kZV89MSBhbmQgdXNpbmcgPjEg
dGhyZWFkcywgdGhlIGVuY29kZXIgZ2VuZXJhdGVzIGJpdCBleGFjdApAQCAtMjMzLDkgKzIzMiw5
IEBAIGNsYXNzIFZQeEVuY29kZXJUaHJlYWRUZXN0CiAgICAgcHNucl8gPSAwLjA7CiAgICAgbmZy
YW1lc18gPSAwOwogICB9Ci0gIH5WUHhFbmNvZGVyVGhyZWFkVGVzdCgpIG92ZXJyaWRlID0gZGVm
YXVsdDsKKyAgdmlydHVhbCB+VlB4RW5jb2RlclRocmVhZFRlc3QoKSB7fQogCi0gIHZvaWQgU2V0
VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKICAgICBJbml0aWFsaXpl
Q29uZmlnKCk7CiAgICAgU2V0TW9kZShlbmNvZGluZ19tb2RlXyk7CiAKQEAgLTI1MiwxNCArMjUx
LDE0IEBAIGNsYXNzIFZQeEVuY29kZXJUaHJlYWRUZXN0CiAgICAgY2ZnXy5yY19taW5fcXVhbnRp
emVyID0gMDsKICAgfQogCi0gIHZvaWQgQmVnaW5QYXNzSG9vayh1bnNpZ25lZCBpbnQgLypwYXNz
Ki8pIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEJlZ2luUGFzc0hvb2sodW5zaWduZWQgaW50
IC8qcGFzcyovKSB7CiAgICAgZW5jb2Rlcl9pbml0aWFsaXplZF8gPSBmYWxzZTsKICAgICBwc25y
XyA9IDAuMDsKICAgICBuZnJhbWVzXyA9IDA7CiAgIH0KIAotICB2b2lkIFByZUVuY29kZUZyYW1l
SG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqIC8qdmlkZW8qLywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUg
eworICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVv
U291cmNlICogLyp2aWRlbyovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6
bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIHsKICAgICBpZiAoIWVuY29kZXJfaW5pdGlh
bGl6ZWRfKSB7CiAgICAgICAvLyBFbmNvZGUgNCBjb2x1bW4gdGlsZXMuCiAgICAgICBlbmNvZGVy
LT5Db250cm9sKFZQOUVfU0VUX1RJTEVfQ09MVU1OUywgdGlsZXNfKTsKQEAgLTI4MCwyMSArMjc5
LDIxIEBAIGNsYXNzIFZQeEVuY29kZXJUaHJlYWRUZXN0CiAgICAgfQogICB9CiAKLSAgdm9pZCBQ
U05SUGt0SG9vayhjb25zdCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgb3ZlcnJpZGUgeworICB2
aXJ0dWFsIHZvaWQgUFNOUlBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIHsK
ICAgICBwc25yXyArPSBwa3QtPmRhdGEucHNuci5wc25yWzBdOwogICAgIG5mcmFtZXNfKys7CiAg
IH0KIAotICB2b2lkIERlY29tcHJlc3NlZEZyYW1lSG9vayhjb25zdCB2cHhfaW1hZ2VfdCAmaW1n
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhfY29kZWNfcHRzX3QgLypwdHMqLykg
b3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgRGVjb21wcmVzc2VkRnJhbWVIb29rKGNvbnN0IHZw
eF9pbWFnZV90ICZpbWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnB4
X2NvZGVjX3B0c190IC8qcHRzKi8pIHsKICAgICA6OmxpYnZweF90ZXN0OjpNRDUgbWQ1X3JlczsK
ICAgICBtZDVfcmVzLkFkZCgmaW1nKTsKICAgICBtZDVfLnB1c2hfYmFjayhtZDVfcmVzLkdldCgp
KTsKICAgfQogCi0gIGJvb2wgSGFuZGxlRGVjb2RlUmVzdWx0KGNvbnN0IHZweF9jb2RlY19lcnJf
dCByZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnZweF90ZXN0OjpWaWRl
b1NvdXJjZSAmIC8qdmlkZW8qLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlidnB4X3Rl
c3Q6OkRlY29kZXIgKiAvKmRlY29kZXIqLykgb3ZlcnJpZGUgeworICB2aXJ0dWFsIGJvb2wgSGFu
ZGxlRGVjb2RlUmVzdWx0KGNvbnN0IHZweF9jb2RlY19lcnJfdCByZXMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICYgLyp2
aWRlbyovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnZweF90ZXN0OjpE
ZWNvZGVyICogLypkZWNvZGVyKi8pIHsKICAgICBpZiAocmVzICE9IFZQWF9DT0RFQ19PSykgewog
ICAgICAgRVhQRUNUX0VRKFZQWF9DT0RFQ19PSywgcmVzKTsKICAgICAgIHJldHVybiBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfZXh0X3JhdGVjdHJsX3Rlc3QuY2MgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvdnA5X2V4dF9yYXRlY3RybF90ZXN0LmNjCmluZGV4IDMzZmEwNWM2NWNk
Yy4uNGIzNjkzYTM0NzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X2V4dF9yYXRl
Y3RybF90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfZXh0X3JhdGVjdHJsX3Rlc3Qu
Y2MKQEAgLTgsNyArOCw2IEBACiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0
aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCiAgKi8KIAotI2luY2x1ZGUgPGNzdGRpbnQ+CiAj
aW5jbHVkZSA8bmV3PgogCiAjaW5jbHVkZSAidGVzdC9jb2RlY19mYWN0b3J5LmgiCkBAIC0xNiw1
MSArMTUsMjggQEAKICNpbmNsdWRlICJ0ZXN0L3V0aWwuaCIKICNpbmNsdWRlICJ0ZXN0L3l1dl92
aWRlb19zb3VyY2UuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNs
dWRlL2d0ZXN0L2d0ZXN0LmgiCi0jaW5jbHVkZSAidnA5L3NpbXBsZV9lbmNvZGUuaCIKICNpbmNs
dWRlICJ2cHgvdnB4X2V4dF9yYXRlY3RybC5oIgotI2luY2x1ZGUgInZweC92cHhfdHBsLmgiCi0j
aW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgogCiBuYW1lc3BhY2UgewogCiBjb25z
dGV4cHIgaW50IGtNb2RlbE1hZ2ljTnVtYmVyID0gNTEzOTY7Ci1jb25zdGV4cHIgdWludHB0cl90
IFByaXZNYWdpY051bWJlciA9IDU1NjY7Citjb25zdGV4cHIgdW5zaWduZWQgaW50IFByaXZNYWdp
Y051bWJlciA9IDU1NjY7CiBjb25zdGV4cHIgaW50IGtGcmFtZU51bSA9IDU7Ci1jb25zdGV4cHIg
aW50IGtGcmFtZU51bUdPUCA9IDMwOwotY29uc3RleHByIGludCBrRnJhbWVOdW1HT1BTaG9ydCA9
IDQ7CiBjb25zdGV4cHIgaW50IGtMb3NzbGVzc0NvZGluZ0luZGV4ID0gMjsKLWNvbnN0ZXhwciBp
bnQga0ZpeGVkR09QU2l6ZSA9IDk7Ci0vLyBUaGUgcmFuZ2UgY2hlY2sgaW4gdnA5X2N4X2lmYWNl
LmMgc2hvd3MgdGhhdCB0aGUgbWF4Ci0vLyBsYWcgaW4gYnVmZmVyIGlzIE1BWF9MQUdfQlVGRkVS
UyAoMjUpOgotLy8gUkFOR0VfQ0hFQ0tfSEkoY2ZnLCBnX2xhZ19pbl9mcmFtZXMsIE1BWF9MQUdf
QlVGRkVSUyk7Ci1jb25zdGV4cHIgaW50IGtNYXhMYWdJbkZyYW1lcyA9IDI1OwotY29uc3RleHBy
IGludCBrRGVmYXVsdE1pbkdmSW50ZXJ2YWwgPSA0OwotY29uc3RleHByIGludCBrRGVmYXVsdE1h
eEdmSW50ZXJ2YWwgPSAxNjsKLS8vIFRoZSBhY3RpdmUgZ2YgaW50ZXJ2YWwgbWlnaHQgY2hhbmdl
IGZvciBlYWNoIEdPUAotLy8gU2VlIGZ1bmN0aW9uICJnZXRfYWN0aXZlX2dmX2ludmVydmFsX3Jh
bmdlIi4KLS8vIFRoZSBudW1iZXJzIGJlbG93IGFyZSBmcm9tIG1hbnVhbCBpbnNwZWN0aW9uLgot
Y29uc3RleHByIGludCBrUmVhZE1pbkdmSW50ZXJ2YWwgPSA1OwotY29uc3RleHByIGludCBrUmVh
ZE1heEdmSW50ZXJ2YWwgPSAxMzsKLWNvbnN0IGNoYXIga1Rlc3RGaWxlTmFtZVtdID0gImJ1c18z
NTJ4Mjg4XzQyMF9mMjBfYjgueXV2IjsKLWNvbnN0IGRvdWJsZSBrUHNuclRocmVzaG9sZCA9IDMw
LjQ7CiAKIHN0cnVjdCBUb3lSYXRlQ3RybCB7CiAgIGludCBtYWdpY19udW1iZXI7CiAgIGludCBj
b2RpbmdfaW5kZXg7Ci0KLSAgaW50IGdvcF9nbG9iYWxfaW5kZXg7Ci0gIGludCBmcmFtZXNfc2lu
Y2Vfa2V5OwotICBpbnQgc2hvd19pbmRleDsKIH07CiAKIHZweF9yY19zdGF0dXNfdCByY19jcmVh
dGVfbW9kZWwodm9pZCAqcHJpdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdnB4X3JjX2NvbmZpZ190ICpyYXRlY3RybF9jb25maWcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZweF9yY19tb2RlbF90ICpyYXRlX2N0cmxfbW9kZWxfcHRyKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9yY19tb2RlbF90ICpyYXRlX2N0cmxfbW9k
ZWxfcHQpIHsKICAgVG95UmF0ZUN0cmwgKnRveV9yYXRlX2N0cmwgPSBuZXcgKHN0ZDo6bm90aHJv
dykgVG95UmF0ZUN0cmw7Ci0gIGlmICh0b3lfcmF0ZV9jdHJsID09IG51bGxwdHIpIHJldHVybiBW
UFhfUkNfRVJST1I7CisgIEVYUEVDVF9ORSh0b3lfcmF0ZV9jdHJsLCBudWxscHRyKTsKICAgdG95
X3JhdGVfY3RybC0+bWFnaWNfbnVtYmVyID0ga01vZGVsTWFnaWNOdW1iZXI7CiAgIHRveV9yYXRl
X2N0cmwtPmNvZGluZ19pbmRleCA9IC0xOwotICAqcmF0ZV9jdHJsX21vZGVsX3B0ciA9IHRveV9y
YXRlX2N0cmw7CisgICpyYXRlX2N0cmxfbW9kZWxfcHQgPSB0b3lfcmF0ZV9jdHJsOwogICBFWFBF
Q1RfRVEocHJpdiwgcmVpbnRlcnByZXRfY2FzdDx2b2lkICo+KFByaXZNYWdpY051bWJlcikpOwog
ICBFWFBFQ1RfRVEocmF0ZWN0cmxfY29uZmlnLT5mcmFtZV93aWR0aCwgMzUyKTsKICAgRVhQRUNU
X0VRKHJhdGVjdHJsX2NvbmZpZy0+ZnJhbWVfaGVpZ2h0LCAyODgpOwpAQCAtNzEsNDggKzQ3LDYg
QEAgdnB4X3JjX3N0YXR1c190IHJjX2NyZWF0ZV9tb2RlbCh2b2lkICpwcml2LAogICByZXR1cm4g
VlBYX1JDX09LOwogfQogCi12cHhfcmNfc3RhdHVzX3QgcmNfY3JlYXRlX21vZGVsX2dvcCh2b2lk
ICpwcml2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnB4X3Jj
X2NvbmZpZ190ICpyYXRlY3RybF9jb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2cHhfcmNfbW9kZWxfdCAqcmF0ZV9jdHJsX21vZGVsX3B0cikgewotICBUb3lSYXRl
Q3RybCAqdG95X3JhdGVfY3RybCA9IG5ldyAoc3RkOjpub3Rocm93KSBUb3lSYXRlQ3RybDsKLSAg
aWYgKHRveV9yYXRlX2N0cmwgPT0gbnVsbHB0cikgcmV0dXJuIFZQWF9SQ19FUlJPUjsKLSAgdG95
X3JhdGVfY3RybC0+bWFnaWNfbnVtYmVyID0ga01vZGVsTWFnaWNOdW1iZXI7Ci0gIHRveV9yYXRl
X2N0cmwtPmdvcF9nbG9iYWxfaW5kZXggPSAwOwotICB0b3lfcmF0ZV9jdHJsLT5mcmFtZXNfc2lu
Y2Vfa2V5ID0gMDsKLSAgdG95X3JhdGVfY3RybC0+c2hvd19pbmRleCA9IDA7Ci0gIHRveV9yYXRl
X2N0cmwtPmNvZGluZ19pbmRleCA9IDA7Ci0gICpyYXRlX2N0cmxfbW9kZWxfcHRyID0gdG95X3Jh
dGVfY3RybDsKLSAgRVhQRUNUX0VRKHByaXYsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAqPihQcml2
TWFnaWNOdW1iZXIpKTsKLSAgRVhQRUNUX0VRKHJhdGVjdHJsX2NvbmZpZy0+ZnJhbWVfd2lkdGgs
IDY0MCk7Ci0gIEVYUEVDVF9FUShyYXRlY3RybF9jb25maWctPmZyYW1lX2hlaWdodCwgMzYwKTsK
LSAgRVhQRUNUX0VRKHJhdGVjdHJsX2NvbmZpZy0+c2hvd19mcmFtZV9jb3VudCwga0ZyYW1lTnVt
R09QKTsKLSAgRVhQRUNUX0VRKHJhdGVjdHJsX2NvbmZpZy0+dGFyZ2V0X2JpdHJhdGVfa2Jwcywg
NDAwMCk7Ci0gIEVYUEVDVF9FUShyYXRlY3RybF9jb25maWctPmZyYW1lX3JhdGVfbnVtLCAzMCk7
Ci0gIEVYUEVDVF9FUShyYXRlY3RybF9jb25maWctPmZyYW1lX3JhdGVfZGVuLCAxKTsKLSAgcmV0
dXJuIFZQWF9SQ19PSzsKLX0KLQotdnB4X3JjX3N0YXR1c190IHJjX2NyZWF0ZV9tb2RlbF9nb3Bf
c2hvcnQoCi0gICAgdm9pZCAqcHJpdiwgY29uc3QgdnB4X3JjX2NvbmZpZ190ICpyYXRlY3RybF9j
b25maWcsCi0gICAgdnB4X3JjX21vZGVsX3QgKnJhdGVfY3RybF9tb2RlbF9wdHIpIHsKLSAgVG95
UmF0ZUN0cmwgKnRveV9yYXRlX2N0cmwgPSBuZXcgKHN0ZDo6bm90aHJvdykgVG95UmF0ZUN0cmw7
Ci0gIGlmICh0b3lfcmF0ZV9jdHJsID09IG51bGxwdHIpIHJldHVybiBWUFhfUkNfRVJST1I7Ci0g
IHRveV9yYXRlX2N0cmwtPm1hZ2ljX251bWJlciA9IGtNb2RlbE1hZ2ljTnVtYmVyOwotICB0b3lf
cmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2luZGV4ID0gMDsKLSAgdG95X3JhdGVfY3RybC0+ZnJhbWVz
X3NpbmNlX2tleSA9IDA7Ci0gIHRveV9yYXRlX2N0cmwtPnNob3dfaW5kZXggPSAwOwotICB0b3lf
cmF0ZV9jdHJsLT5jb2RpbmdfaW5kZXggPSAwOwotICAqcmF0ZV9jdHJsX21vZGVsX3B0ciA9IHRv
eV9yYXRlX2N0cmw7Ci0gIEVYUEVDVF9FUShwcml2LCByZWludGVycHJldF9jYXN0PHZvaWQgKj4o
UHJpdk1hZ2ljTnVtYmVyKSk7Ci0gIEVYUEVDVF9FUShyYXRlY3RybF9jb25maWctPmZyYW1lX3dp
ZHRoLCAzNTIpOwotICBFWFBFQ1RfRVEocmF0ZWN0cmxfY29uZmlnLT5mcmFtZV9oZWlnaHQsIDI4
OCk7Ci0gIEVYUEVDVF9FUShyYXRlY3RybF9jb25maWctPnNob3dfZnJhbWVfY291bnQsIGtGcmFt
ZU51bUdPUFNob3J0KTsKLSAgRVhQRUNUX0VRKHJhdGVjdHJsX2NvbmZpZy0+dGFyZ2V0X2JpdHJh
dGVfa2JwcywgNTAwKTsKLSAgRVhQRUNUX0VRKHJhdGVjdHJsX2NvbmZpZy0+ZnJhbWVfcmF0ZV9u
dW0sIDMwKTsKLSAgRVhQRUNUX0VRKHJhdGVjdHJsX2NvbmZpZy0+ZnJhbWVfcmF0ZV9kZW4sIDEp
OwotICByZXR1cm4gVlBYX1JDX09LOwotfQotCiB2cHhfcmNfc3RhdHVzX3QgcmNfc2VuZF9maXJz
dHBhc3Nfc3RhdHMoCiAgICAgdnB4X3JjX21vZGVsX3QgcmF0ZV9jdHJsX21vZGVsLAogICAgIGNv
bnN0IHZweF9yY19maXJzdHBhc3Nfc3RhdHNfdCAqZmlyc3RfcGFzc19zdGF0cykgewpAQCAtMTI2
LDQ1ICs2MCw2IEBAIHZweF9yY19zdGF0dXNfdCByY19zZW5kX2ZpcnN0cGFzc19zdGF0cygKICAg
cmV0dXJuIFZQWF9SQ19PSzsKIH0KIAotdnB4X3JjX3N0YXR1c190IHJjX3NlbmRfZmlyc3RwYXNz
X3N0YXRzX2dvcCgKLSAgICB2cHhfcmNfbW9kZWxfdCByYXRlX2N0cmxfbW9kZWwsCi0gICAgY29u
c3QgdnB4X3JjX2ZpcnN0cGFzc19zdGF0c190ICpmaXJzdF9wYXNzX3N0YXRzKSB7Ci0gIGNvbnN0
IFRveVJhdGVDdHJsICp0b3lfcmF0ZV9jdHJsID0KLSAgICAgIHN0YXRpY19jYXN0PFRveVJhdGVD
dHJsICo+KHJhdGVfY3RybF9tb2RlbCk7Ci0gIEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5tYWdp
Y19udW1iZXIsIGtNb2RlbE1hZ2ljTnVtYmVyKTsKLSAgRVhQRUNUX0VRKGZpcnN0X3Bhc3Nfc3Rh
dHMtPm51bV9mcmFtZXMsIGtGcmFtZU51bUdPUCk7Ci0gIGZvciAoaW50IGkgPSAwOyBpIDwgZmly
c3RfcGFzc19zdGF0cy0+bnVtX2ZyYW1lczsgKytpKSB7Ci0gICAgRVhQRUNUX0RPVUJMRV9FUShm
aXJzdF9wYXNzX3N0YXRzLT5mcmFtZV9zdGF0c1tpXS5mcmFtZSwgaSk7Ci0gIH0KLSAgcmV0dXJu
IFZQWF9SQ19PSzsKLX0KLQotdnB4X3JjX3N0YXR1c190IHJjX3NlbmRfZmlyc3RwYXNzX3N0YXRz
X2dvcF9zaG9ydCgKLSAgICB2cHhfcmNfbW9kZWxfdCByYXRlX2N0cmxfbW9kZWwsCi0gICAgY29u
c3QgdnB4X3JjX2ZpcnN0cGFzc19zdGF0c190ICpmaXJzdF9wYXNzX3N0YXRzKSB7Ci0gIGNvbnN0
IFRveVJhdGVDdHJsICp0b3lfcmF0ZV9jdHJsID0KLSAgICAgIHN0YXRpY19jYXN0PFRveVJhdGVD
dHJsICo+KHJhdGVfY3RybF9tb2RlbCk7Ci0gIEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5tYWdp
Y19udW1iZXIsIGtNb2RlbE1hZ2ljTnVtYmVyKTsKLSAgRVhQRUNUX0VRKGZpcnN0X3Bhc3Nfc3Rh
dHMtPm51bV9mcmFtZXMsIGtGcmFtZU51bUdPUFNob3J0KTsKLSAgZm9yIChpbnQgaSA9IDA7IGkg
PCBmaXJzdF9wYXNzX3N0YXRzLT5udW1fZnJhbWVzOyArK2kpIHsKLSAgICBFWFBFQ1RfRE9VQkxF
X0VRKGZpcnN0X3Bhc3Nfc3RhdHMtPmZyYW1lX3N0YXRzW2ldLmZyYW1lLCBpKTsKLSAgfQotICBy
ZXR1cm4gVlBYX1JDX09LOwotfQotCi12cHhfcmNfc3RhdHVzX3QgcmNfc2VuZF90cGxfZ29wX3N0
YXRzKHZweF9yY19tb2RlbF90IHJhdGVfY3RybF9tb2RlbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgVnB4VHBsR29wU3RhdHMgKnRwbF9nb3Bfc3RhdHMpIHsK
LSAgY29uc3QgVG95UmF0ZUN0cmwgKnRveV9yYXRlX2N0cmwgPQotICAgICAgc3RhdGljX2Nhc3Q8
VG95UmF0ZUN0cmwgKj4ocmF0ZV9jdHJsX21vZGVsKTsKLSAgRVhQRUNUX0VRKHRveV9yYXRlX2N0
cmwtPm1hZ2ljX251bWJlciwga01vZGVsTWFnaWNOdW1iZXIpOwotICBFWFBFQ1RfR1QodHBsX2dv
cF9zdGF0cy0+c2l6ZSwgMCk7Ci0KLSAgZm9yIChpbnQgaSA9IDA7IGkgPCB0cGxfZ29wX3N0YXRz
LT5zaXplOyArK2kpIHsKLSAgICBFWFBFQ1RfR1QodHBsX2dvcF9zdGF0cy0+ZnJhbWVfc3RhdHNf
bGlzdFtpXS5udW1fYmxvY2tzLCAwKTsKLSAgfQotICByZXR1cm4gVlBYX1JDX09LOwotfQotCiB2
cHhfcmNfc3RhdHVzX3QgcmNfZ2V0X2VuY29kZWZyYW1lX2RlY2lzaW9uKAogICAgIHZweF9yY19t
b2RlbF90IHJhdGVfY3RybF9tb2RlbCwKICAgICBjb25zdCB2cHhfcmNfZW5jb2RlZnJhbWVfaW5m
b190ICplbmNvZGVfZnJhbWVfaW5mbywKQEAgLTE4MCwxNyArNzUsMTkgQEAgdnB4X3JjX3N0YXR1
c190IHJjX2dldF9lbmNvZGVmcmFtZV9kZWNpc2lvbigKICAgaWYgKGVuY29kZV9mcmFtZV9pbmZv
LT5jb2RpbmdfaW5kZXggPT0gMCkgewogICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+
c2hvd19pbmRleCwgMCk7CiAgICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5nb3BfaW5k
ZXgsIDApOwotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+ZnJhbWVfdHlwZSwgdnA5
OjprRnJhbWVUeXBlS2V5KTsKKyAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1l
X3R5cGUsIDAgLyprRnJhbWVUeXBlS2V5Ki8pOwogICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVf
aW5mby0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMF0sCiAgICAgICAgICAgICAgIDApOyAgLy8ga1Jl
ZkZyYW1lVHlwZUxhc3QKICAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFt
ZV92YWxpZF9saXN0WzFdLAogICAgICAgICAgICAgICAwKTsgIC8vIGtSZWZGcmFtZVR5cGVQYXN0
CiAgICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlzdFsy
XSwKICAgICAgICAgICAgICAgMCk7ICAvLyBrUmVmRnJhbWVUeXBlRnV0dXJlCi0gIH0gZWxzZSBp
ZiAoZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAxKSB7CisgIH0KKworICBpZiAo
ZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAxKSB7CiAgICAgRVhQRUNUX0VRKGVu
Y29kZV9mcmFtZV9pbmZvLT5zaG93X2luZGV4LCA0KTsKICAgICBFWFBFQ1RfRVEoZW5jb2RlX2Zy
YW1lX2luZm8tPmdvcF9pbmRleCwgMSk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZv
LT5mcmFtZV90eXBlLCB2cDk6OmtGcmFtZVR5cGVBbHRSZWYpOworICAgIEVYUEVDVF9FUShlbmNv
ZGVfZnJhbWVfaW5mby0+ZnJhbWVfdHlwZSwgMiAvKmtGcmFtZVR5cGVBbHRSZWYqLyk7CiAgICAg
RVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlzdFswXSwKICAg
ICAgICAgICAgICAgMSk7ICAvLyBrUmVmRnJhbWVUeXBlTGFzdAogICAgIEVYUEVDVF9FUShlbmNv
ZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMV0sCkBAIC0xOTksMTUgKzk2LDE5
IEBAIHZweF9yY19zdGF0dXNfdCByY19nZXRfZW5jb2RlZnJhbWVfZGVjaXNpb24oCiAgICAgICAg
ICAgICAgIDApOyAgLy8ga1JlZkZyYW1lVHlwZUZ1dHVyZQogICAgIEVYUEVDVF9FUShlbmNvZGVf
ZnJhbWVfaW5mby0+cmVmX2ZyYW1lX2NvZGluZ19pbmRleGVzWzBdLAogICAgICAgICAgICAgICAw
KTsgIC8vIGtSZWZGcmFtZVR5cGVMYXN0Ci0gIH0gZWxzZSBpZiAoZW5jb2RlX2ZyYW1lX2luZm8t
PmNvZGluZ19pbmRleCA+PSAyICYmCi0gICAgICAgICAgICAgZW5jb2RlX2ZyYW1lX2luZm8tPmNv
ZGluZ19pbmRleCA8IDUpIHsKKyAgfQorCisgIGlmIChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5n
X2luZGV4ID49IDIgJiYKKyAgICAgIGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXggPCA1
KSB7CiAgICAgLy8gSW4gdGhlIGZpcnN0IGdyb3VwIG9mIHBpY3R1cmVzLCBjb2RpbmdfaW5kZXgg
YW5kIGdvcF9pbmRleCBhcmUgZXF1YWwuCiAgICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZv
LT5nb3BfaW5kZXgsIGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXgpOwotICAgIEVYUEVD
VF9FUShlbmNvZGVfZnJhbWVfaW5mby0+ZnJhbWVfdHlwZSwgdnA5OjprRnJhbWVUeXBlSW50ZXIp
OwotICB9IGVsc2UgaWYgKGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXggPT0gNSkgewor
ICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+ZnJhbWVfdHlwZSwgMSAvKmtGcmFtZVR5
cGVJbnRlciovKTsKKyAgfQorCisgIGlmIChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4
ID09IDUpIHsKICAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDQp
OwogICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+Z29wX2luZGV4LCAwKTsKLSAgICBF
WFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZU92
ZXJsYXkpOworICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+ZnJhbWVfdHlwZSwgMyAv
KmtGcmFtZVR5cGVPdmVybGF5Ki8pOwogICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+
cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMF0sCiAgICAgICAgICAgICAgIDEpOyAgLy8ga1JlZkZyYW1l
VHlwZUxhc3QKICAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFtZV92YWxp
ZF9saXN0WzFdLApAQCAtMjI3LDM4OSArMTI4LDYgQEAgdnB4X3JjX3N0YXR1c190IHJjX2dldF9l
bmNvZGVmcmFtZV9kZWNpc2lvbigKICAgfSBlbHNlIHsKICAgICBmcmFtZV9kZWNpc2lvbi0+cV9p
bmRleCA9IDEwMDsKICAgfQotICBmcmFtZV9kZWNpc2lvbi0+bWF4X2ZyYW1lX3NpemUgPSAwOwot
ICByZXR1cm4gVlBYX1JDX09LOwotfQotCi12cHhfcmNfc3RhdHVzX3QgcmNfZ2V0X2VuY29kZWZy
YW1lX2RlY2lzaW9uX2dvcCgKLSAgICB2cHhfcmNfbW9kZWxfdCByYXRlX2N0cmxfbW9kZWwsCi0g
ICAgY29uc3QgdnB4X3JjX2VuY29kZWZyYW1lX2luZm9fdCAqZW5jb2RlX2ZyYW1lX2luZm8sCi0g
ICAgdnB4X3JjX2VuY29kZWZyYW1lX2RlY2lzaW9uX3QgKmZyYW1lX2RlY2lzaW9uKSB7Ci0gIFRv
eVJhdGVDdHJsICp0b3lfcmF0ZV9jdHJsID0gc3RhdGljX2Nhc3Q8VG95UmF0ZUN0cmwgKj4ocmF0
ZV9jdHJsX21vZGVsKTsKLSAgRVhQRUNUX0VRKHRveV9yYXRlX2N0cmwtPm1hZ2ljX251bWJlciwg
a01vZGVsTWFnaWNOdW1iZXIpOwotICBFWFBFQ1RfTFQoZW5jb2RlX2ZyYW1lX2luZm8tPnNob3df
aW5kZXgsIGtGcmFtZU51bUdPUCk7Ci0gIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+Y29k
aW5nX2luZGV4LCB0b3lfcmF0ZV9jdHJsLT5jb2RpbmdfaW5kZXgpOwotCi0gIGlmIChlbmNvZGVf
ZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4ID09IDApIHsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2Zy
YW1lX2luZm8tPnNob3dfaW5kZXgsIDApOwotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5m
by0+Z29wX2luZGV4LCAwKTsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1l
X3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUtleSk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9p
bmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlzdFswXSwKLSAgICAgICAgICAgICAgMCk7ICAvLyBrUmVm
RnJhbWVUeXBlTGFzdAotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1l
X3ZhbGlkX2xpc3RbMV0sCi0gICAgICAgICAgICAgIDApOyAgLy8ga1JlZkZyYW1lVHlwZVBhc3QK
LSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFtZV92YWxpZF9saXN0WzJd
LAotICAgICAgICAgICAgICAwKTsgIC8vIGtSZWZGcmFtZVR5cGVGdXR1cmUKLSAgfSBlbHNlIGlm
IChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4ID09IDEpIHsKLSAgICBFWFBFQ1RfRVEo
ZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDEpOwotICAgIEVYUEVDVF9FUShlbmNvZGVf
ZnJhbWVfaW5mby0+Z29wX2luZGV4LCAxKTsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2lu
Zm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUludGVyKTsKLSAgICBFWFBFQ1RfRVEoZW5j
b2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFtZV92YWxpZF9saXN0WzBdLAotICAgICAgICAgICAgICAx
KTsgIC8vIGtSZWZGcmFtZVR5cGVMYXN0Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZv
LT5yZWZfZnJhbWVfdmFsaWRfbGlzdFsxXSwKLSAgICAgICAgICAgICAgMCk7ICAvLyBrUmVmRnJh
bWVUeXBlUGFzdAotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1lX3Zh
bGlkX2xpc3RbMl0sCi0gICAgICAgICAgICAgIDApOyAgLy8ga1JlZkZyYW1lVHlwZUZ1dHVyZQot
ICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1lX2NvZGluZ19pbmRleGVz
WzBdLAotICAgICAgICAgICAgICAwKTsgIC8vIGtSZWZGcmFtZVR5cGVMYXN0Ci0gIH0gZWxzZSBp
ZiAoZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAyKSB7Ci0gICAgRVhQRUNUX0VR
KGVuY29kZV9mcmFtZV9pbmZvLT5zaG93X2luZGV4LCAyKTsKLSAgICBFWFBFQ1RfRVEoZW5jb2Rl
X2ZyYW1lX2luZm8tPmdvcF9pbmRleCwgMCk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9p
bmZvLT5mcmFtZV90eXBlLCB2cDk6OmtGcmFtZVR5cGVLZXkpOwotICAgIEVYUEVDVF9FUShlbmNv
ZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMF0sCi0gICAgICAgICAgICAgIDAp
OyAgLy8ga1JlZkZyYW1lVHlwZUxhc3QKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8t
PnJlZl9mcmFtZV92YWxpZF9saXN0WzFdLAotICAgICAgICAgICAgICAwKTsgIC8vIGtSZWZGcmFt
ZVR5cGVQYXN0Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFs
aWRfbGlzdFsyXSwKLSAgICAgICAgICAgICAgMCk7ICAvLyBrUmVmRnJhbWVUeXBlRnV0dXJlCi0g
IH0gZWxzZSBpZiAoZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAzIHx8Ci0gICAg
ICAgICAgICAgZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAxMiB8fAotICAgICAg
ICAgICAgIGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXggPT0gMjEpIHsKLSAgICBFWFBF
Q1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUFsdFJl
Zik7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5nb3BfaW5kZXgsIDEpOwotICB9
IGVsc2UgaWYgKGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXggPT0gMTEgfHwKLSAgICAg
ICAgICAgICBlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4ID09IDIwIHx8Ci0gICAgICAg
ICAgICAgZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAyOSkgewotICAgIEVYUEVD
VF9FUShlbmNvZGVfZnJhbWVfaW5mby0+ZnJhbWVfdHlwZSwgdnA5OjprRnJhbWVUeXBlT3Zlcmxh
eSk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5nb3BfaW5kZXgsIDApOwotICB9
IGVsc2UgaWYgKGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXggPj0gMzApIHsKLSAgICBF
WFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUlu
dGVyKTsKLSAgfQotCi0gIC8vIFdoZW4gdGhlIG1vZGVsIHJlY29tbWVuZHMgYW4gaW52YWxpZCBx
LCB2YWxpZCByYW5nZSBbMCwgMjU1XSwKLSAgLy8gdGhlIGVuY29kZXIgd2lsbCBpZ25vcmUgaXQg
YW5kIHVzZSB0aGUgZGVmYXVsdCBxIHNlbGVjdGVkCi0gIC8vIGJ5IGxpYnZweCByYXRlIGNvbnRy
b2wgc3RyYXRlZ3kuCi0gIGZyYW1lX2RlY2lzaW9uLT5xX2luZGV4ID0gVlBYX0RFRkFVTFRfUTsK
LSAgZnJhbWVfZGVjaXNpb24tPm1heF9mcmFtZV9zaXplID0gMDsKLQotICB0b3lfcmF0ZV9jdHJs
LT5jb2RpbmdfaW5kZXggKz0gMTsKLSAgcmV0dXJuIFZQWF9SQ19PSzsKLX0KLQotdnB4X3JjX3N0
YXR1c190IHJjX2dldF9lbmNvZGVmcmFtZV9kZWNpc2lvbl9nb3Bfc2hvcnQoCi0gICAgdnB4X3Jj
X21vZGVsX3QgcmF0ZV9jdHJsX21vZGVsLAotICAgIGNvbnN0IHZweF9yY19lbmNvZGVmcmFtZV9p
bmZvX3QgKmVuY29kZV9mcmFtZV9pbmZvLAotICAgIHZweF9yY19lbmNvZGVmcmFtZV9kZWNpc2lv
bl90ICpmcmFtZV9kZWNpc2lvbikgewotICBUb3lSYXRlQ3RybCAqdG95X3JhdGVfY3RybCA9IHN0
YXRpY19jYXN0PFRveVJhdGVDdHJsICo+KHJhdGVfY3RybF9tb2RlbCk7Ci0gIEVYUEVDVF9FUSh0
b3lfcmF0ZV9jdHJsLT5tYWdpY19udW1iZXIsIGtNb2RlbE1hZ2ljTnVtYmVyKTsKLSAgRVhQRUNU
X0xUKGVuY29kZV9mcmFtZV9pbmZvLT5zaG93X2luZGV4LCBrRnJhbWVOdW1HT1BTaG9ydCk7Ci0g
IEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4LCB0b3lfcmF0ZV9jdHJs
LT5jb2RpbmdfaW5kZXgpOwotCi0gIGlmIChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4
ID09IDApIHsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDAp
OwotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+Z29wX2luZGV4LCAwKTsKLSAgICBF
WFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUtl
eSk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlz
dFswXSwKLSAgICAgICAgICAgICAgMCk7ICAvLyBrUmVmRnJhbWVUeXBlTGFzdAotICAgIEVYUEVD
VF9FUShlbmNvZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMV0sCi0gICAgICAg
ICAgICAgIDApOyAgLy8ga1JlZkZyYW1lVHlwZVBhc3QKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2Zy
YW1lX2luZm8tPnJlZl9mcmFtZV92YWxpZF9saXN0WzJdLAotICAgICAgICAgICAgICAwKTsgIC8v
IGtSZWZGcmFtZVR5cGVGdXR1cmUKLSAgICBFWFBFQ1RfRVEodG95X3JhdGVfY3RybC0+Z29wX2ds
b2JhbF9pbmRleCwgMSk7Ci0gIH0gZWxzZSBpZiAoZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19p
bmRleCA9PSAxKSB7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5zaG93X2luZGV4
LCAxKTsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmdvcF9pbmRleCwgMSk7Ci0g
ICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5mcmFtZV90eXBlLCB2cDk6OmtGcmFtZVR5
cGVJbnRlcik7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFs
aWRfbGlzdFswXSwKLSAgICAgICAgICAgICAgMSk7ICAvLyBrUmVmRnJhbWVUeXBlTGFzdAotICAg
IEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMV0sCi0g
ICAgICAgICAgICAgIDApOyAgLy8ga1JlZkZyYW1lVHlwZVBhc3QKLSAgICBFWFBFQ1RfRVEoZW5j
b2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFtZV92YWxpZF9saXN0WzJdLAotICAgICAgICAgICAgICAw
KTsgIC8vIGtSZWZGcmFtZVR5cGVGdXR1cmUKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2lu
Zm8tPnJlZl9mcmFtZV9jb2RpbmdfaW5kZXhlc1swXSwKLSAgICAgICAgICAgICAgMCk7ICAvLyBr
UmVmRnJhbWVUeXBlTGFzdAotICAgIEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5nb3BfZ2xvYmFs
X2luZGV4LCAxKTsKLSAgfSBlbHNlIGlmIChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4
ID09IDIpIHsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDIp
OwotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+Z29wX2luZGV4LCAyKTsKLSAgICBF
WFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUlu
dGVyKTsKLSAgICBFWFBFQ1RfRVEodG95X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9pbmRleCwgMSk7
Ci0gIH0gZWxzZSBpZiAoZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAzKSB7Ci0g
ICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5zaG93X2luZGV4LCAzKTsKLSAgICBFWFBF
Q1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmdvcF9pbmRleCwgMCk7Ci0gICAgRVhQRUNUX0VRKGVu
Y29kZV9mcmFtZV9pbmZvLT5mcmFtZV90eXBlLCB2cDk6OmtGcmFtZVR5cGVHb2xkZW4pOwotICAg
IEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2luZGV4LCAyKTsKLSAgfQotCi0g
IC8vIFdoZW4gdGhlIG1vZGVsIHJlY29tbWVuZHMgYW4gaW52YWxpZCBxLCB2YWxpZCByYW5nZSBb
MCwgMjU1XSwKLSAgLy8gdGhlIGVuY29kZXIgd2lsbCBpZ25vcmUgaXQgYW5kIHVzZSB0aGUgZGVm
YXVsdCBxIHNlbGVjdGVkCi0gIC8vIGJ5IGxpYnZweCByYXRlIGNvbnRyb2wgc3RyYXRlZ3kuCi0g
IGZyYW1lX2RlY2lzaW9uLT5xX2luZGV4ID0gVlBYX0RFRkFVTFRfUTsKLSAgZnJhbWVfZGVjaXNp
b24tPm1heF9mcmFtZV9zaXplID0gMDsKLQotICB0b3lfcmF0ZV9jdHJsLT5jb2RpbmdfaW5kZXgg
Kz0gMTsKLSAgcmV0dXJuIFZQWF9SQ19PSzsKLX0KLQotdnB4X3JjX3N0YXR1c190IHJjX2dldF9l
bmNvZGVmcmFtZV9kZWNpc2lvbl9nb3Bfc2hvcnRfb3ZlcmxheSgKLSAgICB2cHhfcmNfbW9kZWxf
dCByYXRlX2N0cmxfbW9kZWwsCi0gICAgY29uc3QgdnB4X3JjX2VuY29kZWZyYW1lX2luZm9fdCAq
ZW5jb2RlX2ZyYW1lX2luZm8sCi0gICAgdnB4X3JjX2VuY29kZWZyYW1lX2RlY2lzaW9uX3QgKmZy
YW1lX2RlY2lzaW9uKSB7Ci0gIFRveVJhdGVDdHJsICp0b3lfcmF0ZV9jdHJsID0gc3RhdGljX2Nh
c3Q8VG95UmF0ZUN0cmwgKj4ocmF0ZV9jdHJsX21vZGVsKTsKLSAgRVhQRUNUX0VRKHRveV9yYXRl
X2N0cmwtPm1hZ2ljX251bWJlciwga01vZGVsTWFnaWNOdW1iZXIpOwotICBFWFBFQ1RfTFQoZW5j
b2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIGtGcmFtZU51bUdPUFNob3J0KTsKLSAgRVhQRUNU
X0VRKGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXgsIHRveV9yYXRlX2N0cmwtPmNvZGlu
Z19pbmRleCk7Ci0KLSAgaWYgKGVuY29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXggPT0gMCkg
ewotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+c2hvd19pbmRleCwgMCk7Ci0gICAg
RVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5nb3BfaW5kZXgsIDApOwotICAgIEVYUEVDVF9F
UShlbmNvZGVfZnJhbWVfaW5mby0+ZnJhbWVfdHlwZSwgdnA5OjprRnJhbWVUeXBlS2V5KTsKLSAg
ICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFtZV92YWxpZF9saXN0WzBdLAot
ICAgICAgICAgICAgICAwKTsgIC8vIGtSZWZGcmFtZVR5cGVMYXN0Ci0gICAgRVhQRUNUX0VRKGVu
Y29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlzdFsxXSwKLSAgICAgICAgICAgICAg
MCk7ICAvLyBrUmVmRnJhbWVUeXBlUGFzdAotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5m
by0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMl0sCi0gICAgICAgICAgICAgIDApOyAgLy8ga1JlZkZy
YW1lVHlwZUZ1dHVyZQotICAgIEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2lu
ZGV4LCAxKTsKLSAgfSBlbHNlIGlmIChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4ID09
IDEpIHsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDMpOwot
ICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+Z29wX2luZGV4LCAxKTsKLSAgICBFWFBF
Q1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUFsdFJl
Zik7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlz
dFswXSwKLSAgICAgICAgICAgICAgMSk7ICAvLyBrUmVmRnJhbWVUeXBlTGFzdAotICAgIEVYUEVD
VF9FUShlbmNvZGVfZnJhbWVfaW5mby0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMV0sCi0gICAgICAg
ICAgICAgIDApOyAgLy8ga1JlZkZyYW1lVHlwZVBhc3QKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2Zy
YW1lX2luZm8tPnJlZl9mcmFtZV92YWxpZF9saXN0WzJdLAotICAgICAgICAgICAgICAwKTsgIC8v
IGtSZWZGcmFtZVR5cGVGdXR1cmUKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJl
Zl9mcmFtZV9jb2RpbmdfaW5kZXhlc1swXSwKLSAgICAgICAgICAgICAgMCk7ICAvLyBrUmVmRnJh
bWVUeXBlTGFzdAotICAgIEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2luZGV4
LCAxKTsKLSAgfSBlbHNlIGlmIChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4ID09IDIp
IHsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDEpOwotICAg
IEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+Z29wX2luZGV4LCAyKTsKLSAgICBFWFBFQ1Rf
RVEoZW5jb2RlX2ZyYW1lX2luZm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUludGVyKTsK
LSAgICBFWFBFQ1RfRVEodG95X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9pbmRleCwgMSk7Ci0gIH0g
ZWxzZSBpZiAoZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAzKSB7Ci0gICAgRVhQ
RUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5zaG93X2luZGV4LCAyKTsKLSAgICBFWFBFQ1RfRVEo
ZW5jb2RlX2ZyYW1lX2luZm8tPmdvcF9pbmRleCwgMyk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9m
cmFtZV9pbmZvLT5mcmFtZV90eXBlLCB2cDk6OmtGcmFtZVR5cGVJbnRlcik7Ci0gICAgRVhQRUNU
X0VRKHRveV9yYXRlX2N0cmwtPmdvcF9nbG9iYWxfaW5kZXgsIDEpOwotICB9IGVsc2UgaWYgKGVu
Y29kZV9mcmFtZV9pbmZvLT5jb2RpbmdfaW5kZXggPT0gNCkgewotICAgIEVYUEVDVF9FUShlbmNv
ZGVfZnJhbWVfaW5mby0+c2hvd19pbmRleCwgMyk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFt
ZV9pbmZvLT5nb3BfaW5kZXgsIDApOwotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+
ZnJhbWVfdHlwZSwgdnA5OjprRnJhbWVUeXBlT3ZlcmxheSk7Ci0gICAgRVhQRUNUX0VRKHRveV9y
YXRlX2N0cmwtPmdvcF9nbG9iYWxfaW5kZXgsIDEpOwotICB9Ci0KLSAgLy8gV2hlbiB0aGUgbW9k
ZWwgcmVjb21tZW5kcyBhbiBpbnZhbGlkIHEsIHZhbGlkIHJhbmdlIFswLCAyNTVdLAotICAvLyB0
aGUgZW5jb2RlciB3aWxsIGlnbm9yZSBpdCBhbmQgdXNlIHRoZSBkZWZhdWx0IHEgc2VsZWN0ZWQK
LSAgLy8gYnkgbGlidnB4IHJhdGUgY29udHJvbCBzdHJhdGVneS4KLSAgZnJhbWVfZGVjaXNpb24t
PnFfaW5kZXggPSBWUFhfREVGQVVMVF9ROwotICBmcmFtZV9kZWNpc2lvbi0+bWF4X2ZyYW1lX3Np
emUgPSAwOwotCi0gIHRveV9yYXRlX2N0cmwtPmNvZGluZ19pbmRleCArPSAxOwotICByZXR1cm4g
VlBYX1JDX09LOwotfQotCi12cHhfcmNfc3RhdHVzX3QgcmNfZ2V0X2VuY29kZWZyYW1lX2RlY2lz
aW9uX2dvcF9zaG9ydF9ub19hcmYoCi0gICAgdnB4X3JjX21vZGVsX3QgcmF0ZV9jdHJsX21vZGVs
LAotICAgIGNvbnN0IHZweF9yY19lbmNvZGVmcmFtZV9pbmZvX3QgKmVuY29kZV9mcmFtZV9pbmZv
LAotICAgIHZweF9yY19lbmNvZGVmcmFtZV9kZWNpc2lvbl90ICpmcmFtZV9kZWNpc2lvbikgewot
ICBUb3lSYXRlQ3RybCAqdG95X3JhdGVfY3RybCA9IHN0YXRpY19jYXN0PFRveVJhdGVDdHJsICo+
KHJhdGVfY3RybF9tb2RlbCk7Ci0gIEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5tYWdpY19udW1i
ZXIsIGtNb2RlbE1hZ2ljTnVtYmVyKTsKLSAgRVhQRUNUX0xUKGVuY29kZV9mcmFtZV9pbmZvLT5z
aG93X2luZGV4LCBrRnJhbWVOdW1HT1BTaG9ydCk7Ci0gIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVf
aW5mby0+Y29kaW5nX2luZGV4LCB0b3lfcmF0ZV9jdHJsLT5jb2RpbmdfaW5kZXgpOwotCi0gIGlm
IChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4ID09IDApIHsKLSAgICBFWFBFQ1RfRVEo
ZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDApOwotICAgIEVYUEVDVF9FUShlbmNvZGVf
ZnJhbWVfaW5mby0+Z29wX2luZGV4LCAwKTsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2lu
Zm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUtleSk7Ci0gICAgRVhQRUNUX0VRKGVuY29k
ZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlzdFswXSwKLSAgICAgICAgICAgICAgMCk7
ICAvLyBrUmVmRnJhbWVUeXBlTGFzdAotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfaW5mby0+
cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMV0sCi0gICAgICAgICAgICAgIDApOyAgLy8ga1JlZkZyYW1l
VHlwZVBhc3QKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFtZV92YWxp
ZF9saXN0WzJdLAotICAgICAgICAgICAgICAwKTsgIC8vIGtSZWZGcmFtZVR5cGVGdXR1cmUKLSAg
ICBFWFBFQ1RfRVEodG95X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9pbmRleCwgMSk7Ci0gIH0gZWxz
ZSBpZiAoZW5jb2RlX2ZyYW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAxKSB7Ci0gICAgRVhQRUNU
X0VRKGVuY29kZV9mcmFtZV9pbmZvLT5zaG93X2luZGV4LCAxKTsKLSAgICBFWFBFQ1RfRVEoZW5j
b2RlX2ZyYW1lX2luZm8tPmdvcF9pbmRleCwgMSk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFt
ZV9pbmZvLT5mcmFtZV90eXBlLCB2cDk6OmtGcmFtZVR5cGVJbnRlcik7Ci0gICAgRVhQRUNUX0VR
KGVuY29kZV9mcmFtZV9pbmZvLT5yZWZfZnJhbWVfdmFsaWRfbGlzdFswXSwKLSAgICAgICAgICAg
ICAgMSk7ICAvLyBrUmVmRnJhbWVUeXBlTGFzdAotICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVf
aW5mby0+cmVmX2ZyYW1lX3ZhbGlkX2xpc3RbMV0sCi0gICAgICAgICAgICAgIDApOyAgLy8ga1Jl
ZkZyYW1lVHlwZVBhc3QKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFt
ZV92YWxpZF9saXN0WzJdLAotICAgICAgICAgICAgICAwKTsgIC8vIGtSZWZGcmFtZVR5cGVGdXR1
cmUKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8tPnJlZl9mcmFtZV9jb2RpbmdfaW5k
ZXhlc1swXSwKLSAgICAgICAgICAgICAgMCk7ICAvLyBrUmVmRnJhbWVUeXBlTGFzdAotICAgIEVY
UEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2luZGV4LCAxKTsKLSAgfSBlbHNlIGlm
IChlbmNvZGVfZnJhbWVfaW5mby0+Y29kaW5nX2luZGV4ID09IDIpIHsKLSAgICBFWFBFQ1RfRVEo
ZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5kZXgsIDIpOwotICAgIEVYUEVDVF9FUShlbmNvZGVf
ZnJhbWVfaW5mby0+Z29wX2luZGV4LCAyKTsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2lu
Zm8tPmZyYW1lX3R5cGUsIHZwOTo6a0ZyYW1lVHlwZUludGVyKTsKLSAgICBFWFBFQ1RfRVEodG95
X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9pbmRleCwgMSk7Ci0gIH0gZWxzZSBpZiAoZW5jb2RlX2Zy
YW1lX2luZm8tPmNvZGluZ19pbmRleCA9PSAzKSB7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFt
ZV9pbmZvLT5zaG93X2luZGV4LCAzKTsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX2luZm8t
PmdvcF9pbmRleCwgMyk7Ci0gICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5mcmFtZV90
eXBlLCB2cDk6OmtGcmFtZVR5cGVJbnRlcik7Ci0gICAgRVhQRUNUX0VRKHRveV9yYXRlX2N0cmwt
PmdvcF9nbG9iYWxfaW5kZXgsIDEpOwotICB9Ci0KLSAgLy8gV2hlbiB0aGUgbW9kZWwgcmVjb21t
ZW5kcyBhbiBpbnZhbGlkIHEsIHZhbGlkIHJhbmdlIFswLCAyNTVdLAotICAvLyB0aGUgZW5jb2Rl
ciB3aWxsIGlnbm9yZSBpdCBhbmQgdXNlIHRoZSBkZWZhdWx0IHEgc2VsZWN0ZWQKLSAgLy8gYnkg
bGlidnB4IHJhdGUgY29udHJvbCBzdHJhdGVneS4KLSAgZnJhbWVfZGVjaXNpb24tPnFfaW5kZXgg
PSBWUFhfREVGQVVMVF9ROwotICBmcmFtZV9kZWNpc2lvbi0+bWF4X2ZyYW1lX3NpemUgPSAwOwot
Ci0gIHRveV9yYXRlX2N0cmwtPmNvZGluZ19pbmRleCArPSAxOwotICByZXR1cm4gVlBYX1JDX09L
OwotfQotCi12cHhfcmNfc3RhdHVzX3QgcmNfZ2V0X2dvcF9kZWNpc2lvbih2cHhfcmNfbW9kZWxf
dCByYXRlX2N0cmxfbW9kZWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB2cHhfcmNfZ29wX2luZm9fdCAqZ29wX2luZm8sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2cHhfcmNfZ29wX2RlY2lzaW9uX3QgKmdvcF9kZWNpc2lvbikgewotICBU
b3lSYXRlQ3RybCAqdG95X3JhdGVfY3RybCA9IHN0YXRpY19jYXN0PFRveVJhdGVDdHJsICo+KHJh
dGVfY3RybF9tb2RlbCk7Ci0gIEVYUEVDVF9FUSh0b3lfcmF0ZV9jdHJsLT5tYWdpY19udW1iZXIs
IGtNb2RlbE1hZ2ljTnVtYmVyKTsKLSAgRVhQRUNUX0VRKGdvcF9pbmZvLT5sYWdfaW5fZnJhbWVz
LCBrTWF4TGFnSW5GcmFtZXMpOwotICBFWFBFQ1RfRVEoZ29wX2luZm8tPm1pbl9nZl9pbnRlcnZh
bCwga0RlZmF1bHRNaW5HZkludGVydmFsKTsKLSAgRVhQRUNUX0VRKGdvcF9pbmZvLT5tYXhfZ2Zf
aW50ZXJ2YWwsIGtEZWZhdWx0TWF4R2ZJbnRlcnZhbCk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+
YWN0aXZlX21pbl9nZl9pbnRlcnZhbCwga1JlYWRNaW5HZkludGVydmFsKTsKLSAgRVhQRUNUX0VR
KGdvcF9pbmZvLT5hY3RpdmVfbWF4X2dmX2ludGVydmFsLCBrUmVhZE1heEdmSW50ZXJ2YWwpOwot
ICBFWFBFQ1RfRVEoZ29wX2luZm8tPmFsbG93X2FsdF9yZWYsIDEpOwotICBpZiAoZ29wX2luZm8t
PmlzX2tleV9mcmFtZSkgewotICAgIEVYUEVDVF9FUShnb3BfaW5mby0+bGFzdF9nb3BfdXNlX2Fs
dF9yZWYsIDApOwotICAgIEVYUEVDVF9FUShnb3BfaW5mby0+ZnJhbWVzX3NpbmNlX2tleSwgMCk7
Ci0gICAgRVhQRUNUX0VRKGdvcF9pbmZvLT5nb3BfZ2xvYmFsX2luZGV4LCAwKTsKLSAgICB0b3lf
cmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2luZGV4ID0gMDsKLSAgICB0b3lfcmF0ZV9jdHJsLT5mcmFt
ZXNfc2luY2Vfa2V5ID0gMDsKLSAgfSBlbHNlIHsKLSAgICBFWFBFQ1RfRVEoZ29wX2luZm8tPmxh
c3RfZ29wX3VzZV9hbHRfcmVmLCAxKTsKLSAgfQotICBFWFBFQ1RfRVEoZ29wX2luZm8tPmdvcF9n
bG9iYWxfaW5kZXgsIHRveV9yYXRlX2N0cmwtPmdvcF9nbG9iYWxfaW5kZXgpOwotICBFWFBFQ1Rf
RVEoZ29wX2luZm8tPmZyYW1lc19zaW5jZV9rZXksIHRveV9yYXRlX2N0cmwtPmZyYW1lc19zaW5j
ZV9rZXkpOwotICBFWFBFQ1RfRVEoZ29wX2luZm8tPnNob3dfaW5kZXgsIHRveV9yYXRlX2N0cmwt
PnNob3dfaW5kZXgpOwotICBFWFBFQ1RfRVEoZ29wX2luZm8tPmNvZGluZ19pbmRleCwgdG95X3Jh
dGVfY3RybC0+Y29kaW5nX2luZGV4KTsKLQotICBnb3BfZGVjaXNpb24tPmdvcF9jb2RpbmdfZnJh
bWVzID0KLSAgICAgIFZQWE1JTihrRml4ZWRHT1BTaXplLCBnb3BfaW5mby0+ZnJhbWVzX3RvX2tl
eSk7Ci0gIGdvcF9kZWNpc2lvbi0+dXNlX2FsdF9yZWYgPSBnb3BfZGVjaXNpb24tPmdvcF9jb2Rp
bmdfZnJhbWVzID09IGtGaXhlZEdPUFNpemU7Ci0gIHRveV9yYXRlX2N0cmwtPmZyYW1lc19zaW5j
ZV9rZXkgKz0KLSAgICAgIGdvcF9kZWNpc2lvbi0+Z29wX2NvZGluZ19mcmFtZXMgLSBnb3BfZGVj
aXNpb24tPnVzZV9hbHRfcmVmOwotICB0b3lfcmF0ZV9jdHJsLT5zaG93X2luZGV4ICs9Ci0gICAg
ICBnb3BfZGVjaXNpb24tPmdvcF9jb2RpbmdfZnJhbWVzIC0gZ29wX2RlY2lzaW9uLT51c2VfYWx0
X3JlZjsKLSAgKyt0b3lfcmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2luZGV4OwotICByZXR1cm4gVlBY
X1JDX09LOwotfQotCi0vLyBUZXN0IG9uIGEgNCBmcmFtZSB2aWRlby4KLS8vIFRlc3QgYSBzZXR0
aW5nIG9mIDIgR09Qcy4KLS8vIFRoZSBmaXJzdCBHT1AgaGFzIDMgY29kaW5nIGZyYW1lcywgbm8g
YWx0IHJlZi4KLS8vIFRoZSBzZWNvbmQgR09QIGhhcyAxIGNvZGluZyBmcmFtZSwgbm8gYWx0IHJl
Zi4KLXZweF9yY19zdGF0dXNfdCByY19nZXRfZ29wX2RlY2lzaW9uX3Nob3J0KHZweF9yY19tb2Rl
bF90IHJhdGVfY3RybF9tb2RlbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHZweF9yY19nb3BfaW5mb190ICpnb3BfaW5mbywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9yY19nb3BfZGVjaXNpb25fdCAqZ29wX2Rl
Y2lzaW9uKSB7Ci0gIFRveVJhdGVDdHJsICp0b3lfcmF0ZV9jdHJsID0gc3RhdGljX2Nhc3Q8VG95
UmF0ZUN0cmwgKj4ocmF0ZV9jdHJsX21vZGVsKTsKLSAgRVhQRUNUX0VRKHRveV9yYXRlX2N0cmwt
Pm1hZ2ljX251bWJlciwga01vZGVsTWFnaWNOdW1iZXIpOwotICBFWFBFQ1RfRVEoZ29wX2luZm8t
PmxhZ19pbl9mcmFtZXMsIGtNYXhMYWdJbkZyYW1lcyAtIDEpOwotICBFWFBFQ1RfRVEoZ29wX2lu
Zm8tPm1pbl9nZl9pbnRlcnZhbCwga0RlZmF1bHRNaW5HZkludGVydmFsKTsKLSAgRVhQRUNUX0VR
KGdvcF9pbmZvLT5tYXhfZ2ZfaW50ZXJ2YWwsIGtEZWZhdWx0TWF4R2ZJbnRlcnZhbCk7Ci0gIEVY
UEVDVF9FUShnb3BfaW5mby0+YWxsb3dfYWx0X3JlZiwgMSk7Ci0gIGlmIChnb3BfaW5mby0+aXNf
a2V5X2ZyYW1lKSB7Ci0gICAgRVhQRUNUX0VRKGdvcF9pbmZvLT5sYXN0X2dvcF91c2VfYWx0X3Jl
ZiwgMCk7Ci0gICAgRVhQRUNUX0VRKGdvcF9pbmZvLT5mcmFtZXNfc2luY2Vfa2V5LCAwKTsKLSAg
ICBFWFBFQ1RfRVEoZ29wX2luZm8tPmdvcF9nbG9iYWxfaW5kZXgsIDApOwotICAgIHRveV9yYXRl
X2N0cmwtPmdvcF9nbG9iYWxfaW5kZXggPSAwOwotICAgIHRveV9yYXRlX2N0cmwtPmZyYW1lc19z
aW5jZV9rZXkgPSAwOwotICB9IGVsc2UgewotICAgIEVYUEVDVF9FUShnb3BfaW5mby0+bGFzdF9n
b3BfdXNlX2FsdF9yZWYsIDApOwotICB9Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+Z29wX2dsb2Jh
bF9pbmRleCwgdG95X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9pbmRleCk7Ci0gIEVYUEVDVF9FUShn
b3BfaW5mby0+ZnJhbWVzX3NpbmNlX2tleSwgdG95X3JhdGVfY3RybC0+ZnJhbWVzX3NpbmNlX2tl
eSk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+c2hvd19pbmRleCwgdG95X3JhdGVfY3RybC0+c2hv
d19pbmRleCk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+Y29kaW5nX2luZGV4LCB0b3lfcmF0ZV9j
dHJsLT5jb2RpbmdfaW5kZXgpOwotCi0gIGdvcF9kZWNpc2lvbi0+Z29wX2NvZGluZ19mcmFtZXMg
PSBnb3BfaW5mby0+Z29wX2dsb2JhbF9pbmRleCA9PSAwID8gMyA6IDE7Ci0gIGdvcF9kZWNpc2lv
bi0+dXNlX2FsdF9yZWYgPSAwOwotICB0b3lfcmF0ZV9jdHJsLT5mcmFtZXNfc2luY2Vfa2V5ICs9
Ci0gICAgICBnb3BfZGVjaXNpb24tPmdvcF9jb2RpbmdfZnJhbWVzIC0gZ29wX2RlY2lzaW9uLT51
c2VfYWx0X3JlZjsKLSAgdG95X3JhdGVfY3RybC0+c2hvd19pbmRleCArPQotICAgICAgZ29wX2Rl
Y2lzaW9uLT5nb3BfY29kaW5nX2ZyYW1lcyAtIGdvcF9kZWNpc2lvbi0+dXNlX2FsdF9yZWY7Ci0g
ICsrdG95X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9pbmRleDsKLSAgcmV0dXJuIFZQWF9SQ19PSzsK
LX0KLQotLy8gVGVzdCBvbiBhIDQgZnJhbWUgdmlkZW8uCi0vLyBUZXN0IGEgc2V0dGluZyBvZiAy
IEdPUHMuCi0vLyBUaGUgZmlyc3QgR09QIGhhcyA0IGNvZGluZyBmcmFtZXMuIFVzZSBhbHQgcmVm
LgotLy8gVGhlIHNlY29uZCBHT1Agb25seSBjb250YWlucyB0aGUgb3ZlcmxheSBmcmFtZSBvZiB0
aGUgZmlyc3QgR09QJ3MgYWx0IHJlZgotLy8gZnJhbWUuCi12cHhfcmNfc3RhdHVzX3QgcmNfZ2V0
X2dvcF9kZWNpc2lvbl9zaG9ydF9vdmVybGF5KAotICAgIHZweF9yY19tb2RlbF90IHJhdGVfY3Ry
bF9tb2RlbCwgY29uc3QgdnB4X3JjX2dvcF9pbmZvX3QgKmdvcF9pbmZvLAotICAgIHZweF9yY19n
b3BfZGVjaXNpb25fdCAqZ29wX2RlY2lzaW9uKSB7Ci0gIFRveVJhdGVDdHJsICp0b3lfcmF0ZV9j
dHJsID0gc3RhdGljX2Nhc3Q8VG95UmF0ZUN0cmwgKj4ocmF0ZV9jdHJsX21vZGVsKTsKLSAgRVhQ
RUNUX0VRKHRveV9yYXRlX2N0cmwtPm1hZ2ljX251bWJlciwga01vZGVsTWFnaWNOdW1iZXIpOwot
ICBFWFBFQ1RfRVEoZ29wX2luZm8tPmxhZ19pbl9mcmFtZXMsIGtNYXhMYWdJbkZyYW1lcyAtIDEp
OwotICBFWFBFQ1RfRVEoZ29wX2luZm8tPm1pbl9nZl9pbnRlcnZhbCwga0RlZmF1bHRNaW5HZklu
dGVydmFsKTsKLSAgRVhQRUNUX0VRKGdvcF9pbmZvLT5tYXhfZ2ZfaW50ZXJ2YWwsIGtEZWZhdWx0
TWF4R2ZJbnRlcnZhbCk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+YWxsb3dfYWx0X3JlZiwgMSk7
Ci0gIGlmIChnb3BfaW5mby0+aXNfa2V5X2ZyYW1lKSB7Ci0gICAgRVhQRUNUX0VRKGdvcF9pbmZv
LT5sYXN0X2dvcF91c2VfYWx0X3JlZiwgMCk7Ci0gICAgRVhQRUNUX0VRKGdvcF9pbmZvLT5mcmFt
ZXNfc2luY2Vfa2V5LCAwKTsKLSAgICBFWFBFQ1RfRVEoZ29wX2luZm8tPmdvcF9nbG9iYWxfaW5k
ZXgsIDApOwotICAgIHRveV9yYXRlX2N0cmwtPmdvcF9nbG9iYWxfaW5kZXggPSAwOwotICAgIHRv
eV9yYXRlX2N0cmwtPmZyYW1lc19zaW5jZV9rZXkgPSAwOwotICB9IGVsc2UgewotICAgIEVYUEVD
VF9FUShnb3BfaW5mby0+bGFzdF9nb3BfdXNlX2FsdF9yZWYsIDEpOwotICB9Ci0gIEVYUEVDVF9F
UShnb3BfaW5mby0+Z29wX2dsb2JhbF9pbmRleCwgdG95X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9p
bmRleCk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+ZnJhbWVzX3NpbmNlX2tleSwgdG95X3JhdGVf
Y3RybC0+ZnJhbWVzX3NpbmNlX2tleSk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+c2hvd19pbmRl
eCwgdG95X3JhdGVfY3RybC0+c2hvd19pbmRleCk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+Y29k
aW5nX2luZGV4LCB0b3lfcmF0ZV9jdHJsLT5jb2RpbmdfaW5kZXgpOwotCi0gIGdvcF9kZWNpc2lv
bi0+Z29wX2NvZGluZ19mcmFtZXMgPSBnb3BfaW5mby0+Z29wX2dsb2JhbF9pbmRleCA9PSAwID8g
NCA6IDE7Ci0gIGdvcF9kZWNpc2lvbi0+dXNlX2FsdF9yZWYgPSBnb3BfaW5mby0+aXNfa2V5X2Zy
YW1lID8gMSA6IDA7Ci0gIHRveV9yYXRlX2N0cmwtPmZyYW1lc19zaW5jZV9rZXkgKz0KLSAgICAg
IGdvcF9kZWNpc2lvbi0+Z29wX2NvZGluZ19mcmFtZXMgLSBnb3BfZGVjaXNpb24tPnVzZV9hbHRf
cmVmOwotICB0b3lfcmF0ZV9jdHJsLT5zaG93X2luZGV4ICs9Ci0gICAgICBnb3BfZGVjaXNpb24t
PmdvcF9jb2RpbmdfZnJhbWVzIC0gZ29wX2RlY2lzaW9uLT51c2VfYWx0X3JlZjsKLSAgKyt0b3lf
cmF0ZV9jdHJsLT5nb3BfZ2xvYmFsX2luZGV4OwotICByZXR1cm4gVlBYX1JDX09LOwotfQotCi0v
LyBUZXN0IG9uIGEgNCBmcmFtZSB2aWRlby4KLS8vIFRlc3QgYSBzZXR0aW5nIG9mIDEgR09QLgot
Ly8gVGhlIEdPUCBoYXMgNCBjb2RpbmcgZnJhbWVzLiBEbyBub3QgdXNlIGFsdCByZWYuCi12cHhf
cmNfc3RhdHVzX3QgcmNfZ2V0X2dvcF9kZWNpc2lvbl9zaG9ydF9ub19hcmYoCi0gICAgdnB4X3Jj
X21vZGVsX3QgcmF0ZV9jdHJsX21vZGVsLCBjb25zdCB2cHhfcmNfZ29wX2luZm9fdCAqZ29wX2lu
Zm8sCi0gICAgdnB4X3JjX2dvcF9kZWNpc2lvbl90ICpnb3BfZGVjaXNpb24pIHsKLSAgVG95UmF0
ZUN0cmwgKnRveV9yYXRlX2N0cmwgPSBzdGF0aWNfY2FzdDxUb3lSYXRlQ3RybCAqPihyYXRlX2N0
cmxfbW9kZWwpOwotICBFWFBFQ1RfRVEodG95X3JhdGVfY3RybC0+bWFnaWNfbnVtYmVyLCBrTW9k
ZWxNYWdpY051bWJlcik7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+bGFnX2luX2ZyYW1lcywga01h
eExhZ0luRnJhbWVzIC0gMSk7Ci0gIEVYUEVDVF9FUShnb3BfaW5mby0+bWluX2dmX2ludGVydmFs
LCBrRGVmYXVsdE1pbkdmSW50ZXJ2YWwpOwotICBFWFBFQ1RfRVEoZ29wX2luZm8tPm1heF9nZl9p
bnRlcnZhbCwga0RlZmF1bHRNYXhHZkludGVydmFsKTsKLSAgRVhQRUNUX0VRKGdvcF9pbmZvLT5h
bGxvd19hbHRfcmVmLCAxKTsKLSAgaWYgKGdvcF9pbmZvLT5pc19rZXlfZnJhbWUpIHsKLSAgICBF
WFBFQ1RfRVEoZ29wX2luZm8tPmxhc3RfZ29wX3VzZV9hbHRfcmVmLCAwKTsKLSAgICBFWFBFQ1Rf
RVEoZ29wX2luZm8tPmZyYW1lc19zaW5jZV9rZXksIDApOwotICAgIEVYUEVDVF9FUShnb3BfaW5m
by0+Z29wX2dsb2JhbF9pbmRleCwgMCk7Ci0gICAgdG95X3JhdGVfY3RybC0+Z29wX2dsb2JhbF9p
bmRleCA9IDA7Ci0gICAgdG95X3JhdGVfY3RybC0+ZnJhbWVzX3NpbmNlX2tleSA9IDA7Ci0gIH0g
ZWxzZSB7Ci0gICAgRVhQRUNUX0VRKGdvcF9pbmZvLT5sYXN0X2dvcF91c2VfYWx0X3JlZiwgMCk7
Ci0gIH0KLSAgRVhQRUNUX0VRKGdvcF9pbmZvLT5nb3BfZ2xvYmFsX2luZGV4LCB0b3lfcmF0ZV9j
dHJsLT5nb3BfZ2xvYmFsX2luZGV4KTsKLSAgRVhQRUNUX0VRKGdvcF9pbmZvLT5mcmFtZXNfc2lu
Y2Vfa2V5LCB0b3lfcmF0ZV9jdHJsLT5mcmFtZXNfc2luY2Vfa2V5KTsKLSAgRVhQRUNUX0VRKGdv
cF9pbmZvLT5zaG93X2luZGV4LCB0b3lfcmF0ZV9jdHJsLT5zaG93X2luZGV4KTsKLSAgRVhQRUNU
X0VRKGdvcF9pbmZvLT5jb2RpbmdfaW5kZXgsIHRveV9yYXRlX2N0cmwtPmNvZGluZ19pbmRleCk7
Ci0KLSAgZ29wX2RlY2lzaW9uLT5nb3BfY29kaW5nX2ZyYW1lcyA9IGdvcF9pbmZvLT5nb3BfZ2xv
YmFsX2luZGV4ID09IDAgPyA0IDogMTsKLSAgZ29wX2RlY2lzaW9uLT51c2VfYWx0X3JlZiA9IDA7
Ci0gIHRveV9yYXRlX2N0cmwtPmZyYW1lc19zaW5jZV9rZXkgKz0KLSAgICAgIGdvcF9kZWNpc2lv
bi0+Z29wX2NvZGluZ19mcmFtZXMgLSBnb3BfZGVjaXNpb24tPnVzZV9hbHRfcmVmOwotICB0b3lf
cmF0ZV9jdHJsLT5zaG93X2luZGV4ICs9Ci0gICAgICBnb3BfZGVjaXNpb24tPmdvcF9jb2Rpbmdf
ZnJhbWVzIC0gZ29wX2RlY2lzaW9uLT51c2VfYWx0X3JlZjsKLSAgKyt0b3lfcmF0ZV9jdHJsLT5n
b3BfZ2xvYmFsX2luZGV4OwogICByZXR1cm4gVlBYX1JDX09LOwogfQogCkBAIC02MjUsNDggKzE0
Myw2IEBAIHZweF9yY19zdGF0dXNfdCByY191cGRhdGVfZW5jb2RlZnJhbWVfcmVzdWx0KAogICBp
ZiAodG95X3JhdGVfY3RybC0+Y29kaW5nX2luZGV4ID09IGtMb3NzbGVzc0NvZGluZ0luZGV4KSB7
CiAgICAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9yZXN1bHQtPnNzZSwgMCk7CiAgIH0KLSAgaWYg
KHRveV9yYXRlX2N0cmwtPmNvZGluZ19pbmRleCA9PSBrTG9zc2xlc3NDb2RpbmdJbmRleCkgewot
ICAgIEVYUEVDVF9FUShlbmNvZGVfZnJhbWVfcmVzdWx0LT5hY3R1YWxfZW5jb2RpbmdfcWluZGV4
LCAwKTsKLSAgfSBlbHNlIHsKLSAgICBFWFBFQ1RfRVEoZW5jb2RlX2ZyYW1lX3Jlc3VsdC0+YWN0
dWFsX2VuY29kaW5nX3FpbmRleCwgMTAwKTsKLSAgfQotICByZXR1cm4gVlBYX1JDX09LOwotfQot
Ci12cHhfcmNfc3RhdHVzX3QgcmNfdXBkYXRlX2VuY29kZWZyYW1lX3Jlc3VsdF9nb3AoCi0gICAg
dnB4X3JjX21vZGVsX3QgcmF0ZV9jdHJsX21vZGVsLAotICAgIGNvbnN0IHZweF9yY19lbmNvZGVm
cmFtZV9yZXN1bHRfdCAqZW5jb2RlX2ZyYW1lX3Jlc3VsdCkgewotICBjb25zdCBUb3lSYXRlQ3Ry
bCAqdG95X3JhdGVfY3RybCA9Ci0gICAgICBzdGF0aWNfY2FzdDxUb3lSYXRlQ3RybCAqPihyYXRl
X2N0cmxfbW9kZWwpOwotICBFWFBFQ1RfRVEodG95X3JhdGVfY3RybC0+bWFnaWNfbnVtYmVyLCBr
TW9kZWxNYWdpY051bWJlcik7Ci0KLSAgY29uc3QgaW50NjRfdCByZWZfcGl4ZWxfY291bnQgPSA2
NDAgKiAzNjAgKiAzIC8gMjsKLSAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9yZXN1bHQtPnBpeGVs
X2NvdW50LCByZWZfcGl4ZWxfY291bnQpOwotICByZXR1cm4gVlBYX1JDX09LOwotfQotCi12cHhf
cmNfc3RhdHVzX3QgcmNfdXBkYXRlX2VuY29kZWZyYW1lX3Jlc3VsdF9nb3Bfc2hvcnQoCi0gICAg
dnB4X3JjX21vZGVsX3QgcmF0ZV9jdHJsX21vZGVsLAotICAgIGNvbnN0IHZweF9yY19lbmNvZGVm
cmFtZV9yZXN1bHRfdCAqZW5jb2RlX2ZyYW1lX3Jlc3VsdCkgewotICBjb25zdCBUb3lSYXRlQ3Ry
bCAqdG95X3JhdGVfY3RybCA9Ci0gICAgICBzdGF0aWNfY2FzdDxUb3lSYXRlQ3RybCAqPihyYXRl
X2N0cmxfbW9kZWwpOwotICBFWFBFQ1RfRVEodG95X3JhdGVfY3RybC0+bWFnaWNfbnVtYmVyLCBr
TW9kZWxNYWdpY051bWJlcik7Ci0KLSAgY29uc3QgaW50NjRfdCByZWZfcGl4ZWxfY291bnQgPSAz
NTIgKiAyODggKiAzIC8gMjsKLSAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9yZXN1bHQtPnBpeGVs
X2NvdW50LCByZWZfcGl4ZWxfY291bnQpOwotICByZXR1cm4gVlBYX1JDX09LOwotfQotCi12cHhf
cmNfc3RhdHVzX3QgcmNfZ2V0X2RlZmF1bHRfZnJhbWVfcmRtdWx0KAotICAgIHZweF9yY19tb2Rl
bF90IHJhdGVfY3RybF9tb2RlbCwKLSAgICBjb25zdCB2cHhfcmNfZW5jb2RlZnJhbWVfaW5mb190
ICplbmNvZGVfZnJhbWVfaW5mbywgaW50ICpyZG11bHQpIHsKLSAgY29uc3QgVG95UmF0ZUN0cmwg
KnRveV9yYXRlX2N0cmwgPQotICAgICAgc3RhdGljX2Nhc3Q8VG95UmF0ZUN0cmwgKj4ocmF0ZV9j
dHJsX21vZGVsKTsKLSAgRVhQRUNUX0VRKHRveV9yYXRlX2N0cmwtPm1hZ2ljX251bWJlciwga01v
ZGVsTWFnaWNOdW1iZXIpOwotICBFWFBFQ1RfTFQoZW5jb2RlX2ZyYW1lX2luZm8tPnNob3dfaW5k
ZXgsIGtGcmFtZU51bUdPUFNob3J0KTsKLSAgRVhQRUNUX0VRKGVuY29kZV9mcmFtZV9pbmZvLT5j
b2RpbmdfaW5kZXgsIHRveV9yYXRlX2N0cmwtPmNvZGluZ19pbmRleCk7Ci0KLSAgKnJkbXVsdCA9
IFZQWF9ERUZBVUxUX1JETVVMVDsKICAgcmV0dXJuIFZQWF9SQ19PSzsKIH0KIApAQCAtNjkyLDgg
KzE2OCw3IEBAIGNsYXNzIEV4dFJhdGVDdHJsVGVzdCA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpF
bmNvZGVyVGVzdCwKICAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6Vmlk
ZW9Tb3VyY2UgKnZpZGVvLAogICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0
OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09
IDApIHsKLSAgICAgIHZweF9yY19mdW5jc190IHJjX2Z1bmNzID0ge307Ci0gICAgICByY19mdW5j
cy5yY190eXBlID0gVlBYX1JDX1FQOworICAgICAgdnB4X3JjX2Z1bmNzX3QgcmNfZnVuY3M7CiAg
ICAgICByY19mdW5jcy5jcmVhdGVfbW9kZWwgPSByY19jcmVhdGVfbW9kZWw7CiAgICAgICByY19m
dW5jcy5zZW5kX2ZpcnN0cGFzc19zdGF0cyA9IHJjX3NlbmRfZmlyc3RwYXNzX3N0YXRzOwogICAg
ICAgcmNfZnVuY3MuZ2V0X2VuY29kZWZyYW1lX2RlY2lzaW9uID0gcmNfZ2V0X2VuY29kZWZyYW1l
X2RlY2lzaW9uOwpAQCAtNzEzLDI2NyArMTg4LDggQEAgVEVTVF9GKEV4dFJhdGVDdHJsVGVzdCwg
RW5jb2RlVGVzdCkgewogICAgICAgImJ1c18zNTJ4Mjg4XzQyMF9mMjBfYjgueXV2IiwgVlBYX0lN
R19GTVRfSTQyMCwgMzUyLCAyODgsIDMwLCAxLCAwLAogICAgICAga0ZyYW1lTnVtKSk7CiAKLSAg
QVNTRVJUX05FKHZpZGVvLCBudWxscHRyKTsKLSAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVu
TG9vcCh2aWRlby5nZXQoKSkpOwotfQotCi1jbGFzcyBFeHRSYXRlQ3RybFRlc3RHT1AgOiBwdWJs
aWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlclRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6Q29kZWNUZXN0V2l0aFBhcmFtPGludD4gewotIHByb3Rl
Y3RlZDoKLSAgRXh0UmF0ZUN0cmxUZXN0R09QKCkgOiBFbmNvZGVyVGVzdCgmOjpsaWJ2cHhfdGVz
dDo6a1ZQOSkge30KLQotICB+RXh0UmF0ZUN0cmxUZXN0R09QKCkgb3ZlcnJpZGUgPSBkZWZhdWx0
OwotCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7Ci0gICAgSW5pdGlhbGl6ZUNvbmZpZygpOwot
ICAgIFNldE1vZGUoOjpsaWJ2cHhfdGVzdDo6a1R3b1Bhc3NHb29kKTsKLSAgfQotCi0gIHZvaWQg
UHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikg
b3ZlcnJpZGUgewotICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7Ci0gICAgICBlbmNvZGVy
LT5Db250cm9sKFZQOUVfU0VUX01JTl9HRl9JTlRFUlZBTCwga0RlZmF1bHRNaW5HZkludGVydmFs
KTsKLSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfTUFYX0dGX0lOVEVSVkFMLCBrRGVm
YXVsdE1heEdmSW50ZXJ2YWwpOwotCi0gICAgICB2cHhfcmNfZnVuY3NfdCByY19mdW5jcyA9IHt9
OwotICAgICAgcmNfZnVuY3MucmNfdHlwZSA9IFZQWF9SQ19HT1BfUVA7Ci0gICAgICByY19mdW5j
cy5jcmVhdGVfbW9kZWwgPSByY19jcmVhdGVfbW9kZWxfZ29wOwotICAgICAgcmNfZnVuY3Muc2Vu
ZF9maXJzdHBhc3Nfc3RhdHMgPSByY19zZW5kX2ZpcnN0cGFzc19zdGF0c19nb3A7Ci0gICAgICBy
Y19mdW5jcy5zZW5kX3RwbF9nb3Bfc3RhdHMgPSByY19zZW5kX3RwbF9nb3Bfc3RhdHM7Ci0gICAg
ICByY19mdW5jcy5nZXRfZW5jb2RlZnJhbWVfZGVjaXNpb24gPSByY19nZXRfZW5jb2RlZnJhbWVf
ZGVjaXNpb25fZ29wOwotICAgICAgcmNfZnVuY3MuZ2V0X2dvcF9kZWNpc2lvbiA9IHJjX2dldF9n
b3BfZGVjaXNpb247Ci0gICAgICByY19mdW5jcy51cGRhdGVfZW5jb2RlZnJhbWVfcmVzdWx0ID0g
cmNfdXBkYXRlX2VuY29kZWZyYW1lX3Jlc3VsdF9nb3A7Ci0gICAgICByY19mdW5jcy5kZWxldGVf
bW9kZWwgPSByY19kZWxldGVfbW9kZWw7Ci0gICAgICByY19mdW5jcy5wcml2ID0gcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkICo+KFByaXZNYWdpY051bWJlcik7Ci0gICAgICBlbmNvZGVyLT5Db250cm9s
KFZQOUVfU0VUX0VYVEVSTkFMX1JBVEVfQ09OVFJPTCwgJnJjX2Z1bmNzKTsKLSAgICB9Ci0gIH0K
LX07Ci0KLVRFU1RfRihFeHRSYXRlQ3RybFRlc3RHT1AsIEVuY29kZVRlc3QpIHsKLSAgY2ZnXy5y
Y190YXJnZXRfYml0cmF0ZSA9IDQwMDA7Ci0gIGNmZ18uZ19sYWdfaW5fZnJhbWVzID0ga01heExh
Z0luRnJhbWVzOwotICBjZmdfLnJjX2VuZF91c2FnZSA9IFZQWF9WQlI7Ci0KLSAgc3RkOjp1bmlx
dWVfcHRyPGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZT4gdmlkZW87Ci0gIHZpZGVvLnJlc2V0KG5l
dyAoc3RkOjpub3Rocm93KSBsaWJ2cHhfdGVzdDo6WVVWVmlkZW9Tb3VyY2UoCi0gICAgICAibm9p
c3lfY2xpcF82NDBfMzYwLnk0bSIsIFZQWF9JTUdfRk1UX0k0MjAsIDY0MCwgMzYwLCAzMCwgMSwg
MCwKLSAgICAgIGtGcmFtZU51bUdPUCkpOwotCi0gIEFTU0VSVF9ORSh2aWRlbywgbnVsbHB0cik7
Ci0gIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AodmlkZW8uZ2V0KCkpKTsKLX0KLQot
Y2xhc3MgRXh0UmF0ZUN0cmxUZXN0R09QU2hvcnQgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6RW5j
b2RlclRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyA6OmxpYnZw
eF90ZXN0OjpDb2RlY1Rlc3RXaXRoUGFyYW08aW50PiB7Ci0gcHJvdGVjdGVkOgotICBFeHRSYXRl
Q3RybFRlc3RHT1BTaG9ydCgpIDogRW5jb2RlclRlc3QoJjo6bGlidnB4X3Rlc3Q6OmtWUDkpIHt9
Ci0KLSAgfkV4dFJhdGVDdHJsVGVzdEdPUFNob3J0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OwotCi0g
IHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7Ci0gICAgSW5pdGlhbGl6ZUNvbmZpZygpOwotICAgIFNl
dE1vZGUoOjpsaWJ2cHhfdGVzdDo6a1R3b1Bhc3NHb29kKTsKLSAgfQotCi0gIHZvaWQgUHJlRW5j
b2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJp
ZGUgewotICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7Ci0gICAgICBlbmNvZGVyLT5Db250
cm9sKFZQOUVfU0VUX01JTl9HRl9JTlRFUlZBTCwga0RlZmF1bHRNaW5HZkludGVydmFsKTsKLSAg
ICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfTUFYX0dGX0lOVEVSVkFMLCBrRGVmYXVsdE1h
eEdmSW50ZXJ2YWwpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9UQVJHRVRfTEVW
RUwsIHZwOTo6TEVWRUxfQVVUTyk7Ci0KLSAgICAgIHZweF9yY19mdW5jc190IHJjX2Z1bmNzID0g
e307Ci0gICAgICByY19mdW5jcy5yY190eXBlID0gVlBYX1JDX0dPUF9RUDsKLSAgICAgIHJjX2Z1
bmNzLmNyZWF0ZV9tb2RlbCA9IHJjX2NyZWF0ZV9tb2RlbF9nb3Bfc2hvcnQ7Ci0gICAgICByY19m
dW5jcy5zZW5kX2ZpcnN0cGFzc19zdGF0cyA9IHJjX3NlbmRfZmlyc3RwYXNzX3N0YXRzX2dvcF9z
aG9ydDsKLSAgICAgIHJjX2Z1bmNzLmdldF9lbmNvZGVmcmFtZV9kZWNpc2lvbiA9IHJjX2dldF9l
bmNvZGVmcmFtZV9kZWNpc2lvbl9nb3Bfc2hvcnQ7Ci0gICAgICByY19mdW5jcy5nZXRfZ29wX2Rl
Y2lzaW9uID0gcmNfZ2V0X2dvcF9kZWNpc2lvbl9zaG9ydDsKLSAgICAgIHJjX2Z1bmNzLnVwZGF0
ZV9lbmNvZGVmcmFtZV9yZXN1bHQgPQotICAgICAgICAgIHJjX3VwZGF0ZV9lbmNvZGVmcmFtZV9y
ZXN1bHRfZ29wX3Nob3J0OwotICAgICAgcmNfZnVuY3MuZGVsZXRlX21vZGVsID0gcmNfZGVsZXRl
X21vZGVsOwotICAgICAgcmNfZnVuY3MucHJpdiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAqPihQ
cml2TWFnaWNOdW1iZXIpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9FWFRFUk5B
TF9SQVRFX0NPTlRST0wsICZyY19mdW5jcyk7Ci0gICAgfQotICB9Ci19OwotCi1URVNUX0YoRXh0
UmF0ZUN0cmxUZXN0R09QU2hvcnQsIEVuY29kZVRlc3QpIHsKLSAgY2ZnXy5yY190YXJnZXRfYml0
cmF0ZSA9IDUwMDsKLSAgY2ZnXy5nX2xhZ19pbl9mcmFtZXMgPSBrTWF4TGFnSW5GcmFtZXMgLSAx
OwotICBjZmdfLnJjX2VuZF91c2FnZSA9IFZQWF9WQlI7Ci0KLSAgc3RkOjp1bmlxdWVfcHRyPGxp
YnZweF90ZXN0OjpWaWRlb1NvdXJjZT4gdmlkZW87Ci0gIHZpZGVvLnJlc2V0KG5ldyAoc3RkOjpu
b3Rocm93KSBsaWJ2cHhfdGVzdDo6WVVWVmlkZW9Tb3VyY2UoCi0gICAgICBrVGVzdEZpbGVOYW1l
LCBWUFhfSU1HX0ZNVF9JNDIwLCAzNTIsIDI4OCwgMzAsIDEsIDAsIGtGcmFtZU51bUdPUFNob3J0
KSk7Ci0KLSAgQVNTRVJUX05FKHZpZGVvLCBudWxscHRyKTsKLSAgQVNTRVJUX05PX0ZBVEFMX0ZB
SUxVUkUoUnVuTG9vcCh2aWRlby5nZXQoKSkpOwotfQotCi1jbGFzcyBFeHRSYXRlQ3RybFRlc3RH
T1BTaG9ydE92ZXJsYXkKLSAgICA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpFbmNvZGVyVGVzdCwK
LSAgICAgIHB1YmxpYyA6OmxpYnZweF90ZXN0OjpDb2RlY1Rlc3RXaXRoUGFyYW08aW50PiB7Ci0g
cHJvdGVjdGVkOgotICBFeHRSYXRlQ3RybFRlc3RHT1BTaG9ydE92ZXJsYXkoKSA6IEVuY29kZXJU
ZXN0KCY6OmxpYnZweF90ZXN0OjprVlA5KSB7fQotCi0gIH5FeHRSYXRlQ3RybFRlc3RHT1BTaG9y
dE92ZXJsYXkoKSBvdmVycmlkZSA9IGRlZmF1bHQ7Ci0KLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRl
IHsKLSAgICBJbml0aWFsaXplQ29uZmlnKCk7Ci0gICAgU2V0TW9kZSg6OmxpYnZweF90ZXN0Ojpr
VHdvUGFzc0dvb2QpOwotICB9Ci0KLSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhf
dGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAgICAgICAgICAgICAgICAgICA6Omxp
YnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7Ci0gICAgaWYgKHZpZGVvLT5m
cmFtZSgpID09IDApIHsKLSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfTUlOX0dGX0lO
VEVSVkFMLCBrRGVmYXVsdE1pbkdmSW50ZXJ2YWwpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChW
UDlFX1NFVF9NQVhfR0ZfSU5URVJWQUwsIGtEZWZhdWx0TWF4R2ZJbnRlcnZhbCk7Ci0gICAgICBl
bmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1RBUkdFVF9MRVZFTCwgdnA5OjpMRVZFTF9BVVRPKTsK
LQotICAgICAgdnB4X3JjX2Z1bmNzX3QgcmNfZnVuY3MgPSB7fTsKLSAgICAgIHJjX2Z1bmNzLnJj
X3R5cGUgPSBWUFhfUkNfR09QX1FQOwotICAgICAgcmNfZnVuY3MuY3JlYXRlX21vZGVsID0gcmNf
Y3JlYXRlX21vZGVsX2dvcF9zaG9ydDsKLSAgICAgIHJjX2Z1bmNzLnNlbmRfZmlyc3RwYXNzX3N0
YXRzID0gcmNfc2VuZF9maXJzdHBhc3Nfc3RhdHNfZ29wX3Nob3J0OwotICAgICAgcmNfZnVuY3Mu
Z2V0X2VuY29kZWZyYW1lX2RlY2lzaW9uID0KLSAgICAgICAgICByY19nZXRfZW5jb2RlZnJhbWVf
ZGVjaXNpb25fZ29wX3Nob3J0X292ZXJsYXk7Ci0gICAgICByY19mdW5jcy5nZXRfZ29wX2RlY2lz
aW9uID0gcmNfZ2V0X2dvcF9kZWNpc2lvbl9zaG9ydF9vdmVybGF5OwotICAgICAgcmNfZnVuY3Mu
dXBkYXRlX2VuY29kZWZyYW1lX3Jlc3VsdCA9Ci0gICAgICAgICAgcmNfdXBkYXRlX2VuY29kZWZy
YW1lX3Jlc3VsdF9nb3Bfc2hvcnQ7Ci0gICAgICByY19mdW5jcy5kZWxldGVfbW9kZWwgPSByY19k
ZWxldGVfbW9kZWw7Ci0gICAgICByY19mdW5jcy5wcml2ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lk
ICo+KFByaXZNYWdpY051bWJlcik7Ci0gICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX0VY
VEVSTkFMX1JBVEVfQ09OVFJPTCwgJnJjX2Z1bmNzKTsKLSAgICB9Ci0gIH0KLX07Ci0KLVRFU1Rf
RihFeHRSYXRlQ3RybFRlc3RHT1BTaG9ydE92ZXJsYXksIEVuY29kZVRlc3QpIHsKLSAgY2ZnXy5y
Y190YXJnZXRfYml0cmF0ZSA9IDUwMDsKLSAgY2ZnXy5nX2xhZ19pbl9mcmFtZXMgPSBrTWF4TGFn
SW5GcmFtZXMgLSAxOwotICBjZmdfLnJjX2VuZF91c2FnZSA9IFZQWF9WQlI7Ci0KLSAgc3RkOjp1
bmlxdWVfcHRyPGxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZT4gdmlkZW87Ci0gIHZpZGVvLnJlc2V0
KG5ldyAoc3RkOjpub3Rocm93KSBsaWJ2cHhfdGVzdDo6WVVWVmlkZW9Tb3VyY2UoCi0gICAgICBr
VGVzdEZpbGVOYW1lLCBWUFhfSU1HX0ZNVF9JNDIwLCAzNTIsIDI4OCwgMzAsIDEsIDAsIGtGcmFt
ZU51bUdPUFNob3J0KSk7Ci0KLSAgQVNTRVJUX05FKHZpZGVvLCBudWxscHRyKTsKKyAgQVNTRVJU
X05FKHZpZGVvLmdldCgpLCBudWxscHRyKTsKICAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVu
TG9vcCh2aWRlby5nZXQoKSkpOwogfQogCi1jbGFzcyBFeHRSYXRlQ3RybFRlc3RHT1BTaG9ydE5v
QVJGCi0gICAgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlclRlc3QsCi0gICAgICBwdWJs
aWMgOjpsaWJ2cHhfdGVzdDo6Q29kZWNUZXN0V2l0aFBhcmFtPGludD4gewotIHByb3RlY3RlZDoK
LSAgRXh0UmF0ZUN0cmxUZXN0R09QU2hvcnROb0FSRigpIDogRW5jb2RlclRlc3QoJjo6bGlidnB4
X3Rlc3Q6OmtWUDkpIHt9Ci0KLSAgfkV4dFJhdGVDdHJsVGVzdEdPUFNob3J0Tm9BUkYoKSBvdmVy
cmlkZSA9IGRlZmF1bHQ7Ci0KLSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsKLSAgICBJbml0aWFs
aXplQ29uZmlnKCk7Ci0gICAgU2V0TW9kZSg6OmxpYnZweF90ZXN0OjprVHdvUGFzc0dvb2QpOwot
ICB9Ci0KLSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjpsaWJ2cHhfdGVzdDo6VmlkZW9Tb3Vy
Y2UgKnZpZGVvLAotICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNv
ZGVyICplbmNvZGVyKSBvdmVycmlkZSB7Ci0gICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsK
LSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfTUlOX0dGX0lOVEVSVkFMLCBrRGVmYXVs
dE1pbkdmSW50ZXJ2YWwpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9NQVhfR0Zf
SU5URVJWQUwsIGtEZWZhdWx0TWF4R2ZJbnRlcnZhbCk7Ci0gICAgICBlbmNvZGVyLT5Db250cm9s
KFZQOUVfU0VUX1RBUkdFVF9MRVZFTCwgdnA5OjpMRVZFTF9BVVRPKTsKLQotICAgICAgdnB4X3Jj
X2Z1bmNzX3QgcmNfZnVuY3MgPSB7fTsKLSAgICAgIHJjX2Z1bmNzLnJjX3R5cGUgPSBWUFhfUkNf
R09QX1FQOwotICAgICAgcmNfZnVuY3MuY3JlYXRlX21vZGVsID0gcmNfY3JlYXRlX21vZGVsX2dv
cF9zaG9ydDsKLSAgICAgIHJjX2Z1bmNzLnNlbmRfZmlyc3RwYXNzX3N0YXRzID0gcmNfc2VuZF9m
aXJzdHBhc3Nfc3RhdHNfZ29wX3Nob3J0OwotICAgICAgcmNfZnVuY3MuZ2V0X2VuY29kZWZyYW1l
X2RlY2lzaW9uID0KLSAgICAgICAgICByY19nZXRfZW5jb2RlZnJhbWVfZGVjaXNpb25fZ29wX3No
b3J0X25vX2FyZjsKLSAgICAgIHJjX2Z1bmNzLmdldF9nb3BfZGVjaXNpb24gPSByY19nZXRfZ29w
X2RlY2lzaW9uX3Nob3J0X25vX2FyZjsKLSAgICAgIHJjX2Z1bmNzLnVwZGF0ZV9lbmNvZGVmcmFt
ZV9yZXN1bHQgPQotICAgICAgICAgIHJjX3VwZGF0ZV9lbmNvZGVmcmFtZV9yZXN1bHRfZ29wX3No
b3J0OwotICAgICAgcmNfZnVuY3MuZGVsZXRlX21vZGVsID0gcmNfZGVsZXRlX21vZGVsOwotICAg
ICAgcmNfZnVuY3MucHJpdiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAqPihQcml2TWFnaWNOdW1i
ZXIpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9FWFRFUk5BTF9SQVRFX0NPTlRS
T0wsICZyY19mdW5jcyk7Ci0gICAgfQotICB9Ci19OwotCi1URVNUX0YoRXh0UmF0ZUN0cmxUZXN0
R09QU2hvcnROb0FSRiwgRW5jb2RlVGVzdCkgewotICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0g
NTAwOwotICBjZmdfLmdfbGFnX2luX2ZyYW1lcyA9IGtNYXhMYWdJbkZyYW1lcyAtIDE7Ci0gIGNm
Z18ucmNfZW5kX3VzYWdlID0gVlBYX1ZCUjsKLQotICBzdGQ6OnVuaXF1ZV9wdHI8bGlidnB4X3Rl
c3Q6OlZpZGVvU291cmNlPiB2aWRlbzsKLSAgdmlkZW8ucmVzZXQobmV3IChzdGQ6Om5vdGhyb3cp
IGxpYnZweF90ZXN0OjpZVVZWaWRlb1NvdXJjZSgKLSAgICAgIGtUZXN0RmlsZU5hbWUsIFZQWF9J
TUdfRk1UX0k0MjAsIDM1MiwgMjg4LCAzMCwgMSwgMCwga0ZyYW1lTnVtR09QU2hvcnQpKTsKLQot
ICBBU1NFUlRfTkUodmlkZW8sIG51bGxwdHIpOwotICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShS
dW5Mb29wKHZpZGVvLmdldCgpKSk7Ci19Ci0KLWNsYXNzIEV4dFJhdGVDdHJsVGVzdFJkbXVsdCA6
IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpFbmNvZGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QgewotIHByb3RlY3RlZDoKLSAgRXh0UmF0
ZUN0cmxUZXN0UmRtdWx0KCkgOiBFbmNvZGVyVGVzdCgmOjpsaWJ2cHhfdGVzdDo6a1ZQOSkge30K
LQotICB+RXh0UmF0ZUN0cmxUZXN0UmRtdWx0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OwotCi0gIHZv
aWQgU2V0VXAoKSBvdmVycmlkZSB7Ci0gICAgSW5pdGlhbGl6ZUNvbmZpZygpOwotICAgIFNldE1v
ZGUoOjpsaWJ2cHhfdGVzdDo6a1R3b1Bhc3NHb29kKTsKLSAgfQotCi0gIHZvaWQgQmVnaW5QYXNz
SG9vayh1bnNpZ25lZCBpbnQpIG92ZXJyaWRlIHsKLSAgICBwc25yXyA9IDAuMDsKLSAgICBuZnJh
bWVzXyA9IDA7Ci0gIH0KLQotICB2b2lkIFBTTlJQa3RIb29rKGNvbnN0IHZweF9jb2RlY19jeF9w
a3RfdCAqcGt0KSBvdmVycmlkZSB7Ci0gICAgcHNucl8gKz0gcGt0LT5kYXRhLnBzbnIucHNuclsw
XTsKLSAgICBuZnJhbWVzXysrOwotICB9Ci0KLSAgdm9pZCBQcmVFbmNvZGVGcmFtZUhvb2soOjps
aWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7Ci0gICAgaWYgKHZp
ZGVvLT5mcmFtZSgpID09IDApIHsKLSAgICAgIHZweF9yY19mdW5jc190IHJjX2Z1bmNzID0ge307
Ci0gICAgICByY19mdW5jcy5yY190eXBlID0gVlBYX1JDX0dPUF9RUF9SRE1VTFQ7Ci0gICAgICBy
Y19mdW5jcy5jcmVhdGVfbW9kZWwgPSByY19jcmVhdGVfbW9kZWxfZ29wX3Nob3J0OwotICAgICAg
cmNfZnVuY3Muc2VuZF9maXJzdHBhc3Nfc3RhdHMgPSByY19zZW5kX2ZpcnN0cGFzc19zdGF0c19n
b3Bfc2hvcnQ7Ci0gICAgICByY19mdW5jcy5nZXRfZW5jb2RlZnJhbWVfZGVjaXNpb24gPSByY19n
ZXRfZW5jb2RlZnJhbWVfZGVjaXNpb25fZ29wX3Nob3J0OwotICAgICAgcmNfZnVuY3MuZ2V0X2dv
cF9kZWNpc2lvbiA9IHJjX2dldF9nb3BfZGVjaXNpb25fc2hvcnQ7Ci0gICAgICByY19mdW5jcy51
cGRhdGVfZW5jb2RlZnJhbWVfcmVzdWx0ID0KLSAgICAgICAgICByY191cGRhdGVfZW5jb2RlZnJh
bWVfcmVzdWx0X2dvcF9zaG9ydDsKLSAgICAgIHJjX2Z1bmNzLmdldF9mcmFtZV9yZG11bHQgPSBy
Y19nZXRfZGVmYXVsdF9mcmFtZV9yZG11bHQ7Ci0gICAgICByY19mdW5jcy5kZWxldGVfbW9kZWwg
PSByY19kZWxldGVfbW9kZWw7Ci0gICAgICByY19mdW5jcy5wcml2ID0gcmVpbnRlcnByZXRfY2Fz
dDx2b2lkICo+KFByaXZNYWdpY051bWJlcik7Ci0gICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVf
U0VUX0VYVEVSTkFMX1JBVEVfQ09OVFJPTCwgJnJjX2Z1bmNzKTsKLSAgICB9Ci0gIH0KLQotICBk
b3VibGUgR2V0QXZlcmFnZVBzbnIoKSBjb25zdCB7Ci0gICAgaWYgKG5mcmFtZXNfKSByZXR1cm4g
cHNucl8gLyBuZnJhbWVzXzsKLSAgICByZXR1cm4gMC4wOwotICB9Ci0KLSBwcml2YXRlOgotICBk
b3VibGUgcHNucl87Ci0gIHVuc2lnbmVkIGludCBuZnJhbWVzXzsKLX07Ci0KLVRFU1RfRihFeHRS
YXRlQ3RybFRlc3RSZG11bHQsIERlZmF1bHRSZG11bHQpIHsKLSAgY2ZnXy5yY190YXJnZXRfYml0
cmF0ZSA9IDUwMDsKLSAgY2ZnXy5nX2xhZ19pbl9mcmFtZXMgPSBrTWF4TGFnSW5GcmFtZXMgLSAx
OwotICBjZmdfLnJjX2VuZF91c2FnZSA9IFZQWF9WQlI7Ci0gIGluaXRfZmxhZ3NfID0gVlBYX0NP
REVDX1VTRV9QU05SOwotCi0gIHN0ZDo6dW5pcXVlX3B0cjxsaWJ2cHhfdGVzdDo6VmlkZW9Tb3Vy
Y2U+IHZpZGVvOwotICB2aWRlby5yZXNldChuZXcgKHN0ZDo6bm90aHJvdykgbGlidnB4X3Rlc3Q6
OllVVlZpZGVvU291cmNlKAotICAgICAga1Rlc3RGaWxlTmFtZSwgVlBYX0lNR19GTVRfSTQyMCwg
MzUyLCAyODgsIDMwLCAxLCAwLCBrRnJhbWVOdW1HT1BTaG9ydCkpOwotCi0gIEFTU0VSVF9ORSh2
aWRlbywgbnVsbHB0cik7Ci0gIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AodmlkZW8u
Z2V0KCkpKTsKLQotICBjb25zdCBkb3VibGUgcHNuciA9IEdldEF2ZXJhZ2VQc25yKCk7Ci0gIEVY
UEVDVF9HVChwc25yLCBrUHNuclRocmVzaG9sZCk7Ci19Ci0KIH0gIC8vIG5hbWVzcGFjZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9pbnRyYXByZWRfdGVzdC5jYyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdGVzdC92cDlfaW50cmFwcmVkX3Rlc3QuY2MKaW5kZXggYzY5ZDQzZWZiYzU0Li5jY2FjZTcx
OWVhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfaW50cmFwcmVkX3Rlc3QuY2MK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9pbnRyYXByZWRfdGVzdC5jYwpAQCAtNTUsMjEgKzU1
LDYgQEAgY2xhc3MgSW50cmFQcmVkVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFy
YW08UHJlZFBhcmFtPiB7CiAgICAgcmVmX2RzdF8gPSByZWZfZHN0OwogICAgIGludCBlcnJvcl9j
b3VudCA9IDA7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudF90ZXN0X2Jsb2NrOyArK2kp
IHsKLSAgICAgIC8vIFRPRE8od2VibToxNzk3KTogU29tZSBvZiB0aGUgb3B0aW1pc2VkIHByZWRp
Y3RvciBpbXBsZW1lbnRhdGlvbnMgcmVseQotICAgICAgLy8gb24gdGhlIHRyYWlsaW5nIGhhbGYg
b2YgdGhlIGFib3ZlX3Jvd18gYmVpbmcgYSBjb3B5IG9mIHRoZSBmaW5hbAotICAgICAgLy8gZWxl
bWVudCwgaG93ZXZlciByZWx5aW5nIG9uIHRoaXMgaW4gc29tZSBjYXNlcyBjYW4gY2F1c2UgdGhl
IE1ENSB0ZXN0cwotICAgICAgLy8gdG8gZmFpbC4gV2UgaGF2ZSBmaXhlZCBhbGwgb2YgdGhlc2Ug
Y2FzZXMgZm9yIE5lb24sIHNvIGZpbGwgdGhlIHdob2xlCi0gICAgICAvLyBvZiBhYm92ZV9yb3df
IHJhbmRvbWx5LgotI2lmIEhBVkVfTkVPTgotICAgICAgLy8gRmlsbCBlZGdlcyB3aXRoIHJhbmRv
bSBkYXRhLCB0cnkgZmlyc3Qgd2l0aCBzYXR1cmF0ZWQgdmFsdWVzLgotICAgICAgZm9yIChpbnQg
eCA9IC0xOyB4IDwgMiAqIGJsb2NrX3NpemU7IHgrKykgewotICAgICAgICBpZiAoaSA9PSAwKSB7
Ci0gICAgICAgICAgYWJvdmVfcm93X1t4XSA9IG1hc2tfOwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgIGFib3ZlX3Jvd19beF0gPSBybmQuUmFuZDE2KCkgJiBtYXNrXzsKLSAgICAgICAgfQot
ICAgICAgfQotI2Vsc2UKICAgICAgIC8vIEZpbGwgZWRnZXMgd2l0aCByYW5kb20gZGF0YSwgdHJ5
IGZpcnN0IHdpdGggc2F0dXJhdGVkIHZhbHVlcy4KICAgICAgIGZvciAoaW50IHggPSAtMTsgeCA8
IGJsb2NrX3NpemU7IHgrKykgewogICAgICAgICBpZiAoaSA9PSAwKSB7CkBAIC04MSw3ICs2Niw2
IEBAIGNsYXNzIEludHJhUHJlZFRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFt
PFByZWRQYXJhbT4gewogICAgICAgZm9yIChpbnQgeCA9IGJsb2NrX3NpemU7IHggPCAyICogYmxv
Y2tfc2l6ZTsgeCsrKSB7CiAgICAgICAgIGFib3ZlX3Jvd19beF0gPSBhYm92ZV9yb3dfW2Jsb2Nr
X3NpemUgLSAxXTsKICAgICAgIH0KLSNlbmRpZgogICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBi
bG9ja19zaXplOyB5KyspIHsKICAgICAgICAgaWYgKGkgPT0gMCkgewogICAgICAgICAgIGxlZnRf
Y29sX1t5XSA9IG1hc2tfOwpAQCAtOTYsNyArODAsNyBAQCBjbGFzcyBJbnRyYVByZWRUZXN0IDog
cHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxQcmVkUGFyYW0+IHsKICAgfQogCiAgcHJv
dGVjdGVkOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZvaWQgU2V0VXAo
KSB7CiAgICAgcGFyYW1zXyA9IHRoaXMtPkdldFBhcmFtKCk7CiAgICAgc3RyaWRlXyA9IHBhcmFt
c18uYmxvY2tfc2l6ZSAqIDM7CiAgICAgbWFza18gPSAoMSA8PCBwYXJhbXNfLmJpdF9kZXB0aCkg
LSAxOwpAQCAtMjU5LDIyICsyNDMsNiBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAg
ICAgICAgICAgICAgICAgICAgICZ2cHhfZDQ1X3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwgOCksCiAg
ICAgICAgIEludHJhUHJlZFBhcmFtKCZ2cHhfZDQ1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAogICAg
ICAgICAgICAgICAgICAgICAgICAmdnB4X2Q0NV9wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDgpLAot
ICAgICAgICBJbnRyYVByZWRQYXJhbSgmdnB4X2Q2M19wcmVkaWN0b3JfNHg0X25lb24sICZ2cHhf
ZDYzX3ByZWRpY3Rvcl80eDRfYywgNCwKLSAgICAgICAgICAgICAgICAgICAgICAgOCksCi0gICAg
ICAgIEludHJhUHJlZFBhcmFtKCZ2cHhfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbiwgJnZweF9kNjNf
cHJlZGljdG9yXzh4OF9jLCA4LAotICAgICAgICAgICAgICAgICAgICAgICA4KSwKLSAgICAgICAg
SW50cmFQcmVkUGFyYW0oJnZweF9kNjNfcHJlZGljdG9yXzE2eDE2X25lb24sCi0gICAgICAgICAg
ICAgICAgICAgICAgICZ2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwgOCksCi0gICAgICAg
IEludHJhUHJlZFBhcmFtKCZ2cHhfZDYzX3ByZWRpY3Rvcl8zMngzMl9uZW9uLAotICAgICAgICAg
ICAgICAgICAgICAgICAmdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDgpLAotICAgICAg
ICBJbnRyYVByZWRQYXJhbSgmdnB4X2QxMTdfcHJlZGljdG9yXzR4NF9uZW9uLCAmdnB4X2QxMTdf
cHJlZGljdG9yXzR4NF9jLAotICAgICAgICAgICAgICAgICAgICAgICA0LCA4KSwKLSAgICAgICAg
SW50cmFQcmVkUGFyYW0oJnZweF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbiwgJnZweF9kMTE3X3By
ZWRpY3Rvcl84eDhfYywKLSAgICAgICAgICAgICAgICAgICAgICAgOCwgOCksCi0gICAgICAgIElu
dHJhUHJlZFBhcmFtKCZ2cHhfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgJnZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwgOCksCi0gICAgICAg
IEludHJhUHJlZFBhcmFtKCZ2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgJnZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9jLCAzMiwgOCksCiAgICAg
ICAgIEludHJhUHJlZFBhcmFtKCZ2cHhfZDEzNV9wcmVkaWN0b3JfNHg0X25lb24sICZ2cHhfZDEz
NV9wcmVkaWN0b3JfNHg0X2MsCiAgICAgICAgICAgICAgICAgICAgICAgIDQsIDgpLAogICAgICAg
ICBJbnRyYVByZWRQYXJhbSgmdnB4X2QxMzVfcHJlZGljdG9yXzh4OF9uZW9uLCAmdnB4X2QxMzVf
cHJlZGljdG9yXzh4OF9jLApAQCAtMjgzLDIyICsyNTEsNiBAQCBJTlNUQU5USUFURV9URVNUX1NV
SVRFX1AoCiAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfZDEzNV9wcmVkaWN0b3JfMTZ4MTZf
YywgMTYsIDgpLAogICAgICAgICBJbnRyYVByZWRQYXJhbSgmdnB4X2QxMzVfcHJlZGljdG9yXzMy
eDMyX25lb24sCiAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfZDEzNV9wcmVkaWN0b3JfMzJ4
MzJfYywgMzIsIDgpLAotICAgICAgICBJbnRyYVByZWRQYXJhbSgmdnB4X2QxNTNfcHJlZGljdG9y
XzR4NF9uZW9uLCAmdnB4X2QxNTNfcHJlZGljdG9yXzR4NF9jLAotICAgICAgICAgICAgICAgICAg
ICAgICA0LCA4KSwKLSAgICAgICAgSW50cmFQcmVkUGFyYW0oJnZweF9kMTUzX3ByZWRpY3Rvcl84
eDhfbmVvbiwgJnZweF9kMTUzX3ByZWRpY3Rvcl84eDhfYywKLSAgICAgICAgICAgICAgICAgICAg
ICAgOCwgOCksCi0gICAgICAgIEludHJhUHJlZFBhcmFtKCZ2cHhfZDE1M19wcmVkaWN0b3JfMTZ4
MTZfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgJnZweF9kMTUzX3ByZWRpY3Rvcl8xNngx
Nl9jLCAxNiwgOCksCi0gICAgICAgIEludHJhUHJlZFBhcmFtKCZ2cHhfZDE1M19wcmVkaWN0b3Jf
MzJ4MzJfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgJnZweF9kMTUzX3ByZWRpY3Rvcl8z
MngzMl9jLCAzMiwgOCksCi0gICAgICAgIEludHJhUHJlZFBhcmFtKCZ2cHhfZDIwN19wcmVkaWN0
b3JfNHg0X25lb24sICZ2cHhfZDIwN19wcmVkaWN0b3JfNHg0X2MsCi0gICAgICAgICAgICAgICAg
ICAgICAgIDQsIDgpLAotICAgICAgICBJbnRyYVByZWRQYXJhbSgmdnB4X2QyMDdfcHJlZGljdG9y
Xzh4OF9uZW9uLCAmdnB4X2QyMDdfcHJlZGljdG9yXzh4OF9jLAotICAgICAgICAgICAgICAgICAg
ICAgICA4LCA4KSwKLSAgICAgICAgSW50cmFQcmVkUGFyYW0oJnZweF9kMjA3X3ByZWRpY3Rvcl8x
NngxNl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2QyMDdfcHJlZGljdG9yXzE2
eDE2X2MsIDE2LCA4KSwKLSAgICAgICAgSW50cmFQcmVkUGFyYW0oJnZweF9kMjA3X3ByZWRpY3Rv
cl8zMngzMl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2QyMDdfcHJlZGljdG9y
XzMyeDMyX2MsIDMyLCA4KSwKICAgICAgICAgSW50cmFQcmVkUGFyYW0oJnZweF9kY18xMjhfcHJl
ZGljdG9yXzR4NF9uZW9uLAogICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2RjXzEyOF9wcmVk
aWN0b3JfNHg0X2MsIDQsIDgpLAogICAgICAgICBJbnRyYVByZWRQYXJhbSgmdnB4X2RjXzEyOF9w
cmVkaWN0b3JfOHg4X25lb24sCkBAIC00ODksMTUgKzQ0MSw2IEBAIElOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X3ZfcHJl
ZGljdG9yXzMyeDMyX2MsIDMyLCA4KSkpOwogI2VuZGlmICAvLyBIQVZFX1ZTWAogCi0jaWYgSEFW
RV9MU1gKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAgICBMU1gsIFZQOUludHJhUHJlZFRl
c3QsCi0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMoSW50cmFQcmVkUGFyYW0oJnZweF9kY19wcmVkaWN0
b3JfOHg4X2xzeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2Rj
X3ByZWRpY3Rvcl84eDhfYywgOCwgOCksCi0gICAgICAgICAgICAgICAgICAgICAgSW50cmFQcmVk
UGFyYW0oJnZweF9kY19wcmVkaWN0b3JfMTZ4MTZfbHN4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZ2cHhfZGNfcHJlZGljdG9yXzE2eDE2X2MsIDE2LCA4KSkpOwotI2Vu
ZGlmICAvLyBIQVZFX0xTWAotCiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKIHR5cGVkZWYg
dm9pZCAoKkhpZ2hiZEludHJhUHJlZCkodWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmFib3ZlLCBj
b25zdCB1aW50MTZfdCAqbGVmdCwKQEAgLTg4OSwyMiArODMyLDYgQEAgSU5TVEFOVElBVEVfVEVT
VF9TVUlURV9QKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kNDVf
cHJlZGljdG9yXzE2eDE2X2MsIDE2LCA4KSwKICAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0o
JnZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmdnB4X2hpZ2hiZF9kNDVfcHJlZGljdG9yXzMyeDMyX2MsIDMyLCA4KSwKLSAg
ICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl80eDRf
bmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDYzX3ByZWRp
Y3Rvcl80eDRfYywgNCwgOCksCi0gICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGln
aGJkX2Q2M19wcmVkaWN0b3JfOHg4X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfOHg4X2MsIDgsIDgpLAotICAgICAgICBIaWdoYmRJ
bnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzE2eDE2X25lb24sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMTZ4MTZf
YywgMTYsIDgpLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kNjNf
cHJlZGljdG9yXzMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhf
aGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDgpLAotICAgICAgICBIaWdoYmRJbnRy
YVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfNHg0X2MsIDQs
IDgpLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMTE3X3ByZWRp
Y3Rvcl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRf
ZDExN19wcmVkaWN0b3JfOHg4X2MsIDgsIDgpLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJh
bSgmdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwgOCks
Ci0gICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9y
XzMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2Qx
MTdfcHJlZGljdG9yXzMyeDMyX2MsIDMyLCA4KSwKICAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFy
YW0oJnZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfNHg0X25lb24sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzR4NF9jLCA0LCA4KSwKICAg
ICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfOHg4
X25lb24sCkBAIC05MTMsMjIgKzg0MCw2IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfMTZ4
MTZfYywgMTYsIDgpLAogICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9k
MTM1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
dnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl8zMngzMl9jLCAzMiwgOCksCi0gICAgICAgIEhpZ2hi
ZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzR4NF9uZW9uLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl80eDRf
YywgNCwgOCksCi0gICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxNTNf
cHJlZGljdG9yXzh4OF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hp
Z2hiZF9kMTUzX3ByZWRpY3Rvcl84eDhfYywgOCwgOCksCi0gICAgICAgIEhpZ2hiZEludHJhUHJl
ZFBhcmFtKCZ2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzE2eDE2X25lb24sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzE2eDE2X2MsIDE2
LCA4KSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDE1M19wcmVk
aWN0b3JfMzJ4MzJfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdo
YmRfZDE1M19wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDgpLAotICAgICAgICBIaWdoYmRJbnRyYVBy
ZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl80eDRfbmVvbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfNHg0X2MsIDQsIDgp
LAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rv
cl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDIw
N19wcmVkaWN0b3JfOHg4X2MsIDgsIDgpLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgm
dnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwgOCksCi0g
ICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzMy
eDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QyMDdf
cHJlZGljdG9yXzMyeDMyX2MsIDMyLCA4KSwKICAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0o
JnZweF9oaWdoYmRfZGNfMTI4X3ByZWRpY3Rvcl80eDRfbmVvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnZweF9oaWdoYmRfZGNfMTI4X3ByZWRpY3Rvcl80eDRfYywgNCwgOCksCiAg
ICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2RjXzEyOF9wcmVkaWN0b3Jf
OHg4X25lb24sCkBAIC05OTcsMjIgKzkwOCw2IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl8x
NngxNl9jLCAxNiwgMTApLAogICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hi
ZF9kNDVfcHJlZGljdG9yXzMyeDMyX25lb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ2cHhfaGlnaGJkX2Q0NV9wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDEwKSwKLSAgICAgICAgSGln
aGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl80eDRfbmVvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl80eDRf
YywgNCwgMTApLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kNjNf
cHJlZGljdG9yXzh4OF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hp
Z2hiZF9kNjNfcHJlZGljdG9yXzh4OF9jLCA4LCAxMCksCi0gICAgICAgIEhpZ2hiZEludHJhUHJl
ZFBhcmFtKCZ2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMTZ4MTZfbmVvbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwg
MTApLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kNjNfcHJlZGlj
dG9yXzMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJk
X2Q2M19wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDEwKSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVk
UGFyYW0oJnZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfNHg0X25lb24sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzR4NF9jLCA0LCAxMCks
Ci0gICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9y
Xzh4OF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTE3
X3ByZWRpY3Rvcl84eDhfYywgOCwgMTApLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgm
dnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwgMTApLAot
ICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8z
MngzMl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTE3
X3ByZWRpY3Rvcl8zMngzMl9jLCAzMiwgMTApLAogICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJh
bSgmdnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl80eDRfbmVvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfNHg0X2MsIDQsIDEwKSwKICAg
ICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfOHg4
X25lb24sCkBAIC0xMDIxLDIyICs5MTYsNiBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzE2
eDE2X2MsIDE2LCAxMCksCiAgICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJk
X2QxMzVfcHJlZGljdG9yXzMyeDMyX25lb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzMyeDMyX2MsIDMyLCAxMCksCi0gICAgICAgIEhp
Z2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzR4NF9uZW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl80
eDRfYywgNCwgMTApLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9k
MTUzX3ByZWRpY3Rvcl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZw
eF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfOHg4X2MsIDgsIDEwKSwKLSAgICAgICAgSGlnaGJkSW50
cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTZfbmVvbiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTZf
YywgMTYsIDEwKSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDE1
M19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZw
eF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDEwKSwKLSAgICAgICAgSGlnaGJk
SW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfNHg0X25lb24sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzR4NF9j
LCA0LCAxMCksCi0gICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QyMDdf
cHJlZGljdG9yXzh4OF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hp
Z2hiZF9kMjA3X3ByZWRpY3Rvcl84eDhfYywgOCwgMTApLAotICAgICAgICBIaWdoYmRJbnRyYVBy
ZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9uZW9uLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9jLCAx
NiwgMTApLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMjA3X3By
ZWRpY3Rvcl8zMngzMl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hp
Z2hiZF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9jLCAzMiwgMTApLAogICAgICAgICBIaWdoYmRJbnRy
YVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kY18xMjhfcHJlZGljdG9yXzR4NF9uZW9uLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kY18xMjhfcHJlZGljdG9yXzR4NF9j
LCA0LCAxMCksCiAgICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2RjXzEy
OF9wcmVkaWN0b3JfOHg4X25lb24sCkBAIC0xMTA1LDIyICs5ODQsNiBAQCBJTlNUQU5USUFURV9U
RVNUX1NVSVRFX1AoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2Q0
NV9wcmVkaWN0b3JfMTZ4MTZfYywgMTYsIDEyKSwKICAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFy
YW0oJnZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kNDVfcHJlZGljdG9yXzMyeDMyX2MsIDMyLCAxMiks
Ci0gICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3Jf
NHg0X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2Q2M19w
cmVkaWN0b3JfNHg0X2MsIDQsIDEyKSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZw
eF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJnZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDhfYywgOCwgMTIpLAotICAgICAgICBI
aWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzE2eDE2X25lb24s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3Jf
MTZ4MTZfYywgMTYsIDEyKSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdo
YmRfZDYzX3ByZWRpY3Rvcl8zMngzMl9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzMyeDMyX2MsIDMyLCAxMiksCi0gICAgICAgIEhp
Z2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzR4NF9uZW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80
eDRfYywgNCwgMTApLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9k
MTE3X3ByZWRpY3Rvcl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZw
eF9oaWdoYmRfZDExN19wcmVkaWN0b3JfOHg4X2MsIDgsIDEwKSwKLSAgICAgICAgSGlnaGJkSW50
cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMTZ4MTZfbmVvbiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMTZ4MTZf
YywgMTYsIDEwKSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDEx
N19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZw
eF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDEwKSwKICAgICAgICAgSGlnaGJk
SW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfNHg0X25lb24sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzR4NF9j
LCA0LCAxMiksCiAgICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxMzVf
cHJlZGljdG9yXzh4OF9uZW9uLApAQCAtMTEyOSwyMiArOTkyLDYgQEAgSU5TVEFOVElBVEVfVEVT
VF9TVUlURV9QKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTM1
X3ByZWRpY3Rvcl8xNngxNl9jLCAxNiwgMTIpLAogICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJh
bSgmdnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl8zMngzMl9uZW9uLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMTM1X3ByZWRpY3Rvcl8zMngzMl9jLCAzMiwgMTIp
LAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rv
cl80eDRfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDE1
M19wcmVkaWN0b3JfNHg0X2MsIDQsIDEyKSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0o
JnZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfOHg4X25lb24sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZ2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzh4OF9jLCA4LCAxMiksCi0gICAg
ICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzE2eDE2
X25lb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfaGlnaGJkX2QxNTNfcHJl
ZGljdG9yXzE2eDE2X2MsIDE2LCAxMiksCi0gICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2
cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzMyeDMyX25lb24sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZ2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzMyeDMyX2MsIDMyLCAxMiksCi0g
ICAgICAgIEhpZ2hiZEludHJhUHJlZFBhcmFtKCZ2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzR4
NF9uZW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9kMjA3X3By
ZWRpY3Rvcl80eDRfYywgNCwgMTIpLAotICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4
X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl84eDhfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJnZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfOHg4X2MsIDgsIDEyKSwKLSAgICAgICAg
SGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMTZ4MTZfbmVv
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZDIwN19wcmVkaWN0
b3JfMTZ4MTZfYywgMTYsIDEyKSwKLSAgICAgICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9o
aWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzJfbmVvbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJnZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzJfYywgMzIsIDEyKSwKICAgICAg
ICAgSGlnaGJkSW50cmFQcmVkUGFyYW0oJnZweF9oaWdoYmRfZGNfMTI4X3ByZWRpY3Rvcl80eDRf
bmVvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfZGNfMTI4X3By
ZWRpY3Rvcl80eDRfYywgNCwgMTIpLAogICAgICAgICBIaWdoYmRJbnRyYVByZWRQYXJhbSgmdnB4
X2hpZ2hiZF9kY18xMjhfcHJlZGljdG9yXzh4OF9uZW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90ZXN0L3ZwOV9sb3NzbGVzc190ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9sb3NzbGVz
c190ZXN0LmNjCmluZGV4IGZlM2NkMWFiYTRhYy4uOTMxYWMzMGEzNjc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvdnA5X2xvc3NsZXNzX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0
L3ZwOV9sb3NzbGVzc190ZXN0LmNjCkBAIC0yOSwxNSArMjksMTUgQEAgY2xhc3MgTG9zc2xlc3NU
ZXN0CiAgICAgICA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgwKSksIHBzbnJfKGtNYXhQc25yKSwg
bmZyYW1lc18oMCksCiAgICAgICAgIGVuY29kaW5nX21vZGVfKEdFVF9QQVJBTSgxKSkge30KIAot
ICB+TG9zc2xlc3NUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworICB2aXJ0dWFsIH5Mb3NzbGVz
c1Rlc3QoKSB7fQogCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBT
ZXRVcCgpIHsKICAgICBJbml0aWFsaXplQ29uZmlnKCk7CiAgICAgU2V0TW9kZShlbmNvZGluZ19t
b2RlXyk7CiAgIH0KIAotICB2b2lkIFByZUVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpW
aWRlb1NvdXJjZSAqdmlkZW8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6bGlidnB4X3Rl
c3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFByZUVuY29k
ZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0OjpWaWRlb1NvdXJjZSAqdmlkZW8sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikg
ewogICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7CiAgICAgICAvLyBPbmx5IGNhbGwgQ29u
dHJvbCBpZiBxdWFudGl6ZXIgPiAwIHRvIHZlcmlmeSB0aGF0IHVzaW5nIHF1YW50aXplcgogICAg
ICAgLy8gYWxvbmUgd2lsbCBhY3RpdmF0ZSBsb3NzbGVzcwpAQCAtNDcsMTIgKzQ3LDEyIEBAIGNs
YXNzIExvc3NsZXNzVGVzdAogICAgIH0KICAgfQogCi0gIHZvaWQgQmVnaW5QYXNzSG9vayh1bnNp
Z25lZCBpbnQgLypwYXNzKi8pIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIEJlZ2luUGFzc0hv
b2sodW5zaWduZWQgaW50IC8qcGFzcyovKSB7CiAgICAgcHNucl8gPSBrTWF4UHNucjsKICAgICBu
ZnJhbWVzXyA9IDA7CiAgIH0KIAotICB2b2lkIFBTTlJQa3RIb29rKGNvbnN0IHZweF9jb2RlY19j
eF9wa3RfdCAqcGt0KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBQU05SUGt0SG9vayhjb25z
dCB2cHhfY29kZWNfY3hfcGt0X3QgKnBrdCkgewogICAgIGlmIChwa3QtPmRhdGEucHNuci5wc25y
WzBdIDwgcHNucl8pIHBzbnJfID0gcGt0LT5kYXRhLnBzbnIucHNuclswXTsKICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X21vdGlvbl92ZWN0b3JfdGVzdC5jYyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGVzdC92cDlfbW90aW9uX3ZlY3Rvcl90ZXN0LmNjCmluZGV4IDQ5NWVhMTFmY2UyZS4u
NmIxMDgyYTEwNmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X21vdGlvbl92ZWN0
b3JfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X21vdGlvbl92ZWN0b3JfdGVzdC5j
YwpAQCAtNDIsOSArNDIsOSBAQCBjbGFzcyBNb3Rpb25WZWN0b3JUZXN0TGFyZ2UKICAgICAgIDog
RW5jb2RlclRlc3QoR0VUX1BBUkFNKDApKSwgZW5jb2RpbmdfbW9kZV8oR0VUX1BBUkFNKDEpKSwK
ICAgICAgICAgY3B1X3VzZWRfKEdFVF9QQVJBTSgyKSksIG12X3Rlc3RfbW9kZV8oR0VUX1BBUkFN
KDMpKSB7fQogCi0gIH5Nb3Rpb25WZWN0b3JUZXN0TGFyZ2UoKSBvdmVycmlkZSA9IGRlZmF1bHQ7
CisgIHZpcnR1YWwgfk1vdGlvblZlY3RvclRlc3RMYXJnZSgpIHt9CiAKLSAgdm9pZCBTZXRVcCgp
IG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgewogICAgIEluaXRpYWxpemVDb25m
aWcoKTsKICAgICBTZXRNb2RlKGVuY29kaW5nX21vZGVfKTsKICAgICBpZiAoZW5jb2RpbmdfbW9k
ZV8gIT0gOjpsaWJ2cHhfdGVzdDo6a1JlYWxUaW1lKSB7CkBAIC01OSw4ICs1OSw4IEBAIGNsYXNz
IE1vdGlvblZlY3RvclRlc3RMYXJnZQogICAgIH0KICAgfQogCi0gIHZvaWQgUHJlRW5jb2RlRnJh
bWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjpsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgewor
ICB2aXJ0dWFsIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6OlZpZGVvU291
cmNlICp2aWRlbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OmxpYnZweF90
ZXN0OjpFbmNvZGVyICplbmNvZGVyKSB7CiAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsK
ICAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9TRVRfQ1BVVVNFRCwgY3B1X3VzZWRfKTsKICAg
ICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9FTkFCTEVfTU9USU9OX1ZFQ1RPUl9VTklUX1RFU1Qs
IG12X3Rlc3RfbW9kZV8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9xdWFudGl6
ZV90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9xdWFudGl6ZV90ZXN0LmNjCmluZGV4IGUw
MGFiNDAyMmMwOC4uY2I0NDgxYjEwMzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5
X3F1YW50aXplX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZwOV9xdWFudGl6ZV90ZXN0
LmNjCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAidGVzdC91dGlsLmgiCiAjaW5jbHVkZSAi
dnA5L2NvbW1vbi92cDlfZW50cm9weS5oIgogI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X3NjYW4u
aCIKLSNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfYmxvY2suaCIKICNpbmNsdWRlICJ2cHgvdnB4
X2NvZGVjLmgiCiAjaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X3Bv
cnRzL21zdmMuaCIKQEAgLTM5LDgzICszOCwzNiBAQCBuYW1lc3BhY2UgewogY29uc3QgaW50IG51
bWJlcl9vZl9pdGVyYXRpb25zID0gMTAwOwogCiB0eXBlZGVmIHZvaWQgKCpRdWFudGl6ZUZ1bmMp
KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmLCBpbnRwdHJfdCBjb3VudCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgbWFjcm9ibG9ja19wbGFuZSAqbWJfcGxhbmUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKnFjb2VmZiwgdHJhbl9sb3dfdCAqZHFj
b2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFu
dCwgdWludDE2X3QgKmVvYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlcik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBza2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICp6YmluLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpyb3VuZCwgY29uc3QgaW50MTZfdCAqcXVh
bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnF1YW50X3No
aWZ0LCB0cmFuX2xvd190ICpxY29lZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QgKmRxY29lZmYsIGNvbnN0IGludDE2X3QgKmRlcXVhbnQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNl90ICplb2IsIGNvbnN0IGludDE2X3QgKnNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmlzY2FuKTsKIHR5cGVkZWYg
c3RkOjp0dXBsZTxRdWFudGl6ZUZ1bmMsIFF1YW50aXplRnVuYywgdnB4X2JpdF9kZXB0aF90LAog
ICAgICAgICAgICAgICAgICAgIGludCAvKm1heF9zaXplKi8sIGJvb2wgLyppc19mcCovPgogICAg
IFF1YW50aXplUGFyYW07CiAKLS8vIFdyYXBwZXIgZm9yIDMyeDMyIHZlcnNpb24gd2hpY2ggZG9l
cyBub3QgdXNlIGNvdW50Ci10eXBlZGVmIHZvaWQgKCpRdWFudGl6ZTMyeDMyRnVuYykoY29uc3Qg
dHJhbl9sb3dfdCAqY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmLCB0cmFuX2xvd190ICpkcWNvZWZmLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnQs
IHVpbnQxNl90ICplb2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlcik7Ci0KLXRlbXBsYXRlIDxRdWFudGl6
ZTMyeDMyRnVuYyBmbj4KLXZvaWQgUXVhbnQzMngzMldyYXBwZXIoY29uc3QgdHJhbl9sb3dfdCAq
Y29lZmYsIGludHB0cl90IGNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWNy
b2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCAqcWNvZWZmLCB0cmFuX2xvd190ICpkcWNvZWZmLAotICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50LCB1aW50MTZfdCAqZW9iLAotICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7Ci0g
ICh2b2lkKWNvdW50OwotICBmbihjb2VmZiwgbWJfcGxhbmUsIHFjb2VmZiwgZHFjb2VmZiwgZGVx
dWFudCwgZW9iLCBzY2FuX29yZGVyKTsKLX0KLQogLy8gV3JhcHBlciBmb3IgRlAgdmVyc2lvbiB3
aGljaCBkb2VzIG5vdCB1c2UgemJpbiBvciBxdWFudF9zaGlmdC4KIHR5cGVkZWYgdm9pZCAoKlF1
YW50aXplRlBGdW5jKShjb25zdCB0cmFuX2xvd190ICpjb2VmZiwgaW50cHRyX3QgY291bnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFjcm9ibG9ja19wbGFuZSAqY29u
c3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAq
cWNvZWZmLCB0cmFuX2xvd190ICpkcWNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnQsIHVpbnQxNl90ICplb2IsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRl
cik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssIGNvbnN0
IGludDE2X3QgKnJvdW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QgKnF1YW50LCB0cmFuX2xvd190ICpxY29lZmYsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbl9sb3dfdCAqZHFjb2VmZiwgY29uc3QgaW50MTZfdCAqZGVxdWFudCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqZW9iLCBjb25zdCBpbnQxNl90
ICpzY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmlz
Y2FuKTsKIAogdGVtcGxhdGUgPFF1YW50aXplRlBGdW5jIGZuPgotdm9pZCBRdWFudEZQV3JhcHBl
cihjb25zdCB0cmFuX2xvd190ICpjb2VmZiwgaW50cHRyX3QgY291bnQsCi0gICAgICAgICAgICAg
ICAgICAgIGNvbnN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLCB0cmFuX2xvd190
ICpxY29lZmYsCi0gICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29lZmYsIGNvbnN0
IGludDE2X3QgKmRlcXVhbnQsIHVpbnQxNl90ICplb2IsCi0gICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIpIHsKLSAgZm4oY29lZmYsIGNv
dW50LCBtYl9wbGFuZSwgcWNvZWZmLCBkcWNvZWZmLCBkZXF1YW50LCBlb2IsIHNjYW5fb3JkZXIp
OwotfQotCi12b2lkIEdlbmVyYXRlSGVscGVyQXJyYXlzKEFDTVJhbmRvbSAqcm5kLCBpbnQxNl90
ICp6YmluLCBpbnQxNl90ICpyb3VuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZf
dCAqcXVhbnQsIGludDE2X3QgKnF1YW50X3NoaWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQxNl90ICpkZXF1YW50LCBpbnQxNl90ICpyb3VuZF9mcCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MTZfdCAqcXVhbnRfZnApIHsKLSAgLy8gTWF4IHdoZW4gcSA9PSAwLiBPdGhl
cndpc2UsIGl0IGlzIDQ4IGZvciBZIGFuZCA0MiBmb3IgVS9WLgotICBjb25zdGV4cHIgaW50IGtN
YXhRUm91bmRpbmdGYWN0b3JGcCA9IDY0OwotCi0gIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisr
KSB7Ci0gICAgLy8gVGhlIHJhbmdlIGlzIDQgdG8gMTgyOCBpbiB0aGUgVlA5IHRhYmxlcy4KLSAg
ICBjb25zdCBpbnQgcWxvb2t1cCA9IHJuZC0+UmFuZFJhbmdlKDE4MjUpICsgNDsKLSAgICByb3Vu
ZF9mcFtqXSA9IChrTWF4UVJvdW5kaW5nRmFjdG9yRnAgKiBxbG9va3VwKSA+PiA3OwotICAgIHF1
YW50X2ZwW2pdID0gKDEgPDwgMTYpIC8gcWxvb2t1cDsKLQotICAgIC8vIFZhbHVlcyBkZXRlcm1p
bmVkIGJ5IGRlY29uc3RydWN0aW5nIHZwOV9pbml0X3F1YW50aXplcigpLgotICAgIC8vIHpiaW4g
bWF5IGJlIHVwIHRvIDExNDMgZm9yIDggYW5kIDEwIGJpdCBZIHZhbHVlcywgb3IgMTIwMCBmb3Ig
MTIgYml0IFkKLSAgICAvLyB2YWx1ZXMgb3IgVS9WIHZhbHVlcyBvZiBhbnkgYml0IGRlcHRoLiBU
aGlzIGlzIGJlY2F1c2UgeV9kZWx0YSBpcyBub3QKLSAgICAvLyBmYWN0b3JlZCBpbnRvIHRoZSB2
cDlfYWNfcXVhbnQoKSBjYWxsLgotICAgIHpiaW5bal0gPSBybmQtPlJhbmRSYW5nZSgxMjAwKTsK
LQotICAgIC8vIHJvdW5kIG1heSBiZSB1cCB0byA2ODUgZm9yIFkgdmFsdWVzIG9yIDkxNCBmb3Ig
VS9WLgotICAgIHJvdW5kW2pdID0gcm5kLT5SYW5kUmFuZ2UoOTE0KTsKLSAgICAvLyBxdWFudCBy
YW5nZXMgZnJvbSAxIHRvIC0zMjcwMwotICAgIHF1YW50W2pdID0gc3RhdGljX2Nhc3Q8aW50Pihy
bmQtPlJhbmRSYW5nZSgzMjcwNCkpIC0gMzI3MDM7Ci0gICAgLy8gcXVhbnRfc2hpZnQgZ29lcyB1
cCB0byAxIDw8IDE2LgotICAgIHF1YW50X3NoaWZ0W2pdID0gcm5kLT5SYW5kUmFuZ2UoMTYzODQp
OwotICAgIC8vIGRlcXVhbnQgbWF4ZXMgb3V0IGF0IDE4MjggZm9yIGFsbCBjYXNlcy4KLSAgICBk
ZXF1YW50W2pdID0gcm5kLT5SYW5kUmFuZ2UoMTgyOCk7Ci0gIH0KLSAgZm9yIChpbnQgaiA9IDI7
IGogPCA4OyBqKyspIHsKLSAgICB6YmluW2pdID0gemJpblsxXTsKLSAgICByb3VuZF9mcFtqXSA9
IHJvdW5kX2ZwWzFdOwotICAgIHF1YW50X2ZwW2pdID0gcXVhbnRfZnBbMV07Ci0gICAgcm91bmRb
al0gPSByb3VuZFsxXTsKLSAgICBxdWFudFtqXSA9IHF1YW50WzFdOwotICAgIHF1YW50X3NoaWZ0
W2pdID0gcXVhbnRfc2hpZnRbMV07Ci0gICAgZGVxdWFudFtqXSA9IGRlcXVhbnRbMV07Ci0gIH0K
K3ZvaWQgUXVhbnRGUFdyYXBwZXIoY29uc3QgdHJhbl9sb3dfdCAqY29lZmYsIGludHB0cl90IGNv
dW50LCBpbnQgc2tpcF9ibG9jaywKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAq
emJpbiwgY29uc3QgaW50MTZfdCAqcm91bmQsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QgKnF1YW50LCBjb25zdCBpbnQxNl90ICpxdWFudF9zaGlmdCwKKyAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmLCB0cmFuX2xvd190ICpkcWNvZWZmLAorICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50LCB1aW50MTZfdCAqZW9iLCBjb25zdCBp
bnQxNl90ICpzY2FuLAorICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICppc2Nhbikg
eworICAodm9pZCl6YmluOworICAodm9pZClxdWFudF9zaGlmdDsKKworICBmbihjb2VmZiwgY291
bnQsIHNraXBfYmxvY2ssIHJvdW5kLCBxdWFudCwgcWNvZWZmLCBkcWNvZWZmLCBkZXF1YW50LCBl
b2IsCisgICAgIHNjYW4sIGlzY2FuKTsKIH0KIAogY2xhc3MgVlA5UXVhbnRpemVCYXNlIDogcHVi
bGljIEFic3RyYWN0QmVuY2ggewpAQCAtMTMxLDIxICs4MywxNyBAQCBjbGFzcyBWUDlRdWFudGl6
ZUJhc2UgOiBwdWJsaWMgQWJzdHJhY3RCZW5jaCB7CiAjZWxzZQogICAgIG1heF92YWx1ZV8gPSAo
MSA8PCBiaXRfZGVwdGhfKSAtIDE7CiAjZW5kaWYKLQotICAgIG1iX3BsYW5lXyA9IHJlaW50ZXJw
cmV0X2Nhc3Q8bWFjcm9ibG9ja19wbGFuZSAqPigKLSAgICAgICAgdnB4X21lbWFsaWduKDE2LCBz
aXplb2YobWFjcm9ibG9ja19wbGFuZSkpKTsKLQotICAgIHpiaW5fcHRyXyA9IG1iX3BsYW5lXy0+
emJpbiA9CisgICAgemJpbl9wdHJfID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxpbnQxNl90
ICo+KHZweF9tZW1hbGlnbigxNiwgOCAqIHNpemVvZigqemJpbl9wdHJfKSkpOwotICAgIHJvdW5k
X2ZwX3B0cl8gPSBtYl9wbGFuZV8tPnJvdW5kX2ZwID0gcmVpbnRlcnByZXRfY2FzdDxpbnQxNl90
ICo+KAorICAgIHJvdW5kX2ZwX3B0cl8gPSByZWludGVycHJldF9jYXN0PGludDE2X3QgKj4oCiAg
ICAgICAgIHZweF9tZW1hbGlnbigxNiwgOCAqIHNpemVvZigqcm91bmRfZnBfcHRyXykpKTsKLSAg
ICBxdWFudF9mcF9wdHJfID0gbWJfcGxhbmVfLT5xdWFudF9mcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8
aW50MTZfdCAqPigKKyAgICBxdWFudF9mcF9wdHJfID0gcmVpbnRlcnByZXRfY2FzdDxpbnQxNl90
ICo+KAogICAgICAgICB2cHhfbWVtYWxpZ24oMTYsIDggKiBzaXplb2YoKnF1YW50X2ZwX3B0cl8p
KSk7Ci0gICAgcm91bmRfcHRyXyA9IG1iX3BsYW5lXy0+cm91bmQgPQorICAgIHJvdW5kX3B0cl8g
PQogICAgICAgICByZWludGVycHJldF9jYXN0PGludDE2X3QgKj4odnB4X21lbWFsaWduKDE2LCA4
ICogc2l6ZW9mKCpyb3VuZF9wdHJfKSkpOwotICAgIHF1YW50X3B0cl8gPSBtYl9wbGFuZV8tPnF1
YW50ID0KKyAgICBxdWFudF9wdHJfID0KICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxpbnQxNl90
ICo+KHZweF9tZW1hbGlnbigxNiwgOCAqIHNpemVvZigqcXVhbnRfcHRyXykpKTsKLSAgICBxdWFu
dF9zaGlmdF9wdHJfID0gbWJfcGxhbmVfLT5xdWFudF9zaGlmdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8
aW50MTZfdCAqPigKKyAgICBxdWFudF9zaGlmdF9wdHJfID0gcmVpbnRlcnByZXRfY2FzdDxpbnQx
Nl90ICo+KAogICAgICAgICB2cHhfbWVtYWxpZ24oMTYsIDggKiBzaXplb2YoKnF1YW50X3NoaWZ0
X3B0cl8pKSk7CiAgICAgZGVxdWFudF9wdHJfID0gcmVpbnRlcnByZXRfY2FzdDxpbnQxNl90ICo+
KAogICAgICAgICB2cHhfbWVtYWxpZ24oMTYsIDggKiBzaXplb2YoKmRlcXVhbnRfcHRyXykpKTsK
QEAgLTE1NCw4ICsxMDIsNyBAQCBjbGFzcyBWUDlRdWFudGl6ZUJhc2UgOiBwdWJsaWMgQWJzdHJh
Y3RCZW5jaCB7CiAgICAgcV9wdHJfID0gKGlzX2ZwXykgPyBxdWFudF9mcF9wdHJfIDogcXVhbnRf
cHRyXzsKICAgfQogCi0gIH5WUDlRdWFudGl6ZUJhc2UoKSBvdmVycmlkZSB7Ci0gICAgdnB4X2Zy
ZWUobWJfcGxhbmVfKTsKKyAgflZQOVF1YW50aXplQmFzZSgpIHsKICAgICB2cHhfZnJlZSh6Ymlu
X3B0cl8pOwogICAgIHZweF9mcmVlKHJvdW5kX2ZwX3B0cl8pOwogICAgIHZweF9mcmVlKHF1YW50
X2ZwX3B0cl8pOwpAQCAtMTYzLDcgKzExMCw2IEBAIGNsYXNzIFZQOVF1YW50aXplQmFzZSA6IHB1
YmxpYyBBYnN0cmFjdEJlbmNoIHsKICAgICB2cHhfZnJlZShxdWFudF9wdHJfKTsKICAgICB2cHhf
ZnJlZShxdWFudF9zaGlmdF9wdHJfKTsKICAgICB2cHhfZnJlZShkZXF1YW50X3B0cl8pOwotICAg
IG1iX3BsYW5lXyA9IG51bGxwdHI7CiAgICAgemJpbl9wdHJfID0gbnVsbHB0cjsKICAgICByb3Vu
ZF9mcF9wdHJfID0gbnVsbHB0cjsKICAgICBxdWFudF9mcF9wdHJfID0gbnVsbHB0cjsKQEAgLTE3
NSwxMCArMTIxLDkgQEAgY2xhc3MgVlA5UXVhbnRpemVCYXNlIDogcHVibGljIEFic3RyYWN0QmVu
Y2ggewogICB9CiAKICBwcm90ZWN0ZWQ6Ci0gIG1hY3JvYmxvY2tfcGxhbmUgKm1iX3BsYW5lXzsK
ICAgaW50MTZfdCAqemJpbl9wdHJfOwotICBpbnQxNl90ICpxdWFudF9mcF9wdHJfOwogICBpbnQx
Nl90ICpyb3VuZF9mcF9wdHJfOworICBpbnQxNl90ICpxdWFudF9mcF9wdHJfOwogICBpbnQxNl90
ICpyb3VuZF9wdHJfOwogICBpbnQxNl90ICpxdWFudF9wdHJfOwogICBpbnQxNl90ICpxdWFudF9z
aGlmdF9wdHJfOwpAQCAtMTkzLDcgKzEzOCw4IEBAIGNsYXNzIFZQOVF1YW50aXplQmFzZSA6IHB1
YmxpYyBBYnN0cmFjdEJlbmNoIHsKICAgaW50MTZfdCAqcl9wdHJfOwogICBpbnQxNl90ICpxX3B0
cl87CiAgIGludCBjb3VudF87Ci0gIGNvbnN0IFNjYW5PcmRlciAqc2Nhbl87CisgIGludCBza2lw
X2Jsb2NrXzsKKyAgY29uc3Qgc2Nhbl9vcmRlciAqc2Nhbl87CiAgIHVpbnQxNl90IGVvYl87CiB9
OwogCkBAIC0yMDUsMTI1ICsxNTEsMzIgQEAgY2xhc3MgVlA5UXVhbnRpemVUZXN0IDogcHVibGlj
IFZQOVF1YW50aXplQmFzZSwKICAgICAgICAgcXVhbnRpemVfb3BfKEdFVF9QQVJBTSgwKSksIHJl
Zl9xdWFudGl6ZV9vcF8oR0VUX1BBUkFNKDEpKSB7fQogCiAgcHJvdGVjdGVkOgotICB2b2lkIFJ1
bigpIG92ZXJyaWRlOwotICB2b2lkIFNwZWVkKGJvb2wgaXNfbWVkaWFuKTsKKyAgdmlydHVhbCB2
b2lkIFJ1bigpOwogICBjb25zdCBRdWFudGl6ZUZ1bmMgcXVhbnRpemVfb3BfOwogICBjb25zdCBR
dWFudGl6ZUZ1bmMgcmVmX3F1YW50aXplX29wXzsKIH07CiAKIHZvaWQgVlA5UXVhbnRpemVUZXN0
OjpSdW4oKSB7Ci0gIHF1YW50aXplX29wXyhjb2VmZl8uVG9wTGVmdFBpeGVsKCksIGNvdW50Xywg
bWJfcGxhbmVfLCBxY29lZmZfLlRvcExlZnRQaXhlbCgpLAotICAgICAgICAgICAgICAgZHFjb2Vm
Zl8uVG9wTGVmdFBpeGVsKCksIGRlcXVhbnRfcHRyXywgJmVvYl8sIHNjYW5fKTsKLX0KLQotdm9p
ZCBWUDlRdWFudGl6ZVRlc3Q6OlNwZWVkKGJvb2wgaXNfbWVkaWFuKSB7Ci0gIEFDTVJhbmRvbSBy
bmQoQUNNUmFuZG9tOjpEZXRlcm1pbmlzdGljU2VlZCgpKTsKLSAgQVNTRVJUX1RSVUUoY29lZmZf
LkluaXQoKSk7Ci0gIEFTU0VSVF9UUlVFKHFjb2VmZl8uSW5pdCgpKTsKLSAgQVNTRVJUX1RSVUUo
ZHFjb2VmZl8uSW5pdCgpKTsKLSAgVFhfU0laRSBzdGFydGluZ19zeiwgZW5kaW5nX3N6OwotCi0g
IGlmIChtYXhfc2l6ZV8gPT0gMTYpIHsKLSAgICBzdGFydGluZ19zeiA9IFRYXzRYNDsKLSAgICBl
bmRpbmdfc3ogPSBUWF8xNlgxNjsKLSAgfSBlbHNlIHsKLSAgICBzdGFydGluZ19zeiA9IFRYXzMy
WDMyOwotICAgIGVuZGluZ19zeiA9IFRYXzMyWDMyOwotICB9Ci0KLSAgZm9yIChUWF9TSVpFIHN6
ID0gc3RhcnRpbmdfc3o7IHN6IDw9IGVuZGluZ19zejsgKytzeikgewotICAgIC8vIHpiaW4gPiBj
b2VmZiwgemJpbiA8IGNvZWZmLgotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjsgKytpKSB7Ci0g
ICAgICAvLyBUWF9UWVBFIGRlZmluZXMgdGhlIHNjYW4gb3JkZXIuIFRoYXQgaXMgbm90IHJlbGV2
YW50IHRvIHRoZSBzcGVlZCB0ZXN0LgotICAgICAgLy8gUGljayB0aGUgZmlyc3Qgb25lLgotICAg
ICAgY29uc3QgVFhfVFlQRSB0eF90eXBlID0gRENUX0RDVDsKLSAgICAgIGNvdW50XyA9ICg0IDw8
IHN6KSAqICg0IDw8IHN6KTsKLSAgICAgIHNjYW5fID0gJnZwOV9zY2FuX29yZGVyc1tzel1bdHhf
dHlwZV07Ci0KLSAgICAgIEdlbmVyYXRlSGVscGVyQXJyYXlzKCZybmQsIHpiaW5fcHRyXywgcm91
bmRfcHRyXywgcXVhbnRfcHRyXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50X3No
aWZ0X3B0cl8sIGRlcXVhbnRfcHRyXywgcm91bmRfZnBfcHRyXywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHF1YW50X2ZwX3B0cl8pOwotCi0gICAgICBpZiAoaSA9PSAwKSB7Ci0gICAgICAg
IC8vIFdoZW4gfGNvZWZmIHZhbHVlc3wgYXJlIGxlc3MgdGhhbiB6YmluIHRoZSByZXN1bHRzIGFy
ZSAwLgotICAgICAgICBpbnQgdGhyZXNob2xkID0gMTAwOwotICAgICAgICBpZiAobWF4X3NpemVf
ID09IDMyKSB7Ci0gICAgICAgICAgLy8gRm9yIDMyeDMyLCB0aGUgdGhyZXNob2xkIGlzIGhhbHZl
ZC4gRG91YmxlIGl0IHRvIGtlZXAgdGhlIHZhbHVlcwotICAgICAgICAgIC8vIGZyb20gY2xlYXJp
bmcgaXQuCi0gICAgICAgICAgdGhyZXNob2xkID0gMjAwOwotICAgICAgICB9Ci0gICAgICAgIGZv
ciAoaW50IGogPSAwOyBqIDwgODsgKytqKSB6YmluX3B0cl9bal0gPSB0aHJlc2hvbGQ7Ci0gICAg
ICAgIGNvZWZmXy5TZXQoJnJuZCwgLTk5LCA5OSk7Ci0gICAgICB9IGVsc2UgaWYgKGkgPT0gMSkg
ewotICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDg7ICsraikgemJpbl9wdHJfW2pdID0gNTA7
Ci0gICAgICAgIGNvZWZmXy5TZXQoJnJuZCwgLTUwMCwgNTAwKTsKLSAgICAgIH0KLQotICAgICAg
Y29uc3QgY2hhciAqdHlwZSA9Ci0gICAgICAgICAgKGkgPT0gMCkgPyAiQnlwYXNzIGNhbGN1bGF0
aW9ucyAiIDogIkZ1bGwgY2FsY3VsYXRpb25zICI7Ci0gICAgICBjaGFyIGJsb2NrX3NpemVbMTZd
OwotICAgICAgc25wcmludGYoYmxvY2tfc2l6ZSwgc2l6ZW9mKGJsb2NrX3NpemUpLCAiJWR4JWQi
LCA0IDw8IHN6LCA0IDw8IHN6KTsKLSAgICAgIGNoYXIgdGl0bGVbMTAwXTsKLSAgICAgIHNucHJp
bnRmKHRpdGxlLCBzaXplb2YodGl0bGUpLCAiJTI1cyAlOHMgIiwgdHlwZSwgYmxvY2tfc2l6ZSk7
Ci0KLSAgICAgIGlmIChpc19tZWRpYW4pIHsKLSAgICAgICAgUnVuTlRpbWVzKDEwMDAwMDAwIC8g
Y291bnRfKTsKLSAgICAgICAgUHJpbnRNZWRpYW4odGl0bGUpOwotICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgQnVmZmVyPHRyYW5fbG93X3Q+IHJlZl9xY29lZmYgPQotICAgICAgICAgICAgQnVmZmVy
PHRyYW5fbG93X3Q+KG1heF9zaXplXywgbWF4X3NpemVfLCAwLCAzMik7Ci0gICAgICAgIEFTU0VS
VF9UUlVFKHJlZl9xY29lZmYuSW5pdCgpKTsKLSAgICAgICAgQnVmZmVyPHRyYW5fbG93X3Q+IHJl
Zl9kcWNvZWZmID0KLSAgICAgICAgICAgIEJ1ZmZlcjx0cmFuX2xvd190PihtYXhfc2l6ZV8sIG1h
eF9zaXplXywgMCwgMzIpOwotICAgICAgICBBU1NFUlRfVFJVRShyZWZfZHFjb2VmZi5Jbml0KCkp
OwotICAgICAgICB1aW50MTZfdCByZWZfZW9iID0gMDsKLQotICAgICAgICBjb25zdCBpbnQga051
bVRlc3RzID0gNTAwMDAwMDsKLSAgICAgICAgdnB4X3VzZWNfdGltZXIgdGltZXIsIHNpbWRfdGlt
ZXI7Ci0KLSAgICAgICAgdnB4X3VzZWNfdGltZXJfc3RhcnQoJnRpbWVyKTsKLSAgICAgICAgZm9y
IChpbnQgbiA9IDA7IG4gPCBrTnVtVGVzdHM7ICsrbikgewotICAgICAgICAgIHJlZl9xdWFudGl6
ZV9vcF8oY29lZmZfLlRvcExlZnRQaXhlbCgpLCBjb3VudF8sIG1iX3BsYW5lXywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZl9xY29lZmYuVG9wTGVmdFBpeGVsKCksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICByZWZfZHFjb2VmZi5Ub3BMZWZ0UGl4ZWwoKSwgZGVxdWFudF9wdHJf
LCAmcmVmX2VvYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYW5fKTsKLSAgICAgICAg
fQotICAgICAgICB2cHhfdXNlY190aW1lcl9tYXJrKCZ0aW1lcik7Ci0KLSAgICAgICAgdnB4X3Vz
ZWNfdGltZXJfc3RhcnQoJnNpbWRfdGltZXIpOwotICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8
IGtOdW1UZXN0czsgKytuKSB7Ci0gICAgICAgICAgcXVhbnRpemVfb3BfKGNvZWZmXy5Ub3BMZWZ0
UGl4ZWwoKSwgY291bnRfLCBtYl9wbGFuZV8sCi0gICAgICAgICAgICAgICAgICAgICAgIHFjb2Vm
Zl8uVG9wTGVmdFBpeGVsKCksIGRxY29lZmZfLlRvcExlZnRQaXhlbCgpLAotICAgICAgICAgICAg
ICAgICAgICAgICBkZXF1YW50X3B0cl8sICZlb2JfLCBzY2FuXyk7Ci0gICAgICAgIH0KLSAgICAg
ICAgdnB4X3VzZWNfdGltZXJfbWFyaygmc2ltZF90aW1lcik7Ci0KLSAgICAgICAgY29uc3QgaW50
IGVsYXBzZWRfdGltZSA9Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHZweF91c2VjX3Rp
bWVyX2VsYXBzZWQoJnRpbWVyKSk7Ci0gICAgICAgIGNvbnN0IGludCBzaW1kX2VsYXBzZWRfdGlt
ZSA9Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHZweF91c2VjX3RpbWVyX2VsYXBzZWQo
JnNpbWRfdGltZXIpKTsKLSAgICAgICAgcHJpbnRmKCIlcyBjX3RpbWUgPSAlZCBcdCBzaW1kX3Rp
bWUgPSAlZCBcdCBHYWluID0gJWYgXG4iLCB0aXRsZSwKLSAgICAgICAgICAgICAgIGVsYXBzZWRf
dGltZSwgc2ltZF9lbGFwc2VkX3RpbWUsCi0gICAgICAgICAgICAgICAoKGZsb2F0KWVsYXBzZWRf
dGltZSAvIHNpbWRfZWxhcHNlZF90aW1lKSk7Ci0gICAgICB9Ci0gICAgfQotICB9CisgIHF1YW50
aXplX29wXyhjb2VmZl8uVG9wTGVmdFBpeGVsKCksIGNvdW50Xywgc2tpcF9ibG9ja18sIHpiaW5f
cHRyXywgcl9wdHJfLAorICAgICAgICAgICAgICAgcV9wdHJfLCBxdWFudF9zaGlmdF9wdHJfLCBx
Y29lZmZfLlRvcExlZnRQaXhlbCgpLAorICAgICAgICAgICAgICAgZHFjb2VmZl8uVG9wTGVmdFBp
eGVsKCksIGRlcXVhbnRfcHRyXywgJmVvYl8sIHNjYW5fLT5zY2FuLAorICAgICAgICAgICAgICAg
c2Nhbl8tPmlzY2FuKTsKIH0KIAogLy8gVGhpcyBxdWFudGl6ZXIgY29tcGFyZXMgdGhlIEFDIGNv
ZWZmaWNpZW50cyB0byB0aGUgcXVhbnRpemF0aW9uIHN0ZXAgc2l6ZSB0bwogLy8gZGV0ZXJtaW5l
IGlmIGZ1cnRoZXIgbXVsdGlwbGljYXRpb24gb3BlcmF0aW9ucyBhcmUgbmVlZGVkLgogLy8gQmFz
ZWQgb24gdnA5X3F1YW50aXplX2ZwX3NzZTIoKS4KIGlubGluZSB2b2lkIHF1YW50X2ZwX256KGNv
bnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxh
bmUsCi0gICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFu
X2xvd190ICpkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgaXNfMzJ4MzIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgY29uc3Qg
aW50MTZfdCAqZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAq
ZW9iX3B0ciwgY29uc3QgaW50MTZfdCAqc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QgKmlzY2FuLCBpbnQgaXNfMzJ4MzIpIHsKICAgaW50IGksIGVvYiA9IC0xOwog
ICBjb25zdCBpbnQgdGhyID0gZGVxdWFudF9wdHJbMV0gPj4gKDEgKyBpc18zMngzMik7Ci0gIGNv
bnN0IGludDE2X3QgKnJvdW5kX3B0ciA9IG1iX3BsYW5lLT5yb3VuZF9mcDsKLSAgY29uc3QgaW50
MTZfdCAqcXVhbnRfcHRyID0gbWJfcGxhbmUtPnF1YW50X2ZwOwotICBjb25zdCBpbnQxNl90ICpz
Y2FuID0gc2Nhbl9vcmRlci0+c2NhbjsKKyAgKHZvaWQpaXNjYW47CisgICh2b2lkKXNraXBfYmxv
Y2s7CisgIGFzc2VydCghc2tpcF9ibG9jayk7CiAKICAgLy8gUXVhbnRpemF0aW9uIHBhc3M6IEFs
bCBjb2VmZmljaWVudHMgd2l0aCBpbmRleCA+PSB6ZXJvX2ZsYWcgYXJlCiAgIC8vIHNraXBwYWJs
ZS4gTm90ZTogemVyb19mbGFnIGNhbiBiZSB6ZXJvLgpAQCAtMzkwLDIxICsyNDMsNjIgQEAgaW5s
aW5lIHZvaWQgcXVhbnRfZnBfbnooY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJf
dCBuX2NvZWZmcywKIH0KIAogdm9pZCBxdWFudGl6ZV9mcF9uel9jKGNvbnN0IHRyYW5fbG93X3Qg
KmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKm1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAg
ICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAq
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpj
b25zdCBzY2FuX29yZGVyKSB7Ci0gIHF1YW50X2ZwX256KGNvZWZmX3B0ciwgbl9jb2VmZnMsIG1i
X3BsYW5lLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgZGVxdWFudF9w
dHIsIGVvYl9wdHIsIHNjYW5fb3JkZXIsIDApOworICAgICAgICAgICAgICAgICAgICAgIGludCBz
a2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCAqcXVhbnRfcHRyLCB0cmFuX2xvd190ICpxY29lZmZfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90
ICpkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqZW9iX3B0ciwg
Y29uc3QgaW50MTZfdCAqc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
ICppc2NhbikgeworICBxdWFudF9mcF9ueihjb2VmZl9wdHIsIG5fY29lZmZzLCBza2lwX2Jsb2Nr
LCByb3VuZF9wdHIsIHF1YW50X3B0ciwgcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgZHFjb2Vm
Zl9wdHIsIGRlcXVhbnRfcHRyLCBlb2JfcHRyLCBzY2FuLCBpc2NhbiwgMCk7CiB9CiAKIHZvaWQg
cXVhbnRpemVfZnBfMzJ4MzJfbnpfYyhjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0
cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lICptYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3Qg
KmVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5P
cmRlciAqY29uc3Qgc2Nhbl9vcmRlcikgewotICBxdWFudF9mcF9ueihjb2VmZl9wdHIsIG5fY29l
ZmZzLCBtYl9wbGFuZSwgcWNvZWZmX3B0ciwgZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgIGRl
cXVhbnRfcHRyLCBlb2JfcHRyLCBzY2FuX29yZGVyLCAxKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnF1YW50X3B0ciwgdHJhbl9sb3df
dCAqcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpk
cWNvZWZmX3B0ciwgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqaXNjYW4pIHsKKyAgcXVhbnRf
ZnBfbnooY29lZmZfcHRyLCBuX2NvZWZmcywgc2tpcF9ibG9jaywgcm91bmRfcHRyLCBxdWFudF9w
dHIsIHFjb2VmZl9wdHIsCisgICAgICAgICAgICAgIGRxY29lZmZfcHRyLCBkZXF1YW50X3B0ciwg
ZW9iX3B0ciwgc2NhbiwgaXNjYW4sIDEpOworfQorCit2b2lkIEdlbmVyYXRlSGVscGVyQXJyYXlz
KEFDTVJhbmRvbSAqcm5kLCBpbnQxNl90ICp6YmluLCBpbnQxNl90ICpyb3VuZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50MTZfdCAqcXVhbnQsIGludDE2X3QgKnF1YW50X3NoaWZ0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90ICpkZXF1YW50LCBpbnQxNl90ICpyb3Vu
ZF9mcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCAqcXVhbnRfZnApIHsKKyAg
Ly8gTWF4IHdoZW4gcSA9PSAwLiAgT3RoZXJ3aXNlLCBpdCBpcyA0OCBmb3IgWSBhbmQgNDIgZm9y
IFUvVi4KKyAgY29uc3QgaW50IG1heF9xcm91bmRpbmdfZmFjdG9yX2ZwID0gNjQ7CisKKyAgZm9y
IChpbnQgaiA9IDA7IGogPCAyOyBqKyspIHsKKyAgICAvLyBUaGUgcmFuZ2UgaXMgNCB0byAxODI4
IGluIHRoZSBWUDkgdGFibGVzLgorICAgIGNvbnN0IGludCBxbG9va3VwID0gcm5kLT5SYW5kUmFu
Z2UoMTgyNSkgKyA0OworICAgIHJvdW5kX2ZwW2pdID0gKG1heF9xcm91bmRpbmdfZmFjdG9yX2Zw
ICogcWxvb2t1cCkgPj4gNzsKKyAgICBxdWFudF9mcFtqXSA9ICgxIDw8IDE2KSAvIHFsb29rdXA7
CisKKyAgICAvLyBWYWx1ZXMgZGV0ZXJtaW5lZCBieSBkZWNvbnN0cnVjdGluZyB2cDlfaW5pdF9x
dWFudGl6ZXIoKS4KKyAgICAvLyB6YmluIG1heSBiZSB1cCB0byAxMTQzIGZvciA4IGFuZCAxMCBi
aXQgWSB2YWx1ZXMsIG9yIDEyMDAgZm9yIDEyIGJpdCBZCisgICAgLy8gdmFsdWVzIG9yIFUvViB2
YWx1ZXMgb2YgYW55IGJpdCBkZXB0aC4gVGhpcyBpcyBiZWNhdXNlIHlfZGVsdGEgaXMgbm90Cisg
ICAgLy8gZmFjdG9yZWQgaW50byB0aGUgdnA5X2FjX3F1YW50KCkgY2FsbC4KKyAgICB6YmluW2pd
ID0gcm5kLT5SYW5kUmFuZ2UoMTIwMCk7CisKKyAgICAvLyByb3VuZCBtYXkgYmUgdXAgdG8gNjg1
IGZvciBZIHZhbHVlcyBvciA5MTQgZm9yIFUvVi4KKyAgICByb3VuZFtqXSA9IHJuZC0+UmFuZFJh
bmdlKDkxNCk7CisgICAgLy8gcXVhbnQgcmFuZ2VzIGZyb20gMSB0byAtMzI3MDMKKyAgICBxdWFu
dFtqXSA9IHN0YXRpY19jYXN0PGludD4ocm5kLT5SYW5kUmFuZ2UoMzI3MDQpKSAtIDMyNzAzOwor
ICAgIC8vIHF1YW50X3NoaWZ0IGdvZXMgdXAgdG8gMSA8PCAxNi4KKyAgICBxdWFudF9zaGlmdFtq
XSA9IHJuZC0+UmFuZFJhbmdlKDE2Mzg0KTsKKyAgICAvLyBkZXF1YW50IG1heGVzIG91dCBhdCAx
ODI4IGZvciBhbGwgY2FzZXMuCisgICAgZGVxdWFudFtqXSA9IHJuZC0+UmFuZFJhbmdlKDE4Mjgp
OworICB9CisgIGZvciAoaW50IGogPSAyOyBqIDwgODsgaisrKSB7CisgICAgemJpbltqXSA9IHpi
aW5bMV07CisgICAgcm91bmRfZnBbal0gPSByb3VuZF9mcFsxXTsKKyAgICBxdWFudF9mcFtqXSA9
IHF1YW50X2ZwWzFdOworICAgIHJvdW5kW2pdID0gcm91bmRbMV07CisgICAgcXVhbnRbal0gPSBx
dWFudFsxXTsKKyAgICBxdWFudF9zaGlmdFtqXSA9IHF1YW50X3NoaWZ0WzFdOworICAgIGRlcXVh
bnRbal0gPSBkZXF1YW50WzFdOworICB9CiB9CiAKIFRFU1RfUChWUDlRdWFudGl6ZVRlc3QsIE9w
ZXJhdGlvbkNoZWNrKSB7CkBAIC00MjIsNiArMzE2LDkgQEAgVEVTVF9QKFZQOVF1YW50aXplVGVz
dCwgT3BlcmF0aW9uQ2hlY2spIHsKICAgZW9iXyA9IDA7CiAKICAgZm9yIChpbnQgaSA9IDA7IGkg
PCBudW1iZXJfb2ZfaXRlcmF0aW9uczsgKytpKSB7CisgICAgLy8gVGVzdCBza2lwIGJsb2NrIGZv
ciB0aGUgZmlyc3QgdGhyZWUgaXRlcmF0aW9ucyB0byBjYXRjaCBhbGwgdGhlIGRpZmZlcmVudAor
ICAgIC8vIHNpemVzLgorICAgIGNvbnN0IGludCBza2lwX2Jsb2NrID0gMDsKICAgICBUWF9TSVpF
IHN6OwogICAgIGlmIChtYXhfc2l6ZV8gPT0gMTYpIHsKICAgICAgIHN6ID0gc3RhdGljX2Nhc3Q8
VFhfU0laRT4oaSAlIDMpOyAgLy8gVFhfNFg0LCBUWF84WDggVFhfMTZYMTYKQEAgLTQzNSwxMyAr
MzMyLDE1IEBAIFRFU1RfUChWUDlRdWFudGl6ZVRlc3QsIE9wZXJhdGlvbkNoZWNrKSB7CiAgICAg
R2VuZXJhdGVIZWxwZXJBcnJheXMoJnJuZCwgemJpbl9wdHJfLCByb3VuZF9wdHJfLCBxdWFudF9w
dHJfLAogICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50X3NoaWZ0X3B0cl8sIGRlcXVhbnRf
cHRyXywgcm91bmRfZnBfcHRyXywKICAgICAgICAgICAgICAgICAgICAgICAgICBxdWFudF9mcF9w
dHJfKTsKLSAgICByZWZfcXVhbnRpemVfb3BfKGNvZWZmXy5Ub3BMZWZ0UGl4ZWwoKSwgY291bnRf
LCBtYl9wbGFuZV8sCisgICAgcmVmX3F1YW50aXplX29wXyhjb2VmZl8uVG9wTGVmdFBpeGVsKCks
IGNvdW50Xywgc2tpcF9ibG9jaywgemJpbl9wdHJfLAorICAgICAgICAgICAgICAgICAgICAgcl9w
dHJfLCBxX3B0cl8sIHF1YW50X3NoaWZ0X3B0cl8sCiAgICAgICAgICAgICAgICAgICAgICByZWZf
cWNvZWZmLlRvcExlZnRQaXhlbCgpLCByZWZfZHFjb2VmZi5Ub3BMZWZ0UGl4ZWwoKSwKLSAgICAg
ICAgICAgICAgICAgICAgIGRlcXVhbnRfcHRyXywgJnJlZl9lb2IsIHNjYW5fKTsKKyAgICAgICAg
ICAgICAgICAgICAgIGRlcXVhbnRfcHRyXywgJnJlZl9lb2IsIHNjYW5fLT5zY2FuLCBzY2FuXy0+
aXNjYW4pOwogCiAgICAgQVNNX1JFR0lTVEVSX1NUQVRFX0NIRUNLKHF1YW50aXplX29wXygKLSAg
ICAgICAgY29lZmZfLlRvcExlZnRQaXhlbCgpLCBjb3VudF8sIG1iX3BsYW5lXywgcWNvZWZmXy5U
b3BMZWZ0UGl4ZWwoKSwKLSAgICAgICAgZHFjb2VmZl8uVG9wTGVmdFBpeGVsKCksIGRlcXVhbnRf
cHRyXywgJmVvYl8sIHNjYW5fKSk7CisgICAgICAgIGNvZWZmXy5Ub3BMZWZ0UGl4ZWwoKSwgY291
bnRfLCBza2lwX2Jsb2NrLCB6YmluX3B0cl8sIHJfcHRyXywgcV9wdHJfLAorICAgICAgICBxdWFu
dF9zaGlmdF9wdHJfLCBxY29lZmZfLlRvcExlZnRQaXhlbCgpLCBkcWNvZWZmXy5Ub3BMZWZ0UGl4
ZWwoKSwKKyAgICAgICAgZGVxdWFudF9wdHJfLCAmZW9iXywgc2Nhbl8tPnNjYW4sIHNjYW5fLT5p
c2NhbikpOwogCiAgICAgRVhQRUNUX1RSVUUocWNvZWZmXy5DaGVja1ZhbHVlcyhyZWZfcWNvZWZm
KSk7CiAgICAgRVhQRUNUX1RSVUUoZHFjb2VmZl8uQ2hlY2tWYWx1ZXMocmVmX2RxY29lZmYpKTsK
QEAgLTQ3Myw2ICszNzIsNyBAQCBURVNUX1AoVlA5UXVhbnRpemVUZXN0LCBFT0JDaGVjaykgewog
ICBjb25zdCB1aW50MzJfdCBtYXhfaW5kZXggPSBtYXhfc2l6ZV8gKiBtYXhfc2l6ZV8gLSAxOwog
CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtYmVyX29mX2l0ZXJhdGlvbnM7ICsraSkgeworICAg
IHNraXBfYmxvY2tfID0gMDsKICAgICBUWF9TSVpFIHN6OwogICAgIGlmIChtYXhfc2l6ZV8gPT0g
MTYpIHsKICAgICAgIHN6ID0gc3RhdGljX2Nhc3Q8VFhfU0laRT4oaSAlIDMpOyAgLy8gVFhfNFg0
LCBUWF84WDggVFhfMTZYMTYKQEAgLTQ5MSwxMyArMzkxLDE1IEBAIFRFU1RfUChWUDlRdWFudGl6
ZVRlc3QsIEVPQkNoZWNrKSB7CiAgICAgR2VuZXJhdGVIZWxwZXJBcnJheXMoJnJuZCwgemJpbl9w
dHJfLCByb3VuZF9wdHJfLCBxdWFudF9wdHJfLAogICAgICAgICAgICAgICAgICAgICAgICAgIHF1
YW50X3NoaWZ0X3B0cl8sIGRlcXVhbnRfcHRyXywgcm91bmRfZnBfcHRyXywKICAgICAgICAgICAg
ICAgICAgICAgICAgICBxdWFudF9mcF9wdHJfKTsKLSAgICByZWZfcXVhbnRpemVfb3BfKGNvZWZm
Xy5Ub3BMZWZ0UGl4ZWwoKSwgY291bnRfLCBtYl9wbGFuZV8sCisgICAgcmVmX3F1YW50aXplX29w
Xyhjb2VmZl8uVG9wTGVmdFBpeGVsKCksIGNvdW50Xywgc2tpcF9ibG9ja18sIHpiaW5fcHRyXywK
KyAgICAgICAgICAgICAgICAgICAgIHJfcHRyXywgcV9wdHJfLCBxdWFudF9zaGlmdF9wdHJfLAog
ICAgICAgICAgICAgICAgICAgICAgcmVmX3Fjb2VmZi5Ub3BMZWZ0UGl4ZWwoKSwgcmVmX2RxY29l
ZmYuVG9wTGVmdFBpeGVsKCksCi0gICAgICAgICAgICAgICAgICAgICBkZXF1YW50X3B0cl8sICZy
ZWZfZW9iLCBzY2FuXyk7CisgICAgICAgICAgICAgICAgICAgICBkZXF1YW50X3B0cl8sICZyZWZf
ZW9iLCBzY2FuXy0+c2Nhbiwgc2Nhbl8tPmlzY2FuKTsKIAogICAgIEFTTV9SRUdJU1RFUl9TVEFU
RV9DSEVDSyhxdWFudGl6ZV9vcF8oCi0gICAgICAgIGNvZWZmXy5Ub3BMZWZ0UGl4ZWwoKSwgY291
bnRfLCBtYl9wbGFuZV8sIHFjb2VmZl8uVG9wTGVmdFBpeGVsKCksCi0gICAgICAgIGRxY29lZmZf
LlRvcExlZnRQaXhlbCgpLCBkZXF1YW50X3B0cl8sICZlb2JfLCBzY2FuXykpOworICAgICAgICBj
b2VmZl8uVG9wTGVmdFBpeGVsKCksIGNvdW50Xywgc2tpcF9ibG9ja18sIHpiaW5fcHRyXywgcl9w
dHJfLCBxX3B0cl8sCisgICAgICAgIHF1YW50X3NoaWZ0X3B0cl8sIHFjb2VmZl8uVG9wTGVmdFBp
eGVsKCksIGRxY29lZmZfLlRvcExlZnRQaXhlbCgpLAorICAgICAgICBkZXF1YW50X3B0cl8sICZl
b2JfLCBzY2FuXy0+c2Nhbiwgc2Nhbl8tPmlzY2FuKSk7CiAKICAgICBFWFBFQ1RfVFJVRShxY29l
ZmZfLkNoZWNrVmFsdWVzKHJlZl9xY29lZmYpKTsKICAgICBFWFBFQ1RfVFJVRShkcWNvZWZmXy5D
aGVja1ZhbHVlcyhyZWZfZHFjb2VmZikpOwpAQCAtNTEzLDkgKzQxNSw2MSBAQCBURVNUX1AoVlA5
UXVhbnRpemVUZXN0LCBFT0JDaGVjaykgewogICB9CiB9CiAKLVRFU1RfUChWUDlRdWFudGl6ZVRl
c3QsIERJU0FCTEVEX1NwZWVkKSB7IFNwZWVkKGZhbHNlKTsgfQorVEVTVF9QKFZQOVF1YW50aXpl
VGVzdCwgRElTQUJMRURfU3BlZWQpIHsKKyAgQUNNUmFuZG9tIHJuZChBQ01SYW5kb206OkRldGVy
bWluaXN0aWNTZWVkKCkpOworICBBU1NFUlRfVFJVRShjb2VmZl8uSW5pdCgpKTsKKyAgQVNTRVJU
X1RSVUUocWNvZWZmXy5Jbml0KCkpOworICBBU1NFUlRfVFJVRShkcWNvZWZmXy5Jbml0KCkpOwor
ICBUWF9TSVpFIHN0YXJ0aW5nX3N6LCBlbmRpbmdfc3o7CiAKLVRFU1RfUChWUDlRdWFudGl6ZVRl
c3QsIERJU0FCTEVEX1NwZWVkTWVkaWFuKSB7IFNwZWVkKHRydWUpOyB9CisgIGlmIChtYXhfc2l6
ZV8gPT0gMTYpIHsKKyAgICBzdGFydGluZ19zeiA9IFRYXzRYNDsKKyAgICBlbmRpbmdfc3ogPSBU
WF8xNlgxNjsKKyAgfSBlbHNlIHsKKyAgICBzdGFydGluZ19zeiA9IFRYXzMyWDMyOworICAgIGVu
ZGluZ19zeiA9IFRYXzMyWDMyOworICB9CisKKyAgZm9yIChUWF9TSVpFIHN6ID0gc3RhcnRpbmdf
c3o7IHN6IDw9IGVuZGluZ19zejsgKytzeikgeworICAgIC8vIHpiaW4gPiBjb2VmZiwgemJpbiA8
IGNvZWZmLgorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjsgKytpKSB7CisgICAgICBza2lwX2Js
b2NrXyA9IDA7CisgICAgICAvLyBUWF9UWVBFIGRlZmluZXMgdGhlIHNjYW4gb3JkZXIuIFRoYXQg
aXMgbm90IHJlbGV2YW50IHRvIHRoZSBzcGVlZCB0ZXN0LgorICAgICAgLy8gUGljayB0aGUgZmly
c3Qgb25lLgorICAgICAgY29uc3QgVFhfVFlQRSB0eF90eXBlID0gRENUX0RDVDsKKyAgICAgIGNv
dW50XyA9ICg0IDw8IHN6KSAqICg0IDw8IHN6KTsKKyAgICAgIHNjYW5fID0gJnZwOV9zY2FuX29y
ZGVyc1tzel1bdHhfdHlwZV07CisKKyAgICAgIEdlbmVyYXRlSGVscGVyQXJyYXlzKCZybmQsIHpi
aW5fcHRyXywgcm91bmRfcHRyXywgcXVhbnRfcHRyXywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHF1YW50X3NoaWZ0X3B0cl8sIGRlcXVhbnRfcHRyXywgcm91bmRfZnBfcHRyXywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHF1YW50X2ZwX3B0cl8pOworCisgICAgICBpZiAoaSA9PSAw
KSB7CisgICAgICAgIC8vIFdoZW4gfGNvZWZmIHZhbHVlc3wgYXJlIGxlc3MgdGhhbiB6YmluIHRo
ZSByZXN1bHRzIGFyZSAwLgorICAgICAgICBpbnQgdGhyZXNob2xkID0gMTAwOworICAgICAgICBp
ZiAobWF4X3NpemVfID09IDMyKSB7CisgICAgICAgICAgLy8gRm9yIDMyeDMyLCB0aGUgdGhyZXNo
b2xkIGlzIGhhbHZlZC4gRG91YmxlIGl0IHRvIGtlZXAgdGhlIHZhbHVlcworICAgICAgICAgIC8v
IGZyb20gY2xlYXJpbmcgaXQuCisgICAgICAgICAgdGhyZXNob2xkID0gMjAwOworICAgICAgICB9
CisgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgODsgKytqKSB6YmluX3B0cl9bal0gPSB0aHJl
c2hvbGQ7CisgICAgICAgIGNvZWZmXy5TZXQoJnJuZCwgLTk5LCA5OSk7CisgICAgICB9IGVsc2Ug
aWYgKGkgPT0gMSkgeworICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDg7ICsraikgemJpbl9w
dHJfW2pdID0gNTA7CisgICAgICAgIGNvZWZmXy5TZXQoJnJuZCwgLTUwMCwgNTAwKTsKKyAgICAg
IH0KKworICAgICAgUnVuTlRpbWVzKDEwMDAwMDAwIC8gY291bnRfKTsKKyAgICAgIGNvbnN0IGNo
YXIgKnR5cGUgPQorICAgICAgICAgIChpID09IDApID8gIkJ5cGFzcyBjYWxjdWxhdGlvbnMgIiA6
ICJGdWxsIGNhbGN1bGF0aW9ucyAiOworICAgICAgY2hhciBibG9ja19zaXplWzE2XTsKKyAgICAg
IHNucHJpbnRmKGJsb2NrX3NpemUsIHNpemVvZihibG9ja19zaXplKSwgIiVkeCVkIiwgNCA8PCBz
eiwgNCA8PCBzeik7CisgICAgICBjaGFyIHRpdGxlWzEwMF07CisgICAgICBzbnByaW50Zih0aXRs
ZSwgc2l6ZW9mKHRpdGxlKSwgIiUyNXMgJThzICIsIHR5cGUsIGJsb2NrX3NpemUpOworICAgICAg
UHJpbnRNZWRpYW4odGl0bGUpOworICAgIH0KKyAgfQorfQogCiB1c2luZyBzdGQ6Om1ha2VfdHVw
bGU7CiAKQEAgLTUyNCwzMCArNDc4LDI1IEBAIHVzaW5nIHN0ZDo6bWFrZV90dXBsZTsKIElOU1RB
TlRJQVRFX1RFU1RfU1VJVEVfUCgKICAgICBTU0UyLCBWUDlRdWFudGl6ZVRlc3QsCiAgICAgOjp0
ZXN0aW5nOjpWYWx1ZXMoCi0gICAgICAgIG1ha2VfdHVwbGUodnB4X3F1YW50aXplX2Jfc3NlMiwg
dnB4X3F1YW50aXplX2JfYywgVlBYX0JJVFNfOCwgMTYsCisgICAgICAgIG1ha2VfdHVwbGUoJnZw
eF9xdWFudGl6ZV9iX3NzZTIsICZ2cHhfcXVhbnRpemVfYl9jLCBWUFhfQklUU184LCAxNiwKICAg
ICAgICAgICAgICAgICAgICBmYWxzZSksCi0gICAgICAgIG1ha2VfdHVwbGUoJlF1YW50RlBXcmFw
cGVyPHZwOV9xdWFudGl6ZV9mcF9zc2UyPiwKLSAgICAgICAgICAgICAgICAgICAmUXVhbnRGUFdy
YXBwZXI8cXVhbnRpemVfZnBfbnpfYz4sIFZQWF9CSVRTXzgsIDE2LCB0cnVlKSwKLSAgICAgICAg
bWFrZV90dXBsZSh2cHhfaGlnaGJkX3F1YW50aXplX2Jfc3NlMiwgdnB4X2hpZ2hiZF9xdWFudGl6
ZV9iX2MsCisgICAgICAgIG1ha2VfdHVwbGUoJnZweF9oaWdoYmRfcXVhbnRpemVfYl9zc2UyLCAm
dnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MsCiAgICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwg
MTYsIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBsZSh2cHhfaGlnaGJkX3F1YW50aXplX2Jfc3Nl
MiwgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MsCisgICAgICAgIG1ha2VfdHVwbGUoJnZweF9oaWdo
YmRfcXVhbnRpemVfYl9zc2UyLCAmdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MsCiAgICAgICAgICAg
ICAgICAgICAgVlBYX0JJVFNfMTAsIDE2LCBmYWxzZSksCi0gICAgICAgIG1ha2VfdHVwbGUodnB4
X2hpZ2hiZF9xdWFudGl6ZV9iX3NzZTIsIHZweF9oaWdoYmRfcXVhbnRpemVfYl9jLAorICAgICAg
ICBtYWtlX3R1cGxlKCZ2cHhfaGlnaGJkX3F1YW50aXplX2Jfc3NlMiwgJnZweF9oaWdoYmRfcXVh
bnRpemVfYl9jLAogICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzEyLCAxNiwgZmFsc2UpLAot
ICAgICAgICBtYWtlX3R1cGxlKCZRdWFudDMyeDMyV3JhcHBlcjx2cHhfaGlnaGJkX3F1YW50aXpl
X2JfMzJ4MzJfc3NlMj4sCi0gICAgICAgICAgICAgICAgICAgJlF1YW50MzJ4MzJXcmFwcGVyPHZw
eF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jPiwKLSAgICAgICAgICAgICAgICAgICBWUFhfQklU
U184LCAzMiwgZmFsc2UpLAotICAgICAgICBtYWtlX3R1cGxlKCZRdWFudDMyeDMyV3JhcHBlcjx2
cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMj4sCi0gICAgICAgICAgICAgICAgICAgJlF1
YW50MzJ4MzJXcmFwcGVyPHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jPiwKLSAgICAgICAg
ICAgICAgICAgICBWUFhfQklUU18xMCwgMzIsIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBsZSgm
UXVhbnQzMngzMldyYXBwZXI8dnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX3NzZTI+LAotICAg
ICAgICAgICAgICAgICAgICZRdWFudDMyeDMyV3JhcHBlcjx2cHhfaGlnaGJkX3F1YW50aXplX2Jf
MzJ4MzJfYz4sCi0gICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfMTIsIDMyLCBmYWxzZSkpKTsK
KyAgICAgICAgbWFrZV90dXBsZSgmdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX3NzZTIsCisg
ICAgICAgICAgICAgICAgICAgJnZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9jLCBWUFhfQklU
U184LCAzMiwgZmFsc2UpLAorICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfaGlnaGJkX3F1YW50aXpl
X2JfMzJ4MzJfc3NlMiwKKyAgICAgICAgICAgICAgICAgICAmdnB4X2hpZ2hiZF9xdWFudGl6ZV9i
XzMyeDMyX2MsIFZQWF9CSVRTXzEwLCAzMiwgZmFsc2UpLAorICAgICAgICBtYWtlX3R1cGxlKCZ2
cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfc3NlMiwKKyAgICAgICAgICAgICAgICAgICAmdnB4
X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2MsIFZQWF9CSVRTXzEyLCAzMiwgZmFsc2UpKSk7CiAK
ICNlbHNlCiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgU1NFMiwgVlA5UXVhbnRpemVU
ZXN0LAotICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUodnB4X3F1YW50aXplX2Jfc3Nl
MiwgdnB4X3F1YW50aXplX2JfYywKKyAgICA6OnRlc3Rpbmc6OlZhbHVlcyhtYWtlX3R1cGxlKCZ2
cHhfcXVhbnRpemVfYl9zc2UyLCAmdnB4X3F1YW50aXplX2JfYywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZQWF9CSVRTXzgsIDE2LCBmYWxzZSksCiAgICAgICAgICAgICAgICAg
ICAgICAgbWFrZV90dXBsZSgmUXVhbnRGUFdyYXBwZXI8dnA5X3F1YW50aXplX2ZwX3NzZTI+LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlF1YW50RlBXcmFwcGVyPHF1YW50aXpl
X2ZwX256X2M+LCBWUFhfQklUU184LApAQCAtNTU2LDEyNiArNTA1LDY0IEBAIElOU1RBTlRJQVRF
X1RFU1RfU1VJVEVfUCgKICNlbmRpZiAgLy8gSEFWRV9TU0UyCiAKICNpZiBIQVZFX1NTU0UzCisj
aWYgVlBYX0FSQ0hfWDg2XzY0CiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgU1NTRTMs
IFZQOVF1YW50aXplVGVzdCwKLSAgICA6OnRlc3Rpbmc6OlZhbHVlcyhtYWtlX3R1cGxlKHZweF9x
dWFudGl6ZV9iX3Nzc2UzLCB2cHhfcXVhbnRpemVfYl9jLAorICAgIDo6dGVzdGluZzo6VmFsdWVz
KG1ha2VfdHVwbGUoJnZweF9xdWFudGl6ZV9iX3Nzc2UzLCAmdnB4X3F1YW50aXplX2JfYywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzgsIDE2LCBmYWxzZSksCi0g
ICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSgmUXVhbnQzMngzMldyYXBwZXI8dnB4X3F1
YW50aXplX2JfMzJ4MzJfc3NzZTM+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JlF1YW50MzJ4MzJXcmFwcGVyPHZweF9xdWFudGl6ZV9iXzMyeDMyX2M+LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwgMzIsIGZhbHNlKSwKKyAgICAgICAgICAg
ICAgICAgICAgICBtYWtlX3R1cGxlKCZ2cHhfcXVhbnRpemVfYl8zMngzMl9zc3NlMywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfcXVhbnRpemVfYl8zMngzMl9jLCBWUFhf
QklUU184LCAzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKSwKICAg
ICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZRdWFudEZQV3JhcHBlcjx2cDlfcXVhbnRp
emVfZnBfc3NzZTM+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlF1YW50RlBX
cmFwcGVyPHF1YW50aXplX2ZwX256X2M+LCBWUFhfQklUU184LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMTYsIHRydWUpLAogICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVw
bGUoJlF1YW50RlBXcmFwcGVyPHZwOV9xdWFudGl6ZV9mcF8zMngzMl9zc3NlMz4sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmUXVhbnRGUFdyYXBwZXI8cXVhbnRpemVfZnBfMzJ4
MzJfbnpfYz4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhfQklUU184LCAz
MiwgdHJ1ZSkpKTsKKyNlbHNlCitJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCisgICAgU1NTRTMs
IFZQOVF1YW50aXplVGVzdCwKKyAgICA6OnRlc3Rpbmc6OlZhbHVlcyhtYWtlX3R1cGxlKCZ2cHhf
cXVhbnRpemVfYl9zc3NlMywgJnZweF9xdWFudGl6ZV9iX2MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBWUFhfQklUU184LCAxNiwgZmFsc2UpLAorICAgICAgICAgICAgICAgICAg
ICAgIG1ha2VfdHVwbGUoJnZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2UzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJnZweF9xdWFudGl6ZV9iXzMyeDMyX2MsIFZQWF9CSVRTXzgs
IDMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UpKSk7CisKKyNlbmRp
ZiAgLy8gVlBYX0FSQ0hfWDg2XzY0CiAjZW5kaWYgIC8vIEhBVkVfU1NTRTMKIAogI2lmIEhBVkVf
QVZYCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCi0gICAgQVZYLCBWUDlRdWFudGl6ZVRlc3Qs
Ci0gICAgOjp0ZXN0aW5nOjpWYWx1ZXMobWFrZV90dXBsZSh2cHhfcXVhbnRpemVfYl9hdngsIHZw
eF9xdWFudGl6ZV9iX2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhfQklU
U184LCAxNiwgZmFsc2UpLAotICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoJlF1YW50
MzJ4MzJXcmFwcGVyPHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eD4sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmUXVhbnQzMngzMldyYXBwZXI8dnB4X3F1YW50aXplX2JfMzJ4MzJf
Yz4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhfQklUU184LCAzMiwgZmFs
c2UpKSk7CitJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoQVZYLCBWUDlRdWFudGl6ZVRlc3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMobWFrZV90dXBsZSgmdnB4
X3F1YW50aXplX2JfYXZ4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJnZweF9xdWFudGl6ZV9iX2MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhfQklUU184LCAxNiwgZmFsc2UpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoJnZw
eF9xdWFudGl6ZV9iXzMyeDMyX2F2eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZ2cHhfcXVhbnRpemVfYl8zMngzMl9jLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwg
MzIsIGZhbHNlKSkpOwogI2VuZGlmICAvLyBIQVZFX0FWWAogCiAjaWYgVlBYX0FSQ0hfWDg2XzY0
ICYmIEhBVkVfQVZYMgotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi1JTlNUQU5USUFURV9U
RVNUX1NVSVRFX1AoCi0gICAgQVZYMiwgVlA5UXVhbnRpemVUZXN0LAotICAgIDo6dGVzdGluZzo6
VmFsdWVzKAotICAgICAgICBtYWtlX3R1cGxlKCZRdWFudEZQV3JhcHBlcjx2cDlfcXVhbnRpemVf
ZnBfYXZ4Mj4sCi0gICAgICAgICAgICAgICAgICAgJlF1YW50RlBXcmFwcGVyPHF1YW50aXplX2Zw
X256X2M+LCBWUFhfQklUU184LCAxNiwgdHJ1ZSksCi0gICAgICAgIG1ha2VfdHVwbGUoJlF1YW50
RlBXcmFwcGVyPHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYXZ4Mj4sCi0gICAgICAgICAgICAgICAg
ICAgJlF1YW50RlBXcmFwcGVyPHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfYz4sIFZQWF9CSVRTXzEy
LCAxNiwKLSAgICAgICAgICAgICAgICAgICB0cnVlKSwKLSAgICAgICAgbWFrZV90dXBsZSgmUXVh
bnRGUFdyYXBwZXI8dnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9hdngyPiwKLSAgICAgICAg
ICAgICAgICAgICAmUXVhbnRGUFdyYXBwZXI8dnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl9j
PiwgVlBYX0JJVFNfMTIsCi0gICAgICAgICAgICAgICAgICAgMzIsIHRydWUpLAotICAgICAgICBt
YWtlX3R1cGxlKHZweF9xdWFudGl6ZV9iX2F2eDIsIHZweF9xdWFudGl6ZV9iX2MsIFZQWF9CSVRT
XzgsIDE2LAotICAgICAgICAgICAgICAgICAgIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBsZSh2
cHhfaGlnaGJkX3F1YW50aXplX2JfYXZ4MiwgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MsCi0gICAg
ICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwgMTYsIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBs
ZSh2cHhfaGlnaGJkX3F1YW50aXplX2JfYXZ4MiwgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MsCi0g
ICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfMTAsIDE2LCBmYWxzZSksCi0gICAgICAgIG1ha2Vf
dHVwbGUodnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2F2eDIsIHZweF9oaWdoYmRfcXVhbnRpemVfYl9j
LAotICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzEyLCAxNiwgZmFsc2UpLAotICAgICAgICBt
YWtlX3R1cGxlKCZRdWFudDMyeDMyV3JhcHBlcjx2cHhfcXVhbnRpemVfYl8zMngzMl9hdngyPiwK
LSAgICAgICAgICAgICAgICAgICAmUXVhbnQzMngzMldyYXBwZXI8dnB4X3F1YW50aXplX2JfMzJ4
MzJfYz4sIFZQWF9CSVRTXzgsIDMyLAotICAgICAgICAgICAgICAgICAgIGZhbHNlKSwKLSAgICAg
ICAgbWFrZV90dXBsZSgmUXVhbnQzMngzMldyYXBwZXI8dnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMy
eDMyX2F2eDI+LAotICAgICAgICAgICAgICAgICAgICZRdWFudDMyeDMyV3JhcHBlcjx2cHhfaGln
aGJkX3F1YW50aXplX2JfMzJ4MzJfYz4sCi0gICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwg
MzIsIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBsZSgmUXVhbnQzMngzMldyYXBwZXI8dnB4X2hp
Z2hiZF9xdWFudGl6ZV9iXzMyeDMyX2F2eDI+LAotICAgICAgICAgICAgICAgICAgICZRdWFudDMy
eDMyV3JhcHBlcjx2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYz4sCi0gICAgICAgICAgICAg
ICAgICAgVlBYX0JJVFNfMTAsIDMyLCBmYWxzZSksCi0gICAgICAgIG1ha2VfdHVwbGUoJlF1YW50
MzJ4MzJXcmFwcGVyPHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9hdngyPiwKLSAgICAgICAg
ICAgICAgICAgICAmUXVhbnQzMngzMldyYXBwZXI8dnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMy
X2M+LAotICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzEyLCAzMiwgZmFsc2UpKSk7Ci0jZWxz
ZQogSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAogICAgIEFWWDIsIFZQOVF1YW50aXplVGVzdCwK
ICAgICA6OnRlc3Rpbmc6OlZhbHVlcyhtYWtlX3R1cGxlKCZRdWFudEZQV3JhcHBlcjx2cDlfcXVh
bnRpemVfZnBfYXZ4Mj4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUXVhbnRG
UFdyYXBwZXI8cXVhbnRpemVfZnBfbnpfYz4sIFZQWF9CSVRTXzgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAxNiwgdHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgbWFrZV90
dXBsZSgmUXVhbnRGUFdyYXBwZXI8dnA5X3F1YW50aXplX2ZwXzMyeDMyX2F2eDI+LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJlF1YW50RlBXcmFwcGVyPHF1YW50aXplX2ZwXzMy
eDMyX256X2M+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwg
MzIsIHRydWUpLAotICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUodnB4X3F1YW50aXpl
X2JfYXZ4MiwgdnB4X3F1YW50aXplX2JfYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZQWF9CSVRTXzgsIDE2LCBmYWxzZSksCi0gICAgICAgICAgICAgICAgICAgICAgbWFrZV90
dXBsZSgmUXVhbnQzMngzMldyYXBwZXI8dnB4X3F1YW50aXplX2JfMzJ4MzJfYXZ4Mj4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUXVhbnQzMngzMldyYXBwZXI8dnB4X3F1YW50
aXplX2JfMzJ4MzJfYz4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhfQklU
U184LCAzMiwgZmFsc2UpKSk7Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNiwgdHJ1ZSkpKTsKICNlbmRpZiAgLy8g
SEFWRV9BVlgyCiAKICNpZiBIQVZFX05FT04KLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAot
SU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAotICAgIE5FT04sIFZQOVF1YW50aXplVGVzdCwKLSAg
ICA6OnRlc3Rpbmc6OlZhbHVlcygKLSAgICAgICAgbWFrZV90dXBsZSgmdnB4X3F1YW50aXplX2Jf
bmVvbiwgJnZweF9xdWFudGl6ZV9iX2MsIFZQWF9CSVRTXzgsIDE2LAotICAgICAgICAgICAgICAg
ICAgIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBsZSh2cHhfaGlnaGJkX3F1YW50aXplX2JfbmVv
biwgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MsCi0gICAgICAgICAgICAgICAgICAgVlBYX0JJVFNf
OCwgMTYsIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBsZSh2cHhfaGlnaGJkX3F1YW50aXplX2Jf
bmVvbiwgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MsCi0gICAgICAgICAgICAgICAgICAgVlBYX0JJ
VFNfMTAsIDE2LCBmYWxzZSksCi0gICAgICAgIG1ha2VfdHVwbGUodnB4X2hpZ2hiZF9xdWFudGl6
ZV9iX25lb24sIHZweF9oaWdoYmRfcXVhbnRpemVfYl9jLAotICAgICAgICAgICAgICAgICAgIFZQ
WF9CSVRTXzEyLCAxNiwgZmFsc2UpLAotICAgICAgICBtYWtlX3R1cGxlKCZRdWFudDMyeDMyV3Jh
cHBlcjx2cHhfcXVhbnRpemVfYl8zMngzMl9uZW9uPiwKLSAgICAgICAgICAgICAgICAgICAmUXVh
bnQzMngzMldyYXBwZXI8dnB4X3F1YW50aXplX2JfMzJ4MzJfYz4sIFZQWF9CSVRTXzgsIDMyLAot
ICAgICAgICAgICAgICAgICAgIGZhbHNlKSwKLSAgICAgICAgbWFrZV90dXBsZSgmUXVhbnQzMngz
MldyYXBwZXI8dnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX25lb24+LAotICAgICAgICAgICAg
ICAgICAgICZRdWFudDMyeDMyV3JhcHBlcjx2cHhfaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfYz4s
Ci0gICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfOCwgMzIsIGZhbHNlKSwKLSAgICAgICAgbWFr
ZV90dXBsZSgmUXVhbnQzMngzMldyYXBwZXI8dnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX25l
b24+LAotICAgICAgICAgICAgICAgICAgICZRdWFudDMyeDMyV3JhcHBlcjx2cHhfaGlnaGJkX3F1
YW50aXplX2JfMzJ4MzJfYz4sCi0gICAgICAgICAgICAgICAgICAgVlBYX0JJVFNfMTAsIDMyLCBm
YWxzZSksCi0gICAgICAgIG1ha2VfdHVwbGUoJlF1YW50MzJ4MzJXcmFwcGVyPHZweF9oaWdoYmRf
cXVhbnRpemVfYl8zMngzMl9uZW9uPiwKLSAgICAgICAgICAgICAgICAgICAmUXVhbnQzMngzMldy
YXBwZXI8dnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2M+LAotICAgICAgICAgICAgICAgICAg
IFZQWF9CSVRTXzEyLCAzMiwgZmFsc2UpLAotICAgICAgICBtYWtlX3R1cGxlKCZRdWFudEZQV3Jh
cHBlcjx2cDlfcXVhbnRpemVfZnBfbmVvbj4sCi0gICAgICAgICAgICAgICAgICAgJlF1YW50RlBX
cmFwcGVyPHZwOV9xdWFudGl6ZV9mcF9jPiwgVlBYX0JJVFNfOCwgMTYsIHRydWUpLAotICAgICAg
ICBtYWtlX3R1cGxlKCZRdWFudEZQV3JhcHBlcjx2cDlfcXVhbnRpemVfZnBfMzJ4MzJfbmVvbj4s
Ci0gICAgICAgICAgICAgICAgICAgJlF1YW50RlBXcmFwcGVyPHZwOV9xdWFudGl6ZV9mcF8zMngz
Ml9jPiwgVlBYX0JJVFNfOCwgMzIsCi0gICAgICAgICAgICAgICAgICAgdHJ1ZSkpKTsKLSNlbHNl
CiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgTkVPTiwgVlA5UXVhbnRpemVUZXN0LAog
ICAgIDo6dGVzdGluZzo6VmFsdWVzKG1ha2VfdHVwbGUoJnZweF9xdWFudGl6ZV9iX25lb24sICZ2
cHhfcXVhbnRpemVfYl9jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlBYX0JJ
VFNfOCwgMTYsIGZhbHNlKSwKLSAgICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZRdWFu
dDMyeDMyV3JhcHBlcjx2cHhfcXVhbnRpemVfYl8zMngzMl9uZW9uPiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZRdWFudDMyeDMyV3JhcHBlcjx2cHhfcXVhbnRpemVfYl8zMngz
Ml9jPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzgsIDMyLCBm
YWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgbWFrZV90dXBsZSgmdnB4X3F1YW50aXplX2Jf
MzJ4MzJfbmVvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2cHhfcXVhbnRp
emVfYl8zMngzMl9jLCBWUFhfQklUU184LCAzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICBtYWtlX3R1cGxlKCZRdWFudEZQ
V3JhcHBlcjx2cDlfcXVhbnRpemVfZnBfbmVvbj4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmUXVhbnRGUFdyYXBwZXI8dnA5X3F1YW50aXplX2ZwX2M+LCBWUFhfQklUU184LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYsIHRydWUpLAogICAgICAgICAgICAg
ICAgICAgICAgIG1ha2VfdHVwbGUoJlF1YW50RlBXcmFwcGVyPHZwOV9xdWFudGl6ZV9mcF8zMngz
Ml9uZW9uPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZRdWFudEZQV3JhcHBl
cjx2cDlfcXVhbnRpemVfZnBfMzJ4MzJfYz4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWUFhfQklUU184LCAzMiwgdHJ1ZSkpKTsKLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdI
QklUREVQVEgKICNlbmRpZiAgLy8gSEFWRV9ORU9OCiAKICNpZiBIQVZFX1ZTWCAmJiAhQ09ORklH
X1ZQOV9ISUdIQklUREVQVEgKQEAgLTY5NCwyNCArNTgxLDEzIEBAIElOU1RBTlRJQVRFX1RFU1Rf
U1VJVEVfUCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9CSVRTXzgsIDMy
LCB0cnVlKSkpOwogI2VuZGlmICAvLyBIQVZFX1ZTWCAmJiAhQ09ORklHX1ZQOV9ISUdIQklUREVQ
VEgKIAotI2lmIEhBVkVfTFNYICYmICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotSU5TVEFOVElB
VEVfVEVTVF9TVUlURV9QKAotICAgIExTWCwgVlA5UXVhbnRpemVUZXN0LAotICAgIDo6dGVzdGlu
Zzo6VmFsdWVzKG1ha2VfdHVwbGUoJnZweF9xdWFudGl6ZV9iX2xzeCwgJnZweF9xdWFudGl6ZV9i
X2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhfQklUU184LCAxNiwgZmFs
c2UpLAotICAgICAgICAgICAgICAgICAgICAgIG1ha2VfdHVwbGUoJlF1YW50MzJ4MzJXcmFwcGVy
PHZweF9xdWFudGl6ZV9iXzMyeDMyX2xzeD4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmUXVhbnQzMngzMldyYXBwZXI8dnB4X3F1YW50aXplX2JfMzJ4MzJfYz4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhfQklUU184LCAzMiwgZmFsc2UpKSk7Ci0jZW5k
aWYgIC8vIEhBVkVfTFNYICYmICFDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotCiAvLyBPbmx5IHVz
ZWZ1bCB0byBjb21wYXJlICJTcGVlZCIgdGVzdCByZXN1bHRzLgogSU5TVEFOVElBVEVfVEVTVF9T
VUlURV9QKAogICAgIERJU0FCTEVEX0MsIFZQOVF1YW50aXplVGVzdCwKICAgICA6OnRlc3Rpbmc6
OlZhbHVlcygKICAgICAgICAgbWFrZV90dXBsZSgmdnB4X3F1YW50aXplX2JfYywgJnZweF9xdWFu
dGl6ZV9iX2MsIFZQWF9CSVRTXzgsIDE2LCBmYWxzZSksCi0gICAgICAgIG1ha2VfdHVwbGUoJlF1
YW50MzJ4MzJXcmFwcGVyPHZweF9xdWFudGl6ZV9iXzMyeDMyX2M+LAotICAgICAgICAgICAgICAg
ICAgICZRdWFudDMyeDMyV3JhcHBlcjx2cHhfcXVhbnRpemVfYl8zMngzMl9jPiwgVlBYX0JJVFNf
OCwgMzIsCi0gICAgICAgICAgICAgICAgICAgZmFsc2UpLAorICAgICAgICBtYWtlX3R1cGxlKCZ2
cHhfcXVhbnRpemVfYl8zMngzMl9jLCAmdnB4X3F1YW50aXplX2JfMzJ4MzJfYywgVlBYX0JJVFNf
OCwKKyAgICAgICAgICAgICAgICAgICAzMiwgZmFsc2UpLAogICAgICAgICBtYWtlX3R1cGxlKCZR
dWFudEZQV3JhcHBlcjx2cDlfcXVhbnRpemVfZnBfYz4sCiAgICAgICAgICAgICAgICAgICAgJlF1
YW50RlBXcmFwcGVyPHZwOV9xdWFudGl6ZV9mcF9jPiwgVlBYX0JJVFNfOCwgMTYsIHRydWUpLAog
ICAgICAgICBtYWtlX3R1cGxlKCZRdWFudEZQV3JhcHBlcjxxdWFudGl6ZV9mcF9uel9jPiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfcmF0ZWN0cmxfcnRjX3Rlc3QuY2MgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rlc3QvdnA5X3JhdGVjdHJsX3J0Y190ZXN0LmNjCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiNzZmZDM2MjRjZmIuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rl
c3QvdnA5X3JhdGVjdHJsX3J0Y190ZXN0LmNjCisrKyAvZGV2L251bGwKQEAgLTEsNTcxICswLDAg
QEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIwIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg
Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFu
IGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91
bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1
dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBv
ZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLSNpbmNsdWRlICJ2cDkvcmF0ZWN0cmxfcnRjLmgiCi0K
LSNpbmNsdWRlIDxmc3RyZWFtPiAgLy8gTk9MSU5UCi0jaW5jbHVkZSA8c3RyaW5nPgotCi0jaW5j
bHVkZSAiLi92cHhfY29uZmlnLmgiCi0jaW5jbHVkZSAidGhpcmRfcGFydHkvZ29vZ2xldGVzdC9z
cmMvaW5jbHVkZS9ndGVzdC9ndGVzdC5oIgotI2luY2x1ZGUgInRlc3QvY29kZWNfZmFjdG9yeS5o
IgotI2luY2x1ZGUgInRlc3QvZW5jb2RlX3Rlc3RfZHJpdmVyLmgiCi0jaW5jbHVkZSAidGVzdC9p
NDIwX3ZpZGVvX3NvdXJjZS5oIgotI2luY2x1ZGUgInRlc3QvdXRpbC5oIgotI2luY2x1ZGUgInRl
c3QvdmlkZW9fc291cmNlLmgiCi0jaW5jbHVkZSAidnB4L3ZweF9jb2RlYy5oIgotI2luY2x1ZGUg
InZweF9wb3J0cy9iaXRvcHMuaCIKLQotbmFtZXNwYWNlIHsKLQotY29uc3Qgc2l6ZV90IGtOdW1G
cmFtZXMgPSAzMDA7Ci0KLWNvbnN0IGludCBrVGVtcG9yYWxJZDNMYXllcls0XSA9IHsgMCwgMiwg
MSwgMiB9OwotY29uc3QgaW50IGtUZW1wb3JhbElkMkxheWVyWzJdID0geyAwLCAxIH07Ci1jb25z
dCBpbnQga1RlbXBvcmFsUmF0ZUFsbG9jYXRpb24zTGF5ZXJbM10gPSB7IDUwLCA3MCwgMTAwIH07
Ci1jb25zdCBpbnQga1RlbXBvcmFsUmF0ZUFsbG9jYXRpb24yTGF5ZXJbMl0gPSB7IDYwLCAxMDAg
fTsKLWNvbnN0IGludCBrU3BhdGlhbExheWVyQml0cmF0ZVszXSA9IHsgMjAwLCA0MDAsIDEwMDAg
fTsKLQotY2xhc3MgUmNJbnRlcmZhY2VUZXN0Ci0gICAgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6
RW5jb2RlclRlc3QsCi0gICAgICBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6Q29kZWNUZXN0V2l0aDJQ
YXJhbXM8aW50LCB2cHhfcmNfbW9kZT4gewotIHB1YmxpYzoKLSAgUmNJbnRlcmZhY2VUZXN0KCkK
LSAgICAgIDogRW5jb2RlclRlc3QoR0VUX1BBUkFNKDApKSwgYXFfbW9kZV8oR0VUX1BBUkFNKDEp
KSwga2V5X2ludGVydmFsXygzMDAwKSwKLSAgICAgICAgZW5jb2Rlcl9leGl0XyhmYWxzZSkge30K
LQotICB+UmNJbnRlcmZhY2VUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OwotCi0gcHJvdGVjdGVk
OgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewotICAgIEluaXRpYWxpemVDb25maWcoKTsKLSAg
ICBTZXRNb2RlKDo6bGlidnB4X3Rlc3Q6OmtSZWFsVGltZSk7Ci0gIH0KLQotICB2b2lkIFByZUVu
Y29kZUZyYW1lSG9vayhsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ2cHhfdGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUg
ewotICAgIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAwKSB7Ci0gICAgICBlbmNvZGVyLT5Db250cm9s
KFZQOEVfU0VUX0NQVVVTRUQsIDcpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9B
UV9NT0RFLCBhcV9tb2RlXyk7Ci0gICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1RVTkVf
Q09OVEVOVCwgMCk7Ci0gICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVfU0VUX01BWF9JTlRSQV9C
SVRSQVRFX1BDVCwgMTAwMCk7Ci0gICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX1JUQ19F
WFRFUk5BTF9SQVRFQ1RSTCwgMSk7Ci0gICAgfQotICAgIGZyYW1lX3BhcmFtc18uZnJhbWVfdHlw
ZSA9IHZpZGVvLT5mcmFtZSgpICUga2V5X2ludGVydmFsXyA9PSAwCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID8gbGlidnB4OjpSY0ZyYW1lVHlwZTo6a0tleUZyYW1lCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbGlidnB4OjpSY0ZyYW1lVHlwZTo6a0lu
dGVyRnJhbWU7Ci0gICAgaWYgKHJjX2NmZ18ucmNfbW9kZSA9PSBWUFhfQ0JSICYmCi0gICAgICAg
IGZyYW1lX3BhcmFtc18uZnJhbWVfdHlwZSA9PSBsaWJ2cHg6OlJjRnJhbWVUeXBlOjprSW50ZXJG
cmFtZSkgewotICAgICAgLy8gRGlzYWJsZSBnb2xkZW4gZnJhbWUgdXBkYXRlLgotICAgICAgZnJh
bWVfZmxhZ3NfIHw9IFZQOF9FRkxBR19OT19VUERfR0Y7Ci0gICAgICBmcmFtZV9mbGFnc18gfD0g
VlA4X0VGTEFHX05PX1VQRF9BUkY7Ci0gICAgfQotICAgIGVuY29kZXJfZXhpdF8gPSB2aWRlby0+
ZnJhbWUoKSA9PSBrTnVtRnJhbWVzOwotICB9Ci0KLSAgdm9pZCBQb3N0RW5jb2RlRnJhbWVIb29r
KDo6bGlidnB4X3Rlc3Q6OkVuY29kZXIgKmVuY29kZXIpIG92ZXJyaWRlIHsKLSAgICBpZiAoZW5j
b2Rlcl9leGl0XykgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpbnQgbG9vcGZpbHRlcl9s
ZXZlbCwgcXA7Ci0gICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX0dFVF9MT09QRklMVEVSX0xFVkVM
LCAmbG9vcGZpbHRlcl9sZXZlbCk7Ci0gICAgZW5jb2Rlci0+Q29udHJvbChWUDhFX0dFVF9MQVNU
X1FVQU5USVpFUiwgJnFwKTsKLSAgICByY19hcGlfLT5Db21wdXRlUVAoZnJhbWVfcGFyYW1zXyk7
Ci0gICAgQVNTRVJUX0VRKHJjX2FwaV8tPkdldFFQKCksIHFwKTsKLSAgICBBU1NFUlRfRVEocmNf
YXBpXy0+R2V0TG9vcGZpbHRlckxldmVsKCksIGxvb3BmaWx0ZXJfbGV2ZWwpOwotICB9Ci0KLSAg
dm9pZCBGcmFtZVBrdEhvb2soY29uc3QgdnB4X2NvZGVjX2N4X3BrdF90ICpwa3QpIG92ZXJyaWRl
IHsKLSAgICByY19hcGlfLT5Qb3N0RW5jb2RlVXBkYXRlKHBrdC0+ZGF0YS5mcmFtZS5zeiwgZnJh
bWVfcGFyYW1zXyk7Ci0gIH0KLQotICB2b2lkIFJ1bk9uZUxheWVyKCkgewotICAgIFNldENvbmZp
ZyhHRVRfUEFSQU0oMikpOwotICAgIHJjX2FwaV8gPSBsaWJ2cHg6OlZQOVJhdGVDb250cm9sUlRD
OjpDcmVhdGUocmNfY2ZnXyk7Ci0gICAgZnJhbWVfcGFyYW1zXy5zcGF0aWFsX2xheWVyX2lkID0g
MDsKLSAgICBmcmFtZV9wYXJhbXNfLnRlbXBvcmFsX2xheWVyX2lkID0gMDsKLQotICAgIDo6bGli
dnB4X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2aWRlbygiZGVza3RvcF9vZmZpY2UxLjEyODBfNzIw
LTAyMC55dXYiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjgw
LCA3MjAsIDMwLCAxLCAwLCBrTnVtRnJhbWVzKTsKLQotICAgIEFTU0VSVF9OT19GQVRBTF9GQUlM
VVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci0gIH0KLQotICB2b2lkIFJ1bk9uZUxheWVyVkJSUGVyaW9k
aWNLZXkoKSB7Ci0gICAgaWYgKEdFVF9QQVJBTSgyKSAhPSBWUFhfVkJSKSByZXR1cm47Ci0gICAg
a2V5X2ludGVydmFsXyA9IDEwMDsKLSAgICBTZXRDb25maWcoVlBYX1ZCUik7Ci0gICAgcmNfYXBp
XyA9IGxpYnZweDo6VlA5UmF0ZUNvbnRyb2xSVEM6OkNyZWF0ZShyY19jZmdfKTsKLSAgICBmcmFt
ZV9wYXJhbXNfLnNwYXRpYWxfbGF5ZXJfaWQgPSAwOwotICAgIGZyYW1lX3BhcmFtc18udGVtcG9y
YWxfbGF5ZXJfaWQgPSAwOwotCi0gICAgOjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZp
ZGVvKCJkZXNrdG9wX29mZmljZTEuMTI4MF83MjAtMDIwLnl1diIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDEyODAsIDcyMCwgMzAsIDEsIDAsIGtOdW1GcmFtZXMp
OwotCi0gICAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKLSAgfQot
Ci0gcHJpdmF0ZToKLSAgdm9pZCBTZXRDb25maWcodnB4X3JjX21vZGUgcmNfbW9kZSkgewotICAg
IHJjX2NmZ18ud2lkdGggPSAxMjgwOwotICAgIHJjX2NmZ18uaGVpZ2h0ID0gNzIwOwotICAgIHJj
X2NmZ18ubWF4X3F1YW50aXplciA9IDUyOwotICAgIHJjX2NmZ18ubWluX3F1YW50aXplciA9IDI7
Ci0gICAgcmNfY2ZnXy50YXJnZXRfYmFuZHdpZHRoID0gMTAwMDsKLSAgICByY19jZmdfLmJ1Zl9p
bml0aWFsX3N6ID0gNjAwOwotICAgIHJjX2NmZ18uYnVmX29wdGltYWxfc3ogPSA2MDA7Ci0gICAg
cmNfY2ZnXy5idWZfc3ogPSAxMDAwOwotICAgIHJjX2NmZ18udW5kZXJzaG9vdF9wY3QgPSA1MDsK
LSAgICByY19jZmdfLm92ZXJzaG9vdF9wY3QgPSA1MDsKLSAgICByY19jZmdfLm1heF9pbnRyYV9i
aXRyYXRlX3BjdCA9IDEwMDA7Ci0gICAgcmNfY2ZnXy5mcmFtZXJhdGUgPSAzMC4wOwotICAgIHJj
X2NmZ18uc3NfbnVtYmVyX2xheWVycyA9IDE7Ci0gICAgcmNfY2ZnXy50c19udW1iZXJfbGF5ZXJz
ID0gMTsKLSAgICByY19jZmdfLnNjYWxpbmdfZmFjdG9yX251bVswXSA9IDE7Ci0gICAgcmNfY2Zn
Xy5zY2FsaW5nX2ZhY3Rvcl9kZW5bMF0gPSAxOwotICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2Jp
dHJhdGVbMF0gPSAxMDAwOwotICAgIHJjX2NmZ18ubWF4X3F1YW50aXplcnNbMF0gPSA1MjsKLSAg
ICByY19jZmdfLm1pbl9xdWFudGl6ZXJzWzBdID0gMjsKLSAgICByY19jZmdfLnJjX21vZGUgPSBy
Y19tb2RlOwotICAgIHJjX2NmZ18uYXFfbW9kZSA9IGFxX21vZGVfOwotCi0gICAgLy8gRW5jb2Rl
ciBzZXR0aW5ncyBmb3IgZ3JvdW5kIHRydXRoLgotICAgIGNmZ18uZ193ID0gMTI4MDsKLSAgICBj
ZmdfLmdfaCA9IDcyMDsKLSAgICBjZmdfLnJjX3VuZGVyc2hvb3RfcGN0ID0gNTA7Ci0gICAgY2Zn
Xy5yY19vdmVyc2hvb3RfcGN0ID0gNTA7Ci0gICAgY2ZnXy5yY19idWZfaW5pdGlhbF9zeiA9IDYw
MDsKLSAgICBjZmdfLnJjX2J1Zl9vcHRpbWFsX3N6ID0gNjAwOwotICAgIGNmZ18ucmNfYnVmX3N6
ID0gMTAwMDsKLSAgICBjZmdfLnJjX2Ryb3BmcmFtZV90aHJlc2ggPSAwOwotICAgIGNmZ18ucmNf
bWluX3F1YW50aXplciA9IDI7Ci0gICAgY2ZnXy5yY19tYXhfcXVhbnRpemVyID0gNTI7Ci0gICAg
Y2ZnXy5yY19lbmRfdXNhZ2UgPSByY19tb2RlOwotICAgIGNmZ18uZ19sYWdfaW5fZnJhbWVzID0g
MDsKLSAgICBjZmdfLmdfZXJyb3JfcmVzaWxpZW50ID0gMDsKLSAgICBjZmdfLnJjX3RhcmdldF9i
aXRyYXRlID0gMTAwMDsKLSAgICBjZmdfLmtmX21pbl9kaXN0ID0ga2V5X2ludGVydmFsXzsKLSAg
ICBjZmdfLmtmX21heF9kaXN0ID0ga2V5X2ludGVydmFsXzsKLSAgfQotCi0gIHN0ZDo6dW5pcXVl
X3B0cjxsaWJ2cHg6OlZQOVJhdGVDb250cm9sUlRDPiByY19hcGlfOwotICBsaWJ2cHg6OlZQOVJh
dGVDb250cm9sUnRjQ29uZmlnIHJjX2NmZ187Ci0gIGludCBhcV9tb2RlXzsKLSAgaW50IGtleV9p
bnRlcnZhbF87Ci0gIGxpYnZweDo6VlA5RnJhbWVQYXJhbXNRcFJUQyBmcmFtZV9wYXJhbXNfOwot
ICBib29sIGVuY29kZXJfZXhpdF87Ci19OwotCi1jbGFzcyBSY0ludGVyZmFjZVN2Y1Rlc3QKLSAg
ICA6IHB1YmxpYyA6OmxpYnZweF90ZXN0OjpFbmNvZGVyVGVzdCwKLSAgICAgIHB1YmxpYyA6Omxp
YnZweF90ZXN0OjpDb2RlY1Rlc3RXaXRoMlBhcmFtczxpbnQsIGJvb2w+IHsKLSBwdWJsaWM6Ci0g
IFJjSW50ZXJmYWNlU3ZjVGVzdCgpCi0gICAgICA6IEVuY29kZXJUZXN0KEdFVF9QQVJBTSgwKSks
IGFxX21vZGVfKEdFVF9QQVJBTSgxKSksIGtleV9pbnRlcnZhbF8oMzAwMCksCi0gICAgICAgIGR5
bmFtaWNfc3BhdGlhbF9sYXllcnNfKDApLCBpbnRlcl9sYXllcl9wcmVkX29mZl8oR0VUX1BBUkFN
KDIpKSwKLSAgICAgICAgcGFyYWxsZWxfc3BhdGlhbF9sYXllcnNfKGZhbHNlKSB7fQotICB+UmNJ
bnRlcmZhY2VTdmNUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OwotCi0gcHJvdGVjdGVkOgotICB2
b2lkIFNldFVwKCkgb3ZlcnJpZGUgewotICAgIEluaXRpYWxpemVDb25maWcoKTsKLSAgICBTZXRN
b2RlKDo6bGlidnB4X3Rlc3Q6OmtSZWFsVGltZSk7Ci0gIH0KLQotICB2b2lkIFByZUVuY29kZUZy
YW1lSG9vayhsaWJ2cHhfdGVzdDo6VmlkZW9Tb3VyY2UgKnZpZGVvLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OmxpYnZweF90ZXN0OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7Ci0g
ICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDApIHsKLSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4
RV9TRVRfQ1BVVVNFRCwgNyk7Ci0gICAgICBlbmNvZGVyLT5Db250cm9sKFZQOUVfU0VUX0FRX01P
REUsIGFxX21vZGVfKTsKLSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA5RV9TRVRfVFVORV9DT05U
RU5ULCAwKTsKLSAgICAgIGVuY29kZXItPkNvbnRyb2woVlA4RV9TRVRfTUFYX0lOVFJBX0JJVFJB
VEVfUENULCA5MDApOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9SVENfRVhURVJO
QUxfUkFURUNUUkwsIDEpOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9TVkMsIDEp
OwotICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9TVkNfUEFSQU1FVEVSUywgJnN2Y19w
YXJhbXNfKTsKLSAgICAgIGlmIChpbnRlcl9sYXllcl9wcmVkX29mZl8pIHsKLSAgICAgICAgZW5j
b2Rlci0+Q29udHJvbChWUDlFX1NFVF9TVkNfSU5URVJfTEFZRVJfUFJFRCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBJTlRFUl9MQVlFUl9QUkVEX09GRl9OT05LRVkpOwotICAgICAgfQotICAg
IH0KLSAgICBmcmFtZV9wYXJhbXNfLmZyYW1lX3R5cGUgPSB2aWRlby0+ZnJhbWUoKSAlIGtleV9p
bnRlcnZhbF8gPT0gMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGxpYnZw
eDo6UmNGcmFtZVR5cGU6OmtLZXlGcmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6IGxpYnZweDo6UmNGcmFtZVR5cGU6OmtJbnRlckZyYW1lOwotICAgIGVuY29kZXJfZXhp
dF8gPSB2aWRlby0+ZnJhbWUoKSA9PSBrTnVtRnJhbWVzOwotICAgIGN1cnJlbnRfc3VwZXJmcmFt
ZV8gPSB2aWRlby0+ZnJhbWUoKTsKLSAgICBpZiAoZHluYW1pY19zcGF0aWFsX2xheWVyc18gPT0g
MSkgewotICAgICAgaWYgKHZpZGVvLT5mcmFtZSgpID09IDEwMCkgewotICAgICAgICAvLyBHbyBk
b3duIHRvIDIgc3BhdGlhbCBsYXllcnM6IHNldCB0b3AgU0wgdG8gMCBiaXRyYXRlLgotICAgICAg
ICAvLyBVcGRhdGUgdGhlIGVuY29kZXIgY29uZmlnLgotICAgICAgICBjZmdfLnJjX3RhcmdldF9i
aXRyYXRlIC09IGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbOF07Ci0gICAgICAgIGNmZ18ubGF5
ZXJfdGFyZ2V0X2JpdHJhdGVbNl0gPSAwOwotICAgICAgICBjZmdfLmxheWVyX3RhcmdldF9iaXRy
YXRlWzddID0gMDsKLSAgICAgICAgY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0ZVs4XSA9IDA7Ci0g
ICAgICAgIGVuY29kZXItPkNvbmZpZygmY2ZnXyk7Ci0gICAgICAgIC8vIFVwZGF0ZSB0aGUgUkMg
Y29uZmlnLgotICAgICAgICByY19jZmdfLnRhcmdldF9iYW5kd2lkdGggLT0gcmNfY2ZnXy5sYXll
cl90YXJnZXRfYml0cmF0ZVs4XTsKLSAgICAgICAgcmNfY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0
ZVs2XSA9IDA7Ci0gICAgICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbN10gPSAwOwot
ICAgICAgICByY19jZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlWzhdID0gMDsKLSAgICAgICAgQVNT
RVJUX1RSVUUocmNfYXBpXy0+VXBkYXRlUmF0ZUNvbnRyb2wocmNfY2ZnXykpOwotICAgICAgfSBl
bHNlIGlmICh2aWRlby0+ZnJhbWUoKSA9PSAyMDApIHsKLSAgICAgICAgLy8gR28gZG93biB0byAx
IHNwYXRpYWwgbGF5ZXIuCi0gICAgICAgIC8vIFVwZGF0ZSB0aGUgZW5jb2RlciBjb25maWcuCi0g
ICAgICAgIGNmZ18ucmNfdGFyZ2V0X2JpdHJhdGUgLT0gY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0
ZVs1XTsKLSAgICAgICAgY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0ZVszXSA9IDA7Ci0gICAgICAg
IGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbNF0gPSAwOwotICAgICAgICBjZmdfLmxheWVyX3Rh
cmdldF9iaXRyYXRlWzVdID0gMDsKLSAgICAgICAgZW5jb2Rlci0+Q29uZmlnKCZjZmdfKTsKLSAg
ICAgICAgLy8gVXBkYXRlIHRoZSBSQyBjb25maWcuCi0gICAgICAgIHJjX2NmZ18udGFyZ2V0X2Jh
bmR3aWR0aCAtPSByY19jZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlWzVdOwotICAgICAgICByY19j
ZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlWzNdID0gMDsKLSAgICAgICAgcmNfY2ZnXy5sYXllcl90
YXJnZXRfYml0cmF0ZVs0XSA9IDA7Ci0gICAgICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJh
dGVbNV0gPSAwOwotICAgICAgICBBU1NFUlRfVFJVRShyY19hcGlfLT5VcGRhdGVSYXRlQ29udHJv
bChyY19jZmdfKSk7Ci0gICAgICB9IGVsc2UgaWYgKC8qRElTQUJMRVMgQ09ERSovIChmYWxzZSkg
JiYgdmlkZW8tPmZyYW1lKCkgPT0gMjgwKSB7Ci0gICAgICAgIC8vIFRPRE8obWFycGFuKTogUmUt
ZW5hYmxlIHRoaXMgZ29pbmcgYmFjayB1cCB3aGVuIGlzc3VlIGlzIGZpeGVkLgotICAgICAgICAv
LyBHbyBiYWNrIHVwIHRvIDMgc3BhdGlhbCBsYXllcnMuCi0gICAgICAgIC8vIFVwZGF0ZSB0aGUg
ZW5jb2RlciBjb25maWc6IHVzZSB0aGUgb3JpZ2luYWwgYml0cmF0ZXMuCi0gICAgICAgIFNldEVu
Y29kZXJDb25maWdTdmMoMywgMyk7Ci0gICAgICAgIGVuY29kZXItPkNvbmZpZygmY2ZnXyk7Ci0g
ICAgICAgIC8vIFVwZGF0ZSB0aGUgUkMgY29uZmlnLgotICAgICAgICBTZXRSQ0NvbmZpZ1N2Yygz
LCAzKTsKLSAgICAgICAgQVNTRVJUX1RSVUUocmNfYXBpXy0+VXBkYXRlUmF0ZUNvbnRyb2wocmNf
Y2ZnXykpOwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIHZpcnR1YWwgdm9pZCBTZXRGcmFtZVBh
cmFtc1N2YyhpbnQgc2wpIHsKLSAgICBmcmFtZV9wYXJhbXNfLnNwYXRpYWxfbGF5ZXJfaWQgPSBz
bDsKLSAgICBpZiAocmNfY2ZnXy50c19udW1iZXJfbGF5ZXJzID09IDMpCi0gICAgICBmcmFtZV9w
YXJhbXNfLnRlbXBvcmFsX2xheWVyX2lkID0KLSAgICAgICAgICBrVGVtcG9yYWxJZDNMYXllcltj
dXJyZW50X3N1cGVyZnJhbWVfICUgNF07Ci0gICAgZWxzZSBpZiAocmNfY2ZnXy50c19udW1iZXJf
bGF5ZXJzID09IDIpCi0gICAgICBmcmFtZV9wYXJhbXNfLnRlbXBvcmFsX2xheWVyX2lkID0KLSAg
ICAgICAgICBrVGVtcG9yYWxJZDJMYXllcltjdXJyZW50X3N1cGVyZnJhbWVfICUgMl07Ci0gICAg
ZWxzZQotICAgICAgZnJhbWVfcGFyYW1zXy50ZW1wb3JhbF9sYXllcl9pZCA9IDA7Ci0gICAgZnJh
bWVfcGFyYW1zXy5mcmFtZV90eXBlID0KLSAgICAgICAgY3VycmVudF9zdXBlcmZyYW1lXyAlIGtl
eV9pbnRlcnZhbF8gPT0gMCAmJiBzbCA9PSAwCi0gICAgICAgICAgICA/IGxpYnZweDo6UmNGcmFt
ZVR5cGU6OmtLZXlGcmFtZQotICAgICAgICAgICAgOiBsaWJ2cHg6OlJjRnJhbWVUeXBlOjprSW50
ZXJGcmFtZTsKLSAgfQotCi0gIHZvaWQgUG9zdEVuY29kZUZyYW1lSG9vayg6OmxpYnZweF90ZXN0
OjpFbmNvZGVyICplbmNvZGVyKSBvdmVycmlkZSB7Ci0gICAgOjpsaWJ2cHhfdGVzdDo6Q3hEYXRh
SXRlcmF0b3IgaXRlciA9IGVuY29kZXItPkdldEN4RGF0YSgpOwotICAgIGZvciAoaW50IHNsID0g
MDsgc2wgPCByY19jZmdfLnNzX251bWJlcl9sYXllcnM7IHNsKyspIHNpemVzX1tzbF0gPSAwOwot
ICAgIHN0ZDo6dmVjdG9yPGludD4gcmNfcXA7Ci0gICAgd2hpbGUgKGNvbnN0IHZweF9jb2RlY19j
eF9wa3RfdCAqcGt0ID0gaXRlci5OZXh0KCkpIHsKLSAgICAgIFBhcnNlU3VwZXJmcmFtZVNpemVz
KHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QgKj4ocGt0LT5kYXRhLmZyYW1lLmJ1ZiksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBwa3QtPmRhdGEuZnJhbWUuc3opOwotICAgICAgaWYgKCFw
YXJhbGxlbF9zcGF0aWFsX2xheWVyc18gfHwgY3VycmVudF9zdXBlcmZyYW1lXyA9PSAwKSB7Ci0g
ICAgICAgIGZvciAoaW50IHNsID0gMDsgc2wgPCByY19jZmdfLnNzX251bWJlcl9sYXllcnM7IHNs
KyspIHsKLSAgICAgICAgICBpZiAoc2l6ZXNfW3NsXSA+IDApIHsKLSAgICAgICAgICAgIFNldEZy
YW1lUGFyYW1zU3ZjKHNsKTsKLSAgICAgICAgICAgIHJjX2FwaV8tPkNvbXB1dGVRUChmcmFtZV9w
YXJhbXNfKTsKLSAgICAgICAgICAgIHJjX2FwaV8tPlBvc3RFbmNvZGVVcGRhdGUoc2l6ZXNfW3Ns
XSwgZnJhbWVfcGFyYW1zXyk7Ci0gICAgICAgICAgICByY19xcC5wdXNoX2JhY2socmNfYXBpXy0+
R2V0UVAoKSk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9IGVsc2UgewotICAgICAg
ICBmb3IgKGludCBzbCA9IDA7IHNsIDwgcmNfY2ZnXy5zc19udW1iZXJfbGF5ZXJzOyBzbCsrKSB7
Ci0gICAgICAgICAgaWYgKHNpemVzX1tzbF0gPiAwKSB7Ci0gICAgICAgICAgICBTZXRGcmFtZVBh
cmFtc1N2YyhzbCk7Ci0gICAgICAgICAgICByY19hcGlfLT5Db21wdXRlUVAoZnJhbWVfcGFyYW1z
Xyk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGZvciAoaW50IHNsID0gMDsgc2wg
PCByY19jZmdfLnNzX251bWJlcl9sYXllcnM7IHNsKyspIHsKLSAgICAgICAgICBpZiAoc2l6ZXNf
W3NsXSA+IDApIHsKLSAgICAgICAgICAgIFNldEZyYW1lUGFyYW1zU3ZjKHNsKTsKLSAgICAgICAg
ICAgIHJjX2FwaV8tPlBvc3RFbmNvZGVVcGRhdGUoc2l6ZXNfW3NsXSwgZnJhbWVfcGFyYW1zXyk7
Ci0gICAgICAgICAgICByY19xcC5wdXNoX2JhY2socmNfYXBpXy0+R2V0UVAoKSk7Ci0gICAgICAg
ICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotICAgIGlmICghZW5jb2Rlcl9leGl0Xykg
ewotICAgICAgaW50IGxvb3BmaWx0ZXJfbGV2ZWw7Ci0gICAgICBzdGQ6OnZlY3RvcjxpbnQ+IGVu
Y29kZXJfcXAoVlBYX1NTX01BWF9MQVlFUlMsIDApOwotICAgICAgZW5jb2Rlci0+Q29udHJvbChW
UDlFX0dFVF9MT09QRklMVEVSX0xFVkVMLCAmbG9vcGZpbHRlcl9sZXZlbCk7Ci0gICAgICBlbmNv
ZGVyLT5Db250cm9sKFZQOUVfR0VUX0xBU1RfUVVBTlRJWkVSX1NWQ19MQVlFUlMsIGVuY29kZXJf
cXAuZGF0YSgpKTsKLSAgICAgIGVuY29kZXJfcXAucmVzaXplKHJjX3FwLnNpemUoKSk7Ci0gICAg
ICBBU1NFUlRfRVEocmNfcXAsIGVuY29kZXJfcXApOwotICAgICAgQVNTRVJUX0VRKHJjX2FwaV8t
PkdldExvb3BmaWx0ZXJMZXZlbCgpLCBsb29wZmlsdGVyX2xldmVsKTsKLSAgICB9Ci0gIH0KLSAg
Ly8gVGhpcyBtZXRob2QgbmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBiZWNhdXNlIG5vbi1yZWZlcmVu
Y2UgZnJhbWVzIGFyZQotICAvLyBleHBlY3RlZCB0byBiZSBtaXNtYXRjaGVkIGZyYW1lcyBhcyB0
aGUgZW5jb2RlciB3aWxsIGF2b2lkIGxvb3BmaWx0ZXIgb24KLSAgLy8gdGhlc2UgZnJhbWVzLgot
ICB2b2lkIE1pc21hdGNoSG9vayhjb25zdCB2cHhfaW1hZ2VfdCAqIC8qaW1nMSovLAotICAgICAg
ICAgICAgICAgICAgICBjb25zdCB2cHhfaW1hZ2VfdCAqIC8qaW1nMiovKSBvdmVycmlkZSB7fQot
Ci0gIHZvaWQgUnVuU3ZjKCkgewotICAgIFNldFJDQ29uZmlnU3ZjKDMsIDMpOwotICAgIHJjX2Fw
aV8gPSBsaWJ2cHg6OlZQOVJhdGVDb250cm9sUlRDOjpDcmVhdGUocmNfY2ZnXyk7Ci0gICAgU2V0
RW5jb2RlckNvbmZpZ1N2YygzLCAzKTsKLQotICAgIDo6bGlidnB4X3Rlc3Q6Okk0MjBWaWRlb1Nv
dXJjZSB2aWRlbygiZGVza3RvcF9vZmZpY2UxLjEyODBfNzIwLTAyMC55dXYiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjgwLCA3MjAsIDMwLCAxLCAwLCBrTnVt
RnJhbWVzKTsKLQotICAgIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7
Ci0gIH0KLQotICB2b2lkIFJ1blN2Y1BlcmlvZGljS2V5KCkgewotICAgIFNldFJDQ29uZmlnU3Zj
KDMsIDMpOwotICAgIGtleV9pbnRlcnZhbF8gPSAxMDA7Ci0gICAgcmNfYXBpXyA9IGxpYnZweDo6
VlA5UmF0ZUNvbnRyb2xSVEM6OkNyZWF0ZShyY19jZmdfKTsKLSAgICBTZXRFbmNvZGVyQ29uZmln
U3ZjKDMsIDMpOwotCi0gICAgOjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZpZGVvKCJk
ZXNrdG9wX29mZmljZTEuMTI4MF83MjAtMDIwLnl1diIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEyODAsIDcyMCwgMzAsIDEsIDAsIGtOdW1GcmFtZXMpOwotCi0g
ICAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKLSAgfQotCi0gIHZv
aWQgUnVuU3ZjRHluYW1pY1NwYXRpYWwoKSB7Ci0gICAgZHluYW1pY19zcGF0aWFsX2xheWVyc18g
PSAxOwotICAgIFNldFJDQ29uZmlnU3ZjKDMsIDMpOwotICAgIHJjX2FwaV8gPSBsaWJ2cHg6OlZQ
OVJhdGVDb250cm9sUlRDOjpDcmVhdGUocmNfY2ZnXyk7Ci0gICAgU2V0RW5jb2RlckNvbmZpZ1N2
YygzLCAzKTsKLQotICAgIDo6bGlidnB4X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2aWRlbygiZGVz
a3RvcF9vZmZpY2UxLjEyODBfNzIwLTAyMC55dXYiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAxMjgwLCA3MjAsIDMwLCAxLCAwLCBrTnVtRnJhbWVzKTsKLQotICAg
IEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKFJ1bkxvb3AoJnZpZGVvKSk7Ci0gIH0KLQotICB2b2lk
IFJ1blN2Y1BhcmFsbGVsU3BhdGlhbExheWVycygpIHsKLSAgICBpZiAoIWludGVyX2xheWVyX3By
ZWRfb2ZmXykgcmV0dXJuOwotICAgIHBhcmFsbGVsX3NwYXRpYWxfbGF5ZXJzXyA9IHRydWU7Ci0g
ICAgU2V0UkNDb25maWdTdmMoMywgMyk7Ci0gICAgcmNfYXBpXyA9IGxpYnZweDo6VlA5UmF0ZUNv
bnRyb2xSVEM6OkNyZWF0ZShyY19jZmdfKTsKLSAgICBTZXRFbmNvZGVyQ29uZmlnU3ZjKDMsIDMp
OwotCi0gICAgOjpsaWJ2cHhfdGVzdDo6STQyMFZpZGVvU291cmNlIHZpZGVvKCJkZXNrdG9wX29m
ZmljZTEuMTI4MF83MjAtMDIwLnl1diIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEyODAsIDcyMCwgMzAsIDEsIDAsIGtOdW1GcmFtZXMpOwotCi0gICAgQVNTRVJU
X05PX0ZBVEFMX0ZBSUxVUkUoUnVuTG9vcCgmdmlkZW8pKTsKLSAgfQotCi0gcHJpdmF0ZToKLSAg
dnB4X2NvZGVjX2Vycl90IFBhcnNlU3VwZXJmcmFtZVNpemVzKGNvbnN0IHVpbnQ4X3QgKmRhdGEs
IHNpemVfdCBkYXRhX3N6KSB7Ci0gICAgdWludDhfdCBtYXJrZXIgPSAqKGRhdGEgKyBkYXRhX3N6
IC0gMSk7Ci0gICAgaWYgKChtYXJrZXIgJiAweGUwKSA9PSAweGMwKSB7Ci0gICAgICBjb25zdCB1
aW50MzJfdCBmcmFtZXMgPSAobWFya2VyICYgMHg3KSArIDE7Ci0gICAgICBjb25zdCB1aW50MzJf
dCBtYWcgPSAoKG1hcmtlciA+PiAzKSAmIDB4MykgKyAxOwotICAgICAgY29uc3Qgc2l6ZV90IGlu
ZGV4X3N6ID0gMiArIG1hZyAqIGZyYW1lczsKLSAgICAgIC8vIFRoaXMgY2h1bmsgaXMgbWFya2Vk
IGFzIGhhdmluZyBhIHN1cGVyZnJhbWUgaW5kZXggYnV0IGRvZXNuJ3QgaGF2ZQotICAgICAgLy8g
ZW5vdWdoIGRhdGEgZm9yIGl0LCB0aHVzIGl0J3MgYW4gaW52YWxpZCBzdXBlcmZyYW1lIGluZGV4
LgotICAgICAgaWYgKGRhdGFfc3ogPCBpbmRleF9zeikgcmV0dXJuIFZQWF9DT0RFQ19DT1JSVVBU
X0ZSQU1FOwotICAgICAgewotICAgICAgICBjb25zdCB1aW50OF90IG1hcmtlcjIgPSAqKGRhdGEg
KyBkYXRhX3N6IC0gaW5kZXhfc3opOwotICAgICAgICAvLyBUaGlzIGNodW5rIGlzIG1hcmtlZCBh
cyBoYXZpbmcgYSBzdXBlcmZyYW1lIGluZGV4IGJ1dCBkb2Vzbid0IGhhdmUKLSAgICAgICAgLy8g
dGhlIG1hdGNoaW5nIG1hcmtlciBieXRlIGF0IHRoZSBmcm9udCBvZiB0aGUgaW5kZXggdGhlcmVm
b3JlIGl0J3MgYW4KLSAgICAgICAgLy8gaW52YWxpZCBjaHVuay4KLSAgICAgICAgaWYgKG1hcmtl
ciAhPSBtYXJrZXIyKSByZXR1cm4gVlBYX0NPREVDX0NPUlJVUFRfRlJBTUU7Ci0gICAgICB9Ci0g
ICAgICBjb25zdCB1aW50OF90ICp4ID0gJmRhdGFbZGF0YV9zeiAtIGluZGV4X3N6ICsgMV07Ci0g
ICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgZnJhbWVzOyArK2kpIHsKLSAgICAgICAgdWlu
dDMyX3QgdGhpc19zeiA9IDA7Ci0KLSAgICAgICAgZm9yICh1aW50MzJfdCBqID0gMDsgaiA8IG1h
ZzsgKytqKSB0aGlzX3N6IHw9ICgqeCsrKSA8PCAoaiAqIDgpOwotICAgICAgICBzaXplc19baV0g
PSB0aGlzX3N6OwotICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gVlBYX0NPREVDX09LOwotICB9
Ci0KLSAgdm9pZCBTZXRFbmNvZGVyQ29uZmlnU3ZjKGludCBudW1iZXJfc3BhdGlhbF9sYXllcnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVtYmVyX3RlbXBvcmFsX2xheWVycykg
ewotICAgIGNmZ18uZ193ID0gMTI4MDsKLSAgICBjZmdfLmdfaCA9IDcyMDsKLSAgICBjZmdfLnNz
X251bWJlcl9sYXllcnMgPSBudW1iZXJfc3BhdGlhbF9sYXllcnM7Ci0gICAgY2ZnXy50c19udW1i
ZXJfbGF5ZXJzID0gbnVtYmVyX3RlbXBvcmFsX2xheWVyczsKLSAgICBjZmdfLmdfdGltZWJhc2Uu
bnVtID0gMTsKLSAgICBjZmdfLmdfdGltZWJhc2UuZGVuID0gMzA7Ci0gICAgaWYgKG51bWJlcl9z
cGF0aWFsX2xheWVycyA9PSAzKSB7Ci0gICAgICBzdmNfcGFyYW1zXy5zY2FsaW5nX2ZhY3Rvcl9u
dW1bMF0gPSAxOwotICAgICAgc3ZjX3BhcmFtc18uc2NhbGluZ19mYWN0b3JfZGVuWzBdID0gNDsK
LSAgICAgIHN2Y19wYXJhbXNfLnNjYWxpbmdfZmFjdG9yX251bVsxXSA9IDI7Ci0gICAgICBzdmNf
cGFyYW1zXy5zY2FsaW5nX2ZhY3Rvcl9kZW5bMV0gPSA0OwotICAgICAgc3ZjX3BhcmFtc18uc2Nh
bGluZ19mYWN0b3JfbnVtWzJdID0gNDsKLSAgICAgIHN2Y19wYXJhbXNfLnNjYWxpbmdfZmFjdG9y
X2RlblsyXSA9IDQ7Ci0gICAgfSBlbHNlIGlmIChudW1iZXJfc3BhdGlhbF9sYXllcnMgPT0gMikg
ewotICAgICAgc3ZjX3BhcmFtc18uc2NhbGluZ19mYWN0b3JfbnVtWzBdID0gMTsKLSAgICAgIHN2
Y19wYXJhbXNfLnNjYWxpbmdfZmFjdG9yX2RlblswXSA9IDI7Ci0gICAgICBzdmNfcGFyYW1zXy5z
Y2FsaW5nX2ZhY3Rvcl9udW1bMV0gPSAyOwotICAgICAgc3ZjX3BhcmFtc18uc2NhbGluZ19mYWN0
b3JfZGVuWzFdID0gMjsKLSAgICB9IGVsc2UgaWYgKG51bWJlcl9zcGF0aWFsX2xheWVycyA9PSAx
KSB7Ci0gICAgICBzdmNfcGFyYW1zXy5zY2FsaW5nX2ZhY3Rvcl9udW1bMF0gPSAxOwotICAgICAg
c3ZjX3BhcmFtc18uc2NhbGluZ19mYWN0b3JfZGVuWzBdID0gMTsKLSAgICB9Ci0KLSAgICBmb3Ig
KGludCBpID0gMDsgaSA8IFZQWF9NQVhfTEFZRVJTOyArK2kpIHsKLSAgICAgIHN2Y19wYXJhbXNf
Lm1heF9xdWFudGl6ZXJzW2ldID0gNTY7Ci0gICAgICBzdmNfcGFyYW1zXy5taW5fcXVhbnRpemVy
c1tpXSA9IDI7Ci0gICAgICBzdmNfcGFyYW1zXy5zcGVlZF9wZXJfbGF5ZXJbaV0gPSA3OwotICAg
ICAgc3ZjX3BhcmFtc18ubG9vcGZpbHRlcl9jdHJsW2ldID0gTE9PUEZJTFRFUl9BTEw7Ci0gICAg
fQotICAgIGNmZ18ucmNfZW5kX3VzYWdlID0gVlBYX0NCUjsKLSAgICBjZmdfLmdfbGFnX2luX2Zy
YW1lcyA9IDA7Ci0gICAgY2ZnXy5nX2Vycm9yX3Jlc2lsaWVudCA9IDA7Ci0KLSAgICBpZiAobnVt
YmVyX3RlbXBvcmFsX2xheWVycyA9PSAzKSB7Ci0gICAgICBjZmdfLnRzX3JhdGVfZGVjaW1hdG9y
WzBdID0gNDsKLSAgICAgIGNmZ18udHNfcmF0ZV9kZWNpbWF0b3JbMV0gPSAyOwotICAgICAgY2Zn
Xy50c19yYXRlX2RlY2ltYXRvclsyXSA9IDE7Ci0gICAgICBjZmdfLnRlbXBvcmFsX2xheWVyaW5n
X21vZGUgPSAzOwotICAgIH0gZWxzZSBpZiAobnVtYmVyX3RlbXBvcmFsX2xheWVycyA9PSAyKSB7
Ci0gICAgICBjZmdfLnRzX3JhdGVfZGVjaW1hdG9yWzBdID0gMjsKLSAgICAgIGNmZ18udHNfcmF0
ZV9kZWNpbWF0b3JbMV0gPSAxOwotICAgICAgY2ZnXy50ZW1wb3JhbF9sYXllcmluZ19tb2RlID0g
MjsKLSAgICB9IGVsc2UgaWYgKG51bWJlcl90ZW1wb3JhbF9sYXllcnMgPT0gMSkgewotICAgICAg
Y2ZnXy50c19yYXRlX2RlY2ltYXRvclswXSA9IDE7Ci0gICAgICBjZmdfLnRlbXBvcmFsX2xheWVy
aW5nX21vZGUgPSAwOwotICAgIH0KLQotICAgIGNmZ18ucmNfYnVmX2luaXRpYWxfc3ogPSA1MDA7
Ci0gICAgY2ZnXy5yY19idWZfb3B0aW1hbF9zeiA9IDYwMDsKLSAgICBjZmdfLnJjX2J1Zl9zeiA9
IDEwMDA7Ci0gICAgY2ZnXy5yY19taW5fcXVhbnRpemVyID0gMjsKLSAgICBjZmdfLnJjX21heF9x
dWFudGl6ZXIgPSA1NjsKLSAgICBjZmdfLmdfdGhyZWFkcyA9IDE7Ci0gICAgY2ZnXy5rZl9tYXhf
ZGlzdCA9IDk5OTk7Ci0gICAgY2ZnXy5yY19vdmVyc2hvb3RfcGN0ID0gNTA7Ci0gICAgY2ZnXy5y
Y191bmRlcnNob290X3BjdCA9IDUwOwotCi0gICAgY2ZnXy5yY190YXJnZXRfYml0cmF0ZSA9IDA7
Ci0gICAgZm9yIChpbnQgc2wgPSAwOyBzbCA8IG51bWJlcl9zcGF0aWFsX2xheWVyczsgc2wrKykg
ewotICAgICAgaW50IHNwYXRpYWxfYml0cmF0ZSA9IDA7Ci0gICAgICBpZiAobnVtYmVyX3NwYXRp
YWxfbGF5ZXJzIDw9IDMpCi0gICAgICAgIHNwYXRpYWxfYml0cmF0ZSA9IGtTcGF0aWFsTGF5ZXJC
aXRyYXRlW3NsXTsKLSAgICAgIGZvciAoaW50IHRsID0gMDsgdGwgPCBudW1iZXJfdGVtcG9yYWxf
bGF5ZXJzOyB0bCsrKSB7Ci0gICAgICAgIGludCBsYXllciA9IHNsICogbnVtYmVyX3RlbXBvcmFs
X2xheWVycyArIHRsOwotICAgICAgICBpZiAobnVtYmVyX3RlbXBvcmFsX2xheWVycyA9PSAzKQot
ICAgICAgICAgIGNmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbbGF5ZXJdID0KLSAgICAgICAgICAg
ICAga1RlbXBvcmFsUmF0ZUFsbG9jYXRpb24zTGF5ZXJbdGxdICogc3BhdGlhbF9iaXRyYXRlIC8g
MTAwOwotICAgICAgICBlbHNlIGlmIChudW1iZXJfdGVtcG9yYWxfbGF5ZXJzID09IDIpCi0gICAg
ICAgICAgY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0ZVtsYXllcl0gPQotICAgICAgICAgICAgICBr
VGVtcG9yYWxSYXRlQWxsb2NhdGlvbjJMYXllclt0bF0gKiBzcGF0aWFsX2JpdHJhdGUgLyAxMDA7
Ci0gICAgICAgIGVsc2UgaWYgKG51bWJlcl90ZW1wb3JhbF9sYXllcnMgPT0gMSkKLSAgICAgICAg
ICBjZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlW2xheWVyXSA9IHNwYXRpYWxfYml0cmF0ZTsKLSAg
ICAgIH0KLSAgICAgIGNmZ18ucmNfdGFyZ2V0X2JpdHJhdGUgKz0gc3BhdGlhbF9iaXRyYXRlOwot
ICAgIH0KLQotICAgIGNmZ18ua2ZfbWluX2Rpc3QgPSBrZXlfaW50ZXJ2YWxfOwotICAgIGNmZ18u
a2ZfbWF4X2Rpc3QgPSBrZXlfaW50ZXJ2YWxfOwotICB9Ci0KLSAgdm9pZCBTZXRSQ0NvbmZpZ1N2
YyhpbnQgbnVtYmVyX3NwYXRpYWxfbGF5ZXJzLCBpbnQgbnVtYmVyX3RlbXBvcmFsX2xheWVycykg
ewotICAgIHJjX2NmZ18ud2lkdGggPSAxMjgwOwotICAgIHJjX2NmZ18uaGVpZ2h0ID0gNzIwOwot
ICAgIHJjX2NmZ18uc3NfbnVtYmVyX2xheWVycyA9IG51bWJlcl9zcGF0aWFsX2xheWVyczsKLSAg
ICByY19jZmdfLnRzX251bWJlcl9sYXllcnMgPSBudW1iZXJfdGVtcG9yYWxfbGF5ZXJzOwotICAg
IHJjX2NmZ18ubWF4X3F1YW50aXplciA9IDU2OwotICAgIHJjX2NmZ18ubWluX3F1YW50aXplciA9
IDI7Ci0gICAgcmNfY2ZnXy5idWZfaW5pdGlhbF9zeiA9IDUwMDsKLSAgICByY19jZmdfLmJ1Zl9v
cHRpbWFsX3N6ID0gNjAwOwotICAgIHJjX2NmZ18uYnVmX3N6ID0gMTAwMDsKLSAgICByY19jZmdf
LnVuZGVyc2hvb3RfcGN0ID0gNTA7Ci0gICAgcmNfY2ZnXy5vdmVyc2hvb3RfcGN0ID0gNTA7Ci0g
ICAgcmNfY2ZnXy5tYXhfaW50cmFfYml0cmF0ZV9wY3QgPSA5MDA7Ci0gICAgcmNfY2ZnXy5mcmFt
ZXJhdGUgPSAzMC4wOwotICAgIHJjX2NmZ18ucmNfbW9kZSA9IFZQWF9DQlI7Ci0gICAgcmNfY2Zn
Xy5hcV9tb2RlID0gYXFfbW9kZV87Ci0KLSAgICBpZiAobnVtYmVyX3NwYXRpYWxfbGF5ZXJzID09
IDMpIHsKLSAgICAgIHJjX2NmZ18uc2NhbGluZ19mYWN0b3JfbnVtWzBdID0gMTsKLSAgICAgIHJj
X2NmZ18uc2NhbGluZ19mYWN0b3JfZGVuWzBdID0gNDsKLSAgICAgIHJjX2NmZ18uc2NhbGluZ19m
YWN0b3JfbnVtWzFdID0gMjsKLSAgICAgIHJjX2NmZ18uc2NhbGluZ19mYWN0b3JfZGVuWzFdID0g
NDsKLSAgICAgIHJjX2NmZ18uc2NhbGluZ19mYWN0b3JfbnVtWzJdID0gNDsKLSAgICAgIHJjX2Nm
Z18uc2NhbGluZ19mYWN0b3JfZGVuWzJdID0gNDsKLSAgICB9IGVsc2UgaWYgKG51bWJlcl9zcGF0
aWFsX2xheWVycyA9PSAyKSB7Ci0gICAgICByY19jZmdfLnNjYWxpbmdfZmFjdG9yX251bVswXSA9
IDE7Ci0gICAgICByY19jZmdfLnNjYWxpbmdfZmFjdG9yX2RlblswXSA9IDI7Ci0gICAgICByY19j
ZmdfLnNjYWxpbmdfZmFjdG9yX251bVsxXSA9IDI7Ci0gICAgICByY19jZmdfLnNjYWxpbmdfZmFj
dG9yX2RlblsxXSA9IDI7Ci0gICAgfSBlbHNlIGlmIChudW1iZXJfc3BhdGlhbF9sYXllcnMgPT0g
MSkgewotICAgICAgcmNfY2ZnXy5zY2FsaW5nX2ZhY3Rvcl9udW1bMF0gPSAxOwotICAgICAgcmNf
Y2ZnXy5zY2FsaW5nX2ZhY3Rvcl9kZW5bMF0gPSAxOwotICAgIH0KLQotICAgIGlmIChudW1iZXJf
dGVtcG9yYWxfbGF5ZXJzID09IDMpIHsKLSAgICAgIHJjX2NmZ18udHNfcmF0ZV9kZWNpbWF0b3Jb
MF0gPSA0OwotICAgICAgcmNfY2ZnXy50c19yYXRlX2RlY2ltYXRvclsxXSA9IDI7Ci0gICAgICBy
Y19jZmdfLnRzX3JhdGVfZGVjaW1hdG9yWzJdID0gMTsKLSAgICB9IGVsc2UgaWYgKG51bWJlcl90
ZW1wb3JhbF9sYXllcnMgPT0gMikgewotICAgICAgcmNfY2ZnXy50c19yYXRlX2RlY2ltYXRvclsw
XSA9IDI7Ci0gICAgICByY19jZmdfLnRzX3JhdGVfZGVjaW1hdG9yWzFdID0gMTsKLSAgICB9IGVs
c2UgaWYgKG51bWJlcl90ZW1wb3JhbF9sYXllcnMgPT0gMSkgewotICAgICAgcmNfY2ZnXy50c19y
YXRlX2RlY2ltYXRvclswXSA9IDE7Ci0gICAgfQotCi0gICAgcmNfY2ZnXy50YXJnZXRfYmFuZHdp
ZHRoID0gMDsKLSAgICBmb3IgKGludCBzbCA9IDA7IHNsIDwgbnVtYmVyX3NwYXRpYWxfbGF5ZXJz
OyBzbCsrKSB7Ci0gICAgICBpbnQgc3BhdGlhbF9iaXRyYXRlID0gMDsKLSAgICAgIGlmIChudW1i
ZXJfc3BhdGlhbF9sYXllcnMgPD0gMykKLSAgICAgICAgc3BhdGlhbF9iaXRyYXRlID0ga1NwYXRp
YWxMYXllckJpdHJhdGVbc2xdOwotICAgICAgZm9yIChpbnQgdGwgPSAwOyB0bCA8IG51bWJlcl90
ZW1wb3JhbF9sYXllcnM7IHRsKyspIHsKLSAgICAgICAgaW50IGxheWVyID0gc2wgKiBudW1iZXJf
dGVtcG9yYWxfbGF5ZXJzICsgdGw7Ci0gICAgICAgIGlmIChudW1iZXJfdGVtcG9yYWxfbGF5ZXJz
ID09IDMpCi0gICAgICAgICAgcmNfY2ZnXy5sYXllcl90YXJnZXRfYml0cmF0ZVtsYXllcl0gPQot
ICAgICAgICAgICAgICBrVGVtcG9yYWxSYXRlQWxsb2NhdGlvbjNMYXllclt0bF0gKiBzcGF0aWFs
X2JpdHJhdGUgLyAxMDA7Ci0gICAgICAgIGVsc2UgaWYgKG51bWJlcl90ZW1wb3JhbF9sYXllcnMg
PT0gMikKLSAgICAgICAgICByY19jZmdfLmxheWVyX3RhcmdldF9iaXRyYXRlW2xheWVyXSA9Ci0g
ICAgICAgICAgICAgIGtUZW1wb3JhbFJhdGVBbGxvY2F0aW9uMkxheWVyW3RsXSAqIHNwYXRpYWxf
Yml0cmF0ZSAvIDEwMDsKLSAgICAgICAgZWxzZSBpZiAobnVtYmVyX3RlbXBvcmFsX2xheWVycyA9
PSAxKQotICAgICAgICAgIHJjX2NmZ18ubGF5ZXJfdGFyZ2V0X2JpdHJhdGVbbGF5ZXJdID0gc3Bh
dGlhbF9iaXRyYXRlOwotICAgICAgfQotICAgICAgcmNfY2ZnXy50YXJnZXRfYmFuZHdpZHRoICs9
IHNwYXRpYWxfYml0cmF0ZTsKLSAgICB9Ci0KLSAgICBmb3IgKGludCBzbCA9IDA7IHNsIDwgcmNf
Y2ZnXy5zc19udW1iZXJfbGF5ZXJzOyArK3NsKSB7Ci0gICAgICBmb3IgKGludCB0bCA9IDA7IHRs
IDwgcmNfY2ZnXy50c19udW1iZXJfbGF5ZXJzOyArK3RsKSB7Ci0gICAgICAgIGNvbnN0IGludCBp
ID0gc2wgKiByY19jZmdfLnRzX251bWJlcl9sYXllcnMgKyB0bDsKLSAgICAgICAgcmNfY2ZnXy5t
YXhfcXVhbnRpemVyc1tpXSA9IDU2OwotICAgICAgICByY19jZmdfLm1pbl9xdWFudGl6ZXJzW2ld
ID0gMjsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICBpbnQgYXFfbW9kZV87Ci0gIHN0ZDo6dW5p
cXVlX3B0cjxsaWJ2cHg6OlZQOVJhdGVDb250cm9sUlRDPiByY19hcGlfOwotICBsaWJ2cHg6OlZQ
OVJhdGVDb250cm9sUnRjQ29uZmlnIHJjX2NmZ187Ci0gIHZweF9zdmNfZXh0cmFfY2ZnX3Qgc3Zj
X3BhcmFtc187Ci0gIGxpYnZweDo6VlA5RnJhbWVQYXJhbXNRcFJUQyBmcmFtZV9wYXJhbXNfOwot
ICBib29sIGVuY29kZXJfZXhpdF87Ci0gIGludCBjdXJyZW50X3N1cGVyZnJhbWVfOwotICB1aW50
MzJfdCBzaXplc19bOF07Ci0gIGludCBrZXlfaW50ZXJ2YWxfOwotICBpbnQgZHluYW1pY19zcGF0
aWFsX2xheWVyc187Ci0gIGJvb2wgaW50ZXJfbGF5ZXJfcHJlZF9vZmZfOwotICAvLyBDb21wdXRl
UVAoKSBhbmQgUG9zdEVuY29kZVVwZGF0ZSgpIGRvbid0IG5lZWQgdG8gYmUgc2VxdWVudGlhbCBm
b3IgS1NWQy4KLSAgYm9vbCBwYXJhbGxlbF9zcGF0aWFsX2xheWVyc187Ci19OwotCi1URVNUX1Ao
UmNJbnRlcmZhY2VUZXN0LCBPbmVMYXllcikgeyBSdW5PbmVMYXllcigpOyB9Ci0KLVRFU1RfUChS
Y0ludGVyZmFjZVRlc3QsIE9uZUxheWVyVkJSUGVyaW9kaWNLZXkpIHsgUnVuT25lTGF5ZXJWQlJQ
ZXJpb2RpY0tleSgpOyB9Ci0KLVRFU1RfUChSY0ludGVyZmFjZVN2Y1Rlc3QsIFN2YykgeyBSdW5T
dmMoKTsgfQotCi1URVNUX1AoUmNJbnRlcmZhY2VTdmNUZXN0LCBTdmNQYXJhbGxlbFNwYXRpYWxM
YXllcnMpIHsKLSAgUnVuU3ZjUGFyYWxsZWxTcGF0aWFsTGF5ZXJzKCk7Ci19Ci0KLVRFU1RfUChS
Y0ludGVyZmFjZVN2Y1Rlc3QsIFN2Y1BlcmlvZGljS2V5KSB7IFJ1blN2Y1BlcmlvZGljS2V5KCk7
IH0KLQotVEVTVF9QKFJjSW50ZXJmYWNlU3ZjVGVzdCwgU3ZjRHluYW1pY1NwYXRpYWwpIHsgUnVu
U3ZjRHluYW1pY1NwYXRpYWwoKTsgfQotCi1WUDlfSU5TVEFOVElBVEVfVEVTVF9TVUlURShSY0lu
dGVyZmFjZVRlc3QsIDo6dGVzdGluZzo6VmFsdWVzKDAsIDMpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXMoVlBYX0NCUiwgVlBYX1ZCUikpOwotVlA5X0lOU1RB
TlRJQVRFX1RFU1RfU1VJVEUoUmNJbnRlcmZhY2VTdmNUZXN0LCA6OnRlc3Rpbmc6OlZhbHVlcygw
LCAzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKHRydWUs
IGZhbHNlKSk7Ci19ICAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92
cDlfcm9pX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X3JvaV90ZXN0LmNjCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTM0N2ZiMzY1ZmMuLjAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rlc3QvdnA5X3JvaV90ZXN0LmNjCisrKyAvZGV2L251bGwKQEAgLTEsMTQ4ICsw
LDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBXZWJNIHByb2plY3QgYXV0aG9y
cy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUu
IEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUg
Zm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0
IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGNzdGRpbnQ+Ci0jaW5jbHVk
ZSA8Y3N0ZGxpYj4KLSNpbmNsdWRlIDxjc3RyaW5nPgotCi0jaW5jbHVkZSAidGhpcmRfcGFydHkv
Z29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC5oIgotCi0jaW5jbHVkZSAidGVzdC9j
b2RlY19mYWN0b3J5LmgiCi0jaW5jbHVkZSAidGVzdC9lbmNvZGVfdGVzdF9kcml2ZXIuaCIKLSNp
bmNsdWRlICJ0ZXN0L2k0MjBfdmlkZW9fc291cmNlLmgiCi0jaW5jbHVkZSAidGVzdC91dGlsLmgi
Ci0jaW5jbHVkZSAidGVzdC92aWRlb19zb3VyY2UuaCIKLSNpbmNsdWRlICJ0ZXN0L3k0bV92aWRl
b19zb3VyY2UuaCIKLSNpbmNsdWRlICJ0ZXN0L3l1dl92aWRlb19zb3VyY2UuaCIKLSNpbmNsdWRl
ICJ2cHgvdnA4Y3guaCIKLSNpbmNsdWRlICJ2cHgvdnB4X2VuY29kZXIuaCIKLQotI2RlZmluZSBN
QVNLX1dJRFRIIDQwCi0jZGVmaW5lIE1BU0tfSEVJR0hUIDMwCi0jZGVmaW5lIE1BU0tfU0laRSBN
QVNLX1dJRFRIICpNQVNLX0hFSUdIVAotCi1uYW1lc3BhY2UgewotCi1jb25zdCBpbnQgbWFza1tN
QVNLX1NJWkVdID0gewotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAw
LCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAw
LCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLAot
ICAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAx
LCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAw
LCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAx
LAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLAot
ICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLAotICAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLAotICAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAxLCAxLCAxLCAxLCAwLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAxLCAxLCAxLCAx
LCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAwLCAxLCAx
LCAxLCAxLCAxLAotICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwCi19OwotCi1j
bGFzcyBSb2lNYXNrQmFja2dyb3VuZFNraXAgOiBwdWJsaWMgOjpsaWJ2cHhfdGVzdDo6RW5jb2Rl
clRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgOjp0ZXN0aW5nOjpU
ZXN0IHsKLSBwcm90ZWN0ZWQ6Ci0gIFJvaU1hc2tCYWNrZ3JvdW5kU2tpcCgpIDogRW5jb2RlclRl
c3QoJjo6bGlidnB4X3Rlc3Q6OmtWUDkpIHt9Ci0gIH5Sb2lNYXNrQmFja2dyb3VuZFNraXAoKSBv
dmVycmlkZSB7IGZyZWUocm9pXy5yb2lfbWFwKTsgfQotCi0gIHZvaWQgU2V0VXAoKSBvdmVycmlk
ZSB7Ci0gICAgSW5pdGlhbGl6ZUNvbmZpZygpOwotICAgIFNldE1vZGUoOjpsaWJ2cHhfdGVzdDo6
a1JlYWxUaW1lKTsKLSAgICBTZXRSb2koKTsKLSAgfQotCi0gIHZvaWQgU2V0Um9pKCkgewotICAg
IGNvbnN0IGludCBibG9ja19zaXplID0gODsKLSAgICB1bnNpZ25lZCBpbnQgaSwgajsKLSAgICBy
b2lfLnJvd3MgPSAoY2ZnXy5nX2ggKyBibG9ja19zaXplIC0gMSkgLyBibG9ja19zaXplOwotICAg
IHJvaV8uY29scyA9IChjZmdfLmdfdyArIGJsb2NrX3NpemUgLSAxKSAvIGJsb2NrX3NpemU7Ci0g
ICAgbWVtc2V0KCZyb2lfLnNraXAsIDAsIHNpemVvZihyb2lfLnNraXApKTsKLSAgICBtZW1zZXQo
JnJvaV8uZGVsdGFfcSwgMCwgc2l6ZW9mKHJvaV8uZGVsdGFfcSkpOwotICAgIG1lbXNldCgmcm9p
Xy5kZWx0YV9sZiwgMCwgc2l6ZW9mKHJvaV8uZGVsdGFfbGYpKTsKLSAgICBtZW1zZXQocm9pXy5y
ZWZfZnJhbWUsIC0xLCBzaXplb2Yocm9pXy5yZWZfZnJhbWUpKTsKLSAgICByb2lfLnJlZl9mcmFt
ZVsxXSA9IDE7Ci0gICAgLy8gVXNlIHNlZ21lbnQgMyBmb3Igc2tpcC4KLSAgICByb2lfLnNraXBb
M10gPSAxOwotICAgIHJvaV8ucm9pX21hcCA9Ci0gICAgICAgICh1aW50OF90ICopY2FsbG9jKHJv
aV8ucm93cyAqIHJvaV8uY29scywgc2l6ZW9mKCpyb2lfLnJvaV9tYXApKTsKLSAgICBmb3IgKGkg
PSAwOyBpIDwgcm9pXy5yb3dzOyArK2kpIHsKLSAgICAgIGZvciAoaiA9IDA7IGogPCByb2lfLmNv
bHM7ICsraikgewotICAgICAgICBjb25zdCBpbnQgaWR4ID0gaSAqIHJvaV8uY29scyArIGo7Ci0g
ICAgICAgIGlmIChtYXNrW2lkeF0gPT0gMSkgcm9pXy5yb2lfbWFwW2lkeF0gPSAzOwotICAgICAg
fQotICAgIH0KLSAgfQotCi0gIHZvaWQgUHJlRW5jb2RlRnJhbWVIb29rKDo6bGlidnB4X3Rlc3Q6
OlZpZGVvU291cmNlICp2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOjpsaWJ2cHhf
dGVzdDo6RW5jb2RlciAqZW5jb2Rlcikgb3ZlcnJpZGUgewotICAgIGlmICh2aWRlby0+ZnJhbWUo
KSA9PSAwKSB7Ci0gICAgICBlbmNvZGVyLT5Db250cm9sKFZQOEVfU0VUX0NQVVVTRUQsIDcpOwot
ICAgICAgZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9BUV9NT0RFLCAzKTsKLSAgICB9Ci0gICAg
ZW5jb2Rlci0+Q29udHJvbChWUDlFX1NFVF9ST0lfTUFQLCAmcm9pXyk7Ci0gIH0KLQotIHByaXZh
dGU6Ci0gIHZweF9yb2lfbWFwX3Qgcm9pXzsKLX07Ci0KLVRFU1RfRihSb2lNYXNrQmFja2dyb3Vu
ZFNraXAsIFJvaU1hc2tOb01pc21hdGNoKSB7Ci0gIGNmZ18ucmNfYnVmX2luaXRpYWxfc3ogPSA1
MDA7Ci0gIGNmZ18ucmNfYnVmX29wdGltYWxfc3ogPSA1MDA7Ci0gIGNmZ18ucmNfYnVmX3N6ID0g
MTAwMDsKLSAgY2ZnXy5yY191bmRlcnNob290X3BjdCA9IDIwOwotICBjZmdfLnJjX3VuZGVyc2hv
b3RfcGN0ID0gMjA7Ci0gIGNmZ18ucmNfZHJvcGZyYW1lX3RocmVzaCA9IDEwOwotICBjZmdfLnJj
X21pbl9xdWFudGl6ZXIgPSAwOwotICBjZmdfLnJjX21heF9xdWFudGl6ZXIgPSA1MDsKLSAgY2Zn
Xy5yY19lbmRfdXNhZ2UgPSBWUFhfQ0JSOwotICBjZmdfLnJjX3RhcmdldF9iaXRyYXRlID0gMjAw
OwotICBjZmdfLmdfbGFnX2luX2ZyYW1lcyA9IDA7Ci0gIGNmZ18ua2ZfbWF4X2Rpc3QgPSA5OTk5
OwotCi0gIDo6bGlidnB4X3Rlc3Q6Okk0MjBWaWRlb1NvdXJjZSB2aWRlbygiZGVza3RvcHF2Z2Eu
MzIwXzI0MC55dXYiLCAzMjAsIDI0MCwgMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxLCAwLCAxNTApOwotICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShSdW5Mb29w
KCZ2aWRlbykpOwotfQotfSAgLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rl
c3QvdnA5X3NjYWxlX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X3NjYWxlX3Rlc3QuY2MK
aW5kZXggMDQ5YTEwYTYxN2QzLi4yZDEyMDNmYjg5ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGVzdC92cDlfc2NhbGVfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X3NjYWxlX3Rl
c3QuY2MKQEAgLTMzLDEwICszMywxMCBAQCB0eXBlZGVmIHZvaWQgKCpTY2FsZUZyYW1lRnVuYyko
Y29uc3QgWVYxMl9CVUZGRVJfQ09ORklHICpzcmMsCiBjbGFzcyBTY2FsZVRlc3QgOiBwdWJsaWMg
VnB4U2NhbGVCYXNlLAogICAgICAgICAgICAgICAgICAgcHVibGljIDo6dGVzdGluZzo6VGVzdFdp
dGhQYXJhbTxTY2FsZUZyYW1lRnVuYz4gewogIHB1YmxpYzoKLSAgflNjYWxlVGVzdCgpIG92ZXJy
aWRlID0gZGVmYXVsdDsKKyAgdmlydHVhbCB+U2NhbGVUZXN0KCkge30KIAogIHByb3RlY3RlZDoK
LSAgdm9pZCBTZXRVcCgpIG92ZXJyaWRlIHsgc2NhbGVfZm5fID0gR2V0UGFyYW0oKTsgfQorICB2
aXJ0dWFsIHZvaWQgU2V0VXAoKSB7IHNjYWxlX2ZuXyA9IEdldFBhcmFtKCk7IH0KIAogICB2b2lk
IFJlZmVyZW5jZVNjYWxlRnJhbWUoSU5URVJQX0ZJTFRFUiBmaWx0ZXJfdHlwZSwgaW50IHBoYXNl
X3NjYWxlcikgewogICAgIHZwOV9zY2FsZV9hbmRfZXh0ZW5kX2ZyYW1lX2MoJmltZ18sICZyZWZf
aW1nXywgZmlsdGVyX3R5cGUsIHBoYXNlX3NjYWxlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3QvdnA5X3N1YnRyYWN0X3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X3N1YnRyYWN0
X3Rlc3QuY2MKaW5kZXggNzhkZWI1MTkwOWExLi5lZjhjYzIwN2Q2OGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC92cDlfc3VidHJhY3RfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qv
dnA5X3N1YnRyYWN0X3Rlc3QuY2MKQEAgLTcsNyArNyw2IEBACiAgKiAgaW4gdGhlIGZpbGUgUEFU
RU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQogICogIGJlIGZvdW5k
IGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgogICov
Ci0jaW5jbHVkZSA8dHVwbGU+CiAKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3Ny
Yy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCiAKQEAgLTE4LDExICsxNyw5IEBACiAjaW5jbHVkZSAi
dGVzdC9iZW5jaC5oIgogI2luY2x1ZGUgInRlc3QvY2xlYXJfc3lzdGVtX3N0YXRlLmgiCiAjaW5j
bHVkZSAidGVzdC9yZWdpc3Rlcl9zdGF0ZV9jaGVjay5oIgotI2luY2x1ZGUgInRlc3QvdXRpbC5o
IgogI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X2Jsb2NrZC5oIgogI2luY2x1ZGUgInZweF9wb3J0
cy9tc3ZjLmgiCiAjaW5jbHVkZSAidnB4X21lbS92cHhfbWVtLmgiCi0jaW5jbHVkZSAidnB4X3Bv
cnRzL3ZweF90aW1lci5oIgogCiB0eXBlZGVmIHZvaWQgKCpTdWJ0cmFjdEZ1bmMpKGludCByb3dz
LCBpbnQgY29scywgaW50MTZfdCAqZGlmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBkaWZmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc3JjX3B0ciwKQEAgLTM0
LDEwICszMSwxMCBAQCBuYW1lc3BhY2UgdnA5IHsKIGNsYXNzIFZQOVN1YnRyYWN0QmxvY2tUZXN0
IDogcHVibGljIEFic3RyYWN0QmVuY2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1
YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08U3VidHJhY3RGdW5jPiB7CiAgcHVibGljOgot
ICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGUgeyBsaWJ2cHhfdGVzdDo6Q2xlYXJTeXN0ZW1TdGF0
ZSgpOyB9CisgIHZpcnR1YWwgdm9pZCBUZWFyRG93bigpIHsgbGlidnB4X3Rlc3Q6OkNsZWFyU3lz
dGVtU3RhdGUoKTsgfQogCiAgcHJvdGVjdGVkOgotICB2b2lkIFJ1bigpIG92ZXJyaWRlIHsKKyAg
dmlydHVhbCB2b2lkIFJ1bigpIHsKICAgICBHZXRQYXJhbSgpKGJsb2NrX2hlaWdodF8sIGJsb2Nr
X3dpZHRoXywgZGlmZl8sIGJsb2NrX3dpZHRoXywgc3JjXywKICAgICAgICAgICAgICAgIGJsb2Nr
X3dpZHRoXywgcHJlZF8sIGJsb2NrX3dpZHRoXyk7CiAgIH0KQEAgLTEzNiwxMCArMTMzLDYgQEAg
SU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKEMsIFZQOVN1YnRyYWN0QmxvY2tUZXN0LAogSU5TVEFO
VElBVEVfVEVTVF9TVUlURV9QKFNTRTIsIFZQOVN1YnRyYWN0QmxvY2tUZXN0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKHZweF9zdWJ0cmFjdF9ibG9ja19zc2Uy
KSk7CiAjZW5kaWYKLSNpZiBIQVZFX0FWWDIKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChBVlgy
LCBWUDlTdWJ0cmFjdEJsb2NrVGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rp
bmc6OlZhbHVlcyh2cHhfc3VidHJhY3RfYmxvY2tfYXZ4MikpOwotI2VuZGlmCiAjaWYgSEFWRV9O
RU9OCiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTkVPTiwgVlA5U3VidHJhY3RCbG9ja1Rlc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjpWYWx1ZXModnB4X3N1YnRyYWN0
X2Jsb2NrX25lb24pKTsKQEAgLTE1OSwxNjMgKzE1Miw0IEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJ
VEVfUChWU1gsIFZQOVN1YnRyYWN0QmxvY2tUZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAg
IDo6dGVzdGluZzo6VmFsdWVzKHZweF9zdWJ0cmFjdF9ibG9ja192c3gpKTsKICNlbmRpZgogCi0j
aWYgSEFWRV9MU1gKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChMU1gsIFZQOVN1YnRyYWN0Qmxv
Y2tUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKHZweF9z
dWJ0cmFjdF9ibG9ja19sc3gpKTsKLSNlbmRpZgotCi0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQ
VEgKLQotdHlwZWRlZiB2b2lkICgqSEJEU3VidHJhY3RGdW5jKShpbnQgcm93cywgaW50IGNvbHMs
IGludDE2X3QgKmRpZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3QgZGlmZl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpw
cmVkX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRf
c3RyaWRlLCBpbnQgYmQpOwotCi0vLyA8QkxPQ0tfU0laRSwgYml0X2RlcHRoLCBvcHRpbWl6ZWQg
c3VidHJhY3QgZnVuYywgcmVmZXJlbmNlIHN1YnRyYWN0IGZ1bmM+Ci11c2luZyBQYXJhbXMgPSBz
dGQ6OnR1cGxlPEJMT0NLX1NJWkUsIGludCwgSEJEU3VidHJhY3RGdW5jLCBIQkRTdWJ0cmFjdEZ1
bmM+OwotCi1jbGFzcyBWUFhIQkRTdWJ0cmFjdEJsb2NrVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6
OlRlc3RXaXRoUGFyYW08UGFyYW1zPiB7Ci0gcHVibGljOgotICB2b2lkIFNldFVwKCkgb3ZlcnJp
ZGUgewotICAgIGJsb2NrX3dpZHRoXyA9IDQgKiBudW1fNHg0X2Jsb2Nrc193aWRlX2xvb2t1cFtH
RVRfUEFSQU0oMCldOwotICAgIGJsb2NrX2hlaWdodF8gPSA0ICogbnVtXzR4NF9ibG9ja3NfaGln
aF9sb29rdXBbR0VUX1BBUkFNKDApXTsKLSAgICBiaXRfZGVwdGhfID0gc3RhdGljX2Nhc3Q8dnB4
X2JpdF9kZXB0aF90PihHRVRfUEFSQU0oMSkpOwotICAgIGZ1bmNfID0gR0VUX1BBUkFNKDIpOwot
ICAgIHJlZl9mdW5jXyA9IEdFVF9QQVJBTSgzKTsKLQotICAgIHJuZF8uUmVzZXQoQUNNUmFuZG9t
OjpEZXRlcm1pbmlzdGljU2VlZCgpKTsKLQotICAgIGNvbnN0ZXhwciBzaXplX3Qga01heFdpZHRo
ID0gMTI4OwotICAgIGNvbnN0ZXhwciBzaXplX3Qga01heEJsb2NrU2l6ZSA9IGtNYXhXaWR0aCAq
IGtNYXhXaWR0aDsKLSAgICBzcmNfID0gQ09OVkVSVF9UT19CWVRFUFRSKHJlaW50ZXJwcmV0X2Nh
c3Q8dWludDE2X3QgKj4oCi0gICAgICAgIHZweF9tZW1hbGlnbigxNiwga01heEJsb2NrU2l6ZSAq
IHNpemVvZih1aW50MTZfdCkpKSk7Ci0gICAgQVNTRVJUX05FKHNyY18sIG51bGxwdHIpOwotICAg
IHByZWRfID0gQ09OVkVSVF9UT19CWVRFUFRSKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QgKj4o
Ci0gICAgICAgIHZweF9tZW1hbGlnbigxNiwga01heEJsb2NrU2l6ZSAqIHNpemVvZih1aW50MTZf
dCkpKSk7Ci0gICAgQVNTRVJUX05FKHByZWRfLCBudWxscHRyKTsKLSAgICBkaWZmXyA9IHJlaW50
ZXJwcmV0X2Nhc3Q8aW50MTZfdCAqPigKLSAgICAgICAgdnB4X21lbWFsaWduKDE2LCBrTWF4Qmxv
Y2tTaXplICogc2l6ZW9mKGludDE2X3QpKSk7Ci0gICAgQVNTRVJUX05FKGRpZmZfLCBudWxscHRy
KTsKLSAgfQotCi0gIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZSB7Ci0gICAgdnB4X2ZyZWUoQ09O
VkVSVF9UT19TSE9SVFBUUihzcmNfKSk7Ci0gICAgdnB4X2ZyZWUoQ09OVkVSVF9UT19TSE9SVFBU
UihwcmVkXykpOwotICAgIHZweF9mcmVlKGRpZmZfKTsKLSAgfQotCi0gcHJvdGVjdGVkOgotICB2
b2lkIENoZWNrUmVzdWx0KCk7Ci0gIHZvaWQgUnVuRm9yU3BlZWQoKTsKLQotIHByaXZhdGU6Ci0g
IEFDTVJhbmRvbSBybmRfOwotICBpbnQgYmxvY2tfaGVpZ2h0XzsKLSAgaW50IGJsb2NrX3dpZHRo
XzsKLSAgdnB4X2JpdF9kZXB0aF90IGJpdF9kZXB0aF87Ci0gIEhCRFN1YnRyYWN0RnVuYyBmdW5j
XzsKLSAgSEJEU3VidHJhY3RGdW5jIHJlZl9mdW5jXzsKLSAgdWludDhfdCAqc3JjXzsKLSAgdWlu
dDhfdCAqcHJlZF87Ci0gIGludDE2X3QgKmRpZmZfOwotfTsKLQotdm9pZCBWUFhIQkRTdWJ0cmFj
dEJsb2NrVGVzdDo6Q2hlY2tSZXN1bHQoKSB7Ci0gIGNvbnN0ZXhwciBpbnQga1Rlc3ROdW0gPSAx
MDA7Ci0gIGNvbnN0ZXhwciBpbnQga01heFdpZHRoID0gMTI4OwotICBjb25zdGV4cHIgaW50IGtN
YXhCbG9ja1NpemUgPSBrTWF4V2lkdGggKiBrTWF4V2lkdGg7Ci0gIGNvbnN0IGludCBtYXNrID0g
KDEgPDwgYml0X2RlcHRoXykgLSAxOwotICBmb3IgKGludCBpID0gMDsgaSA8IGtUZXN0TnVtOyAr
K2kpIHsKLSAgICBmb3IgKGludCBqID0gMDsgaiA8IGtNYXhCbG9ja1NpemU7ICsraikgewotICAg
ICAgQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfKVtqXSA9IHJuZF8uUmFuZDE2KCkgJiBtYXNrOwot
ICAgICAgQ09OVkVSVF9UT19TSE9SVFBUUihwcmVkXylbal0gPSBybmRfLlJhbmQxNigpICYgbWFz
azsKLSAgICB9Ci0KLSAgICBmdW5jXyhibG9ja19oZWlnaHRfLCBibG9ja193aWR0aF8sIGRpZmZf
LCBibG9ja193aWR0aF8sIHNyY18sIGJsb2NrX3dpZHRoXywKLSAgICAgICAgICBwcmVkXywgYmxv
Y2tfd2lkdGhfLCBiaXRfZGVwdGhfKTsKLQotICAgIGZvciAoaW50IHIgPSAwOyByIDwgYmxvY2tf
aGVpZ2h0XzsgKytyKSB7Ci0gICAgICBmb3IgKGludCBjID0gMDsgYyA8IGJsb2NrX3dpZHRoXzsg
KytjKSB7Ci0gICAgICAgIEVYUEVDVF9FUShkaWZmX1tyICogYmxvY2tfd2lkdGhfICsgY10sCi0g
ICAgICAgICAgICAgICAgICAoQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfKVtyICogYmxvY2tfd2lk
dGhfICsgY10gLQotICAgICAgICAgICAgICAgICAgIENPTlZFUlRfVE9fU0hPUlRQVFIocHJlZF8p
W3IgKiBibG9ja193aWR0aF8gKyBjXSkpCi0gICAgICAgICAgICA8PCAiciA9ICIgPDwgciA8PCAi
LCBjID0gIiA8PCBjIDw8ICIsIHRlc3Q6ICIgPDwgaTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLX0K
LQotVEVTVF9QKFZQWEhCRFN1YnRyYWN0QmxvY2tUZXN0LCBDaGVja1Jlc3VsdCkgeyBDaGVja1Jl
c3VsdCgpOyB9Ci0KLXZvaWQgVlBYSEJEU3VidHJhY3RCbG9ja1Rlc3Q6OlJ1bkZvclNwZWVkKCkg
ewotICBjb25zdGV4cHIgaW50IGtUZXN0TnVtID0gMjAwMDAwOwotICBjb25zdGV4cHIgaW50IGtN
YXhXaWR0aCA9IDEyODsKLSAgY29uc3RleHByIGludCBrTWF4QmxvY2tTaXplID0ga01heFdpZHRo
ICoga01heFdpZHRoOwotICBjb25zdCBpbnQgbWFzayA9ICgxIDw8IGJpdF9kZXB0aF8pIC0gMTsK
LQotICBpZiAocmVmX2Z1bmNfID09IGZ1bmNfKSBHVEVTVF9TS0lQKCk7Ci0KLSAgZm9yIChpbnQg
aiA9IDA7IGogPCBrTWF4QmxvY2tTaXplOyArK2opIHsKLSAgICBDT05WRVJUX1RPX1NIT1JUUFRS
KHNyY18pW2pdID0gcm5kXy5SYW5kMTYoKSAmIG1hc2s7Ci0gICAgQ09OVkVSVF9UT19TSE9SVFBU
UihwcmVkXylbal0gPSBybmRfLlJhbmQxNigpICYgbWFzazsKLSAgfQotCi0gIHZweF91c2VjX3Rp
bWVyIHJlZl90aW1lcjsKLSAgdnB4X3VzZWNfdGltZXJfc3RhcnQoJnJlZl90aW1lcik7Ci0gIGZv
ciAoaW50IGkgPSAwOyBpIDwga1Rlc3ROdW07ICsraSkgewotICAgIHJlZl9mdW5jXyhibG9ja19o
ZWlnaHRfLCBibG9ja193aWR0aF8sIGRpZmZfLCBibG9ja193aWR0aF8sIHNyY18sCi0gICAgICAg
ICAgICAgIGJsb2NrX3dpZHRoXywgcHJlZF8sIGJsb2NrX3dpZHRoXywgYml0X2RlcHRoXyk7Ci0g
IH0KLSAgdnB4X3VzZWNfdGltZXJfbWFyaygmcmVmX3RpbWVyKTsKLSAgY29uc3QgaW50NjRfdCBy
ZWZfZWxhcHNlZF90aW1lID0gdnB4X3VzZWNfdGltZXJfZWxhcHNlZCgmcmVmX3RpbWVyKTsKLQot
ICBmb3IgKGludCBqID0gMDsgaiA8IGtNYXhCbG9ja1NpemU7ICsraikgewotICAgIENPTlZFUlRf
VE9fU0hPUlRQVFIoc3JjXylbal0gPSBybmRfLlJhbmQxNigpICYgbWFzazsKLSAgICBDT05WRVJU
X1RPX1NIT1JUUFRSKHByZWRfKVtqXSA9IHJuZF8uUmFuZDE2KCkgJiBtYXNrOwotICB9Ci0KLSAg
dnB4X3VzZWNfdGltZXIgdGltZXI7Ci0gIHZweF91c2VjX3RpbWVyX3N0YXJ0KCZ0aW1lcik7Ci0g
IGZvciAoaW50IGkgPSAwOyBpIDwga1Rlc3ROdW07ICsraSkgewotICAgIGZ1bmNfKGJsb2NrX2hl
aWdodF8sIGJsb2NrX3dpZHRoXywgZGlmZl8sIGJsb2NrX3dpZHRoXywgc3JjXywgYmxvY2tfd2lk
dGhfLAotICAgICAgICAgIHByZWRfLCBibG9ja193aWR0aF8sIGJpdF9kZXB0aF8pOwotICB9Ci0g
IHZweF91c2VjX3RpbWVyX21hcmsoJnRpbWVyKTsKLSAgY29uc3QgaW50NjRfdCBlbGFwc2VkX3Rp
bWUgPSB2cHhfdXNlY190aW1lcl9lbGFwc2VkKCZ0aW1lcik7Ci0KLSAgcHJpbnRmKAotICAgICAg
IlslZHglZF06ICIKLSAgICAgICJyZWZfdGltZT0lNiIgUFJJZDY0ICIgXHQgc2ltZF90aW1lPSU2
IiBQUklkNjQKLSAgICAgICIgXHQgIgotICAgICAgImdhaW49JWYgXG4iLAotICAgICAgYmxvY2tf
d2lkdGhfLCBibG9ja19oZWlnaHRfLCByZWZfZWxhcHNlZF90aW1lLCBlbGFwc2VkX3RpbWUsCi0g
ICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHJlZl9lbGFwc2VkX3RpbWUpIC8KLSAgICAgICAgICBz
dGF0aWNfY2FzdDxkb3VibGU+KGVsYXBzZWRfdGltZSkpOwotfQotCi1URVNUX1AoVlBYSEJEU3Vi
dHJhY3RCbG9ja1Rlc3QsIERJU0FCTEVEX1NwZWVkKSB7IFJ1bkZvclNwZWVkKCk7IH0KLQotY29u
c3QgQkxPQ0tfU0laRSBrVmFsaWRCbG9ja1NpemVbXSA9IHsgQkxPQ0tfNFg0LCAgIEJMT0NLXzRY
OCwgICBCTE9DS184WDQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC
TE9DS184WDgsICAgQkxPQ0tfOFgxNiwgIEJMT0NLXzE2WDgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBCTE9DS18xNlgxNiwgQkxPQ0tfMTZYMzIsIEJMT0NLXzMyWDE2
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkxPQ0tfMzJYMzIsIEJM
T0NLXzMyWDY0LCBCTE9DS182NFgzMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEJMT0NLXzY0WDY0IH07Ci0KLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUCgKLSAgICBD
LCBWUFhIQkRTdWJ0cmFjdEJsb2NrVGVzdCwKLSAgICA6OnRlc3Rpbmc6OkNvbWJpbmUoOjp0ZXN0
aW5nOjpWYWx1ZXNJbihrVmFsaWRCbG9ja1NpemUpLAotICAgICAgICAgICAgICAgICAgICAgICA6
OnRlc3Rpbmc6OlZhbHVlcygxMiksCi0gICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6
VmFsdWVzKCZ2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX2MpLAotICAgICAgICAgICAgICAgICAg
ICAgICA6OnRlc3Rpbmc6OlZhbHVlcygmdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9ja19jKSkpOwot
Ci0jaWYgSEFWRV9BVlgyCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCi0gICAgQVZYMiwgVlBY
SEJEU3VidHJhY3RCbG9ja1Rlc3QsCi0gICAgOjp0ZXN0aW5nOjpDb21iaW5lKDo6dGVzdGluZzo6
VmFsdWVzSW4oa1ZhbGlkQmxvY2tTaXplKSwKLSAgICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0
aW5nOjpWYWx1ZXMoMTIpLAotICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVl
cygmdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9ja19hdngyKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgOjp0ZXN0aW5nOjpWYWx1ZXMoJnZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2tfYykpKTsKLSNl
bmRpZiAgLy8gSEFWRV9BVlgyCi0KLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgK
IH0gIC8vIG5hbWVzcGFjZSB2cDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfdGhy
ZWFkX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5X3RocmVhZF90ZXN0LmNjCmluZGV4IGMw
Y2VhNjgxZDdhYy4uMzUyYWQ3MWVjYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QvdnA5
X3RocmVhZF90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cDlfdGhyZWFkX3Rlc3QuY2MK
QEAgLTI2LDEwICsyNiwxMCBAQCB1c2luZyBzdGQ6OnN0cmluZzsKIAogY2xhc3MgVlB4V29ya2Vy
VGhyZWFkVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08Ym9vbD4gewogIHBy
b3RlY3RlZDoKLSAgflZQeFdvcmtlclRocmVhZFRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7Ci0g
IHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7IHZweF9nZXRfd29ya2VyX2ludGVyZmFjZSgpLT5pbml0
KCZ3b3JrZXJfKTsgfQorICB2aXJ0dWFsIH5WUHhXb3JrZXJUaHJlYWRUZXN0KCkge30KKyAgdmly
dHVhbCB2b2lkIFNldFVwKCkgeyB2cHhfZ2V0X3dvcmtlcl9pbnRlcmZhY2UoKS0+aW5pdCgmd29y
a2VyXyk7IH0KIAotICB2b2lkIFRlYXJEb3duKCkgb3ZlcnJpZGUgeyB2cHhfZ2V0X3dvcmtlcl9p
bnRlcmZhY2UoKS0+ZW5kKCZ3b3JrZXJfKTsgfQorICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7
IHZweF9nZXRfd29ya2VyX2ludGVyZmFjZSgpLT5lbmQoJndvcmtlcl8pOyB9CiAKICAgdm9pZCBS
dW4oVlB4V29ya2VyICp3b3JrZXIpIHsKICAgICBjb25zdCBib29sIHN5bmNocm9ub3VzID0gR2V0
UGFyYW0oKTsKQEAgLTE0OCw2ICsxNDgsMTEgQEAgVEVTVChWUHhXb3JrZXJUaHJlYWRUZXN0LCBU
ZXN0SW50ZXJmYWNlQVBJKSB7CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gTXVsdGktdGhy
ZWFkZWQgZGVjb2RlIHRlc3RzCiAjaWYgQ09ORklHX1dFQk1fSU8KK3N0cnVjdCBGaWxlTGlzdCB7
CisgIGNvbnN0IGNoYXIgKm5hbWU7CisgIGNvbnN0IGNoYXIgKmV4cGVjdGVkX21kNTsKK307CisK
IC8vIERlY29kZXMgfGZpbGVuYW1lfCB3aXRoIHxudW1fdGhyZWFkc3wuIFJldHVybnMgdGhlIG1k
NSBvZiB0aGUgZGVjb2RlZCBmcmFtZXMuCiBzdHJpbmcgRGVjb2RlRmlsZShjb25zdCBzdHJpbmcg
JmZpbGVuYW1lLCBpbnQgbnVtX3RocmVhZHMpIHsKICAgbGlidnB4X3Rlc3Q6OldlYk1WaWRlb1Nv
dXJjZSB2aWRlbyhmaWxlbmFtZSk7CkBAIC0xNzcsNiArMTgyLDE2IEBAIHN0cmluZyBEZWNvZGVG
aWxlKGNvbnN0IHN0cmluZyAmZmlsZW5hbWUsIGludCBudW1fdGhyZWFkcykgewogICByZXR1cm4g
c3RyaW5nKG1kNS5HZXQoKSk7CiB9CiAKK3ZvaWQgRGVjb2RlRmlsZXMoY29uc3QgRmlsZUxpc3Qg
ZmlsZXNbXSkgeworICBmb3IgKGNvbnN0IEZpbGVMaXN0ICppdGVyID0gZmlsZXM7IGl0ZXItPm5h
bWUgIT0gbnVsbHB0cjsgKytpdGVyKSB7CisgICAgU0NPUEVEX1RSQUNFKGl0ZXItPm5hbWUpOwor
ICAgIGZvciAoaW50IHQgPSAxOyB0IDw9IDg7ICsrdCkgeworICAgICAgRVhQRUNUX0VRKGl0ZXIt
PmV4cGVjdGVkX21kNSwgRGVjb2RlRmlsZShpdGVyLT5uYW1lLCB0KSkKKyAgICAgICAgICA8PCAi
dGhyZWFkcyA9ICIgPDwgdDsKKyAgICB9CisgIH0KK30KKwogLy8gVHJpdmlhbCBzZXJpYWxpemVk
IHRocmVhZCB3b3JrZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uLgogLy8gTm90ZSBhbnkgd29y
a2VyIHRoYXQgcmVxdWlyZXMgc3luY2hyb25pemF0aW9uIGJldHdlZW4gb3RoZXIgd29ya2VycyB3
aWxsCiAvLyBoYW5nLgpAQCAtMjAxLDYgKzIxNiwxMCBAQCBURVNUKFZQeFdvcmtlclRocmVhZFRl
c3QsIFRlc3RTZXJpYWxJbnRlcmZhY2UpIHsKICAgc3RhdGljIGNvbnN0IFZQeFdvcmtlckludGVy
ZmFjZSBzZXJpYWxfaW50ZXJmYWNlID0gewogICAgIGltcGw6OkluaXQsIGltcGw6OlJlc2V0LCBp
bXBsOjpTeW5jLCBpbXBsOjpMYXVuY2gsIGltcGw6OkV4ZWN1dGUsIGltcGw6OkVuZAogICB9Owor
ICAvLyBUT0RPKGp6ZXJuKTogQXZvaWQgdXNpbmcgYSBmaWxlIHRoYXQgd2lsbCB1c2UgdGhlIHJv
dy1iYXNlZCB0aHJlYWQKKyAgLy8gbG9vcGZpbHRlciwgd2l0aCB0aGUgc2ltcGxlIHNlcmlhbGl6
ZWQgaW1wbGVtZW50YXRpb24gaXQgd2lsbCBoYW5nLiBUaGlzIGlzCisgIC8vIGR1ZSB0byBpdHMg
ZXhwZWN0YXRpb24gdGhhdCByb3dzIHdpbGwgYmUgcnVuIGluIHBhcmFsbGVsIGFzIHRoZXkgd2Fp
dCBvbgorICAvLyBwcm9ncmVzcyBpbiB0aGUgcm93IGFib3ZlIGJlZm9yZSBwcm9jZWVkaW5nLgog
ICBzdGF0aWMgY29uc3QgY2hhciBleHBlY3RlZF9tZDVbXSA9ICJiMzVhMWI3MDdiMjhlODJiZTAy
NWQ5NjBhYmEwMzliYyI7CiAgIHN0YXRpYyBjb25zdCBjaGFyIGZpbGVuYW1lW10gPSAidnA5MC0y
LTAzLXNpemUtMjI2eDIyNi53ZWJtIjsKICAgVlB4V29ya2VySW50ZXJmYWNlIGRlZmF1bHRfaW50
ZXJmYWNlID0gKnZweF9nZXRfd29ya2VyX2ludGVyZmFjZSgpOwpAQCAtMjEzLDgxICsyMzIsODgg
QEAgVEVTVChWUHhXb3JrZXJUaHJlYWRUZXN0LCBUZXN0U2VyaWFsSW50ZXJmYWNlKSB7CiAgIEVY
UEVDVF9FUShleHBlY3RlZF9tZDUsIERlY29kZUZpbGUoZmlsZW5hbWUsIDIpKTsKIH0KIAotc3Ry
dWN0IEZpbGVQYXJhbSB7Ci0gIGNvbnN0IGNoYXIgKm5hbWU7Ci0gIGNvbnN0IGNoYXIgKmV4cGVj
dGVkX21kNTsKLSAgZnJpZW5kIHN0ZDo6b3N0cmVhbSAmb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0g
Jm9zLCBjb25zdCBGaWxlUGFyYW0gJnBhcmFtKSB7Ci0gICAgcmV0dXJuIG9zIDw8ICJmaWxlIG5h
bWU6ICIgPDwgcGFyYW0ubmFtZQotICAgICAgICAgICAgICA8PCAiIGRpZ2VzdDogIiA8PCBwYXJh
bS5leHBlY3RlZF9tZDU7Ci0gIH0KLX07CitURVNUKFZQOURlY29kZU11bHRpVGhyZWFkZWRUZXN0
LCBOb1RpbGVzTm9uRnJhbWVQYXJhbGxlbCkgeworICAvLyBubyB0aWxlcyBvciBmcmFtZSBwYXJh
bGxlbDsgdGhpcyBleGVyY2lzZXMgbG9vcCBmaWx0ZXIgdGhyZWFkaW5nLgorICBFWFBFQ1RfRVEo
ImIzNWExYjcwN2IyOGU4MmJlMDI1ZDk2MGFiYTAzOWJjIiwKKyAgICAgICAgICAgIERlY29kZUZp
bGUoInZwOTAtMi0wMy1zaXplLTIyNngyMjYud2VibSIsIDIpKTsKK30KIAotY2xhc3MgVlA5RGVj
b2RlTXVsdGlUaHJlYWRlZFRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEZp
bGVQYXJhbT4gewotfTsKK1RFU1QoVlA5RGVjb2RlTXVsdGlUaHJlYWRlZFRlc3QsIEZyYW1lUGFy
YWxsZWwpIHsKKyAgc3RhdGljIGNvbnN0IEZpbGVMaXN0IGZpbGVzW10gPSB7IHsgInZwOTAtMi0w
OC10aWxlXzF4Ml9mcmFtZV9wYXJhbGxlbC53ZWJtIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIjY4ZWRlNmFiZDY2YmFlMGEyZWRmMmViOTIzMjI0MWI2IiB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAidnA5MC0yLTA4LXRpbGVfMXg0X2Zy
YW1lX3BhcmFsbGVsLndlYm0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiMzY4ZWJjNmViZjNhNWU0NzhkODViMmMzMTQ5YjI4NDgiIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7ICJ2cDkwLTItMDgtdGlsZV8xeDhfZnJhbWVfcGFyYWxsZWwu
d2VibSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxN2U0MzlkYTIz
ODhhZmYzYTBmNjljYjIyNTc5YzZjMSIgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHsgbnVsbHB0ciwgbnVsbHB0ciB9IH07CiAKLVRFU1RfUChWUDlEZWNvZGVNdWx0aVRo
cmVhZGVkVGVzdCwgRGVjb2RlKSB7Ci0gIGZvciAoaW50IHQgPSAxOyB0IDw9IDg7ICsrdCkgewot
ICAgIEVYUEVDVF9FUShHZXRQYXJhbSgpLmV4cGVjdGVkX21kNSwgRGVjb2RlRmlsZShHZXRQYXJh
bSgpLm5hbWUsIHQpKQotICAgICAgICA8PCAidGhyZWFkcyA9ICIgPDwgdDsKLSAgfQorICBEZWNv
ZGVGaWxlcyhmaWxlcyk7CiB9CiAKLWNvbnN0IEZpbGVQYXJhbSBrTm9UaWxlc05vbkZyYW1lUGFy
YWxsZWxGaWxlc1tdID0gewotICB7ICJ2cDkwLTItMDMtc2l6ZS0yMjZ4MjI2LndlYm0iLCAiYjM1
YTFiNzA3YjI4ZTgyYmUwMjVkOTYwYWJhMDM5YmMiIH0KLX07Ci0KLWNvbnN0IEZpbGVQYXJhbSBr
RnJhbWVQYXJhbGxlbEZpbGVzW10gPSB7Ci0gIHsgInZwOTAtMi0wOC10aWxlXzF4Ml9mcmFtZV9w
YXJhbGxlbC53ZWJtIiwKLSAgICAiNjhlZGU2YWJkNjZiYWUwYTJlZGYyZWI5MjMyMjQxYjYiIH0s
Ci0gIHsgInZwOTAtMi0wOC10aWxlXzF4NF9mcmFtZV9wYXJhbGxlbC53ZWJtIiwKLSAgICAiMzY4
ZWJjNmViZjNhNWU0NzhkODViMmMzMTQ5YjI4NDgiIH0sCi0gIHsgInZwOTAtMi0wOC10aWxlXzF4
OF9mcmFtZV9wYXJhbGxlbC53ZWJtIiwKLSAgICAiMTdlNDM5ZGEyMzg4YWZmM2EwZjY5Y2IyMjU3
OWM2YzEiIH0sCi19OworVEVTVChWUDlEZWNvZGVNdWx0aVRocmVhZGVkVGVzdCwgRnJhbWVQYXJh
bGxlbFJlc2l6ZSkgeworICBzdGF0aWMgY29uc3QgRmlsZUxpc3QgZmlsZXNbXSA9IHsKKyAgICB7
ICJ2cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTEtMTYud2VibSIsCisgICAgICAiMGNkNWU2MzJj
MzI2Mjk3ZTk3NWYzODk0OWMzMWVhOTQiIH0sCisgICAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10
aWxlcy0xLTItNC04LTE2LndlYm0iLAorICAgICAgIjVjNzhhOTZhNDJlN2Y0YTRmNmIyZWRjZGI3
OTFlNDRjIiB9LAorICAgIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMS0yLndlYm0iLAor
ICAgICAgImUwMzA0NTBhZTg1YzMyNzdiZTJhNDE4NzY5ZGY5OGUyIiB9LAorICAgIHsgInZwOTAt
Mi0xNC1yZXNpemUtZnAtdGlsZXMtMS00LndlYm0iLAorICAgICAgIjMxMmVlZDRlMmI2NGViN2E0
ZTdmMTg5MTY2MDZhNDMwIiB9LAorICAgIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMTYt
MS53ZWJtIiwKKyAgICAgICIxNzU1YzE2ZDhhZjE2YTljYjNmZTczMzhkOTBhYmU1MiIgfSwKKyAg
ICB7ICJ2cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTE2LTIud2VibSIsCisgICAgICAiNTAwMzAw
NTkyZDNmY2I2ZjEyZmFiMjVlNDhhYWY0ZGYiIH0sCisgICAgeyAidnA5MC0yLTE0LXJlc2l6ZS1m
cC10aWxlcy0xNi00LndlYm0iLAorICAgICAgIjQ3YzQ4Mzc5ZmE2MzMxMjE1ZDkxYzY3NjQ4ZTFh
ZjZlIiB9LAorICAgIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMTYtOC00LTItMS53ZWJt
IiwKKyAgICAgICJlZWNmMTcyOTA3MzliYzcwODUwNmZhNDgyNzY2NTk4OSIgfSwKKyAgICB7ICJ2
cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTE2LTgud2VibSIsCisgICAgICAiMjliNmJiNTRlNGMy
NmI1Y2E4NWQ1ZGU1ZmVkOTRlNzYiIH0sCisgICAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxl
cy0xLTgud2VibSIsCisgICAgICAiMWI2ZjE3NWUwOGNkODJjZjg0YmI4MDBhYzZkMWNhYTMiIH0s
CisgICAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxlcy0yLTE2LndlYm0iLAorICAgICAgImNh
M2IwM2U0MTk3OTk1ZDhkNTQ0NGVkZTdhNmMwODA0IiB9LAorICAgIHsgInZwOTAtMi0xNC1yZXNp
emUtZnAtdGlsZXMtMi0xLndlYm0iLAorICAgICAgIjk5YWVjMDY1MzY5ZDcwYmJiNzhjY2RmZjY1
YWZlZDNmIiB9LAorICAgIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMi00LndlYm0iLAor
ICAgICAgIjIyZDBlYmRiNDliODdkMjkyMGE4NWFlYTMyZTFhZmQ1IiB9LAorICAgIHsgInZwOTAt
Mi0xNC1yZXNpemUtZnAtdGlsZXMtMi04LndlYm0iLAorICAgICAgImMyMTE1Y2YwNTFjNjJlMGY3
ZGIxZDRhNzgzODMxNTQxIiB9LAorICAgIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtNC0x
Ni53ZWJtIiwKKyAgICAgICJjNjkwZDdlMTcxOWIzMTM2NzU2NGNhYzBhZjA5MzljYiIgfSwKKyAg
ICB7ICJ2cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTQtMS53ZWJtIiwKKyAgICAgICJhOTI2MDIw
YjJjYzNlMTVhZDRjYzI3MTg1M2EwZmYyNiIgfSwKKyAgICB7ICJ2cDkwLTItMTQtcmVzaXplLWZw
LXRpbGVzLTQtMi53ZWJtIiwKKyAgICAgICI0MjY5OTA2M2Q5ZTU4MWYxOTkzZDBjZjg5MGMyYmU3
OCIgfSwKKyAgICB7ICJ2cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTQtOC53ZWJtIiwKKyAgICAg
ICI3Zjc2ZDk2MDM2MzgyZjQ1MTIxZTNkNWFhNmY4ZWM1MiIgfSwKKyAgICB7ICJ2cDkwLTItMTQt
cmVzaXplLWZwLXRpbGVzLTgtMTYud2VibSIsCisgICAgICAiNzZhNDNmY2RkN2U2NTg1NDI5MTNl
YTQzMjE2ZWM1NWQiIH0sCisgICAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxlcy04LTEud2Vi
bSIsCisgICAgICAiOGUzZmJlODk0ODZjYTYwYTU5Mjk5ZGVhOWRhOTEzNzgiIH0sCisgICAgeyAi
dnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxlcy04LTIud2VibSIsCisgICAgICAiYWU5NmYyMWYyMWI2
MzcwY2MwMTI1NjIxYjQ0MWZjNTIiIH0sCisgICAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxl
cy04LTQud2VibSIsCisgICAgICAiM2ViNGYyNGYxMDY0MGQ0MjIxOGY3ZmQ3YjlmZDMwZDQiIH0s
CisgICAgeyBudWxscHRyLCBudWxscHRyIH0KKyAgfTsKIAotY29uc3QgRmlsZVBhcmFtIGtGcmFt
ZVBhcmFsbGVsUmVzaXplRmlsZXNbXSA9IHsKLSAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxl
cy0xLTE2LndlYm0iLCAiMGNkNWU2MzJjMzI2Mjk3ZTk3NWYzODk0OWMzMWVhOTQiIH0sCi0gIHsg
InZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMS0yLTQtOC0xNi53ZWJtIiwKLSAgICAiNWM3OGE5
NmE0MmU3ZjRhNGY2YjJlZGNkYjc5MWU0NGMiIH0sCi0gIHsgInZwOTAtMi0xNC1yZXNpemUtZnAt
dGlsZXMtMS0yLndlYm0iLCAiZTAzMDQ1MGFlODVjMzI3N2JlMmE0MTg3NjlkZjk4ZTIiIH0sCi0g
IHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMS00LndlYm0iLCAiMzEyZWVkNGUyYjY0ZWI3
YTRlN2YxODkxNjYwNmE0MzAiIH0sCi0gIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMTYt
MS53ZWJtIiwgIjE3NTVjMTZkOGFmMTZhOWNiM2ZlNzMzOGQ5MGFiZTUyIiB9LAotICB7ICJ2cDkw
LTItMTQtcmVzaXplLWZwLXRpbGVzLTE2LTIud2VibSIsICI1MDAzMDA1OTJkM2ZjYjZmMTJmYWIy
NWU0OGFhZjRkZiIgfSwKLSAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxlcy0xNi00LndlYm0i
LCAiNDdjNDgzNzlmYTYzMzEyMTVkOTFjNjc2NDhlMWFmNmUiIH0sCi0gIHsgInZwOTAtMi0xNC1y
ZXNpemUtZnAtdGlsZXMtMTYtOC00LTItMS53ZWJtIiwKLSAgICAiZWVjZjE3MjkwNzM5YmM3MDg1
MDZmYTQ4Mjc2NjU5ODkiIH0sCi0gIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtMTYtOC53
ZWJtIiwgIjI5YjZiYjU0ZTRjMjZiNWNhODVkNWRlNWZlZDk0ZTc2IiB9LAotICB7ICJ2cDkwLTIt
MTQtcmVzaXplLWZwLXRpbGVzLTEtOC53ZWJtIiwgIjFiNmYxNzVlMDhjZDgyY2Y4NGJiODAwYWM2
ZDFjYWEzIiB9LAotICB7ICJ2cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTItMTYud2VibSIsICJj
YTNiMDNlNDE5Nzk5NWQ4ZDU0NDRlZGU3YTZjMDgwNCIgfSwKLSAgeyAidnA5MC0yLTE0LXJlc2l6
ZS1mcC10aWxlcy0yLTEud2VibSIsICI5OWFlYzA2NTM2OWQ3MGJiYjc4Y2NkZmY2NWFmZWQzZiIg
fSwKLSAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxlcy0yLTQud2VibSIsICIyMmQwZWJkYjQ5
Yjg3ZDI5MjBhODVhZWEzMmUxYWZkNSIgfSwKLSAgeyAidnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxl
cy0yLTgud2VibSIsICJjMjExNWNmMDUxYzYyZTBmN2RiMWQ0YTc4MzgzMTU0MSIgfSwKLSAgeyAi
dnA5MC0yLTE0LXJlc2l6ZS1mcC10aWxlcy00LTE2LndlYm0iLCAiYzY5MGQ3ZTE3MTliMzEzNjc1
NjRjYWMwYWYwOTM5Y2IiIH0sCi0gIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtNC0xLndl
Ym0iLCAiYTkyNjAyMGIyY2MzZTE1YWQ0Y2MyNzE4NTNhMGZmMjYiIH0sCi0gIHsgInZwOTAtMi0x
NC1yZXNpemUtZnAtdGlsZXMtNC0yLndlYm0iLCAiNDI2OTkwNjNkOWU1ODFmMTk5M2QwY2Y4OTBj
MmJlNzgiIH0sCi0gIHsgInZwOTAtMi0xNC1yZXNpemUtZnAtdGlsZXMtNC04LndlYm0iLCAiN2Y3
NmQ5NjAzNjM4MmY0NTEyMWUzZDVhYTZmOGVjNTIiIH0sCi0gIHsgInZwOTAtMi0xNC1yZXNpemUt
ZnAtdGlsZXMtOC0xNi53ZWJtIiwgIjc2YTQzZmNkZDdlNjU4NTQyOTEzZWE0MzIxNmVjNTVkIiB9
LAotICB7ICJ2cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTgtMS53ZWJtIiwgIjhlM2ZiZTg5NDg2
Y2E2MGE1OTI5OWRlYTlkYTkxMzc4IiB9LAotICB7ICJ2cDkwLTItMTQtcmVzaXplLWZwLXRpbGVz
LTgtMi53ZWJtIiwgImFlOTZmMjFmMjFiNjM3MGNjMDEyNTYyMWI0NDFmYzUyIiB9LAotICB7ICJ2
cDkwLTItMTQtcmVzaXplLWZwLXRpbGVzLTgtNC53ZWJtIiwgIjNlYjRmMjRmMTA2NDBkNDIyMThm
N2ZkN2I5ZmQzMGQ0IiB9LAotfTsKKyAgRGVjb2RlRmlsZXMoZmlsZXMpOworfQogCi1jb25zdCBG
aWxlUGFyYW0ga05vbkZyYW1lUGFyYWxsZWxGaWxlc1tdID0gewotICB7ICJ2cDkwLTItMDgtdGls
ZV8xeDIud2VibSIsICI1NzBiNGE1ZDVhNzBkNThiNTM1OTY3MTY2ODMyOGExNiIgfSwKLSAgeyAi
dnA5MC0yLTA4LXRpbGVfMXg0LndlYm0iLCAiOTg4ZDg2MDQ5ZTg4NGM2NjkwOWQyZDE2M2EwOTg0
MWEiIH0sCi0gIHsgInZwOTAtMi0wOC10aWxlXzF4OC53ZWJtIiwgIjA5NDE5MDJhNTJlOTA5MmNi
MDEwOTA1ZWFiMTYzNjRjIiB9LAotICB7ICJ2cDkwLTItMDgtdGlsZS00eDEud2VibSIsICIwNjUw
NWFhZGU2NjQ3YzU4M2M4ZTAwYTJmNTgyMjY2ZiIgfSwKLSAgeyAidnA5MC0yLTA4LXRpbGUtNHg0
LndlYm0iLCAiODVjMjI5OTg5MjQ2MGQ3NmUyYzYwMDUwMmQ1MmJmZTIiIH0sCi19OworVEVTVChW
UDlEZWNvZGVNdWx0aVRocmVhZGVkVGVzdCwgTm9uRnJhbWVQYXJhbGxlbCkgeworICBzdGF0aWMg
Y29uc3QgRmlsZUxpc3QgZmlsZXNbXSA9IHsKKyAgICB7ICJ2cDkwLTItMDgtdGlsZV8xeDIud2Vi
bSIsICI1NzBiNGE1ZDVhNzBkNThiNTM1OTY3MTY2ODMyOGExNiIgfSwKKyAgICB7ICJ2cDkwLTIt
MDgtdGlsZV8xeDQud2VibSIsICI5ODhkODYwNDllODg0YzY2OTA5ZDJkMTYzYTA5ODQxYSIgfSwK
KyAgICB7ICJ2cDkwLTItMDgtdGlsZV8xeDgud2VibSIsICIwOTQxOTAyYTUyZTkwOTJjYjAxMDkw
NWVhYjE2MzY0YyIgfSwKKyAgICB7ICJ2cDkwLTItMDgtdGlsZS00eDEud2VibSIsICIwNjUwNWFh
ZGU2NjQ3YzU4M2M4ZTAwYTJmNTgyMjY2ZiIgfSwKKyAgICB7ICJ2cDkwLTItMDgtdGlsZS00eDQu
d2VibSIsICI4NWMyMjk5ODkyNDYwZDc2ZTJjNjAwNTAyZDUyYmZlMiIgfSwKKyAgICB7IG51bGxw
dHIsIG51bGxwdHIgfQorICB9OwogCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoTm9UaWxlc05v
bkZyYW1lUGFyYWxsZWwsIFZQOURlY29kZU11bHRpVGhyZWFkZWRUZXN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzSW4oa05vVGlsZXNOb25GcmFtZVBhcmFsbGVs
RmlsZXMpKTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChGcmFtZVBhcmFsbGVsLCBWUDlEZWNv
ZGVNdWx0aVRocmVhZGVkVGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6
OlZhbHVlc0luKGtGcmFtZVBhcmFsbGVsRmlsZXMpKTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVf
UChGcmFtZVBhcmFsbGVsUmVzaXplLCBWUDlEZWNvZGVNdWx0aVRocmVhZGVkVGVzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlZhbHVlc0luKGtGcmFtZVBhcmFsbGVsUmVz
aXplRmlsZXMpKTsKLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChOb25GcmFtZVBhcmFsbGVsLCBW
UDlEZWNvZGVNdWx0aVRocmVhZGVkVGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICA6OnRl
c3Rpbmc6OlZhbHVlc0luKGtOb25GcmFtZVBhcmFsbGVsRmlsZXMpKTsKKyAgRGVjb2RlRmlsZXMo
ZmlsZXMpOworfQogI2VuZGlmICAvLyBDT05GSUdfV0VCTV9JTwogCiBJTlNUQU5USUFURV9URVNU
X1NVSVRFX1AoU3luY2hyb25vdXMsIFZQeFdvcmtlclRocmVhZFRlc3QsIDo6dGVzdGluZzo6Qm9v
bCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC92cHhfc2NhbGVfdGVzdC5jYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGVzdC92cHhfc2NhbGVfdGVzdC5jYwppbmRleCAzODk3YTYwODhkYzMuLjdlZWE0
MzdmYzgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3ZweF9zY2FsZV90ZXN0LmNjCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGVzdC92cHhfc2NhbGVfdGVzdC5jYwpAQCAtMzgsMTAgKzM4LDEwIEBA
IGNsYXNzIEV4dGVuZEJvcmRlclRlc3QKICAgICA6IHB1YmxpYyBWcHhTY2FsZUJhc2UsCiAgICAg
ICBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPEV4dGVuZEZyYW1lQm9yZGVyRnVuYz4g
ewogIHB1YmxpYzoKLSAgfkV4dGVuZEJvcmRlclRlc3QoKSBvdmVycmlkZSA9IGRlZmF1bHQ7Cisg
IHZpcnR1YWwgfkV4dGVuZEJvcmRlclRlc3QoKSB7fQogCiAgcHJvdGVjdGVkOgotICB2b2lkIFNl
dFVwKCkgb3ZlcnJpZGUgeyBleHRlbmRfZm5fID0gR2V0UGFyYW0oKTsgfQorICB2aXJ0dWFsIHZv
aWQgU2V0VXAoKSB7IGV4dGVuZF9mbl8gPSBHZXRQYXJhbSgpOyB9CiAKICAgdm9pZCBFeHRlbmRC
b3JkZXIoKSB7IEFTTV9SRUdJU1RFUl9TVEFURV9DSEVDSyhleHRlbmRfZm5fKCZpbWdfKSk7IH0K
IApAQCAtNjgsMTAgKzY4LDEwIEBAIElOU1RBTlRJQVRFX1RFU1RfU1VJVEVfUChDLCBFeHRlbmRC
b3JkZXJUZXN0LAogY2xhc3MgQ29weUZyYW1lVGVzdCA6IHB1YmxpYyBWcHhTY2FsZUJhc2UsCiAg
ICAgICAgICAgICAgICAgICAgICAgcHVibGljIDo6dGVzdGluZzo6VGVzdFdpdGhQYXJhbTxDb3B5
RnJhbWVGdW5jPiB7CiAgcHVibGljOgotICB+Q29weUZyYW1lVGVzdCgpIG92ZXJyaWRlID0gZGVm
YXVsdDsKKyAgdmlydHVhbCB+Q29weUZyYW1lVGVzdCgpIHt9CiAKICBwcm90ZWN0ZWQ6Ci0gIHZv
aWQgU2V0VXAoKSBvdmVycmlkZSB7IGNvcHlfZnJhbWVfZm5fID0gR2V0UGFyYW0oKTsgfQorICB2
aXJ0dWFsIHZvaWQgU2V0VXAoKSB7IGNvcHlfZnJhbWVfZm5fID0gR2V0UGFyYW0oKTsgfQogCiAg
IHZvaWQgQ29weUZyYW1lKCkgewogICAgIEFTTV9SRUdJU1RFUl9TVEFURV9DSEVDSyhjb3B5X2Zy
YW1lX2ZuXygmaW1nXywgJmRzdF9pbWdfKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qv
d2VibV92aWRlb19zb3VyY2UuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC93ZWJtX3ZpZGVvX3NvdXJjZS5o
CmluZGV4IDZhYjUwYzg0OWZmOS4uNmY1NWY3ZGI3YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rlc3Qvd2VibV92aWRlb19zb3VyY2UuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3Qvd2VibV92aWRl
b19zb3VyY2UuaApAQCAtMjYsMjEgKzI2LDIxIEBAIGNsYXNzIFdlYk1WaWRlb1NvdXJjZSA6IHB1
YmxpYyBDb21wcmVzc2VkVmlkZW9Tb3VyY2UgewogIHB1YmxpYzoKICAgZXhwbGljaXQgV2ViTVZp
ZGVvU291cmNlKGNvbnN0IHN0ZDo6c3RyaW5nICZmaWxlX25hbWUpCiAgICAgICA6IGZpbGVfbmFt
ZV8oZmlsZV9uYW1lKSwgdnB4X2N0eF8obmV3IFZweElucHV0Q29udGV4dCgpKSwKLSAgICAgICAg
d2VibV9jdHhfKG5ldyBXZWJtSW5wdXRDb250ZXh0KCkpLCBidWZfKG51bGxwdHIpLCBidWZfc3pf
KDApLCBmcmFtZV8oMCksCisgICAgICAgIHdlYm1fY3R4XyhuZXcgV2VibUlucHV0Q29udGV4dCgp
KSwgYnVmXyhOVUxMKSwgYnVmX3N6XygwKSwgZnJhbWVfKDApLAogICAgICAgICBlbmRfb2ZfZmls
ZV8oZmFsc2UpIHt9CiAKLSAgfldlYk1WaWRlb1NvdXJjZSgpIG92ZXJyaWRlIHsKLSAgICBpZiAo
dnB4X2N0eF8tPmZpbGUgIT0gbnVsbHB0cikgZmNsb3NlKHZweF9jdHhfLT5maWxlKTsKKyAgdmly
dHVhbCB+V2ViTVZpZGVvU291cmNlKCkgeworICAgIGlmICh2cHhfY3R4Xy0+ZmlsZSAhPSBOVUxM
KSBmY2xvc2UodnB4X2N0eF8tPmZpbGUpOwogICAgIHdlYm1fZnJlZSh3ZWJtX2N0eF8pOwogICAg
IGRlbGV0ZSB2cHhfY3R4XzsKICAgICBkZWxldGUgd2VibV9jdHhfOwogICB9CiAKLSAgdm9pZCBJ
bml0KCkgb3ZlcnJpZGUge30KKyAgdmlydHVhbCB2b2lkIEluaXQoKSB7fQogCi0gIHZvaWQgQmVn
aW4oKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBCZWdpbigpIHsKICAgICB2cHhfY3R4Xy0+
ZmlsZSA9IE9wZW5UZXN0RGF0YUZpbGUoZmlsZV9uYW1lXyk7Ci0gICAgQVNTRVJUX05FKHZweF9j
dHhfLT5maWxlLCBudWxscHRyKQorICAgIEFTU0VSVF9UUlVFKHZweF9jdHhfLT5maWxlICE9IE5V
TEwpCiAgICAgICAgIDw8ICJJbnB1dCBmaWxlIG9wZW4gZmFpbGVkLiBGaWxlbmFtZTogIiA8PCBm
aWxlX25hbWVfOwogCiAgICAgQVNTRVJUX0VRKGZpbGVfaXNfd2VibSh3ZWJtX2N0eF8sIHZweF9j
dHhfKSwgMSkgPDwgImZpbGUgaXMgbm90IFdlYk0iOwpAQCAtNDgsMTMgKzQ4LDEzIEBAIGNsYXNz
IFdlYk1WaWRlb1NvdXJjZSA6IHB1YmxpYyBDb21wcmVzc2VkVmlkZW9Tb3VyY2UgewogICAgIEZp
bGxGcmFtZSgpOwogICB9CiAKLSAgdm9pZCBOZXh0KCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIHZv
aWQgTmV4dCgpIHsKICAgICArK2ZyYW1lXzsKICAgICBGaWxsRnJhbWUoKTsKICAgfQogCiAgIHZv
aWQgRmlsbEZyYW1lKCkgewotICAgIEFTU0VSVF9ORSh2cHhfY3R4Xy0+ZmlsZSwgbnVsbHB0cik7
CisgICAgQVNTRVJUX1RSVUUodnB4X2N0eF8tPmZpbGUgIT0gTlVMTCk7CiAgICAgY29uc3QgaW50
IHN0YXR1cyA9IHdlYm1fcmVhZF9mcmFtZSh3ZWJtX2N0eF8sICZidWZfLCAmYnVmX3N6Xyk7CiAg
ICAgQVNTRVJUX0dFKHN0YXR1cywgMCkgPDwgIndlYm1fcmVhZF9mcmFtZSBmYWlsZWQiOwogICAg
IGlmIChzdGF0dXMgPT0gMSkgewpAQCAtNjMsNyArNjMsNyBAQCBjbGFzcyBXZWJNVmlkZW9Tb3Vy
Y2UgOiBwdWJsaWMgQ29tcHJlc3NlZFZpZGVvU291cmNlIHsKICAgfQogCiAgIHZvaWQgU2Vla1Rv
TmV4dEtleUZyYW1lKCkgewotICAgIEFTU0VSVF9ORSh2cHhfY3R4Xy0+ZmlsZSwgbnVsbHB0cik7
CisgICAgQVNTRVJUX1RSVUUodnB4X2N0eF8tPmZpbGUgIT0gTlVMTCk7CiAgICAgZG8gewogICAg
ICAgY29uc3QgaW50IHN0YXR1cyA9IHdlYm1fcmVhZF9mcmFtZSh3ZWJtX2N0eF8sICZidWZfLCAm
YnVmX3N6Xyk7CiAgICAgICBBU1NFUlRfR0Uoc3RhdHVzLCAwKSA8PCAid2VibV9yZWFkX2ZyYW1l
IGZhaWxlZCI7CkBAIC03NCwxMSArNzQsOSBAQCBjbGFzcyBXZWJNVmlkZW9Tb3VyY2UgOiBwdWJs
aWMgQ29tcHJlc3NlZFZpZGVvU291cmNlIHsKICAgICB9IHdoaWxlICghd2VibV9jdHhfLT5pc19r
ZXlfZnJhbWUgJiYgIWVuZF9vZl9maWxlXyk7CiAgIH0KIAotICBjb25zdCB1aW50OF90ICpjeGRh
dGEoKSBjb25zdCBvdmVycmlkZSB7Ci0gICAgcmV0dXJuIGVuZF9vZl9maWxlXyA/IG51bGxwdHIg
OiBidWZfOwotICB9Ci0gIHNpemVfdCBmcmFtZV9zaXplKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gYnVmX3N6XzsgfQotICB1bnNpZ25lZCBpbnQgZnJhbWVfbnVtYmVyKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gZnJhbWVfOyB9CisgIHZpcnR1YWwgY29uc3QgdWludDhfdCAqY3hkYXRhKCkg
Y29uc3QgeyByZXR1cm4gZW5kX29mX2ZpbGVfID8gTlVMTCA6IGJ1Zl87IH0KKyAgdmlydHVhbCBz
aXplX3QgZnJhbWVfc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGJ1Zl9zel87IH0KKyAgdmlydHVhbCB1
bnNpZ25lZCBpbnQgZnJhbWVfbnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZnJhbWVfOyB9CiAKICBw
cm90ZWN0ZWQ6CiAgIHN0ZDo6c3RyaW5nIGZpbGVfbmFtZV87CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3Rlc3QveTRtX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QveTRtX3Rlc3QuY2MKaW5kZXgg
NzhhOTQ0ZmQwOGRiLi44MjcyMjYzZjY2YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC95
NG1fdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QveTRtX3Rlc3QuY2MKQEAgLTc4LDcgKzc4
LDcgQEAgY2xhc3MgWTRtVmlkZW9Tb3VyY2VUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdFdp
dGhQYXJhbTxZNG1UZXN0UGFyYW0+LAogIHByb3RlY3RlZDoKICAgWTRtVmlkZW9Tb3VyY2VUZXN0
KCkgOiBZNG1WaWRlb1NvdXJjZSgiIiwgMCwgMCkge30KIAotICB+WTRtVmlkZW9Tb3VyY2VUZXN0
KCkgb3ZlcnJpZGUgeyBDbG9zZVNvdXJjZSgpOyB9CisgIHZpcnR1YWwgflk0bVZpZGVvU291cmNl
VGVzdCgpIHsgQ2xvc2VTb3VyY2UoKTsgfQogCiAgIHZpcnR1YWwgdm9pZCBJbml0KGNvbnN0IHN0
ZDo6c3RyaW5nICZmaWxlX25hbWUsIGludCBsaW1pdCkgewogICAgIGZpbGVfbmFtZV8gPSBmaWxl
X25hbWU7CkBAIC0xNDAsNyArMTQwLDcgQEAgY2xhc3MgWTRtVmlkZW9Xcml0ZVRlc3QgOiBwdWJs
aWMgWTRtVmlkZW9Tb3VyY2VUZXN0IHsKICBwcm90ZWN0ZWQ6CiAgIFk0bVZpZGVvV3JpdGVUZXN0
KCkgOiB0bXBmaWxlXyhudWxscHRyKSB7fQogCi0gIH5ZNG1WaWRlb1dyaXRlVGVzdCgpIG92ZXJy
aWRlIHsKKyAgdmlydHVhbCB+WTRtVmlkZW9Xcml0ZVRlc3QoKSB7CiAgICAgZGVsZXRlIHRtcGZp
bGVfOwogICAgIGlucHV0X2ZpbGVfID0gbnVsbHB0cjsKICAgfQpAQCAtMTcyLDcgKzE3Miw3IEBA
IGNsYXNzIFk0bVZpZGVvV3JpdGVUZXN0IDogcHVibGljIFk0bVZpZGVvU291cmNlVGVzdCB7CiAg
ICAgUmVwbGFjZUlucHV0RmlsZSh0bXBmaWxlXy0+ZmlsZSgpKTsKICAgfQogCi0gIHZvaWQgSW5p
dChjb25zdCBzdGQ6OnN0cmluZyAmZmlsZV9uYW1lLCBpbnQgbGltaXQpIG92ZXJyaWRlIHsKKyAg
dmlydHVhbCB2b2lkIEluaXQoY29uc3Qgc3RkOjpzdHJpbmcgJmZpbGVfbmFtZSwgaW50IGxpbWl0
KSB7CiAgICAgWTRtVmlkZW9Tb3VyY2VUZXN0OjpJbml0KGZpbGVfbmFtZSwgbGltaXQpOwogICAg
IFdyaXRlWTRtQW5kUmVhZEJhY2soKTsKICAgfQpAQCAtMTk2LDEzICsxOTYsMTIgQEAgc3RhdGlj
IGNvbnN0IGNoYXIga1k0TVJlZ3VsYXJIZWFkZXJbXSA9CiAKIFRFU1QoWTRNSGVhZGVyVGVzdCwg
UmVndWxhckhlYWRlcikgewogICBsaWJ2cHhfdGVzdDo6VGVtcE91dEZpbGUgZjsKLSAgQVNTRVJU
X05FKGYuZmlsZSgpLCBudWxscHRyKTsKICAgZndyaXRlKGtZNE1SZWd1bGFySGVhZGVyLCAxLCBz
aXplb2Yoa1k0TVJlZ3VsYXJIZWFkZXIpLCBmLmZpbGUoKSk7CiAgIGZmbHVzaChmLmZpbGUoKSk7
CiAgIEVYUEVDVF9FUSgwLCBmc2VlayhmLmZpbGUoKSwgMCwgMCkpOwogCiAgIHk0bV9pbnB1dCB5
NG07Ci0gIEVYUEVDVF9FUSh5NG1faW5wdXRfb3BlbigmeTRtLCBmLmZpbGUoKSwgLypza2lwX2J1
ZmZlcj0qL251bGxwdHIsCisgIEVYUEVDVF9FUSh5NG1faW5wdXRfb3BlbigmeTRtLCBmLmZpbGUo
KSwgLypza2lwX2J1ZmZlcj0qL05VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm51
bV9za2lwPSovMCwgLypvbmx5XzQyMD0qLzApLAogICAgICAgICAgICAgMCk7CiAgIEVYUEVDVF9F
USh5NG0ucGljX3csIDQpOwpAQCAtMjIzLDEzICsyMjIsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIg
a1k0TUxvbmdIZWFkZXJbXSA9CiAKIFRFU1QoWTRNSGVhZGVyVGVzdCwgTG9uZ0hlYWRlcikgewog
ICBsaWJ2cHhfdGVzdDo6VGVtcE91dEZpbGUgZjsKLSAgQVNTRVJUX05FKGYuZmlsZSgpLCBudWxs
cHRyKTsKICAgZndyaXRlKGtZNE1Mb25nSGVhZGVyLCAxLCBzaXplb2Yoa1k0TUxvbmdIZWFkZXIp
LCBmLmZpbGUoKSk7CiAgIGZmbHVzaChmLmZpbGUoKSk7CiAgIEVYUEVDVF9FUShmc2VlayhmLmZp
bGUoKSwgMCwgMCksIDApOwogCiAgIHk0bV9pbnB1dCB5NG07Ci0gIEVYUEVDVF9FUSh5NG1faW5w
dXRfb3BlbigmeTRtLCBmLmZpbGUoKSwgLypza2lwX2J1ZmZlcj0qL251bGxwdHIsCisgIEVYUEVD
VF9FUSh5NG1faW5wdXRfb3BlbigmeTRtLCBmLmZpbGUoKSwgLypza2lwX2J1ZmZlcj0qL05VTEws
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm51bV9za2lwPSovMCwgLypvbmx5XzQyMD0q
LzApLAogICAgICAgICAgICAgMCk7CiAgIEVYUEVDVF9FUSh5NG0ucGljX3csIDQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90ZXN0L3k0bV92aWRlb19zb3VyY2UuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVz
dC95NG1fdmlkZW9fc291cmNlLmgKaW5kZXggZTQzZTM3ZDllNGZjLi44OWFhMmE0NGZjOWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC95NG1fdmlkZW9fc291cmNlLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90ZXN0L3k0bV92aWRlb19zb3VyY2UuaApAQCAtMjMsMTEgKzIzLDExIEBAIG5hbWVzcGFj
ZSBsaWJ2cHhfdGVzdCB7CiBjbGFzcyBZNG1WaWRlb1NvdXJjZSA6IHB1YmxpYyBWaWRlb1NvdXJj
ZSB7CiAgcHVibGljOgogICBZNG1WaWRlb1NvdXJjZShjb25zdCBzdGQ6OnN0cmluZyAmZmlsZV9u
YW1lLCB1bnNpZ25lZCBpbnQgc3RhcnQsIGludCBsaW1pdCkKLSAgICAgIDogZmlsZV9uYW1lXyhm
aWxlX25hbWUpLCBpbnB1dF9maWxlXyhudWxscHRyKSwgaW1nXyhuZXcgdnB4X2ltYWdlX3QoKSks
CisgICAgICA6IGZpbGVfbmFtZV8oZmlsZV9uYW1lKSwgaW5wdXRfZmlsZV8oTlVMTCksIGltZ18o
bmV3IHZweF9pbWFnZV90KCkpLAogICAgICAgICBzdGFydF8oc3RhcnQpLCBsaW1pdF8obGltaXQp
LCBmcmFtZV8oMCksIGZyYW1lcmF0ZV9udW1lcmF0b3JfKDApLAogICAgICAgICBmcmFtZXJhdGVf
ZGVub21pbmF0b3JfKDApLCB5NG1fKCkge30KIAotICB+WTRtVmlkZW9Tb3VyY2UoKSBvdmVycmlk
ZSB7CisgIHZpcnR1YWwgflk0bVZpZGVvU291cmNlKCkgewogICAgIHZweF9pbWdfZnJlZShpbWdf
LmdldCgpKTsKICAgICBDbG9zZVNvdXJjZSgpOwogICB9CkBAIC0zNSwxMyArMzUsMTMgQEAgY2xh
c3MgWTRtVmlkZW9Tb3VyY2UgOiBwdWJsaWMgVmlkZW9Tb3VyY2UgewogICB2aXJ0dWFsIHZvaWQg
T3BlblNvdXJjZSgpIHsKICAgICBDbG9zZVNvdXJjZSgpOwogICAgIGlucHV0X2ZpbGVfID0gT3Bl
blRlc3REYXRhRmlsZShmaWxlX25hbWVfKTsKLSAgICBBU1NFUlRfTkUoaW5wdXRfZmlsZV8sIG51
bGxwdHIpCisgICAgQVNTRVJUX1RSVUUoaW5wdXRfZmlsZV8gIT0gTlVMTCkKICAgICAgICAgPDwg
IklucHV0IGZpbGUgb3BlbiBmYWlsZWQuIEZpbGVuYW1lOiAiIDw8IGZpbGVfbmFtZV87CiAgIH0K
IAogICB2aXJ0dWFsIHZvaWQgUmVhZFNvdXJjZVRvU3RhcnQoKSB7Ci0gICAgQVNTRVJUX05FKGlu
cHV0X2ZpbGVfLCBudWxscHRyKTsKLSAgICBBU1NFUlRfRkFMU0UoeTRtX2lucHV0X29wZW4oJnk0
bV8sIGlucHV0X2ZpbGVfLCBudWxscHRyLCAwLCAwKSk7CisgICAgQVNTRVJUX1RSVUUoaW5wdXRf
ZmlsZV8gIT0gTlVMTCk7CisgICAgQVNTRVJUX0ZBTFNFKHk0bV9pbnB1dF9vcGVuKCZ5NG1fLCBp
bnB1dF9maWxlXywgTlVMTCwgMCwgMCkpOwogICAgIGZyYW1lcmF0ZV9udW1lcmF0b3JfID0geTRt
Xy5mcHNfbjsKICAgICBmcmFtZXJhdGVfZGVub21pbmF0b3JfID0geTRtXy5mcHNfZDsKICAgICBm
cmFtZV8gPSAwOwpAQCAtNTEsMzYgKzUxLDM2IEBAIGNsYXNzIFk0bVZpZGVvU291cmNlIDogcHVi
bGljIFZpZGVvU291cmNlIHsKICAgICBGaWxsRnJhbWUoKTsKICAgfQogCi0gIHZvaWQgQmVnaW4o
KSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBCZWdpbigpIHsKICAgICBPcGVuU291cmNlKCk7
CiAgICAgUmVhZFNvdXJjZVRvU3RhcnQoKTsKICAgfQogCi0gIHZvaWQgTmV4dCgpIG92ZXJyaWRl
IHsKKyAgdmlydHVhbCB2b2lkIE5leHQoKSB7CiAgICAgKytmcmFtZV87CiAgICAgRmlsbEZyYW1l
KCk7CiAgIH0KIAotICB2cHhfaW1hZ2VfdCAqaW1nKCkgY29uc3Qgb3ZlcnJpZGUgewotICAgIHJl
dHVybiAoZnJhbWVfIDwgbGltaXRfKSA/IGltZ18uZ2V0KCkgOiBudWxscHRyOworICB2aXJ0dWFs
IHZweF9pbWFnZV90ICppbWcoKSBjb25zdCB7CisgICAgcmV0dXJuIChmcmFtZV8gPCBsaW1pdF8p
ID8gaW1nXy5nZXQoKSA6IE5VTEw7CiAgIH0KIAogICAvLyBNb2RlbHMgYSBzdHJlYW0gd2hlcmUg
VGltZWJhc2UgPSAxL0ZQUywgc28gcHRzID09IGZyYW1lLgotICB2cHhfY29kZWNfcHRzX3QgcHRz
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVfOyB9CisgIHZpcnR1YWwgdnB4X2NvZGVj
X3B0c190IHB0cygpIGNvbnN0IHsgcmV0dXJuIGZyYW1lXzsgfQogCi0gIHVuc2lnbmVkIGxvbmcg
ZHVyYXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAxOyB9CisgIHZpcnR1YWwgdW5zaWdu
ZWQgbG9uZyBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIDE7IH0KIAotICB2cHhfcmF0aW9uYWxf
dCB0aW1lYmFzZSgpIGNvbnN0IG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2cHhfcmF0aW9uYWxfdCB0
aW1lYmFzZSgpIGNvbnN0IHsKICAgICBjb25zdCB2cHhfcmF0aW9uYWxfdCB0ID0geyBmcmFtZXJh
dGVfZGVub21pbmF0b3JfLCBmcmFtZXJhdGVfbnVtZXJhdG9yXyB9OwogICAgIHJldHVybiB0Owog
ICB9CiAKLSAgdW5zaWduZWQgaW50IGZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJh
bWVfOyB9CisgIHZpcnR1YWwgdW5zaWduZWQgaW50IGZyYW1lKCkgY29uc3QgeyByZXR1cm4gZnJh
bWVfOyB9CiAKLSAgdW5zaWduZWQgaW50IGxpbWl0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bGltaXRfOyB9CisgIHZpcnR1YWwgdW5zaWduZWQgaW50IGxpbWl0KCkgY29uc3QgeyByZXR1cm4g
bGltaXRfOyB9CiAKICAgdmlydHVhbCB2b2lkIEZpbGxGcmFtZSgpIHsKLSAgICBBU1NFUlRfTkUo
aW5wdXRfZmlsZV8sIG51bGxwdHIpOworICAgIEFTU0VSVF9UUlVFKGlucHV0X2ZpbGVfICE9IE5V
TEwpOwogICAgIC8vIFJlYWQgYSBmcmFtZSBmcm9tIGlucHV0X2ZpbGUuCiAgICAgeTRtX2lucHV0
X2ZldGNoX2ZyYW1lKCZ5NG1fLCBpbnB1dF9maWxlXywgaW1nXy5nZXQoKSk7CiAgIH0KQEAgLTEw
MSw5ICsxMDEsOSBAQCBjbGFzcyBZNG1WaWRlb1NvdXJjZSA6IHB1YmxpYyBWaWRlb1NvdXJjZSB7
CiAgIHZvaWQgQ2xvc2VTb3VyY2UoKSB7CiAgICAgeTRtX2lucHV0X2Nsb3NlKCZ5NG1fKTsKICAg
ICB5NG1fID0geTRtX2lucHV0KCk7Ci0gICAgaWYgKGlucHV0X2ZpbGVfICE9IG51bGxwdHIpIHsK
KyAgICBpZiAoaW5wdXRfZmlsZV8gIT0gTlVMTCkgewogICAgICAgZmNsb3NlKGlucHV0X2ZpbGVf
KTsKLSAgICAgIGlucHV0X2ZpbGVfID0gbnVsbHB0cjsKKyAgICAgIGlucHV0X2ZpbGVfID0gTlVM
TDsKICAgICB9CiAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90ZXN0L3l1dl90ZW1wb3Jh
bF9maWx0ZXJfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC95dXZfdGVtcG9yYWxfZmlsdGVyX3Rl
c3QuY2MKaW5kZXggMDY3N2Q1NTY4ODhmLi5jZmRjODhkODk2ZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGVzdC95dXZfdGVtcG9yYWxfZmlsdGVyX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
ZXN0L3l1dl90ZW1wb3JhbF9maWx0ZXJfdGVzdC5jYwpAQCAtMjkwLDcgKzI5MCw3IEBAIHZvaWQg
QXBwbHlSZWZlcmVuY2VGaWx0ZXIoCiBjbGFzcyBZVVZUZW1wb3JhbEZpbHRlclRlc3QKICAgICA6
IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08VGVtcG9yYWxGaWx0ZXJXaXRoQmQ+IHsK
ICBwdWJsaWM6Ci0gIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgIHZpcnR1YWwgdm9pZCBTZXRV
cCgpIHsKICAgICBmaWx0ZXJfZnVuY18gPSBHZXRQYXJhbSgpLnRlbXBvcmFsX2ZpbHRlcjsKICAg
ICBiZF8gPSBHZXRQYXJhbSgpLmJkOwogICAgIHVzZV9oaWdoYmRfID0gKGJkXyAhPSA4KTsKQEAg
LTY3NCw4ICs2NzQsOCBAQCBURVNUX1AoWVVWVGVtcG9yYWxGaWx0ZXJUZXN0LCBESVNBQkxFRF9T
cGVlZCkgewogICAgICAgICAgdl9jb3VudCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB9CiAKLVdSQVBfSElHSEJEX0ZVTkMo
dnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfYywgMTApCi1XUkFQX0hJR0hCRF9GVU5D
KHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2MsIDEyKQorV1JBUF9ISUdIQkRfRlVO
Qyh2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jLCAxMCk7CitXUkFQX0hJR0hCRF9G
VU5DKHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2MsIDEyKTsKIAogSU5TVEFOVElB
VEVfVEVTVF9TVUlURV9QKAogICAgIEMsIFlVVlRlbXBvcmFsRmlsdGVyVGVzdCwKQEAgLTY4Myw4
ICs2ODMsOCBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgICAgIFRlbXBvcmFsRmls
dGVyV2l0aEJkKCZ3cmFwX3ZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2NfMTAsIDEw
KSwKICAgICAgICAgVGVtcG9yYWxGaWx0ZXJXaXRoQmQoJndyYXBfdnA5X2hpZ2hiZF9hcHBseV90
ZW1wb3JhbF9maWx0ZXJfY18xMiwgMTIpKSk7CiAjaWYgSEFWRV9TU0U0XzEKLVdSQVBfSElHSEJE
X0ZVTkModnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfc3NlNF8xLCAxMCkKLVdSQVBf
SElHSEJEX0ZVTkModnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfc3NlNF8xLCAxMikK
K1dSQVBfSElHSEJEX0ZVTkModnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfc3NlNF8x
LCAxMCk7CitXUkFQX0hJR0hCRF9GVU5DKHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVy
X3NzZTRfMSwgMTIpOwogCiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgU1NFNF8xLCBZ
VVZUZW1wb3JhbEZpbHRlclRlc3QsCkBAIC02OTQsMTggKzY5NCw2IEBAIElOU1RBTlRJQVRFX1RF
U1RfU1VJVEVfUCgKICAgICAgICAgVGVtcG9yYWxGaWx0ZXJXaXRoQmQoJndyYXBfdnA5X2hpZ2hi
ZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfc3NlNF8xXzEyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAxMikpKTsKICNlbmRpZiAgLy8gSEFWRV9TU0U0XzEKLSNpZiBIQVZFX05FT04KLVdS
QVBfSElHSEJEX0ZVTkModnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbmVvbiwgMTAp
Ci1XUkFQX0hJR0hCRF9GVU5DKHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX25lb24s
IDEyKQotCi1JTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCi0gICAgTkVPTiwgWVVWVGVtcG9yYWxG
aWx0ZXJUZXN0LAotICAgIDo6dGVzdGluZzo6VmFsdWVzKAotICAgICAgICBUZW1wb3JhbEZpbHRl
cldpdGhCZCgmd3JhcF92cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9uZW9uXzEwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCksCi0gICAgICAgIFRlbXBvcmFsRmlsdGVy
V2l0aEJkKCZ3cmFwX3ZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX25lb25fMTIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyKSkpOwotI2VuZGlmICAvLyBIQVZFX05FT04K
ICNlbHNlCiBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoCiAgICAgQywgWVVWVGVtcG9yYWxGaWx0
ZXJUZXN0LApAQCAtNzE2LDExICs3MDQsNSBAQCBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AoU1NF
NF8xLCBZVVZUZW1wb3JhbEZpbHRlclRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgOjp0
ZXN0aW5nOjpWYWx1ZXMoVGVtcG9yYWxGaWx0ZXJXaXRoQmQoCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZ2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX3NzZTRfMSwgOCkpKTsKICNlbmRp
ZiAgLy8gSEFWRV9TU0U0XzEKLSNpZiBIQVZFX05FT04KLUlOU1RBTlRJQVRFX1RFU1RfU1VJVEVf
UChORU9OLCBZVVZUZW1wb3JhbEZpbHRlclRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
Ojp0ZXN0aW5nOjpWYWx1ZXMoVGVtcG9yYWxGaWx0ZXJXaXRoQmQoCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZ2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX25lb24sIDgpKSk7Ci0jZW5k
aWYgIC8vIEhBVkVfTkVPTgogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotCiB9
ICAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC95dXZfdmlkZW9fc291
cmNlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3Rlc3QveXV2X3ZpZGVvX3NvdXJjZS5oCmluZGV4IGJiNWVlYzVi
YjgzOC4uMzgzYWI4ZjFiMWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rlc3QveXV2X3ZpZGVv
X3NvdXJjZS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGVzdC95dXZfdmlkZW9fc291cmNlLmgKQEAgLTI3
LDIzICsyNywyMyBAQCBjbGFzcyBZVVZWaWRlb1NvdXJjZSA6IHB1YmxpYyBWaWRlb1NvdXJjZSB7
CiAgIFlVVlZpZGVvU291cmNlKGNvbnN0IHN0ZDo6c3RyaW5nICZmaWxlX25hbWUsIHZweF9pbWdf
Zm10IGZvcm1hdCwKICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHdpZHRoLCB1bnNpZ25l
ZCBpbnQgaGVpZ2h0LCBpbnQgcmF0ZV9udW1lcmF0b3IsCiAgICAgICAgICAgICAgICAgIGludCBy
YXRlX2Rlbm9taW5hdG9yLCB1bnNpZ25lZCBpbnQgc3RhcnQsIGludCBsaW1pdCkKLSAgICAgIDog
ZmlsZV9uYW1lXyhmaWxlX25hbWUpLCBpbnB1dF9maWxlXyhudWxscHRyKSwgaW1nXyhudWxscHRy
KSwKLSAgICAgICAgc3RhcnRfKHN0YXJ0KSwgbGltaXRfKGxpbWl0KSwgZnJhbWVfKDApLCB3aWR0
aF8oMCksIGhlaWdodF8oMCksCisgICAgICA6IGZpbGVfbmFtZV8oZmlsZV9uYW1lKSwgaW5wdXRf
ZmlsZV8oTlVMTCksIGltZ18oTlVMTCksIHN0YXJ0XyhzdGFydCksCisgICAgICAgIGxpbWl0Xyhs
aW1pdCksIGZyYW1lXygwKSwgd2lkdGhfKDApLCBoZWlnaHRfKDApLAogICAgICAgICBmb3JtYXRf
KFZQWF9JTUdfRk1UX05PTkUpLCBmcmFtZXJhdGVfbnVtZXJhdG9yXyhyYXRlX251bWVyYXRvciks
CiAgICAgICAgIGZyYW1lcmF0ZV9kZW5vbWluYXRvcl8ocmF0ZV9kZW5vbWluYXRvcikgewogICAg
IC8vIFRoaXMgaW5pdGlhbGl6ZXMgZm9ybWF0XywgcmF3X3NpemVfLCB3aWR0aF8sIGhlaWdodF8g
YW5kIGFsbG9jYXRlcyBpbWcuCiAgICAgU2V0U2l6ZSh3aWR0aCwgaGVpZ2h0LCBmb3JtYXQpOwog
ICB9CiAKLSAgfllVVlZpZGVvU291cmNlKCkgb3ZlcnJpZGUgeworICB2aXJ0dWFsIH5ZVVZWaWRl
b1NvdXJjZSgpIHsKICAgICB2cHhfaW1nX2ZyZWUoaW1nXyk7CiAgICAgaWYgKGlucHV0X2ZpbGVf
KSBmY2xvc2UoaW5wdXRfZmlsZV8pOwogICB9CiAKLSAgdm9pZCBCZWdpbigpIG92ZXJyaWRlIHsK
KyAgdmlydHVhbCB2b2lkIEJlZ2luKCkgewogICAgIGlmIChpbnB1dF9maWxlXykgZmNsb3NlKGlu
cHV0X2ZpbGVfKTsKICAgICBpbnB1dF9maWxlXyA9IE9wZW5UZXN0RGF0YUZpbGUoZmlsZV9uYW1l
Xyk7Ci0gICAgQVNTRVJUX05FKGlucHV0X2ZpbGVfLCBudWxscHRyKQorICAgIEFTU0VSVF9UUlVF
KGlucHV0X2ZpbGVfICE9IE5VTEwpCiAgICAgICAgIDw8ICJJbnB1dCBmaWxlIG9wZW4gZmFpbGVk
LiBGaWxlbmFtZTogIiA8PCBmaWxlX25hbWVfOwogICAgIGlmIChzdGFydF8pIHsKICAgICAgIGZz
ZWVrKGlucHV0X2ZpbGVfLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmF3X3NpemVfKSAqIHN0YXJ0
XywgU0VFS19TRVQpOwpAQCAtNTMsMzUgKzUzLDMzIEBAIGNsYXNzIFlVVlZpZGVvU291cmNlIDog
cHVibGljIFZpZGVvU291cmNlIHsKICAgICBGaWxsRnJhbWUoKTsKICAgfQogCi0gIHZvaWQgTmV4
dCgpIG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2b2lkIE5leHQoKSB7CiAgICAgKytmcmFtZV87CiAg
ICAgRmlsbEZyYW1lKCk7CiAgIH0KIAotICB2cHhfaW1hZ2VfdCAqaW1nKCkgY29uc3Qgb3ZlcnJp
ZGUgewotICAgIHJldHVybiAoZnJhbWVfIDwgbGltaXRfKSA/IGltZ18gOiBudWxscHRyOwotICB9
CisgIHZpcnR1YWwgdnB4X2ltYWdlX3QgKmltZygpIGNvbnN0IHsgcmV0dXJuIChmcmFtZV8gPCBs
aW1pdF8pID8gaW1nXyA6IE5VTEw7IH0KIAogICAvLyBNb2RlbHMgYSBzdHJlYW0gd2hlcmUgVGlt
ZWJhc2UgPSAxL0ZQUywgc28gcHRzID09IGZyYW1lLgotICB2cHhfY29kZWNfcHRzX3QgcHRzKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVfOyB9CisgIHZpcnR1YWwgdnB4X2NvZGVjX3B0
c190IHB0cygpIGNvbnN0IHsgcmV0dXJuIGZyYW1lXzsgfQogCi0gIHVuc2lnbmVkIGxvbmcgZHVy
YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAxOyB9CisgIHZpcnR1YWwgdW5zaWduZWQg
bG9uZyBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIDE7IH0KIAotICB2cHhfcmF0aW9uYWxfdCB0
aW1lYmFzZSgpIGNvbnN0IG92ZXJyaWRlIHsKKyAgdmlydHVhbCB2cHhfcmF0aW9uYWxfdCB0aW1l
YmFzZSgpIGNvbnN0IHsKICAgICBjb25zdCB2cHhfcmF0aW9uYWxfdCB0ID0geyBmcmFtZXJhdGVf
ZGVub21pbmF0b3JfLCBmcmFtZXJhdGVfbnVtZXJhdG9yXyB9OwogICAgIHJldHVybiB0OwogICB9
CiAKLSAgdW5zaWduZWQgaW50IGZyYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZnJhbWVf
OyB9CisgIHZpcnR1YWwgdW5zaWduZWQgaW50IGZyYW1lKCkgY29uc3QgeyByZXR1cm4gZnJhbWVf
OyB9CiAKLSAgdW5zaWduZWQgaW50IGxpbWl0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbGlt
aXRfOyB9CisgIHZpcnR1YWwgdW5zaWduZWQgaW50IGxpbWl0KCkgY29uc3QgeyByZXR1cm4gbGlt
aXRfOyB9CiAKICAgdmlydHVhbCB2b2lkIFNldFNpemUodW5zaWduZWQgaW50IHdpZHRoLCB1bnNp
Z25lZCBpbnQgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICB2cHhfaW1nX2ZtdCBmb3Jt
YXQpIHsKICAgICBpZiAod2lkdGggIT0gd2lkdGhfIHx8IGhlaWdodCAhPSBoZWlnaHRfIHx8IGZv
cm1hdCAhPSBmb3JtYXRfKSB7CiAgICAgICB2cHhfaW1nX2ZyZWUoaW1nXyk7Ci0gICAgICBpbWdf
ID0gdnB4X2ltZ19hbGxvYyhudWxscHRyLCBmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIDEpOwotICAg
ICAgQVNTRVJUX05FKGltZ18sIG51bGxwdHIpOworICAgICAgaW1nXyA9IHZweF9pbWdfYWxsb2Mo
TlVMTCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAxKTsKKyAgICAgIEFTU0VSVF9UUlVFKGltZ18g
IT0gTlVMTCk7CiAgICAgICB3aWR0aF8gPSB3aWR0aDsKICAgICAgIGhlaWdodF8gPSBoZWlnaHQ7
CiAgICAgICBmb3JtYXRfID0gZm9ybWF0OwpAQCAtMTAxLDcgKzk5LDcgQEAgY2xhc3MgWVVWVmlk
ZW9Tb3VyY2UgOiBwdWJsaWMgVmlkZW9Tb3VyY2UgewogICB9CiAKICAgdmlydHVhbCB2b2lkIEZp
bGxGcmFtZSgpIHsKLSAgICBBU1NFUlRfTkUoaW5wdXRfZmlsZV8sIG51bGxwdHIpOworICAgIEFT
U0VSVF9UUlVFKGlucHV0X2ZpbGVfICE9IE5VTEwpOwogICAgIC8vIFJlYWQgYSBmcmFtZSBmcm9t
IGlucHV0X2ZpbGUuCiAgICAgaWYgKGZyZWFkKGltZ18tPmltZ19kYXRhLCByYXdfc2l6ZV8sIDEs
IGlucHV0X2ZpbGVfKSA9PSAwKSB7CiAgICAgICBsaW1pdF8gPSBmcmFtZV87CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3QvUkVBRE1FLmxpYnZweCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9SRUFETUUubGlidnB4CmluZGV4IDVmNmIwMWIw
ZWMwNi4uZWQ1NWZiMDlmOTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dv
b2dsZXRlc3QvUkVBRE1FLmxpYnZweAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2ds
ZXRlc3QvUkVBRE1FLmxpYnZweApAQCAtMSw1ICsxLDUgQEAKIFVSTDogaHR0cHM6Ly9naXRodWIu
Y29tL2dvb2dsZS9nb29nbGV0ZXN0LmdpdAotVmVyc2lvbjogcmVsZWFzZS0xLjEyLjEKK1ZlcnNp
b246IHJlbGVhc2UtMS4xMC4wLTIyNC1nMjNiMmEzYjEKIExpY2Vuc2U6IEJTRAogTGljZW5zZSBG
aWxlOiBMSUNFTlNFCiAKQEAgLTEzLDE3ICsxMywxMSBAQCBnZW5lcmF0aW9uLgogCiBMb2NhbCBN
b2RpZmljYXRpb25zOgogLSBSZW1vdmUgZXZlcnl0aGluZyBidXQ6Ci0gIC5jbGFuZy1mb3JtYXQK
LSAgQ09OVFJJQlVUT1JTCiAgIGdvb2dsZXRlc3QvCisgICBDT05UUklCVVRPUlMKICAgIGluY2x1
ZGUKKyAgIExJQ0VOU0UKICAgIFJFQURNRS5tZAogICAgc3JjCi0gIExJQ0VOU0UKLS0gTW92ZSAu
Y2xhbmctZm9ybWF0LCBDT05UUklCVVRPUlMsIGFuZCBMSUNFTlNFIGludG8gZ29vZ2xldGVzdC8K
LS0gSW4gZ29vZ2xldGVzdC9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2N1c3RvbS9ndGVzdC1wb3J0
LmgsIGRlZmluZQotICBHVEVTVF9IQVNfTk9USUZJQ0FUSU9OXyBhcyAxIGFuZCB1c2UgYSBzdHVi
IE5vdGlmaWNhdGlvbiBjbGFzcyB0byBmaXgKLSAgdGhlIG1pbmd3MzIgZysrIGNvbXBpbGF0aW9u
IGVycm9ycyBjYXVzZWQgYnkgdGhlIGxhY2sgb2Ygc3RkOjptdXRleAotICBhbmQgc3RkOjpjb25k
aXRpb25fdmFyaWFibGUgaW4gdGhlIDxtdXRleD4gYW5kIDxjb25kaXRpb25fdmFyaWFibGU+Ci0g
IGhlYWRlcnMgaWYgbWluZ3czMiBpcyBjb25maWd1cmVkIHdpdGggdGhlIHdpbjMyIHRocmVhZHMg
b3B0aW9uLiBTZWUKLSAgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTcyNDI1
MTYvbWluZ3ctdzY0LXRocmVhZHMtcG9zaXgtdnMtd2luMzIKKy0gRW5hYmxlIGtFcnJvck9uVW5p
bnN0YW50aWF0ZWRQYXJhbWV0ZXJpemVkVGVzdCBhbmQKKyAga0Vycm9yT25Vbmluc3RhbnRpYXRl
ZFR5cGVQYXJhbWV0ZXJpemVkVGVzdCBpbiBndGVzdC5jYwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy8uY2xhbmctZm9ybWF0IGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy8uY2xhbmctZm9ybWF0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1YjliZmU2ZDIyNDIuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjLy5jbGFuZy1mb3JtYXQKKysrIC9kZXYvbnVsbApA
QCAtMSw0ICswLDAgQEAKLSMgUnVuIG1hbnVhbGx5IHRvIHJlZm9ybWF0IGEgZmlsZToKLSMgY2xh
bmctZm9ybWF0IC1pIC0tc3R5bGU9ZmlsZSA8ZmlsZT4KLUxhbmd1YWdlOiAgICAgICAgQ3BwCi1C
YXNlZE9uU3R5bGU6ICBHb29nbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkv
Z29vZ2xldGVzdC9zcmMvQ09OVFJJQlVUT1JTIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29n
bGV0ZXN0L3NyYy9DT05UUklCVVRPUlMKaW5kZXggNzczOTdhNWI1M2ZlLi4xZTRhZmUyMTgyNWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvQ09OVFJJ
QlVUT1JTCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvQ09OVFJJ
QlVUT1JTCkBAIC01LDYxICs1LDM0IEBACiAKIEFqYXkgSm9zaGkgPGphakBnb29nbGUuY29tPgog
QmFsw6F6cyBEw6FuIDxiYWxhenMuZGFuQGdtYWlsLmNvbT4KLUJlbm9pdCBTaWdvdXJlIDx0c3Vu
YUBnb29nbGUuY29tPgogQmhhcmF0IE1lZGlyYXR0YSA8YmhhcmF0QG1lbmFsdG8uY29tPgotQm9n
ZGFuIFBpbG9jYSA8Ym9vQGdvb2dsZS5jb20+CiBDaGFuZGxlciBDYXJydXRoIDxjaGFuZGxlcmNA
Z29vZ2xlLmNvbT4KIENocmlzIFByaW5jZSA8Y3ByaW5jZUBnb29nbGUuY29tPgogQ2hyaXMgVGF5
bG9yIDx0YXlsb3JjQGdvb2dsZS5jb20+CiBEYW4gRWdub3IgPGVnbm9yQGdvb2dsZS5jb20+Ci1E
YXZlIE1hY0xhY2hsYW4gPGRtYWNsYWNoQGdtYWlsLmNvbT4KLURhdmlkIEFuZGVyc29uIDxkYW5k
ZXJzb25AZ29vZ2xlLmNvbT4KLURlYW4gU3R1cnRldmFudAogRXJpYyBSb21hbiA8ZXJvbWFuQGNo
cm9taXVtLm9yZz4KLUdlbmUgVm9sb3ZpY2ggPGd2QGNpdGUuY29tPgogSGFkeSBaYWxlayA8aGFk
eS56YWxla0BnbWFpbC5jb20+Ci1IYWwgQnVyY2ggPGdtb2NrQGhidXJjaC5jb20+CiBKZWZmcmV5
IFlhc3NraW4gPGp5YXNza2luQGdvb2dsZS5jb20+Ci1KaW0gS2VsbGVyIDxqaW1rZWxsZXJAZ29v
Z2xlLmNvbT4KLUpvZSBXYWxuZXMgPGpvZUB0cnVlbWVzaC5jb20+Ci1Kb24gV3JheSA8andyYXlA
Z29vZ2xlLmNvbT4KIErDs2kgU2lndXLDsHNzb24gPGpvaUBnb29nbGUuY29tPgogS2VpciBNaWVy
bGUgPG1pZXJsZUBnbWFpbC5jb20+CiBLZWl0aCBSYXkgPGtlaXRoLnJheUBnbWFpbC5jb20+CiBL
ZW50b24gVmFyZGEgPGtlbnRvbkBnb29nbGUuY29tPgotS29zdHlhIFNlcmVicnlhbnkgPGtjY0Bn
b29nbGUuY29tPgogS3J5c3RpYW4gS3V6bmlhcmVrIDxrcnlzdGlhbi5rdXpuaWFyZWtAZ21haWwu
Y29tPgotTGV2IE1ha2hsaXMKIE1hbnVlbCBLbGltZWsgPGtsaW1la0Bnb29nbGUuY29tPgotTWFy
aW8gVGFuZXYgPHJhZGl4QGdvb2dsZS5jb20+Ci1NYXJrIFBhc2tpbgogTWFya3VzIEhldWxlIDxt
YXJrdXMuaGV1bGVAZ21haWwuY29tPgotTWFydGlqbiBWZWxzIDxtdmVsc0Bnb29nbGUuY29tPgot
TWF0dGhldyBTaW1tb25zIDxzaW1tb25tdEBhY20ub3JnPgogTWlrYSBSYWVudG8gPG1pa2llQGlr
aS5maT4KLU1pa2UgQmxhbmQgPG1ibGFuZEBnb29nbGUuY29tPgogTWlrbMOzcyBGYXpla2FzIDxt
ZmF6ZWthc0BzemVtYWZvci5jb20+Ci1OZWFsIE5vcndpdHogPG5ub3J3aXR6QGdtYWlsLmNvbT4K
LU5lcm1pbiBPemtpcmFuYXJ0bGkgPG5lcm1pbkBnb29nbGUuY29tPgotT3dlbiBDYXJsc2VuIDxv
Y2FybHNlbkBnb29nbGUuY29tPgotUGFuZWVuZHJhIEJhIDxwYW5lZW5kcmFAZ29vZ2xlLmNvbT4K
IFBhc2kgVmFsbWluZW4gPHBhc2kudmFsbWluZW5AZ21haWwuY29tPgogUGF0cmljayBIYW5uYSA8
cGhhbm5hQGdvb2dsZS5jb20+CiBQYXRyaWNrIFJpbGV5IDxwZnJAZ29vZ2xlLmNvbT4KLVBhdWwg
TWVuYWdlIDxtZW5hZ2VAZ29vZ2xlLmNvbT4KIFBldGVyIEthbWluc2tpIDxwaW90cmtAZ29vZ2xl
LmNvbT4KLVBpb3RyIEthbWluc2tpIDxwaW90cmtAZ29vZ2xlLmNvbT4KIFByZXN0b24gSmFja3Nv
biA8cHJlc3Rvbi5hLmphY2tzb25AZ21haWwuY29tPgogUmFpbmVyIEtsYWZmZW5ib2VjayA8cmFp
bmVyLmtsYWZmZW5ib2Vja0BkeW5hdHJhY2UuY29tPgogUnVzcyBDb3ggPHJzY0Bnb29nbGUuY29t
PgogUnVzcyBSdWZlciA8cnVzc0BwZW50YWQuY29tPgogU2VhbiBNY2FmZWUgPGVlZmFjbUBnbWFp
bC5jb20+CiBTaWd1csOwdXIgw4FzZ2VpcnNzb24gPHNpZ2dpQGdvb2dsZS5jb20+Ci1TdmVycmUg
U3VuZHNkYWwgPHN1bmRzZGFsQGdtYWlsLmNvbT4KLVN6eW1vbiBTb2JpayA8c29iaWsuc3p5bW9u
QGdtYWlsLmNvbT4KLVRha2VzaGkgWW9zaGlubyA8dHlvc2hpbm9AZ29vZ2xlLmNvbT4KIFRyYWN5
IEJpYWxpayA8dHJhY3lAcGVudGFkLmNvbT4KIFZhZGltIEJlcm1hbiA8dmFkaW1iQGdvb2dsZS5j
b20+CiBWbGFkIExvc2V2IDx2bGFkbEBnb29nbGUuY29tPgotV29sZmdhbmcgS2xpZXIgPHdrbGll
ckBnb29nbGUuY29tPgogWmhhbnlvbmcgV2FuIDx3YW5AZ29vZ2xlLmNvbT4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvUkVBRE1FLm1kIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9SRUFETUUubWQKaW5kZXggZDI2YjMwOWVk
MGQxLi45MDQwNDhmNDg0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29v
Z2xldGVzdC9zcmMvUkVBRE1FLm1kCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xl
dGVzdC9zcmMvUkVBRE1FLm1kCkBAIC0yLDUxICsyLDM5IEBACiAKICMjIyMgU2V0dXAKIAotVG8g
YnVpbGQgR29vZ2xlVGVzdCBhbmQgeW91ciB0ZXN0cyB0aGF0IHVzZSBpdCwgeW91IG5lZWQgdG8g
dGVsbCB5b3VyIGJ1aWxkCitUbyBidWlsZCBHb29nbGUgVGVzdCBhbmQgeW91ciB0ZXN0cyB0aGF0
IHVzZSBpdCwgeW91IG5lZWQgdG8gdGVsbCB5b3VyIGJ1aWxkCiBzeXN0ZW0gd2hlcmUgdG8gZmlu
ZCBpdHMgaGVhZGVycyBhbmQgc291cmNlIGZpbGVzLiBUaGUgZXhhY3Qgd2F5IHRvIGRvIGl0CiBk
ZXBlbmRzIG9uIHdoaWNoIGJ1aWxkIHN5c3RlbSB5b3UgdXNlLCBhbmQgaXMgdXN1YWxseSBzdHJh
aWdodGZvcndhcmQuCiAKICMjIyBCdWlsZCB3aXRoIENNYWtlCiAKLUdvb2dsZVRlc3QgY29tZXMg
d2l0aCBhIENNYWtlIGJ1aWxkIHNjcmlwdAorR29vZ2xlIFRlc3QgY29tZXMgd2l0aCBhIENNYWtl
IGJ1aWxkIHNjcmlwdAogKFtDTWFrZUxpc3RzLnR4dF0oaHR0cHM6Ly9naXRodWIuY29tL2dvb2ds
ZS9nb29nbGV0ZXN0L2Jsb2IvbWFzdGVyL0NNYWtlTGlzdHMudHh0KSkKIHRoYXQgY2FuIGJlIHVz
ZWQgb24gYSB3aWRlIHJhbmdlIG9mIHBsYXRmb3JtcyAoIkMiIHN0YW5kcyBmb3IgY3Jvc3MtcGxh
dGZvcm0uKS4KIElmIHlvdSBkb24ndCBoYXZlIENNYWtlIGluc3RhbGxlZCBhbHJlYWR5LCB5b3Ug
Y2FuIGRvd25sb2FkIGl0IGZvciBmcmVlIGZyb20KIDxodHRwOi8vd3d3LmNtYWtlLm9yZy8+Lgog
CiBDTWFrZSB3b3JrcyBieSBnZW5lcmF0aW5nIG5hdGl2ZSBtYWtlZmlsZXMgb3IgYnVpbGQgcHJv
amVjdHMgdGhhdCBjYW4gYmUgdXNlZCBpbgotdGhlIGNvbXBpbGVyIGVudmlyb25tZW50IG9mIHlv
dXIgY2hvaWNlLiBZb3UgY2FuIGVpdGhlciBidWlsZCBHb29nbGVUZXN0IGFzIGEKK3RoZSBjb21w
aWxlciBlbnZpcm9ubWVudCBvZiB5b3VyIGNob2ljZS4gWW91IGNhbiBlaXRoZXIgYnVpbGQgR29v
Z2xlIFRlc3QgYXMgYQogc3RhbmRhbG9uZSBwcm9qZWN0IG9yIGl0IGNhbiBiZSBpbmNvcnBvcmF0
ZWQgaW50byBhbiBleGlzdGluZyBDTWFrZSBidWlsZCBmb3IKIGFub3RoZXIgcHJvamVjdC4KIAog
IyMjIyBTdGFuZGFsb25lIENNYWtlIFByb2plY3QKIAotV2hlbiBidWlsZGluZyBHb29nbGVUZXN0
IGFzIGEgc3RhbmRhbG9uZSBwcm9qZWN0LCB0aGUgdHlwaWNhbCB3b3JrZmxvdyBzdGFydHMKLXdp
dGgKK1doZW4gYnVpbGRpbmcgR29vZ2xlIFRlc3QgYXMgYSBzdGFuZGFsb25lIHByb2plY3QsIHRo
ZSB0eXBpY2FsIHdvcmtmbG93IHN0YXJ0cword2l0aDoKIAotYGBgCi1naXQgY2xvbmUgaHR0cHM6
Ly9naXRodWIuY29tL2dvb2dsZS9nb29nbGV0ZXN0LmdpdCAtYiByZWxlYXNlLTEuMTEuMAotY2Qg
Z29vZ2xldGVzdCAgICAgICAgIyBNYWluIGRpcmVjdG9yeSBvZiB0aGUgY2xvbmVkIHJlcG9zaXRv
cnkuCi1ta2RpciBidWlsZCAgICAgICAgICAjIENyZWF0ZSBhIGRpcmVjdG9yeSB0byBob2xkIHRo
ZSBidWlsZCBvdXRwdXQuCi1jZCBidWlsZAotY21ha2UgLi4gICAgICAgICAgICAgIyBHZW5lcmF0
ZSBuYXRpdmUgYnVpbGQgc2NyaXB0cyBmb3IgR29vZ2xlVGVzdC4KLWBgYAorICAgIG1rZGlyIG15
YnVpbGQgICAgICAgIyBDcmVhdGUgYSBkaXJlY3RvcnkgdG8gaG9sZCB0aGUgYnVpbGQgb3V0cHV0
LgorICAgIGNkIG15YnVpbGQKKyAgICBjbWFrZSAke0dURVNUX0RJUn0gICMgR2VuZXJhdGUgbmF0
aXZlIGJ1aWxkIHNjcmlwdHMuCiAKLVRoZSBhYm92ZSBjb21tYW5kIGFsc28gaW5jbHVkZXMgR29v
Z2xlTW9jayBieSBkZWZhdWx0LiBBbmQgc28sIGlmIHlvdSB3YW50IHRvCi1idWlsZCBvbmx5IEdv
b2dsZVRlc3QsIHlvdSBzaG91bGQgcmVwbGFjZSB0aGUgbGFzdCBjb21tYW5kIHdpdGgKK0lmIHlv
dSB3YW50IHRvIGJ1aWxkIEdvb2dsZSBUZXN0J3Mgc2FtcGxlcywgeW91IHNob3VsZCByZXBsYWNl
IHRoZSBsYXN0IGNvbW1hbmQKK3dpdGgKIAotYGBgCi1jbWFrZSAuLiAtREJVSUxEX0dNT0NLPU9G
RgotYGBgCisgICAgY21ha2UgLURndGVzdF9idWlsZF9zYW1wbGVzPU9OICR7R1RFU1RfRElSfQog
CiBJZiB5b3UgYXJlIG9uIGEgXCpuaXggc3lzdGVtLCB5b3Ugc2hvdWxkIG5vdyBzZWUgYSBNYWtl
ZmlsZSBpbiB0aGUgY3VycmVudAotZGlyZWN0b3J5LiBKdXN0IHR5cGUgYG1ha2VgIHRvIGJ1aWxk
IEdvb2dsZVRlc3QuIEFuZCB0aGVuIHlvdSBjYW4gc2ltcGx5IGluc3RhbGwKLUdvb2dsZVRlc3Qg
aWYgeW91IGFyZSBhIHN5c3RlbSBhZG1pbmlzdHJhdG9yLgotCi1gYGAKLW1ha2UKLXN1ZG8gbWFr
ZSBpbnN0YWxsICAgICMgSW5zdGFsbCBpbiAvdXNyL2xvY2FsLyBieSBkZWZhdWx0Ci1gYGAKK2Rp
cmVjdG9yeS4gSnVzdCB0eXBlICdtYWtlJyB0byBidWlsZCBndGVzdC4KIAogSWYgeW91IHVzZSBX
aW5kb3dzIGFuZCBoYXZlIFZpc3VhbCBTdHVkaW8gaW5zdGFsbGVkLCBhIGBndGVzdC5zbG5gIGZp
bGUgYW5kCiBzZXZlcmFsIGAudmNwcm9qYCBmaWxlcyB3aWxsIGJlIGNyZWF0ZWQuIFlvdSBjYW4g
dGhlbiBidWlsZCB0aGVtIHVzaW5nIFZpc3VhbApAQCAtNTYsMTkgKzQ0LDEzIEBAIE9uIE1hYyBP
UyBYIHdpdGggWGNvZGUgaW5zdGFsbGVkLCBhIGAueGNvZGVwcm9qYCBmaWxlIHdpbGwgYmUgZ2Vu
ZXJhdGVkLgogCiAjIyMjIEluY29ycG9yYXRpbmcgSW50byBBbiBFeGlzdGluZyBDTWFrZSBQcm9q
ZWN0CiAKLUlmIHlvdSB3YW50IHRvIHVzZSBHb29nbGVUZXN0IGluIGEgcHJvamVjdCB3aGljaCBh
bHJlYWR5IHVzZXMgQ01ha2UsIHRoZSBlYXNpZXN0Ci13YXkgaXMgdG8gZ2V0IGluc3RhbGxlZCBs
aWJyYXJpZXMgYW5kIGhlYWRlcnMuCi0KLSogICBJbXBvcnQgR29vZ2xlVGVzdCBieSB1c2luZyBg
ZmluZF9wYWNrYWdlYCAob3IgYHBrZ19jaGVja19tb2R1bGVzYCkuIEZvcgotICAgIGV4YW1wbGUs
IGlmIGBmaW5kX3BhY2thZ2UoR1Rlc3QgQ09ORklHIFJFUVVJUkVEKWAgc3VjY2VlZHMsIHlvdSBj
YW4gdXNlIHRoZQotICAgIGxpYnJhcmllcyBhcyBgR1Rlc3Q6Omd0ZXN0YCwgYEdUZXN0OjpnbW9j
a2AuCi0KLUFuZCBhIG1vcmUgcm9idXN0IGFuZCBmbGV4aWJsZSBhcHByb2FjaCBpcyB0byBidWls
ZCBHb29nbGVUZXN0IGFzIHBhcnQgb2YgdGhhdAotcHJvamVjdCBkaXJlY3RseS4gVGhpcyBpcyBk
b25lIGJ5IG1ha2luZyB0aGUgR29vZ2xlVGVzdCBzb3VyY2UgY29kZSBhdmFpbGFibGUgdG8KLXRo
ZSBtYWluIGJ1aWxkIGFuZCBhZGRpbmcgaXQgdXNpbmcgQ01ha2UncyBgYWRkX3N1YmRpcmVjdG9y
eSgpYCBjb21tYW5kLiBUaGlzCi1oYXMgdGhlIHNpZ25pZmljYW50IGFkdmFudGFnZSB0aGF0IHRo
ZSBzYW1lIGNvbXBpbGVyIGFuZCBsaW5rZXIgc2V0dGluZ3MgYXJlCi11c2VkIGJldHdlZW4gR29v
Z2xlVGVzdCBhbmQgdGhlIHJlc3Qgb2YgeW91ciBwcm9qZWN0LCBzbyBpc3N1ZXMgYXNzb2NpYXRl
ZCB3aXRoCi11c2luZyBpbmNvbXBhdGlibGUgbGlicmFyaWVzIChlZyBkZWJ1Zy9yZWxlYXNlKSwg
ZXRjLiBhcmUgYXZvaWRlZC4gVGhpcyBpcworSWYgeW91IHdhbnQgdG8gdXNlIGd0ZXN0IGluIGEg
cHJvamVjdCB3aGljaCBhbHJlYWR5IHVzZXMgQ01ha2UsIHRoZW4gYSBtb3JlCityb2J1c3QgYW5k
IGZsZXhpYmxlIGFwcHJvYWNoIGlzIHRvIGJ1aWxkIGd0ZXN0IGFzIHBhcnQgb2YgdGhhdCBwcm9q
ZWN0IGRpcmVjdGx5LgorVGhpcyBpcyBkb25lIGJ5IG1ha2luZyB0aGUgR29vZ2xlVGVzdCBzb3Vy
Y2UgY29kZSBhdmFpbGFibGUgdG8gdGhlIG1haW4gYnVpbGQKK2FuZCBhZGRpbmcgaXQgdXNpbmcg
Q01ha2UncyBgYWRkX3N1YmRpcmVjdG9yeSgpYCBjb21tYW5kLiBUaGlzIGhhcyB0aGUKK3NpZ25p
ZmljYW50IGFkdmFudGFnZSB0aGF0IHRoZSBzYW1lIGNvbXBpbGVyIGFuZCBsaW5rZXIgc2V0dGlu
Z3MgYXJlIHVzZWQKK2JldHdlZW4gZ3Rlc3QgYW5kIHRoZSByZXN0IG9mIHlvdXIgcHJvamVjdCwg
c28gaXNzdWVzIGFzc29jaWF0ZWQgd2l0aCB1c2luZworaW5jb21wYXRpYmxlIGxpYnJhcmllcyAo
ZWcgZGVidWcvcmVsZWFzZSksIGV0Yy4gYXJlIGF2b2lkZWQuIFRoaXMgaXMKIHBhcnRpY3VsYXJs
eSB1c2VmdWwgb24gV2luZG93cy4gTWFraW5nIEdvb2dsZVRlc3QncyBzb3VyY2UgY29kZSBhdmFp
bGFibGUgdG8gdGhlCiBtYWluIGJ1aWxkIGNhbiBiZSBkb25lIGEgZmV3IGRpZmZlcmVudCB3YXlz
OgogCkBAIC04MiwyMyArNjQsNjggQEAgbWFpbiBidWlsZCBjYW4gYmUgZG9uZSBhIGZldyBkaWZm
ZXJlbnQgd2F5czoKICAgICBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gR2l0IHN1Ym1vZHVsZXMs
IGZvciBleGFtcGxlLCBoYXZlIHRoZWlyIG93biBzZXQgb2YKICAgICBhZHZhbnRhZ2VzIGFuZCBk
cmF3YmFja3MuCiAqICAgVXNlIENNYWtlIHRvIGRvd25sb2FkIEdvb2dsZVRlc3QgYXMgcGFydCBv
ZiB0aGUgYnVpbGQncyBjb25maWd1cmUgc3RlcC4gVGhpcwotICAgIGFwcHJvYWNoIGRvZXNuJ3Qg
aGF2ZSB0aGUgbGltaXRhdGlvbnMgb2YgdGhlIG90aGVyIG1ldGhvZHMuCisgICAgaXMganVzdCBh
IGxpdHRsZSBtb3JlIGNvbXBsZXgsIGJ1dCBkb2Vzbid0IGhhdmUgdGhlIGxpbWl0YXRpb25zIG9m
IHRoZSBvdGhlcgorICAgIG1ldGhvZHMuCiAKLVRoZSBsYXN0IG9mIHRoZSBhYm92ZSBtZXRob2Rz
IGlzIGltcGxlbWVudGVkIHdpdGggYSBzbWFsbCBwaWVjZSBvZiBDTWFrZSBjb2RlCi10aGF0IGRv
d25sb2FkcyBhbmQgcHVsbHMgdGhlIEdvb2dsZVRlc3QgY29kZSBpbnRvIHRoZSBtYWluIGJ1aWxk
LgorVGhlIGxhc3Qgb2YgdGhlIGFib3ZlIG1ldGhvZHMgaXMgaW1wbGVtZW50ZWQgd2l0aCBhIHNt
YWxsIHBpZWNlIG9mIENNYWtlIGNvZGUgaW4KK2Egc2VwYXJhdGUgZmlsZSAoZS5nLiBgQ01ha2VM
aXN0cy50eHQuaW5gKSB3aGljaCBpcyBjb3BpZWQgdG8gdGhlIGJ1aWxkIGFyZWEgYW5kCit0aGVu
IGludm9rZWQgYXMgYSBzdWItYnVpbGQgX2R1cmluZyB0aGUgQ01ha2Ugc3RhZ2VfLiBUaGF0IGRp
cmVjdG9yeSBpcyB0aGVuCitwdWxsZWQgaW50byB0aGUgbWFpbiBidWlsZCB3aXRoIGBhZGRfc3Vi
ZGlyZWN0b3J5KClgLiBGb3IgZXhhbXBsZToKIAotSnVzdCBhZGQgdG8geW91ciBgQ01ha2VMaXN0
cy50eHRgOgorTmV3IGZpbGUgYENNYWtlTGlzdHMudHh0LmluYDoKIAogYGBgY21ha2UKLWluY2x1
ZGUoRmV0Y2hDb250ZW50KQotRmV0Y2hDb250ZW50X0RlY2xhcmUoCi0gIGdvb2dsZXRlc3QKLSAg
IyBTcGVjaWZ5IHRoZSBjb21taXQgeW91IGRlcGVuZCBvbiBhbmQgdXBkYXRlIGl0IHJlZ3VsYXJs
eS4KLSAgVVJMIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZ29vZ2xldGVzdC9hcmNoaXZlL2Uy
MjM5ZWU2MDQzZjczNzIyZTdhYTgxMmE0NTlmNTRhMjg1NTI5MjkuemlwCitjbWFrZV9taW5pbXVt
X3JlcXVpcmVkKFZFUlNJT04gMi44LjIpCisKK3Byb2plY3QoZ29vZ2xldGVzdC1kb3dubG9hZCBO
T05FKQorCitpbmNsdWRlKEV4dGVybmFsUHJvamVjdCkKK0V4dGVybmFsUHJvamVjdF9BZGQoZ29v
Z2xldGVzdAorICBHSVRfUkVQT1NJVE9SWSAgICBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2dv
b2dsZXRlc3QuZ2l0CisgIEdJVF9UQUcgICAgICAgICAgIG1hc3RlcgorICBTT1VSQ0VfRElSICAg
ICAgICAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3Qtc3JjIgorICBCSU5B
UllfRElSICAgICAgICAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3QtYnVp
bGQiCisgIENPTkZJR1VSRV9DT01NQU5EICIiCisgIEJVSUxEX0NPTU1BTkQgICAgICIiCisgIElO
U1RBTExfQ09NTUFORCAgICIiCisgIFRFU1RfQ09NTUFORCAgICAgICIiCiApCi0jIEZvciBXaW5k
b3dzOiBQcmV2ZW50IG92ZXJyaWRpbmcgdGhlIHBhcmVudCBwcm9qZWN0J3MgY29tcGlsZXIvbGlu
a2VyIHNldHRpbmdzCitgYGAKKworRXhpc3RpbmcgYnVpbGQncyBgQ01ha2VMaXN0cy50eHRgOgor
CitgYGBjbWFrZQorIyBEb3dubG9hZCBhbmQgdW5wYWNrIGdvb2dsZXRlc3QgYXQgY29uZmlndXJl
IHRpbWUKK2NvbmZpZ3VyZV9maWxlKENNYWtlTGlzdHMudHh0LmluIGdvb2dsZXRlc3QtZG93bmxv
YWQvQ01ha2VMaXN0cy50eHQpCitleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke0NNQUtFX0NPTU1B
TkR9IC1HICIke0NNQUtFX0dFTkVSQVRPUn0iIC4KKyAgUkVTVUxUX1ZBUklBQkxFIHJlc3VsdAor
ICBXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVz
dC1kb3dubG9hZCApCitpZihyZXN1bHQpCisgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkNNYWtlIHN0
ZXAgZm9yIGdvb2dsZXRlc3QgZmFpbGVkOiAke3Jlc3VsdH0iKQorZW5kaWYoKQorZXhlY3V0ZV9w
cm9jZXNzKENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtLWJ1aWxkIC4KKyAgUkVTVUxUX1ZBUklB
QkxFIHJlc3VsdAorICBXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJ
Un0vZ29vZ2xldGVzdC1kb3dubG9hZCApCitpZihyZXN1bHQpCisgIG1lc3NhZ2UoRkFUQUxfRVJS
T1IgIkJ1aWxkIHN0ZXAgZm9yIGdvb2dsZXRlc3QgZmFpbGVkOiAke3Jlc3VsdH0iKQorZW5kaWYo
KQorCisjIFByZXZlbnQgb3ZlcnJpZGluZyB0aGUgcGFyZW50IHByb2plY3QncyBjb21waWxlci9s
aW5rZXIKKyMgc2V0dGluZ3Mgb24gV2luZG93cwogc2V0KGd0ZXN0X2ZvcmNlX3NoYXJlZF9jcnQg
T04gQ0FDSEUgQk9PTCAiIiBGT1JDRSkKLUZldGNoQ29udGVudF9NYWtlQXZhaWxhYmxlKGdvb2ds
ZXRlc3QpCisKKyMgQWRkIGdvb2dsZXRlc3QgZGlyZWN0bHkgdG8gb3VyIGJ1aWxkLiBUaGlzIGRl
ZmluZXMKKyMgdGhlIGd0ZXN0IGFuZCBndGVzdF9tYWluIHRhcmdldHMuCithZGRfc3ViZGlyZWN0
b3J5KCR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LXNyYworICAgICAgICAg
ICAgICAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVzdC1idWlsZAorICAg
ICAgICAgICAgICAgICBFWENMVURFX0ZST01fQUxMKQorCisjIFRoZSBndGVzdC9ndGVzdF9tYWlu
IHRhcmdldHMgY2FycnkgaGVhZGVyIHNlYXJjaCBwYXRoCisjIGRlcGVuZGVuY2llcyBhdXRvbWF0
aWNhbGx5IHdoZW4gdXNpbmcgQ01ha2UgMi44LjExIG9yCisjIGxhdGVyLiBPdGhlcndpc2Ugd2Ug
aGF2ZSB0byBhZGQgdGhlbSBoZXJlIG91cnNlbHZlcy4KK2lmIChDTUFLRV9WRVJTSU9OIFZFUlNJ
T05fTEVTUyAyLjguMTEpCisgIGluY2x1ZGVfZGlyZWN0b3JpZXMoIiR7Z3Rlc3RfU09VUkNFX0RJ
Un0vaW5jbHVkZSIpCitlbmRpZigpCiAKICMgTm93IHNpbXBseSBsaW5rIGFnYWluc3QgZ3Rlc3Qg
b3IgZ3Rlc3RfbWFpbiBhcyBuZWVkZWQuIEVnCiBhZGRfZXhlY3V0YWJsZShleGFtcGxlIGV4YW1w
bGUuY3BwKQpAQCAtMTA2LDE4ICsxMzMsMjAgQEAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGV4YW1w
bGUgZ3Rlc3RfbWFpbikKIGFkZF90ZXN0KE5BTUUgZXhhbXBsZV90ZXN0IENPTU1BTkQgZXhhbXBs
ZSkKIGBgYAogCi1Ob3RlIHRoYXQgdGhpcyBhcHByb2FjaCByZXF1aXJlcyBDTWFrZSAzLjE0IG9y
IGxhdGVyIGR1ZSB0byBpdHMgdXNlIG9mIHRoZQotYEZldGNoQ29udGVudF9NYWtlQXZhaWxhYmxl
KClgIGNvbW1hbmQuCitOb3RlIHRoYXQgdGhpcyBhcHByb2FjaCByZXF1aXJlcyBDTWFrZSAyLjgu
MiBvciBsYXRlciBkdWUgdG8gaXRzIHVzZSBvZiB0aGUKK2BFeHRlcm5hbFByb2plY3RfQWRkKClg
IGNvbW1hbmQuIFRoZSBhYm92ZSB0ZWNobmlxdWUgaXMgZGlzY3Vzc2VkIGluIG1vcmUgZGV0YWls
CitpbiBbdGhpcyBzZXBhcmF0ZSBhcnRpY2xlXShodHRwOi8vY3Jhc2NpdC5jb20vMjAxNS8wNy8y
NS9jbWFrZS1ndGVzdC8pIHdoaWNoCithbHNvIGNvbnRhaW5zIGEgbGluayB0byBhIGZ1bGx5IGdl
bmVyYWxpemVkIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0ZWNobmlxdWUuCiAKICMjIyMjIFZpc3Vh
bCBTdHVkaW8gRHluYW1pYyB2cyBTdGF0aWMgUnVudGltZXMKIAogQnkgZGVmYXVsdCwgbmV3IFZp
c3VhbCBTdHVkaW8gcHJvamVjdHMgbGluayB0aGUgQyBydW50aW1lcyBkeW5hbWljYWxseSBidXQK
LUdvb2dsZVRlc3QgbGlua3MgdGhlbSBzdGF0aWNhbGx5LiBUaGlzIHdpbGwgZ2VuZXJhdGUgYW4g
ZXJyb3IgdGhhdCBsb29rcworR29vZ2xlIFRlc3QgbGlua3MgdGhlbSBzdGF0aWNhbGx5LiBUaGlz
IHdpbGwgZ2VuZXJhdGUgYW4gZXJyb3IgdGhhdCBsb29rcwogc29tZXRoaW5nIGxpa2UgdGhlIGZv
bGxvd2luZzogZ3Rlc3QubGliKGd0ZXN0LWFsbC5vYmopIDogZXJyb3IgTE5LMjAzODogbWlzbWF0
Y2gKIGRldGVjdGVkIGZvciAnUnVudGltZUxpYnJhcnknOiB2YWx1ZSAnTVRkX1N0YXRpY0RlYnVn
JyBkb2Vzbid0IG1hdGNoIHZhbHVlCiAnTURkX0R5bmFtaWNEZWJ1ZycgaW4gbWFpbi5vYmoKIAot
R29vZ2xlVGVzdCBhbHJlYWR5IGhhcyBhIENNYWtlIG9wdGlvbiBmb3IgdGhpczogYGd0ZXN0X2Zv
cmNlX3NoYXJlZF9jcnRgCitHb29nbGUgVGVzdCBhbHJlYWR5IGhhcyBhIENNYWtlIG9wdGlvbiBm
b3IgdGhpczogYGd0ZXN0X2ZvcmNlX3NoYXJlZF9jcnRgCiAKIEVuYWJsaW5nIHRoaXMgb3B0aW9u
IHdpbGwgbWFrZSBndGVzdCBsaW5rIHRoZSBydW50aW1lcyBkeW5hbWljYWxseSB0b28sIGFuZAog
bWF0Y2ggdGhlIHByb2plY3QgaW4gd2hpY2ggaXQgaXMgaW5jbHVkZWQuCkBAIC0xMjUsMTcgKzE1
NCwxNyBAQCBtYXRjaCB0aGUgcHJvamVjdCBpbiB3aGljaCBpdCBpcyBpbmNsdWRlZC4KICMjIyMg
QysrIFN0YW5kYXJkIFZlcnNpb24KIAogQW4gZW52aXJvbm1lbnQgdGhhdCBzdXBwb3J0cyBDKysx
MSBpcyByZXF1aXJlZCBpbiBvcmRlciB0byBzdWNjZXNzZnVsbHkgYnVpbGQKLUdvb2dsZVRlc3Qu
IE9uZSB3YXkgdG8gZW5zdXJlIHRoaXMgaXMgdG8gc3BlY2lmeSB0aGUgc3RhbmRhcmQgaW4gdGhl
IHRvcC1sZXZlbAorR29vZ2xlIFRlc3QuIE9uZSB3YXkgdG8gZW5zdXJlIHRoaXMgaXMgdG8gc3Bl
Y2lmeSB0aGUgc3RhbmRhcmQgaW4gdGhlIHRvcC1sZXZlbAogcHJvamVjdCwgZm9yIGV4YW1wbGUg
YnkgdXNpbmcgdGhlIGBzZXQoQ01BS0VfQ1hYX1NUQU5EQVJEIDExKWAgY29tbWFuZC4gSWYgdGhp
cwotaXMgbm90IGZlYXNpYmxlLCBmb3IgZXhhbXBsZSBpbiBhIEMgcHJvamVjdCB1c2luZyBHb29n
bGVUZXN0IGZvciB2YWxpZGF0aW9uLAoraXMgbm90IGZlYXNpYmxlLCBmb3IgZXhhbXBsZSBpbiBh
IEMgcHJvamVjdCB1c2luZyBHb29nbGUgVGVzdCBmb3IgdmFsaWRhdGlvbiwKIHRoZW4gaXQgY2Fu
IGJlIHNwZWNpZmllZCBieSBhZGRpbmcgaXQgdG8gdGhlIG9wdGlvbnMgZm9yIGNtYWtlIHZpYSB0
aGUKIGBEQ01BS0VfQ1hYX0ZMQUdTYCBvcHRpb24uCiAKLSMjIyBUd2Vha2luZyBHb29nbGVUZXN0
CisjIyMgVHdlYWtpbmcgR29vZ2xlIFRlc3QKIAotR29vZ2xlVGVzdCBjYW4gYmUgdXNlZCBpbiBk
aXZlcnNlIGVudmlyb25tZW50cy4gVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBtYXkKK0dvb2ds
ZSBUZXN0IGNhbiBiZSB1c2VkIGluIGRpdmVyc2UgZW52aXJvbm1lbnRzLiBUaGUgZGVmYXVsdCBj
b25maWd1cmF0aW9uIG1heQogbm90IHdvcmsgKG9yIG1heSBub3Qgd29yayB3ZWxsKSBvdXQgb2Yg
dGhlIGJveCBpbiBzb21lIGVudmlyb25tZW50cy4gSG93ZXZlciwKLXlvdSBjYW4gZWFzaWx5IHR3
ZWFrIEdvb2dsZVRlc3QgYnkgZGVmaW5pbmcgY29udHJvbCBtYWNyb3Mgb24gdGhlIGNvbXBpbGVy
Cit5b3UgY2FuIGVhc2lseSB0d2VhayBHb29nbGUgVGVzdCBieSBkZWZpbmluZyBjb250cm9sIG1h
Y3JvcyBvbiB0aGUgY29tcGlsZXIKIGNvbW1hbmQgbGluZS4gR2VuZXJhbGx5LCB0aGVzZSBtYWNy
b3MgYXJlIG5hbWVkIGxpa2UgYEdURVNUX1hZWmAgYW5kIHlvdSBkZWZpbmUKIHRoZW0gdG8gZWl0
aGVyIDEgb3IgMCB0byBlbmFibGUgb3IgZGlzYWJsZSBhIGNlcnRhaW4gZmVhdHVyZS4KIApAQCAt
MTQ0LDEyICsxNzMsMTIgQEAgV2UgbGlzdCB0aGUgbW9zdCBmcmVxdWVudGx5IHVzZWQgbWFjcm9z
IGJlbG93LiBGb3IgYSBjb21wbGV0ZSBsaXN0LCBzZWUgZmlsZQogCiAjIyMgTXVsdGktdGhyZWFk
ZWQgVGVzdHMKIAotR29vZ2xlVGVzdCBpcyB0aHJlYWQtc2FmZSB3aGVyZSB0aGUgcHRocmVhZCBs
aWJyYXJ5IGlzIGF2YWlsYWJsZS4gQWZ0ZXIKK0dvb2dsZSBUZXN0IGlzIHRocmVhZC1zYWZlIHdo
ZXJlIHRoZSBwdGhyZWFkIGxpYnJhcnkgaXMgYXZhaWxhYmxlLiBBZnRlcgogYCNpbmNsdWRlICJn
dGVzdC9ndGVzdC5oImAsIHlvdSBjYW4gY2hlY2sgdGhlCiBgR1RFU1RfSVNfVEhSRUFEU0FGRWAg
bWFjcm8gdG8gc2VlIHdoZXRoZXIgdGhpcyBpcyB0aGUgY2FzZSAoeWVzIGlmIHRoZSBtYWNybyBp
cwogYCNkZWZpbmVkYCB0byAxLCBubyBpZiBpdCdzIHVuZGVmaW5lZC4pLgogCi1JZiBHb29nbGVU
ZXN0IGRvZXNuJ3QgY29ycmVjdGx5IGRldGVjdCB3aGV0aGVyIHB0aHJlYWQgaXMgYXZhaWxhYmxl
IGluIHlvdXIKK0lmIEdvb2dsZSBUZXN0IGRvZXNuJ3QgY29ycmVjdGx5IGRldGVjdCB3aGV0aGVy
IHB0aHJlYWQgaXMgYXZhaWxhYmxlIGluIHlvdXIKIGVudmlyb25tZW50LCB5b3UgY2FuIGZvcmNl
IGl0IHdpdGgKIAogICAgIC1ER1RFU1RfSEFTX1BUSFJFQUQ9MQpAQCAtMTU4LDE2ICsxODcsMTYg
QEAgb3IKIAogICAgIC1ER1RFU1RfSEFTX1BUSFJFQUQ9MAogCi1XaGVuIEdvb2dsZVRlc3QgdXNl
cyBwdGhyZWFkLCB5b3UgbWF5IG5lZWQgdG8gYWRkIGZsYWdzIHRvIHlvdXIgY29tcGlsZXIgYW5k
L29yCitXaGVuIEdvb2dsZSBUZXN0IHVzZXMgcHRocmVhZCwgeW91IG1heSBuZWVkIHRvIGFkZCBm
bGFncyB0byB5b3VyIGNvbXBpbGVyIGFuZC9vcgogbGlua2VyIHRvIHNlbGVjdCB0aGUgcHRocmVh
ZCBsaWJyYXJ5LCBvciB5b3UnbGwgZ2V0IGxpbmsgZXJyb3JzLiBJZiB5b3UgdXNlIHRoZQotQ01h
a2Ugc2NyaXB0LCB0aGlzIGlzIHRha2VuIGNhcmUgb2YgZm9yIHlvdS4gSWYgeW91IHVzZSB5b3Vy
IG93biBidWlsZCBzY3JpcHQsCi15b3UnbGwgbmVlZCB0byByZWFkIHlvdXIgY29tcGlsZXIgYW5k
IGxpbmtlcidzIG1hbnVhbCB0byBmaWd1cmUgb3V0IHdoYXQgZmxhZ3MKLXRvIGFkZC4KK0NNYWtl
IHNjcmlwdCBvciB0aGUgZGVwcmVjYXRlZCBBdXRvdG9vbHMgc2NyaXB0LCB0aGlzIGlzIHRha2Vu
IGNhcmUgb2YgZm9yIHlvdS4KK0lmIHlvdSB1c2UgeW91ciBvd24gYnVpbGQgc2NyaXB0LCB5b3Un
bGwgbmVlZCB0byByZWFkIHlvdXIgY29tcGlsZXIgYW5kIGxpbmtlcidzCittYW51YWwgdG8gZmln
dXJlIG91dCB3aGF0IGZsYWdzIHRvIGFkZC4KIAogIyMjIEFzIGEgU2hhcmVkIExpYnJhcnkgKERM
TCkKIAotR29vZ2xlVGVzdCBpcyBjb21wYWN0LCBzbyBtb3N0IHVzZXJzIGNhbiBidWlsZCBhbmQg
bGluayBpdCBhcyBhIHN0YXRpYyBsaWJyYXJ5Ci1mb3IgdGhlIHNpbXBsaWNpdHkuIFlvdSBjYW4g
Y2hvb3NlIHRvIHVzZSBHb29nbGVUZXN0IGFzIGEgc2hhcmVkIGxpYnJhcnkgKGtub3duCitHb29n
bGUgVGVzdCBpcyBjb21wYWN0LCBzbyBtb3N0IHVzZXJzIGNhbiBidWlsZCBhbmQgbGluayBpdCBh
cyBhIHN0YXRpYyBsaWJyYXJ5Citmb3IgdGhlIHNpbXBsaWNpdHkuIFlvdSBjYW4gY2hvb3NlIHRv
IHVzZSBHb29nbGUgVGVzdCBhcyBhIHNoYXJlZCBsaWJyYXJ5IChrbm93bgogYXMgYSBETEwgb24g
V2luZG93cykgaWYgeW91IHByZWZlci4KIAogVG8gY29tcGlsZSAqZ3Rlc3QqIGFzIGEgc2hhcmVk
IGxpYnJhcnksIGFkZApAQCAtMTg3LDI1ICsyMTYsMjMgQEAgTm90ZTogd2hpbGUgdGhlIGFib3Zl
IHN0ZXBzIGFyZW4ndCB0ZWNobmljYWxseSBuZWNlc3NhcnkgdG9kYXkgd2hlbiB1c2luZyBzb21l
CiBjb21waWxlcnMgKGUuZy4gR0NDKSwgdGhleSBtYXkgYmVjb21lIG5lY2Vzc2FyeSBpbiB0aGUg
ZnV0dXJlLCBpZiB3ZSBkZWNpZGUgdG8KIGltcHJvdmUgdGhlIHNwZWVkIG9mIGxvYWRpbmcgdGhl
IGxpYnJhcnkgKHNlZQogPGh0dHA6Ly9nY2MuZ251Lm9yZy93aWtpL1Zpc2liaWxpdHk+IGZvciBk
ZXRhaWxzKS4gVGhlcmVmb3JlIHlvdSBhcmUgcmVjb21tZW5kZWQKLXRvIGFsd2F5cyBhZGQgdGhl
IGFib3ZlIGZsYWdzIHdoZW4gdXNpbmcgR29vZ2xlVGVzdCBhcyBhIHNoYXJlZCBsaWJyYXJ5Lgot
T3RoZXJ3aXNlIGEgZnV0dXJlIHJlbGVhc2Ugb2YgR29vZ2xlVGVzdCBtYXkgYnJlYWsgeW91ciBi
dWlsZCBzY3JpcHQuCit0byBhbHdheXMgYWRkIHRoZSBhYm92ZSBmbGFncyB3aGVuIHVzaW5nIEdv
b2dsZSBUZXN0IGFzIGEgc2hhcmVkIGxpYnJhcnkuCitPdGhlcndpc2UgYSBmdXR1cmUgcmVsZWFz
ZSBvZiBHb29nbGUgVGVzdCBtYXkgYnJlYWsgeW91ciBidWlsZCBzY3JpcHQuCiAKICMjIyBBdm9p
ZGluZyBNYWNybyBOYW1lIENsYXNoZXMKIAogSW4gQysrLCBtYWNyb3MgZG9uJ3Qgb2JleSBuYW1l
c3BhY2VzLiBUaGVyZWZvcmUgdHdvIGxpYnJhcmllcyB0aGF0IGJvdGggZGVmaW5lIGEKIG1hY3Jv
IG9mIHRoZSBzYW1lIG5hbWUgd2lsbCBjbGFzaCBpZiB5b3UgYCNpbmNsdWRlYCBib3RoIGRlZmlu
aXRpb25zLiBJbiBjYXNlIGEKLUdvb2dsZVRlc3QgbWFjcm8gY2xhc2hlcyB3aXRoIGFub3RoZXIg
bGlicmFyeSwgeW91IGNhbiBmb3JjZSBHb29nbGVUZXN0IHRvCitHb29nbGUgVGVzdCBtYWNybyBj
bGFzaGVzIHdpdGggYW5vdGhlciBsaWJyYXJ5LCB5b3UgY2FuIGZvcmNlIEdvb2dsZSBUZXN0IHRv
CiByZW5hbWUgaXRzIG1hY3JvIHRvIGF2b2lkIHRoZSBjb25mbGljdC4KIAotU3BlY2lmaWNhbGx5
LCBpZiBib3RoIEdvb2dsZVRlc3QgYW5kIHNvbWUgb3RoZXIgY29kZSBkZWZpbmUgbWFjcm8gRk9P
LCB5b3UgY2FuCitTcGVjaWZpY2FsbHksIGlmIGJvdGggR29vZ2xlIFRlc3QgYW5kIHNvbWUgb3Ro
ZXIgY29kZSBkZWZpbmUgbWFjcm8gRk9PLCB5b3UgY2FuCiBhZGQKIAogICAgIC1ER1RFU1RfRE9O
VF9ERUZJTkVfRk9PPTEKIAotdG8gdGhlIGNvbXBpbGVyIGZsYWdzIHRvIHRlbGwgR29vZ2xlVGVz
dCB0byBjaGFuZ2UgdGhlIG1hY3JvJ3MgbmFtZSBmcm9tIGBGT09gCi10byBgR1RFU1RfRk9PYC4g
Q3VycmVudGx5IGBGT09gIGNhbiBiZSBgQVNTRVJUX0VRYCwgYEFTU0VSVF9GQUxTRWAsIGBBU1NF
UlRfR0VgLAotYEFTU0VSVF9HVGAsIGBBU1NFUlRfTEVgLCBgQVNTRVJUX0xUYCwgYEFTU0VSVF9O
RWAsIGBBU1NFUlRfVFJVRWAsCi1gRVhQRUNUX0ZBTFNFYCwgYEVYUEVDVF9UUlVFYCwgYEZBSUxg
LCBgU1VDQ0VFRGAsIGBURVNUYCwgb3IgYFRFU1RfRmAuIEZvcgordG8gdGhlIGNvbXBpbGVyIGZs
YWdzIHRvIHRlbGwgR29vZ2xlIFRlc3QgdG8gY2hhbmdlIHRoZSBtYWNybydzIG5hbWUgZnJvbSBg
Rk9PYAordG8gYEdURVNUX0ZPT2AuIEN1cnJlbnRseSBgRk9PYCBjYW4gYmUgYEZBSUxgLCBgU1VD
Q0VFRGAsIG9yIGBURVNUYC4gRm9yCiBleGFtcGxlLCB3aXRoIGAtREdURVNUX0RPTlRfREVGSU5F
X1RFU1Q9MWAsIHlvdSdsbCBuZWVkIHRvIHdyaXRlCiAKICAgICBHVEVTVF9URVNUKFNvbWVUZXN0
LCBEb2VzVGhpcykgeyAuLi4gfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9n
b29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LWFzc2VydGlvbi1yZXN1bHQuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC1h
c3NlcnRpb24tcmVzdWx0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkZGJiNTlj
NjQxMy4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVz
dC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC1hc3NlcnRpb24tcmVzdWx0LmgKKysrIC9kZXYvbnVs
bApAQCAtMSwyMzcgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMDUsIEdvb2dsZSBJbmMuCi0vLyBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8KLS8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8gbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
Ly8gbWV0OgotLy8KLS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0vLyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0vLyAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0vLyBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCi0vLyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCi0vLyBkaXN0cmlidXRpb24uCi0vLyAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0vLyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQot
Ly8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0vLyBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0vLyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0vLyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotCi0vLyBUaGUgR29vZ2xlIEMrKyBUZXN0aW5nIGFuZCBNb2NraW5nIEZyYW1ld29y
ayAoR29vZ2xlIFRlc3QpCi0vLwotLy8gVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIEFzc2VydGlv
blJlc3VsdCB0eXBlLgotCi0vLyBJV1lVIHByYWdtYTogcHJpdmF0ZSwgaW5jbHVkZSAiZ3Rlc3Qv
Z3Rlc3QuaCIKLS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ3Rlc3QvLioKLS8vIElXWVUgcHJhZ21h
OiBmcmllbmQgZ21vY2svLioKLQotI2lmbmRlZiBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RF
U1RfQVNTRVJUSU9OX1JFU1VMVF9IXwotI2RlZmluZSBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1Rf
R1RFU1RfQVNTRVJUSU9OX1JFU1VMVF9IXwotCi0jaW5jbHVkZSA8bWVtb3J5PgotI2luY2x1ZGUg
PG9zdHJlYW0+Ci0jaW5jbHVkZSA8c3RyaW5nPgotI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgotCi0j
aW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QtbWVzc2FnZS5oIgotI2luY2x1ZGUgImd0ZXN0L2ludGVybmFs
L2d0ZXN0LXBvcnQuaCIKLQotR1RFU1RfRElTQUJMRV9NU0NfV0FSTklOR1NfUFVTSF8oNDI1MSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLyogY2xhc3MgQSBuZWVkcyB0byBo
YXZlIGRsbC1pbnRlcmZhY2UgdG8gYmUgdXNlZCBieSBjbGllbnRzIG9mIGNsYXNzIEIgKi8pCi0K
LW5hbWVzcGFjZSB0ZXN0aW5nIHsKLQotLy8gQSBjbGFzcyBmb3IgaW5kaWNhdGluZyB3aGV0aGVy
IGFuIGFzc2VydGlvbiB3YXMgc3VjY2Vzc2Z1bC4gIFdoZW4KLS8vIHRoZSBhc3NlcnRpb24gd2Fz
bid0IHN1Y2Nlc3NmdWwsIHRoZSBBc3NlcnRpb25SZXN1bHQgb2JqZWN0Ci0vLyByZW1lbWJlcnMg
YSBub24tZW1wdHkgbWVzc2FnZSB0aGF0IGRlc2NyaWJlcyBob3cgaXQgZmFpbGVkLgotLy8KLS8v
IFRvIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzLCB1c2Ugb25lIG9mIHRoZSBmYWN0
b3J5IGZ1bmN0aW9ucwotLy8gKEFzc2VydGlvblN1Y2Nlc3MoKSBhbmQgQXNzZXJ0aW9uRmFpbHVy
ZSgpKS4KLS8vCi0vLyBUaGlzIGNsYXNzIGlzIHVzZWZ1bCBmb3IgdHdvIHB1cnBvc2VzOgotLy8g
ICAxLiBEZWZpbmluZyBwcmVkaWNhdGUgZnVuY3Rpb25zIHRvIGJlIHVzZWQgd2l0aCBCb29sZWFu
IHRlc3QgYXNzZXJ0aW9ucwotLy8gICAgICBFWFBFQ1RfVFJVRS9FWFBFQ1RfRkFMU0UgYW5kIHRo
ZWlyIEFTU0VSVF8gY291bnRlcnBhcnRzCi0vLyAgIDIuIERlZmluaW5nIHByZWRpY2F0ZS1mb3Jt
YXQgZnVuY3Rpb25zIHRvIGJlCi0vLyAgICAgIHVzZWQgd2l0aCBwcmVkaWNhdGUgYXNzZXJ0aW9u
cyAoQVNTRVJUX1BSRURfRk9STUFUKiwgZXRjKS4KLS8vCi0vLyBGb3IgZXhhbXBsZSwgaWYgeW91
IGRlZmluZSBJc0V2ZW4gcHJlZGljYXRlOgotLy8KLS8vICAgdGVzdGluZzo6QXNzZXJ0aW9uUmVz
dWx0IElzRXZlbihpbnQgbikgewotLy8gICAgIGlmICgobiAlIDIpID09IDApCi0vLyAgICAgICBy
ZXR1cm4gdGVzdGluZzo6QXNzZXJ0aW9uU3VjY2VzcygpOwotLy8gICAgIGVsc2UKLS8vICAgICAg
IHJldHVybiB0ZXN0aW5nOjpBc3NlcnRpb25GYWlsdXJlKCkgPDwgbiA8PCAiIGlzIG9kZCI7Ci0v
LyAgIH0KLS8vCi0vLyBUaGVuIHRoZSBmYWlsZWQgZXhwZWN0YXRpb24gRVhQRUNUX1RSVUUoSXNF
dmVuKEZpYig1KSkpCi0vLyB3aWxsIHByaW50IHRoZSBtZXNzYWdlCi0vLwotLy8gICBWYWx1ZSBv
ZjogSXNFdmVuKEZpYig1KSkKLS8vICAgICBBY3R1YWw6IGZhbHNlICg1IGlzIG9kZCkKLS8vICAg
RXhwZWN0ZWQ6IHRydWUKLS8vCi0vLyBpbnN0ZWFkIG9mIGEgbW9yZSBvcGFxdWUKLS8vCi0vLyAg
IFZhbHVlIG9mOiBJc0V2ZW4oRmliKDUpKQotLy8gICAgIEFjdHVhbDogZmFsc2UKLS8vICAgRXhw
ZWN0ZWQ6IHRydWUKLS8vCi0vLyBpbiBjYXNlIElzRXZlbiBpcyBhIHNpbXBsZSBCb29sZWFuIHBy
ZWRpY2F0ZS4KLS8vCi0vLyBJZiB5b3UgZXhwZWN0IHlvdXIgcHJlZGljYXRlIHRvIGJlIHJldXNl
ZCBhbmQgd2FudCB0byBzdXBwb3J0IGluZm9ybWF0aXZlCi0vLyBtZXNzYWdlcyBpbiBFWFBFQ1Rf
RkFMU0UgYW5kIEFTU0VSVF9GQUxTRSAobmVnYXRpdmUgYXNzZXJ0aW9ucyBzaG93IHVwCi0vLyBh
Ym91dCBoYWxmIGFzIG9mdGVuIGFzIHBvc2l0aXZlIG9uZXMgaW4gb3VyIHRlc3RzKSwgc3VwcGx5
IG1lc3NhZ2VzIGZvcgotLy8gYm90aCBzdWNjZXNzIGFuZCBmYWlsdXJlIGNhc2VzOgotLy8KLS8v
ICAgdGVzdGluZzo6QXNzZXJ0aW9uUmVzdWx0IElzRXZlbihpbnQgbikgewotLy8gICAgIGlmICgo
biAlIDIpID09IDApCi0vLyAgICAgICByZXR1cm4gdGVzdGluZzo6QXNzZXJ0aW9uU3VjY2Vzcygp
IDw8IG4gPDwgIiBpcyBldmVuIjsKLS8vICAgICBlbHNlCi0vLyAgICAgICByZXR1cm4gdGVzdGlu
Zzo6QXNzZXJ0aW9uRmFpbHVyZSgpIDw8IG4gPDwgIiBpcyBvZGQiOwotLy8gICB9Ci0vLwotLy8g
VGhlbiBhIHN0YXRlbWVudCBFWFBFQ1RfRkFMU0UoSXNFdmVuKEZpYig2KSkpIHdpbGwgcHJpbnQK
LS8vCi0vLyAgIFZhbHVlIG9mOiBJc0V2ZW4oRmliKDYpKQotLy8gICAgIEFjdHVhbDogdHJ1ZSAo
OCBpcyBldmVuKQotLy8gICBFeHBlY3RlZDogZmFsc2UKLS8vCi0vLyBOQjogUHJlZGljYXRlcyB0
aGF0IHN1cHBvcnQgbmVnYXRpdmUgQm9vbGVhbiBhc3NlcnRpb25zIGhhdmUgcmVkdWNlZAotLy8g
cGVyZm9ybWFuY2UgaW4gcG9zaXRpdmUgb25lcyBzbyBiZSBjYXJlZnVsIG5vdCB0byB1c2UgdGhl
bSBpbiB0ZXN0cwotLy8gdGhhdCBoYXZlIGxvdHMgKHRlbnMgb2YgdGhvdXNhbmRzKSBvZiBwb3Np
dGl2ZSBCb29sZWFuIGFzc2VydGlvbnMuCi0vLwotLy8gVG8gdXNlIHRoaXMgY2xhc3Mgd2l0aCBF
WFBFQ1RfUFJFRF9GT1JNQVQgYXNzZXJ0aW9ucyBzdWNoIGFzOgotLy8KLS8vICAgLy8gVmVyaWZp
ZXMgdGhhdCBGb28oKSByZXR1cm5zIGFuIGV2ZW4gbnVtYmVyLgotLy8gICBFWFBFQ1RfUFJFRF9G
T1JNQVQxKElzRXZlbiwgRm9vKCkpOwotLy8KLS8vIHlvdSBuZWVkIHRvIGRlZmluZToKLS8vCi0v
LyAgIHRlc3Rpbmc6OkFzc2VydGlvblJlc3VsdCBJc0V2ZW4oY29uc3QgY2hhciogZXhwciwgaW50
IG4pIHsKLS8vICAgICBpZiAoKG4gJSAyKSA9PSAwKQotLy8gICAgICAgcmV0dXJuIHRlc3Rpbmc6
OkFzc2VydGlvblN1Y2Nlc3MoKTsKLS8vICAgICBlbHNlCi0vLyAgICAgICByZXR1cm4gdGVzdGlu
Zzo6QXNzZXJ0aW9uRmFpbHVyZSgpCi0vLyAgICAgICAgIDw8ICJFeHBlY3RlZDogIiA8PCBleHBy
IDw8ICIgaXMgZXZlblxuICBBY3R1YWw6IGl0J3MgIiA8PCBuOwotLy8gICB9Ci0vLwotLy8gSWYg
Rm9vKCkgcmV0dXJucyA1LCB5b3Ugd2lsbCBzZWUgdGhlIGZvbGxvd2luZyBtZXNzYWdlOgotLy8K
LS8vICAgRXhwZWN0ZWQ6IEZvbygpIGlzIGV2ZW4KLS8vICAgICBBY3R1YWw6IGl0J3MgNQotLy8K
LWNsYXNzIEdURVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0IHsKLSBwdWJsaWM6Ci0gIC8vIENvcHkg
Y29uc3RydWN0b3IuCi0gIC8vIFVzZWQgaW4gRVhQRUNUX1RSVUUvRkFMU0UoYXNzZXJ0aW9uX3Jl
c3VsdCkuCi0gIEFzc2VydGlvblJlc3VsdChjb25zdCBBc3NlcnRpb25SZXN1bHQmIG90aGVyKTsK
LQotLy8gQzQ4MDAgaXMgYSBsZXZlbCAzIHdhcm5pbmcgaW4gVmlzdWFsIFN0dWRpbyAyMDE1IGFu
ZCBlYXJsaWVyLgotLy8gVGhpcyB3YXJuaW5nIGlzIG5vdCBlbWl0dGVkIGluIFZpc3VhbCBTdHVk
aW8gMjAxNy4KLS8vIFRoaXMgd2FybmluZyBpcyBvZmYgYnkgZGVmYXVsdCBzdGFydGluZyBpbiBW
aXN1YWwgU3R1ZGlvIDIwMTkgYnV0IGNhbiBiZQotLy8gZW5hYmxlZCB3aXRoIGNvbW1hbmQtbGlu
ZSBvcHRpb25zLgotI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA8IDE5MTAgfHwg
X01TQ19WRVIgPj0gMTkyMCkKLSAgR1RFU1RfRElTQUJMRV9NU0NfV0FSTklOR1NfUFVTSF8oNDgw
MCAvKiBmb3JjaW5nIHZhbHVlIHRvIGJvb2wgKi8pCi0jZW5kaWYKLQotICAvLyBVc2VkIGluIHRo
ZSBFWFBFQ1RfVFJVRS9GQUxTRShib29sX2V4cHJlc3Npb24pLgotICAvLwotICAvLyBUIG11c3Qg
YmUgY29udGV4dHVhbGx5IGNvbnZlcnRpYmxlIHRvIGJvb2wuCi0gIC8vCi0gIC8vIFRoZSBzZWNv
bmQgcGFyYW1ldGVyIHByZXZlbnRzIHRoaXMgb3ZlcmxvYWQgZnJvbSBiZWluZyBjb25zaWRlcmVk
IGlmCi0gIC8vIHRoZSBhcmd1bWVudCBpcyBpbXBsaWNpdGx5IGNvbnZlcnRpYmxlIHRvIEFzc2Vy
dGlvblJlc3VsdC4gSW4gdGhhdCBjYXNlCi0gIC8vIHdlIHdhbnQgQXNzZXJ0aW9uUmVzdWx0J3Mg
Y29weSBjb25zdHJ1Y3RvciB0byBiZSB1c2VkLgotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSAg
ZXhwbGljaXQgQXNzZXJ0aW9uUmVzdWx0KAotICAgICAgY29uc3QgVCYgc3VjY2VzcywKLSAgICAg
IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPAotICAgICAgICAgICFzdGQ6OmlzX2NvbnZlcnRpYmxl
PFQsIEFzc2VydGlvblJlc3VsdD46OnZhbHVlPjo6dHlwZSoKLSAgICAgIC8qZW5hYmxlciovCi0g
ICAgICA9IG51bGxwdHIpCi0gICAgICA6IHN1Y2Nlc3NfKHN1Y2Nlc3MpIHt9Ci0KLSNpZiBkZWZp
bmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPCAxOTEwIHx8IF9NU0NfVkVSID49IDE5MjApCi0g
IEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8oKQotI2VuZGlmCi0KLSAgLy8gQXNzaWdu
bWVudCBvcGVyYXRvci4KLSAgQXNzZXJ0aW9uUmVzdWx0JiBvcGVyYXRvcj0oQXNzZXJ0aW9uUmVz
dWx0IG90aGVyKSB7Ci0gICAgc3dhcChvdGhlcik7Ci0gICAgcmV0dXJuICp0aGlzOwotICB9Ci0K
LSAgLy8gUmV0dXJucyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBhc3NlcnRpb24gc3VjY2VlZGVk
LgotICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gc3VjY2Vzc187IH0gIC8vIE5PTElO
VAotCi0gIC8vIFJldHVybnMgdGhlIGFzc2VydGlvbidzIG5lZ2F0aW9uLiBVc2VkIHdpdGggRVhQ
RUNUL0FTU0VSVF9GQUxTRS4KLSAgQXNzZXJ0aW9uUmVzdWx0IG9wZXJhdG9yISgpIGNvbnN0Owot
Ci0gIC8vIFJldHVybnMgdGhlIHRleHQgc3RyZWFtZWQgaW50byB0aGlzIEFzc2VydGlvblJlc3Vs
dC4gVGVzdCBhc3NlcnRpb25zCi0gIC8vIHVzZSBpdCB3aGVuIHRoZXkgZmFpbCAoaS5lLiwgdGhl
IHByZWRpY2F0ZSdzIG91dGNvbWUgZG9lc24ndCBtYXRjaCB0aGUKLSAgLy8gYXNzZXJ0aW9uJ3Mg
ZXhwZWN0YXRpb24pLiBXaGVuIG5vdGhpbmcgaGFzIGJlZW4gc3RyZWFtZWQgaW50byB0aGUKLSAg
Ly8gb2JqZWN0LCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy4KLSAgY29uc3QgY2hhciogbWVzc2Fn
ZSgpIGNvbnN0IHsKLSAgICByZXR1cm4gbWVzc2FnZV8uZ2V0KCkgIT0gbnVsbHB0ciA/IG1lc3Nh
Z2VfLT5jX3N0cigpIDogIiI7Ci0gIH0KLSAgLy8gRGVwcmVjYXRlZDsgcGxlYXNlIHVzZSBtZXNz
YWdlKCkgaW5zdGVhZC4KLSAgY29uc3QgY2hhciogZmFpbHVyZV9tZXNzYWdlKCkgY29uc3QgeyBy
ZXR1cm4gbWVzc2FnZSgpOyB9Ci0KLSAgLy8gU3RyZWFtcyBhIGN1c3RvbSBmYWlsdXJlIG1lc3Nh
Z2UgaW50byB0aGlzIG9iamVjdC4KLSAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0gIEFzc2VydGlv
blJlc3VsdCYgb3BlcmF0b3I8PChjb25zdCBUJiB2YWx1ZSkgewotICAgIEFwcGVuZE1lc3NhZ2Uo
TWVzc2FnZSgpIDw8IHZhbHVlKTsKLSAgICByZXR1cm4gKnRoaXM7Ci0gIH0KLQotICAvLyBBbGxv
d3Mgc3RyZWFtaW5nIGJhc2ljIG91dHB1dCBtYW5pcHVsYXRvcnMgc3VjaCBhcyBlbmRsIG9yIGZs
dXNoIGludG8KLSAgLy8gdGhpcyBvYmplY3QuCi0gIEFzc2VydGlvblJlc3VsdCYgb3BlcmF0b3I8
PCgKLSAgICAgIDo6c3RkOjpvc3RyZWFtJiAoKmJhc2ljX21hbmlwdWxhdG9yKSg6OnN0ZDo6b3N0
cmVhbSYgc3RyZWFtKSkgewotICAgIEFwcGVuZE1lc3NhZ2UoTWVzc2FnZSgpIDw8IGJhc2ljX21h
bmlwdWxhdG9yKTsKLSAgICByZXR1cm4gKnRoaXM7Ci0gIH0KLQotIHByaXZhdGU6Ci0gIC8vIEFw
cGVuZHMgdGhlIGNvbnRlbnRzIG9mIG1lc3NhZ2UgdG8gbWVzc2FnZV8uCi0gIHZvaWQgQXBwZW5k
TWVzc2FnZShjb25zdCBNZXNzYWdlJiBhX21lc3NhZ2UpIHsKLSAgICBpZiAobWVzc2FnZV8uZ2V0
KCkgPT0gbnVsbHB0cikgbWVzc2FnZV8ucmVzZXQobmV3IDo6c3RkOjpzdHJpbmcpOwotICAgIG1l
c3NhZ2VfLT5hcHBlbmQoYV9tZXNzYWdlLkdldFN0cmluZygpLmNfc3RyKCkpOwotICB9Ci0KLSAg
Ly8gU3dhcCB0aGUgY29udGVudHMgb2YgdGhpcyBBc3NlcnRpb25SZXN1bHQgd2l0aCBvdGhlci4K
LSAgdm9pZCBzd2FwKEFzc2VydGlvblJlc3VsdCYgb3RoZXIpOwotCi0gIC8vIFN0b3JlcyByZXN1
bHQgb2YgdGhlIGFzc2VydGlvbiBwcmVkaWNhdGUuCi0gIGJvb2wgc3VjY2Vzc187Ci0gIC8vIFN0
b3JlcyB0aGUgbWVzc2FnZSBkZXNjcmliaW5nIHRoZSBjb25kaXRpb24gaW4gY2FzZSB0aGUgZXhw
ZWN0YXRpb24KLSAgLy8gY29uc3RydWN0IGlzIG5vdCBzYXRpc2ZpZWQgd2l0aCB0aGUgcHJlZGlj
YXRlJ3Mgb3V0Y29tZS4KLSAgLy8gUmVmZXJlbmNlZCB2aWEgYSBwb2ludGVyIHRvIGF2b2lkIHRh
a2luZyB0b28gbXVjaCBzdGFjayBmcmFtZSBzcGFjZQotICAvLyB3aXRoIHRlc3QgYXNzZXJ0aW9u
cy4KLSAgc3RkOjp1bmlxdWVfcHRyPCA6OnN0ZDo6c3RyaW5nPiBtZXNzYWdlXzsKLX07Ci0KLS8v
IE1ha2VzIGEgc3VjY2Vzc2Z1bCBhc3NlcnRpb24gcmVzdWx0LgotR1RFU1RfQVBJXyBBc3NlcnRp
b25SZXN1bHQgQXNzZXJ0aW9uU3VjY2VzcygpOwotCi0vLyBNYWtlcyBhIGZhaWxlZCBhc3NlcnRp
b24gcmVzdWx0LgotR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgQXNzZXJ0aW9uRmFpbHVyZSgp
OwotCi0vLyBNYWtlcyBhIGZhaWxlZCBhc3NlcnRpb24gcmVzdWx0IHdpdGggdGhlIGdpdmVuIGZh
aWx1cmUgbWVzc2FnZS4KLS8vIERlcHJlY2F0ZWQ7IHVzZSBBc3NlcnRpb25GYWlsdXJlKCkgPDwg
bXNnLgotR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgQXNzZXJ0aW9uRmFpbHVyZShjb25zdCBN
ZXNzYWdlJiBtc2cpOwotCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotCi1HVEVTVF9ESVNBQkxF
X01TQ19XQVJOSU5HU19QT1BfKCkgIC8vIDQyNTEKLQotI2VuZGlmICAvLyBHT09HTEVURVNUX0lO
Q0xVREVfR1RFU1RfR1RFU1RfQVNTRVJUSU9OX1JFU1VMVF9IXwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LWRlYXRo
LXRlc3QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9n
dGVzdC9ndGVzdC1kZWF0aC10ZXN0LmgKaW5kZXggODRlNWE1YmJkMzcyLi5kYzg3OGZmYmIzYWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVk
ZS9ndGVzdC9ndGVzdC1kZWF0aC10ZXN0LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9n
b29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LWRlYXRoLXRlc3QuaApAQCAtMjcsMjEg
KzI3LDIxIEBACiAvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIC8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKKy8vCiAvLyBUaGUg
R29vZ2xlIEMrKyBUZXN0aW5nIGFuZCBNb2NraW5nIEZyYW1ld29yayAoR29vZ2xlIFRlc3QpCiAv
LwogLy8gVGhpcyBoZWFkZXIgZmlsZSBkZWZpbmVzIHRoZSBwdWJsaWMgQVBJIGZvciBkZWF0aCB0
ZXN0cy4gIEl0IGlzCiAvLyAjaW5jbHVkZWQgYnkgZ3Rlc3QuaCBzbyBhIHVzZXIgZG9lc24ndCBu
ZWVkIHRvIGluY2x1ZGUgdGhpcwogLy8gZGlyZWN0bHkuCisvLyBHT09HTEVURVNUX0NNMDAwMSBE
TyBOT1QgREVMRVRFCiAKLS8vIElXWVUgcHJhZ21hOiBwcml2YXRlLCBpbmNsdWRlICJndGVzdC9n
dGVzdC5oIgotLy8gSVdZVSBwcmFnbWE6IGZyaWVuZCBndGVzdC8uKgotLy8gSVdZVSBwcmFnbWE6
IGZyaWVuZCBnbW9jay8uKgotCi0jaWZuZGVmIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9HVEVT
VF9ERUFUSF9URVNUX0hfCi0jZGVmaW5lIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9E
RUFUSF9URVNUX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfREVBVEhfVEVT
VF9IXworI2RlZmluZSBHVEVTVF9JTkNMVURFX0dURVNUX0dURVNUX0RFQVRIX1RFU1RfSF8KIAog
I2luY2x1ZGUgImd0ZXN0L2ludGVybmFsL2d0ZXN0LWRlYXRoLXRlc3QtaW50ZXJuYWwuaCIKIAor
bmFtZXNwYWNlIHRlc3RpbmcgeworCiAvLyBUaGlzIGZsYWcgY29udHJvbHMgdGhlIHN0eWxlIG9m
IGRlYXRoIHRlc3RzLiAgVmFsaWQgdmFsdWVzIGFyZSAidGhyZWFkc2FmZSIsCiAvLyBtZWFuaW5n
IHRoYXQgdGhlIGRlYXRoIHRlc3QgY2hpbGQgcHJvY2VzcyB3aWxsIHJlLWV4ZWN1dGUgdGhlIHRl
c3QgYmluYXJ5CiAvLyBmcm9tIHRoZSBzdGFydCwgcnVubmluZyBvbmx5IGEgc2luZ2xlIGRlYXRo
IHRlc3QsIG9yICJmYXN0IiwKQEAgLTQ5LDggKzQ5LDYgQEAKIC8vIGFmdGVyIGZvcmtpbmcuCiBH
VEVTVF9ERUNMQVJFX3N0cmluZ18oZGVhdGhfdGVzdF9zdHlsZSk7CiAKLW5hbWVzcGFjZSB0ZXN0
aW5nIHsKLQogI2lmIEdURVNUX0hBU19ERUFUSF9URVNUCiAKIG5hbWVzcGFjZSBpbnRlcm5hbCB7
CkBAIC05OSwxMiArOTcsOSBAQCBHVEVTVF9BUElfIGJvb2wgSW5EZWF0aFRlc3RDaGlsZCgpOwog
Ly8KIC8vICAgQVNTRVJUX0VYSVQoY2xpZW50LkhhbmdVcFNlcnZlcigpLCBLaWxsZWRCeVNJR0hV
UCwgIkhhbmdpbmcgdXAhIik7CiAvLwotLy8gVGhlIGZpbmFsIHBhcmFtZXRlciB0byBlYWNoIG9m
IHRoZXNlIG1hY3JvcyBpcyBhIG1hdGNoZXIgYXBwbGllZCB0byBhbnkgZGF0YQotLy8gdGhlIHN1
Yi1wcm9jZXNzIHdyb3RlIHRvIHN0ZGVyci4gIEZvciBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3Rp
bmcgdGVzdHMsIGEKLS8vIGJhcmUgc3RyaW5nIGlzIGludGVycHJldGVkIGFzIGEgcmVndWxhciBl
eHByZXNzaW9uIG1hdGNoZXIuCi0vLwogLy8gT24gdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgdXNl
ZCBpbiBkZWF0aCB0ZXN0czoKIC8vCisvLyAgIEdPT0dMRVRFU1RfQ00wMDA1IERPIE5PVCBERUxF
VEUKIC8vICAgT24gUE9TSVgtY29tcGxpYW50IHN5c3RlbXMgKCpuaXgpLCB3ZSB1c2UgdGhlIDxy
ZWdleC5oPiBsaWJyYXJ5LAogLy8gICB3aGljaCB1c2VzIHRoZSBQT1NJWCBleHRlbmRlZCByZWdl
eCBzeW50YXguCiAvLwpAQCAtMTY3LDI3ICsxNjIsMjcgQEAgR1RFU1RfQVBJXyBib29sIEluRGVh
dGhUZXN0Q2hpbGQoKTsKIC8vICAgZGlyZWN0b3J5IGluIFBBVEguCiAvLwogCi0vLyBBc3NlcnRz
IHRoYXQgYSBnaXZlbiBgc3RhdGVtZW50YCBjYXVzZXMgdGhlIHByb2dyYW0gdG8gZXhpdCwgd2l0
aCBhbgotLy8gaW50ZWdlciBleGl0IHN0YXR1cyB0aGF0IHNhdGlzZmllcyBgcHJlZGljYXRlYCwg
YW5kIGVtaXR0aW5nIGVycm9yIG91dHB1dAotLy8gdGhhdCBtYXRjaGVzIGBtYXRjaGVyYC4KLSNk
ZWZpbmUgQVNTRVJUX0VYSVQoc3RhdGVtZW50LCBwcmVkaWNhdGUsIG1hdGNoZXIpIFwKLSAgR1RF
U1RfREVBVEhfVEVTVF8oc3RhdGVtZW50LCBwcmVkaWNhdGUsIG1hdGNoZXIsIEdURVNUX0ZBVEFM
X0ZBSUxVUkVfKQorLy8gQXNzZXJ0cyB0aGF0IGEgZ2l2ZW4gc3RhdGVtZW50IGNhdXNlcyB0aGUg
cHJvZ3JhbSB0byBleGl0LCB3aXRoIGFuCisvLyBpbnRlZ2VyIGV4aXQgc3RhdHVzIHRoYXQgc2F0
aXNmaWVzIHByZWRpY2F0ZSwgYW5kIGVtaXR0aW5nIGVycm9yIG91dHB1dAorLy8gdGhhdCBtYXRj
aGVzIHJlZ2V4LgorIyBkZWZpbmUgQVNTRVJUX0VYSVQoc3RhdGVtZW50LCBwcmVkaWNhdGUsIHJl
Z2V4KSBcCisgICAgR1RFU1RfREVBVEhfVEVTVF8oc3RhdGVtZW50LCBwcmVkaWNhdGUsIHJlZ2V4
LCBHVEVTVF9GQVRBTF9GQUlMVVJFXykKIAotLy8gTGlrZSBgQVNTRVJUX0VYSVRgLCBidXQgY29u
dGludWVzIG9uIHRvIHN1Y2Nlc3NpdmUgdGVzdHMgaW4gdGhlCisvLyBMaWtlIEFTU0VSVF9FWElU
LCBidXQgY29udGludWVzIG9uIHRvIHN1Y2Nlc3NpdmUgdGVzdHMgaW4gdGhlCiAvLyB0ZXN0IHN1
aXRlLCBpZiBhbnk6Ci0jZGVmaW5lIEVYUEVDVF9FWElUKHN0YXRlbWVudCwgcHJlZGljYXRlLCBt
YXRjaGVyKSBcCi0gIEdURVNUX0RFQVRIX1RFU1RfKHN0YXRlbWVudCwgcHJlZGljYXRlLCBtYXRj
aGVyLCBHVEVTVF9OT05GQVRBTF9GQUlMVVJFXykKKyMgZGVmaW5lIEVYUEVDVF9FWElUKHN0YXRl
bWVudCwgcHJlZGljYXRlLCByZWdleCkgXAorICAgIEdURVNUX0RFQVRIX1RFU1RfKHN0YXRlbWVu
dCwgcHJlZGljYXRlLCByZWdleCwgR1RFU1RfTk9ORkFUQUxfRkFJTFVSRV8pCiAKLS8vIEFzc2Vy
dHMgdGhhdCBhIGdpdmVuIGBzdGF0ZW1lbnRgIGNhdXNlcyB0aGUgcHJvZ3JhbSB0byBleGl0LCBl
aXRoZXIgYnkKKy8vIEFzc2VydHMgdGhhdCBhIGdpdmVuIHN0YXRlbWVudCBjYXVzZXMgdGhlIHBy
b2dyYW0gdG8gZXhpdCwgZWl0aGVyIGJ5CiAvLyBleHBsaWNpdGx5IGV4aXRpbmcgd2l0aCBhIG5v
bnplcm8gZXhpdCBjb2RlIG9yIGJlaW5nIGtpbGxlZCBieSBhCi0vLyBzaWduYWwsIGFuZCBlbWl0
dGluZyBlcnJvciBvdXRwdXQgdGhhdCBtYXRjaGVzIGBtYXRjaGVyYC4KLSNkZWZpbmUgQVNTRVJU
X0RFQVRIKHN0YXRlbWVudCwgbWF0Y2hlcikgXAotICBBU1NFUlRfRVhJVChzdGF0ZW1lbnQsIDo6
dGVzdGluZzo6aW50ZXJuYWw6OkV4aXRlZFVuc3VjY2Vzc2Z1bGx5LCBtYXRjaGVyKQorLy8gc2ln
bmFsLCBhbmQgZW1pdHRpbmcgZXJyb3Igb3V0cHV0IHRoYXQgbWF0Y2hlcyByZWdleC4KKyMgZGVm
aW5lIEFTU0VSVF9ERUFUSChzdGF0ZW1lbnQsIHJlZ2V4KSBcCisgICAgQVNTRVJUX0VYSVQoc3Rh
dGVtZW50LCA6OnRlc3Rpbmc6OmludGVybmFsOjpFeGl0ZWRVbnN1Y2Nlc3NmdWxseSwgcmVnZXgp
CiAKLS8vIExpa2UgYEFTU0VSVF9ERUFUSGAsIGJ1dCBjb250aW51ZXMgb24gdG8gc3VjY2Vzc2l2
ZSB0ZXN0cyBpbiB0aGUKKy8vIExpa2UgQVNTRVJUX0RFQVRILCBidXQgY29udGludWVzIG9uIHRv
IHN1Y2Nlc3NpdmUgdGVzdHMgaW4gdGhlCiAvLyB0ZXN0IHN1aXRlLCBpZiBhbnk6Ci0jZGVmaW5l
IEVYUEVDVF9ERUFUSChzdGF0ZW1lbnQsIG1hdGNoZXIpIFwKLSAgRVhQRUNUX0VYSVQoc3RhdGVt
ZW50LCA6OnRlc3Rpbmc6OmludGVybmFsOjpFeGl0ZWRVbnN1Y2Nlc3NmdWxseSwgbWF0Y2hlcikK
KyMgZGVmaW5lIEVYUEVDVF9ERUFUSChzdGF0ZW1lbnQsIHJlZ2V4KSBcCisgICAgRVhQRUNUX0VY
SVQoc3RhdGVtZW50LCA6OnRlc3Rpbmc6OmludGVybmFsOjpFeGl0ZWRVbnN1Y2Nlc3NmdWxseSwg
cmVnZXgpCiAKIC8vIFR3byBwcmVkaWNhdGUgY2xhc3NlcyB0aGF0IGNhbiBiZSB1c2VkIGluIHtB
U1NFUlQsRVhQRUNUfV9FWElUKjoKIApAQCAtMTk1LDI2ICsxOTAsMjYgQEAgR1RFU1RfQVBJXyBi
b29sIEluRGVhdGhUZXN0Q2hpbGQoKTsKIGNsYXNzIEdURVNUX0FQSV8gRXhpdGVkV2l0aENvZGUg
ewogIHB1YmxpYzoKICAgZXhwbGljaXQgRXhpdGVkV2l0aENvZGUoaW50IGV4aXRfY29kZSk7Ci0g
IEV4aXRlZFdpdGhDb2RlKGNvbnN0IEV4aXRlZFdpdGhDb2RlJikgPSBkZWZhdWx0OwotICB2b2lk
IG9wZXJhdG9yPShjb25zdCBFeGl0ZWRXaXRoQ29kZSYgb3RoZXIpID0gZGVsZXRlOwogICBib29s
IG9wZXJhdG9yKCkoaW50IGV4aXRfc3RhdHVzKSBjb25zdDsKLQogIHByaXZhdGU6CisgIC8vIE5v
IGltcGxlbWVudGF0aW9uIC0gYXNzaWdubWVudCBpcyB1bnN1cHBvcnRlZC4KKyAgdm9pZCBvcGVy
YXRvcj0oY29uc3QgRXhpdGVkV2l0aENvZGUmIG90aGVyKTsKKwogICBjb25zdCBpbnQgZXhpdF9j
b2RlXzsKIH07CiAKLSNpZiAhR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfRlVDSFNJQQor
IyBpZiAhR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfRlVDSFNJQQogLy8gVGVzdHMgdGhh
dCBhbiBleGl0IGNvZGUgZGVzY3JpYmVzIGFuIGV4aXQgZHVlIHRvIHRlcm1pbmF0aW9uIGJ5IGEK
IC8vIGdpdmVuIHNpZ25hbC4KKy8vIEdPT0dMRVRFU1RfQ00wMDA2IERPIE5PVCBERUxFVEUKIGNs
YXNzIEdURVNUX0FQSV8gS2lsbGVkQnlTaWduYWwgewogIHB1YmxpYzoKICAgZXhwbGljaXQgS2ls
bGVkQnlTaWduYWwoaW50IHNpZ251bSk7CiAgIGJvb2wgb3BlcmF0b3IoKShpbnQgZXhpdF9zdGF0
dXMpIGNvbnN0OwotCiAgcHJpdmF0ZToKICAgY29uc3QgaW50IHNpZ251bV87CiB9OwotI2VuZGlm
ICAvLyAhR1RFU1RfT1NfV0lORE9XUworIyBlbmRpZiAgLy8gIUdURVNUX09TX1dJTkRPV1MKIAog
Ly8gRVhQRUNUX0RFQlVHX0RFQVRIIGFzc2VydHMgdGhhdCB0aGUgZ2l2ZW4gc3RhdGVtZW50cyBk
aWUgaW4gZGVidWcgbW9kZS4KIC8vIFRoZSBkZWF0aCB0ZXN0aW5nIGZyYW1ld29yayBjYXVzZXMg
dGhpcyB0byBoYXZlIGludGVyZXN0aW5nIHNlbWFudGljcywKQEAgLTI1OSwyMSArMjU0LDIzIEBA
IGNsYXNzIEdURVNUX0FQSV8gS2lsbGVkQnlTaWduYWwgewogLy8gICBFWFBFQ1RfRVEoMTIsIERp
ZUluRGVidWdPcjEyKCZzaWRlZWZmZWN0KSk7CiAvLyB9LCAiZGVhdGgiKTsKIC8vCi0jaWZkZWYg
TkRFQlVHCisjIGlmZGVmIE5ERUJVRwogCi0jZGVmaW5lIEVYUEVDVF9ERUJVR19ERUFUSChzdGF0
ZW1lbnQsIHJlZ2V4KSBcCisjICBkZWZpbmUgRVhQRUNUX0RFQlVHX0RFQVRIKHN0YXRlbWVudCwg
cmVnZXgpIFwKICAgR1RFU1RfRVhFQ1VURV9TVEFURU1FTlRfKHN0YXRlbWVudCwgcmVnZXgpCiAK
LSNkZWZpbmUgQVNTRVJUX0RFQlVHX0RFQVRIKHN0YXRlbWVudCwgcmVnZXgpIFwKKyMgIGRlZmlu
ZSBBU1NFUlRfREVCVUdfREVBVEgoc3RhdGVtZW50LCByZWdleCkgXAogICBHVEVTVF9FWEVDVVRF
X1NUQVRFTUVOVF8oc3RhdGVtZW50LCByZWdleCkKIAotI2Vsc2UKKyMgZWxzZQogCi0jZGVmaW5l
IEVYUEVDVF9ERUJVR19ERUFUSChzdGF0ZW1lbnQsIHJlZ2V4KSBFWFBFQ1RfREVBVEgoc3RhdGVt
ZW50LCByZWdleCkKKyMgIGRlZmluZSBFWFBFQ1RfREVCVUdfREVBVEgoc3RhdGVtZW50LCByZWdl
eCkgXAorICBFWFBFQ1RfREVBVEgoc3RhdGVtZW50LCByZWdleCkKIAotI2RlZmluZSBBU1NFUlRf
REVCVUdfREVBVEgoc3RhdGVtZW50LCByZWdleCkgQVNTRVJUX0RFQVRIKHN0YXRlbWVudCwgcmVn
ZXgpCisjICBkZWZpbmUgQVNTRVJUX0RFQlVHX0RFQVRIKHN0YXRlbWVudCwgcmVnZXgpIFwKKyAg
QVNTRVJUX0RFQVRIKHN0YXRlbWVudCwgcmVnZXgpCiAKLSNlbmRpZiAgLy8gTkRFQlVHIGZvciBF
WFBFQ1RfREVCVUdfREVBVEgKKyMgZW5kaWYgIC8vIE5ERUJVRyBmb3IgRVhQRUNUX0RFQlVHX0RF
QVRICiAjZW5kaWYgIC8vIEdURVNUX0hBU19ERUFUSF9URVNUCiAKIC8vIFRoaXMgbWFjcm8gaXMg
dXNlZCBmb3IgaW1wbGVtZW50aW5nIG1hY3JvcyBzdWNoIGFzCkBAIC0zMTEsMTcgKzMwOCwxOCBA
QCBjbGFzcyBHVEVTVF9BUElfIEtpbGxlZEJ5U2lnbmFsIHsKIC8vICBzdGF0ZW1lbnQgdW5jb25k
aXRpb25hbGx5IHJldHVybnMgb3IgdGhyb3dzLiBUaGUgTWVzc2FnZSBjb25zdHJ1Y3RvciBhdAog
Ly8gIHRoZSBlbmQgYWxsb3dzIHRoZSBzeW50YXggb2Ygc3RyZWFtaW5nIGFkZGl0aW9uYWwgbWVz
c2FnZXMgaW50byB0aGUKIC8vICBtYWNybywgZm9yIGNvbXBpbGF0aW9uYWwgY29tcGF0aWJpbGl0
eSB3aXRoIEVYUEVDVF9ERUFUSC9BU1NFUlRfREVBVEguCi0jZGVmaW5lIEdURVNUX1VOU1VQUE9S
VEVEX0RFQVRIX1RFU1Qoc3RhdGVtZW50LCByZWdleCwgdGVybWluYXRvcikgICAgICAgICAgICAg
XAotICBHVEVTVF9BTUJJR1VPVVNfRUxTRV9CTE9DS0VSXyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaWYgKDo6dGVzdGluZzo6aW50ZXJuYWw6OkFs
d2F5c1RydWUoKSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
R1RFU1RfTE9HXyhXQVJOSU5HKSA8PCAiRGVhdGggdGVzdHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24g
dGhpcyBwbGF0Zm9ybS5cbiIgXAotICAgICAgICAgICAgICAgICAgICAgICAgPDwgIlN0YXRlbWVu
dCAnIiAjc3RhdGVtZW50ICInIGNhbm5vdCBiZSB2ZXJpZmllZC4iOyAgIFwKLSAgfSBlbHNlIGlm
ICg6OnRlc3Rpbmc6OmludGVybmFsOjpBbHdheXNGYWxzZSgpKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6UkU6OlBhcnRpYWxNYXRjaCgi
LioiLCAocmVnZXgpKTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEdURVNUX1NVUFBSRVNT
X1VOUkVBQ0hBQkxFX0NPREVfV0FSTklOR19CRUxPV18oc3RhdGVtZW50KTsgICAgICAgICAgICAg
ICAgIFwKLSAgICB0ZXJtaW5hdG9yOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gZWxzZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIDo6dGVzdGluZzo6TWVzc2FnZSgpCisjIGRlZmluZSBHVEVTVF9VTlNVUFBPUlRFRF9ERUFU
SF9URVNUKHN0YXRlbWVudCwgcmVnZXgsIHRlcm1pbmF0b3IpIFwKKyAgICBHVEVTVF9BTUJJR1VP
VVNfRUxTRV9CTE9DS0VSXyBcCisgICAgaWYgKDo6dGVzdGluZzo6aW50ZXJuYWw6OkFsd2F5c1Ry
dWUoKSkgeyBcCisgICAgICBHVEVTVF9MT0dfKFdBUk5JTkcpIFwKKyAgICAgICAgICA8PCAiRGVh
dGggdGVzdHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS5cbiIgXAorICAgICAg
ICAgIDw8ICJTdGF0ZW1lbnQgJyIgI3N0YXRlbWVudCAiJyBjYW5ub3QgYmUgdmVyaWZpZWQuIjsg
XAorICAgIH0gZWxzZSBpZiAoOjp0ZXN0aW5nOjppbnRlcm5hbDo6QWx3YXlzRmFsc2UoKSkgeyBc
CisgICAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpSRTo6UGFydGlhbE1hdGNoKCIuKiIsIChyZWdl
eCkpOyBcCisgICAgICBHVEVTVF9TVVBQUkVTU19VTlJFQUNIQUJMRV9DT0RFX1dBUk5JTkdfQkVM
T1dfKHN0YXRlbWVudCk7IFwKKyAgICAgIHRlcm1pbmF0b3I7IFwKKyAgICB9IGVsc2UgXAorICAg
ICAgOjp0ZXN0aW5nOjpNZXNzYWdlKCkKIAogLy8gRVhQRUNUX0RFQVRIX0lGX1NVUFBPUlRFRChz
dGF0ZW1lbnQsIHJlZ2V4KSBhbmQKIC8vIEFTU0VSVF9ERUFUSF9JRl9TVVBQT1JURUQoc3RhdGVt
ZW50LCByZWdleCkgZXhwYW5kIHRvIHJlYWwgZGVhdGggdGVzdHMgaWYKQEAgLTMyOSwxNyArMzI3
LDE3IEBAIGNsYXNzIEdURVNUX0FQSV8gS2lsbGVkQnlTaWduYWwgewogLy8gdXNlZnVsIHdoZW4g
eW91IGFyZSBjb21iaW5pbmcgZGVhdGggdGVzdCBhc3NlcnRpb25zIHdpdGggbm9ybWFsIHRlc3QK
IC8vIGFzc2VydGlvbnMgaW4gb25lIHRlc3QuCiAjaWYgR1RFU1RfSEFTX0RFQVRIX1RFU1QKLSNk
ZWZpbmUgRVhQRUNUX0RFQVRIX0lGX1NVUFBPUlRFRChzdGF0ZW1lbnQsIHJlZ2V4KSBcCi0gIEVY
UEVDVF9ERUFUSChzdGF0ZW1lbnQsIHJlZ2V4KQotI2RlZmluZSBBU1NFUlRfREVBVEhfSUZfU1VQ
UE9SVEVEKHN0YXRlbWVudCwgcmVnZXgpIFwKLSAgQVNTRVJUX0RFQVRIKHN0YXRlbWVudCwgcmVn
ZXgpCisjIGRlZmluZSBFWFBFQ1RfREVBVEhfSUZfU1VQUE9SVEVEKHN0YXRlbWVudCwgcmVnZXgp
IFwKKyAgICBFWFBFQ1RfREVBVEgoc3RhdGVtZW50LCByZWdleCkKKyMgZGVmaW5lIEFTU0VSVF9E
RUFUSF9JRl9TVVBQT1JURUQoc3RhdGVtZW50LCByZWdleCkgXAorICAgIEFTU0VSVF9ERUFUSChz
dGF0ZW1lbnQsIHJlZ2V4KQogI2Vsc2UKLSNkZWZpbmUgRVhQRUNUX0RFQVRIX0lGX1NVUFBPUlRF
RChzdGF0ZW1lbnQsIHJlZ2V4KSBcCi0gIEdURVNUX1VOU1VQUE9SVEVEX0RFQVRIX1RFU1Qoc3Rh
dGVtZW50LCByZWdleCwgKQotI2RlZmluZSBBU1NFUlRfREVBVEhfSUZfU1VQUE9SVEVEKHN0YXRl
bWVudCwgcmVnZXgpIFwKLSAgR1RFU1RfVU5TVVBQT1JURURfREVBVEhfVEVTVChzdGF0ZW1lbnQs
IHJlZ2V4LCByZXR1cm4pCisjIGRlZmluZSBFWFBFQ1RfREVBVEhfSUZfU1VQUE9SVEVEKHN0YXRl
bWVudCwgcmVnZXgpIFwKKyAgICBHVEVTVF9VTlNVUFBPUlRFRF9ERUFUSF9URVNUKHN0YXRlbWVu
dCwgcmVnZXgsICkKKyMgZGVmaW5lIEFTU0VSVF9ERUFUSF9JRl9TVVBQT1JURUQoc3RhdGVtZW50
LCByZWdleCkgXAorICAgIEdURVNUX1VOU1VQUE9SVEVEX0RFQVRIX1RFU1Qoc3RhdGVtZW50LCBy
ZWdleCwgcmV0dXJuKQogI2VuZGlmCiAKIH0gIC8vIG5hbWVzcGFjZSB0ZXN0aW5nCiAKLSNlbmRp
ZiAgLy8gR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0dURVNUX0RFQVRIX1RFU1RfSF8KKyNlbmRp
ZiAgLy8gR1RFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9ERUFUSF9URVNUX0hfCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rl
c3QtbWF0Y2hlcnMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5j
bHVkZS9ndGVzdC9ndGVzdC1tYXRjaGVycy5oCmluZGV4IGJmZmEwMGM1MzM4Yy4uYTYxY2VmNDA5
M2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2lu
Y2x1ZGUvZ3Rlc3QvZ3Rlc3QtbWF0Y2hlcnMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5
L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QtbWF0Y2hlcnMuaApAQCAtMzIsMTQg
KzMyLDEzIEBACiAvLyBUaGlzIGZpbGUgaW1wbGVtZW50cyBqdXN0IGVub3VnaCBvZiB0aGUgbWF0
Y2hlciBpbnRlcmZhY2UgdG8gYWxsb3cKIC8vIEVYUEVDVF9ERUFUSCBhbmQgZnJpZW5kcyB0byBh
Y2NlcHQgYSBtYXRjaGVyIGFyZ3VtZW50LgogCi0vLyBJV1lVIHByYWdtYTogcHJpdmF0ZSwgaW5j
bHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKLS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ3Rlc3QvLioKLS8v
IElXWVUgcHJhZ21hOiBmcmllbmQgZ21vY2svLioKKy8vIElXWVUgcHJhZ21hOiBwcml2YXRlLCBp
bmNsdWRlICJ0ZXN0aW5nL2Jhc2UvcHVibGljL2d1bml0LmgiCisvLyBJV1lVIHByYWdtYTogZnJp
ZW5kIHRoaXJkX3BhcnR5L2dvb2dsZXRlc3QvZ29vZ2xlbW9jay8uKgorLy8gSVdZVSBwcmFnbWE6
IGZyaWVuZCB0aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L2dvb2dsZXRlc3QvLioKIAotI2lmbmRlZiBH
T09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfTUFUQ0hFUlNfSF8KLSNkZWZpbmUgR09PR0xF
VEVTVF9JTkNMVURFX0dURVNUX0dURVNUX01BVENIRVJTX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xV
REVfR1RFU1RfR1RFU1RfTUFUQ0hFUlNfSF8KKyNkZWZpbmUgR1RFU1RfSU5DTFVERV9HVEVTVF9H
VEVTVF9NQVRDSEVSU19IXwogCi0jaW5jbHVkZSA8YXRvbWljPgogI2luY2x1ZGUgPG1lbW9yeT4K
ICNpbmNsdWRlIDxvc3RyZWFtPgogI2luY2x1ZGUgPHN0cmluZz4KQEAgLTY0LDE2ICs2MywyMCBA
QCBHVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19QVVNIXygKIG5hbWVzcGFjZSB0ZXN0aW5nIHsK
IAogLy8gVG8gaW1wbGVtZW50IGEgbWF0Y2hlciBGb28gZm9yIHR5cGUgVCwgZGVmaW5lOgotLy8g
ICAxLiBhIGNsYXNzIEZvb01hdGNoZXJNYXRjaGVyIHRoYXQgaW1wbGVtZW50cyB0aGUgbWF0Y2hl
ciBpbnRlcmZhY2U6Ci0vLyAgICAgdXNpbmcgaXNfZ3Rlc3RfbWF0Y2hlciA9IHZvaWQ7Ci0vLyAg
ICAgYm9vbCBNYXRjaEFuZEV4cGxhaW4oY29uc3QgVCYsIHN0ZDo6b3N0cmVhbSopOwotLy8gICAg
ICAgKE1hdGNoUmVzdWx0TGlzdGVuZXIqIGNhbiBhbHNvIGJlIHVzZWQgaW5zdGVhZCBvZiBzdGQ6
Om9zdHJlYW0qKQotLy8gICAgIHZvaWQgRGVzY3JpYmVUbyhzdGQ6Om9zdHJlYW0qKTsKLS8vICAg
ICB2b2lkIERlc2NyaWJlTmVnYXRpb25UbyhzdGQ6Om9zdHJlYW0qKTsKLS8vCisvLyAgIDEuIGEg
Y2xhc3MgRm9vTWF0Y2hlckltcGwgdGhhdCBpbXBsZW1lbnRzIHRoZQorLy8gICAgICBNYXRjaGVy
SW50ZXJmYWNlPFQ+IGludGVyZmFjZSwgYW5kCiAvLyAgIDIuIGEgZmFjdG9yeSBmdW5jdGlvbiB0
aGF0IGNyZWF0ZXMgYSBNYXRjaGVyPFQ+IG9iamVjdCBmcm9tIGEKLS8vICAgICAgRm9vTWF0Y2hl
ck1hdGNoZXIuCi0KKy8vICAgICAgRm9vTWF0Y2hlckltcGwqLgorLy8KKy8vIFRoZSB0d28tbGV2
ZWwgZGVsZWdhdGlvbiBkZXNpZ24gbWFrZXMgaXQgcG9zc2libGUgdG8gYWxsb3cgYSB1c2VyCisv
LyB0byB3cml0ZSAidiIgaW5zdGVhZCBvZiAiRXEodikiIHdoZXJlIGEgTWF0Y2hlciBpcyBleHBl
Y3RlZCwgd2hpY2gKKy8vIGlzIGltcG9zc2libGUgaWYgd2UgcGFzcyBtYXRjaGVycyBieSBwb2lu
dGVycy4gIEl0IGFsc28gZWFzZXMKKy8vIG93bmVyc2hpcCBtYW5hZ2VtZW50IGFzIE1hdGNoZXIg
b2JqZWN0cyBjYW4gbm93IGJlIGNvcGllZCBsaWtlCisvLyBwbGFpbiB2YWx1ZXMuCisKKy8vIE1h
dGNoUmVzdWx0TGlzdGVuZXIgaXMgYW4gYWJzdHJhY3QgY2xhc3MuICBJdHMgPDwgb3BlcmF0b3Ig
Y2FuIGJlCisvLyB1c2VkIGJ5IGEgbWF0Y2hlciB0byBleHBsYWluIHdoeSBhIHZhbHVlIG1hdGNo
ZXMgb3IgZG9lc24ndCBtYXRjaC4KKy8vCiBjbGFzcyBNYXRjaFJlc3VsdExpc3RlbmVyIHsKICBw
dWJsaWM6CiAgIC8vIENyZWF0ZXMgYSBsaXN0ZW5lciBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gdW5k
ZXJseWluZyBvc3RyZWFtLiAgVGhlCkBAIC0xMDIsMTUgKzEwNSwxNSBAQCBjbGFzcyBNYXRjaFJl
c3VsdExpc3RlbmVyIHsKICBwcml2YXRlOgogICA6OnN0ZDo6b3N0cmVhbSogY29uc3Qgc3RyZWFt
XzsKIAotICBNYXRjaFJlc3VsdExpc3RlbmVyKGNvbnN0IE1hdGNoUmVzdWx0TGlzdGVuZXImKSA9
IGRlbGV0ZTsKLSAgTWF0Y2hSZXN1bHRMaXN0ZW5lciYgb3BlcmF0b3I9KGNvbnN0IE1hdGNoUmVz
dWx0TGlzdGVuZXImKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdO
XyhNYXRjaFJlc3VsdExpc3RlbmVyKTsKIH07CiAKLWlubGluZSBNYXRjaFJlc3VsdExpc3RlbmVy
Ojp+TWF0Y2hSZXN1bHRMaXN0ZW5lcigpIHt9CitpbmxpbmUgTWF0Y2hSZXN1bHRMaXN0ZW5lcjo6
fk1hdGNoUmVzdWx0TGlzdGVuZXIoKSB7Cit9CiAKIC8vIEFuIGluc3RhbmNlIG9mIGEgc3ViY2xh
c3Mgb2YgdGhpcyBrbm93cyBob3cgdG8gZGVzY3JpYmUgaXRzZWxmIGFzIGEKIC8vIG1hdGNoZXIu
Ci1jbGFzcyBHVEVTVF9BUElfIE1hdGNoZXJEZXNjcmliZXJJbnRlcmZhY2UgeworY2xhc3MgTWF0
Y2hlckRlc2NyaWJlckludGVyZmFjZSB7CiAgcHVibGljOgogICB2aXJ0dWFsIH5NYXRjaGVyRGVz
Y3JpYmVySW50ZXJmYWNlKCkge30KIApAQCAtMTc4LDQxICsxODEsNTQgQEAgY2xhc3MgTWF0Y2hl
ckludGVyZmFjZSA6IHB1YmxpYyBNYXRjaGVyRGVzY3JpYmVySW50ZXJmYWNlIHsKIAogbmFtZXNw
YWNlIGludGVybmFsIHsKIAorLy8gQ29udmVydHMgYSBNYXRjaGVySW50ZXJmYWNlPFQ+IHRvIGEg
TWF0Y2hlckludGVyZmFjZTxjb25zdCBUJj4uCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2NsYXNz
IE1hdGNoZXJJbnRlcmZhY2VBZGFwdGVyIDogcHVibGljIE1hdGNoZXJJbnRlcmZhY2U8Y29uc3Qg
VCY+IHsKKyBwdWJsaWM6CisgIGV4cGxpY2l0IE1hdGNoZXJJbnRlcmZhY2VBZGFwdGVyKGNvbnN0
IE1hdGNoZXJJbnRlcmZhY2U8VD4qIGltcGwpCisgICAgICA6IGltcGxfKGltcGwpIHt9CisgIH5N
YXRjaGVySW50ZXJmYWNlQWRhcHRlcigpIG92ZXJyaWRlIHsgZGVsZXRlIGltcGxfOyB9CisKKyAg
dm9pZCBEZXNjcmliZVRvKDo6c3RkOjpvc3RyZWFtKiBvcykgY29uc3Qgb3ZlcnJpZGUgeyBpbXBs
Xy0+RGVzY3JpYmVUbyhvcyk7IH0KKworICB2b2lkIERlc2NyaWJlTmVnYXRpb25Ubyg6OnN0ZDo6
b3N0cmVhbSogb3MpIGNvbnN0IG92ZXJyaWRlIHsKKyAgICBpbXBsXy0+RGVzY3JpYmVOZWdhdGlv
blRvKG9zKTsKKyAgfQorCisgIGJvb2wgTWF0Y2hBbmRFeHBsYWluKGNvbnN0IFQmIHgsCisgICAg
ICAgICAgICAgICAgICAgICAgIE1hdGNoUmVzdWx0TGlzdGVuZXIqIGxpc3RlbmVyKSBjb25zdCBv
dmVycmlkZSB7CisgICAgcmV0dXJuIGltcGxfLT5NYXRjaEFuZEV4cGxhaW4oeCwgbGlzdGVuZXIp
OworICB9CisKKyBwcml2YXRlOgorICBjb25zdCBNYXRjaGVySW50ZXJmYWNlPFQ+KiBjb25zdCBp
bXBsXzsKKworICBHVEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKE1hdGNoZXJJbnRlcmZh
Y2VBZGFwdGVyKTsKK307CisKIHN0cnVjdCBBbnlFcSB7CiAgIHRlbXBsYXRlIDx0eXBlbmFtZSBB
LCB0eXBlbmFtZSBCPgotICBib29sIG9wZXJhdG9yKCkoY29uc3QgQSYgYSwgY29uc3QgQiYgYikg
Y29uc3QgewotICAgIHJldHVybiBhID09IGI7Ci0gIH0KKyAgYm9vbCBvcGVyYXRvcigpKGNvbnN0
IEEmIGEsIGNvbnN0IEImIGIpIGNvbnN0IHsgcmV0dXJuIGEgPT0gYjsgfQogfTsKIHN0cnVjdCBB
bnlOZSB7CiAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBCPgotICBib29sIG9wZXJh
dG9yKCkoY29uc3QgQSYgYSwgY29uc3QgQiYgYikgY29uc3QgewotICAgIHJldHVybiBhICE9IGI7
Ci0gIH0KKyAgYm9vbCBvcGVyYXRvcigpKGNvbnN0IEEmIGEsIGNvbnN0IEImIGIpIGNvbnN0IHsg
cmV0dXJuIGEgIT0gYjsgfQogfTsKIHN0cnVjdCBBbnlMdCB7CiAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBBLCB0eXBlbmFtZSBCPgotICBib29sIG9wZXJhdG9yKCkoY29uc3QgQSYgYSwgY29uc3QgQiYg
YikgY29uc3QgewotICAgIHJldHVybiBhIDwgYjsKLSAgfQorICBib29sIG9wZXJhdG9yKCkoY29u
c3QgQSYgYSwgY29uc3QgQiYgYikgY29uc3QgeyByZXR1cm4gYSA8IGI7IH0KIH07CiBzdHJ1Y3Qg
QW55R3QgewogICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwgdHlwZW5hbWUgQj4KLSAgYm9vbCBvcGVy
YXRvcigpKGNvbnN0IEEmIGEsIGNvbnN0IEImIGIpIGNvbnN0IHsKLSAgICByZXR1cm4gYSA+IGI7
Ci0gIH0KKyAgYm9vbCBvcGVyYXRvcigpKGNvbnN0IEEmIGEsIGNvbnN0IEImIGIpIGNvbnN0IHsg
cmV0dXJuIGEgPiBiOyB9CiB9Owogc3RydWN0IEFueUxlIHsKICAgdGVtcGxhdGUgPHR5cGVuYW1l
IEEsIHR5cGVuYW1lIEI+Ci0gIGJvb2wgb3BlcmF0b3IoKShjb25zdCBBJiBhLCBjb25zdCBCJiBi
KSBjb25zdCB7Ci0gICAgcmV0dXJuIGEgPD0gYjsKLSAgfQorICBib29sIG9wZXJhdG9yKCkoY29u
c3QgQSYgYSwgY29uc3QgQiYgYikgY29uc3QgeyByZXR1cm4gYSA8PSBiOyB9CiB9Owogc3RydWN0
IEFueUdlIHsKICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIEI+Ci0gIGJvb2wgb3Bl
cmF0b3IoKShjb25zdCBBJiBhLCBjb25zdCBCJiBiKSBjb25zdCB7Ci0gICAgcmV0dXJuIGEgPj0g
YjsKLSAgfQorICBib29sIG9wZXJhdG9yKCkoY29uc3QgQSYgYSwgY29uc3QgQiYgYikgY29uc3Qg
eyByZXR1cm4gYSA+PSBiOyB9CiB9OwogCiAvLyBBIG1hdGNoIHJlc3VsdCBsaXN0ZW5lciB0aGF0
IGlnbm9yZXMgdGhlIGV4cGxhbmF0aW9uLgpAQCAtMjIxLDggKzIzNyw3IEBAIGNsYXNzIER1bW15
TWF0Y2hSZXN1bHRMaXN0ZW5lciA6IHB1YmxpYyBNYXRjaFJlc3VsdExpc3RlbmVyIHsKICAgRHVt
bXlNYXRjaFJlc3VsdExpc3RlbmVyKCkgOiBNYXRjaFJlc3VsdExpc3RlbmVyKG51bGxwdHIpIHt9
CiAKICBwcml2YXRlOgotICBEdW1teU1hdGNoUmVzdWx0TGlzdGVuZXIoY29uc3QgRHVtbXlNYXRj
aFJlc3VsdExpc3RlbmVyJikgPSBkZWxldGU7Ci0gIER1bW15TWF0Y2hSZXN1bHRMaXN0ZW5lciYg
b3BlcmF0b3I9KGNvbnN0IER1bW15TWF0Y2hSZXN1bHRMaXN0ZW5lciYpID0gZGVsZXRlOworICBH
VEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKER1bW15TWF0Y2hSZXN1bHRMaXN0ZW5lcik7
CiB9OwogCiAvLyBBIG1hdGNoIHJlc3VsdCBsaXN0ZW5lciB0aGF0IGZvcndhcmRzIHRoZSBleHBs
YW5hdGlvbiB0byBhIGdpdmVuCkBAIC0yMzQsNDAgKzI0OSwxOSBAQCBjbGFzcyBTdHJlYW1NYXRj
aFJlc3VsdExpc3RlbmVyIDogcHVibGljIE1hdGNoUmVzdWx0TGlzdGVuZXIgewogICAgICAgOiBN
YXRjaFJlc3VsdExpc3RlbmVyKG9zKSB7fQogCiAgcHJpdmF0ZToKLSAgU3RyZWFtTWF0Y2hSZXN1
bHRMaXN0ZW5lcihjb25zdCBTdHJlYW1NYXRjaFJlc3VsdExpc3RlbmVyJikgPSBkZWxldGU7Ci0g
IFN0cmVhbU1hdGNoUmVzdWx0TGlzdGVuZXImIG9wZXJhdG9yPShjb25zdCBTdHJlYW1NYXRjaFJl
c3VsdExpc3RlbmVyJikgPQotICAgICAgZGVsZXRlOwotfTsKLQotc3RydWN0IFNoYXJlZFBheWxv
YWRCYXNlIHsKLSAgc3RkOjphdG9taWM8aW50PiByZWZ7MX07Ci0gIHZvaWQgUmVmKCkgeyByZWYu
ZmV0Y2hfYWRkKDEsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOyB9Ci0gIGJvb2wgVW5yZWYo
KSB7IHJldHVybiByZWYuZmV0Y2hfc3ViKDEsIHN0ZDo6bWVtb3J5X29yZGVyX2FjcV9yZWwpID09
IDE7IH0KLX07Ci0KLXRlbXBsYXRlIDx0eXBlbmFtZSBUPgotc3RydWN0IFNoYXJlZFBheWxvYWQg
OiBTaGFyZWRQYXlsb2FkQmFzZSB7Ci0gIGV4cGxpY2l0IFNoYXJlZFBheWxvYWQoY29uc3QgVCYg
dikgOiB2YWx1ZSh2KSB7fQotICBleHBsaWNpdCBTaGFyZWRQYXlsb2FkKFQmJiB2KSA6IHZhbHVl
KHN0ZDo6bW92ZSh2KSkge30KLQotICBzdGF0aWMgdm9pZCBEZXN0cm95KFNoYXJlZFBheWxvYWRC
YXNlKiBzaGFyZWQpIHsKLSAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U2hhcmVkUGF5bG9hZCo+KHNo
YXJlZCk7Ci0gIH0KLQotICBUIHZhbHVlOworICBHVEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJ
R05fKFN0cmVhbU1hdGNoUmVzdWx0TGlzdGVuZXIpOwogfTsKIAogLy8gQW4gaW50ZXJuYWwgY2xh
c3MgZm9yIGltcGxlbWVudGluZyBNYXRjaGVyPFQ+LCB3aGljaCB3aWxsIGRlcml2ZQogLy8gZnJv
bSBpdC4gIFdlIHB1dCBmdW5jdGlvbmFsaXRpZXMgY29tbW9uIHRvIGFsbCBNYXRjaGVyPFQ+CiAv
LyBzcGVjaWFsaXphdGlvbnMgaGVyZSB0byBhdm9pZCBjb2RlIGR1cGxpY2F0aW9uLgogdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBNYXRjaGVyQmFzZSA6IHByaXZhdGUgTWF0Y2hlckRlc2Ny
aWJlckludGVyZmFjZSB7CitjbGFzcyBNYXRjaGVyQmFzZSB7CiAgcHVibGljOgogICAvLyBSZXR1
cm5zIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIG1hdGNoZXIgbWF0Y2hlcyB4OyBhbHNvIGV4cGxh
aW5zIHRoZQogICAvLyBtYXRjaCByZXN1bHQgdG8gJ2xpc3RlbmVyJy4KICAgYm9vbCBNYXRjaEFu
ZEV4cGxhaW4oY29uc3QgVCYgeCwgTWF0Y2hSZXN1bHRMaXN0ZW5lciogbGlzdGVuZXIpIGNvbnN0
IHsKLSAgICBHVEVTVF9DSEVDS18odnRhYmxlXyAhPSBudWxscHRyKTsKLSAgICByZXR1cm4gdnRh
YmxlXy0+bWF0Y2hfYW5kX2V4cGxhaW4oKnRoaXMsIHgsIGxpc3RlbmVyKTsKKyAgICByZXR1cm4g
aW1wbF8tPk1hdGNoQW5kRXhwbGFpbih4LCBsaXN0ZW5lcik7CiAgIH0KIAogICAvLyBSZXR1cm5z
IHRydWUgaWYgYW5kIG9ubHkgaWYgdGhpcyBtYXRjaGVyIG1hdGNoZXMgeC4KQEAgLTI3NywxNSAr
MjcxLDExIEBAIGNsYXNzIE1hdGNoZXJCYXNlIDogcHJpdmF0ZSBNYXRjaGVyRGVzY3JpYmVySW50
ZXJmYWNlIHsKICAgfQogCiAgIC8vIERlc2NyaWJlcyB0aGlzIG1hdGNoZXIgdG8gYW4gb3N0cmVh
bS4KLSAgdm9pZCBEZXNjcmliZVRvKDo6c3RkOjpvc3RyZWFtKiBvcykgY29uc3QgZmluYWwgewot
ICAgIEdURVNUX0NIRUNLXyh2dGFibGVfICE9IG51bGxwdHIpOwotICAgIHZ0YWJsZV8tPmRlc2Ny
aWJlKCp0aGlzLCBvcywgZmFsc2UpOwotICB9CisgIHZvaWQgRGVzY3JpYmVUbyg6OnN0ZDo6b3N0
cmVhbSogb3MpIGNvbnN0IHsgaW1wbF8tPkRlc2NyaWJlVG8ob3MpOyB9CiAKICAgLy8gRGVzY3Jp
YmVzIHRoZSBuZWdhdGlvbiBvZiB0aGlzIG1hdGNoZXIgdG8gYW4gb3N0cmVhbS4KLSAgdm9pZCBE
ZXNjcmliZU5lZ2F0aW9uVG8oOjpzdGQ6Om9zdHJlYW0qIG9zKSBjb25zdCBmaW5hbCB7Ci0gICAg
R1RFU1RfQ0hFQ0tfKHZ0YWJsZV8gIT0gbnVsbHB0cik7Ci0gICAgdnRhYmxlXy0+ZGVzY3JpYmUo
KnRoaXMsIG9zLCB0cnVlKTsKKyAgdm9pZCBEZXNjcmliZU5lZ2F0aW9uVG8oOjpzdGQ6Om9zdHJl
YW0qIG9zKSBjb25zdCB7CisgICAgaW1wbF8tPkRlc2NyaWJlTmVnYXRpb25Ubyhvcyk7CiAgIH0K
IAogICAvLyBFeHBsYWlucyB3aHkgeCBtYXRjaGVzLCBvciBkb2Vzbid0IG1hdGNoLCB0aGUgbWF0
Y2hlci4KQEAgLTI5OCwxOTUgKzI4OCwzMSBAQCBjbGFzcyBNYXRjaGVyQmFzZSA6IHByaXZhdGUg
TWF0Y2hlckRlc2NyaWJlckludGVyZmFjZSB7CiAgIC8vIG9mIHRoZSBkZXNjcmliZXIsIHdoaWNo
IGlzIG9ubHkgZ3VhcmFudGVlZCB0byBiZSBhbGl2ZSB3aGVuCiAgIC8vIHRoaXMgbWF0Y2hlciBv
YmplY3QgaXMgYWxpdmUuCiAgIGNvbnN0IE1hdGNoZXJEZXNjcmliZXJJbnRlcmZhY2UqIEdldERl
c2NyaWJlcigpIGNvbnN0IHsKLSAgICBpZiAodnRhYmxlXyA9PSBudWxscHRyKSByZXR1cm4gbnVs
bHB0cjsKLSAgICByZXR1cm4gdnRhYmxlXy0+Z2V0X2Rlc2NyaWJlcigqdGhpcyk7CisgICAgcmV0
dXJuIGltcGxfLmdldCgpOwogICB9CiAKICBwcm90ZWN0ZWQ6Ci0gIE1hdGNoZXJCYXNlKCkgOiB2
dGFibGVfKG51bGxwdHIpLCBidWZmZXJfKCkge30KKyAgTWF0Y2hlckJhc2UoKSB7fQogCiAgIC8v
IENvbnN0cnVjdHMgYSBtYXRjaGVyIGZyb20gaXRzIGltcGxlbWVudGF0aW9uLgotICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVT4KLSAgZXhwbGljaXQgTWF0Y2hlckJhc2UoY29uc3QgTWF0Y2hlckludGVy
ZmFjZTxVPiogaW1wbCkKLSAgICAgIDogdnRhYmxlXyhudWxscHRyKSwgYnVmZmVyXygpIHsKLSAg
ICBJbml0KGltcGwpOwotICB9Ci0KLSAgdGVtcGxhdGUgPHR5cGVuYW1lIE0sIHR5cGVuYW1lID0g
dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE0+Ojp0eXBlOjppc19ndGVzdF9tYXRjaGVyPgotICBNYXRjaGVyQmFzZShNJiYgbSkgOiB2
dGFibGVfKG51bGxwdHIpLCBidWZmZXJfKCkgeyAgLy8gTk9MSU5UCi0gICAgSW5pdChzdGQ6OmZv
cndhcmQ8TT4obSkpOwotICB9Ci0KLSAgTWF0Y2hlckJhc2UoY29uc3QgTWF0Y2hlckJhc2UmIG90
aGVyKQotICAgICAgOiB2dGFibGVfKG90aGVyLnZ0YWJsZV8pLCBidWZmZXJfKG90aGVyLmJ1ZmZl
cl8pIHsKLSAgICBpZiAoSXNTaGFyZWQoKSkgYnVmZmVyXy5zaGFyZWQtPlJlZigpOwotICB9Ci0K
LSAgTWF0Y2hlckJhc2UmIG9wZXJhdG9yPShjb25zdCBNYXRjaGVyQmFzZSYgb3RoZXIpIHsKLSAg
ICBpZiAodGhpcyA9PSAmb3RoZXIpIHJldHVybiAqdGhpczsKLSAgICBEZXN0cm95KCk7Ci0gICAg
dnRhYmxlXyA9IG90aGVyLnZ0YWJsZV87Ci0gICAgYnVmZmVyXyA9IG90aGVyLmJ1ZmZlcl87Ci0g
ICAgaWYgKElzU2hhcmVkKCkpIGJ1ZmZlcl8uc2hhcmVkLT5SZWYoKTsKLSAgICByZXR1cm4gKnRo
aXM7Ci0gIH0KKyAgZXhwbGljaXQgTWF0Y2hlckJhc2UoY29uc3QgTWF0Y2hlckludGVyZmFjZTxj
b25zdCBUJj4qIGltcGwpIDogaW1wbF8oaW1wbCkge30KIAotICBNYXRjaGVyQmFzZShNYXRjaGVy
QmFzZSYmIG90aGVyKQotICAgICAgOiB2dGFibGVfKG90aGVyLnZ0YWJsZV8pLCBidWZmZXJfKG90
aGVyLmJ1ZmZlcl8pIHsKLSAgICBvdGhlci52dGFibGVfID0gbnVsbHB0cjsKLSAgfQorICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVT4KKyAgZXhwbGljaXQgTWF0Y2hlckJhc2UoCisgICAgICBjb25zdCBN
YXRjaGVySW50ZXJmYWNlPFU+KiBpbXBsLAorICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8
IXN0ZDo6aXNfc2FtZTxVLCBjb25zdCBVJj46OnZhbHVlPjo6dHlwZSogPQorICAgICAgICAgIG51
bGxwdHIpCisgICAgICA6IGltcGxfKG5ldyBpbnRlcm5hbDo6TWF0Y2hlckludGVyZmFjZUFkYXB0
ZXI8VT4oaW1wbCkpIHt9CiAKLSAgTWF0Y2hlckJhc2UmIG9wZXJhdG9yPShNYXRjaGVyQmFzZSYm
IG90aGVyKSB7Ci0gICAgaWYgKHRoaXMgPT0gJm90aGVyKSByZXR1cm4gKnRoaXM7Ci0gICAgRGVz
dHJveSgpOwotICAgIHZ0YWJsZV8gPSBvdGhlci52dGFibGVfOwotICAgIGJ1ZmZlcl8gPSBvdGhl
ci5idWZmZXJfOwotICAgIG90aGVyLnZ0YWJsZV8gPSBudWxscHRyOwotICAgIHJldHVybiAqdGhp
czsKLSAgfQorICBNYXRjaGVyQmFzZShjb25zdCBNYXRjaGVyQmFzZSYpID0gZGVmYXVsdDsKKyAg
TWF0Y2hlckJhc2UmIG9wZXJhdG9yPShjb25zdCBNYXRjaGVyQmFzZSYpID0gZGVmYXVsdDsKKyAg
TWF0Y2hlckJhc2UoTWF0Y2hlckJhc2UmJikgPSBkZWZhdWx0OworICBNYXRjaGVyQmFzZSYgb3Bl
cmF0b3I9KE1hdGNoZXJCYXNlJiYpID0gZGVmYXVsdDsKIAotICB+TWF0Y2hlckJhc2UoKSBvdmVy
cmlkZSB7IERlc3Ryb3koKTsgfQorICB2aXJ0dWFsIH5NYXRjaGVyQmFzZSgpIHt9CiAKICBwcml2
YXRlOgotICBzdHJ1Y3QgVlRhYmxlIHsKLSAgICBib29sICgqbWF0Y2hfYW5kX2V4cGxhaW4pKGNv
bnN0IE1hdGNoZXJCYXNlJiwgY29uc3QgVCYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBNYXRjaFJlc3VsdExpc3RlbmVyKik7Ci0gICAgdm9pZCAoKmRlc2NyaWJlKShjb25zdCBNYXRj
aGVyQmFzZSYsIHN0ZDo6b3N0cmVhbSosIGJvb2wgbmVnYXRpb24pOwotICAgIC8vIFJldHVybnMg
dGhlIGNhcHR1cmVkIG9iamVjdCBpZiBpdCBpbXBsZW1lbnRzIHRoZSBpbnRlcmZhY2UsIG90aGVy
d2lzZQotICAgIC8vIHJldHVybnMgdGhlIE1hdGNoZXJCYXNlIGl0c2VsZi4KLSAgICBjb25zdCBN
YXRjaGVyRGVzY3JpYmVySW50ZXJmYWNlKiAoKmdldF9kZXNjcmliZXIpKGNvbnN0IE1hdGNoZXJC
YXNlJik7Ci0gICAgLy8gQ2FsbGVkIG9uIHNoYXJlZCBpbnN0YW5jZXMgd2hlbiB0aGUgcmVmZXJl
bmNlIGNvdW50IHJlYWNoZXMgMC4KLSAgICB2b2lkICgqc2hhcmVkX2Rlc3Ryb3kpKFNoYXJlZFBh
eWxvYWRCYXNlKik7Ci0gIH07Ci0KLSAgYm9vbCBJc1NoYXJlZCgpIGNvbnN0IHsKLSAgICByZXR1
cm4gdnRhYmxlXyAhPSBudWxscHRyICYmIHZ0YWJsZV8tPnNoYXJlZF9kZXN0cm95ICE9IG51bGxw
dHI7Ci0gIH0KLQotICAvLyBJZiB0aGUgaW1wbGVtZW50YXRpb24gdXNlcyBhIGxpc3RlbmVyLCBj
YWxsIHRoYXQuCi0gIHRlbXBsYXRlIDx0eXBlbmFtZSBQPgotICBzdGF0aWMgYXV0byBNYXRjaEFu
ZEV4cGxhaW5JbXBsKGNvbnN0IE1hdGNoZXJCYXNlJiBtLCBjb25zdCBUJiB2YWx1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRjaFJlc3VsdExpc3RlbmVyKiBsaXN0ZW5l
cikKLSAgICAgIC0+IGRlY2x0eXBlKFA6OkdldChtKS5NYXRjaEFuZEV4cGxhaW4odmFsdWUsIGxp
c3RlbmVyLT5zdHJlYW0oKSkpIHsKLSAgICByZXR1cm4gUDo6R2V0KG0pLk1hdGNoQW5kRXhwbGFp
bih2YWx1ZSwgbGlzdGVuZXItPnN0cmVhbSgpKTsKLSAgfQotCi0gIHRlbXBsYXRlIDx0eXBlbmFt
ZSBQPgotICBzdGF0aWMgYXV0byBNYXRjaEFuZEV4cGxhaW5JbXBsKGNvbnN0IE1hdGNoZXJCYXNl
JiBtLCBjb25zdCBUJiB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN
YXRjaFJlc3VsdExpc3RlbmVyKiBsaXN0ZW5lcikKLSAgICAgIC0+IGRlY2x0eXBlKFA6OkdldCht
KS5NYXRjaEFuZEV4cGxhaW4odmFsdWUsIGxpc3RlbmVyKSkgewotICAgIHJldHVybiBQOjpHZXQo
bSkuTWF0Y2hBbmRFeHBsYWluKHZhbHVlLCBsaXN0ZW5lcik7Ci0gIH0KLQotICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgUD4KLSAgc3RhdGljIHZvaWQgRGVzY3JpYmVJbXBsKGNvbnN0IE1hdGNoZXJCYXNl
JiBtLCBzdGQ6Om9zdHJlYW0qIG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBu
ZWdhdGlvbikgewotICAgIGlmIChuZWdhdGlvbikgewotICAgICAgUDo6R2V0KG0pLkRlc2NyaWJl
TmVnYXRpb25Ubyhvcyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIFA6OkdldChtKS5EZXNjcmliZVRv
KG9zKTsKLSAgICB9Ci0gIH0KLQotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgUD4KLSAgc3RhdGljIGNv
bnN0IE1hdGNoZXJEZXNjcmliZXJJbnRlcmZhY2UqIEdldERlc2NyaWJlckltcGwoCi0gICAgICBj
b25zdCBNYXRjaGVyQmFzZSYgbSkgewotICAgIC8vIElmIHRoZSBpbXBsIGlzIGEgTWF0Y2hlckRl
c2NyaWJlckludGVyZmFjZSwgdGhlbiByZXR1cm4gaXQuCi0gICAgLy8gT3RoZXJ3aXNlIHVzZSBN
YXRjaGVyQmFzZSBpdHNlbGYuCi0gICAgLy8gVGhpcyBhbGxvd3MgdXMgdG8gaW1wbGVtZW50IHRo
ZSBHZXREZXNjcmliZXIoKSBmdW5jdGlvbiB3aXRob3V0IHN1cHBvcnQKLSAgICAvLyBmcm9tIHRo
ZSBpbXBsLCBidXQgc29tZSB1c2VycyByZWFsbHkgd2FudCB0byBnZXQgdGhlaXIgaW1wbCBiYWNr
IHdoZW4KLSAgICAvLyB0aGV5IGNhbGwgR2V0RGVzY3JpYmVyKCkuCi0gICAgLy8gV2UgdXNlIHN0
ZDo6Z2V0IG9uIGEgdHVwbGUgYXMgYSB3b3JrYXJvdW5kIG9mIG5vdCBoYXZpbmcgYGlmIGNvbnN0
ZXhwcmAuCi0gICAgcmV0dXJuIHN0ZDo6Z2V0PCgKLSAgICAgICAgc3RkOjppc19jb252ZXJ0aWJs
ZTxkZWNsdHlwZSgmUDo6R2V0KG0pKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBNYXRjaGVyRGVzY3JpYmVySW50ZXJmYWNlKj46OnZhbHVlCi0gICAgICAgICAgICA/IDEKLSAg
ICAgICAgICAgIDogMCk+KHN0ZDo6bWFrZV90dXBsZSgmbSwgJlA6OkdldChtKSkpOwotICB9Ci0K
LSAgdGVtcGxhdGUgPHR5cGVuYW1lIFA+Ci0gIGNvbnN0IFZUYWJsZSogR2V0VlRhYmxlKCkgewot
ICAgIHN0YXRpYyBjb25zdGV4cHIgVlRhYmxlIGtWVGFibGUgPSB7Jk1hdGNoQW5kRXhwbGFpbklt
cGw8UD4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRGVzY3JpYmVJ
bXBsPFA+LCAmR2V0RGVzY3JpYmVySW1wbDxQPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFA6OnNoYXJlZF9kZXN0cm95fTsKLSAgICByZXR1cm4gJmtWVGFibGU7Ci0g
IH0KLQotICB1bmlvbiBCdWZmZXIgewotICAgIC8vIEFkZCBzb21lIHR5cGVzIHRvIGdpdmUgQnVm
ZmVyIHNvbWUgY29tbW9uIGFsaWdubWVudC9zaXplIHVzZSBjYXNlcy4KLSAgICB2b2lkKiBwdHI7
Ci0gICAgZG91YmxlIGQ7Ci0gICAgaW50NjRfdCBpOwotICAgIC8vIEFuZCBhZGQgb25lIGZvciB0
aGUgb3V0LW9mLWxpbmUgY2FzZXMuCi0gICAgU2hhcmVkUGF5bG9hZEJhc2UqIHNoYXJlZDsKLSAg
fTsKLQotICB2b2lkIERlc3Ryb3koKSB7Ci0gICAgaWYgKElzU2hhcmVkKCkgJiYgYnVmZmVyXy5z
aGFyZWQtPlVucmVmKCkpIHsKLSAgICAgIHZ0YWJsZV8tPnNoYXJlZF9kZXN0cm95KGJ1ZmZlcl8u
c2hhcmVkKTsKLSAgICB9Ci0gIH0KLQotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTT4KLSAgc3RhdGlj
IGNvbnN0ZXhwciBib29sIElzSW5saW5lZCgpIHsKLSAgICByZXR1cm4gc2l6ZW9mKE0pIDw9IHNp
emVvZihCdWZmZXIpICYmIGFsaWdub2YoTSkgPD0gYWxpZ25vZihCdWZmZXIpICYmCi0gICAgICAg
ICAgIHN0ZDo6aXNfdHJpdmlhbGx5X2NvcHlfY29uc3RydWN0aWJsZTxNPjo6dmFsdWUgJiYKLSAg
ICAgICAgICAgc3RkOjppc190cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPE0+Ojp2YWx1ZTsKLSAgfQot
Ci0gIHRlbXBsYXRlIDx0eXBlbmFtZSBNLCBib29sID0gTWF0Y2hlckJhc2U6OklzSW5saW5lZDxN
PigpPgotICBzdHJ1Y3QgVmFsdWVQb2xpY3kgewotICAgIHN0YXRpYyBjb25zdCBNJiBHZXQoY29u
c3QgTWF0Y2hlckJhc2UmIG0pIHsKLSAgICAgIC8vIFdoZW4gaW5saW5lZCBhbG9uZyB3aXRoIElu
aXQsIG5lZWQgdG8gYmUgZXhwbGljaXQgdG8gYXZvaWQgdmlvbGF0aW5nCi0gICAgICAvLyBzdHJp
Y3QgYWxpYXNpbmcgcnVsZXMuCi0gICAgICBjb25zdCBNKiBwdHIgPQotICAgICAgICAgIHN0YXRp
Y19jYXN0PGNvbnN0IE0qPihzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oJm0uYnVmZmVyXykpOwot
ICAgICAgcmV0dXJuICpwdHI7Ci0gICAgfQotICAgIHN0YXRpYyB2b2lkIEluaXQoTWF0Y2hlckJh
c2UmIG0sIE0gaW1wbCkgewotICAgICAgOjpuZXcgKHN0YXRpY19jYXN0PHZvaWQqPigmbS5idWZm
ZXJfKSkgTShpbXBsKTsKLSAgICB9Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHNoYXJlZF9k
ZXN0cm95ID0gbnVsbHB0cjsKLSAgfTsKLQotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTT4KLSAgc3Ry
dWN0IFZhbHVlUG9saWN5PE0sIGZhbHNlPiB7Ci0gICAgdXNpbmcgU2hhcmVkID0gU2hhcmVkUGF5
bG9hZDxNPjsKLSAgICBzdGF0aWMgY29uc3QgTSYgR2V0KGNvbnN0IE1hdGNoZXJCYXNlJiBtKSB7
Ci0gICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2hhcmVkKj4obS5idWZmZXJfLnNoYXJlZCktPnZh
bHVlOwotICAgIH0KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQXJnPgotICAgIHN0YXRpYyB2b2lk
IEluaXQoTWF0Y2hlckJhc2UmIG0sIEFyZyYmIGFyZykgewotICAgICAgbS5idWZmZXJfLnNoYXJl
ZCA9IG5ldyBTaGFyZWQoc3RkOjpmb3J3YXJkPEFyZz4oYXJnKSk7Ci0gICAgfQotICAgIHN0YXRp
YyBjb25zdGV4cHIgYXV0byBzaGFyZWRfZGVzdHJveSA9ICZTaGFyZWQ6OkRlc3Ryb3k7Ci0gIH07
Ci0KLSAgdGVtcGxhdGUgPHR5cGVuYW1lIFUsIGJvb2wgQj4KLSAgc3RydWN0IFZhbHVlUG9saWN5
PGNvbnN0IE1hdGNoZXJJbnRlcmZhY2U8VT4qLCBCPiB7Ci0gICAgdXNpbmcgTSA9IGNvbnN0IE1h
dGNoZXJJbnRlcmZhY2U8VT47Ci0gICAgdXNpbmcgU2hhcmVkID0gU2hhcmVkUGF5bG9hZDxzdGQ6
OnVuaXF1ZV9wdHI8TT4+OwotICAgIHN0YXRpYyBjb25zdCBNJiBHZXQoY29uc3QgTWF0Y2hlckJh
c2UmIG0pIHsKLSAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8U2hhcmVkKj4obS5idWZmZXJfLnNo
YXJlZCktPnZhbHVlOwotICAgIH0KLSAgICBzdGF0aWMgdm9pZCBJbml0KE1hdGNoZXJCYXNlJiBt
LCBNKiBpbXBsKSB7Ci0gICAgICBtLmJ1ZmZlcl8uc2hhcmVkID0gbmV3IFNoYXJlZChzdGQ6OnVu
aXF1ZV9wdHI8TT4oaW1wbCkpOwotICAgIH0KLQotICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBz
aGFyZWRfZGVzdHJveSA9ICZTaGFyZWQ6OkRlc3Ryb3k7Ci0gIH07Ci0KLSAgdGVtcGxhdGUgPHR5
cGVuYW1lIE0+Ci0gIHZvaWQgSW5pdChNJiYgbSkgewotICAgIHVzaW5nIE1NID0gdHlwZW5hbWUg
c3RkOjpkZWNheTxNPjo6dHlwZTsKLSAgICB1c2luZyBQb2xpY3kgPSBWYWx1ZVBvbGljeTxNTT47
Ci0gICAgdnRhYmxlXyA9IEdldFZUYWJsZTxQb2xpY3k+KCk7Ci0gICAgUG9saWN5OjpJbml0KCp0
aGlzLCBzdGQ6OmZvcndhcmQ8TT4obSkpOwotICB9Ci0KLSAgY29uc3QgVlRhYmxlKiB2dGFibGVf
OwotICBCdWZmZXIgYnVmZmVyXzsKKyAgc3RkOjpzaGFyZWRfcHRyPGNvbnN0IE1hdGNoZXJJbnRl
cmZhY2U8Y29uc3QgVCY+PiBpbXBsXzsKIH07CiAKIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbApA
QCAtNTE0LDEwICszNDAsNiBAQCBjbGFzcyBNYXRjaGVyIDogcHVibGljIGludGVybmFsOjpNYXRj
aGVyQmFzZTxUPiB7CiAgICAgICAgICAgbnVsbHB0cikKICAgICAgIDogaW50ZXJuYWw6Ok1hdGNo
ZXJCYXNlPFQ+KGltcGwpIHt9CiAKLSAgdGVtcGxhdGUgPHR5cGVuYW1lIE0sIHR5cGVuYW1lID0g
dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE0+Ojp0eXBlOjppc19ndGVzdF9tYXRjaGVyPgotICBNYXRjaGVyKE0mJiBtKSA6IGludGVy
bmFsOjpNYXRjaGVyQmFzZTxUPihzdGQ6OmZvcndhcmQ8TT4obSkpIHt9ICAvLyBOT0xJTlQKLQog
ICAvLyBJbXBsaWNpdCBjb25zdHJ1Y3RvciBoZXJlIGFsbG93cyBwZW9wbGUgdG8gd3JpdGUKICAg
Ly8gRVhQRUNUX0NBTEwoZm9vLCBCYXIoNSkpIGluc3RlYWQgb2YgRVhQRUNUX0NBTEwoZm9vLCBC
YXIoRXEoNSkpKSBzb21ldGltZXMKICAgTWF0Y2hlcihUIHZhbHVlKTsgIC8vIE5PTElOVApAQCAt
NTM1LDExICszNTcsNiBAQCBjbGFzcyBHVEVTVF9BUElfIE1hdGNoZXI8Y29uc3Qgc3RkOjpzdHJp
bmcmPgogICBleHBsaWNpdCBNYXRjaGVyKGNvbnN0IE1hdGNoZXJJbnRlcmZhY2U8Y29uc3Qgc3Rk
OjpzdHJpbmcmPiogaW1wbCkKICAgICAgIDogaW50ZXJuYWw6Ok1hdGNoZXJCYXNlPGNvbnN0IHN0
ZDo6c3RyaW5nJj4oaW1wbCkge30KIAotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTSwgdHlwZW5hbWUg
PSB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTT46OnR5cGU6OmlzX2d0ZXN0X21hdGNoZXI+Ci0gIE1hdGNoZXIoTSYmIG0pICAvLyBO
T0xJTlQKLSAgICAgIDogaW50ZXJuYWw6Ok1hdGNoZXJCYXNlPGNvbnN0IHN0ZDo6c3RyaW5nJj4o
c3RkOjpmb3J3YXJkPE0+KG0pKSB7fQotCiAgIC8vIEFsbG93cyB0aGUgdXNlciB0byB3cml0ZSBz
dHIgaW5zdGVhZCBvZiBFcShzdHIpIHNvbWV0aW1lcywgd2hlcmUKICAgLy8gc3RyIGlzIGEgc3Rk
OjpzdHJpbmcgb2JqZWN0LgogICBNYXRjaGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiBzKTsgIC8vIE5P
TElOVApAQCAtNTU5LDExICszNzYsNiBAQCBjbGFzcyBHVEVTVF9BUElfIE1hdGNoZXI8c3RkOjpz
dHJpbmc+CiAgIGV4cGxpY2l0IE1hdGNoZXIoY29uc3QgTWF0Y2hlckludGVyZmFjZTxzdGQ6OnN0
cmluZz4qIGltcGwpCiAgICAgICA6IGludGVybmFsOjpNYXRjaGVyQmFzZTxzdGQ6OnN0cmluZz4o
aW1wbCkge30KIAotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTSwgdHlwZW5hbWUgPSB0eXBlbmFtZSBz
dGQ6OnJlbW92ZV9yZWZlcmVuY2U8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTT46OnR5
cGU6OmlzX2d0ZXN0X21hdGNoZXI+Ci0gIE1hdGNoZXIoTSYmIG0pICAvLyBOT0xJTlQKLSAgICAg
IDogaW50ZXJuYWw6Ok1hdGNoZXJCYXNlPHN0ZDo6c3RyaW5nPihzdGQ6OmZvcndhcmQ8TT4obSkp
IHt9Ci0KICAgLy8gQWxsb3dzIHRoZSB1c2VyIHRvIHdyaXRlIHN0ciBpbnN0ZWFkIG9mIEVxKHN0
cikgc29tZXRpbWVzLCB3aGVyZQogICAvLyBzdHIgaXMgYSBzdHJpbmcgb2JqZWN0LgogICBNYXRj
aGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiBzKTsgIC8vIE5PTElOVApAQCAtNTg1LDEyICszOTcsNiBA
QCBjbGFzcyBHVEVTVF9BUElfIE1hdGNoZXI8Y29uc3QgaW50ZXJuYWw6OlN0cmluZ1ZpZXcmPgog
ICBleHBsaWNpdCBNYXRjaGVyKGNvbnN0IE1hdGNoZXJJbnRlcmZhY2U8Y29uc3QgaW50ZXJuYWw6
OlN0cmluZ1ZpZXcmPiogaW1wbCkKICAgICAgIDogaW50ZXJuYWw6Ok1hdGNoZXJCYXNlPGNvbnN0
IGludGVybmFsOjpTdHJpbmdWaWV3Jj4oaW1wbCkge30KIAotICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TSwgdHlwZW5hbWUgPSB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTT46OnR5cGU6OmlzX2d0ZXN0X21hdGNoZXI+Ci0gIE1hdGNoZXIo
TSYmIG0pICAvLyBOT0xJTlQKLSAgICAgIDogaW50ZXJuYWw6Ok1hdGNoZXJCYXNlPGNvbnN0IGlu
dGVybmFsOjpTdHJpbmdWaWV3Jj4oc3RkOjpmb3J3YXJkPE0+KG0pKSB7Ci0gIH0KLQogICAvLyBB
bGxvd3MgdGhlIHVzZXIgdG8gd3JpdGUgc3RyIGluc3RlYWQgb2YgRXEoc3RyKSBzb21ldGltZXMs
IHdoZXJlCiAgIC8vIHN0ciBpcyBhIHN0ZDo6c3RyaW5nIG9iamVjdC4KICAgTWF0Y2hlcihjb25z
dCBzdGQ6OnN0cmluZyYgcyk7ICAvLyBOT0xJTlQKQEAgLTYxMywxMSArNDE5LDYgQEAgY2xhc3Mg
R1RFU1RfQVBJXyBNYXRjaGVyPGludGVybmFsOjpTdHJpbmdWaWV3PgogICBleHBsaWNpdCBNYXRj
aGVyKGNvbnN0IE1hdGNoZXJJbnRlcmZhY2U8aW50ZXJuYWw6OlN0cmluZ1ZpZXc+KiBpbXBsKQog
ICAgICAgOiBpbnRlcm5hbDo6TWF0Y2hlckJhc2U8aW50ZXJuYWw6OlN0cmluZ1ZpZXc+KGltcGwp
IHt9CiAKLSAgdGVtcGxhdGUgPHR5cGVuYW1lIE0sIHR5cGVuYW1lID0gdHlwZW5hbWUgc3RkOjpy
ZW1vdmVfcmVmZXJlbmNlPAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE0+Ojp0eXBlOjpp
c19ndGVzdF9tYXRjaGVyPgotICBNYXRjaGVyKE0mJiBtKSAgLy8gTk9MSU5UCi0gICAgICA6IGlu
dGVybmFsOjpNYXRjaGVyQmFzZTxpbnRlcm5hbDo6U3RyaW5nVmlldz4oc3RkOjpmb3J3YXJkPE0+
KG0pKSB7fQotCiAgIC8vIEFsbG93cyB0aGUgdXNlciB0byB3cml0ZSBzdHIgaW5zdGVhZCBvZiBF
cShzdHIpIHNvbWV0aW1lcywgd2hlcmUKICAgLy8gc3RyIGlzIGEgc3RkOjpzdHJpbmcgb2JqZWN0
LgogICBNYXRjaGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiBzKTsgIC8vIE5PTElOVApAQCAtNzI4LDMy
ICs1MjksMzcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEQsIHR5cGVuYW1lIFJocywgdHlwZW5hbWUg
T3A+CiBjbGFzcyBDb21wYXJpc29uQmFzZSB7CiAgcHVibGljOgogICBleHBsaWNpdCBDb21wYXJp
c29uQmFzZShjb25zdCBSaHMmIHJocykgOiByaHNfKHJocykge30KLQotICB1c2luZyBpc19ndGVz
dF9tYXRjaGVyID0gdm9pZDsKLQogICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGhzPgotICBib29sIE1h
dGNoQW5kRXhwbGFpbihjb25zdCBMaHMmIGxocywgc3RkOjpvc3RyZWFtKikgY29uc3QgewotICAg
IHJldHVybiBPcCgpKGxocywgVW53cmFwKHJoc18pKTsKLSAgfQotICB2b2lkIERlc2NyaWJlVG8o
c3RkOjpvc3RyZWFtKiBvcykgY29uc3QgewotICAgICpvcyA8PCBEOjpEZXNjKCkgPDwgIiAiOwot
ICAgIFVuaXZlcnNhbFByaW50KFVud3JhcChyaHNfKSwgb3MpOwotICB9Ci0gIHZvaWQgRGVzY3Jp
YmVOZWdhdGlvblRvKHN0ZDo6b3N0cmVhbSogb3MpIGNvbnN0IHsKLSAgICAqb3MgPDwgRDo6TmVn
YXRlZERlc2MoKSA8PCAiICI7Ci0gICAgVW5pdmVyc2FsUHJpbnQoVW53cmFwKHJoc18pLCBvcyk7
CisgIG9wZXJhdG9yIE1hdGNoZXI8TGhzPigpIGNvbnN0IHsKKyAgICByZXR1cm4gTWF0Y2hlcjxM
aHM+KG5ldyBJbXBsPGNvbnN0IExocyY+KHJoc18pKTsKICAgfQogCiAgcHJpdmF0ZToKICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+Ci0gIHN0YXRpYyBjb25zdCBUJiBVbndyYXAoY29uc3QgVCYgdikg
ewotICAgIHJldHVybiB2OwotICB9CisgIHN0YXRpYyBjb25zdCBUJiBVbndyYXAoY29uc3QgVCYg
dikgeyByZXR1cm4gdjsgfQogICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSAgc3RhdGljIGNvbnN0
IFQmIFVud3JhcChzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFQ+IHYpIHsKLSAgICByZXR1cm4gdjsK
LSAgfQorICBzdGF0aWMgY29uc3QgVCYgVW53cmFwKHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8VD4g
dikgeyByZXR1cm4gdjsgfQogCisgIHRlbXBsYXRlIDx0eXBlbmFtZSBMaHMsIHR5cGVuYW1lID0g
UmhzPgorICBjbGFzcyBJbXBsIDogcHVibGljIE1hdGNoZXJJbnRlcmZhY2U8TGhzPiB7CisgICBw
dWJsaWM6CisgICAgZXhwbGljaXQgSW1wbChjb25zdCBSaHMmIHJocykgOiByaHNfKHJocykge30K
KyAgICBib29sIE1hdGNoQW5kRXhwbGFpbihMaHMgbGhzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIE1hdGNoUmVzdWx0TGlzdGVuZXIqIC8qIGxpc3RlbmVyICovKSBjb25zdCBvdmVycmlkZSB7
CisgICAgICByZXR1cm4gT3AoKShsaHMsIFVud3JhcChyaHNfKSk7CisgICAgfQorICAgIHZvaWQg
RGVzY3JpYmVUbyg6OnN0ZDo6b3N0cmVhbSogb3MpIGNvbnN0IG92ZXJyaWRlIHsKKyAgICAgICpv
cyA8PCBEOjpEZXNjKCkgPDwgIiAiOworICAgICAgVW5pdmVyc2FsUHJpbnQoVW53cmFwKHJoc18p
LCBvcyk7CisgICAgfQorICAgIHZvaWQgRGVzY3JpYmVOZWdhdGlvblRvKDo6c3RkOjpvc3RyZWFt
KiBvcykgY29uc3Qgb3ZlcnJpZGUgeworICAgICAgKm9zIDw8IEQ6Ok5lZ2F0ZWREZXNjKCkgPDwg
ICIgIjsKKyAgICAgIFVuaXZlcnNhbFByaW50KFVud3JhcChyaHNfKSwgb3MpOworICAgIH0KKwor
ICAgcHJpdmF0ZToKKyAgICBSaHMgcmhzXzsKKyAgfTsKICAgUmhzIHJoc187CiB9OwogCkBAIC03
NjEsNyArNTY3LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFJocz4KIGNsYXNzIEVxTWF0Y2hlciA6
IHB1YmxpYyBDb21wYXJpc29uQmFzZTxFcU1hdGNoZXI8UmhzPiwgUmhzLCBBbnlFcT4gewogIHB1
YmxpYzoKICAgZXhwbGljaXQgRXFNYXRjaGVyKGNvbnN0IFJocyYgcmhzKQotICAgICAgOiBDb21w
YXJpc29uQmFzZTxFcU1hdGNoZXI8UmhzPiwgUmhzLCBBbnlFcT4ocmhzKSB7fQorICAgICAgOiBD
b21wYXJpc29uQmFzZTxFcU1hdGNoZXI8UmhzPiwgUmhzLCBBbnlFcT4ocmhzKSB7IH0KICAgc3Rh
dGljIGNvbnN0IGNoYXIqIERlc2MoKSB7IHJldHVybiAiaXMgZXF1YWwgdG8iOyB9CiAgIHN0YXRp
YyBjb25zdCBjaGFyKiBOZWdhdGVkRGVzYygpIHsgcmV0dXJuICJpc24ndCBlcXVhbCB0byI7IH0K
IH07CkBAIC03NjksNyArNTc1LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFJocz4KIGNsYXNzIE5l
TWF0Y2hlciA6IHB1YmxpYyBDb21wYXJpc29uQmFzZTxOZU1hdGNoZXI8UmhzPiwgUmhzLCBBbnlO
ZT4gewogIHB1YmxpYzoKICAgZXhwbGljaXQgTmVNYXRjaGVyKGNvbnN0IFJocyYgcmhzKQotICAg
ICAgOiBDb21wYXJpc29uQmFzZTxOZU1hdGNoZXI8UmhzPiwgUmhzLCBBbnlOZT4ocmhzKSB7fQor
ICAgICAgOiBDb21wYXJpc29uQmFzZTxOZU1hdGNoZXI8UmhzPiwgUmhzLCBBbnlOZT4ocmhzKSB7
IH0KICAgc3RhdGljIGNvbnN0IGNoYXIqIERlc2MoKSB7IHJldHVybiAiaXNuJ3QgZXF1YWwgdG8i
OyB9CiAgIHN0YXRpYyBjb25zdCBjaGFyKiBOZWdhdGVkRGVzYygpIHsgcmV0dXJuICJpcyBlcXVh
bCB0byI7IH0KIH07CkBAIC03NzcsNyArNTgzLDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFJocz4K
IGNsYXNzIEx0TWF0Y2hlciA6IHB1YmxpYyBDb21wYXJpc29uQmFzZTxMdE1hdGNoZXI8UmhzPiwg
UmhzLCBBbnlMdD4gewogIHB1YmxpYzoKICAgZXhwbGljaXQgTHRNYXRjaGVyKGNvbnN0IFJocyYg
cmhzKQotICAgICAgOiBDb21wYXJpc29uQmFzZTxMdE1hdGNoZXI8UmhzPiwgUmhzLCBBbnlMdD4o
cmhzKSB7fQorICAgICAgOiBDb21wYXJpc29uQmFzZTxMdE1hdGNoZXI8UmhzPiwgUmhzLCBBbnlM
dD4ocmhzKSB7IH0KICAgc3RhdGljIGNvbnN0IGNoYXIqIERlc2MoKSB7IHJldHVybiAiaXMgPCI7
IH0KICAgc3RhdGljIGNvbnN0IGNoYXIqIE5lZ2F0ZWREZXNjKCkgeyByZXR1cm4gImlzbid0IDwi
OyB9CiB9OwpAQCAtNzg1LDcgKzU5MSw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBSaHM+CiBjbGFz
cyBHdE1hdGNoZXIgOiBwdWJsaWMgQ29tcGFyaXNvbkJhc2U8R3RNYXRjaGVyPFJocz4sIFJocywg
QW55R3Q+IHsKICBwdWJsaWM6CiAgIGV4cGxpY2l0IEd0TWF0Y2hlcihjb25zdCBSaHMmIHJocykK
LSAgICAgIDogQ29tcGFyaXNvbkJhc2U8R3RNYXRjaGVyPFJocz4sIFJocywgQW55R3Q+KHJocykg
e30KKyAgICAgIDogQ29tcGFyaXNvbkJhc2U8R3RNYXRjaGVyPFJocz4sIFJocywgQW55R3Q+KHJo
cykgeyB9CiAgIHN0YXRpYyBjb25zdCBjaGFyKiBEZXNjKCkgeyByZXR1cm4gImlzID4iOyB9CiAg
IHN0YXRpYyBjb25zdCBjaGFyKiBOZWdhdGVkRGVzYygpIHsgcmV0dXJuICJpc24ndCA+IjsgfQog
fTsKQEAgLTc5Myw3ICs1OTksNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgUmhzPgogY2xhc3MgTGVN
YXRjaGVyIDogcHVibGljIENvbXBhcmlzb25CYXNlPExlTWF0Y2hlcjxSaHM+LCBSaHMsIEFueUxl
PiB7CiAgcHVibGljOgogICBleHBsaWNpdCBMZU1hdGNoZXIoY29uc3QgUmhzJiByaHMpCi0gICAg
ICA6IENvbXBhcmlzb25CYXNlPExlTWF0Y2hlcjxSaHM+LCBSaHMsIEFueUxlPihyaHMpIHt9Cisg
ICAgICA6IENvbXBhcmlzb25CYXNlPExlTWF0Y2hlcjxSaHM+LCBSaHMsIEFueUxlPihyaHMpIHsg
fQogICBzdGF0aWMgY29uc3QgY2hhciogRGVzYygpIHsgcmV0dXJuICJpcyA8PSI7IH0KICAgc3Rh
dGljIGNvbnN0IGNoYXIqIE5lZ2F0ZWREZXNjKCkgeyByZXR1cm4gImlzbid0IDw9IjsgfQogfTsK
QEAgLTgwMSwxNSArNjA3LDExIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBSaHM+CiBjbGFzcyBHZU1h
dGNoZXIgOiBwdWJsaWMgQ29tcGFyaXNvbkJhc2U8R2VNYXRjaGVyPFJocz4sIFJocywgQW55R2U+
IHsKICBwdWJsaWM6CiAgIGV4cGxpY2l0IEdlTWF0Y2hlcihjb25zdCBSaHMmIHJocykKLSAgICAg
IDogQ29tcGFyaXNvbkJhc2U8R2VNYXRjaGVyPFJocz4sIFJocywgQW55R2U+KHJocykge30KKyAg
ICAgIDogQ29tcGFyaXNvbkJhc2U8R2VNYXRjaGVyPFJocz4sIFJocywgQW55R2U+KHJocykgeyB9
CiAgIHN0YXRpYyBjb25zdCBjaGFyKiBEZXNjKCkgeyByZXR1cm4gImlzID49IjsgfQogICBzdGF0
aWMgY29uc3QgY2hhciogTmVnYXRlZERlc2MoKSB7IHJldHVybiAiaXNuJ3QgPj0iOyB9CiB9Owog
Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p
ZjwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjppc19jb25zdHJ1Y3RpYmxlPHN0ZDo6
c3RyaW5nLCBUPjo6dmFsdWU+Ojp0eXBlPgotdXNpbmcgU3RyaW5nTGlrZSA9IFQ7Ci0KIC8vIElt
cGxlbWVudHMgcG9seW1vcnBoaWMgbWF0Y2hlcnMgTWF0Y2hlc1JlZ2V4KHJlZ2V4KSBhbmQKIC8v
IENvbnRhaW5zUmVnZXgocmVnZXgpLCB3aGljaCBjYW4gYmUgdXNlZCBhcyBhIE1hdGNoZXI8VD4g
YXMgbG9uZyBhcwogLy8gVCBjYW4gYmUgY29udmVydGVkIHRvIGEgc3RyaW5nLgpAQCAtODcwLDEw
ICs2NzIsOSBAQCBpbmxpbmUgUG9seW1vcnBoaWNNYXRjaGVyPGludGVybmFsOjpNYXRjaGVzUmVn
ZXhNYXRjaGVyPiBNYXRjaGVzUmVnZXgoCiAgICAgY29uc3QgaW50ZXJuYWw6OlJFKiByZWdleCkg
ewogICByZXR1cm4gTWFrZVBvbHltb3JwaGljTWF0Y2hlcihpbnRlcm5hbDo6TWF0Y2hlc1JlZ2V4
TWF0Y2hlcihyZWdleCwgdHJ1ZSkpOwogfQotdGVtcGxhdGUgPHR5cGVuYW1lIFQgPSBzdGQ6OnN0
cmluZz4KLVBvbHltb3JwaGljTWF0Y2hlcjxpbnRlcm5hbDo6TWF0Y2hlc1JlZ2V4TWF0Y2hlcj4g
TWF0Y2hlc1JlZ2V4KAotICAgIGNvbnN0IGludGVybmFsOjpTdHJpbmdMaWtlPFQ+JiByZWdleCkg
ewotICByZXR1cm4gTWF0Y2hlc1JlZ2V4KG5ldyBpbnRlcm5hbDo6UkUoc3RkOjpzdHJpbmcocmVn
ZXgpKSk7CitpbmxpbmUgUG9seW1vcnBoaWNNYXRjaGVyPGludGVybmFsOjpNYXRjaGVzUmVnZXhN
YXRjaGVyPiBNYXRjaGVzUmVnZXgoCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHJlZ2V4KSB7Cisg
IHJldHVybiBNYXRjaGVzUmVnZXgobmV3IGludGVybmFsOjpSRShyZWdleCkpOwogfQogCiAvLyBN
YXRjaGVzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgcmVndWxhciBleHByZXNzaW9uICdyZWdleCcu
CkBAIC04ODIsMjYgKzY4MywyMSBAQCBpbmxpbmUgUG9seW1vcnBoaWNNYXRjaGVyPGludGVybmFs
OjpNYXRjaGVzUmVnZXhNYXRjaGVyPiBDb250YWluc1JlZ2V4KAogICAgIGNvbnN0IGludGVybmFs
OjpSRSogcmVnZXgpIHsKICAgcmV0dXJuIE1ha2VQb2x5bW9ycGhpY01hdGNoZXIoaW50ZXJuYWw6
Ok1hdGNoZXNSZWdleE1hdGNoZXIocmVnZXgsIGZhbHNlKSk7CiB9Ci10ZW1wbGF0ZSA8dHlwZW5h
bWUgVCA9IHN0ZDo6c3RyaW5nPgotUG9seW1vcnBoaWNNYXRjaGVyPGludGVybmFsOjpNYXRjaGVz
UmVnZXhNYXRjaGVyPiBDb250YWluc1JlZ2V4KAotICAgIGNvbnN0IGludGVybmFsOjpTdHJpbmdM
aWtlPFQ+JiByZWdleCkgewotICByZXR1cm4gQ29udGFpbnNSZWdleChuZXcgaW50ZXJuYWw6OlJF
KHN0ZDo6c3RyaW5nKHJlZ2V4KSkpOworaW5saW5lIFBvbHltb3JwaGljTWF0Y2hlcjxpbnRlcm5h
bDo6TWF0Y2hlc1JlZ2V4TWF0Y2hlcj4gQ29udGFpbnNSZWdleCgKKyAgICBjb25zdCBzdGQ6OnN0
cmluZyYgcmVnZXgpIHsKKyAgcmV0dXJuIENvbnRhaW5zUmVnZXgobmV3IGludGVybmFsOjpSRShy
ZWdleCkpOwogfQogCiAvLyBDcmVhdGVzIGEgcG9seW1vcnBoaWMgbWF0Y2hlciB0aGF0IG1hdGNo
ZXMgYW55dGhpbmcgZXF1YWwgdG8geC4KIC8vIE5vdGU6IGlmIHRoZSBwYXJhbWV0ZXIgb2YgRXEo
KSB3ZXJlIGRlY2xhcmVkIGFzIGNvbnN0IFQmLCBFcSgiZm9vIikKIC8vIHdvdWxkbid0IGNvbXBp
bGUuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWlubGluZSBpbnRlcm5hbDo6RXFNYXRjaGVyPFQ+
IEVxKFQgeCkgewotICByZXR1cm4gaW50ZXJuYWw6OkVxTWF0Y2hlcjxUPih4KTsKLX0KK2lubGlu
ZSBpbnRlcm5hbDo6RXFNYXRjaGVyPFQ+IEVxKFQgeCkgeyByZXR1cm4gaW50ZXJuYWw6OkVxTWF0
Y2hlcjxUPih4KTsgfQogCiAvLyBDb25zdHJ1Y3RzIGEgTWF0Y2hlcjxUPiBmcm9tIGEgJ3ZhbHVl
JyBvZiB0eXBlIFQuICBUaGUgY29uc3RydWN0ZWQKIC8vIG1hdGNoZXIgbWF0Y2hlcyBhbnkgdmFs
dWUgdGhhdCdzIGVxdWFsIHRvICd2YWx1ZScuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLU1hdGNo
ZXI8VD46Ok1hdGNoZXIoVCB2YWx1ZSkgewotICAqdGhpcyA9IEVxKHZhbHVlKTsKLX0KK01hdGNo
ZXI8VD46Ok1hdGNoZXIoVCB2YWx1ZSkgeyAqdGhpcyA9IEVxKHZhbHVlKTsgfQogCiAvLyBDcmVh
dGVzIGEgbW9ub21vcnBoaWMgbWF0Y2hlciB0aGF0IG1hdGNoZXMgYW55dGhpbmcgd2l0aCB0eXBl
IExocwogLy8gYW5kIGVxdWFsIHRvIHJocy4gIEEgdXNlciBtYXkgbmVlZCB0byB1c2UgdGhpcyBp
bnN0ZWFkIG9mIEVxKC4uLikKQEAgLTkxNiw5ICs3MTIsNyBAQCBNYXRjaGVyPFQ+OjpNYXRjaGVy
KFQgdmFsdWUpIHsKIC8vIGNhbiBhbHdheXMgd3JpdGUgTWF0Y2hlcjxUPihMdCg1KSkgdG8gYmUg
ZXhwbGljaXQgYWJvdXQgdGhlIHR5cGUsCiAvLyBmb3IgZXhhbXBsZS4KIHRlbXBsYXRlIDx0eXBl
bmFtZSBMaHMsIHR5cGVuYW1lIFJocz4KLWlubGluZSBNYXRjaGVyPExocz4gVHlwZWRFcShjb25z
dCBSaHMmIHJocykgewotICByZXR1cm4gRXEocmhzKTsKLX0KK2lubGluZSBNYXRjaGVyPExocz4g
VHlwZWRFcShjb25zdCBSaHMmIHJocykgeyByZXR1cm4gRXEocmhzKTsgfQogCiAvLyBDcmVhdGVz
IGEgcG9seW1vcnBoaWMgbWF0Y2hlciB0aGF0IG1hdGNoZXMgYW55dGhpbmcgPj0geC4KIHRlbXBs
YXRlIDx0eXBlbmFtZSBSaHM+CkBAIC05NTMsNCArNzQ3LDQgQEAgaW5saW5lIGludGVybmFsOjpO
ZU1hdGNoZXI8UmhzPiBOZShSaHMgeCkgewogCiBHVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19Q
T1BfKCkgIC8vICA0MjUxIDUwNDYKIAotI2VuZGlmICAvLyBHT09HTEVURVNUX0lOQ0xVREVfR1RF
U1RfR1RFU1RfTUFUQ0hFUlNfSF8KKyNlbmRpZiAgLy8gR1RFU1RfSU5DTFVERV9HVEVTVF9HVEVT
VF9NQVRDSEVSU19IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0
ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LW1lc3NhZ2UuaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRf
cGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC1tZXNzYWdlLmgKaW5kZXgg
NmM4YmY5MDAwOTRhLi4yMTg5OTIzMmEyNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRf
cGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC1tZXNzYWdlLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0
LW1lc3NhZ2UuaApAQCAtMjcsNiArMjcsNyBAQAogLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAvLyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogCisvLwogLy8gVGhlIEdvb2dsZSBDKysgVGVzdGluZyBhbmQgTW9ja2luZyBGcmFtZXdv
cmsgKEdvb2dsZSBUZXN0KQogLy8KIC8vIFRoaXMgaGVhZGVyIGZpbGUgZGVmaW5lcyB0aGUgTWVz
c2FnZSBjbGFzcy4KQEAgLTQxLDEyICs0MiwxMCBAQAogLy8gdG8gQ0hBTkdFIFdJVEhPVVQgTk9U
SUNFLiAgVGhlcmVmb3JlIERPIE5PVCBERVBFTkQgT04gSVQgaW4gYSB1c2VyCiAvLyBwcm9ncmFt
IQogCi0vLyBJV1lVIHByYWdtYTogcHJpdmF0ZSwgaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKLS8v
IElXWVUgcHJhZ21hOiBmcmllbmQgZ3Rlc3QvLioKLS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ21v
Y2svLioKKy8vIEdPT0dMRVRFU1RfQ00wMDAxIERPIE5PVCBERUxFVEUKIAotI2lmbmRlZiBHT09H
TEVURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfTUVTU0FHRV9IXwotI2RlZmluZSBHT09HTEVURVNU
X0lOQ0xVREVfR1RFU1RfR1RFU1RfTUVTU0FHRV9IXworI2lmbmRlZiBHVEVTVF9JTkNMVURFX0dU
RVNUX0dURVNUX01FU1NBR0VfSF8KKyNkZWZpbmUgR1RFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9N
RVNTQUdFX0hfCiAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8bWVtb3J5PgpAQCAtMTEx
LDggKzExMCw4IEBAIGNsYXNzIEdURVNUX0FQSV8gTWVzc2FnZSB7CiAKICAgLy8gU3RyZWFtcyBh
IG5vbi1wb2ludGVyIHZhbHVlIHRvIHRoaXMgb2JqZWN0LgogICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4KLSAgaW5saW5lIE1lc3NhZ2UmIG9wZXJhdG9yPDwoY29uc3QgVCYgdmFsKSB7Ci0gICAgICAg
IC8vIFNvbWUgbGlicmFyaWVzIG92ZXJsb2FkIDw8IGZvciBTVEwgY29udGFpbmVycy4gIFRoZXNl
CisgIGlubGluZSBNZXNzYWdlJiBvcGVyYXRvciA8PChjb25zdCBUJiB2YWwpIHsKKyAgICAvLyBT
b21lIGxpYnJhcmllcyBvdmVybG9hZCA8PCBmb3IgU1RMIGNvbnRhaW5lcnMuICBUaGVzZQogICAg
IC8vIG92ZXJsb2FkcyBhcmUgZGVmaW5lZCBpbiB0aGUgZ2xvYmFsIG5hbWVzcGFjZSBpbnN0ZWFk
IG9mIDo6c3RkLgogICAgIC8vCiAgICAgLy8gQysrJ3Mgc3ltYm9sIGxvb2t1cCBydWxlIChpLmUu
IEtvZW5pZyBsb29rdXApIHNheXMgdGhhdCB0aGVzZQpAQCAtMTI2LDcgKzEyNSw3IEBAIGNsYXNz
IEdURVNUX0FQSV8gTWVzc2FnZSB7CiAgICAgLy8gZnJvbSB0aGUgZ2xvYmFsIG5hbWVzcGFjZS4g
IFdpdGggdGhpcyB1c2luZyBkZWNsYXJhdGlvbiwKICAgICAvLyBvdmVybG9hZHMgb2YgPDwgZGVm
aW5lZCBpbiB0aGUgZ2xvYmFsIG5hbWVzcGFjZSBhbmQgdGhvc2UKICAgICAvLyB2aXNpYmxlIHZp
YSBLb2VuaWcgbG9va3VwIGFyZSBib3RoIGV4cG9zZWQgaW4gdGhpcyBmdW5jdGlvbi4KLSAgICB1
c2luZyA6Om9wZXJhdG9yPDw7CisgICAgdXNpbmcgOjpvcGVyYXRvciA8PDsKICAgICAqc3NfIDw8
IHZhbDsKICAgICByZXR1cm4gKnRoaXM7CiAgIH0KQEAgLTE0NSw3ICsxNDQsNyBAQCBjbGFzcyBH
VEVTVF9BUElfIE1lc3NhZ2UgewogICAvLyBlbnN1cmUgY29uc2lzdGVudCByZXN1bHQgYWNyb3Nz
IGNvbXBpbGVycywgd2UgYWx3YXlzIHRyZWF0IE5VTEwKICAgLy8gYXMgIihudWxsKSIuCiAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgotICBpbmxpbmUgTWVzc2FnZSYgb3BlcmF0b3I8PChUKiBjb25z
dCYgcG9pbnRlcikgeyAgLy8gTk9MSU5UCisgIGlubGluZSBNZXNzYWdlJiBvcGVyYXRvciA8PChU
KiBjb25zdCYgcG9pbnRlcikgeyAgLy8gTk9MSU5UCiAgICAgaWYgKHBvaW50ZXIgPT0gbnVsbHB0
cikgewogICAgICAgKnNzXyA8PCAiKG51bGwpIjsKICAgICB9IGVsc2UgewpAQCAtMTYwLDIzICsx
NTksMjUgQEAgY2xhc3MgR1RFU1RfQVBJXyBNZXNzYWdlIHsKICAgLy8gdGVtcGxhdGl6ZWQgdmVy
c2lvbiBhYm92ZS4gIFdpdGhvdXQgdGhpcyBkZWZpbml0aW9uLCBzdHJlYW1pbmcKICAgLy8gZW5k
bCBvciBvdGhlciBiYXNpYyBJTyBtYW5pcHVsYXRvcnMgdG8gTWVzc2FnZSB3aWxsIGNvbmZ1c2Ug
dGhlCiAgIC8vIGNvbXBpbGVyLgotICBNZXNzYWdlJiBvcGVyYXRvcjw8KEJhc2ljTmFycm93SW9N
YW5pcCB2YWwpIHsKKyAgTWVzc2FnZSYgb3BlcmF0b3IgPDwoQmFzaWNOYXJyb3dJb01hbmlwIHZh
bCkgewogICAgICpzc18gPDwgdmFsOwogICAgIHJldHVybiAqdGhpczsKICAgfQogCiAgIC8vIElu
c3RlYWQgb2YgMS8wLCB3ZSB3YW50IHRvIHNlZSB0cnVlL2ZhbHNlIGZvciBib29sIHZhbHVlcy4K
LSAgTWVzc2FnZSYgb3BlcmF0b3I8PChib29sIGIpIHsgcmV0dXJuICp0aGlzIDw8IChiID8gInRy
dWUiIDogImZhbHNlIik7IH0KKyAgTWVzc2FnZSYgb3BlcmF0b3IgPDwoYm9vbCBiKSB7CisgICAg
cmV0dXJuICp0aGlzIDw8IChiID8gInRydWUiIDogImZhbHNlIik7CisgIH0KIAogICAvLyBUaGVz
ZSB0d28gb3ZlcmxvYWRzIGFsbG93IHN0cmVhbWluZyBhIHdpZGUgQyBzdHJpbmcgdG8gYSBNZXNz
YWdlCiAgIC8vIHVzaW5nIHRoZSBVVEYtOCBlbmNvZGluZy4KLSAgTWVzc2FnZSYgb3BlcmF0b3I8
PChjb25zdCB3Y2hhcl90KiB3aWRlX2Nfc3RyKTsKLSAgTWVzc2FnZSYgb3BlcmF0b3I8PCh3Y2hh
cl90KiB3aWRlX2Nfc3RyKTsKKyAgTWVzc2FnZSYgb3BlcmF0b3IgPDwoY29uc3Qgd2NoYXJfdCog
d2lkZV9jX3N0cik7CisgIE1lc3NhZ2UmIG9wZXJhdG9yIDw8KHdjaGFyX3QqIHdpZGVfY19zdHIp
OwogCiAjaWYgR1RFU1RfSEFTX1NURF9XU1RSSU5HCiAgIC8vIENvbnZlcnRzIHRoZSBnaXZlbiB3
aWRlIHN0cmluZyB0byBhIG5hcnJvdyBzdHJpbmcgdXNpbmcgdGhlIFVURi04CiAgIC8vIGVuY29k
aW5nLCBhbmQgc3RyZWFtcyB0aGUgcmVzdWx0IHRvIHRoaXMgTWVzc2FnZSBvYmplY3QuCi0gIE1l
c3NhZ2UmIG9wZXJhdG9yPDwoY29uc3QgOjpzdGQ6OndzdHJpbmcmIHdzdHIpOworICBNZXNzYWdl
JiBvcGVyYXRvciA8PChjb25zdCA6OnN0ZDo6d3N0cmluZyYgd3N0cik7CiAjZW5kaWYgIC8vIEdU
RVNUX0hBU19TVERfV1NUUklORwogCiAgIC8vIEdldHMgdGhlIHRleHQgc3RyZWFtZWQgdG8gdGhp
cyBvYmplY3Qgc28gZmFyIGFzIGFuIHN0ZDo6c3RyaW5nLgpAQCAtMTk1LDcgKzE5Niw3IEBAIGNs
YXNzIEdURVNUX0FQSV8gTWVzc2FnZSB7CiB9OwogCiAvLyBTdHJlYW1zIGEgTWVzc2FnZSB0byBh
biBvc3RyZWFtLgotaW5saW5lIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0m
IG9zLCBjb25zdCBNZXNzYWdlJiBzYikgeworaW5saW5lIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3Ig
PDwoc3RkOjpvc3RyZWFtJiBvcywgY29uc3QgTWVzc2FnZSYgc2IpIHsKICAgcmV0dXJuIG9zIDw8
IHNiLkdldFN0cmluZygpOwogfQogCkBAIC0yMTUsNCArMjE2LDQgQEAgc3RkOjpzdHJpbmcgU3Ry
ZWFtYWJsZVRvU3RyaW5nKGNvbnN0IFQmIHN0cmVhbWFibGUpIHsKIAogR1RFU1RfRElTQUJMRV9N
U0NfV0FSTklOR1NfUE9QXygpICAvLyAgNDI1MQogCi0jZW5kaWYgIC8vIEdPT0dMRVRFU1RfSU5D
TFVERV9HVEVTVF9HVEVTVF9NRVNTQUdFX0hfCisjZW5kaWYgIC8vIEdURVNUX0lOQ0xVREVfR1RF
U1RfR1RFU1RfTUVTU0FHRV9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9n
b29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LXBhcmFtLXRlc3QuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC1wYXJhbS10
ZXN0LmgKaW5kZXggYjU1MTE5YWM2MmY3Li41YjAzOWRmOWY2ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC1wYXJh
bS10ZXN0LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNs
dWRlL2d0ZXN0L2d0ZXN0LXBhcmFtLXRlc3QuaApAQCAtMjYsMTYgKzI2LDE2IEBACiAvLyBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCiAvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIC8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KKy8vCiAvLyBNYWNyb3Mg
YW5kIGZ1bmN0aW9ucyBmb3IgaW1wbGVtZW50aW5nIHBhcmFtZXRlcml6ZWQgdGVzdHMKIC8vIGlu
IEdvb2dsZSBDKysgVGVzdGluZyBhbmQgTW9ja2luZyBGcmFtZXdvcmsgKEdvb2dsZSBUZXN0KQor
Ly8KKy8vIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkgYSBTQ1JJUFQuICBETyBOT1QgRURJVCBC
WSBIQU5EIQorLy8KKy8vIEdPT0dMRVRFU1RfQ00wMDAxIERPIE5PVCBERUxFVEUKKyNpZm5kZWYg
R1RFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9QQVJBTV9URVNUX0hfCisjZGVmaW5lIEdURVNUX0lO
Q0xVREVfR1RFU1RfR1RFU1RfUEFSQU1fVEVTVF9IXwogCi0vLyBJV1lVIHByYWdtYTogcHJpdmF0
ZSwgaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKLS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ3Rlc3Qv
LioKLS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ21vY2svLioKLQotI2lmbmRlZiBHT09HTEVURVNU
X0lOQ0xVREVfR1RFU1RfR1RFU1RfUEFSQU1fVEVTVF9IXwotI2RlZmluZSBHT09HTEVURVNUX0lO
Q0xVREVfR1RFU1RfR1RFU1RfUEFSQU1fVEVTVF9IXwogCiAvLyBWYWx1ZS1wYXJhbWV0ZXJpemVk
IHRlc3RzIGFsbG93IHlvdSB0byB0ZXN0IHlvdXIgY29kZSB3aXRoIGRpZmZlcmVudAogLy8gcGFy
YW1ldGVycyB3aXRob3V0IHdyaXRpbmcgbXVsdGlwbGUgY29waWVzIG9mIHRoZSBzYW1lIHRlc3Qu
CkBAIC0zNTYsNyArMzU2LDkgQEAgaW50ZXJuYWw6OlZhbHVlQXJyYXk8VC4uLj4gVmFsdWVzKFQu
Li4gdikgewogLy8gfQogLy8gSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKEJvb2xTZXF1ZW5jZSwg
RmxhZ0RlcGVuZGVudFRlc3QsIEJvb2woKSk7CiAvLwotaW5saW5lIGludGVybmFsOjpQYXJhbUdl
bmVyYXRvcjxib29sPiBCb29sKCkgeyByZXR1cm4gVmFsdWVzKGZhbHNlLCB0cnVlKTsgfQoraW5s
aW5lIGludGVybmFsOjpQYXJhbUdlbmVyYXRvcjxib29sPiBCb29sKCkgeworICByZXR1cm4gVmFs
dWVzKGZhbHNlLCB0cnVlKTsKK30KIAogLy8gQ29tYmluZSgpIGFsbG93cyB0aGUgdXNlciB0byBj
b21iaW5lIHR3byBvciBtb3JlIHNlcXVlbmNlcyB0byBwcm9kdWNlCiAvLyB2YWx1ZXMgb2YgYSBD
YXJ0ZXNpYW4gcHJvZHVjdCBvZiB0aG9zZSBzZXF1ZW5jZXMnIGVsZW1lbnRzLgpAQCAtMzY5LDYg
KzM3MSw4IEBAIGlubGluZSBpbnRlcm5hbDo6UGFyYW1HZW5lcmF0b3I8Ym9vbD4gQm9vbCgpIHsg
cmV0dXJuIFZhbHVlcyhmYWxzZSwgdHJ1ZSk7IH0KIC8vICAgICBzdGQ6OnR1cGxlPFQxLCBUMiwg
Li4uLCBUTj4gd2hlcmUgVDEsIFQyLCAuLi4sIFROIGFyZSB0aGUgdHlwZXMKIC8vICAgICBvZiBl
bGVtZW50cyBmcm9tIHNlcXVlbmNlcyBwcm9kdWNlcyBieSBnZW4xLCBnZW4yLCAuLi4sIGdlbk4u
CiAvLworLy8gQ29tYmluZSBjYW4gaGF2ZSB1cCB0byAxMCBhcmd1bWVudHMuCisvLwogLy8gRXhh
bXBsZToKIC8vCiAvLyBUaGlzIHdpbGwgaW5zdGFudGlhdGUgdGVzdHMgaW4gdGVzdCBzdWl0ZSBB
bmltYWxUZXN0IGVhY2ggb25lIHdpdGgKQEAgLTQyNCwxNiArNDI4LDEyIEBAIGludGVybmFsOjpD
YXJ0ZXNpYW5Qcm9kdWN0SG9sZGVyPEdlbmVyYXRvci4uLj4gQ29tYmluZShjb25zdCBHZW5lcmF0
b3ImLi4uIGcpIHsKICAgICAgICAgICAtPkFkZFRlc3RQYXR0ZXJuKCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgIEdURVNU
X1NUUklOR0lGWV8odGVzdF9zdWl0ZV9uYW1lKSwgR1RFU1RfU1RSSU5HSUZZXyh0ZXN0X25hbWUp
LCAgXAogICAgICAgICAgICAgICBuZXcgOjp0ZXN0aW5nOjppbnRlcm5hbDo6VGVzdE1ldGFGYWN0
b3J5PEdURVNUX1RFU1RfQ0xBU1NfTkFNRV8oIFwKLSAgICAgICAgICAgICAgICAgIHRlc3Rfc3Vp
dGVfbmFtZSwgdGVzdF9uYW1lKT4oKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OkNvZGVMb2NhdGlvbihfX0ZJTEVfXywg
X19MSU5FX18pKTsgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgdGVzdF9zdWl0ZV9uYW1l
LCB0ZXN0X25hbWUpPigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgIHJl
dHVybiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHN0YXRpYyBpbnQg
Z3Rlc3RfcmVnaXN0ZXJpbmdfZHVtbXlfIEdURVNUX0FUVFJJQlVURV9VTlVTRURfOyAgICAgICAg
ICAgICAgIFwKLSAgICBHVEVTVF9URVNUX0NMQVNTX05BTUVfKHRlc3Rfc3VpdGVfbmFtZSwgdGVz
dF9uYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKGNvbnN0IEdURVNUX1RFU1Rf
Q0xBU1NfTkFNRV8odGVzdF9zdWl0ZV9uYW1lLCB0ZXN0X25hbWUpICYpID0gZGVsZXRlOyAgICAg
XAotICAgIEdURVNUX1RFU1RfQ0xBU1NfTkFNRV8odGVzdF9zdWl0ZV9uYW1lLCB0ZXN0X25hbWUp
ICYgb3BlcmF0b3I9KCAgICAgICAgICAgIFwKLSAgICAgICAgY29uc3QgR1RFU1RfVEVTVF9DTEFT
U19OQU1FXyh0ZXN0X3N1aXRlX25hbWUsICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9uYW1lKSAmKSA9IGRlbGV0ZTsg
LyogTk9MSU5UICovICAgICAgXAorICAgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8o
R1RFU1RfVEVTVF9DTEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUsICAgIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9uYW1l
KSk7ICAgICAgICBcCiAgIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBpbnQgR1RFU1RfVEVTVF9D
TEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9uYW1lKTo6Z3Rlc3RfcmVn
aXN0ZXJpbmdfZHVtbXlfID0gICAgICAgICAgICBcCkBAIC00NTcsNDIgKzQ1Nyw0MyBAQCBpbnRl
cm5hbDo6Q2FydGVzaWFuUHJvZHVjdEhvbGRlcjxHZW5lcmF0b3IuLi4+IENvbWJpbmUoY29uc3Qg
R2VuZXJhdG9yJi4uLiBnKSB7CiAjZGVmaW5lIEdURVNUX0dFVF9GSVJTVF8oZmlyc3QsIC4uLikg
Zmlyc3QKICNkZWZpbmUgR1RFU1RfR0VUX1NFQ09ORF8oZmlyc3QsIHNlY29uZCwgLi4uKSBzZWNv
bmQKIAotI2RlZmluZSBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AocHJlZml4LCB0ZXN0X3N1aXRl
X25hbWUsIC4uLikgICAgICAgICAgICAgICBcCi0gIHN0YXRpYyA6OnRlc3Rpbmc6OmludGVybmFs
OjpQYXJhbUdlbmVyYXRvcjx0ZXN0X3N1aXRlX25hbWU6OlBhcmFtVHlwZT4gICAgIFwKLSAgICAg
IGd0ZXN0XyMjcHJlZml4IyN0ZXN0X3N1aXRlX25hbWUjI19FdmFsR2VuZXJhdG9yXygpIHsgICAg
ICAgICAgICAgICAgICAgXAotICAgIHJldHVybiBHVEVTVF9FWFBBTkRfKEdURVNUX0dFVF9GSVJT
VF8oX19WQV9BUkdTX18sIERVTU1ZX1BBUkFNXykpOyAgICAgICBcCi0gIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgc3RhdGljIDo6c3RkOjpzdHJpbmcgZ3Rlc3RfIyNwcmVmaXgjI3Rlc3Rfc3VpdGVf
bmFtZSMjX0V2YWxHZW5lcmF0ZU5hbWVfKCAgXAotICAgICAgY29uc3QgOjp0ZXN0aW5nOjpUZXN0
UGFyYW1JbmZvPHRlc3Rfc3VpdGVfbmFtZTo6UGFyYW1UeXBlPiYgaW5mbykgeyAgICBcCi0gICAg
aWYgKDo6dGVzdGluZzo6aW50ZXJuYWw6OkFsd2F5c0ZhbHNlKCkpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OlRlc3ROb3RFbXB0
eShHVEVTVF9FWFBBTkRfKEdURVNUX0dFVF9TRUNPTkRfKCAgICAgXAotICAgICAgICAgIF9fVkFf
QVJHU19fLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6RGVmYXVsdFBhcmFtTmFtZTx0
ZXN0X3N1aXRlX25hbWU6OlBhcmFtVHlwZT4sIFwKLSAgICAgICAgICBEVU1NWV9QQVJBTV8pKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgYXV0byB0ID0gc3RkOjptYWtlX3R1cGxlKF9fVkFfQVJHU19fKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6dHVwbGVfc2l6ZTxk
ZWNsdHlwZSh0KT46OnZhbHVlIDw9IDIsICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgIlRvbyBNYW55IEFyZ3MhIik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcmV0dXJuICgoR1RFU1RfRVhQQU5E
XyhHVEVTVF9HRVRfU0VDT05EXyggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgX19WQV9BUkdTX18sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpEZWZhdWx0
UGFyYW1OYW1lPHRlc3Rfc3VpdGVfbmFtZTo6UGFyYW1UeXBlPiwgICBcCi0gICAgICAgIERVTU1Z
X1BBUkFNXykpKSkoaW5mbyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBzdGF0aWMgaW50IGd0ZXN0XyMjcHJl
Zml4IyN0ZXN0X3N1aXRlX25hbWUjI19kdW1teV8gICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICBHVEVTVF9BVFRSSUJVVEVfVU5VU0VEXyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICA6OnRlc3Rpbmc6OlVuaXRUZXN0OjpHZXRJ
bnN0YW5jZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAtPnBhcmFtZXRlcml6ZWRfdGVzdF9yZWdpc3RyeSgpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgIC5HZXRUZXN0U3VpdGVQYXR0ZXJuSG9sZGVyPHRlc3Rf
c3VpdGVfbmFtZT4oICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEdURVNU
X1NUUklOR0lGWV8odGVzdF9zdWl0ZV9uYW1lKSwgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6Q29kZUxvY2F0aW9uKF9fRklM
RV9fLCBfX0xJTkVfXykpICAgICBcCi0gICAgICAgICAgICAgIC0+QWRkVGVzdFN1aXRlSW5zdGFu
dGlhdGlvbiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgIEdURVNUX1NUUklOR0lGWV8ocHJlZml4KSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgJmd0ZXN0XyMjcHJlZml4IyN0ZXN0X3N1aXRl
X25hbWUjI19FdmFsR2VuZXJhdG9yXywgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAmZ3Rl
c3RfIyNwcmVmaXgjI3Rlc3Rfc3VpdGVfbmFtZSMjX0V2YWxHZW5lcmF0ZU5hbWVfLCAgICAgIFwK
KyNkZWZpbmUgSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKHByZWZpeCwgdGVzdF9zdWl0ZV9uYW1l
LCAuLi4pICAgICAgICAgICAgICAgIFwKKyAgc3RhdGljIDo6dGVzdGluZzo6aW50ZXJuYWw6OlBh
cmFtR2VuZXJhdG9yPHRlc3Rfc3VpdGVfbmFtZTo6UGFyYW1UeXBlPiAgICAgIFwKKyAgICAgIGd0
ZXN0XyMjcHJlZml4IyN0ZXN0X3N1aXRlX25hbWUjI19FdmFsR2VuZXJhdG9yXygpIHsgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICByZXR1cm4gR1RFU1RfRVhQQU5EXyhHVEVTVF9HRVRfRklSU1Rf
KF9fVkFfQVJHU19fLCBEVU1NWV9QQVJBTV8pKTsgICAgICAgIFwKKyAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgc3RhdGljIDo6c3RkOjpzdHJpbmcgZ3Rlc3RfIyNwcmVmaXgjI3Rlc3Rfc3VpdGVf
bmFtZSMjX0V2YWxHZW5lcmF0ZU5hbWVfKCAgIFwKKyAgICAgIGNvbnN0IDo6dGVzdGluZzo6VGVz
dFBhcmFtSW5mbzx0ZXN0X3N1aXRlX25hbWU6OlBhcmFtVHlwZT4mIGluZm8pIHsgICAgIFwKKyAg
ICBpZiAoOjp0ZXN0aW5nOjppbnRlcm5hbDo6QWx3YXlzRmFsc2UoKSkgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OlRlc3ROb3RF
bXB0eShHVEVTVF9FWFBBTkRfKEdURVNUX0dFVF9TRUNPTkRfKCAgICAgIFwKKyAgICAgICAgICBf
X1ZBX0FSR1NfXywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpEZWZhdWx0UGFyYW1O
YW1lPHRlc3Rfc3VpdGVfbmFtZTo6UGFyYW1UeXBlPiwgIFwKKyAgICAgICAgICBEVU1NWV9QQVJB
TV8pKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgIGF1dG8gdCA9IHN0ZDo6bWFrZV90dXBsZShfX1ZBX0FSR1NfXyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjp0dXBs
ZV9zaXplPGRlY2x0eXBlKHQpPjo6dmFsdWUgPD0gMiwgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgIlRvbyBNYW55IEFyZ3MhIik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZXR1cm4gKChH
VEVTVF9FWFBBTkRfKEdURVNUX0dFVF9TRUNPTkRfKCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgICAgX19WQV9BUkdTX18sICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgOjp0ZXN0aW5nOjppbnRl
cm5hbDo6RGVmYXVsdFBhcmFtTmFtZTx0ZXN0X3N1aXRlX25hbWU6OlBhcmFtVHlwZT4sICAgIFwK
KyAgICAgICAgRFVNTVlfUEFSQU1fKSkpKShpbmZvKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgc3RhdGlj
IGludCBndGVzdF8jI3ByZWZpeCMjdGVzdF9zdWl0ZV9uYW1lIyNfZHVtbXlfICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgIEdURVNUX0FUVFJJQlVURV9VTlVTRURfID0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICA6OnRlc3Rp
bmc6OlVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgICAgLT5wYXJhbWV0ZXJpemVkX3Rlc3RfcmVnaXN0cnkoKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgLkdldFRlc3RTdWl0
ZVBhdHRlcm5Ib2xkZXI8dGVzdF9zdWl0ZV9uYW1lPiggICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgICAgICAgICAgIEdURVNUX1NUUklOR0lGWV8odGVzdF9zdWl0ZV9uYW1lKSwgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6aW50ZXJu
YWw6OkNvZGVMb2NhdGlvbihfX0ZJTEVfXywgX19MSU5FX18pKSAgICAgIFwKKyAgICAgICAgICAg
ICAgLT5BZGRUZXN0U3VpdGVJbnN0YW50aWF0aW9uKCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgIEdURVNUX1NUUklOR0lGWV8ocHJlZml4KSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICZn
dGVzdF8jI3ByZWZpeCMjdGVzdF9zdWl0ZV9uYW1lIyNfRXZhbEdlbmVyYXRvcl8sICAgICAgICAg
IFwKKyAgICAgICAgICAgICAgICAgICZndGVzdF8jI3ByZWZpeCMjdGVzdF9zdWl0ZV9uYW1lIyNf
RXZhbEdlbmVyYXRlTmFtZV8sICAgICAgIFwKICAgICAgICAgICAgICAgICAgIF9fRklMRV9fLCBf
X0xJTkVfXykKIAorCiAvLyBBbGxvdyBNYXJraW5nIGEgUGFyYW1ldGVyaXplZCB0ZXN0IGNsYXNz
IGFzIG5vdCBuZWVkaW5nIHRvIGJlIGluc3RhbnRpYXRlZC4KLSNkZWZpbmUgR1RFU1RfQUxMT1df
VU5JTlNUQU5USUFURURfUEFSQU1FVEVSSVpFRF9URVNUKFQpICAgICAgICAgICAgICAgICAgXAor
I2RlZmluZSBHVEVTVF9BTExPV19VTklOU1RBTlRJQVRFRF9QQVJBTUVURVJJWkVEX1RFU1QoVCkg
ICAgICAgICAgICAgICAgICAgXAogICBuYW1lc3BhY2UgZ3Rlc3RfZG9fbm90X3VzZV9vdXRzaWRl
X25hbWVzcGFjZV9zY29wZSB7fSAgICAgICAgICAgICAgICAgICBcCiAgIHN0YXRpYyBjb25zdCA6
OnRlc3Rpbmc6OmludGVybmFsOjpNYXJrQXNJZ25vcmVkIGd0ZXN0X2FsbG93X2lnbm9yZV8jI1Qo
IFwKICAgICAgIEdURVNUX1NUUklOR0lGWV8oVCkpCkBAIC01MDcsNCArNTA4LDQgQEAgaW50ZXJu
YWw6OkNhcnRlc2lhblByb2R1Y3RIb2xkZXI8R2VuZXJhdG9yLi4uPiBDb21iaW5lKGNvbnN0IEdl
bmVyYXRvciYuLi4gZykgewogCiB9ICAvLyBuYW1lc3BhY2UgdGVzdGluZwogCi0jZW5kaWYgIC8v
IEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9QQVJBTV9URVNUX0hfCisjZW5kaWYgIC8v
IEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfUEFSQU1fVEVTVF9IXwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LXBy
aW50ZXJzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUv
Z3Rlc3QvZ3Rlc3QtcHJpbnRlcnMuaAppbmRleCBhOTFlOGI4YjEwZWUuLjQwN2QxZjE4NTk2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRl
L2d0ZXN0L2d0ZXN0LXByaW50ZXJzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29n
bGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LXByaW50ZXJzLmgKQEAgLTI3LDYgKzI3LDcg
QEAKIC8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQogLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAorCiAvLyBHb29nbGUgVGVzdCAt
IFRoZSBHb29nbGUgQysrIFRlc3RpbmcgYW5kIE1vY2tpbmcgRnJhbWV3b3JrCiAvLwogLy8gVGhp
cyBmaWxlIGltcGxlbWVudHMgYSB1bml2ZXJzYWwgdmFsdWUgcHJpbnRlciB0aGF0IGNhbiBwcmlu
dCBhCkBAIC05NCwxNSArOTUsMTIgQEAKIC8vIGJlaW5nIGRlZmluZWQgYXMgbWFueSB1c2VyLWRl
ZmluZWQgY29udGFpbmVyIHR5cGVzIGRvbid0IGhhdmUKIC8vIHZhbHVlX3R5cGUuCiAKLS8vIElX
WVUgcHJhZ21hOiBwcml2YXRlLCBpbmNsdWRlICJndGVzdC9ndGVzdC5oIgotLy8gSVdZVSBwcmFn
bWE6IGZyaWVuZCBndGVzdC8uKgotLy8gSVdZVSBwcmFnbWE6IGZyaWVuZCBnbW9jay8uKgorLy8g
R09PR0xFVEVTVF9DTTAwMDEgRE8gTk9UIERFTEVURQogCi0jaWZuZGVmIEdPT0dMRVRFU1RfSU5D
TFVERV9HVEVTVF9HVEVTVF9QUklOVEVSU19IXwotI2RlZmluZSBHT09HTEVURVNUX0lOQ0xVREVf
R1RFU1RfR1RFU1RfUFJJTlRFUlNfSF8KKyNpZm5kZWYgR1RFU1RfSU5DTFVERV9HVEVTVF9HVEVT
VF9QUklOVEVSU19IXworI2RlZmluZSBHVEVTVF9JTkNMVURFX0dURVNUX0dURVNUX1BSSU5URVJT
X0hfCiAKICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRl
IDxvc3RyZWFtPiAgLy8gTk9MSU5UCiAjaW5jbHVkZSA8c3N0cmVhbT4KICNpbmNsdWRlIDxzdHJp
bmc+CkBAIC0xMTAsMTI0ICsxMDgsNjQgQEAKICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KICNpbmNs
dWRlIDx1dGlsaXR5PgogI2luY2x1ZGUgPHZlY3Rvcj4KLQogI2luY2x1ZGUgImd0ZXN0L2ludGVy
bmFsL2d0ZXN0LWludGVybmFsLmgiCiAjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcG9y
dC5oIgogCi1uYW1lc3BhY2UgdGVzdGluZyB7Ci0KLS8vIERlZmluaXRpb25zIGluIHRoZSBpbnRl
cm5hbCogbmFtZXNwYWNlcyBhcmUgc3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UuCi0v
LyBETyBOT1QgVVNFIFRIRU0gSU4gVVNFUiBDT0RFIQotbmFtZXNwYWNlIGludGVybmFsIHsKLQot
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci12b2lkIFVuaXZlcnNhbFByaW50KGNvbnN0IFQmIHZhbHVl
LCA6OnN0ZDo6b3N0cmVhbSogb3MpOwotCi0vLyBVc2VkIHRvIHByaW50IGFuIFNUTC1zdHlsZSBj
b250YWluZXIgd2hlbiB0aGUgdXNlciBkb2Vzbid0IGRlZmluZQotLy8gYSBQcmludFRvKCkgZm9y
IGl0Lgotc3RydWN0IENvbnRhaW5lclByaW50ZXIgewotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwK
LSAgICAgICAgICAgIHR5cGVuYW1lID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8Ci0gICAgICAg
ICAgICAgICAgKHNpemVvZihJc0NvbnRhaW5lclRlc3Q8VD4oMCkpID09IHNpemVvZihJc0NvbnRh
aW5lcikpICYmCi0gICAgICAgICAgICAgICAgIUlzUmVjdXJzaXZlQ29udGFpbmVyPFQ+Ojp2YWx1
ZT46OnR5cGU+Ci0gIHN0YXRpYyB2b2lkIFByaW50VmFsdWUoY29uc3QgVCYgY29udGFpbmVyLCBz
dGQ6Om9zdHJlYW0qIG9zKSB7Ci0gICAgY29uc3Qgc2l6ZV90IGtNYXhDb3VudCA9IDMyOyAgLy8g
VGhlIG1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHByaW50LgotICAgICpvcyA8PCAneyc7
Ci0gICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICBmb3IgKGF1dG8mJiBlbGVtIDogY29udGFpbmVy
KSB7Ci0gICAgICBpZiAoY291bnQgPiAwKSB7Ci0gICAgICAgICpvcyA8PCAnLCc7Ci0gICAgICAg
IGlmIChjb3VudCA9PSBrTWF4Q291bnQpIHsgIC8vIEVub3VnaCBoYXMgYmVlbiBwcmludGVkLgot
ICAgICAgICAgICpvcyA8PCAiIC4uLiI7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgIH0KLSAgICAgICpvcyA8PCAnICc7Ci0gICAgICAvLyBXZSBjYW5ub3QgY2FsbCBQcmludFRv
KGVsZW0sIG9zKSBoZXJlIGFzIFByaW50VG8oKSBkb2Vzbid0Ci0gICAgICAvLyBoYW5kbGUgYGVs
ZW1gIGJlaW5nIGEgbmF0aXZlIGFycmF5LgotICAgICAgaW50ZXJuYWw6OlVuaXZlcnNhbFByaW50
KGVsZW0sIG9zKTsKLSAgICAgICsrY291bnQ7Ci0gICAgfQorI2lmIEdURVNUX0hBU19BQlNMCisj
aW5jbHVkZSAiYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgiCisjaW5jbHVkZSAiYWJzbC90eXBl
cy9vcHRpb25hbC5oIgorI2luY2x1ZGUgImFic2wvdHlwZXMvdmFyaWFudC5oIgorI2VuZGlmICAv
LyBHVEVTVF9IQVNfQUJTTAogCi0gICAgaWYgKGNvdW50ID4gMCkgewotICAgICAgKm9zIDw8ICcg
JzsKLSAgICB9Ci0gICAgKm9zIDw8ICd9JzsKLSAgfQotfTsKK25hbWVzcGFjZSB0ZXN0aW5nIHsK
IAotLy8gVXNlZCB0byBwcmludCBhIHBvaW50ZXIgdGhhdCBpcyBuZWl0aGVyIGEgY2hhciBwb2lu
dGVyIG5vciBhIG1lbWJlcgotLy8gcG9pbnRlciwgd2hlbiB0aGUgdXNlciBkb2Vzbid0IGRlZmlu
ZSBQcmludFRvKCkgZm9yIGl0LiAgKEEgbWVtYmVyCi0vLyB2YXJpYWJsZSBwb2ludGVyIG9yIG1l
bWJlciBmdW5jdGlvbiBwb2ludGVyIGRvZXNuJ3QgcmVhbGx5IHBvaW50IHRvCi0vLyBhIGxvY2F0
aW9uIGluIHRoZSBhZGRyZXNzIHNwYWNlLiAgVGhlaXIgcmVwcmVzZW50YXRpb24gaXMKLS8vIGlt
cGxlbWVudGF0aW9uLWRlZmluZWQuICBUaGVyZWZvcmUgdGhleSB3aWxsIGJlIHByaW50ZWQgYXMg
cmF3Ci0vLyBieXRlcy4pCi1zdHJ1Y3QgRnVuY3Rpb25Qb2ludGVyUHJpbnRlciB7Ci0gIHRlbXBs
YXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXNfZnVuY3Rpb248VD46OnZhbHVlPjo6dHlw
ZT4KLSAgc3RhdGljIHZvaWQgUHJpbnRWYWx1ZShUKiBwLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsK
LSAgICBpZiAocCA9PSBudWxscHRyKSB7Ci0gICAgICAqb3MgPDwgIk5VTEwiOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAvLyBUIGlzIGEgZnVuY3Rpb24gdHlwZSwgc28gJypvcyA8PCBwJyBkb2Vzbid0
IGRvIHdoYXQgd2Ugd2FudAotICAgICAgLy8gKGl0IGp1c3QgcHJpbnRzIHAgYXMgYm9vbCkuICBX
ZSB3YW50IHRvIHByaW50IHAgYXMgYSBjb25zdAotICAgICAgLy8gdm9pZCouCi0gICAgICAqb3Mg
PDwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4ocCk7Ci0gICAgfQotICB9Ci19OworLy8g
RGVmaW5pdGlvbnMgaW4gdGhlICdpbnRlcm5hbCcgYW5kICdpbnRlcm5hbDInIG5hbWUgc3BhY2Vz
IGFyZQorLy8gc3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UuICBETyBOT1QgVVNFIFRI
RU0gSU4gVVNFUiBDT0RFIQorbmFtZXNwYWNlIGludGVybmFsMiB7CiAKLXN0cnVjdCBQb2ludGVy
UHJpbnRlciB7Ci0gIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotICBzdGF0aWMgdm9pZCBQcmludFZh
bHVlKFQqIHAsIDo6c3RkOjpvc3RyZWFtKiBvcykgewotICAgIGlmIChwID09IG51bGxwdHIpIHsK
LSAgICAgICpvcyA8PCAiTlVMTCI7Ci0gICAgfSBlbHNlIHsKLSAgICAgIC8vIFQgaXMgbm90IGEg
ZnVuY3Rpb24gdHlwZS4gIFdlIGp1c3QgY2FsbCA8PCB0byBwcmludCBwLAotICAgICAgLy8gcmVs
eWluZyBvbiBBREwgdG8gcGljayB1cCB1c2VyLWRlZmluZWQgPDwgZm9yIHRoZWlyIHBvaW50ZXIK
LSAgICAgIC8vIHR5cGVzLCBpZiBhbnkuCi0gICAgICAqb3MgPDwgcDsKLSAgICB9Ci0gIH0KKy8v
IFByaW50cyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGJ5dGVzIGluIHRoZSBnaXZlbiBvYmplY3QgdG8g
dGhlIGdpdmVuCisvLyBvc3RyZWFtLgorR1RFU1RfQVBJXyB2b2lkIFByaW50Qnl0ZXNJbk9iamVj
dFRvKGNvbnN0IHVuc2lnbmVkIGNoYXIqIG9ial9ieXRlcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaXplX3QgY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjpzdGQ6Om9zdHJlYW0qIG9zKTsKKworLy8gRm9yIHNlbGVjdGluZyB3aGlj
aCBwcmludGVyIHRvIHVzZSB3aGVuIGEgZ2l2ZW4gdHlwZSBoYXMgbmVpdGhlciA8PAorLy8gbm9y
IFByaW50VG8oKS4KK2VudW0gVHlwZUtpbmQgeworICBrUHJvdG9idWYsICAgICAgICAgICAgICAv
LyBhIHByb3RvYnVmIHR5cGUKKyAga0NvbnZlcnRpYmxlVG9JbnRlZ2VyLCAgLy8gYSB0eXBlIGlt
cGxpY2l0bHkgY29udmVydGlibGUgdG8gQmlnZ2VzdEludAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAoZS5nLiBhIG5hbWVkIG9yIHVubmFtZWQgZW51bSB0eXBlKQorI2lmIEdURVNUX0lO
VEVSTkFMX0hBU19TVFJJTkdfVklFVworICBrQ29udmVydGlibGVUb1N0cmluZ1ZpZXcsICAvLyBh
IHR5cGUgaW1wbGljaXRseSBjb252ZXJ0aWJsZSB0bworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBhYnNsOjpzdHJpbmdfdmlldyBvciBzdGQ6OnN0cmluZ192aWV3CisjZW5kaWYKKyAg
a090aGVyVHlwZSAgLy8gYW55dGhpbmcgZWxzZQogfTsKIAotbmFtZXNwYWNlIGludGVybmFsX3N0
cmVhbV9vcGVyYXRvcl93aXRob3V0X2xleGljYWxfbmFtZV9sb29rdXAgewotCi0vLyBUaGUgcHJl
c2VuY2Ugb2YgYW4gb3BlcmF0b3I8PCBoZXJlIHdpbGwgdGVybWluYXRlIGxleGljYWwgc2NvcGUg
bG9va3VwCi0vLyBzdHJhaWdodCBhd2F5IChldmVuIHRob3VnaCBpdCBjYW5ub3QgYmUgYSBtYXRj
aCBiZWNhdXNlIG9mIGl0cyBhcmd1bWVudAotLy8gdHlwZXMpLiBUaHVzLCB0aGUgdHdvIG9wZXJh
dG9yPDwgY2FsbHMgaW4gU3RyZWFtUHJpbnRlciB3aWxsIGZpbmQgb25seSBBREwKLS8vIGNhbmRp
ZGF0ZXMuCi1zdHJ1Y3QgTG9va3VwQmxvY2tlciB7fTsKLXZvaWQgb3BlcmF0b3I8PChMb29rdXBC
bG9ja2VyLCBMb29rdXBCbG9ja2VyKTsKLQotc3RydWN0IFN0cmVhbVByaW50ZXIgewotICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVCwKLSAgICAgICAgICAgIC8vIERvbid0IGFjY2VwdCBtZW1iZXIgcG9p
bnRlcnMgaGVyZS4gV2UnZCBwcmludCB0aGVtIHZpYSBpbXBsaWNpdAotICAgICAgICAgICAgLy8g
Y29udmVyc2lvbiB0byBib29sLCB3aGljaCBpc24ndCB1c2VmdWwuCi0gICAgICAgICAgICB0eXBl
bmFtZSA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPAotICAgICAgICAgICAgICAgICFzdGQ6Omlz
X21lbWJlcl9wb2ludGVyPFQ+Ojp2YWx1ZT46OnR5cGUsCi0gICAgICAgICAgICAvLyBPbmx5IGFj
Y2VwdCB0eXBlcyBmb3Igd2hpY2ggd2UgY2FuIGZpbmQgYSBzdHJlYW1pbmcgb3BlcmF0b3Igdmlh
Ci0gICAgICAgICAgICAvLyBBREwgKHBvc3NpYmx5IGludm9sdmluZyBpbXBsaWNpdCBjb252ZXJz
aW9ucykuCi0gICAgICAgICAgICB0eXBlbmFtZSA9IGRlY2x0eXBlKHN0ZDo6ZGVjbHZhbDxzdGQ6
Om9zdHJlYW0mPigpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8IHN0ZDo6ZGVj
bHZhbDxjb25zdCBUJj4oKSk+CisvLyBUeXBlV2l0aG91dEZvcm1hdHRlcjxULCBrVHlwZUtpbmQ+
OjpQcmludFZhbHVlKHZhbHVlLCBvcykgaXMgY2FsbGVkCisvLyBieSB0aGUgdW5pdmVyc2FsIHBy
aW50ZXIgdG8gcHJpbnQgYSB2YWx1ZSBvZiB0eXBlIFQgd2hlbiBuZWl0aGVyCisvLyBvcGVyYXRv
cjw8IG5vciBQcmludFRvKCkgaXMgZGVmaW5lZCBmb3IgVCwgd2hlcmUga1R5cGVLaW5kIGlzIHRo
ZQorLy8gImtpbmQiIG9mIFQgYXMgZGVmaW5lZCBieSBlbnVtIFR5cGVLaW5kLgordGVtcGxhdGUg
PHR5cGVuYW1lIFQsIFR5cGVLaW5kIGtUeXBlS2luZD4KK2NsYXNzIFR5cGVXaXRob3V0Rm9ybWF0
dGVyIHsKKyBwdWJsaWM6CisgIC8vIFRoaXMgZGVmYXVsdCB2ZXJzaW9uIGlzIGNhbGxlZCB3aGVu
IGtUeXBlS2luZCBpcyBrT3RoZXJUeXBlLgogICBzdGF0aWMgdm9pZCBQcmludFZhbHVlKGNvbnN0
IFQmIHZhbHVlLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKLSAgICAvLyBDYWxsIHN0cmVhbWluZyBv
cGVyYXRvciBmb3VuZCBieSBBREwsIHBvc3NpYmx5IHdpdGggaW1wbGljaXQgY29udmVyc2lvbnMK
LSAgICAvLyBvZiB0aGUgYXJndW1lbnRzLgotICAgICpvcyA8PCB2YWx1ZTsKKyAgICBQcmludEJ5
dGVzSW5PYmplY3RUbygKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+
KAorICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oc3RkOjphZGRyZXNz
b2YodmFsdWUpKSksCisgICAgICAgIHNpemVvZih2YWx1ZSksIG9zKTsKICAgfQogfTsKIAotfSAg
Ly8gbmFtZXNwYWNlIGludGVybmFsX3N0cmVhbV9vcGVyYXRvcl93aXRob3V0X2xleGljYWxfbmFt
ZV9sb29rdXAKLQotc3RydWN0IFByb3RvYnVmUHJpbnRlciB7Ci0gIC8vIFdlIHByaW50IGEgcHJv
dG9idWYgdXNpbmcgaXRzIFNob3J0RGVidWdTdHJpbmcoKSB3aGVuIHRoZSBzdHJpbmcKLSAgLy8g
ZG9lc24ndCBleGNlZWQgdGhpcyBtYW55IGNoYXJhY3RlcnM7IG90aGVyd2lzZSB3ZSBwcmludCBp
dCB1c2luZwotICAvLyBEZWJ1Z1N0cmluZygpIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkuCi0gIHN0
YXRpYyBjb25zdCBzaXplX3Qga1Byb3RvYnVmT25lTGluZXJNYXhMZW5ndGggPSA1MDsKKy8vIFdl
IHByaW50IGEgcHJvdG9idWYgdXNpbmcgaXRzIFNob3J0RGVidWdTdHJpbmcoKSB3aGVuIHRoZSBz
dHJpbmcKKy8vIGRvZXNuJ3QgZXhjZWVkIHRoaXMgbWFueSBjaGFyYWN0ZXJzOyBvdGhlcndpc2Ug
d2UgcHJpbnQgaXQgdXNpbmcKKy8vIERlYnVnU3RyaW5nKCkgZm9yIGJldHRlciByZWFkYWJpbGl0
eS4KK2NvbnN0IHNpemVfdCBrUHJvdG9idWZPbmVMaW5lck1heExlbmd0aCA9IDUwOwogCi0gIHRl
bXBsYXRlIDx0eXBlbmFtZSBULAotICAgICAgICAgICAgdHlwZW5hbWUgPSB0eXBlbmFtZSBzdGQ6
OmVuYWJsZV9pZjwKLSAgICAgICAgICAgICAgICBpbnRlcm5hbDo6SGFzRGVidWdTdHJpbmdBbmRT
aG9ydERlYnVnU3RyaW5nPFQ+Ojp2YWx1ZT46OnR5cGU+Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
K2NsYXNzIFR5cGVXaXRob3V0Rm9ybWF0dGVyPFQsIGtQcm90b2J1Zj4geworIHB1YmxpYzoKICAg
c3RhdGljIHZvaWQgUHJpbnRWYWx1ZShjb25zdCBUJiB2YWx1ZSwgOjpzdGQ6Om9zdHJlYW0qIG9z
KSB7CiAgICAgc3RkOjpzdHJpbmcgcHJldHR5X3N0ciA9IHZhbHVlLlNob3J0RGVidWdTdHJpbmco
KTsKICAgICBpZiAocHJldHR5X3N0ci5sZW5ndGgoKSA+IGtQcm90b2J1Zk9uZUxpbmVyTWF4TGVu
Z3RoKSB7CkBAIC0yMzcsNyArMTc1LDkgQEAgc3RydWN0IFByb3RvYnVmUHJpbnRlciB7CiAgIH0K
IH07CiAKLXN0cnVjdCBDb252ZXJ0aWJsZVRvSW50ZWdlclByaW50ZXIgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+CitjbGFzcyBUeXBlV2l0aG91dEZvcm1hdHRlcjxULCBrQ29udmVydGlibGVUb0lu
dGVnZXI+IHsKKyBwdWJsaWM6CiAgIC8vIFNpbmNlIFQgaGFzIG5vIDw8IG9wZXJhdG9yIG9yIFBy
aW50VG8oKSBidXQgY2FuIGJlIGltcGxpY2l0bHkKICAgLy8gY29udmVydGVkIHRvIEJpZ2dlc3RJ
bnQsIHdlIHByaW50IGl0IGFzIGEgQmlnZ2VzdEludC4KICAgLy8KQEAgLTI0NSw3MiArMTg1LDEx
MiBAQCBzdHJ1Y3QgQ29udmVydGlibGVUb0ludGVnZXJQcmludGVyIHsKICAgLy8gY2FzZSBwcmlu
dGluZyBpdCBhcyBhbiBpbnRlZ2VyIGlzIHRoZSBkZXNpcmVkIGJlaGF2aW9yLiAgSW4gY2FzZQog
ICAvLyBUIGlzIG5vdCBhbiBlbnVtLCBwcmludGluZyBpdCBhcyBhbiBpbnRlZ2VyIGlzIHRoZSBi
ZXN0IHdlIGNhbiBkbwogICAvLyBnaXZlbiB0aGF0IGl0IGhhcyBubyB1c2VyLWRlZmluZWQgcHJp
bnRlci4KLSAgc3RhdGljIHZvaWQgUHJpbnRWYWx1ZShpbnRlcm5hbDo6QmlnZ2VzdEludCB2YWx1
ZSwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gICAgKm9zIDw8IHZhbHVlOworICBzdGF0aWMgdm9p
ZCBQcmludFZhbHVlKGNvbnN0IFQmIHZhbHVlLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKKyAgICBj
b25zdCBpbnRlcm5hbDo6QmlnZ2VzdEludCBrQmlnSW50ID0gdmFsdWU7CisgICAgKm9zIDw8IGtC
aWdJbnQ7CiAgIH0KIH07CiAKLXN0cnVjdCBDb252ZXJ0aWJsZVRvU3RyaW5nVmlld1ByaW50ZXIg
ewogI2lmIEdURVNUX0lOVEVSTkFMX0hBU19TVFJJTkdfVklFVwotICBzdGF0aWMgdm9pZCBQcmlu
dFZhbHVlKGludGVybmFsOjpTdHJpbmdWaWV3IHZhbHVlLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsK
LSAgICBpbnRlcm5hbDo6VW5pdmVyc2FsUHJpbnQodmFsdWUsIG9zKTsKLSAgfQotI2VuZGlmCi19
OwotCi0vLyBQcmludHMgdGhlIGdpdmVuIG51bWJlciBvZiBieXRlcyBpbiB0aGUgZ2l2ZW4gb2Jq
ZWN0IHRvIHRoZSBnaXZlbgotLy8gb3N0cmVhbS4KLUdURVNUX0FQSV8gdm9pZCBQcmludEJ5dGVz
SW5PYmplY3RUbyhjb25zdCB1bnNpZ25lZCBjaGFyKiBvYmpfYnl0ZXMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNvdW50LCA6OnN0ZDo6b3N0cmVhbSogb3Mp
Owotc3RydWN0IFJhd0J5dGVzUHJpbnRlciB7Ci0gIC8vIFNGSU5BRSBvbiBgc2l6ZW9mYCB0byBt
YWtlIHN1cmUgd2UgaGF2ZSBhIGNvbXBsZXRlIHR5cGUuCi0gIHRlbXBsYXRlIDx0eXBlbmFtZSBU
LCBzaXplX3QgPSBzaXplb2YoVCk+Ci0gIHN0YXRpYyB2b2lkIFByaW50VmFsdWUoY29uc3QgVCYg
dmFsdWUsIDo6c3RkOjpvc3RyZWFtKiBvcykgewotICAgIFByaW50Qnl0ZXNJbk9iamVjdFRvKAot
ICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4oCi0gICAgICAgICAgICAv
LyBMb2FkIGJlYXJpbmcgY2FzdCB0byB2b2lkKiB0byBzdXBwb3J0IGlPUwotICAgICAgICAgICAg
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oc3RkOjphZGRyZXNzb2YodmFsdWUpKSksCi0g
ICAgICAgIHNpemVvZih2YWx1ZSksIG9zKTsKLSAgfQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Citj
bGFzcyBUeXBlV2l0aG91dEZvcm1hdHRlcjxULCBrQ29udmVydGlibGVUb1N0cmluZ1ZpZXc+IHsK
KyBwdWJsaWM6CisgIC8vIFNpbmNlIFQgaGFzIG5laXRoZXIgb3BlcmF0b3I8PCBub3IgUHJpbnRU
bygpIGJ1dCBjYW4gYmUgaW1wbGljaXRseQorICAvLyBjb252ZXJ0ZWQgdG8gYWJzbDo6c3RyaW5n
X3ZpZXcsIHdlIHByaW50IGl0IGFzIGEgYWJzbDo6c3RyaW5nX3ZpZXcKKyAgLy8gKG9yIHN0ZDo6
c3RyaW5nX3ZpZXcpLgorICAvLworICAvLyBOb3RlOiB0aGUgaW1wbGVtZW50YXRpb24gaXMgZnVy
dGhlciBiZWxvdywgYXMgaXQgZGVwZW5kcyBvbgorICAvLyBpbnRlcm5hbDo6UHJpbnRUbyBzeW1i
b2wgd2hpY2ggaXMgZGVmaW5lZCBsYXRlciBpbiB0aGUgZmlsZS4KKyAgc3RhdGljIHZvaWQgUHJp
bnRWYWx1ZShjb25zdCBUJiB2YWx1ZSwgOjpzdGQ6Om9zdHJlYW0qIG9zKTsKIH07CisjZW5kaWYK
IAotc3RydWN0IEZhbGxiYWNrUHJpbnRlciB7Ci0gIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotICBz
dGF0aWMgdm9pZCBQcmludFZhbHVlKGNvbnN0IFQmLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKLSAg
ICAqb3MgPDwgIihpbmNvbXBsZXRlIHR5cGUpIjsKLSAgfQotfTsKKy8vIFByaW50cyB0aGUgZ2l2
ZW4gdmFsdWUgdG8gdGhlIGdpdmVuIG9zdHJlYW0uICBJZiB0aGUgdmFsdWUgaXMgYQorLy8gcHJv
dG9jb2wgbWVzc2FnZSwgaXRzIGRlYnVnIHN0cmluZyBpcyBwcmludGVkOyBpZiBpdCdzIGFuIGVu
dW0gb3IKKy8vIG9mIGEgdHlwZSBpbXBsaWNpdGx5IGNvbnZlcnRpYmxlIHRvIEJpZ2dlc3RJbnQs
IGl0J3MgcHJpbnRlZCBhcyBhbgorLy8gaW50ZWdlcjsgb3RoZXJ3aXNlIHRoZSBieXRlcyBpbiB0
aGUgdmFsdWUgYXJlIHByaW50ZWQuICBUaGlzIGlzCisvLyB3aGF0IFVuaXZlcnNhbFByaW50ZXI8
VD46OlByaW50KCkgZG9lcyB3aGVuIGl0IGtub3dzIG5vdGhpbmcgYWJvdXQKKy8vIHR5cGUgVCBh
bmQgVCBoYXMgbmVpdGhlciA8PCBvcGVyYXRvciBub3IgUHJpbnRUbygpLgorLy8KKy8vIEEgdXNl
ciBjYW4gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvciBmb3IgYSBjbGFzcyB0eXBlIEZvbyBieSBkZWZp
bmluZworLy8gYSA8PCBvcGVyYXRvciBpbiB0aGUgbmFtZXNwYWNlIHdoZXJlIEZvbyBpcyBkZWZp
bmVkLgorLy8KKy8vIFdlIHB1dCB0aGlzIG9wZXJhdG9yIGluIG5hbWVzcGFjZSAnaW50ZXJuYWwy
JyBpbnN0ZWFkIG9mICdpbnRlcm5hbCcKKy8vIHRvIHNpbXBsaWZ5IHRoZSBpbXBsZW1lbnRhdGlv
biwgYXMgbXVjaCBjb2RlIGluICdpbnRlcm5hbCcgbmVlZHMgdG8KKy8vIHVzZSA8PCBpbiBTVEws
IHdoaWNoIHdvdWxkIGNvbmZsaWN0IHdpdGggb3VyIG93biA8PCB3ZXJlIGl0IGRlZmluZWQKKy8v
IGluICdpbnRlcm5hbCcuCisvLworLy8gTm90ZSB0aGF0IHRoaXMgb3BlcmF0b3I8PCB0YWtlcyBh
IGdlbmVyaWMgc3RkOjpiYXNpY19vc3RyZWFtPENoYXIsCisvLyBDaGFyVHJhaXRzPiB0eXBlIGlu
c3RlYWQgb2YgdGhlIG1vcmUgcmVzdHJpY3RlZCBzdGQ6Om9zdHJlYW0uICBJZgorLy8gd2UgZGVm
aW5lIGl0IHRvIHRha2UgYW4gc3RkOjpvc3RyZWFtIGluc3RlYWQsIHdlJ2xsIGdldCBhbgorLy8g
ImFtYmlndW91cyBvdmVybG9hZHMiIGNvbXBpbGVyIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHByaW50
IGEgdHlwZQorLy8gRm9vIHRoYXQgc3VwcG9ydHMgc3RyZWFtaW5nIHRvIHN0ZDo6YmFzaWNfb3N0
cmVhbTxDaGFyLAorLy8gQ2hhclRyYWl0cz4sIGFzIHRoZSBjb21waWxlciBjYW5ub3QgdGVsbCB3
aGV0aGVyCisvLyBvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSYsIGNvbnN0IFQmKSBvcgorLy8gb3Bl
cmF0b3I8PChzdGQ6OmJhc2ljX3N0cmVhbTxDaGFyLCBDaGFyVHJhaXRzPiwgY29uc3QgRm9vJikg
aXMgbW9yZQorLy8gc3BlY2lmaWMuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhciwgdHlwZW5hbWUg
Q2hhclRyYWl0cywgdHlwZW5hbWUgVD4KKzo6c3RkOjpiYXNpY19vc3RyZWFtPENoYXIsIENoYXJU
cmFpdHM+JiBvcGVyYXRvcjw8KAorICAgIDo6c3RkOjpiYXNpY19vc3RyZWFtPENoYXIsIENoYXJU
cmFpdHM+JiBvcywgY29uc3QgVCYgeCkgeworICBUeXBlV2l0aG91dEZvcm1hdHRlcjxULCAoaW50
ZXJuYWw6OklzQVByb3RvY29sTWVzc2FnZTxUPjo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA/IGtQcm90b2J1ZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog
c3RkOjppc19jb252ZXJ0aWJsZTwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBUJiwgaW50ZXJuYWw6OkJpZ2dlc3RJbnQ+Ojp2YWx1ZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID8ga0NvbnZlcnRpYmxlVG9JbnRlZ2VyCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOgorI2lmIEdURVNUX0lOVEVSTkFMX0hBU19TVFJJ
TkdfVklFVworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXNfY29u
dmVydGlibGU8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFQmLCBpbnRlcm5hbDo6U3RyaW5nVmlldz46OnZhbHVlCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID8ga0NvbnZlcnRpYmxlVG9TdHJpbmdWaWV3CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoKKyNlbmRpZgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBrT3RoZXJUeXBlKT46OlByaW50VmFsdWUoeCwgJm9z
KTsKKyAgcmV0dXJuIG9zOworfQogCi0vLyBUcnkgZXZlcnkgcHJpbnRlciBpbiBvcmRlciBhbmQg
cmV0dXJuIHRoZSBmaXJzdCBvbmUgdGhhdCB3b3Jrcy4KLXRlbXBsYXRlIDx0eXBlbmFtZSBULCB0
eXBlbmFtZSBFLCB0eXBlbmFtZSBQcmludGVyLCB0eXBlbmFtZS4uLiBQcmludGVycz4KLXN0cnVj
dCBGaW5kRmlyc3RQcmludGVyIDogRmluZEZpcnN0UHJpbnRlcjxULCBFLCBQcmludGVycy4uLj4g
e307Cit9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwyCit9ICAvLyBuYW1lc3BhY2UgdGVzdGluZwog
Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUHJpbnRlciwgdHlwZW5hbWUuLi4gUHJp
bnRlcnM+Ci1zdHJ1Y3QgRmluZEZpcnN0UHJpbnRlcjwKLSAgICBULCBkZWNsdHlwZShQcmludGVy
OjpQcmludFZhbHVlKHN0ZDo6ZGVjbHZhbDxjb25zdCBUJj4oKSwgbnVsbHB0cikpLAotICAgIFBy
aW50ZXIsIFByaW50ZXJzLi4uPiB7Ci0gIHVzaW5nIHR5cGUgPSBQcmludGVyOwotfTsKKy8vIFRo
aXMgbmFtZXNwYWNlIE1VU1QgTk9UIEJFIE5FU1RFRCBJTiA6OnRlc3RpbmcsIG9yIHRoZSBuYW1l
IGxvb2stdXAKKy8vIG1hZ2ljIG5lZWRlZCBmb3IgaW1wbGVtZW50aW5nIFVuaXZlcnNhbFByaW50
ZXIgd29uJ3Qgd29yay4KK25hbWVzcGFjZSB0ZXN0aW5nX2ludGVybmFsIHsKIAotLy8gU2VsZWN0
IHRoZSBiZXN0IHByaW50ZXIgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjoKLS8vICAtIFByaW50IGNv
bnRhaW5lcnMgKHRoZXkgaGF2ZSBiZWdpbi9lbmQvZXRjKS4KLS8vICAtIFByaW50IGZ1bmN0aW9u
IHBvaW50ZXJzLgotLy8gIC0gUHJpbnQgb2JqZWN0IHBvaW50ZXJzLgotLy8gIC0gVXNlIHRoZSBz
dHJlYW0gb3BlcmF0b3IsIGlmIGF2YWlsYWJsZS4KLS8vICAtIFByaW50IHByb3RvY29sIGJ1ZmZl
cnMuCi0vLyAgLSBQcmludCB0eXBlcyBjb252ZXJ0aWJsZSB0byBCaWdnZXN0SW50LgotLy8gIC0g
UHJpbnQgdHlwZXMgY29udmVydGlibGUgdG8gU3RyaW5nVmlldywgaWYgYXZhaWxhYmxlLgotLy8g
IC0gRmFsbGJhY2sgdG8gcHJpbnRpbmcgdGhlIHJhdyBieXRlcyBvZiB0aGUgb2JqZWN0LgorLy8g
VXNlZCB0byBwcmludCBhIHZhbHVlIHRoYXQgaXMgbm90IGFuIFNUTC1zdHlsZSBjb250YWluZXIg
d2hlbiB0aGUKKy8vIHVzZXIgZG9lc24ndCBkZWZpbmUgUHJpbnRUbygpIGZvciBpdC4KIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPgotdm9pZCBQcmludFdpdGhGYWxsYmFjayhjb25zdCBUJiB2YWx1ZSwg
OjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gIHVzaW5nIFByaW50ZXIgPSB0eXBlbmFtZSBGaW5kRmly
c3RQcmludGVyPAotICAgICAgVCwgdm9pZCwgQ29udGFpbmVyUHJpbnRlciwgRnVuY3Rpb25Qb2lu
dGVyUHJpbnRlciwgUG9pbnRlclByaW50ZXIsCi0gICAgICBpbnRlcm5hbF9zdHJlYW1fb3BlcmF0
b3Jfd2l0aG91dF9sZXhpY2FsX25hbWVfbG9va3VwOjpTdHJlYW1QcmludGVyLAotICAgICAgUHJv
dG9idWZQcmludGVyLCBDb252ZXJ0aWJsZVRvSW50ZWdlclByaW50ZXIsCi0gICAgICBDb252ZXJ0
aWJsZVRvU3RyaW5nVmlld1ByaW50ZXIsIFJhd0J5dGVzUHJpbnRlciwgRmFsbGJhY2tQcmludGVy
Pjo6dHlwZTsKLSAgUHJpbnRlcjo6UHJpbnRWYWx1ZSh2YWx1ZSwgb3MpOwordm9pZCBEZWZhdWx0
UHJpbnROb25Db250YWluZXJUbyhjb25zdCBUJiB2YWx1ZSwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7
CisgIC8vIFdpdGggdGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQsIGR1cmluZyB1bnF1YWxpZmllZCBu
YW1lIGxvb2t1cCwKKyAgLy8gdGVzdGluZzo6aW50ZXJuYWwyOjpvcGVyYXRvcjw8IGFwcGVhcnMg
YXMgaWYgaXQgd2FzIGRlY2xhcmVkIGluCisgIC8vIHRoZSBuZWFyZXN0IGVuY2xvc2luZyBuYW1l
c3BhY2UgdGhhdCBjb250YWlucyBib3RoCisgIC8vIDo6dGVzdGluZ19pbnRlcm5hbCBhbmQgOjp0
ZXN0aW5nOjppbnRlcm5hbDIsIGkuZS4gdGhlIGdsb2JhbAorICAvLyBuYW1lc3BhY2UuICBGb3Ig
bW9yZSBkZXRhaWxzLCByZWZlciB0byB0aGUgQysrIFN0YW5kYXJkIHNlY3Rpb24KKyAgLy8gNy4z
LjQtMSBbbmFtZXNwYWNlLnVkaXJdLiAgVGhpcyBhbGxvd3MgdXMgdG8gZmFsbCBiYWNrIG9udG8K
KyAgLy8gdGVzdGluZzo6aW50ZXJuYWwyOjpvcGVyYXRvcjw8IGluIGNhc2UgVCBkb2Vzbid0IGNv
bWUgd2l0aCBhIDw8CisgIC8vIG9wZXJhdG9yLgorCisgIHVzaW5nIDo6dGVzdGluZzo6aW50ZXJu
YWwyOjpvcGVyYXRvcjw8OworCisgIC8vIEFzc3VtaW5nIFQgaXMgZGVmaW5lZCBpbiBuYW1lc3Bh
Y2UgZm9vLCBpbiB0aGUgbmV4dCBzdGF0ZW1lbnQsCisgIC8vIHRoZSBjb21waWxlciB3aWxsIGNv
bnNpZGVyIGFsbCBvZjoKKyAgLy8KKyAgLy8gICAxLiBmb286Om9wZXJhdG9yPDwgKHRoYW5rcyB0
byBLb2VuaWcgbG9vay11cCksCisgIC8vICAgMi4gOjpvcGVyYXRvcjw8IChhcyB0aGUgY3VycmVu
dCBuYW1lc3BhY2UgaXMgZW5jbG9zZWQgaW4gOjopLAorICAvLyAgIDMuIHRlc3Rpbmc6OmludGVy
bmFsMjo6b3BlcmF0b3I8PCAodGhhbmtzIHRvIHRoZSB1c2luZyBzdGF0ZW1lbnQgYWJvdmUpLgor
ICAvLworICAvLyBUaGUgb3BlcmF0b3I8PCB3aG9zZSB0eXBlIG1hdGNoZXMgVCBiZXN0IHdpbGwg
YmUgcGlja2VkLgorICAvLworICAvLyBXZSBkZWxpYmVyYXRlbHkgYWxsb3cgIzIgdG8gYmUgYSBj
YW5kaWRhdGUsIGFzIHNvbWV0aW1lcyBpdCdzCisgIC8vIGltcG9zc2libGUgdG8gZGVmaW5lICMx
IChlLmcuIHdoZW4gZm9vIGlzIDo6c3RkLCBkZWZpbmluZworICAvLyBhbnl0aGluZyBpbiBpdCBp
cyB1bmRlZmluZWQgYmVoYXZpb3IgdW5sZXNzIHlvdSBhcmUgYSBjb21waWxlcgorICAvLyB2ZW5k
b3IuKS4KKyAgKm9zIDw8IHZhbHVlOwogfQogCit9ICAvLyBuYW1lc3BhY2UgdGVzdGluZ19pbnRl
cm5hbAorCituYW1lc3BhY2UgdGVzdGluZyB7CituYW1lc3BhY2UgaW50ZXJuYWwgeworCiAvLyBG
b3JtYXRGb3JDb21wYXJpc29uPFRvUHJpbnQsIE90aGVyT3BlcmFuZD46OkZvcm1hdCh2YWx1ZSkg
Zm9ybWF0cyBhCiAvLyB2YWx1ZSBvZiB0eXBlIFRvUHJpbnQgdGhhdCBpcyBhbiBvcGVyYW5kIG9m
IGEgY29tcGFyaXNvbiBhc3NlcnRpb24KIC8vIChlLmcuIEFTU0VSVF9FUSkuICBPdGhlck9wZXJh
bmQgaXMgdGhlIHR5cGUgb2YgdGhlIG90aGVyIG9wZXJhbmQgaW4KQEAgLTM1OSwxNCArMzM5LDYg
QEAgR1RFU1RfSU1QTF9GT1JNQVRfQ19TVFJJTkdfQVNfUE9JTlRFUl8oY2hhcik7CiBHVEVTVF9J
TVBMX0ZPUk1BVF9DX1NUUklOR19BU19QT0lOVEVSXyhjb25zdCBjaGFyKTsKIEdURVNUX0lNUExf
Rk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfKHdjaGFyX3QpOwogR1RFU1RfSU1QTF9GT1JNQVRf
Q19TVFJJTkdfQVNfUE9JTlRFUl8oY29uc3Qgd2NoYXJfdCk7Ci0jaWZkZWYgX19jcHBfbGliX2No
YXI4X3QKLUdURVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfKGNoYXI4X3QpOwot
R1RFU1RfSU1QTF9GT1JNQVRfQ19TVFJJTkdfQVNfUE9JTlRFUl8oY29uc3QgY2hhcjhfdCk7Ci0j
ZW5kaWYKLUdURVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfKGNoYXIxNl90KTsK
LUdURVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfKGNvbnN0IGNoYXIxNl90KTsK
LUdURVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfKGNoYXIzMl90KTsKLUdURVNU
X0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfKGNvbnN0IGNoYXIzMl90KTsKIAogI3Vu
ZGVmIEdURVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfCiAKQEAgLTM3NCwyNCAr
MzQ2LDE2IEBAIEdURVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1BPSU5URVJfKGNvbnN0IGNo
YXIzMl90KTsKIC8vIHRvIHBvaW50IHRvIGEgTlVMLXRlcm1pbmF0ZWQgc3RyaW5nLCBhbmQgdGh1
cyBjYW4gcHJpbnQgaXQgYXMgYSBzdHJpbmcuCiAKICNkZWZpbmUgR1RFU1RfSU1QTF9GT1JNQVRf
Q19TVFJJTkdfQVNfU1RSSU5HXyhDaGFyVHlwZSwgT3RoZXJTdHJpbmdUeXBlKSBcCi0gIHRlbXBs
YXRlIDw+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBjbGFzcyBGb3JtYXRGb3JDb21wYXJpc29uPENoYXJUeXBlKiwgT3RoZXJT
dHJpbmdUeXBlPiB7ICAgICAgICAgICAgICAgIFwKLSAgIHB1YmxpYzogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3Rh
dGljIDo6c3RkOjpzdHJpbmcgRm9ybWF0KENoYXJUeXBlKiB2YWx1ZSkgeyAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgcmV0dXJuIDo6dGVzdGluZzo6UHJpbnRUb1N0cmluZyh2YWx1ZSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHRlbXBs
YXRlIDw+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgIGNsYXNzIEZvcm1hdEZvckNvbXBhcmlzb248Q2hhclR5cGUqLCBPdGhlclN0
cmluZ1R5cGU+IHsgICAgICAgICAgICAgICBcCisgICBwdWJsaWM6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3RhdGlj
IDo6c3RkOjpzdHJpbmcgRm9ybWF0KENoYXJUeXBlKiB2YWx1ZSkgeyAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICByZXR1cm4gOjp0ZXN0aW5nOjpQcmludFRvU3RyaW5nKHZhbHVlKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0KIAogR1RFU1Rf
SU1QTF9GT1JNQVRfQ19TVFJJTkdfQVNfU1RSSU5HXyhjaGFyLCA6OnN0ZDo6c3RyaW5nKTsKIEdU
RVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1NUUklOR18oY29uc3QgY2hhciwgOjpzdGQ6OnN0
cmluZyk7Ci0jaWZkZWYgX19jcHBfY2hhcjhfdAotR1RFU1RfSU1QTF9GT1JNQVRfQ19TVFJJTkdf
QVNfU1RSSU5HXyhjaGFyOF90LCA6OnN0ZDo6dThzdHJpbmcpOwotR1RFU1RfSU1QTF9GT1JNQVRf
Q19TVFJJTkdfQVNfU1RSSU5HXyhjb25zdCBjaGFyOF90LCA6OnN0ZDo6dThzdHJpbmcpOwotI2Vu
ZGlmCi1HVEVTVF9JTVBMX0ZPUk1BVF9DX1NUUklOR19BU19TVFJJTkdfKGNoYXIxNl90LCA6OnN0
ZDo6dTE2c3RyaW5nKTsKLUdURVNUX0lNUExfRk9STUFUX0NfU1RSSU5HX0FTX1NUUklOR18oY29u
c3QgY2hhcjE2X3QsIDo6c3RkOjp1MTZzdHJpbmcpOwotR1RFU1RfSU1QTF9GT1JNQVRfQ19TVFJJ
TkdfQVNfU1RSSU5HXyhjaGFyMzJfdCwgOjpzdGQ6OnUzMnN0cmluZyk7Ci1HVEVTVF9JTVBMX0ZP
Uk1BVF9DX1NUUklOR19BU19TVFJJTkdfKGNvbnN0IGNoYXIzMl90LCA6OnN0ZDo6dTMyc3RyaW5n
KTsKIAogI2lmIEdURVNUX0hBU19TVERfV1NUUklORwogR1RFU1RfSU1QTF9GT1JNQVRfQ19TVFJJ
TkdfQVNfU1RSSU5HXyh3Y2hhcl90LCA6OnN0ZDo6d3N0cmluZyk7CkBAIC00MDksOCArMzczLDgg
QEAgR1RFU1RfSU1QTF9GT1JNQVRfQ19TVFJJTkdfQVNfU1RSSU5HXyhjb25zdCB3Y2hhcl90LCA6
OnN0ZDo6d3N0cmluZyk7CiAvLwogLy8gSU5URVJOQUwgSU1QTEVNRU5UQVRJT04gLSBETyBOT1Qg
VVNFIElOIEEgVVNFUiBQUk9HUkFNLgogdGVtcGxhdGUgPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBU
Mj4KLXN0ZDo6c3RyaW5nIEZvcm1hdEZvckNvbXBhcmlzb25GYWlsdXJlTWVzc2FnZShjb25zdCBU
MSYgdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgVDImIC8qIG90aGVyX29wZXJhbmQgKi8pIHsKK3N0ZDo6c3RyaW5nIEZvcm1hdEZvckNv
bXBhcmlzb25GYWlsdXJlTWVzc2FnZSgKKyAgICBjb25zdCBUMSYgdmFsdWUsIGNvbnN0IFQyJiAv
KiBvdGhlcl9vcGVyYW5kICovKSB7CiAgIHJldHVybiBGb3JtYXRGb3JDb21wYXJpc29uPFQxLCBU
Mj46OkZvcm1hdCh2YWx1ZSk7CiB9CiAKQEAgLTQyNCw2ICszODgsODUgQEAgc3RkOjpzdHJpbmcg
Rm9ybWF0Rm9yQ29tcGFyaXNvbkZhaWx1cmVNZXNzYWdlKGNvbnN0IFQxJiB2YWx1ZSwKIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPgogY2xhc3MgVW5pdmVyc2FsUHJpbnRlcjsKIAordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+Cit2b2lkIFVuaXZlcnNhbFByaW50KGNvbnN0IFQmIHZhbHVlLCA6OnN0ZDo6b3N0
cmVhbSogb3MpOworCitlbnVtIERlZmF1bHRQcmludGVyVHlwZSB7CisgIGtQcmludENvbnRhaW5l
ciwKKyAga1ByaW50UG9pbnRlciwKKyAga1ByaW50RnVuY3Rpb25Qb2ludGVyLAorICBrUHJpbnRP
dGhlciwKK307Cit0ZW1wbGF0ZSA8RGVmYXVsdFByaW50ZXJUeXBlIHR5cGU+IHN0cnVjdCBXcmFw
UHJpbnRlclR5cGUge307CisKKy8vIFVzZWQgdG8gcHJpbnQgYW4gU1RMLXN0eWxlIGNvbnRhaW5l
ciB3aGVuIHRoZSB1c2VyIGRvZXNuJ3QgZGVmaW5lCisvLyBhIFByaW50VG8oKSBmb3IgaXQuCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgQz4KK3ZvaWQgRGVmYXVsdFByaW50VG8oV3JhcFByaW50ZXJUeXBl
PGtQcmludENvbnRhaW5lcj4gLyogZHVtbXkgKi8sCisgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEMmIGNvbnRhaW5lciwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7CisgIGNvbnN0IHNpemVfdCBrTWF4
Q291bnQgPSAzMjsgIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyB0byBwcmludC4K
KyAgKm9zIDw8ICd7JzsKKyAgc2l6ZV90IGNvdW50ID0gMDsKKyAgZm9yICh0eXBlbmFtZSBDOjpj
b25zdF9pdGVyYXRvciBpdCA9IGNvbnRhaW5lci5iZWdpbigpOworICAgICAgIGl0ICE9IGNvbnRh
aW5lci5lbmQoKTsgKytpdCwgKytjb3VudCkgeworICAgIGlmIChjb3VudCA+IDApIHsKKyAgICAg
ICpvcyA8PCAnLCc7CisgICAgICBpZiAoY291bnQgPT0ga01heENvdW50KSB7ICAvLyBFbm91Z2gg
aGFzIGJlZW4gcHJpbnRlZC4KKyAgICAgICAgKm9zIDw8ICIgLi4uIjsKKyAgICAgICAgYnJlYWs7
CisgICAgICB9CisgICAgfQorICAgICpvcyA8PCAnICc7CisgICAgLy8gV2UgY2Fubm90IGNhbGwg
UHJpbnRUbygqaXQsIG9zKSBoZXJlIGFzIFByaW50VG8oKSBkb2Vzbid0CisgICAgLy8gaGFuZGxl
ICppdCBiZWluZyBhIG5hdGl2ZSBhcnJheS4KKyAgICBpbnRlcm5hbDo6VW5pdmVyc2FsUHJpbnQo
Kml0LCBvcyk7CisgIH0KKworICBpZiAoY291bnQgPiAwKSB7CisgICAgKm9zIDw8ICcgJzsKKyAg
fQorICAqb3MgPDwgJ30nOworfQorCisvLyBVc2VkIHRvIHByaW50IGEgcG9pbnRlciB0aGF0IGlz
IG5laXRoZXIgYSBjaGFyIHBvaW50ZXIgbm9yIGEgbWVtYmVyCisvLyBwb2ludGVyLCB3aGVuIHRo
ZSB1c2VyIGRvZXNuJ3QgZGVmaW5lIFByaW50VG8oKSBmb3IgaXQuICAoQSBtZW1iZXIKKy8vIHZh
cmlhYmxlIHBvaW50ZXIgb3IgbWVtYmVyIGZ1bmN0aW9uIHBvaW50ZXIgZG9lc24ndCByZWFsbHkg
cG9pbnQgdG8KKy8vIGEgbG9jYXRpb24gaW4gdGhlIGFkZHJlc3Mgc3BhY2UuICBUaGVpciByZXBy
ZXNlbnRhdGlvbiBpcworLy8gaW1wbGVtZW50YXRpb24tZGVmaW5lZC4gIFRoZXJlZm9yZSB0aGV5
IHdpbGwgYmUgcHJpbnRlZCBhcyByYXcKKy8vIGJ5dGVzLikKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
Pgordm9pZCBEZWZhdWx0UHJpbnRUbyhXcmFwUHJpbnRlclR5cGU8a1ByaW50UG9pbnRlcj4gLyog
ZHVtbXkgKi8sCisgICAgICAgICAgICAgICAgICAgIFQqIHAsIDo6c3RkOjpvc3RyZWFtKiBvcykg
eworICBpZiAocCA9PSBudWxscHRyKSB7CisgICAgKm9zIDw8ICJOVUxMIjsKKyAgfSBlbHNlIHsK
KyAgICAvLyBUIGlzIG5vdCBhIGZ1bmN0aW9uIHR5cGUuICBXZSBqdXN0IGNhbGwgPDwgdG8gcHJp
bnQgcCwKKyAgICAvLyByZWx5aW5nIG9uIEFETCB0byBwaWNrIHVwIHVzZXItZGVmaW5lZCA8PCBm
b3IgdGhlaXIgcG9pbnRlcgorICAgIC8vIHR5cGVzLCBpZiBhbnkuCisgICAgKm9zIDw8IHA7Cisg
IH0KK30KK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBEZWZhdWx0UHJpbnRUbyhXcmFwUHJp
bnRlclR5cGU8a1ByaW50RnVuY3Rpb25Qb2ludGVyPiAvKiBkdW1teSAqLywKKyAgICAgICAgICAg
ICAgICAgICAgVCogcCwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7CisgIGlmIChwID09IG51bGxwdHIp
IHsKKyAgICAqb3MgPDwgIk5VTEwiOworICB9IGVsc2UgeworICAgIC8vIFQgaXMgYSBmdW5jdGlv
biB0eXBlLCBzbyAnKm9zIDw8IHAnIGRvZXNuJ3QgZG8gd2hhdCB3ZSB3YW50CisgICAgLy8gKGl0
IGp1c3QgcHJpbnRzIHAgYXMgYm9vbCkuICBXZSB3YW50IHRvIHByaW50IHAgYXMgYSBjb25zdAor
ICAgIC8vIHZvaWQqLgorICAgICpvcyA8PCByZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPihw
KTsKKyAgfQorfQorCisvLyBVc2VkIHRvIHByaW50IGEgbm9uLWNvbnRhaW5lciwgbm9uLXBvaW50
ZXIgdmFsdWUgd2hlbiB0aGUgdXNlcgorLy8gZG9lc24ndCBkZWZpbmUgUHJpbnRUbygpIGZvciBp
dC4KK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBEZWZhdWx0UHJpbnRUbyhXcmFwUHJpbnRl
clR5cGU8a1ByaW50T3RoZXI+IC8qIGR1bW15ICovLAorICAgICAgICAgICAgICAgICAgICBjb25z
dCBUJiB2YWx1ZSwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7CisgIDo6dGVzdGluZ19pbnRlcm5hbDo6
RGVmYXVsdFByaW50Tm9uQ29udGFpbmVyVG8odmFsdWUsIG9zKTsKK30KKwogLy8gUHJpbnRzIHRo
ZSBnaXZlbiB2YWx1ZSB1c2luZyB0aGUgPDwgb3BlcmF0b3IgaWYgaXQgaGFzIG9uZTsKIC8vIG90
aGVyd2lzZSBwcmludHMgdGhlIGJ5dGVzIGluIGl0LiAgVGhpcyBpcyB3aGF0CiAvLyBVbml2ZXJz
YWxQcmludGVyPFQ+OjpQcmludCgpIGRvZXMgd2hlbiBQcmludFRvKCkgaXMgbm90IHNwZWNpYWxp
emVkCkBAIC00MzcsNyArNDgwLDM2IEBAIGNsYXNzIFVuaXZlcnNhbFByaW50ZXI7CiAvLyB3YW50
cykuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIHZvaWQgUHJpbnRUbyhjb25zdCBUJiB2YWx1ZSwg
OjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gIGludGVybmFsOjpQcmludFdpdGhGYWxsYmFjayh2YWx1
ZSwgb3MpOworICAvLyBEZWZhdWx0UHJpbnRUbygpIGlzIG92ZXJsb2FkZWQuICBUaGUgdHlwZSBv
ZiBpdHMgZmlyc3QgYXJndW1lbnQKKyAgLy8gZGV0ZXJtaW5lcyB3aGljaCB2ZXJzaW9uIHdpbGwg
YmUgcGlja2VkLgorICAvLworICAvLyBOb3RlIHRoYXQgd2UgY2hlY2sgZm9yIGNvbnRhaW5lciB0
eXBlcyBoZXJlLCBwcmlvciB0byB3ZSBjaGVjaworICAvLyBmb3IgcHJvdG9jb2wgbWVzc2FnZSB0
eXBlcyBpbiBvdXIgb3BlcmF0b3I8PC4gIFRoZSByYXRpb25hbGUgaXM6CisgIC8vCisgIC8vIEZv
ciBwcm90b2NvbCBtZXNzYWdlcywgd2Ugd2FudCB0byBnaXZlIHBlb3BsZSBhIGNoYW5jZSB0bwor
ICAvLyBvdmVycmlkZSBHb29nbGUgTW9jaydzIGZvcm1hdCBieSBkZWZpbmluZyBhIFByaW50VG8o
KSBvcgorICAvLyBvcGVyYXRvcjw8LiAgRm9yIFNUTCBjb250YWluZXJzLCBvdGhlciBmb3JtYXRz
IGNhbiBiZQorICAvLyBpbmNvbXBhdGlibGUgd2l0aCBHb29nbGUgTW9jaydzIGZvcm1hdCBmb3Ig
dGhlIGNvbnRhaW5lcgorICAvLyBlbGVtZW50czsgdGhlcmVmb3JlIHdlIGNoZWNrIGZvciBjb250
YWluZXIgdHlwZXMgaGVyZSB0byBlbnN1cmUKKyAgLy8gdGhhdCBvdXIgZm9ybWF0IGlzIHVzZWQu
CisgIC8vCisgIC8vIE5vdGUgdGhhdCBNU1ZDIGFuZCBjbGFuZy1jbCBkbyBhbGxvdyBhbiBpbXBs
aWNpdCBjb252ZXJzaW9uIGZyb20KKyAgLy8gcG9pbnRlci10by1mdW5jdGlvbiB0byBwb2ludGVy
LXRvLW9iamVjdCwgYnV0IGNsYW5nLWNsIHdhcm5zIG9uIGl0LgorICAvLyBTbyBkb24ndCB1c2Ug
SW1wbGljaXRseUNvbnZlcnRpYmxlIGlmIGl0IGNhbiBiZSBoZWxwZWQgc2luY2UgaXQgd2lsbAor
ICAvLyBjYXVzZSB0aGlzIHdhcm5pbmcsIGFuZCB1c2UgYSBzZXBhcmF0ZSBvdmVybG9hZCBvZiBE
ZWZhdWx0UHJpbnRUbyBmb3IKKyAgLy8gZnVuY3Rpb24gcG9pbnRlcnMgc28gdGhhdCB0aGUgYCpv
cyA8PCBwYCBpbiB0aGUgb2JqZWN0IHBvaW50ZXIgb3ZlcmxvYWQKKyAgLy8gZG9lc24ndCBjYXVz
ZSB0aGF0IHdhcm5pbmcgZWl0aGVyLgorICBEZWZhdWx0UHJpbnRUbygKKyAgICAgIFdyYXBQcmlu
dGVyVHlwZSA8CisgICAgICAgICAgICAgICAgICAoc2l6ZW9mKElzQ29udGFpbmVyVGVzdDxUPigw
KSkgPT0gc2l6ZW9mKElzQ29udGFpbmVyKSkgJiYKKyAgICAgICAgICAgICAgIUlzUmVjdXJzaXZl
Q29udGFpbmVyPFQ+Ojp2YWx1ZQorICAgICAgICAgID8ga1ByaW50Q29udGFpbmVyCisgICAgICAg
ICAgOiAhc3RkOjppc19wb2ludGVyPFQ+Ojp2YWx1ZQorICAgICAgICAgICAgICAgID8ga1ByaW50
T3RoZXIKKyAgICAgICAgICAgICAgICA6IHN0ZDo6aXNfZnVuY3Rpb248dHlwZW5hbWUgc3RkOjpy
ZW1vdmVfcG9pbnRlcjxUPjo6dHlwZT46OnZhbHVlCisgICAgICAgICAgICAgICAgICAgICAgPyBr
UHJpbnRGdW5jdGlvblBvaW50ZXIKKyAgICAgICAgICAgICAgICAgICAgICA6IGtQcmludFBvaW50
ZXIgPiAoKSwKKyAgICAgIHZhbHVlLCBvcyk7CiB9CiAKIC8vIFRoZSBmb2xsb3dpbmcgbGlzdCBv
ZiBQcmludFRvKCkgb3ZlcmxvYWRzIHRlbGxzCkBAIC00NjgsMjIgKzU0MCw2IEBAIGlubGluZSB2
b2lkIFByaW50VG8oYm9vbCB4LCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKIC8vIGlzIGltcGxlbWVu
dGVkIGFzIGFuIHVuc2lnbmVkIHR5cGUuCiBHVEVTVF9BUElfIHZvaWQgUHJpbnRUbyh3Y2hhcl90
IHdjLCA6OnN0ZDo6b3N0cmVhbSogb3MpOwogCi1HVEVTVF9BUElfIHZvaWQgUHJpbnRUbyhjaGFy
MzJfdCBjLCA6OnN0ZDo6b3N0cmVhbSogb3MpOwotaW5saW5lIHZvaWQgUHJpbnRUbyhjaGFyMTZf
dCBjLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKLSAgUHJpbnRUbyhJbXBsaWNpdENhc3RfPGNoYXIz
Ml90PihjKSwgb3MpOwotfQotI2lmZGVmIF9fY3BwX2NoYXI4X3QKLWlubGluZSB2b2lkIFByaW50
VG8oY2hhcjhfdCBjLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKLSAgUHJpbnRUbyhJbXBsaWNpdENh
c3RfPGNoYXIzMl90PihjKSwgb3MpOwotfQotI2VuZGlmCi0KLS8vIGdjYy9jbGFuZyBfX3t1LH1p
bnQxMjhfdAotI2lmIGRlZmluZWQoX19TSVpFT0ZfSU5UMTI4X18pCi1HVEVTVF9BUElfIHZvaWQg
UHJpbnRUbyhfX3VpbnQxMjhfdCB2LCA6OnN0ZDo6b3N0cmVhbSogb3MpOwotR1RFU1RfQVBJXyB2
b2lkIFByaW50VG8oX19pbnQxMjhfdCB2LCA6OnN0ZDo6b3N0cmVhbSogb3MpOwotI2VuZGlmICAv
LyBfX1NJWkVPRl9JTlQxMjhfXwotCiAvLyBPdmVybG9hZHMgZm9yIEMgc3RyaW5ncy4KIEdURVNU
X0FQSV8gdm9pZCBQcmludFRvKGNvbnN0IGNoYXIqIHMsIDo6c3RkOjpvc3RyZWFtKiBvcyk7CiBp
bmxpbmUgdm9pZCBQcmludFRvKGNoYXIqIHMsIDo6c3RkOjpvc3RyZWFtKiBvcykgewpAQCAtNTA0
LDIzICs1NjAsNiBAQCBpbmxpbmUgdm9pZCBQcmludFRvKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHMs
IDo6c3RkOjpvc3RyZWFtKiBvcykgewogaW5saW5lIHZvaWQgUHJpbnRUbyh1bnNpZ25lZCBjaGFy
KiBzLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKICAgUHJpbnRUbyhJbXBsaWNpdENhc3RfPGNvbnN0
IHZvaWQqPihzKSwgb3MpOwogfQotI2lmZGVmIF9fY3BwX2NoYXI4X3QKLS8vIE92ZXJsb2FkcyBm
b3IgdTggc3RyaW5ncy4KLUdURVNUX0FQSV8gdm9pZCBQcmludFRvKGNvbnN0IGNoYXI4X3QqIHMs
IDo6c3RkOjpvc3RyZWFtKiBvcyk7Ci1pbmxpbmUgdm9pZCBQcmludFRvKGNoYXI4X3QqIHMsIDo6
c3RkOjpvc3RyZWFtKiBvcykgewotICBQcmludFRvKEltcGxpY2l0Q2FzdF88Y29uc3QgY2hhcjhf
dCo+KHMpLCBvcyk7Ci19Ci0jZW5kaWYKLS8vIE92ZXJsb2FkcyBmb3IgdTE2IHN0cmluZ3MuCi1H
VEVTVF9BUElfIHZvaWQgUHJpbnRUbyhjb25zdCBjaGFyMTZfdCogcywgOjpzdGQ6Om9zdHJlYW0q
IG9zKTsKLWlubGluZSB2b2lkIFByaW50VG8oY2hhcjE2X3QqIHMsIDo6c3RkOjpvc3RyZWFtKiBv
cykgewotICBQcmludFRvKEltcGxpY2l0Q2FzdF88Y29uc3QgY2hhcjE2X3QqPihzKSwgb3MpOwot
fQotLy8gT3ZlcmxvYWRzIGZvciB1MzIgc3RyaW5ncy4KLUdURVNUX0FQSV8gdm9pZCBQcmludFRv
KGNvbnN0IGNoYXIzMl90KiBzLCA6OnN0ZDo6b3N0cmVhbSogb3MpOwotaW5saW5lIHZvaWQgUHJp
bnRUbyhjaGFyMzJfdCogcywgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gIFByaW50VG8oSW1wbGlj
aXRDYXN0Xzxjb25zdCBjaGFyMzJfdCo+KHMpLCBvcyk7Ci19CiAKIC8vIE1TVkMgY2FuIGJlIGNv
bmZpZ3VyZWQgdG8gZGVmaW5lIHdjaGFyX3QgYXMgYSB0eXBlZGVmIG9mIHVuc2lnbmVkCiAvLyBz
aG9ydC4gIEl0IGRlZmluZXMgX05BVElWRV9XQ0hBUl9UX0RFRklORUQgd2hlbiB3Y2hhcl90IGlz
IGEgbmF0aXZlCkBAIC01NTAsMzQgKzU4OSwxNCBAQCB2b2lkIFByaW50UmF3QXJyYXlUbyhjb25z
dCBUIGFbXSwgc2l6ZV90IGNvdW50LCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKIH0KIAogLy8gT3Zl
cmxvYWRzIGZvciA6OnN0ZDo6c3RyaW5nLgotR1RFU1RfQVBJXyB2b2lkIFByaW50U3RyaW5nVG8o
Y29uc3QgOjpzdGQ6OnN0cmluZyYgcywgOjpzdGQ6Om9zdHJlYW0qIG9zKTsKK0dURVNUX0FQSV8g
dm9pZCBQcmludFN0cmluZ1RvKGNvbnN0IDo6c3RkOjpzdHJpbmcmcywgOjpzdGQ6Om9zdHJlYW0q
IG9zKTsKIGlubGluZSB2b2lkIFByaW50VG8oY29uc3QgOjpzdGQ6OnN0cmluZyYgcywgOjpzdGQ6
Om9zdHJlYW0qIG9zKSB7CiAgIFByaW50U3RyaW5nVG8ocywgb3MpOwogfQogCi0vLyBPdmVybG9h
ZHMgZm9yIDo6c3RkOjp1OHN0cmluZwotI2lmZGVmIF9fY3BwX2NoYXI4X3QKLUdURVNUX0FQSV8g
dm9pZCBQcmludFU4U3RyaW5nVG8oY29uc3QgOjpzdGQ6OnU4c3RyaW5nJiBzLCA6OnN0ZDo6b3N0
cmVhbSogb3MpOwotaW5saW5lIHZvaWQgUHJpbnRUbyhjb25zdCA6OnN0ZDo6dThzdHJpbmcmIHMs
IDo6c3RkOjpvc3RyZWFtKiBvcykgewotICBQcmludFU4U3RyaW5nVG8ocywgb3MpOwotfQotI2Vu
ZGlmCi0KLS8vIE92ZXJsb2FkcyBmb3IgOjpzdGQ6OnUxNnN0cmluZwotR1RFU1RfQVBJXyB2b2lk
IFByaW50VTE2U3RyaW5nVG8oY29uc3QgOjpzdGQ6OnUxNnN0cmluZyYgcywgOjpzdGQ6Om9zdHJl
YW0qIG9zKTsKLWlubGluZSB2b2lkIFByaW50VG8oY29uc3QgOjpzdGQ6OnUxNnN0cmluZyYgcywg
OjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gIFByaW50VTE2U3RyaW5nVG8ocywgb3MpOwotfQotCi0v
LyBPdmVybG9hZHMgZm9yIDo6c3RkOjp1MzJzdHJpbmcKLUdURVNUX0FQSV8gdm9pZCBQcmludFUz
MlN0cmluZ1RvKGNvbnN0IDo6c3RkOjp1MzJzdHJpbmcmIHMsIDo6c3RkOjpvc3RyZWFtKiBvcyk7
Ci1pbmxpbmUgdm9pZCBQcmludFRvKGNvbnN0IDo6c3RkOjp1MzJzdHJpbmcmIHMsIDo6c3RkOjpv
c3RyZWFtKiBvcykgewotICBQcmludFUzMlN0cmluZ1RvKHMsIG9zKTsKLX0KLQogLy8gT3Zlcmxv
YWRzIGZvciA6OnN0ZDo6d3N0cmluZy4KICNpZiBHVEVTVF9IQVNfU1REX1dTVFJJTkcKLUdURVNU
X0FQSV8gdm9pZCBQcmludFdpZGVTdHJpbmdUbyhjb25zdCA6OnN0ZDo6d3N0cmluZyYgcywgOjpz
dGQ6Om9zdHJlYW0qIG9zKTsKK0dURVNUX0FQSV8gdm9pZCBQcmludFdpZGVTdHJpbmdUbyhjb25z
dCA6OnN0ZDo6d3N0cmluZyZzLCA6OnN0ZDo6b3N0cmVhbSogb3MpOwogaW5saW5lIHZvaWQgUHJp
bnRUbyhjb25zdCA6OnN0ZDo6d3N0cmluZyYgcywgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7CiAgIFBy
aW50V2lkZVN0cmluZ1RvKHMsIG9zKTsKIH0KQEAgLTU5Miw1NCArNjExLDExIEBAIGlubGluZSB2
b2lkIFByaW50VG8oaW50ZXJuYWw6OlN0cmluZ1ZpZXcgc3AsIDo6c3RkOjpvc3RyZWFtKiBvcykg
ewogCiBpbmxpbmUgdm9pZCBQcmludFRvKHN0ZDo6bnVsbHB0cl90LCA6OnN0ZDo6b3N0cmVhbSog
b3MpIHsgKm9zIDw8ICIobnVsbHB0cikiOyB9CiAKLSNpZiBHVEVTVF9IQVNfUlRUSQotaW5saW5l
IHZvaWQgUHJpbnRUbyhjb25zdCBzdGQ6OnR5cGVfaW5mbyYgaW5mbywgc3RkOjpvc3RyZWFtKiBv
cykgewotICAqb3MgPDwgaW50ZXJuYWw6OkdldFR5cGVOYW1lKGluZm8pOwotfQotI2VuZGlmICAv
LyBHVEVTVF9IQVNfUlRUSQotCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIHZvaWQgUHJpbnRUbyhz
dGQ6OnJlZmVyZW5jZV93cmFwcGVyPFQ+IHJlZiwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7CiAgIFVu
aXZlcnNhbFByaW50ZXI8VCY+OjpQcmludChyZWYuZ2V0KCksIG9zKTsKIH0KIAotaW5saW5lIGNv
bnN0IHZvaWQqIFZvaWRpZnlQb2ludGVyKGNvbnN0IHZvaWQqIHApIHsgcmV0dXJuIHA7IH0KLWlu
bGluZSBjb25zdCB2b2lkKiBWb2lkaWZ5UG9pbnRlcih2b2xhdGlsZSBjb25zdCB2b2lkKiBwKSB7
Ci0gIHJldHVybiBjb25zdF9jYXN0PGNvbnN0IHZvaWQqPihwKTsKLX0KLQotdGVtcGxhdGUgPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFB0cj4KLXZvaWQgUHJpbnRTbWFydFBvaW50ZXIoY29uc3QgUHRy
JiBwdHIsIHN0ZDo6b3N0cmVhbSogb3MsIGNoYXIpIHsKLSAgaWYgKHB0ciA9PSBudWxscHRyKSB7
Ci0gICAgKm9zIDw8ICIobnVsbHB0cikiOwotICB9IGVsc2UgewotICAgIC8vIFdlIGNhbid0IHBy
aW50IHRoZSB2YWx1ZS4gSnVzdCBwcmludCB0aGUgcG9pbnRlci4uCi0gICAgKm9zIDw8ICIoIiA8
PCAoVm9pZGlmeVBvaW50ZXIpKHB0ci5nZXQoKSkgPDwgIikiOwotICB9Ci19Ci10ZW1wbGF0ZSA8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgUHRyLAotICAgICAgICAgIHR5cGVuYW1lID0gdHlwZW5hbWUg
c3RkOjplbmFibGVfaWY8IXN0ZDo6aXNfdm9pZDxUPjo6dmFsdWUgJiYKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFzdGQ6OmlzX2FycmF5PFQ+Ojp2YWx1ZT46
OnR5cGU+Ci12b2lkIFByaW50U21hcnRQb2ludGVyKGNvbnN0IFB0ciYgcHRyLCBzdGQ6Om9zdHJl
YW0qIG9zLCBpbnQpIHsKLSAgaWYgKHB0ciA9PSBudWxscHRyKSB7Ci0gICAgKm9zIDw8ICIobnVs
bHB0cikiOwotICB9IGVsc2UgewotICAgICpvcyA8PCAiKHB0ciA9ICIgPDwgKFZvaWRpZnlQb2lu
dGVyKShwdHIuZ2V0KCkpIDw8ICIsIHZhbHVlID0gIjsKLSAgICBVbml2ZXJzYWxQcmludGVyPFQ+
OjpQcmludCgqcHRyLCBvcyk7Ci0gICAgKm9zIDw8ICIpIjsKLSAgfQotfQotCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgRD4KLXZvaWQgUHJpbnRUbyhjb25zdCBzdGQ6OnVuaXF1ZV9w
dHI8VCwgRD4mIHB0ciwgc3RkOjpvc3RyZWFtKiBvcykgewotICAoUHJpbnRTbWFydFBvaW50ZXI8
VD4pKHB0ciwgb3MsIDApOwotfQotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLXZvaWQgUHJpbnRU
byhjb25zdCBzdGQ6OnNoYXJlZF9wdHI8VD4mIHB0ciwgc3RkOjpvc3RyZWFtKiBvcykgewotICAo
UHJpbnRTbWFydFBvaW50ZXI8VD4pKHB0ciwgb3MsIDApOwotfQotCiAvLyBIZWxwZXIgZnVuY3Rp
b24gZm9yIHByaW50aW5nIGEgdHVwbGUuICBUIG11c3QgYmUgaW5zdGFudGlhdGVkIHdpdGgKIC8v
IGEgdHVwbGUgdHlwZS4KIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNzA1LDQ2ICs2ODEsMTQg
QEAgY2xhc3MgVW5pdmVyc2FsUHJpbnRlciB7CiAgIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdT
X1BPUF8oKQogfTsKIAotLy8gUmVtb3ZlIGFueSBjb25zdC1xdWFsaWZpZXJzIGJlZm9yZSBwYXNz
aW5nIGEgdHlwZSB0byBVbml2ZXJzYWxQcmludGVyLgotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1j
bGFzcyBVbml2ZXJzYWxQcmludGVyPGNvbnN0IFQ+IDogcHVibGljIFVuaXZlcnNhbFByaW50ZXI8
VD4ge307Ci0KLSNpZiBHVEVTVF9JTlRFUk5BTF9IQVNfQU5ZCi0KLS8vIFByaW50ZXIgZm9yIHN0
ZDo6YW55IC8gYWJzbDo6YW55Ci0KLXRlbXBsYXRlIDw+Ci1jbGFzcyBVbml2ZXJzYWxQcmludGVy
PEFueT4gewotIHB1YmxpYzoKLSAgc3RhdGljIHZvaWQgUHJpbnQoY29uc3QgQW55JiB2YWx1ZSwg
OjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gICAgaWYgKHZhbHVlLmhhc192YWx1ZSgpKSB7Ci0gICAg
ICAqb3MgPDwgInZhbHVlIG9mIHR5cGUgIiA8PCBHZXRUeXBlTmFtZSh2YWx1ZSk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICpvcyA8PCAibm8gdmFsdWUiOwotICAgIH0KLSAgfQotCi0gcHJpdmF0ZToK
LSAgc3RhdGljIHN0ZDo6c3RyaW5nIEdldFR5cGVOYW1lKGNvbnN0IEFueSYgdmFsdWUpIHsKLSNp
ZiBHVEVTVF9IQVNfUlRUSQotICAgIHJldHVybiBpbnRlcm5hbDo6R2V0VHlwZU5hbWUodmFsdWUu
dHlwZSgpKTsKLSNlbHNlCi0gICAgc3RhdGljX2Nhc3Q8dm9pZD4odmFsdWUpOyAgLy8gcG9zc2li
bHkgdW51c2VkCi0gICAgcmV0dXJuICI8dW5rbm93bl90eXBlPiI7Ci0jZW5kaWYgIC8vIEdURVNU
X0hBU19SVFRJCi0gIH0KLX07Ci0KLSNlbmRpZiAgLy8gR1RFU1RfSU5URVJOQUxfSEFTX0FOWQot
Ci0jaWYgR1RFU1RfSU5URVJOQUxfSEFTX09QVElPTkFMCisjaWYgR1RFU1RfSEFTX0FCU0wKIAot
Ly8gUHJpbnRlciBmb3Igc3RkOjpvcHRpb25hbCAvIGFic2w6Om9wdGlvbmFsCisvLyBQcmludGVy
IGZvciBhYnNsOjpvcHRpb25hbAogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIFVuaXZl
cnNhbFByaW50ZXI8T3B0aW9uYWw8VD4+IHsKK2NsYXNzIFVuaXZlcnNhbFByaW50ZXI8OjphYnNs
OjpvcHRpb25hbDxUPj4gewogIHB1YmxpYzoKLSAgc3RhdGljIHZvaWQgUHJpbnQoY29uc3QgT3B0
aW9uYWw8VD4mIHZhbHVlLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKKyAgc3RhdGljIHZvaWQgUHJp
bnQoY29uc3QgOjphYnNsOjpvcHRpb25hbDxUPiYgdmFsdWUsIDo6c3RkOjpvc3RyZWFtKiBvcykg
ewogICAgICpvcyA8PCAnKCc7CiAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgKm9zIDw8ICJudWxs
b3B0IjsKQEAgLTc1NSwzMCArNjk5LDE0IEBAIGNsYXNzIFVuaXZlcnNhbFByaW50ZXI8T3B0aW9u
YWw8VD4+IHsKICAgfQogfTsKIAotdGVtcGxhdGUgPD4KLWNsYXNzIFVuaXZlcnNhbFByaW50ZXI8
ZGVjbHR5cGUoTnVsbG9wdCgpKT4gewotIHB1YmxpYzoKLSAgc3RhdGljIHZvaWQgUHJpbnQoZGVj
bHR5cGUoTnVsbG9wdCgpKSwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gICAgKm9zIDw8ICIobnVs
bG9wdCkiOwotICB9Ci19OwotCi0jZW5kaWYgIC8vIEdURVNUX0lOVEVSTkFMX0hBU19PUFRJT05B
TAotCi0jaWYgR1RFU1RfSU5URVJOQUxfSEFTX1ZBUklBTlQKLQotLy8gUHJpbnRlciBmb3Igc3Rk
Ojp2YXJpYW50IC8gYWJzbDo6dmFyaWFudAorLy8gUHJpbnRlciBmb3IgYWJzbDo6dmFyaWFudAog
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gVD4KLWNsYXNzIFVuaXZlcnNhbFByaW50ZXI8VmFyaWFu
dDxULi4uPj4geworY2xhc3MgVW5pdmVyc2FsUHJpbnRlcjw6OmFic2w6OnZhcmlhbnQ8VC4uLj4+
IHsKICBwdWJsaWM6Ci0gIHN0YXRpYyB2b2lkIFByaW50KGNvbnN0IFZhcmlhbnQ8VC4uLj4mIHZh
bHVlLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKKyAgc3RhdGljIHZvaWQgUHJpbnQoY29uc3QgOjph
YnNsOjp2YXJpYW50PFQuLi4+JiB2YWx1ZSwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7CiAgICAgKm9z
IDw8ICcoJzsKLSNpZiBHVEVTVF9IQVNfQUJTTAotICAgIGFic2w6OnZpc2l0KFZpc2l0b3J7b3Ms
IHZhbHVlLmluZGV4KCl9LCB2YWx1ZSk7Ci0jZWxzZQotICAgIHN0ZDo6dmlzaXQoVmlzaXRvcntv
cywgdmFsdWUuaW5kZXgoKX0sIHZhbHVlKTsKLSNlbmRpZiAgLy8gR1RFU1RfSEFTX0FCU0wKKyAg
ICBhYnNsOjp2aXNpdChWaXNpdG9ye29zfSwgdmFsdWUpOwogICAgICpvcyA8PCAnKSc7CiAgIH0K
IApAQCAtNzg2LDE2ICs3MTQsMTQgQEAgY2xhc3MgVW5pdmVyc2FsUHJpbnRlcjxWYXJpYW50PFQu
Li4+PiB7CiAgIHN0cnVjdCBWaXNpdG9yIHsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4KICAg
ICB2b2lkIG9wZXJhdG9yKCkoY29uc3QgVSYgdSkgY29uc3QgewotICAgICAgKm9zIDw8ICInIiA8
PCBHZXRUeXBlTmFtZTxVPigpIDw8ICIoaW5kZXggPSAiIDw8IGluZGV4Ci0gICAgICAgICAgPDwg
IiknIHdpdGggdmFsdWUgIjsKKyAgICAgICpvcyA8PCAiJyIgPDwgR2V0VHlwZU5hbWU8VT4oKSA8
PCAiJyB3aXRoIHZhbHVlICI7CiAgICAgICBVbml2ZXJzYWxQcmludCh1LCBvcyk7CiAgICAgfQog
ICAgIDo6c3RkOjpvc3RyZWFtKiBvczsKLSAgICBzdGQ6OnNpemVfdCBpbmRleDsKICAgfTsKIH07
CiAKLSNlbmRpZiAgLy8gR1RFU1RfSU5URVJOQUxfSEFTX1ZBUklBTlQKKyNlbmRpZiAgLy8gR1RF
U1RfSEFTX0FCU0wKIAogLy8gVW5pdmVyc2FsUHJpbnRBcnJheShiZWdpbiwgbGVuLCBvcykgcHJp
bnRzIGFuIGFycmF5IG9mICdsZW4nCiAvLyBlbGVtZW50cywgc3RhcnRpbmcgYXQgYWRkcmVzcyAn
YmVnaW4nLgpAQCAtODIxLDI2ICs3NDcsMTIgQEAgdm9pZCBVbml2ZXJzYWxQcmludEFycmF5KGNv
bnN0IFQqIGJlZ2luLCBzaXplX3QgbGVuLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKICAgfQogfQog
Ly8gVGhpcyBvdmVybG9hZCBwcmludHMgYSAoY29uc3QpIGNoYXIgYXJyYXkgY29tcGFjdGx5Lgot
R1RFU1RfQVBJXyB2b2lkIFVuaXZlcnNhbFByaW50QXJyYXkoY29uc3QgY2hhciogYmVnaW4sIHNp
emVfdCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OnN0ZDo6b3N0
cmVhbSogb3MpOwotCi0jaWZkZWYgX19jcHBfY2hhcjhfdAotLy8gVGhpcyBvdmVybG9hZCBwcmlu
dHMgYSAoY29uc3QpIGNoYXI4X3QgYXJyYXkgY29tcGFjdGx5LgotR1RFU1RfQVBJXyB2b2lkIFVu
aXZlcnNhbFByaW50QXJyYXkoY29uc3QgY2hhcjhfdCogYmVnaW4sIHNpemVfdCBsZW4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OnN0ZDo6b3N0cmVhbSogb3MpOwotI2Vu
ZGlmCi0KLS8vIFRoaXMgb3ZlcmxvYWQgcHJpbnRzIGEgKGNvbnN0KSBjaGFyMTZfdCBhcnJheSBj
b21wYWN0bHkuCi1HVEVTVF9BUElfIHZvaWQgVW5pdmVyc2FsUHJpbnRBcnJheShjb25zdCBjaGFy
MTZfdCogYmVnaW4sIHNpemVfdCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OnN0ZDo6b3N0cmVhbSogb3MpOwotCi0vLyBUaGlzIG92ZXJsb2FkIHByaW50cyBhIChj
b25zdCkgY2hhcjMyX3QgYXJyYXkgY29tcGFjdGx5LgotR1RFU1RfQVBJXyB2b2lkIFVuaXZlcnNh
bFByaW50QXJyYXkoY29uc3QgY2hhcjMyX3QqIGJlZ2luLCBzaXplX3QgbGVuLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjpzdGQ6Om9zdHJlYW0qIG9zKTsKK0dURVNUX0FQ
SV8gdm9pZCBVbml2ZXJzYWxQcmludEFycmF5KAorICAgIGNvbnN0IGNoYXIqIGJlZ2luLCBzaXpl
X3QgbGVuLCA6OnN0ZDo6b3N0cmVhbSogb3MpOwogCiAvLyBUaGlzIG92ZXJsb2FkIHByaW50cyBh
IChjb25zdCkgd2NoYXJfdCBhcnJheSBjb21wYWN0bHkuCi1HVEVTVF9BUElfIHZvaWQgVW5pdmVy
c2FsUHJpbnRBcnJheShjb25zdCB3Y2hhcl90KiBiZWdpbiwgc2l6ZV90IGxlbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6c3RkOjpvc3RyZWFtKiBvcyk7CitHVEVTVF9B
UElfIHZvaWQgVW5pdmVyc2FsUHJpbnRBcnJheSgKKyAgICBjb25zdCB3Y2hhcl90KiBiZWdpbiwg
c2l6ZV90IGxlbiwgOjpzdGQ6Om9zdHJlYW0qIG9zKTsKIAogLy8gSW1wbGVtZW50cyBwcmludGlu
ZyBhbiBhcnJheSB0eXBlIFRbTl0uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgc2l6ZV90IE4+CkBA
IC05MTAsNTUgKzgyMiwxMiBAQCBjbGFzcyBVbml2ZXJzYWxUZXJzZVByaW50ZXI8Y29uc3QgY2hh
cio+IHsKICAgfQogfTsKIHRlbXBsYXRlIDw+Ci1jbGFzcyBVbml2ZXJzYWxUZXJzZVByaW50ZXI8
Y2hhcio+IDogcHVibGljIFVuaXZlcnNhbFRlcnNlUHJpbnRlcjxjb25zdCBjaGFyKj4gewotfTsK
LQotI2lmZGVmIF9fY3BwX2NoYXI4X3QKLXRlbXBsYXRlIDw+Ci1jbGFzcyBVbml2ZXJzYWxUZXJz
ZVByaW50ZXI8Y29uc3QgY2hhcjhfdCo+IHsKK2NsYXNzIFVuaXZlcnNhbFRlcnNlUHJpbnRlcjxj
aGFyKj4gewogIHB1YmxpYzoKLSAgc3RhdGljIHZvaWQgUHJpbnQoY29uc3QgY2hhcjhfdCogc3Ry
LCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKLSAgICBpZiAoc3RyID09IG51bGxwdHIpIHsKLSAgICAg
ICpvcyA8PCAiTlVMTCI7Ci0gICAgfSBlbHNlIHsKLSAgICAgIFVuaXZlcnNhbFByaW50KDo6c3Rk
Ojp1OHN0cmluZyhzdHIpLCBvcyk7Ci0gICAgfQorICBzdGF0aWMgdm9pZCBQcmludChjaGFyKiBz
dHIsIDo6c3RkOjpvc3RyZWFtKiBvcykgeworICAgIFVuaXZlcnNhbFRlcnNlUHJpbnRlcjxjb25z
dCBjaGFyKj46OlByaW50KHN0ciwgb3MpOwogICB9CiB9OwotdGVtcGxhdGUgPD4KLWNsYXNzIFVu
aXZlcnNhbFRlcnNlUHJpbnRlcjxjaGFyOF90Kj4KLSAgICA6IHB1YmxpYyBVbml2ZXJzYWxUZXJz
ZVByaW50ZXI8Y29uc3QgY2hhcjhfdCo+IHt9OwotI2VuZGlmCi0KLXRlbXBsYXRlIDw+Ci1jbGFz
cyBVbml2ZXJzYWxUZXJzZVByaW50ZXI8Y29uc3QgY2hhcjE2X3QqPiB7Ci0gcHVibGljOgotICBz
dGF0aWMgdm9pZCBQcmludChjb25zdCBjaGFyMTZfdCogc3RyLCA6OnN0ZDo6b3N0cmVhbSogb3Mp
IHsKLSAgICBpZiAoc3RyID09IG51bGxwdHIpIHsKLSAgICAgICpvcyA8PCAiTlVMTCI7Ci0gICAg
fSBlbHNlIHsKLSAgICAgIFVuaXZlcnNhbFByaW50KDo6c3RkOjp1MTZzdHJpbmcoc3RyKSwgb3Mp
OwotICAgIH0KLSAgfQotfTsKLXRlbXBsYXRlIDw+Ci1jbGFzcyBVbml2ZXJzYWxUZXJzZVByaW50
ZXI8Y2hhcjE2X3QqPgotICAgIDogcHVibGljIFVuaXZlcnNhbFRlcnNlUHJpbnRlcjxjb25zdCBj
aGFyMTZfdCo+IHt9OwotCi10ZW1wbGF0ZSA8PgotY2xhc3MgVW5pdmVyc2FsVGVyc2VQcmludGVy
PGNvbnN0IGNoYXIzMl90Kj4gewotIHB1YmxpYzoKLSAgc3RhdGljIHZvaWQgUHJpbnQoY29uc3Qg
Y2hhcjMyX3QqIHN0ciwgOjpzdGQ6Om9zdHJlYW0qIG9zKSB7Ci0gICAgaWYgKHN0ciA9PSBudWxs
cHRyKSB7Ci0gICAgICAqb3MgPDwgIk5VTEwiOwotICAgIH0gZWxzZSB7Ci0gICAgICBVbml2ZXJz
YWxQcmludCg6OnN0ZDo6dTMyc3RyaW5nKHN0ciksIG9zKTsKLSAgICB9Ci0gIH0KLX07Ci10ZW1w
bGF0ZSA8PgotY2xhc3MgVW5pdmVyc2FsVGVyc2VQcmludGVyPGNoYXIzMl90Kj4KLSAgICA6IHB1
YmxpYyBVbml2ZXJzYWxUZXJzZVByaW50ZXI8Y29uc3QgY2hhcjMyX3QqPiB7fTsKIAogI2lmIEdU
RVNUX0hBU19TVERfV1NUUklORwogdGVtcGxhdGUgPD4KQEAgLTk5OSwxMCArODY4LDEwIEBAIHZv
aWQgVW5pdmVyc2FsUHJpbnQoY29uc3QgVCYgdmFsdWUsIDo6c3RkOjpvc3RyZWFtKiBvcykgewog
ICBVbml2ZXJzYWxQcmludGVyPFQxPjo6UHJpbnQodmFsdWUsIG9zKTsKIH0KIAotdHlwZWRlZiA6
OnN0ZDo6dmVjdG9yPDo6c3RkOjpzdHJpbmc+IFN0cmluZ3M7Cit0eXBlZGVmIDo6c3RkOjp2ZWN0
b3I8IDo6c3RkOjpzdHJpbmc+IFN0cmluZ3M7CiAKLS8vIFRlcnNlbHkgcHJpbnRzIHRoZSBmaXJz
dCBOIGZpZWxkcyBvZiBhIHR1cGxlIHRvIGEgc3RyaW5nIHZlY3RvciwKLS8vIG9uZSBlbGVtZW50
IGZvciBlYWNoIGZpZWxkLgorICAvLyBUZXJzZWx5IHByaW50cyB0aGUgZmlyc3QgTiBmaWVsZHMg
b2YgYSB0dXBsZSB0byBhIHN0cmluZyB2ZWN0b3IsCisgIC8vIG9uZSBlbGVtZW50IGZvciBlYWNo
IGZpZWxkLgogdGVtcGxhdGUgPHR5cGVuYW1lIFR1cGxlPgogdm9pZCBUZXJzZVByaW50UHJlZml4
VG9TdHJpbmdzKGNvbnN0IFR1cGxlJiwgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxzaXplX3QsIDA+
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZ3MqKSB7fQpAQCAtMTAzMSw2
ICs5MDAsMTYgQEAgU3RyaW5ncyBVbml2ZXJzYWxUZXJzZVByaW50VHVwbGVGaWVsZHNUb1N0cmlu
Z3MoY29uc3QgVHVwbGUmIHZhbHVlKSB7CiAKIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAogCisj
aWYgR1RFU1RfSU5URVJOQUxfSEFTX1NUUklOR19WSUVXCituYW1lc3BhY2UgaW50ZXJuYWwyIHsK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBUeXBlV2l0aG91dEZvcm1hdHRlcjxULCBrQ29u
dmVydGlibGVUb1N0cmluZ1ZpZXc+OjpQcmludFZhbHVlKAorICAgIGNvbnN0IFQmIHZhbHVlLCA6
OnN0ZDo6b3N0cmVhbSogb3MpIHsKKyAgaW50ZXJuYWw6OlByaW50VG8oaW50ZXJuYWw6OlN0cmlu
Z1ZpZXcodmFsdWUpLCBvcyk7Cit9Cit9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwyCisjZW5kaWYK
KwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiA6OnN0ZDo6c3RyaW5nIFByaW50VG9TdHJpbmcoY29u
c3QgVCYgdmFsdWUpIHsKICAgOjpzdGQ6OnN0cmluZ3N0cmVhbSBzczsKQEAgLTEwNDUsNCArOTI0
LDQgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiAvLyBkZWNsYXJhdGlvbnMgZnJvbSB0aGlzIGZp
bGUuCiAjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvY3VzdG9tL2d0ZXN0LXByaW50ZXJzLmgiCiAK
LSNlbmRpZiAgLy8gR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0dURVNUX1BSSU5URVJTX0hfCisj
ZW5kaWYgIC8vIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfUFJJTlRFUlNfSF8KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9n
dGVzdC1zcGkuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVk
ZS9ndGVzdC9ndGVzdC1zcGkuaAppbmRleCBiZWM4YzQ4MTBiYjEuLmFhMzg4NzBlOGUxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0
ZXN0L2d0ZXN0LXNwaS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9z
cmMvaW5jbHVkZS9ndGVzdC9ndGVzdC1zcGkuaApAQCAtMjcsMTEgKzI3LDE0IEBACiAvLyAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKIC8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKKy8vCiAvLyBVdGlsaXRpZXMgZm9yIHRlc3Rpbmcg
R29vZ2xlIFRlc3QgaXRzZWxmIGFuZCBjb2RlIHRoYXQgdXNlcyBHb29nbGUgVGVzdAogLy8gKGUu
Zy4gZnJhbWV3b3JrcyBidWlsdCBvbiB0b3Agb2YgR29vZ2xlIFRlc3QpLgogCi0jaWZuZGVmIEdP
T0dMRVRFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9TUElfSF8KLSNkZWZpbmUgR09PR0xFVEVTVF9J
TkNMVURFX0dURVNUX0dURVNUX1NQSV9IXworLy8gR09PR0xFVEVTVF9DTTAwMDQgRE8gTk9UIERF
TEVURQorCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfU1BJX0hfCisjZGVmaW5l
IEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfU1BJX0hfCiAKICNpbmNsdWRlICJndGVzdC9ndGVz
dC5oIgogCkBAIC04NSwxMCArODgsNyBAQCBjbGFzcyBHVEVTVF9BUElfIFNjb3BlZEZha2VUZXN0
UGFydFJlc3VsdFJlcG9ydGVyCiAgIFRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXJJbnRlcmZhY2UqIG9s
ZF9yZXBvcnRlcl87CiAgIFRlc3RQYXJ0UmVzdWx0QXJyYXkqIGNvbnN0IHJlc3VsdF87CiAKLSAg
U2NvcGVkRmFrZVRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXIoY29uc3QgU2NvcGVkRmFrZVRlc3RQYXJ0
UmVzdWx0UmVwb3J0ZXImKSA9Ci0gICAgICBkZWxldGU7Ci0gIFNjb3BlZEZha2VUZXN0UGFydFJl
c3VsdFJlcG9ydGVyJiBvcGVyYXRvcj0oCi0gICAgICBjb25zdCBTY29wZWRGYWtlVGVzdFBhcnRS
ZXN1bHRSZXBvcnRlciYpID0gZGVsZXRlOworICBHVEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJ
R05fKFNjb3BlZEZha2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyKTsKIH07CiAKIG5hbWVzcGFjZSBp
bnRlcm5hbCB7CkBAIC0xMDQsMTQgKzEwNCwxMiBAQCBjbGFzcyBHVEVTVF9BUElfIFNpbmdsZUZh
aWx1cmVDaGVja2VyIHsKICAgU2luZ2xlRmFpbHVyZUNoZWNrZXIoY29uc3QgVGVzdFBhcnRSZXN1
bHRBcnJheSogcmVzdWx0cywKICAgICAgICAgICAgICAgICAgICAgICAgVGVzdFBhcnRSZXN1bHQ6
OlR5cGUgdHlwZSwgY29uc3Qgc3RkOjpzdHJpbmcmIHN1YnN0cik7CiAgIH5TaW5nbGVGYWlsdXJl
Q2hlY2tlcigpOwotCiAgcHJpdmF0ZToKICAgY29uc3QgVGVzdFBhcnRSZXN1bHRBcnJheSogY29u
c3QgcmVzdWx0c187CiAgIGNvbnN0IFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHR5cGVfOwogICBjb25z
dCBzdGQ6OnN0cmluZyBzdWJzdHJfOwogCi0gIFNpbmdsZUZhaWx1cmVDaGVja2VyKGNvbnN0IFNp
bmdsZUZhaWx1cmVDaGVja2VyJikgPSBkZWxldGU7Ci0gIFNpbmdsZUZhaWx1cmVDaGVja2VyJiBv
cGVyYXRvcj0oY29uc3QgU2luZ2xlRmFpbHVyZUNoZWNrZXImKSA9IGRlbGV0ZTsKKyAgR1RFU1Rf
RElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhTaW5nbGVGYWlsdXJlQ2hlY2tlcik7CiB9OwogCiB9
ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKQEAgLTEyMSw4ICsxMTksNyBAQCBjbGFzcyBHVEVTVF9B
UElfIFNpbmdsZUZhaWx1cmVDaGVja2VyIHsKIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BP
UF8oKSAgLy8gIDQyNTEKIAogLy8gQSBzZXQgb2YgbWFjcm9zIGZvciB0ZXN0aW5nIEdvb2dsZSBU
ZXN0IGFzc2VydGlvbnMgb3IgY29kZSB0aGF0J3MgZXhwZWN0ZWQKLS8vIHRvIGdlbmVyYXRlIEdv
b2dsZSBUZXN0IGZhdGFsIGZhaWx1cmVzIChlLmcuIGEgZmFpbHVyZSBmcm9tIGFuIEFTU0VSVF9F
USwgYnV0Ci0vLyBub3QgYSBub24tZmF0YWwgZmFpbHVyZSwgYXMgZnJvbSBFWFBFQ1RfRVEpLiAg
SXQgdmVyaWZpZXMgdGhhdCB0aGUgZ2l2ZW4KKy8vIHRvIGdlbmVyYXRlIEdvb2dsZSBUZXN0IGZh
dGFsIGZhaWx1cmVzLiAgSXQgdmVyaWZpZXMgdGhhdCB0aGUgZ2l2ZW4KIC8vIHN0YXRlbWVudCB3
aWxsIGNhdXNlIGV4YWN0bHkgb25lIGZhdGFsIEdvb2dsZSBUZXN0IGZhaWx1cmUgd2l0aCAnc3Vi
c3RyJwogLy8gYmVpbmcgcGFydCBvZiB0aGUgZmFpbHVyZSBtZXNzYWdlLgogLy8KQEAgLTE0NCw0
NiArMTQxLDQ0IEBAIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8oKSAgLy8gIDQyNTEK
IC8vIGhlbHBlciBtYWNybywgZHVlIHRvIHNvbWUgcGVjdWxpYXJpdHkgaW4gaG93IHRoZSBwcmVw
cm9jZXNzb3IKIC8vIHdvcmtzLiAgVGhlIEFjY2VwdHNNYWNyb1RoYXRFeHBhbmRzVG9VbnByb3Rl
Y3RlZENvbW1hIHRlc3QgaW4KIC8vIGd0ZXN0X3VuaXR0ZXN0LmNjIHdpbGwgZmFpbCB0byBjb21w
aWxlIGlmIHdlIGRvIHRoYXQuCi0jZGVmaW5lIEVYUEVDVF9GQVRBTF9GQUlMVVJFKHN0YXRlbWVu
dCwgc3Vic3RyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgY2xhc3MgR1Rlc3RFeHBlY3RGYXRhbEZhaWx1cmVIZWxwZXIgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIHB1YmxpYzogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICBzdGF0aWMgdm9pZCBFeGVjdXRlKCkgeyBzdGF0ZW1lbnQ7IH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgOjp0
ZXN0aW5nOjpUZXN0UGFydFJlc3VsdEFycmF5IGd0ZXN0X2ZhaWx1cmVzOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6U2luZ2xlRmFpbHVyZUNo
ZWNrZXIgZ3Rlc3RfY2hlY2tlciggICAgICAgICAgICAgICAgICBcCi0gICAgICAgICZndGVzdF9m
YWlsdXJlcywgOjp0ZXN0aW5nOjpUZXN0UGFydFJlc3VsdDo6a0ZhdGFsRmFpbHVyZSwgKHN1YnN0
cikpOyBcCi0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICA6OnRlc3Rpbmc6OlNjb3BlZEZh
a2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyIGd0ZXN0X3JlcG9ydGVyKCAgICAgICAgICAgICBcCi0g
ICAgICAgICAgOjp0ZXN0aW5nOjpTY29wZWRGYWtlVGVzdFBhcnRSZXN1bHRSZXBvcnRlcjo6ICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgIElOVEVSQ0VQVF9PTkxZX0NVUlJF
TlRfVEhSRUFELCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
Jmd0ZXN0X2ZhaWx1cmVzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBHVGVzdEV4cGVjdEZhdGFsRmFpbHVyZUhlbHBlcjo6RXhlY3V0
ZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisjZGVmaW5lIEVYUEVDVF9GQVRBTF9GQUlMVVJFKHN0YXRlbWVudCwgc3Vic3RyKSBcCisg
IGRvIHsgXAorICAgIGNsYXNzIEdUZXN0RXhwZWN0RmF0YWxGYWlsdXJlSGVscGVyIHtcCisgICAg
IHB1YmxpYzpcCisgICAgICBzdGF0aWMgdm9pZCBFeGVjdXRlKCkgeyBzdGF0ZW1lbnQ7IH1cCisg
ICAgfTtcCisgICAgOjp0ZXN0aW5nOjpUZXN0UGFydFJlc3VsdEFycmF5IGd0ZXN0X2ZhaWx1cmVz
O1wKKyAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpTaW5nbGVGYWlsdXJlQ2hlY2tlciBndGVzdF9j
aGVja2VyKFwKKyAgICAgICAgJmd0ZXN0X2ZhaWx1cmVzLCA6OnRlc3Rpbmc6OlRlc3RQYXJ0UmVz
dWx0OjprRmF0YWxGYWlsdXJlLCAoc3Vic3RyKSk7XAorICAgIHtcCisgICAgICA6OnRlc3Rpbmc6
OlNjb3BlZEZha2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyIGd0ZXN0X3JlcG9ydGVyKFwKKyAgICAg
ICAgICA6OnRlc3Rpbmc6OlNjb3BlZEZha2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyOjogXAorICAg
ICAgICAgIElOVEVSQ0VQVF9PTkxZX0NVUlJFTlRfVEhSRUFELCAmZ3Rlc3RfZmFpbHVyZXMpO1wK
KyAgICAgIEdUZXN0RXhwZWN0RmF0YWxGYWlsdXJlSGVscGVyOjpFeGVjdXRlKCk7XAorICAgIH1c
CiAgIH0gd2hpbGUgKDo6dGVzdGluZzo6aW50ZXJuYWw6OkFsd2F5c0ZhbHNlKCkpCiAKLSNkZWZp
bmUgRVhQRUNUX0ZBVEFMX0ZBSUxVUkVfT05fQUxMX1RIUkVBRFMoc3RhdGVtZW50LCBzdWJzdHIp
ICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjbGFzcyBHVGVz
dEV4cGVjdEZhdGFsRmFpbHVyZUhlbHBlciB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgcHVibGljOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHN0YXRpYyB2b2lkIEV4ZWN1
dGUoKSB7IHN0YXRlbWVudDsgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICA6OnRlc3Rpbmc6OlRlc3RQYXJ0UmVzdWx0QXJy
YXkgZ3Rlc3RfZmFpbHVyZXM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICA6OnRl
c3Rpbmc6OmludGVybmFsOjpTaW5nbGVGYWlsdXJlQ2hlY2tlciBndGVzdF9jaGVja2VyKCAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgJmd0ZXN0X2ZhaWx1cmVzLCA6OnRlc3Rpbmc6OlRlc3RQ
YXJ0UmVzdWx0OjprRmF0YWxGYWlsdXJlLCAoc3Vic3RyKSk7IFwKLSAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIDo6dGVzdGluZzo6U2NvcGVkRmFrZVRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXIg
Z3Rlc3RfcmVwb3J0ZXIoICAgICAgICAgICAgIFwKLSAgICAgICAgICA6OnRlc3Rpbmc6OlNjb3Bl
ZEZha2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyOjpJTlRFUkNFUFRfQUxMX1RIUkVBRFMsIFwKLSAg
ICAgICAgICAmZ3Rlc3RfZmFpbHVyZXMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIEdUZXN0RXhwZWN0RmF0YWxGYWlsdXJlSGVscGVy
OjpFeGVjdXRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyNkZWZpbmUgRVhQRUNUX0ZBVEFMX0ZBSUxVUkVfT05fQUxMX1RIUkVBRFMo
c3RhdGVtZW50LCBzdWJzdHIpIFwKKyAgZG8geyBcCisgICAgY2xhc3MgR1Rlc3RFeHBlY3RGYXRh
bEZhaWx1cmVIZWxwZXIge1wKKyAgICAgcHVibGljOlwKKyAgICAgIHN0YXRpYyB2b2lkIEV4ZWN1
dGUoKSB7IHN0YXRlbWVudDsgfVwKKyAgICB9O1wKKyAgICA6OnRlc3Rpbmc6OlRlc3RQYXJ0UmVz
dWx0QXJyYXkgZ3Rlc3RfZmFpbHVyZXM7XAorICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OlNpbmds
ZUZhaWx1cmVDaGVja2VyIGd0ZXN0X2NoZWNrZXIoXAorICAgICAgICAmZ3Rlc3RfZmFpbHVyZXMs
IDo6dGVzdGluZzo6VGVzdFBhcnRSZXN1bHQ6OmtGYXRhbEZhaWx1cmUsIChzdWJzdHIpKTtcCisg
ICAge1wKKyAgICAgIDo6dGVzdGluZzo6U2NvcGVkRmFrZVRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXIg
Z3Rlc3RfcmVwb3J0ZXIoXAorICAgICAgICAgIDo6dGVzdGluZzo6U2NvcGVkRmFrZVRlc3RQYXJ0
UmVzdWx0UmVwb3J0ZXI6OiBcCisgICAgICAgICAgSU5URVJDRVBUX0FMTF9USFJFQURTLCAmZ3Rl
c3RfZmFpbHVyZXMpO1wKKyAgICAgIEdUZXN0RXhwZWN0RmF0YWxGYWlsdXJlSGVscGVyOjpFeGVj
dXRlKCk7XAorICAgIH1cCiAgIH0gd2hpbGUgKDo6dGVzdGluZzo6aW50ZXJuYWw6OkFsd2F5c0Zh
bHNlKCkpCiAKIC8vIEEgbWFjcm8gZm9yIHRlc3RpbmcgR29vZ2xlIFRlc3QgYXNzZXJ0aW9ucyBv
ciBjb2RlIHRoYXQncyBleHBlY3RlZCB0bwotLy8gZ2VuZXJhdGUgR29vZ2xlIFRlc3Qgbm9uLWZh
dGFsIGZhaWx1cmVzIChlLmcuIGEgZmFpbHVyZSBmcm9tIGFuIEVYUEVDVF9FUSwKLS8vIGJ1dCBu
b3QgZnJvbSBhbiBBU1NFUlRfRVEpLiBJdCBhc3NlcnRzIHRoYXQgdGhlIGdpdmVuIHN0YXRlbWVu
dCB3aWxsIGNhdXNlCi0vLyBleGFjdGx5IG9uZSBub24tZmF0YWwgR29vZ2xlIFRlc3QgZmFpbHVy
ZSB3aXRoICdzdWJzdHInIGJlaW5nIHBhcnQgb2YgdGhlCi0vLyBmYWlsdXJlIG1lc3NhZ2UuCisv
LyBnZW5lcmF0ZSBHb29nbGUgVGVzdCBub24tZmF0YWwgZmFpbHVyZXMuICBJdCBhc3NlcnRzIHRo
YXQgdGhlIGdpdmVuCisvLyBzdGF0ZW1lbnQgd2lsbCBjYXVzZSBleGFjdGx5IG9uZSBub24tZmF0
YWwgR29vZ2xlIFRlc3QgZmFpbHVyZSB3aXRoICdzdWJzdHInCisvLyBiZWluZyBwYXJ0IG9mIHRo
ZSBmYWlsdXJlIG1lc3NhZ2UuCiAvLwogLy8gVGhlcmUgYXJlIHR3byBkaWZmZXJlbnQgdmVyc2lv
bnMgb2YgdGhpcyBtYWNyby4gRVhQRUNUX05PTkZBVEFMX0ZBSUxVUkUgb25seQogLy8gYWZmZWN0
cyBhbmQgY29uc2lkZXJzIGZhaWx1cmVzIGdlbmVyYXRlZCBpbiB0aGUgY3VycmVudCB0aHJlYWQg
YW5kCkBAIC0yMTIsMzcgKzIwNywzMiBAQCBHVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19QT1Bf
KCkgIC8vICA0MjUxCiAvLyBpbnN0ZWFkIG9mCiAvLyAgIEdURVNUX1NVUFBSRVNTX1VOUkVBQ0hB
QkxFX0NPREVfV0FSTklOR19CRUxPV18oc3RhdGVtZW50KQogLy8gdG8gYXZvaWQgYW4gTVNWQyB3
YXJuaW5nIG9uIHVucmVhY2hhYmxlIGNvZGUuCi0jZGVmaW5lIEVYUEVDVF9OT05GQVRBTF9GQUlM
VVJFKHN0YXRlbWVudCwgc3Vic3RyKSAgICAgICAgICAgICAgICAgICAgXAotICBkbyB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICA6OnRlc3Rpbmc6OlRlc3RQYXJ0UmVzdWx0QXJyYXkgZ3Rlc3RfZmFpbHVyZXM7ICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6U2luZ2xlRmFpbHVy
ZUNoZWNrZXIgZ3Rlc3RfY2hlY2tlciggICAgICAgICAgXAorI2RlZmluZSBFWFBFQ1RfTk9ORkFU
QUxfRkFJTFVSRShzdGF0ZW1lbnQsIHN1YnN0cikgXAorICBkbyB7XAorICAgIDo6dGVzdGluZzo6
VGVzdFBhcnRSZXN1bHRBcnJheSBndGVzdF9mYWlsdXJlcztcCisgICAgOjp0ZXN0aW5nOjppbnRl
cm5hbDo6U2luZ2xlRmFpbHVyZUNoZWNrZXIgZ3Rlc3RfY2hlY2tlcihcCiAgICAgICAgICZndGVz
dF9mYWlsdXJlcywgOjp0ZXN0aW5nOjpUZXN0UGFydFJlc3VsdDo6a05vbkZhdGFsRmFpbHVyZSwg
XAotICAgICAgICAoc3Vic3RyKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICA6OnRlc3Rpbmc6OlNjb3Bl
ZEZha2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyIGd0ZXN0X3JlcG9ydGVyKCAgICAgXAotICAgICAg
ICAgIDo6dGVzdGluZzo6U2NvcGVkRmFrZVRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXI6OiAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgSU5URVJDRVBUX09OTFlfQ1VSUkVOVF9USFJFQUQsICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgJmd0ZXN0X2ZhaWx1cmVzKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKDo6dGVz
dGluZzo6aW50ZXJuYWw6OkFsd2F5c1RydWUoKSkgeyAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgc3RhdGVtZW50OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
KHN1YnN0cikpO1wKKyAgICB7XAorICAgICAgOjp0ZXN0aW5nOjpTY29wZWRGYWtlVGVzdFBhcnRS
ZXN1bHRSZXBvcnRlciBndGVzdF9yZXBvcnRlcihcCisgICAgICAgICAgOjp0ZXN0aW5nOjpTY29w
ZWRGYWtlVGVzdFBhcnRSZXN1bHRSZXBvcnRlcjo6IFwKKyAgICAgICAgICBJTlRFUkNFUFRfT05M
WV9DVVJSRU5UX1RIUkVBRCwgJmd0ZXN0X2ZhaWx1cmVzKTtcCisgICAgICBpZiAoOjp0ZXN0aW5n
OjppbnRlcm5hbDo6QWx3YXlzVHJ1ZSgpKSB7IHN0YXRlbWVudDsgfVwKKyAgICB9XAogICB9IHdo
aWxlICg6OnRlc3Rpbmc6OmludGVybmFsOjpBbHdheXNGYWxzZSgpKQogCi0jZGVmaW5lIEVYUEVD
VF9OT05GQVRBTF9GQUlMVVJFX09OX0FMTF9USFJFQURTKHN0YXRlbWVudCwgc3Vic3RyKSAgICAg
ICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgOjp0ZXN0aW5nOjpUZXN0UGFy
dFJlc3VsdEFycmF5IGd0ZXN0X2ZhaWx1cmVzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6U2luZ2xlRmFpbHVyZUNoZWNrZXIgZ3Rlc3RfY2hl
Y2tlciggICAgICAgICAgICAgICAgICBcCi0gICAgICAgICZndGVzdF9mYWlsdXJlcywgOjp0ZXN0
aW5nOjpUZXN0UGFydFJlc3VsdDo6a05vbkZhdGFsRmFpbHVyZSwgICAgICAgICBcCi0gICAgICAg
IChzdWJzdHIpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICA6OnRlc3Rpbmc6
OlNjb3BlZEZha2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyIGd0ZXN0X3JlcG9ydGVyKCAgICAgICAg
ICAgICBcCisjZGVmaW5lIEVYUEVDVF9OT05GQVRBTF9GQUlMVVJFX09OX0FMTF9USFJFQURTKHN0
YXRlbWVudCwgc3Vic3RyKSBcCisgIGRvIHtcCisgICAgOjp0ZXN0aW5nOjpUZXN0UGFydFJlc3Vs
dEFycmF5IGd0ZXN0X2ZhaWx1cmVzO1wKKyAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpTaW5nbGVG
YWlsdXJlQ2hlY2tlciBndGVzdF9jaGVja2VyKFwKKyAgICAgICAgJmd0ZXN0X2ZhaWx1cmVzLCA6
OnRlc3Rpbmc6OlRlc3RQYXJ0UmVzdWx0OjprTm9uRmF0YWxGYWlsdXJlLCBcCisgICAgICAgIChz
dWJzdHIpKTtcCisgICAge1wKKyAgICAgIDo6dGVzdGluZzo6U2NvcGVkRmFrZVRlc3RQYXJ0UmVz
dWx0UmVwb3J0ZXIgZ3Rlc3RfcmVwb3J0ZXIoXAogICAgICAgICAgIDo6dGVzdGluZzo6U2NvcGVk
RmFrZVRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXI6OklOVEVSQ0VQVF9BTExfVEhSRUFEUywgXAotICAg
ICAgICAgICZndGVzdF9mYWlsdXJlcyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKDo6dGVzdGluZzo6aW50ZXJuYWw6OkFsd2F5
c1RydWUoKSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBzdGF0
ZW1lbnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgICAgICZndGVzdF9mYWlsdXJlcyk7XAorICAgICAgaWYgKDo6dGVzdGluZzo6aW50
ZXJuYWw6OkFsd2F5c1RydWUoKSkgeyBzdGF0ZW1lbnQ7IH1cCisgICAgfVwKICAgfSB3aGlsZSAo
Ojp0ZXN0aW5nOjppbnRlcm5hbDo6QWx3YXlzRmFsc2UoKSkKIAotI2VuZGlmICAvLyBHT09HTEVU
RVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfU1BJX0hfCisjZW5kaWYgIC8vIEdURVNUX0lOQ0xVREVf
R1RFU1RfR1RFU1RfU1BJX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dv
b2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QtdGVzdC1wYXJ0LmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QtdGVzdC1wYXJ0
LmgKaW5kZXggMDljYzhjMzRmMDQxLi4wNWE3OTg1MzU4NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC10ZXN0LXBh
cnQuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUv
Z3Rlc3QvZ3Rlc3QtdGVzdC1wYXJ0LmgKQEAgLTI2LDE3ICsyNiwxNCBAQAogLy8gVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLy8KKy8vIEdPT0dMRVRFU1RfQ00w
MDAxIERPIE5PVCBERUxFVEUKIAotLy8gSVdZVSBwcmFnbWE6IHByaXZhdGUsIGluY2x1ZGUgImd0
ZXN0L2d0ZXN0LmgiCi0vLyBJV1lVIHByYWdtYTogZnJpZW5kIGd0ZXN0Ly4qCi0vLyBJV1lVIHBy
YWdtYTogZnJpZW5kIGdtb2NrLy4qCi0KLSNpZm5kZWYgR09PR0xFVEVTVF9JTkNMVURFX0dURVNU
X0dURVNUX1RFU1RfUEFSVF9IXwotI2RlZmluZSBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RF
U1RfVEVTVF9QQVJUX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfVEVTVF9Q
QVJUX0hfCisjZGVmaW5lIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfVEVTVF9QQVJUX0hfCiAK
ICNpbmNsdWRlIDxpb3Nmd2Q+CiAjaW5jbHVkZSA8dmVjdG9yPgotCiAjaW5jbHVkZSAiZ3Rlc3Qv
aW50ZXJuYWwvZ3Rlc3QtaW50ZXJuYWwuaCIKICNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9ndGVz
dC1zdHJpbmcuaCIKIApAQCAtMTQ1LDggKzE0Miw3IEBAIGNsYXNzIEdURVNUX0FQSV8gVGVzdFBh
cnRSZXN1bHRBcnJheSB7CiAgcHJpdmF0ZToKICAgc3RkOjp2ZWN0b3I8VGVzdFBhcnRSZXN1bHQ+
IGFycmF5XzsKIAotICBUZXN0UGFydFJlc3VsdEFycmF5KGNvbnN0IFRlc3RQYXJ0UmVzdWx0QXJy
YXkmKSA9IGRlbGV0ZTsKLSAgVGVzdFBhcnRSZXN1bHRBcnJheSYgb3BlcmF0b3I9KGNvbnN0IFRl
c3RQYXJ0UmVzdWx0QXJyYXkmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRf
QVNTSUdOXyhUZXN0UGFydFJlc3VsdEFycmF5KTsKIH07CiAKIC8vIFRoaXMgaW50ZXJmYWNlIGtu
b3dzIGhvdyB0byByZXBvcnQgYSB0ZXN0IHBhcnQgcmVzdWx0LgpAQCAtMTcyLDEzICsxNjgsMTEg
QEAgY2xhc3MgR1RFU1RfQVBJXyBIYXNOZXdGYXRhbEZhaWx1cmVIZWxwZXIKICAgfkhhc05ld0Zh
dGFsRmFpbHVyZUhlbHBlcigpIG92ZXJyaWRlOwogICB2b2lkIFJlcG9ydFRlc3RQYXJ0UmVzdWx0
KGNvbnN0IFRlc3RQYXJ0UmVzdWx0JiByZXN1bHQpIG92ZXJyaWRlOwogICBib29sIGhhc19uZXdf
ZmF0YWxfZmFpbHVyZSgpIGNvbnN0IHsgcmV0dXJuIGhhc19uZXdfZmF0YWxfZmFpbHVyZV87IH0K
LQogIHByaXZhdGU6CiAgIGJvb2wgaGFzX25ld19mYXRhbF9mYWlsdXJlXzsKICAgVGVzdFBhcnRS
ZXN1bHRSZXBvcnRlckludGVyZmFjZSogb3JpZ2luYWxfcmVwb3J0ZXJfOwogCi0gIEhhc05ld0Zh
dGFsRmFpbHVyZUhlbHBlcihjb25zdCBIYXNOZXdGYXRhbEZhaWx1cmVIZWxwZXImKSA9IGRlbGV0
ZTsKLSAgSGFzTmV3RmF0YWxGYWlsdXJlSGVscGVyJiBvcGVyYXRvcj0oY29uc3QgSGFzTmV3RmF0
YWxGYWlsdXJlSGVscGVyJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FT
U0lHTl8oSGFzTmV3RmF0YWxGYWlsdXJlSGVscGVyKTsKIH07CiAKIH0gIC8vIG5hbWVzcGFjZSBp
bnRlcm5hbApAQCAtMTg3LDQgKzE4MSw0IEBAIGNsYXNzIEdURVNUX0FQSV8gSGFzTmV3RmF0YWxG
YWlsdXJlSGVscGVyCiAKIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8oKSAgLy8gIDQy
NTEKIAotI2VuZGlmICAvLyBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfVEVTVF9QQVJU
X0hfCisjZW5kaWYgIC8vIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfVEVTVF9QQVJUX0hfCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUv
Z3Rlc3QvZ3Rlc3QtdHlwZWQtdGVzdC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0
ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LXR5cGVkLXRlc3QuaAppbmRleCBiZDM1YTMyNjYw
MTMuLjNmZmE1MGI3MzlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29n
bGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LXR5cGVkLXRlc3QuaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QtdHlwZWQt
dGVzdC5oCkBAIC0yNywxMiArMjcsMTAgQEAKIC8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogLy8gT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIAotLy8gSVdZVSBwcmFnbWE6IHByaXZhdGUsIGluY2x1ZGUgImd0ZXN0L2d0ZXN0LmgiCi0v
LyBJV1lVIHByYWdtYTogZnJpZW5kIGd0ZXN0Ly4qCi0vLyBJV1lVIHByYWdtYTogZnJpZW5kIGdt
b2NrLy4qCisvLyBHT09HTEVURVNUX0NNMDAwMSBETyBOT1QgREVMRVRFCiAKLSNpZm5kZWYgR09P
R0xFVEVTVF9JTkNMVURFX0dURVNUX0dURVNUX1RZUEVEX1RFU1RfSF8KLSNkZWZpbmUgR09PR0xF
VEVTVF9JTkNMVURFX0dURVNUX0dURVNUX1RZUEVEX1RFU1RfSF8KKyNpZm5kZWYgR1RFU1RfSU5D
TFVERV9HVEVTVF9HVEVTVF9UWVBFRF9URVNUX0hfCisjZGVmaW5lIEdURVNUX0lOQ0xVREVfR1RF
U1RfR1RFU1RfVFlQRURfVEVTVF9IXwogCiAvLyBUaGlzIGhlYWRlciBpbXBsZW1lbnRzIHR5cGVk
IHRlc3RzIGFuZCB0eXBlLXBhcmFtZXRlcml6ZWQgdGVzdHMuCiAKQEAgLTE3Nyw2ICsxNzUsOCBA
QCBJTlNUQU5USUFURV9UWVBFRF9URVNUX1NVSVRFX1AoTXksIEZvb1Rlc3QsIE15VHlwZXMpOwog
CiAvLyBJbXBsZW1lbnRzIHR5cGVkIHRlc3RzLgogCisjaWYgR1RFU1RfSEFTX1RZUEVEX1RFU1QK
KwogLy8gSU5URVJOQUwgSU1QTEVNRU5UQVRJT04gLSBETyBOT1QgVVNFIElOIFVTRVIgQ09ERS4K
IC8vCiAvLyBFeHBhbmRzIHRvIHRoZSBuYW1lIG9mIHRoZSB0eXBlZGVmIGZvciB0aGUgdHlwZSBw
YXJhbWV0ZXJzIG9mIHRoZQpAQCAtMTkyLDcgKzE5Miw3IEBAIElOU1RBTlRJQVRFX1RZUEVEX1RF
U1RfU1VJVEVfUChNeSwgRm9vVGVzdCwgTXlUeXBlcyk7CiAgIHR5cGVkZWYgOjp0ZXN0aW5nOjpp
bnRlcm5hbDo6R2VuZXJhdGVUeXBlTGlzdDxUeXBlcz46OnR5cGUgICAgICAgICAgICBcCiAgICAg
ICBHVEVTVF9UWVBFX1BBUkFNU18oQ2FzZU5hbWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgIHR5cGVkZWYgOjp0ZXN0aW5nOjppbnRlcm5hbDo6TmFtZUdlbmVyYXRv
clNlbGVjdG9yPF9fVkFfQVJHU19fPjo6dHlwZSBcCi0gIEdURVNUX05BTUVfR0VORVJBVE9SXyhD
YXNlTmFtZSkKKyAgICAgIEdURVNUX05BTUVfR0VORVJBVE9SXyhDYXNlTmFtZSkKIAogI2RlZmlu
ZSBUWVBFRF9URVNUKENhc2VOYW1lLCBUZXN0TmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICBzdGF0aWNfYXNzZXJ0KHNpemVvZihHVEVTVF9TVFJJTkdJRllf
KFRlc3ROYW1lKSkgPiAxLCAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjMwLDggKzIzMCwx
MiBAQCBJTlNUQU5USUFURV9UWVBFRF9URVNUX1NVSVRFX1AoTXksIEZvb1Rlc3QsIE15VHlwZXMp
OwogICBUWVBFRF9URVNUX1NVSVRFCiAjZW5kaWYgIC8vIEdURVNUX1JFTU9WRV9MRUdBQ1lfVEVT
VF9DQVNFQVBJXwogCisjZW5kaWYgIC8vIEdURVNUX0hBU19UWVBFRF9URVNUCisKIC8vIEltcGxl
bWVudHMgdHlwZS1wYXJhbWV0ZXJpemVkIHRlc3RzLgogCisjaWYgR1RFU1RfSEFTX1RZUEVEX1RF
U1RfUAorCiAvLyBJTlRFUk5BTCBJTVBMRU1FTlRBVElPTiAtIERPIE5PVCBVU0UgSU4gVVNFUiBD
T0RFLgogLy8KIC8vIEV4cGFuZHMgdG8gdGhlIG5hbWVzcGFjZSBuYW1lIHRoYXQgdGhlIHR5cGUt
cGFyYW1ldGVyaXplZCB0ZXN0cyBmb3IKQEAgLTI1OCw3ICsyNjIsNyBAQCBJTlNUQU5USUFURV9U
WVBFRF9URVNUX1NVSVRFX1AoTXksIEZvb1Rlc3QsIE15VHlwZXMpOwogLy8gI2luY2x1ZGVkIGlu
IG11bHRpcGxlIHRyYW5zbGF0aW9uIHVuaXRzIGxpbmtlZCB0b2dldGhlci4KICNkZWZpbmUgVFlQ
RURfVEVTVF9TVUlURV9QKFN1aXRlTmFtZSkgICAgICAgICAgICAgIFwKICAgc3RhdGljIDo6dGVz
dGluZzo6aW50ZXJuYWw6OlR5cGVkVGVzdFN1aXRlUFN0YXRlIFwKLSAgR1RFU1RfVFlQRURfVEVT
VF9TVUlURV9QX1NUQVRFXyhTdWl0ZU5hbWUpCisgICAgICBHVEVTVF9UWVBFRF9URVNUX1NVSVRF
X1BfU1RBVEVfKFN1aXRlTmFtZSkKIAogLy8gTGVnYWN5IEFQSSBpcyBkZXByZWNhdGVkIGJ1dCBz
dGlsbCBhdmFpbGFibGUKICNpZm5kZWYgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElf
CkBAIC0zMDMsMjEgKzMwNywyMSBAQCBJTlNUQU5USUFURV9UWVBFRF9URVNUX1NVSVRFX1AoTXks
IEZvb1Rlc3QsIE15VHlwZXMpOwogICBSRUdJU1RFUl9UWVBFRF9URVNUX1NVSVRFX1AKICNlbmRp
ZiAgLy8gR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElfCiAKLSNkZWZpbmUgSU5TVEFO
VElBVEVfVFlQRURfVEVTVF9TVUlURV9QKFByZWZpeCwgU3VpdGVOYW1lLCBUeXBlcywgLi4uKSAg
ICAgXAotICBzdGF0aWNfYXNzZXJ0KHNpemVvZihHVEVTVF9TVFJJTkdJRllfKFByZWZpeCkpID4g
MSwgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgInRlc3Qtc3VpdC1wcmVm
aXggbXVzdCBub3QgYmUgZW1wdHkiKTsgICAgICAgICAgICAgICAgICAgIFwKLSAgc3RhdGljIGJv
b2wgZ3Rlc3RfIyNQcmVmaXgjI18jI1N1aXRlTmFtZSBHVEVTVF9BVFRSSUJVVEVfVU5VU0VEXyA9
ICAgICAgXAotICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6VHlwZVBhcmFtZXRlcml6ZWRUZXN0
U3VpdGU8ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgU3VpdGVOYW1lLCBHVEVTVF9T
VUlURV9OQU1FU1BBQ0VfKFN1aXRlTmFtZSk6Omd0ZXN0X0FsbFRlc3RzXywgIFwKLSAgICAgICAg
ICA6OnRlc3Rpbmc6OmludGVybmFsOjpHZW5lcmF0ZVR5cGVMaXN0PFR5cGVzPjo6dHlwZT46OiAg
ICAgICAgICAgXAotICAgICAgICAgIFJlZ2lzdGVyKEdURVNUX1NUUklOR0lGWV8oUHJlZml4KSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgOjp0ZXN0
aW5nOjppbnRlcm5hbDo6Q29kZUxvY2F0aW9uKF9fRklMRV9fLCBfX0xJTkVfXyksIFwKLSAgICAg
ICAgICAgICAgICAgICAmR1RFU1RfVFlQRURfVEVTVF9TVUlURV9QX1NUQVRFXyhTdWl0ZU5hbWUp
LCAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIEdURVNUX1NUUklOR0lGWV8oU3VpdGVO
YW1lKSwgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgR1RF
U1RfUkVHSVNURVJFRF9URVNUX05BTUVTXyhTdWl0ZU5hbWUpLCAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpHZW5lcmF0ZU5hbWVzPCAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OmludGVy
bmFsOjpOYW1lR2VuZXJhdG9yU2VsZWN0b3I8ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBfX1ZBX0FSR1NfXz46OnR5cGUsICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyNkZWZpbmUgSU5TVEFOVElBVEVfVFlQRURfVEVTVF9TVUlURV9QKFByZWZpeCwgU3VpdGVOYW1l
LCBUeXBlcywgLi4uKSAgICAgICBcCisgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEdURVNUX1NUUklO
R0lGWV8oUHJlZml4KSkgPiAxLCAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
ICAgICJ0ZXN0LXN1aXQtcHJlZml4IG11c3Qgbm90IGJlIGVtcHR5Iik7ICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgc3RhdGljIGJvb2wgZ3Rlc3RfIyNQcmVmaXgjI18jI1N1aXRlTmFtZSBHVEVT
VF9BVFRSSUJVVEVfVU5VU0VEXyA9ICAgICAgICBcCisgICAgICA6OnRlc3Rpbmc6OmludGVybmFs
OjpUeXBlUGFyYW1ldGVyaXplZFRlc3RTdWl0ZTwgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgICAgIFN1aXRlTmFtZSwgR1RFU1RfU1VJVEVfTkFNRVNQQUNFXyhTdWl0ZU5hbWUpOjpndGVz
dF9BbGxUZXN0c18sICAgIFwKKyAgICAgICAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpHZW5lcmF0
ZVR5cGVMaXN0PFR5cGVzPjo6dHlwZT46OiAgICAgICAgICAgICBcCisgICAgICAgICAgUmVnaXN0
ZXIoR1RFU1RfU1RSSU5HSUZZXyhQcmVmaXgpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OkNvZGVMb2NhdGlv
bihfX0ZJTEVfXywgX19MSU5FX18pLCAgIFwKKyAgICAgICAgICAgICAgICAgICAmR1RFU1RfVFlQ
RURfVEVTVF9TVUlURV9QX1NUQVRFXyhTdWl0ZU5hbWUpLCAgICAgICAgICAgICBcCisgICAgICAg
ICAgICAgICAgICAgR1RFU1RfU1RSSU5HSUZZXyhTdWl0ZU5hbWUpLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgIEdURVNUX1JFR0lTVEVSRURfVEVTVF9O
QU1FU18oU3VpdGVOYW1lKSwgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICA6
OnRlc3Rpbmc6OmludGVybmFsOjpHZW5lcmF0ZU5hbWVzPCAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6Ok5hbWVHZW5lcmF0
b3JTZWxlY3RvcjwgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgX19WQV9B
UkdTX18+Ojp0eXBlLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAg
ICAgICAgICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6R2VuZXJhdGVUeXBlTGlzdDxUeXBlcz46
OnR5cGU+KCkpCiAKIC8vIExlZ2FjeSBBUEkgaXMgZGVwcmVjYXRlZCBidXQgc3RpbGwgYXZhaWxh
YmxlCkBAIC0zMjgsNCArMzMyLDYgQEAgSU5TVEFOVElBVEVfVFlQRURfVEVTVF9TVUlURV9QKE15
LCBGb29UZXN0LCBNeVR5cGVzKTsKICAgSU5TVEFOVElBVEVfVFlQRURfVEVTVF9TVUlURV9QCiAj
ZW5kaWYgIC8vIEdURVNUX1JFTU9WRV9MRUdBQ1lfVEVTVF9DQVNFQVBJXwogCi0jZW5kaWYgIC8v
IEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9UWVBFRF9URVNUX0hfCisjZW5kaWYgIC8v
IEdURVNUX0hBU19UWVBFRF9URVNUX1AKKworI2VuZGlmICAvLyBHVEVTVF9JTkNMVURFX0dURVNU
X0dURVNUX1RZUEVEX1RFU1RfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkv
Z29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC5oIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9w
YXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgKaW5kZXggZDE5YTU4N2Ex
OGNmLi4zOWNmZjA4ZDY1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29v
Z2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRf
cGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdC5oCkBAIC0yNyw2ICsyNyw3
IEBACiAvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKIC8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKKy8vCiAvLyBUaGUgR29vZ2xl
IEMrKyBUZXN0aW5nIGFuZCBNb2NraW5nIEZyYW1ld29yayAoR29vZ2xlIFRlc3QpCiAvLwogLy8g
VGhpcyBoZWFkZXIgZmlsZSBkZWZpbmVzIHRoZSBwdWJsaWMgQVBJIGZvciBHb29nbGUgVGVzdC4g
IEl0IHNob3VsZCBiZQpAQCAtNDYsOCArNDcsMTAgQEAKIC8vIHJlZ2lzdHJhdGlvbiBmcm9tIEJh
cnRoZWxlbXkgRGFnZW5haXMnIChiYXJ0aGVsZW15QHByb2xvZ2lxdWUuY29tKQogLy8gZWFzeVVu
aXQgZnJhbWV3b3JrLgogCi0jaWZuZGVmIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9I
XwotI2RlZmluZSBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfSF8KKy8vIEdPT0dMRVRF
U1RfQ00wMDAxIERPIE5PVCBERUxFVEUKKworI2lmbmRlZiBHVEVTVF9JTkNMVURFX0dURVNUX0dU
RVNUX0hfCisjZGVmaW5lIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfSF8KIAogI2luY2x1ZGUg
PGNzdGRkZWY+CiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtNTYsMjIgKzU5LDMxIEBACiAjaW5jbHVk
ZSA8dHlwZV90cmFpdHM+CiAjaW5jbHVkZSA8dmVjdG9yPgogCi0jaW5jbHVkZSAiZ3Rlc3QvZ3Rl
c3QtYXNzZXJ0aW9uLXJlc3VsdC5oIgorI2luY2x1ZGUgImd0ZXN0L2ludGVybmFsL2d0ZXN0LWlu
dGVybmFsLmgiCisjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3Qtc3RyaW5nLmgiCiAjaW5j
bHVkZSAiZ3Rlc3QvZ3Rlc3QtZGVhdGgtdGVzdC5oIgogI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LW1h
dGNoZXJzLmgiCiAjaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QtbWVzc2FnZS5oIgogI2luY2x1ZGUgImd0
ZXN0L2d0ZXN0LXBhcmFtLXRlc3QuaCIKICNpbmNsdWRlICJndGVzdC9ndGVzdC1wcmludGVycy5o
IgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0X3Byb2QuaCIKICNpbmNsdWRlICJndGVzdC9ndGVzdC10
ZXN0LXBhcnQuaCIKICNpbmNsdWRlICJndGVzdC9ndGVzdC10eXBlZC10ZXN0LmgiCi0jaW5jbHVk
ZSAiZ3Rlc3QvZ3Rlc3RfcHJlZF9pbXBsLmgiCi0jaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3RfcHJvZC5o
IgotI2luY2x1ZGUgImd0ZXN0L2ludGVybmFsL2d0ZXN0LWludGVybmFsLmgiCi0jaW5jbHVkZSAi
Z3Rlc3QvaW50ZXJuYWwvZ3Rlc3Qtc3RyaW5nLmgiCiAKIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5J
TkdTX1BVU0hfKDQyNTEgXAogLyogY2xhc3MgQSBuZWVkcyB0byBoYXZlIGRsbC1pbnRlcmZhY2Ug
dG8gYmUgdXNlZCBieSBjbGllbnRzIG9mIGNsYXNzIEIgKi8pCiAKK25hbWVzcGFjZSB0ZXN0aW5n
IHsKKworLy8gU2lsZW5jZSBDNDEwMCAodW5yZWZlcmVuY2VkIGZvcm1hbCBwYXJhbWV0ZXIpIGFu
ZCA0ODA1CisvLyB1bnNhZmUgbWl4IG9mIHR5cGUgJ2NvbnN0IGludCcgYW5kIHR5cGUgJ2NvbnN0
IGJvb2wnCisjaWZkZWYgX01TQ19WRVIKKyMgcHJhZ21hIHdhcm5pbmcocHVzaCkKKyMgcHJhZ21h
IHdhcm5pbmcoZGlzYWJsZTo0ODA1KQorIyBwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQxMDApCisj
ZW5kaWYKKworCiAvLyBEZWNsYXJlcyB0aGUgZmxhZ3MuCiAKIC8vIFRoaXMgZmxhZyB0ZW1wb3Jh
cnkgZW5hYmxlcyB0aGUgZGlzYWJsZWQgdGVzdHMuCkBAIC04OSwxMCArMTAxLDYgQEAgR1RFU1Rf
REVDTEFSRV9ib29sXyhjYXRjaF9leGNlcHRpb25zKTsKIC8vIHRvIGxldCBHb29nbGUgVGVzdCBk
ZWNpZGUuCiBHVEVTVF9ERUNMQVJFX3N0cmluZ18oY29sb3IpOwogCi0vLyBUaGlzIGZsYWcgY29u
dHJvbHMgd2hldGhlciB0aGUgdGVzdCBydW5uZXIgc2hvdWxkIGNvbnRpbnVlIGV4ZWN1dGlvbiBw
YXN0Ci0vLyBmaXJzdCBmYWlsdXJlLgotR1RFU1RfREVDTEFSRV9ib29sXyhmYWlsX2Zhc3QpOwot
CiAvLyBUaGlzIGZsYWcgc2V0cyB1cCB0aGUgZmlsdGVyIHRvIHNlbGVjdCBieSBuYW1lIHVzaW5n
IGEgZ2xvYiBwYXR0ZXJuCiAvLyB0aGUgdGVzdHMgdG8gcnVuLiBJZiB0aGUgZmlsdGVyIGlzIG5v
dCBnaXZlbiBhbGwgdGVzdHMgYXJlIGV4ZWN1dGVkLgogR1RFU1RfREVDTEFSRV9zdHJpbmdfKGZp
bHRlcik7CkBAIC0xMDksOSArMTE3LDYgQEAgR1RFU1RfREVDTEFSRV9ib29sXyhsaXN0X3Rlc3Rz
KTsKIC8vIGluIGFkZGl0aW9uIHRvIGl0cyBub3JtYWwgdGV4dHVhbCBvdXRwdXQuCiBHVEVTVF9E
RUNMQVJFX3N0cmluZ18ob3V0cHV0KTsKIAotLy8gVGhpcyBmbGFncyBjb250cm9sIHdoZXRoZXIg
R29vZ2xlIFRlc3QgcHJpbnRzIG9ubHkgdGVzdCBmYWlsdXJlcy4KLUdURVNUX0RFQ0xBUkVfYm9v
bF8oYnJpZWYpOwotCiAvLyBUaGlzIGZsYWdzIGNvbnRyb2wgd2hldGhlciBHb29nbGUgVGVzdCBw
cmludHMgdGhlIGVsYXBzZWQgdGltZSBmb3IgZWFjaAogLy8gdGVzdC4KIEdURVNUX0RFQ0xBUkVf
Ym9vbF8ocHJpbnRfdGltZSk7CkBAIC0xMjYsMTIgKzEzMSw2IEBAIEdURVNUX0RFQ0xBUkVfaW50
MzJfKHJhbmRvbV9zZWVkKTsKIC8vIGlzIDEuIElmIHRoZSB2YWx1ZSBpcyAtMSB0aGUgdGVzdHMg
YXJlIHJlcGVhdGluZyBmb3JldmVyLgogR1RFU1RfREVDTEFSRV9pbnQzMl8ocmVwZWF0KTsKIAot
Ly8gVGhpcyBmbGFnIGNvbnRyb2xzIHdoZXRoZXIgR29vZ2xlIFRlc3QgRW52aXJvbm1lbnRzIGFy
ZSByZWNyZWF0ZWQgZm9yIGVhY2gKLS8vIHJlcGVhdCBvZiB0aGUgdGVzdHMuIFRoZSBkZWZhdWx0
IHZhbHVlIGlzIHRydWUuIElmIHNldCB0byBmYWxzZSB0aGUgZ2xvYmFsCi0vLyB0ZXN0IEVudmly
b25tZW50IG9iamVjdHMgYXJlIG9ubHkgc2V0IHVwIG9uY2UsIGZvciB0aGUgZmlyc3QgaXRlcmF0
aW9uLCBhbmQKLS8vIG9ubHkgdG9ybiBkb3duIG9uY2UsIGZvciB0aGUgbGFzdC4KLUdURVNUX0RF
Q0xBUkVfYm9vbF8ocmVjcmVhdGVfZW52aXJvbm1lbnRzX3doZW5fcmVwZWF0aW5nKTsKLQogLy8g
VGhpcyBmbGFnIGNvbnRyb2xzIHdoZXRoZXIgR29vZ2xlIFRlc3QgaW5jbHVkZXMgR29vZ2xlIFRl
c3QgaW50ZXJuYWwKIC8vIHN0YWNrIGZyYW1lcyBpbiBmYWlsdXJlIHN0YWNrIHRyYWNlcy4KIEdU
RVNUX0RFQ0xBUkVfYm9vbF8oc2hvd19pbnRlcm5hbF9zdGFja19mcmFtZXMpOwpAQCAtMTU3LDE2
ICsxNTYsNiBAQCBHVEVTVF9ERUNMQVJFX3N0cmluZ18oc3RyZWFtX3Jlc3VsdF90byk7CiBHVEVT
VF9ERUNMQVJFX3N0cmluZ18oZmxhZ2ZpbGUpOwogI2VuZGlmICAvLyBHVEVTVF9VU0VfT1dOX0ZM
QUdGSUxFX0ZMQUdfCiAKLW5hbWVzcGFjZSB0ZXN0aW5nIHsKLQotLy8gU2lsZW5jZSBDNDEwMCAo
dW5yZWZlcmVuY2VkIGZvcm1hbCBwYXJhbWV0ZXIpIGFuZCA0ODA1Ci0vLyB1bnNhZmUgbWl4IG9m
IHR5cGUgJ2NvbnN0IGludCcgYW5kIHR5cGUgJ2NvbnN0IGJvb2wnCi0jaWZkZWYgX01TQ19WRVIK
LSNwcmFnbWEgd2FybmluZyhwdXNoKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGUgOiA0ODA1KQot
I3ByYWdtYSB3YXJuaW5nKGRpc2FibGUgOiA0MTAwKQotI2VuZGlmCi0KIC8vIFRoZSB1cHBlciBs
aW1pdCBmb3IgdmFsaWQgc3RhY2sgdHJhY2UgZGVwdGhzLgogY29uc3QgaW50IGtNYXhTdGFja1Ry
YWNlRGVwdGggPSAxMDA7CiAKQEAgLTIwNSw2ICsxOTQsMTkzIEBAIHVzaW5nIFRlc3RDYXNlID0g
VGVzdFN1aXRlOwogY2xhc3MgVGVzdEluZm87CiBjbGFzcyBVbml0VGVzdDsKIAorLy8gQSBjbGFz
cyBmb3IgaW5kaWNhdGluZyB3aGV0aGVyIGFuIGFzc2VydGlvbiB3YXMgc3VjY2Vzc2Z1bC4gIFdo
ZW4KKy8vIHRoZSBhc3NlcnRpb24gd2Fzbid0IHN1Y2Nlc3NmdWwsIHRoZSBBc3NlcnRpb25SZXN1
bHQgb2JqZWN0CisvLyByZW1lbWJlcnMgYSBub24tZW1wdHkgbWVzc2FnZSB0aGF0IGRlc2NyaWJl
cyBob3cgaXQgZmFpbGVkLgorLy8KKy8vIFRvIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGlzIGNs
YXNzLCB1c2Ugb25lIG9mIHRoZSBmYWN0b3J5IGZ1bmN0aW9ucworLy8gKEFzc2VydGlvblN1Y2Nl
c3MoKSBhbmQgQXNzZXJ0aW9uRmFpbHVyZSgpKS4KKy8vCisvLyBUaGlzIGNsYXNzIGlzIHVzZWZ1
bCBmb3IgdHdvIHB1cnBvc2VzOgorLy8gICAxLiBEZWZpbmluZyBwcmVkaWNhdGUgZnVuY3Rpb25z
IHRvIGJlIHVzZWQgd2l0aCBCb29sZWFuIHRlc3QgYXNzZXJ0aW9ucworLy8gICAgICBFWFBFQ1Rf
VFJVRS9FWFBFQ1RfRkFMU0UgYW5kIHRoZWlyIEFTU0VSVF8gY291bnRlcnBhcnRzCisvLyAgIDIu
IERlZmluaW5nIHByZWRpY2F0ZS1mb3JtYXQgZnVuY3Rpb25zIHRvIGJlCisvLyAgICAgIHVzZWQg
d2l0aCBwcmVkaWNhdGUgYXNzZXJ0aW9ucyAoQVNTRVJUX1BSRURfRk9STUFUKiwgZXRjKS4KKy8v
CisvLyBGb3IgZXhhbXBsZSwgaWYgeW91IGRlZmluZSBJc0V2ZW4gcHJlZGljYXRlOgorLy8KKy8v
ICAgdGVzdGluZzo6QXNzZXJ0aW9uUmVzdWx0IElzRXZlbihpbnQgbikgeworLy8gICAgIGlmICgo
biAlIDIpID09IDApCisvLyAgICAgICByZXR1cm4gdGVzdGluZzo6QXNzZXJ0aW9uU3VjY2Vzcygp
OworLy8gICAgIGVsc2UKKy8vICAgICAgIHJldHVybiB0ZXN0aW5nOjpBc3NlcnRpb25GYWlsdXJl
KCkgPDwgbiA8PCAiIGlzIG9kZCI7CisvLyAgIH0KKy8vCisvLyBUaGVuIHRoZSBmYWlsZWQgZXhw
ZWN0YXRpb24gRVhQRUNUX1RSVUUoSXNFdmVuKEZpYig1KSkpCisvLyB3aWxsIHByaW50IHRoZSBt
ZXNzYWdlCisvLworLy8gICBWYWx1ZSBvZjogSXNFdmVuKEZpYig1KSkKKy8vICAgICBBY3R1YWw6
IGZhbHNlICg1IGlzIG9kZCkKKy8vICAgRXhwZWN0ZWQ6IHRydWUKKy8vCisvLyBpbnN0ZWFkIG9m
IGEgbW9yZSBvcGFxdWUKKy8vCisvLyAgIFZhbHVlIG9mOiBJc0V2ZW4oRmliKDUpKQorLy8gICAg
IEFjdHVhbDogZmFsc2UKKy8vICAgRXhwZWN0ZWQ6IHRydWUKKy8vCisvLyBpbiBjYXNlIElzRXZl
biBpcyBhIHNpbXBsZSBCb29sZWFuIHByZWRpY2F0ZS4KKy8vCisvLyBJZiB5b3UgZXhwZWN0IHlv
dXIgcHJlZGljYXRlIHRvIGJlIHJldXNlZCBhbmQgd2FudCB0byBzdXBwb3J0IGluZm9ybWF0aXZl
CisvLyBtZXNzYWdlcyBpbiBFWFBFQ1RfRkFMU0UgYW5kIEFTU0VSVF9GQUxTRSAobmVnYXRpdmUg
YXNzZXJ0aW9ucyBzaG93IHVwCisvLyBhYm91dCBoYWxmIGFzIG9mdGVuIGFzIHBvc2l0aXZlIG9u
ZXMgaW4gb3VyIHRlc3RzKSwgc3VwcGx5IG1lc3NhZ2VzIGZvcgorLy8gYm90aCBzdWNjZXNzIGFu
ZCBmYWlsdXJlIGNhc2VzOgorLy8KKy8vICAgdGVzdGluZzo6QXNzZXJ0aW9uUmVzdWx0IElzRXZl
bihpbnQgbikgeworLy8gICAgIGlmICgobiAlIDIpID09IDApCisvLyAgICAgICByZXR1cm4gdGVz
dGluZzo6QXNzZXJ0aW9uU3VjY2VzcygpIDw8IG4gPDwgIiBpcyBldmVuIjsKKy8vICAgICBlbHNl
CisvLyAgICAgICByZXR1cm4gdGVzdGluZzo6QXNzZXJ0aW9uRmFpbHVyZSgpIDw8IG4gPDwgIiBp
cyBvZGQiOworLy8gICB9CisvLworLy8gVGhlbiBhIHN0YXRlbWVudCBFWFBFQ1RfRkFMU0UoSXNF
dmVuKEZpYig2KSkpIHdpbGwgcHJpbnQKKy8vCisvLyAgIFZhbHVlIG9mOiBJc0V2ZW4oRmliKDYp
KQorLy8gICAgIEFjdHVhbDogdHJ1ZSAoOCBpcyBldmVuKQorLy8gICBFeHBlY3RlZDogZmFsc2UK
Ky8vCisvLyBOQjogUHJlZGljYXRlcyB0aGF0IHN1cHBvcnQgbmVnYXRpdmUgQm9vbGVhbiBhc3Nl
cnRpb25zIGhhdmUgcmVkdWNlZAorLy8gcGVyZm9ybWFuY2UgaW4gcG9zaXRpdmUgb25lcyBzbyBi
ZSBjYXJlZnVsIG5vdCB0byB1c2UgdGhlbSBpbiB0ZXN0cworLy8gdGhhdCBoYXZlIGxvdHMgKHRl
bnMgb2YgdGhvdXNhbmRzKSBvZiBwb3NpdGl2ZSBCb29sZWFuIGFzc2VydGlvbnMuCisvLworLy8g
VG8gdXNlIHRoaXMgY2xhc3Mgd2l0aCBFWFBFQ1RfUFJFRF9GT1JNQVQgYXNzZXJ0aW9ucyBzdWNo
IGFzOgorLy8KKy8vICAgLy8gVmVyaWZpZXMgdGhhdCBGb28oKSByZXR1cm5zIGFuIGV2ZW4gbnVt
YmVyLgorLy8gICBFWFBFQ1RfUFJFRF9GT1JNQVQxKElzRXZlbiwgRm9vKCkpOworLy8KKy8vIHlv
dSBuZWVkIHRvIGRlZmluZToKKy8vCisvLyAgIHRlc3Rpbmc6OkFzc2VydGlvblJlc3VsdCBJc0V2
ZW4oY29uc3QgY2hhciogZXhwciwgaW50IG4pIHsKKy8vICAgICBpZiAoKG4gJSAyKSA9PSAwKQor
Ly8gICAgICAgcmV0dXJuIHRlc3Rpbmc6OkFzc2VydGlvblN1Y2Nlc3MoKTsKKy8vICAgICBlbHNl
CisvLyAgICAgICByZXR1cm4gdGVzdGluZzo6QXNzZXJ0aW9uRmFpbHVyZSgpCisvLyAgICAgICAg
IDw8ICJFeHBlY3RlZDogIiA8PCBleHByIDw8ICIgaXMgZXZlblxuICBBY3R1YWw6IGl0J3MgIiA8
PCBuOworLy8gICB9CisvLworLy8gSWYgRm9vKCkgcmV0dXJucyA1LCB5b3Ugd2lsbCBzZWUgdGhl
IGZvbGxvd2luZyBtZXNzYWdlOgorLy8KKy8vICAgRXhwZWN0ZWQ6IEZvbygpIGlzIGV2ZW4KKy8v
ICAgICBBY3R1YWw6IGl0J3MgNQorLy8KK2NsYXNzIEdURVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0
IHsKKyBwdWJsaWM6CisgIC8vIENvcHkgY29uc3RydWN0b3IuCisgIC8vIFVzZWQgaW4gRVhQRUNU
X1RSVUUvRkFMU0UoYXNzZXJ0aW9uX3Jlc3VsdCkuCisgIEFzc2VydGlvblJlc3VsdChjb25zdCBB
c3NlcnRpb25SZXN1bHQmIG90aGVyKTsKKworLy8gQzQ4MDAgaXMgYSBsZXZlbCAzIHdhcm5pbmcg
aW4gVmlzdWFsIFN0dWRpbyAyMDE1IGFuZCBlYXJsaWVyLgorLy8gVGhpcyB3YXJuaW5nIGlzIG5v
dCBlbWl0dGVkIGluIFZpc3VhbCBTdHVkaW8gMjAxNy4KKy8vIFRoaXMgd2FybmluZyBpcyBvZmYg
YnkgZGVmYXVsdCBzdGFydGluZyBpbiBWaXN1YWwgU3R1ZGlvIDIwMTkgYnV0IGNhbiBiZQorLy8g
ZW5hYmxlZCB3aXRoIGNvbW1hbmQtbGluZSBvcHRpb25zLgorI2lmIGRlZmluZWQoX01TQ19WRVIp
ICYmIChfTVNDX1ZFUiA8IDE5MTAgfHwgX01TQ19WRVIgPj0gMTkyMCkKKyAgR1RFU1RfRElTQUJM
RV9NU0NfV0FSTklOR1NfUFVTSF8oNDgwMCAvKiBmb3JjaW5nIHZhbHVlIHRvIGJvb2wgKi8pCisj
ZW5kaWYKKworICAvLyBVc2VkIGluIHRoZSBFWFBFQ1RfVFJVRS9GQUxTRShib29sX2V4cHJlc3Np
b24pLgorICAvLworICAvLyBUIG11c3QgYmUgY29udGV4dHVhbGx5IGNvbnZlcnRpYmxlIHRvIGJv
b2wuCisgIC8vCisgIC8vIFRoZSBzZWNvbmQgcGFyYW1ldGVyIHByZXZlbnRzIHRoaXMgb3Zlcmxv
YWQgZnJvbSBiZWluZyBjb25zaWRlcmVkIGlmCisgIC8vIHRoZSBhcmd1bWVudCBpcyBpbXBsaWNp
dGx5IGNvbnZlcnRpYmxlIHRvIEFzc2VydGlvblJlc3VsdC4gSW4gdGhhdCBjYXNlCisgIC8vIHdl
IHdhbnQgQXNzZXJ0aW9uUmVzdWx0J3MgY29weSBjb25zdHJ1Y3RvciB0byBiZSB1c2VkLgorICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgZXhwbGljaXQgQXNzZXJ0aW9uUmVzdWx0KAorICAgICAg
Y29uc3QgVCYgc3VjY2VzcywKKyAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPAorICAgICAg
ICAgICFzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIEFzc2VydGlvblJlc3VsdD46OnZhbHVlPjo6dHlw
ZSoKKyAgICAgIC8qZW5hYmxlciovCisgICAgICA9IG51bGxwdHIpCisgICAgICA6IHN1Y2Nlc3Nf
KHN1Y2Nlc3MpIHt9CisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPCAxOTEw
IHx8IF9NU0NfVkVSID49IDE5MjApCisgIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8o
KQorI2VuZGlmCisKKyAgLy8gQXNzaWdubWVudCBvcGVyYXRvci4KKyAgQXNzZXJ0aW9uUmVzdWx0
JiBvcGVyYXRvcj0oQXNzZXJ0aW9uUmVzdWx0IG90aGVyKSB7CisgICAgc3dhcChvdGhlcik7Cisg
ICAgcmV0dXJuICp0aGlzOworICB9CisKKyAgLy8gUmV0dXJucyB0cnVlIGlmIGFuZCBvbmx5IGlm
IHRoZSBhc3NlcnRpb24gc3VjY2VlZGVkLgorICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1
cm4gc3VjY2Vzc187IH0gIC8vIE5PTElOVAorCisgIC8vIFJldHVybnMgdGhlIGFzc2VydGlvbidz
IG5lZ2F0aW9uLiBVc2VkIHdpdGggRVhQRUNUL0FTU0VSVF9GQUxTRS4KKyAgQXNzZXJ0aW9uUmVz
dWx0IG9wZXJhdG9yISgpIGNvbnN0OworCisgIC8vIFJldHVybnMgdGhlIHRleHQgc3RyZWFtZWQg
aW50byB0aGlzIEFzc2VydGlvblJlc3VsdC4gVGVzdCBhc3NlcnRpb25zCisgIC8vIHVzZSBpdCB3
aGVuIHRoZXkgZmFpbCAoaS5lLiwgdGhlIHByZWRpY2F0ZSdzIG91dGNvbWUgZG9lc24ndCBtYXRj
aCB0aGUKKyAgLy8gYXNzZXJ0aW9uJ3MgZXhwZWN0YXRpb24pLiBXaGVuIG5vdGhpbmcgaGFzIGJl
ZW4gc3RyZWFtZWQgaW50byB0aGUKKyAgLy8gb2JqZWN0LCByZXR1cm5zIGFuIGVtcHR5IHN0cmlu
Zy4KKyAgY29uc3QgY2hhciogbWVzc2FnZSgpIGNvbnN0IHsKKyAgICByZXR1cm4gbWVzc2FnZV8u
Z2V0KCkgIT0gbnVsbHB0ciA/IG1lc3NhZ2VfLT5jX3N0cigpIDogIiI7CisgIH0KKyAgLy8gRGVw
cmVjYXRlZDsgcGxlYXNlIHVzZSBtZXNzYWdlKCkgaW5zdGVhZC4KKyAgY29uc3QgY2hhciogZmFp
bHVyZV9tZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbWVzc2FnZSgpOyB9CisKKyAgLy8gU3RyZWFt
cyBhIGN1c3RvbSBmYWlsdXJlIG1lc3NhZ2UgaW50byB0aGlzIG9iamVjdC4KKyAgdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+IEFzc2VydGlvblJlc3VsdCYgb3BlcmF0b3I8PChjb25zdCBUJiB2YWx1ZSkg
eworICAgIEFwcGVuZE1lc3NhZ2UoTWVzc2FnZSgpIDw8IHZhbHVlKTsKKyAgICByZXR1cm4gKnRo
aXM7CisgIH0KKworICAvLyBBbGxvd3Mgc3RyZWFtaW5nIGJhc2ljIG91dHB1dCBtYW5pcHVsYXRv
cnMgc3VjaCBhcyBlbmRsIG9yIGZsdXNoIGludG8KKyAgLy8gdGhpcyBvYmplY3QuCisgIEFzc2Vy
dGlvblJlc3VsdCYgb3BlcmF0b3I8PCgKKyAgICAgIDo6c3RkOjpvc3RyZWFtJiAoKmJhc2ljX21h
bmlwdWxhdG9yKSg6OnN0ZDo6b3N0cmVhbSYgc3RyZWFtKSkgeworICAgIEFwcGVuZE1lc3NhZ2Uo
TWVzc2FnZSgpIDw8IGJhc2ljX21hbmlwdWxhdG9yKTsKKyAgICByZXR1cm4gKnRoaXM7CisgIH0K
KworIHByaXZhdGU6CisgIC8vIEFwcGVuZHMgdGhlIGNvbnRlbnRzIG9mIG1lc3NhZ2UgdG8gbWVz
c2FnZV8uCisgIHZvaWQgQXBwZW5kTWVzc2FnZShjb25zdCBNZXNzYWdlJiBhX21lc3NhZ2UpIHsK
KyAgICBpZiAobWVzc2FnZV8uZ2V0KCkgPT0gbnVsbHB0cikgbWVzc2FnZV8ucmVzZXQobmV3IDo6
c3RkOjpzdHJpbmcpOworICAgIG1lc3NhZ2VfLT5hcHBlbmQoYV9tZXNzYWdlLkdldFN0cmluZygp
LmNfc3RyKCkpOworICB9CisKKyAgLy8gU3dhcCB0aGUgY29udGVudHMgb2YgdGhpcyBBc3NlcnRp
b25SZXN1bHQgd2l0aCBvdGhlci4KKyAgdm9pZCBzd2FwKEFzc2VydGlvblJlc3VsdCYgb3RoZXIp
OworCisgIC8vIFN0b3JlcyByZXN1bHQgb2YgdGhlIGFzc2VydGlvbiBwcmVkaWNhdGUuCisgIGJv
b2wgc3VjY2Vzc187CisgIC8vIFN0b3JlcyB0aGUgbWVzc2FnZSBkZXNjcmliaW5nIHRoZSBjb25k
aXRpb24gaW4gY2FzZSB0aGUgZXhwZWN0YXRpb24KKyAgLy8gY29uc3RydWN0IGlzIG5vdCBzYXRp
c2ZpZWQgd2l0aCB0aGUgcHJlZGljYXRlJ3Mgb3V0Y29tZS4KKyAgLy8gUmVmZXJlbmNlZCB2aWEg
YSBwb2ludGVyIHRvIGF2b2lkIHRha2luZyB0b28gbXVjaCBzdGFjayBmcmFtZSBzcGFjZQorICAv
LyB3aXRoIHRlc3QgYXNzZXJ0aW9ucy4KKyAgc3RkOjp1bmlxdWVfcHRyPCA6OnN0ZDo6c3RyaW5n
PiBtZXNzYWdlXzsKK307CisKKy8vIE1ha2VzIGEgc3VjY2Vzc2Z1bCBhc3NlcnRpb24gcmVzdWx0
LgorR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgQXNzZXJ0aW9uU3VjY2VzcygpOworCisvLyBN
YWtlcyBhIGZhaWxlZCBhc3NlcnRpb24gcmVzdWx0LgorR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1
bHQgQXNzZXJ0aW9uRmFpbHVyZSgpOworCisvLyBNYWtlcyBhIGZhaWxlZCBhc3NlcnRpb24gcmVz
dWx0IHdpdGggdGhlIGdpdmVuIGZhaWx1cmUgbWVzc2FnZS4KKy8vIERlcHJlY2F0ZWQ7IHVzZSBB
c3NlcnRpb25GYWlsdXJlKCkgPDwgbXNnLgorR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgQXNz
ZXJ0aW9uRmFpbHVyZShjb25zdCBNZXNzYWdlJiBtc2cpOworCit9ICAvLyBuYW1lc3BhY2UgdGVz
dGluZworCisvLyBJbmNsdWRlcyB0aGUgYXV0by1nZW5lcmF0ZWQgaGVhZGVyIHRoYXQgaW1wbGVt
ZW50cyBhIGZhbWlseSBvZiBnZW5lcmljCisvLyBwcmVkaWNhdGUgYXNzZXJ0aW9uIG1hY3Jvcy4g
VGhpcyBpbmNsdWRlIGNvbWVzIGxhdGUgYmVjYXVzZSBpdCByZWxpZXMgb24KKy8vIEFQSXMgZGVj
bGFyZWQgYWJvdmUuCisjaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3RfcHJlZF9pbXBsLmgiCisKK25hbWVz
cGFjZSB0ZXN0aW5nIHsKKwogLy8gVGhlIGFic3RyYWN0IGNsYXNzIHRoYXQgYWxsIHRlc3RzIGlu
aGVyaXQgZnJvbS4KIC8vCiAvLyBJbiBHb29nbGUgVGVzdCwgYSB1bml0IHRlc3QgcHJvZ3JhbSBj
b250YWlucyBvbmUgb3IgbWFueSBUZXN0U3VpdGVzLCBhbmQKQEAgLTIzNSwxMCArNDExLDEwIEBA
IGNsYXNzIEdURVNUX0FQSV8gVGVzdCB7CiAgIC8vIFRoZSBkJ3RvciBpcyB2aXJ0dWFsIGFzIHdl
IGludGVuZCB0byBpbmhlcml0IGZyb20gVGVzdC4KICAgdmlydHVhbCB+VGVzdCgpOwogCi0gIC8v
IFNldHMgdXAgdGhlIHN0dWZmIHNoYXJlZCBieSBhbGwgdGVzdHMgaW4gdGhpcyB0ZXN0IHN1aXRl
LgorICAvLyBTZXRzIHVwIHRoZSBzdHVmZiBzaGFyZWQgYnkgYWxsIHRlc3RzIGluIHRoaXMgdGVz
dCBjYXNlLgogICAvLwogICAvLyBHb29nbGUgVGVzdCB3aWxsIGNhbGwgRm9vOjpTZXRVcFRlc3RT
dWl0ZSgpIGJlZm9yZSBydW5uaW5nIHRoZSBmaXJzdAotICAvLyB0ZXN0IGluIHRlc3Qgc3VpdGUg
Rm9vLiAgSGVuY2UgYSBzdWItY2xhc3MgY2FuIGRlZmluZSBpdHMgb3duCisgIC8vIHRlc3QgaW4g
dGVzdCBjYXNlIEZvby4gIEhlbmNlIGEgc3ViLWNsYXNzIGNhbiBkZWZpbmUgaXRzIG93bgogICAv
LyBTZXRVcFRlc3RTdWl0ZSgpIG1ldGhvZCB0byBzaGFkb3cgdGhlIG9uZSBkZWZpbmVkIGluIHRo
ZSBzdXBlcgogICAvLyBjbGFzcy4KICAgc3RhdGljIHZvaWQgU2V0VXBUZXN0U3VpdGUoKSB7fQpA
QCAtMjQ2LDEzICs0MjIsMTIgQEAgY2xhc3MgR1RFU1RfQVBJXyBUZXN0IHsKICAgLy8gVGVhcnMg
ZG93biB0aGUgc3R1ZmYgc2hhcmVkIGJ5IGFsbCB0ZXN0cyBpbiB0aGlzIHRlc3Qgc3VpdGUuCiAg
IC8vCiAgIC8vIEdvb2dsZSBUZXN0IHdpbGwgY2FsbCBGb286OlRlYXJEb3duVGVzdFN1aXRlKCkg
YWZ0ZXIgcnVubmluZyB0aGUgbGFzdAotICAvLyB0ZXN0IGluIHRlc3Qgc3VpdGUgRm9vLiAgSGVu
Y2UgYSBzdWItY2xhc3MgY2FuIGRlZmluZSBpdHMgb3duCisgIC8vIHRlc3QgaW4gdGVzdCBjYXNl
IEZvby4gIEhlbmNlIGEgc3ViLWNsYXNzIGNhbiBkZWZpbmUgaXRzIG93bgogICAvLyBUZWFyRG93
blRlc3RTdWl0ZSgpIG1ldGhvZCB0byBzaGFkb3cgdGhlIG9uZSBkZWZpbmVkIGluIHRoZSBzdXBl
cgogICAvLyBjbGFzcy4KICAgc3RhdGljIHZvaWQgVGVhckRvd25UZXN0U3VpdGUoKSB7fQogCi0g
IC8vIExlZ2FjeSBBUEkgaXMgZGVwcmVjYXRlZCBidXQgc3RpbGwgYXZhaWxhYmxlLiBVc2UgU2V0
VXBUZXN0U3VpdGUgYW5kCi0gIC8vIFRlYXJEb3duVGVzdFN1aXRlIGluc3RlYWQuCisgIC8vIExl
Z2FjeSBBUEkgaXMgZGVwcmVjYXRlZCBidXQgc3RpbGwgYXZhaWxhYmxlCiAjaWZuZGVmIEdURVNU
X1JFTU9WRV9MRUdBQ1lfVEVTVF9DQVNFQVBJXwogICBzdGF0aWMgdm9pZCBUZWFyRG93blRlc3RD
YXNlKCkge30KICAgc3RhdGljIHZvaWQgU2V0VXBUZXN0Q2FzZSgpIHt9CkBAIC0zMzksOCArNTE0
LDcgQEAgY2xhc3MgR1RFU1RfQVBJXyBUZXN0IHsKICAgdmlydHVhbCBTZXR1cF9zaG91bGRfYmVf
c3BlbGxlZF9TZXRVcCogU2V0dXAoKSB7IHJldHVybiBudWxscHRyOyB9CiAKICAgLy8gV2UgZGlz
YWxsb3cgY29weWluZyBUZXN0cy4KLSAgVGVzdChjb25zdCBUZXN0JikgPSBkZWxldGU7Ci0gIFRl
c3QmIG9wZXJhdG9yPShjb25zdCBUZXN0JikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NP
UFlfQU5EX0FTU0lHTl8oVGVzdCk7CiB9OwogCiB0eXBlZGVmIGludGVybmFsOjpUaW1lSW5NaWxs
aXMgVGltZUluTWlsbGlzOwpAQCAtMzU0LDE3ICs1MjgsMjQgQEAgY2xhc3MgVGVzdFByb3BlcnR5
IHsKICAgLy8gQyd0b3IuICBUZXN0UHJvcGVydHkgZG9lcyBOT1QgaGF2ZSBhIGRlZmF1bHQgY29u
c3RydWN0b3IuCiAgIC8vIEFsd2F5cyB1c2UgdGhpcyBjb25zdHJ1Y3RvciAod2l0aCBwYXJhbWV0
ZXJzKSB0byBjcmVhdGUgYQogICAvLyBUZXN0UHJvcGVydHkgb2JqZWN0LgotICBUZXN0UHJvcGVy
dHkoY29uc3Qgc3RkOjpzdHJpbmcmIGFfa2V5LCBjb25zdCBzdGQ6OnN0cmluZyYgYV92YWx1ZSkK
LSAgICAgIDoga2V5XyhhX2tleSksIHZhbHVlXyhhX3ZhbHVlKSB7fQorICBUZXN0UHJvcGVydHko
Y29uc3Qgc3RkOjpzdHJpbmcmIGFfa2V5LCBjb25zdCBzdGQ6OnN0cmluZyYgYV92YWx1ZSkgOgor
ICAgIGtleV8oYV9rZXkpLCB2YWx1ZV8oYV92YWx1ZSkgeworICB9CiAKICAgLy8gR2V0cyB0aGUg
dXNlciBzdXBwbGllZCBrZXkuCi0gIGNvbnN0IGNoYXIqIGtleSgpIGNvbnN0IHsgcmV0dXJuIGtl
eV8uY19zdHIoKTsgfQorICBjb25zdCBjaGFyKiBrZXkoKSBjb25zdCB7CisgICAgcmV0dXJuIGtl
eV8uY19zdHIoKTsKKyAgfQogCiAgIC8vIEdldHMgdGhlIHVzZXIgc3VwcGxpZWQgdmFsdWUuCi0g
IGNvbnN0IGNoYXIqIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gdmFsdWVfLmNfc3RyKCk7IH0KKyAg
Y29uc3QgY2hhciogdmFsdWUoKSBjb25zdCB7CisgICAgcmV0dXJuIHZhbHVlXy5jX3N0cigpOwor
ICB9CiAKICAgLy8gU2V0cyBhIG5ldyB2YWx1ZSwgb3ZlcnJpZGluZyB0aGUgb25lIHN1cHBsaWVk
IGluIHRoZSBjb25zdHJ1Y3Rvci4KLSAgdm9pZCBTZXRWYWx1ZShjb25zdCBzdGQ6OnN0cmluZyYg
bmV3X3ZhbHVlKSB7IHZhbHVlXyA9IG5ld192YWx1ZTsgfQorICB2b2lkIFNldFZhbHVlKGNvbnN0
IHN0ZDo6c3RyaW5nJiBuZXdfdmFsdWUpIHsKKyAgICB2YWx1ZV8gPSBuZXdfdmFsdWU7CisgIH0K
IAogIHByaXZhdGU6CiAgIC8vIFRoZSBrZXkgc3VwcGxpZWQgYnkgdGhlIHVzZXIuCkBAIC00ODQs
NyArNjY1LDcgQEAgY2xhc3MgR1RFU1RfQVBJXyBUZXN0UmVzdWx0IHsKIAogICAvLyBQcm90ZWN0
cyBtdXRhYmxlIHN0YXRlIG9mIHRoZSBwcm9wZXJ0eSB2ZWN0b3IgYW5kIG9mIG93bmVkCiAgIC8v
IHByb3BlcnRpZXMsIHdob3NlIHZhbHVlcyBtYXkgYmUgdXBkYXRlZC4KLSAgaW50ZXJuYWw6Ok11
dGV4IHRlc3RfcHJvcGVydGllc19tdXRleF87CisgIGludGVybmFsOjpNdXRleCB0ZXN0X3Byb3Bl
cml0ZXNfbXV0ZXhfOwogCiAgIC8vIFRoZSB2ZWN0b3Igb2YgVGVzdFBhcnRSZXN1bHRzCiAgIHN0
ZDo6dmVjdG9yPFRlc3RQYXJ0UmVzdWx0PiB0ZXN0X3BhcnRfcmVzdWx0c187CkBAIC00OTgsOCAr
Njc5LDcgQEAgY2xhc3MgR1RFU1RfQVBJXyBUZXN0UmVzdWx0IHsKICAgVGltZUluTWlsbGlzIGVs
YXBzZWRfdGltZV87CiAKICAgLy8gV2UgZGlzYWxsb3cgY29weWluZyBUZXN0UmVzdWx0LgotICBU
ZXN0UmVzdWx0KGNvbnN0IFRlc3RSZXN1bHQmKSA9IGRlbGV0ZTsKLSAgVGVzdFJlc3VsdCYgb3Bl
cmF0b3I9KGNvbnN0IFRlc3RSZXN1bHQmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09Q
WV9BTkRfQVNTSUdOXyhUZXN0UmVzdWx0KTsKIH07ICAvLyBjbGFzcyBUZXN0UmVzdWx0CiAKIC8v
IEEgVGVzdEluZm8gb2JqZWN0IHN0b3JlcyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGFib3V0
IGEgdGVzdDoKQEAgLTYxNSwxNiArNzk1LDEzIEBAIGNsYXNzIEdURVNUX0FQSV8gVGVzdEluZm8g
ewogICAvLyBkZWxldGVzIGl0LgogICB2b2lkIFJ1bigpOwogCi0gIC8vIFNraXAgYW5kIHJlY29y
ZHMgdGhlIHRlc3QgcmVzdWx0IGZvciB0aGlzIG9iamVjdC4KLSAgdm9pZCBTa2lwKCk7Ci0KICAg
c3RhdGljIHZvaWQgQ2xlYXJUZXN0UmVzdWx0KFRlc3RJbmZvKiB0ZXN0X2luZm8pIHsKICAgICB0
ZXN0X2luZm8tPnJlc3VsdF8uQ2xlYXIoKTsKICAgfQogCiAgIC8vIFRoZXNlIGZpZWxkcyBhcmUg
aW1tdXRhYmxlIHByb3BlcnRpZXMgb2YgdGhlIHRlc3QuCi0gIGNvbnN0IHN0ZDo6c3RyaW5nIHRl
c3Rfc3VpdGVfbmFtZV87ICAvLyB0ZXN0IHN1aXRlIG5hbWUKLSAgY29uc3Qgc3RkOjpzdHJpbmcg
bmFtZV87ICAgICAgICAgICAgIC8vIFRlc3QgbmFtZQorICBjb25zdCBzdGQ6OnN0cmluZyB0ZXN0
X3N1aXRlX25hbWVfOyAgICAvLyB0ZXN0IHN1aXRlIG5hbWUKKyAgY29uc3Qgc3RkOjpzdHJpbmcg
bmFtZV87ICAgICAgICAgICAgICAgLy8gVGVzdCBuYW1lCiAgIC8vIE5hbWUgb2YgdGhlIHBhcmFt
ZXRlciB0eXBlLCBvciBOVUxMIGlmIHRoaXMgaXMgbm90IGEgdHlwZWQgb3IgYQogICAvLyB0eXBl
LXBhcmFtZXRlcml6ZWQgdGVzdC4KICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPGNvbnN0IDo6c3Rk
OjpzdHJpbmc+IHR5cGVfcGFyYW1fOwpAQCAtNjQ1LDggKzgyMiw3IEBAIGNsYXNzIEdURVNUX0FQ
SV8gVGVzdEluZm8gewogICAvLyB0ZXN0IGZvciB0aGUgc2Vjb25kIHRpbWUuCiAgIFRlc3RSZXN1
bHQgcmVzdWx0XzsKIAotICBUZXN0SW5mbyhjb25zdCBUZXN0SW5mbyYpID0gZGVsZXRlOwotICBU
ZXN0SW5mbyYgb3BlcmF0b3I9KGNvbnN0IFRlc3RJbmZvJikgPSBkZWxldGU7CisgIEdURVNUX0RJ
U0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8oVGVzdEluZm8pOwogfTsKIAogLy8gQSB0ZXN0IHN1aXRl
LCB3aGljaCBjb25zaXN0cyBvZiBhIHZlY3RvciBvZiBUZXN0SW5mb3MuCkBAIC03NTQsNyArOTMw
LDcgQEAgY2xhc3MgR1RFU1RfQVBJXyBUZXN0U3VpdGUgewogCiAgIC8vIEFkZHMgYSBUZXN0SW5m
byB0byB0aGlzIHRlc3Qgc3VpdGUuICBXaWxsIGRlbGV0ZSB0aGUgVGVzdEluZm8gdXBvbgogICAv
LyBkZXN0cnVjdGlvbiBvZiB0aGUgVGVzdFN1aXRlIG9iamVjdC4KLSAgdm9pZCBBZGRUZXN0SW5m
byhUZXN0SW5mbyogdGVzdF9pbmZvKTsKKyAgdm9pZCBBZGRUZXN0SW5mbyhUZXN0SW5mbyAqIHRl
c3RfaW5mbyk7CiAKICAgLy8gQ2xlYXJzIHRoZSByZXN1bHRzIG9mIGFsbCB0ZXN0cyBpbiB0aGlz
IHRlc3Qgc3VpdGUuCiAgIHZvaWQgQ2xlYXJSZXN1bHQoKTsKQEAgLTc2Nyw5ICs5NDMsNiBAQCBj
bGFzcyBHVEVTVF9BUElfIFRlc3RTdWl0ZSB7CiAgIC8vIFJ1bnMgZXZlcnkgdGVzdCBpbiB0aGlz
IFRlc3RTdWl0ZS4KICAgdm9pZCBSdW4oKTsKIAotICAvLyBTa2lwcyB0aGUgZXhlY3V0aW9uIG9m
IHRlc3RzIHVuZGVyIHRoaXMgVGVzdFN1aXRlCi0gIHZvaWQgU2tpcCgpOwotCiAgIC8vIFJ1bnMg
U2V0VXBUZXN0U3VpdGUoKSBmb3IgdGhpcyBUZXN0U3VpdGUuICBUaGlzIHdyYXBwZXIgaXMgbmVl
ZGVkCiAgIC8vIGZvciBjYXRjaGluZyBleGNlcHRpb25zIHRocm93biBmcm9tIFNldFVwVGVzdFN1
aXRlKCkuCiAgIHZvaWQgUnVuU2V0VXBUZXN0U3VpdGUoKSB7CkBAIC04NTUsOCArMTAyOCw3IEBA
IGNsYXNzIEdURVNUX0FQSV8gVGVzdFN1aXRlIHsKICAgVGVzdFJlc3VsdCBhZF9ob2NfdGVzdF9y
ZXN1bHRfOwogCiAgIC8vIFdlIGRpc2FsbG93IGNvcHlpbmcgVGVzdFN1aXRlcy4KLSAgVGVzdFN1
aXRlKGNvbnN0IFRlc3RTdWl0ZSYpID0gZGVsZXRlOwotICBUZXN0U3VpdGUmIG9wZXJhdG9yPShj
b25zdCBUZXN0U3VpdGUmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNT
SUdOXyhUZXN0U3VpdGUpOwogfTsKIAogLy8gQW4gRW52aXJvbm1lbnQgb2JqZWN0IGlzIGNhcGFi
bGUgb2Ygc2V0dGluZyB1cCBhbmQgdGVhcmluZyBkb3duIGFuCkBAIC04ODMsNyArMTA1NSw2IEBA
IGNsYXNzIEVudmlyb25tZW50IHsKIAogICAvLyBPdmVycmlkZSB0aGlzIHRvIGRlZmluZSBob3cg
dG8gdGVhciBkb3duIHRoZSBlbnZpcm9ubWVudC4KICAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkg
e30KLQogIHByaXZhdGU6CiAgIC8vIElmIHlvdSBzZWUgYW4gZXJyb3IgYWJvdXQgb3ZlcnJpZGlu
ZyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIG9yCiAgIC8vIGFib3V0IGl0IGJlaW5nIHByaXZhdGUs
IHlvdSBoYXZlIG1pcy1zcGVsbGVkIFNldFVwKCkgYXMgU2V0dXAoKS4KQEAgLTkzNSw5ICsxMTA2
LDYgQEAgY2xhc3MgVGVzdEV2ZW50TGlzdGVuZXIgewogICAvLyBGaXJlZCBiZWZvcmUgdGhlIHRl
c3Qgc3RhcnRzLgogICB2aXJ0dWFsIHZvaWQgT25UZXN0U3RhcnQoY29uc3QgVGVzdEluZm8mIHRl
c3RfaW5mbykgPSAwOwogCi0gIC8vIEZpcmVkIHdoZW4gYSB0ZXN0IGlzIGRpc2FibGVkCi0gIHZp
cnR1YWwgdm9pZCBPblRlc3REaXNhYmxlZChjb25zdCBUZXN0SW5mbyYgLyp0ZXN0X2luZm8qLykg
e30KLQogICAvLyBGaXJlZCBhZnRlciBhIGZhaWxlZCBhc3NlcnRpb24gb3IgYSBTVUNDRUVEKCkg
aW52b2NhdGlvbi4KICAgLy8gSWYgeW91IHdhbnQgdG8gdGhyb3cgYW4gZXhjZXB0aW9uIGZyb20g
dGhpcyBmdW5jdGlvbiB0byBza2lwIHRvIHRoZSBuZXh0CiAgIC8vIFRFU1QsIGl0IG11c3QgYmUg
QXNzZXJ0aW9uRXhjZXB0aW9uIGRlZmluZWQgYWJvdmUsIG9yIGluaGVyaXRlZCBmcm9tIGl0LgpA
QCAtOTYxLDcgKzExMjksOCBAQCBjbGFzcyBUZXN0RXZlbnRMaXN0ZW5lciB7CiAgIHZpcnR1YWwg
dm9pZCBPbkVudmlyb25tZW50c1RlYXJEb3duRW5kKGNvbnN0IFVuaXRUZXN0JiB1bml0X3Rlc3Qp
ID0gMDsKIAogICAvLyBGaXJlZCBhZnRlciBlYWNoIGl0ZXJhdGlvbiBvZiB0ZXN0cyBmaW5pc2hl
cy4KLSAgdmlydHVhbCB2b2lkIE9uVGVzdEl0ZXJhdGlvbkVuZChjb25zdCBVbml0VGVzdCYgdW5p
dF90ZXN0LCBpbnQgaXRlcmF0aW9uKSA9IDA7CisgIHZpcnR1YWwgdm9pZCBPblRlc3RJdGVyYXRp
b25FbmQoY29uc3QgVW5pdFRlc3QmIHVuaXRfdGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaXRlcmF0aW9uKSA9IDA7CiAKICAgLy8gRmlyZWQgYWZ0ZXIgYWxsIHRl
c3QgYWN0aXZpdGllcyBoYXZlIGVuZGVkLgogICB2aXJ0dWFsIHZvaWQgT25UZXN0UHJvZ3JhbUVu
ZChjb25zdCBVbml0VGVzdCYgdW5pdF90ZXN0KSA9IDA7CkBAIC05ODYsNyArMTE1NSw2IEBAIGNs
YXNzIEVtcHR5VGVzdEV2ZW50TGlzdGVuZXIgOiBwdWJsaWMgVGVzdEV2ZW50TGlzdGVuZXIgewog
I2VuZGlmICAvLyAgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElfCiAKICAgdm9pZCBP
blRlc3RTdGFydChjb25zdCBUZXN0SW5mbyYgLyp0ZXN0X2luZm8qLykgb3ZlcnJpZGUge30KLSAg
dm9pZCBPblRlc3REaXNhYmxlZChjb25zdCBUZXN0SW5mbyYgLyp0ZXN0X2luZm8qLykgb3ZlcnJp
ZGUge30KICAgdm9pZCBPblRlc3RQYXJ0UmVzdWx0KGNvbnN0IFRlc3RQYXJ0UmVzdWx0JiAvKnRl
c3RfcGFydF9yZXN1bHQqLykgb3ZlcnJpZGUge30KICAgdm9pZCBPblRlc3RFbmQoY29uc3QgVGVz
dEluZm8mIC8qdGVzdF9pbmZvKi8pIG92ZXJyaWRlIHt9CiAgIHZvaWQgT25UZXN0U3VpdGVFbmQo
Y29uc3QgVGVzdFN1aXRlJiAvKnRlc3Rfc3VpdGUqLykgb3ZlcnJpZGUge30KQEAgLTEwNzYsOCAr
MTI0NCw3IEBAIGNsYXNzIEdURVNUX0FQSV8gVGVzdEV2ZW50TGlzdGVuZXJzIHsKICAgVGVzdEV2
ZW50TGlzdGVuZXIqIGRlZmF1bHRfeG1sX2dlbmVyYXRvcl87CiAKICAgLy8gV2UgZGlzYWxsb3cg
Y29weWluZyBUZXN0RXZlbnRMaXN0ZW5lcnMuCi0gIFRlc3RFdmVudExpc3RlbmVycyhjb25zdCBU
ZXN0RXZlbnRMaXN0ZW5lcnMmKSA9IGRlbGV0ZTsKLSAgVGVzdEV2ZW50TGlzdGVuZXJzJiBvcGVy
YXRvcj0oY29uc3QgVGVzdEV2ZW50TGlzdGVuZXJzJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FM
TE9XX0NPUFlfQU5EX0FTU0lHTl8oVGVzdEV2ZW50TGlzdGVuZXJzKTsKIH07CiAKIC8vIEEgVW5p
dFRlc3QgY29uc2lzdHMgb2YgYSB2ZWN0b3Igb2YgVGVzdFN1aXRlcy4KQEAgLTExMjAsNyArMTI4
Nyw4IEBAIGNsYXNzIEdURVNUX0FQSV8gVW5pdFRlc3QgewogCiAgIC8vIFJldHVybnMgdGhlIFRl
c3RJbmZvIG9iamVjdCBmb3IgdGhlIHRlc3QgdGhhdCdzIGN1cnJlbnRseSBydW5uaW5nLAogICAv
LyBvciBOVUxMIGlmIG5vIHRlc3QgaXMgcnVubmluZy4KLSAgY29uc3QgVGVzdEluZm8qIGN1cnJl
bnRfdGVzdF9pbmZvKCkgY29uc3QgR1RFU1RfTE9DS19FWENMVURFRF8obXV0ZXhfKTsKKyAgY29u
c3QgVGVzdEluZm8qIGN1cnJlbnRfdGVzdF9pbmZvKCkgY29uc3QKKyAgICAgIEdURVNUX0xPQ0tf
RVhDTFVERURfKG11dGV4Xyk7CiAKICAgLy8gUmV0dXJucyB0aGUgcmFuZG9tIHNlZWQgdXNlZCBh
dCB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgdGVzdCBydW4uCiAgIGludCByYW5kb21fc2VlZCgp
IGNvbnN0OwpAQCAtMTIyNiw3ICsxMzk0LDggQEAgY2xhc3MgR1RFU1RfQVBJXyBVbml0VGVzdCB7
CiAgIC8vIGV2ZW50dWFsbHkgY2FsbCB0aGlzIHRvIHJlcG9ydCB0aGVpciByZXN1bHRzLiAgVGhl
IHVzZXIgY29kZQogICAvLyBzaG91bGQgdXNlIHRoZSBhc3NlcnRpb24gbWFjcm9zIGluc3RlYWQg
b2YgY2FsbGluZyB0aGlzIGRpcmVjdGx5LgogICB2b2lkIEFkZFRlc3RQYXJ0UmVzdWx0KFRlc3RQ
YXJ0UmVzdWx0OjpUeXBlIHJlc3VsdF90eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIqIGZpbGVfbmFtZSwgaW50IGxpbmVfbnVtYmVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGNoYXIqIGZpbGVfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgbGluZV9udW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJp
bmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcm
IG9zX3N0YWNrX3RyYWNlKQogICAgICAgR1RFU1RfTE9DS19FWENMVURFRF8obXV0ZXhfKTsKQEAg
LTEyNTcsNyArMTQyNiw4IEBAIGNsYXNzIEdURVNUX0FQSV8gVW5pdFRlc3QgewogICBmcmllbmQg
c3RkOjpzZXQ8c3RkOjpzdHJpbmc+KiBpbnRlcm5hbDo6R2V0SWdub3JlZFBhcmFtZXRlcml6ZWRU
ZXN0U3VpdGVzKCk7CiAgIGZyaWVuZCBpbnRlcm5hbDo6VW5pdFRlc3RJbXBsKiBpbnRlcm5hbDo6
R2V0VW5pdFRlc3RJbXBsKCk7CiAgIGZyaWVuZCB2b2lkIGludGVybmFsOjpSZXBvcnRGYWlsdXJl
SW5Vbmtub3duTG9jYXRpb24oCi0gICAgICBUZXN0UGFydFJlc3VsdDo6VHlwZSByZXN1bHRfdHlw
ZSwgY29uc3Qgc3RkOjpzdHJpbmcmIG1lc3NhZ2UpOworICAgICAgVGVzdFBhcnRSZXN1bHQ6OlR5
cGUgcmVzdWx0X3R5cGUsCisgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgbWVzc2FnZSk7CiAKICAg
Ly8gQ3JlYXRlcyBhbiBlbXB0eSBVbml0VGVzdC4KICAgVW5pdFRlc3QoKTsKQEAgLTEyNzEsNyAr
MTQ0MSw4IEBAIGNsYXNzIEdURVNUX0FQSV8gVW5pdFRlc3QgewogICAgICAgR1RFU1RfTE9DS19F
WENMVURFRF8obXV0ZXhfKTsKIAogICAvLyBQb3BzIGEgdHJhY2UgZnJvbSB0aGUgcGVyLXRocmVh
ZCBHb29nbGUgVGVzdCB0cmFjZSBzdGFjay4KLSAgdm9pZCBQb3BHVGVzdFRyYWNlKCkgR1RFU1Rf
TE9DS19FWENMVURFRF8obXV0ZXhfKTsKKyAgdm9pZCBQb3BHVGVzdFRyYWNlKCkKKyAgICAgIEdU
RVNUX0xPQ0tfRVhDTFVERURfKG11dGV4Xyk7CiAKICAgLy8gUHJvdGVjdHMgbXV0YWJsZSBzdGF0
ZSBpbiAqaW1wbF8uICBUaGlzIGlzIG11dGFibGUgYXMgc29tZSBjb25zdAogICAvLyBtZXRob2Rz
IG5lZWQgdG8gbG9jayBpdCB0b28uCkBAIC0xMjg0LDggKzE0NTUsNyBAQCBjbGFzcyBHVEVTVF9B
UElfIFVuaXRUZXN0IHsKICAgaW50ZXJuYWw6OlVuaXRUZXN0SW1wbCogaW1wbF87CiAKICAgLy8g
V2UgZGlzYWxsb3cgY29weWluZyBVbml0VGVzdC4KLSAgVW5pdFRlc3QoY29uc3QgVW5pdFRlc3Qm
KSA9IGRlbGV0ZTsKLSAgVW5pdFRlc3QmIG9wZXJhdG9yPShjb25zdCBVbml0VGVzdCYpID0gZGVs
ZXRlOworICBHVEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKFVuaXRUZXN0KTsKIH07CiAK
IC8vIEEgY29udmVuaWVudCB3cmFwcGVyIGZvciBhZGRpbmcgYW4gZW52aXJvbm1lbnQgZm9yIHRo
ZSB0ZXN0CkBAIC0xMzM2LDExICsxNTA2LDEzIEBAIG5hbWVzcGFjZSBpbnRlcm5hbCB7CiAvLyB3
aGVuIGNhbGxpbmcgRVhQRUNUXyogaW4gYSB0aWdodCBsb29wLgogdGVtcGxhdGUgPHR5cGVuYW1l
IFQxLCB0eXBlbmFtZSBUMj4KIEFzc2VydGlvblJlc3VsdCBDbXBIZWxwZXJFUUZhaWx1cmUoY29u
c3QgY2hhciogbGhzX2V4cHJlc3Npb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGNoYXIqIHJoc19leHByZXNzaW9uLCBjb25zdCBUMSYgbGhzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUMiYgcmhzKSB7Ci0gIHJldHVybiBFcUZh
aWx1cmUobGhzX2V4cHJlc3Npb24sIHJoc19leHByZXNzaW9uLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiByaHNfZXhwcmVzc2lvbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVDEmIGxocywgY29uc3QgVDImIHJocykgewor
ICByZXR1cm4gRXFGYWlsdXJlKGxoc19leHByZXNzaW9uLAorICAgICAgICAgICAgICAgICAgIHJo
c19leHByZXNzaW9uLAogICAgICAgICAgICAgICAgICAgIEZvcm1hdEZvckNvbXBhcmlzb25GYWls
dXJlTWVzc2FnZShsaHMsIHJocyksCi0gICAgICAgICAgICAgICAgICAgRm9ybWF0Rm9yQ29tcGFy
aXNvbkZhaWx1cmVNZXNzYWdlKHJocywgbGhzKSwgZmFsc2UpOworICAgICAgICAgICAgICAgICAg
IEZvcm1hdEZvckNvbXBhcmlzb25GYWlsdXJlTWVzc2FnZShyaHMsIGxocyksCisgICAgICAgICAg
ICAgICAgICAgZmFsc2UpOwogfQogCiAvLyBUaGlzIGJsb2NrIG9mIGNvZGUgZGVmaW5lcyBvcGVy
YXRvcj09LyE9CkBAIC0xMzUzLDcgKzE1MjUsOCBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGZh
a2V0eXBlLCBmYWtldHlwZSkgeyByZXR1cm4gZmFsc2U7IH0KIC8vIFRoZSBoZWxwZXIgZnVuY3Rp
b24gZm9yIHtBU1NFUlR8RVhQRUNUfV9FUS4KIHRlbXBsYXRlIDx0eXBlbmFtZSBUMSwgdHlwZW5h
bWUgVDI+CiBBc3NlcnRpb25SZXN1bHQgQ21wSGVscGVyRVEoY29uc3QgY2hhciogbGhzX2V4cHJl
c3Npb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzX2V4cHJl
c3Npb24sIGNvbnN0IFQxJiBsaHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciogcmhzX2V4cHJlc3Npb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
VDEmIGxocywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUMiYgcmhzKSB7CiAg
IGlmIChsaHMgPT0gcmhzKSB7CiAgICAgcmV0dXJuIEFzc2VydGlvblN1Y2Nlc3MoKTsKQEAgLTEz
NjIsNiArMTUzNSwxNCBAQCBBc3NlcnRpb25SZXN1bHQgQ21wSGVscGVyRVEoY29uc3QgY2hhciog
bGhzX2V4cHJlc3Npb24sCiAgIHJldHVybiBDbXBIZWxwZXJFUUZhaWx1cmUobGhzX2V4cHJlc3Np
b24sIHJoc19leHByZXNzaW9uLCBsaHMsIHJocyk7CiB9CiAKKy8vIFdpdGggdGhpcyBvdmVybG9h
ZGVkIHZlcnNpb24sIHdlIGFsbG93IGFub255bW91cyBlbnVtcyB0byBiZSB1c2VkCisvLyBpbiB7
QVNTRVJUfEVYUEVDVH1fRVEgd2hlbiBjb21waWxlZCB3aXRoIGdjYyA0LCBhcyBhbm9ueW1vdXMg
ZW51bXMKKy8vIGNhbiBiZSBpbXBsaWNpdGx5IGNhc3QgdG8gQmlnZ2VzdEludC4KK0dURVNUX0FQ
SV8gQXNzZXJ0aW9uUmVzdWx0IENtcEhlbHBlckVRKGNvbnN0IGNoYXIqIGxoc19leHByZXNzaW9u
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhz
X2V4cHJlc3Npb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWdn
ZXN0SW50IGxocywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpZ2dl
c3RJbnQgcmhzKTsKKwogY2xhc3MgRXFIZWxwZXIgewogIHB1YmxpYzoKICAgLy8gVGhpcyB0ZW1w
bGF0aXplZCB2ZXJzaW9uIGlzIGZvciB0aGUgZ2VuZXJhbCBjYXNlLgpAQCAtMTM4NCw3ICsxNTY1
LDggQEAgY2xhc3MgRXFIZWxwZXIgewogICAvLyBFdmVuIHRob3VnaCBpdHMgYm9keSBsb29rcyB0
aGUgc2FtZSBhcyB0aGUgYWJvdmUgdmVyc2lvbiwgd2UKICAgLy8gY2Fubm90IG1lcmdlIHRoZSB0
d28sIGFzIGl0IHdpbGwgbWFrZSBhbm9ueW1vdXMgZW51bXMgdW5oYXBweS4KICAgc3RhdGljIEFz
c2VydGlvblJlc3VsdCBDb21wYXJlKGNvbnN0IGNoYXIqIGxoc19leHByZXNzaW9uLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzX2V4cHJlc3Npb24sIEJp
Z2dlc3RJbnQgbGhzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh
ciogcmhzX2V4cHJlc3Npb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWdn
ZXN0SW50IGxocywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpZ2dlc3RJbnQg
cmhzKSB7CiAgICAgcmV0dXJuIENtcEhlbHBlckVRKGxoc19leHByZXNzaW9uLCByaHNfZXhwcmVz
c2lvbiwgbGhzLCByaHMpOwogICB9CkBAIC0xNDE3LDMxICsxNTk5LDM4IEBAIEFzc2VydGlvblJl
c3VsdCBDbXBIZWxwZXJPcEZhaWx1cmUoY29uc3QgY2hhciogZXhwcjEsIGNvbnN0IGNoYXIqIGV4
cHIyLAogLy8gQVNTRVJUXz8/IGFuZCBFWFBFQ1RfPz8uICBJdCBpcyBoZXJlIGp1c3QgdG8gYXZv
aWQgY29weS1hbmQtcGFzdGUKIC8vIG9mIHNpbWlsYXIgY29kZS4KIC8vCisvLyBGb3IgZWFjaCB0
ZW1wbGF0aXplZCBoZWxwZXIgZnVuY3Rpb24sIHdlIGFsc28gZGVmaW5lIGFuIG92ZXJsb2FkZWQK
Ky8vIHZlcnNpb24gZm9yIEJpZ2dlc3RJbnQgaW4gb3JkZXIgdG8gcmVkdWNlIGNvZGUgYmxvYXQg
YW5kIGFsbG93CisvLyBhbm9ueW1vdXMgZW51bXMgdG8gYmUgdXNlZCB3aXRoIHtBU1NFUlR8RVhQ
RUNUfV8/PyB3aGVuIGNvbXBpbGVkCisvLyB3aXRoIGdjYyA0LgorLy8KIC8vIElOVEVSTkFMIElN
UExFTUVOVEFUSU9OIC0gRE8gTk9UIFVTRSBJTiBBIFVTRVIgUFJPR1JBTS4KIAotI2RlZmluZSBH
VEVTVF9JTVBMX0NNUF9IRUxQRVJfKG9wX25hbWUsIG9wKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBBc3NlcnRpb25SZXN1bHQgQ21wSGVs
cGVyIyNvcF9uYW1lKGNvbnN0IGNoYXIqIGV4cHIxLCBjb25zdCBjaGFyKiBleHByMiwgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFQxJiB2YWwxLCBjb25zdCBU
MiYgdmFsMikgeyAgICAgXAotICAgIGlmICh2YWwxIG9wIHZhbDIpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgcmV0dXJuIEFzc2Vy
dGlvblN1Y2Nlc3MoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgcmV0dXJuIENtcEhlbHBlck9wRmFpbHVyZShl
eHByMSwgZXhwcjIsIHZhbDEsIHZhbDIsICNvcCk7ICAgICAgICAgICAgXAotICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB9CisjZGVmaW5lIEdURVNUX0lNUExfQ01QX0hFTFBFUl8ob3BfbmFtZSwgb3Ap
XAordGVtcGxhdGUgPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj5cCitBc3NlcnRpb25SZXN1bHQg
Q21wSGVscGVyIyNvcF9uYW1lKGNvbnN0IGNoYXIqIGV4cHIxLCBjb25zdCBjaGFyKiBleHByMiwg
XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUMSYgdmFsMSwgY29u
c3QgVDImIHZhbDIpIHtcCisgIGlmICh2YWwxIG9wIHZhbDIpIHtcCisgICAgcmV0dXJuIEFzc2Vy
dGlvblN1Y2Nlc3MoKTtcCisgIH0gZWxzZSB7XAorICAgIHJldHVybiBDbXBIZWxwZXJPcEZhaWx1
cmUoZXhwcjEsIGV4cHIyLCB2YWwxLCB2YWwyLCAjb3ApO1wKKyAgfVwKK31cCitHVEVTVF9BUElf
IEFzc2VydGlvblJlc3VsdCBDbXBIZWxwZXIjI29wX25hbWUoXAorICAgIGNvbnN0IGNoYXIqIGV4
cHIxLCBjb25zdCBjaGFyKiBleHByMiwgQmlnZ2VzdEludCB2YWwxLCBCaWdnZXN0SW50IHZhbDIp
CiAKIC8vIElOVEVSTkFMIElNUExFTUVOVEFUSU9OIC0gRE8gTk9UIFVTRSBJTiBBIFVTRVIgUFJP
R1JBTS4KIAogLy8gSW1wbGVtZW50cyB0aGUgaGVscGVyIGZ1bmN0aW9uIGZvciB7QVNTRVJUfEVY
UEVDVH1fTkUKLUdURVNUX0lNUExfQ01QX0hFTFBFUl8oTkUsICE9KQorR1RFU1RfSU1QTF9DTVBf
SEVMUEVSXyhORSwgIT0pOwogLy8gSW1wbGVtZW50cyB0aGUgaGVscGVyIGZ1bmN0aW9uIGZvciB7
QVNTRVJUfEVYUEVDVH1fTEUKLUdURVNUX0lNUExfQ01QX0hFTFBFUl8oTEUsIDw9KQorR1RFU1Rf
SU1QTF9DTVBfSEVMUEVSXyhMRSwgPD0pOwogLy8gSW1wbGVtZW50cyB0aGUgaGVscGVyIGZ1bmN0
aW9uIGZvciB7QVNTRVJUfEVYUEVDVH1fTFQKLUdURVNUX0lNUExfQ01QX0hFTFBFUl8oTFQsIDwp
CitHVEVTVF9JTVBMX0NNUF9IRUxQRVJfKExULCA8KTsKIC8vIEltcGxlbWVudHMgdGhlIGhlbHBl
ciBmdW5jdGlvbiBmb3Ige0FTU0VSVHxFWFBFQ1R9X0dFCi1HVEVTVF9JTVBMX0NNUF9IRUxQRVJf
KEdFLCA+PSkKK0dURVNUX0lNUExfQ01QX0hFTFBFUl8oR0UsID49KTsKIC8vIEltcGxlbWVudHMg
dGhlIGhlbHBlciBmdW5jdGlvbiBmb3Ige0FTU0VSVHxFWFBFQ1R9X0dUCi1HVEVTVF9JTVBMX0NN
UF9IRUxQRVJfKEdULCA+KQorR1RFU1RfSU1QTF9DTVBfSEVMUEVSXyhHVCwgPik7CiAKICN1bmRl
ZiBHVEVTVF9JTVBMX0NNUF9IRUxQRVJfCiAKQEAgLTE0NTAsNDIgKzE2MzksNDkgQEAgR1RFU1Rf
SU1QTF9DTVBfSEVMUEVSXyhHVCwgPikKIC8vIElOVEVSTkFMIElNUExFTUVOVEFUSU9OIC0gRE8g
Tk9UIFVTRSBJTiBBIFVTRVIgUFJPR1JBTS4KIEdURVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0IENt
cEhlbHBlclNUUkVRKGNvbnN0IGNoYXIqIHMxX2V4cHJlc3Npb24sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBzMl9leHByZXNzaW9uLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogczEsIGNv
bnN0IGNoYXIqIHMyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIqIHMxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgY2hhciogczIpOwogCiAvLyBUaGUgaGVscGVyIGZ1bmN0aW9uIGZvciB7QVNTRVJU
fEVYUEVDVH1fU1RSQ0FTRUVRLgogLy8KIC8vIElOVEVSTkFMIElNUExFTUVOVEFUSU9OIC0gRE8g
Tk9UIFVTRSBJTiBBIFVTRVIgUFJPR1JBTS4KIEdURVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0IENt
cEhlbHBlclNUUkNBU0VFUShjb25zdCBjaGFyKiBzMV9leHByZXNzaW9uLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHMyX2V4cHJlc3Np
b24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciogczEsIGNvbnN0IGNoYXIqIHMyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBzMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBzMik7CiAKIC8vIFRoZSBoZWxwZXIg
ZnVuY3Rpb24gZm9yIHtBU1NFUlR8RVhQRUNUfV9TVFJORS4KIC8vCiAvLyBJTlRFUk5BTCBJTVBM
RU1FTlRBVElPTiAtIERPIE5PVCBVU0UgSU4gQSBVU0VSIFBST0dSQU0uCiBHVEVTVF9BUElfIEFz
c2VydGlvblJlc3VsdCBDbXBIZWxwZXJTVFJORShjb25zdCBjaGFyKiBzMV9leHByZXNzaW9uLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogczJf
ZXhwcmVzc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBzMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHMyKTsKIAogLy8gVGhlIGhlbHBlciBmdW5j
dGlvbiBmb3Ige0FTU0VSVHxFWFBFQ1R9X1NUUkNBU0VORS4KIC8vCiAvLyBJTlRFUk5BTCBJTVBM
RU1FTlRBVElPTiAtIERPIE5PVCBVU0UgSU4gQSBVU0VSIFBST0dSQU0uCiBHVEVTVF9BUElfIEFz
c2VydGlvblJlc3VsdCBDbXBIZWxwZXJTVFJDQVNFTkUoY29uc3QgY2hhciogczFfZXhwcmVzc2lv
biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiBzMl9leHByZXNzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogczEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogczIpOwor
CiAKIC8vIEhlbHBlciBmdW5jdGlvbiBmb3IgKl9TVFJFUSBvbiB3aWRlIHN0cmluZ3MuCiAvLwog
Ly8gSU5URVJOQUwgSU1QTEVNRU5UQVRJT04gLSBETyBOT1QgVVNFIElOIEEgVVNFUiBQUk9HUkFN
LgogR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgQ21wSGVscGVyU1RSRVEoY29uc3QgY2hhciog
czFfZXhwcmVzc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIqIHMyX2V4cHJlc3Npb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBzMSwgY29uc3Qgd2NoYXJfdCogczIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2NoYXJfdCogczEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90
KiBzMik7CiAKIC8vIEhlbHBlciBmdW5jdGlvbiBmb3IgKl9TVFJORSBvbiB3aWRlIHN0cmluZ3Mu
CiAvLwogLy8gSU5URVJOQUwgSU1QTEVNRU5UQVRJT04gLSBETyBOT1QgVVNFIElOIEEgVVNFUiBQ
Uk9HUkFNLgogR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgQ21wSGVscGVyU1RSTkUoY29uc3Qg
Y2hhciogczFfZXhwcmVzc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGNoYXIqIHMyX2V4cHJlc3Npb24sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBzMSwgY29uc3Qgd2NoYXJfdCogczIp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2NoYXJf
dCogczEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3
Y2hhcl90KiBzMik7CiAKIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAogCkBAIC0xNDk3LDQwICsx
NjkzLDMyIEBAIEdURVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0IENtcEhlbHBlclNUUk5FKGNvbnN0
IGNoYXIqIHMxX2V4cHJlc3Npb24sCiAvLwogLy8gVGhlIHtuZWVkbGUsaGF5c3RhY2t9X2V4cHIg
YXJndW1lbnRzIGFyZSB0aGUgc3RyaW5naWZpZWQKIC8vIGV4cHJlc3Npb25zIHRoYXQgZ2VuZXJh
dGVkIHRoZSB0d28gcmVhbCBhcmd1bWVudHMuCi1HVEVTVF9BUElfIEFzc2VydGlvblJlc3VsdCBJ
c1N1YnN0cmluZyhjb25zdCBjaGFyKiBuZWVkbGVfZXhwciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuZWVkbGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBoYXlzdGFjayk7Ci1H
VEVTVF9BUElfIEFzc2VydGlvblJlc3VsdCBJc1N1YnN0cmluZyhjb25zdCBjaGFyKiBuZWVkbGVf
ZXhwciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIq
IGhheXN0YWNrX2V4cHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB3Y2hhcl90KiBuZWVkbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB3Y2hhcl90KiBoYXlzdGFjayk7Ci1HVEVTVF9BUElfIEFzc2VydGlvblJlc3Vs
dCBJc05vdFN1YnN0cmluZyhjb25zdCBjaGFyKiBuZWVkbGVfZXhwciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuZWVk
bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy
KiBoYXlzdGFjayk7Ci1HVEVTVF9BUElfIEFzc2VydGlvblJlc3VsdCBJc05vdFN1YnN0cmluZyhj
b25zdCBjaGFyKiBuZWVkbGVfZXhwciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBuZWVkbGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBoYXlzdGFjayk7
Ci1HVEVTVF9BUElfIEFzc2VydGlvblJlc3VsdCBJc1N1YnN0cmluZyhjb25zdCBjaGFyKiBuZWVk
bGVfZXhwciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIqIGhheXN0YWNrX2V4cHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCA6OnN0ZDo6c3RyaW5nJiBuZWVkbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCA6OnN0ZDo6c3RyaW5nJiBoYXlzdGFjayk7Ci1HVEVTVF9BUElf
IEFzc2VydGlvblJlc3VsdCBJc05vdFN1YnN0cmluZyhjb25zdCBjaGFyKiBuZWVkbGVfZXhwciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGhh
eXN0YWNrX2V4cHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCA6OnN0ZDo6c3RyaW5nJiBuZWVkbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCA6OnN0ZDo6c3RyaW5nJiBoYXlzdGFjayk7CitHVEVTVF9BUElf
IEFzc2VydGlvblJlc3VsdCBJc1N1YnN0cmluZygKKyAgICBjb25zdCBjaGFyKiBuZWVkbGVfZXhw
ciwgY29uc3QgY2hhciogaGF5c3RhY2tfZXhwciwKKyAgICBjb25zdCBjaGFyKiBuZWVkbGUsIGNv
bnN0IGNoYXIqIGhheXN0YWNrKTsKK0dURVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0IElzU3Vic3Ry
aW5nKAorICAgIGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLCBjb25zdCBjaGFyKiBoYXlzdGFja19l
eHByLAorICAgIGNvbnN0IHdjaGFyX3QqIG5lZWRsZSwgY29uc3Qgd2NoYXJfdCogaGF5c3RhY2sp
OworR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgSXNOb3RTdWJzdHJpbmcoCisgICAgY29uc3Qg
Y2hhciogbmVlZGxlX2V4cHIsIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIsCisgICAgY29uc3Qg
Y2hhciogbmVlZGxlLCBjb25zdCBjaGFyKiBoYXlzdGFjayk7CitHVEVTVF9BUElfIEFzc2VydGlv
blJlc3VsdCBJc05vdFN1YnN0cmluZygKKyAgICBjb25zdCBjaGFyKiBuZWVkbGVfZXhwciwgY29u
c3QgY2hhciogaGF5c3RhY2tfZXhwciwKKyAgICBjb25zdCB3Y2hhcl90KiBuZWVkbGUsIGNvbnN0
IHdjaGFyX3QqIGhheXN0YWNrKTsKK0dURVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0IElzU3Vic3Ry
aW5nKAorICAgIGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLCBjb25zdCBjaGFyKiBoYXlzdGFja19l
eHByLAorICAgIGNvbnN0IDo6c3RkOjpzdHJpbmcmIG5lZWRsZSwgY29uc3QgOjpzdGQ6OnN0cmlu
ZyYgaGF5c3RhY2spOworR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgSXNOb3RTdWJzdHJpbmco
CisgICAgY29uc3QgY2hhciogbmVlZGxlX2V4cHIsIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIs
CisgICAgY29uc3QgOjpzdGQ6OnN0cmluZyYgbmVlZGxlLCBjb25zdCA6OnN0ZDo6c3RyaW5nJiBo
YXlzdGFjayk7CiAKICNpZiBHVEVTVF9IQVNfU1REX1dTVFJJTkcKLUdURVNUX0FQSV8gQXNzZXJ0
aW9uUmVzdWx0IElzU3Vic3RyaW5nKGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogaGF5c3RhY2tfZXhwciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDo6c3RkOjp3c3Ry
aW5nJiBuZWVkbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCA6OnN0ZDo6d3N0cmluZyYgaGF5c3RhY2spOwotR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQg
SXNOb3RTdWJzdHJpbmcoY29uc3QgY2hhciogbmVlZGxlX2V4cHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBoYXlzdGFja19leHByLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjpzdGQ6OndzdHJp
bmcmIG5lZWRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IDo6c3RkOjp3c3RyaW5nJiBoYXlzdGFjayk7CitHVEVTVF9BUElfIEFzc2VydGlvblJlc3Vs
dCBJc1N1YnN0cmluZygKKyAgICBjb25zdCBjaGFyKiBuZWVkbGVfZXhwciwgY29uc3QgY2hhciog
aGF5c3RhY2tfZXhwciwKKyAgICBjb25zdCA6OnN0ZDo6d3N0cmluZyYgbmVlZGxlLCBjb25zdCA6
OnN0ZDo6d3N0cmluZyYgaGF5c3RhY2spOworR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgSXNO
b3RTdWJzdHJpbmcoCisgICAgY29uc3QgY2hhciogbmVlZGxlX2V4cHIsIGNvbnN0IGNoYXIqIGhh
eXN0YWNrX2V4cHIsCisgICAgY29uc3QgOjpzdGQ6OndzdHJpbmcmIG5lZWRsZSwgY29uc3QgOjpz
dGQ6OndzdHJpbmcmIGhheXN0YWNrKTsKICNlbmRpZiAgLy8gR1RFU1RfSEFTX1NURF9XU1RSSU5H
CiAKIG5hbWVzcGFjZSBpbnRlcm5hbCB7CkBAIC0xNTQ1LDcgKzE3MzMsOCBAQCBuYW1lc3BhY2Ug
aW50ZXJuYWwgewogdGVtcGxhdGUgPHR5cGVuYW1lIFJhd1R5cGU+CiBBc3NlcnRpb25SZXN1bHQg
Q21wSGVscGVyRmxvYXRpbmdQb2ludEVRKGNvbnN0IGNoYXIqIGxoc19leHByZXNzaW9uLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiByaHNfZXhw
cmVzc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmF3VHlw
ZSBsaHNfdmFsdWUsIFJhd1R5cGUgcmhzX3ZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFJhd1R5cGUgbGhzX3ZhbHVlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSYXdUeXBlIHJoc192YWx1ZSkgewogICBjb25zdCBGbG9h
dGluZ1BvaW50PFJhd1R5cGU+IGxocyhsaHNfdmFsdWUpLCByaHMocmhzX3ZhbHVlKTsKIAogICBp
ZiAobGhzLkFsbW9zdEVxdWFscyhyaHMpKSB7CkBAIC0xNTYwLDggKzE3NDksMTAgQEAgQXNzZXJ0
aW9uUmVzdWx0IENtcEhlbHBlckZsb2F0aW5nUG9pbnRFUShjb25zdCBjaGFyKiBsaHNfZXhwcmVz
c2lvbiwKICAgcmhzX3NzIDw8IHN0ZDo6c2V0cHJlY2lzaW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8
UmF3VHlwZT46OmRpZ2l0czEwICsgMikKICAgICAgICAgIDw8IHJoc192YWx1ZTsKIAotICByZXR1
cm4gRXFGYWlsdXJlKGxoc19leHByZXNzaW9uLCByaHNfZXhwcmVzc2lvbiwKLSAgICAgICAgICAg
ICAgICAgICBTdHJpbmdTdHJlYW1Ub1N0cmluZygmbGhzX3NzKSwgU3RyaW5nU3RyZWFtVG9TdHJp
bmcoJnJoc19zcyksCisgIHJldHVybiBFcUZhaWx1cmUobGhzX2V4cHJlc3Npb24sCisgICAgICAg
ICAgICAgICAgICAgcmhzX2V4cHJlc3Npb24sCisgICAgICAgICAgICAgICAgICAgU3RyaW5nU3Ry
ZWFtVG9TdHJpbmcoJmxoc19zcyksCisgICAgICAgICAgICAgICAgICAgU3RyaW5nU3RyZWFtVG9T
dHJpbmcoJnJoc19zcyksCiAgICAgICAgICAgICAgICAgICAgZmFsc2UpOwogfQogCkBAIC0xNTcx
LDcgKzE3NjIsOCBAQCBBc3NlcnRpb25SZXN1bHQgQ21wSGVscGVyRmxvYXRpbmdQb2ludEVRKGNv
bnN0IGNoYXIqIGxoc19leHByZXNzaW9uLAogR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgRG91
YmxlTmVhclByZWRGb3JtYXQoY29uc3QgY2hhciogZXhwcjEsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBleHByMiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGFic19l
cnJvcl9leHByLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG91YmxlIHZhbDEsIGRvdWJsZSB2YWwyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHZhbDEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgdmFsMiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBhYnNfZXJyb3IpOwogCiAvLyBJ
TlRFUk5BTCBJTVBMRU1FTlRBVElPTiAtIERPIE5PVCBVU0UgSU4gVVNFUiBDT0RFLgpAQCAtMTU3
OSw3ICsxNzcxLDkgQEAgR1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgRG91YmxlTmVhclByZWRG
b3JtYXQoY29uc3QgY2hhciogZXhwcjEsCiBjbGFzcyBHVEVTVF9BUElfIEFzc2VydEhlbHBlciB7
CiAgcHVibGljOgogICAvLyBDb25zdHJ1Y3Rvci4KLSAgQXNzZXJ0SGVscGVyKFRlc3RQYXJ0UmVz
dWx0OjpUeXBlIHR5cGUsIGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLAorICBBc3NlcnRIZWxw
ZXIoVGVzdFBhcnRSZXN1bHQ6OlR5cGUgdHlwZSwKKyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIq
IGZpbGUsCisgICAgICAgICAgICAgICBpbnQgbGluZSwKICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIqIG1lc3NhZ2UpOwogICB+QXNzZXJ0SGVscGVyKCk7CiAKQEAgLTE1OTMsOSArMTc4NywxMSBA
QCBjbGFzcyBHVEVTVF9BUElfIEFzc2VydEhlbHBlciB7CiAgIC8vIHJlLXVzaW5nIHN0YWNrIHNw
YWNlIGV2ZW4gZm9yIHRlbXBvcmFyeSB2YXJpYWJsZXMsIHNvIGV2ZXJ5IEVYUEVDVF9FUQogICAv
LyByZXNlcnZlcyBzdGFjayBzcGFjZSBmb3IgYW5vdGhlciBBc3NlcnRIZWxwZXIuCiAgIHN0cnVj
dCBBc3NlcnRIZWxwZXJEYXRhIHsKLSAgICBBc3NlcnRIZWxwZXJEYXRhKFRlc3RQYXJ0UmVzdWx0
OjpUeXBlIHQsIGNvbnN0IGNoYXIqIHNyY2ZpbGUsIGludCBsaW5lX251bSwKKyAgICBBc3NlcnRI
ZWxwZXJEYXRhKFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHQsCisgICAgICAgICAgICAgICAgICAgICBj
b25zdCBjaGFyKiBzcmNmaWxlLAorICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmVfbnVtLAog
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogbXNnKQotICAgICAgICA6IHR5cGUodCks
IGZpbGUoc3JjZmlsZSksIGxpbmUobGluZV9udW0pLCBtZXNzYWdlKG1zZykge30KKyAgICAgICAg
OiB0eXBlKHQpLCBmaWxlKHNyY2ZpbGUpLCBsaW5lKGxpbmVfbnVtKSwgbWVzc2FnZShtc2cpIHsg
fQogCiAgICAgVGVzdFBhcnRSZXN1bHQ6OlR5cGUgY29uc3QgdHlwZTsKICAgICBjb25zdCBjaGFy
KiBjb25zdCBmaWxlOwpAQCAtMTYwMywxNiArMTc5OSwyMCBAQCBjbGFzcyBHVEVTVF9BUElfIEFz
c2VydEhlbHBlciB7CiAgICAgc3RkOjpzdHJpbmcgY29uc3QgbWVzc2FnZTsKIAogICAgcHJpdmF0
ZToKLSAgICBBc3NlcnRIZWxwZXJEYXRhKGNvbnN0IEFzc2VydEhlbHBlckRhdGEmKSA9IGRlbGV0
ZTsKLSAgICBBc3NlcnRIZWxwZXJEYXRhJiBvcGVyYXRvcj0oY29uc3QgQXNzZXJ0SGVscGVyRGF0
YSYpID0gZGVsZXRlOworICAgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8oQXNzZXJ0
SGVscGVyRGF0YSk7CiAgIH07CiAKICAgQXNzZXJ0SGVscGVyRGF0YSogY29uc3QgZGF0YV87CiAK
LSAgQXNzZXJ0SGVscGVyKGNvbnN0IEFzc2VydEhlbHBlciYpID0gZGVsZXRlOwotICBBc3NlcnRI
ZWxwZXImIG9wZXJhdG9yPShjb25zdCBBc3NlcnRIZWxwZXImKSA9IGRlbGV0ZTsKKyAgR1RFU1Rf
RElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhBc3NlcnRIZWxwZXIpOwogfTsKIAorZW51bSBHVGVz
dENvbG9yIHsgQ09MT1JfREVGQVVMVCwgQ09MT1JfUkVELCBDT0xPUl9HUkVFTiwgQ09MT1JfWUVM
TE9XIH07CisKK0dURVNUX0FQSV8gR1RFU1RfQVRUUklCVVRFX1BSSU5URl8oMiwgMykgdm9pZCBD
b2xvcmVkUHJpbnRmKEdUZXN0Q29sb3IgY29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBmbXQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu
Li4pOworCiB9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKIAogLy8gVGhlIHB1cmUgaW50ZXJmYWNl
IGNsYXNzIHRoYXQgYWxsIHZhbHVlLXBhcmFtZXRlcml6ZWQgdGVzdHMgaW5oZXJpdCBmcm9tLgpA
QCAtMTY2NywxNCArMTg2NywxNSBAQCBjbGFzcyBXaXRoUGFyYW1JbnRlcmZhY2UgewogIHByaXZh
dGU6CiAgIC8vIFNldHMgcGFyYW1ldGVyIHZhbHVlLiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxl
IGZvciBtYWtpbmcgc3VyZSB0aGUgdmFsdWUKICAgLy8gcmVtYWlucyBhbGl2ZSBhbmQgdW5jaGFu
Z2VkIHRocm91Z2hvdXQgdGhlIGN1cnJlbnQgdGVzdC4KLSAgc3RhdGljIHZvaWQgU2V0UGFyYW0o
Y29uc3QgUGFyYW1UeXBlKiBwYXJhbWV0ZXIpIHsgcGFyYW1ldGVyXyA9IHBhcmFtZXRlcjsgfQor
ICBzdGF0aWMgdm9pZCBTZXRQYXJhbShjb25zdCBQYXJhbVR5cGUqIHBhcmFtZXRlcikgeworICAg
IHBhcmFtZXRlcl8gPSBwYXJhbWV0ZXI7CisgIH0KIAogICAvLyBTdGF0aWMgdmFsdWUgdXNlZCBm
b3IgYWNjZXNzaW5nIHBhcmFtZXRlciBkdXJpbmcgYSB0ZXN0IGxpZmV0aW1lLgogICBzdGF0aWMg
Y29uc3QgUGFyYW1UeXBlKiBwYXJhbWV0ZXJfOwogCiAgIC8vIFRlc3RDbGFzcyBtdXN0IGJlIGEg
c3ViY2xhc3Mgb2YgV2l0aFBhcmFtSW50ZXJmYWNlPFQ+IGFuZCBUZXN0LgotICB0ZW1wbGF0ZSA8
Y2xhc3MgVGVzdENsYXNzPgotICBmcmllbmQgY2xhc3MgaW50ZXJuYWw6OlBhcmFtZXRlcml6ZWRU
ZXN0RmFjdG9yeTsKKyAgdGVtcGxhdGUgPGNsYXNzIFRlc3RDbGFzcz4gZnJpZW5kIGNsYXNzIGlu
dGVybmFsOjpQYXJhbWV0ZXJpemVkVGVzdEZhY3Rvcnk7CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KQEAgLTE2ODQsNyArMTg4NSw4IEBAIGNvbnN0IFQqIFdpdGhQYXJhbUludGVyZmFjZTxU
Pjo6cGFyYW1ldGVyXyA9IG51bGxwdHI7CiAvLyBXaXRoUGFyYW1JbnRlcmZhY2UsIGFuZCBjYW4g
anVzdCBpbmhlcml0IGZyb20gOjp0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtLgogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4KLWNsYXNzIFRlc3RXaXRoUGFyYW0gOiBwdWJsaWMgVGVzdCwgcHVibGljIFdp
dGhQYXJhbUludGVyZmFjZTxUPiB7fTsKK2NsYXNzIFRlc3RXaXRoUGFyYW0gOiBwdWJsaWMgVGVz
dCwgcHVibGljIFdpdGhQYXJhbUludGVyZmFjZTxUPiB7Cit9OwogCiAvLyBNYWNyb3MgZm9yIGlu
ZGljYXRpbmcgc3VjY2Vzcy9mYWlsdXJlIGluIHRlc3QgY29kZS4KIApAQCAtMTcxNSw3ICsxOTE3
LDcgQEAgY2xhc3MgVGVzdFdpdGhQYXJhbSA6IHB1YmxpYyBUZXN0LCBwdWJsaWMgV2l0aFBhcmFt
SW50ZXJmYWNlPFQ+IHt9OwogCiAvLyBHZW5lcmF0ZXMgYSBub25mYXRhbCBmYWlsdXJlIGF0IHRo
ZSBnaXZlbiBzb3VyY2UgZmlsZSBsb2NhdGlvbiB3aXRoCiAvLyBhIGdlbmVyaWMgbWVzc2FnZS4K
LSNkZWZpbmUgQUREX0ZBSUxVUkVfQVQoZmlsZSwgbGluZSkgICAgICAgIFwKKyNkZWZpbmUgQURE
X0ZBSUxVUkVfQVQoZmlsZSwgbGluZSkgXAogICBHVEVTVF9NRVNTQUdFX0FUXyhmaWxlLCBsaW5l
LCAiRmFpbGVkIiwgXAogICAgICAgICAgICAgICAgICAgICA6OnRlc3Rpbmc6OlRlc3RQYXJ0UmVz
dWx0OjprTm9uRmF0YWxGYWlsdXJlKQogCkBAIC0xNzMwLDcgKzE5MzIsNyBAQCBjbGFzcyBUZXN0
V2l0aFBhcmFtIDogcHVibGljIFRlc3QsIHB1YmxpYyBXaXRoUGFyYW1JbnRlcmZhY2U8VD4ge307
CiAvLyBEZWZpbmUgdGhpcyBtYWNybyB0byAxIHRvIG9taXQgdGhlIGRlZmluaXRpb24gb2YgRkFJ
TCgpLCB3aGljaCBpcyBhCiAvLyBnZW5lcmljIG5hbWUgYW5kIGNsYXNoZXMgd2l0aCBzb21lIG90
aGVyIGxpYnJhcmllcy4KICNpZiAhR1RFU1RfRE9OVF9ERUZJTkVfRkFJTAotI2RlZmluZSBGQUlM
KCkgR1RFU1RfRkFJTCgpCisjIGRlZmluZSBGQUlMKCkgR1RFU1RfRkFJTCgpCiAjZW5kaWYKIAog
Ly8gR2VuZXJhdGVzIGEgc3VjY2VzcyB3aXRoIGEgZ2VuZXJpYyBtZXNzYWdlLgpAQCAtMTczOSw3
ICsxOTQxLDcgQEAgY2xhc3MgVGVzdFdpdGhQYXJhbSA6IHB1YmxpYyBUZXN0LCBwdWJsaWMgV2l0
aFBhcmFtSW50ZXJmYWNlPFQ+IHt9OwogLy8gRGVmaW5lIHRoaXMgbWFjcm8gdG8gMSB0byBvbWl0
IHRoZSBkZWZpbml0aW9uIG9mIFNVQ0NFRUQoKSwgd2hpY2gKIC8vIGlzIGEgZ2VuZXJpYyBuYW1l
IGFuZCBjbGFzaGVzIHdpdGggc29tZSBvdGhlciBsaWJyYXJpZXMuCiAjaWYgIUdURVNUX0RPTlRf
REVGSU5FX1NVQ0NFRUQKLSNkZWZpbmUgU1VDQ0VFRCgpIEdURVNUX1NVQ0NFRUQoKQorIyBkZWZp
bmUgU1VDQ0VFRCgpIEdURVNUX1NVQ0NFRUQoKQogI2VuZGlmCiAKIC8vIE1hY3JvcyBmb3IgdGVz
dGluZyBleGNlcHRpb25zLgpAQCAtMTc2NywzNyArMTk2OSwxOSBAQCBjbGFzcyBUZXN0V2l0aFBh
cmFtIDogcHVibGljIFRlc3QsIHB1YmxpYyBXaXRoUGFyYW1JbnRlcmZhY2U8VD4ge307CiAvLyBC
b29sZWFuIGFzc2VydGlvbnMuIENvbmRpdGlvbiBjYW4gYmUgZWl0aGVyIGEgQm9vbGVhbiBleHBy
ZXNzaW9uIG9yIGFuCiAvLyBBc3NlcnRpb25SZXN1bHQuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9u
IGhvdyB0byB1c2UgQXNzZXJ0aW9uUmVzdWx0IHdpdGgKIC8vIHRoZXNlIG1hY3JvcyBzZWUgY29t
bWVudHMgb24gdGhhdCBjbGFzcy4KLSNkZWZpbmUgR1RFU1RfRVhQRUNUX1RSVUUoY29uZGl0aW9u
KSAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIEVYUEVDVF9UUlVFKGNvbmRpdGlvbikg
XAogICBHVEVTVF9URVNUX0JPT0xFQU5fKGNvbmRpdGlvbiwgI2NvbmRpdGlvbiwgZmFsc2UsIHRy
dWUsIFwKICAgICAgICAgICAgICAgICAgICAgICBHVEVTVF9OT05GQVRBTF9GQUlMVVJFXykKLSNk
ZWZpbmUgR1RFU1RfRVhQRUNUX0ZBTFNFKGNvbmRpdGlvbikgICAgICAgICAgICAgICAgICAgICAg
ICBcCisjZGVmaW5lIEVYUEVDVF9GQUxTRShjb25kaXRpb24pIFwKICAgR1RFU1RfVEVTVF9CT09M
RUFOXyghKGNvbmRpdGlvbiksICNjb25kaXRpb24sIHRydWUsIGZhbHNlLCBcCiAgICAgICAgICAg
ICAgICAgICAgICAgR1RFU1RfTk9ORkFUQUxfRkFJTFVSRV8pCi0jZGVmaW5lIEdURVNUX0FTU0VS
VF9UUlVFKGNvbmRpdGlvbikgXAotICBHVEVTVF9URVNUX0JPT0xFQU5fKGNvbmRpdGlvbiwgI2Nv
bmRpdGlvbiwgZmFsc2UsIHRydWUsIEdURVNUX0ZBVEFMX0ZBSUxVUkVfKQotI2RlZmluZSBHVEVT
VF9BU1NFUlRfRkFMU0UoY29uZGl0aW9uKSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZp
bmUgQVNTRVJUX1RSVUUoY29uZGl0aW9uKSBcCisgIEdURVNUX1RFU1RfQk9PTEVBTl8oY29uZGl0
aW9uLCAjY29uZGl0aW9uLCBmYWxzZSwgdHJ1ZSwgXAorICAgICAgICAgICAgICAgICAgICAgIEdU
RVNUX0ZBVEFMX0ZBSUxVUkVfKQorI2RlZmluZSBBU1NFUlRfRkFMU0UoY29uZGl0aW9uKSBcCiAg
IEdURVNUX1RFU1RfQk9PTEVBTl8oIShjb25kaXRpb24pLCAjY29uZGl0aW9uLCB0cnVlLCBmYWxz
ZSwgXAogICAgICAgICAgICAgICAgICAgICAgIEdURVNUX0ZBVEFMX0ZBSUxVUkVfKQogCi0vLyBE
ZWZpbmUgdGhlc2UgbWFjcm9zIHRvIDEgdG8gb21pdCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgY29y
cmVzcG9uZGluZwotLy8gRVhQRUNUIG9yIEFTU0VSVCwgd2hpY2ggY2xhc2hlcyB3aXRoIHNvbWUg
dXNlcnMnIG93biBjb2RlLgotCi0jaWYgIUdURVNUX0RPTlRfREVGSU5FX0VYUEVDVF9UUlVFCi0j
ZGVmaW5lIEVYUEVDVF9UUlVFKGNvbmRpdGlvbikgR1RFU1RfRVhQRUNUX1RSVUUoY29uZGl0aW9u
KQotI2VuZGlmCi0KLSNpZiAhR1RFU1RfRE9OVF9ERUZJTkVfRVhQRUNUX0ZBTFNFCi0jZGVmaW5l
IEVYUEVDVF9GQUxTRShjb25kaXRpb24pIEdURVNUX0VYUEVDVF9GQUxTRShjb25kaXRpb24pCi0j
ZW5kaWYKLQotI2lmICFHVEVTVF9ET05UX0RFRklORV9BU1NFUlRfVFJVRQotI2RlZmluZSBBU1NF
UlRfVFJVRShjb25kaXRpb24pIEdURVNUX0FTU0VSVF9UUlVFKGNvbmRpdGlvbikKLSNlbmRpZgot
Ci0jaWYgIUdURVNUX0RPTlRfREVGSU5FX0FTU0VSVF9GQUxTRQotI2RlZmluZSBBU1NFUlRfRkFM
U0UoY29uZGl0aW9uKSBHVEVTVF9BU1NFUlRfRkFMU0UoY29uZGl0aW9uKQotI2VuZGlmCi0KIC8v
IE1hY3JvcyBmb3IgdGVzdGluZyBlcXVhbGl0aWVzIGFuZCBpbmVxdWFsaXRpZXMuCiAvLwogLy8g
ICAgKiB7QVNTRVJUfEVYUEVDVH1fRVEodjEsIHYyKTogVGVzdHMgdGhhdCB2MSA9PSB2MgpAQCAt
MTg3NCwyNyArMjA1OCwyNyBAQCBjbGFzcyBUZXN0V2l0aFBhcmFtIDogcHVibGljIFRlc3QsIHB1
YmxpYyBXaXRoUGFyYW1JbnRlcmZhY2U8VD4ge307CiAvLyBBU1NFUlRfWFkoKSwgd2hpY2ggY2xh
c2hlcyB3aXRoIHNvbWUgdXNlcnMnIG93biBjb2RlLgogCiAjaWYgIUdURVNUX0RPTlRfREVGSU5F
X0FTU0VSVF9FUQotI2RlZmluZSBBU1NFUlRfRVEodmFsMSwgdmFsMikgR1RFU1RfQVNTRVJUX0VR
KHZhbDEsIHZhbDIpCisjIGRlZmluZSBBU1NFUlRfRVEodmFsMSwgdmFsMikgR1RFU1RfQVNTRVJU
X0VRKHZhbDEsIHZhbDIpCiAjZW5kaWYKIAogI2lmICFHVEVTVF9ET05UX0RFRklORV9BU1NFUlRf
TkUKLSNkZWZpbmUgQVNTRVJUX05FKHZhbDEsIHZhbDIpIEdURVNUX0FTU0VSVF9ORSh2YWwxLCB2
YWwyKQorIyBkZWZpbmUgQVNTRVJUX05FKHZhbDEsIHZhbDIpIEdURVNUX0FTU0VSVF9ORSh2YWwx
LCB2YWwyKQogI2VuZGlmCiAKICNpZiAhR1RFU1RfRE9OVF9ERUZJTkVfQVNTRVJUX0xFCi0jZGVm
aW5lIEFTU0VSVF9MRSh2YWwxLCB2YWwyKSBHVEVTVF9BU1NFUlRfTEUodmFsMSwgdmFsMikKKyMg
ZGVmaW5lIEFTU0VSVF9MRSh2YWwxLCB2YWwyKSBHVEVTVF9BU1NFUlRfTEUodmFsMSwgdmFsMikK
ICNlbmRpZgogCiAjaWYgIUdURVNUX0RPTlRfREVGSU5FX0FTU0VSVF9MVAotI2RlZmluZSBBU1NF
UlRfTFQodmFsMSwgdmFsMikgR1RFU1RfQVNTRVJUX0xUKHZhbDEsIHZhbDIpCisjIGRlZmluZSBB
U1NFUlRfTFQodmFsMSwgdmFsMikgR1RFU1RfQVNTRVJUX0xUKHZhbDEsIHZhbDIpCiAjZW5kaWYK
IAogI2lmICFHVEVTVF9ET05UX0RFRklORV9BU1NFUlRfR0UKLSNkZWZpbmUgQVNTRVJUX0dFKHZh
bDEsIHZhbDIpIEdURVNUX0FTU0VSVF9HRSh2YWwxLCB2YWwyKQorIyBkZWZpbmUgQVNTRVJUX0dF
KHZhbDEsIHZhbDIpIEdURVNUX0FTU0VSVF9HRSh2YWwxLCB2YWwyKQogI2VuZGlmCiAKICNpZiAh
R1RFU1RfRE9OVF9ERUZJTkVfQVNTRVJUX0dUCi0jZGVmaW5lIEFTU0VSVF9HVCh2YWwxLCB2YWwy
KSBHVEVTVF9BU1NFUlRfR1QodmFsMSwgdmFsMikKKyMgZGVmaW5lIEFTU0VSVF9HVCh2YWwxLCB2
YWwyKSBHVEVTVF9BU1NFUlRfR1QodmFsMSwgdmFsMikKICNlbmRpZgogCiAvLyBDLXN0cmluZyBD
b21wYXJpc29ucy4gIEFsbCB0ZXN0cyB0cmVhdCBOVUxMIGFuZCBhbnkgbm9uLU5VTEwgc3RyaW5n
CkBAIC0xOTE5LDcgKzIxMDMsNyBAQCBjbGFzcyBUZXN0V2l0aFBhcmFtIDogcHVibGljIFRlc3Qs
IHB1YmxpYyBXaXRoUGFyYW1JbnRlcmZhY2U8VD4ge307CiAgIEVYUEVDVF9QUkVEX0ZPUk1BVDIo
Ojp0ZXN0aW5nOjppbnRlcm5hbDo6Q21wSGVscGVyU1RSTkUsIHMxLCBzMikKICNkZWZpbmUgRVhQ
RUNUX1NUUkNBU0VFUShzMSwgczIpIFwKICAgRVhQRUNUX1BSRURfRk9STUFUMig6OnRlc3Rpbmc6
OmludGVybmFsOjpDbXBIZWxwZXJTVFJDQVNFRVEsIHMxLCBzMikKLSNkZWZpbmUgRVhQRUNUX1NU
UkNBU0VORShzMSwgczIpIFwKKyNkZWZpbmUgRVhQRUNUX1NUUkNBU0VORShzMSwgczIpXAogICBF
WFBFQ1RfUFJFRF9GT1JNQVQyKDo6dGVzdGluZzo6aW50ZXJuYWw6OkNtcEhlbHBlclNUUkNBU0VO
RSwgczEsIHMyKQogCiAjZGVmaW5lIEFTU0VSVF9TVFJFUShzMSwgczIpIFwKQEAgLTE5MjgsNyAr
MjExMiw3IEBAIGNsYXNzIFRlc3RXaXRoUGFyYW0gOiBwdWJsaWMgVGVzdCwgcHVibGljIFdpdGhQ
YXJhbUludGVyZmFjZTxUPiB7fTsKICAgQVNTRVJUX1BSRURfRk9STUFUMig6OnRlc3Rpbmc6Omlu
dGVybmFsOjpDbXBIZWxwZXJTVFJORSwgczEsIHMyKQogI2RlZmluZSBBU1NFUlRfU1RSQ0FTRUVR
KHMxLCBzMikgXAogICBBU1NFUlRfUFJFRF9GT1JNQVQyKDo6dGVzdGluZzo6aW50ZXJuYWw6OkNt
cEhlbHBlclNUUkNBU0VFUSwgczEsIHMyKQotI2RlZmluZSBBU1NFUlRfU1RSQ0FTRU5FKHMxLCBz
MikgXAorI2RlZmluZSBBU1NFUlRfU1RSQ0FTRU5FKHMxLCBzMilcCiAgIEFTU0VSVF9QUkVEX0ZP
Uk1BVDIoOjp0ZXN0aW5nOjppbnRlcm5hbDo6Q21wSGVscGVyU1RSQ0FTRU5FLCBzMSwgczIpCiAK
IC8vIE1hY3JvcyBmb3IgY29tcGFyaW5nIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCkBAIC0xOTQ1
LDI5ICsyMTI5LDI5IEBAIGNsYXNzIFRlc3RXaXRoUGFyYW0gOiBwdWJsaWMgVGVzdCwgcHVibGlj
IFdpdGhQYXJhbUludGVyZmFjZTxUPiB7fTsKIC8vIEZsb2F0aW5nUG9pbnQgdGVtcGxhdGUgY2xh
c3MgaW4gZ3Rlc3QtaW50ZXJuYWwuaCBpZiB5b3UgYXJlCiAvLyBpbnRlcmVzdGVkIGluIHRoZSBp
bXBsZW1lbnRhdGlvbiBkZXRhaWxzLgogCi0jZGVmaW5lIEVYUEVDVF9GTE9BVF9FUSh2YWwxLCB2
YWwyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBF
WFBFQ1RfRkxPQVRfRVEodmFsMSwgdmFsMilcCiAgIEVYUEVDVF9QUkVEX0ZPUk1BVDIoOjp0ZXN0
aW5nOjppbnRlcm5hbDo6Q21wSGVscGVyRmxvYXRpbmdQb2ludEVRPGZsb2F0PiwgXAogICAgICAg
ICAgICAgICAgICAgICAgIHZhbDEsIHZhbDIpCiAKLSNkZWZpbmUgRVhQRUNUX0RPVUJMRV9FUSh2
YWwxLCB2YWwyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2Rl
ZmluZSBFWFBFQ1RfRE9VQkxFX0VRKHZhbDEsIHZhbDIpXAogICBFWFBFQ1RfUFJFRF9GT1JNQVQy
KDo6dGVzdGluZzo6aW50ZXJuYWw6OkNtcEhlbHBlckZsb2F0aW5nUG9pbnRFUTxkb3VibGU+LCBc
CiAgICAgICAgICAgICAgICAgICAgICAgdmFsMSwgdmFsMikKIAotI2RlZmluZSBBU1NFUlRfRkxP
QVRfRVEodmFsMSwgdmFsMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyNkZWZpbmUgQVNTRVJUX0ZMT0FUX0VRKHZhbDEsIHZhbDIpXAogICBBU1NFUlRfUFJFRF9G
T1JNQVQyKDo6dGVzdGluZzo6aW50ZXJuYWw6OkNtcEhlbHBlckZsb2F0aW5nUG9pbnRFUTxmbG9h
dD4sIFwKICAgICAgICAgICAgICAgICAgICAgICB2YWwxLCB2YWwyKQogCi0jZGVmaW5lIEFTU0VS
VF9ET1VCTEVfRVEodmFsMSwgdmFsMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyNkZWZpbmUgQVNTRVJUX0RPVUJMRV9FUSh2YWwxLCB2YWwyKVwKICAgQVNTRVJU
X1BSRURfRk9STUFUMig6OnRlc3Rpbmc6OmludGVybmFsOjpDbXBIZWxwZXJGbG9hdGluZ1BvaW50
RVE8ZG91YmxlPiwgXAogICAgICAgICAgICAgICAgICAgICAgIHZhbDEsIHZhbDIpCiAKLSNkZWZp
bmUgRVhQRUNUX05FQVIodmFsMSwgdmFsMiwgYWJzX2Vycm9yKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBFWFBFQ1RfUFJFRF9GT1JNQVQzKDo6dGVzdGluZzo6aW50ZXJu
YWw6OkRvdWJsZU5lYXJQcmVkRm9ybWF0LCB2YWwxLCB2YWwyLCBcCi0gICAgICAgICAgICAgICAg
ICAgICAgYWJzX2Vycm9yKQorI2RlZmluZSBFWFBFQ1RfTkVBUih2YWwxLCB2YWwyLCBhYnNfZXJy
b3IpXAorICBFWFBFQ1RfUFJFRF9GT1JNQVQzKDo6dGVzdGluZzo6aW50ZXJuYWw6OkRvdWJsZU5l
YXJQcmVkRm9ybWF0LCBcCisgICAgICAgICAgICAgICAgICAgICAgdmFsMSwgdmFsMiwgYWJzX2Vy
cm9yKQogCi0jZGVmaW5lIEFTU0VSVF9ORUFSKHZhbDEsIHZhbDIsIGFic19lcnJvcikgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgQVNTRVJUX1BSRURfRk9STUFUMyg6OnRl
c3Rpbmc6OmludGVybmFsOjpEb3VibGVOZWFyUHJlZEZvcm1hdCwgdmFsMSwgdmFsMiwgXAotICAg
ICAgICAgICAgICAgICAgICAgIGFic19lcnJvcikKKyNkZWZpbmUgQVNTRVJUX05FQVIodmFsMSwg
dmFsMiwgYWJzX2Vycm9yKVwKKyAgQVNTRVJUX1BSRURfRk9STUFUMyg6OnRlc3Rpbmc6OmludGVy
bmFsOjpEb3VibGVOZWFyUHJlZEZvcm1hdCwgXAorICAgICAgICAgICAgICAgICAgICAgIHZhbDEs
IHZhbDIsIGFic19lcnJvcikKIAogLy8gVGhlc2UgcHJlZGljYXRlIGZvcm1hdCBmdW5jdGlvbnMg
d29yayBvbiBmbG9hdGluZy1wb2ludCB2YWx1ZXMsIGFuZAogLy8gY2FuIGJlIHVzZWQgaW4ge0FT
U0VSVHxFWFBFQ1R9X1BSRURfRk9STUFUMiooKSwgZS5nLgpAQCAtMTk4MSw2ICsyMTY1LDcgQEAg
R1RFU1RfQVBJXyBBc3NlcnRpb25SZXN1bHQgRmxvYXRMRShjb25zdCBjaGFyKiBleHByMSwgY29u
c3QgY2hhciogZXhwcjIsCiBHVEVTVF9BUElfIEFzc2VydGlvblJlc3VsdCBEb3VibGVMRShjb25z
dCBjaGFyKiBleHByMSwgY29uc3QgY2hhciogZXhwcjIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb3VibGUgdmFsMSwgZG91YmxlIHZhbDIpOwogCisKICNpZiBHVEVTVF9P
U19XSU5ET1dTCiAKIC8vIE1hY3JvcyB0aGF0IHRlc3QgZm9yIEhSRVNVTFQgZmFpbHVyZSBhbmQg
c3VjY2VzcywgdGhlc2UgYXJlIG9ubHkgdXNlZnVsCkBAIC0xOTkyLDE3ICsyMTc3LDE3IEBAIEdU
RVNUX0FQSV8gQXNzZXJ0aW9uUmVzdWx0IERvdWJsZUxFKGNvbnN0IGNoYXIqIGV4cHIxLCBjb25z
dCBjaGFyKiBleHByMiwKIC8vIGV4cGVjdGVkIHJlc3VsdCBhbmQgdGhlIGFjdHVhbCByZXN1bHQg
d2l0aCBib3RoIGEgaHVtYW4tcmVhZGFibGUKIC8vIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0
aGUgZXJyb3IsIGlmIGF2YWlsYWJsZSwgYXMgd2VsbCBhcyB0aGUKIC8vIGhleCByZXN1bHQgY29k
ZS4KLSNkZWZpbmUgRVhQRUNUX0hSRVNVTFRfU1VDQ0VFREVEKGV4cHIpIFwKLSAgRVhQRUNUX1BS
RURfRk9STUFUMSg6OnRlc3Rpbmc6OmludGVybmFsOjpJc0hSRVNVTFRTdWNjZXNzLCAoZXhwcikp
CisjIGRlZmluZSBFWFBFQ1RfSFJFU1VMVF9TVUNDRUVERUQoZXhwcikgXAorICAgIEVYUEVDVF9Q
UkVEX0ZPUk1BVDEoOjp0ZXN0aW5nOjppbnRlcm5hbDo6SXNIUkVTVUxUU3VjY2VzcywgKGV4cHIp
KQogCi0jZGVmaW5lIEFTU0VSVF9IUkVTVUxUX1NVQ0NFRURFRChleHByKSBcCi0gIEFTU0VSVF9Q
UkVEX0ZPUk1BVDEoOjp0ZXN0aW5nOjppbnRlcm5hbDo6SXNIUkVTVUxUU3VjY2VzcywgKGV4cHIp
KQorIyBkZWZpbmUgQVNTRVJUX0hSRVNVTFRfU1VDQ0VFREVEKGV4cHIpIFwKKyAgICBBU1NFUlRf
UFJFRF9GT1JNQVQxKDo6dGVzdGluZzo6aW50ZXJuYWw6OklzSFJFU1VMVFN1Y2Nlc3MsIChleHBy
KSkKIAotI2RlZmluZSBFWFBFQ1RfSFJFU1VMVF9GQUlMRUQoZXhwcikgXAotICBFWFBFQ1RfUFJF
RF9GT1JNQVQxKDo6dGVzdGluZzo6aW50ZXJuYWw6OklzSFJFU1VMVEZhaWx1cmUsIChleHByKSkK
KyMgZGVmaW5lIEVYUEVDVF9IUkVTVUxUX0ZBSUxFRChleHByKSBcCisgICAgRVhQRUNUX1BSRURf
Rk9STUFUMSg6OnRlc3Rpbmc6OmludGVybmFsOjpJc0hSRVNVTFRGYWlsdXJlLCAoZXhwcikpCiAK
LSNkZWZpbmUgQVNTRVJUX0hSRVNVTFRfRkFJTEVEKGV4cHIpIFwKLSAgQVNTRVJUX1BSRURfRk9S
TUFUMSg6OnRlc3Rpbmc6OmludGVybmFsOjpJc0hSRVNVTFRGYWlsdXJlLCAoZXhwcikpCisjIGRl
ZmluZSBBU1NFUlRfSFJFU1VMVF9GQUlMRUQoZXhwcikgXAorICAgIEFTU0VSVF9QUkVEX0ZPUk1B
VDEoOjp0ZXN0aW5nOjppbnRlcm5hbDo6SXNIUkVTVUxURmFpbHVyZSwgKGV4cHIpKQogCiAjZW5k
aWYgIC8vIEdURVNUX09TX1dJTkRPV1MKIApAQCAtMjAxNyw5ICsyMjAyLDkgQEAgR1RFU1RfQVBJ
XyBBc3NlcnRpb25SZXN1bHQgRG91YmxlTEUoY29uc3QgY2hhciogZXhwcjEsIGNvbnN0IGNoYXIq
IGV4cHIyLAogLy8gICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShQcm9jZXNzKCkpIDw8ICJQcm9j
ZXNzKCkgZmFpbGVkIjsKIC8vCiAjZGVmaW5lIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKHN0YXRl
bWVudCkgXAotICBHVEVTVF9URVNUX05PX0ZBVEFMX0ZBSUxVUkVfKHN0YXRlbWVudCwgR1RFU1Rf
RkFUQUxfRkFJTFVSRV8pCisgICAgR1RFU1RfVEVTVF9OT19GQVRBTF9GQUlMVVJFXyhzdGF0ZW1l
bnQsIEdURVNUX0ZBVEFMX0ZBSUxVUkVfKQogI2RlZmluZSBFWFBFQ1RfTk9fRkFUQUxfRkFJTFVS
RShzdGF0ZW1lbnQpIFwKLSAgR1RFU1RfVEVTVF9OT19GQVRBTF9GQUlMVVJFXyhzdGF0ZW1lbnQs
IEdURVNUX05PTkZBVEFMX0ZBSUxVUkVfKQorICAgIEdURVNUX1RFU1RfTk9fRkFUQUxfRkFJTFVS
RV8oc3RhdGVtZW50LCBHVEVTVF9OT05GQVRBTF9GQUlMVVJFXykKIAogLy8gQ2F1c2VzIGEgdHJh
Y2UgKGluY2x1ZGluZyB0aGUgZ2l2ZW4gc291cmNlIGZpbGUgcGF0aCBhbmQgbGluZSBudW1iZXIs
CiAvLyBhbmQgdGhlIGdpdmVuIG1lc3NhZ2UpIHRvIGJlIGluY2x1ZGVkIGluIGV2ZXJ5IHRlc3Qg
ZmFpbHVyZSBtZXNzYWdlIGdlbmVyYXRlZApAQCAtMjA2MSw4ICsyMjQ2LDcgQEAgY2xhc3MgR1RF
U1RfQVBJXyBTY29wZWRUcmFjZSB7CiAgcHJpdmF0ZToKICAgdm9pZCBQdXNoVHJhY2UoY29uc3Qg
Y2hhciogZmlsZSwgaW50IGxpbmUsIHN0ZDo6c3RyaW5nIG1lc3NhZ2UpOwogCi0gIFNjb3BlZFRy
YWNlKGNvbnN0IFNjb3BlZFRyYWNlJikgPSBkZWxldGU7Ci0gIFNjb3BlZFRyYWNlJiBvcGVyYXRv
cj0oY29uc3QgU2NvcGVkVHJhY2UmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9B
TkRfQVNTSUdOXyhTY29wZWRUcmFjZSk7CiB9IEdURVNUX0FUVFJJQlVURV9VTlVTRURfOyAgLy8g
QSBTY29wZWRUcmFjZSBvYmplY3QgZG9lcyBpdHMgam9iIGluIGl0cwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIGMndG9yIGFuZCBkJ3Rvci4gIFRoZXJlZm9yZSBpdCBkb2Vzbid0CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbmVlZCB0byBiZSB1c2VkIG90aGVyd2lzZS4K
QEAgLTIwODIsOSArMjI2Niw5IEBAIGNsYXNzIEdURVNUX0FQSV8gU2NvcGVkVHJhY2UgewogLy8g
QXNzdW1pbmcgdGhhdCBlYWNoIHRocmVhZCBtYWludGFpbnMgaXRzIG93biBzdGFjayBvZiB0cmFj
ZXMuCiAvLyBUaGVyZWZvcmUsIGEgU0NPUEVEX1RSQUNFKCkgd291bGQgKGNvcnJlY3RseSkgb25s
eSBhZmZlY3QgdGhlCiAvLyBhc3NlcnRpb25zIGluIGl0cyBvd24gdGhyZWFkLgotI2RlZmluZSBT
Q09QRURfVFJBQ0UobWVzc2FnZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgOjp0ZXN0aW5nOjpTY29wZWRUcmFjZSBHVEVTVF9DT05DQVRfVE9LRU5fKGd0ZXN0
X3RyYWNlXywgX19MSU5FX18pKCBcCi0gICAgICBfX0ZJTEVfXywgX19MSU5FX18sIChtZXNzYWdl
KSkKKyNkZWZpbmUgU0NPUEVEX1RSQUNFKG1lc3NhZ2UpIFwKKyAgOjp0ZXN0aW5nOjpTY29wZWRU
cmFjZSBHVEVTVF9DT05DQVRfVE9LRU5fKGd0ZXN0X3RyYWNlXywgX19MSU5FX18pKFwKKyAgICBf
X0ZJTEVfXywgX19MSU5FX18sIChtZXNzYWdlKSkKIAogLy8gQ29tcGlsZS10aW1lIGFzc2VydGlv
biBmb3IgdHlwZSBlcXVhbGl0eS4KIC8vIFN0YXRpY0Fzc2VydFR5cGVFcTx0eXBlMSwgdHlwZTI+
KCkgY29tcGlsZXMgaWYgYW5kIG9ubHkgaWYgdHlwZTEgYW5kIHR5cGUyCkBAIC0yMTgyLDE5ICsy
MzY2LDIwIEBAIGNvbnN0ZXhwciBib29sIFN0YXRpY0Fzc2VydFR5cGVFcSgpIG5vZXhjZXB0IHsK
IC8vICAgICBFWFBFQ1RfRVEoYV8uc2l6ZSgpLCAwKTsKIC8vICAgICBFWFBFQ1RfRVEoYl8uc2l6
ZSgpLCAxKTsKIC8vICAgfQotI2RlZmluZSBHVEVTVF9URVNUX0YodGVzdF9maXh0dXJlLCB0ZXN0
X25hbWUpICAgICAgICBcCisvLworLy8gR09PR0xFVEVTVF9DTTAwMTEgRE8gTk9UIERFTEVURQor
I2lmICFHVEVTVF9ET05UX0RFRklORV9URVNUCisjZGVmaW5lIFRFU1RfRih0ZXN0X2ZpeHR1cmUs
IHRlc3RfbmFtZSlcCiAgIEdURVNUX1RFU1RfKHRlc3RfZml4dHVyZSwgdGVzdF9uYW1lLCB0ZXN0
X2ZpeHR1cmUsIFwKICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6R2V0VHlwZUlk
PHRlc3RfZml4dHVyZT4oKSkKLSNpZiAhR1RFU1RfRE9OVF9ERUZJTkVfVEVTVF9GCi0jZGVmaW5l
IFRFU1RfRih0ZXN0X2ZpeHR1cmUsIHRlc3RfbmFtZSkgR1RFU1RfVEVTVF9GKHRlc3RfZml4dHVy
ZSwgdGVzdF9uYW1lKQotI2VuZGlmCisjZW5kaWYgIC8vICFHVEVTVF9ET05UX0RFRklORV9URVNU
CiAKIC8vIFJldHVybnMgYSBwYXRoIHRvIHRlbXBvcmFyeSBkaXJlY3RvcnkuCiAvLyBUcmllcyB0
byBkZXRlcm1pbmUgYW4gYXBwcm9wcmlhdGUgZGlyZWN0b3J5IGZvciB0aGUgcGxhdGZvcm0uCiBH
VEVTVF9BUElfIHN0ZDo6c3RyaW5nIFRlbXBEaXIoKTsKIAogI2lmZGVmIF9NU0NfVkVSCi0jcHJh
Z21hIHdhcm5pbmcocG9wKQorIyAgcHJhZ21hIHdhcm5pbmcocG9wKQogI2VuZGlmCiAKIC8vIER5
bmFtaWNhbGx5IHJlZ2lzdGVycyBhIHRlc3Qgd2l0aCB0aGUgZnJhbWV3b3JrLgpAQCAtMjI0OCw3
ICsyNDMzLDYgQEAgR1RFU1RfQVBJXyBzdGQ6OnN0cmluZyBUZW1wRGlyKCk7CiAvLyB9CiAvLyAu
Li4KIC8vIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikgewotLy8gICA6OnRlc3Rpbmc6
OkluaXRHb29nbGVUZXN0KCZhcmdjLCBhcmd2KTsKIC8vICAgc3RkOjp2ZWN0b3I8aW50PiB2YWx1
ZXNfdG9fdGVzdCA9IExvYWRWYWx1ZXNGcm9tQ29uZmlnKCk7CiAvLyAgIFJlZ2lzdGVyTXlUZXN0
cyh2YWx1ZXNfdG9fdGVzdCk7CiAvLyAgIC4uLgpAQCAtMjI5MCw4ICsyNDc0LDEwIEBAIFRlc3RJ
bmZvKiBSZWdpc3RlclRlc3QoY29uc3QgY2hhciogdGVzdF9zdWl0ZV9uYW1lLCBjb25zdCBjaGFy
KiB0ZXN0X25hbWUsCiAvLyBuYW1lc3BhY2UgYW5kIGhhcyBhbiBhbGwtY2FwcyBuYW1lLgogaW50
IFJVTl9BTExfVEVTVFMoKSBHVEVTVF9NVVNUX1VTRV9SRVNVTFRfOwogCi1pbmxpbmUgaW50IFJV
Tl9BTExfVEVTVFMoKSB7IHJldHVybiA6OnRlc3Rpbmc6OlVuaXRUZXN0OjpHZXRJbnN0YW5jZSgp
LT5SdW4oKTsgfQoraW5saW5lIGludCBSVU5fQUxMX1RFU1RTKCkgeworICByZXR1cm4gOjp0ZXN0
aW5nOjpVbml0VGVzdDo6R2V0SW5zdGFuY2UoKS0+UnVuKCk7Cit9CiAKIEdURVNUX0RJU0FCTEVf
TVNDX1dBUk5JTkdTX1BPUF8oKSAgLy8gIDQyNTEKIAotI2VuZGlmICAvLyBHT09HTEVURVNUX0lO
Q0xVREVfR1RFU1RfR1RFU1RfSF8KKyNlbmRpZiAgLy8gR1RFU1RfSU5DTFVERV9HVEVTVF9HVEVT
VF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9p
bmNsdWRlL2d0ZXN0L2d0ZXN0X3ByZWRfaW1wbC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9n
b29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0X3ByZWRfaW1wbC5oCmluZGV4IDQ3YTI0
YWE2ODdhZi4uZDUxNDI1NWM3MzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5
L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvZ3Rlc3RfcHJlZF9pbXBsLmgKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2d0ZXN0X3By
ZWRfaW1wbC5oCkBAIC0yNiwxOSArMjYsMTcgQEAKIC8vIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIC8vIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQogLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworLy8gVGhpcyBmaWxlIGlzIEFVVE9NQVRJQ0FMTFkgR0VO
RVJBVEVEIG9uIDAxLzAyLzIwMTkgYnkgY29tbWFuZAorLy8gJ2dlbl9ndGVzdF9wcmVkX2ltcGwu
cHkgNScuICBETyBOT1QgRURJVCBCWSBIQU5EIQogLy8KIC8vIEltcGxlbWVudHMgYSBmYW1pbHkg
b2YgZ2VuZXJpYyBwcmVkaWNhdGUgYXNzZXJ0aW9uIG1hY3Jvcy4KKy8vIEdPT0dMRVRFU1RfQ00w
MDAxIERPIE5PVCBERUxFVEUKIAotLy8gSVdZVSBwcmFnbWE6IHByaXZhdGUsIGluY2x1ZGUgImd0
ZXN0L2d0ZXN0LmgiCi0vLyBJV1lVIHByYWdtYTogZnJpZW5kIGd0ZXN0Ly4qCi0vLyBJV1lVIHBy
YWdtYTogZnJpZW5kIGdtb2NrLy4qCi0KLSNpZm5kZWYgR09PR0xFVEVTVF9JTkNMVURFX0dURVNU
X0dURVNUX1BSRURfSU1QTF9IXwotI2RlZmluZSBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RF
U1RfUFJFRF9JTVBMX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfUFJFRF9J
TVBMX0hfCisjZGVmaW5lIEdURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfUFJFRF9JTVBMX0hfCiAK
LSNpbmNsdWRlICJndGVzdC9ndGVzdC1hc3NlcnRpb24tcmVzdWx0LmgiCi0jaW5jbHVkZSAiZ3Rl
c3QvaW50ZXJuYWwvZ3Rlc3QtaW50ZXJuYWwuaCIKLSNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9n
dGVzdC1wb3J0LmgiCisjaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKIAogbmFtZXNwYWNlIHRlc3Rp
bmcgewogCkBAIC03NCwxOCArNzIsMjIgQEAgbmFtZXNwYWNlIHRlc3RpbmcgewogLy8gR1RFU1Rf
QVNTRVJUXyBpcyB0aGUgYmFzaWMgc3RhdGVtZW50IHRvIHdoaWNoIGFsbCBvZiB0aGUgYXNzZXJ0
aW9ucwogLy8gaW4gdGhpcyBmaWxlIHJlZHVjZS4gIERvbid0IHVzZSB0aGlzIGluIHlvdXIgY29k
ZS4KIAotI2RlZmluZSBHVEVTVF9BU1NFUlRfKGV4cHJlc3Npb24sIG9uX2ZhaWx1cmUpICAgICAg
ICAgICAgICAgICAgIFwKLSAgR1RFU1RfQU1CSUdVT1VTX0VMU0VfQkxPQ0tFUl8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIEdURVNUX0FTU0VSVF8oZXhwcmVzc2lv
biwgb25fZmFpbHVyZSkgXAorICBHVEVTVF9BTUJJR1VPVVNfRUxTRV9CTE9DS0VSXyBcCiAgIGlm
IChjb25zdCA6OnRlc3Rpbmc6OkFzc2VydGlvblJlc3VsdCBndGVzdF9hciA9IChleHByZXNzaW9u
KSkgXAotICAgIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgOyBcCisgIGVsc2UgXAogICAgIG9uX2ZhaWx1
cmUoZ3Rlc3RfYXIuZmFpbHVyZV9tZXNzYWdlKCkpCiAKKwogLy8gSGVscGVyIGZ1bmN0aW9uIGZv
ciBpbXBsZW1lbnRpbmcge0VYUEVDVHxBU1NFUlR9X1BSRUQxLiAgRG9uJ3QgdXNlCiAvLyB0aGlz
IGluIHlvdXIgY29kZS4KLXRlbXBsYXRlIDx0eXBlbmFtZSBQcmVkLCB0eXBlbmFtZSBUMT4KLUFz
c2VydGlvblJlc3VsdCBBc3NlcnRQcmVkMUhlbHBlcihjb25zdCBjaGFyKiBwcmVkX3RleHQsIGNv
bnN0IGNoYXIqIGUxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWQgcHJl
ZCwgY29uc3QgVDEmIHYxKSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgUHJlZCwKKyAgICAgICAgICB0
eXBlbmFtZSBUMT4KK0Fzc2VydGlvblJlc3VsdCBBc3NlcnRQcmVkMUhlbHBlcihjb25zdCBjaGFy
KiBwcmVkX3RleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh
ciogZTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlZCBwcmVkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFQxJiB2MSkgewogICBpZiAocHJl
ZCh2MSkpIHJldHVybiBBc3NlcnRpb25TdWNjZXNzKCk7CiAKICAgcmV0dXJuIEFzc2VydGlvbkZh
aWx1cmUoKQpAQCAtOTYsMjcgKzk4LDQwIEBAIEFzc2VydGlvblJlc3VsdCBBc3NlcnRQcmVkMUhl
bHBlcihjb25zdCBjaGFyKiBwcmVkX3RleHQsIGNvbnN0IGNoYXIqIGUxLAogCiAvLyBJbnRlcm5h
bCBtYWNybyBmb3IgaW1wbGVtZW50aW5nIHtFWFBFQ1R8QVNTRVJUfV9QUkVEX0ZPUk1BVDEuCiAv
LyBEb24ndCB1c2UgdGhpcyBpbiB5b3VyIGNvZGUuCi0jZGVmaW5lIEdURVNUX1BSRURfRk9STUFU
MV8ocHJlZF9mb3JtYXQsIHYxLCBvbl9mYWlsdXJlKSBcCi0gIEdURVNUX0FTU0VSVF8ocHJlZF9m
b3JtYXQoI3YxLCB2MSksIG9uX2ZhaWx1cmUpCisjZGVmaW5lIEdURVNUX1BSRURfRk9STUFUMV8o
cHJlZF9mb3JtYXQsIHYxLCBvbl9mYWlsdXJlKVwKKyAgR1RFU1RfQVNTRVJUXyhwcmVkX2Zvcm1h
dCgjdjEsIHYxKSwgXAorICAgICAgICAgICAgICAgIG9uX2ZhaWx1cmUpCiAKIC8vIEludGVybmFs
IG1hY3JvIGZvciBpbXBsZW1lbnRpbmcge0VYUEVDVHxBU1NFUlR9X1BSRUQxLiAgRG9uJ3QgdXNl
CiAvLyB0aGlzIGluIHlvdXIgY29kZS4KLSNkZWZpbmUgR1RFU1RfUFJFRDFfKHByZWQsIHYxLCBv
bl9mYWlsdXJlKSBcCi0gIEdURVNUX0FTU0VSVF8oOjp0ZXN0aW5nOjpBc3NlcnRQcmVkMUhlbHBl
cigjcHJlZCwgI3YxLCBwcmVkLCB2MSksIG9uX2ZhaWx1cmUpCisjZGVmaW5lIEdURVNUX1BSRUQx
XyhwcmVkLCB2MSwgb25fZmFpbHVyZSlcCisgIEdURVNUX0FTU0VSVF8oOjp0ZXN0aW5nOjpBc3Nl
cnRQcmVkMUhlbHBlcigjcHJlZCwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgI3YxLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwcmVkLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2MSksIG9uX2ZhaWx1cmUpCiAKIC8vIFVuYXJ5IHByZWRpY2F0ZSBhc3NlcnRpb24gbWFj
cm9zLgogI2RlZmluZSBFWFBFQ1RfUFJFRF9GT1JNQVQxKHByZWRfZm9ybWF0LCB2MSkgXAogICBH
VEVTVF9QUkVEX0ZPUk1BVDFfKHByZWRfZm9ybWF0LCB2MSwgR1RFU1RfTk9ORkFUQUxfRkFJTFVS
RV8pCi0jZGVmaW5lIEVYUEVDVF9QUkVEMShwcmVkLCB2MSkgR1RFU1RfUFJFRDFfKHByZWQsIHYx
LCBHVEVTVF9OT05GQVRBTF9GQUlMVVJFXykKKyNkZWZpbmUgRVhQRUNUX1BSRUQxKHByZWQsIHYx
KSBcCisgIEdURVNUX1BSRUQxXyhwcmVkLCB2MSwgR1RFU1RfTk9ORkFUQUxfRkFJTFVSRV8pCiAj
ZGVmaW5lIEFTU0VSVF9QUkVEX0ZPUk1BVDEocHJlZF9mb3JtYXQsIHYxKSBcCiAgIEdURVNUX1BS
RURfRk9STUFUMV8ocHJlZF9mb3JtYXQsIHYxLCBHVEVTVF9GQVRBTF9GQUlMVVJFXykKLSNkZWZp
bmUgQVNTRVJUX1BSRUQxKHByZWQsIHYxKSBHVEVTVF9QUkVEMV8ocHJlZCwgdjEsIEdURVNUX0ZB
VEFMX0ZBSUxVUkVfKQorI2RlZmluZSBBU1NFUlRfUFJFRDEocHJlZCwgdjEpIFwKKyAgR1RFU1Rf
UFJFRDFfKHByZWQsIHYxLCBHVEVTVF9GQVRBTF9GQUlMVVJFXykKKworCiAKIC8vIEhlbHBlciBm
dW5jdGlvbiBmb3IgaW1wbGVtZW50aW5nIHtFWFBFQ1R8QVNTRVJUfV9QUkVEMi4gIERvbid0IHVz
ZQogLy8gdGhpcyBpbiB5b3VyIGNvZGUuCi10ZW1wbGF0ZSA8dHlwZW5hbWUgUHJlZCwgdHlwZW5h
bWUgVDEsIHR5cGVuYW1lIFQyPgotQXNzZXJ0aW9uUmVzdWx0IEFzc2VydFByZWQySGVscGVyKGNv
bnN0IGNoYXIqIHByZWRfdGV4dCwgY29uc3QgY2hhciogZTEsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgY2hhciogZTIsIFByZWQgcHJlZCwgY29uc3QgVDEmIHYxLAor
dGVtcGxhdGUgPHR5cGVuYW1lIFByZWQsCisgICAgICAgICAgdHlwZW5hbWUgVDEsCisgICAgICAg
ICAgdHlwZW5hbWUgVDI+CitBc3NlcnRpb25SZXN1bHQgQXNzZXJ0UHJlZDJIZWxwZXIoY29uc3Qg
Y2hhciogcHJlZF90ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqIGUxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIq
IGUyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWQgcHJlZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUMSYgdjEsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgVDImIHYyKSB7CiAgIGlmIChwcmVkKHYxLCB2Mikp
IHJldHVybiBBc3NlcnRpb25TdWNjZXNzKCk7CiAKQEAgLTEzMCwxNCArMTQ1LDE5IEBAIEFzc2Vy
dGlvblJlc3VsdCBBc3NlcnRQcmVkMkhlbHBlcihjb25zdCBjaGFyKiBwcmVkX3RleHQsIGNvbnN0
IGNoYXIqIGUxLAogCiAvLyBJbnRlcm5hbCBtYWNybyBmb3IgaW1wbGVtZW50aW5nIHtFWFBFQ1R8
QVNTRVJUfV9QUkVEX0ZPUk1BVDIuCiAvLyBEb24ndCB1c2UgdGhpcyBpbiB5b3VyIGNvZGUuCi0j
ZGVmaW5lIEdURVNUX1BSRURfRk9STUFUMl8ocHJlZF9mb3JtYXQsIHYxLCB2Miwgb25fZmFpbHVy
ZSkgXAotICBHVEVTVF9BU1NFUlRfKHByZWRfZm9ybWF0KCN2MSwgI3YyLCB2MSwgdjIpLCBvbl9m
YWlsdXJlKQorI2RlZmluZSBHVEVTVF9QUkVEX0ZPUk1BVDJfKHByZWRfZm9ybWF0LCB2MSwgdjIs
IG9uX2ZhaWx1cmUpXAorICBHVEVTVF9BU1NFUlRfKHByZWRfZm9ybWF0KCN2MSwgI3YyLCB2MSwg
djIpLCBcCisgICAgICAgICAgICAgICAgb25fZmFpbHVyZSkKIAogLy8gSW50ZXJuYWwgbWFjcm8g
Zm9yIGltcGxlbWVudGluZyB7RVhQRUNUfEFTU0VSVH1fUFJFRDIuICBEb24ndCB1c2UKIC8vIHRo
aXMgaW4geW91ciBjb2RlLgotI2RlZmluZSBHVEVTVF9QUkVEMl8ocHJlZCwgdjEsIHYyLCBvbl9m
YWlsdXJlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEdURVNUX0FTU0VSVF8o
Ojp0ZXN0aW5nOjpBc3NlcnRQcmVkMkhlbHBlcigjcHJlZCwgI3YxLCAjdjIsIHByZWQsIHYxLCB2
MiksIFwKLSAgICAgICAgICAgICAgICBvbl9mYWlsdXJlKQorI2RlZmluZSBHVEVTVF9QUkVEMl8o
cHJlZCwgdjEsIHYyLCBvbl9mYWlsdXJlKVwKKyAgR1RFU1RfQVNTRVJUXyg6OnRlc3Rpbmc6OkFz
c2VydFByZWQySGVscGVyKCNwcmVkLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAjdjEsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICN2MiwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHJlZCwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdjEsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYy
KSwgb25fZmFpbHVyZSkKIAogLy8gQmluYXJ5IHByZWRpY2F0ZSBhc3NlcnRpb24gbWFjcm9zLgog
I2RlZmluZSBFWFBFQ1RfUFJFRF9GT1JNQVQyKHByZWRfZm9ybWF0LCB2MSwgdjIpIFwKQEAgLTE0
OSwxMiArMTY5LDIyIEBAIEFzc2VydGlvblJlc3VsdCBBc3NlcnRQcmVkMkhlbHBlcihjb25zdCBj
aGFyKiBwcmVkX3RleHQsIGNvbnN0IGNoYXIqIGUxLAogI2RlZmluZSBBU1NFUlRfUFJFRDIocHJl
ZCwgdjEsIHYyKSBcCiAgIEdURVNUX1BSRUQyXyhwcmVkLCB2MSwgdjIsIEdURVNUX0ZBVEFMX0ZB
SUxVUkVfKQogCisKKwogLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBpbXBsZW1lbnRpbmcge0VYUEVD
VHxBU1NFUlR9X1BSRUQzLiAgRG9uJ3QgdXNlCiAvLyB0aGlzIGluIHlvdXIgY29kZS4KLXRlbXBs
YXRlIDx0eXBlbmFtZSBQcmVkLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQz
PgotQXNzZXJ0aW9uUmVzdWx0IEFzc2VydFByZWQzSGVscGVyKGNvbnN0IGNoYXIqIHByZWRfdGV4
dCwgY29uc3QgY2hhciogZTEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciogZTIsIGNvbnN0IGNoYXIqIGUzLCBQcmVkIHByZWQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgVDEmIHYxLCBjb25zdCBUMiYgdjIsIGNvbnN0IFQzJiB2
MykgewordGVtcGxhdGUgPHR5cGVuYW1lIFByZWQsCisgICAgICAgICAgdHlwZW5hbWUgVDEsCisg
ICAgICAgICAgdHlwZW5hbWUgVDIsCisgICAgICAgICAgdHlwZW5hbWUgVDM+CitBc3NlcnRpb25S
ZXN1bHQgQXNzZXJ0UHJlZDNIZWxwZXIoY29uc3QgY2hhciogcHJlZF90ZXh0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUxLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFByZWQgcHJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBUMSYgdjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVDImIHYy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFQzJiB2MykgewogICBp
ZiAocHJlZCh2MSwgdjIsIHYzKSkgcmV0dXJuIEFzc2VydGlvblN1Y2Nlc3MoKTsKIAogICByZXR1
cm4gQXNzZXJ0aW9uRmFpbHVyZSgpCkBAIC0xNjgsMTUgKzE5OCwyMSBAQCBBc3NlcnRpb25SZXN1
bHQgQXNzZXJ0UHJlZDNIZWxwZXIoY29uc3QgY2hhciogcHJlZF90ZXh0LCBjb25zdCBjaGFyKiBl
MSwKIAogLy8gSW50ZXJuYWwgbWFjcm8gZm9yIGltcGxlbWVudGluZyB7RVhQRUNUfEFTU0VSVH1f
UFJFRF9GT1JNQVQzLgogLy8gRG9uJ3QgdXNlIHRoaXMgaW4geW91ciBjb2RlLgotI2RlZmluZSBH
VEVTVF9QUkVEX0ZPUk1BVDNfKHByZWRfZm9ybWF0LCB2MSwgdjIsIHYzLCBvbl9mYWlsdXJlKSBc
Ci0gIEdURVNUX0FTU0VSVF8ocHJlZF9mb3JtYXQoI3YxLCAjdjIsICN2MywgdjEsIHYyLCB2Myks
IG9uX2ZhaWx1cmUpCisjZGVmaW5lIEdURVNUX1BSRURfRk9STUFUM18ocHJlZF9mb3JtYXQsIHYx
LCB2MiwgdjMsIG9uX2ZhaWx1cmUpXAorICBHVEVTVF9BU1NFUlRfKHByZWRfZm9ybWF0KCN2MSwg
I3YyLCAjdjMsIHYxLCB2MiwgdjMpLCBcCisgICAgICAgICAgICAgICAgb25fZmFpbHVyZSkKIAog
Ly8gSW50ZXJuYWwgbWFjcm8gZm9yIGltcGxlbWVudGluZyB7RVhQRUNUfEFTU0VSVH1fUFJFRDMu
ICBEb24ndCB1c2UKIC8vIHRoaXMgaW4geW91ciBjb2RlLgotI2RlZmluZSBHVEVTVF9QUkVEM18o
cHJlZCwgdjEsIHYyLCB2Mywgb25fZmFpbHVyZSkgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgR1RFU1RfQVNTRVJUXyggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICA6OnRlc3Rpbmc6OkFzc2VydFByZWQzSGVscGVy
KCNwcmVkLCAjdjEsICN2MiwgI3YzLCBwcmVkLCB2MSwgdjIsIHYzKSwgXAotICAgICAgb25fZmFp
bHVyZSkKKyNkZWZpbmUgR1RFU1RfUFJFRDNfKHByZWQsIHYxLCB2MiwgdjMsIG9uX2ZhaWx1cmUp
XAorICBHVEVTVF9BU1NFUlRfKDo6dGVzdGluZzo6QXNzZXJ0UHJlZDNIZWxwZXIoI3ByZWQsIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN2MSwgXAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3YyLCBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdjMsIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWQsIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYxLCBcCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2MiwgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdjMpLCBvbl9mYWlsdXJlKQogCiAvLyBUZXJuYXJ5IHByZWRp
Y2F0ZSBhc3NlcnRpb24gbWFjcm9zLgogI2RlZmluZSBFWFBFQ1RfUFJFRF9GT1JNQVQzKHByZWRf
Zm9ybWF0LCB2MSwgdjIsIHYzKSBcCkBAIC0xODgsMTMgKzIyNCwyNSBAQCBBc3NlcnRpb25SZXN1
bHQgQXNzZXJ0UHJlZDNIZWxwZXIoY29uc3QgY2hhciogcHJlZF90ZXh0LCBjb25zdCBjaGFyKiBl
MSwKICNkZWZpbmUgQVNTRVJUX1BSRUQzKHByZWQsIHYxLCB2MiwgdjMpIFwKICAgR1RFU1RfUFJF
RDNfKHByZWQsIHYxLCB2MiwgdjMsIEdURVNUX0ZBVEFMX0ZBSUxVUkVfKQogCisKKwogLy8gSGVs
cGVyIGZ1bmN0aW9uIGZvciBpbXBsZW1lbnRpbmcge0VYUEVDVHxBU1NFUlR9X1BSRUQ0LiAgRG9u
J3QgdXNlCiAvLyB0aGlzIGluIHlvdXIgY29kZS4KLXRlbXBsYXRlIDx0eXBlbmFtZSBQcmVkLCB0
eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUND4KLUFzc2Vy
dGlvblJlc3VsdCBBc3NlcnRQcmVkNEhlbHBlcihjb25zdCBjaGFyKiBwcmVkX3RleHQsIGNvbnN0
IGNoYXIqIGUxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIq
IGUyLCBjb25zdCBjaGFyKiBlMywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBjaGFyKiBlNCwgUHJlZCBwcmVkLCBjb25zdCBUMSYgdjEsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgVDImIHYyLCBjb25zdCBUMyYgdjMsIGNvbnN0IFQ0JiB2
NCkgewordGVtcGxhdGUgPHR5cGVuYW1lIFByZWQsCisgICAgICAgICAgdHlwZW5hbWUgVDEsCisg
ICAgICAgICAgdHlwZW5hbWUgVDIsCisgICAgICAgICAgdHlwZW5hbWUgVDMsCisgICAgICAgICAg
dHlwZW5hbWUgVDQ+CitBc3NlcnRpb25SZXN1bHQgQXNzZXJ0UHJlZDRIZWxwZXIoY29uc3QgY2hh
ciogcHJlZF90ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIqIGUxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGU0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFByZWQgcHJlZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBUMSYgdjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgVDImIHYyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFQzJiB2MywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUNCYg
djQpIHsKICAgaWYgKHByZWQodjEsIHYyLCB2MywgdjQpKSByZXR1cm4gQXNzZXJ0aW9uU3VjY2Vz
cygpOwogCiAgIHJldHVybiBBc3NlcnRpb25GYWlsdXJlKCkKQEAgLTIwOSwxNSArMjU3LDIzIEBA
IEFzc2VydGlvblJlc3VsdCBBc3NlcnRQcmVkNEhlbHBlcihjb25zdCBjaGFyKiBwcmVkX3RleHQs
IGNvbnN0IGNoYXIqIGUxLAogCiAvLyBJbnRlcm5hbCBtYWNybyBmb3IgaW1wbGVtZW50aW5nIHtF
WFBFQ1R8QVNTRVJUfV9QUkVEX0ZPUk1BVDQuCiAvLyBEb24ndCB1c2UgdGhpcyBpbiB5b3VyIGNv
ZGUuCi0jZGVmaW5lIEdURVNUX1BSRURfRk9STUFUNF8ocHJlZF9mb3JtYXQsIHYxLCB2MiwgdjMs
IHY0LCBvbl9mYWlsdXJlKSBcCi0gIEdURVNUX0FTU0VSVF8ocHJlZF9mb3JtYXQoI3YxLCAjdjIs
ICN2MywgI3Y0LCB2MSwgdjIsIHYzLCB2NCksIG9uX2ZhaWx1cmUpCisjZGVmaW5lIEdURVNUX1BS
RURfRk9STUFUNF8ocHJlZF9mb3JtYXQsIHYxLCB2MiwgdjMsIHY0LCBvbl9mYWlsdXJlKVwKKyAg
R1RFU1RfQVNTRVJUXyhwcmVkX2Zvcm1hdCgjdjEsICN2MiwgI3YzLCAjdjQsIHYxLCB2MiwgdjMs
IHY0KSwgXAorICAgICAgICAgICAgICAgIG9uX2ZhaWx1cmUpCiAKIC8vIEludGVybmFsIG1hY3Jv
IGZvciBpbXBsZW1lbnRpbmcge0VYUEVDVHxBU1NFUlR9X1BSRUQ0LiAgRG9uJ3QgdXNlCiAvLyB0
aGlzIGluIHlvdXIgY29kZS4KLSNkZWZpbmUgR1RFU1RfUFJFRDRfKHByZWQsIHYxLCB2MiwgdjMs
IHY0LCBvbl9mYWlsdXJlKSAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgR1RFU1RfQVNTRVJU
Xyg6OnRlc3Rpbmc6OkFzc2VydFByZWQ0SGVscGVyKCNwcmVkLCAjdjEsICN2MiwgI3YzLCAjdjQs
IHByZWQsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYx
LCB2MiwgdjMsIHY0KSwgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICBvbl9mYWls
dXJlKQorI2RlZmluZSBHVEVTVF9QUkVENF8ocHJlZCwgdjEsIHYyLCB2MywgdjQsIG9uX2ZhaWx1
cmUpXAorICBHVEVTVF9BU1NFUlRfKDo6dGVzdGluZzo6QXNzZXJ0UHJlZDRIZWxwZXIoI3ByZWQs
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN2MSwgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3YyLCBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdjMsIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN2NCwgXAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZCwgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjEsIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHYyLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2MywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdjQpLCBvbl9mYWlsdXJlKQogCiAvLyA0LWFyeSBwcmVkaWNhdGUgYXNz
ZXJ0aW9uIG1hY3Jvcy4KICNkZWZpbmUgRVhQRUNUX1BSRURfRk9STUFUNChwcmVkX2Zvcm1hdCwg
djEsIHYyLCB2MywgdjQpIFwKQEAgLTIyOSwxNSArMjg1LDI4IEBAIEFzc2VydGlvblJlc3VsdCBB
c3NlcnRQcmVkNEhlbHBlcihjb25zdCBjaGFyKiBwcmVkX3RleHQsIGNvbnN0IGNoYXIqIGUxLAog
I2RlZmluZSBBU1NFUlRfUFJFRDQocHJlZCwgdjEsIHYyLCB2MywgdjQpIFwKICAgR1RFU1RfUFJF
RDRfKHByZWQsIHYxLCB2MiwgdjMsIHY0LCBHVEVTVF9GQVRBTF9GQUlMVVJFXykKIAorCisKIC8v
IEhlbHBlciBmdW5jdGlvbiBmb3IgaW1wbGVtZW50aW5nIHtFWFBFQ1R8QVNTRVJUfV9QUkVENS4g
IERvbid0IHVzZQogLy8gdGhpcyBpbiB5b3VyIGNvZGUuCi10ZW1wbGF0ZSA8dHlwZW5hbWUgUHJl
ZCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgUHJlZCwKKyAgICAgICAgICB0eXBlbmFtZSBUMSwKKyAgICAgICAg
ICB0eXBlbmFtZSBUMiwKKyAgICAgICAgICB0eXBlbmFtZSBUMywKKyAgICAgICAgICB0eXBlbmFt
ZSBUNCwKICAgICAgICAgICB0eXBlbmFtZSBUNT4KLUFzc2VydGlvblJlc3VsdCBBc3NlcnRQcmVk
NUhlbHBlcihjb25zdCBjaGFyKiBwcmVkX3RleHQsIGNvbnN0IGNoYXIqIGUxLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUyLCBjb25zdCBjaGFyKiBlMywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBlNCwgY29uc3Qg
Y2hhciogZTUsIFByZWQgcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBUMSYgdjEsIGNvbnN0IFQyJiB2MiwgY29uc3QgVDMmIHYzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFQ0JiB2NCwgY29uc3QgVDUmIHY1KSB7CitBc3NlcnRp
b25SZXN1bHQgQXNzZXJ0UHJlZDVIZWxwZXIoY29uc3QgY2hhciogcHJlZF90ZXh0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUxLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGUzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGNoYXIqIGU0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGNoYXIqIGU1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBy
ZWQgcHJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUMSYgdjEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVDImIHYyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFQzJiB2MywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBUNCYgdjQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgVDUmIHY1KSB7CiAgIGlmIChwcmVkKHYxLCB2MiwgdjMsIHY0LCB2
NSkpIHJldHVybiBBc3NlcnRpb25TdWNjZXNzKCk7CiAKICAgcmV0dXJuIEFzc2VydGlvbkZhaWx1
cmUoKQpAQCAtMjUzLDE2ICszMjIsMjUgQEAgQXNzZXJ0aW9uUmVzdWx0IEFzc2VydFByZWQ1SGVs
cGVyKGNvbnN0IGNoYXIqIHByZWRfdGV4dCwgY29uc3QgY2hhciogZTEsCiAKIC8vIEludGVybmFs
IG1hY3JvIGZvciBpbXBsZW1lbnRpbmcge0VYUEVDVHxBU1NFUlR9X1BSRURfRk9STUFUNS4KIC8v
IERvbid0IHVzZSB0aGlzIGluIHlvdXIgY29kZS4KLSNkZWZpbmUgR1RFU1RfUFJFRF9GT1JNQVQ1
XyhwcmVkX2Zvcm1hdCwgdjEsIHYyLCB2MywgdjQsIHY1LCBvbl9mYWlsdXJlKSAgXAorI2RlZmlu
ZSBHVEVTVF9QUkVEX0ZPUk1BVDVfKHByZWRfZm9ybWF0LCB2MSwgdjIsIHYzLCB2NCwgdjUsIG9u
X2ZhaWx1cmUpXAogICBHVEVTVF9BU1NFUlRfKHByZWRfZm9ybWF0KCN2MSwgI3YyLCAjdjMsICN2
NCwgI3Y1LCB2MSwgdjIsIHYzLCB2NCwgdjUpLCBcCiAgICAgICAgICAgICAgICAgb25fZmFpbHVy
ZSkKIAogLy8gSW50ZXJuYWwgbWFjcm8gZm9yIGltcGxlbWVudGluZyB7RVhQRUNUfEFTU0VSVH1f
UFJFRDUuICBEb24ndCB1c2UKIC8vIHRoaXMgaW4geW91ciBjb2RlLgotI2RlZmluZSBHVEVTVF9Q
UkVENV8ocHJlZCwgdjEsIHYyLCB2MywgdjQsIHY1LCBvbl9mYWlsdXJlKSAgICAgICAgICAgICAg
ICAgICBcCi0gIEdURVNUX0FTU0VSVF8oOjp0ZXN0aW5nOjpBc3NlcnRQcmVkNUhlbHBlcigjcHJl
ZCwgI3YxLCAjdjIsICN2MywgI3Y0LCAjdjUsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHByZWQsIHYxLCB2MiwgdjMsIHY0LCB2NSksICAgICAgXAotICAg
ICAgICAgICAgICAgIG9uX2ZhaWx1cmUpCisjZGVmaW5lIEdURVNUX1BSRUQ1XyhwcmVkLCB2MSwg
djIsIHYzLCB2NCwgdjUsIG9uX2ZhaWx1cmUpXAorICBHVEVTVF9BU1NFUlRfKDo6dGVzdGluZzo6
QXNzZXJ0UHJlZDVIZWxwZXIoI3ByZWQsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICN2MSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgI3YyLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjdjMsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICN2NCwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
I3Y1LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVk
LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2MSwgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjIsIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYzLCBcCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2NCwgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjUpLCBvbl9mYWlsdXJlKQogCiAvLyA1LWFy
eSBwcmVkaWNhdGUgYXNzZXJ0aW9uIG1hY3Jvcy4KICNkZWZpbmUgRVhQRUNUX1BSRURfRk9STUFU
NShwcmVkX2Zvcm1hdCwgdjEsIHYyLCB2MywgdjQsIHY1KSBcCkBAIC0yNzQsNiArMzUyLDggQEAg
QXNzZXJ0aW9uUmVzdWx0IEFzc2VydFByZWQ1SGVscGVyKGNvbnN0IGNoYXIqIHByZWRfdGV4dCwg
Y29uc3QgY2hhciogZTEsCiAjZGVmaW5lIEFTU0VSVF9QUkVENShwcmVkLCB2MSwgdjIsIHYzLCB2
NCwgdjUpIFwKICAgR1RFU1RfUFJFRDVfKHByZWQsIHYxLCB2MiwgdjMsIHY0LCB2NSwgR1RFU1Rf
RkFUQUxfRkFJTFVSRV8pCiAKKworCiB9ICAvLyBuYW1lc3BhY2UgdGVzdGluZwogCi0jZW5kaWYg
IC8vIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9QUkVEX0lNUExfSF8KKyNlbmRpZiAg
Ly8gR1RFU1RfSU5DTFVERV9HVEVTVF9HVEVTVF9QUkVEX0lNUExfSF8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9ndGVzdF9w
cm9kLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rl
c3QvZ3Rlc3RfcHJvZC5oCmluZGV4IDFmMzdkYzMxYzM0Ny4uZTY1MTY3MWViZGU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3Qv
Z3Rlc3RfcHJvZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMv
aW5jbHVkZS9ndGVzdC9ndGVzdF9wcm9kLmgKQEAgLTI3LDExICsyNywxMiBAQAogLy8gKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCiAvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCi0vLyBHb29nbGUgQysrIFRlc3RpbmcgYW5kIE1vY2tp
bmcgRnJhbWV3b3JrIGRlZmluaXRpb25zIHVzZWZ1bCBpbiBwcm9kdWN0aW9uCi0vLyBjb2RlLgor
Ly8KKy8vIEdvb2dsZSBDKysgVGVzdGluZyBhbmQgTW9ja2luZyBGcmFtZXdvcmsgZGVmaW5pdGlv
bnMgdXNlZnVsIGluIHByb2R1Y3Rpb24gY29kZS4KKy8vIEdPT0dMRVRFU1RfQ00wMDAzIERPIE5P
VCBERUxFVEUKIAotI2lmbmRlZiBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfUFJPRF9I
XwotI2RlZmluZSBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfR1RFU1RfUFJPRF9IXworI2lmbmRl
ZiBHVEVTVF9JTkNMVURFX0dURVNUX0dURVNUX1BST0RfSF8KKyNkZWZpbmUgR1RFU1RfSU5DTFVE
RV9HVEVTVF9HVEVTVF9QUk9EX0hfCiAKIC8vIFdoZW4geW91IG5lZWQgdG8gdGVzdCB0aGUgcHJp
dmF0ZSBvciBwcm90ZWN0ZWQgbWVtYmVycyBvZiBhIGNsYXNzLAogLy8gdXNlIHRoZSBGUklFTkRf
VEVTVCBtYWNybyB0byBkZWNsYXJlIHlvdXIgdGVzdHMgYXMgZnJpZW5kcyBvZiB0aGUKQEAgLTU0
LDcgKzU1LDcgQEAKIC8vIE5vdGU6IFRoZSB0ZXN0IGNsYXNzIG11c3QgYmUgaW4gdGhlIHNhbWUg
bmFtZXNwYWNlIGFzIHRoZSBjbGFzcyBiZWluZyB0ZXN0ZWQuCiAvLyBGb3IgZXhhbXBsZSwgcHV0
dGluZyBNeUNsYXNzVGVzdCBpbiBhbiBhbm9ueW1vdXMgbmFtZXNwYWNlIHdpbGwgbm90IHdvcmsu
CiAKLSNkZWZpbmUgRlJJRU5EX1RFU1QodGVzdF9jYXNlX25hbWUsIHRlc3RfbmFtZSkgXAotICBm
cmllbmQgY2xhc3MgdGVzdF9jYXNlX25hbWUjI18jI3Rlc3RfbmFtZSMjX1Rlc3QKKyNkZWZpbmUg
RlJJRU5EX1RFU1QodGVzdF9jYXNlX25hbWUsIHRlc3RfbmFtZSlcCitmcmllbmQgY2xhc3MgdGVz
dF9jYXNlX25hbWUjI18jI3Rlc3RfbmFtZSMjX1Rlc3QKIAotI2VuZGlmICAvLyBHT09HTEVURVNU
X0lOQ0xVREVfR1RFU1RfR1RFU1RfUFJPRF9IXworI2VuZGlmICAvLyBHVEVTVF9JTkNMVURFX0dU
RVNUX0dURVNUX1BST0RfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29v
Z2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9jdXN0b20vUkVBRE1FLm1kIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFs
L2N1c3RvbS9SRUFETUUubWQKaW5kZXggY2I0OWUyYzc1NGMyLi5mZjM5MWZiNGUyYjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVz
dC9pbnRlcm5hbC9jdXN0b20vUkVBRE1FLm1kCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkv
Z29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9jdXN0b20vUkVBRE1FLm1kCkBA
IC0xNSw2ICsxNSwxOCBAQCBUaGUgY3VzdG9tIGRpcmVjdG9yeSBpcyBhbiBpbmplY3Rpb24gcG9p
bnQgZm9yIGN1c3RvbSB1c2VyIGNvbmZpZ3VyYXRpb25zLgogCiBUaGUgZm9sbG93aW5nIG1hY3Jv
cyBjYW4gYmUgZGVmaW5lZDoKIAorIyMjIEZsYWcgcmVsYXRlZCBtYWNyb3M6CisKKyogICBgR1RF
U1RfRkxBRyhmbGFnX25hbWUpYAorKiAgIGBHVEVTVF9VU0VfT1dOX0ZMQUdGSUxFX0ZMQUdfYCAt
IERlZmluZSB0byAwIHdoZW4gdGhlIHN5c3RlbSBwcm92aWRlcyBpdHMKKyAgICBvd24gZmxhZ2Zp
bGUgZmxhZyBwYXJzaW5nLgorKiAgIGBHVEVTVF9ERUNMQVJFX2Jvb2xfKG5hbWUpYAorKiAgIGBH
VEVTVF9ERUNMQVJFX2ludDMyXyhuYW1lKWAKKyogICBgR1RFU1RfREVDTEFSRV9zdHJpbmdfKG5h
bWUpYAorKiAgIGBHVEVTVF9ERUZJTkVfYm9vbF8obmFtZSwgZGVmYXVsdF92YWwsIGRvYylgCisq
ICAgYEdURVNUX0RFRklORV9pbnQzMl8obmFtZSwgZGVmYXVsdF92YWwsIGRvYylgCisqICAgYEdU
RVNUX0RFRklORV9zdHJpbmdfKG5hbWUsIGRlZmF1bHRfdmFsLCBkb2MpYAorCiAjIyMgTG9nZ2lu
ZzoKIAogKiAgIGBHVEVTVF9MT0dfKHNldmVyaXR5KWAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9jdXN0b20v
Z3Rlc3QtcG9ydC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNs
dWRlL2d0ZXN0L2ludGVybmFsL2N1c3RvbS9ndGVzdC1wb3J0LmgKaW5kZXggOWI3ZmI0MjYxYWFk
Li5jZDg1ZDk1NmQyZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xl
dGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9jdXN0b20vZ3Rlc3QtcG9ydC5oCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRl
cm5hbC9jdXN0b20vZ3Rlc3QtcG9ydC5oCkBAIC0zMSwzOCArMzEsNyBAQAogLy8KIC8vICoqIEN1
c3RvbSBpbXBsZW1lbnRhdGlvbiBzdGFydHMgaGVyZSAqKgogCi0jaWZuZGVmIEdPT0dMRVRFU1Rf
SU5DTFVERV9HVEVTVF9JTlRFUk5BTF9DVVNUT01fR1RFU1RfUE9SVF9IXwotI2RlZmluZSBHT09H
TEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfQ1VTVE9NX0dURVNUX1BPUlRfSF8KKyNpZm5k
ZWYgR1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9DVVNUT01fR1RFU1RfUE9SVF9IXworI2Rl
ZmluZSBHVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0NVU1RPTV9HVEVTVF9QT1JUX0hfCiAK
LS8vIFVzZSBhIHN0dWIgTm90aWZpY2F0aW9uIGNsYXNzLgotLy8KLS8vIFRoZSBidWlsdC1pbiBO
b3RpZmljYXRpb24gY2xhc3MgaW4gR29vZ2xlVGVzdCB2MS4xMi4xIHVzZXMgc3RkOjptdXRleCBh
bmQKLS8vIHN0ZDo6Y29uZGl0aW9uX3ZhcmlhYmxlLiBUaGUgPG11dGV4PiBhbmQgPGNvbmRpdGlv
bl92YXJpYWJsZT4gaGVhZGVycyBvZgotLy8gbWluZ3czMiBnKysgKEdOVSAxMC4wLjApIGRlZmlu
ZSBzdGQ6Om11dGV4IGFuZCBzdGQ6OmNvbmRpdGlvbl92YXJpYWJsZSBvbmx5Ci0vLyB3aGVuIGNv
bmZpZ3VyZWQgd2l0aCB0aGUgcG9zaXggdGhyZWFkcyBvcHRpb24gYnV0IGRvbid0IGRlZmluZSB0
aGVtIHdoZW4KLS8vIGNvbmZpZ3VyZWQgd2l0aCB0aGUgd2luMzIgdGhyZWFkcyBvcHRpb24uIFRo
ZSBOb3RpZmljYXRpb24gY2xhc3MgaXMgb25seQotLy8gdXNlZCBpbiBHb29nbGVUZXN0J3MgaW50
ZXJuYWwgdGVzdHMuIFNpbmNlIHdlIGRvbid0IGJ1aWxkIEdvb2dsZVRlc3QncwotLy8gaW50ZXJu
YWwgdGVzdHMsIHdlIGRvbid0IG5lZWQgYSB3b3JraW5nIE5vdGlmaWNhdGlvbiBjbGFzcy4gQWx0
aG91Z2ggaXQncwotLy8gbm90IGhhcmQgdG8gZml4IHRoZSBtaW5ndzMyIGcrKyBjb21waWxhdGlv
biBlcnJvcnMgYnkgaW1wbGVtZW50aW5nIHRoZQotLy8gTm90aWZpY2F0aW9uIGNsYXNzIHVzaW5n
IFdpbmRvd3MgQ1JJVElDQUxfU0VDVElPTiBhbmQgQ09ORElUSU9OX1ZBUklBQkxFLAotLy8gaXQn
cyBzaW1wbGVyIHRvIGp1c3QgdXNlIGEgc3R1YiBOb3RpZmljYXRpb24gY2xhc3Mgb24gYWxsIHBs
YXRmb3Jtcy4KLS8vCi0vLyBUaGUgZGVmYXVsdCBjb25zdHJ1Y3RvciBvZiB0aGUgc3R1YiBjbGFz
cyBpcyBkZWxldGVkIGFuZCB0aGUgZGVjbGFyYXRpb24gb2YKLS8vIHRoZSBOb3RpZnkoKSBtZXRo
b2QgaXMgY29tbWVudGVkIG91dCwgc28gdGhhdCBjb21waWxhdGlvbiB3aWxsIGZhaWwgaWYgYW55
Ci0vLyBjb2RlIGFjdHVhbGx5IHVzZXMgdGhlIE5vdGlmaWNhdGlvbiBjbGFzcy4KLQotI2RlZmlu
ZSBHVEVTVF9IQVNfTk9USUZJQ0FUSU9OXyAxCi1uYW1lc3BhY2UgdGVzdGluZyB7Ci1uYW1lc3Bh
Y2UgaW50ZXJuYWwgewotY2xhc3MgTm90aWZpY2F0aW9uIHsKLSBwdWJsaWM6Ci0gIE5vdGlmaWNh
dGlvbigpID0gZGVsZXRlOwotICBOb3RpZmljYXRpb24oY29uc3QgTm90aWZpY2F0aW9uJikgPSBk
ZWxldGU7Ci0gIE5vdGlmaWNhdGlvbiYgb3BlcmF0b3I9KGNvbnN0IE5vdGlmaWNhdGlvbiYpID0g
ZGVsZXRlOwotICAvLyB2b2lkIE5vdGlmeSgpOwotICB2b2lkIFdhaXRGb3JOb3RpZmljYXRpb24o
KSB7fQotfTsKLX0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAotfSAgLy8gbmFtZXNwYWNlIHRlc3Rp
bmcKLQotI2VuZGlmICAvLyBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfQ1VTVE9N
X0dURVNUX1BPUlRfSF8KKyNlbmRpZiAgLy8gR1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9D
VVNUT01fR1RFU1RfUE9SVF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9n
b29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2N1c3RvbS9ndGVzdC1wcmludGVy
cy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0
L2ludGVybmFsL2N1c3RvbS9ndGVzdC1wcmludGVycy5oCmluZGV4IGI5NDk1ZDgzNzgzYi4uZWI0
NDY3YWJjYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qv
c3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvY3VzdG9tL2d0ZXN0LXByaW50ZXJzLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVy
bmFsL2N1c3RvbS9ndGVzdC1wcmludGVycy5oCkBAIC0zNiw3ICszNiw3IEBACiAvLwogLy8gKiog
Q3VzdG9tIGltcGxlbWVudGF0aW9uIHN0YXJ0cyBoZXJlICoqCiAKLSNpZm5kZWYgR09PR0xFVEVT
VF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0NVU1RPTV9HVEVTVF9QUklOVEVSU19IXwotI2RlZmlu
ZSBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfQ1VTVE9NX0dURVNUX1BSSU5URVJT
X0hfCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfQ1VTVE9NX0dURVNUX1BS
SU5URVJTX0hfCisjZGVmaW5lIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfQ1VTVE9NX0dU
RVNUX1BSSU5URVJTX0hfCiAKLSNlbmRpZiAgLy8gR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0lO
VEVSTkFMX0NVU1RPTV9HVEVTVF9QUklOVEVSU19IXworI2VuZGlmICAvLyBHVEVTVF9JTkNMVURF
X0dURVNUX0lOVEVSTkFMX0NVU1RPTV9HVEVTVF9QUklOVEVSU19IXwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFs
L2N1c3RvbS9ndGVzdC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9p
bmNsdWRlL2d0ZXN0L2ludGVybmFsL2N1c3RvbS9ndGVzdC5oCmluZGV4IGFmYWFmMTdiYTI4ZS4u
NGM4ZTA3YmUyM2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRl
c3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvY3VzdG9tL2d0ZXN0LmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2N1
c3RvbS9ndGVzdC5oCkBAIC0zMSw3ICszMSw3IEBACiAvLwogLy8gKiogQ3VzdG9tIGltcGxlbWVu
dGF0aW9uIHN0YXJ0cyBoZXJlICoqCiAKLSNpZm5kZWYgR09PR0xFVEVTVF9JTkNMVURFX0dURVNU
X0lOVEVSTkFMX0NVU1RPTV9HVEVTVF9IXwotI2RlZmluZSBHT09HTEVURVNUX0lOQ0xVREVfR1RF
U1RfSU5URVJOQUxfQ1VTVE9NX0dURVNUX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1Rf
SU5URVJOQUxfQ1VTVE9NX0dURVNUX0hfCisjZGVmaW5lIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5U
RVJOQUxfQ1VTVE9NX0dURVNUX0hfCiAKLSNlbmRpZiAgLy8gR09PR0xFVEVTVF9JTkNMVURFX0dU
RVNUX0lOVEVSTkFMX0NVU1RPTV9HVEVTVF9IXworI2VuZGlmICAvLyBHVEVTVF9JTkNMVURFX0dU
RVNUX0lOVEVSTkFMX0NVU1RPTV9HVEVTVF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGly
ZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0LWRlYXRo
LXRlc3QtaW50ZXJuYWwuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMv
aW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9ndGVzdC1kZWF0aC10ZXN0LWludGVybmFsLmgKaW5kZXgg
NDU1ODBhZTgwNWMyLi42OGJkMzUzMDYxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRf
cGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9ndGVzdC1kZWF0aC10
ZXN0LWludGVybmFsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3Ny
Yy9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0LWRlYXRoLXRlc3QtaW50ZXJuYWwuaApAQCAt
MjYsMzEgKzI2LDI3IEBACiAvLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIC8vIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0KKy8vCiAvLyBUaGUgR29vZ2xlIEMrKyBUZXN0aW5nIGFuZCBNb2NraW5nIEZyYW1l
d29yayAoR29vZ2xlIFRlc3QpCiAvLwogLy8gVGhpcyBoZWFkZXIgZmlsZSBkZWZpbmVzIGludGVy
bmFsIHV0aWxpdGllcyBuZWVkZWQgZm9yIGltcGxlbWVudGluZwogLy8gZGVhdGggdGVzdHMuICBU
aGV5IGFyZSBzdWJqZWN0IHRvIGNoYW5nZSB3aXRob3V0IG5vdGljZS4KKy8vIEdPT0dMRVRFU1Rf
Q00wMDAxIERPIE5PVCBERUxFVEUKIAotLy8gSVdZVSBwcmFnbWE6IHByaXZhdGUsIGluY2x1ZGUg
Imd0ZXN0L2d0ZXN0LmgiCi0vLyBJV1lVIHByYWdtYTogZnJpZW5kIGd0ZXN0Ly4qCi0vLyBJV1lV
IHByYWdtYTogZnJpZW5kIGdtb2NrLy4qCi0KLSNpZm5kZWYgR09PR0xFVEVTVF9JTkNMVURFX0dU
RVNUX0lOVEVSTkFMX0dURVNUX0RFQVRIX1RFU1RfSU5URVJOQUxfSF8KLSNkZWZpbmUgR09PR0xF
VEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX0RFQVRIX1RFU1RfSU5URVJOQUxfSF8K
LQotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLSNpbmNsdWRlIDxtZW1vcnk+CisjaWZuZGVmIEdURVNU
X0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfREVBVEhfVEVTVF9JTlRFUk5BTF9IXworI2Rl
ZmluZSBHVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX0RFQVRIX1RFU1RfSU5URVJO
QUxfSF8KIAogI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LW1hdGNoZXJzLmgiCiAjaW5jbHVkZSAiZ3Rl
c3QvaW50ZXJuYWwvZ3Rlc3QtaW50ZXJuYWwuaCIKIAotR1RFU1RfREVDTEFSRV9zdHJpbmdfKGlu
dGVybmFsX3J1bl9kZWF0aF90ZXN0KTsKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPG1l
bW9yeT4KIAogbmFtZXNwYWNlIHRlc3RpbmcgewogbmFtZXNwYWNlIGludGVybmFsIHsKIAorR1RF
U1RfREVDTEFSRV9zdHJpbmdfKGludGVybmFsX3J1bl9kZWF0aF90ZXN0KTsKKwogLy8gTmFtZXMg
b2YgdGhlIGZsYWdzIChuZWVkZWQgZm9yIHBhcnNpbmcgR29vZ2xlIFRlc3QgZmxhZ3MpLgogY29u
c3QgY2hhciBrRGVhdGhUZXN0U3R5bGVGbGFnW10gPSAiZGVhdGhfdGVzdF9zdHlsZSI7CiBjb25z
dCBjaGFyIGtEZWF0aFRlc3RVc2VGb3JrW10gPSAiZGVhdGhfdGVzdF91c2VfZm9yayI7CkBAIC04
NywxOCArODMsMTYgQEAgY2xhc3MgR1RFU1RfQVBJXyBEZWF0aFRlc3QgewogICBzdGF0aWMgYm9v
bCBDcmVhdGUoY29uc3QgY2hhciogc3RhdGVtZW50LCBNYXRjaGVyPGNvbnN0IHN0ZDo6c3RyaW5n
Jj4gbWF0Y2hlciwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGZpbGUsIGludCBs
aW5lLCBEZWF0aFRlc3QqKiB0ZXN0KTsKICAgRGVhdGhUZXN0KCk7Ci0gIHZpcnR1YWwgfkRlYXRo
VGVzdCgpIHt9CisgIHZpcnR1YWwgfkRlYXRoVGVzdCgpIHsgfQogCiAgIC8vIEEgaGVscGVyIGNs
YXNzIHRoYXQgYWJvcnRzIGEgZGVhdGggdGVzdCB3aGVuIGl0J3MgZGVsZXRlZC4KICAgY2xhc3Mg
UmV0dXJuU2VudGluZWwgewogICAgcHVibGljOgotICAgIGV4cGxpY2l0IFJldHVyblNlbnRpbmVs
KERlYXRoVGVzdCogdGVzdCkgOiB0ZXN0Xyh0ZXN0KSB7fQorICAgIGV4cGxpY2l0IFJldHVyblNl
bnRpbmVsKERlYXRoVGVzdCogdGVzdCkgOiB0ZXN0Xyh0ZXN0KSB7IH0KICAgICB+UmV0dXJuU2Vu
dGluZWwoKSB7IHRlc3RfLT5BYm9ydChURVNUX0VOQ09VTlRFUkVEX1JFVFVSTl9TVEFURU1FTlQp
OyB9Ci0KICAgIHByaXZhdGU6CiAgICAgRGVhdGhUZXN0KiBjb25zdCB0ZXN0XzsKLSAgICBSZXR1
cm5TZW50aW5lbChjb25zdCBSZXR1cm5TZW50aW5lbCYpID0gZGVsZXRlOwotICAgIFJldHVyblNl
bnRpbmVsJiBvcGVyYXRvcj0oY29uc3QgUmV0dXJuU2VudGluZWwmKSA9IGRlbGV0ZTsKKyAgICBH
VEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKFJldHVyblNlbnRpbmVsKTsKICAgfSBHVEVT
VF9BVFRSSUJVVEVfVU5VU0VEXzsKIAogICAvLyBBbiBlbnVtZXJhdGlvbiBvZiBwb3NzaWJsZSBy
b2xlcyB0aGF0IG1heSBiZSB0YWtlbiB3aGVuIGEgZGVhdGgKQEAgLTE0Myw4ICsxMzcsNyBAQCBj
bGFzcyBHVEVTVF9BUElfIERlYXRoVGVzdCB7CiAgIC8vIEEgc3RyaW5nIGNvbnRhaW5pbmcgYSBk
ZXNjcmlwdGlvbiBvZiB0aGUgb3V0Y29tZSBvZiB0aGUgbGFzdCBkZWF0aCB0ZXN0LgogICBzdGF0
aWMgc3RkOjpzdHJpbmcgbGFzdF9kZWF0aF90ZXN0X21lc3NhZ2VfOwogCi0gIERlYXRoVGVzdChj
b25zdCBEZWF0aFRlc3QmKSA9IGRlbGV0ZTsKLSAgRGVhdGhUZXN0JiBvcGVyYXRvcj0oY29uc3Qg
RGVhdGhUZXN0JikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8o
RGVhdGhUZXN0KTsKIH07CiAKIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8oKSAgLy8g
IDQyNTEKQEAgLTE1Miw3ICsxNDUsNyBAQCBHVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19QT1Bf
KCkgIC8vICA0MjUxCiAvLyBGYWN0b3J5IGludGVyZmFjZSBmb3IgZGVhdGggdGVzdHMuICBNYXkg
YmUgbW9ja2VkIG91dCBmb3IgdGVzdGluZy4KIGNsYXNzIERlYXRoVGVzdEZhY3RvcnkgewogIHB1
YmxpYzoKLSAgdmlydHVhbCB+RGVhdGhUZXN0RmFjdG9yeSgpIHt9CisgIHZpcnR1YWwgfkRlYXRo
VGVzdEZhY3RvcnkoKSB7IH0KICAgdmlydHVhbCBib29sIENyZWF0ZShjb25zdCBjaGFyKiBzdGF0
ZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgTWF0Y2hlcjxjb25zdCBzdGQ6OnN0cmluZyY+
IG1hdGNoZXIsIGNvbnN0IGNoYXIqIGZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IGxp
bmUsIERlYXRoVGVzdCoqIHRlc3QpID0gMDsKQEAgLTE5MywyOCArMTg2LDI4IEBAIGlubGluZSBN
YXRjaGVyPGNvbnN0IDo6c3RkOjpzdHJpbmcmPiBNYWtlRGVhdGhUZXN0TWF0Y2hlcigKIAogLy8g
VHJhcHMgQysrIGV4Y2VwdGlvbnMgZXNjYXBpbmcgc3RhdGVtZW50IGFuZCByZXBvcnRzIHRoZW0g
YXMgdGVzdAogLy8gZmFpbHVyZXMuIE5vdGUgdGhhdCB0cmFwcGluZyBTRUggZXhjZXB0aW9ucyBp
cyBub3QgaW1wbGVtZW50ZWQgaGVyZS4KLSNpZiBHVEVTVF9IQVNfRVhDRVBUSU9OUwotI2RlZmlu
ZSBHVEVTVF9FWEVDVVRFX0RFQVRIX1RFU1RfU1RBVEVNRU5UXyhzdGF0ZW1lbnQsIGRlYXRoX3Rl
c3QpICAgICAgICAgICBcCi0gIHRyeSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBHVEVTVF9TVVBQUkVT
U19VTlJFQUNIQUJMRV9DT0RFX1dBUk5JTkdfQkVMT1dfKHN0YXRlbWVudCk7ICAgICAgICAgICAg
ICAgXAotICB9IGNhdGNoIChjb25zdCA6OnN0ZDo6ZXhjZXB0aW9uJiBndGVzdF9leGNlcHRpb24p
IHsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZnByaW50ZiggICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgc3RkZXJyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAiXG4lczogQ2F1Z2h0IHN0ZDo6ZXhjZXB0aW9uLWRl
cml2ZWQgZXhjZXB0aW9uIGVzY2FwaW5nIHRoZSAiICAgICAgICBcCi0gICAgICAgICJkZWF0aCB0
ZXN0IHN0YXRlbWVudC4gRXhjZXB0aW9uIG1lc3NhZ2U6ICVzXG4iLCAgICAgICAgICAgICAgICAg
ICAgIFwKKyMgaWYgR1RFU1RfSEFTX0VYQ0VQVElPTlMKKyMgIGRlZmluZSBHVEVTVF9FWEVDVVRF
X0RFQVRIX1RFU1RfU1RBVEVNRU5UXyhzdGF0ZW1lbnQsIGRlYXRoX3Rlc3QpIFwKKyAgdHJ5IHsg
XAorICAgIEdURVNUX1NVUFBSRVNTX1VOUkVBQ0hBQkxFX0NPREVfV0FSTklOR19CRUxPV18oc3Rh
dGVtZW50KTsgXAorICB9IGNhdGNoIChjb25zdCA6OnN0ZDo6ZXhjZXB0aW9uJiBndGVzdF9leGNl
cHRpb24pIHsgXAorICAgIGZwcmludGYoXAorICAgICAgICBzdGRlcnIsIFwKKyAgICAgICAgIlxu
JXM6IENhdWdodCBzdGQ6OmV4Y2VwdGlvbi1kZXJpdmVkIGV4Y2VwdGlvbiBlc2NhcGluZyB0aGUg
IiBcCisgICAgICAgICJkZWF0aCB0ZXN0IHN0YXRlbWVudC4gRXhjZXB0aW9uIG1lc3NhZ2U6ICVz
XG4iLCBcCiAgICAgICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OkZvcm1hdEZpbGVMb2NhdGlvbihf
X0ZJTEVfXywgX19MSU5FX18pLmNfc3RyKCksIFwKLSAgICAgICAgZ3Rlc3RfZXhjZXB0aW9uLndo
YXQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGZmbHVzaChzdGRlcnIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGd0ZXN0X2V4Y2VwdGlvbi53aGF0KCkpOyBcCisg
ICAgZmZsdXNoKHN0ZGVycik7IFwKICAgICBkZWF0aF90ZXN0LT5BYm9ydCg6OnRlc3Rpbmc6Omlu
dGVybmFsOjpEZWF0aFRlc3Q6OlRFU1RfVEhSRVdfRVhDRVBUSU9OKTsgXAotICB9IGNhdGNoICgu
Li4pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgIH0gY2F0Y2ggKC4uLikgeyBcCiAgICAgZGVhdGhfdGVzdC0+QWJvcnQoOjp0
ZXN0aW5nOjppbnRlcm5hbDo6RGVhdGhUZXN0OjpURVNUX1RIUkVXX0VYQ0VQVElPTik7IFwKICAg
fQogCi0jZWxzZQotI2RlZmluZSBHVEVTVF9FWEVDVVRFX0RFQVRIX1RFU1RfU1RBVEVNRU5UXyhz
dGF0ZW1lbnQsIGRlYXRoX3Rlc3QpIFwKKyMgZWxzZQorIyAgZGVmaW5lIEdURVNUX0VYRUNVVEVf
REVBVEhfVEVTVF9TVEFURU1FTlRfKHN0YXRlbWVudCwgZGVhdGhfdGVzdCkgXAogICBHVEVTVF9T
VVBQUkVTU19VTlJFQUNIQUJMRV9DT0RFX1dBUk5JTkdfQkVMT1dfKHN0YXRlbWVudCkKIAotI2Vu
ZGlmCisjIGVuZGlmCiAKIC8vIFRoaXMgbWFjcm8gaXMgZm9yIGltcGxlbWVudGluZyBBU1NFUlRf
REVBVEgqLCBFWFBFQ1RfREVBVEgqLAogLy8gQVNTRVJUX0VYSVQqLCBhbmQgRVhQRUNUX0VYSVQq
LgpAQCAtMjQzLDYgKzIzNiw4IEBAIGlubGluZSBNYXRjaGVyPGNvbnN0IDo6c3RkOjpzdHJpbmcm
PiBNYWtlRGVhdGhUZXN0TWF0Y2hlcigKICAgICAgICAgICBndGVzdF9kdC0+QWJvcnQoOjp0ZXN0
aW5nOjppbnRlcm5hbDo6RGVhdGhUZXN0OjpURVNUX0RJRF9OT1RfRElFKTsgICBcCiAgICAgICAg
ICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZGVmYXVs
dDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0gZWxzZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAt
MjcwLDEyICsyNjUsMTYgQEAgaW5saW5lIE1hdGNoZXI8Y29uc3QgOjpzdGQ6OnN0cmluZyY+IE1h
a2VEZWF0aFRlc3RNYXRjaGVyKAogLy8gUlVOX0FMTF9URVNUUyB3YXMgY2FsbGVkLgogY2xhc3Mg
SW50ZXJuYWxSdW5EZWF0aFRlc3RGbGFnIHsKICBwdWJsaWM6Ci0gIEludGVybmFsUnVuRGVhdGhU
ZXN0RmxhZyhjb25zdCBzdGQ6OnN0cmluZyYgYV9maWxlLCBpbnQgYV9saW5lLCBpbnQgYW5faW5k
ZXgsCisgIEludGVybmFsUnVuRGVhdGhUZXN0RmxhZyhjb25zdCBzdGQ6OnN0cmluZyYgYV9maWxl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFfbGluZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBhbl9pbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBhX3dyaXRlX2ZkKQotICAgICAgOiBmaWxlXyhhX2ZpbGUpLCBsaW5lXyhhX2xpbmUpLCBpbmRl
eF8oYW5faW5kZXgpLCB3cml0ZV9mZF8oYV93cml0ZV9mZCkge30KKyAgICAgIDogZmlsZV8oYV9m
aWxlKSwgbGluZV8oYV9saW5lKSwgaW5kZXhfKGFuX2luZGV4KSwKKyAgICAgICAgd3JpdGVfZmRf
KGFfd3JpdGVfZmQpIHt9CiAKICAgfkludGVybmFsUnVuRGVhdGhUZXN0RmxhZygpIHsKLSAgICBp
ZiAod3JpdGVfZmRfID49IDApIHBvc2l4OjpDbG9zZSh3cml0ZV9mZF8pOworICAgIGlmICh3cml0
ZV9mZF8gPj0gMCkKKyAgICAgIHBvc2l4OjpDbG9zZSh3cml0ZV9mZF8pOwogICB9CiAKICAgY29u
c3Qgc3RkOjpzdHJpbmcmIGZpbGUoKSBjb25zdCB7IHJldHVybiBmaWxlXzsgfQpAQCAtMjg5LDgg
KzI4OCw3IEBAIGNsYXNzIEludGVybmFsUnVuRGVhdGhUZXN0RmxhZyB7CiAgIGludCBpbmRleF87
CiAgIGludCB3cml0ZV9mZF87CiAKLSAgSW50ZXJuYWxSdW5EZWF0aFRlc3RGbGFnKGNvbnN0IElu
dGVybmFsUnVuRGVhdGhUZXN0RmxhZyYpID0gZGVsZXRlOwotICBJbnRlcm5hbFJ1bkRlYXRoVGVz
dEZsYWcmIG9wZXJhdG9yPShjb25zdCBJbnRlcm5hbFJ1bkRlYXRoVGVzdEZsYWcmKSA9IGRlbGV0
ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhJbnRlcm5hbFJ1bkRlYXRoVGVz
dEZsYWcpOwogfTsKIAogLy8gUmV0dXJucyBhIG5ld2x5IGNyZWF0ZWQgSW50ZXJuYWxSdW5EZWF0
aFRlc3RGbGFnIG9iamVjdCB3aXRoIGZpZWxkcwpAQCAtMzAzLDQgKzMwMSw0IEBAIEludGVybmFs
UnVuRGVhdGhUZXN0RmxhZyogUGFyc2VJbnRlcm5hbFJ1bkRlYXRoVGVzdEZsYWcoKTsKIH0gIC8v
IG5hbWVzcGFjZSBpbnRlcm5hbAogfSAgLy8gbmFtZXNwYWNlIHRlc3RpbmcKIAotI2VuZGlmICAv
LyBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfREVBVEhfVEVTVF9JTlRF
Uk5BTF9IXworI2VuZGlmICAvLyBHVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX0RF
QVRIX1RFU1RfSU5URVJOQUxfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkv
Z29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9ndGVzdC1maWxlcGF0aC5oIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVy
bmFsL2d0ZXN0LWZpbGVwYXRoLmgKaW5kZXggYTJhNjBhOTYyYjgzLi5jMTFiMTAxNTE2ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9n
dGVzdC9pbnRlcm5hbC9ndGVzdC1maWxlcGF0aC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFy
dHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9ndGVzdC1maWxlcGF0aC5o
CkBAIC0yNiw3ICsyNiw3IEBACiAvLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAvLyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIC8vIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0KKy8vCiAvLyBHb29nbGUgVGVzdCBmaWxlcGF0aCB1dGlsaXRpZXMKIC8vCiAv
LyBUaGlzIGhlYWRlciBmaWxlIGRlY2xhcmVzIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucyB1c2VkIGlu
dGVybmFsbHkgYnkKQEAgLTM1LDEyICszNSwxMCBAQAogLy8gVGhpcyBmaWxlIGlzICNpbmNsdWRl
ZCBpbiBndGVzdC9pbnRlcm5hbC9ndGVzdC1pbnRlcm5hbC5oLgogLy8gRG8gbm90IGluY2x1ZGUg
dGhpcyBoZWFkZXIgZmlsZSBzZXBhcmF0ZWx5IQogCi0vLyBJV1lVIHByYWdtYTogcHJpdmF0ZSwg
aW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKLS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ3Rlc3QvLioK
LS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ21vY2svLioKKy8vIEdPT0dMRVRFU1RfQ00wMDAxIERP
IE5PVCBERUxFVEUKIAotI2lmbmRlZiBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxf
R1RFU1RfRklMRVBBVEhfSF8KLSNkZWZpbmUgR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0lOVEVS
TkFMX0dURVNUX0ZJTEVQQVRIX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJO
QUxfR1RFU1RfRklMRVBBVEhfSF8KKyNkZWZpbmUgR1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5B
TF9HVEVTVF9GSUxFUEFUSF9IXwogCiAjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3Qtc3Ry
aW5nLmgiCiAKQEAgLTYzLDggKzYxLDggQEAgbmFtZXNwYWNlIGludGVybmFsIHsKIAogY2xhc3Mg
R1RFU1RfQVBJXyBGaWxlUGF0aCB7CiAgcHVibGljOgotICBGaWxlUGF0aCgpIDogcGF0aG5hbWVf
KCIiKSB7fQotICBGaWxlUGF0aChjb25zdCBGaWxlUGF0aCYgcmhzKSA6IHBhdGhuYW1lXyhyaHMu
cGF0aG5hbWVfKSB7fQorICBGaWxlUGF0aCgpIDogcGF0aG5hbWVfKCIiKSB7IH0KKyAgRmlsZVBh
dGgoY29uc3QgRmlsZVBhdGgmIHJocykgOiBwYXRobmFtZV8ocmhzLnBhdGhuYW1lXykgeyB9CiAK
ICAgZXhwbGljaXQgRmlsZVBhdGgoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhuYW1lKSA6IHBhdGhu
YW1lXyhwYXRobmFtZSkgewogICAgIE5vcm1hbGl6ZSgpOwpAQCAtNzUsNyArNzMsOSBAQCBjbGFz
cyBHVEVTVF9BUElfIEZpbGVQYXRoIHsKICAgICByZXR1cm4gKnRoaXM7CiAgIH0KIAotICB2b2lk
IFNldChjb25zdCBGaWxlUGF0aCYgcmhzKSB7IHBhdGhuYW1lXyA9IHJocy5wYXRobmFtZV87IH0K
KyAgdm9pZCBTZXQoY29uc3QgRmlsZVBhdGgmIHJocykgeworICAgIHBhdGhuYW1lXyA9IHJocy5w
YXRobmFtZV87CisgIH0KIAogICBjb25zdCBzdGQ6OnN0cmluZyYgc3RyaW5nKCkgY29uc3QgeyBy
ZXR1cm4gcGF0aG5hbWVfOyB9CiAgIGNvbnN0IGNoYXIqIGNfc3RyKCkgY29uc3QgeyByZXR1cm4g
cGF0aG5hbWVfLmNfc3RyKCk7IH0KQEAgLTg4LDcgKzg4LDggQEAgY2xhc3MgR1RFU1RfQVBJXyBG
aWxlUGF0aCB7CiAgIC8vIHRoYW4gemVybyAoZS5nLiwgMTIpLCByZXR1cm5zICJkaXIvdGVzdF8x
Mi54bWwiLgogICAvLyBPbiBXaW5kb3dzIHBsYXRmb3JtLCB1c2VzIFwgYXMgdGhlIHNlcGFyYXRv
ciByYXRoZXIgdGhhbiAvLgogICBzdGF0aWMgRmlsZVBhdGggTWFrZUZpbGVOYW1lKGNvbnN0IEZp
bGVQYXRoJiBkaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
RmlsZVBhdGgmIGJhc2VfbmFtZSwgaW50IG51bWJlciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBGaWxlUGF0aCYgYmFzZV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBudW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciogZXh0ZW5zaW9uKTsKIAogICAvLyBHaXZlbiBkaXJlY3RvcnkgPSAiZGlyIiwgcmVs
YXRpdmVfcGF0aCA9ICJ0ZXN0LnhtbCIsCkBAIC0xOTQsNyArMTk1LDcgQEAgY2xhc3MgR1RFU1Rf
QVBJXyBGaWxlUGF0aCB7CiAKICAgdm9pZCBOb3JtYWxpemUoKTsKIAotICAvLyBSZXR1cm5zIGEg
cG9pbnRlciB0byB0aGUgbGFzdCBvY2N1cnJlbmNlIG9mIGEgdmFsaWQgcGF0aCBzZXBhcmF0b3Ig
aW4KKyAgLy8gUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGxhc3Qgb2NjdXJlbmNlIG9mIGEgdmFs
aWQgcGF0aCBzZXBhcmF0b3IgaW4KICAgLy8gdGhlIEZpbGVQYXRoLiBPbiBXaW5kb3dzLCBmb3Ig
ZXhhbXBsZSwgYm90aCAnLycgYW5kICdcJyBhcmUgdmFsaWQgcGF0aAogICAvLyBzZXBhcmF0b3Jz
LiBSZXR1cm5zIE5VTEwgaWYgbm8gcGF0aCBzZXBhcmF0b3Igd2FzIGZvdW5kLgogICBjb25zdCBj
aGFyKiBGaW5kTGFzdFBhdGhTZXBhcmF0b3IoKSBjb25zdDsKQEAgLTIwNyw0ICsyMDgsNCBAQCBj
bGFzcyBHVEVTVF9BUElfIEZpbGVQYXRoIHsKIAogR1RFU1RfRElTQUJMRV9NU0NfV0FSTklOR1Nf
UE9QXygpICAvLyAgNDI1MQogCi0jZW5kaWYgIC8vIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9J
TlRFUk5BTF9HVEVTVF9GSUxFUEFUSF9IXworI2VuZGlmICAvLyBHVEVTVF9JTkNMVURFX0dURVNU
X0lOVEVSTkFMX0dURVNUX0ZJTEVQQVRIX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJk
X3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtaW50ZXJu
YWwuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVz
dC9pbnRlcm5hbC9ndGVzdC1pbnRlcm5hbC5oCmluZGV4IDliMDRlNGM4NWZhYi4uNmJhZDg3ODBi
NWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2lu
Y2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtaW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Ro
aXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtaW50
ZXJuYWwuaApAQCAtMjYsMzYgKzI2LDMzIEBACiAvLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAvLyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKIC8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0KKy8vCiAvLyBUaGUgR29vZ2xlIEMrKyBUZXN0aW5nIGFuZCBN
b2NraW5nIEZyYW1ld29yayAoR29vZ2xlIFRlc3QpCiAvLwogLy8gVGhpcyBoZWFkZXIgZmlsZSBk
ZWNsYXJlcyBmdW5jdGlvbnMgYW5kIG1hY3JvcyB1c2VkIGludGVybmFsbHkgYnkKIC8vIEdvb2ds
ZSBUZXN0LiAgVGhleSBhcmUgc3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UuCiAKLS8v
IElXWVUgcHJhZ21hOiBwcml2YXRlLCBpbmNsdWRlICJndGVzdC9ndGVzdC5oIgotLy8gSVdZVSBw
cmFnbWE6IGZyaWVuZCBndGVzdC8uKgotLy8gSVdZVSBwcmFnbWE6IGZyaWVuZCBnbW9jay8uKgor
Ly8gR09PR0xFVEVTVF9DTTAwMDEgRE8gTk9UIERFTEVURQogCi0jaWZuZGVmIEdPT0dMRVRFU1Rf
SU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9JTlRFUk5BTF9IXwotI2RlZmluZSBHT09HTEVU
RVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfSU5URVJOQUxfSF8KKyNpZm5kZWYgR1RF
U1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9JTlRFUk5BTF9IXworI2RlZmluZSBHVEVT
VF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX0lOVEVSTkFMX0hfCiAKICNpbmNsdWRlICJn
dGVzdC9pbnRlcm5hbC9ndGVzdC1wb3J0LmgiCiAKICNpZiBHVEVTVF9PU19MSU5VWAotI2luY2x1
ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy93YWl0
Lmg+Ci0jaW5jbHVkZSA8dW5pc3RkLmg+CisjIGluY2x1ZGUgPHN0ZGxpYi5oPgorIyBpbmNsdWRl
IDxzeXMvdHlwZXMuaD4KKyMgaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyMgaW5jbHVkZSA8dW5pc3Rk
Lmg+CiAjZW5kaWYgIC8vIEdURVNUX09TX0xJTlVYCiAKICNpZiBHVEVTVF9IQVNfRVhDRVBUSU9O
UwotI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KKyMgaW5jbHVkZSA8c3RkZXhjZXB0PgogI2VuZGlmCiAK
ICNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPGZsb2F0Lmg+CiAjaW5jbHVkZSA8c3RyaW5n
Lmg+Ci0KICNpbmNsdWRlIDxjc3RkaW50PgogI2luY2x1ZGUgPGlvbWFuaXA+CiAjaW5jbHVkZSA8
bGltaXRzPgpAQCAtNzksNyArNzYsNyBAQAogLy8gdGhlIGN1cnJlbnQgbGluZSBudW1iZXIuICBG
b3IgbW9yZSBkZXRhaWxzLCBzZWUKIC8vIGh0dHA6Ly93d3cucGFyYXNoaWZ0LmNvbS9jKystZmFx
LWxpdGUvbWlzYy10ZWNobmljYWwtaXNzdWVzLmh0bWwjZmFxLTM5LjYKICNkZWZpbmUgR1RFU1Rf
Q09OQ0FUX1RPS0VOXyhmb28sIGJhcikgR1RFU1RfQ09OQ0FUX1RPS0VOX0lNUExfKGZvbywgYmFy
KQotI2RlZmluZSBHVEVTVF9DT05DQVRfVE9LRU5fSU1QTF8oZm9vLCBiYXIpIGZvbyMjYmFyCisj
ZGVmaW5lIEdURVNUX0NPTkNBVF9UT0tFTl9JTVBMXyhmb28sIGJhcikgZm9vICMjIGJhcgogCiAv
LyBTdHJpbmdpZmllcyBpdHMgYXJndW1lbnQuCiAvLyBXb3JrIGFyb3VuZCBhIGJ1ZyBpbiB2aXN1
YWwgc3R1ZGlvIHdoaWNoIGRvZXNuJ3QgYWNjZXB0IGNvZGUgbGlrZSB0aGlzOgpAQCAtOTMsMjkg
KzkwLDI3IEBACiAjZGVmaW5lIEdURVNUX1NUUklOR0lGWV9IRUxQRVJfKG5hbWUsIC4uLikgI25h
bWUKICNkZWZpbmUgR1RFU1RfU1RSSU5HSUZZXyguLi4pIEdURVNUX1NUUklOR0lGWV9IRUxQRVJf
KF9fVkFfQVJHU19fLCApCiAKLW5hbWVzcGFjZSBwcm90bzIgewotY2xhc3MgTWVzc2FnZUxpdGU7
Ci19CituYW1lc3BhY2UgcHJvdG8yIHsgY2xhc3MgTWVzc2FnZTsgfQogCiBuYW1lc3BhY2UgdGVz
dGluZyB7CiAKIC8vIEZvcndhcmQgZGVjbGFyYXRpb25zLgogCi1jbGFzcyBBc3NlcnRpb25SZXN1
bHQ7ICAvLyBSZXN1bHQgb2YgYW4gYXNzZXJ0aW9uLgotY2xhc3MgTWVzc2FnZTsgICAgICAgICAg
Ly8gUmVwcmVzZW50cyBhIGZhaWx1cmUgbWVzc2FnZS4KLWNsYXNzIFRlc3Q7ICAgICAgICAgICAg
IC8vIFJlcHJlc2VudHMgYSB0ZXN0LgotY2xhc3MgVGVzdEluZm87ICAgICAgICAgLy8gSW5mb3Jt
YXRpb24gYWJvdXQgYSB0ZXN0LgotY2xhc3MgVGVzdFBhcnRSZXN1bHQ7ICAgLy8gUmVzdWx0IG9m
IGEgdGVzdCBwYXJ0LgotY2xhc3MgVW5pdFRlc3Q7ICAgICAgICAgLy8gQSBjb2xsZWN0aW9uIG9m
IHRlc3Qgc3VpdGVzLgorY2xhc3MgQXNzZXJ0aW9uUmVzdWx0OyAgICAgICAgICAgICAgICAgLy8g
UmVzdWx0IG9mIGFuIGFzc2VydGlvbi4KK2NsYXNzIE1lc3NhZ2U7ICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIFJlcHJlc2VudHMgYSBmYWlsdXJlIG1lc3NhZ2UuCitjbGFzcyBUZXN0OyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXByZXNlbnRzIGEgdGVzdC4KK2NsYXNzIFRlc3RJ
bmZvOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluZm9ybWF0aW9uIGFib3V0IGEgdGVzdC4K
K2NsYXNzIFRlc3RQYXJ0UmVzdWx0OyAgICAgICAgICAgICAgICAgIC8vIFJlc3VsdCBvZiBhIHRl
c3QgcGFydC4KK2NsYXNzIFVuaXRUZXN0OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEEgY29s
bGVjdGlvbiBvZiB0ZXN0IHN1aXRlcy4KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiA6OnN0ZDo6
c3RyaW5nIFByaW50VG9TdHJpbmcoY29uc3QgVCYgdmFsdWUpOwogCiBuYW1lc3BhY2UgaW50ZXJu
YWwgewogCi1zdHJ1Y3QgVHJhY2VJbmZvOyAgICAvLyBJbmZvcm1hdGlvbiBhYm91dCBhIHRyYWNl
IHBvaW50LgotY2xhc3MgVGVzdEluZm9JbXBsOyAgLy8gT3BhcXVlIGltcGxlbWVudGF0aW9uIG9m
IFRlc3RJbmZvCi1jbGFzcyBVbml0VGVzdEltcGw7ICAvLyBPcGFxdWUgaW1wbGVtZW50YXRpb24g
b2YgVW5pdFRlc3QKK3N0cnVjdCBUcmFjZUluZm87ICAgICAgICAgICAgICAgICAgICAgIC8vIElu
Zm9ybWF0aW9uIGFib3V0IGEgdHJhY2UgcG9pbnQuCitjbGFzcyBUZXN0SW5mb0ltcGw7ICAgICAg
ICAgICAgICAgICAgICAvLyBPcGFxdWUgaW1wbGVtZW50YXRpb24gb2YgVGVzdEluZm8KK2NsYXNz
IFVuaXRUZXN0SW1wbDsgICAgICAgICAgICAgICAgICAgIC8vIE9wYXF1ZSBpbXBsZW1lbnRhdGlv
biBvZiBVbml0VGVzdAogCiAvLyBUaGUgdGV4dCB1c2VkIGluIGZhaWx1cmUgbWVzc2FnZXMgdG8g
aW5kaWNhdGUgdGhlIHN0YXJ0IG9mIHRoZQogLy8gc3RhY2sgdHJhY2UuCkBAIC0xMjQsNyArMTE5
LDYgQEAgR1RFU1RfQVBJXyBleHRlcm4gY29uc3QgY2hhciBrU3RhY2tUcmFjZU1hcmtlcltdOwog
Ly8gQW4gSWdub3JlZFZhbHVlIG9iamVjdCBjYW4gYmUgaW1wbGljaXRseSBjb25zdHJ1Y3RlZCBm
cm9tIEFOWSB2YWx1ZS4KIGNsYXNzIElnbm9yZWRWYWx1ZSB7CiAgIHN0cnVjdCBTaW5rIHt9Owot
CiAgcHVibGljOgogICAvLyBUaGlzIGNvbnN0cnVjdG9yIHRlbXBsYXRlIGFsbG93cyBhbnkgdmFs
dWUgdG8gYmUgaW1wbGljaXRseQogICAvLyBjb252ZXJ0ZWQgdG8gSWdub3JlZFZhbHVlLiAgVGhl
IG9iamVjdCBoYXMgbm8gZGF0YSBtZW1iZXIgYW5kCkBAIC0xNDAsMTMgKzEzNCwxMyBAQCBjbGFz
cyBJZ25vcmVkVmFsdWUgewogfTsKIAogLy8gQXBwZW5kcyB0aGUgdXNlci1zdXBwbGllZCBtZXNz
YWdlIHRvIHRoZSBHb29nbGUtVGVzdC1nZW5lcmF0ZWQgbWVzc2FnZS4KLUdURVNUX0FQSV8gc3Rk
OjpzdHJpbmcgQXBwZW5kVXNlck1lc3NhZ2UoY29uc3Qgc3RkOjpzdHJpbmcmIGd0ZXN0X21zZywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTWVzc2FnZSYg
dXNlcl9tc2cpOworR1RFU1RfQVBJXyBzdGQ6OnN0cmluZyBBcHBlbmRVc2VyTWVzc2FnZSgKKyAg
ICBjb25zdCBzdGQ6OnN0cmluZyYgZ3Rlc3RfbXNnLCBjb25zdCBNZXNzYWdlJiB1c2VyX21zZyk7
CiAKICNpZiBHVEVTVF9IQVNfRVhDRVBUSU9OUwogCi1HVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5H
U19QVVNIXygKLSAgICA0Mjc1IC8qIGFuIGV4cG9ydGVkIGNsYXNzIHdhcyBkZXJpdmVkIGZyb20g
YSBjbGFzcyB0aGF0IHdhcyBub3QgZXhwb3J0ZWQgKi8pCitHVEVTVF9ESVNBQkxFX01TQ19XQVJO
SU5HU19QVVNIXyg0Mjc1IFwKKy8qIGFuIGV4cG9ydGVkIGNsYXNzIHdhcyBkZXJpdmVkIGZyb20g
YSBjbGFzcyB0aGF0IHdhcyBub3QgZXhwb3J0ZWQgKi8pCiAKIC8vIFRoaXMgZXhjZXB0aW9uIGlz
IHRocm93biBieSAoYW5kIG9ubHkgYnkpIGEgZmFpbGVkIEdvb2dsZSBUZXN0CiAvLyBhc3NlcnRp
b24gd2hlbiBHVEVTVF9GTEFHKHRocm93X29uX2ZhaWx1cmUpIGlzIHRydWUgKGlmIGV4Y2VwdGlv
bnMKQEAgLTE4NSw2ICsxNzksMTQgQEAgR1RFU1RfQVBJXyBzdGQ6OnN0cmluZyBDcmVhdGVVbmlm
aWVkRGlmZihjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIGxlZnQsCiAKIH0gIC8vIG5h
bWVzcGFjZSBlZGl0X2Rpc3RhbmNlCiAKKy8vIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuICds
ZWZ0JyBhbmQgJ3JpZ2h0JyBhbmQgcmV0dXJuIGl0IGluIHVuaWZpZWQgZGlmZgorLy8gZm9ybWF0
LgorLy8gSWYgbm90IG51bGwsIHN0b3JlcyBpbiAndG90YWxfbGluZV9jb3VudCcgdGhlIHRvdGFs
IG51bWJlciBvZiBsaW5lcyBmb3VuZAorLy8gaW4gbGVmdCArIHJpZ2h0LgorR1RFU1RfQVBJXyBz
dGQ6OnN0cmluZyBEaWZmU3RyaW5ncyhjb25zdCBzdGQ6OnN0cmluZyYgbGVmdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHJpZ2h0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqIHRvdGFsX2xpbmVfY291bnQp
OworCiAvLyBDb25zdHJ1Y3RzIGFuZCByZXR1cm5zIHRoZSBtZXNzYWdlIGZvciBhbiBlcXVhbGl0
eSBhc3NlcnRpb24KIC8vIChlLmcuIEFTU0VSVF9FUSwgRVhQRUNUX1NUUkVRLCBldGMpIGZhaWx1
cmUuCiAvLwpAQCAtMjA4LDggKzIxMCwxMCBAQCBHVEVTVF9BUElfIEFzc2VydGlvblJlc3VsdCBF
cUZhaWx1cmUoY29uc3QgY2hhciogZXhwZWN0ZWRfZXhwcmVzc2lvbiwKIAogLy8gQ29uc3RydWN0
cyBhIGZhaWx1cmUgbWVzc2FnZSBmb3IgQm9vbGVhbiBhc3NlcnRpb25zIHN1Y2ggYXMgRVhQRUNU
X1RSVUUuCiBHVEVTVF9BUElfIHN0ZDo6c3RyaW5nIEdldEJvb2xBc3NlcnRpb25GYWlsdXJlTWVz
c2FnZSgKLSAgICBjb25zdCBBc3NlcnRpb25SZXN1bHQmIGFzc2VydGlvbl9yZXN1bHQsIGNvbnN0
IGNoYXIqIGV4cHJlc3Npb25fdGV4dCwKLSAgICBjb25zdCBjaGFyKiBhY3R1YWxfcHJlZGljYXRl
X3ZhbHVlLCBjb25zdCBjaGFyKiBleHBlY3RlZF9wcmVkaWNhdGVfdmFsdWUpOworICAgIGNvbnN0
IEFzc2VydGlvblJlc3VsdCYgYXNzZXJ0aW9uX3Jlc3VsdCwKKyAgICBjb25zdCBjaGFyKiBleHBy
ZXNzaW9uX3RleHQsCisgICAgY29uc3QgY2hhciogYWN0dWFsX3ByZWRpY2F0ZV92YWx1ZSwKKyAg
ICBjb25zdCBjaGFyKiBleHBlY3RlZF9wcmVkaWNhdGVfdmFsdWUpOwogCiAvLyBUaGlzIHRlbXBs
YXRlIGNsYXNzIHJlcHJlc2VudHMgYW4gSUVFRSBmbG9hdGluZy1wb2ludCBudW1iZXIKIC8vIChl
aXRoZXIgc2luZ2xlLXByZWNpc2lvbiBvciBkb3VibGUtcHJlY2lzaW9uLCBkZXBlbmRpbmcgb24g
dGhlCkBAIC0yNTAsMTEgKzI1NCwxMSBAQCBjbGFzcyBGbG9hdGluZ1BvaW50IHsKICAgLy8gQ29u
c3RhbnRzLgogCiAgIC8vICMgb2YgYml0cyBpbiBhIG51bWJlci4KLSAgc3RhdGljIGNvbnN0IHNp
emVfdCBrQml0Q291bnQgPSA4ICogc2l6ZW9mKFJhd1R5cGUpOworICBzdGF0aWMgY29uc3Qgc2l6
ZV90IGtCaXRDb3VudCA9IDgqc2l6ZW9mKFJhd1R5cGUpOwogCiAgIC8vICMgb2YgZnJhY3Rpb24g
Yml0cyBpbiBhIG51bWJlci4KICAgc3RhdGljIGNvbnN0IHNpemVfdCBrRnJhY3Rpb25CaXRDb3Vu
dCA9Ci0gICAgICBzdGQ6Om51bWVyaWNfbGltaXRzPFJhd1R5cGU+OjpkaWdpdHMgLSAxOworICAg
IHN0ZDo6bnVtZXJpY19saW1pdHM8UmF3VHlwZT46OmRpZ2l0cyAtIDE7CiAKICAgLy8gIyBvZiBl
eHBvbmVudCBiaXRzIGluIGEgbnVtYmVyLgogICBzdGF0aWMgY29uc3Qgc2l6ZV90IGtFeHBvbmVu
dEJpdENvdW50ID0ga0JpdENvdW50IC0gMSAtIGtGcmFjdGlvbkJpdENvdW50OwpAQCAtMjYzLDgg
KzI2Nyw4IEBAIGNsYXNzIEZsb2F0aW5nUG9pbnQgewogICBzdGF0aWMgY29uc3QgQml0cyBrU2ln
bkJpdE1hc2sgPSBzdGF0aWNfY2FzdDxCaXRzPigxKSA8PCAoa0JpdENvdW50IC0gMSk7CiAKICAg
Ly8gVGhlIG1hc2sgZm9yIHRoZSBmcmFjdGlvbiBiaXRzLgotICBzdGF0aWMgY29uc3QgQml0cyBr
RnJhY3Rpb25CaXRNYXNrID0gfnN0YXRpY19jYXN0PEJpdHM+KDApID4+Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoa0V4cG9uZW50Qml0Q291bnQgKyAxKTsKKyAgc3Rh
dGljIGNvbnN0IEJpdHMga0ZyYWN0aW9uQml0TWFzayA9CisgICAgfnN0YXRpY19jYXN0PEJpdHM+
KDApID4+IChrRXhwb25lbnRCaXRDb3VudCArIDEpOwogCiAgIC8vIFRoZSBtYXNrIGZvciB0aGUg
ZXhwb25lbnQgYml0cy4KICAgc3RhdGljIGNvbnN0IEJpdHMga0V4cG9uZW50Qml0TWFzayA9IH4o
a1NpZ25CaXRNYXNrIHwga0ZyYWN0aW9uQml0TWFzayk7CkBAIC0yODEsNyArMjg1LDcgQEAgY2xh
c3MgRmxvYXRpbmdQb2ludCB7CiAgIC8vCiAgIC8vIFNlZSB0aGUgZm9sbG93aW5nIGFydGljbGUg
Zm9yIG1vcmUgZGV0YWlscyBvbiBVTFA6CiAgIC8vIGh0dHA6Ly9yYW5kb21hc2NpaS53b3JkcHJl
c3MuY29tLzIwMTIvMDIvMjUvY29tcGFyaW5nLWZsb2F0aW5nLXBvaW50LW51bWJlcnMtMjAxMi1l
ZGl0aW9uLwotICBzdGF0aWMgY29uc3QgdWludDMyX3Qga01heFVscHMgPSA0OworICBzdGF0aWMg
Y29uc3Qgc2l6ZV90IGtNYXhVbHBzID0gNDsKIAogICAvLyBDb25zdHJ1Y3RzIGEgRmxvYXRpbmdQ
b2ludCBmcm9tIGEgcmF3IGZsb2F0aW5nLXBvaW50IG51bWJlci4KICAgLy8KQEAgLTMwMyw3ICsz
MDcsOSBAQCBjbGFzcyBGbG9hdGluZ1BvaW50IHsKICAgfQogCiAgIC8vIFJldHVybnMgdGhlIGZs
b2F0aW5nLXBvaW50IG51bWJlciB0aGF0IHJlcHJlc2VudCBwb3NpdGl2ZSBpbmZpbml0eS4KLSAg
c3RhdGljIFJhd1R5cGUgSW5maW5pdHkoKSB7IHJldHVybiBSZWludGVycHJldEJpdHMoa0V4cG9u
ZW50Qml0TWFzayk7IH0KKyAgc3RhdGljIFJhd1R5cGUgSW5maW5pdHkoKSB7CisgICAgcmV0dXJu
IFJlaW50ZXJwcmV0Qml0cyhrRXhwb25lbnRCaXRNYXNrKTsKKyAgfQogCiAgIC8vIFJldHVybnMg
dGhlIG1heGltdW0gcmVwcmVzZW50YWJsZSBmaW5pdGUgZmxvYXRpbmctcG9pbnQgbnVtYmVyLgog
ICBzdGF0aWMgUmF3VHlwZSBNYXgoKTsKQEAgLTMxMSw3ICszMTcsNyBAQCBjbGFzcyBGbG9hdGlu
Z1BvaW50IHsKICAgLy8gTm9uLXN0YXRpYyBtZXRob2RzCiAKICAgLy8gUmV0dXJucyB0aGUgYml0
cyB0aGF0IHJlcHJlc2VudHMgdGhpcyBudW1iZXIuCi0gIGNvbnN0IEJpdHMmIGJpdHMoKSBjb25z
dCB7IHJldHVybiB1Xy5iaXRzXzsgfQorICBjb25zdCBCaXRzICZiaXRzKCkgY29uc3QgeyByZXR1
cm4gdV8uYml0c187IH0KIAogICAvLyBSZXR1cm5zIHRoZSBleHBvbmVudCBiaXRzIG9mIHRoaXMg
bnVtYmVyLgogICBCaXRzIGV4cG9uZW50X2JpdHMoKSBjb25zdCB7IHJldHVybiBrRXhwb25lbnRC
aXRNYXNrICYgdV8uYml0c187IH0KQEAgLTM0MCw4ICszNDYsOCBAQCBjbGFzcyBGbG9hdGluZ1Bv
aW50IHsKICAgICAvLyBhIE5BTiBtdXN0IHJldHVybiBmYWxzZS4KICAgICBpZiAoaXNfbmFuKCkg
fHwgcmhzLmlzX25hbigpKSByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gRGlzdGFuY2VCZXR3
ZWVuU2lnbkFuZE1hZ25pdHVkZU51bWJlcnModV8uYml0c18sIHJocy51Xy5iaXRzXykgPD0KLSAg
ICAgICAgICAga01heFVscHM7CisgICAgcmV0dXJuIERpc3RhbmNlQmV0d2VlblNpZ25BbmRNYWdu
aXR1ZGVOdW1iZXJzKHVfLmJpdHNfLCByaHMudV8uYml0c18pCisgICAgICAgIDw9IGtNYXhVbHBz
OwogICB9CiAKICBwcml2YXRlOgpAQCAtMzY2LDcgKzM3Miw3IEBAIGNsYXNzIEZsb2F0aW5nUG9p
bnQgewogICAvLwogICAvLyBSZWFkIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2lnbmVk
X251bWJlcl9yZXByZXNlbnRhdGlvbnMKICAgLy8gZm9yIG1vcmUgZGV0YWlscyBvbiBzaWduZWQg
bnVtYmVyIHJlcHJlc2VudGF0aW9ucy4KLSAgc3RhdGljIEJpdHMgU2lnbkFuZE1hZ25pdHVkZVRv
Qmlhc2VkKGNvbnN0IEJpdHMmIHNhbSkgeworICBzdGF0aWMgQml0cyBTaWduQW5kTWFnbml0dWRl
VG9CaWFzZWQoY29uc3QgQml0cyAmc2FtKSB7CiAgICAgaWYgKGtTaWduQml0TWFzayAmIHNhbSkg
ewogICAgICAgLy8gc2FtIHJlcHJlc2VudHMgYSBuZWdhdGl2ZSBudW1iZXIuCiAgICAgICByZXR1
cm4gfnNhbSArIDE7CkBAIC0zNzgsOCArMzg0LDggQEAgY2xhc3MgRmxvYXRpbmdQb2ludCB7CiAK
ICAgLy8gR2l2ZW4gdHdvIG51bWJlcnMgaW4gdGhlIHNpZ24tYW5kLW1hZ25pdHVkZSByZXByZXNl
bnRhdGlvbiwKICAgLy8gcmV0dXJucyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGVtIGFzIGFuIHVu
c2lnbmVkIG51bWJlci4KLSAgc3RhdGljIEJpdHMgRGlzdGFuY2VCZXR3ZWVuU2lnbkFuZE1hZ25p
dHVkZU51bWJlcnMoY29uc3QgQml0cyYgc2FtMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQml0cyYgc2FtMikgeworICBzdGF0aWMg
Qml0cyBEaXN0YW5jZUJldHdlZW5TaWduQW5kTWFnbml0dWRlTnVtYmVycyhjb25zdCBCaXRzICZz
YW0xLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBCaXRzICZzYW0yKSB7CiAgICAgY29uc3QgQml0cyBiaWFzZWQxID0gU2lnbkFuZE1h
Z25pdHVkZVRvQmlhc2VkKHNhbTEpOwogICAgIGNvbnN0IEJpdHMgYmlhc2VkMiA9IFNpZ25BbmRN
YWduaXR1ZGVUb0JpYXNlZChzYW0yKTsKICAgICByZXR1cm4gKGJpYXNlZDEgPj0gYmlhc2VkMikg
PyAoYmlhc2VkMSAtIGJpYXNlZDIpIDogKGJpYXNlZDIgLSBiaWFzZWQxKTsKQEAgLTM5MSwxMyAr
Mzk3LDkgQEAgY2xhc3MgRmxvYXRpbmdQb2ludCB7CiAvLyBXZSBjYW5ub3QgdXNlIHN0ZDo6bnVt
ZXJpY19saW1pdHM8VD46Om1heCgpIGFzIGl0IGNsYXNoZXMgd2l0aCB0aGUgbWF4KCkKIC8vIG1h
Y3JvIGRlZmluZWQgYnkgPHdpbmRvd3MuaD4uCiB0ZW1wbGF0ZSA8PgotaW5saW5lIGZsb2F0IEZs
b2F0aW5nUG9pbnQ8ZmxvYXQ+OjpNYXgoKSB7Ci0gIHJldHVybiBGTFRfTUFYOwotfQoraW5saW5l
IGZsb2F0IEZsb2F0aW5nUG9pbnQ8ZmxvYXQ+OjpNYXgoKSB7IHJldHVybiBGTFRfTUFYOyB9CiB0
ZW1wbGF0ZSA8PgotaW5saW5lIGRvdWJsZSBGbG9hdGluZ1BvaW50PGRvdWJsZT46Ok1heCgpIHsK
LSAgcmV0dXJuIERCTF9NQVg7Ci19CitpbmxpbmUgZG91YmxlIEZsb2F0aW5nUG9pbnQ8ZG91Ymxl
Pjo6TWF4KCkgeyByZXR1cm4gREJMX01BWDsgfQogCiAvLyBUeXBlZGVmcyB0aGUgaW5zdGFuY2Vz
IG9mIHRoZSBGbG9hdGluZ1BvaW50IHRlbXBsYXRlIGNsYXNzIHRoYXQgd2UKIC8vIGNhcmUgdG8g
dXNlLgpAQCAtNDU3LDggKzQ1OSw3IEBAIGNsYXNzIFRlc3RGYWN0b3J5QmFzZSB7CiAgIFRlc3RG
YWN0b3J5QmFzZSgpIHt9CiAKICBwcml2YXRlOgotICBUZXN0RmFjdG9yeUJhc2UoY29uc3QgVGVz
dEZhY3RvcnlCYXNlJikgPSBkZWxldGU7Ci0gIFRlc3RGYWN0b3J5QmFzZSYgb3BlcmF0b3I9KGNv
bnN0IFRlc3RGYWN0b3J5QmFzZSYpID0gZGVsZXRlOworICBHVEVTVF9ESVNBTExPV19DT1BZX0FO
RF9BU1NJR05fKFRlc3RGYWN0b3J5QmFzZSk7CiB9OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVz
IGltcGxlbWVudGF0aW9uIG9mIFRlYXN0RmFjdG9yeUJhc2UgaW50ZXJmYWNlLgpAQCAtNTA3LDE3
ICs1MDgsMTYgQEAgaW5saW5lIFNldFVwVGVhckRvd25TdWl0ZUZ1bmNUeXBlIEdldE5vdERlZmF1
bHRPck51bGwoCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogLy8gIE5vdGUgdGhhdCBTdWl0ZUFw
aVJlc29sdmVyIGluaGVyaXRzIGZyb20gVCBiZWNhdXNlCi0vLyAgU2V0VXBUZXN0U3VpdGUoKS9U
ZWFyRG93blRlc3RTdWl0ZSgpIGNvdWxkIGJlIHByb3RlY3RlZC4gVGhpcyB3YXkKKy8vICBTZXRV
cFRlc3RTdWl0ZSgpL1RlYXJEb3duVGVzdFN1aXRlKCkgY291bGQgYmUgcHJvdGVjdGVkLiBUaHMg
d2F5CiAvLyAgU3VpdGVBcGlSZXNvbHZlciBjYW4gYWNjZXNzIHRoZW0uCiBzdHJ1Y3QgU3VpdGVB
cGlSZXNvbHZlciA6IFQgewogICAvLyB0ZXN0aW5nOjpUZXN0IGlzIG9ubHkgZm9yd2FyZCBkZWNs
YXJlZCBhdCB0aGlzIHBvaW50LiBTbyB3ZSBtYWtlIGl0IGEKLSAgLy8gZGVwZW5kZW50IGNsYXNz
IGZvciB0aGUgY29tcGlsZXIgdG8gYmUgT0sgd2l0aCBpdC4KKyAgLy8gZGVwZW5kZW5kIGNsYXNz
IGZvciB0aGUgY29tcGlsZXIgdG8gYmUgT0sgd2l0aCBpdC4KICAgdXNpbmcgVGVzdCA9CiAgICAg
ICB0eXBlbmFtZSBzdGQ6OmNvbmRpdGlvbmFsPHNpemVvZihUKSAhPSAwLCA6OnRlc3Rpbmc6OlRl
c3QsIHZvaWQ+Ojp0eXBlOwogCiAgIHN0YXRpYyBTZXRVcFRlYXJEb3duU3VpdGVGdW5jVHlwZSBH
ZXRTZXRVcENhc2VPclN1aXRlKGNvbnN0IGNoYXIqIGZpbGVuYW1lLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZV9udW0pIHsK
LSNpZm5kZWYgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElfCiAgICAgU2V0VXBUZWFy
RG93blN1aXRlRnVuY1R5cGUgdGVzdF9jYXNlX2ZwID0KICAgICAgICAgR2V0Tm90RGVmYXVsdE9y
TnVsbCgmVDo6U2V0VXBUZXN0Q2FzZSwgJlRlc3Q6OlNldFVwVGVzdENhc2UpOwogICAgIFNldFVw
VGVhckRvd25TdWl0ZUZ1bmNUeXBlIHRlc3Rfc3VpdGVfZnAgPQpAQCAtNTI5LDE2ICs1MjksMTAg
QEAgc3RydWN0IFN1aXRlQXBpUmVzb2x2ZXIgOiBUIHsKICAgICAgICAgPDwgZmlsZW5hbWUgPDwg
IjoiIDw8IGxpbmVfbnVtOwogCiAgICAgcmV0dXJuIHRlc3RfY2FzZV9mcCAhPSBudWxscHRyID8g
dGVzdF9jYXNlX2ZwIDogdGVzdF9zdWl0ZV9mcDsKLSNlbHNlCi0gICAgKHZvaWQpKGZpbGVuYW1l
KTsKLSAgICAodm9pZCkobGluZV9udW0pOwotICAgIHJldHVybiAmVDo6U2V0VXBUZXN0U3VpdGU7
Ci0jZW5kaWYKICAgfQogCiAgIHN0YXRpYyBTZXRVcFRlYXJEb3duU3VpdGVGdW5jVHlwZSBHZXRU
ZWFyRG93bkNhc2VPclN1aXRlKGNvbnN0IGNoYXIqIGZpbGVuYW1lLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZV9udW0p
IHsKLSNpZm5kZWYgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElfCiAgICAgU2V0VXBU
ZWFyRG93blN1aXRlRnVuY1R5cGUgdGVzdF9jYXNlX2ZwID0KICAgICAgICAgR2V0Tm90RGVmYXVs
dE9yTnVsbCgmVDo6VGVhckRvd25UZXN0Q2FzZSwgJlRlc3Q6OlRlYXJEb3duVGVzdENhc2UpOwog
ICAgIFNldFVwVGVhckRvd25TdWl0ZUZ1bmNUeXBlIHRlc3Rfc3VpdGVfZnAgPQpAQCAtNTUwLDEx
ICs1NDQsNiBAQCBzdHJ1Y3QgU3VpdGVBcGlSZXNvbHZlciA6IFQgewogICAgICAgICA8PCBmaWxl
bmFtZSA8PCAiOiIgPDwgbGluZV9udW07CiAKICAgICByZXR1cm4gdGVzdF9jYXNlX2ZwICE9IG51
bGxwdHIgPyB0ZXN0X2Nhc2VfZnAgOiB0ZXN0X3N1aXRlX2ZwOwotI2Vsc2UKLSAgICAodm9pZCko
ZmlsZW5hbWUpOwotICAgICh2b2lkKShsaW5lX251bSk7Ci0gICAgcmV0dXJuICZUOjpUZWFyRG93
blRlc3RTdWl0ZTsKLSNlbmRpZgogICB9CiB9OwogCkBAIC01NjMsMTEgKzU1MiwxMSBAQCBzdHJ1
Y3QgU3VpdGVBcGlSZXNvbHZlciA6IFQgewogLy8KIC8vIEFyZ3VtZW50czoKIC8vCi0vLyAgIHRl
c3Rfc3VpdGVfbmFtZTogIG5hbWUgb2YgdGhlIHRlc3Qgc3VpdGUKKy8vICAgdGVzdF9zdWl0ZV9u
YW1lOiAgIG5hbWUgb2YgdGhlIHRlc3Qgc3VpdGUKIC8vICAgbmFtZTogICAgICAgICAgICAgbmFt
ZSBvZiB0aGUgdGVzdAotLy8gICB0eXBlX3BhcmFtOiAgICAgICB0aGUgbmFtZSBvZiB0aGUgdGVz
dCdzIHR5cGUgcGFyYW1ldGVyLCBvciBOVUxMIGlmCisvLyAgIHR5cGVfcGFyYW0gICAgICAgIHRo
ZSBuYW1lIG9mIHRoZSB0ZXN0J3MgdHlwZSBwYXJhbWV0ZXIsIG9yIE5VTEwgaWYKIC8vICAgICAg
ICAgICAgICAgICAgICAgdGhpcyBpcyBub3QgYSB0eXBlZCBvciBhIHR5cGUtcGFyYW1ldGVyaXpl
ZCB0ZXN0LgotLy8gICB2YWx1ZV9wYXJhbTogICAgICB0ZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRo
ZSB0ZXN0J3MgdmFsdWUgcGFyYW1ldGVyLAorLy8gICB2YWx1ZV9wYXJhbSAgICAgICB0ZXh0IHJl
cHJlc2VudGF0aW9uIG9mIHRoZSB0ZXN0J3MgdmFsdWUgcGFyYW1ldGVyLAogLy8gICAgICAgICAg
ICAgICAgICAgICBvciBOVUxMIGlmIHRoaXMgaXMgbm90IGEgdHlwZS1wYXJhbWV0ZXJpemVkIHRl
c3QuCiAvLyAgIGNvZGVfbG9jYXRpb246ICAgIGNvZGUgbG9jYXRpb24gd2hlcmUgdGhlIHRlc3Qg
aXMgZGVmaW5lZAogLy8gICBmaXh0dXJlX2NsYXNzX2lkOiBJRCBvZiB0aGUgdGVzdCBmaXh0dXJl
IGNsYXNzCkBAIC01ODcsNiArNTc2LDggQEAgR1RFU1RfQVBJXyBUZXN0SW5mbyogTWFrZUFuZFJl
Z2lzdGVyVGVzdEluZm8oCiAvLyBhbmQgcmV0dXJucyBmYWxzZS4gIE5vbmUgb2YgcHN0ciwgKnBz
dHIsIGFuZCBwcmVmaXggY2FuIGJlIE5VTEwuCiBHVEVTVF9BUElfIGJvb2wgU2tpcFByZWZpeChj
b25zdCBjaGFyKiBwcmVmaXgsIGNvbnN0IGNoYXIqKiBwc3RyKTsKIAorI2lmIEdURVNUX0hBU19U
WVBFRF9URVNUIHx8IEdURVNUX0hBU19UWVBFRF9URVNUX1AKKwogR1RFU1RfRElTQUJMRV9NU0Nf
V0FSTklOR1NfUFVTSF8oNDI1MSBcCiAvKiBjbGFzcyBBIG5lZWRzIHRvIGhhdmUgZGxsLWludGVy
ZmFjZSB0byBiZSB1c2VkIGJ5IGNsaWVudHMgb2YgY2xhc3MgQiAqLykKIApAQCAtNjUxLDggKzY0
Miw3IEBAIGlubGluZSBjb25zdCBjaGFyKiBTa2lwQ29tbWEoY29uc3QgY2hhciogc3RyKSB7CiAg
IGlmIChjb21tYSA9PSBudWxscHRyKSB7CiAgICAgcmV0dXJuIG51bGxwdHI7CiAgIH0KLSAgd2hp
bGUgKElzU3BhY2UoKigrK2NvbW1hKSkpIHsKLSAgfQorICB3aGlsZSAoSXNTcGFjZSgqKCsrY29t
bWEpKSkge30KICAgcmV0dXJuIGNvbW1hOwogfQogCkBAIC02NjYsNyArNjU2LDcgQEAgaW5saW5l
IHN0ZDo6c3RyaW5nIEdldFByZWZpeFVudGlsQ29tbWEoY29uc3QgY2hhciogc3RyKSB7CiAvLyBT
cGxpdHMgYSBnaXZlbiBzdHJpbmcgb24gYSBnaXZlbiBkZWxpbWl0ZXIsIHBvcHVsYXRpbmcgYSBn
aXZlbgogLy8gdmVjdG9yIHdpdGggdGhlIGZpZWxkcy4KIHZvaWQgU3BsaXRTdHJpbmcoY29uc3Qg
OjpzdGQ6OnN0cmluZyYgc3RyLCBjaGFyIGRlbGltaXRlciwKLSAgICAgICAgICAgICAgICAgOjpz
dGQ6OnZlY3Rvcjw6OnN0ZDo6c3RyaW5nPiogZGVzdCk7CisgICAgICAgICAgICAgICAgIDo6c3Rk
Ojp2ZWN0b3I8IDo6c3RkOjpzdHJpbmc+KiBkZXN0KTsKIAogLy8gVGhlIGRlZmF1bHQgYXJndW1l
bnQgdG8gdGhlIHRlbXBsYXRlIGJlbG93IGZvciB0aGUgY2FzZSB3aGVuIHRoZSB1c2VyIGRvZXMK
IC8vIG5vdCBwcm92aWRlIGEgbmFtZSBnZW5lcmF0b3IuCkBAIC03NzksMTMgKzc2OSwxMyBAQCBj
bGFzcyBUeXBlUGFyYW1ldGVyaXplZFRlc3RTdWl0ZSB7CiAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgdHlwZV9uYW1lcyA9CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHZW5lcmF0ZU5hbWVzPERlZmF1bHROYW1lR2VuZXJhdG9yLCBUeXBl
cz4oKSkgewogICAgIFJlZ2lzdGVyVHlwZVBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbnN0YW50aWF0
aW9uKGNhc2VfbmFtZSk7Ci0gICAgc3RkOjpzdHJpbmcgdGVzdF9uYW1lID0KLSAgICAgICAgU3Ry
aXBUcmFpbGluZ1NwYWNlcyhHZXRQcmVmaXhVbnRpbENvbW1hKHRlc3RfbmFtZXMpKTsKKyAgICBz
dGQ6OnN0cmluZyB0ZXN0X25hbWUgPSBTdHJpcFRyYWlsaW5nU3BhY2VzKAorICAgICAgICBHZXRQ
cmVmaXhVbnRpbENvbW1hKHRlc3RfbmFtZXMpKTsKICAgICBpZiAoIXN0YXRlLT5UZXN0RXhpc3Rz
KHRlc3RfbmFtZSkpIHsKICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGdldCBjb2Rl
IGxvY2F0aW9uIGZvciB0ZXN0ICVzLiVzIGF0ICVzLiIsCiAgICAgICAgICAgICAgIGNhc2VfbmFt
ZSwgdGVzdF9uYW1lLmNfc3RyKCksCi0gICAgICAgICAgICAgIEZvcm1hdEZpbGVMb2NhdGlvbihj
b2RlX2xvY2F0aW9uLmZpbGUuY19zdHIoKSwgY29kZV9sb2NhdGlvbi5saW5lKQotICAgICAgICAg
ICAgICAgICAgLmNfc3RyKCkpOworICAgICAgICAgICAgICBGb3JtYXRGaWxlTG9jYXRpb24oY29k
ZV9sb2NhdGlvbi5maWxlLmNfc3RyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb2RlX2xvY2F0aW9uLmxpbmUpLmNfc3RyKCkpOwogICAgICAgZmZsdXNoKHN0ZGVycik7CiAg
ICAgICBwb3NpeDo6QWJvcnQoKTsKICAgICB9CkBAIC04MTksNiArODA5LDggQEAgY2xhc3MgVHlw
ZVBhcmFtZXRlcml6ZWRUZXN0U3VpdGU8Rml4dHVyZSwgaW50ZXJuYWw6Ok5vbmUsIFR5cGVzPiB7
CiAgIH0KIH07CiAKKyNlbmRpZiAgLy8gR1RFU1RfSEFTX1RZUEVEX1RFU1QgfHwgR1RFU1RfSEFT
X1RZUEVEX1RFU1RfUAorCiAvLyBSZXR1cm5zIHRoZSBjdXJyZW50IE9TIHN0YWNrIHRyYWNlIGFz
IGFuIHN0ZDo6c3RyaW5nLgogLy8KIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzdGFjayBmcmFt
ZXMgdG8gYmUgaW5jbHVkZWQgaXMgc3BlY2lmaWVkIGJ5CkBAIC04MjksOCArODIxLDggQEAgY2xh
c3MgVHlwZVBhcmFtZXRlcml6ZWRUZXN0U3VpdGU8Rml4dHVyZSwgaW50ZXJuYWw6Ok5vbmUsIFR5
cGVzPiB7CiAvLyBGb3IgZXhhbXBsZSwgaWYgRm9vKCkgY2FsbHMgQmFyKCksIHdoaWNoIGluIHR1
cm4gY2FsbHMKIC8vIEdldEN1cnJlbnRPc1N0YWNrVHJhY2VFeGNlcHRUb3AoLi4uLCAxKSwgRm9v
KCkgd2lsbCBiZSBpbmNsdWRlZCBpbgogLy8gdGhlIHRyYWNlIGJ1dCBCYXIoKSBhbmQgR2V0Q3Vy
cmVudE9zU3RhY2tUcmFjZUV4Y2VwdFRvcCgpIHdvbid0LgotR1RFU1RfQVBJXyBzdGQ6OnN0cmlu
ZyBHZXRDdXJyZW50T3NTdGFja1RyYWNlRXhjZXB0VG9wKFVuaXRUZXN0KiB1bml0X3Rlc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNraXBfY291bnQpOworR1RFU1RfQVBJXyBzdGQ6OnN0cmluZyBHZXRDdXJyZW50T3NTdGFja1Ry
YWNlRXhjZXB0VG9wKAorICAgIFVuaXRUZXN0KiB1bml0X3Rlc3QsIGludCBza2lwX2NvdW50KTsK
IAogLy8gSGVscGVycyBmb3Igc3VwcHJlc3Npbmcgd2FybmluZ3Mgb24gdW5yZWFjaGFibGUgY29k
ZSBvciBjb25zdGFudAogLy8gY29uZGl0aW9uLgpAQCAtODc5LDQyICs4NzEsMTggQEAgY2xhc3Mg
R1RFU1RfQVBJXyBSYW5kb20gewogCiAgcHJpdmF0ZToKICAgdWludDMyX3Qgc3RhdGVfOwotICBS
YW5kb20oY29uc3QgUmFuZG9tJikgPSBkZWxldGU7Ci0gIFJhbmRvbSYgb3BlcmF0b3I9KGNvbnN0
IFJhbmRvbSYpID0gZGVsZXRlOworICBHVEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKFJh
bmRvbSk7CiB9OwogCiAvLyBUdXJucyBjb25zdCBVJiwgVSYsIGNvbnN0IFUsIGFuZCBVIGFsbCBp
bnRvIFUuCiAjZGVmaW5lIEdURVNUX1JFTU9WRV9SRUZFUkVOQ0VfQU5EX0NPTlNUXyhUKSBcCiAg
IHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5j
ZTxUPjo6dHlwZT46OnR5cGUKIAotLy8gSGFzRGVidWdTdHJpbmdBbmRTaG9ydERlYnVnU3RyaW5n
PFQ+Ojp2YWx1ZSBpcyBhIGNvbXBpbGUtdGltZSBib29sIGNvbnN0YW50Ci0vLyB0aGF0J3MgdHJ1
ZSBpZiBhbmQgb25seSBpZiBUIGhhcyBtZXRob2RzIERlYnVnU3RyaW5nKCkgYW5kIFNob3J0RGVi
dWdTdHJpbmcoKQotLy8gdGhhdCByZXR1cm4gc3RkOjpzdHJpbmcuCisvLyBJc0FQcm90b2NvbE1l
c3NhZ2U8VD46OnZhbHVlIGlzIGEgY29tcGlsZS10aW1lIGJvb2wgY29uc3RhbnQgdGhhdCdzCisv
LyB0cnVlIGlmIGFuZCBvbmx5IGlmIFQgaXMgdHlwZSBwcm90bzI6Ok1lc3NhZ2Ugb3IgYSBzdWJj
bGFzcyBvZiBpdC4KIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgSGFzRGVidWdTdHJpbmdB
bmRTaG9ydERlYnVnU3RyaW5nIHsKLSBwcml2YXRlOgotICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQz4K
LSAgc3RhdGljIGF1dG8gQ2hlY2tEZWJ1Z1N0cmluZyhDKikgLT4gdHlwZW5hbWUgc3RkOjppc19z
YW1lPAotICAgICAgc3RkOjpzdHJpbmcsIGRlY2x0eXBlKHN0ZDo6ZGVjbHZhbDxjb25zdCBDPigp
LkRlYnVnU3RyaW5nKCkpPjo6dHlwZTsKLSAgdGVtcGxhdGUgPHR5cGVuYW1lPgotICBzdGF0aWMg
c3RkOjpmYWxzZV90eXBlIENoZWNrRGVidWdTdHJpbmcoLi4uKTsKLQotICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQz4KLSAgc3RhdGljIGF1dG8gQ2hlY2tTaG9ydERlYnVnU3RyaW5nKEMqKSAtPiB0eXBl
bmFtZSBzdGQ6OmlzX3NhbWU8Ci0gICAgICBzdGQ6OnN0cmluZywgZGVjbHR5cGUoc3RkOjpkZWNs
dmFsPGNvbnN0IEM+KCkuU2hvcnREZWJ1Z1N0cmluZygpKT46OnR5cGU7Ci0gIHRlbXBsYXRlIDx0
eXBlbmFtZT4KLSAgc3RhdGljIHN0ZDo6ZmFsc2VfdHlwZSBDaGVja1Nob3J0RGVidWdTdHJpbmco
Li4uKTsKLQotICB1c2luZyBIYXNEZWJ1Z1N0cmluZ1R5cGUgPSBkZWNsdHlwZShDaGVja0RlYnVn
U3RyaW5nPFQ+KG51bGxwdHIpKTsKLSAgdXNpbmcgSGFzU2hvcnREZWJ1Z1N0cmluZ1R5cGUgPSBk
ZWNsdHlwZShDaGVja1Nob3J0RGVidWdTdHJpbmc8VD4obnVsbHB0cikpOwotCi0gcHVibGljOgot
ICBzdGF0aWMgY29uc3RleHByIGJvb2wgdmFsdWUgPQotICAgICAgSGFzRGVidWdTdHJpbmdUeXBl
Ojp2YWx1ZSAmJiBIYXNTaG9ydERlYnVnU3RyaW5nVHlwZTo6dmFsdWU7Ci19OwotCi10ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KLWNvbnN0ZXhwciBib29sIEhhc0RlYnVnU3RyaW5nQW5kU2hvcnREZWJ1
Z1N0cmluZzxUPjo6dmFsdWU7CitzdHJ1Y3QgSXNBUHJvdG9jb2xNZXNzYWdlCisgICAgOiBwdWJs
aWMgc3RkOjppc19jb252ZXJ0aWJsZTxjb25zdCBUKiwgY29uc3QgOjpwcm90bzI6Ok1lc3NhZ2Uq
PiB7fTsKIAogLy8gV2hlbiB0aGUgY29tcGlsZXIgc2VlcyBleHByZXNzaW9uIElzQ29udGFpbmVy
VGVzdDxDPigwKSwgaWYgQyBpcyBhbgogLy8gU1RMLXN0eWxlIGNvbnRhaW5lciBjbGFzcywgdGhl
IGZpcnN0IG92ZXJsb2FkIG9mIElzQ29udGFpbmVyVGVzdApAQCAtOTUzLDkgKzkyMSw3IEBAIElz
Q29udGFpbmVyIElzQ29udGFpbmVyVGVzdChpbnQgLyogZHVtbXkgKi8pIHsKIAogdHlwZWRlZiBj
aGFyIElzTm90Q29udGFpbmVyOwogdGVtcGxhdGUgPGNsYXNzIEM+Ci1Jc05vdENvbnRhaW5lciBJ
c0NvbnRhaW5lclRlc3QobG9uZyAvKiBkdW1teSAqLykgewotICByZXR1cm4gJ1wwJzsKLX0KK0lz
Tm90Q29udGFpbmVyIElzQ29udGFpbmVyVGVzdChsb25nIC8qIGR1bW15ICovKSB7IHJldHVybiAn
XDAnOyB9CiAKIC8vIFRyYWl0IHRvIGRldGVjdCB3aGV0aGVyIGEgdHlwZSBUIGlzIGEgaGFzaCB0
YWJsZS4KIC8vIFRoZSBoZXVyaXN0aWMgdXNlZCBpcyB0aGF0IHRoZSB0eXBlIGNvbnRhaW5zIGFu
IGlubmVyIHR5cGUgYGhhc2hlcmAgYW5kIGRvZXMKQEAgLTEwMTgsMTMgKzk4NCwxMSBAQCBib29s
IEFycmF5RXEoY29uc3QgVCogbGhzLCBzaXplX3Qgc2l6ZSwgY29uc3QgVSogcmhzKTsKIAogLy8g
VGhpcyBnZW5lcmljIHZlcnNpb24gaXMgdXNlZCB3aGVuIGsgaXMgMC4KIHRlbXBsYXRlIDx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVPgotaW5saW5lIGJvb2wgQXJyYXlFcShjb25zdCBUJiBsaHMsIGNv
bnN0IFUmIHJocykgewotICByZXR1cm4gbGhzID09IHJoczsKLX0KK2lubGluZSBib29sIEFycmF5
RXEoY29uc3QgVCYgbGhzLCBjb25zdCBVJiByaHMpIHsgcmV0dXJuIGxocyA9PSByaHM7IH0KIAog
Ly8gVGhpcyBvdmVybG9hZCBpcyB1c2VkIHdoZW4gayA+PSAxLgogdGVtcGxhdGUgPHR5cGVuYW1l
IFQsIHR5cGVuYW1lIFUsIHNpemVfdCBOPgotaW5saW5lIGJvb2wgQXJyYXlFcShjb25zdCBUICgm
bGhzKVtOXSwgY29uc3QgVSAoJnJocylbTl0pIHsKK2lubGluZSBib29sIEFycmF5RXEoY29uc3Qg
VCgmbGhzKVtOXSwgY29uc3QgVSgmcmhzKVtOXSkgewogICByZXR1cm4gaW50ZXJuYWw6OkFycmF5
RXEobGhzLCBOLCByaHMpOwogfQogCkBAIC0xMDM0LDcgKzk5OCw4IEBAIGlubGluZSBib29sIEFy
cmF5RXEoY29uc3QgVCAoJmxocylbTl0sIGNvbnN0IFUgKCZyaHMpW05dKSB7CiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KIGJvb2wgQXJyYXlFcShjb25zdCBUKiBsaHMsIHNpemVf
dCBzaXplLCBjb25zdCBVKiByaHMpIHsKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgIT0gc2l6ZTsg
aSsrKSB7Ci0gICAgaWYgKCFpbnRlcm5hbDo6QXJyYXlFcShsaHNbaV0sIHJoc1tpXSkpIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoIWludGVybmFsOjpBcnJheUVxKGxoc1tpXSwgcmhzW2ldKSkKKyAg
ICAgIHJldHVybiBmYWxzZTsKICAgfQogICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTEwNDQsNyArMTAw
OSw4IEBAIGJvb2wgQXJyYXlFcShjb25zdCBUKiBsaHMsIHNpemVfdCBzaXplLCBjb25zdCBVKiBy
aHMpIHsKIHRlbXBsYXRlIDx0eXBlbmFtZSBJdGVyLCB0eXBlbmFtZSBFbGVtZW50PgogSXRlciBB
cnJheUF3YXJlRmluZChJdGVyIGJlZ2luLCBJdGVyIGVuZCwgY29uc3QgRWxlbWVudCYgZWxlbSkg
ewogICBmb3IgKEl0ZXIgaXQgPSBiZWdpbjsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgaWYgKGlu
dGVybmFsOjpBcnJheUVxKCppdCwgZWxlbSkpIHJldHVybiBpdDsKKyAgICBpZiAoaW50ZXJuYWw6
OkFycmF5RXEoKml0LCBlbGVtKSkKKyAgICAgIHJldHVybiBpdDsKICAgfQogICByZXR1cm4gZW5k
OwogfQpAQCAtMTA1OCwxMyArMTAyNCwxMSBAQCB2b2lkIENvcHlBcnJheShjb25zdCBUKiBmcm9t
LCBzaXplX3Qgc2l6ZSwgVSogdG8pOwogCiAvLyBUaGlzIGdlbmVyaWMgdmVyc2lvbiBpcyB1c2Vk
IHdoZW4gayBpcyAwLgogdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+Ci1pbmxpbmUg
dm9pZCBDb3B5QXJyYXkoY29uc3QgVCYgZnJvbSwgVSogdG8pIHsKLSAgKnRvID0gZnJvbTsKLX0K
K2lubGluZSB2b2lkIENvcHlBcnJheShjb25zdCBUJiBmcm9tLCBVKiB0bykgeyAqdG8gPSBmcm9t
OyB9CiAKIC8vIFRoaXMgb3ZlcmxvYWQgaXMgdXNlZCB3aGVuIGsgPj0gMS4KIHRlbXBsYXRlIDx0
eXBlbmFtZSBULCB0eXBlbmFtZSBVLCBzaXplX3QgTj4KLWlubGluZSB2b2lkIENvcHlBcnJheShj
b25zdCBUICgmZnJvbSlbTl0sIFUgKCp0bylbTl0pIHsKK2lubGluZSB2b2lkIENvcHlBcnJheShj
b25zdCBUKCZmcm9tKVtOXSwgVSgqdG8pW05dKSB7CiAgIGludGVybmFsOjpDb3B5QXJyYXkoZnJv
bSwgTiwgKnRvKTsKIH0KIApAQCAtMTExNyw3ICsxMDgxLDggQEAgY2xhc3MgTmF0aXZlQXJyYXkg
ewogICB9CiAKICAgfk5hdGl2ZUFycmF5KCkgewotICAgIGlmIChjbG9uZV8gIT0gJk5hdGl2ZUFy
cmF5OjpJbml0UmVmKSBkZWxldGVbXSBhcnJheV87CisgICAgaWYgKGNsb25lXyAhPSAmTmF0aXZl
QXJyYXk6OkluaXRSZWYpCisgICAgICBkZWxldGVbXSBhcnJheV87CiAgIH0KIAogICAvLyBTVEwt
c3R5bGUgY29udGFpbmVyIG1ldGhvZHMuCkBAIC0xMTI1LDcgKzEwOTAsOCBAQCBjbGFzcyBOYXRp
dmVBcnJheSB7CiAgIGNvbnN0X2l0ZXJhdG9yIGJlZ2luKCkgY29uc3QgeyByZXR1cm4gYXJyYXlf
OyB9CiAgIGNvbnN0X2l0ZXJhdG9yIGVuZCgpIGNvbnN0IHsgcmV0dXJuIGFycmF5XyArIHNpemVf
OyB9CiAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBOYXRpdmVBcnJheSYgcmhzKSBjb25zdCB7Ci0g
ICAgcmV0dXJuIHNpemUoKSA9PSByaHMuc2l6ZSgpICYmIEFycmF5RXEoYmVnaW4oKSwgc2l6ZSgp
LCByaHMuYmVnaW4oKSk7CisgICAgcmV0dXJuIHNpemUoKSA9PSByaHMuc2l6ZSgpICYmCisgICAg
ICAgIEFycmF5RXEoYmVnaW4oKSwgc2l6ZSgpLCByaHMuYmVnaW4oKSk7CiAgIH0KIAogIHByaXZh
dGU6CkBAIC0xMTUyLDYgKzExMTgsOCBAQCBjbGFzcyBOYXRpdmVBcnJheSB7CiAgIGNvbnN0IEVs
ZW1lbnQqIGFycmF5XzsKICAgc2l6ZV90IHNpemVfOwogICB2b2lkIChOYXRpdmVBcnJheTo6KmNs
b25lXykoY29uc3QgRWxlbWVudCosIHNpemVfdCk7CisKKyAgR1RFU1RfRElTQUxMT1dfQVNTSUdO
XyhOYXRpdmVBcnJheSk7CiB9OwogCiAvLyBCYWNrcG9ydCBvZiBzdGQ6OmluZGV4X3NlcXVlbmNl
LgpAQCAtMTE3NSwxOCArMTE0MywxMiBAQCBzdHJ1Y3QgRG91YmxlU2VxdWVuY2U8ZmFsc2UsIElu
ZGV4U2VxdWVuY2U8SS4uLj4sIHNpemVvZlQ+IHsKIC8vIEJhY2twb3J0IG9mIHN0ZDo6bWFrZV9p
bmRleF9zZXF1ZW5jZS4KIC8vIEl0IHVzZXMgTyhsbihOKSkgaW5zdGFudGlhdGlvbiBkZXB0aC4K
IHRlbXBsYXRlIDxzaXplX3QgTj4KLXN0cnVjdCBNYWtlSW5kZXhTZXF1ZW5jZUltcGwKLSAgICA6
IERvdWJsZVNlcXVlbmNlPE4gJSAyID09IDEsIHR5cGVuYW1lIE1ha2VJbmRleFNlcXVlbmNlSW1w
bDxOIC8gMj46OnR5cGUsCitzdHJ1Y3QgTWFrZUluZGV4U2VxdWVuY2UKKyAgICA6IERvdWJsZVNl
cXVlbmNlPE4gJSAyID09IDEsIHR5cGVuYW1lIE1ha2VJbmRleFNlcXVlbmNlPE4gLyAyPjo6dHlw
ZSwKICAgICAgICAgICAgICAgICAgICAgIE4gLyAyPjo6dHlwZSB7fTsKIAogdGVtcGxhdGUgPD4K
LXN0cnVjdCBNYWtlSW5kZXhTZXF1ZW5jZUltcGw8MD4gOiBJbmRleFNlcXVlbmNlPD4ge307Ci0K
LXRlbXBsYXRlIDxzaXplX3QgTj4KLXVzaW5nIE1ha2VJbmRleFNlcXVlbmNlID0gdHlwZW5hbWUg
TWFrZUluZGV4U2VxdWVuY2VJbXBsPE4+Ojp0eXBlOwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUuLi4g
VD4KLXVzaW5nIEluZGV4U2VxdWVuY2VGb3IgPSB0eXBlbmFtZSBNYWtlSW5kZXhTZXF1ZW5jZTxz
aXplb2YuLi4oVCk+Ojp0eXBlOworc3RydWN0IE1ha2VJbmRleFNlcXVlbmNlPDA+IDogSW5kZXhT
ZXF1ZW5jZTw+IHt9OwogCiB0ZW1wbGF0ZSA8c2l6ZV90Pgogc3RydWN0IElnbm9yZSB7CkBAIC0x
MjEyLDggKzExNzQsNiBAQCBzdHJ1Y3QgRWxlbUZyb21MaXN0IHsKICAgICAgICAgICBzdGF0aWNf
Y2FzdDxUICgqKSgpPihudWxscHRyKS4uLikpOwogfTsKIAotc3RydWN0IEZsYXRUdXBsZUNvbnN0
cnVjdFRhZyB7fTsKLQogdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFQ+CiBjbGFzcyBGbGF0VHVwbGU7
CiAKQEAgLTEyMjQsOSArMTE4NCw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBULCBzaXplX3Qg
ST4KIHN0cnVjdCBGbGF0VHVwbGVFbGVtQmFzZTxGbGF0VHVwbGU8VC4uLj4sIEk+IHsKICAgdXNp
bmcgdmFsdWVfdHlwZSA9IHR5cGVuYW1lIEVsZW1Gcm9tTGlzdDxJLCBULi4uPjo6dHlwZTsKICAg
RmxhdFR1cGxlRWxlbUJhc2UoKSA9IGRlZmF1bHQ7Ci0gIHRlbXBsYXRlIDx0eXBlbmFtZSBBcmc+
Ci0gIGV4cGxpY2l0IEZsYXRUdXBsZUVsZW1CYXNlKEZsYXRUdXBsZUNvbnN0cnVjdFRhZywgQXJn
JiYgdCkKLSAgICAgIDogdmFsdWUoc3RkOjpmb3J3YXJkPEFyZz4odCkpIHt9CisgIGV4cGxpY2l0
IEZsYXRUdXBsZUVsZW1CYXNlKHZhbHVlX3R5cGUgdCkgOiB2YWx1ZShzdGQ6Om1vdmUodCkpIHt9
CiAgIHZhbHVlX3R5cGUgdmFsdWU7CiB9OwogCkBAIC0xMjM4LDMwICsxMTk2LDggQEAgc3RydWN0
IEZsYXRUdXBsZUJhc2U8RmxhdFR1cGxlPFQuLi4+LCBJbmRleFNlcXVlbmNlPElkeC4uLj4+CiAg
ICAgOiBGbGF0VHVwbGVFbGVtQmFzZTxGbGF0VHVwbGU8VC4uLj4sIElkeD4uLi4gewogICB1c2lu
ZyBJbmRpY2VzID0gSW5kZXhTZXF1ZW5jZTxJZHguLi4+OwogICBGbGF0VHVwbGVCYXNlKCkgPSBk
ZWZhdWx0OwotICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gQXJncz4KLSAgZXhwbGljaXQgRmxhdFR1
cGxlQmFzZShGbGF0VHVwbGVDb25zdHJ1Y3RUYWcsIEFyZ3MmJi4uLiBhcmdzKQotICAgICAgOiBG
bGF0VHVwbGVFbGVtQmFzZTxGbGF0VHVwbGU8VC4uLj4sIElkeD4oRmxhdFR1cGxlQ29uc3RydWN0
VGFne30sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGQ6OmZvcndhcmQ8QXJncz4oYXJncykpLi4uIHt9Ci0KLSAgdGVtcGxhdGUgPHNpemVfdCBJPgot
ICBjb25zdCB0eXBlbmFtZSBFbGVtRnJvbUxpc3Q8SSwgVC4uLj46OnR5cGUmIEdldCgpIGNvbnN0
IHsKLSAgICByZXR1cm4gRmxhdFR1cGxlRWxlbUJhc2U8RmxhdFR1cGxlPFQuLi4+LCBJPjo6dmFs
dWU7Ci0gIH0KLQotICB0ZW1wbGF0ZSA8c2l6ZV90IEk+Ci0gIHR5cGVuYW1lIEVsZW1Gcm9tTGlz
dDxJLCBULi4uPjo6dHlwZSYgR2V0KCkgewotICAgIHJldHVybiBGbGF0VHVwbGVFbGVtQmFzZTxG
bGF0VHVwbGU8VC4uLj4sIEk+Ojp2YWx1ZTsKLSAgfQotCi0gIHRlbXBsYXRlIDx0eXBlbmFtZSBG
PgotICBhdXRvIEFwcGx5KEYmJiBmKSAtPiBkZWNsdHlwZShzdGQ6OmZvcndhcmQ8Rj4oZikodGhp
cy0+R2V0PElkeD4oKS4uLikpIHsKLSAgICByZXR1cm4gc3RkOjpmb3J3YXJkPEY+KGYpKEdldDxJ
ZHg+KCkuLi4pOwotICB9Ci0KLSAgdGVtcGxhdGUgPHR5cGVuYW1lIEY+Ci0gIGF1dG8gQXBwbHko
RiYmIGYpIGNvbnN0IC0+IGRlY2x0eXBlKHN0ZDo6Zm9yd2FyZDxGPihmKSh0aGlzLT5HZXQ8SWR4
PigpLi4uKSkgewotICAgIHJldHVybiBzdGQ6OmZvcndhcmQ8Rj4oZikoR2V0PElkeD4oKS4uLik7
Ci0gIH0KKyAgZXhwbGljaXQgRmxhdFR1cGxlQmFzZShULi4uIHQpCisgICAgICA6IEZsYXRUdXBs
ZUVsZW1CYXNlPEZsYXRUdXBsZTxULi4uPiwgSWR4PihzdGQ6Om1vdmUodCkpLi4uIHt9CiB9Owog
CiAvLyBBbmFsb2cgdG8gc3RkOjp0dXBsZSBidXQgd2l0aCBkaWZmZXJlbnQgdHJhZGVvZmZzLgpA
QCAtMTI4MiwxMiArMTIxOCwxNyBAQCBjbGFzcyBGbGF0VHVwbGUKIAogIHB1YmxpYzoKICAgRmxh
dFR1cGxlKCkgPSBkZWZhdWx0OwotICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gQXJncz4KLSAgZXhw
bGljaXQgRmxhdFR1cGxlKEZsYXRUdXBsZUNvbnN0cnVjdFRhZyB0YWcsIEFyZ3MmJi4uLiBhcmdz
KQotICAgICAgOiBGbGF0VHVwbGU6OkZsYXRUdXBsZUJhc2UodGFnLCBzdGQ6OmZvcndhcmQ8QXJn
cz4oYXJncykuLi4pIHt9CisgIGV4cGxpY2l0IEZsYXRUdXBsZShULi4uIHQpIDogRmxhdFR1cGxl
OjpGbGF0VHVwbGVCYXNlKHN0ZDo6bW92ZSh0KS4uLikge30KKworICB0ZW1wbGF0ZSA8c2l6ZV90
IEk+CisgIGNvbnN0IHR5cGVuYW1lIEVsZW1Gcm9tTGlzdDxJLCBULi4uPjo6dHlwZSYgR2V0KCkg
Y29uc3QgeworICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBGbGF0VHVwbGVFbGVtQmFzZTxG
bGF0VHVwbGUsIEk+Kj4odGhpcyktPnZhbHVlOworICB9CiAKLSAgdXNpbmcgRmxhdFR1cGxlOjpG
bGF0VHVwbGVCYXNlOjpBcHBseTsKLSAgdXNpbmcgRmxhdFR1cGxlOjpGbGF0VHVwbGVCYXNlOjpH
ZXQ7CisgIHRlbXBsYXRlIDxzaXplX3QgST4KKyAgdHlwZW5hbWUgRWxlbUZyb21MaXN0PEksIFQu
Li4+Ojp0eXBlJiBHZXQoKSB7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZsYXRUdXBsZUVsZW1C
YXNlPEZsYXRUdXBsZSwgST4qPih0aGlzKS0+dmFsdWU7CisgIH0KIH07CiAKIC8vIFV0aWxpdHkg
ZnVuY3Rpb25zIHRvIGJlIGNhbGxlZCB3aXRoIHN0YXRpY19hc3NlcnQgdG8gaW5kdWNlIGRlcHJl
Y2F0aW9uCkBAIC0xMzIwLDI1ICsxMjYxLDkgQEAgY29uc3RleHByIGJvb2wgSW5zdGFudGlhdGVU
eXBlZFRlc3RDYXNlX1BfSXNEZXByZWNhdGVkKCkgeyByZXR1cm4gdHJ1ZTsgfQogfSAgLy8gbmFt
ZXNwYWNlIGludGVybmFsCiB9ICAvLyBuYW1lc3BhY2UgdGVzdGluZwogCi1uYW1lc3BhY2Ugc3Rk
IHsKLS8vIFNvbWUgc3RhbmRhcmQgbGlicmFyeSBpbXBsZW1lbnRhdGlvbnMgdXNlIGBzdHJ1Y3Qg
dHVwbGVfc2l6ZWAgYW5kIHNvbWUgdXNlCi0vLyBgY2xhc3MgdHVwbGVfc2l6ZWAuIENsYW5nIHdh
cm5zIGFib3V0IHRoZSBtaXNtYXRjaC4KLS8vIGh0dHBzOi8vcmV2aWV3cy5sbHZtLm9yZy9ENTU0
NjYKLSNpZmRlZiBfX2NsYW5nX18KLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdtaXNtYXRjaGVkLXRhZ3MiCi0jZW5kaWYK
LXRlbXBsYXRlIDx0eXBlbmFtZS4uLiBUcz4KLXN0cnVjdCB0dXBsZV9zaXplPHRlc3Rpbmc6Omlu
dGVybmFsOjpGbGF0VHVwbGU8VHMuLi4+PgotICAgIDogc3RkOjppbnRlZ3JhbF9jb25zdGFudDxz
aXplX3QsIHNpemVvZi4uLihUcyk+IHt9OwotI2lmZGVmIF9fY2xhbmdfXwotI3ByYWdtYSBjbGFu
ZyBkaWFnbm9zdGljIHBvcAotI2VuZGlmCi19ICAvLyBuYW1lc3BhY2Ugc3RkCi0KLSNkZWZpbmUg
R1RFU1RfTUVTU0FHRV9BVF8oZmlsZSwgbGluZSwgbWVzc2FnZSwgcmVzdWx0X3R5cGUpICAgICAg
ICAgICAgIFwKLSAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6QXNzZXJ0SGVscGVyKHJlc3VsdF90eXBl
LCBmaWxlLCBsaW5lLCBtZXNzYWdlKSA9IFwKLSAgICAgIDo6dGVzdGluZzo6TWVzc2FnZSgpCisj
ZGVmaW5lIEdURVNUX01FU1NBR0VfQVRfKGZpbGUsIGxpbmUsIG1lc3NhZ2UsIHJlc3VsdF90eXBl
KSBcCisgIDo6dGVzdGluZzo6aW50ZXJuYWw6OkFzc2VydEhlbHBlcihyZXN1bHRfdHlwZSwgZmls
ZSwgbGluZSwgbWVzc2FnZSkgXAorICAgID0gOjp0ZXN0aW5nOjpNZXNzYWdlKCkKIAogI2RlZmlu
ZSBHVEVTVF9NRVNTQUdFXyhtZXNzYWdlLCByZXN1bHRfdHlwZSkgXAogICBHVEVTVF9NRVNTQUdF
X0FUXyhfX0ZJTEVfXywgX19MSU5FX18sIG1lc3NhZ2UsIHJlc3VsdF90eXBlKQpAQCAtMTM1OCw5
OCArMTI4Myw0NCBAQCBzdHJ1Y3QgdHVwbGVfc2l6ZTx0ZXN0aW5nOjppbnRlcm5hbDo6RmxhdFR1
cGxlPFRzLi4uPj4KIC8vIFN1cHByZXNzIE1TVkMgd2FybmluZyA0MDcyICh1bnJlYWNoYWJsZSBj
b2RlKSBmb3IgdGhlIGNvZGUgZm9sbG93aW5nCiAvLyBzdGF0ZW1lbnQgaWYgaXQgcmV0dXJucyBv
ciB0aHJvd3MgKG9yIGRvZXNuJ3QgcmV0dXJuIG9yIHRocm93IGluIHNvbWUKIC8vIHNpdHVhdGlv
bnMpLgotLy8gTk9URTogVGhlICJlbHNlIiBpcyBpbXBvcnRhbnQgdG8ga2VlcCB0aGlzIGV4cGFu
c2lvbiB0byBwcmV2ZW50IGEgdG9wLWxldmVsCi0vLyAiZWxzZSIgZnJvbSBhdHRhY2hpbmcgdG8g
b3VyICJpZiIuCiAjZGVmaW5lIEdURVNUX1NVUFBSRVNTX1VOUkVBQ0hBQkxFX0NPREVfV0FSTklO
R19CRUxPV18oc3RhdGVtZW50KSBcCi0gIGlmICg6OnRlc3Rpbmc6OmludGVybmFsOjpBbHdheXNU
cnVlKCkpIHsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3RhdGVtZW50OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gZWxzZSAg
ICAgICAgICAgICAgICAgICAgIC8qIE5PTElOVCAqLyAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgc3RhdGljX2Fzc2VydCh0cnVlLCAiIikgIC8vIFVzZXIgbXVzdCBoYXZlIGEgc2VtaWNv
bG9uIGFmdGVyIGV4cGFuc2lvbi4KLQotI2lmIEdURVNUX0hBU19FWENFUFRJT05TCi0KLW5hbWVz
cGFjZSB0ZXN0aW5nIHsKLW5hbWVzcGFjZSBpbnRlcm5hbCB7Ci0KLWNsYXNzIE5ldmVyVGhyb3du
IHsKLSBwdWJsaWM6Ci0gIGNvbnN0IGNoYXIqIHdoYXQoKSBjb25zdCBub2V4Y2VwdCB7Ci0gICAg
cmV0dXJuICJ0aGlzIGV4Y2VwdGlvbiBzaG91bGQgbmV2ZXIgYmUgdGhyb3duIjsKLSAgfQotfTsK
LQotfSAgLy8gbmFtZXNwYWNlIGludGVybmFsCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotCi0j
aWYgR1RFU1RfSEFTX1JUVEkKLQotI2RlZmluZSBHVEVTVF9FWENFUFRJT05fVFlQRV8oZSkgOjp0
ZXN0aW5nOjppbnRlcm5hbDo6R2V0VHlwZU5hbWUodHlwZWlkKGUpKQotCi0jZWxzZSAgLy8gR1RF
U1RfSEFTX1JUVEkKLQotI2RlZmluZSBHVEVTVF9FWENFUFRJT05fVFlQRV8oZSkgXAotICBzdGQ6
OnN0cmluZyB7ICJhbiBzdGQ6OmV4Y2VwdGlvbi1kZXJpdmVkIGVycm9yIiB9Ci0KLSNlbmRpZiAg
Ly8gR1RFU1RfSEFTX1JUVEkKLQotI2RlZmluZSBHVEVTVF9URVNUX1RIUk9XX0NBVENIX1NURF9F
WENFUFRJT05fKHN0YXRlbWVudCwgZXhwZWN0ZWRfZXhjZXB0aW9uKSAgIFwKLSAgY2F0Y2ggKHR5
cGVuYW1lIHN0ZDo6Y29uZGl0aW9uYWw8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICBzdGQ6OmlzX3NhbWU8dHlwZW5hbWUgc3RkOjpyZW1vdmVf
Y3Y8dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPCAgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBleHBlY3RlZF9leGNlcHRpb24+Ojp0eXBlPjo6dHlwZSwgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICBzdGQ6OmV4Y2VwdGlvbj46OnZhbHVlLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICBjb25zdCA6OnRlc3Rpbmc6
OmludGVybmFsOjpOZXZlclRocm93biYsIGNvbnN0IHN0ZDo6ZXhjZXB0aW9uJj46OnR5cGUgXAot
ICAgICAgICAgICAgIGUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBndGVzdF9tc2cudmFsdWUgPSAiRXhwZWN0ZWQ6
ICIgI3N0YXRlbWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgIiB0aHJvd3MgYW4gZXhjZXB0aW9uIG9mIHR5cGUgIiAjZXhwZWN0ZWRf
ZXhjZXB0aW9uICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICIuXG4gIEFjdHVhbDogaXQg
dGhyb3dzICI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBndGVzdF9tc2cu
dmFsdWUgKz0gR1RFU1RfRVhDRVBUSU9OX1RZUEVfKGUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgZ3Rlc3RfbXNnLnZhbHVlICs9ICIgd2l0aCBkZXNjcmlwdGlvbiBcIiI7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGd0ZXN0X21zZy52YWx1ZSAr
PSBlLndoYXQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBndGVzdF9tc2cudmFsdWUgKz0gIlwiLiI7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZ290byBHVEVTVF9DT05DQVRfVE9LRU5f
KGd0ZXN0X2xhYmVsX3Rlc3R0aHJvd18sIF9fTElORV9fKTsgICAgICAgICAgICAgICAgXAotICB9
Ci0KLSNlbHNlICAvLyBHVEVTVF9IQVNfRVhDRVBUSU9OUwotCi0jZGVmaW5lIEdURVNUX1RFU1Rf
VEhST1dfQ0FUQ0hfU1REX0VYQ0VQVElPTl8oc3RhdGVtZW50LCBleHBlY3RlZF9leGNlcHRpb24p
Ci0KLSNlbmRpZiAgLy8gR1RFU1RfSEFTX0VYQ0VQVElPTlMKLQotI2RlZmluZSBHVEVTVF9URVNU
X1RIUk9XXyhzdGF0ZW1lbnQsIGV4cGVjdGVkX2V4Y2VwdGlvbiwgZmFpbCkgICAgICAgICAgICAg
IFwKLSAgR1RFU1RfQU1CSUdVT1VTX0VMU0VfQkxPQ0tFUl8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGlmICg6OnRlc3Rpbmc6OmludGVybmFsOjpUcnVl
V2l0aFN0cmluZyBndGVzdF9tc2d7fSkgeyAgICAgICAgICAgICAgICAgICAgXAotICAgIGJvb2wg
Z3Rlc3RfY2F1Z2h0X2V4cGVjdGVkID0gZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICB0cnkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBHVEVTVF9TVVBQUkVTU19V
TlJFQUNIQUJMRV9DT0RFX1dBUk5JTkdfQkVMT1dfKHN0YXRlbWVudCk7ICAgICAgICAgICAgXAot
ICAgIH0gY2F0Y2ggKGV4cGVjdGVkX2V4Y2VwdGlvbiBjb25zdCYpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGd0ZXN0X2NhdWdodF9leHBlY3RlZCA9IHRydWU7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIEdURVNUX1RFU1RfVEhST1dfQ0FUQ0hfU1REX0VYQ0VQVElPTl8oc3RhdGVt
ZW50LCBleHBlY3RlZF9leGNlcHRpb24pICAgIFwKLSAgICBjYXRjaCAoLi4uKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICBndGVzdF9tc2cudmFsdWUgPSAiRXhwZWN0ZWQ6ICIgI3N0YXRlbWVudCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgIiB0aHJvd3MgYW4gZXhj
ZXB0aW9uIG9mIHR5cGUgIiAjZXhwZWN0ZWRfZXhjZXB0aW9uIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICIuXG4gIEFjdHVhbDogaXQgdGhyb3dzIGEgZGlmZmVyZW50IHR5cGUuIjsgICAgICAg
ICBcCi0gICAgICBnb3RvIEdURVNUX0NPTkNBVF9UT0tFTl8oZ3Rlc3RfbGFiZWxfdGVzdHRocm93
XywgX19MSU5FX18pOyAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAo
IWd0ZXN0X2NhdWdodF9leHBlY3RlZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBndGVzdF9tc2cudmFsdWUgPSAiRXhwZWN0ZWQ6ICIgI3N0YXRl
bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgIiB0aHJvd3MgYW4gZXhjZXB0aW9uIG9mIHR5cGUgIiAjZXhwZWN0ZWRfZXhjZXB0aW9uIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICIuXG4gIEFjdHVhbDogaXQgdGhyb3dzIG5vdGhpbmcu
IjsgICAgICAgICAgICAgICAgICBcCi0gICAgICBnb3RvIEdURVNUX0NPTkNBVF9UT0tFTl8oZ3Rl
c3RfbGFiZWxfdGVzdHRocm93XywgX19MSU5FX18pOyAgICAgICAgICAgXAotICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfSBlbHNlIC8qTk9MSU5UKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgR1RFU1RfQ09OQ0FUX1RPS0VOXyhn
dGVzdF9sYWJlbF90ZXN0dGhyb3dfLCBfX0xJTkVfXykgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICA6IGZhaWwoZ3Rlc3RfbXNnLnZhbHVlLmNfc3RyKCkpCisgIGlmICg6OnRlc3Rpbmc6Omlu
dGVybmFsOjpBbHdheXNUcnVlKCkpIHsgc3RhdGVtZW50OyB9CisKKyNkZWZpbmUgR1RFU1RfVEVT
VF9USFJPV18oc3RhdGVtZW50LCBleHBlY3RlZF9leGNlcHRpb24sIGZhaWwpIFwKKyAgR1RFU1Rf
QU1CSUdVT1VTX0VMU0VfQkxPQ0tFUl8gXAorICBpZiAoOjp0ZXN0aW5nOjppbnRlcm5hbDo6Q29u
c3RDaGFyUHRyIGd0ZXN0X21zZyA9ICIiKSB7IFwKKyAgICBib29sIGd0ZXN0X2NhdWdodF9leHBl
Y3RlZCA9IGZhbHNlOyBcCisgICAgdHJ5IHsgXAorICAgICAgR1RFU1RfU1VQUFJFU1NfVU5SRUFD
SEFCTEVfQ09ERV9XQVJOSU5HX0JFTE9XXyhzdGF0ZW1lbnQpOyBcCisgICAgfSBcCisgICAgY2F0
Y2ggKGV4cGVjdGVkX2V4Y2VwdGlvbiBjb25zdCYpIHsgXAorICAgICAgZ3Rlc3RfY2F1Z2h0X2V4
cGVjdGVkID0gdHJ1ZTsgXAorICAgIH0gXAorICAgIGNhdGNoICguLi4pIHsgXAorICAgICAgZ3Rl
c3RfbXNnLnZhbHVlID0gXAorICAgICAgICAgICJFeHBlY3RlZDogIiAjc3RhdGVtZW50ICIgdGhy
b3dzIGFuIGV4Y2VwdGlvbiBvZiB0eXBlICIgXAorICAgICAgICAgICNleHBlY3RlZF9leGNlcHRp
b24gIi5cbiAgQWN0dWFsOiBpdCB0aHJvd3MgYSBkaWZmZXJlbnQgdHlwZS4iOyBcCisgICAgICBn
b3RvIEdURVNUX0NPTkNBVF9UT0tFTl8oZ3Rlc3RfbGFiZWxfdGVzdHRocm93XywgX19MSU5FX18p
OyBcCisgICAgfSBcCisgICAgaWYgKCFndGVzdF9jYXVnaHRfZXhwZWN0ZWQpIHsgXAorICAgICAg
Z3Rlc3RfbXNnLnZhbHVlID0gXAorICAgICAgICAgICJFeHBlY3RlZDogIiAjc3RhdGVtZW50ICIg
dGhyb3dzIGFuIGV4Y2VwdGlvbiBvZiB0eXBlICIgXAorICAgICAgICAgICNleHBlY3RlZF9leGNl
cHRpb24gIi5cbiAgQWN0dWFsOiBpdCB0aHJvd3Mgbm90aGluZy4iOyBcCisgICAgICBnb3RvIEdU
RVNUX0NPTkNBVF9UT0tFTl8oZ3Rlc3RfbGFiZWxfdGVzdHRocm93XywgX19MSU5FX18pOyBcCisg
ICAgfSBcCisgIH0gZWxzZSBcCisgICAgR1RFU1RfQ09OQ0FUX1RPS0VOXyhndGVzdF9sYWJlbF90
ZXN0dGhyb3dfLCBfX0xJTkVfXyk6IFwKKyAgICAgIGZhaWwoZ3Rlc3RfbXNnLnZhbHVlKQogCiAj
aWYgR1RFU1RfSEFTX0VYQ0VQVElPTlMKIAotI2RlZmluZSBHVEVTVF9URVNUX05PX1RIUk9XX0NB
VENIX1NURF9FWENFUFRJT05fKCkgICAgICAgICAgICAgICAgXAotICBjYXRjaCAoc3RkOjpleGNl
cHRpb24gY29uc3QmIGUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGd0
ZXN0X21zZy52YWx1ZSA9ICJpdCB0aHJvd3MgIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGd0ZXN0X21zZy52YWx1ZSArPSBHVEVTVF9FWENFUFRJT05fVFlQRV8oZSk7ICAg
ICAgICAgICAgICAgICAgXAotICAgIGd0ZXN0X21zZy52YWx1ZSArPSAiIHdpdGggZGVzY3JpcHRp
b24gXCIiOyAgICAgICAgICAgICAgICAgICAgXAotICAgIGd0ZXN0X21zZy52YWx1ZSArPSBlLndo
YXQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGd0ZXN0X21zZy52
YWx1ZSArPSAiXCIuIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2Rl
ZmluZSBHVEVTVF9URVNUX05PX1RIUk9XX0NBVENIX1NURF9FWENFUFRJT05fKCkgXAorICBjYXRj
aCAoc3RkOjpleGNlcHRpb24gY29uc3QmIGUpIHsgXAorICAgIGd0ZXN0X21zZy52YWx1ZSA9ICgg
XAorICAgICAgIml0IHRocm93cyBzdGQ6OmV4Y2VwdGlvbi1kZXJpdmVkIGV4Y2VwdGlvbiB3aXRo
IGRlc2NyaXB0aW9uOiBcIiIgXAorICAgICk7IFwKKyAgICBndGVzdF9tc2cudmFsdWUgKz0gZS53
aGF0KCk7IFwKKyAgICBndGVzdF9tc2cudmFsdWUgKz0gIlwiLiI7IFwKICAgICBnb3RvIEdURVNU
X0NPTkNBVF9UT0tFTl8oZ3Rlc3RfbGFiZWxfdGVzdG5vdGhyb3dfLCBfX0xJTkVfXyk7IFwKICAg
fQogCkBAIC0xNDU5LDExMiArMTMzMCwxMDMgQEAgY2xhc3MgTmV2ZXJUaHJvd24gewogCiAjZW5k
aWYgIC8vIEdURVNUX0hBU19FWENFUFRJT05TCiAKLSNkZWZpbmUgR1RFU1RfVEVTVF9OT19USFJP
V18oc3RhdGVtZW50LCBmYWlsKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEdURVNU
X0FNQklHVU9VU19FTFNFX0JMT0NLRVJfICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBpZiAoOjp0ZXN0aW5nOjppbnRlcm5hbDo6VHJ1ZVdpdGhTdHJpbmcgZ3Rl
c3RfbXNne30pIHsgICAgICAgICAgICAgICAgIFwKLSAgICB0cnkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBH
VEVTVF9TVVBQUkVTU19VTlJFQUNIQUJMRV9DT0RFX1dBUk5JTkdfQkVMT1dfKHN0YXRlbWVudCk7
ICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBHVEVTVF9URVNUX05PX1RIUk9XX0NB
VENIX1NURF9FWENFUFRJT05fKCkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgY2F0
Y2ggKC4uLikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgZ3Rlc3RfbXNnLnZhbHVlID0gIml0IHRocm93cy4iOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGdvdG8gR1RFU1RfQ09OQ0FUX1RP
S0VOXyhndGVzdF9sYWJlbF90ZXN0bm90aHJvd18sIF9fTElORV9fKTsgICAgICBcCi0gICAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICB9IGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBHVEVTVF9DT05DQVRfVE9LRU5fKGd0
ZXN0X2xhYmVsX3Rlc3Rub3Rocm93XywgX19MSU5FX18pICAgICAgICAgICAgICBcCi0gICAgICAg
IDogZmFpbCgoIkV4cGVjdGVkOiAiICNzdGF0ZW1lbnQgIiBkb2Vzbid0IHRocm93IGFuIGV4Y2Vw
dGlvbi5cbiIgXAotICAgICAgICAgICAgICAgICIgIEFjdHVhbDogIiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICBndGVzdF9tc2cu
dmFsdWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgLmNfc3RyKCkpCi0KLSNkZWZpbmUgR1RFU1RfVEVTVF9BTllfVEhST1dfKHN0
YXRlbWVudCwgZmFpbCkgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgR1RFU1RfQU1CSUdVT1VT
X0VMU0VfQkxPQ0tFUl8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
aWYgKDo6dGVzdGluZzo6aW50ZXJuYWw6OkFsd2F5c1RydWUoKSkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBib29sIGd0ZXN0X2NhdWdodF9hbnkgPSBmYWxzZTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0cnkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIEdURVNUX1NV
UFBSRVNTX1VOUkVBQ0hBQkxFX0NPREVfV0FSTklOR19CRUxPV18oc3RhdGVtZW50KTsgICAgIFwK
LSAgICB9IGNhdGNoICguLi4pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIGd0ZXN0X2NhdWdodF9hbnkgPSB0cnVlOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoIWd0
ZXN0X2NhdWdodF9hbnkpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyNkZWZpbmUgR1RFU1RfVEVTVF9OT19USFJPV18oc3RhdGVtZW50LCBmYWlsKSBcCisgIEdU
RVNUX0FNQklHVU9VU19FTFNFX0JMT0NLRVJfIFwKKyAgaWYgKDo6dGVzdGluZzo6aW50ZXJuYWw6
OlRydWVXaXRoU3RyaW5nIGd0ZXN0X21zZ3t9KSB7IFwKKyAgICB0cnkgeyBcCisgICAgICBHVEVT
VF9TVVBQUkVTU19VTlJFQUNIQUJMRV9DT0RFX1dBUk5JTkdfQkVMT1dfKHN0YXRlbWVudCk7IFwK
KyAgICB9IFwKKyAgICBHVEVTVF9URVNUX05PX1RIUk9XX0NBVENIX1NURF9FWENFUFRJT05fKCkg
XAorICAgIGNhdGNoICguLi4pIHsgXAorICAgICAgZ3Rlc3RfbXNnLnZhbHVlID0gIml0IHRocm93
cy4iOyBcCisgICAgICBnb3RvIEdURVNUX0NPTkNBVF9UT0tFTl8oZ3Rlc3RfbGFiZWxfdGVzdG5v
dGhyb3dfLCBfX0xJTkVfXyk7IFwKKyAgICB9IFwKKyAgfSBlbHNlIFwKKyAgICBHVEVTVF9DT05D
QVRfVE9LRU5fKGd0ZXN0X2xhYmVsX3Rlc3Rub3Rocm93XywgX19MSU5FX18pOiBcCisgICAgICBm
YWlsKCgiRXhwZWN0ZWQ6ICIgI3N0YXRlbWVudCAiIGRvZXNuJ3QgdGhyb3cgYW4gZXhjZXB0aW9u
LlxuIiBcCisgICAgICAgICAgICAiICBBY3R1YWw6ICIgKyBndGVzdF9tc2cudmFsdWUpLmNfc3Ry
KCkpCisKKyNkZWZpbmUgR1RFU1RfVEVTVF9BTllfVEhST1dfKHN0YXRlbWVudCwgZmFpbCkgXAor
ICBHVEVTVF9BTUJJR1VPVVNfRUxTRV9CTE9DS0VSXyBcCisgIGlmICg6OnRlc3Rpbmc6OmludGVy
bmFsOjpBbHdheXNUcnVlKCkpIHsgXAorICAgIGJvb2wgZ3Rlc3RfY2F1Z2h0X2FueSA9IGZhbHNl
OyBcCisgICAgdHJ5IHsgXAorICAgICAgR1RFU1RfU1VQUFJFU1NfVU5SRUFDSEFCTEVfQ09ERV9X
QVJOSU5HX0JFTE9XXyhzdGF0ZW1lbnQpOyBcCisgICAgfSBcCisgICAgY2F0Y2ggKC4uLikgeyBc
CisgICAgICBndGVzdF9jYXVnaHRfYW55ID0gdHJ1ZTsgXAorICAgIH0gXAorICAgIGlmICghZ3Rl
c3RfY2F1Z2h0X2FueSkgeyBcCiAgICAgICBnb3RvIEdURVNUX0NPTkNBVF9UT0tFTl8oZ3Rlc3Rf
bGFiZWxfdGVzdGFueXRocm93XywgX19MSU5FX18pOyBcCi0gICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gZWxz
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgR1RFU1RfQ09OQ0FUX1RPS0VOXyhndGVzdF9sYWJlbF90ZXN0YW55dGhyb3df
LCBfX0xJTkVfXykgICAgICAgICBcCi0gICAgICAgIDogZmFpbCgiRXhwZWN0ZWQ6ICIgI3N0YXRl
bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAiIHRo
cm93cyBhbiBleGNlcHRpb24uXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAiICBBY3R1YWw6IGl0IGRvZXNuJ3QuIikKKyAgICB9IFwKKyAgfSBlbHNlIFwK
KyAgICBHVEVTVF9DT05DQVRfVE9LRU5fKGd0ZXN0X2xhYmVsX3Rlc3Rhbnl0aHJvd18sIF9fTElO
RV9fKTogXAorICAgICAgZmFpbCgiRXhwZWN0ZWQ6ICIgI3N0YXRlbWVudCAiIHRocm93cyBhbiBl
eGNlcHRpb24uXG4iIFwKKyAgICAgICAgICAgIiAgQWN0dWFsOiBpdCBkb2Vzbid0LiIpCisKIAog
Ly8gSW1wbGVtZW50cyBCb29sZWFuIHRlc3QgYXNzZXJ0aW9ucyBzdWNoIGFzIEVYUEVDVF9UUlVF
LiBleHByZXNzaW9uIGNhbiBiZQogLy8gZWl0aGVyIGEgYm9vbGVhbiBleHByZXNzaW9uIG9yIGFu
IEFzc2VydGlvblJlc3VsdC4gdGV4dCBpcyBhIHRleHR1YWwKLS8vIHJlcHJlc2VudGF0aW9uIG9m
IGV4cHJlc3Npb24gYXMgaXQgd2FzIHBhc3NlZCBpbnRvIHRoZSBFWFBFQ1RfVFJVRS4KKy8vIHJl
cHJlc2VuYXRpb24gb2YgZXhwcmVzc2lvbiBhcyBpdCB3YXMgcGFzc2VkIGludG8gdGhlIEVYUEVD
VF9UUlVFLgogI2RlZmluZSBHVEVTVF9URVNUX0JPT0xFQU5fKGV4cHJlc3Npb24sIHRleHQsIGFj
dHVhbCwgZXhwZWN0ZWQsIGZhaWwpIFwKLSAgR1RFU1RfQU1CSUdVT1VTX0VMU0VfQkxPQ0tFUl8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGlmIChjb25zdCA6OnRl
c3Rpbmc6OkFzc2VydGlvblJlc3VsdCBndGVzdF9hcl8gPSAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgIDo6dGVzdGluZzo6QXNzZXJ0aW9uUmVzdWx0KGV4cHJlc3Npb24pKSAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGVsc2UgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZhaWwo
Ojp0ZXN0aW5nOjppbnRlcm5hbDo6R2V0Qm9vbEFzc2VydGlvbkZhaWx1cmVNZXNzYWdlKCAgICAg
ICAgIFwKLSAgICAgICAgICAgICBndGVzdF9hcl8sIHRleHQsICNhY3R1YWwsICNleHBlY3RlZCkg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgLmNfc3RyKCkpCi0KLSNkZWZpbmUg
R1RFU1RfVEVTVF9OT19GQVRBTF9GQUlMVVJFXyhzdGF0ZW1lbnQsIGZhaWwpICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIEdURVNUX0FNQklHVU9VU19FTFNFX0JMT0NLRVJfICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBpZiAoOjp0ZXN0aW5n
OjppbnRlcm5hbDo6QWx3YXlzVHJ1ZSgpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgR1RFU1RfQU1CSUdVT1VTX0VMU0VfQkxPQ0tFUl8gXAorICBpZiAoY29uc3Qg
Ojp0ZXN0aW5nOjpBc3NlcnRpb25SZXN1bHQgZ3Rlc3RfYXJfID0gXAorICAgICAgOjp0ZXN0aW5n
OjpBc3NlcnRpb25SZXN1bHQoZXhwcmVzc2lvbikpIFwKKyAgICA7IFwKKyAgZWxzZSBcCisgICAg
ZmFpbCg6OnRlc3Rpbmc6OmludGVybmFsOjpHZXRCb29sQXNzZXJ0aW9uRmFpbHVyZU1lc3NhZ2Uo
XAorICAgICAgICBndGVzdF9hcl8sIHRleHQsICNhY3R1YWwsICNleHBlY3RlZCkuY19zdHIoKSkK
KworI2RlZmluZSBHVEVTVF9URVNUX05PX0ZBVEFMX0ZBSUxVUkVfKHN0YXRlbWVudCwgZmFpbCkg
XAorICBHVEVTVF9BTUJJR1VPVVNfRUxTRV9CTE9DS0VSXyBcCisgIGlmICg6OnRlc3Rpbmc6Omlu
dGVybmFsOjpBbHdheXNUcnVlKCkpIHsgXAogICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6Okhhc05l
d0ZhdGFsRmFpbHVyZUhlbHBlciBndGVzdF9mYXRhbF9mYWlsdXJlX2NoZWNrZXI7IFwKLSAgICBH
VEVTVF9TVVBQUkVTU19VTlJFQUNIQUJMRV9DT0RFX1dBUk5JTkdfQkVMT1dfKHN0YXRlbWVudCk7
ICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKGd0ZXN0X2ZhdGFsX2ZhaWx1cmVfY2hlY2tlci5o
YXNfbmV3X2ZhdGFsX2ZhaWx1cmUoKSkgeyAgICAgICAgICAgICAgICAgXAotICAgICAgZ290byBH
VEVTVF9DT05DQVRfVE9LRU5fKGd0ZXN0X2xhYmVsX3Rlc3Rub2ZhdGFsXywgX19MSU5FX18pOyAg
ICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gZWxzZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIEdURVNUX0NPTkNBVF9UT0tFTl8oZ3Rlc3RfbGFiZWxfdGVzdG5vZmF0YWxfLCBf
X0xJTkVfXykgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgOiBmYWlsKCJFeHBlY3RlZDog
IiAjc3RhdGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAiIGRvZXNuJ3QgZ2VuZXJhdGUgbmV3IGZhdGFsICIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgImZhaWx1cmVzIGluIHRoZSBj
dXJyZW50IHRocmVhZC5cbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICIgIEFjdHVhbDogaXQgZG9lcy4iKQorICAgIEdURVNUX1NVUFBSRVNTX1VOUkVBQ0hB
QkxFX0NPREVfV0FSTklOR19CRUxPV18oc3RhdGVtZW50KTsgXAorICAgIGlmIChndGVzdF9mYXRh
bF9mYWlsdXJlX2NoZWNrZXIuaGFzX25ld19mYXRhbF9mYWlsdXJlKCkpIHsgXAorICAgICAgZ290
byBHVEVTVF9DT05DQVRfVE9LRU5fKGd0ZXN0X2xhYmVsX3Rlc3Rub2ZhdGFsXywgX19MSU5FX18p
OyBcCisgICAgfSBcCisgIH0gZWxzZSBcCisgICAgR1RFU1RfQ09OQ0FUX1RPS0VOXyhndGVzdF9s
YWJlbF90ZXN0bm9mYXRhbF8sIF9fTElORV9fKTogXAorICAgICAgZmFpbCgiRXhwZWN0ZWQ6ICIg
I3N0YXRlbWVudCAiIGRvZXNuJ3QgZ2VuZXJhdGUgbmV3IGZhdGFsICIgXAorICAgICAgICAgICAi
ZmFpbHVyZXMgaW4gdGhlIGN1cnJlbnQgdGhyZWFkLlxuIiBcCisgICAgICAgICAgICIgIEFjdHVh
bDogaXQgZG9lcy4iKQogCiAvLyBFeHBhbmRzIHRvIHRoZSBuYW1lIG9mIHRoZSBjbGFzcyB0aGF0
IGltcGxlbWVudHMgdGhlIGdpdmVuIHRlc3QuCiAjZGVmaW5lIEdURVNUX1RFU1RfQ0xBU1NfTkFN
RV8odGVzdF9zdWl0ZV9uYW1lLCB0ZXN0X25hbWUpIFwKICAgdGVzdF9zdWl0ZV9uYW1lIyNfIyN0
ZXN0X25hbWUjI19UZXN0CiAKIC8vIEhlbHBlciBtYWNybyBmb3IgZGVmaW5pbmcgdGVzdHMuCi0j
ZGVmaW5lIEdURVNUX1RFU1RfKHRlc3Rfc3VpdGVfbmFtZSwgdGVzdF9uYW1lLCBwYXJlbnRfY2xh
c3MsIHBhcmVudF9pZCkgICAgICAgXAotICBzdGF0aWNfYXNzZXJ0KHNpemVvZihHVEVTVF9TVFJJ
TkdJRllfKHRlc3Rfc3VpdGVfbmFtZSkpID4gMSwgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAidGVzdF9zdWl0ZV9uYW1lIG11c3Qgbm90IGJlIGVtcHR5Iik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEdURVNUX1NUUklOR0lGWV8o
dGVzdF9uYW1lKSkgPiAxLCAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICJ0ZXN0X25hbWUgbXVzdCBub3QgYmUgZW1wdHkiKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgY2xhc3MgR1RFU1RfVEVTVF9DTEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUs
IHRlc3RfbmFtZSkgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICA6IHB1YmxpYyBwYXJlbnRf
Y2xhc3MgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgcHVibGljOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBHVEVTVF9URVNUX0NMQVNTX05BTUVfKHRl
c3Rfc3VpdGVfbmFtZSwgdGVzdF9uYW1lKSgpID0gZGVmYXVsdDsgICAgICAgICAgICBcCi0gICAg
fkdURVNUX1RFU1RfQ0xBU1NfTkFNRV8odGVzdF9zdWl0ZV9uYW1lLCB0ZXN0X25hbWUpKCkgb3Zl
cnJpZGUgPSBkZWZhdWx0OyAgXAotICAgIEdURVNUX1RFU1RfQ0xBU1NfTkFNRV8odGVzdF9zdWl0
ZV9uYW1lLCB0ZXN0X25hbWUpICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAoY29uc3Qg
R1RFU1RfVEVTVF9DTEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUsIHRlc3RfbmFtZSkgJikgPSBk
ZWxldGU7ICAgICBcCi0gICAgR1RFU1RfVEVTVF9DTEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUs
IHRlc3RfbmFtZSkgJiBvcGVyYXRvcj0oICAgICAgICAgICAgXAotICAgICAgICBjb25zdCBHVEVT
VF9URVNUX0NMQVNTX05BTUVfKHRlc3Rfc3VpdGVfbmFtZSwgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25hbWUpICYp
ID0gZGVsZXRlOyAvKiBOT0xJTlQgKi8gICAgICBcCi0gICAgR1RFU1RfVEVTVF9DTEFTU19OQU1F
Xyh0ZXN0X3N1aXRlX25hbWUsIHRlc3RfbmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIChHVEVTVF9URVNUX0NMQVNTX05BTUVfKHRlc3Rfc3VpdGVfbmFtZSwgdGVzdF9uYW1lKSAm
Jikgbm9leGNlcHQgPSBkZWxldGU7IFwKLSAgICBHVEVTVF9URVNUX0NMQVNTX05BTUVfKHRlc3Rf
c3VpdGVfbmFtZSwgdGVzdF9uYW1lKSAmIG9wZXJhdG9yPSggICAgICAgICAgICBcCi0gICAgICAg
IEdURVNUX1RFU1RfQ0xBU1NfTkFNRV8odGVzdF9zdWl0ZV9uYW1lLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfbmFt
ZSkgJiYpIG5vZXhjZXB0ID0gZGVsZXRlOyAvKiBOT0xJTlQgKi8gIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICBwcml2YXRlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZvaWQgVGVzdEJvZHkoKSBv
dmVycmlkZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBzdGF0aWMgOjp0ZXN0aW5nOjpUZXN0SW5mbyogY29uc3QgdGVzdF9pbmZvXyBHVEVT
VF9BVFRSSUJVVEVfVU5VU0VEXzsgICAgICBcCi0gIH07ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgOjp0ZXN0aW5nOjpUZXN0SW5mbyogY29uc3QgR1RFU1Rf
VEVTVF9DTEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUsICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9uYW1lKTo6dGVz
dF9pbmZvXyA9ICAgXAotICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6TWFrZUFuZFJlZ2lzdGVy
VGVzdEluZm8oICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAjdGVzdF9z
dWl0ZV9uYW1lLCAjdGVzdF9uYW1lLCBudWxscHRyLCBudWxscHRyLCAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6Q29kZUxvY2F0aW9uKF9fRklM
RV9fLCBfX0xJTkVfXyksIChwYXJlbnRfaWQpLCAgXAotICAgICAgICAgIDo6dGVzdGluZzo6aW50
ZXJuYWw6OlN1aXRlQXBpUmVzb2x2ZXI8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICAgcGFyZW50X2NsYXNzPjo6R2V0U2V0VXBDYXNlT3JTdWl0ZShfX0ZJTEVf
XywgX19MSU5FX18pLCAgICAgICAgICBcCi0gICAgICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6
U3VpdGVBcGlSZXNvbHZlcjwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICBwYXJlbnRfY2xhc3M+OjpHZXRUZWFyRG93bkNhc2VPclN1aXRlKF9fRklMRV9fLCBf
X0xJTkVfXyksICAgICAgIFwKLSAgICAgICAgICBuZXcgOjp0ZXN0aW5nOjppbnRlcm5hbDo6VGVz
dEZhY3RvcnlJbXBsPEdURVNUX1RFU1RfQ0xBU1NfTkFNRV8oICAgICBcCi0gICAgICAgICAgICAg
IHRlc3Rfc3VpdGVfbmFtZSwgdGVzdF9uYW1lKT4pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorI2RlZmluZSBHVEVTVF9URVNUXyh0ZXN0X3N1aXRlX25hbWUsIHRlc3RfbmFt
ZSwgcGFyZW50X2NsYXNzLCBwYXJlbnRfaWQpICAgICAgXAorICBzdGF0aWNfYXNzZXJ0KHNpemVv
ZihHVEVTVF9TVFJJTkdJRllfKHRlc3Rfc3VpdGVfbmFtZSkpID4gMSwgICAgICAgICAgICAgICAg
XAorICAgICAgICAgICAgICAgICJ0ZXN0X3N1aXRlX25hbWUgbXVzdCBub3QgYmUgZW1wdHkiKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICBzdGF0aWNfYXNzZXJ0KHNpemVvZihHVEVTVF9T
VFJJTkdJRllfKHRlc3RfbmFtZSkpID4gMSwgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgICAgICJ0ZXN0X25hbWUgbXVzdCBub3QgYmUgZW1wdHkiKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICBjbGFzcyBHVEVTVF9URVNUX0NMQVNTX05BTUVfKHRlc3Rfc3Vp
dGVfbmFtZSwgdGVzdF9uYW1lKSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgOiBwdWJsaWMg
cGFyZW50X2NsYXNzIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgcHVibGljOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEdURVNUX1RFU1RfQ0xBU1NfTkFN
RV8odGVzdF9zdWl0ZV9uYW1lLCB0ZXN0X25hbWUpKCkge30gICAgICAgICAgICAgICAgICAgXAor
ICAgIH5HVEVTVF9URVNUX0NMQVNTX05BTUVfKHRlc3Rfc3VpdGVfbmFtZSwgdGVzdF9uYW1lKSgp
IG92ZXJyaWRlID0gZGVmYXVsdDsgXAorICAgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lH
Tl8oR1RFU1RfVEVTVF9DTEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUsICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25h
bWUpKTsgICAgICAgXAorICAgIEdURVNUX0RJU0FMTE9XX01PVkVfQU5EX0FTU0lHTl8oR1RFU1Rf
VEVTVF9DTEFTU19OQU1FXyh0ZXN0X3N1aXRlX25hbWUsICAgXAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25hbWUpKTsgICAg
ICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgcHJpdmF0ZTogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IHZvaWQgVGVzdEJvZHkoKSBvdmVycmlkZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIHN0YXRpYyA6OnRlc3Rpbmc6OlRlc3RJbmZvKiBjb25z
dCB0ZXN0X2luZm9fIEdURVNUX0FUVFJJQlVURV9VTlVTRURfOyAgICAgXAorICB9OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICA6OnRlc3Rpbmc6OlRlc3RJbmZv
KiBjb25zdCBHVEVTVF9URVNUX0NMQVNTX05BTUVfKHRlc3Rfc3VpdGVfbmFtZSwgICAgICAgICAg
XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RfbmFtZSk6OnRlc3RfaW5mb18gPSAgXAorICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6TWFr
ZUFuZFJlZ2lzdGVyVGVzdEluZm8oICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICAgICN0ZXN0X3N1aXRlX25hbWUsICN0ZXN0X25hbWUsIG51bGxwdHIsIG51bGxwdHIsICAgICAg
ICAgICAgICAgICAgICAgXAorICAgICAgICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OkNvZGVMb2Nh
dGlvbihfX0ZJTEVfXywgX19MSU5FX18pLCAocGFyZW50X2lkKSwgXAorICAgICAgICAgIDo6dGVz
dGluZzo6aW50ZXJuYWw6OlN1aXRlQXBpUmVzb2x2ZXI8ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICAgICAgICBwYXJlbnRfY2xhc3M+OjpHZXRTZXRVcENhc2VPclN1aXRl
KF9fRklMRV9fLCBfX0xJTkVfXyksICAgICAgICAgXAorICAgICAgICAgIDo6dGVzdGluZzo6aW50
ZXJuYWw6OlN1aXRlQXBpUmVzb2x2ZXI8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICAgICAgICBwYXJlbnRfY2xhc3M+OjpHZXRUZWFyRG93bkNhc2VPclN1aXRlKF9fRklM
RV9fLCBfX0xJTkVfXyksICAgICAgXAorICAgICAgICAgIG5ldyA6OnRlc3Rpbmc6OmludGVybmFs
OjpUZXN0RmFjdG9yeUltcGw8R1RFU1RfVEVTVF9DTEFTU19OQU1FXyggICAgXAorICAgICAgICAg
ICAgICB0ZXN0X3N1aXRlX25hbWUsIHRlc3RfbmFtZSk+KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICB2b2lkIEdURVNUX1RFU1RfQ0xBU1NfTkFNRV8odGVzdF9zdWl0ZV9u
YW1lLCB0ZXN0X25hbWUpOjpUZXN0Qm9keSgpCiAKLSNlbmRpZiAgLy8gR09PR0xFVEVTVF9JTkNM
VURFX0dURVNUX0lOVEVSTkFMX0dURVNUX0lOVEVSTkFMX0hfCisjZW5kaWYgIC8vIEdURVNUX0lO
Q0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfSU5URVJOQUxfSF8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9n
dGVzdC1wYXJhbS11dGlsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3Jj
L2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcGFyYW0tdXRpbC5oCmluZGV4IGU3YWYyZjkw
NGE0Yy4uN2Y3YTEzYmY4NGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dv
b2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcGFyYW0tdXRpbC5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9p
bnRlcm5hbC9ndGVzdC1wYXJhbS11dGlsLmgKQEAgLTI3LDE0ICsyNywxMyBAQAogLy8gKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCiAvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCisKIC8vIFR5cGUgYW5kIGZ1bmN0aW9uIHV0aWxpdGll
cyBmb3IgaW1wbGVtZW50aW5nIHBhcmFtZXRlcml6ZWQgdGVzdHMuCiAKLS8vIElXWVUgcHJhZ21h
OiBwcml2YXRlLCBpbmNsdWRlICJndGVzdC9ndGVzdC5oIgotLy8gSVdZVSBwcmFnbWE6IGZyaWVu
ZCBndGVzdC8uKgotLy8gSVdZVSBwcmFnbWE6IGZyaWVuZCBnbW9jay8uKgorLy8gR09PR0xFVEVT
VF9DTTAwMDEgRE8gTk9UIERFTEVURQogCi0jaWZuZGVmIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVT
VF9JTlRFUk5BTF9HVEVTVF9QQVJBTV9VVElMX0hfCi0jZGVmaW5lIEdPT0dMRVRFU1RfSU5DTFVE
RV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9QQVJBTV9VVElMX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xV
REVfR1RFU1RfSU5URVJOQUxfR1RFU1RfUEFSQU1fVVRJTF9IXworI2RlZmluZSBHVEVTVF9JTkNM
VURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1BBUkFNX1VUSUxfSF8KIAogI2luY2x1ZGUgPGN0eXBl
Lmg+CiAKQEAgLTQ3LDE4ICs0NiwxOSBAQAogI2luY2x1ZGUgPHV0aWxpdHk+CiAjaW5jbHVkZSA8
dmVjdG9yPgogCi0jaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QtcHJpbnRlcnMuaCIKLSNpbmNsdWRlICJn
dGVzdC9ndGVzdC10ZXN0LXBhcnQuaCIKICNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9ndGVzdC1p
bnRlcm5hbC5oIgogI2luY2x1ZGUgImd0ZXN0L2ludGVybmFsL2d0ZXN0LXBvcnQuaCIKKyNpbmNs
dWRlICJndGVzdC9ndGVzdC1wcmludGVycy5oIgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LXRlc3Qt
cGFydC5oIgogCiBuYW1lc3BhY2UgdGVzdGluZyB7CiAvLyBJbnB1dCB0byBhIHBhcmFtZXRlcml6
ZWQgdGVzdCBuYW1lIGdlbmVyYXRvciwgZGVzY3JpYmluZyBhIHRlc3QgcGFyYW1ldGVyLgogLy8g
Q29uc2lzdHMgb2YgdGhlIHBhcmFtZXRlciB2YWx1ZSBhbmQgdGhlIGludGVnZXIgcGFyYW1ldGVy
IGluZGV4LgogdGVtcGxhdGUgPGNsYXNzIFBhcmFtVHlwZT4KIHN0cnVjdCBUZXN0UGFyYW1JbmZv
IHsKLSAgVGVzdFBhcmFtSW5mbyhjb25zdCBQYXJhbVR5cGUmIGFfcGFyYW0sIHNpemVfdCBhbl9p
bmRleCkKLSAgICAgIDogcGFyYW0oYV9wYXJhbSksIGluZGV4KGFuX2luZGV4KSB7fQorICBUZXN0
UGFyYW1JbmZvKGNvbnN0IFBhcmFtVHlwZSYgYV9wYXJhbSwgc2l6ZV90IGFuX2luZGV4KSA6Cisg
ICAgcGFyYW0oYV9wYXJhbSksCisgICAgaW5kZXgoYW5faW5kZXgpIHt9CiAgIFBhcmFtVHlwZSBw
YXJhbTsKICAgc2l6ZV90IGluZGV4OwogfTsKQEAgLTg0LDEwICs4NCw4IEBAIG5hbWVzcGFjZSBp
bnRlcm5hbCB7CiBHVEVTVF9BUElfIHZvaWQgUmVwb3J0SW52YWxpZFRlc3RTdWl0ZVR5cGUoY29u
c3QgY2hhciogdGVzdF9zdWl0ZV9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENvZGVMb2NhdGlvbiBjb2RlX2xvY2F0aW9uKTsKIAotdGVtcGxhdGUgPHR5
cGVuYW1lPgotY2xhc3MgUGFyYW1HZW5lcmF0b3JJbnRlcmZhY2U7Ci10ZW1wbGF0ZSA8dHlwZW5h
bWU+Ci1jbGFzcyBQYXJhbUdlbmVyYXRvcjsKK3RlbXBsYXRlIDx0eXBlbmFtZT4gY2xhc3MgUGFy
YW1HZW5lcmF0b3JJbnRlcmZhY2U7Cit0ZW1wbGF0ZSA8dHlwZW5hbWU+IGNsYXNzIFBhcmFtR2Vu
ZXJhdG9yOwogCiAvLyBJbnRlcmZhY2UgZm9yIGl0ZXJhdGluZyBvdmVyIGVsZW1lbnRzIHByb3Zp
ZGVkIGJ5IGFuIGltcGxlbWVudGF0aW9uCiAvLyBvZiBQYXJhbUdlbmVyYXRvckludGVyZmFjZTxU
Pi4KQEAgLTEzMSw3ICsxMjksOCBAQCBjbGFzcyBQYXJhbUl0ZXJhdG9yIHsKICAgLy8gUGFyYW1J
dGVyYXRvciBhc3N1bWVzIG93bmVyc2hpcCBvZiB0aGUgaW1wbF8gcG9pbnRlci4KICAgUGFyYW1J
dGVyYXRvcihjb25zdCBQYXJhbUl0ZXJhdG9yJiBvdGhlcikgOiBpbXBsXyhvdGhlci5pbXBsXy0+
Q2xvbmUoKSkge30KICAgUGFyYW1JdGVyYXRvciYgb3BlcmF0b3I9KGNvbnN0IFBhcmFtSXRlcmF0
b3ImIG90aGVyKSB7Ci0gICAgaWYgKHRoaXMgIT0gJm90aGVyKSBpbXBsXy5yZXNldChvdGhlci5p
bXBsXy0+Q2xvbmUoKSk7CisgICAgaWYgKHRoaXMgIT0gJm90aGVyKQorICAgICAgaW1wbF8ucmVz
ZXQob3RoZXIuaW1wbF8tPkNsb25lKCkpOwogICAgIHJldHVybiAqdGhpczsKICAgfQogCkBAIC0x
NTgsNyArMTU3LDcgQEAgY2xhc3MgUGFyYW1JdGVyYXRvciB7CiAgcHJpdmF0ZToKICAgZnJpZW5k
IGNsYXNzIFBhcmFtR2VuZXJhdG9yPFQ+OwogICBleHBsaWNpdCBQYXJhbUl0ZXJhdG9yKFBhcmFt
SXRlcmF0b3JJbnRlcmZhY2U8VD4qIGltcGwpIDogaW1wbF8oaW1wbCkge30KLSAgc3RkOjp1bmlx
dWVfcHRyPFBhcmFtSXRlcmF0b3JJbnRlcmZhY2U8VD4+IGltcGxfOworICBzdGQ6OnVuaXF1ZV9w
dHI8UGFyYW1JdGVyYXRvckludGVyZmFjZTxUPiA+IGltcGxfOwogfTsKIAogLy8gUGFyYW1HZW5l
cmF0b3JJbnRlcmZhY2U8VD4gaXMgdGhlIGJpbmFyeSBpbnRlcmZhY2UgdG8gYWNjZXNzIGdlbmVy
YXRvcnMKQEAgLTE4MCw3ICsxNzksNyBAQCBjbGFzcyBQYXJhbUdlbmVyYXRvckludGVyZmFjZSB7
CiAvLyBUaGlzIGNsYXNzIGltcGxlbWVudHMgY29weSBpbml0aWFsaXphdGlvbiBzZW1hbnRpY3Mg
YW5kIHRoZSBjb250YWluZWQKIC8vIFBhcmFtR2VuZXJhdG9ySW50ZXJmYWNlPFQ+IGluc3RhbmNl
IGlzIHNoYXJlZCBhbW9uZyBhbGwgY29waWVzCiAvLyBvZiB0aGUgb3JpZ2luYWwgb2JqZWN0LiBU
aGlzIGlzIHBvc3NpYmxlIGJlY2F1c2UgdGhhdCBpbnN0YW5jZSBpcyBpbW11dGFibGUuCi10ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBQYXJhbUdlbmVy
YXRvciB7CiAgcHVibGljOgogICB0eXBlZGVmIFBhcmFtSXRlcmF0b3I8VD4gaXRlcmF0b3I7CkBA
IC0xOTcsNyArMTk2LDcgQEAgY2xhc3MgUGFyYW1HZW5lcmF0b3IgewogICBpdGVyYXRvciBlbmQo
KSBjb25zdCB7IHJldHVybiBpdGVyYXRvcihpbXBsXy0+RW5kKCkpOyB9CiAKICBwcml2YXRlOgot
ICBzdGQ6OnNoYXJlZF9wdHI8Y29uc3QgUGFyYW1HZW5lcmF0b3JJbnRlcmZhY2U8VD4+IGltcGxf
OworICBzdGQ6OnNoYXJlZF9wdHI8Y29uc3QgUGFyYW1HZW5lcmF0b3JJbnRlcmZhY2U8VD4gPiBp
bXBsXzsKIH07CiAKIC8vIEdlbmVyYXRlcyB2YWx1ZXMgZnJvbSBhIHJhbmdlIG9mIHR3byBjb21w
YXJhYmxlIHZhbHVlcy4gQ2FuIGJlIHVzZWQgdG8KQEAgLTIwOCwxMCArMjA3LDggQEAgdGVtcGxh
dGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEluY3JlbWVudFQ+CiBjbGFzcyBSYW5nZUdlbmVyYXRv
ciA6IHB1YmxpYyBQYXJhbUdlbmVyYXRvckludGVyZmFjZTxUPiB7CiAgcHVibGljOgogICBSYW5n
ZUdlbmVyYXRvcihUIGJlZ2luLCBUIGVuZCwgSW5jcmVtZW50VCBzdGVwKQotICAgICAgOiBiZWdp
bl8oYmVnaW4pLAotICAgICAgICBlbmRfKGVuZCksCi0gICAgICAgIHN0ZXBfKHN0ZXApLAotICAg
ICAgICBlbmRfaW5kZXhfKENhbGN1bGF0ZUVuZEluZGV4KGJlZ2luLCBlbmQsIHN0ZXApKSB7fQor
ICAgICAgOiBiZWdpbl8oYmVnaW4pLCBlbmRfKGVuZCksCisgICAgICAgIHN0ZXBfKHN0ZXApLCBl
bmRfaW5kZXhfKENhbGN1bGF0ZUVuZEluZGV4KGJlZ2luLCBlbmQsIHN0ZXApKSB7fQogICB+UmFu
Z2VHZW5lcmF0b3IoKSBvdmVycmlkZSB7fQogCiAgIFBhcmFtSXRlcmF0b3JJbnRlcmZhY2U8VD4q
IEJlZ2luKCkgY29uc3Qgb3ZlcnJpZGUgewpAQCAtMjU0LDkgKzI1MSw3IEBAIGNsYXNzIFJhbmdl
R2VuZXJhdG9yIDogcHVibGljIFBhcmFtR2VuZXJhdG9ySW50ZXJmYWNlPFQ+IHsKICAgIHByaXZh
dGU6CiAgICAgSXRlcmF0b3IoY29uc3QgSXRlcmF0b3ImIG90aGVyKQogICAgICAgICA6IFBhcmFt
SXRlcmF0b3JJbnRlcmZhY2U8VD4oKSwKLSAgICAgICAgICBiYXNlXyhvdGhlci5iYXNlXyksCi0g
ICAgICAgICAgdmFsdWVfKG90aGVyLnZhbHVlXyksCi0gICAgICAgICAgaW5kZXhfKG90aGVyLmlu
ZGV4XyksCisgICAgICAgICAgYmFzZV8ob3RoZXIuYmFzZV8pLCB2YWx1ZV8ob3RoZXIudmFsdWVf
KSwgaW5kZXhfKG90aGVyLmluZGV4XyksCiAgICAgICAgICAgc3RlcF8ob3RoZXIuc3RlcF8pIHt9
CiAKICAgICAvLyBObyBpbXBsZW1lbnRhdGlvbiAtIGFzc2lnbm1lbnQgaXMgdW5zdXBwb3J0ZWQu
CkBAIC0yNjgsMTAgKzI2MywxMiBAQCBjbGFzcyBSYW5nZUdlbmVyYXRvciA6IHB1YmxpYyBQYXJh
bUdlbmVyYXRvckludGVyZmFjZTxUPiB7CiAgICAgY29uc3QgSW5jcmVtZW50VCBzdGVwXzsKICAg
fTsgIC8vIGNsYXNzIFJhbmdlR2VuZXJhdG9yOjpJdGVyYXRvcgogCi0gIHN0YXRpYyBpbnQgQ2Fs
Y3VsYXRlRW5kSW5kZXgoY29uc3QgVCYgYmVnaW4sIGNvbnN0IFQmIGVuZCwKKyAgc3RhdGljIGlu
dCBDYWxjdWxhdGVFbmRJbmRleChjb25zdCBUJiBiZWdpbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBUJiBlbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgSW5jcmVtZW50VCYgc3RlcCkgewogICAgIGludCBlbmRfaW5kZXggPSAwOwotICAgIGZv
ciAoVCBpID0gYmVnaW47IGkgPCBlbmQ7IGkgPSBzdGF0aWNfY2FzdDxUPihpICsgc3RlcCkpIGVu
ZF9pbmRleCsrOworICAgIGZvciAoVCBpID0gYmVnaW47IGkgPCBlbmQ7IGkgPSBzdGF0aWNfY2Fz
dDxUPihpICsgc3RlcCkpCisgICAgICBlbmRfaW5kZXgrKzsKICAgICByZXR1cm4gZW5kX2luZGV4
OwogICB9CiAKQEAgLTI4Niw2ICsyODMsNyBAQCBjbGFzcyBSYW5nZUdlbmVyYXRvciA6IHB1Ymxp
YyBQYXJhbUdlbmVyYXRvckludGVyZmFjZTxUPiB7CiAgIGNvbnN0IGludCBlbmRfaW5kZXhfOwog
fTsgIC8vIGNsYXNzIFJhbmdlR2VuZXJhdG9yCiAKKwogLy8gR2VuZXJhdGVzIHZhbHVlcyBmcm9t
IGEgcGFpciBvZiBTVEwtc3R5bGUgaXRlcmF0b3JzLiBVc2VkIGluIHRoZQogLy8gVmFsdWVzSW4o
KSBmdW5jdGlvbi4gVGhlIGVsZW1lbnRzIGFyZSBjb3BpZWQgZnJvbSB0aGUgc291cmNlIHJhbmdl
CiAvLyBzaW5jZSB0aGUgc291cmNlIGNhbiBiZSBsb2NhdGVkIG9uIHRoZSBzdGFjaywgYW5kIHRo
ZSBnZW5lcmF0b3IKQEAgLTM0MywxMyArMzQxLDEzIEBAIGNsYXNzIFZhbHVlc0luSXRlcmF0b3JS
YW5nZUdlbmVyYXRvciA6IHB1YmxpYyBQYXJhbUdlbmVyYXRvckludGVyZmFjZTxUPiB7CiAgICAg
ICAgICAgPDwgIlRoZSBwcm9ncmFtIGF0dGVtcHRlZCB0byBjb21wYXJlIGl0ZXJhdG9ycyAiCiAg
ICAgICAgICAgPDwgImZyb20gZGlmZmVyZW50IGdlbmVyYXRvcnMuIiA8PCBzdGQ6OmVuZGw7CiAg
ICAgICByZXR1cm4gaXRlcmF0b3JfID09Ci0gICAgICAgICAgICAgQ2hlY2tlZERvd25jYXN0VG9B
Y3R1YWxUeXBlPGNvbnN0IEl0ZXJhdG9yPigmb3RoZXIpLT5pdGVyYXRvcl87CisgICAgICAgICAg
Q2hlY2tlZERvd25jYXN0VG9BY3R1YWxUeXBlPGNvbnN0IEl0ZXJhdG9yPigmb3RoZXIpLT5pdGVy
YXRvcl87CiAgICAgfQogCiAgICBwcml2YXRlOgogICAgIEl0ZXJhdG9yKGNvbnN0IEl0ZXJhdG9y
JiBvdGhlcikKLSAgICAgICAgLy8gVGhlIGV4cGxpY2l0IGNvbnN0cnVjdG9yIGNhbGwgc3VwcHJl
c3NlcyBhIGZhbHNlIHdhcm5pbmcKLSAgICAgICAgLy8gZW1pdHRlZCBieSBnY2Mgd2hlbiBzdXBw
bGllZCB3aXRoIHRoZSAtV2V4dHJhIG9wdGlvbi4KKyAgICAgICAgICAvLyBUaGUgZXhwbGljaXQg
Y29uc3RydWN0b3IgY2FsbCBzdXBwcmVzc2VzIGEgZmFsc2Ugd2FybmluZworICAgICAgICAgIC8v
IGVtaXR0ZWQgYnkgZ2NjIHdoZW4gc3VwcGxpZWQgd2l0aCB0aGUgLVdleHRyYSBvcHRpb24uCiAg
ICAgICAgIDogUGFyYW1JdGVyYXRvckludGVyZmFjZTxUPigpLAogICAgICAgICAgIGJhc2VfKG90
aGVyLmJhc2VfKSwKICAgICAgICAgICBpdGVyYXRvcl8ob3RoZXIuaXRlcmF0b3JfKSB7fQpAQCAt
Mzk2LDggKzM5NCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUZXN0Q2xhc3M+CiBjbGFzcyBQYXJhbWV0
ZXJpemVkVGVzdEZhY3RvcnkgOiBwdWJsaWMgVGVzdEZhY3RvcnlCYXNlIHsKICBwdWJsaWM6CiAg
IHR5cGVkZWYgdHlwZW5hbWUgVGVzdENsYXNzOjpQYXJhbVR5cGUgUGFyYW1UeXBlOwotICBleHBs
aWNpdCBQYXJhbWV0ZXJpemVkVGVzdEZhY3RvcnkoUGFyYW1UeXBlIHBhcmFtZXRlcikKLSAgICAg
IDogcGFyYW1ldGVyXyhwYXJhbWV0ZXIpIHt9CisgIGV4cGxpY2l0IFBhcmFtZXRlcml6ZWRUZXN0
RmFjdG9yeShQYXJhbVR5cGUgcGFyYW1ldGVyKSA6CisgICAgICBwYXJhbWV0ZXJfKHBhcmFtZXRl
cikge30KICAgVGVzdCogQ3JlYXRlVGVzdCgpIG92ZXJyaWRlIHsKICAgICBUZXN0Q2xhc3M6OlNl
dFBhcmFtKCZwYXJhbWV0ZXJfKTsKICAgICByZXR1cm4gbmV3IFRlc3RDbGFzcygpOwpAQCAtNDA2
LDggKzQwNCw3IEBAIGNsYXNzIFBhcmFtZXRlcml6ZWRUZXN0RmFjdG9yeSA6IHB1YmxpYyBUZXN0
RmFjdG9yeUJhc2UgewogIHByaXZhdGU6CiAgIGNvbnN0IFBhcmFtVHlwZSBwYXJhbWV0ZXJfOwog
Ci0gIFBhcmFtZXRlcml6ZWRUZXN0RmFjdG9yeShjb25zdCBQYXJhbWV0ZXJpemVkVGVzdEZhY3Rv
cnkmKSA9IGRlbGV0ZTsKLSAgUGFyYW1ldGVyaXplZFRlc3RGYWN0b3J5JiBvcGVyYXRvcj0oY29u
c3QgUGFyYW1ldGVyaXplZFRlc3RGYWN0b3J5JikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9X
X0NPUFlfQU5EX0FTU0lHTl8oUGFyYW1ldGVyaXplZFRlc3RGYWN0b3J5KTsKIH07CiAKIC8vIElO
VEVSTkFMIElNUExFTUVOVEFUSU9OIC0gRE8gTk9UIFVTRSBJTiBVU0VSIENPREUuCkBAIC00NDMs
OCArNDQwLDcgQEAgY2xhc3MgVGVzdE1ldGFGYWN0b3J5CiAgIH0KIAogIHByaXZhdGU6Ci0gIFRl
c3RNZXRhRmFjdG9yeShjb25zdCBUZXN0TWV0YUZhY3RvcnkmKSA9IGRlbGV0ZTsKLSAgVGVzdE1l
dGFGYWN0b3J5JiBvcGVyYXRvcj0oY29uc3QgVGVzdE1ldGFGYWN0b3J5JikgPSBkZWxldGU7Cisg
IEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8oVGVzdE1ldGFGYWN0b3J5KTsKIH07CiAK
IC8vIElOVEVSTkFMIElNUExFTUVOVEFUSU9OIC0gRE8gTk9UIFVTRSBJTiBVU0VSIENPREUuCkBA
IC00NjMsNyArNDU5LDcgQEAgY2xhc3MgUGFyYW1ldGVyaXplZFRlc3RTdWl0ZUluZm9CYXNlIHsK
IAogICAvLyBCYXNlIHBhcnQgb2YgdGVzdCBzdWl0ZSBuYW1lIGZvciBkaXNwbGF5IHB1cnBvc2Vz
LgogICB2aXJ0dWFsIGNvbnN0IHN0ZDo6c3RyaW5nJiBHZXRUZXN0U3VpdGVOYW1lKCkgY29uc3Qg
PSAwOwotICAvLyBUZXN0IHN1aXRlIGlkIHRvIHZlcmlmeSBpZGVudGl0eS4KKyAgLy8gVGVzdCBj
YXNlIGlkIHRvIHZlcmlmeSBpZGVudGl0eS4KICAgdmlydHVhbCBUeXBlSWQgR2V0VGVzdFN1aXRl
VHlwZUlkKCkgY29uc3QgPSAwOwogICAvLyBVbml0VGVzdCBjbGFzcyBpbnZva2VzIHRoaXMgbWV0
aG9kIHRvIHJlZ2lzdGVyIHRlc3RzIGluIHRoaXMKICAgLy8gdGVzdCBzdWl0ZSByaWdodCBiZWZv
cmUgcnVubmluZyB0aGVtIGluIFJVTl9BTExfVEVTVFMgbWFjcm8uCkBAIC00NzUsMTcgKzQ3MSwx
NCBAQCBjbGFzcyBQYXJhbWV0ZXJpemVkVGVzdFN1aXRlSW5mb0Jhc2UgewogICBQYXJhbWV0ZXJp
emVkVGVzdFN1aXRlSW5mb0Jhc2UoKSB7fQogCiAgcHJpdmF0ZToKLSAgUGFyYW1ldGVyaXplZFRl
c3RTdWl0ZUluZm9CYXNlKGNvbnN0IFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvQmFzZSYpID0K
LSAgICAgIGRlbGV0ZTsKLSAgUGFyYW1ldGVyaXplZFRlc3RTdWl0ZUluZm9CYXNlJiBvcGVyYXRv
cj0oCi0gICAgICBjb25zdCBQYXJhbWV0ZXJpemVkVGVzdFN1aXRlSW5mb0Jhc2UmKSA9IGRlbGV0
ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhQYXJhbWV0ZXJpemVkVGVzdFN1
aXRlSW5mb0Jhc2UpOwogfTsKIAogLy8gSU5URVJOQUwgSU1QTEVNRU5UQVRJT04gLSBETyBOT1Qg
VVNFIElOIFVTRVIgQ09ERS4KIC8vCiAvLyBSZXBvcnQgYSB0aGUgbmFtZSBvZiBhIHRlc3Rfc3Vp
dCBhcyBzYWZlIHRvIGlnbm9yZQogLy8gYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGNvbnN0cnVjdGlv
biBvZiB0aGlzIHR5cGUuCi1zdHJ1Y3QgR1RFU1RfQVBJXyBNYXJrQXNJZ25vcmVkIHsKK3N0cnVj
dCBNYXJrQXNJZ25vcmVkIHsKICAgZXhwbGljaXQgTWFya0FzSWdub3JlZChjb25zdCBjaGFyKiB0
ZXN0X3N1aXRlKTsKIH07CiAKQEAgLTUxNCwxMSArNTA3LDExIEBAIGNsYXNzIFBhcmFtZXRlcml6
ZWRUZXN0U3VpdGVJbmZvIDogcHVibGljIFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvQmFzZSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvZGVMb2NhdGlvbiBjb2Rl
X2xvY2F0aW9uKQogICAgICAgOiB0ZXN0X3N1aXRlX25hbWVfKG5hbWUpLCBjb2RlX2xvY2F0aW9u
Xyhjb2RlX2xvY2F0aW9uKSB7fQogCi0gIC8vIFRlc3Qgc3VpdGUgYmFzZSBuYW1lIGZvciBkaXNw
bGF5IHB1cnBvc2VzLgorICAvLyBUZXN0IGNhc2UgYmFzZSBuYW1lIGZvciBkaXNwbGF5IHB1cnBv
c2VzLgogICBjb25zdCBzdGQ6OnN0cmluZyYgR2V0VGVzdFN1aXRlTmFtZSgpIGNvbnN0IG92ZXJy
aWRlIHsKICAgICByZXR1cm4gdGVzdF9zdWl0ZV9uYW1lXzsKICAgfQotICAvLyBUZXN0IHN1aXRl
IGlkIHRvIHZlcmlmeSBpZGVudGl0eS4KKyAgLy8gVGVzdCBjYXNlIGlkIHRvIHZlcmlmeSBpZGVu
dGl0eS4KICAgVHlwZUlkIEdldFRlc3RTdWl0ZVR5cGVJZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIEdldFR5cGVJZDxUZXN0U3VpdGU+KCk7IH0KICAgLy8gVEVTVF9QIG1hY3JvIHVzZXMgQWRk
VGVzdFBhdHRlcm4oKSB0byByZWNvcmQgaW5mb3JtYXRpb24KICAgLy8gYWJvdXQgYSBzaW5nbGUg
dGVzdCBpbiBhIExvY2FsVGVzdEluZm8gc3RydWN0dXJlLgpAQCAtNTI3LDEwICs1MjAsOSBAQCBj
bGFzcyBQYXJhbWV0ZXJpemVkVGVzdFN1aXRlSW5mbyA6IHB1YmxpYyBQYXJhbWV0ZXJpemVkVGVz
dFN1aXRlSW5mb0Jhc2UgewogICAvLyBwYXJhbWV0ZXIgaW5kZXguIEZvciB0aGUgdGVzdCBTZXF1
ZW5jZUEvRm9vVGVzdC5Eb0Jhci8xIEZvb1Rlc3QgaXMKICAgLy8gdGVzdCBzdWl0ZSBiYXNlIG5h
bWUgYW5kIERvQmFyIGlzIHRlc3QgYmFzZSBuYW1lLgogICB2b2lkIEFkZFRlc3RQYXR0ZXJuKGNv
bnN0IGNoYXIqIHRlc3Rfc3VpdGVfbmFtZSwgY29uc3QgY2hhciogdGVzdF9iYXNlX25hbWUsCi0g
ICAgICAgICAgICAgICAgICAgICAgVGVzdE1ldGFGYWN0b3J5QmFzZTxQYXJhbVR5cGU+KiBtZXRh
X2ZhY3RvcnksCi0gICAgICAgICAgICAgICAgICAgICAgQ29kZUxvY2F0aW9uIGNvZGVfbG9jYXRp
b24pIHsKLSAgICB0ZXN0c18ucHVzaF9iYWNrKHN0ZDo6c2hhcmVkX3B0cjxUZXN0SW5mbz4obmV3
IFRlc3RJbmZvKAotICAgICAgICB0ZXN0X3N1aXRlX25hbWUsIHRlc3RfYmFzZV9uYW1lLCBtZXRh
X2ZhY3RvcnksIGNvZGVfbG9jYXRpb24pKSk7CisgICAgICAgICAgICAgICAgICAgICAgVGVzdE1l
dGFGYWN0b3J5QmFzZTxQYXJhbVR5cGU+KiBtZXRhX2ZhY3RvcnkpIHsKKyAgICB0ZXN0c18ucHVz
aF9iYWNrKHN0ZDo6c2hhcmVkX3B0cjxUZXN0SW5mbz4oCisgICAgICAgIG5ldyBUZXN0SW5mbyh0
ZXN0X3N1aXRlX25hbWUsIHRlc3RfYmFzZV9uYW1lLCBtZXRhX2ZhY3RvcnkpKSk7CiAgIH0KICAg
Ly8gSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QIG1hY3JvIHVzZXMgQWRkR2VuZXJhdG9yKCkgdG8g
cmVjb3JkIGluZm9ybWF0aW9uCiAgIC8vIGFib3V0IGEgZ2VuZXJhdG9yLgpAQCAtNTU0LDggKzU0
Niw4IEBAIGNsYXNzIFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvIDogcHVibGljIFBhcmFtZXRl
cml6ZWRUZXN0U3VpdGVJbmZvQmFzZSB7CiAgICAgICAgICB0ZXN0X2l0ICE9IHRlc3RzXy5lbmQo
KTsgKyt0ZXN0X2l0KSB7CiAgICAgICBzdGQ6OnNoYXJlZF9wdHI8VGVzdEluZm8+IHRlc3RfaW5m
byA9ICp0ZXN0X2l0OwogICAgICAgZm9yICh0eXBlbmFtZSBJbnN0YW50aWF0aW9uQ29udGFpbmVy
OjppdGVyYXRvciBnZW5faXQgPQotICAgICAgICAgICAgICAgaW5zdGFudGlhdGlvbnNfLmJlZ2lu
KCk7Ci0gICAgICAgICAgIGdlbl9pdCAhPSBpbnN0YW50aWF0aW9uc18uZW5kKCk7ICsrZ2VuX2l0
KSB7CisgICAgICAgICAgICAgICBpbnN0YW50aWF0aW9uc18uYmVnaW4oKTsgZ2VuX2l0ICE9IGlu
c3RhbnRpYXRpb25zXy5lbmQoKTsKKyAgICAgICAgICAgICAgICsrZ2VuX2l0KSB7CiAgICAgICAg
IGNvbnN0IHN0ZDo6c3RyaW5nJiBpbnN0YW50aWF0aW9uX25hbWUgPSBnZW5faXQtPm5hbWU7CiAg
ICAgICAgIFBhcmFtR2VuZXJhdG9yPFBhcmFtVHlwZT4gZ2VuZXJhdG9yKCgqZ2VuX2l0LT5nZW5l
cmF0b3IpKCkpOwogICAgICAgICBQYXJhbU5hbWVHZW5lcmF0b3JGdW5jKiBuYW1lX2Z1bmMgPSBn
ZW5faXQtPm5hbWVfZnVuYzsKQEAgLTU2Myw3ICs1NTUsNyBAQCBjbGFzcyBQYXJhbWV0ZXJpemVk
VGVzdFN1aXRlSW5mbyA6IHB1YmxpYyBQYXJhbWV0ZXJpemVkVGVzdFN1aXRlSW5mb0Jhc2Ugewog
ICAgICAgICBpbnQgbGluZSA9IGdlbl9pdC0+bGluZTsKIAogICAgICAgICBzdGQ6OnN0cmluZyB0
ZXN0X3N1aXRlX25hbWU7Ci0gICAgICAgIGlmICghaW5zdGFudGlhdGlvbl9uYW1lLmVtcHR5KCkp
CisgICAgICAgIGlmICggIWluc3RhbnRpYXRpb25fbmFtZS5lbXB0eSgpICkKICAgICAgICAgICB0
ZXN0X3N1aXRlX25hbWUgPSBpbnN0YW50aWF0aW9uX25hbWUgKyAiLyI7CiAgICAgICAgIHRlc3Rf
c3VpdGVfbmFtZSArPSB0ZXN0X2luZm8tPnRlc3Rfc3VpdGVfYmFzZV9uYW1lOwogCkBAIC01NzYs
MTYgKzU2OCwxNyBAQCBjbGFzcyBQYXJhbWV0ZXJpemVkVGVzdFN1aXRlSW5mbyA6IHB1YmxpYyBQ
YXJhbWV0ZXJpemVkVGVzdFN1aXRlSW5mb0Jhc2UgewogCiAgICAgICAgICAgTWVzc2FnZSB0ZXN0
X25hbWVfc3RyZWFtOwogCi0gICAgICAgICAgc3RkOjpzdHJpbmcgcGFyYW1fbmFtZSA9Ci0gICAg
ICAgICAgICAgIG5hbWVfZnVuYyhUZXN0UGFyYW1JbmZvPFBhcmFtVHlwZT4oKnBhcmFtX2l0LCBp
KSk7CisgICAgICAgICAgc3RkOjpzdHJpbmcgcGFyYW1fbmFtZSA9IG5hbWVfZnVuYygKKyAgICAg
ICAgICAgICAgVGVzdFBhcmFtSW5mbzxQYXJhbVR5cGU+KCpwYXJhbV9pdCwgaSkpOwogCiAgICAg
ICAgICAgR1RFU1RfQ0hFQ0tfKElzVmFsaWRQYXJhbU5hbWUocGFyYW1fbmFtZSkpCiAgICAgICAg
ICAgICAgIDw8ICJQYXJhbWV0ZXJpemVkIHRlc3QgbmFtZSAnIiA8PCBwYXJhbV9uYW1lCi0gICAg
ICAgICAgICAgIDw8ICInIGlzIGludmFsaWQsIGluICIgPDwgZmlsZSA8PCAiIGxpbmUgIiA8PCBs
aW5lIDw8IHN0ZDo6ZW5kbDsKKyAgICAgICAgICAgICAgPDwgIicgaXMgaW52YWxpZCwgaW4gIiA8
PCBmaWxlCisgICAgICAgICAgICAgIDw8ICIgbGluZSAiIDw8IGxpbmUgPDwgc3RkOjplbmRsOwog
CiAgICAgICAgICAgR1RFU1RfQ0hFQ0tfKHRlc3RfcGFyYW1fbmFtZXMuY291bnQocGFyYW1fbmFt
ZSkgPT0gMCkKLSAgICAgICAgICAgICAgPDwgIkR1cGxpY2F0ZSBwYXJhbWV0ZXJpemVkIHRlc3Qg
bmFtZSAnIiA8PCBwYXJhbV9uYW1lIDw8ICInLCBpbiAiCi0gICAgICAgICAgICAgIDw8IGZpbGUg
PDwgIiBsaW5lICIgPDwgbGluZSA8PCBzdGQ6OmVuZGw7CisgICAgICAgICAgICAgIDw8ICJEdXBs
aWNhdGUgcGFyYW1ldGVyaXplZCB0ZXN0IG5hbWUgJyIgPDwgcGFyYW1fbmFtZQorICAgICAgICAg
ICAgICA8PCAiJywgaW4gIiA8PCBmaWxlIDw8ICIgbGluZSAiIDw8IGxpbmUgPDwgc3RkOjplbmRs
OwogCiAgICAgICAgICAgdGVzdF9wYXJhbV9uYW1lcy5pbnNlcnQocGFyYW1fbmFtZSk7CiAKQEAg
LTU5Niw2OSArNTg5LDY5IEBAIGNsYXNzIFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvIDogcHVi
bGljIFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvQmFzZSB7CiAgICAgICAgICAgTWFrZUFuZFJl
Z2lzdGVyVGVzdEluZm8oCiAgICAgICAgICAgICAgIHRlc3Rfc3VpdGVfbmFtZS5jX3N0cigpLCB0
ZXN0X25hbWVfc3RyZWFtLkdldFN0cmluZygpLmNfc3RyKCksCiAgICAgICAgICAgICAgIG51bGxw
dHIsICAvLyBObyB0eXBlIHBhcmFtZXRlci4KLSAgICAgICAgICAgICAgUHJpbnRUb1N0cmluZygq
cGFyYW1faXQpLmNfc3RyKCksIHRlc3RfaW5mby0+Y29kZV9sb2NhdGlvbiwKKyAgICAgICAgICAg
ICAgUHJpbnRUb1N0cmluZygqcGFyYW1faXQpLmNfc3RyKCksIGNvZGVfbG9jYXRpb25fLAogICAg
ICAgICAgICAgICBHZXRUZXN0U3VpdGVUeXBlSWQoKSwKICAgICAgICAgICAgICAgU3VpdGVBcGlS
ZXNvbHZlcjxUZXN0U3VpdGU+OjpHZXRTZXRVcENhc2VPclN1aXRlKGZpbGUsIGxpbmUpLAogICAg
ICAgICAgICAgICBTdWl0ZUFwaVJlc29sdmVyPFRlc3RTdWl0ZT46OkdldFRlYXJEb3duQ2FzZU9y
U3VpdGUoZmlsZSwgbGluZSksCiAgICAgICAgICAgICAgIHRlc3RfaW5mby0+dGVzdF9tZXRhX2Zh
Y3RvcnktPkNyZWF0ZVRlc3RGYWN0b3J5KCpwYXJhbV9pdCkpOwogICAgICAgICB9ICAvLyBmb3Ig
cGFyYW1faXQKLSAgICAgIH0gICAgLy8gZm9yIGdlbl9pdAotICAgIH0gICAgICAvLyBmb3IgdGVz
dF9pdAorICAgICAgfSAgLy8gZm9yIGdlbl9pdAorICAgIH0gIC8vIGZvciB0ZXN0X2l0CiAKICAg
ICBpZiAoIWdlbmVyYXRlZF9pbnN0YW50aWF0aW9ucykgewogICAgICAgLy8gVGhlcmUgYXJlIG5v
IGdlbmVyYW90cnMsIG9yIHRoZXkgYWxsIGdlbmVyYXRlIG5vdGhpbmcgLi4uCiAgICAgICBJbnNl
cnRTeW50aGV0aWNUZXN0Q2FzZShHZXRUZXN0U3VpdGVOYW1lKCksIGNvZGVfbG9jYXRpb25fLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXRlc3RzXy5lbXB0eSgpKTsKICAgICB9Ci0g
IH0gIC8vIFJlZ2lzdGVyVGVzdHMKKyAgfSAgICAvLyBSZWdpc3RlclRlc3RzCiAKICBwcml2YXRl
OgogICAvLyBMb2NhbFRlc3RJbmZvIHN0cnVjdHVyZSBrZWVwcyBpbmZvcm1hdGlvbiBhYm91dCBh
IHNpbmdsZSB0ZXN0IHJlZ2lzdGVyZWQKICAgLy8gd2l0aCBURVNUX1AgbWFjcm8uCiAgIHN0cnVj
dCBUZXN0SW5mbyB7CiAgICAgVGVzdEluZm8oY29uc3QgY2hhciogYV90ZXN0X3N1aXRlX2Jhc2Vf
bmFtZSwgY29uc3QgY2hhciogYV90ZXN0X2Jhc2VfbmFtZSwKLSAgICAgICAgICAgICBUZXN0TWV0
YUZhY3RvcnlCYXNlPFBhcmFtVHlwZT4qIGFfdGVzdF9tZXRhX2ZhY3RvcnksCi0gICAgICAgICAg
ICAgQ29kZUxvY2F0aW9uIGFfY29kZV9sb2NhdGlvbikKKyAgICAgICAgICAgICBUZXN0TWV0YUZh
Y3RvcnlCYXNlPFBhcmFtVHlwZT4qIGFfdGVzdF9tZXRhX2ZhY3RvcnkpCiAgICAgICAgIDogdGVz
dF9zdWl0ZV9iYXNlX25hbWUoYV90ZXN0X3N1aXRlX2Jhc2VfbmFtZSksCiAgICAgICAgICAgdGVz
dF9iYXNlX25hbWUoYV90ZXN0X2Jhc2VfbmFtZSksCi0gICAgICAgICAgdGVzdF9tZXRhX2ZhY3Rv
cnkoYV90ZXN0X21ldGFfZmFjdG9yeSksCi0gICAgICAgICAgY29kZV9sb2NhdGlvbihhX2NvZGVf
bG9jYXRpb24pIHt9CisgICAgICAgICAgdGVzdF9tZXRhX2ZhY3RvcnkoYV90ZXN0X21ldGFfZmFj
dG9yeSkge30KIAogICAgIGNvbnN0IHN0ZDo6c3RyaW5nIHRlc3Rfc3VpdGVfYmFzZV9uYW1lOwog
ICAgIGNvbnN0IHN0ZDo6c3RyaW5nIHRlc3RfYmFzZV9uYW1lOwotICAgIGNvbnN0IHN0ZDo6dW5p
cXVlX3B0cjxUZXN0TWV0YUZhY3RvcnlCYXNlPFBhcmFtVHlwZT4+IHRlc3RfbWV0YV9mYWN0b3J5
OwotICAgIGNvbnN0IENvZGVMb2NhdGlvbiBjb2RlX2xvY2F0aW9uOworICAgIGNvbnN0IHN0ZDo6
dW5pcXVlX3B0cjxUZXN0TWV0YUZhY3RvcnlCYXNlPFBhcmFtVHlwZT4gPiB0ZXN0X21ldGFfZmFj
dG9yeTsKICAgfTsKLSAgdXNpbmcgVGVzdEluZm9Db250YWluZXIgPSA6OnN0ZDo6dmVjdG9yPHN0
ZDo6c2hhcmVkX3B0cjxUZXN0SW5mbz4+OworICB1c2luZyBUZXN0SW5mb0NvbnRhaW5lciA9IDo6
c3RkOjp2ZWN0b3I8c3RkOjpzaGFyZWRfcHRyPFRlc3RJbmZvPiA+OwogICAvLyBSZWNvcmRzIGRh
dGEgcmVjZWl2ZWQgZnJvbSBJTlNUQU5USUFURV9URVNUX1NVSVRFX1AgbWFjcm9zOgogICAvLyAg
PEluc3RhbnRpYXRpb24gbmFtZSwgU2VxdWVuY2UgZ2VuZXJhdG9yIGNyZWF0aW9uIGZ1bmN0aW9u
LAogICAvLyAgICAgTmFtZSBnZW5lcmF0b3IgZnVuY3Rpb24sIFNvdXJjZSBmaWxlLCBTb3VyY2Ug
bGluZT4KICAgc3RydWN0IEluc3RhbnRpYXRpb25JbmZvIHsKLSAgICBJbnN0YW50aWF0aW9uSW5m
byhjb25zdCBzdGQ6OnN0cmluZyYgbmFtZV9pbiwKLSAgICAgICAgICAgICAgICAgICAgICBHZW5l
cmF0b3JDcmVhdGlvbkZ1bmMqIGdlbmVyYXRvcl9pbiwKLSAgICAgICAgICAgICAgICAgICAgICBQ
YXJhbU5hbWVHZW5lcmF0b3JGdW5jKiBuYW1lX2Z1bmNfaW4sIGNvbnN0IGNoYXIqIGZpbGVfaW4s
Ci0gICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmVfaW4pCi0gICAgICAgIDogbmFtZShuYW1l
X2luKSwKLSAgICAgICAgICBnZW5lcmF0b3IoZ2VuZXJhdG9yX2luKSwKLSAgICAgICAgICBuYW1l
X2Z1bmMobmFtZV9mdW5jX2luKSwKLSAgICAgICAgICBmaWxlKGZpbGVfaW4pLAotICAgICAgICAg
IGxpbmUobGluZV9pbikge30KLQotICAgIHN0ZDo6c3RyaW5nIG5hbWU7Ci0gICAgR2VuZXJhdG9y
Q3JlYXRpb25GdW5jKiBnZW5lcmF0b3I7Ci0gICAgUGFyYW1OYW1lR2VuZXJhdG9yRnVuYyogbmFt
ZV9mdW5jOwotICAgIGNvbnN0IGNoYXIqIGZpbGU7Ci0gICAgaW50IGxpbmU7CisgICAgICBJbnN0
YW50aWF0aW9uSW5mbyhjb25zdCBzdGQ6OnN0cmluZyAmbmFtZV9pbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIEdlbmVyYXRvckNyZWF0aW9uRnVuYyogZ2VuZXJhdG9yX2luLAorICAgICAgICAg
ICAgICAgICAgICAgICAgUGFyYW1OYW1lR2VuZXJhdG9yRnVuYyogbmFtZV9mdW5jX2luLAorICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogZmlsZV9pbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBsaW5lX2luKQorICAgICAgICAgIDogbmFtZShuYW1lX2luKSwKKyAgICAg
ICAgICAgIGdlbmVyYXRvcihnZW5lcmF0b3JfaW4pLAorICAgICAgICAgICAgbmFtZV9mdW5jKG5h
bWVfZnVuY19pbiksCisgICAgICAgICAgICBmaWxlKGZpbGVfaW4pLAorICAgICAgICAgICAgbGlu
ZShsaW5lX2luKSB7fQorCisgICAgICBzdGQ6OnN0cmluZyBuYW1lOworICAgICAgR2VuZXJhdG9y
Q3JlYXRpb25GdW5jKiBnZW5lcmF0b3I7CisgICAgICBQYXJhbU5hbWVHZW5lcmF0b3JGdW5jKiBu
YW1lX2Z1bmM7CisgICAgICBjb25zdCBjaGFyKiBmaWxlOworICAgICAgaW50IGxpbmU7CiAgIH07
CiAgIHR5cGVkZWYgOjpzdGQ6OnZlY3RvcjxJbnN0YW50aWF0aW9uSW5mbz4gSW5zdGFudGlhdGlv
bkNvbnRhaW5lcjsKIAogICBzdGF0aWMgYm9vbCBJc1ZhbGlkUGFyYW1OYW1lKGNvbnN0IHN0ZDo6
c3RyaW5nJiBuYW1lKSB7CiAgICAgLy8gQ2hlY2sgZm9yIGVtcHR5IHN0cmluZwotICAgIGlmIChu
YW1lLmVtcHR5KCkpIHJldHVybiBmYWxzZTsKKyAgICBpZiAobmFtZS5lbXB0eSgpKQorICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgLy8gQ2hlY2sgZm9yIGludmFsaWQgY2hhcmFjdGVycwogICAg
IGZvciAoc3RkOjpzdHJpbmc6OnNpemVfdHlwZSBpbmRleCA9IDA7IGluZGV4IDwgbmFtZS5zaXpl
KCk7ICsraW5kZXgpIHsKLSAgICAgIGlmICghSXNBbE51bShuYW1lW2luZGV4XSkgJiYgbmFtZVtp
bmRleF0gIT0gJ18nKSByZXR1cm4gZmFsc2U7CisgICAgICBpZiAoIWlzYWxudW0obmFtZVtpbmRl
eF0pICYmIG5hbWVbaW5kZXhdICE9ICdfJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAogICAgIHJldHVybiB0cnVlOwpAQCAtNjY5LDkgKzY2Miw3IEBAIGNsYXNzIFBhcmFtZXRlcml6
ZWRUZXN0U3VpdGVJbmZvIDogcHVibGljIFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvQmFzZSB7
CiAgIFRlc3RJbmZvQ29udGFpbmVyIHRlc3RzXzsKICAgSW5zdGFudGlhdGlvbkNvbnRhaW5lciBp
bnN0YW50aWF0aW9uc187CiAKLSAgUGFyYW1ldGVyaXplZFRlc3RTdWl0ZUluZm8oY29uc3QgUGFy
YW1ldGVyaXplZFRlc3RTdWl0ZUluZm8mKSA9IGRlbGV0ZTsKLSAgUGFyYW1ldGVyaXplZFRlc3RT
dWl0ZUluZm8mIG9wZXJhdG9yPShjb25zdCBQYXJhbWV0ZXJpemVkVGVzdFN1aXRlSW5mbyYpID0K
LSAgICAgIGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhQYXJhbWV0
ZXJpemVkVGVzdFN1aXRlSW5mbyk7CiB9OyAgLy8gY2xhc3MgUGFyYW1ldGVyaXplZFRlc3RTdWl0
ZUluZm8KIAogLy8gIExlZ2FjeSBBUEkgaXMgZGVwcmVjYXRlZCBidXQgc3RpbGwgYXZhaWxhYmxl
CkBAIC03MTQsNyArNzA1LDcgQEAgY2xhc3MgUGFyYW1ldGVyaXplZFRlc3RTdWl0ZVJlZ2lzdHJ5
IHsKICAgICAgICAgICAvLyB0eXBlIHdlIGFyZSBsb29raW5nIGZvciwgc28gd2UgZG93bmNhc3Qg
aXQgdG8gdGhhdCB0eXBlCiAgICAgICAgICAgLy8gd2l0aG91dCBmdXJ0aGVyIGNoZWNrcy4KICAg
ICAgICAgICB0eXBlZF90ZXN0X2luZm8gPSBDaGVja2VkRG93bmNhc3RUb0FjdHVhbFR5cGU8Ci0g
ICAgICAgICAgICAgIFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvPFRlc3RTdWl0ZT4+KHRlc3Rf
c3VpdGVfaW5mbyk7CisgICAgICAgICAgICAgIFBhcmFtZXRlcml6ZWRUZXN0U3VpdGVJbmZvPFRl
c3RTdWl0ZT4gPih0ZXN0X3N1aXRlX2luZm8pOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwog
ICAgICAgfQpAQCAtNzQ2LDEwICs3MzcsNyBAQCBjbGFzcyBQYXJhbWV0ZXJpemVkVGVzdFN1aXRl
UmVnaXN0cnkgewogCiAgIFRlc3RTdWl0ZUluZm9Db250YWluZXIgdGVzdF9zdWl0ZV9pbmZvc187
CiAKLSAgUGFyYW1ldGVyaXplZFRlc3RTdWl0ZVJlZ2lzdHJ5KGNvbnN0IFBhcmFtZXRlcml6ZWRU
ZXN0U3VpdGVSZWdpc3RyeSYpID0KLSAgICAgIGRlbGV0ZTsKLSAgUGFyYW1ldGVyaXplZFRlc3RT
dWl0ZVJlZ2lzdHJ5JiBvcGVyYXRvcj0oCi0gICAgICBjb25zdCBQYXJhbWV0ZXJpemVkVGVzdFN1
aXRlUmVnaXN0cnkmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdO
XyhQYXJhbWV0ZXJpemVkVGVzdFN1aXRlUmVnaXN0cnkpOwogfTsKIAogLy8gS2VlcCB0cmFjayBv
ZiB3aGF0IHR5cGUtcGFyYW1ldGVyaXplZCB0ZXN0IHN1aXRlIGFyZSBkZWZpbmVkIGFuZApAQCAt
NzkxLDE1ICs3NzksMTAgQEAgaW50ZXJuYWw6OlBhcmFtR2VuZXJhdG9yPHR5cGVuYW1lIENvbnRh
aW5lcjo6dmFsdWVfdHlwZT4gVmFsdWVzSW4oCiBuYW1lc3BhY2UgaW50ZXJuYWwgewogLy8gVXNl
ZCBpbiB0aGUgVmFsdWVzKCkgZnVuY3Rpb24gdG8gcHJvdmlkZSBwb2x5bW9ycGhpYyBjYXBhYmls
aXRpZXMuCiAKLSNpZmRlZiBfTVNDX1ZFUgotI3ByYWdtYSB3YXJuaW5nKHB1c2gpCi0jcHJhZ21h
IHdhcm5pbmcoZGlzYWJsZSA6IDQxMDApCi0jZW5kaWYKLQogdGVtcGxhdGUgPHR5cGVuYW1lLi4u
IFRzPgogY2xhc3MgVmFsdWVBcnJheSB7CiAgcHVibGljOgotICBleHBsaWNpdCBWYWx1ZUFycmF5
KFRzLi4uIHYpIDogdl8oRmxhdFR1cGxlQ29uc3RydWN0VGFne30sIHN0ZDo6bW92ZSh2KS4uLikg
e30KKyAgVmFsdWVBcnJheShUcy4uLiB2KSA6IHZfe3N0ZDo6bW92ZSh2KS4uLn0ge30KIAogICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgb3BlcmF0b3IgUGFyYW1HZW5lcmF0b3I8VD4oKSBjb25z
dCB7ICAvLyBOT0xJTlQKQEAgLTgxNSwxMCArNzk4LDYgQEAgY2xhc3MgVmFsdWVBcnJheSB7CiAg
IEZsYXRUdXBsZTxUcy4uLj4gdl87CiB9OwogCi0jaWZkZWYgX01TQ19WRVIKLSNwcmFnbWEgd2Fy
bmluZyhwb3ApCi0jZW5kaWYKLQogdGVtcGxhdGUgPHR5cGVuYW1lLi4uIFQ+CiBjbGFzcyBDYXJ0
ZXNpYW5Qcm9kdWN0R2VuZXJhdG9yCiAgICAgOiBwdWJsaWMgUGFyYW1HZW5lcmF0b3JJbnRlcmZh
Y2U8OjpzdGQ6OnR1cGxlPFQuLi4+PiB7CkBAIC04NDQsOCArODIzLDcgQEAgY2xhc3MgQ2FydGVz
aWFuUHJvZHVjdEdlbmVyYXRvcgogICAgICAgOiBwdWJsaWMgUGFyYW1JdGVyYXRvckludGVyZmFj
ZTxQYXJhbVR5cGU+IHsKICAgIHB1YmxpYzoKICAgICBJdGVyYXRvckltcGwoY29uc3QgUGFyYW1H
ZW5lcmF0b3JJbnRlcmZhY2U8UGFyYW1UeXBlPiogYmFzZSwKLSAgICAgICAgICAgICAgICAgY29u
c3Qgc3RkOjp0dXBsZTxQYXJhbUdlbmVyYXRvcjxUPi4uLj4mIGdlbmVyYXRvcnMsCi0gICAgICAg
ICAgICAgICAgIGJvb2wgaXNfZW5kKQorICAgICAgICAgICAgIGNvbnN0IHN0ZDo6dHVwbGU8UGFy
YW1HZW5lcmF0b3I8VD4uLi4+JiBnZW5lcmF0b3JzLCBib29sIGlzX2VuZCkKICAgICAgICAgOiBi
YXNlXyhiYXNlKSwKICAgICAgICAgICBiZWdpbl8oc3RkOjpnZXQ8ST4oZ2VuZXJhdG9ycykuYmVn
aW4oKS4uLiksCiAgICAgICAgICAgZW5kXyhzdGQ6OmdldDxJPihnZW5lcmF0b3JzKS5lbmQoKS4u
LiksCkBAIC05NTMsNCArOTMxLDQgQEAgY2xhc3MgQ2FydGVzaWFuUHJvZHVjdEhvbGRlciB7CiB9
ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKIH0gIC8vIG5hbWVzcGFjZSB0ZXN0aW5nCiAKLSNlbmRp
ZiAgLy8gR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1BBUkFNX1VUSUxf
SF8KKyNlbmRpZiAgLy8gR1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9QQVJBTV9V
VElMX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3Jj
L2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcG9ydC1hcmNoLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Ro
aXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcG9y
dC1hcmNoLmgKaW5kZXggZjAyNWRiNzZhZDM3Li5kMzIzOWIyNWJhZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5h
bC9ndGVzdC1wb3J0LWFyY2guaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRl
c3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcG9ydC1hcmNoLmgKQEAgLTI2LDkx
ICsyNiw4NiBAQAogLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAvLyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotCisvLwogLy8gVGhlIEdvb2dsZSBDKysgVGVzdGluZyBhbmQgTW9ja2luZyBGcmFtZXdvcmsg
KEdvb2dsZSBUZXN0KQogLy8KIC8vIFRoaXMgaGVhZGVyIGZpbGUgZGVmaW5lcyB0aGUgR1RFU1Rf
T1NfKiBtYWNyby4KIC8vIEl0IGlzIHNlcGFyYXRlIGZyb20gZ3Rlc3QtcG9ydC5oIHNvIHRoYXQg
Y3VzdG9tL2d0ZXN0LXBvcnQuaCBjYW4gaW5jbHVkZSBpdC4KIAotI2lmbmRlZiBHT09HTEVURVNU
X0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfUE9SVF9BUkNIX0hfCi0jZGVmaW5lIEdPT0dM
RVRFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9QT1JUX0FSQ0hfSF8KKyNpZm5kZWYg
R1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9QT1JUX0FSQ0hfSF8KKyNkZWZpbmUg
R1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9QT1JUX0FSQ0hfSF8KIAogLy8gRGV0
ZXJtaW5lcyB0aGUgcGxhdGZvcm0gb24gd2hpY2ggR29vZ2xlIFRlc3QgaXMgY29tcGlsZWQuCiAj
aWZkZWYgX19DWUdXSU5fXwotI2RlZmluZSBHVEVTVF9PU19DWUdXSU4gMQotI2VsaWYgZGVmaW5l
ZChfX01JTkdXX18pIHx8IGRlZmluZWQoX19NSU5HVzMyX18pIHx8IGRlZmluZWQoX19NSU5HVzY0
X18pCi0jZGVmaW5lIEdURVNUX09TX1dJTkRPV1NfTUlOR1cgMQotI2RlZmluZSBHVEVTVF9PU19X
SU5ET1dTIDEKKyMgZGVmaW5lIEdURVNUX09TX0NZR1dJTiAxCisjIGVsaWYgZGVmaW5lZChfX01J
TkdXX18pIHx8IGRlZmluZWQoX19NSU5HVzMyX18pIHx8IGRlZmluZWQoX19NSU5HVzY0X18pCisj
ICBkZWZpbmUgR1RFU1RfT1NfV0lORE9XU19NSU5HVyAxCisjICBkZWZpbmUgR1RFU1RfT1NfV0lO
RE9XUyAxCiAjZWxpZiBkZWZpbmVkIF9XSU4zMgotI2RlZmluZSBHVEVTVF9PU19XSU5ET1dTIDEK
LSNpZmRlZiBfV0lOMzJfV0NFCi0jZGVmaW5lIEdURVNUX09TX1dJTkRPV1NfTU9CSUxFIDEKLSNl
bGlmIGRlZmluZWQoV0lOQVBJX0ZBTUlMWSkKLSNpbmNsdWRlIDx3aW5hcGlmYW1pbHkuaD4KLSNp
ZiBXSU5BUElfRkFNSUxZX1BBUlRJVElPTihXSU5BUElfUEFSVElUSU9OX0RFU0tUT1ApCi0jZGVm
aW5lIEdURVNUX09TX1dJTkRPV1NfREVTS1RPUCAxCi0jZWxpZiBXSU5BUElfRkFNSUxZX1BBUlRJ
VElPTihXSU5BUElfUEFSVElUSU9OX1BIT05FX0FQUCkKLSNkZWZpbmUgR1RFU1RfT1NfV0lORE9X
U19QSE9ORSAxCi0jZWxpZiBXSU5BUElfRkFNSUxZX1BBUlRJVElPTihXSU5BUElfUEFSVElUSU9O
X0FQUCkKLSNkZWZpbmUgR1RFU1RfT1NfV0lORE9XU19SVCAxCi0jZWxpZiBXSU5BUElfRkFNSUxZ
X1BBUlRJVElPTihXSU5BUElfUEFSVElUSU9OX1RWX1RJVExFKQotI2RlZmluZSBHVEVTVF9PU19X
SU5ET1dTX1BIT05FIDEKLSNkZWZpbmUgR1RFU1RfT1NfV0lORE9XU19UVl9USVRMRSAxCi0jZWxz
ZQotLy8gV0lOQVBJX0ZBTUlMWSBkZWZpbmVkIGJ1dCBubyBrbm93biBwYXJ0aXRpb24gbWF0Y2hl
ZC4KLS8vIERlZmF1bHQgdG8gZGVza3RvcC4KLSNkZWZpbmUgR1RFU1RfT1NfV0lORE9XU19ERVNL
VE9QIDEKLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgR1RFU1RfT1NfV0lORE9XU19ERVNLVE9QIDEK
LSNlbmRpZiAgLy8gX1dJTjMyX1dDRQorIyBkZWZpbmUgR1RFU1RfT1NfV0lORE9XUyAxCisjIGlm
ZGVmIF9XSU4zMl9XQ0UKKyMgIGRlZmluZSBHVEVTVF9PU19XSU5ET1dTX01PQklMRSAxCisjIGVs
aWYgZGVmaW5lZChXSU5BUElfRkFNSUxZKQorIyAgaW5jbHVkZSA8d2luYXBpZmFtaWx5Lmg+Cisj
ICBpZiBXSU5BUElfRkFNSUxZX1BBUlRJVElPTihXSU5BUElfUEFSVElUSU9OX0RFU0tUT1ApCisj
ICAgZGVmaW5lIEdURVNUX09TX1dJTkRPV1NfREVTS1RPUCAxCisjICBlbGlmIFdJTkFQSV9GQU1J
TFlfUEFSVElUSU9OKFdJTkFQSV9QQVJUSVRJT05fUEhPTkVfQVBQKQorIyAgIGRlZmluZSBHVEVT
VF9PU19XSU5ET1dTX1BIT05FIDEKKyMgIGVsaWYgV0lOQVBJX0ZBTUlMWV9QQVJUSVRJT04oV0lO
QVBJX1BBUlRJVElPTl9BUFApCisjICAgZGVmaW5lIEdURVNUX09TX1dJTkRPV1NfUlQgMQorIyAg
ZWxpZiBXSU5BUElfRkFNSUxZX1BBUlRJVElPTihXSU5BUElfUEFSVElUSU9OX1RWX1RJVExFKQor
IyAgIGRlZmluZSBHVEVTVF9PU19XSU5ET1dTX1BIT05FIDEKKyMgICBkZWZpbmUgR1RFU1RfT1Nf
V0lORE9XU19UVl9USVRMRSAxCisjICBlbHNlCisgICAgLy8gV0lOQVBJX0ZBTUlMWSBkZWZpbmVk
IGJ1dCBubyBrbm93biBwYXJ0aXRpb24gbWF0Y2hlZC4KKyAgICAvLyBEZWZhdWx0IHRvIGRlc2t0
b3AuCisjICAgZGVmaW5lIEdURVNUX09TX1dJTkRPV1NfREVTS1RPUCAxCisjICBlbmRpZgorIyBl
bHNlCisjICBkZWZpbmUgR1RFU1RfT1NfV0lORE9XU19ERVNLVE9QIDEKKyMgZW5kaWYgIC8vIF9X
SU4zMl9XQ0UKICNlbGlmIGRlZmluZWQgX19PUzJfXwotI2RlZmluZSBHVEVTVF9PU19PUzIgMQor
IyBkZWZpbmUgR1RFU1RfT1NfT1MyIDEKICNlbGlmIGRlZmluZWQgX19BUFBMRV9fCi0jZGVmaW5l
IEdURVNUX09TX01BQyAxCi0jaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci0jaWYgVEFS
R0VUX09TX0lQSE9ORQotI2RlZmluZSBHVEVTVF9PU19JT1MgMQotI2VuZGlmCisjIGRlZmluZSBH
VEVTVF9PU19NQUMgMQorIyBpZiBUQVJHRVRfT1NfSVBIT05FCisjICBkZWZpbmUgR1RFU1RfT1Nf
SU9TIDEKKyMgZW5kaWYKICNlbGlmIGRlZmluZWQgX19EcmFnb25GbHlfXwotI2RlZmluZSBHVEVT
VF9PU19EUkFHT05GTFkgMQorIyBkZWZpbmUgR1RFU1RfT1NfRFJBR09ORkxZIDEKICNlbGlmIGRl
ZmluZWQgX19GcmVlQlNEX18KLSNkZWZpbmUgR1RFU1RfT1NfRlJFRUJTRCAxCisjIGRlZmluZSBH
VEVTVF9PU19GUkVFQlNEIDEKICNlbGlmIGRlZmluZWQgX19GdWNoc2lhX18KLSNkZWZpbmUgR1RF
U1RfT1NfRlVDSFNJQSAxCi0jZWxpZiBkZWZpbmVkKF9fR05VX18pCi0jZGVmaW5lIEdURVNUX09T
X0dOVV9IVVJEIDEKKyMgZGVmaW5lIEdURVNUX09TX0ZVQ0hTSUEgMQogI2VsaWYgZGVmaW5lZChf
X0dMSUJDX18pICYmIGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQotI2RlZmluZSBHVEVTVF9P
U19HTlVfS0ZSRUVCU0QgMQorIyBkZWZpbmUgR1RFU1RfT1NfR05VX0tGUkVFQlNEIDEKICNlbGlm
IGRlZmluZWQgX19saW51eF9fCi0jZGVmaW5lIEdURVNUX09TX0xJTlVYIDEKLSNpZiBkZWZpbmVk
IF9fQU5EUk9JRF9fCi0jZGVmaW5lIEdURVNUX09TX0xJTlVYX0FORFJPSUQgMQotI2VuZGlmCisj
IGRlZmluZSBHVEVTVF9PU19MSU5VWCAxCisjIGlmIGRlZmluZWQgX19BTkRST0lEX18KKyMgIGRl
ZmluZSBHVEVTVF9PU19MSU5VWF9BTkRST0lEIDEKKyMgZW5kaWYKICNlbGlmIGRlZmluZWQgX19N
VlNfXwotI2RlZmluZSBHVEVTVF9PU19aT1MgMQorIyBkZWZpbmUgR1RFU1RfT1NfWk9TIDEKICNl
bGlmIGRlZmluZWQoX19zdW4pICYmIGRlZmluZWQoX19TVlI0KQotI2RlZmluZSBHVEVTVF9PU19T
T0xBUklTIDEKKyMgZGVmaW5lIEdURVNUX09TX1NPTEFSSVMgMQogI2VsaWYgZGVmaW5lZChfQUlY
KQotI2RlZmluZSBHVEVTVF9PU19BSVggMQorIyBkZWZpbmUgR1RFU1RfT1NfQUlYIDEKICNlbGlm
IGRlZmluZWQoX19ocHV4KQotI2RlZmluZSBHVEVTVF9PU19IUFVYIDEKKyMgZGVmaW5lIEdURVNU
X09TX0hQVVggMQogI2VsaWYgZGVmaW5lZCBfX25hdGl2ZV9jbGllbnRfXwotI2RlZmluZSBHVEVT
VF9PU19OQUNMIDEKKyMgZGVmaW5lIEdURVNUX09TX05BQ0wgMQogI2VsaWYgZGVmaW5lZCBfX05l
dEJTRF9fCi0jZGVmaW5lIEdURVNUX09TX05FVEJTRCAxCisjIGRlZmluZSBHVEVTVF9PU19ORVRC
U0QgMQogI2VsaWYgZGVmaW5lZCBfX09wZW5CU0RfXwotI2RlZmluZSBHVEVTVF9PU19PUEVOQlNE
IDEKKyMgZGVmaW5lIEdURVNUX09TX09QRU5CU0QgMQogI2VsaWYgZGVmaW5lZCBfX1FOWF9fCi0j
ZGVmaW5lIEdURVNUX09TX1FOWCAxCisjIGRlZmluZSBHVEVTVF9PU19RTlggMQogI2VsaWYgZGVm
aW5lZChfX0hBSUtVX18pCiAjZGVmaW5lIEdURVNUX09TX0hBSUtVIDEKICNlbGlmIGRlZmluZWQg
RVNQODI2NgogI2RlZmluZSBHVEVTVF9PU19FU1A4MjY2IDEKICNlbGlmIGRlZmluZWQgRVNQMzIK
ICNkZWZpbmUgR1RFU1RfT1NfRVNQMzIgMQotI2VsaWYgZGVmaW5lZChfX1hURU5TQV9fKQotI2Rl
ZmluZSBHVEVTVF9PU19YVEVOU0EgMQogI2VuZGlmICAvLyBfX0NZR1dJTl9fCiAKLSNlbmRpZiAg
Ly8gR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1BPUlRfQVJDSF9IXwor
I2VuZGlmICAvLyBHVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1BPUlRfQVJDSF9I
XwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNs
dWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0LXBvcnQuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkv
Z29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9ndGVzdC1wb3J0LmgKaW5kZXgg
MDAwM2QyNzY1ODlkLi42MGZmNDcxNjRmMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRf
cGFydHkvZ29vZ2xldGVzdC9zcmMvaW5jbHVkZS9ndGVzdC9pbnRlcm5hbC9ndGVzdC1wb3J0LmgK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0
L2ludGVybmFsL2d0ZXN0LXBvcnQuaApAQCAtMjYsNyArMjYsNyBAQAogLy8gVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAog
Ly8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCiAvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCisvLwogLy8gTG93LWxldmVsIHR5cGVz
IGFuZCB1dGlsaXRpZXMgZm9yIHBvcnRpbmcgR29vZ2xlIFRlc3QgdG8gdmFyaW91cwogLy8gcGxh
dGZvcm1zLiAgQWxsIG1hY3JvcyBlbmRpbmcgd2l0aCBfIGFuZCBzeW1ib2xzIGRlZmluZWQgaW4g
YW4KIC8vIGludGVybmFsIG5hbWVzcGFjZSBhcmUgc3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBu
b3RpY2UuICBDb2RlCkBAIC0zOCwxMiArMzgsMTAgQEAKIC8vIGZpbGVzIGFyZSBleHBlY3RlZCB0
byAjaW5jbHVkZSB0aGlzLiAgVGhlcmVmb3JlLCBpdCBjYW5ub3QgI2luY2x1ZGUKIC8vIGFueSBv
dGhlciBHb29nbGUgVGVzdCBoZWFkZXIuCiAKLS8vIElXWVUgcHJhZ21hOiBwcml2YXRlLCBpbmNs
dWRlICJndGVzdC9ndGVzdC5oIgotLy8gSVdZVSBwcmFnbWE6IGZyaWVuZCBndGVzdC8uKgotLy8g
SVdZVSBwcmFnbWE6IGZyaWVuZCBnbW9jay8uKgorLy8gR09PR0xFVEVTVF9DTTAwMDEgRE8gTk9U
IERFTEVURQogCi0jaWZuZGVmIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVT
VF9QT1JUX0hfCi0jZGVmaW5lIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVT
VF9QT1JUX0hfCisjaWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfUE9S
VF9IXworI2RlZmluZSBHVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1BPUlRfSF8K
IAogLy8gRW52aXJvbm1lbnQtZGVzY3JpYmluZyBtYWNyb3MKIC8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCkBAIC0xMTgsNyArMTE2LDYgQEAKIC8vICAgR1RFU1RfT1NfRFJBR09ORkxZ
IC0gRHJhZ29uRmx5QlNECiAvLyAgIEdURVNUX09TX0ZSRUVCU0QgIC0gRnJlZUJTRAogLy8gICBH
VEVTVF9PU19GVUNIU0lBICAtIEZ1Y2hzaWEKLS8vICAgR1RFU1RfT1NfR05VX0hVUkQgLSBHTlUv
SHVyZAogLy8gICBHVEVTVF9PU19HTlVfS0ZSRUVCU0QgLSBHTlUva0ZyZWVCU0QKIC8vICAgR1RF
U1RfT1NfSEFJS1UgICAgLSBIYWlrdQogLy8gICBHVEVTVF9PU19IUFVYICAgICAtIEhQLVVYCkBA
IC0xNzAsNyArMTY3LDcgQEAKIC8vICAgR1RFU1RfSEFTX1RZUEVEX1RFU1QgICAtIHR5cGVkIHRl
c3RzCiAvLyAgIEdURVNUX0hBU19UWVBFRF9URVNUX1AgLSB0eXBlLXBhcmFtZXRlcml6ZWQgdGVz
dHMKIC8vICAgR1RFU1RfSVNfVEhSRUFEU0FGRSAgICAtIEdvb2dsZSBUZXN0IGlzIHRocmVhZC1z
YWZlLgotLy8gICBHVEVTVF9VU0VTX1JFMiAgICAgICAgIC0gdGhlIFJFMiByZWd1bGFyIGV4cHJl
c3Npb24gbGlicmFyeSBpcyB1c2VkCisvLyAgIEdPT0dMRVRFU1RfQ00wMDA3IERPIE5PVCBERUxF
VEUKIC8vICAgR1RFU1RfVVNFU19QT1NJWF9SRSAgICAtIGVuaGFuY2VkIFBPU0lYIHJlZ2V4IGlz
IHVzZWQuIERvIG5vdCBjb25mdXNlIHdpdGgKIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdURVNUX0hBU19QT1NJWF9SRSAoc2VlIGFib3ZlKSB3aGljaCB1c2VycyBjYW4KIC8vICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSB0aGVtc2VsdmVzLgpAQCAtMTkzLDM2ICsxOTAs
MjkgQEAKIC8vICAgR1RFU1RfQU1CSUdVT1VTX0VMU0VfQkxPQ0tFUl8gLSBmb3IgZGlzYWJsaW5n
IGEgZ2NjIHdhcm5pbmcuCiAvLyAgIEdURVNUX0FUVFJJQlVURV9VTlVTRURfICAtIGRlY2xhcmVz
IHRoYXQgYSBjbGFzcycgaW5zdGFuY2VzIG9yIGEKIC8vICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyaWFibGUgZG9uJ3QgaGF2ZSB0byBiZSB1c2VkLgorLy8gICBHVEVTVF9ESVNBTExP
V19BU1NJR05fICAgLSBkaXNhYmxlcyBjb3B5IG9wZXJhdG9yPS4KKy8vICAgR1RFU1RfRElTQUxM
T1dfQ09QWV9BTkRfQVNTSUdOXyAtIGRpc2FibGVzIGNvcHkgY3RvciBhbmQgb3BlcmF0b3I9Lgor
Ly8gICBHVEVTVF9ESVNBTExPV19NT1ZFX0FTU0lHTl8gICAtIGRpc2FibGVzIG1vdmUgb3BlcmF0
b3I9LgorLy8gICBHVEVTVF9ESVNBTExPV19NT1ZFX0FORF9BU1NJR05fIC0gZGlzYWJsZXMgbW92
ZSBjdG9yIGFuZCBvcGVyYXRvcj0uCiAvLyAgIEdURVNUX01VU1RfVVNFX1JFU1VMVF8gICAtIGRl
Y2xhcmVzIHRoYXQgYSBmdW5jdGlvbidzIHJlc3VsdCBtdXN0IGJlIHVzZWQuCiAvLyAgIEdURVNU
X0lOVEVOVElPTkFMX0NPTlNUX0NPTkRfUFVTSF8gLSBzdGFydCBjb2RlIHNlY3Rpb24gd2hlcmUg
TVNWQyBDNDEyNyBpcwogLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3VwcHJlc3NlZCAoY29uc3RhbnQgY29uZGl0aW9uYWwpLgogLy8gICBHVEVTVF9JTlRFTlRJT05B
TF9DT05TVF9DT05EX1BPUF8gIC0gZmluaXNoIGNvZGUgc2VjdGlvbiB3aGVyZSBNU1ZDIEM0MTI3
CiAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBzdXBwcmVzc2Vk
LgotLy8gICBHVEVTVF9JTlRFUk5BTF9IQVNfQU5ZIC0gZm9yIGVuYWJsaW5nIFVuaXZlcnNhbFBy
aW50ZXI8c3RkOjphbnk+IG9yCi0vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbml2ZXJz
YWxQcmludGVyPGFic2w6OmFueT4gc3BlY2lhbGl6YXRpb25zLgotLy8gICBHVEVTVF9JTlRFUk5B
TF9IQVNfT1BUSU9OQUwgLSBmb3IgZW5hYmxpbmcgVW5pdmVyc2FsUHJpbnRlcjxzdGQ6Om9wdGlv
bmFsPgotLy8gICBvcgotLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbml2ZXJz
YWxQcmludGVyPGFic2w6Om9wdGlvbmFsPgotLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzcGVjaWFsaXphdGlvbnMuCiAvLyAgIEdURVNUX0lOVEVSTkFMX0hBU19TVFJJTkdfVklF
VyAtIGZvciBlbmFibGluZyBNYXRjaGVyPHN0ZDo6c3RyaW5nX3ZpZXc+IG9yCiAvLyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGNoZXI8YWJzbDo6c3RyaW5nX3ZpZXc+CiAv
LyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpYWxpemF0aW9ucy4KLS8v
ICAgR1RFU1RfSU5URVJOQUxfSEFTX1ZBUklBTlQgLSBmb3IgZW5hYmxpbmcgVW5pdmVyc2FsUHJp
bnRlcjxzdGQ6OnZhcmlhbnQ+IG9yCi0vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VW5pdmVyc2FsUHJpbnRlcjxhYnNsOjp2YXJpYW50PgotLy8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNwZWNpYWxpemF0aW9ucy4KIC8vCiAvLyBTeW5jaHJvbml6YXRpb246CiAvLyAg
IE11dGV4LCBNdXRleExvY2ssIFRocmVhZExvY2FsLCBHZXRUaHJlYWRDb3VudCgpCiAvLyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzLgogLy8K
IC8vIFJlZ3VsYXIgZXhwcmVzc2lvbnM6Ci0vLyAgIFJFICAgICAgICAgICAgIC0gYSBzaW1wbGUg
cmVndWxhciBleHByZXNzaW9uIGNsYXNzIHVzaW5nCi0vLyAgICAgICAgICAgICAgICAgICAgIDEp
IHRoZSBSRTIgc3ludGF4IG9uIGFsbCBwbGF0Zm9ybXMgd2hlbiBidWlsdCB3aXRoIFJFMgotLy8g
ICAgICAgICAgICAgICAgICAgICAgICBhbmQgQWJzZWlsIGFzIGRlcGVuZGVuY2llcwotLy8gICAg
ICAgICAgICAgICAgICAgICAyKSB0aGUgUE9TSVggRXh0ZW5kZWQgUmVndWxhciBFeHByZXNzaW9u
IHN5bnRheCBvbgotLy8gICAgICAgICAgICAgICAgICAgICAgICBVTklYLWxpa2UgcGxhdGZvcm1z
LAotLy8gICAgICAgICAgICAgICAgICAgICAzKSBBIHJlZHVjZWQgcmVndWxhciBleGNlcHRpb24g
c3ludGF4IG9uIG90aGVyIHBsYXRmb3JtcywKLS8vICAgICAgICAgICAgICAgICAgICAgICAgaW5j
bHVkaW5nIFdpbmRvd3MuCisvLyAgIFJFICAgICAgICAgICAgIC0gYSBzaW1wbGUgcmVndWxhciBl
eHByZXNzaW9uIGNsYXNzIHVzaW5nIHRoZSBQT1NJWAorLy8gICAgICAgICAgICAgICAgICAgIEV4
dGVuZGVkIFJlZ3VsYXIgRXhwcmVzc2lvbiBzeW50YXggb24gVU5JWC1saWtlIHBsYXRmb3Jtcwor
Ly8gICAgICAgICAgICAgICAgICAgIEdPT0dMRVRFU1RfQ00wMDA4IERPIE5PVCBERUxFVEUKKy8v
ICAgICAgICAgICAgICAgICAgICBvciBhIHJlZHVjZWQgcmVndWxhciBleGNlcHRpb24gc3ludGF4
IG9uIG90aGVyCisvLyAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm1zLCBpbmNsdWRpbmcgV2lu
ZG93cy4KIC8vIExvZ2dpbmc6CiAvLyAgIEdURVNUX0xPR18oKSAgIC0gbG9ncyBtZXNzYWdlcyBh
dCB0aGUgc3BlY2lmaWVkIHNldmVyaXR5IGxldmVsLgogLy8gICBMb2dUb1N0ZGVycigpICAtIGRp
cmVjdHMgYWxsIGxvZyBtZXNzYWdlcyB0byBzdGRlcnIuCkBAIC0yNDIsNiArMjMyLDggQEAKIC8v
ICAgQmlnZ2VzdEludCAgICAgLSB0aGUgYmlnZ2VzdCBzaWduZWQgaW50ZWdlciB0eXBlLgogLy8K
IC8vIENvbW1hbmQtbGluZSB1dGlsaXRpZXM6CisvLyAgIEdURVNUX0RFQ0xBUkVfKigpICAtIGRl
Y2xhcmVzIGEgZmxhZy4KKy8vICAgR1RFU1RfREVGSU5FXyooKSAgIC0gZGVmaW5lcyBhIGZsYWcu
CiAvLyAgIEdldEluamVjdGFibGVBcmd2cygpIC0gcmV0dXJucyB0aGUgY29tbWFuZCBsaW5lIGFz
IGEgdmVjdG9yIG9mIHN0cmluZ3MuCiAvLwogLy8gRW52aXJvbm1lbnQgdmFyaWFibGUgdXRpbGl0
aWVzOgpAQCAtMjYwLDU3ICsyNTIsNDcgQEAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUg
PHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgotCi0jaW5jbHVkZSA8Y2Vycm5vPgotLy8g
I2luY2x1ZGUgPGNvbmRpdGlvbl92YXJpYWJsZT4gIC8vIEd1YXJkZWQgYnkgR1RFU1RfSVNfVEhS
RUFEU0FGRSBiZWxvdwogI2luY2x1ZGUgPGNzdGRpbnQ+Ci0jaW5jbHVkZSA8aW9zdHJlYW0+CiAj
aW5jbHVkZSA8bGltaXRzPgotI2luY2x1ZGUgPGxvY2FsZT4KLSNpbmNsdWRlIDxtZW1vcnk+Ci0j
aW5jbHVkZSA8c3RyaW5nPgotLy8gI2luY2x1ZGUgPG11dGV4PiAgLy8gR3VhcmRlZCBieSBHVEVT
VF9JU19USFJFQURTQUZFIGJlbG93Ci0jaW5jbHVkZSA8dHVwbGU+CiAjaW5jbHVkZSA8dHlwZV90
cmFpdHM+Ci0jaW5jbHVkZSA8dmVjdG9yPgogCiAjaWZuZGVmIF9XSU4zMl9XQ0UKLSNpbmNsdWRl
IDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIyBpbmNsdWRlIDxzeXMvdHlw
ZXMuaD4KKyMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNlbmRpZiAgLy8gIV9XSU4zMl9XQ0UKIAog
I2lmIGRlZmluZWQgX19BUFBMRV9fCi0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+Ci0j
aW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CisjIGluY2x1ZGUgPEF2YWlsYWJpbGl0eU1h
Y3Jvcy5oPgorIyBpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMuaD4KICNlbmRpZgogCisjaW5j
bHVkZSA8aW9zdHJlYW0+ICAvLyBOT0xJTlQKKyNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8
c3RyaW5nPiAgLy8gTk9MSU5UCisjaW5jbHVkZSA8dHVwbGU+CisjaW5jbHVkZSA8dmVjdG9yPiAg
Ly8gTk9MSU5UCisKICNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9jdXN0b20vZ3Rlc3QtcG9ydC5o
IgogI2luY2x1ZGUgImd0ZXN0L2ludGVybmFsL2d0ZXN0LXBvcnQtYXJjaC5oIgogCi0jaWYgR1RF
U1RfSEFTX0FCU0wKLSNpbmNsdWRlICJhYnNsL2ZsYWdzL2RlY2xhcmUuaCIKLSNpbmNsdWRlICJh
YnNsL2ZsYWdzL2ZsYWcuaCIKLSNpbmNsdWRlICJhYnNsL2ZsYWdzL3JlZmxlY3Rpb24uaCIKLSNl
bmRpZgotCiAjaWYgIWRlZmluZWQoR1RFU1RfREVWX0VNQUlMXykKLSNkZWZpbmUgR1RFU1RfREVW
X0VNQUlMXyAiZ29vZ2xldGVzdGZyYW1ld29ya0BAZ29vZ2xlZ3JvdXBzLmNvbSIKLSNkZWZpbmUg
R1RFU1RfRkxBR19QUkVGSVhfICJndGVzdF8iCi0jZGVmaW5lIEdURVNUX0ZMQUdfUFJFRklYX0RB
U0hfICJndGVzdC0iCi0jZGVmaW5lIEdURVNUX0ZMQUdfUFJFRklYX1VQUEVSXyAiR1RFU1RfIgot
I2RlZmluZSBHVEVTVF9OQU1FXyAiR29vZ2xlIFRlc3QiCi0jZGVmaW5lIEdURVNUX1BST0pFQ1Rf
VVJMXyAiaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9nb29nbGV0ZXN0LyIKKyMgZGVmaW5lIEdU
RVNUX0RFVl9FTUFJTF8gImdvb2dsZXRlc3RmcmFtZXdvcmtAQGdvb2dsZWdyb3Vwcy5jb20iCisj
IGRlZmluZSBHVEVTVF9GTEFHX1BSRUZJWF8gImd0ZXN0XyIKKyMgZGVmaW5lIEdURVNUX0ZMQUdf
UFJFRklYX0RBU0hfICJndGVzdC0iCisjIGRlZmluZSBHVEVTVF9GTEFHX1BSRUZJWF9VUFBFUl8g
IkdURVNUXyIKKyMgZGVmaW5lIEdURVNUX05BTUVfICJHb29nbGUgVGVzdCIKKyMgZGVmaW5lIEdU
RVNUX1BST0pFQ1RfVVJMXyAiaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9nb29nbGV0ZXN0LyIK
ICNlbmRpZiAgLy8gIWRlZmluZWQoR1RFU1RfREVWX0VNQUlMXykKIAogI2lmICFkZWZpbmVkKEdU
RVNUX0lOSVRfR09PR0xFX1RFU1RfTkFNRV8pCi0jZGVmaW5lIEdURVNUX0lOSVRfR09PR0xFX1RF
U1RfTkFNRV8gInRlc3Rpbmc6OkluaXRHb29nbGVUZXN0IgorIyBkZWZpbmUgR1RFU1RfSU5JVF9H
T09HTEVfVEVTVF9OQU1FXyAidGVzdGluZzo6SW5pdEdvb2dsZVRlc3QiCiAjZW5kaWYgIC8vICFk
ZWZpbmVkKEdURVNUX0lOSVRfR09PR0xFX1RFU1RfTkFNRV8pCiAKIC8vIERldGVybWluZXMgdGhl
IHZlcnNpb24gb2YgZ2NjIHRoYXQgaXMgdXNlZCB0byBjb21waWxlIHRoaXMuCiAjaWZkZWYgX19H
TlVDX18KIC8vIDQwMzAyIG1lYW5zIHZlcnNpb24gNC4zLjIuCi0jZGVmaW5lIEdURVNUX0dDQ19W
RVJfIFwKLSAgKF9fR05VQ19fICogMTAwMDAgKyBfX0dOVUNfTUlOT1JfXyAqIDEwMCArIF9fR05V
Q19QQVRDSExFVkVMX18pCisjIGRlZmluZSBHVEVTVF9HQ0NfVkVSXyBcCisgICAgKF9fR05VQ19f
KjEwMDAwICsgX19HTlVDX01JTk9SX18qMTAwICsgX19HTlVDX1BBVENITEVWRUxfXykKICNlbmRp
ZiAgLy8gX19HTlVDX18KIAogLy8gTWFjcm9zIGZvciBkaXNhYmxpbmcgTWljcm9zb2Z0IFZpc3Vh
bCBDKysgd2FybmluZ3MuCkBAIC0zMTksMzcgKzMwMSw0MSBAQAogLy8gICAvKiBjb2RlIHRoYXQg
dHJpZ2dlcnMgd2FybmluZ3MgQzQ4MDAgYW5kIEM0Mzg1ICovCiAvLyAgIEdURVNUX0RJU0FCTEVf
TVNDX1dBUk5JTkdTX1BPUF8oKQogI2lmIGRlZmluZWQoX01TQ19WRVIpCi0jZGVmaW5lIEdURVNU
X0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BVU0hfKHdhcm5pbmdzKSBcCi0gIF9fcHJhZ21hKHdhcm5p
bmcocHVzaCkpIF9fcHJhZ21hKHdhcm5pbmcoZGlzYWJsZSA6IHdhcm5pbmdzKSkKLSNkZWZpbmUg
R1RFU1RfRElTQUJMRV9NU0NfV0FSTklOR1NfUE9QXygpIF9fcHJhZ21hKHdhcm5pbmcocG9wKSkK
KyMgZGVmaW5lIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BVU0hfKHdhcm5pbmdzKSBcCisg
ICAgX19wcmFnbWEod2FybmluZyhwdXNoKSkgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
X19wcmFnbWEod2FybmluZyhkaXNhYmxlOiB3YXJuaW5ncykpCisjIGRlZmluZSBHVEVTVF9ESVNB
QkxFX01TQ19XQVJOSU5HU19QT1BfKCkgICAgICAgICAgXAorICAgIF9fcHJhZ21hKHdhcm5pbmco
cG9wKSkKICNlbHNlCiAvLyBOb3QgYWxsIGNvbXBpbGVycyBhcmUgTVNWQwotI2RlZmluZSBHVEVT
VF9ESVNBQkxFX01TQ19XQVJOSU5HU19QVVNIXyh3YXJuaW5ncykKLSNkZWZpbmUgR1RFU1RfRElT
QUJMRV9NU0NfV0FSTklOR1NfUE9QXygpCisjIGRlZmluZSBHVEVTVF9ESVNBQkxFX01TQ19XQVJO
SU5HU19QVVNIXyh3YXJuaW5ncykKKyMgZGVmaW5lIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdT
X1BPUF8oKQogI2VuZGlmCiAKIC8vIENsYW5nIG9uIFdpbmRvd3MgZG9lcyBub3QgdW5kZXJzdGFu
ZCBNU1ZDJ3MgcHJhZ21hIHdhcm5pbmcuCiAvLyBXZSBuZWVkIGNsYW5nLXNwZWNpZmljIHdheSB0
byBkaXNhYmxlIGZ1bmN0aW9uIGRlcHJlY2F0aW9uIHdhcm5pbmcuCiAjaWZkZWYgX19jbGFuZ19f
Ci0jZGVmaW5lIEdURVNUX0RJU0FCTEVfTVNDX0RFUFJFQ0FURURfUFVTSF8oKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBfUHJhZ21hKCJjbGFu
ZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXCIiKSBcCi0g
ICAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdkZXByZWNhdGVk
LWltcGxlbWVudGF0aW9uc1wiIikKLSNkZWZpbmUgR1RFU1RfRElTQUJMRV9NU0NfREVQUkVDQVRF
RF9QT1BfKCkgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQorIyBkZWZpbmUgR1RFU1Rf
RElTQUJMRV9NU0NfREVQUkVDQVRFRF9QVVNIXygpICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwi
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc1wiIikgXAorICAgIF9QcmFnbWEoImNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCBcIi1XZGVwcmVjYXRlZC1pbXBsZW1lbnRhdGlvbnNcIiIpCisjZGVmaW5l
IEdURVNUX0RJU0FCTEVfTVNDX0RFUFJFQ0FURURfUE9QXygpIFwKKyAgICBfUHJhZ21hKCJjbGFu
ZyBkaWFnbm9zdGljIHBvcCIpCiAjZWxzZQotI2RlZmluZSBHVEVTVF9ESVNBQkxFX01TQ19ERVBS
RUNBVEVEX1BVU0hfKCkgXAotICBHVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19QVVNIXyg0OTk2
KQotI2RlZmluZSBHVEVTVF9ESVNBQkxFX01TQ19ERVBSRUNBVEVEX1BPUF8oKSBHVEVTVF9ESVNB
QkxFX01TQ19XQVJOSU5HU19QT1BfKCkKKyMgZGVmaW5lIEdURVNUX0RJU0FCTEVfTVNDX0RFUFJF
Q0FURURfUFVTSF8oKSBcCisgICAgR1RFU1RfRElTQUJMRV9NU0NfV0FSTklOR1NfUFVTSF8oNDk5
NikKKyMgZGVmaW5lIEdURVNUX0RJU0FCTEVfTVNDX0RFUFJFQ0FURURfUE9QXygpIFwKKyAgICBH
VEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19QT1BfKCkKICNlbmRpZgogCiAvLyBCcmluZ3MgaW4g
ZGVmaW5pdGlvbnMgZm9yIGZ1bmN0aW9ucyB1c2VkIGluIHRoZSB0ZXN0aW5nOjppbnRlcm5hbDo6
cG9zaXgKIC8vIG5hbWVzcGFjZSAocmVhZCwgd3JpdGUsIGNsb3NlLCBjaGRpciwgaXNhdHR5LCBz
dGF0KS4gV2UgZG8gbm90IGN1cnJlbnRseQogLy8gdXNlIHRoZW0gb24gV2luZG93cyBNb2JpbGUu
CiAjaWYgR1RFU1RfT1NfV0lORE9XUwotI2lmICFHVEVTVF9PU19XSU5ET1dTX01PQklMRQotI2lu
Y2x1ZGUgPGRpcmVjdC5oPgotI2luY2x1ZGUgPGlvLmg+Ci0jZW5kaWYKKyMgaWYgIUdURVNUX09T
X1dJTkRPV1NfTU9CSUxFCisjICBpbmNsdWRlIDxkaXJlY3QuaD4KKyMgIGluY2x1ZGUgPGlvLmg+
CisjIGVuZGlmCiAvLyBJbiBvcmRlciB0byBhdm9pZCBoYXZpbmcgdG8gaW5jbHVkZSA8d2luZG93
cy5oPiwgdXNlIGZvcndhcmQgZGVjbGFyYXRpb24KICNpZiBHVEVTVF9PU19XSU5ET1dTX01JTkdX
ICYmICFkZWZpbmVkKF9fTUlOR1c2NF9WRVJTSU9OX01BSk9SKQogLy8gTWluR1cgZGVmaW5lZCBf
Q1JJVElDQUxfU0VDVElPTiBhbmQgX1JUTF9DUklUSUNBTF9TRUNUSU9OIGFzIHR3bwpAQCAtMzYx
LDYzICszNDcsNzIgQEAgdHlwZWRlZiBzdHJ1Y3QgX0NSSVRJQ0FMX1NFQ1RJT04gR1RFU1RfQ1JJ
VElDQUxfU0VDVElPTjsKIC8vIFdpbmRvd3NUeXBlc1Rlc3QuQ1JJVElDQUxfU0VDVElPTklzX1JU
TF9DUklUSUNBTF9TRUNUSU9OLgogdHlwZWRlZiBzdHJ1Y3QgX1JUTF9DUklUSUNBTF9TRUNUSU9O
IEdURVNUX0NSSVRJQ0FMX1NFQ1RJT047CiAjZW5kaWYKLSNlbGlmIEdURVNUX09TX1hURU5TQQot
I2luY2x1ZGUgPHVuaXN0ZC5oPgotLy8gWHRlbnNhIHRvb2xjaGFpbnMgZGVmaW5lIHN0cmNhc2Vj
bXAgaW4gdGhlIHN0cmluZy5oIGhlYWRlciBpbnN0ZWFkIG9mCi0vLyBzdHJpbmdzLmguIHN0cmlu
Zy5oIGlzIGFscmVhZHkgaW5jbHVkZWQuCiAjZWxzZQogLy8gVGhpcyBhc3N1bWVzIHRoYXQgbm9u
LVdpbmRvd3MgT1NlcyBwcm92aWRlIHVuaXN0ZC5oLiBGb3IgT1NlcyB3aGVyZSB0aGlzCiAvLyBp
cyBub3QgdGhlIGNhc2UsIHdlIG5lZWQgdG8gaW5jbHVkZSBoZWFkZXJzIHRoYXQgcHJvdmlkZSB0
aGUgZnVuY3Rpb25zCiAvLyBtZW50aW9uZWQgYWJvdmUuCi0jaW5jbHVkZSA8c3RyaW5ncy5oPgot
I2luY2x1ZGUgPHVuaXN0ZC5oPgorIyBpbmNsdWRlIDx1bmlzdGQuaD4KKyMgaW5jbHVkZSA8c3Ry
aW5ncy5oPgogI2VuZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTCiAKICNpZiBHVEVTVF9PU19MSU5V
WF9BTkRST0lECiAvLyBVc2VkIHRvIGRlZmluZSBfX0FORFJPSURfQVBJX18gbWF0Y2hpbmcgdGhl
IHRhcmdldCBOREsgQVBJIGxldmVsLgotI2luY2x1ZGUgPGFuZHJvaWQvYXBpLWxldmVsLmg+ICAv
LyBOT0xJTlQKKyMgIGluY2x1ZGUgPGFuZHJvaWQvYXBpLWxldmVsLmg+ICAvLyBOT0xJTlQKICNl
bmRpZgogCiAvLyBEZWZpbmVzIHRoaXMgdG8gdHJ1ZSBpZiBhbmQgb25seSBpZiBHb29nbGUgVGVz
dCBjYW4gdXNlIFBPU0lYIHJlZ3VsYXIKIC8vIGV4cHJlc3Npb25zLgogI2lmbmRlZiBHVEVTVF9I
QVNfUE9TSVhfUkUKLSNpZiBHVEVTVF9PU19MSU5VWF9BTkRST0lECisjIGlmIEdURVNUX09TX0xJ
TlVYX0FORFJPSUQKIC8vIE9uIEFuZHJvaWQsIDxyZWdleC5oPiBpcyBvbmx5IGF2YWlsYWJsZSBz
dGFydGluZyB3aXRoIEdpbmdlcmJyZWFkLgotI2RlZmluZSBHVEVTVF9IQVNfUE9TSVhfUkUgKF9f
QU5EUk9JRF9BUElfXyA+PSA5KQotI2Vsc2UKLSNkZWZpbmUgR1RFU1RfSEFTX1BPU0lYX1JFICgh
R1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfWFRFTlNBKQotI2VuZGlmCisjICBkZWZpbmUg
R1RFU1RfSEFTX1BPU0lYX1JFIChfX0FORFJPSURfQVBJX18gPj0gOSkKKyMgZWxzZQorIyAgZGVm
aW5lIEdURVNUX0hBU19QT1NJWF9SRSAoIUdURVNUX09TX1dJTkRPV1MpCisjIGVuZGlmCiAjZW5k
aWYKIAotLy8gU2VsZWN0IHRoZSByZWd1bGFyIGV4cHJlc3Npb24gaW1wbGVtZW50YXRpb24uCi0j
aWYgR1RFU1RfSEFTX0FCU0wKLS8vIFdoZW4gdXNpbmcgQWJzZWlsLCBSRTIgaXMgcmVxdWlyZWQu
Ci0jaW5jbHVkZSAiYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgiCi0jaW5jbHVkZSAicmUyL3Jl
Mi5oIgotI2RlZmluZSBHVEVTVF9VU0VTX1JFMiAxCisjaWYgR1RFU1RfVVNFU19QQ1JFCisvLyBU
aGUgYXBwcm9wcmlhdGUgaGVhZGVycyBoYXZlIGFscmVhZHkgYmVlbiBpbmNsdWRlZC4KKwogI2Vs
aWYgR1RFU1RfSEFTX1BPU0lYX1JFCi0jaW5jbHVkZSA8cmVnZXguaD4gIC8vIE5PTElOVAotI2Rl
ZmluZSBHVEVTVF9VU0VTX1BPU0lYX1JFIDEKKworLy8gT24gc29tZSBwbGF0Zm9ybXMsIDxyZWdl
eC5oPiBuZWVkcyBzb21lb25lIHRvIGRlZmluZSBzaXplX3QsIGFuZAorLy8gd29uJ3QgY29tcGls
ZSBvdGhlcndpc2UuICBXZSBjYW4gI2luY2x1ZGUgaXQgaGVyZSBhcyB3ZSBhbHJlYWR5CisvLyBp
bmNsdWRlZCA8c3RkbGliLmg+LCB3aGljaCBpcyBndWFyYW50ZWVkIHRvIGRlZmluZSBzaXplX3Qg
dGhyb3VnaAorLy8gPHN0ZGRlZi5oPi4KKyMgaW5jbHVkZSA8cmVnZXguaD4gIC8vIE5PTElOVAor
CisjIGRlZmluZSBHVEVTVF9VU0VTX1BPU0lYX1JFIDEKKworI2VsaWYgR1RFU1RfT1NfV0lORE9X
UworCisvLyA8cmVnZXguaD4gaXMgbm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzLiAgVXNlIG91ciBv
d24gc2ltcGxlIHJlZ2V4CisvLyBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFkLgorIyBkZWZpbmUgR1RF
U1RfVVNFU19TSU1QTEVfUkUgMQorCiAjZWxzZQotLy8gVXNlIG91ciBvd24gc2ltcGxlIHJlZ2V4
IGltcGxlbWVudGF0aW9uLgotI2RlZmluZSBHVEVTVF9VU0VTX1NJTVBMRV9SRSAxCi0jZW5kaWYK
KworLy8gPHJlZ2V4Lmg+IG1heSBub3QgYmUgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0uICBV
c2Ugb3VyIG93bgorLy8gc2ltcGxlIHJlZ2V4IGltcGxlbWVudGF0aW9uIGluc3RlYWQuCisjIGRl
ZmluZSBHVEVTVF9VU0VTX1NJTVBMRV9SRSAxCisKKyNlbmRpZiAgLy8gR1RFU1RfVVNFU19QQ1JF
CiAKICNpZm5kZWYgR1RFU1RfSEFTX0VYQ0VQVElPTlMKIC8vIFRoZSB1c2VyIGRpZG4ndCB0ZWxs
IHVzIHdoZXRoZXIgZXhjZXB0aW9ucyBhcmUgZW5hYmxlZCwgc28gd2UgbmVlZAogLy8gdG8gZmln
dXJlIGl0IG91dC4KLSNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBkZWZpbmVkKF9DUFBVTldJTkQp
CisjIGlmIGRlZmluZWQoX01TQ19WRVIpICYmIGRlZmluZWQoX0NQUFVOV0lORCkKIC8vIE1TVkMg
ZGVmaW5lcyBfQ1BQVU5XSU5EIHRvIDEgaWYgYW5kIG9ubHkgaWYgZXhjZXB0aW9ucyBhcmUgZW5h
YmxlZC4KLSNkZWZpbmUgR1RFU1RfSEFTX0VYQ0VQVElPTlMgMQotI2VsaWYgZGVmaW5lZChfX0JP
UkxBTkRDX18pCisjICBkZWZpbmUgR1RFU1RfSEFTX0VYQ0VQVElPTlMgMQorIyBlbGlmIGRlZmlu
ZWQoX19CT1JMQU5EQ19fKQogLy8gQysrQnVpbGRlcidzIGltcGxlbWVudGF0aW9uIG9mIHRoZSBT
VEwgdXNlcyB0aGUgX0hBU19FWENFUFRJT05TCiAvLyBtYWNybyB0byBlbmFibGUgZXhjZXB0aW9u
cywgc28gd2UnbGwgZG8gdGhlIHNhbWUuCiAvLyBBc3N1bWVzIHRoYXQgZXhjZXB0aW9ucyBhcmUg
ZW5hYmxlZCBieSBkZWZhdWx0LgotI2lmbmRlZiBfSEFTX0VYQ0VQVElPTlMKLSNkZWZpbmUgX0hB
U19FWENFUFRJT05TIDEKLSNlbmRpZiAgLy8gX0hBU19FWENFUFRJT05TCi0jZGVmaW5lIEdURVNU
X0hBU19FWENFUFRJT05TIF9IQVNfRVhDRVBUSU9OUwotI2VsaWYgZGVmaW5lZChfX2NsYW5nX18p
CisjICBpZm5kZWYgX0hBU19FWENFUFRJT05TCisjICAgZGVmaW5lIF9IQVNfRVhDRVBUSU9OUyAx
CisjICBlbmRpZiAgLy8gX0hBU19FWENFUFRJT05TCisjICBkZWZpbmUgR1RFU1RfSEFTX0VYQ0VQ
VElPTlMgX0hBU19FWENFUFRJT05TCisjIGVsaWYgZGVmaW5lZChfX2NsYW5nX18pCiAvLyBjbGFu
ZyBkZWZpbmVzIF9fRVhDRVBUSU9OUyBpZiBhbmQgb25seSBpZiBleGNlcHRpb25zIGFyZSBlbmFi
bGVkIGJlZm9yZSBjbGFuZwogLy8gMjIwNzE0LCBidXQgaWYgYW5kIG9ubHkgaWYgY2xlYW51cHMg
YXJlIGVuYWJsZWQgYWZ0ZXIgdGhhdC4gSW4gT2JqLUMrKyBmaWxlcywKIC8vIHRoZXJlIGNhbiBi
ZSBjbGVhbnVwcyBmb3IgT2JqQyBleGNlcHRpb25zIHdoaWNoIGFsc28gbmVlZCBjbGVhbnVwcywg
ZXZlbiBpZgpAQCAtNDI2LDI3ICs0MjEsMjcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1JUTF9DUklUSUNB
TF9TRUNUSU9OIEdURVNUX0NSSVRJQ0FMX1NFQ1RJT047CiAvLyBjbGVhbnVwcyBwcmlvciB0byB0
aGF0LiBUbyByZWxpYWJseSBjaGVjayBmb3IgQysrIGV4Y2VwdGlvbiBhdmFpbGFiaWxpdHkgd2l0
aAogLy8gY2xhbmcsIGNoZWNrIGZvcgogLy8gX19FWENFUFRJT05TICYmIF9faGFzX2ZlYXR1cmUo
Y3h4X2V4Y2VwdGlvbnMpLgotI2RlZmluZSBHVEVTVF9IQVNfRVhDRVBUSU9OUyAoX19FWENFUFRJ
T05TICYmIF9faGFzX2ZlYXR1cmUoY3h4X2V4Y2VwdGlvbnMpKQotI2VsaWYgZGVmaW5lZChfX0dO
VUNfXykgJiYgX19FWENFUFRJT05TCisjICBkZWZpbmUgR1RFU1RfSEFTX0VYQ0VQVElPTlMgKF9f
RVhDRVBUSU9OUyAmJiBfX2hhc19mZWF0dXJlKGN4eF9leGNlcHRpb25zKSkKKyMgZWxpZiBkZWZp
bmVkKF9fR05VQ19fKSAmJiBfX0VYQ0VQVElPTlMKIC8vIGdjYyBkZWZpbmVzIF9fRVhDRVBUSU9O
UyB0byAxIGlmIGFuZCBvbmx5IGlmIGV4Y2VwdGlvbnMgYXJlIGVuYWJsZWQuCi0jZGVmaW5lIEdU
RVNUX0hBU19FWENFUFRJT05TIDEKLSNlbGlmIGRlZmluZWQoX19TVU5QUk9fQ0MpCisjICBkZWZp
bmUgR1RFU1RfSEFTX0VYQ0VQVElPTlMgMQorIyBlbGlmIGRlZmluZWQoX19TVU5QUk9fQ0MpCiAv
LyBTdW4gUHJvIENDIHN1cHBvcnRzIGV4Y2VwdGlvbnMuICBIb3dldmVyLCB0aGVyZSBpcyBubyBj
b21waWxlLXRpbWUgd2F5IG9mCiAvLyBkZXRlY3Rpbmcgd2hldGhlciB0aGV5IGFyZSBlbmFibGVk
IG9yIG5vdC4gIFRoZXJlZm9yZSwgd2UgYXNzdW1lIHRoYXQKIC8vIHRoZXkgYXJlIGVuYWJsZWQg
dW5sZXNzIHRoZSB1c2VyIHRlbGxzIHVzIG90aGVyd2lzZS4KLSNkZWZpbmUgR1RFU1RfSEFTX0VY
Q0VQVElPTlMgMQotI2VsaWYgZGVmaW5lZChfX0lCTUNQUF9fKSAmJiBfX0VYQ0VQVElPTlMKKyMg
IGRlZmluZSBHVEVTVF9IQVNfRVhDRVBUSU9OUyAxCisjIGVsaWYgZGVmaW5lZChfX0lCTUNQUF9f
KSAmJiBfX0VYQ0VQVElPTlMKIC8vIHhsQyBkZWZpbmVzIF9fRVhDRVBUSU9OUyB0byAxIGlmIGFu
ZCBvbmx5IGlmIGV4Y2VwdGlvbnMgYXJlIGVuYWJsZWQuCi0jZGVmaW5lIEdURVNUX0hBU19FWENF
UFRJT05TIDEKLSNlbGlmIGRlZmluZWQoX19IUF9hQ0MpCisjICBkZWZpbmUgR1RFU1RfSEFTX0VY
Q0VQVElPTlMgMQorIyBlbGlmIGRlZmluZWQoX19IUF9hQ0MpCiAvLyBFeGNlcHRpb24gaGFuZGxp
bmcgaXMgaW4gZWZmZWN0IGJ5IGRlZmF1bHQgaW4gSFAgYUNDIGNvbXBpbGVyLiBJdCBoYXMgdG8K
IC8vIGJlIHR1cm5lZCBvZiBieSArbm9laCBjb21waWxlciBvcHRpb24gaWYgZGVzaXJlZC4KLSNk
ZWZpbmUgR1RFU1RfSEFTX0VYQ0VQVElPTlMgMQotI2Vsc2UKKyMgIGRlZmluZSBHVEVTVF9IQVNf
RVhDRVBUSU9OUyAxCisjIGVsc2UKIC8vIEZvciBvdGhlciBjb21waWxlcnMsIHdlIGFzc3VtZSBl
eGNlcHRpb25zIGFyZSBkaXNhYmxlZCB0byBiZQogLy8gY29uc2VydmF0aXZlLgotI2RlZmluZSBH
VEVTVF9IQVNfRVhDRVBUSU9OUyAwCi0jZW5kaWYgIC8vIGRlZmluZWQoX01TQ19WRVIpIHx8IGRl
ZmluZWQoX19CT1JMQU5EQ19fKQorIyAgZGVmaW5lIEdURVNUX0hBU19FWENFUFRJT05TIDAKKyMg
ZW5kaWYgIC8vIGRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKQogI2Vu
ZGlmICAvLyBHVEVTVF9IQVNfRVhDRVBUSU9OUwogCiAjaWZuZGVmIEdURVNUX0hBU19TVERfV1NU
UklORwpAQCAtNDU3LDcgKzQ1Miw3IEBAIHR5cGVkZWYgc3RydWN0IF9SVExfQ1JJVElDQUxfU0VD
VElPTiBHVEVTVF9DUklUSUNBTF9TRUNUSU9OOwogLy8gbm8gc3VwcG9ydCBmb3IgaXQgYXQgbGVh
c3QgYXMgcmVjZW50IGFzIEZyb3lvICgyLjIpLgogI2RlZmluZSBHVEVTVF9IQVNfU1REX1dTVFJJ
TkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgKCEoR1RFU1Rf
T1NfTElOVVhfQU5EUk9JRCB8fCBHVEVTVF9PU19DWUdXSU4gfHwgR1RFU1RfT1NfU09MQVJJUyB8
fCBcCi0gICAgIEdURVNUX09TX0hBSUtVIHx8IEdURVNUX09TX0VTUDMyIHx8IEdURVNUX09TX0VT
UDgyNjYgfHwgR1RFU1RfT1NfWFRFTlNBKSkKKyAgICAgR1RFU1RfT1NfSEFJS1UgfHwgR1RFU1Rf
T1NfRVNQMzIgfHwgR1RFU1RfT1NfRVNQODI2NikpCiAKICNlbmRpZiAgLy8gR1RFU1RfSEFTX1NU
RF9XU1RSSU5HCiAKQEAgLTQ2Niw2MiArNDYxLDYzIEBAIHR5cGVkZWYgc3RydWN0IF9SVExfQ1JJ
VElDQUxfU0VDVElPTiBHVEVTVF9DUklUSUNBTF9TRUNUSU9OOwogLy8gVGhlIHVzZXIgZGlkbid0
IHRlbGwgdXMgd2hldGhlciBSVFRJIGlzIGVuYWJsZWQsIHNvIHdlIG5lZWQgdG8KIC8vIGZpZ3Vy
ZSBpdCBvdXQuCiAKLSNpZmRlZiBfTVNDX1ZFUgorIyBpZmRlZiBfTVNDX1ZFUgogCiAjaWZkZWYg
X0NQUFJUVEkgIC8vIE1TVkMgZGVmaW5lcyB0aGlzIG1hY3JvIGlmIGFuZCBvbmx5IGlmIFJUVEkg
aXMgZW5hYmxlZC4KLSNkZWZpbmUgR1RFU1RfSEFTX1JUVEkgMQotI2Vsc2UKLSNkZWZpbmUgR1RF
U1RfSEFTX1JUVEkgMAotI2VuZGlmCisjICAgZGVmaW5lIEdURVNUX0hBU19SVFRJIDEKKyMgIGVs
c2UKKyMgICBkZWZpbmUgR1RFU1RfSEFTX1JUVEkgMAorIyAgZW5kaWYKIAogLy8gU3RhcnRpbmcg
d2l0aCB2ZXJzaW9uIDQuMy4yLCBnY2MgZGVmaW5lcyBfX0dYWF9SVFRJIGlmIGFuZCBvbmx5IGlm
IFJUVEkgaXMKIC8vIGVuYWJsZWQuCi0jZWxpZiBkZWZpbmVkKF9fR05VQ19fKQorIyBlbGlmIGRl
ZmluZWQoX19HTlVDX18pCiAKLSNpZmRlZiBfX0dYWF9SVFRJCisjICBpZmRlZiBfX0dYWF9SVFRJ
CiAvLyBXaGVuIGJ1aWxkaW5nIGFnYWluc3QgU1RMcG9ydCB3aXRoIHRoZSBBbmRyb2lkIE5ESyBh
bmQgd2l0aAogLy8gLWZydHRpIC1mbm8tZXhjZXB0aW9ucywgdGhlIGJ1aWxkIGZhaWxzIGF0IGxp
bmsgdGltZSB3aXRoIHVuZGVmaW5lZAogLy8gcmVmZXJlbmNlcyB0byBfX2N4YV9iYWRfdHlwZWlk
LiBOb3RlIHN1cmUgaWYgU1RMIG9yIHRvb2xjaGFpbiBidWcsCiAvLyBzbyBkaXNhYmxlIFJUVEkg
d2hlbiBkZXRlY3RlZC4KLSNpZiBHVEVTVF9PU19MSU5VWF9BTkRST0lEICYmIGRlZmluZWQoX1NU
TFBPUlRfTUFKT1IpICYmICFkZWZpbmVkKF9fRVhDRVBUSU9OUykKLSNkZWZpbmUgR1RFU1RfSEFT
X1JUVEkgMAotI2Vsc2UKLSNkZWZpbmUgR1RFU1RfSEFTX1JUVEkgMQotI2VuZGlmICAvLyBHVEVT
VF9PU19MSU5VWF9BTkRST0lEICYmIF9fU1RMUE9SVF9NQUpPUiAmJiAhX19FWENFUFRJT05TCi0j
ZWxzZQotI2RlZmluZSBHVEVTVF9IQVNfUlRUSSAwCi0jZW5kaWYgIC8vIF9fR1hYX1JUVEkKKyMg
ICBpZiBHVEVTVF9PU19MSU5VWF9BTkRST0lEICYmIGRlZmluZWQoX1NUTFBPUlRfTUFKT1IpICYm
IFwKKyAgICAgICAhZGVmaW5lZChfX0VYQ0VQVElPTlMpCisjICAgIGRlZmluZSBHVEVTVF9IQVNf
UlRUSSAwCisjICAgZWxzZQorIyAgICBkZWZpbmUgR1RFU1RfSEFTX1JUVEkgMQorIyAgIGVuZGlm
ICAvLyBHVEVTVF9PU19MSU5VWF9BTkRST0lEICYmIF9fU1RMUE9SVF9NQUpPUiAmJiAhX19FWENF
UFRJT05TCisjICBlbHNlCisjICAgZGVmaW5lIEdURVNUX0hBU19SVFRJIDAKKyMgIGVuZGlmICAv
LyBfX0dYWF9SVFRJCiAKIC8vIENsYW5nIGRlZmluZXMgX19HWFhfUlRUSSBzdGFydGluZyB3aXRo
IHZlcnNpb24gMy4wLCBidXQgaXRzIG1hbnVhbCByZWNvbW1lbmRzCiAvLyB1c2luZyBoYXNfZmVh
dHVyZSBpbnN0ZWFkLiBoYXNfZmVhdHVyZShjeHhfcnR0aSkgaXMgc3VwcG9ydGVkIHNpbmNlIDIu
NywgdGhlCiAvLyBmaXJzdCB2ZXJzaW9uIHdpdGggQysrIHN1cHBvcnQuCi0jZWxpZiBkZWZpbmVk
KF9fY2xhbmdfXykKKyMgZWxpZiBkZWZpbmVkKF9fY2xhbmdfXykKIAotI2RlZmluZSBHVEVTVF9I
QVNfUlRUSSBfX2hhc19mZWF0dXJlKGN4eF9ydHRpKQorIyAgZGVmaW5lIEdURVNUX0hBU19SVFRJ
IF9faGFzX2ZlYXR1cmUoY3h4X3J0dGkpCiAKIC8vIFN0YXJ0aW5nIHdpdGggdmVyc2lvbiA5LjAg
SUJNIFZpc3VhbCBBZ2UgZGVmaW5lcyBfX1JUVElfQUxMX18gdG8gMSBpZgogLy8gYm90aCB0aGUg
dHlwZWlkIGFuZCBkeW5hbWljX2Nhc3QgZmVhdHVyZXMgYXJlIHByZXNlbnQuCi0jZWxpZiBkZWZp
bmVkKF9fSUJNQ1BQX18pICYmIChfX0lCTUNQUF9fID49IDkwMCkKKyMgZWxpZiBkZWZpbmVkKF9f
SUJNQ1BQX18pICYmIChfX0lCTUNQUF9fID49IDkwMCkKIAotI2lmZGVmIF9fUlRUSV9BTExfXwot
I2RlZmluZSBHVEVTVF9IQVNfUlRUSSAxCi0jZWxzZQotI2RlZmluZSBHVEVTVF9IQVNfUlRUSSAw
Ci0jZW5kaWYKKyMgIGlmZGVmIF9fUlRUSV9BTExfXworIyAgIGRlZmluZSBHVEVTVF9IQVNfUlRU
SSAxCisjICBlbHNlCisjICAgZGVmaW5lIEdURVNUX0hBU19SVFRJIDAKKyMgIGVuZGlmCiAKLSNl
bHNlCisjIGVsc2UKIAogLy8gRm9yIGFsbCBvdGhlciBjb21waWxlcnMsIHdlIGFzc3VtZSBSVFRJ
IGlzIGVuYWJsZWQuCi0jZGVmaW5lIEdURVNUX0hBU19SVFRJIDEKKyMgIGRlZmluZSBHVEVTVF9I
QVNfUlRUSSAxCiAKLSNlbmRpZiAgLy8gX01TQ19WRVIKKyMgZW5kaWYgIC8vIF9NU0NfVkVSCiAK
ICNlbmRpZiAgLy8gR1RFU1RfSEFTX1JUVEkKIAogLy8gSXQncyB0aGlzIGhlYWRlcidzIHJlc3Bv
bnNpYmlsaXR5IHRvICNpbmNsdWRlIDx0eXBlaW5mbz4gd2hlbiBSVFRJCiAvLyBpcyBlbmFibGVk
LgogI2lmIEdURVNUX0hBU19SVFRJCi0jaW5jbHVkZSA8dHlwZWluZm8+CisjIGluY2x1ZGUgPHR5
cGVpbmZvPgogI2VuZGlmCiAKIC8vIERldGVybWluZXMgd2hldGhlciBHb29nbGUgVGVzdCBjYW4g
dXNlIHRoZSBwdGhyZWFkcyBsaWJyYXJ5LgpAQCAtNTM1LDE2ICs1MzEsMTYgQEAgdHlwZWRlZiBz
dHJ1Y3QgX1JUTF9DUklUSUNBTF9TRUNUSU9OIEdURVNUX0NSSVRJQ0FMX1NFQ1RJT047CiAgIChH
VEVTVF9PU19MSU5VWCB8fCBHVEVTVF9PU19NQUMgfHwgR1RFU1RfT1NfSFBVWCB8fCBHVEVTVF9P
U19RTlggfHwgICAgICAgICAgXAogICAgR1RFU1RfT1NfRlJFRUJTRCB8fCBHVEVTVF9PU19OQUNM
IHx8IEdURVNUX09TX05FVEJTRCB8fCBHVEVTVF9PU19GVUNIU0lBIHx8IFwKICAgIEdURVNUX09T
X0RSQUdPTkZMWSB8fCBHVEVTVF9PU19HTlVfS0ZSRUVCU0QgfHwgR1RFU1RfT1NfT1BFTkJTRCB8
fCAgICAgICAgICBcCi0gICBHVEVTVF9PU19IQUlLVSB8fCBHVEVTVF9PU19HTlVfSFVSRCkKKyAg
IEdURVNUX09TX0hBSUtVKQogI2VuZGlmICAvLyBHVEVTVF9IQVNfUFRIUkVBRAogCiAjaWYgR1RF
U1RfSEFTX1BUSFJFQUQKIC8vIGd0ZXN0LXBvcnQuaCBndWFyYW50ZWVzIHRvICNpbmNsdWRlIDxw
dGhyZWFkLmg+IHdoZW4gR1RFU1RfSEFTX1BUSFJFQUQgaXMKIC8vIHRydWUuCi0jaW5jbHVkZSA8
cHRocmVhZC5oPiAgLy8gTk9MSU5UCisjIGluY2x1ZGUgPHB0aHJlYWQuaD4gIC8vIE5PTElOVAog
CiAvLyBGb3IgdGltZXNwZWMgYW5kIG5hbm9zbGVlcCwgdXNlZCBiZWxvdy4KLSNpbmNsdWRlIDx0
aW1lLmg+ICAvLyBOT0xJTlQKKyMgaW5jbHVkZSA8dGltZS5oPiAgLy8gTk9MSU5UCiAjZW5kaWYK
IAogLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGNsb25lKDIpIGlzIHN1cHBvcnRlZC4KQEAgLTU1NCwy
MyArNTUwLDI0IEBAIHR5cGVkZWYgc3RydWN0IF9SVExfQ1JJVElDQUxfU0VDVElPTiBHVEVTVF9D
UklUSUNBTF9TRUNUSU9OOwogI2lmbmRlZiBHVEVTVF9IQVNfQ0xPTkUKIC8vIFRoZSB1c2VyIGRp
ZG4ndCB0ZWxsIHVzLCBzbyB3ZSBuZWVkIHRvIGZpZ3VyZSBpdCBvdXQuCiAKLSNpZiBHVEVTVF9P
U19MSU5VWCAmJiAhZGVmaW5lZChfX2lhNjRfXykKLSNpZiBHVEVTVF9PU19MSU5VWF9BTkRST0lE
CisjIGlmIEdURVNUX09TX0xJTlVYICYmICFkZWZpbmVkKF9faWE2NF9fKQorIyAgaWYgR1RFU1Rf
T1NfTElOVVhfQU5EUk9JRAogLy8gT24gQW5kcm9pZCwgY2xvbmUoKSBiZWNhbWUgYXZhaWxhYmxl
IGF0IGRpZmZlcmVudCBBUEkgbGV2ZWxzIGZvciBlYWNoIDMyLWJpdAogLy8gYXJjaGl0ZWN0dXJl
LgotI2lmIGRlZmluZWQoX19MUDY0X18pIHx8IChkZWZpbmVkKF9fYXJtX18pICYmIF9fQU5EUk9J
RF9BUElfXyA+PSA5KSB8fCBcCi0gICAgKGRlZmluZWQoX19taXBzX18pICYmIF9fQU5EUk9JRF9B
UElfXyA+PSAxMikgfHwgICAgICAgICAgICAgICAgICAgIFwKLSAgICAoZGVmaW5lZChfX2kzODZf
XykgJiYgX19BTkRST0lEX0FQSV9fID49IDE3KQotI2RlZmluZSBHVEVTVF9IQVNfQ0xPTkUgMQot
I2Vsc2UKLSNkZWZpbmUgR1RFU1RfSEFTX0NMT05FIDAKLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUg
R1RFU1RfSEFTX0NMT05FIDEKLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgR1RFU1RfSEFTX0NMT05F
IDAKLSNlbmRpZiAgLy8gR1RFU1RfT1NfTElOVVggJiYgIWRlZmluZWQoX19pYTY0X18pCisjICAg
IGlmIGRlZmluZWQoX19MUDY0X18pIHx8IFwKKyAgICAgICAgKGRlZmluZWQoX19hcm1fXykgJiYg
X19BTkRST0lEX0FQSV9fID49IDkpIHx8IFwKKyAgICAgICAgKGRlZmluZWQoX19taXBzX18pICYm
IF9fQU5EUk9JRF9BUElfXyA+PSAxMikgfHwgXAorICAgICAgICAoZGVmaW5lZChfX2kzODZfXykg
JiYgX19BTkRST0lEX0FQSV9fID49IDE3KQorIyAgICAgZGVmaW5lIEdURVNUX0hBU19DTE9ORSAx
CisjICAgIGVsc2UKKyMgICAgIGRlZmluZSBHVEVTVF9IQVNfQ0xPTkUgMAorIyAgICBlbmRpZgor
IyAgZWxzZQorIyAgIGRlZmluZSBHVEVTVF9IQVNfQ0xPTkUgMQorIyAgZW5kaWYKKyMgZWxzZQor
IyAgZGVmaW5lIEdURVNUX0hBU19DTE9ORSAwCisjIGVuZGlmICAvLyBHVEVTVF9PU19MSU5VWCAm
JiAhZGVmaW5lZChfX2lhNjRfXykKIAogI2VuZGlmICAvLyBHVEVTVF9IQVNfQ0xPTkUKIApAQCAt
NTgwLDExICs1NzcsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgX1JUTF9DUklUSUNBTF9TRUNUSU9OIEdU
RVNUX0NSSVRJQ0FMX1NFQ1RJT047CiAvLyBCeSBkZWZhdWx0LCB3ZSBhc3N1bWUgdGhhdCBzdHJl
YW0gcmVkaXJlY3Rpb24gaXMgc3VwcG9ydGVkIG9uIGFsbAogLy8gcGxhdGZvcm1zIGV4Y2VwdCBr
bm93biBtb2JpbGUgb25lcy4KICNpZiBHVEVTVF9PU19XSU5ET1dTX01PQklMRSB8fCBHVEVTVF9P
U19XSU5ET1dTX1BIT05FIHx8IFwKLSAgICBHVEVTVF9PU19XSU5ET1dTX1JUIHx8IEdURVNUX09T
X0VTUDgyNjYgfHwgR1RFU1RfT1NfWFRFTlNBCi0jZGVmaW5lIEdURVNUX0hBU19TVFJFQU1fUkVE
SVJFQ1RJT04gMAotI2Vsc2UKLSNkZWZpbmUgR1RFU1RfSEFTX1NUUkVBTV9SRURJUkVDVElPTiAx
Ci0jZW5kaWYgIC8vICFHVEVTVF9PU19XSU5ET1dTX01PQklMRQorICAgIEdURVNUX09TX1dJTkRP
V1NfUlQgfHwgR1RFU1RfT1NfRVNQODI2NgorIyAgZGVmaW5lIEdURVNUX0hBU19TVFJFQU1fUkVE
SVJFQ1RJT04gMAorIyBlbHNlCisjICBkZWZpbmUgR1RFU1RfSEFTX1NUUkVBTV9SRURJUkVDVElP
TiAxCisjIGVuZGlmICAvLyAhR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKICNlbmRpZiAgLy8gR1RF
U1RfSEFTX1NUUkVBTV9SRURJUkVDVElPTgogCiAvLyBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gc3Vw
cG9ydCBkZWF0aCB0ZXN0cy4KQEAgLTU5NCw5ICs1OTEsOCBAQCB0eXBlZGVmIHN0cnVjdCBfUlRM
X0NSSVRJQ0FMX1NFQ1RJT04gR1RFU1RfQ1JJVElDQUxfU0VDVElPTjsKICAgICAgKEdURVNUX09T
X1dJTkRPV1NfREVTS1RPUCAmJiBfTVNDX1ZFUikgfHwgR1RFU1RfT1NfV0lORE9XU19NSU5HVyB8
fCAgXAogICAgICBHVEVTVF9PU19BSVggfHwgR1RFU1RfT1NfSFBVWCB8fCBHVEVTVF9PU19PUEVO
QlNEIHx8IEdURVNUX09TX1FOWCB8fCBcCiAgICAgIEdURVNUX09TX0ZSRUVCU0QgfHwgR1RFU1Rf
T1NfTkVUQlNEIHx8IEdURVNUX09TX0ZVQ0hTSUEgfHwgICAgICAgICAgIFwKLSAgICAgR1RFU1Rf
T1NfRFJBR09ORkxZIHx8IEdURVNUX09TX0dOVV9LRlJFRUJTRCB8fCBHVEVTVF9PU19IQUlLVSB8
fCAgICAgXAotICAgICBHVEVTVF9PU19HTlVfSFVSRCkKLSNkZWZpbmUgR1RFU1RfSEFTX0RFQVRI
X1RFU1QgMQorICAgICBHVEVTVF9PU19EUkFHT05GTFkgfHwgR1RFU1RfT1NfR05VX0tGUkVFQlNE
IHx8IEdURVNUX09TX0hBSUtVKQorIyBkZWZpbmUgR1RFU1RfSEFTX0RFQVRIX1RFU1QgMQogI2Vu
ZGlmCiAKIC8vIERldGVybWluZXMgd2hldGhlciB0byBzdXBwb3J0IHR5cGUtZHJpdmVuIHRlc3Rz
LgpAQCAtNjA1LDggKzYwMSw4IEBAIHR5cGVkZWYgc3RydWN0IF9SVExfQ1JJVElDQUxfU0VDVElP
TiBHVEVTVF9DUklUSUNBTF9TRUNUSU9OOwogLy8gU3VuIFBybyBDQywgSUJNIFZpc3VhbCBBZ2Us
IGFuZCBIUCBhQ0Mgc3VwcG9ydC4KICNpZiBkZWZpbmVkKF9fR05VQ19fKSB8fCBkZWZpbmVkKF9N
U0NfVkVSKSB8fCBkZWZpbmVkKF9fU1VOUFJPX0NDKSB8fCBcCiAgICAgZGVmaW5lZChfX0lCTUNQ
UF9fKSB8fCBkZWZpbmVkKF9fSFBfYUNDKQotI2RlZmluZSBHVEVTVF9IQVNfVFlQRURfVEVTVCAx
Ci0jZGVmaW5lIEdURVNUX0hBU19UWVBFRF9URVNUX1AgMQorIyBkZWZpbmUgR1RFU1RfSEFTX1RZ
UEVEX1RFU1QgMQorIyBkZWZpbmUgR1RFU1RfSEFTX1RZUEVEX1RFU1RfUCAxCiAjZW5kaWYKIAog
Ly8gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBzeXN0ZW0gY29tcGlsZXIgdXNlcyBVVEYtMTYgZm9y
IGVuY29kaW5nIHdpZGUgc3RyaW5ncy4KQEAgLTYxNSw5ICs2MTEsOCBAQCB0eXBlZGVmIHN0cnVj
dCBfUlRMX0NSSVRJQ0FMX1NFQ1RJT04gR1RFU1RfQ1JJVElDQUxfU0VDVElPTjsKIAogLy8gRGV0
ZXJtaW5lcyB3aGV0aGVyIHRlc3QgcmVzdWx0cyBjYW4gYmUgc3RyZWFtZWQgdG8gYSBzb2NrZXQu
CiAjaWYgR1RFU1RfT1NfTElOVVggfHwgR1RFU1RfT1NfR05VX0tGUkVFQlNEIHx8IEdURVNUX09T
X0RSQUdPTkZMWSB8fCBcCi0gICAgR1RFU1RfT1NfRlJFRUJTRCB8fCBHVEVTVF9PU19ORVRCU0Qg
fHwgR1RFU1RfT1NfT1BFTkJTRCB8fCAgICAgICBcCi0gICAgR1RFU1RfT1NfR05VX0hVUkQKLSNk
ZWZpbmUgR1RFU1RfQ0FOX1NUUkVBTV9SRVNVTFRTXyAxCisgICAgR1RFU1RfT1NfRlJFRUJTRCB8
fCBHVEVTVF9PU19ORVRCU0QgfHwgR1RFU1RfT1NfT1BFTkJTRAorIyBkZWZpbmUgR1RFU1RfQ0FO
X1NUUkVBTV9SRVNVTFRTXyAxCiAjZW5kaWYKIAogLy8gRGVmaW5lcyBzb21lIHV0aWxpdHkgbWFj
cm9zLgpAQCAtNjMxLDEyICs2MjYsOSBAQCB0eXBlZGVmIHN0cnVjdCBfUlRMX0NSSVRJQ0FMX1NF
Q1RJT04gR1RFU1RfQ1JJVElDQUxfU0VDVElPTjsKIC8vCiAvLyBUaGUgInN3aXRjaCAoMCkgY2Fz
ZSAwOiIgaWRpb20gaXMgdXNlZCB0byBzdXBwcmVzcyB0aGlzLgogI2lmZGVmIF9fSU5URUxfQ09N
UElMRVIKLSNkZWZpbmUgR1RFU1RfQU1CSUdVT1VTX0VMU0VfQkxPQ0tFUl8KKyMgZGVmaW5lIEdU
RVNUX0FNQklHVU9VU19FTFNFX0JMT0NLRVJfCiAjZWxzZQotI2RlZmluZSBHVEVTVF9BTUJJR1VP
VVNfRUxTRV9CTE9DS0VSXyBcCi0gIHN3aXRjaCAoMCkgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgY2FzZSAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBkZWZhdWx0OiAg
Ly8gTk9MSU5UCisjIGRlZmluZSBHVEVTVF9BTUJJR1VPVVNfRUxTRV9CTE9DS0VSXyBzd2l0Y2gg
KDApIGNhc2UgMDogZGVmYXVsdDogIC8vIE5PTElOVAogI2VuZGlmCiAKIC8vIFVzZSB0aGlzIGFu
bm90YXRpb24gYXQgdGhlIGVuZCBvZiBhIHN0cnVjdC9jbGFzcyBkZWZpbml0aW9uIHRvCkBAIC02
NTEsNDIgKzY0Myw2NSBAQCB0eXBlZGVmIHN0cnVjdCBfUlRMX0NSSVRJQ0FMX1NFQ1RJT04gR1RF
U1RfQ1JJVElDQUxfU0VDVElPTjsKIC8vIEFsc28gdXNlIGl0IGFmdGVyIGEgdmFyaWFibGUgb3Ig
cGFyYW1ldGVyIGRlY2xhcmF0aW9uIHRvIHRlbGwgdGhlCiAvLyBjb21waWxlciB0aGUgdmFyaWFi
bGUvcGFyYW1ldGVyIGRvZXMgbm90IGhhdmUgdG8gYmUgdXNlZC4KICNpZiBkZWZpbmVkKF9fR05V
Q19fKSAmJiAhZGVmaW5lZChDT01QSUxFUl9JQ0MpCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9V
TlVTRURfIF9fYXR0cmlidXRlX18oKHVudXNlZCkpCisjIGRlZmluZSBHVEVTVF9BVFRSSUJVVEVf
VU5VU0VEXyBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSkKICNlbGlmIGRlZmluZWQoX19jbGFuZ19f
KQotI2lmIF9faGFzX2F0dHJpYnV0ZSh1bnVzZWQpCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9V
TlVTRURfIF9fYXR0cmlidXRlX18oKHVudXNlZCkpCi0jZW5kaWYKKyMgaWYgX19oYXNfYXR0cmli
dXRlKHVudXNlZCkKKyMgIGRlZmluZSBHVEVTVF9BVFRSSUJVVEVfVU5VU0VEXyBfX2F0dHJpYnV0
ZV9fICgodW51c2VkKSkKKyMgZW5kaWYKICNlbmRpZgogI2lmbmRlZiBHVEVTVF9BVFRSSUJVVEVf
VU5VU0VEXwotI2RlZmluZSBHVEVTVF9BVFRSSUJVVEVfVU5VU0VEXworIyBkZWZpbmUgR1RFU1Rf
QVRUUklCVVRFX1VOVVNFRF8KICNlbmRpZgogCiAvLyBVc2UgdGhpcyBhbm5vdGF0aW9uIGJlZm9y
ZSBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBwcmludGYgZm9ybWF0IHN0cmluZy4KICNpZiAoZGVm
aW5lZChfX0dOVUNfXykgfHwgZGVmaW5lZChfX2NsYW5nX18pKSAmJiAhZGVmaW5lZChDT01QSUxF
Ul9JQ0MpCi0jaWYgZGVmaW5lZChfX01JTkdXX1BSSU5URl9GT1JNQVQpCisjIGlmIGRlZmluZWQo
X19NSU5HV19QUklOVEZfRk9STUFUKQogLy8gTWluR1cgaGFzIHR3byBkaWZmZXJlbnQgcHJpbnRm
IGltcGxlbWVudGF0aW9ucy4gRW5zdXJlIHRoZSBmb3JtYXQgbWFjcm8KIC8vIG1hdGNoZXMgdGhl
IHNlbGVjdGVkIGltcGxlbWVudGF0aW9uLiBTZWUKIC8vIGh0dHBzOi8vc291cmNlZm9yZ2UubmV0
L3AvbWluZ3ctdzY0L3dpa2kyL2dudSUyMHByaW50Zi8uCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVU
RV9QUklOVEZfKHN0cmluZ19pbmRleCwgZmlyc3RfdG9fY2hlY2spIFwKLSAgX19hdHRyaWJ1dGVf
XygoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
X19mb3JtYXRfXyhfX01JTkdXX1BSSU5URl9GT1JNQVQsIHN0cmluZ19pbmRleCwgZmlyc3RfdG9f
Y2hlY2spKSkKLSNlbHNlCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9QUklOVEZfKHN0cmluZ19p
bmRleCwgZmlyc3RfdG9fY2hlY2spIFwKLSAgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhfX3By
aW50Zl9fLCBzdHJpbmdfaW5kZXgsIGZpcnN0X3RvX2NoZWNrKSkpCi0jZW5kaWYKKyMgIGRlZmlu
ZSBHVEVTVF9BVFRSSUJVVEVfUFJJTlRGXyhzdHJpbmdfaW5kZXgsIGZpcnN0X3RvX2NoZWNrKSBc
CisgICAgICAgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhfX01JTkdXX1BSSU5URl9GT1JNQVQs
IHN0cmluZ19pbmRleCwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3Rf
dG9fY2hlY2spKSkKKyMgZWxzZQorIyAgZGVmaW5lIEdURVNUX0FUVFJJQlVURV9QUklOVEZfKHN0
cmluZ19pbmRleCwgZmlyc3RfdG9fY2hlY2spIFwKKyAgICAgICBfX2F0dHJpYnV0ZV9fKChfX2Zv
cm1hdF9fKF9fcHJpbnRmX18sIHN0cmluZ19pbmRleCwgZmlyc3RfdG9fY2hlY2spKSkKKyMgZW5k
aWYKICNlbHNlCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9QUklOVEZfKHN0cmluZ19pbmRleCwg
Zmlyc3RfdG9fY2hlY2spCisjIGRlZmluZSBHVEVTVF9BVFRSSUJVVEVfUFJJTlRGXyhzdHJpbmdf
aW5kZXgsIGZpcnN0X3RvX2NoZWNrKQogI2VuZGlmCiAKKworLy8gQSBtYWNybyB0byBkaXNhbGxv
dyBjb3B5IG9wZXJhdG9yPQorLy8gVGhpcyBzaG91bGQgYmUgdXNlZCBpbiB0aGUgcHJpdmF0ZTog
ZGVjbGFyYXRpb25zIGZvciBhIGNsYXNzLgorI2RlZmluZSBHVEVTVF9ESVNBTExPV19BU1NJR05f
KHR5cGUpIFwKKyAgdHlwZSYgb3BlcmF0b3I9KHR5cGUgY29uc3QgJikgPSBkZWxldGUKKworLy8g
QSBtYWNybyB0byBkaXNhbGxvdyBjb3B5IGNvbnN0cnVjdG9yIGFuZCBvcGVyYXRvcj0KKy8vIFRo
aXMgc2hvdWxkIGJlIHVzZWQgaW4gdGhlIHByaXZhdGU6IGRlY2xhcmF0aW9ucyBmb3IgYSBjbGFz
cy4KKyNkZWZpbmUgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyh0eXBlKSBcCisgIHR5
cGUodHlwZSBjb25zdCAmKSA9IGRlbGV0ZTsgXAorICBHVEVTVF9ESVNBTExPV19BU1NJR05fKHR5
cGUpCisKKy8vIEEgbWFjcm8gdG8gZGlzYWxsb3cgbW92ZSBvcGVyYXRvcj0KKy8vIFRoaXMgc2hv
dWxkIGJlIHVzZWQgaW4gdGhlIHByaXZhdGU6IGRlY2xhcmF0aW9ucyBmb3IgYSBjbGFzcy4KKyNk
ZWZpbmUgR1RFU1RfRElTQUxMT1dfTU9WRV9BU1NJR05fKHR5cGUpIFwKKyAgdHlwZSYgb3BlcmF0
b3I9KHR5cGUgJiYpIG5vZXhjZXB0ID0gZGVsZXRlCisKKy8vIEEgbWFjcm8gdG8gZGlzYWxsb3cg
bW92ZSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3I9CisvLyBUaGlzIHNob3VsZCBiZSB1c2VkIGlu
IHRoZSBwcml2YXRlOiBkZWNsYXJhdGlvbnMgZm9yIGEgY2xhc3MuCisjZGVmaW5lIEdURVNUX0RJ
U0FMTE9XX01PVkVfQU5EX0FTU0lHTl8odHlwZSkgXAorICB0eXBlKHR5cGUgJiYpIG5vZXhjZXB0
ID0gZGVsZXRlOyBcCisgIEdURVNUX0RJU0FMTE9XX01PVkVfQVNTSUdOXyh0eXBlKQorCiAvLyBU
ZWxsIHRoZSBjb21waWxlciB0byB3YXJuIGFib3V0IHVudXNlZCByZXR1cm4gdmFsdWVzIGZvciBm
dW5jdGlvbnMgZGVjbGFyZWQKIC8vIHdpdGggdGhpcyBtYWNyby4gIFRoZSBtYWNybyBzaG91bGQg
YmUgdXNlZCBvbiBmdW5jdGlvbiBkZWNsYXJhdGlvbnMKIC8vIGZvbGxvd2luZyB0aGUgYXJndW1l
bnQgbGlzdDoKIC8vCiAvLyAgIFNwcm9ja2V0KiBBbGxvY2F0ZVNwcm9ja2V0KCkgR1RFU1RfTVVT
VF9VU0VfUkVTVUxUXzsKICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAhZGVmaW5lZChDT01QSUxF
Ul9JQ0MpCi0jZGVmaW5lIEdURVNUX01VU1RfVVNFX1JFU1VMVF8gX19hdHRyaWJ1dGVfXygod2Fy
bl91bnVzZWRfcmVzdWx0KSkKKyMgZGVmaW5lIEdURVNUX01VU1RfVVNFX1JFU1VMVF8gX19hdHRy
aWJ1dGVfXyAoKHdhcm5fdW51c2VkX3Jlc3VsdCkpCiAjZWxzZQotI2RlZmluZSBHVEVTVF9NVVNU
X1VTRV9SRVNVTFRfCisjIGRlZmluZSBHVEVTVF9NVVNUX1VTRV9SRVNVTFRfCiAjZW5kaWYgIC8v
IF9fR05VQ19fICYmICFDT01QSUxFUl9JQ0MKIAogLy8gTVMgQysrIGNvbXBpbGVyIGVtaXRzIHdh
cm5pbmcgd2hlbiBhIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gaXMgY29tcGlsZSB0aW1lCkBAIC02
OTcsOSArNzEyLDEwIEBAIHR5cGVkZWYgc3RydWN0IF9SVExfQ1JJVElDQUxfU0VDVElPTiBHVEVT
VF9DUklUSUNBTF9TRUNUSU9OOwogLy8gd2hpbGUgKHRydWUpIHsKIC8vIEdURVNUX0lOVEVOVElP
TkFMX0NPTlNUX0NPTkRfUE9QXygpCiAvLyB9Ci0jZGVmaW5lIEdURVNUX0lOVEVOVElPTkFMX0NP
TlNUX0NPTkRfUFVTSF8oKSBcCi0gIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BVU0hfKDQx
MjcpCi0jZGVmaW5lIEdURVNUX0lOVEVOVElPTkFMX0NPTlNUX0NPTkRfUE9QXygpIEdURVNUX0RJ
U0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8oKQorIyBkZWZpbmUgR1RFU1RfSU5URU5USU9OQUxfQ09O
U1RfQ09ORF9QVVNIXygpIFwKKyAgICBHVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19QVVNIXyg0
MTI3KQorIyBkZWZpbmUgR1RFU1RfSU5URU5USU9OQUxfQ09OU1RfQ09ORF9QT1BfKCkgXAorICAg
IEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8oKQogCiAvLyBEZXRlcm1pbmUgd2hldGhl
ciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgTWljcm9zb2Z0J3MgU3RydWN0dXJlZCBFeGNlcHRpb24K
IC8vIEhhbmRsaW5nLiAgVGhpcyBpcyBzdXBwb3J0ZWQgYnkgc2V2ZXJhbCBXaW5kb3dzIGNvbXBp
bGVycyBidXQgZ2VuZXJhbGx5CkBAIC03MDcsMTMgKzcyMywxMyBAQCB0eXBlZGVmIHN0cnVjdCBf
UlRMX0NSSVRJQ0FMX1NFQ1RJT04gR1RFU1RfQ1JJVElDQUxfU0VDVElPTjsKICNpZm5kZWYgR1RF
U1RfSEFTX1NFSAogLy8gVGhlIHVzZXIgZGlkbid0IHRlbGwgdXMsIHNvIHdlIG5lZWQgdG8gZmln
dXJlIGl0IG91dC4KIAotI2lmIGRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX19CT1JMQU5E
Q19fKQorIyBpZiBkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9fQk9STEFORENfXykKIC8v
IFRoZXNlIHR3byBjb21waWxlcnMgYXJlIGtub3duIHRvIHN1cHBvcnQgU0VILgotI2RlZmluZSBH
VEVTVF9IQVNfU0VIIDEKLSNlbHNlCisjICBkZWZpbmUgR1RFU1RfSEFTX1NFSCAxCisjIGVsc2UK
IC8vIEFzc3VtZSBubyBTRUguCi0jZGVmaW5lIEdURVNUX0hBU19TRUggMAotI2VuZGlmCisjICBk
ZWZpbmUgR1RFU1RfSEFTX1NFSCAwCisjIGVuZGlmCiAKICNlbmRpZiAgLy8gR1RFU1RfSEFTX1NF
SAogCkBAIC03MjYsMTEyICs3NDIsOTQgQEAgdHlwZWRlZiBzdHJ1Y3QgX1JUTF9DUklUSUNBTF9T
RUNUSU9OIEdURVNUX0NSSVRJQ0FMX1NFQ1RJT047CiAKICNlbmRpZiAgLy8gR1RFU1RfSVNfVEhS
RUFEU0FGRQogCi0jaWYgR1RFU1RfSVNfVEhSRUFEU0FGRQotLy8gU29tZSBwbGF0Zm9ybXMgZG9u
J3Qgc3VwcG9ydCBpbmNsdWRpbmcgdGhlc2UgdGhyZWFkaW5nIHJlbGF0ZWQgaGVhZGVycy4KLSNp
bmNsdWRlIDxjb25kaXRpb25fdmFyaWFibGU+ICAvLyBOT0xJTlQKLSNpbmNsdWRlIDxtdXRleD4g
ICAgICAgICAgICAgICAvLyBOT0xJTlQKLSNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBHVEVTVF9JU19USFJFQURTQUZFCi0KIC8vIEdURVNUX0FQSV8gcXVhbGlmaWVzIGFsbCBzeW1i
b2xzIHRoYXQgbXVzdCBiZSBleHBvcnRlZC4gVGhlIGRlZmluaXRpb25zIGJlbG93CiAvLyBhcmUg
Z3VhcmRlZCBieSAjaWZuZGVmIHRvIGdpdmUgZW1iZWRkZXJzIGEgY2hhbmNlIHRvIGRlZmluZSBH
VEVTVF9BUElfIGluCiAvLyBndGVzdC9pbnRlcm5hbC9jdXN0b20vZ3Rlc3QtcG9ydC5oCiAjaWZu
ZGVmIEdURVNUX0FQSV8KIAogI2lmZGVmIF9NU0NfVkVSCi0jaWYgR1RFU1RfTElOS0VEX0FTX1NI
QVJFRF9MSUJSQVJZCi0jZGVmaW5lIEdURVNUX0FQSV8gX19kZWNsc3BlYyhkbGxpbXBvcnQpCi0j
ZWxpZiBHVEVTVF9DUkVBVEVfU0hBUkVEX0xJQlJBUlkKLSNkZWZpbmUgR1RFU1RfQVBJXyBfX2Rl
Y2xzcGVjKGRsbGV4cG9ydCkKLSNlbmRpZgorIyBpZiBHVEVTVF9MSU5LRURfQVNfU0hBUkVEX0xJ
QlJBUlkKKyMgIGRlZmluZSBHVEVTVF9BUElfIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQorIyBlbGlm
IEdURVNUX0NSRUFURV9TSEFSRURfTElCUkFSWQorIyAgZGVmaW5lIEdURVNUX0FQSV8gX19kZWNs
c3BlYyhkbGxleHBvcnQpCisjIGVuZGlmCiAjZWxpZiBfX0dOVUNfXyA+PSA0IHx8IGRlZmluZWQo
X19jbGFuZ19fKQotI2RlZmluZSBHVEVTVF9BUElfIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHko
ImRlZmF1bHQiKSkpCisjIGRlZmluZSBHVEVTVF9BUElfIF9fYXR0cmlidXRlX18oKHZpc2liaWxp
dHkgKCJkZWZhdWx0IikpKQogI2VuZGlmICAvLyBfTVNDX1ZFUgogCiAjZW5kaWYgIC8vIEdURVNU
X0FQSV8KIAogI2lmbmRlZiBHVEVTVF9BUElfCi0jZGVmaW5lIEdURVNUX0FQSV8KKyMgZGVmaW5l
IEdURVNUX0FQSV8KICNlbmRpZiAgLy8gR1RFU1RfQVBJXwogCiAjaWZuZGVmIEdURVNUX0RFRkFV
TFRfREVBVEhfVEVTVF9TVFlMRQotI2RlZmluZSBHVEVTVF9ERUZBVUxUX0RFQVRIX1RFU1RfU1RZ
TEUgImZhc3QiCisjIGRlZmluZSBHVEVTVF9ERUZBVUxUX0RFQVRIX1RFU1RfU1RZTEUgICJmYXN0
IgogI2VuZGlmICAvLyBHVEVTVF9ERUZBVUxUX0RFQVRIX1RFU1RfU1RZTEUKIAogI2lmZGVmIF9f
R05VQ19fCiAvLyBBc2sgdGhlIGNvbXBpbGVyIHRvIG5ldmVyIGlubGluZSBhIGdpdmVuIGZ1bmN0
aW9uLgotI2RlZmluZSBHVEVTVF9OT19JTkxJTkVfIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkK
LSNlbHNlCi0jZGVmaW5lIEdURVNUX05PX0lOTElORV8KLSNlbmRpZgotCi0jaWYgZGVmaW5lZChf
X2NsYW5nX18pCi0vLyBOZXN0ZWQgaWZzIHRvIGF2b2lkIHRyaWdnZXJpbmcgTVNWQyB3YXJuaW5n
LgotI2lmIF9faGFzX2F0dHJpYnV0ZShkaXNhYmxlX3RhaWxfY2FsbHMpCi0vLyBBc2sgdGhlIGNv
bXBpbGVyIG5vdCB0byBwZXJmb3JtIHRhaWwgY2FsbCBvcHRpbWl6YXRpb24gaW5zaWRlCi0vLyB0
aGUgbWFya2VkIGZ1bmN0aW9uLgotI2RlZmluZSBHVEVTVF9OT19UQUlMX0NBTExfIF9fYXR0cmli
dXRlX18oKGRpc2FibGVfdGFpbF9jYWxscykpCi0jZW5kaWYKLSNlbGlmIF9fR05VQ19fCi0jZGVm
aW5lIEdURVNUX05PX1RBSUxfQ0FMTF8gXAotICBfX2F0dHJpYnV0ZV9fKChvcHRpbWl6ZSgibm8t
b3B0aW1pemUtc2libGluZy1jYWxscyIpKSkKKyMgZGVmaW5lIEdURVNUX05PX0lOTElORV8gX19h
dHRyaWJ1dGVfXygobm9pbmxpbmUpKQogI2Vsc2UKLSNkZWZpbmUgR1RFU1RfTk9fVEFJTF9DQUxM
XworIyBkZWZpbmUgR1RFU1RfTk9fSU5MSU5FXwogI2VuZGlmCiAKIC8vIF9MSUJDUFBfVkVSU0lP
TiBpcyBkZWZpbmVkIGJ5IHRoZSBsaWJjKysgbGlicmFyeSBmcm9tIHRoZSBMTFZNIHByb2plY3Qu
CiAjaWYgIWRlZmluZWQoR1RFU1RfSEFTX0NYWEFCSV9IXykKLSNpZiBkZWZpbmVkKF9fR0xJQkNY
WF9fKSB8fCAoZGVmaW5lZChfTElCQ1BQX1ZFUlNJT04pICYmICFkZWZpbmVkKF9NU0NfVkVSKSkK
LSNkZWZpbmUgR1RFU1RfSEFTX0NYWEFCSV9IXyAxCi0jZWxzZQotI2RlZmluZSBHVEVTVF9IQVNf
Q1hYQUJJX0hfIDAKLSNlbmRpZgorIyBpZiBkZWZpbmVkKF9fR0xJQkNYWF9fKSB8fCAoZGVmaW5l
ZChfTElCQ1BQX1ZFUlNJT04pICYmICFkZWZpbmVkKF9NU0NfVkVSKSkKKyMgIGRlZmluZSBHVEVT
VF9IQVNfQ1hYQUJJX0hfIDEKKyMgZWxzZQorIyAgZGVmaW5lIEdURVNUX0hBU19DWFhBQklfSF8g
MAorIyBlbmRpZgogI2VuZGlmCiAKIC8vIEEgZnVuY3Rpb24gbGV2ZWwgYXR0cmlidXRlIHRvIGRp
c2FibGUgY2hlY2tpbmcgZm9yIHVzZSBvZiB1bmluaXRpYWxpemVkCiAvLyBtZW1vcnkgd2hlbiBi
dWlsdCB3aXRoIE1lbW9yeVNhbml0aXplci4KICNpZiBkZWZpbmVkKF9fY2xhbmdfXykKLSNpZiBf
X2hhc19mZWF0dXJlKG1lbW9yeV9zYW5pdGl6ZXIpCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9O
T19TQU5JVElaRV9NRU1PUllfIF9fYXR0cmlidXRlX18oKG5vX3Nhbml0aXplX21lbW9yeSkpCi0j
ZWxzZQotI2RlZmluZSBHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfTUVNT1JZXwotI2VuZGlm
ICAvLyBfX2hhc19mZWF0dXJlKG1lbW9yeV9zYW5pdGl6ZXIpCisjIGlmIF9faGFzX2ZlYXR1cmUo
bWVtb3J5X3Nhbml0aXplcikKKyMgIGRlZmluZSBHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVf
TUVNT1JZXyBcCisgICAgICAgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemVfbWVtb3J5KSkKKyMg
ZWxzZQorIyAgZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9NRU1PUllfCisjIGVu
ZGlmICAvLyBfX2hhc19mZWF0dXJlKG1lbW9yeV9zYW5pdGl6ZXIpCiAjZWxzZQotI2RlZmluZSBH
VEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfTUVNT1JZXworIyBkZWZpbmUgR1RFU1RfQVRUUklC
VVRFX05PX1NBTklUSVpFX01FTU9SWV8KICNlbmRpZiAgLy8gX19jbGFuZ19fCiAKIC8vIEEgZnVu
Y3Rpb24gbGV2ZWwgYXR0cmlidXRlIHRvIGRpc2FibGUgQWRkcmVzc1Nhbml0aXplciBpbnN0cnVt
ZW50YXRpb24uCiAjaWYgZGVmaW5lZChfX2NsYW5nX18pCi0jaWYgX19oYXNfZmVhdHVyZShhZGRy
ZXNzX3Nhbml0aXplcikKLSNkZWZpbmUgR1RFU1RfQVRUUklCVVRFX05PX1NBTklUSVpFX0FERFJF
U1NfIFwKLSAgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemVfYWRkcmVzcykpCisjIGlmIF9faGFz
X2ZlYXR1cmUoYWRkcmVzc19zYW5pdGl6ZXIpCisjICBkZWZpbmUgR1RFU1RfQVRUUklCVVRFX05P
X1NBTklUSVpFX0FERFJFU1NfIFwKKyAgICAgICBfX2F0dHJpYnV0ZV9fKChub19zYW5pdGl6ZV9h
ZGRyZXNzKSkKKyMgZWxzZQorIyAgZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9B
RERSRVNTXworIyBlbmRpZiAgLy8gX19oYXNfZmVhdHVyZShhZGRyZXNzX3Nhbml0aXplcikKICNl
bHNlCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9BRERSRVNTXwotI2VuZGlm
ICAvLyBfX2hhc19mZWF0dXJlKGFkZHJlc3Nfc2FuaXRpemVyKQotI2Vsc2UKLSNkZWZpbmUgR1RF
U1RfQVRUUklCVVRFX05PX1NBTklUSVpFX0FERFJFU1NfCisjIGRlZmluZSBHVEVTVF9BVFRSSUJV
VEVfTk9fU0FOSVRJWkVfQUREUkVTU18KICNlbmRpZiAgLy8gX19jbGFuZ19fCiAKIC8vIEEgZnVu
Y3Rpb24gbGV2ZWwgYXR0cmlidXRlIHRvIGRpc2FibGUgSFdBZGRyZXNzU2FuaXRpemVyIGluc3Ry
dW1lbnRhdGlvbi4KICNpZiBkZWZpbmVkKF9fY2xhbmdfXykKLSNpZiBfX2hhc19mZWF0dXJlKGh3
YWRkcmVzc19zYW5pdGl6ZXIpCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9I
V0FERFJFU1NfIFwKLSAgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemUoImh3YWRkcmVzcyIpKSkK
LSNlbHNlCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9IV0FERFJFU1NfCi0j
ZW5kaWYgIC8vIF9faGFzX2ZlYXR1cmUoaHdhZGRyZXNzX3Nhbml0aXplcikKKyMgaWYgX19oYXNf
ZmVhdHVyZShod2FkZHJlc3Nfc2FuaXRpemVyKQorIyAgZGVmaW5lIEdURVNUX0FUVFJJQlVURV9O
T19TQU5JVElaRV9IV0FERFJFU1NfIFwKKyAgICAgICBfX2F0dHJpYnV0ZV9fKChub19zYW5pdGl6
ZSgiaHdhZGRyZXNzIikpKQorIyBlbHNlCisjICBkZWZpbmUgR1RFU1RfQVRUUklCVVRFX05PX1NB
TklUSVpFX0hXQUREUkVTU18KKyMgZW5kaWYgIC8vIF9faGFzX2ZlYXR1cmUoaHdhZGRyZXNzX3Nh
bml0aXplcikKICNlbHNlCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9IV0FE
RFJFU1NfCisjIGRlZmluZSBHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfSFdBRERSRVNTXwog
I2VuZGlmICAvLyBfX2NsYW5nX18KIAogLy8gQSBmdW5jdGlvbiBsZXZlbCBhdHRyaWJ1dGUgdG8g
ZGlzYWJsZSBUaHJlYWRTYW5pdGl6ZXIgaW5zdHJ1bWVudGF0aW9uLgogI2lmIGRlZmluZWQoX19j
bGFuZ19fKQotI2lmIF9faGFzX2ZlYXR1cmUodGhyZWFkX3Nhbml0aXplcikKLSNkZWZpbmUgR1RF
U1RfQVRUUklCVVRFX05PX1NBTklUSVpFX1RIUkVBRF8gX19hdHRyaWJ1dGVfXygobm9fc2FuaXRp
emVfdGhyZWFkKSkKLSNlbHNlCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9U
SFJFQURfCi0jZW5kaWYgIC8vIF9faGFzX2ZlYXR1cmUodGhyZWFkX3Nhbml0aXplcikKKyMgaWYg
X19oYXNfZmVhdHVyZSh0aHJlYWRfc2FuaXRpemVyKQorIyAgZGVmaW5lIEdURVNUX0FUVFJJQlVU
RV9OT19TQU5JVElaRV9USFJFQURfIFwKKyAgICAgICBfX2F0dHJpYnV0ZV9fKChub19zYW5pdGl6
ZV90aHJlYWQpKQorIyBlbHNlCisjICBkZWZpbmUgR1RFU1RfQVRUUklCVVRFX05PX1NBTklUSVpF
X1RIUkVBRF8KKyMgZW5kaWYgIC8vIF9faGFzX2ZlYXR1cmUodGhyZWFkX3Nhbml0aXplcikKICNl
bHNlCi0jZGVmaW5lIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9USFJFQURfCisjIGRlZmlu
ZSBHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfVEhSRUFEXwogI2VuZGlmICAvLyBfX2NsYW5n
X18KIAogbmFtZXNwYWNlIHRlc3RpbmcgewpAQCAtODUzLDM3ICs4NTEsMjUgQEAgbmFtZXNwYWNl
IGludGVybmFsIHsKIC8vIFNlY3JldCBvYmplY3QsIHdoaWNoIGlzIHdoYXQgd2Ugd2FudC4KIGNs
YXNzIFNlY3JldDsKIAorLy8gVGhlIEdURVNUX0NPTVBJTEVfQVNTRVJUXyBpcyBhIGxlZ2FjeSBt
YWNybyB1c2VkIHRvIHZlcmlmeSB0aGF0IGEgY29tcGlsZQorLy8gdGltZSBleHByZXNzaW9uIGlz
IHRydWUgKGluIG5ldyBjb2RlLCB1c2Ugc3RhdGljX2Fzc2VydCBpbnN0ZWFkKS4gRm9yCisvLyBl
eGFtcGxlLCB5b3UgY291bGQgdXNlIGl0IHRvIHZlcmlmeSB0aGUgc2l6ZSBvZiBhIHN0YXRpYyBh
cnJheToKKy8vCisvLyAgIEdURVNUX0NPTVBJTEVfQVNTRVJUXyhHVEVTVF9BUlJBWV9TSVpFXyhu
YW1lcykgPT0gTlVNX05BTUVTLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNfaW5j
b3JyZWN0X3NpemUpOworLy8KKy8vIFRoZSBzZWNvbmQgYXJndW1lbnQgdG8gdGhlIG1hY3JvIG11
c3QgYmUgYSB2YWxpZCBDKysgaWRlbnRpZmllci4gSWYgdGhlCisvLyBleHByZXNzaW9uIGlzIGZh
bHNlLCBjb21waWxlciB3aWxsIGlzc3VlIGFuIGVycm9yIGNvbnRhaW5pbmcgdGhpcyBpZGVudGlm
aWVyLgorI2RlZmluZSBHVEVTVF9DT01QSUxFX0FTU0VSVF8oZXhwciwgbXNnKSBzdGF0aWNfYXNz
ZXJ0KGV4cHIsICNtc2cpCisKIC8vIEEgaGVscGVyIGZvciBzdXBwcmVzc2luZyB3YXJuaW5ncyBv
biBjb25zdGFudCBjb25kaXRpb24uICBJdCBqdXN0CiAvLyByZXR1cm5zICdjb25kaXRpb24nLgog
R1RFU1RfQVBJXyBib29sIElzVHJ1ZShib29sIGNvbmRpdGlvbik7CiAKIC8vIERlZmluZXMgUkUu
CiAKLSNpZiBHVEVTVF9VU0VTX1JFMgotCi0vLyBUaGlzIGlzIGFsbW9zdCBgdXNpbmcgUkUgPSA6
OlJFMmAsIGV4Y2VwdCBpdCBpcyBjb3B5LWNvbnN0cnVjdGlibGUsIGFuZCBpdAotLy8gbmVlZHMg
dG8gZGlzYW1iaWd1YXRlIHRoZSBgc3RkOjpzdHJpbmdgLCBgYWJzbDo6c3RyaW5nX3ZpZXdgLCBh
bmQgYGNvbnN0Ci0vLyBjaGFyKmAgY29uc3RydWN0b3JzLgotY2xhc3MgR1RFU1RfQVBJXyBSRSB7
Ci0gcHVibGljOgotICBSRShhYnNsOjpzdHJpbmdfdmlldyByZWdleCkgOiByZWdleF8ocmVnZXgp
IHt9ICAgICAgICAgICAgICAgICAgLy8gTk9MSU5UCi0gIFJFKGNvbnN0IGNoYXIqIHJlZ2V4KSA6
IFJFKGFic2w6OnN0cmluZ192aWV3KHJlZ2V4KSkge30gICAgICAgICAvLyBOT0xJTlQKLSAgUkUo
Y29uc3Qgc3RkOjpzdHJpbmcmIHJlZ2V4KSA6IFJFKGFic2w6OnN0cmluZ192aWV3KHJlZ2V4KSkg
e30gIC8vIE5PTElOVAotICBSRShjb25zdCBSRSYgb3RoZXIpIDogUkUob3RoZXIucGF0dGVybigp
KSB7fQotCi0gIGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXR0ZXJuKCkgY29uc3QgeyByZXR1cm4gcmVn
ZXhfLnBhdHRlcm4oKTsgfQotCi0gIHN0YXRpYyBib29sIEZ1bGxNYXRjaChhYnNsOjpzdHJpbmdf
dmlldyBzdHIsIGNvbnN0IFJFJiByZSkgewotICAgIHJldHVybiBSRTI6OkZ1bGxNYXRjaChzdHIs
IHJlLnJlZ2V4Xyk7Ci0gIH0KLSAgc3RhdGljIGJvb2wgUGFydGlhbE1hdGNoKGFic2w6OnN0cmlu
Z192aWV3IHN0ciwgY29uc3QgUkUmIHJlKSB7Ci0gICAgcmV0dXJuIFJFMjo6UGFydGlhbE1hdGNo
KHN0ciwgcmUucmVnZXhfKTsKLSAgfQotCi0gcHJpdmF0ZToKLSAgUkUyIHJlZ2V4XzsKLX07Ci0K
KyNpZiBHVEVTVF9VU0VTX1BDUkUKKy8vIGlmIHVzZWQsIFBDUkUgaXMgaW5qZWN0ZWQgYnkgY3Vz
dG9tL2d0ZXN0LXBvcnQuaAogI2VsaWYgR1RFU1RfVVNFU19QT1NJWF9SRSB8fCBHVEVTVF9VU0VT
X1NJTVBMRV9SRQogCiAvLyBBIHNpbXBsZSBDKysgd3JhcHBlciBmb3IgPHJlZ2V4Lmg+LiAgSXQg
dXNlcyB0aGUgUE9TSVggRXh0ZW5kZWQKQEAgLTkyMiwxOSArOTA4LDIxIEBAIGNsYXNzIEdURVNU
X0FQSV8gUkUgewogICBjb25zdCBjaGFyKiBwYXR0ZXJuXzsKICAgYm9vbCBpc192YWxpZF87CiAK
LSNpZiBHVEVTVF9VU0VTX1BPU0lYX1JFCisjIGlmIEdURVNUX1VTRVNfUE9TSVhfUkUKIAogICBy
ZWdleF90IGZ1bGxfcmVnZXhfOyAgICAgLy8gRm9yIEZ1bGxNYXRjaCgpLgogICByZWdleF90IHBh
cnRpYWxfcmVnZXhfOyAgLy8gRm9yIFBhcnRpYWxNYXRjaCgpLgogCi0jZWxzZSAgLy8gR1RFU1Rf
VVNFU19TSU1QTEVfUkUKKyMgZWxzZSAgLy8gR1RFU1RfVVNFU19TSU1QTEVfUkUKIAogICBjb25z
dCBjaGFyKiBmdWxsX3BhdHRlcm5fOyAgLy8gRm9yIEZ1bGxNYXRjaCgpOwogCi0jZW5kaWYKKyMg
ZW5kaWYKKworICBHVEVTVF9ESVNBTExPV19BU1NJR05fKFJFKTsKIH07CiAKLSNlbmRpZiAgLy8g
Ojp0ZXN0aW5nOjppbnRlcm5hbDo6UkUgaW1wbGVtZW50YXRpb24KKyNlbmRpZiAgLy8gR1RFU1Rf
VVNFU19QQ1JFCiAKIC8vIEZvcm1hdHMgYSBzb3VyY2UgZmlsZSBwYXRoIGFuZCBhIGxpbmUgbnVt
YmVyIGFzIHRoZXkgd291bGQgYXBwZWFyCiAvLyBpbiBhbiBlcnJvciBtZXNzYWdlIGZyb20gdGhl
IGNvbXBpbGVyIHVzZWQgdG8gY29tcGlsZSB0aGlzIGNvZGUuCkBAIC05NTIsNyArOTQwLDEyIEBA
IEdURVNUX0FQSV8gOjpzdGQ6OnN0cmluZyBGb3JtYXRDb21waWxlckluZGVwZW5kZW50RmlsZUxv
Y2F0aW9uKGNvbnN0IGNoYXIqIGZpbGUsCiAvLyAgIExvZ1RvU3RkZXJyKCkgIC0gZGlyZWN0cyBh
bGwgbG9nIG1lc3NhZ2VzIHRvIHN0ZGVyci4KIC8vICAgRmx1c2hJbmZvTG9nKCkgLSBmbHVzaGVz
IGluZm9ybWF0aW9uYWwgbG9nIG1lc3NhZ2VzLgogCi1lbnVtIEdUZXN0TG9nU2V2ZXJpdHkgeyBH
VEVTVF9JTkZPLCBHVEVTVF9XQVJOSU5HLCBHVEVTVF9FUlJPUiwgR1RFU1RfRkFUQUwgfTsKK2Vu
dW0gR1Rlc3RMb2dTZXZlcml0eSB7CisgIEdURVNUX0lORk8sCisgIEdURVNUX1dBUk5JTkcsCisg
IEdURVNUX0VSUk9SLAorICBHVEVTVF9GQVRBTAorfTsKIAogLy8gRm9ybWF0cyBsb2cgZW50cnkg
c2V2ZXJpdHksIHByb3ZpZGVzIGEgc3RyZWFtIG9iamVjdCBmb3Igc3RyZWFtaW5nIHRoZQogLy8g
bG9nIG1lc3NhZ2UsIGFuZCB0ZXJtaW5hdGVzIHRoZSBtZXNzYWdlIHdpdGggYSBuZXdsaW5lIHdo
ZW4gZ29pbmcgb3V0IG9mCkBAIC05NjksMTYgKzk2MiwxNCBAQCBjbGFzcyBHVEVTVF9BUElfIEdU
ZXN0TG9nIHsKICBwcml2YXRlOgogICBjb25zdCBHVGVzdExvZ1NldmVyaXR5IHNldmVyaXR5XzsK
IAotICBHVGVzdExvZyhjb25zdCBHVGVzdExvZyYpID0gZGVsZXRlOwotICBHVGVzdExvZyYgb3Bl
cmF0b3I9KGNvbnN0IEdUZXN0TG9nJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NPUFlf
QU5EX0FTU0lHTl8oR1Rlc3RMb2cpOwogfTsKIAogI2lmICFkZWZpbmVkKEdURVNUX0xPR18pCiAK
LSNkZWZpbmUgR1RFU1RfTE9HXyhzZXZlcml0eSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICA6OnRlc3Rpbmc6OmludGVybmFsOjpHVGVzdExvZyg6OnRlc3Rp
bmc6OmludGVybmFsOjpHVEVTVF8jI3NldmVyaXR5LCBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXykgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IC5HZXRTdHJlYW0oKQorIyBkZWZpbmUgR1RFU1RfTE9HXyhzZXZlcml0eSkgXAorICAgIDo6dGVz
dGluZzo6aW50ZXJuYWw6OkdUZXN0TG9nKDo6dGVzdGluZzo6aW50ZXJuYWw6OkdURVNUXyMjc2V2
ZXJpdHksIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0ZJTEVfXywgX19M
SU5FX18pLkdldFN0cmVhbSgpCiAKIGlubGluZSB2b2lkIExvZ1RvU3RkZXJyKCkge30KIGlubGlu
ZSB2b2lkIEZsdXNoSW5mb0xvZygpIHsgZmZsdXNoKG51bGxwdHIpOyB9CkBAIC05OTAsNyArOTgx
LDcgQEAgaW5saW5lIHZvaWQgRmx1c2hJbmZvTG9nKCkgeyBmZmx1c2gobnVsbHB0cik7IH0KIC8v
CiAvLyBHVEVTVF9DSEVDS18gaXMgYW4gYWxsLW1vZGUgYXNzZXJ0LiBJdCBhYm9ydHMgdGhlIHBy
b2dyYW0gaWYgdGhlIGNvbmRpdGlvbgogLy8gaXMgbm90IHNhdGlzZmllZC4KLS8vICBTeW5vcHNp
czoKKy8vICBTeW5vcHN5czoKIC8vICAgIEdURVNUX0NIRUNLXyhib29sZWFuX2NvbmRpdGlvbik7
CiAvLyAgICAgb3IKIC8vICAgIEdURVNUX0NIRUNLXyhib29sZWFuX2NvbmRpdGlvbikgPDwgIkFk
ZGl0aW9uYWwgbWVzc2FnZSI7CkBAIC0xMDAwLDEyICs5OTEsMTIgQEAgaW5saW5lIHZvaWQgRmx1
c2hJbmZvTG9nKCkgeyBmZmx1c2gobnVsbHB0cik7IH0KIC8vICAgIGNvbmRpdGlvbiBpdHNlbGYs
IHBsdXMgYWRkaXRpb25hbCBtZXNzYWdlIHN0cmVhbWVkIGludG8gaXQsIGlmIGFueSwKIC8vICAg
IGFuZCB0aGVuIGl0IGFib3J0cyB0aGUgcHJvZ3JhbS4gSXQgYWJvcnRzIHRoZSBwcm9ncmFtIGly
cmVzcGVjdGl2ZSBvZgogLy8gICAgd2hldGhlciBpdCBpcyBidWlsdCBpbiB0aGUgZGVidWcgbW9k
ZSBvciBub3QuCi0jZGVmaW5lIEdURVNUX0NIRUNLXyhjb25kaXRpb24pICAgICAgICAgICAgICAg
XAotICBHVEVTVF9BTUJJR1VPVVNfRUxTRV9CTE9DS0VSXyAgICAgICAgICAgICAgIFwKLSAgaWYg
KDo6dGVzdGluZzo6aW50ZXJuYWw6OklzVHJ1ZShjb25kaXRpb24pKSBcCi0gICAgOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBlbHNlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBHVEVTVF9MT0dfKEZBVEFMKSA8PCAiQ29u
ZGl0aW9uICIgI2NvbmRpdGlvbiAiIGZhaWxlZC4gIgorIyBkZWZpbmUgR1RFU1RfQ0hFQ0tfKGNv
bmRpdGlvbikgXAorICAgIEdURVNUX0FNQklHVU9VU19FTFNFX0JMT0NLRVJfIFwKKyAgICBpZiAo
Ojp0ZXN0aW5nOjppbnRlcm5hbDo6SXNUcnVlKGNvbmRpdGlvbikpIFwKKyAgICAgIDsgXAorICAg
IGVsc2UgXAorICAgICAgR1RFU1RfTE9HXyhGQVRBTCkgPDwgIkNvbmRpdGlvbiAiICNjb25kaXRp
b24gIiBmYWlsZWQuICIKICNlbmRpZiAgLy8gIWRlZmluZWQoR1RFU1RfQ0hFQ0tfKQogCiAvLyBB
biBhbGwtbW9kZSBhc3NlcnQgdG8gdmVyaWZ5IHRoYXQgdGhlIGdpdmVuIFBPU0lYLXN0eWxlIGZ1
bmN0aW9uCkBAIC0xMDE0LDggKzEwMDUsOSBAQCBpbmxpbmUgdm9pZCBGbHVzaEluZm9Mb2coKSB7
IGZmbHVzaChudWxscHRyKTsgfQogLy8gaW4ge30gaWYgeW91IG5lZWQgdG8gdXNlIGl0IGFzIHRo
ZSBvbmx5IHN0YXRlbWVudCBpbiBhbiAnaWYnCiAvLyBicmFuY2guCiAjZGVmaW5lIEdURVNUX0NI
RUNLX1BPU0lYX1NVQ0NFU1NfKHBvc2l4X2NhbGwpIFwKLSAgaWYgKGNvbnN0IGludCBndGVzdF9l
cnJvciA9IChwb3NpeF9jYWxsKSkgICAgXAotICBHVEVTVF9MT0dfKEZBVEFMKSA8PCAjcG9zaXhf
Y2FsbCA8PCAiZmFpbGVkIHdpdGggZXJyb3IgIiA8PCBndGVzdF9lcnJvcgorICBpZiAoY29uc3Qg
aW50IGd0ZXN0X2Vycm9yID0gKHBvc2l4X2NhbGwpKSBcCisgICAgR1RFU1RfTE9HXyhGQVRBTCkg
PDwgI3Bvc2l4X2NhbGwgPDwgImZhaWxlZCB3aXRoIGVycm9yICIgXAorICAgICAgICAgICAgICAg
ICAgICAgIDw8IGd0ZXN0X2Vycm9yCiAKIC8vIFRyYW5zZm9ybXMgIlQiIGludG8gImNvbnN0IFQm
IiBhY2NvcmRpbmcgdG8gc3RhbmRhcmQgcmVmZXJlbmNlIGNvbGxhcHNpbmcKIC8vIHJ1bGVzICh0
aGlzIGlzIG9ubHkgbmVlZGVkIGFzIGEgYmFja3BvcnQgZm9yIEMrKzk4IGNvbXBpbGVycyB0aGF0
IGRvIG5vdApAQCAtMTAyOSwxMyArMTAyMSw5IEBAIGlubGluZSB2b2lkIEZsdXNoSW5mb0xvZygp
IHsgZmZsdXNoKG51bGxwdHIpOyB9CiAvLyBOb3RlIHRoYXQgdGhlIG5vbi1jb25zdCByZWZlcmVu
Y2Ugd2lsbCBub3QgaGF2ZSAiY29uc3QiIGFkZGVkLiBUaGlzIGlzCiAvLyBzdGFuZGFyZCwgYW5k
IG5lY2Vzc2FyeSBzbyB0aGF0ICJUIiBjYW4gYWx3YXlzIGJpbmQgdG8gImNvbnN0IFQmIi4KIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgotc3RydWN0IENvbnN0UmVmIHsKLSAgdHlwZWRlZiBjb25zdCBU
JiB0eXBlOwotfTsKK3N0cnVjdCBDb25zdFJlZiB7IHR5cGVkZWYgY29uc3QgVCYgdHlwZTsgfTsK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotc3RydWN0IENvbnN0UmVmPFQmPiB7Ci0gIHR5cGVkZWYg
VCYgdHlwZTsKLX07CitzdHJ1Y3QgQ29uc3RSZWY8VCY+IHsgdHlwZWRlZiBUJiB0eXBlOyB9Owog
CiAvLyBUaGUgYXJndW1lbnQgVCBtdXN0IGRlcGVuZCBvbiBzb21lIHRlbXBsYXRlIHBhcmFtZXRl
cnMuCiAjZGVmaW5lIEdURVNUX1JFRkVSRU5DRV9UT19DT05TVF8oVCkgXApAQCAtMTA0OCw3ICsx
MDM2LDcgQEAgc3RydWN0IENvbnN0UmVmPFQmPiB7CiAvLyBjb25zdCBGb28qKS4gIFdoZW4geW91
IHVzZSBJbXBsaWNpdENhc3RfLCB0aGUgY29tcGlsZXIgY2hlY2tzIHRoYXQKIC8vIHRoZSBjYXN0
IGlzIHNhZmUuICBTdWNoIGV4cGxpY2l0IEltcGxpY2l0Q2FzdF9zIGFyZSBuZWNlc3NhcnkgaW4K
IC8vIHN1cnByaXNpbmdseSBtYW55IHNpdHVhdGlvbnMgd2hlcmUgQysrIGRlbWFuZHMgYW4gZXhh
Y3QgdHlwZSBtYXRjaAotLy8gaW5zdGVhZCBvZiBhbiBhcmd1bWVudCB0eXBlIGNvbnZlcnRpYmxl
IHRvIGEgdGFyZ2V0IHR5cGUuCisvLyBpbnN0ZWFkIG9mIGFuIGFyZ3VtZW50IHR5cGUgY29udmVy
dGFibGUgdG8gYSB0YXJnZXQgdHlwZS4KIC8vCiAvLyBUaGUgc3ludGF4IGZvciB1c2luZyBJbXBs
aWNpdENhc3RfIGlzIHRoZSBzYW1lIGFzIGZvciBzdGF0aWNfY2FzdDoKIC8vCkBAIC0xMDYxLDEw
ICsxMDQ5LDggQEAgc3RydWN0IENvbnN0UmVmPFQmPiB7CiAvLyBUaGlzIHJlbGF0aXZlbHkgdWds
eSBuYW1lIGlzIGludGVudGlvbmFsLiBJdCBwcmV2ZW50cyBjbGFzaGVzIHdpdGgKIC8vIHNpbWls
YXIgZnVuY3Rpb25zIHVzZXJzIG1heSBoYXZlIChlLmcuLCBpbXBsaWNpdF9jYXN0KS4gVGhlIGlu
dGVybmFsCiAvLyBuYW1lc3BhY2UgYWxvbmUgaXMgbm90IGVub3VnaCBiZWNhdXNlIHRoZSBmdW5j
dGlvbiBjYW4gYmUgZm91bmQgYnkgQURMLgotdGVtcGxhdGUgPHR5cGVuYW1lIFRvPgotaW5saW5l
IFRvIEltcGxpY2l0Q2FzdF8oVG8geCkgewotICByZXR1cm4geDsKLX0KK3RlbXBsYXRlPHR5cGVu
YW1lIFRvPgoraW5saW5lIFRvIEltcGxpY2l0Q2FzdF8oVG8geCkgeyByZXR1cm4geDsgfQogCiAv
LyBXaGVuIHlvdSB1cGNhc3QgKHRoYXQgaXMsIGNhc3QgYSBwb2ludGVyIGZyb20gdHlwZSBGb28g
dG8gdHlwZQogLy8gU3VwZXJjbGFzc09mRm9vKSwgaXQncyBmaW5lIHRvIHVzZSBJbXBsaWNpdENh
c3RfPD4sIHNpbmNlIHVwY2FzdHMKQEAgLTEwODcsMTcgKzEwNzMsMTcgQEAgaW5saW5lIFRvIElt
cGxpY2l0Q2FzdF8oVG8geCkgewogLy8gVGhpcyByZWxhdGl2ZWx5IHVnbHkgbmFtZSBpcyBpbnRl
bnRpb25hbC4gSXQgcHJldmVudHMgY2xhc2hlcyB3aXRoCiAvLyBzaW1pbGFyIGZ1bmN0aW9ucyB1
c2VycyBtYXkgaGF2ZSAoZS5nLiwgZG93bl9jYXN0KS4gVGhlIGludGVybmFsCiAvLyBuYW1lc3Bh
Y2UgYWxvbmUgaXMgbm90IGVub3VnaCBiZWNhdXNlIHRoZSBmdW5jdGlvbiBjYW4gYmUgZm91bmQg
YnkgQURMLgotdGVtcGxhdGUgPHR5cGVuYW1lIFRvLCB0eXBlbmFtZSBGcm9tPiAgLy8gdXNlIGxp
a2UgdGhpczogRG93bkNhc3RfPFQqPihmb28pOwotaW5saW5lIFRvIERvd25DYXN0XyhGcm9tKiBm
KSB7ICAgICAgICAgLy8gc28gd2Ugb25seSBhY2NlcHQgcG9pbnRlcnMKK3RlbXBsYXRlPHR5cGVu
YW1lIFRvLCB0eXBlbmFtZSBGcm9tPiAgLy8gdXNlIGxpa2UgdGhpczogRG93bkNhc3RfPFQqPihm
b28pOworaW5saW5lIFRvIERvd25DYXN0XyhGcm9tKiBmKSB7ICAvLyBzbyB3ZSBvbmx5IGFjY2Vw
dCBwb2ludGVycwogICAvLyBFbnN1cmVzIHRoYXQgVG8gaXMgYSBzdWItdHlwZSBvZiBGcm9tICou
ICBUaGlzIHRlc3QgaXMgaGVyZSBvbmx5CiAgIC8vIGZvciBjb21waWxlLXRpbWUgdHlwZSBjaGVj
a2luZywgYW5kIGhhcyBubyBvdmVyaGVhZCBpbiBhbgogICAvLyBvcHRpbWl6ZWQgYnVpbGQgYXQg
cnVuLXRpbWUsIGFzIGl0IHdpbGwgYmUgb3B0aW1pemVkIGF3YXkKICAgLy8gY29tcGxldGVseS4K
ICAgR1RFU1RfSU5URU5USU9OQUxfQ09OU1RfQ09ORF9QVVNIXygpCiAgIGlmIChmYWxzZSkgewot
ICAgIEdURVNUX0lOVEVOVElPTkFMX0NPTlNUX0NPTkRfUE9QXygpCi0gICAgY29uc3QgVG8gdG8g
PSBudWxscHRyOwotICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6OkltcGxpY2l0Q2FzdF88RnJvbSo+
KHRvKTsKKyAgR1RFU1RfSU5URU5USU9OQUxfQ09OU1RfQ09ORF9QT1BfKCkKKyAgY29uc3QgVG8g
dG8gPSBudWxscHRyOworICA6OnRlc3Rpbmc6OmludGVybmFsOjpJbXBsaWNpdENhc3RfPEZyb20q
Pih0byk7CiAgIH0KIAogI2lmIEdURVNUX0hBU19SVFRJCkBAIC0xMTYyLDggKzExNDgsNzEgQEAg
dm9pZCBDbGVhckluamVjdGFibGVBcmd2cygpOwogCiAvLyBEZWZpbmVzIHN5bmNocm9uaXphdGlv
biBwcmltaXRpdmVzLgogI2lmIEdURVNUX0lTX1RIUkVBRFNBRkUKKyMgaWYgR1RFU1RfSEFTX1BU
SFJFQUQKKy8vIFNsZWVwcyBmb3IgKHJvdWdobHkpIG4gbWlsbGlzZWNvbmRzLiAgVGhpcyBmdW5j
dGlvbiBpcyBvbmx5IGZvciB0ZXN0aW5nCisvLyBHb29nbGUgVGVzdCdzIG93biBjb25zdHJ1Y3Rz
LiAgRG9uJ3QgdXNlIGl0IGluIHVzZXIgdGVzdHMsIGVpdGhlcgorLy8gZGlyZWN0bHkgb3IgaW5k
aXJlY3RseS4KK2lubGluZSB2b2lkIFNsZWVwTWlsbGlzZWNvbmRzKGludCBuKSB7CisgIGNvbnN0
IHRpbWVzcGVjIHRpbWUgPSB7CisgICAgMCwgICAgICAgICAgICAgICAgICAvLyAwIHNlY29uZHMu
CisgICAgbiAqIDEwMDBMICogMTAwMEwsICAvLyBBbmQgbiBtcy4KKyAgfTsKKyAgbmFub3NsZWVw
KCZ0aW1lLCBudWxscHRyKTsKK30KKyMgZW5kaWYgIC8vIEdURVNUX0hBU19QVEhSRUFECisKKyMg
aWYgR1RFU1RfSEFTX05PVElGSUNBVElPTl8KKy8vIE5vdGlmaWNhdGlvbiBoYXMgYWxyZWFkeSBi
ZWVuIGltcG9ydGVkIGludG8gdGhlIG5hbWVzcGFjZS4KKy8vIE5vdGhpbmcgdG8gZG8gaGVyZS4K
KworIyBlbGlmIEdURVNUX0hBU19QVEhSRUFECisvLyBBbGxvd3MgYSBjb250cm9sbGVyIHRocmVh
ZCB0byBwYXVzZSBleGVjdXRpb24gb2YgbmV3bHkgY3JlYXRlZAorLy8gdGhyZWFkcyB1bnRpbCBu
b3RpZmllZC4gIEluc3RhbmNlcyBvZiB0aGlzIGNsYXNzIG11c3QgYmUgY3JlYXRlZAorLy8gYW5k
IGRlc3Ryb3llZCBpbiB0aGUgY29udHJvbGxlciB0aHJlYWQuCisvLworLy8gVGhpcyBjbGFzcyBp
cyBvbmx5IGZvciB0ZXN0aW5nIEdvb2dsZSBUZXN0J3Mgb3duIGNvbnN0cnVjdHMuIERvIG5vdAor
Ly8gdXNlIGl0IGluIHVzZXIgdGVzdHMsIGVpdGhlciBkaXJlY3RseSBvciBpbmRpcmVjdGx5Lgor
Y2xhc3MgTm90aWZpY2F0aW9uIHsKKyBwdWJsaWM6CisgIE5vdGlmaWNhdGlvbigpIDogbm90aWZp
ZWRfKGZhbHNlKSB7CisgICAgR1RFU1RfQ0hFQ0tfUE9TSVhfU1VDQ0VTU18ocHRocmVhZF9tdXRl
eF9pbml0KCZtdXRleF8sIG51bGxwdHIpKTsKKyAgfQorICB+Tm90aWZpY2F0aW9uKCkgeworICAg
IHB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmbXV0ZXhfKTsKKyAgfQorCisgIC8vIE5vdGlmaWVzIGFs
bCB0aHJlYWRzIGNyZWF0ZWQgd2l0aCB0aGlzIG5vdGlmaWNhdGlvbiB0byBzdGFydC4gTXVzdAor
ICAvLyBiZSBjYWxsZWQgZnJvbSB0aGUgY29udHJvbGxlciB0aHJlYWQuCisgIHZvaWQgTm90aWZ5
KCkgeworICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXhfKTsKKyAgICBub3RpZmllZF8gPSB0
cnVlOworICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZtdXRleF8pOworICB9CisKKyAgLy8gQmxv
Y2tzIHVudGlsIHRoZSBjb250cm9sbGVyIHRocmVhZCBub3RpZmllcy4gTXVzdCBiZSBjYWxsZWQg
ZnJvbSBhIHRlc3QKKyAgLy8gdGhyZWFkLgorICB2b2lkIFdhaXRGb3JOb3RpZmljYXRpb24oKSB7
CisgICAgZm9yICg7OykgeworICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleF8pOworICAg
ICAgY29uc3QgYm9vbCBub3RpZmllZCA9IG5vdGlmaWVkXzsKKyAgICAgIHB0aHJlYWRfbXV0ZXhf
dW5sb2NrKCZtdXRleF8pOworICAgICAgaWYgKG5vdGlmaWVkKQorICAgICAgICBicmVhazsKKyAg
ICAgIFNsZWVwTWlsbGlzZWNvbmRzKDEwKTsKKyAgICB9CisgIH0KKworIHByaXZhdGU6CisgIHB0
aHJlYWRfbXV0ZXhfdCBtdXRleF87CisgIGJvb2wgbm90aWZpZWRfOworCisgIEdURVNUX0RJU0FM
TE9XX0NPUFlfQU5EX0FTU0lHTl8oTm90aWZpY2F0aW9uKTsKK307CisKKyMgZWxpZiBHVEVTVF9P
U19XSU5ET1dTICYmICFHVEVTVF9PU19XSU5ET1dTX1BIT05FICYmICFHVEVTVF9PU19XSU5ET1dT
X1JUCisKK0dURVNUX0FQSV8gdm9pZCBTbGVlcE1pbGxpc2Vjb25kcyhpbnQgbik7CiAKLSNpZiBH
VEVTVF9PU19XSU5ET1dTCiAvLyBQcm92aWRlcyBsZWFrLXNhZmUgV2luZG93cyBrZXJuZWwgaGFu
ZGxlIG93bmVyc2hpcC4KIC8vIFVzZWQgaW4gZGVhdGggdGVzdHMgYW5kIGluIHRocmVhZGluZyBz
dXBwb3J0LgogY2xhc3MgR1RFU1RfQVBJXyBBdXRvSGFuZGxlIHsKQEAgLTExOTAsMTggKzEyMzks
OCBAQCBjbGFzcyBHVEVTVF9BUElfIEF1dG9IYW5kbGUgewogCiAgIEhhbmRsZSBoYW5kbGVfOwog
Ci0gIEF1dG9IYW5kbGUoY29uc3QgQXV0b0hhbmRsZSYpID0gZGVsZXRlOwotICBBdXRvSGFuZGxl
JiBvcGVyYXRvcj0oY29uc3QgQXV0b0hhbmRsZSYpID0gZGVsZXRlOworICBHVEVTVF9ESVNBTExP
V19DT1BZX0FORF9BU1NJR05fKEF1dG9IYW5kbGUpOwogfTsKLSNlbmRpZgotCi0jaWYgR1RFU1Rf
SEFTX05PVElGSUNBVElPTl8KLS8vIE5vdGlmaWNhdGlvbiBoYXMgYWxyZWFkeSBiZWVuIGltcG9y
dGVkIGludG8gdGhlIG5hbWVzcGFjZS4KLS8vIE5vdGhpbmcgdG8gZG8gaGVyZS4KLQotI2Vsc2UK
LUdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BVU0hfKDQyNTEgXAotLyogY2xhc3MgQSBuZWVk
cyB0byBoYXZlIGRsbC1pbnRlcmZhY2UgdG8gYmUgdXNlZCBieSBjbGllbnRzIG9mIGNsYXNzIEIg
Ki8pCiAKIC8vIEFsbG93cyBhIGNvbnRyb2xsZXIgdGhyZWFkIHRvIHBhdXNlIGV4ZWN1dGlvbiBv
ZiBuZXdseSBjcmVhdGVkCiAvLyB0aHJlYWRzIHVudGlsIG5vdGlmaWVkLiAgSW5zdGFuY2VzIG9m
IHRoaXMgY2xhc3MgbXVzdCBiZSBjcmVhdGVkCkBAIC0xMjA5LDQwICsxMjQ4LDIzIEBAIEdURVNU
X0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BVU0hfKDQyNTEgXAogLy8KIC8vIFRoaXMgY2xhc3MgaXMg
b25seSBmb3IgdGVzdGluZyBHb29nbGUgVGVzdCdzIG93biBjb25zdHJ1Y3RzLiBEbyBub3QKIC8v
IHVzZSBpdCBpbiB1c2VyIHRlc3RzLCBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4KLS8v
IFRPRE8oYi8yMDM1Mzk2MjIpOiBSZXBsYWNlIHVuY29uZGl0aW9uYWxseSB3aXRoIGFic2w6Ok5v
dGlmaWNhdGlvbi4KIGNsYXNzIEdURVNUX0FQSV8gTm90aWZpY2F0aW9uIHsKICBwdWJsaWM6Ci0g
IE5vdGlmaWNhdGlvbigpIDogbm90aWZpZWRfKGZhbHNlKSB7fQotICBOb3RpZmljYXRpb24oY29u
c3QgTm90aWZpY2F0aW9uJikgPSBkZWxldGU7Ci0gIE5vdGlmaWNhdGlvbiYgb3BlcmF0b3I9KGNv
bnN0IE5vdGlmaWNhdGlvbiYpID0gZGVsZXRlOwotCi0gIC8vIE5vdGlmaWVzIGFsbCB0aHJlYWRz
IGNyZWF0ZWQgd2l0aCB0aGlzIG5vdGlmaWNhdGlvbiB0byBzdGFydC4gTXVzdAotICAvLyBiZSBj
YWxsZWQgZnJvbSB0aGUgY29udHJvbGxlciB0aHJlYWQuCi0gIHZvaWQgTm90aWZ5KCkgewotICAg
IHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG11Xyk7Ci0gICAgbm90aWZpZWRfID0g
dHJ1ZTsKLSAgICBjdl8ubm90aWZ5X2FsbCgpOwotICB9Ci0KLSAgLy8gQmxvY2tzIHVudGlsIHRo
ZSBjb250cm9sbGVyIHRocmVhZCBub3RpZmllcy4gTXVzdCBiZSBjYWxsZWQgZnJvbSBhIHRlc3QK
LSAgLy8gdGhyZWFkLgotICB2b2lkIFdhaXRGb3JOb3RpZmljYXRpb24oKSB7Ci0gICAgc3RkOjp1
bmlxdWVfbG9jazxzdGQ6Om11dGV4PiBsb2NrKG11Xyk7Ci0gICAgY3ZfLndhaXQobG9jaywgW3Ro
aXNdKCkgeyByZXR1cm4gbm90aWZpZWRfOyB9KTsKLSAgfQorICBOb3RpZmljYXRpb24oKTsKKyAg
dm9pZCBOb3RpZnkoKTsKKyAgdm9pZCBXYWl0Rm9yTm90aWZpY2F0aW9uKCk7CiAKICBwcml2YXRl
OgotICBzdGQ6Om11dGV4IG11XzsKLSAgc3RkOjpjb25kaXRpb25fdmFyaWFibGUgY3ZfOwotICBi
b29sIG5vdGlmaWVkXzsKKyAgQXV0b0hhbmRsZSBldmVudF87CisKKyAgR1RFU1RfRElTQUxMT1df
Q09QWV9BTkRfQVNTSUdOXyhOb3RpZmljYXRpb24pOwogfTsKLUdURVNUX0RJU0FCTEVfTVNDX1dB
Uk5JTkdTX1BPUF8oKSAgLy8gNDI1MQotI2VuZGlmICAvLyBHVEVTVF9IQVNfTk9USUZJQ0FUSU9O
XworIyBlbmRpZiAgLy8gR1RFU1RfSEFTX05PVElGSUNBVElPTl8KIAogLy8gT24gTWluR1csIHdl
IGNhbiBoYXZlIGJvdGggR1RFU1RfT1NfV0lORE9XUyBhbmQgR1RFU1RfSEFTX1BUSFJFQUQKIC8v
IGRlZmluZWQsIGJ1dCB3ZSBkb24ndCB3YW50IHRvIHVzZSBNaW5HVydzIHB0aHJlYWRzIGltcGxl
bWVudGF0aW9uLCB3aGljaAogLy8gaGFzIGNvbmZvcm1hbmNlIHByb2JsZW1zIHdpdGggc29tZSB2
ZXJzaW9ucyBvZiB0aGUgUE9TSVggc3RhbmRhcmQuCi0jaWYgR1RFU1RfSEFTX1BUSFJFQUQgJiYg
IUdURVNUX09TX1dJTkRPV1NfTUlOR1cKKyMgaWYgR1RFU1RfSEFTX1BUSFJFQUQgJiYgIUdURVNU
X09TX1dJTkRPV1NfTUlOR1cKIAogLy8gQXMgYSBDLWZ1bmN0aW9uLCBUaHJlYWRGdW5jV2l0aENM
aW5rYWdlIGNhbm5vdCBiZSB0ZW1wbGF0ZWQgaXRzZWxmLgogLy8gQ29uc2VxdWVudGx5LCBpdCBj
YW5ub3Qgc2VsZWN0IGEgY29ycmVjdCBpbnN0YW50aWF0aW9uIG9mIFRocmVhZFdpdGhQYXJhbQpA
QCAtMTMxOCwxNyArMTM0MCwxNiBAQCBjbGFzcyBUaHJlYWRXaXRoUGFyYW0gOiBwdWJsaWMgVGhy
ZWFkV2l0aFBhcmFtQmFzZSB7CiAgICAgICAgICAgICAgICAgICAgLy8gZmluaXNoZWQuCiAgIHB0
aHJlYWRfdCB0aHJlYWRfOyAgLy8gVGhlIG5hdGl2ZSB0aHJlYWQgb2JqZWN0LgogCi0gIFRocmVh
ZFdpdGhQYXJhbShjb25zdCBUaHJlYWRXaXRoUGFyYW0mKSA9IGRlbGV0ZTsKLSAgVGhyZWFkV2l0
aFBhcmFtJiBvcGVyYXRvcj0oY29uc3QgVGhyZWFkV2l0aFBhcmFtJikgPSBkZWxldGU7CisgIEdU
RVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8oVGhyZWFkV2l0aFBhcmFtKTsKIH07Ci0jZW5k
aWYgIC8vICFHVEVTVF9PU19XSU5ET1dTICYmIEdURVNUX0hBU19QVEhSRUFEIHx8Ci0gICAgICAg
IC8vIEdURVNUX0hBU19NVVRFWF9BTkRfVEhSRUFEX0xPQ0FMXworIyBlbmRpZiAgLy8gIUdURVNU
X09TX1dJTkRPV1MgJiYgR1RFU1RfSEFTX1BUSFJFQUQgfHwKKyAgICAgICAgIC8vIEdURVNUX0hB
U19NVVRFWF9BTkRfVEhSRUFEX0xPQ0FMXwogCi0jaWYgR1RFU1RfSEFTX01VVEVYX0FORF9USFJF
QURfTE9DQUxfCisjIGlmIEdURVNUX0hBU19NVVRFWF9BTkRfVEhSRUFEX0xPQ0FMXwogLy8gTXV0
ZXggYW5kIFRocmVhZExvY2FsIGhhdmUgYWxyZWFkeSBiZWVuIGltcG9ydGVkIGludG8gdGhlIG5h
bWVzcGFjZS4KIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4KIAotI2VsaWYgR1RFU1RfT1NfV0lORE9X
UyAmJiAhR1RFU1RfT1NfV0lORE9XU19QSE9ORSAmJiAhR1RFU1RfT1NfV0lORE9XU19SVAorIyBl
bGlmIEdURVNUX09TX1dJTkRPV1MgJiYgIUdURVNUX09TX1dJTkRPV1NfUEhPTkUgJiYgIUdURVNU
X09TX1dJTkRPV1NfUlQKIAogLy8gTXV0ZXggaW1wbGVtZW50cyBtdXRleCBvbiBXaW5kb3dzIHBs
YXRmb3Jtcy4gIEl0IGlzIHVzZWQgaW4gY29uanVuY3Rpb24KIC8vIHdpdGggY2xhc3MgTXV0ZXhM
b2NrOgpAQCAtMTM4MiwxNSArMTQwMywxNCBAQCBjbGFzcyBHVEVTVF9BUElfIE11dGV4IHsKICAg
bG9uZyBjcml0aWNhbF9zZWN0aW9uX2luaXRfcGhhc2VfOyAgLy8gTk9MSU5UCiAgIEdURVNUX0NS
SVRJQ0FMX1NFQ1RJT04qIGNyaXRpY2FsX3NlY3Rpb25fOwogCi0gIE11dGV4KGNvbnN0IE11dGV4
JikgPSBkZWxldGU7Ci0gIE11dGV4JiBvcGVyYXRvcj0oY29uc3QgTXV0ZXgmKSA9IGRlbGV0ZTsK
KyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhNdXRleCk7CiB9OwogCi0jZGVmaW5l
IEdURVNUX0RFQ0xBUkVfU1RBVElDX01VVEVYXyhtdXRleCkgXAotICBleHRlcm4gOjp0ZXN0aW5n
OjppbnRlcm5hbDo6TXV0ZXggbXV0ZXgKKyMgZGVmaW5lIEdURVNUX0RFQ0xBUkVfU1RBVElDX01V
VEVYXyhtdXRleCkgXAorICAgIGV4dGVybiA6OnRlc3Rpbmc6OmludGVybmFsOjpNdXRleCBtdXRl
eAogCi0jZGVmaW5lIEdURVNUX0RFRklORV9TVEFUSUNfTVVURVhfKG11dGV4KSBcCi0gIDo6dGVz
dGluZzo6aW50ZXJuYWw6Ok11dGV4IG11dGV4KDo6dGVzdGluZzo6aW50ZXJuYWw6Ok11dGV4Ojpr
U3RhdGljTXV0ZXgpCisjIGRlZmluZSBHVEVTVF9ERUZJTkVfU1RBVElDX01VVEVYXyhtdXRleCkg
XAorICAgIDo6dGVzdGluZzo6aW50ZXJuYWw6Ok11dGV4IG11dGV4KDo6dGVzdGluZzo6aW50ZXJu
YWw6Ok11dGV4OjprU3RhdGljTXV0ZXgpCiAKIC8vIFdlIGNhbm5vdCBuYW1lIHRoaXMgY2xhc3Mg
TXV0ZXhMb2NrIGJlY2F1c2UgdGhlIGN0b3IgZGVjbGFyYXRpb24gd291bGQKIC8vIGNvbmZsaWN0
IHdpdGggYSBtYWNybyBuYW1lZCBNdXRleExvY2ssIHdoaWNoIGlzIGRlZmluZWQgb24gc29tZQpA
QCAtMTM5OSwxNSArMTQxOSwxNSBAQCBjbGFzcyBHVEVTVF9BUElfIE11dGV4IHsKIC8vICJNdXRl
eExvY2sgbCgmbXUpIi4gIEhlbmNlIHRoZSB0eXBlZGVmIHRyaWNrIGJlbG93LgogY2xhc3MgR1Rl
c3RNdXRleExvY2sgewogIHB1YmxpYzoKLSAgZXhwbGljaXQgR1Rlc3RNdXRleExvY2soTXV0ZXgq
IG11dGV4KSA6IG11dGV4XyhtdXRleCkgeyBtdXRleF8tPkxvY2soKTsgfQorICBleHBsaWNpdCBH
VGVzdE11dGV4TG9jayhNdXRleCogbXV0ZXgpCisgICAgICA6IG11dGV4XyhtdXRleCkgeyBtdXRl
eF8tPkxvY2soKTsgfQogCiAgIH5HVGVzdE11dGV4TG9jaygpIHsgbXV0ZXhfLT5VbmxvY2soKTsg
fQogCiAgcHJpdmF0ZToKICAgTXV0ZXgqIGNvbnN0IG11dGV4XzsKIAotICBHVGVzdE11dGV4TG9j
ayhjb25zdCBHVGVzdE11dGV4TG9jayYpID0gZGVsZXRlOwotICBHVGVzdE11dGV4TG9jayYgb3Bl
cmF0b3I9KGNvbnN0IEdUZXN0TXV0ZXhMb2NrJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9X
X0NPUFlfQU5EX0FTU0lHTl8oR1Rlc3RNdXRleExvY2spOwogfTsKIAogdHlwZWRlZiBHVGVzdE11
dGV4TG9jayBNdXRleExvY2s7CkBAIC0xNDM0LDggKzE0NTQsNyBAQCBjbGFzcyBUaHJlYWRMb2Nh
bEJhc2UgewogICB2aXJ0dWFsIH5UaHJlYWRMb2NhbEJhc2UoKSB7fQogCiAgcHJpdmF0ZToKLSAg
VGhyZWFkTG9jYWxCYXNlKGNvbnN0IFRocmVhZExvY2FsQmFzZSYpID0gZGVsZXRlOwotICBUaHJl
YWRMb2NhbEJhc2UmIG9wZXJhdG9yPShjb25zdCBUaHJlYWRMb2NhbEJhc2UmKSA9IGRlbGV0ZTsK
KyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhUaHJlYWRMb2NhbEJhc2UpOwogfTsK
IAogLy8gTWFwcyBhIHRocmVhZCB0byBhIHNldCBvZiBUaHJlYWRMb2NhbHMgdGhhdCBoYXZlIHZh
bHVlcyBpbnN0YW50aWF0ZWQgb24gdGhhdApAQCAtMTQ2NCw3ICsxNDgzLDcgQEAgY2xhc3MgR1RF
U1RfQVBJXyBUaHJlYWRXaXRoUGFyYW1CYXNlIHsKICAgICB2aXJ0dWFsIHZvaWQgUnVuKCkgPSAw
OwogICB9OwogCi0gIFRocmVhZFdpdGhQYXJhbUJhc2UoUnVubmFibGUqIHJ1bm5hYmxlLCBOb3Rp
ZmljYXRpb24qIHRocmVhZF9jYW5fc3RhcnQpOworICBUaHJlYWRXaXRoUGFyYW1CYXNlKFJ1bm5h
YmxlICpydW5uYWJsZSwgTm90aWZpY2F0aW9uKiB0aHJlYWRfY2FuX3N0YXJ0KTsKICAgdmlydHVh
bCB+VGhyZWFkV2l0aFBhcmFtQmFzZSgpOwogCiAgcHJpdmF0ZToKQEAgLTE0NzgsMjYgKzE0OTcs
MzAgQEAgY2xhc3MgVGhyZWFkV2l0aFBhcmFtIDogcHVibGljIFRocmVhZFdpdGhQYXJhbUJhc2Ug
ewogICB0eXBlZGVmIHZvaWQgVXNlclRocmVhZEZ1bmMoVCk7CiAKICAgVGhyZWFkV2l0aFBhcmFt
KFVzZXJUaHJlYWRGdW5jKiBmdW5jLCBUIHBhcmFtLCBOb3RpZmljYXRpb24qIHRocmVhZF9jYW5f
c3RhcnQpCi0gICAgICA6IFRocmVhZFdpdGhQYXJhbUJhc2UobmV3IFJ1bm5hYmxlSW1wbChmdW5j
LCBwYXJhbSksIHRocmVhZF9jYW5fc3RhcnQpIHt9CisgICAgICA6IFRocmVhZFdpdGhQYXJhbUJh
c2UobmV3IFJ1bm5hYmxlSW1wbChmdW5jLCBwYXJhbSksIHRocmVhZF9jYW5fc3RhcnQpIHsKKyAg
fQogICB2aXJ0dWFsIH5UaHJlYWRXaXRoUGFyYW0oKSB7fQogCiAgcHJpdmF0ZToKICAgY2xhc3Mg
UnVubmFibGVJbXBsIDogcHVibGljIFJ1bm5hYmxlIHsKICAgIHB1YmxpYzoKLSAgICBSdW5uYWJs
ZUltcGwoVXNlclRocmVhZEZ1bmMqIGZ1bmMsIFQgcGFyYW0pIDogZnVuY18oZnVuYyksIHBhcmFt
XyhwYXJhbSkge30KKyAgICBSdW5uYWJsZUltcGwoVXNlclRocmVhZEZ1bmMqIGZ1bmMsIFQgcGFy
YW0pCisgICAgICAgIDogZnVuY18oZnVuYyksCisgICAgICAgICAgcGFyYW1fKHBhcmFtKSB7Cisg
ICAgfQogICAgIHZpcnR1YWwgflJ1bm5hYmxlSW1wbCgpIHt9Ci0gICAgdmlydHVhbCB2b2lkIFJ1
bigpIHsgZnVuY18ocGFyYW1fKTsgfQorICAgIHZpcnR1YWwgdm9pZCBSdW4oKSB7CisgICAgICBm
dW5jXyhwYXJhbV8pOworICAgIH0KIAogICAgcHJpdmF0ZToKICAgICBVc2VyVGhyZWFkRnVuYyog
Y29uc3QgZnVuY187CiAgICAgY29uc3QgVCBwYXJhbV87CiAKLSAgICBSdW5uYWJsZUltcGwoY29u
c3QgUnVubmFibGVJbXBsJikgPSBkZWxldGU7Ci0gICAgUnVubmFibGVJbXBsJiBvcGVyYXRvcj0o
Y29uc3QgUnVubmFibGVJbXBsJikgPSBkZWxldGU7CisgICAgR1RFU1RfRElTQUxMT1dfQ09QWV9B
TkRfQVNTSUdOXyhSdW5uYWJsZUltcGwpOwogICB9OwogCi0gIFRocmVhZFdpdGhQYXJhbShjb25z
dCBUaHJlYWRXaXRoUGFyYW0mKSA9IGRlbGV0ZTsKLSAgVGhyZWFkV2l0aFBhcmFtJiBvcGVyYXRv
cj0oY29uc3QgVGhyZWFkV2l0aFBhcmFtJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NP
UFlfQU5EX0FTU0lHTl8oVGhyZWFkV2l0aFBhcmFtKTsKIH07CiAKIC8vIEltcGxlbWVudHMgdGhy
ZWFkLWxvY2FsIHN0b3JhZ2Ugb24gV2luZG93cyBzeXN0ZW1zLgpAQCAtMTUzNCw3ICsxNTU3LDcg
QEAgY2xhc3MgVGhyZWFkTG9jYWwgOiBwdWJsaWMgVGhyZWFkTG9jYWxCYXNlIHsKICAgZXhwbGlj
aXQgVGhyZWFkTG9jYWwoY29uc3QgVCYgdmFsdWUpCiAgICAgICA6IGRlZmF1bHRfZmFjdG9yeV8o
bmV3IEluc3RhbmNlVmFsdWVIb2xkZXJGYWN0b3J5KHZhbHVlKSkge30KIAotICB+VGhyZWFkTG9j
YWwoKSBvdmVycmlkZSB7IFRocmVhZExvY2FsUmVnaXN0cnk6Ok9uVGhyZWFkTG9jYWxEZXN0cm95
ZWQodGhpcyk7IH0KKyAgflRocmVhZExvY2FsKCkgeyBUaHJlYWRMb2NhbFJlZ2lzdHJ5OjpPblRo
cmVhZExvY2FsRGVzdHJveWVkKHRoaXMpOyB9CiAKICAgVCogcG9pbnRlcigpIHsgcmV0dXJuIEdl
dE9yQ3JlYXRlVmFsdWUoKTsgfQogICBjb25zdCBUKiBwb2ludGVyKCkgY29uc3QgeyByZXR1cm4g
R2V0T3JDcmVhdGVWYWx1ZSgpOyB9CkBAIC0xNTUzLDE3ICsxNTc2LDE2IEBAIGNsYXNzIFRocmVh
ZExvY2FsIDogcHVibGljIFRocmVhZExvY2FsQmFzZSB7CiAKICAgIHByaXZhdGU6CiAgICAgVCB2
YWx1ZV87Ci0gICAgVmFsdWVIb2xkZXIoY29uc3QgVmFsdWVIb2xkZXImKSA9IGRlbGV0ZTsKLSAg
ICBWYWx1ZUhvbGRlciYgb3BlcmF0b3I9KGNvbnN0IFZhbHVlSG9sZGVyJikgPSBkZWxldGU7Cisg
ICAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhWYWx1ZUhvbGRlcik7CiAgIH07CiAK
KwogICBUKiBHZXRPckNyZWF0ZVZhbHVlKCkgY29uc3QgewogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxWYWx1ZUhvbGRlcio+KAotICAgICAgICAgICAgICAgVGhyZWFkTG9jYWxSZWdpc3RyeTo6R2V0
VmFsdWVPbkN1cnJlbnRUaHJlYWQodGhpcykpCi0gICAgICAgIC0+cG9pbnRlcigpOworICAgICAg
ICBUaHJlYWRMb2NhbFJlZ2lzdHJ5OjpHZXRWYWx1ZU9uQ3VycmVudFRocmVhZCh0aGlzKSktPnBv
aW50ZXIoKTsKICAgfQogCi0gIFRocmVhZExvY2FsVmFsdWVIb2xkZXJCYXNlKiBOZXdWYWx1ZUZv
ckN1cnJlbnRUaHJlYWQoKSBjb25zdCBvdmVycmlkZSB7CisgIHZpcnR1YWwgVGhyZWFkTG9jYWxW
YWx1ZUhvbGRlckJhc2UqIE5ld1ZhbHVlRm9yQ3VycmVudFRocmVhZCgpIGNvbnN0IHsKICAgICBy
ZXR1cm4gZGVmYXVsdF9mYWN0b3J5Xy0+TWFrZU5ld0hvbGRlcigpOwogICB9CiAKQEAgLTE1NzQs
OCArMTU5Niw3IEBAIGNsYXNzIFRocmVhZExvY2FsIDogcHVibGljIFRocmVhZExvY2FsQmFzZSB7
CiAgICAgdmlydHVhbCBWYWx1ZUhvbGRlciogTWFrZU5ld0hvbGRlcigpIGNvbnN0ID0gMDsKIAog
ICAgcHJpdmF0ZToKLSAgICBWYWx1ZUhvbGRlckZhY3RvcnkoY29uc3QgVmFsdWVIb2xkZXJGYWN0
b3J5JikgPSBkZWxldGU7Ci0gICAgVmFsdWVIb2xkZXJGYWN0b3J5JiBvcGVyYXRvcj0oY29uc3Qg
VmFsdWVIb2xkZXJGYWN0b3J5JikgPSBkZWxldGU7CisgICAgR1RFU1RfRElTQUxMT1dfQ09QWV9B
TkRfQVNTSUdOXyhWYWx1ZUhvbGRlckZhY3RvcnkpOwogICB9OwogCiAgIGNsYXNzIERlZmF1bHRW
YWx1ZUhvbGRlckZhY3RvcnkgOiBwdWJsaWMgVmFsdWVIb2xkZXJGYWN0b3J5IHsKQEAgLTE1ODQs
OSArMTYwNSw3IEBAIGNsYXNzIFRocmVhZExvY2FsIDogcHVibGljIFRocmVhZExvY2FsQmFzZSB7
CiAgICAgVmFsdWVIb2xkZXIqIE1ha2VOZXdIb2xkZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBuZXcgVmFsdWVIb2xkZXIoKTsgfQogCiAgICBwcml2YXRlOgotICAgIERlZmF1bHRWYWx1ZUhv
bGRlckZhY3RvcnkoY29uc3QgRGVmYXVsdFZhbHVlSG9sZGVyRmFjdG9yeSYpID0gZGVsZXRlOwot
ICAgIERlZmF1bHRWYWx1ZUhvbGRlckZhY3RvcnkmIG9wZXJhdG9yPShjb25zdCBEZWZhdWx0VmFs
dWVIb2xkZXJGYWN0b3J5JikgPQotICAgICAgICBkZWxldGU7CisgICAgR1RFU1RfRElTQUxMT1df
Q09QWV9BTkRfQVNTSUdOXyhEZWZhdWx0VmFsdWVIb2xkZXJGYWN0b3J5KTsKICAgfTsKIAogICBj
bGFzcyBJbnN0YW5jZVZhbHVlSG9sZGVyRmFjdG9yeSA6IHB1YmxpYyBWYWx1ZUhvbGRlckZhY3Rv
cnkgewpAQCAtMTU5OSwxOCArMTYxOCwxNSBAQCBjbGFzcyBUaHJlYWRMb2NhbCA6IHB1YmxpYyBU
aHJlYWRMb2NhbEJhc2UgewogICAgcHJpdmF0ZToKICAgICBjb25zdCBUIHZhbHVlXzsgIC8vIFRo
ZSB2YWx1ZSBmb3IgZWFjaCB0aHJlYWQuCiAKLSAgICBJbnN0YW5jZVZhbHVlSG9sZGVyRmFjdG9y
eShjb25zdCBJbnN0YW5jZVZhbHVlSG9sZGVyRmFjdG9yeSYpID0gZGVsZXRlOwotICAgIEluc3Rh
bmNlVmFsdWVIb2xkZXJGYWN0b3J5JiBvcGVyYXRvcj0oY29uc3QgSW5zdGFuY2VWYWx1ZUhvbGRl
ckZhY3RvcnkmKSA9Ci0gICAgICAgIGRlbGV0ZTsKKyAgICBHVEVTVF9ESVNBTExPV19DT1BZX0FO
RF9BU1NJR05fKEluc3RhbmNlVmFsdWVIb2xkZXJGYWN0b3J5KTsKICAgfTsKIAogICBzdGQ6OnVu
aXF1ZV9wdHI8VmFsdWVIb2xkZXJGYWN0b3J5PiBkZWZhdWx0X2ZhY3RvcnlfOwogCi0gIFRocmVh
ZExvY2FsKGNvbnN0IFRocmVhZExvY2FsJikgPSBkZWxldGU7Ci0gIFRocmVhZExvY2FsJiBvcGVy
YXRvcj0oY29uc3QgVGhyZWFkTG9jYWwmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09Q
WV9BTkRfQVNTSUdOXyhUaHJlYWRMb2NhbCk7CiB9OwogCi0jZWxpZiBHVEVTVF9IQVNfUFRIUkVB
RAorIyBlbGlmIEdURVNUX0hBU19QVEhSRUFECiAKIC8vIE11dGV4QmFzZSBhbmQgTXV0ZXggaW1w
bGVtZW50IG11dGV4IG9uIHB0aHJlYWRzLWJhc2VkIHBsYXRmb3Jtcy4KIGNsYXNzIE11dGV4QmFz
ZSB7CkBAIC0xNjU3LDggKzE2NzMsOCBAQCBjbGFzcyBNdXRleEJhc2UgewogfTsKIAogLy8gRm9y
d2FyZC1kZWNsYXJlcyBhIHN0YXRpYyBtdXRleC4KLSNkZWZpbmUgR1RFU1RfREVDTEFSRV9TVEFU
SUNfTVVURVhfKG11dGV4KSBcCi0gIGV4dGVybiA6OnRlc3Rpbmc6OmludGVybmFsOjpNdXRleEJh
c2UgbXV0ZXgKKyMgIGRlZmluZSBHVEVTVF9ERUNMQVJFX1NUQVRJQ19NVVRFWF8obXV0ZXgpIFwK
KyAgICAgZXh0ZXJuIDo6dGVzdGluZzo6aW50ZXJuYWw6Ok11dGV4QmFzZSBtdXRleAogCiAvLyBE
ZWZpbmVzIGFuZCBzdGF0aWNhbGx5IChpLmUuIGF0IGxpbmsgdGltZSkgaW5pdGlhbGl6ZXMgYSBz
dGF0aWMgbXV0ZXguCiAvLyBUaGUgaW5pdGlhbGl6YXRpb24gbGlzdCBoZXJlIGRvZXMgbm90IGV4
cGxpY2l0bHkgaW5pdGlhbGl6ZSBlYWNoIGZpZWxkLApAQCAtMTY3NywxMSArMTY5MywxMiBAQCBj
bGFzcyBNdXRleCA6IHB1YmxpYyBNdXRleEJhc2UgewogICAgIEdURVNUX0NIRUNLX1BPU0lYX1NV
Q0NFU1NfKHB0aHJlYWRfbXV0ZXhfaW5pdCgmbXV0ZXhfLCBudWxscHRyKSk7CiAgICAgaGFzX293
bmVyXyA9IGZhbHNlOwogICB9Ci0gIH5NdXRleCgpIHsgR1RFU1RfQ0hFQ0tfUE9TSVhfU1VDQ0VT
U18ocHRocmVhZF9tdXRleF9kZXN0cm95KCZtdXRleF8pKTsgfQorICB+TXV0ZXgoKSB7CisgICAg
R1RFU1RfQ0hFQ0tfUE9TSVhfU1VDQ0VTU18ocHRocmVhZF9tdXRleF9kZXN0cm95KCZtdXRleF8p
KTsKKyAgfQogCiAgcHJpdmF0ZToKLSAgTXV0ZXgoY29uc3QgTXV0ZXgmKSA9IGRlbGV0ZTsKLSAg
TXV0ZXgmIG9wZXJhdG9yPShjb25zdCBNdXRleCYpID0gZGVsZXRlOworICBHVEVTVF9ESVNBTExP
V19DT1BZX0FORF9BU1NJR05fKE11dGV4KTsKIH07CiAKIC8vIFdlIGNhbm5vdCBuYW1lIHRoaXMg
Y2xhc3MgTXV0ZXhMb2NrIGJlY2F1c2UgdGhlIGN0b3IgZGVjbGFyYXRpb24gd291bGQKQEAgLTE2
OTEsMTUgKzE3MDgsMTUgQEAgY2xhc3MgTXV0ZXggOiBwdWJsaWMgTXV0ZXhCYXNlIHsKIC8vICJN
dXRleExvY2sgbCgmbXUpIi4gIEhlbmNlIHRoZSB0eXBlZGVmIHRyaWNrIGJlbG93LgogY2xhc3Mg
R1Rlc3RNdXRleExvY2sgewogIHB1YmxpYzoKLSAgZXhwbGljaXQgR1Rlc3RNdXRleExvY2soTXV0
ZXhCYXNlKiBtdXRleCkgOiBtdXRleF8obXV0ZXgpIHsgbXV0ZXhfLT5Mb2NrKCk7IH0KKyAgZXhw
bGljaXQgR1Rlc3RNdXRleExvY2soTXV0ZXhCYXNlKiBtdXRleCkKKyAgICAgIDogbXV0ZXhfKG11
dGV4KSB7IG11dGV4Xy0+TG9jaygpOyB9CiAKICAgfkdUZXN0TXV0ZXhMb2NrKCkgeyBtdXRleF8t
PlVubG9jaygpOyB9CiAKICBwcml2YXRlOgogICBNdXRleEJhc2UqIGNvbnN0IG11dGV4XzsKIAot
ICBHVGVzdE11dGV4TG9jayhjb25zdCBHVGVzdE11dGV4TG9jayYpID0gZGVsZXRlOwotICBHVGVz
dE11dGV4TG9jayYgb3BlcmF0b3I9KGNvbnN0IEdUZXN0TXV0ZXhMb2NrJikgPSBkZWxldGU7Cisg
IEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8oR1Rlc3RNdXRleExvY2spOwogfTsKIAog
dHlwZWRlZiBHVGVzdE11dGV4TG9jayBNdXRleExvY2s7CkBAIC0xNzU2LDggKzE3NzMsNyBAQCBj
bGFzcyBHVEVTVF9BUElfIFRocmVhZExvY2FsIHsKIAogICAgcHJpdmF0ZToKICAgICBUIHZhbHVl
XzsKLSAgICBWYWx1ZUhvbGRlcihjb25zdCBWYWx1ZUhvbGRlciYpID0gZGVsZXRlOwotICAgIFZh
bHVlSG9sZGVyJiBvcGVyYXRvcj0oY29uc3QgVmFsdWVIb2xkZXImKSA9IGRlbGV0ZTsKKyAgICBH
VEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKFZhbHVlSG9sZGVyKTsKICAgfTsKIAogICBz
dGF0aWMgcHRocmVhZF9rZXlfdCBDcmVhdGVLZXkoKSB7CkBAIC0xNzg5LDggKzE4MDUsNyBAQCBj
bGFzcyBHVEVTVF9BUElfIFRocmVhZExvY2FsIHsKICAgICB2aXJ0dWFsIFZhbHVlSG9sZGVyKiBN
YWtlTmV3SG9sZGVyKCkgY29uc3QgPSAwOwogCiAgICBwcml2YXRlOgotICAgIFZhbHVlSG9sZGVy
RmFjdG9yeShjb25zdCBWYWx1ZUhvbGRlckZhY3RvcnkmKSA9IGRlbGV0ZTsKLSAgICBWYWx1ZUhv
bGRlckZhY3RvcnkmIG9wZXJhdG9yPShjb25zdCBWYWx1ZUhvbGRlckZhY3RvcnkmKSA9IGRlbGV0
ZTsKKyAgICBHVEVTVF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKFZhbHVlSG9sZGVyRmFjdG9y
eSk7CiAgIH07CiAKICAgY2xhc3MgRGVmYXVsdFZhbHVlSG9sZGVyRmFjdG9yeSA6IHB1YmxpYyBW
YWx1ZUhvbGRlckZhY3RvcnkgewpAQCAtMTc5OSw5ICsxODE0LDcgQEAgY2xhc3MgR1RFU1RfQVBJ
XyBUaHJlYWRMb2NhbCB7CiAgICAgVmFsdWVIb2xkZXIqIE1ha2VOZXdIb2xkZXIoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBuZXcgVmFsdWVIb2xkZXIoKTsgfQogCiAgICBwcml2YXRlOgotICAg
IERlZmF1bHRWYWx1ZUhvbGRlckZhY3RvcnkoY29uc3QgRGVmYXVsdFZhbHVlSG9sZGVyRmFjdG9y
eSYpID0gZGVsZXRlOwotICAgIERlZmF1bHRWYWx1ZUhvbGRlckZhY3RvcnkmIG9wZXJhdG9yPShj
b25zdCBEZWZhdWx0VmFsdWVIb2xkZXJGYWN0b3J5JikgPQotICAgICAgICBkZWxldGU7CisgICAg
R1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhEZWZhdWx0VmFsdWVIb2xkZXJGYWN0b3J5
KTsKICAgfTsKIAogICBjbGFzcyBJbnN0YW5jZVZhbHVlSG9sZGVyRmFjdG9yeSA6IHB1YmxpYyBW
YWx1ZUhvbGRlckZhY3RvcnkgewpAQCAtMTgxNCwyMCArMTgyNywxNyBAQCBjbGFzcyBHVEVTVF9B
UElfIFRocmVhZExvY2FsIHsKICAgIHByaXZhdGU6CiAgICAgY29uc3QgVCB2YWx1ZV87ICAvLyBU
aGUgdmFsdWUgZm9yIGVhY2ggdGhyZWFkLgogCi0gICAgSW5zdGFuY2VWYWx1ZUhvbGRlckZhY3Rv
cnkoY29uc3QgSW5zdGFuY2VWYWx1ZUhvbGRlckZhY3RvcnkmKSA9IGRlbGV0ZTsKLSAgICBJbnN0
YW5jZVZhbHVlSG9sZGVyRmFjdG9yeSYgb3BlcmF0b3I9KGNvbnN0IEluc3RhbmNlVmFsdWVIb2xk
ZXJGYWN0b3J5JikgPQotICAgICAgICBkZWxldGU7CisgICAgR1RFU1RfRElTQUxMT1dfQ09QWV9B
TkRfQVNTSUdOXyhJbnN0YW5jZVZhbHVlSG9sZGVyRmFjdG9yeSk7CiAgIH07CiAKICAgLy8gQSBr
ZXkgcHRocmVhZHMgdXNlcyBmb3IgbG9va2luZyB1cCBwZXItdGhyZWFkIHZhbHVlcy4KICAgY29u
c3QgcHRocmVhZF9rZXlfdCBrZXlfOwogICBzdGQ6OnVuaXF1ZV9wdHI8VmFsdWVIb2xkZXJGYWN0
b3J5PiBkZWZhdWx0X2ZhY3RvcnlfOwogCi0gIFRocmVhZExvY2FsKGNvbnN0IFRocmVhZExvY2Fs
JikgPSBkZWxldGU7Ci0gIFRocmVhZExvY2FsJiBvcGVyYXRvcj0oY29uc3QgVGhyZWFkTG9jYWwm
KSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhUaHJlYWRMb2Nh
bCk7CiB9OwogCi0jZW5kaWYgIC8vIEdURVNUX0hBU19NVVRFWF9BTkRfVEhSRUFEX0xPQ0FMXwor
IyBlbmRpZiAgLy8gR1RFU1RfSEFTX01VVEVYX0FORF9USFJFQURfTE9DQUxfCiAKICNlbHNlICAv
LyBHVEVTVF9JU19USFJFQURTQUZFCiAKQEAgLTE4NDQsMTAgKzE4NTQsMTAgQEAgY2xhc3MgTXV0
ZXggewogICB2b2lkIEFzc2VydEhlbGQoKSBjb25zdCB7fQogfTsKIAotI2RlZmluZSBHVEVTVF9E
RUNMQVJFX1NUQVRJQ19NVVRFWF8obXV0ZXgpIFwKKyMgZGVmaW5lIEdURVNUX0RFQ0xBUkVfU1RB
VElDX01VVEVYXyhtdXRleCkgXAogICBleHRlcm4gOjp0ZXN0aW5nOjppbnRlcm5hbDo6TXV0ZXgg
bXV0ZXgKIAotI2RlZmluZSBHVEVTVF9ERUZJTkVfU1RBVElDX01VVEVYXyhtdXRleCkgOjp0ZXN0
aW5nOjppbnRlcm5hbDo6TXV0ZXggbXV0ZXgKKyMgZGVmaW5lIEdURVNUX0RFRklORV9TVEFUSUNf
TVVURVhfKG11dGV4KSA6OnRlc3Rpbmc6OmludGVybmFsOjpNdXRleCBtdXRleAogCiAvLyBXZSBj
YW5ub3QgbmFtZSB0aGlzIGNsYXNzIE11dGV4TG9jayBiZWNhdXNlIHRoZSBjdG9yIGRlY2xhcmF0
aW9uIHdvdWxkCiAvLyBjb25mbGljdCB3aXRoIGEgbWFjcm8gbmFtZWQgTXV0ZXhMb2NrLCB3aGlj
aCBpcyBkZWZpbmVkIG9uIHNvbWUKQEAgLTE4NzAsNyArMTg4MCw2IEBAIGNsYXNzIEdURVNUX0FQ
SV8gVGhyZWFkTG9jYWwgewogICBjb25zdCBUKiBwb2ludGVyKCkgY29uc3QgeyByZXR1cm4gJnZh
bHVlXzsgfQogICBjb25zdCBUJiBnZXQoKSBjb25zdCB7IHJldHVybiB2YWx1ZV87IH0KICAgdm9p
ZCBzZXQoY29uc3QgVCYgdmFsdWUpIHsgdmFsdWVfID0gdmFsdWU7IH0KLQogIHByaXZhdGU6CiAg
IFQgdmFsdWVfOwogfTsKQEAgLTE4ODIsMTEgKzE4OTEsMTEgQEAgY2xhc3MgR1RFU1RfQVBJXyBU
aHJlYWRMb2NhbCB7CiBHVEVTVF9BUElfIHNpemVfdCBHZXRUaHJlYWRDb3VudCgpOwogCiAjaWYg
R1RFU1RfT1NfV0lORE9XUwotI2RlZmluZSBHVEVTVF9QQVRIX1NFUF8gIlxcIgotI2RlZmluZSBH
VEVTVF9IQVNfQUxUX1BBVEhfU0VQXyAxCisjIGRlZmluZSBHVEVTVF9QQVRIX1NFUF8gIlxcIgor
IyBkZWZpbmUgR1RFU1RfSEFTX0FMVF9QQVRIX1NFUF8gMQogI2Vsc2UKLSNkZWZpbmUgR1RFU1Rf
UEFUSF9TRVBfICIvIgotI2RlZmluZSBHVEVTVF9IQVNfQUxUX1BBVEhfU0VQXyAwCisjIGRlZmlu
ZSBHVEVTVF9QQVRIX1NFUF8gIi8iCisjIGRlZmluZSBHVEVTVF9IQVNfQUxUX1BBVEhfU0VQXyAw
CiAjZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1MKIAogLy8gVXRpbGl0aWVzIGZvciBjaGFyLgpA
QCAtMTkxNywxOSArMTkyNiw2IEBAIGlubGluZSBib29sIElzVXBwZXIoY2hhciBjaCkgewogaW5s
aW5lIGJvb2wgSXNYRGlnaXQoY2hhciBjaCkgewogICByZXR1cm4gaXN4ZGlnaXQoc3RhdGljX2Nh
c3Q8dW5zaWduZWQgY2hhcj4oY2gpKSAhPSAwOwogfQotI2lmZGVmIF9fY3BwX2NoYXI4X3QKLWlu
bGluZSBib29sIElzWERpZ2l0KGNoYXI4X3QgY2gpIHsKLSAgcmV0dXJuIGlzeGRpZ2l0KHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGNoYXI+KGNoKSkgIT0gMDsKLX0KLSNlbmRpZgotaW5saW5lIGJvb2wg
SXNYRGlnaXQoY2hhcjE2X3QgY2gpIHsKLSAgY29uc3QgdW5zaWduZWQgY2hhciBsb3dfYnl0ZSA9
IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KGNoKTsKLSAgcmV0dXJuIGNoID09IGxvd19ieXRl
ICYmIGlzeGRpZ2l0KGxvd19ieXRlKSAhPSAwOwotfQotaW5saW5lIGJvb2wgSXNYRGlnaXQoY2hh
cjMyX3QgY2gpIHsKLSAgY29uc3QgdW5zaWduZWQgY2hhciBsb3dfYnl0ZSA9IHN0YXRpY19jYXN0
PHVuc2lnbmVkIGNoYXI+KGNoKTsKLSAgcmV0dXJuIGNoID09IGxvd19ieXRlICYmIGlzeGRpZ2l0
KGxvd19ieXRlKSAhPSAwOwotfQogaW5saW5lIGJvb2wgSXNYRGlnaXQod2NoYXJfdCBjaCkgewog
ICBjb25zdCB1bnNpZ25lZCBjaGFyIGxvd19ieXRlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cj4oY2gpOwogICByZXR1cm4gY2ggPT0gbG93X2J5dGUgJiYgaXN4ZGlnaXQobG93X2J5dGUpICE9
IDA7CkBAIC0xOTQ0LDcgKzE5NDAsOCBAQCBpbmxpbmUgY2hhciBUb1VwcGVyKGNoYXIgY2gpIHsK
IAogaW5saW5lIHN0ZDo6c3RyaW5nIFN0cmlwVHJhaWxpbmdTcGFjZXMoc3RkOjpzdHJpbmcgc3Ry
KSB7CiAgIHN0ZDo6c3RyaW5nOjppdGVyYXRvciBpdCA9IHN0ci5lbmQoKTsKLSAgd2hpbGUgKGl0
ICE9IHN0ci5iZWdpbigpICYmIElzU3BhY2UoKi0taXQpKSBpdCA9IHN0ci5lcmFzZShpdCk7Cisg
IHdoaWxlIChpdCAhPSBzdHIuYmVnaW4oKSAmJiBJc1NwYWNlKCotLWl0KSkKKyAgICBpdCA9IHN0
ci5lcmFzZShpdCk7CiAgIHJldHVybiBzdHI7CiB9CiAKQEAgLTE5NjIsNDEgKzE5NTksNDIgQEAg
bmFtZXNwYWNlIHBvc2l4IHsKIAogdHlwZWRlZiBzdHJ1Y3QgX3N0YXQgU3RhdFN0cnVjdDsKIAot
I2lmZGVmIF9fQk9STEFORENfXwotaW5saW5lIGludCBEb0lzQVRUWShpbnQgZmQpIHsgcmV0dXJu
IGlzYXR0eShmZCk7IH0KKyMgaWZkZWYgX19CT1JMQU5EQ19fCitpbmxpbmUgaW50IElzQVRUWShp
bnQgZmQpIHsgcmV0dXJuIGlzYXR0eShmZCk7IH0KIGlubGluZSBpbnQgU3RyQ2FzZUNtcChjb25z
dCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIpIHsKICAgcmV0dXJuIHN0cmljbXAoczEsIHMyKTsK
IH0KIGlubGluZSBjaGFyKiBTdHJEdXAoY29uc3QgY2hhciogc3JjKSB7IHJldHVybiBzdHJkdXAo
c3JjKTsgfQotI2Vsc2UgIC8vICFfX0JPUkxBTkRDX18KLSNpZiBHVEVTVF9PU19XSU5ET1dTX01P
QklMRSB8fCBHVEVTVF9PU19aT1MgfHwgR1RFU1RfT1NfSU9TIHx8IFwKLSAgICBHVEVTVF9PU19X
SU5ET1dTX1BIT05FIHx8IEdURVNUX09TX1dJTkRPV1NfUlQgfHwgZGVmaW5lZChFU1BfUExBVEZP
Uk0pCi1pbmxpbmUgaW50IERvSXNBVFRZKGludCAvKiBmZCAqLykgeyByZXR1cm4gMDsgfQotI2Vs
c2UKLWlubGluZSBpbnQgRG9Jc0FUVFkoaW50IGZkKSB7IHJldHVybiBfaXNhdHR5KGZkKTsgfQot
I2VuZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTX01PQklMRQorIyBlbHNlICAvLyAhX19CT1JMQU5E
Q19fCisjICBpZiBHVEVTVF9PU19XSU5ET1dTX01PQklMRQoraW5saW5lIGludCBJc0FUVFkoaW50
IC8qIGZkICovKSB7IHJldHVybiAwOyB9CisjICBlbHNlCitpbmxpbmUgaW50IElzQVRUWShpbnQg
ZmQpIHsgcmV0dXJuIF9pc2F0dHkoZmQpOyB9CisjICBlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9X
U19NT0JJTEUKIGlubGluZSBpbnQgU3RyQ2FzZUNtcChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hh
ciogczIpIHsKICAgcmV0dXJuIF9zdHJpY21wKHMxLCBzMik7CiB9CiBpbmxpbmUgY2hhciogU3Ry
RHVwKGNvbnN0IGNoYXIqIHNyYykgeyByZXR1cm4gX3N0cmR1cChzcmMpOyB9Ci0jZW5kaWYgIC8v
IF9fQk9STEFORENfXworIyBlbmRpZiAgLy8gX19CT1JMQU5EQ19fCiAKLSNpZiBHVEVTVF9PU19X
SU5ET1dTX01PQklMRQorIyBpZiBHVEVTVF9PU19XSU5ET1dTX01PQklMRQogaW5saW5lIGludCBG
aWxlTm8oRklMRSogZmlsZSkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxpbnQ+KF9maWxlbm8o
ZmlsZSkpOyB9CiAvLyBTdGF0KCksIFJtRGlyKCksIGFuZCBJc0RpcigpIGFyZSBub3QgbmVlZGVk
IG9uIFdpbmRvd3MgQ0UgYXQgdGhpcwogLy8gdGltZSBhbmQgdGh1cyBub3QgZGVmaW5lZCB0aGVy
ZS4KLSNlbHNlCisjIGVsc2UKIGlubGluZSBpbnQgRmlsZU5vKEZJTEUqIGZpbGUpIHsgcmV0dXJu
IF9maWxlbm8oZmlsZSk7IH0KIGlubGluZSBpbnQgU3RhdChjb25zdCBjaGFyKiBwYXRoLCBTdGF0
U3RydWN0KiBidWYpIHsgcmV0dXJuIF9zdGF0KHBhdGgsIGJ1Zik7IH0KIGlubGluZSBpbnQgUm1E
aXIoY29uc3QgY2hhciogZGlyKSB7IHJldHVybiBfcm1kaXIoZGlyKTsgfQotaW5saW5lIGJvb2wg
SXNEaXIoY29uc3QgU3RhdFN0cnVjdCYgc3QpIHsgcmV0dXJuIChfU19JRkRJUiAmIHN0LnN0X21v
ZGUpICE9IDA7IH0KLSNlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKK2lubGluZSBi
b29sIElzRGlyKGNvbnN0IFN0YXRTdHJ1Y3QmIHN0KSB7CisgIHJldHVybiAoX1NfSUZESVIgJiBz
dC5zdF9tb2RlKSAhPSAwOworfQorIyBlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XU19NT0JJTEUK
IAogI2VsaWYgR1RFU1RfT1NfRVNQODI2NgogdHlwZWRlZiBzdHJ1Y3Qgc3RhdCBTdGF0U3RydWN0
OwogCiBpbmxpbmUgaW50IEZpbGVObyhGSUxFKiBmaWxlKSB7IHJldHVybiBmaWxlbm8oZmlsZSk7
IH0KLWlubGluZSBpbnQgRG9Jc0FUVFkoaW50IGZkKSB7IHJldHVybiBpc2F0dHkoZmQpOyB9Citp
bmxpbmUgaW50IElzQVRUWShpbnQgZmQpIHsgcmV0dXJuIGlzYXR0eShmZCk7IH0KIGlubGluZSBp
bnQgU3RhdChjb25zdCBjaGFyKiBwYXRoLCBTdGF0U3RydWN0KiBidWYpIHsKICAgLy8gc3RhdCBm
dW5jdGlvbiBub3QgaW1wbGVtZW50ZWQgb24gRVNQODI2NgogICByZXR1cm4gMDsKQEAgLTIwMTMs
NyArMjAxMSw3IEBAIGlubGluZSBib29sIElzRGlyKGNvbnN0IFN0YXRTdHJ1Y3QmIHN0KSB7IHJl
dHVybiBTX0lTRElSKHN0LnN0X21vZGUpOyB9CiB0eXBlZGVmIHN0cnVjdCBzdGF0IFN0YXRTdHJ1
Y3Q7CiAKIGlubGluZSBpbnQgRmlsZU5vKEZJTEUqIGZpbGUpIHsgcmV0dXJuIGZpbGVubyhmaWxl
KTsgfQotaW5saW5lIGludCBEb0lzQVRUWShpbnQgZmQpIHsgcmV0dXJuIGlzYXR0eShmZCk7IH0K
K2lubGluZSBpbnQgSXNBVFRZKGludCBmZCkgeyByZXR1cm4gaXNhdHR5KGZkKTsgfQogaW5saW5l
IGludCBTdGF0KGNvbnN0IGNoYXIqIHBhdGgsIFN0YXRTdHJ1Y3QqIGJ1ZikgeyByZXR1cm4gc3Rh
dChwYXRoLCBidWYpOyB9CiBpbmxpbmUgaW50IFN0ckNhc2VDbXAoY29uc3QgY2hhciogczEsIGNv
bnN0IGNoYXIqIHMyKSB7CiAgIHJldHVybiBzdHJjYXNlY21wKHMxLCBzMik7CkBAIC0yMDI0LDE3
ICsyMDIyLDYgQEAgaW5saW5lIGJvb2wgSXNEaXIoY29uc3QgU3RhdFN0cnVjdCYgc3QpIHsgcmV0
dXJuIFNfSVNESVIoc3Quc3RfbW9kZSk7IH0KIAogI2VuZGlmICAvLyBHVEVTVF9PU19XSU5ET1dT
CiAKLWlubGluZSBpbnQgSXNBVFRZKGludCBmZCkgewotICAvLyBEb0lzQVRUWSBtaWdodCBjaGFu
Z2UgZXJybm8gKGZvciBleGFtcGxlIEVOT1RUWSBpbiBjYXNlIHlvdSByZWRpcmVjdCBzdGRvdXQK
LSAgLy8gdG8gYSBmaWxlIG9uIExpbnV4KSwgd2hpY2ggaXMgdW5leHBlY3RlZCwgc28gc2F2ZSB0
aGUgcHJldmlvdXMgdmFsdWUsIGFuZAotICAvLyByZXN0b3JlIGl0IGFmdGVyIHRoZSBjYWxsLgot
ICBpbnQgc2F2ZWRFcnJubyA9IGVycm5vOwotICBpbnQgaXNBdHR5VmFsdWUgPSBEb0lzQVRUWShm
ZCk7Ci0gIGVycm5vID0gc2F2ZWRFcnJubzsKLQotICByZXR1cm4gaXNBdHR5VmFsdWU7Ci19Ci0K
IC8vIEZ1bmN0aW9ucyBkZXByZWNhdGVkIGJ5IE1TVkMgOC4wLgogCiBHVEVTVF9ESVNBQkxFX01T
Q19ERVBSRUNBVEVEX1BVU0hfKCkKQEAgLTIwNDMsMjMgKzIwMzAsMTQgQEAgR1RFU1RfRElTQUJM
RV9NU0NfREVQUkVDQVRFRF9QVVNIXygpCiAvLyBTdHJFcnJvcigpIGFyZW4ndCBuZWVkZWQgb24g
V2luZG93cyBDRSBhdCB0aGlzIHRpbWUgYW5kIHRodXMgbm90CiAvLyBkZWZpbmVkIHRoZXJlLgog
Ci0jaWYgIUdURVNUX09TX1dJTkRPV1NfTU9CSUxFICYmICFHVEVTVF9PU19XSU5ET1dTX1BIT05F
ICYmIFwKLSAgICAhR1RFU1RfT1NfV0lORE9XU19SVCAmJiAhR1RFU1RfT1NfRVNQODI2NiAmJiAh
R1RFU1RfT1NfWFRFTlNBCisjaWYgIUdURVNUX09TX1dJTkRPV1NfTU9CSUxFICYmICFHVEVTVF9P
U19XSU5ET1dTX1BIT05FICYmICFHVEVTVF9PU19XSU5ET1dTX1JUCiBpbmxpbmUgaW50IENoRGly
KGNvbnN0IGNoYXIqIGRpcikgeyByZXR1cm4gY2hkaXIoZGlyKTsgfQogI2VuZGlmCiBpbmxpbmUg
RklMRSogRk9wZW4oY29uc3QgY2hhciogcGF0aCwgY29uc3QgY2hhciogbW9kZSkgewotI2lmIEdU
RVNUX09TX1dJTkRPV1MgJiYgIUdURVNUX09TX1dJTkRPV1NfTUlOR1cKLSAgc3RydWN0IHdjaGFy
X2NvZGVjdnQgOiBwdWJsaWMgc3RkOjpjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIHN0ZDo6bWJzdGF0
ZV90PiB7fTsKLSAgc3RkOjp3c3RyaW5nX2NvbnZlcnQ8d2NoYXJfY29kZWN2dD4gY29udmVydGVy
OwotICBzdGQ6OndzdHJpbmcgd2lkZV9wYXRoID0gY29udmVydGVyLmZyb21fYnl0ZXMocGF0aCk7
Ci0gIHN0ZDo6d3N0cmluZyB3aWRlX21vZGUgPSBjb252ZXJ0ZXIuZnJvbV9ieXRlcyhtb2RlKTsK
LSAgcmV0dXJuIF93Zm9wZW4od2lkZV9wYXRoLmNfc3RyKCksIHdpZGVfbW9kZS5jX3N0cigpKTsK
LSNlbHNlICAgLy8gR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfV0lORE9XU19NSU5HVwog
ICByZXR1cm4gZm9wZW4ocGF0aCwgbW9kZSk7Ci0jZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1Mg
JiYgIUdURVNUX09TX1dJTkRPV1NfTUlOR1cKIH0KICNpZiAhR1RFU1RfT1NfV0lORE9XU19NT0JJ
TEUKLWlubGluZSBGSUxFKiBGUmVvcGVuKGNvbnN0IGNoYXIqIHBhdGgsIGNvbnN0IGNoYXIqIG1v
ZGUsIEZJTEUqIHN0cmVhbSkgeworaW5saW5lIEZJTEUgKkZSZW9wZW4oY29uc3QgY2hhciogcGF0
aCwgY29uc3QgY2hhciogbW9kZSwgRklMRSogc3RyZWFtKSB7CiAgIHJldHVybiBmcmVvcGVuKHBh
dGgsIG1vZGUsIHN0cmVhbSk7CiB9CiBpbmxpbmUgRklMRSogRkRPcGVuKGludCBmZCwgY29uc3Qg
Y2hhciogbW9kZSkgeyByZXR1cm4gZmRvcGVuKGZkLCBtb2RlKTsgfQpAQCAtMjA3Nyw3ICsyMDU1
LDcgQEAgaW5saW5lIGNvbnN0IGNoYXIqIFN0ckVycm9yKGludCBlcnJudW0pIHsgcmV0dXJuIHN0
cmVycm9yKGVycm51bSk7IH0KICNlbmRpZgogaW5saW5lIGNvbnN0IGNoYXIqIEdldEVudihjb25z
dCBjaGFyKiBuYW1lKSB7CiAjaWYgR1RFU1RfT1NfV0lORE9XU19NT0JJTEUgfHwgR1RFU1RfT1Nf
V0lORE9XU19QSE9ORSB8fCBcCi0gICAgR1RFU1RfT1NfV0lORE9XU19SVCB8fCBHVEVTVF9PU19F
U1A4MjY2IHx8IEdURVNUX09TX1hURU5TQQorICAgIEdURVNUX09TX1dJTkRPV1NfUlQgfHwgR1RF
U1RfT1NfRVNQODI2NgogICAvLyBXZSBhcmUgb24gYW4gZW1iZWRkZWQgcGxhdGZvcm0sIHdoaWNo
IGhhcyBubyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCiAgIHN0YXRpY19jYXN0PHZvaWQ+KG5hbWUp
OyAgLy8gVG8gcHJldmVudCAndW51c2VkIGFyZ3VtZW50JyB3YXJuaW5nLgogICByZXR1cm4gbnVs
bHB0cjsKQEAgLTIxMTEsMTMgKzIwODksMTMgQEAgR1RFU1RfRElTQUJMRV9NU0NfREVQUkVDQVRF
RF9QT1BfKCkKIC8vIHNucHJpbnRmIGlzIGEgdmFyaWFkaWMgZnVuY3Rpb24uCiAjaWYgX01TQ19W
RVIgJiYgIUdURVNUX09TX1dJTkRPV1NfTU9CSUxFCiAvLyBNU1ZDIDIwMDUgYW5kIGFib3ZlIHN1
cHBvcnQgdmFyaWFkaWMgbWFjcm9zLgotI2RlZmluZSBHVEVTVF9TTlBSSU5URl8oYnVmZmVyLCBz
aXplLCBmb3JtYXQsIC4uLikgXAotICBfc25wcmludGZfcyhidWZmZXIsIHNpemUsIHNpemUsIGZv
cm1hdCwgX19WQV9BUkdTX18pCisjIGRlZmluZSBHVEVTVF9TTlBSSU5URl8oYnVmZmVyLCBzaXpl
LCBmb3JtYXQsIC4uLikgXAorICAgICBfc25wcmludGZfcyhidWZmZXIsIHNpemUsIHNpemUsIGZv
cm1hdCwgX19WQV9BUkdTX18pCiAjZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQogLy8gV2luZG93cyBD
RSBkb2VzIG5vdCBkZWZpbmUgX3NucHJpbnRmX3MKLSNkZWZpbmUgR1RFU1RfU05QUklOVEZfIF9z
bnByaW50ZgorIyBkZWZpbmUgR1RFU1RfU05QUklOVEZfIF9zbnByaW50ZgogI2Vsc2UKLSNkZWZp
bmUgR1RFU1RfU05QUklOVEZfIHNucHJpbnRmCisjIGRlZmluZSBHVEVTVF9TTlBSSU5URl8gc25w
cmludGYKICNlbmRpZgogCiAvLyBUaGUgYmlnZ2VzdCBzaWduZWQgaW50ZWdlciB0eXBlIHRoZSBj
b21waWxlciBzdXBwb3J0cy4KQEAgLTIxNzcsOTEgKzIxNTUsNDMgQEAgdXNpbmcgVGltZUluTWls
bGlzID0gaW50NjRfdDsgIC8vIFJlcHJlc2VudHMgdGltZSBpbiBtaWxsaXNlY29uZHMuCiAKIC8v
IE1hY3JvIGZvciByZWZlcmVuY2luZyBmbGFncy4KICNpZiAhZGVmaW5lZChHVEVTVF9GTEFHKQot
I2RlZmluZSBHVEVTVF9GTEFHX05BTUVfKG5hbWUpIGd0ZXN0XyMjbmFtZQotI2RlZmluZSBHVEVT
VF9GTEFHKG5hbWUpIEZMQUdTX2d0ZXN0XyMjbmFtZQorIyBkZWZpbmUgR1RFU1RfRkxBRyhuYW1l
KSBGTEFHU19ndGVzdF8jI25hbWUKICNlbmRpZiAgLy8gIWRlZmluZWQoR1RFU1RfRkxBRykKIAot
Ly8gUGljayBhIGNvbW1hbmQgbGluZSBmbGFncyBpbXBsZW1lbnRhdGlvbi4KLSNpZiBHVEVTVF9I
QVNfQUJTTAorI2lmICFkZWZpbmVkKEdURVNUX1VTRV9PV05fRkxBR0ZJTEVfRkxBR18pCisjIGRl
ZmluZSBHVEVTVF9VU0VfT1dOX0ZMQUdGSUxFX0ZMQUdfIDEKKyNlbmRpZiAgLy8gIWRlZmluZWQo
R1RFU1RfVVNFX09XTl9GTEFHRklMRV9GTEFHXykKIAotLy8gTWFjcm9zIGZvciBkZWZpbmluZyBm
bGFncy4KLSNkZWZpbmUgR1RFU1RfREVGSU5FX2Jvb2xfKG5hbWUsIGRlZmF1bHRfdmFsLCBkb2Mp
IFwKLSAgQUJTTF9GTEFHKGJvb2wsIEdURVNUX0ZMQUdfTkFNRV8obmFtZSksIGRlZmF1bHRfdmFs
LCBkb2MpCi0jZGVmaW5lIEdURVNUX0RFRklORV9pbnQzMl8obmFtZSwgZGVmYXVsdF92YWwsIGRv
YykgXAotICBBQlNMX0ZMQUcoaW50MzJfdCwgR1RFU1RfRkxBR19OQU1FXyhuYW1lKSwgZGVmYXVs
dF92YWwsIGRvYykKLSNkZWZpbmUgR1RFU1RfREVGSU5FX3N0cmluZ18obmFtZSwgZGVmYXVsdF92
YWwsIGRvYykgXAotICBBQlNMX0ZMQUcoc3RkOjpzdHJpbmcsIEdURVNUX0ZMQUdfTkFNRV8obmFt
ZSksIGRlZmF1bHRfdmFsLCBkb2MpCisjaWYgIWRlZmluZWQoR1RFU1RfREVDTEFSRV9ib29sXykK
KyMgZGVmaW5lIEdURVNUX0ZMQUdfU0FWRVJfIDo6dGVzdGluZzo6aW50ZXJuYWw6OkdUZXN0Rmxh
Z1NhdmVyCiAKIC8vIE1hY3JvcyBmb3IgZGVjbGFyaW5nIGZsYWdzLgotI2RlZmluZSBHVEVTVF9E
RUNMQVJFX2Jvb2xfKG5hbWUpIFwKLSAgQUJTTF9ERUNMQVJFX0ZMQUcoYm9vbCwgR1RFU1RfRkxB
R19OQU1FXyhuYW1lKSkKLSNkZWZpbmUgR1RFU1RfREVDTEFSRV9pbnQzMl8obmFtZSkgXAotICBB
QlNMX0RFQ0xBUkVfRkxBRyhpbnQzMl90LCBHVEVTVF9GTEFHX05BTUVfKG5hbWUpKQotI2RlZmlu
ZSBHVEVTVF9ERUNMQVJFX3N0cmluZ18obmFtZSkgXAotICBBQlNMX0RFQ0xBUkVfRkxBRyhzdGQ6
OnN0cmluZywgR1RFU1RfRkxBR19OQU1FXyhuYW1lKSkKLQotI2RlZmluZSBHVEVTVF9GTEFHX1NB
VkVSXyA6OmFic2w6OkZsYWdTYXZlcgotCi0jZGVmaW5lIEdURVNUX0ZMQUdfR0VUKG5hbWUpIDo6
YWJzbDo6R2V0RmxhZyhHVEVTVF9GTEFHKG5hbWUpKQotI2RlZmluZSBHVEVTVF9GTEFHX1NFVChu
YW1lLCB2YWx1ZSkgXAotICAodm9pZCkoOjphYnNsOjpTZXRGbGFnKCZHVEVTVF9GTEFHKG5hbWUp
LCB2YWx1ZSkpCi0jZGVmaW5lIEdURVNUX1VTRV9PV05fRkxBR0ZJTEVfRkxBR18gMAotCi0jZWxz
ZSAgLy8gR1RFU1RfSEFTX0FCU0wKKyMgZGVmaW5lIEdURVNUX0RFQ0xBUkVfYm9vbF8obmFtZSkg
R1RFU1RfQVBJXyBleHRlcm4gYm9vbCBHVEVTVF9GTEFHKG5hbWUpCisjIGRlZmluZSBHVEVTVF9E
RUNMQVJFX2ludDMyXyhuYW1lKSBcCisgICAgR1RFU1RfQVBJXyBleHRlcm4gc3RkOjppbnQzMl90
IEdURVNUX0ZMQUcobmFtZSkKKyMgZGVmaW5lIEdURVNUX0RFQ0xBUkVfc3RyaW5nXyhuYW1lKSBc
CisgICAgR1RFU1RfQVBJXyBleHRlcm4gOjpzdGQ6OnN0cmluZyBHVEVTVF9GTEFHKG5hbWUpCiAK
IC8vIE1hY3JvcyBmb3IgZGVmaW5pbmcgZmxhZ3MuCi0jZGVmaW5lIEdURVNUX0RFRklORV9ib29s
XyhuYW1lLCBkZWZhdWx0X3ZhbCwgZG9jKSAgXAotICBuYW1lc3BhY2UgdGVzdGluZyB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgR1RFU1RfQVBJXyBib29sIEdURVNUX0ZMQUco
bmFtZSkgPSAoZGVmYXVsdF92YWwpOyBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBzdGF0aWNfYXNzZXJ0KHRydWUsICJuby1vcCB0byBy
ZXF1aXJlIHRyYWlsaW5nIHNlbWljb2xvbiIpCi0jZGVmaW5lIEdURVNUX0RFRklORV9pbnQzMl8o
bmFtZSwgZGVmYXVsdF92YWwsIGRvYykgICAgICAgICBcCi0gIG5hbWVzcGFjZSB0ZXN0aW5nIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEdURVNUX0FQSV8gc3Rk
OjppbnQzMl90IEdURVNUX0ZMQUcobmFtZSkgPSAoZGVmYXVsdF92YWwpOyBcCi0gIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHN0
YXRpY19hc3NlcnQodHJ1ZSwgIm5vLW9wIHRvIHJlcXVpcmUgdHJhaWxpbmcgc2VtaWNvbG9uIikK
LSNkZWZpbmUgR1RFU1RfREVGSU5FX3N0cmluZ18obmFtZSwgZGVmYXVsdF92YWwsIGRvYykgICAg
ICAgICBcCi0gIG5hbWVzcGFjZSB0ZXN0aW5nIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICBHVEVTVF9BUElfIDo6c3RkOjpzdHJpbmcgR1RFU1RfRkxBRyhuYW1l
KSA9IChkZWZhdWx0X3ZhbCk7IFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHN0YXRpY19hc3NlcnQodHJ1ZSwgIm5vLW9w
IHRvIHJlcXVpcmUgdHJhaWxpbmcgc2VtaWNvbG9uIikKLQotLy8gTWFjcm9zIGZvciBkZWNsYXJp
bmcgZmxhZ3MuCi0jZGVmaW5lIEdURVNUX0RFQ0xBUkVfYm9vbF8obmFtZSkgICAgICAgICAgXAot
ICBuYW1lc3BhY2UgdGVzdGluZyB7ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgR1RFU1RfQVBJ
XyBleHRlcm4gYm9vbCBHVEVTVF9GTEFHKG5hbWUpOyBcCi0gIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBzdGF0aWNfYXNzZXJ0KHRydWUsICJuby1vcCB0byBy
ZXF1aXJlIHRyYWlsaW5nIHNlbWljb2xvbiIpCi0jZGVmaW5lIEdURVNUX0RFQ0xBUkVfaW50MzJf
KG5hbWUpICAgICAgICAgICAgICAgICBcCi0gIG5hbWVzcGFjZSB0ZXN0aW5nIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIEdURVNUX0FQSV8gZXh0ZXJuIHN0ZDo6aW50MzJfdCBH
VEVTVF9GTEFHKG5hbWUpOyBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIHN0YXRpY19hc3NlcnQodHJ1ZSwgIm5vLW9wIHRvIHJlcXVpcmUg
dHJhaWxpbmcgc2VtaWNvbG9uIikKLSNkZWZpbmUgR1RFU1RfREVDTEFSRV9zdHJpbmdfKG5hbWUp
ICAgICAgICAgICAgICAgICBcCi0gIG5hbWVzcGFjZSB0ZXN0aW5nIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBHVEVTVF9BUElfIGV4dGVybiA6OnN0ZDo6c3RyaW5nIEdURVNU
X0ZMQUcobmFtZSk7IFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIHN0YXRpY19hc3NlcnQodHJ1ZSwgIm5vLW9wIHRvIHJlcXVpcmUgdHJh
aWxpbmcgc2VtaWNvbG9uIikKLQotI2RlZmluZSBHVEVTVF9GTEFHX1NBVkVSXyA6OnRlc3Rpbmc6
OmludGVybmFsOjpHVGVzdEZsYWdTYXZlcgotCi0jZGVmaW5lIEdURVNUX0ZMQUdfR0VUKG5hbWUp
IDo6dGVzdGluZzo6R1RFU1RfRkxBRyhuYW1lKQotI2RlZmluZSBHVEVTVF9GTEFHX1NFVChuYW1l
LCB2YWx1ZSkgKHZvaWQpKDo6dGVzdGluZzo6R1RFU1RfRkxBRyhuYW1lKSA9IHZhbHVlKQotI2Rl
ZmluZSBHVEVTVF9VU0VfT1dOX0ZMQUdGSUxFX0ZMQUdfIDEKKyMgZGVmaW5lIEdURVNUX0RFRklO
RV9ib29sXyhuYW1lLCBkZWZhdWx0X3ZhbCwgZG9jKSBcCisgICAgR1RFU1RfQVBJXyBib29sIEdU
RVNUX0ZMQUcobmFtZSkgPSAoZGVmYXVsdF92YWwpCisjIGRlZmluZSBHVEVTVF9ERUZJTkVfaW50
MzJfKG5hbWUsIGRlZmF1bHRfdmFsLCBkb2MpIFwKKyAgICBHVEVTVF9BUElfIHN0ZDo6aW50MzJf
dCBHVEVTVF9GTEFHKG5hbWUpID0gKGRlZmF1bHRfdmFsKQorIyBkZWZpbmUgR1RFU1RfREVGSU5F
X3N0cmluZ18obmFtZSwgZGVmYXVsdF92YWwsIGRvYykgXAorICAgIEdURVNUX0FQSV8gOjpzdGQ6
OnN0cmluZyBHVEVTVF9GTEFHKG5hbWUpID0gKGRlZmF1bHRfdmFsKQogCi0jZW5kaWYgIC8vIEdU
RVNUX0hBU19BQlNMCisjZW5kaWYgIC8vICFkZWZpbmVkKEdURVNUX0RFQ0xBUkVfYm9vbF8pCiAK
IC8vIFRocmVhZCBhbm5vdGF0aW9ucwogI2lmICFkZWZpbmVkKEdURVNUX0VYQ0xVU0lWRV9MT0NL
X1JFUVVJUkVEXykKLSNkZWZpbmUgR1RFU1RfRVhDTFVTSVZFX0xPQ0tfUkVRVUlSRURfKGxvY2tz
KQotI2RlZmluZSBHVEVTVF9MT0NLX0VYQ0xVREVEXyhsb2NrcykKKyMgZGVmaW5lIEdURVNUX0VY
Q0xVU0lWRV9MT0NLX1JFUVVJUkVEXyhsb2NrcykKKyMgZGVmaW5lIEdURVNUX0xPQ0tfRVhDTFVE
RURfKGxvY2tzKQogI2VuZGlmICAvLyAhZGVmaW5lZChHVEVTVF9FWENMVVNJVkVfTE9DS19SRVFV
SVJFRF8pCiAKIC8vIFBhcnNlcyAnc3RyJyBmb3IgYSAzMi1iaXQgc2lnbmVkIGludGVnZXIuICBJ
ZiBzdWNjZXNzZnVsLCB3cml0ZXMgdGhlIHJlc3VsdAogLy8gdG8gKnZhbHVlIGFuZCByZXR1cm5z
IHRydWU7IG90aGVyd2lzZSBsZWF2ZXMgKnZhbHVlIHVuY2hhbmdlZCBhbmQgcmV0dXJucwogLy8g
ZmFsc2UuCi1HVEVTVF9BUElfIGJvb2wgUGFyc2VJbnQzMihjb25zdCBNZXNzYWdlJiBzcmNfdGV4
dCwgY29uc3QgY2hhciogc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCog
dmFsdWUpOworYm9vbCBQYXJzZUludDMyKGNvbnN0IE1lc3NhZ2UmIHNyY190ZXh0LCBjb25zdCBj
aGFyKiBzdHIsIGludDMyX3QqIHZhbHVlKTsKIAogLy8gUGFyc2VzIGEgYm9vbC9pbnQzMl90L3N0
cmluZyBmcm9tIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQogLy8gY29ycmVzcG9uZGluZyB0byB0
aGUgZ2l2ZW4gR29vZ2xlIFRlc3QgZmxhZy4KQEAgLTIyOTMsNzAgKzIyMjMsMTAgQEAgY29uc3Qg
Y2hhciogU3RyaW5nRnJvbUdUZXN0RW52KGNvbnN0IGNoYXIqIGZsYWcsIGNvbnN0IGNoYXIqIGRl
ZmF1bHRfdmFsKTsKIAogI2VuZGlmICAvLyAhZGVmaW5lZChHVEVTVF9JTlRFUk5BTF9ERVBSRUNB
VEVEKQogCi0jaWYgR1RFU1RfSEFTX0FCU0wKLS8vIEFsd2F5cyB1c2UgYWJzbDo6YW55IGZvciBV
bml2ZXJzYWxQcmludGVyPD4gc3BlY2lhbGl6YXRpb25zIGlmIGdvb2dsZXRlc3QKLS8vIGlzIGJ1
aWx0IHdpdGggYWJzbCBzdXBwb3J0LgotI2RlZmluZSBHVEVTVF9JTlRFUk5BTF9IQVNfQU5ZIDEK
LSNpbmNsdWRlICJhYnNsL3R5cGVzL2FueS5oIgotbmFtZXNwYWNlIHRlc3RpbmcgewotbmFtZXNw
YWNlIGludGVybmFsIHsKLXVzaW5nIEFueSA9IDo6YWJzbDo6YW55OwotfSAgLy8gbmFtZXNwYWNl
IGludGVybmFsCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotI2Vsc2UKLSNpZmRlZiBfX2hhc19p
bmNsdWRlCi0jaWYgX19oYXNfaW5jbHVkZSg8YW55PikgJiYgX19jcGx1c3BsdXMgPj0gMjAxNzAz
TAotLy8gT3RoZXJ3aXNlIGZvciBDKysxNyBhbmQgaGlnaGVyIHVzZSBzdGQ6OmFueSBmb3IgVW5p
dmVyc2FsUHJpbnRlcjw+Ci0vLyBzcGVjaWFsaXphdGlvbnMuCi0jZGVmaW5lIEdURVNUX0lOVEVS
TkFMX0hBU19BTlkgMQotI2luY2x1ZGUgPGFueT4KLW5hbWVzcGFjZSB0ZXN0aW5nIHsKLW5hbWVz
cGFjZSBpbnRlcm5hbCB7Ci11c2luZyBBbnkgPSA6OnN0ZDo6YW55OwotfSAgLy8gbmFtZXNwYWNl
IGludGVybmFsCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotLy8gVGhlIGNhc2Ugd2hlcmUgYWJz
bCBpcyBjb25maWd1cmVkIE5PVCB0byBhbGlhcyBzdGQ6OmFueSBpcyBub3QKLS8vIHN1cHBvcnRl
ZC4KLSNlbmRpZiAgLy8gX19oYXNfaW5jbHVkZSg8YW55PikgJiYgX19jcGx1c3BsdXMgPj0gMjAx
NzAzTAotI2VuZGlmICAvLyBfX2hhc19pbmNsdWRlCi0jZW5kaWYgIC8vIEdURVNUX0hBU19BQlNM
Ci0KLSNpZiBHVEVTVF9IQVNfQUJTTAotLy8gQWx3YXlzIHVzZSBhYnNsOjpvcHRpb25hbCBmb3Ig
VW5pdmVyc2FsUHJpbnRlcjw+IHNwZWNpYWxpemF0aW9ucyBpZgotLy8gZ29vZ2xldGVzdCBpcyBi
dWlsdCB3aXRoIGFic2wgc3VwcG9ydC4KLSNkZWZpbmUgR1RFU1RfSU5URVJOQUxfSEFTX09QVElP
TkFMIDEKLSNpbmNsdWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgiCi1uYW1lc3BhY2UgdGVzdGlu
ZyB7Ci1uYW1lc3BhY2UgaW50ZXJuYWwgewotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci11c2luZyBP
cHRpb25hbCA9IDo6YWJzbDo6b3B0aW9uYWw8VD47Ci1pbmxpbmUgOjphYnNsOjpudWxsb3B0X3Qg
TnVsbG9wdCgpIHsgcmV0dXJuIDo6YWJzbDo6bnVsbG9wdDsgfQotfSAgLy8gbmFtZXNwYWNlIGlu
dGVybmFsCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotI2Vsc2UKLSNpZmRlZiBfX2hhc19pbmNs
dWRlCi0jaWYgX19oYXNfaW5jbHVkZSg8b3B0aW9uYWw+KSAmJiBfX2NwbHVzcGx1cyA+PSAyMDE3
MDNMCi0vLyBPdGhlcndpc2UgZm9yIEMrKzE3IGFuZCBoaWdoZXIgdXNlIHN0ZDo6b3B0aW9uYWwg
Zm9yIFVuaXZlcnNhbFByaW50ZXI8PgotLy8gc3BlY2lhbGl6YXRpb25zLgotI2RlZmluZSBHVEVT
VF9JTlRFUk5BTF9IQVNfT1BUSU9OQUwgMQotI2luY2x1ZGUgPG9wdGlvbmFsPgotbmFtZXNwYWNl
IHRlc3RpbmcgewotbmFtZXNwYWNlIGludGVybmFsIHsKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPgot
dXNpbmcgT3B0aW9uYWwgPSA6OnN0ZDo6b3B0aW9uYWw8VD47Ci1pbmxpbmUgOjpzdGQ6Om51bGxv
cHRfdCBOdWxsb3B0KCkgeyByZXR1cm4gOjpzdGQ6Om51bGxvcHQ7IH0KLX0gIC8vIG5hbWVzcGFj
ZSBpbnRlcm5hbAotfSAgLy8gbmFtZXNwYWNlIHRlc3RpbmcKLS8vIFRoZSBjYXNlIHdoZXJlIGFi
c2wgaXMgY29uZmlndXJlZCBOT1QgdG8gYWxpYXMgc3RkOjpvcHRpb25hbCBpcyBub3QKLS8vIHN1
cHBvcnRlZC4KLSNlbmRpZiAgLy8gX19oYXNfaW5jbHVkZSg8b3B0aW9uYWw+KSAmJiBfX2NwbHVz
cGx1cyA+PSAyMDE3MDNMCi0jZW5kaWYgIC8vIF9faGFzX2luY2x1ZGUKLSNlbmRpZiAgLy8gR1RF
U1RfSEFTX0FCU0wKLQogI2lmIEdURVNUX0hBU19BQlNMCiAvLyBBbHdheXMgdXNlIGFic2w6OnN0
cmluZ192aWV3IGZvciBNYXRjaGVyPD4gc3BlY2lhbGl6YXRpb25zIGlmIGdvb2dsZXRlc3QKIC8v
IGlzIGJ1aWx0IHdpdGggYWJzbCBzdXBwb3J0LgotI2RlZmluZSBHVEVTVF9JTlRFUk5BTF9IQVNf
U1RSSU5HX1ZJRVcgMQorIyBkZWZpbmUgR1RFU1RfSU5URVJOQUxfSEFTX1NUUklOR19WSUVXIDEK
ICNpbmNsdWRlICJhYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaCIKIG5hbWVzcGFjZSB0ZXN0aW5n
IHsKIG5hbWVzcGFjZSBpbnRlcm5hbCB7CkBAIC0yMzY0LDExICsyMjM0LDExIEBAIHVzaW5nIFN0
cmluZ1ZpZXcgPSA6OmFic2w6OnN0cmluZ192aWV3OwogfSAgLy8gbmFtZXNwYWNlIGludGVybmFs
CiB9ICAvLyBuYW1lc3BhY2UgdGVzdGluZwogI2Vsc2UKLSNpZmRlZiBfX2hhc19pbmNsdWRlCi0j
aWYgX19oYXNfaW5jbHVkZSg8c3RyaW5nX3ZpZXc+KSAmJiBfX2NwbHVzcGx1cyA+PSAyMDE3MDNM
CisjIGlmZGVmIF9faGFzX2luY2x1ZGUKKyMgICBpZiBfX2hhc19pbmNsdWRlKDxzdHJpbmdfdmll
dz4pICYmIF9fY3BsdXNwbHVzID49IDIwMTcwM0wKIC8vIE90aGVyd2lzZSBmb3IgQysrMTcgYW5k
IGhpZ2hlciB1c2Ugc3RkOjpzdHJpbmdfdmlldyBmb3IgTWF0Y2hlcjw+CiAvLyBzcGVjaWFsaXph
dGlvbnMuCi0jZGVmaW5lIEdURVNUX0lOVEVSTkFMX0hBU19TVFJJTkdfVklFVyAxCisjICAgZGVm
aW5lIEdURVNUX0lOVEVSTkFMX0hBU19TVFJJTkdfVklFVyAxCiAjaW5jbHVkZSA8c3RyaW5nX3Zp
ZXc+CiBuYW1lc3BhY2UgdGVzdGluZyB7CiBuYW1lc3BhY2UgaW50ZXJuYWwgewpAQCAtMjM3Nywz
NyArMjI0Nyw4IEBAIHVzaW5nIFN0cmluZ1ZpZXcgPSA6OnN0ZDo6c3RyaW5nX3ZpZXc7CiB9ICAv
LyBuYW1lc3BhY2UgdGVzdGluZwogLy8gVGhlIGNhc2Ugd2hlcmUgYWJzbCBpcyBjb25maWd1cmVk
IE5PVCB0byBhbGlhcyBzdGQ6OnN0cmluZ192aWV3IGlzIG5vdAogLy8gc3VwcG9ydGVkLgotI2Vu
ZGlmICAvLyBfX2hhc19pbmNsdWRlKDxzdHJpbmdfdmlldz4pICYmIF9fY3BsdXNwbHVzID49IDIw
MTcwM0wKLSNlbmRpZiAgLy8gX19oYXNfaW5jbHVkZQotI2VuZGlmICAvLyBHVEVTVF9IQVNfQUJT
TAotCi0jaWYgR1RFU1RfSEFTX0FCU0wKLS8vIEFsd2F5cyB1c2UgYWJzbDo6dmFyaWFudCBmb3Ig
VW5pdmVyc2FsUHJpbnRlcjw+IHNwZWNpYWxpemF0aW9ucyBpZiBnb29nbGV0ZXN0Ci0vLyBpcyBi
dWlsdCB3aXRoIGFic2wgc3VwcG9ydC4KLSNkZWZpbmUgR1RFU1RfSU5URVJOQUxfSEFTX1ZBUklB
TlQgMQotI2luY2x1ZGUgImFic2wvdHlwZXMvdmFyaWFudC5oIgotbmFtZXNwYWNlIHRlc3Rpbmcg
ewotbmFtZXNwYWNlIGludGVybmFsIHsKLXRlbXBsYXRlIDx0eXBlbmFtZS4uLiBUPgotdXNpbmcg
VmFyaWFudCA9IDo6YWJzbDo6dmFyaWFudDxULi4uPjsKLX0gIC8vIG5hbWVzcGFjZSBpbnRlcm5h
bAotfSAgLy8gbmFtZXNwYWNlIHRlc3RpbmcKLSNlbHNlCi0jaWZkZWYgX19oYXNfaW5jbHVkZQot
I2lmIF9faGFzX2luY2x1ZGUoPHZhcmlhbnQ+KSAmJiBfX2NwbHVzcGx1cyA+PSAyMDE3MDNMCi0v
LyBPdGhlcndpc2UgZm9yIEMrKzE3IGFuZCBoaWdoZXIgdXNlIHN0ZDo6dmFyaWFudCBmb3IgVW5p
dmVyc2FsUHJpbnRlcjw+Ci0vLyBzcGVjaWFsaXphdGlvbnMuCi0jZGVmaW5lIEdURVNUX0lOVEVS
TkFMX0hBU19WQVJJQU5UIDEKLSNpbmNsdWRlIDx2YXJpYW50PgotbmFtZXNwYWNlIHRlc3Rpbmcg
ewotbmFtZXNwYWNlIGludGVybmFsIHsKLXRlbXBsYXRlIDx0eXBlbmFtZS4uLiBUPgotdXNpbmcg
VmFyaWFudCA9IDo6c3RkOjp2YXJpYW50PFQuLi4+OwotfSAgLy8gbmFtZXNwYWNlIGludGVybmFs
Ci19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotLy8gVGhlIGNhc2Ugd2hlcmUgYWJzbCBpcyBjb25m
aWd1cmVkIE5PVCB0byBhbGlhcyBzdGQ6OnZhcmlhbnQgaXMgbm90IHN1cHBvcnRlZC4KLSNlbmRp
ZiAgLy8gX19oYXNfaW5jbHVkZSg8dmFyaWFudD4pICYmIF9fY3BsdXNwbHVzID49IDIwMTcwM0wK
LSNlbmRpZiAgLy8gX19oYXNfaW5jbHVkZQorIyAgZW5kaWYgIC8vIF9faGFzX2luY2x1ZGUoPHN0
cmluZ192aWV3PikgJiYgX19jcGx1c3BsdXMgPj0gMjAxNzAzTAorIyBlbmRpZiAgLy8gX19oYXNf
aW5jbHVkZQogI2VuZGlmICAvLyBHVEVTVF9IQVNfQUJTTAogCi0jZW5kaWYgIC8vIEdPT0dMRVRF
U1RfSU5DTFVERV9HVEVTVF9JTlRFUk5BTF9HVEVTVF9QT1JUX0hfCisjZW5kaWYgIC8vIEdURVNU
X0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfUE9SVF9IXwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2d0
ZXN0LXN0cmluZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNs
dWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0LXN0cmluZy5oCmluZGV4IGNjYTJlMWYyYWQ5OC4uMGIy
YTkxYTVkY2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qv
c3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3Qtc3RyaW5nLmgKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0
LXN0cmluZy5oCkBAIC0yNiw3ICsyNiw3IEBACiAvLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAvLyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKIC8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0KKy8vCiAvLyBUaGUgR29vZ2xlIEMrKyBUZXN0aW5nIGFuZCBN
b2NraW5nIEZyYW1ld29yayAoR29vZ2xlIFRlc3QpCiAvLwogLy8gVGhpcyBoZWFkZXIgZmlsZSBk
ZWNsYXJlcyB0aGUgU3RyaW5nIGNsYXNzIGFuZCBmdW5jdGlvbnMgdXNlZCBpbnRlcm5hbGx5IGJ5
CkBAIC0zNiwyMCArMzYsMTcgQEAKIC8vIFRoaXMgaGVhZGVyIGZpbGUgaXMgI2luY2x1ZGVkIGJ5
IGd0ZXN0LWludGVybmFsLmguCiAvLyBJdCBzaG91bGQgbm90IGJlICNpbmNsdWRlZCBieSBvdGhl
ciBmaWxlcy4KIAotLy8gSVdZVSBwcmFnbWE6IHByaXZhdGUsIGluY2x1ZGUgImd0ZXN0L2d0ZXN0
LmgiCi0vLyBJV1lVIHByYWdtYTogZnJpZW5kIGd0ZXN0Ly4qCi0vLyBJV1lVIHByYWdtYTogZnJp
ZW5kIGdtb2NrLy4qCisvLyBHT09HTEVURVNUX0NNMDAwMSBETyBOT1QgREVMRVRFCiAKLSNpZm5k
ZWYgR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1NUUklOR19IXwotI2Rl
ZmluZSBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfU1RSSU5HX0hfCisj
aWZuZGVmIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfU1RSSU5HX0hfCisjZGVm
aW5lIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RFU1RfU1RSSU5HX0hfCiAKICNpZmRl
ZiBfX0JPUkxBTkRDX18KIC8vIHN0cmluZy5oIGlzIG5vdCBndWFyYW50ZWVkIHRvIHByb3ZpZGUg
c3RyY3B5IG9uIEMrKyBCdWlsZGVyLgotI2luY2x1ZGUgPG1lbS5oPgorIyBpbmNsdWRlIDxtZW0u
aD4KICNlbmRpZgogCiAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0KICNpbmNsdWRlIDxjc3RkaW50Pgog
I2luY2x1ZGUgPHN0cmluZz4KIApAQCAtMTI2LDcgKzEyMyw4IEBAIGNsYXNzIEdURVNUX0FQSV8g
U3RyaW5nIHsKICAgLy8gVW5saWtlIHN0cmNhc2VjbXAoKSwgdGhpcyBmdW5jdGlvbiBjYW4gaGFu
ZGxlIE5VTEwgYXJndW1lbnQocykuCiAgIC8vIEEgTlVMTCBDIHN0cmluZyBpcyBjb25zaWRlcmVk
IGRpZmZlcmVudCB0byBhbnkgbm9uLU5VTEwgQyBzdHJpbmcsCiAgIC8vIGluY2x1ZGluZyB0aGUg
ZW1wdHkgc3RyaW5nLgotICBzdGF0aWMgYm9vbCBDYXNlSW5zZW5zaXRpdmVDU3RyaW5nRXF1YWxz
KGNvbnN0IGNoYXIqIGxocywgY29uc3QgY2hhciogcmhzKTsKKyAgc3RhdGljIGJvb2wgQ2FzZUlu
c2Vuc2l0aXZlQ1N0cmluZ0VxdWFscyhjb25zdCBjaGFyKiBsaHMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzKTsKIAogICAvLyBDb21w
YXJlcyB0d28gd2lkZSBDIHN0cmluZ3MsIGlnbm9yaW5nIGNhc2UuICBSZXR1cm5zIHRydWUgaWYg
YW5kIG9ubHkgaWYKICAgLy8gdGhleSBoYXZlIHRoZSBzYW1lIGNvbnRlbnQuCkBAIC0xNDUsMTUg
KzE0MywxMiBAQCBjbGFzcyBHVEVTVF9BUElfIFN0cmluZyB7CiAKICAgLy8gUmV0dXJucyB0cnVl
IGlmIGFuZCBvbmx5IGlmIHRoZSBnaXZlbiBzdHJpbmcgZW5kcyB3aXRoIHRoZSBnaXZlbiBzdWZm
aXgsCiAgIC8vIGlnbm9yaW5nIGNhc2UuIEFueSBzdHJpbmcgaXMgY29uc2lkZXJlZCB0byBlbmQg
d2l0aCBhbiBlbXB0eSBzdWZmaXguCi0gIHN0YXRpYyBib29sIEVuZHNXaXRoQ2FzZUluc2Vuc2l0
aXZlKGNvbnN0IHN0ZDo6c3RyaW5nJiBzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBzdWZmaXgpOworICBzdGF0aWMgYm9vbCBFbmRz
V2l0aENhc2VJbnNlbnNpdGl2ZSgKKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBzdHIsIGNvbnN0
IHN0ZDo6c3RyaW5nJiBzdWZmaXgpOwogCiAgIC8vIEZvcm1hdHMgYW4gaW50IHZhbHVlIGFzICIl
MDJkIi4KICAgc3RhdGljIHN0ZDo6c3RyaW5nIEZvcm1hdEludFdpZHRoMihpbnQgdmFsdWUpOyAg
Ly8gIiUwMmQiIGZvciB3aWR0aCA9PSAyCiAKLSAgLy8gRm9ybWF0cyBhbiBpbnQgdmFsdWUgdG8g
Z2l2ZW4gd2lkdGggd2l0aCBsZWFkaW5nIHplcm9zLgotICBzdGF0aWMgc3RkOjpzdHJpbmcgRm9y
bWF0SW50V2lkdGhOKGludCB2YWx1ZSwgaW50IHdpZHRoKTsKLQogICAvLyBGb3JtYXRzIGFuIGlu
dCB2YWx1ZSBhcyAiJVgiLgogICBzdGF0aWMgc3RkOjpzdHJpbmcgRm9ybWF0SGV4SW50KGludCB2
YWx1ZSk7CiAKQEAgLTE2NSw3ICsxNjAsNyBAQCBjbGFzcyBHVEVTVF9BUElfIFN0cmluZyB7CiAK
ICBwcml2YXRlOgogICBTdHJpbmcoKTsgIC8vIE5vdCBtZWFudCB0byBiZSBpbnN0YW50aWF0ZWQu
Ci19OyAgICAgICAgICAgLy8gY2xhc3MgU3RyaW5nCit9OyAgLy8gY2xhc3MgU3RyaW5nCiAKIC8v
IEdldHMgdGhlIGNvbnRlbnQgb2YgdGhlIHN0cmluZ3N0cmVhbSdzIGJ1ZmZlciBhcyBhbiBzdGQ6
OnN0cmluZy4gIEVhY2ggJ1wwJwogLy8gY2hhcmFjdGVyIGluIHRoZSBidWZmZXIgaXMgcmVwbGFj
ZWQgd2l0aCAiXFwwIi4KQEAgLTE3NCw0ICsxNjksNCBAQCBHVEVTVF9BUElfIHN0ZDo6c3RyaW5n
IFN0cmluZ1N0cmVhbVRvU3RyaW5nKDo6c3RkOjpzdHJpbmdzdHJlYW0qIHN0cmVhbSk7CiB9ICAv
LyBuYW1lc3BhY2UgaW50ZXJuYWwKIH0gIC8vIG5hbWVzcGFjZSB0ZXN0aW5nCiAKLSNlbmRpZiAg
Ly8gR09PR0xFVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1NUUklOR19IXworI2Vu
ZGlmICAvLyBHVEVTVF9JTkNMVURFX0dURVNUX0lOVEVSTkFMX0dURVNUX1NUUklOR19IXwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0
ZXN0L2ludGVybmFsL2d0ZXN0LXR5cGUtdXRpbC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9n
b29nbGV0ZXN0L3NyYy9pbmNsdWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0LXR5cGUtdXRpbC5oCmlu
ZGV4IDZiYzAyYTdkZTMwYS4uMDgyZmRhZDEyYzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Ro
aXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL2luY2x1ZGUvZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtdHlw
ZS11dGlsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9pbmNs
dWRlL2d0ZXN0L2ludGVybmFsL2d0ZXN0LXR5cGUtdXRpbC5oCkBAIC0zMCwyMiArMzAsMjAgQEAK
IC8vIFR5cGUgdXRpbGl0aWVzIG5lZWRlZCBmb3IgaW1wbGVtZW50aW5nIHR5cGVkIGFuZCB0eXBl
LXBhcmFtZXRlcml6ZWQKIC8vIHRlc3RzLgogCi0vLyBJV1lVIHByYWdtYTogcHJpdmF0ZSwgaW5j
bHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKLS8vIElXWVUgcHJhZ21hOiBmcmllbmQgZ3Rlc3QvLioKLS8v
IElXWVUgcHJhZ21hOiBmcmllbmQgZ21vY2svLioKKy8vIEdPT0dMRVRFU1RfQ00wMDAxIERPIE5P
VCBERUxFVEUKIAotI2lmbmRlZiBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJOQUxfR1RF
U1RfVFlQRV9VVElMX0hfCi0jZGVmaW5lIEdPT0dMRVRFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5B
TF9HVEVTVF9UWVBFX1VUSUxfSF8KKyNpZm5kZWYgR1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5B
TF9HVEVTVF9UWVBFX1VUSUxfSF8KKyNkZWZpbmUgR1RFU1RfSU5DTFVERV9HVEVTVF9JTlRFUk5B
TF9HVEVTVF9UWVBFX1VUSUxfSF8KIAogI2luY2x1ZGUgImd0ZXN0L2ludGVybmFsL2d0ZXN0LXBv
cnQuaCIKIAogLy8gI2lmZGVmIF9fR05VQ19fIGlzIHRvbyBnZW5lcmFsIGhlcmUuICBJdCBpcyBw
b3NzaWJsZSB0byB1c2UgZ2NjIHdpdGhvdXQgdXNpbmcKIC8vIGxpYnN0ZGMrKyAod2hpY2ggaXMg
d2hlcmUgY3h4YWJpLmggY29tZXMgZnJvbSkuCi0jaWYgR1RFU1RfSEFTX0NYWEFCSV9IXwotI2lu
Y2x1ZGUgPGN4eGFiaS5oPgotI2VsaWYgZGVmaW5lZChfX0hQX2FDQykKLSNpbmNsdWRlIDxhY3h4
X2RlbWFuZ2xlLmg+Ci0jZW5kaWYgIC8vIEdURVNUX0hBU0hfQ1hYQUJJX0hfCisjIGlmIEdURVNU
X0hBU19DWFhBQklfSF8KKyMgIGluY2x1ZGUgPGN4eGFiaS5oPgorIyBlbGlmIGRlZmluZWQoX19I
UF9hQ0MpCisjICBpbmNsdWRlIDxhY3h4X2RlbWFuZ2xlLmg+CisjIGVuZGlmICAvLyBHVEVTVF9I
QVNIX0NYWEFCSV9IXwogCiBuYW1lc3BhY2UgdGVzdGluZyB7CiBuYW1lc3BhY2UgaW50ZXJuYWwg
ewpAQCAtNjYsNDYgKzY0LDQyIEBAIGlubGluZSBzdGQ6OnN0cmluZyBDYW5vbmljYWxpemVGb3JT
dGRMaWJWZXJzaW9uaW5nKHN0ZDo6c3RyaW5nIHMpIHsKICAgcmV0dXJuIHM7CiB9CiAKLSNpZiBH
VEVTVF9IQVNfUlRUSQotLy8gR2V0VHlwZU5hbWUoY29uc3Qgc3RkOjp0eXBlX2luZm8mKSByZXR1
cm5zIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0eXBlIFQuCi1pbmxpbmUgc3RkOjpzdHJpbmcg
R2V0VHlwZU5hbWUoY29uc3Qgc3RkOjp0eXBlX2luZm8mIHR5cGUpIHsKLSAgY29uc3QgY2hhciog
Y29uc3QgbmFtZSA9IHR5cGUubmFtZSgpOwotI2lmIEdURVNUX0hBU19DWFhBQklfSF8gfHwgZGVm
aW5lZChfX0hQX2FDQykKKy8vIEdldFR5cGVOYW1lPFQ+KCkgcmV0dXJucyBhIGh1bWFuLXJlYWRh
YmxlIG5hbWUgb2YgdHlwZSBULgorLy8gTkI6IFRoaXMgZnVuY3Rpb24gaXMgYWxzbyB1c2VkIGlu
IEdvb2dsZSBNb2NrLCBzbyBkb24ndCBtb3ZlIGl0IGluc2lkZSBvZgorLy8gdGhlIHR5cGVkLXRl
c3Qtb25seSBzZWN0aW9uIGJlbG93LgordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdGQ6OnN0cmlu
ZyBHZXRUeXBlTmFtZSgpIHsKKyMgaWYgR1RFU1RfSEFTX1JUVEkKKworICBjb25zdCBjaGFyKiBj
b25zdCBuYW1lID0gdHlwZWlkKFQpLm5hbWUoKTsKKyMgIGlmIEdURVNUX0hBU19DWFhBQklfSF8g
fHwgZGVmaW5lZChfX0hQX2FDQykKICAgaW50IHN0YXR1cyA9IDA7CiAgIC8vIGdjYydzIGltcGxl
bWVudGF0aW9uIG9mIHR5cGVpZChUKS5uYW1lKCkgbWFuZ2xlcyB0aGUgdHlwZSBuYW1lLAogICAv
LyBzbyB3ZSBoYXZlIHRvIGRlbWFuZ2xlIGl0LgotI2lmIEdURVNUX0hBU19DWFhBQklfSF8KKyMg
ICBpZiBHVEVTVF9IQVNfQ1hYQUJJX0hfCiAgIHVzaW5nIGFiaTo6X19jeGFfZGVtYW5nbGU7Ci0j
ZW5kaWYgIC8vIEdURVNUX0hBU19DWFhBQklfSF8KKyMgICBlbmRpZiAgLy8gR1RFU1RfSEFTX0NY
WEFCSV9IXwogICBjaGFyKiBjb25zdCByZWFkYWJsZV9uYW1lID0gX19jeGFfZGVtYW5nbGUobmFt
ZSwgbnVsbHB0ciwgbnVsbHB0ciwgJnN0YXR1cyk7CiAgIGNvbnN0IHN0ZDo6c3RyaW5nIG5hbWVf
c3RyKHN0YXR1cyA9PSAwID8gcmVhZGFibGVfbmFtZSA6IG5hbWUpOwogICBmcmVlKHJlYWRhYmxl
X25hbWUpOwogICByZXR1cm4gQ2Fub25pY2FsaXplRm9yU3RkTGliVmVyc2lvbmluZyhuYW1lX3N0
cik7Ci0jZWxzZQorIyAgZWxzZQogICByZXR1cm4gbmFtZTsKLSNlbmRpZiAgLy8gR1RFU1RfSEFT
X0NYWEFCSV9IXyB8fCBfX0hQX2FDQwotfQotI2VuZGlmICAvLyBHVEVTVF9IQVNfUlRUSQorIyAg
ZW5kaWYgIC8vIEdURVNUX0hBU19DWFhBQklfSF8gfHwgX19IUF9hQ0MKKworIyBlbHNlCiAKLS8v
IEdldFR5cGVOYW1lPFQ+KCkgcmV0dXJucyBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdHlwZSBU
IGlmIGFuZCBvbmx5IGlmCi0vLyBSVFRJIGlzIGVuYWJsZWQsIG90aGVyd2lzZSBpdCByZXR1cm5z
IGEgZHVtbXkgdHlwZSBuYW1lLgotLy8gTkI6IFRoaXMgZnVuY3Rpb24gaXMgYWxzbyB1c2VkIGlu
IEdvb2dsZSBNb2NrLCBzbyBkb24ndCBtb3ZlIGl0IGluc2lkZSBvZgotLy8gdGhlIHR5cGVkLXRl
c3Qtb25seSBzZWN0aW9uIGJlbG93LgotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1zdGQ6OnN0cmlu
ZyBHZXRUeXBlTmFtZSgpIHsKLSNpZiBHVEVTVF9IQVNfUlRUSQotICByZXR1cm4gR2V0VHlwZU5h
bWUodHlwZWlkKFQpKTsKLSNlbHNlCiAgIHJldHVybiAiPHR5cGU+IjsKLSNlbmRpZiAgLy8gR1RF
U1RfSEFTX1JUVEkKKworIyBlbmRpZiAgLy8gR1RFU1RfSEFTX1JUVEkKIH0KIAorI2lmIEdURVNU
X0hBU19UWVBFRF9URVNUIHx8IEdURVNUX0hBU19UWVBFRF9URVNUX1AKKwogLy8gQSB1bmlxdWUg
dHlwZSBpbmRpY2F0aW5nIGFuIGVtcHR5IG5vZGUKIHN0cnVjdCBOb25lIHt9OwogCi0jZGVmaW5l
IEdURVNUX1RFTVBMQVRFXyBcCi0gIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBcCi0gIGNsYXNzCisj
IGRlZmluZSBHVEVTVF9URU1QTEFURV8gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzCiAKIC8v
IFRoZSB0ZW1wbGF0ZSAic2VsZWN0b3IiIHN0cnVjdCBUZW1wbGF0ZVNlbDxUbXBsPiBpcyB1c2Vk
IHRvCiAvLyByZXByZXNlbnQgVG1wbCwgd2hpY2ggbXVzdCBiZSBhIGNsYXNzIHRlbXBsYXRlIHdp
dGggb25lIHR5cGUKQEAgLTEyMyw3ICsxMTcsOCBAQCBzdHJ1Y3QgVGVtcGxhdGVTZWwgewogICB9
OwogfTsKIAotI2RlZmluZSBHVEVTVF9CSU5EXyhUbXBsU2VsLCBUKSBUbXBsU2VsOjp0ZW1wbGF0
ZSBCaW5kPFQ+Ojp0eXBlCisjIGRlZmluZSBHVEVTVF9CSU5EXyhUbXBsU2VsLCBUKSBcCisgIFRt
cGxTZWw6OnRlbXBsYXRlIEJpbmQ8VD46OnR5cGUKIAogdGVtcGxhdGUgPEdURVNUX1RFTVBMQVRF
XyBIZWFkXywgR1RFU1RfVEVNUExBVEVfLi4uIFRhaWxfPgogc3RydWN0IFRlbXBsYXRlcyB7CkBA
IC0xNzYsNiArMTcxLDggQEAgc3RydWN0IEdlbmVyYXRlVHlwZUxpc3QgewogICB1c2luZyB0eXBl
ID0gdHlwZW5hbWUgcHJveHk6OnR5cGU7CiB9OwogCisjZW5kaWYgIC8vIEdURVNUX0hBU19UWVBF
RF9URVNUIHx8IEdURVNUX0hBU19UWVBFRF9URVNUX1AKKwogfSAgLy8gbmFtZXNwYWNlIGludGVy
bmFsCiAKIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBUcz4KQEAgLTE4Myw0ICsxODAsNCBAQCB1c2lu
ZyBUeXBlcyA9IGludGVybmFsOjpQcm94eVR5cGVMaXN0PFRzLi4uPjsKIAogfSAgLy8gbmFtZXNw
YWNlIHRlc3RpbmcKIAotI2VuZGlmICAvLyBHT09HTEVURVNUX0lOQ0xVREVfR1RFU1RfSU5URVJO
QUxfR1RFU1RfVFlQRV9VVElMX0hfCisjZW5kaWYgIC8vIEdURVNUX0lOQ0xVREVfR1RFU1RfSU5U
RVJOQUxfR1RFU1RfVFlQRV9VVElMX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3Bh
cnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1hbGwuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3Bh
cnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1hbGwuY2MKaW5kZXggMmE3MGVkODhjNzg0Li5h
ZDI5MjkwNWNmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVz
dC9zcmMvc3JjL2d0ZXN0LWFsbC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2ds
ZXRlc3Qvc3JjL3NyYy9ndGVzdC1hbGwuY2MKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlICJn
dGVzdC9ndGVzdC5oIgogCiAvLyBUaGUgZm9sbG93aW5nIGxpbmVzIHB1bGwgaW4gdGhlIHJlYWwg
Z3Rlc3QgKi5jYyBmaWxlcy4KLSNpbmNsdWRlICJzcmMvZ3Rlc3QtYXNzZXJ0aW9uLXJlc3VsdC5j
YyIKKyNpbmNsdWRlICJzcmMvZ3Rlc3QuY2MiCiAjaW5jbHVkZSAic3JjL2d0ZXN0LWRlYXRoLXRl
c3QuY2MiCiAjaW5jbHVkZSAic3JjL2d0ZXN0LWZpbGVwYXRoLmNjIgogI2luY2x1ZGUgInNyYy9n
dGVzdC1tYXRjaGVycy5jYyIKQEAgLTQ2LDQgKzQ2LDMgQEAKICNpbmNsdWRlICJzcmMvZ3Rlc3Qt
cHJpbnRlcnMuY2MiCiAjaW5jbHVkZSAic3JjL2d0ZXN0LXRlc3QtcGFydC5jYyIKICNpbmNsdWRl
ICJzcmMvZ3Rlc3QtdHlwZWQtdGVzdC5jYyIKLSNpbmNsdWRlICJzcmMvZ3Rlc3QuY2MiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1h
c3NlcnRpb24tcmVzdWx0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3Ny
Yy9zcmMvZ3Rlc3QtYXNzZXJ0aW9uLXJlc3VsdC5jYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjFjMGIxMGRjOWU1Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9w
YXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtYXNzZXJ0aW9uLXJlc3VsdC5jYworKysgL2Rl
di9udWxsCkBAIC0xLDc3ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDA1LCBHb29nbGUgSW5jLgot
Ly8gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vCi0vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLS8vIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKLS8vIG1ldDoKLS8vCi0vLyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotLy8gbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotLy8gICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotLy8gY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgotLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQotLy8gZGlzdHJpYnV0aW9uLgotLy8gICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotLy8gY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KLS8vIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0vLwotLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotLy8gIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLS8vIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgot
Ly8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKLS8vIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotLy8gU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCi0vLyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKLS8vIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLS8vIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotLy8g
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLQotLy8gVGhlIEdvb2dsZSBDKysgVGVzdGluZyBhbmQgTW9ja2luZyBGcmFt
ZXdvcmsgKEdvb2dsZSBUZXN0KQotLy8KLS8vIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBBc3NlcnRp
b25SZXN1bHQgdHlwZS4KLQotI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LWFzc2VydGlvbi1yZXN1bHQu
aCIKLQotI2luY2x1ZGUgPHN0cmluZz4KLSNpbmNsdWRlIDx1dGlsaXR5PgotCi0jaW5jbHVkZSAi
Z3Rlc3QvZ3Rlc3QtbWVzc2FnZS5oIgotCi1uYW1lc3BhY2UgdGVzdGluZyB7Ci0KLS8vIEFzc2Vy
dGlvblJlc3VsdCBjb25zdHJ1Y3RvcnMuCi0vLyBVc2VkIGluIEVYUEVDVF9UUlVFL0ZBTFNFKGFz
c2VydGlvbl9yZXN1bHQpLgotQXNzZXJ0aW9uUmVzdWx0OjpBc3NlcnRpb25SZXN1bHQoY29uc3Qg
QXNzZXJ0aW9uUmVzdWx0JiBvdGhlcikKLSAgICA6IHN1Y2Nlc3NfKG90aGVyLnN1Y2Nlc3NfKSwK
LSAgICAgIG1lc3NhZ2VfKG90aGVyLm1lc3NhZ2VfLmdldCgpICE9IG51bGxwdHIKLSAgICAgICAg
ICAgICAgICAgICA/IG5ldyA6OnN0ZDo6c3RyaW5nKCpvdGhlci5tZXNzYWdlXykKLSAgICAgICAg
ICAgICAgICAgICA6IHN0YXRpY19jYXN0PCA6OnN0ZDo6c3RyaW5nKj4obnVsbHB0cikpIHt9Ci0K
LS8vIFN3YXBzIHR3byBBc3NlcnRpb25SZXN1bHRzLgotdm9pZCBBc3NlcnRpb25SZXN1bHQ6OnN3
YXAoQXNzZXJ0aW9uUmVzdWx0JiBvdGhlcikgewotICB1c2luZyBzdGQ6OnN3YXA7Ci0gIHN3YXAo
c3VjY2Vzc18sIG90aGVyLnN1Y2Nlc3NfKTsKLSAgc3dhcChtZXNzYWdlXywgb3RoZXIubWVzc2Fn
ZV8pOwotfQotCi0vLyBSZXR1cm5zIHRoZSBhc3NlcnRpb24ncyBuZWdhdGlvbi4gVXNlZCB3aXRo
IEVYUEVDVC9BU1NFUlRfRkFMU0UuCi1Bc3NlcnRpb25SZXN1bHQgQXNzZXJ0aW9uUmVzdWx0Ojpv
cGVyYXRvciEoKSBjb25zdCB7Ci0gIEFzc2VydGlvblJlc3VsdCBuZWdhdGlvbighc3VjY2Vzc18p
OwotICBpZiAobWVzc2FnZV8uZ2V0KCkgIT0gbnVsbHB0cikgbmVnYXRpb24gPDwgKm1lc3NhZ2Vf
OwotICByZXR1cm4gbmVnYXRpb247Ci19Ci0KLS8vIE1ha2VzIGEgc3VjY2Vzc2Z1bCBhc3NlcnRp
b24gcmVzdWx0LgotQXNzZXJ0aW9uUmVzdWx0IEFzc2VydGlvblN1Y2Nlc3MoKSB7IHJldHVybiBB
c3NlcnRpb25SZXN1bHQodHJ1ZSk7IH0KLQotLy8gTWFrZXMgYSBmYWlsZWQgYXNzZXJ0aW9uIHJl
c3VsdC4KLUFzc2VydGlvblJlc3VsdCBBc3NlcnRpb25GYWlsdXJlKCkgeyByZXR1cm4gQXNzZXJ0
aW9uUmVzdWx0KGZhbHNlKTsgfQotCi0vLyBNYWtlcyBhIGZhaWxlZCBhc3NlcnRpb24gcmVzdWx0
IHdpdGggdGhlIGdpdmVuIGZhaWx1cmUgbWVzc2FnZS4KLS8vIERlcHJlY2F0ZWQ7IHVzZSBBc3Nl
cnRpb25GYWlsdXJlKCkgPDwgbWVzc2FnZS4KLUFzc2VydGlvblJlc3VsdCBBc3NlcnRpb25GYWls
dXJlKGNvbnN0IE1lc3NhZ2UmIG1lc3NhZ2UpIHsKLSAgcmV0dXJuIEFzc2VydGlvbkZhaWx1cmUo
KSA8PCBtZXNzYWdlOwotfQotCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtZGVhdGgtdGVz
dC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvc3JjL2d0ZXN0LWRl
YXRoLXRlc3QuY2MKaW5kZXggZTZhYmM2Mjc4YWU0Li41ZDEwMzFiZWEyNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvc3JjL2d0ZXN0LWRlYXRoLXRl
c3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rl
c3QtZGVhdGgtdGVzdC5jYwpAQCAtMzIsNTIgKzMyLDUxIEBACiAKICNpbmNsdWRlICJndGVzdC9n
dGVzdC1kZWF0aC10ZXN0LmgiCiAKLSNpbmNsdWRlIDxmdW5jdGlvbmFsPgogI2luY2x1ZGUgPHV0
aWxpdHk+CiAKLSNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9jdXN0b20vZ3Rlc3QuaCIKICNpbmNs
dWRlICJndGVzdC9pbnRlcm5hbC9ndGVzdC1wb3J0LmgiCisjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJu
YWwvY3VzdG9tL2d0ZXN0LmgiCiAKICNpZiBHVEVTVF9IQVNfREVBVEhfVEVTVAogCi0jaWYgR1RF
U1RfT1NfTUFDCi0jaW5jbHVkZSA8Y3J0X2V4dGVybnMuaD4KLSNlbmRpZiAgLy8gR1RFU1RfT1Nf
TUFDCi0KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPGZjbnRsLmg+Ci0jaW5jbHVkZSA8
bGltaXRzLmg+Ci0KLSNpZiBHVEVTVF9PU19MSU5VWAotI2luY2x1ZGUgPHNpZ25hbC5oPgotI2Vu
ZGlmICAvLyBHVEVTVF9PU19MSU5VWAotCi0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0KLSNpZiBHVEVT
VF9PU19XSU5ET1dTCi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2Vsc2UKLSNpbmNsdWRlIDxzeXMv
bW1hbi5oPgotI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0jZW5kaWYgIC8vIEdURVNUX09TX1dJTkRP
V1MKLQotI2lmIEdURVNUX09TX1FOWAotI2luY2x1ZGUgPHNwYXduLmg+Ci0jZW5kaWYgIC8vIEdU
RVNUX09TX1FOWAotCi0jaWYgR1RFU1RfT1NfRlVDSFNJQQotI2luY2x1ZGUgPGxpYi9mZGlvL2Zk
Lmg+Ci0jaW5jbHVkZSA8bGliL2ZkaW8vaW8uaD4KLSNpbmNsdWRlIDxsaWIvZmRpby9zcGF3bi5o
PgotI2luY2x1ZGUgPGxpYi96eC9jaGFubmVsLmg+Ci0jaW5jbHVkZSA8bGliL3p4L3BvcnQuaD4K
LSNpbmNsdWRlIDxsaWIvengvcHJvY2Vzcy5oPgotI2luY2x1ZGUgPGxpYi96eC9zb2NrZXQuaD4K
LSNpbmNsdWRlIDx6aXJjb24vcHJvY2Vzc2FyZ3MuaD4KLSNpbmNsdWRlIDx6aXJjb24vc3lzY2Fs
bHMuaD4KLSNpbmNsdWRlIDx6aXJjb24vc3lzY2FsbHMvcG9saWN5Lmg+Ci0jaW5jbHVkZSA8emly
Y29uL3N5c2NhbGxzL3BvcnQuaD4KLSNlbmRpZiAgLy8gR1RFU1RfT1NfRlVDSFNJQQorIyBpZiBH
VEVTVF9PU19NQUMKKyMgIGluY2x1ZGUgPGNydF9leHRlcm5zLmg+CisjIGVuZGlmICAvLyBHVEVT
VF9PU19NQUMKKworIyBpbmNsdWRlIDxlcnJuby5oPgorIyBpbmNsdWRlIDxmY250bC5oPgorIyBp
bmNsdWRlIDxsaW1pdHMuaD4KKworIyBpZiBHVEVTVF9PU19MSU5VWAorIyAgaW5jbHVkZSA8c2ln
bmFsLmg+CisjIGVuZGlmICAvLyBHVEVTVF9PU19MSU5VWAorCisjIGluY2x1ZGUgPHN0ZGFyZy5o
PgorCisjIGlmIEdURVNUX09TX1dJTkRPV1MKKyMgIGluY2x1ZGUgPHdpbmRvd3MuaD4KKyMgZWxz
ZQorIyAgaW5jbHVkZSA8c3lzL21tYW4uaD4KKyMgIGluY2x1ZGUgPHN5cy93YWl0Lmg+CisjIGVu
ZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTCisKKyMgaWYgR1RFU1RfT1NfUU5YCisjICBpbmNsdWRl
IDxzcGF3bi5oPgorIyBlbmRpZiAgLy8gR1RFU1RfT1NfUU5YCisKKyMgaWYgR1RFU1RfT1NfRlVD
SFNJQQorIyAgaW5jbHVkZSA8bGliL2ZkaW8vZmQuaD4KKyMgIGluY2x1ZGUgPGxpYi9mZGlvL2lv
Lmg+CisjICBpbmNsdWRlIDxsaWIvZmRpby9zcGF3bi5oPgorIyAgaW5jbHVkZSA8bGliL3p4L2No
YW5uZWwuaD4KKyMgIGluY2x1ZGUgPGxpYi96eC9wb3J0Lmg+CisjICBpbmNsdWRlIDxsaWIvengv
cHJvY2Vzcy5oPgorIyAgaW5jbHVkZSA8bGliL3p4L3NvY2tldC5oPgorIyAgaW5jbHVkZSA8emly
Y29uL3Byb2Nlc3NhcmdzLmg+CisjICBpbmNsdWRlIDx6aXJjb24vc3lzY2FsbHMuaD4KKyMgIGlu
Y2x1ZGUgPHppcmNvbi9zeXNjYWxscy9wb2xpY3kuaD4KKyMgIGluY2x1ZGUgPHppcmNvbi9zeXNj
YWxscy9wb3J0Lmg+CisjIGVuZGlmICAvLyBHVEVTVF9PU19GVUNIU0lBCiAKICNlbmRpZiAgLy8g
R1RFU1RfSEFTX0RFQVRIX1RFU1QKIApAQCAtOTYsMTIgKzk1LDkgQEAgbmFtZXNwYWNlIHRlc3Rp
bmcgewogLy8gdXNlZCBpbnRlcm5hbGx5IGF0IEdvb2dsZSwgaXMgInRocmVhZHNhZmUiLgogc3Rh
dGljIGNvbnN0IGNoYXIga0RlZmF1bHREZWF0aFRlc3RTdHlsZVtdID0gR1RFU1RfREVGQVVMVF9E
RUFUSF9URVNUX1NUWUxFOwogCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotCiBHVEVTVF9ERUZJ
TkVfc3RyaW5nXygKICAgICBkZWF0aF90ZXN0X3N0eWxlLAotICAgIHRlc3Rpbmc6OmludGVybmFs
OjpTdHJpbmdGcm9tR1Rlc3RFbnYoImRlYXRoX3Rlc3Rfc3R5bGUiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGluZzo6a0RlZmF1bHREZWF0aFRlc3RTdHls
ZSksCisgICAgaW50ZXJuYWw6OlN0cmluZ0Zyb21HVGVzdEVudigiZGVhdGhfdGVzdF9zdHlsZSIs
IGtEZWZhdWx0RGVhdGhUZXN0U3R5bGUpLAogICAgICJJbmRpY2F0ZXMgaG93IHRvIHJ1biBhIGRl
YXRoIHRlc3QgaW4gYSBmb3JrZWQgY2hpbGQgcHJvY2VzczogIgogICAgICJcInRocmVhZHNhZmVc
IiAoY2hpbGQgcHJvY2VzcyByZS1leGVjdXRlcyB0aGUgdGVzdCBiaW5hcnkgIgogICAgICJmcm9t
IHRoZSBiZWdpbm5pbmcsIHJ1bm5pbmcgb25seSB0aGUgc3BlY2lmaWMgZGVhdGggdGVzdCkgb3Ig
IgpAQCAtMTEwLDcgKzEwNiw3IEBAIEdURVNUX0RFRklORV9zdHJpbmdfKAogCiBHVEVTVF9ERUZJ
TkVfYm9vbF8oCiAgICAgZGVhdGhfdGVzdF91c2VfZm9yaywKLSAgICB0ZXN0aW5nOjppbnRlcm5h
bDo6Qm9vbEZyb21HVGVzdEVudigiZGVhdGhfdGVzdF91c2VfZm9yayIsIGZhbHNlKSwKKyAgICBp
bnRlcm5hbDo6Qm9vbEZyb21HVGVzdEVudigiZGVhdGhfdGVzdF91c2VfZm9yayIsIGZhbHNlKSwK
ICAgICAiSW5zdHJ1Y3RzIHRvIHVzZSBmb3JrKCkvX2V4aXQoKSBpbnN0ZWFkIG9mIGNsb25lKCkg
aW4gZGVhdGggdGVzdHMuICIKICAgICAiSWdub3JlZCBhbmQgYWx3YXlzIHVzZXMgZm9yaygpIG9u
IFBPU0lYIHN5c3RlbXMgd2hlcmUgY2xvbmUoKSBpcyBub3QgIgogICAgICJpbXBsZW1lbnRlZC4g
VXNlZnVsIHdoZW4gcnVubmluZyB1bmRlciB2YWxncmluZCBvciBzaW1pbGFyIHRvb2xzIGlmICIK
QEAgLTEyMCw2ICsxMTYsNyBAQCBHVEVTVF9ERUZJTkVfYm9vbF8oCiAgICAgIndvcmsgaW4gOTkl
IG9mIHRoZSBjYXNlcy4gT25jZSB2YWxncmluZCBpcyBmaXhlZCwgdGhpcyBmbGFnIHdpbGwgIgog
ICAgICJtb3N0IGxpa2VseSBiZSByZW1vdmVkLiIpOwogCituYW1lc3BhY2UgaW50ZXJuYWwgewog
R1RFU1RfREVGSU5FX3N0cmluZ18oCiAgICAgaW50ZXJuYWxfcnVuX2RlYXRoX3Rlc3QsICIiLAog
ICAgICJJbmRpY2F0ZXMgdGhlIGZpbGUsIGxpbmUgbnVtYmVyLCB0ZW1wb3JhbCBpbmRleCBvZiAi
CkBAIC0xMjgsOCArMTI1LDcgQEAgR1RFU1RfREVGSU5FX3N0cmluZ18oCiAgICAgInRoZSAnfCcg
Y2hhcmFjdGVycy4gIFRoaXMgZmxhZyBpcyBzcGVjaWZpZWQgaWYgYW5kIG9ubHkgaWYgdGhlICIK
ICAgICAiY3VycmVudCBwcm9jZXNzIGlzIGEgc3ViLXByb2Nlc3MgbGF1bmNoZWQgZm9yIHJ1bm5p
bmcgYSB0aHJlYWQtc2FmZSAiCiAgICAgImRlYXRoIHRlc3QuICBGT1IgSU5URVJOQUwgVVNFIE9O
TFkuIik7Ci0KLW5hbWVzcGFjZSB0ZXN0aW5nIHsKK30gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAog
CiAjaWYgR1RFU1RfSEFTX0RFQVRIX1RFU1QKIApAQCAtMTM3LDkgKzEzMyw5IEBAIG5hbWVzcGFj
ZSBpbnRlcm5hbCB7CiAKIC8vIFZhbGlkIG9ubHkgZm9yIGZhc3QgZGVhdGggdGVzdHMuIEluZGlj
YXRlcyB0aGUgY29kZSBpcyBydW5uaW5nIGluIHRoZQogLy8gY2hpbGQgcHJvY2VzcyBvZiBhIGZh
c3Qgc3R5bGUgZGVhdGggdGVzdC4KLSNpZiAhR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1Nf
RlVDSFNJQQorIyBpZiAhR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfRlVDSFNJQQogc3Rh
dGljIGJvb2wgZ19pbl9mYXN0X2RlYXRoX3Rlc3RfY2hpbGQgPSBmYWxzZTsKLSNlbmRpZgorIyBl
bmRpZgogCiAvLyBSZXR1cm5zIGEgQm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhl
IGNhbGxlciBpcyBjdXJyZW50bHkKIC8vIGV4ZWN1dGluZyBpbiB0aGUgY29udGV4dCBvZiB0aGUg
ZGVhdGggdGVzdCBjaGlsZCBwcm9jZXNzLiAgVG9vbHMgc3VjaCBhcwpAQCAtMTQ3LDE2ICsxNDMs
MTYgQEAgc3RhdGljIGJvb2wgZ19pbl9mYXN0X2RlYXRoX3Rlc3RfY2hpbGQgPSBmYWxzZTsKIC8v
IHRlc3RzLiAgSU1QT1JUQU5UOiBUaGlzIGlzIGFuIGludGVybmFsIHV0aWxpdHkuICBVc2luZyBp
dCBtYXkgYnJlYWsgdGhlCiAvLyBpbXBsZW1lbnRhdGlvbiBvZiBkZWF0aCB0ZXN0cy4gIFVzZXIg
Y29kZSBNVVNUIE5PVCB1c2UgaXQuCiBib29sIEluRGVhdGhUZXN0Q2hpbGQoKSB7Ci0jaWYgR1RF
U1RfT1NfV0lORE9XUyB8fCBHVEVTVF9PU19GVUNIU0lBCisjIGlmIEdURVNUX09TX1dJTkRPV1Mg
fHwgR1RFU1RfT1NfRlVDSFNJQQogCiAgIC8vIE9uIFdpbmRvd3MgYW5kIEZ1Y2hzaWEsIGRlYXRo
IHRlc3RzIGFyZSB0aHJlYWQtc2FmZSByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZQogICAvLyBvZiB0
aGUgZGVhdGhfdGVzdF9zdHlsZSBmbGFnLgotICByZXR1cm4gIUdURVNUX0ZMQUdfR0VUKGludGVy
bmFsX3J1bl9kZWF0aF90ZXN0KS5lbXB0eSgpOworICByZXR1cm4gIUdURVNUX0ZMQUcoaW50ZXJu
YWxfcnVuX2RlYXRoX3Rlc3QpLmVtcHR5KCk7CiAKLSNlbHNlCisjIGVsc2UKIAotICBpZiAoR1RF
U1RfRkxBR19HRVQoZGVhdGhfdGVzdF9zdHlsZSkgPT0gInRocmVhZHNhZmUiKQotICAgIHJldHVy
biAhR1RFU1RfRkxBR19HRVQoaW50ZXJuYWxfcnVuX2RlYXRoX3Rlc3QpLmVtcHR5KCk7CisgIGlm
IChHVEVTVF9GTEFHKGRlYXRoX3Rlc3Rfc3R5bGUpID09ICJ0aHJlYWRzYWZlIikKKyAgICByZXR1
cm4gIUdURVNUX0ZMQUcoaW50ZXJuYWxfcnVuX2RlYXRoX3Rlc3QpLmVtcHR5KCk7CiAgIGVsc2UK
ICAgICByZXR1cm4gZ19pbl9mYXN0X2RlYXRoX3Rlc3RfY2hpbGQ7CiAjZW5kaWYKQEAgLTE2NSwz
OCArMTYxLDQwIEBAIGJvb2wgSW5EZWF0aFRlc3RDaGlsZCgpIHsKIH0gIC8vIG5hbWVzcGFjZSBp
bnRlcm5hbAogCiAvLyBFeGl0ZWRXaXRoQ29kZSBjb25zdHJ1Y3Rvci4KLUV4aXRlZFdpdGhDb2Rl
OjpFeGl0ZWRXaXRoQ29kZShpbnQgZXhpdF9jb2RlKSA6IGV4aXRfY29kZV8oZXhpdF9jb2RlKSB7
fQorRXhpdGVkV2l0aENvZGU6OkV4aXRlZFdpdGhDb2RlKGludCBleGl0X2NvZGUpIDogZXhpdF9j
b2RlXyhleGl0X2NvZGUpIHsKK30KIAogLy8gRXhpdGVkV2l0aENvZGUgZnVuY3Rpb24tY2FsbCBv
cGVyYXRvci4KIGJvb2wgRXhpdGVkV2l0aENvZGU6Om9wZXJhdG9yKCkoaW50IGV4aXRfc3RhdHVz
KSBjb25zdCB7Ci0jaWYgR1RFU1RfT1NfV0lORE9XUyB8fCBHVEVTVF9PU19GVUNIU0lBCisjIGlm
IEdURVNUX09TX1dJTkRPV1MgfHwgR1RFU1RfT1NfRlVDSFNJQQogCiAgIHJldHVybiBleGl0X3N0
YXR1cyA9PSBleGl0X2NvZGVfOwogCi0jZWxzZQorIyBlbHNlCiAKICAgcmV0dXJuIFdJRkVYSVRF
RChleGl0X3N0YXR1cykgJiYgV0VYSVRTVEFUVVMoZXhpdF9zdGF0dXMpID09IGV4aXRfY29kZV87
CiAKLSNlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XUyB8fCBHVEVTVF9PU19GVUNIU0lBCisjIGVu
ZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTIHx8IEdURVNUX09TX0ZVQ0hTSUEKIH0KIAotI2lmICFH
VEVTVF9PU19XSU5ET1dTICYmICFHVEVTVF9PU19GVUNIU0lBCisjIGlmICFHVEVTVF9PU19XSU5E
T1dTICYmICFHVEVTVF9PU19GVUNIU0lBCiAvLyBLaWxsZWRCeVNpZ25hbCBjb25zdHJ1Y3Rvci4K
LUtpbGxlZEJ5U2lnbmFsOjpLaWxsZWRCeVNpZ25hbChpbnQgc2lnbnVtKSA6IHNpZ251bV8oc2ln
bnVtKSB7fQorS2lsbGVkQnlTaWduYWw6OktpbGxlZEJ5U2lnbmFsKGludCBzaWdudW0pIDogc2ln
bnVtXyhzaWdudW0pIHsKK30KIAogLy8gS2lsbGVkQnlTaWduYWwgZnVuY3Rpb24tY2FsbCBvcGVy
YXRvci4KIGJvb2wgS2lsbGVkQnlTaWduYWw6Om9wZXJhdG9yKCkoaW50IGV4aXRfc3RhdHVzKSBj
b25zdCB7Ci0jaWYgZGVmaW5lZChHVEVTVF9LSUxMRURfQllfU0lHTkFMX09WRVJSSURFXykKKyMg
IGlmIGRlZmluZWQoR1RFU1RfS0lMTEVEX0JZX1NJR05BTF9PVkVSUklERV8pCiAgIHsKICAgICBi
b29sIHJlc3VsdDsKICAgICBpZiAoR1RFU1RfS0lMTEVEX0JZX1NJR05BTF9PVkVSUklERV8oc2ln
bnVtXywgZXhpdF9zdGF0dXMsICZyZXN1bHQpKSB7CiAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KICAgfQotI2VuZGlmICAvLyBkZWZpbmVkKEdURVNUX0tJTExFRF9CWV9TSUdOQUxfT1ZFUlJJ
REVfKQorIyAgZW5kaWYgIC8vIGRlZmluZWQoR1RFU1RfS0lMTEVEX0JZX1NJR05BTF9PVkVSUklE
RV8pCiAgIHJldHVybiBXSUZTSUdOQUxFRChleGl0X3N0YXR1cykgJiYgV1RFUk1TSUcoZXhpdF9z
dGF0dXMpID09IHNpZ251bV87CiB9Ci0jZW5kaWYgIC8vICFHVEVTVF9PU19XSU5ET1dTICYmICFH
VEVTVF9PU19GVUNIU0lBCisjIGVuZGlmICAvLyAhR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1Rf
T1NfRlVDSFNJQQogCiBuYW1lc3BhY2UgaW50ZXJuYWwgewogCkBAIC0yMDcsMjMgKzIwNSwyMyBA
QCBuYW1lc3BhY2UgaW50ZXJuYWwgewogc3RhdGljIHN0ZDo6c3RyaW5nIEV4aXRTdW1tYXJ5KGlu
dCBleGl0X2NvZGUpIHsKICAgTWVzc2FnZSBtOwogCi0jaWYgR1RFU1RfT1NfV0lORE9XUyB8fCBH
VEVTVF9PU19GVUNIU0lBCisjIGlmIEdURVNUX09TX1dJTkRPV1MgfHwgR1RFU1RfT1NfRlVDSFNJ
QQogCiAgIG0gPDwgIkV4aXRlZCB3aXRoIGV4aXQgc3RhdHVzICIgPDwgZXhpdF9jb2RlOwogCi0j
ZWxzZQorIyBlbHNlCiAKICAgaWYgKFdJRkVYSVRFRChleGl0X2NvZGUpKSB7CiAgICAgbSA8PCAi
RXhpdGVkIHdpdGggZXhpdCBzdGF0dXMgIiA8PCBXRVhJVFNUQVRVUyhleGl0X2NvZGUpOwogICB9
IGVsc2UgaWYgKFdJRlNJR05BTEVEKGV4aXRfY29kZSkpIHsKICAgICBtIDw8ICJUZXJtaW5hdGVk
IGJ5IHNpZ25hbCAiIDw8IFdURVJNU0lHKGV4aXRfY29kZSk7CiAgIH0KLSNpZmRlZiBXQ09SRURV
TVAKKyMgIGlmZGVmIFdDT1JFRFVNUAogICBpZiAoV0NPUkVEVU1QKGV4aXRfY29kZSkpIHsKICAg
ICBtIDw8ICIgKGNvcmUgZHVtcGVkKSI7CiAgIH0KLSNlbmRpZgotI2VuZGlmICAvLyBHVEVTVF9P
U19XSU5ET1dTIHx8IEdURVNUX09TX0ZVQ0hTSUEKKyMgIGVuZGlmCisjIGVuZGlmICAvLyBHVEVT
VF9PU19XSU5ET1dTIHx8IEdURVNUX09TX0ZVQ0hTSUEKIAogICByZXR1cm4gbS5HZXRTdHJpbmco
KTsKIH0KQEAgLTIzNCw3ICsyMzIsNyBAQCBib29sIEV4aXRlZFVuc3VjY2Vzc2Z1bGx5KGludCBl
eGl0X3N0YXR1cykgewogICByZXR1cm4gIUV4aXRlZFdpdGhDb2RlKDApKGV4aXRfc3RhdHVzKTsK
IH0KIAotI2lmICFHVEVTVF9PU19XSU5ET1dTICYmICFHVEVTVF9PU19GVUNIU0lBCisjIGlmICFH
VEVTVF9PU19XSU5ET1dTICYmICFHVEVTVF9PU19GVUNIU0lBCiAvLyBHZW5lcmF0ZXMgYSB0ZXh0
dWFsIGZhaWx1cmUgbWVzc2FnZSB3aGVuIGEgZGVhdGggdGVzdCBmaW5kcyBtb3JlIHRoYW4KIC8v
IG9uZSB0aHJlYWQgcnVubmluZywgb3IgY2Fubm90IGRldGVybWluZSB0aGUgbnVtYmVyIG9mIHRo
cmVhZHMsIHByaW9yCiAvLyB0byBleGVjdXRpbmcgdGhlIGdpdmVuIHN0YXRlbWVudC4gIEl0IGlz
IHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUKQEAgLTI0OSwxMyArMjQ3LDEzIEBAIHN0YXRpYyBz
dGQ6OnN0cmluZyBEZWF0aFRlc3RUaHJlYWRXYXJuaW5nKHNpemVfdCB0aHJlYWRfY291bnQpIHsK
ICAgICBtc2cgPDwgImRldGVjdGVkICIgPDwgdGhyZWFkX2NvdW50IDw8ICIgdGhyZWFkcy4iOwog
ICB9CiAgIG1zZyA8PCAiIFNlZSAiCi0gICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL2dvb2ds
ZS9nb29nbGV0ZXN0L2Jsb2IvbWFzdGVyL2RvY3MvIgorICAgICAgICAgImh0dHBzOi8vZ2l0aHVi
LmNvbS9nb29nbGUvZ29vZ2xldGVzdC9ibG9iL21hc3Rlci9nb29nbGV0ZXN0L2RvY3MvIgogICAg
ICAgICAgImFkdmFuY2VkLm1kI2RlYXRoLXRlc3RzLWFuZC10aHJlYWRzIgogICAgICAgPDwgIiBm
b3IgbW9yZSBleHBsYW5hdGlvbiBhbmQgc3VnZ2VzdGVkIHNvbHV0aW9ucywgZXNwZWNpYWxseSBp
ZiIKICAgICAgIDw8ICIgdGhpcyBpcyB0aGUgbGFzdCBtZXNzYWdlIHlvdSBzZWUgYmVmb3JlIHlv
dXIgdGVzdCB0aW1lcyBvdXQuIjsKICAgcmV0dXJuIG1zZy5HZXRTdHJpbmcoKTsKIH0KLSNlbmRp
ZiAgLy8gIUdURVNUX09TX1dJTkRPV1MgJiYgIUdURVNUX09TX0ZVQ0hTSUEKKyMgZW5kaWYgIC8v
ICFHVEVTVF9PU19XSU5ET1dTICYmICFHVEVTVF9PU19GVUNIU0lBCiAKIC8vIEZsYWcgY2hhcmFj
dGVycyBmb3IgcmVwb3J0aW5nIGEgZGVhdGggdGVzdCB0aGF0IGRpZCBub3QgZGllLgogc3RhdGlj
IGNvbnN0IGNoYXIga0RlYXRoVGVzdExpdmVkID0gJ0wnOwpAQCAtMzA1LDE0ICszMDMsMTQgQEAg
c3RhdGljIHZvaWQgRGVhdGhUZXN0QWJvcnQoY29uc3Qgc3RkOjpzdHJpbmcmIG1lc3NhZ2UpIHsK
IAogLy8gQSByZXBsYWNlbWVudCBmb3IgQ0hFQ0sgdGhhdCBjYWxscyBEZWF0aFRlc3RBYm9ydCBp
ZiB0aGUgYXNzZXJ0aW9uCiAvLyBmYWlscy4KLSNkZWZpbmUgR1RFU1RfREVBVEhfVEVTVF9DSEVD
S18oZXhwcmVzc2lvbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIGlmICghOjp0ZXN0aW5nOjppbnRlcm5hbDo6SXNUcnVlKGV4cHJlc3Npb24p
KSB7ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIERlYXRoVGVzdEFib3J0KDo6c3RkOjpz
dHJpbmcoIkNIRUNLIGZhaWxlZDogRmlsZSAiKSArIF9fRklMRV9fICsgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAiLCBsaW5lICIgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgOjp0ZXN0aW5nOjppbnRlcm5hbDo6U3RyZWFt
YWJsZVRvU3RyaW5nKF9fTElORV9fKSArIFwKLSAgICAgICAgICAgICAgICAgICAgICI6ICIgKyAj
ZXhwcmVzc2lvbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorIyBkZWZpbmUgR1RFU1RfREVBVEhfVEVTVF9DSEVDS18oZXhwcmVzc2lvbikgXAor
ICBkbyB7IFwKKyAgICBpZiAoITo6dGVzdGluZzo6aW50ZXJuYWw6OklzVHJ1ZShleHByZXNzaW9u
KSkgeyBcCisgICAgICBEZWF0aFRlc3RBYm9ydCggXAorICAgICAgICAgIDo6c3RkOjpzdHJpbmco
IkNIRUNLIGZhaWxlZDogRmlsZSAiKSArIF9fRklMRV9fICsgICIsIGxpbmUgIiBcCisgICAgICAg
ICAgKyA6OnRlc3Rpbmc6OmludGVybmFsOjpTdHJlYW1hYmxlVG9TdHJpbmcoX19MSU5FX18pICsg
IjogIiBcCisgICAgICAgICAgKyAjZXhwcmVzc2lvbik7IFwKKyAgICB9IFwKICAgfSB3aGlsZSAo
Ojp0ZXN0aW5nOjppbnRlcm5hbDo6QWx3YXlzRmFsc2UoKSkKIAogLy8gVGhpcyBtYWNybyBpcyBz
aW1pbGFyIHRvIEdURVNUX0RFQVRIX1RFU1RfQ0hFQ0tfLCBidXQgaXQgaXMgbWVhbnQgZm9yCkBA
IC0zMjIsMjMgKzMyMCwyMyBAQCBzdGF0aWMgdm9pZCBEZWF0aFRlc3RBYm9ydChjb25zdCBzdGQ6
OnN0cmluZyYgbWVzc2FnZSkgewogLy8gZXZhbHVhdGVzIHRoZSBleHByZXNzaW9uIGFzIGxvbmcg
YXMgaXQgZXZhbHVhdGVzIHRvIC0xIGFuZCBzZXRzCiAvLyBlcnJubyB0byBFSU5UUi4gIElmIHRo
ZSBleHByZXNzaW9uIGV2YWx1YXRlcyB0byAtMSBidXQgZXJybm8gaXMKIC8vIHNvbWV0aGluZyBv
dGhlciB0aGFuIEVJTlRSLCBEZWF0aFRlc3RBYm9ydCBpcyBjYWxsZWQuCi0jZGVmaW5lIEdURVNU
X0RFQVRIX1RFU1RfQ0hFQ0tfU1lTQ0FMTF8oZXhwcmVzc2lvbikgICAgICAgICAgICAgICAgICAg
ICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgZ3Rlc3RfcmV0dmFsOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZG8geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgZ3Rlc3RfcmV0dmFsID0gKGV4cHJlc3Npb24pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9IHdoaWxlIChndGVzdF9yZXR2YWwgPT0gLTEg
JiYgZXJybm8gPT0gRUlOVFIpOyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKGd0ZXN0
X3JldHZhbCA9PSAtMSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgRGVhdGhUZXN0QWJvcnQoOjpzdGQ6OnN0cmluZygiQ0hFQ0sgZmFpbGVkOiBG
aWxlICIpICsgX19GSUxFX18gKyAgIFwKLSAgICAgICAgICAgICAgICAgICAgICIsIGxpbmUgIiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICA6OnRlc3Rpbmc6OmludGVybmFsOjpTdHJlYW1hYmxlVG9TdHJpbmcoX19MSU5FX18p
ICsgXAotICAgICAgICAgICAgICAgICAgICAgIjogIiArICNleHByZXNzaW9uICsgIiAhPSAtMSIp
OyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjIGRlZmluZSBHVEVT
VF9ERUFUSF9URVNUX0NIRUNLX1NZU0NBTExfKGV4cHJlc3Npb24pIFwKKyAgZG8geyBcCisgICAg
aW50IGd0ZXN0X3JldHZhbDsgXAorICAgIGRvIHsgXAorICAgICAgZ3Rlc3RfcmV0dmFsID0gKGV4
cHJlc3Npb24pOyBcCisgICAgfSB3aGlsZSAoZ3Rlc3RfcmV0dmFsID09IC0xICYmIGVycm5vID09
IEVJTlRSKTsgXAorICAgIGlmIChndGVzdF9yZXR2YWwgPT0gLTEpIHsgXAorICAgICAgRGVhdGhU
ZXN0QWJvcnQoIFwKKyAgICAgICAgICA6OnN0ZDo6c3RyaW5nKCJDSEVDSyBmYWlsZWQ6IEZpbGUg
IikgKyBfX0ZJTEVfXyArICIsIGxpbmUgIiBcCisgICAgICAgICAgKyA6OnRlc3Rpbmc6OmludGVy
bmFsOjpTdHJlYW1hYmxlVG9TdHJpbmcoX19MSU5FX18pICsgIjogIiBcCisgICAgICAgICAgKyAj
ZXhwcmVzc2lvbiArICIgIT0gLTEiKTsgXAorICAgIH0gXAogICB9IHdoaWxlICg6OnRlc3Rpbmc6
OmludGVybmFsOjpBbHdheXNGYWxzZSgpKQogCiAvLyBSZXR1cm5zIHRoZSBtZXNzYWdlIGRlc2Ny
aWJpbmcgdGhlIGxhc3Qgc3lzdGVtIGVycm9yIGluIGVycm5vLgogc3RkOjpzdHJpbmcgR2V0TGFz
dEVycm5vRGVzY3JpcHRpb24oKSB7Ci0gIHJldHVybiBlcnJubyA9PSAwID8gIiIgOiBwb3NpeDo6
U3RyRXJyb3IoZXJybm8pOworICAgIHJldHVybiBlcnJubyA9PSAwID8gIiIgOiBwb3NpeDo6U3Ry
RXJyb3IoZXJybm8pOwogfQogCiAvLyBUaGlzIGlzIGNhbGxlZCBmcm9tIGEgZGVhdGggdGVzdCBw
YXJlbnQgcHJvY2VzcyB0byByZWFkIGEgZmFpbHVyZQpAQCAtMzcxLDkgKzM2OSw4IEBAIHN0YXRp
YyB2b2lkIEZhaWxGcm9tSW50ZXJuYWxFcnJvcihpbnQgZmQpIHsKIERlYXRoVGVzdDo6RGVhdGhU
ZXN0KCkgewogICBUZXN0SW5mbyogY29uc3QgaW5mbyA9IEdldFVuaXRUZXN0SW1wbCgpLT5jdXJy
ZW50X3Rlc3RfaW5mbygpOwogICBpZiAoaW5mbyA9PSBudWxscHRyKSB7Ci0gICAgRGVhdGhUZXN0
QWJvcnQoCi0gICAgICAgICJDYW5ub3QgcnVuIGEgZGVhdGggdGVzdCBvdXRzaWRlIG9mIGEgVEVT
VCBvciAiCi0gICAgICAgICJURVNUX0YgY29uc3RydWN0Iik7CisgICAgRGVhdGhUZXN0QWJvcnQo
IkNhbm5vdCBydW4gYSBkZWF0aCB0ZXN0IG91dHNpZGUgb2YgYSBURVNUIG9yICIKKyAgICAgICAg
ICAgICAgICAgICAiVEVTVF9GIGNvbnN0cnVjdCIpOwogICB9CiB9CiAKQEAgLTUwMiw3ICs0OTks
OSBAQCB2b2lkIERlYXRoVGVzdEltcGw6OlJlYWRBbmRJbnRlcnByZXRTdGF0dXNCeXRlKCkgewog
ICBzZXRfcmVhZF9mZCgtMSk7CiB9CiAKLXN0ZDo6c3RyaW5nIERlYXRoVGVzdEltcGw6OkdldEVy
cm9yTG9ncygpIHsgcmV0dXJuIEdldENhcHR1cmVkU3RkZXJyKCk7IH0KK3N0ZDo6c3RyaW5nIERl
YXRoVGVzdEltcGw6OkdldEVycm9yTG9ncygpIHsKKyAgcmV0dXJuIEdldENhcHR1cmVkU3RkZXJy
KCk7Cit9CiAKIC8vIFNpZ25hbHMgdGhhdCB0aGUgZGVhdGggdGVzdCBjb2RlIHdoaWNoIHNob3Vs
ZCBoYXZlIGV4aXRlZCwgZGlkbid0LgogLy8gU2hvdWxkIGJlIGNhbGxlZCBvbmx5IGluIGEgZGVh
dGggdGVzdCBjaGlsZCBwcm9jZXNzLgpAQCAtNTEyLDkgKzUxMSw5IEBAIHZvaWQgRGVhdGhUZXN0
SW1wbDo6QWJvcnQoQWJvcnRSZWFzb24gcmVhc29uKSB7CiAgIC8vIFRoZSBwYXJlbnQgcHJvY2Vz
cyBjb25zaWRlcnMgdGhlIGRlYXRoIHRlc3QgdG8gYmUgYSBmYWlsdXJlIGlmCiAgIC8vIGl0IGZp
bmRzIGFueSBkYXRhIGluIG91ciBwaXBlLiAgU28sIGhlcmUgd2Ugd3JpdGUgYSBzaW5nbGUgZmxh
ZyBieXRlCiAgIC8vIHRvIHRoZSBwaXBlLCB0aGVuIGV4aXQuCi0gIGNvbnN0IGNoYXIgc3RhdHVz
X2NoID0gcmVhc29uID09IFRFU1RfRElEX05PVF9ESUUgICAgICAgPyBrRGVhdGhUZXN0TGl2ZWQK
LSAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlYXNvbiA9PSBURVNUX1RIUkVXX0VYQ0VQVElP
TiA/IGtEZWF0aFRlc3RUaHJldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDoga0RlYXRoVGVzdFJldHVybmVkOworICBjb25zdCBjaGFy
IHN0YXR1c19jaCA9CisgICAgICByZWFzb24gPT0gVEVTVF9ESURfTk9UX0RJRSA/IGtEZWF0aFRl
c3RMaXZlZCA6CisgICAgICByZWFzb24gPT0gVEVTVF9USFJFV19FWENFUFRJT04gPyBrRGVhdGhU
ZXN0VGhyZXcgOiBrRGVhdGhUZXN0UmV0dXJuZWQ7CiAKICAgR1RFU1RfREVBVEhfVEVTVF9DSEVD
S19TWVNDQUxMXyhwb3NpeDo6V3JpdGUod3JpdGVfZmQoKSwgJnN0YXR1c19jaCwgMSkpOwogICAv
LyBXZSBhcmUgbGVha2luZyB0aGUgZGVzY3JpcHRvciBoZXJlIGJlY2F1c2Ugb24gc29tZSBwbGF0
Zm9ybXMgKGkuZS4sCkBAIC01MzMsNyArNTMyLDcgQEAgdm9pZCBEZWF0aFRlc3RJbXBsOjpBYm9y
dChBYm9ydFJlYXNvbiByZWFzb24pIHsKIC8vIG11Y2ggZWFzaWVyLgogc3RhdGljIDo6c3RkOjpz
dHJpbmcgRm9ybWF0RGVhdGhUZXN0T3V0cHV0KGNvbnN0IDo6c3RkOjpzdHJpbmcmIG91dHB1dCkg
ewogICA6OnN0ZDo6c3RyaW5nIHJldDsKLSAgZm9yIChzaXplX3QgYXQgPSAwOzspIHsKKyAgZm9y
IChzaXplX3QgYXQgPSAwOyA7ICkgewogICAgIGNvbnN0IHNpemVfdCBsaW5lX2VuZCA9IG91dHB1
dC5maW5kKCdcbicsIGF0KTsKICAgICByZXQgKz0gIlsgIERFQVRIICAgXSAiOwogICAgIGlmIChs
aW5lX2VuZCA9PSA6OnN0ZDo6c3RyaW5nOjpucG9zKSB7CkBAIC01NjgsNyArNTY3LDggQEAgc3Rh
dGljIDo6c3RkOjpzdHJpbmcgRm9ybWF0RGVhdGhUZXN0T3V0cHV0KGNvbnN0IDo6c3RkOjpzdHJp
bmcmIG91dHB1dCkgewogLy8gdGhlIGZpcnN0IGZhaWxpbmcgY29uZGl0aW9uLCBpbiB0aGUgb3Jk
ZXIgZ2l2ZW4gYWJvdmUsIGlzIHRoZSBvbmUgdGhhdCBpcwogLy8gcmVwb3J0ZWQuIEFsc28gc2V0
cyB0aGUgbGFzdCBkZWF0aCB0ZXN0IG1lc3NhZ2Ugc3RyaW5nLgogYm9vbCBEZWF0aFRlc3RJbXBs
OjpQYXNzZWQoYm9vbCBzdGF0dXNfb2spIHsKLSAgaWYgKCFzcGF3bmVkKCkpIHJldHVybiBmYWxz
ZTsKKyAgaWYgKCFzcGF3bmVkKCkpCisgICAgcmV0dXJuIGZhbHNlOwogCiAgIGNvbnN0IHN0ZDo6
c3RyaW5nIGVycm9yX21lc3NhZ2UgPSBHZXRFcnJvckxvZ3MoKTsKIApAQCAtNTc5LDE4ICs1Nzks
MTUgQEAgYm9vbCBEZWF0aFRlc3RJbXBsOjpQYXNzZWQoYm9vbCBzdGF0dXNfb2spIHsKICAgc3dp
dGNoIChvdXRjb21lKCkpIHsKICAgICBjYXNlIExJVkVEOgogICAgICAgYnVmZmVyIDw8ICIgICAg
UmVzdWx0OiBmYWlsZWQgdG8gZGllLlxuIgotICAgICAgICAgICAgIDw8ICIgRXJyb3IgbXNnOlxu
IgotICAgICAgICAgICAgIDw8IEZvcm1hdERlYXRoVGVzdE91dHB1dChlcnJvcl9tZXNzYWdlKTsK
KyAgICAgICAgICAgICA8PCAiIEVycm9yIG1zZzpcbiIgPDwgRm9ybWF0RGVhdGhUZXN0T3V0cHV0
KGVycm9yX21lc3NhZ2UpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBUSFJFVzoKICAgICAgIGJ1
ZmZlciA8PCAiICAgIFJlc3VsdDogdGhyZXcgYW4gZXhjZXB0aW9uLlxuIgotICAgICAgICAgICAg
IDw8ICIgRXJyb3IgbXNnOlxuIgotICAgICAgICAgICAgIDw8IEZvcm1hdERlYXRoVGVzdE91dHB1
dChlcnJvcl9tZXNzYWdlKTsKKyAgICAgICAgICAgICA8PCAiIEVycm9yIG1zZzpcbiIgPDwgRm9y
bWF0RGVhdGhUZXN0T3V0cHV0KGVycm9yX21lc3NhZ2UpOwogICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBSRVRVUk5FRDoKICAgICAgIGJ1ZmZlciA8PCAiICAgIFJlc3VsdDogaWxsZWdhbCByZXR1cm4g
aW4gdGVzdCBzdGF0ZW1lbnQuXG4iCi0gICAgICAgICAgICAgPDwgIiBFcnJvciBtc2c6XG4iCi0g
ICAgICAgICAgICAgPDwgRm9ybWF0RGVhdGhUZXN0T3V0cHV0KGVycm9yX21lc3NhZ2UpOworICAg
ICAgICAgICAgIDw8ICIgRXJyb3IgbXNnOlxuIiA8PCBGb3JtYXREZWF0aFRlc3RPdXRwdXQoZXJy
b3JfbWVzc2FnZSk7CiAgICAgICBicmVhazsKICAgICBjYXNlIERJRUQ6CiAgICAgICBpZiAoc3Rh
dHVzX29rKSB7CkBAIC02MDcsOCArNjA0LDcgQEAgYm9vbCBEZWF0aFRlc3RJbXBsOjpQYXNzZWQo
Ym9vbCBzdGF0dXNfb2spIHsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIGJ1ZmZlciA8PCAiICAg
IFJlc3VsdDogZGllZCBidXQgbm90IHdpdGggZXhwZWN0ZWQgZXhpdCBjb2RlOlxuIgogICAgICAg
ICAgICAgICAgPDwgIiAgICAgICAgICAgICIgPDwgRXhpdFN1bW1hcnkoc3RhdHVzKCkpIDw8ICJc
biIKLSAgICAgICAgICAgICAgIDw8ICJBY3R1YWwgbXNnOlxuIgotICAgICAgICAgICAgICAgPDwg
Rm9ybWF0RGVhdGhUZXN0T3V0cHV0KGVycm9yX21lc3NhZ2UpOworICAgICAgICAgICAgICAgPDwg
IkFjdHVhbCBtc2c6XG4iIDw8IEZvcm1hdERlYXRoVGVzdE91dHB1dChlcnJvcl9tZXNzYWdlKTsK
ICAgICAgIH0KICAgICAgIGJyZWFrOwogICAgIGNhc2UgSU5fUFJPR1JFU1M6CkBAIC02MjEsNyAr
NjE3LDcgQEAgYm9vbCBEZWF0aFRlc3RJbXBsOjpQYXNzZWQoYm9vbCBzdGF0dXNfb2spIHsKICAg
cmV0dXJuIHN1Y2Nlc3M7CiB9CiAKLSNpZiBHVEVTVF9PU19XSU5ET1dTCisjIGlmIEdURVNUX09T
X1dJTkRPV1MKIC8vIFdpbmRvd3NEZWF0aFRlc3QgaW1wbGVtZW50cyBkZWF0aCB0ZXN0cyBvbiBX
aW5kb3dzLiBEdWUgdG8gdGhlCiAvLyBzcGVjaWZpY3Mgb2Ygc3RhcnRpbmcgbmV3IHByb2Nlc3Nl
cyBvbiBXaW5kb3dzLCBkZWF0aCB0ZXN0cyB0aGVyZSBhcmUKIC8vIGFsd2F5cyB0aHJlYWRzYWZl
LCBhbmQgR29vZ2xlIFRlc3QgY29uc2lkZXJzIHRoZQpAQCAtNjgyLDEyICs2NzgsMTQgQEAgY2xh
c3MgV2luZG93c0RlYXRoVGVzdCA6IHB1YmxpYyBEZWF0aFRlc3RJbXBsIHsKIC8vIHN0YXR1cywg
b3IgMCBpZiBubyBjaGlsZCBwcm9jZXNzIGV4aXN0cy4gIEFzIGEgc2lkZSBlZmZlY3QsIHNldHMg
dGhlCiAvLyBvdXRjb21lIGRhdGEgbWVtYmVyLgogaW50IFdpbmRvd3NEZWF0aFRlc3Q6OldhaXQo
KSB7Ci0gIGlmICghc3Bhd25lZCgpKSByZXR1cm4gMDsKKyAgaWYgKCFzcGF3bmVkKCkpCisgICAg
cmV0dXJuIDA7CiAKICAgLy8gV2FpdCB1bnRpbCB0aGUgY2hpbGQgZWl0aGVyIHNpZ25hbHMgdGhh
dCBpdCBoYXMgYWNxdWlyZWQgdGhlIHdyaXRlIGVuZAogICAvLyBvZiB0aGUgcGlwZSBvciBpdCBk
aWVzLgotICBjb25zdCBIQU5ETEUgd2FpdF9oYW5kbGVzWzJdID0ge2NoaWxkX2hhbmRsZV8uR2V0
KCksIGV2ZW50X2hhbmRsZV8uR2V0KCl9OwotICBzd2l0Y2ggKDo6V2FpdEZvck11bHRpcGxlT2Jq
ZWN0cygyLCB3YWl0X2hhbmRsZXMsCisgIGNvbnN0IEhBTkRMRSB3YWl0X2hhbmRsZXNbMl0gPSB7
IGNoaWxkX2hhbmRsZV8uR2V0KCksIGV2ZW50X2hhbmRsZV8uR2V0KCkgfTsKKyAgc3dpdGNoICg6
OldhaXRGb3JNdWx0aXBsZU9iamVjdHMoMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgd2FpdF9oYW5kbGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
QUxTRSwgIC8vIFdhaXRzIGZvciBhbnkgb2YgdGhlIGhhbmRsZXMuCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIElORklOSVRFKSkgewogICAgIGNhc2UgV0FJVF9PQkpFQ1RfMDoK
QEAgLTcwOCw4ICs3MDYsOSBAQCBpbnQgV2luZG93c0RlYXRoVGVzdDo6V2FpdCgpIHsKICAgLy8g
cmV0dXJucyBpbW1lZGlhdGVseSBpZiB0aGUgY2hpbGQgaGFzIGFscmVhZHkgZXhpdGVkLCByZWdh
cmRsZXNzIG9mCiAgIC8vIHdoZXRoZXIgcHJldmlvdXMgY2FsbHMgdG8gV2FpdEZvck11bHRpcGxl
T2JqZWN0cyBzeW5jaHJvbml6ZWQgb24gdGhpcwogICAvLyBoYW5kbGUgb3Igbm90LgotICBHVEVT
VF9ERUFUSF9URVNUX0NIRUNLXyhXQUlUX09CSkVDVF8wID09Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgIDo6V2FpdEZvclNpbmdsZU9iamVjdChjaGlsZF9oYW5kbGVfLkdldCgpLCBJTkZJTklU
RSkpOworICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXygKKyAgICAgIFdBSVRfT0JKRUNUXzAgPT0g
OjpXYWl0Rm9yU2luZ2xlT2JqZWN0KGNoaWxkX2hhbmRsZV8uR2V0KCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTkZJTklURSkpOwogICBEV09SRCBzdGF0
dXNfY29kZTsKICAgR1RFU1RfREVBVEhfVEVTVF9DSEVDS18oCiAgICAgICA6OkdldEV4aXRDb2Rl
UHJvY2VzcyhjaGlsZF9oYW5kbGVfLkdldCgpLCAmc3RhdHVzX2NvZGUpICE9IEZBTFNFKTsKQEAg
LTc0MiwxMiArNzQxLDEyIEBAIERlYXRoVGVzdDo6VGVzdFJvbGUgV2luZG93c0RlYXRoVGVzdDo6
QXNzdW1lUm9sZSgpIHsKICAgU0VDVVJJVFlfQVRUUklCVVRFUyBoYW5kbGVzX2FyZV9pbmhlcml0
YWJsZSA9IHtzaXplb2YoU0VDVVJJVFlfQVRUUklCVVRFUyksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwgVFJVRX07CiAgIEhBTkRMRSBy
ZWFkX2hhbmRsZSwgd3JpdGVfaGFuZGxlOwotICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXyg6OkNy
ZWF0ZVBpcGUoJnJlYWRfaGFuZGxlLCAmd3JpdGVfaGFuZGxlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJmhhbmRsZXNfYXJlX2luaGVyaXRhYmxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkgIC8vIERlZmF1bHQgYnVmZmVyIHNpemUu
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICE9IEZBTFNFKTsKLSAgc2V0X3JlYWRfZmQoCi0g
ICAgICA6Ol9vcGVuX29zZmhhbmRsZShyZWludGVycHJldF9jYXN0PGludHB0cl90PihyZWFkX2hh
bmRsZSksIE9fUkRPTkxZKSk7CisgIEdURVNUX0RFQVRIX1RFU1RfQ0hFQ0tfKAorICAgICAgOjpD
cmVhdGVQaXBlKCZyZWFkX2hhbmRsZSwgJndyaXRlX2hhbmRsZSwgJmhhbmRsZXNfYXJlX2luaGVy
aXRhYmxlLAorICAgICAgICAgICAgICAgICAgIDApICAvLyBEZWZhdWx0IGJ1ZmZlciBzaXplLgor
ICAgICAgIT0gRkFMU0UpOworICBzZXRfcmVhZF9mZCg6Ol9vcGVuX29zZmhhbmRsZShyZWludGVy
cHJldF9jYXN0PGludHB0cl90PihyZWFkX2hhbmRsZSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE9fUkRPTkxZKSk7CiAgIHdyaXRlX2hhbmRsZV8uUmVzZXQod3JpdGVfaGFuZGxl
KTsKICAgZXZlbnRfaGFuZGxlXy5SZXNldCg6OkNyZWF0ZUV2ZW50KAogICAgICAgJmhhbmRsZXNf
YXJlX2luaGVyaXRhYmxlLApAQCAtNzU2LDI2ICs3NTUsMjcgQEAgRGVhdGhUZXN0OjpUZXN0Um9s
ZSBXaW5kb3dzRGVhdGhUZXN0OjpBc3N1bWVSb2xlKCkgewogICAgICAgbnVsbHB0cikpOyAgLy8g
VGhlIGV2ZW4gaXMgdW5uYW1lZC4KICAgR1RFU1RfREVBVEhfVEVTVF9DSEVDS18oZXZlbnRfaGFu
ZGxlXy5HZXQoKSAhPSBudWxscHRyKTsKICAgY29uc3Qgc3RkOjpzdHJpbmcgZmlsdGVyX2ZsYWcg
PSBzdGQ6OnN0cmluZygiLS0iKSArIEdURVNUX0ZMQUdfUFJFRklYXyArCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImZpbHRlcj0iICsgaW5mby0+dGVzdF9zdWl0ZV9uYW1lKCkg
KyAiLiIgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPm5hbWUoKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrRmlsdGVyRmxhZyArICI9IiArIGlu
Zm8tPnRlc3Rfc3VpdGVfbmFtZSgpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiLiIgKyBpbmZvLT5uYW1lKCk7CiAgIGNvbnN0IHN0ZDo6c3RyaW5nIGludGVybmFsX2ZsYWcg
PQotICAgICAgc3RkOjpzdHJpbmcoIi0tIikgKyBHVEVTVF9GTEFHX1BSRUZJWF8gKwotICAgICAg
ImludGVybmFsX3J1bl9kZWF0aF90ZXN0PSIgKyBmaWxlXyArICJ8IiArIFN0cmVhbWFibGVUb1N0
cmluZyhsaW5lXykgKwotICAgICAgInwiICsgU3RyZWFtYWJsZVRvU3RyaW5nKGRlYXRoX3Rlc3Rf
aW5kZXgpICsgInwiICsKKyAgICAgIHN0ZDo6c3RyaW5nKCItLSIpICsgR1RFU1RfRkxBR19QUkVG
SVhfICsga0ludGVybmFsUnVuRGVhdGhUZXN0RmxhZyArCisgICAgICAiPSIgKyBmaWxlXyArICJ8
IiArIFN0cmVhbWFibGVUb1N0cmluZyhsaW5lXykgKyAifCIgKworICAgICAgU3RyZWFtYWJsZVRv
U3RyaW5nKGRlYXRoX3Rlc3RfaW5kZXgpICsgInwiICsKICAgICAgIFN0cmVhbWFibGVUb1N0cmlu
ZyhzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KDo6R2V0Q3VycmVudFByb2Nlc3NJZCgpKSkgKwog
ICAgICAgLy8gc2l6ZV90IGhhcyB0aGUgc2FtZSB3aWR0aCBhcyBwb2ludGVycyBvbiBib3RoIDMy
LWJpdCBhbmQgNjQtYml0CiAgICAgICAvLyBXaW5kb3dzIHBsYXRmb3Jtcy4KICAgICAgIC8vIFNl
ZSBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvdGN4ZjFkdzYuYXNweC4K
LSAgICAgICJ8IiArIFN0cmVhbWFibGVUb1N0cmluZyhyZWludGVycHJldF9jYXN0PHNpemVfdD4o
d3JpdGVfaGFuZGxlKSkgKyAifCIgKwotICAgICAgU3RyZWFtYWJsZVRvU3RyaW5nKHJlaW50ZXJw
cmV0X2Nhc3Q8c2l6ZV90PihldmVudF9oYW5kbGVfLkdldCgpKSk7CisgICAgICAifCIgKyBTdHJl
YW1hYmxlVG9TdHJpbmcocmVpbnRlcnByZXRfY2FzdDxzaXplX3Q+KHdyaXRlX2hhbmRsZSkpICsK
KyAgICAgICJ8IiArIFN0cmVhbWFibGVUb1N0cmluZyhyZWludGVycHJldF9jYXN0PHNpemVfdD4o
ZXZlbnRfaGFuZGxlXy5HZXQoKSkpOwogCiAgIGNoYXIgZXhlY3V0YWJsZV9wYXRoW19NQVhfUEFU
SCArIDFdOyAgLy8gTk9MSU5UCiAgIEdURVNUX0RFQVRIX1RFU1RfQ0hFQ0tfKF9NQVhfUEFUSCAr
IDEgIT0gOjpHZXRNb2R1bGVGaWxlTmFtZUEobnVsbHB0ciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlX3Bh
dGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgX01BWF9QQVRIKSk7CiAKLSAgc3RkOjpzdHJpbmcgY29tbWFuZF9saW5lID0g
c3RkOjpzdHJpbmcoOjpHZXRDb21tYW5kTGluZUEoKSkgKyAiICIgKwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0ZXJfZmxhZyArICIgXCIiICsgaW50ZXJuYWxfZmxhZyArICJcIiI7
CisgIHN0ZDo6c3RyaW5nIGNvbW1hbmRfbGluZSA9CisgICAgICBzdGQ6OnN0cmluZyg6OkdldENv
bW1hbmRMaW5lQSgpKSArICIgIiArIGZpbHRlcl9mbGFnICsgIiBcIiIgKworICAgICAgaW50ZXJu
YWxfZmxhZyArICJcIiI7CiAKICAgRGVhdGhUZXN0OjpzZXRfbGFzdF9kZWF0aF90ZXN0X21lc3Nh
Z2UoIiIpOwogCkBAIC03OTUsOCArNzk1LDggQEAgRGVhdGhUZXN0OjpUZXN0Um9sZSBXaW5kb3dz
RGVhdGhUZXN0OjpBc3N1bWVSb2xlKCkgewogICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXygKICAg
ICAgIDo6Q3JlYXRlUHJvY2Vzc0EoCiAgICAgICAgICAgZXhlY3V0YWJsZV9wYXRoLCBjb25zdF9j
YXN0PGNoYXIqPihjb21tYW5kX2xpbmUuY19zdHIoKSksCi0gICAgICAgICAgbnVsbHB0ciwgIC8v
IFJldHVybmVkIHByb2Nlc3MgaGFuZGxlIGlzIG5vdCBpbmhlcml0YWJsZS4KLSAgICAgICAgICBu
dWxscHRyLCAgLy8gUmV0dXJuZWQgdGhyZWFkIGhhbmRsZSBpcyBub3QgaW5oZXJpdGFibGUuCisg
ICAgICAgICAgbnVsbHB0ciwgIC8vIFJldHVuZWQgcHJvY2VzcyBoYW5kbGUgaXMgbm90IGluaGVy
aXRhYmxlLgorICAgICAgICAgIG51bGxwdHIsICAvLyBSZXR1bmVkIHRocmVhZCBoYW5kbGUgaXMg
bm90IGluaGVyaXRhYmxlLgogICAgICAgICAgIFRSVUUsICAvLyBDaGlsZCBpbmhlcml0cyBhbGwg
aW5oZXJpdGFibGUgaGFuZGxlcyAoZm9yIHdyaXRlX2hhbmRsZV8pLgogICAgICAgICAgIDB4MCwg
ICAvLyBEZWZhdWx0IGNyZWF0aW9uIGZsYWdzLgogICAgICAgICAgIG51bGxwdHIsICAvLyBJbmhl
cml0IHRoZSBwYXJlbnQncyBlbnZpcm9ubWVudC4KQEAgLTgwOCw3ICs4MDgsNyBAQCBEZWF0aFRl
c3Q6OlRlc3RSb2xlIFdpbmRvd3NEZWF0aFRlc3Q6OkFzc3VtZVJvbGUoKSB7CiAgIHJldHVybiBP
VkVSU0VFX1RFU1Q7CiB9CiAKLSNlbGlmIEdURVNUX09TX0ZVQ0hTSUEKKyMgZWxpZiBHVEVTVF9P
U19GVUNIU0lBCiAKIGNsYXNzIEZ1Y2hzaWFEZWF0aFRlc3QgOiBwdWJsaWMgRGVhdGhUZXN0SW1w
bCB7CiAgcHVibGljOgpAQCAtODU0LDEzICs4NTQsMTggQEAgY2xhc3MgQXJndW1lbnRzIHsKICAg
dGVtcGxhdGUgPHR5cGVuYW1lIFN0cj4KICAgdm9pZCBBZGRBcmd1bWVudHMoY29uc3QgOjpzdGQ6
OnZlY3RvcjxTdHI+JiBhcmd1bWVudHMpIHsKICAgICBmb3IgKHR5cGVuYW1lIDo6c3RkOjp2ZWN0
b3I8U3RyPjo6Y29uc3RfaXRlcmF0b3IgaSA9IGFyZ3VtZW50cy5iZWdpbigpOwotICAgICAgICAg
aSAhPSBhcmd1bWVudHMuZW5kKCk7ICsraSkgeworICAgICAgICAgaSAhPSBhcmd1bWVudHMuZW5k
KCk7CisgICAgICAgICArK2kpIHsKICAgICAgIGFyZ3NfLmluc2VydChhcmdzXy5lbmQoKSAtIDEs
IHBvc2l4OjpTdHJEdXAoaS0+Y19zdHIoKSkpOwogICAgIH0KICAgfQotICBjaGFyKiBjb25zdCog
QXJndigpIHsgcmV0dXJuICZhcmdzX1swXTsgfQorICBjaGFyKiBjb25zdCogQXJndigpIHsKKyAg
ICByZXR1cm4gJmFyZ3NfWzBdOworICB9CiAKLSAgaW50IHNpemUoKSB7IHJldHVybiBzdGF0aWNf
Y2FzdDxpbnQ+KGFyZ3NfLnNpemUoKSkgLSAxOyB9CisgIGludCBzaXplKCkgeworICAgIHJldHVy
biBhcmdzXy5zaXplKCkgLSAxOworICB9CiAKICBwcml2YXRlOgogICBzdGQ6OnZlY3RvcjxjaGFy
Kj4gYXJnc187CkBAIC04NzQsNyArODc5LDggQEAgaW50IEZ1Y2hzaWFEZWF0aFRlc3Q6OldhaXQo
KSB7CiAgIGNvbnN0IGludCBrU29ja2V0S2V5ID0gMTsKICAgY29uc3QgaW50IGtFeGNlcHRpb25L
ZXkgPSAyOwogCi0gIGlmICghc3Bhd25lZCgpKSByZXR1cm4gMDsKKyAgaWYgKCFzcGF3bmVkKCkp
CisgICAgcmV0dXJuIDA7CiAKICAgLy8gQ3JlYXRlIGEgcG9ydCB0byB3YWl0IGZvciBzb2NrZXQv
dGFzay9leGNlcHRpb24gZXZlbnRzLgogICB6eF9zdGF0dXNfdCBzdGF0dXNfeng7CkBAIC04ODMs
MTggKzg4OSwxOSBAQCBpbnQgRnVjaHNpYURlYXRoVGVzdDo6V2FpdCgpIHsKICAgR1RFU1RfREVB
VEhfVEVTVF9DSEVDS18oc3RhdHVzX3p4ID09IFpYX09LKTsKIAogICAvLyBSZWdpc3RlciB0byB3
YWl0IGZvciB0aGUgY2hpbGQgcHJvY2VzcyB0byB0ZXJtaW5hdGUuCi0gIHN0YXR1c196eCA9Ci0g
ICAgICBjaGlsZF9wcm9jZXNzXy53YWl0X2FzeW5jKHBvcnQsIGtQcm9jZXNzS2V5LCBaWF9QUk9D
RVNTX1RFUk1JTkFURUQsIDApOworICBzdGF0dXNfenggPSBjaGlsZF9wcm9jZXNzXy53YWl0X2Fz
eW5jKAorICAgICAgcG9ydCwga1Byb2Nlc3NLZXksIFpYX1BST0NFU1NfVEVSTUlOQVRFRCwgWlhf
V0FJVF9BU1lOQ19PTkNFKTsKICAgR1RFU1RfREVBVEhfVEVTVF9DSEVDS18oc3RhdHVzX3p4ID09
IFpYX09LKTsKIAogICAvLyBSZWdpc3RlciB0byB3YWl0IGZvciB0aGUgc29ja2V0IHRvIGJlIHJl
YWRhYmxlIG9yIGNsb3NlZC4KICAgc3RhdHVzX3p4ID0gc3RkZXJyX3NvY2tldF8ud2FpdF9hc3lu
YygKLSAgICAgIHBvcnQsIGtTb2NrZXRLZXksIFpYX1NPQ0tFVF9SRUFEQUJMRSB8IFpYX1NPQ0tF
VF9QRUVSX0NMT1NFRCwgMCk7CisgICAgICBwb3J0LCBrU29ja2V0S2V5LCBaWF9TT0NLRVRfUkVB
REFCTEUgfCBaWF9TT0NLRVRfUEVFUl9DTE9TRUQsCisgICAgICBaWF9XQUlUX0FTWU5DX09OQ0Up
OwogICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXyhzdGF0dXNfenggPT0gWlhfT0spOwogCiAgIC8v
IFJlZ2lzdGVyIHRvIHdhaXQgZm9yIGFuIGV4Y2VwdGlvbi4KLSAgc3RhdHVzX3p4ID0gZXhjZXB0
aW9uX2NoYW5uZWxfLndhaXRfYXN5bmMocG9ydCwga0V4Y2VwdGlvbktleSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWlhfQ0hBTk5FTF9SRUFEQUJMRSwgMCk7
CisgIHN0YXR1c196eCA9IGV4Y2VwdGlvbl9jaGFubmVsXy53YWl0X2FzeW5jKAorICAgICAgcG9y
dCwga0V4Y2VwdGlvbktleSwgWlhfQ0hBTk5FTF9SRUFEQUJMRSwgWlhfV0FJVF9BU1lOQ19PTkNF
KTsKICAgR1RFU1RfREVBVEhfVEVTVF9DSEVDS18oc3RhdHVzX3p4ID09IFpYX09LKTsKIAogICBi
b29sIHByb2Nlc3NfdGVybWluYXRlZCA9IGZhbHNlOwpAQCAtOTI0LDkgKzkzMSw5IEBAIGludCBG
dWNoc2lhRGVhdGhUZXN0OjpXYWl0KCkgewogICAgICAgICAgIHNpemVfdCBvbGRfbGVuZ3RoID0g
Y2FwdHVyZWRfc3RkZXJyXy5sZW5ndGgoKTsKICAgICAgICAgICBzaXplX3QgYnl0ZXNfcmVhZCA9
IDA7CiAgICAgICAgICAgY2FwdHVyZWRfc3RkZXJyXy5yZXNpemUob2xkX2xlbmd0aCArIGtCdWZm
ZXJTaXplKTsKLSAgICAgICAgICBzdGF0dXNfenggPQotICAgICAgICAgICAgICBzdGRlcnJfc29j
a2V0Xy5yZWFkKDAsICZjYXB0dXJlZF9zdGRlcnJfLmZyb250KCkgKyBvbGRfbGVuZ3RoLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtCdWZmZXJTaXplLCAmYnl0ZXNfcmVhZCk7
CisgICAgICAgICAgc3RhdHVzX3p4ID0gc3RkZXJyX3NvY2tldF8ucmVhZCgKKyAgICAgICAgICAg
ICAgMCwgJmNhcHR1cmVkX3N0ZGVycl8uZnJvbnQoKSArIG9sZF9sZW5ndGgsIGtCdWZmZXJTaXpl
LAorICAgICAgICAgICAgICAmYnl0ZXNfcmVhZCk7CiAgICAgICAgICAgY2FwdHVyZWRfc3RkZXJy
Xy5yZXNpemUob2xkX2xlbmd0aCArIGJ5dGVzX3JlYWQpOwogICAgICAgICB9IHdoaWxlIChzdGF0
dXNfenggPT0gWlhfT0spOwogICAgICAgICBpZiAoc3RhdHVzX3p4ID09IFpYX0VSUl9QRUVSX0NM
T1NFRCkgewpAQCAtOTM0LDcgKzk0MSw4IEBAIGludCBGdWNoc2lhRGVhdGhUZXN0OjpXYWl0KCkg
ewogICAgICAgICB9IGVsc2UgewogICAgICAgICAgIEdURVNUX0RFQVRIX1RFU1RfQ0hFQ0tfKHN0
YXR1c196eCA9PSBaWF9FUlJfU0hPVUxEX1dBSVQpOwogICAgICAgICAgIHN0YXR1c196eCA9IHN0
ZGVycl9zb2NrZXRfLndhaXRfYXN5bmMoCi0gICAgICAgICAgICAgIHBvcnQsIGtTb2NrZXRLZXks
IFpYX1NPQ0tFVF9SRUFEQUJMRSB8IFpYX1NPQ0tFVF9QRUVSX0NMT1NFRCwgMCk7CisgICAgICAg
ICAgICAgIHBvcnQsIGtTb2NrZXRLZXksIFpYX1NPQ0tFVF9SRUFEQUJMRSB8IFpYX1NPQ0tFVF9Q
RUVSX0NMT1NFRCwKKyAgICAgICAgICAgICAgWlhfV0FJVF9BU1lOQ19PTkNFKTsKICAgICAgICAg
ICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXyhzdGF0dXNfenggPT0gWlhfT0spOwogICAgICAgICB9
CiAgICAgICB9IGVsc2UgewpAQCAtOTQ3LDEyICs5NTUsMTIgQEAgaW50IEZ1Y2hzaWFEZWF0aFRl
c3Q6OldhaXQoKSB7CiAgIFJlYWRBbmRJbnRlcnByZXRTdGF0dXNCeXRlKCk7CiAKICAgenhfaW5m
b19wcm9jZXNzX3QgYnVmZmVyOwotICBzdGF0dXNfenggPSBjaGlsZF9wcm9jZXNzXy5nZXRfaW5m
byhaWF9JTkZPX1BST0NFU1MsICZidWZmZXIsIHNpemVvZihidWZmZXIpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLCBudWxscHRyKTsKKyAgc3RhdHVzX3p4
ID0gY2hpbGRfcHJvY2Vzc18uZ2V0X2luZm8oCisgICAgICBaWF9JTkZPX1BST0NFU1MsICZidWZm
ZXIsIHNpemVvZihidWZmZXIpLCBudWxscHRyLCBudWxscHRyKTsKICAgR1RFU1RfREVBVEhfVEVT
VF9DSEVDS18oc3RhdHVzX3p4ID09IFpYX09LKTsKIAotICBHVEVTVF9ERUFUSF9URVNUX0NIRUNL
XyhidWZmZXIuZmxhZ3MgJiBaWF9JTkZPX1BST0NFU1NfRkxBR19FWElURUQpOwotICBzZXRfc3Rh
dHVzKHN0YXRpY19jYXN0PGludD4oYnVmZmVyLnJldHVybl9jb2RlKSk7CisgIEdURVNUX0RFQVRI
X1RFU1RfQ0hFQ0tfKGJ1ZmZlci5leGl0ZWQpOworICBzZXRfc3RhdHVzKGJ1ZmZlci5yZXR1cm5f
Y29kZSk7CiAgIHJldHVybiBzdGF0dXMoKTsKIH0KIApAQCAtOTgwLDEyICs5ODgsMTMgQEAgRGVh
dGhUZXN0OjpUZXN0Um9sZSBGdWNoc2lhRGVhdGhUZXN0OjpBc3N1bWVSb2xlKCkgewogCiAgIC8v
IEJ1aWxkIHRoZSBjaGlsZCBwcm9jZXNzIGNvbW1hbmQgbGluZS4KICAgY29uc3Qgc3RkOjpzdHJp
bmcgZmlsdGVyX2ZsYWcgPSBzdGQ6OnN0cmluZygiLS0iKSArIEdURVNUX0ZMQUdfUFJFRklYXyAr
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZpbHRlcj0iICsgaW5mby0+dGVz
dF9zdWl0ZV9uYW1lKCkgKyAiLiIgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluZm8tPm5hbWUoKTsKLSAgY29uc3Qgc3RkOjpzdHJpbmcgaW50ZXJuYWxfZmxhZyA9IHN0ZDo6
c3RyaW5nKCItLSIpICsgR1RFU1RfRkxBR19QUkVGSVhfICsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGtJbnRlcm5hbFJ1bkRlYXRoVGVzdEZsYWcgKyAiPSIgKyBmaWxlXyAr
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifCIgKyBTdHJlYW1hYmxlVG9T
dHJpbmcobGluZV8pICsgInwiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFN0cmVhbWFibGVUb1N0cmluZyhkZWF0aF90ZXN0X2luZGV4KTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBrRmlsdGVyRmxhZyArICI9IiArIGluZm8tPnRlc3Rfc3VpdGVfbmFt
ZSgpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiIgKyBpbmZvLT5uYW1l
KCk7CisgIGNvbnN0IHN0ZDo6c3RyaW5nIGludGVybmFsX2ZsYWcgPQorICAgICAgc3RkOjpzdHJp
bmcoIi0tIikgKyBHVEVTVF9GTEFHX1BSRUZJWF8gKyBrSW50ZXJuYWxSdW5EZWF0aFRlc3RGbGFn
ICsgIj0iCisgICAgICArIGZpbGVfICsgInwiCisgICAgICArIFN0cmVhbWFibGVUb1N0cmluZyhs
aW5lXykgKyAifCIKKyAgICAgICsgU3RyZWFtYWJsZVRvU3RyaW5nKGRlYXRoX3Rlc3RfaW5kZXgp
OwogICBBcmd1bWVudHMgYXJnczsKICAgYXJncy5BZGRBcmd1bWVudHMoR2V0SW5qZWN0YWJsZUFy
Z3ZzKCkpOwogICBhcmdzLkFkZEFyZ3VtZW50KGZpbHRlcl9mbGFnLmNfc3RyKCkpOwpAQCAtMTAw
OCw3ICsxMDE3LDggQEAgRGVhdGhUZXN0OjpUZXN0Um9sZSBGdWNoc2lhRGVhdGhUZXN0OjpBc3N1
bWVSb2xlKCkgewogCiAgIC8vIENyZWF0ZSBhIHNvY2tldCBwYWlyIHdpbGwgYmUgdXNlZCB0byBy
ZWNlaXZlIHRoZSBjaGlsZCBwcm9jZXNzJyBzdGRlcnIuCiAgIHp4Ojpzb2NrZXQgc3RkZXJyX3By
b2R1Y2VyX3NvY2tldDsKLSAgc3RhdHVzID0geng6OnNvY2tldDo6Y3JlYXRlKDAsICZzdGRlcnJf
cHJvZHVjZXJfc29ja2V0LCAmc3RkZXJyX3NvY2tldF8pOworICBzdGF0dXMgPQorICAgICAgeng6
OnNvY2tldDo6Y3JlYXRlKDAsICZzdGRlcnJfcHJvZHVjZXJfc29ja2V0LCAmc3RkZXJyX3NvY2tl
dF8pOwogICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXyhzdGF0dXMgPj0gMCk7CiAgIGludCBzdGRl
cnJfcHJvZHVjZXJfZmQgPSAtMTsKICAgc3RhdHVzID0KQEAgLTEwMjUsMzIgKzEwMzUsMzUgQEAg
RGVhdGhUZXN0OjpUZXN0Um9sZSBGdWNoc2lhRGVhdGhUZXN0OjpBc3N1bWVSb2xlKCkgewogCiAg
IC8vIENyZWF0ZSBhIGNoaWxkIGpvYi4KICAgenhfaGFuZGxlX3QgY2hpbGRfam9iID0gWlhfSEFO
RExFX0lOVkFMSUQ7Ci0gIHN0YXR1cyA9IHp4X2pvYl9jcmVhdGUoenhfam9iX2RlZmF1bHQoKSwg
MCwgJmNoaWxkX2pvYik7CisgIHN0YXR1cyA9IHp4X2pvYl9jcmVhdGUoenhfam9iX2RlZmF1bHQo
KSwgMCwgJiBjaGlsZF9qb2IpOwogICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXyhzdGF0dXMgPT0g
WlhfT0spOwogICB6eF9wb2xpY3lfYmFzaWNfdCBwb2xpY3k7CiAgIHBvbGljeS5jb25kaXRpb24g
PSBaWF9QT0xfTkVXX0FOWTsKICAgcG9saWN5LnBvbGljeSA9IFpYX1BPTF9BQ1RJT05fQUxMT1c7
Ci0gIHN0YXR1cyA9IHp4X2pvYl9zZXRfcG9saWN5KGNoaWxkX2pvYiwgWlhfSk9CX1BPTF9SRUxB
VElWRSwgWlhfSk9CX1BPTF9CQVNJQywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBv
bGljeSwgMSk7CisgIHN0YXR1cyA9IHp4X2pvYl9zZXRfcG9saWN5KAorICAgICAgY2hpbGRfam9i
LCBaWF9KT0JfUE9MX1JFTEFUSVZFLCBaWF9KT0JfUE9MX0JBU0lDLCAmcG9saWN5LCAxKTsKICAg
R1RFU1RfREVBVEhfVEVTVF9DSEVDS18oc3RhdHVzID09IFpYX09LKTsKIAogICAvLyBDcmVhdGUg
YW4gZXhjZXB0aW9uIGNoYW5uZWwgYXR0YWNoZWQgdG8gdGhlIHxjaGlsZF9qb2J8LCB0byBhbGxv
dwogICAvLyB1cyB0byBzdXBwcmVzcyB0aGUgc3lzdGVtIGRlZmF1bHQgZXhjZXB0aW9uIGhhbmRs
ZXIgZnJvbSBmaXJpbmcuCi0gIHN0YXR1cyA9IHp4X3Rhc2tfY3JlYXRlX2V4Y2VwdGlvbl9jaGFu
bmVsKAotICAgICAgY2hpbGRfam9iLCAwLCBleGNlcHRpb25fY2hhbm5lbF8ucmVzZXRfYW5kX2dl
dF9hZGRyZXNzKCkpOworICBzdGF0dXMgPQorICAgICAgenhfdGFza19jcmVhdGVfZXhjZXB0aW9u
X2NoYW5uZWwoCisgICAgICAgICAgY2hpbGRfam9iLCAwLCBleGNlcHRpb25fY2hhbm5lbF8ucmVz
ZXRfYW5kX2dldF9hZGRyZXNzKCkpOwogICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLXyhzdGF0dXMg
PT0gWlhfT0spOwogCiAgIC8vIFNwYXduIHRoZSBjaGlsZCBwcm9jZXNzLgotICBzdGF0dXMgPSBm
ZGlvX3NwYXduX2V0YyhjaGlsZF9qb2IsIEZESU9fU1BBV05fQ0xPTkVfQUxMLCBhcmdzLkFyZ3Yo
KVswXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5Bcmd2KCksIG51bGxwdHIsIDIs
IHNwYXduX2FjdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkX3Byb2Nlc3Nf
LnJlc2V0X2FuZF9nZXRfYWRkcmVzcygpLCBudWxscHRyKTsKKyAgc3RhdHVzID0gZmRpb19zcGF3
bl9ldGMoCisgICAgICBjaGlsZF9qb2IsIEZESU9fU1BBV05fQ0xPTkVfQUxMLCBhcmdzLkFyZ3Yo
KVswXSwgYXJncy5Bcmd2KCksIG51bGxwdHIsCisgICAgICAyLCBzcGF3bl9hY3Rpb25zLCBjaGls
ZF9wcm9jZXNzXy5yZXNldF9hbmRfZ2V0X2FkZHJlc3MoKSwgbnVsbHB0cik7CiAgIEdURVNUX0RF
QVRIX1RFU1RfQ0hFQ0tfKHN0YXR1cyA9PSBaWF9PSyk7CiAKICAgc2V0X3NwYXduZWQodHJ1ZSk7
CiAgIHJldHVybiBPVkVSU0VFX1RFU1Q7CiB9CiAKLXN0ZDo6c3RyaW5nIEZ1Y2hzaWFEZWF0aFRl
c3Q6OkdldEVycm9yTG9ncygpIHsgcmV0dXJuIGNhcHR1cmVkX3N0ZGVycl87IH0KK3N0ZDo6c3Ry
aW5nIEZ1Y2hzaWFEZWF0aFRlc3Q6OkdldEVycm9yTG9ncygpIHsKKyAgcmV0dXJuIGNhcHR1cmVk
X3N0ZGVycl87Cit9CiAKICNlbHNlICAvLyBXZSBhcmUgbmVpdGhlciBvbiBXaW5kb3dzLCBub3Ig
b24gRnVjaHNpYS4KIApAQCAtMTA4MSw3ICsxMDk0LDggQEAgRm9ya2luZ0RlYXRoVGVzdDo6Rm9y
a2luZ0RlYXRoVGVzdChjb25zdCBjaGFyKiBhX3N0YXRlbWVudCwKIC8vIHN0YXR1cywgb3IgMCBp
ZiBubyBjaGlsZCBwcm9jZXNzIGV4aXN0cy4gIEFzIGEgc2lkZSBlZmZlY3QsIHNldHMgdGhlCiAv
LyBvdXRjb21lIGRhdGEgbWVtYmVyLgogaW50IEZvcmtpbmdEZWF0aFRlc3Q6OldhaXQoKSB7Ci0g
IGlmICghc3Bhd25lZCgpKSByZXR1cm4gMDsKKyAgaWYgKCFzcGF3bmVkKCkpCisgICAgcmV0dXJu
IDA7CiAKICAgUmVhZEFuZEludGVycHJldFN0YXR1c0J5dGUoKTsKIApAQCAtMTE2MCwxMSArMTE3
NCwxMSBAQCBjbGFzcyBFeGVjRGVhdGhUZXN0IDogcHVibGljIEZvcmtpbmdEZWF0aFRlc3Qgewog
IHByaXZhdGU6CiAgIHN0YXRpYyA6OnN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBHZXRBcmd2c0Zv
ckRlYXRoVGVzdENoaWxkUHJvY2VzcygpIHsKICAgICA6OnN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5n
PiBhcmdzID0gR2V0SW5qZWN0YWJsZUFyZ3ZzKCk7Ci0jaWYgZGVmaW5lZChHVEVTVF9FWFRSQV9E
RUFUSF9URVNUX0NPTU1BTkRfTElORV9BUkdTXykKKyMgIGlmIGRlZmluZWQoR1RFU1RfRVhUUkFf
REVBVEhfVEVTVF9DT01NQU5EX0xJTkVfQVJHU18pCiAgICAgOjpzdGQ6OnZlY3RvcjxzdGQ6OnN0
cmluZz4gZXh0cmFfYXJncyA9CiAgICAgICAgIEdURVNUX0VYVFJBX0RFQVRIX1RFU1RfQ09NTUFO
RF9MSU5FX0FSR1NfKCk7CiAgICAgYXJncy5pbnNlcnQoYXJncy5lbmQoKSwgZXh0cmFfYXJncy5i
ZWdpbigpLCBleHRyYV9hcmdzLmVuZCgpKTsKLSNlbmRpZiAgLy8gZGVmaW5lZChHVEVTVF9FWFRS
QV9ERUFUSF9URVNUX0NPTU1BTkRfTElORV9BUkdTXykKKyMgIGVuZGlmICAvLyBkZWZpbmVkKEdU
RVNUX0VYVFJBX0RFQVRIX1RFU1RfQ09NTUFORF9MSU5FX0FSR1NfKQogICAgIHJldHVybiBhcmdz
OwogICB9CiAgIC8vIFRoZSBuYW1lIG9mIHRoZSBmaWxlIGluIHdoaWNoIHRoZSBkZWF0aCB0ZXN0
IGlzIGxvY2F0ZWQuCkBAIC0xMTkxLDExICsxMjA1LDE0IEBAIGNsYXNzIEFyZ3VtZW50cyB7CiAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBTdHI+CiAgIHZvaWQgQWRkQXJndW1lbnRzKGNvbnN0IDo6c3Rk
Ojp2ZWN0b3I8U3RyPiYgYXJndW1lbnRzKSB7CiAgICAgZm9yICh0eXBlbmFtZSA6OnN0ZDo6dmVj
dG9yPFN0cj46OmNvbnN0X2l0ZXJhdG9yIGkgPSBhcmd1bWVudHMuYmVnaW4oKTsKLSAgICAgICAg
IGkgIT0gYXJndW1lbnRzLmVuZCgpOyArK2kpIHsKKyAgICAgICAgIGkgIT0gYXJndW1lbnRzLmVu
ZCgpOworICAgICAgICAgKytpKSB7CiAgICAgICBhcmdzXy5pbnNlcnQoYXJnc18uZW5kKCkgLSAx
LCBwb3NpeDo6U3RyRHVwKGktPmNfc3RyKCkpKTsKICAgICB9CiAgIH0KLSAgY2hhciogY29uc3Qq
IEFyZ3YoKSB7IHJldHVybiAmYXJnc19bMF07IH0KKyAgY2hhciogY29uc3QqIEFyZ3YoKSB7Cisg
ICAgcmV0dXJuICZhcmdzX1swXTsKKyAgfQogCiAgcHJpdmF0ZToKICAgc3RkOjp2ZWN0b3I8Y2hh
cio+IGFyZ3NfOwpAQCAtMTIwOCw5ICsxMjI1LDIxIEBAIHN0cnVjdCBFeGVjRGVhdGhUZXN0QXJn
cyB7CiAgIGludCBjbG9zZV9mZDsgICAgICAgLy8gRmlsZSBkZXNjcmlwdG9yIHRvIGNsb3NlOyB0
aGUgcmVhZCBlbmQgb2YgYSBwaXBlCiB9OwogCi0jaWYgR1RFU1RfT1NfUU5YCisjICBpZiBHVEVT
VF9PU19NQUMKK2lubGluZSBjaGFyKiogR2V0RW52aXJvbigpIHsKKyAgLy8gV2hlbiBHb29nbGUg
VGVzdCBpcyBidWlsdCBhcyBhIGZyYW1ld29yayBvbiBNYWNPUyBYLCB0aGUgZW52aXJvbiB2YXJp
YWJsZQorICAvLyBpcyB1bmF2YWlsYWJsZS4gQXBwbGUncyBkb2N1bWVudGF0aW9uIChtYW4gZW52
aXJvbikgcmVjb21tZW5kcyB1c2luZworICAvLyBfTlNHZXRFbnZpcm9uKCkgaW5zdGVhZC4KKyAg
cmV0dXJuICpfTlNHZXRFbnZpcm9uKCk7Cit9CisjICBlbHNlCisvLyBTb21lIFBPU0lYIHBsYXRm
b3JtcyBleHBlY3QgeW91IHRvIGRlY2xhcmUgZW52aXJvbi4gZXh0ZXJuICJDIiBtYWtlcworLy8g
aXQgcmVzaWRlIGluIHRoZSBnbG9iYWwgbmFtZXNwYWNlLgogZXh0ZXJuICJDIiBjaGFyKiogZW52
aXJvbjsKLSNlbHNlICAgLy8gR1RFU1RfT1NfUU5YCitpbmxpbmUgY2hhcioqIEdldEVudmlyb24o
KSB7IHJldHVybiBlbnZpcm9uOyB9CisjICBlbmRpZiAgLy8gR1RFU1RfT1NfTUFDCisKKyMgIGlm
ICFHVEVTVF9PU19RTlgKIC8vIFRoZSBtYWluIGZ1bmN0aW9uIGZvciBhIHRocmVhZHNhZmUtc3R5
bGUgZGVhdGggdGVzdCBjaGlsZCBwcm9jZXNzLgogLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQg
aW4gYSBjbG9uZSgpLWVkIHByb2Nlc3MgYW5kIHRodXMgbXVzdCBhdm9pZAogLy8gYW55IHBvdGVu
dGlhbGx5IHVuc2FmZSBvcGVyYXRpb25zIGxpa2UgbWFsbG9jIG9yIGxpYmMgZnVuY3Rpb25zLgpA
QCAtMTIyNSwyNCArMTI1NCwyNSBAQCBzdGF0aWMgaW50IEV4ZWNEZWF0aFRlc3RDaGlsZE1haW4o
dm9pZCogY2hpbGRfYXJnKSB7CiAgICAgICBVbml0VGVzdDo6R2V0SW5zdGFuY2UoKS0+b3JpZ2lu
YWxfd29ya2luZ19kaXIoKTsKICAgLy8gV2UgY2FuIHNhZmVseSBjYWxsIGNoZGlyKCkgYXMgaXQn
cyBhIGRpcmVjdCBzeXN0ZW0gY2FsbC4KICAgaWYgKGNoZGlyKG9yaWdpbmFsX2RpcikgIT0gMCkg
ewotICAgIERlYXRoVGVzdEFib3J0KHN0ZDo6c3RyaW5nKCJjaGRpcihcIiIpICsgb3JpZ2luYWxf
ZGlyICsKLSAgICAgICAgICAgICAgICAgICAiXCIpIGZhaWxlZDogIiArIEdldExhc3RFcnJub0Rl
c2NyaXB0aW9uKCkpOworICAgIERlYXRoVGVzdEFib3J0KHN0ZDo6c3RyaW5nKCJjaGRpcihcIiIp
ICsgb3JpZ2luYWxfZGlyICsgIlwiKSBmYWlsZWQ6ICIgKworICAgICAgICAgICAgICAgICAgIEdl
dExhc3RFcnJub0Rlc2NyaXB0aW9uKCkpOwogICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CiAgIH0K
IAotICAvLyBXZSBjYW4gc2FmZWx5IGNhbGwgZXhlY3YoKSBhcyBpdCdzIGFsbW9zdCBhIGRpcmVj
dCBzeXN0ZW0gY2FsbC4gV2UKKyAgLy8gV2UgY2FuIHNhZmVseSBjYWxsIGV4ZWN2ZSgpIGFzIGl0
J3MgYSBkaXJlY3Qgc3lzdGVtIGNhbGwuICBXZQogICAvLyBjYW5ub3QgdXNlIGV4ZWN2cCgpIGFz
IGl0J3MgYSBsaWJjIGZ1bmN0aW9uIGFuZCB0aHVzIHBvdGVudGlhbGx5Ci0gIC8vIHVuc2FmZS4g
IFNpbmNlIGV4ZWN2KCkgZG9lc24ndCBzZWFyY2ggdGhlIFBBVEgsIHRoZSB1c2VyIG11c3QKKyAg
Ly8gdW5zYWZlLiAgU2luY2UgZXhlY3ZlKCkgZG9lc24ndCBzZWFyY2ggdGhlIFBBVEgsIHRoZSB1
c2VyIG11c3QKICAgLy8gaW52b2tlIHRoZSB0ZXN0IHByb2dyYW0gdmlhIGEgdmFsaWQgcGF0aCB0
aGF0IGNvbnRhaW5zIGF0IGxlYXN0CiAgIC8vIG9uZSBwYXRoIHNlcGFyYXRvci4KLSAgZXhlY3Yo
YXJncy0+YXJndlswXSwgYXJncy0+YXJndik7Ci0gIERlYXRoVGVzdEFib3J0KHN0ZDo6c3RyaW5n
KCJleGVjdigiKSArIGFyZ3MtPmFyZ3ZbMF0gKyAiLCAuLi4pIGluICIgKwotICAgICAgICAgICAg
ICAgICBvcmlnaW5hbF9kaXIgKyAiIGZhaWxlZDogIiArIEdldExhc3RFcnJub0Rlc2NyaXB0aW9u
KCkpOworICBleGVjdmUoYXJncy0+YXJndlswXSwgYXJncy0+YXJndiwgR2V0RW52aXJvbigpKTsK
KyAgRGVhdGhUZXN0QWJvcnQoc3RkOjpzdHJpbmcoImV4ZWN2ZSgiKSArIGFyZ3MtPmFyZ3ZbMF0g
KyAiLCAuLi4pIGluICIgKworICAgICAgICAgICAgICAgICBvcmlnaW5hbF9kaXIgKyAiIGZhaWxl
ZDogIiArCisgICAgICAgICAgICAgICAgIEdldExhc3RFcnJub0Rlc2NyaXB0aW9uKCkpOwogICBy
ZXR1cm4gRVhJVF9GQUlMVVJFOwogfQotI2VuZGlmICAvLyBHVEVTVF9PU19RTlgKKyMgIGVuZGlm
ICAvLyAhR1RFU1RfT1NfUU5YCiAKLSNpZiBHVEVTVF9IQVNfQ0xPTkUKKyMgIGlmIEdURVNUX0hB
U19DTE9ORQogLy8gVHdvIHV0aWxpdHkgcm91dGluZXMgdGhhdCB0b2dldGhlciBkZXRlcm1pbmUg
dGhlIGRpcmVjdGlvbiB0aGUgc3RhY2sKIC8vIGdyb3dzLgogLy8gVGhpcyBjb3VsZCBiZSBhY2Nv
bXBsaXNoZWQgbW9yZSBlbGVnYW50bHkgYnkgYSBzaW5nbGUgcmVjdXJzaXZlCkBAIC0xMjU0LDI5
ICsxMjg0LDI0IEBAIHN0YXRpYyBpbnQgRXhlY0RlYXRoVGVzdENoaWxkTWFpbih2b2lkKiBjaGls
ZF9hcmcpIHsKIC8vIGNvcnJlY3QgYW5zd2VyLgogc3RhdGljIHZvaWQgU3RhY2tMb3dlclRoYW5B
ZGRyZXNzKGNvbnN0IHZvaWQqIHB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sKiByZXN1bHQpIEdURVNUX05PX0lOTElORV87Ci0vLyBNYWtlIHN1cmUgc2FuaXRpemVy
cyBkbyBub3QgdGFtcGVyIHdpdGggdGhlIHN0YWNrIGhlcmUuCi0vLyBJZGVhbGx5LCB3ZSB3YW50
IHRvIHVzZSBgX19idWlsdGluX2ZyYW1lX2FkZHJlc3NgIGluc3RlYWQgb2YgYSBsb2NhbCB2YXJp
YWJsZQotLy8gYWRkcmVzcyB3aXRoIHNhbml0aXplciBkaXNhYmxlZCwgYnV0IGl0IGRvZXMgbm90
IHdvcmsgd2hlbiB0aGUKLS8vIGNvbXBpbGVyIG9wdGltaXplcyB0aGUgc3RhY2sgZnJhbWUgb3V0
LCB3aGljaCBoYXBwZW5zIG9uIFBvd2VyUEMgdGFyZ2V0cy4KIC8vIEhXQWRkcmVzc1Nhbml0aXpl
ciBhZGQgYSByYW5kb20gdGFnIHRvIHRoZSBNU0Igb2YgdGhlIGxvY2FsIHZhcmlhYmxlIGFkZHJl
c3MsCiAvLyBtYWtpbmcgY29tcGFyaXNvbiByZXN1bHQgdW5wcmVkaWN0YWJsZS4KLUdURVNUX0FU
VFJJQlVURV9OT19TQU5JVElaRV9BRERSRVNTXwogR1RFU1RfQVRUUklCVVRFX05PX1NBTklUSVpF
X0hXQUREUkVTU18KIHN0YXRpYyB2b2lkIFN0YWNrTG93ZXJUaGFuQWRkcmVzcyhjb25zdCB2b2lk
KiBwdHIsIGJvb2wqIHJlc3VsdCkgewotICBpbnQgZHVtbXkgPSAwOwotICAqcmVzdWx0ID0gc3Rk
OjpsZXNzPGNvbnN0IHZvaWQqPigpKCZkdW1teSwgcHRyKTsKKyAgaW50IGR1bW15OworICAqcmVz
dWx0ID0gKCZkdW1teSA8IHB0cik7CiB9CiAKIC8vIE1ha2Ugc3VyZSBBZGRyZXNzU2FuaXRpemVy
IGRvZXMgbm90IHRhbXBlciB3aXRoIHRoZSBzdGFjayBoZXJlLgogR1RFU1RfQVRUUklCVVRFX05P
X1NBTklUSVpFX0FERFJFU1NfCiBHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfSFdBRERSRVNT
Xwogc3RhdGljIGJvb2wgU3RhY2tHcm93c0Rvd24oKSB7Ci0gIGludCBkdW1teSA9IDA7CisgIGlu
dCBkdW1teTsKICAgYm9vbCByZXN1bHQ7CiAgIFN0YWNrTG93ZXJUaGFuQWRkcmVzcygmZHVtbXks
ICZyZXN1bHQpOwogICByZXR1cm4gcmVzdWx0OwogfQotI2VuZGlmICAvLyBHVEVTVF9IQVNfQ0xP
TkUKKyMgIGVuZGlmICAvLyBHVEVTVF9IQVNfQ0xPTkUKIAogLy8gU3Bhd25zIGEgY2hpbGQgcHJv
Y2VzcyB3aXRoIHRoZSBzYW1lIGV4ZWN1dGFibGUgYXMgdGhlIGN1cnJlbnQgcHJvY2VzcyBpbgog
Ly8gYSB0aHJlYWQtc2FmZSBtYW5uZXIgYW5kIGluc3RydWN0cyBpdCB0byBydW4gdGhlIGRlYXRo
IHRlc3QuICBUaGUKQEAgLTEyODYsMTAgKzEzMTEsMTAgQEAgc3RhdGljIGJvb2wgU3RhY2tHcm93
c0Rvd24oKSB7CiAvLyBzcGF3bigyKSB0aGVyZSBpbnN0ZWFkLiAgVGhlIGZ1bmN0aW9uIGRpZXMg
d2l0aCBhbiBlcnJvciBtZXNzYWdlIGlmCiAvLyBhbnl0aGluZyBnb2VzIHdyb25nLgogc3RhdGlj
IHBpZF90IEV4ZWNEZWF0aFRlc3RTcGF3bkNoaWxkKGNoYXIqIGNvbnN0KiBhcmd2LCBpbnQgY2xv
c2VfZmQpIHsKLSAgRXhlY0RlYXRoVGVzdEFyZ3MgYXJncyA9IHthcmd2LCBjbG9zZV9mZH07Cisg
IEV4ZWNEZWF0aFRlc3RBcmdzIGFyZ3MgPSB7IGFyZ3YsIGNsb3NlX2ZkIH07CiAgIHBpZF90IGNo
aWxkX3BpZCA9IC0xOwogCi0jaWYgR1RFU1RfT1NfUU5YCisjICBpZiBHVEVTVF9PU19RTlgKICAg
Ly8gT2J0YWlucyB0aGUgY3VycmVudCBkaXJlY3RvcnkgYW5kIHNldHMgaXQgdG8gYmUgY2xvc2Vk
IGluIHRoZSBjaGlsZAogICAvLyBwcm9jZXNzLgogICBjb25zdCBpbnQgY3dkX2ZkID0gb3Blbigi
LiIsIE9fUkRPTkxZKTsKQEAgLTEzMDIsMjUgKzEzMjcsMjYgQEAgc3RhdGljIHBpZF90IEV4ZWNE
ZWF0aFRlc3RTcGF3bkNoaWxkKGNoYXIqIGNvbnN0KiBhcmd2LCBpbnQgY2xvc2VfZmQpIHsKICAg
ICAgIFVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5vcmlnaW5hbF93b3JraW5nX2RpcigpOwogICAv
LyBXZSBjYW4gc2FmZWx5IGNhbGwgY2hkaXIoKSBhcyBpdCdzIGEgZGlyZWN0IHN5c3RlbSBjYWxs
LgogICBpZiAoY2hkaXIob3JpZ2luYWxfZGlyKSAhPSAwKSB7Ci0gICAgRGVhdGhUZXN0QWJvcnQo
c3RkOjpzdHJpbmcoImNoZGlyKFwiIikgKyBvcmlnaW5hbF9kaXIgKwotICAgICAgICAgICAgICAg
ICAgICJcIikgZmFpbGVkOiAiICsgR2V0TGFzdEVycm5vRGVzY3JpcHRpb24oKSk7CisgICAgRGVh
dGhUZXN0QWJvcnQoc3RkOjpzdHJpbmcoImNoZGlyKFwiIikgKyBvcmlnaW5hbF9kaXIgKyAiXCIp
IGZhaWxlZDogIiArCisgICAgICAgICAgICAgICAgICAgR2V0TGFzdEVycm5vRGVzY3JpcHRpb24o
KSk7CiAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKICAgfQogCiAgIGludCBmZF9mbGFnczsKICAg
Ly8gU2V0IGNsb3NlX2ZkIHRvIGJlIGNsb3NlZCBhZnRlciBzcGF3bi4KICAgR1RFU1RfREVBVEhf
VEVTVF9DSEVDS19TWVNDQUxMXyhmZF9mbGFncyA9IGZjbnRsKGNsb3NlX2ZkLCBGX0dFVEZEKSk7
Ci0gIEdURVNUX0RFQVRIX1RFU1RfQ0hFQ0tfU1lTQ0FMTF8oCi0gICAgICBmY250bChjbG9zZV9m
ZCwgRl9TRVRGRCwgZmRfZmxhZ3MgfCBGRF9DTE9FWEVDKSk7CisgIEdURVNUX0RFQVRIX1RFU1Rf
Q0hFQ0tfU1lTQ0FMTF8oZmNudGwoY2xvc2VfZmQsIEZfU0VURkQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmRfZmxhZ3MgfCBGRF9DTE9FWEVDKSk7CiAgIHN0cnVj
dCBpbmhlcml0YW5jZSBpbmhlcml0ID0gezB9OwogICAvLyBzcGF3biBpcyBhIHN5c3RlbSBjYWxs
LgotICBjaGlsZF9waWQgPSBzcGF3bihhcmdzLmFyZ3ZbMF0sIDAsIG51bGxwdHIsICZpbmhlcml0
LCBhcmdzLmFyZ3YsIGVudmlyb24pOworICBjaGlsZF9waWQgPQorICAgICAgc3Bhd24oYXJncy5h
cmd2WzBdLCAwLCBudWxscHRyLCAmaW5oZXJpdCwgYXJncy5hcmd2LCBHZXRFbnZpcm9uKCkpOwog
ICAvLyBSZXN0b3JlcyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KICAgR1RFU1RfREVB
VEhfVEVTVF9DSEVDS18oZmNoZGlyKGN3ZF9mZCkgIT0gLTEpOwogICBHVEVTVF9ERUFUSF9URVNU
X0NIRUNLX1NZU0NBTExfKGNsb3NlKGN3ZF9mZCkpOwogCi0jZWxzZSAgLy8gR1RFU1RfT1NfUU5Y
Ci0jaWYgR1RFU1RfT1NfTElOVVgKKyMgIGVsc2UgICAvLyBHVEVTVF9PU19RTlgKKyMgICBpZiBH
VEVTVF9PU19MSU5VWAogICAvLyBXaGVuIGEgU0lHUFJPRiBzaWduYWwgaXMgcmVjZWl2ZWQgd2hp
bGUgZm9yaygpIG9yIGNsb25lKCkgYXJlIGV4ZWN1dGluZywKICAgLy8gdGhlIHByb2Nlc3MgbWF5
IGhhbmcuIFRvIGF2b2lkIHRoaXMsIHdlIGlnbm9yZSBTSUdQUk9GIGhlcmUgYW5kIHJlLWVuYWJs
ZQogICAvLyBpdCBhZnRlciB0aGUgY2FsbCB0byBmb3JrKCkvY2xvbmUoKSBpcyBjb21wbGV0ZS4K
QEAgLTEzMjksMTIgKzEzNTUsMTIgQEAgc3RhdGljIHBpZF90IEV4ZWNEZWF0aFRlc3RTcGF3bkNo
aWxkKGNoYXIqIGNvbnN0KiBhcmd2LCBpbnQgY2xvc2VfZmQpIHsKICAgbWVtc2V0KCZpZ25vcmVf
c2lncHJvZl9hY3Rpb24sIDAsIHNpemVvZihpZ25vcmVfc2lncHJvZl9hY3Rpb24pKTsKICAgc2ln
ZW1wdHlzZXQoJmlnbm9yZV9zaWdwcm9mX2FjdGlvbi5zYV9tYXNrKTsKICAgaWdub3JlX3NpZ3By
b2ZfYWN0aW9uLnNhX2hhbmRsZXIgPSBTSUdfSUdOOwotICBHVEVTVF9ERUFUSF9URVNUX0NIRUNL
X1NZU0NBTExfKAotICAgICAgc2lnYWN0aW9uKFNJR1BST0YsICZpZ25vcmVfc2lncHJvZl9hY3Rp
b24sICZzYXZlZF9zaWdwcm9mX2FjdGlvbikpOwotI2VuZGlmICAvLyBHVEVTVF9PU19MSU5VWAor
ICBHVEVTVF9ERUFUSF9URVNUX0NIRUNLX1NZU0NBTExfKHNpZ2FjdGlvbigKKyAgICAgIFNJR1BS
T0YsICZpZ25vcmVfc2lncHJvZl9hY3Rpb24sICZzYXZlZF9zaWdwcm9mX2FjdGlvbikpOworIyAg
IGVuZGlmICAvLyBHVEVTVF9PU19MSU5VWAogCi0jaWYgR1RFU1RfSEFTX0NMT05FCi0gIGNvbnN0
IGJvb2wgdXNlX2ZvcmsgPSBHVEVTVF9GTEFHX0dFVChkZWF0aF90ZXN0X3VzZV9mb3JrKTsKKyMg
ICBpZiBHVEVTVF9IQVNfQ0xPTkUKKyAgY29uc3QgYm9vbCB1c2VfZm9yayA9IEdURVNUX0ZMQUco
ZGVhdGhfdGVzdF91c2VfZm9yayk7CiAKICAgaWYgKCF1c2VfZm9yaykgewogICAgIHN0YXRpYyBj
b25zdCBib29sIHN0YWNrX2dyb3dzX2Rvd24gPSBTdGFja0dyb3dzRG93bigpOwpAQCAtMTM1Myw3
ICsxMzc5LDcgQEAgc3RhdGljIHBpZF90IEV4ZWNEZWF0aFRlc3RTcGF3bkNoaWxkKGNoYXIqIGNv
bnN0KiBhcmd2LCBpbnQgY2xvc2VfZmQpIHsKICAgICBjb25zdCBzaXplX3Qga01heFN0YWNrQWxp
Z25tZW50ID0gNjQ7CiAgICAgdm9pZCogY29uc3Qgc3RhY2tfdG9wID0KICAgICAgICAgc3RhdGlj
X2Nhc3Q8Y2hhcio+KHN0YWNrKSArCi0gICAgICAgIChzdGFja19ncm93c19kb3duID8gc3RhY2tf
c2l6ZSAtIGtNYXhTdGFja0FsaWdubWVudCA6IDApOworICAgICAgICAgICAgKHN0YWNrX2dyb3dz
X2Rvd24gPyBzdGFja19zaXplIC0ga01heFN0YWNrQWxpZ25tZW50IDogMCk7CiAgICAgR1RFU1Rf
REVBVEhfVEVTVF9DSEVDS18oCiAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4oc3RhY2tfc2l6
ZSkgPiBrTWF4U3RhY2tBbGlnbm1lbnQgJiYKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50
cHRyX3Q+KHN0YWNrX3RvcCkgJSBrTWF4U3RhY2tBbGlnbm1lbnQgPT0gMCk7CkBAIC0xMzYyLDE5
ICsxMzg4LDE5IEBAIHN0YXRpYyBwaWRfdCBFeGVjRGVhdGhUZXN0U3Bhd25DaGlsZChjaGFyKiBj
b25zdCogYXJndiwgaW50IGNsb3NlX2ZkKSB7CiAKICAgICBHVEVTVF9ERUFUSF9URVNUX0NIRUNL
XyhtdW5tYXAoc3RhY2ssIHN0YWNrX3NpemUpICE9IC0xKTsKICAgfQotI2Vsc2UKKyMgICBlbHNl
CiAgIGNvbnN0IGJvb2wgdXNlX2ZvcmsgPSB0cnVlOwotI2VuZGlmICAvLyBHVEVTVF9IQVNfQ0xP
TkUKKyMgICBlbmRpZiAgLy8gR1RFU1RfSEFTX0NMT05FCiAKICAgaWYgKHVzZV9mb3JrICYmIChj
aGlsZF9waWQgPSBmb3JrKCkpID09IDApIHsKLSAgICBFeGVjRGVhdGhUZXN0Q2hpbGRNYWluKCZh
cmdzKTsKLSAgICBfZXhpdCgwKTsKKyAgICAgIEV4ZWNEZWF0aFRlc3RDaGlsZE1haW4oJmFyZ3Mp
OworICAgICAgX2V4aXQoMCk7CiAgIH0KLSNlbmRpZiAgLy8gR1RFU1RfT1NfUU5YCi0jaWYgR1RF
U1RfT1NfTElOVVgKKyMgIGVuZGlmICAvLyBHVEVTVF9PU19RTlgKKyMgIGlmIEdURVNUX09TX0xJ
TlVYCiAgIEdURVNUX0RFQVRIX1RFU1RfQ0hFQ0tfU1lTQ0FMTF8oCiAgICAgICBzaWdhY3Rpb24o
U0lHUFJPRiwgJnNhdmVkX3NpZ3Byb2ZfYWN0aW9uLCBudWxscHRyKSk7Ci0jZW5kaWYgIC8vIEdU
RVNUX09TX0xJTlVYCisjICBlbmRpZiAgLy8gR1RFU1RfT1NfTElOVVgKIAogICBHVEVTVF9ERUFU
SF9URVNUX0NIRUNLXyhjaGlsZF9waWQgIT0gLTEpOwogICByZXR1cm4gY2hpbGRfcGlkOwpAQCAt
MTQwMywxMyArMTQyOSwxMyBAQCBEZWF0aFRlc3Q6OlRlc3RSb2xlIEV4ZWNEZWF0aFRlc3Q6OkFz
c3VtZVJvbGUoKSB7CiAgIEdURVNUX0RFQVRIX1RFU1RfQ0hFQ0tfKGZjbnRsKHBpcGVfZmRbMV0s
IEZfU0VURkQsIDApICE9IC0xKTsKIAogICBjb25zdCBzdGQ6OnN0cmluZyBmaWx0ZXJfZmxhZyA9
IHN0ZDo6c3RyaW5nKCItLSIpICsgR1RFU1RfRkxBR19QUkVGSVhfICsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZmlsdGVyPSIgKyBpbmZvLT50ZXN0X3N1aXRlX25hbWUoKSAr
ICIuIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby0+bmFtZSgpOwot
ICBjb25zdCBzdGQ6OnN0cmluZyBpbnRlcm5hbF9mbGFnID0gc3RkOjpzdHJpbmcoIi0tIikgKyBH
VEVTVF9GTEFHX1BSRUZJWF8gKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImludGVybmFsX3J1bl9kZWF0aF90ZXN0PSIgKyBmaWxlXyArICJ8IiArCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTdHJlYW1hYmxlVG9TdHJpbmcobGluZV8pICsgInwiICsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmVhbWFibGVUb1N0cmluZyhk
ZWF0aF90ZXN0X2luZGV4KSArICJ8IiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTdHJlYW1hYmxlVG9TdHJpbmcocGlwZV9mZFsxXSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAga0ZpbHRlckZsYWcgKyAiPSIgKyBpbmZvLT50ZXN0X3N1aXRlX25hbWUo
KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi4iICsgaW5mby0+bmFtZSgp
OworICBjb25zdCBzdGQ6OnN0cmluZyBpbnRlcm5hbF9mbGFnID0KKyAgICAgIHN0ZDo6c3RyaW5n
KCItLSIpICsgR1RFU1RfRkxBR19QUkVGSVhfICsga0ludGVybmFsUnVuRGVhdGhUZXN0RmxhZyAr
ICI9IgorICAgICAgKyBmaWxlXyArICJ8IiArIFN0cmVhbWFibGVUb1N0cmluZyhsaW5lXykgKyAi
fCIKKyAgICAgICsgU3RyZWFtYWJsZVRvU3RyaW5nKGRlYXRoX3Rlc3RfaW5kZXgpICsgInwiCisg
ICAgICArIFN0cmVhbWFibGVUb1N0cmluZyhwaXBlX2ZkWzFdKTsKICAgQXJndW1lbnRzIGFyZ3M7
CiAgIGFyZ3MuQWRkQXJndW1lbnRzKEdldEFyZ3ZzRm9yRGVhdGhUZXN0Q2hpbGRQcm9jZXNzKCkp
OwogICBhcmdzLkFkZEFyZ3VtZW50KGZpbHRlcl9mbGFnLmNfc3RyKCkpOwpAQCAtMTQzMCw3ICsx
NDU2LDcgQEAgRGVhdGhUZXN0OjpUZXN0Um9sZSBFeGVjRGVhdGhUZXN0OjpBc3N1bWVSb2xlKCkg
ewogICByZXR1cm4gT1ZFUlNFRV9URVNUOwogfQogCi0jZW5kaWYgIC8vICFHVEVTVF9PU19XSU5E
T1dTCisjIGVuZGlmICAvLyAhR1RFU1RfT1NfV0lORE9XUwogCiAvLyBDcmVhdGVzIGEgY29uY3Jl
dGUgRGVhdGhUZXN0LWRlcml2ZWQgY2xhc3MgdGhhdCBkZXBlbmRzIG9uIHRoZQogLy8gLS1ndGVz
dF9kZWF0aF90ZXN0X3N0eWxlIGZsYWcsIGFuZCBzZXRzIHRoZSBwb2ludGVyIHBvaW50ZWQgdG8K
QEAgLTE0NDQsMTUgKzE0NzAsMTUgQEAgYm9vbCBEZWZhdWx0RGVhdGhUZXN0RmFjdG9yeTo6Q3Jl
YXRlKGNvbnN0IGNoYXIqIHN0YXRlbWVudCwKICAgVW5pdFRlc3RJbXBsKiBjb25zdCBpbXBsID0g
R2V0VW5pdFRlc3RJbXBsKCk7CiAgIGNvbnN0IEludGVybmFsUnVuRGVhdGhUZXN0RmxhZyogY29u
c3QgZmxhZyA9CiAgICAgICBpbXBsLT5pbnRlcm5hbF9ydW5fZGVhdGhfdGVzdF9mbGFnKCk7Ci0g
IGNvbnN0IGludCBkZWF0aF90ZXN0X2luZGV4ID0KLSAgICAgIGltcGwtPmN1cnJlbnRfdGVzdF9p
bmZvKCktPmluY3JlbWVudF9kZWF0aF90ZXN0X2NvdW50KCk7CisgIGNvbnN0IGludCBkZWF0aF90
ZXN0X2luZGV4ID0gaW1wbC0+Y3VycmVudF90ZXN0X2luZm8oKQorICAgICAgLT5pbmNyZW1lbnRf
ZGVhdGhfdGVzdF9jb3VudCgpOwogCiAgIGlmIChmbGFnICE9IG51bGxwdHIpIHsKICAgICBpZiAo
ZGVhdGhfdGVzdF9pbmRleCA+IGZsYWctPmluZGV4KCkpIHsKICAgICAgIERlYXRoVGVzdDo6c2V0
X2xhc3RfZGVhdGhfdGVzdF9tZXNzYWdlKAotICAgICAgICAgICJEZWF0aCB0ZXN0IGNvdW50ICgi
ICsgU3RyZWFtYWJsZVRvU3RyaW5nKGRlYXRoX3Rlc3RfaW5kZXgpICsKLSAgICAgICAgICAiKSBz
b21laG93IGV4Y2VlZGVkIGV4cGVjdGVkIG1heGltdW0gKCIgKwotICAgICAgICAgIFN0cmVhbWFi
bGVUb1N0cmluZyhmbGFnLT5pbmRleCgpKSArICIpIik7CisgICAgICAgICAgIkRlYXRoIHRlc3Qg
Y291bnQgKCIgKyBTdHJlYW1hYmxlVG9TdHJpbmcoZGVhdGhfdGVzdF9pbmRleCkKKyAgICAgICAg
ICArICIpIHNvbWVob3cgZXhjZWVkZWQgZXhwZWN0ZWQgbWF4aW11bSAoIgorICAgICAgICAgICsg
U3RyZWFtYWJsZVRvU3RyaW5nKGZsYWctPmluZGV4KCkpICsgIikiKTsKICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CiAKQEAgLTE0NjMsNTAgKzE0ODksNTAgQEAgYm9vbCBEZWZhdWx0RGVhdGhU
ZXN0RmFjdG9yeTo6Q3JlYXRlKGNvbnN0IGNoYXIqIHN0YXRlbWVudCwKICAgICB9CiAgIH0KIAot
I2lmIEdURVNUX09TX1dJTkRPV1MKKyMgaWYgR1RFU1RfT1NfV0lORE9XUwogCi0gIGlmIChHVEVT
VF9GTEFHX0dFVChkZWF0aF90ZXN0X3N0eWxlKSA9PSAidGhyZWFkc2FmZSIgfHwKLSAgICAgIEdU
RVNUX0ZMQUdfR0VUKGRlYXRoX3Rlc3Rfc3R5bGUpID09ICJmYXN0IikgeworICBpZiAoR1RFU1Rf
RkxBRyhkZWF0aF90ZXN0X3N0eWxlKSA9PSAidGhyZWFkc2FmZSIgfHwKKyAgICAgIEdURVNUX0ZM
QUcoZGVhdGhfdGVzdF9zdHlsZSkgPT0gImZhc3QiKSB7CiAgICAgKnRlc3QgPSBuZXcgV2luZG93
c0RlYXRoVGVzdChzdGF0ZW1lbnQsIHN0ZDo6bW92ZShtYXRjaGVyKSwgZmlsZSwgbGluZSk7CiAg
IH0KIAotI2VsaWYgR1RFU1RfT1NfRlVDSFNJQQorIyBlbGlmIEdURVNUX09TX0ZVQ0hTSUEKIAot
ICBpZiAoR1RFU1RfRkxBR19HRVQoZGVhdGhfdGVzdF9zdHlsZSkgPT0gInRocmVhZHNhZmUiIHx8
Ci0gICAgICBHVEVTVF9GTEFHX0dFVChkZWF0aF90ZXN0X3N0eWxlKSA9PSAiZmFzdCIpIHsKKyAg
aWYgKEdURVNUX0ZMQUcoZGVhdGhfdGVzdF9zdHlsZSkgPT0gInRocmVhZHNhZmUiIHx8CisgICAg
ICBHVEVTVF9GTEFHKGRlYXRoX3Rlc3Rfc3R5bGUpID09ICJmYXN0IikgewogICAgICp0ZXN0ID0g
bmV3IEZ1Y2hzaWFEZWF0aFRlc3Qoc3RhdGVtZW50LCBzdGQ6Om1vdmUobWF0Y2hlciksIGZpbGUs
IGxpbmUpOwogICB9CiAKLSNlbHNlCisjIGVsc2UKIAotICBpZiAoR1RFU1RfRkxBR19HRVQoZGVh
dGhfdGVzdF9zdHlsZSkgPT0gInRocmVhZHNhZmUiKSB7CisgIGlmIChHVEVTVF9GTEFHKGRlYXRo
X3Rlc3Rfc3R5bGUpID09ICJ0aHJlYWRzYWZlIikgewogICAgICp0ZXN0ID0gbmV3IEV4ZWNEZWF0
aFRlc3Qoc3RhdGVtZW50LCBzdGQ6Om1vdmUobWF0Y2hlciksIGZpbGUsIGxpbmUpOwotICB9IGVs
c2UgaWYgKEdURVNUX0ZMQUdfR0VUKGRlYXRoX3Rlc3Rfc3R5bGUpID09ICJmYXN0IikgeworICB9
IGVsc2UgaWYgKEdURVNUX0ZMQUcoZGVhdGhfdGVzdF9zdHlsZSkgPT0gImZhc3QiKSB7CiAgICAg
KnRlc3QgPSBuZXcgTm9FeGVjRGVhdGhUZXN0KHN0YXRlbWVudCwgc3RkOjptb3ZlKG1hdGNoZXIp
KTsKICAgfQogCi0jZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1MKKyMgZW5kaWYgIC8vIEdURVNU
X09TX1dJTkRPV1MKIAogICBlbHNlIHsgIC8vIE5PTElOVCAtIHRoaXMgaXMgbW9yZSByZWFkYWJs
ZSB0aGFuIHVuYmFsYW5jZWQgYnJhY2tldHMgaW5zaWRlICNpZi4KLSAgICBEZWF0aFRlc3Q6OnNl
dF9sYXN0X2RlYXRoX3Rlc3RfbWVzc2FnZSgiVW5rbm93biBkZWF0aCB0ZXN0IHN0eWxlIFwiIiAr
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RFU1RfRkxBR19H
RVQoZGVhdGhfdGVzdF9zdHlsZSkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJcIiBlbmNvdW50ZXJlZCIpOworICAgIERlYXRoVGVzdDo6c2V0X2xhc3RfZGVh
dGhfdGVzdF9tZXNzYWdlKAorICAgICAgICAiVW5rbm93biBkZWF0aCB0ZXN0IHN0eWxlIFwiIiAr
IEdURVNUX0ZMQUcoZGVhdGhfdGVzdF9zdHlsZSkKKyAgICAgICAgKyAiXCIgZW5jb3VudGVyZWQi
KTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAogICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEdU
RVNUX09TX1dJTkRPV1MKKyMgaWYgR1RFU1RfT1NfV0lORE9XUwogLy8gUmVjcmVhdGVzIHRoZSBw
aXBlIGFuZCBldmVudCBoYW5kbGVzIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMsCiAvLyBz
aWduYWxzIHRoZSBldmVudCwgYW5kIHJldHVybnMgYSBmaWxlIGRlc2NyaXB0b3Igd3JhcHBlZCBh
cm91bmQgdGhlIHBpcGUKIC8vIGhhbmRsZS4gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgaW4gdGhl
IGNoaWxkIHByb2Nlc3Mgb25seS4KIHN0YXRpYyBpbnQgR2V0U3RhdHVzRmlsZURlc2NyaXB0b3Io
dW5zaWduZWQgaW50IHBhcmVudF9wcm9jZXNzX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplX3Qgd3JpdGVfaGFuZGxlX2FzX3NpemVfdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGV2ZW50X2hhbmRsZV9hc19zaXplX3QpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgd3JpdGVfaGFuZGxlX2FzX3NpemVfdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgZXZlbnRfaGFuZGxlX2FzX3NpemVf
dCkgewogICBBdXRvSGFuZGxlIHBhcmVudF9wcm9jZXNzX2hhbmRsZSg6Ok9wZW5Qcm9jZXNzKFBS
T0NFU1NfRFVQX0hBTkRMRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBGQUxTRSwgIC8vIE5vbi1pbmhlcml0YWJsZS4KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRfcHJvY2Vzc19pZCkpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsICAv
LyBOb24taW5oZXJpdGFibGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYXJlbnRfcHJvY2Vzc19pZCkpOwogICBpZiAocGFyZW50X3Byb2Nlc3Nf
aGFuZGxlLkdldCgpID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7CiAgICAgRGVhdGhUZXN0QWJv
cnQoIlVuYWJsZSB0byBvcGVuIHBhcmVudCBwcm9jZXNzICIgKwogICAgICAgICAgICAgICAgICAg
IFN0cmVhbWFibGVUb1N0cmluZyhwYXJlbnRfcHJvY2Vzc19pZCkpOwpAQCAtMTUxNCw3ICsxNTQw
LDggQEAgc3RhdGljIGludCBHZXRTdGF0dXNGaWxlRGVzY3JpcHRvcih1bnNpZ25lZCBpbnQgcGFy
ZW50X3Byb2Nlc3NfaWQsCiAKICAgR1RFU1RfQ0hFQ0tfKHNpemVvZihIQU5ETEUpIDw9IHNpemVv
ZihzaXplX3QpKTsKIAotICBjb25zdCBIQU5ETEUgd3JpdGVfaGFuZGxlID0gcmVpbnRlcnByZXRf
Y2FzdDxIQU5ETEU+KHdyaXRlX2hhbmRsZV9hc19zaXplX3QpOworICBjb25zdCBIQU5ETEUgd3Jp
dGVfaGFuZGxlID0KKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8SEFORExFPih3cml0ZV9oYW5kbGVf
YXNfc2l6ZV90KTsKICAgSEFORExFIGR1cF93cml0ZV9oYW5kbGU7CiAKICAgLy8gVGhlIG5ld2x5
IGluaXRpYWxpemVkIGhhbmRsZSBpcyBhY2Nlc3NpYmxlIG9ubHkgaW4gdGhlIHBhcmVudApAQCAt
MTUzNiw3ICsxNTYzLDkgQEAgc3RhdGljIGludCBHZXRTdGF0dXNGaWxlRGVzY3JpcHRvcih1bnNp
Z25lZCBpbnQgcGFyZW50X3Byb2Nlc3NfaWQsCiAgIEhBTkRMRSBkdXBfZXZlbnRfaGFuZGxlOwog
CiAgIGlmICghOjpEdXBsaWNhdGVIYW5kbGUocGFyZW50X3Byb2Nlc3NfaGFuZGxlLkdldCgpLCBl
dmVudF9oYW5kbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjpHZXRDdXJyZW50UHJvY2Vz
cygpLCAmZHVwX2V2ZW50X2hhbmRsZSwgMHgwLCBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICA6OkdldEN1cnJlbnRQcm9jZXNzKCksICZkdXBfZXZlbnRfaGFuZGxlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBEVVBMSUNBVEVfU0FNRV9BQ0NFU1MpKSB7CiAgICAgRGVh
dGhUZXN0QWJvcnQoIlVuYWJsZSB0byBkdXBsaWNhdGUgdGhlIGV2ZW50IGhhbmRsZSAiICsKICAg
ICAgICAgICAgICAgICAgICBTdHJlYW1hYmxlVG9TdHJpbmcoZXZlbnRfaGFuZGxlX2FzX3NpemVf
dCkgKwpAQCAtMTU1OCw1NyArMTU4Nyw2MSBAQCBzdGF0aWMgaW50IEdldFN0YXR1c0ZpbGVEZXNj
cmlwdG9yKHVuc2lnbmVkIGludCBwYXJlbnRfcHJvY2Vzc19pZCwKIAogICByZXR1cm4gd3JpdGVf
ZmQ7CiB9Ci0jZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1MKKyMgZW5kaWYgIC8vIEdURVNUX09T
X1dJTkRPV1MKIAogLy8gUmV0dXJucyBhIG5ld2x5IGNyZWF0ZWQgSW50ZXJuYWxSdW5EZWF0aFRl
c3RGbGFnIG9iamVjdCB3aXRoIGZpZWxkcwogLy8gaW5pdGlhbGl6ZWQgZnJvbSB0aGUgR1RFU1Rf
RkxBRyhpbnRlcm5hbF9ydW5fZGVhdGhfdGVzdCkgZmxhZyBpZgogLy8gdGhlIGZsYWcgaXMgc3Bl
Y2lmaWVkOyBvdGhlcndpc2UgcmV0dXJucyBOVUxMLgogSW50ZXJuYWxSdW5EZWF0aFRlc3RGbGFn
KiBQYXJzZUludGVybmFsUnVuRGVhdGhUZXN0RmxhZygpIHsKLSAgaWYgKEdURVNUX0ZMQUdfR0VU
KGludGVybmFsX3J1bl9kZWF0aF90ZXN0KSA9PSAiIikgcmV0dXJuIG51bGxwdHI7CisgIGlmIChH
VEVTVF9GTEFHKGludGVybmFsX3J1bl9kZWF0aF90ZXN0KSA9PSAiIikgcmV0dXJuIG51bGxwdHI7
CiAKICAgLy8gR1RFU1RfSEFTX0RFQVRIX1RFU1QgaW1wbGllcyB0aGF0IHdlIGhhdmUgOjpzdGQ6
OnN0cmluZywgc28gd2UKICAgLy8gY2FuIHVzZSBpdCBoZXJlLgogICBpbnQgbGluZSA9IC0xOwog
ICBpbnQgaW5kZXggPSAtMTsKICAgOjpzdGQ6OnZlY3RvcjwgOjpzdGQ6OnN0cmluZz4gZmllbGRz
OwotICBTcGxpdFN0cmluZyhHVEVTVF9GTEFHX0dFVChpbnRlcm5hbF9ydW5fZGVhdGhfdGVzdCks
ICd8JywgJmZpZWxkcyk7CisgIFNwbGl0U3RyaW5nKEdURVNUX0ZMQUcoaW50ZXJuYWxfcnVuX2Rl
YXRoX3Rlc3QpLmNfc3RyKCksICd8JywgJmZpZWxkcyk7CiAgIGludCB3cml0ZV9mZCA9IC0xOwog
Ci0jaWYgR1RFU1RfT1NfV0lORE9XUworIyBpZiBHVEVTVF9PU19XSU5ET1dTCiAKICAgdW5zaWdu
ZWQgaW50IHBhcmVudF9wcm9jZXNzX2lkID0gMDsKICAgc2l6ZV90IHdyaXRlX2hhbmRsZV9hc19z
aXplX3QgPSAwOwogICBzaXplX3QgZXZlbnRfaGFuZGxlX2FzX3NpemVfdCA9IDA7CiAKLSAgaWYg
KGZpZWxkcy5zaXplKCkgIT0gNiB8fCAhUGFyc2VOYXR1cmFsTnVtYmVyKGZpZWxkc1sxXSwgJmxp
bmUpIHx8Ci0gICAgICAhUGFyc2VOYXR1cmFsTnVtYmVyKGZpZWxkc1syXSwgJmluZGV4KSB8fAot
ICAgICAgIVBhcnNlTmF0dXJhbE51bWJlcihmaWVsZHNbM10sICZwYXJlbnRfcHJvY2Vzc19pZCkg
fHwKLSAgICAgICFQYXJzZU5hdHVyYWxOdW1iZXIoZmllbGRzWzRdLCAmd3JpdGVfaGFuZGxlX2Fz
X3NpemVfdCkgfHwKLSAgICAgICFQYXJzZU5hdHVyYWxOdW1iZXIoZmllbGRzWzVdLCAmZXZlbnRf
aGFuZGxlX2FzX3NpemVfdCkpIHsKKyAgaWYgKGZpZWxkcy5zaXplKCkgIT0gNgorICAgICAgfHwg
IVBhcnNlTmF0dXJhbE51bWJlcihmaWVsZHNbMV0sICZsaW5lKQorICAgICAgfHwgIVBhcnNlTmF0
dXJhbE51bWJlcihmaWVsZHNbMl0sICZpbmRleCkKKyAgICAgIHx8ICFQYXJzZU5hdHVyYWxOdW1i
ZXIoZmllbGRzWzNdLCAmcGFyZW50X3Byb2Nlc3NfaWQpCisgICAgICB8fCAhUGFyc2VOYXR1cmFs
TnVtYmVyKGZpZWxkc1s0XSwgJndyaXRlX2hhbmRsZV9hc19zaXplX3QpCisgICAgICB8fCAhUGFy
c2VOYXR1cmFsTnVtYmVyKGZpZWxkc1s1XSwgJmV2ZW50X2hhbmRsZV9hc19zaXplX3QpKSB7CiAg
ICAgRGVhdGhUZXN0QWJvcnQoIkJhZCAtLWd0ZXN0X2ludGVybmFsX3J1bl9kZWF0aF90ZXN0IGZs
YWc6ICIgKwotICAgICAgICAgICAgICAgICAgIEdURVNUX0ZMQUdfR0VUKGludGVybmFsX3J1bl9k
ZWF0aF90ZXN0KSk7CisgICAgICAgICAgICAgICAgICAgR1RFU1RfRkxBRyhpbnRlcm5hbF9ydW5f
ZGVhdGhfdGVzdCkpOwogICB9Ci0gIHdyaXRlX2ZkID0gR2V0U3RhdHVzRmlsZURlc2NyaXB0b3Io
cGFyZW50X3Byb2Nlc3NfaWQsIHdyaXRlX2hhbmRsZV9hc19zaXplX3QsCisgIHdyaXRlX2ZkID0g
R2V0U3RhdHVzRmlsZURlc2NyaXB0b3IocGFyZW50X3Byb2Nlc3NfaWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVfaGFuZGxlX2FzX3NpemVfdCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudF9oYW5kbGVfYXNfc2l6ZV90KTsKIAot
I2VsaWYgR1RFU1RfT1NfRlVDSFNJQQorIyBlbGlmIEdURVNUX09TX0ZVQ0hTSUEKIAotICBpZiAo
ZmllbGRzLnNpemUoKSAhPSAzIHx8ICFQYXJzZU5hdHVyYWxOdW1iZXIoZmllbGRzWzFdLCAmbGlu
ZSkgfHwKLSAgICAgICFQYXJzZU5hdHVyYWxOdW1iZXIoZmllbGRzWzJdLCAmaW5kZXgpKSB7Ci0g
ICAgRGVhdGhUZXN0QWJvcnQoIkJhZCAtLWd0ZXN0X2ludGVybmFsX3J1bl9kZWF0aF90ZXN0IGZs
YWc6ICIgKwotICAgICAgICAgICAgICAgICAgIEdURVNUX0ZMQUdfR0VUKGludGVybmFsX3J1bl9k
ZWF0aF90ZXN0KSk7CisgIGlmIChmaWVsZHMuc2l6ZSgpICE9IDMKKyAgICAgIHx8ICFQYXJzZU5h
dHVyYWxOdW1iZXIoZmllbGRzWzFdLCAmbGluZSkKKyAgICAgIHx8ICFQYXJzZU5hdHVyYWxOdW1i
ZXIoZmllbGRzWzJdLCAmaW5kZXgpKSB7CisgICAgRGVhdGhUZXN0QWJvcnQoIkJhZCAtLWd0ZXN0
X2ludGVybmFsX3J1bl9kZWF0aF90ZXN0IGZsYWc6ICIKKyAgICAgICAgKyBHVEVTVF9GTEFHKGlu
dGVybmFsX3J1bl9kZWF0aF90ZXN0KSk7CiAgIH0KIAotI2Vsc2UKKyMgZWxzZQogCi0gIGlmIChm
aWVsZHMuc2l6ZSgpICE9IDQgfHwgIVBhcnNlTmF0dXJhbE51bWJlcihmaWVsZHNbMV0sICZsaW5l
KSB8fAotICAgICAgIVBhcnNlTmF0dXJhbE51bWJlcihmaWVsZHNbMl0sICZpbmRleCkgfHwKLSAg
ICAgICFQYXJzZU5hdHVyYWxOdW1iZXIoZmllbGRzWzNdLCAmd3JpdGVfZmQpKSB7Ci0gICAgRGVh
dGhUZXN0QWJvcnQoIkJhZCAtLWd0ZXN0X2ludGVybmFsX3J1bl9kZWF0aF90ZXN0IGZsYWc6ICIg
KwotICAgICAgICAgICAgICAgICAgIEdURVNUX0ZMQUdfR0VUKGludGVybmFsX3J1bl9kZWF0aF90
ZXN0KSk7CisgIGlmIChmaWVsZHMuc2l6ZSgpICE9IDQKKyAgICAgIHx8ICFQYXJzZU5hdHVyYWxO
dW1iZXIoZmllbGRzWzFdLCAmbGluZSkKKyAgICAgIHx8ICFQYXJzZU5hdHVyYWxOdW1iZXIoZmll
bGRzWzJdLCAmaW5kZXgpCisgICAgICB8fCAhUGFyc2VOYXR1cmFsTnVtYmVyKGZpZWxkc1szXSwg
JndyaXRlX2ZkKSkgeworICAgIERlYXRoVGVzdEFib3J0KCJCYWQgLS1ndGVzdF9pbnRlcm5hbF9y
dW5fZGVhdGhfdGVzdCBmbGFnOiAiCisgICAgICAgICsgR1RFU1RfRkxBRyhpbnRlcm5hbF9ydW5f
ZGVhdGhfdGVzdCkpOwogICB9CiAKLSNlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XUworIyBlbmRp
ZiAgLy8gR1RFU1RfT1NfV0lORE9XUwogCiAgIHJldHVybiBuZXcgSW50ZXJuYWxSdW5EZWF0aFRl
c3RGbGFnKGZpZWxkc1swXSwgbGluZSwgaW5kZXgsIHdyaXRlX2ZkKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvc3JjL2d0ZXN0LWZpbGVwYXRo
LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtZmls
ZXBhdGguY2MKaW5kZXggZjZlZTkwY2RiN2M3Li45YWFkMTJmYmQxMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvc3JjL2d0ZXN0LWZpbGVwYXRoLmNj
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvc3JjL2d0ZXN0LWZp
bGVwYXRoLmNjCkBAIC0zMCwzMSArMzAsMjkgQEAKICNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9n
dGVzdC1maWxlcGF0aC5oIgogCiAjaW5jbHVkZSA8c3RkbGliLmg+Ci0KLSNpbmNsdWRlICJndGVz
dC9ndGVzdC1tZXNzYWdlLmgiCiAjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcG9ydC5o
IgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LW1lc3NhZ2UuaCIKIAogI2lmIEdURVNUX09TX1dJTkRP
V1NfTU9CSUxFCi0jaW5jbHVkZSA8d2luZG93cy5oPgorIyBpbmNsdWRlIDx3aW5kb3dzLmg+CiAj
ZWxpZiBHVEVTVF9PU19XSU5ET1dTCi0jaW5jbHVkZSA8ZGlyZWN0Lmg+Ci0jaW5jbHVkZSA8aW8u
aD4KKyMgaW5jbHVkZSA8ZGlyZWN0Lmg+CisjIGluY2x1ZGUgPGlvLmg+CiAjZWxzZQotI2luY2x1
ZGUgPGxpbWl0cy5oPgotCi0jaW5jbHVkZSA8Y2xpbWl0cz4gIC8vIFNvbWUgTGludXggZGlzdHJp
YnV0aW9ucyBkZWZpbmUgUEFUSF9NQVggaGVyZS4KLSNlbmRpZiAgICAgICAgICAgICAgLy8gR1RF
U1RfT1NfV0lORE9XU19NT0JJTEUKKyMgaW5jbHVkZSA8bGltaXRzLmg+CisjIGluY2x1ZGUgPGNs
aW1pdHM+ICAvLyBTb21lIExpbnV4IGRpc3RyaWJ1dGlvbnMgZGVmaW5lIFBBVEhfTUFYIGhlcmUu
CisjZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1NfTU9CSUxFCiAKICNpbmNsdWRlICJndGVzdC9p
bnRlcm5hbC9ndGVzdC1zdHJpbmcuaCIKIAogI2lmIEdURVNUX09TX1dJTkRPV1MKLSNkZWZpbmUg
R1RFU1RfUEFUSF9NQVhfIF9NQVhfUEFUSAorIyBkZWZpbmUgR1RFU1RfUEFUSF9NQVhfIF9NQVhf
UEFUSAogI2VsaWYgZGVmaW5lZChQQVRIX01BWCkKLSNkZWZpbmUgR1RFU1RfUEFUSF9NQVhfIFBB
VEhfTUFYCisjIGRlZmluZSBHVEVTVF9QQVRIX01BWF8gUEFUSF9NQVgKICNlbGlmIGRlZmluZWQo
X1hPUEVOX1BBVEhfTUFYKQotI2RlZmluZSBHVEVTVF9QQVRIX01BWF8gX1hPUEVOX1BBVEhfTUFY
CisjIGRlZmluZSBHVEVTVF9QQVRIX01BWF8gX1hPUEVOX1BBVEhfTUFYCiAjZWxzZQotI2RlZmlu
ZSBHVEVTVF9QQVRIX01BWF8gX1BPU0lYX1BBVEhfTUFYCisjIGRlZmluZSBHVEVTVF9QQVRIX01B
WF8gX1BPU0lYX1BBVEhfTUFYCiAjZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1MKIAogbmFtZXNw
YWNlIHRlc3RpbmcgewpAQCAtNjgsMTYgKzY2LDE2IEBAIG5hbWVzcGFjZSBpbnRlcm5hbCB7CiBj
b25zdCBjaGFyIGtQYXRoU2VwYXJhdG9yID0gJ1xcJzsKIGNvbnN0IGNoYXIga0FsdGVybmF0ZVBh
dGhTZXBhcmF0b3IgPSAnLyc7CiBjb25zdCBjaGFyIGtBbHRlcm5hdGVQYXRoU2VwYXJhdG9yU3Ry
aW5nW10gPSAiLyI7Ci0jaWYgR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKKyMgaWYgR1RFU1RfT1Nf
V0lORE9XU19NT0JJTEUKIC8vIFdpbmRvd3MgQ0UgZG9lc24ndCBoYXZlIGEgY3VycmVudCBkaXJl
Y3RvcnkuIFlvdSBzaG91bGQgbm90IHVzZQogLy8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGluIHRl
c3RzIG9uIFdpbmRvd3MgQ0UsIGJ1dCB0aGlzIGF0IGxlYXN0CiAvLyBwcm92aWRlcyBhIHJlYXNv
bmFibGUgZmFsbGJhY2suCiBjb25zdCBjaGFyIGtDdXJyZW50RGlyZWN0b3J5U3RyaW5nW10gPSAi
XFwiOwogLy8gV2luZG93cyBDRSBkb2Vzbid0IGRlZmluZSBJTlZBTElEX0ZJTEVfQVRUUklCVVRF
UwogY29uc3QgRFdPUkQga0ludmFsaWRGaWxlQXR0cmlidXRlcyA9IDB4ZmZmZmZmZmY7Ci0jZWxz
ZQorIyBlbHNlCiBjb25zdCBjaGFyIGtDdXJyZW50RGlyZWN0b3J5U3RyaW5nW10gPSAiLlxcIjsK
LSNlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKKyMgZW5kaWYgIC8vIEdURVNUX09T
X1dJTkRPV1NfTU9CSUxFCiAjZWxzZQogY29uc3QgY2hhciBrUGF0aFNlcGFyYXRvciA9ICcvJzsK
IGNvbnN0IGNoYXIga0N1cnJlbnREaXJlY3RvcnlTdHJpbmdbXSA9ICIuLyI7CkBAIC05NCwyNCAr
OTIsMjMgQEAgc3RhdGljIGJvb2wgSXNQYXRoU2VwYXJhdG9yKGNoYXIgYykgewogCiAvLyBSZXR1
cm5zIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LCBvciAiIiBpZiB1bnN1Y2Nlc3NmdWwu
CiBGaWxlUGF0aCBGaWxlUGF0aDo6R2V0Q3VycmVudERpcigpIHsKLSNpZiBHVEVTVF9PU19XSU5E
T1dTX01PQklMRSB8fCBHVEVTVF9PU19XSU5ET1dTX1BIT05FIHx8ICAgICAgICAgXAotICAgIEdU
RVNUX09TX1dJTkRPV1NfUlQgfHwgR1RFU1RfT1NfRVNQODI2NiB8fCBHVEVTVF9PU19FU1AzMiB8
fCBcCi0gICAgR1RFU1RfT1NfWFRFTlNBCisjaWYgR1RFU1RfT1NfV0lORE9XU19NT0JJTEUgfHwg
R1RFU1RfT1NfV0lORE9XU19QSE9ORSB8fCBcCisgICAgR1RFU1RfT1NfV0lORE9XU19SVCB8fCBH
VEVTVF9PU19FU1A4MjY2IHx8IEdURVNUX09TX0VTUDMyCiAgIC8vIFRoZXNlIHBsYXRmb3JtcyBk
byBub3QgaGF2ZSBhIGN1cnJlbnQgZGlyZWN0b3J5LCBzbyB3ZSBqdXN0IHJldHVybgogICAvLyBz
b21ldGhpbmcgcmVhc29uYWJsZS4KICAgcmV0dXJuIEZpbGVQYXRoKGtDdXJyZW50RGlyZWN0b3J5
U3RyaW5nKTsKICNlbGlmIEdURVNUX09TX1dJTkRPV1MKLSAgY2hhciBjd2RbR1RFU1RfUEFUSF9N
QVhfICsgMV0gPSB7J1wwJ307CisgIGNoYXIgY3dkW0dURVNUX1BBVEhfTUFYXyArIDFdID0geyAn
XDAnIH07CiAgIHJldHVybiBGaWxlUGF0aChfZ2V0Y3dkKGN3ZCwgc2l6ZW9mKGN3ZCkpID09IG51
bGxwdHIgPyAiIiA6IGN3ZCk7CiAjZWxzZQotICBjaGFyIGN3ZFtHVEVTVF9QQVRIX01BWF8gKyAx
XSA9IHsnXDAnfTsKKyAgY2hhciBjd2RbR1RFU1RfUEFUSF9NQVhfICsgMV0gPSB7ICdcMCcgfTsK
ICAgY2hhciogcmVzdWx0ID0gZ2V0Y3dkKGN3ZCwgc2l6ZW9mKGN3ZCkpOwotI2lmIEdURVNUX09T
X05BQ0wKKyMgaWYgR1RFU1RfT1NfTkFDTAogICAvLyBnZXRjd2Qgd2lsbCBsaWtlbHkgZmFpbCBp
biBOYUNsIGR1ZSB0byB0aGUgc2FuZGJveCwgc28gcmV0dXJuIHNvbWV0aGluZwogICAvLyByZWFz
b25hYmxlLiBUaGUgdXNlciBtYXkgaGF2ZSBwcm92aWRlZCBhIHNoaW0gaW1wbGVtZW50YXRpb24g
Zm9yIGdldGN3ZCwKICAgLy8gaG93ZXZlciwgc28gZmFsbGJhY2sgb25seSB3aGVuIGZhaWx1cmUg
aXMgZGV0ZWN0ZWQuCiAgIHJldHVybiBGaWxlUGF0aChyZXN1bHQgPT0gbnVsbHB0ciA/IGtDdXJy
ZW50RGlyZWN0b3J5U3RyaW5nIDogY3dkKTsKLSNlbmRpZiAgLy8gR1RFU1RfT1NfTkFDTAorIyBl
bmRpZiAgLy8gR1RFU1RfT1NfTkFDTAogICByZXR1cm4gRmlsZVBhdGgocmVzdWx0ID09IG51bGxw
dHIgPyAiIiA6IGN3ZCk7CiAjZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1NfTU9CSUxFCiB9CkBA
IC0xMjMsOCArMTIwLDggQEAgRmlsZVBhdGggRmlsZVBhdGg6OkdldEN1cnJlbnREaXIoKSB7CiBG
aWxlUGF0aCBGaWxlUGF0aDo6UmVtb3ZlRXh0ZW5zaW9uKGNvbnN0IGNoYXIqIGV4dGVuc2lvbikg
Y29uc3QgewogICBjb25zdCBzdGQ6OnN0cmluZyBkb3RfZXh0ZW5zaW9uID0gc3RkOjpzdHJpbmco
Ii4iKSArIGV4dGVuc2lvbjsKICAgaWYgKFN0cmluZzo6RW5kc1dpdGhDYXNlSW5zZW5zaXRpdmUo
cGF0aG5hbWVfLCBkb3RfZXh0ZW5zaW9uKSkgewotICAgIHJldHVybiBGaWxlUGF0aCgKLSAgICAg
ICAgcGF0aG5hbWVfLnN1YnN0cigwLCBwYXRobmFtZV8ubGVuZ3RoKCkgLSBkb3RfZXh0ZW5zaW9u
Lmxlbmd0aCgpKSk7CisgICAgcmV0dXJuIEZpbGVQYXRoKHBhdGhuYW1lXy5zdWJzdHIoCisgICAg
ICAgIDAsIHBhdGhuYW1lXy5sZW5ndGgoKSAtIGRvdF9leHRlbnNpb24ubGVuZ3RoKCkpKTsKICAg
fQogICByZXR1cm4gKnRoaXM7CiB9CkBAIC0xODAsMTQgKzE3NywxNSBAQCBGaWxlUGF0aCBGaWxl
UGF0aDo6UmVtb3ZlRmlsZU5hbWUoKSBjb25zdCB7CiAvLyB0aGFuIHplcm8gKGUuZy4sIDEyKSwg
cmV0dXJucyAiZGlyL3Rlc3RfMTIueG1sIi4KIC8vIE9uIFdpbmRvd3MgcGxhdGZvcm0sIHVzZXMg
XCBhcyB0aGUgc2VwYXJhdG9yIHJhdGhlciB0aGFuIC8uCiBGaWxlUGF0aCBGaWxlUGF0aDo6TWFr
ZUZpbGVOYW1lKGNvbnN0IEZpbGVQYXRoJiBkaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEZpbGVQYXRoJiBiYXNlX25hbWUsIGludCBudW1iZXIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZpbGVQYXRoJiBiYXNlX25hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1iZXIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGV4dGVuc2lvbikgewogICBzdGQ6OnN0cmlu
ZyBmaWxlOwogICBpZiAobnVtYmVyID09IDApIHsKICAgICBmaWxlID0gYmFzZV9uYW1lLnN0cmlu
ZygpICsgIi4iICsgZXh0ZW5zaW9uOwogICB9IGVsc2UgewotICAgIGZpbGUgPQotICAgICAgICBi
YXNlX25hbWUuc3RyaW5nKCkgKyAiXyIgKyBTdHJlYW1hYmxlVG9TdHJpbmcobnVtYmVyKSArICIu
IiArIGV4dGVuc2lvbjsKKyAgICBmaWxlID0gYmFzZV9uYW1lLnN0cmluZygpICsgIl8iICsgU3Ry
ZWFtYWJsZVRvU3RyaW5nKG51bWJlcikKKyAgICAgICAgKyAiLiIgKyBleHRlbnNpb247CiAgIH0K
ICAgcmV0dXJuIENvbmNhdFBhdGhzKGRpcmVjdG9yeSwgRmlsZVBhdGgoZmlsZSkpOwogfQpAQCAt
MTk2LDcgKzE5NCw4IEBAIEZpbGVQYXRoIEZpbGVQYXRoOjpNYWtlRmlsZU5hbWUoY29uc3QgRmls
ZVBhdGgmIGRpcmVjdG9yeSwKIC8vIE9uIFdpbmRvd3MsIHVzZXMgXCBhcyB0aGUgc2VwYXJhdG9y
IHJhdGhlciB0aGFuIC8uCiBGaWxlUGF0aCBGaWxlUGF0aDo6Q29uY2F0UGF0aHMoY29uc3QgRmls
ZVBhdGgmIGRpcmVjdG9yeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBG
aWxlUGF0aCYgcmVsYXRpdmVfcGF0aCkgewotICBpZiAoZGlyZWN0b3J5LklzRW1wdHkoKSkgcmV0
dXJuIHJlbGF0aXZlX3BhdGg7CisgIGlmIChkaXJlY3RvcnkuSXNFbXB0eSgpKQorICAgIHJldHVy
biByZWxhdGl2ZV9wYXRoOwogICBjb25zdCBGaWxlUGF0aCBkaXIoZGlyZWN0b3J5LlJlbW92ZVRy
YWlsaW5nUGF0aFNlcGFyYXRvcigpKTsKICAgcmV0dXJuIEZpbGVQYXRoKGRpci5zdHJpbmcoKSAr
IGtQYXRoU2VwYXJhdG9yICsgcmVsYXRpdmVfcGF0aC5zdHJpbmcoKSk7CiB9CkBAIC0yMDcsMTAg
KzIwNiwxMCBAQCBib29sIEZpbGVQYXRoOjpGaWxlT3JEaXJlY3RvcnlFeGlzdHMoKSBjb25zdCB7
CiAjaWYgR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKICAgTFBDV1NUUiB1bmljb2RlID0gU3RyaW5n
OjpBbnNpVG9VdGYxNihwYXRobmFtZV8uY19zdHIoKSk7CiAgIGNvbnN0IERXT1JEIGF0dHJpYnV0
ZXMgPSBHZXRGaWxlQXR0cmlidXRlcyh1bmljb2RlKTsKLSAgZGVsZXRlW10gdW5pY29kZTsKKyAg
ZGVsZXRlIFtdIHVuaWNvZGU7CiAgIHJldHVybiBhdHRyaWJ1dGVzICE9IGtJbnZhbGlkRmlsZUF0
dHJpYnV0ZXM7CiAjZWxzZQotICBwb3NpeDo6U3RhdFN0cnVjdCBmaWxlX3N0YXR7fTsKKyAgcG9z
aXg6OlN0YXRTdHJ1Y3QgZmlsZV9zdGF0OwogICByZXR1cm4gcG9zaXg6OlN0YXQocGF0aG5hbWVf
LmNfc3RyKCksICZmaWxlX3N0YXQpID09IDA7CiAjZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1Nf
TU9CSUxFCiB9CkBAIC0yMjIsOCArMjIxLDggQEAgYm9vbCBGaWxlUGF0aDo6RGlyZWN0b3J5RXhp
c3RzKCkgY29uc3QgewogI2lmIEdURVNUX09TX1dJTkRPV1MKICAgLy8gRG9uJ3Qgc3RyaXAgb2Zm
IHRyYWlsaW5nIHNlcGFyYXRvciBpZiBwYXRoIGlzIGEgcm9vdCBkaXJlY3Rvcnkgb24KICAgLy8g
V2luZG93cyAobGlrZSAiQzpcXCIpLgotICBjb25zdCBGaWxlUGF0aCYgcGF0aChJc1Jvb3REaXJl
Y3RvcnkoKSA/ICp0aGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogUmVtb3ZlVHJhaWxpbmdQYXRoU2VwYXJhdG9yKCkpOworICBjb25zdCBGaWxlUGF0aCYgcGF0
aChJc1Jvb3REaXJlY3RvcnkoKSA/ICp0aGlzIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBSZW1vdmVUcmFpbGluZ1BhdGhTZXBhcmF0b3IoKSk7CiAjZWxzZQog
ICBjb25zdCBGaWxlUGF0aCYgcGF0aCgqdGhpcyk7CiAjZW5kaWYKQEAgLTIzMSwxNSArMjMwLDE1
IEBAIGJvb2wgRmlsZVBhdGg6OkRpcmVjdG9yeUV4aXN0cygpIGNvbnN0IHsKICNpZiBHVEVTVF9P
U19XSU5ET1dTX01PQklMRQogICBMUENXU1RSIHVuaWNvZGUgPSBTdHJpbmc6OkFuc2lUb1V0ZjE2
KHBhdGguY19zdHIoKSk7CiAgIGNvbnN0IERXT1JEIGF0dHJpYnV0ZXMgPSBHZXRGaWxlQXR0cmli
dXRlcyh1bmljb2RlKTsKLSAgZGVsZXRlW10gdW5pY29kZTsKKyAgZGVsZXRlIFtdIHVuaWNvZGU7
CiAgIGlmICgoYXR0cmlidXRlcyAhPSBrSW52YWxpZEZpbGVBdHRyaWJ1dGVzKSAmJgogICAgICAg
KGF0dHJpYnV0ZXMgJiBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpKSB7CiAgICAgcmVzdWx0ID0g
dHJ1ZTsKICAgfQogI2Vsc2UKLSAgcG9zaXg6OlN0YXRTdHJ1Y3QgZmlsZV9zdGF0e307Ci0gIHJl
c3VsdCA9Ci0gICAgICBwb3NpeDo6U3RhdChwYXRoLmNfc3RyKCksICZmaWxlX3N0YXQpID09IDAg
JiYgcG9zaXg6OklzRGlyKGZpbGVfc3RhdCk7CisgIHBvc2l4OjpTdGF0U3RydWN0IGZpbGVfc3Rh
dDsKKyAgcmVzdWx0ID0gcG9zaXg6OlN0YXQocGF0aC5jX3N0cigpLCAmZmlsZV9zdGF0KSA9PSAw
ICYmCisgICAgICBwb3NpeDo6SXNEaXIoZmlsZV9zdGF0KTsKICNlbmRpZiAgLy8gR1RFU1RfT1Nf
V0lORE9XU19NT0JJTEUKIAogICByZXR1cm4gcmVzdWx0OwpAQCAtMjYwLDkgKzI1OSwxMCBAQCBi
b29sIEZpbGVQYXRoOjpJc0Fic29sdXRlUGF0aCgpIGNvbnN0IHsKICAgY29uc3QgY2hhciogY29u
c3QgbmFtZSA9IHBhdGhuYW1lXy5jX3N0cigpOwogI2lmIEdURVNUX09TX1dJTkRPV1MKICAgcmV0
dXJuIHBhdGhuYW1lXy5sZW5ndGgoKSA+PSAzICYmCi0gICAgICAgICAoKG5hbWVbMF0gPj0gJ2En
ICYmIG5hbWVbMF0gPD0gJ3onKSB8fAotICAgICAgICAgIChuYW1lWzBdID49ICdBJyAmJiBuYW1l
WzBdIDw9ICdaJykpICYmCi0gICAgICAgICBuYW1lWzFdID09ICc6JyAmJiBJc1BhdGhTZXBhcmF0
b3IobmFtZVsyXSk7CisgICAgICgobmFtZVswXSA+PSAnYScgJiYgbmFtZVswXSA8PSAneicpIHx8
CisgICAgICAobmFtZVswXSA+PSAnQScgJiYgbmFtZVswXSA8PSAnWicpKSAmJgorICAgICBuYW1l
WzFdID09ICc6JyAmJgorICAgICBJc1BhdGhTZXBhcmF0b3IobmFtZVsyXSk7CiAjZWxzZQogICBy
ZXR1cm4gSXNQYXRoU2VwYXJhdG9yKG5hbWVbMF0pOwogI2VuZGlmCkBAIC0zMjAsMTAgKzMyMCwx
MCBAQCBib29sIEZpbGVQYXRoOjpDcmVhdGVGb2xkZXIoKSBjb25zdCB7CiAgIEZpbGVQYXRoIHJl
bW92ZWRfc2VwKHRoaXMtPlJlbW92ZVRyYWlsaW5nUGF0aFNlcGFyYXRvcigpKTsKICAgTFBDV1NU
UiB1bmljb2RlID0gU3RyaW5nOjpBbnNpVG9VdGYxNihyZW1vdmVkX3NlcC5jX3N0cigpKTsKICAg
aW50IHJlc3VsdCA9IENyZWF0ZURpcmVjdG9yeSh1bmljb2RlLCBudWxscHRyKSA/IDAgOiAtMTsK
LSAgZGVsZXRlW10gdW5pY29kZTsKKyAgZGVsZXRlIFtdIHVuaWNvZGU7CiAjZWxpZiBHVEVTVF9P
U19XSU5ET1dTCiAgIGludCByZXN1bHQgPSBfbWtkaXIocGF0aG5hbWVfLmNfc3RyKCkpOwotI2Vs
aWYgR1RFU1RfT1NfRVNQODI2NiB8fCBHVEVTVF9PU19YVEVOU0EKKyNlbGlmIEdURVNUX09TX0VT
UDgyNjYKICAgLy8gZG8gbm90aGluZwogICBpbnQgcmVzdWx0ID0gMDsKICNlbHNlCkBAIC0zNDAs
MjcgKzM0MCw0MiBAQCBib29sIEZpbGVQYXRoOjpDcmVhdGVGb2xkZXIoKSBjb25zdCB7CiAvLyBu
YW1lLCBvdGhlcndpc2UgcmV0dXJuIHRoZSBuYW1lIHN0cmluZyB1bm1vZGlmaWVkLgogLy8gT24g
V2luZG93cyBwbGF0Zm9ybSwgdXNlcyBcIGFzIHRoZSBzZXBhcmF0b3IsIG90aGVyIHBsYXRmb3Jt
cyB1c2UgLy4KIEZpbGVQYXRoIEZpbGVQYXRoOjpSZW1vdmVUcmFpbGluZ1BhdGhTZXBhcmF0b3Io
KSBjb25zdCB7Ci0gIHJldHVybiBJc0RpcmVjdG9yeSgpID8gRmlsZVBhdGgocGF0aG5hbWVfLnN1
YnN0cigwLCBwYXRobmFtZV8ubGVuZ3RoKCkgLSAxKSkKLSAgICAgICAgICAgICAgICAgICAgICAg
OiAqdGhpczsKKyAgcmV0dXJuIElzRGlyZWN0b3J5KCkKKyAgICAgID8gRmlsZVBhdGgocGF0aG5h
bWVfLnN1YnN0cigwLCBwYXRobmFtZV8ubGVuZ3RoKCkgLSAxKSkKKyAgICAgIDogKnRoaXM7CiB9
CiAKIC8vIFJlbW92ZXMgYW55IHJlZHVuZGFudCBzZXBhcmF0b3JzIHRoYXQgbWlnaHQgYmUgaW4g
dGhlIHBhdGhuYW1lLgogLy8gRm9yIGV4YW1wbGUsICJiYXIvLy9mb28iIGJlY29tZXMgImJhci9m
b28iLiBEb2VzIG5vdCBlbGltaW5hdGUgb3RoZXIKIC8vIHJlZHVuZGFuY2llcyB0aGF0IG1pZ2h0
IGJlIGluIGEgcGF0aG5hbWUgaW52b2x2aW5nICIuIiBvciAiLi4iLgogdm9pZCBGaWxlUGF0aDo6
Tm9ybWFsaXplKCkgewotICBhdXRvIG91dCA9IHBhdGhuYW1lXy5iZWdpbigpOwotCi0gIGZvciAo
Y29uc3QgY2hhciBjaGFyYWN0ZXIgOiBwYXRobmFtZV8pIHsKLSAgICBpZiAoIUlzUGF0aFNlcGFy
YXRvcihjaGFyYWN0ZXIpKSB7Ci0gICAgICAqKG91dCsrKSA9IGNoYXJhY3RlcjsKLSAgICB9IGVs
c2UgaWYgKG91dCA9PSBwYXRobmFtZV8uYmVnaW4oKSB8fCAqc3RkOjpwcmV2KG91dCkgIT0ga1Bh
dGhTZXBhcmF0b3IpIHsKLSAgICAgICoob3V0KyspID0ga1BhdGhTZXBhcmF0b3I7CisgIGlmIChw
YXRobmFtZV8uY19zdHIoKSA9PSBudWxscHRyKSB7CisgICAgcGF0aG5hbWVfID0gIiI7CisgICAg
cmV0dXJuOworICB9CisgIGNvbnN0IGNoYXIqIHNyYyA9IHBhdGhuYW1lXy5jX3N0cigpOworICBj
aGFyKiBjb25zdCBkZXN0ID0gbmV3IGNoYXJbcGF0aG5hbWVfLmxlbmd0aCgpICsgMV07CisgIGNo
YXIqIGRlc3RfcHRyID0gZGVzdDsKKyAgbWVtc2V0KGRlc3RfcHRyLCAwLCBwYXRobmFtZV8ubGVu
Z3RoKCkgKyAxKTsKKworICB3aGlsZSAoKnNyYyAhPSAnXDAnKSB7CisgICAgKmRlc3RfcHRyID0g
KnNyYzsKKyAgICBpZiAoIUlzUGF0aFNlcGFyYXRvcigqc3JjKSkgeworICAgICAgc3JjKys7CiAg
ICAgfSBlbHNlIHsKLSAgICAgIGNvbnRpbnVlOworI2lmIEdURVNUX0hBU19BTFRfUEFUSF9TRVBf
CisgICAgICBpZiAoKmRlc3RfcHRyID09IGtBbHRlcm5hdGVQYXRoU2VwYXJhdG9yKSB7CisgICAg
ICAgICpkZXN0X3B0ciA9IGtQYXRoU2VwYXJhdG9yOworICAgICAgfQorI2VuZGlmCisgICAgICB3
aGlsZSAoSXNQYXRoU2VwYXJhdG9yKCpzcmMpKQorICAgICAgICBzcmMrKzsKICAgICB9CisgICAg
ZGVzdF9wdHIrKzsKICAgfQotCi0gIHBhdGhuYW1lXy5lcmFzZShvdXQsIHBhdGhuYW1lXy5lbmQo
KSk7CisgICpkZXN0X3B0ciA9ICdcMCc7CisgIHBhdGhuYW1lXyA9IGRlc3Q7CisgIGRlbGV0ZVtd
IGRlc3Q7CiB9CiAKIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbApkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtaW50ZXJuYWwtaW5sLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1pbnRlcm5h
bC1pbmwuaAppbmRleCAwYjllOTI5YzY4OTkuLmU0MmZmNDc1Mzk5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtaW50ZXJuYWwtaW5s
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3Qt
aW50ZXJuYWwtaW5sLmgKQEAgLTMxLDExICszMSwxMSBAQAogLy8gVGhpcyBmaWxlIGNvbnRhaW5z
IHB1cmVseSBHb29nbGUgVGVzdCdzIGludGVybmFsIGltcGxlbWVudGF0aW9uLiAgUGxlYXNlCiAv
LyBETyBOT1QgI0lOQ0xVREUgSVQgSU4gQSBVU0VSIFBST0dSQU0uCiAKLSNpZm5kZWYgR09PR0xF
VEVTVF9TUkNfR1RFU1RfSU5URVJOQUxfSU5MX0hfCi0jZGVmaW5lIEdPT0dMRVRFU1RfU1JDX0dU
RVNUX0lOVEVSTkFMX0lOTF9IXworI2lmbmRlZiBHVEVTVF9TUkNfR1RFU1RfSU5URVJOQUxfSU5M
X0hfCisjZGVmaW5lIEdURVNUX1NSQ19HVEVTVF9JTlRFUk5BTF9JTkxfSF8KIAogI2lmbmRlZiBf
V0lOMzJfV0NFCi0jaW5jbHVkZSA8ZXJybm8uaD4KKyMgaW5jbHVkZSA8ZXJybm8uaD4KICNlbmRp
ZiAgLy8gIV9XSU4zMl9XQ0UKICNpbmNsdWRlIDxzdGRkZWYuaD4KICNpbmNsdWRlIDxzdGRsaWIu
aD4gIC8vIEZvciBzdHJ0b2xsL19zdHJ0b3VsNjQvbWFsbG9jL2ZyZWUuCkBAIC01MCwyMCArNTAs
MjIgQEAKICNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9ndGVzdC1wb3J0LmgiCiAKICNpZiBHVEVT
VF9DQU5fU1RSRUFNX1JFU1VMVFNfCi0jaW5jbHVkZSA8YXJwYS9pbmV0Lmg+ICAvLyBOT0xJTlQK
LSNpbmNsdWRlIDxuZXRkYi5oPiAgICAgIC8vIE5PTElOVAorIyBpbmNsdWRlIDxhcnBhL2luZXQu
aD4gIC8vIE5PTElOVAorIyBpbmNsdWRlIDxuZXRkYi5oPiAgLy8gTk9MSU5UCiAjZW5kaWYKIAog
I2lmIEdURVNUX09TX1dJTkRPV1MKLSNpbmNsdWRlIDx3aW5kb3dzLmg+ICAvLyBOT0xJTlQKLSNl
bmRpZiAgICAgICAgICAgICAgICAvLyBHVEVTVF9PU19XSU5ET1dTCisjIGluY2x1ZGUgPHdpbmRv
d3MuaD4gIC8vIE5PTElOVAorI2VuZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTCiAKLSNpbmNsdWRl
ICJndGVzdC9ndGVzdC1zcGkuaCIKICNpbmNsdWRlICJndGVzdC9ndGVzdC5oIgorI2luY2x1ZGUg
Imd0ZXN0L2d0ZXN0LXNwaS5oIgogCiBHVEVTVF9ESVNBQkxFX01TQ19XQVJOSU5HU19QVVNIXyg0
MjUxIFwKIC8qIGNsYXNzIEEgbmVlZHMgdG8gaGF2ZSBkbGwtaW50ZXJmYWNlIHRvIGJlIHVzZWQg
YnkgY2xpZW50cyBvZiBjbGFzcyBCICovKQogCituYW1lc3BhY2UgdGVzdGluZyB7CisKIC8vIERl
Y2xhcmVzIHRoZSBmbGFncy4KIC8vCiAvLyBXZSBkb24ndCB3YW50IHRoZSB1c2VycyB0byBtb2Rp
ZnkgdGhpcyBmbGFnIGluIHRoZSBjb2RlLCBidXQgd2FudApAQCAtNzEsMTMgKzczLDMwIEBAIEdU
RVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BVU0hfKDQyNTEgXAogLy8gZGVjbGFyZSBpdCBoZXJl
IGFzIG9wcG9zZWQgdG8gaW4gZ3Rlc3QuaC4KIEdURVNUX0RFQ0xBUkVfYm9vbF8oZGVhdGhfdGVz
dF91c2VfZm9yayk7CiAKLW5hbWVzcGFjZSB0ZXN0aW5nIHsKIG5hbWVzcGFjZSBpbnRlcm5hbCB7
CiAKIC8vIFRoZSB2YWx1ZSBvZiBHZXRUZXN0VHlwZUlkKCkgYXMgc2VlbiBmcm9tIHdpdGhpbiB0
aGUgR29vZ2xlIFRlc3QKIC8vIGxpYnJhcnkuICBUaGlzIGlzIHNvbGVseSBmb3IgdGVzdGluZyBH
ZXRUZXN0VHlwZUlkKCkuCiBHVEVTVF9BUElfIGV4dGVybiBjb25zdCBUeXBlSWQga1Rlc3RUeXBl
SWRJbkdvb2dsZVRlc3Q7CiAKKy8vIE5hbWVzIG9mIHRoZSBmbGFncyAobmVlZGVkIGZvciBwYXJz
aW5nIEdvb2dsZSBUZXN0IGZsYWdzKS4KK2NvbnN0IGNoYXIga0Fsc29SdW5EaXNhYmxlZFRlc3Rz
RmxhZ1tdID0gImFsc29fcnVuX2Rpc2FibGVkX3Rlc3RzIjsKK2NvbnN0IGNoYXIga0JyZWFrT25G
YWlsdXJlRmxhZ1tdID0gImJyZWFrX29uX2ZhaWx1cmUiOworY29uc3QgY2hhciBrQ2F0Y2hFeGNl
cHRpb25zRmxhZ1tdID0gImNhdGNoX2V4Y2VwdGlvbnMiOworY29uc3QgY2hhciBrQ29sb3JGbGFn
W10gPSAiY29sb3IiOworY29uc3QgY2hhciBrRmlsdGVyRmxhZ1tdID0gImZpbHRlciI7Citjb25z
dCBjaGFyIGtMaXN0VGVzdHNGbGFnW10gPSAibGlzdF90ZXN0cyI7Citjb25zdCBjaGFyIGtPdXRw
dXRGbGFnW10gPSAib3V0cHV0IjsKK2NvbnN0IGNoYXIga1ByaW50VGltZUZsYWdbXSA9ICJwcmlu
dF90aW1lIjsKK2NvbnN0IGNoYXIga1ByaW50VVRGOEZsYWdbXSA9ICJwcmludF91dGY4IjsKK2Nv
bnN0IGNoYXIga1JhbmRvbVNlZWRGbGFnW10gPSAicmFuZG9tX3NlZWQiOworY29uc3QgY2hhciBr
UmVwZWF0RmxhZ1tdID0gInJlcGVhdCI7Citjb25zdCBjaGFyIGtTaHVmZmxlRmxhZ1tdID0gInNo
dWZmbGUiOworY29uc3QgY2hhciBrU3RhY2tUcmFjZURlcHRoRmxhZ1tdID0gInN0YWNrX3RyYWNl
X2RlcHRoIjsKK2NvbnN0IGNoYXIga1N0cmVhbVJlc3VsdFRvRmxhZ1tdID0gInN0cmVhbV9yZXN1
bHRfdG8iOworY29uc3QgY2hhciBrVGhyb3dPbkZhaWx1cmVGbGFnW10gPSAidGhyb3dfb25fZmFp
bHVyZSI7Citjb25zdCBjaGFyIGtGbGFnZmlsZUZsYWdbXSA9ICJmbGFnZmlsZSI7CisKIC8vIEEg
dmFsaWQgcmFuZG9tIHNlZWQgbXVzdCBiZSBpbiBbMSwga01heFJhbmRvbVNlZWRdLgogY29uc3Qg
aW50IGtNYXhSYW5kb21TZWVkID0gOTk5OTk7CiAKQEAgLTEwNCwyMSArMTIzLDIxIEBAIEdURVNU
X0FQSV8gc3RkOjpzdHJpbmcgRm9ybWF0RXBvY2hUaW1lSW5NaWxsaXNBc0lzbzg2MDEoVGltZUlu
TWlsbGlzIG1zKTsKIC8vCiAvLyBPbiBzdWNjZXNzLCBzdG9yZXMgdGhlIHZhbHVlIG9mIHRoZSBm
bGFnIGluICp2YWx1ZSwgYW5kIHJldHVybnMKIC8vIHRydWUuICBPbiBmYWlsdXJlLCByZXR1cm5z
IGZhbHNlIHdpdGhvdXQgY2hhbmdpbmcgKnZhbHVlLgotR1RFU1RfQVBJXyBib29sIFBhcnNlRmxh
Zyhjb25zdCBjaGFyKiBzdHIsIGNvbnN0IGNoYXIqIGZsYWcsIGludDMyX3QqIHZhbHVlKTsKK0dU
RVNUX0FQSV8gYm9vbCBQYXJzZUludDMyRmxhZygKKyAgICBjb25zdCBjaGFyKiBzdHIsIGNvbnN0
IGNoYXIqIGZsYWcsIGludDMyX3QqIHZhbHVlKTsKIAogLy8gUmV0dXJucyBhIHJhbmRvbSBzZWVk
IGluIHJhbmdlIFsxLCBrTWF4UmFuZG9tU2VlZF0gYmFzZWQgb24gdGhlCiAvLyBnaXZlbiAtLWd0
ZXN0X3JhbmRvbV9zZWVkIGZsYWcgdmFsdWUuCiBpbmxpbmUgaW50IEdldFJhbmRvbVNlZWRGcm9t
RmxhZyhpbnQzMl90IHJhbmRvbV9zZWVkX2ZsYWcpIHsKLSAgY29uc3QgdW5zaWduZWQgaW50IHJh
d19zZWVkID0KLSAgICAgIChyYW5kb21fc2VlZF9mbGFnID09IDApID8gc3RhdGljX2Nhc3Q8dW5z
aWduZWQgaW50PihHZXRUaW1lSW5NaWxsaXMoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDogc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihyYW5kb21fc2VlZF9mbGFnKTsKKyAgY29u
c3QgdW5zaWduZWQgaW50IHJhd19zZWVkID0gKHJhbmRvbV9zZWVkX2ZsYWcgPT0gMCkgPworICAg
ICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihHZXRUaW1lSW5NaWxsaXMoKSkgOgorICAgICAg
c3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihyYW5kb21fc2VlZF9mbGFnKTsKIAogICAvLyBOb3Jt
YWxpemVzIHRoZSBhY3R1YWwgc2VlZCB0byByYW5nZSBbMSwga01heFJhbmRvbVNlZWRdIHN1Y2gg
dGhhdAogICAvLyBpdCdzIGVhc3kgdG8gdHlwZS4KICAgY29uc3QgaW50IG5vcm1hbGl6ZWRfc2Vl
ZCA9CiAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KChyYXdfc2VlZCAtIDFVKSAlCi0gICAgICAgICAg
ICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oa01heFJhbmRvbVNlZWQpKSAr
Ci0gICAgICAxOworICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBp
bnQ+KGtNYXhSYW5kb21TZWVkKSkgKyAxOwogICByZXR1cm4gbm9ybWFsaXplZF9zZWVkOwogfQog
CkBAIC0xMzksNTQgKzE1OCw0NiBAQCBjbGFzcyBHVGVzdEZsYWdTYXZlciB7CiAgcHVibGljOgog
ICAvLyBUaGUgYyd0b3IuCiAgIEdUZXN0RmxhZ1NhdmVyKCkgewotICAgIGFsc29fcnVuX2Rpc2Fi
bGVkX3Rlc3RzXyA9IEdURVNUX0ZMQUdfR0VUKGFsc29fcnVuX2Rpc2FibGVkX3Rlc3RzKTsKLSAg
ICBicmVha19vbl9mYWlsdXJlXyA9IEdURVNUX0ZMQUdfR0VUKGJyZWFrX29uX2ZhaWx1cmUpOwot
ICAgIGNhdGNoX2V4Y2VwdGlvbnNfID0gR1RFU1RfRkxBR19HRVQoY2F0Y2hfZXhjZXB0aW9ucyk7
Ci0gICAgY29sb3JfID0gR1RFU1RfRkxBR19HRVQoY29sb3IpOwotICAgIGRlYXRoX3Rlc3Rfc3R5
bGVfID0gR1RFU1RfRkxBR19HRVQoZGVhdGhfdGVzdF9zdHlsZSk7Ci0gICAgZGVhdGhfdGVzdF91
c2VfZm9ya18gPSBHVEVTVF9GTEFHX0dFVChkZWF0aF90ZXN0X3VzZV9mb3JrKTsKLSAgICBmYWls
X2Zhc3RfID0gR1RFU1RfRkxBR19HRVQoZmFpbF9mYXN0KTsKLSAgICBmaWx0ZXJfID0gR1RFU1Rf
RkxBR19HRVQoZmlsdGVyKTsKLSAgICBpbnRlcm5hbF9ydW5fZGVhdGhfdGVzdF8gPSBHVEVTVF9G
TEFHX0dFVChpbnRlcm5hbF9ydW5fZGVhdGhfdGVzdCk7Ci0gICAgbGlzdF90ZXN0c18gPSBHVEVT
VF9GTEFHX0dFVChsaXN0X3Rlc3RzKTsKLSAgICBvdXRwdXRfID0gR1RFU1RfRkxBR19HRVQob3V0
cHV0KTsKLSAgICBicmllZl8gPSBHVEVTVF9GTEFHX0dFVChicmllZik7Ci0gICAgcHJpbnRfdGlt
ZV8gPSBHVEVTVF9GTEFHX0dFVChwcmludF90aW1lKTsKLSAgICBwcmludF91dGY4XyA9IEdURVNU
X0ZMQUdfR0VUKHByaW50X3V0ZjgpOwotICAgIHJhbmRvbV9zZWVkXyA9IEdURVNUX0ZMQUdfR0VU
KHJhbmRvbV9zZWVkKTsKLSAgICByZXBlYXRfID0gR1RFU1RfRkxBR19HRVQocmVwZWF0KTsKLSAg
ICByZWNyZWF0ZV9lbnZpcm9ubWVudHNfd2hlbl9yZXBlYXRpbmdfID0KLSAgICAgICAgR1RFU1Rf
RkxBR19HRVQocmVjcmVhdGVfZW52aXJvbm1lbnRzX3doZW5fcmVwZWF0aW5nKTsKLSAgICBzaHVm
ZmxlXyA9IEdURVNUX0ZMQUdfR0VUKHNodWZmbGUpOwotICAgIHN0YWNrX3RyYWNlX2RlcHRoXyA9
IEdURVNUX0ZMQUdfR0VUKHN0YWNrX3RyYWNlX2RlcHRoKTsKLSAgICBzdHJlYW1fcmVzdWx0X3Rv
XyA9IEdURVNUX0ZMQUdfR0VUKHN0cmVhbV9yZXN1bHRfdG8pOwotICAgIHRocm93X29uX2ZhaWx1
cmVfID0gR1RFU1RfRkxBR19HRVQodGhyb3dfb25fZmFpbHVyZSk7CisgICAgYWxzb19ydW5fZGlz
YWJsZWRfdGVzdHNfID0gR1RFU1RfRkxBRyhhbHNvX3J1bl9kaXNhYmxlZF90ZXN0cyk7CisgICAg
YnJlYWtfb25fZmFpbHVyZV8gPSBHVEVTVF9GTEFHKGJyZWFrX29uX2ZhaWx1cmUpOworICAgIGNh
dGNoX2V4Y2VwdGlvbnNfID0gR1RFU1RfRkxBRyhjYXRjaF9leGNlcHRpb25zKTsKKyAgICBjb2xv
cl8gPSBHVEVTVF9GTEFHKGNvbG9yKTsKKyAgICBkZWF0aF90ZXN0X3N0eWxlXyA9IEdURVNUX0ZM
QUcoZGVhdGhfdGVzdF9zdHlsZSk7CisgICAgZGVhdGhfdGVzdF91c2VfZm9ya18gPSBHVEVTVF9G
TEFHKGRlYXRoX3Rlc3RfdXNlX2ZvcmspOworICAgIGZpbHRlcl8gPSBHVEVTVF9GTEFHKGZpbHRl
cik7CisgICAgaW50ZXJuYWxfcnVuX2RlYXRoX3Rlc3RfID0gR1RFU1RfRkxBRyhpbnRlcm5hbF9y
dW5fZGVhdGhfdGVzdCk7CisgICAgbGlzdF90ZXN0c18gPSBHVEVTVF9GTEFHKGxpc3RfdGVzdHMp
OworICAgIG91dHB1dF8gPSBHVEVTVF9GTEFHKG91dHB1dCk7CisgICAgcHJpbnRfdGltZV8gPSBH
VEVTVF9GTEFHKHByaW50X3RpbWUpOworICAgIHByaW50X3V0ZjhfID0gR1RFU1RfRkxBRyhwcmlu
dF91dGY4KTsKKyAgICByYW5kb21fc2VlZF8gPSBHVEVTVF9GTEFHKHJhbmRvbV9zZWVkKTsKKyAg
ICByZXBlYXRfID0gR1RFU1RfRkxBRyhyZXBlYXQpOworICAgIHNodWZmbGVfID0gR1RFU1RfRkxB
RyhzaHVmZmxlKTsKKyAgICBzdGFja190cmFjZV9kZXB0aF8gPSBHVEVTVF9GTEFHKHN0YWNrX3Ry
YWNlX2RlcHRoKTsKKyAgICBzdHJlYW1fcmVzdWx0X3RvXyA9IEdURVNUX0ZMQUcoc3RyZWFtX3Jl
c3VsdF90byk7CisgICAgdGhyb3dfb25fZmFpbHVyZV8gPSBHVEVTVF9GTEFHKHRocm93X29uX2Zh
aWx1cmUpOwogICB9CiAKICAgLy8gVGhlIGQndG9yIGlzIG5vdCB2aXJ0dWFsLiAgRE8gTk9UIElO
SEVSSVQgRlJPTSBUSElTIENMQVNTLgogICB+R1Rlc3RGbGFnU2F2ZXIoKSB7Ci0gICAgR1RFU1Rf
RkxBR19TRVQoYWxzb19ydW5fZGlzYWJsZWRfdGVzdHMsIGFsc29fcnVuX2Rpc2FibGVkX3Rlc3Rz
Xyk7Ci0gICAgR1RFU1RfRkxBR19TRVQoYnJlYWtfb25fZmFpbHVyZSwgYnJlYWtfb25fZmFpbHVy
ZV8pOwotICAgIEdURVNUX0ZMQUdfU0VUKGNhdGNoX2V4Y2VwdGlvbnMsIGNhdGNoX2V4Y2VwdGlv
bnNfKTsKLSAgICBHVEVTVF9GTEFHX1NFVChjb2xvciwgY29sb3JfKTsKLSAgICBHVEVTVF9GTEFH
X1NFVChkZWF0aF90ZXN0X3N0eWxlLCBkZWF0aF90ZXN0X3N0eWxlXyk7Ci0gICAgR1RFU1RfRkxB
R19TRVQoZGVhdGhfdGVzdF91c2VfZm9yaywgZGVhdGhfdGVzdF91c2VfZm9ya18pOwotICAgIEdU
RVNUX0ZMQUdfU0VUKGZpbHRlciwgZmlsdGVyXyk7Ci0gICAgR1RFU1RfRkxBR19TRVQoZmFpbF9m
YXN0LCBmYWlsX2Zhc3RfKTsKLSAgICBHVEVTVF9GTEFHX1NFVChpbnRlcm5hbF9ydW5fZGVhdGhf
dGVzdCwgaW50ZXJuYWxfcnVuX2RlYXRoX3Rlc3RfKTsKLSAgICBHVEVTVF9GTEFHX1NFVChsaXN0
X3Rlc3RzLCBsaXN0X3Rlc3RzXyk7Ci0gICAgR1RFU1RfRkxBR19TRVQob3V0cHV0LCBvdXRwdXRf
KTsKLSAgICBHVEVTVF9GTEFHX1NFVChicmllZiwgYnJpZWZfKTsKLSAgICBHVEVTVF9GTEFHX1NF
VChwcmludF90aW1lLCBwcmludF90aW1lXyk7Ci0gICAgR1RFU1RfRkxBR19TRVQocHJpbnRfdXRm
OCwgcHJpbnRfdXRmOF8pOwotICAgIEdURVNUX0ZMQUdfU0VUKHJhbmRvbV9zZWVkLCByYW5kb21f
c2VlZF8pOwotICAgIEdURVNUX0ZMQUdfU0VUKHJlcGVhdCwgcmVwZWF0Xyk7Ci0gICAgR1RFU1Rf
RkxBR19TRVQocmVjcmVhdGVfZW52aXJvbm1lbnRzX3doZW5fcmVwZWF0aW5nLAotICAgICAgICAg
ICAgICAgICAgIHJlY3JlYXRlX2Vudmlyb25tZW50c193aGVuX3JlcGVhdGluZ18pOwotICAgIEdU
RVNUX0ZMQUdfU0VUKHNodWZmbGUsIHNodWZmbGVfKTsKLSAgICBHVEVTVF9GTEFHX1NFVChzdGFj
a190cmFjZV9kZXB0aCwgc3RhY2tfdHJhY2VfZGVwdGhfKTsKLSAgICBHVEVTVF9GTEFHX1NFVChz
dHJlYW1fcmVzdWx0X3RvLCBzdHJlYW1fcmVzdWx0X3RvXyk7Ci0gICAgR1RFU1RfRkxBR19TRVQo
dGhyb3dfb25fZmFpbHVyZSwgdGhyb3dfb25fZmFpbHVyZV8pOworICAgIEdURVNUX0ZMQUcoYWxz
b19ydW5fZGlzYWJsZWRfdGVzdHMpID0gYWxzb19ydW5fZGlzYWJsZWRfdGVzdHNfOworICAgIEdU
RVNUX0ZMQUcoYnJlYWtfb25fZmFpbHVyZSkgPSBicmVha19vbl9mYWlsdXJlXzsKKyAgICBHVEVT
VF9GTEFHKGNhdGNoX2V4Y2VwdGlvbnMpID0gY2F0Y2hfZXhjZXB0aW9uc187CisgICAgR1RFU1Rf
RkxBRyhjb2xvcikgPSBjb2xvcl87CisgICAgR1RFU1RfRkxBRyhkZWF0aF90ZXN0X3N0eWxlKSA9
IGRlYXRoX3Rlc3Rfc3R5bGVfOworICAgIEdURVNUX0ZMQUcoZGVhdGhfdGVzdF91c2VfZm9yaykg
PSBkZWF0aF90ZXN0X3VzZV9mb3JrXzsKKyAgICBHVEVTVF9GTEFHKGZpbHRlcikgPSBmaWx0ZXJf
OworICAgIEdURVNUX0ZMQUcoaW50ZXJuYWxfcnVuX2RlYXRoX3Rlc3QpID0gaW50ZXJuYWxfcnVu
X2RlYXRoX3Rlc3RfOworICAgIEdURVNUX0ZMQUcobGlzdF90ZXN0cykgPSBsaXN0X3Rlc3RzXzsK
KyAgICBHVEVTVF9GTEFHKG91dHB1dCkgPSBvdXRwdXRfOworICAgIEdURVNUX0ZMQUcocHJpbnRf
dGltZSkgPSBwcmludF90aW1lXzsKKyAgICBHVEVTVF9GTEFHKHByaW50X3V0ZjgpID0gcHJpbnRf
dXRmOF87CisgICAgR1RFU1RfRkxBRyhyYW5kb21fc2VlZCkgPSByYW5kb21fc2VlZF87CisgICAg
R1RFU1RfRkxBRyhyZXBlYXQpID0gcmVwZWF0XzsKKyAgICBHVEVTVF9GTEFHKHNodWZmbGUpID0g
c2h1ZmZsZV87CisgICAgR1RFU1RfRkxBRyhzdGFja190cmFjZV9kZXB0aCkgPSBzdGFja190cmFj
ZV9kZXB0aF87CisgICAgR1RFU1RfRkxBRyhzdHJlYW1fcmVzdWx0X3RvKSA9IHN0cmVhbV9yZXN1
bHRfdG9fOworICAgIEdURVNUX0ZMQUcodGhyb3dfb25fZmFpbHVyZSkgPSB0aHJvd19vbl9mYWls
dXJlXzsKICAgfQogCiAgcHJpdmF0ZToKQEAgLTE5NywxNyArMjA4LDE0IEBAIGNsYXNzIEdUZXN0
RmxhZ1NhdmVyIHsKICAgc3RkOjpzdHJpbmcgY29sb3JfOwogICBzdGQ6OnN0cmluZyBkZWF0aF90
ZXN0X3N0eWxlXzsKICAgYm9vbCBkZWF0aF90ZXN0X3VzZV9mb3JrXzsKLSAgYm9vbCBmYWlsX2Zh
c3RfOwogICBzdGQ6OnN0cmluZyBmaWx0ZXJfOwogICBzdGQ6OnN0cmluZyBpbnRlcm5hbF9ydW5f
ZGVhdGhfdGVzdF87CiAgIGJvb2wgbGlzdF90ZXN0c187CiAgIHN0ZDo6c3RyaW5nIG91dHB1dF87
Ci0gIGJvb2wgYnJpZWZfOwogICBib29sIHByaW50X3RpbWVfOwogICBib29sIHByaW50X3V0Zjhf
OwogICBpbnQzMl90IHJhbmRvbV9zZWVkXzsKICAgaW50MzJfdCByZXBlYXRfOwotICBib29sIHJl
Y3JlYXRlX2Vudmlyb25tZW50c193aGVuX3JlcGVhdGluZ187CiAgIGJvb2wgc2h1ZmZsZV87CiAg
IGludDMyX3Qgc3RhY2tfdHJhY2VfZGVwdGhfOwogICBzdGQ6OnN0cmluZyBzdHJlYW1fcmVzdWx0
X3RvXzsKQEAgLTI2Miw4ICsyNzAsOCBAQCBHVEVTVF9BUElfIGludDMyX3QgSW50MzJGcm9tRW52
T3JEaWUoY29uc3QgY2hhciogZW52X3ZhciwgaW50MzJfdCBkZWZhdWx0X3ZhbCk7CiAvLyByZXR1
cm5zIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIHRlc3Qgc2hvdWxkIGJlIHJ1biBvbiB0aGlzIHNo
YXJkLiBUaGUgdGVzdCBpZAogLy8gaXMgc29tZSBhcmJpdHJhcnkgYnV0IHVuaXF1ZSBub24tbmVn
YXRpdmUgaW50ZWdlciBhc3NpZ25lZCB0byBlYWNoIHRlc3QKIC8vIG1ldGhvZC4gQXNzdW1lcyB0
aGF0IDAgPD0gc2hhcmRfaW5kZXggPCB0b3RhbF9zaGFyZHMuCi1HVEVTVF9BUElfIGJvb2wgU2hv
dWxkUnVuVGVzdE9uU2hhcmQoaW50IHRvdGFsX3NoYXJkcywgaW50IHNoYXJkX2luZGV4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0ZXN0X2lkKTsKK0dURVNUX0FQ
SV8gYm9vbCBTaG91bGRSdW5UZXN0T25TaGFyZCgKKyAgICBpbnQgdG90YWxfc2hhcmRzLCBpbnQg
c2hhcmRfaW5kZXgsIGludCB0ZXN0X2lkKTsKIAogLy8gU1RMIGNvbnRhaW5lciB1dGlsaXRpZXMu
CiAKQEAgLTI3NCw4ICsyODIsOSBAQCBpbmxpbmUgaW50IENvdW50SWYoY29uc3QgQ29udGFpbmVy
JiBjLCBQcmVkaWNhdGUgcHJlZGljYXRlKSB7CiAgIC8vIEltcGxlbWVudGVkIGFzIGFuIGV4cGxp
Y2l0IGxvb3Agc2luY2Ugc3RkOjpjb3VudF9pZigpIGluIGxpYkNzdGQgb24KICAgLy8gU29sYXJp
cyBoYXMgYSBub24tc3RhbmRhcmQgc2lnbmF0dXJlLgogICBpbnQgY291bnQgPSAwOwotICBmb3Ig
KGF1dG8gaXQgPSBjLmJlZ2luKCk7IGl0ICE9IGMuZW5kKCk7ICsraXQpIHsKLSAgICBpZiAocHJl
ZGljYXRlKCppdCkpICsrY291bnQ7CisgIGZvciAodHlwZW5hbWUgQ29udGFpbmVyOjpjb25zdF9p
dGVyYXRvciBpdCA9IGMuYmVnaW4oKTsgaXQgIT0gYy5lbmQoKTsgKytpdCkgeworICAgIGlmIChw
cmVkaWNhdGUoKml0KSkKKyAgICAgICsrY291bnQ7CiAgIH0KICAgcmV0dXJuIGNvdW50OwogfQpA
QCAtMzc3LDYgKzM4NiwxMyBAQCBjbGFzcyBHVEVTVF9BUElfIFVuaXRUZXN0T3B0aW9ucyB7CiAK
ICAgLy8gRnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIHRoZSBndGVzdF9maWx0ZXIgZmxhZy4KIAor
ICAvLyBSZXR1cm5zIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIHdpbGRjYXJkIHBhdHRlcm4gbWF0
Y2hlcyB0aGUgc3RyaW5nLgorICAvLyBUaGUgZmlyc3QgJzonIG9yICdcMCcgY2hhcmFjdGVyIGlu
IHBhdHRlcm4gbWFya3MgdGhlIGVuZCBvZiBpdC4KKyAgLy8KKyAgLy8gVGhpcyByZWN1cnNpdmUg
YWxnb3JpdGhtIGlzbid0IHZlcnkgZWZmaWNpZW50LCBidXQgaXMgY2xlYXIgYW5kCisgIC8vIHdv
cmtzIHdlbGwgZW5vdWdoIGZvciBtYXRjaGluZyB0ZXN0IG5hbWVzLCB3aGljaCBhcmUgc2hvcnQu
CisgIHN0YXRpYyBib29sIFBhdHRlcm5NYXRjaGVzU3RyaW5nKGNvbnN0IGNoYXIgKnBhdHRlcm4s
IGNvbnN0IGNoYXIgKnN0cik7CisKICAgLy8gUmV0dXJucyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRo
ZSB1c2VyLXNwZWNpZmllZCBmaWx0ZXIgbWF0Y2hlcyB0aGUgdGVzdAogICAvLyBzdWl0ZSBuYW1l
IGFuZCB0aGUgdGVzdCBuYW1lLgogICBzdGF0aWMgYm9vbCBGaWx0ZXJNYXRjaGVzVGVzdChjb25z
dCBzdGQ6OnN0cmluZyYgdGVzdF9zdWl0ZV9uYW1lLApAQCAtNDI0LDkgKzQ0MCw3IEBAIGNsYXNz
IE9zU3RhY2tUcmFjZUdldHRlckludGVyZmFjZSB7CiAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCBrRWxpZGVkRnJhbWVzTWFya2VyOwogCiAgcHJpdmF0ZToKLSAgT3NTdGFja1RyYWNlR2V0dGVy
SW50ZXJmYWNlKGNvbnN0IE9zU3RhY2tUcmFjZUdldHRlckludGVyZmFjZSYpID0gZGVsZXRlOwot
ICBPc1N0YWNrVHJhY2VHZXR0ZXJJbnRlcmZhY2UmIG9wZXJhdG9yPShjb25zdCBPc1N0YWNrVHJh
Y2VHZXR0ZXJJbnRlcmZhY2UmKSA9Ci0gICAgICBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NP
UFlfQU5EX0FTU0lHTl8oT3NTdGFja1RyYWNlR2V0dGVySW50ZXJmYWNlKTsKIH07CiAKIC8vIEEg
d29ya2luZyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgT3NTdGFja1RyYWNlR2V0dGVySW50ZXJmYWNl
IGludGVyZmFjZS4KQEAgLTQ0OCw4ICs0NjIsNyBAQCBjbGFzcyBPc1N0YWNrVHJhY2VHZXR0ZXIg
OiBwdWJsaWMgT3NTdGFja1RyYWNlR2V0dGVySW50ZXJmYWNlIHsKICAgdm9pZCogY2FsbGVyX2Zy
YW1lXyA9IG51bGxwdHI7CiAjZW5kaWYgIC8vIEdURVNUX0hBU19BQlNMCiAKLSAgT3NTdGFja1Ry
YWNlR2V0dGVyKGNvbnN0IE9zU3RhY2tUcmFjZUdldHRlciYpID0gZGVsZXRlOwotICBPc1N0YWNr
VHJhY2VHZXR0ZXImIG9wZXJhdG9yPShjb25zdCBPc1N0YWNrVHJhY2VHZXR0ZXImKSA9IGRlbGV0
ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhPc1N0YWNrVHJhY2VHZXR0ZXIp
OwogfTsKIAogLy8gSW5mb3JtYXRpb24gYWJvdXQgYSBHb29nbGUgVGVzdCB0cmFjZSBwb2ludC4K
QEAgLTQ2Miw3ICs0NzUsNyBAQCBzdHJ1Y3QgVHJhY2VJbmZvIHsKIC8vIFRoaXMgaXMgdGhlIGRl
ZmF1bHQgZ2xvYmFsIHRlc3QgcGFydCByZXN1bHQgcmVwb3J0ZXIgdXNlZCBpbiBVbml0VGVzdElt
cGwuCiAvLyBUaGlzIGNsYXNzIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgVW5pdFRlc3RJbXBsLgog
Y2xhc3MgRGVmYXVsdEdsb2JhbFRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXIKLSAgICA6IHB1YmxpYyBU
ZXN0UGFydFJlc3VsdFJlcG9ydGVySW50ZXJmYWNlIHsKKyAgOiBwdWJsaWMgVGVzdFBhcnRSZXN1
bHRSZXBvcnRlckludGVyZmFjZSB7CiAgcHVibGljOgogICBleHBsaWNpdCBEZWZhdWx0R2xvYmFs
VGVzdFBhcnRSZXN1bHRSZXBvcnRlcihVbml0VGVzdEltcGwqIHVuaXRfdGVzdCk7CiAgIC8vIElt
cGxlbWVudHMgdGhlIFRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXJJbnRlcmZhY2UuIFJlcG9ydHMgdGhl
IHRlc3QgcGFydApAQCAtNDcyLDEwICs0ODUsNyBAQCBjbGFzcyBEZWZhdWx0R2xvYmFsVGVzdFBh
cnRSZXN1bHRSZXBvcnRlcgogIHByaXZhdGU6CiAgIFVuaXRUZXN0SW1wbCogY29uc3QgdW5pdF90
ZXN0XzsKIAotICBEZWZhdWx0R2xvYmFsVGVzdFBhcnRSZXN1bHRSZXBvcnRlcigKLSAgICAgIGNv
bnN0IERlZmF1bHRHbG9iYWxUZXN0UGFydFJlc3VsdFJlcG9ydGVyJikgPSBkZWxldGU7Ci0gIERl
ZmF1bHRHbG9iYWxUZXN0UGFydFJlc3VsdFJlcG9ydGVyJiBvcGVyYXRvcj0oCi0gICAgICBjb25z
dCBEZWZhdWx0R2xvYmFsVGVzdFBhcnRSZXN1bHRSZXBvcnRlciYpID0gZGVsZXRlOworICBHVEVT
VF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKERlZmF1bHRHbG9iYWxUZXN0UGFydFJlc3VsdFJl
cG9ydGVyKTsKIH07CiAKIC8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgcGVyIHRocmVhZCB0ZXN0IHBh
cnQgcmVzdWx0IHJlcG9ydGVyIHVzZWQgaW4KQEAgLTQ5MSwxMCArNTAxLDcgQEAgY2xhc3MgRGVm
YXVsdFBlclRocmVhZFRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXIKICBwcml2YXRlOgogICBVbml0VGVz
dEltcGwqIGNvbnN0IHVuaXRfdGVzdF87CiAKLSAgRGVmYXVsdFBlclRocmVhZFRlc3RQYXJ0UmVz
dWx0UmVwb3J0ZXIoCi0gICAgICBjb25zdCBEZWZhdWx0UGVyVGhyZWFkVGVzdFBhcnRSZXN1bHRS
ZXBvcnRlciYpID0gZGVsZXRlOwotICBEZWZhdWx0UGVyVGhyZWFkVGVzdFBhcnRSZXN1bHRSZXBv
cnRlciYgb3BlcmF0b3I9KAotICAgICAgY29uc3QgRGVmYXVsdFBlclRocmVhZFRlc3RQYXJ0UmVz
dWx0UmVwb3J0ZXImKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdO
XyhEZWZhdWx0UGVyVGhyZWFkVGVzdFBhcnRSZXN1bHRSZXBvcnRlcik7CiB9OwogCiAvLyBUaGUg
cHJpdmF0ZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgVW5pdFRlc3QgY2xhc3MuICBXZSBkb24ndCBw
cm90ZWN0CkBAIC02MzIsOCArNjM5LDcgQEAgY2xhc3MgR1RFU1RfQVBJXyBVbml0VGVzdEltcGwg
ewogICAvLyBGb3IgZXhhbXBsZSwgaWYgRm9vKCkgY2FsbHMgQmFyKCksIHdoaWNoIGluIHR1cm4g
Y2FsbHMKICAgLy8gQ3VycmVudE9zU3RhY2tUcmFjZUV4Y2VwdFRvcCgxKSwgRm9vKCkgd2lsbCBi
ZSBpbmNsdWRlZCBpbiB0aGUKICAgLy8gdHJhY2UgYnV0IEJhcigpIGFuZCBDdXJyZW50T3NTdGFj
a1RyYWNlRXhjZXB0VG9wKCkgd29uJ3QuCi0gIHN0ZDo6c3RyaW5nIEN1cnJlbnRPc1N0YWNrVHJh
Y2VFeGNlcHRUb3AoaW50IHNraXBfY291bnQpCi0gICAgICBHVEVTVF9OT19JTkxJTkVfIEdURVNU
X05PX1RBSUxfQ0FMTF87CisgIHN0ZDo6c3RyaW5nIEN1cnJlbnRPc1N0YWNrVHJhY2VFeGNlcHRU
b3AoaW50IHNraXBfY291bnQpIEdURVNUX05PX0lOTElORV87CiAKICAgLy8gRmluZHMgYW5kIHJl
dHVybnMgYSBUZXN0U3VpdGUgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gIElmIG9uZSBkb2Vzbid0CiAg
IC8vIGV4aXN0LCBjcmVhdGVzIG9uZSBhbmQgcmV0dXJucyBpdC4KQEAgLTY0MSwxMCArNjQ3LDEw
IEBAIGNsYXNzIEdURVNUX0FQSV8gVW5pdFRlc3RJbXBsIHsKICAgLy8gQXJndW1lbnRzOgogICAv
LwogICAvLyAgIHRlc3Rfc3VpdGVfbmFtZTogbmFtZSBvZiB0aGUgdGVzdCBzdWl0ZQotICAvLyAg
IHR5cGVfcGFyYW06ICAgICAgdGhlIG5hbWUgb2YgdGhlIHRlc3QncyB0eXBlIHBhcmFtZXRlciwg
b3IgTlVMTCBpZgotICAvLyAgICAgICAgICAgICAgICAgICAgdGhpcyBpcyBub3QgYSB0eXBlZCBv
ciBhIHR5cGUtcGFyYW1ldGVyaXplZCB0ZXN0LgotICAvLyAgIHNldF91cF90YzogICAgICAgcG9p
bnRlciB0byB0aGUgZnVuY3Rpb24gdGhhdCBzZXRzIHVwIHRoZSB0ZXN0IHN1aXRlCi0gIC8vICAg
dGVhcl9kb3duX3RjOiAgICBwb2ludGVyIHRvIHRoZSBmdW5jdGlvbiB0aGF0IHRlYXJzIGRvd24g
dGhlIHRlc3Qgc3VpdGUKKyAgLy8gICB0eXBlX3BhcmFtOiAgICAgdGhlIG5hbWUgb2YgdGhlIHRl
c3QncyB0eXBlIHBhcmFtZXRlciwgb3IgTlVMTCBpZgorICAvLyAgICAgICAgICAgICAgICAgICB0
aGlzIGlzIG5vdCBhIHR5cGVkIG9yIGEgdHlwZS1wYXJhbWV0ZXJpemVkIHRlc3QuCisgIC8vICAg
c2V0X3VwX3RjOiAgICAgIHBvaW50ZXIgdG8gdGhlIGZ1bmN0aW9uIHRoYXQgc2V0cyB1cCB0aGUg
dGVzdCBzdWl0ZQorICAvLyAgIHRlYXJfZG93bl90YzogICBwb2ludGVyIHRvIHRoZSBmdW5jdGlv
biB0aGF0IHRlYXJzIGRvd24gdGhlIHRlc3Qgc3VpdGUKICAgVGVzdFN1aXRlKiBHZXRUZXN0U3Vp
dGUoY29uc3QgY2hhciogdGVzdF9zdWl0ZV9uYW1lLCBjb25zdCBjaGFyKiB0eXBlX3BhcmFtLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbDo6U2V0VXBUZXN0U3VpdGVGdW5jIHNl
dF91cF90YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWw6OlRlYXJEb3duVGVz
dFN1aXRlRnVuYyB0ZWFyX2Rvd25fdGMpOwpAQCAtNjY4LDcgKzY3NCw2IEBAIGNsYXNzIEdURVNU
X0FQSV8gVW5pdFRlc3RJbXBsIHsKICAgdm9pZCBBZGRUZXN0SW5mbyhpbnRlcm5hbDo6U2V0VXBU
ZXN0U3VpdGVGdW5jIHNldF91cF90YywKICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbDo6VGVh
ckRvd25UZXN0U3VpdGVGdW5jIHRlYXJfZG93bl90YywKICAgICAgICAgICAgICAgICAgICBUZXN0
SW5mbyogdGVzdF9pbmZvKSB7Ci0jaWYgR1RFU1RfSEFTX0RFQVRIX1RFU1QKICAgICAvLyBJbiBv
cmRlciB0byBzdXBwb3J0IHRocmVhZC1zYWZlIGRlYXRoIHRlc3RzLCB3ZSBuZWVkIHRvCiAgICAg
Ly8gcmVtZW1iZXIgdGhlIG9yaWdpbmFsIHdvcmtpbmcgZGlyZWN0b3J5IHdoZW4gdGhlIHRlc3Qg
cHJvZ3JhbQogICAgIC8vIHdhcyBmaXJzdCBpbnZva2VkLiAgV2UgY2Fubm90IGRvIHRoaXMgaW4g
UlVOX0FMTF9URVNUUygpLCBhcwpAQCAtNjgxLDcgKzY4Niw2IEBAIGNsYXNzIEdURVNUX0FQSV8g
VW5pdFRlc3RJbXBsIHsKICAgICAgIEdURVNUX0NIRUNLXyghb3JpZ2luYWxfd29ya2luZ19kaXJf
LklzRW1wdHkoKSkKICAgICAgICAgICA8PCAiRmFpbGVkIHRvIGdldCB0aGUgY3VycmVudCB3b3Jr
aW5nIGRpcmVjdG9yeS4iOwogICAgIH0KLSNlbmRpZiAgLy8gR1RFU1RfSEFTX0RFQVRIX1RFU1QK
IAogICAgIEdldFRlc3RTdWl0ZSh0ZXN0X2luZm8tPnRlc3Rfc3VpdGVfbmFtZSgpLCB0ZXN0X2lu
Zm8tPnR5cGVfcGFyYW0oKSwKICAgICAgICAgICAgICAgICAgc2V0X3VwX3RjLCB0ZWFyX2Rvd25f
dGMpCkBAIC03MzcsNyArNzQxLDkgQEAgY2xhc3MgR1RFU1RfQVBJXyBVbml0VGVzdEltcGwgewog
ICB9CiAKICAgLy8gQ2xlYXJzIHRoZSByZXN1bHRzIG9mIGFkLWhvYyB0ZXN0IGFzc2VydGlvbnMu
Ci0gIHZvaWQgQ2xlYXJBZEhvY1Rlc3RSZXN1bHQoKSB7IGFkX2hvY190ZXN0X3Jlc3VsdF8uQ2xl
YXIoKTsgfQorICB2b2lkIENsZWFyQWRIb2NUZXN0UmVzdWx0KCkgeworICAgIGFkX2hvY190ZXN0
X3Jlc3VsdF8uQ2xlYXIoKTsKKyAgfQogCiAgIC8vIEFkZHMgYSBUZXN0UHJvcGVydHkgdG8gdGhl
IGN1cnJlbnQgVGVzdFJlc3VsdCBvYmplY3Qgd2hlbiBpbnZva2VkIGluIGEKICAgLy8gY29udGV4
dCBvZiBhIHRlc3Qgb3IgYSB0ZXN0IHN1aXRlLCBvciB0byB0aGUgZ2xvYmFsIHByb3BlcnR5IHNl
dC4gSWYgdGhlCkBAIC03NDUsNyArNzUxLDEwIEBAIGNsYXNzIEdURVNUX0FQSV8gVW5pdFRlc3RJ
bXBsIHsKICAgLy8gdXBkYXRlZC4KICAgdm9pZCBSZWNvcmRQcm9wZXJ0eShjb25zdCBUZXN0UHJv
cGVydHkmIHRlc3RfcHJvcGVydHkpOwogCi0gIGVudW0gUmVhY3Rpb25Ub1NoYXJkaW5nIHsgSE9O
T1JfU0hBUkRJTkdfUFJPVE9DT0wsIElHTk9SRV9TSEFSRElOR19QUk9UT0NPTCB9OworICBlbnVt
IFJlYWN0aW9uVG9TaGFyZGluZyB7CisgICAgSE9OT1JfU0hBUkRJTkdfUFJPVE9DT0wsCisgICAg
SUdOT1JFX1NIQVJESU5HX1BST1RPQ09MCisgIH07CiAKICAgLy8gTWF0Y2hlcyB0aGUgZnVsbCBu
YW1lIG9mIGVhY2ggdGVzdCBhZ2FpbnN0IHRoZSB1c2VyLXNwZWNpZmllZAogICAvLyBmaWx0ZXIg
dG8gZGVjaWRlIHdoZXRoZXIgdGhlIHRlc3Qgc2hvdWxkIHJ1biwgdGhlbiByZWNvcmRzIHRoZQpA
QCAtOTUxLDggKzk2MCw3IEBAIGNsYXNzIEdURVNUX0FQSV8gVW5pdFRlc3RJbXBsIHsKICAgLy8g
c3RhcnRzLgogICBib29sIGNhdGNoX2V4Y2VwdGlvbnNfOwogCi0gIFVuaXRUZXN0SW1wbChjb25z
dCBVbml0VGVzdEltcGwmKSA9IGRlbGV0ZTsKLSAgVW5pdFRlc3RJbXBsJiBvcGVyYXRvcj0oY29u
c3QgVW5pdFRlc3RJbXBsJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FT
U0lHTl8oVW5pdFRlc3RJbXBsKTsKIH07ICAvLyBjbGFzcyBVbml0VGVzdEltcGwKIAogLy8gQ29u
dmVuaWVuY2UgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgZ2xvYmFsIFVuaXRUZXN0CkBAIC05
NzUsOSArOTgzLDggQEAgR1RFU1RfQVBJXyBib29sIElzVmFsaWRFc2NhcGUoY2hhciBjaCk7CiBH
VEVTVF9BUElfIGJvb2wgQXRvbU1hdGNoZXNDaGFyKGJvb2wgZXNjYXBlZCwgY2hhciBwYXR0ZXJu
LCBjaGFyIGNoKTsKIEdURVNUX0FQSV8gYm9vbCBWYWxpZGF0ZVJlZ2V4KGNvbnN0IGNoYXIqIHJl
Z2V4KTsKIEdURVNUX0FQSV8gYm9vbCBNYXRjaFJlZ2V4QXRIZWFkKGNvbnN0IGNoYXIqIHJlZ2V4
LCBjb25zdCBjaGFyKiBzdHIpOwotR1RFU1RfQVBJXyBib29sIE1hdGNoUmVwZXRpdGlvbkFuZFJl
Z2V4QXRIZWFkKGJvb2wgZXNjYXBlZCwgY2hhciBjaCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGFyIHJlcGVhdCwgY29uc3QgY2hhciogcmVnZXgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciog
c3RyKTsKK0dURVNUX0FQSV8gYm9vbCBNYXRjaFJlcGV0aXRpb25BbmRSZWdleEF0SGVhZCgKKyAg
ICBib29sIGVzY2FwZWQsIGNoYXIgY2gsIGNoYXIgcmVwZWF0LCBjb25zdCBjaGFyKiByZWdleCwg
Y29uc3QgY2hhciogc3RyKTsKIEdURVNUX0FQSV8gYm9vbCBNYXRjaFJlZ2V4QW55d2hlcmUoY29u
c3QgY2hhciogcmVnZXgsIGNvbnN0IGNoYXIqIHN0cik7CiAKICNlbmRpZiAgLy8gR1RFU1RfVVNF
U19TSU1QTEVfUkUKQEAgLTEwNzksNyArMTA4Niw4IEBAIGNsYXNzIFN0cmVhbWluZ0xpc3RlbmVy
IDogcHVibGljIEVtcHR5VGVzdEV2ZW50TGlzdGVuZXIgewogICAgIH0KIAogICAgIH5Tb2NrZXRX
cml0ZXIoKSBvdmVycmlkZSB7Ci0gICAgICBpZiAoc29ja2ZkXyAhPSAtMSkgQ2xvc2VDb25uZWN0
aW9uKCk7CisgICAgICBpZiAoc29ja2ZkXyAhPSAtMSkKKyAgICAgICAgQ2xvc2VDb25uZWN0aW9u
KCk7CiAgICAgfQogCiAgICAgLy8gU2VuZHMgYSBzdHJpbmcgdG8gdGhlIHNvY2tldC4KQEAgLTEw
ODksOCArMTA5Nyw5IEBAIGNsYXNzIFN0cmVhbWluZ0xpc3RlbmVyIDogcHVibGljIEVtcHR5VGVz
dEV2ZW50TGlzdGVuZXIgewogCiAgICAgICBjb25zdCBhdXRvIGxlbiA9IHN0YXRpY19jYXN0PHNp
emVfdD4obWVzc2FnZS5sZW5ndGgoKSk7CiAgICAgICBpZiAod3JpdGUoc29ja2ZkXywgbWVzc2Fn
ZS5jX3N0cigpLCBsZW4pICE9IHN0YXRpY19jYXN0PHNzaXplX3Q+KGxlbikpIHsKLSAgICAgICAg
R1RFU1RfTE9HXyhXQVJOSU5HKSA8PCAic3RyZWFtX3Jlc3VsdF90bzogZmFpbGVkIHRvIHN0cmVh
bSB0byAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgaG9zdF9uYW1lXyA8PCAiOiIg
PDwgcG9ydF9udW1fOworICAgICAgICBHVEVTVF9MT0dfKFdBUk5JTkcpCisgICAgICAgICAgICA8
PCAic3RyZWFtX3Jlc3VsdF90bzogZmFpbGVkIHRvIHN0cmVhbSB0byAiCisgICAgICAgICAgICA8
PCBob3N0X25hbWVfIDw8ICI6IiA8PCBwb3J0X251bV87CiAgICAgICB9CiAgICAgfQogCkBAIC0x
MTExLDggKzExMjAsNyBAQCBjbGFzcyBTdHJlYW1pbmdMaXN0ZW5lciA6IHB1YmxpYyBFbXB0eVRl
c3RFdmVudExpc3RlbmVyIHsKICAgICBjb25zdCBzdGQ6OnN0cmluZyBob3N0X25hbWVfOwogICAg
IGNvbnN0IHN0ZDo6c3RyaW5nIHBvcnRfbnVtXzsKIAotICAgIFNvY2tldFdyaXRlcihjb25zdCBT
b2NrZXRXcml0ZXImKSA9IGRlbGV0ZTsKLSAgICBTb2NrZXRXcml0ZXImIG9wZXJhdG9yPShjb25z
dCBTb2NrZXRXcml0ZXImKSA9IGRlbGV0ZTsKKyAgICBHVEVTVF9ESVNBTExPV19DT1BZX0FORF9B
U1NJR05fKFNvY2tldFdyaXRlcik7CiAgIH07ICAvLyBjbGFzcyBTb2NrZXRXcml0ZXIKIAogICAv
LyBFc2NhcGVzICc9JywgJyYnLCAnJScsIGFuZCAnXG4nIGNoYXJhY3RlcnMgaW4gc3RyIGFzICIl
eHgiLgpAQCAtMTEyNCw5ICsxMTMyLDcgQEAgY2xhc3MgU3RyZWFtaW5nTGlzdGVuZXIgOiBwdWJs
aWMgRW1wdHlUZXN0RXZlbnRMaXN0ZW5lciB7CiAgIH0KIAogICBleHBsaWNpdCBTdHJlYW1pbmdM
aXN0ZW5lcihBYnN0cmFjdFNvY2tldFdyaXRlciogc29ja2V0X3dyaXRlcikKLSAgICAgIDogc29j
a2V0X3dyaXRlcl8oc29ja2V0X3dyaXRlcikgewotICAgIFN0YXJ0KCk7Ci0gIH0KKyAgICAgIDog
c29ja2V0X3dyaXRlcl8oc29ja2V0X3dyaXRlcikgeyBTdGFydCgpOyB9CiAKICAgdm9pZCBPblRl
c3RQcm9ncmFtU3RhcnQoY29uc3QgVW5pdFRlc3QmIC8qIHVuaXRfdGVzdCAqLykgb3ZlcnJpZGUg
ewogICAgIFNlbmRMbigiZXZlbnQ9VGVzdFByb2dyYW1TdGFydCIpOwpAQCAtMTE0OSwyMiArMTE1
NSwyMiBAQCBjbGFzcyBTdHJlYW1pbmdMaXN0ZW5lciA6IHB1YmxpYyBFbXB0eVRlc3RFdmVudExp
c3RlbmVyIHsKIAogICB2b2lkIE9uVGVzdEl0ZXJhdGlvbkVuZChjb25zdCBVbml0VGVzdCYgdW5p
dF90ZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgLyogaXRlcmF0aW9uICovKSBv
dmVycmlkZSB7Ci0gICAgU2VuZExuKCJldmVudD1UZXN0SXRlcmF0aW9uRW5kJnBhc3NlZD0iICsg
Rm9ybWF0Qm9vbCh1bml0X3Rlc3QuUGFzc2VkKCkpICsKLSAgICAgICAgICAgIiZlbGFwc2VkX3Rp
bWU9IiArIFN0cmVhbWFibGVUb1N0cmluZyh1bml0X3Rlc3QuZWxhcHNlZF90aW1lKCkpICsKLSAg
ICAgICAgICAgIm1zIik7CisgICAgU2VuZExuKCJldmVudD1UZXN0SXRlcmF0aW9uRW5kJnBhc3Nl
ZD0iICsKKyAgICAgICAgICAgRm9ybWF0Qm9vbCh1bml0X3Rlc3QuUGFzc2VkKCkpICsgIiZlbGFw
c2VkX3RpbWU9IiArCisgICAgICAgICAgIFN0cmVhbWFibGVUb1N0cmluZyh1bml0X3Rlc3QuZWxh
cHNlZF90aW1lKCkpICsgIm1zIik7CiAgIH0KIAogICAvLyBOb3RlIHRoYXQgImV2ZW50PVRlc3RD
YXNlU3RhcnQiIGlzIGEgd2lyZSBmb3JtYXQgYW5kIGhhcyB0byByZW1haW4KLSAgLy8gImNhc2Ui
IGZvciBjb21wYXRpYmlsaXR5Ci0gIHZvaWQgT25UZXN0U3VpdGVTdGFydChjb25zdCBUZXN0U3Vp
dGUmIHRlc3Rfc3VpdGUpIG92ZXJyaWRlIHsKLSAgICBTZW5kTG4oc3RkOjpzdHJpbmcoImV2ZW50
PVRlc3RDYXNlU3RhcnQmbmFtZT0iKSArIHRlc3Rfc3VpdGUubmFtZSgpKTsKKyAgLy8gImNhc2Ui
IGZvciBjb21wYXRpYmlsdHkKKyAgdm9pZCBPblRlc3RDYXNlU3RhcnQoY29uc3QgVGVzdENhc2Um
IHRlc3RfY2FzZSkgb3ZlcnJpZGUgeworICAgIFNlbmRMbihzdGQ6OnN0cmluZygiZXZlbnQ9VGVz
dENhc2VTdGFydCZuYW1lPSIpICsgdGVzdF9jYXNlLm5hbWUoKSk7CiAgIH0KIAogICAvLyBOb3Rl
IHRoYXQgImV2ZW50PVRlc3RDYXNlRW5kIiBpcyBhIHdpcmUgZm9ybWF0IGFuZCBoYXMgdG8gcmVt
YWluCi0gIC8vICJjYXNlIiBmb3IgY29tcGF0aWJpbGl0eQotICB2b2lkIE9uVGVzdFN1aXRlRW5k
KGNvbnN0IFRlc3RTdWl0ZSYgdGVzdF9zdWl0ZSkgb3ZlcnJpZGUgewotICAgIFNlbmRMbigiZXZl
bnQ9VGVzdENhc2VFbmQmcGFzc2VkPSIgKyBGb3JtYXRCb29sKHRlc3Rfc3VpdGUuUGFzc2VkKCkp
ICsKLSAgICAgICAgICAgIiZlbGFwc2VkX3RpbWU9IiArIFN0cmVhbWFibGVUb1N0cmluZyh0ZXN0
X3N1aXRlLmVsYXBzZWRfdGltZSgpKSArCisgIC8vICJjYXNlIiBmb3IgY29tcGF0aWJpbHR5Cisg
IHZvaWQgT25UZXN0Q2FzZUVuZChjb25zdCBUZXN0Q2FzZSYgdGVzdF9jYXNlKSBvdmVycmlkZSB7
CisgICAgU2VuZExuKCJldmVudD1UZXN0Q2FzZUVuZCZwYXNzZWQ9IiArIEZvcm1hdEJvb2wodGVz
dF9jYXNlLlBhc3NlZCgpKSArCisgICAgICAgICAgICImZWxhcHNlZF90aW1lPSIgKyBTdHJlYW1h
YmxlVG9TdHJpbmcodGVzdF9jYXNlLmVsYXBzZWRfdGltZSgpKSArCiAgICAgICAgICAgICJtcyIp
OwogICB9CiAKQEAgLTExNzQsNyArMTE4MCw4IEBAIGNsYXNzIFN0cmVhbWluZ0xpc3RlbmVyIDog
cHVibGljIEVtcHR5VGVzdEV2ZW50TGlzdGVuZXIgewogCiAgIHZvaWQgT25UZXN0RW5kKGNvbnN0
IFRlc3RJbmZvJiB0ZXN0X2luZm8pIG92ZXJyaWRlIHsKICAgICBTZW5kTG4oImV2ZW50PVRlc3RF
bmQmcGFzc2VkPSIgKwotICAgICAgICAgICBGb3JtYXRCb29sKCh0ZXN0X2luZm8ucmVzdWx0KCkp
LT5QYXNzZWQoKSkgKyAiJmVsYXBzZWRfdGltZT0iICsKKyAgICAgICAgICAgRm9ybWF0Qm9vbCgo
dGVzdF9pbmZvLnJlc3VsdCgpKS0+UGFzc2VkKCkpICsKKyAgICAgICAgICAgIiZlbGFwc2VkX3Rp
bWU9IiArCiAgICAgICAgICAgIFN0cmVhbWFibGVUb1N0cmluZygodGVzdF9pbmZvLnJlc3VsdCgp
KS0+ZWxhcHNlZF90aW1lKCkpICsgIm1zIik7CiAgIH0KIApAQCAtMTE5OCw4ICsxMjA1LDcgQEAg
Y2xhc3MgU3RyZWFtaW5nTGlzdGVuZXIgOiBwdWJsaWMgRW1wdHlUZXN0RXZlbnRMaXN0ZW5lciB7
CiAKICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEFic3RyYWN0U29ja2V0V3JpdGVyPiBzb2NrZXRf
d3JpdGVyXzsKIAotICBTdHJlYW1pbmdMaXN0ZW5lcihjb25zdCBTdHJlYW1pbmdMaXN0ZW5lciYp
ID0gZGVsZXRlOwotICBTdHJlYW1pbmdMaXN0ZW5lciYgb3BlcmF0b3I9KGNvbnN0IFN0cmVhbWlu
Z0xpc3RlbmVyJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8o
U3RyZWFtaW5nTGlzdGVuZXIpOwogfTsgIC8vIGNsYXNzIFN0cmVhbWluZ0xpc3RlbmVyCiAKICNl
bmRpZiAgLy8gR1RFU1RfQ0FOX1NUUkVBTV9SRVNVTFRTXwpAQCAtMTIwOSw0ICsxMjE1LDQgQEAg
Y2xhc3MgU3RyZWFtaW5nTGlzdGVuZXIgOiBwdWJsaWMgRW1wdHlUZXN0RXZlbnRMaXN0ZW5lciB7
CiAKIEdURVNUX0RJU0FCTEVfTVNDX1dBUk5JTkdTX1BPUF8oKSAgLy8gIDQyNTEKIAotI2VuZGlm
ICAvLyBHT09HTEVURVNUX1NSQ19HVEVTVF9JTlRFUk5BTF9JTkxfSF8KKyNlbmRpZiAgLy8gR1RF
U1RfU1JDX0dURVNUX0lOVEVSTkFMX0lOTF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGly
ZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtbWF0Y2hlcnMuY2MgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1tYXRjaGVycy5jYwppbmRleCA3
ZTNiY2MwY2ZmMzguLjY1MTA0ZWJhYjFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9w
YXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtbWF0Y2hlcnMuY2MKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtbWF0Y2hlcnMuY2MKQEAgLTMy
LDEzICszMiwxMiBAQAogLy8gVGhpcyBmaWxlIGltcGxlbWVudHMganVzdCBlbm91Z2ggb2YgdGhl
IG1hdGNoZXIgaW50ZXJmYWNlIHRvIGFsbG93CiAvLyBFWFBFQ1RfREVBVEggYW5kIGZyaWVuZHMg
dG8gYWNjZXB0IGEgbWF0Y2hlciBhcmd1bWVudC4KIAorI2luY2x1ZGUgImd0ZXN0L2ludGVybmFs
L2d0ZXN0LWludGVybmFsLmgiCisjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcG9ydC5o
IgogI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LW1hdGNoZXJzLmgiCiAKICNpbmNsdWRlIDxzdHJpbmc+
CiAKLSNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9ndGVzdC1pbnRlcm5hbC5oIgotI2luY2x1ZGUg
Imd0ZXN0L2ludGVybmFsL2d0ZXN0LXBvcnQuaCIKLQogbmFtZXNwYWNlIHRlc3RpbmcgewogCiAv
LyBDb25zdHJ1Y3RzIGEgbWF0Y2hlciB0aGF0IG1hdGNoZXMgYSBjb25zdCBzdGQ6OnN0cmluZyYg
d2hvc2UgdmFsdWUgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xl
dGVzdC9zcmMvc3JjL2d0ZXN0LXBvcnQuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2ds
ZXRlc3Qvc3JjL3NyYy9ndGVzdC1wb3J0LmNjCmluZGV4IGQ3OTdmZTRkNTg2Ni4uYTA1YzUwYTM5
YjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3Ny
Yy9ndGVzdC1wb3J0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9z
cmMvc3JjL2d0ZXN0LXBvcnQuY2MKQEAgLTI3LDYyICsyNyw2MSBAQAogLy8gKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CiAvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogCisKICNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9ndGVzdC1wb3J0
LmgiCiAKICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUg
PHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgotCiAjaW5jbHVkZSA8Y3N0ZGludD4KICNp
bmNsdWRlIDxmc3RyZWFtPgogI2luY2x1ZGUgPG1lbW9yeT4KIAogI2lmIEdURVNUX09TX1dJTkRP
V1MKLSNpbmNsdWRlIDxpby5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8d2lu
ZG93cy5oPgotCi0jaW5jbHVkZSA8bWFwPiAgLy8gVXNlZCBpbiBUaHJlYWRMb2NhbC4KLSNpZmRl
ZiBfTVNDX1ZFUgotI2luY2x1ZGUgPGNydGRiZy5oPgotI2VuZGlmICAvLyBfTVNDX1ZFUgorIyBp
bmNsdWRlIDx3aW5kb3dzLmg+CisjIGluY2x1ZGUgPGlvLmg+CisjIGluY2x1ZGUgPHN5cy9zdGF0
Lmg+CisjIGluY2x1ZGUgPG1hcD4gIC8vIFVzZWQgaW4gVGhyZWFkTG9jYWwuCisjIGlmZGVmIF9N
U0NfVkVSCisjICBpbmNsdWRlIDxjcnRkYmcuaD4KKyMgZW5kaWYgIC8vIF9NU0NfVkVSCiAjZWxz
ZQotI2luY2x1ZGUgPHVuaXN0ZC5oPgorIyBpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZiAgLy8g
R1RFU1RfT1NfV0lORE9XUwogCiAjaWYgR1RFU1RfT1NfTUFDCi0jaW5jbHVkZSA8bWFjaC9tYWNo
X2luaXQuaD4KLSNpbmNsdWRlIDxtYWNoL3Rhc2suaD4KLSNpbmNsdWRlIDxtYWNoL3ZtX21hcC5o
PgorIyBpbmNsdWRlIDxtYWNoL21hY2hfaW5pdC5oPgorIyBpbmNsdWRlIDxtYWNoL3Rhc2suaD4K
KyMgaW5jbHVkZSA8bWFjaC92bV9tYXAuaD4KICNlbmRpZiAgLy8gR1RFU1RfT1NfTUFDCiAKICNp
ZiBHVEVTVF9PU19EUkFHT05GTFkgfHwgR1RFU1RfT1NfRlJFRUJTRCB8fCBHVEVTVF9PU19HTlVf
S0ZSRUVCU0QgfHwgXAogICAgIEdURVNUX09TX05FVEJTRCB8fCBHVEVTVF9PU19PUEVOQlNECi0j
aW5jbHVkZSA8c3lzL3N5c2N0bC5oPgotI2lmIEdURVNUX09TX0RSQUdPTkZMWSB8fCBHVEVTVF9P
U19GUkVFQlNEIHx8IEdURVNUX09TX0dOVV9LRlJFRUJTRAotI2luY2x1ZGUgPHN5cy91c2VyLmg+
Ci0jZW5kaWYKKyMgaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgorIyBpZiBHVEVTVF9PU19EUkFHT05G
TFkgfHwgR1RFU1RfT1NfRlJFRUJTRCB8fCBHVEVTVF9PU19HTlVfS0ZSRUVCU0QKKyMgIGluY2x1
ZGUgPHN5cy91c2VyLmg+CisjIGVuZGlmCiAjZW5kaWYKIAogI2lmIEdURVNUX09TX1FOWAotI2lu
Y2x1ZGUgPGRldmN0bC5oPgotI2luY2x1ZGUgPGZjbnRsLmg+Ci0jaW5jbHVkZSA8c3lzL3Byb2Nm
cy5oPgorIyBpbmNsdWRlIDxkZXZjdGwuaD4KKyMgaW5jbHVkZSA8ZmNudGwuaD4KKyMgaW5jbHVk
ZSA8c3lzL3Byb2Nmcy5oPgogI2VuZGlmICAvLyBHVEVTVF9PU19RTlgKIAogI2lmIEdURVNUX09T
X0FJWAotI2luY2x1ZGUgPHByb2NpbmZvLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjIGlu
Y2x1ZGUgPHByb2NpbmZvLmg+CisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgogI2VuZGlmICAvLyBH
VEVTVF9PU19BSVgKIAogI2lmIEdURVNUX09TX0ZVQ0hTSUEKLSNpbmNsdWRlIDx6aXJjb24vcHJv
Y2Vzcy5oPgotI2luY2x1ZGUgPHppcmNvbi9zeXNjYWxscy5oPgorIyBpbmNsdWRlIDx6aXJjb24v
cHJvY2Vzcy5oPgorIyBpbmNsdWRlIDx6aXJjb24vc3lzY2FsbHMuaD4KICNlbmRpZiAgLy8gR1RF
U1RfT1NfRlVDSFNJQQogCi0jaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QtbWVzc2FnZS5oIgogI2luY2x1
ZGUgImd0ZXN0L2d0ZXN0LXNwaS5oIgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LW1lc3NhZ2UuaCIK
ICNpbmNsdWRlICJndGVzdC9pbnRlcm5hbC9ndGVzdC1pbnRlcm5hbC5oIgogI2luY2x1ZGUgImd0
ZXN0L2ludGVybmFsL2d0ZXN0LXN0cmluZy5oIgogI2luY2x1ZGUgInNyYy9ndGVzdC1pbnRlcm5h
bC1pbmwuaCIKQEAgLTkwLDcgKzg5LDE2IEBACiBuYW1lc3BhY2UgdGVzdGluZyB7CiBuYW1lc3Bh
Y2UgaW50ZXJuYWwgewogCi0jaWYgR1RFU1RfT1NfTElOVVggfHwgR1RFU1RfT1NfR05VX0hVUkQK
KyNpZiBkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9fQk9STEFORENfXykKKy8vIE1TVkMg
YW5kIEMrK0J1aWxkZXIgZG8gbm90IHByb3ZpZGUgYSBkZWZpbml0aW9uIG9mIFNUREVSUl9GSUxF
Tk8uCitjb25zdCBpbnQga1N0ZE91dEZpbGVubyA9IDE7Citjb25zdCBpbnQga1N0ZEVyckZpbGVu
byA9IDI7CisjZWxzZQorY29uc3QgaW50IGtTdGRPdXRGaWxlbm8gPSBTVERPVVRfRklMRU5POwor
Y29uc3QgaW50IGtTdGRFcnJGaWxlbm8gPSBTVERFUlJfRklMRU5POworI2VuZGlmICAvLyBfTVND
X1ZFUgorCisjaWYgR1RFU1RfT1NfTElOVVgKIAogbmFtZXNwYWNlIHsKIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPgpAQCAtMTIzLDcgKzEzMSw4IEBAIHNpemVfdCBHZXRUaHJlYWRDb3VudCgpIHsKICAg
aWYgKHN0YXR1cyA9PSBLRVJOX1NVQ0NFU1MpIHsKICAgICAvLyB0YXNrX3RocmVhZHMgYWxsb2Nh
dGVzIHJlc291cmNlcyBpbiB0aHJlYWRfbGlzdCBhbmQgd2UgbmVlZCB0byBmcmVlIHRoZW0KICAg
ICAvLyB0byBhdm9pZCBsZWFrcy4KLSAgICB2bV9kZWFsbG9jYXRlKHRhc2ssIHJlaW50ZXJwcmV0
X2Nhc3Q8dm1fYWRkcmVzc190Pih0aHJlYWRfbGlzdCksCisgICAgdm1fZGVhbGxvY2F0ZSh0YXNr
LAorICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2bV9hZGRyZXNzX3Q+KHRocmVh
ZF9saXN0KSwKICAgICAgICAgICAgICAgICAgIHNpemVvZih0aHJlYWRfdCkgKiB0aHJlYWRfY291
bnQpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+KHRocmVhZF9jb3VudCk7CiAgIH0g
ZWxzZSB7CkBAIC0xMzIsNyArMTQxLDcgQEAgc2l6ZV90IEdldFRocmVhZENvdW50KCkgewogfQog
CiAjZWxpZiBHVEVTVF9PU19EUkFHT05GTFkgfHwgR1RFU1RfT1NfRlJFRUJTRCB8fCBHVEVTVF9P
U19HTlVfS0ZSRUVCU0QgfHwgXAotICAgIEdURVNUX09TX05FVEJTRAorICAgICAgR1RFU1RfT1Nf
TkVUQlNECiAKICNpZiBHVEVTVF9PU19ORVRCU0QKICN1bmRlZiBLRVJOX1BST0MKQEAgLTE3NSwx
MiArMTg0LDEyIEBAIHNpemVfdCBHZXRUaHJlYWRDb3VudCgpIHsKIC8vIHdlIGNhbm5vdCBkZXRl
Y3QgaXQuCiBzaXplX3QgR2V0VGhyZWFkQ291bnQoKSB7CiAgIGludCBtaWJbXSA9IHsKLSAgICAg
IENUTF9LRVJOLAotICAgICAgS0VSTl9QUk9DLAotICAgICAgS0VSTl9QUk9DX1BJRCB8IEtFUk5f
UFJPQ19TSE9XX1RIUkVBRFMsCi0gICAgICBnZXRwaWQoKSwKLSAgICAgIHNpemVvZihzdHJ1Y3Qg
a2luZm9fcHJvYyksCi0gICAgICAwLAorICAgIENUTF9LRVJOLAorICAgIEtFUk5fUFJPQywKKyAg
ICBLRVJOX1BST0NfUElEIHwgS0VSTl9QUk9DX1NIT1dfVEhSRUFEUywKKyAgICBnZXRwaWQoKSwK
KyAgICBzaXplb2Yoc3RydWN0IGtpbmZvX3Byb2MpLAorICAgIDAsCiAgIH07CiAgIHVfaW50IG1p
YmxlbiA9IHNpemVvZihtaWIpIC8gc2l6ZW9mKG1pYlswXSk7CiAKQEAgLTE4OSw4ICsxOTgsNyBA
QCBzaXplX3QgR2V0VGhyZWFkQ291bnQoKSB7CiAgIGlmIChzeXNjdGwobWliLCBtaWJsZW4sIE5V
TEwsICZzaXplLCBOVUxMLCAwKSkgewogICAgIHJldHVybiAwOwogICB9Ci0KLSAgbWliWzVdID0g
c3RhdGljX2Nhc3Q8aW50PihzaXplIC8gc3RhdGljX2Nhc3Q8c2l6ZV90PihtaWJbNF0pKTsKKyAg
bWliWzVdID0gc2l6ZSAvIG1pYls0XTsKIAogICAvLyBwb3B1bGF0ZSBhcnJheSBvZiBzdHJ1Y3Rz
CiAgIHN0cnVjdCBraW5mb19wcm9jIGluZm9bbWliWzVdXTsKQEAgLTE5OSw5ICsyMDcsMTAgQEAg
c2l6ZV90IEdldFRocmVhZENvdW50KCkgewogICB9CiAKICAgLy8gZXhjbHVkZSBlbXB0eSBtZW1i
ZXJzCi0gIHNpemVfdCBudGhyZWFkcyA9IDA7Ci0gIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6
ZSAvIHN0YXRpY19jYXN0PHNpemVfdD4obWliWzRdKTsgaSsrKSB7Ci0gICAgaWYgKGluZm9baV0u
cF90aWQgIT0gLTEpIG50aHJlYWRzKys7CisgIGludCBudGhyZWFkcyA9IDA7CisgIGZvciAoaW50
IGkgPSAwOyBpIDwgc2l6ZSAvIG1pYls0XTsgaSsrKSB7CisgICAgaWYgKGluZm9baV0ucF90aWQg
IT0gLTEpCisgICAgICBudGhyZWFkcysrOwogICB9CiAgIHJldHVybiBudGhyZWFkczsKIH0KQEAg
LTI0NCw5ICsyNTMsMTMgQEAgc2l6ZV90IEdldFRocmVhZENvdW50KCkgewogc2l6ZV90IEdldFRo
cmVhZENvdW50KCkgewogICBpbnQgZHVtbXlfYnVmZmVyOwogICBzaXplX3QgYXZhaWw7Ci0gIHp4
X3N0YXR1c190IHN0YXR1cyA9Ci0gICAgICB6eF9vYmplY3RfZ2V0X2luZm8oenhfcHJvY2Vzc19z
ZWxmKCksIFpYX0lORk9fUFJPQ0VTU19USFJFQURTLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICZkdW1teV9idWZmZXIsIDAsIG51bGxwdHIsICZhdmFpbCk7CisgIHp4X3N0YXR1c190IHN0YXR1
cyA9IHp4X29iamVjdF9nZXRfaW5mbygKKyAgICAgIHp4X3Byb2Nlc3Nfc2VsZigpLAorICAgICAg
WlhfSU5GT19QUk9DRVNTX1RIUkVBRFMsCisgICAgICAmZHVtbXlfYnVmZmVyLAorICAgICAgMCwK
KyAgICAgIG51bGxwdHIsCisgICAgICAmYXZhaWwpOwogICBpZiAoc3RhdHVzID09IFpYX09LKSB7
CiAgICAgcmV0dXJuIGF2YWlsOwogICB9IGVsc2UgewpAQCAtMjY2LDE1ICsyNzksMjcgQEAgc2l6
ZV90IEdldFRocmVhZENvdW50KCkgewogCiAjaWYgR1RFU1RfSVNfVEhSRUFEU0FGRSAmJiBHVEVT
VF9PU19XSU5ET1dTCiAKLUF1dG9IYW5kbGU6OkF1dG9IYW5kbGUoKSA6IGhhbmRsZV8oSU5WQUxJ
RF9IQU5ETEVfVkFMVUUpIHt9Cit2b2lkIFNsZWVwTWlsbGlzZWNvbmRzKGludCBuKSB7CisgIDo6
U2xlZXAoc3RhdGljX2Nhc3Q8RFdPUkQ+KG4pKTsKK30KIAotQXV0b0hhbmRsZTo6QXV0b0hhbmRs
ZShIYW5kbGUgaGFuZGxlKSA6IGhhbmRsZV8oaGFuZGxlKSB7fQorQXV0b0hhbmRsZTo6QXV0b0hh
bmRsZSgpCisgICAgOiBoYW5kbGVfKElOVkFMSURfSEFORExFX1ZBTFVFKSB7fQogCi1BdXRvSGFu
ZGxlOjp+QXV0b0hhbmRsZSgpIHsgUmVzZXQoKTsgfQorQXV0b0hhbmRsZTo6QXV0b0hhbmRsZShI
YW5kbGUgaGFuZGxlKQorICAgIDogaGFuZGxlXyhoYW5kbGUpIHt9CiAKLUF1dG9IYW5kbGU6Okhh
bmRsZSBBdXRvSGFuZGxlOjpHZXQoKSBjb25zdCB7IHJldHVybiBoYW5kbGVfOyB9CitBdXRvSGFu
ZGxlOjp+QXV0b0hhbmRsZSgpIHsKKyAgUmVzZXQoKTsKK30KIAotdm9pZCBBdXRvSGFuZGxlOjpS
ZXNldCgpIHsgUmVzZXQoSU5WQUxJRF9IQU5ETEVfVkFMVUUpOyB9CitBdXRvSGFuZGxlOjpIYW5k
bGUgQXV0b0hhbmRsZTo6R2V0KCkgY29uc3QgeworICByZXR1cm4gaGFuZGxlXzsKK30KKwordm9p
ZCBBdXRvSGFuZGxlOjpSZXNldCgpIHsKKyAgUmVzZXQoSU5WQUxJRF9IQU5ETEVfVkFMVUUpOwor
fQogCiB2b2lkIEF1dG9IYW5kbGU6OlJlc2V0KEhBTkRMRSBoYW5kbGUpIHsKICAgLy8gUmVzZXR0
aW5nIHdpdGggdGhlIHNhbWUgaGFuZGxlIHdlIGFscmVhZHkgb3duIGlzIGludmFsaWQuCkBAIC0y
ODYsNyArMzExLDcgQEAgdm9pZCBBdXRvSGFuZGxlOjpSZXNldChIQU5ETEUgaGFuZGxlKSB7CiAg
IH0gZWxzZSB7CiAgICAgR1RFU1RfQ0hFQ0tfKCFJc0Nsb3NlYWJsZSgpKQogICAgICAgICA8PCAi
UmVzZXR0aW5nIGEgdmFsaWQgaGFuZGxlIHRvIGl0c2VsZiBpcyBsaWtlbHkgYSBwcm9ncmFtbWVy
IGVycm9yICIKLSAgICAgICAgICAgImFuZCB0aHVzIG5vdCBhbGxvd2VkLiI7CisgICAgICAgICAg
ICAiYW5kIHRodXMgbm90IGFsbG93ZWQuIjsKICAgfQogfQogCkBAIC0yOTYsNiArMzIxLDIzIEBA
IGJvb2wgQXV0b0hhbmRsZTo6SXNDbG9zZWFibGUoKSBjb25zdCB7CiAgIHJldHVybiBoYW5kbGVf
ICE9IG51bGxwdHIgJiYgaGFuZGxlXyAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKIH0KIAorTm90
aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oKQorICAgIDogZXZlbnRfKDo6Q3JlYXRlRXZlbnQobnVs
bHB0ciwgICAgIC8vIERlZmF1bHQgc2VjdXJpdHkgYXR0cmlidXRlcy4KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFRSVUUsICAgICAgICAvLyBEbyBub3QgcmVzZXQgYXV0b21hdGljYWxseS4K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLCAgICAgICAvLyBJbml0aWFsbHkgdW5z
ZXQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyKSkgeyAgLy8gQW5vbnltb3Vz
IGV2ZW50LgorICBHVEVTVF9DSEVDS18oZXZlbnRfLkdldCgpICE9IG51bGxwdHIpOworfQorCit2
b2lkIE5vdGlmaWNhdGlvbjo6Tm90aWZ5KCkgeworICBHVEVTVF9DSEVDS18oOjpTZXRFdmVudChl
dmVudF8uR2V0KCkpICE9IEZBTFNFKTsKK30KKwordm9pZCBOb3RpZmljYXRpb246OldhaXRGb3JO
b3RpZmljYXRpb24oKSB7CisgIEdURVNUX0NIRUNLXygKKyAgICAgIDo6V2FpdEZvclNpbmdsZU9i
amVjdChldmVudF8uR2V0KCksIElORklOSVRFKSA9PSBXQUlUX09CSkVDVF8wKTsKK30KKwogTXV0
ZXg6Ok11dGV4KCkKICAgICA6IG93bmVyX3RocmVhZF9pZF8oMCksCiAgICAgICB0eXBlXyhrRHlu
YW1pYyksCkBAIC0zNDgsMjUgKzM5MCwyNSBAQCBuYW1lc3BhY2UgewogLy8gICAgTWVtb3J5SXNO
b3REZWFsbG9jYXRlZCBtZW1vcnlfaXNfbm90X2RlYWxsb2NhdGVkOwogLy8gICAgY3JpdGljYWxf
c2VjdGlvbl8gPSBuZXcgQ1JJVElDQUxfU0VDVElPTjsKIC8vCi1jbGFzcyBNZW1vcnlJc05vdERl
YWxsb2NhdGVkIHsKK2NsYXNzIE1lbW9yeUlzTm90RGVhbGxvY2F0ZWQKK3sKICBwdWJsaWM6CiAg
IE1lbW9yeUlzTm90RGVhbGxvY2F0ZWQoKSA6IG9sZF9jcnRkYmdfZmxhZ18oMCkgewogICAgIG9s
ZF9jcnRkYmdfZmxhZ18gPSBfQ3J0U2V0RGJnRmxhZyhfQ1JUREJHX1JFUE9SVF9GTEFHKTsKICAg
ICAvLyBTZXQgaGVhcCBhbGxvY2F0aW9uIGJsb2NrIHR5cGUgdG8gX0lHTk9SRV9CTE9DSyBzbyB0
aGF0IE1TIGRlYnVnIENSVAogICAgIC8vIGRvZXNuJ3QgcmVwb3J0IG1lbSBsZWFrIGlmIHRoZXJl
J3Mgbm8gbWF0Y2hpbmcgZGVhbGxvY2F0aW9uLgotICAgICh2b2lkKV9DcnRTZXREYmdGbGFnKG9s
ZF9jcnRkYmdfZmxhZ18gJiB+X0NSVERCR19BTExPQ19NRU1fREYpOworICAgIF9DcnRTZXREYmdG
bGFnKG9sZF9jcnRkYmdfZmxhZ18gJiB+X0NSVERCR19BTExPQ19NRU1fREYpOwogICB9CiAKICAg
fk1lbW9yeUlzTm90RGVhbGxvY2F0ZWQoKSB7CiAgICAgLy8gUmVzdG9yZSB0aGUgb3JpZ2luYWwg
X0NSVERCR19BTExPQ19NRU1fREYgZmxhZwotICAgICh2b2lkKV9DcnRTZXREYmdGbGFnKG9sZF9j
cnRkYmdfZmxhZ18pOworICAgIF9DcnRTZXREYmdGbGFnKG9sZF9jcnRkYmdfZmxhZ18pOwogICB9
CiAKICBwcml2YXRlOgogICBpbnQgb2xkX2NydGRiZ19mbGFnXzsKIAotICBNZW1vcnlJc05vdERl
YWxsb2NhdGVkKGNvbnN0IE1lbW9yeUlzTm90RGVhbGxvY2F0ZWQmKSA9IGRlbGV0ZTsKLSAgTWVt
b3J5SXNOb3REZWFsbG9jYXRlZCYgb3BlcmF0b3I9KGNvbnN0IE1lbW9yeUlzTm90RGVhbGxvY2F0
ZWQmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOXyhNZW1vcnlJ
c05vdERlYWxsb2NhdGVkKTsKIH07CiAjZW5kaWYgIC8vIF9NU0NfVkVSCiAKQEAgLTM5MiwxMyAr
NDM0LDE1IEBAIHZvaWQgTXV0ZXg6OlRocmVhZFNhZmVMYXp5SW5pdCgpIHsKICAgICAgICAgOjpJ
bml0aWFsaXplQ3JpdGljYWxTZWN0aW9uKGNyaXRpY2FsX3NlY3Rpb25fKTsKICAgICAgICAgLy8g
VXBkYXRlcyB0aGUgY3JpdGljYWxfc2VjdGlvbl9pbml0X3BoYXNlXyB0byAyIHRvIHNpZ25hbAog
ICAgICAgICAvLyBpbml0aWFsaXphdGlvbiBjb21wbGV0ZS4KLSAgICAgICAgR1RFU1RfQ0hFQ0tf
KDo6SW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoJmNyaXRpY2FsX3NlY3Rpb25faW5pdF9waGFz
ZV8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJM
LCAxTCkgPT0gMUwpOworICAgICAgICBHVEVTVF9DSEVDS18oOjpJbnRlcmxvY2tlZENvbXBhcmVF
eGNoYW5nZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmNyaXRpY2FsX3NlY3Rpb25faW5p
dF9waGFzZV8sIDJMLCAxTCkgPT0KKyAgICAgICAgICAgICAgICAgICAgICAxTCk7CiAgICAgICAg
IGJyZWFrOwogICAgICAgY2FzZSAxOgogICAgICAgICAvLyBTb21lYm9keSBlbHNlIGlzIGFscmVh
ZHkgaW5pdGlhbGl6aW5nIHRoZSBtdXRleDsgc3BpbiB1bnRpbCB0aGV5CiAgICAgICAgIC8vIGFy
ZSBkb25lLgotICAgICAgICB3aGlsZSAoOjpJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSgmY3Jp
dGljYWxfc2VjdGlvbl9pbml0X3BoYXNlXywgMkwsCisgICAgICAgIHdoaWxlICg6OkludGVybG9j
a2VkQ29tcGFyZUV4Y2hhbmdlKCZjcml0aWNhbF9zZWN0aW9uX2luaXRfcGhhc2VfLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyTCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMkwpICE9IDJMKSB7CiAgICAgICAgICAgLy8g
UG9zc2libHkgeWllbGRzIHRoZSByZXN0IG9mIHRoZSB0aHJlYWQncyB0aW1lIHNsaWNlIHRvIG90
aGVyCiAgICAgICAgICAgLy8gdGhyZWFkcy4KQEAgLTQ0Myw3ICs0ODcsOSBAQCBjbGFzcyBUaHJl
YWRXaXRoUGFyYW1TdXBwb3J0IDogcHVibGljIFRocmVhZFdpdGhQYXJhbUJhc2UgewogIHByaXZh
dGU6CiAgIHN0cnVjdCBUaHJlYWRNYWluUGFyYW0gewogICAgIFRocmVhZE1haW5QYXJhbShSdW5u
YWJsZSogcnVubmFibGUsIE5vdGlmaWNhdGlvbiogdGhyZWFkX2Nhbl9zdGFydCkKLSAgICAgICAg
OiBydW5uYWJsZV8ocnVubmFibGUpLCB0aHJlYWRfY2FuX3N0YXJ0Xyh0aHJlYWRfY2FuX3N0YXJ0
KSB7fQorICAgICAgICA6IHJ1bm5hYmxlXyhydW5uYWJsZSksCisgICAgICAgICAgdGhyZWFkX2Nh
bl9zdGFydF8odGhyZWFkX2Nhbl9zdGFydCkgeworICAgIH0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UnVubmFibGU+IHJ1bm5hYmxlXzsKICAgICAvLyBEb2VzIG5vdCBvd24uCiAgICAgTm90aWZpY2F0
aW9uKiB0aHJlYWRfY2FuX3N0YXJ0XzsKQEAgLTQ2MSwxOCArNTA3LDIwIEBAIGNsYXNzIFRocmVh
ZFdpdGhQYXJhbVN1cHBvcnQgOiBwdWJsaWMgVGhyZWFkV2l0aFBhcmFtQmFzZSB7CiAgIC8vIFBy
b2hpYml0IGluc3RhbnRpYXRpb24uCiAgIFRocmVhZFdpdGhQYXJhbVN1cHBvcnQoKTsKIAotICBU
aHJlYWRXaXRoUGFyYW1TdXBwb3J0KGNvbnN0IFRocmVhZFdpdGhQYXJhbVN1cHBvcnQmKSA9IGRl
bGV0ZTsKLSAgVGhyZWFkV2l0aFBhcmFtU3VwcG9ydCYgb3BlcmF0b3I9KGNvbnN0IFRocmVhZFdp
dGhQYXJhbVN1cHBvcnQmKSA9IGRlbGV0ZTsKKyAgR1RFU1RfRElTQUxMT1dfQ09QWV9BTkRfQVNT
SUdOXyhUaHJlYWRXaXRoUGFyYW1TdXBwb3J0KTsKIH07CiAKIH0gIC8vIG5hbWVzcGFjZQogCi1U
aHJlYWRXaXRoUGFyYW1CYXNlOjpUaHJlYWRXaXRoUGFyYW1CYXNlKFJ1bm5hYmxlKiBydW5uYWJs
ZSwKK1RocmVhZFdpdGhQYXJhbUJhc2U6OlRocmVhZFdpdGhQYXJhbUJhc2UoUnVubmFibGUgKnJ1
bm5hYmxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmlj
YXRpb24qIHRocmVhZF9jYW5fc3RhcnQpCi0gICAgOiB0aHJlYWRfKAotICAgICAgICAgIFRocmVh
ZFdpdGhQYXJhbVN1cHBvcnQ6OkNyZWF0ZVRocmVhZChydW5uYWJsZSwgdGhyZWFkX2Nhbl9zdGFy
dCkpIHt9CisgICAgICA6IHRocmVhZF8oVGhyZWFkV2l0aFBhcmFtU3VwcG9ydDo6Q3JlYXRlVGhy
ZWFkKHJ1bm5hYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aHJlYWRfY2FuX3N0YXJ0KSkgeworfQogCi1UaHJlYWRXaXRoUGFyYW1CYXNl
Ojp+VGhyZWFkV2l0aFBhcmFtQmFzZSgpIHsgSm9pbigpOyB9CitUaHJlYWRXaXRoUGFyYW1CYXNl
Ojp+VGhyZWFkV2l0aFBhcmFtQmFzZSgpIHsKKyAgSm9pbigpOworfQogCiB2b2lkIFRocmVhZFdp
dGhQYXJhbUJhc2U6OkpvaW4oKSB7CiAgIEdURVNUX0NIRUNLXyg6OldhaXRGb3JTaW5nbGVPYmpl
Y3QodGhyZWFkXy5HZXQoKSwgSU5GSU5JVEUpID09IFdBSVRfT0JKRUNUXzApCkBAIC00OTksMTAg
KzU0Nyw4IEBAIGNsYXNzIFRocmVhZExvY2FsUmVnaXN0cnlJbXBsIHsKICAgICBUaHJlYWRJZFRv
VGhyZWFkTG9jYWxzOjppdGVyYXRvciB0aHJlYWRfbG9jYWxfcG9zID0KICAgICAgICAgdGhyZWFk
X3RvX3RocmVhZF9sb2NhbHMtPmZpbmQoY3VycmVudF90aHJlYWQpOwogICAgIGlmICh0aHJlYWRf
bG9jYWxfcG9zID09IHRocmVhZF90b190aHJlYWRfbG9jYWxzLT5lbmQoKSkgewotICAgICAgdGhy
ZWFkX2xvY2FsX3BvcyA9Ci0gICAgICAgICAgdGhyZWFkX3RvX3RocmVhZF9sb2NhbHMKLSAgICAg
ICAgICAgICAgLT5pbnNlcnQoc3RkOjptYWtlX3BhaXIoY3VycmVudF90aHJlYWQsIFRocmVhZExv
Y2FsVmFsdWVzKCkpKQotICAgICAgICAgICAgICAuZmlyc3Q7CisgICAgICB0aHJlYWRfbG9jYWxf
cG9zID0gdGhyZWFkX3RvX3RocmVhZF9sb2NhbHMtPmluc2VydCgKKyAgICAgICAgICBzdGQ6Om1h
a2VfcGFpcihjdXJyZW50X3RocmVhZCwgVGhyZWFkTG9jYWxWYWx1ZXMoKSkpLmZpcnN0OwogICAg
ICAgU3RhcnRXYXRjaGVyVGhyZWFkRm9yKGN1cnJlbnRfdGhyZWFkKTsKICAgICB9CiAgICAgVGhy
ZWFkTG9jYWxWYWx1ZXMmIHRocmVhZF9sb2NhbF92YWx1ZXMgPSB0aHJlYWRfbG9jYWxfcG9zLT5z
ZWNvbmQ7CkBAIC01MzAsOCArNTc2LDkgQEAgY2xhc3MgVGhyZWFkTG9jYWxSZWdpc3RyeUltcGwg
ewogICAgICAgVGhyZWFkSWRUb1RocmVhZExvY2FscyogY29uc3QgdGhyZWFkX3RvX3RocmVhZF9s
b2NhbHMgPQogICAgICAgICAgIEdldFRocmVhZExvY2Fsc01hcExvY2tlZCgpOwogICAgICAgZm9y
IChUaHJlYWRJZFRvVGhyZWFkTG9jYWxzOjppdGVyYXRvciBpdCA9Ci0gICAgICAgICAgICAgICB0
aHJlYWRfdG9fdGhyZWFkX2xvY2Fscy0+YmVnaW4oKTsKLSAgICAgICAgICAgaXQgIT0gdGhyZWFk
X3RvX3RocmVhZF9sb2NhbHMtPmVuZCgpOyArK2l0KSB7CisgICAgICAgICAgdGhyZWFkX3RvX3Ro
cmVhZF9sb2NhbHMtPmJlZ2luKCk7CisgICAgICAgICAgaXQgIT0gdGhyZWFkX3RvX3RocmVhZF9s
b2NhbHMtPmVuZCgpOworICAgICAgICAgICsraXQpIHsKICAgICAgICAgVGhyZWFkTG9jYWxWYWx1
ZXMmIHRocmVhZF9sb2NhbF92YWx1ZXMgPSBpdC0+c2Vjb25kOwogICAgICAgICBUaHJlYWRMb2Nh
bFZhbHVlczo6aXRlcmF0b3IgdmFsdWVfcG9zID0KICAgICAgICAgICAgIHRocmVhZF9sb2NhbF92
YWx1ZXMuZmluZCh0aHJlYWRfbG9jYWxfaW5zdGFuY2UpOwpAQCAtNTYxLDggKzYwOCw5IEBAIGNs
YXNzIFRocmVhZExvY2FsUmVnaXN0cnlJbXBsIHsKICAgICAgIGlmICh0aHJlYWRfbG9jYWxfcG9z
ICE9IHRocmVhZF90b190aHJlYWRfbG9jYWxzLT5lbmQoKSkgewogICAgICAgICBUaHJlYWRMb2Nh
bFZhbHVlcyYgdGhyZWFkX2xvY2FsX3ZhbHVlcyA9IHRocmVhZF9sb2NhbF9wb3MtPnNlY29uZDsK
ICAgICAgICAgZm9yIChUaHJlYWRMb2NhbFZhbHVlczo6aXRlcmF0b3IgdmFsdWVfcG9zID0KLSAg
ICAgICAgICAgICAgICAgdGhyZWFkX2xvY2FsX3ZhbHVlcy5iZWdpbigpOwotICAgICAgICAgICAg
IHZhbHVlX3BvcyAhPSB0aHJlYWRfbG9jYWxfdmFsdWVzLmVuZCgpOyArK3ZhbHVlX3Bvcykgewor
ICAgICAgICAgICAgdGhyZWFkX2xvY2FsX3ZhbHVlcy5iZWdpbigpOworICAgICAgICAgICAgdmFs
dWVfcG9zICE9IHRocmVhZF9sb2NhbF92YWx1ZXMuZW5kKCk7CisgICAgICAgICAgICArK3ZhbHVl
X3BvcykgewogICAgICAgICAgIHZhbHVlX2hvbGRlcnMucHVzaF9iYWNrKHZhbHVlX3Bvcy0+c2Vj
b25kKTsKICAgICAgICAgfQogICAgICAgICB0aHJlYWRfdG9fdGhyZWFkX2xvY2Fscy0+ZXJhc2Uo
dGhyZWFkX2xvY2FsX3Bvcyk7CkBAIC01ODgsOCArNjM2LDkgQEAgY2xhc3MgVGhyZWFkTG9jYWxS
ZWdpc3RyeUltcGwgewogICBzdGF0aWMgdm9pZCBTdGFydFdhdGNoZXJUaHJlYWRGb3IoRFdPUkQg
dGhyZWFkX2lkKSB7CiAgICAgLy8gVGhlIHJldHVybmVkIGhhbmRsZSB3aWxsIGJlIGtlcHQgaW4g
dGhyZWFkX21hcCBhbmQgY2xvc2VkIGJ5CiAgICAgLy8gd2F0Y2hlcl90aHJlYWQgaW4gV2F0Y2hl
clRocmVhZEZ1bmMuCi0gICAgSEFORExFIHRocmVhZCA9Ci0gICAgICAgIDo6T3BlblRocmVhZChT
WU5DSFJPTklaRSB8IFRIUkVBRF9RVUVSWV9JTkZPUk1BVElPTiwgRkFMU0UsIHRocmVhZF9pZCk7
CisgICAgSEFORExFIHRocmVhZCA9IDo6T3BlblRocmVhZChTWU5DSFJPTklaRSB8IFRIUkVBRF9R
VUVSWV9JTkZPUk1BVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNF
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkX2lkKTsKICAgICBHVEVT
VF9DSEVDS18odGhyZWFkICE9IG51bGxwdHIpOwogICAgIC8vIFdlIG5lZWQgdG8gcGFzcyBhIHZh
bGlkIHRocmVhZCBJRCBwb2ludGVyIGludG8gQ3JlYXRlVGhyZWFkIGZvciBpdAogICAgIC8vIHRv
IHdvcmsgY29ycmVjdGx5IHVuZGVyIFdpbjk4LgpAQCAtNjAwLDggKzY0OSw3IEBAIGNsYXNzIFRo
cmVhZExvY2FsUmVnaXN0cnlJbXBsIHsKICAgICAgICAgJlRocmVhZExvY2FsUmVnaXN0cnlJbXBs
OjpXYXRjaGVyVGhyZWFkRnVuYywKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxMUFZPSUQ+KG5l
dyBUaHJlYWRJZEFuZEhhbmRsZSh0aHJlYWRfaWQsIHRocmVhZCkpLAogICAgICAgICBDUkVBVEVf
U1VTUEVOREVELCAmd2F0Y2hlcl90aHJlYWRfaWQpOwotICAgIEdURVNUX0NIRUNLXyh3YXRjaGVy
X3RocmVhZCAhPSBudWxscHRyKQotICAgICAgICA8PCAiQ3JlYXRlVGhyZWFkIGZhaWxlZCB3aXRo
IGVycm9yICIgPDwgOjpHZXRMYXN0RXJyb3IoKSA8PCAiLiI7CisgICAgR1RFU1RfQ0hFQ0tfKHdh
dGNoZXJfdGhyZWFkICE9IG51bGxwdHIpOwogICAgIC8vIEdpdmUgdGhlIHdhdGNoZXIgdGhyZWFk
IHRoZSBzYW1lIHByaW9yaXR5IGFzIG91cnMgdG8gYXZvaWQgYmVpbmcKICAgICAvLyBibG9ja2Vk
IGJ5IGl0LgogICAgIDo6U2V0VGhyZWFkUHJpb3JpdHkod2F0Y2hlcl90aHJlYWQsCkBAIC02MTUs
NyArNjYzLDggQEAgY2xhc3MgVGhyZWFkTG9jYWxSZWdpc3RyeUltcGwgewogICBzdGF0aWMgRFdP
UkQgV0lOQVBJIFdhdGNoZXJUaHJlYWRGdW5jKExQVk9JRCBwYXJhbSkgewogICAgIGNvbnN0IFRo
cmVhZElkQW5kSGFuZGxlKiB0YWggPQogICAgICAgICByZWludGVycHJldF9jYXN0PGNvbnN0IFRo
cmVhZElkQW5kSGFuZGxlKj4ocGFyYW0pOwotICAgIEdURVNUX0NIRUNLXyg6OldhaXRGb3JTaW5n
bGVPYmplY3QodGFoLT5zZWNvbmQsIElORklOSVRFKSA9PSBXQUlUX09CSkVDVF8wKTsKKyAgICBH
VEVTVF9DSEVDS18oCisgICAgICAgIDo6V2FpdEZvclNpbmdsZU9iamVjdCh0YWgtPnNlY29uZCwg
SU5GSU5JVEUpID09IFdBSVRfT0JKRUNUXzApOwogICAgIE9uVGhyZWFkRXhpdCh0YWgtPmZpcnN0
KTsKICAgICA6OkNsb3NlSGFuZGxlKHRhaC0+c2Vjb25kKTsKICAgICBkZWxldGUgdGFoOwpAQCAt
NjM4LDE4ICs2ODcsMTcgQEAgY2xhc3MgVGhyZWFkTG9jYWxSZWdpc3RyeUltcGwgewogICBzdGF0
aWMgTXV0ZXggdGhyZWFkX21hcF9tdXRleF87CiB9OwogCi1NdXRleCBUaHJlYWRMb2NhbFJlZ2lz
dHJ5SW1wbDo6bXV0ZXhfKE11dGV4OjprU3RhdGljTXV0ZXgpOyAgLy8gTk9MSU5UCi1NdXRleCBU
aHJlYWRMb2NhbFJlZ2lzdHJ5SW1wbDo6dGhyZWFkX21hcF9tdXRleF8oCi0gICAgTXV0ZXg6OmtT
dGF0aWNNdXRleCk7ICAvLyBOT0xJTlQKK011dGV4IFRocmVhZExvY2FsUmVnaXN0cnlJbXBsOjpt
dXRleF8oTXV0ZXg6OmtTdGF0aWNNdXRleCk7CitNdXRleCBUaHJlYWRMb2NhbFJlZ2lzdHJ5SW1w
bDo6dGhyZWFkX21hcF9tdXRleF8oTXV0ZXg6OmtTdGF0aWNNdXRleCk7CiAKIFRocmVhZExvY2Fs
VmFsdWVIb2xkZXJCYXNlKiBUaHJlYWRMb2NhbFJlZ2lzdHJ5OjpHZXRWYWx1ZU9uQ3VycmVudFRo
cmVhZCgKLSAgICBjb25zdCBUaHJlYWRMb2NhbEJhc2UqIHRocmVhZF9sb2NhbF9pbnN0YW5jZSkg
eworICAgICAgY29uc3QgVGhyZWFkTG9jYWxCYXNlKiB0aHJlYWRfbG9jYWxfaW5zdGFuY2UpIHsK
ICAgcmV0dXJuIFRocmVhZExvY2FsUmVnaXN0cnlJbXBsOjpHZXRWYWx1ZU9uQ3VycmVudFRocmVh
ZCgKICAgICAgIHRocmVhZF9sb2NhbF9pbnN0YW5jZSk7CiB9CiAKIHZvaWQgVGhyZWFkTG9jYWxS
ZWdpc3RyeTo6T25UaHJlYWRMb2NhbERlc3Ryb3llZCgKLSAgICBjb25zdCBUaHJlYWRMb2NhbEJh
c2UqIHRocmVhZF9sb2NhbF9pbnN0YW5jZSkgeworICAgICAgY29uc3QgVGhyZWFkTG9jYWxCYXNl
KiB0aHJlYWRfbG9jYWxfaW5zdGFuY2UpIHsKICAgVGhyZWFkTG9jYWxSZWdpc3RyeUltcGw6Ok9u
VGhyZWFkTG9jYWxEZXN0cm95ZWQodGhyZWFkX2xvY2FsX2luc3RhbmNlKTsKIH0KIApAQCAtNzM3
LDcgKzc4NSw3IEBAIGJvb2wgSXNSZXBlYXQoY2hhciBjaCkgeyByZXR1cm4gSXNJblNldChjaCwg
Ij8qKyIpOyB9CiBib29sIElzQXNjaWlXaGl0ZVNwYWNlKGNoYXIgY2gpIHsgcmV0dXJuIElzSW5T
ZXQoY2gsICIgXGZcblxyXHRcdiIpOyB9CiBib29sIElzQXNjaWlXb3JkQ2hhcihjaGFyIGNoKSB7
CiAgIHJldHVybiAoJ2EnIDw9IGNoICYmIGNoIDw9ICd6JykgfHwgKCdBJyA8PSBjaCAmJiBjaCA8
PSAnWicpIHx8Ci0gICAgICAgICAoJzAnIDw9IGNoICYmIGNoIDw9ICc5JykgfHwgY2ggPT0gJ18n
OworICAgICAgKCcwJyA8PSBjaCAmJiBjaCA8PSAnOScpIHx8IGNoID09ICdfJzsKIH0KIAogLy8g
UmV0dXJucyB0cnVlIGlmIGFuZCBvbmx5IGlmICJcXGMiIGlzIGEgc3VwcG9ydGVkIGVzY2FwZSBz
ZXF1ZW5jZS4KQEAgLTc1MCwyOCArNzk4LDE3IEBAIGJvb2wgSXNWYWxpZEVzY2FwZShjaGFyIGMp
IHsKIGJvb2wgQXRvbU1hdGNoZXNDaGFyKGJvb2wgZXNjYXBlZCwgY2hhciBwYXR0ZXJuX2NoYXIs
IGNoYXIgY2gpIHsKICAgaWYgKGVzY2FwZWQpIHsgIC8vICJcXHAiIHdoZXJlIHAgaXMgcGF0dGVy
bl9jaGFyLgogICAgIHN3aXRjaCAocGF0dGVybl9jaGFyKSB7Ci0gICAgICBjYXNlICdkJzoKLSAg
ICAgICAgcmV0dXJuIElzQXNjaWlEaWdpdChjaCk7Ci0gICAgICBjYXNlICdEJzoKLSAgICAgICAg
cmV0dXJuICFJc0FzY2lpRGlnaXQoY2gpOwotICAgICAgY2FzZSAnZic6Ci0gICAgICAgIHJldHVy
biBjaCA9PSAnXGYnOwotICAgICAgY2FzZSAnbic6Ci0gICAgICAgIHJldHVybiBjaCA9PSAnXG4n
OwotICAgICAgY2FzZSAncic6Ci0gICAgICAgIHJldHVybiBjaCA9PSAnXHInOwotICAgICAgY2Fz
ZSAncyc6Ci0gICAgICAgIHJldHVybiBJc0FzY2lpV2hpdGVTcGFjZShjaCk7Ci0gICAgICBjYXNl
ICdTJzoKLSAgICAgICAgcmV0dXJuICFJc0FzY2lpV2hpdGVTcGFjZShjaCk7Ci0gICAgICBjYXNl
ICd0JzoKLSAgICAgICAgcmV0dXJuIGNoID09ICdcdCc7Ci0gICAgICBjYXNlICd2JzoKLSAgICAg
ICAgcmV0dXJuIGNoID09ICdcdic7Ci0gICAgICBjYXNlICd3JzoKLSAgICAgICAgcmV0dXJuIElz
QXNjaWlXb3JkQ2hhcihjaCk7Ci0gICAgICBjYXNlICdXJzoKLSAgICAgICAgcmV0dXJuICFJc0Fz
Y2lpV29yZENoYXIoY2gpOworICAgICAgY2FzZSAnZCc6IHJldHVybiBJc0FzY2lpRGlnaXQoY2gp
OworICAgICAgY2FzZSAnRCc6IHJldHVybiAhSXNBc2NpaURpZ2l0KGNoKTsKKyAgICAgIGNhc2Ug
J2YnOiByZXR1cm4gY2ggPT0gJ1xmJzsKKyAgICAgIGNhc2UgJ24nOiByZXR1cm4gY2ggPT0gJ1xu
JzsKKyAgICAgIGNhc2UgJ3InOiByZXR1cm4gY2ggPT0gJ1xyJzsKKyAgICAgIGNhc2UgJ3MnOiBy
ZXR1cm4gSXNBc2NpaVdoaXRlU3BhY2UoY2gpOworICAgICAgY2FzZSAnUyc6IHJldHVybiAhSXNB
c2NpaVdoaXRlU3BhY2UoY2gpOworICAgICAgY2FzZSAndCc6IHJldHVybiBjaCA9PSAnXHQnOwor
ICAgICAgY2FzZSAndic6IHJldHVybiBjaCA9PSAnXHYnOworICAgICAgY2FzZSAndyc6IHJldHVy
biBJc0FzY2lpV29yZENoYXIoY2gpOworICAgICAgY2FzZSAnVyc6IHJldHVybiAhSXNBc2NpaVdv
cmRDaGFyKGNoKTsKICAgICB9CiAgICAgcmV0dXJuIElzQXNjaWlQdW5jdChwYXR0ZXJuX2NoYXIp
ICYmIHBhdHRlcm5fY2hhciA9PSBjaDsKICAgfQpAQCAtNzgyLDggKzgxOSw3IEBAIGJvb2wgQXRv
bU1hdGNoZXNDaGFyKGJvb2wgZXNjYXBlZCwgY2hhciBwYXR0ZXJuX2NoYXIsIGNoYXIgY2gpIHsK
IC8vIEhlbHBlciBmdW5jdGlvbiB1c2VkIGJ5IFZhbGlkYXRlUmVnZXgoKSB0byBmb3JtYXQgZXJy
b3IgbWVzc2FnZXMuCiBzdGF0aWMgc3RkOjpzdHJpbmcgRm9ybWF0UmVnZXhTeW50YXhFcnJvcihj
b25zdCBjaGFyKiByZWdleCwgaW50IGluZGV4KSB7CiAgIHJldHVybiAoTWVzc2FnZSgpIDw8ICJT
eW50YXggZXJyb3IgYXQgaW5kZXggIiA8PCBpbmRleAotICAgICAgICAgICAgICAgICAgICA8PCAi
IGluIHNpbXBsZSByZWd1bGFyIGV4cHJlc3Npb24gXCIiIDw8IHJlZ2V4IDw8ICJcIjogIikKLSAg
ICAgIC5HZXRTdHJpbmcoKTsKKyAgICAgICAgICA8PCAiIGluIHNpbXBsZSByZWd1bGFyIGV4cHJl
c3Npb24gXCIiIDw8IHJlZ2V4IDw8ICJcIjogIikuR2V0U3RyaW5nKCk7CiB9CiAKIC8vIEdlbmVy
YXRlcyBub24tZmF0YWwgZmFpbHVyZXMgYW5kIHJldHVybnMgZmFsc2UgaWYgcmVnZXggaXMgaW52
YWxpZDsKQEAgLTgyNSwxMiArODYxLDEyIEBAIGJvb2wgVmFsaWRhdGVSZWdleChjb25zdCBjaGFy
KiByZWdleCkgewogICAgICAgICAgICAgICAgICAgICAgIDw8ICInJCcgY2FuIG9ubHkgYXBwZWFy
IGF0IHRoZSBlbmQuIjsKICAgICAgICAgaXNfdmFsaWQgPSBmYWxzZTsKICAgICAgIH0gZWxzZSBp
ZiAoSXNJblNldChjaCwgIigpW117fXwiKSkgewotICAgICAgICBBRERfRkFJTFVSRSgpIDw8IEZv
cm1hdFJlZ2V4U3ludGF4RXJyb3IocmVnZXgsIGkpIDw8ICInIiA8PCBjaAotICAgICAgICAgICAg
ICAgICAgICAgIDw8ICInIGlzIHVuc3VwcG9ydGVkLiI7CisgICAgICAgIEFERF9GQUlMVVJFKCkg
PDwgRm9ybWF0UmVnZXhTeW50YXhFcnJvcihyZWdleCwgaSkKKyAgICAgICAgICAgICAgICAgICAg
ICA8PCAiJyIgPDwgY2ggPDwgIicgaXMgdW5zdXBwb3J0ZWQuIjsKICAgICAgICAgaXNfdmFsaWQg
PSBmYWxzZTsKICAgICAgIH0gZWxzZSBpZiAoSXNSZXBlYXQoY2gpICYmICFwcmV2X3JlcGVhdGFi
bGUpIHsKLSAgICAgICAgQUREX0ZBSUxVUkUoKSA8PCBGb3JtYXRSZWdleFN5bnRheEVycm9yKHJl
Z2V4LCBpKSA8PCAiJyIgPDwgY2gKLSAgICAgICAgICAgICAgICAgICAgICA8PCAiJyBjYW4gb25s
eSBmb2xsb3cgYSByZXBlYXRhYmxlIHRva2VuLiI7CisgICAgICAgIEFERF9GQUlMVVJFKCkgPDwg
Rm9ybWF0UmVnZXhTeW50YXhFcnJvcihyZWdleCwgaSkKKyAgICAgICAgICAgICAgICAgICAgICA8
PCAiJyIgPDwgY2ggPDwgIicgY2FuIG9ubHkgZm9sbG93IGEgcmVwZWF0YWJsZSB0b2tlbi4iOwog
ICAgICAgICBpc192YWxpZCA9IGZhbHNlOwogICAgICAgfQogCkBAIC04NDgsMTAgKzg4NCwxMiBA
QCBib29sIFZhbGlkYXRlUmVnZXgoY29uc3QgY2hhciogcmVnZXgpIHsKIC8vIGNoYXJhY3RlcnMg
dG8gYmUgaW5kZXhhYmxlIGJ5IHNpemVfdCwgaW4gd2hpY2ggY2FzZSB0aGUgdGVzdCB3aWxsCiAv
LyBwcm9iYWJseSB0aW1lIG91dCBhbnl3YXkuICBXZSBhcmUgZmluZSB3aXRoIHRoaXMgbGltaXRh
dGlvbiBhcwogLy8gc3RkOjpzdHJpbmcgaGFzIGl0IHRvby4KLWJvb2wgTWF0Y2hSZXBldGl0aW9u
QW5kUmVnZXhBdEhlYWQoYm9vbCBlc2NhcGVkLCBjaGFyIGMsIGNoYXIgcmVwZWF0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiByZWdleCwgY29uc3QgY2hh
ciogc3RyKSB7Citib29sIE1hdGNoUmVwZXRpdGlvbkFuZFJlZ2V4QXRIZWFkKAorICAgIGJvb2wg
ZXNjYXBlZCwgY2hhciBjLCBjaGFyIHJlcGVhdCwgY29uc3QgY2hhciogcmVnZXgsCisgICAgY29u
c3QgY2hhciogc3RyKSB7CiAgIGNvbnN0IHNpemVfdCBtaW5fY291bnQgPSAocmVwZWF0ID09ICcr
JykgPyAxIDogMDsKLSAgY29uc3Qgc2l6ZV90IG1heF9jb3VudCA9IChyZXBlYXQgPT0gJz8nKSA/
IDEgOiBzdGF0aWNfY2FzdDxzaXplX3Q+KC0xKSAtIDE7CisgIGNvbnN0IHNpemVfdCBtYXhfY291
bnQgPSAocmVwZWF0ID09ICc/JykgPyAxIDoKKyAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4oLTEp
IC0gMTsKICAgLy8gV2UgY2Fubm90IGNhbGwgbnVtZXJpY19saW1pdHM6Om1heCgpIGFzIGl0IGNv
bmZsaWN0cyB3aXRoIHRoZQogICAvLyBtYXgoKSBtYWNybyBvbiBXaW5kb3dzLgogCkBAIC04NjQs
NyArOTAyLDggQEAgYm9vbCBNYXRjaFJlcGV0aXRpb25BbmRSZWdleEF0SGVhZChib29sIGVzY2Fw
ZWQsIGNoYXIgYywgY2hhciByZXBlYXQsCiAgICAgICAvLyBncmVlZHkgbWF0Y2guCiAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgaWYgKHN0cltpXSA9PSAnXDAnIHx8ICFBdG9tTWF0Y2hl
c0NoYXIoZXNjYXBlZCwgYywgc3RyW2ldKSkgcmV0dXJuIGZhbHNlOworICAgIGlmIChzdHJbaV0g
PT0gJ1wwJyB8fCAhQXRvbU1hdGNoZXNDaGFyKGVzY2FwZWQsIGMsIHN0cltpXSkpCisgICAgICBy
ZXR1cm4gZmFsc2U7CiAgIH0KICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtODc4LDIzICs5MTcsMjUg
QEAgYm9vbCBNYXRjaFJlZ2V4QXRIZWFkKGNvbnN0IGNoYXIqIHJlZ2V4LCBjb25zdCBjaGFyKiBz
dHIpIHsKIAogICAvLyAiJCIgb25seSBtYXRjaGVzIHRoZSBlbmQgb2YgYSBzdHJpbmcuICBOb3Rl
IHRoYXQgcmVnZXggYmVpbmcKICAgLy8gdmFsaWQgZ3VhcmFudGVlcyB0aGF0IHRoZXJlJ3Mgbm90
aGluZyBhZnRlciAiJCIgaW4gaXQuCi0gIGlmICgqcmVnZXggPT0gJyQnKSByZXR1cm4gKnN0ciA9
PSAnXDAnOworICBpZiAoKnJlZ2V4ID09ICckJykKKyAgICByZXR1cm4gKnN0ciA9PSAnXDAnOwog
CiAgIC8vIElzIHRoZSBmaXJzdCB0aGluZyBpbiByZWdleCBhbiBlc2NhcGUgc2VxdWVuY2U/CiAg
IGNvbnN0IGJvb2wgZXNjYXBlZCA9ICpyZWdleCA9PSAnXFwnOwotICBpZiAoZXNjYXBlZCkgKyty
ZWdleDsKKyAgaWYgKGVzY2FwZWQpCisgICAgKytyZWdleDsKICAgaWYgKElzUmVwZWF0KHJlZ2V4
WzFdKSkgewogICAgIC8vIE1hdGNoUmVwZXRpdGlvbkFuZFJlZ2V4QXRIZWFkKCkgY2FsbHMgTWF0
Y2hSZWdleEF0SGVhZCgpLCBzbwogICAgIC8vIGhlcmUncyBhbiBpbmRpcmVjdCByZWN1cnNpb24u
ICBJdCB0ZXJtaW5hdGVzIGFzIHRoZSByZWdleCBnZXRzCiAgICAgLy8gc2hvcnRlciBpbiBlYWNo
IHJlY3Vyc2lvbi4KLSAgICByZXR1cm4gTWF0Y2hSZXBldGl0aW9uQW5kUmVnZXhBdEhlYWQoZXNj
YXBlZCwgcmVnZXhbMF0sIHJlZ2V4WzFdLCByZWdleCArIDIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cik7CisgICAgcmV0dXJuIE1hdGNoUmVwZXRpdGlvbkFu
ZFJlZ2V4QXRIZWFkKAorICAgICAgICBlc2NhcGVkLCByZWdleFswXSwgcmVnZXhbMV0sIHJlZ2V4
ICsgMiwgc3RyKTsKICAgfSBlbHNlIHsKICAgICAvLyByZWdleCBpc24ndCBlbXB0eSwgaXNuJ3Qg
IiQiLCBhbmQgZG9lc24ndCBzdGFydCB3aXRoIGEKICAgICAvLyByZXBldGl0aW9uLiAgV2UgbWF0
Y2ggdGhlIGZpcnN0IGF0b20gb2YgcmVnZXggd2l0aCB0aGUgZmlyc3QKICAgICAvLyBjaGFyYWN0
ZXIgb2Ygc3RyIGFuZCByZWN1cnNlLgogICAgIHJldHVybiAoKnN0ciAhPSAnXDAnKSAmJiBBdG9t
TWF0Y2hlc0NoYXIoZXNjYXBlZCwgKnJlZ2V4LCAqc3RyKSAmJgotICAgICAgICAgICBNYXRjaFJl
Z2V4QXRIZWFkKHJlZ2V4ICsgMSwgc3RyICsgMSk7CisgICAgICAgIE1hdGNoUmVnZXhBdEhlYWQo
cmVnZXggKyAxLCBzdHIgKyAxKTsKICAgfQogfQogCkBAIC05MDksMTEgKzk1MCwxMyBAQCBib29s
IE1hdGNoUmVnZXhBdEhlYWQoY29uc3QgY2hhciogcmVnZXgsIGNvbnN0IGNoYXIqIHN0cikgewog
Ym9vbCBNYXRjaFJlZ2V4QW55d2hlcmUoY29uc3QgY2hhciogcmVnZXgsIGNvbnN0IGNoYXIqIHN0
cikgewogICBpZiAocmVnZXggPT0gbnVsbHB0ciB8fCBzdHIgPT0gbnVsbHB0cikgcmV0dXJuIGZh
bHNlOwogCi0gIGlmICgqcmVnZXggPT0gJ14nKSByZXR1cm4gTWF0Y2hSZWdleEF0SGVhZChyZWdl
eCArIDEsIHN0cik7CisgIGlmICgqcmVnZXggPT0gJ14nKQorICAgIHJldHVybiBNYXRjaFJlZ2V4
QXRIZWFkKHJlZ2V4ICsgMSwgc3RyKTsKIAogICAvLyBBIHN1Y2Nlc3NmdWwgbWF0Y2ggY2FuIGJl
IGFueXdoZXJlIGluIHN0ci4KICAgZG8gewotICAgIGlmIChNYXRjaFJlZ2V4QXRIZWFkKHJlZ2V4
LCBzdHIpKSByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoTWF0Y2hSZWdleEF0SGVhZChyZWdleCwgc3Ry
KSkKKyAgICAgIHJldHVybiB0cnVlOwogICB9IHdoaWxlICgqc3RyKysgIT0gJ1wwJyk7CiAgIHJl
dHVybiBmYWxzZTsKIH0KQEAgLTk5NCw4ICsxMDM3LDggQEAgR1RFU1RfQVBJXyA6OnN0ZDo6c3Ry
aW5nIEZvcm1hdEZpbGVMb2NhdGlvbihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSkgewogLy8g
Rm9ybWF0RmlsZUxvY2F0aW9uIGluIG9yZGVyIHRvIGNvbnRyYXN0IHRoZSB0d28gZnVuY3Rpb25z
LgogLy8gTm90ZSB0aGF0IEZvcm1hdENvbXBpbGVySW5kZXBlbmRlbnRGaWxlTG9jYXRpb24oKSBk
b2VzIE5PVCBhcHBlbmQgY29sb24KIC8vIHRvIHRoZSBmaWxlIGxvY2F0aW9uIGl0IHByb2R1Y2Vz
LCB1bmxpa2UgRm9ybWF0RmlsZUxvY2F0aW9uKCkuCi1HVEVTVF9BUElfIDo6c3RkOjpzdHJpbmcg
Rm9ybWF0Q29tcGlsZXJJbmRlcGVuZGVudEZpbGVMb2NhdGlvbihjb25zdCBjaGFyKiBmaWxlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGxpbmUpIHsKK0dURVNUX0FQSV8gOjpzdGQ6OnN0cmluZyBGb3JtYXRDb21waWxl
ckluZGVwZW5kZW50RmlsZUxvY2F0aW9uKAorICAgIGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5l
KSB7CiAgIGNvbnN0IHN0ZDo6c3RyaW5nIGZpbGVfbmFtZShmaWxlID09IG51bGxwdHIgPyBrVW5r
bm93bkZpbGUgOiBmaWxlKTsKIAogICBpZiAobGluZSA8IDApCkBAIC0xMDA2LDEzICsxMDQ5LDEy
IEBAIEdURVNUX0FQSV8gOjpzdGQ6OnN0cmluZyBGb3JtYXRDb21waWxlckluZGVwZW5kZW50Rmls
ZUxvY2F0aW9uKGNvbnN0IGNoYXIqIGZpbGUsCiAKIEdUZXN0TG9nOjpHVGVzdExvZyhHVGVzdExv
Z1NldmVyaXR5IHNldmVyaXR5LCBjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSkKICAgICA6IHNl
dmVyaXR5XyhzZXZlcml0eSkgewotICBjb25zdCBjaGFyKiBjb25zdCBtYXJrZXIgPSBzZXZlcml0
eSA9PSBHVEVTVF9JTkZPICAgICAgPyAiWyAgSU5GTyBdIgotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6IHNldmVyaXR5ID09IEdURVNUX1dBUk5JTkcgPyAiW1dBUk5JTkddIgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6IHNldmVyaXR5ID09IEdURVNUX0VSUk9SICAgPyAiWyBF
UlJPUiBdIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOiAiWyBGQVRBTCBdIjsKLSAgR2V0U3RyZWFtKCkgPDwgOjpzdGQ6OmVuZGwKLSAg
ICAgICAgICAgICAgPDwgbWFya2VyIDw8ICIgIiA8PCBGb3JtYXRGaWxlTG9jYXRpb24oZmlsZSwg
bGluZSkuY19zdHIoKQotICAgICAgICAgICAgICA8PCAiOiAiOworICBjb25zdCBjaGFyKiBjb25z
dCBtYXJrZXIgPQorICAgICAgc2V2ZXJpdHkgPT0gR1RFU1RfSU5GTyA/ICAgICJbICBJTkZPIF0i
IDoKKyAgICAgIHNldmVyaXR5ID09IEdURVNUX1dBUk5JTkcgPyAiW1dBUk5JTkddIiA6CisgICAg
ICBzZXZlcml0eSA9PSBHVEVTVF9FUlJPUiA/ICAgIlsgRVJST1IgXSIgOiAiWyBGQVRBTCBdIjsK
KyAgR2V0U3RyZWFtKCkgPDwgOjpzdGQ6OmVuZGwgPDwgbWFya2VyIDw8ICIgIgorICAgICAgICAg
ICAgICA8PCBGb3JtYXRGaWxlTG9jYXRpb24oZmlsZSwgbGluZSkuY19zdHIoKSA8PCAiOiAiOwog
fQogCiAvLyBGbHVzaGVzIHRoZSBidWZmZXJzIGFuZCwgaWYgc2V2ZXJpdHkgaXMgR1RFU1RfRkFU
QUwsIGFib3J0cyB0aGUgcHJvZ3JhbS4KQEAgLTEwMzUsMjYgKzEwNzcsMjcgQEAgY2xhc3MgQ2Fw
dHVyZWRTdHJlYW0gewogIHB1YmxpYzoKICAgLy8gVGhlIGN0b3IgcmVkaXJlY3RzIHRoZSBzdHJl
YW0gdG8gYSB0ZW1wb3JhcnkgZmlsZS4KICAgZXhwbGljaXQgQ2FwdHVyZWRTdHJlYW0oaW50IGZk
KSA6IGZkXyhmZCksIHVuY2FwdHVyZWRfZmRfKGR1cChmZCkpIHsKLSNpZiBHVEVTVF9PU19XSU5E
T1dTCi0gICAgY2hhciB0ZW1wX2Rpcl9wYXRoW01BWF9QQVRIICsgMV0gPSB7J1wwJ307ICAgLy8g
Tk9MSU5UCi0gICAgY2hhciB0ZW1wX2ZpbGVfcGF0aFtNQVhfUEFUSCArIDFdID0geydcMCd9OyAg
Ly8gTk9MSU5UCisjIGlmIEdURVNUX09TX1dJTkRPV1MKKyAgICBjaGFyIHRlbXBfZGlyX3BhdGhb
TUFYX1BBVEggKyAxXSA9IHsgJ1wwJyB9OyAgLy8gTk9MSU5UCisgICAgY2hhciB0ZW1wX2ZpbGVf
cGF0aFtNQVhfUEFUSCArIDFdID0geyAnXDAnIH07ICAvLyBOT0xJTlQKIAogICAgIDo6R2V0VGVt
cFBhdGhBKHNpemVvZih0ZW1wX2Rpcl9wYXRoKSwgdGVtcF9kaXJfcGF0aCk7Ci0gICAgY29uc3Qg
VUlOVCBzdWNjZXNzID0gOjpHZXRUZW1wRmlsZU5hbWVBKHRlbXBfZGlyX3BhdGgsICJndGVzdF9y
ZWRpciIsCisgICAgY29uc3QgVUlOVCBzdWNjZXNzID0gOjpHZXRUZW1wRmlsZU5hbWVBKHRlbXBf
ZGlyX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn
dGVzdF9yZWRpciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDAsICAvLyBHZW5lcmF0ZSB1bmlxdWUgZmlsZSBuYW1lLgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZW1wX2ZpbGVfcGF0aCk7CiAgICAgR1RFU1RfQ0hFQ0tf
KHN1Y2Nlc3MgIT0gMCkKICAgICAgICAgPDwgIlVuYWJsZSB0byBjcmVhdGUgYSB0ZW1wb3Jhcnkg
ZmlsZSBpbiAiIDw8IHRlbXBfZGlyX3BhdGg7CiAgICAgY29uc3QgaW50IGNhcHR1cmVkX2ZkID0g
Y3JlYXQodGVtcF9maWxlX3BhdGgsIF9TX0lSRUFEIHwgX1NfSVdSSVRFKTsKLSAgICBHVEVTVF9D
SEVDS18oY2FwdHVyZWRfZmQgIT0gLTEpCi0gICAgICAgIDw8ICJVbmFibGUgdG8gb3BlbiB0ZW1w
b3JhcnkgZmlsZSAiIDw8IHRlbXBfZmlsZV9wYXRoOworICAgIEdURVNUX0NIRUNLXyhjYXB0dXJl
ZF9mZCAhPSAtMSkgPDwgIlVuYWJsZSB0byBvcGVuIHRlbXBvcmFyeSBmaWxlICIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8IHRlbXBfZmlsZV9wYXRoOwogICAgIGZpbGVu
YW1lXyA9IHRlbXBfZmlsZV9wYXRoOwotI2Vsc2UKKyMgZWxzZQogICAgIC8vIFRoZXJlJ3Mgbm8g
Z3VhcmFudGVlIHRoYXQgYSB0ZXN0IGhhcyB3cml0ZSBhY2Nlc3MgdG8gdGhlIGN1cnJlbnQKLSAg
ICAvLyBkaXJlY3RvcnksIHNvIHdlIGNyZWF0ZSB0aGUgdGVtcG9yYXJ5IGZpbGUgaW4gYSB0ZW1w
b3JhcnkgZGlyZWN0b3J5LgotICAgIHN0ZDo6c3RyaW5nIG5hbWVfdGVtcGxhdGU7Ci0KLSNpZiBH
VEVTVF9PU19MSU5VWF9BTkRST0lECisgICAgLy8gZGlyZWN0b3J5LCBzbyB3ZSBjcmVhdGUgdGhl
IHRlbXBvcmFyeSBmaWxlIGluIHRoZSAvdG1wIGRpcmVjdG9yeQorICAgIC8vIGluc3RlYWQuIFdl
IHVzZSAvdG1wIG9uIG1vc3Qgc3lzdGVtcywgYW5kIC9zZGNhcmQgb24gQW5kcm9pZC4KKyAgICAv
LyBUaGF0J3MgYmVjYXVzZSBBbmRyb2lkIGRvZXNuJ3QgaGF2ZSAvdG1wLgorIyAgaWYgR1RFU1Rf
T1NfTElOVVhfQU5EUk9JRAogICAgIC8vIE5vdGU6IEFuZHJvaWQgYXBwbGljYXRpb25zIGFyZSBl
eHBlY3RlZCB0byBjYWxsIHRoZSBmcmFtZXdvcmsncwogICAgIC8vIENvbnRleHQuZ2V0RXh0ZXJu
YWxTdG9yYWdlRGlyZWN0b3J5KCkgbWV0aG9kIHRocm91Z2ggSk5JIHRvIGdldAogICAgIC8vIHRo
ZSBsb2NhdGlvbiBvZiB0aGUgd29ybGQtd3JpdGFibGUgU0QgQ2FyZCBkaXJlY3RvcnkuIEhvd2V2
ZXIsCkBAIC0xMDY2LDUzICsxMTA5LDI2IEBAIGNsYXNzIENhcHR1cmVkU3RyZWFtIHsKICAgICAv
LyBUaGUgbG9jYXRpb24gL2RhdGEvbG9jYWwvdG1wIGlzIGRpcmVjdGx5IGFjY2Vzc2libGUgZnJv
bSBuYXRpdmUgY29kZS4KICAgICAvLyAnL3NkY2FyZCcgYW5kIG90aGVyIHZhcmlhbnRzIGNhbm5v
dCBiZSByZWxpZWQgb24sIGFzIHRoZXkgYXJlIG5vdAogICAgIC8vIGd1YXJhbnRlZWQgdG8gYmUg
bW91bnRlZCwgb3IgbWF5IGhhdmUgYSBkZWxheSBpbiBtb3VudGluZy4KLSAgICBuYW1lX3RlbXBs
YXRlID0gIi9kYXRhL2xvY2FsL3RtcC8iOwotI2VsaWYgR1RFU1RfT1NfSU9TCi0gICAgY2hhciB1
c2VyX3RlbXBfZGlyW1BBVEhfTUFYICsgMV07Ci0KLSAgICAvLyBEb2N1bWVudGVkIGFsdGVybmF0
aXZlIHRvIE5TVGVtcG9yYXJ5RGlyZWN0b3J5KCkgKGZvciBvYnRhaW5pbmcgY3JlYXRpbmcKLSAg
ICAvLyBhIHRlbXBvcmFyeSBkaXJlY3RvcnkpIGF0Ci0gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIu
YXBwbGUuY29tL2xpYnJhcnkvYXJjaGl2ZS9kb2N1bWVudGF0aW9uL1NlY3VyaXR5L0NvbmNlcHR1
YWwvU2VjdXJlQ29kaW5nR3VpZGUvQXJ0aWNsZXMvUmFjZUNvbmRpdGlvbnMuaHRtbCMvL2FwcGxl
X3JlZi9kb2MvdWlkL1RQNDAwMDI1ODUtU1cxMAotICAgIC8vCi0gICAgLy8gX0NTX0RBUldJTl9V
U0VSX1RFTVBfRElSIChhcyB3ZWxsIGFzIF9DU19EQVJXSU5fVVNFUl9DQUNIRV9ESVIpIGlzIG5v
dAotICAgIC8vIGRvY3VtZW50ZWQgaW4gdGhlIGNvbmZzdHIoKSBtYW4gcGFnZSBhdAotICAgIC8v
IGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlv
bi9TeXN0ZW0vQ29uY2VwdHVhbC9NYW5QYWdlc19pUGhvbmVPUy9tYW4zL2NvbmZzdHIuMy5odG1s
Iy8vYXBwbGVfcmVmL2RvYy9tYW4vMy9jb25mc3RyCi0gICAgLy8gYnV0IGFyZSBzdGlsbCBhdmFp
bGFibGUsIGFjY29yZGluZyB0byB0aGUgV2ViS2l0IHBhdGNoZXMgYXQKLSAgICAvLyBodHRwczov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjYyMDA0L3dlYmtpdAotICAgIC8vIGh0dHBzOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNjM3MDUvd2Via2l0Ci0gICAgLy8KLSAgICAvLyBU
aGUgY29uZnN0cigpIGltcGxlbWVudGF0aW9uIGZhbGxzIGJhY2sgdG8gZ2V0ZW52KCJUTVBESVIi
KS4gU2VlCi0gICAgLy8gaHR0cHM6Ly9vcGVuc291cmNlLmFwcGxlLmNvbS9zb3VyY2UvTGliYy9M
aWJjLTE0MzkuMTAwLjMvZ2VuL2NvbmZzdHIuYy5hdXRvLmh0bWwKLSAgICA6OmNvbmZzdHIoX0NT
X0RBUldJTl9VU0VSX1RFTVBfRElSLCB1c2VyX3RlbXBfZGlyLCBzaXplb2YodXNlcl90ZW1wX2Rp
cikpOwotCi0gICAgbmFtZV90ZW1wbGF0ZSA9IHVzZXJfdGVtcF9kaXI7Ci0gICAgaWYgKG5hbWVf
dGVtcGxhdGUuYmFjaygpICE9IEdURVNUX1BBVEhfU0VQX1swXSkKLSAgICAgIG5hbWVfdGVtcGxh
dGUucHVzaF9iYWNrKEdURVNUX1BBVEhfU0VQX1swXSk7Ci0jZWxzZQotICAgIG5hbWVfdGVtcGxh
dGUgPSAiL3RtcC8iOwotI2VuZGlmCi0gICAgbmFtZV90ZW1wbGF0ZS5hcHBlbmQoImd0ZXN0X2Nh
cHR1cmVkX3N0cmVhbS5YWFhYWFgiKTsKLQotICAgIC8vIG1rc3RlbXAoKSBtb2RpZmllcyB0aGUg
c3RyaW5nIGJ5dGVzIGluIHBsYWNlLCBhbmQgZG9lcyBub3QgZ28gYmV5b25kIHRoZQotICAgIC8v
IHN0cmluZydzIGxlbmd0aC4gVGhpcyByZXN1bHRzIGluIHdlbGwtZGVmaW5lZCBiZWhhdmlvciBp
biBDKysxNy4KLSAgICAvLwotICAgIC8vIFRoZSBjb25zdF9jYXN0IGlzIG5lZWRlZCBiZWxvdyBD
KysxNy4gVGhlIGNvbnN0cmFpbnRzIG9uIHN0ZDo6c3RyaW5nCi0gICAgLy8gaW1wbGVtZW50YXRp
b25zIGluIEMrKzExIGFuZCBhYm92ZSBtYWtlIGFzc3VtcHRpb24gYmVoaW5kIHRoZSBjb25zdF9j
YXN0Ci0gICAgLy8gZmFpcmx5IHNhZmUuCi0gICAgY29uc3QgaW50IGNhcHR1cmVkX2ZkID0gOjpt
a3N0ZW1wKGNvbnN0X2Nhc3Q8Y2hhcio+KG5hbWVfdGVtcGxhdGUuZGF0YSgpKSk7CisgICAgY2hh
ciBuYW1lX3RlbXBsYXRlW10gPSAiL2RhdGEvbG9jYWwvdG1wL2d0ZXN0X2NhcHR1cmVkX3N0cmVh
bS5YWFhYWFgiOworIyAgZWxzZQorICAgIGNoYXIgbmFtZV90ZW1wbGF0ZVtdID0gIi90bXAvY2Fw
dHVyZWRfc3RyZWFtLlhYWFhYWCI7CisjICBlbmRpZiAgLy8gR1RFU1RfT1NfTElOVVhfQU5EUk9J
RAorICAgIGNvbnN0IGludCBjYXB0dXJlZF9mZCA9IG1rc3RlbXAobmFtZV90ZW1wbGF0ZSk7CiAg
ICAgaWYgKGNhcHR1cmVkX2ZkID09IC0xKSB7CiAgICAgICBHVEVTVF9MT0dfKFdBUk5JTkcpCiAg
ICAgICAgICAgPDwgIkZhaWxlZCB0byBjcmVhdGUgdG1wIGZpbGUgIiA8PCBuYW1lX3RlbXBsYXRl
CiAgICAgICAgICAgPDwgIiBmb3IgdGVzdDsgZG9lcyB0aGUgdGVzdCBoYXZlIGFjY2VzcyB0byB0
aGUgL3RtcCBkaXJlY3Rvcnk/IjsKICAgICB9Ci0gICAgZmlsZW5hbWVfID0gc3RkOjptb3ZlKG5h
bWVfdGVtcGxhdGUpOwotI2VuZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTCisgICAgZmlsZW5hbWVf
ID0gbmFtZV90ZW1wbGF0ZTsKKyMgZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1MKICAgICBmZmx1
c2gobnVsbHB0cik7CiAgICAgZHVwMihjYXB0dXJlZF9mZCwgZmRfKTsKICAgICBjbG9zZShjYXB0
dXJlZF9mZCk7CiAgIH0KIAotICB+Q2FwdHVyZWRTdHJlYW0oKSB7IHJlbW92ZShmaWxlbmFtZV8u
Y19zdHIoKSk7IH0KKyAgfkNhcHR1cmVkU3RyZWFtKCkgeworICAgIHJlbW92ZShmaWxlbmFtZV8u
Y19zdHIoKSk7CisgIH0KIAogICBzdGQ6OnN0cmluZyBHZXRDYXB0dXJlZFN0cmluZygpIHsKICAg
ICBpZiAodW5jYXB0dXJlZF9mZF8gIT0gLTEpIHsKQEAgLTExMzksOCArMTE1NSw3IEBAIGNsYXNz
IENhcHR1cmVkU3RyZWFtIHsKICAgLy8gTmFtZSBvZiB0aGUgdGVtcG9yYXJ5IGZpbGUgaG9sZGlu
ZyB0aGUgc3RkZXJyIG91dHB1dC4KICAgOjpzdGQ6OnN0cmluZyBmaWxlbmFtZV87CiAKLSAgQ2Fw
dHVyZWRTdHJlYW0oY29uc3QgQ2FwdHVyZWRTdHJlYW0mKSA9IGRlbGV0ZTsKLSAgQ2FwdHVyZWRT
dHJlYW0mIG9wZXJhdG9yPShjb25zdCBDYXB0dXJlZFN0cmVhbSYpID0gZGVsZXRlOworICBHVEVT
VF9ESVNBTExPV19DT1BZX0FORF9BU1NJR05fKENhcHR1cmVkU3RyZWFtKTsKIH07CiAKIEdURVNU
X0RJU0FCTEVfTVNDX0RFUFJFQ0FURURfUE9QXygpCkBAIC0xMTY4LDE1ICsxMTgzLDYgQEAgc3Rh
dGljIHN0ZDo6c3RyaW5nIEdldENhcHR1cmVkU3RyZWFtKENhcHR1cmVkU3RyZWFtKiogY2FwdHVy
ZWRfc3RyZWFtKSB7CiAgIHJldHVybiBjb250ZW50OwogfQogCi0jaWYgZGVmaW5lZChfTVNDX1ZF
UikgfHwgZGVmaW5lZChfX0JPUkxBTkRDX18pCi0vLyBNU1ZDIGFuZCBDKytCdWlsZGVyIGRvIG5v
dCBwcm92aWRlIGEgZGVmaW5pdGlvbiBvZiBTVERFUlJfRklMRU5PLgotY29uc3QgaW50IGtTdGRP
dXRGaWxlbm8gPSAxOwotY29uc3QgaW50IGtTdGRFcnJGaWxlbm8gPSAyOwotI2Vsc2UKLWNvbnN0
IGludCBrU3RkT3V0RmlsZW5vID0gU1RET1VUX0ZJTEVOTzsKLWNvbnN0IGludCBrU3RkRXJyRmls
ZW5vID0gU1RERVJSX0ZJTEVOTzsKLSNlbmRpZiAgLy8gZGVmaW5lZChfTVNDX1ZFUikgfHwgZGVm
aW5lZChfX0JPUkxBTkRDX18pCi0KIC8vIFN0YXJ0cyBjYXB0dXJpbmcgc3Rkb3V0Lgogdm9pZCBD
YXB0dXJlU3Rkb3V0KCkgewogICBDYXB0dXJlU3RyZWFtKGtTdGRPdXRGaWxlbm8sICJzdGRvdXQi
LCAmZ19jYXB0dXJlZF9zdGRvdXQpOwpAQCAtMTE5OSw2ICsxMjA1LDEwIEBAIHN0ZDo6c3RyaW5n
IEdldENhcHR1cmVkU3RkZXJyKCkgewogCiAjZW5kaWYgIC8vIEdURVNUX0hBU19TVFJFQU1fUkVE
SVJFQ1RJT04KIAorCisKKworCiBzaXplX3QgR2V0RmlsZVNpemUoRklMRSogZmlsZSkgewogICBm
c2VlayhmaWxlLCAwLCBTRUVLX0VORCk7CiAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+KGZ0
ZWxsKGZpbGUpKTsKQEAgLTEyMTYsOCArMTIyNiw3IEBAIHN0ZDo6c3RyaW5nIFJlYWRFbnRpcmVG
aWxlKEZJTEUqIGZpbGUpIHsKICAgLy8gS2VlcHMgcmVhZGluZyB0aGUgZmlsZSB1bnRpbCB3ZSBj
YW5ub3QgcmVhZCBmdXJ0aGVyIG9yIHRoZQogICAvLyBwcmUtZGV0ZXJtaW5lZCBmaWxlIHNpemUg
aXMgcmVhY2hlZC4KICAgZG8gewotICAgIGJ5dGVzX2xhc3RfcmVhZCA9Ci0gICAgICAgIGZyZWFk
KGJ1ZmZlciArIGJ5dGVzX3JlYWQsIDEsIGZpbGVfc2l6ZSAtIGJ5dGVzX3JlYWQsIGZpbGUpOwor
ICAgIGJ5dGVzX2xhc3RfcmVhZCA9IGZyZWFkKGJ1ZmZlcitieXRlc19yZWFkLCAxLCBmaWxlX3Np
emUtYnl0ZXNfcmVhZCwgZmlsZSk7CiAgICAgYnl0ZXNfcmVhZCArPSBieXRlc19sYXN0X3JlYWQ7
CiAgIH0gd2hpbGUgKGJ5dGVzX2xhc3RfcmVhZCA+IDAgJiYgYnl0ZXNfcmVhZCA8IGZpbGVfc2l6
ZSk7CiAKQEAgLTEzMDUsNyArMTMxNCw3IEBAIGJvb2wgUGFyc2VJbnQzMihjb25zdCBNZXNzYWdl
JiBzcmNfdGV4dCwgY29uc3QgY2hhciogc3RyLCBpbnQzMl90KiB2YWx1ZSkgewogICAgICAgLy8g
TE9OR19NQVggb3IgTE9OR19NSU4gd2hlbiB0aGUgaW5wdXQgb3ZlcmZsb3dzLikKICAgICAgIHJl
c3VsdCAhPSBsb25nX3ZhbHVlCiAgICAgICAvLyBUaGUgcGFyc2VkIHZhbHVlIG92ZXJmbG93cyBh
cyBhbiBpbnQzMl90LgotICApIHsKKyAgICAgICkgewogICAgIE1lc3NhZ2UgbXNnOwogICAgIG1z
ZyA8PCAiV0FSTklORzogIiA8PCBzcmNfdGV4dAogICAgICAgICA8PCAiIGlzIGV4cGVjdGVkIHRv
IGJlIGEgMzItYml0IGludGVnZXIsIGJ1dCBhY3R1YWxseSIKQEAgLTEzNDksOCArMTM1OCw4IEBA
IGludDMyX3QgSW50MzJGcm9tR1Rlc3RFbnYoY29uc3QgY2hhciogZmxhZywgaW50MzJfdCBkZWZh
dWx0X3ZhbHVlKSB7CiAgIH0KIAogICBpbnQzMl90IHJlc3VsdCA9IGRlZmF1bHRfdmFsdWU7Ci0g
IGlmICghUGFyc2VJbnQzMihNZXNzYWdlKCkgPDwgIkVudmlyb25tZW50IHZhcmlhYmxlICIgPDwg
ZW52X3Zhciwgc3RyaW5nX3ZhbHVlLAotICAgICAgICAgICAgICAgICAgJnJlc3VsdCkpIHsKKyAg
aWYgKCFQYXJzZUludDMyKE1lc3NhZ2UoKSA8PCAiRW52aXJvbm1lbnQgdmFyaWFibGUgIiA8PCBl
bnZfdmFyLAorICAgICAgICAgICAgICAgICAgc3RyaW5nX3ZhbHVlLCAmcmVzdWx0KSkgewogICAg
IHByaW50ZigiVGhlIGRlZmF1bHQgdmFsdWUgJXMgaXMgdXNlZC5cbiIsCiAgICAgICAgICAgIChN
ZXNzYWdlKCkgPDwgZGVmYXVsdF92YWx1ZSkuR2V0U3RyaW5nKCkuY19zdHIoKSk7CiAgICAgZmZs
dXNoKHN0ZG91dCk7CkBAIC0xMzY5LDcgKzEzNzgsNyBAQCBpbnQzMl90IEludDMyRnJvbUdUZXN0
RW52KGNvbnN0IGNoYXIqIGZsYWcsIGludDMyX3QgZGVmYXVsdF92YWx1ZSkgewogLy8gbm90IGNo
ZWNrIHRoYXQgdGhlIGZsYWcgaXMgJ291dHB1dCcKIC8vIEluIGVzc2VuY2UgdGhpcyBjaGVja3Mg
YW4gZW52IHZhcmlhYmxlIGNhbGxlZCBYTUxfT1VUUFVUX0ZJTEUKIC8vIGFuZCBpZiBpdCBpcyBz
ZXQgd2UgcHJlcGVuZCAieG1sOiIgdG8gaXRzIHZhbHVlLCBpZiBpdCBub3Qgc2V0IHdlIHJldHVy
biAiIgotc3RkOjpzdHJpbmcgT3V0cHV0RmxhZ0Fsc29DaGVja0VudlZhcigpIHsKK3N0ZDo6c3Ry
aW5nIE91dHB1dEZsYWdBbHNvQ2hlY2tFbnZWYXIoKXsKICAgc3RkOjpzdHJpbmcgZGVmYXVsdF92
YWx1ZV9mb3Jfb3V0cHV0X2ZsYWcgPSAiIjsKICAgY29uc3QgY2hhciogeG1sX291dHB1dF9maWxl
X2VudiA9IHBvc2l4OjpHZXRFbnYoIlhNTF9PVVRQVVRfRklMRSIpOwogICBpZiAobnVsbHB0ciAh
PSB4bWxfb3V0cHV0X2ZpbGVfZW52KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3Bh
cnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1wcmludGVycy5jYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhp
cmRfcGFydHkvZ29vZ2xldGVzdC9zcmMvc3JjL2d0ZXN0LXByaW50ZXJzLmNjCmluZGV4IGYzOTc2
ZDIzMGRhYy4uMzMzN2JlMzEyZWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5
L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1wcmludGVycy5jYworKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Ro
aXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC1wcmludGVycy5jYwpAQCAtMjcsNiAr
MjcsNyBAQAogLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCisKIC8vIEdvb2dsZSBU
ZXN0IC0gVGhlIEdvb2dsZSBDKysgVGVzdGluZyBhbmQgTW9ja2luZyBGcmFtZXdvcmsKIC8vCiAv
LyBUaGlzIGZpbGUgaW1wbGVtZW50cyBhIHVuaXZlcnNhbCB2YWx1ZSBwcmludGVyIHRoYXQgY2Fu
IHByaW50IGEKQEAgLTQxLDE2ICs0MiwxMSBAQAogLy8gZGVmaW5lcyBGb28uCiAKICNpbmNsdWRl
ICJndGVzdC9ndGVzdC1wcmludGVycy5oIgotCiAjaW5jbHVkZSA8c3RkaW8uaD4KLQogI2luY2x1
ZGUgPGNjdHlwZT4KLSNpbmNsdWRlIDxjc3RkaW50PgogI2luY2x1ZGUgPGN3Y2hhcj4KICNpbmNs
dWRlIDxvc3RyZWFtPiAgLy8gTk9MSU5UCiAjaW5jbHVkZSA8c3RyaW5nPgotI2luY2x1ZGUgPHR5
cGVfdHJhaXRzPgotCiAjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvZ3Rlc3QtcG9ydC5oIgogI2lu
Y2x1ZGUgInNyYy9ndGVzdC1pbnRlcm5hbC1pbmwuaCIKIApAQCAtMTAwLDI1ICs5NiwxNSBAQCB2
b2lkIFByaW50Qnl0ZXNJbk9iamVjdFRvSW1wbChjb25zdCB1bnNpZ25lZCBjaGFyKiBvYmpfYnl0
ZXMsIHNpemVfdCBjb3VudCwKICAgICBQcmludEJ5dGVTZWdtZW50SW5PYmplY3RUbyhvYmpfYnl0
ZXMsIDAsIGtDaHVua1NpemUsIG9zKTsKICAgICAqb3MgPDwgIiAuLi4gIjsKICAgICAvLyBSb3Vu
ZHMgdXAgdG8gMi1ieXRlIGJvdW5kYXJ5LgotICAgIGNvbnN0IHNpemVfdCByZXN1bWVfcG9zID0g
KGNvdW50IC0ga0NodW5rU2l6ZSArIDEpIC8gMiAqIDI7CisgICAgY29uc3Qgc2l6ZV90IHJlc3Vt
ZV9wb3MgPSAoY291bnQgLSBrQ2h1bmtTaXplICsgMSkvMioyOwogICAgIFByaW50Qnl0ZVNlZ21l
bnRJbk9iamVjdFRvKG9ial9ieXRlcywgcmVzdW1lX3BvcywgY291bnQgLSByZXN1bWVfcG9zLCBv
cyk7CiAgIH0KICAgKm9zIDw8ICI+IjsKIH0KIAotLy8gSGVscGVycyBmb3Igd2lkZW5pbmcgYSBj
aGFyYWN0ZXIgdG8gY2hhcjMyX3QuIFNpbmNlIHRoZSBzdGFuZGFyZCBkb2VzIG5vdAotLy8gc3Bl
Y2lmeSBpZiBjaGFyIC8gd2NoYXJfdCBpcyBzaWduZWQgb3IgdW5zaWduZWQsIGl0IGlzIGltcG9y
dGFudCB0byBmaXJzdAotLy8gY29udmVydCBpdCB0byB0aGUgdW5zaWduZWQgdHlwZSBvZiB0aGUg
c2FtZSB3aWR0aCBiZWZvcmUgd2lkZW5pbmcgaXQgdG8KLS8vIGNoYXIzMl90LgotdGVtcGxhdGUg
PHR5cGVuYW1lIENoYXJUeXBlPgotY2hhcjMyX3QgVG9DaGFyMzIoQ2hhclR5cGUgaW4pIHsKLSAg
cmV0dXJuIHN0YXRpY19jYXN0PGNoYXIzMl90PigKLSAgICAgIHN0YXRpY19jYXN0PHR5cGVuYW1l
IHN0ZDo6bWFrZV91bnNpZ25lZDxDaGFyVHlwZT46OnR5cGU+KGluKSk7Ci19Ci0KIH0gIC8vIG5h
bWVzcGFjZQogCi1uYW1lc3BhY2UgaW50ZXJuYWwgeworbmFtZXNwYWNlIGludGVybmFsMiB7CiAK
IC8vIERlbGVnYXRlcyB0byBQcmludEJ5dGVzSW5PYmplY3RUb0ltcGwoKSB0byBwcmludCB0aGUg
Ynl0ZXMgaW4gdGhlCiAvLyBnaXZlbiBvYmplY3QuICBUaGUgZGVsZWdhdGlvbiBzaW1wbGlmaWVz
IHRoZSBpbXBsZW1lbnRhdGlvbiwgd2hpY2gKQEAgLTEzMCwyNSArMTE2LDM2IEBAIHZvaWQgUHJp
bnRCeXRlc0luT2JqZWN0VG8oY29uc3QgdW5zaWduZWQgY2hhciogb2JqX2J5dGVzLCBzaXplX3Qg
Y291bnQsCiAgIFByaW50Qnl0ZXNJbk9iamVjdFRvSW1wbChvYmpfYnl0ZXMsIGNvdW50LCBvcyk7
CiB9CiAKK30gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbDIKKworbmFtZXNwYWNlIGludGVybmFsIHsK
KwogLy8gRGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBhIGNoYXIgKG9yIHdjaGFyX3QpLCB3ZSBw
cmludCBpdCBpbiBvbmUKIC8vIG9mIHRocmVlIGZvcm1hdHM6CiAvLyAgIC0gYXMgaXMgaWYgaXQn
cyBhIHByaW50YWJsZSBBU0NJSSAoZS5nLiAnYScsICcyJywgJyAnKSwKIC8vICAgLSBhcyBhIGhl
eGFkZWNpbWFsIGVzY2FwZSBzZXF1ZW5jZSAoZS5nLiAnXHg3RicpLCBvcgogLy8gICAtIGFzIGEg
c3BlY2lhbCBlc2NhcGUgc2VxdWVuY2UgKGUuZy4gJ1xyJywgJ1xuJykuCi1lbnVtIENoYXJGb3Jt
YXQgeyBrQXNJcywga0hleEVzY2FwZSwga1NwZWNpYWxFc2NhcGUgfTsKK2VudW0gQ2hhckZvcm1h
dCB7CisgIGtBc0lzLAorICBrSGV4RXNjYXBlLAorICBrU3BlY2lhbEVzY2FwZQorfTsKIAogLy8g
UmV0dXJucyB0cnVlIGlmIGMgaXMgYSBwcmludGFibGUgQVNDSUkgY2hhcmFjdGVyLiAgV2UgdGVz
dCB0aGUKIC8vIHZhbHVlIG9mIGMgZGlyZWN0bHkgaW5zdGVhZCBvZiBjYWxsaW5nIGlzcHJpbnQo
KSwgd2hpY2ggaXMgYnVnZ3kgb24KIC8vIFdpbmRvd3MgTW9iaWxlLgotaW5saW5lIGJvb2wgSXNQ
cmludGFibGVBc2NpaShjaGFyMzJfdCBjKSB7IHJldHVybiAweDIwIDw9IGMgJiYgYyA8PSAweDdF
OyB9CitpbmxpbmUgYm9vbCBJc1ByaW50YWJsZUFzY2lpKHdjaGFyX3QgYykgeworICByZXR1cm4g
MHgyMCA8PSBjICYmIGMgPD0gMHg3RTsKK30KIAotLy8gUHJpbnRzIGMgKG9mIHR5cGUgY2hhciwg
Y2hhcjhfdCwgY2hhcjE2X3QsIGNoYXIzMl90LCBvciB3Y2hhcl90KSBhcyBhCi0vLyBjaGFyYWN0
ZXIgbGl0ZXJhbCB3aXRob3V0IHRoZSBxdW90ZXMsIGVzY2FwaW5nIGl0IHdoZW4gbmVjZXNzYXJ5
OyByZXR1cm5zIGhvdwotLy8gYyB3YXMgZm9ybWF0dGVkLgotdGVtcGxhdGUgPHR5cGVuYW1lIENo
YXI+CisvLyBQcmludHMgYSB3aWRlIG9yIG5hcnJvdyBjaGFyIGMgYXMgYSBjaGFyYWN0ZXIgbGl0
ZXJhbCB3aXRob3V0IHRoZQorLy8gcXVvdGVzLCBlc2NhcGluZyBpdCB3aGVuIG5lY2Vzc2FyeTsg
cmV0dXJucyBob3cgYyB3YXMgZm9ybWF0dGVkLgorLy8gVGhlIHRlbXBsYXRlIGFyZ3VtZW50IFVu
c2lnbmVkQ2hhciBpcyB0aGUgdW5zaWduZWQgdmVyc2lvbiBvZiBDaGFyLAorLy8gd2hpY2ggaXMg
dGhlIHR5cGUgb2YgYy4KK3RlbXBsYXRlIDx0eXBlbmFtZSBVbnNpZ25lZENoYXIsIHR5cGVuYW1l
IENoYXI+CiBzdGF0aWMgQ2hhckZvcm1hdCBQcmludEFzQ2hhckxpdGVyYWxUbyhDaGFyIGMsIG9z
dHJlYW0qIG9zKSB7Ci0gIGNvbnN0IGNoYXIzMl90IHVfYyA9IFRvQ2hhcjMyKGMpOwotICBzd2l0
Y2ggKHVfYykgeworICB3Y2hhcl90IHdfYyA9IHN0YXRpY19jYXN0PHdjaGFyX3Q+KGMpOworICBz
d2l0Y2ggKHdfYykgewogICAgIGNhc2UgTCdcMCc6CiAgICAgICAqb3MgPDwgIlxcMCI7CiAgICAg
ICBicmVhazsKQEAgLTE4MCwxMiArMTc3LDEzIEBAIHN0YXRpYyBDaGFyRm9ybWF0IFByaW50QXND
aGFyTGl0ZXJhbFRvKENoYXIgYywgb3N0cmVhbSogb3MpIHsKICAgICAgICpvcyA8PCAiXFx2IjsK
ICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICBpZiAoSXNQcmludGFibGVBc2NpaSh1
X2MpKSB7CisgICAgICBpZiAoSXNQcmludGFibGVBc2NpaSh3X2MpKSB7CiAgICAgICAgICpvcyA8
PCBzdGF0aWNfY2FzdDxjaGFyPihjKTsKICAgICAgICAgcmV0dXJuIGtBc0lzOwogICAgICAgfSBl
bHNlIHsKICAgICAgICAgb3N0cmVhbTo6Zm10ZmxhZ3MgZmxhZ3MgPSBvcy0+ZmxhZ3MoKTsKLSAg
ICAgICAgKm9zIDw8ICJcXHgiIDw8IHN0ZDo6aGV4IDw8IHN0ZDo6dXBwZXJjYXNlIDw8IHN0YXRp
Y19jYXN0PGludD4odV9jKTsKKyAgICAgICAgKm9zIDw8ICJcXHgiIDw8IHN0ZDo6aGV4IDw8IHN0
ZDo6dXBwZXJjYXNlCisgICAgICAgICAgICA8PCBzdGF0aWNfY2FzdDxpbnQ+KHN0YXRpY19jYXN0
PFVuc2lnbmVkQ2hhcj4oYykpOwogICAgICAgICBvcy0+ZmxhZ3MoZmxhZ3MpOwogICAgICAgICBy
ZXR1cm4ga0hleEVzY2FwZTsKICAgICAgIH0KQEAgLTE5Myw5ICsxOTEsOSBAQCBzdGF0aWMgQ2hh
ckZvcm1hdCBQcmludEFzQ2hhckxpdGVyYWxUbyhDaGFyIGMsIG9zdHJlYW0qIG9zKSB7CiAgIHJl
dHVybiBrU3BlY2lhbEVzY2FwZTsKIH0KIAotLy8gUHJpbnRzIGEgY2hhcjMyX3QgYyBhcyBpZiBp
dCdzIHBhcnQgb2YgYSBzdHJpbmcgbGl0ZXJhbCwgZXNjYXBpbmcgaXQgd2hlbgorLy8gUHJpbnRz
IGEgd2NoYXJfdCBjIGFzIGlmIGl0J3MgcGFydCBvZiBhIHN0cmluZyBsaXRlcmFsLCBlc2NhcGlu
ZyBpdCB3aGVuCiAvLyBuZWNlc3Nhcnk7IHJldHVybnMgaG93IGMgd2FzIGZvcm1hdHRlZC4KLXN0
YXRpYyBDaGFyRm9ybWF0IFByaW50QXNTdHJpbmdMaXRlcmFsVG8oY2hhcjMyX3QgYywgb3N0cmVh
bSogb3MpIHsKK3N0YXRpYyBDaGFyRm9ybWF0IFByaW50QXNTdHJpbmdMaXRlcmFsVG8od2NoYXJf
dCBjLCBvc3RyZWFtKiBvcykgewogICBzd2l0Y2ggKGMpIHsKICAgICBjYXNlIEwnXCcnOgogICAg
ICAgKm9zIDw8ICInIjsKQEAgLTIwNCw2MCArMjAyLDMzIEBAIHN0YXRpYyBDaGFyRm9ybWF0IFBy
aW50QXNTdHJpbmdMaXRlcmFsVG8oY2hhcjMyX3QgYywgb3N0cmVhbSogb3MpIHsKICAgICAgICpv
cyA8PCAiXFxcIiI7CiAgICAgICByZXR1cm4ga1NwZWNpYWxFc2NhcGU7CiAgICAgZGVmYXVsdDoK
LSAgICAgIHJldHVybiBQcmludEFzQ2hhckxpdGVyYWxUbyhjLCBvcyk7CisgICAgICByZXR1cm4g
UHJpbnRBc0NoYXJMaXRlcmFsVG88d2NoYXJfdD4oYywgb3MpOwogICB9CiB9CiAKLXN0YXRpYyBj
b25zdCBjaGFyKiBHZXRDaGFyV2lkdGhQcmVmaXgoY2hhcikgeyByZXR1cm4gIiI7IH0KLQotc3Rh
dGljIGNvbnN0IGNoYXIqIEdldENoYXJXaWR0aFByZWZpeChzaWduZWQgY2hhcikgeyByZXR1cm4g
IiI7IH0KLQotc3RhdGljIGNvbnN0IGNoYXIqIEdldENoYXJXaWR0aFByZWZpeCh1bnNpZ25lZCBj
aGFyKSB7IHJldHVybiAiIjsgfQotCi0jaWZkZWYgX19jcHBfY2hhcjhfdAotc3RhdGljIGNvbnN0
IGNoYXIqIEdldENoYXJXaWR0aFByZWZpeChjaGFyOF90KSB7IHJldHVybiAidTgiOyB9Ci0jZW5k
aWYKLQotc3RhdGljIGNvbnN0IGNoYXIqIEdldENoYXJXaWR0aFByZWZpeChjaGFyMTZfdCkgeyBy
ZXR1cm4gInUiOyB9Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBHZXRDaGFyV2lkdGhQcmVmaXgoY2hh
cjMyX3QpIHsgcmV0dXJuICJVIjsgfQotCi1zdGF0aWMgY29uc3QgY2hhciogR2V0Q2hhcldpZHRo
UHJlZml4KHdjaGFyX3QpIHsgcmV0dXJuICJMIjsgfQotCiAvLyBQcmludHMgYSBjaGFyIGMgYXMg
aWYgaXQncyBwYXJ0IG9mIGEgc3RyaW5nIGxpdGVyYWwsIGVzY2FwaW5nIGl0IHdoZW4KIC8vIG5l
Y2Vzc2FyeTsgcmV0dXJucyBob3cgYyB3YXMgZm9ybWF0dGVkLgogc3RhdGljIENoYXJGb3JtYXQg
UHJpbnRBc1N0cmluZ0xpdGVyYWxUbyhjaGFyIGMsIG9zdHJlYW0qIG9zKSB7Ci0gIHJldHVybiBQ
cmludEFzU3RyaW5nTGl0ZXJhbFRvKFRvQ2hhcjMyKGMpLCBvcyk7Ci19Ci0KLSNpZmRlZiBfX2Nw
cF9jaGFyOF90Ci1zdGF0aWMgQ2hhckZvcm1hdCBQcmludEFzU3RyaW5nTGl0ZXJhbFRvKGNoYXI4
X3QgYywgb3N0cmVhbSogb3MpIHsKLSAgcmV0dXJuIFByaW50QXNTdHJpbmdMaXRlcmFsVG8oVG9D
aGFyMzIoYyksIG9zKTsKLX0KLSNlbmRpZgotCi1zdGF0aWMgQ2hhckZvcm1hdCBQcmludEFzU3Ry
aW5nTGl0ZXJhbFRvKGNoYXIxNl90IGMsIG9zdHJlYW0qIG9zKSB7Ci0gIHJldHVybiBQcmludEFz
U3RyaW5nTGl0ZXJhbFRvKFRvQ2hhcjMyKGMpLCBvcyk7Ci19Ci0KLXN0YXRpYyBDaGFyRm9ybWF0
IFByaW50QXNTdHJpbmdMaXRlcmFsVG8od2NoYXJfdCBjLCBvc3RyZWFtKiBvcykgewotICByZXR1
cm4gUHJpbnRBc1N0cmluZ0xpdGVyYWxUbyhUb0NoYXIzMihjKSwgb3MpOworICByZXR1cm4gUHJp
bnRBc1N0cmluZ0xpdGVyYWxUbygKKyAgICAgIHN0YXRpY19jYXN0PHdjaGFyX3Q+KHN0YXRpY19j
YXN0PHVuc2lnbmVkIGNoYXI+KGMpKSwgb3MpOwogfQogCi0vLyBQcmludHMgYSBjaGFyYWN0ZXIg
YyAob2YgdHlwZSBjaGFyLCBjaGFyOF90LCBjaGFyMTZfdCwgY2hhcjMyX3QsIG9yIHdjaGFyX3Qp
Ci0vLyBhbmQgaXRzIGNvZGUuICdcMCcgaXMgcHJpbnRlZCBhcyAiJ1xcMCciLCBvdGhlciB1bnBy
aW50YWJsZSBjaGFyYWN0ZXJzIGFyZQotLy8gYWxzbyBwcm9wZXJseSBlc2NhcGVkIHVzaW5nIHRo
ZSBzdGFuZGFyZCBDKysgZXNjYXBlIHNlcXVlbmNlLgotdGVtcGxhdGUgPHR5cGVuYW1lIENoYXI+
CisvLyBQcmludHMgYSB3aWRlIG9yIG5hcnJvdyBjaGFyYWN0ZXIgYyBhbmQgaXRzIGNvZGUuICAn
XDAnIGlzIHByaW50ZWQKKy8vIGFzICInXFwwJyIsIG90aGVyIHVucHJpbnRhYmxlIGNoYXJhY3Rl
cnMgYXJlIGFsc28gcHJvcGVybHkgZXNjYXBlZAorLy8gdXNpbmcgdGhlIHN0YW5kYXJkIEMrKyBl
c2NhcGUgc2VxdWVuY2UuICBUaGUgdGVtcGxhdGUgYXJndW1lbnQKKy8vIFVuc2lnbmVkQ2hhciBp
cyB0aGUgdW5zaWduZWQgdmVyc2lvbiBvZiBDaGFyLCB3aGljaCBpcyB0aGUgdHlwZSBvZiBjLgor
dGVtcGxhdGUgPHR5cGVuYW1lIFVuc2lnbmVkQ2hhciwgdHlwZW5hbWUgQ2hhcj4KIHZvaWQgUHJp
bnRDaGFyQW5kQ29kZVRvKENoYXIgYywgb3N0cmVhbSogb3MpIHsKICAgLy8gRmlyc3QsIHByaW50
IGMgYXMgYSBsaXRlcmFsIGluIHRoZSBtb3N0IHJlYWRhYmxlIGZvcm0gd2UgY2FuIGZpbmQuCi0g
ICpvcyA8PCBHZXRDaGFyV2lkdGhQcmVmaXgoYykgPDwgIiciOwotICBjb25zdCBDaGFyRm9ybWF0
IGZvcm1hdCA9IFByaW50QXNDaGFyTGl0ZXJhbFRvKGMsIG9zKTsKKyAgKm9zIDw8ICgoc2l6ZW9m
KGMpID4gMSkgPyAiTCciIDogIiciKTsKKyAgY29uc3QgQ2hhckZvcm1hdCBmb3JtYXQgPSBQcmlu
dEFzQ2hhckxpdGVyYWxUbzxVbnNpZ25lZENoYXI+KGMsIG9zKTsKICAgKm9zIDw8ICInIjsKIAog
ICAvLyBUbyBhaWQgdXNlciBkZWJ1Z2dpbmcsIHdlIGFsc28gcHJpbnQgYydzIGNvZGUgaW4gZGVj
aW1hbCwgdW5sZXNzCiAgIC8vIGl0J3MgMCAoaW4gd2hpY2ggY2FzZSBjIHdhcyBwcmludGVkIGFz
ICdcXDAnLCBtYWtpbmcgdGhlIGNvZGUKICAgLy8gb2J2aW91cykuCi0gIGlmIChjID09IDApIHJl
dHVybjsKKyAgaWYgKGMgPT0gMCkKKyAgICByZXR1cm47CiAgICpvcyA8PCAiICgiIDw8IHN0YXRp
Y19jYXN0PGludD4oYyk7CiAKICAgLy8gRm9yIG1vcmUgY29udmVuaWVuY2UsIHdlIHByaW50IGMn
cyBjb2RlIGFnYWluIGluIGhleGFkZWNpbWFsLApAQCAtMjcxLDc1ICsyNDIsMzIgQEAgdm9pZCBQ
cmludENoYXJBbmRDb2RlVG8oQ2hhciBjLCBvc3RyZWFtKiBvcykgewogICAqb3MgPDwgIikiOwog
fQogCi12b2lkIFByaW50VG8odW5zaWduZWQgY2hhciBjLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsg
UHJpbnRDaGFyQW5kQ29kZVRvKGMsIG9zKTsgfQotdm9pZCBQcmludFRvKHNpZ25lZCBjaGFyIGMs
IDo6c3RkOjpvc3RyZWFtKiBvcykgeyBQcmludENoYXJBbmRDb2RlVG8oYywgb3MpOyB9Cit2b2lk
IFByaW50VG8odW5zaWduZWQgY2hhciBjLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKKyAgUHJpbnRD
aGFyQW5kQ29kZVRvPHVuc2lnbmVkIGNoYXI+KGMsIG9zKTsKK30KK3ZvaWQgUHJpbnRUbyhzaWdu
ZWQgY2hhciBjLCA6OnN0ZDo6b3N0cmVhbSogb3MpIHsKKyAgUHJpbnRDaGFyQW5kQ29kZVRvPHVu
c2lnbmVkIGNoYXI+KGMsIG9zKTsKK30KIAogLy8gUHJpbnRzIGEgd2NoYXJfdCBhcyBhIHN5bWJv
bCBpZiBpdCBpcyBwcmludGFibGUgb3IgYXMgaXRzIGludGVybmFsCiAvLyBjb2RlIG90aGVyd2lz
ZSBhbmQgYWxzbyBhcyBpdHMgY29kZS4gIEwnXDAnIGlzIHByaW50ZWQgYXMgIkwnXFwwJyIuCi12
b2lkIFByaW50VG8od2NoYXJfdCB3Yywgb3N0cmVhbSogb3MpIHsgUHJpbnRDaGFyQW5kQ29kZVRv
KHdjLCBvcyk7IH0KLQotLy8gVE9ETyhkY2hlbmcpOiBDb25zaWRlciBtYWtpbmcgdGhpcyBkZWxl
Z2F0ZSB0byBQcmludENoYXJBbmRDb2RlVG8oKSBhcyB3ZWxsLgotdm9pZCBQcmludFRvKGNoYXIz
Ml90IGMsIDo6c3RkOjpvc3RyZWFtKiBvcykgewotICAqb3MgPDwgc3RkOjpoZXggPDwgIlUrIiA8
PCBzdGQ6OnVwcGVyY2FzZSA8PCBzdGQ6OnNldGZpbGwoJzAnKSA8PCBzdGQ6OnNldHcoNCkKLSAg
ICAgIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihjKTsKK3ZvaWQgUHJpbnRUbyh3Y2hhcl90IHdj
LCBvc3RyZWFtKiBvcykgeworICBQcmludENoYXJBbmRDb2RlVG88d2NoYXJfdD4od2MsIG9zKTsK
IH0KIAotLy8gZ2NjL2NsYW5nIF9fe3UsfWludDEyOF90Ci0jaWYgZGVmaW5lZChfX1NJWkVPRl9J
TlQxMjhfXykKLXZvaWQgUHJpbnRUbyhfX3VpbnQxMjhfdCB2LCA6OnN0ZDo6b3N0cmVhbSogb3Mp
IHsKLSAgaWYgKHYgPT0gMCkgewotICAgICpvcyA8PCAiMCI7Ci0gICAgcmV0dXJuOwotICB9Ci0K
LSAgLy8gQnVmZmVyIGxhcmdlIGVub3VnaCBmb3IgY2VpbChsb2cxMCgyXjEyOCkpPT0zOSBhbmQg
dGhlIG51bGwgdGVybWluYXRvcgotICBjaGFyIGJ1Zls0MF07Ci0gIGNoYXIqIHAgPSBidWYgKyBz
aXplb2YoYnVmKTsKLQotICAvLyBTb21lIGNvbmZpZ3VyYXRpb25zIGhhdmUgYSBfX3VpbnQxMjhf
dCwgYnV0IG5vIHN1cHBvcnQgZm9yIGJ1aWx0IGluCi0gIC8vIGRpdmlzaW9uLiBEbyBtYW51YWwg
bG9uZyBkaXZpc2lvbiBpbnN0ZWFkLgotCi0gIHVpbnQ2NF90IGhpZ2ggPSBzdGF0aWNfY2FzdDx1
aW50NjRfdD4odiA+PiA2NCk7Ci0gIHVpbnQ2NF90IGxvdyA9IHN0YXRpY19jYXN0PHVpbnQ2NF90
Pih2KTsKLQotICAqLS1wID0gMDsKLSAgd2hpbGUgKGhpZ2ggIT0gMCB8fCBsb3cgIT0gMCkgewot
ICAgIHVpbnQ2NF90IGhpZ2hfbW9kID0gaGlnaCAlIDEwOwotICAgIGhpZ2ggPSBoaWdoIC8gMTA7
Ci0gICAgLy8gVGhpcyBpcyB0aGUgbG9uZyBkaXZpc2lvbiBhbGdvcml0aG0gc3BlY2lhbGl6ZWQg
Zm9yIGEgZGl2aXNvciBvZiAxMCBhbmQKLSAgICAvLyBvbmx5IHR3byBlbGVtZW50cy4KLSAgICAv
LyBOb3RhYmxlIHZhbHVlczoKLSAgICAvLyAgIDJeNjQgLyAxMCA9PSAxODQ0Njc0NDA3MzcwOTU1
MTYxCi0gICAgLy8gICAyXjY0ICUgMTAgPT0gNgotICAgIGNvbnN0IHVpbnQ2NF90IGNhcnJ5ID0g
NiAqIGhpZ2hfbW9kICsgbG93ICUgMTA7Ci0gICAgbG93ID0gbG93IC8gMTAgKyBoaWdoX21vZCAq
IDE4NDQ2NzQ0MDczNzA5NTUxNjEgKyBjYXJyeSAvIDEwOwotCi0gICAgY2hhciBkaWdpdCA9IHN0
YXRpY19jYXN0PGNoYXI+KGNhcnJ5ICUgMTApOwotICAgICotLXAgPSAnMCcgKyBkaWdpdDsKLSAg
fQotICAqb3MgPDwgcDsKLX0KLXZvaWQgUHJpbnRUbyhfX2ludDEyOF90IHYsIDo6c3RkOjpvc3Ry
ZWFtKiBvcykgewotICBfX3VpbnQxMjhfdCB1diA9IHN0YXRpY19jYXN0PF9fdWludDEyOF90Pih2
KTsKLSAgaWYgKHYgPCAwKSB7Ci0gICAgKm9zIDw8ICItIjsKLSAgICB1diA9IC11djsKLSAgfQot
ICBQcmludFRvKHV2LCBvcyk7Ci19Ci0jZW5kaWYgIC8vIF9fU0laRU9GX0lOVDEyOF9fCi0KIC8v
IFByaW50cyB0aGUgZ2l2ZW4gYXJyYXkgb2YgY2hhcmFjdGVycyB0byB0aGUgb3N0cmVhbS4gIENo
YXJUeXBlIG11c3QgYmUgZWl0aGVyCi0vLyBjaGFyLCBjaGFyOF90LCBjaGFyMTZfdCwgY2hhcjMy
X3QsIG9yIHdjaGFyX3QuCisvLyBjaGFyIG9yIHdjaGFyX3QuCiAvLyBUaGUgYXJyYXkgc3RhcnRz
IGF0IGJlZ2luLCB0aGUgbGVuZ3RoIGlzIGxlbiwgaXQgbWF5IGluY2x1ZGUgJ1wwJyBjaGFyYWN0
ZXJzCiAvLyBhbmQgbWF5IG5vdCBiZSBOVUwtdGVybWluYXRlZC4KIHRlbXBsYXRlIDx0eXBlbmFt
ZSBDaGFyVHlwZT4KLUdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9NRU1PUllfIEdURVNUX0FU
VFJJQlVURV9OT19TQU5JVElaRV9BRERSRVNTXwotICAgIEdURVNUX0FUVFJJQlVURV9OT19TQU5J
VElaRV9IV0FERFJFU1NfCi0gICAgICAgIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9USFJF
QURfIHN0YXRpYyBDaGFyRm9ybWF0Ci0gICAgICAgIFByaW50Q2hhcnNBc1N0cmluZ1RvKGNvbnN0
IENoYXJUeXBlKiBiZWdpbiwgc2l6ZV90IGxlbiwgb3N0cmVhbSogb3MpIHsKLSAgY29uc3QgY2hh
ciogY29uc3QgcXVvdGVfcHJlZml4ID0gR2V0Q2hhcldpZHRoUHJlZml4KCpiZWdpbik7Ci0gICpv
cyA8PCBxdW90ZV9wcmVmaXggPDwgIlwiIjsKK0dURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9N
RU1PUllfCitHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfQUREUkVTU18KK0dURVNUX0FUVFJJ
QlVURV9OT19TQU5JVElaRV9IV0FERFJFU1NfCitHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVf
VEhSRUFEXworc3RhdGljIENoYXJGb3JtYXQgUHJpbnRDaGFyc0FzU3RyaW5nVG8oCisgICAgY29u
c3QgQ2hhclR5cGUqIGJlZ2luLCBzaXplX3QgbGVuLCBvc3RyZWFtKiBvcykgeworICBjb25zdCBj
aGFyKiBjb25zdCBrUXVvdGVCZWdpbiA9IHNpemVvZihDaGFyVHlwZSkgPT0gMSA/ICJcIiIgOiAi
TFwiIjsKKyAgKm9zIDw8IGtRdW90ZUJlZ2luOwogICBib29sIGlzX3ByZXZpb3VzX2hleCA9IGZh
bHNlOwogICBDaGFyRm9ybWF0IHByaW50X2Zvcm1hdCA9IGtBc0lzOwogICBmb3IgKHNpemVfdCBp
bmRleCA9IDA7IGluZGV4IDwgbGVuOyArK2luZGV4KSB7CkBAIC0zNDgsNyArMjc2LDcgQEAgR1RF
U1RfQVRUUklCVVRFX05PX1NBTklUSVpFX01FTU9SWV8gR1RFU1RfQVRUUklCVVRFX05PX1NBTklU
SVpFX0FERFJFU1NfCiAgICAgICAvLyBQcmV2aW91cyBjaGFyYWN0ZXIgaXMgb2YgJ1x4Li4nIGZv
cm0gYW5kIHRoaXMgY2hhcmFjdGVyIGNhbiBiZQogICAgICAgLy8gaW50ZXJwcmV0ZWQgYXMgYW5v
dGhlciBoZXhhZGVjaW1hbCBkaWdpdCBpbiBpdHMgbnVtYmVyLiBCcmVhayBzdHJpbmcgdG8KICAg
ICAgIC8vIGRpc2FtYmlndWF0ZS4KLSAgICAgICpvcyA8PCAiXCIgIiA8PCBxdW90ZV9wcmVmaXgg
PDwgIlwiIjsKKyAgICAgICpvcyA8PCAiXCIgIiA8PCBrUXVvdGVCZWdpbjsKICAgICB9CiAgICAg
aXNfcHJldmlvdXNfaGV4ID0gUHJpbnRBc1N0cmluZ0xpdGVyYWxUbyhjdXIsIG9zKSA9PSBrSGV4
RXNjYXBlOwogICAgIC8vIFJlbWVtYmVyIGlmIGFueSBjaGFyYWN0ZXJzIHJlcXVpcmVkIGhleCBl
c2NhcGluZy4KQEAgLTM2MywxMSArMjkxLDEyIEBAIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVEla
RV9NRU1PUllfIEdURVNUX0FUVFJJQlVURV9OT19TQU5JVElaRV9BRERSRVNTXwogLy8gUHJpbnRz
IGEgKGNvbnN0KSBjaGFyL3djaGFyX3QgYXJyYXkgb2YgJ2xlbicgZWxlbWVudHMsIHN0YXJ0aW5n
IGF0IGFkZHJlc3MKIC8vICdiZWdpbicuICBDaGFyVHlwZSBtdXN0IGJlIGVpdGhlciBjaGFyIG9y
IHdjaGFyX3QuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhclR5cGU+Ci1HVEVTVF9BVFRSSUJVVEVf
Tk9fU0FOSVRJWkVfTUVNT1JZXyBHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfQUREUkVTU18K
LSAgICBHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfSFdBRERSRVNTXwotICAgICAgICBHVEVT
VF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfVEhSRUFEXyBzdGF0aWMgdm9pZAotICAgICAgICBVbml2
ZXJzYWxQcmludENoYXJBcnJheShjb25zdCBDaGFyVHlwZSogYmVnaW4sIHNpemVfdCBsZW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zdHJlYW0qIG9zKSB7CitHVEVTVF9BVFRS
SUJVVEVfTk9fU0FOSVRJWkVfTUVNT1JZXworR1RFU1RfQVRUUklCVVRFX05PX1NBTklUSVpFX0FE
RFJFU1NfCitHVEVTVF9BVFRSSUJVVEVfTk9fU0FOSVRJWkVfSFdBRERSRVNTXworR1RFU1RfQVRU
UklCVVRFX05PX1NBTklUSVpFX1RIUkVBRF8KK3N0YXRpYyB2b2lkIFVuaXZlcnNhbFByaW50Q2hh
ckFycmF5KAorICAgIGNvbnN0IENoYXJUeXBlKiBiZWdpbiwgc2l6ZV90IGxlbiwgb3N0cmVhbSog
b3MpIHsKICAgLy8gVGhlIGNvZGUKICAgLy8gICBjb25zdCBjaGFyIGtGb29bXSA9ICJmb28iOwog
ICAvLyBnZW5lcmF0ZXMgYW4gYXJyYXkgb2YgNCwgbm90IDMsIGVsZW1lbnRzLCB3aXRoIHRoZSBs
YXN0IG9uZSBiZWluZyAnXDAnLgpAQCAtMzkzLDU3ICszMjIsMjIgQEAgdm9pZCBVbml2ZXJzYWxQ
cmludEFycmF5KGNvbnN0IGNoYXIqIGJlZ2luLCBzaXplX3QgbGVuLCBvc3RyZWFtKiBvcykgewog
ICBVbml2ZXJzYWxQcmludENoYXJBcnJheShiZWdpbiwgbGVuLCBvcyk7CiB9CiAKLSNpZmRlZiBf
X2NwcF9jaGFyOF90Ci0vLyBQcmludHMgYSAoY29uc3QpIGNoYXI4X3QgYXJyYXkgb2YgJ2xlbicg
ZWxlbWVudHMsIHN0YXJ0aW5nIGF0IGFkZHJlc3MKLS8vICdiZWdpbicuCi12b2lkIFVuaXZlcnNh
bFByaW50QXJyYXkoY29uc3QgY2hhcjhfdCogYmVnaW4sIHNpemVfdCBsZW4sIG9zdHJlYW0qIG9z
KSB7Ci0gIFVuaXZlcnNhbFByaW50Q2hhckFycmF5KGJlZ2luLCBsZW4sIG9zKTsKLX0KLSNlbmRp
ZgotCi0vLyBQcmludHMgYSAoY29uc3QpIGNoYXIxNl90IGFycmF5IG9mICdsZW4nIGVsZW1lbnRz
LCBzdGFydGluZyBhdCBhZGRyZXNzCi0vLyAnYmVnaW4nLgotdm9pZCBVbml2ZXJzYWxQcmludEFy
cmF5KGNvbnN0IGNoYXIxNl90KiBiZWdpbiwgc2l6ZV90IGxlbiwgb3N0cmVhbSogb3MpIHsKLSAg
VW5pdmVyc2FsUHJpbnRDaGFyQXJyYXkoYmVnaW4sIGxlbiwgb3MpOwotfQotCi0vLyBQcmludHMg
YSAoY29uc3QpIGNoYXIzMl90IGFycmF5IG9mICdsZW4nIGVsZW1lbnRzLCBzdGFydGluZyBhdCBh
ZGRyZXNzCi0vLyAnYmVnaW4nLgotdm9pZCBVbml2ZXJzYWxQcmludEFycmF5KGNvbnN0IGNoYXIz
Ml90KiBiZWdpbiwgc2l6ZV90IGxlbiwgb3N0cmVhbSogb3MpIHsKLSAgVW5pdmVyc2FsUHJpbnRD
aGFyQXJyYXkoYmVnaW4sIGxlbiwgb3MpOwotfQotCiAvLyBQcmludHMgYSAoY29uc3QpIHdjaGFy
X3QgYXJyYXkgb2YgJ2xlbicgZWxlbWVudHMsIHN0YXJ0aW5nIGF0IGFkZHJlc3MKIC8vICdiZWdp
bicuCiB2b2lkIFVuaXZlcnNhbFByaW50QXJyYXkoY29uc3Qgd2NoYXJfdCogYmVnaW4sIHNpemVf
dCBsZW4sIG9zdHJlYW0qIG9zKSB7CiAgIFVuaXZlcnNhbFByaW50Q2hhckFycmF5KGJlZ2luLCBs
ZW4sIG9zKTsKIH0KIAotbmFtZXNwYWNlIHsKLQotLy8gUHJpbnRzIGEgbnVsbC10ZXJtaW5hdGVk
IEMtc3R5bGUgc3RyaW5nIHRvIHRoZSBvc3RyZWFtLgotdGVtcGxhdGUgPHR5cGVuYW1lIENoYXI+
Ci12b2lkIFByaW50Q1N0cmluZ1RvKGNvbnN0IENoYXIqIHMsIG9zdHJlYW0qIG9zKSB7CisvLyBQ
cmludHMgdGhlIGdpdmVuIEMgc3RyaW5nIHRvIHRoZSBvc3RyZWFtLgordm9pZCBQcmludFRvKGNv
bnN0IGNoYXIqIHMsIG9zdHJlYW0qIG9zKSB7CiAgIGlmIChzID09IG51bGxwdHIpIHsKICAgICAq
b3MgPDwgIk5VTEwiOwogICB9IGVsc2UgewogICAgICpvcyA8PCBJbXBsaWNpdENhc3RfPGNvbnN0
IHZvaWQqPihzKSA8PCAiIHBvaW50aW5nIHRvICI7Ci0gICAgUHJpbnRDaGFyc0FzU3RyaW5nVG8o
cywgc3RkOjpjaGFyX3RyYWl0czxDaGFyPjo6bGVuZ3RoKHMpLCBvcyk7CisgICAgUHJpbnRDaGFy
c0FzU3RyaW5nVG8ocywgc3RybGVuKHMpLCBvcyk7CiAgIH0KIH0KIAotfSAgLy8gYW5vbnltb3Vz
IG5hbWVzcGFjZQotCi12b2lkIFByaW50VG8oY29uc3QgY2hhciogcywgb3N0cmVhbSogb3MpIHsg
UHJpbnRDU3RyaW5nVG8ocywgb3MpOyB9Ci0KLSNpZmRlZiBfX2NwcF9jaGFyOF90Ci12b2lkIFBy
aW50VG8oY29uc3QgY2hhcjhfdCogcywgb3N0cmVhbSogb3MpIHsgUHJpbnRDU3RyaW5nVG8ocywg
b3MpOyB9Ci0jZW5kaWYKLQotdm9pZCBQcmludFRvKGNvbnN0IGNoYXIxNl90KiBzLCBvc3RyZWFt
KiBvcykgeyBQcmludENTdHJpbmdUbyhzLCBvcyk7IH0KLQotdm9pZCBQcmludFRvKGNvbnN0IGNo
YXIzMl90KiBzLCBvc3RyZWFtKiBvcykgeyBQcmludENTdHJpbmdUbyhzLCBvcyk7IH0KLQogLy8g
TVNWQyBjb21waWxlciBjYW4gYmUgY29uZmlndXJlZCB0byBkZWZpbmUgd2hhcl90IGFzIGEgdHlw
ZWRlZgogLy8gb2YgdW5zaWduZWQgc2hvcnQuIERlZmluaW5nIGFuIG92ZXJsb2FkIGZvciBjb25z
dCB3Y2hhcl90KiBpbiB0aGF0IGNhc2UKIC8vIHdvdWxkIGNhdXNlIHBvaW50ZXJzIHRvIHVuc2ln
bmVkIHNob3J0cyBiZSBwcmludGVkIGFzIHdpZGUgc3RyaW5ncywKQEAgLTQ1MiwzNCArMzQ2LDQx
IEBAIHZvaWQgUHJpbnRUbyhjb25zdCBjaGFyMzJfdCogcywgb3N0cmVhbSogb3MpIHsgUHJpbnRD
U3RyaW5nVG8ocywgb3MpOyB9CiAvLyB3Y2hhcl90IGlzIGltcGxlbWVudGVkIGFzIGEgbmF0aXZl
IHR5cGUuCiAjaWYgIWRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX05BVElWRV9XQ0hBUl9U
X0RFRklORUQpCiAvLyBQcmludHMgdGhlIGdpdmVuIHdpZGUgQyBzdHJpbmcgdG8gdGhlIG9zdHJl
YW0uCi12b2lkIFByaW50VG8oY29uc3Qgd2NoYXJfdCogcywgb3N0cmVhbSogb3MpIHsgUHJpbnRD
U3RyaW5nVG8ocywgb3MpOyB9Cit2b2lkIFByaW50VG8oY29uc3Qgd2NoYXJfdCogcywgb3N0cmVh
bSogb3MpIHsKKyAgaWYgKHMgPT0gbnVsbHB0cikgeworICAgICpvcyA8PCAiTlVMTCI7CisgIH0g
ZWxzZSB7CisgICAgKm9zIDw8IEltcGxpY2l0Q2FzdF88Y29uc3Qgdm9pZCo+KHMpIDw8ICIgcG9p
bnRpbmcgdG8gIjsKKyAgICBQcmludENoYXJzQXNTdHJpbmdUbyhzLCB3Y3NsZW4ocyksIG9zKTsK
KyAgfQorfQogI2VuZGlmICAvLyB3Y2hhcl90IGlzIG5hdGl2ZQogCiBuYW1lc3BhY2UgewogCiBi
b29sIENvbnRhaW5zVW5wcmludGFibGVDb250cm9sQ29kZXMoY29uc3QgY2hhciogc3RyLCBzaXpl
X3QgbGVuZ3RoKSB7Ci0gIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHMgPSByZWludGVycHJldF9jYXN0
PGNvbnN0IHVuc2lnbmVkIGNoYXIqPihzdHIpOworICBjb25zdCB1bnNpZ25lZCBjaGFyICpzID0g
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KHN0cik7CiAKICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgIHVuc2lnbmVkIGNoYXIgY2ggPSAq
cysrOwogICAgIGlmIChzdGQ6OmlzY250cmwoY2gpKSB7Ci0gICAgICBzd2l0Y2ggKGNoKSB7Cisg
ICAgICAgIHN3aXRjaCAoY2gpIHsKICAgICAgICAgY2FzZSAnXHQnOgogICAgICAgICBjYXNlICdc
bic6CiAgICAgICAgIGNhc2UgJ1xyJzoKICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVs
dDoKICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgICAgfQotICAgIH0KICAg
fQogICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgSXNVVEY4VHJhaWxCeXRlKHVuc2lnbmVkIGNo
YXIgdCkgeyByZXR1cm4gMHg4MCA8PSB0ICYmIHQgPD0gMHhiZjsgfQorYm9vbCBJc1VURjhUcmFp
bEJ5dGUodW5zaWduZWQgY2hhciB0KSB7IHJldHVybiAweDgwIDw9IHQgJiYgdDw9IDB4YmY7IH0K
IAogYm9vbCBJc1ZhbGlkVVRGOChjb25zdCBjaGFyKiBzdHIsIHNpemVfdCBsZW5ndGgpIHsKLSAg
Y29uc3QgdW5zaWduZWQgY2hhciogcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQg
Y2hhcio+KHN0cik7CisgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnMgPSByZWludGVycHJldF9jYXN0
PGNvbnN0IHVuc2lnbmVkIGNoYXIgKj4oc3RyKTsKIAogICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGxlbmd0aDspIHsKICAgICB1bnNpZ25lZCBjaGFyIGxlYWQgPSBzW2krK107CkBAIC00OTIsMTMg
KzM5MywxNSBAQCBib29sIElzVmFsaWRVVEY4KGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0
aCkgewogICAgIH0gZWxzZSBpZiAobGVhZCA8PSAweGRmICYmIChpICsgMSkgPD0gbGVuZ3RoICYm
IElzVVRGOFRyYWlsQnl0ZShzW2ldKSkgewogICAgICAgKytpOyAgLy8gMi1ieXRlIGNoYXJhY3Rl
cgogICAgIH0gZWxzZSBpZiAoMHhlMCA8PSBsZWFkICYmIGxlYWQgPD0gMHhlZiAmJiAoaSArIDIp
IDw9IGxlbmd0aCAmJgotICAgICAgICAgICAgICAgSXNVVEY4VHJhaWxCeXRlKHNbaV0pICYmIElz
VVRGOFRyYWlsQnl0ZShzW2kgKyAxXSkgJiYKKyAgICAgICAgICAgICAgIElzVVRGOFRyYWlsQnl0
ZShzW2ldKSAmJgorICAgICAgICAgICAgICAgSXNVVEY4VHJhaWxCeXRlKHNbaSArIDFdKSAmJgog
ICAgICAgICAgICAgICAgLy8gY2hlY2sgZm9yIG5vbi1zaG9ydGVzdCBmb3JtIGFuZCBzdXJyb2dh
dGUKICAgICAgICAgICAgICAgIChsZWFkICE9IDB4ZTAgfHwgc1tpXSA+PSAweGEwKSAmJgogICAg
ICAgICAgICAgICAgKGxlYWQgIT0gMHhlZCB8fCBzW2ldIDwgMHhhMCkpIHsKICAgICAgIGkgKz0g
MjsgIC8vIDMtYnl0ZSBjaGFyYWN0ZXIKICAgICB9IGVsc2UgaWYgKDB4ZjAgPD0gbGVhZCAmJiBs
ZWFkIDw9IDB4ZjQgJiYgKGkgKyAzKSA8PSBsZW5ndGggJiYKLSAgICAgICAgICAgICAgIElzVVRG
OFRyYWlsQnl0ZShzW2ldKSAmJiBJc1VURjhUcmFpbEJ5dGUoc1tpICsgMV0pICYmCisgICAgICAg
ICAgICAgICBJc1VURjhUcmFpbEJ5dGUoc1tpXSkgJiYKKyAgICAgICAgICAgICAgIElzVVRGOFRy
YWlsQnl0ZShzW2kgKyAxXSkgJiYKICAgICAgICAgICAgICAgIElzVVRGOFRyYWlsQnl0ZShzW2kg
KyAyXSkgJiYKICAgICAgICAgICAgICAgIC8vIGNoZWNrIGZvciBub24tc2hvcnRlc3QgZm9ybQog
ICAgICAgICAgICAgICAgKGxlYWQgIT0gMHhmMCB8fCBzW2ldID49IDB4OTApICYmCkBAIC01MjIs
MjYgKzQyNSwxMiBAQCB2b2lkIENvbmRpdGlvbmFsUHJpbnRBc1RleHQoY29uc3QgY2hhciogc3Ry
LCBzaXplX3QgbGVuZ3RoLCBvc3RyZWFtKiBvcykgewogCiB2b2lkIFByaW50U3RyaW5nVG8oY29u
c3QgOjpzdGQ6OnN0cmluZyYgcywgb3N0cmVhbSogb3MpIHsKICAgaWYgKFByaW50Q2hhcnNBc1N0
cmluZ1RvKHMuZGF0YSgpLCBzLnNpemUoKSwgb3MpID09IGtIZXhFc2NhcGUpIHsKLSAgICBpZiAo
R1RFU1RfRkxBR19HRVQocHJpbnRfdXRmOCkpIHsKKyAgICBpZiAoR1RFU1RfRkxBRyhwcmludF91
dGY4KSkgewogICAgICAgQ29uZGl0aW9uYWxQcmludEFzVGV4dChzLmRhdGEoKSwgcy5zaXplKCks
IG9zKTsKICAgICB9CiAgIH0KIH0KIAotI2lmZGVmIF9fY3BwX2NoYXI4X3QKLXZvaWQgUHJpbnRV
OFN0cmluZ1RvKGNvbnN0IDo6c3RkOjp1OHN0cmluZyYgcywgb3N0cmVhbSogb3MpIHsKLSAgUHJp
bnRDaGFyc0FzU3RyaW5nVG8ocy5kYXRhKCksIHMuc2l6ZSgpLCBvcyk7Ci19Ci0jZW5kaWYKLQot
dm9pZCBQcmludFUxNlN0cmluZ1RvKGNvbnN0IDo6c3RkOjp1MTZzdHJpbmcmIHMsIG9zdHJlYW0q
IG9zKSB7Ci0gIFByaW50Q2hhcnNBc1N0cmluZ1RvKHMuZGF0YSgpLCBzLnNpemUoKSwgb3MpOwot
fQotCi12b2lkIFByaW50VTMyU3RyaW5nVG8oY29uc3QgOjpzdGQ6OnUzMnN0cmluZyYgcywgb3N0
cmVhbSogb3MpIHsKLSAgUHJpbnRDaGFyc0FzU3RyaW5nVG8ocy5kYXRhKCksIHMuc2l6ZSgpLCBv
cyk7Ci19Ci0KICNpZiBHVEVTVF9IQVNfU1REX1dTVFJJTkcKIHZvaWQgUHJpbnRXaWRlU3RyaW5n
VG8oY29uc3QgOjpzdGQ6OndzdHJpbmcmIHMsIG9zdHJlYW0qIG9zKSB7CiAgIFByaW50Q2hhcnNB
c1N0cmluZ1RvKHMuZGF0YSgpLCBzLnNpemUoKSwgb3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtdGVzdC1wYXJ0LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtdGVzdC1wYXJ0LmNj
CmluZGV4IGViN2M4ZDFjZjkyMy4uYTkzODY4M2NlZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC10ZXN0LXBhcnQuY2MKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtdGVzdC1wYXJ0
LmNjCkBAIC01MSwxMSArNTEsMTMgQEAgc3RkOjpvc3RyZWFtJiBvcGVyYXRvcjw8KHN0ZDo6b3N0
cmVhbSYgb3MsIGNvbnN0IFRlc3RQYXJ0UmVzdWx0JiByZXN1bHQpIHsKICAgcmV0dXJuIG9zIDw8
IGludGVybmFsOjpGb3JtYXRGaWxlTG9jYXRpb24ocmVzdWx0LmZpbGVfbmFtZSgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQubGluZV9udW1iZXIo
KSkKICAgICAgICAgICAgIDw8ICIgIgotICAgICAgICAgICAgPDwgKHJlc3VsdC50eXBlKCkgPT0g
VGVzdFBhcnRSZXN1bHQ6OmtTdWNjZXNzID8gIlN1Y2Nlc3MiCi0gICAgICAgICAgICAgICAgOiBy
ZXN1bHQudHlwZSgpID09IFRlc3RQYXJ0UmVzdWx0OjprU2tpcCAgPyAiU2tpcHBlZCIKLSAgICAg
ICAgICAgICAgICA6IHJlc3VsdC50eXBlKCkgPT0gVGVzdFBhcnRSZXN1bHQ6OmtGYXRhbEZhaWx1
cmUKLSAgICAgICAgICAgICAgICAgICAgPyAiRmF0YWwgZmFpbHVyZSIKLSAgICAgICAgICAgICAg
ICAgICAgOiAiTm9uLWZhdGFsIGZhaWx1cmUiKQorICAgICAgICAgICAgPDwgKHJlc3VsdC50eXBl
KCkgPT0gVGVzdFBhcnRSZXN1bHQ6OmtTdWNjZXNzCisgICAgICAgICAgICAgICAgICAgID8gIlN1
Y2Nlc3MiCisgICAgICAgICAgICAgICAgICAgIDogcmVzdWx0LnR5cGUoKSA9PSBUZXN0UGFydFJl
c3VsdDo6a1NraXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiU2tpcHBlZCIKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgOiByZXN1bHQudHlwZSgpID09IFRlc3RQYXJ0UmVzdWx0Ojpr
RmF0YWxGYWlsdXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gIkZhdGFsIGZh
aWx1cmUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIk5vbi1mYXRhbCBmYWls
dXJlIikKICAgICAgICAgICAgIDw8ICI6XG4iCiAgICAgICAgICAgICA8PCByZXN1bHQubWVzc2Fn
ZSgpIDw8IHN0ZDo6ZW5kbDsKIH0KQEAgLTg0LDggKzg2LDggQEAgbmFtZXNwYWNlIGludGVybmFs
IHsKIAogSGFzTmV3RmF0YWxGYWlsdXJlSGVscGVyOjpIYXNOZXdGYXRhbEZhaWx1cmVIZWxwZXIo
KQogICAgIDogaGFzX25ld19mYXRhbF9mYWlsdXJlXyhmYWxzZSksCi0gICAgICBvcmlnaW5hbF9y
ZXBvcnRlcl8oCi0gICAgICAgICAgR2V0VW5pdFRlc3RJbXBsKCktPkdldFRlc3RQYXJ0UmVzdWx0
UmVwb3J0ZXJGb3JDdXJyZW50VGhyZWFkKCkpIHsKKyAgICAgIG9yaWdpbmFsX3JlcG9ydGVyXyhH
ZXRVbml0VGVzdEltcGwoKS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgR2V0VGVzdFBhcnRS
ZXN1bHRSZXBvcnRlckZvckN1cnJlbnRUaHJlYWQoKSkgewogICBHZXRVbml0VGVzdEltcGwoKS0+
U2V0VGVzdFBhcnRSZXN1bHRSZXBvcnRlckZvckN1cnJlbnRUaHJlYWQodGhpcyk7CiB9CiAKQEAg
LTk2LDcgKzk4LDggQEAgSGFzTmV3RmF0YWxGYWlsdXJlSGVscGVyOjp+SGFzTmV3RmF0YWxGYWls
dXJlSGVscGVyKCkgewogCiB2b2lkIEhhc05ld0ZhdGFsRmFpbHVyZUhlbHBlcjo6UmVwb3J0VGVz
dFBhcnRSZXN1bHQoCiAgICAgY29uc3QgVGVzdFBhcnRSZXN1bHQmIHJlc3VsdCkgewotICBpZiAo
cmVzdWx0LmZhdGFsbHlfZmFpbGVkKCkpIGhhc19uZXdfZmF0YWxfZmFpbHVyZV8gPSB0cnVlOwor
ICBpZiAocmVzdWx0LmZhdGFsbHlfZmFpbGVkKCkpCisgICAgaGFzX25ld19mYXRhbF9mYWlsdXJl
XyA9IHRydWU7CiAgIG9yaWdpbmFsX3JlcG9ydGVyXy0+UmVwb3J0VGVzdFBhcnRSZXN1bHQocmVz
dWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9nb29nbGV0ZXN0
L3NyYy9zcmMvZ3Rlc3QtdHlwZWQtdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29v
Z2xldGVzdC9zcmMvc3JjL2d0ZXN0LXR5cGVkLXRlc3QuY2MKaW5kZXggYTI4MjhiODNjNjY0Li4x
YjFjZmIwZGMxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVz
dC9zcmMvc3JjL2d0ZXN0LXR5cGVkLXRlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0
eS9nb29nbGV0ZXN0L3NyYy9zcmMvZ3Rlc3QtdHlwZWQtdGVzdC5jYwpAQCAtMjcsNiArMjcsNyBA
QAogLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCisKICNpbmNsdWRlICJndGVzdC9n
dGVzdC10eXBlZC10ZXN0LmgiCiAKICNpbmNsdWRlICJndGVzdC9ndGVzdC5oIgpAQCAtMzQsMTAg
KzM1LDEzIEBACiBuYW1lc3BhY2UgdGVzdGluZyB7CiBuYW1lc3BhY2UgaW50ZXJuYWwgewogCisj
aWYgR1RFU1RfSEFTX1RZUEVEX1RFU1RfUAorCiAvLyBTa2lwcyB0byB0aGUgZmlyc3Qgbm9uLXNw
YWNlIGNoYXIgaW4gc3RyLiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiBzdHIKIC8vIGNvbnRh
aW5zIG9ubHkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzLgogc3RhdGljIGNvbnN0IGNoYXIqIFNraXBT
cGFjZXMoY29uc3QgY2hhciogc3RyKSB7Ci0gIHdoaWxlIChJc1NwYWNlKCpzdHIpKSBzdHIrKzsK
KyAgd2hpbGUgKElzU3BhY2UoKnN0cikpCisgICAgc3RyKys7CiAgIHJldHVybiBzdHI7CiB9CiAK
QEAgLTc0LDcgKzc4LDE3IEBAIGNvbnN0IGNoYXIqIFR5cGVkVGVzdFN1aXRlUFN0YXRlOjpWZXJp
ZnlSZWdpc3RlcmVkVGVzdE5hbWVzKAogICAgICAgY29udGludWU7CiAgICAgfQogCi0gICAgaWYg
KHJlZ2lzdGVyZWRfdGVzdHNfLmNvdW50KG5hbWUpICE9IDApIHsKKyAgICBib29sIGZvdW5kID0g
ZmFsc2U7CisgICAgZm9yIChSZWdpc3RlcmVkVGVzdEl0ZXIgaXQgPSByZWdpc3RlcmVkX3Rlc3Rz
Xy5iZWdpbigpOworICAgICAgICAgaXQgIT0gcmVnaXN0ZXJlZF90ZXN0c18uZW5kKCk7CisgICAg
ICAgICArK2l0KSB7CisgICAgICBpZiAobmFtZSA9PSBpdC0+Zmlyc3QpIHsKKyAgICAgICAgZm91
bmQgPSB0cnVlOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoZm91
bmQpIHsKICAgICAgIHRlc3RzLmluc2VydChuYW1lKTsKICAgICB9IGVsc2UgewogICAgICAgZXJy
b3JzIDw8ICJObyB0ZXN0IG5hbWVkICIgPDwgbmFtZQpAQCAtODMsNyArOTcsOCBAQCBjb25zdCBj
aGFyKiBUeXBlZFRlc3RTdWl0ZVBTdGF0ZTo6VmVyaWZ5UmVnaXN0ZXJlZFRlc3ROYW1lcygKICAg
fQogCiAgIGZvciAoUmVnaXN0ZXJlZFRlc3RJdGVyIGl0ID0gcmVnaXN0ZXJlZF90ZXN0c18uYmVn
aW4oKTsKLSAgICAgICBpdCAhPSByZWdpc3RlcmVkX3Rlc3RzXy5lbmQoKTsgKytpdCkgeworICAg
ICAgIGl0ICE9IHJlZ2lzdGVyZWRfdGVzdHNfLmVuZCgpOworICAgICAgICsraXQpIHsKICAgICBp
ZiAodGVzdHMuY291bnQoaXQtPmZpcnN0KSA9PSAwKSB7CiAgICAgICBlcnJvcnMgPDwgIllvdSBm
b3Jnb3QgdG8gbGlzdCB0ZXN0ICIgPDwgaXQtPmZpcnN0IDw8ICIuXG4iOwogICAgIH0KQEAgLTEw
MCw1ICsxMTUsNyBAQCBjb25zdCBjaGFyKiBUeXBlZFRlc3RTdWl0ZVBTdGF0ZTo6VmVyaWZ5UmVn
aXN0ZXJlZFRlc3ROYW1lcygKICAgcmV0dXJuIHJlZ2lzdGVyZWRfdGVzdHM7CiB9CiAKKyNlbmRp
ZiAgLy8gR1RFU1RfSEFTX1RZUEVEX1RFU1RfUAorCiB9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwK
IH0gIC8vIG5hbWVzcGFjZSB0ZXN0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3Bh
cnR5L2dvb2dsZXRlc3Qvc3JjL3NyYy9ndGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkv
Z29vZ2xldGVzdC9zcmMvc3JjL2d0ZXN0LmNjCmluZGV4IDZmMzFkZDIyNjAzMy4uYjhmNmE1YzMx
Y2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3Ny
Yy9ndGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3Ny
Yy9ndGVzdC5jYwpAQCAtMzEsOCArMzEsMTEgQEAKIC8vIFRoZSBHb29nbGUgQysrIFRlc3Rpbmcg
YW5kIE1vY2tpbmcgRnJhbWV3b3JrIChHb29nbGUgVGVzdCkKIAogI2luY2x1ZGUgImd0ZXN0L2d0
ZXN0LmgiCisjaW5jbHVkZSAiZ3Rlc3QvaW50ZXJuYWwvY3VzdG9tL2d0ZXN0LmgiCisjaW5jbHVk
ZSAiZ3Rlc3QvZ3Rlc3Qtc3BpLmgiCiAKICNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPG1h
dGguaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUg
PHN0ZGxpYi5oPgpAQCAtNDEsOTAgKzQ0LDg5IEBACiAjaW5jbHVkZSA8d2N0eXBlLmg+CiAKICNp
bmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8Y2hyb25vPiAgLy8gTk9MSU5UCi0jaW5jbHVk
ZSA8Y21hdGg+CiAjaW5jbHVkZSA8Y3N0ZGludD4KLSNpbmNsdWRlIDxpbml0aWFsaXplcl9saXN0
PgogI2luY2x1ZGUgPGlvbWFuaXA+Ci0jaW5jbHVkZSA8aXRlcmF0b3I+CiAjaW5jbHVkZSA8bGlt
aXRzPgogI2luY2x1ZGUgPGxpc3Q+CiAjaW5jbHVkZSA8bWFwPgogI2luY2x1ZGUgPG9zdHJlYW0+
ICAvLyBOT0xJTlQKICNpbmNsdWRlIDxzc3RyZWFtPgotI2luY2x1ZGUgPHVub3JkZXJlZF9zZXQ+
CiAjaW5jbHVkZSA8dmVjdG9yPgogCi0jaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QtYXNzZXJ0aW9uLXJl
c3VsdC5oIgotI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LXNwaS5oIgotI2luY2x1ZGUgImd0ZXN0L2lu
dGVybmFsL2N1c3RvbS9ndGVzdC5oIgotCiAjaWYgR1RFU1RfT1NfTElOVVgKIAotI2luY2x1ZGUg
PGZjbnRsLmg+ICAgLy8gTk9MSU5UCi0jaW5jbHVkZSA8bGltaXRzLmg+ICAvLyBOT0xJTlQKLSNp
bmNsdWRlIDxzY2hlZC5oPiAgIC8vIE5PTElOVAotLy8gRGVjbGFyZXMgdnNucHJpbnRmKCkuICBU
aGlzIGhlYWRlciBpcyBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MuCi0jaW5jbHVkZSA8c3RyaW5n
cy5oPiAgIC8vIE5PTElOVAotI2luY2x1ZGUgPHN5cy9tbWFuLmg+ICAvLyBOT0xJTlQKLSNpbmNs
dWRlIDxzeXMvdGltZS5oPiAgLy8gTk9MSU5UCi0jaW5jbHVkZSA8dW5pc3RkLmg+ICAgIC8vIE5P
TElOVAorIyBkZWZpbmUgR1RFU1RfSEFTX0dFVFRJTUVPRkRBWV8gMQogCi0jaW5jbHVkZSA8c3Ry
aW5nPgorIyBpbmNsdWRlIDxmY250bC5oPiAgLy8gTk9MSU5UCisjIGluY2x1ZGUgPGxpbWl0cy5o
PiAgLy8gTk9MSU5UCisjIGluY2x1ZGUgPHNjaGVkLmg+ICAvLyBOT0xJTlQKKy8vIERlY2xhcmVz
IHZzbnByaW50ZigpLiAgVGhpcyBoZWFkZXIgaXMgbm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzLgor
IyBpbmNsdWRlIDxzdHJpbmdzLmg+ICAvLyBOT0xJTlQKKyMgaW5jbHVkZSA8c3lzL21tYW4uaD4g
IC8vIE5PTElOVAorIyBpbmNsdWRlIDxzeXMvdGltZS5oPiAgLy8gTk9MSU5UCisjIGluY2x1ZGUg
PHVuaXN0ZC5oPiAgLy8gTk9MSU5UCisjIGluY2x1ZGUgPHN0cmluZz4KIAogI2VsaWYgR1RFU1Rf
T1NfWk9TCi0jaW5jbHVkZSA8c3lzL3RpbWUuaD4gIC8vIE5PTElOVAorIyBkZWZpbmUgR1RFU1Rf
SEFTX0dFVFRJTUVPRkRBWV8gMQorIyBpbmNsdWRlIDxzeXMvdGltZS5oPiAgLy8gTk9MSU5UCiAK
IC8vIE9uIHovT1Mgd2UgYWRkaXRpb25hbGx5IG5lZWQgc3RyaW5ncy5oIGZvciBzdHJjYXNlY21w
LgotI2luY2x1ZGUgPHN0cmluZ3MuaD4gICAvLyBOT0xJTlQKKyMgaW5jbHVkZSA8c3RyaW5ncy5o
PiAgLy8gTk9MSU5UCiAKICNlbGlmIEdURVNUX09TX1dJTkRPV1NfTU9CSUxFICAvLyBXZSBhcmUg
b24gV2luZG93cyBDRS4KIAotI2luY2x1ZGUgPHdpbmRvd3MuaD4gIC8vIE5PTElOVAotI3VuZGVm
IG1pbgorIyBpbmNsdWRlIDx3aW5kb3dzLmg+ICAvLyBOT0xJTlQKKyMgdW5kZWYgbWluCiAKICNl
bGlmIEdURVNUX09TX1dJTkRPV1MgIC8vIFdlIGFyZSBvbiBXaW5kb3dzIHByb3Blci4KIAotI2lu
Y2x1ZGUgPHdpbmRvd3MuaD4gIC8vIE5PTElOVAotI3VuZGVmIG1pbgorIyBpbmNsdWRlIDx3aW5k
b3dzLmg+ICAvLyBOT0xJTlQKKyMgdW5kZWYgbWluCiAKICNpZmRlZiBfTVNDX1ZFUgotI2luY2x1
ZGUgPGNydGRiZy5oPiAgLy8gTk9MSU5UCisjIGluY2x1ZGUgPGNydGRiZy5oPiAgLy8gTk9MSU5U
CisjIGluY2x1ZGUgPGRlYnVnYXBpLmg+ICAvLyBOT0xJTlQKICNlbmRpZgogCi0jaW5jbHVkZSA8
aW8uaD4gICAgICAgICAvLyBOT0xJTlQKLSNpbmNsdWRlIDxzeXMvc3RhdC5oPiAgIC8vIE5PTElO
VAotI2luY2x1ZGUgPHN5cy90aW1lYi5oPiAgLy8gTk9MSU5UCi0jaW5jbHVkZSA8c3lzL3R5cGVz
Lmg+ICAvLyBOT0xJTlQKKyMgaW5jbHVkZSA8aW8uaD4gIC8vIE5PTElOVAorIyBpbmNsdWRlIDxz
eXMvdGltZWIuaD4gIC8vIE5PTElOVAorIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4gIC8vIE5PTElO
VAorIyBpbmNsdWRlIDxzeXMvc3RhdC5oPiAgLy8gTk9MSU5UCiAKLSNpZiBHVEVTVF9PU19XSU5E
T1dTX01JTkdXCi0jaW5jbHVkZSA8c3lzL3RpbWUuaD4gIC8vIE5PTElOVAotI2VuZGlmICAgICAg
ICAgICAgICAgICAvLyBHVEVTVF9PU19XSU5ET1dTX01JTkdXCisjIGlmIEdURVNUX09TX1dJTkRP
V1NfTUlOR1cKKy8vIE1pbkdXIGhhcyBnZXR0aW1lb2ZkYXkoKSBidXQgbm90IF9mdGltZTY0KCku
CisjICBkZWZpbmUgR1RFU1RfSEFTX0dFVFRJTUVPRkRBWV8gMQorIyAgaW5jbHVkZSA8c3lzL3Rp
bWUuaD4gIC8vIE5PTElOVAorIyBlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XU19NSU5HVwogCiAj
ZWxzZQogCisvLyBBc3N1bWUgb3RoZXIgcGxhdGZvcm1zIGhhdmUgZ2V0dGltZW9mZGF5KCkuCisj
IGRlZmluZSBHVEVTVF9IQVNfR0VUVElNRU9GREFZXyAxCisKIC8vIGNwcGxpbnQgdGhpbmtzIHRo
YXQgdGhlIGhlYWRlciBpcyBhbHJlYWR5IGluY2x1ZGVkLCBzbyB3ZSB3YW50IHRvCiAvLyBzaWxl
bmNlIGl0LgotI2luY2x1ZGUgPHN5cy90aW1lLmg+ICAvLyBOT0xJTlQKLSNpbmNsdWRlIDx1bmlz
dGQuaD4gICAgLy8gTk9MSU5UCisjIGluY2x1ZGUgPHN5cy90aW1lLmg+ICAvLyBOT0xJTlQKKyMg
aW5jbHVkZSA8dW5pc3RkLmg+ICAvLyBOT0xJTlQKIAogI2VuZGlmICAvLyBHVEVTVF9PU19MSU5V
WAogCiAjaWYgR1RFU1RfSEFTX0VYQ0VQVElPTlMKLSNpbmNsdWRlIDxzdGRleGNlcHQ+CisjIGlu
Y2x1ZGUgPHN0ZGV4Y2VwdD4KICNlbmRpZgogCiAjaWYgR1RFU1RfQ0FOX1NUUkVBTV9SRVNVTFRT
XwotI2luY2x1ZGUgPGFycGEvaW5ldC5oPiAgIC8vIE5PTElOVAotI2luY2x1ZGUgPG5ldGRiLmg+
ICAgICAgIC8vIE5PTElOVAotI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4gIC8vIE5PTElOVAotI2lu
Y2x1ZGUgPHN5cy90eXBlcy5oPiAgIC8vIE5PTElOVAorIyBpbmNsdWRlIDxhcnBhL2luZXQuaD4g
IC8vIE5PTElOVAorIyBpbmNsdWRlIDxuZXRkYi5oPiAgLy8gTk9MSU5UCisjIGluY2x1ZGUgPHN5
cy9zb2NrZXQuaD4gIC8vIE5PTElOVAorIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4gIC8vIE5PTElO
VAogI2VuZGlmCiAKICNpbmNsdWRlICJzcmMvZ3Rlc3QtaW50ZXJuYWwtaW5sLmgiCiAKICNpZiBH
VEVTVF9PU19XSU5ET1dTCi0jZGVmaW5lIHZzbnByaW50ZiBfdnNucHJpbnRmCisjIGRlZmluZSB2
c25wcmludGYgX3ZzbnByaW50ZgogI2VuZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTCiAKICNpZiBH
VEVTVF9PU19NQUMKQEAgLTEzNywxMCArMTM5LDcgQEAKICNpbmNsdWRlICJhYnNsL2RlYnVnZ2lu
Zy9mYWlsdXJlX3NpZ25hbF9oYW5kbGVyLmgiCiAjaW5jbHVkZSAiYWJzbC9kZWJ1Z2dpbmcvc3Rh
Y2t0cmFjZS5oIgogI2luY2x1ZGUgImFic2wvZGVidWdnaW5nL3N5bWJvbGl6ZS5oIgotI2luY2x1
ZGUgImFic2wvZmxhZ3MvcGFyc2UuaCIKLSNpbmNsdWRlICJhYnNsL2ZsYWdzL3VzYWdlLmgiCiAj
aW5jbHVkZSAiYWJzbC9zdHJpbmdzL3N0cl9jYXQuaCIKLSNpbmNsdWRlICJhYnNsL3N0cmluZ3Mv
c3RyX3JlcGxhY2UuaCIKICNlbmRpZiAgLy8gR1RFU1RfSEFTX0FCU0wKIAogbmFtZXNwYWNlIHRl
c3RpbmcgewpAQCAtMTg2LDcgKzE4NSw3IEBAIGNvbnN0IGNoYXIga1N0YWNrVHJhY2VNYXJrZXJb
XSA9ICJcblN0YWNrIHRyYWNlOlxuIjsKIC8vIGlzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBs
aW5lLgogYm9vbCBnX2hlbHBfZmxhZyA9IGZhbHNlOwogCi0vLyBVdGlsaXR5IGZ1bmN0aW9uIHRv
IE9wZW4gRmlsZSBmb3IgV3JpdGluZworLy8gVXRpbHR5IGZ1bmN0aW9uIHRvIE9wZW4gRmlsZSBm
b3IgV3JpdGluZwogc3RhdGljIEZJTEUqIE9wZW5GaWxlRm9yV3JpdGluZyhjb25zdCBzdGQ6OnN0
cmluZyYgb3V0cHV0X2ZpbGUpIHsKICAgRklMRSogZmlsZW91dCA9IG51bGxwdHI7CiAgIEZpbGVQ
YXRoIG91dHB1dF9maWxlX3BhdGgob3V0cHV0X2ZpbGUpOwpAQCAtMjE0LDQ0ICsyMTMsMjQgQEAg
c3RhdGljIGNvbnN0IGNoYXIqIEdldERlZmF1bHRGaWx0ZXIoKSB7CiAgIHJldHVybiBrVW5pdmVy
c2FsRmlsdGVyOwogfQogCi0vLyBCYXplbCBwYXNzZXMgaW4gdGhlIGFyZ3VtZW50IHRvICctLXRl
c3RfcnVubmVyX2ZhaWxfZmFzdCcgdmlhIHRoZQotLy8gVEVTVEJSSURHRV9URVNUX1JVTk5FUl9G
QUlMX0ZBU1QgZW52aXJvbm1lbnQgdmFyaWFibGUuCi1zdGF0aWMgYm9vbCBHZXREZWZhdWx0RmFp
bEZhc3QoKSB7Ci0gIGNvbnN0IGNoYXIqIGNvbnN0IHRlc3RicmlkZ2VfdGVzdF9ydW5uZXJfZmFp
bF9mYXN0ID0KLSAgICAgIGludGVybmFsOjpwb3NpeDo6R2V0RW52KCJURVNUQlJJREdFX1RFU1Rf
UlVOTkVSX0ZBSUxfRkFTVCIpOwotICBpZiAodGVzdGJyaWRnZV90ZXN0X3J1bm5lcl9mYWlsX2Zh
c3QgIT0gbnVsbHB0cikgewotICAgIHJldHVybiBzdHJjbXAodGVzdGJyaWRnZV90ZXN0X3J1bm5l
cl9mYWlsX2Zhc3QsICIxIikgPT0gMDsKLSAgfQotICByZXR1cm4gZmFsc2U7Ci19Ci0KLX0gIC8v
IG5hbWVzcGFjZSB0ZXN0aW5nCi0KLUdURVNUX0RFRklORV9ib29sXygKLSAgICBmYWlsX2Zhc3Qs
Ci0gICAgdGVzdGluZzo6aW50ZXJuYWw6OkJvb2xGcm9tR1Rlc3RFbnYoImZhaWxfZmFzdCIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGluZzo6R2V0RGVmYXVs
dEZhaWxGYXN0KCkpLAotICAgICJUcnVlIGlmIGFuZCBvbmx5IGlmIGEgdGVzdCBmYWlsdXJlIHNo
b3VsZCBzdG9wIGZ1cnRoZXIgdGVzdCBleGVjdXRpb24uIik7Ci0KIEdURVNUX0RFRklORV9ib29s
XygKICAgICBhbHNvX3J1bl9kaXNhYmxlZF90ZXN0cywKLSAgICB0ZXN0aW5nOjppbnRlcm5hbDo6
Qm9vbEZyb21HVGVzdEVudigiYWxzb19ydW5fZGlzYWJsZWRfdGVzdHMiLCBmYWxzZSksCisgICAg
aW50ZXJuYWw6OkJvb2xGcm9tR1Rlc3RFbnYoImFsc29fcnVuX2Rpc2FibGVkX3Rlc3RzIiwgZmFs
c2UpLAogICAgICJSdW4gZGlzYWJsZWQgdGVzdHMgdG9vLCBpbiBhZGRpdGlvbiB0byB0aGUgdGVz
dHMgbm9ybWFsbHkgYmVpbmcgcnVuLiIpOwogCiBHVEVTVF9ERUZJTkVfYm9vbF8oCi0gICAgYnJl
YWtfb25fZmFpbHVyZSwKLSAgICB0ZXN0aW5nOjppbnRlcm5hbDo6Qm9vbEZyb21HVGVzdEVudigi
YnJlYWtfb25fZmFpbHVyZSIsIGZhbHNlKSwKKyAgICBicmVha19vbl9mYWlsdXJlLCBpbnRlcm5h
bDo6Qm9vbEZyb21HVGVzdEVudigiYnJlYWtfb25fZmFpbHVyZSIsIGZhbHNlKSwKICAgICAiVHJ1
ZSBpZiBhbmQgb25seSBpZiBhIGZhaWxlZCBhc3NlcnRpb24gc2hvdWxkIGJlIGEgZGVidWdnZXIg
IgogICAgICJicmVhay1wb2ludC4iKTsKIAogR1RFU1RfREVGSU5FX2Jvb2xfKGNhdGNoX2V4Y2Vw
dGlvbnMsCi0gICAgICAgICAgICAgICAgICAgdGVzdGluZzo6aW50ZXJuYWw6OkJvb2xGcm9tR1Rl
c3RFbnYoImNhdGNoX2V4Y2VwdGlvbnMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpLAorICAgICAgICAgICAgICAgICAgIGludGVy
bmFsOjpCb29sRnJvbUdUZXN0RW52KCJjYXRjaF9leGNlcHRpb25zIiwgdHJ1ZSksCiAgICAgICAg
ICAgICAgICAgICAgIlRydWUgaWYgYW5kIG9ubHkgaWYgIiBHVEVTVF9OQU1FXwogICAgICAgICAg
ICAgICAgICAgICIgc2hvdWxkIGNhdGNoIGV4Y2VwdGlvbnMgYW5kIHRyZWF0IHRoZW0gYXMgdGVz
dCBmYWlsdXJlcy4iKTsKIAogR1RFU1RfREVGSU5FX3N0cmluZ18oCi0gICAgY29sb3IsIHRlc3Rp
bmc6OmludGVybmFsOjpTdHJpbmdGcm9tR1Rlc3RFbnYoImNvbG9yIiwgImF1dG8iKSwKKyAgICBj
b2xvciwKKyAgICBpbnRlcm5hbDo6U3RyaW5nRnJvbUdUZXN0RW52KCJjb2xvciIsICJhdXRvIiks
CiAgICAgIldoZXRoZXIgdG8gdXNlIGNvbG9ycyBpbiB0aGUgb3V0cHV0LiAgVmFsaWQgdmFsdWVz
OiB5ZXMsIG5vLCAiCiAgICAgImFuZCBhdXRvLiAgJ2F1dG8nIG1lYW5zIHRvIHVzZSBjb2xvcnMg
aWYgdGhlIG91dHB1dCBpcyAiCiAgICAgImJlaW5nIHNlbnQgdG8gYSB0ZXJtaW5hbCBhbmQgdGhl
IFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGUgIgpAQCAtMjU5LDggKzIzOCw3IEBAIEdURVNUX0RF
RklORV9zdHJpbmdfKAogCiBHVEVTVF9ERUZJTkVfc3RyaW5nXygKICAgICBmaWx0ZXIsCi0gICAg
dGVzdGluZzo6aW50ZXJuYWw6OlN0cmluZ0Zyb21HVGVzdEVudigiZmlsdGVyIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rpbmc6OkdldERlZmF1bHRGaWx0
ZXIoKSksCisgICAgaW50ZXJuYWw6OlN0cmluZ0Zyb21HVGVzdEVudigiZmlsdGVyIiwgR2V0RGVm
YXVsdEZpbHRlcigpKSwKICAgICAiQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBnbG9iIChub3Qg
cmVnZXgpIHBhdHRlcm5zICIKICAgICAiZm9yIGZpbHRlcmluZyB0aGUgdGVzdHMgdG8gcnVuLCBv
cHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgIgogICAgICInLScgYW5kIGEgOiBzZXBhcmF0ZWQgbGlz
dCBvZiBuZWdhdGl2ZSBwYXR0ZXJucyAodGVzdHMgdG8gIgpAQCAtMjY5LDE0ICsyNDcsMTMgQEAg
R1RFU1RfREVGSU5FX3N0cmluZ18oCiAKIEdURVNUX0RFRklORV9ib29sXygKICAgICBpbnN0YWxs
X2ZhaWx1cmVfc2lnbmFsX2hhbmRsZXIsCi0gICAgdGVzdGluZzo6aW50ZXJuYWw6OkJvb2xGcm9t
R1Rlc3RFbnYoImluc3RhbGxfZmFpbHVyZV9zaWduYWxfaGFuZGxlciIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UpLAotICAgICJJZiB0cnVlIGFuZCBzdXBw
b3J0ZWQgb24gdGhlIGN1cnJlbnQgcGxhdGZvcm0sICIgR1RFU1RfTkFNRV8KLSAgICAiIHNob3Vs
ZCAiCisgICAgaW50ZXJuYWw6OkJvb2xGcm9tR1Rlc3RFbnYoImluc3RhbGxfZmFpbHVyZV9zaWdu
YWxfaGFuZGxlciIsIGZhbHNlKSwKKyAgICAiSWYgdHJ1ZSBhbmQgc3VwcG9ydGVkIG9uIHRoZSBj
dXJyZW50IHBsYXRmb3JtLCAiIEdURVNUX05BTUVfICIgc2hvdWxkICIKICAgICAiaW5zdGFsbCBh
IHNpZ25hbCBoYW5kbGVyIHRoYXQgZHVtcHMgZGVidWdnaW5nIGluZm9ybWF0aW9uIHdoZW4gZmF0
YWwgIgogICAgICJzaWduYWxzIGFyZSByYWlzZWQuIik7CiAKLUdURVNUX0RFRklORV9ib29sXyhs
aXN0X3Rlc3RzLCBmYWxzZSwgIkxpc3QgYWxsIHRlc3RzIHdpdGhvdXQgcnVubmluZyB0aGVtLiIp
OworR1RFU1RfREVGSU5FX2Jvb2xfKGxpc3RfdGVzdHMsIGZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICJMaXN0IGFsbCB0ZXN0cyB3aXRob3V0IHJ1bm5pbmcgdGhlbS4iKTsKIAogLy8gVGhlIG5l
dCBwcmlvcml0eSBvcmRlciBhZnRlciBmbGFnIHByb2Nlc3NpbmcgaXMgdGh1czoKIC8vICAgLS1n
dGVzdF9vdXRwdXQgY29tbWFuZCBsaW5lIGZsYWcKQEAgLTI4NSw4ICsyNjIsOCBAQCBHVEVTVF9E
RUZJTkVfYm9vbF8obGlzdF90ZXN0cywgZmFsc2UsICJMaXN0IGFsbCB0ZXN0cyB3aXRob3V0IHJ1
bm5pbmcgdGhlbS4iKTsKIC8vICAgJycKIEdURVNUX0RFRklORV9zdHJpbmdfKAogICAgIG91dHB1
dCwKLSAgICB0ZXN0aW5nOjppbnRlcm5hbDo6U3RyaW5nRnJvbUdUZXN0RW52KAotICAgICAgICAi
b3V0cHV0IiwgdGVzdGluZzo6aW50ZXJuYWw6Ok91dHB1dEZsYWdBbHNvQ2hlY2tFbnZWYXIoKS5j
X3N0cigpKSwKKyAgICBpbnRlcm5hbDo6U3RyaW5nRnJvbUdUZXN0RW52KCJvdXRwdXQiLAorICAg
ICAgaW50ZXJuYWw6Ok91dHB1dEZsYWdBbHNvQ2hlY2tFbnZWYXIoKS5jX3N0cigpKSwKICAgICAi
QSBmb3JtYXQgKGRlZmF1bHRzIHRvIFwieG1sXCIgYnV0IGNhbiBiZSBzcGVjaWZpZWQgdG8gYmUg
XCJqc29uXCIpLCAiCiAgICAgIm9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBjb2xvbiBhbmQgYW4g
b3V0cHV0IGZpbGUgbmFtZSBvciBkaXJlY3RvcnkuICIKICAgICAiQSBkaXJlY3RvcnkgaXMgaW5k
aWNhdGVkIGJ5IGEgdHJhaWxpbmcgcGF0aG5hbWUgc2VwYXJhdG9yLiAiCkBAIC0yOTYsODAgKzI3
Myw2MiBAQCBHVEVTVF9ERUZJTkVfc3RyaW5nXygKICAgICAiZXhlY3V0YWJsZSdzIG5hbWUgYW5k
LCBpZiBuZWNlc3NhcnksIG1hZGUgdW5pcXVlIGJ5IGFkZGluZyAiCiAgICAgImRpZ2l0cy4iKTsK
IAotR1RFU1RfREVGSU5FX2Jvb2xfKAotICAgIGJyaWVmLCB0ZXN0aW5nOjppbnRlcm5hbDo6Qm9v
bEZyb21HVGVzdEVudigiYnJpZWYiLCBmYWxzZSksCi0gICAgIlRydWUgaWYgb25seSB0ZXN0IGZh
aWx1cmVzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGV4dCBvdXRwdXQuIik7Ci0KLUdURVNUX0RF
RklORV9ib29sXyhwcmludF90aW1lLAotICAgICAgICAgICAgICAgICAgIHRlc3Rpbmc6OmludGVy
bmFsOjpCb29sRnJvbUdUZXN0RW52KCJwcmludF90aW1lIiwgdHJ1ZSksCitHVEVTVF9ERUZJTkVf
Ym9vbF8ocHJpbnRfdGltZSwgaW50ZXJuYWw6OkJvb2xGcm9tR1Rlc3RFbnYoInByaW50X3RpbWUi
LCB0cnVlKSwKICAgICAgICAgICAgICAgICAgICAiVHJ1ZSBpZiBhbmQgb25seSBpZiAiIEdURVNU
X05BTUVfCiAgICAgICAgICAgICAgICAgICAgIiBzaG91bGQgZGlzcGxheSBlbGFwc2VkIHRpbWUg
aW4gdGV4dCBvdXRwdXQuIik7CiAKLUdURVNUX0RFRklORV9ib29sXyhwcmludF91dGY4LAotICAg
ICAgICAgICAgICAgICAgIHRlc3Rpbmc6OmludGVybmFsOjpCb29sRnJvbUdUZXN0RW52KCJwcmlu
dF91dGY4IiwgdHJ1ZSksCitHVEVTVF9ERUZJTkVfYm9vbF8ocHJpbnRfdXRmOCwgaW50ZXJuYWw6
OkJvb2xGcm9tR1Rlc3RFbnYoInByaW50X3V0ZjgiLCB0cnVlKSwKICAgICAgICAgICAgICAgICAg
ICAiVHJ1ZSBpZiBhbmQgb25seSBpZiAiIEdURVNUX05BTUVfCiAgICAgICAgICAgICAgICAgICAg
IiBwcmludHMgVVRGOCBjaGFyYWN0ZXJzIGFzIHRleHQuIik7CiAKIEdURVNUX0RFRklORV9pbnQz
Ml8oCi0gICAgcmFuZG9tX3NlZWQsIHRlc3Rpbmc6OmludGVybmFsOjpJbnQzMkZyb21HVGVzdEVu
digicmFuZG9tX3NlZWQiLCAwKSwKKyAgICByYW5kb21fc2VlZCwKKyAgICBpbnRlcm5hbDo6SW50
MzJGcm9tR1Rlc3RFbnYoInJhbmRvbV9zZWVkIiwgMCksCiAgICAgIlJhbmRvbSBudW1iZXIgc2Vl
ZCB0byB1c2Ugd2hlbiBzaHVmZmxpbmcgdGVzdCBvcmRlcnMuICBNdXN0IGJlIGluIHJhbmdlICIK
ICAgICAiWzEsIDk5OTk5XSwgb3IgMCB0byB1c2UgYSBzZWVkIGJhc2VkIG9uIHRoZSBjdXJyZW50
IHRpbWUuIik7CiAKIEdURVNUX0RFRklORV9pbnQzMl8oCi0gICAgcmVwZWF0LCB0ZXN0aW5nOjpp
bnRlcm5hbDo6SW50MzJGcm9tR1Rlc3RFbnYoInJlcGVhdCIsIDEpLAorICAgIHJlcGVhdCwKKyAg
ICBpbnRlcm5hbDo6SW50MzJGcm9tR1Rlc3RFbnYoInJlcGVhdCIsIDEpLAogICAgICJIb3cgbWFu
eSB0aW1lcyB0byByZXBlYXQgZWFjaCB0ZXN0LiAgU3BlY2lmeSBhIG5lZ2F0aXZlIG51bWJlciAi
CiAgICAgImZvciByZXBlYXRpbmcgZm9yZXZlci4gIFVzZWZ1bCBmb3Igc2hha2luZyBvdXQgZmxh
a3kgdGVzdHMuIik7CiAKLUdURVNUX0RFRklORV9ib29sXygKLSAgICByZWNyZWF0ZV9lbnZpcm9u
bWVudHNfd2hlbl9yZXBlYXRpbmcsCi0gICAgdGVzdGluZzo6aW50ZXJuYWw6OkJvb2xGcm9tR1Rl
c3RFbnYoInJlY3JlYXRlX2Vudmlyb25tZW50c193aGVuX3JlcGVhdGluZyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UpLAotICAgICJDb250cm9scyB3aGV0
aGVyIGdsb2JhbCB0ZXN0IGVudmlyb25tZW50cyBhcmUgcmVjcmVhdGVkIGZvciBlYWNoIHJlcGVh
dCAiCi0gICAgIm9mIHRoZSB0ZXN0cy4gSWYgc2V0IHRvIGZhbHNlIHRoZSBnbG9iYWwgdGVzdCBl
bnZpcm9ubWVudHMgYXJlIG9ubHkgc2V0ICIKLSAgICAidXAgb25jZSwgZm9yIHRoZSBmaXJzdCBp
dGVyYXRpb24sIGFuZCBvbmx5IHRvcm4gZG93biBvbmNlLCBmb3IgdGhlIGxhc3QuICIKLSAgICAi
VXNlZnVsIGZvciBzaGFraW5nIG91dCBmbGFreSB0ZXN0cyB3aXRoIHN0YWJsZSwgZXhwZW5zaXZl
IHRlc3QgIgotICAgICJlbnZpcm9ubWVudHMuIElmIC0tZ3Rlc3RfcmVwZWF0IGlzIHNldCB0byBh
IG5lZ2F0aXZlIG51bWJlciwgbWVhbmluZyAiCi0gICAgInRoZXJlIGlzIG5vIGxhc3QgcnVuLCB0
aGUgZW52aXJvbm1lbnRzIHdpbGwgYWx3YXlzIGJlIHJlY3JlYXRlZCB0byBhdm9pZCAiCi0gICAg
ImxlYWtzLiIpOwotCiBHVEVTVF9ERUZJTkVfYm9vbF8oc2hvd19pbnRlcm5hbF9zdGFja19mcmFt
ZXMsIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJUcnVlIGlmIGFuZCBvbmx5IGlmICIgR1RF
U1RfTkFNRV8KICAgICAgICAgICAgICAgICAgICAiIHNob3VsZCBpbmNsdWRlIGludGVybmFsIHN0
YWNrIGZyYW1lcyB3aGVuICIKICAgICAgICAgICAgICAgICAgICAicHJpbnRpbmcgdGVzdCBmYWls
dXJlIHN0YWNrIHRyYWNlcy4iKTsKIAotR1RFU1RfREVGSU5FX2Jvb2xfKHNodWZmbGUsCi0gICAg
ICAgICAgICAgICAgICAgdGVzdGluZzo6aW50ZXJuYWw6OkJvb2xGcm9tR1Rlc3RFbnYoInNodWZm
bGUiLCBmYWxzZSksCitHVEVTVF9ERUZJTkVfYm9vbF8oc2h1ZmZsZSwgaW50ZXJuYWw6OkJvb2xG
cm9tR1Rlc3RFbnYoInNodWZmbGUiLCBmYWxzZSksCiAgICAgICAgICAgICAgICAgICAgIlRydWUg
aWYgYW5kIG9ubHkgaWYgIiBHVEVTVF9OQU1FXwogICAgICAgICAgICAgICAgICAgICIgc2hvdWxk
IHJhbmRvbWl6ZSB0ZXN0cycgb3JkZXIgb24gZXZlcnkgcnVuLiIpOwogCiBHVEVTVF9ERUZJTkVf
aW50MzJfKAogICAgIHN0YWNrX3RyYWNlX2RlcHRoLAotICAgIHRlc3Rpbmc6OmludGVybmFsOjpJ
bnQzMkZyb21HVGVzdEVudigic3RhY2tfdHJhY2VfZGVwdGgiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0aW5nOjprTWF4U3RhY2tUcmFjZURlcHRoKSwKKyAg
ICBpbnRlcm5hbDo6SW50MzJGcm9tR1Rlc3RFbnYoInN0YWNrX3RyYWNlX2RlcHRoIiwga01heFN0
YWNrVHJhY2VEZXB0aCksCiAgICAgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBzdGFjayBmcmFtZXMg
dG8gcHJpbnQgd2hlbiBhbiAiCiAgICAgImFzc2VydGlvbiBmYWlscy4gIFRoZSB2YWxpZCByYW5n
ZSBpcyAwIHRocm91Z2ggMTAwLCBpbmNsdXNpdmUuIik7CiAKIEdURVNUX0RFRklORV9zdHJpbmdf
KAogICAgIHN0cmVhbV9yZXN1bHRfdG8sCi0gICAgdGVzdGluZzo6aW50ZXJuYWw6OlN0cmluZ0Zy
b21HVGVzdEVudigic3RyZWFtX3Jlc3VsdF90byIsICIiKSwKKyAgICBpbnRlcm5hbDo6U3RyaW5n
RnJvbUdUZXN0RW52KCJzdHJlYW1fcmVzdWx0X3RvIiwgIiIpLAogICAgICJUaGlzIGZsYWcgc3Bl
Y2lmaWVzIHRoZSBob3N0IG5hbWUgYW5kIHRoZSBwb3J0IG51bWJlciBvbiB3aGljaCB0byBzdHJl
YW0gIgogICAgICJ0ZXN0IHJlc3VsdHMuIEV4YW1wbGU6IFwibG9jYWxob3N0OjU1NVwiLiBUaGUg
ZmxhZyBpcyBlZmZlY3RpdmUgb25seSBvbiAiCiAgICAgIkxpbnV4LiIpOwogCiBHVEVTVF9ERUZJ
TkVfYm9vbF8oCiAgICAgdGhyb3dfb25fZmFpbHVyZSwKLSAgICB0ZXN0aW5nOjppbnRlcm5hbDo6
Qm9vbEZyb21HVGVzdEVudigidGhyb3dfb25fZmFpbHVyZSIsIGZhbHNlKSwKKyAgICBpbnRlcm5h
bDo6Qm9vbEZyb21HVGVzdEVudigidGhyb3dfb25fZmFpbHVyZSIsIGZhbHNlKSwKICAgICAiV2hl
biB0aGlzIGZsYWcgaXMgc3BlY2lmaWVkLCBhIGZhaWxlZCBhc3NlcnRpb24gd2lsbCB0aHJvdyBh
biBleGNlcHRpb24gIgogICAgICJpZiBleGNlcHRpb25zIGFyZSBlbmFibGVkIG9yIGV4aXQgdGhl
IHByb2dyYW0gd2l0aCBhIG5vbi16ZXJvIGNvZGUgIgogICAgICJvdGhlcndpc2UuIEZvciB1c2Ug
d2l0aCBhbiBleHRlcm5hbCB0ZXN0IGZyYW1ld29yay4iKTsKIAogI2lmIEdURVNUX1VTRV9PV05f
RkxBR0ZJTEVfRkxBR18KIEdURVNUX0RFRklORV9zdHJpbmdfKAotICAgIGZsYWdmaWxlLCB0ZXN0
aW5nOjppbnRlcm5hbDo6U3RyaW5nRnJvbUdUZXN0RW52KCJmbGFnZmlsZSIsICIiKSwKKyAgICBm
bGFnZmlsZSwKKyAgICBpbnRlcm5hbDo6U3RyaW5nRnJvbUdUZXN0RW52KCJmbGFnZmlsZSIsICIi
KSwKICAgICAiVGhpcyBmbGFnIHNwZWNpZmllcyB0aGUgZmxhZ2ZpbGUgdG8gcmVhZCBjb21tYW5k
LWxpbmUgZmxhZ3MgZnJvbS4iKTsKICNlbmRpZiAgLy8gR1RFU1RfVVNFX09XTl9GTEFHRklMRV9G
TEFHXwogCi1uYW1lc3BhY2UgdGVzdGluZyB7CiBuYW1lc3BhY2UgaW50ZXJuYWwgewogCiAvLyBH
ZW5lcmF0ZXMgYSByYW5kb20gbnVtYmVyIGZyb20gWzAsIHJhbmdlKSwgdXNpbmcgYSBMaW5lYXIK
QEAgLTM3OCw5ICszMzcsMTAgQEAgbmFtZXNwYWNlIGludGVybmFsIHsKIHVpbnQzMl90IFJhbmRv
bTo6R2VuZXJhdGUodWludDMyX3QgcmFuZ2UpIHsKICAgLy8gVGhlc2UgY29uc3RhbnRzIGFyZSB0
aGUgc2FtZSBhcyBhcmUgdXNlZCBpbiBnbGliYydzIHJhbmQoMykuCiAgIC8vIFVzZSB3aWRlciB0
eXBlcyB0aGFuIG5lY2Vzc2FyeSB0byBwcmV2ZW50IHVuc2lnbmVkIG92ZXJmbG93IGRpYWdub3N0
aWNzLgotICBzdGF0ZV8gPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oMTEwMzUxNTI0NVVMTCAqIHN0
YXRlXyArIDEyMzQ1VSkgJSBrTWF4UmFuZ2U7CisgIHN0YXRlXyA9IHN0YXRpY19jYXN0PHVpbnQz
Ml90PigxMTAzNTE1MjQ1VUxMKnN0YXRlXyArIDEyMzQ1VSkgJSBrTWF4UmFuZ2U7CiAKLSAgR1RF
U1RfQ0hFQ0tfKHJhbmdlID4gMCkgPDwgIkNhbm5vdCBnZW5lcmF0ZSBhIG51bWJlciBpbiB0aGUg
cmFuZ2UgWzAsIDApLiI7CisgIEdURVNUX0NIRUNLXyhyYW5nZSA+IDApCisgICAgICA8PCAiQ2Fu
bm90IGdlbmVyYXRlIGEgbnVtYmVyIGluIHRoZSByYW5nZSBbMCwgMCkuIjsKICAgR1RFU1RfQ0hF
Q0tfKHJhbmdlIDw9IGtNYXhSYW5nZSkKICAgICAgIDw8ICJHZW5lcmF0aW9uIG9mIGEgbnVtYmVy
IGluIFswLCAiIDw8IHJhbmdlIDw8ICIpIHdhcyByZXF1ZXN0ZWQsICIKICAgICAgIDw8ICJidXQg
dGhpcyBjYW4gb25seSBnZW5lcmF0ZSBudW1iZXJzIGluIFswLCAiIDw8IGtNYXhSYW5nZSA8PCAi
KS4iOwpAQCAtNDI1LDI2ICszODUsMzIgQEAgc3RhdGljIGJvb2wgU2hvdWxkUnVuVGVzdFN1aXRl
KGNvbnN0IFRlc3RTdWl0ZSogdGVzdF9zdWl0ZSkgewogfQogCiAvLyBBc3NlcnRIZWxwZXIgY29u
c3RydWN0b3IuCi1Bc3NlcnRIZWxwZXI6OkFzc2VydEhlbHBlcihUZXN0UGFydFJlc3VsdDo6VHlw
ZSB0eXBlLCBjb25zdCBjaGFyKiBmaWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGxpbmUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpCi0gICAgOiBkYXRhXyhuZXcgQXNzZXJ0SGVscGVy
RGF0YSh0eXBlLCBmaWxlLCBsaW5lLCBtZXNzYWdlKSkge30KK0Fzc2VydEhlbHBlcjo6QXNzZXJ0
SGVscGVyKFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBjaGFyKiBmaWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxp
bmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBtZXNzYWdlKQorICAg
IDogZGF0YV8obmV3IEFzc2VydEhlbHBlckRhdGEodHlwZSwgZmlsZSwgbGluZSwgbWVzc2FnZSkp
IHsKK30KIAotQXNzZXJ0SGVscGVyOjp+QXNzZXJ0SGVscGVyKCkgeyBkZWxldGUgZGF0YV87IH0K
K0Fzc2VydEhlbHBlcjo6fkFzc2VydEhlbHBlcigpIHsKKyAgZGVsZXRlIGRhdGFfOworfQogCiAv
LyBNZXNzYWdlIGFzc2lnbm1lbnQsIGZvciBhc3NlcnRpb24gc3RyZWFtaW5nIHN1cHBvcnQuCiB2
b2lkIEFzc2VydEhlbHBlcjo6b3BlcmF0b3I9KGNvbnN0IE1lc3NhZ2UmIG1lc3NhZ2UpIGNvbnN0
IHsKLSAgVW5pdFRlc3Q6OkdldEluc3RhbmNlKCktPkFkZFRlc3RQYXJ0UmVzdWx0KAotICAgICAg
ZGF0YV8tPnR5cGUsIGRhdGFfLT5maWxlLCBkYXRhXy0+bGluZSwKLSAgICAgIEFwcGVuZFVzZXJN
ZXNzYWdlKGRhdGFfLT5tZXNzYWdlLCBtZXNzYWdlKSwKLSAgICAgIFVuaXRUZXN0OjpHZXRJbnN0
YW5jZSgpLT5pbXBsKCktPkN1cnJlbnRPc1N0YWNrVHJhY2VFeGNlcHRUb3AoMSkKLSAgICAgIC8v
IFNraXBzIHRoZSBzdGFjayBmcmFtZSBmb3IgdGhpcyBmdW5jdGlvbiBpdHNlbGYuCi0gICk7ICAv
LyBOT0xJTlQKKyAgVW5pdFRlc3Q6OkdldEluc3RhbmNlKCktPgorICAgIEFkZFRlc3RQYXJ0UmVz
dWx0KGRhdGFfLT50eXBlLCBkYXRhXy0+ZmlsZSwgZGF0YV8tPmxpbmUsCisgICAgICAgICAgICAg
ICAgICAgICAgQXBwZW5kVXNlck1lc3NhZ2UoZGF0YV8tPm1lc3NhZ2UsIG1lc3NhZ2UpLAorICAg
ICAgICAgICAgICAgICAgICAgIFVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5pbXBsKCkKKyAgICAg
ICAgICAgICAgICAgICAgICAtPkN1cnJlbnRPc1N0YWNrVHJhY2VFeGNlcHRUb3AoMSkKKyAgICAg
ICAgICAgICAgICAgICAgICAvLyBTa2lwcyB0aGUgc3RhY2sgZnJhbWUgZm9yIHRoaXMgZnVuY3Rp
b24gaXRzZWxmLgorICAgICAgICAgICAgICAgICAgICAgICk7ICAvLyBOT0xJTlQKIH0KIAogbmFt
ZXNwYWNlIHsKIAogLy8gV2hlbiBURVNUX1AgaXMgZm91bmQgd2l0aG91dCBhIG1hdGNoaW5nIElO
U1RBTlRJQVRFX1RFU1RfU1VJVEVfUAotLy8gdG8gY3JlYXRlcyB0ZXN0IGNhc2VzIGZvciBpdCwg
YSBzeW50aGV0aWMgdGVzdCBjYXNlIGlzCisvLyB0byBjcmVhdGVzIHRlc3QgY2FzZXMgZm9yIGl0
LCBhIHN5bnRldGljIHRlc3QgY2FzZSBpcwogLy8gaW5zZXJ0ZWQgdG8gcmVwb3J0IGV0aGVyIGFu
IGVycm9yIG9yIGEgbG9nIG1lc3NhZ2UuCiAvLwogLy8gVGhpcyBjb25maWd1cmF0aW9uIGJpdCB3
aWxsIGxpa2VseSBiZSByZW1vdmVkIGF0IHNvbWUgcG9pbnQuCkBAIC00NzUsNiArNDQxLDcgQEAg
Y2xhc3MgRmFpbHVyZVRlc3QgOiBwdWJsaWMgVGVzdCB7CiAgIGNvbnN0IGJvb2wgYXNfZXJyb3Jf
OwogfTsKIAorCiB9ICAvLyBuYW1lc3BhY2UKIAogc3RkOjpzZXQ8c3RkOjpzdHJpbmc+KiBHZXRJ
Z25vcmVkUGFyYW1ldGVyaXplZFRlc3RTdWl0ZXMoKSB7CkBAIC01MTIsMTYgKzQ3OSwxNSBAQCB2
b2lkIEluc2VydFN5bnRoZXRpY1Rlc3RDYXNlKGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLCBDb2Rl
TG9jYXRpb24gbG9jYXRpb24sCiAgICAgICAicmVtb3ZlZCBidXQgdGhlIHJlc3QgZ290IGxlZnQg
YmVoaW5kLiI7CiAKICAgc3RkOjpzdHJpbmcgbWVzc2FnZSA9Ci0gICAgICAiUGFyYW1ldGVyaXpl
ZCB0ZXN0IHN1aXRlICIgKyBuYW1lICsKKyAgICAgICJQYXJhbWF0ZXJpemVkIHRlc3Qgc3VpdGUg
IiArIG5hbWUgKwogICAgICAgKGhhc190ZXN0X3AgPyBrTWlzc2luZ0luc3RhbnRpYXRpb24gOiBr
TWlzc2luZ1Rlc3RDYXNlKSArCiAgICAgICAiXG5cbiIKICAgICAgICJUbyBzdXBwcmVzcyB0aGlz
IGVycm9yIGZvciB0aGlzIHRlc3Qgc3VpdGUsIGluc2VydCB0aGUgZm9sbG93aW5nIGxpbmUgIgog
ICAgICAgIihpbiBhIG5vbi1oZWFkZXIpIGluIHRoZSBuYW1lc3BhY2UgaXQgaXMgZGVmaW5lZCBp
bjoiCiAgICAgICAiXG5cbiIKLSAgICAgICJHVEVTVF9BTExPV19VTklOU1RBTlRJQVRFRF9QQVJB
TUVURVJJWkVEX1RFU1QoIiArCi0gICAgICBuYW1lICsgIik7IjsKKyAgICAgICJHVEVTVF9BTExP
V19VTklOU1RBTlRJQVRFRF9QQVJBTUVURVJJWkVEX1RFU1QoIiArIG5hbWUgKyAiKTsiOwogCi0g
IHN0ZDo6c3RyaW5nIGZ1bGxfbmFtZSA9ICJVbmluc3RhbnRpYXRlZFBhcmFtZXRlcml6ZWRUZXN0
U3VpdGU8IiArIG5hbWUgKyAiPiI7CisgIHN0ZDo6c3RyaW5nIGZ1bGxfbmFtZSA9ICJVbmluc3Rh
bnRpYXRlZFBhcmFtYXRlcml6ZWRUZXN0U3VpdGU8IiArIG5hbWUgKyAiPiI7CiAgIFJlZ2lzdGVy
VGVzdCggIC8vCiAgICAgICAiR29vZ2xlVGVzdFZlcmlmaWNhdGlvbiIsIGZ1bGxfbmFtZS5jX3N0
cigpLAogICAgICAgbnVsbHB0ciwgIC8vIE5vIHR5cGUgcGFyYW1ldGVyLgpAQCAtNTM5LDE4ICs1
MDUsMTkgQEAgdm9pZCBSZWdpc3RlclR5cGVQYXJhbWV0ZXJpemVkVGVzdFN1aXRlKGNvbnN0IGNo
YXIqIHRlc3Rfc3VpdGVfbmFtZSwKIH0KIAogdm9pZCBSZWdpc3RlclR5cGVQYXJhbWV0ZXJpemVk
VGVzdFN1aXRlSW5zdGFudGlhdGlvbihjb25zdCBjaGFyKiBjYXNlX25hbWUpIHsKLSAgR2V0VW5p
dFRlc3RJbXBsKCktPnR5cGVfcGFyYW1ldGVyaXplZF90ZXN0X3JlZ2lzdHJ5KCkuUmVnaXN0ZXJJ
bnN0YW50aWF0aW9uKAotICAgICAgY2FzZV9uYW1lKTsKKyAgR2V0VW5pdFRlc3RJbXBsKCkKKyAg
ICAgIC0+dHlwZV9wYXJhbWV0ZXJpemVkX3Rlc3RfcmVnaXN0cnkoKQorICAgICAgLlJlZ2lzdGVy
SW5zdGFudGlhdGlvbihjYXNlX25hbWUpOwogfQogCiB2b2lkIFR5cGVQYXJhbWV0ZXJpemVkVGVz
dFN1aXRlUmVnaXN0cnk6OlJlZ2lzdGVyVGVzdFN1aXRlKAogICAgIGNvbnN0IGNoYXIqIHRlc3Rf
c3VpdGVfbmFtZSwgQ29kZUxvY2F0aW9uIGNvZGVfbG9jYXRpb24pIHsKICAgc3VpdGVzXy5lbXBs
YWNlKHN0ZDo6c3RyaW5nKHRlc3Rfc3VpdGVfbmFtZSksCi0gICAgICAgICAgICAgICAgICBUeXBl
UGFyYW1ldGVyaXplZFRlc3RTdWl0ZUluZm8oY29kZV9sb2NhdGlvbikpOworICAgICAgICAgICAg
ICAgICBUeXBlUGFyYW1ldGVyaXplZFRlc3RTdWl0ZUluZm8oY29kZV9sb2NhdGlvbikpOwogfQog
CiB2b2lkIFR5cGVQYXJhbWV0ZXJpemVkVGVzdFN1aXRlUmVnaXN0cnk6OlJlZ2lzdGVySW5zdGFu
dGlhdGlvbigKLSAgICBjb25zdCBjaGFyKiB0ZXN0X3N1aXRlX25hbWUpIHsKKyAgICAgICAgY29u
c3QgY2hhciogdGVzdF9zdWl0ZV9uYW1lKSB7CiAgIGF1dG8gaXQgPSBzdWl0ZXNfLmZpbmQoc3Rk
OjpzdHJpbmcodGVzdF9zdWl0ZV9uYW1lKSk7CiAgIGlmIChpdCAhPSBzdWl0ZXNfLmVuZCgpKSB7
CiAgICAgaXQtPnNlY29uZC5pbnN0YW50aWF0ZWQgPSB0cnVlOwpAQCAtNTY3LDcgKzUzNCw3IEBA
IHZvaWQgVHlwZVBhcmFtZXRlcml6ZWRUZXN0U3VpdGVSZWdpc3RyeTo6Q2hlY2tGb3JJbnN0YW50
aWF0aW9ucygpIHsKICAgICBpZiAoaWdub3JlZC5maW5kKHRlc3RjYXNlLmZpcnN0KSAhPSBpZ25v
cmVkLmVuZCgpKSBjb250aW51ZTsKIAogICAgIHN0ZDo6c3RyaW5nIG1lc3NhZ2UgPQotICAgICAg
ICAiVHlwZSBwYXJhbWV0ZXJpemVkIHRlc3Qgc3VpdGUgIiArIHRlc3RjYXNlLmZpcnN0ICsKKyAg
ICAgICAgIlR5cGUgcGFyYW1hdGVyaXplZCB0ZXN0IHN1aXRlICIgKyB0ZXN0Y2FzZS5maXJzdCAr
CiAgICAgICAgICIgaXMgZGVmaW5lZCB2aWEgUkVHSVNURVJfVFlQRURfVEVTVF9TVUlURV9QLCBi
dXQgbmV2ZXIgaW5zdGFudGlhdGVkICIKICAgICAgICAgInZpYSBJTlNUQU5USUFURV9UWVBFRF9U
RVNUX1NVSVRFX1AuIE5vbmUgb2YgdGhlIHRlc3QgY2FzZXMgd2lsbCBydW4uIgogICAgICAgICAi
XG5cbiIKQEAgLTU3NywxMyArNTQ0LDEzIEBAIHZvaWQgVHlwZVBhcmFtZXRlcml6ZWRUZXN0U3Vp
dGVSZWdpc3RyeTo6Q2hlY2tGb3JJbnN0YW50aWF0aW9ucygpIHsKICAgICAgICAgInV0aWxpdGll
cy4pIgogICAgICAgICAiXG5cbiIKICAgICAgICAgIlRvIHN1cHByZXNzIHRoaXMgZXJyb3IgZm9y
IHRoaXMgdGVzdCBzdWl0ZSwgaW5zZXJ0IHRoZSBmb2xsb3dpbmcgbGluZSAiCi0gICAgICAgICIo
aW4gYSBub24taGVhZGVyKSBpbiB0aGUgbmFtZXNwYWNlIGl0IGlzIGRlZmluZWQgaW46IgorICAg
ICAgICAiKGluIGEgbm9uLWhlYWRlcikgaW4gdGhlIG5hbWVzcGFjZSBpdCBpcyBkZWZpbmVkaW4g
aW46IgogICAgICAgICAiXG5cbiIKICAgICAgICAgIkdURVNUX0FMTE9XX1VOSU5TVEFOVElBVEVE
X1BBUkFNRVRFUklaRURfVEVTVCgiICsKICAgICAgICAgdGVzdGNhc2UuZmlyc3QgKyAiKTsiOwog
CiAgICAgc3RkOjpzdHJpbmcgZnVsbF9uYW1lID0KLSAgICAgICAgIlVuaW5zdGFudGlhdGVkVHlw
ZVBhcmFtZXRlcml6ZWRUZXN0U3VpdGU8IiArIHRlc3RjYXNlLmZpcnN0ICsgIj4iOworICAgICAg
ICAiVW5pbnN0YW50aWF0ZWRUeXBlUGFyYW1hdGVyaXplZFRlc3RTdWl0ZTwiICsgdGVzdGNhc2Uu
Zmlyc3QgKyAiPiI7CiAgICAgUmVnaXN0ZXJUZXN0KCAgLy8KICAgICAgICAgIkdvb2dsZVRlc3RW
ZXJpZmljYXRpb24iLCBmdWxsX25hbWUuY19zdHIoKSwKICAgICAgICAgbnVsbHB0ciwgIC8vIE5v
IHR5cGUgcGFyYW1ldGVyLgpAQCAtNjI4LDggKzU5NSw3IEBAIEZpbGVQYXRoIEdldEN1cnJlbnRF
eGVjdXRhYmxlTmFtZSgpIHsKIAogLy8gUmV0dXJucyB0aGUgb3V0cHV0IGZvcm1hdCwgb3IgIiIg
Zm9yIG5vcm1hbCBwcmludGVkIG91dHB1dC4KIHN0ZDo6c3RyaW5nIFVuaXRUZXN0T3B0aW9uczo6
R2V0T3V0cHV0Rm9ybWF0KCkgewotICBzdGQ6OnN0cmluZyBzID0gR1RFU1RfRkxBR19HRVQob3V0
cHV0KTsKLSAgY29uc3QgY2hhciogY29uc3QgZ3Rlc3Rfb3V0cHV0X2ZsYWcgPSBzLmNfc3RyKCk7
CisgIGNvbnN0IGNoYXIqIGNvbnN0IGd0ZXN0X291dHB1dF9mbGFnID0gR1RFU1RfRkxBRyhvdXRw
dXQpLmNfc3RyKCk7CiAgIGNvbnN0IGNoYXIqIGNvbnN0IGNvbG9uID0gc3RyY2hyKGd0ZXN0X291
dHB1dF9mbGFnLCAnOicpOwogICByZXR1cm4gKGNvbG9uID09IG51bGxwdHIpCiAgICAgICAgICAg
ICAgPyBzdGQ6OnN0cmluZyhndGVzdF9vdXRwdXRfZmxhZykKQEAgLTY0MCwxOSArNjA2LDE5IEBA
IHN0ZDo6c3RyaW5nIFVuaXRUZXN0T3B0aW9uczo6R2V0T3V0cHV0Rm9ybWF0KCkgewogLy8gUmV0
dXJucyB0aGUgbmFtZSBvZiB0aGUgcmVxdWVzdGVkIG91dHB1dCBmaWxlLCBvciB0aGUgZGVmYXVs
dCBpZiBub25lCiAvLyB3YXMgZXhwbGljaXRseSBzcGVjaWZpZWQuCiBzdGQ6OnN0cmluZyBVbml0
VGVzdE9wdGlvbnM6OkdldEFic29sdXRlUGF0aFRvT3V0cHV0RmlsZSgpIHsKLSAgc3RkOjpzdHJp
bmcgcyA9IEdURVNUX0ZMQUdfR0VUKG91dHB1dCk7Ci0gIGNvbnN0IGNoYXIqIGNvbnN0IGd0ZXN0
X291dHB1dF9mbGFnID0gcy5jX3N0cigpOworICBjb25zdCBjaGFyKiBjb25zdCBndGVzdF9vdXRw
dXRfZmxhZyA9IEdURVNUX0ZMQUcob3V0cHV0KS5jX3N0cigpOwogCiAgIHN0ZDo6c3RyaW5nIGZv
cm1hdCA9IEdldE91dHB1dEZvcm1hdCgpOwotICBpZiAoZm9ybWF0LmVtcHR5KCkpIGZvcm1hdCA9
IHN0ZDo6c3RyaW5nKGtEZWZhdWx0T3V0cHV0Rm9ybWF0KTsKKyAgaWYgKGZvcm1hdC5lbXB0eSgp
KQorICAgIGZvcm1hdCA9IHN0ZDo6c3RyaW5nKGtEZWZhdWx0T3V0cHV0Rm9ybWF0KTsKIAogICBj
b25zdCBjaGFyKiBjb25zdCBjb2xvbiA9IHN0cmNocihndGVzdF9vdXRwdXRfZmxhZywgJzonKTsK
ICAgaWYgKGNvbG9uID09IG51bGxwdHIpCiAgICAgcmV0dXJuIGludGVybmFsOjpGaWxlUGF0aDo6
TWFrZUZpbGVOYW1lKAotICAgICAgICAgICAgICAgaW50ZXJuYWw6OkZpbGVQYXRoKAotICAgICAg
ICAgICAgICAgICAgIFVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5vcmlnaW5hbF93b3JraW5nX2Rp
cigpKSwKLSAgICAgICAgICAgICAgIGludGVybmFsOjpGaWxlUGF0aChrRGVmYXVsdE91dHB1dEZp
bGUpLCAwLCBmb3JtYXQuY19zdHIoKSkKLSAgICAgICAgLnN0cmluZygpOworICAgICAgICBpbnRl
cm5hbDo6RmlsZVBhdGgoCisgICAgICAgICAgICBVbml0VGVzdDo6R2V0SW5zdGFuY2UoKS0+b3Jp
Z2luYWxfd29ya2luZ19kaXIoKSksCisgICAgICAgIGludGVybmFsOjpGaWxlUGF0aChrRGVmYXVs
dE91dHB1dEZpbGUpLCAwLAorICAgICAgICBmb3JtYXQuY19zdHIoKSkuc3RyaW5nKCk7CiAKICAg
aW50ZXJuYWw6OkZpbGVQYXRoIG91dHB1dF9uYW1lKGNvbG9uICsgMSk7CiAgIGlmICghb3V0cHV0
X25hbWUuSXNBYnNvbHV0ZVBhdGgoKSkKQEAgLTY2MCw3ICs2MjYsOCBAQCBzdGQ6OnN0cmluZyBV
bml0VGVzdE9wdGlvbnM6OkdldEFic29sdXRlUGF0aFRvT3V0cHV0RmlsZSgpIHsKICAgICAgICAg
aW50ZXJuYWw6OkZpbGVQYXRoKFVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5vcmlnaW5hbF93b3Jr
aW5nX2RpcigpKSwKICAgICAgICAgaW50ZXJuYWw6OkZpbGVQYXRoKGNvbG9uICsgMSkpOwogCi0g
IGlmICghb3V0cHV0X25hbWUuSXNEaXJlY3RvcnkoKSkgcmV0dXJuIG91dHB1dF9uYW1lLnN0cmlu
ZygpOworICBpZiAoIW91dHB1dF9uYW1lLklzRGlyZWN0b3J5KCkpCisgICAgcmV0dXJuIG91dHB1
dF9uYW1lLnN0cmluZygpOwogCiAgIGludGVybmFsOjpGaWxlUGF0aCByZXN1bHQoaW50ZXJuYWw6
OkZpbGVQYXRoOjpHZW5lcmF0ZVVuaXF1ZUZpbGVOYW1lKAogICAgICAgb3V0cHV0X25hbWUsIGlu
dGVybmFsOjpHZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKSwKQEAgLTY2OCwxNzIgKzYzNSw3NyBA
QCBzdGQ6OnN0cmluZyBVbml0VGVzdE9wdGlvbnM6OkdldEFic29sdXRlUGF0aFRvT3V0cHV0Rmls
ZSgpIHsKICAgcmV0dXJuIHJlc3VsdC5zdHJpbmcoKTsKIH0KIAotLy8gUmV0dXJucyB0cnVlIGlm
IGFuZCBvbmx5IGlmIHRoZSB3aWxkY2FyZCBwYXR0ZXJuIG1hdGNoZXMgdGhlIHN0cmluZy4gRWFj
aAotLy8gcGF0dGVybiBjb25zaXN0cyBvZiByZWd1bGFyIGNoYXJhY3RlcnMsIHNpbmdsZS1jaGFy
YWN0ZXIgd2lsZGNhcmRzICg/KSwgYW5kCi0vLyBtdWx0aS1jaGFyYWN0ZXIgd2lsZGNhcmRzICgq
KS4KKy8vIFJldHVybnMgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgd2lsZGNhcmQgcGF0dGVybiBt
YXRjaGVzIHRoZSBzdHJpbmcuCisvLyBUaGUgZmlyc3QgJzonIG9yICdcMCcgY2hhcmFjdGVyIGlu
IHBhdHRlcm4gbWFya3MgdGhlIGVuZCBvZiBpdC4KIC8vCi0vLyBUaGlzIGZ1bmN0aW9uIGltcGxl
bWVudHMgYSBsaW5lYXItdGltZSBzdHJpbmcgZ2xvYmJpbmcgYWxnb3JpdGhtIGJhc2VkIG9uCi0v
LyBodHRwczovL3Jlc2VhcmNoLnN3dGNoLmNvbS9nbG9iLgotc3RhdGljIGJvb2wgUGF0dGVybk1h
dGNoZXNTdHJpbmcoY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWVfc3RyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcGF0dGVybiwgY29uc3QgY2hhciogcGF0dGVy
bl9lbmQpIHsKLSAgY29uc3QgY2hhciogbmFtZSA9IG5hbWVfc3RyLmNfc3RyKCk7Ci0gIGNvbnN0
IGNoYXIqIGNvbnN0IG5hbWVfYmVnaW4gPSBuYW1lOwotICBjb25zdCBjaGFyKiBjb25zdCBuYW1l
X2VuZCA9IG5hbWUgKyBuYW1lX3N0ci5zaXplKCk7Ci0KLSAgY29uc3QgY2hhciogcGF0dGVybl9u
ZXh0ID0gcGF0dGVybjsKLSAgY29uc3QgY2hhciogbmFtZV9uZXh0ID0gbmFtZTsKLQotICB3aGls
ZSAocGF0dGVybiA8IHBhdHRlcm5fZW5kIHx8IG5hbWUgPCBuYW1lX2VuZCkgewotICAgIGlmIChw
YXR0ZXJuIDwgcGF0dGVybl9lbmQpIHsKLSAgICAgIHN3aXRjaCAoKnBhdHRlcm4pIHsKLSAgICAg
ICAgZGVmYXVsdDogIC8vIE1hdGNoIGFuIG9yZGluYXJ5IGNoYXJhY3Rlci4KLSAgICAgICAgICBp
ZiAobmFtZSA8IG5hbWVfZW5kICYmICpuYW1lID09ICpwYXR0ZXJuKSB7Ci0gICAgICAgICAgICAr
K3BhdHRlcm47Ci0gICAgICAgICAgICArK25hbWU7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICB9Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJz8nOiAgLy8gTWF0Y2gg
YW55IHNpbmdsZSBjaGFyYWN0ZXIuCi0gICAgICAgICAgaWYgKG5hbWUgPCBuYW1lX2VuZCkgewot
ICAgICAgICAgICAgKytwYXR0ZXJuOwotICAgICAgICAgICAgKytuYW1lOwotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgfQotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICcq
JzoKLSAgICAgICAgICAvLyBNYXRjaCB6ZXJvIG9yIG1vcmUgY2hhcmFjdGVycy4gU3RhcnQgYnkg
c2tpcHBpbmcgb3ZlciB0aGUgd2lsZGNhcmQKLSAgICAgICAgICAvLyBhbmQgbWF0Y2hpbmcgemVy
byBjaGFyYWN0ZXJzIGZyb20gbmFtZS4gSWYgdGhhdCBmYWlscywgcmVzdGFydCBhbmQKLSAgICAg
ICAgICAvLyBtYXRjaCBvbmUgbW9yZSBjaGFyYWN0ZXIgdGhhbiB0aGUgbGFzdCBhdHRlbXB0Lgot
ICAgICAgICAgIHBhdHRlcm5fbmV4dCA9IHBhdHRlcm47Ci0gICAgICAgICAgbmFtZV9uZXh0ID0g
bmFtZSArIDE7Ci0gICAgICAgICAgKytwYXR0ZXJuOwotICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgfQotICAgIH0KLSAgICAvLyBGYWlsZWQgdG8gbWF0Y2ggYSBjaGFyYWN0ZXIuIFJlc3RhcnQg
aWYgcG9zc2libGUuCi0gICAgaWYgKG5hbWVfYmVnaW4gPCBuYW1lX25leHQgJiYgbmFtZV9uZXh0
IDw9IG5hbWVfZW5kKSB7Ci0gICAgICBwYXR0ZXJuID0gcGF0dGVybl9uZXh0OwotICAgICAgbmFt
ZSA9IG5hbWVfbmV4dDsKLSAgICAgIGNvbnRpbnVlOworLy8gVGhpcyByZWN1cnNpdmUgYWxnb3Jp
dGhtIGlzbid0IHZlcnkgZWZmaWNpZW50LCBidXQgaXMgY2xlYXIgYW5kCisvLyB3b3JrcyB3ZWxs
IGVub3VnaCBmb3IgbWF0Y2hpbmcgdGVzdCBuYW1lcywgd2hpY2ggYXJlIHNob3J0LgorYm9vbCBV
bml0VGVzdE9wdGlvbnM6OlBhdHRlcm5NYXRjaGVzU3RyaW5nKGNvbnN0IGNoYXIgKnBhdHRlcm4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq
c3RyKSB7CisgIHN3aXRjaCAoKnBhdHRlcm4pIHsKKyAgICBjYXNlICdcMCc6CisgICAgY2FzZSAn
Oic6ICAvLyBFaXRoZXIgJzonIG9yICdcMCcgbWFya3MgdGhlIGVuZCBvZiB0aGUgcGF0dGVybi4K
KyAgICAgIHJldHVybiAqc3RyID09ICdcMCc7CisgICAgY2FzZSAnPyc6ICAvLyBNYXRjaGVzIGFu
eSBzaW5nbGUgY2hhcmFjdGVyLgorICAgICAgcmV0dXJuICpzdHIgIT0gJ1wwJyAmJiBQYXR0ZXJu
TWF0Y2hlc1N0cmluZyhwYXR0ZXJuICsgMSwgc3RyICsgMSk7CisgICAgY2FzZSAnKic6ICAvLyBN
YXRjaGVzIGFueSBzdHJpbmcgKHBvc3NpYmx5IGVtcHR5KSBvZiBjaGFyYWN0ZXJzLgorICAgICAg
cmV0dXJuICgqc3RyICE9ICdcMCcgJiYgUGF0dGVybk1hdGNoZXNTdHJpbmcocGF0dGVybiwgc3Ry
ICsgMSkpIHx8CisgICAgICAgICAgUGF0dGVybk1hdGNoZXNTdHJpbmcocGF0dGVybiArIDEsIHN0
cik7CisgICAgZGVmYXVsdDogIC8vIE5vbi1zcGVjaWFsIGNoYXJhY3Rlci4gIE1hdGNoZXMgaXRz
ZWxmLgorICAgICAgcmV0dXJuICpwYXR0ZXJuID09ICpzdHIgJiYKKyAgICAgICAgICBQYXR0ZXJu
TWF0Y2hlc1N0cmluZyhwYXR0ZXJuICsgMSwgc3RyICsgMSk7CisgIH0KK30KKworYm9vbCBVbml0
VGVzdE9wdGlvbnM6Ok1hdGNoZXNGaWx0ZXIoCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUs
IGNvbnN0IGNoYXIqIGZpbHRlcikgeworICBjb25zdCBjaGFyICpjdXJfcGF0dGVybiA9IGZpbHRl
cjsKKyAgZm9yICg7OykgeworICAgIGlmIChQYXR0ZXJuTWF0Y2hlc1N0cmluZyhjdXJfcGF0dGVy
biwgbmFtZS5jX3N0cigpKSkgeworICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIHJldHVy
biBmYWxzZTsKLSAgfQotICByZXR1cm4gdHJ1ZTsKLX0KLQotbmFtZXNwYWNlIHsKLQotYm9vbCBJ
c0dsb2JQYXR0ZXJuKGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXR0ZXJuKSB7Ci0gIHJldHVybiBzdGQ6
OmFueV9vZihwYXR0ZXJuLmJlZ2luKCksIHBhdHRlcm4uZW5kKCksCi0gICAgICAgICAgICAgICAg
ICAgICBbXShjb25zdCBjaGFyIGMpIHsgcmV0dXJuIGMgPT0gJz8nIHx8IGMgPT0gJyonOyB9KTsK
LX0KIAotY2xhc3MgVW5pdFRlc3RGaWx0ZXIgewotIHB1YmxpYzoKLSAgVW5pdFRlc3RGaWx0ZXIo
KSA9IGRlZmF1bHQ7Ci0KLSAgLy8gQ29uc3RydWN0cyBhIGZpbHRlciBmcm9tIGEgc3RyaW5nIG9m
IHBhdHRlcm5zIHNlcGFyYXRlZCBieSBgOmAuCi0gIGV4cGxpY2l0IFVuaXRUZXN0RmlsdGVyKGNv
bnN0IHN0ZDo6c3RyaW5nJiBmaWx0ZXIpIHsKLSAgICAvLyBCeSBkZXNpZ24gIiIgZmlsdGVyIG1h
dGNoZXMgIiIgc3RyaW5nLgotICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBhbGxfcGF0dGVy
bnM7Ci0gICAgU3BsaXRTdHJpbmcoZmlsdGVyLCAnOicsICZhbGxfcGF0dGVybnMpOwotICAgIGNv
bnN0IGF1dG8gZXhhY3RfbWF0Y2hfcGF0dGVybnNfYmVnaW4gPSBzdGQ6OnBhcnRpdGlvbigKLSAg
ICAgICAgYWxsX3BhdHRlcm5zLmJlZ2luKCksIGFsbF9wYXR0ZXJucy5lbmQoKSwgJklzR2xvYlBh
dHRlcm4pOwotCi0gICAgZ2xvYl9wYXR0ZXJuc18ucmVzZXJ2ZShzdGF0aWNfY2FzdDxzaXplX3Q+
KAotICAgICAgICBzdGQ6OmRpc3RhbmNlKGFsbF9wYXR0ZXJucy5iZWdpbigpLCBleGFjdF9tYXRj
aF9wYXR0ZXJuc19iZWdpbikpKTsKLSAgICBzdGQ6Om1vdmUoYWxsX3BhdHRlcm5zLmJlZ2luKCks
IGV4YWN0X21hdGNoX3BhdHRlcm5zX2JlZ2luLAotICAgICAgICAgICAgICBzdGQ6Omluc2VydGVy
KGdsb2JfcGF0dGVybnNfLCBnbG9iX3BhdHRlcm5zXy5iZWdpbigpKSk7Ci0gICAgc3RkOjptb3Zl
KAotICAgICAgICBleGFjdF9tYXRjaF9wYXR0ZXJuc19iZWdpbiwgYWxsX3BhdHRlcm5zLmVuZCgp
LAotICAgICAgICBzdGQ6Omluc2VydGVyKGV4YWN0X21hdGNoX3BhdHRlcm5zXywgZXhhY3RfbWF0
Y2hfcGF0dGVybnNfLmJlZ2luKCkpKTsKLSAgfQotCi0gIC8vIFJldHVybnMgdHJ1ZSBpZiBhbmQg
b25seSBpZiBuYW1lIG1hdGNoZXMgYXQgbGVhc3Qgb25lIG9mIHRoZSBwYXR0ZXJucyBpbgotICAv
LyB0aGUgZmlsdGVyLgotICBib29sIE1hdGNoZXNOYW1lKGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1l
KSBjb25zdCB7Ci0gICAgcmV0dXJuIGV4YWN0X21hdGNoX3BhdHRlcm5zXy5jb3VudChuYW1lKSA+
IDAgfHwKLSAgICAgICAgICAgc3RkOjphbnlfb2YoZ2xvYl9wYXR0ZXJuc18uYmVnaW4oKSwgZ2xv
Yl9wYXR0ZXJuc18uZW5kKCksCi0gICAgICAgICAgICAgICAgICAgICAgIFsmbmFtZV0oY29uc3Qg
c3RkOjpzdHJpbmcmIHBhdHRlcm4pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
UGF0dGVybk1hdGNoZXNTdHJpbmcoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUs
IHBhdHRlcm4uY19zdHIoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybi5j
X3N0cigpICsgcGF0dGVybi5zaXplKCkpOwotICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAg
fQotCi0gcHJpdmF0ZToKLSAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdsb2JfcGF0dGVybnNf
OwotICBzdGQ6OnVub3JkZXJlZF9zZXQ8c3RkOjpzdHJpbmc+IGV4YWN0X21hdGNoX3BhdHRlcm5z
XzsKLX07CisgICAgLy8gRmluZHMgdGhlIG5leHQgcGF0dGVybiBpbiB0aGUgZmlsdGVyLgorICAg
IGN1cl9wYXR0ZXJuID0gc3RyY2hyKGN1cl9wYXR0ZXJuLCAnOicpOwogCi1jbGFzcyBQb3NpdGl2
ZUFuZE5lZ2F0aXZlVW5pdFRlc3RGaWx0ZXIgewotIHB1YmxpYzoKLSAgLy8gQ29uc3RydWN0cyBh
IHBvc2l0aXZlIGFuZCBhIG5lZ2F0aXZlIGZpbHRlciBmcm9tIGEgc3RyaW5nLiBUaGUgc3RyaW5n
Ci0gIC8vIGNvbnRhaW5zIGEgcG9zaXRpdmUgZmlsdGVyIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkg
YSAnLScgY2hhcmFjdGVyIGFuZCBhCi0gIC8vIG5lZ2F0aXZlIGZpbHRlci4gSW4gY2FzZSBvbmx5
IGEgbmVnYXRpdmUgZmlsdGVyIGlzIHByb3ZpZGVkIHRoZSBwb3NpdGl2ZQotICAvLyBmaWx0ZXIg
d2lsbCBiZSBhc3N1bWVkICIqIi4KLSAgLy8gQSBmaWx0ZXIgaXMgYSBsaXN0IG9mIHBhdHRlcm5z
IHNlcGFyYXRlZCBieSAnOicuCi0gIGV4cGxpY2l0IFBvc2l0aXZlQW5kTmVnYXRpdmVVbml0VGVz
dEZpbHRlcihjb25zdCBzdGQ6OnN0cmluZyYgZmlsdGVyKSB7Ci0gICAgc3RkOjp2ZWN0b3I8c3Rk
OjpzdHJpbmc+IHBvc2l0aXZlX2FuZF9uZWdhdGl2ZV9maWx0ZXJzOwotCi0gICAgLy8gTk9URTog
YFNwbGl0U3RyaW5nYCBhbHdheXMgcmV0dXJucyBhIG5vbi1lbXB0eSBjb250YWluZXIuCi0gICAg
U3BsaXRTdHJpbmcoZmlsdGVyLCAnLScsICZwb3NpdGl2ZV9hbmRfbmVnYXRpdmVfZmlsdGVycyk7
Ci0gICAgY29uc3QgYXV0byYgcG9zaXRpdmVfZmlsdGVyID0gcG9zaXRpdmVfYW5kX25lZ2F0aXZl
X2ZpbHRlcnMuZnJvbnQoKTsKLQotICAgIGlmIChwb3NpdGl2ZV9hbmRfbmVnYXRpdmVfZmlsdGVy
cy5zaXplKCkgPiAxKSB7Ci0gICAgICBwb3NpdGl2ZV9maWx0ZXJfID0gVW5pdFRlc3RGaWx0ZXIo
Ci0gICAgICAgICAgcG9zaXRpdmVfZmlsdGVyLmVtcHR5KCkgPyBrVW5pdmVyc2FsRmlsdGVyIDog
cG9zaXRpdmVfZmlsdGVyKTsKLQotICAgICAgLy8gVE9ETyhiLzIxNDYyNjM2MSk6IEZhaWwgb24g
bXVsdGlwbGUgJy0nIGNoYXJhY3RlcnMKLSAgICAgIC8vIEZvciB0aGUgbW9tZW50IHRvIHByZXNl
cnZlIG9sZCBiZWhhdmlvciB3ZSBjb25jYXRlbmF0ZSB0aGUgcmVzdCBvZiB0aGUKLSAgICAgIC8v
IHN0cmluZyBwYXJ0cyB3aXRoIGAtYCBhcyBzZXBhcmF0b3IgdG8gZ2VuZXJhdGUgdGhlIG5lZ2F0
aXZlIGZpbHRlci4KLSAgICAgIGF1dG8gbmVnYXRpdmVfZmlsdGVyX3N0cmluZyA9IHBvc2l0aXZl
X2FuZF9uZWdhdGl2ZV9maWx0ZXJzWzFdOwotICAgICAgZm9yIChzdGQ6OnNpemVfdCBpID0gMjsg
aSA8IHBvc2l0aXZlX2FuZF9uZWdhdGl2ZV9maWx0ZXJzLnNpemUoKTsgaSsrKQotICAgICAgICBu
ZWdhdGl2ZV9maWx0ZXJfc3RyaW5nID0KLSAgICAgICAgICAgIG5lZ2F0aXZlX2ZpbHRlcl9zdHJp
bmcgKyAnLScgKyBwb3NpdGl2ZV9hbmRfbmVnYXRpdmVfZmlsdGVyc1tpXTsKLSAgICAgIG5lZ2F0
aXZlX2ZpbHRlcl8gPSBVbml0VGVzdEZpbHRlcihuZWdhdGl2ZV9maWx0ZXJfc3RyaW5nKTsKLSAg
ICB9IGVsc2UgewotICAgICAgLy8gSW4gY2FzZSB3ZSBkb24ndCBoYXZlIGEgbmVnYXRpdmUgZmls
dGVyIGFuZCBwb3NpdGl2ZSBmaWx0ZXIgaXMgIiIKLSAgICAgIC8vIHdlIGRvIG5vdCB1c2Uga1Vu
aXZlcnNhbEZpbHRlciBieSBkZXNpZ24gYXMgb3Bwb3NlZCB0byB3aGVuIHdlIGhhdmUgYQotICAg
ICAgLy8gbmVnYXRpdmUgZmlsdGVyLgotICAgICAgcG9zaXRpdmVfZmlsdGVyXyA9IFVuaXRUZXN0
RmlsdGVyKHBvc2l0aXZlX2ZpbHRlcik7CisgICAgLy8gUmV0dXJucyBpZiBubyBtb3JlIHBhdHRl
cm4gY2FuIGJlIGZvdW5kLgorICAgIGlmIChjdXJfcGF0dGVybiA9PSBudWxscHRyKSB7CisgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQotICB9CiAKLSAgLy8gUmV0dXJucyB0cnVlIGlmIGFuZCBv
bmx5IGlmIHRlc3QgbmFtZSAodGhpcyBpcyBnZW5lcmF0ZWQgYnkgYXBwZW5kaW5nIHRlc3QKLSAg
Ly8gc3VpdCBuYW1lIGFuZCB0ZXN0IG5hbWUgdmlhIGEgJy4nIGNoYXJhY3RlcikgbWF0Y2hlcyB0
aGUgcG9zaXRpdmUgZmlsdGVyCi0gIC8vIGFuZCBkb2VzIG5vdCBtYXRjaCB0aGUgbmVnYXRpdmUg
ZmlsdGVyLgotICBib29sIE1hdGNoZXNUZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0X3N1aXRl
X25hbWUsCi0gICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RfbmFtZSkg
Y29uc3QgewotICAgIHJldHVybiBNYXRjaGVzTmFtZSh0ZXN0X3N1aXRlX25hbWUgKyAiLiIgKyB0
ZXN0X25hbWUpOworICAgIC8vIFNraXBzIHRoZSBwYXR0ZXJuIHNlcGFyYXRlciAodGhlICc6JyBj
aGFyYWN0ZXIpLgorICAgIGN1cl9wYXR0ZXJuKys7CiAgIH0KLQotICAvLyBSZXR1cm5zIHRydWUg
aWYgYW5kIG9ubHkgaWYgbmFtZSBtYXRjaGVzIHRoZSBwb3NpdGl2ZSBmaWx0ZXIgYW5kIGRvZXMg
bm90Ci0gIC8vIG1hdGNoIHRoZSBuZWdhdGl2ZSBmaWx0ZXIuCi0gIGJvb2wgTWF0Y2hlc05hbWUo
Y29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUpIGNvbnN0IHsKLSAgICByZXR1cm4gcG9zaXRpdmVfZmls
dGVyXy5NYXRjaGVzTmFtZShuYW1lKSAmJgotICAgICAgICAgICAhbmVnYXRpdmVfZmlsdGVyXy5N
YXRjaGVzTmFtZShuYW1lKTsKLSAgfQotCi0gcHJpdmF0ZToKLSAgVW5pdFRlc3RGaWx0ZXIgcG9z
aXRpdmVfZmlsdGVyXzsKLSAgVW5pdFRlc3RGaWx0ZXIgbmVnYXRpdmVfZmlsdGVyXzsKLX07Ci19
ICAvLyBuYW1lc3BhY2UKLQotYm9vbCBVbml0VGVzdE9wdGlvbnM6Ok1hdGNoZXNGaWx0ZXIoY29u
c3Qgc3RkOjpzdHJpbmcmIG5hbWVfc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgY2hhciogZmlsdGVyKSB7Ci0gIHJldHVybiBVbml0VGVzdEZpbHRlcihmaWx0
ZXIpLk1hdGNoZXNOYW1lKG5hbWVfc3RyKTsKIH0KIAogLy8gUmV0dXJucyB0cnVlIGlmIGFuZCBv
bmx5IGlmIHRoZSB1c2VyLXNwZWNpZmllZCBmaWx0ZXIgbWF0Y2hlcyB0aGUgdGVzdAogLy8gc3Vp
dGUgbmFtZSBhbmQgdGhlIHRlc3QgbmFtZS4KIGJvb2wgVW5pdFRlc3RPcHRpb25zOjpGaWx0ZXJN
YXRjaGVzVGVzdChjb25zdCBzdGQ6OnN0cmluZyYgdGVzdF9zdWl0ZV9uYW1lLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0X25h
bWUpIHsKKyAgY29uc3Qgc3RkOjpzdHJpbmcmIGZ1bGxfbmFtZSA9IHRlc3Rfc3VpdGVfbmFtZSAr
ICIuIiArIHRlc3RfbmFtZS5jX3N0cigpOworCiAgIC8vIFNwbGl0IC0tZ3Rlc3RfZmlsdGVyIGF0
ICctJywgaWYgdGhlcmUgaXMgb25lLCB0byBzZXBhcmF0ZSBpbnRvCiAgIC8vIHBvc2l0aXZlIGZp
bHRlciBhbmQgbmVnYXRpdmUgZmlsdGVyIHBvcnRpb25zCi0gIHJldHVybiBQb3NpdGl2ZUFuZE5l
Z2F0aXZlVW5pdFRlc3RGaWx0ZXIoR1RFU1RfRkxBR19HRVQoZmlsdGVyKSkKLSAgICAgIC5NYXRj
aGVzVGVzdCh0ZXN0X3N1aXRlX25hbWUsIHRlc3RfbmFtZSk7CisgIGNvbnN0IGNoYXIqIGNvbnN0
IHAgPSBHVEVTVF9GTEFHKGZpbHRlcikuY19zdHIoKTsKKyAgY29uc3QgY2hhciogY29uc3QgZGFz
aCA9IHN0cmNocihwLCAnLScpOworICBzdGQ6OnN0cmluZyBwb3NpdGl2ZTsKKyAgc3RkOjpzdHJp
bmcgbmVnYXRpdmU7CisgIGlmIChkYXNoID09IG51bGxwdHIpIHsKKyAgICBwb3NpdGl2ZSA9IEdU
RVNUX0ZMQUcoZmlsdGVyKS5jX3N0cigpOyAgLy8gV2hvbGUgc3RyaW5nIGlzIGEgcG9zaXRpdmUg
ZmlsdGVyCisgICAgbmVnYXRpdmUgPSAiIjsKKyAgfSBlbHNlIHsKKyAgICBwb3NpdGl2ZSA9IHN0
ZDo6c3RyaW5nKHAsIGRhc2gpOyAgIC8vIEV2ZXJ5dGhpbmcgdXAgdG8gdGhlIGRhc2gKKyAgICBu
ZWdhdGl2ZSA9IHN0ZDo6c3RyaW5nKGRhc2ggKyAxKTsgIC8vIEV2ZXJ5dGhpbmcgYWZ0ZXIgdGhl
IGRhc2gKKyAgICBpZiAocG9zaXRpdmUuZW1wdHkoKSkgeworICAgICAgLy8gVHJlYXQgJy10ZXN0
MScgYXMgdGhlIHNhbWUgYXMgJyotdGVzdDEnCisgICAgICBwb3NpdGl2ZSA9IGtVbml2ZXJzYWxG
aWx0ZXI7CisgICAgfQorICB9CisKKyAgLy8gQSBmaWx0ZXIgaXMgYSBjb2xvbi1zZXBhcmF0ZWQg
bGlzdCBvZiBwYXR0ZXJucy4gIEl0IG1hdGNoZXMgYQorICAvLyB0ZXN0IGlmIGFueSBwYXR0ZXJu
IGluIGl0IG1hdGNoZXMgdGhlIHRlc3QuCisgIHJldHVybiAoTWF0Y2hlc0ZpbHRlcihmdWxsX25h
bWUsIHBvc2l0aXZlLmNfc3RyKCkpICYmCisgICAgICAgICAgIU1hdGNoZXNGaWx0ZXIoZnVsbF9u
YW1lLCBuZWdhdGl2ZS5jX3N0cigpKSk7CiB9CiAKICNpZiBHVEVTVF9IQVNfU0VICkBAIC04NTMs
NyArNzI1LDcgQEAgaW50IFVuaXRUZXN0T3B0aW9uczo6R1Rlc3RTaG91bGRQcm9jZXNzU0VIKERX
T1JEIGV4Y2VwdGlvbl9jb2RlKSB7CiAKICAgYm9vbCBzaG91bGRfaGFuZGxlID0gdHJ1ZTsKIAot
ICBpZiAoIUdURVNUX0ZMQUdfR0VUKGNhdGNoX2V4Y2VwdGlvbnMpKQorICBpZiAoIUdURVNUX0ZM
QUcoY2F0Y2hfZXhjZXB0aW9ucykpCiAgICAgc2hvdWxkX2hhbmRsZSA9IGZhbHNlOwogICBlbHNl
IGlmIChleGNlcHRpb25fY29kZSA9PSBFWENFUFRJT05fQlJFQUtQT0lOVCkKICAgICBzaG91bGRf
aGFuZGxlID0gZmFsc2U7CkBAIC04NzEsNyArNzQzLDggQEAgaW50IFVuaXRUZXN0T3B0aW9uczo6
R1Rlc3RTaG91bGRQcm9jZXNzU0VIKERXT1JEIGV4Y2VwdGlvbl9jb2RlKSB7CiAvLyByZXN1bHRz
LiBJbnRlcmNlcHRzIG9ubHkgZmFpbHVyZXMgZnJvbSB0aGUgY3VycmVudCB0aHJlYWQuCiBTY29w
ZWRGYWtlVGVzdFBhcnRSZXN1bHRSZXBvcnRlcjo6U2NvcGVkRmFrZVRlc3RQYXJ0UmVzdWx0UmVw
b3J0ZXIoCiAgICAgVGVzdFBhcnRSZXN1bHRBcnJheSogcmVzdWx0KQotICAgIDogaW50ZXJjZXB0
X21vZGVfKElOVEVSQ0VQVF9PTkxZX0NVUlJFTlRfVEhSRUFEKSwgcmVzdWx0XyhyZXN1bHQpIHsK
KyAgICA6IGludGVyY2VwdF9tb2RlXyhJTlRFUkNFUFRfT05MWV9DVVJSRU5UX1RIUkVBRCksCisg
ICAgICByZXN1bHRfKHJlc3VsdCkgewogICBJbml0KCk7CiB9CiAKQEAgLTg4MCw3ICs3NTMsOCBA
QCBTY29wZWRGYWtlVGVzdFBhcnRSZXN1bHRSZXBvcnRlcjo6U2NvcGVkRmFrZVRlc3RQYXJ0UmVz
dWx0UmVwb3J0ZXIoCiAvLyByZXN1bHRzLgogU2NvcGVkRmFrZVRlc3RQYXJ0UmVzdWx0UmVwb3J0
ZXI6OlNjb3BlZEZha2VUZXN0UGFydFJlc3VsdFJlcG9ydGVyKAogICAgIEludGVyY2VwdE1vZGUg
aW50ZXJjZXB0X21vZGUsIFRlc3RQYXJ0UmVzdWx0QXJyYXkqIHJlc3VsdCkKLSAgICA6IGludGVy
Y2VwdF9tb2RlXyhpbnRlcmNlcHRfbW9kZSksIHJlc3VsdF8ocmVzdWx0KSB7CisgICAgOiBpbnRl
cmNlcHRfbW9kZV8oaW50ZXJjZXB0X21vZGUpLAorICAgICAgcmVzdWx0XyhyZXN1bHQpIHsKICAg
SW5pdCgpOwogfQogCkBAIC05MjQsNyArNzk4LDkgQEAgbmFtZXNwYWNlIGludGVybmFsIHsKIC8v
IGZyb20gdXNlciB0ZXN0IGNvZGUuICBHZXRUZXN0VHlwZUlkKCkgaXMgZ3VhcmFudGVlZCB0byBh
bHdheXMKIC8vIHJldHVybiB0aGUgc2FtZSB2YWx1ZSwgYXMgaXQgYWx3YXlzIGNhbGxzIEdldFR5
cGVJZDw+KCkgZnJvbSB0aGUKIC8vIGd0ZXN0LmNjLCB3aGljaCBpcyB3aXRoaW4gdGhlIEdvb2ds
ZSBUZXN0IGZyYW1ld29yay4KLVR5cGVJZCBHZXRUZXN0VHlwZUlkKCkgeyByZXR1cm4gR2V0VHlw
ZUlkPFRlc3Q+KCk7IH0KK1R5cGVJZCBHZXRUZXN0VHlwZUlkKCkgeworICByZXR1cm4gR2V0VHlw
ZUlkPFRlc3Q+KCk7Cit9CiAKIC8vIFRoZSB2YWx1ZSBvZiBHZXRUZXN0VHlwZUlkKCkgYXMgc2Vl
biBmcm9tIHdpdGhpbiB0aGUgR29vZ2xlIFRlc3QKIC8vIGxpYnJhcnkuICBUaGlzIGlzIHNvbGVs
eSBmb3IgdGVzdGluZyBHZXRUZXN0VHlwZUlkKCkuCkBAIC05MzksOSArODE1LDkgQEAgc3RhdGlj
IEFzc2VydGlvblJlc3VsdCBIYXNPbmVGYWlsdXJlKGNvbnN0IGNoYXIqIC8qIHJlc3VsdHNfZXhw
ciAqLywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXN0UGFy
dFJlc3VsdEFycmF5JiByZXN1bHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHN1YnN0cikgewotICBjb25zdCBzdGQ6OnN0
cmluZyBleHBlY3RlZCh0eXBlID09IFRlc3RQYXJ0UmVzdWx0OjprRmF0YWxGYWlsdXJlCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIxIGZhdGFsIGZhaWx1cmUiCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICIxIG5vbi1mYXRhbCBmYWlsdXJlIik7CisgIGNv
bnN0IHN0ZDo6c3RyaW5nIGV4cGVjdGVkKHR5cGUgPT0gVGVzdFBhcnRSZXN1bHQ6OmtGYXRhbEZh
aWx1cmUgPworICAgICAgICAgICAgICAgICAgICAgICAgIjEgZmF0YWwgZmFpbHVyZSIgOgorICAg
ICAgICAgICAgICAgICAgICAgICAgIjEgbm9uLWZhdGFsIGZhaWx1cmUiKTsKICAgTWVzc2FnZSBt
c2c7CiAgIGlmIChyZXN1bHRzLnNpemUoKSAhPSAxKSB7CiAgICAgbXNnIDw8ICJFeHBlY3RlZDog
IiA8PCBleHBlY3RlZCA8PCAiXG4iCkBAIC05NjAsMTAgKzgzNiwxMCBAQCBzdGF0aWMgQXNzZXJ0
aW9uUmVzdWx0IEhhc09uZUZhaWx1cmUoY29uc3QgY2hhciogLyogcmVzdWx0c19leHByICovLAog
ICB9CiAKICAgaWYgKHN0cnN0cihyLm1lc3NhZ2UoKSwgc3Vic3RyLmNfc3RyKCkpID09IG51bGxw
dHIpIHsKLSAgICByZXR1cm4gQXNzZXJ0aW9uRmFpbHVyZSgpCi0gICAgICAgICAgIDw8ICJFeHBl
Y3RlZDogIiA8PCBleHBlY3RlZCA8PCAiIGNvbnRhaW5pbmcgXCIiIDw8IHN1YnN0ciA8PCAiXCJc
biIKLSAgICAgICAgICAgPDwgIiAgQWN0dWFsOlxuIgotICAgICAgICAgICA8PCByOworICAgIHJl
dHVybiBBc3NlcnRpb25GYWlsdXJlKCkgPDwgIkV4cGVjdGVkOiAiIDw8IGV4cGVjdGVkIDw8ICIg
Y29udGFpbmluZyBcIiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8IHN1YnN0ciA8
PCAiXCJcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8ICIgIEFjdHVhbDpcbiIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8IHI7CiAgIH0KIAogICByZXR1cm4gQXNz
ZXJ0aW9uU3VjY2VzcygpOwpAQCAtOTg2LDggKzg2Miw3IEBAIFNpbmdsZUZhaWx1cmVDaGVja2Vy
Ojp+U2luZ2xlRmFpbHVyZUNoZWNrZXIoKSB7CiB9CiAKIERlZmF1bHRHbG9iYWxUZXN0UGFydFJl
c3VsdFJlcG9ydGVyOjpEZWZhdWx0R2xvYmFsVGVzdFBhcnRSZXN1bHRSZXBvcnRlcigKLSAgICBV
bml0VGVzdEltcGwqIHVuaXRfdGVzdCkKLSAgICA6IHVuaXRfdGVzdF8odW5pdF90ZXN0KSB7fQor
ICAgIFVuaXRUZXN0SW1wbCogdW5pdF90ZXN0KSA6IHVuaXRfdGVzdF8odW5pdF90ZXN0KSB7fQog
CiB2b2lkIERlZmF1bHRHbG9iYWxUZXN0UGFydFJlc3VsdFJlcG9ydGVyOjpSZXBvcnRUZXN0UGFy
dFJlc3VsdCgKICAgICBjb25zdCBUZXN0UGFydFJlc3VsdCYgcmVzdWx0KSB7CkBAIC05OTYsOCAr
ODcxLDcgQEAgdm9pZCBEZWZhdWx0R2xvYmFsVGVzdFBhcnRSZXN1bHRSZXBvcnRlcjo6UmVwb3J0
VGVzdFBhcnRSZXN1bHQoCiB9CiAKIERlZmF1bHRQZXJUaHJlYWRUZXN0UGFydFJlc3VsdFJlcG9y
dGVyOjpEZWZhdWx0UGVyVGhyZWFkVGVzdFBhcnRSZXN1bHRSZXBvcnRlcigKLSAgICBVbml0VGVz
dEltcGwqIHVuaXRfdGVzdCkKLSAgICA6IHVuaXRfdGVzdF8odW5pdF90ZXN0KSB7fQorICAgIFVu
aXRUZXN0SW1wbCogdW5pdF90ZXN0KSA6IHVuaXRfdGVzdF8odW5pdF90ZXN0KSB7fQogCiB2b2lk
IERlZmF1bHRQZXJUaHJlYWRUZXN0UGFydFJlc3VsdFJlcG9ydGVyOjpSZXBvcnRUZXN0UGFydFJl
c3VsdCgKICAgICBjb25zdCBUZXN0UGFydFJlc3VsdCYgcmVzdWx0KSB7CkBAIC0xMTA0LDM2ICs5
NzgsNTEgQEAgaW50IFVuaXRUZXN0SW1wbDo6dGVzdF90b19ydW5fY291bnQoKSBjb25zdCB7CiAv
LyB0cmFjZSBidXQgQmFyKCkgYW5kIEN1cnJlbnRPc1N0YWNrVHJhY2VFeGNlcHRUb3AoKSB3b24n
dC4KIHN0ZDo6c3RyaW5nIFVuaXRUZXN0SW1wbDo6Q3VycmVudE9zU3RhY2tUcmFjZUV4Y2VwdFRv
cChpbnQgc2tpcF9jb3VudCkgewogICByZXR1cm4gb3Nfc3RhY2tfdHJhY2VfZ2V0dGVyKCktPkN1
cnJlbnRTdGFja1RyYWNlKAotICAgICAgc3RhdGljX2Nhc3Q8aW50PihHVEVTVF9GTEFHX0dFVChz
dGFja190cmFjZV9kZXB0aCkpLCBza2lwX2NvdW50ICsgMQorICAgICAgc3RhdGljX2Nhc3Q8aW50
PihHVEVTVF9GTEFHKHN0YWNrX3RyYWNlX2RlcHRoKSksCisgICAgICBza2lwX2NvdW50ICsgMQog
ICAgICAgLy8gU2tpcHMgdGhlIHVzZXItc3BlY2lmaWVkIG51bWJlciBvZiBmcmFtZXMgcGx1cyB0
aGlzIGZ1bmN0aW9uCiAgICAgICAvLyBpdHNlbGYuCi0gICk7ICAvLyBOT0xJTlQKKyAgICAgICk7
ICAvLyBOT0xJTlQKIH0KIAotLy8gQSBoZWxwZXIgY2xhc3MgZm9yIG1lYXN1cmluZyBlbGFwc2Vk
IHRpbWVzLgotY2xhc3MgVGltZXIgewotIHB1YmxpYzoKLSAgVGltZXIoKSA6IHN0YXJ0XyhzdGQ6
OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkge30KLQotICAvLyBSZXR1cm4gdGltZSBlbGFw
c2VkIGluIG1pbGxpc2Vjb25kcyBzaW5jZSB0aGUgdGltZXIgd2FzIGNyZWF0ZWQuCi0gIFRpbWVJ
bk1pbGxpcyBFbGFwc2VkKCkgewotICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPigKLSAgICAgICAgICAgICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gc3RhcnRfKQotICAgICAgICAuY291bnQoKTsKLSAgfQot
Ci0gcHJpdmF0ZToKLSAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBzdGFy
dF87Ci19OwotCi0vLyBSZXR1cm5zIGEgdGltZXN0YW1wIGFzIG1pbGxpc2Vjb25kcyBzaW5jZSB0
aGUgZXBvY2guIE5vdGUgdGhpcyB0aW1lIG1heSBqdW1wCi0vLyBhcm91bmQgc3ViamVjdCB0byBh
ZGp1c3RtZW50cyBieSB0aGUgc3lzdGVtLCB0byBtZWFzdXJlIGVsYXBzZWQgdGltZSB1c2UKLS8v
IFRpbWVyIGluc3RlYWQuCisvLyBSZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNv
bmRzLgogVGltZUluTWlsbGlzIEdldFRpbWVJbk1pbGxpcygpIHsKLSAgcmV0dXJuIHN0ZDo6Y2hy
b25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KAotICAgICAgICAg
ICAgIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6Om5vdygpIC0KLSAgICAgICAgICAgICBzdGQ6
OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjpmcm9tX3RpbWVfdCgwKSkKLSAgICAgIC5jb3VudCgpOwor
I2lmIEdURVNUX09TX1dJTkRPV1NfTU9CSUxFIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKQorICAv
LyBEaWZmZXJlbmNlIGJldHdlZW4gMTk3MC0wMS0wMSBhbmQgMTYwMS0wMS0wMSBpbiBtaWxsaXNl
Y29uZHMuCisgIC8vIGh0dHA6Ly9hbmFsb2dvdXMuYmxvZ3Nwb3QuY29tLzIwMDUvMDQvZXBvY2gu
aHRtbAorICBjb25zdCBUaW1lSW5NaWxsaXMga0phdmFFcG9jaFRvV2luRmlsZVRpbWVEZWx0YSA9
CisgICAgc3RhdGljX2Nhc3Q8VGltZUluTWlsbGlzPigxMTY0NDQ3MzZVTCkgKiAxMDAwMDBVTDsK
KyAgY29uc3QgRFdPUkQga1RlbnRoTWljcm9zSW5NaWxsaVNlY29uZCA9IDEwMDAwOworCisgIFNZ
U1RFTVRJTUUgbm93X3N5c3RpbWU7CisgIEZJTEVUSU1FIG5vd19maWxldGltZTsKKyAgVUxBUkdF
X0lOVEVHRVIgbm93X2ludDY0OworICBHZXRTeXN0ZW1UaW1lKCZub3dfc3lzdGltZSk7CisgIGlm
IChTeXN0ZW1UaW1lVG9GaWxlVGltZSgmbm93X3N5c3RpbWUsICZub3dfZmlsZXRpbWUpKSB7Cisg
ICAgbm93X2ludDY0Lkxvd1BhcnQgPSBub3dfZmlsZXRpbWUuZHdMb3dEYXRlVGltZTsKKyAgICBu
b3dfaW50NjQuSGlnaFBhcnQgPSBub3dfZmlsZXRpbWUuZHdIaWdoRGF0ZVRpbWU7CisgICAgbm93
X2ludDY0LlF1YWRQYXJ0ID0gKG5vd19pbnQ2NC5RdWFkUGFydCAvIGtUZW50aE1pY3Jvc0luTWls
bGlTZWNvbmQpIC0KKyAgICAgIGtKYXZhRXBvY2hUb1dpbkZpbGVUaW1lRGVsdGE7CisgICAgcmV0
dXJuIG5vd19pbnQ2NC5RdWFkUGFydDsKKyAgfQorICByZXR1cm4gMDsKKyNlbGlmIEdURVNUX09T
X1dJTkRPV1MgJiYgIUdURVNUX0hBU19HRVRUSU1FT0ZEQVlfCisgIF9fdGltZWI2NCBub3c7CisK
KyAgLy8gTVNWQyA4IGRlcHJlY2F0ZXMgX2Z0aW1lNjQoKSwgc28gd2Ugd2FudCB0byBzdXBwcmVz
cyB3YXJuaW5nIDQ5OTYKKyAgLy8gKGRlcHJlY2F0ZWQgZnVuY3Rpb24pIHRoZXJlLgorICBHVEVT
VF9ESVNBQkxFX01TQ19ERVBSRUNBVEVEX1BVU0hfKCkKKyAgX2Z0aW1lNjQoJm5vdyk7CisgIEdU
RVNUX0RJU0FCTEVfTVNDX0RFUFJFQ0FURURfUE9QXygpCisKKyAgcmV0dXJuIHN0YXRpY19jYXN0
PFRpbWVJbk1pbGxpcz4obm93LnRpbWUpICogMTAwMCArIG5vdy5taWxsaXRtOworI2VsaWYgR1RF
U1RfSEFTX0dFVFRJTUVPRkRBWV8KKyAgc3RydWN0IHRpbWV2YWwgbm93OworICBnZXR0aW1lb2Zk
YXkoJm5vdywgbnVsbHB0cik7CisgIHJldHVybiBzdGF0aWNfY2FzdDxUaW1lSW5NaWxsaXM+KG5v
dy50dl9zZWMpICogMTAwMCArIG5vdy50dl91c2VjIC8gMTAwMDsKKyNlbHNlCisjIGVycm9yICJE
b24ndCBrbm93IGhvdyB0byBnZXQgdGhlIGN1cnJlbnQgdGltZSBvbiB5b3VyIHN5c3RlbS4iCisj
ZW5kaWYKIH0KIAogLy8gVXRpbGl0aWVzCkBAIC0xMTUxLDcgKzEwNDAsOCBAQCBMUENXU1RSIFN0
cmluZzo6QW5zaVRvVXRmMTYoY29uc3QgY2hhciogYW5zaSkgewogICBjb25zdCBpbnQgdW5pY29k
ZV9sZW5ndGggPQogICAgICAgTXVsdGlCeXRlVG9XaWRlQ2hhcihDUF9BQ1AsIDAsIGFuc2ksIGxl
bmd0aCwgbnVsbHB0ciwgMCk7CiAgIFdDSEFSKiB1bmljb2RlID0gbmV3IFdDSEFSW3VuaWNvZGVf
bGVuZ3RoICsgMV07Ci0gIE11bHRpQnl0ZVRvV2lkZUNoYXIoQ1BfQUNQLCAwLCBhbnNpLCBsZW5n
dGgsIHVuaWNvZGUsIHVuaWNvZGVfbGVuZ3RoKTsKKyAgTXVsdGlCeXRlVG9XaWRlQ2hhcihDUF9B
Q1AsIDAsIGFuc2ksIGxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICB1bmljb2RlLCB1bmlj
b2RlX2xlbmd0aCk7CiAgIHVuaWNvZGVbdW5pY29kZV9sZW5ndGhdID0gMDsKICAgcmV0dXJuIHVu
aWNvZGU7CiB9CkBAIC0xMTYwLDcgKzEwNTAsNyBAQCBMUENXU1RSIFN0cmluZzo6QW5zaVRvVXRm
MTYoY29uc3QgY2hhciogYW5zaSkgewogLy8gbWVtb3J5IHVzaW5nIG5ldy4gVGhlIGNhbGxlciBp
cyByZXNwb25zaWJsZSBmb3IgZGVsZXRpbmcgdGhlIHJldHVybgogLy8gdmFsdWUgdXNpbmcgZGVs
ZXRlW10uIFJldHVybnMgdGhlIEFOU0kgc3RyaW5nLCBvciBOVUxMIGlmIHRoZQogLy8gaW5wdXQg
aXMgTlVMTC4KLWNvbnN0IGNoYXIqIFN0cmluZzo6VXRmMTZUb0Fuc2koTFBDV1NUUiB1dGYxNl9z
dHIpIHsKK2NvbnN0IGNoYXIqIFN0cmluZzo6VXRmMTZUb0Fuc2koTFBDV1NUUiB1dGYxNl9zdHIp
ICB7CiAgIGlmICghdXRmMTZfc3RyKSByZXR1cm4gbnVsbHB0cjsKICAgY29uc3QgaW50IGFuc2lf
bGVuZ3RoID0gV2lkZUNoYXJUb011bHRpQnl0ZShDUF9BQ1AsIDAsIHV0ZjE2X3N0ciwgLTEsIG51
bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg
bnVsbHB0ciwgbnVsbHB0cik7CkBAIC0xMTc5LDcgKzEwNjksNyBAQCBjb25zdCBjaGFyKiBTdHJp
bmc6OlV0ZjE2VG9BbnNpKExQQ1dTVFIgdXRmMTZfc3RyKSB7CiAvLyBVbmxpa2Ugc3RyY21wKCks
IHRoaXMgZnVuY3Rpb24gY2FuIGhhbmRsZSBOVUxMIGFyZ3VtZW50KHMpLiAgQSBOVUxMCiAvLyBD
IHN0cmluZyBpcyBjb25zaWRlcmVkIGRpZmZlcmVudCB0byBhbnkgbm9uLU5VTEwgQyBzdHJpbmcs
CiAvLyBpbmNsdWRpbmcgdGhlIGVtcHR5IHN0cmluZy4KLWJvb2wgU3RyaW5nOjpDU3RyaW5nRXF1
YWxzKGNvbnN0IGNoYXIqIGxocywgY29uc3QgY2hhciogcmhzKSB7Citib29sIFN0cmluZzo6Q1N0
cmluZ0VxdWFscyhjb25zdCBjaGFyICogbGhzLCBjb25zdCBjaGFyICogcmhzKSB7CiAgIGlmIChs
aHMgPT0gbnVsbHB0cikgcmV0dXJuIHJocyA9PSBudWxscHRyOwogCiAgIGlmIChyaHMgPT0gbnVs
bHB0cikgcmV0dXJuIGZhbHNlOwpAQCAtMTE5MywxMCArMTA4MywxMSBAQCBib29sIFN0cmluZzo6
Q1N0cmluZ0VxdWFscyhjb25zdCBjaGFyKiBsaHMsIGNvbnN0IGNoYXIqIHJocykgewogLy8gZW5j
b2RpbmcsIGFuZCBzdHJlYW1zIHRoZSByZXN1bHQgdG8gdGhlIGdpdmVuIE1lc3NhZ2Ugb2JqZWN0
Lgogc3RhdGljIHZvaWQgU3RyZWFtV2lkZUNoYXJzVG9NZXNzYWdlKGNvbnN0IHdjaGFyX3QqIHdz
dHIsIHNpemVfdCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TWVzc2FnZSogbXNnKSB7Ci0gIGZvciAoc2l6ZV90IGkgPSAwOyBpICE9IGxlbmd0aDspIHsgIC8v
IE5PTElOVAorICBmb3IgKHNpemVfdCBpID0gMDsgaSAhPSBsZW5ndGg7ICkgeyAgLy8gTk9MSU5U
CiAgICAgaWYgKHdzdHJbaV0gIT0gTCdcMCcpIHsKICAgICAgICptc2cgPDwgV2lkZVN0cmluZ1Rv
VXRmOCh3c3RyICsgaSwgc3RhdGljX2Nhc3Q8aW50PihsZW5ndGggLSBpKSk7Ci0gICAgICB3aGls
ZSAoaSAhPSBsZW5ndGggJiYgd3N0cltpXSAhPSBMJ1wwJykgaSsrOworICAgICAgd2hpbGUgKGkg
IT0gbGVuZ3RoICYmIHdzdHJbaV0gIT0gTCdcMCcpCisgICAgICAgIGkrKzsKICAgICB9IGVsc2Ug
ewogICAgICAgKm1zZyA8PCAnXDAnOwogICAgICAgaSsrOwpAQCAtMTIzOCwxNyArMTEyOSwxNyBA
QCBNZXNzYWdlOjpNZXNzYWdlKCkgOiBzc18obmV3IDo6c3RkOjpzdHJpbmdzdHJlYW0pIHsKIAog
Ly8gVGhlc2UgdHdvIG92ZXJsb2FkcyBhbGxvdyBzdHJlYW1pbmcgYSB3aWRlIEMgc3RyaW5nIHRv
IGEgTWVzc2FnZQogLy8gdXNpbmcgdGhlIFVURi04IGVuY29kaW5nLgotTWVzc2FnZSYgTWVzc2Fn
ZTo6b3BlcmF0b3I8PChjb25zdCB3Y2hhcl90KiB3aWRlX2Nfc3RyKSB7CitNZXNzYWdlJiBNZXNz
YWdlOjpvcGVyYXRvciA8PChjb25zdCB3Y2hhcl90KiB3aWRlX2Nfc3RyKSB7CiAgIHJldHVybiAq
dGhpcyA8PCBpbnRlcm5hbDo6U3RyaW5nOjpTaG93V2lkZUNTdHJpbmcod2lkZV9jX3N0cik7CiB9
Ci1NZXNzYWdlJiBNZXNzYWdlOjpvcGVyYXRvcjw8KHdjaGFyX3QqIHdpZGVfY19zdHIpIHsKK01l
c3NhZ2UmIE1lc3NhZ2U6Om9wZXJhdG9yIDw8KHdjaGFyX3QqIHdpZGVfY19zdHIpIHsKICAgcmV0
dXJuICp0aGlzIDw8IGludGVybmFsOjpTdHJpbmc6OlNob3dXaWRlQ1N0cmluZyh3aWRlX2Nfc3Ry
KTsKIH0KIAogI2lmIEdURVNUX0hBU19TVERfV1NUUklORwogLy8gQ29udmVydHMgdGhlIGdpdmVu
IHdpZGUgc3RyaW5nIHRvIGEgbmFycm93IHN0cmluZyB1c2luZyB0aGUgVVRGLTgKIC8vIGVuY29k
aW5nLCBhbmQgc3RyZWFtcyB0aGUgcmVzdWx0IHRvIHRoaXMgTWVzc2FnZSBvYmplY3QuCi1NZXNz
YWdlJiBNZXNzYWdlOjpvcGVyYXRvcjw8KGNvbnN0IDo6c3RkOjp3c3RyaW5nJiB3c3RyKSB7CitN
ZXNzYWdlJiBNZXNzYWdlOjpvcGVyYXRvciA8PChjb25zdCA6OnN0ZDo6d3N0cmluZyYgd3N0cikg
ewogICBpbnRlcm5hbDo6U3RyZWFtV2lkZUNoYXJzVG9NZXNzYWdlKHdzdHIuY19zdHIoKSwgd3N0
ci5sZW5ndGgoKSwgdGhpcyk7CiAgIHJldHVybiAqdGhpczsKIH0KQEAgLTEyNjAsNiArMTE1MSw0
NCBAQCBzdGQ6OnN0cmluZyBNZXNzYWdlOjpHZXRTdHJpbmcoKSBjb25zdCB7CiAgIHJldHVybiBp
bnRlcm5hbDo6U3RyaW5nU3RyZWFtVG9TdHJpbmcoc3NfLmdldCgpKTsKIH0KIAorLy8gQXNzZXJ0
aW9uUmVzdWx0IGNvbnN0cnVjdG9ycy4KKy8vIFVzZWQgaW4gRVhQRUNUX1RSVUUvRkFMU0UoYXNz
ZXJ0aW9uX3Jlc3VsdCkuCitBc3NlcnRpb25SZXN1bHQ6OkFzc2VydGlvblJlc3VsdChjb25zdCBB
c3NlcnRpb25SZXN1bHQmIG90aGVyKQorICAgIDogc3VjY2Vzc18ob3RoZXIuc3VjY2Vzc18pLAor
ICAgICAgbWVzc2FnZV8ob3RoZXIubWVzc2FnZV8uZ2V0KCkgIT0gbnVsbHB0cgorICAgICAgICAg
ICAgICAgICAgID8gbmV3IDo6c3RkOjpzdHJpbmcoKm90aGVyLm1lc3NhZ2VfKQorICAgICAgICAg
ICAgICAgICAgIDogc3RhdGljX2Nhc3Q8IDo6c3RkOjpzdHJpbmcqPihudWxscHRyKSkge30KKwor
Ly8gU3dhcHMgdHdvIEFzc2VydGlvblJlc3VsdHMuCit2b2lkIEFzc2VydGlvblJlc3VsdDo6c3dh
cChBc3NlcnRpb25SZXN1bHQmIG90aGVyKSB7CisgIHVzaW5nIHN0ZDo6c3dhcDsKKyAgc3dhcChz
dWNjZXNzXywgb3RoZXIuc3VjY2Vzc18pOworICBzd2FwKG1lc3NhZ2VfLCBvdGhlci5tZXNzYWdl
Xyk7Cit9CisKKy8vIFJldHVybnMgdGhlIGFzc2VydGlvbidzIG5lZ2F0aW9uLiBVc2VkIHdpdGgg
RVhQRUNUL0FTU0VSVF9GQUxTRS4KK0Fzc2VydGlvblJlc3VsdCBBc3NlcnRpb25SZXN1bHQ6Om9w
ZXJhdG9yISgpIGNvbnN0IHsKKyAgQXNzZXJ0aW9uUmVzdWx0IG5lZ2F0aW9uKCFzdWNjZXNzXyk7
CisgIGlmIChtZXNzYWdlXy5nZXQoKSAhPSBudWxscHRyKSBuZWdhdGlvbiA8PCAqbWVzc2FnZV87
CisgIHJldHVybiBuZWdhdGlvbjsKK30KKworLy8gTWFrZXMgYSBzdWNjZXNzZnVsIGFzc2VydGlv
biByZXN1bHQuCitBc3NlcnRpb25SZXN1bHQgQXNzZXJ0aW9uU3VjY2VzcygpIHsKKyAgcmV0dXJu
IEFzc2VydGlvblJlc3VsdCh0cnVlKTsKK30KKworLy8gTWFrZXMgYSBmYWlsZWQgYXNzZXJ0aW9u
IHJlc3VsdC4KK0Fzc2VydGlvblJlc3VsdCBBc3NlcnRpb25GYWlsdXJlKCkgeworICByZXR1cm4g
QXNzZXJ0aW9uUmVzdWx0KGZhbHNlKTsKK30KKworLy8gTWFrZXMgYSBmYWlsZWQgYXNzZXJ0aW9u
IHJlc3VsdCB3aXRoIHRoZSBnaXZlbiBmYWlsdXJlIG1lc3NhZ2UuCisvLyBEZXByZWNhdGVkOyB1
c2UgQXNzZXJ0aW9uRmFpbHVyZSgpIDw8IG1lc3NhZ2UuCitBc3NlcnRpb25SZXN1bHQgQXNzZXJ0
aW9uRmFpbHVyZShjb25zdCBNZXNzYWdlJiBtZXNzYWdlKSB7CisgIHJldHVybiBBc3NlcnRpb25G
YWlsdXJlKCkgPDwgbWVzc2FnZTsKK30KKwogbmFtZXNwYWNlIGludGVybmFsIHsKIAogbmFtZXNw
YWNlIGVkaXRfZGlzdGFuY2UgewpAQCAtMTU1MSw3ICsxNDgwLDggQEAgc3RkOjp2ZWN0b3I8c3Rk
OjpzdHJpbmc+IFNwbGl0RXNjYXBlZFN0cmluZyhjb25zdCBzdGQ6OnN0cmluZyYgc3RyKSB7CiBB
c3NlcnRpb25SZXN1bHQgRXFGYWlsdXJlKGNvbnN0IGNoYXIqIGxoc19leHByZXNzaW9uLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiByaHNfZXhwcmVzc2lvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGxoc192YWx1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHJoc192YWx1ZSwgYm9vbCBp
Z25vcmluZ19jYXNlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3Ry
aW5nJiByaHNfdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaWdub3Jpbmdf
Y2FzZSkgewogICBNZXNzYWdlIG1zZzsKICAgbXNnIDw8ICJFeHBlY3RlZCBlcXVhbGl0eSBvZiB0
aGVzZSB2YWx1ZXM6IjsKICAgbXNnIDw8ICJcbiAgIiA8PCBsaHNfZXhwcmVzc2lvbjsKQEAgLTE1
NjgsOCArMTQ5OCwxMCBAQCBBc3NlcnRpb25SZXN1bHQgRXFGYWlsdXJlKGNvbnN0IGNoYXIqIGxo
c19leHByZXNzaW9uLAogICB9CiAKICAgaWYgKCFsaHNfdmFsdWUuZW1wdHkoKSAmJiAhcmhzX3Zh
bHVlLmVtcHR5KCkpIHsKLSAgICBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gbGhzX2xp
bmVzID0gU3BsaXRFc2NhcGVkU3RyaW5nKGxoc192YWx1ZSk7Ci0gICAgY29uc3Qgc3RkOjp2ZWN0
b3I8c3RkOjpzdHJpbmc+IHJoc19saW5lcyA9IFNwbGl0RXNjYXBlZFN0cmluZyhyaHNfdmFsdWUp
OworICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBsaHNfbGluZXMgPQorICAgICAg
ICBTcGxpdEVzY2FwZWRTdHJpbmcobGhzX3ZhbHVlKTsKKyAgICBjb25zdCBzdGQ6OnZlY3Rvcjxz
dGQ6OnN0cmluZz4gcmhzX2xpbmVzID0KKyAgICAgICAgU3BsaXRFc2NhcGVkU3RyaW5nKHJoc192
YWx1ZSk7CiAgICAgaWYgKGxoc19saW5lcy5zaXplKCkgPiAxIHx8IHJoc19saW5lcy5zaXplKCkg
PiAxKSB7CiAgICAgICBtc2cgPDwgIlxuV2l0aCBkaWZmOlxuIgogICAgICAgICAgIDw8IGVkaXRf
ZGlzdGFuY2U6OkNyZWF0ZVVuaWZpZWREaWZmKGxoc19saW5lcywgcmhzX2xpbmVzKTsKQEAgLTE1
ODEsNjEgKzE1MTMsNDUgQEAgQXNzZXJ0aW9uUmVzdWx0IEVxRmFpbHVyZShjb25zdCBjaGFyKiBs
aHNfZXhwcmVzc2lvbiwKIAogLy8gQ29uc3RydWN0cyBhIGZhaWx1cmUgbWVzc2FnZSBmb3IgQm9v
bGVhbiBhc3NlcnRpb25zIHN1Y2ggYXMgRVhQRUNUX1RSVUUuCiBzdGQ6OnN0cmluZyBHZXRCb29s
QXNzZXJ0aW9uRmFpbHVyZU1lc3NhZ2UoCi0gICAgY29uc3QgQXNzZXJ0aW9uUmVzdWx0JiBhc3Nl
cnRpb25fcmVzdWx0LCBjb25zdCBjaGFyKiBleHByZXNzaW9uX3RleHQsCi0gICAgY29uc3QgY2hh
ciogYWN0dWFsX3ByZWRpY2F0ZV92YWx1ZSwgY29uc3QgY2hhciogZXhwZWN0ZWRfcHJlZGljYXRl
X3ZhbHVlKSB7CisgICAgY29uc3QgQXNzZXJ0aW9uUmVzdWx0JiBhc3NlcnRpb25fcmVzdWx0LAor
ICAgIGNvbnN0IGNoYXIqIGV4cHJlc3Npb25fdGV4dCwKKyAgICBjb25zdCBjaGFyKiBhY3R1YWxf
cHJlZGljYXRlX3ZhbHVlLAorICAgIGNvbnN0IGNoYXIqIGV4cGVjdGVkX3ByZWRpY2F0ZV92YWx1
ZSkgewogICBjb25zdCBjaGFyKiBhY3R1YWxfbWVzc2FnZSA9IGFzc2VydGlvbl9yZXN1bHQubWVz
c2FnZSgpOwogICBNZXNzYWdlIG1zZzsKICAgbXNnIDw8ICJWYWx1ZSBvZjogIiA8PCBleHByZXNz
aW9uX3RleHQKICAgICAgIDw8ICJcbiAgQWN0dWFsOiAiIDw8IGFjdHVhbF9wcmVkaWNhdGVfdmFs
dWU7Ci0gIGlmIChhY3R1YWxfbWVzc2FnZVswXSAhPSAnXDAnKSBtc2cgPDwgIiAoIiA8PCBhY3R1
YWxfbWVzc2FnZSA8PCAiKSI7CisgIGlmIChhY3R1YWxfbWVzc2FnZVswXSAhPSAnXDAnKQorICAg
IG1zZyA8PCAiICgiIDw8IGFjdHVhbF9tZXNzYWdlIDw8ICIpIjsKICAgbXNnIDw8ICJcbkV4cGVj
dGVkOiAiIDw8IGV4cGVjdGVkX3ByZWRpY2F0ZV92YWx1ZTsKICAgcmV0dXJuIG1zZy5HZXRTdHJp
bmcoKTsKIH0KIAogLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBpbXBsZW1lbnRpbmcgQVNTRVJUX05F
QVIuCi1Bc3NlcnRpb25SZXN1bHQgRG91YmxlTmVhclByZWRGb3JtYXQoY29uc3QgY2hhciogZXhw
cjEsIGNvbnN0IGNoYXIqIGV4cHIyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGNoYXIqIGFic19lcnJvcl9leHByLCBkb3VibGUgdmFsMSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgdmFsMiwgZG91YmxlIGFic19lcnJvcikg
eworQXNzZXJ0aW9uUmVzdWx0IERvdWJsZU5lYXJQcmVkRm9ybWF0KGNvbnN0IGNoYXIqIGV4cHIx
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGV4cHIy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGFic19l
cnJvcl9leHByLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB2
YWwxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB2YWwyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBhYnNfZXJyb3IpIHsK
ICAgY29uc3QgZG91YmxlIGRpZmYgPSBmYWJzKHZhbDEgLSB2YWwyKTsKICAgaWYgKGRpZmYgPD0g
YWJzX2Vycm9yKSByZXR1cm4gQXNzZXJ0aW9uU3VjY2VzcygpOwogCi0gIC8vIEZpbmQgdGhlIHZh
bHVlIHdoaWNoIGlzIGNsb3Nlc3QgdG8gemVyby4KLSAgY29uc3QgZG91YmxlIG1pbl9hYnMgPSBz
dGQ6Om1pbihmYWJzKHZhbDEpLCBmYWJzKHZhbDIpKTsKLSAgLy8gRmluZCB0aGUgZGlzdGFuY2Ug
dG8gdGhlIG5leHQgZG91YmxlIGZyb20gdGhhdCB2YWx1ZS4KLSAgY29uc3QgZG91YmxlIGVwc2ls
b24gPQotICAgICAgbmV4dGFmdGVyKG1pbl9hYnMsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91Ymxl
Pjo6aW5maW5pdHkoKSkgLSBtaW5fYWJzOwotICAvLyBEZXRlY3QgdGhlIGNhc2Ugd2hlcmUgYWJz
X2Vycm9yIGlzIHNvIHNtYWxsIHRoYXQgRVhQRUNUX05FQVIgaXMKLSAgLy8gZWZmZWN0aXZlbHkg
dGhlIHNhbWUgYXMgRVhQRUNUX0VRVUFMLCBhbmQgZ2l2ZSBhbiBpbmZvcm1hdGl2ZSBlcnJvcgot
ICAvLyBtZXNzYWdlIHNvIHRoYXQgdGhlIHNpdHVhdGlvbiBjYW4gYmUgbW9yZSBlYXNpbHkgdW5k
ZXJzdG9vZCB3aXRob3V0Ci0gIC8vIHJlcXVpcmluZyBleG90aWMgZmxvYXRpbmctcG9pbnQga25v
d2xlZGdlLgotICAvLyBEb24ndCBkbyBhbiBlcHNpbG9uIGNoZWNrIGlmIGFic19lcnJvciBpcyB6
ZXJvIGJlY2F1c2UgdGhhdCBpbXBsaWVzCi0gIC8vIHRoYXQgYW4gZXF1YWxpdHkgY2hlY2sgd2Fz
IGFjdHVhbGx5IGludGVuZGVkLgotICBpZiAoIShzdGQ6OmlzbmFuKSh2YWwxKSAmJiAhKHN0ZDo6
aXNuYW4pKHZhbDIpICYmIGFic19lcnJvciA+IDAgJiYKLSAgICAgIGFic19lcnJvciA8IGVwc2ls
b24pIHsKLSAgICByZXR1cm4gQXNzZXJ0aW9uRmFpbHVyZSgpCi0gICAgICAgICAgIDw8ICJUaGUg
ZGlmZmVyZW5jZSBiZXR3ZWVuICIgPDwgZXhwcjEgPDwgIiBhbmQgIiA8PCBleHByMiA8PCAiIGlz
ICIKLSAgICAgICAgICAgPDwgZGlmZiA8PCAiLCB3aGVyZVxuIgotICAgICAgICAgICA8PCBleHBy
MSA8PCAiIGV2YWx1YXRlcyB0byAiIDw8IHZhbDEgPDwgIixcbiIKLSAgICAgICAgICAgPDwgZXhw
cjIgPDwgIiBldmFsdWF0ZXMgdG8gIiA8PCB2YWwyIDw8ICIuXG5UaGUgYWJzX2Vycm9yIHBhcmFt
ZXRlciAiCi0gICAgICAgICAgIDw8IGFic19lcnJvcl9leHByIDw8ICIgZXZhbHVhdGVzIHRvICIg
PDwgYWJzX2Vycm9yCi0gICAgICAgICAgIDw8ICIgd2hpY2ggaXMgc21hbGxlciB0aGFuIHRoZSBt
aW5pbXVtIGRpc3RhbmNlIGJldHdlZW4gZG91YmxlcyBmb3IgIgotICAgICAgICAgICAgICAibnVt
YmVycyBvZiB0aGlzIG1hZ25pdHVkZSB3aGljaCBpcyAiCi0gICAgICAgICAgIDw8IGVwc2lsb24K
LSAgICAgICAgICAgPDwgIiwgdGh1cyBtYWtpbmcgdGhpcyBFWFBFQ1RfTkVBUiBjaGVjayBlcXVp
dmFsZW50IHRvICIKLSAgICAgICAgICAgICAgIkVYUEVDVF9FUVVBTC4gQ29uc2lkZXIgdXNpbmcg
RVhQRUNUX0RPVUJMRV9FUSBpbnN0ZWFkLiI7Ci0gIH0KICAgcmV0dXJuIEFzc2VydGlvbkZhaWx1
cmUoKQotICAgICAgICAgPDwgIlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gIiA8PCBleHByMSA8PCAi
IGFuZCAiIDw8IGV4cHIyIDw8ICIgaXMgIgotICAgICAgICAgPDwgZGlmZiA8PCAiLCB3aGljaCBl
eGNlZWRzICIgPDwgYWJzX2Vycm9yX2V4cHIgPDwgIiwgd2hlcmVcbiIKLSAgICAgICAgIDw8IGV4
cHIxIDw8ICIgZXZhbHVhdGVzIHRvICIgPDwgdmFsMSA8PCAiLFxuIgotICAgICAgICAgPDwgZXhw
cjIgPDwgIiBldmFsdWF0ZXMgdG8gIiA8PCB2YWwyIDw8ICIsIGFuZFxuIgotICAgICAgICAgPDwg
YWJzX2Vycm9yX2V4cHIgPDwgIiBldmFsdWF0ZXMgdG8gIiA8PCBhYnNfZXJyb3IgPDwgIi4iOwor
ICAgICAgPDwgIlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gIiA8PCBleHByMSA8PCAiIGFuZCAiIDw8
IGV4cHIyCisgICAgICA8PCAiIGlzICIgPDwgZGlmZiA8PCAiLCB3aGljaCBleGNlZWRzICIgPDwg
YWJzX2Vycm9yX2V4cHIgPDwgIiwgd2hlcmVcbiIKKyAgICAgIDw8IGV4cHIxIDw8ICIgZXZhbHVh
dGVzIHRvICIgPDwgdmFsMSA8PCAiLFxuIgorICAgICAgPDwgZXhwcjIgPDwgIiBldmFsdWF0ZXMg
dG8gIiA8PCB2YWwyIDw8ICIsIGFuZFxuIgorICAgICAgPDwgYWJzX2Vycm9yX2V4cHIgPDwgIiBl
dmFsdWF0ZXMgdG8gIiA8PCBhYnNfZXJyb3IgPDwgIi4iOwogfQogCisKIC8vIEhlbHBlciB0ZW1w
bGF0ZSBmb3IgaW1wbGVtZW50aW5nIEZsb2F0TEUoKSBhbmQgRG91YmxlTEUoKS4KIHRlbXBsYXRl
IDx0eXBlbmFtZSBSYXdUeXBlPgotQXNzZXJ0aW9uUmVzdWx0IEZsb2F0aW5nUG9pbnRMRShjb25z
dCBjaGFyKiBleHByMSwgY29uc3QgY2hhciogZXhwcjIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJhd1R5cGUgdmFsMSwgUmF3VHlwZSB2YWwyKSB7CitBc3NlcnRpb25SZXN1bHQg
RmxvYXRpbmdQb2ludExFKGNvbnN0IGNoYXIqIGV4cHIxLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBjaGFyKiBleHByMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmF3VHlwZSB2YWwxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSYXdU
eXBlIHZhbDIpIHsKICAgLy8gUmV0dXJucyBzdWNjZXNzIGlmIHZhbDEgaXMgbGVzcyB0aGFuIHZh
bDIsCiAgIGlmICh2YWwxIDwgdmFsMikgewogICAgIHJldHVybiBBc3NlcnRpb25TdWNjZXNzKCk7
CkBAIC0xNjYwLDc2ICsxNTc2LDEzOCBAQCBBc3NlcnRpb25SZXN1bHQgRmxvYXRpbmdQb2ludExF
KGNvbnN0IGNoYXIqIGV4cHIxLCBjb25zdCBjaGFyKiBleHByMiwKICAgICAgICAgICA8PCB2YWwy
OwogCiAgIHJldHVybiBBc3NlcnRpb25GYWlsdXJlKCkKLSAgICAgICAgIDw8ICJFeHBlY3RlZDog
KCIgPDwgZXhwcjEgPDwgIikgPD0gKCIgPDwgZXhwcjIgPDwgIilcbiIKLSAgICAgICAgIDw8ICIg
IEFjdHVhbDogIiA8PCBTdHJpbmdTdHJlYW1Ub1N0cmluZygmdmFsMV9zcykgPDwgIiB2cyAiCi0g
ICAgICAgICA8PCBTdHJpbmdTdHJlYW1Ub1N0cmluZygmdmFsMl9zcyk7CisgICAgICA8PCAiRXhw
ZWN0ZWQ6ICgiIDw8IGV4cHIxIDw8ICIpIDw9ICgiIDw8IGV4cHIyIDw8ICIpXG4iCisgICAgICA8
PCAiICBBY3R1YWw6ICIgPDwgU3RyaW5nU3RyZWFtVG9TdHJpbmcoJnZhbDFfc3MpIDw8ICIgdnMg
IgorICAgICAgPDwgU3RyaW5nU3RyZWFtVG9TdHJpbmcoJnZhbDJfc3MpOwogfQogCiB9ICAvLyBu
YW1lc3BhY2UgaW50ZXJuYWwKIAogLy8gQXNzZXJ0cyB0aGF0IHZhbDEgaXMgbGVzcyB0aGFuLCBv
ciBhbG1vc3QgZXF1YWwgdG8sIHZhbDIuICBGYWlscwogLy8gb3RoZXJ3aXNlLiAgSW4gcGFydGlj
dWxhciwgaXQgZmFpbHMgaWYgZWl0aGVyIHZhbDEgb3IgdmFsMiBpcyBOYU4uCi1Bc3NlcnRpb25S
ZXN1bHQgRmxvYXRMRShjb25zdCBjaGFyKiBleHByMSwgY29uc3QgY2hhciogZXhwcjIsIGZsb2F0
IHZhbDEsCi0gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCB2YWwyKSB7CitBc3NlcnRpb25S
ZXN1bHQgRmxvYXRMRShjb25zdCBjaGFyKiBleHByMSwgY29uc3QgY2hhciogZXhwcjIsCisgICAg
ICAgICAgICAgICAgICAgICAgICBmbG9hdCB2YWwxLCBmbG9hdCB2YWwyKSB7CiAgIHJldHVybiBp
bnRlcm5hbDo6RmxvYXRpbmdQb2ludExFPGZsb2F0PihleHByMSwgZXhwcjIsIHZhbDEsIHZhbDIp
OwogfQogCiAvLyBBc3NlcnRzIHRoYXQgdmFsMSBpcyBsZXNzIHRoYW4sIG9yIGFsbW9zdCBlcXVh
bCB0bywgdmFsMi4gIEZhaWxzCiAvLyBvdGhlcndpc2UuICBJbiBwYXJ0aWN1bGFyLCBpdCBmYWls
cyBpZiBlaXRoZXIgdmFsMSBvciB2YWwyIGlzIE5hTi4KLUFzc2VydGlvblJlc3VsdCBEb3VibGVM
RShjb25zdCBjaGFyKiBleHByMSwgY29uc3QgY2hhciogZXhwcjIsIGRvdWJsZSB2YWwxLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB2YWwyKSB7CitBc3NlcnRpb25SZXN1bHQgRG91
YmxlTEUoY29uc3QgY2hhciogZXhwcjEsIGNvbnN0IGNoYXIqIGV4cHIyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvdWJsZSB2YWwxLCBkb3VibGUgdmFsMikgewogICByZXR1cm4gaW50ZXJu
YWw6OkZsb2F0aW5nUG9pbnRMRTxkb3VibGU+KGV4cHIxLCBleHByMiwgdmFsMSwgdmFsMik7CiB9
CiAKIG5hbWVzcGFjZSBpbnRlcm5hbCB7CiAKKy8vIFRoZSBoZWxwZXIgZnVuY3Rpb24gZm9yIHtB
U1NFUlR8RVhQRUNUfV9FUSB3aXRoIGludCBvciBlbnVtCisvLyBhcmd1bWVudHMuCitBc3NlcnRp
b25SZXN1bHQgQ21wSGVscGVyRVEoY29uc3QgY2hhciogbGhzX2V4cHJlc3Npb24sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzX2V4cHJlc3Npb24sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQmlnZ2VzdEludCBsaHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQmlnZ2VzdEludCByaHMpIHsKKyAgaWYgKGxocyA9PSByaHMpIHsKKyAgICByZXR1
cm4gQXNzZXJ0aW9uU3VjY2VzcygpOworICB9CisKKyAgcmV0dXJuIEVxRmFpbHVyZShsaHNfZXhw
cmVzc2lvbiwKKyAgICAgICAgICAgICAgICAgICByaHNfZXhwcmVzc2lvbiwKKyAgICAgICAgICAg
ICAgICAgICBGb3JtYXRGb3JDb21wYXJpc29uRmFpbHVyZU1lc3NhZ2UobGhzLCByaHMpLAorICAg
ICAgICAgICAgICAgICAgIEZvcm1hdEZvckNvbXBhcmlzb25GYWlsdXJlTWVzc2FnZShyaHMsIGxo
cyksCisgICAgICAgICAgICAgICAgICAgZmFsc2UpOworfQorCisvLyBBIG1hY3JvIGZvciBpbXBs
ZW1lbnRpbmcgdGhlIGhlbHBlciBmdW5jdGlvbnMgbmVlZGVkIHRvIGltcGxlbWVudAorLy8gQVNT
RVJUXz8/IGFuZCBFWFBFQ1RfPz8gd2l0aCBpbnRlZ2VyIG9yIGVudW0gYXJndW1lbnRzLiAgSXQg
aXMgaGVyZQorLy8ganVzdCB0byBhdm9pZCBjb3B5LWFuZC1wYXN0ZSBvZiBzaW1pbGFyIGNvZGUu
CisjZGVmaW5lIEdURVNUX0lNUExfQ01QX0hFTFBFUl8ob3BfbmFtZSwgb3ApXAorQXNzZXJ0aW9u
UmVzdWx0IENtcEhlbHBlciMjb3BfbmFtZShjb25zdCBjaGFyKiBleHByMSwgY29uc3QgY2hhciog
ZXhwcjIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmlnZ2VzdEludCB2
YWwxLCBCaWdnZXN0SW50IHZhbDIpIHtcCisgIGlmICh2YWwxIG9wIHZhbDIpIHtcCisgICAgcmV0
dXJuIEFzc2VydGlvblN1Y2Nlc3MoKTtcCisgIH0gZWxzZSB7XAorICAgIHJldHVybiBBc3NlcnRp
b25GYWlsdXJlKCkgXAorICAgICAgICA8PCAiRXhwZWN0ZWQ6ICgiIDw8IGV4cHIxIDw8ICIpICIg
I29wICIgKCIgPDwgZXhwcjJcCisgICAgICAgIDw8ICIpLCBhY3R1YWw6ICIgPDwgRm9ybWF0Rm9y
Q29tcGFyaXNvbkZhaWx1cmVNZXNzYWdlKHZhbDEsIHZhbDIpXAorICAgICAgICA8PCAiIHZzICIg
PDwgRm9ybWF0Rm9yQ29tcGFyaXNvbkZhaWx1cmVNZXNzYWdlKHZhbDIsIHZhbDEpO1wKKyAgfVwK
K30KKworLy8gSW1wbGVtZW50cyB0aGUgaGVscGVyIGZ1bmN0aW9uIGZvciB7QVNTRVJUfEVYUEVD
VH1fTkUgd2l0aCBpbnQgb3IKKy8vIGVudW0gYXJndW1lbnRzLgorR1RFU1RfSU1QTF9DTVBfSEVM
UEVSXyhORSwgIT0pCisvLyBJbXBsZW1lbnRzIHRoZSBoZWxwZXIgZnVuY3Rpb24gZm9yIHtBU1NF
UlR8RVhQRUNUfV9MRSB3aXRoIGludCBvcgorLy8gZW51bSBhcmd1bWVudHMuCitHVEVTVF9JTVBM
X0NNUF9IRUxQRVJfKExFLCA8PSkKKy8vIEltcGxlbWVudHMgdGhlIGhlbHBlciBmdW5jdGlvbiBm
b3Ige0FTU0VSVHxFWFBFQ1R9X0xUIHdpdGggaW50IG9yCisvLyBlbnVtIGFyZ3VtZW50cy4KK0dU
RVNUX0lNUExfQ01QX0hFTFBFUl8oTFQsIDwgKQorLy8gSW1wbGVtZW50cyB0aGUgaGVscGVyIGZ1
bmN0aW9uIGZvciB7QVNTRVJUfEVYUEVDVH1fR0Ugd2l0aCBpbnQgb3IKKy8vIGVudW0gYXJndW1l
bnRzLgorR1RFU1RfSU1QTF9DTVBfSEVMUEVSXyhHRSwgPj0pCisvLyBJbXBsZW1lbnRzIHRoZSBo
ZWxwZXIgZnVuY3Rpb24gZm9yIHtBU1NFUlR8RVhQRUNUfV9HVCB3aXRoIGludCBvcgorLy8gZW51
bSBhcmd1bWVudHMuCitHVEVTVF9JTVBMX0NNUF9IRUxQRVJfKEdULCA+ICkKKworI3VuZGVmIEdU
RVNUX0lNUExfQ01QX0hFTFBFUl8KKwogLy8gVGhlIGhlbHBlciBmdW5jdGlvbiBmb3Ige0FTU0VS
VHxFWFBFQ1R9X1NUUkVRLgogQXNzZXJ0aW9uUmVzdWx0IENtcEhlbHBlclNUUkVRKGNvbnN0IGNo
YXIqIGxoc19leHByZXNzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqIHJoc19leHByZXNzaW9uLCBjb25zdCBjaGFyKiBsaHMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzX2V4cHJlc3Npb24sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogbGhzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGNoYXIqIHJocykgewogICBpZiAoU3RyaW5nOjpDU3RyaW5nRXF1YWxz
KGxocywgcmhzKSkgewogICAgIHJldHVybiBBc3NlcnRpb25TdWNjZXNzKCk7CiAgIH0KIAotICBy
ZXR1cm4gRXFGYWlsdXJlKGxoc19leHByZXNzaW9uLCByaHNfZXhwcmVzc2lvbiwgUHJpbnRUb1N0
cmluZyhsaHMpLAotICAgICAgICAgICAgICAgICAgIFByaW50VG9TdHJpbmcocmhzKSwgZmFsc2Up
OworICByZXR1cm4gRXFGYWlsdXJlKGxoc19leHByZXNzaW9uLAorICAgICAgICAgICAgICAgICAg
IHJoc19leHByZXNzaW9uLAorICAgICAgICAgICAgICAgICAgIFByaW50VG9TdHJpbmcobGhzKSwK
KyAgICAgICAgICAgICAgICAgICBQcmludFRvU3RyaW5nKHJocyksCisgICAgICAgICAgICAgICAg
ICAgZmFsc2UpOwogfQogCiAvLyBUaGUgaGVscGVyIGZ1bmN0aW9uIGZvciB7QVNTRVJUfEVYUEVD
VH1fU1RSQ0FTRUVRLgogQXNzZXJ0aW9uUmVzdWx0IENtcEhlbHBlclNUUkNBU0VFUShjb25zdCBj
aGFyKiBsaHNfZXhwcmVzc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgY2hhciogcmhzX2V4cHJlc3Npb24sIGNvbnN0IGNoYXIqIGxocywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzX2V4cHJlc3Npb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGxocywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzKSB7CiAgIGlmIChTdHJp
bmc6OkNhc2VJbnNlbnNpdGl2ZUNTdHJpbmdFcXVhbHMobGhzLCByaHMpKSB7CiAgICAgcmV0dXJu
IEFzc2VydGlvblN1Y2Nlc3MoKTsKICAgfQogCi0gIHJldHVybiBFcUZhaWx1cmUobGhzX2V4cHJl
c3Npb24sIHJoc19leHByZXNzaW9uLCBQcmludFRvU3RyaW5nKGxocyksCi0gICAgICAgICAgICAg
ICAgICAgUHJpbnRUb1N0cmluZyhyaHMpLCB0cnVlKTsKKyAgcmV0dXJuIEVxRmFpbHVyZShsaHNf
ZXhwcmVzc2lvbiwKKyAgICAgICAgICAgICAgICAgICByaHNfZXhwcmVzc2lvbiwKKyAgICAgICAg
ICAgICAgICAgICBQcmludFRvU3RyaW5nKGxocyksCisgICAgICAgICAgICAgICAgICAgUHJpbnRU
b1N0cmluZyhyaHMpLAorICAgICAgICAgICAgICAgICAgIHRydWUpOwogfQogCiAvLyBUaGUgaGVs
cGVyIGZ1bmN0aW9uIGZvciB7QVNTRVJUfEVYUEVDVH1fU1RSTkUuCiBBc3NlcnRpb25SZXN1bHQg
Q21wSGVscGVyU1RSTkUoY29uc3QgY2hhciogczFfZXhwcmVzc2lvbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBzMl9leHByZXNzaW9uLCBjb25zdCBjaGFyKiBz
MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBzMl9leHByZXNz
aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHMxLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHMyKSB7CiAgIGlmICghU3Ry
aW5nOjpDU3RyaW5nRXF1YWxzKHMxLCBzMikpIHsKICAgICByZXR1cm4gQXNzZXJ0aW9uU3VjY2Vz
cygpOwogICB9IGVsc2UgewotICAgIHJldHVybiBBc3NlcnRpb25GYWlsdXJlKCkKLSAgICAgICAg
ICAgPDwgIkV4cGVjdGVkOiAoIiA8PCBzMV9leHByZXNzaW9uIDw8ICIpICE9ICgiIDw8IHMyX2V4
cHJlc3Npb24KLSAgICAgICAgICAgPDwgIiksIGFjdHVhbDogXCIiIDw8IHMxIDw8ICJcIiB2cyBc
IiIgPDwgczIgPDwgIlwiIjsKKyAgICByZXR1cm4gQXNzZXJ0aW9uRmFpbHVyZSgpIDw8ICJFeHBl
Y3RlZDogKCIgPDwgczFfZXhwcmVzc2lvbiA8PCAiKSAhPSAoIgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPDwgczJfZXhwcmVzc2lvbiA8PCAiKSwgYWN0dWFsOiBcIiIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDw8IHMxIDw8ICJcIiB2cyBcIiIgPDwgczIgPDwgIlwiIjsK
ICAgfQogfQogCiAvLyBUaGUgaGVscGVyIGZ1bmN0aW9uIGZvciB7QVNTRVJUfEVYUEVDVH1fU1RS
Q0FTRU5FLgogQXNzZXJ0aW9uUmVzdWx0IENtcEhlbHBlclNUUkNBU0VORShjb25zdCBjaGFyKiBz
MV9leHByZXNzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiBzMl9leHByZXNzaW9uLCBjb25zdCBjaGFyKiBzMSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgY2hhciogczJfZXhwcmVzc2lvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogczEsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHMyKSB7CiAgIGlmICghU3RyaW5nOjpDYXNlSW5z
ZW5zaXRpdmVDU3RyaW5nRXF1YWxzKHMxLCBzMikpIHsKICAgICByZXR1cm4gQXNzZXJ0aW9uU3Vj
Y2VzcygpOwogICB9IGVsc2UgewogICAgIHJldHVybiBBc3NlcnRpb25GYWlsdXJlKCkKLSAgICAg
ICAgICAgPDwgIkV4cGVjdGVkOiAoIiA8PCBzMV9leHByZXNzaW9uIDw8ICIpICE9ICgiIDw8IHMy
X2V4cHJlc3Npb24KLSAgICAgICAgICAgPDwgIikgKGlnbm9yaW5nIGNhc2UpLCBhY3R1YWw6IFwi
IiA8PCBzMSA8PCAiXCIgdnMgXCIiIDw8IHMyIDw8ICJcIiI7CisgICAgICAgIDw8ICJFeHBlY3Rl
ZDogKCIgPDwgczFfZXhwcmVzc2lvbiA8PCAiKSAhPSAoIgorICAgICAgICA8PCBzMl9leHByZXNz
aW9uIDw8ICIpIChpZ25vcmluZyBjYXNlKSwgYWN0dWFsOiBcIiIKKyAgICAgICAgPDwgczEgPDwg
IlwiIHZzIFwiIiA8PCBzMiA8PCAiXCIiOwogICB9CiB9CiAKQEAgLTE3NTcsNyArMTczNSw4IEBA
IGJvb2wgSXNTdWJzdHJpbmdQcmVkKGNvbnN0IHdjaGFyX3QqIG5lZWRsZSwgY29uc3Qgd2NoYXJf
dCogaGF5c3RhY2spIHsKIAogLy8gU3RyaW5nVHlwZSBoZXJlIGNhbiBiZSBlaXRoZXIgOjpzdGQ6
OnN0cmluZyBvciA6OnN0ZDo6d3N0cmluZy4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdHJpbmdUeXBl
PgotYm9vbCBJc1N1YnN0cmluZ1ByZWQoY29uc3QgU3RyaW5nVHlwZSYgbmVlZGxlLCBjb25zdCBT
dHJpbmdUeXBlJiBoYXlzdGFjaykgeworYm9vbCBJc1N1YnN0cmluZ1ByZWQoY29uc3QgU3RyaW5n
VHlwZSYgbmVlZGxlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nVHlwZSYgaGF5
c3RhY2spIHsKICAgcmV0dXJuIGhheXN0YWNrLmZpbmQobmVlZGxlKSAhPSBTdHJpbmdUeXBlOjpu
cG9zOwogfQogCkBAIC0xNzY2LDIyICsxNzQ1LDIxIEBAIGJvb2wgSXNTdWJzdHJpbmdQcmVkKGNv
bnN0IFN0cmluZ1R5cGUmIG5lZWRsZSwgY29uc3QgU3RyaW5nVHlwZSYgaGF5c3RhY2spIHsKIC8v
IFN0cmluZ1R5cGUgaGVyZSBjYW4gYmUgY29uc3QgY2hhciosIGNvbnN0IHdjaGFyX3QqLCA6OnN0
ZDo6c3RyaW5nLAogLy8gb3IgOjpzdGQ6OndzdHJpbmcuCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3Ry
aW5nVHlwZT4KLUFzc2VydGlvblJlc3VsdCBJc1N1YnN0cmluZ0ltcGwoYm9vbCBleHBlY3RlZF90
b19iZV9zdWJzdHJpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIqIG5lZWRsZV9leHByLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiBoYXlzdGFja19leHByLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTdHJpbmdUeXBlJiBuZWVkbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFN0cmluZ1R5cGUmIGhheXN0YWNrKSB7CitBc3NlcnRpb25SZXN1bHQgSXNTdWJzdHJpbmdJ
bXBsKAorICAgIGJvb2wgZXhwZWN0ZWRfdG9fYmVfc3Vic3RyaW5nLAorICAgIGNvbnN0IGNoYXIq
IG5lZWRsZV9leHByLCBjb25zdCBjaGFyKiBoYXlzdGFja19leHByLAorICAgIGNvbnN0IFN0cmlu
Z1R5cGUmIG5lZWRsZSwgY29uc3QgU3RyaW5nVHlwZSYgaGF5c3RhY2spIHsKICAgaWYgKElzU3Vi
c3RyaW5nUHJlZChuZWVkbGUsIGhheXN0YWNrKSA9PSBleHBlY3RlZF90b19iZV9zdWJzdHJpbmcp
CiAgICAgcmV0dXJuIEFzc2VydGlvblN1Y2Nlc3MoKTsKIAogICBjb25zdCBib29sIGlzX3dpZGVf
c3RyaW5nID0gc2l6ZW9mKG5lZWRsZVswXSkgPiAxOwogICBjb25zdCBjaGFyKiBjb25zdCBiZWdp
bl9zdHJpbmdfcXVvdGUgPSBpc193aWRlX3N0cmluZyA/ICJMXCIiIDogIlwiIjsKICAgcmV0dXJu
IEFzc2VydGlvbkZhaWx1cmUoKQotICAgICAgICAgPDwgIlZhbHVlIG9mOiAiIDw8IG5lZWRsZV9l
eHByIDw8ICJcbiIKLSAgICAgICAgIDw8ICIgIEFjdHVhbDogIiA8PCBiZWdpbl9zdHJpbmdfcXVv
dGUgPDwgbmVlZGxlIDw8ICJcIlxuIgotICAgICAgICAgPDwgIkV4cGVjdGVkOiAiIDw8IChleHBl
Y3RlZF90b19iZV9zdWJzdHJpbmcgPyAiIiA6ICJub3QgIikKLSAgICAgICAgIDw8ICJhIHN1YnN0
cmluZyBvZiAiIDw8IGhheXN0YWNrX2V4cHIgPDwgIlxuIgotICAgICAgICAgPDwgIldoaWNoIGlz
OiAiIDw8IGJlZ2luX3N0cmluZ19xdW90ZSA8PCBoYXlzdGFjayA8PCAiXCIiOworICAgICAgPDwg
IlZhbHVlIG9mOiAiIDw8IG5lZWRsZV9leHByIDw8ICJcbiIKKyAgICAgIDw8ICIgIEFjdHVhbDog
IiA8PCBiZWdpbl9zdHJpbmdfcXVvdGUgPDwgbmVlZGxlIDw8ICJcIlxuIgorICAgICAgPDwgIkV4
cGVjdGVkOiAiIDw8IChleHBlY3RlZF90b19iZV9zdWJzdHJpbmcgPyAiIiA6ICJub3QgIikKKyAg
ICAgIDw8ICJhIHN1YnN0cmluZyBvZiAiIDw8IGhheXN0YWNrX2V4cHIgPDwgIlxuIgorICAgICAg
PDwgIldoaWNoIGlzOiAiIDw8IGJlZ2luX3N0cmluZ19xdW90ZSA8PCBoYXlzdGFjayA8PCAiXCIi
OwogfQogCiB9ICAvLyBuYW1lc3BhY2UKQEAgLTE3OTAsNTIgKzE3NjgsNTIgQEAgQXNzZXJ0aW9u
UmVzdWx0IElzU3Vic3RyaW5nSW1wbChib29sIGV4cGVjdGVkX3RvX2JlX3N1YnN0cmluZywKIC8v
IHN1YnN0cmluZyBvZiBoYXlzdGFjayAoTlVMTCBpcyBjb25zaWRlcmVkIGEgc3Vic3RyaW5nIG9m
IGl0c2VsZgogLy8gb25seSksIGFuZCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgZXJyb3IgbWVzc2Fn
ZSB3aGVuIHRoZXkgZmFpbC4KIAotQXNzZXJ0aW9uUmVzdWx0IElzU3Vic3RyaW5nKGNvbnN0IGNo
YXIqIG5lZWRsZV9leHByLCBjb25zdCBjaGFyKiBoYXlzdGFja19leHByLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5lZWRsZSwgY29uc3QgY2hhciogaGF5c3RhY2sp
IHsKK0Fzc2VydGlvblJlc3VsdCBJc1N1YnN0cmluZygKKyAgICBjb25zdCBjaGFyKiBuZWVkbGVf
ZXhwciwgY29uc3QgY2hhciogaGF5c3RhY2tfZXhwciwKKyAgICBjb25zdCBjaGFyKiBuZWVkbGUs
IGNvbnN0IGNoYXIqIGhheXN0YWNrKSB7CiAgIHJldHVybiBJc1N1YnN0cmluZ0ltcGwodHJ1ZSwg
bmVlZGxlX2V4cHIsIGhheXN0YWNrX2V4cHIsIG5lZWRsZSwgaGF5c3RhY2spOwogfQogCi1Bc3Nl
cnRpb25SZXN1bHQgSXNTdWJzdHJpbmcoY29uc3QgY2hhciogbmVlZGxlX2V4cHIsIGNvbnN0IGNo
YXIqIGhheXN0YWNrX2V4cHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2No
YXJfdCogbmVlZGxlLCBjb25zdCB3Y2hhcl90KiBoYXlzdGFjaykgeworQXNzZXJ0aW9uUmVzdWx0
IElzU3Vic3RyaW5nKAorICAgIGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLCBjb25zdCBjaGFyKiBo
YXlzdGFja19leHByLAorICAgIGNvbnN0IHdjaGFyX3QqIG5lZWRsZSwgY29uc3Qgd2NoYXJfdCog
aGF5c3RhY2spIHsKICAgcmV0dXJuIElzU3Vic3RyaW5nSW1wbCh0cnVlLCBuZWVkbGVfZXhwciwg
aGF5c3RhY2tfZXhwciwgbmVlZGxlLCBoYXlzdGFjayk7CiB9CiAKLUFzc2VydGlvblJlc3VsdCBJ
c05vdFN1YnN0cmluZyhjb25zdCBjaGFyKiBuZWVkbGVfZXhwciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBjaGFyKiBoYXlzdGFja19leHByLCBjb25zdCBjaGFyKiBuZWVk
bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogaGF5c3RhY2sp
IHsKK0Fzc2VydGlvblJlc3VsdCBJc05vdFN1YnN0cmluZygKKyAgICBjb25zdCBjaGFyKiBuZWVk
bGVfZXhwciwgY29uc3QgY2hhciogaGF5c3RhY2tfZXhwciwKKyAgICBjb25zdCBjaGFyKiBuZWVk
bGUsIGNvbnN0IGNoYXIqIGhheXN0YWNrKSB7CiAgIHJldHVybiBJc1N1YnN0cmluZ0ltcGwoZmFs
c2UsIG5lZWRsZV9leHByLCBoYXlzdGFja19leHByLCBuZWVkbGUsIGhheXN0YWNrKTsKIH0KIAot
QXNzZXJ0aW9uUmVzdWx0IElzTm90U3Vic3RyaW5nKGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIs
IGNvbnN0IHdjaGFyX3QqIG5lZWRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB3Y2hhcl90KiBoYXlzdGFjaykgeworQXNzZXJ0aW9uUmVzdWx0IElzTm90U3Vic3RyaW5n
KAorICAgIGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLCBjb25zdCBjaGFyKiBoYXlzdGFja19leHBy
LAorICAgIGNvbnN0IHdjaGFyX3QqIG5lZWRsZSwgY29uc3Qgd2NoYXJfdCogaGF5c3RhY2spIHsK
ICAgcmV0dXJuIElzU3Vic3RyaW5nSW1wbChmYWxzZSwgbmVlZGxlX2V4cHIsIGhheXN0YWNrX2V4
cHIsIG5lZWRsZSwgaGF5c3RhY2spOwogfQogCi1Bc3NlcnRpb25SZXN1bHQgSXNTdWJzdHJpbmco
Y29uc3QgY2hhciogbmVlZGxlX2V4cHIsIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjpzdGQ6OnN0cmluZyYgbmVlZGxlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDo6c3RkOjpzdHJpbmcmIGhheXN0YWNrKSB7
CitBc3NlcnRpb25SZXN1bHQgSXNTdWJzdHJpbmcoCisgICAgY29uc3QgY2hhciogbmVlZGxlX2V4
cHIsIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIsCisgICAgY29uc3QgOjpzdGQ6OnN0cmluZyYg
bmVlZGxlLCBjb25zdCA6OnN0ZDo6c3RyaW5nJiBoYXlzdGFjaykgewogICByZXR1cm4gSXNTdWJz
dHJpbmdJbXBsKHRydWUsIG5lZWRsZV9leHByLCBoYXlzdGFja19leHByLCBuZWVkbGUsIGhheXN0
YWNrKTsKIH0KIAotQXNzZXJ0aW9uUmVzdWx0IElzTm90U3Vic3RyaW5nKGNvbnN0IGNoYXIqIG5l
ZWRsZV9leHByLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGhh
eXN0YWNrX2V4cHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjpzdGQ6
OnN0cmluZyYgbmVlZGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDo6
c3RkOjpzdHJpbmcmIGhheXN0YWNrKSB7CitBc3NlcnRpb25SZXN1bHQgSXNOb3RTdWJzdHJpbmco
CisgICAgY29uc3QgY2hhciogbmVlZGxlX2V4cHIsIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIs
CisgICAgY29uc3QgOjpzdGQ6OnN0cmluZyYgbmVlZGxlLCBjb25zdCA6OnN0ZDo6c3RyaW5nJiBo
YXlzdGFjaykgewogICByZXR1cm4gSXNTdWJzdHJpbmdJbXBsKGZhbHNlLCBuZWVkbGVfZXhwciwg
aGF5c3RhY2tfZXhwciwgbmVlZGxlLCBoYXlzdGFjayk7CiB9CiAKICNpZiBHVEVTVF9IQVNfU1RE
X1dTVFJJTkcKLUFzc2VydGlvblJlc3VsdCBJc1N1YnN0cmluZyhjb25zdCBjaGFyKiBuZWVkbGVf
ZXhwciwgY29uc3QgY2hhciogaGF5c3RhY2tfZXhwciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCA6OnN0ZDo6d3N0cmluZyYgbmVlZGxlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IDo6c3RkOjp3c3RyaW5nJiBoYXlzdGFjaykgeworQXNzZXJ0aW9uUmVzdWx0
IElzU3Vic3RyaW5nKAorICAgIGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLCBjb25zdCBjaGFyKiBo
YXlzdGFja19leHByLAorICAgIGNvbnN0IDo6c3RkOjp3c3RyaW5nJiBuZWVkbGUsIGNvbnN0IDo6
c3RkOjp3c3RyaW5nJiBoYXlzdGFjaykgewogICByZXR1cm4gSXNTdWJzdHJpbmdJbXBsKHRydWUs
IG5lZWRsZV9leHByLCBoYXlzdGFja19leHByLCBuZWVkbGUsIGhheXN0YWNrKTsKIH0KIAotQXNz
ZXJ0aW9uUmVzdWx0IElzTm90U3Vic3RyaW5nKGNvbnN0IGNoYXIqIG5lZWRsZV9leHByLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGhheXN0YWNrX2V4cHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjpzdGQ6OndzdHJpbmcmIG5lZWRs
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA6OnN0ZDo6d3N0cmluZyYg
aGF5c3RhY2spIHsKK0Fzc2VydGlvblJlc3VsdCBJc05vdFN1YnN0cmluZygKKyAgICBjb25zdCBj
aGFyKiBuZWVkbGVfZXhwciwgY29uc3QgY2hhciogaGF5c3RhY2tfZXhwciwKKyAgICBjb25zdCA6
OnN0ZDo6d3N0cmluZyYgbmVlZGxlLCBjb25zdCA6OnN0ZDo6d3N0cmluZyYgaGF5c3RhY2spIHsK
ICAgcmV0dXJuIElzU3Vic3RyaW5nSW1wbChmYWxzZSwgbmVlZGxlX2V4cHIsIGhheXN0YWNrX2V4
cHIsIG5lZWRsZSwgaGF5c3RhY2spOwogfQogI2VuZGlmICAvLyBHVEVTVF9IQVNfU1REX1dTVFJJ
TkcKQEAgLTE4NDcsNDIgKzE4MjUsNDMgQEAgbmFtZXNwYWNlIGludGVybmFsIHsKIG5hbWVzcGFj
ZSB7CiAKIC8vIEhlbHBlciBmdW5jdGlvbiBmb3IgSXNIUkVTVUxUe1N1Y2Nlc3NGYWlsdXJlfSBw
cmVkaWNhdGVzCi1Bc3NlcnRpb25SZXN1bHQgSFJFU1VMVEZhaWx1cmVIZWxwZXIoY29uc3QgY2hh
ciogZXhwciwgY29uc3QgY2hhciogZXhwZWN0ZWQsCitBc3NlcnRpb25SZXN1bHQgSFJFU1VMVEZh
aWx1cmVIZWxwZXIoY29uc3QgY2hhciogZXhwciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBjaGFyKiBleHBlY3RlZCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb25nIGhyKSB7ICAvLyBOT0xJTlQKLSNpZiBHVEVTVF9PU19XSU5ET1dT
X01PQklMRSB8fCBHVEVTVF9PU19XSU5ET1dTX1RWX1RJVExFCisjIGlmIEdURVNUX09TX1dJTkRP
V1NfTU9CSUxFIHx8IEdURVNUX09TX1dJTkRPV1NfVFZfVElUTEUKIAogICAvLyBXaW5kb3dzIENF
IGRvZXNuJ3Qgc3VwcG9ydCBGb3JtYXRNZXNzYWdlLgogICBjb25zdCBjaGFyIGVycm9yX3RleHRb
XSA9ICIiOwogCi0jZWxzZQorIyBlbHNlCiAKICAgLy8gTG9va3MgdXAgdGhlIGh1bWFuLXJlYWRh
YmxlIHN5c3RlbSBtZXNzYWdlIGZvciB0aGUgSFJFU1VMVCBjb2RlCiAgIC8vIGFuZCBzaW5jZSB3
ZSdyZSBub3QgcGFzc2luZyBhbnkgcGFyYW1zIHRvIEZvcm1hdE1lc3NhZ2UsIHdlIGRvbid0CiAg
IC8vIHdhbnQgaW5zZXJ0cyBleHBhbmRlZC4KLSAgY29uc3QgRFdPUkQga0ZsYWdzID0KLSAgICAg
IEZPUk1BVF9NRVNTQUdFX0ZST01fU1lTVEVNIHwgRk9STUFUX01FU1NBR0VfSUdOT1JFX0lOU0VS
VFM7CisgIGNvbnN0IERXT1JEIGtGbGFncyA9IEZPUk1BVF9NRVNTQUdFX0ZST01fU1lTVEVNIHwK
KyAgICAgICAgICAgICAgICAgICAgICAgRk9STUFUX01FU1NBR0VfSUdOT1JFX0lOU0VSVFM7CiAg
IGNvbnN0IERXT1JEIGtCdWZTaXplID0gNDA5NjsKICAgLy8gR2V0cyB0aGUgc3lzdGVtJ3MgaHVt
YW4gcmVhZGFibGUgbWVzc2FnZSBzdHJpbmcgZm9yIHRoaXMgSFJFU1VMVC4KLSAgY2hhciBlcnJv
cl90ZXh0W2tCdWZTaXplXSA9IHsnXDAnfTsKKyAgY2hhciBlcnJvcl90ZXh0W2tCdWZTaXplXSA9
IHsgJ1wwJyB9OwogICBEV09SRCBtZXNzYWdlX2xlbmd0aCA9IDo6Rm9ybWF0TWVzc2FnZUEoa0Zs
YWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgIC8vIG5v
IHNvdXJjZSwgd2UncmUgYXNraW5nIHN5c3RlbQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMCwgICAvLyBubyBzb3VyY2UsIHdlJ3JlIGFza2luZyBzeXN0ZW0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PERXT1JE
PihociksICAvLyB0aGUgZXJyb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDAsICAvLyBubyBsaW5lIHdpZHRoIHJlc3RyaWN0aW9ucworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAvLyBubyBsaW5lIHdpZHRoIHJlc3RyaWN0
aW9ucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfdGV4
dCwgIC8vIG91dHB1dCBidWZmZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGtCdWZTaXplLCAgICAvLyBidWYgc2l6ZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbnVsbHB0cik7ICAvLyBubyBhcmd1bWVudHMgZm9yIGluc2VydHMK
ICAgLy8gVHJpbXMgdGFpbGluZyB3aGl0ZSBzcGFjZSAoRm9ybWF0TWVzc2FnZSBsZWF2ZXMgYSB0
cmFpbGluZyBDUi1MRikKICAgZm9yICg7IG1lc3NhZ2VfbGVuZ3RoICYmIElzU3BhY2UoZXJyb3Jf
dGV4dFttZXNzYWdlX2xlbmd0aCAtIDFdKTsKLSAgICAgICAtLW1lc3NhZ2VfbGVuZ3RoKSB7Cisg
ICAgICAgICAgLS1tZXNzYWdlX2xlbmd0aCkgewogICAgIGVycm9yX3RleHRbbWVzc2FnZV9sZW5n
dGggLSAxXSA9ICdcMCc7CiAgIH0KIAotI2VuZGlmICAvLyBHVEVTVF9PU19XSU5ET1dTX01PQklM
RQorIyBlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKIAogICBjb25zdCBzdGQ6OnN0
cmluZyBlcnJvcl9oZXgoIjB4IiArIFN0cmluZzo6Rm9ybWF0SGV4SW50KGhyKSk7CiAgIHJldHVy
biA6OnRlc3Rpbmc6OkFzc2VydGlvbkZhaWx1cmUoKQotICAgICAgICAgPDwgIkV4cGVjdGVkOiAi
IDw8IGV4cHIgPDwgIiAiIDw8IGV4cGVjdGVkIDw8ICIuXG4iCi0gICAgICAgICA8PCAiICBBY3R1
YWw6ICIgPDwgZXJyb3JfaGV4IDw8ICIgIiA8PCBlcnJvcl90ZXh0IDw8ICJcbiI7CisgICAgICA8
PCAiRXhwZWN0ZWQ6ICIgPDwgZXhwciA8PCAiICIgPDwgZXhwZWN0ZWQgPDwgIi5cbiIKKyAgICAg
IDw8ICIgIEFjdHVhbDogIiA8PCBlcnJvcl9oZXggPDwgIiAiIDw8IGVycm9yX3RleHQgPDwgIlxu
IjsKIH0KIAogfSAgLy8gbmFtZXNwYWNlCkBAIC0xOTE2LDE4ICsxODk1LDE2IEBAIEFzc2VydGlv
blJlc3VsdCBJc0hSRVNVTFRGYWlsdXJlKGNvbnN0IGNoYXIqIGV4cHIsIGxvbmcgaHIpIHsgIC8v
IE5PTElOVAogLy8gIDE3IC0gMjEgYml0cyAgICAgICAxMTExMHh4eCAxMHh4eHh4eCAxMHh4eHh4
eCAxMHh4eHh4eAogCiAvLyBUaGUgbWF4aW11bSBjb2RlLXBvaW50IGEgb25lLWJ5dGUgVVRGLTgg
c2VxdWVuY2UgY2FuIHJlcHJlc2VudC4KLWNvbnN0ZXhwciB1aW50MzJfdCBrTWF4Q29kZVBvaW50
MSA9IChzdGF0aWNfY2FzdDx1aW50MzJfdD4oMSkgPDwgNykgLSAxOworY29uc3RleHByIHVpbnQz
Ml90IGtNYXhDb2RlUG9pbnQxID0gKHN0YXRpY19jYXN0PHVpbnQzMl90PigxKSA8PCAgNykgLSAx
OwogCiAvLyBUaGUgbWF4aW11bSBjb2RlLXBvaW50IGEgdHdvLWJ5dGUgVVRGLTggc2VxdWVuY2Ug
Y2FuIHJlcHJlc2VudC4KIGNvbnN0ZXhwciB1aW50MzJfdCBrTWF4Q29kZVBvaW50MiA9IChzdGF0
aWNfY2FzdDx1aW50MzJfdD4oMSkgPDwgKDUgKyA2KSkgLSAxOwogCiAvLyBUaGUgbWF4aW11bSBj
b2RlLXBvaW50IGEgdGhyZWUtYnl0ZSBVVEYtOCBzZXF1ZW5jZSBjYW4gcmVwcmVzZW50LgotY29u
c3RleHByIHVpbnQzMl90IGtNYXhDb2RlUG9pbnQzID0KLSAgICAoc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KDEpIDw8ICg0ICsgMiAqIDYpKSAtIDE7Citjb25zdGV4cHIgdWludDMyX3Qga01heENvZGVQ
b2ludDMgPSAoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KDEpIDw8ICg0ICsgMio2KSkgLSAxOwogCiAv
LyBUaGUgbWF4aW11bSBjb2RlLXBvaW50IGEgZm91ci1ieXRlIFVURi04IHNlcXVlbmNlIGNhbiBy
ZXByZXNlbnQuCi1jb25zdGV4cHIgdWludDMyX3Qga01heENvZGVQb2ludDQgPQotICAgIChzdGF0
aWNfY2FzdDx1aW50MzJfdD4oMSkgPDwgKDMgKyAzICogNikpIC0gMTsKK2NvbnN0ZXhwciB1aW50
MzJfdCBrTWF4Q29kZVBvaW50NCA9IChzdGF0aWNfY2FzdDx1aW50MzJfdD4oMSkgPDwgKDMgKyAz
KjYpKSAtIDE7CiAKIC8vIENob3BzIG9mZiB0aGUgbiBsb3dlc3QgYml0cyBmcm9tIGEgYml0IHBh
dHRlcm4uICBSZXR1cm5zIHRoZSBuCiAvLyBsb3dlc3QgYml0cy4gIEFzIGEgc2lkZSBlZmZlY3Qs
IHRoZSBvcmlnaW5hbCBiaXQgcGF0dGVybiB3aWxsIGJlCkBAIC0xOTUyLDcgKzE5MjksNyBAQCBz
dGQ6OnN0cmluZyBDb2RlUG9pbnRUb1V0ZjgodWludDMyX3QgY29kZV9wb2ludCkgewogICBjaGFy
IHN0cls1XTsgIC8vIEJpZyBlbm91Z2ggZm9yIHRoZSBsYXJnZXN0IHZhbGlkIGNvZGUgcG9pbnQu
CiAgIGlmIChjb2RlX3BvaW50IDw9IGtNYXhDb2RlUG9pbnQxKSB7CiAgICAgc3RyWzFdID0gJ1ww
JzsKLSAgICBzdHJbMF0gPSBzdGF0aWNfY2FzdDxjaGFyPihjb2RlX3BvaW50KTsgIC8vIDB4eHh4
eHh4CisgICAgc3RyWzBdID0gc3RhdGljX2Nhc3Q8Y2hhcj4oY29kZV9wb2ludCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAweHh4eHh4eAogICB9IGVsc2UgaWYgKGNvZGVfcG9pbnQgPD0g
a01heENvZGVQb2ludDIpIHsKICAgICBzdHJbMl0gPSAnXDAnOwogICAgIHN0clsxXSA9IHN0YXRp
Y19jYXN0PGNoYXI+KDB4ODAgfCBDaG9wTG93Qml0cygmY29kZV9wb2ludCwgNikpOyAgLy8gMTB4
eHh4eHgKQEAgLTE5ODAsOCArMTk1Nyw4IEBAIHN0ZDo6c3RyaW5nIENvZGVQb2ludFRvVXRmOCh1
aW50MzJfdCBjb2RlX3BvaW50KSB7CiAvLyBhbmQgdGh1cyBzaG91bGQgYmUgY29tYmluZWQgaW50
byBhIHNpbmdsZSBVbmljb2RlIGNvZGUgcG9pbnQKIC8vIHVzaW5nIENyZWF0ZUNvZGVQb2ludEZy
b21VdGYxNlN1cnJvZ2F0ZVBhaXIuCiBpbmxpbmUgYm9vbCBJc1V0ZjE2U3Vycm9nYXRlUGFpcih3
Y2hhcl90IGZpcnN0LCB3Y2hhcl90IHNlY29uZCkgewotICByZXR1cm4gc2l6ZW9mKHdjaGFyX3Qp
ID09IDIgJiYgKGZpcnN0ICYgMHhGQzAwKSA9PSAweEQ4MDAgJiYKLSAgICAgICAgIChzZWNvbmQg
JiAweEZDMDApID09IDB4REMwMDsKKyAgcmV0dXJuIHNpemVvZih3Y2hhcl90KSA9PSAyICYmCisg
ICAgICAoZmlyc3QgJiAweEZDMDApID09IDB4RDgwMCAmJiAoc2Vjb25kICYgMHhGQzAwKSA9PSAw
eERDMDA7CiB9CiAKIC8vIENyZWF0ZXMgYSBVbmljb2RlIGNvZGUgcG9pbnQgZnJvbSBVVEYxNiBz
dXJyb2dhdGUgcGFpci4KQEAgLTIwMTIsNyArMTk4OSw4IEBAIGlubGluZSB1aW50MzJfdCBDcmVh
dGVDb2RlUG9pbnRGcm9tVXRmMTZTdXJyb2dhdGVQYWlyKHdjaGFyX3QgZmlyc3QsCiAvLyBhbmQg
Y29udGFpbnMgaW52YWxpZCBVVEYtMTYgc3Vycm9nYXRlIHBhaXJzLCB2YWx1ZXMgaW4gdGhvc2Ug
cGFpcnMKIC8vIHdpbGwgYmUgZW5jb2RlZCBhcyBpbmRpdmlkdWFsIFVuaWNvZGUgY2hhcmFjdGVy
cyBmcm9tIEJhc2ljIE5vcm1hbCBQbGFuZS4KIHN0ZDo6c3RyaW5nIFdpZGVTdHJpbmdUb1V0Zjgo
Y29uc3Qgd2NoYXJfdCogc3RyLCBpbnQgbnVtX2NoYXJzKSB7Ci0gIGlmIChudW1fY2hhcnMgPT0g
LTEpIG51bV9jaGFycyA9IHN0YXRpY19jYXN0PGludD4od2NzbGVuKHN0cikpOworICBpZiAobnVt
X2NoYXJzID09IC0xKQorICAgIG51bV9jaGFycyA9IHN0YXRpY19jYXN0PGludD4od2NzbGVuKHN0
cikpOwogCiAgIDo6c3RkOjpzdHJpbmdzdHJlYW0gc3RyZWFtOwogICBmb3IgKGludCBpID0gMDsg
aSA8IG51bV9jaGFyczsgKytpKSB7CkBAIC0yMDIxLDggKzE5OTksOCBAQCBzdGQ6OnN0cmluZyBX
aWRlU3RyaW5nVG9VdGY4KGNvbnN0IHdjaGFyX3QqIHN0ciwgaW50IG51bV9jaGFycykgewogICAg
IGlmIChzdHJbaV0gPT0gTCdcMCcpIHsKICAgICAgIGJyZWFrOwogICAgIH0gZWxzZSBpZiAoaSAr
IDEgPCBudW1fY2hhcnMgJiYgSXNVdGYxNlN1cnJvZ2F0ZVBhaXIoc3RyW2ldLCBzdHJbaSArIDFd
KSkgewotICAgICAgdW5pY29kZV9jb2RlX3BvaW50ID0KLSAgICAgICAgICBDcmVhdGVDb2RlUG9p
bnRGcm9tVXRmMTZTdXJyb2dhdGVQYWlyKHN0cltpXSwgc3RyW2kgKyAxXSk7CisgICAgICB1bmlj
b2RlX2NvZGVfcG9pbnQgPSBDcmVhdGVDb2RlUG9pbnRGcm9tVXRmMTZTdXJyb2dhdGVQYWlyKHN0
cltpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RyW2kgKyAxXSk7CiAgICAgICBpKys7CiAgICAgfSBlbHNlIHsKICAg
ICAgIHVuaWNvZGVfY29kZV9wb2ludCA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihzdHJbaV0pOwpA
QCAtMjAzNSw3ICsyMDEzLDcgQEAgc3RkOjpzdHJpbmcgV2lkZVN0cmluZ1RvVXRmOChjb25zdCB3
Y2hhcl90KiBzdHIsIGludCBudW1fY2hhcnMpIHsKIAogLy8gQ29udmVydHMgYSB3aWRlIEMgc3Ry
aW5nIHRvIGFuIHN0ZDo6c3RyaW5nIHVzaW5nIHRoZSBVVEYtOCBlbmNvZGluZy4KIC8vIE5VTEwg
d2lsbCBiZSBjb252ZXJ0ZWQgdG8gIihudWxsKSIuCi1zdGQ6OnN0cmluZyBTdHJpbmc6OlNob3dX
aWRlQ1N0cmluZyhjb25zdCB3Y2hhcl90KiB3aWRlX2Nfc3RyKSB7CitzdGQ6OnN0cmluZyBTdHJp
bmc6OlNob3dXaWRlQ1N0cmluZyhjb25zdCB3Y2hhcl90ICogd2lkZV9jX3N0cikgewogICBpZiAo
d2lkZV9jX3N0ciA9PSBudWxscHRyKSByZXR1cm4gIihudWxsKSI7CiAKICAgcmV0dXJuIGludGVy
bmFsOjpXaWRlU3RyaW5nVG9VdGY4KHdpZGVfY19zdHIsIC0xKTsKQEAgLTIwNDcsNyArMjAyNSw3
IEBAIHN0ZDo6c3RyaW5nIFN0cmluZzo6U2hvd1dpZGVDU3RyaW5nKGNvbnN0IHdjaGFyX3QqIHdp
ZGVfY19zdHIpIHsKIC8vIFVubGlrZSB3Y3NjbXAoKSwgdGhpcyBmdW5jdGlvbiBjYW4gaGFuZGxl
IE5VTEwgYXJndW1lbnQocykuICBBIE5VTEwKIC8vIEMgc3RyaW5nIGlzIGNvbnNpZGVyZWQgZGlm
ZmVyZW50IHRvIGFueSBub24tTlVMTCBDIHN0cmluZywKIC8vIGluY2x1ZGluZyB0aGUgZW1wdHkg
c3RyaW5nLgotYm9vbCBTdHJpbmc6OldpZGVDU3RyaW5nRXF1YWxzKGNvbnN0IHdjaGFyX3QqIGxo
cywgY29uc3Qgd2NoYXJfdCogcmhzKSB7Citib29sIFN0cmluZzo6V2lkZUNTdHJpbmdFcXVhbHMo
Y29uc3Qgd2NoYXJfdCAqIGxocywgY29uc3Qgd2NoYXJfdCAqIHJocykgewogICBpZiAobGhzID09
IG51bGxwdHIpIHJldHVybiByaHMgPT0gbnVsbHB0cjsKIAogICBpZiAocmhzID09IG51bGxwdHIp
IHJldHVybiBmYWxzZTsKQEAgLTIwNTcsMjcgKzIwMzUsMzMgQEAgYm9vbCBTdHJpbmc6OldpZGVD
U3RyaW5nRXF1YWxzKGNvbnN0IHdjaGFyX3QqIGxocywgY29uc3Qgd2NoYXJfdCogcmhzKSB7CiAK
IC8vIEhlbHBlciBmdW5jdGlvbiBmb3IgKl9TVFJFUSBvbiB3aWRlIHN0cmluZ3MuCiBBc3NlcnRp
b25SZXN1bHQgQ21wSGVscGVyU1RSRVEoY29uc3QgY2hhciogbGhzX2V4cHJlc3Npb24sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcmhzX2V4cHJlc3Npb24sIGNv
bnN0IHdjaGFyX3QqIGxocywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiByaHNfZXhwcmVzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB3Y2hhcl90KiBsaHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2No
YXJfdCogcmhzKSB7CiAgIGlmIChTdHJpbmc6OldpZGVDU3RyaW5nRXF1YWxzKGxocywgcmhzKSkg
ewogICAgIHJldHVybiBBc3NlcnRpb25TdWNjZXNzKCk7CiAgIH0KIAotICByZXR1cm4gRXFGYWls
dXJlKGxoc19leHByZXNzaW9uLCByaHNfZXhwcmVzc2lvbiwgUHJpbnRUb1N0cmluZyhsaHMpLAot
ICAgICAgICAgICAgICAgICAgIFByaW50VG9TdHJpbmcocmhzKSwgZmFsc2UpOworICByZXR1cm4g
RXFGYWlsdXJlKGxoc19leHByZXNzaW9uLAorICAgICAgICAgICAgICAgICAgIHJoc19leHByZXNz
aW9uLAorICAgICAgICAgICAgICAgICAgIFByaW50VG9TdHJpbmcobGhzKSwKKyAgICAgICAgICAg
ICAgICAgICBQcmludFRvU3RyaW5nKHJocyksCisgICAgICAgICAgICAgICAgICAgZmFsc2UpOwog
fQogCiAvLyBIZWxwZXIgZnVuY3Rpb24gZm9yICpfU1RSTkUgb24gd2lkZSBzdHJpbmdzLgogQXNz
ZXJ0aW9uUmVzdWx0IENtcEhlbHBlclNUUk5FKGNvbnN0IGNoYXIqIHMxX2V4cHJlc3Npb24sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogczJfZXhwcmVzc2lvbiwg
Y29uc3Qgd2NoYXJfdCogczEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciogczJfZXhwcmVzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB3Y2hhcl90KiBzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3Y2hh
cl90KiBzMikgewogICBpZiAoIVN0cmluZzo6V2lkZUNTdHJpbmdFcXVhbHMoczEsIHMyKSkgewog
ICAgIHJldHVybiBBc3NlcnRpb25TdWNjZXNzKCk7CiAgIH0KIAotICByZXR1cm4gQXNzZXJ0aW9u
RmFpbHVyZSgpCi0gICAgICAgICA8PCAiRXhwZWN0ZWQ6ICgiIDw8IHMxX2V4cHJlc3Npb24gPDwg
IikgIT0gKCIgPDwgczJfZXhwcmVzc2lvbgotICAgICAgICAgPDwgIiksIGFjdHVhbDogIiA8PCBQ
cmludFRvU3RyaW5nKHMxKSA8PCAiIHZzICIgPDwgUHJpbnRUb1N0cmluZyhzMik7CisgIHJldHVy
biBBc3NlcnRpb25GYWlsdXJlKCkgPDwgIkV4cGVjdGVkOiAoIiA8PCBzMV9leHByZXNzaW9uIDw8
ICIpICE9ICgiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgczJfZXhwcmVzc2lvbiA8
PCAiKSwgYWN0dWFsOiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgUHJpbnRUb1N0
cmluZyhzMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PCAiIHZzICIgPDwgUHJpbnRU
b1N0cmluZyhzMik7CiB9CiAKIC8vIENvbXBhcmVzIHR3byBDIHN0cmluZ3MsIGlnbm9yaW5nIGNh
c2UuICBSZXR1cm5zIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhleSBoYXZlCkBAIC0yMDg2LDcgKzIw
NzAsNyBAQCBBc3NlcnRpb25SZXN1bHQgQ21wSGVscGVyU1RSTkUoY29uc3QgY2hhciogczFfZXhw
cmVzc2lvbiwKIC8vIFVubGlrZSBzdHJjYXNlY21wKCksIHRoaXMgZnVuY3Rpb24gY2FuIGhhbmRs
ZSBOVUxMIGFyZ3VtZW50KHMpLiAgQQogLy8gTlVMTCBDIHN0cmluZyBpcyBjb25zaWRlcmVkIGRp
ZmZlcmVudCB0byBhbnkgbm9uLU5VTEwgQyBzdHJpbmcsCiAvLyBpbmNsdWRpbmcgdGhlIGVtcHR5
IHN0cmluZy4KLWJvb2wgU3RyaW5nOjpDYXNlSW5zZW5zaXRpdmVDU3RyaW5nRXF1YWxzKGNvbnN0
IGNoYXIqIGxocywgY29uc3QgY2hhciogcmhzKSB7Citib29sIFN0cmluZzo6Q2FzZUluc2Vuc2l0
aXZlQ1N0cmluZ0VxdWFscyhjb25zdCBjaGFyICogbGhzLCBjb25zdCBjaGFyICogcmhzKSB7CiAg
IGlmIChsaHMgPT0gbnVsbHB0cikgcmV0dXJuIHJocyA9PSBudWxscHRyOwogICBpZiAocmhzID09
IG51bGxwdHIpIHJldHVybiBmYWxzZTsKICAgcmV0dXJuIHBvc2l4OjpTdHJDYXNlQ21wKGxocywg
cmhzKSA9PSAwOwpAQCAtMjEyOCw4ICsyMTEyLDggQEAgYm9vbCBTdHJpbmc6OkNhc2VJbnNlbnNp
dGl2ZVdpZGVDU3RyaW5nRXF1YWxzKGNvbnN0IHdjaGFyX3QqIGxocywKIAogLy8gUmV0dXJucyB0
cnVlIGlmIGFuZCBvbmx5IGlmIHN0ciBlbmRzIHdpdGggdGhlIGdpdmVuIHN1ZmZpeCwgaWdub3Jp
bmcgY2FzZS4KIC8vIEFueSBzdHJpbmcgaXMgY29uc2lkZXJlZCB0byBlbmQgd2l0aCBhbiBlbXB0
eSBzdWZmaXguCi1ib29sIFN0cmluZzo6RW5kc1dpdGhDYXNlSW5zZW5zaXRpdmUoY29uc3Qgc3Rk
OjpzdHJpbmcmIHN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdGQ6OnN0cmluZyYgc3VmZml4KSB7Citib29sIFN0cmluZzo6RW5kc1dpdGhDYXNlSW5zZW5z
aXRpdmUoCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHN0ciwgY29uc3Qgc3RkOjpzdHJpbmcmIHN1
ZmZpeCkgewogICBjb25zdCBzaXplX3Qgc3RyX2xlbiA9IHN0ci5sZW5ndGgoKTsKICAgY29uc3Qg
c2l6ZV90IHN1ZmZpeF9sZW4gPSBzdWZmaXgubGVuZ3RoKCk7CiAgIHJldHVybiAoc3RyX2xlbiA+
PSBzdWZmaXhfbGVuKSAmJgpAQCAtMjEzOSwxMyArMjEyMyw4IEBAIGJvb2wgU3RyaW5nOjpFbmRz
V2l0aENhc2VJbnNlbnNpdGl2ZShjb25zdCBzdGQ6OnN0cmluZyYgc3RyLAogCiAvLyBGb3JtYXRz
IGFuIGludCB2YWx1ZSBhcyAiJTAyZCIuCiBzdGQ6OnN0cmluZyBTdHJpbmc6OkZvcm1hdEludFdp
ZHRoMihpbnQgdmFsdWUpIHsKLSAgcmV0dXJuIEZvcm1hdEludFdpZHRoTih2YWx1ZSwgMik7Ci19
Ci0KLS8vIEZvcm1hdHMgYW4gaW50IHZhbHVlIHRvIGdpdmVuIHdpZHRoIHdpdGggbGVhZGluZyB6
ZXJvcy4KLXN0ZDo6c3RyaW5nIFN0cmluZzo6Rm9ybWF0SW50V2lkdGhOKGludCB2YWx1ZSwgaW50
IHdpZHRoKSB7CiAgIHN0ZDo6c3RyaW5nc3RyZWFtIHNzOwotICBzcyA8PCBzdGQ6OnNldGZpbGwo
JzAnKSA8PCBzdGQ6OnNldHcod2lkdGgpIDw8IHZhbHVlOworICBzcyA8PCBzdGQ6OnNldGZpbGwo
JzAnKSA8PCBzdGQ6OnNldHcoMikgPDwgdmFsdWU7CiAgIHJldHVybiBzcy5zdHIoKTsKIH0KIApA
QCAtMjE5Nyw5ICsyMTc2LDcgQEAgc3RkOjpzdHJpbmcgQXBwZW5kVXNlck1lc3NhZ2UoY29uc3Qg
c3RkOjpzdHJpbmcmIGd0ZXN0X21zZywKICAgaWYgKHVzZXJfbXNnX3N0cmluZy5lbXB0eSgpKSB7
CiAgICAgcmV0dXJuIGd0ZXN0X21zZzsKICAgfQotICBpZiAoZ3Rlc3RfbXNnLmVtcHR5KCkpIHsK
LSAgICByZXR1cm4gdXNlcl9tc2dfc3RyaW5nOwotICB9CisKICAgcmV0dXJuIGd0ZXN0X21zZyAr
ICJcbiIgKyB1c2VyX21zZ19zdHJpbmc7CiB9CiAKQEAgLTIyMTIsMTMgKzIxODksMTUgQEAgVGVz
dFJlc3VsdDo6VGVzdFJlc3VsdCgpCiAgICAgOiBkZWF0aF90ZXN0X2NvdW50XygwKSwgc3RhcnRf
dGltZXN0YW1wXygwKSwgZWxhcHNlZF90aW1lXygwKSB7fQogCiAvLyBEJ3Rvci4KLVRlc3RSZXN1
bHQ6On5UZXN0UmVzdWx0KCkge30KK1Rlc3RSZXN1bHQ6On5UZXN0UmVzdWx0KCkgeworfQogCiAv
LyBSZXR1cm5zIHRoZSBpLXRoIHRlc3QgcGFydCByZXN1bHQgYW1vbmcgYWxsIHRoZSByZXN1bHRz
LiBpIGNhbgogLy8gcmFuZ2UgZnJvbSAwIHRvIHRvdGFsX3BhcnRfY291bnQoKSAtIDEuIElmIGkg
aXMgbm90IGluIHRoYXQgcmFuZ2UsCiAvLyBhYm9ydHMgdGhlIHByb2dyYW0uCiBjb25zdCBUZXN0
UGFydFJlc3VsdCYgVGVzdFJlc3VsdDo6R2V0VGVzdFBhcnRSZXN1bHQoaW50IGkpIGNvbnN0IHsK
LSAgaWYgKGkgPCAwIHx8IGkgPj0gdG90YWxfcGFydF9jb3VudCgpKSBpbnRlcm5hbDo6cG9zaXg6
OkFib3J0KCk7CisgIGlmIChpIDwgMCB8fCBpID49IHRvdGFsX3BhcnRfY291bnQoKSkKKyAgICBp
bnRlcm5hbDo6cG9zaXg6OkFib3J0KCk7CiAgIHJldHVybiB0ZXN0X3BhcnRfcmVzdWx0c18uYXQo
c3RhdGljX2Nhc3Q8c2l6ZV90PihpKSk7CiB9CiAKQEAgLTIyMjYsMTIgKzIyMDUsMTUgQEAgY29u
c3QgVGVzdFBhcnRSZXN1bHQmIFRlc3RSZXN1bHQ6OkdldFRlc3RQYXJ0UmVzdWx0KGludCBpKSBj
b25zdCB7CiAvLyB0ZXN0X3Byb3BlcnR5X2NvdW50KCkgLSAxLiBJZiBpIGlzIG5vdCBpbiB0aGF0
IHJhbmdlLCBhYm9ydHMgdGhlCiAvLyBwcm9ncmFtLgogY29uc3QgVGVzdFByb3BlcnR5JiBUZXN0
UmVzdWx0OjpHZXRUZXN0UHJvcGVydHkoaW50IGkpIGNvbnN0IHsKLSAgaWYgKGkgPCAwIHx8IGkg
Pj0gdGVzdF9wcm9wZXJ0eV9jb3VudCgpKSBpbnRlcm5hbDo6cG9zaXg6OkFib3J0KCk7CisgIGlm
IChpIDwgMCB8fCBpID49IHRlc3RfcHJvcGVydHlfY291bnQoKSkKKyAgICBpbnRlcm5hbDo6cG9z
aXg6OkFib3J0KCk7CiAgIHJldHVybiB0ZXN0X3Byb3BlcnRpZXNfLmF0KHN0YXRpY19jYXN0PHNp
emVfdD4oaSkpOwogfQogCiAvLyBDbGVhcnMgdGhlIHRlc3QgcGFydCByZXN1bHRzLgotdm9pZCBU
ZXN0UmVzdWx0OjpDbGVhclRlc3RQYXJ0UmVzdWx0cygpIHsgdGVzdF9wYXJ0X3Jlc3VsdHNfLmNs
ZWFyKCk7IH0KK3ZvaWQgVGVzdFJlc3VsdDo6Q2xlYXJUZXN0UGFydFJlc3VsdHMoKSB7CisgIHRl
c3RfcGFydF9yZXN1bHRzXy5jbGVhcigpOworfQogCiAvLyBBZGRzIGEgdGVzdCBwYXJ0IHJlc3Vs
dCB0byB0aGUgbGlzdC4KIHZvaWQgVGVzdFJlc3VsdDo6QWRkVGVzdFBhcnRSZXN1bHQoY29uc3Qg
VGVzdFBhcnRSZXN1bHQmIHRlc3RfcGFydF9yZXN1bHQpIHsKQEAgLTIyNDYsNyArMjIyOCw3IEBA
IHZvaWQgVGVzdFJlc3VsdDo6UmVjb3JkUHJvcGVydHkoY29uc3Qgc3RkOjpzdHJpbmcmIHhtbF9l
bGVtZW50LAogICBpZiAoIVZhbGlkYXRlVGVzdFByb3BlcnR5KHhtbF9lbGVtZW50LCB0ZXN0X3By
b3BlcnR5KSkgewogICAgIHJldHVybjsKICAgfQotICBpbnRlcm5hbDo6TXV0ZXhMb2NrIGxvY2so
JnRlc3RfcHJvcGVydGllc19tdXRleF8pOworICBpbnRlcm5hbDo6TXV0ZXhMb2NrIGxvY2soJnRl
c3RfcHJvcGVyaXRlc19tdXRleF8pOwogICBjb25zdCBzdGQ6OnZlY3RvcjxUZXN0UHJvcGVydHk+
OjppdGVyYXRvciBwcm9wZXJ0eV93aXRoX21hdGNoaW5nX2tleSA9CiAgICAgICBzdGQ6OmZpbmRf
aWYodGVzdF9wcm9wZXJ0aWVzXy5iZWdpbigpLCB0ZXN0X3Byb3BlcnRpZXNfLmVuZCgpLAogICAg
ICAgICAgICAgICAgICAgIGludGVybmFsOjpUZXN0UHJvcGVydHlLZXlJcyh0ZXN0X3Byb3BlcnR5
LmtleSgpKSk7CkBAIC0yMjYwLDE5ICsyMjQyLDI1IEBAIHZvaWQgVGVzdFJlc3VsdDo6UmVjb3Jk
UHJvcGVydHkoY29uc3Qgc3RkOjpzdHJpbmcmIHhtbF9lbGVtZW50LAogLy8gVGhlIGxpc3Qgb2Yg
cmVzZXJ2ZWQgYXR0cmlidXRlcyB1c2VkIGluIHRoZSA8dGVzdHN1aXRlcz4gZWxlbWVudCBvZiBY
TUwKIC8vIG91dHB1dC4KIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBrUmVzZXJ2ZWRUZXN0U3Vp
dGVzQXR0cmlidXRlc1tdID0gewotICAgICJkaXNhYmxlZCIsICAgICJlcnJvcnMiLCAiZmFpbHVy
ZXMiLCAibmFtZSIsCi0gICAgInJhbmRvbV9zZWVkIiwgInRlc3RzIiwgICJ0aW1lIiwgICAgICJ0
aW1lc3RhbXAifTsKKyAgImRpc2FibGVkIiwKKyAgImVycm9ycyIsCisgICJmYWlsdXJlcyIsCisg
ICJuYW1lIiwKKyAgInJhbmRvbV9zZWVkIiwKKyAgInRlc3RzIiwKKyAgInRpbWUiLAorICAidGlt
ZXN0YW1wIgorfTsKIAogLy8gVGhlIGxpc3Qgb2YgcmVzZXJ2ZWQgYXR0cmlidXRlcyB1c2VkIGlu
IHRoZSA8dGVzdHN1aXRlPiBlbGVtZW50IG9mIFhNTAogLy8gb3V0cHV0Lgogc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IGtSZXNlcnZlZFRlc3RTdWl0ZUF0dHJpYnV0ZXNbXSA9IHsKLSAgICAiZGlz
YWJsZWQiLCAiZXJyb3JzIiwgImZhaWx1cmVzIiwgICJuYW1lIiwKLSAgICAidGVzdHMiLCAgICAi
dGltZSIsICAgInRpbWVzdGFtcCIsICJza2lwcGVkIn07CisgICAgImRpc2FibGVkIiwgImVycm9y
cyIsICJmYWlsdXJlcyIsICJuYW1lIiwgInRlc3RzIiwgInRpbWUiLCAidGltZXN0YW1wIn07CiAK
IC8vIFRoZSBsaXN0IG9mIHJlc2VydmVkIGF0dHJpYnV0ZXMgdXNlZCBpbiB0aGUgPHRlc3RjYXNl
PiBlbGVtZW50IG9mIFhNTCBvdXRwdXQuCiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qga1Jlc2Vy
dmVkVGVzdENhc2VBdHRyaWJ1dGVzW10gPSB7Ci0gICAgImNsYXNzbmFtZSIsICAibmFtZSIsICAg
ICAgICAic3RhdHVzIiwgInRpbWUiLAotICAgICJ0eXBlX3BhcmFtIiwgInZhbHVlX3BhcmFtIiwg
ImZpbGUiLCAgICJsaW5lIn07CisgICAgImNsYXNzbmFtZSIsICAgIm5hbWUiLCAic3RhdHVzIiwg
InRpbWUiLCAgInR5cGVfcGFyYW0iLAorICAgICJ2YWx1ZV9wYXJhbSIsICJmaWxlIiwgImxpbmUi
fTsKIAogLy8gVXNlIGEgc2xpZ2h0bHkgZGlmZmVyZW50IHNldCBmb3IgYWxsb3dlZCBvdXRwdXQg
dG8gZW5zdXJlIGV4aXN0aW5nIHRlc3RzIGNhbgogLy8gc3RpbGwgUmVjb3JkUHJvcGVydHkoInJl
c3VsdCIpIG9yICJSZWNvcmRQcm9wZXJ0eSh0aW1lc3RhbXAiKQpAQCAtMjI4MCw3ICsyMjY4LDcg
QEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGtSZXNlcnZlZE91dHB1dFRlc3RDYXNlQXR0cmli
dXRlc1tdID0gewogICAgICJjbGFzc25hbWUiLCAgICJuYW1lIiwgInN0YXR1cyIsICJ0aW1lIiwg
ICAidHlwZV9wYXJhbSIsCiAgICAgInZhbHVlX3BhcmFtIiwgImZpbGUiLCAibGluZSIsICAgInJl
c3VsdCIsICJ0aW1lc3RhbXAifTsKIAotdGVtcGxhdGUgPHNpemVfdCBrU2l6ZT4KK3RlbXBsYXRl
IDxpbnQga1NpemU+CiBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gQXJyYXlBc1ZlY3Rvcihjb25z
dCBjaGFyKiBjb25zdCAoJmFycmF5KVtrU2l6ZV0pIHsKICAgcmV0dXJuIHN0ZDo6dmVjdG9yPHN0
ZDo6c3RyaW5nPihhcnJheSwgYXJyYXkgKyBrU2l6ZSk7CiB9CkBAIC0yMzM0LDcgKzIzMjIsNyBA
QCBzdGF0aWMgYm9vbCBWYWxpZGF0ZVRlc3RQcm9wZXJ0eU5hbWUoCiAgICAgY29uc3Qgc3RkOjpz
dHJpbmcmIHByb3BlcnR5X25hbWUsCiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+
JiByZXNlcnZlZF9uYW1lcykgewogICBpZiAoc3RkOjpmaW5kKHJlc2VydmVkX25hbWVzLmJlZ2lu
KCksIHJlc2VydmVkX25hbWVzLmVuZCgpLCBwcm9wZXJ0eV9uYW1lKSAhPQotICAgICAgcmVzZXJ2
ZWRfbmFtZXMuZW5kKCkpIHsKKyAgICAgICAgICByZXNlcnZlZF9uYW1lcy5lbmQoKSkgewogICAg
IEFERF9GQUlMVVJFKCkgPDwgIlJlc2VydmVkIGtleSB1c2VkIGluIFJlY29yZFByb3BlcnR5KCk6
ICIgPDwgcHJvcGVydHlfbmFtZQogICAgICAgICAgICAgICAgICAgPDwgIiAoIiA8PCBGb3JtYXRX
b3JkTGlzdChyZXNlcnZlZF9uYW1lcykKICAgICAgICAgICAgICAgICAgIDw8ICIgYXJlIHJlc2Vy
dmVkIGJ5ICIgPDwgR1RFU1RfTkFNRV8gPDwgIikiOwpAQCAtMjM3Miw3ICsyMzYwLDggQEAgYm9v
bCBUZXN0UmVzdWx0OjpTa2lwcGVkKCkgY29uc3QgewogLy8gUmV0dXJucyB0cnVlIGlmIGFuZCBv
bmx5IGlmIHRoZSB0ZXN0IGZhaWxlZC4KIGJvb2wgVGVzdFJlc3VsdDo6RmFpbGVkKCkgY29uc3Qg
ewogICBmb3IgKGludCBpID0gMDsgaSA8IHRvdGFsX3BhcnRfY291bnQoKTsgKytpKSB7Ci0gICAg
aWYgKEdldFRlc3RQYXJ0UmVzdWx0KGkpLmZhaWxlZCgpKSByZXR1cm4gdHJ1ZTsKKyAgICBpZiAo
R2V0VGVzdFBhcnRSZXN1bHQoaSkuZmFpbGVkKCkpCisgICAgICByZXR1cm4gdHJ1ZTsKICAgfQog
ICByZXR1cm4gZmFsc2U7CiB9CkBAIC0yNDEzLDIyICsyNDAyLDI3IEBAIGludCBUZXN0UmVzdWx0
Ojp0ZXN0X3Byb3BlcnR5X2NvdW50KCkgY29uc3QgewogLy8gQ3JlYXRlcyBhIFRlc3Qgb2JqZWN0
LgogCiAvLyBUaGUgYyd0b3Igc2F2ZXMgdGhlIHN0YXRlcyBvZiBhbGwgZmxhZ3MuCi1UZXN0OjpU
ZXN0KCkgOiBndGVzdF9mbGFnX3NhdmVyXyhuZXcgR1RFU1RfRkxBR19TQVZFUl8pIHt9CitUZXN0
OjpUZXN0KCkKKyAgICA6IGd0ZXN0X2ZsYWdfc2F2ZXJfKG5ldyBHVEVTVF9GTEFHX1NBVkVSXykg
eworfQogCiAvLyBUaGUgZCd0b3IgcmVzdG9yZXMgdGhlIHN0YXRlcyBvZiBhbGwgZmxhZ3MuICBU
aGUgYWN0dWFsIHdvcmsgaXMKIC8vIGRvbmUgYnkgdGhlIGQndG9yIG9mIHRoZSBndGVzdF9mbGFn
X3NhdmVyXyBmaWVsZCwgYW5kIHRodXMgbm90CiAvLyB2aXNpYmxlIGhlcmUuCi1UZXN0Ojp+VGVz
dCgpIHt9CitUZXN0Ojp+VGVzdCgpIHsKK30KIAogLy8gU2V0cyB1cCB0aGUgdGVzdCBmaXh0dXJl
LgogLy8KIC8vIEEgc3ViLWNsYXNzIG1heSBvdmVycmlkZSB0aGlzLgotdm9pZCBUZXN0OjpTZXRV
cCgpIHt9Cit2b2lkIFRlc3Q6OlNldFVwKCkgeworfQogCiAvLyBUZWFycyBkb3duIHRoZSB0ZXN0
IGZpeHR1cmUuCiAvLwogLy8gQSBzdWItY2xhc3MgbWF5IG92ZXJyaWRlIHRoaXMuCi12b2lkIFRl
c3Q6OlRlYXJEb3duKCkge30KK3ZvaWQgVGVzdDo6VGVhckRvd24oKSB7Cit9CiAKIC8vIEFsbG93
cyB1c2VyIHN1cHBsaWVkIGtleSB2YWx1ZSBwYWlycyB0byBiZSByZWNvcmRlZCBmb3IgbGF0ZXIg
b3V0cHV0Lgogdm9pZCBUZXN0OjpSZWNvcmRQcm9wZXJ0eShjb25zdCBzdGQ6OnN0cmluZyYga2V5
LCBjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUpIHsKQEAgLTI1MzMsOCArMjUyNyw4IEBAIGJvb2wg
VGVzdDo6SGFzU2FtZUZpeHR1cmVDbGFzcygpIHsKIHN0YXRpYyBzdGQ6OnN0cmluZyogRm9ybWF0
U2VoRXhjZXB0aW9uTWVzc2FnZShEV09SRCBleGNlcHRpb25fY29kZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBsb2NhdGlvbikgewog
ICBNZXNzYWdlIG1lc3NhZ2U7Ci0gIG1lc3NhZ2UgPDwgIlNFSCBleGNlcHRpb24gd2l0aCBjb2Rl
IDB4IiA8PCBzdGQ6OnNldGJhc2UoMTYpIDw8IGV4Y2VwdGlvbl9jb2RlCi0gICAgICAgICAgPDwg
c3RkOjpzZXRiYXNlKDEwKSA8PCAiIHRocm93biBpbiAiIDw8IGxvY2F0aW9uIDw8ICIuIjsKKyAg
bWVzc2FnZSA8PCAiU0VIIGV4Y2VwdGlvbiB3aXRoIGNvZGUgMHgiIDw8IHN0ZDo6c2V0YmFzZSgx
NikgPDwKKyAgICBleGNlcHRpb25fY29kZSA8PCBzdGQ6OnNldGJhc2UoMTApIDw8ICIgdGhyb3du
IGluICIgPDwgbG9jYXRpb24gPDwgIi4iOwogCiAgIHJldHVybiBuZXcgc3RkOjpzdHJpbmcobWVz
c2FnZS5HZXRTdHJpbmcoKSk7CiB9CkBAIC0yNTc3LDggKzI1NzEsOCBAQCBHb29nbGVUZXN0RmFp
bHVyZUV4Y2VwdGlvbjo6R29vZ2xlVGVzdEZhaWx1cmVFeGNlcHRpb24oCiAvLyBleGNlcHRpb25z
IGluIHRoZSBzYW1lIGZ1bmN0aW9uLiAgVGhlcmVmb3JlLCB3ZSBwcm92aWRlIGEgc2VwYXJhdGUK
IC8vIHdyYXBwZXIgZnVuY3Rpb24gZm9yIGhhbmRsaW5nIFNFSCBleGNlcHRpb25zLikKIHRlbXBs
YXRlIDxjbGFzcyBULCB0eXBlbmFtZSBSZXN1bHQ+Ci1SZXN1bHQgSGFuZGxlU2VoRXhjZXB0aW9u
c0luTWV0aG9kSWZTdXBwb3J0ZWQoVCogb2JqZWN0LCBSZXN1bHQgKFQ6OiptZXRob2QpKCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciog
bG9jYXRpb24pIHsKK1Jlc3VsdCBIYW5kbGVTZWhFeGNlcHRpb25zSW5NZXRob2RJZlN1cHBvcnRl
ZCgKKyAgICBUKiBvYmplY3QsIFJlc3VsdCAoVDo6Km1ldGhvZCkoKSwgY29uc3QgY2hhciogbG9j
YXRpb24pIHsKICNpZiBHVEVTVF9IQVNfU0VICiAgIF9fdHJ5IHsKICAgICByZXR1cm4gKG9iamVj
dC0+Km1ldGhvZCkoKTsKQEAgLTI1ODcsOCArMjU4MSw4IEBAIFJlc3VsdCBIYW5kbGVTZWhFeGNl
cHRpb25zSW5NZXRob2RJZlN1cHBvcnRlZChUKiBvYmplY3QsIFJlc3VsdCAoVDo6Km1ldGhvZCko
KSwKICAgICAvLyBXZSBjcmVhdGUgdGhlIGV4Y2VwdGlvbiBtZXNzYWdlIG9uIHRoZSBoZWFwIGJl
Y2F1c2UgVkMrKyBwcm9oaWJpdHMKICAgICAvLyBjcmVhdGlvbiBvZiBvYmplY3RzIHdpdGggZGVz
dHJ1Y3RvcnMgb24gc3RhY2sgaW4gZnVuY3Rpb25zIHVzaW5nIF9fdHJ5CiAgICAgLy8gKHNlZSBl
cnJvciBDMjcxMikuCi0gICAgc3RkOjpzdHJpbmcqIGV4Y2VwdGlvbl9tZXNzYWdlID0KLSAgICAg
ICAgRm9ybWF0U2VoRXhjZXB0aW9uTWVzc2FnZShHZXRFeGNlcHRpb25Db2RlKCksIGxvY2F0aW9u
KTsKKyAgICBzdGQ6OnN0cmluZyogZXhjZXB0aW9uX21lc3NhZ2UgPSBGb3JtYXRTZWhFeGNlcHRp
b25NZXNzYWdlKAorICAgICAgICBHZXRFeGNlcHRpb25Db2RlKCksIGxvY2F0aW9uKTsKICAgICBp
bnRlcm5hbDo6UmVwb3J0RmFpbHVyZUluVW5rbm93bkxvY2F0aW9uKFRlc3RQYXJ0UmVzdWx0Ojpr
RmF0YWxGYWlsdXJlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKmV4Y2VwdGlvbl9tZXNzYWdlKTsKICAgICBkZWxldGUgZXhjZXB0aW9uX21lc3NhZ2U7CkBA
IC0yNjA0LDggKzI1OTgsOCBAQCBSZXN1bHQgSGFuZGxlU2VoRXhjZXB0aW9uc0luTWV0aG9kSWZT
dXBwb3J0ZWQoVCogb2JqZWN0LCBSZXN1bHQgKFQ6OiptZXRob2QpKCksCiAvLyBleGNlcHRpb25z
LCBpZiB0aGV5IGFyZSBzdXBwb3J0ZWQ7IHJldHVybnMgdGhlIDAtdmFsdWUgZm9yIHR5cGUKIC8v
IFJlc3VsdCBpbiBjYXNlIG9mIGFuIFNFSCBleGNlcHRpb24uCiB0ZW1wbGF0ZSA8Y2xhc3MgVCwg
dHlwZW5hbWUgUmVzdWx0PgotUmVzdWx0IEhhbmRsZUV4Y2VwdGlvbnNJbk1ldGhvZElmU3VwcG9y
dGVkKFQqIG9iamVjdCwgUmVzdWx0IChUOjoqbWV0aG9kKSgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGxvY2F0aW9uKSB7CitSZXN1bHQg
SGFuZGxlRXhjZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQoCisgICAgVCogb2JqZWN0LCBSZXN1
bHQgKFQ6OiptZXRob2QpKCksIGNvbnN0IGNoYXIqIGxvY2F0aW9uKSB7CiAgIC8vIE5PVEU6IFRo
ZSB1c2VyIGNvZGUgY2FuIGFmZmVjdCB0aGUgd2F5IGluIHdoaWNoIEdvb2dsZSBUZXN0IGhhbmRs
ZXMKICAgLy8gZXhjZXB0aW9ucyBieSBzZXR0aW5nIEdURVNUX0ZMQUcoY2F0Y2hfZXhjZXB0aW9u
cyksIGJ1dCBvbmx5IGJlZm9yZQogICAvLyBSVU5fQUxMX1RFU1RTKCkgc3RhcnRzLiBJdCBpcyB0
ZWNobmljYWxseSBwb3NzaWJsZSB0byBjaGVjayB0aGUgZmxhZwpAQCAtMjYxNSw3ICsyNjA5LDcg
QEAgUmVzdWx0IEhhbmRsZUV4Y2VwdGlvbnNJbk1ldGhvZElmU3VwcG9ydGVkKFQqIG9iamVjdCwg
UmVzdWx0IChUOjoqbWV0aG9kKSgpLAogICAvLyB0cnkgewogICAvLyAgIC8vIFBlcmZvcm0gdGhl
IHRlc3QgbWV0aG9kLgogICAvLyB9IGNhdGNoICguLi4pIHsKLSAgLy8gICBpZiAoR1RFU1RfRkxB
R19HRVQoY2F0Y2hfZXhjZXB0aW9ucykpCisgIC8vICAgaWYgKEdURVNUX0ZMQUcoY2F0Y2hfZXhj
ZXB0aW9ucykpCiAgIC8vICAgICAvLyBSZXBvcnQgdGhlIGV4Y2VwdGlvbiBhcyBmYWlsdXJlLgog
ICAvLyAgIGVsc2UKICAgLy8gICAgIHRocm93OyAgLy8gUmUtdGhyb3dzIHRoZSBvcmlnaW5hbCBl
eGNlcHRpb24uCkBAIC0yNjcxLDE2ICsyNjY1LDE2IEBAIHZvaWQgVGVzdDo6UnVuKCkgewogICAv
LyBHVEVTVF9TS0lQKCkuCiAgIGlmICghSGFzRmF0YWxGYWlsdXJlKCkgJiYgIUlzU2tpcHBlZCgp
KSB7CiAgICAgaW1wbC0+b3Nfc3RhY2tfdHJhY2VfZ2V0dGVyKCktPlVwb25MZWF2aW5nR1Rlc3Qo
KTsKLSAgICBpbnRlcm5hbDo6SGFuZGxlRXhjZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQodGhp
cywgJlRlc3Q6OlRlc3RCb2R5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidGhlIHRlc3QgYm9keSIpOworICAgIGludGVybmFsOjpIYW5kbGVFeGNl
cHRpb25zSW5NZXRob2RJZlN1cHBvcnRlZCgKKyAgICAgICAgdGhpcywgJlRlc3Q6OlRlc3RCb2R5
LCAidGhlIHRlc3QgYm9keSIpOwogICB9CiAKICAgLy8gSG93ZXZlciwgd2Ugd2FudCB0byBjbGVh
biB1cCBhcyBtdWNoIGFzIHBvc3NpYmxlLiAgSGVuY2Ugd2Ugd2lsbAogICAvLyBhbHdheXMgY2Fs
bCBUZWFyRG93bigpLCBldmVuIGlmIFNldFVwKCkgb3IgdGhlIHRlc3QgYm9keSBoYXMKICAgLy8g
ZmFpbGVkLgogICBpbXBsLT5vc19zdGFja190cmFjZV9nZXR0ZXIoKS0+VXBvbkxlYXZpbmdHVGVz
dCgpOwotICBpbnRlcm5hbDo6SGFuZGxlRXhjZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQodGhp
cywgJlRlc3Q6OlRlYXJEb3duLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIlRlYXJEb3duKCkiKTsKKyAgaW50ZXJuYWw6OkhhbmRsZUV4Y2VwdGlvbnNJ
bk1ldGhvZElmU3VwcG9ydGVkKAorICAgICAgdGhpcywgJlRlc3Q6OlRlYXJEb3duLCAiVGVhckRv
d24oKSIpOwogfQogCiAvLyBSZXR1cm5zIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGN1cnJlbnQg
dGVzdCBoYXMgYSBmYXRhbCBmYWlsdXJlLgpAQCAtMjY5MCw5ICsyNjg0LDggQEAgYm9vbCBUZXN0
OjpIYXNGYXRhbEZhaWx1cmUoKSB7CiAKIC8vIFJldHVybnMgdHJ1ZSBpZiBhbmQgb25seSBpZiB0
aGUgY3VycmVudCB0ZXN0IGhhcyBhIG5vbi1mYXRhbCBmYWlsdXJlLgogYm9vbCBUZXN0OjpIYXNO
b25mYXRhbEZhaWx1cmUoKSB7Ci0gIHJldHVybiBpbnRlcm5hbDo6R2V0VW5pdFRlc3RJbXBsKCkK
LSAgICAgIC0+Y3VycmVudF90ZXN0X3Jlc3VsdCgpCi0gICAgICAtPkhhc05vbmZhdGFsRmFpbHVy
ZSgpOworICByZXR1cm4gaW50ZXJuYWw6OkdldFVuaXRUZXN0SW1wbCgpLT5jdXJyZW50X3Rlc3Rf
cmVzdWx0KCktPgorICAgICAgSGFzTm9uZmF0YWxGYWlsdXJlKCk7CiB9CiAKIC8vIFJldHVybnMg
dHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgY3VycmVudCB0ZXN0IHdhcyBza2lwcGVkLgpAQCAtMjcx
OSw3ICsyNzEyLDYgQEAgVGVzdEluZm86OlRlc3RJbmZvKGNvbnN0IHN0ZDo6c3RyaW5nJiBhX3Rl
c3Rfc3VpdGVfbmFtZSwKICAgICAgIHNob3VsZF9ydW5fKGZhbHNlKSwKICAgICAgIGlzX2Rpc2Fi
bGVkXyhmYWxzZSksCiAgICAgICBtYXRjaGVzX2ZpbHRlcl8oZmFsc2UpLAotICAgICAgaXNfaW5f
YW5vdGhlcl9zaGFyZF8oZmFsc2UpLAogICAgICAgZmFjdG9yeV8oZmFjdG9yeSksCiAgICAgICBy
ZXN1bHRfKCkge30KIApAQCAtMjczMyw3ICsyNzI1LDcgQEAgbmFtZXNwYWNlIGludGVybmFsIHsK
IC8vCiAvLyBBcmd1bWVudHM6CiAvLwotLy8gICB0ZXN0X3N1aXRlX25hbWU6ICBuYW1lIG9mIHRo
ZSB0ZXN0IHN1aXRlCisvLyAgIHRlc3Rfc3VpdGVfbmFtZTogICBuYW1lIG9mIHRoZSB0ZXN0IHN1
aXRlCiAvLyAgIG5hbWU6ICAgICAgICAgICAgIG5hbWUgb2YgdGhlIHRlc3QKIC8vICAgdHlwZV9w
YXJhbTogICAgICAgdGhlIG5hbWUgb2YgdGhlIHRlc3QncyB0eXBlIHBhcmFtZXRlciwgb3IgTlVM
TCBpZgogLy8gICAgICAgICAgICAgICAgICAgICB0aGlzIGlzIG5vdCBhIHR5cGVkIG9yIGEgdHlw
ZS1wYXJhbWV0ZXJpemVkIHRlc3QuCkBAIC0yNzkyLDEwICsyNzg0LDExIEBAIGNsYXNzIFRlc3RO
YW1lSXMgewogICAvLyBDb25zdHJ1Y3Rvci4KICAgLy8KICAgLy8gVGVzdE5hbWVJcyBoYXMgTk8g
ZGVmYXVsdCBjb25zdHJ1Y3Rvci4KLSAgZXhwbGljaXQgVGVzdE5hbWVJcyhjb25zdCBjaGFyKiBu
YW1lKSA6IG5hbWVfKG5hbWUpIHt9CisgIGV4cGxpY2l0IFRlc3ROYW1lSXMoY29uc3QgY2hhciog
bmFtZSkKKyAgICAgIDogbmFtZV8obmFtZSkge30KIAogICAvLyBSZXR1cm5zIHRydWUgaWYgYW5k
IG9ubHkgaWYgdGhlIHRlc3QgbmFtZSBvZiB0ZXN0X2luZm8gbWF0Y2hlcyBuYW1lXy4KLSAgYm9v
bCBvcGVyYXRvcigpKGNvbnN0IFRlc3RJbmZvKiB0ZXN0X2luZm8pIGNvbnN0IHsKKyAgYm9vbCBv
cGVyYXRvcigpKGNvbnN0IFRlc3RJbmZvICogdGVzdF9pbmZvKSBjb25zdCB7CiAgICAgcmV0dXJu
IHRlc3RfaW5mbyAmJiB0ZXN0X2luZm8tPm5hbWUoKSA9PSBuYW1lXzsKICAgfQogCkBAIC0yODIz
LDIwICsyODE2LDE5IEBAIHZvaWQgVW5pdFRlc3RJbXBsOjpSZWdpc3RlclBhcmFtZXRlcml6ZWRU
ZXN0cygpIHsKIC8vIENyZWF0ZXMgdGhlIHRlc3Qgb2JqZWN0LCBydW5zIGl0LCByZWNvcmRzIGl0
cyByZXN1bHQsIGFuZCB0aGVuCiAvLyBkZWxldGVzIGl0Lgogdm9pZCBUZXN0SW5mbzo6UnVuKCkg
ewotICBUZXN0RXZlbnRMaXN0ZW5lciogcmVwZWF0ZXIgPSBVbml0VGVzdDo6R2V0SW5zdGFuY2Uo
KS0+bGlzdGVuZXJzKCkucmVwZWF0ZXIoKTsKLSAgaWYgKCFzaG91bGRfcnVuXykgewotICAgIGlm
IChpc19kaXNhYmxlZF8gJiYgbWF0Y2hlc19maWx0ZXJfKSByZXBlYXRlci0+T25UZXN0RGlzYWJs
ZWQoKnRoaXMpOwotICAgIHJldHVybjsKLSAgfQorICBpZiAoIXNob3VsZF9ydW5fKSByZXR1cm47
CiAKICAgLy8gVGVsbHMgVW5pdFRlc3Qgd2hlcmUgdG8gc3RvcmUgdGVzdCByZXN1bHQuCiAgIGlu
dGVybmFsOjpVbml0VGVzdEltcGwqIGNvbnN0IGltcGwgPSBpbnRlcm5hbDo6R2V0VW5pdFRlc3RJ
bXBsKCk7CiAgIGltcGwtPnNldF9jdXJyZW50X3Rlc3RfaW5mbyh0aGlzKTsKIAorICBUZXN0RXZl
bnRMaXN0ZW5lciogcmVwZWF0ZXIgPSBVbml0VGVzdDo6R2V0SW5zdGFuY2UoKS0+bGlzdGVuZXJz
KCkucmVwZWF0ZXIoKTsKKwogICAvLyBOb3RpZmllcyB0aGUgdW5pdCB0ZXN0IGV2ZW50IGxpc3Rl
bmVycyB0aGF0IGEgdGVzdCBpcyBhYm91dCB0byBzdGFydC4KICAgcmVwZWF0ZXItPk9uVGVzdFN0
YXJ0KCp0aGlzKTsKLSAgcmVzdWx0Xy5zZXRfc3RhcnRfdGltZXN0YW1wKGludGVybmFsOjpHZXRU
aW1lSW5NaWxsaXMoKSk7Ci0gIGludGVybmFsOjpUaW1lciB0aW1lcjsKKworICBjb25zdCBUaW1l
SW5NaWxsaXMgc3RhcnQgPSBpbnRlcm5hbDo6R2V0VGltZUluTWlsbGlzKCk7CisKICAgaW1wbC0+
b3Nfc3RhY2tfdHJhY2VfZ2V0dGVyKCktPlVwb25MZWF2aW5nR1Rlc3QoKTsKIAogICAvLyBDcmVh
dGVzIHRoZSB0ZXN0IG9iamVjdC4KQEAgLTI4NjAsNyArMjg1Miw4IEBAIHZvaWQgVGVzdEluZm86
OlJ1bigpIHsKICAgICAgICAgdGVzdCwgJlRlc3Q6OkRlbGV0ZVNlbGZfLCAidGhlIHRlc3QgZml4
dHVyZSdzIGRlc3RydWN0b3IiKTsKICAgfQogCi0gIHJlc3VsdF8uc2V0X2VsYXBzZWRfdGltZSh0
aW1lci5FbGFwc2VkKCkpOworICByZXN1bHRfLnNldF9zdGFydF90aW1lc3RhbXAoc3RhcnQpOwor
ICByZXN1bHRfLnNldF9lbGFwc2VkX3RpbWUoaW50ZXJuYWw6OkdldFRpbWVJbk1pbGxpcygpIC0g
c3RhcnQpOwogCiAgIC8vIE5vdGlmaWVzIHRoZSB1bml0IHRlc3QgZXZlbnQgbGlzdGVuZXIgdGhh
dCBhIHRlc3QgaGFzIGp1c3QgZmluaXNoZWQuCiAgIHJlcGVhdGVyLT5PblRlc3RFbmQoKnRoaXMp
OwpAQCAtMjg3MCwyOCArMjg2Myw2IEBAIHZvaWQgVGVzdEluZm86OlJ1bigpIHsKICAgaW1wbC0+
c2V0X2N1cnJlbnRfdGVzdF9pbmZvKG51bGxwdHIpOwogfQogCi0vLyBTa2lwIGFuZCByZWNvcmRz
IGEgc2tpcHBlZCB0ZXN0IHJlc3VsdCBmb3IgdGhpcyBvYmplY3QuCi12b2lkIFRlc3RJbmZvOjpT
a2lwKCkgewotICBpZiAoIXNob3VsZF9ydW5fKSByZXR1cm47Ci0KLSAgaW50ZXJuYWw6OlVuaXRU
ZXN0SW1wbCogY29uc3QgaW1wbCA9IGludGVybmFsOjpHZXRVbml0VGVzdEltcGwoKTsKLSAgaW1w
bC0+c2V0X2N1cnJlbnRfdGVzdF9pbmZvKHRoaXMpOwotCi0gIFRlc3RFdmVudExpc3RlbmVyKiBy
ZXBlYXRlciA9IFVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5saXN0ZW5lcnMoKS5yZXBlYXRlcigp
OwotCi0gIC8vIE5vdGlmaWVzIHRoZSB1bml0IHRlc3QgZXZlbnQgbGlzdGVuZXJzIHRoYXQgYSB0
ZXN0IGlzIGFib3V0IHRvIHN0YXJ0LgotICByZXBlYXRlci0+T25UZXN0U3RhcnQoKnRoaXMpOwot
Ci0gIGNvbnN0IFRlc3RQYXJ0UmVzdWx0IHRlc3RfcGFydF9yZXN1bHQgPQotICAgICAgVGVzdFBh
cnRSZXN1bHQoVGVzdFBhcnRSZXN1bHQ6OmtTa2lwLCB0aGlzLT5maWxlKCksIHRoaXMtPmxpbmUo
KSwgIiIpOwotICBpbXBsLT5HZXRUZXN0UGFydFJlc3VsdFJlcG9ydGVyRm9yQ3VycmVudFRocmVh
ZCgpLT5SZXBvcnRUZXN0UGFydFJlc3VsdCgKLSAgICAgIHRlc3RfcGFydF9yZXN1bHQpOwotCi0g
IC8vIE5vdGlmaWVzIHRoZSB1bml0IHRlc3QgZXZlbnQgbGlzdGVuZXIgdGhhdCBhIHRlc3QgaGFz
IGp1c3QgZmluaXNoZWQuCi0gIHJlcGVhdGVyLT5PblRlc3RFbmQoKnRoaXMpOwotICBpbXBsLT5z
ZXRfY3VycmVudF90ZXN0X2luZm8obnVsbHB0cik7Ci19Ci0KIC8vIGNsYXNzIFRlc3RTdWl0ZQog
CiAvLyBHZXRzIHRoZSBudW1iZXIgb2Ygc3VjY2Vzc2Z1bCB0ZXN0cyBpbiB0aGlzIHRlc3Qgc3Vp
dGUuCkBAIC0yOTM4LDcgKzI5MDksNyBAQCBpbnQgVGVzdFN1aXRlOjp0b3RhbF90ZXN0X2NvdW50
KCkgY29uc3QgewogLy8KIC8vIEFyZ3VtZW50czoKIC8vCi0vLyAgIGFfbmFtZTogICAgICAgbmFt
ZSBvZiB0aGUgdGVzdCBzdWl0ZQorLy8gICBuYW1lOiAgICAgICAgIG5hbWUgb2YgdGhlIHRlc3Qg
c3VpdGUKIC8vICAgYV90eXBlX3BhcmFtOiB0aGUgbmFtZSBvZiB0aGUgdGVzdCBzdWl0ZSdzIHR5
cGUgcGFyYW1ldGVyLCBvciBOVUxMIGlmCiAvLyAgICAgICAgICAgICAgICAgdGhpcyBpcyBub3Qg
YSB0eXBlZCBvciBhIHR5cGUtcGFyYW1ldGVyaXplZCB0ZXN0IHN1aXRlLgogLy8gICBzZXRfdXBf
dGM6ICAgIHBvaW50ZXIgdG8gdGhlIGZ1bmN0aW9uIHRoYXQgc2V0cyB1cCB0aGUgdGVzdCBzdWl0
ZQpAQCAtMjk5MywzMyArMjk2NCwxOSBAQCB2b2lkIFRlc3RTdWl0ZTo6UnVuKCkgewogICAvLyBD
YWxsIGJvdGggbGVnYWN5IGFuZCB0aGUgbmV3IEFQSQogICByZXBlYXRlci0+T25UZXN0U3VpdGVT
dGFydCgqdGhpcyk7CiAvLyAgTGVnYWN5IEFQSSBpcyBkZXByZWNhdGVkIGJ1dCBzdGlsbCBhdmFp
bGFibGUKLSNpZm5kZWYgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElfCisjaWZuZGVm
IEdURVNUX1JFTU9WRV9MRUdBQ1lfVEVTVF9DQVNFQVBJCiAgIHJlcGVhdGVyLT5PblRlc3RDYXNl
U3RhcnQoKnRoaXMpOwotI2VuZGlmICAvLyAgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VB
UElfCisjZW5kaWYgIC8vICBHVEVTVF9SRU1PVkVfTEVHQUNZX1RFU1RfQ0FTRUFQSQogCiAgIGlt
cGwtPm9zX3N0YWNrX3RyYWNlX2dldHRlcigpLT5VcG9uTGVhdmluZ0dUZXN0KCk7CiAgIGludGVy
bmFsOjpIYW5kbGVFeGNlcHRpb25zSW5NZXRob2RJZlN1cHBvcnRlZCgKICAgICAgIHRoaXMsICZU
ZXN0U3VpdGU6OlJ1blNldFVwVGVzdFN1aXRlLCAiU2V0VXBUZXN0U3VpdGUoKSIpOwogCi0gIGNv
bnN0IGJvb2wgc2tpcF9hbGwgPSBhZF9ob2NfdGVzdF9yZXN1bHQoKS5GYWlsZWQoKTsKLQogICBz
dGFydF90aW1lc3RhbXBfID0gaW50ZXJuYWw6OkdldFRpbWVJbk1pbGxpcygpOwotICBpbnRlcm5h
bDo6VGltZXIgdGltZXI7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgdG90YWxfdGVzdF9jb3VudCgp
OyBpKyspIHsKLSAgICBpZiAoc2tpcF9hbGwpIHsKLSAgICAgIEdldE11dGFibGVUZXN0SW5mbyhp
KS0+U2tpcCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICBHZXRNdXRhYmxlVGVzdEluZm8oaSktPlJ1
bigpOwotICAgIH0KLSAgICBpZiAoR1RFU1RfRkxBR19HRVQoZmFpbF9mYXN0KSAmJgotICAgICAg
ICBHZXRNdXRhYmxlVGVzdEluZm8oaSktPnJlc3VsdCgpLT5GYWlsZWQoKSkgewotICAgICAgZm9y
IChpbnQgaiA9IGkgKyAxOyBqIDwgdG90YWxfdGVzdF9jb3VudCgpOyBqKyspIHsKLSAgICAgICAg
R2V0TXV0YWJsZVRlc3RJbmZvKGopLT5Ta2lwKCk7Ci0gICAgICB9Ci0gICAgICBicmVhazsKLSAg
ICB9CisgICAgR2V0TXV0YWJsZVRlc3RJbmZvKGkpLT5SdW4oKTsKICAgfQotICBlbGFwc2VkX3Rp
bWVfID0gdGltZXIuRWxhcHNlZCgpOworICBlbGFwc2VkX3RpbWVfID0gaW50ZXJuYWw6OkdldFRp
bWVJbk1pbGxpcygpIC0gc3RhcnRfdGltZXN0YW1wXzsKIAogICBpbXBsLT5vc19zdGFja190cmFj
ZV9nZXR0ZXIoKS0+VXBvbkxlYXZpbmdHVGVzdCgpOwogICBpbnRlcm5hbDo6SGFuZGxlRXhjZXB0
aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQoCkBAIC0zMDI4LDM5ICsyOTg1LDkgQEAgdm9pZCBUZXN0
U3VpdGU6OlJ1bigpIHsKICAgLy8gQ2FsbCBib3RoIGxlZ2FjeSBhbmQgdGhlIG5ldyBBUEkKICAg
cmVwZWF0ZXItPk9uVGVzdFN1aXRlRW5kKCp0aGlzKTsKIC8vICBMZWdhY3kgQVBJIGlzIGRlcHJl
Y2F0ZWQgYnV0IHN0aWxsIGF2YWlsYWJsZQotI2lmbmRlZiBHVEVTVF9SRU1PVkVfTEVHQUNZX1RF
U1RfQ0FTRUFQSV8KKyNpZm5kZWYgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUEkKICAg
cmVwZWF0ZXItPk9uVGVzdENhc2VFbmQoKnRoaXMpOwotI2VuZGlmICAvLyAgR1RFU1RfUkVNT1ZF
X0xFR0FDWV9URVNUX0NBU0VBUElfCi0KLSAgaW1wbC0+c2V0X2N1cnJlbnRfdGVzdF9zdWl0ZShu
dWxscHRyKTsKLX0KLQotLy8gU2tpcHMgYWxsIHRlc3RzIHVuZGVyIHRoaXMgVGVzdFN1aXRlLgot
dm9pZCBUZXN0U3VpdGU6OlNraXAoKSB7Ci0gIGlmICghc2hvdWxkX3J1bl8pIHJldHVybjsKLQot
ICBpbnRlcm5hbDo6VW5pdFRlc3RJbXBsKiBjb25zdCBpbXBsID0gaW50ZXJuYWw6OkdldFVuaXRU
ZXN0SW1wbCgpOwotICBpbXBsLT5zZXRfY3VycmVudF90ZXN0X3N1aXRlKHRoaXMpOwotCi0gIFRl
c3RFdmVudExpc3RlbmVyKiByZXBlYXRlciA9IFVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5saXN0
ZW5lcnMoKS5yZXBlYXRlcigpOwotCi0gIC8vIENhbGwgYm90aCBsZWdhY3kgYW5kIHRoZSBuZXcg
QVBJCi0gIHJlcGVhdGVyLT5PblRlc3RTdWl0ZVN0YXJ0KCp0aGlzKTsKLS8vICBMZWdhY3kgQVBJ
IGlzIGRlcHJlY2F0ZWQgYnV0IHN0aWxsIGF2YWlsYWJsZQotI2lmbmRlZiBHVEVTVF9SRU1PVkVf
TEVHQUNZX1RFU1RfQ0FTRUFQSV8KLSAgcmVwZWF0ZXItPk9uVGVzdENhc2VTdGFydCgqdGhpcyk7
Ci0jZW5kaWYgIC8vICBHVEVTVF9SRU1PVkVfTEVHQUNZX1RFU1RfQ0FTRUFQSV8KLQotICBmb3Ig
KGludCBpID0gMDsgaSA8IHRvdGFsX3Rlc3RfY291bnQoKTsgaSsrKSB7Ci0gICAgR2V0TXV0YWJs
ZVRlc3RJbmZvKGkpLT5Ta2lwKCk7Ci0gIH0KLQotICAvLyBDYWxsIGJvdGggbGVnYWN5IGFuZCB0
aGUgbmV3IEFQSQotICByZXBlYXRlci0+T25UZXN0U3VpdGVFbmQoKnRoaXMpOwotICAvLyBMZWdh
Y3kgQVBJIGlzIGRlcHJlY2F0ZWQgYnV0IHN0aWxsIGF2YWlsYWJsZQotI2lmbmRlZiBHVEVTVF9S
RU1PVkVfTEVHQUNZX1RFU1RfQ0FTRUFQSV8KLSAgcmVwZWF0ZXItPk9uVGVzdENhc2VFbmQoKnRo
aXMpOwotI2VuZGlmICAvLyAgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElfCisjZW5k
aWYgIC8vICBHVEVTVF9SRU1PVkVfTEVHQUNZX1RFU1RfQ0FTRUFQSQogCiAgIGltcGwtPnNldF9j
dXJyZW50X3Rlc3Rfc3VpdGUobnVsbHB0cik7CiB9CkBAIC0zMDg4LDEwICszMDE1LDExIEBAIHZv
aWQgVGVzdFN1aXRlOjpVbnNodWZmbGVUZXN0cygpIHsKIC8vCiAvLyBGb3JtYXRDb3VudGFibGVO
b3VuKDEsICJmb3JtdWxhIiwgImZvcm11bGkiKSByZXR1cm5zICIxIGZvcm11bGEiLgogLy8gRm9y
bWF0Q291bnRhYmxlTm91big1LCAiYm9vayIsICJib29rcyIpIHJldHVybnMgIjUgYm9va3MiLgot
c3RhdGljIHN0ZDo6c3RyaW5nIEZvcm1hdENvdW50YWJsZU5vdW4oaW50IGNvdW50LCBjb25zdCBj
aGFyKiBzaW5ndWxhcl9mb3JtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgY2hhciogcGx1cmFsX2Zvcm0pIHsKK3N0YXRpYyBzdGQ6OnN0cmluZyBGb3JtYXRD
b3VudGFibGVOb3VuKGludCBjb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGNoYXIgKiBzaW5ndWxhcl9mb3JtLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqIHBsdXJhbF9mb3JtKSB7CiAgIHJldHVybiBp
bnRlcm5hbDo6U3RyZWFtYWJsZVRvU3RyaW5nKGNvdW50KSArICIgIiArCi0gICAgICAgICAoY291
bnQgPT0gMSA/IHNpbmd1bGFyX2Zvcm0gOiBwbHVyYWxfZm9ybSk7CisgICAgICAoY291bnQgPT0g
MSA/IHNpbmd1bGFyX2Zvcm0gOiBwbHVyYWxfZm9ybSk7CiB9CiAKIC8vIEZvcm1hdHMgdGhlIGNv
dW50IG9mIHRlc3RzLgpAQCAtMzEwOCwxMCArMzAzNiwxMCBAQCBzdGF0aWMgc3RkOjpzdHJpbmcg
Rm9ybWF0VGVzdFN1aXRlQ291bnQoaW50IHRlc3Rfc3VpdGVfY291bnQpIHsKIC8vIHJlcHJlc2Vu
dGF0aW9uLiAgQm90aCBrTm9uRmF0YWxGYWlsdXJlIGFuZCBrRmF0YWxGYWlsdXJlIGFyZSB0cmFu
c2xhdGVkCiAvLyB0byAiRmFpbHVyZSIsIGFzIHRoZSB1c2VyIHVzdWFsbHkgZG9lc24ndCBjYXJl
IGFib3V0IHRoZSBkaWZmZXJlbmNlCiAvLyBiZXR3ZWVuIHRoZSB0d28gd2hlbiB2aWV3aW5nIHRo
ZSB0ZXN0IHJlc3VsdC4KLXN0YXRpYyBjb25zdCBjaGFyKiBUZXN0UGFydFJlc3VsdFR5cGVUb1N0
cmluZyhUZXN0UGFydFJlc3VsdDo6VHlwZSB0eXBlKSB7CitzdGF0aWMgY29uc3QgY2hhciAqIFRl
c3RQYXJ0UmVzdWx0VHlwZVRvU3RyaW5nKFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHR5cGUpIHsKICAg
c3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBUZXN0UGFydFJlc3VsdDo6a1NraXA6Ci0gICAgICBy
ZXR1cm4gIlNraXBwZWRcbiI7CisgICAgICByZXR1cm4gIlNraXBwZWQiOwogICAgIGNhc2UgVGVz
dFBhcnRSZXN1bHQ6OmtTdWNjZXNzOgogICAgICAgcmV0dXJuICJTdWNjZXNzIjsKIApAQCAtMzEy
OCwyNSArMzA1NiwyMSBAQCBzdGF0aWMgY29uc3QgY2hhciogVGVzdFBhcnRSZXN1bHRUeXBlVG9T
dHJpbmcoVGVzdFBhcnRSZXN1bHQ6OlR5cGUgdHlwZSkgewogfQogCiBuYW1lc3BhY2UgaW50ZXJu
YWwgewotbmFtZXNwYWNlIHsKLWVudW0gY2xhc3MgR1Rlc3RDb2xvciB7IGtEZWZhdWx0LCBrUmVk
LCBrR3JlZW4sIGtZZWxsb3cgfTsKLX0gIC8vIG5hbWVzcGFjZQogCiAvLyBQcmludHMgYSBUZXN0
UGFydFJlc3VsdCB0byBhbiBzdGQ6OnN0cmluZy4KIHN0YXRpYyBzdGQ6OnN0cmluZyBQcmludFRl
c3RQYXJ0UmVzdWx0VG9TdHJpbmcoCiAgICAgY29uc3QgVGVzdFBhcnRSZXN1bHQmIHRlc3RfcGFy
dF9yZXN1bHQpIHsKLSAgcmV0dXJuIChNZXNzYWdlKCkgPDwgaW50ZXJuYWw6OkZvcm1hdEZpbGVM
b2NhdGlvbigKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcGFydF9yZXN1bHQuZmls
ZV9uYW1lKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3BhcnRfcmVzdWx0Lmxp
bmVfbnVtYmVyKCkpCi0gICAgICAgICAgICAgICAgICAgIDw8ICIgIgotICAgICAgICAgICAgICAg
ICAgICA8PCBUZXN0UGFydFJlc3VsdFR5cGVUb1N0cmluZyh0ZXN0X3BhcnRfcmVzdWx0LnR5cGUo
KSkKLSAgICAgICAgICAgICAgICAgICAgPDwgdGVzdF9wYXJ0X3Jlc3VsdC5tZXNzYWdlKCkpCi0g
ICAgICAuR2V0U3RyaW5nKCk7CisgIHJldHVybiAoTWVzc2FnZSgpCisgICAgICAgICAgPDwgaW50
ZXJuYWw6OkZvcm1hdEZpbGVMb2NhdGlvbih0ZXN0X3BhcnRfcmVzdWx0LmZpbGVfbmFtZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9wYXJ0X3Jlc3Vs
dC5saW5lX251bWJlcigpKQorICAgICAgICAgIDw8ICIgIiA8PCBUZXN0UGFydFJlc3VsdFR5cGVU
b1N0cmluZyh0ZXN0X3BhcnRfcmVzdWx0LnR5cGUoKSkKKyAgICAgICAgICA8PCB0ZXN0X3BhcnRf
cmVzdWx0Lm1lc3NhZ2UoKSkuR2V0U3RyaW5nKCk7CiB9CiAKIC8vIFByaW50cyBhIFRlc3RQYXJ0
UmVzdWx0Lgogc3RhdGljIHZvaWQgUHJpbnRUZXN0UGFydFJlc3VsdChjb25zdCBUZXN0UGFydFJl
c3VsdCYgdGVzdF9wYXJ0X3Jlc3VsdCkgewotICBjb25zdCBzdGQ6OnN0cmluZyYgcmVzdWx0ID0g
UHJpbnRUZXN0UGFydFJlc3VsdFRvU3RyaW5nKHRlc3RfcGFydF9yZXN1bHQpOworICBjb25zdCBz
dGQ6OnN0cmluZyYgcmVzdWx0ID0KKyAgICAgIFByaW50VGVzdFBhcnRSZXN1bHRUb1N0cmluZyh0
ZXN0X3BhcnRfcmVzdWx0KTsKICAgcHJpbnRmKCIlc1xuIiwgcmVzdWx0LmNfc3RyKCkpOwogICBm
Zmx1c2goc3Rkb3V0KTsKICAgLy8gSWYgdGhlIHRlc3QgcHJvZ3JhbSBydW5zIGluIFZpc3VhbCBT
dHVkaW8gb3IgYSBkZWJ1Z2dlciwgdGhlCkBAIC0zMTYzLDIwICszMDg3LDE2IEBAIHN0YXRpYyB2
b2lkIFByaW50VGVzdFBhcnRSZXN1bHQoY29uc3QgVGVzdFBhcnRSZXN1bHQmIHRlc3RfcGFydF9y
ZXN1bHQpIHsKIH0KIAogLy8gY2xhc3MgUHJldHR5VW5pdFRlc3RSZXN1bHRQcmludGVyCi0jaWYg
R1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfV0lORE9XU19NT0JJTEUgJiYgIUdURVNUX09T
X1dJTkRPV1NfUEhPTkUgJiYgXAotICAgICFHVEVTVF9PU19XSU5ET1dTX1JUICYmICFHVEVTVF9P
U19XSU5ET1dTX01JTkdXCisjaWYgR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfV0lORE9X
U19NT0JJTEUgJiYgXAorICAgICFHVEVTVF9PU19XSU5ET1dTX1BIT05FICYmICFHVEVTVF9PU19X
SU5ET1dTX1JUICYmICFHVEVTVF9PU19XSU5ET1dTX01JTkdXCiAKIC8vIFJldHVybnMgdGhlIGNo
YXJhY3RlciBhdHRyaWJ1dGUgZm9yIHRoZSBnaXZlbiBjb2xvci4KIHN0YXRpYyBXT1JEIEdldENv
bG9yQXR0cmlidXRlKEdUZXN0Q29sb3IgY29sb3IpIHsKICAgc3dpdGNoIChjb2xvcikgewotICAg
IGNhc2UgR1Rlc3RDb2xvcjo6a1JlZDoKLSAgICAgIHJldHVybiBGT1JFR1JPVU5EX1JFRDsKLSAg
ICBjYXNlIEdUZXN0Q29sb3I6OmtHcmVlbjoKLSAgICAgIHJldHVybiBGT1JFR1JPVU5EX0dSRUVO
OwotICAgIGNhc2UgR1Rlc3RDb2xvcjo6a1llbGxvdzoKLSAgICAgIHJldHVybiBGT1JFR1JPVU5E
X1JFRCB8IEZPUkVHUk9VTkRfR1JFRU47Ci0gICAgZGVmYXVsdDoKLSAgICAgIHJldHVybiAwOwor
ICAgIGNhc2UgQ09MT1JfUkVEOiAgICByZXR1cm4gRk9SRUdST1VORF9SRUQ7CisgICAgY2FzZSBD
T0xPUl9HUkVFTjogIHJldHVybiBGT1JFR1JPVU5EX0dSRUVOOworICAgIGNhc2UgQ09MT1JfWUVM
TE9XOiByZXR1cm4gRk9SRUdST1VORF9SRUQgfCBGT1JFR1JPVU5EX0dSRUVOOworICAgIGRlZmF1
bHQ6ICAgICAgICAgICByZXR1cm4gMDsKICAgfQogfQogCkBAIC0zMjEzLDE2ICszMTMzLDEzIEBA
IHN0YXRpYyBXT1JEIEdldE5ld0NvbG9yKEdUZXN0Q29sb3IgY29sb3IsIFdPUkQgb2xkX2NvbG9y
X2F0dHJzKSB7CiAKICNlbHNlCiAKLS8vIFJldHVybnMgdGhlIEFOU0kgY29sb3IgY29kZSBmb3Ig
dGhlIGdpdmVuIGNvbG9yLiBHVGVzdENvbG9yOjprRGVmYXVsdCBpcworLy8gUmV0dXJucyB0aGUg
QU5TSSBjb2xvciBjb2RlIGZvciB0aGUgZ2l2ZW4gY29sb3IuICBDT0xPUl9ERUZBVUxUIGlzCiAv
LyBhbiBpbnZhbGlkIGlucHV0Lgogc3RhdGljIGNvbnN0IGNoYXIqIEdldEFuc2lDb2xvckNvZGUo
R1Rlc3RDb2xvciBjb2xvcikgewogICBzd2l0Y2ggKGNvbG9yKSB7Ci0gICAgY2FzZSBHVGVzdENv
bG9yOjprUmVkOgotICAgICAgcmV0dXJuICIxIjsKLSAgICBjYXNlIEdUZXN0Q29sb3I6OmtHcmVl
bjoKLSAgICAgIHJldHVybiAiMiI7Ci0gICAgY2FzZSBHVGVzdENvbG9yOjprWWVsbG93OgotICAg
ICAgcmV0dXJuICIzIjsKKyAgICBjYXNlIENPTE9SX1JFRDogICAgIHJldHVybiAiMSI7CisgICAg
Y2FzZSBDT0xPUl9HUkVFTjogICByZXR1cm4gIjIiOworICAgIGNhc2UgQ09MT1JfWUVMTE9XOiAg
cmV0dXJuICIzIjsKICAgICBkZWZhdWx0OgogICAgICAgcmV0dXJuIG51bGxwdHI7CiAgIH0KQEAg
LTMyMzIsOCArMzE0OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBHZXRBbnNpQ29sb3JDb2RlKEdU
ZXN0Q29sb3IgY29sb3IpIHsKIAogLy8gUmV0dXJucyB0cnVlIGlmIGFuZCBvbmx5IGlmIEdvb2ds
ZSBUZXN0IHNob3VsZCB1c2UgY29sb3JzIGluIHRoZSBvdXRwdXQuCiBib29sIFNob3VsZFVzZUNv
bG9yKGJvb2wgc3Rkb3V0X2lzX3R0eSkgewotICBzdGQ6OnN0cmluZyBjID0gR1RFU1RfRkxBR19H
RVQoY29sb3IpOwotICBjb25zdCBjaGFyKiBjb25zdCBndGVzdF9jb2xvciA9IGMuY19zdHIoKTsK
KyAgY29uc3QgY2hhciogY29uc3QgZ3Rlc3RfY29sb3IgPSBHVEVTVF9GTEFHKGNvbG9yKS5jX3N0
cigpOwogCiAgIGlmIChTdHJpbmc6OkNhc2VJbnNlbnNpdGl2ZUNTdHJpbmdFcXVhbHMoZ3Rlc3Rf
Y29sb3IsICJhdXRvIikpIHsKICNpZiBHVEVTVF9PU19XSU5ET1dTICYmICFHVEVTVF9PU19XSU5E
T1dTX01JTkdXCkBAIC0zMjYwLDkgKzMxNzYsOSBAQCBib29sIFNob3VsZFVzZUNvbG9yKGJvb2wg
c3Rkb3V0X2lzX3R0eSkgewogICB9CiAKICAgcmV0dXJuIFN0cmluZzo6Q2FzZUluc2Vuc2l0aXZl
Q1N0cmluZ0VxdWFscyhndGVzdF9jb2xvciwgInllcyIpIHx8Ci0gICAgICAgICBTdHJpbmc6OkNh
c2VJbnNlbnNpdGl2ZUNTdHJpbmdFcXVhbHMoZ3Rlc3RfY29sb3IsICJ0cnVlIikgfHwKLSAgICAg
ICAgIFN0cmluZzo6Q2FzZUluc2Vuc2l0aXZlQ1N0cmluZ0VxdWFscyhndGVzdF9jb2xvciwgInQi
KSB8fAotICAgICAgICAgU3RyaW5nOjpDU3RyaW5nRXF1YWxzKGd0ZXN0X2NvbG9yLCAiMSIpOwor
ICAgICAgU3RyaW5nOjpDYXNlSW5zZW5zaXRpdmVDU3RyaW5nRXF1YWxzKGd0ZXN0X2NvbG9yLCAi
dHJ1ZSIpIHx8CisgICAgICBTdHJpbmc6OkNhc2VJbnNlbnNpdGl2ZUNTdHJpbmdFcXVhbHMoZ3Rl
c3RfY29sb3IsICJ0IikgfHwKKyAgICAgIFN0cmluZzo6Q1N0cmluZ0VxdWFscyhndGVzdF9jb2xv
ciwgIjEiKTsKICAgLy8gV2UgdGFrZSAieWVzIiwgInRydWUiLCAidCIsIGFuZCAiMSIgYXMgbWVh
bmluZyAieWVzIi4gIElmIHRoZQogICAvLyB2YWx1ZSBpcyBuZWl0aGVyIG9uZSBvZiB0aGVzZSBu
b3IgImF1dG8iLCB3ZSB0cmVhdCBpdCBhcyAibm8iIHRvCiAgIC8vIGJlIGNvbnNlcnZhdGl2ZS4K
QEAgLTMyNzIsMTUgKzMxODgsMTggQEAgYm9vbCBTaG91bGRVc2VDb2xvcihib29sIHN0ZG91dF9p
c190dHkpIHsKIC8vIGNhbm5vdCBzaW1wbHkgZW1pdCBzcGVjaWFsIGNoYXJhY3RlcnMgYW5kIGhh
dmUgdGhlIHRlcm1pbmFsIGNoYW5nZSBjb2xvcnMuCiAvLyBUaGlzIHJvdXRpbmUgbXVzdCBhY3R1
YWxseSBlbWl0IHRoZSBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHJldHVybiBhIHN0cmluZwogLy8g
dGhhdCB3b3VsZCBiZSBjb2xvcmVkIHdoZW4gcHJpbnRlZCwgYXMgY2FuIGJlIGRvbmUgb24gTGlu
dXguCi0KLUdURVNUX0FUVFJJQlVURV9QUklOVEZfKDIsIDMpCi1zdGF0aWMgdm9pZCBDb2xvcmVk
UHJpbnRmKEdUZXN0Q29sb3IgY29sb3IsIGNvbnN0IGNoYXIqIGZtdCwgLi4uKSB7Cit2b2lkIENv
bG9yZWRQcmludGYoR1Rlc3RDb2xvciBjb2xvciwgY29uc3QgY2hhciogZm10LCAuLi4pIHsKICAg
dmFfbGlzdCBhcmdzOwogICB2YV9zdGFydChhcmdzLCBmbXQpOwogCisjaWYgR1RFU1RfT1NfV0lO
RE9XU19NT0JJTEUgfHwgR1RFU1RfT1NfWk9TIHx8IEdURVNUX09TX0lPUyB8fCBcCisgICAgR1RF
U1RfT1NfV0lORE9XU19QSE9ORSB8fCBHVEVTVF9PU19XSU5ET1dTX1JUIHx8IGRlZmluZWQoRVNQ
X1BMQVRGT1JNKQorICBjb25zdCBib29sIHVzZV9jb2xvciA9IEFsd2F5c0ZhbHNlKCk7CisjZWxz
ZQogICBzdGF0aWMgY29uc3QgYm9vbCBpbl9jb2xvcl9tb2RlID0KICAgICAgIFNob3VsZFVzZUNv
bG9yKHBvc2l4OjpJc0FUVFkocG9zaXg6OkZpbGVObyhzdGRvdXQpKSAhPSAwKTsKLSAgY29uc3Qg
Ym9vbCB1c2VfY29sb3IgPSBpbl9jb2xvcl9tb2RlICYmIChjb2xvciAhPSBHVGVzdENvbG9yOjpr
RGVmYXVsdCk7CisgIGNvbnN0IGJvb2wgdXNlX2NvbG9yID0gaW5fY29sb3JfbW9kZSAmJiAoY29s
b3IgIT0gQ09MT1JfREVGQVVMVCk7CisjZW5kaWYgIC8vIEdURVNUX09TX1dJTkRPV1NfTU9CSUxF
IHx8IEdURVNUX09TX1pPUwogCiAgIGlmICghdXNlX2NvbG9yKSB7CiAgICAgdnByaW50ZihmbXQs
IGFyZ3MpOwpAQCAtMzI4OCw4ICszMjA3LDggQEAgc3RhdGljIHZvaWQgQ29sb3JlZFByaW50ZihH
VGVzdENvbG9yIGNvbG9yLCBjb25zdCBjaGFyKiBmbXQsIC4uLikgewogICAgIHJldHVybjsKICAg
fQogCi0jaWYgR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfV0lORE9XU19NT0JJTEUgJiYg
IUdURVNUX09TX1dJTkRPV1NfUEhPTkUgJiYgXAotICAgICFHVEVTVF9PU19XSU5ET1dTX1JUICYm
ICFHVEVTVF9PU19XSU5ET1dTX01JTkdXCisjaWYgR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1Rf
T1NfV0lORE9XU19NT0JJTEUgJiYgXAorICAgICFHVEVTVF9PU19XSU5ET1dTX1BIT05FICYmICFH
VEVTVF9PU19XSU5ET1dTX1JUICYmICFHVEVTVF9PU19XSU5ET1dTX01JTkdXCiAgIGNvbnN0IEhB
TkRMRSBzdGRvdXRfaGFuZGxlID0gR2V0U3RkSGFuZGxlKFNURF9PVVRQVVRfSEFORExFKTsKIAog
ICAvLyBHZXRzIHRoZSBjdXJyZW50IHRleHQgY29sb3IuCkBAIC0zMzYwLDcgKzMyNzksNiBAQCBj
bGFzcyBQcmV0dHlVbml0VGVzdFJlc3VsdFByaW50ZXIgOiBwdWJsaWMgVGVzdEV2ZW50TGlzdGVu
ZXIgewogI2VuZGlmICAvLyBPblRlc3RDYXNlU3RhcnQKIAogICB2b2lkIE9uVGVzdFN0YXJ0KGNv
bnN0IFRlc3RJbmZvJiB0ZXN0X2luZm8pIG92ZXJyaWRlOwotICB2b2lkIE9uVGVzdERpc2FibGVk
KGNvbnN0IFRlc3RJbmZvJiB0ZXN0X2luZm8pIG92ZXJyaWRlOwogCiAgIHZvaWQgT25UZXN0UGFy
dFJlc3VsdChjb25zdCBUZXN0UGFydFJlc3VsdCYgcmVzdWx0KSBvdmVycmlkZTsKICAgdm9pZCBP
blRlc3RFbmQoY29uc3QgVGVzdEluZm8mIHRlc3RfaW5mbykgb3ZlcnJpZGU7CkBAIC0zMzgxLDM2
ICszMjk5LDM2IEBAIGNsYXNzIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlciA6IHB1YmxpYyBU
ZXN0RXZlbnRMaXN0ZW5lciB7CiAgIHN0YXRpYyB2b2lkIFByaW50U2tpcHBlZFRlc3RzKGNvbnN0
IFVuaXRUZXN0JiB1bml0X3Rlc3QpOwogfTsKIAotLy8gRmlyZWQgYmVmb3JlIGVhY2ggaXRlcmF0
aW9uIG9mIHRlc3RzIHN0YXJ0cy4KKyAgLy8gRmlyZWQgYmVmb3JlIGVhY2ggaXRlcmF0aW9uIG9m
IHRlc3RzIHN0YXJ0cy4KIHZvaWQgUHJldHR5VW5pdFRlc3RSZXN1bHRQcmludGVyOjpPblRlc3RJ
dGVyYXRpb25TdGFydCgKICAgICBjb25zdCBVbml0VGVzdCYgdW5pdF90ZXN0LCBpbnQgaXRlcmF0
aW9uKSB7Ci0gIGlmIChHVEVTVF9GTEFHX0dFVChyZXBlYXQpICE9IDEpCisgIGlmIChHVEVTVF9G
TEFHKHJlcGVhdCkgIT0gMSkKICAgICBwcmludGYoIlxuUmVwZWF0aW5nIGFsbCB0ZXN0cyAoaXRl
cmF0aW9uICVkKSAuIC4gLlxuXG4iLCBpdGVyYXRpb24gKyAxKTsKIAotICBzdGQ6OnN0cmluZyBm
ID0gR1RFU1RfRkxBR19HRVQoZmlsdGVyKTsKLSAgY29uc3QgY2hhciogY29uc3QgZmlsdGVyID0g
Zi5jX3N0cigpOworICBjb25zdCBjaGFyKiBjb25zdCBmaWx0ZXIgPSBHVEVTVF9GTEFHKGZpbHRl
cikuY19zdHIoKTsKIAogICAvLyBQcmludHMgdGhlIGZpbHRlciBpZiBpdCdzIG5vdCAqLiAgVGhp
cyByZW1pbmRzIHRoZSB1c2VyIHRoYXQgc29tZQogICAvLyB0ZXN0cyBtYXkgYmUgc2tpcHBlZC4K
ICAgaWYgKCFTdHJpbmc6OkNTdHJpbmdFcXVhbHMoZmlsdGVyLCBrVW5pdmVyc2FsRmlsdGVyKSkg
ewotICAgIENvbG9yZWRQcmludGYoR1Rlc3RDb2xvcjo6a1llbGxvdywgIk5vdGU6ICVzIGZpbHRl
ciA9ICVzXG4iLCBHVEVTVF9OQU1FXywKLSAgICAgICAgICAgICAgICAgIGZpbHRlcik7CisgICAg
Q29sb3JlZFByaW50ZihDT0xPUl9ZRUxMT1csCisgICAgICAgICAgICAgICAgICAiTm90ZTogJXMg
ZmlsdGVyID0gJXNcbiIsIEdURVNUX05BTUVfLCBmaWx0ZXIpOwogICB9CiAKICAgaWYgKGludGVy
bmFsOjpTaG91bGRTaGFyZChrVGVzdFRvdGFsU2hhcmRzLCBrVGVzdFNoYXJkSW5kZXgsIGZhbHNl
KSkgewogICAgIGNvbnN0IGludDMyX3Qgc2hhcmRfaW5kZXggPSBJbnQzMkZyb21FbnZPckRpZShr
VGVzdFNoYXJkSW5kZXgsIC0xKTsKLSAgICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtZZWxs
b3csICJOb3RlOiBUaGlzIGlzIHRlc3Qgc2hhcmQgJWQgb2YgJXMuXG4iLAorICAgIENvbG9yZWRQ
cmludGYoQ09MT1JfWUVMTE9XLAorICAgICAgICAgICAgICAgICAgIk5vdGU6IFRoaXMgaXMgdGVz
dCBzaGFyZCAlZCBvZiAlcy5cbiIsCiAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+
KHNoYXJkX2luZGV4KSArIDEsCiAgICAgICAgICAgICAgICAgICBpbnRlcm5hbDo6cG9zaXg6Okdl
dEVudihrVGVzdFRvdGFsU2hhcmRzKSk7CiAgIH0KIAotICBpZiAoR1RFU1RfRkxBR19HRVQoc2h1
ZmZsZSkpIHsKLSAgICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtZZWxsb3csCisgIGlmIChH
VEVTVF9GTEFHKHNodWZmbGUpKSB7CisgICAgQ29sb3JlZFByaW50ZihDT0xPUl9ZRUxMT1csCiAg
ICAgICAgICAgICAgICAgICAiTm90ZTogUmFuZG9taXppbmcgdGVzdHMnIG9yZGVycyB3aXRoIGEg
c2VlZCBvZiAlZCAuXG4iLAogICAgICAgICAgICAgICAgICAgdW5pdF90ZXN0LnJhbmRvbV9zZWVk
KCkpOwogICB9CiAKLSAgQ29sb3JlZFByaW50ZihHVGVzdENvbG9yOjprR3JlZW4sICJbPT09PT09
PT09PV0gIik7CisgIENvbG9yZWRQcmludGYoQ09MT1JfR1JFRU4sICAiWz09PT09PT09PT1dICIp
OwogICBwcmludGYoIlJ1bm5pbmcgJXMgZnJvbSAlcy5cbiIsCiAgICAgICAgICBGb3JtYXRUZXN0
Q291bnQodW5pdF90ZXN0LnRlc3RfdG9fcnVuX2NvdW50KCkpLmNfc3RyKCksCiAgICAgICAgICBG
b3JtYXRUZXN0U3VpdGVDb3VudCh1bml0X3Rlc3QudGVzdF9zdWl0ZV90b19ydW5fY291bnQoKSku
Y19zdHIoKSk7CkBAIC0zNDE5LDcgKzMzMzcsNyBAQCB2b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0
UHJpbnRlcjo6T25UZXN0SXRlcmF0aW9uU3RhcnQoCiAKIHZvaWQgUHJldHR5VW5pdFRlc3RSZXN1
bHRQcmludGVyOjpPbkVudmlyb25tZW50c1NldFVwU3RhcnQoCiAgICAgY29uc3QgVW5pdFRlc3Qm
IC8qdW5pdF90ZXN0Ki8pIHsKLSAgQ29sb3JlZFByaW50ZihHVGVzdENvbG9yOjprR3JlZW4sICJb
LS0tLS0tLS0tLV0gIik7CisgIENvbG9yZWRQcmludGYoQ09MT1JfR1JFRU4sICAiWy0tLS0tLS0t
LS1dICIpOwogICBwcmludGYoIkdsb2JhbCB0ZXN0IGVudmlyb25tZW50IHNldC11cC5cbiIpOwog
ICBmZmx1c2goc3Rkb3V0KTsKIH0KQEAgLTM0MjgsNyArMzM0Niw3IEBAIHZvaWQgUHJldHR5VW5p
dFRlc3RSZXN1bHRQcmludGVyOjpPbkVudmlyb25tZW50c1NldFVwU3RhcnQoCiB2b2lkIFByZXR0
eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T25UZXN0Q2FzZVN0YXJ0KGNvbnN0IFRlc3RDYXNlJiB0
ZXN0X2Nhc2UpIHsKICAgY29uc3Qgc3RkOjpzdHJpbmcgY291bnRzID0KICAgICAgIEZvcm1hdENv
dW50YWJsZU5vdW4odGVzdF9jYXNlLnRlc3RfdG9fcnVuX2NvdW50KCksICJ0ZXN0IiwgInRlc3Rz
Iik7Ci0gIENvbG9yZWRQcmludGYoR1Rlc3RDb2xvcjo6a0dyZWVuLCAiWy0tLS0tLS0tLS1dICIp
OworICBDb2xvcmVkUHJpbnRmKENPTE9SX0dSRUVOLCAiWy0tLS0tLS0tLS1dICIpOwogICBwcmlu
dGYoIiVzIGZyb20gJXMiLCBjb3VudHMuY19zdHIoKSwgdGVzdF9jYXNlLm5hbWUoKSk7CiAgIGlm
ICh0ZXN0X2Nhc2UudHlwZV9wYXJhbSgpID09IG51bGxwdHIpIHsKICAgICBwcmludGYoIlxuIik7
CkBAIC0zNDQyLDcgKzMzNjAsNyBAQCB2b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6
T25UZXN0U3VpdGVTdGFydCgKICAgICBjb25zdCBUZXN0U3VpdGUmIHRlc3Rfc3VpdGUpIHsKICAg
Y29uc3Qgc3RkOjpzdHJpbmcgY291bnRzID0KICAgICAgIEZvcm1hdENvdW50YWJsZU5vdW4odGVz
dF9zdWl0ZS50ZXN0X3RvX3J1bl9jb3VudCgpLCAidGVzdCIsICJ0ZXN0cyIpOwotICBDb2xvcmVk
UHJpbnRmKEdUZXN0Q29sb3I6OmtHcmVlbiwgIlstLS0tLS0tLS0tXSAiKTsKKyAgQ29sb3JlZFBy
aW50ZihDT0xPUl9HUkVFTiwgIlstLS0tLS0tLS0tXSAiKTsKICAgcHJpbnRmKCIlcyBmcm9tICVz
IiwgY291bnRzLmNfc3RyKCksIHRlc3Rfc3VpdGUubmFtZSgpKTsKICAgaWYgKHRlc3Rfc3VpdGUu
dHlwZV9wYXJhbSgpID09IG51bGxwdHIpIHsKICAgICBwcmludGYoIlxuIik7CkBAIC0zNDU0LDE0
ICszMzcyLDcgQEAgdm9pZCBQcmV0dHlVbml0VGVzdFJlc3VsdFByaW50ZXI6Ok9uVGVzdFN1aXRl
U3RhcnQoCiAjZW5kaWYgIC8vIEdURVNUX1JFTU9WRV9MRUdBQ1lfVEVTVF9DQVNFQVBJXwogCiB2
b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T25UZXN0U3RhcnQoY29uc3QgVGVzdElu
Zm8mIHRlc3RfaW5mbykgewotICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtHcmVlbiwgIlsg
UlVOICAgICAgXSAiKTsKLSAgUHJpbnRUZXN0TmFtZSh0ZXN0X2luZm8udGVzdF9zdWl0ZV9uYW1l
KCksIHRlc3RfaW5mby5uYW1lKCkpOwotICBwcmludGYoIlxuIik7Ci0gIGZmbHVzaChzdGRvdXQp
OwotfQotCi12b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T25UZXN0RGlzYWJsZWQo
Y29uc3QgVGVzdEluZm8mIHRlc3RfaW5mbykgewotICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6
OmtZZWxsb3csICJbIERJU0FCTEVEIF0gIik7CisgIENvbG9yZWRQcmludGYoQ09MT1JfR1JFRU4s
ICAiWyBSVU4gICAgICBdICIpOwogICBQcmludFRlc3ROYW1lKHRlc3RfaW5mby50ZXN0X3N1aXRl
X25hbWUoKSwgdGVzdF9pbmZvLm5hbWUoKSk7CiAgIHByaW50ZigiXG4iKTsKICAgZmZsdXNoKHN0
ZG91dCk7CkBAIC0zNDg0LDE5ICszMzk1LDE5IEBAIHZvaWQgUHJldHR5VW5pdFRlc3RSZXN1bHRQ
cmludGVyOjpPblRlc3RQYXJ0UmVzdWx0KAogCiB2b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJp
bnRlcjo6T25UZXN0RW5kKGNvbnN0IFRlc3RJbmZvJiB0ZXN0X2luZm8pIHsKICAgaWYgKHRlc3Rf
aW5mby5yZXN1bHQoKS0+UGFzc2VkKCkpIHsKLSAgICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6
OmtHcmVlbiwgIlsgICAgICAgT0sgXSAiKTsKKyAgICBDb2xvcmVkUHJpbnRmKENPTE9SX0dSRUVO
LCAiWyAgICAgICBPSyBdICIpOwogICB9IGVsc2UgaWYgKHRlc3RfaW5mby5yZXN1bHQoKS0+U2tp
cHBlZCgpKSB7Ci0gICAgQ29sb3JlZFByaW50ZihHVGVzdENvbG9yOjprR3JlZW4sICJbICBTS0lQ
UEVEIF0gIik7CisgICAgQ29sb3JlZFByaW50ZihDT0xPUl9HUkVFTiwgIlsgIFNLSVBQRUQgXSAi
KTsKICAgfSBlbHNlIHsKLSAgICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtSZWQsICJbICBG
QUlMRUQgIF0gIik7CisgICAgQ29sb3JlZFByaW50ZihDT0xPUl9SRUQsICJbICBGQUlMRUQgIF0g
Iik7CiAgIH0KICAgUHJpbnRUZXN0TmFtZSh0ZXN0X2luZm8udGVzdF9zdWl0ZV9uYW1lKCksIHRl
c3RfaW5mby5uYW1lKCkpOwotICBpZiAodGVzdF9pbmZvLnJlc3VsdCgpLT5GYWlsZWQoKSkgUHJp
bnRGdWxsVGVzdENvbW1lbnRJZlByZXNlbnQodGVzdF9pbmZvKTsKKyAgaWYgKHRlc3RfaW5mby5y
ZXN1bHQoKS0+RmFpbGVkKCkpCisgICAgUHJpbnRGdWxsVGVzdENvbW1lbnRJZlByZXNlbnQodGVz
dF9pbmZvKTsKIAotICBpZiAoR1RFU1RfRkxBR19HRVQocHJpbnRfdGltZSkpIHsKLSAgICBwcmlu
dGYoIiAoJXMgbXMpXG4iLAotICAgICAgICAgICBpbnRlcm5hbDo6U3RyZWFtYWJsZVRvU3RyaW5n
KHRlc3RfaW5mby5yZXN1bHQoKS0+ZWxhcHNlZF90aW1lKCkpCi0gICAgICAgICAgICAgICAuY19z
dHIoKSk7CisgIGlmIChHVEVTVF9GTEFHKHByaW50X3RpbWUpKSB7CisgICAgcHJpbnRmKCIgKCVz
IG1zKVxuIiwgaW50ZXJuYWw6OlN0cmVhbWFibGVUb1N0cmluZygKKyAgICAgICAgICAgdGVzdF9p
bmZvLnJlc3VsdCgpLT5lbGFwc2VkX3RpbWUoKSkuY19zdHIoKSk7CiAgIH0gZWxzZSB7CiAgICAg
cHJpbnRmKCJcbiIpOwogICB9CkBAIC0zNTA1LDIyICszNDE2LDIyIEBAIHZvaWQgUHJldHR5VW5p
dFRlc3RSZXN1bHRQcmludGVyOjpPblRlc3RFbmQoY29uc3QgVGVzdEluZm8mIHRlc3RfaW5mbykg
ewogCiAjaWZuZGVmIEdURVNUX1JFTU9WRV9MRUdBQ1lfVEVTVF9DQVNFQVBJXwogdm9pZCBQcmV0
dHlVbml0VGVzdFJlc3VsdFByaW50ZXI6Ok9uVGVzdENhc2VFbmQoY29uc3QgVGVzdENhc2UmIHRl
c3RfY2FzZSkgewotICBpZiAoIUdURVNUX0ZMQUdfR0VUKHByaW50X3RpbWUpKSByZXR1cm47Cisg
IGlmICghR1RFU1RfRkxBRyhwcmludF90aW1lKSkgcmV0dXJuOwogCiAgIGNvbnN0IHN0ZDo6c3Ry
aW5nIGNvdW50cyA9CiAgICAgICBGb3JtYXRDb3VudGFibGVOb3VuKHRlc3RfY2FzZS50ZXN0X3Rv
X3J1bl9jb3VudCgpLCAidGVzdCIsICJ0ZXN0cyIpOwotICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29s
b3I6OmtHcmVlbiwgIlstLS0tLS0tLS0tXSAiKTsKKyAgQ29sb3JlZFByaW50ZihDT0xPUl9HUkVF
TiwgIlstLS0tLS0tLS0tXSAiKTsKICAgcHJpbnRmKCIlcyBmcm9tICVzICglcyBtcyB0b3RhbClc
blxuIiwgY291bnRzLmNfc3RyKCksIHRlc3RfY2FzZS5uYW1lKCksCiAgICAgICAgICBpbnRlcm5h
bDo6U3RyZWFtYWJsZVRvU3RyaW5nKHRlc3RfY2FzZS5lbGFwc2VkX3RpbWUoKSkuY19zdHIoKSk7
CiAgIGZmbHVzaChzdGRvdXQpOwogfQogI2Vsc2UKIHZvaWQgUHJldHR5VW5pdFRlc3RSZXN1bHRQ
cmludGVyOjpPblRlc3RTdWl0ZUVuZChjb25zdCBUZXN0U3VpdGUmIHRlc3Rfc3VpdGUpIHsKLSAg
aWYgKCFHVEVTVF9GTEFHX0dFVChwcmludF90aW1lKSkgcmV0dXJuOworICBpZiAoIUdURVNUX0ZM
QUcocHJpbnRfdGltZSkpIHJldHVybjsKIAogICBjb25zdCBzdGQ6OnN0cmluZyBjb3VudHMgPQog
ICAgICAgRm9ybWF0Q291bnRhYmxlTm91bih0ZXN0X3N1aXRlLnRlc3RfdG9fcnVuX2NvdW50KCks
ICJ0ZXN0IiwgInRlc3RzIik7Ci0gIENvbG9yZWRQcmludGYoR1Rlc3RDb2xvcjo6a0dyZWVuLCAi
Wy0tLS0tLS0tLS1dICIpOworICBDb2xvcmVkUHJpbnRmKENPTE9SX0dSRUVOLCAiWy0tLS0tLS0t
LS1dICIpOwogICBwcmludGYoIiVzIGZyb20gJXMgKCVzIG1zIHRvdGFsKVxuXG4iLCBjb3VudHMu
Y19zdHIoKSwgdGVzdF9zdWl0ZS5uYW1lKCksCiAgICAgICAgICBpbnRlcm5hbDo6U3RyZWFtYWJs
ZVRvU3RyaW5nKHRlc3Rfc3VpdGUuZWxhcHNlZF90aW1lKCkpLmNfc3RyKCkpOwogICBmZmx1c2go
c3Rkb3V0KTsKQEAgLTM1MjksNyArMzQ0MCw3IEBAIHZvaWQgUHJldHR5VW5pdFRlc3RSZXN1bHRQ
cmludGVyOjpPblRlc3RTdWl0ZUVuZChjb25zdCBUZXN0U3VpdGUmIHRlc3Rfc3VpdGUpIHsKIAog
dm9pZCBQcmV0dHlVbml0VGVzdFJlc3VsdFByaW50ZXI6Ok9uRW52aXJvbm1lbnRzVGVhckRvd25T
dGFydCgKICAgICBjb25zdCBVbml0VGVzdCYgLyp1bml0X3Rlc3QqLykgewotICBDb2xvcmVkUHJp
bnRmKEdUZXN0Q29sb3I6OmtHcmVlbiwgIlstLS0tLS0tLS0tXSAiKTsKKyAgQ29sb3JlZFByaW50
ZihDT0xPUl9HUkVFTiwgICJbLS0tLS0tLS0tLV0gIik7CiAgIHByaW50ZigiR2xvYmFsIHRlc3Qg
ZW52aXJvbm1lbnQgdGVhci1kb3duXG4iKTsKICAgZmZsdXNoKHN0ZG91dCk7CiB9CkBAIC0zNTM3
LDcgKzM0NDgsNyBAQCB2b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T25FbnZpcm9u
bWVudHNUZWFyRG93blN0YXJ0KAogLy8gSW50ZXJuYWwgaGVscGVyIGZvciBwcmludGluZyB0aGUg
bGlzdCBvZiBmYWlsZWQgdGVzdHMuCiB2b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6
UHJpbnRGYWlsZWRUZXN0cyhjb25zdCBVbml0VGVzdCYgdW5pdF90ZXN0KSB7CiAgIGNvbnN0IGlu
dCBmYWlsZWRfdGVzdF9jb3VudCA9IHVuaXRfdGVzdC5mYWlsZWRfdGVzdF9jb3VudCgpOwotICBD
b2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtSZWQsICJbICBGQUlMRUQgIF0gIik7CisgIENvbG9y
ZWRQcmludGYoQ09MT1JfUkVELCAgIlsgIEZBSUxFRCAgXSAiKTsKICAgcHJpbnRmKCIlcywgbGlz
dGVkIGJlbG93OlxuIiwgRm9ybWF0VGVzdENvdW50KGZhaWxlZF90ZXN0X2NvdW50KS5jX3N0cigp
KTsKIAogICBmb3IgKGludCBpID0gMDsgaSA8IHVuaXRfdGVzdC50b3RhbF90ZXN0X3N1aXRlX2Nv
dW50KCk7ICsraSkgewpAQCAtMzU1MCw3ICszNDYxLDcgQEAgdm9pZCBQcmV0dHlVbml0VGVzdFJl
c3VsdFByaW50ZXI6OlByaW50RmFpbGVkVGVzdHMoY29uc3QgVW5pdFRlc3QmIHVuaXRfdGVzdCkg
ewogICAgICAgaWYgKCF0ZXN0X2luZm8uc2hvdWxkX3J1bigpIHx8ICF0ZXN0X2luZm8ucmVzdWx0
KCktPkZhaWxlZCgpKSB7CiAgICAgICAgIGNvbnRpbnVlOwogICAgICAgfQotICAgICAgQ29sb3Jl
ZFByaW50ZihHVGVzdENvbG9yOjprUmVkLCAiWyAgRkFJTEVEICBdICIpOworICAgICAgQ29sb3Jl
ZFByaW50ZihDT0xPUl9SRUQsICJbICBGQUlMRUQgIF0gIik7CiAgICAgICBwcmludGYoIiVzLiVz
IiwgdGVzdF9zdWl0ZS5uYW1lKCksIHRlc3RfaW5mby5uYW1lKCkpOwogICAgICAgUHJpbnRGdWxs
VGVzdENvbW1lbnRJZlByZXNlbnQodGVzdF9pbmZvKTsKICAgICAgIHByaW50ZigiXG4iKTsKQEAg
LTM1NzEsNyArMzQ4Miw3IEBAIHZvaWQgUHJldHR5VW5pdFRlc3RSZXN1bHRQcmludGVyOjpQcmlu
dEZhaWxlZFRlc3RTdWl0ZXMoCiAgICAgICBjb250aW51ZTsKICAgICB9CiAgICAgaWYgKHRlc3Rf
c3VpdGUuYWRfaG9jX3Rlc3RfcmVzdWx0KCkuRmFpbGVkKCkpIHsKLSAgICAgIENvbG9yZWRQcmlu
dGYoR1Rlc3RDb2xvcjo6a1JlZCwgIlsgIEZBSUxFRCAgXSAiKTsKKyAgICAgIENvbG9yZWRQcmlu
dGYoQ09MT1JfUkVELCAiWyAgRkFJTEVEICBdICIpOwogICAgICAgcHJpbnRmKCIlczogU2V0VXBU
ZXN0U3VpdGUgb3IgVGVhckRvd25UZXN0U3VpdGVcbiIsIHRlc3Rfc3VpdGUubmFtZSgpKTsKICAg
ICAgICsrc3VpdGVfZmFpbHVyZV9jb3VudDsKICAgICB9CkBAIC0zNTk5LDcgKzM1MTAsNyBAQCB2
b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6UHJpbnRTa2lwcGVkVGVzdHMoY29uc3Qg
VW5pdFRlc3QmIHVuaXRfdGVzdCkgewogICAgICAgaWYgKCF0ZXN0X2luZm8uc2hvdWxkX3J1bigp
IHx8ICF0ZXN0X2luZm8ucmVzdWx0KCktPlNraXBwZWQoKSkgewogICAgICAgICBjb250aW51ZTsK
ICAgICAgIH0KLSAgICAgIENvbG9yZWRQcmludGYoR1Rlc3RDb2xvcjo6a0dyZWVuLCAiWyAgU0tJ
UFBFRCBdICIpOworICAgICAgQ29sb3JlZFByaW50ZihDT0xPUl9HUkVFTiwgIlsgIFNLSVBQRUQg
XSAiKTsKICAgICAgIHByaW50ZigiJXMuJXMiLCB0ZXN0X3N1aXRlLm5hbWUoKSwgdGVzdF9pbmZv
Lm5hbWUoKSk7CiAgICAgICBwcmludGYoIlxuIik7CiAgICAgfQpAQCAtMzYwOCwyMSArMzUxOSwy
MSBAQCB2b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6UHJpbnRTa2lwcGVkVGVzdHMo
Y29uc3QgVW5pdFRlc3QmIHVuaXRfdGVzdCkgewogCiB2b2lkIFByZXR0eVVuaXRUZXN0UmVzdWx0
UHJpbnRlcjo6T25UZXN0SXRlcmF0aW9uRW5kKGNvbnN0IFVuaXRUZXN0JiB1bml0X3Rlc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAv
Kml0ZXJhdGlvbiovKSB7Ci0gIENvbG9yZWRQcmludGYoR1Rlc3RDb2xvcjo6a0dyZWVuLCAiWz09
PT09PT09PT1dICIpOworICBDb2xvcmVkUHJpbnRmKENPTE9SX0dSRUVOLCAgIls9PT09PT09PT09
XSAiKTsKICAgcHJpbnRmKCIlcyBmcm9tICVzIHJhbi4iLAogICAgICAgICAgRm9ybWF0VGVzdENv
dW50KHVuaXRfdGVzdC50ZXN0X3RvX3J1bl9jb3VudCgpKS5jX3N0cigpLAogICAgICAgICAgRm9y
bWF0VGVzdFN1aXRlQ291bnQodW5pdF90ZXN0LnRlc3Rfc3VpdGVfdG9fcnVuX2NvdW50KCkpLmNf
c3RyKCkpOwotICBpZiAoR1RFU1RfRkxBR19HRVQocHJpbnRfdGltZSkpIHsKKyAgaWYgKEdURVNU
X0ZMQUcocHJpbnRfdGltZSkpIHsKICAgICBwcmludGYoIiAoJXMgbXMgdG90YWwpIiwKICAgICAg
ICAgICAgaW50ZXJuYWw6OlN0cmVhbWFibGVUb1N0cmluZyh1bml0X3Rlc3QuZWxhcHNlZF90aW1l
KCkpLmNfc3RyKCkpOwogICB9CiAgIHByaW50ZigiXG4iKTsKLSAgQ29sb3JlZFByaW50ZihHVGVz
dENvbG9yOjprR3JlZW4sICJbICBQQVNTRUQgIF0gIik7CisgIENvbG9yZWRQcmludGYoQ09MT1Jf
R1JFRU4sICAiWyAgUEFTU0VEICBdICIpOwogICBwcmludGYoIiVzLlxuIiwgRm9ybWF0VGVzdENv
dW50KHVuaXRfdGVzdC5zdWNjZXNzZnVsX3Rlc3RfY291bnQoKSkuY19zdHIoKSk7CiAKICAgY29u
c3QgaW50IHNraXBwZWRfdGVzdF9jb3VudCA9IHVuaXRfdGVzdC5za2lwcGVkX3Rlc3RfY291bnQo
KTsKICAgaWYgKHNraXBwZWRfdGVzdF9jb3VudCA+IDApIHsKLSAgICBDb2xvcmVkUHJpbnRmKEdU
ZXN0Q29sb3I6OmtHcmVlbiwgIlsgIFNLSVBQRUQgXSAiKTsKKyAgICBDb2xvcmVkUHJpbnRmKENP
TE9SX0dSRUVOLCAiWyAgU0tJUFBFRCBdICIpOwogICAgIHByaW50ZigiJXMsIGxpc3RlZCBiZWxv
dzpcbiIsIEZvcm1hdFRlc3RDb3VudChza2lwcGVkX3Rlc3RfY291bnQpLmNfc3RyKCkpOwogICAg
IFByaW50U2tpcHBlZFRlc3RzKHVuaXRfdGVzdCk7CiAgIH0KQEAgLTM2MzMsMTIgKzM1NDQsMTQg
QEAgdm9pZCBQcmV0dHlVbml0VGVzdFJlc3VsdFByaW50ZXI6Ok9uVGVzdEl0ZXJhdGlvbkVuZChj
b25zdCBVbml0VGVzdCYgdW5pdF90ZXN0LAogICB9CiAKICAgaW50IG51bV9kaXNhYmxlZCA9IHVu
aXRfdGVzdC5yZXBvcnRhYmxlX2Rpc2FibGVkX3Rlc3RfY291bnQoKTsKLSAgaWYgKG51bV9kaXNh
YmxlZCAmJiAhR1RFU1RfRkxBR19HRVQoYWxzb19ydW5fZGlzYWJsZWRfdGVzdHMpKSB7CisgIGlm
IChudW1fZGlzYWJsZWQgJiYgIUdURVNUX0ZMQUcoYWxzb19ydW5fZGlzYWJsZWRfdGVzdHMpKSB7
CiAgICAgaWYgKHVuaXRfdGVzdC5QYXNzZWQoKSkgewogICAgICAgcHJpbnRmKCJcbiIpOyAgLy8g
QWRkIGEgc3BhY2VyIGlmIG5vIEZBSUxVUkUgYmFubmVyIGlzIGRpc3BsYXllZC4KICAgICB9Ci0g
ICAgQ29sb3JlZFByaW50ZihHVGVzdENvbG9yOjprWWVsbG93LCAiICBZT1UgSEFWRSAlZCBESVNB
QkxFRCAlc1xuXG4iLAotICAgICAgICAgICAgICAgICAgbnVtX2Rpc2FibGVkLCBudW1fZGlzYWJs
ZWQgPT0gMSA/ICJURVNUIiA6ICJURVNUUyIpOworICAgIENvbG9yZWRQcmludGYoQ09MT1JfWUVM
TE9XLAorICAgICAgICAgICAgICAgICAgIiAgWU9VIEhBVkUgJWQgRElTQUJMRUQgJXNcblxuIiwK
KyAgICAgICAgICAgICAgICAgIG51bV9kaXNhYmxlZCwKKyAgICAgICAgICAgICAgICAgIG51bV9k
aXNhYmxlZCA9PSAxID8gIlRFU1QiIDogIlRFU1RTIik7CiAgIH0KICAgLy8gRW5zdXJlIHRoYXQg
R29vZ2xlIFRlc3Qgb3V0cHV0IGlzIHByaW50ZWQgYmVmb3JlLCBlLmcuLCBoZWFwY2hlY2tlciBv
dXRwdXQuCiAgIGZmbHVzaChzdGRvdXQpOwpAQCAtMzY0NiwxMTEgKzM1NTksNiBAQCB2b2lkIFBy
ZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T25UZXN0SXRlcmF0aW9uRW5kKGNvbnN0IFVuaXRU
ZXN0JiB1bml0X3Rlc3QsCiAKIC8vIEVuZCBQcmV0dHlVbml0VGVzdFJlc3VsdFByaW50ZXIKIAot
Ly8gVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHRoZSBUZXN0RXZlbnRMaXN0ZW5lciBpbnRlcmZhY2Uu
Ci0vLwotLy8gQ2xhc3MgQnJpZWZVbml0VGVzdFJlc3VsdFByaW50ZXIgaXMgY29weWFibGUuCi1j
bGFzcyBCcmllZlVuaXRUZXN0UmVzdWx0UHJpbnRlciA6IHB1YmxpYyBUZXN0RXZlbnRMaXN0ZW5l
ciB7Ci0gcHVibGljOgotICBCcmllZlVuaXRUZXN0UmVzdWx0UHJpbnRlcigpIHt9Ci0gIHN0YXRp
YyB2b2lkIFByaW50VGVzdE5hbWUoY29uc3QgY2hhciogdGVzdF9zdWl0ZSwgY29uc3QgY2hhciog
dGVzdCkgewotICAgIHByaW50ZigiJXMuJXMiLCB0ZXN0X3N1aXRlLCB0ZXN0KTsKLSAgfQotCi0g
IC8vIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBvdmVycmlkZSB3aGF0J3MgaW4gdGhlIFRlc3RFdmVu
dExpc3RlbmVyIGNsYXNzLgotICB2b2lkIE9uVGVzdFByb2dyYW1TdGFydChjb25zdCBVbml0VGVz
dCYgLyp1bml0X3Rlc3QqLykgb3ZlcnJpZGUge30KLSAgdm9pZCBPblRlc3RJdGVyYXRpb25TdGFy
dChjb25zdCBVbml0VGVzdCYgLyp1bml0X3Rlc3QqLywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgLyppdGVyYXRpb24qLykgb3ZlcnJpZGUge30KLSAgdm9pZCBPbkVudmlyb25tZW50
c1NldFVwU3RhcnQoY29uc3QgVW5pdFRlc3QmIC8qdW5pdF90ZXN0Ki8pIG92ZXJyaWRlIHt9Ci0g
IHZvaWQgT25FbnZpcm9ubWVudHNTZXRVcEVuZChjb25zdCBVbml0VGVzdCYgLyp1bml0X3Rlc3Qq
Lykgb3ZlcnJpZGUge30KLSNpZm5kZWYgR1RFU1RfUkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElf
Ci0gIHZvaWQgT25UZXN0Q2FzZVN0YXJ0KGNvbnN0IFRlc3RDYXNlJiAvKnRlc3RfY2FzZSovKSBv
dmVycmlkZSB7fQotI2Vsc2UKLSAgdm9pZCBPblRlc3RTdWl0ZVN0YXJ0KGNvbnN0IFRlc3RTdWl0
ZSYgLyp0ZXN0X3N1aXRlKi8pIG92ZXJyaWRlIHt9Ci0jZW5kaWYgIC8vIE9uVGVzdENhc2VTdGFy
dAotCi0gIHZvaWQgT25UZXN0U3RhcnQoY29uc3QgVGVzdEluZm8mIC8qdGVzdF9pbmZvKi8pIG92
ZXJyaWRlIHt9Ci0gIHZvaWQgT25UZXN0RGlzYWJsZWQoY29uc3QgVGVzdEluZm8mIC8qdGVzdF9p
bmZvKi8pIG92ZXJyaWRlIHt9Ci0KLSAgdm9pZCBPblRlc3RQYXJ0UmVzdWx0KGNvbnN0IFRlc3RQ
YXJ0UmVzdWx0JiByZXN1bHQpIG92ZXJyaWRlOwotICB2b2lkIE9uVGVzdEVuZChjb25zdCBUZXN0
SW5mbyYgdGVzdF9pbmZvKSBvdmVycmlkZTsKLSNpZm5kZWYgR1RFU1RfUkVNT1ZFX0xFR0FDWV9U
RVNUX0NBU0VBUElfCi0gIHZvaWQgT25UZXN0Q2FzZUVuZChjb25zdCBUZXN0Q2FzZSYgLyp0ZXN0
X2Nhc2UqLykgb3ZlcnJpZGUge30KLSNlbHNlCi0gIHZvaWQgT25UZXN0U3VpdGVFbmQoY29uc3Qg
VGVzdFN1aXRlJiAvKnRlc3Rfc3VpdGUqLykgb3ZlcnJpZGUge30KLSNlbmRpZiAgLy8gR1RFU1Rf
UkVNT1ZFX0xFR0FDWV9URVNUX0NBU0VBUElfCi0KLSAgdm9pZCBPbkVudmlyb25tZW50c1RlYXJE
b3duU3RhcnQoY29uc3QgVW5pdFRlc3QmIC8qdW5pdF90ZXN0Ki8pIG92ZXJyaWRlIHt9Ci0gIHZv
aWQgT25FbnZpcm9ubWVudHNUZWFyRG93bkVuZChjb25zdCBVbml0VGVzdCYgLyp1bml0X3Rlc3Qq
Lykgb3ZlcnJpZGUge30KLSAgdm9pZCBPblRlc3RJdGVyYXRpb25FbmQoY29uc3QgVW5pdFRlc3Qm
IHVuaXRfdGVzdCwgaW50IGl0ZXJhdGlvbikgb3ZlcnJpZGU7Ci0gIHZvaWQgT25UZXN0UHJvZ3Jh
bUVuZChjb25zdCBVbml0VGVzdCYgLyp1bml0X3Rlc3QqLykgb3ZlcnJpZGUge30KLX07Ci0KLS8v
IENhbGxlZCBhZnRlciBhbiBhc3NlcnRpb24gZmFpbHVyZS4KLXZvaWQgQnJpZWZVbml0VGVzdFJl
c3VsdFByaW50ZXI6Ok9uVGVzdFBhcnRSZXN1bHQoCi0gICAgY29uc3QgVGVzdFBhcnRSZXN1bHQm
IHJlc3VsdCkgewotICBzd2l0Y2ggKHJlc3VsdC50eXBlKCkpIHsKLSAgICAvLyBJZiB0aGUgdGVz
dCBwYXJ0IHN1Y2NlZWRlZCwgd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZy4KLSAgICBjYXNl
IFRlc3RQYXJ0UmVzdWx0OjprU3VjY2VzczoKLSAgICAgIHJldHVybjsKLSAgICBkZWZhdWx0Ogot
ICAgICAgLy8gUHJpbnQgZmFpbHVyZSBtZXNzYWdlIGZyb20gdGhlIGFzc2VydGlvbgotICAgICAg
Ly8gKGUuZy4gZXhwZWN0ZWQgdGhpcyBhbmQgZ290IHRoYXQpLgotICAgICAgUHJpbnRUZXN0UGFy
dFJlc3VsdChyZXN1bHQpOwotICAgICAgZmZsdXNoKHN0ZG91dCk7Ci0gIH0KLX0KLQotdm9pZCBC
cmllZlVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T25UZXN0RW5kKGNvbnN0IFRlc3RJbmZvJiB0ZXN0
X2luZm8pIHsKLSAgaWYgKHRlc3RfaW5mby5yZXN1bHQoKS0+RmFpbGVkKCkpIHsKLSAgICBDb2xv
cmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtSZWQsICJbICBGQUlMRUQgIF0gIik7Ci0gICAgUHJpbnRU
ZXN0TmFtZSh0ZXN0X2luZm8udGVzdF9zdWl0ZV9uYW1lKCksIHRlc3RfaW5mby5uYW1lKCkpOwot
ICAgIFByaW50RnVsbFRlc3RDb21tZW50SWZQcmVzZW50KHRlc3RfaW5mbyk7Ci0KLSAgICBpZiAo
R1RFU1RfRkxBR19HRVQocHJpbnRfdGltZSkpIHsKLSAgICAgIHByaW50ZigiICglcyBtcylcbiIs
Ci0gICAgICAgICAgICAgaW50ZXJuYWw6OlN0cmVhbWFibGVUb1N0cmluZyh0ZXN0X2luZm8ucmVz
dWx0KCktPmVsYXBzZWRfdGltZSgpKQotICAgICAgICAgICAgICAgICAuY19zdHIoKSk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgIHByaW50ZigiXG4iKTsKLSAgICB9Ci0gICAgZmZsdXNoKHN0ZG91dCk7
Ci0gIH0KLX0KLQotdm9pZCBCcmllZlVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T25UZXN0SXRlcmF0
aW9uRW5kKGNvbnN0IFVuaXRUZXN0JiB1bml0X3Rlc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IC8qaXRlcmF0aW9uKi8pIHsKLSAgQ29s
b3JlZFByaW50ZihHVGVzdENvbG9yOjprR3JlZW4sICJbPT09PT09PT09PV0gIik7Ci0gIHByaW50
ZigiJXMgZnJvbSAlcyByYW4uIiwKLSAgICAgICAgIEZvcm1hdFRlc3RDb3VudCh1bml0X3Rlc3Qu
dGVzdF90b19ydW5fY291bnQoKSkuY19zdHIoKSwKLSAgICAgICAgIEZvcm1hdFRlc3RTdWl0ZUNv
dW50KHVuaXRfdGVzdC50ZXN0X3N1aXRlX3RvX3J1bl9jb3VudCgpKS5jX3N0cigpKTsKLSAgaWYg
KEdURVNUX0ZMQUdfR0VUKHByaW50X3RpbWUpKSB7Ci0gICAgcHJpbnRmKCIgKCVzIG1zIHRvdGFs
KSIsCi0gICAgICAgICAgIGludGVybmFsOjpTdHJlYW1hYmxlVG9TdHJpbmcodW5pdF90ZXN0LmVs
YXBzZWRfdGltZSgpKS5jX3N0cigpKTsKLSAgfQotICBwcmludGYoIlxuIik7Ci0gIENvbG9yZWRQ
cmludGYoR1Rlc3RDb2xvcjo6a0dyZWVuLCAiWyAgUEFTU0VEICBdICIpOwotICBwcmludGYoIiVz
LlxuIiwgRm9ybWF0VGVzdENvdW50KHVuaXRfdGVzdC5zdWNjZXNzZnVsX3Rlc3RfY291bnQoKSku
Y19zdHIoKSk7Ci0KLSAgY29uc3QgaW50IHNraXBwZWRfdGVzdF9jb3VudCA9IHVuaXRfdGVzdC5z
a2lwcGVkX3Rlc3RfY291bnQoKTsKLSAgaWYgKHNraXBwZWRfdGVzdF9jb3VudCA+IDApIHsKLSAg
ICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtHcmVlbiwgIlsgIFNLSVBQRUQgXSAiKTsKLSAg
ICBwcmludGYoIiVzLlxuIiwgRm9ybWF0VGVzdENvdW50KHNraXBwZWRfdGVzdF9jb3VudCkuY19z
dHIoKSk7Ci0gIH0KLQotICBpbnQgbnVtX2Rpc2FibGVkID0gdW5pdF90ZXN0LnJlcG9ydGFibGVf
ZGlzYWJsZWRfdGVzdF9jb3VudCgpOwotICBpZiAobnVtX2Rpc2FibGVkICYmICFHVEVTVF9GTEFH
X0dFVChhbHNvX3J1bl9kaXNhYmxlZF90ZXN0cykpIHsKLSAgICBpZiAodW5pdF90ZXN0LlBhc3Nl
ZCgpKSB7Ci0gICAgICBwcmludGYoIlxuIik7ICAvLyBBZGQgYSBzcGFjZXIgaWYgbm8gRkFJTFVS
RSBiYW5uZXIgaXMgZGlzcGxheWVkLgotICAgIH0KLSAgICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29s
b3I6OmtZZWxsb3csICIgIFlPVSBIQVZFICVkIERJU0FCTEVEICVzXG5cbiIsCi0gICAgICAgICAg
ICAgICAgICBudW1fZGlzYWJsZWQsIG51bV9kaXNhYmxlZCA9PSAxID8gIlRFU1QiIDogIlRFU1RT
Iik7Ci0gIH0KLSAgLy8gRW5zdXJlIHRoYXQgR29vZ2xlIFRlc3Qgb3V0cHV0IGlzIHByaW50ZWQg
YmVmb3JlLCBlLmcuLCBoZWFwY2hlY2tlciBvdXRwdXQuCi0gIGZmbHVzaChzdGRvdXQpOwotfQot
Ci0vLyBFbmQgQnJpZWZVbml0VGVzdFJlc3VsdFByaW50ZXIKLQogLy8gY2xhc3MgVGVzdEV2ZW50
UmVwZWF0ZXIKIC8vCiAvLyBUaGlzIGNsYXNzIGZvcndhcmRzIGV2ZW50cyB0byBvdGhlciBldmVu
dCBsaXN0ZW5lcnMuCkBAIC0zNzU4LDcgKzM1NjYsNyBAQCBjbGFzcyBUZXN0RXZlbnRSZXBlYXRl
ciA6IHB1YmxpYyBUZXN0RXZlbnRMaXN0ZW5lciB7CiAgcHVibGljOgogICBUZXN0RXZlbnRSZXBl
YXRlcigpIDogZm9yd2FyZGluZ19lbmFibGVkXyh0cnVlKSB7fQogICB+VGVzdEV2ZW50UmVwZWF0
ZXIoKSBvdmVycmlkZTsKLSAgdm9pZCBBcHBlbmQoVGVzdEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVy
KTsKKyAgdm9pZCBBcHBlbmQoVGVzdEV2ZW50TGlzdGVuZXIgKmxpc3RlbmVyKTsKICAgVGVzdEV2
ZW50TGlzdGVuZXIqIFJlbGVhc2UoVGVzdEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyKTsKIAogICAv
LyBDb250cm9scyB3aGV0aGVyIGV2ZW50cyB3aWxsIGJlIGZvcndhcmRlZCB0byBsaXN0ZW5lcnNf
LiBTZXQgdG8gZmFsc2UKQEAgLTM3NzYsNyArMzU4NCw2IEBAIGNsYXNzIFRlc3RFdmVudFJlcGVh
dGVyIDogcHVibGljIFRlc3RFdmVudExpc3RlbmVyIHsKICNlbmRpZiAgLy8gIEdURVNUX1JFTU9W
RV9MRUdBQ1lfVEVTVF9DQVNFQVBJXwogICB2b2lkIE9uVGVzdFN1aXRlU3RhcnQoY29uc3QgVGVz
dFN1aXRlJiBwYXJhbWV0ZXIpIG92ZXJyaWRlOwogICB2b2lkIE9uVGVzdFN0YXJ0KGNvbnN0IFRl
c3RJbmZvJiB0ZXN0X2luZm8pIG92ZXJyaWRlOwotICB2b2lkIE9uVGVzdERpc2FibGVkKGNvbnN0
IFRlc3RJbmZvJiB0ZXN0X2luZm8pIG92ZXJyaWRlOwogICB2b2lkIE9uVGVzdFBhcnRSZXN1bHQo
Y29uc3QgVGVzdFBhcnRSZXN1bHQmIHJlc3VsdCkgb3ZlcnJpZGU7CiAgIHZvaWQgT25UZXN0RW5k
KGNvbnN0IFRlc3RJbmZvJiB0ZXN0X2luZm8pIG92ZXJyaWRlOwogLy8gIExlZ2FjeSBBUEkgaXMg
ZGVwcmVjYXRlZCBidXQgc3RpbGwgYXZhaWxhYmxlCkBAIC0zNzk2LDE5ICszNjAzLDE4IEBAIGNs
YXNzIFRlc3RFdmVudFJlcGVhdGVyIDogcHVibGljIFRlc3RFdmVudExpc3RlbmVyIHsKICAgLy8g
VGhlIGxpc3Qgb2YgbGlzdGVuZXJzIHRoYXQgcmVjZWl2ZSBldmVudHMuCiAgIHN0ZDo6dmVjdG9y
PFRlc3RFdmVudExpc3RlbmVyKj4gbGlzdGVuZXJzXzsKIAotICBUZXN0RXZlbnRSZXBlYXRlcihj
b25zdCBUZXN0RXZlbnRSZXBlYXRlciYpID0gZGVsZXRlOwotICBUZXN0RXZlbnRSZXBlYXRlciYg
b3BlcmF0b3I9KGNvbnN0IFRlc3RFdmVudFJlcGVhdGVyJikgPSBkZWxldGU7CisgIEdURVNUX0RJ
U0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8oVGVzdEV2ZW50UmVwZWF0ZXIpOwogfTsKIAogVGVzdEV2
ZW50UmVwZWF0ZXI6On5UZXN0RXZlbnRSZXBlYXRlcigpIHsKICAgRm9yRWFjaChsaXN0ZW5lcnNf
LCBEZWxldGU8VGVzdEV2ZW50TGlzdGVuZXI+KTsKIH0KIAotdm9pZCBUZXN0RXZlbnRSZXBlYXRl
cjo6QXBwZW5kKFRlc3RFdmVudExpc3RlbmVyKiBsaXN0ZW5lcikgewordm9pZCBUZXN0RXZlbnRS
ZXBlYXRlcjo6QXBwZW5kKFRlc3RFdmVudExpc3RlbmVyICpsaXN0ZW5lcikgewogICBsaXN0ZW5l
cnNfLnB1c2hfYmFjayhsaXN0ZW5lcik7CiB9CiAKLVRlc3RFdmVudExpc3RlbmVyKiBUZXN0RXZl
bnRSZXBlYXRlcjo6UmVsZWFzZShUZXN0RXZlbnRMaXN0ZW5lciogbGlzdGVuZXIpIHsKK1Rlc3RF
dmVudExpc3RlbmVyKiBUZXN0RXZlbnRSZXBlYXRlcjo6UmVsZWFzZShUZXN0RXZlbnRMaXN0ZW5l
ciAqbGlzdGVuZXIpIHsKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNfLnNpemUo
KTsgKytpKSB7CiAgICAgaWYgKGxpc3RlbmVyc19baV0gPT0gbGlzdGVuZXIpIHsKICAgICAgIGxp
c3RlbmVyc18uZXJhc2UobGlzdGVuZXJzXy5iZWdpbigpICsgc3RhdGljX2Nhc3Q8aW50PihpKSk7
CkBAIC0zODIxLDE0ICszNjI3LDE0IEBAIFRlc3RFdmVudExpc3RlbmVyKiBUZXN0RXZlbnRSZXBl
YXRlcjo6UmVsZWFzZShUZXN0RXZlbnRMaXN0ZW5lciogbGlzdGVuZXIpIHsKIAogLy8gU2luY2Ug
bW9zdCBtZXRob2RzIGFyZSB2ZXJ5IHNpbWlsYXIsIHVzZSBtYWNyb3MgdG8gcmVkdWNlIGJvaWxl
cnBsYXRlLgogLy8gVGhpcyBkZWZpbmVzIGEgbWVtYmVyIHRoYXQgZm9yd2FyZHMgdGhlIGNhbGwg
dG8gYWxsIGxpc3RlbmVycy4KLSNkZWZpbmUgR1RFU1RfUkVQRUFURVJfTUVUSE9EXyhOYW1lLCBU
eXBlKSAgICAgICAgICAgICAgXAotICB2b2lkIFRlc3RFdmVudFJlcGVhdGVyOjpOYW1lKGNvbnN0
IFR5cGUmIHBhcmFtZXRlcikgeyBcCi0gICAgaWYgKGZvcndhcmRpbmdfZW5hYmxlZF8pIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlz
dGVuZXJzXy5zaXplKCk7IGkrKykgeyAgXAotICAgICAgICBsaXN0ZW5lcnNfW2ldLT5OYW1lKHBh
cmFtZXRlcik7ICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9CisjZGVmaW5lIEdURVNUX1JFUEVB
VEVSX01FVEhPRF8oTmFtZSwgVHlwZSkgXAordm9pZCBUZXN0RXZlbnRSZXBlYXRlcjo6TmFtZShj
b25zdCBUeXBlJiBwYXJhbWV0ZXIpIHsgXAorICBpZiAoZm9yd2FyZGluZ19lbmFibGVkXykgeyBc
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNfLnNpemUoKTsgaSsrKSB7IFwK
KyAgICAgIGxpc3RlbmVyc19baV0tPk5hbWUocGFyYW1ldGVyKTsgXAorICAgIH0gXAorICB9IFwK
K30KIC8vIFRoaXMgZGVmaW5lcyBhIG1lbWJlciB0aGF0IGZvcndhcmRzIHRoZSBjYWxsIHRvIGFs
bCBsaXN0ZW5lcnMgaW4gcmV2ZXJzZQogLy8gb3JkZXIuCiAjZGVmaW5lIEdURVNUX1JFVkVSU0Vf
UkVQRUFURVJfTUVUSE9EXyhOYW1lLCBUeXBlKSAgICAgIFwKQEAgLTM4NDgsNyArMzY1NCw2IEBA
IEdURVNUX1JFUEVBVEVSX01FVEhPRF8oT25UZXN0Q2FzZVN0YXJ0LCBUZXN0U3VpdGUpCiAjZW5k
aWYgIC8vICBHVEVTVF9SRU1PVkVfTEVHQUNZX1RFU1RfQ0FTRUFQSV8KIEdURVNUX1JFUEVBVEVS
X01FVEhPRF8oT25UZXN0U3VpdGVTdGFydCwgVGVzdFN1aXRlKQogR1RFU1RfUkVQRUFURVJfTUVU
SE9EXyhPblRlc3RTdGFydCwgVGVzdEluZm8pCi1HVEVTVF9SRVBFQVRFUl9NRVRIT0RfKE9uVGVz
dERpc2FibGVkLCBUZXN0SW5mbykKIEdURVNUX1JFUEVBVEVSX01FVEhPRF8oT25UZXN0UGFydFJl
c3VsdCwgVGVzdFBhcnRSZXN1bHQpCiBHVEVTVF9SRVBFQVRFUl9NRVRIT0RfKE9uRW52aXJvbm1l
bnRzVGVhckRvd25TdGFydCwgVW5pdFRlc3QpCiBHVEVTVF9SRVZFUlNFX1JFUEVBVEVSX01FVEhP
RF8oT25FbnZpcm9ubWVudHNTZXRVcEVuZCwgVW5pdFRlc3QpCkBAIC0zODk5LDEzICszNzA0LDEy
IEBAIGNsYXNzIFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlciA6IHB1YmxpYyBFbXB0eVRlc3RFdmVu
dExpc3RlbmVyIHsKICBwcml2YXRlOgogICAvLyBJcyBjIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXIg
dGhhdCBpcyBub3JtYWxpemVkIHRvIGEgc3BhY2UgY2hhcmFjdGVyCiAgIC8vIHdoZW4gaXQgYXBw
ZWFycyBpbiBhbiBYTUwgYXR0cmlidXRlIHZhbHVlPwotICBzdGF0aWMgYm9vbCBJc05vcm1hbGl6
YWJsZVdoaXRlc3BhY2UodW5zaWduZWQgY2hhciBjKSB7Ci0gICAgcmV0dXJuIGMgPT0gJ1x0JyB8
fCBjID09ICdcbicgfHwgYyA9PSAnXHInOworICBzdGF0aWMgYm9vbCBJc05vcm1hbGl6YWJsZVdo
aXRlc3BhY2UoY2hhciBjKSB7CisgICAgcmV0dXJuIGMgPT0gMHg5IHx8IGMgPT0gMHhBIHx8IGMg
PT0gMHhEOwogICB9CiAKICAgLy8gTWF5IGMgYXBwZWFyIGluIGEgd2VsbC1mb3JtZWQgWE1MIGRv
Y3VtZW50PwotICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvUkVDLXhtbC8jY2hhcnNldHMKLSAg
c3RhdGljIGJvb2wgSXNWYWxpZFhtbENoYXJhY3Rlcih1bnNpZ25lZCBjaGFyIGMpIHsKKyAgc3Rh
dGljIGJvb2wgSXNWYWxpZFhtbENoYXJhY3RlcihjaGFyIGMpIHsKICAgICByZXR1cm4gSXNOb3Jt
YWxpemFibGVXaGl0ZXNwYWNlKGMpIHx8IGMgPj0gMHgyMDsKICAgfQogCkBAIC0zOTM4LDE2ICsz
NzQyLDYgQEAgY2xhc3MgWG1sVW5pdFRlc3RSZXN1bHRQcmludGVyIDogcHVibGljIEVtcHR5VGVz
dEV2ZW50TGlzdGVuZXIgewogICAvLyBTdHJlYW1zIGFuIFhNTCBDREFUQSBzZWN0aW9uLCBlc2Nh
cGluZyBpbnZhbGlkIENEQVRBIHNlcXVlbmNlcyBhcyBuZWVkZWQuCiAgIHN0YXRpYyB2b2lkIE91
dHB1dFhtbENEYXRhU2VjdGlvbig6OnN0ZDo6b3N0cmVhbSogc3RyZWFtLCBjb25zdCBjaGFyKiBk
YXRhKTsKIAotICAvLyBTdHJlYW1zIGEgdGVzdCBzdWl0ZSBYTUwgc3RhbnphIGNvbnRhaW5pbmcg
dGhlIGdpdmVuIHRlc3QgcmVzdWx0LgotICAvLwotICAvLyBSZXF1aXJlczogcmVzdWx0LkZhaWxl
ZCgpCi0gIHN0YXRpYyB2b2lkIE91dHB1dFhtbFRlc3RTdWl0ZUZvclRlc3RSZXN1bHQoOjpzdGQ6
Om9zdHJlYW0qIHN0cmVhbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBUZXN0UmVzdWx0JiByZXN1bHQpOwotCi0gIC8vIFN0cmVhbXMgYW4gWE1M
IHJlcHJlc2VudGF0aW9uIG9mIGEgVGVzdFJlc3VsdCBvYmplY3QuCi0gIHN0YXRpYyB2b2lkIE91
dHB1dFhtbFRlc3RSZXN1bHQoOjpzdGQ6Om9zdHJlYW0qIHN0cmVhbSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXN0UmVzdWx0JiByZXN1bHQpOwotCiAgIC8vIFN0
cmVhbXMgYW4gWE1MIHJlcHJlc2VudGF0aW9uIG9mIGEgVGVzdEluZm8gb2JqZWN0LgogICBzdGF0
aWMgdm9pZCBPdXRwdXRYbWxUZXN0SW5mbyg6OnN0ZDo6b3N0cmVhbSogc3RyZWFtLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiB0ZXN0X3N1aXRlX25hbWUsCkBA
IC0zOTc1LDggKzM3NjksNyBAQCBjbGFzcyBYbWxVbml0VGVzdFJlc3VsdFByaW50ZXIgOiBwdWJs
aWMgRW1wdHlUZXN0RXZlbnRMaXN0ZW5lciB7CiAgIC8vIFRoZSBvdXRwdXQgZmlsZS4KICAgY29u
c3Qgc3RkOjpzdHJpbmcgb3V0cHV0X2ZpbGVfOwogCi0gIFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRl
cihjb25zdCBYbWxVbml0VGVzdFJlc3VsdFByaW50ZXImKSA9IGRlbGV0ZTsKLSAgWG1sVW5pdFRl
c3RSZXN1bHRQcmludGVyJiBvcGVyYXRvcj0oY29uc3QgWG1sVW5pdFRlc3RSZXN1bHRQcmludGVy
JikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTl8oWG1sVW5pdFRl
c3RSZXN1bHRQcmludGVyKTsKIH07CiAKIC8vIENyZWF0ZXMgYSBuZXcgWG1sVW5pdFRlc3RSZXN1
bHRQcmludGVyLgpAQCAtNDAxNiw4ICszODA5LDggQEAgdm9pZCBYbWxVbml0VGVzdFJlc3VsdFBy
aW50ZXI6Okxpc3RUZXN0c01hdGNoaW5nRmlsdGVyKAogLy8gbW9kdWxlIHdpbGwgY29uc2lzdCBv
ZiBvcmRpbmFyeSBFbmdsaXNoIHRleHQuCiAvLyBJZiB0aGlzIG1vZHVsZSBpcyBldmVyIG1vZGlm
aWVkIHRvIHByb2R1Y2UgdmVyc2lvbiAxLjEgWE1MIG91dHB1dCwKIC8vIG1vc3QgaW52YWxpZCBj
aGFyYWN0ZXJzIGNhbiBiZSByZXRhaW5lZCB1c2luZyBjaGFyYWN0ZXIgcmVmZXJlbmNlcy4KLXN0
ZDo6c3RyaW5nIFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6RXNjYXBlWG1sKGNvbnN0IHN0ZDo6
c3RyaW5nJiBzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBib29sIGlzX2F0dHJpYnV0ZSkgeworc3RkOjpzdHJpbmcgWG1sVW5pdFRlc3RSZXN1bHRQ
cmludGVyOjpFc2NhcGVYbWwoCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHN0ciwgYm9vbCBpc19h
dHRyaWJ1dGUpIHsKICAgTWVzc2FnZSBtOwogCiAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3Ry
LnNpemUoKTsgKytpKSB7CkBAIC00MDQ1LDkgKzM4MzgsOCBAQCBzdGQ6OnN0cmluZyBYbWxVbml0
VGVzdFJlc3VsdFByaW50ZXI6OkVzY2FwZVhtbChjb25zdCBzdGQ6OnN0cmluZyYgc3RyLAogICAg
ICAgICAgIG0gPDwgJyInOwogICAgICAgICBicmVhazsKICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
IGlmIChJc1ZhbGlkWG1sQ2hhcmFjdGVyKHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KGNoKSkp
IHsKLSAgICAgICAgICBpZiAoaXNfYXR0cmlidXRlICYmCi0gICAgICAgICAgICAgIElzTm9ybWFs
aXphYmxlV2hpdGVzcGFjZShzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihjaCkpKQorICAgICAg
ICBpZiAoSXNWYWxpZFhtbENoYXJhY3RlcihjaCkpIHsKKyAgICAgICAgICBpZiAoaXNfYXR0cmli
dXRlICYmIElzTm9ybWFsaXphYmxlV2hpdGVzcGFjZShjaCkpCiAgICAgICAgICAgICBtIDw8ICIm
I3giIDw8IFN0cmluZzo6Rm9ybWF0Qnl0ZShzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihjaCkp
CiAgICAgICAgICAgICAgIDw8ICI7IjsKICAgICAgICAgICBlbHNlCkBAIC00MDY4LDcgKzM4NjAs
NyBAQCBzdGQ6OnN0cmluZyBYbWxVbml0VGVzdFJlc3VsdFByaW50ZXI6OlJlbW92ZUludmFsaWRY
bWxDaGFyYWN0ZXJzKAogICBzdGQ6OnN0cmluZyBvdXRwdXQ7CiAgIG91dHB1dC5yZXNlcnZlKHN0
ci5zaXplKCkpOwogICBmb3IgKHN0ZDo6c3RyaW5nOjpjb25zdF9pdGVyYXRvciBpdCA9IHN0ci5i
ZWdpbigpOyBpdCAhPSBzdHIuZW5kKCk7ICsraXQpCi0gICAgaWYgKElzVmFsaWRYbWxDaGFyYWN0
ZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oKml0KSkpCisgICAgaWYgKElzVmFsaWRYbWxD
aGFyYWN0ZXIoKml0KSkKICAgICAgIG91dHB1dC5wdXNoX2JhY2soKml0KTsKIAogICByZXR1cm4g
b3V0cHV0OwpAQCAtNDA3Niw2ICszODY4LDcgQEAgc3RkOjpzdHJpbmcgWG1sVW5pdFRlc3RSZXN1
bHRQcmludGVyOjpSZW1vdmVJbnZhbGlkWG1sQ2hhcmFjdGVycygKIAogLy8gVGhlIGZvbGxvd2lu
ZyByb3V0aW5lcyBnZW5lcmF0ZSBhbiBYTUwgcmVwcmVzZW50YXRpb24gb2YgYSBVbml0VGVzdAog
Ly8gb2JqZWN0LgorLy8gR09PR0xFVEVTVF9DTTAwMDkgRE8gTk9UIERFTEVURQogLy8KIC8vIFRo
aXMgaXMgaG93IEdvb2dsZSBUZXN0IGNvbmNlcHRzIG1hcCB0byB0aGUgRFREOgogLy8KQEAgLTQx
MDcsMTAgKzM5MDAsNiBAQCBzdGF0aWMgYm9vbCBQb3J0YWJsZUxvY2FsdGltZSh0aW1lX3Qgc2Vj
b25kcywgc3RydWN0IHRtKiBvdXQpIHsKICAgaWYgKHRtX3B0ciA9PSBudWxscHRyKSByZXR1cm4g
ZmFsc2U7CiAgICpvdXQgPSAqdG1fcHRyOwogICByZXR1cm4gdHJ1ZTsKLSNlbGlmIGRlZmluZWQo
X19TVERDX0xJQl9FWFQxX18pCi0gIC8vIFVzZXMgbG9jYWx0aW1lX3Mgd2hlbiBhdmFpbGFibGUg
YXMgbG9jYWx0aW1lX3IgaXMgb25seSBhdmFpbGFibGUgZnJvbQotICAvLyBDMjMgc3RhbmRhcmQu
Ci0gIHJldHVybiBsb2NhbHRpbWVfcygmc2Vjb25kcywgb3V0KSAhPSBudWxscHRyOwogI2Vsc2UK
ICAgcmV0dXJuIGxvY2FsdGltZV9yKCZzZWNvbmRzLCBvdXQpICE9IG51bGxwdHI7CiAjZW5kaWYK
QEAgLTQxMjIsMTQgKzM5MTEsMTMgQEAgc3RkOjpzdHJpbmcgRm9ybWF0RXBvY2hUaW1lSW5NaWxs
aXNBc0lzbzg2MDEoVGltZUluTWlsbGlzIG1zKSB7CiAgIHN0cnVjdCB0bSB0aW1lX3N0cnVjdDsK
ICAgaWYgKCFQb3J0YWJsZUxvY2FsdGltZShzdGF0aWNfY2FzdDx0aW1lX3Q+KG1zIC8gMTAwMCks
ICZ0aW1lX3N0cnVjdCkpCiAgICAgcmV0dXJuICIiOwotICAvLyBZWVlZLU1NLUREVGhoOm1tOnNz
LnNzcworICAvLyBZWVlZLU1NLUREVGhoOm1tOnNzCiAgIHJldHVybiBTdHJlYW1hYmxlVG9TdHJp
bmcodGltZV9zdHJ1Y3QudG1feWVhciArIDE5MDApICsgIi0iICsKLSAgICAgICAgIFN0cmluZzo6
Rm9ybWF0SW50V2lkdGgyKHRpbWVfc3RydWN0LnRtX21vbiArIDEpICsgIi0iICsKLSAgICAgICAg
IFN0cmluZzo6Rm9ybWF0SW50V2lkdGgyKHRpbWVfc3RydWN0LnRtX21kYXkpICsgIlQiICsKLSAg
ICAgICAgIFN0cmluZzo6Rm9ybWF0SW50V2lkdGgyKHRpbWVfc3RydWN0LnRtX2hvdXIpICsgIjoi
ICsKLSAgICAgICAgIFN0cmluZzo6Rm9ybWF0SW50V2lkdGgyKHRpbWVfc3RydWN0LnRtX21pbikg
KyAiOiIgKwotICAgICAgICAgU3RyaW5nOjpGb3JtYXRJbnRXaWR0aDIodGltZV9zdHJ1Y3QudG1f
c2VjKSArICIuIiArCi0gICAgICAgICBTdHJpbmc6OkZvcm1hdEludFdpZHRoTihzdGF0aWNfY2Fz
dDxpbnQ+KG1zICUgMTAwMCksIDMpOworICAgICAgU3RyaW5nOjpGb3JtYXRJbnRXaWR0aDIodGlt
ZV9zdHJ1Y3QudG1fbW9uICsgMSkgKyAiLSIgKworICAgICAgU3RyaW5nOjpGb3JtYXRJbnRXaWR0
aDIodGltZV9zdHJ1Y3QudG1fbWRheSkgKyAiVCIgKworICAgICAgU3RyaW5nOjpGb3JtYXRJbnRX
aWR0aDIodGltZV9zdHJ1Y3QudG1faG91cikgKyAiOiIgKworICAgICAgU3RyaW5nOjpGb3JtYXRJ
bnRXaWR0aDIodGltZV9zdHJ1Y3QudG1fbWluKSArICI6IiArCisgICAgICBTdHJpbmc6OkZvcm1h
dEludFdpZHRoMih0aW1lX3N0cnVjdC50bV9zZWMpOwogfQogCiAvLyBTdHJlYW1zIGFuIFhNTCBD
REFUQSBzZWN0aW9uLCBlc2NhcGluZyBpbnZhbGlkIENEQVRBIHNlcXVlbmNlcyBhcyBuZWVkZWQu
CkBAIC00MTQwLDggKzM5MjgsOCBAQCB2b2lkIFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0
cHV0WG1sQ0RhdGFTZWN0aW9uKDo6c3RkOjpvc3RyZWFtKiBzdHJlYW0sCiAgIGZvciAoOzspIHsK
ICAgICBjb25zdCBjaGFyKiBjb25zdCBuZXh0X3NlZ21lbnQgPSBzdHJzdHIoc2VnbWVudCwgIl1d
PiIpOwogICAgIGlmIChuZXh0X3NlZ21lbnQgIT0gbnVsbHB0cikgewotICAgICAgc3RyZWFtLT53
cml0ZShzZWdtZW50LAotICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzdGQ6OnN0cmVh
bXNpemU+KG5leHRfc2VnbWVudCAtIHNlZ21lbnQpKTsKKyAgICAgIHN0cmVhbS0+d3JpdGUoCisg
ICAgICAgICAgc2VnbWVudCwgc3RhdGljX2Nhc3Q8c3RkOjpzdHJlYW1zaXplPihuZXh0X3NlZ21l
bnQgLSBzZWdtZW50KSk7CiAgICAgICAqc3RyZWFtIDw8ICJdXT5dXSZndDs8IVtDREFUQVsiOwog
ICAgICAgc2VnbWVudCA9IG5leHRfc2VnbWVudCArIHN0cmxlbigiXV0+Iik7CiAgICAgfSBlbHNl
IHsKQEAgLTQxNTMsNTYgKzM5NDEsMjEgQEAgdm9pZCBYbWxVbml0VGVzdFJlc3VsdFByaW50ZXI6
Ok91dHB1dFhtbENEYXRhU2VjdGlvbig6OnN0ZDo6b3N0cmVhbSogc3RyZWFtLAogfQogCiB2b2lk
IFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0cHV0WG1sQXR0cmlidXRlKAotICAgIHN0ZDo6
b3N0cmVhbSogc3RyZWFtLCBjb25zdCBzdGQ6OnN0cmluZyYgZWxlbWVudF9uYW1lLAotICAgIGNv
bnN0IHN0ZDo6c3RyaW5nJiBuYW1lLCBjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUpIHsKKyAgICBz
dGQ6Om9zdHJlYW0qIHN0cmVhbSwKKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZWxlbWVudF9uYW1l
LAorICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLAorICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiB2
YWx1ZSkgewogICBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIGFsbG93ZWRfbmFtZXMg
PQogICAgICAgR2V0UmVzZXJ2ZWRPdXRwdXRBdHRyaWJ1dGVzRm9yRWxlbWVudChlbGVtZW50X25h
bWUpOwogCiAgIEdURVNUX0NIRUNLXyhzdGQ6OmZpbmQoYWxsb3dlZF9uYW1lcy5iZWdpbigpLCBh
bGxvd2VkX25hbWVzLmVuZCgpLCBuYW1lKSAhPQotICAgICAgICAgICAgICAgYWxsb3dlZF9uYW1l
cy5lbmQoKSkKKyAgICAgICAgICAgICAgICAgICBhbGxvd2VkX25hbWVzLmVuZCgpKQogICAgICAg
PDwgIkF0dHJpYnV0ZSAiIDw8IG5hbWUgPDwgIiBpcyBub3QgYWxsb3dlZCBmb3IgZWxlbWVudCA8
IiA8PCBlbGVtZW50X25hbWUKICAgICAgIDw8ICI+LiI7CiAKICAgKnN0cmVhbSA8PCAiICIgPDwg
bmFtZSA8PCAiPVwiIiA8PCBFc2NhcGVYbWxBdHRyaWJ1dGUodmFsdWUpIDw8ICJcIiI7CiB9CiAK
LS8vIFN0cmVhbXMgYSB0ZXN0IHN1aXRlIFhNTCBzdGFuemEgY29udGFpbmluZyB0aGUgZ2l2ZW4g
dGVzdCByZXN1bHQuCi12b2lkIFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0cHV0WG1sVGVz
dFN1aXRlRm9yVGVzdFJlc3VsdCgKLSAgICA6OnN0ZDo6b3N0cmVhbSogc3RyZWFtLCBjb25zdCBU
ZXN0UmVzdWx0JiByZXN1bHQpIHsKLSAgLy8gT3V0cHV0IHRoZSBib2lsZXJwbGF0ZSBmb3IgYSBt
aW5pbWFsIHRlc3Qgc3VpdGUgd2l0aCBvbmUgdGVzdC4KLSAgKnN0cmVhbSA8PCAiICA8dGVzdHN1
aXRlIjsKLSAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVhbSwgInRlc3RzdWl0ZSIsICJuYW1lIiwg
Ik5vblRlc3RTdWl0ZUZhaWx1cmUiKTsKLSAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVhbSwgInRl
c3RzdWl0ZSIsICJ0ZXN0cyIsICIxIik7Ci0gIE91dHB1dFhtbEF0dHJpYnV0ZShzdHJlYW0sICJ0
ZXN0c3VpdGUiLCAiZmFpbHVyZXMiLCAiMSIpOwotICBPdXRwdXRYbWxBdHRyaWJ1dGUoc3RyZWFt
LCAidGVzdHN1aXRlIiwgImRpc2FibGVkIiwgIjAiKTsKLSAgT3V0cHV0WG1sQXR0cmlidXRlKHN0
cmVhbSwgInRlc3RzdWl0ZSIsICJza2lwcGVkIiwgIjAiKTsKLSAgT3V0cHV0WG1sQXR0cmlidXRl
KHN0cmVhbSwgInRlc3RzdWl0ZSIsICJlcnJvcnMiLCAiMCIpOwotICBPdXRwdXRYbWxBdHRyaWJ1
dGUoc3RyZWFtLCAidGVzdHN1aXRlIiwgInRpbWUiLAotICAgICAgICAgICAgICAgICAgICAgRm9y
bWF0VGltZUluTWlsbGlzQXNTZWNvbmRzKHJlc3VsdC5lbGFwc2VkX3RpbWUoKSkpOwotICBPdXRw
dXRYbWxBdHRyaWJ1dGUoCi0gICAgICBzdHJlYW0sICJ0ZXN0c3VpdGUiLCAidGltZXN0YW1wIiwK
LSAgICAgIEZvcm1hdEVwb2NoVGltZUluTWlsbGlzQXNJc284NjAxKHJlc3VsdC5zdGFydF90aW1l
c3RhbXAoKSkpOwotICAqc3RyZWFtIDw8ICI+IjsKLQotICAvLyBPdXRwdXQgdGhlIGJvaWxlcnBs
YXRlIGZvciBhIG1pbmltYWwgdGVzdCBjYXNlIHdpdGggYSBzaW5nbGUgdGVzdC4KLSAgKnN0cmVh
bSA8PCAiICAgIDx0ZXN0Y2FzZSI7Ci0gIE91dHB1dFhtbEF0dHJpYnV0ZShzdHJlYW0sICJ0ZXN0
Y2FzZSIsICJuYW1lIiwgIiIpOwotICBPdXRwdXRYbWxBdHRyaWJ1dGUoc3RyZWFtLCAidGVzdGNh
c2UiLCAic3RhdHVzIiwgInJ1biIpOwotICBPdXRwdXRYbWxBdHRyaWJ1dGUoc3RyZWFtLCAidGVz
dGNhc2UiLCAicmVzdWx0IiwgImNvbXBsZXRlZCIpOwotICBPdXRwdXRYbWxBdHRyaWJ1dGUoc3Ry
ZWFtLCAidGVzdGNhc2UiLCAiY2xhc3NuYW1lIiwgIiIpOwotICBPdXRwdXRYbWxBdHRyaWJ1dGUo
c3RyZWFtLCAidGVzdGNhc2UiLCAidGltZSIsCi0gICAgICAgICAgICAgICAgICAgICBGb3JtYXRU
aW1lSW5NaWxsaXNBc1NlY29uZHMocmVzdWx0LmVsYXBzZWRfdGltZSgpKSk7Ci0gIE91dHB1dFht
bEF0dHJpYnV0ZSgKLSAgICAgIHN0cmVhbSwgInRlc3RjYXNlIiwgInRpbWVzdGFtcCIsCi0gICAg
ICBGb3JtYXRFcG9jaFRpbWVJbk1pbGxpc0FzSXNvODYwMShyZXN1bHQuc3RhcnRfdGltZXN0YW1w
KCkpKTsKLQotICAvLyBPdXRwdXQgdGhlIGFjdHVhbCB0ZXN0IHJlc3VsdC4KLSAgT3V0cHV0WG1s
VGVzdFJlc3VsdChzdHJlYW0sIHJlc3VsdCk7Ci0KLSAgLy8gQ29tcGxldGUgdGhlIHRlc3Qgc3Vp
dGUuCi0gICpzdHJlYW0gPDwgIiAgPC90ZXN0c3VpdGU+XG4iOwotfQotCiAvLyBQcmludHMgYW4g
WE1MIHJlcHJlc2VudGF0aW9uIG9mIGEgVGVzdEluZm8gb2JqZWN0Lgogdm9pZCBYbWxVbml0VGVz
dFJlc3VsdFByaW50ZXI6Ok91dHB1dFhtbFRlc3RJbmZvKDo6c3RkOjpvc3RyZWFtKiBzdHJlYW0s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciogdGVzdF9zdWl0ZV9uYW1lLApAQCAtNDIyNSwxMSArMzk3OCwxMCBAQCB2b2lkIFhtbFVu
aXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0cHV0WG1sVGVzdEluZm8oOjpzdGQ6Om9zdHJlYW0qIHN0
cmVhbSwKICAgICBPdXRwdXRYbWxBdHRyaWJ1dGUoc3RyZWFtLCBrVGVzdHN1aXRlLCAidHlwZV9w
YXJhbSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfaW5mby50eXBlX3BhcmFtKCkpOwog
ICB9Ci0KLSAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVhbSwga1Rlc3RzdWl0ZSwgImZpbGUiLCB0
ZXN0X2luZm8uZmlsZSgpKTsKLSAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVhbSwga1Rlc3RzdWl0
ZSwgImxpbmUiLAotICAgICAgICAgICAgICAgICAgICAgU3RyZWFtYWJsZVRvU3RyaW5nKHRlc3Rf
aW5mby5saW5lKCkpKTsKLSAgaWYgKEdURVNUX0ZMQUdfR0VUKGxpc3RfdGVzdHMpKSB7CisgIGlm
IChHVEVTVF9GTEFHKGxpc3RfdGVzdHMpKSB7CisgICAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVh
bSwga1Rlc3RzdWl0ZSwgImZpbGUiLCB0ZXN0X2luZm8uZmlsZSgpKTsKKyAgICBPdXRwdXRYbWxB
dHRyaWJ1dGUoc3RyZWFtLCBrVGVzdHN1aXRlLCAibGluZSIsCisgICAgICAgICAgICAgICAgICAg
ICAgIFN0cmVhbWFibGVUb1N0cmluZyh0ZXN0X2luZm8ubGluZSgpKSk7CiAgICAgKnN0cmVhbSA8
PCAiIC8+XG4iOwogICAgIHJldHVybjsKICAgfQpAQCAtNDI0Nyw0OCArMzk5OSwzMCBAQCB2b2lk
IFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0cHV0WG1sVGVzdEluZm8oOjpzdGQ6Om9zdHJl
YW0qIHN0cmVhbSwKICAgICAgIEZvcm1hdEVwb2NoVGltZUluTWlsbGlzQXNJc284NjAxKHJlc3Vs
dC5zdGFydF90aW1lc3RhbXAoKSkpOwogICBPdXRwdXRYbWxBdHRyaWJ1dGUoc3RyZWFtLCBrVGVz
dHN1aXRlLCAiY2xhc3NuYW1lIiwgdGVzdF9zdWl0ZV9uYW1lKTsKIAotICBPdXRwdXRYbWxUZXN0
UmVzdWx0KHN0cmVhbSwgcmVzdWx0KTsKLX0KLQotdm9pZCBYbWxVbml0VGVzdFJlc3VsdFByaW50
ZXI6Ok91dHB1dFhtbFRlc3RSZXN1bHQoOjpzdGQ6Om9zdHJlYW0qIHN0cmVhbSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRlc3RSZXN1
bHQmIHJlc3VsdCkgewogICBpbnQgZmFpbHVyZXMgPSAwOwotICBpbnQgc2tpcHMgPSAwOwogICBm
b3IgKGludCBpID0gMDsgaSA8IHJlc3VsdC50b3RhbF9wYXJ0X2NvdW50KCk7ICsraSkgewogICAg
IGNvbnN0IFRlc3RQYXJ0UmVzdWx0JiBwYXJ0ID0gcmVzdWx0LkdldFRlc3RQYXJ0UmVzdWx0KGkp
OwogICAgIGlmIChwYXJ0LmZhaWxlZCgpKSB7Ci0gICAgICBpZiAoKytmYWlsdXJlcyA9PSAxICYm
IHNraXBzID09IDApIHsKKyAgICAgIGlmICgrK2ZhaWx1cmVzID09IDEpIHsKICAgICAgICAgKnN0
cmVhbSA8PCAiPlxuIjsKICAgICAgIH0KICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nIGxvY2F0aW9u
ID0KICAgICAgICAgICBpbnRlcm5hbDo6Rm9ybWF0Q29tcGlsZXJJbmRlcGVuZGVudEZpbGVMb2Nh
dGlvbihwYXJ0LmZpbGVfbmFtZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnQubGluZV9udW1iZXIoKSk7CiAgICAgICBjb25z
dCBzdGQ6OnN0cmluZyBzdW1tYXJ5ID0gbG9jYXRpb24gKyAiXG4iICsgcGFydC5zdW1tYXJ5KCk7
Ci0gICAgICAqc3RyZWFtIDw8ICIgICAgICA8ZmFpbHVyZSBtZXNzYWdlPVwiIiA8PCBFc2NhcGVY
bWxBdHRyaWJ1dGUoc3VtbWFyeSkKKyAgICAgICpzdHJlYW0gPDwgIiAgICAgIDxmYWlsdXJlIG1l
c3NhZ2U9XCIiCisgICAgICAgICAgICAgIDw8IEVzY2FwZVhtbEF0dHJpYnV0ZShzdW1tYXJ5LmNf
c3RyKCkpCiAgICAgICAgICAgICAgIDw8ICJcIiB0eXBlPVwiXCI+IjsKICAgICAgIGNvbnN0IHN0
ZDo6c3RyaW5nIGRldGFpbCA9IGxvY2F0aW9uICsgIlxuIiArIHBhcnQubWVzc2FnZSgpOwogICAg
ICAgT3V0cHV0WG1sQ0RhdGFTZWN0aW9uKHN0cmVhbSwgUmVtb3ZlSW52YWxpZFhtbENoYXJhY3Rl
cnMoZGV0YWlsKS5jX3N0cigpKTsKICAgICAgICpzdHJlYW0gPDwgIjwvZmFpbHVyZT5cbiI7Ci0g
ICAgfSBlbHNlIGlmIChwYXJ0LnNraXBwZWQoKSkgewotICAgICAgaWYgKCsrc2tpcHMgPT0gMSAm
JiBmYWlsdXJlcyA9PSAwKSB7Ci0gICAgICAgICpzdHJlYW0gPDwgIj5cbiI7Ci0gICAgICB9Ci0g
ICAgICBjb25zdCBzdGQ6OnN0cmluZyBsb2NhdGlvbiA9Ci0gICAgICAgICAgaW50ZXJuYWw6OkZv
cm1hdENvbXBpbGVySW5kZXBlbmRlbnRGaWxlTG9jYXRpb24ocGFydC5maWxlX25hbWUoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJ0LmxpbmVfbnVtYmVyKCkpOwotICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgc3VtbWFyeSA9IGxv
Y2F0aW9uICsgIlxuIiArIHBhcnQuc3VtbWFyeSgpOwotICAgICAgKnN0cmVhbSA8PCAiICAgICAg
PHNraXBwZWQgbWVzc2FnZT1cIiIKLSAgICAgICAgICAgICAgPDwgRXNjYXBlWG1sQXR0cmlidXRl
KHN1bW1hcnkuY19zdHIoKSkgPDwgIlwiPiI7Ci0gICAgICBjb25zdCBzdGQ6OnN0cmluZyBkZXRh
aWwgPSBsb2NhdGlvbiArICJcbiIgKyBwYXJ0Lm1lc3NhZ2UoKTsKLSAgICAgIE91dHB1dFhtbENE
YXRhU2VjdGlvbihzdHJlYW0sIFJlbW92ZUludmFsaWRYbWxDaGFyYWN0ZXJzKGRldGFpbCkuY19z
dHIoKSk7Ci0gICAgICAqc3RyZWFtIDw8ICI8L3NraXBwZWQ+XG4iOwogICAgIH0KICAgfQogCi0g
IGlmIChmYWlsdXJlcyA9PSAwICYmIHNraXBzID09IDAgJiYgcmVzdWx0LnRlc3RfcHJvcGVydHlf
Y291bnQoKSA9PSAwKSB7CisgIGlmIChmYWlsdXJlcyA9PSAwICYmIHJlc3VsdC50ZXN0X3Byb3Bl
cnR5X2NvdW50KCkgPT0gMCkgewogICAgICpzdHJlYW0gPDwgIiAvPlxuIjsKICAgfSBlbHNlIHsK
LSAgICBpZiAoZmFpbHVyZXMgPT0gMCAmJiBza2lwcyA9PSAwKSB7CisgICAgaWYgKGZhaWx1cmVz
ID09IDApIHsKICAgICAgICpzdHJlYW0gPDwgIj5cbiI7CiAgICAgfQogICAgIE91dHB1dFhtbFRl
c3RQcm9wZXJ0aWVzKHN0cmVhbSwgcmVzdWx0KTsKQEAgLTQzMDQsMTcgKzQwMzgsMTMgQEAgdm9p
ZCBYbWxVbml0VGVzdFJlc3VsdFByaW50ZXI6OlByaW50WG1sVGVzdFN1aXRlKHN0ZDo6b3N0cmVh
bSogc3RyZWFtLAogICBPdXRwdXRYbWxBdHRyaWJ1dGUoc3RyZWFtLCBrVGVzdHN1aXRlLCAibmFt
ZSIsIHRlc3Rfc3VpdGUubmFtZSgpKTsKICAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVhbSwga1Rl
c3RzdWl0ZSwgInRlc3RzIiwKICAgICAgICAgICAgICAgICAgICAgIFN0cmVhbWFibGVUb1N0cmlu
Zyh0ZXN0X3N1aXRlLnJlcG9ydGFibGVfdGVzdF9jb3VudCgpKSk7Ci0gIGlmICghR1RFU1RfRkxB
R19HRVQobGlzdF90ZXN0cykpIHsKKyAgaWYgKCFHVEVTVF9GTEFHKGxpc3RfdGVzdHMpKSB7CiAg
ICAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVhbSwga1Rlc3RzdWl0ZSwgImZhaWx1cmVzIiwKICAg
ICAgICAgICAgICAgICAgICAgICAgU3RyZWFtYWJsZVRvU3RyaW5nKHRlc3Rfc3VpdGUuZmFpbGVk
X3Rlc3RfY291bnQoKSkpOwogICAgIE91dHB1dFhtbEF0dHJpYnV0ZSgKICAgICAgICAgc3RyZWFt
LCBrVGVzdHN1aXRlLCAiZGlzYWJsZWQiLAogICAgICAgICBTdHJlYW1hYmxlVG9TdHJpbmcodGVz
dF9zdWl0ZS5yZXBvcnRhYmxlX2Rpc2FibGVkX3Rlc3RfY291bnQoKSkpOwotICAgIE91dHB1dFht
bEF0dHJpYnV0ZShzdHJlYW0sIGtUZXN0c3VpdGUsICJza2lwcGVkIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgU3RyZWFtYWJsZVRvU3RyaW5nKHRlc3Rfc3VpdGUuc2tpcHBlZF90ZXN0X2NvdW50
KCkpKTsKLQogICAgIE91dHB1dFhtbEF0dHJpYnV0ZShzdHJlYW0sIGtUZXN0c3VpdGUsICJlcnJv
cnMiLCAiMCIpOwotCiAgICAgT3V0cHV0WG1sQXR0cmlidXRlKHN0cmVhbSwga1Rlc3RzdWl0ZSwg
InRpbWUiLAogICAgICAgICAgICAgICAgICAgICAgICBGb3JtYXRUaW1lSW5NaWxsaXNBc1NlY29u
ZHModGVzdF9zdWl0ZS5lbGFwc2VkX3RpbWUoKSkpOwogICAgIE91dHB1dFhtbEF0dHJpYnV0ZSgK
QEAgLTQzNTIsNyArNDA4Miw3IEBAIHZvaWQgWG1sVW5pdFRlc3RSZXN1bHRQcmludGVyOjpQcmlu
dFhtbFVuaXRUZXN0KHN0ZDo6b3N0cmVhbSogc3RyZWFtLAogICAgICAgc3RyZWFtLCBrVGVzdHN1
aXRlcywgInRpbWVzdGFtcCIsCiAgICAgICBGb3JtYXRFcG9jaFRpbWVJbk1pbGxpc0FzSXNvODYw
MSh1bml0X3Rlc3Quc3RhcnRfdGltZXN0YW1wKCkpKTsKIAotICBpZiAoR1RFU1RfRkxBR19HRVQo
c2h1ZmZsZSkpIHsKKyAgaWYgKEdURVNUX0ZMQUcoc2h1ZmZsZSkpIHsKICAgICBPdXRwdXRYbWxB
dHRyaWJ1dGUoc3RyZWFtLCBrVGVzdHN1aXRlcywgInJhbmRvbV9zZWVkIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgU3RyZWFtYWJsZVRvU3RyaW5nKHVuaXRfdGVzdC5yYW5kb21fc2VlZCgpKSk7
CiAgIH0KQEAgLTQzNjUsMTMgKzQwOTUsNiBAQCB2b2lkIFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRl
cjo6UHJpbnRYbWxVbml0VGVzdChzdGQ6Om9zdHJlYW0qIHN0cmVhbSwKICAgICBpZiAodW5pdF90
ZXN0LkdldFRlc3RTdWl0ZShpKS0+cmVwb3J0YWJsZV90ZXN0X2NvdW50KCkgPiAwKQogICAgICAg
UHJpbnRYbWxUZXN0U3VpdGUoc3RyZWFtLCAqdW5pdF90ZXN0LkdldFRlc3RTdWl0ZShpKSk7CiAg
IH0KLQotICAvLyBJZiB0aGVyZSB3YXMgYSB0ZXN0IGZhaWx1cmUgb3V0c2lkZSBvZiBvbmUgb2Yg
dGhlIHRlc3Qgc3VpdGVzIChsaWtlIGluIGEKLSAgLy8gdGVzdCBlbnZpcm9ubWVudCkgaW5jbHVk
ZSB0aGF0IGluIHRoZSBvdXRwdXQuCi0gIGlmICh1bml0X3Rlc3QuYWRfaG9jX3Rlc3RfcmVzdWx0
KCkuRmFpbGVkKCkpIHsKLSAgICBPdXRwdXRYbWxUZXN0U3VpdGVGb3JUZXN0UmVzdWx0KHN0cmVh
bSwgdW5pdF90ZXN0LmFkX2hvY190ZXN0X3Jlc3VsdCgpKTsKLSAgfQotCiAgICpzdHJlYW0gPDwg
IjwvIiA8PCBrVGVzdHN1aXRlcyA8PCAiPlxuIjsKIH0KIApAQCAtNDQwNSw3ICs0MTI4LDcgQEAg
c3RkOjpzdHJpbmcgWG1sVW5pdFRlc3RSZXN1bHRQcmludGVyOjpUZXN0UHJvcGVydGllc0FzWG1s
QXR0cmlidXRlcygKICAgZm9yIChpbnQgaSA9IDA7IGkgPCByZXN1bHQudGVzdF9wcm9wZXJ0eV9j
b3VudCgpOyArK2kpIHsKICAgICBjb25zdCBUZXN0UHJvcGVydHkmIHByb3BlcnR5ID0gcmVzdWx0
LkdldFRlc3RQcm9wZXJ0eShpKTsKICAgICBhdHRyaWJ1dGVzIDw8ICIgIiA8PCBwcm9wZXJ0eS5r
ZXkoKSA8PCAiPSIKLSAgICAgICAgICAgICAgIDw8ICJcIiIgPDwgRXNjYXBlWG1sQXR0cmlidXRl
KHByb3BlcnR5LnZhbHVlKCkpIDw8ICJcIiI7CisgICAgICAgIDw8ICJcIiIgPDwgRXNjYXBlWG1s
QXR0cmlidXRlKHByb3BlcnR5LnZhbHVlKCkpIDw8ICJcIiI7CiAgIH0KICAgcmV0dXJuIGF0dHJp
YnV0ZXMuR2V0U3RyaW5nKCk7CiB9CkBAIC00NDE5LDE1ICs0MTQyLDE1IEBAIHZvaWQgWG1sVW5p
dFRlc3RSZXN1bHRQcmludGVyOjpPdXRwdXRYbWxUZXN0UHJvcGVydGllcygKICAgICByZXR1cm47
CiAgIH0KIAotICAqc3RyZWFtIDw8ICIgICAgICA8IiA8PCBrUHJvcGVydGllcyA8PCAiPlxuIjsK
KyAgKnN0cmVhbSA8PCAiPCIgPDwga1Byb3BlcnRpZXMgPDwgIj5cbiI7CiAgIGZvciAoaW50IGkg
PSAwOyBpIDwgcmVzdWx0LnRlc3RfcHJvcGVydHlfY291bnQoKTsgKytpKSB7CiAgICAgY29uc3Qg
VGVzdFByb3BlcnR5JiBwcm9wZXJ0eSA9IHJlc3VsdC5HZXRUZXN0UHJvcGVydHkoaSk7Ci0gICAg
KnN0cmVhbSA8PCAiICAgICAgICA8IiA8PCBrUHJvcGVydHk7CisgICAgKnN0cmVhbSA8PCAiPCIg
PDwga1Byb3BlcnR5OwogICAgICpzdHJlYW0gPDwgIiBuYW1lPVwiIiA8PCBFc2NhcGVYbWxBdHRy
aWJ1dGUocHJvcGVydHkua2V5KCkpIDw8ICJcIiI7CiAgICAgKnN0cmVhbSA8PCAiIHZhbHVlPVwi
IiA8PCBFc2NhcGVYbWxBdHRyaWJ1dGUocHJvcGVydHkudmFsdWUoKSkgPDwgIlwiIjsKICAgICAq
c3RyZWFtIDw8ICIvPlxuIjsKICAgfQotICAqc3RyZWFtIDw8ICIgICAgICA8LyIgPDwga1Byb3Bl
cnRpZXMgPDwgIj5cbiI7CisgICpzdHJlYW0gPDwgIjwvIiA8PCBrUHJvcGVydGllcyA8PCAiPlxu
IjsKIH0KIAogLy8gRW5kIFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlcgpAQCAtNDQ1MSwyMiArNDE3
NCwxNiBAQCBjbGFzcyBKc29uVW5pdFRlc3RSZXN1bHRQcmludGVyIDogcHVibGljIEVtcHR5VGVz
dEV2ZW50TGlzdGVuZXIgewogICAvLy8vIHN0cmVhbXMgdGhlIGF0dHJpYnV0ZSBhcyBKU09OLgog
ICBzdGF0aWMgdm9pZCBPdXRwdXRKc29uS2V5KHN0ZDo6b3N0cmVhbSogc3RyZWFtLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBlbGVtZW50X25hbWUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsIGNvbnN0
IHN0ZDo6c3RyaW5nJiB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dGQ6OnN0cmluZyYgaW5kZW50LCBib29sIGNvbW1hID0gdHJ1ZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBpbmRlbnQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBjb21tYSA9IHRydWUpOwogICBzdGF0aWMgdm9pZCBPdXRwdXRKc29uS2V5KHN0
ZDo6b3N0cmVhbSogc3RyZWFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
ZDo6c3RyaW5nJiBlbGVtZW50X25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RkOjpzdHJpbmcmIG5hbWUsIGludCB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdGQ6OnN0cmluZyYgaW5kZW50LCBib29sIGNvbW1hID0gdHJ1ZSk7Ci0KLSAg
Ly8gU3RyZWFtcyBhIHRlc3Qgc3VpdGUgSlNPTiBzdGFuemEgY29udGFpbmluZyB0aGUgZ2l2ZW4g
dGVzdCByZXN1bHQuCi0gIC8vCi0gIC8vIFJlcXVpcmVzOiByZXN1bHQuRmFpbGVkKCkKLSAgc3Rh
dGljIHZvaWQgT3V0cHV0SnNvblRlc3RTdWl0ZUZvclRlc3RSZXN1bHQoOjpzdGQ6Om9zdHJlYW0q
IHN0cmVhbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgVGVzdFJlc3VsdCYgcmVzdWx0KTsKLQotICAvLyBTdHJlYW1zIGEgSlNPTiByZXByZXNl
bnRhdGlvbiBvZiBhIFRlc3RSZXN1bHQgb2JqZWN0LgotICBzdGF0aWMgdm9pZCBPdXRwdXRKc29u
VGVzdFJlc3VsdCg6OnN0ZDo6b3N0cmVhbSogc3RyZWFtLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBUZXN0UmVzdWx0JiByZXN1bHQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dGQ6OnN0cmluZyYgaW5kZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY29t
bWEgPSB0cnVlKTsKIAogICAvLyBTdHJlYW1zIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBhIFRl
c3RJbmZvIG9iamVjdC4KICAgc3RhdGljIHZvaWQgT3V0cHV0SnNvblRlc3RJbmZvKDo6c3RkOjpv
c3RyZWFtKiBzdHJlYW0sCkBAIC00NDg5LDkgKzQyMDYsNyBAQCBjbGFzcyBKc29uVW5pdFRlc3RS
ZXN1bHRQcmludGVyIDogcHVibGljIEVtcHR5VGVzdEV2ZW50TGlzdGVuZXIgewogICAvLyBUaGUg
b3V0cHV0IGZpbGUuCiAgIGNvbnN0IHN0ZDo6c3RyaW5nIG91dHB1dF9maWxlXzsKIAotICBKc29u
VW5pdFRlc3RSZXN1bHRQcmludGVyKGNvbnN0IEpzb25Vbml0VGVzdFJlc3VsdFByaW50ZXImKSA9
IGRlbGV0ZTsKLSAgSnNvblVuaXRUZXN0UmVzdWx0UHJpbnRlciYgb3BlcmF0b3I9KGNvbnN0IEpz
b25Vbml0VGVzdFJlc3VsdFByaW50ZXImKSA9Ci0gICAgICBkZWxldGU7CisgIEdURVNUX0RJU0FM
TE9XX0NPUFlfQU5EX0FTU0lHTl8oSnNvblVuaXRUZXN0UmVzdWx0UHJpbnRlcik7CiB9OwogCiAv
LyBDcmVhdGVzIGEgbmV3IEpzb25Vbml0VGVzdFJlc3VsdFByaW50ZXIuCkBAIC00NTAzLDcgKzQy
MTgsNyBAQCBKc29uVW5pdFRlc3RSZXN1bHRQcmludGVyOjpKc29uVW5pdFRlc3RSZXN1bHRQcmlu
dGVyKGNvbnN0IGNoYXIqIG91dHB1dF9maWxlKQogfQogCiB2b2lkIEpzb25Vbml0VGVzdFJlc3Vs
dFByaW50ZXI6Ok9uVGVzdEl0ZXJhdGlvbkVuZChjb25zdCBVbml0VGVzdCYgdW5pdF90ZXN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IC8q
aXRlcmF0aW9uKi8pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IC8qaXRlcmF0aW9uKi8pIHsKICAgRklMRSoganNvbm91dCA9IE9wZW5GaWxl
Rm9yV3JpdGluZyhvdXRwdXRfZmlsZV8pOwogICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW07CiAg
IFByaW50SnNvblVuaXRUZXN0KCZzdHJlYW0sIHVuaXRfdGVzdCk7CkBAIC00NTY5LDkwICs0Mjg0
LDU1IEBAIHN0YXRpYyBzdGQ6OnN0cmluZyBGb3JtYXRFcG9jaFRpbWVJbk1pbGxpc0FzUkZDMzMz
OShUaW1lSW5NaWxsaXMgbXMpIHsKICAgICByZXR1cm4gIiI7CiAgIC8vIFlZWVktTU0tRERUaGg6
bW06c3MKICAgcmV0dXJuIFN0cmVhbWFibGVUb1N0cmluZyh0aW1lX3N0cnVjdC50bV95ZWFyICsg
MTkwMCkgKyAiLSIgKwotICAgICAgICAgU3RyaW5nOjpGb3JtYXRJbnRXaWR0aDIodGltZV9zdHJ1
Y3QudG1fbW9uICsgMSkgKyAiLSIgKwotICAgICAgICAgU3RyaW5nOjpGb3JtYXRJbnRXaWR0aDIo
dGltZV9zdHJ1Y3QudG1fbWRheSkgKyAiVCIgKwotICAgICAgICAgU3RyaW5nOjpGb3JtYXRJbnRX
aWR0aDIodGltZV9zdHJ1Y3QudG1faG91cikgKyAiOiIgKwotICAgICAgICAgU3RyaW5nOjpGb3Jt
YXRJbnRXaWR0aDIodGltZV9zdHJ1Y3QudG1fbWluKSArICI6IiArCi0gICAgICAgICBTdHJpbmc6
OkZvcm1hdEludFdpZHRoMih0aW1lX3N0cnVjdC50bV9zZWMpICsgIloiOworICAgICAgU3RyaW5n
OjpGb3JtYXRJbnRXaWR0aDIodGltZV9zdHJ1Y3QudG1fbW9uICsgMSkgKyAiLSIgKworICAgICAg
U3RyaW5nOjpGb3JtYXRJbnRXaWR0aDIodGltZV9zdHJ1Y3QudG1fbWRheSkgKyAiVCIgKworICAg
ICAgU3RyaW5nOjpGb3JtYXRJbnRXaWR0aDIodGltZV9zdHJ1Y3QudG1faG91cikgKyAiOiIgKwor
ICAgICAgU3RyaW5nOjpGb3JtYXRJbnRXaWR0aDIodGltZV9zdHJ1Y3QudG1fbWluKSArICI6IiAr
CisgICAgICBTdHJpbmc6OkZvcm1hdEludFdpZHRoMih0aW1lX3N0cnVjdC50bV9zZWMpICsgIloi
OwogfQogCiBzdGF0aWMgaW5saW5lIHN0ZDo6c3RyaW5nIEluZGVudChzaXplX3Qgd2lkdGgpIHsK
ICAgcmV0dXJuIHN0ZDo6c3RyaW5nKHdpZHRoLCAnICcpOwogfQogCi12b2lkIEpzb25Vbml0VGVz
dFJlc3VsdFByaW50ZXI6Ok91dHB1dEpzb25LZXkoc3RkOjpvc3RyZWFtKiBzdHJlYW0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJp
bmcmIGVsZW1lbnRfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcm
IGluZGVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGNvbW1hKSB7Cit2b2lkIEpzb25Vbml0VGVzdFJlc3VsdFByaW50ZXI6Ok91dHB1dEpzb25L
ZXkoCisgICAgc3RkOjpvc3RyZWFtKiBzdHJlYW0sCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGVs
ZW1lbnRfbmFtZSwKKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwKKyAgICBjb25zdCBzdGQ6
OnN0cmluZyYgdmFsdWUsCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGluZGVudCwKKyAgICBib29s
IGNvbW1hKSB7CiAgIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgYWxsb3dlZF9uYW1l
cyA9CiAgICAgICBHZXRSZXNlcnZlZE91dHB1dEF0dHJpYnV0ZXNGb3JFbGVtZW50KGVsZW1lbnRf
bmFtZSk7CiAKICAgR1RFU1RfQ0hFQ0tfKHN0ZDo6ZmluZChhbGxvd2VkX25hbWVzLmJlZ2luKCks
IGFsbG93ZWRfbmFtZXMuZW5kKCksIG5hbWUpICE9Ci0gICAgICAgICAgICAgICBhbGxvd2VkX25h
bWVzLmVuZCgpKQorICAgICAgICAgICAgICAgICAgIGFsbG93ZWRfbmFtZXMuZW5kKCkpCiAgICAg
ICA8PCAiS2V5IFwiIiA8PCBuYW1lIDw8ICJcIiBpcyBub3QgYWxsb3dlZCBmb3IgdmFsdWUgXCIi
IDw8IGVsZW1lbnRfbmFtZQogICAgICAgPDwgIlwiLiI7CiAKICAgKnN0cmVhbSA8PCBpbmRlbnQg
PDwgIlwiIiA8PCBuYW1lIDw8ICJcIjogXCIiIDw8IEVzY2FwZUpzb24odmFsdWUpIDw8ICJcIiI7
Ci0gIGlmIChjb21tYSkgKnN0cmVhbSA8PCAiLFxuIjsKKyAgaWYgKGNvbW1hKQorICAgICpzdHJl
YW0gPDwgIixcbiI7CiB9CiAKIHZvaWQgSnNvblVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0cHV0
SnNvbktleSgKLSAgICBzdGQ6Om9zdHJlYW0qIHN0cmVhbSwgY29uc3Qgc3RkOjpzdHJpbmcmIGVs
ZW1lbnRfbmFtZSwKLSAgICBjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwgaW50IHZhbHVlLCBjb25z
dCBzdGQ6OnN0cmluZyYgaW5kZW50LCBib29sIGNvbW1hKSB7CisgICAgc3RkOjpvc3RyZWFtKiBz
dHJlYW0sCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGVsZW1lbnRfbmFtZSwKKyAgICBjb25zdCBz
dGQ6OnN0cmluZyYgbmFtZSwKKyAgICBpbnQgdmFsdWUsCisgICAgY29uc3Qgc3RkOjpzdHJpbmcm
IGluZGVudCwKKyAgICBib29sIGNvbW1hKSB7CiAgIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3Ry
aW5nPiYgYWxsb3dlZF9uYW1lcyA9CiAgICAgICBHZXRSZXNlcnZlZE91dHB1dEF0dHJpYnV0ZXNG
b3JFbGVtZW50KGVsZW1lbnRfbmFtZSk7CiAKICAgR1RFU1RfQ0hFQ0tfKHN0ZDo6ZmluZChhbGxv
d2VkX25hbWVzLmJlZ2luKCksIGFsbG93ZWRfbmFtZXMuZW5kKCksIG5hbWUpICE9Ci0gICAgICAg
ICAgICAgICBhbGxvd2VkX25hbWVzLmVuZCgpKQorICAgICAgICAgICAgICAgICAgIGFsbG93ZWRf
bmFtZXMuZW5kKCkpCiAgICAgICA8PCAiS2V5IFwiIiA8PCBuYW1lIDw8ICJcIiBpcyBub3QgYWxs
b3dlZCBmb3IgdmFsdWUgXCIiIDw8IGVsZW1lbnRfbmFtZQogICAgICAgPDwgIlwiLiI7CiAKICAg
KnN0cmVhbSA8PCBpbmRlbnQgPDwgIlwiIiA8PCBuYW1lIDw8ICJcIjogIiA8PCBTdHJlYW1hYmxl
VG9TdHJpbmcodmFsdWUpOwotICBpZiAoY29tbWEpICpzdHJlYW0gPDwgIixcbiI7Ci19Ci0KLS8v
IFN0cmVhbXMgYSB0ZXN0IHN1aXRlIEpTT04gc3RhbnphIGNvbnRhaW5pbmcgdGhlIGdpdmVuIHRl
c3QgcmVzdWx0Lgotdm9pZCBKc29uVW5pdFRlc3RSZXN1bHRQcmludGVyOjpPdXRwdXRKc29uVGVz
dFN1aXRlRm9yVGVzdFJlc3VsdCgKLSAgICA6OnN0ZDo6b3N0cmVhbSogc3RyZWFtLCBjb25zdCBU
ZXN0UmVzdWx0JiByZXN1bHQpIHsKLSAgLy8gT3V0cHV0IHRoZSBib2lsZXJwbGF0ZSBmb3IgYSBu
ZXcgdGVzdCBzdWl0ZS4KLSAgKnN0cmVhbSA8PCBJbmRlbnQoNCkgPDwgIntcbiI7Ci0gIE91dHB1
dEpzb25LZXkoc3RyZWFtLCAidGVzdHN1aXRlIiwgIm5hbWUiLCAiTm9uVGVzdFN1aXRlRmFpbHVy
ZSIsIEluZGVudCg2KSk7Ci0gIE91dHB1dEpzb25LZXkoc3RyZWFtLCAidGVzdHN1aXRlIiwgInRl
c3RzIiwgMSwgSW5kZW50KDYpKTsKLSAgaWYgKCFHVEVTVF9GTEFHX0dFVChsaXN0X3Rlc3RzKSkg
ewotICAgIE91dHB1dEpzb25LZXkoc3RyZWFtLCAidGVzdHN1aXRlIiwgImZhaWx1cmVzIiwgMSwg
SW5kZW50KDYpKTsKLSAgICBPdXRwdXRKc29uS2V5KHN0cmVhbSwgInRlc3RzdWl0ZSIsICJkaXNh
YmxlZCIsIDAsIEluZGVudCg2KSk7Ci0gICAgT3V0cHV0SnNvbktleShzdHJlYW0sICJ0ZXN0c3Vp
dGUiLCAic2tpcHBlZCIsIDAsIEluZGVudCg2KSk7Ci0gICAgT3V0cHV0SnNvbktleShzdHJlYW0s
ICJ0ZXN0c3VpdGUiLCAiZXJyb3JzIiwgMCwgSW5kZW50KDYpKTsKLSAgICBPdXRwdXRKc29uS2V5
KHN0cmVhbSwgInRlc3RzdWl0ZSIsICJ0aW1lIiwKLSAgICAgICAgICAgICAgICAgIEZvcm1hdFRp
bWVJbk1pbGxpc0FzRHVyYXRpb24ocmVzdWx0LmVsYXBzZWRfdGltZSgpKSwKLSAgICAgICAgICAg
ICAgICAgIEluZGVudCg2KSk7Ci0gICAgT3V0cHV0SnNvbktleShzdHJlYW0sICJ0ZXN0c3VpdGUi
LCAidGltZXN0YW1wIiwKLSAgICAgICAgICAgICAgICAgIEZvcm1hdEVwb2NoVGltZUluTWlsbGlz
QXNSRkMzMzM5KHJlc3VsdC5zdGFydF90aW1lc3RhbXAoKSksCi0gICAgICAgICAgICAgICAgICBJ
bmRlbnQoNikpOwotICB9Ci0gICpzdHJlYW0gPDwgSW5kZW50KDYpIDw8ICJcInRlc3RzdWl0ZVwi
OiBbXG4iOwotCi0gIC8vIE91dHB1dCB0aGUgYm9pbGVycGxhdGUgZm9yIGEgbmV3IHRlc3QgY2Fz
ZS4KLSAgKnN0cmVhbSA8PCBJbmRlbnQoOCkgPDwgIntcbiI7Ci0gIE91dHB1dEpzb25LZXkoc3Ry
ZWFtLCAidGVzdGNhc2UiLCAibmFtZSIsICIiLCBJbmRlbnQoMTApKTsKLSAgT3V0cHV0SnNvbktl
eShzdHJlYW0sICJ0ZXN0Y2FzZSIsICJzdGF0dXMiLCAiUlVOIiwgSW5kZW50KDEwKSk7Ci0gIE91
dHB1dEpzb25LZXkoc3RyZWFtLCAidGVzdGNhc2UiLCAicmVzdWx0IiwgIkNPTVBMRVRFRCIsIElu
ZGVudCgxMCkpOwotICBPdXRwdXRKc29uS2V5KHN0cmVhbSwgInRlc3RjYXNlIiwgInRpbWVzdGFt
cCIsCi0gICAgICAgICAgICAgICAgRm9ybWF0RXBvY2hUaW1lSW5NaWxsaXNBc1JGQzMzMzkocmVz
dWx0LnN0YXJ0X3RpbWVzdGFtcCgpKSwKLSAgICAgICAgICAgICAgICBJbmRlbnQoMTApKTsKLSAg
T3V0cHV0SnNvbktleShzdHJlYW0sICJ0ZXN0Y2FzZSIsICJ0aW1lIiwKLSAgICAgICAgICAgICAg
ICBGb3JtYXRUaW1lSW5NaWxsaXNBc0R1cmF0aW9uKHJlc3VsdC5lbGFwc2VkX3RpbWUoKSksCi0g
ICAgICAgICAgICAgICAgSW5kZW50KDEwKSk7Ci0gIE91dHB1dEpzb25LZXkoc3RyZWFtLCAidGVz
dGNhc2UiLCAiY2xhc3NuYW1lIiwgIiIsIEluZGVudCgxMCksIGZhbHNlKTsKLSAgKnN0cmVhbSA8
PCBUZXN0UHJvcGVydGllc0FzSnNvbihyZXN1bHQsIEluZGVudCgxMCkpOwotCi0gIC8vIE91dHB1
dCB0aGUgYWN0dWFsIHRlc3QgcmVzdWx0LgotICBPdXRwdXRKc29uVGVzdFJlc3VsdChzdHJlYW0s
IHJlc3VsdCk7Ci0KLSAgLy8gRmluaXNoIHRoZSB0ZXN0IHN1aXRlLgotICAqc3RyZWFtIDw8ICJc
biIgPDwgSW5kZW50KDYpIDw8ICJdXG4iIDw8IEluZGVudCg0KSA8PCAifSI7CisgIGlmIChjb21t
YSkKKyAgICAqc3RyZWFtIDw8ICIsXG4iOwogfQogCiAvLyBQcmludHMgYSBKU09OIHJlcHJlc2Vu
dGF0aW9uIG9mIGEgVGVzdEluZm8gb2JqZWN0LgpAQCAtNDY3NCwxNCArNDM1NCwxMSBAQCB2b2lk
IEpzb25Vbml0VGVzdFJlc3VsdFByaW50ZXI6Ok91dHB1dEpzb25UZXN0SW5mbyg6OnN0ZDo6b3N0
cmVhbSogc3RyZWFtLAogICAgIE91dHB1dEpzb25LZXkoc3RyZWFtLCBrVGVzdHN1aXRlLCAidHlw
ZV9wYXJhbSIsIHRlc3RfaW5mby50eXBlX3BhcmFtKCksCiAgICAgICAgICAgICAgICAgICBrSW5k
ZW50KTsKICAgfQotCi0gIE91dHB1dEpzb25LZXkoc3RyZWFtLCBrVGVzdHN1aXRlLCAiZmlsZSIs
IHRlc3RfaW5mby5maWxlKCksIGtJbmRlbnQpOwotICBPdXRwdXRKc29uS2V5KHN0cmVhbSwga1Rl
c3RzdWl0ZSwgImxpbmUiLCB0ZXN0X2luZm8ubGluZSgpLCBrSW5kZW50LCBmYWxzZSk7Ci0gIGlm
IChHVEVTVF9GTEFHX0dFVChsaXN0X3Rlc3RzKSkgeworICBpZiAoR1RFU1RfRkxBRyhsaXN0X3Rl
c3RzKSkgeworICAgIE91dHB1dEpzb25LZXkoc3RyZWFtLCBrVGVzdHN1aXRlLCAiZmlsZSIsIHRl
c3RfaW5mby5maWxlKCksIGtJbmRlbnQpOworICAgIE91dHB1dEpzb25LZXkoc3RyZWFtLCBrVGVz
dHN1aXRlLCAibGluZSIsIHRlc3RfaW5mby5saW5lKCksIGtJbmRlbnQsIGZhbHNlKTsKICAgICAq
c3RyZWFtIDw8ICJcbiIgPDwgSW5kZW50KDgpIDw8ICJ9IjsKICAgICByZXR1cm47Ci0gIH0gZWxz
ZSB7Ci0gICAgKnN0cmVhbSA8PCAiLFxuIjsKICAgfQogCiAgIE91dHB1dEpzb25LZXkoc3RyZWFt
LCBrVGVzdHN1aXRlLCAic3RhdHVzIiwKQEAgLTQ3MDAsMjIgKzQzNzcsMTMgQEAgdm9pZCBKc29u
VW5pdFRlc3RSZXN1bHRQcmludGVyOjpPdXRwdXRKc29uVGVzdEluZm8oOjpzdGQ6Om9zdHJlYW0q
IHN0cmVhbSwKICAgICAgICAgICAgICAgICBmYWxzZSk7CiAgICpzdHJlYW0gPDwgVGVzdFByb3Bl
cnRpZXNBc0pzb24ocmVzdWx0LCBrSW5kZW50KTsKIAotICBPdXRwdXRKc29uVGVzdFJlc3VsdChz
dHJlYW0sIHJlc3VsdCk7Ci19Ci0KLXZvaWQgSnNvblVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0
cHV0SnNvblRlc3RSZXN1bHQoOjpzdGQ6Om9zdHJlYW0qIHN0cmVhbSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVGVzdFJlc3VsdCYg
cmVzdWx0KSB7Ci0gIGNvbnN0IHN0ZDo6c3RyaW5nIGtJbmRlbnQgPSBJbmRlbnQoMTApOwotCiAg
IGludCBmYWlsdXJlcyA9IDA7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgcmVzdWx0LnRvdGFsX3Bh
cnRfY291bnQoKTsgKytpKSB7CiAgICAgY29uc3QgVGVzdFBhcnRSZXN1bHQmIHBhcnQgPSByZXN1
bHQuR2V0VGVzdFBhcnRSZXN1bHQoaSk7CiAgICAgaWYgKHBhcnQuZmFpbGVkKCkpIHsKICAgICAg
ICpzdHJlYW0gPDwgIixcbiI7CiAgICAgICBpZiAoKytmYWlsdXJlcyA9PSAxKSB7Ci0gICAgICAg
ICpzdHJlYW0gPDwga0luZGVudCA8PCAiXCIiCi0gICAgICAgICAgICAgICAgPDwgImZhaWx1cmVz
IgotICAgICAgICAgICAgICAgIDw8ICJcIjogW1xuIjsKKyAgICAgICAgKnN0cmVhbSA8PCBrSW5k
ZW50IDw8ICJcIiIgPDwgImZhaWx1cmVzIiA8PCAiXCI6IFtcbiI7CiAgICAgICB9CiAgICAgICBj
b25zdCBzdGQ6OnN0cmluZyBsb2NhdGlvbiA9CiAgICAgICAgICAgaW50ZXJuYWw6OkZvcm1hdENv
bXBpbGVySW5kZXBlbmRlbnRGaWxlTG9jYXRpb24ocGFydC5maWxlX25hbWUoKSwKQEAgLTQ3Mjgs
NyArNDM5Niw4IEBAIHZvaWQgSnNvblVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6T3V0cHV0SnNvblRl
c3RSZXN1bHQoOjpzdGQ6Om9zdHJlYW0qIHN0cmVhbSwKICAgICB9CiAgIH0KIAotICBpZiAoZmFp
bHVyZXMgPiAwKSAqc3RyZWFtIDw8ICJcbiIgPDwga0luZGVudCA8PCAiXSI7CisgIGlmIChmYWls
dXJlcyA+IDApCisgICAgKnN0cmVhbSA8PCAiXG4iIDw8IGtJbmRlbnQgPDwgIl0iOwogICAqc3Ry
ZWFtIDw8ICJcbiIgPDwgSW5kZW50KDgpIDw8ICJ9IjsKIH0KIApAQCAtNDc0Miw3ICs0NDExLDcg
QEAgdm9pZCBKc29uVW5pdFRlc3RSZXN1bHRQcmludGVyOjpQcmludEpzb25UZXN0U3VpdGUoCiAg
IE91dHB1dEpzb25LZXkoc3RyZWFtLCBrVGVzdHN1aXRlLCAibmFtZSIsIHRlc3Rfc3VpdGUubmFt
ZSgpLCBrSW5kZW50KTsKICAgT3V0cHV0SnNvbktleShzdHJlYW0sIGtUZXN0c3VpdGUsICJ0ZXN0
cyIsIHRlc3Rfc3VpdGUucmVwb3J0YWJsZV90ZXN0X2NvdW50KCksCiAgICAgICAgICAgICAgICAg
a0luZGVudCk7Ci0gIGlmICghR1RFU1RfRkxBR19HRVQobGlzdF90ZXN0cykpIHsKKyAgaWYgKCFH
VEVTVF9GTEFHKGxpc3RfdGVzdHMpKSB7CiAgICAgT3V0cHV0SnNvbktleShzdHJlYW0sIGtUZXN0
c3VpdGUsICJmYWlsdXJlcyIsCiAgICAgICAgICAgICAgICAgICB0ZXN0X3N1aXRlLmZhaWxlZF90
ZXN0X2NvdW50KCksIGtJbmRlbnQpOwogICAgIE91dHB1dEpzb25LZXkoc3RyZWFtLCBrVGVzdHN1
aXRlLCAiZGlzYWJsZWQiLApAQCAtNDc4OSw3ICs0NDU4LDcgQEAgdm9pZCBKc29uVW5pdFRlc3RS
ZXN1bHRQcmludGVyOjpQcmludEpzb25Vbml0VGVzdChzdGQ6Om9zdHJlYW0qIHN0cmVhbSwKICAg
T3V0cHV0SnNvbktleShzdHJlYW0sIGtUZXN0c3VpdGVzLCAiZGlzYWJsZWQiLAogICAgICAgICAg
ICAgICAgIHVuaXRfdGVzdC5yZXBvcnRhYmxlX2Rpc2FibGVkX3Rlc3RfY291bnQoKSwga0luZGVu
dCk7CiAgIE91dHB1dEpzb25LZXkoc3RyZWFtLCBrVGVzdHN1aXRlcywgImVycm9ycyIsIDAsIGtJ
bmRlbnQpOwotICBpZiAoR1RFU1RfRkxBR19HRVQoc2h1ZmZsZSkpIHsKKyAgaWYgKEdURVNUX0ZM
QUcoc2h1ZmZsZSkpIHsKICAgICBPdXRwdXRKc29uS2V5KHN0cmVhbSwga1Rlc3RzdWl0ZXMsICJy
YW5kb21fc2VlZCIsIHVuaXRfdGVzdC5yYW5kb21fc2VlZCgpLAogICAgICAgICAgICAgICAgICAg
a0luZGVudCk7CiAgIH0KQEAgLTQ4MTgsMTUgKzQ0ODcsNyBAQCB2b2lkIEpzb25Vbml0VGVzdFJl
c3VsdFByaW50ZXI6OlByaW50SnNvblVuaXRUZXN0KHN0ZDo6b3N0cmVhbSogc3RyZWFtLAogICAg
IH0KICAgfQogCi0gIC8vIElmIHRoZXJlIHdhcyBhIHRlc3QgZmFpbHVyZSBvdXRzaWRlIG9mIG9u
ZSBvZiB0aGUgdGVzdCBzdWl0ZXMgKGxpa2UgaW4gYQotICAvLyB0ZXN0IGVudmlyb25tZW50KSBp
bmNsdWRlIHRoYXQgaW4gdGhlIG91dHB1dC4KLSAgaWYgKHVuaXRfdGVzdC5hZF9ob2NfdGVzdF9y
ZXN1bHQoKS5GYWlsZWQoKSkgewotICAgIE91dHB1dEpzb25UZXN0U3VpdGVGb3JUZXN0UmVzdWx0
KHN0cmVhbSwgdW5pdF90ZXN0LmFkX2hvY190ZXN0X3Jlc3VsdCgpKTsKLSAgfQotCi0gICpzdHJl
YW0gPDwgIlxuIgotICAgICAgICAgIDw8IGtJbmRlbnQgPDwgIl1cbiIKLSAgICAgICAgICA8PCAi
fVxuIjsKKyAgKnN0cmVhbSA8PCAiXG4iIDw8IGtJbmRlbnQgPDwgIl1cbiIgPDwgIn1cbiI7CiB9
CiAKIHZvaWQgSnNvblVuaXRUZXN0UmVzdWx0UHJpbnRlcjo6UHJpbnRKc29uVGVzdExpc3QoCkBA
IC00ODYxLDggKzQ1MjIsNyBAQCBzdGQ6OnN0cmluZyBKc29uVW5pdFRlc3RSZXN1bHRQcmludGVy
OjpUZXN0UHJvcGVydGllc0FzSnNvbigKICAgTWVzc2FnZSBhdHRyaWJ1dGVzOwogICBmb3IgKGlu
dCBpID0gMDsgaSA8IHJlc3VsdC50ZXN0X3Byb3BlcnR5X2NvdW50KCk7ICsraSkgewogICAgIGNv
bnN0IFRlc3RQcm9wZXJ0eSYgcHJvcGVydHkgPSByZXN1bHQuR2V0VGVzdFByb3BlcnR5KGkpOwot
ICAgIGF0dHJpYnV0ZXMgPDwgIixcbiIKLSAgICAgICAgICAgICAgIDw8IGluZGVudCA8PCAiXCIi
IDw8IHByb3BlcnR5LmtleSgpIDw8ICJcIjogIgorICAgIGF0dHJpYnV0ZXMgPDwgIixcbiIgPDwg
aW5kZW50IDw8ICJcIiIgPDwgcHJvcGVydHkua2V5KCkgPDwgIlwiOiAiCiAgICAgICAgICAgICAg
ICA8PCAiXCIiIDw8IEVzY2FwZUpzb24ocHJvcGVydHkudmFsdWUoKSkgPDwgIlwiIjsKICAgfQog
ICByZXR1cm4gYXR0cmlidXRlcy5HZXRTdHJpbmcoKTsKQEAgLTQ5MDIsMTQgKzQ1NjIsMTQgQEAg
dm9pZCBTdHJlYW1pbmdMaXN0ZW5lcjo6U29ja2V0V3JpdGVyOjpNYWtlQ29ubmVjdGlvbigpIHsK
IAogICBhZGRyaW5mbyBoaW50czsKICAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7
Ci0gIGhpbnRzLmFpX2ZhbWlseSA9IEFGX1VOU1BFQzsgIC8vIFRvIGFsbG93IGJvdGggSVB2NCBh
bmQgSVB2NiBhZGRyZXNzZXMuCisgIGhpbnRzLmFpX2ZhbWlseSA9IEFGX1VOU1BFQzsgICAgLy8g
VG8gYWxsb3cgYm90aCBJUHY0IGFuZCBJUHY2IGFkZHJlc3Nlcy4KICAgaGludHMuYWlfc29ja3R5
cGUgPSBTT0NLX1NUUkVBTTsKICAgYWRkcmluZm8qIHNlcnZpbmZvID0gbnVsbHB0cjsKIAogICAv
LyBVc2UgdGhlIGdldGFkZHJpbmZvKCkgdG8gZ2V0IGEgbGlua2VkIGxpc3Qgb2YgSVAgYWRkcmVz
c2VzIGZvcgogICAvLyB0aGUgZ2l2ZW4gaG9zdCBuYW1lLgotICBjb25zdCBpbnQgZXJyb3JfbnVt
ID0KLSAgICAgIGdldGFkZHJpbmZvKGhvc3RfbmFtZV8uY19zdHIoKSwgcG9ydF9udW1fLmNfc3Ry
KCksICZoaW50cywgJnNlcnZpbmZvKTsKKyAgY29uc3QgaW50IGVycm9yX251bSA9IGdldGFkZHJp
bmZvKAorICAgICAgaG9zdF9uYW1lXy5jX3N0cigpLCBwb3J0X251bV8uY19zdHIoKSwgJmhpbnRz
LCAmc2VydmluZm8pOwogICBpZiAoZXJyb3JfbnVtICE9IDApIHsKICAgICBHVEVTVF9MT0dfKFdB
Uk5JTkcpIDw8ICJzdHJlYW1fcmVzdWx0X3RvOiBnZXRhZGRyaW5mbygpIGZhaWxlZDogIgogICAg
ICAgICAgICAgICAgICAgICAgICAgPDwgZ2FpX3N0cmVycm9yKGVycm9yX251bSk7CkBAIC00OTE4
LDggKzQ1NzgsOCBAQCB2b2lkIFN0cmVhbWluZ0xpc3RlbmVyOjpTb2NrZXRXcml0ZXI6Ok1ha2VD
b25uZWN0aW9uKCkgewogICAvLyBMb29wIHRocm91Z2ggYWxsIHRoZSByZXN1bHRzIGFuZCBjb25u
ZWN0IHRvIHRoZSBmaXJzdCB3ZSBjYW4uCiAgIGZvciAoYWRkcmluZm8qIGN1cl9hZGRyID0gc2Vy
dmluZm87IHNvY2tmZF8gPT0gLTEgJiYgY3VyX2FkZHIgIT0gbnVsbHB0cjsKICAgICAgICBjdXJf
YWRkciA9IGN1cl9hZGRyLT5haV9uZXh0KSB7Ci0gICAgc29ja2ZkXyA9IHNvY2tldChjdXJfYWRk
ci0+YWlfZmFtaWx5LCBjdXJfYWRkci0+YWlfc29ja3R5cGUsCi0gICAgICAgICAgICAgICAgICAg
ICBjdXJfYWRkci0+YWlfcHJvdG9jb2wpOworICAgIHNvY2tmZF8gPSBzb2NrZXQoCisgICAgICAg
IGN1cl9hZGRyLT5haV9mYW1pbHksIGN1cl9hZGRyLT5haV9zb2NrdHlwZSwgY3VyX2FkZHItPmFp
X3Byb3RvY29sKTsKICAgICBpZiAoc29ja2ZkXyAhPSAtMSkgewogICAgICAgLy8gQ29ubmVjdCB0
aGUgY2xpZW50IHNvY2tldCB0byB0aGUgc2VydmVyIHNvY2tldC4KICAgICAgIGlmIChjb25uZWN0
KHNvY2tmZF8sIGN1cl9hZGRyLT5haV9hZGRyLCBjdXJfYWRkci0+YWlfYWRkcmxlbikgPT0gLTEp
IHsKQEAgLTQ5NjksNyArNDYyOSw3IEBAIHN0ZDo6c3RyaW5nIE9zU3RhY2tUcmFjZUdldHRlcjo6
Q3VycmVudFN0YWNrVHJhY2UoaW50IG1heF9kZXB0aCwgaW50IHNraXBfY291bnQpCiAKICAgZm9y
IChpbnQgaSA9IDA7IGkgPCByYXdfc3RhY2tfc2l6ZTsgKytpKSB7CiAgICAgaWYgKHJhd19zdGFj
a1tpXSA9PSBjYWxsZXJfZnJhbWUgJiYKLSAgICAgICAgIUdURVNUX0ZMQUdfR0VUKHNob3dfaW50
ZXJuYWxfc3RhY2tfZnJhbWVzKSkgeworICAgICAgICAhR1RFU1RfRkxBRyhzaG93X2ludGVybmFs
X3N0YWNrX2ZyYW1lcykpIHsKICAgICAgIC8vIEFkZCBhIG1hcmtlciB0byB0aGUgdHJhY2UgYW5k
IHN0b3AgYWRkaW5nIGZyYW1lcy4KICAgICAgIGFic2w6OlN0ckFwcGVuZCgmcmVzdWx0LCBrRWxp
ZGVkRnJhbWVzTWFya2VyLCAiXG4iKTsKICAgICAgIGJyZWFrOwpAQCAtNDk4OCw3ICs0NjQ4LDcg
QEAgc3RkOjpzdHJpbmcgT3NTdGFja1RyYWNlR2V0dGVyOjpDdXJyZW50U3RhY2tUcmFjZShpbnQg
bWF4X2RlcHRoLCBpbnQgc2tpcF9jb3VudCkKIAogICByZXR1cm4gcmVzdWx0OwogCi0jZWxzZSAg
IC8vICFHVEVTVF9IQVNfQUJTTAorI2Vsc2UgIC8vICFHVEVTVF9IQVNfQUJTTAogICBzdGF0aWNf
Y2FzdDx2b2lkPihtYXhfZGVwdGgpOwogICBzdGF0aWNfY2FzdDx2b2lkPihza2lwX2NvdW50KTsK
ICAgcmV0dXJuICIiOwpAQCAtNTAxMiwxNCArNDY3MiwxNCBAQCB2b2lkIE9zU3RhY2tUcmFjZUdl
dHRlcjo6VXBvbkxlYXZpbmdHVGVzdCgpIEdURVNUX0xPQ0tfRVhDTFVERURfKG11dGV4Xykgewog
Y2xhc3MgU2NvcGVkUHJlbWF0dXJlRXhpdEZpbGUgewogIHB1YmxpYzoKICAgZXhwbGljaXQgU2Nv
cGVkUHJlbWF0dXJlRXhpdEZpbGUoY29uc3QgY2hhciogcHJlbWF0dXJlX2V4aXRfZmlsZXBhdGgp
Ci0gICAgICA6IHByZW1hdHVyZV9leGl0X2ZpbGVwYXRoXygKLSAgICAgICAgICAgIHByZW1hdHVy
ZV9leGl0X2ZpbGVwYXRoID8gcHJlbWF0dXJlX2V4aXRfZmlsZXBhdGggOiAiIikgeworICAgICAg
OiBwcmVtYXR1cmVfZXhpdF9maWxlcGF0aF8ocHJlbWF0dXJlX2V4aXRfZmlsZXBhdGggPworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbWF0dXJlX2V4aXRfZmlsZXBhdGggOiAi
IikgewogICAgIC8vIElmIGEgcGF0aCB0byB0aGUgcHJlbWF0dXJlLWV4aXQgZmlsZSBpcyBzcGVj
aWZpZWQuLi4KICAgICBpZiAoIXByZW1hdHVyZV9leGl0X2ZpbGVwYXRoXy5lbXB0eSgpKSB7CiAg
ICAgICAvLyBjcmVhdGUgdGhlIGZpbGUgd2l0aCBhIHNpbmdsZSAiMCIgY2hhcmFjdGVyIGluIGl0
LiAgSS9PCiAgICAgICAvLyBlcnJvcnMgYXJlIGlnbm9yZWQgYXMgdGhlcmUncyBub3RoaW5nIGJl
dHRlciB3ZSBjYW4gZG8gYW5kIHdlCiAgICAgICAvLyBkb24ndCB3YW50IHRvIGZhaWwgdGhlIHRl
c3QgYmVjYXVzZSBvZiB0aGlzLgotICAgICAgRklMRSogcGZpbGUgPSBwb3NpeDo6Rk9wZW4ocHJl
bWF0dXJlX2V4aXRfZmlsZXBhdGhfLmNfc3RyKCksICJ3Iik7CisgICAgICBGSUxFKiBwZmlsZSA9
IHBvc2l4OjpGT3BlbihwcmVtYXR1cmVfZXhpdF9maWxlcGF0aCwgInciKTsKICAgICAgIGZ3cml0
ZSgiMCIsIDEsIDEsIHBmaWxlKTsKICAgICAgIGZjbG9zZShwZmlsZSk7CiAgICAgfQpAQCAtNTA0
MSw4ICs0NzAxLDcgQEAgY2xhc3MgU2NvcGVkUHJlbWF0dXJlRXhpdEZpbGUgewogIHByaXZhdGU6
CiAgIGNvbnN0IHN0ZDo6c3RyaW5nIHByZW1hdHVyZV9leGl0X2ZpbGVwYXRoXzsKIAotICBTY29w
ZWRQcmVtYXR1cmVFeGl0RmlsZShjb25zdCBTY29wZWRQcmVtYXR1cmVFeGl0RmlsZSYpID0gZGVs
ZXRlOwotICBTY29wZWRQcmVtYXR1cmVFeGl0RmlsZSYgb3BlcmF0b3I9KGNvbnN0IFNjb3BlZFBy
ZW1hdHVyZUV4aXRGaWxlJikgPSBkZWxldGU7CisgIEdURVNUX0RJU0FMTE9XX0NPUFlfQU5EX0FT
U0lHTl8oU2NvcGVkUHJlbWF0dXJlRXhpdEZpbGUpOwogfTsKIAogfSAgLy8gbmFtZXNwYWNlIGlu
dGVybmFsCkBAIC01MjE2LDcgKzQ4NzUsNyBAQCBpbnQgVW5pdFRlc3Q6OnRlc3RfdG9fcnVuX2Nv
dW50KCkgY29uc3QgeyByZXR1cm4gaW1wbCgpLT50ZXN0X3RvX3J1bl9jb3VudCgpOyB9CiAvLyBH
ZXRzIHRoZSB0aW1lIG9mIHRoZSB0ZXN0IHByb2dyYW0gc3RhcnQsIGluIG1zIGZyb20gdGhlIHN0
YXJ0IG9mIHRoZQogLy8gVU5JWCBlcG9jaC4KIGludGVybmFsOjpUaW1lSW5NaWxsaXMgVW5pdFRl
c3Q6OnN0YXJ0X3RpbWVzdGFtcCgpIGNvbnN0IHsKLSAgcmV0dXJuIGltcGwoKS0+c3RhcnRfdGlt
ZXN0YW1wKCk7CisgICAgcmV0dXJuIGltcGwoKS0+c3RhcnRfdGltZXN0YW1wKCk7CiB9CiAKIC8v
IEdldHMgdGhlIGVsYXBzZWQgdGltZSwgaW4gbWlsbGlzZWNvbmRzLgpAQCAtNTI1OSw3ICs0OTE4
LDkgQEAgVGVzdFN1aXRlKiBVbml0VGVzdDo6R2V0TXV0YWJsZVRlc3RTdWl0ZShpbnQgaSkgewog
CiAvLyBSZXR1cm5zIHRoZSBsaXN0IG9mIGV2ZW50IGxpc3RlbmVycyB0aGF0IGNhbiBiZSB1c2Vk
IHRvIHRyYWNrIGV2ZW50cwogLy8gaW5zaWRlIEdvb2dsZSBUZXN0LgotVGVzdEV2ZW50TGlzdGVu
ZXJzJiBVbml0VGVzdDo6bGlzdGVuZXJzKCkgeyByZXR1cm4gKmltcGwoKS0+bGlzdGVuZXJzKCk7
IH0KK1Rlc3RFdmVudExpc3RlbmVycyYgVW5pdFRlc3Q6Omxpc3RlbmVycygpIHsKKyAgcmV0dXJu
ICppbXBsKCktPmxpc3RlbmVycygpOworfQogCiAvLyBSZWdpc3RlcnMgYW5kIHJldHVybnMgYSBn
bG9iYWwgdGVzdCBlbnZpcm9ubWVudC4gIFdoZW4gYSB0ZXN0CiAvLyBwcm9ncmFtIGlzIHJ1biwg
YWxsIGdsb2JhbCB0ZXN0IGVudmlyb25tZW50cyB3aWxsIGJlIHNldC11cCBpbiB0aGUKQEAgLTUy
ODQsMTEgKzQ5NDUsMTIgQEAgRW52aXJvbm1lbnQqIFVuaXRUZXN0OjpBZGRFbnZpcm9ubWVudChF
bnZpcm9ubWVudCogZW52KSB7CiAvLyBhc3NlcnRpb24gbWFjcm9zIChlLmcuIEFTU0VSVF9UUlVF
LCBFWFBFQ1RfRVEsIGV0YykgZXZlbnR1YWxseSBjYWxsCiAvLyB0aGlzIHRvIHJlcG9ydCB0aGVp
ciByZXN1bHRzLiAgVGhlIHVzZXIgY29kZSBzaG91bGQgdXNlIHRoZQogLy8gYXNzZXJ0aW9uIG1h
Y3JvcyBpbnN0ZWFkIG9mIGNhbGxpbmcgdGhpcyBkaXJlY3RseS4KLXZvaWQgVW5pdFRlc3Q6OkFk
ZFRlc3RQYXJ0UmVzdWx0KFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHJlc3VsdF90eXBlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogZmlsZV9uYW1lLCBpbnQgbGlu
ZV9udW1iZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0
cmluZyYgbWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
ZDo6c3RyaW5nJiBvc19zdGFja190cmFjZSkKLSAgICBHVEVTVF9MT0NLX0VYQ0xVREVEXyhtdXRl
eF8pIHsKK3ZvaWQgVW5pdFRlc3Q6OkFkZFRlc3RQYXJ0UmVzdWx0KAorICAgIFRlc3RQYXJ0UmVz
dWx0OjpUeXBlIHJlc3VsdF90eXBlLAorICAgIGNvbnN0IGNoYXIqIGZpbGVfbmFtZSwKKyAgICBp
bnQgbGluZV9udW1iZXIsCisgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG1lc3NhZ2UsCisgICAgY29u
c3Qgc3RkOjpzdHJpbmcmIG9zX3N0YWNrX3RyYWNlKSBHVEVTVF9MT0NLX0VYQ0xVREVEXyhtdXRl
eF8pIHsKICAgTWVzc2FnZSBtc2c7CiAgIG1zZyA8PCBtZXNzYWdlOwogCkBAIC01Mjk4LDkgKzQ5
NjAsOCBAQCB2b2lkIFVuaXRUZXN0OjpBZGRUZXN0UGFydFJlc3VsdChUZXN0UGFydFJlc3VsdDo6
VHlwZSByZXN1bHRfdHlwZSwKIAogICAgIGZvciAoc2l6ZV90IGkgPSBpbXBsXy0+Z3Rlc3RfdHJh
Y2Vfc3RhY2soKS5zaXplKCk7IGkgPiAwOyAtLWkpIHsKICAgICAgIGNvbnN0IGludGVybmFsOjpU
cmFjZUluZm8mIHRyYWNlID0gaW1wbF8tPmd0ZXN0X3RyYWNlX3N0YWNrKClbaSAtIDFdOwotICAg
ICAgbXNnIDw8ICJcbiIKLSAgICAgICAgICA8PCBpbnRlcm5hbDo6Rm9ybWF0RmlsZUxvY2F0aW9u
KHRyYWNlLmZpbGUsIHRyYWNlLmxpbmUpIDw8ICIgIgotICAgICAgICAgIDw8IHRyYWNlLm1lc3Nh
Z2U7CisgICAgICBtc2cgPDwgIlxuIiA8PCBpbnRlcm5hbDo6Rm9ybWF0RmlsZUxvY2F0aW9uKHRy
YWNlLmZpbGUsIHRyYWNlLmxpbmUpCisgICAgICAgICAgPDwgIiAiIDw8IHRyYWNlLm1lc3NhZ2U7
CiAgICAgfQogICB9CiAKQEAgLTUzMTAsOCArNDk3MSw4IEBAIHZvaWQgVW5pdFRlc3Q6OkFkZFRl
c3RQYXJ0UmVzdWx0KFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHJlc3VsdF90eXBlLAogCiAgIGNvbnN0
IFRlc3RQYXJ0UmVzdWx0IHJlc3VsdCA9IFRlc3RQYXJ0UmVzdWx0KAogICAgICAgcmVzdWx0X3R5
cGUsIGZpbGVfbmFtZSwgbGluZV9udW1iZXIsIG1zZy5HZXRTdHJpbmcoKS5jX3N0cigpKTsKLSAg
aW1wbF8tPkdldFRlc3RQYXJ0UmVzdWx0UmVwb3J0ZXJGb3JDdXJyZW50VGhyZWFkKCktPlJlcG9y
dFRlc3RQYXJ0UmVzdWx0KAotICAgICAgcmVzdWx0KTsKKyAgaW1wbF8tPkdldFRlc3RQYXJ0UmVz
dWx0UmVwb3J0ZXJGb3JDdXJyZW50VGhyZWFkKCktPgorICAgICAgUmVwb3J0VGVzdFBhcnRSZXN1
bHQocmVzdWx0KTsKIAogICBpZiAocmVzdWx0X3R5cGUgIT0gVGVzdFBhcnRSZXN1bHQ6OmtTdWNj
ZXNzICYmCiAgICAgICByZXN1bHRfdHlwZSAhPSBUZXN0UGFydFJlc3VsdDo6a1NraXApIHsKQEAg
LTUzMjAsNyArNDk4MSw3IEBAIHZvaWQgVW5pdFRlc3Q6OkFkZFRlc3RQYXJ0UmVzdWx0KFRlc3RQ
YXJ0UmVzdWx0OjpUeXBlIHJlc3VsdF90eXBlLAogICAgIC8vIGluIHRoZSBjb2RlIChwZXJoYXBz
IGluIG9yZGVyIHRvIHVzZSBHb29nbGUgVGVzdCBhc3NlcnRpb25zCiAgICAgLy8gd2l0aCBhbm90
aGVyIHRlc3RpbmcgZnJhbWV3b3JrKSBhbmQgc3BlY2lmeSB0aGUgZm9ybWVyIG9uIHRoZQogICAg
IC8vIGNvbW1hbmQgbGluZSBmb3IgZGVidWdnaW5nLgotICAgIGlmIChHVEVTVF9GTEFHX0dFVChi
cmVha19vbl9mYWlsdXJlKSkgeworICAgIGlmIChHVEVTVF9GTEFHKGJyZWFrX29uX2ZhaWx1cmUp
KSB7CiAjaWYgR1RFU1RfT1NfV0lORE9XUyAmJiAhR1RFU1RfT1NfV0lORE9XU19QSE9ORSAmJiAh
R1RFU1RfT1NfV0lORE9XU19SVAogICAgICAgLy8gVXNpbmcgRGVidWdCcmVhayBvbiBXaW5kb3dz
IGFsbG93cyBndGVzdCB0byBzdGlsbCBicmVhayBpbnRvIGEgZGVidWdnZXIKICAgICAgIC8vIHdo
ZW4gYSBmYWlsdXJlIGhhcHBlbnMgYW5kIGJvdGggdGhlIC0tZ3Rlc3RfYnJlYWtfb25fZmFpbHVy
ZSBhbmQKQEAgLTUzMzcsNyArNDk5OCw3IEBAIHZvaWQgVW5pdFRlc3Q6OkFkZFRlc3RQYXJ0UmVz
dWx0KFRlc3RQYXJ0UmVzdWx0OjpUeXBlIHJlc3VsdF90eXBlLAogICAgICAgLy8gcG9ydGFiaWxp
dHk6IHNvbWUgZGVidWdnZXJzIGRvbid0IGNvcnJlY3RseSB0cmFwIGFib3J0KCkuCiAgICAgICAq
c3RhdGljX2Nhc3Q8dm9sYXRpbGUgaW50Kj4obnVsbHB0cikgPSAxOwogI2VuZGlmICAvLyBHVEVT
VF9PU19XSU5ET1dTCi0gICAgfSBlbHNlIGlmIChHVEVTVF9GTEFHX0dFVCh0aHJvd19vbl9mYWls
dXJlKSkgeworICAgIH0gZWxzZSBpZiAoR1RFU1RfRkxBRyh0aHJvd19vbl9mYWlsdXJlKSkgewog
I2lmIEdURVNUX0hBU19FWENFUFRJT05TCiAgICAgICB0aHJvdyBpbnRlcm5hbDo6R29vZ2xlVGVz
dEZhaWx1cmVFeGNlcHRpb24ocmVzdWx0KTsKICNlbHNlCkBAIC01MzY2LDcgKzUwMjcsNyBAQCB2
b2lkIFVuaXRUZXN0OjpSZWNvcmRQcm9wZXJ0eShjb25zdCBzdGQ6OnN0cmluZyYga2V5LAogLy8g
ZnJvbSB0aGUgbWFpbiB0aHJlYWQuCiBpbnQgVW5pdFRlc3Q6OlJ1bigpIHsKICAgY29uc3QgYm9v
bCBpbl9kZWF0aF90ZXN0X2NoaWxkX3Byb2Nlc3MgPQotICAgICAgR1RFU1RfRkxBR19HRVQoaW50
ZXJuYWxfcnVuX2RlYXRoX3Rlc3QpLmxlbmd0aCgpID4gMDsKKyAgICAgIGludGVybmFsOjpHVEVT
VF9GTEFHKGludGVybmFsX3J1bl9kZWF0aF90ZXN0KS5sZW5ndGgoKSA+IDA7CiAKICAgLy8gR29v
Z2xlIFRlc3QgaW1wbGVtZW50cyB0aGlzIHByb3RvY29sIGZvciBjYXRjaGluZyB0aGF0IGEgdGVz
dAogICAvLyBwcm9ncmFtIGV4aXRzIGJlZm9yZSByZXR1cm5pbmcgY29udHJvbCB0byBHb29nbGUg
VGVzdDoKQEAgLTUzOTYsNyArNTA1Nyw3IEBAIGludCBVbml0VGVzdDo6UnVuKCkgewogCiAgIC8v
IENhcHR1cmVzIHRoZSB2YWx1ZSBvZiBHVEVTVF9GTEFHKGNhdGNoX2V4Y2VwdGlvbnMpLiAgVGhp
cyB2YWx1ZSB3aWxsIGJlCiAgIC8vIHVzZWQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgcHJvZ3Jh
bS4KLSAgaW1wbCgpLT5zZXRfY2F0Y2hfZXhjZXB0aW9ucyhHVEVTVF9GTEFHX0dFVChjYXRjaF9l
eGNlcHRpb25zKSk7CisgIGltcGwoKS0+c2V0X2NhdGNoX2V4Y2VwdGlvbnMoR1RFU1RfRkxBRyhj
YXRjaF9leGNlcHRpb25zKSk7CiAKICNpZiBHVEVTVF9PU19XSU5ET1dTCiAgIC8vIEVpdGhlciB0
aGUgdXNlciB3YW50cyBHb29nbGUgVGVzdCB0byBjYXRjaCBleGNlcHRpb25zIHRocm93biBieSB0
aGUKQEAgLTU0MDQsMjYgKzUwNjUsMjYgQEAgaW50IFVuaXRUZXN0OjpSdW4oKSB7CiAgIC8vIHBy
b2Nlc3MuIEluIGVpdGhlciBjYXNlIHRoZSB1c2VyIGRvZXMgbm90IHdhbnQgdG8gc2VlIHBvcC11
cCBkaWFsb2dzCiAgIC8vIGFib3V0IGNyYXNoZXMgLSB0aGV5IGFyZSBleHBlY3RlZC4KICAgaWYg
KGltcGwoKS0+Y2F0Y2hfZXhjZXB0aW9ucygpIHx8IGluX2RlYXRoX3Rlc3RfY2hpbGRfcHJvY2Vz
cykgewotI2lmICFHVEVTVF9PU19XSU5ET1dTX01PQklMRSAmJiAhR1RFU1RfT1NfV0lORE9XU19Q
SE9ORSAmJiAhR1RFU1RfT1NfV0lORE9XU19SVAorIyBpZiAhR1RFU1RfT1NfV0lORE9XU19NT0JJ
TEUgJiYgIUdURVNUX09TX1dJTkRPV1NfUEhPTkUgJiYgIUdURVNUX09TX1dJTkRPV1NfUlQKICAg
ICAvLyBTZXRFcnJvck1vZGUgZG9lc24ndCBleGlzdCBvbiBDRS4KICAgICBTZXRFcnJvck1vZGUo
U0VNX0ZBSUxDUklUSUNBTEVSUk9SUyB8IFNFTV9OT0FMSUdOTUVOVEZBVUxURVhDRVBUIHwKICAg
ICAgICAgICAgICAgICAgU0VNX05PR1BGQVVMVEVSUk9SQk9YIHwgU0VNX05PT1BFTkZJTEVFUlJP
UkJPWCk7Ci0jZW5kaWYgIC8vICFHVEVTVF9PU19XSU5ET1dTX01PQklMRQorIyBlbmRpZiAgLy8g
IUdURVNUX09TX1dJTkRPV1NfTU9CSUxFCiAKLSNpZiAoZGVmaW5lZChfTVNDX1ZFUikgfHwgR1RF
U1RfT1NfV0lORE9XU19NSU5HVykgJiYgIUdURVNUX09TX1dJTkRPV1NfTU9CSUxFCisjIGlmIChk
ZWZpbmVkKF9NU0NfVkVSKSB8fCBHVEVTVF9PU19XSU5ET1dTX01JTkdXKSAmJiAhR1RFU1RfT1Nf
V0lORE9XU19NT0JJTEUKICAgICAvLyBEZWF0aCB0ZXN0IGNoaWxkcmVuIGNhbiBiZSB0ZXJtaW5h
dGVkIHdpdGggX2Fib3J0KCkuICBPbiBXaW5kb3dzLAogICAgIC8vIF9hYm9ydCgpIGNhbiBzaG93
IGEgZGlhbG9nIHdpdGggYSB3YXJuaW5nIG1lc3NhZ2UuICBUaGlzIGZvcmNlcyB0aGUKICAgICAv
LyBhYm9ydCBtZXNzYWdlIHRvIGdvIHRvIHN0ZGVyciBpbnN0ZWFkLgogICAgIF9zZXRfZXJyb3Jf
bW9kZShfT1VUX1RPX1NUREVSUik7Ci0jZW5kaWYKKyMgZW5kaWYKIAotI2lmIGRlZmluZWQoX01T
Q19WRVIpICYmICFHVEVTVF9PU19XSU5ET1dTX01PQklMRQorIyBpZiBkZWZpbmVkKF9NU0NfVkVS
KSAmJiAhR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKICAgICAvLyBJbiB0aGUgZGVidWcgdmVyc2lv
biwgVmlzdWFsIFN0dWRpbyBwb3BzIHVwIGEgc2VwYXJhdGUgZGlhbG9nCiAgICAgLy8gb2ZmZXJp
bmcgYSBjaG9pY2UgdG8gZGVidWcgdGhlIGFib3J0ZWQgcHJvZ3JhbS4gV2UgbmVlZCB0byBzdXBw
cmVzcwogICAgIC8vIHRoaXMgZGlhbG9nIG9yIGl0IHdpbGwgcG9wIHVwIGZvciBldmVyeSBFWFBF
Q1QvQVNTRVJUX0RFQVRIIHN0YXRlbWVudAogICAgIC8vIGV4ZWN1dGVkLiBHb29nbGUgVGVzdCB3
aWxsIG5vdGlmeSB0aGUgdXNlciBvZiBhbnkgdW5leHBlY3RlZAogICAgIC8vIGZhaWx1cmUgdmlh
IHN0ZGVyci4KLSAgICBpZiAoIUdURVNUX0ZMQUdfR0VUKGJyZWFrX29uX2ZhaWx1cmUpKQorICAg
IGlmICghR1RFU1RfRkxBRyhicmVha19vbl9mYWlsdXJlKSkKICAgICAgIF9zZXRfYWJvcnRfYmVo
YXZpb3IoCiAgICAgICAgICAgMHgwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIENsZWFyIHRoZSBmb2xsb3dpbmcgZmxhZ3M6CiAgICAgICAgICAgX1dSSVRFX0FCT1JUX01T
RyB8IF9DQUxMX1JFUE9SVEZBVUxUKTsgIC8vIHBvcC11cCB3aW5kb3csIGNvcmUgZHVtcC4KQEAg
LTU0MzcsMTUgKzUwOTgsMTQgQEAgaW50IFVuaXRUZXN0OjpSdW4oKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfQ1JUREJHX01PREVfRklMRSB8IF9DUlREQkdfTU9ERV9ERUJVRyk7
CiAgICAgICAodm9pZClfQ3J0U2V0UmVwb3J0RmlsZShfQ1JUX0FTU0VSVCwgX0NSVERCR19GSUxF
X1NUREVSUik7CiAgICAgfQotI2VuZGlmCisjIGVuZGlmCiAgIH0KICNlbmRpZiAgLy8gR1RFU1Rf
T1NfV0lORE9XUwogCiAgIHJldHVybiBpbnRlcm5hbDo6SGFuZGxlRXhjZXB0aW9uc0luTWV0aG9k
SWZTdXBwb3J0ZWQoCi0gICAgICAgICAgICAgaW1wbCgpLCAmaW50ZXJuYWw6OlVuaXRUZXN0SW1w
bDo6UnVuQWxsVGVzdHMsCi0gICAgICAgICAgICAgImF1eGlsaWFyeSB0ZXN0IGNvZGUgKGVudmly
b25tZW50cyBvciBldmVudCBsaXN0ZW5lcnMpIikKLSAgICAgICAgICAgICA/IDAKLSAgICAgICAg
ICAgICA6IDE7CisgICAgICBpbXBsKCksCisgICAgICAmaW50ZXJuYWw6OlVuaXRUZXN0SW1wbDo6
UnVuQWxsVGVzdHMsCisgICAgICAiYXV4aWxpYXJ5IHRlc3QgY29kZSAoZW52aXJvbm1lbnRzIG9y
IGV2ZW50IGxpc3RlbmVycykiKSA/IDAgOiAxOwogfQogCiAvLyBSZXR1cm5zIHRoZSB3b3JraW5n
IGRpcmVjdG9yeSB3aGVuIHRoZSBmaXJzdCBURVNUKCkgb3IgVEVTVF9GKCkgd2FzCkBAIC01NDkw
LDEwICs1MTUwLDE0IEBAIFVuaXRUZXN0OjpwYXJhbWV0ZXJpemVkX3Rlc3RfcmVnaXN0cnkoKSBH
VEVTVF9MT0NLX0VYQ0xVREVEXyhtdXRleF8pIHsKIH0KIAogLy8gQ3JlYXRlcyBhbiBlbXB0eSBV
bml0VGVzdC4KLVVuaXRUZXN0OjpVbml0VGVzdCgpIHsgaW1wbF8gPSBuZXcgaW50ZXJuYWw6OlVu
aXRUZXN0SW1wbCh0aGlzKTsgfQorVW5pdFRlc3Q6OlVuaXRUZXN0KCkgeworICBpbXBsXyA9IG5l
dyBpbnRlcm5hbDo6VW5pdFRlc3RJbXBsKHRoaXMpOworfQogCiAvLyBEZXN0cnVjdG9yIG9mIFVu
aXRUZXN0LgotVW5pdFRlc3Q6On5Vbml0VGVzdCgpIHsgZGVsZXRlIGltcGxfOyB9CitVbml0VGVz
dDo6flVuaXRUZXN0KCkgeworICBkZWxldGUgaW1wbF87Cit9CiAKIC8vIFB1c2hlcyBhIHRyYWNl
IGRlZmluZWQgYnkgU0NPUEVEX1RSQUNFKCkgb24gdG8gdGhlIHBlci10aHJlYWQKIC8vIEdvb2ds
ZSBUZXN0IHRyYWNlIHN0YWNrLgpAQCAtNTUwNCw3ICs1MTY4LDggQEAgdm9pZCBVbml0VGVzdDo6
UHVzaEdUZXN0VHJhY2UoY29uc3QgaW50ZXJuYWw6OlRyYWNlSW5mbyYgdHJhY2UpCiB9CiAKIC8v
IFBvcHMgYSB0cmFjZSBmcm9tIHRoZSBwZXItdGhyZWFkIEdvb2dsZSBUZXN0IHRyYWNlIHN0YWNr
Lgotdm9pZCBVbml0VGVzdDo6UG9wR1Rlc3RUcmFjZSgpIEdURVNUX0xPQ0tfRVhDTFVERURfKG11
dGV4Xykgewordm9pZCBVbml0VGVzdDo6UG9wR1Rlc3RUcmFjZSgpCisgICAgR1RFU1RfTE9DS19F
WENMVURFRF8obXV0ZXhfKSB7CiAgIGludGVybmFsOjpNdXRleExvY2sgbG9jaygmbXV0ZXhfKTsK
ICAgaW1wbF8tPmd0ZXN0X3RyYWNlX3N0YWNrKCkucG9wX2JhY2soKTsKIH0KQEAgLTU2MDEsMTIg
KzUyNjYsMTIgQEAgdm9pZCBVbml0VGVzdEltcGw6OkNvbmZpZ3VyZVhtbE91dHB1dCgpIHsKIC8v
IEluaXRpYWxpemVzIGV2ZW50IGxpc3RlbmVycyBmb3Igc3RyZWFtaW5nIHRlc3QgcmVzdWx0cyBp
biBzdHJpbmcgZm9ybS4KIC8vIE11c3Qgbm90IGJlIGNhbGxlZCBiZWZvcmUgSW5pdEdvb2dsZVRl
c3QuCiB2b2lkIFVuaXRUZXN0SW1wbDo6Q29uZmlndXJlU3RyZWFtaW5nT3V0cHV0KCkgewotICBj
b25zdCBzdGQ6OnN0cmluZyYgdGFyZ2V0ID0gR1RFU1RfRkxBR19HRVQoc3RyZWFtX3Jlc3VsdF90
byk7CisgIGNvbnN0IHN0ZDo6c3RyaW5nJiB0YXJnZXQgPSBHVEVTVF9GTEFHKHN0cmVhbV9yZXN1
bHRfdG8pOwogICBpZiAoIXRhcmdldC5lbXB0eSgpKSB7CiAgICAgY29uc3Qgc2l6ZV90IHBvcyA9
IHRhcmdldC5maW5kKCc6Jyk7CiAgICAgaWYgKHBvcyAhPSBzdGQ6OnN0cmluZzo6bnBvcykgewot
ICAgICAgbGlzdGVuZXJzKCktPkFwcGVuZCgKLSAgICAgICAgICBuZXcgU3RyZWFtaW5nTGlzdGVu
ZXIodGFyZ2V0LnN1YnN0cigwLCBwb3MpLCB0YXJnZXQuc3Vic3RyKHBvcyArIDEpKSk7CisgICAg
ICBsaXN0ZW5lcnMoKS0+QXBwZW5kKG5ldyBTdHJlYW1pbmdMaXN0ZW5lcih0YXJnZXQuc3Vic3Ry
KDAsIHBvcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0YXJnZXQuc3Vic3RyKHBvcysxKSkpOwogICAgIH0gZWxzZSB7CiAgICAgICBHVEVTVF9MT0df
KFdBUk5JTkcpIDw8ICJ1bnJlY29nbml6ZWQgc3RyZWFtaW5nIHRhcmdldCBcIiIgPDwgdGFyZ2V0
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8ICJcIiBpZ25vcmVkLiI7CkBAIC01NjQ0LDE3
ICs1MzA5LDEzIEBAIHZvaWQgVW5pdFRlc3RJbXBsOjpQb3N0RmxhZ1BhcnNpbmdJbml0KCkgewog
ICAgIC8vIHRvIHNodXQgZG93biB0aGUgZGVmYXVsdCBYTUwgb3V0cHV0IGJlZm9yZSBpbnZva2lu
ZyBSVU5fQUxMX1RFU1RTLgogICAgIENvbmZpZ3VyZVhtbE91dHB1dCgpOwogCi0gICAgaWYgKEdU
RVNUX0ZMQUdfR0VUKGJyaWVmKSkgewotICAgICAgbGlzdGVuZXJzKCktPlNldERlZmF1bHRSZXN1
bHRQcmludGVyKG5ldyBCcmllZlVuaXRUZXN0UmVzdWx0UHJpbnRlcik7Ci0gICAgfQotCiAjaWYg
R1RFU1RfQ0FOX1NUUkVBTV9SRVNVTFRTXwogICAgIC8vIENvbmZpZ3VyZXMgbGlzdGVuZXJzIGZv
ciBzdHJlYW1pbmcgdGVzdCByZXN1bHRzIHRvIHRoZSBzcGVjaWZpZWQgc2VydmVyLgogICAgIENv
bmZpZ3VyZVN0cmVhbWluZ091dHB1dCgpOwogI2VuZGlmICAvLyBHVEVTVF9DQU5fU1RSRUFNX1JF
U1VMVFNfCiAKICNpZiBHVEVTVF9IQVNfQUJTTAotICAgIGlmIChHVEVTVF9GTEFHX0dFVChpbnN0
YWxsX2ZhaWx1cmVfc2lnbmFsX2hhbmRsZXIpKSB7CisgICAgaWYgKEdURVNUX0ZMQUcoaW5zdGFs
bF9mYWlsdXJlX3NpZ25hbF9oYW5kbGVyKSkgewogICAgICAgYWJzbDo6RmFpbHVyZVNpZ25hbEhh
bmRsZXJPcHRpb25zIG9wdGlvbnM7CiAgICAgICBhYnNsOjpJbnN0YWxsRmFpbHVyZVNpZ25hbEhh
bmRsZXIob3B0aW9ucyk7CiAgICAgfQpAQCAtNTY5MywxMCArNTM1NCwxMCBAQCBjbGFzcyBUZXN0
U3VpdGVOYW1lSXMgewogLy8gQXJndW1lbnRzOgogLy8KIC8vICAgdGVzdF9zdWl0ZV9uYW1lOiBu
YW1lIG9mIHRoZSB0ZXN0IHN1aXRlCi0vLyAgIHR5cGVfcGFyYW06ICAgICAgdGhlIG5hbWUgb2Yg
dGhlIHRlc3Qgc3VpdGUncyB0eXBlIHBhcmFtZXRlciwgb3IgTlVMTCBpZgotLy8gICAgICAgICAg
ICAgICAgICAgIHRoaXMgaXMgbm90IGEgdHlwZWQgb3IgYSB0eXBlLXBhcmFtZXRlcml6ZWQgdGVz
dCBzdWl0ZS4KLS8vICAgc2V0X3VwX3RjOiAgICAgICBwb2ludGVyIHRvIHRoZSBmdW5jdGlvbiB0
aGF0IHNldHMgdXAgdGhlIHRlc3Qgc3VpdGUKLS8vICAgdGVhcl9kb3duX3RjOiAgICBwb2ludGVy
IHRvIHRoZSBmdW5jdGlvbiB0aGF0IHRlYXJzIGRvd24gdGhlIHRlc3Qgc3VpdGUKKy8vICAgdHlw
ZV9wYXJhbTogICAgIHRoZSBuYW1lIG9mIHRoZSB0ZXN0IHN1aXRlJ3MgdHlwZSBwYXJhbWV0ZXIs
IG9yIE5VTEwgaWYKKy8vICAgICAgICAgICAgICAgICAgIHRoaXMgaXMgbm90IGEgdHlwZWQgb3Ig
YSB0eXBlLXBhcmFtZXRlcml6ZWQgdGVzdCBzdWl0ZS4KKy8vICAgc2V0X3VwX3RjOiAgICAgIHBv
aW50ZXIgdG8gdGhlIGZ1bmN0aW9uIHRoYXQgc2V0cyB1cCB0aGUgdGVzdCBzdWl0ZQorLy8gICB0
ZWFyX2Rvd25fdGM6ICAgcG9pbnRlciB0byB0aGUgZnVuY3Rpb24gdGhhdCB0ZWFycyBkb3duIHRo
ZSB0ZXN0IHN1aXRlCiBUZXN0U3VpdGUqIFVuaXRUZXN0SW1wbDo6R2V0VGVzdFN1aXRlKAogICAg
IGNvbnN0IGNoYXIqIHRlc3Rfc3VpdGVfbmFtZSwgY29uc3QgY2hhciogdHlwZV9wYXJhbSwKICAg
ICBpbnRlcm5hbDo6U2V0VXBUZXN0U3VpdGVGdW5jIHNldF91cF90YywKQEAgLTU3MTIsOSArNTM3
Myw5IEBAIFRlc3RTdWl0ZSogVW5pdFRlc3RJbXBsOjpHZXRUZXN0U3VpdGUoCiAgIGF1dG8qIGNv
bnN0IG5ld190ZXN0X3N1aXRlID0KICAgICAgIG5ldyBUZXN0U3VpdGUodGVzdF9zdWl0ZV9uYW1l
LCB0eXBlX3BhcmFtLCBzZXRfdXBfdGMsIHRlYXJfZG93bl90Yyk7CiAKLSAgY29uc3QgVW5pdFRl
c3RGaWx0ZXIgZGVhdGhfdGVzdF9zdWl0ZV9maWx0ZXIoa0RlYXRoVGVzdFN1aXRlRmlsdGVyKTsK
ICAgLy8gSXMgdGhpcyBhIGRlYXRoIHRlc3Qgc3VpdGU/Ci0gIGlmIChkZWF0aF90ZXN0X3N1aXRl
X2ZpbHRlci5NYXRjaGVzTmFtZSh0ZXN0X3N1aXRlX25hbWUpKSB7CisgIGlmIChpbnRlcm5hbDo6
VW5pdFRlc3RPcHRpb25zOjpNYXRjaGVzRmlsdGVyKHRlc3Rfc3VpdGVfbmFtZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0RlYXRoVGVzdFN1aXRlRmls
dGVyKSkgewogICAgIC8vIFllcy4gIEluc2VydHMgdGhlIHRlc3Qgc3VpdGUgYWZ0ZXIgdGhlIGxh
c3QgZGVhdGggdGVzdCBzdWl0ZQogICAgIC8vIGRlZmluZWQgc28gZmFyLiAgVGhpcyBvbmx5IHdv
cmtzIHdoZW4gdGhlIHRlc3Qgc3VpdGVzIGhhdmVuJ3QKICAgICAvLyBiZWVuIHNodWZmbGVkLiAg
T3RoZXJ3aXNlIHdlIG1heSBlbmQgdXAgcnVubmluZyBhIGRlYXRoIHRlc3QKQEAgLTU3NTEsNyAr
NTQxMiw4IEBAIGJvb2wgVW5pdFRlc3RJbXBsOjpSdW5BbGxUZXN0cygpIHsKICAgY29uc3QgYm9v
bCBndGVzdF9pc19pbml0aWFsaXplZF9iZWZvcmVfcnVuX2FsbF90ZXN0cyA9IEdUZXN0SXNJbml0
aWFsaXplZCgpOwogCiAgIC8vIERvIG5vdCBydW4gYW55IHRlc3QgaWYgdGhlIC0taGVscCBmbGFn
IHdhcyBzcGVjaWZpZWQuCi0gIGlmIChnX2hlbHBfZmxhZykgcmV0dXJuIHRydWU7CisgIGlmIChn
X2hlbHBfZmxhZykKKyAgICByZXR1cm4gdHJ1ZTsKIAogICAvLyBSZXBlYXRzIHRoZSBjYWxsIHRv
IHRoZSBwb3N0LWZsYWcgcGFyc2luZyBpbml0aWFsaXphdGlvbiBpbiBjYXNlIHRoZQogICAvLyB1
c2VyIGRpZG4ndCBjYWxsIEluaXRHb29nbGVUZXN0LgpAQCAtNTc2OSwxMSArNTQzMSwxMSBAQCBi
b29sIFVuaXRUZXN0SW1wbDo6UnVuQWxsVGVzdHMoKSB7CiAjaWYgR1RFU1RfSEFTX0RFQVRIX1RF
U1QKICAgaW5fc3VicHJvY2Vzc19mb3JfZGVhdGhfdGVzdCA9CiAgICAgICAoaW50ZXJuYWxfcnVu
X2RlYXRoX3Rlc3RfZmxhZ18uZ2V0KCkgIT0gbnVsbHB0cik7Ci0jaWYgZGVmaW5lZChHVEVTVF9F
WFRSQV9ERUFUSF9URVNUX0NISUxEX1NFVFVQXykKKyMgaWYgZGVmaW5lZChHVEVTVF9FWFRSQV9E
RUFUSF9URVNUX0NISUxEX1NFVFVQXykKICAgaWYgKGluX3N1YnByb2Nlc3NfZm9yX2RlYXRoX3Rl
c3QpIHsKICAgICBHVEVTVF9FWFRSQV9ERUFUSF9URVNUX0NISUxEX1NFVFVQXygpOwogICB9Ci0j
ZW5kaWYgIC8vIGRlZmluZWQoR1RFU1RfRVhUUkFfREVBVEhfVEVTVF9DSElMRF9TRVRVUF8pCisj
IGVuZGlmICAvLyBkZWZpbmVkKEdURVNUX0VYVFJBX0RFQVRIX1RFU1RfQ0hJTERfU0VUVVBfKQog
I2VuZGlmICAvLyBHVEVTVF9IQVNfREVBVEhfVEVTVAogCiAgIGNvbnN0IGJvb2wgc2hvdWxkX3No
YXJkID0gU2hvdWxkU2hhcmQoa1Rlc3RUb3RhbFNoYXJkcywga1Rlc3RTaGFyZEluZGV4LApAQCAt
NTc4MSwxOCArNTQ0MywxOSBAQCBib29sIFVuaXRUZXN0SW1wbDo6UnVuQWxsVGVzdHMoKSB7CiAK
ICAgLy8gQ29tcGFyZXMgdGhlIGZ1bGwgdGVzdCBuYW1lcyB3aXRoIHRoZSBmaWx0ZXIgdG8gZGVj
aWRlIHdoaWNoCiAgIC8vIHRlc3RzIHRvIHJ1bi4KLSAgY29uc3QgYm9vbCBoYXNfdGVzdHNfdG9f
cnVuID0KLSAgICAgIEZpbHRlclRlc3RzKHNob3VsZF9zaGFyZCA/IEhPTk9SX1NIQVJESU5HX1BS
T1RPQ09MCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBJR05PUkVfU0hBUkRJTkdf
UFJPVE9DT0wpID4gMDsKKyAgY29uc3QgYm9vbCBoYXNfdGVzdHNfdG9fcnVuID0gRmlsdGVyVGVz
dHMoc2hvdWxkX3NoYXJkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPyBIT05PUl9TSEFSRElOR19QUk9UT0NPTAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogSUdOT1JFX1NIQVJESU5HX1BST1RPQ09MKSA+IDA7CiAK
ICAgLy8gTGlzdHMgdGhlIHRlc3RzIGFuZCBleGl0cyBpZiB0aGUgLS1ndGVzdF9saXN0X3Rlc3Rz
IGZsYWcgd2FzIHNwZWNpZmllZC4KLSAgaWYgKEdURVNUX0ZMQUdfR0VUKGxpc3RfdGVzdHMpKSB7
CisgIGlmIChHVEVTVF9GTEFHKGxpc3RfdGVzdHMpKSB7CiAgICAgLy8gVGhpcyBtdXN0IGJlIGNh
bGxlZCAqYWZ0ZXIqIEZpbHRlclRlc3RzKCkgaGFzIGJlZW4gY2FsbGVkLgogICAgIExpc3RUZXN0
c01hdGNoaW5nRmlsdGVyKCk7CiAgICAgcmV0dXJuIHRydWU7CiAgIH0KIAotICByYW5kb21fc2Vl
ZF8gPSBHZXRSYW5kb21TZWVkRnJvbUZsYWcoR1RFU1RfRkxBR19HRVQocmFuZG9tX3NlZWQpKTsK
KyAgcmFuZG9tX3NlZWRfID0gR1RFU1RfRkxBRyhzaHVmZmxlKSA/CisgICAgICBHZXRSYW5kb21T
ZWVkRnJvbUZsYWcoR1RFU1RfRkxBRyhyYW5kb21fc2VlZCkpIDogMDsKIAogICAvLyBUcnVlIGlm
IGFuZCBvbmx5IGlmIGF0IGxlYXN0IG9uZSB0ZXN0IGhhcyBmYWlsZWQuCiAgIGJvb2wgZmFpbGVk
ID0gZmFsc2U7CkBAIC01ODA0LDMwICs1NDY3LDE4IEBAIGJvb2wgVW5pdFRlc3RJbXBsOjpSdW5B
bGxUZXN0cygpIHsKIAogICAvLyBIb3cgbWFueSB0aW1lcyB0byByZXBlYXQgdGhlIHRlc3RzPyAg
V2UgZG9uJ3Qgd2FudCB0byByZXBlYXQgdGhlbQogICAvLyB3aGVuIHdlIGFyZSBpbnNpZGUgdGhl
IHN1YnByb2Nlc3Mgb2YgYSBkZWF0aCB0ZXN0LgotICBjb25zdCBpbnQgcmVwZWF0ID0gaW5fc3Vi
cHJvY2Vzc19mb3JfZGVhdGhfdGVzdCA/IDEgOiBHVEVTVF9GTEFHX0dFVChyZXBlYXQpOwotCisg
IGNvbnN0IGludCByZXBlYXQgPSBpbl9zdWJwcm9jZXNzX2Zvcl9kZWF0aF90ZXN0ID8gMSA6IEdU
RVNUX0ZMQUcocmVwZWF0KTsKICAgLy8gUmVwZWF0cyBmb3JldmVyIGlmIHRoZSByZXBlYXQgY291
bnQgaXMgbmVnYXRpdmUuCiAgIGNvbnN0IGJvb2wgZ3Rlc3RfcmVwZWF0X2ZvcmV2ZXIgPSByZXBl
YXQgPCAwOwotCi0gIC8vIFNob3VsZCB0ZXN0IGVudmlyb25tZW50cyBiZSBzZXQgdXAgYW5kIHRv
cm4gZG93biBmb3IgZWFjaCByZXBlYXQsIG9yIG9ubHkKLSAgLy8gc2V0IHVwIG9uIHRoZSBmaXJz
dCBhbmQgdG9ybiBkb3duIG9uIHRoZSBsYXN0IGl0ZXJhdGlvbj8gSWYgdGhlcmUgaXMgbm8KLSAg
Ly8gImxhc3QiIGl0ZXJhdGlvbiBiZWNhdXNlIHRoZSB0ZXN0cyB3aWxsIHJlcGVhdCBmb3JldmVy
LCBhbHdheXMgcmVjcmVhdGUgdGhlCi0gIC8vIGVudmlyb25tZW50cyB0byBhdm9pZCBsZWFrcyBp
biBjYXNlIG9uZSBvZiB0aGUgZW52aXJvbm1lbnRzIGlzIHVzaW5nCi0gIC8vIHJlc291cmNlcyB0
aGF0IGFyZSBleHRlcm5hbCB0byB0aGlzIHByb2Nlc3MuIFdpdGhvdXQgdGhpcyBjaGVjayB0aGVy
ZSB3b3VsZAotICAvLyBiZSBubyB3YXkgdG8gY2xlYW4gdXAgdGhvc2UgZXh0ZXJuYWwgcmVzb3Vy
Y2VzIGF1dG9tYXRpY2FsbHkuCi0gIGNvbnN0IGJvb2wgcmVjcmVhdGVfZW52aXJvbm1lbnRzX3do
ZW5fcmVwZWF0aW5nID0KLSAgICAgIEdURVNUX0ZMQUdfR0VUKHJlY3JlYXRlX2Vudmlyb25tZW50
c193aGVuX3JlcGVhdGluZykgfHwKLSAgICAgIGd0ZXN0X3JlcGVhdF9mb3JldmVyOwotCiAgIGZv
ciAoaW50IGkgPSAwOyBndGVzdF9yZXBlYXRfZm9yZXZlciB8fCBpICE9IHJlcGVhdDsgaSsrKSB7
CiAgICAgLy8gV2Ugd2FudCB0byBwcmVzZXJ2ZSBmYWlsdXJlcyBnZW5lcmF0ZWQgYnkgYWQtaG9j
IHRlc3QKICAgICAvLyBhc3NlcnRpb25zIGV4ZWN1dGVkIGJlZm9yZSBSVU5fQUxMX1RFU1RTKCku
CiAgICAgQ2xlYXJOb25BZEhvY1Rlc3RSZXN1bHQoKTsKIAotICAgIFRpbWVyIHRpbWVyOworICAg
IGNvbnN0IFRpbWVJbk1pbGxpcyBzdGFydCA9IEdldFRpbWVJbk1pbGxpcygpOwogCiAgICAgLy8g
U2h1ZmZsZXMgdGVzdCBzdWl0ZXMgYW5kIHRlc3RzIGlmIHJlcXVlc3RlZC4KLSAgICBpZiAoaGFz
X3Rlc3RzX3RvX3J1biAmJiBHVEVTVF9GTEFHX0dFVChzaHVmZmxlKSkgeworICAgIGlmIChoYXNf
dGVzdHNfdG9fcnVuICYmIEdURVNUX0ZMQUcoc2h1ZmZsZSkpIHsKICAgICAgIHJhbmRvbSgpLT5S
ZXNlZWQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHJhbmRvbV9zZWVkXykpOwogICAgICAgLy8gVGhp
cyBzaG91bGQgYmUgZG9uZSBiZWZvcmUgY2FsbGluZyBPblRlc3RJdGVyYXRpb25TdGFydCgpLAog
ICAgICAgLy8gc3VjaCB0aGF0IGEgdGVzdCBldmVudCBsaXN0ZW5lciBjYW4gc2VlIHRoZSBhY3R1
YWwgdGVzdCBvcmRlcgpAQCAtNTg0MCwxMyArNTQ5MSwxMCBAQCBib29sIFVuaXRUZXN0SW1wbDo6
UnVuQWxsVGVzdHMoKSB7CiAKICAgICAvLyBSdW5zIGVhY2ggdGVzdCBzdWl0ZSBpZiB0aGVyZSBp
cyBhdCBsZWFzdCBvbmUgdGVzdCB0byBydW4uCiAgICAgaWYgKGhhc190ZXN0c190b19ydW4pIHsK
LSAgICAgIC8vIFNldHMgdXAgYWxsIGVudmlyb25tZW50cyBiZWZvcmVoYW5kLiBJZiB0ZXN0IGVu
dmlyb25tZW50cyBhcmVuJ3QKLSAgICAgIC8vIHJlY3JlYXRlZCBmb3IgZWFjaCBpdGVyYXRpb24s
IG9ubHkgZG8gc28gb24gdGhlIGZpcnN0IGl0ZXJhdGlvbi4KLSAgICAgIGlmIChpID09IDAgfHwg
cmVjcmVhdGVfZW52aXJvbm1lbnRzX3doZW5fcmVwZWF0aW5nKSB7Ci0gICAgICAgIHJlcGVhdGVy
LT5PbkVudmlyb25tZW50c1NldFVwU3RhcnQoKnBhcmVudF8pOwotICAgICAgICBGb3JFYWNoKGVu
dmlyb25tZW50c18sIFNldFVwRW52aXJvbm1lbnQpOwotICAgICAgICByZXBlYXRlci0+T25FbnZp
cm9ubWVudHNTZXRVcEVuZCgqcGFyZW50Xyk7Ci0gICAgICB9CisgICAgICAvLyBTZXRzIHVwIGFs
bCBlbnZpcm9ubWVudHMgYmVmb3JlaGFuZC4KKyAgICAgIHJlcGVhdGVyLT5PbkVudmlyb25tZW50
c1NldFVwU3RhcnQoKnBhcmVudF8pOworICAgICAgRm9yRWFjaChlbnZpcm9ubWVudHNfLCBTZXRV
cEVudmlyb25tZW50KTsKKyAgICAgIHJlcGVhdGVyLT5PbkVudmlyb25tZW50c1NldFVwRW5kKCpw
YXJlbnRfKTsKIAogICAgICAgLy8gUnVucyB0aGUgdGVzdHMgb25seSBpZiB0aGVyZSB3YXMgbm8g
ZmF0YWwgZmFpbHVyZSBvciBza2lwIHRyaWdnZXJlZAogICAgICAgLy8gZHVyaW5nIGdsb2JhbCBz
ZXQtdXAuCkBAIC01ODY4LDM2ICs1NTE2LDE3IEBAIGJvb2wgVW5pdFRlc3RJbXBsOjpSdW5BbGxU
ZXN0cygpIHsKICAgICAgICAgZm9yIChpbnQgdGVzdF9pbmRleCA9IDA7IHRlc3RfaW5kZXggPCB0
b3RhbF90ZXN0X3N1aXRlX2NvdW50KCk7CiAgICAgICAgICAgICAgdGVzdF9pbmRleCsrKSB7CiAg
ICAgICAgICAgR2V0TXV0YWJsZVN1aXRlQ2FzZSh0ZXN0X2luZGV4KS0+UnVuKCk7Ci0gICAgICAg
ICAgaWYgKEdURVNUX0ZMQUdfR0VUKGZhaWxfZmFzdCkgJiYKLSAgICAgICAgICAgICAgR2V0TXV0
YWJsZVN1aXRlQ2FzZSh0ZXN0X2luZGV4KS0+RmFpbGVkKCkpIHsKLSAgICAgICAgICAgIGZvciAo
aW50IGogPSB0ZXN0X2luZGV4ICsgMTsgaiA8IHRvdGFsX3Rlc3Rfc3VpdGVfY291bnQoKTsgaisr
KSB7Ci0gICAgICAgICAgICAgIEdldE11dGFibGVTdWl0ZUNhc2UoaiktPlNraXAoKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
ICAgfSBlbHNlIGlmIChUZXN0OjpIYXNGYXRhbEZhaWx1cmUoKSkgewotICAgICAgICAvLyBJZiB0
aGVyZSB3YXMgYSBmYXRhbCBmYWlsdXJlIGR1cmluZyB0aGUgZ2xvYmFsIHNldHVwIHRoZW4gd2Ug
a25vdyB3ZQotICAgICAgICAvLyBhcmVuJ3QgZ29pbmcgdG8gcnVuIGFueSB0ZXN0cy4gRXhwbGlj
aXRseSBtYXJrIGFsbCBvZiB0aGUgdGVzdHMgYXMKLSAgICAgICAgLy8gc2tpcHBlZCB0byBtYWtl
IHRoaXMgb2J2aW91cyBpbiB0aGUgb3V0cHV0LgotICAgICAgICBmb3IgKGludCB0ZXN0X2luZGV4
ID0gMDsgdGVzdF9pbmRleCA8IHRvdGFsX3Rlc3Rfc3VpdGVfY291bnQoKTsKLSAgICAgICAgICAg
ICB0ZXN0X2luZGV4KyspIHsKLSAgICAgICAgICBHZXRNdXRhYmxlU3VpdGVDYXNlKHRlc3RfaW5k
ZXgpLT5Ta2lwKCk7CiAgICAgICAgIH0KICAgICAgIH0KIAotICAgICAgLy8gVGVhcnMgZG93biBh
bGwgZW52aXJvbm1lbnRzIGluIHJldmVyc2Ugb3JkZXIgYWZ0ZXJ3YXJkcy4gSWYgdGVzdAotICAg
ICAgLy8gZW52aXJvbm1lbnRzIGFyZW4ndCByZWNyZWF0ZWQgZm9yIGVhY2ggaXRlcmF0aW9uLCBv
bmx5IGRvIHNvIG9uIHRoZQotICAgICAgLy8gbGFzdCBpdGVyYXRpb24uCi0gICAgICBpZiAoaSA9
PSByZXBlYXQgLSAxIHx8IHJlY3JlYXRlX2Vudmlyb25tZW50c193aGVuX3JlcGVhdGluZykgewot
ICAgICAgICByZXBlYXRlci0+T25FbnZpcm9ubWVudHNUZWFyRG93blN0YXJ0KCpwYXJlbnRfKTsK
LSAgICAgICAgc3RkOjpmb3JfZWFjaChlbnZpcm9ubWVudHNfLnJiZWdpbigpLCBlbnZpcm9ubWVu
dHNfLnJlbmQoKSwKLSAgICAgICAgICAgICAgICAgICAgICBUZWFyRG93bkVudmlyb25tZW50KTsK
LSAgICAgICAgcmVwZWF0ZXItPk9uRW52aXJvbm1lbnRzVGVhckRvd25FbmQoKnBhcmVudF8pOwot
ICAgICAgfQorICAgICAgLy8gVGVhcnMgZG93biBhbGwgZW52aXJvbm1lbnRzIGluIHJldmVyc2Ug
b3JkZXIgYWZ0ZXJ3YXJkcy4KKyAgICAgIHJlcGVhdGVyLT5PbkVudmlyb25tZW50c1RlYXJEb3du
U3RhcnQoKnBhcmVudF8pOworICAgICAgc3RkOjpmb3JfZWFjaChlbnZpcm9ubWVudHNfLnJiZWdp
bigpLCBlbnZpcm9ubWVudHNfLnJlbmQoKSwKKyAgICAgICAgICAgICAgICAgICAgVGVhckRvd25F
bnZpcm9ubWVudCk7CisgICAgICByZXBlYXRlci0+T25FbnZpcm9ubWVudHNUZWFyRG93bkVuZCgq
cGFyZW50Xyk7CiAgICAgfQogCi0gICAgZWxhcHNlZF90aW1lXyA9IHRpbWVyLkVsYXBzZWQoKTsK
KyAgICBlbGFwc2VkX3RpbWVfID0gR2V0VGltZUluTWlsbGlzKCkgLSBzdGFydDsKIAogICAgIC8v
IFRlbGxzIHRoZSB1bml0IHRlc3QgZXZlbnQgbGlzdGVuZXIgdGhhdCB0aGUgdGVzdHMgaGF2ZSBq
dXN0IGZpbmlzaGVkLgogICAgIHJlcGVhdGVyLT5PblRlc3RJdGVyYXRpb25FbmQoKnBhcmVudF8s
IGkpOwpAQCAtNTkxNSw3ICs1NTQ0LDcgQEAgYm9vbCBVbml0VGVzdEltcGw6OlJ1bkFsbFRlc3Rz
KCkgewogICAgIC8vIChpdCdzIGFsd2F5cyBzYWZlIHRvIHVuc2h1ZmZsZSB0aGUgdGVzdHMpLgog
ICAgIFVuc2h1ZmZsZVRlc3RzKCk7CiAKLSAgICBpZiAoR1RFU1RfRkxBR19HRVQoc2h1ZmZsZSkp
IHsKKyAgICBpZiAoR1RFU1RfRkxBRyhzaHVmZmxlKSkgewogICAgICAgLy8gUGlja3MgYSBuZXcg
cmFuZG9tIHNlZWQgZm9yIGVhY2ggaXRlcmF0aW9uLgogICAgICAgcmFuZG9tX3NlZWRfID0gR2V0
TmV4dFJhbmRvbVNlZWQocmFuZG9tX3NlZWRfKTsKICAgICB9CkBAIC01OTI1LDE0ICs1NTU0LDE0
IEBAIGJvb2wgVW5pdFRlc3RJbXBsOjpSdW5BbGxUZXN0cygpIHsKIAogICBpZiAoIWd0ZXN0X2lz
X2luaXRpYWxpemVkX2JlZm9yZV9ydW5fYWxsX3Rlc3RzKSB7CiAgICAgQ29sb3JlZFByaW50ZigK
LSAgICAgICAgR1Rlc3RDb2xvcjo6a1JlZCwKKyAgICAgICAgQ09MT1JfUkVELAogICAgICAgICAi
XG5JTVBPUlRBTlQgTk9USUNFIC0gRE8gTk9UIElHTk9SRTpcbiIKICAgICAgICAgIlRoaXMgdGVz
dCBwcm9ncmFtIGRpZCBOT1QgY2FsbCAiIEdURVNUX0lOSVRfR09PR0xFX1RFU1RfTkFNRV8KICAg
ICAgICAgIigpIGJlZm9yZSBjYWxsaW5nIFJVTl9BTExfVEVTVFMoKS4gVGhpcyBpcyBJTlZBTElE
LiBTb29uICIgR1RFU1RfTkFNRV8KICAgICAgICAgIiB3aWxsIHN0YXJ0IHRvIGVuZm9yY2UgdGhl
IHZhbGlkIHVzYWdlLiAiCiAgICAgICAgICJQbGVhc2UgZml4IGl0IEFTQVAsIG9yIElUIFdJTEwg
U1RBUlQgVE8gRkFJTC5cbiIpOyAgLy8gTk9MSU5UCiAjaWYgR1RFU1RfRk9SX0dPT0dMRV8KLSAg
ICBDb2xvcmVkUHJpbnRmKEdUZXN0Q29sb3I6OmtSZWQsCisgICAgQ29sb3JlZFByaW50ZihDT0xP
Ul9SRUQsCiAgICAgICAgICAgICAgICAgICAiRm9yIG1vcmUgZGV0YWlscywgc2VlIGh0dHA6Ly93
aWtpL01haW4vVmFsaWRHVW5pdE1haW4uXG4iKTsKICNlbmRpZiAgLy8gR1RFU1RfRk9SX0dPT0dM
RV8KICAgfQpAQCAtNTk0OSw3ICs1NTc4LDcgQEAgdm9pZCBXcml0ZVRvU2hhcmRTdGF0dXNGaWxl
SWZOZWVkZWQoKSB7CiAgIGlmICh0ZXN0X3NoYXJkX2ZpbGUgIT0gbnVsbHB0cikgewogICAgIEZJ
TEUqIGNvbnN0IGZpbGUgPSBwb3NpeDo6Rk9wZW4odGVzdF9zaGFyZF9maWxlLCAidyIpOwogICAg
IGlmIChmaWxlID09IG51bGxwdHIpIHsKLSAgICAgIENvbG9yZWRQcmludGYoR1Rlc3RDb2xvcjo6
a1JlZCwKKyAgICAgIENvbG9yZWRQcmludGYoQ09MT1JfUkVELAogICAgICAgICAgICAgICAgICAg
ICAiQ291bGQgbm90IHdyaXRlIHRvIHRoZSB0ZXN0IHNoYXJkIHN0YXR1cyBmaWxlIFwiJXNcIiAi
CiAgICAgICAgICAgICAgICAgICAgICJzcGVjaWZpZWQgYnkgdGhlICVzIGVudmlyb25tZW50IHZh
cmlhYmxlLlxuIiwKICAgICAgICAgICAgICAgICAgICAgdGVzdF9zaGFyZF9maWxlLCBrVGVzdFNo
YXJkU3RhdHVzRmlsZSk7CkBAIC01OTY2LDcgKzU1OTUsOCBAQCB2b2lkIFdyaXRlVG9TaGFyZFN0
YXR1c0ZpbGVJZk5lZWRlZCgpIHsKIC8vIGFuIGVycm9yIGFuZCBleGl0cy4gSWYgaW5fc3VicHJv
Y2Vzc19mb3JfZGVhdGhfdGVzdCwgc2hhcmRpbmcgaXMKIC8vIGRpc2FibGVkIGJlY2F1c2UgaXQg
bXVzdCBvbmx5IGJlIGFwcGxpZWQgdG8gdGhlIG9yaWdpbmFsIHRlc3QKIC8vIHByb2Nlc3MuIE90
aGVyd2lzZSwgd2UgY291bGQgZmlsdGVyIG91dCBkZWF0aCB0ZXN0cyB3ZSBpbnRlbmRlZCB0byBl
eGVjdXRlLgotYm9vbCBTaG91bGRTaGFyZChjb25zdCBjaGFyKiB0b3RhbF9zaGFyZHNfZW52LCBj
b25zdCBjaGFyKiBzaGFyZF9pbmRleF9lbnYsCitib29sIFNob3VsZFNoYXJkKGNvbnN0IGNoYXIq
IHRvdGFsX3NoYXJkc19lbnYsCisgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHNoYXJkX2lu
ZGV4X2VudiwKICAgICAgICAgICAgICAgICAgYm9vbCBpbl9zdWJwcm9jZXNzX2Zvcl9kZWF0aF90
ZXN0KSB7CiAgIGlmIChpbl9zdWJwcm9jZXNzX2Zvcl9kZWF0aF90ZXN0KSB7CiAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtNTk3OCwyOCArNTYwOCwyOCBAQCBib29sIFNob3VsZFNoYXJkKGNvbnN0IGNo
YXIqIHRvdGFsX3NoYXJkc19lbnYsIGNvbnN0IGNoYXIqIHNoYXJkX2luZGV4X2VudiwKICAgaWYg
KHRvdGFsX3NoYXJkcyA9PSAtMSAmJiBzaGFyZF9pbmRleCA9PSAtMSkgewogICAgIHJldHVybiBm
YWxzZTsKICAgfSBlbHNlIGlmICh0b3RhbF9zaGFyZHMgPT0gLTEgJiYgc2hhcmRfaW5kZXggIT0g
LTEpIHsKLSAgICBjb25zdCBNZXNzYWdlIG1zZyA9IE1lc3NhZ2UoKSA8PCAiSW52YWxpZCBlbnZp
cm9ubWVudCB2YXJpYWJsZXM6IHlvdSBoYXZlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8PCBrVGVzdFNoYXJkSW5kZXggPDwgIiA9ICIgPDwgc2hhcmRfaW5kZXgKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PCAiLCBidXQgaGF2ZSBsZWZ0ICIgPDwga1Rl
c3RUb3RhbFNoYXJkcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8ICIgdW5z
ZXQuXG4iOwotICAgIENvbG9yZWRQcmludGYoR1Rlc3RDb2xvcjo6a1JlZCwgIiVzIiwgbXNnLkdl
dFN0cmluZygpLmNfc3RyKCkpOworICAgIGNvbnN0IE1lc3NhZ2UgbXNnID0gTWVzc2FnZSgpCisg
ICAgICA8PCAiSW52YWxpZCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6IHlvdSBoYXZlICIKKyAgICAg
IDw8IGtUZXN0U2hhcmRJbmRleCA8PCAiID0gIiA8PCBzaGFyZF9pbmRleAorICAgICAgPDwgIiwg
YnV0IGhhdmUgbGVmdCAiIDw8IGtUZXN0VG90YWxTaGFyZHMgPDwgIiB1bnNldC5cbiI7CisgICAg
Q29sb3JlZFByaW50ZihDT0xPUl9SRUQsICIlcyIsIG1zZy5HZXRTdHJpbmcoKS5jX3N0cigpKTsK
ICAgICBmZmx1c2goc3Rkb3V0KTsKICAgICBleGl0KEVYSVRfRkFJTFVSRSk7CiAgIH0gZWxzZSBp
ZiAodG90YWxfc2hhcmRzICE9IC0xICYmIHNoYXJkX2luZGV4ID09IC0xKSB7CiAgICAgY29uc3Qg
TWVzc2FnZSBtc2cgPSBNZXNzYWdlKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIDw8ICJJbnZh
bGlkIGVudmlyb25tZW50IHZhcmlhYmxlczogeW91IGhhdmUgIgotICAgICAgICAgICAgICAgICAg
ICAgICAgPDwga1Rlc3RUb3RhbFNoYXJkcyA8PCAiID0gIiA8PCB0b3RhbF9zaGFyZHMKLSAgICAg
ICAgICAgICAgICAgICAgICAgIDw8ICIsIGJ1dCBoYXZlIGxlZnQgIiA8PCBrVGVzdFNoYXJkSW5k
ZXggPDwgIiB1bnNldC5cbiI7Ci0gICAgQ29sb3JlZFByaW50ZihHVGVzdENvbG9yOjprUmVkLCAi
JXMiLCBtc2cuR2V0U3RyaW5nKCkuY19zdHIoKSk7CisgICAgICA8PCAiSW52YWxpZCBlbnZpcm9u
bWVudCB2YXJpYWJsZXM6IHlvdSBoYXZlICIKKyAgICAgIDw8IGtUZXN0VG90YWxTaGFyZHMgPDwg
IiA9ICIgPDwgdG90YWxfc2hhcmRzCisgICAgICA8PCAiLCBidXQgaGF2ZSBsZWZ0ICIgPDwga1Rl
c3RTaGFyZEluZGV4IDw8ICIgdW5zZXQuXG4iOworICAgIENvbG9yZWRQcmludGYoQ09MT1JfUkVE
LCAiJXMiLCBtc2cuR2V0U3RyaW5nKCkuY19zdHIoKSk7CiAgICAgZmZsdXNoKHN0ZG91dCk7CiAg
ICAgZXhpdChFWElUX0ZBSUxVUkUpOwogICB9IGVsc2UgaWYgKHNoYXJkX2luZGV4IDwgMCB8fCBz
aGFyZF9pbmRleCA+PSB0b3RhbF9zaGFyZHMpIHsKLSAgICBjb25zdCBNZXNzYWdlIG1zZyA9Ci0g
ICAgICAgIE1lc3NhZ2UoKSA8PCAiSW52YWxpZCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6IHdlIHJl
cXVpcmUgMCA8PSAiCi0gICAgICAgICAgICAgICAgICA8PCBrVGVzdFNoYXJkSW5kZXggPDwgIiA8
ICIgPDwga1Rlc3RUb3RhbFNoYXJkcwotICAgICAgICAgICAgICAgICAgPDwgIiwgYnV0IHlvdSBo
YXZlICIgPDwga1Rlc3RTaGFyZEluZGV4IDw8ICI9IiA8PCBzaGFyZF9pbmRleAotICAgICAgICAg
ICAgICAgICAgPDwgIiwgIiA8PCBrVGVzdFRvdGFsU2hhcmRzIDw8ICI9IiA8PCB0b3RhbF9zaGFy
ZHMgPDwgIi5cbiI7Ci0gICAgQ29sb3JlZFByaW50ZihHVGVzdENvbG9yOjprUmVkLCAiJXMiLCBt
c2cuR2V0U3RyaW5nKCkuY19zdHIoKSk7CisgICAgY29uc3QgTWVzc2FnZSBtc2cgPSBNZXNzYWdl
KCkKKyAgICAgIDw8ICJJbnZhbGlkIGVudmlyb25tZW50IHZhcmlhYmxlczogd2UgcmVxdWlyZSAw
IDw9ICIKKyAgICAgIDw8IGtUZXN0U2hhcmRJbmRleCA8PCAiIDwgIiA8PCBrVGVzdFRvdGFsU2hh
cmRzCisgICAgICA8PCAiLCBidXQgeW91IGhhdmUgIiA8PCBrVGVzdFNoYXJkSW5kZXggPDwgIj0i
IDw8IHNoYXJkX2luZGV4CisgICAgICA8PCAiLCAiIDw8IGtUZXN0VG90YWxTaGFyZHMgPDwgIj0i
IDw8IHRvdGFsX3NoYXJkcyA8PCAiLlxuIjsKKyAgICBDb2xvcmVkUHJpbnRmKENPTE9SX1JFRCwg
IiVzIiwgbXNnLkdldFN0cmluZygpLmNfc3RyKCkpOwogICAgIGZmbHVzaChzdGRvdXQpOwogICAg
IGV4aXQoRVhJVF9GQUlMVVJFKTsKICAgfQpAQCAtNjA0MCwxNiArNTY3MCwxMSBAQCBib29sIFNo
b3VsZFJ1blRlc3RPblNoYXJkKGludCB0b3RhbF9zaGFyZHMsIGludCBzaGFyZF9pbmRleCwgaW50
IHRlc3RfaWQpIHsKIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZ29vZ2xldGVzdC9ibG9i
L21hc3Rlci9nb29nbGV0ZXN0L2RvY3MvYWR2YW5jZWQubWQKIC8vIC4gUmV0dXJucyB0aGUgbnVt
YmVyIG9mIHRlc3RzIHRoYXQgc2hvdWxkIHJ1bi4KIGludCBVbml0VGVzdEltcGw6OkZpbHRlclRl
c3RzKFJlYWN0aW9uVG9TaGFyZGluZyBzaGFyZF90ZXN0cykgewotICBjb25zdCBpbnQzMl90IHRv
dGFsX3NoYXJkcyA9IHNoYXJkX3Rlc3RzID09IEhPTk9SX1NIQVJESU5HX1BST1RPQ09MCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gSW50MzJGcm9tRW52T3JEaWUoa1Rlc3RU
b3RhbFNoYXJkcywgLTEpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogLTE7
Ci0gIGNvbnN0IGludDMyX3Qgc2hhcmRfaW5kZXggPSBzaGFyZF90ZXN0cyA9PSBIT05PUl9TSEFS
RElOR19QUk9UT0NPTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gSW50MzJG
cm9tRW52T3JEaWUoa1Rlc3RTaGFyZEluZGV4LCAtMSkKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6IC0xOwotCi0gIGNvbnN0IFBvc2l0aXZlQW5kTmVnYXRpdmVVbml0VGVzdEZp
bHRlciBndGVzdF9mbGFnX2ZpbHRlcigKLSAgICAgIEdURVNUX0ZMQUdfR0VUKGZpbHRlcikpOwot
ICBjb25zdCBVbml0VGVzdEZpbHRlciBkaXNhYmxlX3Rlc3RfZmlsdGVyKGtEaXNhYmxlVGVzdEZp
bHRlcik7CisgIGNvbnN0IGludDMyX3QgdG90YWxfc2hhcmRzID0gc2hhcmRfdGVzdHMgPT0gSE9O
T1JfU0hBUkRJTkdfUFJPVE9DT0wgPworICAgICAgSW50MzJGcm9tRW52T3JEaWUoa1Rlc3RUb3Rh
bFNoYXJkcywgLTEpIDogLTE7CisgIGNvbnN0IGludDMyX3Qgc2hhcmRfaW5kZXggPSBzaGFyZF90
ZXN0cyA9PSBIT05PUl9TSEFSRElOR19QUk9UT0NPTCA/CisgICAgICBJbnQzMkZyb21FbnZPckRp
ZShrVGVzdFNoYXJkSW5kZXgsIC0xKSA6IC0xOworCiAgIC8vIG51bV9ydW5uYWJsZV90ZXN0cyBh
cmUgdGhlIG51bWJlciBvZiB0ZXN0cyB0aGF0IHdpbGwKICAgLy8gcnVuIGFjcm9zcyBhbGwgc2hh
cmRzIChpLmUuLCBtYXRjaCBmaWx0ZXIgYW5kIGFyZSBub3QgZGlzYWJsZWQpLgogICAvLyBudW1f
c2VsZWN0ZWRfdGVzdHMgYXJlIHRoZSBudW1iZXIgb2YgdGVzdHMgdG8gYmUgcnVuIG9uCkBAIC02
MDY1LDE3ICs1NjkwLDE4IEBAIGludCBVbml0VGVzdEltcGw6OkZpbHRlclRlc3RzKFJlYWN0aW9u
VG9TaGFyZGluZyBzaGFyZF90ZXN0cykgewogICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgdGVzdF9u
YW1lKHRlc3RfaW5mby0+bmFtZSgpKTsKICAgICAgIC8vIEEgdGVzdCBpcyBkaXNhYmxlZCBpZiB0
ZXN0IHN1aXRlIG5hbWUgb3IgdGVzdCBuYW1lIG1hdGNoZXMKICAgICAgIC8vIGtEaXNhYmxlVGVz
dEZpbHRlci4KLSAgICAgIGNvbnN0IGJvb2wgaXNfZGlzYWJsZWQgPQotICAgICAgICAgIGRpc2Fi
bGVfdGVzdF9maWx0ZXIuTWF0Y2hlc05hbWUodGVzdF9zdWl0ZV9uYW1lKSB8fAotICAgICAgICAg
IGRpc2FibGVfdGVzdF9maWx0ZXIuTWF0Y2hlc05hbWUodGVzdF9uYW1lKTsKKyAgICAgIGNvbnN0
IGJvb2wgaXNfZGlzYWJsZWQgPSBpbnRlcm5hbDo6VW5pdFRlc3RPcHRpb25zOjpNYXRjaGVzRmls
dGVyKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3N1aXRlX25hbWUs
IGtEaXNhYmxlVGVzdEZpbHRlcikgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnRlcm5hbDo6VW5pdFRlc3RPcHRpb25zOjpNYXRjaGVzRmlsdGVyKAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X25hbWUsIGtEaXNhYmxlVGVzdEZpbHRlcik7CiAgICAg
ICB0ZXN0X2luZm8tPmlzX2Rpc2FibGVkXyA9IGlzX2Rpc2FibGVkOwogCi0gICAgICBjb25zdCBi
b29sIG1hdGNoZXNfZmlsdGVyID0KLSAgICAgICAgICBndGVzdF9mbGFnX2ZpbHRlci5NYXRjaGVz
VGVzdCh0ZXN0X3N1aXRlX25hbWUsIHRlc3RfbmFtZSk7CisgICAgICBjb25zdCBib29sIG1hdGNo
ZXNfZmlsdGVyID0gaW50ZXJuYWw6OlVuaXRUZXN0T3B0aW9uczo6RmlsdGVyTWF0Y2hlc1Rlc3Qo
CisgICAgICAgICAgdGVzdF9zdWl0ZV9uYW1lLCB0ZXN0X25hbWUpOwogICAgICAgdGVzdF9pbmZv
LT5tYXRjaGVzX2ZpbHRlcl8gPSBtYXRjaGVzX2ZpbHRlcjsKIAogICAgICAgY29uc3QgYm9vbCBp
c19ydW5uYWJsZSA9Ci0gICAgICAgICAgKEdURVNUX0ZMQUdfR0VUKGFsc29fcnVuX2Rpc2FibGVk
X3Rlc3RzKSB8fCAhaXNfZGlzYWJsZWQpICYmCisgICAgICAgICAgKEdURVNUX0ZMQUcoYWxzb19y
dW5fZGlzYWJsZWRfdGVzdHMpIHx8ICFpc19kaXNhYmxlZCkgJiYKICAgICAgICAgICBtYXRjaGVz
X2ZpbHRlcjsKIAogICAgICAgY29uc3QgYm9vbCBpc19pbl9hbm90aGVyX3NoYXJkID0KQEAgLTYy
NDQsOCArNTg3MCw4IEBAIHZvaWQgVW5pdFRlc3RJbXBsOjpVbnNodWZmbGVUZXN0cygpIHsKIC8v
IEZvciBleGFtcGxlLCBpZiBGb28oKSBjYWxscyBCYXIoKSwgd2hpY2ggaW4gdHVybiBjYWxscwog
Ly8gR2V0Q3VycmVudE9zU3RhY2tUcmFjZUV4Y2VwdFRvcCguLi4sIDEpLCBGb28oKSB3aWxsIGJl
IGluY2x1ZGVkIGluCiAvLyB0aGUgdHJhY2UgYnV0IEJhcigpIGFuZCBHZXRDdXJyZW50T3NTdGFj
a1RyYWNlRXhjZXB0VG9wKCkgd29uJ3QuCi1HVEVTVF9OT19JTkxJTkVfIEdURVNUX05PX1RBSUxf
Q0FMTF8gc3RkOjpzdHJpbmcKLUdldEN1cnJlbnRPc1N0YWNrVHJhY2VFeGNlcHRUb3AoVW5pdFRl
c3QqIC8qdW5pdF90ZXN0Ki8sIGludCBza2lwX2NvdW50KSB7CitzdGQ6OnN0cmluZyBHZXRDdXJy
ZW50T3NTdGFja1RyYWNlRXhjZXB0VG9wKFVuaXRUZXN0KiAvKnVuaXRfdGVzdCovLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9jb3VudCkgewog
ICAvLyBXZSBwYXNzIHNraXBfY291bnQgKyAxIHRvIHNraXAgdGhpcyB3cmFwcGVyIGZ1bmN0aW9u
IGluIGFkZGl0aW9uCiAgIC8vIHRvIHdoYXQgdGhlIHVzZXIgcmVhbGx5IHdhbnRzIHRvIHNraXAu
CiAgIHJldHVybiBHZXRVbml0VGVzdEltcGwoKS0+Q3VycmVudE9zU3RhY2tUcmFjZUV4Y2VwdFRv
cChza2lwX2NvdW50ICsgMSk7CkBAIC02MjU1LDcgKzU4ODEsNyBAQCBHZXRDdXJyZW50T3NTdGFj
a1RyYWNlRXhjZXB0VG9wKFVuaXRUZXN0KiAvKnVuaXRfdGVzdCovLCBpbnQgc2tpcF9jb3VudCkg
ewogLy8gc3VwcHJlc3MgdW5yZWFjaGFibGUgY29kZSB3YXJuaW5ncy4KIG5hbWVzcGFjZSB7CiBj
bGFzcyBDbGFzc1VuaXF1ZVRvQWx3YXlzVHJ1ZSB7fTsKLX0gIC8vIG5hbWVzcGFjZQorfQogCiBi
b29sIElzVHJ1ZShib29sIGNvbmRpdGlvbikgeyByZXR1cm4gY29uZGl0aW9uOyB9CiAKQEAgLTYy
NjMsNyArNTg4OSw4IEBAIGJvb2wgQWx3YXlzVHJ1ZSgpIHsKICNpZiBHVEVTVF9IQVNfRVhDRVBU
SU9OUwogICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBhbHdheXMgZmFsc2Ugc28gQWx3YXlzVHJ1ZSgp
IG5ldmVyIGFjdHVhbGx5IHRocm93cywKICAgLy8gYnV0IGl0IG1ha2VzIHRoZSBjb21waWxlciB0
aGluayB0aGF0IGl0IG1heSB0aHJvdy4KLSAgaWYgKElzVHJ1ZShmYWxzZSkpIHRocm93IENsYXNz
VW5pcXVlVG9BbHdheXNUcnVlKCk7CisgIGlmIChJc1RydWUoZmFsc2UpKQorICAgIHRocm93IENs
YXNzVW5pcXVlVG9BbHdheXNUcnVlKCk7CiAjZW5kaWYgIC8vIEdURVNUX0hBU19FWENFUFRJT05T
CiAgIHJldHVybiB0cnVlOwogfQpAQCAtNjI4NSwxNCArNTkxMiwxMyBAQCBib29sIFNraXBQcmVm
aXgoY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFyKiogcHN0cikgewogLy8gcGFydCBjYW4g
YmUgb21pdHRlZC4KIC8vCiAvLyBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgZmxhZywgb3IgTlVM
TCBpZiB0aGUgcGFyc2luZyBmYWlsZWQuCi1zdGF0aWMgY29uc3QgY2hhciogUGFyc2VGbGFnVmFs
dWUoY29uc3QgY2hhciogc3RyLCBjb25zdCBjaGFyKiBmbGFnX25hbWUsCitzdGF0aWMgY29uc3Qg
Y2hhciogUGFyc2VGbGFnVmFsdWUoY29uc3QgY2hhciogc3RyLCBjb25zdCBjaGFyKiBmbGFnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZGVmX29wdGlvbmFsKSB7CiAg
IC8vIHN0ciBhbmQgZmxhZyBtdXN0IG5vdCBiZSBOVUxMLgotICBpZiAoc3RyID09IG51bGxwdHIg
fHwgZmxhZ19uYW1lID09IG51bGxwdHIpIHJldHVybiBudWxscHRyOworICBpZiAoc3RyID09IG51
bGxwdHIgfHwgZmxhZyA9PSBudWxscHRyKSByZXR1cm4gbnVsbHB0cjsKIAogICAvLyBUaGUgZmxh
ZyBtdXN0IHN0YXJ0IHdpdGggIi0tIiBmb2xsb3dlZCBieSBHVEVTVF9GTEFHX1BSRUZJWF8uCi0g
IGNvbnN0IHN0ZDo6c3RyaW5nIGZsYWdfc3RyID0KLSAgICAgIHN0ZDo6c3RyaW5nKCItLSIpICsg
R1RFU1RfRkxBR19QUkVGSVhfICsgZmxhZ19uYW1lOworICBjb25zdCBzdGQ6OnN0cmluZyBmbGFn
X3N0ciA9IHN0ZDo6c3RyaW5nKCItLSIpICsgR1RFU1RfRkxBR19QUkVGSVhfICsgZmxhZzsKICAg
Y29uc3Qgc2l6ZV90IGZsYWdfbGVuID0gZmxhZ19zdHIubGVuZ3RoKCk7CiAgIGlmIChzdHJuY21w
KHN0ciwgZmxhZ19zdHIuY19zdHIoKSwgZmxhZ19sZW4pICE9IDApIHJldHVybiBudWxscHRyOwog
CkBAIC02MzIzLDkgKzU5NDksOSBAQCBzdGF0aWMgY29uc3QgY2hhciogUGFyc2VGbGFnVmFsdWUo
Y29uc3QgY2hhciogc3RyLCBjb25zdCBjaGFyKiBmbGFnX25hbWUsCiAvLwogLy8gT24gc3VjY2Vz
cywgc3RvcmVzIHRoZSB2YWx1ZSBvZiB0aGUgZmxhZyBpbiAqdmFsdWUsIGFuZCByZXR1cm5zCiAv
LyB0cnVlLiAgT24gZmFpbHVyZSwgcmV0dXJucyBmYWxzZSB3aXRob3V0IGNoYW5naW5nICp2YWx1
ZS4KLXN0YXRpYyBib29sIFBhcnNlRmxhZyhjb25zdCBjaGFyKiBzdHIsIGNvbnN0IGNoYXIqIGZs
YWdfbmFtZSwgYm9vbCogdmFsdWUpIHsKK3N0YXRpYyBib29sIFBhcnNlQm9vbEZsYWcoY29uc3Qg
Y2hhciogc3RyLCBjb25zdCBjaGFyKiBmbGFnLCBib29sKiB2YWx1ZSkgewogICAvLyBHZXRzIHRo
ZSB2YWx1ZSBvZiB0aGUgZmxhZyBhcyBhIHN0cmluZy4KLSAgY29uc3QgY2hhciogY29uc3QgdmFs
dWVfc3RyID0gUGFyc2VGbGFnVmFsdWUoc3RyLCBmbGFnX25hbWUsIHRydWUpOworICBjb25zdCBj
aGFyKiBjb25zdCB2YWx1ZV9zdHIgPSBQYXJzZUZsYWdWYWx1ZShzdHIsIGZsYWcsIHRydWUpOwog
CiAgIC8vIEFib3J0cyBpZiB0aGUgcGFyc2luZyBmYWlsZWQuCiAgIGlmICh2YWx1ZV9zdHIgPT0g
bnVsbHB0cikgcmV0dXJuIGZhbHNlOwpAQCAtNjMzOSwxNiArNTk2NSwxNiBAQCBzdGF0aWMgYm9v
bCBQYXJzZUZsYWcoY29uc3QgY2hhciogc3RyLCBjb25zdCBjaGFyKiBmbGFnX25hbWUsIGJvb2wq
IHZhbHVlKSB7CiAvLwogLy8gT24gc3VjY2Vzcywgc3RvcmVzIHRoZSB2YWx1ZSBvZiB0aGUgZmxh
ZyBpbiAqdmFsdWUsIGFuZCByZXR1cm5zCiAvLyB0cnVlLiAgT24gZmFpbHVyZSwgcmV0dXJucyBm
YWxzZSB3aXRob3V0IGNoYW5naW5nICp2YWx1ZS4KLWJvb2wgUGFyc2VGbGFnKGNvbnN0IGNoYXIq
IHN0ciwgY29uc3QgY2hhciogZmxhZ19uYW1lLCBpbnQzMl90KiB2YWx1ZSkgeworYm9vbCBQYXJz
ZUludDMyRmxhZyhjb25zdCBjaGFyKiBzdHIsIGNvbnN0IGNoYXIqIGZsYWcsIGludDMyX3QqIHZh
bHVlKSB7CiAgIC8vIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBmbGFnIGFzIGEgc3RyaW5nLgotICBj
b25zdCBjaGFyKiBjb25zdCB2YWx1ZV9zdHIgPSBQYXJzZUZsYWdWYWx1ZShzdHIsIGZsYWdfbmFt
ZSwgZmFsc2UpOworICBjb25zdCBjaGFyKiBjb25zdCB2YWx1ZV9zdHIgPSBQYXJzZUZsYWdWYWx1
ZShzdHIsIGZsYWcsIGZhbHNlKTsKIAogICAvLyBBYm9ydHMgaWYgdGhlIHBhcnNpbmcgZmFpbGVk
LgogICBpZiAodmFsdWVfc3RyID09IG51bGxwdHIpIHJldHVybiBmYWxzZTsKIAogICAvLyBTZXRz
ICp2YWx1ZSB0byB0aGUgdmFsdWUgb2YgdGhlIGZsYWcuCi0gIHJldHVybiBQYXJzZUludDMyKE1l
c3NhZ2UoKSA8PCAiVGhlIHZhbHVlIG9mIGZsYWcgLS0iIDw8IGZsYWdfbmFtZSwgdmFsdWVfc3Ry
LAotICAgICAgICAgICAgICAgICAgICB2YWx1ZSk7CisgIHJldHVybiBQYXJzZUludDMyKE1lc3Nh
Z2UoKSA8PCAiVGhlIHZhbHVlIG9mIGZsYWcgLS0iIDw8IGZsYWcsCisgICAgICAgICAgICAgICAg
ICAgIHZhbHVlX3N0ciwgdmFsdWUpOwogfQogCiAvLyBQYXJzZXMgYSBzdHJpbmcgZm9yIGEgc3Ry
aW5nIGZsYWcsIGluIHRoZSBmb3JtIG9mICItLWZsYWc9dmFsdWUiLgpAQCAtNjM1Niw5ICs1OTgy
LDkgQEAgYm9vbCBQYXJzZUZsYWcoY29uc3QgY2hhciogc3RyLCBjb25zdCBjaGFyKiBmbGFnX25h
bWUsIGludDMyX3QqIHZhbHVlKSB7CiAvLyBPbiBzdWNjZXNzLCBzdG9yZXMgdGhlIHZhbHVlIG9m
IHRoZSBmbGFnIGluICp2YWx1ZSwgYW5kIHJldHVybnMKIC8vIHRydWUuICBPbiBmYWlsdXJlLCBy
ZXR1cm5zIGZhbHNlIHdpdGhvdXQgY2hhbmdpbmcgKnZhbHVlLgogdGVtcGxhdGUgPHR5cGVuYW1l
IFN0cmluZz4KLXN0YXRpYyBib29sIFBhcnNlRmxhZyhjb25zdCBjaGFyKiBzdHIsIGNvbnN0IGNo
YXIqIGZsYWdfbmFtZSwgU3RyaW5nKiB2YWx1ZSkgeworc3RhdGljIGJvb2wgUGFyc2VTdHJpbmdG
bGFnKGNvbnN0IGNoYXIqIHN0ciwgY29uc3QgY2hhciogZmxhZywgU3RyaW5nKiB2YWx1ZSkgewog
ICAvLyBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgZmxhZyBhcyBhIHN0cmluZy4KLSAgY29uc3QgY2hh
ciogY29uc3QgdmFsdWVfc3RyID0gUGFyc2VGbGFnVmFsdWUoc3RyLCBmbGFnX25hbWUsIGZhbHNl
KTsKKyAgY29uc3QgY2hhciogY29uc3QgdmFsdWVfc3RyID0gUGFyc2VGbGFnVmFsdWUoc3RyLCBm
bGFnLCBmYWxzZSk7CiAKICAgLy8gQWJvcnRzIGlmIHRoZSBwYXJzaW5nIGZhaWxlZC4KICAgaWYg
KHZhbHVlX3N0ciA9PSBudWxscHRyKSByZXR1cm4gZmFsc2U7CkBAIC02Mzc1LDcgKzYwMDEsOCBA
QCBzdGF0aWMgYm9vbCBQYXJzZUZsYWcoY29uc3QgY2hhciogc3RyLCBjb25zdCBjaGFyKiBmbGFn
X25hbWUsIFN0cmluZyogdmFsdWUpIHsKIC8vIEdURVNUX0lOVEVSTkFMX1BSRUZJWF8gZm9sbG93
ZWQgYnkgImludGVybmFsXyIgYXJlIGNvbnNpZGVyZWQgR29vZ2xlIFRlc3QKIC8vIGludGVybmFs
IGZsYWdzIGFuZCBkbyBub3QgdHJpZ2dlciB0aGUgaGVscCBtZXNzYWdlLgogc3RhdGljIGJvb2wg
SGFzR29vZ2xlVGVzdEZsYWdQcmVmaXgoY29uc3QgY2hhciogc3RyKSB7Ci0gIHJldHVybiAoU2tp
cFByZWZpeCgiLS0iLCAmc3RyKSB8fCBTa2lwUHJlZml4KCItIiwgJnN0cikgfHwKKyAgcmV0dXJu
IChTa2lwUHJlZml4KCItLSIsICZzdHIpIHx8CisgICAgICAgICAgU2tpcFByZWZpeCgiLSIsICZz
dHIpIHx8CiAgICAgICAgICAgU2tpcFByZWZpeCgiLyIsICZzdHIpKSAmJgogICAgICAgICAgIVNr
aXBQcmVmaXgoR1RFU1RfRkxBR19QUkVGSVhfICJpbnRlcm5hbF8iLCAmc3RyKSAmJgogICAgICAg
ICAgKFNraXBQcmVmaXgoR1RFU1RfRkxBR19QUkVGSVhfLCAmc3RyKSB8fApAQCAtNjM5Miw3ICs2
MDE5LDcgQEAgc3RhdGljIGJvb2wgSGFzR29vZ2xlVGVzdEZsYWdQcmVmaXgoY29uc3QgY2hhciog
c3RyKSB7CiAvLyAgIEBEICAgIGNoYW5nZXMgdG8gdGhlIGRlZmF1bHQgdGVybWluYWwgdGV4dCBj
b2xvci4KIC8vCiBzdGF0aWMgdm9pZCBQcmludENvbG9yRW5jb2RlZChjb25zdCBjaGFyKiBzdHIp
IHsKLSAgR1Rlc3RDb2xvciBjb2xvciA9IEdUZXN0Q29sb3I6OmtEZWZhdWx0OyAgLy8gVGhlIGN1
cnJlbnQgY29sb3IuCisgIEdUZXN0Q29sb3IgY29sb3IgPSBDT0xPUl9ERUZBVUxUOyAgLy8gVGhl
IGN1cnJlbnQgY29sb3IuCiAKICAgLy8gQ29uY2VwdHVhbGx5LCB3ZSBzcGxpdCB0aGUgc3RyaW5n
IGludG8gc2VnbWVudHMgZGl2aWRlZCBieSBlc2NhcGUKICAgLy8gc2VxdWVuY2VzLiAgVGhlbiB3
ZSBwcmludCBvbmUgc2VnbWVudCBhdCBhIHRpbWUuICBBdCB0aGUgZW5kIG9mCkBAIC02NDEyLDEz
ICs2MDM5LDEzIEBAIHN0YXRpYyB2b2lkIFByaW50Q29sb3JFbmNvZGVkKGNvbnN0IGNoYXIqIHN0
cikgewogICAgIGlmIChjaCA9PSAnQCcpIHsKICAgICAgIENvbG9yZWRQcmludGYoY29sb3IsICJA
Iik7CiAgICAgfSBlbHNlIGlmIChjaCA9PSAnRCcpIHsKLSAgICAgIGNvbG9yID0gR1Rlc3RDb2xv
cjo6a0RlZmF1bHQ7CisgICAgICBjb2xvciA9IENPTE9SX0RFRkFVTFQ7CiAgICAgfSBlbHNlIGlm
IChjaCA9PSAnUicpIHsKLSAgICAgIGNvbG9yID0gR1Rlc3RDb2xvcjo6a1JlZDsKKyAgICAgIGNv
bG9yID0gQ09MT1JfUkVEOwogICAgIH0gZWxzZSBpZiAoY2ggPT0gJ0cnKSB7Ci0gICAgICBjb2xv
ciA9IEdUZXN0Q29sb3I6OmtHcmVlbjsKKyAgICAgIGNvbG9yID0gQ09MT1JfR1JFRU47CiAgICAg
fSBlbHNlIGlmIChjaCA9PSAnWScpIHsKLSAgICAgIGNvbG9yID0gR1Rlc3RDb2xvcjo6a1llbGxv
dzsKKyAgICAgIGNvbG9yID0gQ09MT1JfWUVMTE9XOwogICAgIH0gZWxzZSB7CiAgICAgICAtLXN0
cjsKICAgICB9CkBAIC02NDI2LDE0MCArNjA1MywxMDUgQEAgc3RhdGljIHZvaWQgUHJpbnRDb2xv
ckVuY29kZWQoY29uc3QgY2hhciogc3RyKSB7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyIGtDb2xv
ckVuY29kZWRIZWxwTWVzc2FnZVtdID0KLSAgICAiVGhpcyBwcm9ncmFtIGNvbnRhaW5zIHRlc3Rz
IHdyaXR0ZW4gdXNpbmcgIiBHVEVTVF9OQU1FXwotICAgICIuIFlvdSBjYW4gdXNlIHRoZVxuIgot
ICAgICJmb2xsb3dpbmcgY29tbWFuZCBsaW5lIGZsYWdzIHRvIGNvbnRyb2wgaXRzIGJlaGF2aW9y
OlxuIgotICAgICJcbiIKLSAgICAiVGVzdCBTZWxlY3Rpb246XG4iCi0gICAgIiAgQEctLSIgR1RF
U1RfRkxBR19QUkVGSVhfCi0gICAgImxpc3RfdGVzdHNARFxuIgotICAgICIgICAgICBMaXN0IHRo
ZSBuYW1lcyBvZiBhbGwgdGVzdHMgaW5zdGVhZCBvZiBydW5uaW5nIHRoZW0uIFRoZSBuYW1lIG9m
XG4iCi0gICAgIiAgICAgIFRFU1QoRm9vLCBCYXIpIGlzIFwiRm9vLkJhclwiLlxuIgotICAgICIg
IEBHLS0iIEdURVNUX0ZMQUdfUFJFRklYXwotICAgICJmaWx0ZXI9QFlQT1NJVElWRV9QQVRURVJO
UyIKKyJUaGlzIHByb2dyYW0gY29udGFpbnMgdGVzdHMgd3JpdHRlbiB1c2luZyAiIEdURVNUX05B
TUVfICIuIFlvdSBjYW4gdXNlIHRoZVxuIgorImZvbGxvd2luZyBjb21tYW5kIGxpbmUgZmxhZ3Mg
dG8gY29udHJvbCBpdHMgYmVoYXZpb3I6XG4iCisiXG4iCisiVGVzdCBTZWxlY3Rpb246XG4iCisi
ICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8gImxpc3RfdGVzdHNARFxuIgorIiAgICAgIExpc3Qg
dGhlIG5hbWVzIG9mIGFsbCB0ZXN0cyBpbnN0ZWFkIG9mIHJ1bm5pbmcgdGhlbS4gVGhlIG5hbWUg
b2ZcbiIKKyIgICAgICBURVNUKEZvbywgQmFyKSBpcyBcIkZvby5CYXJcIi5cbiIKKyIgIEBHLS0i
IEdURVNUX0ZMQUdfUFJFRklYXyAiZmlsdGVyPUBZUE9TVElWRV9QQVRURVJOUyIKICAgICAiW0BH
LUBZTkVHQVRJVkVfUEFUVEVSTlNdQERcbiIKLSAgICAiICAgICAgUnVuIG9ubHkgdGhlIHRlc3Rz
IHdob3NlIG5hbWUgbWF0Y2hlcyBvbmUgb2YgdGhlIHBvc2l0aXZlIHBhdHRlcm5zICIKLSAgICAi
YnV0XG4iCi0gICAgIiAgICAgIG5vbmUgb2YgdGhlIG5lZ2F0aXZlIHBhdHRlcm5zLiAnPycgbWF0
Y2hlcyBhbnkgc2luZ2xlIGNoYXJhY3RlcjsgIgotICAgICInKidcbiIKLSAgICAiICAgICAgbWF0
Y2hlcyBhbnkgc3Vic3RyaW5nOyAnOicgc2VwYXJhdGVzIHR3byBwYXR0ZXJucy5cbiIKLSAgICAi
ICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8KLSAgICAiYWxzb19ydW5fZGlzYWJsZWRfdGVzdHNA
RFxuIgotICAgICIgICAgICBSdW4gYWxsIGRpc2FibGVkIHRlc3RzIHRvby5cbiIKLSAgICAiXG4i
Ci0gICAgIlRlc3QgRXhlY3V0aW9uOlxuIgotICAgICIgIEBHLS0iIEdURVNUX0ZMQUdfUFJFRklY
XwotICAgICJyZXBlYXQ9QFlbQ09VTlRdQERcbiIKLSAgICAiICAgICAgUnVuIHRoZSB0ZXN0cyBy
ZXBlYXRlZGx5OyB1c2UgYSBuZWdhdGl2ZSBjb3VudCB0byByZXBlYXQgZm9yZXZlci5cbiIKLSAg
ICAiICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8KLSAgICAic2h1ZmZsZUBEXG4iCi0gICAgIiAg
ICAgIFJhbmRvbWl6ZSB0ZXN0cycgb3JkZXJzIG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cbiIKLSAgICAi
ICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8KLSAgICAicmFuZG9tX3NlZWQ9QFlbTlVNQkVSXUBE
XG4iCi0gICAgIiAgICAgIFJhbmRvbSBudW1iZXIgc2VlZCB0byB1c2UgZm9yIHNodWZmbGluZyB0
ZXN0IG9yZGVycyAoYmV0d2VlbiAxIGFuZFxuIgotICAgICIgICAgICA5OTk5OSwgb3IgMCB0byB1
c2UgYSBzZWVkIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWUpLlxuIgotICAgICIgIEBHLS0iIEdU
RVNUX0ZMQUdfUFJFRklYXwotICAgICJyZWNyZWF0ZV9lbnZpcm9ubWVudHNfd2hlbl9yZXBlYXRp
bmdARFxuIgotICAgICIgICAgICBTZXRzIHVwIGFuZCB0ZWFycyBkb3duIHRoZSBnbG9iYWwgdGVz
dCBlbnZpcm9ubWVudCBvbiBlYWNoIHJlcGVhdFxuIgotICAgICIgICAgICBvZiB0aGUgdGVzdC5c
biIKLSAgICAiXG4iCi0gICAgIlRlc3QgT3V0cHV0OlxuIgotICAgICIgIEBHLS0iIEdURVNUX0ZM
QUdfUFJFRklYXwotICAgICJjb2xvcj1AWShAR3llc0BZfEBHbm9AWXxAR2F1dG9AWSlARFxuIgot
ICAgICIgICAgICBFbmFibGUvZGlzYWJsZSBjb2xvcmVkIG91dHB1dC4gVGhlIGRlZmF1bHQgaXMg
QEdhdXRvQEQuXG4iCi0gICAgIiAgQEctLSIgR1RFU1RfRkxBR19QUkVGSVhfCi0gICAgImJyaWVm
PTFARFxuIgotICAgICIgICAgICBPbmx5IHByaW50IHRlc3QgZmFpbHVyZXMuXG4iCi0gICAgIiAg
QEctLSIgR1RFU1RfRkxBR19QUkVGSVhfCi0gICAgInByaW50X3RpbWU9MEBEXG4iCi0gICAgIiAg
ICAgIERvbid0IHByaW50IHRoZSBlbGFwc2VkIHRpbWUgb2YgZWFjaCB0ZXN0LlxuIgotICAgICIg
IEBHLS0iIEdURVNUX0ZMQUdfUFJFRklYXwotICAgICJvdXRwdXQ9QFkoQEdqc29uQFl8QEd4bWxA
WSlbQEc6QFlESVJFQ1RPUllfUEFUSEBHIiBHVEVTVF9QQVRIX1NFUF8KLSAgICAiQFl8QEc6QFlG
SUxFX1BBVEhdQERcbiIKLSAgICAiICAgICAgR2VuZXJhdGUgYSBKU09OIG9yIFhNTCByZXBvcnQg
aW4gdGhlIGdpdmVuIGRpcmVjdG9yeSBvciB3aXRoIHRoZSAiCi0gICAgImdpdmVuXG4iCi0gICAg
IiAgICAgIGZpbGUgbmFtZS4gQFlGSUxFX1BBVEhARCBkZWZhdWx0cyB0byBAR3Rlc3RfZGV0YWls
LnhtbEBELlxuIgotI2lmIEdURVNUX0NBTl9TVFJFQU1fUkVTVUxUU18KLSAgICAiICBARy0tIiBH
VEVTVF9GTEFHX1BSRUZJWF8KLSAgICAic3RyZWFtX3Jlc3VsdF90bz1AWUhPU1RARzpAWVBPUlRA
RFxuIgotICAgICIgICAgICBTdHJlYW0gdGVzdCByZXN1bHRzIHRvIHRoZSBnaXZlbiBzZXJ2ZXIu
XG4iCi0jZW5kaWYgIC8vIEdURVNUX0NBTl9TVFJFQU1fUkVTVUxUU18KLSAgICAiXG4iCi0gICAg
IkFzc2VydGlvbiBCZWhhdmlvcjpcbiIKLSNpZiBHVEVTVF9IQVNfREVBVEhfVEVTVCAmJiAhR1RF
U1RfT1NfV0lORE9XUwotICAgICIgIEBHLS0iIEdURVNUX0ZMQUdfUFJFRklYXwotICAgICJkZWF0
aF90ZXN0X3N0eWxlPUBZKEBHZmFzdEBZfEBHdGhyZWFkc2FmZUBZKUBEXG4iCi0gICAgIiAgICAg
IFNldCB0aGUgZGVmYXVsdCBkZWF0aCB0ZXN0IHN0eWxlLlxuIgotI2VuZGlmICAvLyBHVEVTVF9I
QVNfREVBVEhfVEVTVCAmJiAhR1RFU1RfT1NfV0lORE9XUwotICAgICIgIEBHLS0iIEdURVNUX0ZM
QUdfUFJFRklYXwotICAgICJicmVha19vbl9mYWlsdXJlQERcbiIKLSAgICAiICAgICAgVHVybiBh
c3NlcnRpb24gZmFpbHVyZXMgaW50byBkZWJ1Z2dlciBicmVhay1wb2ludHMuXG4iCi0gICAgIiAg
QEctLSIgR1RFU1RfRkxBR19QUkVGSVhfCi0gICAgInRocm93X29uX2ZhaWx1cmVARFxuIgotICAg
ICIgICAgICBUdXJuIGFzc2VydGlvbiBmYWlsdXJlcyBpbnRvIEMrKyBleGNlcHRpb25zIGZvciB1
c2UgYnkgYW4gZXh0ZXJuYWxcbiIKLSAgICAiICAgICAgdGVzdCBmcmFtZXdvcmsuXG4iCi0gICAg
IiAgQEctLSIgR1RFU1RfRkxBR19QUkVGSVhfCi0gICAgImNhdGNoX2V4Y2VwdGlvbnM9MEBEXG4i
Ci0gICAgIiAgICAgIERvIG5vdCByZXBvcnQgZXhjZXB0aW9ucyBhcyB0ZXN0IGZhaWx1cmVzLiBJ
bnN0ZWFkLCBhbGxvdyB0aGVtXG4iCi0gICAgIiAgICAgIHRvIGNyYXNoIHRoZSBwcm9ncmFtIG9y
IHRocm93IGEgcG9wLXVwIChvbiBXaW5kb3dzKS5cbiIKLSAgICAiXG4iCi0gICAgIkV4Y2VwdCBm
b3IgQEctLSIgR1RFU1RfRkxBR19QUkVGSVhfCi0gICAgImxpc3RfdGVzdHNARCwgeW91IGNhbiBh
bHRlcm5hdGl2ZWx5IHNldCAiCisiICAgICAgUnVuIG9ubHkgdGhlIHRlc3RzIHdob3NlIG5hbWUg
bWF0Y2hlcyBvbmUgb2YgdGhlIHBvc2l0aXZlIHBhdHRlcm5zIGJ1dFxuIgorIiAgICAgIG5vbmUg
b2YgdGhlIG5lZ2F0aXZlIHBhdHRlcm5zLiAnPycgbWF0Y2hlcyBhbnkgc2luZ2xlIGNoYXJhY3Rl
cjsgJyonXG4iCisiICAgICAgbWF0Y2hlcyBhbnkgc3Vic3RyaW5nOyAnOicgc2VwYXJhdGVzIHR3
byBwYXR0ZXJucy5cbiIKKyIgIEBHLS0iIEdURVNUX0ZMQUdfUFJFRklYXyAiYWxzb19ydW5fZGlz
YWJsZWRfdGVzdHNARFxuIgorIiAgICAgIFJ1biBhbGwgZGlzYWJsZWQgdGVzdHMgdG9vLlxuIgor
IlxuIgorIlRlc3QgRXhlY3V0aW9uOlxuIgorIiAgQEctLSIgR1RFU1RfRkxBR19QUkVGSVhfICJy
ZXBlYXQ9QFlbQ09VTlRdQERcbiIKKyIgICAgICBSdW4gdGhlIHRlc3RzIHJlcGVhdGVkbHk7IHVz
ZSBhIG5lZ2F0aXZlIGNvdW50IHRvIHJlcGVhdCBmb3JldmVyLlxuIgorIiAgQEctLSIgR1RFU1Rf
RkxBR19QUkVGSVhfICJzaHVmZmxlQERcbiIKKyIgICAgICBSYW5kb21pemUgdGVzdHMnIG9yZGVy
cyBvbiBldmVyeSBpdGVyYXRpb24uXG4iCisiICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8gInJh
bmRvbV9zZWVkPUBZW05VTUJFUl1ARFxuIgorIiAgICAgIFJhbmRvbSBudW1iZXIgc2VlZCB0byB1
c2UgZm9yIHNodWZmbGluZyB0ZXN0IG9yZGVycyAoYmV0d2VlbiAxIGFuZFxuIgorIiAgICAgIDk5
OTk5LCBvciAwIHRvIHVzZSBhIHNlZWQgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZSkuXG4iCisi
XG4iCisiVGVzdCBPdXRwdXQ6XG4iCisiICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8gImNvbG9y
PUBZKEBHeWVzQFl8QEdub0BZfEBHYXV0b0BZKUBEXG4iCisiICAgICAgRW5hYmxlL2Rpc2FibGUg
Y29sb3JlZCBvdXRwdXQuIFRoZSBkZWZhdWx0IGlzIEBHYXV0b0BELlxuIgorIiAgLUBHLSIgR1RF
U1RfRkxBR19QUkVGSVhfICJwcmludF90aW1lPTBARFxuIgorIiAgICAgIERvbid0IHByaW50IHRo
ZSBlbGFwc2VkIHRpbWUgb2YgZWFjaCB0ZXN0LlxuIgorIiAgQEctLSIgR1RFU1RfRkxBR19QUkVG
SVhfICJvdXRwdXQ9QFkoQEdqc29uQFl8QEd4bWxAWSlbQEc6QFlESVJFQ1RPUllfUEFUSEBHIgor
ICAgIEdURVNUX1BBVEhfU0VQXyAiQFl8QEc6QFlGSUxFX1BBVEhdQERcbiIKKyIgICAgICBHZW5l
cmF0ZSBhIEpTT04gb3IgWE1MIHJlcG9ydCBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IG9yIHdpdGgg
dGhlIGdpdmVuXG4iCisiICAgICAgZmlsZSBuYW1lLiBAWUZJTEVfUEFUSEBEIGRlZmF1bHRzIHRv
IEBHdGVzdF9kZXRhaWwueG1sQEQuXG4iCisjIGlmIEdURVNUX0NBTl9TVFJFQU1fUkVTVUxUU18K
KyIgIEBHLS0iIEdURVNUX0ZMQUdfUFJFRklYXyAic3RyZWFtX3Jlc3VsdF90bz1AWUhPU1RARzpA
WVBPUlRARFxuIgorIiAgICAgIFN0cmVhbSB0ZXN0IHJlc3VsdHMgdG8gdGhlIGdpdmVuIHNlcnZl
ci5cbiIKKyMgZW5kaWYgIC8vIEdURVNUX0NBTl9TVFJFQU1fUkVTVUxUU18KKyJcbiIKKyJBc3Nl
cnRpb24gQmVoYXZpb3I6XG4iCisjIGlmIEdURVNUX0hBU19ERUFUSF9URVNUICYmICFHVEVTVF9P
U19XSU5ET1dTCisiICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8gImRlYXRoX3Rlc3Rfc3R5bGU9
QFkoQEdmYXN0QFl8QEd0aHJlYWRzYWZlQFkpQERcbiIKKyIgICAgICBTZXQgdGhlIGRlZmF1bHQg
ZGVhdGggdGVzdCBzdHlsZS5cbiIKKyMgZW5kaWYgIC8vIEdURVNUX0hBU19ERUFUSF9URVNUICYm
ICFHVEVTVF9PU19XSU5ET1dTCisiICBARy0tIiBHVEVTVF9GTEFHX1BSRUZJWF8gImJyZWFrX29u
X2ZhaWx1cmVARFxuIgorIiAgICAgIFR1cm4gYXNzZXJ0aW9uIGZhaWx1cmVzIGludG8gZGVidWdn
ZXIgYnJlYWstcG9pbnRzLlxuIgorIiAgQEctLSIgR1RFU1RfRkxBR19QUkVGSVhfICJ0aHJvd19v
bl9mYWlsdXJlQERcbiIKKyIgICAgICBUdXJuIGFzc2VydGlvbiBmYWlsdXJlcyBpbnRvIEMrKyBl
eGNlcHRpb25zIGZvciB1c2UgYnkgYW4gZXh0ZXJuYWxcbiIKKyIgICAgICB0ZXN0IGZyYW1ld29y
ay5cbiIKKyIgIEBHLS0iIEdURVNUX0ZMQUdfUFJFRklYXyAiY2F0Y2hfZXhjZXB0aW9ucz0wQERc
biIKKyIgICAgICBEbyBub3QgcmVwb3J0IGV4Y2VwdGlvbnMgYXMgdGVzdCBmYWlsdXJlcy4gSW5z
dGVhZCwgYWxsb3cgdGhlbVxuIgorIiAgICAgIHRvIGNyYXNoIHRoZSBwcm9ncmFtIG9yIHRocm93
IGEgcG9wLXVwIChvbiBXaW5kb3dzKS5cbiIKKyJcbiIKKyJFeGNlcHQgZm9yIEBHLS0iIEdURVNU
X0ZMQUdfUFJFRklYXyAibGlzdF90ZXN0c0BELCB5b3UgY2FuIGFsdGVybmF0aXZlbHkgc2V0ICIK
ICAgICAidGhlIGNvcnJlc3BvbmRpbmdcbiIKLSAgICAiZW52aXJvbm1lbnQgdmFyaWFibGUgb2Yg
YSBmbGFnIChhbGwgbGV0dGVycyBpbiB1cHBlci1jYXNlKS4gRm9yIGV4YW1wbGUsICIKLSAgICAi
dG9cbiIKLSAgICAiZGlzYWJsZSBjb2xvcmVkIHRleHQgb3V0cHV0LCB5b3UgY2FuIGVpdGhlciBz
cGVjaWZ5ICIKLSAgICAiQEctLSIgR1RFU1RfRkxBR19QUkVGSVhfCisiZW52aXJvbm1lbnQgdmFy
aWFibGUgb2YgYSBmbGFnIChhbGwgbGV0dGVycyBpbiB1cHBlci1jYXNlKS4gRm9yIGV4YW1wbGUs
IHRvXG4iCisiZGlzYWJsZSBjb2xvcmVkIHRleHQgb3V0cHV0LCB5b3UgY2FuIGVpdGhlciBzcGVj
aWZ5IEBHLS0iIEdURVNUX0ZMQUdfUFJFRklYXwogICAgICJjb2xvcj1ub0BEIG9yIHNldFxuIgot
ICAgICJ0aGUgQEciIEdURVNUX0ZMQUdfUFJFRklYX1VQUEVSXwotICAgICJDT0xPUkBEIGVudmly
b25tZW50IHZhcmlhYmxlIHRvIEBHbm9ARC5cbiIKLSAgICAiXG4iCi0gICAgIkZvciBtb3JlIGlu
Zm9ybWF0aW9uLCBwbGVhc2UgcmVhZCB0aGUgIiBHVEVTVF9OQU1FXwotICAgICIgZG9jdW1lbnRh
dGlvbiBhdFxuIgotICAgICJARyIgR1RFU1RfUFJPSkVDVF9VUkxfICJARC4gSWYgeW91IGZpbmQg
YSBidWcgaW4gIiBHVEVTVF9OQU1FXwotICAgICJcbiIKLSAgICAiKG5vdCBvbmUgaW4geW91ciBv
d24gY29kZSBvciB0ZXN0cyksIHBsZWFzZSByZXBvcnQgaXQgdG9cbiIKLSAgICAiQEc8IiBHVEVT
VF9ERVZfRU1BSUxfICI+QEQuXG4iOworInRoZSBARyIgR1RFU1RfRkxBR19QUkVGSVhfVVBQRVJf
ICJDT0xPUkBEIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIEBHbm9ARC5cbiIKKyJcbiIKKyJGb3Ig
bW9yZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlYWQgdGhlICIgR1RFU1RfTkFNRV8gIiBkb2N1bWVu
dGF0aW9uIGF0XG4iCisiQEciIEdURVNUX1BST0pFQ1RfVVJMXyAiQEQuIElmIHlvdSBmaW5kIGEg
YnVnIGluICIgR1RFU1RfTkFNRV8gIlxuIgorIihub3Qgb25lIGluIHlvdXIgb3duIGNvZGUgb3Ig
dGVzdHMpLCBwbGVhc2UgcmVwb3J0IGl0IHRvXG4iCisiQEc8IiBHVEVTVF9ERVZfRU1BSUxfICI+
QEQuXG4iOwogCiBzdGF0aWMgYm9vbCBQYXJzZUdvb2dsZVRlc3RGbGFnKGNvbnN0IGNoYXIqIGNv
bnN0IGFyZykgewotI2RlZmluZSBHVEVTVF9JTlRFUk5BTF9QQVJTRV9GTEFHKGZsYWdfbmFtZSkg
IFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
YXV0byB2YWx1ZSA9IEdURVNUX0ZMQUdfR0VUKGZsYWdfbmFtZSk7ICAgXAotICAgIGlmIChQYXJz
ZUZsYWcoYXJnLCAjZmxhZ19uYW1lLCAmdmFsdWUpKSB7IFwKLSAgICAgIEdURVNUX0ZMQUdfU0VU
KGZsYWdfbmFtZSwgdmFsdWUpOyAgICAgICBcCi0gICAgICByZXR1cm4gdHJ1ZTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgfSB3aGlsZSAoZmFsc2UpCi0KLSAgR1RFU1RfSU5URVJOQUxfUEFSU0Vf
RkxBRyhhbHNvX3J1bl9kaXNhYmxlZF90ZXN0cyk7Ci0gIEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZM
QUcoYnJlYWtfb25fZmFpbHVyZSk7Ci0gIEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUcoY2F0Y2hf
ZXhjZXB0aW9ucyk7Ci0gIEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUcoY29sb3IpOwotICBHVEVT
VF9JTlRFUk5BTF9QQVJTRV9GTEFHKGRlYXRoX3Rlc3Rfc3R5bGUpOwotICBHVEVTVF9JTlRFUk5B
TF9QQVJTRV9GTEFHKGRlYXRoX3Rlc3RfdXNlX2ZvcmspOwotICBHVEVTVF9JTlRFUk5BTF9QQVJT
RV9GTEFHKGZhaWxfZmFzdCk7Ci0gIEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUcoZmlsdGVyKTsK
LSAgR1RFU1RfSU5URVJOQUxfUEFSU0VfRkxBRyhpbnRlcm5hbF9ydW5fZGVhdGhfdGVzdCk7Ci0g
IEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUcobGlzdF90ZXN0cyk7Ci0gIEdURVNUX0lOVEVSTkFM
X1BBUlNFX0ZMQUcob3V0cHV0KTsKLSAgR1RFU1RfSU5URVJOQUxfUEFSU0VfRkxBRyhicmllZik7
Ci0gIEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUcocHJpbnRfdGltZSk7Ci0gIEdURVNUX0lOVEVS
TkFMX1BBUlNFX0ZMQUcocHJpbnRfdXRmOCk7Ci0gIEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUco
cmFuZG9tX3NlZWQpOwotICBHVEVTVF9JTlRFUk5BTF9QQVJTRV9GTEFHKHJlcGVhdCk7Ci0gIEdU
RVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUcocmVjcmVhdGVfZW52aXJvbm1lbnRzX3doZW5fcmVwZWF0
aW5nKTsKLSAgR1RFU1RfSU5URVJOQUxfUEFSU0VfRkxBRyhzaHVmZmxlKTsKLSAgR1RFU1RfSU5U
RVJOQUxfUEFSU0VfRkxBRyhzdGFja190cmFjZV9kZXB0aCk7Ci0gIEdURVNUX0lOVEVSTkFMX1BB
UlNFX0ZMQUcoc3RyZWFtX3Jlc3VsdF90byk7Ci0gIEdURVNUX0lOVEVSTkFMX1BBUlNFX0ZMQUco
dGhyb3dfb25fZmFpbHVyZSk7Ci0gIHJldHVybiBmYWxzZTsKKyAgcmV0dXJuIFBhcnNlQm9vbEZs
YWcoYXJnLCBrQWxzb1J1bkRpc2FibGVkVGVzdHNGbGFnLAorICAgICAgICAgICAgICAgICAgICAg
ICAmR1RFU1RfRkxBRyhhbHNvX3J1bl9kaXNhYmxlZF90ZXN0cykpIHx8CisgICAgICBQYXJzZUJv
b2xGbGFnKGFyZywga0JyZWFrT25GYWlsdXJlRmxhZywKKyAgICAgICAgICAgICAgICAgICAgJkdU
RVNUX0ZMQUcoYnJlYWtfb25fZmFpbHVyZSkpIHx8CisgICAgICBQYXJzZUJvb2xGbGFnKGFyZywg
a0NhdGNoRXhjZXB0aW9uc0ZsYWcsCisgICAgICAgICAgICAgICAgICAgICZHVEVTVF9GTEFHKGNh
dGNoX2V4Y2VwdGlvbnMpKSB8fAorICAgICAgUGFyc2VTdHJpbmdGbGFnKGFyZywga0NvbG9yRmxh
ZywgJkdURVNUX0ZMQUcoY29sb3IpKSB8fAorICAgICAgUGFyc2VTdHJpbmdGbGFnKGFyZywga0Rl
YXRoVGVzdFN0eWxlRmxhZywKKyAgICAgICAgICAgICAgICAgICAgICAmR1RFU1RfRkxBRyhkZWF0
aF90ZXN0X3N0eWxlKSkgfHwKKyAgICAgIFBhcnNlQm9vbEZsYWcoYXJnLCBrRGVhdGhUZXN0VXNl
Rm9yaywKKyAgICAgICAgICAgICAgICAgICAgJkdURVNUX0ZMQUcoZGVhdGhfdGVzdF91c2VfZm9y
aykpIHx8CisgICAgICBQYXJzZVN0cmluZ0ZsYWcoYXJnLCBrRmlsdGVyRmxhZywgJkdURVNUX0ZM
QUcoZmlsdGVyKSkgfHwKKyAgICAgIFBhcnNlU3RyaW5nRmxhZyhhcmcsIGtJbnRlcm5hbFJ1bkRl
YXRoVGVzdEZsYWcsCisgICAgICAgICAgICAgICAgICAgICAgJkdURVNUX0ZMQUcoaW50ZXJuYWxf
cnVuX2RlYXRoX3Rlc3QpKSB8fAorICAgICAgUGFyc2VCb29sRmxhZyhhcmcsIGtMaXN0VGVzdHNG
bGFnLCAmR1RFU1RfRkxBRyhsaXN0X3Rlc3RzKSkgfHwKKyAgICAgIFBhcnNlU3RyaW5nRmxhZyhh
cmcsIGtPdXRwdXRGbGFnLCAmR1RFU1RfRkxBRyhvdXRwdXQpKSB8fAorICAgICAgUGFyc2VCb29s
RmxhZyhhcmcsIGtQcmludFRpbWVGbGFnLCAmR1RFU1RfRkxBRyhwcmludF90aW1lKSkgfHwKKyAg
ICAgIFBhcnNlQm9vbEZsYWcoYXJnLCBrUHJpbnRVVEY4RmxhZywgJkdURVNUX0ZMQUcocHJpbnRf
dXRmOCkpIHx8CisgICAgICBQYXJzZUludDMyRmxhZyhhcmcsIGtSYW5kb21TZWVkRmxhZywgJkdU
RVNUX0ZMQUcocmFuZG9tX3NlZWQpKSB8fAorICAgICAgUGFyc2VJbnQzMkZsYWcoYXJnLCBrUmVw
ZWF0RmxhZywgJkdURVNUX0ZMQUcocmVwZWF0KSkgfHwKKyAgICAgIFBhcnNlQm9vbEZsYWcoYXJn
LCBrU2h1ZmZsZUZsYWcsICZHVEVTVF9GTEFHKHNodWZmbGUpKSB8fAorICAgICAgUGFyc2VJbnQz
MkZsYWcoYXJnLCBrU3RhY2tUcmFjZURlcHRoRmxhZywKKyAgICAgICAgICAgICAgICAgICAgICZH
VEVTVF9GTEFHKHN0YWNrX3RyYWNlX2RlcHRoKSkgfHwKKyAgICAgIFBhcnNlU3RyaW5nRmxhZyhh
cmcsIGtTdHJlYW1SZXN1bHRUb0ZsYWcsCisgICAgICAgICAgICAgICAgICAgICAgJkdURVNUX0ZM
QUcoc3RyZWFtX3Jlc3VsdF90bykpIHx8CisgICAgICBQYXJzZUJvb2xGbGFnKGFyZywga1Rocm93
T25GYWlsdXJlRmxhZywKKyAgICAgICAgICAgICAgICAgICAgJkdURVNUX0ZMQUcodGhyb3dfb25f
ZmFpbHVyZSkpOwogfQogCiAjaWYgR1RFU1RfVVNFX09XTl9GTEFHRklMRV9GTEFHXwogc3RhdGlj
IHZvaWQgTG9hZEZsYWdzRnJvbUZpbGUoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGgpIHsKICAgRklM
RSogZmxhZ2ZpbGUgPSBwb3NpeDo6Rk9wZW4ocGF0aC5jX3N0cigpLCAiciIpOwogICBpZiAoIWZs
YWdmaWxlKSB7Ci0gICAgR1RFU1RfTE9HXyhGQVRBTCkgPDwgIlVuYWJsZSB0byBvcGVuIGZpbGUg
XCIiIDw8IEdURVNUX0ZMQUdfR0VUKGZsYWdmaWxlKQorICAgIEdURVNUX0xPR18oRkFUQUwpIDw8
ICJVbmFibGUgdG8gb3BlbiBmaWxlIFwiIiA8PCBHVEVTVF9GTEFHKGZsYWdmaWxlKQogICAgICAg
ICAgICAgICAgICAgICAgIDw8ICJcIiI7CiAgIH0KICAgc3RkOjpzdHJpbmcgY29udGVudHMoUmVh
ZEVudGlyZUZpbGUoZmxhZ2ZpbGUpKTsKQEAgLTY1NjcsOCArNjE1OSwxMCBAQCBzdGF0aWMgdm9p
ZCBMb2FkRmxhZ3NGcm9tRmlsZShjb25zdCBzdGQ6OnN0cmluZyYgcGF0aCkgewogICBzdGQ6OnZl
Y3RvcjxzdGQ6OnN0cmluZz4gbGluZXM7CiAgIFNwbGl0U3RyaW5nKGNvbnRlbnRzLCAnXG4nLCAm
bGluZXMpOwogICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpbmVzLnNpemUoKTsgKytpKSB7Ci0g
ICAgaWYgKGxpbmVzW2ldLmVtcHR5KCkpIGNvbnRpbnVlOwotICAgIGlmICghUGFyc2VHb29nbGVU
ZXN0RmxhZyhsaW5lc1tpXS5jX3N0cigpKSkgZ19oZWxwX2ZsYWcgPSB0cnVlOworICAgIGlmIChs
aW5lc1tpXS5lbXB0eSgpKQorICAgICAgY29udGludWU7CisgICAgaWYgKCFQYXJzZUdvb2dsZVRl
c3RGbGFnKGxpbmVzW2ldLmNfc3RyKCkpKQorICAgICAgZ19oZWxwX2ZsYWcgPSB0cnVlOwogICB9
CiB9CiAjZW5kaWYgIC8vIEdURVNUX1VTRV9PV05fRkxBR0ZJTEVfRkxBR18KQEAgLTY1NzgsMjMg
KzYxNzIsMjUgQEAgc3RhdGljIHZvaWQgTG9hZEZsYWdzRnJvbUZpbGUoY29uc3Qgc3RkOjpzdHJp
bmcmIHBhdGgpIHsKIC8vIGluc3RhbnRpYXRlZCB0byBlaXRoZXIgY2hhciBvciB3Y2hhcl90Lgog
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgogdm9pZCBQYXJzZUdvb2dsZVRlc3RGbGFnc09u
bHlJbXBsKGludCogYXJnYywgQ2hhclR5cGUqKiBhcmd2KSB7Ci0gIHN0ZDo6c3RyaW5nIGZsYWdm
aWxlX3ZhbHVlOwogICBmb3IgKGludCBpID0gMTsgaSA8ICphcmdjOyBpKyspIHsKICAgICBjb25z
dCBzdGQ6OnN0cmluZyBhcmdfc3RyaW5nID0gU3RyZWFtYWJsZVRvU3RyaW5nKGFyZ3ZbaV0pOwog
ICAgIGNvbnN0IGNoYXIqIGNvbnN0IGFyZyA9IGFyZ19zdHJpbmcuY19zdHIoKTsKIAotICAgIHVz
aW5nIGludGVybmFsOjpQYXJzZUZsYWc7CisgICAgdXNpbmcgaW50ZXJuYWw6OlBhcnNlQm9vbEZs
YWc7CisgICAgdXNpbmcgaW50ZXJuYWw6OlBhcnNlSW50MzJGbGFnOworICAgIHVzaW5nIGludGVy
bmFsOjpQYXJzZVN0cmluZ0ZsYWc7CiAKICAgICBib29sIHJlbW92ZV9mbGFnID0gZmFsc2U7CiAg
ICAgaWYgKFBhcnNlR29vZ2xlVGVzdEZsYWcoYXJnKSkgewogICAgICAgcmVtb3ZlX2ZsYWcgPSB0
cnVlOwogI2lmIEdURVNUX1VTRV9PV05fRkxBR0ZJTEVfRkxBR18KLSAgICB9IGVsc2UgaWYgKFBh
cnNlRmxhZyhhcmcsICJmbGFnZmlsZSIsICZmbGFnZmlsZV92YWx1ZSkpIHsKLSAgICAgIEdURVNU
X0ZMQUdfU0VUKGZsYWdmaWxlLCBmbGFnZmlsZV92YWx1ZSk7Ci0gICAgICBMb2FkRmxhZ3NGcm9t
RmlsZShmbGFnZmlsZV92YWx1ZSk7CisgICAgfSBlbHNlIGlmIChQYXJzZVN0cmluZ0ZsYWcoYXJn
LCBrRmxhZ2ZpbGVGbGFnLCAmR1RFU1RfRkxBRyhmbGFnZmlsZSkpKSB7CisgICAgICBMb2FkRmxh
Z3NGcm9tRmlsZShHVEVTVF9GTEFHKGZsYWdmaWxlKSk7CiAgICAgICByZW1vdmVfZmxhZyA9IHRy
dWU7CiAjZW5kaWYgIC8vIEdURVNUX1VTRV9PV05fRkxBR0ZJTEVfRkxBR18KLSAgICB9IGVsc2Ug
aWYgKGFyZ19zdHJpbmcgPT0gIi0taGVscCIgfHwgSGFzR29vZ2xlVGVzdEZsYWdQcmVmaXgoYXJn
KSkgeworICAgIH0gZWxzZSBpZiAoYXJnX3N0cmluZyA9PSAiLS1oZWxwIiB8fCBhcmdfc3RyaW5n
ID09ICItaCIgfHwKKyAgICAgICAgICAgICAgIGFyZ19zdHJpbmcgPT0gIi0/IiB8fCBhcmdfc3Ry
aW5nID09ICIvPyIgfHwKKyAgICAgICAgICAgICAgIEhhc0dvb2dsZVRlc3RGbGFnUHJlZml4KGFy
ZykpIHsKICAgICAgIC8vIEJvdGggaGVscCBmbGFnIGFuZCB1bnJlY29nbml6ZWQgR29vZ2xlIFRl
c3QgZmxhZ3MgKGV4Y2x1ZGluZwogICAgICAgLy8gaW50ZXJuYWwgb25lcykgdHJpZ2dlciBoZWxw
IGRpc3BsYXkuCiAgICAgICBnX2hlbHBfZmxhZyA9IHRydWU7CkBAIC02NjI5LDI3ICs2MjI1LDcg
QEAgdm9pZCBQYXJzZUdvb2dsZVRlc3RGbGFnc09ubHlJbXBsKGludCogYXJnYywgQ2hhclR5cGUq
KiBhcmd2KSB7CiAvLyBQYXJzZXMgdGhlIGNvbW1hbmQgbGluZSBmb3IgR29vZ2xlIFRlc3QgZmxh
Z3MsIHdpdGhvdXQgaW5pdGlhbGl6aW5nCiAvLyBvdGhlciBwYXJ0cyBvZiBHb29nbGUgVGVzdC4K
IHZvaWQgUGFyc2VHb29nbGVUZXN0RmxhZ3NPbmx5KGludCogYXJnYywgY2hhcioqIGFyZ3YpIHsK
LSNpZiBHVEVTVF9IQVNfQUJTTAotICBpZiAoKmFyZ2MgPiAwKSB7Ci0gICAgLy8gYWJzbDo6UGFy
c2VDb21tYW5kTGluZSgpIHJlcXVpcmVzICphcmdjID4gMC4KLSAgICBhdXRvIHBvc2l0aW9uYWxf
YXJncyA9IGFic2w6OmZsYWdzX2ludGVybmFsOjpQYXJzZUNvbW1hbmRMaW5lSW1wbCgKLSAgICAg
ICAgKmFyZ2MsIGFyZ3YsIGFic2w6OmZsYWdzX2ludGVybmFsOjpBcmd2TGlzdEFjdGlvbjo6a1Jl
bW92ZVBhcnNlZEFyZ3MsCi0gICAgICAgIGFic2w6OmZsYWdzX2ludGVybmFsOjpVc2FnZUZsYWdz
QWN0aW9uOjprSGFuZGxlVXNhZ2UsCi0gICAgICAgIGFic2w6OmZsYWdzX2ludGVybmFsOjpPblVu
ZGVmaW5lZEZsYWc6OmtSZXBvcnRVbmRlZmluZWQpOwotICAgIC8vIEFueSBjb21tYW5kLWxpbmUg
cG9zaXRpb25hbCBhcmd1bWVudHMgbm90IHBhcnQgb2YgYW55IGNvbW1hbmQtbGluZSBmbGFnCi0g
ICAgLy8gKG9yIGFyZ3VtZW50cyB0byBhIGZsYWcpIGFyZSBjb3BpZWQgYmFjayBvdXQgdG8gYXJn
diwgd2l0aCB0aGUgcHJvZ3JhbQotICAgIC8vIGludm9jYXRpb24gbmFtZSBhdCBwb3NpdGlvbiAw
LCBhbmQgYXJnYyBpcyByZXNpemVkLiBUaGlzIGluY2x1ZGVzCi0gICAgLy8gcG9zaXRpb25hbCBh
cmd1bWVudHMgYWZ0ZXIgdGhlIGZsYWctdGVybWluYXRpbmcgZGVsaW1pdGVyICctLScuCi0gICAg
Ly8gU2VlIGh0dHBzOi8vYWJzZWlsLmlvL2RvY3MvY3BwL2d1aWRlcy9mbGFncy4KLSAgICBzdGQ6
OmNvcHkocG9zaXRpb25hbF9hcmdzLmJlZ2luKCksIHBvc2l0aW9uYWxfYXJncy5lbmQoKSwgYXJn
dik7Ci0gICAgaWYgKHN0YXRpY19jYXN0PGludD4ocG9zaXRpb25hbF9hcmdzLnNpemUoKSkgPCAq
YXJnYykgewotICAgICAgYXJndltwb3NpdGlvbmFsX2FyZ3Muc2l6ZSgpXSA9IG51bGxwdHI7Ci0g
ICAgICAqYXJnYyA9IHN0YXRpY19jYXN0PGludD4ocG9zaXRpb25hbF9hcmdzLnNpemUoKSk7Ci0g
ICAgfQotICB9Ci0jZWxzZQogICBQYXJzZUdvb2dsZVRlc3RGbGFnc09ubHlJbXBsKGFyZ2MsIGFy
Z3YpOwotI2VuZGlmCiAKICAgLy8gRml4IHRoZSB2YWx1ZSBvZiAqX05TR2V0QXJnYygpIG9uIG1h
Y09TLCBidXQgaWYgYW5kIG9ubHkgaWYKICAgLy8gKl9OU0dldEFyZ3YoKSA9PSBhcmd2CkBAIC02
Njg0LDEyICs2MjYwLDYgQEAgdm9pZCBJbml0R29vZ2xlVGVzdEltcGwoaW50KiBhcmdjLCBDaGFy
VHlwZSoqIGFyZ3YpIHsKIAogI2lmIEdURVNUX0hBU19BQlNMCiAgIGFic2w6OkluaXRpYWxpemVT
eW1ib2xpemVyKGdfYXJndnNbMF0uY19zdHIoKSk7Ci0KLSAgLy8gV2hlbiB1c2luZyB0aGUgQWJz
ZWlsIEZsYWdzIGxpYnJhcnksIHNldCB0aGUgcHJvZ3JhbSB1c2FnZSBtZXNzYWdlIHRvIHRoZQot
ICAvLyBoZWxwIG1lc3NhZ2UsIGJ1dCByZW1vdmUgdGhlIGNvbG9yLWVuY29kaW5nIGZyb20gdGhl
IG1lc3NhZ2UgZmlyc3QuCi0gIGFic2w6OlNldFByb2dyYW1Vc2FnZU1lc3NhZ2UoYWJzbDo6U3Ry
UmVwbGFjZUFsbCgKLSAgICAgIGtDb2xvckVuY29kZWRIZWxwTWVzc2FnZSwKLSAgICAgIHt7IkBE
IiwgIiJ9LCB7IkBSIiwgIiJ9LCB7IkBHIiwgIiJ9LCB7IkBZIiwgIiJ9LCB7IkBAIiwgIkAifX0p
KTsKICNlbmRpZiAgLy8gR1RFU1RfSEFTX0FCU0wKIAogICBQYXJzZUdvb2dsZVRlc3RGbGFnc09u
bHkoYXJnYywgYXJndik7CkBAIC02NzEwLDcgKzYyODAsNyBAQCB2b2lkIEluaXRHb29nbGVUZXN0
SW1wbChpbnQqIGFyZ2MsIENoYXJUeXBlKiogYXJndikgewogdm9pZCBJbml0R29vZ2xlVGVzdChp
bnQqIGFyZ2MsIGNoYXIqKiBhcmd2KSB7CiAjaWYgZGVmaW5lZChHVEVTVF9DVVNUT01fSU5JVF9H
T09HTEVfVEVTVF9GVU5DVElPTl8pCiAgIEdURVNUX0NVU1RPTV9JTklUX0dPT0dMRV9URVNUX0ZV
TkNUSU9OXyhhcmdjLCBhcmd2KTsKLSNlbHNlICAgLy8gZGVmaW5lZChHVEVTVF9DVVNUT01fSU5J
VF9HT09HTEVfVEVTVF9GVU5DVElPTl8pCisjZWxzZSAgLy8gZGVmaW5lZChHVEVTVF9DVVNUT01f
SU5JVF9HT09HTEVfVEVTVF9GVU5DVElPTl8pCiAgIGludGVybmFsOjpJbml0R29vZ2xlVGVzdElt
cGwoYXJnYywgYXJndik7CiAjZW5kaWYgIC8vIGRlZmluZWQoR1RFU1RfQ1VTVE9NX0lOSVRfR09P
R0xFX1RFU1RfRlVOQ1RJT05fKQogfQpAQCAtNjcyMCw3ICs2MjkwLDcgQEAgdm9pZCBJbml0R29v
Z2xlVGVzdChpbnQqIGFyZ2MsIGNoYXIqKiBhcmd2KSB7CiB2b2lkIEluaXRHb29nbGVUZXN0KGlu
dCogYXJnYywgd2NoYXJfdCoqIGFyZ3YpIHsKICNpZiBkZWZpbmVkKEdURVNUX0NVU1RPTV9JTklU
X0dPT0dMRV9URVNUX0ZVTkNUSU9OXykKICAgR1RFU1RfQ1VTVE9NX0lOSVRfR09PR0xFX1RFU1Rf
RlVOQ1RJT05fKGFyZ2MsIGFyZ3YpOwotI2Vsc2UgICAvLyBkZWZpbmVkKEdURVNUX0NVU1RPTV9J
TklUX0dPT0dMRV9URVNUX0ZVTkNUSU9OXykKKyNlbHNlICAvLyBkZWZpbmVkKEdURVNUX0NVU1RP
TV9JTklUX0dPT0dMRV9URVNUX0ZVTkNUSU9OXykKICAgaW50ZXJuYWw6OkluaXRHb29nbGVUZXN0
SW1wbChhcmdjLCBhcmd2KTsKICNlbmRpZiAgLy8gZGVmaW5lZChHVEVTVF9DVVNUT01fSU5JVF9H
T09HTEVfVEVTVF9GVU5DVElPTl8pCiB9CkBAIC02NzM2LDQyICs2MzA2LDM1IEBAIHZvaWQgSW5p
dEdvb2dsZVRlc3QoKSB7CiAKICNpZiBkZWZpbmVkKEdURVNUX0NVU1RPTV9JTklUX0dPT0dMRV9U
RVNUX0ZVTkNUSU9OXykKICAgR1RFU1RfQ1VTVE9NX0lOSVRfR09PR0xFX1RFU1RfRlVOQ1RJT05f
KCZhcmdjLCBhcmd2KTsKLSNlbHNlICAgLy8gZGVmaW5lZChHVEVTVF9DVVNUT01fSU5JVF9HT09H
TEVfVEVTVF9GVU5DVElPTl8pCisjZWxzZSAgLy8gZGVmaW5lZChHVEVTVF9DVVNUT01fSU5JVF9H
T09HTEVfVEVTVF9GVU5DVElPTl8pCiAgIGludGVybmFsOjpJbml0R29vZ2xlVGVzdEltcGwoJmFy
Z2MsIGFyZ3YpOwogI2VuZGlmICAvLyBkZWZpbmVkKEdURVNUX0NVU1RPTV9JTklUX0dPT0dMRV9U
RVNUX0ZVTkNUSU9OXykKIH0KIAotI2lmICFkZWZpbmVkKEdURVNUX0NVU1RPTV9URU1QRElSX0ZV
TkNUSU9OXykKLS8vIFJldHVybiB2YWx1ZSBvZiBmaXJzdCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0
aGF0IGlzIHNldCBhbmQgY29udGFpbnMKLS8vIGEgbm9uLWVtcHR5IHN0cmluZy4gSWYgdGhlcmUg
YXJlIG5vbmUsIHJldHVybiB0aGUgImZhbGxiYWNrIiBzdHJpbmcuCi0vLyBTaW5jZSB3ZSBsaWtl
IHRoZSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHRvIGhhdmUgYSBkaXJlY3Rvcnkgc2VwYXJhdG9yIHN1
ZmZpeCwKLS8vIGFkZCBpdCBpZiBub3QgcHJvdmlkZWQgaW4gdGhlIGVudmlyb25tZW50IHZhcmlh
YmxlIHZhbHVlLgotc3RhdGljIHN0ZDo6c3RyaW5nIEdldFRlbXBEaXJGcm9tRW52KAotICAgIHN0
ZDo6aW5pdGlhbGl6ZXJfbGlzdDxjb25zdCBjaGFyKj4gZW52aXJvbm1lbnRfdmFyaWFibGVzLAot
ICAgIGNvbnN0IGNoYXIqIGZhbGxiYWNrLCBjaGFyIHNlcGFyYXRvcikgewotICBmb3IgKGNvbnN0
IGNoYXIqIHZhcmlhYmxlX25hbWUgOiBlbnZpcm9ubWVudF92YXJpYWJsZXMpIHsKLSAgICBjb25z
dCBjaGFyKiB2YWx1ZSA9IGludGVybmFsOjpwb3NpeDo6R2V0RW52KHZhcmlhYmxlX25hbWUpOwot
ICAgIGlmICh2YWx1ZSAhPSBudWxscHRyICYmIHZhbHVlWzBdICE9ICdcMCcpIHsKLSAgICAgIGlm
ICh2YWx1ZVtzdHJsZW4odmFsdWUpIC0gMV0gIT0gc2VwYXJhdG9yKSB7Ci0gICAgICAgIHJldHVy
biBzdGQ6OnN0cmluZyh2YWx1ZSkuYXBwZW5kKDEsIHNlcGFyYXRvcik7Ci0gICAgICB9Ci0gICAg
ICByZXR1cm4gdmFsdWU7Ci0gICAgfQotICB9Ci0gIHJldHVybiBmYWxsYmFjazsKLX0KLSNlbmRp
ZgotCiBzdGQ6OnN0cmluZyBUZW1wRGlyKCkgewogI2lmIGRlZmluZWQoR1RFU1RfQ1VTVE9NX1RF
TVBESVJfRlVOQ1RJT05fKQogICByZXR1cm4gR1RFU1RfQ1VTVE9NX1RFTVBESVJfRlVOQ1RJT05f
KCk7Ci0jZWxpZiBHVEVTVF9PU19XSU5ET1dTIHx8IEdURVNUX09TX1dJTkRPV1NfTU9CSUxFCi0g
IHJldHVybiBHZXRUZW1wRGlyRnJvbUVudih7IlRFU1RfVE1QRElSIiwgIlRFTVAifSwgIlxcdGVt
cFxcIiwgJ1xcJyk7CisjZW5kaWYKKworI2lmIEdURVNUX09TX1dJTkRPV1NfTU9CSUxFCisgIHJl
dHVybiAiXFx0ZW1wXFwiOworI2VsaWYgR1RFU1RfT1NfV0lORE9XUworICBjb25zdCBjaGFyKiB0
ZW1wX2RpciA9IGludGVybmFsOjpwb3NpeDo6R2V0RW52KCJURU1QIik7CisgIGlmICh0ZW1wX2Rp
ciA9PSBudWxscHRyIHx8IHRlbXBfZGlyWzBdID09ICdcMCcpCisgICAgcmV0dXJuICJcXHRlbXBc
XCI7CisgIGVsc2UgaWYgKHRlbXBfZGlyW3N0cmxlbih0ZW1wX2RpcikgLSAxXSA9PSAnXFwnKQor
ICAgIHJldHVybiB0ZW1wX2RpcjsKKyAgZWxzZQorICAgIHJldHVybiBzdGQ6OnN0cmluZyh0ZW1w
X2RpcikgKyAiXFwiOwogI2VsaWYgR1RFU1RfT1NfTElOVVhfQU5EUk9JRAotICByZXR1cm4gR2V0
VGVtcERpckZyb21FbnYoeyJURVNUX1RNUERJUiIsICJUTVBESVIifSwgIi9kYXRhL2xvY2FsL3Rt
cC8iLCAnLycpOworICBjb25zdCBjaGFyKiB0ZW1wX2RpciA9IGludGVybmFsOjpwb3NpeDo6R2V0
RW52KCJURVNUX1RNUERJUiIpOworICBpZiAodGVtcF9kaXIgPT0gbnVsbHB0ciB8fCB0ZW1wX2Rp
clswXSA9PSAnXDAnKQorICAgIHJldHVybiAiL2RhdGEvbG9jYWwvdG1wLyI7CisgIGVsc2UKKyAg
ICByZXR1cm4gdGVtcF9kaXI7CiAjZWxzZQotICByZXR1cm4gR2V0VGVtcERpckZyb21FbnYoeyJU
RVNUX1RNUERJUiIsICJUTVBESVIifSwgIi90bXAvIiwgJy8nKTsKLSNlbmRpZgorICByZXR1cm4g
Ii90bXAvIjsKKyNlbmRpZiAgLy8gR1RFU1RfT1NfV0lORE9XU19NT0JJTEUKIH0KIAogLy8gQ2xh
c3MgU2NvcGVkVHJhY2UKQEAgLTY3ODgsNyArNjM1MSw4IEBAIHZvaWQgU2NvcGVkVHJhY2U6OlB1
c2hUcmFjZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgc3RkOjpzdHJpbmcgbWVzc2FnZSkg
ewogfQogCiAvLyBQb3BzIHRoZSBpbmZvIHB1c2hlZCBieSB0aGUgYyd0b3IuCi1TY29wZWRUcmFj
ZTo6flNjb3BlZFRyYWNlKCkgR1RFU1RfTE9DS19FWENMVURFRF8oJlVuaXRUZXN0OjptdXRleF8p
IHsKK1Njb3BlZFRyYWNlOjp+U2NvcGVkVHJhY2UoKQorICAgIEdURVNUX0xPQ0tfRVhDTFVERURf
KCZVbml0VGVzdDo6bXV0ZXhfKSB7CiAgIFVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5Qb3BHVGVz
dFRyYWNlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xl
dGVzdC9zcmMvc3JjL2d0ZXN0X21haW4uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2ds
ZXRlc3Qvc3JjL3NyYy9ndGVzdF9tYWluLmNjCmluZGV4IDQ0OTc2Mzc1Yzk5Ny4uNDZiMjdjM2Q3
ZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2dvb2dsZXRlc3Qvc3JjL3Ny
Yy9ndGVzdF9tYWluLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvZ29vZ2xldGVzdC9z
cmMvc3JjL2d0ZXN0X21haW4uY2MKQEAgLTI4LDE0ICsyOCwxNSBAQAogLy8gT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAogI2luY2x1ZGUgPGNzdGRpbz4KLQogI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LmgiCiAKICNpZiBH
VEVTVF9PU19FU1A4MjY2IHx8IEdURVNUX09TX0VTUDMyCiAjaWYgR1RFU1RfT1NfRVNQODI2Ngog
ZXh0ZXJuICJDIiB7CiAjZW5kaWYKLXZvaWQgc2V0dXAoKSB7IHRlc3Rpbmc6OkluaXRHb29nbGVU
ZXN0KCk7IH0KK3ZvaWQgc2V0dXAoKSB7CisgIHRlc3Rpbmc6OkluaXRHb29nbGVUZXN0KCk7Cit9
CiAKIHZvaWQgbG9vcCgpIHsgUlVOX0FMTF9URVNUUygpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGhpcmRfcGFydHkvbGlid2VibS9BVVRIT1JTLlRYVCBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRf
cGFydHkvbGlid2VibS9BVVRIT1JTLlRYVAppbmRleCA1OWI2NDhjYTY4YjYuLjhhYjZmNzk0Yzcz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL0FVVEhPUlMuVFhU
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvbGlid2VibS9BVVRIT1JTLlRYVApAQCAtMSw1
ICsxLDQgQEAKLSMgTmFtZXMgc2hvdWxkIGJlIGFkZGVkIHRvIHRoaXMgZmlsZSBsaWtlIHNvOgot
IyBOYW1lIG9yIE9yZ2FuaXphdGlvbiA8ZW1haWwgYWRkcmVzcz4KLQotR29vZ2xlIEluYy4KLUVs
aWphaCBDaXJpb2xpIDxlbGkuY2lyaW9saUBnbWFpbC5jb20+CisjIE5hbWVzIHNob3VsZCBiZSBh
ZGRlZCB0byB0aGlzIGZpbGUgbGlrZSBzbzoNCisjIE5hbWUgb3IgT3JnYW5pemF0aW9uIDxlbWFp
bCBhZGRyZXNzPg0KKw0KK0dvb2dsZSBJbmMuDQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGly
ZF9wYXJ0eS9saWJ3ZWJtL0FuZHJvaWQubWsgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2xpYndl
Ym0vQW5kcm9pZC5tawppbmRleCBiMDI3OTVjY2FlNjkuLmI0NmJhMTAxZDQyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL0FuZHJvaWQubWsKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL0FuZHJvaWQubWsKQEAgLTEsMTEgKzEsOSBAQAotIyBJ
Z25vcmUgdGhpcyBmaWxlIGR1cmluZyBub24tTkRLIGJ1aWxkcy4KLWlmZGVmIE5ES19ST09UCiBM
T0NBTF9QQVRIOj0gJChjYWxsIG15LWRpcikKIAogaW5jbHVkZSAkKENMRUFSX1ZBUlMpCiBMT0NB
TF9NT0RVTEU6PSBsaWJ3ZWJtCiBMT0NBTF9DUFBGTEFHUzo9LURfX1NURENfQ09OU1RBTlRfTUFD
Uk9TIC1EX19TVERDX0ZPUk1BVF9NQUNST1MKLUxPQ0FMX0NQUEZMQUdTKz0tRF9fU1REQ19MSU1J
VF9NQUNST1MgLXN0ZD1nbnUrKzExCitMT0NBTF9DUFBGTEFHUys9LURfX1NURENfTElNSVRfTUFD
Uk9TIC1zdGQ9YysrMTEKIExPQ0FMX0NfSU5DTFVERVM6PSAkKExPQ0FMX1BBVEgpCiBMT0NBTF9F
WFBPUlRfQ19JTkNMVURFUzo9ICQoTE9DQUxfUEFUSCkKIApAQCAtMTYsOCArMTQsNCBAQCBMT0NB
TF9TUkNfRklMRVM6PSBjb21tb24vZmlsZV91dGlsLmNjIFwKICAgICAgICAgICAgICAgICAgIG1r
dm11eGVyL21rdm11eGVyLmNjIFwKICAgICAgICAgICAgICAgICAgIG1rdm11eGVyL21rdm11eGVy
dXRpbC5jYyBcCiAgICAgICAgICAgICAgICAgICBta3ZtdXhlci9ta3Z3cml0ZXIuY2MKLUxPQ0FM
X0xJQ0VOU0VfS0lORFMgOj0gU1BEWC1saWNlbnNlLWlkZW50aWZpZXItQlNECi1MT0NBTF9MSUNF
TlNFX0NPTkRJVElPTlMgOj0gbm90aWNlCi1MT0NBTF9OT1RJQ0VfRklMRSA6PSAkKExPQ0FMX1BB
VEgpL0xJQ0VOU0UuVFhUICQoTE9DQUxfUEFUSCkvUEFURU5UUy5UWFQKIGluY2x1ZGUgJChCVUlM
RF9TVEFUSUNfTElCUkFSWSkKLWVuZGlmICAjIE5ES19ST09UCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3RoaXJkX3BhcnR5L2xpYndlYm0vUkVBRE1FLmxpYnZweCBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRf
cGFydHkvbGlid2VibS9SRUFETUUubGlidnB4CmluZGV4IGE3OWI5ODJlZjQ5ZC4uMWU4N2FmZDNk
MTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2xpYndlYm0vUkVBRE1FLmxp
YnZweAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2xpYndlYm0vUkVBRE1FLmxpYnZweApA
QCAtMSw3ICsxLDcgQEAKIFVSTDogaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL3dl
Ym0vbGlid2VibQotVmVyc2lvbjogMTkzMGUzY2EyM2IwMDdmM2ZmMTFkOThhNTcwMDc3YmU2MjAx
OTU3ZQorVmVyc2lvbjogMzdkOWI4NjBlYmJmNDBjYjBmNmRjYjdhNmZlZjQ1MmQ3OTgwNjJkYQog
TGljZW5zZTogQlNECi1MaWNlbnNlIEZpbGU6IExJQ0VOU0UuVFhUCitMaWNlbnNlIEZpbGU6IExJ
Q0VOU0UudHh0CiAKIERlc2NyaXB0aW9uOgogbGlid2VibSBpcyB1c2VkIHRvIGhhbmRsZSBXZWJN
IGNvbnRhaW5lciBJL08uCkBAIC0xOCw0ICsxOCwzIEBAIE9ubHkga2VlcDoKICAtIG1rdm11eGVy
LwogIC0gbWt2cGFyc2VyLwogIC0gUEFURU5UUy5UWFQKLS0gdXNlIC1zdGQ9Z251KysxMSBpbiBB
bmRyb2lkLm1rIChodHRwczovL2NyYnVnLmNvbS93ZWJtLzE3MDgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3RoaXJkX3BhcnR5L2xpYndlYm0vbWt2bXV4ZXIvbWt2bXV4ZXIuY2MgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3RoaXJkX3BhcnR5L2xpYndlYm0vbWt2bXV4ZXIvbWt2bXV4ZXIuY2MKaW5kZXggZmFhZjAx
NjVmNDIyLi41MTIwMzEyMTE5MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkv
bGlid2VibS9ta3ZtdXhlci9ta3ZtdXhlci5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5
L2xpYndlYm0vbWt2bXV4ZXIvbWt2bXV4ZXIuY2MKQEAgLTYwNywxMCArNjA3LDEwIEBAIGJvb2wg
Q29udGVudEVuY29kaW5nOjpXcml0ZShJTWt2V3JpdGVyKiB3cml0ZXIpIGNvbnN0IHsKICAgcmV0
dXJuIHRydWU7CiB9CiAKLXVpbnQ2NF90IENvbnRlbnRFbmNvZGluZzo6RW5jb2RpbmdTaXplKHVp
bnQ2NF90IGNvbXByZXNzaW9uX3NpemUsCit1aW50NjRfdCBDb250ZW50RW5jb2Rpbmc6OkVuY29k
aW5nU2l6ZSh1aW50NjRfdCBjb21wcmVzaW9uX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50NjRfdCBlbmNyeXB0aW9uX3NpemUpIGNvbnN0IHsKICAgLy8g
VE9ETyhmZ2FsbGlnYW4pOiBBZGQgc3VwcG9ydCBmb3IgY29tcHJlc3Npb24gc2V0dGluZ3MuCi0g
IGlmIChjb21wcmVzc2lvbl9zaXplICE9IDApCisgIGlmIChjb21wcmVzaW9uX3NpemUgIT0gMCkK
ICAgICByZXR1cm4gMDsKIAogICB1aW50NjRfdCBlbmNvZGluZ19zaXplID0gMDsKQEAgLTc3NCw3
ICs3NzQsNyBAQCBib29sIFRyYWNrOjpXcml0ZShJTWt2V3JpdGVyKiB3cml0ZXIpIGNvbnN0IHsK
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgLy8gQVYxIHRyYWNrcyByZXF1aXJlIGEgQ29kZWNQcml2
YXRlLiBTZWUKLSAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2lldGYtd2ctY2VsbGFyL21hdHJvc2th
LXNwZWNpZmljYXRpb24vYmxvYi9IRUFEL2NvZGVjL2F2MS5tZAorICAvLyBodHRwczovL2dpdGh1
Yi5jb20vTWF0cm9za2EtT3JnL21hdHJvc2thLXNwZWNpZmljYXRpb24vYmxvYi9hdjEtbWFwcGlu
L2NvZGVjL2F2MS5tZAogICAvLyBUT0RPKHRvbWZpbmVnYW4pOiBVcGRhdGUgdGhlIGFib3ZlIGxp
bmsgdG8gdGhlIEFWMSBNYXRyb3NrYSBtYXBwaW5ncyB0bwogICAvLyBwb2ludCB0byBhIHN0YWJs
ZSB2ZXJzaW9uIG9uY2UgaXQgaXMgZmluYWxpemVkLCBvciBvdXIgb3duIFdlYk0gbWFwcGluZ3MK
ICAgLy8gcGFnZSBvbiB3ZWJtcHJvamVjdC5vcmcgc2hvdWxkIHdlIGRlY2lkZSB0byByZWxlYXNl
IHRoZW0uCkBAIC0zMDg0LDcgKzMwODQsNiBAQCBTZWdtZW50OjpTZWdtZW50KCkKICAgICAgIGFj
Y3VyYXRlX2NsdXN0ZXJfZHVyYXRpb25fKGZhbHNlKSwKICAgICAgIGZpeGVkX3NpemVfY2x1c3Rl
cl90aW1lY29kZV8oZmFsc2UpLAogICAgICAgZXN0aW1hdGVfZmlsZV9kdXJhdGlvbl8oZmFsc2Up
LAotICAgICAgZWJtbF9oZWFkZXJfc2l6ZV8oMCksCiAgICAgICBwYXlsb2FkX3Bvc18oMCksCiAg
ICAgICBzaXplX3Bvc2l0aW9uXygwKSwKICAgICAgIGRvY190eXBlX3ZlcnNpb25fKGtEZWZhdWx0
RG9jVHlwZVZlcnNpb24pLApAQCAtNDEwNiwxNiArNDEwNSwxMiBAQCBpbnQgU2VnbWVudDo6V3Jp
dGVGcmFtZXNBbGwoKSB7CiAgICAgLy8gcGxhY2VzIHdoZXJlIHxkb2NfdHlwZV92ZXJzaW9uX3wg
bmVlZHMgdG8gYmUgdXBkYXRlZC4KICAgICBpZiAoZnJhbWUtPmRpc2NhcmRfcGFkZGluZygpICE9
IDApCiAgICAgICBkb2NfdHlwZV92ZXJzaW9uXyA9IDQ7Ci0gICAgaWYgKCFjbHVzdGVyLT5BZGRG
cmFtZShmcmFtZSkpIHsKLSAgICAgIGRlbGV0ZSBmcmFtZTsKLSAgICAgIGNvbnRpbnVlOwotICAg
IH0KKyAgICBpZiAoIWNsdXN0ZXItPkFkZEZyYW1lKGZyYW1lKSkKKyAgICAgIHJldHVybiAtMTsK
IAogICAgIGlmIChuZXdfY3VlcG9pbnRfICYmIGN1ZXNfdHJhY2tfID09IGZyYW1lLT50cmFja19u
dW1iZXIoKSkgewotICAgICAgaWYgKCFBZGRDdWVQb2ludChmcmFtZS0+dGltZXN0YW1wKCksIGN1
ZXNfdHJhY2tfKSkgewotICAgICAgICBkZWxldGUgZnJhbWU7Ci0gICAgICAgIGNvbnRpbnVlOwot
ICAgICAgfQorICAgICAgaWYgKCFBZGRDdWVQb2ludChmcmFtZS0+dGltZXN0YW1wKCksIGN1ZXNf
dHJhY2tfKSkKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAogICAgIGlmIChmcmFtZS0+dGlt
ZXN0YW1wKCkgPiBsYXN0X3RpbWVzdGFtcF8pIHsKQEAgLTQxNTgsMTYgKzQxNTMsMTIgQEAgYm9v
bCBTZWdtZW50OjpXcml0ZUZyYW1lc0xlc3NUaGFuKHVpbnQ2NF90IHRpbWVzdGFtcCkgewogICAg
ICAgY29uc3QgRnJhbWUqIGNvbnN0IGZyYW1lX3ByZXYgPSBmcmFtZXNfW2kgLSAxXTsKICAgICAg
IGlmIChmcmFtZV9wcmV2LT5kaXNjYXJkX3BhZGRpbmcoKSAhPSAwKQogICAgICAgICBkb2NfdHlw
ZV92ZXJzaW9uXyA9IDQ7Ci0gICAgICBpZiAoIWNsdXN0ZXItPkFkZEZyYW1lKGZyYW1lX3ByZXYp
KSB7Ci0gICAgICAgIGRlbGV0ZSBmcmFtZV9wcmV2OwotICAgICAgICBjb250aW51ZTsKLSAgICAg
IH0KKyAgICAgIGlmICghY2x1c3Rlci0+QWRkRnJhbWUoZnJhbWVfcHJldikpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgICAgaWYgKG5ld19jdWVwb2ludF8gJiYgY3Vlc190cmFja18gPT0g
ZnJhbWVfcHJldi0+dHJhY2tfbnVtYmVyKCkpIHsKLSAgICAgICAgaWYgKCFBZGRDdWVQb2ludChm
cmFtZV9wcmV2LT50aW1lc3RhbXAoKSwgY3Vlc190cmFja18pKSB7Ci0gICAgICAgICAgZGVsZXRl
IGZyYW1lX3ByZXY7Ci0gICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAgICAgICAgaWYg
KCFBZGRDdWVQb2ludChmcmFtZV9wcmV2LT50aW1lc3RhbXAoKSwgY3Vlc190cmFja18pKQorICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgIH0KIAogICAgICAgKytzaGlmdF9sZWZ0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL21rdm11eGVyL21rdm11eGVy
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2xpYndlYm0vbWt2bXV4ZXIvbWt2bXV4ZXIuaApp
bmRleCA4NjAyZDgyMzI1ZTguLmYyZGIzNzcxNDUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
aGlyZF9wYXJ0eS9saWJ3ZWJtL21rdm11eGVyL21rdm11eGVyLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
aGlyZF9wYXJ0eS9saWJ3ZWJtL21rdm11eGVyL21rdm11eGVyLmgKQEAgLTMzMCw3ICszMzAsNyBA
QCBjbGFzcyBDb250ZW50RW5jb2RpbmcgewogCiAgcHJpdmF0ZToKICAgLy8gUmV0dXJucyB0aGUg
c2l6ZSBpbiBieXRlcyBmb3IgdGhlIGVuY29kaW5nIGVsZW1lbnRzLgotICB1aW50NjRfdCBFbmNv
ZGluZ1NpemUodWludDY0X3QgY29tcHJlc3Npb25fc2l6ZSwKKyAgdWludDY0X3QgRW5jb2RpbmdT
aXplKHVpbnQ2NF90IGNvbXByZXNpb25fc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ2NF90IGVuY3J5cHRpb25fc2l6ZSkgY29uc3Q7CiAKICAgLy8gUmV0dXJucyB0aGUgc2l6ZSBp
biBieXRlcyBmb3IgdGhlIGVuY3J5cHRpb24gZWxlbWVudHMuCkBAIC0xNDI1LDcgKzE0MjUsNyBA
QCBjbGFzcyBTZWVrSGVhZCB7CiAgIGJvb2wgV3JpdGUoSU1rdldyaXRlciogd3JpdGVyKTsKIAog
ICAvLyBXZSBhcmUgZ29pbmcgdG8gcHV0IGEgY2FwIG9uIHRoZSBudW1iZXIgb2YgU2VlayBFbnRy
aWVzLgotICBjb25zdGV4cHIgc3RhdGljIGludDMyX3Qga1NlZWtFbnRyeUNvdW50ID0gNTsKKyAg
Y29uc3Qgc3RhdGljIGludDMyX3Qga1NlZWtFbnRyeUNvdW50ID0gNTsKIAogIHByaXZhdGU6CiAg
IC8vIFJldHVybnMgdGhlIG1heGltdW0gc2l6ZSBpbiBieXRlcyBvZiBvbmUgc2VlayBlbnRyeS4K
QEAgLTE1MDUsOCArMTUwNSw4IEBAIGNsYXNzIFNlZ21lbnQgewogICAgIGtCZWZvcmVDbHVzdGVy
cyA9IDB4MSAgLy8gUG9zaXRpb24gQ3VlcyBiZWZvcmUgQ2x1c3RlcnMKICAgfTsKIAotICBzdGF0
aWMgY29uc3RleHByIHVpbnQzMl90IGtEZWZhdWx0RG9jVHlwZVZlcnNpb24gPSA0OwotICBzdGF0
aWMgY29uc3RleHByIHVpbnQ2NF90IGtEZWZhdWx0TWF4Q2x1c3RlckR1cmF0aW9uID0gMzAwMDAw
MDAwMDBVTEw7CisgIHN0YXRpYyBjb25zdCB1aW50MzJfdCBrRGVmYXVsdERvY1R5cGVWZXJzaW9u
ID0gNDsKKyAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IGtEZWZhdWx0TWF4Q2x1c3RlckR1cmF0aW9u
ID0gMzAwMDAwMDAwMDBVTEw7CiAKICAgU2VnbWVudCgpOwogICB+U2VnbWVudCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL21rdm11eGVyL21rdm11eGVydXRp
bC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdGhpcmRfcGFydHkvbGlid2VibS9ta3ZtdXhlci9ta3ZtdXhlcnV0
aWwuY2MKaW5kZXggMzAwYjE1NTc5N2FkLi42NDM2ODE3YzliOWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdGhpcmRfcGFydHkvbGlid2VibS9ta3ZtdXhlci9ta3ZtdXhlcnV0aWwuY2MKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL21rdm11eGVyL21rdm11eGVydXRpbC5jYwpA
QCAtNjA2LDcgKzYwNiw3IEBAIHVpbnQ2NCBXcml0ZVZvaWRFbGVtZW50KElNa3ZXcml0ZXIqIHdy
aXRlciwgdWludDY0IHNpemUpIHsKIAogdm9pZCBHZXRWZXJzaW9uKGludDMyKiBtYWpvciwgaW50
MzIqIG1pbm9yLCBpbnQzMiogYnVpbGQsIGludDMyKiByZXZpc2lvbikgewogICAqbWFqb3IgPSAw
OwotICAqbWlub3IgPSAzOworICAqbWlub3IgPSAyOwogICAqYnVpbGQgPSAxOwogICAqcmV2aXNp
b24gPSAwOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL21r
dnBhcnNlci9ta3ZwYXJzZXIuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3RoaXJkX3BhcnR5L2xpYndlYm0vbWt2
cGFyc2VyL21rdnBhcnNlci5jYwppbmRleCA4NjhhZmNiM2VkMGYuLmFjZTY1YmQ1OTU3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL21rdnBhcnNlci9ta3ZwYXJz
ZXIuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC90aGlyZF9wYXJ0eS9saWJ3ZWJtL21rdnBhcnNlci9ta3Zw
YXJzZXIuY2MKQEAgLTU0LDkgKzU0LDkgQEAgVHlwZSogU2FmZUFycmF5QWxsb2ModW5zaWduZWQg
bG9uZyBsb25nIG51bV9lbGVtZW50cywKIAogdm9pZCBHZXRWZXJzaW9uKGludCYgbWFqb3IsIGlu
dCYgbWlub3IsIGludCYgYnVpbGQsIGludCYgcmV2aXNpb24pIHsKICAgbWFqb3IgPSAxOwotICBt
aW5vciA9IDE7Ci0gIGJ1aWxkID0gMTsKLSAgcmV2aXNpb24gPSAwOworICBtaW5vciA9IDA7Cisg
IGJ1aWxkID0gMDsKKyAgcmV2aXNpb24gPSAzMDsKIH0KIAogbG9uZyBsb25nIFJlYWRVSW50KElN
a3ZSZWFkZXIqIHBSZWFkZXIsIGxvbmcgbG9uZyBwb3MsIGxvbmcmIGxlbikgewpAQCAtMjk4LDcg
KzI5OCw3IEBAIGxvbmcgVW5zZXJpYWxpemVJbnQoSU1rdlJlYWRlciogcFJlYWRlciwgbG9uZyBs
b25nIHBvcywgbG9uZyBsb25nIHNpemUsCiAgIGlmIChzdGF0dXMgPCAwKQogICAgIHJldHVybiBz
dGF0dXM7CiAKLSAgdW5zaWduZWQgbG9uZyBsb25nIHJlc3VsdCA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkIGxvbmcgbG9uZz4oZmlyc3RfYnl0ZSk7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXN1bHQg
PSBmaXJzdF9ieXRlOwogICArK3BvczsKIAogICBmb3IgKGxvbmcgaSA9IDE7IGkgPCBzaXplOyAr
K2kpIHsKQEAgLTE1MDIsOCArMTUwMiw4IEBAIGxvbmcgU2Vla0hlYWQ6OlBhcnNlKCkgewogCiAg
IC8vIGZpcnN0IGNvdW50IHRoZSBzZWVrIGhlYWQgZW50cmllcwogCi0gIGxvbmcgbG9uZyBlbnRy
eV9jb3VudCA9IDA7Ci0gIGxvbmcgbG9uZyB2b2lkX2VsZW1lbnRfY291bnQgPSAwOworICBpbnQg
ZW50cnlfY291bnQgPSAwOworICBpbnQgdm9pZF9lbGVtZW50X2NvdW50ID0gMDsKIAogICB3aGls
ZSAocG9zIDwgc3RvcCkgewogICAgIGxvbmcgbG9uZyBpZCwgc2l6ZTsKQEAgLTE1MTMsMTUgKzE1
MTMsMTAgQEAgbG9uZyBTZWVrSGVhZDo6UGFyc2UoKSB7CiAgICAgaWYgKHN0YXR1cyA8IDApICAv
LyBlcnJvcgogICAgICAgcmV0dXJuIHN0YXR1czsKIAotICAgIGlmIChpZCA9PSBsaWJ3ZWJtOjpr
TWt2U2VlaykgeworICAgIGlmIChpZCA9PSBsaWJ3ZWJtOjprTWt2U2VlaykKICAgICAgICsrZW50
cnlfY291bnQ7Ci0gICAgICBpZiAoZW50cnlfY291bnQgPiBJTlRfTUFYKQotICAgICAgICByZXR1
cm4gRV9QQVJTRV9GQUlMRUQ7Ci0gICAgfSBlbHNlIGlmIChpZCA9PSBsaWJ3ZWJtOjprTWt2Vm9p
ZCkgeworICAgIGVsc2UgaWYgKGlkID09IGxpYndlYm06OmtNa3ZWb2lkKQogICAgICAgKyt2b2lk
X2VsZW1lbnRfY291bnQ7Ci0gICAgICBpZiAodm9pZF9lbGVtZW50X2NvdW50ID4gSU5UX01BWCkK
LSAgICAgICAgcmV0dXJuIEVfUEFSU0VfRkFJTEVEOwotICAgIH0KIAogICAgIHBvcyArPSBzaXpl
OyAgLy8gY29uc3VtZSBwYXlsb2FkCiAKQEAgLTE1MzMsMTUgKzE1MjgsMTQgQEAgbG9uZyBTZWVr
SGVhZDo6UGFyc2UoKSB7CiAgICAgcmV0dXJuIEVfRklMRV9GT1JNQVRfSU5WQUxJRDsKIAogICBp
ZiAoZW50cnlfY291bnQgPiAwKSB7Ci0gICAgbV9lbnRyaWVzID0gbmV3IChzdGQ6Om5vdGhyb3cp
IEVudHJ5W3N0YXRpY19jYXN0PHNpemVfdD4oZW50cnlfY291bnQpXTsKKyAgICBtX2VudHJpZXMg
PSBuZXcgKHN0ZDo6bm90aHJvdykgRW50cnlbZW50cnlfY291bnRdOwogCiAgICAgaWYgKG1fZW50
cmllcyA9PSBOVUxMKQogICAgICAgcmV0dXJuIC0xOwogICB9CiAKICAgaWYgKHZvaWRfZWxlbWVu
dF9jb3VudCA+IDApIHsKLSAgICBtX3ZvaWRfZWxlbWVudHMgPQotICAgICAgICBuZXcgKHN0ZDo6
bm90aHJvdykgVm9pZEVsZW1lbnRbc3RhdGljX2Nhc3Q8c2l6ZV90Pih2b2lkX2VsZW1lbnRfY291
bnQpXTsKKyAgICBtX3ZvaWRfZWxlbWVudHMgPSBuZXcgKHN0ZDo6bm90aHJvdykgVm9pZEVsZW1l
bnRbdm9pZF9lbGVtZW50X2NvdW50XTsKIAogICAgIGlmIChtX3ZvaWRfZWxlbWVudHMgPT0gTlVM
TCkKICAgICAgIHJldHVybiAtMTsKQEAgLTE1ODgsMTMgKzE1ODIsMTMgQEAgbG9uZyBTZWVrSGVh
ZDo6UGFyc2UoKSB7CiAKICAgcHRyZGlmZl90IGNvdW50XyA9IHB0cmRpZmZfdChwRW50cnkgLSBt
X2VudHJpZXMpOwogICBhc3NlcnQoY291bnRfID49IDApOwotICBhc3NlcnQoc3RhdGljX2Nhc3Q8
bG9uZyBsb25nPihjb3VudF8pIDw9IGVudHJ5X2NvdW50KTsKKyAgYXNzZXJ0KGNvdW50XyA8PSBl
bnRyeV9jb3VudCk7CiAKICAgbV9lbnRyeV9jb3VudCA9IHN0YXRpY19jYXN0PGludD4oY291bnRf
KTsKIAogICBjb3VudF8gPSBwdHJkaWZmX3QocFZvaWRFbGVtZW50IC0gbV92b2lkX2VsZW1lbnRz
KTsKICAgYXNzZXJ0KGNvdW50XyA+PSAwKTsKLSAgYXNzZXJ0KHN0YXRpY19jYXN0PGxvbmcgbG9u
Zz4oY291bnRfKSA8PSB2b2lkX2VsZW1lbnRfY291bnQpOworICBhc3NlcnQoY291bnRfIDw9IHZv
aWRfZWxlbWVudF9jb3VudCk7CiAKICAgbV92b2lkX2VsZW1lbnRfY291bnQgPSBzdGF0aWNfY2Fz
dDxpbnQ+KGNvdW50Xyk7CiAKQEAgLTIzMDUsNyArMjI5OSw3IEBAIGJvb2wgQ3VlUG9pbnQ6Okxv
YWQoSU1rdlJlYWRlciogcFJlYWRlcikgewogICBsb25nIGxvbmcgcG9zID0gcG9zXzsKIAogICAv
LyBGaXJzdCBjb3VudCBudW1iZXIgb2YgdHJhY2sgcG9zaXRpb25zCi0gIHVuc2lnbmVkIGxvbmcg
bG9uZyB0cmFja19wb3NpdGlvbnNfY291bnQgPSAwOworCiAgIHdoaWxlIChwb3MgPCBzdG9wKSB7
CiAgICAgbG9uZyBsZW47CiAKQEAgLTIzMjksMTcgKzIzMjMsMTIgQEAgYm9vbCBDdWVQb2ludDo6
TG9hZChJTWt2UmVhZGVyKiBwUmVhZGVyKSB7CiAgICAgaWYgKGlkID09IGxpYndlYm06OmtNa3ZD
dWVUaW1lKQogICAgICAgbV90aW1lY29kZSA9IFVuc2VyaWFsaXplVUludChwUmVhZGVyLCBwb3Ms
IHNpemUpOwogCi0gICAgZWxzZSBpZiAoaWQgPT0gbGlid2VibTo6a01rdkN1ZVRyYWNrUG9zaXRp
b25zKSB7Ci0gICAgICArK3RyYWNrX3Bvc2l0aW9uc19jb3VudDsKLSAgICAgIGlmICh0cmFja19w
b3NpdGlvbnNfY291bnQgPiBVSU5UX01BWCkKLSAgICAgICAgcmV0dXJuIEVfUEFSU0VfRkFJTEVE
OwotICAgIH0KKyAgICBlbHNlIGlmIChpZCA9PSBsaWJ3ZWJtOjprTWt2Q3VlVHJhY2tQb3NpdGlv
bnMpCisgICAgICArK21fdHJhY2tfcG9zaXRpb25zX2NvdW50OwogCiAgICAgcG9zICs9IHNpemU7
ICAvLyBjb25zdW1lIHBheWxvYWQKICAgfQogCi0gIG1fdHJhY2tfcG9zaXRpb25zX2NvdW50ID0g
c3RhdGljX2Nhc3Q8c2l6ZV90Pih0cmFja19wb3NpdGlvbnNfY291bnQpOwotCiAgIGlmIChtX3Rp
bWVjb2RlIDwgMCB8fCBtX3RyYWNrX3Bvc2l0aW9uc19jb3VudCA8PSAwKSB7CiAgICAgcmV0dXJu
IGZhbHNlOwogICB9CkBAIC0yNDMyLDcgKzI0MjEsNyBAQCBib29sIEN1ZVBvaW50OjpUcmFja1Bv
c2l0aW9uOjpQYXJzZShJTWt2UmVhZGVyKiBwUmVhZGVyLCBsb25nIGxvbmcgc3RhcnRfLAogICAg
IHBvcyArPSBzaXplOyAgLy8gY29uc3VtZSBwYXlsb2FkCiAgIH0KIAotICBpZiAoKG1fcG9zIDwg
MCkgfHwgKG1fdHJhY2sgPD0gMCkgfHwgKG1fYmxvY2sgPCAwKSB8fCAobV9ibG9jayA+IExPTkdf
TUFYKSkgeworICBpZiAoKG1fcG9zIDwgMCkgfHwgKG1fdHJhY2sgPD0gMCkpIHsKICAgICByZXR1
cm4gZmFsc2U7CiAgIH0KIApAQCAtNDIwNSw4ICs0MTk0LDggQEAgbG9uZyBDb250ZW50RW5jb2Rp
bmc6OlBhcnNlQ29udGVudEVuY29kaW5nRW50cnkobG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcg
c2l6ZSwKICAgY29uc3QgbG9uZyBsb25nIHN0b3AgPSBzdGFydCArIHNpemU7CiAKICAgLy8gQ291
bnQgQ29udGVudENvbXByZXNzaW9uIGFuZCBDb250ZW50RW5jcnlwdGlvbiBlbGVtZW50cy4KLSAg
bG9uZyBsb25nIGNvbXByZXNzaW9uX2NvdW50ID0gMDsKLSAgbG9uZyBsb25nIGVuY3J5cHRpb25f
Y291bnQgPSAwOworICBpbnQgY29tcHJlc3Npb25fY291bnQgPSAwOworICBpbnQgZW5jcnlwdGlv
bl9jb3VudCA9IDA7CiAKICAgd2hpbGUgKHBvcyA8IHN0b3ApIHsKICAgICBsb25nIGxvbmcgaWQs
IHNpemU7CkBAIC00MjE0LDE3ICs0MjAzLDExIEBAIGxvbmcgQ29udGVudEVuY29kaW5nOjpQYXJz
ZUNvbnRlbnRFbmNvZGluZ0VudHJ5KGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIHNpemUsCiAg
ICAgaWYgKHN0YXR1cyA8IDApICAvLyBlcnJvcgogICAgICAgcmV0dXJuIHN0YXR1czsKIAotICAg
IGlmIChpZCA9PSBsaWJ3ZWJtOjprTWt2Q29udGVudENvbXByZXNzaW9uKSB7CisgICAgaWYgKGlk
ID09IGxpYndlYm06OmtNa3ZDb250ZW50Q29tcHJlc3Npb24pCiAgICAgICArK2NvbXByZXNzaW9u
X2NvdW50OwotICAgICAgaWYgKGNvbXByZXNzaW9uX2NvdW50ID4gSU5UX01BWCkKLSAgICAgICAg
cmV0dXJuIEVfUEFSU0VfRkFJTEVEOwotICAgIH0KIAotICAgIGlmIChpZCA9PSBsaWJ3ZWJtOjpr
TWt2Q29udGVudEVuY3J5cHRpb24pIHsKKyAgICBpZiAoaWQgPT0gbGlid2VibTo6a01rdkNvbnRl
bnRFbmNyeXB0aW9uKQogICAgICAgKytlbmNyeXB0aW9uX2NvdW50OwotICAgICAgaWYgKGVuY3J5
cHRpb25fY291bnQgPiBJTlRfTUFYKQotICAgICAgICByZXR1cm4gRV9QQVJTRV9GQUlMRUQ7Ci0g
ICAgfQogCiAgICAgcG9zICs9IHNpemU7ICAvLyBjb25zdW1lIHBheWxvYWQKICAgICBpZiAocG9z
ID4gc3RvcCkKQEAgLTQyMzUsMTYgKzQyMTgsMTYgQEAgbG9uZyBDb250ZW50RW5jb2Rpbmc6OlBh
cnNlQ29udGVudEVuY29kaW5nRW50cnkobG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgc2l6ZSwK
ICAgICByZXR1cm4gLTE7CiAKICAgaWYgKGNvbXByZXNzaW9uX2NvdW50ID4gMCkgewotICAgIGNv
bXByZXNzaW9uX2VudHJpZXNfID0gbmV3IChzdGQ6Om5vdGhyb3cpCi0gICAgICAgIENvbnRlbnRD
b21wcmVzc2lvbipbc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb21wcmVzc2lvbl9jb3VudCldOworICAg
IGNvbXByZXNzaW9uX2VudHJpZXNfID0KKyAgICAgICAgbmV3IChzdGQ6Om5vdGhyb3cpIENvbnRl
bnRDb21wcmVzc2lvbipbY29tcHJlc3Npb25fY291bnRdOwogICAgIGlmICghY29tcHJlc3Npb25f
ZW50cmllc18pCiAgICAgICByZXR1cm4gLTE7CiAgICAgY29tcHJlc3Npb25fZW50cmllc19lbmRf
ID0gY29tcHJlc3Npb25fZW50cmllc187CiAgIH0KIAogICBpZiAoZW5jcnlwdGlvbl9jb3VudCA+
IDApIHsKLSAgICBlbmNyeXB0aW9uX2VudHJpZXNfID0gbmV3IChzdGQ6Om5vdGhyb3cpCi0gICAg
ICAgIENvbnRlbnRFbmNyeXB0aW9uKltzdGF0aWNfY2FzdDxzaXplX3Q+KGVuY3J5cHRpb25fY291
bnQpXTsKKyAgICBlbmNyeXB0aW9uX2VudHJpZXNfID0KKyAgICAgICAgbmV3IChzdGQ6Om5vdGhy
b3cpIENvbnRlbnRFbmNyeXB0aW9uKltlbmNyeXB0aW9uX2NvdW50XTsKICAgICBpZiAoIWVuY3J5
cHRpb25fZW50cmllc18pIHsKICAgICAgIGRlbGV0ZVtdIGNvbXByZXNzaW9uX2VudHJpZXNfOwog
ICAgICAgY29tcHJlc3Npb25fZW50cmllc18gPSBOVUxMOwpAQCAtNDkzNSw3ICs0OTE4LDcgQEAg
bG9uZyBUcmFjazo6UGFyc2VDb250ZW50RW5jb2RpbmdzRW50cnkobG9uZyBsb25nIHN0YXJ0LCBs
b25nIGxvbmcgc2l6ZSkgewogICBjb25zdCBsb25nIGxvbmcgc3RvcCA9IHN0YXJ0ICsgc2l6ZTsK
IAogICAvLyBDb3VudCBDb250ZW50RW5jb2RpbmcgZWxlbWVudHMuCi0gIGxvbmcgbG9uZyBjb3Vu
dCA9IDA7CisgIGludCBjb3VudCA9IDA7CiAgIHdoaWxlIChwb3MgPCBzdG9wKSB7CiAgICAgbG9u
ZyBsb25nIGlkLCBzaXplOwogICAgIGNvbnN0IGxvbmcgc3RhdHVzID0gUGFyc2VFbGVtZW50SGVh
ZGVyKHBSZWFkZXIsIHBvcywgc3RvcCwgaWQsIHNpemUpOwpAQCAtNDk0MywxMSArNDkyNiw4IEBA
IGxvbmcgVHJhY2s6OlBhcnNlQ29udGVudEVuY29kaW5nc0VudHJ5KGxvbmcgbG9uZyBzdGFydCwg
bG9uZyBsb25nIHNpemUpIHsKICAgICAgIHJldHVybiBzdGF0dXM7CiAKICAgICAvLyBwb3Mgbm93
IGRlc2lnbmF0ZXMgc3RhcnQgb2YgZWxlbWVudAotICAgIGlmIChpZCA9PSBsaWJ3ZWJtOjprTWt2
Q29udGVudEVuY29kaW5nKSB7CisgICAgaWYgKGlkID09IGxpYndlYm06OmtNa3ZDb250ZW50RW5j
b2RpbmcpCiAgICAgICArK2NvdW50OwotICAgICAgaWYgKGNvdW50ID4gSU5UX01BWCkKLSAgICAg
ICAgcmV0dXJuIEVfUEFSU0VfRkFJTEVEOwotICAgIH0KIAogICAgIHBvcyArPSBzaXplOyAgLy8g
Y29uc3VtZSBwYXlsb2FkCiAgICAgaWYgKHBvcyA+IHN0b3ApCkBAIC00OTU3LDggKzQ5MzcsNyBA
QCBsb25nIFRyYWNrOjpQYXJzZUNvbnRlbnRFbmNvZGluZ3NFbnRyeShsb25nIGxvbmcgc3RhcnQs
IGxvbmcgbG9uZyBzaXplKSB7CiAgIGlmIChjb3VudCA8PSAwKQogICAgIHJldHVybiAtMTsKIAot
ICBjb250ZW50X2VuY29kaW5nX2VudHJpZXNfID0KLSAgICAgIG5ldyAoc3RkOjpub3Rocm93KSBD
b250ZW50RW5jb2RpbmcqW3N0YXRpY19jYXN0PHNpemVfdD4oY291bnQpXTsKKyAgY29udGVudF9l
bmNvZGluZ19lbnRyaWVzXyA9IG5ldyAoc3RkOjpub3Rocm93KSBDb250ZW50RW5jb2RpbmcqW2Nv
dW50XTsKICAgaWYgKCFjb250ZW50X2VuY29kaW5nX2VudHJpZXNfKQogICAgIHJldHVybiAtMTsK
IApAQCAtNTI1MCw4ICs1MjI5LDYgQEAgYm9vbCBQcm9qZWN0aW9uOjpQYXJzZShJTWt2UmVhZGVy
KiByZWFkZXIsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIHNpemUsCiAKICAgICAgIHByb2pl
Y3Rpb25fcHRyLT50eXBlID0gc3RhdGljX2Nhc3Q8UHJvamVjdGlvblR5cGU+KHByb2plY3Rpb25f
dHlwZSk7CiAgICAgfSBlbHNlIGlmIChjaGlsZF9pZCA9PSBsaWJ3ZWJtOjprTWt2UHJvamVjdGlv
blByaXZhdGUpIHsKLSAgICAgIGlmIChwcm9qZWN0aW9uX3B0ci0+cHJpdmF0ZV9kYXRhICE9IE5V
TEwpCi0gICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgIHVuc2lnbmVkIGNoYXIqIGRhdGEgPSBT
YWZlQXJyYXlBbGxvYzx1bnNpZ25lZCBjaGFyPigxLCBjaGlsZF9zaXplKTsKIAogICAgICAgaWYg
KGRhdGEgPT0gTlVMTCkKQEAgLTUzMDksNyArNTI4Niw2IEBAIFZpZGVvVHJhY2s6OlZpZGVvVHJh
Y2soU2VnbWVudCogcFNlZ21lbnQsIGxvbmcgbG9uZyBlbGVtZW50X3N0YXJ0LAogICAgICAgbV9w
cm9qZWN0aW9uKE5VTEwpIHt9CiAKIFZpZGVvVHJhY2s6On5WaWRlb1RyYWNrKCkgewotICBkZWxl
dGVbXSBtX2NvbG91cl9zcGFjZTsKICAgZGVsZXRlIG1fY29sb3VyOwogICBkZWxldGUgbV9wcm9q
ZWN0aW9uOwogfQpAQCAtNTMzMSw3ICs1MzA3LDcgQEAgbG9uZyBWaWRlb1RyYWNrOjpQYXJzZShT
ZWdtZW50KiBwU2VnbWVudCwgY29uc3QgSW5mbyYgaW5mbywKICAgbG9uZyBsb25nIHN0ZXJlb19t
b2RlID0gMDsKIAogICBkb3VibGUgcmF0ZSA9IDAuMDsKLSAgc3RkOjp1bmlxdWVfcHRyPGNoYXJb
XT4gY29sb3VyX3NwYWNlX3B0cjsKKyAgY2hhciogY29sb3VyX3NwYWNlID0gTlVMTDsKIAogICBJ
TWt2UmVhZGVyKiBjb25zdCBwUmVhZGVyID0gcFNlZ21lbnQtPm1fcFJlYWRlcjsKIApAQCAtNTQw
OCwxMSArNTM4NCw5IEBAIGxvbmcgVmlkZW9UcmFjazo6UGFyc2UoU2VnbWVudCogcFNlZ21lbnQs
IGNvbnN0IEluZm8mIGluZm8sCiAgICAgICAgIHByb2plY3Rpb25fcHRyLnJlc2V0KHByb2plY3Rp
b24pOwogICAgICAgfQogICAgIH0gZWxzZSBpZiAoaWQgPT0gbGlid2VibTo6a01rdkNvbG91clNw
YWNlKSB7Ci0gICAgICBjaGFyKiBjb2xvdXJfc3BhY2UgPSBOVUxMOwogICAgICAgY29uc3QgbG9u
ZyBzdGF0dXMgPSBVbnNlcmlhbGl6ZVN0cmluZyhwUmVhZGVyLCBwb3MsIHNpemUsIGNvbG91cl9z
cGFjZSk7CiAgICAgICBpZiAoc3RhdHVzIDwgMCkKICAgICAgICAgcmV0dXJuIHN0YXR1czsKLSAg
ICAgIGNvbG91cl9zcGFjZV9wdHIucmVzZXQoY29sb3VyX3NwYWNlKTsKICAgICB9CiAKICAgICBw
b3MgKz0gc2l6ZTsgIC8vIGNvbnN1bWUgcGF5bG9hZApAQCAtNTQ0NCw3ICs1NDE4LDcgQEAgbG9u
ZyBWaWRlb1RyYWNrOjpQYXJzZShTZWdtZW50KiBwU2VnbWVudCwgY29uc3QgSW5mbyYgaW5mbywK
ICAgcFRyYWNrLT5tX3N0ZXJlb19tb2RlID0gc3RlcmVvX21vZGU7CiAgIHBUcmFjay0+bV9yYXRl
ID0gcmF0ZTsKICAgcFRyYWNrLT5tX2NvbG91ciA9IGNvbG91cl9wdHIucmVsZWFzZSgpOwotICBw
VHJhY2stPm1fY29sb3VyX3NwYWNlID0gY29sb3VyX3NwYWNlX3B0ci5yZWxlYXNlKCk7CisgIHBU
cmFjay0+bV9jb2xvdXJfc3BhY2UgPSBjb2xvdXJfc3BhY2U7CiAgIHBUcmFjay0+bV9wcm9qZWN0
aW9uID0gcHJvamVjdGlvbl9wdHIucmVsZWFzZSgpOwogCiAgIHBSZXN1bHQgPSBwVHJhY2s7CkBA
IC01Njc0LDcgKzU2NDgsNyBAQCBsb25nIFRyYWNrczo6UGFyc2UoKSB7CiAgIGNvbnN0IGxvbmcg
bG9uZyBzdG9wID0gbV9zdGFydCArIG1fc2l6ZTsKICAgSU1rdlJlYWRlciogY29uc3QgcFJlYWRl
ciA9IG1fcFNlZ21lbnQtPm1fcFJlYWRlcjsKIAotICBsb25nIGxvbmcgY291bnQgPSAwOworICBp
bnQgY291bnQgPSAwOwogICBsb25nIGxvbmcgcG9zID0gbV9zdGFydDsKIAogICB3aGlsZSAocG9z
IDwgc3RvcCkgewpAQCAtNTY4OCwxMSArNTY2Miw4IEBAIGxvbmcgVHJhY2tzOjpQYXJzZSgpIHsK
ICAgICBpZiAoc2l6ZSA9PSAwKSAgLy8gd2VpcmQKICAgICAgIGNvbnRpbnVlOwogCi0gICAgaWYg
KGlkID09IGxpYndlYm06OmtNa3ZUcmFja0VudHJ5KSB7CisgICAgaWYgKGlkID09IGxpYndlYm06
OmtNa3ZUcmFja0VudHJ5KQogICAgICAgKytjb3VudDsKLSAgICAgIGlmIChjb3VudCA+IElOVF9N
QVgpCi0gICAgICAgIHJldHVybiBFX1BBUlNFX0ZBSUxFRDsKLSAgICB9CiAKICAgICBwb3MgKz0g
c2l6ZTsgIC8vIGNvbnN1bWUgcGF5bG9hZAogICAgIGlmIChwb3MgPiBzdG9wKQpAQCAtNTcwNSw3
ICs1Njc2LDcgQEAgbG9uZyBUcmFja3M6OlBhcnNlKCkgewogICBpZiAoY291bnQgPD0gMCkKICAg
ICByZXR1cm4gMDsgIC8vIHN1Y2Nlc3MKIAotICBtX3RyYWNrRW50cmllcyA9IG5ldyAoc3RkOjpu
b3Rocm93KSBUcmFjaypbc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb3VudCldOworICBtX3RyYWNrRW50
cmllcyA9IG5ldyAoc3RkOjpub3Rocm93KSBUcmFjaypbY291bnRdOwogCiAgIGlmIChtX3RyYWNr
RW50cmllcyA9PSBOVUxMKQogICAgIHJldHVybiAtMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dG9vbHMubWsgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzLm1rCmluZGV4IGRkMmViZWIzZDUxZS4uMWQwMDVi
MmFjZmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzLm1rCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dG9vbHMubWsKQEAgLTc5LDcgKzc5LDYgQEAgJCgxKTogJCgkKDE6LiQoVkNQUk9KX1NGWCk9KS5T
UkNTKSB2cHguJChWQ1BST0pfU0ZYKQogICAgICAgICAgICAgLS12ZXI9JCQoQ09ORklHX1ZTX1ZF
UlNJT04pXAogICAgICAgICAgICAgLS1wcm9qLWd1aWQ9JCQoJCQoQDouJChWQ1BST0pfU0ZYKT0p
LkdVSUQpXAogICAgICAgICAgICAgLS1zcmMtcGF0aC1iYXJlPSIkKFNSQ19QQVRIX0JBUkUpIiBc
Ci0gICAgICAgICAgICAtLWFzPSQkKEFTKSBcCiAgICAgICAgICAgICAkJChpZiAkJChDT05GSUdf
U1RBVElDX01TVkNSVCksLS1zdGF0aWMtY3J0KSBcCiAgICAgICAgICAgICAtLW91dD0kJEAgJCQo
SU5URVJOQUxfQ0ZMQUdTKSAkJChDRkxBR1MpIFwKICAgICAgICAgICAgICQkKElOVEVSTkFMX0xE
RkxBR1MpICQkKExERkxBR1MpICQkXgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy8zRC1S
ZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvRXhoYXVzdC5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdG9vbHMvM0Qt
UmVjb25zdHJ1Y3Rpb24vTW90aW9uRVNUL0V4aGF1c3QucHkKaW5kZXggZDc2M2RlODU2MjAwLi4y
ZDZhNGQ4MTE0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdG9vbHMvM0QtUmVjb25zdHJ1Y3Rp
b24vTW90aW9uRVNUL0V4aGF1c3QucHkKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy8zRC1SZWNvbnN0
cnVjdGlvbi9Nb3Rpb25FU1QvRXhoYXVzdC5weQpAQCAtODMsNyArODMsNyBAQCBjbGFzcyBFeGhh
dXN0TmVpZ2hib3IoTW90aW9uRVNUKToKICAgICBzZWxmLmJldGEgPSBiZXRhCiAgICAgc2VsZi5t
ZXRyaWMgPSBtZXRyaWMKICAgICBzdXBlcihFeGhhdXN0TmVpZ2hib3IsIHNlbGYpLl9faW5pdF9f
KGN1cl9mLCByZWZfZiwgYmxrX3NpemUpCi0gICAgc2VsZi5hc3NpZ24gPSBucC56ZXJvcygoc2Vs
Zi5udW1fcm93LCBzZWxmLm51bV9jb2wpLCBkdHlwZT1ib29sKQorICAgIHNlbGYuYXNzaWduID0g
bnAuemVyb3MoKHNlbGYubnVtX3Jvdywgc2VsZi5udW1fY29sKSwgZHR5cGU9bnAuYm9vbCkKIAog
ICAiIiIKICAgICBlc3RpbWF0ZSBuZWlnaGJvciBsb3NzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC90b29scy8zRC1SZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvR3JvdW5kVHJ1dGgucHkgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rvb2xzLzNELVJlY29uc3RydWN0aW9uL01vdGlvbkVTVC9Hcm91bmRUcnV0aC5weQpp
bmRleCAzNzMwNTg5OGE3MDIuLjEyYmM1M2ZmNzMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
b29scy8zRC1SZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvR3JvdW5kVHJ1dGgucHkKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90b29scy8zRC1SZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvR3JvdW5kVHJ1dGgucHkK
QEAgLTI5LDcgKzI5LDcgQEAgY2xhc3MgR3JvdW5kVHJ1dGgoTW90aW9uRVNUKToKICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGN1cl9mLCByZWZfZiwgYmxrX3N6LCBndF9wYXRoLCBtZj1Ob25lLCBtYXNr
PU5vbmUpOgogICAgIHNlbGYubmFtZSA9ICdncm91bmQgdHJ1dGgnCiAgICAgc3VwZXIoR3JvdW5k
VHJ1dGgsIHNlbGYpLl9faW5pdF9fKGN1cl9mLCByZWZfZiwgYmxrX3N6KQotICAgIHNlbGYubWFz
ayA9IG5wLnplcm9zKChzZWxmLm51bV9yb3csIHNlbGYubnVtX2NvbCksIGR0eXBlPWJvb2wpCisg
ICAgc2VsZi5tYXNrID0gbnAuemVyb3MoKHNlbGYubnVtX3Jvdywgc2VsZi5udW1fY29sKSwgZHR5
cGU9bnAuYm9vbCkKICAgICBpZiBndF9wYXRoOgogICAgICAgd2l0aCBvcGVuKGd0X3BhdGgpIGFz
IGd0X2ZpbGU6CiAgICAgICAgIGxpbmVzID0gZ3RfZmlsZS5yZWFkbGluZXMoKQpAQCAtNDIsNyAr
NDIsNyBAQCBjbGFzcyBHcm91bmRUcnV0aChNb3Rpb25FU1QpOgogICAgICAgICAgICAgICBzZWxm
Lm1hc2tbaSwgLWogLSAxXSA9IFRydWUKICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAg
ICAgICN0aGUgb3JkZXIgb2Ygb3JpZ2luYWwgZmlsZSBpcyBmbGlwcGVkIG9uIHRoZSB4IGF4aXMK
LSAgICAgICAgICAgIHNlbGYubWZbaSwgLWogLSAxXSA9IG5wLmFycmF5KFtmbG9hdCh5KSwgLWZs
b2F0KHgpXSwgZHR5cGU9aW50KQorICAgICAgICAgICAgc2VsZi5tZltpLCAtaiAtIDFdID0gbnAu
YXJyYXkoW2Zsb2F0KHkpLCAtZmxvYXQoeCldLCBkdHlwZT1ucC5pbnQpCiAgICAgZWxzZToKICAg
ICAgIHNlbGYubWYgPSBtZgogICAgICAgc2VsZi5tYXNrID0gbWFzawpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90b29scy8zRC1SZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvTW90aW9uRVNULnB5IGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90b29scy8zRC1SZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvTW90aW9uRVNULnB5
CmluZGV4IGZjMzkzODE4ZDljMC4uMDk1OTUzMGZhMDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rvb2xzLzNELVJlY29uc3RydWN0aW9uL01vdGlvbkVTVC9Nb3Rpb25FU1QucHkKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90b29scy8zRC1SZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvTW90aW9uRVNULnB5CkBA
IC0yOCw4ICsyOCw4IEBAIGNsYXNzIE1vdGlvbkVTVChvYmplY3QpOgogICAgIHNlbGYucmVmX2Yg
PSByZWZfZgogICAgIHNlbGYuYmxrX3N6ID0gYmxrX3N6CiAgICAgI2NvbnZlcnQgUkdCIHRvIFlV
VgotICAgIHNlbGYuY3VyX3l1diA9IG5wLmFycmF5KHNlbGYuY3VyX2YuY29udmVydCgnWUNiQ3In
KSwgZHR5cGU9aW50KQotICAgIHNlbGYucmVmX3l1diA9IG5wLmFycmF5KHNlbGYucmVmX2YuY29u
dmVydCgnWUNiQ3InKSwgZHR5cGU9aW50KQorICAgIHNlbGYuY3VyX3l1diA9IG5wLmFycmF5KHNl
bGYuY3VyX2YuY29udmVydCgnWUNiQ3InKSwgZHR5cGU9bnAuaW50KQorICAgIHNlbGYucmVmX3l1
diA9IG5wLmFycmF5KHNlbGYucmVmX2YuY29udmVydCgnWUNiQ3InKSwgZHR5cGU9bnAuaW50KQog
ICAgICNmcmFtZSBzaXplCiAgICAgc2VsZi53aWR0aCA9IHNlbGYuY3VyX2Yuc2l6ZVswXQogICAg
IHNlbGYuaGVpZ2h0ID0gc2VsZi5jdXJfZi5zaXplWzFdCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rvb2xzLzNELVJlY29uc3RydWN0aW9uL01vdGlvbkVTVC9VdGlsLnB5IGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90
b29scy8zRC1SZWNvbnN0cnVjdGlvbi9Nb3Rpb25FU1QvVXRpbC5weQppbmRleCBjMjQxNjE2M2Jl
NmYuLjU1MTg4MWNmZDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy8zRC1SZWNvbnN0
cnVjdGlvbi9Nb3Rpb25FU1QvVXRpbC5weQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzLzNELVJlY29u
c3RydWN0aW9uL01vdGlvbkVTVC9VdGlsLnB5CkBAIC0xOCw3ICsxOCw3IEBAIGZyb20gUElMIGlt
cG9ydCBJbWFnZSwgSW1hZ2VEcmF3CiBkZWYgTVNFKGJsazEsIGJsazIpOgogICByZXR1cm4gbnAu
bWVhbigKICAgICAgIExBLm5vcm0oCi0gICAgICAgICAgbnAuYXJyYXkoYmxrMSwgZHR5cGU9aW50
KSAtIG5wLmFycmF5KGJsazIsIGR0eXBlPWludCksIGF4aXM9MikpCisgICAgICAgICAgbnAuYXJy
YXkoYmxrMSwgZHR5cGU9bnAuaW50KSAtIG5wLmFycmF5KGJsazIsIGR0eXBlPW5wLmludCksIGF4
aXM9MikpCiAKIAogZGVmIGRyYXdNRihpbWcsIGJsa19zeiwgbWYpOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC90b29scy9jcHBsaW50LnB5IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy9jcHBsaW50LnB5Cmlu
ZGV4IGUzZWJkZTJmNWExYS4uMjVmYmVmNzNkOGVkIDEwMDc1NQotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rv
b2xzL2NwcGxpbnQucHkKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy9jcHBsaW50LnB5CkBAIC0xLDQg
KzEsNCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIS91c3IvYmluL3B5dGhvbgogIwogIyBD
b3B5cmlnaHQgKGMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKQEAg
LTUxLDIzICs1MSwxNiBAQCBpbXBvcnQgc3JlX2NvbXBpbGUKIGltcG9ydCBzdHJpbmcKIGltcG9y
dCBzeXMKIGltcG9ydCB1bmljb2RlZGF0YQotaW1wb3J0IHN5c2NvbmZpZwotCi10cnk6Ci0gIHhy
YW5nZSAgICAgICAgICAjIFB5dGhvbiAyCi1leGNlcHQgTmFtZUVycm9yOgotICB4cmFuZ2UgPSBy
YW5nZSAgIyBQeXRob24gMwogCiAKIF9VU0FHRSA9ICIiIgogU3ludGF4OiBjcHBsaW50LnB5IFst
LXZlcmJvc2U9I10gWy0tb3V0cHV0PXZzN10gWy0tZmlsdGVyPS14LCt5LC4uLl0KICAgICAgICAg
ICAgICAgICAgICBbLS1jb3VudGluZz10b3RhbHx0b3BsZXZlbHxkZXRhaWxlZF0gWy0tcm9vdD1z
dWJkaXJdCi0gICAgICAgICAgICAgICAgICAgWy0tbGluZWxlbmd0aD1kaWdpdHNdIFstLWhlYWRl
cnM9eCx5LC4uLl0KLSAgICAgICAgICAgICAgICAgICBbLS1xdWlldF0KKyAgICAgICAgICAgICAg
ICAgICBbLS1saW5lbGVuZ3RoPWRpZ2l0c10KICAgICAgICAgPGZpbGU+IFtmaWxlXSAuLi4KIAog
ICBUaGUgc3R5bGUgZ3VpZGVsaW5lcyB0aGlzIHRyaWVzIHRvIGZvbGxvdyBhcmUgdGhvc2UgaW4K
LSAgICBodHRwczovL2dvb2dsZS1zdHlsZWd1aWRlLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9j
cHBndWlkZS54bWwKKyAgICBodHRwOi8vZ29vZ2xlLXN0eWxlZ3VpZGUuZ29vZ2xlY29kZS5jb20v
c3ZuL3RydW5rL2NwcGd1aWRlLnhtbAogCiAgIEV2ZXJ5IHByb2JsZW0gaXMgZ2l2ZW4gYSBjb25m
aWRlbmNlIHNjb3JlIGZyb20gMS01LCB3aXRoIDUgbWVhbmluZyB3ZSBhcmUKICAgY2VydGFpbiBv
ZiB0aGUgcHJvYmxlbSwgYW5kIDEgbWVhbmluZyBpdCBjb3VsZCBiZSBhIGxlZ2l0aW1hdGUgY29u
c3RydWN0LgpAQCAtOTAsOSArODMsNiBAQCBTeW50YXg6IGNwcGxpbnQucHkgWy0tdmVyYm9zZT0j
XSBbLS1vdXRwdXQ9dnM3XSBbLS1maWx0ZXI9LXgsK3ksLi4uXQogICAgIHZlcmJvc2U9IwogICAg
ICAgU3BlY2lmeSBhIG51bWJlciAwLTUgdG8gcmVzdHJpY3QgZXJyb3JzIHRvIGNlcnRhaW4gdmVy
Ym9zaXR5IGxldmVscy4KIAotICAgIHF1aWV0Ci0gICAgICBEb24ndCBwcmludCBhbnl0aGluZyBp
ZiBubyBlcnJvcnMgYXJlIGZvdW5kLgotCiAgICAgZmlsdGVyPS14LCt5LC4uLgogICAgICAgU3Bl
Y2lmeSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGNhdGVnb3J5LWZpbHRlcnMgdG8gYXBwbHk6
IG9ubHkKICAgICAgIGVycm9yIG1lc3NhZ2VzIHdob3NlIGNhdGVnb3J5IG5hbWVzIHBhc3MgdGhl
IGZpbHRlcnMgd2lsbCBiZSBwcmludGVkLgpAQCAtMTI0LDEzICsxMTQsMTIgQEAgU3ludGF4OiBj
cHBsaW50LnB5IFstLXZlcmJvc2U9I10gWy0tb3V0cHV0PXZzN10gWy0tZmlsdGVyPS14LCt5LC4u
Ll0KICAgICAgIGlnbm9yZWQuCiAKICAgICAgIEV4YW1wbGVzOgotICAgICAgICBBc3N1bWluZyB0
aGF0IHRvcC9zcmMvLmdpdCBleGlzdHMgKGFuZCBjd2Q9dG9wL3NyYyksIHRoZSBoZWFkZXIgZ3Vh
cmQKLSAgICAgICAgQ1BQIHZhcmlhYmxlcyBmb3IgdG9wL3NyYy9jaHJvbWUvYnJvd3Nlci91aS9i
cm93c2VyLmggYXJlOgorICAgICAgICBBc3N1aW5nIHRoYXQgc3JjLy5naXQgZXhpc3RzLCB0aGUg
aGVhZGVyIGd1YXJkIENQUCB2YXJpYWJsZXMgZm9yCisgICAgICAgIHNyYy9jaHJvbWUvYnJvd3Nl
ci91aS9icm93c2VyLmggYXJlOgogCiAgICAgICAgIE5vIGZsYWcgPT4gQ0hST01FX0JST1dTRVJf
VUlfQlJPV1NFUl9IXwogICAgICAgICAtLXJvb3Q9Y2hyb21lID0+IEJST1dTRVJfVUlfQlJPV1NF
Ul9IXwogICAgICAgICAtLXJvb3Q9Y2hyb21lL2Jyb3dzZXIgPT4gVUlfQlJPV1NFUl9IXwotICAg
ICAgICAtLXJvb3Q9Li4gPT4gU1JDX0NIUk9NRV9CUk9XU0VSX1VJX0JST1dTRVJfSF8KIAogICAg
IGxpbmVsZW5ndGg9ZGlnaXRzCiAgICAgICBUaGlzIGlzIHRoZSBhbGxvd2VkIGxpbmUgbGVuZ3Ro
IGZvciB0aGUgcHJvamVjdC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMKQEAgLTE0NCw1NyArMTMzLDYg
QEAgU3ludGF4OiBjcHBsaW50LnB5IFstLXZlcmJvc2U9I10gWy0tb3V0cHV0PXZzN10gWy0tZmls
dGVyPS14LCt5LC4uLl0KIAogICAgICAgRXhhbXBsZXM6CiAgICAgICAgIC0tZXh0ZW5zaW9ucz1o
cHAsY3BwCi0KLSAgICBoZWFkZXJzPXgseSwuLi4KLSAgICAgIFRoZSBoZWFkZXIgZXh0ZW5zaW9u
cyB0aGF0IGNwcGxpbnQgd2lsbCB0cmVhdCBhcyAuaCBpbiBjaGVja3MuIFZhbHVlcyBhcmUKLSAg
ICAgIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gLS1leHRlbnNpb25zIGxpc3QuCi0KLSAgICAgIEV4
YW1wbGVzOgotICAgICAgICAtLWhlYWRlcnM9aHBwLGh4eAotICAgICAgICAtLWhlYWRlcnM9aHBw
Ci0KLSAgICBjcHBsaW50LnB5IHN1cHBvcnRzIHBlci1kaXJlY3RvcnkgY29uZmlndXJhdGlvbnMg
c3BlY2lmaWVkIGluIENQUExJTlQuY2ZnCi0gICAgZmlsZXMuIENQUExJTlQuY2ZnIGZpbGUgY2Fu
IGNvbnRhaW4gYSBudW1iZXIgb2Yga2V5PXZhbHVlIHBhaXJzLgotICAgIEN1cnJlbnRseSB0aGUg
Zm9sbG93aW5nIG9wdGlvbnMgYXJlIHN1cHBvcnRlZDoKLQotICAgICAgc2V0IG5vcGFyZW50Ci0g
ICAgICBmaWx0ZXI9K2ZpbHRlcjEsLWZpbHRlcjIsLi4uCi0gICAgICBleGNsdWRlX2ZpbGVzPXJl
Z2V4Ci0gICAgICBsaW5lbGVuZ3RoPTgwCi0gICAgICByb290PXN1YmRpcgotICAgICAgaGVhZGVy
cz14LHksLi4uCi0KLSAgICAic2V0IG5vcGFyZW50IiBvcHRpb24gcHJldmVudHMgY3BwbGludCBm
cm9tIHRyYXZlcnNpbmcgZGlyZWN0b3J5IHRyZWUKLSAgICB1cHdhcmRzIGxvb2tpbmcgZm9yIG1v
cmUgLmNmZyBmaWxlcyBpbiBwYXJlbnQgZGlyZWN0b3JpZXMuIFRoaXMgb3B0aW9uCi0gICAgaXMg
dXN1YWxseSBwbGFjZWQgaW4gdGhlIHRvcC1sZXZlbCBwcm9qZWN0IGRpcmVjdG9yeS4KLQotICAg
IFRoZSAiZmlsdGVyIiBvcHRpb24gaXMgc2ltaWxhciBpbiBmdW5jdGlvbiB0byAtLWZpbHRlciBm
bGFnLiBJdCBzcGVjaWZpZXMKLSAgICBtZXNzYWdlIGZpbHRlcnMgaW4gYWRkaXRpb24gdG8gdGhl
IHxfREVGQVVMVF9GSUxURVJTfCBhbmQgdGhvc2Ugc3BlY2lmaWVkCi0gICAgdGhyb3VnaCAtLWZp
bHRlciBjb21tYW5kLWxpbmUgZmxhZy4KLQotICAgICJleGNsdWRlX2ZpbGVzIiBhbGxvd3MgdG8g
c3BlY2lmeSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBiZSBtYXRjaGVkIGFnYWluc3QKLSAgICBh
IGZpbGUgbmFtZS4gSWYgdGhlIGV4cHJlc3Npb24gbWF0Y2hlcywgdGhlIGZpbGUgaXMgc2tpcHBl
ZCBhbmQgbm90IHJ1bgotICAgIHRocm91Z2ggbGluZXIuCi0KLSAgICAibGluZWxlbmd0aCIgYWxs
b3dzIHRvIHNwZWNpZnkgdGhlIGFsbG93ZWQgbGluZSBsZW5ndGggZm9yIHRoZSBwcm9qZWN0Lgot
Ci0gICAgVGhlICJyb290IiBvcHRpb24gaXMgc2ltaWxhciBpbiBmdW5jdGlvbiB0byB0aGUgLS1y
b290IGZsYWcgKHNlZSBleGFtcGxlCi0gICAgYWJvdmUpLiBQYXRocyBhcmUgcmVsYXRpdmUgdG8g
dGhlIGRpcmVjdG9yeSBvZiB0aGUgQ1BQTElOVC5jZmcuCi0KLSAgICBUaGUgImhlYWRlcnMiIG9w
dGlvbiBpcyBzaW1pbGFyIGluIGZ1bmN0aW9uIHRvIHRoZSAtLWhlYWRlcnMgZmxhZwotICAgIChz
ZWUgZXhhbXBsZSBhYm92ZSkuCi0KLSAgICBDUFBMSU5ULmNmZyBoYXMgYW4gZWZmZWN0IG9uIGZp
bGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhbmQgYWxsCi0gICAgc3ViLWRpcmVjdG9yaWVzLCB1
bmxlc3Mgb3ZlcnJpZGRlbiBieSBhIG5lc3RlZCBjb25maWd1cmF0aW9uIGZpbGUuCi0KLSAgICAg
IEV4YW1wbGUgZmlsZToKLSAgICAgICAgZmlsdGVyPS1idWlsZC9pbmNsdWRlX29yZGVyLCtidWls
ZC9pbmNsdWRlX2FscGhhCi0gICAgICAgIGV4Y2x1ZGVfZmlsZXM9LipcLmNjCi0KLSAgICBUaGUg
YWJvdmUgZXhhbXBsZSBkaXNhYmxlcyBidWlsZC9pbmNsdWRlX29yZGVyIHdhcm5pbmcgYW5kIGVu
YWJsZXMKLSAgICBidWlsZC9pbmNsdWRlX2FscGhhIGFzIHdlbGwgYXMgZXhjbHVkZXMgYWxsIC5j
YyBmcm9tIGJlaW5nCi0gICAgcHJvY2Vzc2VkIGJ5IGxpbnRlciwgaW4gdGhlIGN1cnJlbnQgZGly
ZWN0b3J5ICh3aGVyZSB0aGUgLmNmZwotICAgIGZpbGUgaXMgbG9jYXRlZCkgYW5kIGFsbCBzdWIt
ZGlyZWN0b3JpZXMuCiAiIiIKIAogIyBXZSBjYXRlZ29yaXplIGVhY2ggZXJyb3IgbWVzc2FnZSB3
ZSBwcmludC4gIEhlcmUgYXJlIHRoZSBjYXRlZ29yaWVzLgpAQCAtMjAyLDEwMSArMTQwLDgxIEBA
IFN5bnRheDogY3BwbGludC5weSBbLS12ZXJib3NlPSNdIFstLW91dHB1dD12czddIFstLWZpbHRl
cj0teCwreSwuLi5dCiAjIElmIHlvdSBhZGQgYSBuZXcgZXJyb3IgbWVzc2FnZSB3aXRoIGEgbmV3
IGNhdGVnb3J5LCBhZGQgaXQgdG8gdGhlIGxpc3QKICMgaGVyZSEgIGNwcGxpbnRfdW5pdHRlc3Qu
cHkgc2hvdWxkIHRlbGwgeW91IGlmIHlvdSBmb3JnZXQgdG8gZG8gdGhpcy4KIF9FUlJPUl9DQVRF
R09SSUVTID0gWwotICAgICdidWlsZC9jbGFzcycsCi0gICAgJ2J1aWxkL2MrKzExJywKLSAgICAn
YnVpbGQvYysrMTQnLAotICAgICdidWlsZC9jKyt0cjEnLAotICAgICdidWlsZC9kZXByZWNhdGVk
JywKLSAgICAnYnVpbGQvZW5kaWZfY29tbWVudCcsCi0gICAgJ2J1aWxkL2V4cGxpY2l0X21ha2Vf
cGFpcicsCi0gICAgJ2J1aWxkL2ZvcndhcmRfZGVjbCcsCi0gICAgJ2J1aWxkL2hlYWRlcl9ndWFy
ZCcsCi0gICAgJ2J1aWxkL2luY2x1ZGUnLAotICAgICdidWlsZC9pbmNsdWRlX2FscGhhJywKLSAg
ICAnYnVpbGQvaW5jbHVkZV9vcmRlcicsCi0gICAgJ2J1aWxkL2luY2x1ZGVfd2hhdF95b3VfdXNl
JywKLSAgICAnYnVpbGQvbmFtZXNwYWNlcycsCi0gICAgJ2J1aWxkL3ByaW50Zl9mb3JtYXQnLAot
ICAgICdidWlsZC9zdG9yYWdlX2NsYXNzJywKLSAgICAnbGVnYWwvY29weXJpZ2h0JywKLSAgICAn
cmVhZGFiaWxpdHkvYWx0X3Rva2VucycsCi0gICAgJ3JlYWRhYmlsaXR5L2JyYWNlcycsCi0gICAg
J3JlYWRhYmlsaXR5L2Nhc3RpbmcnLAotICAgICdyZWFkYWJpbGl0eS9jaGVjaycsCi0gICAgJ3Jl
YWRhYmlsaXR5L2NvbnN0cnVjdG9ycycsCi0gICAgJ3JlYWRhYmlsaXR5L2ZuX3NpemUnLAotICAg
ICdyZWFkYWJpbGl0eS9pbmhlcml0YW5jZScsCi0gICAgJ3JlYWRhYmlsaXR5L211bHRpbGluZV9j
b21tZW50JywKLSAgICAncmVhZGFiaWxpdHkvbXVsdGlsaW5lX3N0cmluZycsCi0gICAgJ3JlYWRh
YmlsaXR5L25hbWVzcGFjZScsCi0gICAgJ3JlYWRhYmlsaXR5L25vbGludCcsCi0gICAgJ3JlYWRh
YmlsaXR5L251bCcsCi0gICAgJ3JlYWRhYmlsaXR5L3N0cmluZ3MnLAotICAgICdyZWFkYWJpbGl0
eS90b2RvJywKLSAgICAncmVhZGFiaWxpdHkvdXRmOCcsCi0gICAgJ3J1bnRpbWUvYXJyYXlzJywK
LSAgICAncnVudGltZS9jYXN0aW5nJywKLSAgICAncnVudGltZS9leHBsaWNpdCcsCi0gICAgJ3J1
bnRpbWUvaW50JywKLSAgICAncnVudGltZS9pbml0JywKLSAgICAncnVudGltZS9pbnZhbGlkX2lu
Y3JlbWVudCcsCi0gICAgJ3J1bnRpbWUvbWVtYmVyX3N0cmluZ19yZWZlcmVuY2VzJywKLSAgICAn
cnVudGltZS9tZW1zZXQnLAotICAgICdydW50aW1lL2luZGVudGF0aW9uX25hbWVzcGFjZScsCi0g
ICAgJ3J1bnRpbWUvb3BlcmF0b3InLAotICAgICdydW50aW1lL3ByaW50ZicsCi0gICAgJ3J1bnRp
bWUvcHJpbnRmX2Zvcm1hdCcsCi0gICAgJ3J1bnRpbWUvcmVmZXJlbmNlcycsCi0gICAgJ3J1bnRp
bWUvc3RyaW5nJywKLSAgICAncnVudGltZS90aHJlYWRzYWZlX2ZuJywKLSAgICAncnVudGltZS92
bG9nJywKLSAgICAnd2hpdGVzcGFjZS9ibGFua19saW5lJywKLSAgICAnd2hpdGVzcGFjZS9icmFj
ZXMnLAotICAgICd3aGl0ZXNwYWNlL2NvbW1hJywKLSAgICAnd2hpdGVzcGFjZS9jb21tZW50cycs
Ci0gICAgJ3doaXRlc3BhY2UvZW1wdHlfY29uZGl0aW9uYWxfYm9keScsCi0gICAgJ3doaXRlc3Bh
Y2UvZW1wdHlfaWZfYm9keScsCi0gICAgJ3doaXRlc3BhY2UvZW1wdHlfbG9vcF9ib2R5JywKLSAg
ICAnd2hpdGVzcGFjZS9lbmRfb2ZfbGluZScsCi0gICAgJ3doaXRlc3BhY2UvZW5kaW5nX25ld2xp
bmUnLAotICAgICd3aGl0ZXNwYWNlL2ZvcmNvbG9uJywKLSAgICAnd2hpdGVzcGFjZS9pbmRlbnQn
LAotICAgICd3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoJywKLSAgICAnd2hpdGVzcGFjZS9uZXdsaW5l
JywKLSAgICAnd2hpdGVzcGFjZS9vcGVyYXRvcnMnLAotICAgICd3aGl0ZXNwYWNlL3BhcmVucycs
Ci0gICAgJ3doaXRlc3BhY2Uvc2VtaWNvbG9uJywKLSAgICAnd2hpdGVzcGFjZS90YWInLAotICAg
ICd3aGl0ZXNwYWNlL3RvZG8nLAotICAgIF0KLQotIyBUaGVzZSBlcnJvciBjYXRlZ29yaWVzIGFy
ZSBubyBsb25nZXIgZW5mb3JjZWQgYnkgY3BwbGludCwgYnV0IGZvciBiYWNrd2FyZHMtCi0jIGNv
bXBhdGliaWxpdHkgdGhleSBtYXkgc3RpbGwgYXBwZWFyIGluIE5PTElOVCBjb21tZW50cy4KLV9M
RUdBQ1lfRVJST1JfQ0FURUdPUklFUyA9IFsKLSAgICAncmVhZGFiaWxpdHkvc3RyZWFtcycsCi0g
ICAgJ3JlYWRhYmlsaXR5L2Z1bmN0aW9uJywKLSAgICBdCi0KLSMgVGhlIGRlZmF1bHQgc3RhdGUg
b2YgdGhlIGNhdGVnb3J5IGZpbHRlci4gVGhpcyBpcyBvdmVycmlkZGVuIGJ5IHRoZSAtLWZpbHRl
cj0KKyAgJ2J1aWxkL2NsYXNzJywKKyAgJ2J1aWxkL2RlcHJlY2F0ZWQnLAorICAnYnVpbGQvZW5k
aWZfY29tbWVudCcsCisgICdidWlsZC9leHBsaWNpdF9tYWtlX3BhaXInLAorICAnYnVpbGQvZm9y
d2FyZF9kZWNsJywKKyAgJ2J1aWxkL2hlYWRlcl9ndWFyZCcsCisgICdidWlsZC9pbmNsdWRlJywK
KyAgJ2J1aWxkL2luY2x1ZGVfYWxwaGEnLAorICAnYnVpbGQvaW5jbHVkZV9vcmRlcicsCisgICdi
dWlsZC9pbmNsdWRlX3doYXRfeW91X3VzZScsCisgICdidWlsZC9uYW1lc3BhY2VzJywKKyAgJ2J1
aWxkL3ByaW50Zl9mb3JtYXQnLAorICAnYnVpbGQvc3RvcmFnZV9jbGFzcycsCisgICdsZWdhbC9j
b3B5cmlnaHQnLAorICAncmVhZGFiaWxpdHkvYWx0X3Rva2VucycsCisgICdyZWFkYWJpbGl0eS9i
cmFjZXMnLAorICAncmVhZGFiaWxpdHkvY2FzdGluZycsCisgICdyZWFkYWJpbGl0eS9jaGVjaycs
CisgICdyZWFkYWJpbGl0eS9jb25zdHJ1Y3RvcnMnLAorICAncmVhZGFiaWxpdHkvZm5fc2l6ZScs
CisgICdyZWFkYWJpbGl0eS9mdW5jdGlvbicsCisgICdyZWFkYWJpbGl0eS9tdWx0aWxpbmVfY29t
bWVudCcsCisgICdyZWFkYWJpbGl0eS9tdWx0aWxpbmVfc3RyaW5nJywKKyAgJ3JlYWRhYmlsaXR5
L25hbWVzcGFjZScsCisgICdyZWFkYWJpbGl0eS9ub2xpbnQnLAorICAncmVhZGFiaWxpdHkvbnVs
JywKKyAgJ3JlYWRhYmlsaXR5L3N0cmVhbXMnLAorICAncmVhZGFiaWxpdHkvdG9kbycsCisgICdy
ZWFkYWJpbGl0eS91dGY4JywKKyAgJ3J1bnRpbWUvYXJyYXlzJywKKyAgJ3J1bnRpbWUvY2FzdGlu
ZycsCisgICdydW50aW1lL2V4cGxpY2l0JywKKyAgJ3J1bnRpbWUvaW50JywKKyAgJ3J1bnRpbWUv
aW5pdCcsCisgICdydW50aW1lL2ludmFsaWRfaW5jcmVtZW50JywKKyAgJ3J1bnRpbWUvbWVtYmVy
X3N0cmluZ19yZWZlcmVuY2VzJywKKyAgJ3J1bnRpbWUvbWVtc2V0JywKKyAgJ3J1bnRpbWUvb3Bl
cmF0b3InLAorICAncnVudGltZS9wcmludGYnLAorICAncnVudGltZS9wcmludGZfZm9ybWF0JywK
KyAgJ3J1bnRpbWUvcmVmZXJlbmNlcycsCisgICdydW50aW1lL3NpemVvZicsCisgICdydW50aW1l
L3N0cmluZycsCisgICdydW50aW1lL3RocmVhZHNhZmVfZm4nLAorICAncnVudGltZS92bG9nJywK
KyAgJ3doaXRlc3BhY2UvYmxhbmtfbGluZScsCisgICd3aGl0ZXNwYWNlL2JyYWNlcycsCisgICd3
aGl0ZXNwYWNlL2NvbW1hJywKKyAgJ3doaXRlc3BhY2UvY29tbWVudHMnLAorICAnd2hpdGVzcGFj
ZS9lbXB0eV9jb25kaXRpb25hbF9ib2R5JywKKyAgJ3doaXRlc3BhY2UvZW1wdHlfbG9vcF9ib2R5
JywKKyAgJ3doaXRlc3BhY2UvZW5kX29mX2xpbmUnLAorICAnd2hpdGVzcGFjZS9lbmRpbmdfbmV3
bGluZScsCisgICd3aGl0ZXNwYWNlL2ZvcmNvbG9uJywKKyAgJ3doaXRlc3BhY2UvaW5kZW50JywK
KyAgJ3doaXRlc3BhY2UvbGluZV9sZW5ndGgnLAorICAnd2hpdGVzcGFjZS9uZXdsaW5lJywKKyAg
J3doaXRlc3BhY2Uvb3BlcmF0b3JzJywKKyAgJ3doaXRlc3BhY2UvcGFyZW5zJywKKyAgJ3doaXRl
c3BhY2Uvc2VtaWNvbG9uJywKKyAgJ3doaXRlc3BhY2UvdGFiJywKKyAgJ3doaXRlc3BhY2UvdG9k
bycKKyAgXQorCisjIFRoZSBkZWZhdWx0IHN0YXRlIG9mIHRoZSBjYXRlZ29yeSBmaWx0ZXIuIFRo
aXMgaXMgb3ZlcnJpZGVkIGJ5IHRoZSAtLWZpbHRlcj0KICMgZmxhZy4gQnkgZGVmYXVsdCBhbGwg
ZXJyb3JzIGFyZSBvbiwgc28gb25seSBhZGQgaGVyZSBjYXRlZ29yaWVzIHRoYXQgc2hvdWxkIGJl
CiAjIG9mZiBieSBkZWZhdWx0IChpLmUuLCBjYXRlZ29yaWVzIHRoYXQgbXVzdCBiZSBlbmFibGVk
IGJ5IHRoZSAtLWZpbHRlcj0gZmxhZ3MpLgogIyBBbGwgZW50cmllcyBoZXJlIHNob3VsZCBzdGFy
dCB3aXRoIGEgJy0nIG9yICcrJywgYXMgaW4gdGhlIC0tZmlsdGVyPSBmbGFnLgogX0RFRkFVTFRf
RklMVEVSUyA9IFsnLWJ1aWxkL2luY2x1ZGVfYWxwaGEnXQogCi0jIFRoZSBkZWZhdWx0IGxpc3Qg
b2YgY2F0ZWdvcmllcyBzdXBwcmVzc2VkIGZvciBDIChub3QgQysrKSBmaWxlcy4KLV9ERUZBVUxU
X0NfU1VQUFJFU1NFRF9DQVRFR09SSUVTID0gWwotICAgICdyZWFkYWJpbGl0eS9jYXN0aW5nJywK
LSAgICBdCi0KLSMgVGhlIGRlZmF1bHQgbGlzdCBvZiBjYXRlZ29yaWVzIHN1cHByZXNzZWQgZm9y
IExpbnV4IEtlcm5lbCBmaWxlcy4KLV9ERUZBVUxUX0tFUk5FTF9TVVBQUkVTU0VEX0NBVEVHT1JJ
RVMgPSBbCi0gICAgJ3doaXRlc3BhY2UvdGFiJywKLSAgICBdCi0KICMgV2UgdXNlZCB0byBjaGVj
ayBmb3IgaGlnaC1iaXQgY2hhcmFjdGVycywgYnV0IGFmdGVyIG11Y2ggZGlzY3Vzc2lvbiB3ZQog
IyBkZWNpZGVkIHRob3NlIHdlcmUgT0ssIGFzIGxvbmcgYXMgdGhleSB3ZXJlIGluIFVURi04IGFu
ZCBkaWRuJ3QgcmVwcmVzZW50CiAjIGhhcmQtY29kZWQgaW50ZXJuYXRpb25hbCBzdHJpbmdzLCB3
aGljaCBiZWxvbmcgaW4gYSBzZXBhcmF0ZSBpMThuIGZpbGUuCiAKKwogIyBDKysgaGVhZGVycwog
X0NQUF9IRUFERVJTID0gZnJvemVuc2V0KFsKICAgICAjIExlZ2FjeQpAQCAtMzg2LDcgKzMwNCw2
IEBAIF9DUFBfSEVBREVSUyA9IGZyb3plbnNldChbCiAgICAgJ3JhbmRvbScsCiAgICAgJ3JhdGlv
JywKICAgICAncmVnZXgnLAotICAgICdzY29wZWRfYWxsb2NhdG9yJywKICAgICAnc2V0JywKICAg
ICAnc3N0cmVhbScsCiAgICAgJ3N0YWNrJywKQEAgLTQzNCw0MCArMzUxLDE1IEBAIF9DUFBfSEVB
REVSUyA9IGZyb3plbnNldChbCiAgICAgJ2N3Y3R5cGUnLAogICAgIF0pCiAKLSMgVHlwZSBuYW1l
cwotX1RZUEVTID0gcmUuY29tcGlsZSgKLSAgICByJ14oPzonCi0gICAgIyBbZGNsLnR5cGUuc2lt
cGxlXQotICAgIHInKGNoYXIoMTZfdHwzMl90KT8pfHdjaGFyX3R8JwotICAgIHInYm9vbHxzaG9y
dHxpbnR8bG9uZ3xzaWduZWR8dW5zaWduZWR8ZmxvYXR8ZG91YmxlfCcKLSAgICAjIFtzdXBwb3J0
LnR5cGVzXQotICAgIHInKHB0cmRpZmZfdHxzaXplX3R8bWF4X2FsaWduX3R8bnVsbHB0cl90KXwn
Ci0gICAgIyBbY3N0ZGludC5zeW5dCi0gICAgcicodT9pbnQoX2Zhc3R8X2xlYXN0KT8oOHwxNnwz
Mnw2NClfdCl8JwotICAgIHInKHU/aW50KG1heHxwdHIpX3QpfCcKLSAgICByJykkJykKLQotCi0j
IFRoZXNlIGhlYWRlcnMgYXJlIGV4Y2x1ZGVkIGZyb20gW2J1aWxkL2luY2x1ZGVdIGFuZCBbYnVp
bGQvaW5jbHVkZV9vcmRlcl0KLSMgY2hlY2tzOgotIyAtIEFueXRoaW5nIG5vdCBmb2xsb3dpbmcg
Z29vZ2xlIGZpbGUgbmFtZSBjb252ZW50aW9ucyAoY29udGFpbmluZyBhbgotIyAgIHVwcGVyY2Fz
ZSBjaGFyYWN0ZXIsIHN1Y2ggYXMgUHl0aG9uLmggb3IgbnNTdHJpbmdBUEkuaCwgZm9yIGV4YW1w
bGUpLgotIyAtIEx1YSBoZWFkZXJzLgotX1RISVJEX1BBUlRZX0hFQURFUlNfUEFUVEVSTiA9IHJl
LmNvbXBpbGUoCi0gICAgcideKD86W14vXSpbQS1aXVteL10qXC5ofGx1YVwuaHxsYXV4bGliXC5o
fGx1YWxpYlwuaCkkJykKLQotIyBQYXR0ZXJuIGZvciBtYXRjaGluZyBGaWxlSW5mby5CYXNlTmFt
ZSgpIGFnYWluc3QgdGVzdCBmaWxlIG5hbWUKLV9URVNUX0ZJTEVfU1VGRklYID0gcicoX3Rlc3R8
X3VuaXR0ZXN0fF9yZWd0ZXN0KSQnCi0KLSMgUGF0dGVybiB0aGF0IG1hdGNoZXMgb25seSBjb21w
bGV0ZSB3aGl0ZXNwYWNlLCBwb3NzaWJseSBhY3Jvc3MgbXVsdGlwbGUgbGluZXMuCi1fRU1QVFlf
Q09ORElUSU9OQUxfQk9EWV9QQVRURVJOID0gcmUuY29tcGlsZShyJ15ccyokJywgcmUuRE9UQUxM
KQotCiAjIEFzc2VydGlvbiBtYWNyb3MuICBUaGVzZSBhcmUgZGVmaW5lZCBpbiBiYXNlL2xvZ2dp
bmcuaCBhbmQKLSMgdGVzdGluZy9iYXNlL3B1YmxpYy9ndW5pdC5oLgorIyB0ZXN0aW5nL2Jhc2Uv
Z3VuaXQuaC4gIE5vdGUgdGhhdCB0aGUgX00gdmVyc2lvbnMgbmVlZCB0byBjb21lIGZpcnN0Cisj
IGZvciBzdWJzdHJpbmcgbWF0Y2hpbmcgdG8gd29yay4KIF9DSEVDS19NQUNST1MgPSBbCiAgICAg
J0RDSEVDSycsICdDSEVDSycsCi0gICAgJ0VYUEVDVF9UUlVFJywgJ0FTU0VSVF9UUlVFJywKLSAg
ICAnRVhQRUNUX0ZBTFNFJywgJ0FTU0VSVF9GQUxTRScsCisgICAgJ0VYUEVDVF9UUlVFX00nLCAn
RVhQRUNUX1RSVUUnLAorICAgICdBU1NFUlRfVFJVRV9NJywgJ0FTU0VSVF9UUlVFJywKKyAgICAn
RVhQRUNUX0ZBTFNFX00nLCAnRVhQRUNUX0ZBTFNFJywKKyAgICAnQVNTRVJUX0ZBTFNFX00nLCAn
QVNTRVJUX0ZBTFNFJywKICAgICBdCiAKICMgUmVwbGFjZW1lbnQgbWFjcm9zIGZvciBDSEVDSy9E
Q0hFQ0svRVhQRUNUX1RSVUUvRVhQRUNUX0ZBTFNFCkBAIC00ODAsMTIgKzM3MiwxNiBAQCBmb3Ig
b3AsIHJlcGxhY2VtZW50IGluIFsoJz09JywgJ0VRJyksICgnIT0nLCAnTkUnKSwKICAgX0NIRUNL
X1JFUExBQ0VNRU5UWydDSEVDSyddW29wXSA9ICdDSEVDS18lcycgJSByZXBsYWNlbWVudAogICBf
Q0hFQ0tfUkVQTEFDRU1FTlRbJ0VYUEVDVF9UUlVFJ11bb3BdID0gJ0VYUEVDVF8lcycgJSByZXBs
YWNlbWVudAogICBfQ0hFQ0tfUkVQTEFDRU1FTlRbJ0FTU0VSVF9UUlVFJ11bb3BdID0gJ0FTU0VS
VF8lcycgJSByZXBsYWNlbWVudAorICBfQ0hFQ0tfUkVQTEFDRU1FTlRbJ0VYUEVDVF9UUlVFX00n
XVtvcF0gPSAnRVhQRUNUXyVzX00nICUgcmVwbGFjZW1lbnQKKyAgX0NIRUNLX1JFUExBQ0VNRU5U
WydBU1NFUlRfVFJVRV9NJ11bb3BdID0gJ0FTU0VSVF8lc19NJyAlIHJlcGxhY2VtZW50CiAKIGZv
ciBvcCwgaW52X3JlcGxhY2VtZW50IGluIFsoJz09JywgJ05FJyksICgnIT0nLCAnRVEnKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoJz49JywgJ0xUJyksICgnPicsICdMRScpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICgnPD0nLCAnR1QnKSwgKCc8JywgJ0dFJyldOgogICBf
Q0hFQ0tfUkVQTEFDRU1FTlRbJ0VYUEVDVF9GQUxTRSddW29wXSA9ICdFWFBFQ1RfJXMnICUgaW52
X3JlcGxhY2VtZW50CiAgIF9DSEVDS19SRVBMQUNFTUVOVFsnQVNTRVJUX0ZBTFNFJ11bb3BdID0g
J0FTU0VSVF8lcycgJSBpbnZfcmVwbGFjZW1lbnQKKyAgX0NIRUNLX1JFUExBQ0VNRU5UWydFWFBF
Q1RfRkFMU0VfTSddW29wXSA9ICdFWFBFQ1RfJXNfTScgJSBpbnZfcmVwbGFjZW1lbnQKKyAgX0NI
RUNLX1JFUExBQ0VNRU5UWydBU1NFUlRfRkFMU0VfTSddW29wXSA9ICdBU1NFUlRfJXNfTScgJSBp
bnZfcmVwbGFjZW1lbnQKIAogIyBBbHRlcm5hdGl2ZSB0b2tlbnMgYW5kIHRoZWlyIHJlcGxhY2Vt
ZW50cy4gIEZvciBmdWxsIGxpc3QsIHNlZSBzZWN0aW9uIDIuNQogIyBBbHRlcm5hdGl2ZSB0b2tl
bnMgW2xleC5kaWdyYXBoXSBpbiB0aGUgQysrIHN0YW5kYXJkLgpAQCAtNTM0LDE1ICs0MzAsMTIg
QEAgX01BVENIX0FTTSA9IHJlLmNvbXBpbGUocideXHMqKD86YXNtfF9hc218X19hc218X19hc21f
XyknCiAgICAgICAgICAgICAgICAgICAgICAgICByJyg/OlxzKyh2b2xhdGlsZXxfX3ZvbGF0aWxl
X18pKT8nCiAgICAgICAgICAgICAgICAgICAgICAgICByJ1xzKlt7KF0nKQogCi0jIE1hdGNoIHN0
cmluZ3MgdGhhdCBpbmRpY2F0ZSB3ZSdyZSB3b3JraW5nIG9uIGEgQyAobm90IEMrKykgZmlsZS4K
LV9TRUFSQ0hfQ19GSUxFID0gcmUuY29tcGlsZShyJ1xiKD86TElOVF9DX0ZJTEV8JwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHIndmltPzpccyouKihccyp8OilmaWxldHlwZT1jKFxzKnw6
fCQpKScpCi0KLSMgTWF0Y2ggc3RyaW5nIHRoYXQgaW5kaWNhdGVzIHdlJ3JlIHdvcmtpbmcgb24g
YSBMaW51eCBLZXJuZWwgZmlsZS4KLV9TRUFSQ0hfS0VSTkVMX0ZJTEUgPSByZS5jb21waWxlKHIn
XGIoPzpMSU5UX0tFUk5FTF9GSUxFKScpCiAKIF9yZWdleHBfY29tcGlsZV9jYWNoZSA9IHt9CiAK
KyMgRmluZHMgb2NjdXJyZW5jZXMgb2YgTk9MSU5UIG9yIE5PTElOVCguLi4pLgorX1JFX1NVUFBS
RVNTSU9OID0gcmUuY29tcGlsZShyJ1xiTk9MSU5UXGIoXChbXildKlwpKT8nKQorCiAjIHtzdHIs
IHNldChpbnQpfTogYSBtYXAgZnJvbSBlcnJvciBjYXRlZ29yaWVzIHRvIHNldHMgb2YgbGluZW51
bWJlcnMKICMgb24gd2hpY2ggdGhvc2UgZXJyb3JzIGFyZSBleHBlY3RlZCBhbmQgc2hvdWxkIGJl
IHN1cHByZXNzZWQuCiBfZXJyb3Jfc3VwcHJlc3Npb25zID0ge30KQEAgLTU1MCw3ICs0NDMsNiBA
QCBfZXJyb3Jfc3VwcHJlc3Npb25zID0ge30KICMgVGhlIHJvb3QgZGlyZWN0b3J5IHVzZWQgZm9y
IGRlcml2aW5nIGhlYWRlciBndWFyZCBDUFAgdmFyaWFibGUuCiAjIFRoaXMgaXMgc2V0IGJ5IC0t
cm9vdCBmbGFnLgogX3Jvb3QgPSBOb25lCi1fcm9vdF9kZWJ1ZyA9IEZhbHNlCiAKICMgVGhlIGFs
bG93ZWQgbGluZSBsZW5ndGggb2YgZmlsZXMuCiAjIFRoaXMgaXMgc2V0IGJ5IC0tbGluZWxlbmd0
aCBmbGFnLgpAQCAtNTYwLDI4ICs0NTIsOCBAQCBfbGluZV9sZW5ndGggPSA4MAogIyBUaGlzIGlz
IHNldCBieSAtLWV4dGVuc2lvbnMgZmxhZy4KIF92YWxpZF9leHRlbnNpb25zID0gc2V0KFsnY2Mn
LCAnaCcsICdjcHAnLCAnY3UnLCAnY3VoJ10pCiAKLSMgVHJlYXQgYWxsIGhlYWRlcnMgc3RhcnRp
bmcgd2l0aCAnaCcgZXF1YWxseTogLmgsIC5ocHAsIC5oeHggZXRjLgotIyBUaGlzIGlzIHNldCBi
eSAtLWhlYWRlcnMgZmxhZy4KLV9ocHBfaGVhZGVycyA9IHNldChbJ2gnXSkKLQotIyB7c3RyLCBi
b29sfTogYSBtYXAgZnJvbSBlcnJvciBjYXRlZ29yaWVzIHRvIGJvb2xlYW5zIHdoaWNoIGluZGlj
YXRlIGlmIHRoZQotIyBjYXRlZ29yeSBzaG91bGQgYmUgc3VwcHJlc3NlZCBmb3IgZXZlcnkgbGlu
ZS4KLV9nbG9iYWxfZXJyb3Jfc3VwcHJlc3Npb25zID0ge30KLQotZGVmIFByb2Nlc3NIcHBIZWFk
ZXJzT3B0aW9uKHZhbCk6Ci0gIGdsb2JhbCBfaHBwX2hlYWRlcnMKLSAgdHJ5OgotICAgIF9ocHBf
aGVhZGVycyA9IHNldCh2YWwuc3BsaXQoJywnKSkKLSAgICAjIEF1dG9tYXRpY2FsbHkgYXBwZW5k
IHRvIGV4dGVuc2lvbnMgbGlzdCBzbyBpdCBkb2VzIG5vdCBoYXZlIHRvIGJlIHNldCAyIHRpbWVz
Ci0gICAgX3ZhbGlkX2V4dGVuc2lvbnMudXBkYXRlKF9ocHBfaGVhZGVycykKLSAgZXhjZXB0IFZh
bHVlRXJyb3I6Ci0gICAgUHJpbnRVc2FnZSgnSGVhZGVyIGV4dGVuc2lvbnMgbXVzdCBiZSBjb21t
YSBzZXBhcmF0ZWQgbGlzdC4nKQotCi1kZWYgSXNIZWFkZXJFeHRlbnNpb24oZmlsZV9leHRlbnNp
b24pOgotICByZXR1cm4gZmlsZV9leHRlbnNpb24gaW4gX2hwcF9oZWFkZXJzCi0KIGRlZiBQYXJz
ZU5vbGludFN1cHByZXNzaW9ucyhmaWxlbmFtZSwgcmF3X2xpbmUsIGxpbmVudW0sIGVycm9yKToK
LSAgIiIiVXBkYXRlcyB0aGUgZ2xvYmFsIGxpc3Qgb2YgbGluZSBlcnJvci1zdXBwcmVzc2lvbnMu
CisgICIiIlVwZGF0ZXMgdGhlIGdsb2JhbCBsaXN0IG9mIGVycm9yLXN1cHByZXNzaW9ucy4KIAog
ICBQYXJzZXMgYW55IE5PTElOVCBjb21tZW50cyBvbiB0aGUgY3VycmVudCBsaW5lLCB1cGRhdGlu
ZyB0aGUgZ2xvYmFsCiAgIGVycm9yX3N1cHByZXNzaW9ucyBzdG9yZS4gIFJlcG9ydHMgYW4gZXJy
b3IgaWYgdGhlIE5PTElOVCBjb21tZW50CkBAIC01OTMsNjcgKzQ2NSw0MiBAQCBkZWYgUGFyc2VO
b2xpbnRTdXBwcmVzc2lvbnMoZmlsZW5hbWUsIHJhd19saW5lLCBsaW5lbnVtLCBlcnJvcik6CiAg
ICAgbGluZW51bTogaW50LCB0aGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgZXJy
b3I6IGZ1bmN0aW9uLCBhbiBlcnJvciBoYW5kbGVyLgogICAiIiIKLSAgbWF0Y2hlZCA9IFNlYXJj
aChyJ1xiTk9MSU5UKE5FWFRMSU5FKT9cYihcKFteKV0rXCkpPycsIHJhd19saW5lKQorICAjIEZJ
WE1FKGFkb25vdmFuKTogIk5PTElOVCgiIGlzIG1pc3BhcnNlZCBhcyBOT0xJTlQoKikuCisgIG1h
dGNoZWQgPSBfUkVfU1VQUFJFU1NJT04uc2VhcmNoKHJhd19saW5lKQogICBpZiBtYXRjaGVkOgot
ICAgIGlmIG1hdGNoZWQuZ3JvdXAoMSk6Ci0gICAgICBzdXBwcmVzc2VkX2xpbmUgPSBsaW5lbnVt
ICsgMQotICAgIGVsc2U6Ci0gICAgICBzdXBwcmVzc2VkX2xpbmUgPSBsaW5lbnVtCi0gICAgY2F0
ZWdvcnkgPSBtYXRjaGVkLmdyb3VwKDIpCisgICAgY2F0ZWdvcnkgPSBtYXRjaGVkLmdyb3VwKDEp
CiAgICAgaWYgY2F0ZWdvcnkgaW4gKE5vbmUsICcoKiknKTogICMgPT4gInN1cHByZXNzIGFsbCIK
LSAgICAgIF9lcnJvcl9zdXBwcmVzc2lvbnMuc2V0ZGVmYXVsdChOb25lLCBzZXQoKSkuYWRkKHN1
cHByZXNzZWRfbGluZSkKKyAgICAgIF9lcnJvcl9zdXBwcmVzc2lvbnMuc2V0ZGVmYXVsdChOb25l
LCBzZXQoKSkuYWRkKGxpbmVudW0pCiAgICAgZWxzZToKICAgICAgIGlmIGNhdGVnb3J5LnN0YXJ0
c3dpdGgoJygnKSBhbmQgY2F0ZWdvcnkuZW5kc3dpdGgoJyknKToKICAgICAgICAgY2F0ZWdvcnkg
PSBjYXRlZ29yeVsxOi0xXQogICAgICAgICBpZiBjYXRlZ29yeSBpbiBfRVJST1JfQ0FURUdPUklF
UzoKLSAgICAgICAgICBfZXJyb3Jfc3VwcHJlc3Npb25zLnNldGRlZmF1bHQoY2F0ZWdvcnksIHNl
dCgpKS5hZGQoc3VwcHJlc3NlZF9saW5lKQotICAgICAgICBlbGlmIGNhdGVnb3J5IG5vdCBpbiBf
TEVHQUNZX0VSUk9SX0NBVEVHT1JJRVM6CisgICAgICAgICAgX2Vycm9yX3N1cHByZXNzaW9ucy5z
ZXRkZWZhdWx0KGNhdGVnb3J5LCBzZXQoKSkuYWRkKGxpbmVudW0pCisgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdyZWFkYWJpbGl0eS9ub2xpbnQnLCA1
LAogICAgICAgICAgICAgICAgICdVbmtub3duIE5PTElOVCBlcnJvciBjYXRlZ29yeTogJXMnICUg
Y2F0ZWdvcnkpCiAKIAotZGVmIFByb2Nlc3NHbG9iYWxTdXBwcmVzaW9ucyhsaW5lcyk6Ci0gICIi
IlVwZGF0ZXMgdGhlIGxpc3Qgb2YgZ2xvYmFsIGVycm9yIHN1cHByZXNzaW9ucy4KLQotICBQYXJz
ZXMgYW55IGxpbnQgZGlyZWN0aXZlcyBpbiB0aGUgZmlsZSB0aGF0IGhhdmUgZ2xvYmFsIGVmZmVj
dC4KLQotICBBcmdzOgotICAgIGxpbmVzOiBBbiBhcnJheSBvZiBzdHJpbmdzLCBlYWNoIHJlcHJl
c2VudGluZyBhIGxpbmUgb2YgdGhlIGZpbGUsIHdpdGggdGhlCi0gICAgICAgICAgIGxhc3QgZWxl
bWVudCBiZWluZyBlbXB0eSBpZiB0aGUgZmlsZSBpcyB0ZXJtaW5hdGVkIHdpdGggYSBuZXdsaW5l
LgotICAiIiIKLSAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgaWYgX1NFQVJDSF9DX0ZJTEUuc2Vh
cmNoKGxpbmUpOgotICAgICAgZm9yIGNhdGVnb3J5IGluIF9ERUZBVUxUX0NfU1VQUFJFU1NFRF9D
QVRFR09SSUVTOgotICAgICAgICBfZ2xvYmFsX2Vycm9yX3N1cHByZXNzaW9uc1tjYXRlZ29yeV0g
PSBUcnVlCi0gICAgaWYgX1NFQVJDSF9LRVJORUxfRklMRS5zZWFyY2gobGluZSk6Ci0gICAgICBm
b3IgY2F0ZWdvcnkgaW4gX0RFRkFVTFRfS0VSTkVMX1NVUFBSRVNTRURfQ0FURUdPUklFUzoKLSAg
ICAgICAgX2dsb2JhbF9lcnJvcl9zdXBwcmVzc2lvbnNbY2F0ZWdvcnldID0gVHJ1ZQotCi0KIGRl
ZiBSZXNldE5vbGludFN1cHByZXNzaW9ucygpOgotICAiIiJSZXNldHMgdGhlIHNldCBvZiBOT0xJ
TlQgc3VwcHJlc3Npb25zIHRvIGVtcHR5LiIiIgorICAiUmVzZXRzIHRoZSBzZXQgb2YgTk9MSU5U
IHN1cHByZXNzaW9ucyB0byBlbXB0eS4iCiAgIF9lcnJvcl9zdXBwcmVzc2lvbnMuY2xlYXIoKQot
ICBfZ2xvYmFsX2Vycm9yX3N1cHByZXNzaW9ucy5jbGVhcigpCiAKIAogZGVmIElzRXJyb3JTdXBw
cmVzc2VkQnlOb2xpbnQoY2F0ZWdvcnksIGxpbmVudW0pOgogICAiIiJSZXR1cm5zIHRydWUgaWYg
dGhlIHNwZWNpZmllZCBlcnJvciBjYXRlZ29yeSBpcyBzdXBwcmVzc2VkIG9uIHRoaXMgbGluZS4K
IAogICBDb25zdWx0cyB0aGUgZ2xvYmFsIGVycm9yX3N1cHByZXNzaW9ucyBtYXAgcG9wdWxhdGVk
IGJ5Ci0gIFBhcnNlTm9saW50U3VwcHJlc3Npb25zL1Byb2Nlc3NHbG9iYWxTdXBwcmVzaW9ucy9S
ZXNldE5vbGludFN1cHByZXNzaW9ucy4KKyAgUGFyc2VOb2xpbnRTdXBwcmVzc2lvbnMvUmVzZXRO
b2xpbnRTdXBwcmVzc2lvbnMuCiAKICAgQXJnczoKICAgICBjYXRlZ29yeTogc3RyLCB0aGUgY2F0
ZWdvcnkgb2YgdGhlIGVycm9yLgogICAgIGxpbmVudW06IGludCwgdGhlIGN1cnJlbnQgbGluZSBu
dW1iZXIuCiAgIFJldHVybnM6Ci0gICAgYm9vbCwgVHJ1ZSBpZmYgdGhlIGVycm9yIHNob3VsZCBi
ZSBzdXBwcmVzc2VkIGR1ZSB0byBhIE5PTElOVCBjb21tZW50IG9yCi0gICAgZ2xvYmFsIHN1cHBy
ZXNzaW9uLgorICAgIGJvb2wsIFRydWUgaWZmIHRoZSBlcnJvciBzaG91bGQgYmUgc3VwcHJlc3Nl
ZCBkdWUgdG8gYSBOT0xJTlQgY29tbWVudC4KICAgIiIiCi0gIHJldHVybiAoX2dsb2JhbF9lcnJv
cl9zdXBwcmVzc2lvbnMuZ2V0KGNhdGVnb3J5LCBGYWxzZSkgb3IKLSAgICAgICAgICBsaW5lbnVt
IGluIF9lcnJvcl9zdXBwcmVzc2lvbnMuZ2V0KGNhdGVnb3J5LCBzZXQoKSkgb3IKKyAgcmV0dXJu
IChsaW5lbnVtIGluIF9lcnJvcl9zdXBwcmVzc2lvbnMuZ2V0KGNhdGVnb3J5LCBzZXQoKSkgb3IK
ICAgICAgICAgICBsaW5lbnVtIGluIF9lcnJvcl9zdXBwcmVzc2lvbnMuZ2V0KE5vbmUsIHNldCgp
KSkKIAotCiBkZWYgTWF0Y2gocGF0dGVybiwgcyk6CiAgICIiIk1hdGNoZXMgdGhlIHN0cmluZyB3
aXRoIHRoZSBwYXR0ZXJuLCBjYWNoaW5nIHRoZSBjb21waWxlZCByZWdleHAuIiIiCiAgICMgVGhl
IHJlZ2V4cCBjb21waWxhdGlvbiBjYWNoaW5nIGlzIGlubGluZWQgaW4gYm90aCBNYXRjaCBhbmQg
U2VhcmNoIGZvcgpAQCAtNjg5LDE3ICs1MzYsMTEgQEAgZGVmIFNlYXJjaChwYXR0ZXJuLCBzKToK
ICAgcmV0dXJuIF9yZWdleHBfY29tcGlsZV9jYWNoZVtwYXR0ZXJuXS5zZWFyY2gocykKIAogCi1k
ZWYgX0lzU291cmNlRXh0ZW5zaW9uKHMpOgotICAiIiJGaWxlIGV4dGVuc2lvbiAoZXhjbHVkaW5n
IGRvdCkgbWF0Y2hlcyBhIHNvdXJjZSBmaWxlIGV4dGVuc2lvbi4iIiIKLSAgcmV0dXJuIHMgaW4g
KCdjJywgJ2NjJywgJ2NwcCcsICdjeHgnKQotCi0KLWNsYXNzIF9JbmNsdWRlU3RhdGUob2JqZWN0
KToKK2NsYXNzIF9JbmNsdWRlU3RhdGUoZGljdCk6CiAgICIiIlRyYWNrcyBsaW5lIG51bWJlcnMg
Zm9yIGluY2x1ZGVzLCBhbmQgdGhlIG9yZGVyIGluIHdoaWNoIGluY2x1ZGVzIGFwcGVhci4KIAot
ICBpbmNsdWRlX2xpc3QgY29udGFpbnMgbGlzdCBvZiBsaXN0cyBvZiAoaGVhZGVyLCBsaW5lIG51
bWJlcikgcGFpcnMuCi0gIEl0J3MgYSBsaXN0cyBvZiBsaXN0cyByYXRoZXIgdGhhbiBqdXN0IG9u
ZSBmbGF0IGxpc3QgdG8gbWFrZSBpdAotICBlYXNpZXIgdG8gdXBkYXRlIGFjcm9zcyBwcmVwcm9j
ZXNzb3IgYm91bmRhcmllcy4KKyAgQXMgYSBkaWN0LCBhbiBfSW5jbHVkZVN0YXRlIG9iamVjdCBz
ZXJ2ZXMgYXMgYSBtYXBwaW5nIGJldHdlZW4gaW5jbHVkZQorICBmaWxlbmFtZSBhbmQgbGluZSBu
dW1iZXIgb24gd2hpY2ggdGhhdCBmaWxlIHdhcyBpbmNsdWRlZC4KIAogICBDYWxsIENoZWNrTmV4
dEluY2x1ZGVPcmRlcigpIG9uY2UgZm9yIGVhY2ggaGVhZGVyIGluIHRoZSBmaWxlLCBwYXNzaW5n
CiAgIGluIHRoZSB0eXBlIGNvbnN0YW50cyBkZWZpbmVkIGFib3ZlLiBDYWxscyBpbiBhbiBpbGxl
Z2FsIG9yZGVyIHdpbGwKQEAgLTczMCw0MiArNTcxLDE1IEBAIGNsYXNzIF9JbmNsdWRlU3RhdGUo
b2JqZWN0KToKICAgICAgIH0KIAogICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgc2VsZi5pbmNs
dWRlX2xpc3QgPSBbW11dCi0gICAgc2VsZi5SZXNldFNlY3Rpb24oJycpCi0KLSAgZGVmIEZpbmRI
ZWFkZXIoc2VsZiwgaGVhZGVyKToKLSAgICAiIiJDaGVjayBpZiBhIGhlYWRlciBoYXMgYWxyZWFk
eSBiZWVuIGluY2x1ZGVkLgotCi0gICAgQXJnczoKLSAgICAgIGhlYWRlcjogaGVhZGVyIHRvIGNo
ZWNrLgotICAgIFJldHVybnM6Ci0gICAgICBMaW5lIG51bWJlciBvZiBwcmV2aW91cyBvY2N1cnJl
bmNlLCBvciAtMSBpZiB0aGUgaGVhZGVyIGhhcyBub3QKLSAgICAgIGJlZW4gc2VlbiBiZWZvcmUu
Ci0gICAgIiIiCi0gICAgZm9yIHNlY3Rpb25fbGlzdCBpbiBzZWxmLmluY2x1ZGVfbGlzdDoKLSAg
ICAgIGZvciBmIGluIHNlY3Rpb25fbGlzdDoKLSAgICAgICAgaWYgZlswXSA9PSBoZWFkZXI6Ci0g
ICAgICAgICAgcmV0dXJuIGZbMV0KLSAgICByZXR1cm4gLTEKLQotICBkZWYgUmVzZXRTZWN0aW9u
KHNlbGYsIGRpcmVjdGl2ZSk6Ci0gICAgIiIiUmVzZXQgc2VjdGlvbiBjaGVja2luZyBmb3IgcHJl
cHJvY2Vzc29yIGRpcmVjdGl2ZS4KKyAgICBkaWN0Ll9faW5pdF9fKHNlbGYpCisgICAgc2VsZi5S
ZXNldFNlY3Rpb24oKQogCi0gICAgQXJnczoKLSAgICAgIGRpcmVjdGl2ZTogcHJlcHJvY2Vzc29y
IGRpcmVjdGl2ZSAoZS5nLiAiaWYiLCAiZWxzZSIpLgotICAgICIiIgorICBkZWYgUmVzZXRTZWN0
aW9uKHNlbGYpOgogICAgICMgVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgc2VjdGlvbi4KICAgICBz
ZWxmLl9zZWN0aW9uID0gc2VsZi5fSU5JVElBTF9TRUNUSU9OCiAgICAgIyBUaGUgcGF0aCBvZiBs
YXN0IGZvdW5kIGhlYWRlci4KICAgICBzZWxmLl9sYXN0X2hlYWRlciA9ICcnCiAKLSAgICAjIFVw
ZGF0ZSBsaXN0IG9mIGluY2x1ZGVzLiAgTm90ZSB0aGF0IHdlIG5ldmVyIHBvcCBmcm9tIHRoZQot
ICAgICMgaW5jbHVkZSBsaXN0LgotICAgIGlmIGRpcmVjdGl2ZSBpbiAoJ2lmJywgJ2lmZGVmJywg
J2lmbmRlZicpOgotICAgICAgc2VsZi5pbmNsdWRlX2xpc3QuYXBwZW5kKFtdKQotICAgIGVsaWYg
ZGlyZWN0aXZlIGluICgnZWxzZScsICdlbGlmJyk6Ci0gICAgICBzZWxmLmluY2x1ZGVfbGlzdFst
MV0gPSBbXQotCiAgIGRlZiBTZXRMYXN0SGVhZGVyKHNlbGYsIGhlYWRlcl9wYXRoKToKICAgICBz
ZWxmLl9sYXN0X2hlYWRlciA9IGhlYWRlcl9wYXRoCiAKQEAgLTgwMSw3ICs2MTUsNyBAQCBjbGFz
cyBfSW5jbHVkZVN0YXRlKG9iamVjdCk6CiAgICAgIyBJZiBwcmV2aW91cyBsaW5lIHdhcyBhIGJs
YW5rIGxpbmUsIGFzc3VtZSB0aGF0IHRoZSBoZWFkZXJzIGFyZQogICAgICMgaW50ZW50aW9uYWxs
eSBzb3J0ZWQgdGhlIHdheSB0aGV5IGFyZS4KICAgICBpZiAoc2VsZi5fbGFzdF9oZWFkZXIgPiBo
ZWFkZXJfcGF0aCBhbmQKLSAgICAgICAgTWF0Y2gocideXHMqI1xzKmluY2x1ZGVcYicsIGNsZWFu
X2xpbmVzLmVsaWRlZFtsaW5lbnVtIC0gMV0pKToKKyAgICAgICAgbm90IE1hdGNoKHInXlxzKiQn
LCBjbGVhbl9saW5lcy5lbGlkZWRbbGluZW51bSAtIDFdKSk6CiAgICAgICByZXR1cm4gRmFsc2UK
ICAgICByZXR1cm4gVHJ1ZQogCkBAIC04NjcsMTEgKzY4MSw4IEBAIGNsYXNzIF9DcHBMaW50U3Rh
dGUob2JqZWN0KToKICAgICBzZWxmLmVycm9yX2NvdW50ID0gMCAgICAjIGdsb2JhbCBjb3VudCBv
ZiByZXBvcnRlZCBlcnJvcnMKICAgICAjIGZpbHRlcnMgdG8gYXBwbHkgd2hlbiBlbWl0dGluZyBl
cnJvciBtZXNzYWdlcwogICAgIHNlbGYuZmlsdGVycyA9IF9ERUZBVUxUX0ZJTFRFUlNbOl0KLSAg
ICAjIGJhY2t1cCBvZiBmaWx0ZXIgbGlzdC4gVXNlZCB0byByZXN0b3JlIHRoZSBzdGF0ZSBhZnRl
ciBlYWNoIGZpbGUuCi0gICAgc2VsZi5fZmlsdGVyc19iYWNrdXAgPSBzZWxmLmZpbHRlcnNbOl0K
ICAgICBzZWxmLmNvdW50aW5nID0gJ3RvdGFsJyAgIyBJbiB3aGF0IHdheSBhcmUgd2UgY291bnRp
bmcgZXJyb3JzPwogICAgIHNlbGYuZXJyb3JzX2J5X2NhdGVnb3J5ID0ge30gICMgc3RyaW5nIHRv
IGludCBkaWN0IHN0b3JpbmcgZXJyb3IgY291bnRzCi0gICAgc2VsZi5xdWlldCA9IEZhbHNlICAj
IFN1cHByZXNzIG5vbi1lcnJvciBtZXNzYWdlc3M/CiAKICAgICAjIG91dHB1dCBmb3JtYXQ6CiAg
ICAgIyAiZW1hY3MiIC0gZm9ybWF0IHRoYXQgZW1hY3MgY2FuIHBhcnNlIChkZWZhdWx0KQpAQCAt
ODgyLDEyICs2OTMsNiBAQCBjbGFzcyBfQ3BwTGludFN0YXRlKG9iamVjdCk6CiAgICAgIiIiU2V0
cyB0aGUgb3V0cHV0IGZvcm1hdCBmb3IgZXJyb3JzLiIiIgogICAgIHNlbGYub3V0cHV0X2Zvcm1h
dCA9IG91dHB1dF9mb3JtYXQKIAotICBkZWYgU2V0UXVpZXQoc2VsZiwgcXVpZXQpOgotICAgICIi
IlNldHMgdGhlIG1vZHVsZSdzIHF1aWV0IHNldHRpbmdzLCBhbmQgcmV0dXJucyB0aGUgcHJldmlv
dXMgc2V0dGluZy4iIiIKLSAgICBsYXN0X3F1aWV0ID0gc2VsZi5xdWlldAotICAgIHNlbGYucXVp
ZXQgPSBxdWlldAotICAgIHJldHVybiBsYXN0X3F1aWV0Ci0KICAgZGVmIFNldFZlcmJvc2VMZXZl
bChzZWxmLCBsZXZlbCk6CiAgICAgIiIiU2V0cyB0aGUgbW9kdWxlJ3MgdmVyYm9zaXR5LCBhbmQg
cmV0dXJucyB0aGUgcHJldmlvdXMgc2V0dGluZy4iIiIKICAgICBsYXN0X3ZlcmJvc2VfbGV2ZWwg
PSBzZWxmLnZlcmJvc2VfbGV2ZWwKQEAgLTkxNCwxMCArNzE5LDYgQEAgY2xhc3MgX0NwcExpbnRT
dGF0ZShvYmplY3QpOgogICAgICIiIgogICAgICMgRGVmYXVsdCBmaWx0ZXJzIGFsd2F5cyBoYXZl
IGxlc3MgcHJpb3JpdHkgdGhhbiB0aGUgZmxhZyBvbmVzLgogICAgIHNlbGYuZmlsdGVycyA9IF9E
RUZBVUxUX0ZJTFRFUlNbOl0KLSAgICBzZWxmLkFkZEZpbHRlcnMoZmlsdGVycykKLQotICBkZWYg
QWRkRmlsdGVycyhzZWxmLCBmaWx0ZXJzKToKLSAgICAiIiIgQWRkcyBtb3JlIGZpbHRlcnMgdG8g
dGhlIGV4aXN0aW5nIGxpc3Qgb2YgZXJyb3ItbWVzc2FnZSBmaWx0ZXJzLiAiIiIKICAgICBmb3Ig
ZmlsdCBpbiBmaWx0ZXJzLnNwbGl0KCcsJyk6CiAgICAgICBjbGVhbl9maWx0ID0gZmlsdC5zdHJp
cCgpCiAgICAgICBpZiBjbGVhbl9maWx0OgpAQCAtOTI3LDE0ICs3MjgsNiBAQCBjbGFzcyBfQ3Bw
TGludFN0YXRlKG9iamVjdCk6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0V2ZXJ5IGZpbHRl
ciBpbiAtLWZpbHRlcnMgbXVzdCBzdGFydCB3aXRoICsgb3IgLScKICAgICAgICAgICAgICAgICAg
ICAgICAgICAnICglcyBkb2VzIG5vdCknICUgZmlsdCkKIAotICBkZWYgQmFja3VwRmlsdGVycyhz
ZWxmKToKLSAgICAiIiIgU2F2ZXMgdGhlIGN1cnJlbnQgZmlsdGVyIGxpc3QgdG8gYmFja3VwIHN0
b3JhZ2UuIiIiCi0gICAgc2VsZi5fZmlsdGVyc19iYWNrdXAgPSBzZWxmLmZpbHRlcnNbOl0KLQot
ICBkZWYgUmVzdG9yZUZpbHRlcnMoc2VsZik6Ci0gICAgIiIiIFJlc3RvcmVzIGZpbHRlcnMgcHJl
dmlvdXNseSBiYWNrZWQgdXAuIiIiCi0gICAgc2VsZi5maWx0ZXJzID0gc2VsZi5fZmlsdGVyc19i
YWNrdXBbOl0KLQogICBkZWYgUmVzZXRFcnJvckNvdW50cyhzZWxmKToKICAgICAiIiJTZXRzIHRo
ZSBtb2R1bGUncyBlcnJvciBzdGF0aXN0aWMgYmFjayB0byB6ZXJvLiIiIgogICAgIHNlbGYuZXJy
b3JfY291bnQgPSAwCkBAIC05NTUsNyArNzQ4LDcgQEAgY2xhc3MgX0NwcExpbnRTdGF0ZShvYmpl
Y3QpOgogICAgIGZvciBjYXRlZ29yeSwgY291bnQgaW4gc2VsZi5lcnJvcnNfYnlfY2F0ZWdvcnku
aXRlcml0ZW1zKCk6CiAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdDYXRlZ29yeSBcJyVzXCcgZXJy
b3JzIGZvdW5kOiAlZFxuJyAlCiAgICAgICAgICAgICAgICAgICAgICAgIChjYXRlZ29yeSwgY291
bnQpKQotICAgIHN5cy5zdGRvdXQud3JpdGUoJ1RvdGFsIGVycm9ycyBmb3VuZDogJWRcbicgJSBz
ZWxmLmVycm9yX2NvdW50KQorICAgIHN5cy5zdGRlcnIud3JpdGUoJ1RvdGFsIGVycm9ycyBmb3Vu
ZDogJWRcbicgJSBzZWxmLmVycm9yX2NvdW50KQogCiBfY3BwbGludF9zdGF0ZSA9IF9DcHBMaW50
U3RhdGUoKQogCkBAIC05NjksMTQgKzc2Miw2IEBAIGRlZiBfU2V0T3V0cHV0Rm9ybWF0KG91dHB1
dF9mb3JtYXQpOgogICAiIiJTZXRzIHRoZSBtb2R1bGUncyBvdXRwdXQgZm9ybWF0LiIiIgogICBf
Y3BwbGludF9zdGF0ZS5TZXRPdXRwdXRGb3JtYXQob3V0cHV0X2Zvcm1hdCkKIAotZGVmIF9RdWll
dCgpOgotICAiIiJSZXR1cm4ncyB0aGUgbW9kdWxlJ3MgcXVpZXQgc2V0dGluZy4iIiIKLSAgcmV0
dXJuIF9jcHBsaW50X3N0YXRlLnF1aWV0Ci0KLWRlZiBfU2V0UXVpZXQocXVpZXQpOgotICAiIiJT
ZXQgdGhlIG1vZHVsZSdzIHF1aWV0IHN0YXR1cywgYW5kIHJldHVybiBwcmV2aW91cyBzZXR0aW5n
LiIiIgotICByZXR1cm4gX2NwcGxpbnRfc3RhdGUuU2V0UXVpZXQocXVpZXQpCi0KIAogZGVmIF9W
ZXJib3NlTGV2ZWwoKToKICAgIiIiUmV0dXJucyB0aGUgbW9kdWxlJ3MgdmVyYm9zaXR5IHNldHRp
bmcuIiIiCkBAIC0xMDEwLDI1ICs3OTUsNiBAQCBkZWYgX1NldEZpbHRlcnMoZmlsdGVycyk6CiAg
ICIiIgogICBfY3BwbGludF9zdGF0ZS5TZXRGaWx0ZXJzKGZpbHRlcnMpCiAKLWRlZiBfQWRkRmls
dGVycyhmaWx0ZXJzKToKLSAgIiIiQWRkcyBtb3JlIGZpbHRlciBvdmVycmlkZXMuCi0KLSAgVW5s
aWtlIF9TZXRGaWx0ZXJzLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlc2V0IHRoZSBjdXJyZW50
IGxpc3Qgb2YgZmlsdGVycwotICBhdmFpbGFibGUuCi0KLSAgQXJnczoKLSAgICBmaWx0ZXJzOiBB
IHN0cmluZyBvZiBjb21tYS1zZXBhcmF0ZWQgZmlsdGVycyAoZWcgIndoaXRlc3BhY2UvaW5kZW50
IikuCi0gICAgICAgICAgICAgRWFjaCBmaWx0ZXIgc2hvdWxkIHN0YXJ0IHdpdGggKyBvciAtOyBl
bHNlIHdlIGRpZS4KLSAgIiIiCi0gIF9jcHBsaW50X3N0YXRlLkFkZEZpbHRlcnMoZmlsdGVycykK
LQotZGVmIF9CYWNrdXBGaWx0ZXJzKCk6Ci0gICIiIiBTYXZlcyB0aGUgY3VycmVudCBmaWx0ZXIg
bGlzdCB0byBiYWNrdXAgc3RvcmFnZS4iIiIKLSAgX2NwcGxpbnRfc3RhdGUuQmFja3VwRmlsdGVy
cygpCi0KLWRlZiBfUmVzdG9yZUZpbHRlcnMoKToKLSAgIiIiIFJlc3RvcmVzIGZpbHRlcnMgcHJl
dmlvdXNseSBiYWNrZWQgdXAuIiIiCi0gIF9jcHBsaW50X3N0YXRlLlJlc3RvcmVGaWx0ZXJzKCkK
IAogY2xhc3MgX0Z1bmN0aW9uU3RhdGUob2JqZWN0KToKICAgIiIiVHJhY2tzIGN1cnJlbnQgZnVu
Y3Rpb24gbmFtZSBhbmQgdGhlIG51bWJlciBvZiBsaW5lcyBpbiBpdHMgYm9keS4iIiIKQEAgLTEw
NjQsOSArODMwLDYgQEAgY2xhc3MgX0Z1bmN0aW9uU3RhdGUob2JqZWN0KToKICAgICAgIGZpbGVu
YW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlLgogICAgICAgbGluZW51bTogVGhlIG51
bWJlciBvZiB0aGUgbGluZSB0byBjaGVjay4KICAgICAiIiIKLSAgICBpZiBub3Qgc2VsZi5pbl9h
X2Z1bmN0aW9uOgotICAgICAgcmV0dXJuCi0KICAgICBpZiBNYXRjaChyJ1QoRVNUfGVzdCknLCBz
ZWxmLmN1cnJlbnRfZnVuY3Rpb24pOgogICAgICAgYmFzZV90cmlnZ2VyID0gc2VsZi5fVEVTVF9U
UklHR0VSCiAgICAgZWxzZToKQEAgLTEwOTQsNyArODU3LDcgQEAgY2xhc3MgX0luY2x1ZGVFcnJv
cihFeGNlcHRpb24pOgogICBwYXNzCiAKIAotY2xhc3MgRmlsZUluZm8ob2JqZWN0KToKK2NsYXNz
IEZpbGVJbmZvOgogICAiIiJQcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgZmlsZW5hbWVz
LgogCiAgIEZpbGVJbmZvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIHRoZSBjb21wb25lbnRzIG9m
IGEgZmlsZSdzIHBhdGgKQEAgLTExMzcsMTMgKzkwMCwxMiBAQCBjbGFzcyBGaWxlSW5mbyhvYmpl
Y3QpOgogCiAgICAgICAjIE5vdCBTVk4gPD0gMS42PyBUcnkgdG8gZmluZCBhIGdpdCwgaGcsIG9y
IHN2biB0b3AgbGV2ZWwgZGlyZWN0b3J5IGJ5CiAgICAgICAjIHNlYXJjaGluZyB1cCBmcm9tIHRo
ZSBjdXJyZW50IHBhdGguCi0gICAgICByb290X2RpciA9IGN1cnJlbnRfZGlyID0gb3MucGF0aC5k
aXJuYW1lKGZ1bGxuYW1lKQotICAgICAgd2hpbGUgY3VycmVudF9kaXIgIT0gb3MucGF0aC5kaXJu
YW1lKGN1cnJlbnRfZGlyKToKLSAgICAgICAgaWYgKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9p
bihjdXJyZW50X2RpciwgIi5naXQiKSkgb3IKLSAgICAgICAgICAgIG9zLnBhdGguZXhpc3RzKG9z
LnBhdGguam9pbihjdXJyZW50X2RpciwgIi5oZyIpKSBvcgotICAgICAgICAgICAgb3MucGF0aC5l
eGlzdHMob3MucGF0aC5qb2luKGN1cnJlbnRfZGlyLCAiLnN2biIpKSk6Ci0gICAgICAgICAgcm9v
dF9kaXIgPSBjdXJyZW50X2RpcgotICAgICAgICBjdXJyZW50X2RpciA9IG9zLnBhdGguZGlybmFt
ZShjdXJyZW50X2RpcikKKyAgICAgIHJvb3RfZGlyID0gb3MucGF0aC5kaXJuYW1lKGZ1bGxuYW1l
KQorICAgICAgd2hpbGUgKHJvb3RfZGlyICE9IG9zLnBhdGguZGlybmFtZShyb290X2RpcikgYW5k
CisgICAgICAgICAgICAgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyb290X2Rpciwg
Ii5naXQiKSkgYW5kCisgICAgICAgICAgICAgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9p
bihyb290X2RpciwgIi5oZyIpKSBhbmQKKyAgICAgICAgICAgICBub3Qgb3MucGF0aC5leGlzdHMo
b3MucGF0aC5qb2luKHJvb3RfZGlyLCAiLnN2biIpKSk6CisgICAgICAgIHJvb3RfZGlyID0gb3Mu
cGF0aC5kaXJuYW1lKHJvb3RfZGlyKQogCiAgICAgICBpZiAob3MucGF0aC5leGlzdHMob3MucGF0
aC5qb2luKHJvb3RfZGlyLCAiLmdpdCIpKSBvcgogICAgICAgICAgIG9zLnBhdGguZXhpc3RzKG9z
LnBhdGguam9pbihyb290X2RpciwgIi5oZyIpKSBvcgpAQCAtMTE4Miw3ICs5NDQsNyBAQCBjbGFz
cyBGaWxlSW5mbyhvYmplY3QpOgogCiAgIGRlZiBJc1NvdXJjZShzZWxmKToKICAgICAiIiJGaWxl
IGhhcyBhIHNvdXJjZSBmaWxlIGV4dGVuc2lvbi4iIiIKLSAgICByZXR1cm4gX0lzU291cmNlRXh0
ZW5zaW9uKHNlbGYuRXh0ZW5zaW9uKClbMTpdKQorICAgIHJldHVybiBzZWxmLkV4dGVuc2lvbigp
WzE6XSBpbiAoJ2MnLCAnY2MnLCAnY3BwJywgJ2N4eCcpCiAKIAogZGVmIF9TaG91bGRQcmludEVy
cm9yKGNhdGVnb3J5LCBjb25maWRlbmNlLCBsaW5lbnVtKToKQEAgLTExOTMsNyArOTU1LDYgQEAg
ZGVmIF9TaG91bGRQcmludEVycm9yKGNhdGVnb3J5LCBjb25maWRlbmNlLCBsaW5lbnVtKToKICAg
IyB0aGUgdmVyYm9zaXR5IGxldmVsIGlzbid0IGhpZ2ggZW5vdWdoLCBvciB0aGUgZmlsdGVycyBm
aWx0ZXIgaXQgb3V0LgogICBpZiBJc0Vycm9yU3VwcHJlc3NlZEJ5Tm9saW50KGNhdGVnb3J5LCBs
aW5lbnVtKToKICAgICByZXR1cm4gRmFsc2UKLQogICBpZiBjb25maWRlbmNlIDwgX2NwcGxpbnRf
c3RhdGUudmVyYm9zZV9sZXZlbDoKICAgICByZXR1cm4gRmFsc2UKIApAQCAtMTIzOCw4ICs5OTks
OCBAQCBkZWYgRXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sIGNhdGVnb3J5LCBjb25maWRlbmNlLCBt
ZXNzYWdlKToKICAgaWYgX1Nob3VsZFByaW50RXJyb3IoY2F0ZWdvcnksIGNvbmZpZGVuY2UsIGxp
bmVudW0pOgogICAgIF9jcHBsaW50X3N0YXRlLkluY3JlbWVudEVycm9yQ291bnQoY2F0ZWdvcnkp
CiAgICAgaWYgX2NwcGxpbnRfc3RhdGUub3V0cHV0X2Zvcm1hdCA9PSAndnM3JzoKLSAgICAgIHN5
cy5zdGRlcnIud3JpdGUoJyVzKCVzKTogZXJyb3IgY3BwbGludDogWyVzXSAlcyBbJWRdXG4nICUg
KAotICAgICAgICAgIGZpbGVuYW1lLCBsaW5lbnVtLCBjYXRlZ29yeSwgbWVzc2FnZSwgY29uZmlk
ZW5jZSkpCisgICAgICBzeXMuc3RkZXJyLndyaXRlKCclcyglcyk6ICAlcyAgWyVzXSBbJWRdXG4n
ICUgKAorICAgICAgICAgIGZpbGVuYW1lLCBsaW5lbnVtLCBtZXNzYWdlLCBjYXRlZ29yeSwgY29u
ZmlkZW5jZSkpCiAgICAgZWxpZiBfY3BwbGludF9zdGF0ZS5vdXRwdXRfZm9ybWF0ID09ICdlY2xp
cHNlJzoKICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJyVzOiVzOiB3YXJuaW5nOiAlcyAgWyVzXSBb
JWRdXG4nICUgKAogICAgICAgICAgIGZpbGVuYW1lLCBsaW5lbnVtLCBtZXNzYWdlLCBjYXRlZ29y
eSwgY29uZmlkZW5jZSkpCkBAIC0xMjUxLDkgKzEwMTIsMTEgQEAgZGVmIEVycm9yKGZpbGVuYW1l
LCBsaW5lbnVtLCBjYXRlZ29yeSwgY29uZmlkZW5jZSwgbWVzc2FnZSk6CiAjIE1hdGNoZXMgc3Rh
bmRhcmQgQysrIGVzY2FwZSBzZXF1ZW5jZXMgcGVyIDIuMTMuMi4zIG9mIHRoZSBDKysgc3RhbmRh
cmQuCiBfUkVfUEFUVEVSTl9DTEVBTlNFX0xJTkVfRVNDQVBFUyA9IHJlLmNvbXBpbGUoCiAgICAg
cidcXChbYWJmbnJ0dj8iXFxcJ118XGQrfHhbMC05YS1mQS1GXSspJykKLSMgTWF0Y2ggYSBzaW5n
bGUgQyBzdHlsZSBjb21tZW50IG9uIHRoZSBzYW1lIGxpbmUuCi1fUkVfUEFUVEVSTl9DX0NPTU1F
TlRTID0gcicvXCooPzpbXipdfFwqKD8hLykpKlwqLycKLSMgTWF0Y2hlcyBtdWx0aS1saW5lIEMg
c3R5bGUgY29tbWVudHMuCisjIE1hdGNoZXMgc3RyaW5ncy4gIEVzY2FwZSBjb2RlcyBzaG91bGQg
YWxyZWFkeSBiZSByZW1vdmVkIGJ5IEVTQ0FQRVMuCitfUkVfUEFUVEVSTl9DTEVBTlNFX0xJTkVf
RE9VQkxFX1FVT1RFUyA9IHJlLmNvbXBpbGUociciW14iXSoiJykKKyMgTWF0Y2hlcyBjaGFyYWN0
ZXJzLiAgRXNjYXBlIGNvZGVzIHNob3VsZCBhbHJlYWR5IGJlIHJlbW92ZWQgYnkgRVNDQVBFUy4K
K19SRV9QQVRURVJOX0NMRUFOU0VfTElORV9TSU5HTEVfUVVPVEVTID0gcmUuY29tcGlsZShyIicu
JyIpCisjIE1hdGNoZXMgbXVsdGktbGluZSBDKysgY29tbWVudHMuCiAjIFRoaXMgUkUgaXMgYSBs
aXR0bGUgYml0IG1vcmUgY29tcGxpY2F0ZWQgdGhhbiBvbmUgbWlnaHQgZXhwZWN0LCBiZWNhdXNl
IHdlCiAjIGhhdmUgdG8gdGFrZSBjYXJlIG9mIHNwYWNlIHJlbW92YWxzIHRvb2xzIHNvIHdlIGNh
biBoYW5kbGUgY29tbWVudHMgaW5zaWRlCiAjIHN0YXRlbWVudHMgYmV0dGVyLgpAQCAtMTI2Miwx
MCArMTAyNSwxMCBAQCBfUkVfUEFUVEVSTl9DX0NPTU1FTlRTID0gcicvXCooPzpbXipdfFwqKD8h
LykpKlwqLycKICMgaWYgdGhpcyBkb2Vzbid0IHdvcmsgd2UgdHJ5IG9uIGxlZnQgc2lkZSBidXQg
b25seSBpZiB0aGVyZSdzIGEgbm9uLWNoYXJhY3RlcgogIyBvbiB0aGUgcmlnaHQuCiBfUkVfUEFU
VEVSTl9DTEVBTlNFX0xJTkVfQ19DT01NRU5UUyA9IHJlLmNvbXBpbGUoCi0gICAgcicoXHMqJyAr
IF9SRV9QQVRURVJOX0NfQ09NTUVOVFMgKyByJ1xzKiR8JyArCi0gICAgX1JFX1BBVFRFUk5fQ19D
T01NRU5UUyArIHInXHMrfCcgKwotICAgIHInXHMrJyArIF9SRV9QQVRURVJOX0NfQ09NTUVOVFMg
KyByJyg/PVxXKXwnICsKLSAgICBfUkVfUEFUVEVSTl9DX0NPTU1FTlRTICsgcicpJykKKyAgICBy
IiIiKFxzKi9cKi4qXCovXHMqJHwKKyAgICAgICAgICAgIC9cKi4qXCovXHMrfAorICAgICAgICAg
XHMrL1wqLipcKi8oPz1cVyl8CisgICAgICAgICAgICAvXCouKlwqLykiIiIsIHJlLlZFUkJPU0Up
CiAKIAogZGVmIElzQ3BwU3RyaW5nKGxpbmUpOgpAQCAtMTMyMCwyNiArMTA4MywxMyBAQCBkZWYg
Q2xlYW5zZVJhd1N0cmluZ3MocmF3X2xpbmVzKToKICAgICAgICAgZGVsaW1pdGVyID0gTm9uZQog
ICAgICAgZWxzZToKICAgICAgICAgIyBIYXZlbid0IGZvdW5kIHRoZSBlbmQgeWV0LCBhcHBlbmQg
YSBibGFuayBsaW5lLgotICAgICAgICBsaW5lID0gJyIiJworICAgICAgICBsaW5lID0gJycKIAot
ICAgICMgTG9vayBmb3IgYmVnaW5uaW5nIG9mIGEgcmF3IHN0cmluZywgYW5kIHJlcGxhY2UgdGhl
bSB3aXRoCi0gICAgIyBlbXB0eSBzdHJpbmdzLiAgVGhpcyBpcyBkb25lIGluIGEgbG9vcCB0byBo
YW5kbGUgbXVsdGlwbGUgcmF3Ci0gICAgIyBzdHJpbmdzIG9uIHRoZSBzYW1lIGxpbmUuCi0gICAg
d2hpbGUgZGVsaW1pdGVyIGlzIE5vbmU6CisgICAgZWxzZToKICAgICAgICMgTG9vayBmb3IgYmVn
aW5uaW5nIG9mIGEgcmF3IHN0cmluZy4KICAgICAgICMgU2VlIDIuMTQuMTUgW2xleC5zdHJpbmdd
IGZvciBzeW50YXguCi0gICAgICAjCi0gICAgICAjIE9uY2Ugd2UgaGF2ZSBtYXRjaGVkIGEgcmF3
IHN0cmluZywgd2UgY2hlY2sgdGhlIHByZWZpeCBvZiB0aGUKLSAgICAgICMgbGluZSB0byBtYWtl
IHN1cmUgdGhhdCB0aGUgbGluZSBpcyBub3QgcGFydCBvZiBhIHNpbmdsZSBsaW5lCi0gICAgICAj
IGNvbW1lbnQuICBJdCdzIGRvbmUgdGhpcyB3YXkgYmVjYXVzZSB3ZSByZW1vdmUgcmF3IHN0cmlu
Z3MKLSAgICAgICMgYmVmb3JlIHJlbW92aW5nIGNvbW1lbnRzIGFzIG9wcG9zZWQgdG8gcmVtb3Zp
bmcgY29tbWVudHMKLSAgICAgICMgYmVmb3JlIHJlbW92aW5nIHJhdyBzdHJpbmdzLiAgVGhpcyBp
cyBiZWNhdXNlIHRoZXJlIGFyZSBzb21lCi0gICAgICAjIGNwcGxpbnQgY2hlY2tzIHRoYXQgcmVx
dWlyZXMgdGhlIGNvbW1lbnRzIHRvIGJlIHByZXNlcnZlZCwgYnV0Ci0gICAgICAjIHdlIGRvbid0
IHdhbnQgdG8gY2hlY2sgY29tbWVudHMgdGhhdCBhcmUgaW5zaWRlIHJhdyBzdHJpbmdzLgotICAg
ICAgbWF0Y2hlZCA9IE1hdGNoKHInXiguKj8pXGIoPzpSfHU4Unx1UnxVUnxMUikiKFteXHNcXCgp
XSopXCgoLiopJCcsIGxpbmUpCi0gICAgICBpZiAobWF0Y2hlZCBhbmQKLSAgICAgICAgICBub3Qg
TWF0Y2gocideKFteXCciXXxcJyhcXC58W15cJ10pKlwnfCIoXFwufFteIl0pKiIpKi8vJywKLSAg
ICAgICAgICAgICAgICAgICAgbWF0Y2hlZC5ncm91cCgxKSkpOgorICAgICAgbWF0Y2hlZCA9IE1h
dGNoKHInXiguKilcYig/OlJ8dThSfHVSfFVSfExSKSIoW15cc1xcKCldKilcKCguKikkJywgbGlu
ZSkKKyAgICAgIGlmIG1hdGNoZWQ6CiAgICAgICAgIGRlbGltaXRlciA9ICcpJyArIG1hdGNoZWQu
Z3JvdXAoMikgKyAnIicKIAogICAgICAgICBlbmQgPSBtYXRjaGVkLmdyb3VwKDMpLmZpbmQoZGVs
aW1pdGVyKQpAQCAtMTM1MSw4ICsxMTAxLDYgQEAgZGVmIENsZWFuc2VSYXdTdHJpbmdzKHJhd19s
aW5lcyk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgIyBTdGFydCBvZiBhIG11bHRpLWxpbmUg
cmF3IHN0cmluZwogICAgICAgICAgIGxpbmUgPSBtYXRjaGVkLmdyb3VwKDEpICsgJyIiJwotICAg
ICAgZWxzZToKLSAgICAgICAgYnJlYWsKIAogICAgIGxpbmVzX3dpdGhvdXRfcmF3X3N0cmluZ3Mu
YXBwZW5kKGxpbmUpCiAKQEAgLTEzODMsMTAgKzExMzEsMTAgQEAgZGVmIEZpbmROZXh0TXVsdGlM
aW5lQ29tbWVudEVuZChsaW5lcywgbGluZWl4KToKIAogZGVmIFJlbW92ZU11bHRpTGluZUNvbW1l
bnRzRnJvbVJhbmdlKGxpbmVzLCBiZWdpbiwgZW5kKToKICAgIiIiQ2xlYXJzIGEgcmFuZ2Ugb2Yg
bGluZXMgZm9yIG11bHRpLWxpbmUgY29tbWVudHMuIiIiCi0gICMgSGF2aW5nIC8vIDxlbXB0eT4g
Y29tbWVudHMgbWFrZXMgdGhlIGxpbmVzIG5vbi1lbXB0eSwgc28gd2Ugd2lsbCBub3QgZ2V0Cisg
ICMgSGF2aW5nIC8vIGR1bW15IGNvbW1lbnRzIG1ha2VzIHRoZSBsaW5lcyBub24tZW1wdHksIHNv
IHdlIHdpbGwgbm90IGdldAogICAjIHVubmVjZXNzYXJ5IGJsYW5rIGxpbmUgd2FybmluZ3MgbGF0
ZXIgaW4gdGhlIGNvZGUuCiAgIGZvciBpIGluIHJhbmdlKGJlZ2luLCBlbmQpOgotICAgIGxpbmVz
W2ldID0gJy8qKi8nCisgICAgbGluZXNbaV0gPSAnLy8gZHVtbXknCiAKIAogZGVmIFJlbW92ZU11
bHRpTGluZUNvbW1lbnRzKGZpbGVuYW1lLCBsaW5lcywgZXJyb3IpOgpAQCAtMTQyMiwxNCArMTE3
MCwxMiBAQCBkZWYgQ2xlYW5zZUNvbW1lbnRzKGxpbmUpOgogCiAKIGNsYXNzIENsZWFuc2VkTGlu
ZXMob2JqZWN0KToKLSAgIiIiSG9sZHMgNCBjb3BpZXMgb2YgYWxsIGxpbmVzIHdpdGggZGlmZmVy
ZW50IHByZXByb2Nlc3NpbmcgYXBwbGllZCB0byB0aGVtLgorICAiIiJIb2xkcyAzIGNvcGllcyBv
ZiBhbGwgbGluZXMgd2l0aCBkaWZmZXJlbnQgcHJlcHJvY2Vzc2luZyBhcHBsaWVkIHRvIHRoZW0u
CiAKLSAgMSkgZWxpZGVkIG1lbWJlciBjb250YWlucyBsaW5lcyB3aXRob3V0IHN0cmluZ3MgYW5k
IGNvbW1lbnRzLgotICAyKSBsaW5lcyBtZW1iZXIgY29udGFpbnMgbGluZXMgd2l0aG91dCBjb21t
ZW50cy4KKyAgMSkgZWxpZGVkIG1lbWJlciBjb250YWlucyBsaW5lcyB3aXRob3V0IHN0cmluZ3Mg
YW5kIGNvbW1lbnRzLAorICAyKSBsaW5lcyBtZW1iZXIgY29udGFpbnMgbGluZXMgd2l0aG91dCBj
b21tZW50cywgYW5kCiAgIDMpIHJhd19saW5lcyBtZW1iZXIgY29udGFpbnMgYWxsIHRoZSBsaW5l
cyB3aXRob3V0IHByb2Nlc3NpbmcuCi0gIDQpIGxpbmVzX3dpdGhvdXRfcmF3X3N0cmluZ3MgbWVt
YmVyIGlzIHNhbWUgYXMgcmF3X2xpbmVzLCBidXQgd2l0aCBDKysxMSByYXcKLSAgICAgc3RyaW5n
cyByZW1vdmVkLgotICBBbGwgdGhlc2UgbWVtYmVycyBhcmUgb2YgPHR5cGUgJ2xpc3QnPiwgYW5k
IG9mIHRoZSBzYW1lIGxlbmd0aC4KKyAgQWxsIHRoZXNlIHRocmVlIG1lbWJlcnMgYXJlIG9mIDx0
eXBlICdsaXN0Jz4sIGFuZCBvZiB0aGUgc2FtZSBsZW5ndGguCiAgICIiIgogCiAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBsaW5lcyk6CkBAIC0xNDYwLDEzOCArMTIwNiwzOCBAQCBjbGFzcyBDbGVhbnNl
ZExpbmVzKG9iamVjdCk6CiAgICAgUmV0dXJuczoKICAgICAgIFRoZSBsaW5lIHdpdGggY29sbGFw
c2VkIHN0cmluZ3MuCiAgICAgIiIiCi0gICAgaWYgX1JFX1BBVFRFUk5fSU5DTFVERS5tYXRjaChl
bGlkZWQpOgotICAgICAgcmV0dXJuIGVsaWRlZAotCi0gICAgIyBSZW1vdmUgZXNjYXBlZCBjaGFy
YWN0ZXJzIGZpcnN0IHRvIG1ha2UgcXVvdGUvc2luZ2xlIHF1b3RlIGNvbGxhcHNpbmcKLSAgICAj
IGJhc2ljLiAgVGhpbmdzIHRoYXQgbG9vayBsaWtlIGVzY2FwZWQgY2hhcmFjdGVycyBzaG91bGRu
J3Qgb2NjdXIKLSAgICAjIG91dHNpZGUgb2Ygc3RyaW5ncyBhbmQgY2hhcnMuCi0gICAgZWxpZGVk
ID0gX1JFX1BBVFRFUk5fQ0xFQU5TRV9MSU5FX0VTQ0FQRVMuc3ViKCcnLCBlbGlkZWQpCi0KLSAg
ICAjIFJlcGxhY2UgcXVvdGVkIHN0cmluZ3MgYW5kIGRpZ2l0IHNlcGFyYXRvcnMuICBCb3RoIHNp
bmdsZSBxdW90ZXMKLSAgICAjIGFuZCBkb3VibGUgcXVvdGVzIGFyZSBwcm9jZXNzZWQgaW4gdGhl
IHNhbWUgbG9vcCwgb3RoZXJ3aXNlCi0gICAgIyBuZXN0ZWQgcXVvdGVzIHdvdWxkbid0IHdvcmsu
Ci0gICAgY29sbGFwc2VkID0gJycKLSAgICB3aGlsZSBUcnVlOgotICAgICAgIyBGaW5kIHRoZSBm
aXJzdCBxdW90ZSBjaGFyYWN0ZXIKLSAgICAgIG1hdGNoID0gTWF0Y2gocideKFteXCciXSopKFtc
JyJdKSguKikkJywgZWxpZGVkKQotICAgICAgaWYgbm90IG1hdGNoOgotICAgICAgICBjb2xsYXBz
ZWQgKz0gZWxpZGVkCi0gICAgICAgIGJyZWFrCi0gICAgICBoZWFkLCBxdW90ZSwgdGFpbCA9IG1h
dGNoLmdyb3VwcygpCi0KLSAgICAgIGlmIHF1b3RlID09ICciJzoKLSAgICAgICAgIyBDb2xsYXBz
ZSBkb3VibGUgcXVvdGVkIHN0cmluZ3MKLSAgICAgICAgc2Vjb25kX3F1b3RlID0gdGFpbC5maW5k
KCciJykKLSAgICAgICAgaWYgc2Vjb25kX3F1b3RlID49IDA6Ci0gICAgICAgICAgY29sbGFwc2Vk
ICs9IGhlYWQgKyAnIiInCi0gICAgICAgICAgZWxpZGVkID0gdGFpbFtzZWNvbmRfcXVvdGUgKyAx
Ol0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAjIFVubWF0Y2hlZCBkb3VibGUgcXVvdGUsIGRv
bid0IGJvdGhlciBwcm9jZXNzaW5nIHRoZSByZXN0Ci0gICAgICAgICAgIyBvZiB0aGUgbGluZSBz
aW5jZSB0aGlzIGlzIHByb2JhYmx5IGEgbXVsdGlsaW5lIHN0cmluZy4KLSAgICAgICAgICBjb2xs
YXBzZWQgKz0gZWxpZGVkCi0gICAgICAgICAgYnJlYWsKLSAgICAgIGVsc2U6Ci0gICAgICAgICMg
Rm91bmQgc2luZ2xlIHF1b3RlLCBjaGVjayBuZWFyYnkgdGV4dCB0byBlbGltaW5hdGUgZGlnaXQg
c2VwYXJhdG9ycy4KLSAgICAgICAgIwotICAgICAgICAjIFRoZXJlIGlzIG5vIHNwZWNpYWwgaGFu
ZGxpbmcgZm9yIGZsb2F0aW5nIHBvaW50IGhlcmUsIGJlY2F1c2UKLSAgICAgICAgIyB0aGUgaW50
ZWdlci9mcmFjdGlvbmFsL2V4cG9uZW50IHBhcnRzIHdvdWxkIGFsbCBiZSBwYXJzZWQKLSAgICAg
ICAgIyBjb3JyZWN0bHkgYXMgbG9uZyBhcyB0aGVyZSBhcmUgZGlnaXRzIG9uIGJvdGggc2lkZXMg
b2YgdGhlCi0gICAgICAgICMgc2VwYXJhdG9yLiAgU28gd2UgYXJlIGZpbmUgYXMgbG9uZyBhcyB3
ZSBkb24ndCBzZWUgc29tZXRoaW5nCi0gICAgICAgICMgbGlrZSAiMC4nMyIgKGdjYyA0LjkuMCB3
aWxsIG5vdCBhbGxvdyB0aGlzIGxpdGVyYWwpLgotICAgICAgICBpZiBTZWFyY2gocidcYig/OjBb
YkJ4WF0/fFsxLTldKVswLTlhLWZBLUZdKiQnLCBoZWFkKToKLSAgICAgICAgICBtYXRjaF9saXRl
cmFsID0gTWF0Y2gocideKCg/OlwnP1swLTlhLXpBLVpfXSkqKSguKikkJywgIiciICsgdGFpbCkK
LSAgICAgICAgICBjb2xsYXBzZWQgKz0gaGVhZCArIG1hdGNoX2xpdGVyYWwuZ3JvdXAoMSkucmVw
bGFjZSgiJyIsICcnKQotICAgICAgICAgIGVsaWRlZCA9IG1hdGNoX2xpdGVyYWwuZ3JvdXAoMikK
LSAgICAgICAgZWxzZToKLSAgICAgICAgICBzZWNvbmRfcXVvdGUgPSB0YWlsLmZpbmQoJ1wnJykK
LSAgICAgICAgICBpZiBzZWNvbmRfcXVvdGUgPj0gMDoKLSAgICAgICAgICAgIGNvbGxhcHNlZCAr
PSBoZWFkICsgIicnIgotICAgICAgICAgICAgZWxpZGVkID0gdGFpbFtzZWNvbmRfcXVvdGUgKyAx
Ol0KLSAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBVbm1hdGNoZWQgc2luZ2xlIHF1b3Rl
Ci0gICAgICAgICAgICBjb2xsYXBzZWQgKz0gZWxpZGVkCi0gICAgICAgICAgICBicmVhaworICAg
IGlmIG5vdCBfUkVfUEFUVEVSTl9JTkNMVURFLm1hdGNoKGVsaWRlZCk6CisgICAgICAjIFJlbW92
ZSBlc2NhcGVkIGNoYXJhY3RlcnMgZmlyc3QgdG8gbWFrZSBxdW90ZS9zaW5nbGUgcXVvdGUgY29s
bGFwc2luZworICAgICAgIyBiYXNpYy4gIFRoaW5ncyB0aGF0IGxvb2sgbGlrZSBlc2NhcGVkIGNo
YXJhY3RlcnMgc2hvdWxkbid0IG9jY3VyCisgICAgICAjIG91dHNpZGUgb2Ygc3RyaW5ncyBhbmQg
Y2hhcnMuCisgICAgICBlbGlkZWQgPSBfUkVfUEFUVEVSTl9DTEVBTlNFX0xJTkVfRVNDQVBFUy5z
dWIoJycsIGVsaWRlZCkKKyAgICAgIGVsaWRlZCA9IF9SRV9QQVRURVJOX0NMRUFOU0VfTElORV9T
SU5HTEVfUVVPVEVTLnN1YigiJyciLCBlbGlkZWQpCisgICAgICBlbGlkZWQgPSBfUkVfUEFUVEVS
Tl9DTEVBTlNFX0xJTkVfRE9VQkxFX1FVT1RFUy5zdWIoJyIiJywgZWxpZGVkKQorICAgIHJldHVy
biBlbGlkZWQKIAotICAgIHJldHVybiBjb2xsYXBzZWQKIAotCi1kZWYgRmluZEVuZE9mRXhwcmVz
c2lvbkluTGluZShsaW5lLCBzdGFydHBvcywgc3RhY2spOgotICAiIiJGaW5kIHRoZSBwb3NpdGlv
biBqdXN0IGFmdGVyIHRoZSBlbmQgb2YgY3VycmVudCBwYXJlbnRoZXNpemVkIGV4cHJlc3Npb24u
CitkZWYgRmluZEVuZE9mRXhwcmVzc2lvbkluTGluZShsaW5lLCBzdGFydHBvcywgZGVwdGgsIHN0
YXJ0Y2hhciwgZW5kY2hhcik6CisgICIiIkZpbmQgdGhlIHBvc2l0aW9uIGp1c3QgYWZ0ZXIgdGhl
IG1hdGNoaW5nIGVuZGNoYXIuCiAKICAgQXJnczoKICAgICBsaW5lOiBhIENsZWFuc2VkTGluZXMg
bGluZS4KICAgICBzdGFydHBvczogc3RhcnQgc2VhcmNoaW5nIGF0IHRoaXMgcG9zaXRpb24uCi0g
ICAgc3RhY2s6IG5lc3Rpbmcgc3RhY2sgYXQgc3RhcnRwb3MuCisgICAgZGVwdGg6IG5lc3Rpbmcg
bGV2ZWwgYXQgc3RhcnRwb3MuCisgICAgc3RhcnRjaGFyOiBleHByZXNzaW9uIG9wZW5pbmcgY2hh
cmFjdGVyLgorICAgIGVuZGNoYXI6IGV4cHJlc3Npb24gY2xvc2luZyBjaGFyYWN0ZXIuCiAKICAg
UmV0dXJuczoKLSAgICBPbiBmaW5kaW5nIG1hdGNoaW5nIGVuZDogKGluZGV4IGp1c3QgYWZ0ZXIg
bWF0Y2hpbmcgZW5kLCBOb25lKQotICAgIE9uIGZpbmRpbmcgYW4gdW5jbG9zZWQgZXhwcmVzc2lv
bjogKC0xLCBOb25lKQotICAgIE90aGVyd2lzZTogKC0xLCBuZXcgc3RhY2sgYXQgZW5kIG9mIHRo
aXMgbGluZSkKKyAgICBPbiBmaW5kaW5nIG1hdGNoaW5nIGVuZGNoYXI6IChpbmRleCBqdXN0IGFm
dGVyIG1hdGNoaW5nIGVuZGNoYXIsIDApCisgICAgT3RoZXJ3aXNlOiAoLTEsIG5ldyBkZXB0aCBh
dCBlbmQgb2YgdGhpcyBsaW5lKQogICAiIiIKICAgZm9yIGkgaW4geHJhbmdlKHN0YXJ0cG9zLCBs
ZW4obGluZSkpOgotICAgIGNoYXIgPSBsaW5lW2ldCi0gICAgaWYgY2hhciBpbiAnKFt7JzoKLSAg
ICAgICMgRm91bmQgc3RhcnQgb2YgcGFyZW50aGVzaXplZCBleHByZXNzaW9uLCBwdXNoIHRvIGV4
cHJlc3Npb24gc3RhY2sKLSAgICAgIHN0YWNrLmFwcGVuZChjaGFyKQotICAgIGVsaWYgY2hhciA9
PSAnPCc6Ci0gICAgICAjIEZvdW5kIHBvdGVudGlhbCBzdGFydCBvZiB0ZW1wbGF0ZSBhcmd1bWVu
dCBsaXN0Ci0gICAgICBpZiBpID4gMCBhbmQgbGluZVtpIC0gMV0gPT0gJzwnOgotICAgICAgICAj
IExlZnQgc2hpZnQgb3BlcmF0b3IKLSAgICAgICAgaWYgc3RhY2sgYW5kIHN0YWNrWy0xXSA9PSAn
PCc6Ci0gICAgICAgICAgc3RhY2sucG9wKCkKLSAgICAgICAgICBpZiBub3Qgc3RhY2s6Ci0gICAg
ICAgICAgICByZXR1cm4gKC0xLCBOb25lKQotICAgICAgZWxpZiBpID4gMCBhbmQgU2VhcmNoKHIn
XGJvcGVyYXRvclxzKiQnLCBsaW5lWzA6aV0pOgotICAgICAgICAjIG9wZXJhdG9yPCwgZG9uJ3Qg
YWRkIHRvIHN0YWNrCi0gICAgICAgIGNvbnRpbnVlCi0gICAgICBlbHNlOgotICAgICAgICAjIFRl
bnRhdGl2ZSBzdGFydCBvZiB0ZW1wbGF0ZSBhcmd1bWVudCBsaXN0Ci0gICAgICAgIHN0YWNrLmFw
cGVuZCgnPCcpCi0gICAgZWxpZiBjaGFyIGluICcpXX0nOgotICAgICAgIyBGb3VuZCBlbmQgb2Yg
cGFyZW50aGVzaXplZCBleHByZXNzaW9uLgotICAgICAgIwotICAgICAgIyBJZiB3ZSBhcmUgY3Vy
cmVudGx5IGV4cGVjdGluZyBhIG1hdGNoaW5nICc+JywgdGhlIHBlbmRpbmcgJzwnCi0gICAgICAj
IG11c3QgaGF2ZSBiZWVuIGFuIG9wZXJhdG9yLiAgUmVtb3ZlIHRoZW0gZnJvbSBleHByZXNzaW9u
IHN0YWNrLgotICAgICAgd2hpbGUgc3RhY2sgYW5kIHN0YWNrWy0xXSA9PSAnPCc6Ci0gICAgICAg
IHN0YWNrLnBvcCgpCi0gICAgICBpZiBub3Qgc3RhY2s6Ci0gICAgICAgIHJldHVybiAoLTEsIE5v
bmUpCi0gICAgICBpZiAoKHN0YWNrWy0xXSA9PSAnKCcgYW5kIGNoYXIgPT0gJyknKSBvcgotICAg
ICAgICAgIChzdGFja1stMV0gPT0gJ1snIGFuZCBjaGFyID09ICddJykgb3IKLSAgICAgICAgICAo
c3RhY2tbLTFdID09ICd7JyBhbmQgY2hhciA9PSAnfScpKToKLSAgICAgICAgc3RhY2sucG9wKCkK
LSAgICAgICAgaWYgbm90IHN0YWNrOgotICAgICAgICAgIHJldHVybiAoaSArIDEsIE5vbmUpCi0g
ICAgICBlbHNlOgotICAgICAgICAjIE1pc21hdGNoZWQgcGFyZW50aGVzZXMKLSAgICAgICAgcmV0
dXJuICgtMSwgTm9uZSkKLSAgICBlbGlmIGNoYXIgPT0gJz4nOgotICAgICAgIyBGb3VuZCBwb3Rl
bnRpYWwgZW5kIG9mIHRlbXBsYXRlIGFyZ3VtZW50IGxpc3QuCi0KLSAgICAgICMgSWdub3JlICIt
PiIgYW5kIG9wZXJhdG9yIGZ1bmN0aW9ucwotICAgICAgaWYgKGkgPiAwIGFuZAotICAgICAgICAg
IChsaW5lW2kgLSAxXSA9PSAnLScgb3IgU2VhcmNoKHInXGJvcGVyYXRvclxzKiQnLCBsaW5lWzA6
aSAtIDFdKSkpOgotICAgICAgICBjb250aW51ZQotCi0gICAgICAjIFBvcCB0aGUgc3RhY2sgaWYg
dGhlcmUgaXMgYSBtYXRjaGluZyAnPCcuICBPdGhlcndpc2UsIGlnbm9yZQotICAgICAgIyB0aGlz
ICc+JyBzaW5jZSBpdCBtdXN0IGJlIGFuIG9wZXJhdG9yLgotICAgICAgaWYgc3RhY2s6Ci0gICAg
ICAgIGlmIHN0YWNrWy0xXSA9PSAnPCc6Ci0gICAgICAgICAgc3RhY2sucG9wKCkKLSAgICAgICAg
ICBpZiBub3Qgc3RhY2s6Ci0gICAgICAgICAgICByZXR1cm4gKGkgKyAxLCBOb25lKQotICAgIGVs
aWYgY2hhciA9PSAnOyc6Ci0gICAgICAjIEZvdW5kIHNvbWV0aGluZyB0aGF0IGxvb2sgbGlrZSBl
bmQgb2Ygc3RhdGVtZW50cy4gIElmIHdlIGFyZSBjdXJyZW50bHkKLSAgICAgICMgZXhwZWN0aW5n
IGEgJz4nLCB0aGUgbWF0Y2hpbmcgJzwnIG11c3QgaGF2ZSBiZWVuIGFuIG9wZXJhdG9yLCBzaW5j
ZQotICAgICAgIyB0ZW1wbGF0ZSBhcmd1bWVudCBsaXN0IHNob3VsZCBub3QgY29udGFpbiBzdGF0
ZW1lbnRzLgotICAgICAgd2hpbGUgc3RhY2sgYW5kIHN0YWNrWy0xXSA9PSAnPCc6Ci0gICAgICAg
IHN0YWNrLnBvcCgpCi0gICAgICBpZiBub3Qgc3RhY2s6Ci0gICAgICAgIHJldHVybiAoLTEsIE5v
bmUpCi0KLSAgIyBEaWQgbm90IGZpbmQgZW5kIG9mIGV4cHJlc3Npb24gb3IgdW5iYWxhbmNlZCBw
YXJlbnRoZXNlcyBvbiB0aGlzIGxpbmUKLSAgcmV0dXJuICgtMSwgc3RhY2spCisgICAgaWYgbGlu
ZVtpXSA9PSBzdGFydGNoYXI6CisgICAgICBkZXB0aCArPSAxCisgICAgZWxpZiBsaW5lW2ldID09
IGVuZGNoYXI6CisgICAgICBkZXB0aCAtPSAxCisgICAgICBpZiBkZXB0aCA9PSAwOgorICAgICAg
ICByZXR1cm4gKGkgKyAxLCAwKQorICByZXR1cm4gKC0xLCBkZXB0aCkKIAogCiBkZWYgQ2xvc2VF
eHByZXNzaW9uKGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBwb3MpOgpAQCAtMTYwMCwxMSArMTI0Niw2
IEBAIGRlZiBDbG9zZUV4cHJlc3Npb24oY2xlYW5fbGluZXMsIGxpbmVudW0sIHBvcyk6CiAgIElm
IGxpbmVzW2xpbmVudW1dW3Bvc10gcG9pbnRzIHRvIGEgJygnIG9yICd7JyBvciAnWycgb3IgJzwn
LCBmaW5kcyB0aGUKICAgbGluZW51bS9wb3MgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBjbG9zaW5n
IG9mIHRoZSBleHByZXNzaW9uLgogCi0gIFRPRE8odW5rbm93bik6IGNwcGxpbnQgc3BlbmRzIGEg
ZmFpciBiaXQgb2YgdGltZSBtYXRjaGluZyBwYXJlbnRoZXNlcy4KLSAgSWRlYWxseSB3ZSB3b3Vs
ZCB3YW50IHRvIGluZGV4IGFsbCBvcGVuaW5nIGFuZCBjbG9zaW5nIHBhcmVudGhlc2VzIG9uY2UK
LSAgYW5kIGhhdmUgQ2xvc2VFeHByZXNzaW9uIGJlIGp1c3QgYSBzaW1wbGUgbG9va3VwLCBidXQg
ZHVlIHRvIHByZXByb2Nlc3NvcgotICB0cmlja3MsIHRoaXMgaXMgbm90IHNvIGVhc3kuCi0KICAg
QXJnczoKICAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5p
bmcgdGhlIGZpbGUuCiAgICAgbGluZW51bTogVGhlIG51bWJlciBvZiB0aGUgbGluZSB0byBjaGVj
ay4KQEAgLTE2MTgsMjggKzEyNTksMzUgQEAgZGVmIENsb3NlRXhwcmVzc2lvbihjbGVhbl9saW5l
cywgbGluZW51bSwgcG9zKToKICAgIiIiCiAKICAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFts
aW5lbnVtXQotICBpZiAobGluZVtwb3NdIG5vdCBpbiAnKHtbPCcpIG9yIE1hdGNoKHInPFs8PV0n
LCBsaW5lW3BvczpdKToKKyAgc3RhcnRjaGFyID0gbGluZVtwb3NdCisgIGlmIHN0YXJ0Y2hhciBu
b3QgaW4gJyh7WzwnOgogICAgIHJldHVybiAobGluZSwgY2xlYW5fbGluZXMuTnVtTGluZXMoKSwg
LTEpCisgIGlmIHN0YXJ0Y2hhciA9PSAnKCc6IGVuZGNoYXIgPSAnKScKKyAgaWYgc3RhcnRjaGFy
ID09ICdbJzogZW5kY2hhciA9ICddJworICBpZiBzdGFydGNoYXIgPT0gJ3snOiBlbmRjaGFyID0g
J30nCisgIGlmIHN0YXJ0Y2hhciA9PSAnPCc6IGVuZGNoYXIgPSAnPicKIAogICAjIENoZWNrIGZp
cnN0IGxpbmUKLSAgKGVuZF9wb3MsIHN0YWNrKSA9IEZpbmRFbmRPZkV4cHJlc3Npb25JbkxpbmUo
bGluZSwgcG9zLCBbXSkKKyAgKGVuZF9wb3MsIG51bV9vcGVuKSA9IEZpbmRFbmRPZkV4cHJlc3Np
b25JbkxpbmUoCisgICAgICBsaW5lLCBwb3MsIDAsIHN0YXJ0Y2hhciwgZW5kY2hhcikKICAgaWYg
ZW5kX3BvcyA+IC0xOgogICAgIHJldHVybiAobGluZSwgbGluZW51bSwgZW5kX3BvcykKIAogICAj
IENvbnRpbnVlIHNjYW5uaW5nIGZvcndhcmQKLSAgd2hpbGUgc3RhY2sgYW5kIGxpbmVudW0gPCBj
bGVhbl9saW5lcy5OdW1MaW5lcygpIC0gMToKKyAgd2hpbGUgbGluZW51bSA8IGNsZWFuX2xpbmVz
Lk51bUxpbmVzKCkgLSAxOgogICAgIGxpbmVudW0gKz0gMQogICAgIGxpbmUgPSBjbGVhbl9saW5l
cy5lbGlkZWRbbGluZW51bV0KLSAgICAoZW5kX3Bvcywgc3RhY2spID0gRmluZEVuZE9mRXhwcmVz
c2lvbkluTGluZShsaW5lLCAwLCBzdGFjaykKKyAgICAoZW5kX3BvcywgbnVtX29wZW4pID0gRmlu
ZEVuZE9mRXhwcmVzc2lvbkluTGluZSgKKyAgICAgICAgbGluZSwgMCwgbnVtX29wZW4sIHN0YXJ0
Y2hhciwgZW5kY2hhcikKICAgICBpZiBlbmRfcG9zID4gLTE6CiAgICAgICByZXR1cm4gKGxpbmUs
IGxpbmVudW0sIGVuZF9wb3MpCiAKLSAgIyBEaWQgbm90IGZpbmQgZW5kIG9mIGV4cHJlc3Npb24g
YmVmb3JlIGVuZCBvZiBmaWxlLCBnaXZlIHVwCisgICMgRGlkIG5vdCBmaW5kIGVuZGNoYXIgYmVm
b3JlIGVuZCBvZiBmaWxlLCBnaXZlIHVwCiAgIHJldHVybiAobGluZSwgY2xlYW5fbGluZXMuTnVt
TGluZXMoKSwgLTEpCiAKIAotZGVmIEZpbmRTdGFydE9mRXhwcmVzc2lvbkluTGluZShsaW5lLCBl
bmRwb3MsIHN0YWNrKToKLSAgIiIiRmluZCBwb3NpdGlvbiBhdCB0aGUgbWF0Y2hpbmcgc3RhcnQg
b2YgY3VycmVudCBleHByZXNzaW9uLgorZGVmIEZpbmRTdGFydE9mRXhwcmVzc2lvbkluTGluZShs
aW5lLCBlbmRwb3MsIGRlcHRoLCBzdGFydGNoYXIsIGVuZGNoYXIpOgorICAiIiJGaW5kIHBvc2l0
aW9uIGF0IHRoZSBtYXRjaGluZyBzdGFydGNoYXIuCiAKICAgVGhpcyBpcyBhbG1vc3QgdGhlIHJl
dmVyc2Ugb2YgRmluZEVuZE9mRXhwcmVzc2lvbkluTGluZSwgYnV0IG5vdGUKICAgdGhhdCB0aGUg
aW5wdXQgcG9zaXRpb24gYW5kIHJldHVybmVkIHBvc2l0aW9uIGRpZmZlcnMgYnkgMS4KQEAgLTE2
NDcsNzIgKzEyOTUsMjIgQEAgZGVmIEZpbmRTdGFydE9mRXhwcmVzc2lvbkluTGluZShsaW5lLCBl
bmRwb3MsIHN0YWNrKToKICAgQXJnczoKICAgICBsaW5lOiBhIENsZWFuc2VkTGluZXMgbGluZS4K
ICAgICBlbmRwb3M6IHN0YXJ0IHNlYXJjaGluZyBhdCB0aGlzIHBvc2l0aW9uLgotICAgIHN0YWNr
OiBuZXN0aW5nIHN0YWNrIGF0IGVuZHBvcy4KKyAgICBkZXB0aDogbmVzdGluZyBsZXZlbCBhdCBl
bmRwb3MuCisgICAgc3RhcnRjaGFyOiBleHByZXNzaW9uIG9wZW5pbmcgY2hhcmFjdGVyLgorICAg
IGVuZGNoYXI6IGV4cHJlc3Npb24gY2xvc2luZyBjaGFyYWN0ZXIuCiAKICAgUmV0dXJuczoKLSAg
ICBPbiBmaW5kaW5nIG1hdGNoaW5nIHN0YXJ0OiAoaW5kZXggYXQgbWF0Y2hpbmcgc3RhcnQsIE5v
bmUpCi0gICAgT24gZmluZGluZyBhbiB1bmNsb3NlZCBleHByZXNzaW9uOiAoLTEsIE5vbmUpCi0g
ICAgT3RoZXJ3aXNlOiAoLTEsIG5ldyBzdGFjayBhdCBiZWdpbm5pbmcgb2YgdGhpcyBsaW5lKQor
ICAgIE9uIGZpbmRpbmcgbWF0Y2hpbmcgc3RhcnRjaGFyOiAoaW5kZXggYXQgbWF0Y2hpbmcgc3Rh
cnRjaGFyLCAwKQorICAgIE90aGVyd2lzZTogKC0xLCBuZXcgZGVwdGggYXQgYmVnaW5uaW5nIG9m
IHRoaXMgbGluZSkKICAgIiIiCi0gIGkgPSBlbmRwb3MKLSAgd2hpbGUgaSA+PSAwOgotICAgIGNo
YXIgPSBsaW5lW2ldCi0gICAgaWYgY2hhciBpbiAnKV19JzoKLSAgICAgICMgRm91bmQgZW5kIG9m
IGV4cHJlc3Npb24sIHB1c2ggdG8gZXhwcmVzc2lvbiBzdGFjawotICAgICAgc3RhY2suYXBwZW5k
KGNoYXIpCi0gICAgZWxpZiBjaGFyID09ICc+JzoKLSAgICAgICMgRm91bmQgcG90ZW50aWFsIGVu
ZCBvZiB0ZW1wbGF0ZSBhcmd1bWVudCBsaXN0LgotICAgICAgIwotICAgICAgIyBJZ25vcmUgaXQg
aWYgaXQncyBhICItPiIgb3IgIj49IiBvciAib3BlcmF0b3I+IgotICAgICAgaWYgKGkgPiAwIGFu
ZAotICAgICAgICAgIChsaW5lW2kgLSAxXSA9PSAnLScgb3IKLSAgICAgICAgICAgTWF0Y2gocidc
cz49XHMnLCBsaW5lW2kgLSAxOl0pIG9yCi0gICAgICAgICAgIFNlYXJjaChyJ1xib3BlcmF0b3Jc
cyokJywgbGluZVswOmldKSkpOgotICAgICAgICBpIC09IDEKLSAgICAgIGVsc2U6Ci0gICAgICAg
IHN0YWNrLmFwcGVuZCgnPicpCi0gICAgZWxpZiBjaGFyID09ICc8JzoKLSAgICAgICMgRm91bmQg
cG90ZW50aWFsIHN0YXJ0IG9mIHRlbXBsYXRlIGFyZ3VtZW50IGxpc3QKLSAgICAgIGlmIGkgPiAw
IGFuZCBsaW5lW2kgLSAxXSA9PSAnPCc6Ci0gICAgICAgICMgTGVmdCBzaGlmdCBvcGVyYXRvcgot
ICAgICAgICBpIC09IDEKLSAgICAgIGVsc2U6Ci0gICAgICAgICMgSWYgdGhlcmUgaXMgYSBtYXRj
aGluZyAnPicsIHdlIGNhbiBwb3AgdGhlIGV4cHJlc3Npb24gc3RhY2suCi0gICAgICAgICMgT3Ro
ZXJ3aXNlLCBpZ25vcmUgdGhpcyAnPCcgc2luY2UgaXQgbXVzdCBiZSBhbiBvcGVyYXRvci4KLSAg
ICAgICAgaWYgc3RhY2sgYW5kIHN0YWNrWy0xXSA9PSAnPic6Ci0gICAgICAgICAgc3RhY2sucG9w
KCkKLSAgICAgICAgICBpZiBub3Qgc3RhY2s6Ci0gICAgICAgICAgICByZXR1cm4gKGksIE5vbmUp
Ci0gICAgZWxpZiBjaGFyIGluICcoW3snOgotICAgICAgIyBGb3VuZCBzdGFydCBvZiBleHByZXNz
aW9uLgotICAgICAgIwotICAgICAgIyBJZiB0aGVyZSBhcmUgYW55IHVubWF0Y2hlZCAnPicgb24g
dGhlIHN0YWNrLCB0aGV5IG11c3QgYmUKLSAgICAgICMgb3BlcmF0b3JzLiAgUmVtb3ZlIHRob3Nl
LgotICAgICAgd2hpbGUgc3RhY2sgYW5kIHN0YWNrWy0xXSA9PSAnPic6Ci0gICAgICAgIHN0YWNr
LnBvcCgpCi0gICAgICBpZiBub3Qgc3RhY2s6Ci0gICAgICAgIHJldHVybiAoLTEsIE5vbmUpCi0g
ICAgICBpZiAoKGNoYXIgPT0gJygnIGFuZCBzdGFja1stMV0gPT0gJyknKSBvcgotICAgICAgICAg
IChjaGFyID09ICdbJyBhbmQgc3RhY2tbLTFdID09ICddJykgb3IKLSAgICAgICAgICAoY2hhciA9
PSAneycgYW5kIHN0YWNrWy0xXSA9PSAnfScpKToKLSAgICAgICAgc3RhY2sucG9wKCkKLSAgICAg
ICAgaWYgbm90IHN0YWNrOgotICAgICAgICAgIHJldHVybiAoaSwgTm9uZSkKLSAgICAgIGVsc2U6
Ci0gICAgICAgICMgTWlzbWF0Y2hlZCBwYXJlbnRoZXNlcwotICAgICAgICByZXR1cm4gKC0xLCBO
b25lKQotICAgIGVsaWYgY2hhciA9PSAnOyc6Ci0gICAgICAjIEZvdW5kIHNvbWV0aGluZyB0aGF0
IGxvb2sgbGlrZSBlbmQgb2Ygc3RhdGVtZW50cy4gIElmIHdlIGFyZSBjdXJyZW50bHkKLSAgICAg
ICMgZXhwZWN0aW5nIGEgJzwnLCB0aGUgbWF0Y2hpbmcgJz4nIG11c3QgaGF2ZSBiZWVuIGFuIG9w
ZXJhdG9yLCBzaW5jZQotICAgICAgIyB0ZW1wbGF0ZSBhcmd1bWVudCBsaXN0IHNob3VsZCBub3Qg
Y29udGFpbiBzdGF0ZW1lbnRzLgotICAgICAgd2hpbGUgc3RhY2sgYW5kIHN0YWNrWy0xXSA9PSAn
Pic6Ci0gICAgICAgIHN0YWNrLnBvcCgpCi0gICAgICBpZiBub3Qgc3RhY2s6Ci0gICAgICAgIHJl
dHVybiAoLTEsIE5vbmUpCi0KLSAgICBpIC09IDEKLQotICByZXR1cm4gKC0xLCBzdGFjaykKKyAg
Zm9yIGkgaW4geHJhbmdlKGVuZHBvcywgLTEsIC0xKToKKyAgICBpZiBsaW5lW2ldID09IGVuZGNo
YXI6CisgICAgICBkZXB0aCArPSAxCisgICAgZWxpZiBsaW5lW2ldID09IHN0YXJ0Y2hhcjoKKyAg
ICAgIGRlcHRoIC09IDEKKyAgICAgIGlmIGRlcHRoID09IDA6CisgICAgICAgIHJldHVybiAoaSwg
MCkKKyAgcmV0dXJuICgtMSwgZGVwdGgpCiAKIAogZGVmIFJldmVyc2VDbG9zZUV4cHJlc3Npb24o
Y2xlYW5fbGluZXMsIGxpbmVudW0sIHBvcyk6CkBAIC0xNzMzLDIzICsxMzMxLDMwIEBAIGRlZiBS
ZXZlcnNlQ2xvc2VFeHByZXNzaW9uKGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBwb3MpOgogICAgIHJl
dHVybiBpcyB0aGUgJ2NsZWFuc2VkJyBsaW5lIGF0IGxpbmVudW0uCiAgICIiIgogICBsaW5lID0g
Y2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW1dCi0gIGlmIGxpbmVbcG9zXSBub3QgaW4gJyl9XT4n
OgorICBlbmRjaGFyID0gbGluZVtwb3NdCisgIGlmIGVuZGNoYXIgbm90IGluICcpfV0+JzoKICAg
ICByZXR1cm4gKGxpbmUsIDAsIC0xKQorICBpZiBlbmRjaGFyID09ICcpJzogc3RhcnRjaGFyID0g
JygnCisgIGlmIGVuZGNoYXIgPT0gJ10nOiBzdGFydGNoYXIgPSAnWycKKyAgaWYgZW5kY2hhciA9
PSAnfSc6IHN0YXJ0Y2hhciA9ICd7JworICBpZiBlbmRjaGFyID09ICc+Jzogc3RhcnRjaGFyID0g
JzwnCiAKICAgIyBDaGVjayBsYXN0IGxpbmUKLSAgKHN0YXJ0X3Bvcywgc3RhY2spID0gRmluZFN0
YXJ0T2ZFeHByZXNzaW9uSW5MaW5lKGxpbmUsIHBvcywgW10pCisgIChzdGFydF9wb3MsIG51bV9v
cGVuKSA9IEZpbmRTdGFydE9mRXhwcmVzc2lvbkluTGluZSgKKyAgICAgIGxpbmUsIHBvcywgMCwg
c3RhcnRjaGFyLCBlbmRjaGFyKQogICBpZiBzdGFydF9wb3MgPiAtMToKICAgICByZXR1cm4gKGxp
bmUsIGxpbmVudW0sIHN0YXJ0X3BvcykKIAogICAjIENvbnRpbnVlIHNjYW5uaW5nIGJhY2t3YXJk
Ci0gIHdoaWxlIHN0YWNrIGFuZCBsaW5lbnVtID4gMDoKKyAgd2hpbGUgbGluZW51bSA+IDA6CiAg
ICAgbGluZW51bSAtPSAxCiAgICAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtXQot
ICAgIChzdGFydF9wb3MsIHN0YWNrKSA9IEZpbmRTdGFydE9mRXhwcmVzc2lvbkluTGluZShsaW5l
LCBsZW4obGluZSkgLSAxLCBzdGFjaykKKyAgICAoc3RhcnRfcG9zLCBudW1fb3BlbikgPSBGaW5k
U3RhcnRPZkV4cHJlc3Npb25JbkxpbmUoCisgICAgICAgIGxpbmUsIGxlbihsaW5lKSAtIDEsIG51
bV9vcGVuLCBzdGFydGNoYXIsIGVuZGNoYXIpCiAgICAgaWYgc3RhcnRfcG9zID4gLTE6CiAgICAg
ICByZXR1cm4gKGxpbmUsIGxpbmVudW0sIHN0YXJ0X3BvcykKIAotICAjIERpZCBub3QgZmluZCBz
dGFydCBvZiBleHByZXNzaW9uIGJlZm9yZSBiZWdpbm5pbmcgb2YgZmlsZSwgZ2l2ZSB1cAorICAj
IERpZCBub3QgZmluZCBzdGFydGNoYXIgYmVmb3JlIGJlZ2lubmluZyBvZiBmaWxlLCBnaXZlIHVw
CiAgIHJldHVybiAobGluZSwgMCwgLTEpCiAKIApAQCAtMTc1Nyw3ICsxMzYyLDcgQEAgZGVmIENo
ZWNrRm9yQ29weXJpZ2h0KGZpbGVuYW1lLCBsaW5lcywgZXJyb3IpOgogICAiIiJMb2dzIGFuIGVy
cm9yIGlmIG5vIENvcHlyaWdodCBtZXNzYWdlIGFwcGVhcnMgYXQgdGhlIHRvcCBvZiB0aGUgZmls
ZS4iIiIKIAogICAjIFdlJ2xsIHNheSBpdCBzaG91bGQgb2NjdXIgYnkgbGluZSAxMC4gRG9uJ3Qg
Zm9yZ2V0IHRoZXJlJ3MgYQotICAjIHBsYWNlaG9sZGVyIGxpbmUgYXQgdGhlIGZyb250LgorICAj
IGR1bW15IGxpbmUgYXQgdGhlIGZyb250LgogICBmb3IgbGluZSBpbiB4cmFuZ2UoMSwgbWluKGxl
bihsaW5lcyksIDExKSk6CiAgICAgaWYgcmUuc2VhcmNoKHInQ29weXJpZ2h0JywgbGluZXNbbGlu
ZV0sIHJlLkkpOiBicmVhawogICBlbHNlOiAgICAgICAgICAgICAgICAgICAgICAgIyBtZWFucyBu
byBjb3B5cmlnaHQgbGluZSB3YXMgZm91bmQKQEAgLTE3NjYsNDYgKzEzNzEsNiBAQCBkZWYgQ2hl
Y2tGb3JDb3B5cmlnaHQoZmlsZW5hbWUsIGxpbmVzLCBlcnJvcik6CiAgICAgICAgICAgJ1lvdSBz
aG91bGQgaGF2ZSBhIGxpbmU6ICJDb3B5cmlnaHQgW3llYXJdIDxDb3B5cmlnaHQgT3duZXI+Iicp
CiAKIAotZGVmIEdldEluZGVudExldmVsKGxpbmUpOgotICAiIiJSZXR1cm4gdGhlIG51bWJlciBv
ZiBsZWFkaW5nIHNwYWNlcyBpbiBsaW5lLgotCi0gIEFyZ3M6Ci0gICAgbGluZTogQSBzdHJpbmcg
dG8gY2hlY2suCi0KLSAgUmV0dXJuczoKLSAgICBBbiBpbnRlZ2VyIGNvdW50IG9mIGxlYWRpbmcg
c3BhY2VzLCBwb3NzaWJseSB6ZXJvLgotICAiIiIKLSAgaW5kZW50ID0gTWF0Y2gocideKCAqKVxT
JywgbGluZSkKLSAgaWYgaW5kZW50OgotICAgIHJldHVybiBsZW4oaW5kZW50Lmdyb3VwKDEpKQot
ICBlbHNlOgotICAgIHJldHVybiAwCi0KLWRlZiBQYXRoU3BsaXRUb0xpc3QocGF0aCk6Ci0gICIi
IlJldHVybnMgdGhlIHBhdGggc3BsaXQgaW50byBhIGxpc3QgYnkgdGhlIHNlcGFyYXRvci4KLQot
ICBBcmdzOgotICAgIHBhdGg6IEFuIGFic29sdXRlIG9yIHJlbGF0aXZlIHBhdGggKGUuZy4gJy9h
L2IvYy8nIG9yICcuLi9hJykKLQotICBSZXR1cm5zOgotICAgIEEgbGlzdCBvZiBwYXRoIGNvbXBv
bmVudHMgKGUuZy4gWydhJywgJ2InLCAnY10pLgotICAiIiIKLSAgbHN0ID0gW10KLSAgd2hpbGUg
VHJ1ZToKLSAgICAoaGVhZCwgdGFpbCkgPSBvcy5wYXRoLnNwbGl0KHBhdGgpCi0gICAgaWYgaGVh
ZCA9PSBwYXRoOiAjIGFic29sdXRlIHBhdGhzIGVuZAotICAgICAgbHN0LmFwcGVuZChoZWFkKQot
ICAgICAgYnJlYWsKLSAgICBpZiB0YWlsID09IHBhdGg6ICMgcmVsYXRpdmUgcGF0aHMgZW5kCi0g
ICAgICBsc3QuYXBwZW5kKHRhaWwpCi0gICAgICBicmVhawotCi0gICAgcGF0aCA9IGhlYWQKLSAg
ICBsc3QuYXBwZW5kKHRhaWwpCi0KLSAgbHN0LnJldmVyc2UoKQotICByZXR1cm4gbHN0Ci0KIGRl
ZiBHZXRIZWFkZXJHdWFyZENQUFZhcmlhYmxlKGZpbGVuYW1lKToKICAgIiIiUmV0dXJucyB0aGUg
Q1BQIHZhcmlhYmxlIHRoYXQgc2hvdWxkIGJlIHVzZWQgYXMgYSBoZWFkZXIgZ3VhcmQuCiAKQEAg
LTE4MjIsNjcgKzEzODcsMTUgQEAgZGVmIEdldEhlYWRlckd1YXJkQ1BQVmFyaWFibGUoZmlsZW5h
bWUpOgogICAjIGZseW1ha2UuCiAgIGZpbGVuYW1lID0gcmUuc3ViKHInX2ZseW1ha2VcLmgkJywg
Jy5oJywgZmlsZW5hbWUpCiAgIGZpbGVuYW1lID0gcmUuc3ViKHInL1wuZmx5bWFrZS8oW14vXSop
JCcsIHInL1wxJywgZmlsZW5hbWUpCi0gICMgUmVwbGFjZSAnYysrJyB3aXRoICdjcHAnLgotICBm
aWxlbmFtZSA9IGZpbGVuYW1lLnJlcGxhY2UoJ0MrKycsICdjcHAnKS5yZXBsYWNlKCdjKysnLCAn
Y3BwJykKIAogICBmaWxlaW5mbyA9IEZpbGVJbmZvKGZpbGVuYW1lKQogICBmaWxlX3BhdGhfZnJv
bV9yb290ID0gZmlsZWluZm8uUmVwb3NpdG9yeU5hbWUoKQorICBpZiBfcm9vdDoKKyAgICBmaWxl
X3BhdGhfZnJvbV9yb290ID0gcmUuc3ViKCdeJyArIF9yb290ICsgb3Muc2VwLCAnJywgZmlsZV9w
YXRoX2Zyb21fcm9vdCkKKyAgcmV0dXJuIHJlLnN1YihyJ1stLi9cc10nLCAnXycsIGZpbGVfcGF0
aF9mcm9tX3Jvb3QpLnVwcGVyKCkgKyAnXycKIAotICBkZWYgRml4dXBQYXRoRnJvbVJvb3QoKToK
LSAgICBpZiBfcm9vdF9kZWJ1ZzoKLSAgICAgIHN5cy5zdGRlcnIud3JpdGUoIlxuX3Jvb3QgZml4
dXAsIF9yb290ID0gJyVzJywgcmVwb3NpdG9yeSBuYW1lID0gJyVzJ1xuIgotICAgICAgICAgICUo
X3Jvb3QsIGZpbGVpbmZvLlJlcG9zaXRvcnlOYW1lKCkpKQotCi0gICAgIyBQcm9jZXNzIHRoZSBm
aWxlIHBhdGggd2l0aCB0aGUgLS1yb290IGZsYWcgaWYgaXQgd2FzIHNldC4KLSAgICBpZiBub3Qg
X3Jvb3Q6Ci0gICAgICBpZiBfcm9vdF9kZWJ1ZzoKLSAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgi
X3Jvb3QgdW5zcGVjaWZpZWRcbiIpCi0gICAgICByZXR1cm4gZmlsZV9wYXRoX2Zyb21fcm9vdAot
Ci0gICAgZGVmIFN0cmlwTGlzdFByZWZpeChsc3QsIHByZWZpeCk6Ci0gICAgICAjIGYoWyd4Jywg
J3knXSwgWyd3LCB6J10pIC0+IE5vbmUgIChub3QgYSB2YWxpZCBwcmVmaXgpCi0gICAgICBpZiBs
c3RbOmxlbihwcmVmaXgpXSAhPSBwcmVmaXg6Ci0gICAgICAgIHJldHVybiBOb25lCi0gICAgICAj
IGYoWydhLCAnYicsICdjJywgJ2QnXSwgWydhJywgJ2InXSkgLT4gWydjJywgJ2QnXQotICAgICAg
cmV0dXJuIGxzdFsobGVuKHByZWZpeCkpOl0KLQotICAgICMgcm9vdCBiZWhhdmlvcjoKLSAgICAj
ICAgLS1yb290PXN1YmRpciAsIGxzdHJpcHMgc3ViZGlyIGZyb20gdGhlIGhlYWRlciBndWFyZAot
ICAgIG1heWJlX3BhdGggPSBTdHJpcExpc3RQcmVmaXgoUGF0aFNwbGl0VG9MaXN0KGZpbGVfcGF0
aF9mcm9tX3Jvb3QpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGF0aFNwbGl0
VG9MaXN0KF9yb290KSkKLQotICAgIGlmIF9yb290X2RlYnVnOgotICAgICAgc3lzLnN0ZGVyci53
cml0ZSgoIl9yb290IGxzdHJpcCAobWF5YmVfcGF0aD0lcywgZmlsZV9wYXRoX2Zyb21fcm9vdD0l
cywiICsKLSAgICAgICAgICAiIF9yb290PSVzKVxuIikgJShtYXliZV9wYXRoLCBmaWxlX3BhdGhf
ZnJvbV9yb290LCBfcm9vdCkpCi0KLSAgICBpZiBtYXliZV9wYXRoOgotICAgICAgcmV0dXJuIG9z
LnBhdGguam9pbigqbWF5YmVfcGF0aCkKLQotICAgICMgICAtLXJvb3Q9Li4gLCB3aWxsIHByZXBl
bmQgdGhlIG91dGVyIGRpcmVjdG9yeSB0byB0aGUgaGVhZGVyIGd1YXJkCi0gICAgZnVsbF9wYXRo
ID0gZmlsZWluZm8uRnVsbE5hbWUoKQotICAgIHJvb3RfYWJzcGF0aCA9IG9zLnBhdGguYWJzcGF0
aChfcm9vdCkKLQotICAgIG1heWJlX3BhdGggPSBTdHJpcExpc3RQcmVmaXgoUGF0aFNwbGl0VG9M
aXN0KGZ1bGxfcGF0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXRoU3Bs
aXRUb0xpc3Qocm9vdF9hYnNwYXRoKSkKLQotICAgIGlmIF9yb290X2RlYnVnOgotICAgICAgc3lz
LnN0ZGVyci53cml0ZSgoIl9yb290IHByZXBlbmQgKG1heWJlX3BhdGg9JXMsIGZ1bGxfcGF0aD0l
cywgIiArCi0gICAgICAgICAgInJvb3RfYWJzcGF0aD0lcylcbiIpICUobWF5YmVfcGF0aCwgZnVs
bF9wYXRoLCByb290X2Fic3BhdGgpKQotCi0gICAgaWYgbWF5YmVfcGF0aDoKLSAgICAgIHJldHVy
biBvcy5wYXRoLmpvaW4oKm1heWJlX3BhdGgpCiAKLSAgICBpZiBfcm9vdF9kZWJ1ZzoKLSAgICAg
IHN5cy5zdGRlcnIud3JpdGUoIl9yb290IGlnbm9yZSwgcmV0dXJuaW5nICVzXG4iICUoZmlsZV9w
YXRoX2Zyb21fcm9vdCkpCi0KLSAgICAjICAgLS1yb290PUZBS0VfRElSIGlzIGlnbm9yZWQKLSAg
ICByZXR1cm4gZmlsZV9wYXRoX2Zyb21fcm9vdAotCi0gIGZpbGVfcGF0aF9mcm9tX3Jvb3QgPSBG
aXh1cFBhdGhGcm9tUm9vdCgpCi0gIHJldHVybiByZS5zdWIocidbXmEtekEtWjAtOV0nLCAnXycs
IGZpbGVfcGF0aF9mcm9tX3Jvb3QpLnVwcGVyKCkgKyAnXycKLQotCi1kZWYgQ2hlY2tGb3JIZWFk
ZXJHdWFyZChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGVycm9yKToKK2RlZiBDaGVja0ZvckhlYWRl
ckd1YXJkKGZpbGVuYW1lLCBsaW5lcywgZXJyb3IpOgogICAiIiJDaGVja3MgdGhhdCB0aGUgZmls
ZSBjb250YWlucyBhIGhlYWRlciBndWFyZC4KIAogICBMb2dzIGFuIGVycm9yIGlmIG5vICNpZm5k
ZWYgaGVhZGVyIGd1YXJkIGlzIHByZXNlbnQuICBGb3Igb3RoZXIKQEAgLTE4OTAsMjkgKzE0MDMs
MTggQEAgZGVmIENoZWNrRm9ySGVhZGVyR3VhcmQoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBlcnJv
cik6CiAKICAgQXJnczoKICAgICBmaWxlbmFtZTogVGhlIG5hbWUgb2YgdGhlIEMrKyBoZWFkZXIg
ZmlsZS4KLSAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5p
bmcgdGhlIGZpbGUuCisgICAgbGluZXM6IEFuIGFycmF5IG9mIHN0cmluZ3MsIGVhY2ggcmVwcmVz
ZW50aW5nIGEgbGluZSBvZiB0aGUgZmlsZS4KICAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNh
bGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAiIiIKIAotICAjIERvbid0IGNoZWNrIGZvciBo
ZWFkZXIgZ3VhcmRzIGlmIHRoZXJlIGFyZSBlcnJvciBzdXBwcmVzc2lvbgotICAjIGNvbW1lbnRz
IHNvbWV3aGVyZSBpbiB0aGlzIGZpbGUuCi0gICMKLSAgIyBCZWNhdXNlIHRoaXMgaXMgc2lsZW5j
aW5nIGEgd2FybmluZyBmb3IgYSBub25leGlzdGVudCBsaW5lLCB3ZQotICAjIG9ubHkgc3VwcG9y
dCB0aGUgdmVyeSBzcGVjaWZpYyBOT0xJTlQoYnVpbGQvaGVhZGVyX2d1YXJkKSBzeW50YXgsCi0g
ICMgYW5kIG5vdCB0aGUgZ2VuZXJhbCBOT0xJTlQgb3IgTk9MSU5UKCopIHN5bnRheC4KLSAgcmF3
X2xpbmVzID0gY2xlYW5fbGluZXMubGluZXNfd2l0aG91dF9yYXdfc3RyaW5ncwotICBmb3IgaSBp
biByYXdfbGluZXM6Ci0gICAgaWYgU2VhcmNoKHInLy9ccypOT0xJTlRcKGJ1aWxkL2hlYWRlcl9n
dWFyZFwpJywgaSk6Ci0gICAgICByZXR1cm4KLQogICBjcHB2YXIgPSBHZXRIZWFkZXJHdWFyZENQ
UFZhcmlhYmxlKGZpbGVuYW1lKQogCi0gIGlmbmRlZiA9ICcnCisgIGlmbmRlZiA9IE5vbmUKICAg
aWZuZGVmX2xpbmVudW0gPSAwCi0gIGRlZmluZSA9ICcnCi0gIGVuZGlmID0gJycKKyAgZGVmaW5l
ID0gTm9uZQorICBlbmRpZiA9IE5vbmUKICAgZW5kaWZfbGluZW51bSA9IDAKLSAgZm9yIGxpbmVu
dW0sIGxpbmUgaW4gZW51bWVyYXRlKHJhd19saW5lcyk6CisgIGZvciBsaW5lbnVtLCBsaW5lIGlu
IGVudW1lcmF0ZShsaW5lcyk6CiAgICAgbGluZXNwbGl0ID0gbGluZS5zcGxpdCgpCiAgICAgaWYg
bGVuKGxpbmVzcGxpdCkgPj0gMjoKICAgICAgICMgZmluZCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBv
ZiAjaWZuZGVmIGFuZCAjZGVmaW5lLCBzYXZlIGFyZwpAQCAtMTkyNywxMiArMTQyOSwxOCBAQCBk
ZWYgQ2hlY2tGb3JIZWFkZXJHdWFyZChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGVycm9yKToKICAg
ICAgIGVuZGlmID0gbGluZQogICAgICAgZW5kaWZfbGluZW51bSA9IGxpbmVudW0KIAotICBpZiBu
b3QgaWZuZGVmIG9yIG5vdCBkZWZpbmUgb3IgaWZuZGVmICE9IGRlZmluZToKKyAgaWYgbm90IGlm
bmRlZjoKICAgICBlcnJvcihmaWxlbmFtZSwgMCwgJ2J1aWxkL2hlYWRlcl9ndWFyZCcsIDUsCiAg
ICAgICAgICAgJ05vICNpZm5kZWYgaGVhZGVyIGd1YXJkIGZvdW5kLCBzdWdnZXN0ZWQgQ1BQIHZh
cmlhYmxlIGlzOiAlcycgJQogICAgICAgICAgIGNwcHZhcikKICAgICByZXR1cm4KIAorICBpZiBu
b3QgZGVmaW5lOgorICAgIGVycm9yKGZpbGVuYW1lLCAwLCAnYnVpbGQvaGVhZGVyX2d1YXJkJywg
NSwKKyAgICAgICAgICAnTm8gI2RlZmluZSBoZWFkZXIgZ3VhcmQgZm91bmQsIHN1Z2dlc3RlZCBD
UFAgdmFyaWFibGUgaXM6ICVzJyAlCisgICAgICAgICAgY3BwdmFyKQorICAgIHJldHVybgorCiAg
ICMgVGhlIGd1YXJkIHNob3VsZCBiZSBQQVRIX0ZJTEVfSF8sIGJ1dCB3ZSBhbHNvIGFsbG93IFBB
VEhfRklMRV9IX18KICAgIyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KICAgaWYgaWZuZGVm
ICE9IGNwcHZhcjoKQEAgLTE5NDAsNjkgKzE0NDgsMjYgQEAgZGVmIENoZWNrRm9ySGVhZGVyR3Vh
cmQoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBlcnJvcik6CiAgICAgaWYgaWZuZGVmICE9IGNwcHZh
ciArICdfJzoKICAgICAgIGVycm9yX2xldmVsID0gNQogCi0gICAgUGFyc2VOb2xpbnRTdXBwcmVz
c2lvbnMoZmlsZW5hbWUsIHJhd19saW5lc1tpZm5kZWZfbGluZW51bV0sIGlmbmRlZl9saW5lbnVt
LAorICAgIFBhcnNlTm9saW50U3VwcHJlc3Npb25zKGZpbGVuYW1lLCBsaW5lc1tpZm5kZWZfbGlu
ZW51bV0sIGlmbmRlZl9saW5lbnVtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9y
KQogICAgIGVycm9yKGZpbGVuYW1lLCBpZm5kZWZfbGluZW51bSwgJ2J1aWxkL2hlYWRlcl9ndWFy
ZCcsIGVycm9yX2xldmVsLAogICAgICAgICAgICcjaWZuZGVmIGhlYWRlciBndWFyZCBoYXMgd3Jv
bmcgc3R5bGUsIHBsZWFzZSB1c2U6ICVzJyAlIGNwcHZhcikKIAotICAjIENoZWNrIGZvciAiLy8i
IGNvbW1lbnRzIG9uIGVuZGlmIGxpbmUuCi0gIFBhcnNlTm9saW50U3VwcHJlc3Npb25zKGZpbGVu
YW1lLCByYXdfbGluZXNbZW5kaWZfbGluZW51bV0sIGVuZGlmX2xpbmVudW0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGVycm9yKQotICBtYXRjaCA9IE1hdGNoKHInI2VuZGlmXHMqLy9ccyon
ICsgY3BwdmFyICsgcicoXyk/XGInLCBlbmRpZikKLSAgaWYgbWF0Y2g6Ci0gICAgaWYgbWF0Y2gu
Z3JvdXAoMSkgPT0gJ18nOgotICAgICAgIyBJc3N1ZSBsb3cgc2V2ZXJpdHkgd2FybmluZyBmb3Ig
ZGVwcmVjYXRlZCBkb3VibGUgdHJhaWxpbmcgdW5kZXJzY29yZQotICAgICAgZXJyb3IoZmlsZW5h
bWUsIGVuZGlmX2xpbmVudW0sICdidWlsZC9oZWFkZXJfZ3VhcmQnLCAwLAotICAgICAgICAgICAg
JyNlbmRpZiBsaW5lIHNob3VsZCBiZSAiI2VuZGlmICAvLyAlcyInICUgY3BwdmFyKQotICAgIHJl
dHVybgotCi0gICMgRGlkbid0IGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgIi8vIiBjb21tZW50LiAg
SWYgdGhpcyBmaWxlIGRvZXMgbm90Ci0gICMgY29udGFpbiBhbnkgIi8vIiBjb21tZW50cyBhdCBh
bGwsIGl0IGNvdWxkIGJlIHRoYXQgdGhlIGNvbXBpbGVyCi0gICMgb25seSB3YW50cyAiLyoqLyIg
Y29tbWVudHMsIGxvb2sgZm9yIHRob3NlIGluc3RlYWQuCi0gIG5vX3NpbmdsZV9saW5lX2NvbW1l
bnRzID0gVHJ1ZQotICBmb3IgaSBpbiB4cmFuZ2UoMSwgbGVuKHJhd19saW5lcykgLSAxKToKLSAg
ICBsaW5lID0gcmF3X2xpbmVzW2ldCi0gICAgaWYgTWF0Y2gocideKD86KD86XCcoPzpcLnxbXlwn
XSkqXCcpfCg/OiIoPzpcLnxbXiJdKSoiKXxbXlwnIl0pKi8vJywgbGluZSk6Ci0gICAgICBub19z
aW5nbGVfbGluZV9jb21tZW50cyA9IEZhbHNlCi0gICAgICBicmVhawotCi0gIGlmIG5vX3Npbmds
ZV9saW5lX2NvbW1lbnRzOgotICAgIG1hdGNoID0gTWF0Y2gocicjZW5kaWZccyovXCpccyonICsg
Y3BwdmFyICsgcicoXyk/XHMqXCovJywgZW5kaWYpCi0gICAgaWYgbWF0Y2g6Ci0gICAgICBpZiBt
YXRjaC5ncm91cCgxKSA9PSAnXyc6Ci0gICAgICAgICMgTG93IHNldmVyaXR5IHdhcm5pbmcgZm9y
IGRvdWJsZSB0cmFpbGluZyB1bmRlcnNjb3JlCi0gICAgICAgIGVycm9yKGZpbGVuYW1lLCBlbmRp
Zl9saW5lbnVtLCAnYnVpbGQvaGVhZGVyX2d1YXJkJywgMCwKLSAgICAgICAgICAgICAgJyNlbmRp
ZiBsaW5lIHNob3VsZCBiZSAiI2VuZGlmICAvKiAlcyAqLyInICUgY3BwdmFyKQotICAgICAgcmV0
dXJuCi0KLSAgIyBEaWRuJ3QgZmluZCBhbnl0aGluZwotICBlcnJvcihmaWxlbmFtZSwgZW5kaWZf
bGluZW51bSwgJ2J1aWxkL2hlYWRlcl9ndWFyZCcsIDUsCi0gICAgICAgICcjZW5kaWYgbGluZSBz
aG91bGQgYmUgIiNlbmRpZiAgLy8gJXMiJyAlIGNwcHZhcikKLQotCi1kZWYgQ2hlY2tIZWFkZXJG
aWxlSW5jbHVkZWQoZmlsZW5hbWUsIGluY2x1ZGVfc3RhdGUsIGVycm9yKToKLSAgIiIiTG9ncyBh
biBlcnJvciBpZiBhIC5jYyBmaWxlIGRvZXMgbm90IGluY2x1ZGUgaXRzIGhlYWRlci4iIiIKLQot
ICAjIERvIG5vdCBjaGVjayB0ZXN0IGZpbGVzCi0gIGZpbGVpbmZvID0gRmlsZUluZm8oZmlsZW5h
bWUpCi0gIGlmIFNlYXJjaChfVEVTVF9GSUxFX1NVRkZJWCwgZmlsZWluZm8uQmFzZU5hbWUoKSk6
CisgIGlmIGRlZmluZSAhPSBpZm5kZWY6CisgICAgZXJyb3IoZmlsZW5hbWUsIDAsICdidWlsZC9o
ZWFkZXJfZ3VhcmQnLCA1LAorICAgICAgICAgICcjaWZuZGVmIGFuZCAjZGVmaW5lIGRvblwndCBt
YXRjaCwgc3VnZ2VzdGVkIENQUCB2YXJpYWJsZSBpczogJXMnICUKKyAgICAgICAgICBjcHB2YXIp
CiAgICAgcmV0dXJuCiAKLSAgaGVhZGVyZmlsZSA9IGZpbGVuYW1lWzA6bGVuKGZpbGVuYW1lKSAt
IGxlbihmaWxlaW5mby5FeHRlbnNpb24oKSldICsgJy5oJwotICBpZiBub3Qgb3MucGF0aC5leGlz
dHMoaGVhZGVyZmlsZSk6Ci0gICAgcmV0dXJuCi0gIGhlYWRlcm5hbWUgPSBGaWxlSW5mbyhoZWFk
ZXJmaWxlKS5SZXBvc2l0b3J5TmFtZSgpCi0gIGZpcnN0X2luY2x1ZGUgPSAwCi0gIGZvciBzZWN0
aW9uX2xpc3QgaW4gaW5jbHVkZV9zdGF0ZS5pbmNsdWRlX2xpc3Q6Ci0gICAgZm9yIGYgaW4gc2Vj
dGlvbl9saXN0OgotICAgICAgaWYgaGVhZGVybmFtZSBpbiBmWzBdIG9yIGZbMF0gaW4gaGVhZGVy
bmFtZToKLSAgICAgICAgcmV0dXJuCi0gICAgICBpZiBub3QgZmlyc3RfaW5jbHVkZToKLSAgICAg
ICAgZmlyc3RfaW5jbHVkZSA9IGZbMV0KKyAgaWYgZW5kaWYgIT0gKCcjZW5kaWYgIC8vICVzJyAl
IGNwcHZhcik6CisgICAgZXJyb3JfbGV2ZWwgPSAwCisgICAgaWYgZW5kaWYgIT0gKCcjZW5kaWYg
IC8vICVzJyAlIChjcHB2YXIgKyAnXycpKToKKyAgICAgIGVycm9yX2xldmVsID0gNQogCi0gIGVy
cm9yKGZpbGVuYW1lLCBmaXJzdF9pbmNsdWRlLCAnYnVpbGQvaW5jbHVkZScsIDUsCi0gICAgICAg
ICclcyBzaG91bGQgaW5jbHVkZSBpdHMgaGVhZGVyIGZpbGUgJXMnICUgKGZpbGVpbmZvLlJlcG9z
aXRvcnlOYW1lKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlYWRlcm5hbWUpKQorICAgIFBhcnNlTm9saW50U3VwcHJlc3Npb25zKGZpbGVuYW1l
LCBsaW5lc1tlbmRpZl9saW5lbnVtXSwgZW5kaWZfbGluZW51bSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlcnJvcikKKyAgICBlcnJvcihmaWxlbmFtZSwgZW5kaWZfbGluZW51bSwgJ2J1
aWxkL2hlYWRlcl9ndWFyZCcsIGVycm9yX2xldmVsLAorICAgICAgICAgICcjZW5kaWYgbGluZSBz
aG91bGQgYmUgIiNlbmRpZiAgLy8gJXMiJyAlIGNwcHZhcikKIAogCiBkZWYgQ2hlY2tGb3JCYWRD
aGFyYWN0ZXJzKGZpbGVuYW1lLCBsaW5lcywgZXJyb3IpOgpAQCAtMjA4NiwzMyArMTU1MSwxOSBA
QCBkZWYgQ2hlY2tGb3JNdWx0aWxpbmVDb21tZW50c0FuZFN0cmluZ3MoZmlsZW5hbWUsIGNsZWFu
X2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6CiAgICAgICAgICAgJ1VzZSBDKysxMSByYXcgc3RyaW5n
cyBvciBjb25jYXRlbmF0aW9uIGluc3RlYWQuJykKIAogCi0jIChub24tdGhyZWFkc2FmZSBuYW1l
LCB0aHJlYWQtc2FmZSBhbHRlcm5hdGl2ZSwgdmFsaWRhdGlvbiBwYXR0ZXJuKQotIwotIyBUaGUg
dmFsaWRhdGlvbiBwYXR0ZXJuIGlzIHVzZWQgdG8gZWxpbWluYXRlIGZhbHNlIHBvc2l0aXZlcyBz
dWNoIGFzOgotIyAgX3JhbmQoKTsgICAgICAgICAgICAgICAvLyBmYWxzZSBwb3NpdGl2ZSBkdWUg
dG8gc3Vic3RyaW5nIG1hdGNoLgotIyAgLT5yYW5kKCk7ICAgICAgICAgICAgICAvLyBzb21lIG1l
bWJlciBmdW5jdGlvbiByYW5kKCkuCi0jICBBQ01SYW5kb20gcmFuZChzZWVkKTsgIC8vIHNvbWUg
dmFyaWFibGUgbmFtZWQgcmFuZC4KLSMgIElTQUFDUmFuZG9tIHJhbmQoKTsgICAgLy8gYW5vdGhl
ciB2YXJpYWJsZSBuYW1lZCByYW5kLgotIwotIyBCYXNpY2FsbHkgd2UgcmVxdWlyZSB0aGUgcmV0
dXJuIHZhbHVlIG9mIHRoZXNlIGZ1bmN0aW9ucyB0byBiZSB1c2VkCi0jIGluIHNvbWUgZXhwcmVz
c2lvbiBjb250ZXh0IG9uIHRoZSBzYW1lIGxpbmUgYnkgbWF0Y2hpbmcgb24gc29tZQotIyBvcGVy
YXRvciBiZWZvcmUgdGhlIGZ1bmN0aW9uIG5hbWUuICBUaGlzIGVsaW1pbmF0ZXMgY29uc3RydWN0
b3JzIGFuZAotIyBtZW1iZXIgZnVuY3Rpb24gY2FsbHMuCi1fVU5TQUZFX0ZVTkNfUFJFRklYID0g
cicoPzpbLSsqLz0lXiZ8KDxdXHMqfD5ccyspJwotX1RIUkVBRElOR19MSVNUID0gKAotICAgICgn
YXNjdGltZSgnLCAnYXNjdGltZV9yKCcsIF9VTlNBRkVfRlVOQ19QUkVGSVggKyByJ2FzY3RpbWVc
KFteKV0rXCknKSwKLSAgICAoJ2N0aW1lKCcsICdjdGltZV9yKCcsIF9VTlNBRkVfRlVOQ19QUkVG
SVggKyByJ2N0aW1lXChbXildK1wpJyksCi0gICAgKCdnZXRncmdpZCgnLCAnZ2V0Z3JnaWRfcign
LCBfVU5TQUZFX0ZVTkNfUFJFRklYICsgcidnZXRncmdpZFwoW14pXStcKScpLAotICAgICgnZ2V0
Z3JuYW0oJywgJ2dldGdybmFtX3IoJywgX1VOU0FGRV9GVU5DX1BSRUZJWCArIHInZ2V0Z3JuYW1c
KFteKV0rXCknKSwKLSAgICAoJ2dldGxvZ2luKCcsICdnZXRsb2dpbl9yKCcsIF9VTlNBRkVfRlVO
Q19QUkVGSVggKyByJ2dldGxvZ2luXChcKScpLAotICAgICgnZ2V0cHduYW0oJywgJ2dldHB3bmFt
X3IoJywgX1VOU0FGRV9GVU5DX1BSRUZJWCArIHInZ2V0cHduYW1cKFteKV0rXCknKSwKLSAgICAo
J2dldHB3dWlkKCcsICdnZXRwd3VpZF9yKCcsIF9VTlNBRkVfRlVOQ19QUkVGSVggKyByJ2dldHB3
dWlkXChbXildK1wpJyksCi0gICAgKCdnbXRpbWUoJywgJ2dtdGltZV9yKCcsIF9VTlNBRkVfRlVO
Q19QUkVGSVggKyByJ2dtdGltZVwoW14pXStcKScpLAotICAgICgnbG9jYWx0aW1lKCcsICdsb2Nh
bHRpbWVfcignLCBfVU5TQUZFX0ZVTkNfUFJFRklYICsgcidsb2NhbHRpbWVcKFteKV0rXCknKSwK
LSAgICAoJ3JhbmQoJywgJ3JhbmRfcignLCBfVU5TQUZFX0ZVTkNfUFJFRklYICsgcidyYW5kXChc
KScpLAotICAgICgnc3RydG9rKCcsICdzdHJ0b2tfcignLAotICAgICBfVU5TQUZFX0ZVTkNfUFJF
RklYICsgcidzdHJ0b2tcKFteKV0rXCknKSwKLSAgICAoJ3R0eW5hbWUoJywgJ3R0eW5hbWVfcign
LCBfVU5TQUZFX0ZVTkNfUFJFRklYICsgcid0dHluYW1lXChbXildK1wpJyksCit0aHJlYWRpbmdf
bGlzdCA9ICgKKyAgICAoJ2FzY3RpbWUoJywgJ2FzY3RpbWVfcignKSwKKyAgICAoJ2N0aW1lKCcs
ICdjdGltZV9yKCcpLAorICAgICgnZ2V0Z3JnaWQoJywgJ2dldGdyZ2lkX3IoJyksCisgICAgKCdn
ZXRncm5hbSgnLCAnZ2V0Z3JuYW1fcignKSwKKyAgICAoJ2dldGxvZ2luKCcsICdnZXRsb2dpbl9y
KCcpLAorICAgICgnZ2V0cHduYW0oJywgJ2dldHB3bmFtX3IoJyksCisgICAgKCdnZXRwd3VpZCgn
LCAnZ2V0cHd1aWRfcignKSwKKyAgICAoJ2dtdGltZSgnLCAnZ210aW1lX3IoJyksCisgICAgKCds
b2NhbHRpbWUoJywgJ2xvY2FsdGltZV9yKCcpLAorICAgICgncmFuZCgnLCAncmFuZF9yKCcpLAor
ICAgICgnc3RydG9rKCcsICdzdHJ0b2tfcignKSwKKyAgICAoJ3R0eW5hbWUoJywgJ3R0eW5hbWVf
cignKSwKICAgICApCiAKIApAQCAtMjEzMiwxMyArMTU4MywxNCBAQCBkZWYgQ2hlY2tQb3NpeFRo
cmVhZGluZyhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKToKICAgICBlcnJv
cjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAiIiIKICAg
bGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtXQotICBmb3Igc2luZ2xlX3RocmVhZF9m
dW5jLCBtdWx0aXRocmVhZF9zYWZlX2Z1bmMsIHBhdHRlcm4gaW4gX1RIUkVBRElOR19MSVNUOgot
ICAgICMgQWRkaXRpb25hbCBwYXR0ZXJuIG1hdGNoaW5nIGNoZWNrIHRvIGNvbmZpcm0gdGhhdCB0
aGlzIGlzIHRoZQotICAgICMgZnVuY3Rpb24gd2UgYXJlIGxvb2tpbmcgZm9yCi0gICAgaWYgU2Vh
cmNoKHBhdHRlcm4sIGxpbmUpOgorICBmb3Igc2luZ2xlX3RocmVhZF9mdW5jdGlvbiwgbXVsdGl0
aHJlYWRfc2FmZV9mdW5jdGlvbiBpbiB0aHJlYWRpbmdfbGlzdDoKKyAgICBpeCA9IGxpbmUuZmlu
ZChzaW5nbGVfdGhyZWFkX2Z1bmN0aW9uKQorICAgICMgQ29tcGFyaXNvbnMgbWFkZSBleHBsaWNp
dCBmb3IgY2xhcml0eSAtLSBweWxpbnQ6IGRpc2FibGU9Zy1leHBsaWNpdC1ib29sLWNvbXBhcmlz
b24KKyAgICBpZiBpeCA+PSAwIGFuZCAoaXggPT0gMCBvciAobm90IGxpbmVbaXggLSAxXS5pc2Fs
bnVtKCkgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVbaXggLSAxXSBu
b3QgaW4gKCdfJywgJy4nLCAnPicpKSk6CiAgICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwg
J3J1bnRpbWUvdGhyZWFkc2FmZV9mbicsIDIsCi0gICAgICAgICAgICAnQ29uc2lkZXIgdXNpbmcg
JyArIG11bHRpdGhyZWFkX3NhZmVfZnVuYyArCi0gICAgICAgICAgICAnLi4uKSBpbnN0ZWFkIG9m
ICcgKyBzaW5nbGVfdGhyZWFkX2Z1bmMgKworICAgICAgICAgICAgJ0NvbnNpZGVyIHVzaW5nICcg
KyBtdWx0aXRocmVhZF9zYWZlX2Z1bmN0aW9uICsKKyAgICAgICAgICAgICcuLi4pIGluc3RlYWQg
b2YgJyArIHNpbmdsZV90aHJlYWRfZnVuY3Rpb24gKwogICAgICAgICAgICAgJy4uLikgZm9yIGlt
cHJvdmVkIHRocmVhZCBzYWZldHkuJykKIAogCkBAIC0yMTYwLDYgKzE2MTIsNyBAQCBkZWYgQ2hl
Y2tWbG9nQXJndW1lbnRzKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgog
ICAgICAgICAgICdWTE9HKCkgc2hvdWxkIGJlIHVzZWQgd2l0aCBudW1lcmljIHZlcmJvc2l0eSBs
ZXZlbC4gICcKICAgICAgICAgICAnVXNlIExPRygpIGlmIHlvdSB3YW50IHN5bWJvbGljIHNldmVy
aXR5IGxldmVscy4nKQogCisKICMgTWF0Y2hlcyBpbnZhbGlkIGluY3JlbWVudDogKmNvdW50Kyss
IHdoaWNoIG1vdmVzIHBvaW50ZXIgaW5zdGVhZCBvZgogIyBpbmNyZW1lbnRpbmcgYSB2YWx1ZS4K
IF9SRV9QQVRURVJOX0lOVkFMSURfSU5DUkVNRU5UID0gcmUuY29tcGlsZSgKQEAgLTIxODgsMjkg
KzE2NDEsMTMgQEAgZGVmIENoZWNrSW52YWxpZEluY3JlbWVudChmaWxlbmFtZSwgY2xlYW5fbGlu
ZXMsIGxpbmVudW0sIGVycm9yKToKICAgICAgICAgICAnQ2hhbmdpbmcgcG9pbnRlciBpbnN0ZWFk
IG9mIHZhbHVlIChvciB1bnVzZWQgdmFsdWUgb2Ygb3BlcmF0b3IqKS4nKQogCiAKLWRlZiBJc01h
Y3JvRGVmaW5pdGlvbihjbGVhbl9saW5lcywgbGluZW51bSk6Ci0gIGlmIFNlYXJjaChyJ14jZGVm
aW5lJywgY2xlYW5fbGluZXNbbGluZW51bV0pOgotICAgIHJldHVybiBUcnVlCi0KLSAgaWYgbGlu
ZW51bSA+IDAgYW5kIFNlYXJjaChyJ1xcJCcsIGNsZWFuX2xpbmVzW2xpbmVudW0gLSAxXSk6Ci0g
ICAgcmV0dXJuIFRydWUKLQotICByZXR1cm4gRmFsc2UKLQotCi1kZWYgSXNGb3J3YXJkQ2xhc3NE
ZWNsYXJhdGlvbihjbGVhbl9saW5lcywgbGluZW51bSk6Ci0gIHJldHVybiBNYXRjaChyJ15ccyoo
XGJ0ZW1wbGF0ZVxiKSouKmNsYXNzXHMrXHcrO1xzKiQnLCBjbGVhbl9saW5lc1tsaW5lbnVtXSkK
LQotCiBjbGFzcyBfQmxvY2tJbmZvKG9iamVjdCk6CiAgICIiIlN0b3JlcyBpbmZvcm1hdGlvbiBh
Ym91dCBhIGdlbmVyaWMgYmxvY2sgb2YgY29kZS4iIiIKIAotICBkZWYgX19pbml0X18oc2VsZiwg
bGluZW51bSwgc2Vlbl9vcGVuX2JyYWNlKToKLSAgICBzZWxmLnN0YXJ0aW5nX2xpbmVudW0gPSBs
aW5lbnVtCisgIGRlZiBfX2luaXRfXyhzZWxmLCBzZWVuX29wZW5fYnJhY2UpOgogICAgIHNlbGYu
c2Vlbl9vcGVuX2JyYWNlID0gc2Vlbl9vcGVuX2JyYWNlCiAgICAgc2VsZi5vcGVuX3BhcmVudGhl
c2VzID0gMAogICAgIHNlbGYuaW5saW5lX2FzbSA9IF9OT19BU00KLSAgICBzZWxmLmNoZWNrX25h
bWVzcGFjZV9pbmRlbnRhdGlvbiA9IEZhbHNlCiAKICAgZGVmIENoZWNrQmVnaW4oc2VsZiwgZmls
ZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6CiAgICAgIiIiUnVuIGNoZWNrcyB0
aGF0IGFwcGxpZXMgdG8gdGV4dCB1cCB0byB0aGUgb3BlbmluZyBicmFjZS4KQEAgLTIyNDAsMzMg
KzE2NzcsMTUgQEAgY2xhc3MgX0Jsb2NrSW5mbyhvYmplY3QpOgogICAgICIiIgogICAgIHBhc3MK
IAotICBkZWYgSXNCbG9ja0luZm8oc2VsZik6Ci0gICAgIiIiUmV0dXJucyB0cnVlIGlmIHRoaXMg
YmxvY2sgaXMgYSBfQmxvY2tJbmZvLgotCi0gICAgVGhpcyBpcyBjb252ZW5pZW50IGZvciB2ZXJp
ZnlpbmcgdGhhdCBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YKLSAgICBhIF9CbG9ja0luZm8s
IGJ1dCBub3QgYW4gaW5zdGFuY2Ugb2YgYW55IG9mIHRoZSBkZXJpdmVkIGNsYXNzZXMuCi0KLSAg
ICBSZXR1cm5zOgotICAgICAgVHJ1ZSBmb3IgdGhpcyBjbGFzcywgRmFsc2UgZm9yIGRlcml2ZWQg
Y2xhc3Nlcy4KLSAgICAiIiIKLSAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18gPT0gX0Jsb2NrSW5m
bwotCi0KLWNsYXNzIF9FeHRlcm5DSW5mbyhfQmxvY2tJbmZvKToKLSAgIiIiU3RvcmVzIGluZm9y
bWF0aW9uIGFib3V0IGFuICdleHRlcm4gIkMiJyBibG9jay4iIiIKLQotICBkZWYgX19pbml0X18o
c2VsZiwgbGluZW51bSk6Ci0gICAgX0Jsb2NrSW5mby5fX2luaXRfXyhzZWxmLCBsaW5lbnVtLCBU
cnVlKQotCiAKIGNsYXNzIF9DbGFzc0luZm8oX0Jsb2NrSW5mbyk6CiAgICIiIlN0b3JlcyBpbmZv
cm1hdGlvbiBhYm91dCBhIGNsYXNzLiIiIgogCiAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBj
bGFzc19vcl9zdHJ1Y3QsIGNsZWFuX2xpbmVzLCBsaW5lbnVtKToKLSAgICBfQmxvY2tJbmZvLl9f
aW5pdF9fKHNlbGYsIGxpbmVudW0sIEZhbHNlKQorICAgIF9CbG9ja0luZm8uX19pbml0X18oc2Vs
ZiwgRmFsc2UpCiAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgIHNlbGYuc3RhcnRpbmdfbGluZW51
bSA9IGxpbmVudW0KICAgICBzZWxmLmlzX2Rlcml2ZWQgPSBGYWxzZQotICAgIHNlbGYuY2hlY2tf
bmFtZXNwYWNlX2luZGVudGF0aW9uID0gVHJ1ZQogICAgIGlmIGNsYXNzX29yX3N0cnVjdCA9PSAn
c3RydWN0JzoKICAgICAgIHNlbGYuYWNjZXNzID0gJ3B1YmxpYycKICAgICAgIHNlbGYuaXNfc3Ry
dWN0ID0gVHJ1ZQpAQCAtMjI3Niw3ICsxNjk1LDExIEBAIGNsYXNzIF9DbGFzc0luZm8oX0Jsb2Nr
SW5mbyk6CiAKICAgICAjIFJlbWVtYmVyIGluaXRpYWwgaW5kZW50YXRpb24gbGV2ZWwgZm9yIHRo
aXMgY2xhc3MuICBVc2luZyByYXdfbGluZXMgaGVyZQogICAgICMgaW5zdGVhZCBvZiBlbGlkZWQg
dG8gYWNjb3VudCBmb3IgbGVhZGluZyBjb21tZW50cy4KLSAgICBzZWxmLmNsYXNzX2luZGVudCA9
IEdldEluZGVudExldmVsKGNsZWFuX2xpbmVzLnJhd19saW5lc1tsaW5lbnVtXSkKKyAgICBpbml0
aWFsX2luZGVudCA9IE1hdGNoKHInXiggKilcUycsIGNsZWFuX2xpbmVzLnJhd19saW5lc1tsaW5l
bnVtXSkKKyAgICBpZiBpbml0aWFsX2luZGVudDoKKyAgICAgIHNlbGYuY2xhc3NfaW5kZW50ID0g
bGVuKGluaXRpYWxfaW5kZW50Lmdyb3VwKDEpKQorICAgIGVsc2U6CisgICAgICBzZWxmLmNsYXNz
X2luZGVudCA9IDAKIAogICAgICMgVHJ5IHRvIGZpbmQgdGhlIGVuZCBvZiB0aGUgY2xhc3MuICBU
aGlzIHdpbGwgYmUgY29uZnVzZWQgYnkgdGhpbmdzIGxpa2U6CiAgICAgIyAgIGNsYXNzIEEgewpA
QCAtMjI5OCwyMyArMTcyMSw2IEBAIGNsYXNzIF9DbGFzc0luZm8oX0Jsb2NrSW5mbyk6CiAgICAg
ICBzZWxmLmlzX2Rlcml2ZWQgPSBUcnVlCiAKICAgZGVmIENoZWNrRW5kKHNlbGYsIGZpbGVuYW1l
LCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgotICAgICMgSWYgdGhlcmUgaXMgYSBESVNB
TExPVyBtYWNybywgaXQgc2hvdWxkIGFwcGVhciBuZWFyIHRoZSBlbmQgb2YKLSAgICAjIHRoZSBj
bGFzcy4KLSAgICBzZWVuX2xhc3RfdGhpbmdfaW5fY2xhc3MgPSBGYWxzZQotICAgIGZvciBpIGlu
IHhyYW5nZShsaW5lbnVtIC0gMSwgc2VsZi5zdGFydGluZ19saW5lbnVtLCAtMSk6Ci0gICAgICBt
YXRjaCA9IFNlYXJjaCgKLSAgICAgICAgICByJ1xiKERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTnxE
SVNBTExPV19JTVBMSUNJVF9DT05TVFJVQ1RPUlMpXCgnICsKLSAgICAgICAgICBzZWxmLm5hbWUg
KyByJ1wpJywKLSAgICAgICAgICBjbGVhbl9saW5lcy5lbGlkZWRbaV0pCi0gICAgICBpZiBtYXRj
aDoKLSAgICAgICAgaWYgc2Vlbl9sYXN0X3RoaW5nX2luX2NsYXNzOgotICAgICAgICAgIGVycm9y
KGZpbGVuYW1lLCBpLCAncmVhZGFiaWxpdHkvY29uc3RydWN0b3JzJywgMywKLSAgICAgICAgICAg
ICAgICBtYXRjaC5ncm91cCgxKSArICcgc2hvdWxkIGJlIHRoZSBsYXN0IHRoaW5nIGluIHRoZSBj
bGFzcycpCi0gICAgICAgIGJyZWFrCi0KLSAgICAgIGlmIG5vdCBNYXRjaChyJ15ccyokJywgY2xl
YW5fbGluZXMuZWxpZGVkW2ldKToKLSAgICAgICAgc2Vlbl9sYXN0X3RoaW5nX2luX2NsYXNzID0g
VHJ1ZQotCiAgICAgIyBDaGVjayB0aGF0IGNsb3NpbmcgYnJhY2UgaXMgYWxpZ25lZCB3aXRoIGJl
Z2lubmluZyBvZiB0aGUgY2xhc3MuCiAgICAgIyBPbmx5IGRvIHRoaXMgaWYgdGhlIGNsb3Npbmcg
YnJhY2UgaXMgaW5kZW50ZWQgYnkgb25seSB3aGl0ZXNwYWNlcy4KICAgICAjIFRoaXMgbWVhbnMg
d2Ugd2lsbCBub3QgY2hlY2sgc2luZ2xlLWxpbmUgY2xhc3MgZGVmaW5pdGlvbnMuCkBAIC0yMzMy
LDkgKzE3MzgsOSBAQCBjbGFzcyBfTmFtZXNwYWNlSW5mbyhfQmxvY2tJbmZvKToKICAgIiIiU3Rv
cmVzIGluZm9ybWF0aW9uIGFib3V0IGEgbmFtZXNwYWNlLiIiIgogCiAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBuYW1lLCBsaW5lbnVtKToKLSAgICBfQmxvY2tJbmZvLl9faW5pdF9fKHNlbGYsIGxpbmVu
dW0sIEZhbHNlKQorICAgIF9CbG9ja0luZm8uX19pbml0X18oc2VsZiwgRmFsc2UpCiAgICAgc2Vs
Zi5uYW1lID0gbmFtZSBvciAnJwotICAgIHNlbGYuY2hlY2tfbmFtZXNwYWNlX2luZGVudGF0aW9u
ID0gVHJ1ZQorICAgIHNlbGYuc3RhcnRpbmdfbGluZW51bSA9IGxpbmVudW0KIAogICBkZWYgQ2hl
Y2tFbmQoc2VsZiwgZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6CiAgICAg
IiIiQ2hlY2sgZW5kIG9mIG5hbWVzcGFjZSBjb21tZW50cy4iIiIKQEAgLTIzNTIsNyArMTc1OCw3
IEBAIGNsYXNzIF9OYW1lc3BhY2VJbmZvKF9CbG9ja0luZm8pOgogICAgICMgZGVjaWRpbmcgd2hh
dCB0aGVzZSBub250cml2aWFsIHRoaW5ncyBhcmUsIHNvIHRoaXMgY2hlY2sgaXMKICAgICAjIHRy
aWdnZXJlZCBieSBuYW1lc3BhY2Ugc2l6ZSBvbmx5LCB3aGljaCB3b3JrcyBtb3N0IG9mIHRoZSB0
aW1lLgogICAgIGlmIChsaW5lbnVtIC0gc2VsZi5zdGFydGluZ19saW5lbnVtIDwgMTAKLSAgICAg
ICAgYW5kIG5vdCBNYXRjaChyJ15ccyp9OypccyooLy98L1wqKS4qXGJuYW1lc3BhY2VcYicsIGxp
bmUpKToKKyAgICAgICAgYW5kIG5vdCBNYXRjaChyJ307KlxzKigvL3wvXCopLipcYm5hbWVzcGFj
ZVxiJywgbGluZSkpOgogICAgICAgcmV0dXJuCiAKICAgICAjIExvb2sgZm9yIG1hdGNoaW5nIGNv
bW1lbnQgYXQgZW5kIG9mIG5hbWVzcGFjZS4KQEAgLTIzNjksMjQgKzE3NzUsMTcgQEAgY2xhc3Mg
X05hbWVzcGFjZUluZm8oX0Jsb2NrSW5mbyk6CiAgICAgIyBleHBlY3RlZCBuYW1lc3BhY2UuCiAg
ICAgaWYgc2VsZi5uYW1lOgogICAgICAgIyBOYW1lZCBuYW1lc3BhY2UKLSAgICAgIGlmIG5vdCBN
YXRjaCgocideXHMqfTsqXHMqKC8vfC9cKikuKlxibmFtZXNwYWNlXHMrJyArCi0gICAgICAgICAg
ICAgICAgICAgIHJlLmVzY2FwZShzZWxmLm5hbWUpICsgcidbXCovXC5cXFxzXSokJyksCisgICAg
ICBpZiBub3QgTWF0Y2goKHInfTsqXHMqKC8vfC9cKikuKlxibmFtZXNwYWNlXHMrJyArIHJlLmVz
Y2FwZShzZWxmLm5hbWUpICsKKyAgICAgICAgICAgICAgICAgICAgcidbXCovXC5cXFxzXSokJyks
CiAgICAgICAgICAgICAgICAgICAgbGluZSk6CiAgICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5l
bnVtLCAncmVhZGFiaWxpdHkvbmFtZXNwYWNlJywgNSwKICAgICAgICAgICAgICAgJ05hbWVzcGFj
ZSBzaG91bGQgYmUgdGVybWluYXRlZCB3aXRoICIvLyBuYW1lc3BhY2UgJXMiJyAlCiAgICAgICAg
ICAgICAgIHNlbGYubmFtZSkKICAgICBlbHNlOgogICAgICAgIyBBbm9ueW1vdXMgbmFtZXNwYWNl
Ci0gICAgICBpZiBub3QgTWF0Y2gocideXHMqfTsqXHMqKC8vfC9cKikuKlxibmFtZXNwYWNlW1wq
L1wuXFxcc10qJCcsIGxpbmUpOgotICAgICAgICAjIElmICIvLyBuYW1lc3BhY2UgYW5vbnltb3Vz
IiBvciAiLy8gYW5vbnltb3VzIG5hbWVzcGFjZSAobW9yZSB0ZXh0KSIsCi0gICAgICAgICMgbWVu
dGlvbiAiLy8gYW5vbnltb3VzIG5hbWVzcGFjZSIgYXMgYW4gYWNjZXB0YWJsZSBmb3JtCi0gICAg
ICAgIGlmIE1hdGNoKHInXlxzKn0uKlxiKG5hbWVzcGFjZSBhbm9ueW1vdXN8YW5vbnltb3VzIG5h
bWVzcGFjZSlcYicsIGxpbmUpOgotICAgICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAn
cmVhZGFiaWxpdHkvbmFtZXNwYWNlJywgNSwKLSAgICAgICAgICAgICAgICAnQW5vbnltb3VzIG5h
bWVzcGFjZSBzaG91bGQgYmUgdGVybWluYXRlZCB3aXRoICIvLyBuYW1lc3BhY2UiJwotICAgICAg
ICAgICAgICAgICcgb3IgIi8vIGFub255bW91cyBuYW1lc3BhY2UiJykKLSAgICAgICAgZWxzZToK
LSAgICAgICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3JlYWRhYmlsaXR5L25hbWVzcGFj
ZScsIDUsCi0gICAgICAgICAgICAgICAgJ0Fub255bW91cyBuYW1lc3BhY2Ugc2hvdWxkIGJlIHRl
cm1pbmF0ZWQgd2l0aCAiLy8gbmFtZXNwYWNlIicpCisgICAgICBpZiBub3QgTWF0Y2gocid9Oypc
cyooLy98L1wqKS4qXGJuYW1lc3BhY2VbXCovXC5cXFxzXSokJywgbGluZSk6CisgICAgICAgIGVy
cm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncmVhZGFiaWxpdHkvbmFtZXNwYWNlJywgNSwKKyAgICAg
ICAgICAgICAgJ05hbWVzcGFjZSBzaG91bGQgYmUgdGVybWluYXRlZCB3aXRoICIvLyBuYW1lc3Bh
Y2UiJykKIAogCiBjbGFzcyBfUHJlcHJvY2Vzc29ySW5mbyhvYmplY3QpOgpAQCAtMjQwMyw3ICsx
ODAyLDcgQEAgY2xhc3MgX1ByZXByb2Nlc3NvckluZm8ob2JqZWN0KToKICAgICBzZWxmLnNlZW5f
ZWxzZSA9IEZhbHNlCiAKIAotY2xhc3MgTmVzdGluZ1N0YXRlKG9iamVjdCk6CitjbGFzcyBfTmVz
dGluZ1N0YXRlKG9iamVjdCk6CiAgICIiIkhvbGRzIHN0YXRlcyByZWxhdGVkIHRvIHBhcnNpbmcg
YnJhY2VzLiIiIgogCiAgIGRlZiBfX2luaXRfXyhzZWxmKToKQEAgLTI0MTUsMTcgKzE4MTQsNiBA
QCBjbGFzcyBOZXN0aW5nU3RhdGUob2JqZWN0KToKICAgICAjIC0gX0Jsb2NrSW5mbzogc29tZSBv
dGhlciB0eXBlIG9mIGJsb2NrLgogICAgIHNlbGYuc3RhY2sgPSBbXQogCi0gICAgIyBUb3Agb2Yg
dGhlIHByZXZpb3VzIHN0YWNrIGJlZm9yZSBlYWNoIFVwZGF0ZSgpLgotICAgICMKLSAgICAjIEJl
Y2F1c2UgdGhlIG5lc3Rpbmdfc3RhY2sgaXMgdXBkYXRlZCBhdCB0aGUgZW5kIG9mIGVhY2ggbGlu
ZSwgd2UKLSAgICAjIGhhZCB0byBkbyBzb21lIGNvbnZvbHV0ZWQgY2hlY2tzIHRvIGZpbmQgb3V0
IHdoYXQgaXMgdGhlIGN1cnJlbnQKLSAgICAjIHNjb3BlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhl
IGxpbmUuICBUaGlzIGNoZWNrIGlzIHNpbXBsaWZpZWQgYnkKLSAgICAjIHNhdmluZyB0aGUgcHJl
dmlvdXMgdG9wIG9mIG5lc3Rpbmcgc3RhY2suCi0gICAgIwotICAgICMgV2UgY291bGQgc2F2ZSB0
aGUgZnVsbCBzdGFjaywgYnV0IHdlIG9ubHkgbmVlZCB0aGUgdG9wLiAgQ29weWluZwotICAgICMg
dGhlIGZ1bGwgbmVzdGluZyBzdGFjayB3b3VsZCBzbG93IGRvd24gY3BwbGludCBieSB+MTAlLgot
ICAgIHNlbGYucHJldmlvdXNfc3RhY2tfdG9wID0gW10KLQogICAgICMgU3RhY2sgb2YgX1ByZXBy
b2Nlc3NvckluZm8gb2JqZWN0cy4KICAgICBzZWxmLnBwX3N0YWNrID0gW10KIApAQCAtMjQ0Niw4
MiArMTgzNCw2IEBAIGNsYXNzIE5lc3RpbmdTdGF0ZShvYmplY3QpOgogICAgICIiIgogICAgIHJl
dHVybiBzZWxmLnN0YWNrIGFuZCBpc2luc3RhbmNlKHNlbGYuc3RhY2tbLTFdLCBfTmFtZXNwYWNl
SW5mbykKIAotICBkZWYgSW5FeHRlcm5DKHNlbGYpOgotICAgICIiIkNoZWNrIGlmIHdlIGFyZSBj
dXJyZW50bHkgb25lIGxldmVsIGluc2lkZSBhbiAnZXh0ZXJuICJDIicgYmxvY2suCi0KLSAgICBS
ZXR1cm5zOgotICAgICAgVHJ1ZSBpZiB0b3Agb2YgdGhlIHN0YWNrIGlzIGFuIGV4dGVybiBibG9j
aywgRmFsc2Ugb3RoZXJ3aXNlLgotICAgICIiIgotICAgIHJldHVybiBzZWxmLnN0YWNrIGFuZCBp
c2luc3RhbmNlKHNlbGYuc3RhY2tbLTFdLCBfRXh0ZXJuQ0luZm8pCi0KLSAgZGVmIEluQ2xhc3NE
ZWNsYXJhdGlvbihzZWxmKToKLSAgICAiIiJDaGVjayBpZiB3ZSBhcmUgY3VycmVudGx5IG9uZSBs
ZXZlbCBpbnNpZGUgYSBjbGFzcyBvciBzdHJ1Y3QgZGVjbGFyYXRpb24uCi0KLSAgICBSZXR1cm5z
OgotICAgICAgVHJ1ZSBpZiB0b3Agb2YgdGhlIHN0YWNrIGlzIGEgY2xhc3Mvc3RydWN0LCBGYWxz
ZSBvdGhlcndpc2UuCi0gICAgIiIiCi0gICAgcmV0dXJuIHNlbGYuc3RhY2sgYW5kIGlzaW5zdGFu
Y2Uoc2VsZi5zdGFja1stMV0sIF9DbGFzc0luZm8pCi0KLSAgZGVmIEluQXNtQmxvY2soc2VsZik6
Ci0gICAgIiIiQ2hlY2sgaWYgd2UgYXJlIGN1cnJlbnRseSBvbmUgbGV2ZWwgaW5zaWRlIGFuIGlu
bGluZSBBU00gYmxvY2suCi0KLSAgICBSZXR1cm5zOgotICAgICAgVHJ1ZSBpZiB0aGUgdG9wIG9m
IHRoZSBzdGFjayBpcyBhIGJsb2NrIGNvbnRhaW5pbmcgaW5saW5lIEFTTS4KLSAgICAiIiIKLSAg
ICByZXR1cm4gc2VsZi5zdGFjayBhbmQgc2VsZi5zdGFja1stMV0uaW5saW5lX2FzbSAhPSBfTk9f
QVNNCi0KLSAgZGVmIEluVGVtcGxhdGVBcmd1bWVudExpc3Qoc2VsZiwgY2xlYW5fbGluZXMsIGxp
bmVudW0sIHBvcyk6Ci0gICAgIiIiQ2hlY2sgaWYgY3VycmVudCBwb3NpdGlvbiBpcyBpbnNpZGUg
dGVtcGxhdGUgYXJndW1lbnQgbGlzdC4KLQotICAgIEFyZ3M6Ci0gICAgICBjbGVhbl9saW5lczog
QSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5pbmcgdGhlIGZpbGUuCi0gICAgICBsaW5l
bnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotICAgICAgcG9zOiBwb3NpdGlv
biBqdXN0IGFmdGVyIHRoZSBzdXNwZWN0ZWQgdGVtcGxhdGUgYXJndW1lbnQuCi0gICAgUmV0dXJu
czoKLSAgICAgIFRydWUgaWYgKGxpbmVudW0sIHBvcykgaXMgaW5zaWRlIHRlbXBsYXRlIGFyZ3Vt
ZW50cy4KLSAgICAiIiIKLSAgICB3aGlsZSBsaW5lbnVtIDwgY2xlYW5fbGluZXMuTnVtTGluZXMo
KToKLSAgICAgICMgRmluZCB0aGUgZWFybGllc3QgY2hhcmFjdGVyIHRoYXQgbWlnaHQgaW5kaWNh
dGUgYSB0ZW1wbGF0ZSBhcmd1bWVudAotICAgICAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFts
aW5lbnVtXQotICAgICAgbWF0Y2ggPSBNYXRjaChyJ15bXnt9Oz1cW1xdXC48Pl0qKC4pJywgbGlu
ZVtwb3M6XSkKLSAgICAgIGlmIG5vdCBtYXRjaDoKLSAgICAgICAgbGluZW51bSArPSAxCi0gICAg
ICAgIHBvcyA9IDAKLSAgICAgICAgY29udGludWUKLSAgICAgIHRva2VuID0gbWF0Y2guZ3JvdXAo
MSkKLSAgICAgIHBvcyArPSBsZW4obWF0Y2guZ3JvdXAoMCkpCi0KLSAgICAgICMgVGhlc2UgdGhp
bmdzIGRvIG5vdCBsb29rIGxpa2UgdGVtcGxhdGUgYXJndW1lbnQgbGlzdDoKLSAgICAgICMgICBj
bGFzcyBTdXNwZWN0IHsKLSAgICAgICMgICBjbGFzcyBTdXNwZWN0IHg7IH0KLSAgICAgIGlmIHRv
a2VuIGluICgneycsICd9JywgJzsnKTogcmV0dXJuIEZhbHNlCi0KLSAgICAgICMgVGhlc2UgdGhp
bmdzIGxvb2sgbGlrZSB0ZW1wbGF0ZSBhcmd1bWVudCBsaXN0OgotICAgICAgIyAgIHRlbXBsYXRl
IDxjbGFzcyBTdXNwZWN0PgotICAgICAgIyAgIHRlbXBsYXRlIDxjbGFzcyBTdXNwZWN0ID0gZGVm
YXVsdF92YWx1ZT4KLSAgICAgICMgICB0ZW1wbGF0ZSA8Y2xhc3MgU3VzcGVjdFtdPgotICAgICAg
IyAgIHRlbXBsYXRlIDxjbGFzcyBTdXNwZWN0Li4uPgotICAgICAgaWYgdG9rZW4gaW4gKCc+Jywg
Jz0nLCAnWycsICddJywgJy4nKTogcmV0dXJuIFRydWUKLQotICAgICAgIyBDaGVjayBpZiB0b2tl
biBpcyBhbiB1bm1hdGNoZWQgJzwnLgotICAgICAgIyBJZiBub3QsIG1vdmUgb24gdG8gdGhlIG5l
eHQgY2hhcmFjdGVyLgotICAgICAgaWYgdG9rZW4gIT0gJzwnOgotICAgICAgICBwb3MgKz0gMQot
ICAgICAgICBpZiBwb3MgPj0gbGVuKGxpbmUpOgotICAgICAgICAgIGxpbmVudW0gKz0gMQotICAg
ICAgICAgIHBvcyA9IDAKLSAgICAgICAgY29udGludWUKLQotICAgICAgIyBXZSBjYW4ndCBiZSBz
dXJlIGlmIHdlIGp1c3QgZmluZCBhIHNpbmdsZSAnPCcsIGFuZCBuZWVkIHRvCi0gICAgICAjIGZp
bmQgdGhlIG1hdGNoaW5nICc+Jy4KLSAgICAgIChfLCBlbmRfbGluZSwgZW5kX3BvcykgPSBDbG9z
ZUV4cHJlc3Npb24oY2xlYW5fbGluZXMsIGxpbmVudW0sIHBvcyAtIDEpCi0gICAgICBpZiBlbmRf
cG9zIDwgMDoKLSAgICAgICAgIyBOb3Qgc3VyZSBpZiB0ZW1wbGF0ZSBhcmd1bWVudCBsaXN0IG9y
IHN5bnRheCBlcnJvciBpbiBmaWxlCi0gICAgICAgIHJldHVybiBGYWxzZQotICAgICAgbGluZW51
bSA9IGVuZF9saW5lCi0gICAgICBwb3MgPSBlbmRfcG9zCi0gICAgcmV0dXJuIEZhbHNlCi0KICAg
ZGVmIFVwZGF0ZVByZXByb2Nlc3NvcihzZWxmLCBsaW5lKToKICAgICAiIiJVcGRhdGUgcHJlcHJv
Y2Vzc29yIHN0YWNrLgogCkBAIC0yNTc4LDcgKzE4OTAsNiBAQCBjbGFzcyBOZXN0aW5nU3RhdGUo
b2JqZWN0KToKICAgICAgICAgIyBUT0RPKHVua25vd24pOiB1bmV4cGVjdGVkICNlbmRpZiwgaXNz
dWUgd2FybmluZz8KICAgICAgICAgcGFzcwogCi0gICMgVE9ETyh1bmtub3duKTogVXBkYXRlKCkg
aXMgdG9vIGxvbmcsIGJ1dCB3ZSB3aWxsIHJlZmFjdG9yIGxhdGVyLgogICBkZWYgVXBkYXRlKHNl
bGYsIGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgogICAgICIiIlVwZGF0
ZSBuZXN0aW5nIHN0YXRlIHdpdGggY3VycmVudCBsaW5lLgogCkBAIC0yNTkwLDE3ICsxOTAxLDcg
QEAgY2xhc3MgTmVzdGluZ1N0YXRlKG9iamVjdCk6CiAgICAgIiIiCiAgICAgbGluZSA9IGNsZWFu
X2xpbmVzLmVsaWRlZFtsaW5lbnVtXQogCi0gICAgIyBSZW1lbWJlciB0b3Agb2YgdGhlIHByZXZp
b3VzIG5lc3Rpbmcgc3RhY2suCi0gICAgIwotICAgICMgVGhlIHN0YWNrIGlzIGFsd2F5cyBwdXNo
ZWQvcG9wcGVkIGFuZCBub3QgbW9kaWZpZWQgaW4gcGxhY2UsIHNvCi0gICAgIyB3ZSBjYW4ganVz
dCBkbyBhIHNoYWxsb3cgY29weSBpbnN0ZWFkIG9mIGNvcHkuZGVlcGNvcHkuICBVc2luZwotICAg
ICMgZGVlcGNvcHkgd291bGQgc2xvdyBkb3duIGNwcGxpbnQgYnkgfjI4JS4KLSAgICBpZiBzZWxm
LnN0YWNrOgotICAgICAgc2VsZi5wcmV2aW91c19zdGFja190b3AgPSBzZWxmLnN0YWNrWy0xXQot
ICAgIGVsc2U6Ci0gICAgICBzZWxmLnByZXZpb3VzX3N0YWNrX3RvcCA9IE5vbmUKLQotICAgICMg
VXBkYXRlIHBwX3N0YWNrCisgICAgIyBVcGRhdGUgcHBfc3RhY2sgZmlyc3QKICAgICBzZWxmLlVw
ZGF0ZVByZXByb2Nlc3NvcihsaW5lKQogCiAgICAgIyBDb3VudCBwYXJlbnRoZXNlcy4gIFRoaXMg
aXMgdG8gYXZvaWQgYWRkaW5nIHN0cnVjdCBhcmd1bWVudHMgdG8KQEAgLTI2NTEsMjcgKzE5NTIs
MzIgQEAgY2xhc3MgTmVzdGluZ1N0YXRlKG9iamVjdCk6CiAgICAgIyBzdWNoIGFzIGluOgogICAg
ICMgICBjbGFzcyBMT0NLQUJMRSBBUEkgT2JqZWN0IHsKICAgICAjICAgfTsKKyAgICAjCisgICAg
IyBUZW1wbGF0ZXMgd2l0aCBjbGFzcyBhcmd1bWVudHMgbWF5IGNvbmZ1c2UgdGhlIHBhcnNlciwg
Zm9yIGV4YW1wbGU6CisgICAgIyAgIHRlbXBsYXRlIDxjbGFzcyBUCisgICAgIyAgICAgICAgICAg
ICBjbGFzcyBDb21wYXJhdG9yID0gbGVzczxUPiwKKyAgICAjICAgICAgICAgICAgIGNsYXNzIFZl
Y3RvciA9IHZlY3RvcjxUPiA+CisgICAgIyAgIGNsYXNzIEhlYXBRdWV1ZSB7CisgICAgIworICAg
ICMgQmVjYXVzZSB0aGlzIHBhcnNlciBoYXMgbm8gbmVzdGluZyBzdGF0ZSBhYm91dCB0ZW1wbGF0
ZXMsIGJ5IHRoZQorICAgICMgdGltZSBpdCBzYXcgImNsYXNzIENvbXBhcmF0b3IiLCBpdCBtYXkg
dGhpbmsgdGhhdCBpdCdzIGEgbmV3IGNsYXNzLgorICAgICMgTmVzdGVkIHRlbXBsYXRlcyBoYXZl
IGEgc2ltaWxhciBwcm9ibGVtOgorICAgICMgICB0ZW1wbGF0ZSA8CisgICAgIyAgICAgICB0eXBl
bmFtZSBFeHBvcnRlZFR5cGUsCisgICAgIyAgICAgICB0eXBlbmFtZSBUdXBsZVR5cGUsCisgICAg
IyAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUsIHR5cGVuYW1lPiBjbGFzcyBJbXBsVGVtcGxhdGU+
CisgICAgIworICAgICMgVG8gYXZvaWQgdGhlc2UgY2FzZXMsIHdlIGlnbm9yZSBjbGFzc2VzIHRo
YXQgYXJlIGZvbGxvd2VkIGJ5ICc9JyBvciAnPicKICAgICBjbGFzc19kZWNsX21hdGNoID0gTWF0
Y2goCi0gICAgICAgIHInXihccyooPzp0ZW1wbGF0ZVxzKjxbXHdcczw+LDpdKj5ccyopPycKLSAg
ICAgICAgcicoY2xhc3N8c3RydWN0KVxzKyg/OltBLVpfXStccyspKihcdysoPzo6Olx3KykqKSkn
Ci0gICAgICAgIHInKC4qKSQnLCBsaW5lKQorICAgICAgICByJ1xzKih0ZW1wbGF0ZVxzKjxbXHdc
czw+LDpdKj5ccyopPycKKyAgICAgICAgcicoY2xhc3N8c3RydWN0KVxzKyhbQS1aX10rXHMrKSoo
XHcrKD86OjpcdyspKiknCisgICAgICAgIHInKChbXj0+XXw8W148Pl0qPnw8W148Pl0qPFtePD5d
Kj5ccyo+KSopJCcsIGxpbmUpCiAgICAgaWYgKGNsYXNzX2RlY2xfbWF0Y2ggYW5kCiAgICAgICAg
IChub3Qgc2VsZi5zdGFjayBvciBzZWxmLnN0YWNrWy0xXS5vcGVuX3BhcmVudGhlc2VzID09IDAp
KToKLSAgICAgICMgV2UgZG8gbm90IHdhbnQgdG8gYWNjZXB0IGNsYXNzZXMgdGhhdCBhcmUgYWN0
dWFsbHkgdGVtcGxhdGUgYXJndW1lbnRzOgotICAgICAgIyAgIHRlbXBsYXRlIDxjbGFzcyBJZ25v
cmUxLAotICAgICAgIyAgICAgICAgICAgICBjbGFzcyBJZ25vcmUyID0gRGVmYXVsdDxBcmdzPiwK
LSAgICAgICMgICAgICAgICAgICAgdGVtcGxhdGUgPEFyZ3M+IGNsYXNzIElnbm9yZTM+Ci0gICAg
ICAjICAgdm9pZCBGdW5jdGlvbigpIHt9OwotICAgICAgIwotICAgICAgIyBUbyBhdm9pZCB0ZW1w
bGF0ZSBhcmd1bWVudCBjYXNlcywgd2Ugc2NhbiBmb3J3YXJkIGFuZCBsb29rIGZvcgotICAgICAg
IyBhbiB1bm1hdGNoZWQgJz4nLiAgSWYgd2Ugc2VlIG9uZSwgYXNzdW1lIHdlIGFyZSBpbnNpZGUg
YQotICAgICAgIyB0ZW1wbGF0ZSBhcmd1bWVudCBsaXN0LgotICAgICAgZW5kX2RlY2xhcmF0aW9u
ID0gbGVuKGNsYXNzX2RlY2xfbWF0Y2guZ3JvdXAoMSkpCi0gICAgICBpZiBub3Qgc2VsZi5JblRl
bXBsYXRlQXJndW1lbnRMaXN0KGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlbmRfZGVjbGFyYXRpb24p
OgotICAgICAgICBzZWxmLnN0YWNrLmFwcGVuZChfQ2xhc3NJbmZvKAotICAgICAgICAgICAgY2xh
c3NfZGVjbF9tYXRjaC5ncm91cCgzKSwgY2xhc3NfZGVjbF9tYXRjaC5ncm91cCgyKSwKLSAgICAg
ICAgICAgIGNsZWFuX2xpbmVzLCBsaW5lbnVtKSkKLSAgICAgICAgbGluZSA9IGNsYXNzX2RlY2xf
bWF0Y2guZ3JvdXAoNCkKKyAgICAgIHNlbGYuc3RhY2suYXBwZW5kKF9DbGFzc0luZm8oCisgICAg
ICAgICAgY2xhc3NfZGVjbF9tYXRjaC5ncm91cCg0KSwgY2xhc3NfZGVjbF9tYXRjaC5ncm91cCgy
KSwKKyAgICAgICAgICBjbGVhbl9saW5lcywgbGluZW51bSkpCisgICAgICBsaW5lID0gY2xhc3Nf
ZGVjbF9tYXRjaC5ncm91cCg1KQogCiAgICAgIyBJZiB3ZSBoYXZlIG5vdCB5ZXQgc2VlbiB0aGUg
b3BlbmluZyBicmFjZSBmb3IgdGhlIGlubmVybW9zdCBibG9jaywKICAgICAjIHJ1biBjaGVja3Mg
aGVyZS4KQEAgLTI3MTgsMTMgKzIwMjQsMTAgQEAgY2xhc3MgTmVzdGluZ1N0YXRlKG9iamVjdCk6
CiAgICAgICAgICMgc3RhY2sgb3RoZXJ3aXNlLgogICAgICAgICBpZiBub3Qgc2VsZi5TZWVuT3Bl
bkJyYWNlKCk6CiAgICAgICAgICAgc2VsZi5zdGFja1stMV0uc2Vlbl9vcGVuX2JyYWNlID0gVHJ1
ZQotICAgICAgICBlbGlmIE1hdGNoKHInXmV4dGVyblxzKiJbXiJdKiJccypceycsIGxpbmUpOgot
ICAgICAgICAgIHNlbGYuc3RhY2suYXBwZW5kKF9FeHRlcm5DSW5mbyhsaW5lbnVtKSkKICAgICAg
ICAgZWxzZToKLSAgICAgICAgICBzZWxmLnN0YWNrLmFwcGVuZChfQmxvY2tJbmZvKGxpbmVudW0s
IFRydWUpKQorICAgICAgICAgIHNlbGYuc3RhY2suYXBwZW5kKF9CbG9ja0luZm8oVHJ1ZSkpCiAg
ICAgICAgICAgaWYgX01BVENIX0FTTS5tYXRjaChsaW5lKToKICAgICAgICAgICAgIHNlbGYuc3Rh
Y2tbLTFdLmlubGluZV9hc20gPSBfQkxPQ0tfQVNNCi0KICAgICAgIGVsaWYgdG9rZW4gPT0gJzsn
IG9yIHRva2VuID09ICcpJzoKICAgICAgICAgIyBJZiB3ZSBoYXZlbid0IHNlZW4gYW4gb3Blbmlu
ZyBicmFjZSB5ZXQsIGJ1dCB3ZSBhbHJlYWR5IHNhdwogICAgICAgICAjIGEgc2VtaWNvbG9uLCB0
aGlzIGlzIHByb2JhYmx5IGEgZm9yd2FyZCBkZWNsYXJhdGlvbi4gIFBvcApAQCAtMjgwMCw3ICsy
MTAzLDcgQEAgZGVmIENoZWNrRm9yTm9uU3RhbmRhcmRDb25zdHJ1Y3RzKGZpbGVuYW1lLCBjbGVh
bl9saW5lcywgbGluZW51bSwKICAgICBmaWxlbmFtZTogVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQg
ZmlsZS4KICAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5p
bmcgdGhlIGZpbGUuCiAgICAgbGluZW51bTogVGhlIG51bWJlciBvZiB0aGUgbGluZSB0byBjaGVj
ay4KLSAgICBuZXN0aW5nX3N0YXRlOiBBIE5lc3RpbmdTdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWlu
dGFpbnMgaW5mb3JtYXRpb24gYWJvdXQKKyAgICBuZXN0aW5nX3N0YXRlOiBBIF9OZXN0aW5nU3Rh
dGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0CiAgICAgICAgICAg
ICAgICAgICAgdGhlIGN1cnJlbnQgc3RhY2sgb2YgbmVzdGVkIGJsb2NrcyBiZWluZyBwYXJzZWQu
CiAgICAgZXJyb3I6IEEgY2FsbGFibGUgdG8gd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZCwgd2hp
Y2ggdGFrZXMgNCBhcmd1bWVudHM6CiAgICAgICAgICAgIGZpbGVuYW1lLCBsaW5lIG51bWJlciwg
ZXJyb3IgbGV2ZWwsIGFuZCBtZXNzYWdlCkBAIC0yODMzLDggKzIxMzYsNyBAQCBkZWYgQ2hlY2tG
b3JOb25TdGFuZGFyZENvbnN0cnVjdHMoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLAog
ICAgICAgICAgICAgcidccysocmVnaXN0ZXJ8c3RhdGljfGV4dGVybnx0eXBlZGVmKVxiJywKICAg
ICAgICAgICAgIGxpbmUpOgogICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAnYnVpbGQvc3Rv
cmFnZV9jbGFzcycsIDUsCi0gICAgICAgICAgJ1N0b3JhZ2UtY2xhc3Mgc3BlY2lmaWVyIChzdGF0
aWMsIGV4dGVybiwgdHlwZWRlZiwgZXRjKSBzaG91bGQgYmUgJwotICAgICAgICAgICdhdCB0aGUg
YmVnaW5uaW5nIG9mIHRoZSBkZWNsYXJhdGlvbi4nKQorICAgICAgICAgICdTdG9yYWdlIGNsYXNz
IChzdGF0aWMsIGV4dGVybiwgdHlwZWRlZiwgZXRjKSBzaG91bGQgYmUgZmlyc3QuJykKIAogICBp
ZiBNYXRjaChyJ1xzKiNccyplbmRpZlxzKlteL1xzXSsnLCBsaW5lKToKICAgICBlcnJvcihmaWxl
bmFtZSwgbGluZW51bSwgJ2J1aWxkL2VuZGlmX2NvbW1lbnQnLCA1LApAQCAtMjg3NCw3OSArMjE3
NiwyNiBAQCBkZWYgQ2hlY2tGb3JOb25TdGFuZGFyZENvbnN0cnVjdHMoZmlsZW5hbWUsIGNsZWFu
X2xpbmVzLCBsaW5lbnVtLAogCiAgICMgTG9vayBmb3Igc2luZ2xlLWFyZ3VtZW50IGNvbnN0cnVj
dG9ycyB0aGF0IGFyZW4ndCBtYXJrZWQgZXhwbGljaXQuCiAgICMgVGVjaG5pY2FsbHkgYSB2YWxp
ZCBjb25zdHJ1Y3QsIGJ1dCBhZ2FpbnN0IHN0eWxlLgotICBleHBsaWNpdF9jb25zdHJ1Y3Rvcl9t
YXRjaCA9IE1hdGNoKAotICAgICAgcidccysoPzooPzppbmxpbmV8Y29uc3RleHByKVxzKykqKGV4
cGxpY2l0XHMrKT8nCi0gICAgICByJyg/Oig/OmlubGluZXxjb25zdGV4cHIpXHMrKSolc1xzKicK
LSAgICAgIHInXCgoKD86W14oKV18XChbXigpXSpcKSkqKVwpJwotICAgICAgJSByZS5lc2NhcGUo
YmFzZV9jbGFzc25hbWUpLAotICAgICAgbGluZSkKLQotICBpZiBleHBsaWNpdF9jb25zdHJ1Y3Rv
cl9tYXRjaDoKLSAgICBpc19tYXJrZWRfZXhwbGljaXQgPSBleHBsaWNpdF9jb25zdHJ1Y3Rvcl9t
YXRjaC5ncm91cCgxKQotCi0gICAgaWYgbm90IGV4cGxpY2l0X2NvbnN0cnVjdG9yX21hdGNoLmdy
b3VwKDIpOgotICAgICAgY29uc3RydWN0b3JfYXJncyA9IFtdCi0gICAgZWxzZToKLSAgICAgIGNv
bnN0cnVjdG9yX2FyZ3MgPSBleHBsaWNpdF9jb25zdHJ1Y3Rvcl9tYXRjaC5ncm91cCgyKS5zcGxp
dCgnLCcpCi0KLSAgICAjIGNvbGxhcHNlIGFyZ3VtZW50cyBzbyB0aGF0IGNvbW1hcyBpbiB0ZW1w
bGF0ZSBwYXJhbWV0ZXIgbGlzdHMgYW5kIGZ1bmN0aW9uCi0gICAgIyBhcmd1bWVudCBwYXJhbWV0
ZXIgbGlzdHMgZG9uJ3Qgc3BsaXQgYXJndW1lbnRzIGluIHR3bwotICAgIGkgPSAwCi0gICAgd2hp
bGUgaSA8IGxlbihjb25zdHJ1Y3Rvcl9hcmdzKToKLSAgICAgIGNvbnN0cnVjdG9yX2FyZyA9IGNv
bnN0cnVjdG9yX2FyZ3NbaV0KLSAgICAgIHdoaWxlIChjb25zdHJ1Y3Rvcl9hcmcuY291bnQoJzwn
KSA+IGNvbnN0cnVjdG9yX2FyZy5jb3VudCgnPicpIG9yCi0gICAgICAgICAgICAgY29uc3RydWN0
b3JfYXJnLmNvdW50KCcoJykgPiBjb25zdHJ1Y3Rvcl9hcmcuY291bnQoJyknKSk6Ci0gICAgICAg
IGNvbnN0cnVjdG9yX2FyZyArPSAnLCcgKyBjb25zdHJ1Y3Rvcl9hcmdzW2kgKyAxXQotICAgICAg
ICBkZWwgY29uc3RydWN0b3JfYXJnc1tpICsgMV0KLSAgICAgIGNvbnN0cnVjdG9yX2FyZ3NbaV0g
PSBjb25zdHJ1Y3Rvcl9hcmcKLSAgICAgIGkgKz0gMQotCi0gICAgZGVmYXVsdGVkX2FyZ3MgPSBb
YXJnIGZvciBhcmcgaW4gY29uc3RydWN0b3JfYXJncyBpZiAnPScgaW4gYXJnXQotICAgIG5vYXJn
X2NvbnN0cnVjdG9yID0gKG5vdCBjb25zdHJ1Y3Rvcl9hcmdzIG9yICAjIGVtcHR5IGFyZyBsaXN0
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIyAndm9pZCcgYXJnIHNwZWNpZmllcgotICAgICAg
ICAgICAgICAgICAgICAgICAgIChsZW4oY29uc3RydWN0b3JfYXJncykgPT0gMSBhbmQKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3RydWN0b3JfYXJnc1swXS5zdHJpcCgpID09ICd2b2lk
JykpCi0gICAgb25lYXJnX2NvbnN0cnVjdG9yID0gKChsZW4oY29uc3RydWN0b3JfYXJncykgPT0g
MSBhbmQgICMgZXhhY3RseSBvbmUgYXJnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBub3Qg
bm9hcmdfY29uc3RydWN0b3IpIG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICMgYWxsIGJ1
dCBhdCBtb3N0IG9uZSBhcmcgZGVmYXVsdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChs
ZW4oY29uc3RydWN0b3JfYXJncykgPj0gMSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5vdCBub2FyZ19jb25zdHJ1Y3RvciBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl
bihkZWZhdWx0ZWRfYXJncykgPj0gbGVuKGNvbnN0cnVjdG9yX2FyZ3MpIC0gMSkpCi0gICAgaW5p
dGlhbGl6ZXJfbGlzdF9jb25zdHJ1Y3RvciA9IGJvb2woCi0gICAgICAgIG9uZWFyZ19jb25zdHJ1
Y3RvciBhbmQKLSAgICAgICAgU2VhcmNoKHInXGJzdGRccyo6OlxzKmluaXRpYWxpemVyX2xpc3Rc
YicsIGNvbnN0cnVjdG9yX2FyZ3NbMF0pKQotICAgIGNvcHlfY29uc3RydWN0b3IgPSBib29sKAot
ICAgICAgICBvbmVhcmdfY29uc3RydWN0b3IgYW5kCi0gICAgICAgIE1hdGNoKHInKGNvbnN0XHMr
KT8lcyhccyo8W14+XSo+KT8oXHMrY29uc3QpP1xzKig/Ojxcdys+XHMqKT8mJwotICAgICAgICAg
ICAgICAlIHJlLmVzY2FwZShiYXNlX2NsYXNzbmFtZSksIGNvbnN0cnVjdG9yX2FyZ3NbMF0uc3Ry
aXAoKSkpCi0KLSAgICBpZiAobm90IGlzX21hcmtlZF9leHBsaWNpdCBhbmQKLSAgICAgICAgb25l
YXJnX2NvbnN0cnVjdG9yIGFuZAotICAgICAgICBub3QgaW5pdGlhbGl6ZXJfbGlzdF9jb25zdHJ1
Y3RvciBhbmQKLSAgICAgICAgbm90IGNvcHlfY29uc3RydWN0b3IpOgotICAgICAgaWYgZGVmYXVs
dGVkX2FyZ3M6Ci0gICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncnVudGltZS9leHBs
aWNpdCcsIDUsCi0gICAgICAgICAgICAgICdDb25zdHJ1Y3RvcnMgY2FsbGFibGUgd2l0aCBvbmUg
YXJndW1lbnQgJwotICAgICAgICAgICAgICAnc2hvdWxkIGJlIG1hcmtlZCBleHBsaWNpdC4nKQot
ICAgICAgZWxzZToKLSAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1lL2V4
cGxpY2l0JywgNSwKLSAgICAgICAgICAgICAgJ1NpbmdsZS1wYXJhbWV0ZXIgY29uc3RydWN0b3Jz
IHNob3VsZCBiZSBtYXJrZWQgZXhwbGljaXQuJykKLSAgICBlbGlmIGlzX21hcmtlZF9leHBsaWNp
dCBhbmQgbm90IG9uZWFyZ19jb25zdHJ1Y3RvcjoKLSAgICAgIGlmIG5vYXJnX2NvbnN0cnVjdG9y
OgotICAgICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3J1bnRpbWUvZXhwbGljaXQnLCA1
LAotICAgICAgICAgICAgICAnWmVyby1wYXJhbWV0ZXIgY29uc3RydWN0b3JzIHNob3VsZCBub3Qg
YmUgbWFya2VkIGV4cGxpY2l0LicpCi0KLQotZGVmIENoZWNrU3BhY2luZ0ZvckZ1bmN0aW9uQ2Fs
bChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKToKKyAgYXJncyA9IE1hdGNo
KHInXHMrKD86aW5saW5lXHMrKT8lc1xzKlwoKFteLCgpXSspXCknCisgICAgICAgICAgICAgICAl
IHJlLmVzY2FwZShiYXNlX2NsYXNzbmFtZSksCisgICAgICAgICAgICAgICBsaW5lKQorICBpZiAo
YXJncyBhbmQKKyAgICAgIGFyZ3MuZ3JvdXAoMSkgIT0gJ3ZvaWQnIGFuZAorICAgICAgbm90IE1h
dGNoKHInKGNvbnN0XHMrKT8lcyhccytjb25zdCk/XHMqKD86PFx3Kz5ccyopPyYnCisgICAgICAg
ICAgICAgICAgJSByZS5lc2NhcGUoYmFzZV9jbGFzc25hbWUpLCBhcmdzLmdyb3VwKDEpLnN0cmlw
KCkpKToKKyAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3J1bnRpbWUvZXhwbGljaXQnLCA1
LAorICAgICAgICAgICdTaW5nbGUtYXJndW1lbnQgY29uc3RydWN0b3JzIHNob3VsZCBiZSBtYXJr
ZWQgZXhwbGljaXQuJykKKworCitkZWYgQ2hlY2tTcGFjaW5nRm9yRnVuY3Rpb25DYWxsKGZpbGVu
YW1lLCBsaW5lLCBsaW5lbnVtLCBlcnJvcik6CiAgICIiIkNoZWNrcyBmb3IgdGhlIGNvcnJlY3Ru
ZXNzIG9mIHZhcmlvdXMgc3BhY2luZyBhcm91bmQgZnVuY3Rpb24gY2FsbHMuCiAKICAgQXJnczoK
ICAgICBmaWxlbmFtZTogVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgZmlsZS4KLSAgICBjbGVhbl9s
aW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5pbmcgdGhlIGZpbGUuCisgICAg
bGluZTogVGhlIHRleHQgb2YgdGhlIGxpbmUgdG8gY2hlY2suCiAgICAgbGluZW51bTogVGhlIG51
bWJlciBvZiB0aGUgbGluZSB0byBjaGVjay4KICAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNh
bGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAiIiIKLSAgbGluZSA9IGNsZWFuX2xpbmVzLmVs
aWRlZFtsaW5lbnVtXQogCiAgICMgU2luY2UgZnVuY3Rpb24gY2FsbHMgb2Z0ZW4gb2NjdXIgaW5z
aWRlIGlmL2Zvci93aGlsZS9zd2l0Y2gKICAgIyBleHByZXNzaW9ucyAtIHdoaWNoIGhhdmUgdGhl
aXIgb3duLCBtb3JlIGxpYmVyYWwgY29udmVudGlvbnMgLSB3ZQpAQCAtMjk4OSwxOCArMjIzOCwx
MCBAQCBkZWYgQ2hlY2tTcGFjaW5nRm9yRnVuY3Rpb25DYWxsKGZpbGVuYW1lLCBjbGVhbl9saW5l
cywgbGluZW51bSwgZXJyb3IpOgogICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0
ZXNwYWNlL3BhcmVucycsIDIsCiAgICAgICAgICAgICAnRXh0cmEgc3BhY2UgYWZ0ZXIgKCcpCiAg
ICAgaWYgKFNlYXJjaChyJ1x3XHMrXCgnLCBmbmNhbGwpIGFuZAotICAgICAgICBub3QgU2VhcmNo
KHInX3swLDJ9YXNtX3swLDJ9XHMrX3swLDJ9dm9sYXRpbGVfezAsMn1ccytcKCcsIGZuY2FsbCkg
YW5kCi0gICAgICAgIG5vdCBTZWFyY2gocicjXHMqZGVmaW5lfHR5cGVkZWZ8dXNpbmdccytcdytc
cyo9JywgZm5jYWxsKSBhbmQKLSAgICAgICAgbm90IFNlYXJjaChyJ1x3XHMrXCgoXHcrOjopKlwq
XHcrXClcKCcsIGZuY2FsbCkgYW5kCi0gICAgICAgIG5vdCBTZWFyY2gocidcYmNhc2VccytcKCcs
IGZuY2FsbCkpOgotICAgICAgIyBUT0RPKHVua25vd24pOiBTcGFjZSBhZnRlciBhbiBvcGVyYXRv
ciBmdW5jdGlvbiBzZWVtIHRvIGJlIGEgY29tbW9uCi0gICAgICAjIGVycm9yLCBzaWxlbmNlIHRo
b3NlIGZvciBub3cgYnkgcmVzdHJpY3RpbmcgdGhlbSB0byBoaWdoZXN0IHZlcmJvc2l0eS4KLSAg
ICAgIGlmIFNlYXJjaChyJ1xib3BlcmF0b3JfKlxiJywgbGluZSk6Ci0gICAgICAgIGVycm9yKGZp
bGVuYW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFjZS9wYXJlbnMnLCAwLAotICAgICAgICAgICAgICAn
RXh0cmEgc3BhY2UgYmVmb3JlICggaW4gZnVuY3Rpb24gY2FsbCcpCi0gICAgICBlbHNlOgotICAg
ICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2UvcGFyZW5zJywgNCwKLSAg
ICAgICAgICAgICAgJ0V4dHJhIHNwYWNlIGJlZm9yZSAoIGluIGZ1bmN0aW9uIGNhbGwnKQorICAg
ICAgICBub3QgU2VhcmNoKHInI1xzKmRlZmluZXx0eXBlZGVmJywgZm5jYWxsKSBhbmQKKyAgICAg
ICAgbm90IFNlYXJjaChyJ1x3XHMrXCgoXHcrOjopKlwqXHcrXClcKCcsIGZuY2FsbCkpOgorICAg
ICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL3BhcmVucycsIDQsCisgICAg
ICAgICAgICAnRXh0cmEgc3BhY2UgYmVmb3JlICggaW4gZnVuY3Rpb24gY2FsbCcpCiAgICAgIyBJ
ZiB0aGUgKSBpcyBmb2xsb3dlZCBvbmx5IGJ5IGEgbmV3bGluZSBvciBhIHsgKyBuZXdsaW5lLCBh
c3N1bWUgaXQncwogICAgICMgcGFydCBvZiBhIGNvbnRyb2wgc3RhdGVtZW50IChpZi93aGlsZS9l
dGMpLCBhbmQgZG9uJ3QgY29tcGxhaW4KICAgICBpZiBTZWFyY2gocidbXildXHMrXClccypbXntc
c10nLCBmbmNhbGwpOgpAQCAtMzAyOSwyNiArMjI3MCwxMiBAQCBkZWYgSXNCbGFua0xpbmUobGlu
ZSk6CiAgIHJldHVybiBub3QgbGluZSBvciBsaW5lLmlzc3BhY2UoKQogCiAKLWRlZiBDaGVja0Zv
ck5hbWVzcGFjZUluZGVudGF0aW9uKGZpbGVuYW1lLCBuZXN0aW5nX3N0YXRlLCBjbGVhbl9saW5l
cywgbGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKToKLSAgaXNf
bmFtZXNwYWNlX2luZGVudF9pdGVtID0gKAotICAgICAgbGVuKG5lc3Rpbmdfc3RhdGUuc3RhY2sp
ID4gMSBhbmQKLSAgICAgIG5lc3Rpbmdfc3RhdGUuc3RhY2tbLTFdLmNoZWNrX25hbWVzcGFjZV9p
bmRlbnRhdGlvbiBhbmQKLSAgICAgIGlzaW5zdGFuY2UobmVzdGluZ19zdGF0ZS5wcmV2aW91c19z
dGFja190b3AsIF9OYW1lc3BhY2VJbmZvKSBhbmQKLSAgICAgIG5lc3Rpbmdfc3RhdGUucHJldmlv
dXNfc3RhY2tfdG9wID09IG5lc3Rpbmdfc3RhdGUuc3RhY2tbLTJdKQotCi0gIGlmIFNob3VsZENo
ZWNrTmFtZXNwYWNlSW5kZW50YXRpb24obmVzdGluZ19zdGF0ZSwgaXNfbmFtZXNwYWNlX2luZGVu
dF9pdGVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFuX2xpbmVz
LmVsaWRlZCwgbGluZSk6Ci0gICAgQ2hlY2tJdGVtSW5kZW50YXRpb25Jbk5hbWVzcGFjZShmaWxl
bmFtZSwgY2xlYW5fbGluZXMuZWxpZGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGluZSwgZXJyb3IpCi0KLQogZGVmIENoZWNrRm9yRnVuY3Rpb25MZW5ndGhzKGZpbGVu
YW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbl9zdGF0ZSwgZXJyb3IpOgogICAiIiJSZXBvcnRzIGZvciBsb25nIGZ1bmN0aW9uIGJv
ZGllcy4KIAogICBGb3IgYW4gb3ZlcnZpZXcgd2h5IHRoaXMgaXMgZG9uZSwgc2VlOgotICBodHRw
czovL2dvb2dsZS1zdHlsZWd1aWRlLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9jcHBndWlkZS54
bWwjV3JpdGVfU2hvcnRfRnVuY3Rpb25zCisgIGh0dHA6Ly9nb29nbGUtc3R5bGVndWlkZS5nb29n
bGVjb2RlLmNvbS9zdm4vdHJ1bmsvY3BwZ3VpZGUueG1sI1dyaXRlX1Nob3J0X0Z1bmN0aW9ucwog
CiAgIFVzZXMgYSBzaW1wbGlzdGljIGFsZ29yaXRobSBhc3N1bWluZyBvdGhlciBzdHlsZSBndWlk
ZWxpbmVzCiAgIChlc3BlY2lhbGx5IHNwYWNpbmcpIGFyZSBmb2xsb3dlZC4KQEAgLTMwNjgsNiAr
MjI5NSw4IEBAIGRlZiBDaGVja0ZvckZ1bmN0aW9uTGVuZ3RocyhmaWxlbmFtZSwgY2xlYW5fbGlu
ZXMsIGxpbmVudW0sCiAgICIiIgogICBsaW5lcyA9IGNsZWFuX2xpbmVzLmxpbmVzCiAgIGxpbmUg
PSBsaW5lc1tsaW5lbnVtXQorICByYXcgPSBjbGVhbl9saW5lcy5yYXdfbGluZXMKKyAgcmF3X2xp
bmUgPSByYXdbbGluZW51bV0KICAgam9pbmVkX2xpbmUgPSAnJwogCiAgIHN0YXJ0aW5nX2Z1bmMg
PSBGYWxzZQpAQCAtMzExNCw2MiArMjM0MywxOTQgQEAgZGVmIENoZWNrRm9yRnVuY3Rpb25MZW5n
dGhzKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwKIF9SRV9QQVRURVJOX1RPRE8gPSBy
ZS5jb21waWxlKHInXi8vKFxzKilUT0RPKFwoLis/XCkpPzo/KFxzfCQpPycpCiAKIAotZGVmIENo
ZWNrQ29tbWVudChsaW5lLCBmaWxlbmFtZSwgbGluZW51bSwgbmV4dF9saW5lX3N0YXJ0LCBlcnJv
cik6Ci0gICIiIkNoZWNrcyBmb3IgY29tbW9uIG1pc3Rha2VzIGluIGNvbW1lbnRzLgorZGVmIENo
ZWNrQ29tbWVudChjb21tZW50LCBmaWxlbmFtZSwgbGluZW51bSwgZXJyb3IpOgorICAiIiJDaGVj
a3MgZm9yIGNvbW1vbiBtaXN0YWtlcyBpbiBUT0RPIGNvbW1lbnRzLgogCiAgIEFyZ3M6Ci0gICAg
bGluZTogVGhlIGxpbmUgaW4gcXVlc3Rpb24uCisgICAgY29tbWVudDogVGhlIHRleHQgb2YgdGhl
IGNvbW1lbnQgZnJvbSB0aGUgbGluZSBpbiBxdWVzdGlvbi4KICAgICBmaWxlbmFtZTogVGhlIG5h
bWUgb2YgdGhlIGN1cnJlbnQgZmlsZS4KICAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBs
aW5lIHRvIGNoZWNrLgotICAgIG5leHRfbGluZV9zdGFydDogVGhlIGZpcnN0IG5vbi13aGl0ZXNw
YWNlIGNvbHVtbiBvZiB0aGUgbmV4dCBsaW5lLgogICAgIGVycm9yOiBUaGUgZnVuY3Rpb24gdG8g
Y2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCiAgICIiIgotICBjb21tZW50cG9zID0gbGluZS5m
aW5kKCcvLycpCi0gIGlmIGNvbW1lbnRwb3MgIT0gLTE6Ci0gICAgIyBDaGVjayBpZiB0aGUgLy8g
bWF5IGJlIGluIHF1b3Rlcy4gIElmIHNvLCBpZ25vcmUgaXQKLSAgICBpZiByZS5zdWIocidcXC4n
LCAnJywgbGluZVswOmNvbW1lbnRwb3NdKS5jb3VudCgnIicpICUgMiA9PSAwOgotICAgICAgIyBB
bGxvdyBvbmUgc3BhY2UgZm9yIG5ldyBzY29wZXMsIHR3byBzcGFjZXMgb3RoZXJ3aXNlOgotICAg
ICAgaWYgKG5vdCAoTWF0Y2gocideLip7ICovLycsIGxpbmUpIGFuZCBuZXh0X2xpbmVfc3RhcnQg
PT0gY29tbWVudHBvcykgYW5kCi0gICAgICAgICAgKChjb21tZW50cG9zID49IDEgYW5kCi0gICAg
ICAgICAgICBsaW5lW2NvbW1lbnRwb3MtMV0gbm90IGluIHN0cmluZy53aGl0ZXNwYWNlKSBvcgot
ICAgICAgICAgICAoY29tbWVudHBvcyA+PSAyIGFuZAotICAgICAgICAgICAgbGluZVtjb21tZW50
cG9zLTJdIG5vdCBpbiBzdHJpbmcud2hpdGVzcGFjZSkpKToKLSAgICAgICAgZXJyb3IoZmlsZW5h
bWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL2NvbW1lbnRzJywgMiwKLSAgICAgICAgICAgICAgJ0F0
IGxlYXN0IHR3byBzcGFjZXMgaXMgYmVzdCBiZXR3ZWVuIGNvZGUgYW5kIGNvbW1lbnRzJykKLQot
ICAgICAgIyBDaGVja3MgZm9yIGNvbW1vbiBtaXN0YWtlcyBpbiBUT0RPIGNvbW1lbnRzLgotICAg
ICAgY29tbWVudCA9IGxpbmVbY29tbWVudHBvczpdCi0gICAgICBtYXRjaCA9IF9SRV9QQVRURVJO
X1RPRE8ubWF0Y2goY29tbWVudCkKLSAgICAgIGlmIG1hdGNoOgotICAgICAgICAjIE9uZSB3aGl0
ZXNwYWNlIGlzIGNvcnJlY3Q7IHplcm8gd2hpdGVzcGFjZSBpcyBoYW5kbGVkIGVsc2V3aGVyZS4K
LSAgICAgICAgbGVhZGluZ193aGl0ZXNwYWNlID0gbWF0Y2guZ3JvdXAoMSkKLSAgICAgICAgaWYg
bGVuKGxlYWRpbmdfd2hpdGVzcGFjZSkgPiAxOgotICAgICAgICAgIGVycm9yKGZpbGVuYW1lLCBs
aW5lbnVtLCAnd2hpdGVzcGFjZS90b2RvJywgMiwKLSAgICAgICAgICAgICAgICAnVG9vIG1hbnkg
c3BhY2VzIGJlZm9yZSBUT0RPJykKLQotICAgICAgICB1c2VybmFtZSA9IG1hdGNoLmdyb3VwKDIp
Ci0gICAgICAgIGlmIG5vdCB1c2VybmFtZToKLSAgICAgICAgICBlcnJvcihmaWxlbmFtZSwgbGlu
ZW51bSwgJ3JlYWRhYmlsaXR5L3RvZG8nLCAyLAotICAgICAgICAgICAgICAgICdNaXNzaW5nIHVz
ZXJuYW1lIGluIFRPRE87IGl0IHNob3VsZCBsb29rIGxpa2UgJwotICAgICAgICAgICAgICAgICci
Ly8gVE9ETyhteV91c2VybmFtZSk6IFN0dWZmLiInKQotCi0gICAgICAgIG1pZGRsZV93aGl0ZXNw
YWNlID0gbWF0Y2guZ3JvdXAoMykKLSAgICAgICAgIyBDb21wYXJpc29ucyBtYWRlIGV4cGxpY2l0
IGZvciBjb3JyZWN0bmVzcyAtLSBweWxpbnQ6IGRpc2FibGU9Zy1leHBsaWNpdC1ib29sLWNvbXBh
cmlzb24KLSAgICAgICAgaWYgbWlkZGxlX3doaXRlc3BhY2UgIT0gJyAnIGFuZCBtaWRkbGVfd2hp
dGVzcGFjZSAhPSAnJzoKLSAgICAgICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRl
c3BhY2UvdG9kbycsIDIsCi0gICAgICAgICAgICAgICAgJ1RPRE8obXlfdXNlcm5hbWUpIHNob3Vs
ZCBiZSBmb2xsb3dlZCBieSBhIHNwYWNlJykKLQotICAgICAgIyBJZiB0aGUgY29tbWVudCBjb250
YWlucyBhbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVyLCB0aGVyZQotICAgICAgIyBzaG91bGQgYmUg
YSBzcGFjZSBzb21ld2hlcmUgYmV0d2VlbiBpdCBhbmQgdGhlIC8vIHVubGVzcwotICAgICAgIyBp
dCdzIGEgLy8vIG9yIC8vISBEb3h5Z2VuIGNvbW1lbnQuCi0gICAgICBpZiAoTWF0Y2gocicvL1te
IF0qXHcnLCBjb21tZW50KSBhbmQKLSAgICAgICAgICBub3QgTWF0Y2gocicoLy8vfC8vXCEpKFxz
K3wkKScsIGNvbW1lbnQpKToKLSAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0
ZXNwYWNlL2NvbW1lbnRzJywgNCwKLSAgICAgICAgICAgICAgJ1Nob3VsZCBoYXZlIGEgc3BhY2Ug
YmV0d2VlbiAvLyBhbmQgY29tbWVudCcpCi0KKyAgbWF0Y2ggPSBfUkVfUEFUVEVSTl9UT0RPLm1h
dGNoKGNvbW1lbnQpCisgIGlmIG1hdGNoOgorICAgICMgT25lIHdoaXRlc3BhY2UgaXMgY29ycmVj
dDsgemVybyB3aGl0ZXNwYWNlIGlzIGhhbmRsZWQgZWxzZXdoZXJlLgorICAgIGxlYWRpbmdfd2hp
dGVzcGFjZSA9IG1hdGNoLmdyb3VwKDEpCisgICAgaWYgbGVuKGxlYWRpbmdfd2hpdGVzcGFjZSkg
PiAxOgorICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL3RvZG8nLCAy
LAorICAgICAgICAgICAgJ1RvbyBtYW55IHNwYWNlcyBiZWZvcmUgVE9ETycpCisKKyAgICB1c2Vy
bmFtZSA9IG1hdGNoLmdyb3VwKDIpCisgICAgaWYgbm90IHVzZXJuYW1lOgorICAgICAgZXJyb3Io
ZmlsZW5hbWUsIGxpbmVudW0sICdyZWFkYWJpbGl0eS90b2RvJywgMiwKKyAgICAgICAgICAgICdN
aXNzaW5nIHVzZXJuYW1lIGluIFRPRE87IGl0IHNob3VsZCBsb29rIGxpa2UgJworICAgICAgICAg
ICAgJyIvLyBUT0RPKG15X3VzZXJuYW1lKTogU3R1ZmYuIicpCisKKyAgICBtaWRkbGVfd2hpdGVz
cGFjZSA9IG1hdGNoLmdyb3VwKDMpCisgICAgIyBDb21wYXJpc29ucyBtYWRlIGV4cGxpY2l0IGZv
ciBjb3JyZWN0bmVzcyAtLSBweWxpbnQ6IGRpc2FibGU9Zy1leHBsaWNpdC1ib29sLWNvbXBhcmlz
b24KKyAgICBpZiBtaWRkbGVfd2hpdGVzcGFjZSAhPSAnICcgYW5kIG1pZGRsZV93aGl0ZXNwYWNl
ICE9ICcnOgorICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL3RvZG8n
LCAyLAorICAgICAgICAgICAgJ1RPRE8obXlfdXNlcm5hbWUpIHNob3VsZCBiZSBmb2xsb3dlZCBi
eSBhIHNwYWNlJykKKworZGVmIENoZWNrQWNjZXNzKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGlu
ZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IpOgorICAiIiJDaGVja3MgZm9yIGltcHJvcGVyIHVz
ZSBvZiBESVNBTExPVyogbWFjcm9zLgogCi1kZWYgQ2hlY2tTcGFjaW5nKGZpbGVuYW1lLCBjbGVh
bl9saW5lcywgbGluZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IpOgotICAiIiJDaGVja3MgZm9y
IHRoZSBjb3JyZWN0bmVzcyBvZiB2YXJpb3VzIHNwYWNpbmcgaXNzdWVzIGluIHRoZSBjb2RlLgor
ICBBcmdzOgorICAgIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlLgorICAg
IGNsZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmls
ZS4KKyAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgorICAgIG5l
c3Rpbmdfc3RhdGU6IEEgX05lc3RpbmdTdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWludGFpbnMgaW5m
b3JtYXRpb24gYWJvdXQKKyAgICAgICAgICAgICAgICAgICB0aGUgY3VycmVudCBzdGFjayBvZiBu
ZXN0ZWQgYmxvY2tzIGJlaW5nIHBhcnNlZC4KKyAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNh
bGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgorICAiIiIKKyAgbGluZSA9IGNsZWFuX2xpbmVzLmVs
aWRlZFtsaW5lbnVtXSAgIyBnZXQgcmlkIG9mIGNvbW1lbnRzIGFuZCBzdHJpbmdzCisKKyAgbWF0
Y2hlZCA9IE1hdGNoKChyJ1xzKihESVNBTExPV19DT1BZX0FORF9BU1NJR058JworICAgICAgICAg
ICAgICAgICAgIHInRElTQUxMT1dfRVZJTF9DT05TVFJVQ1RPUlN8JworICAgICAgICAgICAgICAg
ICAgIHInRElTQUxMT1dfSU1QTElDSVRfQ09OU1RSVUNUT1JTKScpLCBsaW5lKQorICBpZiBub3Qg
bWF0Y2hlZDoKKyAgICByZXR1cm4KKyAgaWYgbmVzdGluZ19zdGF0ZS5zdGFjayBhbmQgaXNpbnN0
YW5jZShuZXN0aW5nX3N0YXRlLnN0YWNrWy0xXSwgX0NsYXNzSW5mbyk6CisgICAgaWYgbmVzdGlu
Z19zdGF0ZS5zdGFja1stMV0uYWNjZXNzICE9ICdwcml2YXRlJzoKKyAgICAgIGVycm9yKGZpbGVu
YW1lLCBsaW5lbnVtLCAncmVhZGFiaWxpdHkvY29uc3RydWN0b3JzJywgMywKKyAgICAgICAgICAg
ICclcyBtdXN0IGJlIGluIHRoZSBwcml2YXRlOiBzZWN0aW9uJyAlIG1hdGNoZWQuZ3JvdXAoMSkp
CisKKyAgZWxzZToKKyAgICAjIEZvdW5kIERJU0FMTE9XKiBtYWNybyBvdXRzaWRlIGEgY2xhc3Mg
ZGVjbGFyYXRpb24sIG9yIHBlcmhhcHMgaXQKKyAgICAjIHdhcyB1c2VkIGluc2lkZSBhIGZ1bmN0
aW9uIHdoZW4gaXQgc2hvdWxkIGhhdmUgYmVlbiBwYXJ0IG9mIHRoZQorICAgICMgY2xhc3MgZGVj
bGFyYXRpb24uICBXZSBjb3VsZCBpc3N1ZSBhIHdhcm5pbmcgaGVyZSwgYnV0IGl0CisgICAgIyBw
cm9iYWJseSByZXN1bHRlZCBpbiBhIGNvbXBpbGVyIGVycm9yIGFscmVhZHkuCisgICAgcGFzcwor
CisKK2RlZiBGaW5kTmV4dE1hdGNoaW5nQW5nbGVCcmFja2V0KGNsZWFuX2xpbmVzLCBsaW5lbnVt
LCBpbml0X3N1ZmZpeCk6CisgICIiIkZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgPiB0byBjbG9zZSBh
IHRlbXBsYXRlLgorCisgIEFyZ3M6CisgICAgY2xlYW5fbGluZXM6IEEgQ2xlYW5zZWRMaW5lcyBp
bnN0YW5jZSBjb250YWluaW5nIHRoZSBmaWxlLgorICAgIGxpbmVudW06IEN1cnJlbnQgbGluZSBu
dW1iZXIuCisgICAgaW5pdF9zdWZmaXg6IFJlbWFpbmRlciBvZiB0aGUgY3VycmVudCBsaW5lIGFm
dGVyIHRoZSBpbml0aWFsIDwuCisKKyAgUmV0dXJuczoKKyAgICBUcnVlIGlmIGEgbWF0Y2hpbmcg
YnJhY2tldCBleGlzdHMuCisgICIiIgorICBsaW5lID0gaW5pdF9zdWZmaXgKKyAgbmVzdGluZ19z
dGFjayA9IFsnPCddCisgIHdoaWxlIFRydWU6CisgICAgIyBGaW5kIHRoZSBuZXh0IG9wZXJhdG9y
IHRoYXQgY2FuIHRlbGwgdXMgd2hldGhlciA8IGlzIHVzZWQgYXMgYW4KKyAgICAjIG9wZW5pbmcg
YnJhY2tldCBvciBhcyBhIGxlc3MtdGhhbiBvcGVyYXRvci4gIFdlIG9ubHkgd2FudCB0bworICAg
ICMgd2FybiBvbiB0aGUgbGF0dGVyIGNhc2UuCisgICAgIworICAgICMgV2UgY291bGQgYWxzbyBj
aGVjayBhbGwgb3RoZXIgb3BlcmF0b3JzIGFuZCB0ZXJtaW5hdGUgdGhlIHNlYXJjaAorICAgICMg
ZWFybHksIGUuZy4gaWYgd2UgZ290IHNvbWV0aGluZyBsaWtlIHRoaXMgImE8YitjIiwgdGhlICI8
IiBpcworICAgICMgbW9zdCBsaWtlbHkgYSBsZXNzLXRoYW4gb3BlcmF0b3IsIGJ1dCB0aGVuIHdl
IHdpbGwgZ2V0IGZhbHNlCisgICAgIyBwb3NpdGl2ZXMgZm9yIGRlZmF1bHQgYXJndW1lbnRzIGFu
ZCBvdGhlciB0ZW1wbGF0ZSBleHByZXNzaW9ucy4KKyAgICBtYXRjaCA9IFNlYXJjaChyJ15bXjw+
KCksO1xbXF1dKihbPD4oKSw7XFtcXV0pKC4qKSQnLCBsaW5lKQorICAgIGlmIG1hdGNoOgorICAg
ICAgIyBGb3VuZCBhbiBvcGVyYXRvciwgdXBkYXRlIG5lc3Rpbmcgc3RhY2sKKyAgICAgIG9wZXJh
dG9yID0gbWF0Y2guZ3JvdXAoMSkKKyAgICAgIGxpbmUgPSBtYXRjaC5ncm91cCgyKQorCisgICAg
ICBpZiBuZXN0aW5nX3N0YWNrWy0xXSA9PSAnPCc6CisgICAgICAgICMgRXhwZWN0aW5nIGNsb3Np
bmcgYW5nbGUgYnJhY2tldAorICAgICAgICBpZiBvcGVyYXRvciBpbiAoJzwnLCAnKCcsICdbJyk6
CisgICAgICAgICAgbmVzdGluZ19zdGFjay5hcHBlbmQob3BlcmF0b3IpCisgICAgICAgIGVsaWYg
b3BlcmF0b3IgPT0gJz4nOgorICAgICAgICAgIG5lc3Rpbmdfc3RhY2sucG9wKCkKKyAgICAgICAg
ICBpZiBub3QgbmVzdGluZ19zdGFjazoKKyAgICAgICAgICAgICMgRm91bmQgbWF0Y2hpbmcgYW5n
bGUgYnJhY2tldAorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZWxpZiBvcGVyYXRv
ciA9PSAnLCc6CisgICAgICAgICAgIyBHb3QgYSBjb21tYSBhZnRlciBhIGJyYWNrZXQsIHRoaXMg
aXMgbW9zdCBsaWtlbHkgYSB0ZW1wbGF0ZQorICAgICAgICAgICMgYXJndW1lbnQuICBXZSBoYXZl
IG5vdCBzZWVuIGEgY2xvc2luZyBhbmdsZSBicmFja2V0IHlldCwgYnV0CisgICAgICAgICAgIyBp
dCdzIHByb2JhYmx5IGEgZmV3IGxpbmVzIGxhdGVyIGlmIHdlIGxvb2sgZm9yIGl0LCBzbyBqdXN0
CisgICAgICAgICAgIyByZXR1cm4gZWFybHkgaGVyZS4KKyAgICAgICAgICByZXR1cm4gVHJ1ZQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICMgR290IHNvbWUgb3RoZXIgb3BlcmF0b3IuCisgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgIGVsc2U6CisgICAgICAgICMgRXhwZWN0aW5nIGNs
b3NpbmcgcGFyZW50aGVzaXMgb3IgY2xvc2luZyBicmFja2V0CisgICAgICAgIGlmIG9wZXJhdG9y
IGluICgnPCcsICcoJywgJ1snKToKKyAgICAgICAgICBuZXN0aW5nX3N0YWNrLmFwcGVuZChvcGVy
YXRvcikKKyAgICAgICAgZWxpZiBvcGVyYXRvciBpbiAoJyknLCAnXScpOgorICAgICAgICAgICMg
V2UgZG9uJ3QgYm90aGVyIGNoZWNraW5nIGZvciBtYXRjaGluZyAoKSBvciBbXS4gIElmIHdlIGdv
dAorICAgICAgICAgICMgc29tZXRoaW5nIGxpa2UgKF0gb3IgWyksIGl0IHdvdWxkIGhhdmUgYmVl
biBhIHN5bnRheCBlcnJvci4KKyAgICAgICAgICBuZXN0aW5nX3N0YWNrLnBvcCgpCisKKyAgICBl
bHNlOgorICAgICAgIyBTY2FuIHRoZSBuZXh0IGxpbmUKKyAgICAgIGxpbmVudW0gKz0gMQorICAg
ICAgaWYgbGluZW51bSA+PSBsZW4oY2xlYW5fbGluZXMuZWxpZGVkKToKKyAgICAgICAgYnJlYWsK
KyAgICAgIGxpbmUgPSBjbGVhbl9saW5lcy5lbGlkZWRbbGluZW51bV0KKworICAjIEV4aGF1c3Rl
ZCBhbGwgcmVtYWluaW5nIGxpbmVzIGFuZCBzdGlsbCBubyBtYXRjaGluZyBhbmdsZSBicmFja2V0
LgorICAjIE1vc3QgbGlrZWx5IHRoZSBpbnB1dCB3YXMgaW5jb21wbGV0ZSwgb3RoZXJ3aXNlIHdl
IHNob3VsZCBoYXZlCisgICMgc2VlbiBhIHNlbWljb2xvbiBhbmQgcmV0dXJuZWQgZWFybHkuCisg
IHJldHVybiBUcnVlCisKKworZGVmIEZpbmRQcmV2aW91c01hdGNoaW5nQW5nbGVCcmFja2V0KGNs
ZWFuX2xpbmVzLCBsaW5lbnVtLCBpbml0X3ByZWZpeCk6CisgICIiIkZpbmQgdGhlIGNvcnJlc3Bv
bmRpbmcgPCB0aGF0IHN0YXJ0ZWQgYSB0ZW1wbGF0ZS4KKworICBBcmdzOgorICAgIGNsZWFuX2xp
bmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4KKyAgICBs
aW5lbnVtOiBDdXJyZW50IGxpbmUgbnVtYmVyLgorICAgIGluaXRfcHJlZml4OiBQYXJ0IG9mIHRo
ZSBjdXJyZW50IGxpbmUgYmVmb3JlIHRoZSBpbml0aWFsID4uCisKKyAgUmV0dXJuczoKKyAgICBU
cnVlIGlmIGEgbWF0Y2hpbmcgYnJhY2tldCBleGlzdHMuCisgICIiIgorICBsaW5lID0gaW5pdF9w
cmVmaXgKKyAgbmVzdGluZ19zdGFjayA9IFsnPiddCisgIHdoaWxlIFRydWU6CisgICAgIyBGaW5k
IHRoZSBwcmV2aW91cyBvcGVyYXRvcgorICAgIG1hdGNoID0gU2VhcmNoKHInXiguKikoWzw+KCks
O1xbXF1dKVtePD4oKSw7XFtcXV0qJCcsIGxpbmUpCisgICAgaWYgbWF0Y2g6CisgICAgICAjIEZv
dW5kIGFuIG9wZXJhdG9yLCB1cGRhdGUgbmVzdGluZyBzdGFjaworICAgICAgb3BlcmF0b3IgPSBt
YXRjaC5ncm91cCgyKQorICAgICAgbGluZSA9IG1hdGNoLmdyb3VwKDEpCisKKyAgICAgIGlmIG5l
c3Rpbmdfc3RhY2tbLTFdID09ICc+JzoKKyAgICAgICAgIyBFeHBlY3Rpbmcgb3BlbmluZyBhbmds
ZSBicmFja2V0CisgICAgICAgIGlmIG9wZXJhdG9yIGluICgnPicsICcpJywgJ10nKToKKyAgICAg
ICAgICBuZXN0aW5nX3N0YWNrLmFwcGVuZChvcGVyYXRvcikKKyAgICAgICAgZWxpZiBvcGVyYXRv
ciA9PSAnPCc6CisgICAgICAgICAgbmVzdGluZ19zdGFjay5wb3AoKQorICAgICAgICAgIGlmIG5v
dCBuZXN0aW5nX3N0YWNrOgorICAgICAgICAgICAgIyBGb3VuZCBtYXRjaGluZyBhbmdsZSBicmFj
a2V0CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBlbGlmIG9wZXJhdG9yID09ICcs
JzoKKyAgICAgICAgICAjIEdvdCBhIGNvbW1hIGJlZm9yZSBhIGJyYWNrZXQsIHRoaXMgaXMgbW9z
dCBsaWtlbHkgYQorICAgICAgICAgICMgdGVtcGxhdGUgYXJndW1lbnQuICBUaGUgb3BlbmluZyBh
bmdsZSBicmFja2V0IGlzIHByb2JhYmx5CisgICAgICAgICAgIyB0aGVyZSBpZiB3ZSBsb29rIGZv
ciBpdCwgc28ganVzdCByZXR1cm4gZWFybHkgaGVyZS4KKyAgICAgICAgICByZXR1cm4gVHJ1ZQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICMgR290IHNvbWUgb3RoZXIgb3BlcmF0b3IuCisgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgIGVsc2U6CisgICAgICAgICMgRXhwZWN0aW5nIG9w
ZW5pbmcgcGFyZW50aGVzaXMgb3Igb3BlbmluZyBicmFja2V0CisgICAgICAgIGlmIG9wZXJhdG9y
IGluICgnPicsICcpJywgJ10nKToKKyAgICAgICAgICBuZXN0aW5nX3N0YWNrLmFwcGVuZChvcGVy
YXRvcikKKyAgICAgICAgZWxpZiBvcGVyYXRvciBpbiAoJygnLCAnWycpOgorICAgICAgICAgIG5l
c3Rpbmdfc3RhY2sucG9wKCkKKworICAgIGVsc2U6CisgICAgICAjIFNjYW4gdGhlIHByZXZpb3Vz
IGxpbmUKKyAgICAgIGxpbmVudW0gLT0gMQorICAgICAgaWYgbGluZW51bSA8IDA6CisgICAgICAg
IGJyZWFrCisgICAgICBsaW5lID0gY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW1dCisKKyAgIyBF
eGhhdXN0ZWQgYWxsIGVhcmxpZXIgbGluZXMgYW5kIHN0aWxsIG5vIG1hdGNoaW5nIGFuZ2xlIGJy
YWNrZXQuCisgIHJldHVybiBGYWxzZQorCisKK2RlZiBDaGVja1NwYWNpbmcoZmlsZW5hbWUsIGNs
ZWFuX2xpbmVzLCBsaW5lbnVtLCBuZXN0aW5nX3N0YXRlLCBlcnJvcik6CisgICIiIkNoZWNrcyBm
b3IgdGhlIGNvcnJlY3RuZXNzIG9mIHZhcmlvdXMgc3BhY2luZyBpc3N1ZXMgaW4gdGhlIGNvZGUu
CiAKICAgVGhpbmdzIHdlIGNoZWNrIGZvcjogc3BhY2VzIGFyb3VuZCBvcGVyYXRvcnMsIHNwYWNl
cyBhZnRlcgogICBpZi9mb3Ivd2hpbGUvc3dpdGNoLCBubyBzcGFjZXMgYXJvdW5kIHBhcmVucyBp
biBmdW5jdGlvbiBjYWxscywgdHdvCkBAIC0zMTgxLDcgKzI1NDIsNyBAQCBkZWYgQ2hlY2tTcGFj
aW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3Ip
OgogICAgIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlLgogICAgIGNsZWFu
X2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4KICAg
ICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotICAgIG5lc3Rpbmdf
c3RhdGU6IEEgTmVzdGluZ1N0YXRlIGluc3RhbmNlIHdoaWNoIG1haW50YWlucyBpbmZvcm1hdGlv
biBhYm91dAorICAgIG5lc3Rpbmdfc3RhdGU6IEEgX05lc3RpbmdTdGF0ZSBpbnN0YW5jZSB3aGlj
aCBtYWludGFpbnMgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgICAgICAgICAgICAgICB0aGUgY3Vy
cmVudCBzdGFjayBvZiBuZXN0ZWQgYmxvY2tzIGJlaW5nIHBhcnNlZC4KICAgICBlcnJvcjogVGhl
IGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAiIiIKQEAgLTMyMDQs
MTIgKzI1NjUsNyBAQCBkZWYgQ2hlY2tTcGFjaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGlu
ZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IpOgogICAjICAgfQogICAjCiAgICMgQSB3YXJuaW5n
IGFib3V0IG1pc3NpbmcgZW5kIG9mIG5hbWVzcGFjZSBjb21tZW50cyB3aWxsIGJlIGlzc3VlZCBp
bnN0ZWFkLgotICAjCi0gICMgQWxzbyBza2lwIGJsYW5rIGxpbmUgY2hlY2tzIGZvciAnZXh0ZXJu
ICJDIicgYmxvY2tzLCB3aGljaCBhcmUgZm9ybWF0dGVkCi0gICMgbGlrZSBuYW1lc3BhY2VzLgot
ICBpZiAoSXNCbGFua0xpbmUobGluZSkgYW5kCi0gICAgICBub3QgbmVzdGluZ19zdGF0ZS5Jbk5h
bWVzcGFjZUJvZHkoKSBhbmQKLSAgICAgIG5vdCBuZXN0aW5nX3N0YXRlLkluRXh0ZXJuQygpKToK
KyAgaWYgSXNCbGFua0xpbmUobGluZSkgYW5kIG5vdCBuZXN0aW5nX3N0YXRlLkluTmFtZXNwYWNl
Qm9keSgpOgogICAgIGVsaWRlZCA9IGNsZWFuX2xpbmVzLmVsaWRlZAogICAgIHByZXZfbGluZSA9
IGVsaWRlZFtsaW5lbnVtIC0gMV0KICAgICBwcmV2YnJhY2UgPSBwcmV2X2xpbmUucmZpbmQoJ3sn
KQpAQCAtMzI3Miw2NCArMjYyOCw1NCBAQCBkZWYgQ2hlY2tTcGFjaW5nKGZpbGVuYW1lLCBjbGVh
bl9saW5lcywgbGluZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IpOgogICAgICAgZXJyb3IoZmls
ZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL2JsYW5rX2xpbmUnLCAzLAogICAgICAgICAgICAg
J0RvIG5vdCBsZWF2ZSBhIGJsYW5rIGxpbmUgYWZ0ZXIgIiVzOiInICUgbWF0Y2hlZC5ncm91cCgx
KSkKIAotICAjIE5leHQsIGNoZWNrIGNvbW1lbnRzCi0gIG5leHRfbGluZV9zdGFydCA9IDAKLSAg
aWYgbGluZW51bSArIDEgPCBjbGVhbl9saW5lcy5OdW1MaW5lcygpOgotICAgIG5leHRfbGluZSA9
IHJhd1tsaW5lbnVtICsgMV0KLSAgICBuZXh0X2xpbmVfc3RhcnQgPSBsZW4obmV4dF9saW5lKSAt
IGxlbihuZXh0X2xpbmUubHN0cmlwKCkpCi0gIENoZWNrQ29tbWVudChsaW5lLCBmaWxlbmFtZSwg
bGluZW51bSwgbmV4dF9saW5lX3N0YXJ0LCBlcnJvcikKLQotICAjIGdldCByaWQgb2YgY29tbWVu
dHMgYW5kIHN0cmluZ3MKLSAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtXQotCi0g
ICMgWW91IHNob3VsZG4ndCBoYXZlIHNwYWNlcyBiZWZvcmUgeW91ciBicmFja2V0cywgZXhjZXB0
IG1heWJlIGFmdGVyCi0gICMgJ2RlbGV0ZSBbXScsICdyZXR1cm4gW10oKSB7fTsnLCBvciAnYXV0
byBbYWJjLCAuLi5dID0gLi4uOycuCi0gIGlmIFNlYXJjaChyJ1x3XHMrXFsnLCBsaW5lKSBhbmQg
bm90IFNlYXJjaChyJyg/OmF1dG8mP3xkZWxldGV8cmV0dXJuKVxzK1xbJywgbGluZSk6Ci0gICAg
ZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL2JyYWNlcycsIDUsCi0gICAgICAg
ICAgJ0V4dHJhIHNwYWNlIGJlZm9yZSBbJykKLQotICAjIEluIHJhbmdlLWJhc2VkIGZvciwgd2Ug
d2FudGVkIHNwYWNlcyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjb2xvbiwgYnV0Ci0gICMgbm90IGFy
b3VuZCAiOjoiIHRva2VucyB0aGF0IG1pZ2h0IGFwcGVhci4KLSAgaWYgKFNlYXJjaChyJ2ZvciAq
XCguKlteOl06W146IF0nLCBsaW5lKSBvcgotICAgICAgU2VhcmNoKHInZm9yICpcKC4qW146IF06
W146XScsIGxpbmUpKToKLSAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2Uv
Zm9yY29sb24nLCAyLAotICAgICAgICAgICdNaXNzaW5nIHNwYWNlIGFyb3VuZCBjb2xvbiBpbiBy
YW5nZS1iYXNlZCBmb3IgbG9vcCcpCi0KLQotZGVmIENoZWNrT3BlcmF0b3JTcGFjaW5nKGZpbGVu
YW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgotICAiIiJDaGVja3MgZm9yIGhvcml6
b250YWwgc3BhY2luZyBhcm91bmQgb3BlcmF0b3JzLgotCi0gIEFyZ3M6Ci0gICAgZmlsZW5hbWU6
IFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZpbGUuCi0gICAgY2xlYW5fbGluZXM6IEEgQ2xlYW5z
ZWRMaW5lcyBpbnN0YW5jZSBjb250YWluaW5nIHRoZSBmaWxlLgotICAgIGxpbmVudW06IFRoZSBu
dW1iZXIgb2YgdGhlIGxpbmUgdG8gY2hlY2suCi0gICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBj
YWxsIHdpdGggYW55IGVycm9ycyBmb3VuZC4KLSAgIiIiCi0gIGxpbmUgPSBjbGVhbl9saW5lcy5l
bGlkZWRbbGluZW51bV0KLQotICAjIERvbid0IHRyeSB0byBkbyBzcGFjaW5nIGNoZWNrcyBmb3Ig
b3BlcmF0b3IgbWV0aG9kcy4gIERvIHRoaXMgYnkKLSAgIyByZXBsYWNpbmcgdGhlIHRyb3VibGVz
b21lIGNoYXJhY3RlcnMgd2l0aCBzb21ldGhpbmcgZWxzZSwKLSAgIyBwcmVzZXJ2aW5nIGNvbHVt
biBwb3NpdGlvbiBmb3IgYWxsIG90aGVyIGNoYXJhY3RlcnMuCi0gICMKLSAgIyBUaGUgcmVwbGFj
ZW1lbnQgaXMgZG9uZSByZXBlYXRlZGx5IHRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcyBmcm9tCi0g
ICMgb3BlcmF0b3JzIHRoYXQgY2FsbCBvcGVyYXRvcnMuCi0gIHdoaWxlIFRydWU6Ci0gICAgbWF0
Y2ggPSBNYXRjaChyJ14oLipcYm9wZXJhdG9yXGIpKFxTKykoXHMqXCguKikkJywgbGluZSkKLSAg
ICBpZiBtYXRjaDoKLSAgICAgIGxpbmUgPSBtYXRjaC5ncm91cCgxKSArICgnXycgKiBsZW4obWF0
Y2guZ3JvdXAoMikpKSArIG1hdGNoLmdyb3VwKDMpCi0gICAgZWxzZToKLSAgICAgIGJyZWFrCisg
ICMgTmV4dCwgd2UgY29tcGxhaW4gaWYgdGhlcmUncyBhIGNvbW1lbnQgdG9vIG5lYXIgdGhlIHRl
eHQKKyAgY29tbWVudHBvcyA9IGxpbmUuZmluZCgnLy8nKQorICBpZiBjb21tZW50cG9zICE9IC0x
OgorICAgICMgQ2hlY2sgaWYgdGhlIC8vIG1heSBiZSBpbiBxdW90ZXMuICBJZiBzbywgaWdub3Jl
IGl0CisgICAgIyBDb21wYXJpc29ucyBtYWRlIGV4cGxpY2l0IGZvciBjbGFyaXR5IC0tIHB5bGlu
dDogZGlzYWJsZT1nLWV4cGxpY2l0LWJvb2wtY29tcGFyaXNvbgorICAgIGlmIChsaW5lLmNvdW50
KCciJywgMCwgY29tbWVudHBvcykgLQorICAgICAgICBsaW5lLmNvdW50KCdcXCInLCAwLCBjb21t
ZW50cG9zKSkgJSAyID09IDA6ICAgIyBub3QgaW4gcXVvdGVzCisgICAgICAjIEFsbG93IG9uZSBz
cGFjZSBmb3IgbmV3IHNjb3BlcywgdHdvIHNwYWNlcyBvdGhlcndpc2U6CisgICAgICBpZiAobm90
IE1hdGNoKHInXlxzKnsgLy8nLCBsaW5lKSBhbmQKKyAgICAgICAgICAoKGNvbW1lbnRwb3MgPj0g
MSBhbmQKKyAgICAgICAgICAgIGxpbmVbY29tbWVudHBvcy0xXSBub3QgaW4gc3RyaW5nLndoaXRl
c3BhY2UpIG9yCisgICAgICAgICAgIChjb21tZW50cG9zID49IDIgYW5kCisgICAgICAgICAgICBs
aW5lW2NvbW1lbnRwb3MtMl0gbm90IGluIHN0cmluZy53aGl0ZXNwYWNlKSkpOgorICAgICAgICBl
cnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2UvY29tbWVudHMnLCAyLAorICAgICAg
ICAgICAgICAnQXQgbGVhc3QgdHdvIHNwYWNlcyBpcyBiZXN0IGJldHdlZW4gY29kZSBhbmQgY29t
bWVudHMnKQorICAgICAgIyBUaGVyZSBzaG91bGQgYWx3YXlzIGJlIGEgc3BhY2UgYmV0d2VlbiB0
aGUgLy8gYW5kIHRoZSBjb21tZW50CisgICAgICBjb21tZW50ZW5kID0gY29tbWVudHBvcyArIDIK
KyAgICAgIGlmIGNvbW1lbnRlbmQgPCBsZW4obGluZSkgYW5kIG5vdCBsaW5lW2NvbW1lbnRlbmRd
ID09ICcgJzoKKyAgICAgICAgIyBidXQgc29tZSBsaW5lcyBhcmUgZXhjZXB0aW9ucyAtLSBlLmcu
IGlmIHRoZXkncmUgYmlnCisgICAgICAgICMgY29tbWVudCBkZWxpbWl0ZXJzIGxpa2U6CisgICAg
ICAgICMgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisgICAgICAgICMgb3IgYXJlIGFuIGVtcHR5IEMrKyBzdHlsZSBEb3h5Z2VuIGNv
bW1lbnQsIGxpa2U6CisgICAgICAgICMgLy8vCisgICAgICAgICMgb3IgQysrIHN0eWxlIERveHln
ZW4gY29tbWVudHMgcGxhY2VkIGFmdGVyIHRoZSB2YXJpYWJsZToKKyAgICAgICAgIyAvLy88ICBI
ZWFkZXIgY29tbWVudAorICAgICAgICAjIC8vITwgIEhlYWRlciBjb21tZW50CisgICAgICAgICMg
b3IgdGhleSBiZWdpbiB3aXRoIG11bHRpcGxlIHNsYXNoZXMgZm9sbG93ZWQgYnkgYSBzcGFjZToK
KyAgICAgICAgIyAvLy8vLy8vLyBIZWFkZXIgY29tbWVudAorICAgICAgICBtYXRjaCA9IChTZWFy
Y2gocidbPS8tXXs0LH1ccyokJywgbGluZVtjb21tZW50ZW5kOl0pIG9yCisgICAgICAgICAgICAg
ICAgIFNlYXJjaChyJ14vJCcsIGxpbmVbY29tbWVudGVuZDpdKSBvcgorICAgICAgICAgICAgICAg
ICBTZWFyY2gocideITwgJywgbGluZVtjb21tZW50ZW5kOl0pIG9yCisgICAgICAgICAgICAgICAg
IFNlYXJjaChyJ14vPCAnLCBsaW5lW2NvbW1lbnRlbmQ6XSkgb3IKKyAgICAgICAgICAgICAgICAg
U2VhcmNoKHInXi8rICcsIGxpbmVbY29tbWVudGVuZDpdKSkKKyAgICAgICAgaWYgbm90IG1hdGNo
OgorICAgICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFjZS9jb21tZW50
cycsIDQsCisgICAgICAgICAgICAgICAgJ1Nob3VsZCBoYXZlIGEgc3BhY2UgYmV0d2VlbiAvLyBh
bmQgY29tbWVudCcpCisgICAgICBDaGVja0NvbW1lbnQobGluZVtjb21tZW50cG9zOl0sIGZpbGVu
YW1lLCBsaW5lbnVtLCBlcnJvcikKKworICBsaW5lID0gY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVu
dW1dICAjIGdldCByaWQgb2YgY29tbWVudHMgYW5kIHN0cmluZ3MKKworICAjIERvbid0IHRyeSB0
byBkbyBzcGFjaW5nIGNoZWNrcyBmb3Igb3BlcmF0b3IgbWV0aG9kcworICBsaW5lID0gcmUuc3Vi
KHInb3BlcmF0b3IoPT18IT18PHw8PHw8PXw+PXw+Pnw+KVwoJywgJ29wZXJhdG9yXCgnLCBsaW5l
KQogCiAgICMgV2UgYWxsb3cgbm8tc3BhY2VzIGFyb3VuZCA9IHdpdGhpbiBhbiBpZjogImlmICgg
KGE9Rm9vKCkpID09IDAgKSIuCiAgICMgT3RoZXJ3aXNlIG5vdC4gIE5vdGUgd2Ugb25seSBjaGVj
ayBmb3Igbm9uLXNwYWNlcyBvbiAqYm90aCogc2lkZXM7CiAgICMgc29tZXRpbWVzIHBlb3BsZSBw
dXQgbm9uLXNwYWNlcyBvbiBvbmUgc2lkZSB3aGVuIGFsaWduaW5nID0ncyBhbW9uZwogICAjIG1h
bnkgbGluZXMgKG5vdCB0aGF0IHRoaXMgaXMgYmVoYXZpb3IgdGhhdCBJIGFwcHJvdmUgb2YuLi4p
Ci0gIGlmICgoU2VhcmNoKHInW1x3Ll09JywgbGluZSkgb3IKLSAgICAgICBTZWFyY2gocic9W1x3
Ll0nLCBsaW5lKSkKLSAgICAgIGFuZCBub3QgU2VhcmNoKHInXGIoaWZ8d2hpbGV8Zm9yKSAnLCBs
aW5lKQotICAgICAgIyBPcGVyYXRvcnMgdGFrZW4gZnJvbSBbbGV4Lm9wZXJhdG9yc10gaW4gQysr
MTEgc3RhbmRhcmQuCi0gICAgICBhbmQgbm90IFNlYXJjaChyJyg+PXw8PXw9PXwhPXwmPXxcXj18
XHw9fFwrPXxcKj18XC89fFwlPSknLCBsaW5lKQotICAgICAgYW5kIG5vdCBTZWFyY2gocidvcGVy
YXRvcj0nLCBsaW5lKSk6CisgIGlmIFNlYXJjaChyJ1tcdy5dPVtcdy5dJywgbGluZSkgYW5kIG5v
dCBTZWFyY2gocidcYihpZnx3aGlsZSkgJywgbGluZSk6CiAgICAgZXJyb3IoZmlsZW5hbWUsIGxp
bmVudW0sICd3aGl0ZXNwYWNlL29wZXJhdG9ycycsIDQsCiAgICAgICAgICAgJ01pc3Npbmcgc3Bh
Y2VzIGFyb3VuZCA9JykKIApAQCAtMzM0MSw1MSArMjY4Nyw0MiBAQCBkZWYgQ2hlY2tPcGVyYXRv
clNwYWNpbmcoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6CiAgICMKICAg
IyBDaGVjayA8PSBhbmQgPj0gZmlyc3QgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIHdpdGggPCBh
bmQgPiwgdGhlbgogICAjIGNoZWNrIG5vbi1pbmNsdWRlIGxpbmVzIGZvciBzcGFjaW5nIGFyb3Vu
ZCA8IGFuZCA+LgotICAjCi0gICMgSWYgdGhlIG9wZXJhdG9yIGlzIGZvbGxvd2VkIGJ5IGEgY29t
bWEsIGFzc3VtZSBpdCdzIGJlIHVzZWQgaW4gYQotICAjIG1hY3JvIGNvbnRleHQgYW5kIGRvbid0
IGRvIGFueSBjaGVja3MuICBUaGlzIGF2b2lkcyBmYWxzZQotICAjIHBvc2l0aXZlcy4KLSAgIwot
ICAjIE5vdGUgdGhhdCAmJiBpcyBub3QgaW5jbHVkZWQgaGVyZS4gIFRoaXMgaXMgYmVjYXVzZSB0
aGVyZSBhcmUgdG9vCi0gICMgbWFueSBmYWxzZSBwb3NpdGl2ZXMgZHVlIHRvIFJWYWx1ZSByZWZl
cmVuY2VzLgotICBtYXRjaCA9IFNlYXJjaChyJ1tePD49IVxzXSg9PXwhPXw8PXw+PXxcfFx8KVte
PD49IVxzLDtcKV0nLCBsaW5lKQorICBtYXRjaCA9IFNlYXJjaChyJ1tePD49IVxzXSg9PXwhPXw8
PXw+PSlbXjw+PSFcc10nLCBsaW5lKQogICBpZiBtYXRjaDoKICAgICBlcnJvcihmaWxlbmFtZSwg
bGluZW51bSwgJ3doaXRlc3BhY2Uvb3BlcmF0b3JzJywgMywKICAgICAgICAgICAnTWlzc2luZyBz
cGFjZXMgYXJvdW5kICVzJyAlIG1hdGNoLmdyb3VwKDEpKQorICAjIFdlIGFsbG93IG5vLXNwYWNl
cyBhcm91bmQgPDwgd2hlbiB1c2VkIGxpa2UgdGhpczogMTA8PDIwLCBidXQKKyAgIyBub3Qgb3Ro
ZXJ3aXNlIChwYXJ0aWN1bGFybHksIG5vdCB3aGVuIHVzZWQgYXMgc3RyZWFtcykKKyAgIyBBbHNv
IGlnbm9yZSB1c2luZyBuczo6b3BlcmF0b3I8PDsKKyAgbWF0Y2ggPSBTZWFyY2gocicob3BlcmF0
b3J8XFMpKD86THxVTHxVTEx8bHx1bHx1bGwpPzw8KFxTKScsIGxpbmUpCisgIGlmIChtYXRjaCBh
bmQKKyAgICAgIG5vdCAobWF0Y2guZ3JvdXAoMSkuaXNkaWdpdCgpIGFuZCBtYXRjaC5ncm91cCgy
KS5pc2RpZ2l0KCkpIGFuZAorICAgICAgbm90IChtYXRjaC5ncm91cCgxKSA9PSAnb3BlcmF0b3In
IGFuZCBtYXRjaC5ncm91cCgyKSA9PSAnOycpKToKKyAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51
bSwgJ3doaXRlc3BhY2Uvb3BlcmF0b3JzJywgMywKKyAgICAgICAgICAnTWlzc2luZyBzcGFjZXMg
YXJvdW5kIDw8JykKICAgZWxpZiBub3QgTWF0Y2gocicjLippbmNsdWRlJywgbGluZSk6CisgICAg
IyBBdm9pZCBmYWxzZSBwb3NpdGl2ZXMgb24gLT4KKyAgICByZWR1Y2VkX2xpbmUgPSBsaW5lLnJl
cGxhY2UoJy0+JywgJycpCisKICAgICAjIExvb2sgZm9yIDwgdGhhdCBpcyBub3Qgc3Vycm91bmRl
ZCBieSBzcGFjZXMuICBUaGlzIGlzIG9ubHkKICAgICAjIHRyaWdnZXJlZCBpZiBib3RoIHNpZGVz
IGFyZSBtaXNzaW5nIHNwYWNlcywgZXZlbiB0aG91Z2gKICAgICAjIHRlY2huaWNhbGx5IHNob3Vs
ZCBzaG91bGQgZmxhZyBpZiBhdCBsZWFzdCBvbmUgc2lkZSBpcyBtaXNzaW5nIGEKICAgICAjIHNw
YWNlLiAgVGhpcyBpcyBkb25lIHRvIGF2b2lkIHNvbWUgZmFsc2UgcG9zaXRpdmVzIHdpdGggc2hp
ZnRzLgotICAgIG1hdGNoID0gTWF0Y2gocideKC4qW15cczxdKTxbXlxzPTwsXScsIGxpbmUpCi0g
ICAgaWYgbWF0Y2g6Ci0gICAgICAoXywgXywgZW5kX3BvcykgPSBDbG9zZUV4cHJlc3Npb24oCi0g
ICAgICAgICAgY2xlYW5fbGluZXMsIGxpbmVudW0sIGxlbihtYXRjaC5ncm91cCgxKSkpCi0gICAg
ICBpZiBlbmRfcG9zIDw9IC0xOgotICAgICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3do
aXRlc3BhY2Uvb3BlcmF0b3JzJywgMywKLSAgICAgICAgICAgICAgJ01pc3Npbmcgc3BhY2VzIGFy
b3VuZCA8JykKKyAgICBtYXRjaCA9IFNlYXJjaChyJ1teXHM8XTwoW15ccz08XS4qKScsIHJlZHVj
ZWRfbGluZSkKKyAgICBpZiAobWF0Y2ggYW5kCisgICAgICAgIG5vdCBGaW5kTmV4dE1hdGNoaW5n
QW5nbGVCcmFja2V0KGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBtYXRjaC5ncm91cCgxKSkpOgorICAg
ICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL29wZXJhdG9ycycsIDMsCisg
ICAgICAgICAgICAnTWlzc2luZyBzcGFjZXMgYXJvdW5kIDwnKQogCiAgICAgIyBMb29rIGZvciA+
IHRoYXQgaXMgbm90IHN1cnJvdW5kZWQgYnkgc3BhY2VzLiAgU2ltaWxhciB0byB0aGUKICAgICAj
IGFib3ZlLCB3ZSBvbmx5IHRyaWdnZXIgaWYgYm90aCBzaWRlcyBhcmUgbWlzc2luZyBzcGFjZXMg
dG8gYXZvaWQKICAgICAjIGZhbHNlIHBvc2l0aXZlcyB3aXRoIHNoaWZ0cy4KLSAgICBtYXRjaCA9
IE1hdGNoKHInXiguKlteLVxzPl0pPlteXHM9PixdJywgbGluZSkKLSAgICBpZiBtYXRjaDoKLSAg
ICAgIChfLCBfLCBzdGFydF9wb3MpID0gUmV2ZXJzZUNsb3NlRXhwcmVzc2lvbigKLSAgICAgICAg
ICBjbGVhbl9saW5lcywgbGluZW51bSwgbGVuKG1hdGNoLmdyb3VwKDEpKSkKLSAgICAgIGlmIHN0
YXJ0X3BvcyA8PSAtMToKLSAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNw
YWNlL29wZXJhdG9ycycsIDMsCi0gICAgICAgICAgICAgICdNaXNzaW5nIHNwYWNlcyBhcm91bmQg
PicpCi0KLSAgIyBXZSBhbGxvdyBuby1zcGFjZXMgYXJvdW5kIDw8IHdoZW4gdXNlZCBsaWtlIHRo
aXM6IDEwPDwyMCwgYnV0Ci0gICMgbm90IG90aGVyd2lzZSAocGFydGljdWxhcmx5LCBub3Qgd2hl
biB1c2VkIGFzIHN0cmVhbXMpCi0gICMKLSAgIyBXZSBhbHNvIGFsbG93IG9wZXJhdG9ycyBmb2xs
b3dpbmcgYW4gb3BlbmluZyBwYXJlbnRoZXNpcywgc2luY2UKLSAgIyB0aG9zZSB0ZW5kIHRvIGJl
IG1hY3JvcyB0aGF0IGRlYWwgd2l0aCBvcGVyYXRvcnMuCi0gIG1hdGNoID0gU2VhcmNoKHInKG9w
ZXJhdG9yfFteXHMoPF0pKD86THxVTHxMTHxVTEx8bHx1bHxsbHx1bGwpPzw8KFteXHMsPTxdKScs
IGxpbmUpCi0gIGlmIChtYXRjaCBhbmQgbm90IChtYXRjaC5ncm91cCgxKS5pc2RpZ2l0KCkgYW5k
IG1hdGNoLmdyb3VwKDIpLmlzZGlnaXQoKSkgYW5kCi0gICAgICBub3QgKG1hdGNoLmdyb3VwKDEp
ID09ICdvcGVyYXRvcicgYW5kIG1hdGNoLmdyb3VwKDIpID09ICc7JykpOgotICAgIGVycm9yKGZp
bGVuYW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFjZS9vcGVyYXRvcnMnLCAzLAotICAgICAgICAgICdN
aXNzaW5nIHNwYWNlcyBhcm91bmQgPDwnKQorICAgIG1hdGNoID0gU2VhcmNoKHInXiguKlteXHM+
XSk+W15ccz0+XScsIHJlZHVjZWRfbGluZSkKKyAgICBpZiAobWF0Y2ggYW5kCisgICAgICAgIG5v
dCBGaW5kUHJldmlvdXNNYXRjaGluZ0FuZ2xlQnJhY2tldChjbGVhbl9saW5lcywgbGluZW51bSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoLmdyb3Vw
KDEpKSk6CisgICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2Uvb3BlcmF0
b3JzJywgMywKKyAgICAgICAgICAgICdNaXNzaW5nIHNwYWNlcyBhcm91bmQgPicpCiAKICAgIyBX
ZSBhbGxvdyBuby1zcGFjZXMgYXJvdW5kID4+IGZvciBhbG1vc3QgYW55dGhpbmcuICBUaGlzIGlz
IGJlY2F1c2UKICAgIyBDKysxMSBhbGxvd3MgIj4+IiB0byBjbG9zZSBuZXN0ZWQgdGVtcGxhdGVz
LCB3aGljaCBhY2NvdW50cyBmb3IKQEAgLTM0MTAsMTkgKzI3NDcsNyBAQCBkZWYgQ2hlY2tPcGVy
YXRvclNwYWNpbmcoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6CiAgICAg
ZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL29wZXJhdG9ycycsIDQsCiAgICAg
ICAgICAgJ0V4dHJhIHNwYWNlIGZvciBvcGVyYXRvciAlcycgJSBtYXRjaC5ncm91cCgxKSkKIAot
Ci1kZWYgQ2hlY2tQYXJlbnRoZXNpc1NwYWNpbmcoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5l
bnVtLCBlcnJvcik6Ci0gICIiIkNoZWNrcyBmb3IgaG9yaXpvbnRhbCBzcGFjaW5nIGFyb3VuZCBw
YXJlbnRoZXNlcy4KLQotICBBcmdzOgotICAgIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3Vy
cmVudCBmaWxlLgotICAgIGNsZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29u
dGFpbmluZyB0aGUgZmlsZS4KLSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRv
IGNoZWNrLgotICAgIGVycm9yOiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMg
Zm91bmQuCi0gICIiIgotICBsaW5lID0gY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW1dCi0KLSAg
IyBObyBzcGFjZXMgYWZ0ZXIgYW4gaWYsIHdoaWxlLCBzd2l0Y2gsIG9yIGZvcgorICAjIEEgcGV0
IHBlZXZlIG9mIG1pbmU6IG5vIHNwYWNlcyBhZnRlciBhbiBpZiwgd2hpbGUsIHN3aXRjaCwgb3Ig
Zm9yCiAgIG1hdGNoID0gU2VhcmNoKHInIChpZlwofGZvclwofHdoaWxlXCh8c3dpdGNoXCgpJywg
bGluZSkKICAgaWYgbWF0Y2g6CiAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNw
YWNlL3BhcmVucycsIDUsCkBAIC0zNDQ4LDE5ICsyNzczLDYgQEAgZGVmIENoZWNrUGFyZW50aGVz
aXNTcGFjaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgogICAgICAg
ICAgICAgJ1Nob3VsZCBoYXZlIHplcm8gb3Igb25lIHNwYWNlcyBpbnNpZGUgKCBhbmQgKSBpbiAl
cycgJQogICAgICAgICAgICAgbWF0Y2guZ3JvdXAoMSkpCiAKLQotZGVmIENoZWNrQ29tbWFTcGFj
aW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgotICAiIiJDaGVja3Mg
Zm9yIGhvcml6b250YWwgc3BhY2luZyBuZWFyIGNvbW1hcyBhbmQgc2VtaWNvbG9ucy4KLQotICBB
cmdzOgotICAgIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlLgotICAgIGNs
ZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4K
LSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotICAgIGVycm9y
OiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCi0gICIiIgotICBy
YXcgPSBjbGVhbl9saW5lcy5saW5lc193aXRob3V0X3Jhd19zdHJpbmdzCi0gIGxpbmUgPSBjbGVh
bl9saW5lcy5lbGlkZWRbbGluZW51bV0KLQogICAjIFlvdSBzaG91bGQgYWx3YXlzIGhhdmUgYSBz
cGFjZSBhZnRlciBhIGNvbW1hIChlaXRoZXIgYXMgZm4gYXJnIG9yIG9wZXJhdG9yKQogICAjCiAg
ICMgVGhpcyBkb2VzIG5vdCBhcHBseSB3aGVuIHRoZSBub24tc3BhY2UgY2hhcmFjdGVyIGZvbGxv
d2luZyB0aGUKQEAgLTM0NzEsOCArMjc4Myw3IEBAIGRlZiBDaGVja0NvbW1hU3BhY2luZyhmaWxl
bmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKToKICAgIyB2ZXJpZnkgdGhhdCBsaW5l
cyBjb250YWluIG1pc3Npbmcgd2hpdGVzcGFjZXMsIHNlY29uZCBwYXNzIG9uIHJhdwogICAjIGxp
bmVzIHRvIGNvbmZpcm0gdGhhdCB0aG9zZSBtaXNzaW5nIHdoaXRlc3BhY2VzIGFyZSBub3QgZHVl
IHRvCiAgICMgZWxpZGVkIGNvbW1lbnRzLgotICBpZiAoU2VhcmNoKHInLFteLFxzXScsIFJlcGxh
Y2VBbGwocidcYm9wZXJhdG9yXHMqLFxzKlwoJywgJ0YoJywgbGluZSkpIGFuZAotICAgICAgU2Vh
cmNoKHInLFteLFxzXScsIHJhd1tsaW5lbnVtXSkpOgorICBpZiBTZWFyY2gocicsW14sXHNdJywg
bGluZSkgYW5kIFNlYXJjaChyJyxbXixcc10nLCByYXdbbGluZW51bV0pOgogICAgIGVycm9yKGZp
bGVuYW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFjZS9jb21tYScsIDMsCiAgICAgICAgICAgJ01pc3Np
bmcgc3BhY2UgYWZ0ZXIgLCcpCiAKQEAgLTM0ODQsOTEgKzI3OTUsMTQgQEAgZGVmIENoZWNrQ29t
bWFTcGFjaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgogICAgIGVy
cm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFjZS9zZW1pY29sb24nLCAzLAogICAgICAg
ICAgICdNaXNzaW5nIHNwYWNlIGFmdGVyIDsnKQogCi0KLWRlZiBfSXNUeXBlKGNsZWFuX2xpbmVz
LCBuZXN0aW5nX3N0YXRlLCBleHByKToKLSAgIiIiQ2hlY2sgaWYgZXhwcmVzc2lvbiBsb29rcyBs
aWtlIGEgdHlwZSBuYW1lLCByZXR1cm5zIHRydWUgaWYgc28uCi0KLSAgQXJnczoKLSAgICBjbGVh
bl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5pbmcgdGhlIGZpbGUuCi0g
ICAgbmVzdGluZ19zdGF0ZTogQSBOZXN0aW5nU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5z
IGluZm9ybWF0aW9uIGFib3V0Ci0gICAgICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgc3RhY2sg
b2YgbmVzdGVkIGJsb2NrcyBiZWluZyBwYXJzZWQuCi0gICAgZXhwcjogVGhlIGV4cHJlc3Npb24g
dG8gY2hlY2suCi0gIFJldHVybnM6Ci0gICAgVHJ1ZSwgaWYgdG9rZW4gbG9va3MgbGlrZSBhIHR5
cGUuCi0gICIiIgotICAjIEtlZXAgb25seSB0aGUgbGFzdCB0b2tlbiBpbiB0aGUgZXhwcmVzc2lv
bgotICBsYXN0X3dvcmQgPSBNYXRjaChyJ14uKihcYlxTKykkJywgZXhwcikKLSAgaWYgbGFzdF93
b3JkOgotICAgIHRva2VuID0gbGFzdF93b3JkLmdyb3VwKDEpCi0gIGVsc2U6Ci0gICAgdG9rZW4g
PSBleHByCi0KLSAgIyBNYXRjaCBuYXRpdmUgdHlwZXMgYW5kIHN0ZGludCB0eXBlcwotICBpZiBf
VFlQRVMubWF0Y2godG9rZW4pOgotICAgIHJldHVybiBUcnVlCi0KLSAgIyBUcnkgYSBiaXQgaGFy
ZGVyIHRvIG1hdGNoIHRlbXBsYXRlZCB0eXBlcy4gIFdhbGsgdXAgdGhlIG5lc3RpbmcKLSAgIyBz
dGFjayB1bnRpbCB3ZSBmaW5kIHNvbWV0aGluZyB0aGF0IHJlc2VtYmxlcyBhIHR5cGVuYW1lCi0g
ICMgZGVjbGFyYXRpb24gZm9yIHdoYXQgd2UgYXJlIGxvb2tpbmcgZm9yLgotICB0eXBlbmFtZV9w
YXR0ZXJuID0gKHInXGIoPzp0eXBlbmFtZXxjbGFzc3xzdHJ1Y3QpXHMrJyArIHJlLmVzY2FwZSh0
b2tlbikgKwotICAgICAgICAgICAgICAgICAgICAgIHInXGInKQotICBibG9ja19pbmRleCA9IGxl
bihuZXN0aW5nX3N0YXRlLnN0YWNrKSAtIDEKLSAgd2hpbGUgYmxvY2tfaW5kZXggPj0gMDoKLSAg
ICBpZiBpc2luc3RhbmNlKG5lc3Rpbmdfc3RhdGUuc3RhY2tbYmxvY2tfaW5kZXhdLCBfTmFtZXNw
YWNlSW5mbyk6Ci0gICAgICByZXR1cm4gRmFsc2UKLQotICAgICMgRm91bmQgd2hlcmUgdGhlIG9w
ZW5pbmcgYnJhY2UgaXMuICBXZSB3YW50IHRvIHNjYW4gZnJvbSB0aGlzCi0gICAgIyBsaW5lIHVw
IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZ1bmN0aW9uLCBtaW51cyBhIGZldyBsaW5lcy4KLSAg
ICAjICAgdGVtcGxhdGUgPHR5cGVuYW1lIFR5cGUxLCAgLy8gc3RvcCBzY2FubmluZyBoZXJlCi0g
ICAgIyAgICAgICAgICAgICAuLi4+Ci0gICAgIyAgIGNsYXNzIEMKLSAgICAjICAgICA6IHB1Ymxp
YyAuLi4geyAgLy8gc3RhcnQgc2Nhbm5pbmcgaGVyZQotICAgIGxhc3RfbGluZSA9IG5lc3Rpbmdf
c3RhdGUuc3RhY2tbYmxvY2tfaW5kZXhdLnN0YXJ0aW5nX2xpbmVudW0KLQotICAgIG5leHRfYmxv
Y2tfc3RhcnQgPSAwCi0gICAgaWYgYmxvY2tfaW5kZXggPiAwOgotICAgICAgbmV4dF9ibG9ja19z
dGFydCA9IG5lc3Rpbmdfc3RhdGUuc3RhY2tbYmxvY2tfaW5kZXggLSAxXS5zdGFydGluZ19saW5l
bnVtCi0gICAgZmlyc3RfbGluZSA9IGxhc3RfbGluZQotICAgIHdoaWxlIGZpcnN0X2xpbmUgPj0g
bmV4dF9ibG9ja19zdGFydDoKLSAgICAgIGlmIGNsZWFuX2xpbmVzLmVsaWRlZFtmaXJzdF9saW5l
XS5maW5kKCd0ZW1wbGF0ZScpID49IDA6Ci0gICAgICAgIGJyZWFrCi0gICAgICBmaXJzdF9saW5l
IC09IDEKLSAgICBpZiBmaXJzdF9saW5lIDwgbmV4dF9ibG9ja19zdGFydDoKLSAgICAgICMgRGlk
bid0IGZpbmQgYW55ICJ0ZW1wbGF0ZSIga2V5d29yZCBiZWZvcmUgcmVhY2hpbmcgdGhlIG5leHQg
YmxvY2ssCi0gICAgICAjIHRoZXJlIGFyZSBwcm9iYWJseSBubyB0ZW1wbGF0ZSB0aGluZ3MgdG8g
Y2hlY2sgZm9yIHRoaXMgYmxvY2sKLSAgICAgIGJsb2NrX2luZGV4IC09IDEKLSAgICAgIGNvbnRp
bnVlCi0KLSAgICAjIExvb2sgZm9yIHR5cGVuYW1lIGluIHRoZSBzcGVjaWZpZWQgcmFuZ2UKLSAg
ICBmb3IgaSBpbiB4cmFuZ2UoZmlyc3RfbGluZSwgbGFzdF9saW5lICsgMSwgMSk6Ci0gICAgICBp
ZiBTZWFyY2godHlwZW5hbWVfcGF0dGVybiwgY2xlYW5fbGluZXMuZWxpZGVkW2ldKToKLSAgICAg
ICAgcmV0dXJuIFRydWUKLSAgICBibG9ja19pbmRleCAtPSAxCi0KLSAgcmV0dXJuIEZhbHNlCi0K
LQotZGVmIENoZWNrQnJhY2VzU3BhY2luZyhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0s
IG5lc3Rpbmdfc3RhdGUsIGVycm9yKToKLSAgIiIiQ2hlY2tzIGZvciBob3Jpem9udGFsIHNwYWNp
bmcgbmVhciBjb21tYXMuCi0KLSAgQXJnczoKLSAgICBmaWxlbmFtZTogVGhlIG5hbWUgb2YgdGhl
IGN1cnJlbnQgZmlsZS4KLSAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNl
IGNvbnRhaW5pbmcgdGhlIGZpbGUuCi0gICAgbGluZW51bTogVGhlIG51bWJlciBvZiB0aGUgbGlu
ZSB0byBjaGVjay4KLSAgICBuZXN0aW5nX3N0YXRlOiBBIE5lc3RpbmdTdGF0ZSBpbnN0YW5jZSB3
aGljaCBtYWludGFpbnMgaW5mb3JtYXRpb24gYWJvdXQKLSAgICAgICAgICAgICAgICAgICB0aGUg
Y3VycmVudCBzdGFjayBvZiBuZXN0ZWQgYmxvY2tzIGJlaW5nIHBhcnNlZC4KLSAgICBlcnJvcjog
VGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgotICAiIiIKLSAgbGlu
ZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtXQorICAjIE5leHQgd2Ugd2lsbCBsb29rIGZv
ciBpc3N1ZXMgd2l0aCBmdW5jdGlvbiBjYWxscy4KKyAgQ2hlY2tTcGFjaW5nRm9yRnVuY3Rpb25D
YWxsKGZpbGVuYW1lLCBsaW5lLCBsaW5lbnVtLCBlcnJvcikKIAogICAjIEV4Y2VwdCBhZnRlciBh
biBvcGVuaW5nIHBhcmVuLCBvciBhZnRlciBhbm90aGVyIG9wZW5pbmcgYnJhY2UgKGluIGNhc2Ug
b2YKICAgIyBhbiBpbml0aWFsaXplciBsaXN0LCBmb3IgaW5zdGFuY2UpLCB5b3Ugc2hvdWxkIGhh
dmUgc3BhY2VzIGJlZm9yZSB5b3VyCi0gICMgYnJhY2VzIHdoZW4gdGhleSBhcmUgZGVsaW1pdGlu
ZyBibG9ja3MsIGNsYXNzZXMsIG5hbWVzcGFjZXMgZXRjLgotICAjIEFuZCBzaW5jZSB5b3Ugc2hv
dWxkIG5ldmVyIGhhdmUgYnJhY2VzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lLAotICAjIHRo
aXMgaXMgYW4gZWFzeSB0ZXN0LiAgRXhjZXB0IHRoYXQgYnJhY2VzIHVzZWQgZm9yIGluaXRpYWxp
emF0aW9uIGRvbid0Ci0gICMgZm9sbG93IHRoZSBzYW1lIHJ1bGU7IHdlIG9mdGVuIGRvbid0IHdh
bnQgc3BhY2VzIGJlZm9yZSB0aG9zZS4KLSAgbWF0Y2ggPSBNYXRjaChyJ14oLipbXiAoez5dKXsn
LCBsaW5lKQotCisgICMgYnJhY2VzLiBBbmQgc2luY2UgeW91IHNob3VsZCBuZXZlciBoYXZlIGJy
YWNlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSwKKyAgIyB0aGlzIGlzIGFuIGVhc3kgdGVz
dC4KKyAgbWF0Y2ggPSBNYXRjaChyJ14oLipbXiAoe10peycsIGxpbmUpCiAgIGlmIG1hdGNoOgog
ICAgICMgVHJ5IGEgYml0IGhhcmRlciB0byBjaGVjayBmb3IgYnJhY2UgaW5pdGlhbGl6YXRpb24u
ICBUaGlzCiAgICAgIyBoYXBwZW5zIGluIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZvcm1zOgpAQCAt
MzU3OSwxMiArMjgxMywxMCBAQCBkZWYgQ2hlY2tCcmFjZXNTcGFjaW5nKGZpbGVuYW1lLCBjbGVh
bl9saW5lcywgbGluZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IpOgogICAgICMgICBMYXN0QXJn
dW1lbnQoLi4uLCB0eXBle30pOwogICAgICMgICBMT0coSU5GTykgPDwgdHlwZXt9IDw8ICIgLi4u
IjsKICAgICAjICAgbWFwX29mX3R5cGVbey4uLn1dID0gLi4uOwotICAgICMgICB0ZXJuYXJ5ID0g
ZXhwciA/IG5ldyB0eXBle30gOiBudWxscHRyOwotICAgICMgICBPdXRlclRlbXBsYXRlPElubmVy
VGVtcGxhdGVDb25zdHJ1Y3RvcjxUeXBlPnt9PgogICAgICMKICAgICAjIFdlIGNoZWNrIGZvciB0
aGUgY2hhcmFjdGVyIGZvbGxvd2luZyB0aGUgY2xvc2luZyBicmFjZSwgYW5kCiAgICAgIyBzaWxl
bmNlIHRoZSB3YXJuaW5nIGlmIGl0J3Mgb25lIG9mIHRob3NlIGxpc3RlZCBhYm92ZSwgaS5lLgot
ICAgICMgInsuOywpPD5dOiIuCisgICAgIyAiey47LCk8XSIuCiAgICAgIwogICAgICMgVG8gYWNj
b3VudCBmb3IgbmVzdGVkIGluaXRpYWxpemVyIGxpc3QsIHdlIGFsbG93IGFueSBudW1iZXIgb2YK
ICAgICAjIGNsb3NpbmcgYnJhY2VzIHVwIHRvICJ7OywpPCIuICBXZSBjYW4ndCBzaW1wbHkgc2ls
ZW5jZSB0aGUKQEAgLTM1OTgsNyArMjgzMCw2IEBAIGRlZiBDaGVja0JyYWNlc1NwYWNpbmcoZmls
ZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBuZXN0aW5nX3N0YXRlLCBlcnJvcik6CiAgICAg
IyBUaGVyZSBpcyBhIGZhbHNlIG5lZ2F0aXZlIHdpdGggdGhpcyBhcHByb2FjaCBpZiBwZW9wbGUg
aW5zZXJ0ZWQKICAgICAjIHNwdXJpb3VzIHNlbWljb2xvbnMsIGUuZy4gImlmIChjb25kKXt9OyIs
IGJ1dCB3ZSB3aWxsIGNhdGNoIHRoZQogICAgICMgc3B1cmlvdXMgc2VtaWNvbG9uIHdpdGggYSBz
ZXBhcmF0ZSBjaGVjay4KLSAgICBsZWFkaW5nX3RleHQgPSBtYXRjaC5ncm91cCgxKQogICAgIChl
bmRsaW5lLCBlbmRsaW5lbnVtLCBlbmRwb3MpID0gQ2xvc2VFeHByZXNzaW9uKAogICAgICAgICBj
bGVhbl9saW5lcywgbGluZW51bSwgbGVuKG1hdGNoLmdyb3VwKDEpKSkKICAgICB0cmFpbGluZ190
ZXh0ID0gJycKQEAgLTM2MDcsMTEgKzI4MzgsNyBAQCBkZWYgQ2hlY2tCcmFjZXNTcGFjaW5nKGZp
bGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IpOgogICAg
IGZvciBvZmZzZXQgaW4geHJhbmdlKGVuZGxpbmVudW0gKyAxLAogICAgICAgICAgICAgICAgICAg
ICAgICAgIG1pbihlbmRsaW5lbnVtICsgMywgY2xlYW5fbGluZXMuTnVtTGluZXMoKSAtIDEpKToK
ICAgICAgIHRyYWlsaW5nX3RleHQgKz0gY2xlYW5fbGluZXMuZWxpZGVkW29mZnNldF0KLSAgICAj
IFdlIGFsc28gc3VwcHJlc3Mgd2FybmluZ3MgZm9yIGB1aW50NjRfdHtleHByZXNzaW9ufWAgZXRj
LiwgYXMgdGhlIHN0eWxlCi0gICAgIyBndWlkZSByZWNvbW1lbmRzIGJyYWNlIGluaXRpYWxpemF0
aW9uIGZvciBpbnRlZ3JhbCB0eXBlcyB0byBhdm9pZAotICAgICMgb3ZlcmZsb3cvdHJ1bmNhdGlv
bi4KLSAgICBpZiAobm90IE1hdGNoKHInXltcc31dKlt7LjssKTw+XF06XScsIHRyYWlsaW5nX3Rl
eHQpCi0gICAgICAgIGFuZCBub3QgX0lzVHlwZShjbGVhbl9saW5lcywgbmVzdGluZ19zdGF0ZSwg
bGVhZGluZ190ZXh0KSk6CisgICAgaWYgbm90IE1hdGNoKHInXltcc31dKlt7LjssKTxcXV0nLCB0
cmFpbGluZ190ZXh0KToKICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFj
ZS9icmFjZXMnLCA1LAogICAgICAgICAgICAgJ01pc3Npbmcgc3BhY2UgYmVmb3JlIHsnKQogCkBA
IC0zNjIwLDYgKzI4NDcsMTIgQEAgZGVmIENoZWNrQnJhY2VzU3BhY2luZyhmaWxlbmFtZSwgY2xl
YW5fbGluZXMsIGxpbmVudW0sIG5lc3Rpbmdfc3RhdGUsIGVycm9yKToKICAgICBlcnJvcihmaWxl
bmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2UvYnJhY2VzJywgNSwKICAgICAgICAgICAnTWlzc2lu
ZyBzcGFjZSBiZWZvcmUgZWxzZScpCiAKKyAgIyBZb3Ugc2hvdWxkbid0IGhhdmUgc3BhY2VzIGJl
Zm9yZSB5b3VyIGJyYWNrZXRzLCBleGNlcHQgbWF5YmUgYWZ0ZXIKKyAgIyAnZGVsZXRlIFtdJyBv
ciAnbmV3IGNoYXIgKiBbXScuCisgIGlmIFNlYXJjaChyJ1x3XHMrXFsnLCBsaW5lKSBhbmQgbm90
IFNlYXJjaChyJ2RlbGV0ZVxzK1xbJywgbGluZSk6CisgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVu
dW0sICd3aGl0ZXNwYWNlL2JyYWNlcycsIDUsCisgICAgICAgICAgJ0V4dHJhIHNwYWNlIGJlZm9y
ZSBbJykKKwogICAjIFlvdSBzaG91bGRuJ3QgaGF2ZSBhIHNwYWNlIGJlZm9yZSBhIHNlbWljb2xv
biBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLgogICAjIFRoZXJlJ3MgYSBzcGVjaWFsIGNhc2UgZm9y
ICJmb3IiIHNpbmNlIHRoZSBzdHlsZSBndWlkZSBhbGxvd3Mgc3BhY2UgYmVmb3JlCiAgICMgdGhl
IHNlbWljb2xvbiB0aGVyZS4KQEAgLTM2MzYsMjMgKzI4NjksMTIgQEAgZGVmIENoZWNrQnJhY2Vz
U3BhY2luZyhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIG5lc3Rpbmdfc3RhdGUsIGVy
cm9yKToKICAgICAgICAgICAnRXh0cmEgc3BhY2UgYmVmb3JlIGxhc3Qgc2VtaWNvbG9uLiBJZiB0
aGlzIHNob3VsZCBiZSBhbiBlbXB0eSAnCiAgICAgICAgICAgJ3N0YXRlbWVudCwgdXNlIHt9IGlu
c3RlYWQuJykKIAotCi1kZWYgSXNEZWNsdHlwZShjbGVhbl9saW5lcywgbGluZW51bSwgY29sdW1u
KToKLSAgIiIiQ2hlY2sgaWYgdGhlIHRva2VuIGVuZGluZyBvbiAobGluZW51bSwgY29sdW1uKSBp
cyBkZWNsdHlwZSgpLgotCi0gIEFyZ3M6Ci0gICAgY2xlYW5fbGluZXM6IEEgQ2xlYW5zZWRMaW5l
cyBpbnN0YW5jZSBjb250YWluaW5nIHRoZSBmaWxlLgotICAgIGxpbmVudW06IHRoZSBudW1iZXIg
b2YgdGhlIGxpbmUgdG8gY2hlY2suCi0gICAgY29sdW1uOiBlbmQgY29sdW1uIG9mIHRoZSB0b2tl
biB0byBjaGVjay4KLSAgUmV0dXJuczoKLSAgICBUcnVlIGlmIHRoaXMgdG9rZW4gaXMgZGVjbHR5
cGUoKSBleHByZXNzaW9uLCBGYWxzZSBvdGhlcndpc2UuCi0gICIiIgotICAodGV4dCwgXywgc3Rh
cnRfY29sKSA9IFJldmVyc2VDbG9zZUV4cHJlc3Npb24oY2xlYW5fbGluZXMsIGxpbmVudW0sIGNv
bHVtbikKLSAgaWYgc3RhcnRfY29sIDwgMDoKLSAgICByZXR1cm4gRmFsc2UKLSAgaWYgU2VhcmNo
KHInXGJkZWNsdHlwZVxzKiQnLCB0ZXh0WzA6c3RhcnRfY29sXSk6Ci0gICAgcmV0dXJuIFRydWUK
LSAgcmV0dXJuIEZhbHNlCisgICMgSW4gcmFuZ2UtYmFzZWQgZm9yLCB3ZSB3YW50ZWQgc3BhY2Vz
IGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGNvbG9uLCBidXQKKyAgIyBub3QgYXJvdW5kICI6OiIgdG9r
ZW5zIHRoYXQgbWlnaHQgYXBwZWFyLgorICBpZiAoU2VhcmNoKCdmb3IgKlwoLipbXjpdOlteOiBd
JywgbGluZSkgb3IKKyAgICAgIFNlYXJjaCgnZm9yICpcKC4qW146IF06W146XScsIGxpbmUpKToK
KyAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2UvZm9yY29sb24nLCAyLAor
ICAgICAgICAgICdNaXNzaW5nIHNwYWNlIGFyb3VuZCBjb2xvbiBpbiByYW5nZS1iYXNlZCBmb3Ig
bG9vcCcpCiAKIAogZGVmIENoZWNrU2VjdGlvblNwYWNpbmcoZmlsZW5hbWUsIGNsZWFuX2xpbmVz
LCBjbGFzc19pbmZvLCBsaW5lbnVtLCBlcnJvcik6CkBAIC0zNzUyLDE4ICsyOTc0LDE1IEBAIGRl
ZiBDaGVja0JyYWNlcyhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKToKICAg
ICAjIHVzZWQgZm9yIGJyYWNlIGluaXRpYWxpemVycyBpbnNpZGUgZnVuY3Rpb24gY2FsbHMuICBX
ZSBkb24ndCBkZXRlY3QgdGhpcwogICAgICMgcGVyZmVjdGx5OiB3ZSBqdXN0IGRvbid0IGNvbXBs
YWluIGlmIHRoZSBsYXN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBvbgogICAgICMgdGhlIHBy
ZXZpb3VzIG5vbi1ibGFuayBsaW5lIGlzICcsJywgJzsnLCAnOicsICcoJywgJ3snLCBvciAnfScs
IG9yIGlmIHRoZQotICAgICMgcHJldmlvdXMgbGluZSBzdGFydHMgYSBwcmVwcm9jZXNzb3IgYmxv
Y2suIFdlIGFsc28gYWxsb3cgYSBicmFjZSBvbiB0aGUKLSAgICAjIGZvbGxvd2luZyBsaW5lIGlm
IGl0IGlzIHBhcnQgb2YgYW4gYXJyYXkgaW5pdGlhbGl6YXRpb24gYW5kIHdvdWxkIG5vdCBmaXQK
LSAgICAjIHdpdGhpbiB0aGUgODAgY2hhcmFjdGVyIGxpbWl0IG9mIHRoZSBwcmVjZWRpbmcgbGlu
ZS4KKyAgICAjIHByZXZpb3VzIGxpbmUgc3RhcnRzIGEgcHJlcHJvY2Vzc29yIGJsb2NrLgogICAg
IHByZXZsaW5lID0gR2V0UHJldmlvdXNOb25CbGFua0xpbmUoY2xlYW5fbGluZXMsIGxpbmVudW0p
WzBdCiAgICAgaWYgKG5vdCBTZWFyY2gocidbLDs6fXsoXVxzKiQnLCBwcmV2bGluZSkgYW5kCi0g
ICAgICAgIG5vdCBNYXRjaChyJ1xzKiMnLCBwcmV2bGluZSkgYW5kCi0gICAgICAgIG5vdCAoR2V0
TGluZVdpZHRoKHByZXZsaW5lKSA+IF9saW5lX2xlbmd0aCAtIDIgYW5kICdbXScgaW4gcHJldmxp
bmUpKToKKyAgICAgICAgbm90IE1hdGNoKHInXHMqIycsIHByZXZsaW5lKSk6CiAgICAgICBlcnJv
cihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2UvYnJhY2VzJywgNCwKICAgICAgICAgICAg
ICd7IHNob3VsZCBhbG1vc3QgYWx3YXlzIGJlIGF0IHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIGxp
bmUnKQogCiAgICMgQW4gZWxzZSBjbGF1c2Ugc2hvdWxkIGJlIG9uIHRoZSBzYW1lIGxpbmUgYXMg
dGhlIHByZWNlZGluZyBjbG9zaW5nIGJyYWNlLgotICBpZiBNYXRjaChyJ1xzKmVsc2VcYlxzKig/
OmlmXGJ8XHt8JCknLCBsaW5lKToKKyAgaWYgTWF0Y2gocidccyplbHNlXHMqJywgbGluZSk6CiAg
ICAgcHJldmxpbmUgPSBHZXRQcmV2aW91c05vbkJsYW5rTGluZShjbGVhbl9saW5lcywgbGluZW51
bSlbMF0KICAgICBpZiBNYXRjaChyJ1xzKn1ccyokJywgcHJldmxpbmUpOgogICAgICAgZXJyb3Io
ZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL25ld2xpbmUnLCA0LApAQCAtMzc3MSwyMCAr
Mjk5MCwxOSBAQCBkZWYgQ2hlY2tCcmFjZXMoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVt
LCBlcnJvcik6CiAKICAgIyBJZiBicmFjZXMgY29tZSBvbiBvbmUgc2lkZSBvZiBhbiBlbHNlLCB0
aGV5IHNob3VsZCBiZSBvbiBib3RoLgogICAjIEhvd2V2ZXIsIHdlIGhhdmUgdG8gd29ycnkgYWJv
dXQgImVsc2UgaWYiIHRoYXQgc3BhbnMgbXVsdGlwbGUgbGluZXMhCi0gIGlmIFNlYXJjaChyJ2Vs
c2UgaWZccypcKCcsIGxpbmUpOiAgICAgICAjIGNvdWxkIGJlIG11bHRpLWxpbmUgaWYKLSAgICBi
cmFjZV9vbl9sZWZ0ID0gYm9vbChTZWFyY2gocid9XHMqZWxzZSBpZlxzKlwoJywgbGluZSkpCi0g
ICAgIyBmaW5kIHRoZSAoIGFmdGVyIHRoZSBpZgotICAgIHBvcyA9IGxpbmUuZmluZCgnZWxzZSBp
ZicpCi0gICAgcG9zID0gbGluZS5maW5kKCcoJywgcG9zKQotICAgIGlmIHBvcyA+IDA6Ci0gICAg
ICAoZW5kbGluZSwgXywgZW5kcG9zKSA9IENsb3NlRXhwcmVzc2lvbihjbGVhbl9saW5lcywgbGlu
ZW51bSwgcG9zKQotICAgICAgYnJhY2Vfb25fcmlnaHQgPSBlbmRsaW5lW2VuZHBvczpdLmZpbmQo
J3snKSAhPSAtMQotICAgICAgaWYgYnJhY2Vfb25fbGVmdCAhPSBicmFjZV9vbl9yaWdodDogICAg
IyBtdXN0IGJlIGJyYWNlIGFmdGVyIGlmCi0gICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVt
LCAncmVhZGFiaWxpdHkvYnJhY2VzJywgNSwKLSAgICAgICAgICAgICAgJ0lmIGFuIGVsc2UgaGFz
IGEgYnJhY2Ugb24gb25lIHNpZGUsIGl0IHNob3VsZCBoYXZlIGl0IG9uIGJvdGgnKQotICBlbGlm
IFNlYXJjaChyJ31ccyplbHNlW157XSokJywgbGluZSkgb3IgTWF0Y2gocidbXn1dKmVsc2Vccyp7
JywgbGluZSk6Ci0gICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdyZWFkYWJpbGl0eS9icmFj
ZXMnLCA1LAotICAgICAgICAgICdJZiBhbiBlbHNlIGhhcyBhIGJyYWNlIG9uIG9uZSBzaWRlLCBp
dCBzaG91bGQgaGF2ZSBpdCBvbiBib3RoJykKKyAgaWYgU2VhcmNoKHInfVxzKmVsc2VbXntdKiQn
LCBsaW5lKSBvciBNYXRjaChyJ1tefV0qZWxzZVxzKnsnLCBsaW5lKToKKyAgICBpZiBTZWFyY2go
cid9XHMqZWxzZSBpZihbXntdKikkJywgbGluZSk6ICAgICAgICMgY291bGQgYmUgbXVsdGktbGlu
ZSBpZgorICAgICAgIyBmaW5kIHRoZSAoIGFmdGVyIHRoZSBpZgorICAgICAgcG9zID0gbGluZS5m
aW5kKCdlbHNlIGlmJykKKyAgICAgIHBvcyA9IGxpbmUuZmluZCgnKCcsIHBvcykKKyAgICAgIGlm
IHBvcyA+IDA6CisgICAgICAgIChlbmRsaW5lLCBfLCBlbmRwb3MpID0gQ2xvc2VFeHByZXNzaW9u
KGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBwb3MpCisgICAgICAgIGlmIGVuZGxpbmVbZW5kcG9zOl0u
ZmluZCgneycpID09IC0xOiAgICAjIG11c3QgYmUgYnJhY2UgYWZ0ZXIgaWYKKyAgICAgICAgICBl
cnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3JlYWRhYmlsaXR5L2JyYWNlcycsIDUsCisgICAgICAg
ICAgICAgICAgJ0lmIGFuIGVsc2UgaGFzIGEgYnJhY2Ugb24gb25lIHNpZGUsIGl0IHNob3VsZCBo
YXZlIGl0IG9uIGJvdGgnKQorICAgIGVsc2U6ICAgICAgICAgICAgIyBjb21tb24gY2FzZTogZWxz
ZSBub3QgZm9sbG93ZWQgYnkgYSBtdWx0aS1saW5lIGlmCisgICAgICBlcnJvcihmaWxlbmFtZSwg
bGluZW51bSwgJ3JlYWRhYmlsaXR5L2JyYWNlcycsIDUsCisgICAgICAgICAgICAnSWYgYW4gZWxz
ZSBoYXMgYSBicmFjZSBvbiBvbmUgc2lkZSwgaXQgc2hvdWxkIGhhdmUgaXQgb24gYm90aCcpCiAK
ICAgIyBMaWtld2lzZSwgYW4gZWxzZSBzaG91bGQgbmV2ZXIgaGF2ZSB0aGUgZWxzZSBjbGF1c2Ug
b24gdGhlIHNhbWUgbGluZQogICBpZiBTZWFyY2gocidcYmVsc2UgW15cc3tdJywgbGluZSkgYW5k
IG5vdCBTZWFyY2gocidcYmVsc2UgaWZcYicsIGxpbmUpOgpAQCAtMzc5Niw3OSArMzAxNCwxMSBA
QCBkZWYgQ2hlY2tCcmFjZXMoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6
CiAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNlL25ld2xpbmUnLCA0LAog
ICAgICAgICAgICdkby93aGlsZSBjbGF1c2VzIHNob3VsZCBub3QgYmUgb24gYSBzaW5nbGUgbGlu
ZScpCiAKLSAgIyBDaGVjayBzaW5nbGUtbGluZSBpZi9lbHNlIGJvZGllcy4gVGhlIHN0eWxlIGd1
aWRlIHNheXMgJ2N1cmx5IGJyYWNlcyBhcmUgbm90Ci0gICMgcmVxdWlyZWQgZm9yIHNpbmdsZS1s
aW5lIHN0YXRlbWVudHMnLiBXZSBhZGRpdGlvbmFsbHkgYWxsb3cgbXVsdGktbGluZSwKLSAgIyBz
aW5nbGUgc3RhdGVtZW50cywgYnV0IHdlIHJlamVjdCBhbnl0aGluZyB3aXRoIG1vcmUgdGhhbiBv
bmUgc2VtaWNvbG9uIGluCi0gICMgaXQuIFRoaXMgbWVhbnMgdGhhdCB0aGUgZmlyc3Qgc2VtaWNv
bG9uIGFmdGVyIHRoZSBpZiBzaG91bGQgYmUgYXQgdGhlIGVuZCBvZgotICAjIGl0cyBsaW5lLCBh
bmQgdGhlIGxpbmUgYWZ0ZXIgdGhhdCBzaG91bGQgaGF2ZSBhbiBpbmRlbnQgbGV2ZWwgZXF1YWwg
dG8gb3IKLSAgIyBsb3dlciB0aGFuIHRoZSBpZi4gV2UgYWxzbyBjaGVjayBmb3IgYW1iaWd1b3Vz
IGlmL2Vsc2UgbmVzdGluZyB3aXRob3V0Ci0gICMgYnJhY2VzLgotICBpZl9lbHNlX21hdGNoID0g
U2VhcmNoKHInXGIoaWZccypcKHxlbHNlXGIpJywgbGluZSkKLSAgaWYgaWZfZWxzZV9tYXRjaCBh
bmQgbm90IE1hdGNoKHInXHMqIycsIGxpbmUpOgotICAgIGlmX2luZGVudCA9IEdldEluZGVudExl
dmVsKGxpbmUpCi0gICAgZW5kbGluZSwgZW5kbGluZW51bSwgZW5kcG9zID0gbGluZSwgbGluZW51
bSwgaWZfZWxzZV9tYXRjaC5lbmQoKQotICAgIGlmX21hdGNoID0gU2VhcmNoKHInXGJpZlxzKlwo
JywgbGluZSkKLSAgICBpZiBpZl9tYXRjaDoKLSAgICAgICMgVGhpcyBjb3VsZCBiZSBhIG11bHRp
bGluZSBpZiBjb25kaXRpb24sIHNvIGZpbmQgdGhlIGVuZCBmaXJzdC4KLSAgICAgIHBvcyA9IGlm
X21hdGNoLmVuZCgpIC0gMQotICAgICAgKGVuZGxpbmUsIGVuZGxpbmVudW0sIGVuZHBvcykgPSBD
bG9zZUV4cHJlc3Npb24oY2xlYW5fbGluZXMsIGxpbmVudW0sIHBvcykKLSAgICAjIENoZWNrIGZv
ciBhbiBvcGVuaW5nIGJyYWNlLCBlaXRoZXIgZGlyZWN0bHkgYWZ0ZXIgdGhlIGlmIG9yIG9uIHRo
ZSBuZXh0Ci0gICAgIyBsaW5lLiBJZiBmb3VuZCwgdGhpcyBpc24ndCBhIHNpbmdsZS1zdGF0ZW1l
bnQgY29uZGl0aW9uYWwuCi0gICAgaWYgKG5vdCBNYXRjaChyJ1xzKnsnLCBlbmRsaW5lW2VuZHBv
czpdKQotICAgICAgICBhbmQgbm90IChNYXRjaChyJ1xzKiQnLCBlbmRsaW5lW2VuZHBvczpdKQot
ICAgICAgICAgICAgICAgICBhbmQgZW5kbGluZW51bSA8IChsZW4oY2xlYW5fbGluZXMuZWxpZGVk
KSAtIDEpCi0gICAgICAgICAgICAgICAgIGFuZCBNYXRjaChyJ1xzKnsnLCBjbGVhbl9saW5lcy5l
bGlkZWRbZW5kbGluZW51bSArIDFdKSkpOgotICAgICAgd2hpbGUgKGVuZGxpbmVudW0gPCBsZW4o
Y2xlYW5fbGluZXMuZWxpZGVkKQotICAgICAgICAgICAgIGFuZCAnOycgbm90IGluIGNsZWFuX2xp
bmVzLmVsaWRlZFtlbmRsaW5lbnVtXVtlbmRwb3M6XSk6Ci0gICAgICAgIGVuZGxpbmVudW0gKz0g
MQotICAgICAgICBlbmRwb3MgPSAwCi0gICAgICBpZiBlbmRsaW5lbnVtIDwgbGVuKGNsZWFuX2xp
bmVzLmVsaWRlZCk6Ci0gICAgICAgIGVuZGxpbmUgPSBjbGVhbl9saW5lcy5lbGlkZWRbZW5kbGlu
ZW51bV0KLSAgICAgICAgIyBXZSBhbGxvdyBhIG1peCBvZiB3aGl0ZXNwYWNlIGFuZCBjbG9zaW5n
IGJyYWNlcyAoZS5nLiBmb3Igb25lLWxpbmVyCi0gICAgICAgICMgbWV0aG9kcykgYW5kIGEgc2lu
Z2xlIFwgYWZ0ZXIgdGhlIHNlbWljb2xvbiAoZm9yIG1hY3JvcykKLSAgICAgICAgZW5kcG9zID0g
ZW5kbGluZS5maW5kKCc7JykKLSAgICAgICAgaWYgbm90IE1hdGNoKHInO1tcc31dKihcXD8pJCcs
IGVuZGxpbmVbZW5kcG9zOl0pOgotICAgICAgICAgICMgU2VtaWNvbG9uIGlzbid0IHRoZSBsYXN0
IGNoYXJhY3RlciwgdGhlcmUncyBzb21ldGhpbmcgdHJhaWxpbmcuCi0gICAgICAgICAgIyBPdXRw
dXQgYSB3YXJuaW5nIGlmIHRoZSBzZW1pY29sb24gaXMgbm90IGNvbnRhaW5lZCBpbnNpZGUKLSAg
ICAgICAgICAjIGEgbGFtYmRhIGV4cHJlc3Npb24uCi0gICAgICAgICAgaWYgbm90IE1hdGNoKHIn
Xltee307XSpcW1teXFtcXV0qXF1bXnt9XSpce1tee31dKlx9XHMqXCkqWzssXVxzKiQnLAotICAg
ICAgICAgICAgICAgICAgICAgICBlbmRsaW5lKToKLSAgICAgICAgICAgIGVycm9yKGZpbGVuYW1l
LCBsaW5lbnVtLCAncmVhZGFiaWxpdHkvYnJhY2VzJywgNCwKLSAgICAgICAgICAgICAgICAgICdJ
Zi9lbHNlIGJvZGllcyB3aXRoIG11bHRpcGxlIHN0YXRlbWVudHMgcmVxdWlyZSBicmFjZXMnKQot
ICAgICAgICBlbGlmIGVuZGxpbmVudW0gPCBsZW4oY2xlYW5fbGluZXMuZWxpZGVkKSAtIDE6Ci0g
ICAgICAgICAgIyBNYWtlIHN1cmUgdGhlIG5leHQgbGluZSBpcyBkZWRlbnRlZAotICAgICAgICAg
IG5leHRfbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtlbmRsaW5lbnVtICsgMV0KLSAgICAgICAg
ICBuZXh0X2luZGVudCA9IEdldEluZGVudExldmVsKG5leHRfbGluZSkKLSAgICAgICAgICAjIFdp
dGggYW1iaWd1b3VzIG5lc3RlZCBpZiBzdGF0ZW1lbnRzLCB0aGlzIHdpbGwgZXJyb3Igb3V0IG9u
IHRoZQotICAgICAgICAgICMgaWYgdGhhdCAqZG9lc24ndCogbWF0Y2ggdGhlIGVsc2UsIHJlZ2Fy
ZGxlc3Mgb2Ygd2hldGhlciBpdCdzIHRoZQotICAgICAgICAgICMgaW5uZXIgb25lIG9yIG91dGVy
IG9uZS4KLSAgICAgICAgICBpZiAoaWZfbWF0Y2ggYW5kIE1hdGNoKHInXHMqZWxzZVxiJywgbmV4
dF9saW5lKQotICAgICAgICAgICAgICBhbmQgbmV4dF9pbmRlbnQgIT0gaWZfaW5kZW50KToKLSAg
ICAgICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncmVhZGFiaWxpdHkvYnJhY2VzJywg
NCwKLSAgICAgICAgICAgICAgICAgICdFbHNlIGNsYXVzZSBzaG91bGQgYmUgaW5kZW50ZWQgYXQg
dGhlIHNhbWUgbGV2ZWwgYXMgaWYuICcKLSAgICAgICAgICAgICAgICAgICdBbWJpZ3VvdXMgbmVz
dGVkIGlmL2Vsc2UgY2hhaW5zIHJlcXVpcmUgYnJhY2VzLicpCi0gICAgICAgICAgZWxpZiBuZXh0
X2luZGVudCA+IGlmX2luZGVudDoKLSAgICAgICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVt
LCAncmVhZGFiaWxpdHkvYnJhY2VzJywgNCwKLSAgICAgICAgICAgICAgICAgICdJZi9lbHNlIGJv
ZGllcyB3aXRoIG11bHRpcGxlIHN0YXRlbWVudHMgcmVxdWlyZSBicmFjZXMnKQotCi0KLWRlZiBD
aGVja1RyYWlsaW5nU2VtaWNvbG9uKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJy
b3IpOgotICAiIiJMb29rcyBmb3IgcmVkdW5kYW50IHRyYWlsaW5nIHNlbWljb2xvbi4KLQotICBB
cmdzOgotICAgIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlLgotICAgIGNs
ZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4K
LSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotICAgIGVycm9y
OiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCi0gICIiIgotCi0g
IGxpbmUgPSBjbGVhbl9saW5lcy5lbGlkZWRbbGluZW51bV0KLQogICAjIEJsb2NrIGJvZGllcyBz
aG91bGQgbm90IGJlIGZvbGxvd2VkIGJ5IGEgc2VtaWNvbG9uLiAgRHVlIHRvIEMrKzExCiAgICMg
YnJhY2UgaW5pdGlhbGl6YXRpb24sIHRoZXJlIGFyZSBtb3JlIHBsYWNlcyB3aGVyZSBzZW1pY29s
b25zIGFyZQotICAjIHJlcXVpcmVkIHRoYW4gbm90LCBzbyB3ZSBleHBsaWNpdGx5IGxpc3QgdGhl
IGFsbG93ZWQgcnVsZXMgcmF0aGVyCi0gICMgdGhhbiBsaXN0aW5nIHRoZSBkaXNhbGxvd2VkIG9u
ZXMuICBUaGVzZSBhcmUgdGhlIHBsYWNlcyB3aGVyZSAifTsiCi0gICMgc2hvdWxkIGJlIHJlcGxh
Y2VkIGJ5IGp1c3QgIn0iOgorICAjIHJlcXVpcmVkIHRoYW4gbm90LCBzbyB3ZSB1c2UgYSB3aGl0
ZWxpc3QgYXBwcm9hY2ggdG8gY2hlY2sgdGhlc2UKKyAgIyByYXRoZXIgdGhhbiBhIGJsYWNrbGlz
dC4gIFRoZXNlIGFyZSB0aGUgcGxhY2VzIHdoZXJlICJ9OyIgc2hvdWxkCisgICMgYmUgcmVwbGFj
ZWQgYnkganVzdCAifSI6CiAgICMgMS4gU29tZSBmbGF2b3Igb2YgYmxvY2sgZm9sbG93aW5nIGNs
b3NpbmcgcGFyZW50aGVzaXM6CiAgICMgICAgZm9yICg7Oykge307CiAgICMgICAgd2hpbGUgKC4u
Likge307CkBAIC0zOTI0LDQwICszMDc0LDI4IEBAIGRlZiBDaGVja1RyYWlsaW5nU2VtaWNvbG9u
KGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgogICAgICMgIC0gSU5URVJG
QUNFX0RFRgogICAgICMgIC0gRVhDTFVTSVZFX0xPQ0tTX1JFUVVJUkVELCBTSEFSRURfTE9DS1Nf
UkVRVUlSRUQsIExPQ0tTX0VYQ0xVREVEOgogICAgICMKLSAgICAjIFdlIGltcGxlbWVudCBhIGxp
c3Qgb2Ygc2FmZSBtYWNyb3MgaW5zdGVhZCBvZiBhIGxpc3Qgb2YKKyAgICAjIFdlIGltcGxlbWVu
dCBhIHdoaXRlbGlzdCBvZiBzYWZlIG1hY3JvcyBpbnN0ZWFkIG9mIGEgYmxhY2tsaXN0IG9mCiAg
ICAgIyB1bnNhZmUgbWFjcm9zLCBldmVuIHRob3VnaCB0aGUgbGF0dGVyIGFwcGVhcnMgbGVzcyBm
cmVxdWVudGx5IGluCiAgICAgIyBnb29nbGUgY29kZSBhbmQgd291bGQgaGF2ZSBiZWVuIGVhc2ll
ciB0byBpbXBsZW1lbnQuICBUaGlzIGlzIGJlY2F1c2UKLSAgICAjIHRoZSBkb3duc2lkZSBmb3Ig
Z2V0dGluZyB0aGUgYWxsb3dlZCBjaGVja3Mgd3JvbmcgbWVhbnMgc29tZSBleHRyYQotICAgICMg
c2VtaWNvbG9ucywgd2hpbGUgdGhlIGRvd25zaWRlIGZvciBnZXR0aW5nIGRpc2FsbG93ZWQgY2hl
Y2tzIHdyb25nCisgICAgIyB0aGUgZG93bnNpZGUgZm9yIGdldHRpbmcgdGhlIHdoaXRlbGlzdCB3
cm9uZyBtZWFucyBzb21lIGV4dHJhCisgICAgIyBzZW1pY29sb25zLCB3aGlsZSB0aGUgZG93bnNp
ZGUgZm9yIGdldHRpbmcgdGhlIGJsYWNrbGlzdCB3cm9uZwogICAgICMgd291bGQgcmVzdWx0IGlu
IGNvbXBpbGUgZXJyb3JzLgogICAgICMKLSAgICAjIEluIGFkZGl0aW9uIHRvIG1hY3Jvcywgd2Ug
YWxzbyBkb24ndCB3YW50IHRvIHdhcm4gb24KLSAgICAjICAtIENvbXBvdW5kIGxpdGVyYWxzCi0g
ICAgIyAgLSBMYW1iZGFzCi0gICAgIyAgLSBhbGlnbmFzIHNwZWNpZmllciB3aXRoIGFub255bW91
cyBzdHJ1Y3RzCi0gICAgIyAgLSBkZWNsdHlwZQorICAgICMgSW4gYWRkaXRpb24gdG8gbWFjcm9z
LCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gd2FybiBvbiBjb21wb3VuZAorICAgICMgbGl0ZXJhbHMu
CiAgICAgY2xvc2luZ19icmFjZV9wb3MgPSBtYXRjaC5ncm91cCgxKS5yZmluZCgnKScpCiAgICAg
b3BlbmluZ19wYXJlbnRoZXNpcyA9IFJldmVyc2VDbG9zZUV4cHJlc3Npb24oCiAgICAgICAgIGNs
ZWFuX2xpbmVzLCBsaW5lbnVtLCBjbG9zaW5nX2JyYWNlX3BvcykKICAgICBpZiBvcGVuaW5nX3Bh
cmVudGhlc2lzWzJdID4gLTE6CiAgICAgICBsaW5lX3ByZWZpeCA9IG9wZW5pbmdfcGFyZW50aGVz
aXNbMF1bMDpvcGVuaW5nX3BhcmVudGhlc2lzWzJdXQotICAgICAgbWFjcm8gPSBTZWFyY2gocidc
YihbQS1aX11bQS1aMC05X10qKVxzKiQnLCBsaW5lX3ByZWZpeCkKLSAgICAgIGZ1bmMgPSBNYXRj
aChyJ14oLipcXSlccyokJywgbGluZV9wcmVmaXgpCisgICAgICBtYWNybyA9IFNlYXJjaChyJ1xi
KFtBLVpfXSspXHMqJCcsIGxpbmVfcHJlZml4KQogICAgICAgaWYgKChtYWNybyBhbmQKICAgICAg
ICAgICAgbWFjcm8uZ3JvdXAoMSkgbm90IGluICgKICAgICAgICAgICAgICAgICdURVNUJywgJ1RF
U1RfRicsICdNQVRDSEVSJywgJ01BVENIRVJfUCcsICdUWVBFRF9URVNUJywKICAgICAgICAgICAg
ICAgICdFWENMVVNJVkVfTE9DS1NfUkVRVUlSRUQnLCAnU0hBUkVEX0xPQ0tTX1JFUVVJUkVEJywK
ICAgICAgICAgICAgICAgICdMT0NLU19FWENMVURFRCcsICdJTlRFUkZBQ0VfREVGJykpIG9yCi0g
ICAgICAgICAgKGZ1bmMgYW5kIG5vdCBTZWFyY2gocidcYm9wZXJhdG9yXHMqXFtccypcXScsIGZ1
bmMuZ3JvdXAoMSkpKSBvcgotICAgICAgICAgIFNlYXJjaChyJ1xiKD86c3RydWN0fHVuaW9uKVxz
K2FsaWduYXNccyokJywgbGluZV9wcmVmaXgpIG9yCi0gICAgICAgICAgU2VhcmNoKHInXGJkZWNs
dHlwZSQnLCBsaW5lX3ByZWZpeCkgb3IKICAgICAgICAgICBTZWFyY2gocidccys9XHMqJCcsIGxp
bmVfcHJlZml4KSk6CiAgICAgICAgIG1hdGNoID0gTm9uZQotICAgIGlmIChtYXRjaCBhbmQKLSAg
ICAgICAgb3BlbmluZ19wYXJlbnRoZXNpc1sxXSA+IDEgYW5kCi0gICAgICAgIFNlYXJjaChyJ1xd
XHMqJCcsIGNsZWFuX2xpbmVzLmVsaWRlZFtvcGVuaW5nX3BhcmVudGhlc2lzWzFdIC0gMV0pKToK
LSAgICAgICMgTXVsdGktbGluZSBsYW1iZGEtZXhwcmVzc2lvbgotICAgICAgbWF0Y2ggPSBOb25l
CiAKICAgZWxzZToKICAgICAjIFRyeSBtYXRjaGluZyBjYXNlcyAyLTMuCkBAIC0zOTg3LDE0ICsz
MTI1LDYgQEAgZGVmIENoZWNrVHJhaWxpbmdTZW1pY29sb24oZmlsZW5hbWUsIGNsZWFuX2xpbmVz
LCBsaW5lbnVtLCBlcnJvcik6CiAgICAgICAjIG91dHB1dHRpbmcgd2FybmluZ3MgZm9yIHRoZSBt
YXRjaGluZyBjbG9zaW5nIGJyYWNlLCBpZiB0aGVyZSBhcmUKICAgICAgICMgbmVzdGVkIGJsb2Nr
cyB3aXRoIHRyYWlsaW5nIHNlbWljb2xvbnMsIHdlIHdpbGwgZ2V0IHRoZSBlcnJvcgogICAgICAg
IyBtZXNzYWdlcyBpbiByZXZlcnNlZCBvcmRlci4KLQotICAgICAgIyBXZSBuZWVkIHRvIGNoZWNr
IHRoZSBsaW5lIGZvcndhcmQgZm9yIE5PTElOVAotICAgICAgcmF3X2xpbmVzID0gY2xlYW5fbGlu
ZXMucmF3X2xpbmVzCi0gICAgICBQYXJzZU5vbGludFN1cHByZXNzaW9ucyhmaWxlbmFtZSwgcmF3
X2xpbmVzW2VuZGxpbmVudW0tMV0sIGVuZGxpbmVudW0tMSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVycm9yKQotICAgICAgUGFyc2VOb2xpbnRTdXBwcmVzc2lvbnMoZmlsZW5hbWUs
IHJhd19saW5lc1tlbmRsaW5lbnVtXSwgZW5kbGluZW51bSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVycm9yKQotCiAgICAgICBlcnJvcihmaWxlbmFtZSwgZW5kbGluZW51bSwgJ3Jl
YWRhYmlsaXR5L2JyYWNlcycsIDQsCiAgICAgICAgICAgICAiWW91IGRvbid0IG5lZWQgYSA7IGFm
dGVyIGEgfSIpCiAKQEAgLTQwMTgsNyArMzE0OCw3IEBAIGRlZiBDaGVja0VtcHR5QmxvY2tCb2R5
KGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgogICBsaW5lID0gY2xlYW5f
bGluZXMuZWxpZGVkW2xpbmVudW1dCiAgIG1hdGNoZWQgPSBNYXRjaChyJ1xzKihmb3J8d2hpbGV8
aWYpXHMqXCgnLCBsaW5lKQogICBpZiBtYXRjaGVkOgotICAgICMgRmluZCB0aGUgZW5kIG9mIHRo
ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLgorICAgICMgRmluZCB0aGUgZW5kIG9mIHRoZSBjb25k
aXRpb25hbCBleHByZXNzaW9uCiAgICAgKGVuZF9saW5lLCBlbmRfbGluZW51bSwgZW5kX3Bvcykg
PSBDbG9zZUV4cHJlc3Npb24oCiAgICAgICAgIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBsaW5lLmZp
bmQoJygnKSkKIApAQCAtNDAzMyw5OCArMzE2Myw2IEBAIGRlZiBDaGVja0VtcHR5QmxvY2tCb2R5
KGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgogICAgICAgICBlcnJvcihm
aWxlbmFtZSwgZW5kX2xpbmVudW0sICd3aGl0ZXNwYWNlL2VtcHR5X2xvb3BfYm9keScsIDUsCiAg
ICAgICAgICAgICAgICdFbXB0eSBsb29wIGJvZGllcyBzaG91bGQgdXNlIHt9IG9yIGNvbnRpbnVl
JykKIAotICAgICMgQ2hlY2sgZm9yIGlmIHN0YXRlbWVudHMgdGhhdCBoYXZlIGNvbXBsZXRlbHkg
ZW1wdHkgYm9kaWVzIChubyBjb21tZW50cykKLSAgICAjIGFuZCBubyBlbHNlIGNsYXVzZXMuCi0g
ICAgaWYgZW5kX3BvcyA+PSAwIGFuZCBtYXRjaGVkLmdyb3VwKDEpID09ICdpZic6Ci0gICAgICAj
IEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBvcGVuaW5nIHsgZm9yIHRoZSBpZiBzdGF0ZW1lbnQu
Ci0gICAgICAjIFJldHVybiB3aXRob3V0IGxvZ2dpbmcgYW4gZXJyb3IgaWYgaXQgaGFzIG5vIGJy
YWNrZXRzLgotICAgICAgb3BlbmluZ19saW5lbnVtID0gZW5kX2xpbmVudW0KLSAgICAgIG9wZW5p
bmdfbGluZV9mcmFnbWVudCA9IGVuZF9saW5lW2VuZF9wb3M6XQotICAgICAgIyBMb29wIHVudGls
IEVPRiBvciBmaW5kIGFueXRoaW5nIHRoYXQncyBub3Qgd2hpdGVzcGFjZSBvciBvcGVuaW5nIHsu
Ci0gICAgICB3aGlsZSBub3QgU2VhcmNoKHInXlxzKlx7Jywgb3BlbmluZ19saW5lX2ZyYWdtZW50
KToKLSAgICAgICAgaWYgU2VhcmNoKHInXig/IVxzKiQpJywgb3BlbmluZ19saW5lX2ZyYWdtZW50
KToKLSAgICAgICAgICAjIENvbmRpdGlvbmFsIGhhcyBubyBicmFja2V0cy4KLSAgICAgICAgICBy
ZXR1cm4KLSAgICAgICAgb3BlbmluZ19saW5lbnVtICs9IDEKLSAgICAgICAgaWYgb3BlbmluZ19s
aW5lbnVtID09IGxlbihjbGVhbl9saW5lcy5lbGlkZWQpOgotICAgICAgICAgICMgQ291bGRuJ3Qg
ZmluZCBjb25kaXRpb25hbCdzIG9wZW5pbmcgeyBvciBhbnkgY29kZSBiZWZvcmUgRU9GLgotICAg
ICAgICAgIHJldHVybgotICAgICAgICBvcGVuaW5nX2xpbmVfZnJhZ21lbnQgPSBjbGVhbl9saW5l
cy5lbGlkZWRbb3BlbmluZ19saW5lbnVtXQotICAgICAgIyBTZXQgb3BlbmluZ19saW5lIChvcGVu
aW5nX2xpbmVfZnJhZ21lbnQgbWF5IG5vdCBiZSBlbnRpcmUgb3BlbmluZyBsaW5lKS4KLSAgICAg
IG9wZW5pbmdfbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtvcGVuaW5nX2xpbmVudW1dCi0KLSAg
ICAgICMgRmluZCB0aGUgcG9zaXRpb24gb2YgdGhlIGNsb3NpbmcgfS4KLSAgICAgIG9wZW5pbmdf
cG9zID0gb3BlbmluZ19saW5lX2ZyYWdtZW50LmZpbmQoJ3snKQotICAgICAgaWYgb3BlbmluZ19s
aW5lbnVtID09IGVuZF9saW5lbnVtOgotICAgICAgICAjIFdlIG5lZWQgdG8gbWFrZSBvcGVuaW5n
X3BvcyByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGVudGlyZSBsaW5lLgotICAgICAgICBv
cGVuaW5nX3BvcyArPSBlbmRfcG9zCi0gICAgICAoY2xvc2luZ19saW5lLCBjbG9zaW5nX2xpbmVu
dW0sIGNsb3NpbmdfcG9zKSA9IENsb3NlRXhwcmVzc2lvbigKLSAgICAgICAgICBjbGVhbl9saW5l
cywgb3BlbmluZ19saW5lbnVtLCBvcGVuaW5nX3BvcykKLSAgICAgIGlmIGNsb3NpbmdfcG9zIDwg
MDoKLSAgICAgICAgcmV0dXJuCi0KLSAgICAgICMgTm93IGNvbnN0cnVjdCB0aGUgYm9keSBvZiB0
aGUgY29uZGl0aW9uYWwuIFRoaXMgY29uc2lzdHMgb2YgdGhlIHBvcnRpb24KLSAgICAgICMgb2Yg
dGhlIG9wZW5pbmcgbGluZSBhZnRlciB0aGUgeywgYWxsIGxpbmVzIHVudGlsIHRoZSBjbG9zaW5n
IGxpbmUsCi0gICAgICAjIGFuZCB0aGUgcG9ydGlvbiBvZiB0aGUgY2xvc2luZyBsaW5lIGJlZm9y
ZSB0aGUgfS4KLSAgICAgIGlmIChjbGVhbl9saW5lcy5yYXdfbGluZXNbb3BlbmluZ19saW5lbnVt
XSAhPQotICAgICAgICAgIENsZWFuc2VDb21tZW50cyhjbGVhbl9saW5lcy5yYXdfbGluZXNbb3Bl
bmluZ19saW5lbnVtXSkpOgotICAgICAgICAjIE9wZW5pbmcgbGluZSBlbmRzIHdpdGggYSBjb21t
ZW50LCBzbyBjb25kaXRpb25hbCBpc24ndCBlbXB0eS4KLSAgICAgICAgcmV0dXJuCi0gICAgICBp
ZiBjbG9zaW5nX2xpbmVudW0gPiBvcGVuaW5nX2xpbmVudW06Ci0gICAgICAgICMgT3BlbmluZyBs
aW5lIGFmdGVyIHRoZSB7LiBJZ25vcmUgY29tbWVudHMgaGVyZSBzaW5jZSB3ZSBjaGVja2VkIGFi
b3ZlLgotICAgICAgICBib2R5ID0gbGlzdChvcGVuaW5nX2xpbmVbb3BlbmluZ19wb3MrMTpdKQot
ICAgICAgICAjIEFsbCBsaW5lcyB1bnRpbCBjbG9zaW5nIGxpbmUsIGV4Y2x1ZGluZyBjbG9zaW5n
IGxpbmUsIHdpdGggY29tbWVudHMuCi0gICAgICAgIGJvZHkuZXh0ZW5kKGNsZWFuX2xpbmVzLnJh
d19saW5lc1tvcGVuaW5nX2xpbmVudW0rMTpjbG9zaW5nX2xpbmVudW1dKQotICAgICAgICAjIENs
b3NpbmcgbGluZSBiZWZvcmUgdGhlIH0uIFdvbid0IChhbmQgY2FuJ3QpIGhhdmUgY29tbWVudHMu
Ci0gICAgICAgIGJvZHkuYXBwZW5kKGNsZWFuX2xpbmVzLmVsaWRlZFtjbG9zaW5nX2xpbmVudW1d
WzpjbG9zaW5nX3Bvcy0xXSkKLSAgICAgICAgYm9keSA9ICdcbicuam9pbihib2R5KQotICAgICAg
ZWxzZToKLSAgICAgICAgIyBJZiBzdGF0ZW1lbnQgaGFzIGJyYWNrZXRzIGFuZCBmaXRzIG9uIGEg
c2luZ2xlIGxpbmUuCi0gICAgICAgIGJvZHkgPSBvcGVuaW5nX2xpbmVbb3BlbmluZ19wb3MrMTpj
bG9zaW5nX3Bvcy0xXQotCi0gICAgICAjIENoZWNrIGlmIHRoZSBib2R5IGlzIGVtcHR5Ci0gICAg
ICBpZiBub3QgX0VNUFRZX0NPTkRJVElPTkFMX0JPRFlfUEFUVEVSTi5zZWFyY2goYm9keSk6Ci0g
ICAgICAgIHJldHVybgotICAgICAgIyBUaGUgYm9keSBpcyBlbXB0eS4gTm93IG1ha2Ugc3VyZSB0
aGVyZSdzIG5vdCBhbiBlbHNlIGNsYXVzZS4KLSAgICAgIGN1cnJlbnRfbGluZW51bSA9IGNsb3Np
bmdfbGluZW51bQotICAgICAgY3VycmVudF9saW5lX2ZyYWdtZW50ID0gY2xvc2luZ19saW5lW2Ns
b3NpbmdfcG9zOl0KLSAgICAgICMgTG9vcCB1bnRpbCBFT0Ygb3IgZmluZCBhbnl0aGluZyB0aGF0
J3Mgbm90IHdoaXRlc3BhY2Ugb3IgZWxzZSBjbGF1c2UuCi0gICAgICB3aGlsZSBTZWFyY2gocide
XHMqJHxeKD89XHMqZWxzZSknLCBjdXJyZW50X2xpbmVfZnJhZ21lbnQpOgotICAgICAgICBpZiBT
ZWFyY2gocideKD89XHMqZWxzZSknLCBjdXJyZW50X2xpbmVfZnJhZ21lbnQpOgotICAgICAgICAg
ICMgRm91bmQgYW4gZWxzZSBjbGF1c2UsIHNvIGRvbid0IGxvZyBhbiBlcnJvci4KLSAgICAgICAg
ICByZXR1cm4KLSAgICAgICAgY3VycmVudF9saW5lbnVtICs9IDEKLSAgICAgICAgaWYgY3VycmVu
dF9saW5lbnVtID09IGxlbihjbGVhbl9saW5lcy5lbGlkZWQpOgotICAgICAgICAgIGJyZWFrCi0g
ICAgICAgIGN1cnJlbnRfbGluZV9mcmFnbWVudCA9IGNsZWFuX2xpbmVzLmVsaWRlZFtjdXJyZW50
X2xpbmVudW1dCi0KLSAgICAgICMgVGhlIGJvZHkgaXMgZW1wdHkgYW5kIHRoZXJlJ3Mgbm8gZWxz
ZSBjbGF1c2UgdW50aWwgRU9GIG9yIG90aGVyIGNvZGUuCi0gICAgICBlcnJvcihmaWxlbmFtZSwg
ZW5kX2xpbmVudW0sICd3aGl0ZXNwYWNlL2VtcHR5X2lmX2JvZHknLCA0LAotICAgICAgICAgICAg
KCdJZiBzdGF0ZW1lbnQgaGFkIG5vIGJvZHkgYW5kIG5vIGVsc2UgY2xhdXNlJykpCi0KLQotZGVm
IEZpbmRDaGVja01hY3JvKGxpbmUpOgotICAiIiJGaW5kIGEgcmVwbGFjZWFibGUgQ0hFQ0stbGlr
ZSBtYWNyby4KLQotICBBcmdzOgotICAgIGxpbmU6IGxpbmUgdG8gc2VhcmNoIG9uLgotICBSZXR1
cm5zOgotICAgIChtYWNybyBuYW1lLCBzdGFydCBwb3NpdGlvbiksIG9yIChOb25lLCAtMSkgaWYg
bm8gcmVwbGFjZWFibGUKLSAgICBtYWNybyBpcyBmb3VuZC4KLSAgIiIiCi0gIGZvciBtYWNybyBp
biBfQ0hFQ0tfTUFDUk9TOgotICAgIGkgPSBsaW5lLmZpbmQobWFjcm8pCi0gICAgaWYgaSA+PSAw
OgotICAgICAgIyBGaW5kIG9wZW5pbmcgcGFyZW50aGVzaXMuICBEbyBhIHJlZ3VsYXIgZXhwcmVz
c2lvbiBtYXRjaCBoZXJlCi0gICAgICAjIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGFyZSBtYXRjaGlu
ZyB0aGUgZXhwZWN0ZWQgQ0hFQ0sgbWFjcm8sIGFzCi0gICAgICAjIG9wcG9zZWQgdG8gc29tZSBv
dGhlciBtYWNybyB0aGF0IGhhcHBlbnMgdG8gY29udGFpbiB0aGUgQ0hFQ0sKLSAgICAgICMgc3Vi
c3RyaW5nLgotICAgICAgbWF0Y2hlZCA9IE1hdGNoKHInXiguKlxiJyArIG1hY3JvICsgcidccyop
XCgnLCBsaW5lKQotICAgICAgaWYgbm90IG1hdGNoZWQ6Ci0gICAgICAgIGNvbnRpbnVlCi0gICAg
ICByZXR1cm4gKG1hY3JvLCBsZW4obWF0Y2hlZC5ncm91cCgxKSkpCi0gIHJldHVybiAoTm9uZSwg
LTEpCi0KIAogZGVmIENoZWNrQ2hlY2soZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBl
cnJvcik6CiAgICIiIkNoZWNrcyB0aGUgdXNlIG9mIENIRUNLIGFuZCBFWFBFQ1QgbWFjcm9zLgpA
QCAtNDEzOCw4ICszMTc2LDI0IEBAIGRlZiBDaGVja0NoZWNrKGZpbGVuYW1lLCBjbGVhbl9saW5l
cywgbGluZW51bSwgZXJyb3IpOgogCiAgICMgRGVjaWRlIHRoZSBzZXQgb2YgcmVwbGFjZW1lbnQg
bWFjcm9zIHRoYXQgc2hvdWxkIGJlIHN1Z2dlc3RlZAogICBsaW5lcyA9IGNsZWFuX2xpbmVzLmVs
aWRlZAotICAoY2hlY2tfbWFjcm8sIHN0YXJ0X3BvcykgPSBGaW5kQ2hlY2tNYWNybyhsaW5lc1ts
aW5lbnVtXSkKLSAgaWYgbm90IGNoZWNrX21hY3JvOgorICBjaGVja19tYWNybyA9IE5vbmUKKyAg
c3RhcnRfcG9zID0gLTEKKyAgZm9yIG1hY3JvIGluIF9DSEVDS19NQUNST1M6CisgICAgaSA9IGxp
bmVzW2xpbmVudW1dLmZpbmQobWFjcm8pCisgICAgaWYgaSA+PSAwOgorICAgICAgY2hlY2tfbWFj
cm8gPSBtYWNybworCisgICAgICAjIEZpbmQgb3BlbmluZyBwYXJlbnRoZXNpcy4gIERvIGEgcmVn
dWxhciBleHByZXNzaW9uIG1hdGNoIGhlcmUKKyAgICAgICMgdG8gbWFrZSBzdXJlIHRoYXQgd2Ug
YXJlIG1hdGNoaW5nIHRoZSBleHBlY3RlZCBDSEVDSyBtYWNybywgYXMKKyAgICAgICMgb3Bwb3Nl
ZCB0byBzb21lIG90aGVyIG1hY3JvIHRoYXQgaGFwcGVucyB0byBjb250YWluIHRoZSBDSEVDSwor
ICAgICAgIyBzdWJzdHJpbmcuCisgICAgICBtYXRjaGVkID0gTWF0Y2gocideKC4qXGInICsgY2hl
Y2tfbWFjcm8gKyByJ1xzKilcKCcsIGxpbmVzW2xpbmVudW1dKQorICAgICAgaWYgbm90IG1hdGNo
ZWQ6CisgICAgICAgIGNvbnRpbnVlCisgICAgICBzdGFydF9wb3MgPSBsZW4obWF0Y2hlZC5ncm91
cCgxKSkKKyAgICAgIGJyZWFrCisgIGlmIG5vdCBjaGVja19tYWNybyBvciBzdGFydF9wb3MgPCAw
OgorICAgICMgRG9uJ3Qgd2FzdGUgdGltZSBoZXJlIGlmIGxpbmUgZG9lc24ndCBjb250YWluICdD
SEVDSycgb3IgJ0VYUEVDVCcKICAgICByZXR1cm4KIAogICAjIEZpbmQgZW5kIG9mIHRoZSBib29s
ZWFuIGV4cHJlc3Npb24gYnkgbWF0Y2hpbmcgcGFyZW50aGVzZXMKQEAgLTQxNDcsMTMgKzMyMDEs
NiBAQCBkZWYgQ2hlY2tDaGVjayhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9y
KToKICAgICAgIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBzdGFydF9wb3MpCiAgIGlmIGVuZF9wb3Mg
PCAwOgogICAgIHJldHVybgotCi0gICMgSWYgdGhlIGNoZWNrIG1hY3JvIGlzIGZvbGxvd2VkIGJ5
IHNvbWV0aGluZyBvdGhlciB0aGFuIGEKLSAgIyBzZW1pY29sb24sIGFzc3VtZSB1c2VycyB3aWxs
IGxvZyB0aGVpciBvd24gY3VzdG9tIGVycm9yIG1lc3NhZ2VzCi0gICMgYW5kIGRvbid0IHN1Z2dl
c3QgYW55IHJlcGxhY2VtZW50cy4KLSAgaWYgbm90IE1hdGNoKHInXHMqOycsIGxhc3RfbGluZVtl
bmRfcG9zOl0pOgotICAgIHJldHVybgotCiAgIGlmIGxpbmVudW0gPT0gZW5kX2xpbmU6CiAgICAg
ZXhwcmVzc2lvbiA9IGxpbmVzW2xpbmVudW1dW3N0YXJ0X3BvcyArIDE6ZW5kX3BvcyAtIDFdCiAg
IGVsc2U6CkBAIC00MTc2LDcgKzMyMjMsNyBAQCBkZWYgQ2hlY2tDaGVjayhmaWxlbmFtZSwgY2xl
YW5fbGluZXMsIGxpbmVudW0sIGVycm9yKToKICAgICAgIGlmIHRva2VuID09ICcoJzoKICAgICAg
ICAgIyBQYXJlbnRoZXNpemVkIG9wZXJhbmQKICAgICAgICAgZXhwcmVzc2lvbiA9IG1hdGNoZWQu
Z3JvdXAoMikKLSAgICAgICAgKGVuZCwgXykgPSBGaW5kRW5kT2ZFeHByZXNzaW9uSW5MaW5lKGV4
cHJlc3Npb24sIDAsIFsnKCddKQorICAgICAgICAoZW5kLCBfKSA9IEZpbmRFbmRPZkV4cHJlc3Np
b25JbkxpbmUoZXhwcmVzc2lvbiwgMCwgMSwgJygnLCAnKScpCiAgICAgICAgIGlmIGVuZCA8IDA6
CiAgICAgICAgICAgcmV0dXJuICAjIFVubWF0Y2hlZCBwYXJlbnRoZXNpcwogICAgICAgICBsaHMg
Kz0gJygnICsgZXhwcmVzc2lvblswOmVuZF0KQEAgLTQyOTIsMTYgKzMzMzksNiBAQCBkZWYgR2V0
TGluZVdpZHRoKGxpbmUpOgogICAgICAgaWYgdW5pY29kZWRhdGEuZWFzdF9hc2lhbl93aWR0aCh1
YykgaW4gKCdXJywgJ0YnKToKICAgICAgICAgd2lkdGggKz0gMgogICAgICAgZWxpZiBub3QgdW5p
Y29kZWRhdGEuY29tYmluaW5nKHVjKToKLSAgICAgICAgIyBJc3N1ZSAzMzcKLSAgICAgICAgIyBo
dHRwczovL21haWwucHl0aG9uLm9yZy9waXBlcm1haWwvcHl0aG9uLWxpc3QvMjAxMi1BdWd1c3Qv
NjI4ODA5Lmh0bWwKLSAgICAgICAgaWYgKHN5cy52ZXJzaW9uX2luZm8ubWFqb3IsIHN5cy52ZXJz
aW9uX2luZm8ubWlub3IpIDw9ICgzLCAyKToKLSAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNv
bS9weXRob24vY3B5dGhvbi9ibG9iLzIuNy9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaCNMODEKLSAg
ICAgICAgICBpc193aWRlX2J1aWxkID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJQeV9VTklD
T0RFX1NJWkUiKSA+PSA0Ci0gICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2Nw
eXRob24vYmxvYi8yLjcvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMjTDU2NAotICAgICAgICAgIGlz
X2xvd19zdXJyb2dhdGUgPSAweERDMDAgPD0gb3JkKHVjKSA8PSAweERGRkYKLSAgICAgICAgICBp
ZiBub3QgaXNfd2lkZV9idWlsZCBhbmQgaXNfbG93X3N1cnJvZ2F0ZToKLSAgICAgICAgICAgIHdp
ZHRoIC09IDEKLQogICAgICAgICB3aWR0aCArPSAxCiAgICAgcmV0dXJuIHdpZHRoCiAgIGVsc2U6
CkBAIC00MzIxLDcgKzMzNTgsNyBAQCBkZWYgQ2hlY2tTdHlsZShmaWxlbmFtZSwgY2xlYW5fbGlu
ZXMsIGxpbmVudW0sIGZpbGVfZXh0ZW5zaW9uLCBuZXN0aW5nX3N0YXRlLAogICAgIGNsZWFuX2xp
bmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4KICAgICBs
aW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgogICAgIGZpbGVfZXh0ZW5z
aW9uOiBUaGUgZXh0ZW5zaW9uICh3aXRob3V0IHRoZSBkb3QpIG9mIHRoZSBmaWxlbmFtZS4KLSAg
ICBuZXN0aW5nX3N0YXRlOiBBIE5lc3RpbmdTdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWludGFpbnMg
aW5mb3JtYXRpb24gYWJvdXQKKyAgICBuZXN0aW5nX3N0YXRlOiBBIF9OZXN0aW5nU3RhdGUgaW5z
dGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0CiAgICAgICAgICAgICAgICAg
ICAgdGhlIGN1cnJlbnQgc3RhY2sgb2YgbmVzdGVkIGJsb2NrcyBiZWluZyBwYXJzZWQuCiAgICAg
ZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggYW55IGVycm9ycyBmb3VuZC4KICAgIiIi
CkBAIC00MzMxLDcgKzMzNjgsNiBAQCBkZWYgQ2hlY2tTdHlsZShmaWxlbmFtZSwgY2xlYW5fbGlu
ZXMsIGxpbmVudW0sIGZpbGVfZXh0ZW5zaW9uLCBuZXN0aW5nX3N0YXRlLAogICAjIHJhdyBzdHJp
bmdzLAogICByYXdfbGluZXMgPSBjbGVhbl9saW5lcy5saW5lc193aXRob3V0X3Jhd19zdHJpbmdz
CiAgIGxpbmUgPSByYXdfbGluZXNbbGluZW51bV0KLSAgcHJldiA9IHJhd19saW5lc1tsaW5lbnVt
IC0gMV0gaWYgbGluZW51bSA+IDAgZWxzZSAnJwogCiAgIGlmIGxpbmUuZmluZCgnXHQnKSAhPSAt
MToKICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3doaXRlc3BhY2UvdGFiJywgMSwKQEAg
LTQzNDksMzMgKzMzODUsMjMgQEAgZGVmIENoZWNrU3R5bGUoZmlsZW5hbWUsIGNsZWFuX2xpbmVz
LCBsaW5lbnVtLCBmaWxlX2V4dGVuc2lvbiwgbmVzdGluZ19zdGF0ZSwKICAgIyBpZihtYXRjaCgk
MCwgIiA8PCIpKSBjb21wbGFpbiA9IDA7CiAgICMgaWYobWF0Y2gocHJldiwgIiArZm9yIFxcKCIp
KSBjb21wbGFpbiA9IDA7CiAgICMgaWYocHJldm9kZCAmJiBtYXRjaChwcmV2cHJldiwgIiArZm9y
IFxcKCIpKSBjb21wbGFpbiA9IDA7Ci0gIHNjb3BlX29yX2xhYmVsX3BhdHRlcm4gPSByJ1xzKlx3
K1xzKjpccypcXD8kJwotICBjbGFzc2luZm8gPSBuZXN0aW5nX3N0YXRlLklubmVybW9zdENsYXNz
KCkKICAgaW5pdGlhbF9zcGFjZXMgPSAwCiAgIGNsZWFuc2VkX2xpbmUgPSBjbGVhbl9saW5lcy5l
bGlkZWRbbGluZW51bV0KICAgd2hpbGUgaW5pdGlhbF9zcGFjZXMgPCBsZW4obGluZSkgYW5kIGxp
bmVbaW5pdGlhbF9zcGFjZXNdID09ICcgJzoKICAgICBpbml0aWFsX3NwYWNlcyArPSAxCi0gICMg
VGhlcmUgYXJlIGNlcnRhaW4gc2l0dWF0aW9ucyB3ZSBhbGxvdyBvbmUgc3BhY2UsIG5vdGFibHkg
Zm9yCi0gICMgc2VjdGlvbiBsYWJlbHMsIGFuZCBhbHNvIGxpbmVzIGNvbnRhaW5pbmcgbXVsdGkt
bGluZSByYXcgc3RyaW5ncy4KLSAgIyBXZSBhbHNvIGRvbid0IGNoZWNrIGZvciBsaW5lcyB0aGF0
IGxvb2sgbGlrZSBjb250aW51YXRpb24gbGluZXMKLSAgIyAob2YgbGluZXMgZW5kaW5nIGluIGRv
dWJsZSBxdW90ZXMsIGNvbW1hcywgZXF1YWxzLCBvciBhbmdsZSBicmFja2V0cykKLSAgIyBiZWNh
dXNlIHRoZSBydWxlcyBmb3IgaG93IHRvIGluZGVudCB0aG9zZSBhcmUgbm9uLXRyaXZpYWwuCi0g
IGlmIChub3QgU2VhcmNoKHInWyIsPT48XSAqJCcsIHByZXYpIGFuZAotICAgICAgKGluaXRpYWxf
c3BhY2VzID09IDEgb3IgaW5pdGlhbF9zcGFjZXMgPT0gMykgYW5kCi0gICAgICBub3QgTWF0Y2go
c2NvcGVfb3JfbGFiZWxfcGF0dGVybiwgY2xlYW5zZWRfbGluZSkgYW5kCi0gICAgICBub3QgKGNs
ZWFuX2xpbmVzLnJhd19saW5lc1tsaW5lbnVtXSAhPSBsaW5lIGFuZAotICAgICAgICAgICBNYXRj
aChyJ15ccyoiIicsIGxpbmUpKSk6Ci0gICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0
ZXNwYWNlL2luZGVudCcsIDMsCi0gICAgICAgICAgJ1dlaXJkIG51bWJlciBvZiBzcGFjZXMgYXQg
bGluZS1zdGFydC4gICcKLSAgICAgICAgICAnQXJlIHlvdSB1c2luZyBhIDItc3BhY2UgaW5kZW50
PycpCi0KICAgaWYgbGluZSBhbmQgbGluZVstMV0uaXNzcGFjZSgpOgogICAgIGVycm9yKGZpbGVu
YW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFjZS9lbmRfb2ZfbGluZScsIDQsCiAgICAgICAgICAgJ0xp
bmUgZW5kcyBpbiB3aGl0ZXNwYWNlLiAgQ29uc2lkZXIgZGVsZXRpbmcgdGhlc2UgZXh0cmEgc3Bh
Y2VzLicpCisgICMgVGhlcmUgYXJlIGNlcnRhaW4gc2l0dWF0aW9ucyB3ZSBhbGxvdyBvbmUgc3Bh
Y2UsIG5vdGFibHkgZm9yIHNlY3Rpb24gbGFiZWxzCisgIGVsaWYgKChpbml0aWFsX3NwYWNlcyA9
PSAxIG9yIGluaXRpYWxfc3BhY2VzID09IDMpIGFuZAorICAgICAgICBub3QgTWF0Y2gocidccypc
dytccyo6XHMqJCcsIGNsZWFuc2VkX2xpbmUpKToKKyAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51
bSwgJ3doaXRlc3BhY2UvaW5kZW50JywgMywKKyAgICAgICAgICAnV2VpcmQgbnVtYmVyIG9mIHNw
YWNlcyBhdCBsaW5lLXN0YXJ0LiAgJworICAgICAgICAgICdBcmUgeW91IHVzaW5nIGEgMi1zcGFj
ZSBpbmRlbnQ/JykKIAogICAjIENoZWNrIGlmIHRoZSBsaW5lIGlzIGEgaGVhZGVyIGd1YXJkLgog
ICBpc19oZWFkZXJfZ3VhcmQgPSBGYWxzZQotICBpZiBJc0hlYWRlckV4dGVuc2lvbihmaWxlX2V4
dGVuc2lvbik6CisgIGlmIGZpbGVfZXh0ZW5zaW9uID09ICdoJzoKICAgICBjcHB2YXIgPSBHZXRI
ZWFkZXJHdWFyZENQUFZhcmlhYmxlKGZpbGVuYW1lKQogICAgIGlmIChsaW5lLnN0YXJ0c3dpdGgo
JyNpZm5kZWYgJXMnICUgY3BwdmFyKSBvcgogICAgICAgICBsaW5lLnN0YXJ0c3dpdGgoJyNkZWZp
bmUgJXMnICUgY3BwdmFyKSBvcgpAQCAtNDM5MSwxMCArMzQxNywxNCBAQCBkZWYgQ2hlY2tTdHls
ZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGZpbGVfZXh0ZW5zaW9uLCBuZXN0aW5n
X3N0YXRlLAogICAjIGRldmVsb3BlcnMgZmF1bHQuCiAgIGlmIChub3QgbGluZS5zdGFydHN3aXRo
KCcjaW5jbHVkZScpIGFuZCBub3QgaXNfaGVhZGVyX2d1YXJkIGFuZAogICAgICAgbm90IE1hdGNo
KHInXlxzKi8vLipodHRwKHM/KTovL1xTKiQnLCBsaW5lKSBhbmQKLSAgICAgIG5vdCBNYXRjaChy
J15ccyovL1xzKlteXHNdKiQnLCBsaW5lKSBhbmQKICAgICAgIG5vdCBNYXRjaChyJ14vLyBcJElk
Oi4qI1swLTldKyBcJCQnLCBsaW5lKSk6CiAgICAgbGluZV93aWR0aCA9IEdldExpbmVXaWR0aChs
aW5lKQotICAgIGlmIGxpbmVfd2lkdGggPiBfbGluZV9sZW5ndGg6CisgICAgZXh0ZW5kZWRfbGVu
Z3RoID0gaW50KChfbGluZV9sZW5ndGggKiAxLjI1KSkKKyAgICBpZiBsaW5lX3dpZHRoID4gZXh0
ZW5kZWRfbGVuZ3RoOgorICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICd3aGl0ZXNwYWNl
L2xpbmVfbGVuZ3RoJywgNCwKKyAgICAgICAgICAgICdMaW5lcyBzaG91bGQgdmVyeSByYXJlbHkg
YmUgbG9uZ2VyIHRoYW4gJWkgY2hhcmFjdGVycycgJQorICAgICAgICAgICAgZXh0ZW5kZWRfbGVu
Z3RoKQorICAgIGVsaWYgbGluZV93aWR0aCA+IF9saW5lX2xlbmd0aDoKICAgICAgIGVycm9yKGZp
bGVuYW1lLCBsaW5lbnVtLCAnd2hpdGVzcGFjZS9saW5lX2xlbmd0aCcsIDIsCiAgICAgICAgICAg
ICAnTGluZXMgc2hvdWxkIGJlIDw9ICVpIGNoYXJhY3RlcnMgbG9uZycgJSBfbGluZV9sZW5ndGgp
CiAKQEAgLTQ0MTIsMTQgKzM0NDIsOSBAQCBkZWYgQ2hlY2tTdHlsZShmaWxlbmFtZSwgY2xlYW5f
bGluZXMsIGxpbmVudW0sIGZpbGVfZXh0ZW5zaW9uLCBuZXN0aW5nX3N0YXRlLAogCiAgICMgU29t
ZSBtb3JlIHN0eWxlIGNoZWNrcwogICBDaGVja0JyYWNlcyhmaWxlbmFtZSwgY2xlYW5fbGluZXMs
IGxpbmVudW0sIGVycm9yKQotICBDaGVja1RyYWlsaW5nU2VtaWNvbG9uKGZpbGVuYW1lLCBjbGVh
bl9saW5lcywgbGluZW51bSwgZXJyb3IpCiAgIENoZWNrRW1wdHlCbG9ja0JvZHkoZmlsZW5hbWUs
IGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcikKKyAgQ2hlY2tBY2Nlc3MoZmlsZW5hbWUsIGNs
ZWFuX2xpbmVzLCBsaW5lbnVtLCBuZXN0aW5nX3N0YXRlLCBlcnJvcikKICAgQ2hlY2tTcGFjaW5n
KGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IpCi0g
IENoZWNrT3BlcmF0b3JTcGFjaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJy
b3IpCi0gIENoZWNrUGFyZW50aGVzaXNTcGFjaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGlu
ZW51bSwgZXJyb3IpCi0gIENoZWNrQ29tbWFTcGFjaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywg
bGluZW51bSwgZXJyb3IpCi0gIENoZWNrQnJhY2VzU3BhY2luZyhmaWxlbmFtZSwgY2xlYW5fbGlu
ZXMsIGxpbmVudW0sIG5lc3Rpbmdfc3RhdGUsIGVycm9yKQotICBDaGVja1NwYWNpbmdGb3JGdW5j
dGlvbkNhbGwoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcikKICAgQ2hlY2tD
aGVjayhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKQogICBDaGVja0FsdFRv
a2VucyhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKQogICBjbGFzc2luZm8g
PSBuZXN0aW5nX3N0YXRlLklubmVybW9zdENsYXNzKCkKQEAgLTQ0MjcsNiArMzQ1Miw3IEBAIGRl
ZiBDaGVja1N0eWxlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZmlsZV9leHRlbnNp
b24sIG5lc3Rpbmdfc3RhdGUsCiAgICAgQ2hlY2tTZWN0aW9uU3BhY2luZyhmaWxlbmFtZSwgY2xl
YW5fbGluZXMsIGNsYXNzaW5mbywgbGluZW51bSwgZXJyb3IpCiAKIAorX1JFX1BBVFRFUk5fSU5D
TFVERV9ORVdfU1RZTEUgPSByZS5jb21waWxlKHInI2luY2x1ZGUgKyJbXi9dK1wuaCInKQogX1JF
X1BBVFRFUk5fSU5DTFVERSA9IHJlLmNvbXBpbGUocideXHMqI1xzKmluY2x1ZGVccyooWzwiXSko
W14+Il0qKVs+Il0uKiQnKQogIyBNYXRjaGVzIHRoZSBmaXJzdCBjb21wb25lbnQgb2YgYSBmaWxl
bmFtZSBkZWxpbWl0ZWQgYnkgLXMgYW5kIF9zLiBUaGF0IGlzOgogIyAgX1JFX0ZJUlNUX0NPTVBP
TkVOVC5tYXRjaCgnZm9vJykuZ3JvdXAoMCkgPT0gJ2ZvbycKQEAgLTQ0NjMsNiArMzQ4OSwyMyBA
QCBkZWYgX0Ryb3BDb21tb25TdWZmaXhlcyhmaWxlbmFtZSk6CiAgIHJldHVybiBvcy5wYXRoLnNw
bGl0ZXh0KGZpbGVuYW1lKVswXQogCiAKK2RlZiBfSXNUZXN0RmlsZW5hbWUoZmlsZW5hbWUpOgor
ICAiIiJEZXRlcm1pbmVzIGlmIHRoZSBnaXZlbiBmaWxlbmFtZSBoYXMgYSBzdWZmaXggdGhhdCBp
ZGVudGlmaWVzIGl0IGFzIGEgdGVzdC4KKworICBBcmdzOgorICAgIGZpbGVuYW1lOiBUaGUgaW5w
dXQgZmlsZW5hbWUuCisKKyAgUmV0dXJuczoKKyAgICBUcnVlIGlmICdmaWxlbmFtZScgbG9va3Mg
bGlrZSBhIHRlc3QsIEZhbHNlIG90aGVyd2lzZS4KKyAgIiIiCisgIGlmIChmaWxlbmFtZS5lbmRz
d2l0aCgnX3Rlc3QuY2MnKSBvcgorICAgICAgZmlsZW5hbWUuZW5kc3dpdGgoJ191bml0dGVzdC5j
YycpIG9yCisgICAgICBmaWxlbmFtZS5lbmRzd2l0aCgnX3JlZ3Rlc3QuY2MnKSk6CisgICAgcmV0
dXJuIFRydWUKKyAgZWxzZToKKyAgICByZXR1cm4gRmFsc2UKKworCiBkZWYgX0NsYXNzaWZ5SW5j
bHVkZShmaWxlaW5mbywgaW5jbHVkZSwgaXNfc3lzdGVtKToKICAgIiIiRmlndXJlcyBvdXQgd2hh
dCBraW5kIG9mIGhlYWRlciAnaW5jbHVkZScgaXMuCiAKQEAgLTQ1MzgsMTcgKzM1ODEsMTEgQEAg
ZGVmIENoZWNrSW5jbHVkZUxpbmUoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBpbmNs
dWRlX3N0YXRlLCBlcnJvcik6CiAgICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxsIHdpdGgg
YW55IGVycm9ycyBmb3VuZC4KICAgIiIiCiAgIGZpbGVpbmZvID0gRmlsZUluZm8oZmlsZW5hbWUp
CisKICAgbGluZSA9IGNsZWFuX2xpbmVzLmxpbmVzW2xpbmVudW1dCiAKICAgIyAiaW5jbHVkZSIg
c2hvdWxkIHVzZSB0aGUgbmV3IHN0eWxlICJmb28vYmFyLmgiIGluc3RlYWQgb2YganVzdCAiYmFy
LmgiCi0gICMgT25seSBkbyB0aGlzIGNoZWNrIGlmIHRoZSBpbmNsdWRlZCBoZWFkZXIgZm9sbG93
cyBnb29nbGUgbmFtaW5nCi0gICMgY29udmVudGlvbnMuICBJZiBub3QsIGFzc3VtZSB0aGF0IGl0
J3MgYSAzcmQgcGFydHkgQVBJIHRoYXQKLSAgIyByZXF1aXJlcyBzcGVjaWFsIGluY2x1ZGUgY29u
dmVudGlvbnMuCi0gICMKLSAgIyBXZSBhbHNvIG1ha2UgYW4gZXhjZXB0aW9uIGZvciBMdWEgaGVh
ZGVycywgd2hpY2ggZm9sbG93IGdvb2dsZQotICAjIG5hbWluZyBjb252ZW50aW9uIGJ1dCBub3Qg
dGhlIGluY2x1ZGUgY29udmVudGlvbi4KLSAgbWF0Y2ggPSBNYXRjaChyJyNpbmNsdWRlXHMqIihb
Xi9dK1wuaCkiJywgbGluZSkKLSAgaWYgbWF0Y2ggYW5kIG5vdCBfVEhJUkRfUEFSVFlfSEVBREVS
U19QQVRURVJOLm1hdGNoKG1hdGNoLmdyb3VwKDEpKToKKyAgaWYgX1JFX1BBVFRFUk5fSU5DTFVE
RV9ORVdfU1RZTEUuc2VhcmNoKGxpbmUpOgogICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAn
YnVpbGQvaW5jbHVkZScsIDQsCiAgICAgICAgICAgJ0luY2x1ZGUgdGhlIGRpcmVjdG9yeSB3aGVu
IG5hbWluZyAuaCBmaWxlcycpCiAKQEAgLTQ1NTksMTcgKzM1OTYsMTIgQEAgZGVmIENoZWNrSW5j
bHVkZUxpbmUoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBpbmNsdWRlX3N0YXRlLCBl
cnJvcik6CiAgIGlmIG1hdGNoOgogICAgIGluY2x1ZGUgPSBtYXRjaC5ncm91cCgyKQogICAgIGlz
X3N5c3RlbSA9IChtYXRjaC5ncm91cCgxKSA9PSAnPCcpCi0gICAgZHVwbGljYXRlX2xpbmUgPSBp
bmNsdWRlX3N0YXRlLkZpbmRIZWFkZXIoaW5jbHVkZSkKLSAgICBpZiBkdXBsaWNhdGVfbGluZSA+
PSAwOgorICAgIGlmIGluY2x1ZGUgaW4gaW5jbHVkZV9zdGF0ZToKICAgICAgIGVycm9yKGZpbGVu
YW1lLCBsaW5lbnVtLCAnYnVpbGQvaW5jbHVkZScsIDQsCiAgICAgICAgICAgICAnIiVzIiBhbHJl
YWR5IGluY2x1ZGVkIGF0ICVzOiVzJyAlCi0gICAgICAgICAgICAoaW5jbHVkZSwgZmlsZW5hbWUs
IGR1cGxpY2F0ZV9saW5lKSkKLSAgICBlbGlmIChpbmNsdWRlLmVuZHN3aXRoKCcuY2MnKSBhbmQK
LSAgICAgICAgICBvcy5wYXRoLmRpcm5hbWUoZmlsZWluZm8uUmVwb3NpdG9yeU5hbWUoKSkgIT0g
b3MucGF0aC5kaXJuYW1lKGluY2x1ZGUpKToKLSAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVt
LCAnYnVpbGQvaW5jbHVkZScsIDQsCi0gICAgICAgICAgICAnRG8gbm90IGluY2x1ZGUgLmNjIGZp
bGVzIGZyb20gb3RoZXIgcGFja2FnZXMnKQotICAgIGVsaWYgbm90IF9USElSRF9QQVJUWV9IRUFE
RVJTX1BBVFRFUk4ubWF0Y2goaW5jbHVkZSk6Ci0gICAgICBpbmNsdWRlX3N0YXRlLmluY2x1ZGVf
bGlzdFstMV0uYXBwZW5kKChpbmNsdWRlLCBsaW5lbnVtKSkKKyAgICAgICAgICAgIChpbmNsdWRl
LCBmaWxlbmFtZSwgaW5jbHVkZV9zdGF0ZVtpbmNsdWRlXSkpCisgICAgZWxzZToKKyAgICAgIGlu
Y2x1ZGVfc3RhdGVbaW5jbHVkZV0gPSBsaW5lbnVtCiAKICAgICAgICMgV2Ugd2FudCB0byBlbnN1
cmUgdGhhdCBoZWFkZXJzIGFwcGVhciBpbiB0aGUgcmlnaHQgb3JkZXI6CiAgICAgICAjIDEpIGZv
ciBmb28uY2MsIGZvby5oICAocHJlZmVycmVkIGxvY2F0aW9uKQpAQCAtNDU5NSw3ICszNjI3LDE2
IEBAIGRlZiBDaGVja0luY2x1ZGVMaW5lKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwg
aW5jbHVkZV9zdGF0ZSwgZXJyb3IpOgogICAgICAgICAgICAgICAnSW5jbHVkZSAiJXMiIG5vdCBp
biBhbHBoYWJldGljYWwgb3JkZXInICUgaW5jbHVkZSkKICAgICAgIGluY2x1ZGVfc3RhdGUuU2V0
TGFzdEhlYWRlcihjYW5vbmljYWxfaW5jbHVkZSkKIAotCisgICMgTG9vayBmb3IgYW55IG9mIHRo
ZSBzdHJlYW0gY2xhc3NlcyB0aGF0IGFyZSBwYXJ0IG9mIHN0YW5kYXJkIEMrKy4KKyAgbWF0Y2gg
PSBfUkVfUEFUVEVSTl9JTkNMVURFLm1hdGNoKGxpbmUpCisgIGlmIG1hdGNoOgorICAgIGluY2x1
ZGUgPSBtYXRjaC5ncm91cCgyKQorICAgIGlmIE1hdGNoKHInKGZ8aW5kfGlvfGl8b3xwYXJzZXxw
ZnxzdGRpb3xzdHJ8KT9zdHJlYW0kJywgaW5jbHVkZSk6CisgICAgICAjIE1hbnkgdW5pdCB0ZXN0
cyB1c2UgY291dCwgc28gd2UgZXhlbXB0IHRoZW0uCisgICAgICBpZiBub3QgX0lzVGVzdEZpbGVu
YW1lKGZpbGVuYW1lKToKKyAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdyZWFkYWJp
bGl0eS9zdHJlYW1zJywgMywKKyAgICAgICAgICAgICAgJ1N0cmVhbXMgYXJlIGhpZ2hseSBkaXNj
b3VyYWdlZC4nKQorCiAKIGRlZiBfR2V0VGV4dEluc2lkZSh0ZXh0LCBzdGFydF9wYXR0ZXJuKToK
ICAgciIiIlJldHJpZXZlcyBhbGwgdGhlIHRleHQgYmV0d2VlbiBtYXRjaGluZyBvcGVuIGFuZCBj
bG9zZSBwYXJlbnRoZXNlcy4KQEAgLTQ2MTcsNyArMzY1OCw3IEBAIGRlZiBfR2V0VGV4dEluc2lk
ZSh0ZXh0LCBzdGFydF9wYXR0ZXJuKToKICAgICBUaGUgZXh0cmFjdGVkIHRleHQuCiAgICAgTm9u
ZSBpZiBlaXRoZXIgdGhlIG9wZW5pbmcgc3RyaW5nIG9yIGVuZGluZyBwdW5jdHVhdGlvbiBjb3Vs
ZCBub3QgYmUgZm91bmQuCiAgICIiIgotICAjIFRPRE8odW5rbm93bik6IEF1ZGl0IGNwcGxpbnQu
cHkgdG8gc2VlIHdoYXQgcGxhY2VzIGNvdWxkIGJlIHByb2ZpdGFibHkKKyAgIyBUT0RPKHN1Z2F3
YXJheXUpOiBBdWRpdCBjcHBsaW50LnB5IHRvIHNlZSB3aGF0IHBsYWNlcyBjb3VsZCBiZSBwcm9m
aXRhYmx5CiAgICMgcmV3cml0dGVuIHRvIHVzZSBfR2V0VGV4dEluc2lkZSAoYW5kIHVzZSBpbmZl
cmlvciByZWdleHAgbWF0Y2hpbmcgdG9kYXkpLgogCiAgICMgR2l2ZSBvcGVuaW5nIHB1bmN0dWF0
aW9ucyB0byBnZXQgdGhlIG1hdGNoaW5nIGNsb3NlLXB1bmN0dWF0aW9ucy4KQEAgLTQ2NzcsOSAr
MzcxOCw2IEBAIF9SRV9QQVRURVJOX1JFRl9QQVJBTSA9IHJlLmNvbXBpbGUoCiBfUkVfUEFUVEVS
Tl9DT05TVF9SRUZfUEFSQU0gPSAoCiAgICAgcicoPzouKlxzKlxiY29uc3RccyomXHMqJyArIF9S
RV9QQVRURVJOX0lERU5UICsKICAgICByJ3xjb25zdFxzKycgKyBfUkVfUEFUVEVSTl9UWVBFICsg
cidccyomXHMqJyArIF9SRV9QQVRURVJOX0lERU5UICsgcicpJykKLSMgU3RyZWFtIHR5cGVzLgot
X1JFX1BBVFRFUk5fUkVGX1NUUkVBTV9QQVJBTSA9ICgKLSAgICByJyg/Oi4qc3RyZWFtXHMqJlxz
KicgKyBfUkVfUEFUVEVSTl9JREVOVCArIHInKScpCiAKIAogZGVmIENoZWNrTGFuZ3VhZ2UoZmls
ZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBmaWxlX2V4dGVuc2lvbiwKQEAgLTQ2OTUsNyAr
MzczMyw3IEBAIGRlZiBDaGVja0xhbmd1YWdlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51
bSwgZmlsZV9leHRlbnNpb24sCiAgICAgbGluZW51bTogVGhlIG51bWJlciBvZiB0aGUgbGluZSB0
byBjaGVjay4KICAgICBmaWxlX2V4dGVuc2lvbjogVGhlIGV4dGVuc2lvbiAod2l0aG91dCB0aGUg
ZG90KSBvZiB0aGUgZmlsZW5hbWUuCiAgICAgaW5jbHVkZV9zdGF0ZTogQW4gX0luY2x1ZGVTdGF0
ZSBpbnN0YW5jZSBpbiB3aGljaCB0aGUgaGVhZGVycyBhcmUgaW5zZXJ0ZWQuCi0gICAgbmVzdGlu
Z19zdGF0ZTogQSBOZXN0aW5nU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGluZm9ybWF0
aW9uIGFib3V0CisgICAgbmVzdGluZ19zdGF0ZTogQSBfTmVzdGluZ1N0YXRlIGluc3RhbmNlIHdo
aWNoIG1haW50YWlucyBpbmZvcm1hdGlvbiBhYm91dAogICAgICAgICAgICAgICAgICAgIHRoZSBj
dXJyZW50IHN0YWNrIG9mIG5lc3RlZCBibG9ja3MgYmVpbmcgcGFyc2VkLgogICAgIGVycm9yOiBU
aGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCiAgICIiIgpAQCAtNDcx
MiwyMyArMzc1MCwxMjkgQEAgZGVmIENoZWNrTGFuZ3VhZ2UoZmlsZW5hbWUsIGNsZWFuX2xpbmVz
LCBsaW5lbnVtLCBmaWxlX2V4dGVuc2lvbiwKIAogICAjIFJlc2V0IGluY2x1ZGUgc3RhdGUgYWNy
b3NzIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzLiAgVGhpcyBpcyBtZWFudAogICAjIHRvIHNpbGVu
Y2Ugd2FybmluZ3MgZm9yIGNvbmRpdGlvbmFsIGluY2x1ZGVzLgotICBtYXRjaCA9IE1hdGNoKHIn
XlxzKiNccyooaWZ8aWZkZWZ8aWZuZGVmfGVsaWZ8ZWxzZXxlbmRpZilcYicsIGxpbmUpCi0gIGlm
IG1hdGNoOgotICAgIGluY2x1ZGVfc3RhdGUuUmVzZXRTZWN0aW9uKG1hdGNoLmdyb3VwKDEpKQor
ICBpZiBNYXRjaChyJ15ccyojXHMqKD86aWZkZWZ8ZWxpZnxlbHNlfGVuZGlmKVxiJywgbGluZSk6
CisgICAgaW5jbHVkZV9zdGF0ZS5SZXNldFNlY3Rpb24oKQogCiAgICMgTWFrZSBXaW5kb3dzIHBh
dGhzIGxpa2UgVW5peC4KICAgZnVsbG5hbWUgPSBvcy5wYXRoLmFic3BhdGgoZmlsZW5hbWUpLnJl
cGxhY2UoJ1xcJywgJy8nKQogCi0gICMgUGVyZm9ybSBvdGhlciBjaGVja3Mgbm93IHRoYXQgd2Ug
YXJlIHN1cmUgdGhhdCB0aGlzIGlzIG5vdCBhbiBpbmNsdWRlIGxpbmUKLSAgQ2hlY2tDYXN0cyhm
aWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKQotICBDaGVja0dsb2JhbFN0YXRp
YyhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKQotICBDaGVja1ByaW50Zihm
aWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKQorICAjIFRPRE8odW5rbm93bik6
IGZpZ3VyZSBvdXQgaWYgdGhleSdyZSB1c2luZyBkZWZhdWx0IGFyZ3VtZW50cyBpbiBmbiBwcm90
by4KKworICAjIENoZWNrIHRvIHNlZSBpZiB0aGV5J3JlIHVzaW5nIGFuIGNvbnZlcnNpb24gZnVu
Y3Rpb24gY2FzdC4KKyAgIyBJIGp1c3QgdHJ5IHRvIGNhcHR1cmUgdGhlIG1vc3QgY29tbW9uIGJh
c2ljIHR5cGVzLCB0aG91Z2ggdGhlcmUgYXJlIG1vcmUuCisgICMgUGFyYW1ldGVybGVzcyBjb252
ZXJzaW9uIGZ1bmN0aW9ucywgc3VjaCBhcyBib29sKCksIGFyZSBhbGxvd2VkIGFzIHRoZXkgYXJl
CisgICMgcHJvYmFibHkgYSBtZW1iZXIgb3BlcmF0b3IgZGVjbGFyYXRpb24gb3IgZGVmYXVsdCBj
b25zdHJ1Y3Rvci4KKyAgbWF0Y2ggPSBTZWFyY2goCisgICAgICByJyhcYm5ld1xzKyk/XGInICAj
IEdyYWIgJ25ldycgb3BlcmF0b3IsIGlmIGl0J3MgdGhlcmUKKyAgICAgIHInKGludHxmbG9hdHxk
b3VibGV8Ym9vbHxjaGFyfGludDMyfHVpbnQzMnxpbnQ2NHx1aW50NjQpJworICAgICAgcicoXChb
XildLiopJywgbGluZSkKKyAgaWYgbWF0Y2g6CisgICAgbWF0Y2hlZF9uZXcgPSBtYXRjaC5ncm91
cCgxKQorICAgIG1hdGNoZWRfdHlwZSA9IG1hdGNoLmdyb3VwKDIpCisgICAgbWF0Y2hlZF9mdW5j
cHRyID0gbWF0Y2guZ3JvdXAoMykKKworICAgICMgZ01vY2sgbWV0aG9kcyBhcmUgZGVmaW5lZCB1
c2luZyBzb21lIHZhcmlhbnQgb2YgTU9DS19NRVRIT0R4KG5hbWUsIHR5cGUpCisgICAgIyB3aGVy
ZSB0eXBlIG1heSBiZSBmbG9hdCgpLCBpbnQoc3RyaW5nKSwgZXRjLiAgV2l0aG91dCBjb250ZXh0
IHRoZXkgYXJlCisgICAgIyB2aXJ0dWFsbHkgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBpbnQoeCkg
Y2FzdHMuIExpa2V3aXNlLCBnTW9jaydzCisgICAgIyBNb2NrQ2FsbGJhY2sgdGFrZXMgYSB0ZW1w
bGF0ZSBwYXJhbWV0ZXIgb2YgdGhlIGZvcm0gcmV0dXJuX3R5cGUoYXJnX3R5cGUpLAorICAgICMg
d2hpY2ggbG9va3MgbXVjaCBsaWtlIHRoZSBjYXN0IHdlJ3JlIHRyeWluZyB0byBkZXRlY3QuCisg
ICAgIworICAgICMgc3RkOjpmdW5jdGlvbjw+IHdyYXBwZXIgaGFzIGEgc2ltaWxhciBwcm9ibGVt
LgorICAgICMKKyAgICAjIFJldHVybiB0eXBlcyBmb3IgZnVuY3Rpb24gcG9pbnRlcnMgYWxzbyBs
b29rIGxpa2UgY2FzdHMgaWYgdGhleQorICAgICMgZG9uJ3QgaGF2ZSBhbiBleHRyYSBzcGFjZS4K
KyAgICBpZiAobWF0Y2hlZF9uZXcgaXMgTm9uZSBhbmQgICMgSWYgbmV3IG9wZXJhdG9yLCB0aGVu
IHRoaXMgaXNuJ3QgYSBjYXN0CisgICAgICAgIG5vdCAoTWF0Y2gocideXHMqTU9DS18oQ09OU1Rf
KT9NRVRIT0RcZCsoX1QpP1woJywgbGluZSkgb3IKKyAgICAgICAgICAgICBTZWFyY2gocidcYk1v
Y2tDYWxsYmFjazwuKj4nLCBsaW5lKSBvcgorICAgICAgICAgICAgIFNlYXJjaChyJ1xic3RkOjpm
dW5jdGlvbjwuKj4nLCBsaW5lKSkgYW5kCisgICAgICAgIG5vdCAobWF0Y2hlZF9mdW5jcHRyIGFu
ZAorICAgICAgICAgICAgIE1hdGNoKHInXCgoPzpbXigpIF0rOjpccypcKlxzKik/W14oKSBdK1wp
XHMqXCgnLAorICAgICAgICAgICAgICAgICAgIG1hdGNoZWRfZnVuY3B0cikpKToKKyAgICAgICMg
VHJ5IGEgYml0IGhhcmRlciB0byBjYXRjaCBnbW9jayBsaW5lczogdGhlIG9ubHkgcGxhY2Ugd2hl
cmUKKyAgICAgICMgc29tZXRoaW5nIGxvb2tzIGxpa2UgYW4gb2xkLXN0eWxlIGNhc3QgaXMgd2hl
cmUgd2UgZGVjbGFyZSB0aGUKKyAgICAgICMgcmV0dXJuIHR5cGUgb2YgdGhlIG1vY2tlZCBtZXRo
b2QsIGFuZCB0aGUgb25seSB0aW1lIHdoZW4gd2UKKyAgICAgICMgYXJlIG1pc3NpbmcgY29udGV4
dCBpcyBpZiBNT0NLX01FVEhPRCB3YXMgc3BsaXQgYWNyb3NzCisgICAgICAjIG11bHRpcGxlIGxp
bmVzLiAgVGhlIG1pc3NpbmcgTU9DS19NRVRIT0QgaXMgdXN1YWxseSBvbmUgb3IgdHdvCisgICAg
ICAjIGxpbmVzIGJhY2ssIHNvIHNjYW4gYmFjayBvbmUgb3IgdHdvIGxpbmVzLgorICAgICAgIwor
ICAgICAgIyBJdCdzIG5vdCBwb3NzaWJsZSBmb3IgZ21vY2sgbWFjcm9zIHRvIGFwcGVhciBpbiB0
aGUgZmlyc3QgMgorICAgICAgIyBsaW5lcywgc2luY2UgdGhlIGNsYXNzIGhlYWQgKyBzZWN0aW9u
IG5hbWUgdGFrZXMgdXAgMiBsaW5lcy4KKyAgICAgIGlmIChsaW5lbnVtIDwgMiBvcgorICAgICAg
ICAgIG5vdCAoTWF0Y2gocideXHMqTU9DS18oPzpDT05TVF8pP01FVEhPRFxkKyg/Ol9UKT9cKCg/
OlxTKywpP1xzKiQnLAorICAgICAgICAgICAgICAgICAgICAgY2xlYW5fbGluZXMuZWxpZGVkW2xp
bmVudW0gLSAxXSkgb3IKKyAgICAgICAgICAgICAgIE1hdGNoKHInXlxzKk1PQ0tfKD86Q09OU1Rf
KT9NRVRIT0RcZCsoPzpfVCk/XChccyokJywKKyAgICAgICAgICAgICAgICAgICAgIGNsZWFuX2xp
bmVzLmVsaWRlZFtsaW5lbnVtIC0gMl0pKSk6CisgICAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5l
bnVtLCAncmVhZGFiaWxpdHkvY2FzdGluZycsIDQsCisgICAgICAgICAgICAgICdVc2luZyBkZXBy
ZWNhdGVkIGNhc3Rpbmcgc3R5bGUuICAnCisgICAgICAgICAgICAgICdVc2Ugc3RhdGljX2Nhc3Q8
JXM+KC4uLikgaW5zdGVhZCcgJQorICAgICAgICAgICAgICBtYXRjaGVkX3R5cGUpCisKKyAgQ2hl
Y2tDU3R5bGVDYXN0KGZpbGVuYW1lLCBsaW5lbnVtLCBsaW5lLCBjbGVhbl9saW5lcy5yYXdfbGlu
ZXNbbGluZW51bV0sCisgICAgICAgICAgICAgICAgICAnc3RhdGljX2Nhc3QnLAorICAgICAgICAg
ICAgICAgICAgcidcKChpbnR8ZmxvYXR8ZG91YmxlfGJvb2x8Y2hhcnx1P2ludCgxNnwzMnw2NCkp
XCknLCBlcnJvcikKKworICAjIFRoaXMgZG9lc24ndCBjYXRjaCBhbGwgY2FzZXMuIENvbnNpZGVy
IChjb25zdCBjaGFyICogY29uc3QpImhlbGxvIi4KKyAgIworICAjIChjaGFyICopICJmb28iIHNo
b3VsZCBhbHdheXMgYmUgYSBjb25zdF9jYXN0IChyZWludGVycHJldF9jYXN0IHdvbid0CisgICMg
Y29tcGlsZSkuCisgIGlmIENoZWNrQ1N0eWxlQ2FzdChmaWxlbmFtZSwgbGluZW51bSwgbGluZSwg
Y2xlYW5fbGluZXMucmF3X2xpbmVzW2xpbmVudW1dLAorICAgICAgICAgICAgICAgICAgICAgJ2Nv
bnN0X2Nhc3QnLCByJ1woKGNoYXJccz9cKitccz8pXClccyoiJywgZXJyb3IpOgorICAgIHBhc3MK
KyAgZWxzZToKKyAgICAjIENoZWNrIHBvaW50ZXIgY2FzdHMgZm9yIG90aGVyIHRoYW4gc3RyaW5n
IGNvbnN0YW50cworICAgIENoZWNrQ1N0eWxlQ2FzdChmaWxlbmFtZSwgbGluZW51bSwgbGluZSwg
Y2xlYW5fbGluZXMucmF3X2xpbmVzW2xpbmVudW1dLAorICAgICAgICAgICAgICAgICAgICAncmVp
bnRlcnByZXRfY2FzdCcsIHInXCgoXHcrXHM/XCorXHM/KVwpJywgZXJyb3IpCisKKyAgIyBJbiBh
ZGRpdGlvbiwgd2UgbG9vayBmb3IgcGVvcGxlIHRha2luZyB0aGUgYWRkcmVzcyBvZiBhIGNhc3Qu
ICBUaGlzCisgICMgaXMgZGFuZ2Vyb3VzIC0tIGNhc3RzIGNhbiBhc3NpZ24gdG8gdGVtcG9yYXJp
ZXMsIHNvIHRoZSBwb2ludGVyIGRvZXNuJ3QKKyAgIyBwb2ludCB3aGVyZSB5b3UgdGhpbmsuCisg
IG1hdGNoID0gU2VhcmNoKAorICAgICAgcicoPzomXCgoW14pXSspXClbXHcoXSl8JworICAgICAg
cicoPzomKHN0YXRpY3xkeW5hbWljfGRvd258cmVpbnRlcnByZXQpX2Nhc3RcYiknLCBsaW5lKQor
ICBpZiBtYXRjaCBhbmQgbWF0Y2guZ3JvdXAoMSkgIT0gJyonOgorICAgIGVycm9yKGZpbGVuYW1l
LCBsaW5lbnVtLCAncnVudGltZS9jYXN0aW5nJywgNCwKKyAgICAgICAgICAoJ0FyZSB5b3UgdGFr
aW5nIGFuIGFkZHJlc3Mgb2YgYSBjYXN0PyAgJworICAgICAgICAgICAnVGhpcyBpcyBkYW5nZXJv
dXM6IGNvdWxkIGJlIGEgdGVtcCB2YXIuICAnCisgICAgICAgICAgICdUYWtlIHRoZSBhZGRyZXNz
IGJlZm9yZSBkb2luZyB0aGUgY2FzdCwgcmF0aGVyIHRoYW4gYWZ0ZXInKSkKKworICAjIENyZWF0
ZSBhbiBleHRlbmRlZF9saW5lLCB3aGljaCBpcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgY3Vy
cmVudCBhbmQKKyAgIyBuZXh0IGxpbmVzLCBmb3IgbW9yZSBlZmZlY3RpdmUgY2hlY2tpbmcgb2Yg
Y29kZSB0aGF0IG1heSBzcGFuIG1vcmUgdGhhbiBvbmUKKyAgIyBsaW5lLgorICBpZiBsaW5lbnVt
ICsgMSA8IGNsZWFuX2xpbmVzLk51bUxpbmVzKCk6CisgICAgZXh0ZW5kZWRfbGluZSA9IGxpbmUg
KyBjbGVhbl9saW5lcy5lbGlkZWRbbGluZW51bSArIDFdCisgIGVsc2U6CisgICAgZXh0ZW5kZWRf
bGluZSA9IGxpbmUKKworICAjIENoZWNrIGZvciBwZW9wbGUgZGVjbGFyaW5nIHN0YXRpYy9nbG9i
YWwgU1RMIHN0cmluZ3MgYXQgdGhlIHRvcCBsZXZlbC4KKyAgIyBUaGlzIGlzIGRhbmdlcm91cyBi
ZWNhdXNlIHRoZSBDKysgbGFuZ3VhZ2UgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQKKyAgIyBnbG9i
YWxzIHdpdGggY29uc3RydWN0b3JzIGFyZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIGZpcnN0IGFj
Y2Vzcy4KKyAgbWF0Y2ggPSBNYXRjaCgKKyAgICAgIHInKCg/OnxzdGF0aWMgKykoPzp8Y29uc3Qg
Kykpc3RyaW5nICsoW2EtekEtWjAtOV86XSspXGIoLiopJywKKyAgICAgIGxpbmUpCisgICMgTWFr
ZSBzdXJlIGl0J3Mgbm90IGEgZnVuY3Rpb24uCisgICMgRnVuY3Rpb24gdGVtcGxhdGUgc3BlY2lh
bGl6YXRpb24gbG9va3MgbGlrZTogInN0cmluZyBmb288VHlwZT4oLi4uIi4KKyAgIyBDbGFzcyB0
ZW1wbGF0ZSBkZWZpbml0aW9ucyBsb29rIGxpa2U6ICJzdHJpbmcgRm9vPFR5cGU+OjpNZXRob2Qo
Li4uIi4KKyAgIworICAjIEFsc28gaWdub3JlIHRoaW5ncyB0aGF0IGxvb2sgbGlrZSBvcGVyYXRv
cnMuICBUaGVzZSBhcmUgbWF0Y2hlZCBzZXBhcmF0ZWx5CisgICMgYmVjYXVzZSBvcGVyYXRvciBu
YW1lcyBjcm9zcyBub24td29yZCBib3VuZGFyaWVzLiAgSWYgd2UgY2hhbmdlIHRoZSBwYXR0ZXJu
CisgICMgYWJvdmUsIHdlIHdvdWxkIGRlY3JlYXNlIHRoZSBhY2N1cmFjeSBvZiBtYXRjaGluZyBp
ZGVudGlmaWVycy4KKyAgaWYgKG1hdGNoIGFuZAorICAgICAgbm90IFNlYXJjaChyJ1xib3BlcmF0
b3JcVycsIGxpbmUpIGFuZAorICAgICAgbm90IE1hdGNoKHInXHMqKDwuKj4pPyg6OlthLXpBLVow
LTlfXSspP1xzKlwoKFteIl18JCknLCBtYXRjaC5ncm91cCgzKSkpOgorICAgIGVycm9yKGZpbGVu
YW1lLCBsaW5lbnVtLCAncnVudGltZS9zdHJpbmcnLCA0LAorICAgICAgICAgICdGb3IgYSBzdGF0
aWMvZ2xvYmFsIHN0cmluZyBjb25zdGFudCwgdXNlIGEgQyBzdHlsZSBzdHJpbmcgaW5zdGVhZDog
JworICAgICAgICAgICciJXNjaGFyICVzW10iLicgJQorICAgICAgICAgIChtYXRjaC5ncm91cCgx
KSwgbWF0Y2guZ3JvdXAoMikpKQorCisgIGlmIFNlYXJjaChyJ1xiKFtBLVphLXowLTlfXSpfKVwo
XDFcKScsIGxpbmUpOgorICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncnVudGltZS9pbml0
JywgNCwKKyAgICAgICAgICAnWW91IHNlZW0gdG8gYmUgaW5pdGlhbGl6aW5nIGEgbWVtYmVyIHZh
cmlhYmxlIHdpdGggaXRzZWxmLicpCiAKLSAgaWYgSXNIZWFkZXJFeHRlbnNpb24oZmlsZV9leHRl
bnNpb24pOgorICBpZiBmaWxlX2V4dGVuc2lvbiA9PSAnaCc6CiAgICAgIyBUT0RPKHVua25vd24p
OiBjaGVjayB0aGF0IDEtYXJnIGNvbnN0cnVjdG9ycyBhcmUgZXhwbGljaXQuCiAgICAgIyAgICAg
ICAgICAgICAgICBIb3cgdG8gdGVsbCBpdCdzIGEgY29uc3RydWN0b3I/CiAgICAgIyAgICAgICAg
ICAgICAgICAoaGFuZGxlZCBpbiBDaGVja0Zvck5vblN0YW5kYXJkQ29uc3RydWN0cyBmb3Igbm93
KQotICAgICMgVE9ETyh1bmtub3duKTogY2hlY2sgdGhhdCBjbGFzc2VzIGRlY2xhcmUgb3IgZGlz
YWJsZSBjb3B5L2Fzc2lnbgorICAgICMgVE9ETyh1bmtub3duKTogY2hlY2sgdGhhdCBjbGFzc2Vz
IGhhdmUgRElTQUxMT1dfRVZJTF9DT05TVFJVQ1RPUlMKICAgICAjICAgICAgICAgICAgICAgIChs
ZXZlbCAxIGVycm9yKQogICAgIHBhc3MKIApAQCAtNDc0NCw2ICszODg4LDIzIEBAIGRlZiBDaGVj
a0xhbmd1YWdlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZmlsZV9leHRlbnNpb24s
CiAgICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3J1bnRpbWUvaW50JywgNCwKICAgICAg
ICAgICAgICdVc2UgaW50MTYvaW50NjQvZXRjLCByYXRoZXIgdGhhbiB0aGUgQyB0eXBlICVzJyAl
IG1hdGNoLmdyb3VwKDEpKQogCisgICMgV2hlbiBzbnByaW50ZiBpcyB1c2VkLCB0aGUgc2Vjb25k
IGFyZ3VtZW50IHNob3VsZG4ndCBiZSBhIGxpdGVyYWwuCisgIG1hdGNoID0gU2VhcmNoKHInc25w
cmludGZccypcKChbXixdKiksXHMqKFswLTldKilccyosJywgbGluZSkKKyAgaWYgbWF0Y2ggYW5k
IG1hdGNoLmdyb3VwKDIpICE9ICcwJzoKKyAgICAjIElmIDJuZCBhcmcgaXMgemVybywgc25wcmlu
dGYgaXMgdXNlZCB0byBjYWxjdWxhdGUgc2l6ZS4KKyAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51
bSwgJ3J1bnRpbWUvcHJpbnRmJywgMywKKyAgICAgICAgICAnSWYgeW91IGNhbiwgdXNlIHNpemVv
ZiglcykgaW5zdGVhZCBvZiAlcyBhcyB0aGUgMm5kIGFyZyAnCisgICAgICAgICAgJ3RvIHNucHJp
bnRmLicgJSAobWF0Y2guZ3JvdXAoMSksIG1hdGNoLmdyb3VwKDIpKSkKKworICAjIENoZWNrIGlm
IHNvbWUgdmVyYm90ZW4gQyBmdW5jdGlvbnMgYXJlIGJlaW5nIHVzZWQuCisgIGlmIFNlYXJjaChy
J1xic3ByaW50ZlxiJywgbGluZSk6CisgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50
aW1lL3ByaW50ZicsIDUsCisgICAgICAgICAgJ05ldmVyIHVzZSBzcHJpbnRmLiAgVXNlIHNucHJp
bnRmIGluc3RlYWQuJykKKyAgbWF0Y2ggPSBTZWFyY2gocidcYihzdHJjcHl8c3RyY2F0KVxiJywg
bGluZSkKKyAgaWYgbWF0Y2g6CisgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1l
L3ByaW50ZicsIDQsCisgICAgICAgICAgJ0FsbW9zdCBhbHdheXMsIHNucHJpbnRmIGlzIGJldHRl
ciB0aGFuICVzJyAlIG1hdGNoLmdyb3VwKDEpKQorCiAgICMgQ2hlY2sgaWYgc29tZSB2ZXJib3Rl
biBvcGVyYXRvciBvdmVybG9hZGluZyBpcyBnb2luZyBvbgogICAjIFRPRE8odW5rbm93bik6IGNh
dGNoIG91dC1vZi1saW5lIHVuYXJ5IG9wZXJhdG9yJjoKICAgIyAgIGNsYXNzIFgge307CkBAIC00
NzYzLDcgKzM5MjQsNyBAQCBkZWYgQ2hlY2tMYW5ndWFnZShmaWxlbmFtZSwgY2xlYW5fbGluZXMs
IGxpbmVudW0sIGZpbGVfZXh0ZW5zaW9uLAogICAjIENoZWNrIGZvciBwb3RlbnRpYWwgZm9ybWF0
IHN0cmluZyBidWdzIGxpa2UgcHJpbnRmKGZvbykuCiAgICMgV2UgY29uc3RyYWluIHRoZSBwYXR0
ZXJuIG5vdCB0byBwaWNrIHRoaW5ncyBsaWtlIERvY2lkRm9yUHJpbnRmKGZvbykuCiAgICMgTm90
IHBlcmZlY3QgYnV0IGl0IGNhbiBjYXRjaCBwcmludGYoZm9vLmNfc3RyKCkpIGFuZCBwcmludGYo
Zm9vLT5jX3N0cigpKQotICAjIFRPRE8odW5rbm93bik6IENhdGNoIHRoZSBmb2xsb3dpbmcgY2Fz
ZS4gTmVlZCB0byBjaGFuZ2UgdGhlIGNhbGxpbmcKKyAgIyBUT0RPKHN1Z2F3YXJheXUpOiBDYXRj
aCB0aGUgZm9sbG93aW5nIGNhc2UuIE5lZWQgdG8gY2hhbmdlIHRoZSBjYWxsaW5nCiAgICMgY29u
dmVudGlvbiBvZiB0aGUgd2hvbGUgZnVuY3Rpb24gdG8gcHJvY2VzcyBtdWx0aXBsZSBsaW5lIHRv
IGhhbmRsZSBpdC4KICAgIyAgIHByaW50ZigKICAgIyAgICAgICBib3lfdGhpc19pc19hX3JlYWxs
eV9sb25nX3ZhcmlhYmxlX3RoYXRfY2Fubm90X2ZpdF9vbl90aGVfcHJldl9saW5lKTsKQEAgLTQ4
MjgsMTg4ICszOTg5LDM3IEBAIGRlZiBDaGVja0xhbmd1YWdlKGZpbGVuYW1lLCBjbGVhbl9saW5l
cywgbGluZW51bSwgZmlsZV9leHRlbnNpb24sCiAgICAgICAgICAgICAnRG8gbm90IHVzZSB2YXJp
YWJsZS1sZW5ndGggYXJyYXlzLiAgVXNlIGFuIGFwcHJvcHJpYXRlbHkgbmFtZWQgJwogICAgICAg
ICAgICAgIignaycgZm9sbG93ZWQgYnkgQ2FtZWxDYXNlKSBjb21waWxlLXRpbWUgY29uc3RhbnQg
Zm9yIHRoZSBzaXplLiIpCiAKKyAgIyBJZiBESVNBTExPV19FVklMX0NPTlNUUlVDVE9SUywgRElT
QUxMT1dfQ09QWV9BTkRfQVNTSUdOLCBvcgorICAjIERJU0FMTE9XX0lNUExJQ0lUX0NPTlNUUlVD
VE9SUyBpcyBwcmVzZW50LCB0aGVuIGl0IHNob3VsZCBiZSB0aGUgbGFzdCB0aGluZworICAjIGlu
IHRoZSBjbGFzcyBkZWNsYXJhdGlvbi4KKyAgbWF0Y2ggPSBNYXRjaCgKKyAgICAgIChyJ1xzKicK
KyAgICAgICByJyhESVNBTExPV18oRVZJTF9DT05TVFJVQ1RPUlN8Q09QWV9BTkRfQVNTSUdOfElN
UExJQ0lUX0NPTlNUUlVDVE9SUykpJworICAgICAgIHInXCguKlwpOyQnKSwKKyAgICAgIGxpbmUp
CisgIGlmIG1hdGNoIGFuZCBsaW5lbnVtICsgMSA8IGNsZWFuX2xpbmVzLk51bUxpbmVzKCk6Cisg
ICAgbmV4dF9saW5lID0gY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW0gKyAxXQorICAgICMgV2Ug
YWxsb3cgc29tZSwgYnV0IG5vdCBhbGwsIGRlY2xhcmF0aW9ucyBvZiB2YXJpYWJsZXMgdG8gYmUg
cHJlc2VudAorICAgICMgaW4gdGhlIHN0YXRlbWVudCB0aGF0IGRlZmluZXMgdGhlIGNsYXNzLiAg
VGhlIFtcd1wqLFxzXSogZnJhZ21lbnQgb2YKKyAgICAjIHRoZSByZWd1bGFyIGV4cHJlc3Npb24g
YmVsb3cgYWxsb3dzIHVzZXJzIHRvIGRlY2xhcmUgaW5zdGFuY2VzIG9mCisgICAgIyB0aGUgY2xh
c3Mgb3IgcG9pbnRlcnMgdG8gaW5zdGFuY2VzLCBidXQgbm90IGxlc3MgY29tbW9uIHR5cGVzIHN1
Y2gKKyAgICAjIGFzIGZ1bmN0aW9uIHBvaW50ZXJzIG9yIGFycmF5cy4gIEl0J3MgYSB0cmFkZW9m
ZiBiZXR3ZWVuIGFsbG93aW5nCisgICAgIyByZWFzb25hYmxlIGNvZGUgYW5kIGF2b2lkaW5nIHRy
eWluZyB0byBwYXJzZSBtb3JlIEMrKyB1c2luZyByZWdleHBzLgorICAgIGlmIG5vdCBTZWFyY2go
cideXHMqfVtcd1wqLFxzXSo7JywgbmV4dF9saW5lKToKKyAgICAgIGVycm9yKGZpbGVuYW1lLCBs
aW5lbnVtLCAncmVhZGFiaWxpdHkvY29uc3RydWN0b3JzJywgMywKKyAgICAgICAgICAgIG1hdGNo
Lmdyb3VwKDEpICsgJyBzaG91bGQgYmUgdGhlIGxhc3QgdGhpbmcgaW4gdGhlIGNsYXNzJykKKwog
ICAjIENoZWNrIGZvciB1c2Ugb2YgdW5uYW1lZCBuYW1lc3BhY2VzIGluIGhlYWRlciBmaWxlcy4g
IFJlZ2lzdHJhdGlvbgogICAjIG1hY3JvcyBhcmUgdHlwaWNhbGx5IE9LLCBzbyB3ZSBhbGxvdyB1
c2Ugb2YgIm5hbWVzcGFjZSB7IiBvbiBsaW5lcwogICAjIHRoYXQgZW5kIHdpdGggYmFja3NsYXNo
ZXMuCi0gIGlmIChJc0hlYWRlckV4dGVuc2lvbihmaWxlX2V4dGVuc2lvbikKKyAgaWYgKGZpbGVf
ZXh0ZW5zaW9uID09ICdoJwogICAgICAgYW5kIFNlYXJjaChyJ1xibmFtZXNwYWNlXHMqeycsIGxp
bmUpCiAgICAgICBhbmQgbGluZVstMV0gIT0gJ1xcJyk6CiAgICAgZXJyb3IoZmlsZW5hbWUsIGxp
bmVudW0sICdidWlsZC9uYW1lc3BhY2VzJywgNCwKICAgICAgICAgICAnRG8gbm90IHVzZSB1bm5h
bWVkIG5hbWVzcGFjZXMgaW4gaGVhZGVyIGZpbGVzLiAgU2VlICcKLSAgICAgICAgICAnaHR0cHM6
Ly9nb29nbGUtc3R5bGVndWlkZS5nb29nbGVjb2RlLmNvbS9zdm4vdHJ1bmsvY3BwZ3VpZGUueG1s
I05hbWVzcGFjZXMnCisgICAgICAgICAgJ2h0dHA6Ly9nb29nbGUtc3R5bGVndWlkZS5nb29nbGVj
b2RlLmNvbS9zdm4vdHJ1bmsvY3BwZ3VpZGUueG1sI05hbWVzcGFjZXMnCiAgICAgICAgICAgJyBm
b3IgbW9yZSBpbmZvcm1hdGlvbi4nKQogCi0KLWRlZiBDaGVja0dsb2JhbFN0YXRpYyhmaWxlbmFt
ZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGVycm9yKToKLSAgIiIiQ2hlY2sgZm9yIHVuc2FmZSBn
bG9iYWwgb3Igc3RhdGljIG9iamVjdHMuCi0KLSAgQXJnczoKLSAgICBmaWxlbmFtZTogVGhlIG5h
bWUgb2YgdGhlIGN1cnJlbnQgZmlsZS4KLSAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVz
IGluc3RhbmNlIGNvbnRhaW5pbmcgdGhlIGZpbGUuCi0gICAgbGluZW51bTogVGhlIG51bWJlciBv
ZiB0aGUgbGluZSB0byBjaGVjay4KLSAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0
aCBhbnkgZXJyb3JzIGZvdW5kLgotICAiIiIKLSAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFts
aW5lbnVtXQotCi0gICMgTWF0Y2ggdHdvIGxpbmVzIGF0IGEgdGltZSB0byBzdXBwb3J0IG11bHRp
bGluZSBkZWNsYXJhdGlvbnMKLSAgaWYgbGluZW51bSArIDEgPCBjbGVhbl9saW5lcy5OdW1MaW5l
cygpIGFuZCBub3QgU2VhcmNoKHInWzsoe10nLCBsaW5lKToKLSAgICBsaW5lICs9IGNsZWFuX2xp
bmVzLmVsaWRlZFtsaW5lbnVtICsgMV0uc3RyaXAoKQotCi0gICMgQ2hlY2sgZm9yIHBlb3BsZSBk
ZWNsYXJpbmcgc3RhdGljL2dsb2JhbCBTVEwgc3RyaW5ncyBhdCB0aGUgdG9wIGxldmVsLgotICAj
IFRoaXMgaXMgZGFuZ2Vyb3VzIGJlY2F1c2UgdGhlIEMrKyBsYW5ndWFnZSBkb2VzIG5vdCBndWFy
YW50ZWUgdGhhdAotICAjIGdsb2JhbHMgd2l0aCBjb25zdHJ1Y3RvcnMgYXJlIGluaXRpYWxpemVk
IGJlZm9yZSB0aGUgZmlyc3QgYWNjZXNzLCBhbmQKLSAgIyBhbHNvIGJlY2F1c2UgZ2xvYmFscyBj
YW4gYmUgZGVzdHJveWVkIHdoZW4gc29tZSB0aHJlYWRzIGFyZSBzdGlsbCBydW5uaW5nLgotICAj
IFRPRE8odW5rbm93bik6IEdlbmVyYWxpemUgdGhpcyB0byBhbHNvIGZpbmQgc3RhdGljIHVuaXF1
ZV9wdHIgaW5zdGFuY2VzLgotICAjIFRPRE8odW5rbm93bik6IEZpbGUgYnVncyBmb3IgY2xhbmct
dGlkeSB0byBmaW5kIHRoZXNlLgotICBtYXRjaCA9IE1hdGNoKAotICAgICAgcicoKD86fHN0YXRp
YyArKSg/Onxjb25zdCArKSkoPzo6KnN0ZDo6KT9zdHJpbmcoICtjb25zdCk/ICsnCi0gICAgICBy
JyhbYS16QS1aMC05XzpdKylcYiguKiknLAotICAgICAgbGluZSkKLQotICAjIFJlbW92ZSBmYWxz
ZSBwb3NpdGl2ZXM6Ci0gICMgLSBTdHJpbmcgcG9pbnRlcnMgKGFzIG9wcG9zZWQgdG8gdmFsdWVz
KS4KLSAgIyAgICBzdHJpbmcgKnBvaW50ZXIKLSAgIyAgICBjb25zdCBzdHJpbmcgKnBvaW50ZXIK
LSAgIyAgICBzdHJpbmcgY29uc3QgKnBvaW50ZXIKLSAgIyAgICBzdHJpbmcgKmNvbnN0IHBvaW50
ZXIKLSAgIwotICAjIC0gRnVuY3Rpb25zIGFuZCB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbnMuCi0g
ICMgICAgc3RyaW5nIEZ1bmN0aW9uPFR5cGU+KC4uLgotICAjICAgIHN0cmluZyBDbGFzczxUeXBl
Pjo6TWV0aG9kKC4uLgotICAjCi0gICMgLSBPcGVyYXRvcnMuICBUaGVzZSBhcmUgbWF0Y2hlZCBz
ZXBhcmF0ZWx5IGJlY2F1c2Ugb3BlcmF0b3IgbmFtZXMKLSAgIyAgIGNyb3NzIG5vbi13b3JkIGJv
dW5kYXJpZXMsIGFuZCB0cnlpbmcgdG8gbWF0Y2ggYm90aCBvcGVyYXRvcnMKLSAgIyAgIGFuZCBm
dW5jdGlvbnMgYXQgdGhlIHNhbWUgdGltZSB3b3VsZCBkZWNyZWFzZSBhY2N1cmFjeSBvZgotICAj
ICAgbWF0Y2hpbmcgaWRlbnRpZmllcnMuCi0gICMgICAgc3RyaW5nIENsYXNzOjpvcGVyYXRvcioo
KQotICBpZiAobWF0Y2ggYW5kCi0gICAgICBub3QgU2VhcmNoKHInXGJzdHJpbmdcYihccytjb25z
dCk/XHMqW1wqXCZdXHMqKGNvbnN0XHMrKT9cdycsIGxpbmUpIGFuZAotICAgICAgbm90IFNlYXJj
aChyJ1xib3BlcmF0b3JcVycsIGxpbmUpIGFuZAotICAgICAgbm90IE1hdGNoKHInXHMqKDwuKj4p
Pyg6OlthLXpBLVowLTlfXSspKlxzKlwoKFteIl18JCknLCBtYXRjaC5ncm91cCg0KSkpOgotICAg
IGlmIFNlYXJjaChyJ1xiY29uc3RcYicsIGxpbmUpOgotICAgICAgZXJyb3IoZmlsZW5hbWUsIGxp
bmVudW0sICdydW50aW1lL3N0cmluZycsIDQsCi0gICAgICAgICAgICAnRm9yIGEgc3RhdGljL2ds
b2JhbCBzdHJpbmcgY29uc3RhbnQsIHVzZSBhIEMgc3R5bGUgc3RyaW5nICcKLSAgICAgICAgICAg
ICdpbnN0ZWFkOiAiJXNjaGFyJXMgJXNbXSIuJyAlCi0gICAgICAgICAgICAobWF0Y2guZ3JvdXAo
MSksIG1hdGNoLmdyb3VwKDIpIG9yICcnLCBtYXRjaC5ncm91cCgzKSkpCi0gICAgZWxzZToKLSAg
ICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncnVudGltZS9zdHJpbmcnLCA0LAotICAgICAg
ICAgICAgJ1N0YXRpYy9nbG9iYWwgc3RyaW5nIHZhcmlhYmxlcyBhcmUgbm90IHBlcm1pdHRlZC4n
KQotCi0gIGlmIChTZWFyY2gocidcYihbQS1aYS16MC05X10qXylcKFwxXCknLCBsaW5lKSBvcgot
ICAgICAgU2VhcmNoKHInXGIoW0EtWmEtejAtOV9dKl8pXChDSEVDS19OT1ROVUxMXChcMVwpXCkn
LCBsaW5lKSk6Ci0gICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1lL2luaXQnLCA0
LAotICAgICAgICAgICdZb3Ugc2VlbSB0byBiZSBpbml0aWFsaXppbmcgYSBtZW1iZXIgdmFyaWFi
bGUgd2l0aCBpdHNlbGYuJykKLQotCi1kZWYgQ2hlY2tQcmludGYoZmlsZW5hbWUsIGNsZWFuX2xp
bmVzLCBsaW5lbnVtLCBlcnJvcik6Ci0gICIiIkNoZWNrIGZvciBwcmludGYgcmVsYXRlZCBpc3N1
ZXMuCi0KLSAgQXJnczoKLSAgICBmaWxlbmFtZTogVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgZmls
ZS4KLSAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5pbmcg
dGhlIGZpbGUuCi0gICAgbGluZW51bTogVGhlIG51bWJlciBvZiB0aGUgbGluZSB0byBjaGVjay4K
LSAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgot
ICAiIiIKLSAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtXQotCi0gICMgV2hlbiBz
bnByaW50ZiBpcyB1c2VkLCB0aGUgc2Vjb25kIGFyZ3VtZW50IHNob3VsZG4ndCBiZSBhIGxpdGVy
YWwuCi0gIG1hdGNoID0gU2VhcmNoKHInc25wcmludGZccypcKChbXixdKiksXHMqKFswLTldKilc
cyosJywgbGluZSkKLSAgaWYgbWF0Y2ggYW5kIG1hdGNoLmdyb3VwKDIpICE9ICcwJzoKLSAgICAj
IElmIDJuZCBhcmcgaXMgemVybywgc25wcmludGYgaXMgdXNlZCB0byBjYWxjdWxhdGUgc2l6ZS4K
LSAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3J1bnRpbWUvcHJpbnRmJywgMywKLSAgICAg
ICAgICAnSWYgeW91IGNhbiwgdXNlIHNpemVvZiglcykgaW5zdGVhZCBvZiAlcyBhcyB0aGUgMm5k
IGFyZyAnCi0gICAgICAgICAgJ3RvIHNucHJpbnRmLicgJSAobWF0Y2guZ3JvdXAoMSksIG1hdGNo
Lmdyb3VwKDIpKSkKLQotICAjIENoZWNrIGlmIHNvbWUgdmVyYm90ZW4gQyBmdW5jdGlvbnMgYXJl
IGJlaW5nIHVzZWQuCi0gIGlmIFNlYXJjaChyJ1xic3ByaW50ZlxzKlwoJywgbGluZSk6Ci0gICAg
ZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1lL3ByaW50ZicsIDUsCi0gICAgICAgICAg
J05ldmVyIHVzZSBzcHJpbnRmLiBVc2Ugc25wcmludGYgaW5zdGVhZC4nKQotICBtYXRjaCA9IFNl
YXJjaChyJ1xiKHN0cmNweXxzdHJjYXQpXHMqXCgnLCBsaW5lKQotICBpZiBtYXRjaDoKLSAgICBl
cnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3J1bnRpbWUvcHJpbnRmJywgNCwKLSAgICAgICAgICAn
QWxtb3N0IGFsd2F5cywgc25wcmludGYgaXMgYmV0dGVyIHRoYW4gJXMnICUgbWF0Y2guZ3JvdXAo
MSkpCi0KLQotZGVmIElzRGVyaXZlZEZ1bmN0aW9uKGNsZWFuX2xpbmVzLCBsaW5lbnVtKToKLSAg
IiIiQ2hlY2sgaWYgY3VycmVudCBsaW5lIGNvbnRhaW5zIGFuIGluaGVyaXRlZCBmdW5jdGlvbi4K
LQotICBBcmdzOgotICAgIGNsZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29u
dGFpbmluZyB0aGUgZmlsZS4KLSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRv
IGNoZWNrLgotICBSZXR1cm5zOgotICAgIFRydWUgaWYgY3VycmVudCBsaW5lIGNvbnRhaW5zIGEg
ZnVuY3Rpb24gd2l0aCAib3ZlcnJpZGUiCi0gICAgdmlydC1zcGVjaWZpZXIuCi0gICIiIgotICAj
IFNjYW4gYmFjayBhIGZldyBsaW5lcyBmb3Igc3RhcnQgb2YgY3VycmVudCBmdW5jdGlvbgotICBm
b3IgaSBpbiB4cmFuZ2UobGluZW51bSwgbWF4KC0xLCBsaW5lbnVtIC0gMTApLCAtMSk6Ci0gICAg
bWF0Y2ggPSBNYXRjaChyJ14oW14oKV0qXHcrKVwoJywgY2xlYW5fbGluZXMuZWxpZGVkW2ldKQot
ICAgIGlmIG1hdGNoOgotICAgICAgIyBMb29rIGZvciAib3ZlcnJpZGUiIGFmdGVyIHRoZSBtYXRj
aGluZyBjbG9zaW5nIHBhcmVudGhlc2lzCi0gICAgICBsaW5lLCBfLCBjbG9zaW5nX3BhcmVuID0g
Q2xvc2VFeHByZXNzaW9uKAotICAgICAgICAgIGNsZWFuX2xpbmVzLCBpLCBsZW4obWF0Y2guZ3Jv
dXAoMSkpKQotICAgICAgcmV0dXJuIChjbG9zaW5nX3BhcmVuID49IDAgYW5kCi0gICAgICAgICAg
ICAgIFNlYXJjaChyJ1xib3ZlcnJpZGVcYicsIGxpbmVbY2xvc2luZ19wYXJlbjpdKSkKLSAgcmV0
dXJuIEZhbHNlCi0KLQotZGVmIElzT3V0T2ZMaW5lTWV0aG9kRGVmaW5pdGlvbihjbGVhbl9saW5l
cywgbGluZW51bSk6Ci0gICIiIkNoZWNrIGlmIGN1cnJlbnQgbGluZSBjb250YWlucyBhbiBvdXQt
b2YtbGluZSBtZXRob2QgZGVmaW5pdGlvbi4KLQotICBBcmdzOgotICAgIGNsZWFuX2xpbmVzOiBB
IENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4KLSAgICBsaW5lbnVt
OiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotICBSZXR1cm5zOgotICAgIFRydWUg
aWYgY3VycmVudCBsaW5lIGNvbnRhaW5zIGFuIG91dC1vZi1saW5lIG1ldGhvZCBkZWZpbml0aW9u
LgotICAiIiIKLSAgIyBTY2FuIGJhY2sgYSBmZXcgbGluZXMgZm9yIHN0YXJ0IG9mIGN1cnJlbnQg
ZnVuY3Rpb24KLSAgZm9yIGkgaW4geHJhbmdlKGxpbmVudW0sIG1heCgtMSwgbGluZW51bSAtIDEw
KSwgLTEpOgotICAgIGlmIE1hdGNoKHInXihbXigpXSpcdyspXCgnLCBjbGVhbl9saW5lcy5lbGlk
ZWRbaV0pOgotICAgICAgcmV0dXJuIE1hdGNoKHInXlteKCldKlx3Kzo6XHcrXCgnLCBjbGVhbl9s
aW5lcy5lbGlkZWRbaV0pIGlzIG5vdCBOb25lCi0gIHJldHVybiBGYWxzZQotCi0KLWRlZiBJc0lu
aXRpYWxpemVyTGlzdChjbGVhbl9saW5lcywgbGluZW51bSk6Ci0gICIiIkNoZWNrIGlmIGN1cnJl
bnQgbGluZSBpcyBpbnNpZGUgY29uc3RydWN0b3IgaW5pdGlhbGl6ZXIgbGlzdC4KLQotICBBcmdz
OgotICAgIGNsZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0
aGUgZmlsZS4KLSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgot
ICBSZXR1cm5zOgotICAgIFRydWUgaWYgY3VycmVudCBsaW5lIGFwcGVhcnMgdG8gYmUgaW5zaWRl
IGNvbnN0cnVjdG9yIGluaXRpYWxpemVyCi0gICAgbGlzdCwgRmFsc2Ugb3RoZXJ3aXNlLgotICAi
IiIKLSAgZm9yIGkgaW4geHJhbmdlKGxpbmVudW0sIDEsIC0xKToKLSAgICBsaW5lID0gY2xlYW5f
bGluZXMuZWxpZGVkW2ldCi0gICAgaWYgaSA9PSBsaW5lbnVtOgotICAgICAgcmVtb3ZlX2Z1bmN0
aW9uX2JvZHkgPSBNYXRjaChyJ14oLiopXHtccyokJywgbGluZSkKLSAgICAgIGlmIHJlbW92ZV9m
dW5jdGlvbl9ib2R5OgotICAgICAgICBsaW5lID0gcmVtb3ZlX2Z1bmN0aW9uX2JvZHkuZ3JvdXAo
MSkKLQotICAgIGlmIFNlYXJjaChyJ1xzOlxzKlx3K1soe10nLCBsaW5lKToKLSAgICAgICMgQSBs
b25lIGNvbG9uIHRlbmQgdG8gaW5kaWNhdGUgdGhlIHN0YXJ0IG9mIGEgY29uc3RydWN0b3IKLSAg
ICAgICMgaW5pdGlhbGl6ZXIgbGlzdC4gIEl0IGNvdWxkIGFsc28gYmUgYSB0ZXJuYXJ5IG9wZXJh
dG9yLCB3aGljaAotICAgICAgIyBhbHNvIHRlbmQgdG8gYXBwZWFyIGluIGNvbnN0cnVjdG9yIGlu
aXRpYWxpemVyIGxpc3RzIGFzCi0gICAgICAjIG9wcG9zZWQgdG8gcGFyYW1ldGVyIGxpc3RzLgot
ICAgICAgcmV0dXJuIFRydWUKLSAgICBpZiBTZWFyY2gocidcfVxzKixccyokJywgbGluZSk6Ci0g
ICAgICAjIEEgY2xvc2luZyBicmFjZSBmb2xsb3dlZCBieSBhIGNvbW1hIGlzIHByb2JhYmx5IHRo
ZSBlbmQgb2YgYQotICAgICAgIyBicmFjZS1pbml0aWFsaXplZCBtZW1iZXIgaW4gY29uc3RydWN0
b3IgaW5pdGlhbGl6ZXIgbGlzdC4KLSAgICAgIHJldHVybiBUcnVlCi0gICAgaWYgU2VhcmNoKHIn
W3t9O11ccyokJywgbGluZSk6Ci0gICAgICAjIEZvdW5kIG9uZSBvZiB0aGUgZm9sbG93aW5nOgot
ICAgICAgIyAtIEEgY2xvc2luZyBicmFjZSBvciBzZW1pY29sb24sIHByb2JhYmx5IHRoZSBlbmQg
b2YgdGhlIHByZXZpb3VzCi0gICAgICAjICAgZnVuY3Rpb24uCi0gICAgICAjIC0gQW4gb3Blbmlu
ZyBicmFjZSwgcHJvYmFibHkgdGhlIHN0YXJ0IG9mIGN1cnJlbnQgY2xhc3Mgb3IgbmFtZXNwYWNl
LgotICAgICAgIwotICAgICAgIyBDdXJyZW50IGxpbmUgaXMgcHJvYmFibHkgbm90IGluc2lkZSBh
biBpbml0aWFsaXplciBsaXN0IHNpbmNlCi0gICAgICAjIHdlIHNhdyBvbmUgb2YgdGhvc2UgdGhp
bmdzIHdpdGhvdXQgc2VlaW5nIHRoZSBzdGFydGluZyBjb2xvbi4KLSAgICAgIHJldHVybiBGYWxz
ZQotCi0gICMgR290IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUgd2l0aG91dCBzZWVpbmcg
dGhlIHN0YXJ0IG9mCi0gICMgY29uc3RydWN0b3IgaW5pdGlhbGl6ZXIgbGlzdC4KLSAgcmV0dXJu
IEZhbHNlCi0KLQogZGVmIENoZWNrRm9yTm9uQ29uc3RSZWZlcmVuY2UoZmlsZW5hbWUsIGNsZWFu
X2xpbmVzLCBsaW5lbnVtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVzdGluZ19z
dGF0ZSwgZXJyb3IpOgogICAiIiJDaGVjayBmb3Igbm9uLWNvbnN0IHJlZmVyZW5jZXMuCkBAIC01
MDIxLDcgKzQwMzEsNyBAQCBkZWYgQ2hlY2tGb3JOb25Db25zdFJlZmVyZW5jZShmaWxlbmFtZSwg
Y2xlYW5fbGluZXMsIGxpbmVudW0sCiAgICAgZmlsZW5hbWU6IFRoZSBuYW1lIG9mIHRoZSBjdXJy
ZW50IGZpbGUuCiAgICAgY2xlYW5fbGluZXM6IEEgQ2xlYW5zZWRMaW5lcyBpbnN0YW5jZSBjb250
YWluaW5nIHRoZSBmaWxlLgogICAgIGxpbmVudW06IFRoZSBudW1iZXIgb2YgdGhlIGxpbmUgdG8g
Y2hlY2suCi0gICAgbmVzdGluZ19zdGF0ZTogQSBOZXN0aW5nU3RhdGUgaW5zdGFuY2Ugd2hpY2gg
bWFpbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0CisgICAgbmVzdGluZ19zdGF0ZTogQSBfTmVzdGlu
Z1N0YXRlIGluc3RhbmNlIHdoaWNoIG1haW50YWlucyBpbmZvcm1hdGlvbiBhYm91dAogICAgICAg
ICAgICAgICAgICAgIHRoZSBjdXJyZW50IHN0YWNrIG9mIG5lc3RlZCBibG9ja3MgYmVpbmcgcGFy
c2VkLgogICAgIGVycm9yOiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91
bmQuCiAgICIiIgpAQCAtNTAzMCwxNyArNDA0MCw2IEBAIGRlZiBDaGVja0Zvck5vbkNvbnN0UmVm
ZXJlbmNlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwKICAgaWYgJyYnIG5vdCBpbiBs
aW5lOgogICAgIHJldHVybgogCi0gICMgSWYgYSBmdW5jdGlvbiBpcyBpbmhlcml0ZWQsIGN1cnJl
bnQgZnVuY3Rpb24gZG9lc24ndCBoYXZlIG11Y2ggb2YKLSAgIyBhIGNob2ljZSwgc28gYW55IG5v
bi1jb25zdCByZWZlcmVuY2VzIHNob3VsZCBub3QgYmUgYmxhbWVkIG9uCi0gICMgZGVyaXZlZCBm
dW5jdGlvbi4KLSAgaWYgSXNEZXJpdmVkRnVuY3Rpb24oY2xlYW5fbGluZXMsIGxpbmVudW0pOgot
ICAgIHJldHVybgotCi0gICMgRG9uJ3Qgd2FybiBvbiBvdXQtb2YtbGluZSBtZXRob2QgZGVmaW5p
dGlvbnMsIGFzIHdlIHdvdWxkIHdhcm4gb24gdGhlCi0gICMgaW4tbGluZSBkZWNsYXJhdGlvbiwg
aWYgaXQgaXNuJ3QgbWFya2VkIHdpdGggJ292ZXJyaWRlJy4KLSAgaWYgSXNPdXRPZkxpbmVNZXRo
b2REZWZpbml0aW9uKGNsZWFuX2xpbmVzLCBsaW5lbnVtKToKLSAgICByZXR1cm4KLQogICAjIExv
bmcgdHlwZSBuYW1lcyBtYXkgYmUgYnJva2VuIGFjcm9zcyBtdWx0aXBsZSBsaW5lcywgdXN1YWxs
eSBpbiBvbmUKICAgIyBvZiB0aGVzZSBmb3JtczoKICAgIyAgIExvbmdUeXBlCkBAIC01MDg5LDE5
MiArNDA4OCw2MCBAQCBkZWYgQ2hlY2tGb3JOb25Db25zdFJlZmVyZW5jZShmaWxlbmFtZSwgY2xl
YW5fbGluZXMsIGxpbmVudW0sCiAgICMgICBpbnNpZGUgZGVjbGFyYXRvcnM6IHJlZmVyZW5jZSBw
YXJhbWV0ZXIKICAgIyBXZSB3aWxsIGV4Y2x1ZGUgdGhlIGZpcnN0IHR3byBjYXNlcyBieSBjaGVj
a2luZyB0aGF0IHdlIGFyZSBub3QgaW5zaWRlIGEKICAgIyBmdW5jdGlvbiBib2R5LCBpbmNsdWRp
bmcgb25lIHRoYXQgd2FzIGp1c3QgaW50cm9kdWNlZCBieSBhIHRyYWlsaW5nICd7Jy4KKyAgIyBU
T0RPKHVua253b24pOiBEb2Vzbid0IGFjY291bnQgZm9yIHByZXByb2Nlc3NvciBkaXJlY3RpdmVz
LgogICAjIFRPRE8odW5rbm93bik6IERvZXNuJ3QgYWNjb3VudCBmb3IgJ2NhdGNoKEV4Y2VwdGlv
biYgZSknIFtyYXJlXS4KLSAgaWYgKG5lc3Rpbmdfc3RhdGUucHJldmlvdXNfc3RhY2tfdG9wIGFu
ZAotICAgICAgbm90IChpc2luc3RhbmNlKG5lc3Rpbmdfc3RhdGUucHJldmlvdXNfc3RhY2tfdG9w
LCBfQ2xhc3NJbmZvKSBvcgotICAgICAgICAgICBpc2luc3RhbmNlKG5lc3Rpbmdfc3RhdGUucHJl
dmlvdXNfc3RhY2tfdG9wLCBfTmFtZXNwYWNlSW5mbykpKToKLSAgICAjIE5vdCBhdCB0b3BsZXZl
bCwgbm90IHdpdGhpbiBhIGNsYXNzLCBhbmQgbm90IHdpdGhpbiBhIG5hbWVzcGFjZQotICAgIHJl
dHVybgotCi0gICMgQXZvaWQgaW5pdGlhbGl6ZXIgbGlzdHMuICBXZSBvbmx5IG5lZWQgdG8gc2Nh
biBiYWNrIGZyb20gdGhlCi0gICMgY3VycmVudCBsaW5lIGZvciBzb21ldGhpbmcgdGhhdCBzdGFy
dHMgd2l0aCAnOicuCi0gICMKLSAgIyBXZSBkb24ndCBuZWVkIHRvIGNoZWNrIHRoZSBjdXJyZW50
IGxpbmUsIHNpbmNlIHRoZSAnJicgd291bGQKLSAgIyBhcHBlYXIgaW5zaWRlIHRoZSBzZWNvbmQg
c2V0IG9mIHBhcmVudGhlc2VzIG9uIHRoZSBjdXJyZW50IGxpbmUgYXMKLSAgIyBvcHBvc2VkIHRv
IHRoZSBmaXJzdCBzZXQuCi0gIGlmIGxpbmVudW0gPiAwOgotICAgIGZvciBpIGluIHhyYW5nZShs
aW5lbnVtIC0gMSwgbWF4KDAsIGxpbmVudW0gLSAxMCksIC0xKToKLSAgICAgIHByZXZpb3VzX2xp
bmUgPSBjbGVhbl9saW5lcy5lbGlkZWRbaV0KLSAgICAgIGlmIG5vdCBTZWFyY2gocidbKSxdXHMq
JCcsIHByZXZpb3VzX2xpbmUpOgotICAgICAgICBicmVhawotICAgICAgaWYgTWF0Y2gocideXHMq
OlxzK1xTJywgcHJldmlvdXNfbGluZSk6Ci0gICAgICAgIHJldHVybgotCi0gICMgQXZvaWQgcHJl
cHJvY2Vzc29ycwotICBpZiBTZWFyY2gocidcXFxzKiQnLCBsaW5lKToKLSAgICByZXR1cm4KLQot
ICAjIEF2b2lkIGNvbnN0cnVjdG9yIGluaXRpYWxpemVyIGxpc3RzCi0gIGlmIElzSW5pdGlhbGl6
ZXJMaXN0KGNsZWFuX2xpbmVzLCBsaW5lbnVtKToKLSAgICByZXR1cm4KLQorICBjaGVja19wYXJh
bXMgPSBGYWxzZQorICBpZiBub3QgbmVzdGluZ19zdGF0ZS5zdGFjazoKKyAgICBjaGVja19wYXJh
bXMgPSBUcnVlICAjIHRvcCBsZXZlbAorICBlbGlmIChpc2luc3RhbmNlKG5lc3Rpbmdfc3RhdGUu
c3RhY2tbLTFdLCBfQ2xhc3NJbmZvKSBvcgorICAgICAgICBpc2luc3RhbmNlKG5lc3Rpbmdfc3Rh
dGUuc3RhY2tbLTFdLCBfTmFtZXNwYWNlSW5mbykpOgorICAgIGNoZWNrX3BhcmFtcyA9IFRydWUg
ICMgd2l0aGluIGNsYXNzIG9yIG5hbWVzcGFjZQorICBlbGlmIE1hdGNoKHInLip7XHMqJCcsIGxp
bmUpOgorICAgIGlmIChsZW4obmVzdGluZ19zdGF0ZS5zdGFjaykgPT0gMSBvcgorICAgICAgICBp
c2luc3RhbmNlKG5lc3Rpbmdfc3RhdGUuc3RhY2tbLTJdLCBfQ2xhc3NJbmZvKSBvcgorICAgICAg
ICBpc2luc3RhbmNlKG5lc3Rpbmdfc3RhdGUuc3RhY2tbLTJdLCBfTmFtZXNwYWNlSW5mbykpOgor
ICAgICAgY2hlY2tfcGFyYW1zID0gVHJ1ZSAgIyBqdXN0IG9wZW5lZCBnbG9iYWwvY2xhc3MvbmFt
ZXNwYWNlIGJsb2NrCiAgICMgV2UgYWxsb3cgbm9uLWNvbnN0IHJlZmVyZW5jZXMgaW4gYSBmZXcg
c3RhbmRhcmQgcGxhY2VzLCBsaWtlIGZ1bmN0aW9ucwogICAjIGNhbGxlZCAic3dhcCgpIiBvciBp
b3N0cmVhbSBvcGVyYXRvcnMgbGlrZSAiPDwiIG9yICI+PiIuICBEbyBub3QgY2hlY2sKICAgIyB0
aG9zZSBmdW5jdGlvbiBwYXJhbWV0ZXJzLgogICAjCiAgICMgV2UgYWxzbyBhY2NlcHQgJiBpbiBz
dGF0aWNfYXNzZXJ0LCB3aGljaCBsb29rcyBsaWtlIGEgZnVuY3Rpb24gYnV0CiAgICMgaXQncyBh
Y3R1YWxseSBhIGRlY2xhcmF0aW9uIGV4cHJlc3Npb24uCi0gIGFsbG93ZWRfZnVuY3Rpb25zID0g
KHInKD86W3NTXXdhcCg/OjxcdzorPik/fCcKKyAgd2hpdGVsaXN0ZWRfZnVuY3Rpb25zID0gKHIn
KD86W3NTXXdhcCg/OjxcdzorPik/fCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInb3Bl
cmF0b3JccypbPD5dWzw+XXwnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ3N0YXRpY19h
c3NlcnR8Q09NUElMRV9BU1NFUlQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByJylccypc
KCcpCi0gIGlmIFNlYXJjaChhbGxvd2VkX2Z1bmN0aW9ucywgbGluZSk6Ci0gICAgcmV0dXJuCisg
IGlmIFNlYXJjaCh3aGl0ZWxpc3RlZF9mdW5jdGlvbnMsIGxpbmUpOgorICAgIGNoZWNrX3BhcmFt
cyA9IEZhbHNlCiAgIGVsaWYgbm90IFNlYXJjaChyJ1xTK1woW14pXSokJywgbGluZSk6Ci0gICAg
IyBEb24ndCBzZWUgYW4gYWxsb3dlZCBmdW5jdGlvbiBvbiB0aGlzIGxpbmUuICBBY3R1YWxseSB3
ZQorICAgICMgRG9uJ3Qgc2VlIGEgd2hpdGVsaXN0ZWQgZnVuY3Rpb24gb24gdGhpcyBsaW5lLiAg
QWN0dWFsbHkgd2UKICAgICAjIGRpZG4ndCBzZWUgYW55IGZ1bmN0aW9uIG5hbWUgb24gdGhpcyBs
aW5lLCBzbyB0aGlzIGlzIGxpa2VseSBhCiAgICAgIyBtdWx0aS1saW5lIHBhcmFtZXRlciBsaXN0
LiAgVHJ5IGEgYml0IGhhcmRlciB0byBjYXRjaCB0aGlzIGNhc2UuCiAgICAgZm9yIGkgaW4geHJh
bmdlKDIpOgogICAgICAgaWYgKGxpbmVudW0gPiBpIGFuZAotICAgICAgICAgIFNlYXJjaChhbGxv
d2VkX2Z1bmN0aW9ucywgY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW0gLSBpIC0gMV0pKToKLSAg
ICAgICAgcmV0dXJuCi0KLSAgZGVjbHMgPSBSZXBsYWNlQWxsKHIne1tefV0qfScsICcgJywgbGlu
ZSkgICMgZXhjbHVkZSBmdW5jdGlvbiBib2R5Ci0gIGZvciBwYXJhbWV0ZXIgaW4gcmUuZmluZGFs
bChfUkVfUEFUVEVSTl9SRUZfUEFSQU0sIGRlY2xzKToKLSAgICBpZiAobm90IE1hdGNoKF9SRV9Q
QVRURVJOX0NPTlNUX1JFRl9QQVJBTSwgcGFyYW1ldGVyKSBhbmQKLSAgICAgICAgbm90IE1hdGNo
KF9SRV9QQVRURVJOX1JFRl9TVFJFQU1fUEFSQU0sIHBhcmFtZXRlcikpOgotICAgICAgZXJyb3Io
ZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1lL3JlZmVyZW5jZXMnLCAyLAotICAgICAgICAgICAg
J0lzIHRoaXMgYSBub24tY29uc3QgcmVmZXJlbmNlPyAnCi0gICAgICAgICAgICAnSWYgc28sIG1h
a2UgY29uc3Qgb3IgdXNlIGEgcG9pbnRlcjogJyArCi0gICAgICAgICAgICBSZXBsYWNlQWxsKCcg
KjwnLCAnPCcsIHBhcmFtZXRlcikpCi0KLQotZGVmIENoZWNrQ2FzdHMoZmlsZW5hbWUsIGNsZWFu
X2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6Ci0gICIiIlZhcmlvdXMgY2FzdCByZWxhdGVkIGNoZWNr
cy4KLQotICBBcmdzOgotICAgIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxl
LgotICAgIGNsZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0
aGUgZmlsZS4KLSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgot
ICAgIGVycm9yOiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCi0g
ICIiIgotICBsaW5lID0gY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW1dCi0KLSAgIyBDaGVjayB0
byBzZWUgaWYgdGhleSdyZSB1c2luZyBhbiBjb252ZXJzaW9uIGZ1bmN0aW9uIGNhc3QuCi0gICMg
SSBqdXN0IHRyeSB0byBjYXB0dXJlIHRoZSBtb3N0IGNvbW1vbiBiYXNpYyB0eXBlcywgdGhvdWdo
IHRoZXJlIGFyZSBtb3JlLgotICAjIFBhcmFtZXRlcmxlc3MgY29udmVyc2lvbiBmdW5jdGlvbnMs
IHN1Y2ggYXMgYm9vbCgpLCBhcmUgYWxsb3dlZCBhcyB0aGV5IGFyZQotICAjIHByb2JhYmx5IGEg
bWVtYmVyIG9wZXJhdG9yIGRlY2xhcmF0aW9uIG9yIGRlZmF1bHQgY29uc3RydWN0b3IuCi0gIG1h
dGNoID0gU2VhcmNoKAotICAgICAgcicoXGJuZXdccysoPzpjb25zdFxzKyk/fFxTPFxzKig/OmNv
bnN0XHMrKT8pP1xiJwotICAgICAgcicoaW50fGZsb2F0fGRvdWJsZXxib29sfGNoYXJ8aW50MzJ8
dWludDMyfGludDY0fHVpbnQ2NCknCi0gICAgICByJyhcKFteKV0uKiknLCBsaW5lKQotICBleHBl
Y3RpbmdfZnVuY3Rpb24gPSBFeHBlY3RpbmdGdW5jdGlvbkFyZ3MoY2xlYW5fbGluZXMsIGxpbmVu
dW0pCi0gIGlmIG1hdGNoIGFuZCBub3QgZXhwZWN0aW5nX2Z1bmN0aW9uOgotICAgIG1hdGNoZWRf
dHlwZSA9IG1hdGNoLmdyb3VwKDIpCi0KLSAgICAjIG1hdGNoZWRfbmV3X29yX3RlbXBsYXRlIGlz
IHVzZWQgdG8gc2lsZW5jZSB0d28gZmFsc2UgcG9zaXRpdmVzOgotICAgICMgLSBOZXcgb3BlcmF0
b3JzCi0gICAgIyAtIFRlbXBsYXRlIGFyZ3VtZW50cyB3aXRoIGZ1bmN0aW9uIHR5cGVzCi0gICAg
IwotICAgICMgRm9yIHRlbXBsYXRlIGFyZ3VtZW50cywgd2UgbWF0Y2ggb24gdHlwZXMgaW1tZWRp
YXRlbHkgZm9sbG93aW5nCi0gICAgIyBhbiBvcGVuaW5nIGJyYWNrZXQgd2l0aG91dCBhbnkgc3Bh
Y2VzLiAgVGhpcyBpcyBhIGZhc3Qgd2F5IHRvCi0gICAgIyBzaWxlbmNlIHRoZSBjb21tb24gY2Fz
ZSB3aGVyZSB0aGUgZnVuY3Rpb24gdHlwZSBpcyB0aGUgZmlyc3QKLSAgICAjIHRlbXBsYXRlIGFy
Z3VtZW50LiAgRmFsc2UgbmVnYXRpdmUgd2l0aCBsZXNzLXRoYW4gY29tcGFyaXNvbiBpcwotICAg
ICMgYXZvaWRlZCBiZWNhdXNlIHRob3NlIG9wZXJhdG9ycyBhcmUgdXN1YWxseSBmb2xsb3dlZCBi
eSBhIHNwYWNlLgotICAgICMKLSAgICAjICAgZnVuY3Rpb248ZG91YmxlKGRvdWJsZSk+ICAgLy8g
YnJhY2tldCArIG5vIHNwYWNlID0gZmFsc2UgcG9zaXRpdmUKLSAgICAjICAgdmFsdWUgPCBkb3Vi
bGUoNDIpICAgICAgICAgLy8gYnJhY2tldCArIHNwYWNlID0gdHJ1ZSBwb3NpdGl2ZQotICAgIG1h
dGNoZWRfbmV3X29yX3RlbXBsYXRlID0gbWF0Y2guZ3JvdXAoMSkKLQotICAgICMgQXZvaWQgYXJy
YXlzIGJ5IGxvb2tpbmcgZm9yIGJyYWNrZXRzIHRoYXQgY29tZSBhZnRlciB0aGUgY2xvc2luZwot
ICAgICMgcGFyZW50aGVzaXMuCi0gICAgaWYgTWF0Y2gocidcKFteKCldK1wpXHMqXFsnLCBtYXRj
aC5ncm91cCgzKSk6Ci0gICAgICByZXR1cm4KLQotICAgICMgT3RoZXIgdGhpbmdzIHRvIGlnbm9y
ZToKLSAgICAjIC0gRnVuY3Rpb24gcG9pbnRlcnMKLSAgICAjIC0gQ2FzdHMgdG8gcG9pbnRlciB0
eXBlcwotICAgICMgLSBQbGFjZW1lbnQgbmV3Ci0gICAgIyAtIEFsaWFzIGRlY2xhcmF0aW9ucwot
ICAgIG1hdGNoZWRfZnVuY3B0ciA9IG1hdGNoLmdyb3VwKDMpCi0gICAgaWYgKG1hdGNoZWRfbmV3
X29yX3RlbXBsYXRlIGlzIE5vbmUgYW5kCi0gICAgICAgIG5vdCAobWF0Y2hlZF9mdW5jcHRyIGFu
ZAotICAgICAgICAgICAgIChNYXRjaChyJ1woKD86W14oKSBdKzo6XHMqXCpccyopP1teKCkgXStc
KVxzKlwoJywKLSAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZF9mdW5jcHRyKSBvcgotICAgICAg
ICAgICAgICBtYXRjaGVkX2Z1bmNwdHIuc3RhcnRzd2l0aCgnKCopJykpKSBhbmQKLSAgICAgICAg
bm90IE1hdGNoKHInXHMqdXNpbmdccytcUytccyo9XHMqJyArIG1hdGNoZWRfdHlwZSwgbGluZSkg
YW5kCi0gICAgICAgIG5vdCBTZWFyY2gociduZXdcKFxTK1wpXHMqJyArIG1hdGNoZWRfdHlwZSwg
bGluZSkpOgotICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdyZWFkYWJpbGl0eS9jYXN0
aW5nJywgNCwKLSAgICAgICAgICAgICdVc2luZyBkZXByZWNhdGVkIGNhc3Rpbmcgc3R5bGUuICAn
Ci0gICAgICAgICAgICAnVXNlIHN0YXRpY19jYXN0PCVzPiguLi4pIGluc3RlYWQnICUKLSAgICAg
ICAgICAgIG1hdGNoZWRfdHlwZSkKLQotICBpZiBub3QgZXhwZWN0aW5nX2Z1bmN0aW9uOgotICAg
IENoZWNrQ1N0eWxlQ2FzdChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sICdzdGF0aWNf
Y2FzdCcsCi0gICAgICAgICAgICAgICAgICAgIHInXCgoaW50fGZsb2F0fGRvdWJsZXxib29sfGNo
YXJ8dT9pbnQoMTZ8MzJ8NjQpKVwpJywgZXJyb3IpCi0KLSAgIyBUaGlzIGRvZXNuJ3QgY2F0Y2gg
YWxsIGNhc2VzLiBDb25zaWRlciAoY29uc3QgY2hhciAqIGNvbnN0KSJoZWxsbyIuCi0gICMKLSAg
IyAoY2hhciAqKSAiZm9vIiBzaG91bGQgYWx3YXlzIGJlIGEgY29uc3RfY2FzdCAocmVpbnRlcnBy
ZXRfY2FzdCB3b24ndAotICAjIGNvbXBpbGUpLgotICBpZiBDaGVja0NTdHlsZUNhc3QoZmlsZW5h
bWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCAnY29uc3RfY2FzdCcsCi0gICAgICAgICAgICAgICAg
ICAgICByJ1woKGNoYXJccz9cKitccz8pXClccyoiJywgZXJyb3IpOgotICAgIHBhc3MKLSAgZWxz
ZToKLSAgICAjIENoZWNrIHBvaW50ZXIgY2FzdHMgZm9yIG90aGVyIHRoYW4gc3RyaW5nIGNvbnN0
YW50cwotICAgIENoZWNrQ1N0eWxlQ2FzdChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0s
ICdyZWludGVycHJldF9jYXN0JywKLSAgICAgICAgICAgICAgICAgICAgcidcKChcdytccz9cKitc
cz8pXCknLCBlcnJvcikKKyAgICAgICAgICBTZWFyY2god2hpdGVsaXN0ZWRfZnVuY3Rpb25zLCBj
bGVhbl9saW5lcy5lbGlkZWRbbGluZW51bSAtIGkgLSAxXSkpOgorICAgICAgICBjaGVja19wYXJh
bXMgPSBGYWxzZQorICAgICAgICBicmVhawogCi0gICMgSW4gYWRkaXRpb24sIHdlIGxvb2sgZm9y
IHBlb3BsZSB0YWtpbmcgdGhlIGFkZHJlc3Mgb2YgYSBjYXN0LiAgVGhpcwotICAjIGlzIGRhbmdl
cm91cyAtLSBjYXN0cyBjYW4gYXNzaWduIHRvIHRlbXBvcmFyaWVzLCBzbyB0aGUgcG9pbnRlciBk
b2Vzbid0Ci0gICMgcG9pbnQgd2hlcmUgeW91IHRoaW5rLgotICAjCi0gICMgU29tZSBub24taWRl
bnRpZmllciBjaGFyYWN0ZXIgaXMgcmVxdWlyZWQgYmVmb3JlIHRoZSAnJicgZm9yIHRoZQotICAj
IGV4cHJlc3Npb24gdG8gYmUgcmVjb2duaXplZCBhcyBhIGNhc3QuICBUaGVzZSBhcmUgY2FzdHM6
Ci0gICMgICBleHByZXNzaW9uID0gJnN0YXRpY19jYXN0PGludCo+KHRlbXBvcmFyeSgpKTsKLSAg
IyAgIGZ1bmN0aW9uKCYoaW50KikodGVtcG9yYXJ5KCkpKTsKLSAgIwotICAjIFRoaXMgaXMgbm90
IGEgY2FzdDoKLSAgIyAgIHJlZmVyZW5jZV90eXBlJihpbnQqIGZ1bmN0aW9uX3BhcmFtKTsKLSAg
bWF0Y2ggPSBTZWFyY2goCi0gICAgICByJyg/OlteXHddJlwoKFteKSpdW14pXSopXClbXHcoXSl8
JwotICAgICAgcicoPzpbXlx3XSYoc3RhdGljfGR5bmFtaWN8ZG93bnxyZWludGVycHJldClfY2Fz
dFxiKScsIGxpbmUpCi0gIGlmIG1hdGNoOgotICAgICMgVHJ5IGEgYmV0dGVyIGVycm9yIG1lc3Nh
Z2Ugd2hlbiB0aGUgJiBpcyBib3VuZCB0byBzb21ldGhpbmcKLSAgICAjIGRlcmVmZXJlbmNlZCBi
eSB0aGUgY2FzdGVkIHBvaW50ZXIsIGFzIG9wcG9zZWQgdG8gdGhlIGNhc3RlZAotICAgICMgcG9p
bnRlciBpdHNlbGYuCi0gICAgcGFyZW50aGVzaXNfZXJyb3IgPSBGYWxzZQotICAgIG1hdGNoID0g
TWF0Y2gocideKC4qJig/OnN0YXRpY3xkeW5hbWljfGRvd258cmVpbnRlcnByZXQpX2Nhc3RcYik8
JywgbGluZSkKLSAgICBpZiBtYXRjaDoKLSAgICAgIF8sIHkxLCB4MSA9IENsb3NlRXhwcmVzc2lv
bihjbGVhbl9saW5lcywgbGluZW51bSwgbGVuKG1hdGNoLmdyb3VwKDEpKSkKLSAgICAgIGlmIHgx
ID49IDAgYW5kIGNsZWFuX2xpbmVzLmVsaWRlZFt5MV1beDFdID09ICcoJzoKLSAgICAgICAgXywg
eTIsIHgyID0gQ2xvc2VFeHByZXNzaW9uKGNsZWFuX2xpbmVzLCB5MSwgeDEpCi0gICAgICAgIGlm
IHgyID49IDA6Ci0gICAgICAgICAgZXh0ZW5kZWRfbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFt5
Ml1beDI6XQotICAgICAgICAgIGlmIHkyIDwgY2xlYW5fbGluZXMuTnVtTGluZXMoKSAtIDE6Ci0g
ICAgICAgICAgICBleHRlbmRlZF9saW5lICs9IGNsZWFuX2xpbmVzLmVsaWRlZFt5MiArIDFdCi0g
ICAgICAgICAgaWYgTWF0Y2gocidccyooPzotPnxcWyknLCBleHRlbmRlZF9saW5lKToKLSAgICAg
ICAgICAgIHBhcmVudGhlc2lzX2Vycm9yID0gVHJ1ZQotCi0gICAgaWYgcGFyZW50aGVzaXNfZXJy
b3I6Ci0gICAgICBlcnJvcihmaWxlbmFtZSwgbGluZW51bSwgJ3JlYWRhYmlsaXR5L2Nhc3Rpbmcn
LCA0LAotICAgICAgICAgICAgKCdBcmUgeW91IHRha2luZyBhbiBhZGRyZXNzIG9mIHNvbWV0aGlu
ZyBkZXJlZmVyZW5jZWQgJwotICAgICAgICAgICAgICdmcm9tIGEgY2FzdD8gIFdyYXBwaW5nIHRo
ZSBkZXJlZmVyZW5jZWQgZXhwcmVzc2lvbiBpbiAnCi0gICAgICAgICAgICAgJ3BhcmVudGhlc2Vz
IHdpbGwgbWFrZSB0aGUgYmluZGluZyBtb3JlIG9idmlvdXMnKSkKLSAgICBlbHNlOgotICAgICAg
ZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1lL2Nhc3RpbmcnLCA0LAotICAgICAgICAg
ICAgKCdBcmUgeW91IHRha2luZyBhbiBhZGRyZXNzIG9mIGEgY2FzdD8gICcKLSAgICAgICAgICAg
ICAnVGhpcyBpcyBkYW5nZXJvdXM6IGNvdWxkIGJlIGEgdGVtcCB2YXIuICAnCi0gICAgICAgICAg
ICAgJ1Rha2UgdGhlIGFkZHJlc3MgYmVmb3JlIGRvaW5nIHRoZSBjYXN0LCByYXRoZXIgdGhhbiBh
ZnRlcicpKQorICBpZiBjaGVja19wYXJhbXM6CisgICAgZGVjbHMgPSBSZXBsYWNlQWxsKHIne1te
fV0qfScsICcgJywgbGluZSkgICMgZXhjbHVkZSBmdW5jdGlvbiBib2R5CisgICAgZm9yIHBhcmFt
ZXRlciBpbiByZS5maW5kYWxsKF9SRV9QQVRURVJOX1JFRl9QQVJBTSwgZGVjbHMpOgorICAgICAg
aWYgbm90IE1hdGNoKF9SRV9QQVRURVJOX0NPTlNUX1JFRl9QQVJBTSwgcGFyYW1ldGVyKToKKyAg
ICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1lL3JlZmVyZW5jZXMnLCAyLAor
ICAgICAgICAgICAgICAnSXMgdGhpcyBhIG5vbi1jb25zdCByZWZlcmVuY2U/ICcKKyAgICAgICAg
ICAgICAgJ0lmIHNvLCBtYWtlIGNvbnN0IG9yIHVzZSBhIHBvaW50ZXI6ICcgKworICAgICAgICAg
ICAgICBSZXBsYWNlQWxsKCcgKjwnLCAnPCcsIHBhcmFtZXRlcikpCiAKIAotZGVmIENoZWNrQ1N0
eWxlQ2FzdChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGNhc3RfdHlwZSwgcGF0dGVy
biwgZXJyb3IpOgorZGVmIENoZWNrQ1N0eWxlQ2FzdChmaWxlbmFtZSwgbGluZW51bSwgbGluZSwg
cmF3X2xpbmUsIGNhc3RfdHlwZSwgcGF0dGVybiwKKyAgICAgICAgICAgICAgICAgICAgZXJyb3Ip
OgogICAiIiJDaGVja3MgZm9yIGEgQy1zdHlsZSBjYXN0IGJ5IGxvb2tpbmcgZm9yIHRoZSBwYXR0
ZXJuLgogCiAgIEFyZ3M6CiAgICAgZmlsZW5hbWU6IFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZp
bGUuCi0gICAgY2xlYW5fbGluZXM6IEEgQ2xlYW5zZWRMaW5lcyBpbnN0YW5jZSBjb250YWluaW5n
IHRoZSBmaWxlLgogICAgIGxpbmVudW06IFRoZSBudW1iZXIgb2YgdGhlIGxpbmUgdG8gY2hlY2su
CisgICAgbGluZTogVGhlIGxpbmUgb2YgY29kZSB0byBjaGVjay4KKyAgICByYXdfbGluZTogVGhl
IHJhdyBsaW5lIG9mIGNvZGUgdG8gY2hlY2ssIHdpdGggY29tbWVudHMuCiAgICAgY2FzdF90eXBl
OiBUaGUgc3RyaW5nIGZvciB0aGUgQysrIGNhc3QgdG8gcmVjb21tZW5kLiAgVGhpcyBpcyBlaXRo
ZXIKICAgICAgIHJlaW50ZXJwcmV0X2Nhc3QsIHN0YXRpY19jYXN0LCBvciBjb25zdF9jYXN0LCBk
ZXBlbmRpbmcuCiAgICAgcGF0dGVybjogVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB1c2VkIHRvIGZp
bmQgQy1zdHlsZSBjYXN0cy4KQEAgLTUyODQsMzQgKzQxNTEsNzUgQEAgZGVmIENoZWNrQ1N0eWxl
Q2FzdChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVudW0sIGNhc3RfdHlwZSwgcGF0dGVybiwg
ZXJyb3IpOgogICAgIFRydWUgaWYgYW4gZXJyb3Igd2FzIGVtaXR0ZWQuCiAgICAgRmFsc2Ugb3Ro
ZXJ3aXNlLgogICAiIiIKLSAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtXQogICBt
YXRjaCA9IFNlYXJjaChwYXR0ZXJuLCBsaW5lKQogICBpZiBub3QgbWF0Y2g6CiAgICAgcmV0dXJu
IEZhbHNlCiAKLSAgIyBFeGNsdWRlIGxpbmVzIHdpdGgga2V5d29yZHMgdGhhdCB0ZW5kIHRvIGxv
b2sgbGlrZSBjYXN0cwotICBjb250ZXh0ID0gbGluZVswOm1hdGNoLnN0YXJ0KDEpIC0gMV0KLSAg
aWYgTWF0Y2gocicuKlxiKD86c2l6ZW9mfGFsaWdub2Z8YWxpZ25hc3xbX0EtWl1bX0EtWjAtOV0q
KVxzKiQnLCBjb250ZXh0KToKLSAgICByZXR1cm4gRmFsc2UKLQotICAjIFRyeSBleHBhbmRpbmcg
Y3VycmVudCBjb250ZXh0IHRvIHNlZSBpZiB3ZSBvbmUgbGV2ZWwgb2YKLSAgIyBwYXJlbnRoZXNl
cyBpbnNpZGUgYSBtYWNyby4KLSAgaWYgbGluZW51bSA+IDA6Ci0gICAgZm9yIGkgaW4geHJhbmdl
KGxpbmVudW0gLSAxLCBtYXgoMCwgbGluZW51bSAtIDUpLCAtMSk6Ci0gICAgICBjb250ZXh0ID0g
Y2xlYW5fbGluZXMuZWxpZGVkW2ldICsgY29udGV4dAotICBpZiBNYXRjaChyJy4qXGJbX0EtWl1b
X0EtWjAtOV0qXHMqXCgoPzpcKFteKCldKlwpfFteKCldKSokJywgY29udGV4dCk6Ci0gICAgcmV0
dXJuIEZhbHNlCisgICMgZS5nLiwgc2l6ZW9mKGludCkKKyAgc2l6ZW9mX21hdGNoID0gTWF0Y2go
cicuKnNpemVvZlxzKiQnLCBsaW5lWzA6bWF0Y2guc3RhcnQoMSkgLSAxXSkKKyAgaWYgc2l6ZW9m
X21hdGNoOgorICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncnVudGltZS9zaXplb2YnLCAx
LAorICAgICAgICAgICdVc2luZyBzaXplb2YodHlwZSkuICBVc2Ugc2l6ZW9mKHZhcm5hbWUpIGlu
c3RlYWQgaWYgcG9zc2libGUnKQorICAgIHJldHVybiBUcnVlCiAKICAgIyBvcGVyYXRvcisrKGlu
dCkgYW5kIG9wZXJhdG9yLS0oaW50KQotICBpZiBjb250ZXh0LmVuZHN3aXRoKCcgb3BlcmF0b3Ir
KycpIG9yIGNvbnRleHQuZW5kc3dpdGgoJyBvcGVyYXRvci0tJyk6CisgIGlmIChsaW5lWzA6bWF0
Y2guc3RhcnQoMSkgLSAxXS5lbmRzd2l0aCgnIG9wZXJhdG9yKysnKSBvcgorICAgICAgbGluZVsw
Om1hdGNoLnN0YXJ0KDEpIC0gMV0uZW5kc3dpdGgoJyBvcGVyYXRvci0tJykpOgogICAgIHJldHVy
biBGYWxzZQogCi0gICMgQSBzaW5nbGUgdW5uYW1lZCBhcmd1bWVudCBmb3IgYSBmdW5jdGlvbiB0
ZW5kcyB0byBsb29rIGxpa2Ugb2xkIHN0eWxlIGNhc3QuCi0gICMgSWYgd2Ugc2VlIHRob3NlLCBk
b24ndCBpc3N1ZSB3YXJuaW5ncyBmb3IgZGVwcmVjYXRlZCBjYXN0cy4KKyAgIyBBIHNpbmdsZSB1
bm5hbWVkIGFyZ3VtZW50IGZvciBhIGZ1bmN0aW9uIHRlbmRzIHRvIGxvb2sgbGlrZSBvbGQKKyAg
IyBzdHlsZSBjYXN0LiAgSWYgd2Ugc2VlIHRob3NlLCBkb24ndCBpc3N1ZSB3YXJuaW5ncyBmb3Ig
ZGVwcmVjYXRlZAorICAjIGNhc3RzLCBpbnN0ZWFkIGlzc3VlIHdhcm5pbmdzIGZvciB1bm5hbWVk
IGFyZ3VtZW50cyB3aGVyZQorICAjIGFwcHJvcHJpYXRlLgorICAjCisgICMgVGhlc2UgYXJlIHRo
aW5ncyB0aGF0IHdlIHdhbnQgd2FybmluZ3MgZm9yLCBzaW5jZSB0aGUgc3R5bGUgZ3VpZGUKKyAg
IyBleHBsaWNpdGx5IHJlcXVpcmUgYWxsIHBhcmFtZXRlcnMgdG8gYmUgbmFtZWQ6CisgICMgICBG
dW5jdGlvbihpbnQpOworICAjICAgRnVuY3Rpb24oaW50KSB7CisgICMgICBDb25zdE1lbWJlcihp
bnQpIGNvbnN0OworICAjICAgQ29uc3RNZW1iZXIoaW50KSBjb25zdCB7CisgICMgICBFeGNlcHRp
b25NZW1iZXIoaW50KSB0aHJvdyAoLi4uKTsKKyAgIyAgIEV4Y2VwdGlvbk1lbWJlcihpbnQpIHRo
cm93ICguLi4pIHsKKyAgIyAgIFB1cmVWaXJ0dWFsKGludCkgPSAwOworICAjCisgICMgVGhlc2Ug
YXJlIGZ1bmN0aW9ucyBvZiBzb21lIHNvcnQsIHdoZXJlIHRoZSBjb21waWxlciB3b3VsZCBiZSBm
aW5lCisgICMgaWYgdGhleSBoYWQgbmFtZWQgcGFyYW1ldGVycywgYnV0IHBlb3BsZSBvZnRlbiBv
bWl0IHRob3NlCisgICMgaWRlbnRpZmllcnMgdG8gcmVkdWNlIGNsdXR0ZXI6CisgICMgICAoRnVu
Y3Rpb25Qb2ludGVyKShpbnQpOworICAjICAgKEZ1bmN0aW9uUG9pbnRlcikoaW50KSA9IHZhbHVl
OworICAjICAgRnVuY3Rpb24oKGZ1bmN0aW9uX3BvaW50ZXJfYXJnKShpbnQpKQorICAjICAgPFRl
bXBsYXRlQXJndW1lbnQoaW50KT47CisgICMgICA8KEZ1bmN0aW9uUG9pbnRlclRlbXBsYXRlQXJn
dW1lbnQpKGludCk+OwogICByZW1haW5kZXIgPSBsaW5lW21hdGNoLmVuZCgwKTpdCi0gIGlmIE1h
dGNoKHInXlxzKig/Ojt8Y29uc3RcYnx0aHJvd1xifGZpbmFsXGJ8b3ZlcnJpZGVcYnxbPT57KSxd
fC0+KScsCi0gICAgICAgICAgIHJlbWFpbmRlcik6Ci0gICAgcmV0dXJuIEZhbHNlCisgIGlmIE1h
dGNoKHInXlxzKig/Ojt8Y29uc3RcYnx0aHJvd1xifD18Pnxce3xcKSknLCByZW1haW5kZXIpOgor
ICAgICMgTG9va3MgbGlrZSBhbiB1bm5hbWVkIHBhcmFtZXRlci4KKworICAgICMgRG9uJ3Qgd2Fy
biBvbiBhbnkga2luZCBvZiB0ZW1wbGF0ZSBhcmd1bWVudHMuCisgICAgaWYgTWF0Y2gocideXHMq
PicsIHJlbWFpbmRlcik6CisgICAgICByZXR1cm4gRmFsc2UKKworICAgICMgRG9uJ3Qgd2FybiBv
biBhc3NpZ25tZW50cyB0byBmdW5jdGlvbiBwb2ludGVycywgYnV0IGtlZXAgd2FybmluZ3MgZm9y
CisgICAgIyB1bm5hbWVkIHBhcmFtZXRlcnMgdG8gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9ucy4gIE5v
dGUgdGhhdCB0aGlzIHBhdHRlcm4KKyAgICAjIHdpbGwgYWxzbyBwYXNzIG9uIGFzc2lnbm1lbnRz
IG9mICIwIiB0byBmdW5jdGlvbiBwb2ludGVycywgYnV0IHRoZQorICAgICMgcHJlZmVycmVkIHZh
bHVlcyBmb3IgdGhvc2Ugd291bGQgYmUgIm51bGxwdHIiIG9yICJOVUxMIi4KKyAgICBtYXRjaGVk
X3plcm8gPSBNYXRjaChyJ15ccz1ccyooXFMrKVxzKjsnLCByZW1haW5kZXIpCisgICAgaWYgbWF0
Y2hlZF96ZXJvIGFuZCBtYXRjaGVkX3plcm8uZ3JvdXAoMSkgIT0gJzAnOgorICAgICAgcmV0dXJu
IEZhbHNlCisKKyAgICAjIERvbid0IHdhcm4gb24gZnVuY3Rpb24gcG9pbnRlciBkZWNsYXJhdGlv
bnMuICBGb3IgdGhpcyB3ZSBuZWVkCisgICAgIyB0byBjaGVjayB3aGF0IGNhbWUgYmVmb3JlIHRo
ZSAiKHR5cGUpIiBzdHJpbmcuCisgICAgaWYgTWF0Y2gocicuKlwpXHMqJCcsIGxpbmVbMDptYXRj
aC5zdGFydCgwKV0pOgorICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAjIERvbid0IHdhcm4gaWYg
dGhlIHBhcmFtZXRlciBpcyBuYW1lZCB3aXRoIGJsb2NrIGNvbW1lbnRzLCBlLmcuOgorICAgICMg
IEZ1bmN0aW9uKGludCAvKnVudXNlZF9wYXJhbSovKTsKKyAgICBpZiAnLyonIGluIHJhd19saW5l
OgorICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAjIFBhc3NlZCBhbGwgZmlsdGVycywgaXNzdWUg
d2FybmluZyBoZXJlLgorICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncmVhZGFiaWxpdHkv
ZnVuY3Rpb24nLCAzLAorICAgICAgICAgICdBbGwgcGFyYW1ldGVycyBzaG91bGQgYmUgbmFtZWQg
aW4gYSBmdW5jdGlvbicpCisgICAgcmV0dXJuIFRydWUKIAogICAjIEF0IHRoaXMgcG9pbnQsIGFs
bCB0aGF0IHNob3VsZCBiZSBsZWZ0IGlzIGFjdHVhbCBjYXN0cy4KICAgZXJyb3IoZmlsZW5hbWUs
IGxpbmVudW0sICdyZWFkYWJpbGl0eS9jYXN0aW5nJywgNCwKQEAgLTUzMjEsMjggKzQyMjksNiBA
QCBkZWYgQ2hlY2tDU3R5bGVDYXN0KGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgY2Fz
dF90eXBlLCBwYXR0ZXJuLCBlcnJvcik6CiAgIHJldHVybiBUcnVlCiAKIAotZGVmIEV4cGVjdGlu
Z0Z1bmN0aW9uQXJncyhjbGVhbl9saW5lcywgbGluZW51bSk6Ci0gICIiIkNoZWNrcyB3aGV0aGVy
IHdoZXJlIGZ1bmN0aW9uIHR5cGUgYXJndW1lbnRzIGFyZSBleHBlY3RlZC4KLQotICBBcmdzOgot
ICAgIGNsZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUg
ZmlsZS4KLSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotCi0g
IFJldHVybnM6Ci0gICAgVHJ1ZSBpZiB0aGUgbGluZSBhdCAnbGluZW51bScgaXMgaW5zaWRlIHNv
bWV0aGluZyB0aGF0IGV4cGVjdHMgYXJndW1lbnRzCi0gICAgb2YgZnVuY3Rpb24gdHlwZXMuCi0g
ICIiIgotICBsaW5lID0gY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW1dCi0gIHJldHVybiAoTWF0
Y2gocideXHMqTU9DS18oQ09OU1RfKT9NRVRIT0RcZCsoX1QpP1woJywgbGluZSkgb3IKLSAgICAg
ICAgICAobGluZW51bSA+PSAyIGFuZAotICAgICAgICAgICAoTWF0Y2gocideXHMqTU9DS18oPzpD
T05TVF8pP01FVEhPRFxkKyg/Ol9UKT9cKCg/OlxTKywpP1xzKiQnLAotICAgICAgICAgICAgICAg
ICAgY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW0gLSAxXSkgb3IKLSAgICAgICAgICAgIE1hdGNo
KHInXlxzKk1PQ0tfKD86Q09OU1RfKT9NRVRIT0RcZCsoPzpfVCk/XChccyokJywKLSAgICAgICAg
ICAgICAgICAgIGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtIC0gMl0pIG9yCi0gICAgICAgICAg
ICBTZWFyY2gocidcYnN0ZDo6bT9mdW5jdGlvblxzKlw8XHMqJCcsCi0gICAgICAgICAgICAgICAg
ICAgY2xlYW5fbGluZXMuZWxpZGVkW2xpbmVudW0gLSAxXSkpKSkKLQotCiBfSEVBREVSU19DT05U
QUlOSU5HX1RFTVBMQVRFUyA9ICgKICAgICAoJzxkZXF1ZT4nLCAoJ2RlcXVlJywpKSwKICAgICAo
JzxmdW5jdGlvbmFsPicsICgndW5hcnlfZnVuY3Rpb24nLCAnYmluYXJ5X2Z1bmN0aW9uJywKQEAg
LTUzNjUsMTUgKzQyNTEsMTEgQEAgX0hFQURFUlNfQ09OVEFJTklOR19URU1QTEFURVMgPSAoCiAg
ICAgKCc8bGltaXRzPicsICgnbnVtZXJpY19saW1pdHMnLCkpLAogICAgICgnPGxpc3Q+JywgKCds
aXN0JywpKSwKICAgICAoJzxtYXA+JywgKCdtYXAnLCAnbXVsdGltYXAnLCkpLAotICAgICgnPG1l
bW9yeT4nLCAoJ2FsbG9jYXRvcicsICdtYWtlX3NoYXJlZCcsICdtYWtlX3VuaXF1ZScsICdzaGFy
ZWRfcHRyJywKLSAgICAgICAgICAgICAgICAgICd1bmlxdWVfcHRyJywgJ3dlYWtfcHRyJykpLAor
ICAgICgnPG1lbW9yeT4nLCAoJ2FsbG9jYXRvcicsKSksCiAgICAgKCc8cXVldWU+JywgKCdxdWV1
ZScsICdwcmlvcml0eV9xdWV1ZScsKSksCiAgICAgKCc8c2V0PicsICgnc2V0JywgJ211bHRpc2V0
JywpKSwKICAgICAoJzxzdGFjaz4nLCAoJ3N0YWNrJywpKSwKICAgICAoJzxzdHJpbmc+JywgKCdj
aGFyX3RyYWl0cycsICdiYXNpY19zdHJpbmcnLCkpLAotICAgICgnPHR1cGxlPicsICgndHVwbGUn
LCkpLAotICAgICgnPHVub3JkZXJlZF9tYXA+JywgKCd1bm9yZGVyZWRfbWFwJywgJ3Vub3JkZXJl
ZF9tdWx0aW1hcCcpKSwKLSAgICAoJzx1bm9yZGVyZWRfc2V0PicsICgndW5vcmRlcmVkX3NldCcs
ICd1bm9yZGVyZWRfbXVsdGlzZXQnKSksCiAgICAgKCc8dXRpbGl0eT4nLCAoJ3BhaXInLCkpLAog
ICAgICgnPHZlY3Rvcj4nLCAoJ3ZlY3RvcicsKSksCiAKQEAgLTUzODQsMjYgKzQyNjYsMTggQEAg
X0hFQURFUlNfQ09OVEFJTklOR19URU1QTEFURVMgPSAoCiAgICAgKCc8c2xpc3Q+JywgKCdzbGlz
dCcsKSksCiAgICAgKQogCi1fSEVBREVSU19NQVlCRV9URU1QTEFURVMgPSAoCi0gICAgKCc8YWxn
b3JpdGhtPicsICgnY29weScsICdtYXgnLCAnbWluJywgJ21pbl9lbGVtZW50JywgJ3NvcnQnLAot
ICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zZm9ybScsCi0gICAgICAgICAgICAgICAgICAgICkp
LAotICAgICgnPHV0aWxpdHk+JywgKCdmb3J3YXJkJywgJ21ha2VfcGFpcicsICdtb3ZlJywgJ3N3
YXAnKSksCi0gICAgKQotCiBfUkVfUEFUVEVSTl9TVFJJTkcgPSByZS5jb21waWxlKHInXGJzdHJp
bmdcYicpCiAKLV9yZV9wYXR0ZXJuX2hlYWRlcnNfbWF5YmVfdGVtcGxhdGVzID0gW10KLWZvciBf
aGVhZGVyLCBfdGVtcGxhdGVzIGluIF9IRUFERVJTX01BWUJFX1RFTVBMQVRFUzoKLSAgZm9yIF90
ZW1wbGF0ZSBpbiBfdGVtcGxhdGVzOgotICAgICMgTWF0Y2ggbWF4PHR5cGU+KC4uLiwgLi4uKSwg
bWF4KC4uLiwgLi4uKSwgYnV0IG5vdCBmb28tPm1heCwgZm9vLm1heCBvcgotICAgICMgdHlwZTo6
bWF4KCkuCi0gICAgX3JlX3BhdHRlcm5faGVhZGVyc19tYXliZV90ZW1wbGF0ZXMuYXBwZW5kKAot
ICAgICAgICAocmUuY29tcGlsZShyJ1tePi5dXGInICsgX3RlbXBsYXRlICsgcicoPC4qPz4pP1wo
W15cKV0nKSwKLSAgICAgICAgICAgIF90ZW1wbGF0ZSwKLSAgICAgICAgICAgIF9oZWFkZXIpKQot
Ci0jIE90aGVyIHNjcmlwdHMgbWF5IHJlYWNoIGluIGFuZCBtb2RpZnkgdGhpcyBwYXR0ZXJuLgor
X3JlX3BhdHRlcm5fYWxnb3JpdGhtX2hlYWRlciA9IFtdCitmb3IgX3RlbXBsYXRlIGluICgnY29w
eScsICdtYXgnLCAnbWluJywgJ21pbl9lbGVtZW50JywgJ3NvcnQnLCAnc3dhcCcsCisgICAgICAg
ICAgICAgICAgICAndHJhbnNmb3JtJyk6CisgICMgTWF0Y2ggbWF4PHR5cGU+KC4uLiwgLi4uKSwg
bWF4KC4uLiwgLi4uKSwgYnV0IG5vdCBmb28tPm1heCwgZm9vLm1heCBvcgorICAjIHR5cGU6Om1h
eCgpLgorICBfcmVfcGF0dGVybl9hbGdvcml0aG1faGVhZGVyLmFwcGVuZCgKKyAgICAgIChyZS5j
b21waWxlKHInW14+Ll1cYicgKyBfdGVtcGxhdGUgKyByJyg8Lio/Pik/XChbXlwpXScpLAorICAg
ICAgIF90ZW1wbGF0ZSwKKyAgICAgICAnPGFsZ29yaXRobT4nKSkKKwogX3JlX3BhdHRlcm5fdGVt
cGxhdGVzID0gW10KIGZvciBfaGVhZGVyLCBfdGVtcGxhdGVzIGluIF9IRUFERVJTX0NPTlRBSU5J
TkdfVEVNUExBVEVTOgogICBmb3IgX3RlbXBsYXRlIGluIF90ZW1wbGF0ZXM6CkBAIC01NDQzLDEz
ICs0MzE3LDEzIEBAIGRlZiBGaWxlc0JlbG9uZ1RvU2FtZU1vZHVsZShmaWxlbmFtZV9jYywgZmls
ZW5hbWVfaCk6CiAgICAgc3RyaW5nOiB0aGUgYWRkaXRpb25hbCBwcmVmaXggbmVlZGVkIHRvIG9w
ZW4gdGhlIGhlYWRlciBmaWxlLgogICAiIiIKIAotICBmaWxlaW5mbyA9IEZpbGVJbmZvKGZpbGVu
YW1lX2NjKQotICBpZiBub3QgZmlsZWluZm8uSXNTb3VyY2UoKToKKyAgaWYgbm90IGZpbGVuYW1l
X2NjLmVuZHN3aXRoKCcuY2MnKToKICAgICByZXR1cm4gKEZhbHNlLCAnJykKLSAgZmlsZW5hbWVf
Y2MgPSBmaWxlbmFtZV9jY1s6LWxlbihmaWxlaW5mby5FeHRlbnNpb24oKSldCi0gIG1hdGNoZWRf
dGVzdF9zdWZmaXggPSBTZWFyY2goX1RFU1RfRklMRV9TVUZGSVgsIGZpbGVpbmZvLkJhc2VOYW1l
KCkpCi0gIGlmIG1hdGNoZWRfdGVzdF9zdWZmaXg6Ci0gICAgZmlsZW5hbWVfY2MgPSBmaWxlbmFt
ZV9jY1s6LWxlbihtYXRjaGVkX3Rlc3Rfc3VmZml4Lmdyb3VwKDEpKV0KKyAgZmlsZW5hbWVfY2Mg
PSBmaWxlbmFtZV9jY1s6LWxlbignLmNjJyldCisgIGlmIGZpbGVuYW1lX2NjLmVuZHN3aXRoKCdf
dW5pdHRlc3QnKToKKyAgICBmaWxlbmFtZV9jYyA9IGZpbGVuYW1lX2NjWzotbGVuKCdfdW5pdHRl
c3QnKV0KKyAgZWxpZiBmaWxlbmFtZV9jYy5lbmRzd2l0aCgnX3Rlc3QnKToKKyAgICBmaWxlbmFt
ZV9jYyA9IGZpbGVuYW1lX2NjWzotbGVuKCdfdGVzdCcpXQogICBmaWxlbmFtZV9jYyA9IGZpbGVu
YW1lX2NjLnJlcGxhY2UoJy9wdWJsaWMvJywgJy8nKQogICBmaWxlbmFtZV9jYyA9IGZpbGVuYW1l
X2NjLnJlcGxhY2UoJy9pbnRlcm5hbC8nLCAnLycpCiAKQEAgLTU0NjgsMTYgKzQzNDIsMTYgQEAg
ZGVmIEZpbGVzQmVsb25nVG9TYW1lTW9kdWxlKGZpbGVuYW1lX2NjLCBmaWxlbmFtZV9oKToKICAg
cmV0dXJuIGZpbGVzX2JlbG9uZ190b19zYW1lX21vZHVsZSwgY29tbW9uX3BhdGgKIAogCi1kZWYg
VXBkYXRlSW5jbHVkZVN0YXRlKGZpbGVuYW1lLCBpbmNsdWRlX2RpY3QsIGlvPWNvZGVjcyk6Ci0g
ICIiIkZpbGwgdXAgdGhlIGluY2x1ZGVfZGljdCB3aXRoIG5ldyBpbmNsdWRlcyBmb3VuZCBmcm9t
IHRoZSBmaWxlLgorZGVmIFVwZGF0ZUluY2x1ZGVTdGF0ZShmaWxlbmFtZSwgaW5jbHVkZV9zdGF0
ZSwgaW89Y29kZWNzKToKKyAgIiIiRmlsbCB1cCB0aGUgaW5jbHVkZV9zdGF0ZSB3aXRoIG5ldyBp
bmNsdWRlcyBmb3VuZCBmcm9tIHRoZSBmaWxlLgogCiAgIEFyZ3M6CiAgICAgZmlsZW5hbWU6IHRo
ZSBuYW1lIG9mIHRoZSBoZWFkZXIgdG8gcmVhZC4KLSAgICBpbmNsdWRlX2RpY3Q6IGEgZGljdGlv
bmFyeSBpbiB3aGljaCB0aGUgaGVhZGVycyBhcmUgaW5zZXJ0ZWQuCisgICAgaW5jbHVkZV9zdGF0
ZTogYW4gX0luY2x1ZGVTdGF0ZSBpbnN0YW5jZSBpbiB3aGljaCB0aGUgaGVhZGVycyBhcmUgaW5z
ZXJ0ZWQuCiAgICAgaW86IFRoZSBpbyBmYWN0b3J5IHRvIHVzZSB0byByZWFkIHRoZSBmaWxlLiBQ
cm92aWRlZCBmb3IgdGVzdGFiaWxpdHkuCiAKICAgUmV0dXJuczoKLSAgICBUcnVlIGlmIGEgaGVh
ZGVyIHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuIEZhbHNlIG90aGVyd2lzZS4KKyAgICBUcnVlIGlm
IGEgaGVhZGVyIHdhcyBzdWNjZXNmdWxseSBhZGRlZC4gRmFsc2Ugb3RoZXJ3aXNlLgogICAiIiIK
ICAgaGVhZGVyZmlsZSA9IE5vbmUKICAgdHJ5OgpAQCAtNTQ5MSw3ICs0MzY1LDkgQEAgZGVmIFVw
ZGF0ZUluY2x1ZGVTdGF0ZShmaWxlbmFtZSwgaW5jbHVkZV9kaWN0LCBpbz1jb2RlY3MpOgogICAg
IG1hdGNoID0gX1JFX1BBVFRFUk5fSU5DTFVERS5zZWFyY2goY2xlYW5fbGluZSkKICAgICBpZiBt
YXRjaDoKICAgICAgIGluY2x1ZGUgPSBtYXRjaC5ncm91cCgyKQotICAgICAgaW5jbHVkZV9kaWN0
LnNldGRlZmF1bHQoaW5jbHVkZSwgbGluZW51bSkKKyAgICAgICMgVGhlIHZhbHVlIGZvcm1hdHRp
bmcgaXMgY3V0ZSwgYnV0IG5vdCByZWFsbHkgdXNlZCByaWdodCBub3cuCisgICAgICAjIFdoYXQg
bWF0dGVycyBoZXJlIGlzIHRoYXQgdGhlIGtleSBpcyBpbiBpbmNsdWRlX3N0YXRlLgorICAgICAg
aW5jbHVkZV9zdGF0ZS5zZXRkZWZhdWx0KGluY2x1ZGUsICclczolZCcgJSAoZmlsZW5hbWUsIGxp
bmVudW0pKQogICByZXR1cm4gVHJ1ZQogCiAKQEAgLTU1MzAsNyArNDQwNiw3IEBAIGRlZiBDaGVj
a0ZvckluY2x1ZGVXaGF0WW91VXNlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgaW5jbHVkZV9zdGF0
ZSwgZXJyb3IsCiAgICAgICBpZiBwcmVmaXguZW5kc3dpdGgoJ3N0ZDo6Jykgb3Igbm90IHByZWZp
eC5lbmRzd2l0aCgnOjonKToKICAgICAgICAgcmVxdWlyZWRbJzxzdHJpbmc+J10gPSAobGluZW51
bSwgJ3N0cmluZycpCiAKLSAgICBmb3IgcGF0dGVybiwgdGVtcGxhdGUsIGhlYWRlciBpbiBfcmVf
cGF0dGVybl9oZWFkZXJzX21heWJlX3RlbXBsYXRlczoKKyAgICBmb3IgcGF0dGVybiwgdGVtcGxh
dGUsIGhlYWRlciBpbiBfcmVfcGF0dGVybl9hbGdvcml0aG1faGVhZGVyOgogICAgICAgaWYgcGF0
dGVybi5zZWFyY2gobGluZSk6CiAgICAgICAgIHJlcXVpcmVkW2hlYWRlcl0gPSAobGluZW51bSwg
dGVtcGxhdGUpCiAKQEAgLTU1MzksMjEgKzQ0MTUsMTUgQEAgZGVmIENoZWNrRm9ySW5jbHVkZVdo
YXRZb3VVc2UoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBlcnJvciwKICAg
ICAgIGNvbnRpbnVlCiAKICAgICBmb3IgcGF0dGVybiwgdGVtcGxhdGUsIGhlYWRlciBpbiBfcmVf
cGF0dGVybl90ZW1wbGF0ZXM6Ci0gICAgICBtYXRjaGVkID0gcGF0dGVybi5zZWFyY2gobGluZSkK
LSAgICAgIGlmIG1hdGNoZWQ6Ci0gICAgICAgICMgRG9uJ3Qgd2FybiBhYm91dCBJV1lVIGluIG5v
bi1TVEwgbmFtZXNwYWNlczoKLSAgICAgICAgIyAoV2UgY2hlY2sgb25seSB0aGUgZmlyc3QgbWF0
Y2ggcGVyIGxpbmU7IGdvb2QgZW5vdWdoLikKLSAgICAgICAgcHJlZml4ID0gbGluZVs6bWF0Y2hl
ZC5zdGFydCgpXQotICAgICAgICBpZiBwcmVmaXguZW5kc3dpdGgoJ3N0ZDo6Jykgb3Igbm90IHBy
ZWZpeC5lbmRzd2l0aCgnOjonKToKLSAgICAgICAgICByZXF1aXJlZFtoZWFkZXJdID0gKGxpbmVu
dW0sIHRlbXBsYXRlKQorICAgICAgaWYgcGF0dGVybi5zZWFyY2gobGluZSk6CisgICAgICAgIHJl
cXVpcmVkW2hlYWRlcl0gPSAobGluZW51bSwgdGVtcGxhdGUpCiAKICAgIyBUaGUgcG9saWN5IGlz
IHRoYXQgaWYgeW91ICNpbmNsdWRlIHNvbWV0aGluZyBpbiBmb28uaCB5b3UgZG9uJ3QgbmVlZCB0
bwogICAjIGluY2x1ZGUgaXQgYWdhaW4gaW4gZm9vLmNjLiBIZXJlLCB3ZSB3aWxsIGxvb2sgYXQg
cG9zc2libGUgaW5jbHVkZXMuCi0gICMgTGV0J3MgZmxhdHRlbiB0aGUgaW5jbHVkZV9zdGF0ZSBp
bmNsdWRlX2xpc3QgYW5kIGNvcHkgaXQgaW50byBhIGRpY3Rpb25hcnkuCi0gIGluY2x1ZGVfZGlj
dCA9IGRpY3QoW2l0ZW0gZm9yIHN1Ymxpc3QgaW4gaW5jbHVkZV9zdGF0ZS5pbmNsdWRlX2xpc3QK
LSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gc3VibGlzdF0pCisgICMgTGV0J3Mg
Y29weSB0aGUgaW5jbHVkZV9zdGF0ZSBzbyBpdCBpcyBvbmx5IG1lc3NlZCB1cCB3aXRoaW4gdGhp
cyBmdW5jdGlvbi4KKyAgaW5jbHVkZV9zdGF0ZSA9IGluY2x1ZGVfc3RhdGUuY29weSgpCiAKLSAg
IyBEaWQgd2UgZmluZCB0aGUgaGVhZGVyIGZvciB0aGlzIGZpbGUgKGlmIGFueSkgYW5kIHN1Y2Nl
c3NmdWxseSBsb2FkIGl0PworICAjIERpZCB3ZSBmaW5kIHRoZSBoZWFkZXIgZm9yIHRoaXMgZmls
ZSAoaWYgYW55KSBhbmQgc3VjY2VzZnVsbHkgbG9hZCBpdD8KICAgaGVhZGVyX2ZvdW5kID0gRmFs
c2UKIAogICAjIFVzZSB0aGUgYWJzb2x1dGUgcGF0aCBzbyB0aGF0IG1hdGNoaW5nIHdvcmtzIHBy
b3Blcmx5LgpAQCAtNTU2OCwxMyArNDQzOCwxMyBAQCBkZWYgQ2hlY2tGb3JJbmNsdWRlV2hhdFlv
dVVzZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGluY2x1ZGVfc3RhdGUsIGVycm9yLAogICAjIGlu
c3RlYWQgb2YgJ2Zvb19mbHltYWtlLmgnCiAgIGFic19maWxlbmFtZSA9IHJlLnN1YihyJ19mbHlt
YWtlXC5jYyQnLCAnLmNjJywgYWJzX2ZpbGVuYW1lKQogCi0gICMgaW5jbHVkZV9kaWN0IGlzIG1v
ZGlmaWVkIGR1cmluZyBpdGVyYXRpb24sIHNvIHdlIGl0ZXJhdGUgb3ZlciBhIGNvcHkgb2YKKyAg
IyBpbmNsdWRlX3N0YXRlIGlzIG1vZGlmaWVkIGR1cmluZyBpdGVyYXRpb24sIHNvIHdlIGl0ZXJh
dGUgb3ZlciBhIGNvcHkgb2YKICAgIyB0aGUga2V5cy4KLSAgaGVhZGVyX2tleXMgPSBpbmNsdWRl
X2RpY3Qua2V5cygpCisgIGhlYWRlcl9rZXlzID0gaW5jbHVkZV9zdGF0ZS5rZXlzKCkKICAgZm9y
IGhlYWRlciBpbiBoZWFkZXJfa2V5czoKICAgICAoc2FtZV9tb2R1bGUsIGNvbW1vbl9wYXRoKSA9
IEZpbGVzQmVsb25nVG9TYW1lTW9kdWxlKGFic19maWxlbmFtZSwgaGVhZGVyKQogICAgIGZ1bGxw
YXRoID0gY29tbW9uX3BhdGggKyBoZWFkZXIKLSAgICBpZiBzYW1lX21vZHVsZSBhbmQgVXBkYXRl
SW5jbHVkZVN0YXRlKGZ1bGxwYXRoLCBpbmNsdWRlX2RpY3QsIGlvKToKKyAgICBpZiBzYW1lX21v
ZHVsZSBhbmQgVXBkYXRlSW5jbHVkZVN0YXRlKGZ1bGxwYXRoLCBpbmNsdWRlX3N0YXRlLCBpbyk6
CiAgICAgICBoZWFkZXJfZm91bmQgPSBUcnVlCiAKICAgIyBJZiB3ZSBjYW4ndCBmaW5kIHRoZSBo
ZWFkZXIgZmlsZSBmb3IgYSAuY2MsIGFzc3VtZSBpdCdzIGJlY2F1c2Ugd2UgZG9uJ3QKQEAgLTU1
ODgsNyArNDQ1OCw3IEBAIGRlZiBDaGVja0ZvckluY2x1ZGVXaGF0WW91VXNlKGZpbGVuYW1lLCBj
bGVhbl9saW5lcywgaW5jbHVkZV9zdGF0ZSwgZXJyb3IsCiAgICMgQWxsIHRoZSBsaW5lcyBoYXZl
IGJlZW4gcHJvY2Vzc2VkLCByZXBvcnQgdGhlIGVycm9ycyBmb3VuZC4KICAgZm9yIHJlcXVpcmVk
X2hlYWRlcl91bnN0cmlwcGVkIGluIHJlcXVpcmVkOgogICAgIHRlbXBsYXRlID0gcmVxdWlyZWRb
cmVxdWlyZWRfaGVhZGVyX3Vuc3RyaXBwZWRdWzFdCi0gICAgaWYgcmVxdWlyZWRfaGVhZGVyX3Vu
c3RyaXBwZWQuc3RyaXAoJzw+IicpIG5vdCBpbiBpbmNsdWRlX2RpY3Q6CisgICAgaWYgcmVxdWly
ZWRfaGVhZGVyX3Vuc3RyaXBwZWQuc3RyaXAoJzw+IicpIG5vdCBpbiBpbmNsdWRlX3N0YXRlOgog
ICAgICAgZXJyb3IoZmlsZW5hbWUsIHJlcXVpcmVkW3JlcXVpcmVkX2hlYWRlcl91bnN0cmlwcGVk
XVswXSwKICAgICAgICAgICAgICdidWlsZC9pbmNsdWRlX3doYXRfeW91X3VzZScsIDQsCiAgICAg
ICAgICAgICAnQWRkICNpbmNsdWRlICcgKyByZXF1aXJlZF9oZWFkZXJfdW5zdHJpcHBlZCArICcg
Zm9yICcgKyB0ZW1wbGF0ZSkKQEAgLTU2MDAsNyArNDQ3MCw3IEBAIF9SRV9QQVRURVJOX0VYUExJ
Q0lUX01BS0VQQUlSID0gcmUuY29tcGlsZShyJ1xibWFrZV9wYWlyXHMqPCcpCiBkZWYgQ2hlY2tN
YWtlUGFpclVzZXNEZWR1Y3Rpb24oZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJv
cik6CiAgICIiIkNoZWNrIHRoYXQgbWFrZV9wYWlyJ3MgdGVtcGxhdGUgYXJndW1lbnRzIGFyZSBk
ZWR1Y2VkLgogCi0gIEcrKyA0LjYgaW4gQysrMTEgbW9kZSBmYWlscyBiYWRseSBpZiBtYWtlX3Bh
aXIncyB0ZW1wbGF0ZSBhcmd1bWVudHMgYXJlCisgIEcrKyA0LjYgaW4gQysrMHggbW9kZSBmYWls
cyBiYWRseSBpZiBtYWtlX3BhaXIncyB0ZW1wbGF0ZSBhcmd1bWVudHMgYXJlCiAgIHNwZWNpZmll
ZCBleHBsaWNpdGx5LCBhbmQgc3VjaCB1c2UgaXNuJ3QgaW50ZW5kZWQgaW4gYW55IGNhc2UuCiAK
ICAgQXJnczoKQEAgLTU2MTgsMTY1ICs0NDg4LDYgQEAgZGVmIENoZWNrTWFrZVBhaXJVc2VzRGVk
dWN0aW9uKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgogICAgICAgICAg
ICcgT1IgdXNlIHBhaXIgZGlyZWN0bHkgT1IgaWYgYXBwcm9wcmlhdGUsIGNvbnN0cnVjdCBhIHBh
aXIgZGlyZWN0bHknKQogCiAKLWRlZiBDaGVja1JlZHVuZGFudFZpcnR1YWwoZmlsZW5hbWUsIGNs
ZWFuX2xpbmVzLCBsaW5lbnVtLCBlcnJvcik6Ci0gICIiIkNoZWNrIGlmIGxpbmUgY29udGFpbnMg
YSByZWR1bmRhbnQgInZpcnR1YWwiIGZ1bmN0aW9uLXNwZWNpZmllci4KLQotICBBcmdzOgotICAg
IGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlLgotICAgIGNsZWFuX2xpbmVz
OiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4KLSAgICBsaW5l
bnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotICAgIGVycm9yOiBUaGUgZnVu
Y3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCi0gICIiIgotICAjIExvb2sgZm9y
ICJ2aXJ0dWFsIiBvbiBjdXJyZW50IGxpbmUuCi0gIGxpbmUgPSBjbGVhbl9saW5lcy5lbGlkZWRb
bGluZW51bV0KLSAgdmlydHVhbCA9IE1hdGNoKHInXiguKikoXGJ2aXJ0dWFsXGIpKC4qKSQnLCBs
aW5lKQotICBpZiBub3QgdmlydHVhbDogcmV0dXJuCi0KLSAgIyBJZ25vcmUgInZpcnR1YWwiIGtl
eXdvcmRzIHRoYXQgYXJlIG5lYXIgYWNjZXNzLXNwZWNpZmllcnMuICBUaGVzZQotICAjIGFyZSBv
bmx5IHVzZWQgaW4gY2xhc3MgYmFzZS1zcGVjaWZpZXIgYW5kIGRvIG5vdCBhcHBseSB0byBtZW1i
ZXIKLSAgIyBmdW5jdGlvbnMuCi0gIGlmIChTZWFyY2gocidcYihwdWJsaWN8cHJvdGVjdGVkfHBy
aXZhdGUpXHMrJCcsIHZpcnR1YWwuZ3JvdXAoMSkpIG9yCi0gICAgICBNYXRjaChyJ15ccysocHVi
bGljfHByb3RlY3RlZHxwcml2YXRlKVxiJywgdmlydHVhbC5ncm91cCgzKSkpOgotICAgIHJldHVy
bgotCi0gICMgSWdub3JlIHRoZSAidmlydHVhbCIga2V5d29yZCBmcm9tIHZpcnR1YWwgYmFzZSBj
bGFzc2VzLiAgVXN1YWxseQotICAjIHRoZXJlIGlzIGEgY29sdW1uIG9uIHRoZSBzYW1lIGxpbmUg
aW4gdGhlc2UgY2FzZXMgKHZpcnR1YWwgYmFzZQotICAjIGNsYXNzZXMgYXJlIHJhcmUgaW4gZ29v
Z2xlMyBiZWNhdXNlIG11bHRpcGxlIGluaGVyaXRhbmNlIGlzIHJhcmUpLgotICBpZiBNYXRjaChy
J14uKlteOl06W146XS4qJCcsIGxpbmUpOiByZXR1cm4KLQotICAjIExvb2sgZm9yIHRoZSBuZXh0
IG9wZW5pbmcgcGFyZW50aGVzaXMuICBUaGlzIGlzIHRoZSBzdGFydCBvZiB0aGUKLSAgIyBwYXJh
bWV0ZXIgbGlzdCAocG9zc2libHkgb24gdGhlIG5leHQgbGluZSBzaG9ydGx5IGFmdGVyIHZpcnR1
YWwpLgotICAjIFRPRE8odW5rbm93bik6IGRvZXNuJ3Qgd29yayBpZiB0aGVyZSBhcmUgdmlydHVh
bCBmdW5jdGlvbnMgd2l0aAotICAjIGRlY2x0eXBlKCkgb3Igb3RoZXIgdGhpbmdzIHRoYXQgdXNl
IHBhcmVudGhlc2VzLCBidXQgY3NlYXJjaCBzdWdnZXN0cwotICAjIHRoYXQgdGhpcyBpcyByYXJl
LgotICBlbmRfY29sID0gLTEKLSAgZW5kX2xpbmUgPSAtMQotICBzdGFydF9jb2wgPSBsZW4odmly
dHVhbC5ncm91cCgyKSkKLSAgZm9yIHN0YXJ0X2xpbmUgaW4geHJhbmdlKGxpbmVudW0sIG1pbihs
aW5lbnVtICsgMywgY2xlYW5fbGluZXMuTnVtTGluZXMoKSkpOgotICAgIGxpbmUgPSBjbGVhbl9s
aW5lcy5lbGlkZWRbc3RhcnRfbGluZV1bc3RhcnRfY29sOl0KLSAgICBwYXJhbWV0ZXJfbGlzdCA9
IE1hdGNoKHInXihbXihdKilcKCcsIGxpbmUpCi0gICAgaWYgcGFyYW1ldGVyX2xpc3Q6Ci0gICAg
ICAjIE1hdGNoIHBhcmVudGhlc2VzIHRvIGZpbmQgdGhlIGVuZCBvZiB0aGUgcGFyYW1ldGVyIGxp
c3QKLSAgICAgIChfLCBlbmRfbGluZSwgZW5kX2NvbCkgPSBDbG9zZUV4cHJlc3Npb24oCi0gICAg
ICAgICAgY2xlYW5fbGluZXMsIHN0YXJ0X2xpbmUsIHN0YXJ0X2NvbCArIGxlbihwYXJhbWV0ZXJf
bGlzdC5ncm91cCgxKSkpCi0gICAgICBicmVhawotICAgIHN0YXJ0X2NvbCA9IDAKLQotICBpZiBl
bmRfY29sIDwgMDoKLSAgICByZXR1cm4gICMgQ291bGRuJ3QgZmluZCBlbmQgb2YgcGFyYW1ldGVy
IGxpc3QsIGdpdmUgdXAKLQotICAjIExvb2sgZm9yICJvdmVycmlkZSIgb3IgImZpbmFsIiBhZnRl
ciB0aGUgcGFyYW1ldGVyIGxpc3QKLSAgIyAocG9zc2libHkgb24gdGhlIG5leHQgZmV3IGxpbmVz
KS4KLSAgZm9yIGkgaW4geHJhbmdlKGVuZF9saW5lLCBtaW4oZW5kX2xpbmUgKyAzLCBjbGVhbl9s
aW5lcy5OdW1MaW5lcygpKSk6Ci0gICAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtpXVtlbmRf
Y29sOl0KLSAgICBtYXRjaCA9IFNlYXJjaChyJ1xiKG92ZXJyaWRlfGZpbmFsKVxiJywgbGluZSkK
LSAgICBpZiBtYXRjaDoKLSAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncmVhZGFiaWxp
dHkvaW5oZXJpdGFuY2UnLCA0LAotICAgICAgICAgICAgKCcidmlydHVhbCIgaXMgcmVkdW5kYW50
IHNpbmNlIGZ1bmN0aW9uIGlzICcKLSAgICAgICAgICAgICAnYWxyZWFkeSBkZWNsYXJlZCBhcyAi
JXMiJyAlIG1hdGNoLmdyb3VwKDEpKSkKLQotICAgICMgU2V0IGVuZF9jb2wgdG8gY2hlY2sgd2hv
bGUgbGluZXMgYWZ0ZXIgd2UgYXJlIGRvbmUgd2l0aCB0aGUKLSAgICAjIGZpcnN0IGxpbmUuCi0g
ICAgZW5kX2NvbCA9IDAKLSAgICBpZiBTZWFyY2gocidbXlx3XVxzKiQnLCBsaW5lKToKLSAgICAg
IGJyZWFrCi0KLQotZGVmIENoZWNrUmVkdW5kYW50T3ZlcnJpZGVPckZpbmFsKGZpbGVuYW1lLCBj
bGVhbl9saW5lcywgbGluZW51bSwgZXJyb3IpOgotICAiIiJDaGVjayBpZiBsaW5lIGNvbnRhaW5z
IGEgcmVkdW5kYW50ICJvdmVycmlkZSIgb3IgImZpbmFsIiB2aXJ0LXNwZWNpZmllci4KLQotICBB
cmdzOgotICAgIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlLgotICAgIGNs
ZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgZmlsZS4K
LSAgICBsaW5lbnVtOiBUaGUgbnVtYmVyIG9mIHRoZSBsaW5lIHRvIGNoZWNrLgotICAgIGVycm9y
OiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCi0gICIiIgotICAj
IExvb2sgZm9yIGNsb3NpbmcgcGFyZW50aGVzaXMgbmVhcmJ5LiAgV2UgbmVlZCBvbmUgdG8gY29u
ZmlybSB3aGVyZQotICAjIHRoZSBkZWNsYXJhdG9yIGVuZHMgYW5kIHdoZXJlIHRoZSB2aXJ0LXNw
ZWNpZmllciBzdGFydHMgdG8gYXZvaWQKLSAgIyBmYWxzZSBwb3NpdGl2ZXMuCi0gIGxpbmUgPSBj
bGVhbl9saW5lcy5lbGlkZWRbbGluZW51bV0KLSAgZGVjbGFyYXRvcl9lbmQgPSBsaW5lLnJmaW5k
KCcpJykKLSAgaWYgZGVjbGFyYXRvcl9lbmQgPj0gMDoKLSAgICBmcmFnbWVudCA9IGxpbmVbZGVj
bGFyYXRvcl9lbmQ6XQotICBlbHNlOgotICAgIGlmIGxpbmVudW0gPiAxIGFuZCBjbGVhbl9saW5l
cy5lbGlkZWRbbGluZW51bSAtIDFdLnJmaW5kKCcpJykgPj0gMDoKLSAgICAgIGZyYWdtZW50ID0g
bGluZQotICAgIGVsc2U6Ci0gICAgICByZXR1cm4KLQotICAjIENoZWNrIHRoYXQgYXQgbW9zdCBv
bmUgb2YgIm92ZXJyaWRlIiBvciAiZmluYWwiIGlzIHByZXNlbnQsIG5vdCBib3RoCi0gIGlmIFNl
YXJjaChyJ1xib3ZlcnJpZGVcYicsIGZyYWdtZW50KSBhbmQgU2VhcmNoKHInXGJmaW5hbFxiJywg
ZnJhZ21lbnQpOgotICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVtLCAncmVhZGFiaWxpdHkvaW5o
ZXJpdGFuY2UnLCA0LAotICAgICAgICAgICgnIm92ZXJyaWRlIiBpcyByZWR1bmRhbnQgc2luY2Ug
ZnVuY3Rpb24gaXMgJwotICAgICAgICAgICAnYWxyZWFkeSBkZWNsYXJlZCBhcyAiZmluYWwiJykp
Ci0KLQotCi0KLSMgUmV0dXJucyB0cnVlIGlmIHdlIGFyZSBhdCBhIG5ldyBibG9jaywgYW5kIGl0
IGlzIGRpcmVjdGx5Ci0jIGluc2lkZSBvZiBhIG5hbWVzcGFjZS4KLWRlZiBJc0Jsb2NrSW5OYW1l
U3BhY2UobmVzdGluZ19zdGF0ZSwgaXNfZm9yd2FyZF9kZWNsYXJhdGlvbik6Ci0gICIiIkNoZWNr
cyB0aGF0IHRoZSBuZXcgYmxvY2sgaXMgZGlyZWN0bHkgaW4gYSBuYW1lc3BhY2UuCi0KLSAgQXJn
czoKLSAgICBuZXN0aW5nX3N0YXRlOiBUaGUgX05lc3RpbmdTdGF0ZSBvYmplY3QgdGhhdCBjb250
YWlucyBpbmZvIGFib3V0IG91ciBzdGF0ZS4KLSAgICBpc19mb3J3YXJkX2RlY2xhcmF0aW9uOiBJ
ZiB0aGUgY2xhc3MgaXMgYSBmb3J3YXJkIGRlY2xhcmVkIGNsYXNzLgotICBSZXR1cm5zOgotICAg
IFdoZXRoZXIgb3Igbm90IHRoZSBuZXcgYmxvY2sgaXMgZGlyZWN0bHkgaW4gYSBuYW1lc3BhY2Uu
Ci0gICIiIgotICBpZiBpc19mb3J3YXJkX2RlY2xhcmF0aW9uOgotICAgIGlmIGxlbihuZXN0aW5n
X3N0YXRlLnN0YWNrKSA+PSAxIGFuZCAoCi0gICAgICAgIGlzaW5zdGFuY2UobmVzdGluZ19zdGF0
ZS5zdGFja1stMV0sIF9OYW1lc3BhY2VJbmZvKSk6Ci0gICAgICByZXR1cm4gVHJ1ZQotICAgIGVs
c2U6Ci0gICAgICByZXR1cm4gRmFsc2UKLQotICByZXR1cm4gKGxlbihuZXN0aW5nX3N0YXRlLnN0
YWNrKSA+IDEgYW5kCi0gICAgICAgICAgbmVzdGluZ19zdGF0ZS5zdGFja1stMV0uY2hlY2tfbmFt
ZXNwYWNlX2luZGVudGF0aW9uIGFuZAotICAgICAgICAgIGlzaW5zdGFuY2UobmVzdGluZ19zdGF0
ZS5zdGFja1stMl0sIF9OYW1lc3BhY2VJbmZvKSkKLQotCi1kZWYgU2hvdWxkQ2hlY2tOYW1lc3Bh
Y2VJbmRlbnRhdGlvbihuZXN0aW5nX3N0YXRlLCBpc19uYW1lc3BhY2VfaW5kZW50X2l0ZW0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdfbGluZXNfbm9fY29tbWVudHMs
IGxpbmVudW0pOgotICAiIiJUaGlzIG1ldGhvZCBkZXRlcm1pbmVzIGlmIHdlIHNob3VsZCBhcHBs
eSBvdXIgbmFtZXNwYWNlIGluZGVudGF0aW9uIGNoZWNrLgotCi0gIEFyZ3M6Ci0gICAgbmVzdGlu
Z19zdGF0ZTogVGhlIGN1cnJlbnQgbmVzdGluZyBzdGF0ZS4KLSAgICBpc19uYW1lc3BhY2VfaW5k
ZW50X2l0ZW06IElmIHdlIGp1c3QgcHV0IGEgbmV3IGNsYXNzIG9uIHRoZSBzdGFjaywgVHJ1ZS4K
LSAgICAgIElmIHRoZSB0b3Agb2YgdGhlIHN0YWNrIGlzIG5vdCBhIGNsYXNzLCBvciB3ZSBkaWQg
bm90IHJlY2VudGx5Ci0gICAgICBhZGQgdGhlIGNsYXNzLCBGYWxzZS4KLSAgICByYXdfbGluZXNf
bm9fY29tbWVudHM6IFRoZSBsaW5lcyB3aXRob3V0IHRoZSBjb21tZW50cy4KLSAgICBsaW5lbnVt
OiBUaGUgY3VycmVudCBsaW5lIG51bWJlciB3ZSBhcmUgcHJvY2Vzc2luZy4KLQotICBSZXR1cm5z
OgotICAgIFRydWUgaWYgd2Ugc2hvdWxkIGFwcGx5IG91ciBuYW1lc3BhY2UgaW5kZW50YXRpb24g
Y2hlY2suIEN1cnJlbnRseSwgaXQKLSAgICBvbmx5IHdvcmtzIGZvciBjbGFzc2VzIGFuZCBuYW1l
c3BhY2VzIGluc2lkZSBvZiBhIG5hbWVzcGFjZS4KLSAgIiIiCi0KLSAgaXNfZm9yd2FyZF9kZWNs
YXJhdGlvbiA9IElzRm9yd2FyZENsYXNzRGVjbGFyYXRpb24ocmF3X2xpbmVzX25vX2NvbW1lbnRz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
aW5lbnVtKQotCi0gIGlmIG5vdCAoaXNfbmFtZXNwYWNlX2luZGVudF9pdGVtIG9yIGlzX2Zvcndh
cmRfZGVjbGFyYXRpb24pOgotICAgIHJldHVybiBGYWxzZQotCi0gICMgSWYgd2UgYXJlIGluIGEg
bWFjcm8sIHdlIGRvIG5vdCB3YW50IHRvIGNoZWNrIHRoZSBuYW1lc3BhY2UgaW5kZW50YXRpb24u
Ci0gIGlmIElzTWFjcm9EZWZpbml0aW9uKHJhd19saW5lc19ub19jb21tZW50cywgbGluZW51bSk6
Ci0gICAgcmV0dXJuIEZhbHNlCi0KLSAgcmV0dXJuIElzQmxvY2tJbk5hbWVTcGFjZShuZXN0aW5n
X3N0YXRlLCBpc19mb3J3YXJkX2RlY2xhcmF0aW9uKQotCi0KLSMgQ2FsbCB0aGlzIG1ldGhvZCBp
ZiB0aGUgbGluZSBpcyBkaXJlY3RseSBpbnNpZGUgb2YgYSBuYW1lc3BhY2UuCi0jIElmIHRoZSBs
aW5lIGFib3ZlIGlzIGJsYW5rIChleGNsdWRpbmcgY29tbWVudHMpIG9yIHRoZSBzdGFydCBvZgot
IyBhbiBpbm5lciBuYW1lc3BhY2UsIGl0IGNhbm5vdCBiZSBpbmRlbnRlZC4KLWRlZiBDaGVja0l0
ZW1JbmRlbnRhdGlvbkluTmFtZXNwYWNlKGZpbGVuYW1lLCByYXdfbGluZXNfbm9fY29tbWVudHMs
IGxpbmVudW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik6Ci0g
IGxpbmUgPSByYXdfbGluZXNfbm9fY29tbWVudHNbbGluZW51bV0KLSAgaWYgTWF0Y2gocideXHMr
JywgbGluZSk6Ci0gICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdydW50aW1lL2luZGVudGF0
aW9uX25hbWVzcGFjZScsIDQsCi0gICAgICAgICAgJ0RvIG5vdCBpbmRlbnQgd2l0aGluIGEgbmFt
ZXNwYWNlJykKLQotCiBkZWYgUHJvY2Vzc0xpbmUoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLCBj
bGVhbl9saW5lcywgbGluZSwKICAgICAgICAgICAgICAgICBpbmNsdWRlX3N0YXRlLCBmdW5jdGlv
bl9zdGF0ZSwgbmVzdGluZ19zdGF0ZSwgZXJyb3IsCiAgICAgICAgICAgICAgICAgZXh0cmFfY2hl
Y2tfZnVuY3Rpb25zPVtdKToKQEAgLTU3OTAsNyArNDUwMSw3IEBAIGRlZiBQcm9jZXNzTGluZShm
aWxlbmFtZSwgZmlsZV9leHRlbnNpb24sIGNsZWFuX2xpbmVzLCBsaW5lLAogICAgIGxpbmU6IE51
bWJlciBvZiBsaW5lIGJlaW5nIHByb2Nlc3NlZC4KICAgICBpbmNsdWRlX3N0YXRlOiBBbiBfSW5j
bHVkZVN0YXRlIGluc3RhbmNlIGluIHdoaWNoIHRoZSBoZWFkZXJzIGFyZSBpbnNlcnRlZC4KICAg
ICBmdW5jdGlvbl9zdGF0ZTogQSBfRnVuY3Rpb25TdGF0ZSBpbnN0YW5jZSB3aGljaCBjb3VudHMg
ZnVuY3Rpb24gbGluZXMsIGV0Yy4KLSAgICBuZXN0aW5nX3N0YXRlOiBBIE5lc3RpbmdTdGF0ZSBp
bnN0YW5jZSB3aGljaCBtYWludGFpbnMgaW5mb3JtYXRpb24gYWJvdXQKKyAgICBuZXN0aW5nX3N0
YXRlOiBBIF9OZXN0aW5nU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGluZm9ybWF0aW9u
IGFib3V0CiAgICAgICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgc3RhY2sgb2YgbmVzdGVkIGJs
b2NrcyBiZWluZyBwYXJzZWQuCiAgICAgZXJyb3I6IEEgY2FsbGFibGUgdG8gd2hpY2ggZXJyb3Jz
IGFyZSByZXBvcnRlZCwgd2hpY2ggdGFrZXMgNCBhcmd1bWVudHM6CiAgICAgICAgICAgIGZpbGVu
YW1lLCBsaW5lIG51bWJlciwgZXJyb3IgbGV2ZWwsIGFuZCBtZXNzYWdlCkBAIC01ODAxLDkgKzQ1
MTIsOCBAQCBkZWYgUHJvY2Vzc0xpbmUoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLCBjbGVhbl9s
aW5lcywgbGluZSwKICAgcmF3X2xpbmVzID0gY2xlYW5fbGluZXMucmF3X2xpbmVzCiAgIFBhcnNl
Tm9saW50U3VwcHJlc3Npb25zKGZpbGVuYW1lLCByYXdfbGluZXNbbGluZV0sIGxpbmUsIGVycm9y
KQogICBuZXN0aW5nX3N0YXRlLlVwZGF0ZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmUsIGVy
cm9yKQotICBDaGVja0Zvck5hbWVzcGFjZUluZGVudGF0aW9uKGZpbGVuYW1lLCBuZXN0aW5nX3N0
YXRlLCBjbGVhbl9saW5lcywgbGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
cnJvcikKLSAgaWYgbmVzdGluZ19zdGF0ZS5JbkFzbUJsb2NrKCk6IHJldHVybgorICBpZiBuZXN0
aW5nX3N0YXRlLnN0YWNrIGFuZCBuZXN0aW5nX3N0YXRlLnN0YWNrWy0xXS5pbmxpbmVfYXNtICE9
IF9OT19BU006CisgICAgcmV0dXJuCiAgIENoZWNrRm9yRnVuY3Rpb25MZW5ndGhzKGZpbGVuYW1l
LCBjbGVhbl9saW5lcywgbGluZSwgZnVuY3Rpb25fc3RhdGUsIGVycm9yKQogICBDaGVja0Zvck11
bHRpbGluZUNvbW1lbnRzQW5kU3RyaW5ncyhmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmUsIGVy
cm9yKQogICBDaGVja1N0eWxlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZSwgZmlsZV9leHRl
bnNpb24sIG5lc3Rpbmdfc3RhdGUsIGVycm9yKQpAQCAtNTgxNiw4MiArNDUyNiw5IEBAIGRlZiBQ
cm9jZXNzTGluZShmaWxlbmFtZSwgZmlsZV9leHRlbnNpb24sIGNsZWFuX2xpbmVzLCBsaW5lLAog
ICBDaGVja1Bvc2l4VGhyZWFkaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZSwgZXJyb3Ip
CiAgIENoZWNrSW52YWxpZEluY3JlbWVudChmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmUsIGVy
cm9yKQogICBDaGVja01ha2VQYWlyVXNlc0RlZHVjdGlvbihmaWxlbmFtZSwgY2xlYW5fbGluZXMs
IGxpbmUsIGVycm9yKQotICBDaGVja1JlZHVuZGFudFZpcnR1YWwoZmlsZW5hbWUsIGNsZWFuX2xp
bmVzLCBsaW5lLCBlcnJvcikKLSAgQ2hlY2tSZWR1bmRhbnRPdmVycmlkZU9yRmluYWwoZmlsZW5h
bWUsIGNsZWFuX2xpbmVzLCBsaW5lLCBlcnJvcikKICAgZm9yIGNoZWNrX2ZuIGluIGV4dHJhX2No
ZWNrX2Z1bmN0aW9uczoKICAgICBjaGVja19mbihmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmUs
IGVycm9yKQogCi1kZWYgRmxhZ0N4eDExRmVhdHVyZXMoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBs
aW5lbnVtLCBlcnJvcik6Ci0gICIiIkZsYWcgdGhvc2UgYysrMTEgZmVhdHVyZXMgdGhhdCB3ZSBv
bmx5IGFsbG93IGluIGNlcnRhaW4gcGxhY2VzLgotCi0gIEFyZ3M6Ci0gICAgZmlsZW5hbWU6IFRo
ZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZpbGUuCi0gICAgY2xlYW5fbGluZXM6IEEgQ2xlYW5zZWRM
aW5lcyBpbnN0YW5jZSBjb250YWluaW5nIHRoZSBmaWxlLgotICAgIGxpbmVudW06IFRoZSBudW1i
ZXIgb2YgdGhlIGxpbmUgdG8gY2hlY2suCi0gICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxs
IHdpdGggYW55IGVycm9ycyBmb3VuZC4KLSAgIiIiCi0gIGxpbmUgPSBjbGVhbl9saW5lcy5lbGlk
ZWRbbGluZW51bV0KLQotICBpbmNsdWRlID0gTWF0Y2gocidccyojXHMqaW5jbHVkZVxzK1s8Il0o
W148Il0rKVsiPl0nLCBsaW5lKQotCi0gICMgRmxhZyB1bmFwcHJvdmVkIEMrKyBUUjEgaGVhZGVy
cy4KLSAgaWYgaW5jbHVkZSBhbmQgaW5jbHVkZS5ncm91cCgxKS5zdGFydHN3aXRoKCd0cjEvJyk6
Ci0gICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdidWlsZC9jKyt0cjEnLCA1LAotICAgICAg
ICAgICgnQysrIFRSMSBoZWFkZXJzIHN1Y2ggYXMgPCVzPiBhcmUgdW5hcHByb3ZlZC4nKSAlIGlu
Y2x1ZGUuZ3JvdXAoMSkpCi0KLSAgIyBGbGFnIHVuYXBwcm92ZWQgQysrMTEgaGVhZGVycy4KLSAg
aWYgaW5jbHVkZSBhbmQgaW5jbHVkZS5ncm91cCgxKSBpbiAoJ2NmZW52JywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmRpdGlvbl92YXJpYWJsZScsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmZW52LmgnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnZnV0dXJlJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ211dGV4JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3RocmVhZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdj
aHJvbm8nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmF0aW8nLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVnZXgnLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3lzdGVtX2Vycm9yJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICApOgotICAgIGVycm9yKGZpbGVuYW1lLCBsaW5lbnVt
LCAnYnVpbGQvYysrMTEnLCA1LAotICAgICAgICAgICgnPCVzPiBpcyBhbiB1bmFwcHJvdmVkIEMr
KzExIGhlYWRlci4nKSAlIGluY2x1ZGUuZ3JvdXAoMSkpCi0KLSAgIyBUaGUgb25seSBwbGFjZSB3
aGVyZSB3ZSBuZWVkIHRvIHdvcnJ5IGFib3V0IEMrKzExIGtleXdvcmRzIGFuZCBsaWJyYXJ5Ci0g
ICMgZmVhdHVyZXMgaW4gcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgaXMgaW4gbWFjcm8gZGVmaW5p
dGlvbnMuCi0gIGlmIE1hdGNoKHInXHMqIycsIGxpbmUpIGFuZCBub3QgTWF0Y2gocidccyojXHMq
ZGVmaW5lXGInLCBsaW5lKTogcmV0dXJuCi0KLSAgIyBUaGVzZSBhcmUgY2xhc3NlcyBhbmQgZnJl
ZSBmdW5jdGlvbnMuICBUaGUgY2xhc3NlcyBhcmUgYWx3YXlzCi0gICMgbWVudGlvbmVkIGFzIHN0
ZDo6KiwgYnV0IHdlIG9ubHkgY2F0Y2ggdGhlIGZyZWUgZnVuY3Rpb25zIGlmCi0gICMgdGhleSdy
ZSBub3QgZm91bmQgYnkgQURMLiAgVGhleSdyZSBhbHBoYWJldGljYWwgYnkgaGVhZGVyLgotICBm
b3IgdG9wX25hbWUgaW4gKAotICAgICAgIyB0eXBlX3RyYWl0cwotICAgICAgJ2FsaWdubWVudF9v
ZicsCi0gICAgICAnYWxpZ25lZF91bmlvbicsCi0gICAgICApOgotICAgIGlmIFNlYXJjaChyJ1xi
c3RkOjolc1xiJyAlIHRvcF9uYW1lLCBsaW5lKToKLSAgICAgIGVycm9yKGZpbGVuYW1lLCBsaW5l
bnVtLCAnYnVpbGQvYysrMTEnLCA1LAotICAgICAgICAgICAgKCdzdGQ6OiVzIGlzIGFuIHVuYXBw
cm92ZWQgQysrMTEgY2xhc3Mgb3IgZnVuY3Rpb24uICBTZW5kIGMtc3R5bGUgJwotICAgICAgICAg
ICAgICdhbiBleGFtcGxlIG9mIHdoZXJlIGl0IHdvdWxkIG1ha2UgeW91ciBjb2RlIG1vcmUgcmVh
ZGFibGUsIGFuZCAnCi0gICAgICAgICAgICAgJ3RoZXkgbWF5IGxldCB5b3UgdXNlIGl0LicpICUg
dG9wX25hbWUpCi0KLQotZGVmIEZsYWdDeHgxNEZlYXR1cmVzKGZpbGVuYW1lLCBjbGVhbl9saW5l
cywgbGluZW51bSwgZXJyb3IpOgotICAiIiJGbGFnIHRob3NlIEMrKzE0IGZlYXR1cmVzIHRoYXQg
d2UgcmVzdHJpY3QuCi0KLSAgQXJnczoKLSAgICBmaWxlbmFtZTogVGhlIG5hbWUgb2YgdGhlIGN1
cnJlbnQgZmlsZS4KLSAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNv
bnRhaW5pbmcgdGhlIGZpbGUuCi0gICAgbGluZW51bTogVGhlIG51bWJlciBvZiB0aGUgbGluZSB0
byBjaGVjay4KLSAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3Jz
IGZvdW5kLgotICAiIiIKLSAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lbnVtXQotCi0g
IGluY2x1ZGUgPSBNYXRjaChyJ1xzKiNccyppbmNsdWRlXHMrWzwiXShbXjwiXSspWyI+XScsIGxp
bmUpCi0KLSAgIyBGbGFnIHVuYXBwcm92ZWQgQysrMTQgaGVhZGVycy4KLSAgaWYgaW5jbHVkZSBh
bmQgaW5jbHVkZS5ncm91cCgxKSBpbiAoJ3Njb3BlZF9hbGxvY2F0b3InLCAnc2hhcmVkX211dGV4
Jyk6Ci0gICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVudW0sICdidWlsZC9jKysxNCcsIDUsCi0gICAg
ICAgICAgKCc8JXM+IGlzIGFuIHVuYXBwcm92ZWQgQysrMTQgaGVhZGVyLicpICUgaW5jbHVkZS5n
cm91cCgxKSkKLQotCiBkZWYgUHJvY2Vzc0ZpbGVEYXRhKGZpbGVuYW1lLCBmaWxlX2V4dGVuc2lv
biwgbGluZXMsIGVycm9yLAogICAgICAgICAgICAgICAgICAgICBleHRyYV9jaGVja19mdW5jdGlv
bnM9W10pOgogICAiIiJQZXJmb3JtcyBsaW50IGNoZWNrcyBhbmQgcmVwb3J0cyBhbnkgZXJyb3Jz
IHRvIHRoZSBnaXZlbiBlcnJvciBmdW5jdGlvbi4KQEAgLTU5MTIsMTIyICs0NTQ5LDMxIEBAIGRl
ZiBQcm9jZXNzRmlsZURhdGEoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLCBsaW5lcywgZXJyb3Is
CiAKICAgaW5jbHVkZV9zdGF0ZSA9IF9JbmNsdWRlU3RhdGUoKQogICBmdW5jdGlvbl9zdGF0ZSA9
IF9GdW5jdGlvblN0YXRlKCkKLSAgbmVzdGluZ19zdGF0ZSA9IE5lc3RpbmdTdGF0ZSgpCisgIG5l
c3Rpbmdfc3RhdGUgPSBfTmVzdGluZ1N0YXRlKCkKIAogICBSZXNldE5vbGludFN1cHByZXNzaW9u
cygpCiAKICAgQ2hlY2tGb3JDb3B5cmlnaHQoZmlsZW5hbWUsIGxpbmVzLCBlcnJvcikKLSAgUHJv
Y2Vzc0dsb2JhbFN1cHByZXNpb25zKGxpbmVzKQotICBSZW1vdmVNdWx0aUxpbmVDb21tZW50cyhm
aWxlbmFtZSwgbGluZXMsIGVycm9yKQotICBjbGVhbl9saW5lcyA9IENsZWFuc2VkTGluZXMobGlu
ZXMpCiAKLSAgaWYgSXNIZWFkZXJFeHRlbnNpb24oZmlsZV9leHRlbnNpb24pOgotICAgIENoZWNr
Rm9ySGVhZGVyR3VhcmQoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBlcnJvcikKKyAgaWYgZmlsZV9l
eHRlbnNpb24gPT0gJ2gnOgorICAgIENoZWNrRm9ySGVhZGVyR3VhcmQoZmlsZW5hbWUsIGxpbmVz
LCBlcnJvcikKIAorICBSZW1vdmVNdWx0aUxpbmVDb21tZW50cyhmaWxlbmFtZSwgbGluZXMsIGVy
cm9yKQorICBjbGVhbl9saW5lcyA9IENsZWFuc2VkTGluZXMobGluZXMpCiAgIGZvciBsaW5lIGlu
IHhyYW5nZShjbGVhbl9saW5lcy5OdW1MaW5lcygpKToKICAgICBQcm9jZXNzTGluZShmaWxlbmFt
ZSwgZmlsZV9leHRlbnNpb24sIGNsZWFuX2xpbmVzLCBsaW5lLAogICAgICAgICAgICAgICAgIGlu
Y2x1ZGVfc3RhdGUsIGZ1bmN0aW9uX3N0YXRlLCBuZXN0aW5nX3N0YXRlLCBlcnJvciwKICAgICAg
ICAgICAgICAgICBleHRyYV9jaGVja19mdW5jdGlvbnMpCi0gICAgRmxhZ0N4eDExRmVhdHVyZXMo
ZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lLCBlcnJvcikKICAgbmVzdGluZ19zdGF0ZS5DaGVj
a0NvbXBsZXRlZEJsb2NrcyhmaWxlbmFtZSwgZXJyb3IpCiAKICAgQ2hlY2tGb3JJbmNsdWRlV2hh
dFlvdVVzZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGluY2x1ZGVfc3RhdGUsIGVycm9yKQogCi0g
ICMgQ2hlY2sgdGhhdCB0aGUgLmNjIGZpbGUgaGFzIGluY2x1ZGVkIGl0cyBoZWFkZXIgaWYgaXQg
ZXhpc3RzLgotICBpZiBfSXNTb3VyY2VFeHRlbnNpb24oZmlsZV9leHRlbnNpb24pOgotICAgIENo
ZWNrSGVhZGVyRmlsZUluY2x1ZGVkKGZpbGVuYW1lLCBpbmNsdWRlX3N0YXRlLCBlcnJvcikKLQog
ICAjIFdlIGNoZWNrIGhlcmUgcmF0aGVyIHRoYW4gaW5zaWRlIFByb2Nlc3NMaW5lIHNvIHRoYXQg
d2Ugc2VlIHJhdwogICAjIGxpbmVzIHJhdGhlciB0aGFuICJjbGVhbmVkIiBsaW5lcy4KICAgQ2hl
Y2tGb3JCYWRDaGFyYWN0ZXJzKGZpbGVuYW1lLCBsaW5lcywgZXJyb3IpCiAKICAgQ2hlY2tGb3JO
ZXdsaW5lQXRFT0YoZmlsZW5hbWUsIGxpbmVzLCBlcnJvcikKIAotZGVmIFByb2Nlc3NDb25maWdP
dmVycmlkZXMoZmlsZW5hbWUpOgotICAiIiIgTG9hZHMgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMg
YW5kIHByb2Nlc3NlcyB0aGUgY29uZmlnIG92ZXJyaWRlcy4KLQotICBBcmdzOgotICAgIGZpbGVu
YW1lOiBUaGUgbmFtZSBvZiB0aGUgZmlsZSBiZWluZyBwcm9jZXNzZWQgYnkgdGhlIGxpbnRlci4K
LQotICBSZXR1cm5zOgotICAgIEZhbHNlIGlmIHRoZSBjdXJyZW50IHxmaWxlbmFtZXwgc2hvdWxk
IG5vdCBiZSBwcm9jZXNzZWQgZnVydGhlci4KLSAgIiIiCi0KLSAgYWJzX2ZpbGVuYW1lID0gb3Mu
cGF0aC5hYnNwYXRoKGZpbGVuYW1lKQotICBjZmdfZmlsdGVycyA9IFtdCi0gIGtlZXBfbG9va2lu
ZyA9IFRydWUKLSAgd2hpbGUga2VlcF9sb29raW5nOgotICAgIGFic19wYXRoLCBiYXNlX25hbWUg
PSBvcy5wYXRoLnNwbGl0KGFic19maWxlbmFtZSkKLSAgICBpZiBub3QgYmFzZV9uYW1lOgotICAg
ICAgYnJlYWsgICMgUmVhY2hlZCB0aGUgcm9vdCBkaXJlY3RvcnkuCi0KLSAgICBjZmdfZmlsZSA9
IG9zLnBhdGguam9pbihhYnNfcGF0aCwgIkNQUExJTlQuY2ZnIikKLSAgICBhYnNfZmlsZW5hbWUg
PSBhYnNfcGF0aAotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShjZmdfZmlsZSk6Ci0gICAgICBj
b250aW51ZQotCi0gICAgdHJ5OgotICAgICAgd2l0aCBvcGVuKGNmZ19maWxlKSBhcyBmaWxlX2hh
bmRsZToKLSAgICAgICAgZm9yIGxpbmUgaW4gZmlsZV9oYW5kbGU6Ci0gICAgICAgICAgbGluZSwg
XywgXyA9IGxpbmUucGFydGl0aW9uKCcjJykgICMgUmVtb3ZlIGNvbW1lbnRzLgotICAgICAgICAg
IGlmIG5vdCBsaW5lLnN0cmlwKCk6Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAg
bmFtZSwgXywgdmFsID0gbGluZS5wYXJ0aXRpb24oJz0nKQotICAgICAgICAgIG5hbWUgPSBuYW1l
LnN0cmlwKCkKLSAgICAgICAgICB2YWwgPSB2YWwuc3RyaXAoKQotICAgICAgICAgIGlmIG5hbWUg
PT0gJ3NldCBub3BhcmVudCc6Ci0gICAgICAgICAgICBrZWVwX2xvb2tpbmcgPSBGYWxzZQotICAg
ICAgICAgIGVsaWYgbmFtZSA9PSAnZmlsdGVyJzoKLSAgICAgICAgICAgIGNmZ19maWx0ZXJzLmFw
cGVuZCh2YWwpCi0gICAgICAgICAgZWxpZiBuYW1lID09ICdleGNsdWRlX2ZpbGVzJzoKLSAgICAg
ICAgICAgICMgV2hlbiBtYXRjaGluZyBleGNsdWRlX2ZpbGVzIHBhdHRlcm4sIHVzZSB0aGUgYmFz
ZV9uYW1lIG9mCi0gICAgICAgICAgICAjIHRoZSBjdXJyZW50IGZpbGUgbmFtZSBvciB0aGUgZGly
ZWN0b3J5IG5hbWUgd2UgYXJlIHByb2Nlc3NpbmcuCi0gICAgICAgICAgICAjIEZvciBleGFtcGxl
LCBpZiB3ZSBhcmUgY2hlY2tpbmcgZm9yIGxpbnQgZXJyb3JzIGluIC9mb28vYmFyL2Jhei5jYwot
ICAgICAgICAgICAgIyBhbmQgd2UgZm91bmQgdGhlIC5jZmcgZmlsZSBhdCAvZm9vL0NQUExJTlQu
Y2ZnLCB0aGVuIHRoZSBjb25maWcKLSAgICAgICAgICAgICMgZmlsZSdzICJleGNsdWRlX2ZpbGVz
IiBmaWx0ZXIgaXMgbWVhbnQgdG8gYmUgY2hlY2tlZCBhZ2FpbnN0ICJiYXIiCi0gICAgICAgICAg
ICAjIGFuZCBub3QgImJheiIgbm9yICJiYXIvYmF6LmNjIi4KLSAgICAgICAgICAgIGlmIGJhc2Vf
bmFtZToKLSAgICAgICAgICAgICAgcGF0dGVybiA9IHJlLmNvbXBpbGUodmFsKQotICAgICAgICAg
ICAgICBpZiBwYXR0ZXJuLm1hdGNoKGJhc2VfbmFtZSk6Ci0gICAgICAgICAgICAgICAgaWYgX2Nw
cGxpbnRfc3RhdGUucXVpZXQ6Ci0gICAgICAgICAgICAgICAgICAjIFN1cHByZXNzICJJZ25vcmlu
ZyBmaWxlIiB3YXJuaW5nIHdoZW4gdXNpbmcgLS1xdWlldC4KLSAgICAgICAgICAgICAgICAgIHJl
dHVybiBGYWxzZQotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0lnbm9yaW5nICIl
cyI6IGZpbGUgZXhjbHVkZWQgYnkgIiVzIi4gJwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ0ZpbGUgcGF0aCBjb21wb25lbnQgIiVzIiBtYXRjaGVzICcKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdwYXR0ZXJuICIlcyJcbicgJQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGZpbGVuYW1lLCBjZmdfZmlsZSwgYmFzZV9uYW1lLCB2YWwpKQotICAg
ICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICAgIGVsaWYgbmFtZSA9PSAnbGluZWxl
bmd0aCc6Ci0gICAgICAgICAgICBnbG9iYWwgX2xpbmVfbGVuZ3RoCi0gICAgICAgICAgICB0cnk6
Ci0gICAgICAgICAgICAgICAgX2xpbmVfbGVuZ3RoID0gaW50KHZhbCkKLSAgICAgICAgICAgIGV4
Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0xpbmUg
bGVuZ3RoIG11c3QgYmUgbnVtZXJpYy4nKQotICAgICAgICAgIGVsaWYgbmFtZSA9PSAncm9vdCc6
Ci0gICAgICAgICAgICBnbG9iYWwgX3Jvb3QKLSAgICAgICAgICAgICMgcm9vdCBkaXJlY3Rvcmll
cyBhcmUgc3BlY2lmaWVkIHJlbGF0aXZlIHRvIENQUExJTlQuY2ZnIGRpci4KLSAgICAgICAgICAg
IF9yb290ID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShjZmdfZmlsZSksIHZhbCkKLSAg
ICAgICAgICBlbGlmIG5hbWUgPT0gJ2hlYWRlcnMnOgotICAgICAgICAgICAgUHJvY2Vzc0hwcEhl
YWRlcnNPcHRpb24odmFsKQotICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzeXMuc3RkZXJy
LndyaXRlKAotICAgICAgICAgICAgICAgICdJbnZhbGlkIGNvbmZpZ3VyYXRpb24gb3B0aW9uICgl
cykgaW4gZmlsZSAlc1xuJyAlCi0gICAgICAgICAgICAgICAgKG5hbWUsIGNmZ19maWxlKSkKLQot
ICAgIGV4Y2VwdCBJT0Vycm9yOgotICAgICAgc3lzLnN0ZGVyci53cml0ZSgKLSAgICAgICAgICAi
U2tpcHBpbmcgY29uZmlnIGZpbGUgJyVzJzogQ2FuJ3Qgb3BlbiBmb3IgcmVhZGluZ1xuIiAlIGNm
Z19maWxlKQotICAgICAga2VlcF9sb29raW5nID0gRmFsc2UKLQotICAjIEFwcGx5IGFsbCB0aGUg
YWNjdW11bGF0ZWQgZmlsdGVycyBpbiByZXZlcnNlIG9yZGVyICh0b3AtbGV2ZWwgZGlyZWN0b3J5
Ci0gICMgY29uZmlnIG9wdGlvbnMgaGF2aW5nIHRoZSBsZWFzdCBwcmlvcml0eSkuCi0gIGZvciBm
aWx0ZXIgaW4gcmV2ZXJzZWQoY2ZnX2ZpbHRlcnMpOgotICAgICBfQWRkRmlsdGVycyhmaWx0ZXIp
Ci0KLSAgcmV0dXJuIFRydWUKLQotCiBkZWYgUHJvY2Vzc0ZpbGUoZmlsZW5hbWUsIHZsZXZlbCwg
ZXh0cmFfY2hlY2tfZnVuY3Rpb25zPVtdKToKICAgIiIiRG9lcyBnb29nbGUtbGludCBvbiBhIHNp
bmdsZSBmaWxlLgogCkBAIC02MDQzLDE1ICs0NTg5LDcgQEAgZGVmIFByb2Nlc3NGaWxlKGZpbGVu
YW1lLCB2bGV2ZWwsIGV4dHJhX2NoZWNrX2Z1bmN0aW9ucz1bXSk6CiAgICIiIgogCiAgIF9TZXRW
ZXJib3NlTGV2ZWwodmxldmVsKQotICBfQmFja3VwRmlsdGVycygpCi0gIG9sZF9lcnJvcnMgPSBf
Y3BwbGludF9zdGF0ZS5lcnJvcl9jb3VudAotCi0gIGlmIG5vdCBQcm9jZXNzQ29uZmlnT3ZlcnJp
ZGVzKGZpbGVuYW1lKToKLSAgICBfUmVzdG9yZUZpbHRlcnMoKQotICAgIHJldHVybgogCi0gIGxm
X2xpbmVzID0gW10KLSAgY3JsZl9saW5lcyA9IFtdCiAgIHRyeToKICAgICAjIFN1cHBvcnQgdGhl
IFVOSVggY29udmVudGlvbiBvZiB1c2luZyAiLSIgZm9yIHN0ZGluLiAgTm90ZSB0aGF0CiAgICAg
IyB3ZSBhcmUgbm90IG9wZW5pbmcgdGhlIGZpbGUgd2l0aCB1bml2ZXJzYWwgbmV3bGluZSBzdXBw
b3J0CkBAIC02MDU5LDcgKzQ1OTcsMTAgQEAgZGVmIFByb2Nlc3NGaWxlKGZpbGVuYW1lLCB2bGV2
ZWwsIGV4dHJhX2NoZWNrX2Z1bmN0aW9ucz1bXSk6CiAgICAgIyBjb250YWluIHRyYWlsaW5nICdc
cicgY2hhcmFjdGVycyBpZiB3ZSBhcmUgcmVhZGluZyBhIGZpbGUgdGhhdAogICAgICMgaGFzIENS
TEYgZW5kaW5ncy4KICAgICAjIElmIGFmdGVyIHRoZSBzcGxpdCBhIHRyYWlsaW5nICdccicgaXMg
cHJlc2VudCwgaXQgaXMgcmVtb3ZlZAotICAgICMgYmVsb3cuCisgICAgIyBiZWxvdy4gSWYgaXQg
aXMgbm90IGV4cGVjdGVkIHRvIGJlIHByZXNlbnQgKGkuZS4gb3MubGluZXNlcCAhPQorICAgICMg
J1xyXG4nIGFzIGluIFdpbmRvd3MpLCBhIHdhcm5pbmcgaXMgaXNzdWVkIGJlbG93IGlmIHRoaXMg
ZmlsZQorICAgICMgaXMgcHJvY2Vzc2VkLgorCiAgICAgaWYgZmlsZW5hbWUgPT0gJy0nOgogICAg
ICAgbGluZXMgPSBjb2RlY3MuU3RyZWFtUmVhZGVyV3JpdGVyKHN5cy5zdGRpbiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlY3MuZ2V0cmVhZGVyKCd1dGY4Jyks
CkBAIC02MDY4LDE5ICs0NjA5LDE2IEBAIGRlZiBQcm9jZXNzRmlsZShmaWxlbmFtZSwgdmxldmVs
LCBleHRyYV9jaGVja19mdW5jdGlvbnM9W10pOgogICAgIGVsc2U6CiAgICAgICBsaW5lcyA9IGNv
ZGVjcy5vcGVuKGZpbGVuYW1lLCAncicsICd1dGY4JywgJ3JlcGxhY2UnKS5yZWFkKCkuc3BsaXQo
J1xuJykKIAorICAgIGNhcnJpYWdlX3JldHVybl9mb3VuZCA9IEZhbHNlCiAgICAgIyBSZW1vdmUg
dHJhaWxpbmcgJ1xyJy4KLSAgICAjIFRoZSAtMSBhY2NvdW50cyBmb3IgdGhlIGV4dHJhIHRyYWls
aW5nIGJsYW5rIGxpbmUgd2UgZ2V0IGZyb20gc3BsaXQoKQotICAgIGZvciBsaW5lbnVtIGluIHJh
bmdlKGxlbihsaW5lcykgLSAxKToKKyAgICBmb3IgbGluZW51bSBpbiByYW5nZShsZW4obGluZXMp
KToKICAgICAgIGlmIGxpbmVzW2xpbmVudW1dLmVuZHN3aXRoKCdccicpOgogICAgICAgICBsaW5l
c1tsaW5lbnVtXSA9IGxpbmVzW2xpbmVudW1dLnJzdHJpcCgnXHInKQotICAgICAgICBjcmxmX2xp
bmVzLmFwcGVuZChsaW5lbnVtICsgMSkKLSAgICAgIGVsc2U6Ci0gICAgICAgIGxmX2xpbmVzLmFw
cGVuZChsaW5lbnVtICsgMSkKKyAgICAgICAgY2FycmlhZ2VfcmV0dXJuX2ZvdW5kID0gVHJ1ZQog
CiAgIGV4Y2VwdCBJT0Vycm9yOgogICAgIHN5cy5zdGRlcnIud3JpdGUoCiAgICAgICAgICJTa2lw
cGluZyBpbnB1dCAnJXMnOiBDYW4ndCBvcGVuIGZvciByZWFkaW5nXG4iICUgZmlsZW5hbWUpCi0g
ICAgX1Jlc3RvcmVGaWx0ZXJzKCkKICAgICByZXR1cm4KIAogICAjIE5vdGUsIGlmIG5vIGRvdCBp
cyBmb3VuZCwgdGhpcyB3aWxsIGdpdmUgdGhlIGVudGlyZSBmaWxlbmFtZSBhcyB0aGUgZXh0LgpA
QCAtNjA5NCwzMCArNDYzMiwxNCBAQCBkZWYgUHJvY2Vzc0ZpbGUoZmlsZW5hbWUsIHZsZXZlbCwg
ZXh0cmFfY2hlY2tfZnVuY3Rpb25zPVtdKToKICAgZWxzZToKICAgICBQcm9jZXNzRmlsZURhdGEo
ZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLCBsaW5lcywgRXJyb3IsCiAgICAgICAgICAgICAgICAg
ICAgIGV4dHJhX2NoZWNrX2Z1bmN0aW9ucykKKyAgICBpZiBjYXJyaWFnZV9yZXR1cm5fZm91bmQg
YW5kIG9zLmxpbmVzZXAgIT0gJ1xyXG4nOgorICAgICAgIyBVc2UgMCBmb3IgbGluZW51bSBzaW5j
ZSBvdXRwdXR0aW5nIG9ubHkgb25lIGVycm9yIGZvciBwb3RlbnRpYWxseQorICAgICAgIyBzZXZl
cmFsIGxpbmVzLgorICAgICAgRXJyb3IoZmlsZW5hbWUsIDAsICd3aGl0ZXNwYWNlL25ld2xpbmUn
LCAxLAorICAgICAgICAgICAgJ09uZSBvciBtb3JlIHVuZXhwZWN0ZWQgXFxyICheTSkgZm91bmQ7
JworICAgICAgICAgICAgJ2JldHRlciB0byB1c2Ugb25seSBhIFxcbicpCiAKLSAgICAjIElmIGVu
ZC1vZi1saW5lIHNlcXVlbmNlcyBhcmUgYSBtaXggb2YgTEYgYW5kIENSLUxGLCBpc3N1ZQotICAg
ICMgd2FybmluZ3Mgb24gdGhlIGxpbmVzIHdpdGggQ1IuCi0gICAgIwotICAgICMgRG9uJ3QgaXNz
dWUgYW55IHdhcm5pbmdzIGlmIGFsbCBsaW5lcyBhcmUgdW5pZm9ybWx5IExGIG9yIENSLUxGLAot
ICAgICMgc2luY2UgY3JpdGlxdWUgY2FuIGhhbmRsZSB0aGVzZSBqdXN0IGZpbmUsIGFuZCB0aGUg
c3R5bGUgZ3VpZGUKLSAgICAjIGRvZXNuJ3QgZGljdGF0ZSBhIHBhcnRpY3VsYXIgZW5kIG9mIGxp
bmUgc2VxdWVuY2UuCi0gICAgIwotICAgICMgV2UgY2FuJ3QgZGVwZW5kIG9uIG9zLmxpbmVzZXAg
dG8gZGV0ZXJtaW5lIHdoYXQgdGhlIGRlc2lyZWQKLSAgICAjIGVuZC1vZi1saW5lIHNlcXVlbmNl
IHNob3VsZCBiZSwgc2luY2UgdGhhdCB3aWxsIHJldHVybiB0aGUKLSAgICAjIHNlcnZlci1zaWRl
IGVuZC1vZi1saW5lIHNlcXVlbmNlLgotICAgIGlmIGxmX2xpbmVzIGFuZCBjcmxmX2xpbmVzOgot
ICAgICAgIyBXYXJuIG9uIGV2ZXJ5IGxpbmUgd2l0aCBDUi4gIEFuIGFsdGVybmF0aXZlIGFwcHJv
YWNoIG1pZ2h0IGJlIHRvCi0gICAgICAjIGNoZWNrIHdoZXRoZXIgdGhlIGZpbGUgaXMgbW9zdGx5
IENSTEYgb3IganVzdCBMRiwgYW5kIHdhcm4gb24gdGhlCi0gICAgICAjIG1pbm9yaXR5LCB3ZSBi
aWFzIHRvd2FyZCBMRiBoZXJlIHNpbmNlIG1vc3QgdG9vbHMgcHJlZmVyIExGLgotICAgICAgZm9y
IGxpbmVudW0gaW4gY3JsZl9saW5lczoKLSAgICAgICAgRXJyb3IoZmlsZW5hbWUsIGxpbmVudW0s
ICd3aGl0ZXNwYWNlL25ld2xpbmUnLCAxLAotICAgICAgICAgICAgICAnVW5leHBlY3RlZCBcXHIg
KF5NKSBmb3VuZDsgYmV0dGVyIHRvIHVzZSBvbmx5IFxcbicpCi0KLSAgIyBTdXBwcmVzcyBwcmlu
dGluZyBhbnl0aGluZyBpZiAtLXF1aWV0IHdhcyBwYXNzZWQgdW5sZXNzIHRoZSBlcnJvcgotICAj
IGNvdW50IGhhcyBpbmNyZWFzZWQgYWZ0ZXIgcHJvY2Vzc2luZyB0aGlzIGZpbGUuCi0gIGlmIG5v
dCBfY3BwbGludF9zdGF0ZS5xdWlldCBvciBvbGRfZXJyb3JzICE9IF9jcHBsaW50X3N0YXRlLmVy
cm9yX2NvdW50OgotICAgIHN5cy5zdGRvdXQud3JpdGUoJ0RvbmUgcHJvY2Vzc2luZyAlc1xuJyAl
IGZpbGVuYW1lKQotICBfUmVzdG9yZUZpbHRlcnMoKQorICBzeXMuc3RkZXJyLndyaXRlKCdEb25l
IHByb2Nlc3NpbmcgJXNcbicgJSBmaWxlbmFtZSkKIAogCiBkZWYgUHJpbnRVc2FnZShtZXNzYWdl
KToKQEAgLTYxNTksMTYgKzQ2ODEsMTMgQEAgZGVmIFBhcnNlQXJndW1lbnRzKGFyZ3MpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWx0ZXI9JywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm9vdD0n
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsaW5l
bGVuZ3RoPScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ2V4dGVuc2lvbnM9JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnaGVhZGVycz0nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdxdWlldCddKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdleHRlbnNpb25zPSddKQogICBleGNlcHQgZ2V0b3B0LkdldG9w
dEVycm9yOgogICAgIFByaW50VXNhZ2UoJ0ludmFsaWQgYXJndW1lbnRzLicpCiAKICAgdmVyYm9z
aXR5ID0gX1ZlcmJvc2VMZXZlbCgpCiAgIG91dHB1dF9mb3JtYXQgPSBfT3V0cHV0Rm9ybWF0KCkK
ICAgZmlsdGVycyA9ICcnCi0gIHF1aWV0ID0gX1F1aWV0KCkKICAgY291bnRpbmdfc3R5bGUgPSAn
JwogCiAgIGZvciAob3B0LCB2YWwpIGluIG9wdHM6CkBAIC02MTc4LDggKzQ2OTcsNiBAQCBkZWYg
UGFyc2VBcmd1bWVudHMoYXJncyk6CiAgICAgICBpZiB2YWwgbm90IGluICgnZW1hY3MnLCAndnM3
JywgJ2VjbGlwc2UnKToKICAgICAgICAgUHJpbnRVc2FnZSgnVGhlIG9ubHkgYWxsb3dlZCBvdXRw
dXQgZm9ybWF0cyBhcmUgZW1hY3MsIHZzNyBhbmQgZWNsaXBzZS4nKQogICAgICAgb3V0cHV0X2Zv
cm1hdCA9IHZhbAotICAgIGVsaWYgb3B0ID09ICctLXF1aWV0JzoKLSAgICAgIHF1aWV0ID0gVHJ1
ZQogICAgIGVsaWYgb3B0ID09ICctLXZlcmJvc2UnOgogICAgICAgdmVyYm9zaXR5ID0gaW50KHZh
bCkKICAgICBlbGlmIG9wdCA9PSAnLS1maWx0ZXInOgpAQCAtNjIwNCwxNSArNDcyMSwxMiBAQCBk
ZWYgUGFyc2VBcmd1bWVudHMoYXJncyk6CiAgICAgICB0cnk6CiAgICAgICAgICAgX3ZhbGlkX2V4
dGVuc2lvbnMgPSBzZXQodmFsLnNwbGl0KCcsJykpCiAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoK
LSAgICAgICAgICBQcmludFVzYWdlKCdFeHRlbnNpb25zIG11c3QgYmUgY29tbWEgc2VwYXJhdGVk
IGxpc3QuJykKLSAgICBlbGlmIG9wdCA9PSAnLS1oZWFkZXJzJzoKLSAgICAgIFByb2Nlc3NIcHBI
ZWFkZXJzT3B0aW9uKHZhbCkKKyAgICAgICAgICBQcmludFVzYWdlKCdFeHRlbnNpb25zIG11c3Qg
YmUgY29tbWEgc2VwZXJhdGVkIGxpc3QuJykKIAogICBpZiBub3QgZmlsZW5hbWVzOgogICAgIFBy
aW50VXNhZ2UoJ05vIGZpbGVzIHdlcmUgc3BlY2lmaWVkLicpCiAKICAgX1NldE91dHB1dEZvcm1h
dChvdXRwdXRfZm9ybWF0KQotICBfU2V0UXVpZXQocXVpZXQpCiAgIF9TZXRWZXJib3NlTGV2ZWwo
dmVyYm9zaXR5KQogICBfU2V0RmlsdGVycyhmaWx0ZXJzKQogICBfU2V0Q291bnRpbmdTdHlsZShj
b3VudGluZ19zdHlsZSkKQEAgLTYyMzMsOSArNDc0Nyw3IEBAIGRlZiBtYWluKCk6CiAgIF9jcHBs
aW50X3N0YXRlLlJlc2V0RXJyb3JDb3VudHMoKQogICBmb3IgZmlsZW5hbWUgaW4gZmlsZW5hbWVz
OgogICAgIFByb2Nlc3NGaWxlKGZpbGVuYW1lLCBfY3BwbGludF9zdGF0ZS52ZXJib3NlX2xldmVs
KQotICAjIElmIC0tcXVpZXQgaXMgcGFzc2VkLCBzdXBwcmVzcyBwcmludGluZyBlcnJvciBjb3Vu
dCB1bmxlc3MgdGhlcmUgYXJlIGVycm9ycy4KLSAgaWYgbm90IF9jcHBsaW50X3N0YXRlLnF1aWV0
IG9yIF9jcHBsaW50X3N0YXRlLmVycm9yX2NvdW50ID4gMDoKLSAgICBfY3BwbGludF9zdGF0ZS5Q
cmludEVycm9yQ291bnRzKCkKKyAgX2NwcGxpbnRfc3RhdGUuUHJpbnRFcnJvckNvdW50cygpCiAK
ICAgc3lzLmV4aXQoX2NwcGxpbnRfc3RhdGUuZXJyb3JfY291bnQgPiAwKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3Rvb2xzL2RpZmYucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL2RpZmYucHkKaW5k
ZXggODYwYTZiMDUxYmZjLi5hOTZjN2RiODUxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdG9v
bHMvZGlmZi5weQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL2RpZmYucHkKQEAgLTEsNCArMSw0IEBA
Ci0jIS91c3IvYmluL2VudiBweXRob24zCisjIS91c3IvYmluL2VudiBweXRob24KICMjICBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgogIyMKICMjICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJT
RC1zdHlsZSBsaWNlbnNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL2ludGVyc2VjdC1k
aWZmcy5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdG9vbHMvaW50ZXJzZWN0LWRpZmZzLnB5CmluZGV4IDU5MGU2
ODdiNDcxZS4uNGRiYWZhOTBiN2RiIDEwMDc1NQotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL2ludGVy
c2VjdC1kaWZmcy5weQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL2ludGVyc2VjdC1kaWZmcy5weQpA
QCAtMSw0ICsxLDQgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbgogIyMgIENvcHlyaWdodCAoYykgMjAxMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCiAjIwogIyMgIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKQEAgLTY5LDcgKzY5LDcgQEAgZGVmIG1haW4o
KToKICAgICAgICAgICAgICAgICBicmVhawogCiAgICAgaWYgb3V0X2h1bmtzOgotICAgICAgICBw
cmludChGb3JtYXREaWZmSHVua3Mob3V0X2h1bmtzKSkKKyAgICAgICAgcHJpbnQgRm9ybWF0RGlm
Zkh1bmtzKG91dF9odW5rcykKICAgICAgICAgc3lzLmV4aXQoMSkKIAogaWYgX19uYW1lX18gPT0g
Il9fbWFpbl9fIjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdG9vbHMvbGludC1odW5rcy5weSBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdG9vbHMvbGludC1odW5rcy5weQppbmRleCAwYTk0YWZlYmI5OGMuLjMwZDMy
NDkxOTNiYyAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy9saW50LWh1bmtzLnB5CisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdG9vbHMvbGludC1odW5rcy5weQpAQCAtMSw0ICsxLDQgQEAKLSMhL3Vzci9i
aW4vZW52IHB5dGhvbjMKKyMhL3Vzci9iaW4vcHl0aG9uCiAjIyAgQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICMjCiAjIyAg
VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z
ZQpAQCAtMTAsNyArMTAsNyBAQAogIiIiUGVyZm9ybXMgc3R5bGUgY2hlY2tpbmcgb24gZWFjaCBk
aWZmIGh1bmsuIiIiCiBpbXBvcnQgZ2V0b3B0CiBpbXBvcnQgb3MKLWltcG9ydCBpbworaW1wb3J0
IFN0cmluZ0lPCiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHN5cwogCkBAIC02MywyMSArNjMs
MjEgQEAgZGVmIG1haW4oYXJndj1Ob25lKToKICAgICB0cnk6CiAgICAgICAgIHRyeToKICAgICAg
ICAgICAgIG9wdHMsIGFyZ3MgPSBnZXRvcHQuZ2V0b3B0KGFyZ3ZbMTpdLCBTSE9SVF9PUFRJT05T
LCBMT05HX09QVElPTlMpCi0gICAgICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3IgYXMgbXNnOgorICAg
ICAgICBleGNlcHQgZ2V0b3B0LmVycm9yLCBtc2c6CiAgICAgICAgICAgICByYWlzZSBVc2FnZSht
c2cpCiAKICAgICAgICAgIyBwcm9jZXNzIG9wdGlvbnMKICAgICAgICAgZm9yIG8sIF8gaW4gb3B0
czoKICAgICAgICAgICAgIGlmIG8gaW4gKCItaCIsICItLWhlbHAiKToKLSAgICAgICAgICAgICAg
ICBwcmludChfX2RvY19fKQorICAgICAgICAgICAgICAgIHByaW50IF9fZG9jX18KICAgICAgICAg
ICAgICAgICBzeXMuZXhpdCgwKQogCiAgICAgICAgIGlmIGFyZ3MgYW5kIGxlbihhcmdzKSA+IDE6
Ci0gICAgICAgICAgICBwcmludChfX2RvY19fKQorICAgICAgICAgICAgcHJpbnQgX19kb2NfXwog
ICAgICAgICAgICAgc3lzLmV4aXQoMCkKIAogICAgICAgICAjIEZpbmQgdGhlIGZ1bGx5IHF1YWxp
ZmllZCBwYXRoIHRvIHRoZSByb290IG9mIHRoZSB0cmVlCi0gICAgICAgIHRsID0gU3VicHJvY2Vz
cyhUT1BMRVZFTF9DTUQsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHRleHQ9VHJ1ZSkKKyAgICAg
ICAgdGwgPSBTdWJwcm9jZXNzKFRPUExFVkVMX0NNRCwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkK
ICAgICAgICAgdGwgPSB0bC5jb21tdW5pY2F0ZSgpWzBdLnN0cmlwKCkKIAogICAgICAgICAjIFNl
ZSBpZiB3ZSdyZSB3b3JraW5nIG9uIHRoZSBpbmRleCBvciBub3QuCkBAIC05Myw5ICs5Myw5IEBA
IGRlZiBtYWluKGFyZ3Y9Tm9uZSk6CiAKICAgICAgICAgIyBHZXQgYSBsaXN0IG9mIGFsbCBhZmZl
Y3RlZCBsaW5lcwogICAgICAgICBmaWxlX2FmZmVjdGVkX2xpbmVfbWFwID0ge30KLSAgICAgICAg
cCA9IFN1YnByb2Nlc3MoZGlmZl9jbWQsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHRleHQ9VHJ1
ZSkKKyAgICAgICAgcCA9IFN1YnByb2Nlc3MoZGlmZl9jbWQsIHN0ZG91dD1zdWJwcm9jZXNzLlBJ
UEUpCiAgICAgICAgIHN0ZG91dCA9IHAuY29tbXVuaWNhdGUoKVswXQotICAgICAgICBmb3IgaHVu
ayBpbiBkaWZmLlBhcnNlRGlmZkh1bmtzKGlvLlN0cmluZ0lPKHN0ZG91dCkpOgorICAgICAgICBm
b3IgaHVuayBpbiBkaWZmLlBhcnNlRGlmZkh1bmtzKFN0cmluZ0lPLlN0cmluZ0lPKHN0ZG91dCkp
OgogICAgICAgICAgICAgZmlsZW5hbWUgPSBodW5rLnJpZ2h0LmZpbGVuYW1lWzI6XQogICAgICAg
ICAgICAgaWYgZmlsZW5hbWUgbm90IGluIGZpbGVfYWZmZWN0ZWRfbGluZV9tYXA6CiAgICAgICAg
ICAgICAgICAgZmlsZV9hZmZlY3RlZF9saW5lX21hcFtmaWxlbmFtZV0gPSBzZXQoKQpAQCAtMTAz
LDcgKzEwMyw3IEBAIGRlZiBtYWluKGFyZ3Y9Tm9uZSk6CiAKICAgICAgICAgIyBSdW4gZWFjaCBh
ZmZlY3RlZCBmaWxlIHRocm91Z2ggY3BwbGludAogICAgICAgICBsaW50X2ZhaWxlZCA9IEZhbHNl
Ci0gICAgICAgIGZvciBmaWxlbmFtZSwgYWZmZWN0ZWRfbGluZXMgaW4gZmlsZV9hZmZlY3RlZF9s
aW5lX21hcC5pdGVtcygpOgorICAgICAgICBmb3IgZmlsZW5hbWUsIGFmZmVjdGVkX2xpbmVzIGlu
IGZpbGVfYWZmZWN0ZWRfbGluZV9tYXAuaXRlcml0ZW1zKCk6CiAgICAgICAgICAgICBpZiBmaWxl
bmFtZS5zcGxpdCgiLiIpWy0xXSBub3QgaW4gKCJjIiwgImgiLCAiY2MiKToKICAgICAgICAgICAg
ICAgICBjb250aW51ZQogICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3RhcnRzd2l0aCgidGhpcmRf
cGFydHkiKToKQEAgLTExMiwxNiArMTEyLDE0IEBAIGRlZiBtYWluKGFyZ3Y9Tm9uZSk6CiAgICAg
ICAgICAgICBpZiBhcmdzOgogICAgICAgICAgICAgICAgICMgRmlsZSBjb250ZW50cyBjb21lIGZy
b20gZ2l0CiAgICAgICAgICAgICAgICAgc2hvd19jbWQgPSBTSE9XX0NNRCArIFthcmdzWzBdICsg
IjoiICsgZmlsZW5hbWVdCi0gICAgICAgICAgICAgICAgc2hvdyA9IFN1YnByb2Nlc3Moc2hvd19j
bWQsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHRleHQ9VHJ1ZSkKKyAgICAgICAgICAgICAgICBz
aG93ID0gU3VicHJvY2VzcyhzaG93X2NtZCwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKICAgICAg
ICAgICAgICAgICBsaW50ID0gU3VicHJvY2VzcyhjcHBsaW50X2NtZCwgZXhwZWN0ZWRfcmV0dXJu
Y29kZT0oMCwgMSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c2hv
dy5zdGRvdXQsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGV4dD1UcnVlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0ZGluPXNob3cuc3Rkb3V0LCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQogICAgICAgICAgICAg
ICAgIGxpbnRfb3V0ID0gbGludC5jb21tdW5pY2F0ZSgpWzFdCiAgICAgICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgICAgICMgRmlsZSBjb250ZW50cyBjb21lIGZyb20gdGhlIHdvcmtpbmcgdHJl
ZQogICAgICAgICAgICAgICAgIGxpbnQgPSBTdWJwcm9jZXNzKGNwcGxpbnRfY21kLCBleHBlY3Rl
ZF9yZXR1cm5jb2RlPSgwLCAxKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGRpbj1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD1UcnVlKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuUElQ
RSkKICAgICAgICAgICAgICAgICBzdGRpbiA9IG9wZW4ob3MucGF0aC5qb2luKHRsLCBmaWxlbmFt
ZSkpLnJlYWQoKQogICAgICAgICAgICAgICAgIGxpbnRfb3V0ID0gbGludC5jb21tdW5pY2F0ZShz
dGRpbilbMV0KIApAQCAtMTMxLDE3ICsxMjksMTcgQEAgZGVmIG1haW4oYXJndj1Ob25lKToKICAg
ICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICB3YXJuaW5nX2xpbmVf
bnVtID0gaW50KGZpZWxkc1sxXSkKICAgICAgICAgICAgICAgICBpZiB3YXJuaW5nX2xpbmVfbnVt
IGluIGFmZmVjdGVkX2xpbmVzOgotICAgICAgICAgICAgICAgICAgICBwcmludCgiJXM6JWQ6JXMi
JShmaWxlbmFtZSwgd2FybmluZ19saW5lX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIjoiLmpvaW4oZmllbGRzWzI6XSkpKQorICAgICAgICAgICAgICAgICAgICBw
cmludCAiJXM6JWQ6JXMiJShmaWxlbmFtZSwgd2FybmluZ19saW5lX251bSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjoiLmpvaW4oZmllbGRzWzI6XSkpCiAgICAgICAg
ICAgICAgICAgICAgIGxpbnRfZmFpbGVkID0gVHJ1ZQogCiAgICAgICAgICMgU2V0IGV4aXQgY29k
ZSBpZiBhbnkgcmVsZXZhbnQgbGludCBlcnJvcnMgc2VlbgogICAgICAgICBpZiBsaW50X2ZhaWxl
ZDoKICAgICAgICAgICAgIHJldHVybiAxCiAKLSAgICBleGNlcHQgVXNhZ2UgYXMgZXJyOgotICAg
ICAgICBwcmludChlcnIsIGZpbGU9c3lzLnN0ZGVycikKLSAgICAgICAgcHJpbnQoImZvciBoZWxw
IHVzZSAtLWhlbHAiLCBmaWxlPXN5cy5zdGRlcnIpCisgICAgZXhjZXB0IFVzYWdlLCBlcnI6Cisg
ICAgICAgIHByaW50ID4+c3lzLnN0ZGVyciwgZXJyCisgICAgICAgIHByaW50ID4+c3lzLnN0ZGVy
ciwgImZvciBoZWxwIHVzZSAtLWhlbHAiCiAgICAgICAgIHJldHVybiAyCiAKIGlmIF9fbmFtZV9f
ID09ICJfX21haW5fXyI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzL3Rpbnlfc3NpbS5j
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC90b29scy90aW55X3NzaW0uYwppbmRleCA4ZmJhODE0NjIxYTIuLmZmNDYz
NGFkZTRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy90aW55X3NzaW0uYworKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3Rvb2xzL3Rpbnlfc3NpbS5jCkBAIC00MjUsMjQgKzQyNSwyMCBAQCBpbnQgbWFp
bihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CiAgICAgICBicmVhazsKICAgICB9CiAjaWYgQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKLSNkZWZpbmUgcHNucl9hbmRfc3NpbShzc2ltLCBwc25yLCBi
dWYwLCBidWYxLCB3LCBoKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBpZiAoYml0X2RlcHRoIDwgOSkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNzaW0gPSBzc2ltMihi
dWYwLCBidWYxLCB3LCB3LCB3LCBoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIHBzbnIgPSBjYWxjX3BsYW5lX2Vycm9yKGJ1ZjAsIHcsIGJ1ZjEsIHcsIHcsIGgp
OyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IHNzaW0gPSBoaWdoYmRfc3NpbTIoQ09OVkVSVF9UT19CWVRFUFRSKGJ1ZjApLCBDT05WRVJUX1RP
X0JZVEVQVFIoYnVmMSksIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdywgdywgdywgaCwg
Yml0X2RlcHRoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHBzbnIgPSBj
YWxjX3BsYW5lX2Vycm9yMTYoQ0FTVF9UT19TSE9SVFBUUihidWYwKSwgdywgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTVF9UT19TSE9SVFBU
UihidWYxKSwgdywgdywgaCk7ICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgcHNucl9hbmRfc3NpbShzc2ltLCBwc25yLCBidWYwLCBi
dWYxLCB3LCBoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGlmIChiaXRfZGVwdGgg
PCA5KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIHNzaW0gPSBzc2ltMihidWYwLCBidWYxLCB3LCB3LCB3LCBoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBwc25yID0gY2FsY19wbGFuZV9l
cnJvcihidWYwLCB3LCBidWYxLCB3LCB3LCBoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNzaW0gPSBoaWdoYmRfc3NpbTIoQ09OVkVS
VF9UT19CWVRFUFRSKGJ1ZjApLCBDT05WRVJUX1RPX0JZVEVQVFIoYnVmMSksIHcsIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHcsIHcsIGgsIGJpdF9kZXB0aCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgcHNuciA9IGNhbGNfcGxhbmVfZXJyb3IxNihDQVNUX1RP
X1NIT1JUUFRSKGJ1ZjApLCB3LCAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ0FTVF9UT19TSE9SVFBUUihidWYxKSwgdywgdywgaCk7ICAgICAg
ICAgICAgICAgIFwKKyAgfQogI2Vsc2UKLSNkZWZpbmUgcHNucl9hbmRfc3NpbShzc2ltLCBwc25y
LCBidWYwLCBidWYxLCB3LCBoKSAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3NpbSA9IHNzaW0yKGJ1ZjAsIGJ1ZjEsIHcsIHcs
IHcsIGgpOyAgICAgICAgICAgIFwKLSAgICBwc25yID0gY2FsY19wbGFuZV9lcnJvcihidWYwLCB3
LCBidWYxLCB3LCB3LCBoKTsgXAotICB9IHdoaWxlICgwKQorI2RlZmluZSBwc25yX2FuZF9zc2lt
KHNzaW0sIHBzbnIsIGJ1ZjAsIGJ1ZjEsIHcsIGgpIFwKKyAgc3NpbSA9IHNzaW0yKGJ1ZjAsIGJ1
ZjEsIHcsIHcsIHcsIGgpOyAgICAgICAgICAgICBcCisgIHBzbnIgPSBjYWxjX3BsYW5lX2Vycm9y
KGJ1ZjAsIHcsIGJ1ZjEsIHcsIHcsIGgpOwogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRE
RVBUSAogCiAgICAgaWYgKG5fZnJhbWVzID09IGFsbG9jYXRlZF9mcmFtZXMpIHsKQEAgLTQ1Mywx
MCArNDQ5LDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewogICAgICAgcHNu
cnkgPSByZWFsbG9jKHBzbnJ5LCBhbGxvY2F0ZWRfZnJhbWVzICogc2l6ZW9mKCpwc25yeSkpOwog
ICAgICAgcHNucnUgPSByZWFsbG9jKHBzbnJ1LCBhbGxvY2F0ZWRfZnJhbWVzICogc2l6ZW9mKCpw
c25ydSkpOwogICAgICAgcHNucnYgPSByZWFsbG9jKHBzbnJ2LCBhbGxvY2F0ZWRfZnJhbWVzICog
c2l6ZW9mKCpwc25ydikpOwotICAgICAgaWYgKCEoc3NpbXkgJiYgc3NpbXUgJiYgc3NpbXYgJiYg
cHNucnkgJiYgcHNucnUgJiYgcHNucnYpKSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJy
b3IgYWxsb2NhdGluZyBTU0lNL1BTTlIgZGF0YS5cbiIpOwotICAgICAgICBleGl0KEVYSVRfRkFJ
TFVSRSk7Ci0gICAgICB9CiAgICAgfQogICAgIHBzbnJfYW5kX3NzaW0oc3NpbXlbbl9mcmFtZXNd
LCBwc25yeVtuX2ZyYW1lc10sIHlbMF0sIHlbMV0sIHcsIGgpOwogICAgIHBzbnJfYW5kX3NzaW0o
c3NpbXVbbl9mcmFtZXNdLCBwc25ydVtuX2ZyYW1lc10sIHVbMF0sIHVbMV0sICh3ICsgMSkgLyAy
LApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy93cmFwLWNvbW1pdC1tc2cucHkgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3Rvb2xzL3dyYXAtY29tbWl0LW1zZy5weQppbmRleCBiYTNmYTU4NzMyOTIuLmQ1YjRi
MDQ2YjEzNyAxMDA3NTUKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29scy93cmFwLWNvbW1pdC1tc2cucHkK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC90b29scy93cmFwLWNvbW1pdC1tc2cucHkKQEAgLTEsNCArMSw0IEBA
Ci0jIS91c3IvYmluL2VudiBweXRob24zCisjIS91c3IvYmluL2VudiBweXRob24KICMjICBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgogIyMKICMjICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJT
RC1zdHlsZSBsaWNlbnNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Rvb2xzX2NvbW1vbi5jIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC90b29sc19jb21tb24uYwppbmRleCA1YzEzNzgxNTEzZDAuLmNiZWNmYmI0MTkz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29sc19jb21tb24uYworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3Rvb2xzX2NvbW1vbi5jCkBAIC0yNCw4ICsyNCw2IEBACiAjaW5jbHVkZSAidnB4L3ZwOGR4Lmgi
CiAjZW5kaWYKIAotI2luY2x1ZGUgInZweC92cHhfY29kZWMuaCIKLQogI2lmIGRlZmluZWQoX1dJ
TjMyKSB8fCBkZWZpbmVkKF9fT1MyX18pCiAjaW5jbHVkZSA8aW8uaD4KICNpbmNsdWRlIDxmY250
bC5oPgpAQCAtNzksOCArNzcsOCBAQCB2b2lkIHdhcm4oY29uc3QgY2hhciAqZm10LCAuLi4pIHsg
TE9HX0VSUk9SKCJXYXJuaW5nIik7IH0KIHZvaWQgZGllX2NvZGVjKHZweF9jb2RlY19jdHhfdCAq
Y3R4LCBjb25zdCBjaGFyICpzKSB7CiAgIGNvbnN0IGNoYXIgKmRldGFpbCA9IHZweF9jb2RlY19l
cnJvcl9kZXRhaWwoY3R4KTsKIAotICBmcHJpbnRmKHN0ZGVyciwgIiVzOiAlc1xuIiwgcywgdnB4
X2NvZGVjX2Vycm9yKGN0eCkpOwotICBpZiAoZGV0YWlsKSBmcHJpbnRmKHN0ZGVyciwgIiAgICAl
c1xuIiwgZGV0YWlsKTsKKyAgcHJpbnRmKCIlczogJXNcbiIsIHMsIHZweF9jb2RlY19lcnJvcihj
dHgpKTsKKyAgaWYgKGRldGFpbCkgcHJpbnRmKCIgICAgJXNcbiIsIGRldGFpbCk7CiAgIGV4aXQo
RVhJVF9GQUlMVVJFKTsKIH0KIApAQCAtMzc3LDcgKzM3NSw3IEBAIHN0YXRpYyB2b2lkIGhpZ2hi
ZF9pbWdfdXBzaGlmdCh2cHhfaW1hZ2VfdCAqZHN0LCB2cHhfaW1hZ2VfdCAqc3JjLAogICAgIGNh
c2UgVlBYX0lNR19GTVRfSTQyMjE2OgogICAgIGNhc2UgVlBYX0lNR19GTVRfSTQ0NDE2OgogICAg
IGNhc2UgVlBYX0lNR19GTVRfSTQ0MDE2OiBicmVhazsKLSAgICBkZWZhdWx0OiBmYXRhbCgiVW5z
dXBwb3J0ZWQgaW1hZ2UgY29udmVyc2lvbiIpOworICAgIGRlZmF1bHQ6IGZhdGFsKCJVbnN1cHBv
cnRlZCBpbWFnZSBjb252ZXJzaW9uIik7IGJyZWFrOwogICB9CiAgIGZvciAocGxhbmUgPSAwOyBw
bGFuZSA8IDM7IHBsYW5lKyspIHsKICAgICBpbnQgdyA9IHNyYy0+ZF93OwpAQCAtNDEzLDcgKzQx
MSw3IEBAIHN0YXRpYyB2b2lkIGxvd2JkX2ltZ191cHNoaWZ0KHZweF9pbWFnZV90ICpkc3QsIHZw
eF9pbWFnZV90ICpzcmMsCiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDIyOgogICAgIGNhc2UgVlBY
X0lNR19GTVRfSTQ0NDoKICAgICBjYXNlIFZQWF9JTUdfRk1UX0k0NDA6IGJyZWFrOwotICAgIGRl
ZmF1bHQ6IGZhdGFsKCJVbnN1cHBvcnRlZCBpbWFnZSBjb252ZXJzaW9uIik7CisgICAgZGVmYXVs
dDogZmF0YWwoIlVuc3VwcG9ydGVkIGltYWdlIGNvbnZlcnNpb24iKTsgYnJlYWs7CiAgIH0KICAg
Zm9yIChwbGFuZSA9IDA7IHBsYW5lIDwgMzsgcGxhbmUrKykgewogICAgIGludCB3ID0gc3JjLT5k
X3c7CkBAIC00NTQsNyArNDUyLDcgQEAgdm9pZCB2cHhfaW1nX3RydW5jYXRlXzE2X3RvXzgodnB4
X2ltYWdlX3QgKmRzdCwgdnB4X2ltYWdlX3QgKnNyYykgewogICAgIGNhc2UgVlBYX0lNR19GTVRf
STQyMjoKICAgICBjYXNlIFZQWF9JTUdfRk1UX0k0NDQ6CiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9J
NDQwOiBicmVhazsKLSAgICBkZWZhdWx0OiBmYXRhbCgiVW5zdXBwb3J0ZWQgaW1hZ2UgY29udmVy
c2lvbiIpOworICAgIGRlZmF1bHQ6IGZhdGFsKCJVbnN1cHBvcnRlZCBpbWFnZSBjb252ZXJzaW9u
Iik7IGJyZWFrOwogICB9CiAgIGZvciAocGxhbmUgPSAwOyBwbGFuZSA8IDM7IHBsYW5lKyspIHsK
ICAgICBpbnQgdyA9IHNyYy0+ZF93OwpAQCAtNDg5LDcgKzQ4Nyw3IEBAIHN0YXRpYyB2b2lkIGhp
Z2hiZF9pbWdfZG93bnNoaWZ0KHZweF9pbWFnZV90ICpkc3QsIHZweF9pbWFnZV90ICpzcmMsCiAg
ICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDIyMTY6CiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDQ0MTY6
CiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDQwMTY6IGJyZWFrOwotICAgIGRlZmF1bHQ6IGZhdGFs
KCJVbnN1cHBvcnRlZCBpbWFnZSBjb252ZXJzaW9uIik7CisgICAgZGVmYXVsdDogZmF0YWwoIlVu
c3VwcG9ydGVkIGltYWdlIGNvbnZlcnNpb24iKTsgYnJlYWs7CiAgIH0KICAgZm9yIChwbGFuZSA9
IDA7IHBsYW5lIDwgMzsgcGxhbmUrKykgewogICAgIGludCB3ID0gc3JjLT5kX3c7CkBAIC01MjMs
NyArNTIxLDcgQEAgc3RhdGljIHZvaWQgbG93YmRfaW1nX2Rvd25zaGlmdCh2cHhfaW1hZ2VfdCAq
ZHN0LCB2cHhfaW1hZ2VfdCAqc3JjLAogICAgIGNhc2UgVlBYX0lNR19GTVRfSTQyMjoKICAgICBj
YXNlIFZQWF9JTUdfRk1UX0k0NDQ6CiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDQwOiBicmVhazsK
LSAgICBkZWZhdWx0OiBmYXRhbCgiVW5zdXBwb3J0ZWQgaW1hZ2UgY29udmVyc2lvbiIpOworICAg
IGRlZmF1bHQ6IGZhdGFsKCJVbnN1cHBvcnRlZCBpbWFnZSBjb252ZXJzaW9uIik7IGJyZWFrOwog
ICB9CiAgIGZvciAocGxhbmUgPSAwOyBwbGFuZSA8IDM7IHBsYW5lKyspIHsKICAgICBpbnQgdyA9
IHNyYy0+ZF93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29sc19jb21tb24uaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdG9vbHNfY29tbW9uLmgKaW5kZXggOTg1MDkwN2MxNTVhLi40NTI2ZDlmMTY1YzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdG9vbHNfY29tbW9uLmgKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC90b29s
c19jb21tb24uaApAQCAtMTEwLDQ0ICsxMTAsMzAgQEAgZXh0ZXJuICJDIiB7CiAKICNpZiBkZWZp
bmVkKF9fR05VQ19fKQogI2RlZmluZSBWUFhfTk9fUkVUVVJOIF9fYXR0cmlidXRlX18oKG5vcmV0
dXJuKSkKLSNlbGlmIGRlZmluZWQoX01TQ19WRVIpCi0jZGVmaW5lIFZQWF9OT19SRVRVUk4gX19k
ZWNsc3BlYyhub3JldHVybikKICNlbHNlCiAjZGVmaW5lIFZQWF9OT19SRVRVUk4KICNlbmRpZgog
Ci0vLyBUZWxscyB0aGUgY29tcGlsZXIgdG8gcGVyZm9ybSBgcHJpbnRmYCBmb3JtYXQgc3RyaW5n
IGNoZWNraW5nIGlmIHRoZQotLy8gY29tcGlsZXIgc3VwcG9ydHMgaXQ7IHNlZSB0aGUgJ2Zvcm1h
dCcgYXR0cmlidXRlIGluCi0vLyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy9D
b21tb24tRnVuY3Rpb24tQXR0cmlidXRlcy5odG1sPi4KLSNkZWZpbmUgVlBYX1RPT0xTX0ZPUk1B
VF9QUklOVEYoc3RyaW5nX2luZGV4LCBmaXJzdF90b19jaGVjaykKLSNpZiBkZWZpbmVkKF9faGFz
X2F0dHJpYnV0ZSkKLSNpZiBfX2hhc19hdHRyaWJ1dGUoZm9ybWF0KQotI3VuZGVmIFZQWF9UT09M
U19GT1JNQVRfUFJJTlRGCi0jZGVmaW5lIFZQWF9UT09MU19GT1JNQVRfUFJJTlRGKHN0cmluZ19p
bmRleCwgZmlyc3RfdG9fY2hlY2spIFwKLSAgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhfX3By
aW50Zl9fLCBzdHJpbmdfaW5kZXgsIGZpcnN0X3RvX2NoZWNrKSkpCi0jZW5kaWYKLSNlbmRpZgot
CiAvKiBTZXRzIGEgc3RkaW8gc3RyZWFtIGludG8gYmluYXJ5IG1vZGUgKi8KIEZJTEUgKnNldF9i
aW5hcnlfbW9kZShGSUxFICpzdHJlYW0pOwogCi1WUFhfTk9fUkVUVVJOIHZvaWQgZGllKGNvbnN0
IGNoYXIgKmZtdCwgLi4uKSBWUFhfVE9PTFNfRk9STUFUX1BSSU5URigxLCAyKTsKLVZQWF9OT19S
RVRVUk4gdm9pZCBmYXRhbChjb25zdCBjaGFyICpmbXQsIC4uLikgVlBYX1RPT0xTX0ZPUk1BVF9Q
UklOVEYoMSwgMik7Ci12b2lkIHdhcm4oY29uc3QgY2hhciAqZm10LCAuLi4pIFZQWF9UT09MU19G
T1JNQVRfUFJJTlRGKDEsIDIpOwordm9pZCBkaWUoY29uc3QgY2hhciAqZm10LCAuLi4pIFZQWF9O
T19SRVRVUk47Cit2b2lkIGZhdGFsKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBWUFhfTk9fUkVUVVJO
Owordm9pZCB3YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAotVlBYX05PX1JFVFVSTiB2b2lk
IGRpZV9jb2RlYyh2cHhfY29kZWNfY3R4X3QgKmN0eCwgY29uc3QgY2hhciAqcyk7Cit2b2lkIGRp
ZV9jb2RlYyh2cHhfY29kZWNfY3R4X3QgKmN0eCwgY29uc3QgY2hhciAqcykgVlBYX05PX1JFVFVS
TjsKIAogLyogVGhlIHRvb2wgaW5jbHVkaW5nIHRoaXMgZmlsZSBtdXN0IGRlZmluZSB1c2FnZV9l
eGl0KCkgKi8KLVZQWF9OT19SRVRVUk4gdm9pZCB1c2FnZV9leGl0KHZvaWQpOwordm9pZCB1c2Fn
ZV9leGl0KHZvaWQpIFZQWF9OT19SRVRVUk47CiAKICN1bmRlZiBWUFhfTk9fUkVUVVJOCiAKIGlu
dCByZWFkX3l1dl9mcmFtZShzdHJ1Y3QgVnB4SW5wdXRDb250ZXh0ICppbnB1dF9jdHgsIHZweF9p
bWFnZV90ICp5dXZfZnJhbWUpOwogCiB0eXBlZGVmIHN0cnVjdCBWcHhJbnRlcmZhY2UgewotICBj
b25zdCBjaGFyICpuYW1lOwotICB1aW50MzJfdCBmb3VyY2M7Ci0gIHZweF9jb2RlY19pZmFjZV90
ICooKmNvZGVjX2ludGVyZmFjZSkodm9pZCk7CisgIGNvbnN0IGNoYXIgKmNvbnN0IG5hbWU7Cisg
IGNvbnN0IHVpbnQzMl90IGZvdXJjYzsKKyAgdnB4X2NvZGVjX2lmYWNlX3QgKigqY29uc3QgY29k
ZWNfaW50ZXJmYWNlKSgpOwogfSBWcHhJbnRlcmZhY2U7CiAKIGludCBnZXRfdnB4X2VuY29kZXJf
Y291bnQodm9pZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24v
c2l4dGFwcHJlZGljdF9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vc2l4
dGFwcHJlZGljdF9uZW9uLmMKaW5kZXggZWUzYzI4MWYwZjk3Li40OGU4NmQzMjc4MTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9hcm0vbmVvbi9zaXh0YXBwcmVkaWN0X25lb24u
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYXJtL25lb24vc2l4dGFwcHJlZGljdF9uZW9u
LmMKQEAgLTE2LDcgKzE2LDcgQEAKICNpbmNsdWRlICJ2cHhfcG9ydHMvbWVtLmgiCiAKIHN0YXRp
YyBjb25zdCBpbnQ4X3QgdnA4X3N1Yl9wZWxfZmlsdGVyc1s4XVs4XSA9IHsKLSAgeyAwLCAwLCAx
MjgsIDAsIDAsIDAsIDAsIDAgfSwgICAgIC8qIG5vdGUgdGhhdCAxLzggcGVsIHBvc2l0aW9ucyBh
cmUgKi8KKyAgeyAwLCAwLCAxMjgsIDAsIDAsIDAsIDAsIDAgfSwgICAgIC8qIG5vdGUgdGhhdCAx
LzggcGVsIHBvc2l0aW9ueXlzIGFyZSAqLwogICB7IDAsIC02LCAxMjMsIDEyLCAtMSwgMCwgMCwg
MCB9LCAgLyogICAganVzdCBhcyBwZXIgYWxwaGEgLTAuNSBiaWN1YmljICovCiAgIHsgMiwgLTEx
LCAxMDgsIDM2LCAtOCwgMSwgMCwgMCB9LCAvKiBOZXcgMS80IHBlbCA2IHRhcCBmaWx0ZXIgKi8K
ICAgeyAwLCAtOSwgOTMsIDUwLCAtNiwgMCwgMCwgMCB9LApAQCAtNzgxLDYgKzc4MSw3IEBAIHZv
aWQgdnA4X3NpeHRhcF9wcmVkaWN0OHg0X25lb24odW5zaWduZWQgY2hhciAqc3JjX3B0ciwgaW50
IHNyY19waXhlbHNfcGVyX2xpbmUsCiAgIHZzdDFfdTgoZHN0X3B0ciwgZDh1OCk7CiAgIGRzdF9w
dHIgKz0gZHN0X3BpdGNoOwogICB2c3QxX3U4KGRzdF9wdHIsIGQ5dTgpOworICByZXR1cm47CiB9
CiAKIHZvaWQgdnA4X3NpeHRhcF9wcmVkaWN0OHg4X25lb24odW5zaWduZWQgY2hhciAqc3JjX3B0
ciwgaW50IHNyY19waXhlbHNfcGVyX2xpbmUsCkBAIC0xMjQ5LDYgKzEyNTAsNyBAQCB2b2lkIHZw
OF9zaXh0YXBfcHJlZGljdDh4OF9uZW9uKHVuc2lnbmVkIGNoYXIgKnNyY19wdHIsIGludCBzcmNf
cGl4ZWxzX3Blcl9saW5lLAogICAgIHZzdDFfdTgoZHN0X3B0ciwgZDl1OCk7CiAgICAgZHN0X3B0
ciArPSBkc3RfcGl0Y2g7CiAgIH0KKyAgcmV0dXJuOwogfQogCiB2b2lkIHZwOF9zaXh0YXBfcHJl
ZGljdDE2eDE2X25lb24odW5zaWduZWQgY2hhciAqc3JjX3B0ciwKQEAgLTE1MDIsOSArMTUwNCw3
IEBAIHZvaWQgdnA4X3NpeHRhcF9wcmVkaWN0MTZ4MTZfbmVvbih1bnNpZ25lZCBjaGFyICpzcmNf
cHRyLAogICAgIHNyYyArPSBzcmNfcGl4ZWxzX3Blcl9saW5lOwogICAgIGQxMnU4ID0gdmxkMV91
OChzcmMpOwogICAgIGQxM3U4ID0gdmxkMV91OChzcmMgKyA4KTsKLSAgICAvLyBPbmx5IDUgcGl4
ZWxzIGFyZSBuZWVkZWQsIGF2b2lkIGEgcG90ZW50aWFsIG91dCBvZiBib3VuZHMgcmVhZC4KLSAg
ICBkMTR1OCA9IHZsZDFfdTgoc3JjICsgMTMpOwotICAgIGQxNHU4ID0gdmV4dF91OChkMTR1OCwg
ZDE0dTgsIDMpOworICAgIGQxNHU4ID0gdmxkMV91OChzcmMgKyAxNik7CiAgICAgc3JjICs9IHNy
Y19waXhlbHNfcGVyX2xpbmU7CiAKICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goc3JjKTsKQEAgLTE3
MjYsNCArMTcyNiw1IEBAIHZvaWQgdnA4X3NpeHRhcF9wcmVkaWN0MTZ4MTZfbmVvbih1bnNpZ25l
ZCBjaGFyICpzcmNfcHRyLAogICAgICAgZHN0ICs9IGRzdF9waXRjaDsKICAgICB9CiAgIH0KKyAg
cmV0dXJuOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2Jsb2NrZC5oIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvY29tbW9uL2Jsb2NrZC5oCmluZGV4IDgzMDBhYWQ5NDFkYS4uMDJhYmUw
NTNjYjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vYmxvY2tkLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvY29tbW9uL2Jsb2NrZC5oCkBAIC01OCw3ICs1OCw3IEBAIHR5cGVkZWYg
c3RydWN0IHsKIGV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIHZwOF9ibG9jazJsZWZ0WzI1XTsK
IGV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIHZwOF9ibG9jazJhYm92ZVsyNV07CiAKLSNkZWZp
bmUgVlA4X0NPTUJJTkVFTlRST1BZQ09OVEVYVFMoRGVzdCwgQSwgQikgRGVzdCA9IChBKSArIChC
KQorI2RlZmluZSBWUDhfQ09NQklORUVOVFJPUFlDT05URVhUUyhEZXN0LCBBLCBCKSBEZXN0ID0g
KEEpICsgKEIpOwogCiB0eXBlZGVmIGVudW0geyBLRVlfRlJBTUUgPSAwLCBJTlRFUl9GUkFNRSA9
IDEgfSBGUkFNRV9UWVBFOwogCkBAIC0yNTEsNyArMjUxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgbWFj
cm9ibG9ja2QgewogICB1bnNpZ25lZCBjaGFyIHVwZGF0ZV9tYl9zZWdtZW50YXRpb25fZGF0YTsK
IAogICAvKiAwIChkbyBub3QgdXBkYXRlKSAxICh1cGRhdGUpIHRoZSBtYWNyb2Jsb2NrIHNlZ21l
bnRhdGlvbiBmZWF0dXJlIGRhdGEuICovCi0gIHVuc2lnbmVkIGNoYXIgbWJfc2VnbWVudF9hYnNf
ZGVsdGE7CisgIHVuc2lnbmVkIGNoYXIgbWJfc2VnZW1lbnRfYWJzX2RlbHRhOwogCiAgIC8qIFBl
ciBmcmFtZSBmbGFncyB0aGF0IGRlZmluZSB3aGljaCBNQiBsZXZlbCBmZWF0dXJlcyAoc3VjaCBh
cyBxdWFudGl6ZXIgb3IKICAgICogbG9vcCBmaWx0ZXIgbGV2ZWwpICovCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9jb21tb24vY29tbW9uLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vY29t
bW9uLmgKaW5kZXggNTYyNTY5ZjlhYjQyLi4yYzMwZThkNmM1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L2NvbW1vbi9jb21tb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vY29t
bW9uLmgKQEAgLTI0LDIyICsyNCwyMiBAQCBleHRlcm4gIkMiIHsKIC8qIE9ubHkgbmVlZCB0aGlz
IGZvciBmaXhlZC1zaXplIGFycmF5cywgZm9yIHN0cnVjdHMganVzdCBhc3NpZ24uICovCiAKICNk
ZWZpbmUgdnA4X2NvcHkoRGVzdCwgU3JjKSAgICAgICAgICAgICAgXAotICBkbyB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBhc3NlcnQoc2l6ZW9mKERlc3QpID09IHNpemVvZihTcmMpKTsg
XAogICAgIG1lbWNweShEZXN0LCBTcmMsIHNpemVvZihTcmMpKTsgICAgICBcCi0gIH0gd2hpbGUg
KDApCisgIH0KIAogLyogVXNlIHRoaXMgZm9yIHZhcmlhYmx5LXNpemVkIGFycmF5cy4gKi8KIAog
I2RlZmluZSB2cDhfY29weV9hcnJheShEZXN0LCBTcmMsIE4pICAgICAgICAgICBcCi0gIGRvIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGFzc2VydChzaXplb2YoKihE
ZXN0KSkgPT0gc2l6ZW9mKCooU3JjKSkpOyBcCiAgICAgbWVtY3B5KERlc3QsIFNyYywgKE4pICog
c2l6ZW9mKCooU3JjKSkpOyAgIFwKLSAgfSB3aGlsZSAoMCkKKyAgfQogCi0jZGVmaW5lIHZwOF96
ZXJvKERlc3QpIG1lbXNldCgmKERlc3QpLCAwLCBzaXplb2YoRGVzdCkpCisjZGVmaW5lIHZwOF96
ZXJvKERlc3QpIG1lbXNldCgmKERlc3QpLCAwLCBzaXplb2YoRGVzdCkpOwogCi0jZGVmaW5lIHZw
OF96ZXJvX2FycmF5KERlc3QsIE4pIG1lbXNldChEZXN0LCAwLCAoTikgKiBzaXplb2YoKihEZXN0
KSkpCisjZGVmaW5lIHZwOF96ZXJvX2FycmF5KERlc3QsIE4pIG1lbXNldChEZXN0LCAwLCAoTikg
KiBzaXplb2YoKihEZXN0KSkpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0gIC8vIGV4dGVybiAi
QyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9maW5kbmVhcm12LmMgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vZmluZG5lYXJtdi5jCmluZGV4IDNiMzE5MjM2MjFkYS4uNjg4OWZk
ZWRkZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vZmluZG5lYXJtdi5jCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9maW5kbmVhcm12LmMKQEAgLTEwNSw5ICsxMDUsOSBA
QCB2b2lkIHZwOF9maW5kX25lYXJfbXZzKE1BQ1JPQkxPQ0tEICp4ZCwgY29uc3QgTU9ERV9JTkZP
ICpoZXJlLCBpbnRfbXYgKm5lYXJlc3QsCiAgICAgdG1wID0gbmVhcl9tdl9yZWZfY250c1tDTlRf
TkVBUkVTVF07CiAgICAgbmVhcl9tdl9yZWZfY250c1tDTlRfTkVBUkVTVF0gPSBuZWFyX212X3Jl
Zl9jbnRzW0NOVF9ORUFSXTsKICAgICBuZWFyX212X3JlZl9jbnRzW0NOVF9ORUFSXSA9IHRtcDsK
LSAgICB0bXAgPSAoaW50KW5lYXJfbXZzW0NOVF9ORUFSRVNUXS5hc19pbnQ7CisgICAgdG1wID0g
bmVhcl9tdnNbQ05UX05FQVJFU1RdLmFzX2ludDsKICAgICBuZWFyX212c1tDTlRfTkVBUkVTVF0u
YXNfaW50ID0gbmVhcl9tdnNbQ05UX05FQVJdLmFzX2ludDsKLSAgICBuZWFyX212c1tDTlRfTkVB
Ul0uYXNfaW50ID0gKHVpbnQzMl90KXRtcDsKKyAgICBuZWFyX212c1tDTlRfTkVBUl0uYXNfaW50
ID0gdG1wOwogICB9CiAKICAgLyogVXNlIG5lYXJfbXZzWzBdIHRvIHN0b3JlIHRoZSAiYmVzdCIg
TVYgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9nZW5lcmljL3N5c3RlbWRl
cGVuZGVudC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2dlbmVyaWMvc3lzdGVtZGVwZW5kZW50
LmMKaW5kZXggNzE1MjliZGZkODgzLi5jZDFiMDJjOWNjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2NvbW1vbi9nZW5lcmljL3N5c3RlbWRlcGVuZGVudC5jCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2NvbW1vbi9nZW5lcmljL3N5c3RlbWRlcGVuZGVudC5jCkBAIC0xOCw4ICsxOCw2IEBACiAj
aW5jbHVkZSAidnB4X3BvcnRzL3BwYy5oIgogI2VsaWYgVlBYX0FSQ0hfTUlQUwogI2luY2x1ZGUg
InZweF9wb3J0cy9taXBzLmgiCi0jZWxpZiBWUFhfQVJDSF9MT09OR0FSQ0gKLSNpbmNsdWRlICJ2
cHhfcG9ydHMvbG9vbmdhcmNoLmgiCiAjZW5kaWYKICNpbmNsdWRlICJ2cDgvY29tbW9uL29ueXhj
X2ludC5oIgogI2luY2x1ZGUgInZwOC9jb21tb24vc3lzdGVtZGVwZW5kZW50LmgiCkBAIC0xMDIs
OCArMTAwLDYgQEAgdm9pZCB2cDhfbWFjaGluZV9zcGVjaWZpY19jb25maWcoVlA4X0NPTU1PTiAq
Y3R4KSB7CiAgIGN0eC0+Y3B1X2NhcHMgPSBwcGNfc2ltZF9jYXBzKCk7CiAjZWxpZiBWUFhfQVJD
SF9NSVBTCiAgIGN0eC0+Y3B1X2NhcHMgPSBtaXBzX2NwdV9jYXBzKCk7Ci0jZWxpZiBWUFhfQVJD
SF9MT09OR0FSQ0gKLSAgY3R4LT5jcHVfY2FwcyA9IGxvb25nYXJjaF9jcHVfY2FwcygpOwogI2Vs
c2UKICAgLy8gZ2VuZXJpYy1nbnUgdGFyZ2V0cy4KICAgY3R4LT5jcHVfY2FwcyA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vbG9vbmdhcmNoL2lkY3RfbHN4LmMgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vbG9vbmdhcmNoL2lkY3RfbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGVlZTg3MWVlYzQ2ZS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2NvbW1vbi9sb29uZ2FyY2gvaWRjdF9sc3guYworKysgL2Rldi9udWxsCkBAIC0xLDMyMiAr
MCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhv
cnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl
IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVl
LiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJl
IGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVj
dCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJv
b3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlICIuL3ZwOF9ydGNkLmgiCi0j
aW5jbHVkZSAidnA4L2NvbW1vbi9ibG9ja2QuaCIKLSNpbmNsdWRlICJ2cHhfdXRpbC9sb29uZ3Nv
bl9pbnRyaW5zaWNzLmgiCi0KLXN0YXRpYyBjb25zdCBpbnQzMl90IGNvc3BpOHNxcnQybWludXMx
ID0gMjAwOTE7Ci1zdGF0aWMgY29uc3QgaW50MzJfdCBzaW5waThzcXJ0MiA9IDM1NDY4OwotCi0j
ZGVmaW5lIFRSQU5TUE9TRThYNF9TSF9TSChpbjAsIGluMSwgaW4yLCBpbjMsIG91dDAsIG91dDEs
IG91dDIsIG91dDMpICAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgdG1wMF9t
LCB0bXAxX20sIHRtcDJfbSwgdG1wM19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfaCwgaW4xLCBp
bjAsIGluMywgaW4yLCB0bXAwX20sIHRtcDFfbSk7ICAgICAgICAgXAotICAgIERVUDJfQVJHMihf
X2xzeF92aWx2aF9oLCBpbjEsIGluMCwgaW4zLCBpbjIsIHRtcDJfbSwgdG1wM19tKTsgICAgICAg
ICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX3csIHRtcDFfbSwgdG1wMF9tLCB0bXAzX20s
IHRtcDJfbSwgb3V0MCwgb3V0Mik7IFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfdywgdG1w
MV9tLCB0bXAwX20sIHRtcDNfbSwgdG1wMl9tLCBvdXQxLCBvdXQzKTsgXAotICB9IHdoaWxlICgw
KQotCi0jZGVmaW5lIFRSQU5TUE9TRV9UV09fNHg0X0goaW4wLCBpbjEsIGluMiwgaW4zLCBvdXQw
LCBvdXQxLCBvdXQyLCBvdXQzKSBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBzNF9t
LCBzNV9tLCBzNl9tLCBzN19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgVFJBTlNQT1NFOFg0X1NIX1NIKGluMCwgaW4xLCBpbjIs
IGluMywgczRfbSwgczVfbSwgczZfbSwgczdfbSk7ICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZpbHZsX2QsIHM2X20sIHM0X20sIHM3X20sIHM1X20sIG91dDAsIG91dDIpOyAgICAgICBcCi0g
ICAgb3V0MSA9IF9fbHN4X3ZpbHZoX2QoczZfbSwgczRfbSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgb3V0MyA9IF9fbHN4X3ZpbHZoX2QoczdfbSwgczVfbSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNkZWZp
bmUgRVhQQU5EX1RPX0hfTVVMVElQTFlfU0lOUEk4U1FSVDJfUENLX1RPX1coaW4wLCBpbjEpICAg
XAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX19tMTI4aSB6ZXJvX20gPSBfX2xzeF92bGRpKDApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHRtcDFfbSwgdG1wMl9tOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgc2lucGk4X3NxcnQyX20gPSBf
X2xzeF92cmVwbGdyMnZyX3coc2lucGk4c3FydDIpOyBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0bXAxX20gPSBf
X2xzeF92aWx2bF9oKGluMCwgemVyb19tKTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHRt
cDJfbSA9IF9fbHN4X3ZpbHZoX2goaW4wLCB6ZXJvX20pOyAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgdG1wMV9tID0gX19sc3hfdnNyYWlfdyh0bXAxX20sIDE2KTsgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICB0bXAyX20gPSBfX2xzeF92c3JhaV93KHRtcDJfbSwgMTYpOyAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIHRtcDFfbSA9IF9fbHN4X3ZtdWxfdyh0bXAxX20sIHNpbnBp
OF9zcXJ0Ml9tKTsgICAgICAgICAgICBcCi0gICAgdG1wMV9tID0gX19sc3hfdnNyYWlfdyh0bXAx
X20sIDE2KTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0bXAyX20gPSBfX2xzeF92bXVs
X3codG1wMl9tLCBzaW5waThfc3FydDJfbSk7ICAgICAgICAgICAgXAotICAgIHRtcDJfbSA9IF9f
bHN4X3ZzcmFpX3codG1wMl9tLCAxNik7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW4x
ID0gX19sc3hfdnBpY2tldl9oKHRtcDJfbSwgdG1wMV9tKTsgICAgICAgICAgICAgICAgICAgIFwK
LSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBWUDhfSURDVF8xRF9IKGluMCwgaW4xLCBpbjIsIGlu
Mywgb3V0MCwgb3V0MSwgb3V0Miwgb3V0MykgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
X20xMjhpIGExX20sIGIxX20sIGMxX20sIGQxX207ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9fbTEyOGkgY190bXAxX20sIGNfdG1wMl9tOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBkX3RtcDFfbSwgZF90bXAy
X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhp
IGNvbnN0X2Nvc3BpOHNxcnQybWludXMxX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgY29uc3RfY29zcGk4c3FydDJtaW51czFfbSA9IF9f
bHN4X3ZyZXBsZ3IydnJfaChjb3NwaThzcXJ0Mm1pbnVzMSk7IFwKLSAgICBhMV9tID0gX19sc3hf
dmFkZF9oKGluMCwgaW4yKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIGIxX20gPSBfX2xzeF92c3ViX2goaW4wLCBpbjIpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgRVhQQU5EX1RPX0hfTVVMVElQTFlfU0lOUEk4U1FSVDJfUENL
X1RPX1coaW4xLCBjX3RtcDFfbSk7ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNf
dG1wMl9tID0gX19sc3hfdm11aF9oKGluMywgY29uc3RfY29zcGk4c3FydDJtaW51czFfbSk7ICAg
ICAgICAgICBcCi0gICAgY190bXAyX20gPSBfX2xzeF92c2xsaV9oKGNfdG1wMl9tLCAxKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjX3RtcDJfbSA9IF9fbHN4X3ZzcmFpX2go
Y190bXAyX20sIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNfdG1wMl9t
ID0gX19sc3hfdmFkZF9oKGluMywgY190bXAyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgYzFfbSA9IF9fbHN4X3ZzdWJfaChjX3RtcDFfbSwgY190bXAyX20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRfdG1wMV9tID0gX19s
c3hfdm11aF9oKGluMSwgY29uc3RfY29zcGk4c3FydDJtaW51czFfbSk7ICAgICAgICAgICBcCi0g
ICAgZF90bXAxX20gPSBfX2xzeF92c2xsaV9oKGRfdG1wMV9tLCAxKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBkX3RtcDFfbSA9IF9fbHN4X3ZzcmFpX2goZF90bXAxX20sIDEp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRfdG1wMV9tID0gX19sc3hfdmFk
ZF9oKGluMSwgZF90bXAxX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQ
QU5EX1RPX0hfTVVMVElQTFlfU0lOUEk4U1FSVDJfUENLX1RPX1coaW4zLCBkX3RtcDJfbSk7ICAg
ICAgICAgIFwKLSAgICBkMV9tID0gX19sc3hfdmFkZF9oKGRfdG1wMV9tLCBkX3RtcDJfbSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIExTWF9CVVRURVJGTFlfNF9IKGExX20sIGIx
X20sIGMxX20sIGQxX20sIG91dDAsIG91dDEsIG91dDIsIG91dDMpOyBcCi0gIH0gd2hpbGUgKDAp
Ci0KLSNkZWZpbmUgVlA4X0lEQ1RfMURfVyhpbjAsIGluMSwgaW4yLCBpbjMsIG91dDAsIG91dDEs
IG91dDIsIG91dDMpICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBhMV9tLCBi
MV9tLCBjMV9tLCBkMV9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfX20xMjhpIGNfdG1wMV9tLCBjX3RtcDJfbSwgZF90bXAxX20sIGRfdG1wMl9tOyAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgY29uc3RfY29zcGk4c3FydDJtaW51czFfbSwgc2lu
cGk4X3NxcnQyX207ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjb25z
dF9jb3NwaThzcXJ0Mm1pbnVzMV9tID0gX19sc3hfdnJlcGxncjJ2cl93KGNvc3BpOHNxcnQybWlu
dXMxKTsgXAotICAgIHNpbnBpOF9zcXJ0Ml9tID0gX19sc3hfdnJlcGxncjJ2cl93KHNpbnBpOHNx
cnQyKTsgICAgICAgICAgICAgICAgICBcCi0gICAgYTFfbSA9IF9fbHN4X3ZhZGRfdyhpbjAsIGlu
Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBiMV9tID0gX19s
c3hfdnN1Yl93KGluMCwgaW4yKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIGNfdG1wMV9tID0gX19sc3hfdm11bF93KGluMSwgc2lucGk4X3NxcnQyX20pOyAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgY190bXAxX20gPSBfX2xzeF92c3JhaV93KGNfdG1wMV9t
LCAxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjX3RtcDJfbSA9IF9fbHN4
X3ZtdWxfdyhpbjMsIGNvbnN0X2Nvc3BpOHNxcnQybWludXMxX20pOyAgICAgICAgICAgXAotICAg
IGNfdG1wMl9tID0gX19sc3hfdnNyYWlfdyhjX3RtcDJfbSwgMTYpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgY190bXAyX20gPSBfX2xzeF92YWRkX3coaW4zLCBjX3RtcDJfbSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjMV9tID0gX19sc3hfdnN1Yl93KGNf
dG1wMV9tLCBjX3RtcDJfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRfdG1w
MV9tID0gX19sc3hfdm11bF93KGluMSwgY29uc3RfY29zcGk4c3FydDJtaW51czFfbSk7ICAgICAg
ICAgICBcCi0gICAgZF90bXAxX20gPSBfX2xzeF92c3JhaV93KGRfdG1wMV9tLCAxNik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkX3RtcDFfbSA9IF9fbHN4X3ZhZGRfdyhpbjEs
IGRfdG1wMV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRfdG1wMl9tID0g
X19sc3hfdm11bF93KGluMywgc2lucGk4X3NxcnQyX20pOyAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgZF90bXAyX20gPSBfX2xzeF92c3JhaV93KGRfdG1wMl9tLCAxNik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBkMV9tID0gX19sc3hfdmFkZF93KGRfdG1wMV9tLCBkX3Rt
cDJfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIExTWF9CVVRURVJGTFlfNF9X
KGExX20sIGIxX20sIGMxX20sIGQxX20sIG91dDAsIG91dDEsIG91dDIsIG91dDMpOyBcCi0gIH0g
d2hpbGUgKDApCi0KLSNkZWZpbmUgVU5QQ0tfU0hfU1coaW4sIG91dDAsIG91dDEpICBcCi0gIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIG91dDAgPSBfX2xzeF92c2xs
d2lsX3dfaChpbiwgMCk7IFwKLSAgICBvdXQxID0gX19sc3hfdmV4dGhfd19oKGluKTsgICAgICBc
Ci0gIH0gd2hpbGUgKDApCi0KLXN0YXRpYyB2b2lkIGlkY3Q0eDRfYWRkY29uc3RfbHN4KGludDE2
X3QgaW5fZGMsIHVpbnQ4X3QgKnByZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQzMl90IHByZWRfc3RyaWRlLCB1aW50OF90ICpkZXN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50MzJfdCBkZXN0X3N0cmlkZSkgewotICBfX20xMjhpIHZlYywgcmVz
MCwgcmVzMSwgcmVzMiwgcmVzMywgZHN0MCwgZHN0MTsKLSAgX19tMTI4aSBwcmVkMCwgcHJlZDEs
IHByZWQyLCBwcmVkMzsKLSAgX19tMTI4aSB6ZXJvID0gX19sc3hfdmxkaSgwKTsKLQotICBpbnQz
Ml90IHByZWRfc3RyaWRlMiA9IHByZWRfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgcHJlZF9zdHJp
ZGUzID0gcHJlZF9zdHJpZGUyICsgcHJlZF9zdHJpZGU7Ci0KLSAgdmVjID0gX19sc3hfdnJlcGxn
cjJ2cl9oKGluX2RjKTsKLSAgdmVjID0gX19sc3hfdnNyYXJpX2godmVjLCAzKTsKLSAgcHJlZDAg
PSBfX2xzeF92bGQocHJlZCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBwcmVkLCBwcmVk
X3N0cmlkZSwgcHJlZCwgcHJlZF9zdHJpZGUyLCBwcmVkMSwgcHJlZDIpOwotICBwcmVkMyA9IF9f
bHN4X3ZsZHgocHJlZCwgcHJlZF9zdHJpZGUzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2Is
IHplcm8sIHByZWQwLCB6ZXJvLCBwcmVkMSwgemVybywgcHJlZDIsIHplcm8sIHByZWQzLAotICAg
ICAgICAgICAgcmVzMCwgcmVzMSwgcmVzMiwgcmVzMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92YWRk
X2gsIHJlczAsIHZlYywgcmVzMSwgdmVjLCByZXMyLCB2ZWMsIHJlczMsIHZlYywgcmVzMCwKLSAg
ICAgICAgICAgIHJlczEsIHJlczIsIHJlczMpOwotICByZXMwID0gX19sc3hfdmNsaXAyNTVfaChy
ZXMwKTsKLSAgcmVzMSA9IF9fbHN4X3ZjbGlwMjU1X2gocmVzMSk7Ci0gIHJlczIgPSBfX2xzeF92
Y2xpcDI1NV9oKHJlczIpOwotICByZXMzID0gX19sc3hfdmNsaXAyNTVfaChyZXMzKTsKLQotICBE
VVAyX0FSRzIoX19sc3hfdnBpY2tldl9iLCByZXMxLCByZXMwLCByZXMzLCByZXMyLCBkc3QwLCBk
c3QxKTsKLSAgZHN0MCA9IF9fbHN4X3ZwaWNrZXZfdyhkc3QxLCBkc3QwKTsKLSAgX19sc3hfdnN0
ZWxtX3coZHN0MCwgZGVzdCwgMCwgMCk7Ci0gIGRlc3QgKz0gZGVzdF9zdHJpZGU7Ci0gIF9fbHN4
X3ZzdGVsbV93KGRzdDAsIGRlc3QsIDAsIDEpOwotICBkZXN0ICs9IGRlc3Rfc3RyaWRlOwotICBf
X2xzeF92c3RlbG1fdyhkc3QwLCBkZXN0LCAwLCAyKTsKLSAgZGVzdCArPSBkZXN0X3N0cmlkZTsK
LSAgX19sc3hfdnN0ZWxtX3coZHN0MCwgZGVzdCwgMCwgMyk7Ci19Ci0KLXZvaWQgdnA4X2RjX29u
bHlfaWRjdF9hZGRfbHN4KGludDE2X3QgaW5wdXRfZGMsIHVpbnQ4X3QgKnByZWRfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBwcmVkX3N0cmlkZSwgdWludDhfdCAq
ZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlk
ZSkgewotICBpZGN0NHg0X2FkZGNvbnN0X2xzeChpbnB1dF9kYywgcHJlZF9wdHIsIHByZWRfc3Ry
aWRlLCBkc3RfcHRyLCBkc3Rfc3RyaWRlKTsKLX0KLQotc3RhdGljIHZvaWQgZGVxdWFudF9pZGN0
NHg0X2FkZGJsa18yeF9sc3goaW50MTZfdCAqaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQxNl90ICpkZXF1YW50X2lucHV0LCB1aW50OF90ICpkZXN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkZXN0
X3N0cmlkZSkgewotICBfX20xMjhpIGRlc3QwLCBkZXN0MSwgZGVzdDIsIGRlc3QzOwotICBfX20x
MjhpIGluMCwgaW4xLCBpbjIsIGluMywgbXVsMCwgbXVsMSwgbXVsMiwgbXVsMywgZGVxdWFudF9p
bjAsIGRlcXVhbnRfaW4xOwotICBfX20xMjhpIGh6MCwgaHoxLCBoejIsIGh6MywgdnQwLCB2dDEs
IHZ0MiwgdnQzLCByZXMwLCByZXMxLCByZXMyLCByZXMzOwotICBfX20xMjhpIGh6MGwsIGh6MWws
IGh6MmwsIGh6M2wsIGh6MHIsIGh6MXIsIGh6MnIsIGh6M3I7Ci0gIF9fbTEyOGkgdnQwbCwgdnQx
bCwgdnQybCwgdnQzbCwgdnQwciwgdnQxciwgdnQyciwgdnQzcjsKLSAgX19tMTI4aSB6ZXJvID0g
X19sc3hfdmxkaSgwKTsKLQotICBpbnQzMl90IGRlc3Rfc3RyaWRlMiA9IGRlc3Rfc3RyaWRlIDw8
IDE7Ci0gIGludDMyX3QgZGVzdF9zdHJpZGUzID0gZGVzdF9zdHJpZGUyICsgZGVzdF9zdHJpZGU7
Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDAsIGlucHV0LCAxNiwgaW5wdXQsIDMy
LCBpbnB1dCwgNDgsIGluMCwgaW4xLCBpbjIsCi0gICAgICAgICAgICBpbjMpOwotICBEVVAyX0FS
RzIoX19sc3hfdmxkLCBkZXF1YW50X2lucHV0LCAwLCBkZXF1YW50X2lucHV0LCAxNiwgZGVxdWFu
dF9pbjAsCi0gICAgICAgICAgICBkZXF1YW50X2luMSk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3Zt
dWxfaCwgaW4wLCBkZXF1YW50X2luMCwgaW4xLCBkZXF1YW50X2luMSwgaW4yLCBkZXF1YW50X2lu
MCwKLSAgICAgICAgICAgIGluMywgZGVxdWFudF9pbjEsIG11bDAsIG11bDEsIG11bDIsIG11bDMp
OwotICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9kLCBtdWwyLCBtdWwwLCBtdWwzLCBtdWwxLCBp
bjAsIGluMik7Ci0gIERVUDJfQVJHMihfX2xzeF92cGlja29kX2QsIG11bDIsIG11bDAsIG11bDMs
IG11bDEsIGluMSwgaW4zKTsKLQotICBWUDhfSURDVF8xRF9IKGluMCwgaW4xLCBpbjIsIGluMywg
aHowLCBoejEsIGh6MiwgaHozKTsKLSAgVFJBTlNQT1NFX1RXT180eDRfSChoejAsIGh6MSwgaHoy
LCBoejMsIGh6MCwgaHoxLCBoejIsIGh6Myk7Ci0gIFVOUENLX1NIX1NXKGh6MCwgaHowciwgaHow
bCk7Ci0gIFVOUENLX1NIX1NXKGh6MSwgaHoxciwgaHoxbCk7Ci0gIFVOUENLX1NIX1NXKGh6Miwg
aHoyciwgaHoybCk7Ci0gIFVOUENLX1NIX1NXKGh6MywgaHozciwgaHozbCk7Ci0gIFZQOF9JRENU
XzFEX1coaHowbCwgaHoxbCwgaHoybCwgaHozbCwgdnQwbCwgdnQxbCwgdnQybCwgdnQzbCk7Ci0g
IERVUDRfQVJHMihfX2xzeF92c3JhcmlfdywgdnQwbCwgMywgdnQxbCwgMywgdnQybCwgMywgdnQz
bCwgMywgdnQwbCwgdnQxbCwKLSAgICAgICAgICAgIHZ0MmwsIHZ0M2wpOwotICBWUDhfSURDVF8x
RF9XKGh6MHIsIGh6MXIsIGh6MnIsIGh6M3IsIHZ0MHIsIHZ0MXIsIHZ0MnIsIHZ0M3IpOwotICBE
VVA0X0FSRzIoX19sc3hfdnNyYXJpX3csIHZ0MHIsIDMsIHZ0MXIsIDMsIHZ0MnIsIDMsIHZ0M3Is
IDMsIHZ0MHIsIHZ0MXIsCi0gICAgICAgICAgICB2dDJyLCB2dDNyKTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3ZwaWNrZXZfaCwgdnQwbCwgdnQwciwgdnQxbCwgdnQxciwgdnQybCwgdnQyciwgdnQzbCwg
dnQzciwKLSAgICAgICAgICAgIHZ0MCwgdnQxLCB2dDIsIHZ0Myk7Ci0gIFRSQU5TUE9TRV9UV09f
NHg0X0godnQwLCB2dDEsIHZ0MiwgdnQzLCB2dDAsIHZ0MSwgdnQyLCB2dDMpOwotICBkZXN0MCA9
IF9fbHN4X3ZsZChkZXN0LCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGRlc3QsIGRlc3Rf
c3RyaWRlLCBkZXN0LCBkZXN0X3N0cmlkZTIsIGRlc3QxLCBkZXN0Mik7Ci0gIGRlc3QzID0gX19s
c3hfdmxkeChkZXN0LCBkZXN0X3N0cmlkZTMpOwotICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwg
emVybywgZGVzdDAsIHplcm8sIGRlc3QxLCB6ZXJvLCBkZXN0MiwgemVybywgZGVzdDMsCi0gICAg
ICAgICAgICByZXMwLCByZXMxLCByZXMyLCByZXMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRf
aCwgcmVzMCwgdnQwLCByZXMxLCB2dDEsIHJlczIsIHZ0MiwgcmVzMywgdnQzLCByZXMwLAotICAg
ICAgICAgICAgcmVzMSwgcmVzMiwgcmVzMyk7Ci0KLSAgcmVzMCA9IF9fbHN4X3ZjbGlwMjU1X2go
cmVzMCk7Ci0gIHJlczEgPSBfX2xzeF92Y2xpcDI1NV9oKHJlczEpOwotICByZXMyID0gX19sc3hf
dmNsaXAyNTVfaChyZXMyKTsKLSAgcmVzMyA9IF9fbHN4X3ZjbGlwMjU1X2gocmVzMyk7Ci0gIERV
UDJfQVJHMihfX2xzeF92cGlja2V2X2IsIHJlczEsIHJlczAsIHJlczMsIHJlczIsIHZ0MGwsIHZ0
MWwpOwotCi0gIF9fbHN4X3ZzdGVsbV9kKHZ0MGwsIGRlc3QsIDAsIDApOwotICBfX2xzeF92c3Rl
bG1fZCh2dDBsLCBkZXN0ICsgZGVzdF9zdHJpZGUsIDAsIDEpOwotICBfX2xzeF92c3RlbG1fZCh2
dDFsLCBkZXN0ICsgZGVzdF9zdHJpZGUyLCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX2QodnQxbCwg
ZGVzdCArIGRlc3Rfc3RyaWRlMywgMCwgMSk7Ci0KLSAgX19sc3hfdnN0KHplcm8sIGlucHV0LCAw
KTsKLSAgX19sc3hfdnN0KHplcm8sIGlucHV0LCAxNik7Ci0gIF9fbHN4X3ZzdCh6ZXJvLCBpbnB1
dCwgMzIpOwotICBfX2xzeF92c3QoemVybywgaW5wdXQsIDQ4KTsKLX0KLQotc3RhdGljIHZvaWQg
ZGVxdWFudF9pZGN0X2FkZGNvbnN0XzJ4X2xzeChpbnQxNl90ICppbnB1dCwgaW50MTZfdCAqZGVx
dWFudF9pbnB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCAqZGVzdCwgaW50MzJfdCBkZXN0X3N0cmlkZSkgewotICBfX20xMjhpIGlucHV0X2RjMCwg
aW5wdXRfZGMxLCB2ZWMsIHJlczAsIHJlczEsIHJlczIsIHJlczM7Ci0gIF9fbTEyOGkgZGVzdDAs
IGRlc3QxLCBkZXN0MiwgZGVzdDM7Ci0gIF9fbTEyOGkgemVybyA9IF9fbHN4X3ZsZGkoMCk7Ci0g
IGludDMyX3QgZGVzdF9zdHJpZGUyID0gZGVzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkZXN0
X3N0cmlkZTMgPSBkZXN0X3N0cmlkZTIgKyBkZXN0X3N0cmlkZTsKLQotICBpbnB1dF9kYzAgPSBf
X2xzeF92cmVwbGdyMnZyX2goaW5wdXRbMF0gKiBkZXF1YW50X2lucHV0WzBdKTsKLSAgaW5wdXRf
ZGMxID0gX19sc3hfdnJlcGxncjJ2cl9oKGlucHV0WzE2XSAqIGRlcXVhbnRfaW5wdXRbMF0pOwot
ICBEVVAyX0FSRzIoX19sc3hfdnNyYXJpX2gsIGlucHV0X2RjMCwgMywgaW5wdXRfZGMxLCAzLCBp
bnB1dF9kYzAsIGlucHV0X2RjMSk7Ci0gIHZlYyA9IF9fbHN4X3ZwaWNrZXZfZChpbnB1dF9kYzEs
IGlucHV0X2RjMCk7Ci0gIGlucHV0WzBdID0gMDsKLSAgaW5wdXRbMTZdID0gMDsKLSAgZGVzdDAg
PSBfX2xzeF92bGQoZGVzdCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBkZXN0LCBkZXN0
X3N0cmlkZSwgZGVzdCwgZGVzdF9zdHJpZGUyLCBkZXN0MSwgZGVzdDIpOwotICBkZXN0MyA9IF9f
bHN4X3ZsZHgoZGVzdCwgZGVzdF9zdHJpZGUzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2Is
IHplcm8sIGRlc3QwLCB6ZXJvLCBkZXN0MSwgemVybywgZGVzdDIsIHplcm8sIGRlc3QzLAotICAg
ICAgICAgICAgcmVzMCwgcmVzMSwgcmVzMiwgcmVzMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92YWRk
X2gsIHJlczAsIHZlYywgcmVzMSwgdmVjLCByZXMyLCB2ZWMsIHJlczMsIHZlYywgcmVzMCwKLSAg
ICAgICAgICAgIHJlczEsIHJlczIsIHJlczMpOwotICByZXMwID0gX19sc3hfdmNsaXAyNTVfaChy
ZXMwKTsKLSAgcmVzMSA9IF9fbHN4X3ZjbGlwMjU1X2gocmVzMSk7Ci0gIHJlczIgPSBfX2xzeF92
Y2xpcDI1NV9oKHJlczIpOwotICByZXMzID0gX19sc3hfdmNsaXAyNTVfaChyZXMzKTsKLQotICBE
VVAyX0FSRzIoX19sc3hfdnBpY2tldl9iLCByZXMxLCByZXMwLCByZXMzLCByZXMyLCByZXMwLCBy
ZXMxKTsKLSAgX19sc3hfdnN0ZWxtX2QocmVzMCwgZGVzdCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVs
bV9kKHJlczAsIGRlc3QgKyBkZXN0X3N0cmlkZSwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHJl
czEsIGRlc3QgKyBkZXN0X3N0cmlkZTIsIDAsIDApOwotICBfX2xzeF92c3RlbG1fZChyZXMxLCBk
ZXN0ICsgZGVzdF9zdHJpZGUzLCAwLCAxKTsKLX0KLQotdm9pZCB2cDhfZGVxdWFudF9pZGN0X2Fk
ZF95X2Jsb2NrX2xzeChpbnQxNl90ICpxLCBpbnQxNl90ICpkcSwgdWludDhfdCAqZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHN0cmlkZSwgY2hhciAq
ZW9icykgewotICBpbnQxNl90ICplb2JzX2ggPSAoaW50MTZfdCAqKWVvYnM7Ci0gIHVpbnQ4X3Qg
aTsKLQotICBmb3IgKGkgPSA0OyBpLS07KSB7Ci0gICAgaWYgKGVvYnNfaFswXSkgewotICAgICAg
aWYgKGVvYnNfaFswXSAmIDB4ZmVmZSkgewotICAgICAgICBkZXF1YW50X2lkY3Q0eDRfYWRkYmxr
XzJ4X2xzeChxLCBkcSwgZHN0LCBzdHJpZGUpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgZGVx
dWFudF9pZGN0X2FkZGNvbnN0XzJ4X2xzeChxLCBkcSwgZHN0LCBzdHJpZGUpOwotICAgICAgfQot
ICAgIH0KLQotICAgIHEgKz0gMzI7Ci0KLSAgICBpZiAoZW9ic19oWzFdKSB7Ci0gICAgICBpZiAo
ZW9ic19oWzFdICYgMHhmZWZlKSB7Ci0gICAgICAgIGRlcXVhbnRfaWRjdDR4NF9hZGRibGtfMnhf
bHN4KHEsIGRxLCBkc3QgKyA4LCBzdHJpZGUpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgZGVx
dWFudF9pZGN0X2FkZGNvbnN0XzJ4X2xzeChxLCBkcSwgZHN0ICsgOCwgc3RyaWRlKTsKLSAgICAg
IH0KLSAgICB9Ci0KLSAgICBxICs9IDMyOwotICAgIGRzdCArPSAoNCAqIHN0cmlkZSk7Ci0gICAg
ZW9ic19oICs9IDI7Ci0gIH0KLX0KLQotdm9pZCB2cDhfZGVxdWFudF9pZGN0X2FkZF91dl9ibG9j
a19sc3goaW50MTZfdCAqcSwgaW50MTZfdCAqZHEsIHVpbnQ4X3QgKmRzdF91LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0X3YsIGludDMyX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZW9icykg
ewotICBpbnQxNl90ICplb2JzX2ggPSAoaW50MTZfdCAqKWVvYnM7Ci0gIGlmIChlb2JzX2hbMF0p
IHsKLSAgICBpZiAoZW9ic19oWzBdICYgMHhmZWZlKSB7Ci0gICAgICBkZXF1YW50X2lkY3Q0eDRf
YWRkYmxrXzJ4X2xzeChxLCBkcSwgZHN0X3UsIHN0cmlkZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAg
IGRlcXVhbnRfaWRjdF9hZGRjb25zdF8yeF9sc3gocSwgZHEsIGRzdF91LCBzdHJpZGUpOwotICAg
IH0KLSAgfQotCi0gIHEgKz0gMzI7Ci0gIGRzdF91ICs9IChzdHJpZGUgKiA0KTsKLQotICBpZiAo
ZW9ic19oWzFdKSB7Ci0gICAgaWYgKGVvYnNfaFsxXSAmIDB4ZmVmZSkgewotICAgICAgZGVxdWFu
dF9pZGN0NHg0X2FkZGJsa18yeF9sc3gocSwgZHEsIGRzdF91LCBzdHJpZGUpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICBkZXF1YW50X2lkY3RfYWRkY29uc3RfMnhfbHN4KHEsIGRxLCBkc3RfdSwgc3Ry
aWRlKTsKLSAgICB9Ci0gIH0KLQotICBxICs9IDMyOwotCi0gIGlmIChlb2JzX2hbMl0pIHsKLSAg
ICBpZiAoZW9ic19oWzJdICYgMHhmZWZlKSB7Ci0gICAgICBkZXF1YW50X2lkY3Q0eDRfYWRkYmxr
XzJ4X2xzeChxLCBkcSwgZHN0X3YsIHN0cmlkZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGRlcXVh
bnRfaWRjdF9hZGRjb25zdF8yeF9sc3gocSwgZHEsIGRzdF92LCBzdHJpZGUpOwotICAgIH0KLSAg
fQotICBxICs9IDMyOwotICBkc3RfdiArPSAoc3RyaWRlICogNCk7Ci0KLSAgaWYgKGVvYnNfaFsz
XSkgewotICAgIGlmIChlb2JzX2hbM10gJiAweGZlZmUpIHsKLSAgICAgIGRlcXVhbnRfaWRjdDR4
NF9hZGRibGtfMnhfbHN4KHEsIGRxLCBkc3Rfdiwgc3RyaWRlKTsKLSAgICB9IGVsc2UgewotICAg
ICAgZGVxdWFudF9pZGN0X2FkZGNvbnN0XzJ4X2xzeChxLCBkcSwgZHN0X3YsIHN0cmlkZSk7Ci0g
ICAgfQotICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vbG9vbmdhcmNo
L2xvb3BmaWx0ZXJfZmlsdGVyc19sc3guYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9sb29uZ2Fy
Y2gvbG9vcGZpbHRlcl9maWx0ZXJzX2xzeC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3OWMzZWE2ZGJiMzguLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24v
bG9vbmdhcmNoL2xvb3BmaWx0ZXJfZmlsdGVyc19sc3guYworKysgL2Rldi9udWxsCkBAIC0xLDc0
MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDIxIExvb25nc29uIFRlY2hub2xvZ3kg
Q29ycG9yYXRpb24gTGltaXRlZAotICogQ29udHJpYnV0ZWQgYnkgTHUgV2FuZyA8d2FuZ2x1QGxv
b25nc29uLmNuPgotICoKLSAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogdHJlZS4gQW4gYWRkaXRpb25hbCBp
bnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogaW4gdGhl
IGZpbGUgUEFURU5UUy4gQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiBi
ZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJl
ZS4KLSAqLwotCi0jaW5jbHVkZSAiLi92cDhfcnRjZC5oIgotI2luY2x1ZGUgInZwOC9jb21tb24v
bG9vcGZpbHRlci5oIgotI2luY2x1ZGUgInZweF91dGlsL2xvb25nc29uX2ludHJpbnNpY3MuaCIK
LQotI2RlZmluZSBWUDhfTFBGX0ZJTFRFUjRfNFcocDEsIHAwLCBxMCwgcTEsIG1hc2ssIGhldikg
ICAgICAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBwMV9tLCBwMF9tLCBxMF9tLCBxMV9tLCBmaWx0
LCBxMF9zdWJfcDAsIHQxLCB0MjsgXAotICAgIGNvbnN0IF9fbTEyOGkgY25zdDRiID0gX19sc3hf
dmxkaSg0KTsgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjb25zdCBfX20xMjhpIGNuc3QzYiA9
IF9fbHN4X3ZsZGkoMyk7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAxX20gPSBf
X2xzeF92eG9yaV9iKHAxLCAweDgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBw
MF9tID0gX19sc3hfdnhvcmlfYihwMCwgMHg4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgcTBfbSA9IF9fbHN4X3Z4b3JpX2IocTAsIDB4ODApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHExX20gPSBfX2xzeF92eG9yaV9iKHExLCAweDgwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3Zzc3ViX2IocDFfbSwgcTFf
bSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZpbHQgPSBfX2xzeF92YW5kX3YoZmls
dCwgaGV2KTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBxMF9zdWJfcDAgPSBfX2xz
eF92c3N1Yl9iKHEwX20sIHAwX20pOyAgICAgICAgICAgICAgICAgICBcCi0gICAgZmlsdCA9IF9f
bHN4X3ZzYWRkX2IoZmlsdCwgcTBfc3ViX3AwKTsgICAgICAgICAgICAgICAgICAgXAotICAgIGZp
bHQgPSBfX2xzeF92c2FkZF9iKGZpbHQsIHEwX3N1Yl9wMCk7ICAgICAgICAgICAgICAgICAgIFwK
LSAgICBmaWx0ID0gX19sc3hfdnNhZGRfYihmaWx0LCBxMF9zdWJfcDApOyAgICAgICAgICAgICAg
ICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3ZhbmRfdihmaWx0LCBtYXNrKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIHQxID0gX19sc3hfdnNhZGRfYihmaWx0LCBjbnN0NGIpOyAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB0MSA9IF9fbHN4X3ZzcmFfYih0MSwgY25zdDNiKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdDIgPSBfX2xzeF92c2FkZF9iKGZpbHQs
IGNuc3QzYik7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHQyID0gX19sc3hfdnNyYV9i
KHQyLCBjbnN0M2IpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBxMF9tID0gX19s
c3hfdnNzdWJfYihxMF9tLCB0MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcTAg
PSBfX2xzeF92eG9yaV9iKHEwX20sIDB4ODApOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHAwX20gPSBfX2xzeF92c2FkZF9iKHAwX20sIHQyKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBwMCA9IF9fbHN4X3Z4b3JpX2IocDBfbSwgMHg4MCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3ZzcmFyaV9iKHQxLCAxKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIGhldiA9IF9fbHN4X3Z4b3JpX2IoaGV2LCAweGZmKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmaWx0ID0gX19sc3hfdmFuZF92KGZpbHQs
IGhldik7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcTFfbSA9IF9fbHN4X3Zzc3Vi
X2IocTFfbSwgZmlsdCk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHExID0gX19sc3hf
dnhvcmlfYihxMV9tLCAweDgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBwMV9t
ID0gX19sc3hfdnNhZGRfYihwMV9tLCBmaWx0KTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgcDEgPSBfX2xzeF92eG9yaV9iKHAxX20sIDB4ODApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIFZQOF9NQkZJTFRFUihwMiwgcDEsIHAwLCBx
MCwgcTEsIHEyLCBtYXNrLCBoZXYpIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgcDJfbSwgcDFfbSwgcDBfbSwg
cTJfbSwgcTFfbSwgcTBfbTsgICAgICAgICBcCi0gICAgX19tMTI4aSB1LCBmaWx0LCB0MSwgdDIs
IGZpbHRfc2lnbiwgcTBfc3ViX3AwOyAgICAgIFwKLSAgICBfX20xMjhpIGZpbHRfciwgZmlsdF9s
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgdGVtcDAsIHRlbXAx
LCB0ZW1wMiwgdGVtcDM7ICAgICAgICAgICAgICAgICBcCi0gICAgY29uc3QgX19tMTI4aSBjbnN0
NGIgPSBfX2xzeF92bGRpKDQpOyAgICAgICAgICAgICAgIFwKLSAgICBjb25zdCBfX20xMjhpIGNu
c3QzYiA9IF9fbHN4X3ZsZGkoMyk7ICAgICAgICAgICAgICAgXAotICAgIGNvbnN0IF9fbTEyOGkg
Y25zdDloID0gX19sc3hfdmxkaSgxMDMzKTsgICAgICAgICAgICBcCi0gICAgY29uc3QgX19tMTI4
aSBjbnN0NjNoID0gX19sc3hfdmxkaSgxMDg3KTsgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAyX20gPSBf
X2xzeF92eG9yaV9iKHAyLCAweDgwKTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcDFfbSA9
IF9fbHN4X3Z4b3JpX2IocDEsIDB4ODApOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBwMF9t
ID0gX19sc3hfdnhvcmlfYihwMCwgMHg4MCk7ICAgICAgICAgICAgICAgICAgICAgXAotICAgIHEw
X20gPSBfX2xzeF92eG9yaV9iKHEwLCAweDgwKTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
cTFfbSA9IF9fbHN4X3Z4b3JpX2IocTEsIDB4ODApOyAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBxMl9tID0gX19sc3hfdnhvcmlfYihxMiwgMHg4MCk7ICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgZmlsdCA9IF9fbHN4X3Zzc3ViX2IocDFfbSwgcTFfbSk7ICAgICAgICAgICAgICAgICAg
IFwKLSAgICBxMF9zdWJfcDAgPSBfX2xzeF92c3N1Yl9iKHEwX20sIHAwX20pOyAgICAgICAgICAg
ICAgXAotICAgIGZpbHQgPSBfX2xzeF92c2FkZF9iKGZpbHQsIHEwX3N1Yl9wMCk7ICAgICAgICAg
ICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3ZzYWRkX2IoZmlsdCwgcTBfc3ViX3AwKTsgICAgICAg
ICAgICAgIFwKLSAgICBmaWx0ID0gX19sc3hfdnNhZGRfYihmaWx0LCBxMF9zdWJfcDApOyAgICAg
ICAgICAgICAgXAotICAgIGZpbHQgPSBfX2xzeF92YW5kX3YoZmlsdCwgbWFzayk7ICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICB0MiA9IF9fbHN4X3ZhbmRfdihmaWx0LCBoZXYpOyAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGhldiA9IF9fbHN4X3Z4b3JpX2IoaGV2LCAweGZmKTsgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3ZhbmRfdihoZXYsIGZpbHQpOyAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB0MSA9IF9fbHN4X3ZzYWRkX2IodDIsIGNuc3Q0Yik7
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIHQxID0gX19sc3hfdnNyYV9iKHQxLCBjbnN0M2Ip
OyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdDIgPSBfX2xzeF92c2FkZF9iKHQyLCBjbnN0
M2IpOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0MiA9IF9fbHN4X3ZzcmFfYih0MiwgY25z
dDNiKTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHEwX20gPSBfX2xzeF92c3N1Yl9iKHEw
X20sIHQxKTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcDBfbSA9IF9fbHN4X3ZzYWRkX2Io
cDBfbSwgdDIpOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmaWx0X3NpZ24gPSBfX2xzeF92
c2x0aV9iKGZpbHQsIDApOyAgICAgICAgICAgICAgICAgXAotICAgIGZpbHRfciA9IF9fbHN4X3Zp
bHZsX2IoZmlsdF9zaWduLCBmaWx0KTsgICAgICAgICAgICBcCi0gICAgZmlsdF9sID0gX19sc3hf
dmlsdmhfYihmaWx0X3NpZ24sIGZpbHQpOyAgICAgICAgICAgIFwKLSAgICB0ZW1wMCA9IF9fbHN4
X3ZtdWxfaChmaWx0X3IsIGNuc3Q5aCk7ICAgICAgICAgICAgICAgXAotICAgIHRlbXAxID0gX19s
c3hfdmFkZF9oKHRlbXAwLCBjbnN0NjNoKTsgICAgICAgICAgICAgICBcCi0gICAgdGVtcDIgPSBf
X2xzeF92bXVsX2goZmlsdF9sLCBjbnN0OWgpOyAgICAgICAgICAgICAgIFwKLSAgICB0ZW1wMyA9
IF9fbHN4X3ZhZGRfaCh0ZW1wMiwgY25zdDYzaCk7ICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdSA9
IF9fbHN4X3Zzc3JhbmlfYl9oKHRlbXAzLCB0ZW1wMSwgNyk7ICAgICAgICAgICAgIFwKLSAgICBx
Ml9tID0gX19sc3hfdnNzdWJfYihxMl9tLCB1KTsgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHAyX20gPSBfX2xzeF92c2FkZF9iKHAyX20sIHUpOyAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgcTIgPSBfX2xzeF92eG9yaV9iKHEyX20sIDB4ODApOyAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBwMiA9IF9fbHN4X3Z4b3JpX2IocDJfbSwgMHg4MCk7ICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgdGVtcDEgPSBfX2xzeF92YWRkX2godGVtcDEsIHRlbXAwKTsgICAgICAgICAgICAg
ICAgIFwKLSAgICB0ZW1wMyA9IF9fbHN4X3ZhZGRfaCh0ZW1wMywgdGVtcDIpOyAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgdSA9IF9fbHN4X3Zzc3JhbmlfYl9oKHRlbXAzLCB0ZW1wMSwgNyk7ICAg
ICAgICAgICAgIFwKLSAgICBxMV9tID0gX19sc3hfdnNzdWJfYihxMV9tLCB1KTsgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIHAxX20gPSBfX2xzeF92c2FkZF9iKHAxX20sIHUpOyAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgcTEgPSBfX2xzeF92eG9yaV9iKHExX20sIDB4ODApOyAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBwMSA9IF9fbHN4X3Z4b3JpX2IocDFfbSwgMHg4MCk7ICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgdGVtcDEgPSBfX2xzeF92YWRkX2godGVtcDEsIHRl
bXAwKTsgICAgICAgICAgICAgICAgIFwKLSAgICB0ZW1wMyA9IF9fbHN4X3ZhZGRfaCh0ZW1wMywg
dGVtcDIpOyAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdSA9IF9fbHN4X3Zzc3JhbmlfYl9oKHRl
bXAzLCB0ZW1wMSwgNyk7ICAgICAgICAgICAgIFwKLSAgICBxMF9tID0gX19sc3hfdnNzdWJfYihx
MF9tLCB1KTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAwX20gPSBfX2xzeF92c2FkZF9i
KHAwX20sIHUpOyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcTAgPSBfX2xzeF92eG9yaV9i
KHEwX20sIDB4ODApOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBwMCA9IF9fbHN4X3Z4b3Jp
X2IocDBfbSwgMHg4MCk7ICAgICAgICAgICAgICAgICAgICAgXAotICB9IHdoaWxlICgwKQotCi0j
ZGVmaW5lIExQRl9NQVNLX0hFVihwM19pbiwgcDJfaW4sIHAxX2luLCBwMF9pbiwgcTBfaW4sIHEx
X2luLCBxMl9pbiwgcTNfaW4sIFwKLSAgICAgICAgICAgICAgICAgICAgIGxpbWl0X2luLCBiX2xp
bWl0X2luLCB0aHJlc2hfaW4sIGhldl9vdXQsIG1hc2tfb3V0LCAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgZmxhdF9vdXQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHAzX2FzdWJfcDJf
bSwgcDJfYXN1Yl9wMV9tLCBwMV9hc3ViX3AwX20sIHExX2FzdWJfcTBfbTsgICAgICAgICAgXAot
ICAgIF9fbTEyOGkgcDFfYXN1Yl9xMV9tLCBwMF9hc3ViX3EwX20sIHEzX2FzdWJfcTJfbSwgcTJf
YXN1Yl9xMV9tOyAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBwM19hc3Vi
X3AyX20gPSBfX2xzeF92YWJzZF9idShwM19pbiwgcDJfaW4pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHAyX2FzdWJfcDFfbSA9IF9fbHN4X3ZhYnNkX2J1KHAyX2luLCBwMV9p
bik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcDFfYXN1Yl9wMF9tID0gX19s
c3hfdmFic2RfYnUocDFfaW4sIHAwX2luKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBxMV9hc3ViX3EwX20gPSBfX2xzeF92YWJzZF9idShxMV9pbiwgcTBfaW4pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIHEyX2FzdWJfcTFfbSA9IF9fbHN4X3ZhYnNkX2J1
KHEyX2luLCBxMV9pbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcTNfYXN1
Yl9xMl9tID0gX19sc3hfdmFic2RfYnUocTNfaW4sIHEyX2luKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBwMF9hc3ViX3EwX20gPSBfX2xzeF92YWJzZF9idShwMF9pbiwgcTBf
aW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAxX2FzdWJfcTFfbSA9IF9f
bHN4X3ZhYnNkX2J1KHAxX2luLCBxMV9pbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgZmxhdF9vdXQgPSBfX2xzeF92bWF4X2J1KHAxX2FzdWJfcDBfbSwgcTFfYXN1Yl9xMF9t
KTsgICAgICAgICAgICAgICAgICAgIFwKLSAgICBoZXZfb3V0ID0gX19sc3hfdnNsdF9idSh0aHJl
c2hfaW4sIGZsYXRfb3V0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAwX2Fz
dWJfcTBfbSA9IF9fbHN4X3ZzYWRkX2J1KHAwX2FzdWJfcTBfbSwgcDBfYXN1Yl9xMF9tKTsgICAg
ICAgICAgICAgICBcCi0gICAgcDFfYXN1Yl9xMV9tID0gX19sc3hfdnNybGlfYihwMV9hc3ViX3Ex
X20sIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBwMF9hc3ViX3EwX20gPSBf
X2xzeF92c2FkZF9idShwMF9hc3ViX3EwX20sIHAxX2FzdWJfcTFfbSk7ICAgICAgICAgICAgICAg
XAotICAgIG1hc2tfb3V0ID0gX19sc3hfdnNsdF9idShiX2xpbWl0X2luLCBwMF9hc3ViX3EwX20p
OyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbWFza19vdXQgPSBfX2xzeF92bWF4X2J1KGZs
YXRfb3V0LCBtYXNrX291dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBwM19h
c3ViX3AyX20gPSBfX2xzeF92bWF4X2J1KHAzX2FzdWJfcDJfbSwgcDJfYXN1Yl9wMV9tKTsgICAg
ICAgICAgICAgICAgXAotICAgIG1hc2tfb3V0ID0gX19sc3hfdm1heF9idShwM19hc3ViX3AyX20s
IG1hc2tfb3V0KTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcTJfYXN1Yl9xMV9tID0g
X19sc3hfdm1heF9idShxMl9hc3ViX3ExX20sIHEzX2FzdWJfcTJfbSk7ICAgICAgICAgICAgICAg
IFwKLSAgICBtYXNrX291dCA9IF9fbHN4X3ZtYXhfYnUocTJfYXN1Yl9xMV9tLCBtYXNrX291dCk7
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIG1hc2tfb3V0ID0gX19sc3hfdnNsdF9idShs
aW1pdF9pbiwgbWFza19vdXQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbWFz
a19vdXQgPSBfX2xzeF92eG9yaV9iKG1hc2tfb3V0LCAweGZmKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBWUDhfU1Q2eDFfQihpbjAs
IGluMF9pZHgsIGluMSwgaW4xX2lkeCwgcGRzdCwgc3RyaWRlKSBcCi0gIGRvIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2xz
eF92c3RlbG1fdyhpbjAsIHBkc3QsIDAsIGluMF9pZHgpOyAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9fbHN4X3ZzdGVsbV9oKGluMSwgcGRzdCArIHN0cmlkZSwgMCwgaW4xX2lkeCk7ICAgICAg
ICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLXN0YXRpYyB2b2lkIGxvb3BfZmlsdGVyX2hvcml6b250
YWxfNF9kdWFsX2xzeCh1aW50OF90ICpzcmMsIGludDMyX3QgcGl0Y2gsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYl9saW1pdDBf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKmxpbWl0MF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoMF9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYl9saW1pdDFfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QgKmxpbWl0MV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoMV9wdHIpIHsKLSAgaW50MzJfdCBwaXRjaF94
MiA9IHBpdGNoIDw8IDE7Ci0gIGludDMyX3QgcGl0Y2hfeDMgPSBwaXRjaF94MiArIHBpdGNoOwot
ICBpbnQzMl90IHBpdGNoX3g0ID0gcGl0Y2ggPDwgMjsKLQotICBfX20xMjhpIG1hc2ssIGhldiwg
ZmxhdDsKLSAgX19tMTI4aSB0aHJlc2gwLCBiX2xpbWl0MCwgbGltaXQwLCB0aHJlc2gxLCBiX2xp
bWl0MSwgbGltaXQxOwotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAwLCBxMywgcTIsIHExLCBxMDsK
LQotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAtcGl0Y2hfeDQsIHNyYywgLXBpdGNoX3gz
LCBzcmMsIC1waXRjaF94Miwgc3JjLAotICAgICAgICAgICAgLXBpdGNoLCBwMywgcDIsIHAxLCBw
MCk7Ci0gIHEwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBz
cmMsIHBpdGNoLCBzcmMsIHBpdGNoX3gyLCBxMSwgcTIpOwotICBxMyA9IF9fbHN4X3ZsZHgoc3Jj
LCBwaXRjaF94Myk7Ci0KLSAgdGhyZXNoMCA9IF9fbHN4X3ZsZHJlcGxfYih0aHJlc2gwX3B0ciwg
MCk7Ci0gIHRocmVzaDEgPSBfX2xzeF92bGRyZXBsX2IodGhyZXNoMV9wdHIsIDApOwotICB0aHJl
c2gwID0gX19sc3hfdmlsdmxfZCh0aHJlc2gxLCB0aHJlc2gwKTsKLQotICBiX2xpbWl0MCA9IF9f
bHN4X3ZsZHJlcGxfYihiX2xpbWl0MF9wdHIsIDApOwotICBiX2xpbWl0MSA9IF9fbHN4X3ZsZHJl
cGxfYihiX2xpbWl0MV9wdHIsIDApOwotICBiX2xpbWl0MCA9IF9fbHN4X3ZpbHZsX2QoYl9saW1p
dDEsIGJfbGltaXQwKTsKLQotICBsaW1pdDAgPSBfX2xzeF92bGRyZXBsX2IobGltaXQwX3B0ciwg
MCk7Ci0gIGxpbWl0MSA9IF9fbHN4X3ZsZHJlcGxfYihsaW1pdDFfcHRyLCAwKTsKLSAgbGltaXQw
ID0gX19sc3hfdmlsdmxfZChsaW1pdDEsIGxpbWl0MCk7Ci0KLSAgTFBGX01BU0tfSEVWKHAzLCBw
MiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQwLCBiX2xpbWl0MCwgdGhyZXNoMCwgaGV2
LAotICAgICAgICAgICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQOF9MUEZfRklMVEVSNF80VyhwMSwg
cDAsIHEwLCBxMSwgbWFzaywgaGV2KTsKLQotICBfX2xzeF92c3R4KHAxLCBzcmMsIC1waXRjaF94
Mik7Ci0gIF9fbHN4X3ZzdHgocDAsIHNyYywgLXBpdGNoKTsKLSAgX19sc3hfdnN0KHEwLCBzcmMs
IDApOwotICBfX2xzeF92c3R4KHExLCBzcmMsIHBpdGNoKTsKLX0KLQotc3RhdGljIHZvaWQgbG9v
cF9maWx0ZXJfdmVydGljYWxfNF9kdWFsX2xzeCh1aW50OF90ICpzcmMsIGludDMyX3QgcGl0Y2gs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QgKmJfbGltaXQwX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqbGltaXQwX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoMF9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmJfbGlt
aXQxX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCAqbGltaXQxX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoMV9wdHIpIHsKLSAgdWludDhfdCAqc3Jj
X3RtcDAgPSBzcmMgLSA0OwotICBpbnQzMl90IHBpdGNoX3gyID0gcGl0Y2ggPDwgMTsKLSAgaW50
MzJfdCBwaXRjaF94MyA9IHBpdGNoX3gyICsgcGl0Y2g7Ci0gIGludDMyX3QgcGl0Y2hfeDQgPSBw
aXRjaCA8PCAyOwotICBfX20xMjhpIG1hc2ssIGhldiwgZmxhdDsKLSAgX19tMTI4aSB0aHJlc2gw
LCBiX2xpbWl0MCwgbGltaXQwLCB0aHJlc2gxLCBiX2xpbWl0MSwgbGltaXQxOwotICBfX20xMjhp
IHAzLCBwMiwgcDEsIHAwLCBxMywgcTIsIHExLCBxMDsKLSAgX19tMTI4aSByb3cwLCByb3cxLCBy
b3cyLCByb3czLCByb3c0LCByb3c1LCByb3c2LCByb3c3OwotICBfX20xMjhpIHJvdzgsIHJvdzks
IHJvdzEwLCByb3cxMSwgcm93MTIsIHJvdzEzLCByb3cxNCwgcm93MTU7Ci0gIF9fbTEyOGkgdG1w
MCwgdG1wMSwgdG1wMiwgdG1wMywgdG1wNCwgdG1wNTsKLQotICByb3cwID0gX19sc3hfdmxkKHNy
Y190bXAwLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAwLCBwaXRjaCwgc3Jj
X3RtcDAsIHBpdGNoX3gyLCByb3cxLCByb3cyKTsKLSAgcm93MyA9IF9fbHN4X3ZsZHgoc3JjX3Rt
cDAsIHBpdGNoX3gzKTsKLSAgc3JjX3RtcDAgKz0gcGl0Y2hfeDQ7Ci0gIHJvdzQgPSBfX2xzeF92
bGQoc3JjX3RtcDAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcDAsIHBpdGNo
LCBzcmNfdG1wMCwgcGl0Y2hfeDIsIHJvdzUsIHJvdzYpOwotICByb3c3ID0gX19sc3hfdmxkeChz
cmNfdG1wMCwgcGl0Y2hfeDMpOwotICBzcmNfdG1wMCArPSBwaXRjaF94NDsKLQotICByb3c4ID0g
X19sc3hfdmxkKHNyY190bXAwLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAw
LCBwaXRjaCwgc3JjX3RtcDAsIHBpdGNoX3gyLCByb3c5LCByb3cxMCk7Ci0gIHJvdzExID0gX19s
c3hfdmxkeChzcmNfdG1wMCwgcGl0Y2hfeDMpOwotICBzcmNfdG1wMCArPSBwaXRjaF94NDsKLSAg
cm93MTIgPSBfX2xzeF92bGQoc3JjX3RtcDAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwg
c3JjX3RtcDAsIHBpdGNoLCBzcmNfdG1wMCwgcGl0Y2hfeDIsIHJvdzEzLCByb3cxNCk7Ci0gIHJv
dzE1ID0gX19sc3hfdmxkeChzcmNfdG1wMCwgcGl0Y2hfeDMpOwotCi0gIExTWF9UUkFOU1BPU0Ux
Nng4X0Iocm93MCwgcm93MSwgcm93Miwgcm93Mywgcm93NCwgcm93NSwgcm93Niwgcm93Nywgcm93
OCwKLSAgICAgICAgICAgICAgICAgICAgICByb3c5LCByb3cxMCwgcm93MTEsIHJvdzEyLCByb3cx
Mywgcm93MTQsIHJvdzE1LCBwMywgcDIsCi0gICAgICAgICAgICAgICAgICAgICAgcDEsIHAwLCBx
MCwgcTEsIHEyLCBxMyk7Ci0KLSAgdGhyZXNoMCA9IF9fbHN4X3ZsZHJlcGxfYih0aHJlc2gwX3B0
ciwgMCk7Ci0gIHRocmVzaDEgPSBfX2xzeF92bGRyZXBsX2IodGhyZXNoMV9wdHIsIDApOwotICB0
aHJlc2gwID0gX19sc3hfdmlsdmxfZCh0aHJlc2gxLCB0aHJlc2gwKTsKLQotICBiX2xpbWl0MCA9
IF9fbHN4X3ZsZHJlcGxfYihiX2xpbWl0MF9wdHIsIDApOwotICBiX2xpbWl0MSA9IF9fbHN4X3Zs
ZHJlcGxfYihiX2xpbWl0MV9wdHIsIDApOwotICBiX2xpbWl0MCA9IF9fbHN4X3ZpbHZsX2QoYl9s
aW1pdDEsIGJfbGltaXQwKTsKLQotICBsaW1pdDAgPSBfX2xzeF92bGRyZXBsX2IobGltaXQwX3B0
ciwgMCk7Ci0gIGxpbWl0MSA9IF9fbHN4X3ZsZHJlcGxfYihsaW1pdDFfcHRyLCAwKTsKLSAgbGlt
aXQwID0gX19sc3hfdmlsdmxfZChsaW1pdDEsIGxpbWl0MCk7Ci0KLSAgTFBGX01BU0tfSEVWKHAz
LCBwMiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQwLCBiX2xpbWl0MCwgdGhyZXNoMCwg
aGV2LAotICAgICAgICAgICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQOF9MUEZfRklMVEVSNF80Vyhw
MSwgcDAsIHEwLCBxMSwgbWFzaywgaGV2KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwg
cDAsIHAxLCBxMSwgcTAsIHRtcDAsIHRtcDEpOwotICB0bXAyID0gX19sc3hfdmlsdmxfaCh0bXAx
LCB0bXAwKTsKLSAgdG1wMyA9IF9fbHN4X3ZpbHZoX2godG1wMSwgdG1wMCk7Ci0gIERVUDJfQVJH
MihfX2xzeF92aWx2aF9iLCBwMCwgcDEsIHExLCBxMCwgdG1wMCwgdG1wMSk7Ci0gIHRtcDQgPSBf
X2xzeF92aWx2bF9oKHRtcDEsIHRtcDApOwotICB0bXA1ID0gX19sc3hfdmlsdmhfaCh0bXAxLCB0
bXAwKTsKLQotICBzcmMgLT0gMjsKLSAgX19sc3hfdnN0ZWxtX3codG1wMiwgc3JjLCAwLCAwKTsK
LSAgc3JjICs9IHBpdGNoOwotICBfX2xzeF92c3RlbG1fdyh0bXAyLCBzcmMsIDAsIDEpOwotICBz
cmMgKz0gcGl0Y2g7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDIsIHNyYywgMCwgMik7Ci0gIHNyYyAr
PSBwaXRjaDsKLSAgX19sc3hfdnN0ZWxtX3codG1wMiwgc3JjLCAwLCAzKTsKLSAgc3JjICs9IHBp
dGNoOwotCi0gIF9fbHN4X3ZzdGVsbV93KHRtcDMsIHNyYywgMCwgMCk7Ci0gIHNyYyArPSBwaXRj
aDsKLSAgX19sc3hfdnN0ZWxtX3codG1wMywgc3JjLCAwLCAxKTsKLSAgc3JjICs9IHBpdGNoOwot
ICBfX2xzeF92c3RlbG1fdyh0bXAzLCBzcmMsIDAsIDIpOwotICBzcmMgKz0gcGl0Y2g7Ci0gIF9f
bHN4X3ZzdGVsbV93KHRtcDMsIHNyYywgMCwgMyk7Ci0gIHNyYyArPSBwaXRjaDsKLQotICBfX2xz
eF92c3RlbG1fdyh0bXA0LCBzcmMsIDAsIDApOwotICBzcmMgKz0gcGl0Y2g7Ci0gIF9fbHN4X3Zz
dGVsbV93KHRtcDQsIHNyYywgMCwgMSk7Ci0gIHNyYyArPSBwaXRjaDsKLSAgX19sc3hfdnN0ZWxt
X3codG1wNCwgc3JjLCAwLCAyKTsKLSAgc3JjICs9IHBpdGNoOwotICBfX2xzeF92c3RlbG1fdyh0
bXA0LCBzcmMsIDAsIDMpOwotICBzcmMgKz0gcGl0Y2g7Ci0KLSAgX19sc3hfdnN0ZWxtX3codG1w
NSwgc3JjLCAwLCAwKTsKLSAgc3JjICs9IHBpdGNoOwotICBfX2xzeF92c3RlbG1fdyh0bXA1LCBz
cmMsIDAsIDEpOwotICBzcmMgKz0gcGl0Y2g7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDUsIHNyYywg
MCwgMik7Ci0gIHNyYyArPSBwaXRjaDsKLSAgX19sc3hfdnN0ZWxtX3codG1wNSwgc3JjLCAwLCAz
KTsKLX0KLQotc3RhdGljIHZvaWQgbG9vcF9maWx0ZXJfaG9yaXpvbnRhbF9lZGdlX3V2X2xzeCh1
aW50OF90ICpzcmNfdSwgdWludDhfdCAqc3JjX3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgYl9saW1pdF9pbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCBsaW1pdF9pbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCB0aHJlc2hfaW4pIHsKLSAgaW50MzJfdCBwaXRjaF94MiA9IHBpdGNo
IDw8IDE7Ci0gIGludDMyX3QgcGl0Y2hfeDMgPSBwaXRjaF94MiArIHBpdGNoOwotICBpbnQzMl90
IHBpdGNoX3g0ID0gcGl0Y2ggPDwgMjsKLQotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAwLCBxMywg
cTIsIHExLCBxMDsKLSAgX19tMTI4aSBtYXNrLCBoZXYsIGZsYXQsIHRocmVzaCwgbGltaXQsIGJf
bGltaXQ7Ci0gIF9fbTEyOGkgcDNfdSwgcDJfdSwgcDFfdSwgcDBfdSwgcTNfdSwgcTJfdSwgcTFf
dSwgcTBfdTsKLSAgX19tMTI4aSBwM192LCBwMl92LCBwMV92LCBwMF92LCBxM192LCBxMl92LCBx
MV92LCBxMF92OwotCi0gIHRocmVzaCA9IF9fbHN4X3ZyZXBsZ3IydnJfYih0aHJlc2hfaW4pOwot
ICBsaW1pdCA9IF9fbHN4X3ZyZXBsZ3IydnJfYihsaW1pdF9pbik7Ci0gIGJfbGltaXQgPSBfX2xz
eF92cmVwbGdyMnZyX2IoYl9saW1pdF9pbik7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNy
Y191LCAtcGl0Y2hfeDQsIHNyY191LCAtcGl0Y2hfeDMsIHNyY191LCAtcGl0Y2hfeDIsCi0gICAg
ICAgICAgICBzcmNfdSwgLXBpdGNoLCBwM191LCBwMl91LCBwMV91LCBwMF91KTsKLSAgcTBfdSA9
IF9fbHN4X3ZsZChzcmNfdSwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdSwgcGl0
Y2gsIHNyY191LCBwaXRjaF94MiwgcTFfdSwgcTJfdSk7Ci0gIHEzX3UgPSBfX2xzeF92bGR4KHNy
Y191LCBwaXRjaF94Myk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyY192LCAtcGl0Y2hf
eDQsIHNyY192LCAtcGl0Y2hfeDMsIHNyY192LCAtcGl0Y2hfeDIsCi0gICAgICAgICAgICBzcmNf
diwgLXBpdGNoLCBwM192LCBwMl92LCBwMV92LCBwMF92KTsKLSAgcTBfdiA9IF9fbHN4X3ZsZChz
cmNfdiwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdiwgcGl0Y2gsIHNyY192LCBw
aXRjaF94MiwgcTFfdiwgcTJfdik7Ci0gIHEzX3YgPSBfX2xzeF92bGR4KHNyY192LCBwaXRjaF94
Myk7Ci0KLSAgLyogcmlnaHQgOCBlbGVtZW50IG9mIHAzIGFyZSB1IHBpeGVsIGFuZAotICAgICBs
ZWZ0IDggZWxlbWVudCBvZiBwMyBhcmUgdiBwaXhlbCAqLwotICBEVVA0X0FSRzIoX19sc3hfdmls
dmxfZCwgcDNfdiwgcDNfdSwgcDJfdiwgcDJfdSwgcDFfdiwgcDFfdSwgcDBfdiwgcDBfdSwgcDMs
Ci0gICAgICAgICAgICBwMiwgcDEsIHAwKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2QsIHEw
X3YsIHEwX3UsIHExX3YsIHExX3UsIHEyX3YsIHEyX3UsIHEzX3YsIHEzX3UsIHEwLAotICAgICAg
ICAgICAgcTEsIHEyLCBxMyk7Ci0KLSAgTFBGX01BU0tfSEVWKHAzLCBwMiwgcDEsIHAwLCBxMCwg
cTEsIHEyLCBxMywgbGltaXQsIGJfbGltaXQsIHRocmVzaCwgaGV2LAotICAgICAgICAgICAgICAg
bWFzaywgZmxhdCk7Ci0gIFZQOF9MUEZfRklMVEVSNF80VyhwMSwgcDAsIHEwLCBxMSwgbWFzaywg
aGV2KTsKLQotICBfX2xzeF92c3RlbG1fZChxMSwgc3JjX3UgKyBwaXRjaCwgMCwgMCk7Ci0gIF9f
bHN4X3ZzdGVsbV9kKHEwLCBzcmNfdSwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHAwLCBzcmNf
dSAtIHBpdGNoLCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX2QocDEsIHNyY191IC0gcGl0Y2hfeDIs
IDAsIDApOwotCi0gIF9fbHN4X3ZzdGVsbV9kKHExLCBzcmNfdiArIHBpdGNoLCAwLCAxKTsKLSAg
X19sc3hfdnN0ZWxtX2QocTAsIHNyY192LCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX2QocDAsIHNy
Y192IC0gcGl0Y2gsIDAsIDEpOwotICBfX2xzeF92c3RlbG1fZChwMSwgc3JjX3YgLSBwaXRjaF94
MiwgMCwgMSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGxvb3BfZmlsdGVyX3ZlcnRpY2FsX2VkZ2VfdXZf
bHN4KHVpbnQ4X3QgKnNyY191LCB1aW50OF90ICpzcmNfdiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgcGl0Y2gsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90IGJfbGltaXRfaW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
IGxpbWl0X2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCB0aHJlc2hfaW4pIHsKLSAgdWludDhfdCAqc3JjX3VfdG1wLCAqc3JjX3Zf
dG1wOwotICBpbnQzMl90IHBpdGNoX3gyID0gcGl0Y2ggPDwgMTsKLSAgaW50MzJfdCBwaXRjaF94
MyA9IHBpdGNoX3gyICsgcGl0Y2g7Ci0gIGludDMyX3QgcGl0Y2hfeDQgPSBwaXRjaCA8PCAyOwot
Ci0gIF9fbTEyOGkgcDMsIHAyLCBwMSwgcDAsIHEzLCBxMiwgcTEsIHEwOwotICBfX20xMjhpIG1h
c2ssIGhldiwgZmxhdCwgdGhyZXNoLCBsaW1pdCwgYl9saW1pdDsKLSAgX19tMTI4aSByb3cwLCBy
b3cxLCByb3cyLCByb3czLCByb3c0LCByb3c1LCByb3c2LCByb3c3LCByb3c4OwotICBfX20xMjhp
IHJvdzksIHJvdzEwLCByb3cxMSwgcm93MTIsIHJvdzEzLCByb3cxNCwgcm93MTU7Ci0gIF9fbTEy
OGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMywgdG1wNCwgdG1wNTsKLQotICB0aHJlc2ggPSBfX2xz
eF92cmVwbGdyMnZyX2IodGhyZXNoX2luKTsKLSAgbGltaXQgPSBfX2xzeF92cmVwbGdyMnZyX2Io
bGltaXRfaW4pOwotICBiX2xpbWl0ID0gX19sc3hfdnJlcGxncjJ2cl9iKGJfbGltaXRfaW4pOwot
Ci0gIHNyY191X3RtcCA9IHNyY191IC0gNDsKLSAgcm93MCA9IF9fbHN4X3ZsZChzcmNfdV90bXAs
IDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3VfdG1wLCBwaXRjaCwgc3JjX3VfdG1w
LCBwaXRjaF94Miwgcm93MSwgcm93Mik7Ci0gIHJvdzMgPSBfX2xzeF92bGR4KHNyY191X3RtcCwg
cGl0Y2hfeDMpOwotICBzcmNfdV90bXAgKz0gcGl0Y2hfeDQ7Ci0gIHJvdzQgPSBfX2xzeF92bGQo
c3JjX3VfdG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY191X3RtcCwgcGl0Y2gs
IHNyY191X3RtcCwgcGl0Y2hfeDIsIHJvdzUsIHJvdzYpOwotICByb3c3ID0gX19sc3hfdmxkeChz
cmNfdV90bXAsIHBpdGNoX3gzKTsKLQotICBzcmNfdl90bXAgPSBzcmNfdiAtIDQ7Ci0gIHJvdzgg
PSBfX2xzeF92bGQoc3JjX3ZfdG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY192
X3RtcCwgcGl0Y2gsIHNyY192X3RtcCwgcGl0Y2hfeDIsIHJvdzksIHJvdzEwKTsKLSAgcm93MTEg
PSBfX2xzeF92bGR4KHNyY192X3RtcCwgcGl0Y2hfeDMpOwotICBzcmNfdl90bXAgKz0gcGl0Y2hf
eDQ7Ci0gIHJvdzEyID0gX19sc3hfdmxkKHNyY192X3RtcCwgMCk7Ci0gIERVUDJfQVJHMihfX2xz
eF92bGR4LCBzcmNfdl90bXAsIHBpdGNoLCBzcmNfdl90bXAsIHBpdGNoX3gyLCByb3cxMywgcm93
MTQpOwotICByb3cxNSA9IF9fbHN4X3ZsZHgoc3JjX3ZfdG1wLCBwaXRjaF94Myk7Ci0KLSAgTFNY
X1RSQU5TUE9TRTE2eDhfQihyb3cwLCByb3cxLCByb3cyLCByb3czLCByb3c0LCByb3c1LCByb3c2
LCByb3c3LCByb3c4LAotICAgICAgICAgICAgICAgICAgICAgIHJvdzksIHJvdzEwLCByb3cxMSwg
cm93MTIsIHJvdzEzLCByb3cxNCwgcm93MTUsIHAzLCBwMiwKLSAgICAgICAgICAgICAgICAgICAg
ICBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzKTsKLSAgTFBGX01BU0tfSEVWKHAzLCBwMiwgcDEsIHAw
LCBxMCwgcTEsIHEyLCBxMywgbGltaXQsIGJfbGltaXQsIHRocmVzaCwgaGV2LAotICAgICAgICAg
ICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQOF9MUEZfRklMVEVSNF80VyhwMSwgcDAsIHEwLCBxMSwg
bWFzaywgaGV2KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgcDAsIHAxLCBxMSwgcTAs
IHRtcDAsIHRtcDEpOwotICB0bXAyID0gX19sc3hfdmlsdmxfaCh0bXAxLCB0bXAwKTsKLSAgdG1w
MyA9IF9fbHN4X3ZpbHZoX2godG1wMSwgdG1wMCk7Ci0KLSAgdG1wMCA9IF9fbHN4X3ZpbHZoX2Io
cDAsIHAxKTsKLSAgdG1wMSA9IF9fbHN4X3ZpbHZoX2IocTEsIHEwKTsKLSAgdG1wNCA9IF9fbHN4
X3ZpbHZsX2godG1wMSwgdG1wMCk7Ci0gIHRtcDUgPSBfX2xzeF92aWx2aF9oKHRtcDEsIHRtcDAp
OwotCi0gIHNyY191X3RtcCArPSAyOwotICBfX2xzeF92c3RlbG1fdyh0bXAyLCBzcmNfdV90bXAg
LSBwaXRjaF94NCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDIsIHNyY191X3RtcCAtIHBp
dGNoX3gzLCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX3codG1wMiwgc3JjX3VfdG1wIC0gcGl0Y2hf
eDIsIDAsIDIpOwotICBfX2xzeF92c3RlbG1fdyh0bXAyLCBzcmNfdV90bXAgLSBwaXRjaCwgMCwg
Myk7Ci0KLSAgX19sc3hfdnN0ZWxtX3codG1wMywgc3JjX3VfdG1wLCAwLCAwKTsKLSAgX19sc3hf
dnN0ZWxtX3codG1wMywgc3JjX3VfdG1wICsgcGl0Y2gsIDAsIDEpOwotICBfX2xzeF92c3RlbG1f
dyh0bXAzLCBzcmNfdV90bXAgKyBwaXRjaF94MiwgMCwgMik7Ci0gIF9fbHN4X3ZzdGVsbV93KHRt
cDMsIHNyY191X3RtcCArIHBpdGNoX3gzLCAwLCAzKTsKLQotICBzcmNfdl90bXAgKz0gMjsKLSAg
X19sc3hfdnN0ZWxtX3codG1wNCwgc3JjX3ZfdG1wIC0gcGl0Y2hfeDQsIDAsIDApOwotICBfX2xz
eF92c3RlbG1fdyh0bXA0LCBzcmNfdl90bXAgLSBwaXRjaF94MywgMCwgMSk7Ci0gIF9fbHN4X3Zz
dGVsbV93KHRtcDQsIHNyY192X3RtcCAtIHBpdGNoX3gyLCAwLCAyKTsKLSAgX19sc3hfdnN0ZWxt
X3codG1wNCwgc3JjX3ZfdG1wIC0gcGl0Y2gsIDAsIDMpOwotCi0gIF9fbHN4X3ZzdGVsbV93KHRt
cDUsIHNyY192X3RtcCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDUsIHNyY192X3RtcCAr
IHBpdGNoLCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX3codG1wNSwgc3JjX3ZfdG1wICsgcGl0Y2hf
eDIsIDAsIDIpOwotICBfX2xzeF92c3RlbG1fdyh0bXA1LCBzcmNfdl90bXAgKyBwaXRjaF94Mywg
MCwgMyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBtYmxvb3BfZmlsdGVyX2hvcml6b250YWxf
ZWRnZV95X2xzeCgKLSAgICB1aW50OF90ICpzcmMsIGludDMyX3QgcGl0Y2gsIGNvbnN0IHVpbnQ4
X3QgYl9saW1pdF9pbiwKLSAgICBjb25zdCB1aW50OF90IGxpbWl0X2luLCBjb25zdCB1aW50OF90
IHRocmVzaF9pbikgewotICB1aW50OF90ICp0ZW1wX3NyYzsKLSAgaW50MzJfdCBwaXRjaF94MiA9
IHBpdGNoIDw8IDE7Ci0gIGludDMyX3QgcGl0Y2hfeDMgPSBwaXRjaF94MiArIHBpdGNoOwotICBp
bnQzMl90IHBpdGNoX3g0ID0gcGl0Y2ggPDwgMjsKLQotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAw
LCBxMywgcTIsIHExLCBxMDsKLSAgX19tMTI4aSBtYXNrLCBoZXYsIGZsYXQsIHRocmVzaCwgbGlt
aXQsIGJfbGltaXQ7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHJlcGxfYiwgJmJfbGltaXRfaW4s
IDAsICZsaW1pdF9pbiwgMCwgYl9saW1pdCwgbGltaXQpOwotICB0aHJlc2ggPSBfX2xzeF92bGRy
ZXBsX2IoJnRocmVzaF9pbiwgMCk7Ci0KLSAgdGVtcF9zcmMgPSBzcmMgLSBwaXRjaF94NDsKLSAg
RFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHRlbXBfc3JjLCAwLCB0ZW1wX3NyYywgcGl0Y2gsIHRlbXBf
c3JjLCBwaXRjaF94MiwKLSAgICAgICAgICAgIHRlbXBfc3JjLCBwaXRjaF94MywgcDMsIHAyLCBw
MSwgcDApOwotICB0ZW1wX3NyYyArPSBwaXRjaF94NDsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgs
IHRlbXBfc3JjLCAwLCB0ZW1wX3NyYywgcGl0Y2gsIHRlbXBfc3JjLCBwaXRjaF94MiwKLSAgICAg
ICAgICAgIHRlbXBfc3JjLCBwaXRjaF94MywgcTAsIHExLCBxMiwgcTMpOwotICBMUEZfTUFTS19I
RVYocDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzLCBsaW1pdCwgYl9saW1pdCwgdGhyZXNo
LCBoZXYsCi0gICAgICAgICAgICAgICBtYXNrLCBmbGF0KTsKLSAgVlA4X01CRklMVEVSKHAyLCBw
MSwgcDAsIHEwLCBxMSwgcTIsIG1hc2ssIGhldik7Ci0KLSAgdGVtcF9zcmMgPSBzcmMgLSBwaXRj
aF94MzsKLSAgX19sc3hfdnN0eChwMiwgdGVtcF9zcmMsIDApOwotICBfX2xzeF92c3R4KHAxLCB0
ZW1wX3NyYywgcGl0Y2gpOwotICBfX2xzeF92c3R4KHAwLCB0ZW1wX3NyYywgcGl0Y2hfeDIpOwot
ICBfX2xzeF92c3R4KHEwLCB0ZW1wX3NyYywgcGl0Y2hfeDMpOwotICB0ZW1wX3NyYyArPSBwaXRj
aF94NDsKLSAgX19sc3hfdnN0eChxMSwgdGVtcF9zcmMsIDApOwotICBfX2xzeF92c3R4KHEyLCB0
ZW1wX3NyYywgcGl0Y2gpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgbWJsb29wX2ZpbHRlcl9o
b3Jpem9udGFsX2VkZ2VfdXZfbHN4KAotICAgIHVpbnQ4X3QgKnNyY191LCB1aW50OF90ICpzcmNf
diwgaW50MzJfdCBwaXRjaCwgY29uc3QgdWludDhfdCBiX2xpbWl0X2luLAotICAgIGNvbnN0IHVp
bnQ4X3QgbGltaXRfaW4sIGNvbnN0IHVpbnQ4X3QgdGhyZXNoX2luKSB7Ci0gIHVpbnQ4X3QgKnRl
bXBfc3JjOwotICBpbnQzMl90IHBpdGNoX3gyID0gcGl0Y2ggPDwgMTsKLSAgaW50MzJfdCBwaXRj
aF94MyA9IHBpdGNoX3gyICsgcGl0Y2g7Ci0gIGludDMyX3QgcGl0Y2hfeDQgPSBwaXRjaCA8PCAy
OwotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAwLCBxMywgcTIsIHExLCBxMDsKLSAgX19tMTI4aSBt
YXNrLCBoZXYsIGZsYXQsIHRocmVzaCwgbGltaXQsIGJfbGltaXQ7Ci0gIF9fbTEyOGkgcDNfdSwg
cDJfdSwgcDFfdSwgcDBfdSwgcTNfdSwgcTJfdSwgcTFfdSwgcTBfdTsKLSAgX19tMTI4aSBwM192
LCBwMl92LCBwMV92LCBwMF92LCBxM192LCBxMl92LCBxMV92LCBxMF92OwotCi0gIERVUDJfQVJH
MihfX2xzeF92bGRyZXBsX2IsICZiX2xpbWl0X2luLCAwLCAmbGltaXRfaW4sIDAsIGJfbGltaXQs
IGxpbWl0KTsKLSAgdGhyZXNoID0gX19sc3hfdmxkcmVwbF9iKCZ0aHJlc2hfaW4sIDApOwotCi0g
IHRlbXBfc3JjID0gc3JjX3UgLSBwaXRjaF94NDsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHRl
bXBfc3JjLCAwLCB0ZW1wX3NyYywgcGl0Y2gsIHRlbXBfc3JjLCBwaXRjaF94MiwKLSAgICAgICAg
ICAgIHRlbXBfc3JjLCBwaXRjaF94MywgcDNfdSwgcDJfdSwgcDFfdSwgcDBfdSk7Ci0gIHRlbXBf
c3JjICs9IHBpdGNoX3g0OwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgdGVtcF9zcmMsIDAsIHRl
bXBfc3JjLCBwaXRjaCwgdGVtcF9zcmMsIHBpdGNoX3gyLAotICAgICAgICAgICAgdGVtcF9zcmMs
IHBpdGNoX3gzLCBxMF91LCBxMV91LCBxMl91LCBxM191KTsKLSAgdGVtcF9zcmMgPSBzcmNfdiAt
IHBpdGNoX3g0OwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgdGVtcF9zcmMsIDAsIHRlbXBfc3Jj
LCBwaXRjaCwgdGVtcF9zcmMsIHBpdGNoX3gyLAotICAgICAgICAgICAgdGVtcF9zcmMsIHBpdGNo
X3gzLCBwM192LCBwMl92LCBwMV92LCBwMF92KTsKLSAgdGVtcF9zcmMgKz0gcGl0Y2hfeDQ7Ci0g
IERVUDRfQVJHMihfX2xzeF92bGR4LCB0ZW1wX3NyYywgMCwgdGVtcF9zcmMsIHBpdGNoLCB0ZW1w
X3NyYywgcGl0Y2hfeDIsCi0gICAgICAgICAgICB0ZW1wX3NyYywgcGl0Y2hfeDMsIHEwX3YsIHEx
X3YsIHEyX3YsIHEzX3YpOwotCi0gIERVUDRfQVJHMihfX2xzeF92aWx2bF9kLCBwM192LCBwM191
LCBwMl92LCBwMl91LCBwMV92LCBwMV91LCBwMF92LCBwMF91LCBwMywKLSAgICAgICAgICAgIHAy
LCBwMSwgcDApOwotICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfZCwgcTBfdiwgcTBfdSwgcTFfdiwg
cTFfdSwgcTJfdiwgcTJfdSwgcTNfdiwgcTNfdSwgcTAsCi0gICAgICAgICAgICBxMSwgcTIsIHEz
KTsKLSAgTFBGX01BU0tfSEVWKHAzLCBwMiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQs
IGJfbGltaXQsIHRocmVzaCwgaGV2LAotICAgICAgICAgICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQ
OF9NQkZJTFRFUihwMiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBtYXNrLCBoZXYpOwotCi0gIHNyY191
IC09IHBpdGNoX3gzOwotICBfX2xzeF92c3RlbG1fZChwMiwgc3JjX3UsIDAsIDApOwotICBfX2xz
eF92c3RlbG1fZChwMSwgc3JjX3UgKyBwaXRjaCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHAw
LCBzcmNfdSArIHBpdGNoX3gyLCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX2QocTAsIHNyY191ICsg
cGl0Y2hfeDMsIDAsIDApOwotICBzcmNfdSArPSBwaXRjaF94NDsKLSAgX19sc3hfdnN0ZWxtX2Qo
cTEsIHNyY191LCAwLCAwKTsKLSAgc3JjX3UgKz0gcGl0Y2g7Ci0gIF9fbHN4X3ZzdGVsbV9kKHEy
LCBzcmNfdSwgMCwgMCk7Ci0KLSAgc3JjX3YgLT0gcGl0Y2hfeDM7Ci0gIF9fbHN4X3ZzdGVsbV9k
KHAyLCBzcmNfdiwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHAxLCBzcmNfdiArIHBpdGNoLCAw
LCAxKTsKLSAgX19sc3hfdnN0ZWxtX2QocDAsIHNyY192ICsgcGl0Y2hfeDIsIDAsIDEpOwotICBf
X2xzeF92c3RlbG1fZChxMCwgc3JjX3YgKyBwaXRjaF94MywgMCwgMSk7Ci0gIHNyY192ICs9IHBp
dGNoX3g0OwotICBfX2xzeF92c3RlbG1fZChxMSwgc3JjX3YsIDAsIDEpOwotICBzcmNfdiArPSBw
aXRjaDsKLSAgX19sc3hfdnN0ZWxtX2QocTIsIHNyY192LCAwLCAxKTsKLX0KLQotc3RhdGljIGlu
bGluZSB2b2lkIG1ibG9vcF9maWx0ZXJfdmVydGljYWxfZWRnZV95X2xzeCh1aW50OF90ICpzcmMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dDMyX3QgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgYl9saW1pdF9pbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCBsaW1pdF9pbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCB0aHJlc2hfaW4pIHsKLSAgdWludDhfdCAqdGVtcF9zcmM7Ci0gIGludDMyX3Qg
cGl0Y2hfeDIgPSBwaXRjaCA8PCAxOwotICBpbnQzMl90IHBpdGNoX3gzID0gcGl0Y2hfeDIgKyBw
aXRjaDsKLSAgaW50MzJfdCBwaXRjaF94NCA9IHBpdGNoIDw8IDI7Ci0KLSAgX19tMTI4aSBwMywg
cDIsIHAxLCBwMCwgcTMsIHEyLCBxMSwgcTA7Ci0gIF9fbTEyOGkgbWFzaywgaGV2LCBmbGF0LCB0
aHJlc2gsIGxpbWl0LCBiX2xpbWl0OwotICBfX20xMjhpIHJvdzAsIHJvdzEsIHJvdzIsIHJvdzMs
IHJvdzQsIHJvdzUsIHJvdzYsIHJvdzcsIHJvdzg7Ci0gIF9fbTEyOGkgcm93OSwgcm93MTAsIHJv
dzExLCByb3cxMiwgcm93MTMsIHJvdzE0LCByb3cxNTsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0
bXAyLCB0bXAzLCB0bXA0LCB0bXA1LCB0bXA2LCB0bXA3OwotCi0gIERVUDJfQVJHMihfX2xzeF92
bGRyZXBsX2IsICZiX2xpbWl0X2luLCAwLCAmbGltaXRfaW4sIDAsIGJfbGltaXQsIGxpbWl0KTsK
LSAgdGhyZXNoID0gX19sc3hfdmxkcmVwbF9iKCZ0aHJlc2hfaW4sIDApOwotICB0ZW1wX3NyYyA9
IHNyYyAtIDQ7Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4LCB0ZW1wX3NyYywgMCwgdGVtcF9zcmMs
IHBpdGNoLCB0ZW1wX3NyYywgcGl0Y2hfeDIsCi0gICAgICAgICAgICB0ZW1wX3NyYywgcGl0Y2hf
eDMsIHJvdzAsIHJvdzEsIHJvdzIsIHJvdzMpOwotICB0ZW1wX3NyYyArPSBwaXRjaF94NDsKLSAg
RFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHRlbXBfc3JjLCAwLCB0ZW1wX3NyYywgcGl0Y2gsIHRlbXBf
c3JjLCBwaXRjaF94MiwKLSAgICAgICAgICAgIHRlbXBfc3JjLCBwaXRjaF94Mywgcm93NCwgcm93
NSwgcm93Niwgcm93Nyk7Ci0gIHRlbXBfc3JjICs9IHBpdGNoX3g0OwotICBEVVA0X0FSRzIoX19s
c3hfdmxkeCwgdGVtcF9zcmMsIDAsIHRlbXBfc3JjLCBwaXRjaCwgdGVtcF9zcmMsIHBpdGNoX3gy
LAotICAgICAgICAgICAgdGVtcF9zcmMsIHBpdGNoX3gzLCByb3c4LCByb3c5LCByb3cxMCwgcm93
MTEpOwotICB0ZW1wX3NyYyArPSBwaXRjaF94NDsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHRl
bXBfc3JjLCAwLCB0ZW1wX3NyYywgcGl0Y2gsIHRlbXBfc3JjLCBwaXRjaF94MiwKLSAgICAgICAg
ICAgIHRlbXBfc3JjLCBwaXRjaF94Mywgcm93MTIsIHJvdzEzLCByb3cxNCwgcm93MTUpOwotICB0
ZW1wX3NyYyAtPSBwaXRjaF94NDsKLSAgTFNYX1RSQU5TUE9TRTE2eDhfQihyb3cwLCByb3cxLCBy
b3cyLCByb3czLCByb3c0LCByb3c1LCByb3c2LCByb3c3LCByb3c4LAotICAgICAgICAgICAgICAg
ICAgICAgIHJvdzksIHJvdzEwLCByb3cxMSwgcm93MTIsIHJvdzEzLCByb3cxNCwgcm93MTUsIHAz
LCBwMiwKLSAgICAgICAgICAgICAgICAgICAgICBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzKTsKLQot
ICBMUEZfTUFTS19IRVYocDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzLCBsaW1pdCwgYl9s
aW1pdCwgdGhyZXNoLCBoZXYsCi0gICAgICAgICAgICAgICBtYXNrLCBmbGF0KTsKLSAgVlA4X01C
RklMVEVSKHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIG1hc2ssIGhldik7Ci0gIERVUDJfQVJHMihf
X2xzeF92aWx2bF9iLCBwMSwgcDIsIHEwLCBwMCwgdG1wMCwgdG1wMSk7Ci0gIHRtcDMgPSBfX2xz
eF92aWx2bF9oKHRtcDEsIHRtcDApOwotICB0bXA0ID0gX19sc3hfdmlsdmhfaCh0bXAxLCB0bXAw
KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIHAxLCBwMiwgcTAsIHAwLCB0bXAwLCB0bXAx
KTsKLSAgdG1wNiA9IF9fbHN4X3ZpbHZsX2godG1wMSwgdG1wMCk7Ci0gIHRtcDcgPSBfX2xzeF92
aWx2aF9oKHRtcDEsIHRtcDApOwotICB0bXAyID0gX19sc3hfdmlsdmxfYihxMiwgcTEpOwotICB0
bXA1ID0gX19sc3hfdmlsdmhfYihxMiwgcTEpOwotCi0gIHRlbXBfc3JjID0gc3JjIC0gMzsKLSAg
VlA4X1NUNngxX0IodG1wMywgMCwgdG1wMiwgMCwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyAr
PSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wMywgMSwgdG1wMiwgMSwgdGVtcF9zcmMsIDQpOwot
ICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wMywgMiwgdG1wMiwgMiwgdGVt
cF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wMywgMywg
dG1wMiwgMywgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngx
X0IodG1wNCwgMCwgdG1wMiwgNCwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsK
LSAgVlA4X1NUNngxX0IodG1wNCwgMSwgdG1wMiwgNSwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3Ny
YyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wNCwgMiwgdG1wMiwgNiwgdGVtcF9zcmMsIDQp
OwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wNCwgMywgdG1wMiwgNywg
dGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wNiwg
MCwgdG1wNSwgMCwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NU
NngxX0IodG1wNiwgMSwgdG1wNSwgMSwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRj
aDsKLSAgVlA4X1NUNngxX0IodG1wNiwgMiwgdG1wNSwgMiwgdGVtcF9zcmMsIDQpOwotICB0ZW1w
X3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wNiwgMywgdG1wNSwgMywgdGVtcF9zcmMs
IDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1wNywgMCwgdG1wNSwg
NCwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4X1NUNngxX0IodG1w
NywgMSwgdG1wNSwgNSwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBwaXRjaDsKLSAgVlA4
X1NUNngxX0IodG1wNywgMiwgdG1wNSwgNiwgdGVtcF9zcmMsIDQpOwotICB0ZW1wX3NyYyArPSBw
aXRjaDsKLSAgVlA4X1NUNngxX0IodG1wNywgMywgdG1wNSwgNywgdGVtcF9zcmMsIDQpOwotfQot
Ci1zdGF0aWMgaW5saW5lIHZvaWQgbWJsb29wX2ZpbHRlcl92ZXJ0aWNhbF9lZGdlX3V2X2xzeCgK
LSAgICB1aW50OF90ICpzcmNfdSwgdWludDhfdCAqc3JjX3YsIGludDMyX3QgcGl0Y2gsIGNvbnN0
IHVpbnQ4X3QgYl9saW1pdF9pbiwKLSAgICBjb25zdCB1aW50OF90IGxpbWl0X2luLCBjb25zdCB1
aW50OF90IHRocmVzaF9pbikgewotICBpbnQzMl90IHBpdGNoX3gyID0gcGl0Y2ggPDwgMTsKLSAg
aW50MzJfdCBwaXRjaF94MyA9IHBpdGNoX3gyICsgcGl0Y2g7Ci0gIGludDMyX3QgcGl0Y2hfeDQg
PSBwaXRjaCA8PCAyOwotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAwLCBxMywgcTIsIHExLCBxMDsK
LSAgX19tMTI4aSBtYXNrLCBoZXYsIGZsYXQsIHRocmVzaCwgbGltaXQsIGJfbGltaXQ7Ci0gIF9f
bTEyOGkgcm93MCwgcm93MSwgcm93Miwgcm93Mywgcm93NCwgcm93NSwgcm93Niwgcm93Nywgcm93
ODsKLSAgX19tMTI4aSByb3c5LCByb3cxMCwgcm93MTEsIHJvdzEyLCByb3cxMywgcm93MTQsIHJv
dzE1OwotICBfX20xMjhpIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMsIHRtcDQsIHRtcDUsIHRtcDYs
IHRtcDc7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHJlcGxfYiwgJmJfbGltaXRfaW4sIDAsICZs
aW1pdF9pbiwgMCwgYl9saW1pdCwgbGltaXQpOwotICB0aHJlc2ggPSBfX2xzeF92bGRyZXBsX2Io
JnRocmVzaF9pbiwgMCk7Ci0KLSAgc3JjX3UgLT0gNDsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgs
IHNyY191LCAwLCBzcmNfdSwgcGl0Y2gsIHNyY191LCBwaXRjaF94Miwgc3JjX3UsCi0gICAgICAg
ICAgICBwaXRjaF94Mywgcm93MCwgcm93MSwgcm93Miwgcm93Myk7Ci0gIHNyY191ICs9IHBpdGNo
X3g0OwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjX3UsIDAsIHNyY191LCBwaXRjaCwgc3Jj
X3UsIHBpdGNoX3gyLCBzcmNfdSwKLSAgICAgICAgICAgIHBpdGNoX3gzLCByb3c0LCByb3c1LCBy
b3c2LCByb3c3KTsKLSAgc3JjX3YgLT0gNDsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyY192
LCAwLCBzcmNfdiwgcGl0Y2gsIHNyY192LCBwaXRjaF94Miwgc3JjX3YsCi0gICAgICAgICAgICBw
aXRjaF94Mywgcm93OCwgcm93OSwgcm93MTAsIHJvdzExKTsKLSAgc3JjX3YgKz0gcGl0Y2hfeDQ7
Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmNfdiwgMCwgc3JjX3YsIHBpdGNoLCBzcmNfdiwg
cGl0Y2hfeDIsIHNyY192LAotICAgICAgICAgICAgcGl0Y2hfeDMsIHJvdzEyLCByb3cxMywgcm93
MTQsIHJvdzE1KTsKLSAgTFNYX1RSQU5TUE9TRTE2eDhfQihyb3cwLCByb3cxLCByb3cyLCByb3cz
LCByb3c0LCByb3c1LCByb3c2LCByb3c3LCByb3c4LAotICAgICAgICAgICAgICAgICAgICAgIHJv
dzksIHJvdzEwLCByb3cxMSwgcm93MTIsIHJvdzEzLCByb3cxNCwgcm93MTUsIHAzLCBwMiwKLSAg
ICAgICAgICAgICAgICAgICAgICBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzKTsKLQotICBMUEZfTUFT
S19IRVYocDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzLCBsaW1pdCwgYl9saW1pdCwgdGhy
ZXNoLCBoZXYsCi0gICAgICAgICAgICAgICBtYXNrLCBmbGF0KTsKLSAgVlA4X01CRklMVEVSKHAy
LCBwMSwgcDAsIHEwLCBxMSwgcTIsIG1hc2ssIGhldik7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3Zp
bHZsX2IsIHAxLCBwMiwgcTAsIHAwLCB0bXAwLCB0bXAxKTsKLSAgdG1wMyA9IF9fbHN4X3ZpbHZs
X2godG1wMSwgdG1wMCk7Ci0gIHRtcDQgPSBfX2xzeF92aWx2aF9oKHRtcDEsIHRtcDApOwotICBE
VVAyX0FSRzIoX19sc3hfdmlsdmhfYiwgcDEsIHAyLCBxMCwgcDAsIHRtcDAsIHRtcDEpOwotICB0
bXA2ID0gX19sc3hfdmlsdmxfaCh0bXAxLCB0bXAwKTsKLSAgdG1wNyA9IF9fbHN4X3ZpbHZoX2go
dG1wMSwgdG1wMCk7Ci0gIHRtcDIgPSBfX2xzeF92aWx2bF9iKHEyLCBxMSk7Ci0gIHRtcDUgPSBf
X2xzeF92aWx2aF9iKHEyLCBxMSk7Ci0KLSAgc3JjX3UgKz0gMSAtIHBpdGNoX3g0OwotICBWUDhf
U1Q2eDFfQih0bXAzLCAwLCB0bXAyLCAwLCBzcmNfdSwgNCk7Ci0gIHNyY191ICs9IHBpdGNoOwot
ICBWUDhfU1Q2eDFfQih0bXAzLCAxLCB0bXAyLCAxLCBzcmNfdSwgNCk7Ci0gIHNyY191ICs9IHBp
dGNoOwotICBWUDhfU1Q2eDFfQih0bXAzLCAyLCB0bXAyLCAyLCBzcmNfdSwgNCk7Ci0gIHNyY191
ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXAzLCAzLCB0bXAyLCAzLCBzcmNfdSwgNCk7Ci0g
IHNyY191ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA0LCAwLCB0bXAyLCA0LCBzcmNfdSwg
NCk7Ci0gIHNyY191ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA0LCAxLCB0bXAyLCA1LCBz
cmNfdSwgNCk7Ci0gIHNyY191ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA0LCAyLCB0bXAy
LCA2LCBzcmNfdSwgNCk7Ci0gIHNyY191ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA0LCAz
LCB0bXAyLCA3LCBzcmNfdSwgNCk7Ci0KLSAgc3JjX3YgKz0gMSAtIHBpdGNoX3g0OwotICBWUDhf
U1Q2eDFfQih0bXA2LCAwLCB0bXA1LCAwLCBzcmNfdiwgNCk7Ci0gIHNyY192ICs9IHBpdGNoOwot
ICBWUDhfU1Q2eDFfQih0bXA2LCAxLCB0bXA1LCAxLCBzcmNfdiwgNCk7Ci0gIHNyY192ICs9IHBp
dGNoOwotICBWUDhfU1Q2eDFfQih0bXA2LCAyLCB0bXA1LCAyLCBzcmNfdiwgNCk7Ci0gIHNyY192
ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA2LCAzLCB0bXA1LCAzLCBzcmNfdiwgNCk7Ci0g
IHNyY192ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA3LCAwLCB0bXA1LCA0LCBzcmNfdiwg
NCk7Ci0gIHNyY192ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA3LCAxLCB0bXA1LCA1LCBz
cmNfdiwgNCk7Ci0gIHNyY192ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA3LCAyLCB0bXA1
LCA2LCBzcmNfdiwgNCk7Ci0gIHNyY192ICs9IHBpdGNoOwotICBWUDhfU1Q2eDFfQih0bXA3LCAz
LCB0bXA1LCA3LCBzcmNfdiwgNCk7Ci19Ci0KLXZvaWQgdnA4X2xvb3BfZmlsdGVyX21iaF9sc3go
dWludDhfdCAqc3JjX3ksIHVpbnQ4X3QgKnNyY191LCB1aW50OF90ICpzcmNfdiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBwaXRjaF95LCBpbnQzMl90IHBpdGNoX3VfdiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9vcF9maWx0ZXJfaW5mbyAqbHBmX2luZm9f
cHRyKSB7Ci0gIG1ibG9vcF9maWx0ZXJfaG9yaXpvbnRhbF9lZGdlX3lfbHN4KHNyY195LCBwaXRj
aF95LCAqbHBmX2luZm9fcHRyLT5tYmxpbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKmxwZl9pbmZvX3B0ci0+bGltLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqbHBmX2luZm9fcHRyLT5oZXZfdGhyKTsKLSAgaWYgKHNyY191KSB7Ci0gICAg
bWJsb29wX2ZpbHRlcl9ob3Jpem9udGFsX2VkZ2VfdXZfbHN4KAotICAgICAgICBzcmNfdSwgc3Jj
X3YsIHBpdGNoX3VfdiwgKmxwZl9pbmZvX3B0ci0+bWJsaW0sICpscGZfaW5mb19wdHItPmxpbSwK
LSAgICAgICAgKmxwZl9pbmZvX3B0ci0+aGV2X3Rocik7Ci0gIH0KLX0KLQotdm9pZCB2cDhfbG9v
cF9maWx0ZXJfbWJ2X2xzeCh1aW50OF90ICpzcmNfeSwgdWludDhfdCAqc3JjX3UsIHVpbnQ4X3Qg
KnNyY192LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHBpdGNoX3ksIGlu
dDMyX3QgcGl0Y2hfdV92LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb29wX2ZpbHRl
cl9pbmZvICpscGZfaW5mb19wdHIpIHsKLSAgbWJsb29wX2ZpbHRlcl92ZXJ0aWNhbF9lZGdlX3lf
bHN4KHNyY195LCBwaXRjaF95LCAqbHBmX2luZm9fcHRyLT5tYmxpbSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICpscGZfaW5mb19wdHItPmxpbSwgKmxwZl9pbmZvX3B0ci0+
aGV2X3Rocik7Ci0gIGlmIChzcmNfdSkgewotICAgIG1ibG9vcF9maWx0ZXJfdmVydGljYWxfZWRn
ZV91dl9sc3goc3JjX3UsIHNyY192LCBwaXRjaF91X3YsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqbHBmX2luZm9fcHRyLT5tYmxpbSwgKmxwZl9pbmZvX3B0ci0+bGlt
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKmxwZl9pbmZvX3B0ci0+
aGV2X3Rocik7Ci0gIH0KLX0KLQotdm9pZCB2cDhfbG9vcF9maWx0ZXJfYmhfbHN4KHVpbnQ4X3Qg
KnNyY195LCB1aW50OF90ICpzcmNfdSwgdWludDhfdCAqc3JjX3YsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MzJfdCBwaXRjaF95LCBpbnQzMl90IHBpdGNoX3VfdiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsb29wX2ZpbHRlcl9pbmZvICpscGZfaW5mb19wdHIpIHsKLSAg
bG9vcF9maWx0ZXJfaG9yaXpvbnRhbF80X2R1YWxfbHN4KHNyY195ICsgNCAqIHBpdGNoX3ksIHBp
dGNoX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBscGZfaW5mb19wdHIt
PmJsaW0sIGxwZl9pbmZvX3B0ci0+bGltLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbHBmX2luZm9fcHRyLT5oZXZfdGhyLCBscGZfaW5mb19wdHItPmJsaW0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBscGZfaW5mb19wdHItPmxpbSwgbHBmX2luZm9f
cHRyLT5oZXZfdGhyKTsKLSAgbG9vcF9maWx0ZXJfaG9yaXpvbnRhbF80X2R1YWxfbHN4KHNyY195
ICsgOCAqIHBpdGNoX3ksIHBpdGNoX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBscGZfaW5mb19wdHItPmJsaW0sIGxwZl9pbmZvX3B0ci0+bGltLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbHBmX2luZm9fcHRyLT5oZXZfdGhyLCBscGZfaW5mb19w
dHItPmJsaW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBscGZfaW5mb19w
dHItPmxpbSwgbHBmX2luZm9fcHRyLT5oZXZfdGhyKTsKLSAgbG9vcF9maWx0ZXJfaG9yaXpvbnRh
bF80X2R1YWxfbHN4KHNyY195ICsgMTIgKiBwaXRjaF95LCBwaXRjaF95LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbHBmX2luZm9fcHRyLT5ibGltLCBscGZfaW5mb19wdHIt
PmxpbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxwZl9pbmZvX3B0ci0+
aGV2X3RociwgbHBmX2luZm9fcHRyLT5ibGltLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbHBmX2luZm9fcHRyLT5saW0sIGxwZl9pbmZvX3B0ci0+aGV2X3Rocik7Ci0gIGlm
IChzcmNfdSkgewotICAgIGxvb3BfZmlsdGVyX2hvcml6b250YWxfZWRnZV91dl9sc3goCi0gICAg
ICAgIHNyY191ICsgKDQgKiBwaXRjaF91X3YpLCBzcmNfdiArICg0ICogcGl0Y2hfdV92KSwgcGl0
Y2hfdV92LAotICAgICAgICAqbHBmX2luZm9fcHRyLT5ibGltLCAqbHBmX2luZm9fcHRyLT5saW0s
ICpscGZfaW5mb19wdHItPmhldl90aHIpOwotICB9Ci19Ci0KLXZvaWQgdnA4X2xvb3BfZmlsdGVy
X2J2X2xzeCh1aW50OF90ICpzcmNfeSwgdWludDhfdCAqc3JjX3UsIHVpbnQ4X3QgKnNyY192LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgcGl0Y2hfeSwgaW50MzJfdCBwaXRj
aF91X3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9vcF9maWx0ZXJfaW5mbyAqbHBm
X2luZm9fcHRyKSB7Ci0gIGxvb3BfZmlsdGVyX3ZlcnRpY2FsXzRfZHVhbF9sc3goc3JjX3kgKyA0
LCBwaXRjaF95LCBscGZfaW5mb19wdHItPmJsaW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbHBmX2luZm9fcHRyLT5saW0sIGxwZl9pbmZvX3B0ci0+aGV2X3RociwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBscGZfaW5mb19wdHItPmJsaW0sIGxwZl9pbmZv
X3B0ci0+bGltLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxwZl9pbmZvX3B0
ci0+aGV2X3Rocik7Ci0gIGxvb3BfZmlsdGVyX3ZlcnRpY2FsXzRfZHVhbF9sc3goc3JjX3kgKyA4
LCBwaXRjaF95LCBscGZfaW5mb19wdHItPmJsaW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbHBmX2luZm9fcHRyLT5saW0sIGxwZl9pbmZvX3B0ci0+aGV2X3RociwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBscGZfaW5mb19wdHItPmJsaW0sIGxwZl9pbmZv
X3B0ci0+bGltLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxwZl9pbmZvX3B0
ci0+aGV2X3Rocik7Ci0gIGxvb3BfZmlsdGVyX3ZlcnRpY2FsXzRfZHVhbF9sc3goc3JjX3kgKyAx
MiwgcGl0Y2hfeSwgbHBmX2luZm9fcHRyLT5ibGltLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxwZl9pbmZvX3B0ci0+bGltLCBscGZfaW5mb19wdHItPmhldl90aHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHBmX2luZm9fcHRyLT5ibGltLCBscGZfaW5m
b19wdHItPmxpbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBscGZfaW5mb19w
dHItPmhldl90aHIpOwotICBpZiAoc3JjX3UpIHsKLSAgICBsb29wX2ZpbHRlcl92ZXJ0aWNhbF9l
ZGdlX3V2X2xzeChzcmNfdSArIDQsIHNyY192ICsgNCwgcGl0Y2hfdV92LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICpscGZfaW5mb19wdHItPmJsaW0sICpscGZfaW5mb19w
dHItPmxpbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbHBmX2luZm9f
cHRyLT5oZXZfdGhyKTsKLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9u
L2xvb25nYXJjaC9zaXh0YXBfZmlsdGVyX2xzeC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL2xv
b25nYXJjaC9zaXh0YXBfZmlsdGVyX2xzeC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5ODY3NjMzNDE1MjEuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24v
bG9vbmdhcmNoL3NpeHRhcF9maWx0ZXJfbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOTA0ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMjEgTG9vbmdzb24gVGVjaG5vbG9neSBDb3Jw
b3JhdGlvbiBMaW1pdGVkCi0gKiBDb250cmlidXRlZCBieSBMdSBXYW5nIDx3YW5nbHVAbG9vbmdz
b24uY24+Ci0gKgotICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZQotICogdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVs
bGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiBpbiB0aGUgZmls
ZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiBiZSBm
b3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4K
LSAqLwotCi0jaW5jbHVkZSAiLi92cDhfcnRjZC5oIgotI2luY2x1ZGUgInZwOC9jb21tb24vZmls
dGVyLmgiCi0jaW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgotI2luY2x1ZGUgInZweF91dGlsL2xv
b25nc29uX2ludHJpbnNpY3MuaCIKLQotREVDTEFSRV9BTElHTkVEKDE2LCBzdGF0aWMgY29uc3Qg
aW50OF90LCB2cDhfc3VicGVsX2ZpbHRlcnNfbHN4WzddWzhdKSA9IHsKLSAgeyAwLCAtNiwgMTIz
LCAxMiwgLTEsIDAsIDAsIDAgfSwKLSAgeyAyLCAtMTEsIDEwOCwgMzYsIC04LCAxLCAwLCAwIH0s
IC8qIE5ldyAxLzQgcGVsIDYgdGFwIGZpbHRlciAqLwotICB7IDAsIC05LCA5MywgNTAsIC02LCAw
LCAwLCAwIH0sCi0gIHsgMywgLTE2LCA3NywgNzcsIC0xNiwgMywgMCwgMCB9LCAvKiBOZXcgMS8y
IHBlbCA2IHRhcCBmaWx0ZXIgKi8KLSAgeyAwLCAtNiwgNTAsIDkzLCAtOSwgMCwgMCwgMCB9LAot
ICB7IDEsIC04LCAzNiwgMTA4LCAtMTEsIDIsIDAsIDAgfSwgLyogTmV3IDEvNCBwZWwgNiB0YXAg
ZmlsdGVyICovCi0gIHsgMCwgLTEsIDEyLCAxMjMsIC02LCAwLCAwLCAwIH0sCi19OwotCi1zdGF0
aWMgY29uc3QgdWludDhfdCB2cDhfbWNfZmlsdF9tYXNrX2FyclsxNiAqIDNdID0gewotICAvKiA4
IHdpZHRoIGNhc2VzICovCi0gIDAsIDEsIDEsIDIsIDIsIDMsIDMsIDQsIDQsIDUsIDUsIDYsIDYs
IDcsIDcsIDgsCi0gIC8qIDQgd2lkdGggY2FzZXMgKi8KLSAgMCwgMSwgMSwgMiwgMiwgMywgMywg
NCwgMTYsIDE3LCAxNywgMTgsIDE4LCAxOSwgMTksIDIwLAotICAvKiA0IHdpZHRoIGNhc2VzICov
Ci0gIDgsIDksIDksIDEwLCAxMCwgMTEsIDExLCAxMiwgMjQsIDI1LCAyNSwgMjYsIDI2LCAyNywg
MjcsIDI4Ci19OwotCi1zdGF0aWMgSU5MSU5FIF9fbTEyOGkgZHBhZGRfaDMoX19tMTI4aSBpbjAs
IF9fbTEyOGkgaW4xLCBfX20xMjhpIGluMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfX20xMjhpIGNvZWZmMCwgX19tMTI4aSBjb2VmZjEsIF9fbTEyOGkgY29lZmYyKSB7Ci0gIF9f
bTEyOGkgb3V0MF9tOwotCi0gIG91dDBfbSA9IF9fbHN4X3ZkcDJfaF9iKGluMCwgY29lZmYwKTsK
LSAgb3V0MF9tID0gX19sc3hfdmRwMmFkZF9oX2Iob3V0MF9tLCBpbjEsIGNvZWZmMSk7Ci0gIG91
dDBfbSA9IF9fbHN4X3ZkcDJhZGRfaF9iKG91dDBfbSwgaW4yLCBjb2VmZjIpOwotCi0gIHJldHVy
biBvdXQwX207Ci19Ci0KLXN0YXRpYyBJTkxJTkUgX19tMTI4aSBob3Jpel82dGFwX2ZpbHQoX19t
MTI4aSBzcmMwLCBfX20xMjhpIHNyYzEsIF9fbTEyOGkgbWFzazAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgbWFzazEsIF9fbTEyOGkgbWFzazIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgZmlsdF9oMCwgX19tMTI4
aSBmaWx0X2gxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20xMjhp
IGZpbHRfaDIpIHsKLSAgX19tMTI4aSB2ZWMwX20sIHZlYzFfbSwgdmVjMl9tOwotICBfX20xMjhp
IGh6X291dF9tOwotCi0gIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMxLCBzcmMwLCBtYXNr
MCwgc3JjMSwgc3JjMCwgbWFzazEsIHZlYzBfbSwKLSAgICAgICAgICAgIHZlYzFfbSk7Ci0gIHZl
YzJfbSA9IF9fbHN4X3ZzaHVmX2Ioc3JjMSwgc3JjMCwgbWFzazIpOwotICBoel9vdXRfbSA9IGRw
YWRkX2gzKHZlYzBfbSwgdmVjMV9tLCB2ZWMyX20sIGZpbHRfaDAsIGZpbHRfaDEsIGZpbHRfaDIp
OwotICBoel9vdXRfbSA9IF9fbHN4X3ZzcmFyaV9oKGh6X291dF9tLCBWUDhfRklMVEVSX1NISUZU
KTsKLSAgaHpfb3V0X20gPSBfX2xzeF92c2F0X2goaHpfb3V0X20sIDcpOwotCi0gIHJldHVybiBo
el9vdXRfbTsKLX0KLQotc3RhdGljIElOTElORSBfX20xMjhpIGZpbHRfNHRhcF9kcGFkZF9oKF9f
bTEyOGkgdmVjMCwgX19tMTI4aSB2ZWMxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF9fbTEyOGkgZmlsdDAsIF9fbTEyOGkgZmlsdDEpIHsKLSAgX19tMTI4aSB0bXBf
bTsKLQotICB0bXBfbSA9IF9fbHN4X3ZkcDJfaF9iKHZlYzAsIGZpbHQwKTsKLSAgdG1wX20gPSBf
X2xzeF92ZHAyYWRkX2hfYih0bXBfbSwgdmVjMSwgZmlsdDEpOwotCi0gIHJldHVybiB0bXBfbTsK
LX0KLQotc3RhdGljIElOTElORSBfX20xMjhpIGhvcml6XzR0YXBfZmlsdChfX20xMjhpIHNyYzAs
IF9fbTEyOGkgc3JjMSwgX19tMTI4aSBtYXNrMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgX19tMTI4aSBtYXNrMSwgX19tMTI4aSBmaWx0X2gwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBfX20xMjhpIGZpbHRfaDEpIHsKLSAgX19tMTI4aSB2
ZWMwX20sIHZlYzFfbSwgaHpfb3V0X207Ci0KLSAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNy
YzEsIHNyYzAsIG1hc2swLCBzcmMxLCBzcmMwLCBtYXNrMSwgdmVjMF9tLAotICAgICAgICAgICAg
dmVjMV9tKTsKLSAgaHpfb3V0X20gPSBmaWx0XzR0YXBfZHBhZGRfaCh2ZWMwX20sIHZlYzFfbSwg
ZmlsdF9oMCwgZmlsdF9oMSk7Ci0gIGh6X291dF9tID0gX19sc3hfdnNyYXJpX2goaHpfb3V0X20s
IFZQOF9GSUxURVJfU0hJRlQpOwotICBoel9vdXRfbSA9IF9fbHN4X3ZzYXRfaChoel9vdXRfbSwg
Nyk7Ci0KLSAgcmV0dXJuIGh6X291dF9tOwotfQotCi0jZGVmaW5lIEhPUklaXzZUQVBfNFdJRF80
VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2syLCBmaWx0MCwgZmlsdDEsIGZpbHQy
LCBvdXQwLCBvdXQxKSBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSB2ZWMwX20s
IHZlYzFfbSwgdmVjMl9tLCB2ZWMzX20sIHZlYzRfbSwgdmVjNV9tOyAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEs
IHNyYzAsIG1hc2swLCBzcmMzLCBzcmMyLCBtYXNrMCwgdmVjMF9tLCBcCi0gICAgICAgICAgICAg
IHZlYzFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9iLCB2ZWMwX20sIGZpbHQwLCB2ZWMx
X20sIGZpbHQwLCBvdXQwLCBvdXQxKTsgICBcCi0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2Is
IHNyYzEsIHNyYzAsIG1hc2sxLCBzcmMzLCBzcmMyLCBtYXNrMSwgdmVjMl9tLCBcCi0gICAgICAg
ICAgICAgIHZlYzNfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRFVQMl9BUkczKF9fbHN4X3ZkcDJhZGRfaF9iLCBvdXQwLCB2ZWMy
X20sIGZpbHQxLCBvdXQxLCB2ZWMzX20sIGZpbHQxLCBcCi0gICAgICAgICAgICAgIG91dDAsIG91
dDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEsIHNyYzAsIG1hc2syLCBzcmMzLCBzcmMy
LCBtYXNrMiwgdmVjNF9tLCBcCi0gICAgICAgICAgICAgIHZlYzVfbSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkczKF9f
bHN4X3ZkcDJhZGRfaF9iLCBvdXQwLCB2ZWM0X20sIGZpbHQyLCBvdXQxLCB2ZWM1X20sIGZpbHQy
LCBcCi0gICAgICAgICAgICAgIG91dDAsIG91dDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNkZWZpbmUgSE9SSVpf
NlRBUF84V0lEXzRWRUNTX0ZJTFQoc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgbWFzazAsIG1hc2sx
LCAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2syLCBmaWx0MCwg
ZmlsdDEsIGZpbHQyLCBvdXQwLCBvdXQxLCAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvdXQyLCBvdXQzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZG8g
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSB2ZWMwX20sIHZlYzFfbSwgdmVjMl9tLCB2ZWMz
X20sIHZlYzRfbSwgdmVjNV9tLCB2ZWM2X20sIHZlYzdfbTsgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzazAsIHNyYzEs
IHNyYzEsIG1hc2swLCB2ZWMwX20sICBcCi0gICAgICAgICAgICAgIHZlYzFfbSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJf
QVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMyLCBzcmMyLCBtYXNrMCwgc3JjMywgc3JjMywgbWFzazAs
IHZlYzJfbSwgIFwKLSAgICAgICAgICAgICAgdmVjM19tKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQNF9BUkcyKF9fbHN4X3Zk
cDJfaF9iLCB2ZWMwX20sIGZpbHQwLCB2ZWMxX20sIGZpbHQwLCB2ZWMyX20sIGZpbHQwLCAgXAot
ICAgICAgICAgICAgICB2ZWMzX20sIGZpbHQwLCBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzKTsgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwg
c3JjMCwgbWFzazEsIHNyYzEsIHNyYzEsIG1hc2sxLCB2ZWMwX20sICBcCi0gICAgICAgICAgICAg
IHZlYzFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMyLCBzcmMyLCBtYXNrMSwg
c3JjMywgc3JjMywgbWFzazEsIHZlYzJfbSwgIFwKLSAgICAgICAgICAgICAgdmVjM19tKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
RFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1hc2syLCBzcmMxLCBzcmMxLCBt
YXNrMiwgdmVjNF9tLCAgXAotICAgICAgICAgICAgICB2ZWM1X20pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzMoX19s
c3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzazIsIHNyYzMsIHNyYzMsIG1hc2syLCB2ZWM2X20s
ICBcCi0gICAgICAgICAgICAgIHZlYzdfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX2hf
Yiwgb3V0MCwgdmVjMF9tLCBmaWx0MSwgb3V0MSwgdmVjMV9tLCBmaWx0MSwgIFwKLSAgICAgICAg
ICAgICAgb3V0MiwgdmVjMl9tLCBmaWx0MSwgb3V0MywgdmVjM19tLCBmaWx0MSwgb3V0MCwgb3V0
MSwgb3V0MiwgICBcCi0gICAgICAgICAgICAgIG91dDMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDRfQVJHMyhfX2xzeF92
ZHAyYWRkX2hfYiwgb3V0MCwgdmVjNF9tLCBmaWx0Miwgb3V0MSwgdmVjNV9tLCBmaWx0MiwgIFwK
LSAgICAgICAgICAgICAgb3V0MiwgdmVjNl9tLCBmaWx0Miwgb3V0MywgdmVjN19tLCBmaWx0Miwg
b3V0MCwgb3V0MSwgb3V0MiwgICBcCi0gICAgICAgICAgICAgIG91dDMpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9IHdoaWxlICgw
KQotCi0jZGVmaW5lIEhPUklaXzRUQVBfNFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzMsIG1hc2swLCBtYXNrMSwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHQwLCBmaWx0MSwgb3V0MCwgb3V0MSkgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX19tMTI4aSB2ZWMwX20sIHZlYzFfbSwgdmVjMl9tLCB2ZWMzX207ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
RFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEsIHNyYzAsIG1hc2swLCBzcmMzLCBzcmMyLCBt
YXNrMCwgdmVjMF9tLCBcCi0gICAgICAgICAgICAgIHZlYzFfbSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZkcDJfaF9iLCB2ZWMwX20sIGZpbHQwLCB2ZWMxX20sIGZpbHQwLCBvdXQwLCBvdXQxKTsgICBc
Ci0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEsIHNyYzAsIG1hc2sxLCBzcmMzLCBz
cmMyLCBtYXNrMSwgdmVjMl9tLCBcCi0gICAgICAgICAgICAgIHZlYzNfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcz
KF9fbHN4X3ZkcDJhZGRfaF9iLCBvdXQwLCB2ZWMyX20sIGZpbHQxLCBvdXQxLCB2ZWMzX20sIGZp
bHQxLCBcCi0gICAgICAgICAgICAgIG91dDAsIG91dDEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNkZWZpbmUgSE9S
SVpfNFRBUF84V0lEXzRWRUNTX0ZJTFQoc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgbWFzazAsIG1h
c2sxLCAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdDAsIGZpbHQx
LCBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzKSAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
X20xMjhpIHZlYzBfbSwgdmVjMV9tLCB2ZWMyX20sIHZlYzNfbTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzMoX19sc3hf
dnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzazAsIHNyYzEsIHNyYzEsIG1hc2swLCB2ZWMwX20sIFwK
LSAgICAgICAgICAgICAgdmVjMV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMiwg
c3JjMiwgbWFzazAsIHNyYzMsIHNyYzMsIG1hc2swLCB2ZWMyX20sIFwKLSAgICAgICAgICAgICAg
dmVjM19tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2IsIHZlYzBfbSwgZmlsdDAsIHZlYzFf
bSwgZmlsdDAsIHZlYzJfbSwgZmlsdDAsIFwKLSAgICAgICAgICAgICAgdmVjM19tLCBmaWx0MCwg
b3V0MCwgb3V0MSwgb3V0Miwgb3V0Myk7ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAy
X0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzazEsIHNyYzEsIHNyYzEsIG1hc2sx
LCB2ZWMwX20sIFwKLSAgICAgICAgICAgICAgdmVjMV9tKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNo
dWZfYiwgc3JjMiwgc3JjMiwgbWFzazEsIHNyYzMsIHNyYzMsIG1hc2sxLCB2ZWMyX20sIFwKLSAg
ICAgICAgICAgICAgdmVjM19tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF9oX2IsIG91dDAs
IHZlYzBfbSwgZmlsdDEsIG91dDEsIHZlYzFfbSwgZmlsdDEsIFwKLSAgICAgICAgICAgICAgb3V0
MiwgdmVjMl9tLCBmaWx0MSwgb3V0MywgdmVjM19tLCBmaWx0MSwgb3V0MCwgb3V0MSwgb3V0Miwg
IFwKLSAgICAgICAgICAgICAgb3V0Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotc3RhdGljIGlubGluZSB2
b2lkIGNvbW1vbl9oel82dF80eDRfbHN4KHVpbnQ4X3QgKlJFU1RSSUNUIHNyYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqUkVTVFJJQ1QgZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4
X3QgKmZpbHRlcikgewotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIGZpbHQwLCBm
aWx0MSwgZmlsdDI7Ci0gIF9fbTEyOGkgbWFzazAsIG1hc2sxLCBtYXNrMiwgb3V0MCwgb3V0MTsK
LSAgaW50MzJfdCBzcmNfc3RyaWRlX3gyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNy
Y19zdHJpZGVfeDMgPSBzcmNfc3RyaWRlX3gyICsgc3JjX3N0cmlkZTsKLQotICBtYXNrMCA9IF9f
bHN4X3ZsZCh2cDhfbWNfZmlsdF9tYXNrX2FyciwgMTYpOwotICBzcmMgLT0gMjsKLQotICBEVVAy
X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXIsIDAsIGZpbHRlciwgMiwgZmlsdDAsIGZpbHQx
KTsKLSAgZmlsdDIgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCA0KTsKLQotICBEVVAyX0FSRzIo
X19sc3hfdmFkZGlfYnUsIG1hc2swLCAyLCBtYXNrMCwgNCwgbWFzazEsIG1hc2syKTsKLSAgc3Jj
MCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNf
c3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfeDIsIHNyYzEsIHNyYzIpOwotICBzcmMzID0gX19sc3hf
dmxkeChzcmMsIHNyY19zdHJpZGVfeDMpOwotCi0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBz
cmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAg
ICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgSE9SSVpfNlRBUF80V0lEXzRWRUNTX0ZJTFQoc3Jj
MCwgc3JjMSwgc3JjMiwgc3JjMywgbWFzazAsIG1hc2sxLCBtYXNrMiwgZmlsdDAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbHQxLCBmaWx0Miwgb3V0MCwgb3V0MSk7Ci0gIG91dDAg
PSBfX2xzeF92c3NyYXJuaV9iX2gob3V0MSwgb3V0MCwgVlA4X0ZJTFRFUl9TSElGVCk7Ci0gIG91
dDAgPSBfX2xzeF92eG9yaV9iKG91dDAsIDEyOCk7Ci0KLSAgX19sc3hfdnN0ZWxtX3cob3V0MCwg
ZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KG91dDAs
IGRzdCwgMCwgMSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhvdXQw
LCBkc3QsIDAsIDIpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0
MCwgZHN0LCAwLCAzKTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6XzZ0XzR4OF9sc3godWlu
dDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OF90ICpSRVNUUklDVCBkc3QsIGludDMyX3QgZHN0X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmlsdGVy
KSB7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgZmlsdDAsIGZpbHQxLCBmaWx0
MjsKLSAgX19tMTI4aSBtYXNrMCwgbWFzazEsIG1hc2syLCBvdXQwLCBvdXQxLCBvdXQyLCBvdXQz
OwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNy
Y19zdHJpZGVfeDQgPSBzcmNfc3RyaWRlX3gyIDw8IDE7Ci0KLSAgbWFzazAgPSBfX2xzeF92bGQo
dnA4X21jX2ZpbHRfbWFza19hcnIsIDE2KTsKLSAgc3JjIC09IDI7Ci0KLSAgRFVQMl9BUkcyKF9f
bHN4X3ZsZHJlcGxfaCwgZmlsdGVyLCAwLCBmaWx0ZXIsIDIsIGZpbHQwLCBmaWx0MSk7Ci0gIGZp
bHQyID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlciwgNCk7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRk
aV9idSwgbWFzazAsIDIsIG1hc2swLCA0LCBtYXNrMSwgbWFzazIpOwotCi0gIHNyYzAgPSBfX2xz
eF92bGQoc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwg
c3JjLCBzcmNfc3RyaWRlX3gyLCBzcmMxLCBzcmMyKTsKLSAgc3JjMyA9IF9fbHN4X3ZsZHgoc3Jj
LCBzcmNfc3RyaWRlX3gzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzAsIDEyOCwg
c3JjMSwgMTI4LCBzcmMyLCAxMjgsIHNyYzMsIDEyOCwgc3JjMCwKLSAgICAgICAgICAgIHNyYzEs
IHNyYzIsIHNyYzMpOwotICBzcmMgKz0gc3JjX3N0cmlkZV94NDsKLSAgSE9SSVpfNlRBUF80V0lE
XzRWRUNTX0ZJTFQoc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgbWFzazAsIG1hc2sxLCBtYXNrMiwg
ZmlsdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHQxLCBmaWx0Miwgb3V0MCwg
b3V0MSk7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVAyX0FSRzIoX19sc3hf
dmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfeDIsIHNyYzEsIHNyYzIpOwot
ICBzcmMzID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGVfeDMpOwotICBEVVA0X0FSRzIoX19s
c3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBz
cmMwLAotICAgICAgICAgICAgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gIEhPUklaXzZUQVBfNFdJRF80
VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIsIGZp
bHQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0MSwgZmlsdDIsIG91dDIsIG91
dDMpOwotCi0gIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDEsIG91dDAsIFZQOF9G
SUxURVJfU0hJRlQsIG91dDMsIG91dDIsCi0gICAgICAgICAgICBWUDhfRklMVEVSX1NISUZULCBv
dXQwLCBvdXQxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIG91dDAsIDEyOCwgb3V0MSwg
MTI4LCBvdXQwLCBvdXQxKTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAwKTsKLSAg
ZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMSk7Ci0g
IGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDIpOwot
ICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAzKTsK
LSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgX19sc3hfdnN0ZWxtX3cob3V0MSwgZHN0LCAwLCAw
KTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KG91dDEsIGRzdCwgMCwg
MSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhvdXQxLCBkc3QsIDAs
IDIpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0MSwgZHN0LCAw
LCAzKTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6XzZ0XzR3X2xzeCh1aW50OF90ICpSRVNU
UklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDhfdCAqUkVTVFJJQ1QgZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhl
aWdodCkgewotICBpZiAoaGVpZ2h0ID09IDQpIHsKLSAgICBjb21tb25faHpfNnRfNHg0X2xzeChz
cmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyKTsKLSAgfSBlbHNlIGlmICho
ZWlnaHQgPT0gOCkgewotICAgIGNvbW1vbl9oel82dF80eDhfbHN4KHNyYywgc3JjX3N0cmlkZSwg
ZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIpOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9o
el82dF84d19sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50
MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQ7Ci0g
IGludDMyX3Qgc3JjX3N0cmlkZV94MiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNf
c3RyaWRlX3gzID0gc3JjX3N0cmlkZV94MiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0
cmlkZV94NCA9IHNyY19zdHJpZGUgPDwgMjsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gyID0gZHN0
X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGVfeDMgPSBkc3Rfc3RyaWRlX3gyICsg
ZHN0X3N0cmlkZTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3g0ID0gZHN0X3N0cmlkZSA8PCAyOwot
ICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIGZpbHQwLCBmaWx0MSwgZmlsdDI7Ci0g
IF9fbTEyOGkgbWFzazAsIG1hc2sxLCBtYXNrMiwgdG1wMCwgdG1wMTsKLSAgX19tMTI4aSBmaWx0
LCBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzOwotCi0gIG1hc2swID0gX19sc3hfdmxkKHZwOF9tY19m
aWx0X21hc2tfYXJyLCAwKTsKLSAgc3JjIC09IDI7Ci0KLSAgZmlsdCA9IF9fbHN4X3ZsZChmaWx0
ZXIsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwgZmlsdCwgMCwgZmlsdCwgMSwg
ZmlsdDAsIGZpbHQxKTsKLSAgZmlsdDIgPSBfX2xzeF92cmVwbHZlaV9oKGZpbHQsIDIpOwotICBE
VVAyX0FSRzIoX19sc3hfdmFkZGlfYnUsIG1hc2swLCAyLCBtYXNrMCwgNCwgbWFzazEsIG1hc2sy
KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNyY19zdHJpZGUsIHNy
Yywgc3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgc3JjX3N0cmlkZV94Mywgc3JjMCwg
c3JjMSwgc3JjMiwgc3JjMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgs
IHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICBzcmMx
LCBzcmMyLCBzcmMzKTsKLSAgc3JjICs9IHNyY19zdHJpZGVfeDQ7Ci0gIEhPUklaXzZUQVBfOFdJ
RF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIs
IGZpbHQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0MSwgZmlsdDIsIG91dDAs
IG91dDEsIG91dDIsIG91dDMpOwotICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYl9oLCBvdXQx
LCBvdXQwLCBWUDhfRklMVEVSX1NISUZULCBvdXQzLCBvdXQyLAotICAgICAgICAgICAgVlA4X0ZJ
TFRFUl9TSElGVCwgdG1wMCwgdG1wMSk7Ci0gIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCB0bXAw
LCAxMjgsIHRtcDEsIDEyOCwgdG1wMCwgdG1wMSk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHRtcDAsIGRz
dCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHRtcDAsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEp
OwotICBfX2xzeF92c3RlbG1fZCh0bXAxLCBkc3QgKyBkc3Rfc3RyaWRlX3gyLCAwLCAwKTsKLSAg
X19sc3hfdnN0ZWxtX2QodG1wMSwgZHN0ICsgZHN0X3N0cmlkZV94MywgMCwgMSk7Ci0gIGRzdCAr
PSBkc3Rfc3RyaWRlX3g0OwotCi0gIGZvciAobG9vcF9jbnQgPSAoaGVpZ2h0ID4+IDIpIC0gMTsg
bG9vcF9jbnQtLTspIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNy
Y19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNfc3Ry
aWRlX3gzLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhv
cmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAot
ICAgICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZV94
NDsKLSAgICBIT1JJWl82VEFQXzhXSURfNFZFQ1NfRklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
LCBtYXNrMCwgbWFzazEsIG1hc2syLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp
bHQwLCBmaWx0MSwgZmlsdDIsIG91dDAsIG91dDEsIG91dDIsIG91dDMpOwotICAgIERVUDJfQVJH
MyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDEsIG91dDAsIFZQOF9GSUxURVJfU0hJRlQsIG91dDMs
IG91dDIsCi0gICAgICAgICAgICAgIFZQOF9GSUxURVJfU0hJRlQsIHRtcDAsIHRtcDEpOwotICAg
IERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCB0bXAwLCAxMjgsIHRtcDEsIDEyOCwgdG1wMCwgdG1w
MSk7Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMCwgZHN0LCAwLCAwKTsKLSAgICBfX2xzeF92c3Rl
bG1fZCh0bXAwLCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1fZCh0
bXAxLCBkc3QgKyBkc3Rfc3RyaWRlX3gyLCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZCh0bXAx
LCBkc3QgKyBkc3Rfc3RyaWRlX3gzLCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZV94NDsK
LSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHpfNnRfMTZ3X2xzeCh1aW50OF90ICpSRVNU
UklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3Qg
aGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250OwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIg
PSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVf
eDIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGVfeDQgPSBzcmNfc3RyaWRlIDw8
IDI7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94MiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJf
dCBkc3Rfc3RyaWRlX3gzID0gZHN0X3N0cmlkZV94MiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3Qg
ZHN0X3N0cmlkZV94NCA9IGRzdF9zdHJpZGUgPDwgMjsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBz
cmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBmaWx0MCwgZmlsdDEsIGZpbHQyOwot
ICBfX20xMjhpIG1hc2swLCBtYXNrMSwgbWFzazIsIG91dDsKLSAgX19tMTI4aSBmaWx0LCBvdXQw
LCBvdXQxLCBvdXQyLCBvdXQzLCBvdXQ0LCBvdXQ1LCBvdXQ2LCBvdXQ3OwotCi0gIG1hc2swID0g
X19sc3hfdmxkKHZwOF9tY19maWx0X21hc2tfYXJyLCAwKTsKLSAgc3JjIC09IDI7Ci0KLSAgZmls
dCA9IF9fbHN4X3ZsZChmaWx0ZXIsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwg
ZmlsdCwgMCwgZmlsdCwgMSwgZmlsdDAsIGZpbHQxKTsKLSAgZmlsdDIgPSBfX2xzeF92cmVwbHZl
aV9oKGZpbHQsIDIpOwotICBEVVAyX0FSRzIoX19sc3hfdmFkZGlfYnUsIG1hc2swLCAyLCBtYXNr
MCwgNCwgbWFzazEsIG1hc2syKTsKLQotICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsg
bG9vcF9jbnQtLTspIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNy
Y19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNfc3Ry
aWRlX3gzLCBzcmMwLCBzcmMyLCBzcmM0LCBzcmM2KTsKLSAgICBzcmMgKz0gODsKLSAgICBEVVA0
X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlk
ZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNfc3RyaWRlX3gzLCBzcmMxLCBzcmMzLCBzcmM1
LCBzcmM3KTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAx
MjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAgICAgICBzcmMxLCBzcmMy
LCBzcmMzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjNCwgMTI4LCBzcmM1LCAx
MjgsIHNyYzYsIDEyOCwgc3JjNywgMTI4LCBzcmM0LAotICAgICAgICAgICAgICBzcmM1LCBzcmM2
LCBzcmM3KTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZV94NCAtIDg7Ci0KLSAgICBIT1JJWl82VEFQ
XzhXSURfNFZFQ1NfRklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazEsIG1h
c2syLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHQwLCBmaWx0MSwgZmlsdDIs
IG91dDAsIG91dDEsIG91dDIsIG91dDMpOwotICAgIEhPUklaXzZUQVBfOFdJRF80VkVDU19GSUxU
KHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIG1hc2swLCBtYXNrMSwgbWFzazIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdDAsIGZpbHQxLCBmaWx0Miwgb3V0NCwgb3V0NSwgb3V0
Niwgb3V0Nyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZzcmFyaV9oLCBvdXQwLCBWUDhfRklMVEVS
X1NISUZULCBvdXQxLCBWUDhfRklMVEVSX1NISUZULAotICAgICAgICAgICAgICBvdXQyLCBWUDhf
RklMVEVSX1NISUZULCBvdXQzLCBWUDhfRklMVEVSX1NISUZULCBvdXQwLCBvdXQxLCBvdXQyLAot
ICAgICAgICAgICAgICBvdXQzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnNyYXJpX2gsIG91dDQs
IFZQOF9GSUxURVJfU0hJRlQsIG91dDUsIFZQOF9GSUxURVJfU0hJRlQsCi0gICAgICAgICAgICAg
IG91dDYsIFZQOF9GSUxURVJfU0hJRlQsIG91dDcsIFZQOF9GSUxURVJfU0hJRlQsIG91dDQsIG91
dDUsIG91dDYsCi0gICAgICAgICAgICAgIG91dDcpOwotICAgIERVUDRfQVJHMihfX2xzeF92c2F0
X2gsIG91dDAsIDcsIG91dDEsIDcsIG91dDIsIDcsIG91dDMsIDcsIG91dDAsIG91dDEsCi0gICAg
ICAgICAgICAgIG91dDIsIG91dDMpOwotICAgIERVUDRfQVJHMihfX2xzeF92c2F0X2gsIG91dDQs
IDcsIG91dDUsIDcsIG91dDYsIDcsIG91dDcsIDcsIG91dDQsIG91dDUsCi0gICAgICAgICAgICAg
IG91dDYsIG91dDcpOwotICAgIG91dCA9IF9fbHN4X3ZwaWNrZXZfYihvdXQxLCBvdXQwKTsKLSAg
ICBvdXQgPSBfX2xzeF92eG9yaV9iKG91dCwgMTI4KTsKLSAgICBfX2xzeF92c3Qob3V0LCBkc3Qs
IDApOwotICAgIG91dCA9IF9fbHN4X3ZwaWNrZXZfYihvdXQzLCBvdXQyKTsKLSAgICBvdXQgPSBf
X2xzeF92eG9yaV9iKG91dCwgMTI4KTsKLSAgICBfX2xzeF92c3R4KG91dCwgZHN0LCBkc3Rfc3Ry
aWRlKTsKLSAgICBvdXQgPSBfX2xzeF92cGlja2V2X2Iob3V0NSwgb3V0NCk7Ci0gICAgb3V0ID0g
X19sc3hfdnhvcmlfYihvdXQsIDEyOCk7Ci0gICAgX19sc3hfdnN0eChvdXQsIGRzdCwgZHN0X3N0
cmlkZV94Mik7Ci0gICAgb3V0ID0gX19sc3hfdnBpY2tldl9iKG91dDcsIG91dDYpOwotICAgIG91
dCA9IF9fbHN4X3Z4b3JpX2Iob3V0LCAxMjgpOwotICAgIF9fbHN4X3ZzdHgob3V0LCBkc3QsIGRz
dF9zdHJpZGVfeDMpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlX3g0OwotICB9Ci19Ci0KLXN0YXRp
YyB2b2lkIGNvbW1vbl92dF82dF80d19sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJF
U1RSSUNUIGRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMy
X3QgbG9vcF9jbnQ7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3Jj
NSwgc3JjNiwgc3JjNywgc3JjODsKLSAgX19tMTI4aSBzcmMxMF9yLCBzcmMzMl9yLCBzcmM1NF9y
LCBzcmM3Nl9yLCBzcmMyMV9yLCBzcmM0M19yLCBzcmM2NV9yOwotICBfX20xMjhpIHNyYzg3X3Is
IHNyYzIxMTAsIHNyYzQzMzIsIHNyYzY1NTQsIHNyYzg3NzYsIGZpbHQwLCBmaWx0MSwgZmlsdDI7
Ci0gIF9fbTEyOGkgb3V0MCwgb3V0MTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gyID0gc3JjX3N0
cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGVfeDMgPSBzcmNfc3RyaWRlX3gyICsgc3Jj
X3N0cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3g0ID0gc3JjX3N0cmlkZSA8PCAyOwotCi0g
IERVUDJfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBmaWx0MCwg
ZmlsdDEpOwotICBmaWx0MiA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDQpOwotCi0gIERVUDJf
QVJHMihfX2xzeF92bGR4LCBzcmMsIC1zcmNfc3RyaWRlX3gyLCBzcmMsIC1zcmNfc3RyaWRlLCBz
cmMwLCBzcmMxKTsKLSAgc3JjMiA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVAyX0FSRzIoX19s
c3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfeDIsIHNyYzMsIHNyYzQp
OwotICBzcmMgKz0gc3JjX3N0cmlkZV94MzsKLQotICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwg
c3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgc3JjMywgc3JjMiwgc3JjNCwgc3JjMywKLSAgICAgICAg
ICAgIHNyYzEwX3IsIHNyYzIxX3IsIHNyYzMyX3IsIHNyYzQzX3IpOwotICBEVVAyX0FSRzIoX19s
c3hfdmlsdmxfZCwgc3JjMjFfciwgc3JjMTBfciwgc3JjNDNfciwgc3JjMzJfciwgc3JjMjExMCwK
LSAgICAgICAgICAgIHNyYzQzMzIpOwotICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMjEx
MCwgMTI4LCBzcmM0MzMyLCAxMjgsIHNyYzIxMTAsIHNyYzQzMzIpOwotCi0gIGZvciAobG9vcF9j
bnQgPSAoaGVpZ2h0ID4+IDIpOyBsb29wX2NudC0tOykgewotICAgIHNyYzUgPSBfX2xzeF92bGQo
c3JjLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMs
IHNyY19zdHJpZGVfeDIsIHNyYzYsIHNyYzcpOwotICAgIHNyYzggPSBfX2xzeF92bGR4KHNyYywg
c3JjX3N0cmlkZV94Myk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGVfeDQ7Ci0KLSAgICBEVVA0X0FS
RzIoX19sc3hfdmlsdmxfYiwgc3JjNSwgc3JjNCwgc3JjNiwgc3JjNSwgc3JjNywgc3JjNiwgc3Jj
OCwgc3JjNywKLSAgICAgICAgICAgICAgc3JjNTRfciwgc3JjNjVfciwgc3JjNzZfciwgc3JjODdf
cik7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2QsIHNyYzY1X3IsIHNyYzU0X3IsIHNyYzg3
X3IsIHNyYzc2X3IsIHNyYzY1NTQsCi0gICAgICAgICAgICAgIHNyYzg3NzYpOwotICAgIERVUDJf
QVJHMihfX2xzeF92eG9yaV9iLCBzcmM2NTU0LCAxMjgsIHNyYzg3NzYsIDEyOCwgc3JjNjU1NCwg
c3JjODc3Nik7Ci0gICAgb3V0MCA9IGRwYWRkX2gzKHNyYzIxMTAsIHNyYzQzMzIsIHNyYzY1NTQs
IGZpbHQwLCBmaWx0MSwgZmlsdDIpOwotICAgIG91dDEgPSBkcGFkZF9oMyhzcmM0MzMyLCBzcmM2
NTU0LCBzcmM4Nzc2LCBmaWx0MCwgZmlsdDEsIGZpbHQyKTsKLQotICAgIG91dDAgPSBfX2xzeF92
c3NyYXJuaV9iX2gob3V0MSwgb3V0MCwgVlA4X0ZJTFRFUl9TSElGVCk7Ci0gICAgb3V0MCA9IF9f
bHN4X3Z4b3JpX2Iob3V0MCwgMTI4KTsKLQotICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwg
MCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3cob3V0MCwg
ZHN0LCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyhv
dXQwLCBkc3QsIDAsIDIpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVs
bV93KG91dDAsIGRzdCwgMCwgMyk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICBzcmMy
MTEwID0gc3JjNjU1NDsKLSAgICBzcmM0MzMyID0gc3JjODc3NjsKLSAgICBzcmM0ID0gc3JjODsK
LSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25fdnRfNnRfOHdfbHN4KHVpbnQ4X3QgKlJFU1RS
SUNUIHNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OF90ICpSRVNUUklDVCBkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVp
Z2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250OwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIgPSBz
cmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVfeDIg
KyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGVfeDQgPSBzcmNfc3RyaWRlIDw8IDI7
Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94MiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBk
c3Rfc3RyaWRlX3gzID0gZHN0X3N0cmlkZV94MiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0
X3N0cmlkZV94NCA9IGRzdF9zdHJpZGUgPDwgMjsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMy
LCBzcmMzLCBzcmM0LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsKLSAgX19tMTI4aSBzcmMxMF9y
LCBzcmMzMl9yLCBzcmM3Nl9yLCBzcmM5OF9yLCBzcmMyMV9yLCBzcmM0M19yLCBzcmM4N19yOwot
ICBfX20xMjhpIHNyYzEwOV9yLCBmaWx0MCwgZmlsdDEsIGZpbHQyOwotICBfX20xMjhpIHRtcDAs
IHRtcDE7Ci0gIF9fbTEyOGkgZmlsdCwgb3V0MF9yLCBvdXQxX3IsIG91dDJfciwgb3V0M19yOwot
Ci0gIHNyYyAtPSBzcmNfc3RyaWRlX3gyOwotICBmaWx0ID0gX19sc3hfdmxkKGZpbHRlciwgMCk7
Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBmaWx0LCAwLCBmaWx0LCAxLCBmaWx0MCwg
ZmlsdDEpOwotICBmaWx0MiA9IF9fbHN4X3ZyZXBsdmVpX2goZmlsdCwgMik7Ci0KLSAgRFVQNF9B
UkcyKF9fbHN4X3ZsZHgsIHNyYywgMCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVf
eDIsIHNyYywKLSAgICAgICAgICAgIHNyY19zdHJpZGVfeDMsIHNyYzAsIHNyYzEsIHNyYzIsIHNy
YzMpOwotICBzcmMgKz0gc3JjX3N0cmlkZV94NDsKLSAgc3JjNCA9IF9fbHN4X3ZsZChzcmMsIDAp
OwotICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3Jj
MCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAg
ICAgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gIHNyYzQgPSBfX2xzeF92eG9yaV9iKHNyYzQsIDEyOCk7
Ci0gIERVUDRfQVJHMihfX2xzeF92aWx2bF9iLCBzcmMxLCBzcmMwLCBzcmMzLCBzcmMyLCBzcmMy
LCBzcmMxLCBzcmM0LCBzcmMzLAotICAgICAgICAgICAgc3JjMTBfciwgc3JjMzJfciwgc3JjMjFf
ciwgc3JjNDNfcik7Ci0KLSAgZm9yIChsb29wX2NudCA9IChoZWlnaHQgPj4gMik7IGxvb3BfY250
LS07KSB7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgMCwgc3JjLCBzcmNfc3RyaWRl
LCBzcmMsIHNyY19zdHJpZGVfeDIsIHNyYywKLSAgICAgICAgICAgICAgc3JjX3N0cmlkZV94Mywg
c3JjNywgc3JjOCwgc3JjOSwgc3JjMTApOwotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBz
cmM3LCAxMjgsIHNyYzgsIDEyOCwgc3JjOSwgMTI4LCBzcmMxMCwgMTI4LCBzcmM3LAotICAgICAg
ICAgICAgICBzcmM4LCBzcmM5LCBzcmMxMCk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGVfeDQ7Ci0K
LSAgICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjNywgc3JjNCwgc3JjOCwgc3JjNywgc3Jj
OSwgc3JjOCwgc3JjMTAsIHNyYzksCi0gICAgICAgICAgICAgIHNyYzc2X3IsIHNyYzg3X3IsIHNy
Yzk4X3IsIHNyYzEwOV9yKTsKLSAgICBvdXQwX3IgPSBkcGFkZF9oMyhzcmMxMF9yLCBzcmMzMl9y
LCBzcmM3Nl9yLCBmaWx0MCwgZmlsdDEsIGZpbHQyKTsKLSAgICBvdXQxX3IgPSBkcGFkZF9oMyhz
cmMyMV9yLCBzcmM0M19yLCBzcmM4N19yLCBmaWx0MCwgZmlsdDEsIGZpbHQyKTsKLSAgICBvdXQy
X3IgPSBkcGFkZF9oMyhzcmMzMl9yLCBzcmM3Nl9yLCBzcmM5OF9yLCBmaWx0MCwgZmlsdDEsIGZp
bHQyKTsKLSAgICBvdXQzX3IgPSBkcGFkZF9oMyhzcmM0M19yLCBzcmM4N19yLCBzcmMxMDlfciwg
ZmlsdDAsIGZpbHQxLCBmaWx0Mik7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwg
b3V0MV9yLCBvdXQwX3IsIFZQOF9GSUxURVJfU0hJRlQsIG91dDNfciwKLSAgICAgICAgICAgICAg
b3V0Ml9yLCBWUDhfRklMVEVSX1NISUZULCB0bXAwLCB0bXAxKTsKLSAgICBEVVAyX0FSRzIoX19s
c3hfdnhvcmlfYiwgdG1wMCwgMTI4LCB0bXAxLCAxMjgsIHRtcDAsIHRtcDEpOwotICAgIF9fbHN4
X3ZzdGVsbV9kKHRtcDAsIGRzdCwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMCwgZHN0
ICsgZHN0X3N0cmlkZSwgMCwgMSk7Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMSwgZHN0ICsgZHN0
X3N0cmlkZV94MiwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMSwgZHN0ICsgZHN0X3N0
cmlkZV94MywgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGVfeDQ7Ci0KLSAgICBzcmMxMF9y
ID0gc3JjNzZfcjsKLSAgICBzcmMzMl9yID0gc3JjOThfcjsKLSAgICBzcmMyMV9yID0gc3JjODdf
cjsKLSAgICBzcmM0M19yID0gc3JjMTA5X3I7Ci0gICAgc3JjNCA9IHNyYzEwOwotICB9Ci19Ci0K
LXN0YXRpYyB2b2lkIGNvbW1vbl92dF82dF8xNndfbHN4KHVpbnQ4X3QgKlJFU1RSSUNUIHNyYywg
aW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCAqUkVTVFJJQ1QgZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsK
LSAgdWludDMyX3QgbG9vcF9jbnQ7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94MiA9IHNyY19zdHJp
ZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gzID0gc3JjX3N0cmlkZV94MiArIHNyY19z
dHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94NCA9IHNyY19zdHJpZGUgPDwgMjsKLSAgaW50
MzJfdCBkc3Rfc3RyaWRlX3gyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJp
ZGVfeDMgPSBkc3Rfc3RyaWRlX3gyICsgZHN0X3N0cmlkZTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRl
X3g0ID0gZHN0X3N0cmlkZSA8PCAyOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMs
IHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzg7Ci0gIF9fbTEyOGkgc3JjMTBfciwgc3JjMzJf
ciwgc3JjNTRfciwgc3JjNzZfciwgc3JjMjFfciwgc3JjNDNfciwgc3JjNjVfcjsKLSAgX19tMTI4
aSBzcmM4N19yLCBzcmMxMF9sLCBzcmMzMl9sLCBzcmM1NF9sLCBzcmM3Nl9sLCBzcmMyMV9sLCBz
cmM0M19sOwotICBfX20xMjhpIHNyYzY1X2wsIHNyYzg3X2wsIGZpbHQwLCBmaWx0MSwgZmlsdDI7
Ci0gIF9fbTEyOGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMzsKLSAgX19tMTI4aSBmaWx0LCBvdXQw
X3IsIG91dDFfciwgb3V0Ml9yLCBvdXQzX3IsIG91dDBfbCwgb3V0MV9sLCBvdXQyX2wsIG91dDNf
bDsKLQotICBzcmMgLT0gc3JjX3N0cmlkZV94MjsKLSAgZmlsdCA9IF9fbHN4X3ZsZChmaWx0ZXIs
IDApOwotICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwgZmlsdCwgMCwgZmlsdCwgMSwgZmls
dDAsIGZpbHQxKTsKLSAgZmlsdDIgPSBfX2xzeF92cmVwbHZlaV9oKGZpbHQsIDIpOwotCi0gIERV
UDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIDAsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3Ry
aWRlX3gyLCBzcmMsCi0gICAgICAgICAgICBzcmNfc3RyaWRlX3gzLCBzcmMwLCBzcmMxLCBzcmMy
LCBzcmMzKTsKLSAgc3JjICs9IHNyY19zdHJpZGVfeDQ7Ci0gIHNyYzQgPSBfX2xzeF92bGR4KHNy
YywgMCk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9i
LCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAg
ICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgc3JjNCA9IF9fbHN4X3Z4b3JpX2Ioc3JjNCwg
MTI4KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzMsIHNyYzIs
IHNyYzQsIHNyYzMsIHNyYzIsIHNyYzEsCi0gICAgICAgICAgICBzcmMxMF9yLCBzcmMzMl9yLCBz
cmM0M19yLCBzcmMyMV9yKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNyYzEsIHNyYzAs
IHNyYzMsIHNyYzIsIHNyYzQsIHNyYzMsIHNyYzIsIHNyYzEsCi0gICAgICAgICAgICBzcmMxMF9s
LCBzcmMzMl9sLCBzcmM0M19sLCBzcmMyMV9sKTsKLQotICBmb3IgKGxvb3BfY250ID0gKGhlaWdo
dCA+PiAyKTsgbG9vcF9jbnQtLTspIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAw
LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAg
ICBzcmNfc3RyaWRlX3gzLCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4KTsKLSAgICBzcmMgKz0gc3Jj
X3N0cmlkZV94NDsKLQotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmM1LCAxMjgsIHNy
YzYsIDEyOCwgc3JjNywgMTI4LCBzcmM4LCAxMjgsIHNyYzUsCi0gICAgICAgICAgICAgIHNyYzYs
IHNyYzcsIHNyYzgpOwotICAgIERVUDRfQVJHMihfX2xzeF92aWx2bF9iLCBzcmM1LCBzcmM0LCBz
cmM2LCBzcmM1LCBzcmM3LCBzcmM2LCBzcmM4LCBzcmM3LAotICAgICAgICAgICAgICBzcmM1NF9y
LCBzcmM2NV9yLCBzcmM3Nl9yLCBzcmM4N19yKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmlsdmhf
Yiwgc3JjNSwgc3JjNCwgc3JjNiwgc3JjNSwgc3JjNywgc3JjNiwgc3JjOCwgc3JjNywKLSAgICAg
ICAgICAgICAgc3JjNTRfbCwgc3JjNjVfbCwgc3JjNzZfbCwgc3JjODdfbCk7Ci0gICAgb3V0MF9y
ID0gZHBhZGRfaDMoc3JjMTBfciwgc3JjMzJfciwgc3JjNTRfciwgZmlsdDAsIGZpbHQxLCBmaWx0
Mik7Ci0gICAgb3V0MV9yID0gZHBhZGRfaDMoc3JjMjFfciwgc3JjNDNfciwgc3JjNjVfciwgZmls
dDAsIGZpbHQxLCBmaWx0Mik7Ci0gICAgb3V0Ml9yID0gZHBhZGRfaDMoc3JjMzJfciwgc3JjNTRf
ciwgc3JjNzZfciwgZmlsdDAsIGZpbHQxLCBmaWx0Mik7Ci0gICAgb3V0M19yID0gZHBhZGRfaDMo
c3JjNDNfciwgc3JjNjVfciwgc3JjODdfciwgZmlsdDAsIGZpbHQxLCBmaWx0Mik7Ci0gICAgb3V0
MF9sID0gZHBhZGRfaDMoc3JjMTBfbCwgc3JjMzJfbCwgc3JjNTRfbCwgZmlsdDAsIGZpbHQxLCBm
aWx0Mik7Ci0gICAgb3V0MV9sID0gZHBhZGRfaDMoc3JjMjFfbCwgc3JjNDNfbCwgc3JjNjVfbCwg
ZmlsdDAsIGZpbHQxLCBmaWx0Mik7Ci0gICAgb3V0Ml9sID0gZHBhZGRfaDMoc3JjMzJfbCwgc3Jj
NTRfbCwgc3JjNzZfbCwgZmlsdDAsIGZpbHQxLCBmaWx0Mik7Ci0gICAgb3V0M19sID0gZHBhZGRf
aDMoc3JjNDNfbCwgc3JjNjVfbCwgc3JjODdfbCwgZmlsdDAsIGZpbHQxLCBmaWx0Mik7Ci0gICAg
RFVQNF9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgb3V0MF9sLCBvdXQwX3IsIFZQOF9GSUxURVJf
U0hJRlQsIG91dDFfbCwKLSAgICAgICAgICAgICAgb3V0MV9yLCBWUDhfRklMVEVSX1NISUZULCBv
dXQyX2wsIG91dDJfciwgVlA4X0ZJTFRFUl9TSElGVCwKLSAgICAgICAgICAgICAgb3V0M19sLCBv
dXQzX3IsIFZQOF9GSUxURVJfU0hJRlQsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMpOwotICAgIERV
UDRfQVJHMihfX2xzeF92eG9yaV9iLCB0bXAwLCAxMjgsIHRtcDEsIDEyOCwgdG1wMiwgMTI4LCB0
bXAzLCAxMjgsIHRtcDAsCi0gICAgICAgICAgICAgIHRtcDEsIHRtcDIsIHRtcDMpOwotICAgIF9f
bHN4X3ZzdHgodG1wMCwgZHN0LCAwKTsKLSAgICBfX2xzeF92c3R4KHRtcDEsIGRzdCwgZHN0X3N0
cmlkZSk7Ci0gICAgX19sc3hfdnN0eCh0bXAyLCBkc3QsIGRzdF9zdHJpZGVfeDIpOwotICAgIF9f
bHN4X3ZzdHgodG1wMywgZHN0LCBkc3Rfc3RyaWRlX3gzKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlk
ZV94NDsKLQotICAgIHNyYzEwX3IgPSBzcmM1NF9yOwotICAgIHNyYzMyX3IgPSBzcmM3Nl9yOwot
ICAgIHNyYzIxX3IgPSBzcmM2NV9yOwotICAgIHNyYzQzX3IgPSBzcmM4N19yOwotICAgIHNyYzEw
X2wgPSBzcmM1NF9sOwotICAgIHNyYzMyX2wgPSBzcmM3Nl9sOwotICAgIHNyYzIxX2wgPSBzcmM2
NV9sOwotICAgIHNyYzQzX2wgPSBzcmM4N19sOwotICAgIHNyYzQgPSBzcmM4OwotICB9Ci19Ci0K
LXN0YXRpYyB2b2lkIGNvbW1vbl9odl82aHRfNnZ0XzR3X2xzeCh1aW50OF90ICpSRVNUUklDVCBz
cmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OF90ICpSRVNUUklDVCBkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRl
cl92ZXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVp
Z2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250OwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgsIHRtcDAsIHRtcDE7Ci0gIF9fbTEy
OGkgZmlsdF9oejAsIGZpbHRfaHoxLCBmaWx0X2h6MiwgbWFzazAsIG1hc2sxLCBtYXNrMjsKLSAg
X19tMTI4aSBoel9vdXQwLCBoel9vdXQxLCBoel9vdXQyLCBoel9vdXQzLCBoel9vdXQ0LCBoel9v
dXQ1LCBoel9vdXQ2OwotICBfX20xMjhpIGh6X291dDcsIGZpbHRfdnQwLCBmaWx0X3Z0MSwgZmls
dF92dDIsIG91dDAsIG91dDEsIG91dDIsIG91dDM7Ci0gIF9fbTEyOGkgc2h1ZmYgPSB7IDB4MEYw
RTBEMEMwQjBBMDkwOCwgMHgxNzE2MTUxNDEzMTIxMTEwIH07Ci0gIGludDMyX3Qgc3JjX3N0cmlk
ZV94MiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gzID0gc3JjX3N0
cmlkZV94MiArIHNyY19zdHJpZGU7Ci0KLSAgbWFzazAgPSBfX2xzeF92bGQodnA4X21jX2ZpbHRf
bWFza19hcnIsIDE2KTsKLSAgc3JjIC09IDI7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHJlcGxf
aCwgZmlsdGVyX2hvcml6LCAwLCBmaWx0ZXJfaG9yaXosIDIsIGZpbHRfaHowLAotICAgICAgICAg
ICAgZmlsdF9oejEpOwotICBmaWx0X2h6MiA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXJfaG9yaXos
IDQpOwotICBEVVAyX0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXJfdmVydCwgMCwgZmlsdGVy
X3ZlcnQsIDIsIGZpbHRfdnQwLAotICAgICAgICAgICAgZmlsdF92dDEpOwotICBmaWx0X3Z0MiA9
IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXJfdmVydCwgNCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3Zh
ZGRpX2J1LCBtYXNrMCwgMiwgbWFzazAsIDQsIG1hc2sxLCBtYXNrMik7Ci0KLSAgRFVQMl9BUkcy
KF9fbHN4X3ZsZHgsIHNyYywgLXNyY19zdHJpZGVfeDIsIHNyYywgLXNyY19zdHJpZGUsIHNyYzAs
IHNyYzEpOwotICBzcmMyID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92
bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjMywgc3JjNCk7Ci0g
IHNyYyArPSBzcmNfc3RyaWRlX3gzOwotCi0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMw
LCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAg
ICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgc3JjNCA9IF9fbHN4X3Z4b3JpX2Ioc3JjNCwgMTI4KTsK
LQotICBoel9vdXQwID0gaG9yaXpfNnRhcF9maWx0KHNyYzAsIHNyYzEsIG1hc2swLCBtYXNrMSwg
bWFzazIsIGZpbHRfaHowLCBmaWx0X2h6MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
aWx0X2h6Mik7Ci0gIGh6X291dDIgPSBob3Jpel82dGFwX2ZpbHQoc3JjMiwgc3JjMywgbWFzazAs
IG1hc2sxLCBtYXNrMiwgZmlsdF9oejAsIGZpbHRfaHoxLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRfaHoyKTsKLSAgaHpfb3V0MSA9IF9fbHN4X3ZzaHVmX2IoaHpfb3V0MiwgaHpf
b3V0MCwgc2h1ZmYpOwotICBoel9vdXQzID0gaG9yaXpfNnRhcF9maWx0KHNyYzMsIHNyYzQsIG1h
c2swLCBtYXNrMSwgbWFzazIsIGZpbHRfaHowLCBmaWx0X2h6MSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmaWx0X2h6Mik7Ci0gIERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291
dDEsIGh6X291dDAsIGh6X291dDMsIGh6X291dDIsIG91dDAsIG91dDEpOwotCi0gIGZvciAobG9v
cF9jbnQgPSAoaGVpZ2h0ID4+IDIpOyBsb29wX2NudC0tOykgewotICAgIHNyYzUgPSBfX2xzeF92
bGQoc3JjLCAwKTsKLSAgICBzcmM2ID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUpOwotICAg
IHNyYyArPSBzcmNfc3RyaWRlX3gyOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNy
YzUsIDEyOCwgc3JjNiwgMTI4LCBzcmM1LCBzcmM2KTsKLSAgICBoel9vdXQ1ID0gaG9yaXpfNnRh
cF9maWx0KHNyYzUsIHNyYzYsIG1hc2swLCBtYXNrMSwgbWFzazIsIGZpbHRfaHowLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyKTsKLSAgICBoel9vdXQ0
ID0gX19sc3hfdnNodWZfYihoel9vdXQ1LCBoel9vdXQzLCBzaHVmZik7Ci0KLSAgICBzcmM3ID0g
X19sc3hfdmxkKHNyYywgMCk7Ci0gICAgc3JjOCA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRl
KTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZV94MjsKLQotICAgIERVUDJfQVJHMihfX2xzeF92eG9y
aV9iLCBzcmM3LCAxMjgsIHNyYzgsIDEyOCwgc3JjNywgc3JjOCk7Ci0gICAgaHpfb3V0NyA9IGhv
cml6XzZ0YXBfZmlsdChzcmM3LCBzcmM4LCBtYXNrMCwgbWFzazEsIG1hc2syLCBmaWx0X2h6MCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6Mik7Ci0gICAg
aHpfb3V0NiA9IF9fbHN4X3ZzaHVmX2IoaHpfb3V0NywgaHpfb3V0NSwgc2h1ZmYpOwotCi0gICAg
b3V0MiA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQ1LCBoel9vdXQ0KTsKLSAgICB0bXAwID0gZHBh
ZGRfaDMob3V0MCwgb3V0MSwgb3V0MiwgZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0Mik7Ci0K
LSAgICBvdXQzID0gX19sc3hfdnBhY2tldl9iKGh6X291dDcsIGh6X291dDYpOwotICAgIHRtcDEg
PSBkcGFkZF9oMyhvdXQxLCBvdXQyLCBvdXQzLCBmaWx0X3Z0MCwgZmlsdF92dDEsIGZpbHRfdnQy
KTsKLQotICAgIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9iX2godG1wMSwgdG1wMCwgNyk7Ci0gICAg
dG1wMCA9IF9fbHN4X3Z4b3JpX2IodG1wMCwgMTI4KTsKLSAgICBfX2xzeF92c3RlbG1fdyh0bXAw
LCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93
KHRtcDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0
ZWxtX3codG1wMCwgZHN0LCAwLCAyKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xz
eF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDMpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0g
ICAgaHpfb3V0MyA9IGh6X291dDc7Ci0gICAgb3V0MCA9IG91dDI7Ci0gICAgb3V0MSA9IG91dDM7
Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h2XzZodF82dnRfOHdfbHN4KHVpbnQ4X3Qg
KlJFU1RSSUNUIHNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50MzJfdCBkc3Rfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmls
dGVyX2hvcml6LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDhfdCAqZmlsdGVyX3ZlcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQ7Ci0gIGludDMyX3Qgc3JjX3N0
cmlkZV94MiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gzID0gc3Jj
X3N0cmlkZV94MiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94NCA9IHNyY19z
dHJpZGUgPDwgMjsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gyID0gZHN0X3N0cmlkZSA8PCAxOwot
ICBpbnQzMl90IGRzdF9zdHJpZGVfeDMgPSBkc3Rfc3RyaWRlX3gyICsgZHN0X3N0cmlkZTsKLSAg
aW50MzJfdCBkc3Rfc3RyaWRlX3g0ID0gZHN0X3N0cmlkZSA8PCAyOwotICBfX20xMjhpIHNyYzAs
IHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzg7Ci0gIF9fbTEy
OGkgZmlsdF9oejAsIGZpbHRfaHoxLCBmaWx0X2h6MjsKLSAgX19tMTI4aSBtYXNrMCwgbWFzazEs
IG1hc2syLCB2ZWMwLCB2ZWMxOwotICBfX20xMjhpIGZpbHQsIGZpbHRfdnQwLCBmaWx0X3Z0MSwg
ZmlsdF92dDI7Ci0gIF9fbTEyOGkgaHpfb3V0MCwgaHpfb3V0MSwgaHpfb3V0MiwgaHpfb3V0Mywg
aHpfb3V0NCwgaHpfb3V0NSwgaHpfb3V0NjsKLSAgX19tMTI4aSBoel9vdXQ3LCBoel9vdXQ4LCBv
dXQwLCBvdXQxLCBvdXQyLCBvdXQzLCBvdXQ0LCBvdXQ1LCBvdXQ2LCBvdXQ3OwotICBfX20xMjhp
IHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Ci0KLSAgbWFzazAgPSBfX2xzeF92bGQodnA4X21jX2Zp
bHRfbWFza19hcnIsIDApOwotICBzcmMgLT0gKDIgKyBzcmNfc3RyaWRlX3gyKTsKLQotICBmaWx0
ID0gX19sc3hfdmxkKGZpbHRlcl9ob3JpeiwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZl
aV9oLCBmaWx0LCAwLCBmaWx0LCAxLCBmaWx0X2h6MCwgZmlsdF9oejEpOwotICBmaWx0X2h6MiA9
IF9fbHN4X3ZyZXBsdmVpX2goZmlsdCwgMik7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRpX2J1
LCBtYXNrMCwgMiwgbWFzazAsIDQsIG1hc2sxLCBtYXNrMik7Ci0gIERVUDRfQVJHMihfX2xzeF92
bGR4LCBzcmMsIDAsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlX3gyLCBzcmMsCi0g
ICAgICAgICAgICBzcmNfc3RyaWRlX3gzLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgc3Jj
ICs9IHNyY19zdHJpZGVfeDQ7Ci0gIHNyYzQgPSBfX2xzeF92bGR4KHNyYywgMCk7Ci0gIHNyYyAr
PSBzcmNfc3RyaWRlOwotCi0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNy
YzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICBzcmMxLCBz
cmMyLCBzcmMzKTsKLSAgc3JjNCA9IF9fbHN4X3Z4b3JpX2Ioc3JjNCwgMTI4KTsKLQotICBoel9v
dXQwID0gaG9yaXpfNnRhcF9maWx0KHNyYzAsIHNyYzAsIG1hc2swLCBtYXNrMSwgbWFzazIsIGZp
bHRfaHowLCBmaWx0X2h6MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6Mik7
Ci0gIGh6X291dDEgPSBob3Jpel82dGFwX2ZpbHQoc3JjMSwgc3JjMSwgbWFzazAsIG1hc2sxLCBt
YXNrMiwgZmlsdF9oejAsIGZpbHRfaHoxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp
bHRfaHoyKTsKLSAgaHpfb3V0MiA9IGhvcml6XzZ0YXBfZmlsdChzcmMyLCBzcmMyLCBtYXNrMCwg
bWFzazEsIG1hc2syLCBmaWx0X2h6MCwgZmlsdF9oejEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmlsdF9oejIpOwotICBoel9vdXQzID0gaG9yaXpfNnRhcF9maWx0KHNyYzMsIHNyYzMs
IG1hc2swLCBtYXNrMSwgbWFzazIsIGZpbHRfaHowLCBmaWx0X2h6MSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0X2h6Mik7Ci0gIGh6X291dDQgPSBob3Jpel82dGFwX2ZpbHQoc3Jj
NCwgc3JjNCwgbWFzazAsIG1hc2sxLCBtYXNrMiwgZmlsdF9oejAsIGZpbHRfaHoxLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaHoyKTsKLSAgZmlsdCA9IF9fbHN4X3ZsZChmaWx0
ZXJfdmVydCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBmaWx0LCAwLCBmaWx0
LCAxLCBmaWx0X3Z0MCwgZmlsdF92dDEpOwotICBmaWx0X3Z0MiA9IF9fbHN4X3ZyZXBsdmVpX2go
ZmlsdCwgMik7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZwYWNrZXZfYiwgaHpfb3V0MSwgaHpfb3V0
MCwgaHpfb3V0MywgaHpfb3V0MiwgaHpfb3V0MiwKLSAgICAgICAgICAgIGh6X291dDEsIGh6X291
dDQsIGh6X291dDMsIG91dDAsIG91dDEsIG91dDMsIG91dDQpOwotCi0gIGZvciAobG9vcF9jbnQg
PSAoaGVpZ2h0ID4+IDIpOyBsb29wX2NudC0tOykgewotICAgIERVUDRfQVJHMihfX2xzeF92bGR4
LCBzcmMsIDAsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlX3gyLCBzcmMsCi0gICAg
ICAgICAgICAgIHNyY19zdHJpZGVfeDMsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgpOwotICAgIHNy
YyArPSBzcmNfc3RyaWRlX3g0OwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzUs
IDEyOCwgc3JjNiwgMTI4LCBzcmM3LCAxMjgsIHNyYzgsIDEyOCwgc3JjNSwKLSAgICAgICAgICAg
ICAgc3JjNiwgc3JjNywgc3JjOCk7Ci0gICAgaHpfb3V0NSA9IGhvcml6XzZ0YXBfZmlsdChzcmM1
LCBzcmM1LCBtYXNrMCwgbWFzazEsIG1hc2syLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6Mik7Ci0gICAgb3V0MiA9IF9fbHN4X3ZwYWNr
ZXZfYihoel9vdXQ1LCBoel9vdXQ0KTsKLSAgICB0bXAwID0gZHBhZGRfaDMob3V0MCwgb3V0MSwg
b3V0MiwgZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0Mik7Ci0KLSAgICBoel9vdXQ2ID0gaG9y
aXpfNnRhcF9maWx0KHNyYzYsIHNyYzYsIG1hc2swLCBtYXNrMSwgbWFzazIsIGZpbHRfaHowLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyKTsKLSAgICBv
dXQ1ID0gX19sc3hfdnBhY2tldl9iKGh6X291dDYsIGh6X291dDUpOwotICAgIHRtcDEgPSBkcGFk
ZF9oMyhvdXQzLCBvdXQ0LCBvdXQ1LCBmaWx0X3Z0MCwgZmlsdF92dDEsIGZpbHRfdnQyKTsKLQot
ICAgIGh6X291dDcgPSBob3Jpel82dGFwX2ZpbHQoc3JjNywgc3JjNywgbWFzazAsIG1hc2sxLCBt
YXNrMiwgZmlsdF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6MSwg
ZmlsdF9oejIpOwotICAgIG91dDcgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0NywgaHpfb3V0Nik7
Ci0gICAgdG1wMiA9IGRwYWRkX2gzKG91dDEsIG91dDIsIG91dDcsIGZpbHRfdnQwLCBmaWx0X3Z0
MSwgZmlsdF92dDIpOwotCi0gICAgaHpfb3V0OCA9IGhvcml6XzZ0YXBfZmlsdChzcmM4LCBzcmM4
LCBtYXNrMCwgbWFzazEsIG1hc2syLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6Mik7Ci0gICAgb3V0NiA9IF9fbHN4X3ZwYWNrZXZfYiho
el9vdXQ4LCBoel9vdXQ3KTsKLSAgICB0bXAzID0gZHBhZGRfaDMob3V0NCwgb3V0NSwgb3V0Niwg
ZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0Mik7Ci0KLSAgICBEVVAyX0FSRzMoX19sc3hfdnNz
cmFybmlfYl9oLCB0bXAxLCB0bXAwLCBWUDhfRklMVEVSX1NISUZULCB0bXAzLCB0bXAyLAotICAg
ICAgICAgICAgICBWUDhfRklMVEVSX1NISUZULCB2ZWMwLCB2ZWMxKTsKLSAgICBEVVAyX0FSRzIo
X19sc3hfdnhvcmlfYiwgdmVjMCwgMTI4LCB2ZWMxLCAxMjgsIHZlYzAsIHZlYzEpOwotCi0gICAg
X19sc3hfdnN0ZWxtX2QodmVjMCwgZHN0LCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZCh2ZWMw
LCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1fZCh2ZWMxLCBkc3Qg
KyBkc3Rfc3RyaWRlX3gyLCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZCh2ZWMxLCBkc3QgKyBk
c3Rfc3RyaWRlX3gzLCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZV94NDsKLQotICAgIGh6
X291dDQgPSBoel9vdXQ4OwotICAgIG91dDAgPSBvdXQyOwotICAgIG91dDEgPSBvdXQ3OwotICAg
IG91dDMgPSBvdXQ1OwotICAgIG91dDQgPSBvdXQ2OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNv
bW1vbl9odl82aHRfNnZ0XzE2d19sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
KlJFU1RSSUNUIGRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXJfdmVydCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHsKLSAg
Y29tbW9uX2h2XzZodF82dnRfOHdfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRl
LCBmaWx0ZXJfaG9yaXosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJfdmVydCwg
aGVpZ2h0KTsKLSAgY29tbW9uX2h2XzZodF82dnRfOHdfbHN4KHNyYyArIDgsIHNyY19zdHJpZGUs
IGRzdCArIDgsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJf
aG9yaXosIGZpbHRlcl92ZXJ0LCBoZWlnaHQpOwotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHpf
NHRfNHg0X2xzeCh1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50
MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50OF90ICpmaWx0ZXIpIHsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBmaWx0
MCwgZmlsdDEsIG1hc2swLCBtYXNrMTsKLSAgX19tMTI4aSBvdXQwLCBvdXQxOwotICBpbnQzMl90
IHNyY19zdHJpZGVfeDIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94
MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNfc3RyaWRlOwotCi0gIG1hc2swID0gX19sc3hfdmxkKHZw
OF9tY19maWx0X21hc2tfYXJyLCAxNik7Ci0gIHNyYyAtPSAxOwotCi0gIERVUDJfQVJHMihfX2xz
eF92bGRyZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBmaWx0MCwgZmlsdDEpOwotICBtYXNr
MSA9IF9fbHN4X3ZhZGRpX2J1KG1hc2swLCAyKTsKLQotICBzcmMwID0gX19sc3hfdmxkKHNyYywg
MCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0
cmlkZV94Miwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlk
ZV94Myk7Ci0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwg
c3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMz
KTsKLSAgSE9SSVpfNFRBUF80V0lEXzRWRUNTX0ZJTFQoc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywg
bWFzazAsIG1hc2sxLCBmaWx0MCwgZmlsdDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG91dDAsIG91dDEpOwotCi0gIG91dDAgPSBfX2xzeF92c3NyYXJuaV9iX2gob3V0MSwgb3V0MCwg
VlA4X0ZJTFRFUl9TSElGVCk7Ci0gIG91dDAgPSBfX2xzeF92eG9yaV9iKG91dDAsIDEyOCk7Ci0K
LSAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRl
OwotICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDIpOwotICBkc3QgKz0gZHN0X3N0cmlk
ZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAzKTsKLX0KLQotc3RhdGljIHZvaWQg
Y29tbW9uX2h6XzR0XzR4OF9sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpSRVNUUklD
VCBkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDhfdCAqZmlsdGVyKSB7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwg
c3JjMywgZmlsdDAsIGZpbHQxLCBtYXNrMCwgbWFzazE7Ci0gIF9fbTEyOGkgb3V0MCwgb3V0MSwg
b3V0Miwgb3V0MzsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gyID0gc3JjX3N0cmlkZSA8PCAxOwot
ICBpbnQzMl90IHNyY19zdHJpZGVfeDMgPSBzcmNfc3RyaWRlX3gyICsgc3JjX3N0cmlkZTsKLSAg
aW50MzJfdCBzcmNfc3RyaWRlX3g0ID0gc3JjX3N0cmlkZSA8PCAyOwotCi0gIG1hc2swID0gX19s
c3hfdmxkKHZwOF9tY19maWx0X21hc2tfYXJyLCAxNik7Ci0gIHNyYyAtPSAxOwotCi0gIERVUDJf
QVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBmaWx0MCwgZmlsdDEp
OwotICBtYXNrMSA9IF9fbHN4X3ZhZGRpX2J1KG1hc2swLCAyKTsKLQotICBzcmMwID0gX19sc3hf
dmxkKHNyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNy
Yywgc3JjX3N0cmlkZV94Miwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KHNyYywg
c3JjX3N0cmlkZV94Myk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlX3g0OwotICBEVVA0X0FSRzIoX19s
c3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBz
cmMwLAotICAgICAgICAgICAgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gIEhPUklaXzRUQVBfNFdJRF80
VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgZmlsdDAsIGZp
bHQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQwLCBvdXQxKTsKLQotICBzcmMw
ID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19z
dHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92
bGR4KHNyYywgc3JjX3N0cmlkZV94Myk7Ci0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMw
LCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAg
ICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgSE9SSVpfNFRBUF80V0lEXzRWRUNTX0ZJTFQoc3JjMCwg
c3JjMSwgc3JjMiwgc3JjMywgbWFzazAsIG1hc2sxLCBmaWx0MCwgZmlsdDEsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG91dDIsIG91dDMpOwotICBEVVAyX0FSRzMoX19sc3hfdnNzcmFy
bmlfYl9oLCBvdXQxLCBvdXQwLCBWUDhfRklMVEVSX1NISUZULCBvdXQzLCBvdXQyLAotICAgICAg
ICAgICAgVlA4X0ZJTFRFUl9TSElGVCwgb3V0MCwgb3V0MSk7Ci0gIERVUDJfQVJHMihfX2xzeF92
eG9yaV9iLCBvdXQwLCAxMjgsIG91dDEsIDEyOCwgb3V0MCwgb3V0MSk7Ci0gIF9fbHN4X3ZzdGVs
bV93KG91dDAsIGRzdCwgMCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3Rl
bG1fdyhvdXQwLCBkc3QsIDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0
ZWxtX3cob3V0MCwgZHN0LCAwLCAyKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3Zz
dGVsbV93KG91dDAsIGRzdCwgMCwgMyk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gIF9fbHN4
X3ZzdGVsbV93KG91dDEsIGRzdCwgMCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xz
eF92c3RlbG1fdyhvdXQxLCBkc3QsIDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19s
c3hfdnN0ZWxtX3cob3V0MSwgZHN0LCAwLCAyKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9f
bHN4X3ZzdGVsbV93KG91dDEsIGRzdCwgMCwgMyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9o
el80dF80d19sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50
MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgaWYgKGhlaWdodCA9PSA0KSB7Ci0g
ICAgY29tbW9uX2h6XzR0XzR4NF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUs
IGZpbHRlcik7Ci0gIH0gZWxzZSBpZiAoaGVpZ2h0ID09IDgpIHsKLSAgICBjb21tb25faHpfNHRf
NHg4X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyKTsKLSAgfQot
fQotCi1zdGF0aWMgdm9pZCBjb21tb25faHpfNHRfOHdfbHN4KHVpbnQ4X3QgKlJFU1RSSUNUIHNy
YywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90ICpSRVNUUklDVCBkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7
Ci0gIHVpbnQzMl90IGxvb3BfY250OwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIgPSBzcmNfc3Ry
aWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNf
c3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGVfeDQgPSBzcmNfc3RyaWRlIDw8IDI7Ci0gIGlu
dDMyX3QgZHN0X3N0cmlkZV94MiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3Ry
aWRlX3gzID0gZHN0X3N0cmlkZV94MiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlk
ZV94NCA9IGRzdF9zdHJpZGUgPDwgMjsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
LCBmaWx0MCwgZmlsdDEsIG1hc2swLCBtYXNrMTsKLSAgX19tMTI4aSB0bXAwLCB0bXAxOwotICBf
X20xMjhpIGZpbHQsIG91dDAsIG91dDEsIG91dDIsIG91dDM7Ci0KLSAgbWFzazAgPSBfX2xzeF92
bGQodnA4X21jX2ZpbHRfbWFza19hcnIsIDApOwotICBzcmMgLT0gMTsKLQotICBmaWx0ID0gX19s
c3hfdmxkKGZpbHRlciwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBmaWx0LCAw
LCBmaWx0LCAxLCBmaWx0MCwgZmlsdDEpOwotICBtYXNrMSA9IF9fbHN4X3ZhZGRpX2J1KG1hc2sw
LCAyKTsKLQotICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsgbG9vcF9jbnQtLTspIHsK
LSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNyY19zdHJpZGUsIHNyYywg
c3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNfc3RyaWRlX3gzLCBzcmMwLCBz
cmMxLCBzcmMyLCBzcmMzKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZV94NDsKLQotICAgIERVUDRf
QVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMz
LCAxMjgsIHNyYzAsCi0gICAgICAgICAgICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICAgIEhPUkla
XzRUQVBfOFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNr
MSwgZmlsdDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdDEsIG91dDAsIG91
dDEsIG91dDIsIG91dDMpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDEs
IG91dDAsIFZQOF9GSUxURVJfU0hJRlQsIG91dDMsIG91dDIsCi0gICAgICAgICAgICAgIFZQOF9G
SUxURVJfU0hJRlQsIHRtcDAsIHRtcDEpOwotICAgIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCB0
bXAwLCAxMjgsIHRtcDEsIDEyOCwgdG1wMCwgdG1wMSk7Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1w
MCwgZHN0LCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZCh0bXAwLCBkc3QgKyBkc3Rfc3RyaWRl
LCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1fZCh0bXAxLCBkc3QgKyBkc3Rfc3RyaWRlX3gyLCAw
LCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZCh0bXAxLCBkc3QgKyBkc3Rfc3RyaWRlX3gzLCAwLCAx
KTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZV94NDsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21t
b25faHpfNHRfMTZ3X2xzeCh1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRz
dCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3Bf
Y250OwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMy
X3Qgc3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90
IHNyY19zdHJpZGVfeDQgPSBzcmNfc3RyaWRlIDw8IDI7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94
MiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gzID0gZHN0X3N0cmlk
ZV94MiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94NCA9IGRzdF9zdHJpZGUg
PDwgMjsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2
LCBzcmM3OwotICBfX20xMjhpIGZpbHQwLCBmaWx0MSwgbWFzazAsIG1hc2sxOwotICBfX20xMjhp
IGZpbHQsIG91dDAsIG91dDEsIG91dDIsIG91dDMsIG91dDQsIG91dDUsIG91dDYsIG91dDc7Ci0K
LSAgbWFzazAgPSBfX2xzeF92bGQodnA4X21jX2ZpbHRfbWFza19hcnIsIDApOwotICBzcmMgLT0g
MTsKLQotICBmaWx0ID0gX19sc3hfdmxkKGZpbHRlciwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92
cmVwbHZlaV9oLCBmaWx0LCAwLCBmaWx0LCAxLCBmaWx0MCwgZmlsdDEpOwotICBtYXNrMSA9IF9f
bHN4X3ZhZGRpX2J1KG1hc2swLCAyKTsKLQotICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAy
KTsgbG9vcF9jbnQtLTspIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMs
IHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNf
c3RyaWRlX3gzLCBzcmMwLCBzcmMyLCBzcmM0LCBzcmM2KTsKLSAgICBzcmMgKz0gODsKLSAgICBE
VVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0
cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNfc3RyaWRlX3gzLCBzcmMxLCBzcmMzLCBz
cmM1LCBzcmM3KTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZV94NCAtIDg7Ci0KLSAgICBEVVA0X0FS
RzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywg
MTI4LCBzcmMwLAotICAgICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBEVVA0X0FS
RzIoX19sc3hfdnhvcmlfYiwgc3JjNCwgMTI4LCBzcmM1LCAxMjgsIHNyYzYsIDEyOCwgc3JjNywg
MTI4LCBzcmM0LAotICAgICAgICAgICAgICBzcmM1LCBzcmM2LCBzcmM3KTsKLSAgICBIT1JJWl80
VEFQXzhXSURfNFZFQ1NfRklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazEs
IGZpbHQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHQxLCBvdXQwLCBvdXQx
LCBvdXQyLCBvdXQzKTsKLSAgICBIT1JJWl80VEFQXzhXSURfNFZFQ1NfRklMVChzcmM0LCBzcmM1
LCBzcmM2LCBzcmM3LCBtYXNrMCwgbWFzazEsIGZpbHQwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbHQxLCBvdXQ0LCBvdXQ1LCBvdXQ2LCBvdXQ3KTsKLSAgICBEVVA0X0FSRzMo
X19sc3hfdnNzcmFybmlfYl9oLCBvdXQxLCBvdXQwLCBWUDhfRklMVEVSX1NISUZULCBvdXQzLCBv
dXQyLAotICAgICAgICAgICAgICBWUDhfRklMVEVSX1NISUZULCBvdXQ1LCBvdXQ0LCBWUDhfRklM
VEVSX1NISUZULCBvdXQ3LCBvdXQ2LAotICAgICAgICAgICAgICBWUDhfRklMVEVSX1NISUZULCBv
dXQwLCBvdXQxLCBvdXQyLCBvdXQzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgb3V0
MCwgMTI4LCBvdXQxLCAxMjgsIG91dDIsIDEyOCwgb3V0MywgMTI4LCBvdXQwLAotICAgICAgICAg
ICAgICBvdXQxLCBvdXQyLCBvdXQzKTsKLSAgICBfX2xzeF92c3R4KG91dDAsIGRzdCwgMCk7Ci0g
ICAgX19sc3hfdnN0eChvdXQxLCBkc3QsIGRzdF9zdHJpZGUpOwotICAgIF9fbHN4X3ZzdHgob3V0
MiwgZHN0LCBkc3Rfc3RyaWRlX3gyKTsKLSAgICBfX2xzeF92c3R4KG91dDMsIGRzdCwgZHN0X3N0
cmlkZV94Myk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGVfeDQ7Ci0gIH0KLX0KLQotc3RhdGljIHZv
aWQgY29tbW9uX3Z0XzR0XzR3X2xzeCh1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqUkVTVFJJ
Q1QgZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJfdCBs
b29wX2NudDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1Owot
ICBfX20xMjhpIHNyYzEwX3IsIHNyYzMyX3IsIHNyYzU0X3IsIHNyYzIxX3IsIHNyYzQzX3IsIHNy
YzY1X3I7Ci0gIF9fbTEyOGkgc3JjMjExMCwgc3JjNDMzMiwgZmlsdDAsIGZpbHQxLCBvdXQwLCBv
dXQxOwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMy
X3Qgc3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNfc3RyaWRlOwotCi0gIERVUDJf
QVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBmaWx0MCwgZmlsdDEp
OwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCAtc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3Ry
aWRlLCBzcmMwLCBzcmMyKTsKLSAgc3JjMSA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBzcmMgKz0g
c3JjX3N0cmlkZV94MjsKLQotICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMSwgc3JjMCwg
c3JjMiwgc3JjMSwgc3JjMTBfciwgc3JjMjFfcik7Ci0KLSAgc3JjMjExMCA9IF9fbHN4X3ZpbHZs
X2Qoc3JjMjFfciwgc3JjMTBfcik7Ci0gIHNyYzIxMTAgPSBfX2xzeF92eG9yaV9iKHNyYzIxMTAs
IDEyOCk7Ci0KLSAgZm9yIChsb29wX2NudCA9IChoZWlnaHQgPj4gMik7IGxvb3BfY250LS07KSB7
Ci0gICAgc3JjMyA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4
LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjNCwgc3JjNSk7Ci0gICAg
c3JjICs9IHNyY19zdHJpZGVfeDM7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzMs
IHNyYzIsIHNyYzQsIHNyYzMsIHNyYzMyX3IsIHNyYzQzX3IpOwotICAgIHNyYzQzMzIgPSBfX2xz
eF92aWx2bF9kKHNyYzQzX3IsIHNyYzMyX3IpOwotICAgIHNyYzQzMzIgPSBfX2xzeF92eG9yaV9i
KHNyYzQzMzIsIDEyOCk7Ci0gICAgb3V0MCA9IGZpbHRfNHRhcF9kcGFkZF9oKHNyYzIxMTAsIHNy
YzQzMzIsIGZpbHQwLCBmaWx0MSk7Ci0KLSAgICBzcmMyID0gX19sc3hfdmxkKHNyYywgMCk7Ci0g
ICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzUs
IHNyYzQsIHNyYzIsIHNyYzUsIHNyYzU0X3IsIHNyYzY1X3IpOwotICAgIHNyYzIxMTAgPSBfX2xz
eF92aWx2bF9kKHNyYzY1X3IsIHNyYzU0X3IpOwotICAgIHNyYzIxMTAgPSBfX2xzeF92eG9yaV9i
KHNyYzIxMTAsIDEyOCk7Ci0gICAgb3V0MSA9IGZpbHRfNHRhcF9kcGFkZF9oKHNyYzQzMzIsIHNy
YzIxMTAsIGZpbHQwLCBmaWx0MSk7Ci0gICAgb3V0MCA9IF9fbHN4X3Zzc3Jhcm5pX2JfaChvdXQx
LCBvdXQwLCBWUDhfRklMVEVSX1NISUZUKTsKLSAgICBvdXQwID0gX19sc3hfdnhvcmlfYihvdXQw
LCAxMjgpOwotCi0gICAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAwKTsKLSAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDEpOwotICAg
IGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMik7
Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAw
LCAzKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21t
b25fdnRfNHRfOHdfbHN4KHVpbnQ4X3QgKlJFU1RSSUNUIHNyYywgaW50MzJfdCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpSRVNUUklDVCBkc3Qs
IGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250
OwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNy
Y19zdHJpZGVfeDQgPSBzcmNfc3RyaWRlIDw8IDI7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94MiA9
IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gzID0gZHN0X3N0cmlkZV94
MiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94NCA9IGRzdF9zdHJpZGUgPDwg
MjsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsK
LSAgX19tMTI4aSBzcmMxMF9yLCBzcmM3Ml9yLCBzcmM5OF9yLCBzcmMyMV9yLCBzcmM4N19yLCBz
cmMxMDlfciwgZmlsdDAsIGZpbHQxOwotICBfX20xMjhpIHRtcDAsIHRtcDE7Ci0gIF9fbTEyOGkg
ZmlsdCwgb3V0MF9yLCBvdXQxX3IsIG91dDJfciwgb3V0M19yOwotCi0gIHNyYyAtPSBzcmNfc3Ry
aWRlOwotICBmaWx0ID0gX19sc3hfdmxkKGZpbHRlciwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92
cmVwbHZlaV9oLCBmaWx0LCAwLCBmaWx0LCAxLCBmaWx0MCwgZmlsdDEpOwotCi0gIERVUDJfQVJH
MihfX2xzeF92bGR4LCBzcmMsIDAsIHNyYywgc3JjX3N0cmlkZSwgc3JjMCwgc3JjMSk7Ci0gIHNy
YzIgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZV94Mik7Ci0gIHNyYyArPSBzcmNfc3RyaWRl
X3gzOwotCi0gIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwg
c3JjMCwgc3JjMSk7Ci0gIHNyYzIgPSBfX2xzeF92eG9yaV9iKHNyYzIsIDEyOCk7Ci0gIERVUDJf
QVJHMihfX2xzeF92aWx2bF9iLCBzcmMxLCBzcmMwLCBzcmMyLCBzcmMxLCBzcmMxMF9yLCBzcmMy
MV9yKTsKLQotICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsgbG9vcF9jbnQtLTspIHsK
LSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNyY19zdHJpZGUsIHNyYywg
c3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNfc3RyaWRlX3gzLCBzcmM3LCBz
cmM4LCBzcmM5LCBzcmMxMCk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGVfeDQ7Ci0KLSAgICBEVVA0
X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjNywgMTI4LCBzcmM4LCAxMjgsIHNyYzksIDEyOCwgc3Jj
MTAsIDEyOCwgc3JjNywKLSAgICAgICAgICAgICAgc3JjOCwgc3JjOSwgc3JjMTApOwotICAgIERV
UDRfQVJHMihfX2xzeF92aWx2bF9iLCBzcmM3LCBzcmMyLCBzcmM4LCBzcmM3LCBzcmM5LCBzcmM4
LCBzcmMxMCwgc3JjOSwKLSAgICAgICAgICAgICAgc3JjNzJfciwgc3JjODdfciwgc3JjOThfciwg
c3JjMTA5X3IpOwotICAgIG91dDBfciA9IGZpbHRfNHRhcF9kcGFkZF9oKHNyYzEwX3IsIHNyYzcy
X3IsIGZpbHQwLCBmaWx0MSk7Ci0gICAgb3V0MV9yID0gZmlsdF80dGFwX2RwYWRkX2goc3JjMjFf
ciwgc3JjODdfciwgZmlsdDAsIGZpbHQxKTsKLSAgICBvdXQyX3IgPSBmaWx0XzR0YXBfZHBhZGRf
aChzcmM3Ml9yLCBzcmM5OF9yLCBmaWx0MCwgZmlsdDEpOwotICAgIG91dDNfciA9IGZpbHRfNHRh
cF9kcGFkZF9oKHNyYzg3X3IsIHNyYzEwOV9yLCBmaWx0MCwgZmlsdDEpOwotICAgIERVUDJfQVJH
MyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDFfciwgb3V0MF9yLCBWUDhfRklMVEVSX1NISUZULCBv
dXQzX3IsCi0gICAgICAgICAgICAgIG91dDJfciwgVlA4X0ZJTFRFUl9TSElGVCwgdG1wMCwgdG1w
MSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHRtcDAsIDEyOCwgdG1wMSwgMTI4LCB0
bXAwLCB0bXAxKTsKLSAgICBfX2xzeF92c3RlbG1fZCh0bXAwLCBkc3QsIDAsIDApOwotICAgIF9f
bHN4X3ZzdGVsbV9kKHRtcDAsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwotICAgIF9fbHN4X3Zz
dGVsbV9kKHRtcDEsIGRzdCArIGRzdF9zdHJpZGVfeDIsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVs
bV9kKHRtcDEsIGRzdCArIGRzdF9zdHJpZGVfeDMsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3Ry
aWRlX3g0OwotCi0gICAgc3JjMTBfciA9IHNyYzk4X3I7Ci0gICAgc3JjMjFfciA9IHNyYzEwOV9y
OwotICAgIHNyYzIgPSBzcmMxMDsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25fdnRfNHRf
MTZ3X2xzeCh1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50MzJf
dCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250OwotICBp
bnQzMl90IHNyY19zdHJpZGVfeDIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0
cmlkZV94MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJp
ZGVfeDQgPSBzcmNfc3RyaWRlIDw8IDI7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94MiA9IGRzdF9z
dHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gzID0gZHN0X3N0cmlkZV94MiArIGRz
dF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94NCA9IGRzdF9zdHJpZGUgPDwgMjsKLSAg
X19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2OwotICBfX20x
MjhpIHNyYzEwX3IsIHNyYzMyX3IsIHNyYzU0X3IsIHNyYzIxX3IsIHNyYzQzX3IsIHNyYzY1X3Is
IHNyYzEwX2w7Ci0gIF9fbTEyOGkgc3JjMzJfbCwgc3JjNTRfbCwgc3JjMjFfbCwgc3JjNDNfbCwg
c3JjNjVfbCwgZmlsdDAsIGZpbHQxOwotICBfX20xMjhpIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7
Ci0gIF9fbTEyOGkgZmlsdCwgb3V0MF9yLCBvdXQxX3IsIG91dDJfciwgb3V0M19yLCBvdXQwX2ws
IG91dDFfbCwgb3V0Ml9sLCBvdXQzX2w7Ci0KLSAgc3JjIC09IHNyY19zdHJpZGU7Ci0gIGZpbHQg
PSBfX2xzeF92bGQoZmlsdGVyLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZyZXBsdmVpX2gsIGZp
bHQsIDAsIGZpbHQsIDEsIGZpbHQwLCBmaWx0MSk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgs
IHNyYywgMCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMwLCBzcmMxKTsKLSAgc3JjMiA9IF9fbHN4X3Zs
ZHgoc3JjLCBzcmNfc3RyaWRlX3gyKTsKLSAgc3JjICs9IHNyY19zdHJpZGVfeDM7Ci0KLSAgRFVQ
Ml9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzAsIDEyOCwgc3JjMSwgMTI4LCBzcmMwLCBzcmMxKTsK
LSAgc3JjMiA9IF9fbHN4X3Z4b3JpX2Ioc3JjMiwgMTI4KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3Zp
bHZsX2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHNyYzEwX3IsIHNyYzIxX3IpOwotICBEVVAy
X0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgc3JjMTBfbCwgc3Jj
MjFfbCk7Ci0KLSAgZm9yIChsb29wX2NudCA9IChoZWlnaHQgPj4gMik7IGxvb3BfY250LS07KSB7
Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgMCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMs
IHNyY19zdHJpZGVfeDIsIHNyYywKLSAgICAgICAgICAgICAgc3JjX3N0cmlkZV94Mywgc3JjMywg
c3JjNCwgc3JjNSwgc3JjNik7Ci0gICAgc3JjICs9IHNyY19zdHJpZGVfeDQ7Ci0KLSAgICBEVVA0
X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMywgMTI4LCBzcmM0LCAxMjgsIHNyYzUsIDEyOCwgc3Jj
NiwgMTI4LCBzcmMzLAotICAgICAgICAgICAgICBzcmM0LCBzcmM1LCBzcmM2KTsKLSAgICBEVVA0
X0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMywgc3JjMiwgc3JjNCwgc3JjMywgc3JjNSwgc3JjNCwg
c3JjNiwgc3JjNSwKLSAgICAgICAgICAgICAgc3JjMzJfciwgc3JjNDNfciwgc3JjNTRfciwgc3Jj
NjVfcik7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNyYzMsIHNyYzIsIHNyYzQsIHNy
YzMsIHNyYzUsIHNyYzQsIHNyYzYsIHNyYzUsCi0gICAgICAgICAgICAgIHNyYzMyX2wsIHNyYzQz
X2wsIHNyYzU0X2wsIHNyYzY1X2wpOwotICAgIG91dDBfciA9IGZpbHRfNHRhcF9kcGFkZF9oKHNy
YzEwX3IsIHNyYzMyX3IsIGZpbHQwLCBmaWx0MSk7Ci0gICAgb3V0MV9yID0gZmlsdF80dGFwX2Rw
YWRkX2goc3JjMjFfciwgc3JjNDNfciwgZmlsdDAsIGZpbHQxKTsKLSAgICBvdXQyX3IgPSBmaWx0
XzR0YXBfZHBhZGRfaChzcmMzMl9yLCBzcmM1NF9yLCBmaWx0MCwgZmlsdDEpOwotICAgIG91dDNf
ciA9IGZpbHRfNHRhcF9kcGFkZF9oKHNyYzQzX3IsIHNyYzY1X3IsIGZpbHQwLCBmaWx0MSk7Ci0g
ICAgb3V0MF9sID0gZmlsdF80dGFwX2RwYWRkX2goc3JjMTBfbCwgc3JjMzJfbCwgZmlsdDAsIGZp
bHQxKTsKLSAgICBvdXQxX2wgPSBmaWx0XzR0YXBfZHBhZGRfaChzcmMyMV9sLCBzcmM0M19sLCBm
aWx0MCwgZmlsdDEpOwotICAgIG91dDJfbCA9IGZpbHRfNHRhcF9kcGFkZF9oKHNyYzMyX2wsIHNy
YzU0X2wsIGZpbHQwLCBmaWx0MSk7Ci0gICAgb3V0M19sID0gZmlsdF80dGFwX2RwYWRkX2goc3Jj
NDNfbCwgc3JjNjVfbCwgZmlsdDAsIGZpbHQxKTsKLSAgICBEVVA0X0FSRzMoX19sc3hfdnNzcmFy
bmlfYl9oLCBvdXQwX2wsIG91dDBfciwgVlA4X0ZJTFRFUl9TSElGVCwgb3V0MV9sLAotICAgICAg
ICAgICAgICBvdXQxX3IsIFZQOF9GSUxURVJfU0hJRlQsIG91dDJfbCwgb3V0Ml9yLCBWUDhfRklM
VEVSX1NISUZULAotICAgICAgICAgICAgICBvdXQzX2wsIG91dDNfciwgVlA4X0ZJTFRFUl9TSElG
VCwgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2Is
IHRtcDAsIDEyOCwgdG1wMSwgMTI4LCB0bXAyLCAxMjgsIHRtcDMsIDEyOCwgdG1wMCwKLSAgICAg
ICAgICAgICAgdG1wMSwgdG1wMiwgdG1wMyk7Ci0gICAgX19sc3hfdnN0eCh0bXAwLCBkc3QsIDAp
OwotICAgIF9fbHN4X3ZzdHgodG1wMSwgZHN0LCBkc3Rfc3RyaWRlKTsKLSAgICBfX2xzeF92c3R4
KHRtcDIsIGRzdCwgZHN0X3N0cmlkZV94Mik7Ci0gICAgX19sc3hfdnN0eCh0bXAzLCBkc3QsIGRz
dF9zdHJpZGVfeDMpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlX3g0OwotCi0gICAgc3JjMTBfciA9
IHNyYzU0X3I7Ci0gICAgc3JjMjFfciA9IHNyYzY1X3I7Ci0gICAgc3JjMTBfbCA9IHNyYzU0X2w7
Ci0gICAgc3JjMjFfbCA9IHNyYzY1X2w7Ci0gICAgc3JjMiA9IHNyYzY7Ci0gIH0KLX0KLQotc3Rh
dGljIHZvaWQgY29tbW9uX2h2XzRodF80dnRfNHdfbHN4KHVpbnQ4X3QgKlJFU1RSSUNUIHNyYywg
aW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmlsdGVyX2hvcml6LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmlsdGVyX3Zl
cnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQp
IHsKLSAgdWludDMyX3QgbG9vcF9jbnQ7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3Jj
Mywgc3JjNCwgc3JjNSwgc3JjNiwgZmlsdF9oejAsIGZpbHRfaHoxOwotICBfX20xMjhpIG1hc2sw
LCBtYXNrMSwgZmlsdF92dDAsIGZpbHRfdnQxLCB0bXAwLCB0bXAxLCB2ZWMwLCB2ZWMxLCB2ZWMy
OwotICBfX20xMjhpIGh6X291dDAsIGh6X291dDEsIGh6X291dDIsIGh6X291dDMsIGh6X291dDQs
IGh6X291dDU7Ci0gIF9fbTEyOGkgc2h1ZmYgPSB7IDB4MEYwRTBEMEMwQjBBMDkwOCwgMHgxNzE2
MTUxNDEzMTIxMTEwIH07Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94MiA9IHNyY19zdHJpZGUgPDwg
MTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gzID0gc3JjX3N0cmlkZV94MiArIHNyY19zdHJpZGU7
Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94NCA9IHNyY19zdHJpZGUgPDwgMjsKLQotICBtYXNrMCA9
IF9fbHN4X3ZsZCh2cDhfbWNfZmlsdF9tYXNrX2FyciwgMTYpOwotICBzcmMgLT0gMTsKLQotICBE
VVAyX0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXJfaG9yaXosIDAsIGZpbHRlcl9ob3Jpeiwg
MiwgZmlsdF9oejAsCi0gICAgICAgICAgICBmaWx0X2h6MSk7Ci0gIG1hc2sxID0gX19sc3hfdmFk
ZGlfYnUobWFzazAsIDIpOwotCi0gIHNyYzEgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9B
UkcyKF9fbHN4X3ZsZHgsIHNyYywgLXNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZSwgc3JjMCwg
c3JjMik7Ci0gIHNyYyArPSBzcmNfc3RyaWRlX3gyOwotCi0gIERVUDJfQVJHMihfX2xzeF92eG9y
aV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMCwgc3JjMSk7Ci0gIHNyYzIgPSBfX2xzeF92
eG9yaV9iKHNyYzIsIDEyOCk7Ci0gIGh6X291dDAgPSBob3Jpel80dGFwX2ZpbHQoc3JjMCwgc3Jj
MSwgbWFzazAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9oejEpOwotICBoel9vdXQxID0gaG9yaXpf
NHRhcF9maWx0KHNyYzEsIHNyYzIsIG1hc2swLCBtYXNrMSwgZmlsdF9oejAsIGZpbHRfaHoxKTsK
LSAgdmVjMCA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQxLCBoel9vdXQwKTsKLQotICBEVVAyX0FS
RzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXJfdmVydCwgMCwgZmlsdGVyX3ZlcnQsIDIsIGZpbHRf
dnQwLAotICAgICAgICAgICAgZmlsdF92dDEpOwotCi0gIGZvciAobG9vcF9jbnQgPSAoaGVpZ2h0
ID4+IDIpOyBsb29wX2NudC0tOykgewotICAgIHNyYzMgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVf
eDIsIHNyYzQsIHNyYzUpOwotICAgIHNyYzYgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZV94
Myk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGVfeDQ7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdnhv
cmlfYiwgc3JjMywgMTI4LCBzcmM0LCAxMjgsIHNyYzMsIHNyYzQpOwotICAgIGh6X291dDMgPSBo
b3Jpel80dGFwX2ZpbHQoc3JjMywgc3JjNCwgbWFzazAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9o
ejEpOwotICAgIGh6X291dDIgPSBfX2xzeF92c2h1Zl9iKGh6X291dDMsIGh6X291dDEsIHNodWZm
KTsKLSAgICB2ZWMxID0gX19sc3hfdnBhY2tldl9iKGh6X291dDMsIGh6X291dDIpOwotICAgIHRt
cDAgPSBmaWx0XzR0YXBfZHBhZGRfaCh2ZWMwLCB2ZWMxLCBmaWx0X3Z0MCwgZmlsdF92dDEpOwot
Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzUsIDEyOCwgc3JjNiwgMTI4LCBzcmM1
LCBzcmM2KTsKLSAgICBoel9vdXQ1ID0gaG9yaXpfNHRhcF9maWx0KHNyYzUsIHNyYzYsIG1hc2sw
LCBtYXNrMSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgICBoel9vdXQ0ID0gX19sc3hfdnNodWZf
Yihoel9vdXQ1LCBoel9vdXQzLCBzaHVmZik7Ci0gICAgdmVjMiA9IF9fbHN4X3ZwYWNrZXZfYiho
el9vdXQ1LCBoel9vdXQ0KTsKLSAgICB0bXAxID0gZmlsdF80dGFwX2RwYWRkX2godmVjMSwgdmVj
MiwgZmlsdF92dDAsIGZpbHRfdnQxKTsKLQotICAgIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9iX2go
dG1wMSwgdG1wMCwgNyk7Ci0gICAgdG1wMCA9IF9fbHN4X3Z4b3JpX2IodG1wMCwgMTI4KTsKLSAg
ICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRl
OwotICAgIF9fbHN4X3ZzdGVsbV93KHRtcDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9z
dHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codG1wMCwgZHN0LCAwLCAyKTsKLSAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDMpOwotICAgIGRz
dCArPSBkc3Rfc3RyaWRlOwotCi0gICAgaHpfb3V0MSA9IGh6X291dDU7Ci0gICAgdmVjMCA9IHZl
YzI7Ci0gIH0KLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGNvbW1vbl9odl80aHRfNHZ0Xzh3X2xz
eCgKLSAgICB1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhf
dCAqUkVTVFJJQ1QgZHN0LAotICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgaW50OF90ICpm
aWx0ZXJfaG9yaXosIGNvbnN0IGludDhfdCAqZmlsdGVyX3ZlcnQsCi0gICAgaW50MzJfdCBoZWln
aHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQ7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94MiA9IHNy
Y19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gzID0gc3JjX3N0cmlkZV94MiAr
IHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94NCA9IHNyY19zdHJpZGUgPDwgMjsK
LSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRz
dF9zdHJpZGVfeDMgPSBkc3Rfc3RyaWRlX3gyICsgZHN0X3N0cmlkZTsKLSAgaW50MzJfdCBkc3Rf
c3RyaWRlX3g0ID0gZHN0X3N0cmlkZSA8PCAyOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIGZpbHRfaHowLCBmaWx0X2h6MTsKLSAgX19tMTI4aSBt
YXNrMCwgbWFzazEsIG91dDAsIG91dDE7Ci0gIF9fbTEyOGkgZmlsdCwgZmlsdF92dDAsIGZpbHRf
dnQxLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzOwotICBfX20xMjhpIGh6X291dDAsIGh6X291dDEs
IGh6X291dDIsIGh6X291dDM7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVj
NDsKLQotICBtYXNrMCA9IF9fbHN4X3ZsZCh2cDhfbWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0gIHNy
YyAtPSAxICsgc3JjX3N0cmlkZTsKLQotICBmaWx0ID0gX19sc3hfdmxkKGZpbHRlcl9ob3Jpeiwg
MCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBmaWx0LCAwLCBmaWx0LCAxLCBmaWx0
X2h6MCwgZmlsdF9oejEpOwotICBtYXNrMSA9IF9fbHN4X3ZhZGRpX2J1KG1hc2swLCAyKTsKLQot
ICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNyY19zdHJpZGUsIHNyYzAsIHNy
YzEpOwotICBzcmMyID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGVfeDIpOwotICBzcmMgKz0g
c3JjX3N0cmlkZV94MzsKLQotICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBz
cmMxLCAxMjgsIHNyYzAsIHNyYzEpOwotICBzcmMyID0gX19sc3hfdnhvcmlfYihzcmMyLCAxMjgp
OwotICBoel9vdXQwID0gaG9yaXpfNHRhcF9maWx0KHNyYzAsIHNyYzAsIG1hc2swLCBtYXNrMSwg
ZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgaHpfb3V0MSA9IGhvcml6XzR0YXBfZmlsdChzcmMxLCBz
cmMxLCBtYXNrMCwgbWFzazEsIGZpbHRfaHowLCBmaWx0X2h6MSk7Ci0gIGh6X291dDIgPSBob3Jp
el80dGFwX2ZpbHQoc3JjMiwgc3JjMiwgbWFzazAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9oejEp
OwotICBEVVAyX0FSRzIoX19sc3hfdnBhY2tldl9iLCBoel9vdXQxLCBoel9vdXQwLCBoel9vdXQy
LCBoel9vdXQxLCB2ZWMwLCB2ZWMyKTsKLQotICBmaWx0ID0gX19sc3hfdmxkKGZpbHRlcl92ZXJ0
LCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZyZXBsdmVpX2gsIGZpbHQsIDAsIGZpbHQsIDEsIGZp
bHRfdnQwLCBmaWx0X3Z0MSk7Ci0KLSAgZm9yIChsb29wX2NudCA9IChoZWlnaHQgPj4gMik7IGxv
b3BfY250LS07KSB7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgMCwgc3JjLCBzcmNf
c3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfeDIsIHNyYywKLSAgICAgICAgICAgICAgc3JjX3N0cmlk
ZV94Mywgc3JjMywgc3JjNCwgc3JjNSwgc3JjNik7Ci0gICAgc3JjICs9IHNyY19zdHJpZGVfeDQ7
Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMywgMTI4LCBzcmM0LCAxMjgsIHNy
YzUsIDEyOCwgc3JjNiwgMTI4LCBzcmMzLAotICAgICAgICAgICAgICBzcmM0LCBzcmM1LCBzcmM2
KTsKLSAgICBoel9vdXQzID0gaG9yaXpfNHRhcF9maWx0KHNyYzMsIHNyYzMsIG1hc2swLCBtYXNr
MSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgICB2ZWMxID0gX19sc3hfdnBhY2tldl9iKGh6X291
dDMsIGh6X291dDIpOwotICAgIHRtcDAgPSBmaWx0XzR0YXBfZHBhZGRfaCh2ZWMwLCB2ZWMxLCBm
aWx0X3Z0MCwgZmlsdF92dDEpOwotCi0gICAgaHpfb3V0MCA9IGhvcml6XzR0YXBfZmlsdChzcmM0
LCBzcmM0LCBtYXNrMCwgbWFzazEsIGZpbHRfaHowLCBmaWx0X2h6MSk7Ci0gICAgdmVjMyA9IF9f
bHN4X3ZwYWNrZXZfYihoel9vdXQwLCBoel9vdXQzKTsKLSAgICB0bXAxID0gZmlsdF80dGFwX2Rw
YWRkX2godmVjMiwgdmVjMywgZmlsdF92dDAsIGZpbHRfdnQxKTsKLQotICAgIGh6X291dDEgPSBo
b3Jpel80dGFwX2ZpbHQoc3JjNSwgc3JjNSwgbWFzazAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9o
ejEpOwotICAgIHZlYzQgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MSwgaHpfb3V0MCk7Ci0gICAg
dG1wMiA9IGZpbHRfNHRhcF9kcGFkZF9oKHZlYzEsIHZlYzQsIGZpbHRfdnQwLCBmaWx0X3Z0MSk7
Ci0KLSAgICBoel9vdXQyID0gaG9yaXpfNHRhcF9maWx0KHNyYzYsIHNyYzYsIG1hc2swLCBtYXNr
MSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnBhY2tldl9iLCBo
el9vdXQwLCBoel9vdXQzLCBoel9vdXQyLCBoel9vdXQxLCB2ZWMwLCB2ZWMxKTsKLSAgICB0bXAz
ID0gZmlsdF80dGFwX2RwYWRkX2godmVjMCwgdmVjMSwgZmlsdF92dDAsIGZpbHRfdnQxKTsKLQot
ICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9iX2gsIHRtcDEsIHRtcDAsIDcsIHRtcDMsIHRt
cDIsIDcsIG91dDAsIG91dDEpOwotICAgIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCBvdXQwLCAx
MjgsIG91dDEsIDEyOCwgb3V0MCwgb3V0MSk7Ci0gICAgX19sc3hfdnN0ZWxtX2Qob3V0MCwgZHN0
LCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQwLCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAx
KTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QgKyBkc3Rfc3RyaWRlX3gyLCAwLCAwKTsK
LSAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QgKyBkc3Rfc3RyaWRlX3gzLCAwLCAxKTsKLSAg
ICBkc3QgKz0gZHN0X3N0cmlkZV94NDsKLQotICAgIHZlYzAgPSB2ZWM0OwotICAgIHZlYzIgPSB2
ZWMxOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl80aHRfNHZ0XzE2d19sc3godWlu
dDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50MzJfdCBkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4
X3QgKmZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50OF90ICpmaWx0ZXJfdmVydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHsKLSAgY29tbW9uX2h2XzRodF80dnRfOHdfbHN4KHNy
Yywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXJfaG9yaXosCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBmaWx0ZXJfdmVydCwgaGVpZ2h0KTsKLSAgY29tbW9uX2h2XzRodF80
dnRfOHdfbHN4KHNyYyArIDgsIHNyY19zdHJpZGUsIGRzdCArIDgsIGRzdF9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJfaG9yaXosIGZpbHRlcl92ZXJ0LCBoZWlnaHQp
OwotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHZfNmh0XzR2dF80d19sc3godWludDhfdCAqUkVT
VFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCAqUkVTVFJJQ1QgZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXJf
aG9yaXosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90
ICpmaWx0ZXJfdmVydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQz
Ml90IGhlaWdodCkgewotICB1aW50MzJfdCBsb29wX2NudDsKLSAgX19tMTI4aSBzcmMwLCBzcmMx
LCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2OwotICBfX20xMjhpIGZpbHRfaHowLCBmaWx0
X2h6MSwgZmlsdF9oejIsIG1hc2swLCBtYXNrMSwgbWFzazI7Ci0gIF9fbTEyOGkgZmlsdF92dDAs
IGZpbHRfdnQxLCB0bXAwLCB0bXAxLCB2ZWMwLCB2ZWMxLCB2ZWMyOwotICBfX20xMjhpIGh6X291
dDAsIGh6X291dDEsIGh6X291dDIsIGh6X291dDMsIGh6X291dDQsIGh6X291dDU7Ci0gIF9fbTEy
OGkgc2h1ZmYgPSB7IDB4MEYwRTBEMEMwQjBBMDkwOCwgMHgxNzE2MTUxNDEzMTIxMTEwIH07Ci0g
IGludDMyX3Qgc3JjX3N0cmlkZV94MiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNf
c3RyaWRlX3gzID0gc3JjX3N0cmlkZV94MiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0
cmlkZV94NCA9IHNyY19zdHJpZGUgPDwgMjsKLQotICBtYXNrMCA9IF9fbHN4X3ZsZCh2cDhfbWNf
ZmlsdF9tYXNrX2FyciwgMTYpOwotICBzcmMgLT0gMjsKLQotICBEVVAyX0FSRzIoX19sc3hfdmxk
cmVwbF9oLCBmaWx0ZXJfaG9yaXosIDAsIGZpbHRlcl9ob3JpeiwgMiwgZmlsdF9oejAsCi0gICAg
ICAgICAgICBmaWx0X2h6MSk7Ci0gIGZpbHRfaHoyID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlcl9o
b3JpeiwgNCk7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkaV9idSwgbWFzazAsIDIsIG1hc2swLCA0
LCBtYXNrMSwgbWFzazIpOwotCi0gIHNyYzEgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9B
UkcyKF9fbHN4X3ZsZHgsIHNyYywgLXNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZSwgc3JjMCwg
c3JjMik7Ci0gIHNyYyArPSBzcmNfc3RyaWRlX3gyOwotCi0gIERVUDJfQVJHMihfX2xzeF92eG9y
aV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMCwgc3JjMSk7Ci0gIHNyYzIgPSBfX2xzeF92
eG9yaV9iKHNyYzIsIDEyOCk7Ci0KLSAgaHpfb3V0MCA9IGhvcml6XzZ0YXBfZmlsdChzcmMwLCBz
cmMxLCBtYXNrMCwgbWFzazEsIG1hc2syLCBmaWx0X2h6MCwgZmlsdF9oejEsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmlsdF9oejIpOwotICBoel9vdXQxID0gaG9yaXpfNnRhcF9maWx0
KHNyYzEsIHNyYzIsIG1hc2swLCBtYXNrMSwgbWFzazIsIGZpbHRfaHowLCBmaWx0X2h6MSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6Mik7Ci0gIHZlYzAgPSBfX2xzeF92cGFj
a2V2X2IoaHpfb3V0MSwgaHpfb3V0MCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwg
ZmlsdGVyX3ZlcnQsIDAsIGZpbHRlcl92ZXJ0LCAyLCBmaWx0X3Z0MCwKLSAgICAgICAgICAgIGZp
bHRfdnQxKTsKLQotICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsgbG9vcF9jbnQtLTsp
IHsKLSAgICBzcmMzID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Zs
ZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlX3gyLCBzcmM0LCBzcmM1KTsKLSAg
ICBzcmM2ID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGVfeDMpOwotICAgIHNyYyArPSBzcmNf
c3RyaWRlX3g0OwotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMzLCAxMjgsIHNyYzQs
IDEyOCwgc3JjNSwgMTI4LCBzcmM2LCAxMjgsIHNyYzMsCi0gICAgICAgICAgICAgIHNyYzQsIHNy
YzUsIHNyYzYpOwotCi0gICAgaHpfb3V0MyA9IGhvcml6XzZ0YXBfZmlsdChzcmMzLCBzcmM0LCBt
YXNrMCwgbWFzazEsIG1hc2syLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHRfaHoxLCBmaWx0X2h6Mik7Ci0gICAgaHpfb3V0MiA9IF9fbHN4X3ZzaHVmX2IoaHpf
b3V0MywgaHpfb3V0MSwgc2h1ZmYpOwotICAgIHZlYzEgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0
MywgaHpfb3V0Mik7Ci0gICAgdG1wMCA9IGZpbHRfNHRhcF9kcGFkZF9oKHZlYzAsIHZlYzEsIGZp
bHRfdnQwLCBmaWx0X3Z0MSk7Ci0KLSAgICBoel9vdXQ1ID0gaG9yaXpfNnRhcF9maWx0KHNyYzUs
IHNyYzYsIG1hc2swLCBtYXNrMSwgbWFzazIsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyKTsKLSAgICBoel9vdXQ0ID0gX19sc3hfdnNo
dWZfYihoel9vdXQ1LCBoel9vdXQzLCBzaHVmZik7Ci0gICAgdmVjMiA9IF9fbHN4X3ZwYWNrZXZf
Yihoel9vdXQ1LCBoel9vdXQ0KTsKLSAgICB0bXAxID0gZmlsdF80dGFwX2RwYWRkX2godmVjMSwg
dmVjMiwgZmlsdF92dDAsIGZpbHRfdnQxKTsKLQotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJu
aV9iX2gsIHRtcDAsIHRtcDAsIDcsIHRtcDEsIHRtcDEsIDcsIHRtcDAsIHRtcDEpOwotICAgIERV
UDJfQVJHMihfX2xzeF92eG9yaV9iLCB0bXAwLCAxMjgsIHRtcDEsIDEyOCwgdG1wMCwgdG1wMSk7
Ci0KLSAgICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rf
c3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHRtcDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9
IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codG1wMSwgZHN0LCAwLCAwKTsKLSAgICBk
c3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyh0bXAxLCBkc3QsIDAsIDEpOwot
ICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gICAgaHpfb3V0MSA9IGh6X291dDU7Ci0gICAgdmVj
MCA9IHZlYzI7Ci0gIH0KLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGNvbW1vbl9odl82aHRfNHZ0
Xzh3X2xzeCgKLSAgICB1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwg
dWludDhfdCAqUkVTVFJJQ1QgZHN0LAotICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgaW50
OF90ICpmaWx0ZXJfaG9yaXosIGNvbnN0IGludDhfdCAqZmlsdGVyX3ZlcnQsCi0gICAgaW50MzJf
dCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQ7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94
MiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gzID0gc3JjX3N0cmlk
ZV94MiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94NCA9IHNyY19zdHJpZGUg
PDwgMjsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQz
Ml90IGRzdF9zdHJpZGVfeDMgPSBkc3Rfc3RyaWRlX3gyICsgZHN0X3N0cmlkZTsKLSAgaW50MzJf
dCBkc3Rfc3RyaWRlX3g0ID0gZHN0X3N0cmlkZSA8PCAyOwotCi0gIF9fbTEyOGkgc3JjMCwgc3Jj
MSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNjsKLSAgX19tMTI4aSBmaWx0X2h6MCwgZmls
dF9oejEsIGZpbHRfaHoyLCBtYXNrMCwgbWFzazEsIG1hc2syOwotICBfX20xMjhpIGZpbHQsIGZp
bHRfdnQwLCBmaWx0X3Z0MSwgaHpfb3V0MCwgaHpfb3V0MSwgaHpfb3V0MiwgaHpfb3V0MzsKLSAg
X19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzOwot
ICBfX20xMjhpIG91dDAsIG91dDE7Ci0KLSAgbWFzazAgPSBfX2xzeF92bGQodnA4X21jX2ZpbHRf
bWFza19hcnIsIDApOwotICBzcmMgLT0gKDIgKyBzcmNfc3RyaWRlKTsKLQotICBmaWx0ID0gX19s
c3hfdmxkKGZpbHRlcl9ob3JpeiwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBm
aWx0LCAwLCBmaWx0LCAxLCBmaWx0X2h6MCwgZmlsdF9oejEpOwotICBmaWx0X2h6MiA9IF9fbHN4
X3ZyZXBsdmVpX2goZmlsdCwgMik7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkaV9idSwgbWFzazAs
IDIsIG1hc2swLCA0LCBtYXNrMSwgbWFzazIpOwotCi0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBz
cmMsIDAsIHNyYywgc3JjX3N0cmlkZSwgc3JjMCwgc3JjMSk7Ci0gIHNyYzIgPSBfX2xzeF92bGR4
KHNyYywgc3JjX3N0cmlkZV94Mik7Ci0gIHNyYyArPSBzcmNfc3RyaWRlX3gzOwotCi0gIERVUDJf
QVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMCwgc3JjMSk7Ci0g
IHNyYzIgPSBfX2xzeF92eG9yaV9iKHNyYzIsIDEyOCk7Ci0gIGh6X291dDAgPSBob3Jpel82dGFw
X2ZpbHQoc3JjMCwgc3JjMCwgbWFzazAsIG1hc2sxLCBtYXNrMiwgZmlsdF9oejAsIGZpbHRfaHox
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaHoyKTsKLSAgaHpfb3V0MSA9IGhv
cml6XzZ0YXBfZmlsdChzcmMxLCBzcmMxLCBtYXNrMCwgbWFzazEsIG1hc2syLCBmaWx0X2h6MCwg
ZmlsdF9oejEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejIpOwotICBoel9v
dXQyID0gaG9yaXpfNnRhcF9maWx0KHNyYzIsIHNyYzIsIG1hc2swLCBtYXNrMSwgbWFzazIsIGZp
bHRfaHowLCBmaWx0X2h6MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6Mik7
Ci0gIERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291dDEsIGh6X291dDAsIGh6X291dDIs
IGh6X291dDEsIHZlYzAsIHZlYzIpOwotCi0gIGZpbHQgPSBfX2xzeF92bGQoZmlsdGVyX3ZlcnQs
IDApOwotICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwgZmlsdCwgMCwgZmlsdCwgMSwgZmls
dF92dDAsIGZpbHRfdnQxKTsKLQotICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsgbG9v
cF9jbnQtLTspIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAwLCBzcmMsIHNyY19z
dHJpZGUsIHNyYywgc3JjX3N0cmlkZV94Miwgc3JjLAotICAgICAgICAgICAgICBzcmNfc3RyaWRl
X3gzLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2KTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZV94NDsK
LSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMywgMTI4LCBzcmM0LCAxMjgsIHNyYzUs
IDEyOCwgc3JjNiwgMTI4LCBzcmMzLAotICAgICAgICAgICAgICBzcmM0LCBzcmM1LCBzcmM2KTsK
LQotICAgIGh6X291dDMgPSBob3Jpel82dGFwX2ZpbHQoc3JjMywgc3JjMywgbWFzazAsIG1hc2sx
LCBtYXNrMiwgZmlsdF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6
MSwgZmlsdF9oejIpOwotICAgIHZlYzEgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MywgaHpfb3V0
Mik7Ci0gICAgdG1wMCA9IGZpbHRfNHRhcF9kcGFkZF9oKHZlYzAsIHZlYzEsIGZpbHRfdnQwLCBm
aWx0X3Z0MSk7Ci0KLSAgICBoel9vdXQwID0gaG9yaXpfNnRhcF9maWx0KHNyYzQsIHNyYzQsIG1h
c2swLCBtYXNrMSwgbWFzazIsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmlsdF9oejEsIGZpbHRfaHoyKTsKLSAgICB2ZWMzID0gX19sc3hfdnBhY2tldl9iKGh6X291
dDAsIGh6X291dDMpOwotICAgIHRtcDEgPSBmaWx0XzR0YXBfZHBhZGRfaCh2ZWMyLCB2ZWMzLCBm
aWx0X3Z0MCwgZmlsdF92dDEpOwotCi0gICAgaHpfb3V0MSA9IGhvcml6XzZ0YXBfZmlsdChzcmM1
LCBzcmM1LCBtYXNrMCwgbWFzazEsIG1hc2syLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6Mik7Ci0gICAgdmVjMCA9IF9fbHN4X3ZwYWNr
ZXZfYihoel9vdXQxLCBoel9vdXQwKTsKLSAgICB0bXAyID0gZmlsdF80dGFwX2RwYWRkX2godmVj
MSwgdmVjMCwgZmlsdF92dDAsIGZpbHRfdnQxKTsKLQotICAgIGh6X291dDIgPSBob3Jpel82dGFw
X2ZpbHQoc3JjNiwgc3JjNiwgbWFzazAsIG1hc2sxLCBtYXNrMiwgZmlsdF9oejAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6MSwgZmlsdF9oejIpOwotICAgIERVUDJfQVJH
MihfX2xzeF92cGFja2V2X2IsIGh6X291dDAsIGh6X291dDMsIGh6X291dDIsIGh6X291dDEsIHZl
YzEsIHZlYzIpOwotICAgIHRtcDMgPSBmaWx0XzR0YXBfZHBhZGRfaCh2ZWMxLCB2ZWMyLCBmaWx0
X3Z0MCwgZmlsdF92dDEpOwotCi0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgdG1w
MSwgdG1wMCwgNywgdG1wMywgdG1wMiwgNywgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3Z4b3JpX2IsIG91dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLSAgICBfX2xz
eF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRz
dCArIGRzdF9zdHJpZGUsIDAsIDEpOwotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDEsIGRzdCArIGRz
dF9zdHJpZGVfeDIsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDEsIGRzdCArIGRzdF9z
dHJpZGVfeDMsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlX3g0OwotICB9Ci19Ci0KLXN0
YXRpYyB2b2lkIGNvbW1vbl9odl82aHRfNHZ0XzE2d19sc3godWludDhfdCAqUkVTVFJJQ1Qgc3Jj
LCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4X3QgKlJFU1RSSUNUIGRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0
ZXJfdmVydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBo
ZWlnaHQpIHsKLSAgY29tbW9uX2h2XzZodF80dnRfOHdfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0
LCBkc3Rfc3RyaWRlLCBmaWx0ZXJfaG9yaXosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBm
aWx0ZXJfdmVydCwgaGVpZ2h0KTsKLSAgY29tbW9uX2h2XzZodF80dnRfOHdfbHN4KHNyYyArIDgs
IHNyY19zdHJpZGUsIGRzdCArIDgsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaWx0ZXJfaG9yaXosIGZpbHRlcl92ZXJ0LCBoZWlnaHQpOwotfQotCi1zdGF0aWMgdm9p
ZCBjb21tb25faHZfNGh0XzZ2dF80d19sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf
dCAqUkVTVFJJQ1QgZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXJfaG9yaXosCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXJfdmVydCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgewotICB1
aW50MzJfdCBsb29wX2NudDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0
LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4OwotICBfX20xMjhpIGZpbHRfaHowLCBmaWx0X2h6MSwg
ZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0MiwgbWFzazAsIG1hc2sxOwotICBfX20xMjhpIGh6
X291dDAsIGh6X291dDEsIGh6X291dDIsIGh6X291dDMsIGh6X291dDQsIGh6X291dDUsIGh6X291
dDY7Ci0gIF9fbTEyOGkgaHpfb3V0NywgdG1wMCwgdG1wMSwgb3V0MCwgb3V0MSwgb3V0Miwgb3V0
MzsKLSAgX19tMTI4aSBzaHVmZiA9IHsgMHgwRjBFMEQwQzBCMEEwOTA4LCAweDE3MTYxNTE0MTMx
MjExMTAgfTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlX3gyID0gc3JjX3N0cmlkZSA8PCAxOwotICBp
bnQzMl90IHNyY19zdHJpZGVfeDMgPSBzcmNfc3RyaWRlX3gyICsgc3JjX3N0cmlkZTsKLSAgaW50
MzJfdCBzcmNfc3RyaWRlX3g0ID0gc3JjX3N0cmlkZSA8PCAyOwotCi0gIG1hc2swID0gX19sc3hf
dmxkKHZwOF9tY19maWx0X21hc2tfYXJyLCAxNik7Ci0KLSAgc3JjIC09IDE7Ci0KLSAgRFVQMl9B
UkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyX2hvcml6LCAwLCBmaWx0ZXJfaG9yaXosIDIsIGZp
bHRfaHowLAotICAgICAgICAgICAgZmlsdF9oejEpOwotICBtYXNrMSA9IF9fbHN4X3ZhZGRpX2J1
KG1hc2swLCAyKTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCAtc3JjX3N0cmlkZV94
Miwgc3JjLCAtc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgc3JjLCBz
cmNfc3RyaWRlX3gyLCBzcmMwLCBzcmMxLCBzcmMzLCBzcmM0KTsKLSAgc3JjMiA9IF9fbHN4X3Zs
ZChzcmMsIDApOwotICBzcmMgKz0gc3JjX3N0cmlkZV94MzsKLQotICBEVVA0X0FSRzIoX19sc3hf
dnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMw
LAotICAgICAgICAgICAgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gIHNyYzQgPSBfX2xzeF92eG9yaV9i
KHNyYzQsIDEyOCk7Ci0gIGh6X291dDAgPSBob3Jpel80dGFwX2ZpbHQoc3JjMCwgc3JjMSwgbWFz
azAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9oejEpOwotICBoel9vdXQyID0gaG9yaXpfNHRhcF9m
aWx0KHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgaHpf
b3V0MyA9IGhvcml6XzR0YXBfZmlsdChzcmMzLCBzcmM0LCBtYXNrMCwgbWFzazEsIGZpbHRfaHow
LCBmaWx0X2h6MSk7Ci0gIGh6X291dDEgPSBfX2xzeF92c2h1Zl9iKGh6X291dDIsIGh6X291dDAs
IHNodWZmKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZwYWNrZXZfYiwgaHpfb3V0MSwgaHpfb3V0MCwg
aHpfb3V0MywgaHpfb3V0Miwgb3V0MCwgb3V0MSk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHJl
cGxfaCwgZmlsdGVyX3ZlcnQsIDAsIGZpbHRlcl92ZXJ0LCAyLCBmaWx0X3Z0MCwKLSAgICAgICAg
ICAgIGZpbHRfdnQxKTsKLSAgZmlsdF92dDIgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyX3ZlcnQs
IDQpOwotCi0gIGZvciAobG9vcF9jbnQgPSAoaGVpZ2h0ID4+IDIpOyBsb29wX2NudC0tOykgewot
ICAgIHNyYzUgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwg
c3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfeDIsIHNyYzYsIHNyYzcpOwotICAgIHNy
YzggPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZV94Myk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4
X3Z4b3JpX2IsIHNyYzUsIDEyOCwgc3JjNiwgMTI4LCBzcmM3LCAxMjgsIHNyYzgsIDEyOCwgc3Jj
NSwKLSAgICAgICAgICAgICAgc3JjNiwgc3JjNywgc3JjOCk7Ci0gICAgc3JjICs9IHNyY19zdHJp
ZGVfeDQ7Ci0KLSAgICBoel9vdXQ1ID0gaG9yaXpfNHRhcF9maWx0KHNyYzUsIHNyYzYsIG1hc2sw
LCBtYXNrMSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgICBoel9vdXQ0ID0gX19sc3hfdnNodWZf
Yihoel9vdXQ1LCBoel9vdXQzLCBzaHVmZik7Ci0gICAgb3V0MiA9IF9fbHN4X3ZwYWNrZXZfYiho
el9vdXQ1LCBoel9vdXQ0KTsKLSAgICB0bXAwID0gZHBhZGRfaDMob3V0MCwgb3V0MSwgb3V0Miwg
ZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0Mik7Ci0KLSAgICBoel9vdXQ3ID0gaG9yaXpfNHRh
cF9maWx0KHNyYzcsIHNyYzgsIG1hc2swLCBtYXNrMSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAg
ICBoel9vdXQ2ID0gX19sc3hfdnNodWZfYihoel9vdXQ3LCBoel9vdXQ1LCBzaHVmZik7Ci0gICAg
b3V0MyA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQ3LCBoel9vdXQ2KTsKLSAgICB0bXAxID0gZHBh
ZGRfaDMob3V0MSwgb3V0Miwgb3V0MywgZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0Mik7Ci0K
LSAgICB0bXAwID0gX19sc3hfdnNzcmFybmlfYl9oKHRtcDEsIHRtcDAsIDcpOwotICAgIHRtcDAg
PSBfX2xzeF92eG9yaV9iKHRtcDAsIDEyOCk7Ci0gICAgX19sc3hfdnN0ZWxtX3codG1wMCwgZHN0
LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyh0bXAw
LCBkc3QsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93
KHRtcDAsIGRzdCwgMCwgMik7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0
ZWxtX3codG1wMCwgZHN0LCAwLCAzKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIGh6
X291dDMgPSBoel9vdXQ3OwotICAgIG91dDAgPSBvdXQyOwotICAgIG91dDEgPSBvdXQzOwotICB9
Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBjb21tb25faHZfNGh0XzZ2dF84d19sc3goCi0gICAg
dWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKlJFU1RS
SUNUIGRzdCwKLSAgICBpbnQzMl90IGRzdF9zdHJpZGUsIGNvbnN0IGludDhfdCAqZmlsdGVyX2hv
cml6LCBjb25zdCBpbnQ4X3QgKmZpbHRlcl92ZXJ0LAotICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0g
IHVpbnQzMl90IGxvb3BfY250OwotICBpbnQzMl90IHNyY19zdHJpZGVfeDIgPSBzcmNfc3RyaWRl
IDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZV94MyA9IHNyY19zdHJpZGVfeDIgKyBzcmNfc3Ry
aWRlOwotICBpbnQzMl90IHNyY19zdHJpZGVfeDQgPSBzcmNfc3RyaWRlIDw8IDI7Ci0gIGludDMy
X3QgZHN0X3N0cmlkZV94MiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRl
X3gzID0gZHN0X3N0cmlkZV94MiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94
NCA9IGRzdF9zdHJpZGUgPDwgMjsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBz
cmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4OwotICBfX20xMjhpIGZpbHRfaHowLCBmaWx0X2h6
MSwgbWFzazAsIG1hc2sxOwotICBfX20xMjhpIGZpbHQsIGZpbHRfdnQwLCBmaWx0X3Z0MSwgZmls
dF92dDIsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Ci0gIF9fbTEyOGkgaHpfb3V0MCwgaHpfb3V0
MSwgaHpfb3V0MiwgaHpfb3V0MywgaHpfb3V0NCwgaHpfb3V0NSwgaHpfb3V0NjsKLSAgX19tMTI4
aSBoel9vdXQ3LCBoel9vdXQ4LCBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzLCBvdXQ0LCBvdXQ1LCBv
dXQ2LCBvdXQ3OwotICBfX20xMjhpIHZlYzAsIHZlYzE7Ci0KLSAgbWFzazAgPSBfX2xzeF92bGQo
dnA4X21jX2ZpbHRfbWFza19hcnIsIDApOwotICBzcmMgLT0gMSArIHNyY19zdHJpZGVfeDI7Ci0K
LSAgZmlsdCA9IF9fbHN4X3ZsZChmaWx0ZXJfaG9yaXosIDApOwotICBEVVAyX0FSRzIoX19sc3hf
dnJlcGx2ZWlfaCwgZmlsdCwgMCwgZmlsdCwgMSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgbWFz
azEgPSBfX2xzeF92YWRkaV9idShtYXNrMCwgMik7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgs
IHNyYywgMCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfeDIsIHNyYywKLSAgICAg
ICAgICAgIHNyY19zdHJpZGVfeDMsIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwotICBzcmMgKz0g
c3JjX3N0cmlkZV94NDsKLSAgc3JjNCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBzcmMgKz0gc3Jj
X3N0cmlkZTsKLQotICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAx
MjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAgICAgc3JjMSwgc3JjMiwg
c3JjMyk7Ci0gIHNyYzQgPSBfX2xzeF92eG9yaV9iKHNyYzQsIDEyOCk7Ci0gIGh6X291dDAgPSBo
b3Jpel80dGFwX2ZpbHQoc3JjMCwgc3JjMCwgbWFzazAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9o
ejEpOwotICBoel9vdXQxID0gaG9yaXpfNHRhcF9maWx0KHNyYzEsIHNyYzEsIG1hc2swLCBtYXNr
MSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgaHpfb3V0MiA9IGhvcml6XzR0YXBfZmlsdChzcmMy
LCBzcmMyLCBtYXNrMCwgbWFzazEsIGZpbHRfaHowLCBmaWx0X2h6MSk7Ci0gIGh6X291dDMgPSBo
b3Jpel80dGFwX2ZpbHQoc3JjMywgc3JjMywgbWFzazAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9o
ejEpOwotICBoel9vdXQ0ID0gaG9yaXpfNHRhcF9maWx0KHNyYzQsIHNyYzQsIG1hc2swLCBtYXNr
MSwgZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZwYWNrZXZfYiwgaHpf
b3V0MSwgaHpfb3V0MCwgaHpfb3V0MywgaHpfb3V0Miwgb3V0MCwgb3V0MSk7Ci0gIERVUDJfQVJH
MihfX2xzeF92cGFja2V2X2IsIGh6X291dDIsIGh6X291dDEsIGh6X291dDQsIGh6X291dDMsIG91
dDMsIG91dDQpOwotCi0gIGZpbHQgPSBfX2xzeF92bGQoZmlsdGVyX3ZlcnQsIDApOwotICBEVVAy
X0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwgZmlsdCwgMCwgZmlsdCwgMSwgZmlsdF92dDAsIGZpbHRf
dnQxKTsKLSAgZmlsdF92dDIgPSBfX2xzeF92cmVwbHZlaV9oKGZpbHQsIDIpOwotCi0gIGZvciAo
bG9vcF9jbnQgPSAoaGVpZ2h0ID4+IDIpOyBsb29wX2NudC0tOykgewotICAgIERVUDRfQVJHMihf
X2xzeF92bGR4LCBzcmMsIDAsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlX3gyLCBz
cmMsCi0gICAgICAgICAgICAgIHNyY19zdHJpZGVfeDMsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgp
OwotICAgIHNyYyArPSBzcmNfc3RyaWRlX3g0OwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3Z4b3Jp
X2IsIHNyYzUsIDEyOCwgc3JjNiwgMTI4LCBzcmM3LCAxMjgsIHNyYzgsIDEyOCwgc3JjNSwKLSAg
ICAgICAgICAgICAgc3JjNiwgc3JjNywgc3JjOCk7Ci0gICAgaHpfb3V0NSA9IGhvcml6XzR0YXBf
ZmlsdChzcmM1LCBzcmM1LCBtYXNrMCwgbWFzazEsIGZpbHRfaHowLCBmaWx0X2h6MSk7Ci0gICAg
b3V0MiA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQ1LCBoel9vdXQ0KTsKLSAgICB0bXAwID0gZHBh
ZGRfaDMob3V0MCwgb3V0MSwgb3V0MiwgZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0Mik7Ci0K
LSAgICBoel9vdXQ2ID0gaG9yaXpfNHRhcF9maWx0KHNyYzYsIHNyYzYsIG1hc2swLCBtYXNrMSwg
ZmlsdF9oejAsIGZpbHRfaHoxKTsKLSAgICBvdXQ1ID0gX19sc3hfdnBhY2tldl9iKGh6X291dDYs
IGh6X291dDUpOwotICAgIHRtcDEgPSBkcGFkZF9oMyhvdXQzLCBvdXQ0LCBvdXQ1LCBmaWx0X3Z0
MCwgZmlsdF92dDEsIGZpbHRfdnQyKTsKLQotICAgIGh6X291dDcgPSBob3Jpel80dGFwX2ZpbHQo
c3JjNywgc3JjNywgbWFzazAsIG1hc2sxLCBmaWx0X2h6MCwgZmlsdF9oejEpOwotICAgIG91dDYg
PSBfX2xzeF92cGFja2V2X2IoaHpfb3V0NywgaHpfb3V0Nik7Ci0gICAgdG1wMiA9IGRwYWRkX2gz
KG91dDEsIG91dDIsIG91dDYsIGZpbHRfdnQwLCBmaWx0X3Z0MSwgZmlsdF92dDIpOwotCi0gICAg
aHpfb3V0OCA9IGhvcml6XzR0YXBfZmlsdChzcmM4LCBzcmM4LCBtYXNrMCwgbWFzazEsIGZpbHRf
aHowLCBmaWx0X2h6MSk7Ci0gICAgb3V0NyA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQ4LCBoel9v
dXQ3KTsKLSAgICB0bXAzID0gZHBhZGRfaDMob3V0NCwgb3V0NSwgb3V0NywgZmlsdF92dDAsIGZp
bHRfdnQxLCBmaWx0X3Z0Mik7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgdG1w
MSwgdG1wMCwgNywgdG1wMywgdG1wMiwgNywgdmVjMCwgdmVjMSk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3Z4b3JpX2IsIHZlYzAsIDEyOCwgdmVjMSwgMTI4LCB2ZWMwLCB2ZWMxKTsKLSAgICBfX2xz
eF92c3RlbG1fZCh2ZWMwLCBkc3QsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV9kKHZlYzAsIGRz
dCArIGRzdF9zdHJpZGUsIDAsIDEpOwotICAgIF9fbHN4X3ZzdGVsbV9kKHZlYzEsIGRzdCArIGRz
dF9zdHJpZGVfeDIsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV9kKHZlYzEsIGRzdCArIGRzdF9z
dHJpZGVfeDMsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlX3g0OwotICAgIGh6X291dDQg
PSBoel9vdXQ4OwotICAgIG91dDAgPSBvdXQyOwotICAgIG91dDEgPSBvdXQ2OwotICAgIG91dDMg
PSBvdXQ1OwotICAgIG91dDQgPSBvdXQ3OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9o
dl80aHRfNnZ0XzE2d19sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBpbnQzMl90IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKlJFU1RS
SUNUIGRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXJfdmVydCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHsKLSAgY29tbW9u
X2h2XzRodF82dnRfOHdfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0
ZXJfaG9yaXosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJfdmVydCwgaGVpZ2h0
KTsKLSAgY29tbW9uX2h2XzRodF82dnRfOHdfbHN4KHNyYyArIDgsIHNyY19zdHJpZGUsIGRzdCAr
IDgsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJfaG9yaXos
IGZpbHRlcl92ZXJ0LCBoZWlnaHQpOwotfQotCi10eXBlZGVmIHZvaWQgKCpQVnA4U2l4dGFwUHJl
ZGljdEZ1bmMxKSgKLSAgICB1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlk
ZSwgdWludDhfdCAqUkVTVFJJQ1QgZHN0LAotICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3Qg
aW50OF90ICpmaWx0ZXJfaG9yaXosIGNvbnN0IGludDhfdCAqZmlsdGVyX3ZlcnQsCi0gICAgaW50
MzJfdCBoZWlnaHQpOwotCi10eXBlZGVmIHZvaWQgKCpQVnA4U2l4dGFwUHJlZGljdEZ1bmMyKSh1
aW50OF90ICpSRVNUUklDVCBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90ICpSRVNUUklDVCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUsIGNvbnN0IGludDhfdCAqZmlsdGVyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpOwot
Ci12b2lkIHZwOF9zaXh0YXBfcHJlZGljdDR4NF9sc3godWludDhfdCAqUkVTVFJJQ1Qgc3JjLCBp
bnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJf
dCB4b2Zmc2V0LCBpbnQzMl90IHlvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCAqUkVTVFJJQ1QgZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUpIHsKLSAgY29uc3Qg
aW50OF90ICpoX2ZpbHRlciA9IHZwOF9zdWJwZWxfZmlsdGVyc19sc3hbeG9mZnNldCAtIDFdOwot
ICBjb25zdCBpbnQ4X3QgKnZfZmlsdGVyID0gdnA4X3N1YnBlbF9maWx0ZXJzX2xzeFt5b2Zmc2V0
IC0gMV07Ci0KLSAgc3RhdGljIFBWcDhTaXh0YXBQcmVkaWN0RnVuYzEgUHJlZGljdDR4NEZ1bmNz
MVs0XSA9IHsKLSAgICBjb21tb25faHZfNmh0XzZ2dF80d19sc3gsCi0gICAgY29tbW9uX2h2XzZo
dF80dnRfNHdfbHN4LAotICAgIGNvbW1vbl9odl80aHRfNnZ0XzR3X2xzeCwKLSAgICBjb21tb25f
aHZfNGh0XzR2dF80d19sc3gsCi0gIH07Ci0KLSAgc3RhdGljIFBWcDhTaXh0YXBQcmVkaWN0RnVu
YzIgUHJlZGljdDR4NEZ1bmNzMls0XSA9IHsgY29tbW9uX3Z0XzZ0XzR3X2xzeCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9uX3Z0
XzR0XzR3X2xzeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29tbW9uX2h6XzZ0XzR3X2xzeCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9uX2h6XzR0XzR3X2xzeCB9Owot
ICBpZiAoeW9mZnNldCA8IDggJiYgeG9mZnNldCA8IDgpIHsKLSAgICBpZiAoeW9mZnNldCkgewot
ICAgICAgaWYgKHhvZmZzZXQpIHsKLSAgICAgICAgc3dpdGNoICh4b2Zmc2V0ICYgMSkgewotICAg
ICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgIHN3aXRjaCAoeW9mZnNldCAmIDEpIHsKLSAgICAg
ICAgICAgICAgY2FzZSAwOgotICAgICAgICAgICAgICAgIFByZWRpY3Q0eDRGdW5jczFbMF0oc3Jj
LCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGhfZmlsdGVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdl9maWx0ZXIsIDQpOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICAgICAgUHJlZGljdDR4NEZ1bmNz
MVsxXShzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgaF9maWx0ZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X2ZpbHRlciArIDEsIDQpOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAg
ICAgICBjYXNlIDE6Ci0gICAgICAgICAgICBzd2l0Y2ggKHlvZmZzZXQgJiAxKSB7Ci0gICAgICAg
ICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgICAgICBQcmVkaWN0NHg0RnVuY3MxWzJdKHNyYywg
c3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaF9maWx0ZXIgKyAxLCB2X2ZpbHRlciwgNCk7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0KLSAgICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgIFByZWRpY3Q0eDRG
dW5jczFbM10oc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoX2ZpbHRlciArIDEsIHZfZmlsdGVyICsgMSwgNCk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgfSBlbHNlIHsKLSAgICAgICAgc3dpdGNoICh5b2Zmc2V0ICYgMSkg
ewotICAgICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgIFByZWRpY3Q0eDRGdW5jczJbMF0oc3Jj
LCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIHZfZmlsdGVyLCA0KTsKLSAgICAgICAgICAg
IGJyZWFrOwotCi0gICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgUHJlZGljdDR4NEZ1bmNz
MlsxXShzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgdl9maWx0ZXIgKyAxLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIHN3aXRjaCAoeG9mZnNldCkgewot
ICAgICAgICBjYXNlIDA6IHsKLSAgICAgICAgICBfX20xMjhpIHRwMDsKLQotICAgICAgICAgIHRw
MCA9IF9fbHN4X3ZsZHJlcGxfdyhzcmMsIDApOwotICAgICAgICAgIHNyYyArPSBzcmNfc3RyaWRl
OwotICAgICAgICAgIF9fbHN4X3ZzdGVsbV93KHRwMCwgZHN0LCAwLCAwKTsKLSAgICAgICAgICBk
c3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgICAgICB0cDAgPSBfX2xzeF92bGRyZXBsX3coc3JjLCAw
KTsKLSAgICAgICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICAgICAgICBfX2xzeF92c3RlbG1f
dyh0cDAsIGRzdCwgMCwgMCk7Ci0gICAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICAg
ICAgdHAwID0gX19sc3hfdmxkcmVwbF93KHNyYywgMCk7Ci0gICAgICAgICAgc3JjICs9IHNyY19z
dHJpZGU7Ci0gICAgICAgICAgX19sc3hfdnN0ZWxtX3codHAwLCBkc3QsIDAsIDApOwotICAgICAg
ICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgICAgIHRwMCA9IF9fbHN4X3ZsZHJlcGxfdyhz
cmMsIDApOwotICAgICAgICAgIF9fbHN4X3ZzdGVsbV93KHRwMCwgZHN0LCAwLCAwKTsKLQotICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgY2FzZSA0
OgotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgUHJlZGljdDR4NEZ1bmNzMlsyXShzcmMsIHNy
Y19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgaF9maWx0ZXIsIDQpOwotICAgICAgICAgIGJyZWFr
OwotICAgICAgfQotICAgICAgc3dpdGNoICh4b2Zmc2V0ICYgMSkgewotICAgICAgICBjYXNlIDE6
Ci0gICAgICAgICAgUHJlZGljdDR4NEZ1bmNzMlszXShzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0
X3N0cmlkZSwgaF9maWx0ZXIgKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCk7
Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19Ci0KLXZvaWQgdnA4X3Np
eHRhcF9wcmVkaWN0OHg4X2xzeCh1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHhvZmZzZXQsIGlu
dDMyX3QgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpS
RVNUUklDVCBkc3QsIGludDMyX3QgZHN0X3N0cmlkZSkgewotICBjb25zdCBpbnQ4X3QgKmhfZmls
dGVyID0gdnA4X3N1YnBlbF9maWx0ZXJzX2xzeFt4b2Zmc2V0IC0gMV07Ci0gIGNvbnN0IGludDhf
dCAqdl9maWx0ZXIgPSB2cDhfc3VicGVsX2ZpbHRlcnNfbHN4W3lvZmZzZXQgLSAxXTsKLQotICBz
dGF0aWMgUFZwOFNpeHRhcFByZWRpY3RGdW5jMSBQcmVkaWN0OHg4RnVuY3MxWzRdID0gewotICAg
IGNvbW1vbl9odl82aHRfNnZ0Xzh3X2xzeCwKLSAgICBjb21tb25faHZfNmh0XzR2dF84d19sc3gs
Ci0gICAgY29tbW9uX2h2XzRodF82dnRfOHdfbHN4LAotICAgIGNvbW1vbl9odl80aHRfNHZ0Xzh3
X2xzeCwKLSAgfTsKLQotICBzdGF0aWMgUFZwOFNpeHRhcFByZWRpY3RGdW5jMiBQcmVkaWN0OHg4
RnVuY3MyWzRdID0geyBjb21tb25fdnRfNnRfOHdfbHN4LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tb25fdnRfNHRfOHdfbHN4LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b21tb25faHpfNnRfOHdfbHN4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb21tb25faHpfNHRfOHdfbHN4IH07Ci0KLSAgaWYgKHlvZmZz
ZXQgPCA4ICYmIHhvZmZzZXQgPCA4KSB7Ci0gICAgaWYgKHlvZmZzZXQpIHsKLSAgICAgIGlmICh4
b2Zmc2V0KSB7Ci0gICAgICAgIHN3aXRjaCAoeG9mZnNldCAmIDEpIHsKLSAgICAgICAgICBjYXNl
IDA6Ci0gICAgICAgICAgICBzd2l0Y2ggKHlvZmZzZXQgJiAxKSB7Ci0gICAgICAgICAgICAgIGNh
c2UgMDoKLSAgICAgICAgICAgICAgICBQcmVkaWN0OHg4RnVuY3MxWzBdKHNyYywgc3JjX3N0cmlk
ZSwgZHN0LCBkc3Rfc3RyaWRlLCBoX2ZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZfZmlsdGVyLCA4KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAg
ICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICAgICAgUHJlZGljdDh4OEZ1bmNzMVsxXShzcmMs
IHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgaF9maWx0ZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2X2ZpbHRlciArIDEsIDgpOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICBjYXNl
IDE6Ci0gICAgICAgICAgICBzd2l0Y2ggKHlvZmZzZXQgJiAxKSB7Ci0gICAgICAgICAgICAgIGNh
c2UgMDoKLSAgICAgICAgICAgICAgICBQcmVkaWN0OHg4RnVuY3MxWzJdKHNyYywgc3JjX3N0cmlk
ZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aF9maWx0ZXIgKyAxLCB2X2ZpbHRlciwgOCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgIFByZWRpY3Q4eDhGdW5jczFbM10o
c3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoX2ZpbHRlciArIDEsIHZfZmlsdGVyICsgMSwgOCk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgICAgfSBlbHNlIHsKLSAgICAgICAgc3dpdGNoICh5b2Zmc2V0ICYgMSkgewotICAgICAg
ICAgIGNhc2UgMDoKLSAgICAgICAgICAgIFByZWRpY3Q4eDhGdW5jczJbMF0oc3JjLCBzcmNfc3Ry
aWRlLCBkc3QsIGRzdF9zdHJpZGUsIHZfZmlsdGVyLCA4KTsKLSAgICAgICAgICAgIGJyZWFrOwot
Ci0gICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgUHJlZGljdDh4OEZ1bmNzMlsxXShzcmMs
IHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgdl9maWx0ZXIgKyAxLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA4KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIHN3aXRjaCAoeG9mZnNldCAmIDEpIHsKLSAgICAg
ICAgY2FzZSAxOgotICAgICAgICAgIFByZWRpY3Q4eDhGdW5jczJbM10oc3JjLCBzcmNfc3RyaWRl
LCBkc3QsIGRzdF9zdHJpZGUsIGhfZmlsdGVyICsgMSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDgpOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgICAgc3dpdGNoICh4b2Zm
c2V0KSB7Ci0gICAgICAgIGNhc2UgMDogdnA4X2NvcHlfbWVtOHg4KHNyYywgc3JjX3N0cmlkZSwg
ZHN0LCBkc3Rfc3RyaWRlKTsgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgY2FzZSA0
OgotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgUHJlZGljdDh4OEZ1bmNzMlsyXShzcmMsIHNy
Y19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgaF9maWx0ZXIsIDgpOwotICAgICAgICAgIGJyZWFr
OwotICAgICAgfQotICAgIH0KLSAgfQotfQotCi12b2lkIHZwOF9zaXh0YXBfcHJlZGljdDE2eDE2
X2xzeCh1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgeG9mZnNldCwgaW50MzJfdCB5b2Zmc2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqUkVTVFJJQ1QgZHN0
LCBpbnQzMl90IGRzdF9zdHJpZGUpIHsKLSAgY29uc3QgaW50OF90ICpoX2ZpbHRlciA9IHZwOF9z
dWJwZWxfZmlsdGVyc19sc3hbeG9mZnNldCAtIDFdOwotICBjb25zdCBpbnQ4X3QgKnZfZmlsdGVy
ID0gdnA4X3N1YnBlbF9maWx0ZXJzX2xzeFt5b2Zmc2V0IC0gMV07Ci0KLSAgc3RhdGljIFBWcDhT
aXh0YXBQcmVkaWN0RnVuYzEgUHJlZGljdDE2eDE2RnVuY3MxWzRdID0gewotICAgIGNvbW1vbl9o
dl82aHRfNnZ0XzE2d19sc3gsCi0gICAgY29tbW9uX2h2XzZodF80dnRfMTZ3X2xzeCwKLSAgICBj
b21tb25faHZfNGh0XzZ2dF8xNndfbHN4LAotICAgIGNvbW1vbl9odl80aHRfNHZ0XzE2d19sc3gs
Ci0gIH07Ci0KLSAgc3RhdGljIFBWcDhTaXh0YXBQcmVkaWN0RnVuYzIgUHJlZGljdDE2eDE2RnVu
Y3MyWzRdID0gewotICAgIGNvbW1vbl92dF82dF8xNndfbHN4LCBjb21tb25fdnRfNHRfMTZ3X2xz
eCwgY29tbW9uX2h6XzZ0XzE2d19sc3gsCi0gICAgY29tbW9uX2h6XzR0XzE2d19sc3gKLSAgfTsK
LQotICBpZiAoeW9mZnNldCA8IDggJiYgeG9mZnNldCA8IDgpIHsKLSAgICBpZiAoeW9mZnNldCkg
ewotICAgICAgaWYgKHhvZmZzZXQpIHsKLSAgICAgICAgc3dpdGNoICh4b2Zmc2V0ICYgMSkgewot
ICAgICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgIHN3aXRjaCAoeW9mZnNldCAmIDEpIHsKLSAg
ICAgICAgICAgICAgY2FzZSAwOgotICAgICAgICAgICAgICAgIFByZWRpY3QxNngxNkZ1bmNzMVsw
XShzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaF9maWx0ZXIsIHZfZmlsdGVyLCAxNik7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgIFByZWRp
Y3QxNngxNkZ1bmNzMVsxXShzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaF9maWx0ZXIsIHZfZmlsdGVyICsgMSwg
MTYpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
YnJlYWs7Ci0KLSAgICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICBzd2l0Y2ggKHlvZmZzZXQg
JiAxKSB7Ci0gICAgICAgICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgICAgICBQcmVkaWN0MTZ4
MTZGdW5jczFbMl0oc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfZmlsdGVyICsgMSwgdl9maWx0ZXIsIDE2KTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICBjYXNlIDE6Ci0gICAgICAg
ICAgICAgICAgUHJlZGljdDE2eDE2RnVuY3MxWzNdKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoX2ZpbHRlciAr
IDEsIHZfZmlsdGVyICsgMSwgMTYpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgIHN3aXRjaCAoeW9mZnNldCAmIDEpIHsKLSAgICAgICAgICBjYXNlIDA6Ci0gICAgICAgICAg
ICBQcmVkaWN0MTZ4MTZGdW5jczJbMF0oc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUs
IHZfZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2KTsKLSAgICAg
ICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgUHJlZGljdDE2
eDE2RnVuY3MyWzFdKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZfZmlsdGVyICsgMSwgMTYpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgc3dpdGNoICh4
b2Zmc2V0ICYgMSkgewotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgUHJlZGljdDE2eDE2RnVu
Y3MyWzNdKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBoX2ZpbHRlciArIDEsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2KTsKLSAgICAgICAgICBicmVhazsKLSAg
ICAgIH0KLSAgICAgIHN3aXRjaCAoeG9mZnNldCkgewotICAgICAgICBjYXNlIDA6IHZwOF9jb3B5
X21lbTE2eDE2KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlKTsgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgMjoKLSAgICAgICAgY2FzZSA0OgotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAg
UHJlZGljdDE2eDE2RnVuY3MyWzJdKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBo
X2ZpbHRlciwgMTYpOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotICAgIH0KLSAgfQotfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL21pcHMvZHNwcjIvZmlsdGVyX2RzcHIy
LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vbWlwcy9kc3ByMi9maWx0ZXJfZHNwcjIuYwppbmRl
eCBiOWRhNTIwODRkNGUuLmU0NjgyN2IwZTQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
Y29tbW9uL21pcHMvZHNwcjIvZmlsdGVyX2RzcHIyLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29t
bW9uL21pcHMvZHNwcjIvZmlsdGVyX2RzcHIyLmMKQEAgLTgxNiw4ICs4MTYsOCBAQCB2b2lkIHZw
OF9maWx0ZXJfYmxvY2syZF9maXJzdF9wYXNzMTZfMCh1bnNpZ25lZCBjaGFyICpSRVNUUklDVCBz
cmNfcHRyLAogCiAgICAgICAgIDogW1RlbXAxXSAiPSZyIihUZW1wMSksIFtUZW1wMl0gIj0mciIo
VGVtcDIpLCBbVGVtcDNdICI9JnIiKFRlbXAzKSwKICAgICAgICAgICBbVGVtcDRdICI9JnIiKFRl
bXA0KSwgW3NyY19wdHJdICIrciIoc3JjX3B0cikKLSAgICAgICAgOiBbc3JjX3BpeGVsc19wZXJf
bGluZV0gInIiKHNyY19waXhlbHNfcGVyX2xpbmUpLCBbb3V0cHV0X3B0cl0gInIiKAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
dXRwdXRfcHRyKSk7CisgICAgICAgIDogW3NyY19waXhlbHNfcGVyX2xpbmVdICJyIihzcmNfcGl4
ZWxzX3Blcl9saW5lKSwKKyAgICAgICAgICBbb3V0cHV0X3B0cl0gInIiKG91dHB1dF9wdHIpKTsK
IAogICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAogICAgICAgICAidWx3ICAgICVbVGVtcDFdLCAg
IDAoJVtzcmNfcHRyXSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cdCIKQEAgLTgz
Miw4ICs4MzIsOCBAQCB2b2lkIHZwOF9maWx0ZXJfYmxvY2syZF9maXJzdF9wYXNzMTZfMCh1bnNp
Z25lZCBjaGFyICpSRVNUUklDVCBzcmNfcHRyLAogCiAgICAgICAgIDogW1RlbXAxXSAiPSZyIihU
ZW1wMSksIFtUZW1wMl0gIj0mciIoVGVtcDIpLCBbVGVtcDNdICI9JnIiKFRlbXAzKSwKICAgICAg
ICAgICBbVGVtcDRdICI9JnIiKFRlbXA0KSwgW3NyY19wdHJdICIrciIoc3JjX3B0cikKLSAgICAg
ICAgOiBbc3JjX3BpeGVsc19wZXJfbGluZV0gInIiKHNyY19waXhlbHNfcGVyX2xpbmUpLCBbb3V0
cHV0X3B0cl0gInIiKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvdXRwdXRfcHRyKSk7CisgICAgICAgIDogW3NyY19waXhlbHNf
cGVyX2xpbmVdICJyIihzcmNfcGl4ZWxzX3Blcl9saW5lKSwKKyAgICAgICAgICBbb3V0cHV0X3B0
cl0gInIiKG91dHB1dF9wdHIpKTsKIAogICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAogICAgICAg
ICAidWx3ICAgICVbVGVtcDFdLCAgIDAoJVtzcmNfcHRyXSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG5cdCIKQEAgLTg0OCw4ICs4NDgsOCBAQCB2b2lkIHZwOF9maWx0ZXJfYmxvY2sy
ZF9maXJzdF9wYXNzMTZfMCh1bnNpZ25lZCBjaGFyICpSRVNUUklDVCBzcmNfcHRyLAogCiAgICAg
ICAgIDogW1RlbXAxXSAiPSZyIihUZW1wMSksIFtUZW1wMl0gIj0mciIoVGVtcDIpLCBbVGVtcDNd
ICI9JnIiKFRlbXAzKSwKICAgICAgICAgICBbVGVtcDRdICI9JnIiKFRlbXA0KSwgW3NyY19wdHJd
ICIrciIoc3JjX3B0cikKLSAgICAgICAgOiBbc3JjX3BpeGVsc19wZXJfbGluZV0gInIiKHNyY19w
aXhlbHNfcGVyX2xpbmUpLCBbb3V0cHV0X3B0cl0gInIiKAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfcHRyKSk7Cisg
ICAgICAgIDogW3NyY19waXhlbHNfcGVyX2xpbmVdICJyIihzcmNfcGl4ZWxzX3Blcl9saW5lKSwK
KyAgICAgICAgICBbb3V0cHV0X3B0cl0gInIiKG91dHB1dF9wdHIpKTsKIAogICAgIG91dHB1dF9w
dHIgKz0gNDg7CiAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9taXBzL21z
YS9zaXh0YXBfZmlsdGVyX21zYS5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL21pcHMvbXNhL3Np
eHRhcF9maWx0ZXJfbXNhLmMKaW5kZXggM2ExYmI3Y2Q1N2RjLi5iMGFmZmNmZjAxMzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9taXBzL21zYS9zaXh0YXBfZmlsdGVyX21zYS5j
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9taXBzL21zYS9zaXh0YXBfZmlsdGVyX21zYS5j
CkBAIC0zNSwxMzQgKzM1LDEwMSBAQCBzdGF0aWMgY29uc3QgdWludDhfdCB2cDhfbWNfZmlsdF9t
YXNrX2FyclsxNiAqIDNdID0gewogI2RlZmluZSBIT1JJWl82VEFQX0ZJTFQoc3JjMCwgc3JjMSwg
bWFzazAsIG1hc2sxLCBtYXNrMiwgZmlsdF9oMCwgZmlsdF9oMSwgXAogICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsdF9oMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHYxNmk4IF82dGFwX3ZlYzBfbSwgXzZ0YXBf
dmVjMV9tLCBfNnRhcF92ZWMyX207ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHY4aTE2
IF82dGFwX291dF9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIHYxNmk4IHZlYzBfbSwgdmVjMV9tLCB2ZWMyX207ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHY4aTE2IGh6X291dF9tOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIFZTSEZfQjNfU0Ioc3JjMCwgc3JjMSwgc3JjMCwgc3JjMSwg
c3JjMCwgc3JjMSwgbWFzazAsIG1hc2sxLCBtYXNrMiwgICAgXAotICAgICAgICAgICAgICAgXzZ0
YXBfdmVjMF9tLCBfNnRhcF92ZWMxX20sIF82dGFwX3ZlYzJfbSk7ICAgICAgICAgICAgICAgICAg
XAotICAgIF82dGFwX291dF9tID0gRFBBRERfU0gzX1NIKF82dGFwX3ZlYzBfbSwgXzZ0YXBfdmVj
MV9tLCBfNnRhcF92ZWMyX20sICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp
bHRfaDAsIGZpbHRfaDEsIGZpbHRfaDIpOyAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
ICAgdmVjMF9tLCB2ZWMxX20sIHZlYzJfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGh6X291dF9tID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBEUEFERF9TSDNfU0godmVjMF9t
LCB2ZWMxX20sIHZlYzJfbSwgZmlsdF9oMCwgZmlsdF9oMSwgZmlsdF9oMik7ICAgXAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF82dGFwX291dF9tID0gX19tc2Ffc3JhcmlfaChfNnRhcF9vdXRf
bSwgVlA4X0ZJTFRFUl9TSElGVCk7ICAgICAgICAgICAgXAotICAgIF82dGFwX291dF9tID0gX19t
c2Ffc2F0X3NfaChfNnRhcF9vdXRfbSwgNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGh6X291dF9tID0gX19tc2Ffc3JhcmlfaChoel9vdXRfbSwgVlA4X0ZJTFRFUl9TSElGVCk7
ICAgICAgICAgICAgICAgICAgXAorICAgIGh6X291dF9tID0gX19tc2Ffc2F0X3NfaChoel9vdXRf
bSwgNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF82dGFwX291dF9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGh6X291dF9tOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB9KQogCiAj
ZGVmaW5lIEhPUklaXzZUQVBfNFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMs
IG1hc2swLCBtYXNrMSwgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h
c2syLCBmaWx0MCwgZmlsdDEsIGZpbHQyLCBvdXQwLCBvdXQxKSBcCiAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgdjE2aTggXzZ0YXBfNHdpZF92ZWMwX20sIF82dGFwXzR3aWRfdmVjMV9tLCBfNnRh
cF80d2lkX3ZlYzJfbSwgICAgICAgICBcCi0gICAgICAgIF82dGFwXzR3aWRfdmVjM19tLCBfNnRh
cF80d2lkX3ZlYzRfbSwgXzZ0YXBfNHdpZF92ZWM1X207ICAgICAgICAgICBcCisgICAgdjE2aTgg
dmVjMF9tLCB2ZWMxX20sIHZlYzJfbSwgdmVjM19tLCB2ZWM0X20sIHZlYzVfbTsgICAgICAgICAg
ICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVlNIRl9CMl9TQihzcmMwLCBzcmMx
LCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazAsIF82dGFwXzR3aWRfdmVjMF9tLCAgICBcCi0gICAg
ICAgICAgICAgICBfNnRhcF80d2lkX3ZlYzFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgRE9UUF9TQjJfU0goXzZ0YXBfNHdpZF92ZWMwX20sIF82dGFw
XzR3aWRfdmVjMV9tLCBmaWx0MCwgZmlsdDAsIG91dDAsICBcCi0gICAgICAgICAgICAgICAgb3V0
MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgVlNIRl9CMl9TQihzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMSwgbWFzazEsIF82
dGFwXzR3aWRfdmVjMl9tLCAgICBcCi0gICAgICAgICAgICAgICBfNnRhcF80d2lkX3ZlYzNfbSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFBBRERfU0Iy
X1NIKF82dGFwXzR3aWRfdmVjMl9tLCBfNnRhcF80d2lkX3ZlYzNfbSwgZmlsdDEsIGZpbHQxLCBv
dXQwLCBcCi0gICAgICAgICAgICAgICAgIG91dDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVlNIRl9CMl9TQihzcmMwLCBzcmMxLCBz
cmMyLCBzcmMzLCBtYXNrMiwgbWFzazIsIF82dGFwXzR3aWRfdmVjNF9tLCAgICBcCi0gICAgICAg
ICAgICAgICBfNnRhcF80d2lkX3ZlYzVfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRFBBRERfU0IyX1NIKF82dGFwXzR3aWRfdmVjNF9tLCBfNnRhcF80
d2lkX3ZlYzVfbSwgZmlsdDIsIGZpbHQyLCBvdXQwLCBcCi0gICAgICAgICAgICAgICAgIG91dDEp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgVlNIRl9CMl9TQihzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazAsIHZlYzBf
bSwgdmVjMV9tKTsgICAgICBcCisgICAgRE9UUF9TQjJfU0godmVjMF9tLCB2ZWMxX20sIGZpbHQw
LCBmaWx0MCwgb3V0MCwgb3V0MSk7ICAgICAgICAgICAgICAgICBcCisgICAgVlNIRl9CMl9TQihz
cmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMSwgbWFzazEsIHZlYzJfbSwgdmVjM19tKTsgICAg
ICBcCisgICAgRFBBRERfU0IyX1NIKHZlYzJfbSwgdmVjM19tLCBmaWx0MSwgZmlsdDEsIG91dDAs
IG91dDEpOyAgICAgICAgICAgICAgICBcCisgICAgVlNIRl9CMl9TQihzcmMwLCBzcmMxLCBzcmMy
LCBzcmMzLCBtYXNrMiwgbWFzazIsIHZlYzRfbSwgdmVjNV9tKTsgICAgICBcCisgICAgRFBBRERf
U0IyX1NIKHZlYzRfbSwgdmVjNV9tLCBmaWx0MiwgZmlsdDIsIG91dDAsIG91dDEpOyAgICAgICAg
ICAgICAgICBcCiAgIH0KIAotI2RlZmluZSBIT1JJWl82VEFQXzhXSURfNFZFQ1NfRklMVChzcmMw
LCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazEsICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWFzazIsIGZpbHQwLCBmaWx0MSwgZmlsdDIsIG91dDAsIG91dDEs
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dDIsIG91dDMpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2MTZp
OCBfNnRhcF84d2lkX3ZlYzBfbSwgXzZ0YXBfOHdpZF92ZWMxX20sIF82dGFwXzh3aWRfdmVjMl9t
LCAgICAgICAgICBcCi0gICAgICAgIF82dGFwXzh3aWRfdmVjM19tLCBfNnRhcF84d2lkX3ZlYzRf
bSwgXzZ0YXBfOHdpZF92ZWM1X20sICAgICAgICAgICAgXAotICAgICAgICBfNnRhcF84d2lkX3Zl
YzZfbSwgXzZ0YXBfOHdpZF92ZWM3X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgVlNIRl9CMl9TQihzcmMwLCBzcmMwLCBzcmMxLCBz
cmMxLCBtYXNrMCwgbWFzazAsIF82dGFwXzh3aWRfdmVjMF9tLCAgICAgXAotICAgICAgICAgICAg
ICAgXzZ0YXBfOHdpZF92ZWMxX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBWU0hGX0IyX1NCKHNyYzIsIHNyYzIsIHNyYzMsIHNyYzMsIG1hc2swLCBt
YXNrMCwgXzZ0YXBfOHdpZF92ZWMyX20sICAgICBcCi0gICAgICAgICAgICAgICBfNnRhcF84d2lk
X3ZlYzNfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IERPVFBfU0I0X1NIKF82dGFwXzh3aWRfdmVjMF9tLCBfNnRhcF84d2lkX3ZlYzFfbSwgXzZ0YXBf
OHdpZF92ZWMyX20sICAgIFwKLSAgICAgICAgICAgICAgICBfNnRhcF84d2lkX3ZlYzNfbSwgZmls
dDAsIGZpbHQwLCBmaWx0MCwgZmlsdDAsIG91dDAsIG91dDEsICBcCi0gICAgICAgICAgICAgICAg
b3V0Miwgb3V0Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIFZTSEZfQjJfU0Ioc3JjMCwgc3JjMCwgc3JjMSwgc3JjMSwgbWFzazEsIG1hc2sx
LCBfNnRhcF84d2lkX3ZlYzBfbSwgICAgIFwKLSAgICAgICAgICAgICAgIF82dGFwXzh3aWRfdmVj
MV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVlNI
Rl9CMl9TQihzcmMyLCBzcmMyLCBzcmMzLCBzcmMzLCBtYXNrMSwgbWFzazEsIF82dGFwXzh3aWRf
dmVjMl9tLCAgICAgXAotICAgICAgICAgICAgICAgXzZ0YXBfOHdpZF92ZWMzX20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBWU0hGX0IyX1NCKHNyYzAs
IHNyYzAsIHNyYzEsIHNyYzEsIG1hc2syLCBtYXNrMiwgXzZ0YXBfOHdpZF92ZWM0X20sICAgICBc
Ci0gICAgICAgICAgICAgICBfNnRhcF84d2lkX3ZlYzVfbSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIFZTSEZfQjJfU0Ioc3JjMiwgc3JjMiwgc3JjMywg
c3JjMywgbWFzazIsIG1hc2syLCBfNnRhcF84d2lkX3ZlYzZfbSwgICAgIFwKLSAgICAgICAgICAg
ICAgIF82dGFwXzh3aWRfdmVjN19tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgRFBBRERfU0I0X1NIKF82dGFwXzh3aWRfdmVjMF9tLCBfNnRhcF84d2lk
X3ZlYzFfbSwgXzZ0YXBfOHdpZF92ZWMyX20sICAgXAotICAgICAgICAgICAgICAgICBfNnRhcF84
d2lkX3ZlYzNfbSwgZmlsdDEsIGZpbHQxLCBmaWx0MSwgZmlsdDEsIG91dDAsIG91dDEsIFwKLSAg
ICAgICAgICAgICAgICAgb3V0Miwgb3V0Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgRFBBRERfU0I0X1NIKF82dGFwXzh3aWRfdmVjNF9tLCBf
NnRhcF84d2lkX3ZlYzVfbSwgXzZ0YXBfOHdpZF92ZWM2X20sICAgXAotICAgICAgICAgICAgICAg
ICBfNnRhcF84d2lkX3ZlYzdfbSwgZmlsdDIsIGZpbHQyLCBmaWx0MiwgZmlsdDIsIG91dDAsIG91
dDEsIFwKLSAgICAgICAgICAgICAgICAgb3V0Miwgb3V0Myk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIEhPUklaXzZUQVBfOFdJRF80VkVD
U19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzazIsIGZpbHQwLCBmaWx0MSwgZmlsdDIs
IG91dDAsIG91dDEsICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQy
LCBvdXQzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICB2MTZpOCB2ZWMwX20sIHZlYzFfbSwgdmVjMl9tLCB2ZWMzX20sIHZlYzRfbSwg
dmVjNV9tLCB2ZWM2X20sIHZlYzdfbTsgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
VlNIRl9CMl9TQihzcmMwLCBzcmMwLCBzcmMxLCBzcmMxLCBtYXNrMCwgbWFzazAsIHZlYzBfbSwg
dmVjMV9tKTsgICAgICAgIFwKKyAgICBWU0hGX0IyX1NCKHNyYzIsIHNyYzIsIHNyYzMsIHNyYzMs
IG1hc2swLCBtYXNrMCwgdmVjMl9tLCB2ZWMzX20pOyAgICAgICAgXAorICAgIERPVFBfU0I0X1NI
KHZlYzBfbSwgdmVjMV9tLCB2ZWMyX20sIHZlYzNfbSwgZmlsdDAsIGZpbHQwLCBmaWx0MCwgZmls
dDAsICBcCisgICAgICAgICAgICAgICAgb3V0MCwgb3V0MSwgb3V0Miwgb3V0Myk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBWU0hGX0IyX1NCKHNyYzAsIHNyYzAs
IHNyYzEsIHNyYzEsIG1hc2sxLCBtYXNrMSwgdmVjMF9tLCB2ZWMxX20pOyAgICAgICAgXAorICAg
IFZTSEZfQjJfU0Ioc3JjMiwgc3JjMiwgc3JjMywgc3JjMywgbWFzazEsIG1hc2sxLCB2ZWMyX20s
IHZlYzNfbSk7ICAgICAgICBcCisgICAgVlNIRl9CMl9TQihzcmMwLCBzcmMwLCBzcmMxLCBzcmMx
LCBtYXNrMiwgbWFzazIsIHZlYzRfbSwgdmVjNV9tKTsgICAgICAgIFwKKyAgICBWU0hGX0IyX1NC
KHNyYzIsIHNyYzIsIHNyYzMsIHNyYzMsIG1hc2syLCBtYXNrMiwgdmVjNl9tLCB2ZWM3X20pOyAg
ICAgICAgXAorICAgIERQQUREX1NCNF9TSCh2ZWMwX20sIHZlYzFfbSwgdmVjMl9tLCB2ZWMzX20s
IGZpbHQxLCBmaWx0MSwgZmlsdDEsIGZpbHQxLCBcCisgICAgICAgICAgICAgICAgIG91dDAsIG91
dDEsIG91dDIsIG91dDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBEUEFERF9TQjRfU0godmVjNF9tLCB2ZWM1X20sIHZlYzZfbSwgdmVjN19tLCBmaWx0MiwgZmls
dDIsIGZpbHQyLCBmaWx0MiwgXAorICAgICAgICAgICAgICAgICBvdXQwLCBvdXQxLCBvdXQyLCBv
dXQzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0KIAotI2RlZmlu
ZSBGSUxUXzRUQVBfRFBBRERfU19IKHZlYzAsIHZlYzEsIGZpbHQwLCBmaWx0MSkgICAgICAgICAg
ICAgICAgIFwKKyNkZWZpbmUgRklMVF80VEFQX0RQQUREX1NfSCh2ZWMwLCB2ZWMxLCBmaWx0MCwg
ZmlsdDEpICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIHY4aTE2IHRtcDA7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdG1wMCA9IF9fbXNhX2Rv
dHBfc19oKCh2MTZpOCl2ZWMwLCAodjE2aTgpZmlsdDApOyAgICAgICAgXAorICAgIHRtcDAgPSBf
X21zYV9kcGFkZF9zX2godG1wMCwgKHYxNmk4KXZlYzEsICh2MTZpOClmaWx0MSk7IFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgdG1wMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICB9KQorCisjZGVmaW5lIEhPUklaXzRUQVBfRklMVChzcmMwLCBzcmMxLCBtYXNr
MCwgbWFzazEsIGZpbHRfaDAsIGZpbHRfaDEpICAgXAogICAoeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2OGkx
NiBfNHRhcF9kcGFkZF90bXAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgdjE2aTggdmVjMF9tLCB2ZWMxX207ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIHY4aTE2IGh6X291dF9tOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgXzR0YXBfZHBhZGRfdG1wMCA9IF9fbXNhX2RvdHBfc19oKCh2MTZpOCl2ZWMwLCAodjE2aTgp
ZmlsdDApOyAgICAgXAotICAgIF80dGFwX2RwYWRkX3RtcDAgPSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgX19tc2FfZHBhZGRfc19oKF80
dGFwX2RwYWRkX3RtcDAsICh2MTZpOCl2ZWMxLCAodjE2aTgpZmlsdDEpOyBcCisgICAgVlNIRl9C
Ml9TQihzcmMwLCBzcmMxLCBzcmMwLCBzcmMxLCBtYXNrMCwgbWFzazEsIHZlYzBfbSwgdmVjMV9t
KTsgXAorICAgIGh6X291dF9tID0gRklMVF80VEFQX0RQQUREX1NfSCh2ZWMwX20sIHZlYzFfbSwg
ZmlsdF9oMCwgZmlsdF9oMSk7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgXzR0YXBfZHBhZGRfdG1w
MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9
KQotCi0jZGVmaW5lIEhPUklaXzRUQVBfRklMVChzcmMwLCBzcmMxLCBtYXNrMCwgbWFzazEsIGZp
bHRfaDAsIGZpbHRfaDEpICAgICAgICBcCi0gICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdjE2aTgg
XzR0YXBfdmVjMF9tLCBfNHRhcF92ZWMxX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgdjhpMTYgXzR0YXBfb3V0X207ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
VlNIRl9CMl9TQihzcmMwLCBzcmMxLCBzcmMwLCBzcmMxLCBtYXNrMCwgbWFzazEsIF80dGFwX3Zl
YzBfbSwgICAgICAgICBcCi0gICAgICAgICAgICAgICBfNHRhcF92ZWMxX20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgXzR0YXBfb3V0X20gPSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIEZJTFRfNFRBUF9EUEFERF9TX0goXzR0YXBfdmVjMF9tLCBfNHRhcF92ZWMxX20s
IGZpbHRfaDAsIGZpbHRfaDEpOyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgXzR0YXBfb3V0
X20gPSBfX21zYV9zcmFyaV9oKF80dGFwX291dF9tLCBWUDhfRklMVEVSX1NISUZUKTsgICAgICAg
ICAgICBcCi0gICAgXzR0YXBfb3V0X20gPSBfX21zYV9zYXRfc19oKF80dGFwX291dF9tLCA3KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgXzR0
YXBfb3V0X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgaHpfb3V0X20gPSBfX21zYV9zcmFyaV9oKGh6X291dF9tLCBWUDhf
RklMVEVSX1NISUZUKTsgICAgICAgICAgICAgXAorICAgIGh6X291dF9tID0gX19tc2Ffc2F0X3Nf
aChoel9vdXRfbSwgNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgaHpfb3V0X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICB9KQogCi0jZGVmaW5lIEhPUklaXzRUQVBfNFdJRF80VkVD
U19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHQwLCBmaWx0MSwgb3V0MCwgb3V0MSkgICAg
ICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdjE2aTggXzR0YXBfNHdpZF92
ZWMwX20sIF80dGFwXzR3aWRfdmVjMV9tLCBfNHRhcF80d2lkX3ZlYzJfbSwgICAgICAgICBcCi0g
ICAgICAgIF80dGFwXzR3aWRfdmVjM19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVlNIRl9CMl9TQihz
cmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazAsIF80dGFwXzR3aWRfdmVjMF9tLCAg
ICBcCi0gICAgICAgICAgICAgICBfNHRhcF80d2lkX3ZlYzFfbSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRE9UUF9TQjJfU0goXzR0YXBfNHdpZF92ZWMw
X20sIF80dGFwXzR3aWRfdmVjMV9tLCBmaWx0MCwgZmlsdDAsIG91dDAsICBcCi0gICAgICAgICAg
ICAgICAgb3V0MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgVlNIRl9CMl9TQihzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMSwg
bWFzazEsIF80dGFwXzR3aWRfdmVjMl9tLCAgICBcCi0gICAgICAgICAgICAgICBfNHRhcF80d2lk
X3ZlYzNfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
RFBBRERfU0IyX1NIKF80dGFwXzR3aWRfdmVjMl9tLCBfNHRhcF80d2lkX3ZlYzNfbSwgZmlsdDEs
IGZpbHQxLCBvdXQwLCBcCi0gICAgICAgICAgICAgICAgIG91dDEpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIEhPUklaXzRUQVBf
NFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0MCwgZmlsdDEsIG91dDAsIG91
dDEpICAgICAgICAgICAgIFwKKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdjE2aTggdmVjMF9tLCB2
ZWMxX20sIHZlYzJfbSwgdmVjM19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBWU0hGX0IyX1NCKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMs
IG1hc2swLCBtYXNrMCwgdmVjMF9tLCB2ZWMxX20pOyAgICBcCisgICAgRE9UUF9TQjJfU0godmVj
MF9tLCB2ZWMxX20sIGZpbHQwLCBmaWx0MCwgb3V0MCwgb3V0MSk7ICAgICAgICAgICAgICAgXAor
ICAgIFZTSEZfQjJfU0Ioc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgbWFzazEsIG1hc2sxLCB2ZWMy
X20sIHZlYzNfbSk7ICAgIFwKKyAgICBEUEFERF9TQjJfU0godmVjMl9tLCB2ZWMzX20sIGZpbHQx
LCBmaWx0MSwgb3V0MCwgb3V0MSk7ICAgICAgICAgICAgICBcCiAgIH0KIAotI2RlZmluZSBIT1JJ
Wl80VEFQXzhXSURfNFZFQ1NfRklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFz
azEsICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdDAsIGZpbHQx
LCBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzKSAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHYxNmk4IF80dGFwXzh3aWRfdmVjMF9tLCBfNHRhcF84d2lkX3ZlYzFfbSwgXzR0YXBfOHdpZF92
ZWMyX20sICAgICAgICAgIFwKLSAgICAgICAgXzR0YXBfOHdpZF92ZWMzX207ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIFZTSEZfQjJfU0Ioc3JjMCwgc3JjMCwgc3JjMSwgc3JjMSwgbWFzazAsIG1hc2sw
LCBfNHRhcF84d2lkX3ZlYzBfbSwgICAgIFwKLSAgICAgICAgICAgICAgIF80dGFwXzh3aWRfdmVj
MV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVlNI
Rl9CMl9TQihzcmMyLCBzcmMyLCBzcmMzLCBzcmMzLCBtYXNrMCwgbWFzazAsIF80dGFwXzh3aWRf
dmVjMl9tLCAgICAgXAotICAgICAgICAgICAgICAgXzR0YXBfOHdpZF92ZWMzX20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBET1RQX1NCNF9TSChfNHRh
cF84d2lkX3ZlYzBfbSwgXzR0YXBfOHdpZF92ZWMxX20sIF80dGFwXzh3aWRfdmVjMl9tLCAgICBc
Ci0gICAgICAgICAgICAgICAgXzR0YXBfOHdpZF92ZWMzX20sIGZpbHQwLCBmaWx0MCwgZmlsdDAs
IGZpbHQwLCBvdXQwLCBvdXQxLCAgXAotICAgICAgICAgICAgICAgIG91dDIsIG91dDMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBWU0hGX0Iy
X1NCKHNyYzAsIHNyYzAsIHNyYzEsIHNyYzEsIG1hc2sxLCBtYXNrMSwgXzR0YXBfOHdpZF92ZWMw
X20sICAgICBcCi0gICAgICAgICAgICAgICBfNHRhcF84d2lkX3ZlYzFfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFZTSEZfQjJfU0Ioc3JjMiwgc3Jj
Miwgc3JjMywgc3JjMywgbWFzazEsIG1hc2sxLCBfNHRhcF84d2lkX3ZlYzJfbSwgICAgIFwKLSAg
ICAgICAgICAgICAgIF80dGFwXzh3aWRfdmVjM19tKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgRFBBRERfU0I0X1NIKF80dGFwXzh3aWRfdmVjMF9tLCBf
NHRhcF84d2lkX3ZlYzFfbSwgXzR0YXBfOHdpZF92ZWMyX20sICAgXAotICAgICAgICAgICAgICAg
ICBfNHRhcF84d2lkX3ZlYzNfbSwgZmlsdDEsIGZpbHQxLCBmaWx0MSwgZmlsdDEsIG91dDAsIG91
dDEsIFwKLSAgICAgICAgICAgICAgICAgb3V0Miwgb3V0Myk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIEhPUklaXzRUQVBfOFdJRF80VkVD
U19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdDAsIGZpbHQxLCBvdXQwLCBvdXQxLCBv
dXQyLCBvdXQzKSAgICAgXAorICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdjE2aTggdmVjMF9t
LCB2ZWMxX20sIHZlYzJfbSwgdmVjM19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFZTSEZfQjJfU0Ioc3JjMCwgc3JjMCwg
c3JjMSwgc3JjMSwgbWFzazAsIG1hc2swLCB2ZWMwX20sIHZlYzFfbSk7ICAgICAgICBcCisgICAg
VlNIRl9CMl9TQihzcmMyLCBzcmMyLCBzcmMzLCBzcmMzLCBtYXNrMCwgbWFzazAsIHZlYzJfbSwg
dmVjM19tKTsgICAgICAgIFwKKyAgICBET1RQX1NCNF9TSCh2ZWMwX20sIHZlYzFfbSwgdmVjMl9t
LCB2ZWMzX20sIGZpbHQwLCBmaWx0MCwgZmlsdDAsIGZpbHQwLCAgXAorICAgICAgICAgICAgICAg
IG91dDAsIG91dDEsIG91dDIsIG91dDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgVlNIRl9CMl9TQihzcmMwLCBzcmMwLCBzcmMxLCBzcmMxLCBtYXNrMSwgbWFz
azEsIHZlYzBfbSwgdmVjMV9tKTsgICAgICAgIFwKKyAgICBWU0hGX0IyX1NCKHNyYzIsIHNyYzIs
IHNyYzMsIHNyYzMsIG1hc2sxLCBtYXNrMSwgdmVjMl9tLCB2ZWMzX20pOyAgICAgICAgXAorICAg
IERQQUREX1NCNF9TSCh2ZWMwX20sIHZlYzFfbSwgdmVjMl9tLCB2ZWMzX20sIGZpbHQxLCBmaWx0
MSwgZmlsdDEsIGZpbHQxLCBcCisgICAgICAgICAgICAgICAgIG91dDAsIG91dDEsIG91dDIsIG91
dDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfQogCiBzdGF0aWMg
dm9pZCBjb21tb25faHpfNnRfNHg0X21zYSh1aW50OF90ICpSRVNUUklDVCBzcmMsIGludDMyX3Qg
c3JjX3N0cmlkZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9taXBzL21zYS92
cDhfbWFjcm9zX21zYS5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL21pcHMvbXNhL3ZwOF9tYWNy
b3NfbXNhLmgKaW5kZXggY2M4NWI5YTFmNzkxLi5kZGM4ODFhN2ZjY2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2NvbW1vbi9taXBzL21zYS92cDhfbWFjcm9zX21zYS5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L2NvbW1vbi9taXBzL21zYS92cDhfbWFjcm9zX21zYS5oCkBAIC00MCwxNjAgKzQw
LDE1OCBAQAogI2RlZmluZSBTVF9TVyguLi4pIFNUX1codjRpMzIsIF9fVkFfQVJHU19fKQogCiAj
aWYgKF9fbWlwc19pc2FfcmV2ID49IDYpCi0jZGVmaW5lIExXKHBzcmMpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgKHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNvbnN0IHVpbnQ4X3QgKmx3X3BzcmNf
bSA9IChjb25zdCB1aW50OF90ICopKHBzcmMpOyBcCi0gICAgdWludDMyX3QgbHdfdmFsX207ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGFzbSB2b2xhdGlsZSgibHcg
ICVbbHdfdmFsX21dLCAgJVtsd19wc3JjX21dICBcblx0IiBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
OiBbbHdfdmFsX21dICI9ciIobHdfdmFsX20pICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICA6IFtsd19wc3JjX21dICJtIigqbHdfcHNyY19tKSk7ICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBsd192YWxf
bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBM
Vyhwc3JjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCB1
aW50OF90ICpwc3JjX20gPSAoY29uc3QgdWludDhfdCAqKShwc3JjKTsgXAorICAgIHVpbnQzMl90
IHZhbF9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhc20gdm9sYXRp
bGUoImx3ICAlW3ZhbF9tXSwgICVbcHNyY19tXSAgXG5cdCIgICAgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAg
IDogW3ZhbF9tXSAiPXIiKHZhbF9tKSAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
OiBbcHNyY19tXSAibSIoKnBzcmNfbSkpOyAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdmFsX207ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfSkKIAogI2lmIChfX21pcHMg
PT0gNjQpCi0jZGVmaW5lIExEKHBzcmMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIGNvbnN0IHVpbnQ4X3QgKmxkX3BzcmNfbSA9IChjb25zdCB1aW50OF90
ICopKHBzcmMpOyBcCi0gICAgdWludDY0X3QgbGRfdmFsX20gPSAwOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGFzbSB2b2xhdGlsZSgibGQgICVbbGRfdmFsX21dLCAgJVts
ZF9wc3JjX21dICBcblx0IiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgOiBbbGRfdmFsX21dICI9ciIo
bGRfdmFsX20pICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICA6IFtsZF9wc3JjX21dICJt
IigqbGRfcHNyY19tKSk7ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBsZF92YWxfbTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBMRChwc3JjKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCB1aW50OF90ICpwc3JjX20gPSAo
Y29uc3QgdWludDhfdCAqKShwc3JjKTsgXAorICAgIHVpbnQ2NF90IHZhbF9tID0gMDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhc20gdm9sYXRpbGUoImxkICAlW3ZhbF9tXSwg
ICVbcHNyY19tXSAgXG5cdCIgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgIDogW3ZhbF9tXSAiPXIiKHZh
bF9tKSAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgOiBbcHNyY19tXSAibSIoKnBz
cmNfbSkpOyAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgfSkKICNlbHNlICAvLyAhKF9fbWlwcyA9PSA2NCkKLSNkZWZp
bmUgTEQocHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBjb25zdCB1aW50OF90ICpsZF9wc3JjX20gPSAoY29uc3Qg
dWludDhfdCAqKShwc3JjKTsgICAgICAgICAgIFwKLSAgICB1aW50MzJfdCBsZF92YWwwX20sIGxk
X3ZhbDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50NjRfdCBs
ZF92YWxfbSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBsZF92YWwwX20gPSBMVyhsZF9wc3JjX20pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBsZF92YWwxX20gPSBMVyhsZF9wc3JjX20gKyA0KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBsZF92YWxf
bSA9ICh1aW50NjRfdCkobGRfdmFsMV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBsZF92YWxfbSA9ICh1aW50NjRfdCkoKGxkX3ZhbF9tIDw8IDMyKSAmIDB4RkZGRkZGRkYw
MDAwMDAwMCk7IFwKLSAgICBsZF92YWxfbSA9ICh1aW50NjRfdCkobGRfdmFsX20gfCAodWludDY0
X3QpbGRfdmFsMF9tKTsgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBsZF92YWxfbTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUg
TEQocHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
KHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBjb25zdCB1aW50OF90ICpwc3JjX20gPSAoY29uc3QgdWludDhfdCAqKShwc3JjKTsg
ICAgICAgIFwKKyAgICB1aW50MzJfdCB2YWwwX20sIHZhbDFfbTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICB1aW50NjRfdCB2YWxfbSA9IDA7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2YWwwX20gPSBMVyhwc3JjX20pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2YWwxX20gPSBMVyhwc3JjX20g
KyA0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2YWxfbSA9
ICh1aW50NjRfdCkodmFsMV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2
YWxfbSA9ICh1aW50NjRfdCkoKHZhbF9tIDw8IDMyKSAmIDB4RkZGRkZGRkYwMDAwMDAwMCk7IFwK
KyAgICB2YWxfbSA9ICh1aW50NjRfdCkodmFsX20gfCAodWludDY0X3QpdmFsMF9tKTsgICAgICAg
ICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICB2YWxfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgfSkKICNlbmRpZiAgLy8gKF9fbWlwcyA9PSA2NCkKIAotI2Rl
ZmluZSBTSCh2YWwsIHBkc3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB1aW50OF90ICpzaF9wZHN0X20gPSAodWludDhfdCAqKShwZHN0KTsgICAgICAgICAgICAg
XAotICAgIGNvbnN0IHVpbnQxNl90IHNoX3ZhbF9tID0gKHZhbCk7ICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBhc20gdm9sYXRpbGUoInNoICAlW3NoX3ZhbF9tXSwgICVbc2hfcGRzdF9tXSAg
XG5cdCIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgIDogW3NoX3Bkc3RfbV0gIj1tIigqc2hfcGRzdF9t
KSAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgOiBbc2hfdmFsX21dICJyIihzaF92YWxfbSkp
OyAgICAgICAgICAgXAorI2RlZmluZSBTSCh2YWwsIHBkc3QpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICB1aW50OF90ICpwZHN0X20gPSAodWludDhfdCAqKShwZHN0KTsgICAgICAgICAg
XAorICAgIGNvbnN0IHVpbnQxNl90IHZhbF9tID0gKHZhbCk7ICAgICAgICAgICAgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBh
c20gdm9sYXRpbGUoInNoICAlW3ZhbF9tXSwgICVbcGRzdF9tXSAgXG5cdCIgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgIDogW3Bkc3RfbV0gIj1tIigqcGRzdF9tKSAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
OiBbdmFsX21dICJyIih2YWxfbSkpOyAgICAgICAgICAgXAogICB9CiAKLSNkZWZpbmUgU1codmFs
LCBwZHN0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDhf
dCAqc3dfcGRzdF9tID0gKHVpbnQ4X3QgKikocGRzdCk7ICAgICAgICAgICAgIFwKLSAgICBjb25z
dCB1aW50MzJfdCBzd192YWxfbSA9ICh2YWwpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
YXNtIHZvbGF0aWxlKCJzdyAgJVtzd192YWxfbV0sICAlW3N3X3Bkc3RfbV0gIFxuXHQiIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICA6IFtzd19wZHN0X21dICI9bSIoKnN3X3Bkc3RfbSkgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgIDogW3N3X3ZhbF9tXSAiciIoc3dfdmFsX20pKTsgICAgICAgICAg
IFwKKyNkZWZpbmUgU1codmFsLCBwZHN0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
dWludDhfdCAqcGRzdF9tID0gKHVpbnQ4X3QgKikocGRzdCk7ICAgICAgICAgIFwKKyAgICBjb25z
dCB1aW50MzJfdCB2YWxfbSA9ICh2YWwpOyAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNtIHZvbGF0aWxl
KCJzdyAgJVt2YWxfbV0sICAlW3Bkc3RfbV0gIFxuXHQiIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICA6IFtwZHN0
X21dICI9bSIoKnBkc3RfbSkgICAgICAgICBcCisgICAgICAgICAgICAgICAgIDogW3ZhbF9tXSAi
ciIodmFsX20pKTsgICAgICAgICAgIFwKICAgfQogCi0jZGVmaW5lIFNEKHZhbCwgcGRzdCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQ4X3QgKnNkX3Bkc3Rf
bSA9ICh1aW50OF90ICopKHBkc3QpOyAgICAgICAgICAgICBcCi0gICAgY29uc3QgdWludDY0X3Qg
c2RfdmFsX20gPSAodmFsKTsgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGFzbSB2b2xhdGls
ZSgic2QgICVbc2RfdmFsX21dLCAgJVtzZF9wZHN0X21dICBcblx0IiBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgOiBbc2RfcGRzdF9tXSAiPW0iKCpzZF9wZHN0X20pICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICA6IFtzZF92YWxfbV0gInIiKHNkX3ZhbF9tKSk7ICAgICAgICAgICBcCisjZGVmaW5l
IFNEKHZhbCwgcGRzdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQ4X3QgKnBk
c3RfbSA9ICh1aW50OF90ICopKHBkc3QpOyAgICAgICAgICBcCisgICAgY29uc3QgdWludDY0X3Qg
dmFsX20gPSAodmFsKTsgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFzbSB2b2xhdGlsZSgic2QgICVbdmFs
X21dLCAgJVtwZHN0X21dICBcblx0IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgOiBbcGRzdF9tXSAiPW0iKCpw
ZHN0X20pICAgICAgICAgXAorICAgICAgICAgICAgICAgICA6IFt2YWxfbV0gInIiKHZhbF9tKSk7
ICAgICAgICAgICBcCiAgIH0KICNlbHNlICAvLyAhKF9fbWlwc19pc2FfcmV2ID49IDYpCi0jZGVm
aW5lIExXKHBzcmMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
KHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIGNvbnN0IHVpbnQ4X3QgKmx3X3BzcmNfbSA9IChjb25zdCB1aW50OF90ICopKHBzcmMpOyBc
Ci0gICAgdWludDMyX3QgbHdfdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGFzbSB2b2xhdGlsZSggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICJsd3IgJVtsd192YWxfbV0sIDAoJVtsd19wc3JjX21dKSBcblx0IiAg
ICAgICAgIFwKLSAgICAgICAgImx3bCAlW2x3X3ZhbF9tXSwgMyglW2x3X3BzcmNfbV0pIFxuXHQi
ICAgICAgICAgXAotICAgICAgICA6IFtsd192YWxfbV0gIj0mciIobHdfdmFsX20pICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgIDogW2x3X3BzcmNfbV0gInIiKGx3X3BzcmNfbSkpOyAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGx3X3ZhbF9tOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIExXKHBzcmMpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IHVpbnQ4X3QgKnBzcmNfbSA9IChjb25zdCB1aW50
OF90ICopKHBzcmMpOyBcCisgICAgdWludDMyX3QgdmFsX207ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGFzbSB2b2xhdGlsZSgibHdyICVbdmFsX21dLCAwKCVbcHNyY19t
XSkgXG5cdCIgICBcCisgICAgICAgICAgICAgICAgICJsd2wgJVt2YWxfbV0sIDMoJVtwc3JjX21d
KSBcblx0IiAgIFwKKyAgICAgICAgICAgICAgICAgOiBbdmFsX21dICI9JnIiKHZhbF9tKSAgICAg
ICAgICAgICAgXAorICAgICAgICAgICAgICAgICA6IFtwc3JjX21dICJyIihwc3JjX20pKTsgICAg
ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICB2YWxfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICB9KQogCiAjaWYgKF9fbWlwcyA9PSA2NCkKLSNkZWZpbmUgTEQocHNyYykgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAoeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgY29uc3QgdWludDhf
dCAqbGRfcHNyY19tID0gKGNvbnN0IHVpbnQ4X3QgKikocHNyYyk7IFwKLSAgICB1aW50NjRfdCBs
ZF92YWxfbSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYXNtIHZv
bGF0aWxlKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ImxkciAlW2xkX3ZhbF9tXSwgMCglW2xkX3BzcmNfbV0pIFxuXHQiICAgICAgICAgXAotICAgICAg
ICAibGRsICVbbGRfdmFsX21dLCA3KCVbbGRfcHNyY19tXSkgXG5cdCIgICAgICAgICBcCi0gICAg
ICAgIDogW2xkX3ZhbF9tXSAiPSZyIihsZF92YWxfbSkgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgOiBbbGRfcHNyY19tXSAiciIobGRfcHNyY19tKSk7ICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgbGRfdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyNkZWZpbmUgTEQocHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgY29uc3QgdWludDhfdCAqcHNyY19tID0gKGNvbnN0IHVpbnQ4X3QgKikocHNyYyk7IFwK
KyAgICB1aW50NjRfdCB2YWxfbSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgYXNtIHZvbGF0aWxlKCJsZHIgJVt2YWxfbV0sIDAoJVtwc3JjX21dKSBcblx0IiAgIFwKKyAg
ICAgICAgICAgICAgICAgImxkbCAlW3ZhbF9tXSwgNyglW3BzcmNfbV0pIFxuXHQiICAgXAorICAg
ICAgICAgICAgICAgICA6IFt2YWxfbV0gIj0mciIodmFsX20pICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAgICAgIDogW3BzcmNfbV0gInIiKHBzcmNfbSkpOyAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZh
bF9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0pCiAj
ZWxzZSAgLy8gIShfX21pcHMgPT0gNjQpCi0jZGVmaW5lIExEKHBzcmMpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICh7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgY29u
c3QgdWludDhfdCAqbGRfcHNyY19tMSA9IChjb25zdCB1aW50OF90ICopKHBzcmMpOyAgICAgICAg
ICBcCi0gICAgdWludDMyX3QgbGRfdmFsMF9tLCBsZF92YWwxX207ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgdWludDY0X3QgbGRfdmFsX20gPSAwOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbGRfdmFsMF9tID0g
TFcobGRfcHNyY19tMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
bGRfdmFsMV9tID0gTFcobGRfcHNyY19tMSArIDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgbGRfdmFsX20gPSAodWludDY0X3QpKGxkX3ZhbDFfbSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbGRfdmFsX20gPSAodWludDY0X3Qp
KChsZF92YWxfbSA8PCAzMikgJiAweEZGRkZGRkZGMDAwMDAwMDApOyBcCi0gICAgbGRfdmFsX20g
PSAodWludDY0X3QpKGxkX3ZhbF9tIHwgKHVpbnQ2NF90KWxkX3ZhbDBfbSk7ICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgbGRfdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIExEKHBzcmMpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgdWludDhfdCAqcHNy
Y19tMSA9IChjb25zdCB1aW50OF90ICopKHBzcmMpOyAgICAgICBcCisgICAgdWludDMyX3QgdmFs
MF9tLCB2YWwxX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdWludDY0
X3QgdmFsX20gPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgdmFsMF9tID0gTFcocHNyY19tMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgdmFsMV9tID0gTFcocHNyY19tMSArIDQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgdmFsX20gPSAodWludDY0X3QpKHZhbDFfbSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdmFsX20gPSAodWludDY0X3QpKCh2YWxfbSA8
PCAzMikgJiAweEZGRkZGRkZGMDAwMDAwMDApOyBcCisgICAgdmFsX20gPSAodWludDY0X3QpKHZh
bF9tIHwgKHVpbnQ2NF90KXZhbDBfbSk7ICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdmFsX207ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0pCiAj
ZW5kaWYgIC8vIChfX21pcHMgPT0gNjQpCi0jZGVmaW5lIFNIKHZhbCwgcGRzdCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDhfdCAqc2hfcGRzdF9tID0g
KHVpbnQ4X3QgKikocGRzdCk7ICAgICAgICAgICAgICBcCi0gICAgY29uc3QgdWludDE2X3Qgc2hf
dmFsX20gPSAodmFsKTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYXNtIHZvbGF0aWxl
KCJ1c2ggICVbc2hfdmFsX21dLCAgJVtzaF9wZHN0X21dICBcblx0IiBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgIDogW3NoX3Bkc3RfbV0gIj1tIigqc2hfcGRzdF9tKSAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgIDogW3NoX3ZhbF9tXSAiciIoc2hfdmFsX20pKTsgICAgICAgICAgICBcCisjZGVm
aW5lIFNIKHZhbCwgcGRzdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdWludDhf
dCAqcGRzdF9tID0gKHVpbnQ4X3QgKikocGRzdCk7ICAgICAgICAgICBcCisgICAgY29uc3QgdWlu
dDE2X3QgdmFsX20gPSAodmFsKTsgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNtIHZvbGF0aWxlKCJ1
c2ggICVbdmFsX21dLCAgJVtwZHN0X21dICBcblx0IiBcCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgIDogW3Bkc3Rf
bV0gIj1tIigqcGRzdF9tKSAgICAgICAgICBcCisgICAgICAgICAgICAgICAgIDogW3ZhbF9tXSAi
ciIodmFsX20pKTsgICAgICAgICAgICBcCiAgIH0KIAotI2RlZmluZSBTVyh2YWwsIHBkc3QpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQ4X3QgKnN3X3Bk
c3RfbSA9ICh1aW50OF90ICopKHBkc3QpOyAgICAgICAgICAgICAgXAotICAgIGNvbnN0IHVpbnQz
Ml90IHN3X3ZhbF9tID0gKHZhbCk7ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGFzbSB2
b2xhdGlsZSgidXN3ICAlW3N3X3ZhbF9tXSwgICVbc3dfcGRzdF9tXSAgXG5cdCIgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICA6IFtzd19wZHN0X21dICI9bSIoKnN3X3Bkc3RfbSkgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICA6IFtzd192YWxfbV0gInIiKHN3X3ZhbF9tKSk7ICAgICAgICAgICAg
XAorI2RlZmluZSBTVyh2YWwsIHBkc3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IHVpbnQ4X3QgKnBkc3RfbSA9ICh1aW50OF90ICopKHBkc3QpOyAgICAgICAgICAgXAorICAgIGNv
bnN0IHVpbnQzMl90IHZhbF9tID0gKHZhbCk7ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFzbSB2b2xh
dGlsZSgidXN3ICAlW3ZhbF9tXSwgICVbcGRzdF9tXSAgXG5cdCIgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICA6
IFtwZHN0X21dICI9bSIoKnBkc3RfbSkgICAgICAgICAgXAorICAgICAgICAgICAgICAgICA6IFt2
YWxfbV0gInIiKHZhbF9tKSk7ICAgICAgICAgICAgXAogICB9CiAKLSNkZWZpbmUgU0QodmFsLCBw
ZHN0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIHVpbnQ4X3QgKnNkX3Bkc3RfbTEgPSAodWludDhfdCAqKShwZHN0KTsgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICB1aW50MzJfdCBzZF92YWwwX20sIHNkX3ZhbDFfbTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNkX3ZhbDBfbSA9ICh1aW50MzJf
dCkoKHZhbCkmMHgwMDAwMDAwMEZGRkZGRkZGKTsgICAgICAgICAgIFwKLSAgICBzZF92YWwxX20g
PSAodWludDMyX3QpKCgodmFsKSA+PiAzMikgJiAweDAwMDAwMDAwRkZGRkZGRkYpOyBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIFNXKHNkX3ZhbDBfbSwgc2RfcGRzdF9tMSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBTVyhzZF92YWwxX20sIHNkX3Bkc3RfbTEgKyA0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFNEKHZhbCwgcGRzdCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OF90ICpwZHN0
X20xID0gKHVpbnQ4X3QgKikocGRzdCk7ICAgICAgICAgICAgICAgICAgICBcCisgICAgdWludDMy
X3QgdmFsMF9tLCB2YWwxX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICB2YWwwX20gPSAodWludDMyX3QpKCh2YWwpJjB4MDAwMDAwMDBGRkZGRkZGRik7ICAg
ICAgICAgICBcCisgICAgdmFsMV9tID0gKHVpbnQzMl90KSgoKHZhbCkgPj4gMzIpICYgMHgwMDAw
MDAwMEZGRkZGRkZGKTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBTVyh2YWwwX20sIHBkc3RfbTEpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgU1codmFsMV9tLCBwZHN0X20xICsg
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB9CiAjZW5kaWYgIC8vIChf
X21pcHNfaXNhX3JldiA+PSA2KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24v
b255eC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL29ueXguaAppbmRleCA3ZjdmNTY3YzZhMWUu
LjA1YzcyZGYzZmFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL29ueXguaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vb255eC5oCkBAIC0yNiw2ICsyNiwxMyBAQCBzdHJ1
Y3QgVlA4X0NPTVA7CiAKIC8qIENyZWF0ZS9kZXN0cm95IHN0YXRpYyBkYXRhIHN0cnVjdHVyZXMu
ICovCiAKK3R5cGVkZWYgZW51bSB7CisgIE5PUk1BTCA9IDAsCisgIEZPVVJGSVZFID0gMSwKKyAg
VEhSRUVGSVZFID0gMiwKKyAgT05FVFdPID0gMworfSBWUFhfU0NBTElORzsKKwogdHlwZWRlZiBl
bnVtIHsKICAgVVNBR0VfTE9DQUxfRklMRV9QTEFZQkFDSyA9IDB4MCwKICAgVVNBR0VfU1RSRUFN
X0ZST01fU0VSVkVSID0gMHgxLApAQCAtNTEsMTkgKzU4LDE5IEBAIHR5cGVkZWYgZW51bSB7CiAj
aW5jbHVkZSA8YXNzZXJ0Lmg+CiBzdGF0aWMgSU5MSU5FIHZvaWQgU2NhbGUyUmF0aW8oaW50IG1v
ZGUsIGludCAqaHIsIGludCAqaHMpIHsKICAgc3dpdGNoIChtb2RlKSB7Ci0gICAgY2FzZSBWUDhF
X05PUk1BTDoKKyAgICBjYXNlIE5PUk1BTDoKICAgICAgICpociA9IDE7CiAgICAgICAqaHMgPSAx
OwogICAgICAgYnJlYWs7Ci0gICAgY2FzZSBWUDhFX0ZPVVJGSVZFOgorICAgIGNhc2UgRk9VUkZJ
VkU6CiAgICAgICAqaHIgPSA0OwogICAgICAgKmhzID0gNTsKICAgICAgIGJyZWFrOwotICAgIGNh
c2UgVlA4RV9USFJFRUZJVkU6CisgICAgY2FzZSBUSFJFRUZJVkU6CiAgICAgICAqaHIgPSAzOwog
ICAgICAgKmhzID0gNTsKICAgICAgIGJyZWFrOwotICAgIGNhc2UgVlA4RV9PTkVUV086CisgICAg
Y2FzZSBPTkVUV086CiAgICAgICAqaHIgPSAxOwogICAgICAgKmhzID0gMjsKICAgICAgIGJyZWFr
OwpAQCAtMjQwLDcgKzI0Nyw3IEBAIHN0cnVjdCBWUDhfQ09NUCAqdnA4X2NyZWF0ZV9jb21wcmVz
c29yKFZQOF9DT05GSUcgKm94Y2YpOwogdm9pZCB2cDhfcmVtb3ZlX2NvbXByZXNzb3Ioc3RydWN0
IFZQOF9DT01QICoqY29tcCk7CiAKIHZvaWQgdnA4X2luaXRfY29uZmlnKHN0cnVjdCBWUDhfQ09N
UCAqb255eCwgVlA4X0NPTkZJRyAqb3hjZik7Ci12b2lkIHZwOF9jaGFuZ2VfY29uZmlnKHN0cnVj
dCBWUDhfQ09NUCAqY3BpLCBjb25zdCBWUDhfQ09ORklHICpveGNmKTsKK3ZvaWQgdnA4X2NoYW5n
ZV9jb25maWcoc3RydWN0IFZQOF9DT01QICpjcGksIFZQOF9DT05GSUcgKm94Y2YpOwogCiBpbnQg
dnA4X3JlY2VpdmVfcmF3X2ZyYW1lKHN0cnVjdCBWUDhfQ09NUCAqY3BpLCB1bnNpZ25lZCBpbnQg
ZnJhbWVfZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFlWMTJfQlVGRkVSX0NPTkZJ
RyAqc2QsIGludDY0X3QgdGltZV9zdGFtcCwKQEAgLTI2Niw4ICsyNzMsOCBAQCBpbnQgdnA4X3Nl
dF9yb2ltYXAoc3RydWN0IFZQOF9DT01QICpjcGksIHVuc2lnbmVkIGNoYXIgKm1hcCwgdW5zaWdu
ZWQgaW50IHJvd3MsCiAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHRocmVzaG9sZFs0
XSk7CiBpbnQgdnA4X3NldF9hY3RpdmVfbWFwKHN0cnVjdCBWUDhfQ09NUCAqY3BpLCB1bnNpZ25l
ZCBjaGFyICptYXAsCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCByb3dzLCB1
bnNpZ25lZCBpbnQgY29scyk7Ci1pbnQgdnA4X3NldF9pbnRlcm5hbF9zaXplKHN0cnVjdCBWUDhf
Q09NUCAqY3BpLCBWUFhfU0NBTElOR19NT0RFIGhvcml6X21vZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIFZQWF9TQ0FMSU5HX01PREUgdmVydF9tb2RlKTsKK2ludCB2cDhfc2V0X2ludGVy
bmFsX3NpemUoc3RydWN0IFZQOF9DT01QICpjcGksIFZQWF9TQ0FMSU5HIGhvcml6X21vZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9TQ0FMSU5HIHZlcnRfbW9kZSk7CiBpbnQgdnA4
X2dldF9xdWFudGl6ZXIoc3RydWN0IFZQOF9DT01QICpjcGkpOwogCiAjaWZkZWYgX19jcGx1c3Bs
dXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9ydGNkX2RlZnMucGwgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9jb21tb24vcnRjZF9kZWZzLnBsCmluZGV4IDEyYjQ3NGQ5MzliNS4uODQ1MmI1
ZTg1NDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9jb21tb24vcnRjZF9kZWZzLnBsCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi9ydGNkX2RlZnMucGwKQEAgLTM4LDI1ICszOCwyNSBA
QCBhZGRfcHJvdG8gcXcvdm9pZCB2cDhfZGVxdWFudF9pZGN0X2FkZC8sICJzaG9ydCAqaW5wdXQs
IHNob3J0ICpkcSwgdW5zaWduZWQgY2hhcgogc3BlY2lhbGl6ZSBxdy92cDhfZGVxdWFudF9pZGN0
X2FkZCBtbXggbmVvbiBkc3ByMiBtc2EgbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnA4X2Rl
cXVhbnRfaWRjdF9hZGRfeV9ibG9jay8sICJzaG9ydCAqcSwgc2hvcnQgKmRxLCB1bnNpZ25lZCBj
aGFyICpkc3QsIGludCBzdHJpZGUsIGNoYXIgKmVvYnMiOwotc3BlY2lhbGl6ZSBxdy92cDhfZGVx
dWFudF9pZGN0X2FkZF95X2Jsb2NrIHNzZTIgbmVvbiBkc3ByMiBtc2EgbW1pIGxzeC87CitzcGVj
aWFsaXplIHF3L3ZwOF9kZXF1YW50X2lkY3RfYWRkX3lfYmxvY2sgc3NlMiBuZW9uIGRzcHIyIG1z
YSBtbWkvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cDhfZGVxdWFudF9pZGN0X2FkZF91dl9ibG9j
ay8sICJzaG9ydCAqcSwgc2hvcnQgKmRxLCB1bnNpZ25lZCBjaGFyICpkc3RfdSwgdW5zaWduZWQg
Y2hhciAqZHN0X3YsIGludCBzdHJpZGUsIGNoYXIgKmVvYnMiOwotc3BlY2lhbGl6ZSBxdy92cDhf
ZGVxdWFudF9pZGN0X2FkZF91dl9ibG9jayBzc2UyIG5lb24gZHNwcjIgbXNhIG1taSBsc3gvOwor
c3BlY2lhbGl6ZSBxdy92cDhfZGVxdWFudF9pZGN0X2FkZF91dl9ibG9jayBzc2UyIG5lb24gZHNw
cjIgbXNhIG1taS87CiAKICMKICMgTG9vcGZpbHRlcgogIwogYWRkX3Byb3RvIHF3L3ZvaWQgdnA4
X2xvb3BfZmlsdGVyX21idi8sICJ1bnNpZ25lZCBjaGFyICp5X3B0ciwgdW5zaWduZWQgY2hhciAq
dV9wdHIsIHVuc2lnbmVkIGNoYXIgKnZfcHRyLCBpbnQgeV9zdHJpZGUsIGludCB1dl9zdHJpZGUs
IHN0cnVjdCBsb29wX2ZpbHRlcl9pbmZvICpsZmkiOwotc3BlY2lhbGl6ZSBxdy92cDhfbG9vcF9m
aWx0ZXJfbWJ2IHNzZTIgbmVvbiBkc3ByMiBtc2EgbW1pIGxzeC87CitzcGVjaWFsaXplIHF3L3Zw
OF9sb29wX2ZpbHRlcl9tYnYgc3NlMiBuZW9uIGRzcHIyIG1zYSBtbWkvOwogCiBhZGRfcHJvdG8g
cXcvdm9pZCB2cDhfbG9vcF9maWx0ZXJfYnYvLCAidW5zaWduZWQgY2hhciAqeV9wdHIsIHVuc2ln
bmVkIGNoYXIgKnVfcHRyLCB1bnNpZ25lZCBjaGFyICp2X3B0ciwgaW50IHlfc3RyaWRlLCBpbnQg
dXZfc3RyaWRlLCBzdHJ1Y3QgbG9vcF9maWx0ZXJfaW5mbyAqbGZpIjsKLXNwZWNpYWxpemUgcXcv
dnA4X2xvb3BfZmlsdGVyX2J2IHNzZTIgbmVvbiBkc3ByMiBtc2EgbW1pIGxzeC87CitzcGVjaWFs
aXplIHF3L3ZwOF9sb29wX2ZpbHRlcl9idiBzc2UyIG5lb24gZHNwcjIgbXNhIG1taS87CiAKIGFk
ZF9wcm90byBxdy92b2lkIHZwOF9sb29wX2ZpbHRlcl9tYmgvLCAidW5zaWduZWQgY2hhciAqeV9w
dHIsIHVuc2lnbmVkIGNoYXIgKnVfcHRyLCB1bnNpZ25lZCBjaGFyICp2X3B0ciwgaW50IHlfc3Ry
aWRlLCBpbnQgdXZfc3RyaWRlLCBzdHJ1Y3QgbG9vcF9maWx0ZXJfaW5mbyAqbGZpIjsKLXNwZWNp
YWxpemUgcXcvdnA4X2xvb3BfZmlsdGVyX21iaCBzc2UyIG5lb24gZHNwcjIgbXNhIG1taSBsc3gv
Oworc3BlY2lhbGl6ZSBxdy92cDhfbG9vcF9maWx0ZXJfbWJoIHNzZTIgbmVvbiBkc3ByMiBtc2Eg
bW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnA4X2xvb3BfZmlsdGVyX2JoLywgInVuc2lnbmVk
IGNoYXIgKnlfcHRyLCB1bnNpZ25lZCBjaGFyICp1X3B0ciwgdW5zaWduZWQgY2hhciAqdl9wdHIs
IGludCB5X3N0cmlkZSwgaW50IHV2X3N0cmlkZSwgc3RydWN0IGxvb3BfZmlsdGVyX2luZm8gKmxm
aSI7Ci1zcGVjaWFsaXplIHF3L3ZwOF9sb29wX2ZpbHRlcl9iaCBzc2UyIG5lb24gZHNwcjIgbXNh
IG1taSBsc3gvOworc3BlY2lhbGl6ZSBxdy92cDhfbG9vcF9maWx0ZXJfYmggc3NlMiBuZW9uIGRz
cHIyIG1zYSBtbWkvOwogCiAKIGFkZF9wcm90byBxdy92b2lkIHZwOF9sb29wX2ZpbHRlcl9zaW1w
bGVfbWJ2LywgInVuc2lnbmVkIGNoYXIgKnlfcHRyLCBpbnQgeV9zdHJpZGUsIGNvbnN0IHVuc2ln
bmVkIGNoYXIgKmJsaW1pdCI7CkBAIC0xMDgsNyArMTA4LDcgQEAgc3BlY2lhbGl6ZSBxdy92cDhf
c2hvcnRfaW52X3dhbHNoNHg0IHNzZTIgbmVvbiBkc3ByMiBtc2EgbW1pLzsKIAogI2lkY3QxX3Nj
YWxhcl9hZGQKIGFkZF9wcm90byBxdy92b2lkIHZwOF9kY19vbmx5X2lkY3RfYWRkLywgInNob3J0
IGlucHV0X2RjLCB1bnNpZ25lZCBjaGFyICpwcmVkX3B0ciwgaW50IHByZWRfc3RyaWRlLCB1bnNp
Z25lZCBjaGFyICpkc3RfcHRyLCBpbnQgZHN0X3N0cmlkZSI7Ci1zcGVjaWFsaXplIHF3L3ZwOF9k
Y19vbmx5X2lkY3RfYWRkIG1teCBuZW9uIGRzcHIyIG1zYSBtbWkgbHN4LzsKK3NwZWNpYWxpemUg
cXcvdnA4X2RjX29ubHlfaWRjdF9hZGQgbW14IG5lb24gZHNwcjIgbXNhIG1taS87CiAKICMKICMg
UkVDT04KQEAgLTEyNyw2ICsxMjcsMTIgQEAgc3BlY2lhbGl6ZSBxdy92cDhfY29weV9tZW04eDQg
bW14IG5lb24gZHNwcjIgbXNhIG1taS87CiAjCiBpZiAodnB4X2NvbmZpZygiQ09ORklHX1BPU1RQ
Uk9DIikgZXEgInllcyIpIHsKIAorICAgIGFkZF9wcm90byBxdy92b2lkIHZwOF9ibGVuZF9tYl9p
bm5lci8sICJ1bnNpZ25lZCBjaGFyICp5LCB1bnNpZ25lZCBjaGFyICp1LCB1bnNpZ25lZCBjaGFy
ICp2LCBpbnQgeV8xLCBpbnQgdV8xLCBpbnQgdl8xLCBpbnQgYWxwaGEsIGludCBzdHJpZGUiOwor
CisgICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnA4X2JsZW5kX21iX291dGVyLywgInVuc2lnbmVkIGNo
YXIgKnksIHVuc2lnbmVkIGNoYXIgKnUsIHVuc2lnbmVkIGNoYXIgKnYsIGludCB5XzEsIGludCB1
XzEsIGludCB2XzEsIGludCBhbHBoYSwgaW50IHN0cmlkZSI7CisKKyAgICBhZGRfcHJvdG8gcXcv
dm9pZCB2cDhfYmxlbmRfYi8sICJ1bnNpZ25lZCBjaGFyICp5LCB1bnNpZ25lZCBjaGFyICp1LCB1
bnNpZ25lZCBjaGFyICp2LCBpbnQgeV8xLCBpbnQgdV8xLCBpbnQgdl8xLCBpbnQgYWxwaGEsIGlu
dCBzdHJpZGUiOworCiAgICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnA4X2ZpbHRlcl9ieV93ZWlnaHQx
NngxNi8sICJ1bnNpZ25lZCBjaGFyICpzcmMsIGludCBzcmNfc3RyaWRlLCB1bnNpZ25lZCBjaGFy
ICpkc3QsIGludCBkc3Rfc3RyaWRlLCBpbnQgc3JjX3dlaWdodCI7CiAgICAgc3BlY2lhbGl6ZSBx
dy92cDhfZmlsdGVyX2J5X3dlaWdodDE2eDE2IHNzZTIgbXNhLzsKIApAQCAtMTQwLDE2ICsxNDYs
MTYgQEAgaWYgKHZweF9jb25maWcoIkNPTkZJR19QT1NUUFJPQyIpIGVxICJ5ZXMiKSB7CiAjIFN1
YnBpeGVsCiAjCiBhZGRfcHJvdG8gcXcvdm9pZCB2cDhfc2l4dGFwX3ByZWRpY3QxNngxNi8sICJ1
bnNpZ25lZCBjaGFyICpzcmNfcHRyLCBpbnQgc3JjX3BpeGVsc19wZXJfbGluZSwgaW50IHhvZmZz
ZXQsIGludCB5b2Zmc2V0LCB1bnNpZ25lZCBjaGFyICpkc3RfcHRyLCBpbnQgZHN0X3BpdGNoIjsK
LXNwZWNpYWxpemUgcXcvdnA4X3NpeHRhcF9wcmVkaWN0MTZ4MTYgc3NlMiBzc3NlMyBuZW9uIGRz
cHIyIG1zYSBtbWkgbHN4LzsKK3NwZWNpYWxpemUgcXcvdnA4X3NpeHRhcF9wcmVkaWN0MTZ4MTYg
c3NlMiBzc3NlMyBuZW9uIGRzcHIyIG1zYSBtbWkvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cDhf
c2l4dGFwX3ByZWRpY3Q4eDgvLCAidW5zaWduZWQgY2hhciAqc3JjX3B0ciwgaW50IHNyY19waXhl
bHNfcGVyX2xpbmUsIGludCB4b2Zmc2V0LCBpbnQgeW9mZnNldCwgdW5zaWduZWQgY2hhciAqZHN0
X3B0ciwgaW50IGRzdF9waXRjaCI7Ci1zcGVjaWFsaXplIHF3L3ZwOF9zaXh0YXBfcHJlZGljdDh4
OCBzc2UyIHNzc2UzIG5lb24gZHNwcjIgbXNhIG1taSBsc3gvOworc3BlY2lhbGl6ZSBxdy92cDhf
c2l4dGFwX3ByZWRpY3Q4eDggc3NlMiBzc3NlMyBuZW9uIGRzcHIyIG1zYSBtbWkvOwogCiBhZGRf
cHJvdG8gcXcvdm9pZCB2cDhfc2l4dGFwX3ByZWRpY3Q4eDQvLCAidW5zaWduZWQgY2hhciAqc3Jj
X3B0ciwgaW50IHNyY19waXhlbHNfcGVyX2xpbmUsIGludCB4b2Zmc2V0LCBpbnQgeW9mZnNldCwg
dW5zaWduZWQgY2hhciAqZHN0X3B0ciwgaW50IGRzdF9waXRjaCI7CiBzcGVjaWFsaXplIHF3L3Zw
OF9zaXh0YXBfcHJlZGljdDh4NCBzc2UyIHNzc2UzIG5lb24gZHNwcjIgbXNhIG1taS87CiAKIGFk
ZF9wcm90byBxdy92b2lkIHZwOF9zaXh0YXBfcHJlZGljdDR4NC8sICJ1bnNpZ25lZCBjaGFyICpz
cmNfcHRyLCBpbnQgc3JjX3BpeGVsc19wZXJfbGluZSwgaW50IHhvZmZzZXQsIGludCB5b2Zmc2V0
LCB1bnNpZ25lZCBjaGFyICpkc3RfcHRyLCBpbnQgZHN0X3BpdGNoIjsKLXNwZWNpYWxpemUgcXcv
dnA4X3NpeHRhcF9wcmVkaWN0NHg0IG1teCBzc3NlMyBuZW9uIGRzcHIyIG1zYSBtbWkgbHN4LzsK
K3NwZWNpYWxpemUgcXcvdnA4X3NpeHRhcF9wcmVkaWN0NHg0IG1teCBzc3NlMyBuZW9uIGRzcHIy
IG1zYSBtbWkvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cDhfYmlsaW5lYXJfcHJlZGljdDE2eDE2
LywgInVuc2lnbmVkIGNoYXIgKnNyY19wdHIsIGludCBzcmNfcGl4ZWxzX3Blcl9saW5lLCBpbnQg
eG9mZnNldCwgaW50IHlvZmZzZXQsIHVuc2lnbmVkIGNoYXIgKmRzdF9wdHIsIGludCBkc3RfcGl0
Y2giOwogc3BlY2lhbGl6ZSBxdy92cDhfYmlsaW5lYXJfcHJlZGljdDE2eDE2IHNzZTIgc3NzZTMg
bmVvbiBtc2EvOwpAQCAtMTc4LDEwICsxODQsMTAgQEAgc3BlY2lhbGl6ZSBxdy92cDhfY29weTMy
eG4gc3NlMiBzc2UzLzsKICMgRm9yd2FyZCBEQ1QKICMKIGFkZF9wcm90byBxdy92b2lkIHZwOF9z
aG9ydF9mZGN0NHg0LywgInNob3J0ICppbnB1dCwgc2hvcnQgKm91dHB1dCwgaW50IHBpdGNoIjsK
LXNwZWNpYWxpemUgcXcvdnA4X3Nob3J0X2ZkY3Q0eDQgc3NlMiBuZW9uIG1zYSBtbWkgbHN4LzsK
K3NwZWNpYWxpemUgcXcvdnA4X3Nob3J0X2ZkY3Q0eDQgc3NlMiBuZW9uIG1zYSBtbWkvOwogCiBh
ZGRfcHJvdG8gcXcvdm9pZCB2cDhfc2hvcnRfZmRjdDh4NC8sICJzaG9ydCAqaW5wdXQsIHNob3J0
ICpvdXRwdXQsIGludCBwaXRjaCI7Ci1zcGVjaWFsaXplIHF3L3ZwOF9zaG9ydF9mZGN0OHg0IHNz
ZTIgbmVvbiBtc2EgbW1pIGxzeC87CitzcGVjaWFsaXplIHF3L3ZwOF9zaG9ydF9mZGN0OHg0IHNz
ZTIgbmVvbiBtc2EgbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnA4X3Nob3J0X3dhbHNoNHg0
LywgInNob3J0ICppbnB1dCwgc2hvcnQgKm91dHB1dCwgaW50IHBpdGNoIjsKIHNwZWNpYWxpemUg
cXcvdnA4X3Nob3J0X3dhbHNoNHg0IHNzZTIgbmVvbiBtc2EgbW1pLzsKQEAgLTE5MCw3ICsxOTYs
NyBAQCBzcGVjaWFsaXplIHF3L3ZwOF9zaG9ydF93YWxzaDR4NCBzc2UyIG5lb24gbXNhIG1taS87
CiAjIFF1YW50aXplcgogIwogYWRkX3Byb3RvIHF3L3ZvaWQgdnA4X3JlZ3VsYXJfcXVhbnRpemVf
Yi8sICJzdHJ1Y3QgYmxvY2sgKiwgc3RydWN0IGJsb2NrZCAqIjsKLXNwZWNpYWxpemUgcXcvdnA4
X3JlZ3VsYXJfcXVhbnRpemVfYiBzc2UyIHNzZTRfMSBtc2EgbW1pIGxzeC87CitzcGVjaWFsaXpl
IHF3L3ZwOF9yZWd1bGFyX3F1YW50aXplX2Igc3NlMiBzc2U0XzEgbXNhIG1taS87CiAKIGFkZF9w
cm90byBxdy92b2lkIHZwOF9mYXN0X3F1YW50aXplX2IvLCAic3RydWN0IGJsb2NrICosIHN0cnVj
dCBibG9ja2QgKiI7CiBzcGVjaWFsaXplIHF3L3ZwOF9mYXN0X3F1YW50aXplX2Igc3NlMiBzc3Nl
MyBuZW9uIG1zYSBtbWkvOwpAQCAtMTk5LDEwICsyMDUsMTAgQEAgc3BlY2lhbGl6ZSBxdy92cDhf
ZmFzdF9xdWFudGl6ZV9iIHNzZTIgc3NzZTMgbmVvbiBtc2EgbW1pLzsKICMgQmxvY2sgc3VidHJh
Y3Rpb24KICMKIGFkZF9wcm90byBxdy9pbnQgdnA4X2Jsb2NrX2Vycm9yLywgInNob3J0ICpjb2Vm
Ziwgc2hvcnQgKmRxY29lZmYiOwotc3BlY2lhbGl6ZSBxdy92cDhfYmxvY2tfZXJyb3Igc3NlMiBt
c2EgbHN4LzsKK3NwZWNpYWxpemUgcXcvdnA4X2Jsb2NrX2Vycm9yIHNzZTIgbXNhLzsKIAogYWRk
X3Byb3RvIHF3L2ludCB2cDhfbWJibG9ja19lcnJvci8sICJzdHJ1Y3QgbWFjcm9ibG9jayAqbWIs
IGludCBkYyI7Ci1zcGVjaWFsaXplIHF3L3ZwOF9tYmJsb2NrX2Vycm9yIHNzZTIgbXNhIGxzeC87
CitzcGVjaWFsaXplIHF3L3ZwOF9tYmJsb2NrX2Vycm9yIHNzZTIgbXNhLzsKIAogYWRkX3Byb3Rv
IHF3L2ludCB2cDhfbWJ1dmVycm9yLywgInN0cnVjdCBtYWNyb2Jsb2NrICptYiI7CiBzcGVjaWFs
aXplIHF3L3ZwOF9tYnV2ZXJyb3Igc3NlMiBtc2EvOwpAQCAtMjEwLDE2ICsyMTYsMjAgQEAgc3Bl
Y2lhbGl6ZSBxdy92cDhfbWJ1dmVycm9yIHNzZTIgbXNhLzsKICMKICMgTW90aW9uIHNlYXJjaAog
IworYWRkX3Byb3RvIHF3L2ludCB2cDhfZnVsbF9zZWFyY2hfc2FkLywgInN0cnVjdCBtYWNyb2Js
b2NrICp4LCBzdHJ1Y3QgYmxvY2sgKmIsIHN0cnVjdCBibG9ja2QgKmQsIHVuaW9uIGludF9tdiAq
cmVmX212LCBpbnQgc2FkX3Blcl9iaXQsIGludCBkaXN0YW5jZSwgc3RydWN0IHZhcmlhbmNlX3Z0
YWJsZSAqZm5fcHRyLCBpbnQgKm12Y29zdFsyXSwgdW5pb24gaW50X212ICpjZW50ZXJfbXYiOwor
c3BlY2lhbGl6ZSBxdy92cDhfZnVsbF9zZWFyY2hfc2FkIHNzZTMgc3NlNF8xLzsKKyR2cDhfZnVs
bF9zZWFyY2hfc2FkX3NzZTM9dnA4X2Z1bGxfc2VhcmNoX3NhZHgzOworJHZwOF9mdWxsX3NlYXJj
aF9zYWRfc3NlNF8xPXZwOF9mdWxsX3NlYXJjaF9zYWR4ODsKKwogYWRkX3Byb3RvIHF3L2ludCB2
cDhfcmVmaW5pbmdfc2VhcmNoX3NhZC8sICJzdHJ1Y3QgbWFjcm9ibG9jayAqeCwgc3RydWN0IGJs
b2NrICpiLCBzdHJ1Y3QgYmxvY2tkICpkLCB1bmlvbiBpbnRfbXYgKnJlZl9tdiwgaW50IGVycm9y
X3Blcl9iaXQsIGludCBzZWFyY2hfcmFuZ2UsIHN0cnVjdCB2YXJpYW5jZV92dGFibGUgKmZuX3B0
ciwgaW50ICptdmNvc3RbMl0sIHVuaW9uIGludF9tdiAqY2VudGVyX212IjsKIHNwZWNpYWxpemUg
cXcvdnA4X3JlZmluaW5nX3NlYXJjaF9zYWQgc3NlMiBtc2EvOwogJHZwOF9yZWZpbmluZ19zZWFy
Y2hfc2FkX3NzZTI9dnA4X3JlZmluaW5nX3NlYXJjaF9zYWR4NDsKICR2cDhfcmVmaW5pbmdfc2Vh
cmNoX3NhZF9tc2E9dnA4X3JlZmluaW5nX3NlYXJjaF9zYWR4NDsKIAogYWRkX3Byb3RvIHF3L2lu
dCB2cDhfZGlhbW9uZF9zZWFyY2hfc2FkLywgInN0cnVjdCBtYWNyb2Jsb2NrICp4LCBzdHJ1Y3Qg
YmxvY2sgKmIsIHN0cnVjdCBibG9ja2QgKmQsIHVuaW9uIGludF9tdiAqcmVmX212LCB1bmlvbiBp
bnRfbXYgKmJlc3RfbXYsIGludCBzZWFyY2hfcGFyYW0sIGludCBzYWRfcGVyX2JpdCwgaW50ICpu
dW0wMCwgc3RydWN0IHZhcmlhbmNlX3Z0YWJsZSAqZm5fcHRyLCBpbnQgKm12Y29zdFsyXSwgdW5p
b24gaW50X212ICpjZW50ZXJfbXYiOwotc3BlY2lhbGl6ZSBxdy92cDhfZGlhbW9uZF9zZWFyY2hf
c2FkIHNzZTIgbXNhIGxzeC87CitzcGVjaWFsaXplIHF3L3ZwOF9kaWFtb25kX3NlYXJjaF9zYWQg
c3NlMiBtc2EvOwogJHZwOF9kaWFtb25kX3NlYXJjaF9zYWRfc3NlMj12cDhfZGlhbW9uZF9zZWFy
Y2hfc2FkeDQ7CiAkdnA4X2RpYW1vbmRfc2VhcmNoX3NhZF9tc2E9dnA4X2RpYW1vbmRfc2VhcmNo
X3NhZHg0OwotJHZwOF9kaWFtb25kX3NlYXJjaF9zYWRfbHN4PXZwOF9kaWFtb25kX3NlYXJjaF9z
YWR4NDsKIAogIwogIyBBbHQtcmVmIE5vaXNlIFJlZHVjdGlvbiAoQVJOUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2NvbW1vbi92cDhfbG9vcGZpbHRlci5jIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
Y29tbW9uL3ZwOF9sb29wZmlsdGVyLmMKaW5kZXggNDU3NmMxODUzNzNmLi45YzllNWYzNTFiY2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2NvbW1vbi92cDhfbG9vcGZpbHRlci5jCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA4L2NvbW1vbi92cDhfbG9vcGZpbHRlci5jCkBAIC0xMTEsNyArMTExLDcg
QEAgdm9pZCB2cDhfbG9vcF9maWx0ZXJfZnJhbWVfaW5pdChWUDhfQ09NTU9OICpjbSwgTUFDUk9C
TE9DS0QgKm1iZCwKIAogICAgIC8qIE5vdGUgdGhlIGJhc2VsaW5lIGZpbHRlciB2YWx1ZXMgZm9y
IGVhY2ggc2VnbWVudCAqLwogICAgIGlmIChtYmQtPnNlZ21lbnRhdGlvbl9lbmFibGVkKSB7Ci0g
ICAgICBpZiAobWJkLT5tYl9zZWdtZW50X2Fic19kZWx0YSA9PSBTRUdNRU5UX0FCU0RBVEEpIHsK
KyAgICAgIGlmIChtYmQtPm1iX3NlZ2VtZW50X2Fic19kZWx0YSA9PSBTRUdNRU5UX0FCU0RBVEEp
IHsKICAgICAgICAgbHZsX3NlZyA9IG1iZC0+c2VnbWVudF9mZWF0dXJlX2RhdGFbTUJfTFZMX0FM
VF9MRl1bc2VnXTsKICAgICAgIH0gZWxzZSB7IC8qIERlbHRhIFZhbHVlICovCiAgICAgICAgIGx2
bF9zZWcgKz0gbWJkLT5zZWdtZW50X2ZlYXR1cmVfZGF0YVtNQl9MVkxfQUxUX0xGXVtzZWddOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL3g4Ni9iaWxpbmVhcl9maWx0ZXJfc3Nl
Mi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDgvY29tbW9uL3g4Ni9iaWxpbmVhcl9maWx0ZXJfc3NlMi5jCmlu
ZGV4IGZmNmNiYmQ2OGM1NS4uOWJmNjVkODA0NWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OC9jb21tb24veDg2L2JpbGluZWFyX2ZpbHRlcl9zc2UyLmMKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
Y29tbW9uL3g4Ni9iaWxpbmVhcl9maWx0ZXJfc3NlMi5jCkBAIC0zMTMsMTAgKzMxMywxMCBAQCBz
dGF0aWMgSU5MSU5FIHZvaWQgdmVydGljYWxfNHg0KHVpbnQxNl90ICpzcmMsIHVpbnQ4X3QgKmRz
dCwgY29uc3QgaW50IHN0cmlkZSwKICAgICAgIGNvbnN0IF9fbTEyOGkgY29tcGVuc2F0ZWQgPSBf
bW1fYWRkX2VwaTE2KHN1bSwgcm91bmRfZmFjdG9yKTsKICAgICAgIGNvbnN0IF9fbTEyOGkgc2hp
ZnRlZCA9IF9tbV9zcmFpX2VwaTE2KGNvbXBlbnNhdGVkLCBWUDhfRklMVEVSX1NISUZUKTsKICAg
ICAgIF9fbTEyOGkgcGFja2VkID0gX21tX3BhY2t1c19lcGkxNihzaGlmdGVkLCBzaGlmdGVkKTsK
LSAgICAgIHN0b3JldV9pbnQzMihkc3QsIF9tbV9jdnRzaTEyOF9zaTMyKHBhY2tlZCkpOworICAg
ICAgc3RvcmV1X3VpbnQzMihkc3QsIF9tbV9jdnRzaTEyOF9zaTMyKHBhY2tlZCkpOwogICAgICAg
cGFja2VkID0gX21tX3NybGlfc2kxMjgocGFja2VkLCA0KTsKICAgICAgIGRzdCArPSBzdHJpZGU7
Ci0gICAgICBzdG9yZXVfaW50MzIoZHN0LCBfbW1fY3Z0c2kxMjhfc2kzMihwYWNrZWQpKTsKKyAg
ICAgIHN0b3JldV91aW50MzIoZHN0LCBfbW1fY3Z0c2kxMjhfc2kzMihwYWNrZWQpKTsKICAgICAg
IGRzdCArPSBzdHJpZGU7CiAgICAgICBzcmMgKz0gODsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9kZWNvZGVyL2Rib29saHVmZi5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci9k
Ym9vbGh1ZmYuaAppbmRleCA2NzNiMmZiZDVkZGEuLmYyYTE4ZjBkOTBkYSAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZGVjb2Rlci9kYm9vbGh1ZmYuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9k
ZWNvZGVyL2Rib29saHVmZi5oCkBAIC0xNSw3ICsxNSw2IEBACiAjaW5jbHVkZSA8bGltaXRzLmg+
CiAKICNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICJ2cHhfcG9ydHMvY29tcGls
ZXJfYXR0cmlidXRlcy5oIgogI2luY2x1ZGUgInZweF9wb3J0cy9tZW0uaCIKICNpbmNsdWRlICJ2
cHgvdnA4ZHguaCIKICNpbmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKQEAgLTUxLDggKzUwLDcg
QEAgaW50IHZwOGR4X3N0YXJ0X2RlY29kZShCT09MX0RFQ09ERVIgKmJyLCBjb25zdCB1bnNpZ25l
ZCBjaGFyICpzb3VyY2UsCiAKIHZvaWQgdnA4ZHhfYm9vbF9kZWNvZGVyX2ZpbGwoQk9PTF9ERUNP
REVSICpicik7CiAKLXN0YXRpYyBWUFhfTk9fVU5TSUdORURfU0hJRlRfQ0hFQ0sgaW50IHZwOGR4
X2RlY29kZV9ib29sKEJPT0xfREVDT0RFUiAqYnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcHJvYmFiaWxpdHkpIHsKK3N0YXRp
YyBpbnQgdnA4ZHhfZGVjb2RlX2Jvb2woQk9PTF9ERUNPREVSICpiciwgaW50IHByb2JhYmlsaXR5
KSB7CiAgIHVuc2lnbmVkIGludCBiaXQgPSAwOwogICBWUDhfQkRfVkFMVUUgdmFsdWU7CiAgIHVu
c2lnbmVkIGludCBzcGxpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVj
b2RlZnJhbWUuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlZnJhbWUuYwppbmRleCBh
ZjlhOThjMWRlMGEuLjY3YzI1NGZhMTRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVj
b2Rlci9kZWNvZGVmcmFtZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlZnJh
bWUuYwpAQCAtNjMsNyArNjMsNyBAQCB2b2lkIHZwOF9tYl9pbml0X2RlcXVhbnRpemVyKFZQOERf
Q09NUCAqcGJpLCBNQUNST0JMT0NLRCAqeGQpIHsKICAgLyogRGVjaWRlIHdoZXRoZXIgdG8gdXNl
IHRoZSBkZWZhdWx0IG9yIGFsdGVybmF0ZSBiYXNlbGluZSBRIHZhbHVlLiAqLwogICBpZiAoeGQt
PnNlZ21lbnRhdGlvbl9lbmFibGVkKSB7CiAgICAgLyogQWJzIFZhbHVlICovCi0gICAgaWYgKHhk
LT5tYl9zZWdtZW50X2Fic19kZWx0YSA9PSBTRUdNRU5UX0FCU0RBVEEpIHsKKyAgICBpZiAoeGQt
Pm1iX3NlZ2VtZW50X2Fic19kZWx0YSA9PSBTRUdNRU5UX0FCU0RBVEEpIHsKICAgICAgIFFJbmRl
eCA9IHhkLT5zZWdtZW50X2ZlYXR1cmVfZGF0YVtNQl9MVkxfQUxUX1FdW21ibWktPnNlZ21lbnRf
aWRdOwogCiAgICAgICAvKiBEZWx0YSBWYWx1ZSAqLwpAQCAtODI5LDcgKzgyOSw3IEBAIHN0YXRp
YyB2b2lkIGluaXRfZnJhbWUoVlA4RF9DT01QICpwYmkpIHsKIAogICAgIC8qIHJlc2V0IHRoZSBz
ZWdtZW50IGZlYXR1cmUgZGF0YSB0byAwIHdpdGggZGVsdGEgY29kaW5nIChEZWZhdWx0IHN0YXRl
KS4gKi8KICAgICBtZW1zZXQoeGQtPnNlZ21lbnRfZmVhdHVyZV9kYXRhLCAwLCBzaXplb2YoeGQt
PnNlZ21lbnRfZmVhdHVyZV9kYXRhKSk7Ci0gICAgeGQtPm1iX3NlZ21lbnRfYWJzX2RlbHRhID0g
U0VHTUVOVF9ERUxUQURBVEE7CisgICAgeGQtPm1iX3NlZ2VtZW50X2Fic19kZWx0YSA9IFNFR01F
TlRfREVMVEFEQVRBOwogCiAgICAgLyogcmVzZXQgdGhlIG1vZGUgcmVmIGRlbHRhc2EgZm9yIGxv
b3AgZmlsdGVyICovCiAgICAgbWVtc2V0KHhkLT5yZWZfbGZfZGVsdGFzLCAwLCBzaXplb2YoeGQt
PnJlZl9sZl9kZWx0YXMpKTsKQEAgLTg3Miw4ICs4NzIsOCBAQCBzdGF0aWMgdm9pZCBpbml0X2Zy
YW1lKFZQOERfQ09NUCAqcGJpKSB7CiAgIHhkLT5tb2RlX2luZm9fc3RyaWRlID0gcGMtPm1vZGVf
aW5mb19zdHJpZGU7CiAgIHhkLT5jb3JydXB0ZWQgPSAwOyAvKiBpbml0IHdpdGhvdXQgY29ycnVw
dGlvbiAqLwogCi0gIHhkLT5mdWxscGl4ZWxfbWFzayA9IH4wOwotICBpZiAocGMtPmZ1bGxfcGl4
ZWwpIHhkLT5mdWxscGl4ZWxfbWFzayA9IH43OworICB4ZC0+ZnVsbHBpeGVsX21hc2sgPSAweGZm
ZmZmZmZmOworICBpZiAocGMtPmZ1bGxfcGl4ZWwpIHhkLT5mdWxscGl4ZWxfbWFzayA9IDB4ZmZm
ZmZmZjg7CiB9CiAKIGludCB2cDhfZGVjb2RlX2ZyYW1lKFZQOERfQ09NUCAqcGJpKSB7CkBAIC05
OTUsNyArOTk1LDcgQEAgaW50IHZwOF9kZWNvZGVfZnJhbWUoVlA4RF9DT01QICpwYmkpIHsKICAg
ICB4ZC0+dXBkYXRlX21iX3NlZ21lbnRhdGlvbl9kYXRhID0gKHVuc2lnbmVkIGNoYXIpdnA4X3Jl
YWRfYml0KGJjKTsKIAogICAgIGlmICh4ZC0+dXBkYXRlX21iX3NlZ21lbnRhdGlvbl9kYXRhKSB7
Ci0gICAgICB4ZC0+bWJfc2VnbWVudF9hYnNfZGVsdGEgPSAodW5zaWduZWQgY2hhcil2cDhfcmVh
ZF9iaXQoYmMpOworICAgICAgeGQtPm1iX3NlZ2VtZW50X2Fic19kZWx0YSA9ICh1bnNpZ25lZCBj
aGFyKXZwOF9yZWFkX2JpdChiYyk7CiAKICAgICAgIG1lbXNldCh4ZC0+c2VnbWVudF9mZWF0dXJl
X2RhdGEsIDAsIHNpemVvZih4ZC0+c2VnbWVudF9mZWF0dXJlX2RhdGEpKTsKIApAQCAtMTE2Nyw2
ICsxMTY3LDE0IEBAIGludCB2cDhfZGVjb2RlX2ZyYW1lKFZQOERfQ09NUCAqcGJpKSB7CiAgIGlm
IChwYmktPmVjX2FjdGl2ZSAmJiB4ZC0+Y29ycnVwdGVkKSBwYy0+cmVmcmVzaF9sYXN0X2ZyYW1l
ID0gMTsKICNlbmRpZgogCisgIGlmICgwKSB7CisgICAgRklMRSAqeiA9IGZvcGVuKCJkZWNvZGVz
dGF0cy5zdHQiLCAiYSIpOworICAgIGZwcmludGYoeiwgIiU2ZCBGOiVkLEc6JWQsQTolZCxMOiVk
LFE6JWRcbiIsIHBjLT5jdXJyZW50X3ZpZGVvX2ZyYW1lLAorICAgICAgICAgICAgcGMtPmZyYW1l
X3R5cGUsIHBjLT5yZWZyZXNoX2dvbGRlbl9mcmFtZSwgcGMtPnJlZnJlc2hfYWx0X3JlZl9mcmFt
ZSwKKyAgICAgICAgICAgIHBjLT5yZWZyZXNoX2xhc3RfZnJhbWUsIHBjLT5iYXNlX3FpbmRleCk7
CisgICAgZmNsb3NlKHopOworICB9CisKICAgewogICAgIHBiaS0+aW5kZXBlbmRlbnRfcGFydGl0
aW9ucyA9IDE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlbXYu
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlbXYuYwppbmRleCAzZjQ1OWQ2MjNmODIu
Ljk0MzczODUyZGMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci9kZWNvZGVt
di5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvZGVjb2RlbXYuYwpAQCAtMTczLDggKzE3
Myw3IEBAIGNvbnN0IHZwOF9wcm9iIHZwOF9zdWJfbXZfcmVmX3Byb2IzWzhdW1ZQOF9TVUJNVlJF
RlMgLSAxXSA9IHsKICAgeyAyMDgsIDEsIDEgfSAgICAgLyogU1VCTVZSRUZfTEVGVF9BQk9WRV9a
RUQgICovCiB9OwogCi1zdGF0aWMgY29uc3QgdnA4X3Byb2IgKmdldF9zdWJfbXZfcmVmX3Byb2Io
Y29uc3QgdWludDMyX3QgbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MzJfdCBhYm92ZSkgeworc3RhdGljIGNvbnN0IHZwOF9wcm9iICpn
ZXRfc3ViX212X3JlZl9wcm9iKGNvbnN0IGludCBsZWZ0LCBjb25zdCBpbnQgYWJvdmUpIHsKICAg
aW50IGxleiA9IChsZWZ0ID09IDApOwogICBpbnQgYWV6ID0gKGFib3ZlID09IDApOwogICBpbnQg
bGVhID0gKGxlZnQgPT0gYWJvdmUpOwpAQCAtMzcyLDkgKzM3MSw5IEBAIHN0YXRpYyB2b2lkIHJl
YWRfbWJfbW9kZXNfbXYoVlA4RF9DT01QICpwYmksIE1PREVfSU5GTyAqbWksCiAgICAgICAgIHRt
cCA9IGNudFtDTlRfTkVBUkVTVF07CiAgICAgICAgIGNudFtDTlRfTkVBUkVTVF0gPSBjbnRbQ05U
X05FQVJdOwogICAgICAgICBjbnRbQ05UX05FQVJdID0gdG1wOwotICAgICAgICB0bXAgPSAoaW50
KW5lYXJfbXZzW0NOVF9ORUFSRVNUXS5hc19pbnQ7CisgICAgICAgIHRtcCA9IG5lYXJfbXZzW0NO
VF9ORUFSRVNUXS5hc19pbnQ7CiAgICAgICAgIG5lYXJfbXZzW0NOVF9ORUFSRVNUXS5hc19pbnQg
PSBuZWFyX212c1tDTlRfTkVBUl0uYXNfaW50OwotICAgICAgICBuZWFyX212c1tDTlRfTkVBUl0u
YXNfaW50ID0gKHVpbnQzMl90KXRtcDsKKyAgICAgICAgbmVhcl9tdnNbQ05UX05FQVJdLmFzX2lu
dCA9IHRtcDsKICAgICAgIH0KIAogICAgICAgaWYgKHZwOF9yZWFkKGJjLCB2cDhfbW9kZV9jb250
ZXh0c1tjbnRbQ05UX05FQVJFU1RdXVsxXSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2RlY29kZXIvb255eGRfaW50LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL29ueXhkX2ludC5o
CmluZGV4IDU2NTAwYTg1MDY3Zi4uY2YyYzA2NmQ5YmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9kZWNvZGVyL29ueXhkX2ludC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2RlY29kZXIvb255
eGRfaW50LmgKQEAgLTExLDggKzExLDYgQEAKICNpZm5kZWYgVlBYX1ZQOF9ERUNPREVSX09OWVhE
X0lOVF9IXwogI2RlZmluZSBWUFhfVlA4X0RFQ09ERVJfT05ZWERfSU5UX0hfCiAKLSNpbmNsdWRl
IDxhc3NlcnQuaD4KLQogI2luY2x1ZGUgInZweF9jb25maWcuaCIKICNpbmNsdWRlICJ2cDgvY29t
bW9uL29ueXhkLmgiCiAjaW5jbHVkZSAidHJlZXJlYWRlci5oIgpAQCAtMTM1LDYgKzEzMywyNSBA
QCBpbnQgdnA4X2RlY29kZV9mcmFtZShWUDhEX0NPTVAgKnBiaSk7CiBpbnQgdnA4X2NyZWF0ZV9k
ZWNvZGVyX2luc3RhbmNlcyhzdHJ1Y3QgZnJhbWVfYnVmZmVycyAqZmIsIFZQOERfQ09ORklHICpv
eGNmKTsKIGludCB2cDhfcmVtb3ZlX2RlY29kZXJfaW5zdGFuY2VzKHN0cnVjdCBmcmFtZV9idWZm
ZXJzICpmYik7CiAKKyNpZiBDT05GSUdfREVCVUcKKyNkZWZpbmUgQ0hFQ0tfTUVNX0VSUk9SKGx2
YWwsIGV4cHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIChsdmFsKSA9IChleHByKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoIShsdmFsKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICB2cHhfaW50ZXJuYWxfZXJyb3IoJnBiaS0+Y29tbW9uLmVycm9yLCBWUFhfQ09E
RUNfTUVNX0VSUk9SLCAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICJGYWls
ZWQgdG8gYWxsb2NhdGUgIiAjbHZhbCAiIGF0ICVzOiVkIiwgX19GSUxFX18sIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBfX0xJTkVfXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgIH0gd2hpbGUgKDApCisjZWxzZQorI2RlZmluZSBDSEVDS19NRU1fRVJS
T1IobHZhbCwgZXhwcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIChsdmFsKSA9IChleHByKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGlmICghKGx2YWwpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdnB4X2ludGVybmFsX2Vycm9yKCZwYmkt
PmNvbW1vbi5lcnJvciwgVlBYX0NPREVDX01FTV9FUlJPUiwgXAorICAgICAgICAgICAgICAgICAg
ICAgICAgICJGYWlsZWQgdG8gYWxsb2NhdGUgIiAjbHZhbCk7ICAgICAgICAgICAgXAorICB9IHdo
aWxlICgwKQorI2VuZGlmCisKICNpZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0ZXJuICJDIgog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL3RocmVhZGluZy5jIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZGVjb2Rlci90aHJlYWRpbmcuYwppbmRleCA2Y2NiMDgwY2Y5YzAuLjU2
MTkyMmRlMzI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZGVjb2Rlci90aHJlYWRpbmcu
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9kZWNvZGVyL3RocmVhZGluZy5jCkBAIC0xMCw3ICsxMCw3
IEBACiAKICNpbmNsdWRlICJ2cHhfY29uZmlnLmgiCiAjaW5jbHVkZSAidnA4X3J0Y2QuaCIKLSNp
ZiAhZGVmaW5lZChfV0lOMzIpICYmIENPTkZJR19PU19TVVBQT1JUID09IDEKKyNpZiAhZGVmaW5l
ZChXSU4zMikgJiYgQ09ORklHX09TX1NVUFBPUlQgPT0gMQogI2luY2x1ZGUgPHVuaXN0ZC5oPgog
I2VuZGlmCiAjaW5jbHVkZSAib255eGRfaW50LmgiCkBAIC0zMCwxMyArMzAsMTEgQEAKICNpbmNs
dWRlICJlcnJvcl9jb25jZWFsbWVudC5oIgogI2VuZGlmCiAKLSNkZWZpbmUgQ0FMTE9DX0FSUkFZ
KHAsIG4pIFwKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZwYmktPmNvbW1vbi5lcnJvciwgKHApLCB2cHhf
Y2FsbG9jKHNpemVvZigqKHApKSwgKG4pKSkKLSNkZWZpbmUgQ0FMTE9DX0FSUkFZX0FMSUdORUQo
cCwgbiwgYWxnbikgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBDSEVDS19N
RU1fRVJST1IoJnBiaS0+Y29tbW9uLmVycm9yLCAocCksICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgdnB4X21lbWFsaWduKChhbGduKSwgc2l6ZW9mKCoocCkpICogKG4p
KSk7IFwKLSAgICBtZW1zZXQoKHApLCAwLCAobikgKiBzaXplb2YoKihwKSkpOyAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyNkZWZpbmUgQ0FMTE9DX0FSUkFZKHAsIG4pIENIRUNLX01FTV9FUlJP
UigocCksIHZweF9jYWxsb2Moc2l6ZW9mKCoocCkpLCAobikpKQorI2RlZmluZSBDQUxMT0NfQVJS
QVlfQUxJR05FRChwLCBuLCBhbGduKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBDSEVDS19NRU1fRVJST1IoKHApLCB2cHhfbWVtYWxpZ24oKGFsZ24pLCBz
aXplb2YoKihwKSkgKiAobikpKTsgXAorICAgIG1lbXNldCgocCksIDAsIChuKSAqIHNpemVvZigq
KHApKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0gd2hpbGUgKDApCiAKIHN0
YXRpYyB2b2lkIHNldHVwX2RlY29kaW5nX3RocmVhZF9kYXRhKFZQOERfQ09NUCAqcGJpLCBNQUNS
T0JMT0NLRCAqeGQsCkBAIC01Niw3ICs1NCw3IEBAIHN0YXRpYyB2b2lkIHNldHVwX2RlY29kaW5n
X3RocmVhZF9kYXRhKFZQOERfQ09NUCAqcGJpLCBNQUNST0JMT0NLRCAqeGQsCiAgICAgbWJkLT5k
c3QgPSB4ZC0+ZHN0OwogCiAgICAgbWJkLT5zZWdtZW50YXRpb25fZW5hYmxlZCA9IHhkLT5zZWdt
ZW50YXRpb25fZW5hYmxlZDsKLSAgICBtYmQtPm1iX3NlZ21lbnRfYWJzX2RlbHRhID0geGQtPm1i
X3NlZ21lbnRfYWJzX2RlbHRhOworICAgIG1iZC0+bWJfc2VnZW1lbnRfYWJzX2RlbHRhID0geGQt
Pm1iX3NlZ2VtZW50X2Fic19kZWx0YTsKICAgICBtZW1jcHkobWJkLT5zZWdtZW50X2ZlYXR1cmVf
ZGF0YSwgeGQtPnNlZ21lbnRfZmVhdHVyZV9kYXRhLAogICAgICAgICAgICBzaXplb2YoeGQtPnNl
Z21lbnRfZmVhdHVyZV9kYXRhKSk7CiAKQEAgLTc2LDkgKzc0LDkgQEAgc3RhdGljIHZvaWQgc2V0
dXBfZGVjb2RpbmdfdGhyZWFkX2RhdGEoVlA4RF9DT01QICpwYmksIE1BQ1JPQkxPQ0tEICp4ZCwK
ICAgICBtZW1jcHkobWJkLT5kZXF1YW50X3kyLCB4ZC0+ZGVxdWFudF95Miwgc2l6ZW9mKHhkLT5k
ZXF1YW50X3kyKSk7CiAgICAgbWVtY3B5KG1iZC0+ZGVxdWFudF91diwgeGQtPmRlcXVhbnRfdXYs
IHNpemVvZih4ZC0+ZGVxdWFudF91dikpOwogCi0gICAgbWJkLT5mdWxscGl4ZWxfbWFzayA9IH4w
OworICAgIG1iZC0+ZnVsbHBpeGVsX21hc2sgPSAweGZmZmZmZmZmOwogCi0gICAgaWYgKHBjLT5m
dWxsX3BpeGVsKSBtYmQtPmZ1bGxwaXhlbF9tYXNrID0gfjc7CisgICAgaWYgKHBjLT5mdWxsX3Bp
eGVsKSBtYmQtPmZ1bGxwaXhlbF9tYXNrID0gMHhmZmZmZmZmODsKICAgfQogCiAgIGZvciAoaSA9
IDA7IGkgPCBwYy0+bWJfcm93czsgKytpKQpAQCAtNzU2LDcgKzc1NCw3IEBAIHZvaWQgdnA4bXRf
YWxsb2NfdGVtcF9idWZmZXJzKFZQOERfQ09NUCAqcGJpLCBpbnQgd2lkdGgsIGludCBwcmV2X21i
X3Jvd3MpIHsKICAgICB1dl93aWR0aCA9IHdpZHRoID4+IDE7CiAKICAgICAvKiBBbGxvY2F0ZSBh
IHZweF9hdG9taWNfaW50IGZvciBlYWNoIG1iIHJvdy4gKi8KLSAgICBDSEVDS19NRU1fRVJST1Io
JnBjLT5lcnJvciwgcGJpLT5tdF9jdXJyZW50X21iX2NvbCwKKyAgICBDSEVDS19NRU1fRVJST1Io
cGJpLT5tdF9jdXJyZW50X21iX2NvbCwKICAgICAgICAgICAgICAgICAgICAgdnB4X21hbGxvYyhz
aXplb2YoKnBiaS0+bXRfY3VycmVudF9tYl9jb2wpICogcGMtPm1iX3Jvd3MpKTsKICAgICBmb3Ig
KGkgPSAwOyBpIDwgcGMtPm1iX3Jvd3M7ICsraSkKICAgICAgIHZweF9hdG9taWNfaW5pdCgmcGJp
LT5tdF9jdXJyZW50X21iX2NvbFtpXSwgMCk7CkBAIC03NjQsNyArNzYyLDcgQEAgdm9pZCB2cDht
dF9hbGxvY190ZW1wX2J1ZmZlcnMoVlA4RF9DT01QICpwYmksIGludCB3aWR0aCwgaW50IHByZXZf
bWJfcm93cykgewogICAgIC8qIEFsbG9jYXRlIG1lbW9yeSBmb3IgYWJvdmVfcm93IGJ1ZmZlcnMu
ICovCiAgICAgQ0FMTE9DX0FSUkFZKHBiaS0+bXRfeWFib3ZlX3JvdywgcGMtPm1iX3Jvd3MpOwog
ICAgIGZvciAoaSA9IDA7IGkgPCBwYy0+bWJfcm93czsgKytpKSB7Ci0gICAgICBDSEVDS19NRU1f
RVJST1IoJnBjLT5lcnJvciwgcGJpLT5tdF95YWJvdmVfcm93W2ldLAorICAgICAgQ0hFQ0tfTUVN
X0VSUk9SKHBiaS0+bXRfeWFib3ZlX3Jvd1tpXSwKICAgICAgICAgICAgICAgICAgICAgICB2cHhf
bWVtYWxpZ24oMTYsIHNpemVvZih1bnNpZ25lZCBjaGFyKSAqCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHdpZHRoICsgKFZQOEJPUkRFUklOUElYRUxTIDw8IDEp
KSkpOwogICAgICAgdnA4X3plcm9fYXJyYXkocGJpLT5tdF95YWJvdmVfcm93W2ldLCB3aWR0aCAr
IChWUDhCT1JERVJJTlBJWEVMUyA8PCAxKSk7CkBAIC03NzIsNyArNzcwLDcgQEAgdm9pZCB2cDht
dF9hbGxvY190ZW1wX2J1ZmZlcnMoVlA4RF9DT01QICpwYmksIGludCB3aWR0aCwgaW50IHByZXZf
bWJfcm93cykgewogCiAgICAgQ0FMTE9DX0FSUkFZKHBiaS0+bXRfdWFib3ZlX3JvdywgcGMtPm1i
X3Jvd3MpOwogICAgIGZvciAoaSA9IDA7IGkgPCBwYy0+bWJfcm93czsgKytpKSB7Ci0gICAgICBD
SEVDS19NRU1fRVJST1IoJnBjLT5lcnJvciwgcGJpLT5tdF91YWJvdmVfcm93W2ldLAorICAgICAg
Q0hFQ0tfTUVNX0VSUk9SKHBiaS0+bXRfdWFib3ZlX3Jvd1tpXSwKICAgICAgICAgICAgICAgICAg
ICAgICB2cHhfbWVtYWxpZ24oMTYsIHNpemVvZih1bnNpZ25lZCBjaGFyKSAqCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHV2X3dpZHRoICsgVlA4Qk9SREVSSU5Q
SVhFTFMpKSk7CiAgICAgICB2cDhfemVyb19hcnJheShwYmktPm10X3VhYm92ZV9yb3dbaV0sIHV2
X3dpZHRoICsgVlA4Qk9SREVSSU5QSVhFTFMpOwpAQCAtNzgwLDcgKzc3OCw3IEBAIHZvaWQgdnA4
bXRfYWxsb2NfdGVtcF9idWZmZXJzKFZQOERfQ09NUCAqcGJpLCBpbnQgd2lkdGgsIGludCBwcmV2
X21iX3Jvd3MpIHsKIAogICAgIENBTExPQ19BUlJBWShwYmktPm10X3ZhYm92ZV9yb3csIHBjLT5t
Yl9yb3dzKTsKICAgICBmb3IgKGkgPSAwOyBpIDwgcGMtPm1iX3Jvd3M7ICsraSkgewotICAgICAg
Q0hFQ0tfTUVNX0VSUk9SKCZwYy0+ZXJyb3IsIHBiaS0+bXRfdmFib3ZlX3Jvd1tpXSwKKyAgICAg
IENIRUNLX01FTV9FUlJPUihwYmktPm10X3ZhYm92ZV9yb3dbaV0sCiAgICAgICAgICAgICAgICAg
ICAgICAgdnB4X21lbWFsaWduKDE2LCBzaXplb2YodW5zaWduZWQgY2hhcikgKgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1dl93aWR0aCArIFZQOEJPUkRFUklO
UElYRUxTKSkpOwogICAgICAgdnA4X3plcm9fYXJyYXkocGJpLT5tdF92YWJvdmVfcm93W2ldLCB1
dl93aWR0aCArIFZQOEJPUkRFUklOUElYRUxTKTsKQEAgLTc4OSwxNyArNzg3LDE3IEBAIHZvaWQg
dnA4bXRfYWxsb2NfdGVtcF9idWZmZXJzKFZQOERfQ09NUCAqcGJpLCBpbnQgd2lkdGgsIGludCBw
cmV2X21iX3Jvd3MpIHsKICAgICAvKiBBbGxvY2F0ZSBtZW1vcnkgZm9yIGxlZnRfY29sIGJ1ZmZl
cnMuICovCiAgICAgQ0FMTE9DX0FSUkFZKHBiaS0+bXRfeWxlZnRfY29sLCBwYy0+bWJfcm93cyk7
CiAgICAgZm9yIChpID0gMDsgaSA8IHBjLT5tYl9yb3dzOyArK2kpCi0gICAgICBDSEVDS19NRU1f
RVJST1IoJnBjLT5lcnJvciwgcGJpLT5tdF95bGVmdF9jb2xbaV0sCisgICAgICBDSEVDS19NRU1f
RVJST1IocGJpLT5tdF95bGVmdF9jb2xbaV0sCiAgICAgICAgICAgICAgICAgICAgICAgdnB4X2Nh
bGxvYyhzaXplb2YodW5zaWduZWQgY2hhcikgKiAxNiwgMSkpOwogCiAgICAgQ0FMTE9DX0FSUkFZ
KHBiaS0+bXRfdWxlZnRfY29sLCBwYy0+bWJfcm93cyk7CiAgICAgZm9yIChpID0gMDsgaSA8IHBj
LT5tYl9yb3dzOyArK2kpCi0gICAgICBDSEVDS19NRU1fRVJST1IoJnBjLT5lcnJvciwgcGJpLT5t
dF91bGVmdF9jb2xbaV0sCisgICAgICBDSEVDS19NRU1fRVJST1IocGJpLT5tdF91bGVmdF9jb2xb
aV0sCiAgICAgICAgICAgICAgICAgICAgICAgdnB4X2NhbGxvYyhzaXplb2YodW5zaWduZWQgY2hh
cikgKiA4LCAxKSk7CiAKICAgICBDQUxMT0NfQVJSQVkocGJpLT5tdF92bGVmdF9jb2wsIHBjLT5t
Yl9yb3dzKTsKICAgICBmb3IgKGkgPSAwOyBpIDwgcGMtPm1iX3Jvd3M7ICsraSkKLSAgICAgIENI
RUNLX01FTV9FUlJPUigmcGMtPmVycm9yLCBwYmktPm10X3ZsZWZ0X2NvbFtpXSwKKyAgICAgIENI
RUNLX01FTV9FUlJPUihwYmktPm10X3ZsZWZ0X2NvbFtpXSwKICAgICAgICAgICAgICAgICAgICAg
ICB2cHhfY2FsbG9jKHNpemVvZih1bnNpZ25lZCBjaGFyKSAqIDgsIDEpKTsKICAgfQogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9hcm0vbmVvbi9mYXN0cXVhbnRpemViX25l
b24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYXJtL25lb24vZmFzdHF1YW50aXplYl9uZW9u
LmMKaW5kZXggOTUwYzk0MzM0M2Y2Li42ZmM2MDgwNWY2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2VuY29kZXIvYXJtL25lb24vZmFzdHF1YW50aXplYl9uZW9uLmMKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvZW5jb2Rlci9hcm0vbmVvbi9mYXN0cXVhbnRpemViX25lb24uYwpAQCAtMjgsMTEg
KzI4LDExIEBAIHZvaWQgdnA4X2Zhc3RfcXVhbnRpemVfYl9uZW9uKEJMT0NLICpiLCBCTE9DS0Qg
KmQpIHsKICAgICAgICAgICAgICAgICAgICB6aWdfemFnMSA9IHZsZDFxX3UxNihpbnZfemlnX3ph
ZyArIDgpOwogICBpbnQxNng4X3QgeDAsIHgxLCBzejAsIHN6MSwgeTAsIHkxOwogICB1aW50MTZ4
OF90IGVvYjAsIGVvYjE7Ci0jaWYgIVZQWF9BUkNIX0FBUkNINjQKKyNpZm5kZWYgX19hYXJjaDY0
X18KICAgdWludDE2eDRfdCBlb2JfZDE2OwogICB1aW50MzJ4Ml90IGVvYl9kMzI7CiAgIHVpbnQz
Mng0X3QgZW9iX3EzMjsKLSNlbmRpZiAgLy8gIVZQWF9BUkNIX0FBUkNINjQKKyNlbmRpZiAgLy8g
X19hcmNoNjRfXwogCiAgIC8qIHNpZ24gb2YgejogeiA+PiAxNSAqLwogICBzejAgPSB2c2hycV9u
X3MxNih6MCwgMTUpOwpAQCAtNzAsNyArNzAsNyBAQCB2b2lkIHZwOF9mYXN0X3F1YW50aXplX2Jf
bmVvbihCTE9DSyAqYiwgQkxPQ0tEICpkKSB7CiAKICAgLyogc2VsZWN0IHRoZSBsYXJnZXN0IHZh
bHVlICovCiAgIGVvYjAgPSB2bWF4cV91MTYoZW9iMCwgZW9iMSk7Ci0jaWYgVlBYX0FSQ0hfQUFS
Q0g2NAorI2lmZGVmIF9fYWFyY2g2NF9fCiAgICpkLT5lb2IgPSAoaW50OF90KXZtYXh2cV91MTYo
ZW9iMCk7CiAjZWxzZQogICBlb2JfZDE2ID0gdm1heF91MTYodmdldF9sb3dfdTE2KGVvYjApLCB2
Z2V0X2hpZ2hfdTE2KGVvYjApKTsKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCB2cDhfZmFzdF9xdWFu
dGl6ZV9iX25lb24oQkxPQ0sgKmIsIEJMT0NLRCAqZCkgewogICBlb2JfZDMyID0gdnBtYXhfdTMy
KGVvYl9kMzIsIGVvYl9kMzIpOwogCiAgIHZzdDFfbGFuZV9zOCgoaW50OF90ICopZC0+ZW9iLCB2
cmVpbnRlcnByZXRfczhfdTMyKGVvYl9kMzIpLCAwKTsKLSNlbmRpZiAgLy8gVlBYX0FSQ0hfQUFS
Q0g2NAorI2VuZGlmICAvLyBfX2FhcmNoNjRfXwogCiAgIC8qIHFjb2VmZiA9IHggKi8KICAgdnN0
MXFfczE2KGQtPnFjb2VmZiwgeDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rl
ci9iaXRzdHJlYW0uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvYml0c3RyZWFtLmMKaW5kZXgg
MDM2OTFmYzlkMWUxLi44NzgyNWZhNmZlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2Vu
Y29kZXIvYml0c3RyZWFtLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9iaXRzdHJlYW0u
YwpAQCAtMTksNyArMTksNiBAQAogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgInZweC92
cHhfZW5jb2Rlci5oIgogI2luY2x1ZGUgInZweF9tZW0vdnB4X21lbS5oIgotI2luY2x1ZGUgInZw
eF9wb3J0cy9jb21waWxlcl9hdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAidnB4X3BvcnRzL3N5c3Rl
bV9zdGF0ZS5oIgogI2luY2x1ZGUgImJpdHN0cmVhbS5oIgogCkBAIC0xMTgsOSArMTE3LDcgQEAg
c3RhdGljIHZvaWQgd3JpdGVfc3BsaXQodnA4X3dyaXRlciAqYmMsIGludCB4KSB7CiAgICAgICAg
ICAgICAgICAgICB2cDhfbWJzcGxpdF9lbmNvZGluZ3MgKyB4KTsKIH0KIAotdm9pZCBWUFhfTk9f
VU5TSUdORURfU0hJRlRfQ0hFQ0sgdnA4X3BhY2tfdG9rZW5zKHZwOF93cml0ZXIgKncsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVE9LRU5F
WFRSQSAqcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeGNvdW50KSB7Cit2b2lkIHZwOF9wYWNrX3Rva2Vucyh2cDhfd3JpdGVyICp3LCBjb25z
dCBUT0tFTkVYVFJBICpwLCBpbnQgeGNvdW50KSB7CiAgIGNvbnN0IFRPS0VORVhUUkEgKnN0b3Ag
PSBwICsgeGNvdW50OwogICB1bnNpZ25lZCBpbnQgc3BsaXQ7CiAgIGludCBzaGlmdDsKQEAgLTE3
NSw4ICsxNzIsOSBAQCB2b2lkIFZQWF9OT19VTlNJR05FRF9TSElGVF9DSEVDSyB2cDhfcGFja190
b2tlbnModnA4X3dyaXRlciAqdywKICAgICAgICAgdmFsaWRhdGVfYnVmZmVyKHctPmJ1ZmZlciAr
IHctPnBvcywgMSwgdy0+YnVmZmVyX2VuZCwgdy0+ZXJyb3IpOwogCiAgICAgICAgIHctPmJ1ZmZl
clt3LT5wb3MrK10gPSAobG93dmFsdWUgPj4gKDI0IC0gb2Zmc2V0KSkgJiAweGZmOworICAgICAg
ICBsb3d2YWx1ZSA8PD0gb2Zmc2V0OwogICAgICAgICBzaGlmdCA9IGNvdW50OwotICAgICAgICBs
b3d2YWx1ZSA9IChpbnQpKCgodWludDY0X3QpbG93dmFsdWUgPDwgb2Zmc2V0KSAmIDB4ZmZmZmZm
KTsKKyAgICAgICAgbG93dmFsdWUgJj0gMHhmZmZmZmY7CiAgICAgICAgIGNvdW50IC09IDg7CiAg
ICAgICB9CiAKQEAgLTIyNSw4ICsyMjMsOSBAQCB2b2lkIFZQWF9OT19VTlNJR05FRF9TSElGVF9D
SEVDSyB2cDhfcGFja190b2tlbnModnA4X3dyaXRlciAqdywKICAgICAgICAgICAgIHZhbGlkYXRl
X2J1ZmZlcih3LT5idWZmZXIgKyB3LT5wb3MsIDEsIHctPmJ1ZmZlcl9lbmQsIHctPmVycm9yKTsK
IAogICAgICAgICAgICAgdy0+YnVmZmVyW3ctPnBvcysrXSA9IChsb3d2YWx1ZSA+PiAoMjQgLSBv
ZmZzZXQpKSAmIDB4ZmY7CisgICAgICAgICAgICBsb3d2YWx1ZSA8PD0gb2Zmc2V0OwogICAgICAg
ICAgICAgc2hpZnQgPSBjb3VudDsKLSAgICAgICAgICAgIGxvd3ZhbHVlID0gKGludCkoKCh1aW50
NjRfdClsb3d2YWx1ZSA8PCBvZmZzZXQpICYgMHhmZmZmZmYpOworICAgICAgICAgICAgbG93dmFs
dWUgJj0gMHhmZmZmZmY7CiAgICAgICAgICAgICBjb3VudCAtPSA4OwogICAgICAgICAgIH0KIApA
QCAtMTA4MCw3ICsxMDc5LDcgQEAgdm9pZCB2cDhfcGFja19iaXRzdHJlYW0oVlA4X0NPTVAgKmNw
aSwgdW5zaWduZWQgY2hhciAqZGVzdCwKICAgICBpZiAoeGQtPnVwZGF0ZV9tYl9zZWdtZW50YXRp
b25fZGF0YSkgewogICAgICAgc2lnbmVkIGNoYXIgRGF0YTsKIAotICAgICAgdnA4X3dyaXRlX2Jp
dChiYywgeGQtPm1iX3NlZ21lbnRfYWJzX2RlbHRhKTsKKyAgICAgIHZwOF93cml0ZV9iaXQoYmMs
IHhkLT5tYl9zZWdlbWVudF9hYnNfZGVsdGEpOwogCiAgICAgICAvKiBGb3IgZWFjaCBzZWdtZW50
YXRpb24gZmVhdHVyZSAoUXVhbnQgYW5kIGxvb3AgZmlsdGVyIGxldmVsKSAqLwogICAgICAgZm9y
IChpID0gMDsgaSA8IE1CX0xWTF9NQVg7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvZW5jb2Rlci9ib29saHVmZi5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9ib29saHVmZi5o
CmluZGV4IGE4YzUzNmI5OWMwMS4uOGNjNjFiZGQ0NGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9lbmNvZGVyL2Jvb2xodWZmLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9ib29s
aHVmZi5oCkBAIC05NCw4ICs5NCw5IEBAIHN0YXRpYyB2b2lkIHZwOF9lbmNvZGVfYm9vbChCT09M
X0NPREVSICpiYywgaW50IGJpdCwgaW50IHByb2JhYmlsaXR5KSB7CiAgICAgdmFsaWRhdGVfYnVm
ZmVyKGJjLT5idWZmZXIgKyBiYy0+cG9zLCAxLCBiYy0+YnVmZmVyX2VuZCwgYmMtPmVycm9yKTsK
ICAgICBiYy0+YnVmZmVyW2JjLT5wb3MrK10gPSAobG93dmFsdWUgPj4gKDI0IC0gb2Zmc2V0KSAm
IDB4ZmYpOwogCisgICAgbG93dmFsdWUgPDw9IG9mZnNldDsKICAgICBzaGlmdCA9IGNvdW50Owot
ICAgIGxvd3ZhbHVlID0gKGludCkoKCh1aW50NjRfdClsb3d2YWx1ZSA8PCBvZmZzZXQpICYgMHhm
ZmZmZmYpOworICAgIGxvd3ZhbHVlICY9IDB4ZmZmZmZmOwogICAgIGNvdW50IC09IDg7CiAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9kZW5vaXNpbmcuYyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L2VuY29kZXIvZGVub2lzaW5nLmMKaW5kZXggYTY2NmJjYTRkMjhjLi5lNTRkMWU5
ZjRiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZGVub2lzaW5nLmMKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9kZW5vaXNpbmcuYwpAQCAtMTM1LDcgKzEzNSw3IEBA
IGludCB2cDhfZGVub2lzZXJfZmlsdGVyX2ModW5zaWduZWQgY2hhciAqbWNfcnVubmluZ19hdmdf
eSwgaW50IG1jX2F2Z195X3N0cmlkZSwKICAgICAvLyBXaGVuIGFkb3B0aW5nIGFnZ3Jlc3NpdmUg
ZGVub2lzZXIsIHRoZSBhZGpfdmFsIGZvciBlYWNoIHBpeGVsCiAgICAgLy8gY291bGQgYmUgYXQg
bW9zdCA4ICh0aGlzIGlzIGN1cnJlbnQgbWF4IGFkanVzdG1lbnQgb2YgdGhlIG1hcCkuCiAgICAg
Ly8gSW4gU1NFIGNvZGUsIHdlIGNhbGN1bGF0ZSB0aGUgc3VtIG9mIGFkal92YWwgZm9yCi0gICAg
Ly8gdGhlIGNvbHVtbnMsIHNvIHRoZSBzdW0gY291bGQgYmUgdXAgdG8gMTI4KDE2IHJvd3MpLiBI
b3dldmVyLAorICAgIC8vIHRoZSBjb2x1bW5zLCBzbyB0aGUgc3VtIGNvdWxkIGJlIHVwdG8gMTI4
KDE2IHJvd3MpLiBIb3dldmVyLAogICAgIC8vIHRoZSByYW5nZSBvZiB0aGUgdmFsdWUgaXMgLTEy
OCB+IDEyNyBpbiBTU0UgY29kZSwgdGhhdCdzIHdoeQogICAgIC8vIHdlIGRvIHRoaXMgY2hhbmdl
IGluIEMgY29kZS4KICAgICAvLyBXZSBkb24ndCBkbyB0aGlzIGZvciBVViBkZW5vaXNlciwgc2lu
Y2UgdGhlcmUgYXJlIG9ubHkgOCByb3dzLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5j
b2Rlci9lbmNvZGVmcmFtZS5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9lbmNvZGVmcmFtZS5j
CmluZGV4IDNmMDMxOWE1NGJmMS4uMmY4NDM4MWQyNGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOC9lbmNvZGVyL2VuY29kZWZyYW1lLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9l
bmNvZGVmcmFtZS5jCkBAIC02OSw5ICs2OSwxMCBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBWUDhfVkFSX09GRlNbMTZdID0geyAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTI4LCAxMjgsIDEy
OCwgMTI4IH07CiAKIC8qIE9yaWdpbmFsIGFjdGl2aXR5IG1lYXN1cmUgZnJvbSBUaW0gVCdzIGNv
ZGUuICovCi1zdGF0aWMgdW5zaWduZWQgaW50IHR0X2FjdGl2aXR5X21lYXN1cmUoTUFDUk9CTE9D
SyAqeCkgeworc3RhdGljIHVuc2lnbmVkIGludCB0dF9hY3Rpdml0eV9tZWFzdXJlKFZQOF9DT01Q
ICpjcGksIE1BQ1JPQkxPQ0sgKngpIHsKICAgdW5zaWduZWQgaW50IGFjdDsKICAgdW5zaWduZWQg
aW50IHNzZTsKKyAgKHZvaWQpY3BpOwogICAvKiBUT0RPOiBUaGlzIGNvdWxkIGFsc28gYmUgZG9u
ZSBvdmVyIHNtYWxsZXIgYXJlYXMgKDh4OCksIGJ1dCB0aGF0IHdvdWxkCiAgICAqICByZXF1aXJl
IGV4dGVuc2l2ZSBjaGFuZ2VzIGVsc2V3aGVyZSwgYXMgbGFtYmRhIGlzIGFzc3VtZWQgdG8gYmUg
Zml4ZWQKICAgICogIG92ZXIgYW4gZW50aXJlIE1CIGluIG1vc3Qgb2YgdGhlIGNvZGUuCkBAIC04
OSwyMSArOTAsMjggQEAgc3RhdGljIHVuc2lnbmVkIGludCB0dF9hY3Rpdml0eV9tZWFzdXJlKE1B
Q1JPQkxPQ0sgKngpIHsKICAgcmV0dXJuIGFjdDsKIH0KIAorLyogU3R1YiBmb3IgYWx0ZXJuYXRp
dmUgZXhwZXJpbWVudGFsIGFjdGl2aXR5IG1lYXN1cmVzLiAqLworc3RhdGljIHVuc2lnbmVkIGlu
dCBhbHRfYWN0aXZpdHlfbWVhc3VyZShWUDhfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXNlX2RjX3ByZWQpIHsK
KyAgcmV0dXJuIHZwOF9lbmNvZGVfaW50cmEoY3BpLCB4LCB1c2VfZGNfcHJlZCk7Cit9CisKIC8q
IE1lYXN1cmUgdGhlIGFjdGl2aXR5IG9mIHRoZSBjdXJyZW50IG1hY3JvYmxvY2sKICAqIFdoYXQg
d2UgbWVhc3VyZSBoZXJlIGlzIFRCRCBzbyBhYnN0cmFjdGVkIHRvIHRoaXMgZnVuY3Rpb24KICAq
LwogI2RlZmluZSBBTFRfQUNUX01FQVNVUkUgMQotc3RhdGljIHVuc2lnbmVkIGludCBtYl9hY3Rp
dml0eV9tZWFzdXJlKE1BQ1JPQkxPQ0sgKngsIGludCBtYl9yb3csIGludCBtYl9jb2wpIHsKK3N0
YXRpYyB1bnNpZ25lZCBpbnQgbWJfYWN0aXZpdHlfbWVhc3VyZShWUDhfQ09NUCAqY3BpLCBNQUNS
T0JMT0NLICp4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBt
Yl9yb3csIGludCBtYl9jb2wpIHsKICAgdW5zaWduZWQgaW50IG1iX2FjdGl2aXR5OwogCiAgIGlm
IChBTFRfQUNUX01FQVNVUkUpIHsKICAgICBpbnQgdXNlX2RjX3ByZWQgPSAobWJfY29sIHx8IG1i
X3JvdykgJiYgKCFtYl9jb2wgfHwgIW1iX3Jvdyk7CiAKLSAgICAvKiBPciB1c2UgYW4gYWx0ZXJu
YXRpdmUuICovCi0gICAgbWJfYWN0aXZpdHkgPSB2cDhfZW5jb2RlX2ludHJhKHgsIHVzZV9kY19w
cmVkKTsKKyAgICAvKiBPciB1c2UgYW5kIGFsdGVybmF0aXZlLiAqLworICAgIG1iX2FjdGl2aXR5
ID0gYWx0X2FjdGl2aXR5X21lYXN1cmUoY3BpLCB4LCB1c2VfZGNfcHJlZCk7CiAgIH0gZWxzZSB7
CiAgICAgLyogT3JpZ2luYWwgYWN0aXZpdHkgbWVhc3VyZSBmcm9tIFRpbSBUJ3MgY29kZS4gKi8K
LSAgICBtYl9hY3Rpdml0eSA9IHR0X2FjdGl2aXR5X21lYXN1cmUoeCk7CisgICAgbWJfYWN0aXZp
dHkgPSB0dF9hY3Rpdml0eV9tZWFzdXJlKGNwaSwgeCk7CiAgIH0KIAogICBpZiAobWJfYWN0aXZp
dHkgPCBWUDhfQUNUSVZJVFlfQVZHX01JTikgbWJfYWN0aXZpdHkgPSBWUDhfQUNUSVZJVFlfQVZH
X01JTjsKQEAgLTEyMyw3ICsxMzEsNyBAQCBzdGF0aWMgdm9pZCBjYWxjX2F2X2FjdGl2aXR5KFZQ
OF9DT01QICpjcGksIGludDY0X3QgYWN0aXZpdHlfc3VtKSB7CiAgICAgdW5zaWduZWQgaW50IHRt
cDsKIAogICAgIC8qIENyZWF0ZSBhIGxpc3QgdG8gc29ydCB0byAqLwotICAgIENIRUNLX01FTV9F
UlJPUigmY3BpLT5jb21tb24uZXJyb3IsIHNvcnRsaXN0LAorICAgIENIRUNLX01FTV9FUlJPUihz
b3J0bGlzdCwKICAgICAgICAgICAgICAgICAgICAgdnB4X2NhbGxvYyhzaXplb2YodW5zaWduZWQg
aW50KSwgY3BpLT5jb21tb24uTUJzKSk7CiAKICAgICAvKiBDb3B5IG1hcCB0byBzb3J0IGxpc3Qg
Ki8KQEAgLTI1Niw3ICsyNjQsNyBAQCBzdGF0aWMgdm9pZCBidWlsZF9hY3Rpdml0eV9tYXAoVlA4
X0NPTVAgKmNwaSkgewogICAgICAgdnA4X2NvcHlfbWVtMTZ4MTYoeC0+c3JjLnlfYnVmZmVyLCB4
LT5zcmMueV9zdHJpZGUsIHgtPnRoaXNtYiwgMTYpOwogCiAgICAgICAvKiBtZWFzdXJlIGFjdGl2
aXR5ICovCi0gICAgICBtYl9hY3Rpdml0eSA9IG1iX2FjdGl2aXR5X21lYXN1cmUoeCwgbWJfcm93
LCBtYl9jb2wpOworICAgICAgbWJfYWN0aXZpdHkgPSBtYl9hY3Rpdml0eV9tZWFzdXJlKGNwaSwg
eCwgbWJfcm93LCBtYl9jb2wpOwogCiAgICAgICAvKiBLZWVwIGZyYW1lIHN1bSAqLwogICAgICAg
YWN0aXZpdHlfc3VtICs9IG1iX2FjdGl2aXR5OwpAQCAtNjI2LDEzICs2MzQsMTIgQEAgc3RhdGlj
IHZvaWQgaW5pdF9lbmNvZGVfZnJhbWVfbWJfY29udGV4dChWUDhfQ09NUCAqY3BpKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNwaS0+cHJvYl9sYXN0X2NvZGVkLCBjcGktPnByb2Jf
Z2ZfY29kZWQpOwogICB9CiAKLSAgeGQtPmZ1bGxwaXhlbF9tYXNrID0gfjA7Ci0gIGlmIChjbS0+
ZnVsbF9waXhlbCkgeGQtPmZ1bGxwaXhlbF9tYXNrID0gfjc7CisgIHhkLT5mdWxscGl4ZWxfbWFz
ayA9IDB4ZmZmZmZmZmY7CisgIGlmIChjbS0+ZnVsbF9waXhlbCkgeGQtPmZ1bGxwaXhlbF9tYXNr
ID0gMHhmZmZmZmZmODsKIAogICB2cDhfemVybyh4LT5jb2VmX2NvdW50cyk7CiAgIHZwOF96ZXJv
KHgtPnltb2RlX2NvdW50KTsKLSAgdnA4X3plcm8oeC0+dXZfbW9kZV9jb3VudCk7Ci0gIHgtPnBy
ZWRpY3Rpb25fZXJyb3IgPSAwOworICB2cDhfemVybyh4LT51dl9tb2RlX2NvdW50KSB4LT5wcmVk
aWN0aW9uX2Vycm9yID0gMDsKICAgeC0+aW50cmFfZXJyb3IgPSAwOwogICB2cDhfemVybyh4LT5j
b3VudF9tYl9yZWZfZnJhbWVfdXNhZ2UpOwogfQpAQCAtNzUwLDE1ICs3NTcsNiBAQCB2b2lkIHZw
OF9lbmNvZGVfZnJhbWUoVlA4X0NPTVAgKmNwaSkgewogICAgICAgdnA4Y3hfaW5pdF9tYnJ0aHJl
YWRfZGF0YShjcGksIHgsIGNwaS0+bWJfcm93X2VpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcGktPmVuY29kaW5nX3RocmVhZF9jb3VudCk7CiAKLSAgICAgIGlmIChjcGktPm10
X2N1cnJlbnRfbWJfY29sX3NpemUgIT0gY20tPm1iX3Jvd3MpIHsKLSAgICAgICAgdnB4X2ZyZWUo
Y3BpLT5tdF9jdXJyZW50X21iX2NvbCk7Ci0gICAgICAgIGNwaS0+bXRfY3VycmVudF9tYl9jb2wg
PSBOVUxMOwotICAgICAgICBjcGktPm10X2N1cnJlbnRfbWJfY29sX3NpemUgPSAwOwotICAgICAg
ICBDSEVDS19NRU1fRVJST1IoCi0gICAgICAgICAgICAmY3BpLT5jb21tb24uZXJyb3IsIGNwaS0+
bXRfY3VycmVudF9tYl9jb2wsCi0gICAgICAgICAgICB2cHhfbWFsbG9jKHNpemVvZigqY3BpLT5t
dF9jdXJyZW50X21iX2NvbCkgKiBjbS0+bWJfcm93cykpOwotICAgICAgICBjcGktPm10X2N1cnJl
bnRfbWJfY29sX3NpemUgPSBjbS0+bWJfcm93czsKLSAgICAgIH0KICAgICAgIGZvciAoaSA9IDA7
IGkgPCBjbS0+bWJfcm93czsgKytpKQogICAgICAgICB2cHhfYXRvbWljX3N0b3JlX3JlbGVhc2Uo
JmNwaS0+bXRfY3VycmVudF9tYl9jb2xbaV0sIC0xKTsKIApAQCAtNzY4LDEyICs3NjYsMTIgQEAg
dm9pZCB2cDhfZW5jb2RlX2ZyYW1lKFZQOF9DT01QICpjcGkpIHsKIAogICAgICAgZm9yIChtYl9y
b3cgPSAwOyBtYl9yb3cgPCBjbS0+bWJfcm93czsKICAgICAgICAgICAgbWJfcm93ICs9IChjcGkt
PmVuY29kaW5nX3RocmVhZF9jb3VudCArIDEpKSB7Ci0gICAgICAgIHZwOF96ZXJvKGNtLT5sZWZ0
X2NvbnRleHQpOworICAgICAgICB2cDhfemVybyhjbS0+bGVmdF9jb250ZXh0KQogCiAjaWYgQ09O
RklHX1JFQUxUSU1FX09OTFkgJiBDT05GSUdfT05USEVGTFlfQklUUEFDS0lORwotICAgICAgICB0
cCA9IGNwaS0+dG9rOworICAgICAgICAgICAgdHAgPSBjcGktPnRvazsKICNlbHNlCi0gICAgICAg
IHRwID0gY3BpLT50b2sgKyBtYl9yb3cgKiAoY20tPm1iX2NvbHMgKiAxNiAqIDI0KTsKKyAgICAg
ICAgICAgIHRwID0gY3BpLT50b2sgKyBtYl9yb3cgKiAoY20tPm1iX2NvbHMgKiAxNiAqIDI0KTsK
ICNlbmRpZgogCiAgICAgICAgIGVuY29kZV9tYl9yb3coY3BpLCBjbSwgbWJfcm93LCB4LCB4ZCwg
JnRwLCBzZWdtZW50X2NvdW50cywgJnRvdGFscmF0ZSk7CkBAIC04NjAsMTAgKzg1OCwxMCBAQCB2
b2lkIHZwOF9lbmNvZGVfZnJhbWUoVlA4X0NPTVAgKmNwaSkgewogCiAgICAgICAvKiBmb3IgZWFj
aCBtYWNyb2Jsb2NrIHJvdyBpbiBpbWFnZSAqLwogICAgICAgZm9yIChtYl9yb3cgPSAwOyBtYl9y
b3cgPCBjbS0+bWJfcm93czsgKyttYl9yb3cpIHsKLSAgICAgICAgdnA4X3plcm8oY20tPmxlZnRf
Y29udGV4dCk7CisgICAgICAgIHZwOF96ZXJvKGNtLT5sZWZ0X2NvbnRleHQpCiAKICNpZiBDT05G
SUdfUkVBTFRJTUVfT05MWSAmIENPTkZJR19PTlRIRUZMWV9CSVRQQUNLSU5HCi0gICAgICAgIHRw
ID0gY3BpLT50b2s7CisgICAgICAgICAgICB0cCA9IGNwaS0+dG9rOwogI2VuZGlmCiAKICAgICAg
ICAgZW5jb2RlX21iX3JvdyhjcGksIGNtLCBtYl9yb3csIHgsIHhkLCAmdHAsIHNlZ21lbnRfY291
bnRzLCAmdG90YWxyYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5j
b2RlaW50cmEuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuYwppbmRleCA3
ZDQ0OGMwZWEwM2IuLmY4OWU3Y2IxZmEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5j
b2Rlci9lbmNvZGVpbnRyYS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50
cmEuYwpAQCAtMTgsOSArMTgsMTAgQEAKICNpbmNsdWRlICJ2cDgvY29tbW9uL2ludnRyYW5zLmgi
CiAjaW5jbHVkZSAiZW5jb2RlaW50cmEuaCIKIAotaW50IHZwOF9lbmNvZGVfaW50cmEoTUFDUk9C
TE9DSyAqeCwgaW50IHVzZV9kY19wcmVkKSB7CitpbnQgdnA4X2VuY29kZV9pbnRyYShWUDhfQ09N
UCAqY3BpLCBNQUNST0JMT0NLICp4LCBpbnQgdXNlX2RjX3ByZWQpIHsKICAgaW50IGk7CiAgIGlu
dCBpbnRyYV9wcmVkX3ZhciA9IDA7CisgICh2b2lkKWNwaTsKIAogICBpZiAodXNlX2RjX3ByZWQp
IHsKICAgICB4LT5lX21iZC5tb2RlX2luZm9fY29udGV4dC0+bWJtaS5tb2RlID0gRENfUFJFRDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuaAppbmRleCA5YTM3OGFiZjQ5MzYuLjAyMWRj
NWVkNzZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9lbmNvZGVpbnRyYS5o
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlaW50cmEuaApAQCAtMTYsNyArMTYs
NyBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAotaW50IHZwOF9lbmNvZGVfaW50cmEoTUFDUk9C
TE9DSyAqeCwgaW50IHVzZV9kY19wcmVkKTsKK2ludCB2cDhfZW5jb2RlX2ludHJhKFZQOF9DT01Q
ICpjcGksIE1BQ1JPQkxPQ0sgKngsIGludCB1c2VfZGNfcHJlZCk7CiB2b2lkIHZwOF9lbmNvZGVf
aW50cmExNngxNm1ieShNQUNST0JMT0NLICp4KTsKIHZvaWQgdnA4X2VuY29kZV9pbnRyYTE2eDE2
bWJ1dihNQUNST0JMT0NLICp4KTsKIHZvaWQgdnA4X2VuY29kZV9pbnRyYTR4NG1ieShNQUNST0JM
T0NLICptYik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2VuY29kZW12LmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2VuY29kZW12LmMKaW5kZXggMzg0YmIyOTM4OWYzLi4w
NGFkZjEwNWI5YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZW5jb2RlbXYu
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2VuY29kZW12LmMKQEAgLTMxLDE1ICszMSwx
NyBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfbXZjb21wb25lbnQodnA4X3dyaXRlciAqY29uc3Qgdywg
Y29uc3QgaW50IHYsCiAKICAgICB2cDhfd3JpdGUodywgMSwgcFttdnBpc19zaG9ydF0pOwogCi0g
ICAgZG8geworICAgIGRvCiAgICAgICB2cDhfd3JpdGUodywgKHggPj4gaSkgJiAxLCBwW01WUGJp
dHMgKyBpXSk7Ci0gICAgfSB3aGlsZSAoKytpIDwgMyk7CisKKyAgICB3aGlsZSAoKytpIDwgMyk7
CiAKICAgICBpID0gbXZsb25nX3dpZHRoIC0gMTsgLyogU2tpcCBiaXQgMywgd2hpY2ggaXMgc29t
ZXRpbWVzIGltcGxpY2l0ICovCiAKLSAgICBkbyB7CisgICAgZG8KICAgICAgIHZwOF93cml0ZSh3
LCAoeCA+PiBpKSAmIDEsIHBbTVZQYml0cyArIGldKTsKLSAgICB9IHdoaWxlICgtLWkgPiAzKTsK
KworICAgIHdoaWxlICgtLWkgPiAzKTsKIAogICAgIGlmICh4ICYgMHhGRkYwKSB2cDhfd3JpdGUo
dywgKHggPj4gMykgJiAxLCBwW01WUGJpdHMgKyAzXSk7CiAgIH0KQEAgLTE1OCw3ICsxNjAsNyBA
QCBzdGF0aWMgdm9pZCBjYWxjX3Byb2IodnA4X3Byb2IgKnAsIGNvbnN0IHVuc2lnbmVkIGludCBj
dFsyXSkgewogICBjb25zdCB1bnNpZ25lZCBpbnQgdG90ID0gY3RbMF0gKyBjdFsxXTsKIAogICBp
ZiAodG90KSB7Ci0gICAgY29uc3QgdnA4X3Byb2IgeCA9ICgoY3RbMF0gKiAyNTUpIC8gdG90KSAm
IH4xdTsKKyAgICBjb25zdCB2cDhfcHJvYiB4ID0gKChjdFswXSAqIDI1NSkgLyB0b3QpICYgLTI7
CiAgICAgKnAgPSB4ID8geCA6IDE7CiAgIH0KIH0KQEAgLTIwMywxMSArMjA1LDggQEAgc3RhdGlj
IHZvaWQgd3JpdGVfY29tcG9uZW50X3Byb2JzKHZwOF93cml0ZXIgKmNvbnN0IHcsCiAgICh2b2lk
KXJjOwogICB2cDhfY29weV9hcnJheShQbmV3LCBkZWZhdWx0X212YywgTVZQY291bnQpOwogCi0g
IHZwOF96ZXJvKGlzX3Nob3J0X2N0KTsKLSAgdnA4X3plcm8oc2lnbl9jdCk7Ci0gIHZwOF96ZXJv
KGJpdF9jdCk7Ci0gIHZwOF96ZXJvKHNob3J0X2N0KTsKLSAgdnA4X3plcm8oc2hvcnRfYmN0KTsK
KyAgdnA4X3plcm8oaXNfc2hvcnRfY3QpIHZwOF96ZXJvKHNpZ25fY3QpIHZwOF96ZXJvKGJpdF9j
dCkgdnA4X3plcm8oc2hvcnRfY3QpCisgICAgICB2cDhfemVybyhzaG9ydF9iY3QpCiAKICAgLyog
aj0wICovCiAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZXRocmVhZGlu
Zy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9ldGhyZWFkaW5nLmMKaW5kZXggOTk5MzkwNTU2
N2UwLi41NWExNTI4YjE0YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZXRo
cmVhZGluZy5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvZXRocmVhZGluZy5jCkBAIC00
MDIsNyArNDAyLDcgQEAgc3RhdGljIHZvaWQgc2V0dXBfbWJieV9jb3B5KE1BQ1JPQkxPQ0sgKm1i
ZHN0LCBNQUNST0JMT0NLICptYnNyYykgewogICAgIHpkLT5zdWJwaXhlbF9wcmVkaWN0OHg4ID0g
eGQtPnN1YnBpeGVsX3ByZWRpY3Q4eDg7CiAgICAgemQtPnN1YnBpeGVsX3ByZWRpY3QxNngxNiA9
IHhkLT5zdWJwaXhlbF9wcmVkaWN0MTZ4MTY7CiAgICAgemQtPnNlZ21lbnRhdGlvbl9lbmFibGVk
ID0geGQtPnNlZ21lbnRhdGlvbl9lbmFibGVkOwotICAgIHpkLT5tYl9zZWdtZW50X2Fic19kZWx0
YSA9IHhkLT5tYl9zZWdtZW50X2Fic19kZWx0YTsKKyAgICB6ZC0+bWJfc2VnZW1lbnRfYWJzX2Rl
bHRhID0geGQtPm1iX3NlZ2VtZW50X2Fic19kZWx0YTsKICAgICBtZW1jcHkoemQtPnNlZ21lbnRf
ZmVhdHVyZV9kYXRhLCB4ZC0+c2VnbWVudF9mZWF0dXJlX2RhdGEsCiAgICAgICAgICAgIHNpemVv
Zih4ZC0+c2VnbWVudF9mZWF0dXJlX2RhdGEpKTsKIApAQCAtNDcwLDggKzQ3MCw4IEBAIHZvaWQg
dnA4Y3hfaW5pdF9tYnJ0aHJlYWRfZGF0YShWUDhfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LAog
CiAgICAgc2V0dXBfbWJieV9jb3B5KCZtYnJfZWlbaV0ubWIsIHgpOwogCi0gICAgbWJkLT5mdWxs
cGl4ZWxfbWFzayA9IH4wOwotICAgIGlmIChjbS0+ZnVsbF9waXhlbCkgbWJkLT5mdWxscGl4ZWxf
bWFzayA9IH43OworICAgIG1iZC0+ZnVsbHBpeGVsX21hc2sgPSAweGZmZmZmZmZmOworICAgIGlm
IChjbS0+ZnVsbF9waXhlbCkgbWJkLT5mdWxscGl4ZWxfbWFzayA9IDB4ZmZmZmZmZjg7CiAKICAg
ICB2cDhfemVybyhtYi0+Y29lZl9jb3VudHMpOwogICAgIHZwOF96ZXJvKHgtPnltb2RlX2NvdW50
KTsKQEAgLTQ4NywxMCArNDg3LDE1IEBAIHZvaWQgdnA4Y3hfaW5pdF9tYnJ0aHJlYWRfZGF0YShW
UDhfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LAogCiBpbnQgdnA4Y3hfY3JlYXRlX2VuY29kZXJf
dGhyZWFkcyhWUDhfQ09NUCAqY3BpKSB7CiAgIGNvbnN0IFZQOF9DT01NT04gKmNtID0gJmNwaS0+
Y29tbW9uOwotICBpbnQgdGhfY291bnQgPSAwOworCisgIHZweF9hdG9taWNfaW5pdCgmY3BpLT5i
X211bHRpX3RocmVhZGVkLCAwKTsKKyAgY3BpLT5lbmNvZGluZ190aHJlYWRfY291bnQgPSAwOwor
ICBjcGktPmJfbHBmX3J1bm5pbmcgPSAwOwogCiAgIGlmIChjbS0+cHJvY2Vzc29yX2NvcmVfY291
bnQgPiAxICYmIGNwaS0+b3hjZi5tdWx0aV90aHJlYWRlZCA+IDEpIHsKLSAgICB0aF9jb3VudCA9
IGNwaS0+b3hjZi5tdWx0aV90aHJlYWRlZCAtIDE7CisgICAgaW50IGl0aHJlYWQ7CisgICAgaW50
IHRoX2NvdW50ID0gY3BpLT5veGNmLm11bHRpX3RocmVhZGVkIC0gMTsKKyAgICBpbnQgcmMgPSAw
OwogCiAgICAgLyogZG9uJ3QgYWxsb2NhdGUgbW9yZSB0aHJlYWRzIHRoYW4gY29yZXMgYXZhaWxh
YmxlICovCiAgICAgaWYgKGNwaS0+b3hjZi5tdWx0aV90aHJlYWRlZCA+IGNtLT5wcm9jZXNzb3Jf
Y29yZV9jb3VudCkgewpAQCAtNTAyLDI0ICs1MDcsMTkgQEAgaW50IHZwOGN4X2NyZWF0ZV9lbmNv
ZGVyX3RocmVhZHMoVlA4X0NPTVAgKmNwaSkgewogICAgIGlmICh0aF9jb3VudCA+ICgoY20tPm1i
X2NvbHMgLyBjcGktPm10X3N5bmNfcmFuZ2UpIC0gMSkpIHsKICAgICAgIHRoX2NvdW50ID0gKGNt
LT5tYl9jb2xzIC8gY3BpLT5tdF9zeW5jX3JhbmdlKSAtIDE7CiAgICAgfQotICB9Ci0gIGlmICh0
aF9jb3VudCA9PSBjcGktPmVuY29kaW5nX3RocmVhZF9jb3VudCkgcmV0dXJuIDA7CiAKLSAgdnA4
Y3hfcmVtb3ZlX2VuY29kZXJfdGhyZWFkcyhjcGkpOwotICBpZiAodGhfY291bnQgIT0gMCkgewot
ICAgIGludCBpdGhyZWFkOwotICAgIGludCByYyA9IDA7CisgICAgaWYgKHRoX2NvdW50ID09IDAp
IHJldHVybiAwOwogCi0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjcGktPmNvbW1vbi5lcnJvciwgY3Bp
LT5oX2VuY29kaW5nX3RocmVhZCwKKyAgICBDSEVDS19NRU1fRVJST1IoY3BpLT5oX2VuY29kaW5n
X3RocmVhZCwKICAgICAgICAgICAgICAgICAgICAgdnB4X21hbGxvYyhzaXplb2YocHRocmVhZF90
KSAqIHRoX2NvdW50KSk7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjcGktPmNvbW1vbi5lcnJvciwg
Y3BpLT5oX2V2ZW50X3N0YXJ0X2VuY29kaW5nLAorICAgIENIRUNLX01FTV9FUlJPUihjcGktPmhf
ZXZlbnRfc3RhcnRfZW5jb2RpbmcsCiAgICAgICAgICAgICAgICAgICAgIHZweF9tYWxsb2Moc2l6
ZW9mKHNlbV90KSAqIHRoX2NvdW50KSk7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjcGktPmNvbW1v
bi5lcnJvciwgY3BpLT5oX2V2ZW50X2VuZF9lbmNvZGluZywKKyAgICBDSEVDS19NRU1fRVJST1Io
Y3BpLT5oX2V2ZW50X2VuZF9lbmNvZGluZywKICAgICAgICAgICAgICAgICAgICAgdnB4X21hbGxv
YyhzaXplb2Yoc2VtX3QpICogdGhfY291bnQpKTsKLSAgICBDSEVDS19NRU1fRVJST1IoJmNwaS0+
Y29tbW9uLmVycm9yLCBjcGktPm1iX3Jvd19laSwKKyAgICBDSEVDS19NRU1fRVJST1IoY3BpLT5t
Yl9yb3dfZWksCiAgICAgICAgICAgICAgICAgICAgIHZweF9tZW1hbGlnbigzMiwgc2l6ZW9mKE1C
X1JPV19DT01QKSAqIHRoX2NvdW50KSk7CiAgICAgbWVtc2V0KGNwaS0+bWJfcm93X2VpLCAwLCBz
aXplb2YoTUJfUk9XX0NPTVApICogdGhfY291bnQpOwotICAgIENIRUNLX01FTV9FUlJPUigmY3Bp
LT5jb21tb24uZXJyb3IsIGNwaS0+ZW5fdGhyZWFkX2RhdGEsCisgICAgQ0hFQ0tfTUVNX0VSUk9S
KGNwaS0+ZW5fdGhyZWFkX2RhdGEsCiAgICAgICAgICAgICAgICAgICAgIHZweF9tYWxsb2Moc2l6
ZW9mKEVOQ09ERVRIUkVBRF9EQVRBKSAqIHRoX2NvdW50KSk7CiAKICAgICB2cHhfYXRvbWljX3N0
b3JlX3JlbGVhc2UoJmNwaS0+Yl9tdWx0aV90aHJlYWRlZCwgMSk7CkBAIC01NTMsOCArNTUzLDYg
QEAgaW50IHZwOGN4X2NyZWF0ZV9lbmNvZGVyX3RocmVhZHMoVlA4X0NPTVAgKmNwaSkgewogICAg
ICAgLyogc2h1dGRvd24gb3RoZXIgdGhyZWFkcyAqLwogICAgICAgdnB4X2F0b21pY19zdG9yZV9y
ZWxlYXNlKCZjcGktPmJfbXVsdGlfdGhyZWFkZWQsIDApOwogICAgICAgZm9yICgtLWl0aHJlYWQ7
IGl0aHJlYWQgPj0gMDsgaXRocmVhZC0tKSB7Ci0gICAgICAgIHNlbV9wb3N0KCZjcGktPmhfZXZl
bnRfc3RhcnRfZW5jb2RpbmdbaXRocmVhZF0pOwotICAgICAgICBzZW1fcG9zdCgmY3BpLT5oX2V2
ZW50X2VuZF9lbmNvZGluZ1tpdGhyZWFkXSk7CiAgICAgICAgIHB0aHJlYWRfam9pbihjcGktPmhf
ZW5jb2RpbmdfdGhyZWFkW2l0aHJlYWRdLCAwKTsKICAgICAgICAgc2VtX2Rlc3Ryb3koJmNwaS0+
aF9ldmVudF9zdGFydF9lbmNvZGluZ1tpdGhyZWFkXSk7CiAgICAgICAgIHNlbV9kZXN0cm95KCZj
cGktPmhfZXZlbnRfZW5kX2VuY29kaW5nW2l0aHJlYWRdKTsKQEAgLTU2MiwxNiArNTYwLDEwIEBA
IGludCB2cDhjeF9jcmVhdGVfZW5jb2Rlcl90aHJlYWRzKFZQOF9DT01QICpjcGkpIHsKIAogICAg
ICAgLyogZnJlZSB0aHJlYWQgcmVsYXRlZCByZXNvdXJjZXMgKi8KICAgICAgIHZweF9mcmVlKGNw
aS0+aF9ldmVudF9zdGFydF9lbmNvZGluZyk7Ci0gICAgICBjcGktPmhfZXZlbnRfc3RhcnRfZW5j
b2RpbmcgPSBOVUxMOwogICAgICAgdnB4X2ZyZWUoY3BpLT5oX2V2ZW50X2VuZF9lbmNvZGluZyk7
Ci0gICAgICBjcGktPmhfZXZlbnRfZW5kX2VuY29kaW5nID0gTlVMTDsKICAgICAgIHZweF9mcmVl
KGNwaS0+aF9lbmNvZGluZ190aHJlYWQpOwotICAgICAgY3BpLT5oX2VuY29kaW5nX3RocmVhZCA9
IE5VTEw7CiAgICAgICB2cHhfZnJlZShjcGktPm1iX3Jvd19laSk7Ci0gICAgICBjcGktPm1iX3Jv
d19laSA9IE5VTEw7CiAgICAgICB2cHhfZnJlZShjcGktPmVuX3RocmVhZF9kYXRhKTsKLSAgICAg
IGNwaS0+ZW5fdGhyZWFkX2RhdGEgPSBOVUxMOwotICAgICAgY3BpLT5lbmNvZGluZ190aHJlYWRf
Y291bnQgPSAwOwogCiAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtNjAwLDE2ICs1OTIsMTAg
QEAgaW50IHZwOGN4X2NyZWF0ZV9lbmNvZGVyX3RocmVhZHMoVlA4X0NPTVAgKmNwaSkgewogCiAg
ICAgICAgIC8qIGZyZWUgdGhyZWFkIHJlbGF0ZWQgcmVzb3VyY2VzICovCiAgICAgICAgIHZweF9m
cmVlKGNwaS0+aF9ldmVudF9zdGFydF9lbmNvZGluZyk7Ci0gICAgICAgIGNwaS0+aF9ldmVudF9z
dGFydF9lbmNvZGluZyA9IE5VTEw7CiAgICAgICAgIHZweF9mcmVlKGNwaS0+aF9ldmVudF9lbmRf
ZW5jb2RpbmcpOwotICAgICAgICBjcGktPmhfZXZlbnRfZW5kX2VuY29kaW5nID0gTlVMTDsKICAg
ICAgICAgdnB4X2ZyZWUoY3BpLT5oX2VuY29kaW5nX3RocmVhZCk7Ci0gICAgICAgIGNwaS0+aF9l
bmNvZGluZ190aHJlYWQgPSBOVUxMOwogICAgICAgICB2cHhfZnJlZShjcGktPm1iX3Jvd19laSk7
Ci0gICAgICAgIGNwaS0+bWJfcm93X2VpID0gTlVMTDsKICAgICAgICAgdnB4X2ZyZWUoY3BpLT5l
bl90aHJlYWRfZGF0YSk7Ci0gICAgICAgIGNwaS0+ZW5fdGhyZWFkX2RhdGEgPSBOVUxMOwotICAg
ICAgICBjcGktPmVuY29kaW5nX3RocmVhZF9jb3VudCA9IDA7CiAKICAgICAgICAgcmV0dXJuIC0y
OwogICAgICAgfQpAQCAtNjQxLDIzICs2MjcsMTMgQEAgdm9pZCB2cDhjeF9yZW1vdmVfZW5jb2Rl
cl90aHJlYWRzKFZQOF9DT01QICpjcGkpIHsKIAogICAgIHNlbV9kZXN0cm95KCZjcGktPmhfZXZl
bnRfZW5kX2xwZik7CiAgICAgc2VtX2Rlc3Ryb3koJmNwaS0+aF9ldmVudF9zdGFydF9scGYpOwot
ICAgIGNwaS0+Yl9scGZfcnVubmluZyA9IDA7CiAKICAgICAvKiBmcmVlIHRocmVhZCByZWxhdGVk
IHJlc291cmNlcyAqLwotICAgIHZweF9mcmVlKGNwaS0+bXRfY3VycmVudF9tYl9jb2wpOwotICAg
IGNwaS0+bXRfY3VycmVudF9tYl9jb2wgPSBOVUxMOwotICAgIGNwaS0+bXRfY3VycmVudF9tYl9j
b2xfc2l6ZSA9IDA7CiAgICAgdnB4X2ZyZWUoY3BpLT5oX2V2ZW50X3N0YXJ0X2VuY29kaW5nKTsK
LSAgICBjcGktPmhfZXZlbnRfc3RhcnRfZW5jb2RpbmcgPSBOVUxMOwogICAgIHZweF9mcmVlKGNw
aS0+aF9ldmVudF9lbmRfZW5jb2RpbmcpOwotICAgIGNwaS0+aF9ldmVudF9lbmRfZW5jb2Rpbmcg
PSBOVUxMOwogICAgIHZweF9mcmVlKGNwaS0+aF9lbmNvZGluZ190aHJlYWQpOwotICAgIGNwaS0+
aF9lbmNvZGluZ190aHJlYWQgPSBOVUxMOwogICAgIHZweF9mcmVlKGNwaS0+bWJfcm93X2VpKTsK
LSAgICBjcGktPm1iX3Jvd19laSA9IE5VTEw7CiAgICAgdnB4X2ZyZWUoY3BpLT5lbl90aHJlYWRf
ZGF0YSk7Ci0gICAgY3BpLT5lbl90aHJlYWRfZGF0YSA9IE5VTEw7Ci0gICAgY3BpLT5lbmNvZGlu
Z190aHJlYWRfY291bnQgPSAwOwogICB9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2VuY29kZXIvZmlyc3RwYXNzLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2ZpcnN0
cGFzcy5jCmluZGV4IDQ0NDNmNWU3Y2RmYi4uOTgxYzBmZGUzNWZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9lbmNvZGVyL2ZpcnN0cGFzcy5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvZmlyc3RwYXNzLmMKQEAgLTQxMiw3ICs0MTIsNyBAQCBzdGF0aWMgdm9pZCBmaXJzdF9wYXNz
X21vdGlvbl9zZWFyY2goVlA4X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwKICAgaW50X212IHJl
Zl9tdl9mdWxsOwogCiAgIGludCB0bXBfZXJyOwotICBpbnQgc3RlcF9wYXJhbSA9IDM7IC8qIERv
bid0IHNlYXJjaCBvdmVyIGZ1bGwgcmFuZ2UgZm9yIGZpcnN0IHBhc3MgKi8KKyAgaW50IHN0ZXBf
cGFyYW0gPSAzOyAvKiBEb250IHNlYXJjaCBvdmVyIGZ1bGwgcmFuZ2UgZm9yIGZpcnN0IHBhc3Mg
Ki8KICAgaW50IGZ1cnRoZXJfc3RlcHMgPSAoTUFYX01WU0VBUkNIX1NURVBTIC0gMSkgLSBzdGVw
X3BhcmFtOwogICBpbnQgbjsKICAgdnA4X3ZhcmlhbmNlX2ZuX3B0cl90IHZfZm5fcHRyID0gY3Bp
LT5mbl9wdHJbQkxPQ0tfMTZYMTZdOwpAQCAtNTY3LDcgKzU2Nyw3IEBAIHZvaWQgdnA4X2ZpcnN0
X3Bhc3MoVlA4X0NPTVAgKmNwaSkgewogICAgICAgdnA4X2NvcHlfbWVtMTZ4MTYoeC0+c3JjLnlf
YnVmZmVyLCB4LT5zcmMueV9zdHJpZGUsIHgtPnRoaXNtYiwgMTYpOwogCiAgICAgICAvKiBkbyBp
bnRyYSAxNngxNiBwcmVkaWN0aW9uICovCi0gICAgICB0aGlzX2Vycm9yID0gdnA4X2VuY29kZV9p
bnRyYSh4LCB1c2VfZGNfcHJlZCk7CisgICAgICB0aGlzX2Vycm9yID0gdnA4X2VuY29kZV9pbnRy
YShjcGksIHgsIHVzZV9kY19wcmVkKTsKIAogICAgICAgLyogImludHJhcGVuYWx0eSIgYmVsb3cg
ZGVhbHMgd2l0aCBzaXR1YXRpb25zIHdoZXJlIHRoZSBpbnRyYQogICAgICAgICogYW5kIGludGVy
IGVycm9yIHNjb3JlcyBhcmUgdmVyeSBsb3cgKGVnIGEgcGxhaW4gYmxhY2sgZnJhbWUpCkBAIC04
MjEsNiArODIxLDIyIEBAIHZvaWQgdnA4X2ZpcnN0X3Bhc3MoVlA4X0NPTVAgKmNwaSkgewogICAg
IHZwOF95djEyX2NvcHlfZnJhbWUobHN0X3l2MTIsIGdsZF95djEyKTsKICAgfQogCisgIC8qIHVz
ZSB0aGlzIHRvIHNlZSB3aGF0IHRoZSBmaXJzdCBwYXNzIHJlY29uc3RydWN0aW9uIGxvb2tzIGxp
a2UgKi8KKyAgaWYgKDApIHsKKyAgICBjaGFyIGZpbGVuYW1lWzUxMl07CisgICAgRklMRSAqcmVj
b25fZmlsZTsKKyAgICBzcHJpbnRmKGZpbGVuYW1lLCAiZW5jJTA0ZC55dXYiLCAoaW50KWNtLT5j
dXJyZW50X3ZpZGVvX2ZyYW1lKTsKKworICAgIGlmIChjbS0+Y3VycmVudF92aWRlb19mcmFtZSA9
PSAwKSB7CisgICAgICByZWNvbl9maWxlID0gZm9wZW4oZmlsZW5hbWUsICJ3YiIpOworICAgIH0g
ZWxzZSB7CisgICAgICByZWNvbl9maWxlID0gZm9wZW4oZmlsZW5hbWUsICJhYiIpOworICAgIH0K
KworICAgICh2b2lkKWZ3cml0ZShsc3RfeXYxMi0+YnVmZmVyX2FsbG9jLCBsc3RfeXYxMi0+ZnJh
bWVfc2l6ZSwgMSwgcmVjb25fZmlsZSk7CisgICAgZmNsb3NlKHJlY29uX2ZpbGUpOworICB9CisK
ICAgY20tPmN1cnJlbnRfdmlkZW9fZnJhbWUrKzsKIH0KIGV4dGVybiBjb25zdCBpbnQgdnA4X2Jp
dHNfcGVyX21iWzJdW1FJTkRFWF9SQU5HRV07CkBAIC04ODcsOSArOTAzLDkgQEAgc3RhdGljIGRv
dWJsZSBjYWxjX2NvcnJlY3Rpb25fZmFjdG9yKGRvdWJsZSBlcnJfcGVyX21iLCBkb3VibGUgZXJy
X2Rldmlzb3IsCiAgIGNvcnJlY3Rpb25fZmFjdG9yID0gcG93KGVycm9yX3Rlcm0sIHBvd2VyX3Rl
cm0pOwogCiAgIC8qIENsaXAgcmFuZ2UgKi8KLSAgY29ycmVjdGlvbl9mYWN0b3IgPSAoY29ycmVj
dGlvbl9mYWN0b3IgPCAwLjA1KSAgPyAwLjA1Ci0gICAgICAgICAgICAgICAgICAgICAgOiAoY29y
cmVjdGlvbl9mYWN0b3IgPiA1LjApID8gNS4wCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogY29ycmVjdGlvbl9mYWN0b3I7CisgIGNvcnJlY3Rpb25f
ZmFjdG9yID0gKGNvcnJlY3Rpb25fZmFjdG9yIDwgMC4wNSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgPyAwLjA1CisgICAgICAgICAgICAgICAgICAgICAgICAgIDogKGNvcnJlY3Rpb25fZmFj
dG9yID4gNS4wKSA/IDUuMCA6IGNvcnJlY3Rpb25fZmFjdG9yOwogCiAgIHJldHVybiBjb3JyZWN0
aW9uX2ZhY3RvcjsKIH0KQEAgLTkzMSwxMCArOTQ3LDExIEBAIHN0YXRpYyBpbnQgZXN0aW1hdGVf
bWF4X3EoVlA4X0NPTVAgKmNwaSwgRklSU1RQQVNTX1NUQVRTICpmcHN0YXRzLAogICAgIH0KIAog
ICAgIGNwaS0+dHdvcGFzcy5lc3RfbWF4X3Fjb3JyZWN0aW9uX2ZhY3RvciA9Ci0gICAgICAgIChj
cGktPnR3b3Bhc3MuZXN0X21heF9xY29ycmVjdGlvbl9mYWN0b3IgPCAwLjEpID8gMC4xCi0gICAg
ICAgIDogKGNwaS0+dHdvcGFzcy5lc3RfbWF4X3Fjb3JyZWN0aW9uX2ZhY3RvciA+IDEwLjApCi0g
ICAgICAgICAgICA/IDEwLjAKLSAgICAgICAgICAgIDogY3BpLT50d29wYXNzLmVzdF9tYXhfcWNv
cnJlY3Rpb25fZmFjdG9yOworICAgICAgICAoY3BpLT50d29wYXNzLmVzdF9tYXhfcWNvcnJlY3Rp
b25fZmFjdG9yIDwgMC4xKQorICAgICAgICAgICAgPyAwLjEKKyAgICAgICAgICAgIDogKGNwaS0+
dHdvcGFzcy5lc3RfbWF4X3Fjb3JyZWN0aW9uX2ZhY3RvciA+IDEwLjApCisgICAgICAgICAgICAg
ICAgICA/IDEwLjAKKyAgICAgICAgICAgICAgICAgIDogY3BpLT50d29wYXNzLmVzdF9tYXhfcWNv
cnJlY3Rpb25fZmFjdG9yOwogICB9CiAKICAgLyogQ29ycmVjdGlvbnMgZm9yIGhpZ2hlciBjb21w
cmVzc2lvbiBzcGVlZCBzZXR0aW5ncwpAQCAtMTAyMiw2ICsxMDM5LDEyIEBAIHN0YXRpYyBpbnQg
ZXN0aW1hdGVfY3EoVlA4X0NPTVAgKmNwaSwgRklSU1RQQVNTX1NUQVRTICpmcHN0YXRzLAogICBk
b3VibGUgY2xpcF9paWZhY3RvcjsKICAgaW50IG92ZXJoZWFkX2JpdHNfcGVyX21iOwogCisgIGlm
ICgwKSB7CisgICAgRklMRSAqZiA9IGZvcGVuKCJlcG1wLnN0dCIsICJhIik7CisgICAgZnByaW50
ZihmLCAiJTEwLjJmXG4iLCBlcnJfcGVyX21iKTsKKyAgICBmY2xvc2UoZik7CisgIH0KKwogICB0
YXJnZXRfbm9ybV9iaXRzX3Blcl9tYiA9IChzZWN0aW9uX3RhcmdldF9iYW5kd2l0ZGggPCAoMSA8
PCAyMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKDUxMiAqIHNlY3Rpb25f
dGFyZ2V0X2JhbmR3aXRkaCkgLyBudW1fbWJzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDogNTEyICogKHNlY3Rpb25fdGFyZ2V0X2JhbmR3aXRkaCAvIG51bV9tYnMpOwpAQCAtMTE1
NSw5ICsxMTc4LDEwIEBAIHN0YXRpYyBpbnQgZXN0aW1hdGVfa2ZfZ3JvdXBfcShWUDhfQ09NUCAq
Y3BpLCBkb3VibGUgc2VjdGlvbl9lcnIsCiAgIH0gZWxzZSB7CiAgICAgY3VycmVudF9zcGVuZF9y
YXRpbyA9IChkb3VibGUpY3BpLT5sb25nX3JvbGxpbmdfYWN0dWFsX2JpdHMgLwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAoZG91YmxlKWNwaS0+bG9uZ19yb2xsaW5nX3RhcmdldF9iaXRzOwot
ICAgIGN1cnJlbnRfc3BlbmRfcmF0aW8gPSAoY3VycmVudF9zcGVuZF9yYXRpbyA+IDEwLjApICA/
IDEwLjAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoY3VycmVudF9zcGVuZF9yYXRpbyA8
IDAuMSkgPyAwLjEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiBjdXJyZW50X3NwZW5kX3JhdGlvOworICAgIGN1cnJlbnRfc3BlbmRfcmF0
aW8gPQorICAgICAgICAoY3VycmVudF9zcGVuZF9yYXRpbyA+IDEwLjApCisgICAgICAgICAgICA/
IDEwLjAKKyAgICAgICAgICAgIDogKGN1cnJlbnRfc3BlbmRfcmF0aW8gPCAwLjEpID8gMC4xIDog
Y3VycmVudF9zcGVuZF9yYXRpbzsKICAgfQogCiAgIC8qIENhbGN1bGF0ZSBhIGNvcnJlY3Rpb24g
ZmFjdG9yIGJhc2VkIG9uIHRoZSBxdWFsaXR5IG9mIHByZWRpY3Rpb24gaW4KQEAgLTEyMDgsNiAr
MTIzMiwxNyBAQCBzdGF0aWMgaW50IGVzdGltYXRlX2tmX2dyb3VwX3EoVlA4X0NPTVAgKmNwaSwg
ZG91YmxlIHNlY3Rpb25fZXJyLAogICAgIFErKzsKICAgfQogCisgIGlmICgwKSB7CisgICAgRklM
RSAqZiA9IGZvcGVuKCJlc3RrZl9xLnN0dCIsICJhIik7CisgICAgZnByaW50ZihmLCAiJThkICU4
ZCAlOGQgJTguMmYgJTguM2YgJTguMmYgJTguM2YgJTguM2YgJTguM2YgJThkXG4iLAorICAgICAg
ICAgICAgY3BpLT5jb21tb24uY3VycmVudF92aWRlb19mcmFtZSwgYml0c19wZXJfbWJfYXRfdGhp
c19xLAorICAgICAgICAgICAgdGFyZ2V0X25vcm1fYml0c19wZXJfbWIsIGVycl9wZXJfbWIsIGVy
cl9jb3JyZWN0aW9uX2ZhY3RvciwKKyAgICAgICAgICAgIGN1cnJlbnRfc3BlbmRfcmF0aW8sIGdy
b3VwX2lpcmF0aW8sIGlpcmF0aW9fY29ycmVjdGlvbl9mYWN0b3IsCisgICAgICAgICAgICAoZG91
YmxlKWNwaS0+YnVmZmVyX2xldmVsIC8gKGRvdWJsZSljcGktPm94Y2Yub3B0aW1hbF9idWZmZXJf
bGV2ZWwsCisgICAgICAgICAgICBRKTsKKyAgICBmY2xvc2UoZik7CisgIH0KKwogICByZXR1cm4g
UTsKIH0KIApAQCAtMTUwNCw3ICsxNTM5LDcgQEAgc3RhdGljIGludCBjYWxjX2FyZl9ib29zdChW
UDhfQ09NUCAqY3BpLCBpbnQgb2Zmc2V0LCBpbnQgZl9mcmFtZXMsIGludCBiX2ZyYW1lcywKICAg
ICAvKiBDYWxjdWxhdGUgdGhlIGJhc2VsaW5lIGJvb3N0IG51bWJlciBmb3IgdGhpcyBmcmFtZSAq
LwogICAgIHIgPSBjYWxjX2ZyYW1lX2Jvb3N0KGNwaSwgJnRoaXNfZnJhbWUsIHRoaXNfZnJhbWVf
bXZfaW5fb3V0KTsKIAotICAgIC8qIFdlIHdhbnQgdG8gZGlzY291bnQgdGhlIGZsYXNoIGZyYW1l
IGl0c2VsZiBhbmQgdGhlIHJlY292ZXJ5CisgICAgLyogV2Ugd2FudCB0byBkaXNjb3VudCB0aGUg
dGhlIGZsYXNoIGZyYW1lIGl0c2VsZiBhbmQgdGhlIHJlY292ZXJ5CiAgICAgICogZnJhbWUgdGhh
dCBmb2xsb3dzIGFzIGJvdGggd2lsbCBoYXZlIHBvb3Igc2NvcmVzLgogICAgICAqLwogICAgIGZs
YXNoX2RldGVjdGVkID0KQEAgLTE1NDgsNyArMTU4Myw3IEBAIHN0YXRpYyBpbnQgY2FsY19hcmZf
Ym9vc3QoVlA4X0NPTVAgKmNwaSwgaW50IG9mZnNldCwgaW50IGZfZnJhbWVzLCBpbnQgYl9mcmFt
ZXMsCiAgICAgLyogQ2FsY3VsYXRlIHRoZSBiYXNlbGluZSBib29zdCBudW1iZXIgZm9yIHRoaXMg
ZnJhbWUgKi8KICAgICByID0gY2FsY19mcmFtZV9ib29zdChjcGksICZ0aGlzX2ZyYW1lLCB0aGlz
X2ZyYW1lX212X2luX291dCk7CiAKLSAgICAvKiBXZSB3YW50IHRvIGRpc2NvdW50IHRoZSBmbGFz
aCBmcmFtZSBpdHNlbGYgYW5kIHRoZSByZWNvdmVyeQorICAgIC8qIFdlIHdhbnQgdG8gZGlzY291
bnQgdGhlIHRoZSBmbGFzaCBmcmFtZSBpdHNlbGYgYW5kIHRoZSByZWNvdmVyeQogICAgICAqIGZy
YW1lIHRoYXQgZm9sbG93cyBhcyBib3RoIHdpbGwgaGF2ZSBwb29yIHNjb3Jlcy4KICAgICAgKi8K
ICAgICBmbGFzaF9kZXRlY3RlZCA9CkBAIC0xNTk2LDYgKzE2MzEsNyBAQCBzdGF0aWMgdm9pZCBk
ZWZpbmVfZ2ZfZ3JvdXAoVlA4X0NPTVAgKmNwaSwgRklSU1RQQVNTX1NUQVRTICp0aGlzX2ZyYW1l
KSB7CiAgIGRvdWJsZSB0aGlzX2ZyYW1lX212X2luX291dCA9IDAuMDsKICAgZG91YmxlIG12X2lu
X291dF9hY2N1bXVsYXRvciA9IDAuMDsKICAgZG91YmxlIGFic19tdl9pbl9vdXRfYWNjdW11bGF0
b3IgPSAwLjA7CisgIGRvdWJsZSBtb2RfZXJyX3Blcl9tYl9hY2N1bXVsYXRvciA9IDAuMDsKIAog
ICBpbnQgbWF4X2JpdHMgPSBmcmFtZV9tYXhfYml0cyhjcGkpOyAvKiBNYXggZm9yIGEgc2luZ2xl
IGZyYW1lICovCiAKQEAgLTE2NDYsNiArMTY4Miw5IEBAIHN0YXRpYyB2b2lkIGRlZmluZV9nZl9n
cm91cChWUDhfQ09NUCAqY3BpLCBGSVJTVFBBU1NfU1RBVFMgKnRoaXNfZnJhbWUpIHsKIAogICAg
IGdmX2dyb3VwX2VyciArPSBtb2RfZnJhbWVfZXJyOwogCisgICAgbW9kX2Vycl9wZXJfbWJfYWNj
dW11bGF0b3IgKz0KKyAgICAgICAgbW9kX2ZyYW1lX2VyciAvIERPVUJMRV9ESVZJREVfQ0hFQ0so
KGRvdWJsZSljcGktPmNvbW1vbi5NQnMpOworCiAgICAgaWYgKEVPRiA9PSBpbnB1dF9zdGF0cyhj
cGksICZuZXh0X2ZyYW1lKSkgYnJlYWs7CiAKICAgICAvKiBUZXN0IGZvciB0aGUgY2FzZSB3aGVy
ZSB0aGVyZSBpcyBhIGJyaWVmIGZsYXNoIGJ1dCB0aGUgcHJlZGljdGlvbgpAQCAtMTY4NCw5ICsx
NzIzLDkgQEAgc3RhdGljIHZvaWQgZGVmaW5lX2dmX2dyb3VwKFZQOF9DT01QICpjcGksIEZJUlNU
UEFTU19TVEFUUyAqdGhpc19mcmFtZSkgewogICAgICAgICAvKiBCcmVhayBhdCBjcGktPm1heF9n
Zl9pbnRlcnZhbCB1bmxlc3MgYWxtb3N0IHRvdGFsbHkgc3RhdGljICovCiAgICAgICAgIChpID49
IGNwaS0+bWF4X2dmX2ludGVydmFsICYmIChkZWNheV9hY2N1bXVsYXRvciA8IDAuOTk1KSkgfHwK
ICAgICAgICAgKAotICAgICAgICAgICAgLyogRG9uJ3QgYnJlYWsgb3V0IHdpdGggYSB2ZXJ5IHNo
b3J0IGludGVydmFsICovCisgICAgICAgICAgICAvKiBEb250IGJyZWFrIG91dCB3aXRoIGEgdmVy
eSBzaG9ydCBpbnRlcnZhbCAqLwogICAgICAgICAgICAgKGkgPiBNSU5fR0ZfSU5URVJWQUwpICYm
Ci0gICAgICAgICAgICAvKiBEb24ndCBicmVhayBvdXQgdmVyeSBjbG9zZSB0byBhIGtleSBmcmFt
ZSAqLworICAgICAgICAgICAgLyogRG9udCBicmVhayBvdXQgdmVyeSBjbG9zZSB0byBhIGtleSBm
cmFtZSAqLwogICAgICAgICAgICAgKChjcGktPnR3b3Bhc3MuZnJhbWVzX3RvX2tleSAtIGkpID49
IE1JTl9HRl9JTlRFUlZBTCkgJiYKICAgICAgICAgICAgICgoYm9vc3Rfc2NvcmUgPiAyMC4wKSB8
fCAobmV4dF9mcmFtZS5wY250X2ludGVyIDwgMC43NSkpICYmCiAgICAgICAgICAgICAoIWZsYXNo
X2RldGVjdGVkKSAmJgpAQCAtMTczMiw3ICsxNzcxLDcgQEAgc3RhdGljIHZvaWQgZGVmaW5lX2dm
X2dyb3VwKFZQOF9DT01QICpjcGksIEZJUlNUUEFTU19TVEFUUyAqdGhpc19mcmFtZSkgewogICAg
IGlmIChib29zdF9zY29yZSA+IG1heF9ib29zdCkgYm9vc3Rfc2NvcmUgPSBtYXhfYm9vc3Q7CiAg
IH0KIAotICAvKiBEb24ndCBhbGxvdyBjb252ZW50aW9uYWwgZ2YgdG9vIG5lYXIgdGhlIG5leHQg
a2YgKi8KKyAgLyogRG9udCBhbGxvdyBjb252ZW50aW9uYWwgZ2YgdG9vIG5lYXIgdGhlIG5leHQg
a2YgKi8KICAgaWYgKChjcGktPnR3b3Bhc3MuZnJhbWVzX3RvX2tleSAtIGkpIDwgTUlOX0dGX0lO
VEVSVkFMKSB7CiAgICAgd2hpbGUgKGkgPCBjcGktPnR3b3Bhc3MuZnJhbWVzX3RvX2tleSkgewog
ICAgICAgaSsrOwpAQCAtMTc1Myw5ICsxNzkyLDkgQEAgc3RhdGljIHZvaWQgZGVmaW5lX2dmX2dy
b3VwKFZQOF9DT01QICpjcGksIEZJUlNUUEFTU19TVEFUUyAqdGhpc19mcmFtZSkgewogICBhbHRf
Ym9vc3QgPSBjYWxjX2FyZl9ib29zdChjcGksIDAsIChpIC0gMSksIChpIC0gMSksICZmX2Jvb3N0
LCAmYl9ib29zdCk7CiAjZW5kaWYKIAotICAvKiBTaG91bGQgd2UgdXNlIHRoZSBhbHRlcm5hdGUg
cmVmZXJlbmNlIGZyYW1lICovCisgIC8qIFNob3VsZCB3ZSB1c2UgdGhlIGFsdGVybmF0ZSByZWZl
cm5jZSBmcmFtZSAqLwogICBpZiAoYWxsb3dfYWx0X3JlZiAmJiAoaSA+PSBNSU5fR0ZfSU5URVJW
QUwpICYmCi0gICAgICAvKiBkb24ndCB1c2UgQVJGIHZlcnkgbmVhciBuZXh0IGtmICovCisgICAg
ICAvKiBkb250IHVzZSBBUkYgdmVyeSBuZWFyIG5leHQga2YgKi8KICAgICAgIChpIDw9IChjcGkt
PnR3b3Bhc3MuZnJhbWVzX3RvX2tleSAtIE1JTl9HRl9JTlRFUlZBTCkpICYmCiAjaWYgTkVXX0JP
T1NUCiAgICAgICAoKG5leHRfZnJhbWUucGNudF9pbnRlciA+IDAuNzUpIHx8IChuZXh0X2ZyYW1l
LnBjbnRfc2Vjb25kX3JlZiA+IDAuNSkpICYmCkBAIC0xOTMzLDEwICsxOTcyLDExIEBAIHN0YXRp
YyB2b2lkIGRlZmluZV9nZl9ncm91cChWUDhfQ09NUCAqY3BpLCBGSVJTVFBBU1NfU1RBVFMgKnRo
aXNfZnJhbWUpIHsKICAgfQogCiAgIGNwaS0+dHdvcGFzcy5nZl9ncm91cF9iaXRzID0KLSAgICAg
IChjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXBfYml0cyA8IDApID8gMAotICAgICAgOiAoY3BpLT50d29w
YXNzLmdmX2dyb3VwX2JpdHMgPiBjcGktPnR3b3Bhc3Mua2ZfZ3JvdXBfYml0cykKLSAgICAgICAg
ICA/IGNwaS0+dHdvcGFzcy5rZl9ncm91cF9iaXRzCi0gICAgICAgICAgOiBjcGktPnR3b3Bhc3Mu
Z2ZfZ3JvdXBfYml0czsKKyAgICAgIChjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXBfYml0cyA8IDApCisg
ICAgICAgICAgPyAwCisgICAgICAgICAgOiAoY3BpLT50d29wYXNzLmdmX2dyb3VwX2JpdHMgPiBj
cGktPnR3b3Bhc3Mua2ZfZ3JvdXBfYml0cykKKyAgICAgICAgICAgICAgICA/IGNwaS0+dHdvcGFz
cy5rZl9ncm91cF9iaXRzCisgICAgICAgICAgICAgICAgOiBjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXBf
Yml0czsKIAogICAvKiBDbGlwIGNwaS0+dHdvcGFzcy5nZl9ncm91cF9iaXRzIGJhc2VkIG9uIHVz
ZXIgc3VwcGxpZWQgZGF0YSByYXRlCiAgICAqIHZhcmlhYmlsaXR5IGxpbWl0IChjcGktPm94Y2Yu
dHdvX3Bhc3NfdmJybWF4X3NlY3Rpb24pCkBAIC0yMDQ5LDcgKzIwODksNyBAQCBzdGF0aWMgdm9p
ZCBkZWZpbmVfZ2ZfZ3JvdXAoVlA4X0NPTVAgKmNwaSwgRklSU1RQQVNTX1NUQVRTICp0aGlzX2Zy
YW1lKSB7CiAgICAgICB9CiAgICAgfQogCi0gICAgLyogRG9uJ3QgYWxsb3cgYSBuZWdhdGl2ZSB2
YWx1ZSBmb3IgZ2ZfYml0cyAqLworICAgIC8qIERvbnQgYWxsb3cgYSBuZWdhdGl2ZSB2YWx1ZSBm
b3IgZ2ZfYml0cyAqLwogICAgIGlmIChnZl9iaXRzIDwgMCkgZ2ZfYml0cyA9IDA7CiAKICAgICAv
KiBBZGQgaW4gbWluaW11bSBmb3IgYSBmcmFtZSAqLwpAQCAtMjA5MCw3ICsyMTMwLDcgQEAgc3Rh
dGljIHZvaWQgZGVmaW5lX2dmX2dyb3VwKFZQOF9DT01QICpjcGksIEZJUlNUUEFTU19TVEFUUyAq
dGhpc19mcmFtZSkgewogICAgIGlmIChjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXBfYml0cyA8IDApIGNw
aS0+dHdvcGFzcy5nZl9ncm91cF9iaXRzID0gMDsKIAogICAgIC8qIFRoaXMgY29uZGl0aW9uIGNv
dWxkIGZhaWwgaWYgdGhlcmUgYXJlIHR3byBrZnMgdmVyeSBjbG9zZSB0b2dldGhlcgotICAgICAq
IGRlc3BpdGUgKE1JTl9HRl9JTlRFUlZBTCkgYW5kIHdvdWxkIGNhdXNlIGEgZGl2aWRlIGJ5IDAg
aW4gdGhlCisgICAgICogZGVzcGl0ZSAoTUlOX0dGX0lOVEVSVkFMKSBhbmQgd291bGQgY2F1c2Ug
YSBkZXZpZGUgYnkgMCBpbiB0aGUKICAgICAgKiBjYWxjdWxhdGlvbiBvZiBjcGktPnR3b3Bhc3Mu
YWx0X2V4dHJhX2JpdHMuCiAgICAgICovCiAgICAgaWYgKGNwaS0+YmFzZWxpbmVfZ2ZfaW50ZXJ2
YWwgPj0gMykgewpAQCAtMjM2MCw3ICsyNDAwLDcgQEAgdm9pZCB2cDhfc2Vjb25kX3Bhc3MoVlA4
X0NPTVAgKmNwaSkgewogICB9CiAKICAgLyogVGhlIGxhc3QgZmV3IGZyYW1lcyBvZiBhIGNsaXAg
YWxtb3N0IGFsd2F5cyBoYXZlIHRvIGZldyBvciB0b28gbWFueQotICAgKiBiaXRzIGFuZCBmb3Ig
dGhlIHNha2Ugb2Ygb3ZlciBleGFjdCByYXRlIGNvbnRyb2wgd2UgZG9uJ3Qgd2FudCB0byBtYWtl
CisgICAqIGJpdHMgYW5kIGZvciB0aGUgc2FrZSBvZiBvdmVyIGV4YWN0IHJhdGUgY29udHJvbCB3
ZSBkb250IHdhbnQgdG8gbWFrZQogICAgKiByYWRpY2FsIGFkanVzdG1lbnRzIHRvIHRoZSBhbGxv
d2VkIHF1YW50aXplciByYW5nZSBqdXN0IHRvIHVzZSB1cCBhCiAgICAqIGZldyBzdXJwbHVzIGJp
dHMgb3IgZ2V0IGJlbmVhdGggdGhlIHRhcmdldCByYXRlLgogICAgKi8KQEAgLTI5NTcsOCArMjk5
Nyw4IEBAIHN0YXRpYyB2b2lkIGZpbmRfbmV4dF9rZXlfZnJhbWUoVlA4X0NPTVAgKmNwaSwgRklS
U1RQQVNTX1NUQVRTICp0aGlzX2ZyYW1lKSB7CiAgICAgfQogCiAgICAgLyogU2V0IGJhY2sgdG8g
dW5zY2FsZWQgYnkgZGVmYXVsdHMgKi8KLSAgICBjcGktPmNvbW1vbi5ob3Jpel9zY2FsZSA9IFZQ
OEVfTk9STUFMOwotICAgIGNwaS0+Y29tbW9uLnZlcnRfc2NhbGUgPSBWUDhFX05PUk1BTDsKKyAg
ICBjcGktPmNvbW1vbi5ob3Jpel9zY2FsZSA9IE5PUk1BTDsKKyAgICBjcGktPmNvbW1vbi52ZXJ0
X3NjYWxlID0gTk9STUFMOwogCiAgICAgLyogQ2FsY3VsYXRlIEF2ZXJhZ2UgYml0cyBwZXIgZnJh
bWUuICovCiAgICAgYXZfYml0c19wZXJfZnJhbWUgPSBjcGktPm94Y2YudGFyZ2V0X2JhbmR3aWR0
aCAvCkBAIC0yOTc4LDcgKzMwMTgsNyBAQCBzdGF0aWMgdm9pZCBmaW5kX25leHRfa2V5X2ZyYW1l
KFZQOF9DT01QICpjcGksIEZJUlNUUEFTU19TVEFUUyAqdGhpc19mcmFtZSkgewogICAgICAgYml0
c19wZXJfZnJhbWUgPQogICAgICAgICAgIChkb3VibGUpKGNwaS0+dHdvcGFzcy5rZl9ncm91cF9i
aXRzIC8gY3BpLT50d29wYXNzLmZyYW1lc190b19rZXkpOwogCi0gICAgICAvKiBEb24ndCB0dXJu
IHRvIHJlc2FtcGxpbmcgaW4gZWFzeSBzZWN0aW9ucyBqdXN0IGJlY2F1c2UgdGhleQorICAgICAg
LyogRG9udCB0dXJuIHRvIHJlc2FtcGxpbmcgaW4gZWFzeSBzZWN0aW9ucyBqdXN0IGJlY2F1c2Ug
dGhleQogICAgICAgICogaGF2ZSBiZWVuIGFzc2lnbmVkIGEgc21hbGwgbnVtYmVyIG9mIGJpdHMK
ICAgICAgICAqLwogICAgICAgaWYgKGJpdHNfcGVyX2ZyYW1lIDwgYXZfYml0c19wZXJfZnJhbWUp
IHsKQEAgLTMwMTQsNiArMzA1NCwxNiBAQCBzdGF0aWMgdm9pZCBmaW5kX25leHRfa2V5X2ZyYW1l
KFZQOF9DT01QICpjcGksIEZJUlNUUEFTU19TVEFUUyAqdGhpc19mcmFtZSkgewogICAgICAgICAg
ICAgICAoaW50KSgocHJvamVjdGVkX2JpdHNfcGVyZnJhbWUgLSBhdl9iaXRzX3Blcl9mcmFtZSkg
KgogICAgICAgICAgICAgICAgICAgICBjcGktPnR3b3Bhc3MuZnJhbWVzX3RvX2tleSkpOwogCisg
ICAgaWYgKDApIHsKKyAgICAgIEZJTEUgKmYgPSBmb3BlbigiU3Vic2FtbGUuc3R0IiwgImEiKTsK
KyAgICAgIGZwcmludGYoZiwgIiAlOGQgJThkICU4ZCAlOGQgJTEyLjBmICU4ZCAlOGQgJThkXG4i
LAorICAgICAgICAgICAgICBjcGktPmNvbW1vbi5jdXJyZW50X3ZpZGVvX2ZyYW1lLCBrZl9xLCBj
cGktPmNvbW1vbi5ob3Jpel9zY2FsZSwKKyAgICAgICAgICAgICAgY3BpLT5jb21tb24udmVydF9z
Y2FsZSwga2ZfZ3JvdXBfZXJyIC8gY3BpLT50d29wYXNzLmZyYW1lc190b19rZXksCisgICAgICAg
ICAgICAgIChpbnQpKGNwaS0+dHdvcGFzcy5rZl9ncm91cF9iaXRzIC8gY3BpLT50d29wYXNzLmZy
YW1lc190b19rZXkpLAorICAgICAgICAgICAgICBuZXdfaGVpZ2h0LCBuZXdfd2lkdGgpOworICAg
ICAgZmNsb3NlKGYpOworICAgIH0KKwogICAgIC8qIFRoZSB0cmlnZ2VyIGZvciBzcGF0aWFsIHJl
c2FtcGxpbmcgZGVwZW5kcyBvbiB0aGUgdmFyaW91cwogICAgICAqIHBhcmFtZXRlcnMgc3VjaCBh
cyB3aGV0aGVyIHdlIGFyZSBzdHJlYW1pbmcgKENCUikgb3IgVkJSLgogICAgICAqLwpAQCAtMzA3
Nyw2ICszMTI3LDE3IEBAIHN0YXRpYyB2b2lkIGZpbmRfbmV4dF9rZXlfZnJhbWUoVlA4X0NPTVAg
KmNwaSwgRklSU1RQQVNTX1NUQVRTICp0aGlzX2ZyYW1lKSB7CiAgICAgICAgICAqLwogICAgICAg
ICBrZl9xID0gZXN0aW1hdGVfa2ZfZ3JvdXBfcShjcGksIGVycl9wZXJfZnJhbWUgKiBlZmZlY3Rp
dmVfc2l6ZV9yYXRpbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCli
aXRzX3Blcl9mcmFtZSwgZ3JvdXBfaWlyYXRpbyk7CisKKyAgICAgICAgaWYgKDApIHsKKyAgICAg
ICAgICBGSUxFICpmID0gZm9wZW4oIlN1YnNhbWxlLnN0dCIsICJhIik7CisgICAgICAgICAgZnBy
aW50ZigKKyAgICAgICAgICAgICAgZiwgIioqKioqKioqICU4ZCAlOGQgJThkICUxMi4wZiAlOGQg
JThkICU4ZFxuIiwga2ZfcSwKKyAgICAgICAgICAgICAgY3BpLT5jb21tb24uaG9yaXpfc2NhbGUs
IGNwaS0+Y29tbW9uLnZlcnRfc2NhbGUsCisgICAgICAgICAgICAgIGtmX2dyb3VwX2VyciAvIGNw
aS0+dHdvcGFzcy5mcmFtZXNfdG9fa2V5LAorICAgICAgICAgICAgICAoaW50KShjcGktPnR3b3Bh
c3Mua2ZfZ3JvdXBfYml0cyAvIGNwaS0+dHdvcGFzcy5mcmFtZXNfdG9fa2V5KSwKKyAgICAgICAg
ICAgICAgbmV3X2hlaWdodCwgbmV3X3dpZHRoKTsKKyAgICAgICAgICBmY2xvc2UoZik7CisgICAg
ICAgIH0KICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29k
ZXIvbG9va2FoZWFkLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2xvb2thaGVhZC5jCmluZGV4
IDQ5Zjg1MWQwMTk0MS4uMzdhYTllZWU4NDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9l
bmNvZGVyL2xvb2thaGVhZC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbG9va2FoZWFk
LmMKQEAgLTY2LDggKzY2LDggQEAgc3RydWN0IGxvb2thaGVhZF9jdHggKnZwOF9sb29rYWhlYWRf
aW5pdCh1bnNpZ25lZCBpbnQgd2lkdGgsCiAgIGRlcHRoICs9IDE7CiAKICAgLyogQWxpZ24gdGhl
IGJ1ZmZlciBkaW1lbnNpb25zICovCi0gIHdpZHRoID0gKHdpZHRoICsgMTUpICYgfjE1dTsKLSAg
aGVpZ2h0ID0gKGhlaWdodCArIDE1KSAmIH4xNXU7CisgIHdpZHRoID0gKHdpZHRoICsgMTUpICYg
fjE1OworICBoZWlnaHQgPSAoaGVpZ2h0ICsgMTUpICYgfjE1OwogCiAgIC8qIEFsbG9jYXRlIHRo
ZSBsb29rYWhlYWQgc3RydWN0dXJlcyAqLwogICBjdHggPSBjYWxsb2MoMSwgc2l6ZW9mKCpjdHgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbG9vbmdhcmNoL2RjdF9sc3gu
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbG9vbmdhcmNoL2RjdF9sc3guYwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTA4ZDRkM2Y2M2I3Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvZW5jb2Rlci9sb29uZ2FyY2gvZGN0X2xzeC5jCisrKyAvZGV2L251bGwKQEAg
LTEsMTYxICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIyIFRoZSBXZWJNIHByb2pl
Y3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2Fu
IGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQot
ICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFu
dCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGlu
ZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBp
biB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGludC5o
PgotI2luY2x1ZGUgIi4vdnA4X3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhfdXRpbC9sb29uZ3Nvbl9p
bnRyaW5zaWNzLmgiCi0KLSNkZWZpbmUgTFNYX1RSQU5TUE9TRTR4NF9IKF9pbjAsIF9pbjEsIF9p
bjIsIF9pbjMsIF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQzKSBcCi0gIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fbTEyOGkgX3MwLCBfczEsIF9zMiwgX3MzLCBfdDAsIF90MSwgX3QyLCBf
dDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIF9pbjIsIF9pbjAsIF9pbjMsIF9pbjEsIF9z
MCwgX3MxKTsgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9oLCBf
aW4yLCBfaW4wLCBfaW4zLCBfaW4xLCBfczIsIF9zMyk7ICAgICAgICAgICAgICAgIFwKLSAgICBf
dDAgPSBfX2xzeF92aWx2bF9oKF9zMSwgX3MwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX3QxID0gX19sc3hfdmlsdmhfaChfczEsIF9zMCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90MiA9IF9f
bHN4X3ZpbHZsX2goX3MzLCBfczIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfdDMgPSBfX2xzeF92aWx2aF9oKF9zMywgX3MyKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZwaWNrZXZfZCwgX3QyLCBfdDAsIF90MywgX3QxLCBfb3V0MCwgX291dDIpOyAgICAgICAgICAg
ICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92cGlja29kX2QsIF90MiwgX3QwLCBfdDMsIF90MSwg
X291dDEsIF9vdXQzKTsgICAgICAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIFNFVF9ET1RQX1ZB
TFVFUyhjb2VmZiwgdmFsMCwgdmFsMSwgdmFsMiwgY29uc3QxLCBjb25zdDIpICAgICAgICAgICBc
Ci0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSB0bXAwX20sIHRtcDFfbSwgdG1wMl9t
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgdG1wMF9tID0gX19sc3hfdnJlcGx2ZWlfaChjb2VmZiwgdmFsMCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZyZXBsdmVp
X2gsIGNvZWZmLCB2YWwxLCBjb2VmZiwgdmFsMiwgdG1wMV9tLCB0bXAyX20pOyBcCi0gICAgRFVQ
Ml9BUkcyKF9fbHN4X3ZwYWNrZXZfaCwgdG1wMV9tLCB0bXAwX20sIHRtcDBfbSwgdG1wMl9tLCBj
b25zdDEsICAgICBcCi0gICAgICAgICAgICAgIGNvbnN0Mik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotI2RlZmluZSBSRVRfMV9J
Rl9OWkVST19IKF9pbikgICAgICAgICAgIFwKLSAgKHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX19tMTI4aSB0bXBfbTsgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9fbTEyOGkgb25lX20gPSBfX2xzeF92bGRpKDB4NDAxKTsgIFwKLSAgICBfX20xMjhpIG1h
eF9tID0gX19sc3hfdmxkaSgweEZGKTsgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIHRtcF9tID0gX19sc3hfdnNlcWlfaChfaW4sIDApOyAgICAgIFwK
LSAgICB0bXBfbSA9IF9fbHN4X3Z4b3Jfdih0bXBfbSwgbWF4X20pOyBcCi0gICAgdG1wX20gPSBf
X2xzeF92YW5kX3YodG1wX20sIG9uZV9tKTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICB0bXBfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIH0pCi0KLXZvaWQgdnA4X3Nob3J0X2ZkY3Q0eDRfbHN4KGludDE2X3QgKmlucHV0LCBpbnQx
Nl90ICpvdXRwdXQsIGludDMyX3QgcGl0Y2gpIHsKLSAgX19tMTI4aSBpbjAsIGluMSwgaW4yLCBp
bjM7Ci0gIF9fbTEyOGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMywgY29uc3QwLCBjb25zdDE7Ci0g
IF9fbTEyOGkgY29lZmYgPSB7IDB4MzhhNGViMTgxNGU4MDhhOSwgMHg2NTkwNjFhODJlZTAxZDRj
IH07Ci0gIF9fbTEyOGkgb3V0MCwgb3V0MSwgb3V0Miwgb3V0MzsKLSAgX19tMTI4aSB6ZXJvID0g
X19sc3hfdmxkaSgwKTsKLSAgaW50MzJfdCBwaXRjaDIgPSBwaXRjaCA8PCAxOwotICBpbnQzMl90
IHBpdGNoMyA9IHBpdGNoMiArIHBpdGNoOwotCi0gIGluMCA9IF9fbHN4X3ZsZChpbnB1dCwgMCk7
Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBpbnB1dCwgcGl0Y2gsIGlucHV0LCBwaXRjaDIsIGlu
MSwgaW4yKTsKLSAgaW4zID0gX19sc3hfdmxkeChpbnB1dCwgcGl0Y2gzKTsKLQotICBMU1hfVFJB
TlNQT1NFNHg0X0goaW4wLCBpbjEsIGluMiwgaW4zLCBpbjAsIGluMSwgaW4yLCBpbjMpOwotICBM
U1hfQlVUVEVSRkxZXzRfSChpbjAsIGluMSwgaW4yLCBpbjMsIHRtcDAsIHRtcDEsIGluMSwgaW4z
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzbGxpX2gsIHRtcDAsIDMsIHRtcDEsIDMsIGluMSwgMywg
aW4zLCAzLCB0bXAwLCB0bXAxLCBpbjEsCi0gICAgICAgICAgICBpbjMpOwotICBpbjAgPSBfX2xz
eF92YWRkX2godG1wMCwgdG1wMSk7Ci0gIGluMiA9IF9fbHN4X3ZzdWJfaCh0bXAwLCB0bXAxKTsK
LSAgU0VUX0RPVFBfVkFMVUVTKGNvZWZmLCAwLCAxLCAyLCBjb25zdDAsIGNvbnN0MSk7Ci0gIHRt
cDAgPSBfX2xzeF92aWx2bF9oKGluMywgaW4xKTsKLSAgaW4xID0gX19sc3hfdnJlcGx2ZWlfaChj
b2VmZiwgMyk7Ci0gIG91dDAgPSBfX2xzeF92cGFja2V2X2goemVybywgaW4xKTsKLSAgY29lZmYg
PSBfX2xzeF92aWx2bF9oKHplcm8sIGNvZWZmKTsKLSAgb3V0MSA9IF9fbHN4X3ZyZXBsdmVpX3co
Y29lZmYsIDApOwotICBEVVAyX0FSRzMoX19sc3hfdmRwMmFkZF93X2gsIG91dDAsIHRtcDAsIGNv
bnN0MCwgb3V0MSwgdG1wMCwgY29uc3QxLCBvdXQwLAotICAgICAgICAgICAgb3V0MSk7Ci0gIERV
UDJfQVJHMyhfX2xzeF92c3JhbmlfaF93LCBvdXQwLCBvdXQwLCAxMiwgb3V0MSwgb3V0MSwgMTIs
IGluMSwgaW4zKTsKLSAgTFNYX1RSQU5TUE9TRTR4NF9IKGluMCwgaW4xLCBpbjIsIGluMywgaW4w
LCBpbjEsIGluMiwgaW4zKTsKLSAgTFNYX0JVVFRFUkZMWV80X0goaW4wLCBpbjEsIGluMiwgaW4z
LCB0bXAwLCB0bXAxLCBpbjEsIGluMyk7Ci0gIHRtcDIgPSBfX2xzeF92YWRkX2godG1wMCwgdG1w
MSk7Ci0gIHRtcDMgPSBfX2xzeF92c3ViX2godG1wMCwgdG1wMSk7Ci0gIERVUDJfQVJHMihfX2xz
eF92YWRkaV9odSwgdG1wMiwgNywgdG1wMywgNywgaW4wLCBpbjIpOwotICBEVVAyX0FSRzIoX19s
c3hfdnNyYWlfaCwgaW4wLCA0LCBpbjIsIDQsIGluMCwgaW4yKTsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZpbHZsX2gsIHplcm8sIGluMCwgemVybywgaW4yLCBvdXQwLCBvdXQyKTsKLSAgdG1wMSA9IFJF
VF8xX0lGX05aRVJPX0goaW4zKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIHplcm8sIHRt
cDEsIGluMywgaW4xLCB0bXAxLCB0bXAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZyZXBsdmVpX3cs
IGNvZWZmLCAyLCBjb2VmZiwgMywgb3V0Mywgb3V0MSk7Ci0gIG91dDMgPSBfX2xzeF92YWRkX3co
b3V0Mywgb3V0MSk7Ci0gIG91dDEgPSBfX2xzeF92cmVwbHZlaV93KGNvZWZmLCAxKTsKLSAgRFVQ
Ml9BUkczKF9fbHN4X3ZkcDJhZGRfd19oLCBvdXQxLCB0bXAwLCBjb25zdDAsIG91dDMsIHRtcDAs
IGNvbnN0MSwgb3V0MSwKLSAgICAgICAgICAgIG91dDMpOwotICBEVVAyX0FSRzIoX19sc3hfdnNy
YWlfdywgb3V0MSwgMTYsIG91dDMsIDE2LCBvdXQxLCBvdXQzKTsKLSAgb3V0MSA9IF9fbHN4X3Zh
ZGRfdyhvdXQxLCB0bXAxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfaCwgb3V0MSwgb3V0
MCwgb3V0Mywgb3V0MiwgaW4wLCBpbjIpOwotICBfX2xzeF92c3QoaW4wLCBvdXRwdXQsIDApOwot
ICBfX2xzeF92c3QoaW4yLCBvdXRwdXQsIDE2KTsKLX0KLQotdm9pZCB2cDhfc2hvcnRfZmRjdDh4
NF9sc3goaW50MTZfdCAqaW5wdXQsIGludDE2X3QgKm91dHB1dCwgaW50MzJfdCBwaXRjaCkgewot
ICBfX20xMjhpIGluMCwgaW4xLCBpbjIsIGluMywgdGVtcDAsIHRlbXAxLCB0bXAwLCB0bXAxOwot
ICBfX20xMjhpIGNvbnN0MCwgY29uc3QxLCBjb25zdDIsIHZlYzBfdywgdmVjMV93LCB2ZWMyX3cs
IHZlYzNfdzsKLSAgX19tMTI4aSBjb2VmZiA9IHsgMHgzOGE0ZWIxODE0ZTgwOGE5LCAweDY1OTA2
MWE4MmVlMDFkNGMgfTsKLSAgX19tMTI4aSB6ZXJvID0gX19sc3hfdmxkaSgwKTsKLSAgaW50MzJf
dCBwaXRjaDIgPSBwaXRjaCA8PCAxOwotICBpbnQzMl90IHBpdGNoMyA9IHBpdGNoMiArIHBpdGNo
OwotCi0gIGluMCA9IF9fbHN4X3ZsZChpbnB1dCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4
LCBpbnB1dCwgcGl0Y2gsIGlucHV0LCBwaXRjaDIsIGluMSwgaW4yKTsKLSAgaW4zID0gX19sc3hf
dmxkeChpbnB1dCwgcGl0Y2gzKTsKLSAgTFNYX1RSQU5TUE9TRTR4NF9IKGluMCwgaW4xLCBpbjIs
IGluMywgaW4wLCBpbjEsIGluMiwgaW4zKTsKLQotICBMU1hfQlVUVEVSRkxZXzRfSChpbjAsIGlu
MSwgaW4yLCBpbjMsIHRlbXAwLCB0ZW1wMSwgaW4xLCBpbjMpOwotICBEVVA0X0FSRzIoX19sc3hf
dnNsbGlfaCwgdGVtcDAsIDMsIHRlbXAxLCAzLCBpbjEsIDMsIGluMywgMywgdGVtcDAsIHRlbXAx
LAotICAgICAgICAgICAgaW4xLCBpbjMpOwotICBpbjAgPSBfX2xzeF92YWRkX2godGVtcDAsIHRl
bXAxKTsKLSAgaW4yID0gX19sc3hfdnN1Yl9oKHRlbXAwLCB0ZW1wMSk7Ci0gIFNFVF9ET1RQX1ZB
TFVFUyhjb2VmZiwgMCwgMSwgMiwgY29uc3QxLCBjb25zdDIpOwotICB0ZW1wMCA9IF9fbHN4X3Zy
ZXBsdmVpX2goY29lZmYsIDMpOwotICB2ZWMxX3cgPSBfX2xzeF92cGFja2V2X2goemVybywgdGVt
cDApOwotICBjb2VmZiA9IF9fbHN4X3ZpbHZoX2goemVybywgY29lZmYpOwotICB2ZWMzX3cgPSBf
X2xzeF92cmVwbHZlaV93KGNvZWZmLCAwKTsKLSAgdG1wMSA9IF9fbHN4X3ZpbHZsX2goaW4zLCBp
bjEpOwotICB0bXAwID0gX19sc3hfdmlsdmhfaChpbjMsIGluMSk7Ci0gIHZlYzBfdyA9IHZlYzFf
dzsKLSAgdmVjMl93ID0gdmVjM193OwotICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93X2gsIHZl
YzBfdywgdG1wMSwgY29uc3QxLCB2ZWMxX3csIHRtcDAsIGNvbnN0MSwKLSAgICAgICAgICAgIHZl
YzJfdywgdG1wMSwgY29uc3QyLCB2ZWMzX3csIHRtcDAsIGNvbnN0MiwgdmVjMF93LCB2ZWMxX3cs
IHZlYzJfdywKLSAgICAgICAgICAgIHZlYzNfdyk7Ci0gIERVUDJfQVJHMyhfX2xzeF92c3Jhbmlf
aF93LCB2ZWMxX3csIHZlYzBfdywgMTIsIHZlYzNfdywgdmVjMl93LCAxMiwgaW4xLCBpbjMpOwot
ICBMU1hfVFJBTlNQT1NFNHg0X0goaW4wLCBpbjEsIGluMiwgaW4zLCBpbjAsIGluMSwgaW4yLCBp
bjMpOwotCi0gIExTWF9CVVRURVJGTFlfNF9IKGluMCwgaW4xLCBpbjIsIGluMywgdGVtcDAsIHRl
bXAxLCBpbjEsIGluMyk7Ci0gIGluMCA9IF9fbHN4X3ZhZGRfaCh0ZW1wMCwgdGVtcDEpOwotICBp
bjAgPSBfX2xzeF92YWRkaV9odShpbjAsIDcpOwotICBpbjIgPSBfX2xzeF92c3ViX2godGVtcDAs
IHRlbXAxKTsKLSAgaW4yID0gX19sc3hfdmFkZGlfaHUoaW4yLCA3KTsKLSAgaW4wID0gX19sc3hf
dnNyYWlfaChpbjAsIDQpOwotICBpbjIgPSBfX2xzeF92c3JhaV9oKGluMiwgNCk7Ci0gIERVUDJf
QVJHMihfX2xzeF92cmVwbHZlaV93LCBjb2VmZiwgMiwgY29lZmYsIDMsIHZlYzNfdywgdmVjMV93
KTsKLSAgdmVjM193ID0gX19sc3hfdmFkZF93KHZlYzNfdywgdmVjMV93KTsKLSAgdmVjMV93ID0g
X19sc3hfdnJlcGx2ZWlfdyhjb2VmZiwgMSk7Ci0gIGNvbnN0MCA9IFJFVF8xX0lGX05aRVJPX0go
aW4zKTsKLSAgdG1wMSA9IF9fbHN4X3ZpbHZsX2goaW4zLCBpbjEpOwotICB0bXAwID0gX19sc3hf
dmlsdmhfaChpbjMsIGluMSk7Ci0gIHZlYzBfdyA9IHZlYzFfdzsKLSAgdmVjMl93ID0gdmVjM193
OwotICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93X2gsIHZlYzBfdywgdG1wMSwgY29uc3QxLCB2
ZWMxX3csIHRtcDAsIGNvbnN0MSwKLSAgICAgICAgICAgIHZlYzJfdywgdG1wMSwgY29uc3QyLCB2
ZWMzX3csIHRtcDAsIGNvbnN0MiwgdmVjMF93LCB2ZWMxX3csIHZlYzJfdywKLSAgICAgICAgICAg
IHZlYzNfdyk7Ci0gIERVUDJfQVJHMyhfX2xzeF92c3JhbmlfaF93LCB2ZWMxX3csIHZlYzBfdywg
MTYsIHZlYzNfdywgdmVjMl93LCAxNiwgaW4xLCBpbjMpOwotICBpbjEgPSBfX2xzeF92YWRkX2go
aW4xLCBjb25zdDApOwotICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9kLCBpbjEsIGluMCwgaW4z
LCBpbjIsIHRlbXAwLCB0ZW1wMSk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMCwgb3V0cHV0LCAwKTsKLSAg
X19sc3hfdnN0KHRlbXAxLCBvdXRwdXQsIDE2KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnBpY2tv
ZF9kLCBpbjEsIGluMCwgaW4zLCBpbjIsIGluMCwgaW4yKTsKLSAgX19sc3hfdnN0KGluMCwgb3V0
cHV0LCAzMik7Ci0gIF9fbHN4X3ZzdChpbjIsIG91dHB1dCwgNDgpOwotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci9sb29uZ2FyY2gvZW5jb2Rlb3B0X2xzeC5jIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvZW5jb2Rlci9sb29uZ2FyY2gvZW5jb2Rlb3B0X2xzeC5jCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0YWQ0Y2FiYTYwMmMuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL2xvb25nYXJjaC9lbmNvZGVvcHRfbHN4LmMKKysrIC9kZXYvbnVsbApA
QCAtMSw4MiArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNh
biBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UK
LSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3Jh
bnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRp
bmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlICIuL3ZwOF9y
dGNkLmgiCi0jaW5jbHVkZSAidnB4X3V0aWwvbG9vbmdzb25faW50cmluc2ljcy5oIgotI2luY2x1
ZGUgInZwOC9lbmNvZGVyL2Jsb2NrLmgiCi0KLWludDMyX3QgdnA4X2Jsb2NrX2Vycm9yX2xzeChp
bnQxNl90ICpjb2VmZl9wdHIsIGludDE2X3QgKmRxX2NvZWZmX3B0cikgewotICBpbnQzMl90IGVy
ciA9IDA7Ci0gIF9fbTEyOGkgZHFfY29lZmYwLCBkcV9jb2VmZjEsIGNvZWZmMCwgY29lZmYxOwot
ICBfX20xMjhpIHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMsIGVycm9yOwotCi0gIERVUDRfQVJHMihf
X2xzeF92bGQsIGNvZWZmX3B0ciwgMCwgY29lZmZfcHRyLCAxNiwgZHFfY29lZmZfcHRyLCAwLAot
ICAgICAgICAgICAgZHFfY29lZmZfcHRyLCAxNiwgY29lZmYwLCBjb2VmZjEsIGRxX2NvZWZmMCwg
ZHFfY29lZmYxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJ3ZXZfd19oLCBjb2VmZjAsIGRxX2Nv
ZWZmMCwgY29lZmYxLCBkcV9jb2VmZjEsIHJlZzAsCi0gICAgICAgICAgICByZWcyKTsKLSAgRFVQ
Ml9BUkcyKF9fbHN4X3ZzdWJ3b2Rfd19oLCBjb2VmZjAsIGRxX2NvZWZmMCwgY29lZmYxLCBkcV9j
b2VmZjEsIHJlZzEsCi0gICAgICAgICAgICByZWczKTsKLSAgZXJyb3IgPSBfX2xzeF92bXVsX3co
cmVnMCwgcmVnMCk7Ci0gIERVUDJfQVJHMyhfX2xzeF92bWFkZF93LCBlcnJvciwgcmVnMSwgcmVn
MSwgZXJyb3IsIHJlZzIsIHJlZzIsIGVycm9yLCBlcnJvcik7Ci0gIGVycm9yID0gX19sc3hfdm1h
ZGRfdyhlcnJvciwgcmVnMywgcmVnMyk7Ci0gIGVycm9yID0gX19sc3hfdmhhZGR3X2RfdyhlcnJv
ciwgZXJyb3IpOwotICBlcnIgPSBfX2xzeF92cGlja3ZlMmdyX3coZXJyb3IsIDApOwotICBlcnIg
Kz0gX19sc3hfdnBpY2t2ZTJncl93KGVycm9yLCAyKTsKLSAgcmV0dXJuIGVycjsKLX0KLQotaW50
MzJfdCB2cDhfbWJibG9ja19lcnJvcl9sc3goTUFDUk9CTE9DSyAqbWIsIGludDMyX3QgZGMpIHsK
LSAgQkxPQ0sgKmJlOwotICBCTE9DS0QgKmJkOwotICBpbnQxNl90ICpjb2VmZiwgKmRxX2NvZWZm
OwotICBpbnQzMl90IGVyciA9IDA7Ci0gIHVpbnQzMl90IGxvb3BfY250OwotICBfX20xMjhpIHNy
YzAsIHNyYzEsIHNyYzIsIHNyYzM7Ci0gIF9fbTEyOGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMzsK
LSAgX19tMTI4aSByZWcwLCByZWcxLCByZWcyLCByZWczLCByZWc0LCByZWc1LCByZWc2LCByZWc3
LCBlcnJvcjsKLSAgX19tMTI4aSBtYXNrMCA9IF9fbHN4X3ZsZGkoMHhGRik7Ci0gIF9fbTEyOGkg
emVybyA9IF9fbHN4X3ZsZGkoMCk7Ci0KLSAgaWYgKGRjID09IDEpIHsKLSAgICBtYXNrMCA9IF9f
bHN4X3ZpbnNncjJ2cl93KG1hc2swLCAwLCAwKTsKLSAgfQotCi0gIGZvciAobG9vcF9jbnQgPSAw
OyBsb29wX2NudCA8IDg7IGxvb3BfY250KyspIHsKLSAgICBpbnQzMl90IGxvb3BfdG1wID0gbG9v
cF9jbnQgPDwgMTsKLSAgICBiZSA9ICZtYi0+YmxvY2tbbG9vcF90bXBdOwotICAgIGJkID0gJm1i
LT5lX21iZC5ibG9ja1tsb29wX3RtcF07Ci0gICAgY29lZmYgPSBiZS0+Y29lZmY7Ci0gICAgZHFf
Y29lZmYgPSBiZC0+ZHFjb2VmZjsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBjb2VmZiwgMCwg
Y29lZmYsIDE2LCBkcV9jb2VmZiwgMCwgZHFfY29lZmYsIDE2LCBzcmMwLAotICAgICAgICAgICAg
ICBzcmMxLCB0bXAwLCB0bXAxKTsKLSAgICBiZSA9ICZtYi0+YmxvY2tbbG9vcF90bXAgKyAxXTsK
LSAgICBiZCA9ICZtYi0+ZV9tYmQuYmxvY2tbbG9vcF90bXAgKyAxXTsKLSAgICBjb2VmZiA9IGJl
LT5jb2VmZjsKLSAgICBkcV9jb2VmZiA9IGJkLT5kcWNvZWZmOwotICAgIERVUDRfQVJHMihfX2xz
eF92bGQsIGNvZWZmLCAwLCBjb2VmZiwgMTYsIGRxX2NvZWZmLCAwLCBkcV9jb2VmZiwgMTYsIHNy
YzIsCi0gICAgICAgICAgICAgIHNyYzMsIHRtcDIsIHRtcDMpOwotICAgIERVUDRfQVJHMihfX2xz
eF92c3Vid2V2X3dfaCwgc3JjMCwgdG1wMCwgc3JjMSwgdG1wMSwgc3JjMiwgdG1wMiwgc3JjMywg
dG1wMywKLSAgICAgICAgICAgICAgcmVnMCwgcmVnMiwgcmVnNCwgcmVnNik7Ci0gICAgRFVQNF9B
UkcyKF9fbHN4X3ZzdWJ3b2Rfd19oLCBzcmMwLCB0bXAwLCBzcmMxLCB0bXAxLCBzcmMyLCB0bXAy
LCBzcmMzLCB0bXAzLAotICAgICAgICAgICAgICByZWcxLCByZWczLCByZWc1LCByZWc3KTsKLSAg
ICBEVVAyX0FSRzMoX19sc3hfdmJpdHNlbF92LCB6ZXJvLCByZWcwLCBtYXNrMCwgemVybywgcmVn
NCwgbWFzazAsIHJlZzAsCi0gICAgICAgICAgICAgIHJlZzQpOwotICAgIGVycm9yID0gX19sc3hf
dm11bF93KHJlZzAsIHJlZzApOwotICAgIERVUDRfQVJHMyhfX2xzeF92bWFkZF93LCBlcnJvciwg
cmVnMSwgcmVnMSwgZXJyb3IsIHJlZzIsIHJlZzIsIGVycm9yLCByZWczLAotICAgICAgICAgICAg
ICByZWczLCBlcnJvciwgcmVnNCwgcmVnNCwgZXJyb3IsIGVycm9yLCBlcnJvciwgZXJyb3IpOwot
ICAgIERVUDJfQVJHMyhfX2xzeF92bWFkZF93LCBlcnJvciwgcmVnNSwgcmVnNSwgZXJyb3IsIHJl
ZzYsIHJlZzYsIGVycm9yLAotICAgICAgICAgICAgICBlcnJvcik7Ci0gICAgZXJyb3IgPSBfX2xz
eF92bWFkZF93KGVycm9yLCByZWc3LCByZWc3KTsKLSAgICBlcnJvciA9IF9fbHN4X3ZoYWRkd19k
X3coZXJyb3IsIGVycm9yKTsKLSAgICBlcnJvciA9IF9fbHN4X3ZoYWRkd19xX2QoZXJyb3IsIGVy
cm9yKTsKLSAgICBlcnIgKz0gX19sc3hfdnBpY2t2ZTJncl93KGVycm9yLCAwKTsKLSAgfQotICBy
ZXR1cm4gZXJyOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9sb29uZ2Fy
Y2gvdnA4X3F1YW50aXplX2xzeC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9sb29uZ2FyY2gv
dnA4X3F1YW50aXplX2xzeC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTg4OTE5
MmE3ZTUuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL2xvb25nYXJj
aC92cDhfcXVhbnRpemVfbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDUgKzAsMCBAQAotLyoK
LSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmln
aHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l
ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRp
b25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICog
IGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBt
YXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBz
b3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSA8c3RkaW50Lmg+Ci0jaW5jbHVkZSAiLi92cDhf
cnRjZC5oIgotI2luY2x1ZGUgInZweF91dGlsL2xvb25nc29uX2ludHJpbnNpY3MuaCIKLSNpbmNs
dWRlICJ2cDgvZW5jb2Rlci9ibG9jay5oIgotCi0jZGVmaW5lIEJPT1NUX1FVQU5UMShfaW4wLCBf
aW4xLCBfaW4yLCBfdWkpICAgICAgICAgICAgICAgXAotICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoYm9vc3RfdGVtcFsw
XSA8PSBfX2xzeF92cGlja3ZlMmdyX2goX2luMCwgX3VpKSkgeyBcCi0gICAgICBpZiAoX19sc3hf
dnBpY2t2ZTJncl9oKF9pbjEsIF91aSkpIHsgICAgICAgICAgICAgICAgXAotICAgICAgICBlb2Ig
PSBfdWk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
Ym9vc3RfdGVtcCA9IHpiaW5fYm9vc3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICBib29zdF90ZW1wKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgX2luMiA9IF9fbHN4X3ZpbnNncjJ2cl9oKF9pbjIsIDAsIF91aSk7
ICAgICAgICAgICAgIFwKLSAgICAgIGJvb3N0X3RlbXArKzsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLSNkZWZpbmUgQk9PU1RfUVVBTlQyKF9pbjAs
IF9pbjEsIF9pbjIsIF91aSkgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmIChib29zdF90ZW1w
WzBdIDw9IF9fbHN4X3ZwaWNrdmUyZ3JfaChfaW4wLCBfdWkpKSB7IFwKLSAgICAgIGlmIChfX2xz
eF92cGlja3ZlMmdyX2goX2luMSwgX3VpKSkgeyAgICAgICAgICAgICAgICBcCi0gICAgICAgIGVv
YiA9IF91aSArIDg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICBib29zdF90ZW1wID0gemJpbl9ib29zdDsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIGJvb3N0X3RlbXArKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBfaW4yID0gX19sc3hfdmluc2dyMnZyX2goX2luMiwgMCwgX3Vp
KTsgICAgICAgICAgICAgXAotICAgICAgYm9vc3RfdGVtcCsrOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotc3RhdGljIGludDhfdCBleGFjdF9yZWd1
bGFyX3F1YW50aXplX2JfbHN4KAotICAgIGludDE2X3QgKnpiaW5fYm9vc3QsIGludDE2X3QgKmNv
ZWZmX3B0ciwgaW50MTZfdCAqemJpbiwgaW50MTZfdCAqcm91bmQsCi0gICAgaW50MTZfdCAqcXVh
bnQsIGludDE2X3QgKnF1YW50X3NoaWZ0LCBpbnQxNl90ICpkZV9xdWFudCwgaW50MTZfdCB6Ymlu
X29xX2luLAotICAgIGludDE2X3QgKnFfY29lZmYsIGludDE2X3QgKmRxX2NvZWZmKSB7Ci0gIGlu
dDMyX3QgZW9iOwotICBpbnQxNl90ICpib29zdF90ZW1wID0gemJpbl9ib29zdDsKLSAgX19tMTI4
aSBpbnZfemlnX3phZyA9IHsgMHgwQzA3MDQwMjA2MDUwMTAwLCAweDBGMEUwQTA5MEQwQjA4MDMg
fTsKLSAgX19tMTI4aSBzaWduX3owLCBzaWduX3oxLCBxX2NvZWZmMCwgcV9jb2VmZjE7Ci0gIF9f
bTEyOGkgel9iaW4wLCB6X2JpbjEsIHpiaW5fb19xLCB4MCwgeDEsIHNpZ25feDAsIHNpZ25feDEs
IGRlX3F1YW50MCwKLSAgICAgIGRlX3F1YW50MTsKLSAgX19tMTI4aSB6MCwgejEsIHJvdW5kMCwg
cm91bmQxLCBxdWFudDAsIHF1YW50MjsKLSAgX19tMTI4aSBpbnZfemlnX3phZzAsIGludl96aWdf
emFnMTsKLSAgX19tMTI4aSB6aWd6YWdfbWFzazAgPSB7IDB4MDAwODAwMDQwMDAxMDAwMCwgMHgw
MDA2MDAwMzAwMDIwMDA1IH07Ci0gIF9fbTEyOGkgemlnemFnX21hc2sxID0geyAweDAwMEEwMDBE
MDAwQzAwMDksIDBYMDAwRjAwMEUwMDBCMDAwNyB9OwotICBfX20xMjhpIHRtcDAsIHRtcDEsIHRt
cDIsIHRtcDM7Ci0gIF9fbTEyOGkgemVybyA9IF9fbHN4X3ZsZGkoMCk7Ci0KLSAgemJpbl9vX3Eg
PSBfX2xzeF92cmVwbGdyMnZyX2goemJpbl9vcV9pbik7Ci0gIGludl96aWdfemFnMCA9IF9fbHN4
X3ZpbHZsX2IoemVybywgaW52X3ppZ196YWcpOwotICBpbnZfemlnX3phZzEgPSBfX2xzeF92aWx2
aF9iKHplcm8sIGludl96aWdfemFnKTsKLSAgZW9iID0gLTE7Ci0gIERVUDRfQVJHMihfX2xzeF92
bGQsIGNvZWZmX3B0ciwgMCwgY29lZmZfcHRyLCAxNiwgcm91bmQsIDAsIHJvdW5kLCAxNiwgdG1w
MCwKLSAgICAgICAgICAgIHRtcDEsIHRtcDIsIHRtcDMpOwotICBEVVA0X0FSRzMoX19sc3hfdnNo
dWZfaCwgemlnemFnX21hc2swLCB0bXAxLCB0bXAwLCB6aWd6YWdfbWFzazEsIHRtcDEsIHRtcDAs
Ci0gICAgICAgICAgICB6aWd6YWdfbWFzazAsIHRtcDMsIHRtcDIsIHppZ3phZ19tYXNrMSwgdG1w
MywgdG1wMiwgejAsIHoxLCByb3VuZDAsCi0gICAgICAgICAgICByb3VuZDEpOwotICBEVVA0X0FS
RzIoX19sc3hfdmxkLCBxdWFudCwgMCwgcXVhbnQsIDE2LCB6YmluLCAwLCB6YmluLCAxNiwgdG1w
MCwgdG1wMSwgdG1wMiwKLSAgICAgICAgICAgIHRtcDMpOwotICBEVVA0X0FSRzMoX19sc3hfdnNo
dWZfaCwgemlnemFnX21hc2swLCB0bXAxLCB0bXAwLCB6aWd6YWdfbWFzazEsIHRtcDEsIHRtcDAs
Ci0gICAgICAgICAgICB6aWd6YWdfbWFzazAsIHRtcDMsIHRtcDIsIHppZ3phZ19tYXNrMSwgdG1w
MywgdG1wMiwgcXVhbnQwLCBxdWFudDIsCi0gICAgICAgICAgICB6X2JpbjAsIHpfYmluMSk7Ci0g
IERVUDJfQVJHMihfX2xzeF92c3JhaV9oLCB6MCwgMTUsIHoxLCAxNSwgc2lnbl96MCwgc2lnbl96
MSk7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkYV9oLCB6MCwgemVybywgejEsIHplcm8sIHgwLCB4
MSk7Ci0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIHgwLCB6X2JpbjAsIHgxLCB6X2JpbjEsIHpf
YmluMCwgel9iaW4xKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgel9iaW4wLCB6YmluX29f
cSwgel9iaW4xLCB6YmluX29fcSwgel9iaW4wLCB6X2JpbjEpOwotICBEVVAyX0FSRzIoX19sc3hf
dm11bHdldl93X2gsIHF1YW50MCwgcm91bmQwLCBxdWFudDIsIHJvdW5kMSwgdG1wMCwgdG1wMik7
Ci0gIERVUDJfQVJHMihfX2xzeF92bXVsd29kX3dfaCwgcXVhbnQwLCByb3VuZDAsIHF1YW50Miwg
cm91bmQxLCB0bXAxLCB0bXAzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3ZtYWRkd2V2X3dfaCwgdG1w
MCwgcXVhbnQwLCB4MCwgdG1wMiwgcXVhbnQyLCB4MSwgdG1wMCwgdG1wMik7Ci0gIERVUDJfQVJH
MyhfX2xzeF92bWFkZHdvZF93X2gsIHRtcDEsIHF1YW50MCwgeDAsIHRtcDMsIHF1YW50MiwgeDEs
IHRtcDEsIHRtcDMpOwotICBEVVAyX0FSRzIoX19sc3hfdnBhY2tvZF9oLCB0bXAxLCB0bXAwLCB0
bXAzLCB0bXAyLCBxX2NvZWZmMCwgcV9jb2VmZjEpOwotCi0gIERVUDJfQVJHMihfX2xzeF92bGQs
IHF1YW50X3NoaWZ0LCAwLCBxdWFudF9zaGlmdCwgMTYsIHRtcDEsIHRtcDMpOwotICBEVVAyX0FS
RzMoX19sc3hfdnNodWZfaCwgemlnemFnX21hc2swLCB0bXAzLCB0bXAxLCB6aWd6YWdfbWFzazEs
IHRtcDMsIHRtcDEsCi0gICAgICAgICAgICBxdWFudDAsIHF1YW50Mik7Ci0gIERVUDJfQVJHMihf
X2xzeF92YWRkX2gsIHgwLCByb3VuZDAsIHgxLCByb3VuZDEsIHgwLCB4MSk7Ci0gIERVUDJfQVJH
MihfX2xzeF92bXVsd2V2X3dfaCwgcXVhbnQwLCBxX2NvZWZmMCwgcXVhbnQyLCBxX2NvZWZmMSwg
dG1wMCwgdG1wMik7Ci0gIERVUDJfQVJHMihfX2xzeF92bXVsd29kX3dfaCwgcXVhbnQwLCBxX2Nv
ZWZmMCwgcXVhbnQyLCBxX2NvZWZmMSwgdG1wMSwgdG1wMyk7Ci0gIERVUDJfQVJHMyhfX2xzeF92
bWFkZHdldl93X2gsIHRtcDAsIHF1YW50MCwgeDAsIHRtcDIsIHF1YW50MiwgeDEsIHRtcDAsIHRt
cDIpOwotICBEVVAyX0FSRzMoX19sc3hfdm1hZGR3b2Rfd19oLCB0bXAxLCBxdWFudDAsIHgwLCB0
bXAzLCBxdWFudDIsIHgxLCB0bXAxLCB0bXAzKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZwYWNrb2Rf
aCwgdG1wMSwgdG1wMCwgdG1wMywgdG1wMiwgeDAsIHgxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3Z4
b3JfdiwgeDAsIHNpZ25fejAsIHgxLCBzaWduX3oxLCBzaWduX3gwLCBzaWduX3gxKTsKLSAgRFVQ
Ml9BUkcyKF9fbHN4X3ZzdWJfaCwgc2lnbl94MCwgc2lnbl96MCwgc2lnbl94MSwgc2lnbl96MSwg
c2lnbl94MCwgc2lnbl94MSk7Ci0KLSAgQk9PU1RfUVVBTlQxKHpfYmluMCwgeDAsIHNpZ25feDAs
IDApOwotICBCT09TVF9RVUFOVDEoel9iaW4wLCB4MCwgc2lnbl94MCwgMSk7Ci0gIEJPT1NUX1FV
QU5UMSh6X2JpbjAsIHgwLCBzaWduX3gwLCAyKTsKLSAgQk9PU1RfUVVBTlQxKHpfYmluMCwgeDAs
IHNpZ25feDAsIDMpOwotICBCT09TVF9RVUFOVDEoel9iaW4wLCB4MCwgc2lnbl94MCwgNCk7Ci0g
IEJPT1NUX1FVQU5UMSh6X2JpbjAsIHgwLCBzaWduX3gwLCA1KTsKLSAgQk9PU1RfUVVBTlQxKHpf
YmluMCwgeDAsIHNpZ25feDAsIDYpOwotICBCT09TVF9RVUFOVDEoel9iaW4wLCB4MCwgc2lnbl94
MCwgNyk7Ci0KLSAgQk9PU1RfUVVBTlQyKHpfYmluMSwgeDEsIHNpZ25feDEsIDApOwotICBCT09T
VF9RVUFOVDIoel9iaW4xLCB4MSwgc2lnbl94MSwgMSk7Ci0gIEJPT1NUX1FVQU5UMih6X2JpbjEs
IHgxLCBzaWduX3gxLCAyKTsKLSAgQk9PU1RfUVVBTlQyKHpfYmluMSwgeDEsIHNpZ25feDEsIDMp
OwotICBCT09TVF9RVUFOVDIoel9iaW4xLCB4MSwgc2lnbl94MSwgNCk7Ci0gIEJPT1NUX1FVQU5U
Mih6X2JpbjEsIHgxLCBzaWduX3gxLCA1KTsKLSAgQk9PU1RfUVVBTlQyKHpfYmluMSwgeDEsIHNp
Z25feDEsIDYpOwotICBCT09TVF9RVUFOVDIoel9iaW4xLCB4MSwgc2lnbl94MSwgNyk7Ci0KLSAg
RFVQMl9BUkcyKF9fbHN4X3ZsZCwgZGVfcXVhbnQsIDAsIGRlX3F1YW50LCAxNiwgZGVfcXVhbnQw
LCBkZV9xdWFudDEpOwotICBEVVAyX0FSRzMoX19sc3hfdnNodWZfaCwgaW52X3ppZ196YWcwLCBz
aWduX3gxLCBzaWduX3gwLCBpbnZfemlnX3phZzEsCi0gICAgICAgICAgICBzaWduX3gxLCBzaWdu
X3gwLCBxX2NvZWZmMCwgcV9jb2VmZjEpOwotICBEVVAyX0FSRzIoX19sc3hfdm11bF9oLCBkZV9x
dWFudDAsIHFfY29lZmYwLCBkZV9xdWFudDEsIHFfY29lZmYxLCBkZV9xdWFudDAsCi0gICAgICAg
ICAgICBkZV9xdWFudDEpOwotICBfX2xzeF92c3QocV9jb2VmZjAsIHFfY29lZmYsIDApOwotICBf
X2xzeF92c3QocV9jb2VmZjEsIHFfY29lZmYsIDE2KTsKLSAgX19sc3hfdnN0KGRlX3F1YW50MCwg
ZHFfY29lZmYsIDApOwotICBfX2xzeF92c3QoZGVfcXVhbnQxLCBkcV9jb2VmZiwgMTYpOwotCi0g
IHJldHVybiAoaW50OF90KShlb2IgKyAxKTsKLX0KLQotdm9pZCB2cDhfcmVndWxhcl9xdWFudGl6
ZV9iX2xzeChCTE9DSyAqYiwgQkxPQ0tEICpkKSB7Ci0gIGludDE2X3QgKnpiaW5fYm9vc3RfcHRy
ID0gYi0+enJ1bl96YmluX2Jvb3N0OwotICBpbnQxNl90ICpjb2VmZl9wdHIgPSBiLT5jb2VmZjsK
LSAgaW50MTZfdCAqemJpbl9wdHIgPSBiLT56YmluOwotICBpbnQxNl90ICpyb3VuZF9wdHIgPSBi
LT5yb3VuZDsKLSAgaW50MTZfdCAqcXVhbnRfcHRyID0gYi0+cXVhbnQ7Ci0gIGludDE2X3QgKnF1
YW50X3NoaWZ0X3B0ciA9IGItPnF1YW50X3NoaWZ0OwotICBpbnQxNl90ICpxY29lZmZfcHRyID0g
ZC0+cWNvZWZmOwotICBpbnQxNl90ICpkcWNvZWZmX3B0ciA9IGQtPmRxY29lZmY7Ci0gIGludDE2
X3QgKmRlcXVhbnRfcHRyID0gZC0+ZGVxdWFudDsKLSAgaW50MTZfdCB6YmluX29xX3ZhbHVlID0g
Yi0+emJpbl9leHRyYTsKLQotICAqZC0+ZW9iID0gZXhhY3RfcmVndWxhcl9xdWFudGl6ZV9iX2xz
eCgKLSAgICAgIHpiaW5fYm9vc3RfcHRyLCBjb2VmZl9wdHIsIHpiaW5fcHRyLCByb3VuZF9wdHIs
IHF1YW50X3B0ciwKLSAgICAgIHF1YW50X3NoaWZ0X3B0ciwgZGVxdWFudF9wdHIsIHpiaW5fb3Ff
dmFsdWUsIHFjb2VmZl9wdHIsIGRxY29lZmZfcHRyKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA4L2VuY29kZXIvbWNvbXAuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbWNvbXAuYwpp
bmRleCBiYzE1MGU0ODJiYzUuLjllN2Y1YzdhY2VmZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvZW5jb2Rlci9tY29tcC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbWNvbXAuYwpA
QCAtMjA0LDIyICsyMDQsMTkgQEAgdm9pZCB2cDhfaW5pdDNzbW90aW9uX2NvbXBlbnNhdGlvbihN
QUNST0JMT0NLICp4LCBpbnQgc3RyaWRlKSB7CiAvKiByZXR1cm5zIGRpc3RvcnRpb24gKyBtb3Rp
b24gdmVjdG9yIGNvc3QgKi8KICNkZWZpbmUgRVJSKHIsIGMpIChNVkMociwgYykgKyBESVNUKHIs
IGMpKQogLyogY2hlY2tzIGlmIChyLGMpIGhhcyBiZXR0ZXIgc2NvcmUgdGhhbiBwcmV2aW91cyBi
ZXN0ICovCi0jZGVmaW5lIENIRUNLX0JFVFRFUih2LCByLCBjKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBJRk1WQ1YoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgIHIsIGMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICB0aGlzbXNlID0gRElTVChyLCBjKTsgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgaWYgKCh2ID0gKE1WQyhyLCBjKSArIHRoaXNtc2UpKSA8
IGJlc3RlcnIpIHsgXAotICAgICAgICAgICAgYmVzdGVyciA9IHY7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIGJyID0gcjsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBiYyA9IGM7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgKmRpc3RvcnRpb24gPSB0aGlzbXNlOyAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICpzc2UxID0gc3NlOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICB9LCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdiA9IFVJTlRfTUFYOykgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCisjZGVmaW5lIENIRUNLX0JFVFRF
Uih2LCByLCBjKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgSUZNVkNWKHIsIGMsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgIHRo
aXNtc2UgPSBESVNUKHIsIGMpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAg
aWYgKCh2ID0gKE1WQyhyLCBjKSArIHRoaXNtc2UpKSA8IGJlc3RlcnIpIHsgXAorICAgICAgICAg
ICAgIGJlc3RlcnIgPSB2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgICAgYnIgPSByOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICBiYyA9IGM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgICAgICAgICpkaXN0b3J0aW9uID0gdGhpc21zZTsgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgICAgICAgKnNzZTEgPSBzc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgICAgfSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICB2ID0gVUlOVF9NQVg7KQogCiBpbnQgdnA4X2ZpbmRfYmVzdF9zdWJfcGl4
ZWxfc3RlcF9pdGVyYXRpdmVseShNQUNST0JMT0NLICp4LCBCTE9DSyAqYiwgQkxPQ0tEICpkLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50X212ICpiZXN0
bXYsIGludF9tdiAqcmVmX212LApAQCAtODAzLDEzICs4MDAsMTMgQEAgaW50IHZwOF9maW5kX2Jl
c3RfaGFsZl9waXhlbF9zdGVwKE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsCiB9
CiAKICNkZWZpbmUgQ0hFQ0tfQk9VTkRTKHJhbmdlKSAgICAgICAgICAgICAgICAgICAgXAotICBk
byB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBhbGxfaW4gPSAxOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGFsbF9pbiAmPSAoKGJyIC0gcmFu
Z2UpID49IHgtPm12X3Jvd19taW4pOyBcCiAgICAgYWxsX2luICY9ICgoYnIgKyByYW5nZSkgPD0g
eC0+bXZfcm93X21heCk7IFwKICAgICBhbGxfaW4gJj0gKChiYyAtIHJhbmdlKSA+PSB4LT5tdl9j
b2xfbWluKTsgXAogICAgIGFsbF9pbiAmPSAoKGJjICsgcmFuZ2UpIDw9IHgtPm12X2NvbF9tYXgp
OyBcCi0gIH0gd2hpbGUgKDApCisgIH0KIAogI2RlZmluZSBDSEVDS19QT0lOVCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTgyMCw3ICs4MTcsNyBAQCBpbnQgdnA4X2ZpbmRf
YmVzdF9oYWxmX3BpeGVsX3N0ZXAoTUFDUk9CTE9DSyAqeCwgQkxPQ0sgKmIsIEJMT0NLRCAqZCwK
ICAgfQogCiAjZGVmaW5lIENIRUNLX0JFVFRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgaWYgKHRoaXNzYWQgPCBiZXN0c2FkKSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgdGhpc3NhZCArPSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICBt
dnNhZF9lcnJfY29zdCgmdGhpc19tdiwgJmZjZW50ZXJfbXYsIG12c2FkY29zdCwgc2FkX3Blcl9i
aXQpOyBcCkBAIC04MjksNyArODI2LDcgQEAgaW50IHZwOF9maW5kX2Jlc3RfaGFsZl9waXhlbF9z
dGVwKE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsCiAgICAgICAgIGJlc3Rfc2l0
ZSA9IGk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCisg
IH0KIAogc3RhdGljIGNvbnN0IE1WIG5leHRfY2hrcHRzWzZdWzNdID0gewogICB7IHsgLTIsIDAg
fSwgeyAtMSwgLTIgfSwgeyAxLCAtMiB9IH0sIHsgeyAtMSwgLTIgfSwgeyAxLCAtMiB9LCB7IDIs
IDAgfSB9LApAQCAtOTA0LDcgKzkwMSw3IEBAIGludCB2cDhfaGV4X3NlYXJjaChNQUNST0JMT0NL
ICp4LCBCTE9DSyAqYiwgQkxPQ0tEICpkLCBpbnRfbXYgKnJlZl9tdiwKICNlbmRpZgogCiAgIC8q
IGhleCBzZWFyY2ggKi8KLSAgQ0hFQ0tfQk9VTkRTKDIpOworICBDSEVDS19CT1VORFMoMikKIAog
ICBpZiAoYWxsX2luKSB7CiAgICAgZm9yIChpID0gMDsgaSA8IDY7ICsraSkgewpAQCAtOTEzLDcg
KzkxMCw3IEBAIGludCB2cDhfaGV4X3NlYXJjaChNQUNST0JMT0NLICp4LCBCTE9DSyAqYiwgQkxP
Q0tEICpkLCBpbnRfbXYgKnJlZl9tdiwKICAgICAgIHRoaXNfb2Zmc2V0ID0gYmFzZV9vZmZzZXQg
KyAodGhpc19tdi5hc19tdi5yb3cgKiBpbl93aGF0X3N0cmlkZSkgKwogICAgICAgICAgICAgICAg
ICAgICB0aGlzX212LmFzX212LmNvbDsKICAgICAgIHRoaXNzYWQgPSB2ZnAtPnNkZih3aGF0LCB3
aGF0X3N0cmlkZSwgdGhpc19vZmZzZXQsIGluX3doYXRfc3RyaWRlKTsKLSAgICAgIENIRUNLX0JF
VFRFUjsKKyAgICAgIENIRUNLX0JFVFRFUgogICAgIH0KICAgfSBlbHNlIHsKICAgICBmb3IgKGkg
PSAwOyBpIDwgNjsgKytpKSB7CkBAIC05MjMsNyArOTIwLDcgQEAgaW50IHZwOF9oZXhfc2VhcmNo
KE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsIGludF9tdiAqcmVmX212LAogICAg
ICAgdGhpc19vZmZzZXQgPSBiYXNlX29mZnNldCArICh0aGlzX212LmFzX212LnJvdyAqIGluX3do
YXRfc3RyaWRlKSArCiAgICAgICAgICAgICAgICAgICAgIHRoaXNfbXYuYXNfbXYuY29sOwogICAg
ICAgdGhpc3NhZCA9IHZmcC0+c2RmKHdoYXQsIHdoYXRfc3RyaWRlLCB0aGlzX29mZnNldCwgaW5f
d2hhdF9zdHJpZGUpOwotICAgICAgQ0hFQ0tfQkVUVEVSOworICAgICAgQ0hFQ0tfQkVUVEVSCiAg
ICAgfQogICB9CiAKQEAgLTkzNyw3ICs5MzQsNyBAQCBpbnQgdnA4X2hleF9zZWFyY2goTUFDUk9C
TE9DSyAqeCwgQkxPQ0sgKmIsIEJMT0NLRCAqZCwgaW50X212ICpyZWZfbXYsCiAKICAgZm9yIChq
ID0gMTsgaiA8IGhleF9yYW5nZTsgKytqKSB7CiAgICAgYmVzdF9zaXRlID0gLTE7Ci0gICAgQ0hF
Q0tfQk9VTkRTKDIpOworICAgIENIRUNLX0JPVU5EUygyKQogCiAgICAgaWYgKGFsbF9pbikgewog
ICAgICAgZm9yIChpID0gMDsgaSA8IDM7ICsraSkgewpAQCAtOTQ2LDcgKzk0Myw3IEBAIGludCB2
cDhfaGV4X3NlYXJjaChNQUNST0JMT0NLICp4LCBCTE9DSyAqYiwgQkxPQ0tEICpkLCBpbnRfbXYg
KnJlZl9tdiwKICAgICAgICAgdGhpc19vZmZzZXQgPSBiYXNlX29mZnNldCArICh0aGlzX212LmFz
X212LnJvdyAqIChpbl93aGF0X3N0cmlkZSkpICsKICAgICAgICAgICAgICAgICAgICAgICB0aGlz
X212LmFzX212LmNvbDsKICAgICAgICAgdGhpc3NhZCA9IHZmcC0+c2RmKHdoYXQsIHdoYXRfc3Ry
aWRlLCB0aGlzX29mZnNldCwgaW5fd2hhdF9zdHJpZGUpOwotICAgICAgICBDSEVDS19CRVRURVI7
CisgICAgICAgIENIRUNLX0JFVFRFUgogICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICBmb3Ig
KGkgPSAwOyBpIDwgMzsgKytpKSB7CkBAIC05NTYsNyArOTUzLDcgQEAgaW50IHZwOF9oZXhfc2Vh
cmNoKE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsIGludF9tdiAqcmVmX212LAog
ICAgICAgICB0aGlzX29mZnNldCA9IGJhc2Vfb2Zmc2V0ICsgKHRoaXNfbXYuYXNfbXYucm93ICog
KGluX3doYXRfc3RyaWRlKSkgKwogICAgICAgICAgICAgICAgICAgICAgIHRoaXNfbXYuYXNfbXYu
Y29sOwogICAgICAgICB0aGlzc2FkID0gdmZwLT5zZGYod2hhdCwgd2hhdF9zdHJpZGUsIHRoaXNf
b2Zmc2V0LCBpbl93aGF0X3N0cmlkZSk7Ci0gICAgICAgIENIRUNLX0JFVFRFUjsKKyAgICAgICAg
Q0hFQ0tfQkVUVEVSCiAgICAgICB9CiAgICAgfQogCkBAIC05NzgsNyArOTc1LDcgQEAgaW50IHZw
OF9oZXhfc2VhcmNoKE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsIGludF9tdiAq
cmVmX212LAogY2FsX25laWdoYm9yczoKICAgZm9yIChqID0gMDsgaiA8IGRpYV9yYW5nZTsgKytq
KSB7CiAgICAgYmVzdF9zaXRlID0gLTE7Ci0gICAgQ0hFQ0tfQk9VTkRTKDEpOworICAgIENIRUNL
X0JPVU5EUygxKQogCiAgICAgaWYgKGFsbF9pbikgewogICAgICAgZm9yIChpID0gMDsgaSA8IDQ7
ICsraSkgewpAQCAtOTg3LDcgKzk4NCw3IEBAIGNhbF9uZWlnaGJvcnM6CiAgICAgICAgIHRoaXNf
b2Zmc2V0ID0gYmFzZV9vZmZzZXQgKyAodGhpc19tdi5hc19tdi5yb3cgKiAoaW5fd2hhdF9zdHJp
ZGUpKSArCiAgICAgICAgICAgICAgICAgICAgICAgdGhpc19tdi5hc19tdi5jb2w7CiAgICAgICAg
IHRoaXNzYWQgPSB2ZnAtPnNkZih3aGF0LCB3aGF0X3N0cmlkZSwgdGhpc19vZmZzZXQsIGluX3do
YXRfc3RyaWRlKTsKLSAgICAgICAgQ0hFQ0tfQkVUVEVSOworICAgICAgICBDSEVDS19CRVRURVIK
ICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgewpA
QCAtOTk3LDcgKzk5NCw3IEBAIGNhbF9uZWlnaGJvcnM6CiAgICAgICAgIHRoaXNfb2Zmc2V0ID0g
YmFzZV9vZmZzZXQgKyAodGhpc19tdi5hc19tdi5yb3cgKiAoaW5fd2hhdF9zdHJpZGUpKSArCiAg
ICAgICAgICAgICAgICAgICAgICAgdGhpc19tdi5hc19tdi5jb2w7CiAgICAgICAgIHRoaXNzYWQg
PSB2ZnAtPnNkZih3aGF0LCB3aGF0X3N0cmlkZSwgdGhpc19vZmZzZXQsIGluX3doYXRfc3RyaWRl
KTsKLSAgICAgICAgQ0hFQ0tfQkVUVEVSOworICAgICAgICBDSEVDS19CRVRURVIKICAgICAgIH0K
ICAgICB9CiAKQEAgLTExMjMsMTQgKzExMjAsMTQgQEAgaW50IHZwOF9kaWFtb25kX3NlYXJjaF9z
YWRfYyhNQUNST0JMT0NLICp4LCBCTE9DSyAqYiwgQkxPQ0tEICpkLCBpbnRfbXYgKnJlZl9tdiwK
ICAgICB9CiAgIH0KIAotICB0aGlzX212LmFzX212LnJvdyA9IGJlc3RfbXYtPmFzX212LnJvdyAq
IDg7Ci0gIHRoaXNfbXYuYXNfbXYuY29sID0gYmVzdF9tdi0+YXNfbXYuY29sICogODsKKyAgdGhp
c19tdi5hc19tdi5yb3cgPSBiZXN0X212LT5hc19tdi5yb3cgPDwgMzsKKyAgdGhpc19tdi5hc19t
di5jb2wgPSBiZXN0X212LT5hc19tdi5jb2wgPDwgMzsKIAogICByZXR1cm4gZm5fcHRyLT52Zih3
aGF0LCB3aGF0X3N0cmlkZSwgYmVzdF9hZGRyZXNzLCBpbl93aGF0X3N0cmlkZSwgJnRoaXNzYWQp
ICsKICAgICAgICAgIG12X2Vycl9jb3N0KCZ0aGlzX212LCBjZW50ZXJfbXYsIG12Y29zdCwgeC0+
ZXJyb3JwZXJiaXQpOwogfQogCi0jaWYgSEFWRV9TU0UyIHx8IEhBVkVfTVNBIHx8IEhBVkVfTFNY
CisjaWYgSEFWRV9TU0UyIHx8IEhBVkVfTVNBCiBpbnQgdnA4X2RpYW1vbmRfc2VhcmNoX3NhZHg0
KE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsIGludF9tdiAqcmVmX212LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRfbXYgKmJlc3RfbXYsIGludCBzZWFyY2hfcGFy
YW0sIGludCBzYWRfcGVyX2JpdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpu
dW0wMCwgdnA4X3ZhcmlhbmNlX2ZuX3B0cl90ICpmbl9wdHIsCkBAIC0xMjc5LDEyICsxMjc2LDk5
IEBAIGludCB2cDhfZGlhbW9uZF9zZWFyY2hfc2FkeDQoTUFDUk9CTE9DSyAqeCwgQkxPQ0sgKmIs
IEJMT0NLRCAqZCwgaW50X212ICpyZWZfbXYsCiAgIHJldHVybiBmbl9wdHItPnZmKHdoYXQsIHdo
YXRfc3RyaWRlLCBiZXN0X2FkZHJlc3MsIGluX3doYXRfc3RyaWRlLCAmdGhpc3NhZCkgKwogICAg
ICAgICAgbXZfZXJyX2Nvc3QoJnRoaXNfbXYsIGNlbnRlcl9tdiwgbXZjb3N0LCB4LT5lcnJvcnBl
cmJpdCk7CiB9Ci0jZW5kaWYgIC8vIEhBVkVfU1NFMiB8fCBIQVZFX01TQSB8fCBIQVZFX0xTWAor
I2VuZGlmICAvLyBIQVZFX1NTRTIgfHwgSEFWRV9NU0EKKworaW50IHZwOF9mdWxsX3NlYXJjaF9z
YWRfYyhNQUNST0JMT0NLICp4LCBCTE9DSyAqYiwgQkxPQ0tEICpkLCBpbnRfbXYgKnJlZl9tdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LCBpbnQgZGlzdGFuY2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHZwOF92YXJpYW5jZV9mbl9wdHJfdCAqZm5fcHRy
LCBpbnQgKm12Y29zdFsyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50X212ICpjZW50
ZXJfbXYpIHsKKyAgdW5zaWduZWQgY2hhciAqd2hhdCA9ICgqKGItPmJhc2Vfc3JjKSArIGItPnNy
Yyk7CisgIGludCB3aGF0X3N0cmlkZSA9IGItPnNyY19zdHJpZGU7CisgIHVuc2lnbmVkIGNoYXIg
KmluX3doYXQ7CisgIGludCBwcmVfc3RyaWRlID0geC0+ZV9tYmQucHJlLnlfc3RyaWRlOworICB1
bnNpZ25lZCBjaGFyICpiYXNlX3ByZSA9IHgtPmVfbWJkLnByZS55X2J1ZmZlcjsKKyAgaW50IGlu
X3doYXRfc3RyaWRlID0gcHJlX3N0cmlkZTsKKyAgaW50IG12X3N0cmlkZSA9IHByZV9zdHJpZGU7
CisgIHVuc2lnbmVkIGNoYXIgKmJlc3RhZGRyZXNzOworICBpbnRfbXYgKmJlc3RfbXYgPSAmZC0+
Ym1pLm12OworICBpbnRfbXYgdGhpc19tdjsKKyAgdW5zaWduZWQgaW50IGJlc3RzYWQ7CisgIHVu
c2lnbmVkIGludCB0aGlzc2FkOworICBpbnQgciwgYzsKKworICB1bnNpZ25lZCBjaGFyICpjaGVj
a19oZXJlOworCisgIGludCByZWZfcm93ID0gcmVmX212LT5hc19tdi5yb3c7CisgIGludCByZWZf
Y29sID0gcmVmX212LT5hc19tdi5jb2w7CisKKyAgaW50IHJvd19taW4gPSByZWZfcm93IC0gZGlz
dGFuY2U7CisgIGludCByb3dfbWF4ID0gcmVmX3JvdyArIGRpc3RhbmNlOworICBpbnQgY29sX21p
biA9IHJlZl9jb2wgLSBkaXN0YW5jZTsKKyAgaW50IGNvbF9tYXggPSByZWZfY29sICsgZGlzdGFu
Y2U7CisKKyAgaW50ICptdnNhZGNvc3RbMl07CisgIGludF9tdiBmY2VudGVyX212OworCisgIG12
c2FkY29zdFswXSA9IHgtPm12c2FkY29zdFswXTsKKyAgbXZzYWRjb3N0WzFdID0geC0+bXZzYWRj
b3N0WzFdOworICBmY2VudGVyX212LmFzX212LnJvdyA9IGNlbnRlcl9tdi0+YXNfbXYucm93ID4+
IDM7CisgIGZjZW50ZXJfbXYuYXNfbXYuY29sID0gY2VudGVyX212LT5hc19tdi5jb2wgPj4gMzsK
KworICAvKiBXb3JrIG91dCB0aGUgbWlkIHBvaW50IGZvciB0aGUgc2VhcmNoICovCisgIGluX3do
YXQgPSBiYXNlX3ByZSArIGQtPm9mZnNldDsKKyAgYmVzdGFkZHJlc3MgPSBpbl93aGF0ICsgKHJl
Zl9yb3cgKiBwcmVfc3RyaWRlKSArIHJlZl9jb2w7CisKKyAgYmVzdF9tdi0+YXNfbXYucm93ID0g
cmVmX3JvdzsKKyAgYmVzdF9tdi0+YXNfbXYuY29sID0gcmVmX2NvbDsKKworICAvKiBCYXNlbGlu
ZSB2YWx1ZSBhdCB0aGUgY2VudHJlICovCisgIGJlc3RzYWQgPSBmbl9wdHItPnNkZih3aGF0LCB3
aGF0X3N0cmlkZSwgYmVzdGFkZHJlc3MsIGluX3doYXRfc3RyaWRlKSArCisgICAgICAgICAgICBt
dnNhZF9lcnJfY29zdChiZXN0X212LCAmZmNlbnRlcl9tdiwgbXZzYWRjb3N0LCBzYWRfcGVyX2Jp
dCk7CisKKyAgLyogQXBwbHkgZnVydGhlciBsaW1pdHMgdG8gcHJldmVudCB1cyBsb29raW5nIHVz
aW5nIHZlY3RvcnMgdGhhdAorICAgKiBzdHJldGNoIGJleWlvbmQgdGhlIFVNViBib3JkZXIKKyAg
ICovCisgIGlmIChjb2xfbWluIDwgeC0+bXZfY29sX21pbikgY29sX21pbiA9IHgtPm12X2NvbF9t
aW47CisKKyAgaWYgKGNvbF9tYXggPiB4LT5tdl9jb2xfbWF4KSBjb2xfbWF4ID0geC0+bXZfY29s
X21heDsKKworICBpZiAocm93X21pbiA8IHgtPm12X3Jvd19taW4pIHJvd19taW4gPSB4LT5tdl9y
b3dfbWluOworCisgIGlmIChyb3dfbWF4ID4geC0+bXZfcm93X21heCkgcm93X21heCA9IHgtPm12
X3Jvd19tYXg7CisKKyAgZm9yIChyID0gcm93X21pbjsgciA8IHJvd19tYXg7ICsrcikgeworICAg
IHRoaXNfbXYuYXNfbXYucm93ID0gcjsKKyAgICBjaGVja19oZXJlID0gciAqIG12X3N0cmlkZSAr
IGluX3doYXQgKyBjb2xfbWluOworCisgICAgZm9yIChjID0gY29sX21pbjsgYyA8IGNvbF9tYXg7
ICsrYykgeworICAgICAgdGhpc3NhZCA9IGZuX3B0ci0+c2RmKHdoYXQsIHdoYXRfc3RyaWRlLCBj
aGVja19oZXJlLCBpbl93aGF0X3N0cmlkZSk7CisKKyAgICAgIHRoaXNfbXYuYXNfbXYuY29sID0g
YzsKKyAgICAgIHRoaXNzYWQgKz0gbXZzYWRfZXJyX2Nvc3QoJnRoaXNfbXYsICZmY2VudGVyX212
LCBtdnNhZGNvc3QsIHNhZF9wZXJfYml0KTsKKworICAgICAgaWYgKHRoaXNzYWQgPCBiZXN0c2Fk
KSB7CisgICAgICAgIGJlc3RzYWQgPSB0aGlzc2FkOworICAgICAgICBiZXN0X212LT5hc19tdi5y
b3cgPSByOworICAgICAgICBiZXN0X212LT5hc19tdi5jb2wgPSBjOworICAgICAgICBiZXN0YWRk
cmVzcyA9IGNoZWNrX2hlcmU7CisgICAgICB9CisKKyAgICAgIGNoZWNrX2hlcmUrKzsKKyAgICB9
CisgIH0KKworICB0aGlzX212LmFzX212LnJvdyA9IGJlc3RfbXYtPmFzX212LnJvdyA8PCAzOwor
ICB0aGlzX212LmFzX212LmNvbCA9IGJlc3RfbXYtPmFzX212LmNvbCA8PCAzOworCisgIHJldHVy
biBmbl9wdHItPnZmKHdoYXQsIHdoYXRfc3RyaWRlLCBiZXN0YWRkcmVzcywgaW5fd2hhdF9zdHJp
ZGUsICZ0aGlzc2FkKSArCisgICAgICAgICBtdl9lcnJfY29zdCgmdGhpc19tdiwgY2VudGVyX212
LCBtdmNvc3QsIHgtPmVycm9ycGVyYml0KTsKK30KIAotaW50IHZwOF9mdWxsX3NlYXJjaF9zYWQo
TUFDUk9CTE9DSyAqeCwgQkxPQ0sgKmIsIEJMT0NLRCAqZCwgaW50X212ICpyZWZfbXYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsIGludCBkaXN0YW5jZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHZwOF92YXJpYW5jZV9mbl9wdHJfdCAqZm5fcHRyLCBpbnQgKm12
Y29zdFsyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludF9tdiAqY2VudGVyX212KSB7Cisj
aWYgSEFWRV9TU1NFMworaW50IHZwOF9mdWxsX3NlYXJjaF9zYWR4MyhNQUNST0JMT0NLICp4LCBC
TE9DSyAqYiwgQkxPQ0tEICpkLCBpbnRfbXYgKnJlZl9tdiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNhZF9wZXJfYml0LCBpbnQgZGlzdGFuY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZwOF92YXJpYW5jZV9mbl9wdHJfdCAqZm5fcHRyLCBpbnQgKm12Y29zdFsyXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50X212ICpjZW50ZXJfbXYpIHsKICAgdW5zaWduZWQg
Y2hhciAqd2hhdCA9ICgqKGItPmJhc2Vfc3JjKSArIGItPnNyYyk7CiAgIGludCB3aGF0X3N0cmlk
ZSA9IGItPnNyY19zdHJpZGU7CiAgIHVuc2lnbmVkIGNoYXIgKmluX3doYXQ7CkBAIC0xMzA5LDYg
KzEzOTMsOCBAQCBpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZChNQUNST0JMT0NLICp4LCBCTE9DSyAq
YiwgQkxPQ0tEICpkLCBpbnRfbXYgKnJlZl9tdiwKICAgaW50IGNvbF9taW4gPSByZWZfY29sIC0g
ZGlzdGFuY2U7CiAgIGludCBjb2xfbWF4ID0gcmVmX2NvbCArIGRpc3RhbmNlOwogCisgIHVuc2ln
bmVkIGludCBzYWRfYXJyYXlbM107CisKICAgaW50ICptdnNhZGNvc3RbMl07CiAgIGludF9tdiBm
Y2VudGVyX212OwogCkBAIC0xMzQyLDggKzE0MjgsMTgzIEBAIGludCB2cDhfZnVsbF9zZWFyY2hf
c2FkKE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsIGludF9tdiAqcmVmX212LAog
ICBmb3IgKHIgPSByb3dfbWluOyByIDwgcm93X21heDsgKytyKSB7CiAgICAgdGhpc19tdi5hc19t
di5yb3cgPSByOwogICAgIGNoZWNrX2hlcmUgPSByICogbXZfc3RyaWRlICsgaW5fd2hhdCArIGNv
bF9taW47CisgICAgYyA9IGNvbF9taW47CiAKLSAgICBmb3IgKGMgPSBjb2xfbWluOyBjIDwgY29s
X21heDsgKytjKSB7CisgICAgd2hpbGUgKChjICsgMikgPCBjb2xfbWF4KSB7CisgICAgICBpbnQg
aTsKKworICAgICAgZm5fcHRyLT5zZHgzZih3aGF0LCB3aGF0X3N0cmlkZSwgY2hlY2tfaGVyZSwg
aW5fd2hhdF9zdHJpZGUsIHNhZF9hcnJheSk7CisKKyAgICAgIGZvciAoaSA9IDA7IGkgPCAzOyAr
K2kpIHsKKyAgICAgICAgdGhpc3NhZCA9IHNhZF9hcnJheVtpXTsKKworICAgICAgICBpZiAodGhp
c3NhZCA8IGJlc3RzYWQpIHsKKyAgICAgICAgICB0aGlzX212LmFzX212LmNvbCA9IGM7CisgICAg
ICAgICAgdGhpc3NhZCArPQorICAgICAgICAgICAgICBtdnNhZF9lcnJfY29zdCgmdGhpc19tdiwg
JmZjZW50ZXJfbXYsIG12c2FkY29zdCwgc2FkX3Blcl9iaXQpOworCisgICAgICAgICAgaWYgKHRo
aXNzYWQgPCBiZXN0c2FkKSB7CisgICAgICAgICAgICBiZXN0c2FkID0gdGhpc3NhZDsKKyAgICAg
ICAgICAgIGJlc3RfbXYtPmFzX212LnJvdyA9IHI7CisgICAgICAgICAgICBiZXN0X212LT5hc19t
di5jb2wgPSBjOworICAgICAgICAgICAgYmVzdGFkZHJlc3MgPSBjaGVja19oZXJlOworICAgICAg
ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGNoZWNrX2hlcmUrKzsKKyAgICAgICAgYysrOwor
ICAgICAgfQorICAgIH0KKworICAgIHdoaWxlIChjIDwgY29sX21heCkgeworICAgICAgdGhpc3Nh
ZCA9IGZuX3B0ci0+c2RmKHdoYXQsIHdoYXRfc3RyaWRlLCBjaGVja19oZXJlLCBpbl93aGF0X3N0
cmlkZSk7CisKKyAgICAgIGlmICh0aGlzc2FkIDwgYmVzdHNhZCkgeworICAgICAgICB0aGlzX212
LmFzX212LmNvbCA9IGM7CisgICAgICAgIHRoaXNzYWQgKz0KKyAgICAgICAgICAgIG12c2FkX2Vy
cl9jb3N0KCZ0aGlzX212LCAmZmNlbnRlcl9tdiwgbXZzYWRjb3N0LCBzYWRfcGVyX2JpdCk7CisK
KyAgICAgICAgaWYgKHRoaXNzYWQgPCBiZXN0c2FkKSB7CisgICAgICAgICAgYmVzdHNhZCA9IHRo
aXNzYWQ7CisgICAgICAgICAgYmVzdF9tdi0+YXNfbXYucm93ID0gcjsKKyAgICAgICAgICBiZXN0
X212LT5hc19tdi5jb2wgPSBjOworICAgICAgICAgIGJlc3RhZGRyZXNzID0gY2hlY2tfaGVyZTsK
KyAgICAgICAgfQorICAgICAgfQorCisgICAgICBjaGVja19oZXJlKys7CisgICAgICBjKys7Cisg
ICAgfQorICB9CisKKyAgdGhpc19tdi5hc19tdi5yb3cgPSBiZXN0X212LT5hc19tdi5yb3cgPDwg
MzsKKyAgdGhpc19tdi5hc19tdi5jb2wgPSBiZXN0X212LT5hc19tdi5jb2wgPDwgMzsKKworICBy
ZXR1cm4gZm5fcHRyLT52Zih3aGF0LCB3aGF0X3N0cmlkZSwgYmVzdGFkZHJlc3MsIGluX3doYXRf
c3RyaWRlLCAmdGhpc3NhZCkgKworICAgICAgICAgbXZfZXJyX2Nvc3QoJnRoaXNfbXYsIGNlbnRl
cl9tdiwgbXZjb3N0LCB4LT5lcnJvcnBlcmJpdCk7Cit9CisjZW5kaWYgIC8vIEhBVkVfU1NTRTMK
KworI2lmIEhBVkVfU1NFNF8xCitpbnQgdnA4X2Z1bGxfc2VhcmNoX3NhZHg4KE1BQ1JPQkxPQ0sg
KngsIEJMT0NLICpiLCBCTE9DS0QgKmQsIGludF9tdiAqcmVmX212LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsIGludCBkaXN0YW5jZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdnA4X3ZhcmlhbmNlX2ZuX3B0cl90ICpmbl9wdHIsIGludCAqbXZjb3N0WzJd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRfbXYgKmNlbnRlcl9tdikgeworICB1bnNp
Z25lZCBjaGFyICp3aGF0ID0gKCooYi0+YmFzZV9zcmMpICsgYi0+c3JjKTsKKyAgaW50IHdoYXRf
c3RyaWRlID0gYi0+c3JjX3N0cmlkZTsKKyAgaW50IHByZV9zdHJpZGUgPSB4LT5lX21iZC5wcmUu
eV9zdHJpZGU7CisgIHVuc2lnbmVkIGNoYXIgKmJhc2VfcHJlID0geC0+ZV9tYmQucHJlLnlfYnVm
ZmVyOworICB1bnNpZ25lZCBjaGFyICppbl93aGF0OworICBpbnQgaW5fd2hhdF9zdHJpZGUgPSBw
cmVfc3RyaWRlOworICBpbnQgbXZfc3RyaWRlID0gcHJlX3N0cmlkZTsKKyAgdW5zaWduZWQgY2hh
ciAqYmVzdGFkZHJlc3M7CisgIGludF9tdiAqYmVzdF9tdiA9ICZkLT5ibWkubXY7CisgIGludF9t
diB0aGlzX212OworICB1bnNpZ25lZCBpbnQgYmVzdHNhZDsKKyAgdW5zaWduZWQgaW50IHRoaXNz
YWQ7CisgIGludCByLCBjOworCisgIHVuc2lnbmVkIGNoYXIgKmNoZWNrX2hlcmU7CisKKyAgaW50
IHJlZl9yb3cgPSByZWZfbXYtPmFzX212LnJvdzsKKyAgaW50IHJlZl9jb2wgPSByZWZfbXYtPmFz
X212LmNvbDsKKworICBpbnQgcm93X21pbiA9IHJlZl9yb3cgLSBkaXN0YW5jZTsKKyAgaW50IHJv
d19tYXggPSByZWZfcm93ICsgZGlzdGFuY2U7CisgIGludCBjb2xfbWluID0gcmVmX2NvbCAtIGRp
c3RhbmNlOworICBpbnQgY29sX21heCA9IHJlZl9jb2wgKyBkaXN0YW5jZTsKKworICBERUNMQVJF
X0FMSUdORUQoMTYsIHVuc2lnbmVkIGludCwgc2FkX2FycmF5OFs4XSk7CisgIHVuc2lnbmVkIGlu
dCBzYWRfYXJyYXlbM107CisKKyAgaW50ICptdnNhZGNvc3RbMl07CisgIGludF9tdiBmY2VudGVy
X212OworCisgIG12c2FkY29zdFswXSA9IHgtPm12c2FkY29zdFswXTsKKyAgbXZzYWRjb3N0WzFd
ID0geC0+bXZzYWRjb3N0WzFdOworICBmY2VudGVyX212LmFzX212LnJvdyA9IGNlbnRlcl9tdi0+
YXNfbXYucm93ID4+IDM7CisgIGZjZW50ZXJfbXYuYXNfbXYuY29sID0gY2VudGVyX212LT5hc19t
di5jb2wgPj4gMzsKKworICAvKiBXb3JrIG91dCB0aGUgbWlkIHBvaW50IGZvciB0aGUgc2VhcmNo
ICovCisgIGluX3doYXQgPSBiYXNlX3ByZSArIGQtPm9mZnNldDsKKyAgYmVzdGFkZHJlc3MgPSBp
bl93aGF0ICsgKHJlZl9yb3cgKiBwcmVfc3RyaWRlKSArIHJlZl9jb2w7CisKKyAgYmVzdF9tdi0+
YXNfbXYucm93ID0gcmVmX3JvdzsKKyAgYmVzdF9tdi0+YXNfbXYuY29sID0gcmVmX2NvbDsKKwor
ICAvKiBCYXNlbGluZSB2YWx1ZSBhdCB0aGUgY2VudHJlICovCisgIGJlc3RzYWQgPSBmbl9wdHIt
PnNkZih3aGF0LCB3aGF0X3N0cmlkZSwgYmVzdGFkZHJlc3MsIGluX3doYXRfc3RyaWRlKSArCisg
ICAgICAgICAgICBtdnNhZF9lcnJfY29zdChiZXN0X212LCAmZmNlbnRlcl9tdiwgbXZzYWRjb3N0
LCBzYWRfcGVyX2JpdCk7CisKKyAgLyogQXBwbHkgZnVydGhlciBsaW1pdHMgdG8gcHJldmVudCB1
cyBsb29raW5nIHVzaW5nIHZlY3RvcnMgdGhhdCBzdHJldGNoCisgICAqIGJleW9uZCB0aGUgVU1W
IGJvcmRlcgorICAgKi8KKyAgaWYgKGNvbF9taW4gPCB4LT5tdl9jb2xfbWluKSBjb2xfbWluID0g
eC0+bXZfY29sX21pbjsKKworICBpZiAoY29sX21heCA+IHgtPm12X2NvbF9tYXgpIGNvbF9tYXgg
PSB4LT5tdl9jb2xfbWF4OworCisgIGlmIChyb3dfbWluIDwgeC0+bXZfcm93X21pbikgcm93X21p
biA9IHgtPm12X3Jvd19taW47CisKKyAgaWYgKHJvd19tYXggPiB4LT5tdl9yb3dfbWF4KSByb3df
bWF4ID0geC0+bXZfcm93X21heDsKKworICBmb3IgKHIgPSByb3dfbWluOyByIDwgcm93X21heDsg
KytyKSB7CisgICAgdGhpc19tdi5hc19tdi5yb3cgPSByOworICAgIGNoZWNrX2hlcmUgPSByICog
bXZfc3RyaWRlICsgaW5fd2hhdCArIGNvbF9taW47CisgICAgYyA9IGNvbF9taW47CisKKyAgICB3
aGlsZSAoKGMgKyA3KSA8IGNvbF9tYXgpIHsKKyAgICAgIGludCBpOworCisgICAgICBmbl9wdHIt
PnNkeDhmKHdoYXQsIHdoYXRfc3RyaWRlLCBjaGVja19oZXJlLCBpbl93aGF0X3N0cmlkZSwgc2Fk
X2FycmF5OCk7CisKKyAgICAgIGZvciAoaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICAgICAgdGhp
c3NhZCA9IHNhZF9hcnJheThbaV07CisKKyAgICAgICAgaWYgKHRoaXNzYWQgPCBiZXN0c2FkKSB7
CisgICAgICAgICAgdGhpc19tdi5hc19tdi5jb2wgPSBjOworICAgICAgICAgIHRoaXNzYWQgKz0K
KyAgICAgICAgICAgICAgbXZzYWRfZXJyX2Nvc3QoJnRoaXNfbXYsICZmY2VudGVyX212LCBtdnNh
ZGNvc3QsIHNhZF9wZXJfYml0KTsKKworICAgICAgICAgIGlmICh0aGlzc2FkIDwgYmVzdHNhZCkg
eworICAgICAgICAgICAgYmVzdHNhZCA9IHRoaXNzYWQ7CisgICAgICAgICAgICBiZXN0X212LT5h
c19tdi5yb3cgPSByOworICAgICAgICAgICAgYmVzdF9tdi0+YXNfbXYuY29sID0gYzsKKyAgICAg
ICAgICAgIGJlc3RhZGRyZXNzID0gY2hlY2tfaGVyZTsKKyAgICAgICAgICB9CisgICAgICAgIH0K
KworICAgICAgICBjaGVja19oZXJlKys7CisgICAgICAgIGMrKzsKKyAgICAgIH0KKyAgICB9CisK
KyAgICB3aGlsZSAoKGMgKyAyKSA8IGNvbF9tYXgpIHsKKyAgICAgIGludCBpOworCisgICAgICBm
bl9wdHItPnNkeDNmKHdoYXQsIHdoYXRfc3RyaWRlLCBjaGVja19oZXJlLCBpbl93aGF0X3N0cmlk
ZSwgc2FkX2FycmF5KTsKKworICAgICAgZm9yIChpID0gMDsgaSA8IDM7ICsraSkgeworICAgICAg
ICB0aGlzc2FkID0gc2FkX2FycmF5W2ldOworCisgICAgICAgIGlmICh0aGlzc2FkIDwgYmVzdHNh
ZCkgeworICAgICAgICAgIHRoaXNfbXYuYXNfbXYuY29sID0gYzsKKyAgICAgICAgICB0aGlzc2Fk
ICs9CisgICAgICAgICAgICAgIG12c2FkX2Vycl9jb3N0KCZ0aGlzX212LCAmZmNlbnRlcl9tdiwg
bXZzYWRjb3N0LCBzYWRfcGVyX2JpdCk7CisKKyAgICAgICAgICBpZiAodGhpc3NhZCA8IGJlc3Rz
YWQpIHsKKyAgICAgICAgICAgIGJlc3RzYWQgPSB0aGlzc2FkOworICAgICAgICAgICAgYmVzdF9t
di0+YXNfbXYucm93ID0gcjsKKyAgICAgICAgICAgIGJlc3RfbXYtPmFzX212LmNvbCA9IGM7Cisg
ICAgICAgICAgICBiZXN0YWRkcmVzcyA9IGNoZWNrX2hlcmU7CisgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgY2hlY2tfaGVyZSsrOworICAgICAgICBjKys7CisgICAgICB9CisgICAg
fQorCisgICAgd2hpbGUgKGMgPCBjb2xfbWF4KSB7CiAgICAgICB0aGlzc2FkID0gZm5fcHRyLT5z
ZGYod2hhdCwgd2hhdF9zdHJpZGUsIGNoZWNrX2hlcmUsIGluX3doYXRfc3RyaWRlKTsKIAogICAg
ICAgaWYgKHRoaXNzYWQgPCBiZXN0c2FkKSB7CkBAIC0xMzYwLDYgKzE2MjEsNyBAQCBpbnQgdnA4
X2Z1bGxfc2VhcmNoX3NhZChNQUNST0JMT0NLICp4LCBCTE9DSyAqYiwgQkxPQ0tEICpkLCBpbnRf
bXYgKnJlZl9tdiwKICAgICAgIH0KIAogICAgICAgY2hlY2tfaGVyZSsrOworICAgICAgYysrOwog
ICAgIH0KICAgfQogCkBAIC0xMzY5LDYgKzE2MzEsNyBAQCBpbnQgdnA4X2Z1bGxfc2VhcmNoX3Nh
ZChNQUNST0JMT0NLICp4LCBCTE9DSyAqYiwgQkxPQ0tEICpkLCBpbnRfbXYgKnJlZl9tdiwKICAg
cmV0dXJuIGZuX3B0ci0+dmYod2hhdCwgd2hhdF9zdHJpZGUsIGJlc3RhZGRyZXNzLCBpbl93aGF0
X3N0cmlkZSwgJnRoaXNzYWQpICsKICAgICAgICAgIG12X2Vycl9jb3N0KCZ0aGlzX212LCBjZW50
ZXJfbXYsIG12Y29zdCwgeC0+ZXJyb3JwZXJiaXQpOwogfQorI2VuZGlmICAvLyBIQVZFX1NTRTRf
MQogCiBpbnQgdnA4X3JlZmluaW5nX3NlYXJjaF9zYWRfYyhNQUNST0JMT0NLICp4LCBCTE9DSyAq
YiwgQkxPQ0tEICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50X212ICpyZWZf
bXYsIGludCBlcnJvcl9wZXJfYml0LApAQCAtMTQ0MSw4ICsxNzA0LDggQEAgaW50IHZwOF9yZWZp
bmluZ19zZWFyY2hfc2FkX2MoTUFDUk9CTE9DSyAqeCwgQkxPQ0sgKmIsIEJMT0NLRCAqZCwKICAg
ICB9CiAgIH0KIAotICB0aGlzX212LmFzX212LnJvdyA9IHJlZl9tdi0+YXNfbXYucm93ICogODsK
LSAgdGhpc19tdi5hc19tdi5jb2wgPSByZWZfbXYtPmFzX212LmNvbCAqIDg7CisgIHRoaXNfbXYu
YXNfbXYucm93ID0gcmVmX212LT5hc19tdi5yb3cgPDwgMzsKKyAgdGhpc19tdi5hc19tdi5jb2wg
PSByZWZfbXYtPmFzX212LmNvbCA8PCAzOwogCiAgIHJldHVybiBmbl9wdHItPnZmKHdoYXQsIHdo
YXRfc3RyaWRlLCBiZXN0X2FkZHJlc3MsIGluX3doYXRfc3RyaWRlLCAmdGhpc3NhZCkgKwogICAg
ICAgICAgbXZfZXJyX2Nvc3QoJnRoaXNfbXYsIGNlbnRlcl9tdiwgbXZjb3N0LCB4LT5lcnJvcnBl
cmJpdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmgKaW5kZXggMWVlNmZlNWRkNjQzLi41N2MxOGY1MjNm
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbWNvbXAuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOC9lbmNvZGVyL21jb21wLmgKQEAgLTUwLDEwICs1MCwxMCBAQCBmcmFjdGlvbmFs
X212X3N0ZXBfZnAgdnA4X2ZpbmRfYmVzdF9zdWJfcGl4ZWxfc3RlcDsKIGZyYWN0aW9uYWxfbXZf
c3RlcF9mcCB2cDhfZmluZF9iZXN0X2hhbGZfcGl4ZWxfc3RlcDsKIGZyYWN0aW9uYWxfbXZfc3Rl
cF9mcCB2cDhfc2tpcF9mcmFjdGlvbmFsX212X3N0ZXA7CiAKLWludCB2cDhfZnVsbF9zZWFyY2hf
c2FkKE1BQ1JPQkxPQ0sgKngsIEJMT0NLICpiLCBCTE9DS0QgKmQsIGludF9tdiAqcmVmX212LAot
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0LCBpbnQgZGlzdGFuY2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICB2cDhfdmFyaWFuY2VfZm5fcHRyX3QgKmZuX3B0ciwgaW50
ICptdmNvc3RbMl0sCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnRfbXYgKmNlbnRlcl9tdik7
Cit0eXBlZGVmIGludCAoKnZwOF9mdWxsX3NlYXJjaF9mbl90KShNQUNST0JMT0NLICp4LCBCTE9D
SyAqYiwgQkxPQ0tEICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
X212ICpyZWZfbXYsIGludCBzYWRfcGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkaXN0YW5jZSwgdnA4X3ZhcmlhbmNlX2ZuX3B0cl90ICpmbl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKm12Y29zdFsyXSwgaW50X212
ICpjZW50ZXJfbXYpOwogCiB0eXBlZGVmIGludCAoKnZwOF9yZWZpbmluZ19zZWFyY2hfZm5fdCko
TUFDUk9CTE9DSyAqeCwgQkxPQ0sgKmIsIEJMT0NLRCAqZCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRfbXYgKnJlZl9tdiwgaW50IHNhZF9wZXJfYml0LApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9tcl9kaXNzaW0uYyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2VuY29kZXIvbXJfZGlzc2ltLmMKaW5kZXggYjFiZmI0YjU0YTgzLi4wMTFiNjJhMDhmZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvbXJfZGlzc2ltLmMKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvZW5jb2Rlci9tcl9kaXNzaW0uYwpAQCAtNDksNiArNDksNyBAQCB2b2lkIHZw
OF9jYWxfbG93X3Jlc19tYl9jb2xzKFZQOF9DT01QICpjcGkpIHsKIAogdm9pZCB2cDhfY2FsX2Rp
c3NpbWlsYXJpdHkoVlA4X0NPTVAgKmNwaSkgewogICBWUDhfQ09NTU9OICpjbSA9ICZjcGktPmNv
bW1vbjsKKyAgaW50IGk7CiAKICAgLyogTm90ZTogVGhlIGZpcnN0IHJvdyAmIGZpcnN0IGNvbHVt
biBpbiBtaXAgYXJlIG91dHNpZGUgdGhlIGZyYW1lLCB3aGljaAogICAgKiB3ZXJlIGluaXRpYWxp
emVkIHRvIGFsbCAwLihyZWZfZnJhbWUsIG1vZGUsIG12Li4uKQpAQCAtNjYsNyArNjcsNiBAQCB2
b2lkIHZwOF9jYWxfZGlzc2ltaWxhcml0eShWUDhfQ09NUCAqY3BpKSB7CiAgICAgc3RvcmVfaW5m
by0+ZnJhbWVfdHlwZSA9IGNtLT5mcmFtZV90eXBlOwogCiAgICAgaWYgKGNtLT5mcmFtZV90eXBl
ICE9IEtFWV9GUkFNRSkgewotICAgICAgaW50IGk7CiAgICAgICBzdG9yZV9pbmZvLT5pc19mcmFt
ZV9kcm9wcGVkID0gMDsKICAgICAgIGZvciAoaSA9IDE7IGkgPCBNQVhfUkVGX0ZSQU1FUzsgKytp
KQogICAgICAgICBzdG9yZV9pbmZvLT5sb3dfcmVzX3JlZl9mcmFtZXNbaV0gPSBjcGktPmN1cnJl
bnRfcmVmX2ZyYW1lc1tpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvb255
eF9pZi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9vbnl4X2lmLmMKaW5kZXggNzkxNDA4NjRl
Nzk2Li4zNjlhZGJkY2JhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvb255
eF9pZi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvb255eF9pZi5jCkBAIC0zNiw3ICsz
Niw2IEBACiAjaW5jbHVkZSAidnA4L2NvbW1vbi9zd2FweXYxMmJ1ZmZlci5oIgogI2luY2x1ZGUg
InZwOC9jb21tb24vdGhyZWFkaW5nLmgiCiAjaW5jbHVkZSAidnB4X3BvcnRzL3N5c3RlbV9zdGF0
ZS5oIgotI2luY2x1ZGUgInZweF9wb3J0cy92cHhfb25jZS5oIgogI2luY2x1ZGUgInZweF9wb3J0
cy92cHhfdGltZXIuaCIKICNpbmNsdWRlICJ2cHhfdXRpbC92cHhfd3JpdGVfeXV2X2ZyYW1lLmgi
CiAjaWYgVlBYX0FSQ0hfQVJNCkBAIC0xODQsNyArMTgzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgaW50ZXJfbWlucVtRSU5ERVhfUkFOR0VdID0gewogZXh0ZXJuIEZJTEUgKnZweGxv
Z2M7CiAjZW5kaWYKIAotdm9pZCB2cDhfc2F2ZV9sYXllcl9jb250ZXh0KFZQOF9DT01QICpjcGkp
IHsKK3N0YXRpYyB2b2lkIHNhdmVfbGF5ZXJfY29udGV4dChWUDhfQ09NUCAqY3BpKSB7CiAgIExB
WUVSX0NPTlRFWFQgKmxjID0gJmNwaS0+bGF5ZXJfY29udGV4dFtjcGktPmN1cnJlbnRfbGF5ZXJd
OwogCiAgIC8qIFNhdmUgbGF5ZXIgZGVwZW5kZW50IGNvZGluZyBzdGF0ZSAqLwpAQCAtMjIzLDcg
KzIyMiw3IEBAIHZvaWQgdnA4X3NhdmVfbGF5ZXJfY29udGV4dChWUDhfQ09NUCAqY3BpKSB7CiAg
ICAgICAgICBzaXplb2YoY3BpLT5tYi5jb3VudF9tYl9yZWZfZnJhbWVfdXNhZ2UpKTsKIH0KIAot
dm9pZCB2cDhfcmVzdG9yZV9sYXllcl9jb250ZXh0KFZQOF9DT01QICpjcGksIGNvbnN0IGludCBs
YXllcikgeworc3RhdGljIHZvaWQgcmVzdG9yZV9sYXllcl9jb250ZXh0KFZQOF9DT01QICpjcGks
IGNvbnN0IGludCBsYXllcikgewogICBMQVlFUl9DT05URVhUICpsYyA9ICZjcGktPmxheWVyX2Nv
bnRleHRbbGF5ZXJdOwogCiAgIC8qIFJlc3RvcmUgbGF5ZXIgZGVwZW5kZW50IGNvZGluZyBzdGF0
ZSAqLwpAQCAtMjcwLDkgKzI2OSw5IEBAIHN0YXRpYyBpbnQgcmVzY2FsZShpbnQgdmFsLCBpbnQg
bnVtLCBpbnQgZGVub20pIHsKICAgcmV0dXJuIChpbnQpKGxsdmFsICogbGxudW0gLyBsbGRlbik7
CiB9CiAKLXZvaWQgdnA4X2luaXRfdGVtcG9yYWxfbGF5ZXJfY29udGV4dChWUDhfQ09NUCAqY3Bp
LCBjb25zdCBWUDhfQ09ORklHICpveGNmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludCBsYXllciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkb3VibGUgcHJldl9sYXllcl9mcmFtZXJhdGUpIHsKK3N0YXRpYyB2b2lkIGluaXRfdGVt
cG9yYWxfbGF5ZXJfY29udGV4dChWUDhfQ09NUCAqY3BpLCBWUDhfQ09ORklHICpveGNmLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBsYXllciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgcHJldl9sYXllcl9m
cmFtZXJhdGUpIHsKICAgTEFZRVJfQ09OVEVYVCAqbGMgPSAmY3BpLT5sYXllcl9jb250ZXh0W2xh
eWVyXTsKIAogICBsYy0+ZnJhbWVyYXRlID0gY3BpLT5vdXRwdXRfZnJhbWVyYXRlIC8gY3BpLT5v
eGNmLnJhdGVfZGVjaW1hdG9yW2xheWVyXTsKQEAgLTMwMiw5ICszMDEsOSBAQCB2b2lkIHZwOF9p
bml0X3RlbXBvcmFsX2xheWVyX2NvbnRleHQoVlA4X0NPTVAgKmNwaSwgY29uc3QgVlA4X0NPTkZJ
RyAqb3hjZiwKICAgLyogV29yayBvdXQgdGhlIGF2ZXJhZ2Ugc2l6ZSBvZiBhIGZyYW1lIHdpdGhp
biB0aGlzIGxheWVyICovCiAgIGlmIChsYXllciA+IDApIHsKICAgICBsYy0+YXZnX2ZyYW1lX3Np
emVfZm9yX2xheWVyID0KLSAgICAgICAgKGludClyb3VuZCgoY3BpLT5veGNmLnRhcmdldF9iaXRy
YXRlW2xheWVyXSAtCi0gICAgICAgICAgICAgICAgICAgIGNwaS0+b3hjZi50YXJnZXRfYml0cmF0
ZVtsYXllciAtIDFdKSAqCi0gICAgICAgICAgICAgICAgICAgMTAwMCAvIChsYy0+ZnJhbWVyYXRl
IC0gcHJldl9sYXllcl9mcmFtZXJhdGUpKTsKKyAgICAgICAgKGludCkoKGNwaS0+b3hjZi50YXJn
ZXRfYml0cmF0ZVtsYXllcl0gLQorICAgICAgICAgICAgICAgY3BpLT5veGNmLnRhcmdldF9iaXRy
YXRlW2xheWVyIC0gMV0pICoKKyAgICAgICAgICAgICAgMTAwMCAvIChsYy0+ZnJhbWVyYXRlIC0g
cHJldl9sYXllcl9mcmFtZXJhdGUpKTsKICAgfQogCiAgIGxjLT5hY3RpdmVfd29yc3RfcXVhbGl0
eSA9IGNwaS0+b3hjZi53b3JzdF9hbGxvd2VkX3E7CkBAIC0zMjgsOCArMzI3LDggQEAgdm9pZCB2
cDhfaW5pdF90ZW1wb3JhbF9sYXllcl9jb250ZXh0KFZQOF9DT01QICpjcGksIGNvbnN0IFZQOF9D
T05GSUcgKm94Y2YsCiAvLyBmb3IgYW55ICJuZXciIGxheWVycy4gRm9yICJleGlzdGluZyIgbGF5
ZXJzLCBsZXQgdGhlbSBpbmhlcml0IHRoZSBwYXJhbWV0ZXJzCiAvLyBmcm9tIHRoZSBwcmV2aW91
cyBsYXllciBzdGF0ZSAoYXQgdGhlIHNhbWUgbGF5ZXIgIykuIEluIGZ1dHVyZSB3ZSBtYXkgd2Fu
dAogLy8gdG8gYmV0dGVyIG1hcCB0aGUgcHJldmlvdXMgbGF5ZXIgc3RhdGUocykgdG8gdGhlICJu
ZXciIG9uZXMuCi12b2lkIHZwOF9yZXNldF90ZW1wb3JhbF9sYXllcl9jaGFuZ2UoVlA4X0NPTVAg
KmNwaSwgY29uc3QgVlA4X0NPTkZJRyAqb3hjZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQgcHJldl9udW1fbGF5ZXJzKSB7CitzdGF0aWMgdm9pZCByZXNl
dF90ZW1wb3JhbF9sYXllcl9jaGFuZ2UoVlA4X0NPTVAgKmNwaSwgVlA4X0NPTkZJRyAqb3hjZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgcHJldl9u
dW1fbGF5ZXJzKSB7CiAgIGludCBpOwogICBkb3VibGUgcHJldl9sYXllcl9mcmFtZXJhdGUgPSAw
OwogICBjb25zdCBpbnQgY3Vycl9udW1fbGF5ZXJzID0gY3BpLT5veGNmLm51bWJlcl9vZl9sYXll
cnM7CkBAIC0zMzcsMTIgKzMzNiwxMiBAQCB2b2lkIHZwOF9yZXNldF90ZW1wb3JhbF9sYXllcl9j
aGFuZ2UoVlA4X0NPTVAgKmNwaSwgY29uc3QgVlA4X0NPTkZJRyAqb3hjZiwKICAgLy8gV2UgbmVl
ZCB0aGlzIHRvIHNldCB0aGUgbGF5ZXIgY29udGV4dCBmb3IgdGhlIG5ldyBsYXllcnMgYmVsb3cu
CiAgIGlmIChwcmV2X251bV9sYXllcnMgPT0gMSkgewogICAgIGNwaS0+Y3VycmVudF9sYXllciA9
IDA7Ci0gICAgdnA4X3NhdmVfbGF5ZXJfY29udGV4dChjcGkpOworICAgIHNhdmVfbGF5ZXJfY29u
dGV4dChjcGkpOwogICB9CiAgIGZvciAoaSA9IDA7IGkgPCBjdXJyX251bV9sYXllcnM7ICsraSkg
ewogICAgIExBWUVSX0NPTlRFWFQgKmxjID0gJmNwaS0+bGF5ZXJfY29udGV4dFtpXTsKICAgICBp
ZiAoaSA+PSBwcmV2X251bV9sYXllcnMpIHsKLSAgICAgIHZwOF9pbml0X3RlbXBvcmFsX2xheWVy
X2NvbnRleHQoY3BpLCBveGNmLCBpLCBwcmV2X2xheWVyX2ZyYW1lcmF0ZSk7CisgICAgICBpbml0
X3RlbXBvcmFsX2xheWVyX2NvbnRleHQoY3BpLCBveGNmLCBpLCBwcmV2X2xheWVyX2ZyYW1lcmF0
ZSk7CiAgICAgfQogICAgIC8vIFRoZSBpbml0aWFsIGJ1ZmZlciBsZXZlbHMgYXJlIHNldCBiYXNl
ZCBvbiB0aGVpciBzdGFydGluZyBsZXZlbHMuCiAgICAgLy8gV2UgY291bGQgc2V0IHRoZSBidWZm
ZXIgbGV2ZWxzIGJhc2VkIG9uIHRoZSBwcmV2aW91cyBzdGF0ZSAobm9ybWFsaXplZApAQCAtMzU3
LDcgKzM1Niw3IEBAIHZvaWQgdnA4X3Jlc2V0X3RlbXBvcmFsX2xheWVyX2NoYW5nZShWUDhfQ09N
UCAqY3BpLCBjb25zdCBWUDhfQ09ORklHICpveGNmLAogICAgIC8vIHN0YXRlICh0byBzbW9vdGgt
b3V0IHF1YWxpdHkgZGlwcy9yYXRlIGZsdWN0dWF0aW9uIGF0IHRyYW5zaXRpb24pPwogCiAgICAg
Ly8gV2UgbmVlZCB0byB0cmVhdCB0aGUgMSBsYXllciBjYXNlIHNlcGFyYXRlbHk6IG94Y2YudGFy
Z2V0X2JpdHJhdGVbaV0KLSAgICAvLyBpcyBub3Qgc2V0IGZvciAxIGxheWVyLCBhbmQgdGhlIHZw
OF9yZXN0b3JlX2xheWVyX2NvbnRleHQvc2F2ZV9jb250ZXh0KCkKKyAgICAvLyBpcyBub3Qgc2V0
IGZvciAxIGxheWVyLCBhbmQgdGhlIHJlc3RvcmVfbGF5ZXJfY29udGV4dC9zYXZlX2NvbnRleHQo
KQogICAgIC8vIGFyZSBub3QgY2FsbGVkIGluIHRoZSBlbmNvZGluZyBsb29wLCBzbyB3ZSBuZWVk
IHRvIGNhbGwgaXQgaGVyZSB0bwogICAgIC8vIHBhc3MgdGhlIGxheWVyIGNvbnRleHQgc3RhdGUg
dG8gfGNwaXwuCiAgICAgaWYgKGN1cnJfbnVtX2xheWVycyA9PSAxKSB7CkBAIC0zNjUsNyArMzY0
LDcgQEAgdm9pZCB2cDhfcmVzZXRfdGVtcG9yYWxfbGF5ZXJfY2hhbmdlKFZQOF9DT01QICpjcGks
IGNvbnN0IFZQOF9DT05GSUcgKm94Y2YsCiAgICAgICBsYy0+YnVmZmVyX2xldmVsID0KICAgICAg
ICAgICBjcGktPm94Y2Yuc3RhcnRpbmdfYnVmZmVyX2xldmVsX2luX21zICogbGMtPnRhcmdldF9i
YW5kd2lkdGggLyAxMDAwOwogICAgICAgbGMtPmJpdHNfb2ZmX3RhcmdldCA9IGxjLT5idWZmZXJf
bGV2ZWw7Ci0gICAgICB2cDhfcmVzdG9yZV9sYXllcl9jb250ZXh0KGNwaSwgMCk7CisgICAgICBy
ZXN0b3JlX2xheWVyX2NvbnRleHQoY3BpLCAwKTsKICAgICB9CiAgICAgcHJldl9sYXllcl9mcmFt
ZXJhdGUgPSBjcGktPm91dHB1dF9mcmFtZXJhdGUgLyBjcGktPm94Y2YucmF0ZV9kZWNpbWF0b3Jb
aV07CiAgIH0KQEAgLTM5NSwxMiArMzk0LDE1IEBAIHN0YXRpYyB2b2lkIHNldHVwX2ZlYXR1cmVz
KFZQOF9DT01QICpjcGkpIHsKIAogc3RhdGljIHZvaWQgZGVhbGxvY19yYXdfZnJhbWVfYnVmZmVy
cyhWUDhfQ09NUCAqY3BpKTsKIAotc3RhdGljIHZvaWQgaW5pdGlhbGl6ZV9lbmModm9pZCkgewot
ICB2cHhfZHNwX3J0Y2QoKTsKLSAgdnA4X2luaXRfaW50cmFfcHJlZGljdG9ycygpOwotfQordm9p
ZCB2cDhfaW5pdGlhbGl6ZV9lbmModm9pZCkgeworICBzdGF0aWMgdm9sYXRpbGUgaW50IGluaXRf
ZG9uZSA9IDA7CiAKLXZvaWQgdnA4X2luaXRpYWxpemVfZW5jKHZvaWQpIHsgb25jZShpbml0aWFs
aXplX2VuYyk7IH0KKyAgaWYgKCFpbml0X2RvbmUpIHsKKyAgICB2cHhfZHNwX3J0Y2QoKTsKKyAg
ICB2cDhfaW5pdF9pbnRyYV9wcmVkaWN0b3JzKCk7CisgICAgaW5pdF9kb25lID0gMTsKKyAgfQor
fQogCiBzdGF0aWMgdm9pZCBkZWFsbG9jX2NvbXByZXNzb3JfZGF0YShWUDhfQ09NUCAqY3BpKSB7
CiAgIHZweF9mcmVlKGNwaS0+dHBsaXN0KTsKQEAgLTQ0Miw2ICs0NDQsMTEgQEAgc3RhdGljIHZv
aWQgZGVhbGxvY19jb21wcmVzc29yX2RhdGEoVlA4X0NPTVAgKmNwaSkgewogCiAgIHZweF9mcmVl
KGNwaS0+bWIucGlwKTsKICAgY3BpLT5tYi5waXAgPSAwOworCisjaWYgQ09ORklHX01VTFRJVEhS
RUFECisgIHZweF9mcmVlKGNwaS0+bXRfY3VycmVudF9tYl9jb2wpOworICBjcGktPm10X2N1cnJl
bnRfbWJfY29sID0gTlVMTDsKKyNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCBlbmFibGVfc2VnbWVu
dGF0aW9uKFZQOF9DT01QICpjcGkpIHsKQEAgLTQ4Myw3ICs0OTAsNyBAQCBzdGF0aWMgdm9pZCBz
ZXRfc2VnbWVudGF0aW9uX21hcChWUDhfQ09NUCAqY3BpLAogICovCiBzdGF0aWMgdm9pZCBzZXRf
c2VnbWVudF9kYXRhKFZQOF9DT01QICpjcGksIHNpZ25lZCBjaGFyICpmZWF0dXJlX2RhdGEsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYWJzX2RlbHRhKSB7Ci0g
IGNwaS0+bWIuZV9tYmQubWJfc2VnbWVudF9hYnNfZGVsdGEgPSBhYnNfZGVsdGE7CisgIGNwaS0+
bWIuZV9tYmQubWJfc2VnZW1lbnRfYWJzX2RlbHRhID0gYWJzX2RlbHRhOwogICBtZW1jcHkoY3Bp
LT5zZWdtZW50X2ZlYXR1cmVfZGF0YSwgZmVhdHVyZV9kYXRhLAogICAgICAgICAgc2l6ZW9mKGNw
aS0+c2VnbWVudF9mZWF0dXJlX2RhdGEpKTsKIH0KQEAgLTEwMTYsNyArMTAyMyw3IEBAIHZvaWQg
dnA4X3NldF9zcGVlZF9mZWF0dXJlcyhWUDhfQ09NUCAqY3BpKSB7CiAKICAgICAgIG1lbXNldChj
cGktPm1iLmVycm9yX2JpbnMsIDAsIHNpemVvZihjcGktPm1iLmVycm9yX2JpbnMpKTsKIAotICB9
IC8qIHN3aXRjaCAqLworICB9OyAvKiBzd2l0Y2ggKi8KIAogICAvKiBTbG93IHF1YW50LCBkY3Qg
YW5kIHRyZWxsaXMgbm90IHdvcnRod2hpbGUgZm9yIGZpcnN0IHBhc3MKICAgICogc28gbWFrZSBz
dXJlIHRoZXkgYXJlIGFsd2F5cyB0dXJuZWQgb2ZmLgpAQCAtMTE2NCw4ICsxMTcxLDcgQEAgdm9p
ZCB2cDhfYWxsb2NfY29tcHJlc3Nvcl9kYXRhKFZQOF9DT01QICpjcGkpIHsKICNlbHNlCiAgICAg
dW5zaWduZWQgaW50IHRva2VucyA9IGNtLT5tYl9yb3dzICogY20tPm1iX2NvbHMgKiAyNCAqIDE2
OwogI2VuZGlmCi0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjcGktPmNvbW1vbi5lcnJvciwgY3BpLT50
b2ssCi0gICAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2ModG9rZW5zLCBzaXplb2YoKmNwaS0+
dG9rKSkpOworICAgIENIRUNLX01FTV9FUlJPUihjcGktPnRvaywgdnB4X2NhbGxvYyh0b2tlbnMs
IHNpemVvZigqY3BpLT50b2spKSk7CiAgIH0KIAogICAvKiBEYXRhIHVzZWQgZm9yIHJlYWwgdGlt
ZSB2YyBtb2RlIHRvIHNlZSBpZiBnZiBuZWVkcyByZWZyZXNoaW5nICovCkBAIC0xMTc0LDM5ICsx
MTgwLDM3IEBAIHZvaWQgdnA4X2FsbG9jX2NvbXByZXNzb3JfZGF0YShWUDhfQ09NUCAqY3BpKSB7
CiAgIC8qIFN0cnVjdHVyZXMgdXNlZCB0byBtb25pdG9yIEdGIHVzYWdlICovCiAgIHZweF9mcmVl
KGNwaS0+Z2ZfYWN0aXZlX2ZsYWdzKTsKICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgJmNwaS0+
Y29tbW9uLmVycm9yLCBjcGktPmdmX2FjdGl2ZV9mbGFncywKKyAgICAgIGNwaS0+Z2ZfYWN0aXZl
X2ZsYWdzLAogICAgICAgdnB4X2NhbGxvYyhzaXplb2YoKmNwaS0+Z2ZfYWN0aXZlX2ZsYWdzKSwg
Y20tPm1iX3Jvd3MgKiBjbS0+bWJfY29scykpOwogICBjcGktPmdmX2FjdGl2ZV9jb3VudCA9IGNt
LT5tYl9yb3dzICogY20tPm1iX2NvbHM7CiAKICAgdnB4X2ZyZWUoY3BpLT5tYl9hY3Rpdml0eV9t
YXApOwogICBDSEVDS19NRU1fRVJST1IoCi0gICAgICAmY3BpLT5jb21tb24uZXJyb3IsIGNwaS0+
bWJfYWN0aXZpdHlfbWFwLAorICAgICAgY3BpLT5tYl9hY3Rpdml0eV9tYXAsCiAgICAgICB2cHhf
Y2FsbG9jKHNpemVvZigqY3BpLT5tYl9hY3Rpdml0eV9tYXApLCBjbS0+bWJfcm93cyAqIGNtLT5t
Yl9jb2xzKSk7CiAKICAgLyogYWxsb2NhdGUgbWVtb3J5IGZvciBzdG9yaW5nIGxhc3QgZnJhbWUn
cyBNVnMgZm9yIE1WIHByZWRpY3Rpb24uICovCiAgIHZweF9mcmVlKGNwaS0+bGZtdik7Ci0gIENI
RUNLX01FTV9FUlJPUigKLSAgICAgICZjcGktPmNvbW1vbi5lcnJvciwgY3BpLT5sZm12LAotICAg
ICAgdnB4X2NhbGxvYygoY20tPm1iX3Jvd3MgKyAyKSAqIChjbS0+bWJfY29scyArIDIpLCBzaXpl
b2YoKmNwaS0+bGZtdikpKTsKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNwaS0+bGZtdiwgdnB4X2NhbGxv
YygoY20tPm1iX3Jvd3MgKyAyKSAqIChjbS0+bWJfY29scyArIDIpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqY3BpLT5sZm12KSkpOwogICB2cHhfZnJl
ZShjcGktPmxmX3JlZl9mcmFtZV9zaWduX2JpYXMpOwotICBDSEVDS19NRU1fRVJST1IoJmNwaS0+
Y29tbW9uLmVycm9yLCBjcGktPmxmX3JlZl9mcmFtZV9zaWduX2JpYXMsCisgIENIRUNLX01FTV9F
UlJPUihjcGktPmxmX3JlZl9mcmFtZV9zaWduX2JpYXMsCiAgICAgICAgICAgICAgICAgICB2cHhf
Y2FsbG9jKChjbS0+bWJfcm93cyArIDIpICogKGNtLT5tYl9jb2xzICsgMiksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZigqY3BpLT5sZl9yZWZfZnJhbWVfc2lnbl9iaWFzKSkp
OwogICB2cHhfZnJlZShjcGktPmxmX3JlZl9mcmFtZSk7Ci0gIENIRUNLX01FTV9FUlJPUigmY3Bp
LT5jb21tb24uZXJyb3IsIGNwaS0+bGZfcmVmX2ZyYW1lLAorICBDSEVDS19NRU1fRVJST1IoY3Bp
LT5sZl9yZWZfZnJhbWUsCiAgICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKChjbS0+bWJfcm93
cyArIDIpICogKGNtLT5tYl9jb2xzICsgMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZigqY3BpLT5sZl9yZWZfZnJhbWUpKSk7CiAKICAgLyogQ3JlYXRlIHRoZSBlbmNvZGVy
IHNlZ21lbnRhdGlvbiBtYXAgYW5kIHNldCBhbGwgZW50cmllcyB0byAwICovCiAgIHZweF9mcmVl
KGNwaS0+c2VnbWVudGF0aW9uX21hcCk7CiAgIENIRUNLX01FTV9FUlJPUigKLSAgICAgICZjcGkt
PmNvbW1vbi5lcnJvciwgY3BpLT5zZWdtZW50YXRpb25fbWFwLAorICAgICAgY3BpLT5zZWdtZW50
YXRpb25fbWFwLAogICAgICAgdnB4X2NhbGxvYyhjbS0+bWJfcm93cyAqIGNtLT5tYl9jb2xzLCBz
aXplb2YoKmNwaS0+c2VnbWVudGF0aW9uX21hcCkpKTsKICAgY3BpLT5jeWNsaWNfcmVmcmVzaF9t
b2RlX2luZGV4ID0gMDsKICAgdnB4X2ZyZWUoY3BpLT5hY3RpdmVfbWFwKTsKLSAgQ0hFQ0tfTUVN
X0VSUk9SKAotICAgICAgJmNwaS0+Y29tbW9uLmVycm9yLCBjcGktPmFjdGl2ZV9tYXAsCi0gICAg
ICB2cHhfY2FsbG9jKGNtLT5tYl9yb3dzICogY20tPm1iX2NvbHMsIHNpemVvZigqY3BpLT5hY3Rp
dmVfbWFwKSkpOworICBDSEVDS19NRU1fRVJST1IoY3BpLT5hY3RpdmVfbWFwLCB2cHhfY2FsbG9j
KGNtLT5tYl9yb3dzICogY20tPm1iX2NvbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKCpjcGktPmFjdGl2ZV9tYXApKSk7CiAgIG1lbXNldChj
cGktPmFjdGl2ZV9tYXAsIDEsIChjbS0+bWJfcm93cyAqIGNtLT5tYl9jb2xzKSk7CiAKICNpZiBD
T05GSUdfTVVMVElUSFJFQUQKQEAgLTEyMTksMTEgKzEyMjMsMjEgQEAgdm9pZCB2cDhfYWxsb2Nf
Y29tcHJlc3Nvcl9kYXRhKFZQOF9DT01QICpjcGkpIHsKICAgfSBlbHNlIHsKICAgICBjcGktPm10
X3N5bmNfcmFuZ2UgPSAxNjsKICAgfQorCisgIGlmIChjcGktPm94Y2YubXVsdGlfdGhyZWFkZWQg
PiAxKSB7CisgICAgaW50IGk7CisKKyAgICB2cHhfZnJlZShjcGktPm10X2N1cnJlbnRfbWJfY29s
KTsKKyAgICBDSEVDS19NRU1fRVJST1IoY3BpLT5tdF9jdXJyZW50X21iX2NvbCwKKyAgICAgICAg
ICAgICAgICAgICAgdnB4X21hbGxvYyhzaXplb2YoKmNwaS0+bXRfY3VycmVudF9tYl9jb2wpICog
Y20tPm1iX3Jvd3MpKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgY20tPm1iX3Jvd3M7ICsraSkKKyAg
ICAgIHZweF9hdG9taWNfaW5pdCgmY3BpLT5tdF9jdXJyZW50X21iX2NvbFtpXSwgMCk7CisgIH0K
KwogI2VuZGlmCiAKICAgdnB4X2ZyZWUoY3BpLT50cGxpc3QpOwotICBDSEVDS19NRU1fRVJST1Io
JmNwaS0+Y29tbW9uLmVycm9yLCBjcGktPnRwbGlzdCwKLSAgICAgICAgICAgICAgICAgIHZweF9t
YWxsb2Moc2l6ZW9mKFRPS0VOTElTVCkgKiBjbS0+bWJfcm93cykpOworICBDSEVDS19NRU1fRVJS
T1IoY3BpLT50cGxpc3QsIHZweF9tYWxsb2Moc2l6ZW9mKFRPS0VOTElTVCkgKiBjbS0+bWJfcm93
cykpOwogCiAjaWYgQ09ORklHX1RFTVBPUkFMX0RFTk9JU0lORwogICBpZiAoY3BpLT5veGNmLm5v
aXNlX3NlbnNpdGl2aXR5ID4gMCkgewpAQCAtMTI2MCw3ICsxMjc0LDcgQEAgdm9pZCB2cDhfbmV3
X2ZyYW1lcmF0ZShWUDhfQ09NUCAqY3BpLCBkb3VibGUgZnJhbWVyYXRlKSB7CiAgIGNwaS0+ZnJh
bWVyYXRlID0gZnJhbWVyYXRlOwogICBjcGktPm91dHB1dF9mcmFtZXJhdGUgPSBmcmFtZXJhdGU7
CiAgIGNwaS0+cGVyX2ZyYW1lX2JhbmR3aWR0aCA9Ci0gICAgICAoaW50KXJvdW5kKGNwaS0+b3hj
Zi50YXJnZXRfYmFuZHdpZHRoIC8gY3BpLT5vdXRwdXRfZnJhbWVyYXRlKTsKKyAgICAgIChpbnQp
KGNwaS0+b3hjZi50YXJnZXRfYmFuZHdpZHRoIC8gY3BpLT5vdXRwdXRfZnJhbWVyYXRlKTsKICAg
Y3BpLT5hdl9wZXJfZnJhbWVfYmFuZHdpZHRoID0gY3BpLT5wZXJfZnJhbWVfYmFuZHdpZHRoOwog
ICBjcGktPm1pbl9mcmFtZV9iYW5kd2lkdGggPSAoaW50KShjcGktPmF2X3Blcl9mcmFtZV9iYW5k
d2lkdGggKgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcGktPm94Y2YudHdv
X3Bhc3NfdmJybWluX3NlY3Rpb24gLyAxMDApOwpAQCAtMTM1MSw3ICsxMzY1LDcgQEAgc3RhdGlj
IHZvaWQgaW5pdF9jb25maWcoVlA4X0NPTVAgKmNwaSwgVlA4X0NPTkZJRyAqb3hjZikgewogICAg
IGRvdWJsZSBwcmV2X2xheWVyX2ZyYW1lcmF0ZSA9IDA7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwg
Y3BpLT5veGNmLm51bWJlcl9vZl9sYXllcnM7ICsraSkgewotICAgICAgdnA4X2luaXRfdGVtcG9y
YWxfbGF5ZXJfY29udGV4dChjcGksIG94Y2YsIGksIHByZXZfbGF5ZXJfZnJhbWVyYXRlKTsKKyAg
ICAgIGluaXRfdGVtcG9yYWxfbGF5ZXJfY29udGV4dChjcGksIG94Y2YsIGksIHByZXZfbGF5ZXJf
ZnJhbWVyYXRlKTsKICAgICAgIHByZXZfbGF5ZXJfZnJhbWVyYXRlID0KICAgICAgICAgICBjcGkt
Pm91dHB1dF9mcmFtZXJhdGUgLyBjcGktPm94Y2YucmF0ZV9kZWNpbWF0b3JbaV07CiAgICAgfQpA
QCAtMTM2OCw3ICsxMzgyLDcgQEAgc3RhdGljIHZvaWQgaW5pdF9jb25maWcoVlA4X0NPTVAgKmNw
aSwgVlA4X0NPTkZJRyAqb3hjZikgewogI2VuZGlmCiB9CiAKLXZvaWQgdnA4X3VwZGF0ZV9sYXll
cl9jb250ZXh0cyhWUDhfQ09NUCAqY3BpKSB7CitzdGF0aWMgdm9pZCB1cGRhdGVfbGF5ZXJfY29u
dGV4dHMoVlA4X0NPTVAgKmNwaSkgewogICBWUDhfQ09ORklHICpveGNmID0gJmNwaS0+b3hjZjsK
IAogICAvKiBVcGRhdGUgc25hcHNob3RzIG9mIHRoZSBsYXllciBjb250ZXh0cyB0byByZWZsZWN0
IG5ldyBwYXJhbWV0ZXJzICovCkBAIC0xNDAzLDggKzE0MTcsOCBAQCB2b2lkIHZwOF91cGRhdGVf
bGF5ZXJfY29udGV4dHMoVlA4X0NPTVAgKmNwaSkgewogICAgICAgLyogV29yayBvdXQgdGhlIGF2
ZXJhZ2Ugc2l6ZSBvZiBhIGZyYW1lIHdpdGhpbiB0aGlzIGxheWVyICovCiAgICAgICBpZiAoaSA+
IDApIHsKICAgICAgICAgbGMtPmF2Z19mcmFtZV9zaXplX2Zvcl9sYXllciA9Ci0gICAgICAgICAg
ICAoaW50KXJvdW5kKChveGNmLT50YXJnZXRfYml0cmF0ZVtpXSAtIG94Y2YtPnRhcmdldF9iaXRy
YXRlW2kgLSAxXSkgKgotICAgICAgICAgICAgICAgICAgICAgICAxMDAwIC8gKGxjLT5mcmFtZXJh
dGUgLSBwcmV2X2xheWVyX2ZyYW1lcmF0ZSkpOworICAgICAgICAgICAgKGludCkoKG94Y2YtPnRh
cmdldF9iaXRyYXRlW2ldIC0gb3hjZi0+dGFyZ2V0X2JpdHJhdGVbaSAtIDFdKSAqCisgICAgICAg
ICAgICAgICAgICAxMDAwIC8gKGxjLT5mcmFtZXJhdGUgLSBwcmV2X2xheWVyX2ZyYW1lcmF0ZSkp
OwogICAgICAgfQogCiAgICAgICBwcmV2X2xheWVyX2ZyYW1lcmF0ZSA9IGxjLT5mcmFtZXJhdGU7
CkBAIC0xNDEyLDExICsxNDI2LDExIEBAIHZvaWQgdnA4X3VwZGF0ZV9sYXllcl9jb250ZXh0cyhW
UDhfQ09NUCAqY3BpKSB7CiAgIH0KIH0KIAotdm9pZCB2cDhfY2hhbmdlX2NvbmZpZyhWUDhfQ09N
UCAqY3BpLCBjb25zdCBWUDhfQ09ORklHICpveGNmKSB7Cit2b2lkIHZwOF9jaGFuZ2VfY29uZmln
KFZQOF9DT01QICpjcGksIFZQOF9DT05GSUcgKm94Y2YpIHsKICAgVlA4X0NPTU1PTiAqY20gPSAm
Y3BpLT5jb21tb247CiAgIGludCBsYXN0X3csIGxhc3RfaDsKICAgdW5zaWduZWQgaW50IHByZXZf
bnVtYmVyX29mX2xheWVyczsKLSAgZG91YmxlIHJhd190YXJnZXRfcmF0ZTsKKyAgdW5zaWduZWQg
aW50IHJhd190YXJnZXRfcmF0ZTsKIAogICBpZiAoIWNwaSkgcmV0dXJuOwogCkBAIC0xNDMxLDYg
KzE0NDUsMTEgQEAgdm9pZCB2cDhfY2hhbmdlX2NvbmZpZyhWUDhfQ09NUCAqY3BpLCBjb25zdCBW
UDhfQ09ORklHICpveGNmKSB7CiAgIGxhc3RfaCA9IGNwaS0+b3hjZi5IZWlnaHQ7CiAgIHByZXZf
bnVtYmVyX29mX2xheWVycyA9IGNwaS0+b3hjZi5udW1iZXJfb2ZfbGF5ZXJzOwogCisgIGlmIChj
cGktPmluaXRpYWxfd2lkdGgpIHsKKyAgICAvLyBUT0RPKGh0dHBzOi8vY3JidWcuY29tLzE0ODY0
NDEpOiBBbGxvdyBjaGFuZ2luZyB0aHJlYWQgY291bnRzOyB0aGUKKyAgICAvLyBhbGxvY2F0aW9u
IGlzIGRvbmUgb25jZSBpbiB2cDhfY3JlYXRlX2NvbXByZXNzb3IoKS4KKyAgICBveGNmLT5tdWx0
aV90aHJlYWRlZCA9IGNwaS0+b3hjZi5tdWx0aV90aHJlYWRlZDsKKyAgfQogICBjcGktPm94Y2Yg
PSAqb3hjZjsKIAogICBzd2l0Y2ggKGNwaS0+b3hjZi5Nb2RlKSB7CkBAIC0xNTU3LDEwICsxNTc2
LDEwIEBAIHZvaWQgdnA4X2NoYW5nZV9jb25maWcoVlA4X0NPTVAgKmNwaSwgY29uc3QgVlA4X0NP
TkZJRyAqb3hjZikgewogICAgIGNwaS0+b3hjZi5tYXhpbXVtX2J1ZmZlcl9zaXplX2luX21zID0g
MjQwMDAwOwogICB9CiAKLSAgcmF3X3RhcmdldF9yYXRlID0gKChpbnQ2NF90KWNwaS0+b3hjZi5X
aWR0aCAqIGNwaS0+b3hjZi5IZWlnaHQgKiA4ICogMyAqCi0gICAgICAgICAgICAgICAgICAgICBj
cGktPmZyYW1lcmF0ZSAvIDEwMDAuMCk7CisgIHJhd190YXJnZXRfcmF0ZSA9ICh1bnNpZ25lZCBp
bnQpKChpbnQ2NF90KWNwaS0+b3hjZi5XaWR0aCAqIGNwaS0+b3hjZi5IZWlnaHQgKgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ICogMyAqIGNwaS0+ZnJhbWVyYXRlIC8gMTAw
MCk7CiAgIGlmIChjcGktPm94Y2YudGFyZ2V0X2JhbmR3aWR0aCA+IHJhd190YXJnZXRfcmF0ZSkK
LSAgICBjcGktPm94Y2YudGFyZ2V0X2JhbmR3aWR0aCA9ICh1bnNpZ25lZCBpbnQpcmF3X3Rhcmdl
dF9yYXRlOworICAgIGNwaS0+b3hjZi50YXJnZXRfYmFuZHdpZHRoID0gcmF3X3RhcmdldF9yYXRl
OwogICAvKiBDb252ZXJ0IHRhcmdldCBiYW5kd2lkdGggZnJvbSBLYml0L3MgdG8gQml0L3MgKi8K
ICAgY3BpLT5veGNmLnRhcmdldF9iYW5kd2lkdGggKj0gMTAwMDsKIApAQCAtMTYzMSw3ICsxNjUw
LDcgQEAgdm9pZCB2cDhfY2hhbmdlX2NvbmZpZyhWUDhfQ09NUCAqY3BpLCBjb25zdCBWUDhfQ09O
RklHICpveGNmKSB7CiAgICAgICBjcGktPnRlbXBvcmFsX2xheWVyX2lkID0gMDsKICAgICB9CiAg
ICAgY3BpLT50ZW1wb3JhbF9wYXR0ZXJuX2NvdW50ZXIgPSAwOwotICAgIHZwOF9yZXNldF90ZW1w
b3JhbF9sYXllcl9jaGFuZ2UoY3BpLCBveGNmLCBwcmV2X251bWJlcl9vZl9sYXllcnMpOworICAg
IHJlc2V0X3RlbXBvcmFsX2xheWVyX2NoYW5nZShjcGksIG94Y2YsIHByZXZfbnVtYmVyX29mX2xh
eWVycyk7CiAgIH0KIAogICBpZiAoIWNwaS0+aW5pdGlhbF93aWR0aCkgewpAQCAtMTY1NSw3ICsx
Njc0LDcgQEAgdm9pZCB2cDhfY2hhbmdlX2NvbmZpZyhWUDhfQ09NUCAqY3BpLCBjb25zdCBWUDhf
Q09ORklHICpveGNmKSB7CiAKICAgY20tPnNoYXJwbmVzc19sZXZlbCA9IGNwaS0+b3hjZi5TaGFy
cG5lc3M7CiAKLSAgaWYgKGNtLT5ob3Jpel9zY2FsZSAhPSBWUDhFX05PUk1BTCB8fCBjbS0+dmVy
dF9zY2FsZSAhPSBWUDhFX05PUk1BTCkgeworICBpZiAoY20tPmhvcml6X3NjYWxlICE9IE5PUk1B
TCB8fCBjbS0+dmVydF9zY2FsZSAhPSBOT1JNQUwpIHsKICAgICBpbnQgaHIsIGhzLCB2ciwgdnM7
CiAKICAgICBTY2FsZTJSYXRpbyhjbS0+aG9yaXpfc2NhbGUsICZociwgJmhzKTsKQEAgLTE3NjEs
OSArMTc4MCw4IEBAIHN0cnVjdCBWUDhfQ09NUCAqdnA4X2NyZWF0ZV9jb21wcmVzc29yKFZQOF9D
T05GSUcgKm94Y2YpIHsKIAogICBjcGktPmNvbW1vbi5lcnJvci5zZXRqbXAgPSAxOwogCi0gIENI
RUNLX01FTV9FUlJPUigKLSAgICAgICZjcGktPmNvbW1vbi5lcnJvciwgY3BpLT5tYi5zcywKLSAg
ICAgIHZweF9jYWxsb2Moc2l6ZW9mKHNlYXJjaF9zaXRlKSwgKE1BWF9NVlNFQVJDSF9TVEVQUyAq
IDgpICsgMSkpOworICBDSEVDS19NRU1fRVJST1IoY3BpLT5tYi5zcywgdnB4X2NhbGxvYyhzaXpl
b2Yoc2VhcmNoX3NpdGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoTUFYX01WU0VBUkNIX1NURVBTICogOCkgKyAxKSk7CiAKICAgdnA4X2NyZWF0ZV9jb21tb24o
JmNwaS0+Y29tbW9uKTsKIApAQCAtMTg2OCwxOSArMTg4NiwxOCBAQCBzdHJ1Y3QgVlA4X0NPTVAg
KnZwOF9jcmVhdGVfY29tcHJlc3NvcihWUDhfQ09ORklHICpveGNmKSB7CiAgIH0KIAogICBpZiAo
Y3BpLT5jeWNsaWNfcmVmcmVzaF9tb2RlX2VuYWJsZWQpIHsKLSAgICBDSEVDS19NRU1fRVJST1Io
JmNwaS0+Y29tbW9uLmVycm9yLCBjcGktPmN5Y2xpY19yZWZyZXNoX21hcCwKKyAgICBDSEVDS19N
RU1fRVJST1IoY3BpLT5jeWNsaWNfcmVmcmVzaF9tYXAsCiAgICAgICAgICAgICAgICAgICAgIHZw
eF9jYWxsb2MoKGNwaS0+Y29tbW9uLm1iX3Jvd3MgKiBjcGktPmNvbW1vbi5tYl9jb2xzKSwgMSkp
OwogICB9IGVsc2UgewogICAgIGNwaS0+Y3ljbGljX3JlZnJlc2hfbWFwID0gKHNpZ25lZCBjaGFy
ICopTlVMTDsKICAgfQogCi0gIENIRUNLX01FTV9FUlJPUigKLSAgICAgICZjcGktPmNvbW1vbi5l
cnJvciwgY3BpLT5za2luX21hcCwKLSAgICAgIHZweF9jYWxsb2MoY20tPm1iX3Jvd3MgKiBjbS0+
bWJfY29scywgc2l6ZW9mKGNwaS0+c2tpbl9tYXBbMF0pKSk7CisgIENIRUNLX01FTV9FUlJPUihj
cGktPnNraW5fbWFwLCB2cHhfY2FsbG9jKGNtLT5tYl9yb3dzICogY20tPm1iX2NvbHMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihjcGktPnNraW5f
bWFwWzBdKSkpOwogCi0gIENIRUNLX01FTV9FUlJPUigmY3BpLT5jb21tb24uZXJyb3IsIGNwaS0+
Y29uc2VjX3plcm9fbGFzdCwKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNwaS0+Y29uc2VjX3plcm9fbGFz
dCwKICAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2MoY20tPm1iX3Jvd3MgKiBjbS0+bWJfY29s
cywgMSkpOwotICBDSEVDS19NRU1fRVJST1IoJmNwaS0+Y29tbW9uLmVycm9yLCBjcGktPmNvbnNl
Y196ZXJvX2xhc3RfbXZiaWFzLAorICBDSEVDS19NRU1fRVJST1IoY3BpLT5jb25zZWNfemVyb19s
YXN0X212YmlhcywKICAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2MoKGNwaS0+Y29tbW9uLm1i
X3Jvd3MgKiBjcGktPmNvbW1vbi5tYl9jb2xzKSwgMSkpOwogCiAgIC8qSW5pdGlhbGl6ZSB0aGUg
ZmVlZC1mb3J3YXJkIGFjdGl2aXR5IG1hc2tpbmcuKi8KQEAgLTE4OTgsNyArMTkxNSw2IEBAIHN0
cnVjdCBWUDhfQ09NUCAqdnA4X2NyZWF0ZV9jb21wcmVzc29yKFZQOF9DT05GSUcgKm94Y2YpIHsK
IAogICBjcGktPmZvcmNlX21heHFwID0gMDsKICAgY3BpLT5mcmFtZXNfc2luY2VfbGFzdF9kcm9w
X292ZXJzaG9vdCA9IDA7Ci0gIGNwaS0+cnRfYWx3YXlzX3VwZGF0ZV9jb3JyZWN0aW9uX2ZhY3Rv
ciA9IDA7CiAKICAgY3BpLT5iX2NhbGN1bGF0ZV9wc25yID0gQ09ORklHX0lOVEVSTkFMX1NUQVRT
OwogI2lmIENPTkZJR19JTlRFUk5BTF9TVEFUUwpAQCAtMjAwMiwyNiArMjAxOCwzNiBAQCBzdHJ1
Y3QgVlA4X0NPTVAgKnZwOF9jcmVhdGVfY29tcHJlc3NvcihWUDhfQ09ORklHICpveGNmKSB7CiAg
IGNwaS0+Zm5fcHRyW0JMT0NLXzE2WDE2XS5zZGYgPSB2cHhfc2FkMTZ4MTY7CiAgIGNwaS0+Zm5f
cHRyW0JMT0NLXzE2WDE2XS52ZiA9IHZweF92YXJpYW5jZTE2eDE2OwogICBjcGktPmZuX3B0cltC
TE9DS18xNlgxNl0uc3ZmID0gdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2OworICBjcGktPmZu
X3B0cltCTE9DS18xNlgxNl0uc2R4M2YgPSB2cHhfc2FkMTZ4MTZ4MzsKKyAgY3BpLT5mbl9wdHJb
QkxPQ0tfMTZYMTZdLnNkeDhmID0gdnB4X3NhZDE2eDE2eDg7CiAgIGNwaS0+Zm5fcHRyW0JMT0NL
XzE2WDE2XS5zZHg0ZGYgPSB2cHhfc2FkMTZ4MTZ4NGQ7CiAKICAgY3BpLT5mbl9wdHJbQkxPQ0tf
MTZYOF0uc2RmID0gdnB4X3NhZDE2eDg7CiAgIGNwaS0+Zm5fcHRyW0JMT0NLXzE2WDhdLnZmID0g
dnB4X3ZhcmlhbmNlMTZ4ODsKICAgY3BpLT5mbl9wdHJbQkxPQ0tfMTZYOF0uc3ZmID0gdnB4X3N1
Yl9waXhlbF92YXJpYW5jZTE2eDg7CisgIGNwaS0+Zm5fcHRyW0JMT0NLXzE2WDhdLnNkeDNmID0g
dnB4X3NhZDE2eDh4MzsKKyAgY3BpLT5mbl9wdHJbQkxPQ0tfMTZYOF0uc2R4OGYgPSB2cHhfc2Fk
MTZ4OHg4OwogICBjcGktPmZuX3B0cltCTE9DS18xNlg4XS5zZHg0ZGYgPSB2cHhfc2FkMTZ4OHg0
ZDsKIAogICBjcGktPmZuX3B0cltCTE9DS184WDE2XS5zZGYgPSB2cHhfc2FkOHgxNjsKICAgY3Bp
LT5mbl9wdHJbQkxPQ0tfOFgxNl0udmYgPSB2cHhfdmFyaWFuY2U4eDE2OwogICBjcGktPmZuX3B0
cltCTE9DS184WDE2XS5zdmYgPSB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNjsKKyAgY3BpLT5m
bl9wdHJbQkxPQ0tfOFgxNl0uc2R4M2YgPSB2cHhfc2FkOHgxNngzOworICBjcGktPmZuX3B0cltC
TE9DS184WDE2XS5zZHg4ZiA9IHZweF9zYWQ4eDE2eDg7CiAgIGNwaS0+Zm5fcHRyW0JMT0NLXzhY
MTZdLnNkeDRkZiA9IHZweF9zYWQ4eDE2eDRkOwogCiAgIGNwaS0+Zm5fcHRyW0JMT0NLXzhYOF0u
c2RmID0gdnB4X3NhZDh4ODsKICAgY3BpLT5mbl9wdHJbQkxPQ0tfOFg4XS52ZiA9IHZweF92YXJp
YW5jZTh4ODsKICAgY3BpLT5mbl9wdHJbQkxPQ0tfOFg4XS5zdmYgPSB2cHhfc3ViX3BpeGVsX3Zh
cmlhbmNlOHg4OworICBjcGktPmZuX3B0cltCTE9DS184WDhdLnNkeDNmID0gdnB4X3NhZDh4OHgz
OworICBjcGktPmZuX3B0cltCTE9DS184WDhdLnNkeDhmID0gdnB4X3NhZDh4OHg4OwogICBjcGkt
PmZuX3B0cltCTE9DS184WDhdLnNkeDRkZiA9IHZweF9zYWQ4eDh4NGQ7CiAKICAgY3BpLT5mbl9w
dHJbQkxPQ0tfNFg0XS5zZGYgPSB2cHhfc2FkNHg0OwogICBjcGktPmZuX3B0cltCTE9DS180WDRd
LnZmID0gdnB4X3ZhcmlhbmNlNHg0OwogICBjcGktPmZuX3B0cltCTE9DS180WDRdLnN2ZiA9IHZw
eF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDQ7CisgIGNwaS0+Zm5fcHRyW0JMT0NLXzRYNF0uc2R4M2Yg
PSB2cHhfc2FkNHg0eDM7CisgIGNwaS0+Zm5fcHRyW0JMT0NLXzRYNF0uc2R4OGYgPSB2cHhfc2Fk
NHg0eDg7CiAgIGNwaS0+Zm5fcHRyW0JMT0NLXzRYNF0uc2R4NGRmID0gdnB4X3NhZDR4NHg0ZDsK
IAogI2lmIFZQWF9BUkNIX1g4NiB8fCBWUFhfQVJDSF9YODZfNjQKQEAgLTIwMzIsNiArMjA1OCw3
IEBAIHN0cnVjdCBWUDhfQ09NUCAqdnA4X2NyZWF0ZV9jb21wcmVzc29yKFZQOF9DT05GSUcgKm94
Y2YpIHsKICAgY3BpLT5mbl9wdHJbQkxPQ0tfNFg0XS5jb3B5bWVtID0gdnA4X2NvcHkzMnhuOwog
I2VuZGlmCiAKKyAgY3BpLT5mdWxsX3NlYXJjaF9zYWQgPSB2cDhfZnVsbF9zZWFyY2hfc2FkOwog
ICBjcGktPmRpYW1vbmRfc2VhcmNoX3NhZCA9IHZwOF9kaWFtb25kX3NlYXJjaF9zYWQ7CiAgIGNw
aS0+cmVmaW5pbmdfc2VhcmNoX3NhZCA9IHZwOF9yZWZpbmluZ19zZWFyY2hfc2FkOwogCkBAIC0y
MDk5LDYgKzIxMjYsNyBAQCB2b2lkIHZwOF9yZW1vdmVfY29tcHJlc3NvcihWUDhfQ09NUCAqKmNv
bXApIHsKICAgICAgIGRvdWJsZSB0aW1lX2VuY29kZWQgPQogICAgICAgICAgIChjcGktPmxhc3Rf
ZW5kX3RpbWVfc3RhbXBfc2VlbiAtIGNwaS0+Zmlyc3RfdGltZV9zdGFtcF9ldmVyKSAvCiAgICAg
ICAgICAgMTAwMDAwMDAuMDAwOworICAgICAgZG91YmxlIGRyID0gKGRvdWJsZSljcGktPmJ5dGVz
ICogOC4wIC8gMTAwMC4wIC8gdGltZV9lbmNvZGVkOwogCiAgICAgICBpZiAoY3BpLT5iX2NhbGN1
bGF0ZV9wc25yKSB7CiAgICAgICAgIGlmIChjcGktPm94Y2YubnVtYmVyX29mX2xheWVycyA+IDEp
IHsKQEAgLTIxMjcsNyArMjE1NSw2IEBAIHZvaWQgdnA4X3JlbW92ZV9jb21wcmVzc29yKFZQOF9D
T01QICoqY29tcCkgewogICAgICAgICAgICAgICAgICAgICB0b3RhbF9wc25yMiwgdG90YWxfc3Np
bSk7CiAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgIGRvdWJsZSBkciA9
IChkb3VibGUpY3BpLT5ieXRlcyAqIDguMCAvIDEwMDAuMCAvIHRpbWVfZW5jb2RlZDsKICAgICAg
ICAgICBkb3VibGUgc2FtcGxlcyA9CiAgICAgICAgICAgICAgIDMuMCAvIDIgKiBjcGktPmNvdW50
ICogY3BpLT5jb21tb24uV2lkdGggKiBjcGktPmNvbW1vbi5IZWlnaHQ7CiAgICAgICAgICAgZG91
YmxlIHRvdGFsX3BzbnIgPQpAQCAtMjIzNSw3ICsyMjYyLDcgQEAgdm9pZCB2cDhfcmVtb3ZlX2Nv
bXByZXNzb3IoVlA4X0NPTVAgKipjb21wKSB7CiAjaWYgMAogICAgICAgICB7CiAgICAgICAgICAg
ICBwcmludGYoIlxuX3BpY2tfbG9vcF9maWx0ZXJfbGV2ZWw6JWRcbiIsIGNwaS0+dGltZV9waWNr
X2xwZiAvIDEwMDApOwotICAgICAgICAgICAgcHJpbnRmKCJcbl9mcmFtZXMgcmVjZWl2ZV9kYXRh
IGVuY29kX21iX3JvdyBjb21wcmVzc19mcmFtZSAgVG90YWxcbiIpOworICAgICAgICAgICAgcHJp
bnRmKCJcbl9mcmFtZXMgcmVjaXZlX2RhdGEgZW5jb2RfbWJfcm93IGNvbXByZXNzX2ZyYW1lICBU
b3RhbFxuIik7CiAgICAgICAgICAgICBwcmludGYoIiU2ZCAlMTBsZCAlMTBsZCAlMTBsZCAlMTBs
ZFxuIiwgY3BpLT5jb21tb24uY3VycmVudF92aWRlb19mcmFtZSwgY3BpLT50aW1lX3JlY2VpdmVf
ZGF0YSAvIDEwMDAsIGNwaS0+dGltZV9lbmNvZGVfbWJfcm93IC8gMTAwMCwgY3BpLT50aW1lX2Nv
bXByZXNzX2RhdGEgLyAxMDAwLCAoY3BpLT50aW1lX3JlY2VpdmVfZGF0YSArIGNwaS0+dGltZV9j
b21wcmVzc19kYXRhKSAvIDEwMDApOwogICAgICAgICB9CiAjZW5kaWYKQEAgLTI0OTQsMTcgKzI1
MjEsMTUgQEAgc3RhdGljIGludCByZXNpemVfa2V5X2ZyYW1lKFZQOF9DT01QICpjcGkpIHsKICAg
ICBpZiAoY3BpLT5idWZmZXJfbGV2ZWwgPCAoY3BpLT5veGNmLnJlc2FtcGxlX2Rvd25fd2F0ZXJf
bWFyayAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwaS0+b3hjZi5vcHRpbWFsX2J1
ZmZlcl9sZXZlbCAvIDEwMCkpIHsKICAgICAgIGNtLT5ob3Jpel9zY2FsZSA9Ci0gICAgICAgICAg
KGNtLT5ob3Jpel9zY2FsZSA8IFZQOEVfT05FVFdPKSA/IGNtLT5ob3Jpel9zY2FsZSArIDEgOiBW
UDhFX09ORVRXTzsKLSAgICAgIGNtLT52ZXJ0X3NjYWxlID0KLSAgICAgICAgICAoY20tPnZlcnRf
c2NhbGUgPCBWUDhFX09ORVRXTykgPyBjbS0+dmVydF9zY2FsZSArIDEgOiBWUDhFX09ORVRXTzsK
KyAgICAgICAgICAoY20tPmhvcml6X3NjYWxlIDwgT05FVFdPKSA/IGNtLT5ob3Jpel9zY2FsZSAr
IDEgOiBPTkVUV087CisgICAgICBjbS0+dmVydF9zY2FsZSA9IChjbS0+dmVydF9zY2FsZSA8IE9O
RVRXTykgPyBjbS0+dmVydF9zY2FsZSArIDEgOiBPTkVUV087CiAgICAgfQogICAgIC8qIFNob3Vs
ZCB3ZSBub3cgc3RhcnQgc2NhbGluZyBiYWNrIHVwICovCiAgICAgZWxzZSBpZiAoY3BpLT5idWZm
ZXJfbGV2ZWwgPiAoY3BpLT5veGNmLnJlc2FtcGxlX3VwX3dhdGVyX21hcmsgKgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNwaS0+b3hjZi5vcHRpbWFsX2J1ZmZlcl9sZXZlbCAv
IDEwMCkpIHsKICAgICAgIGNtLT5ob3Jpel9zY2FsZSA9Ci0gICAgICAgICAgKGNtLT5ob3Jpel9z
Y2FsZSA+IFZQOEVfTk9STUFMKSA/IGNtLT5ob3Jpel9zY2FsZSAtIDEgOiBWUDhFX05PUk1BTDsK
LSAgICAgIGNtLT52ZXJ0X3NjYWxlID0KLSAgICAgICAgICAoY20tPnZlcnRfc2NhbGUgPiBWUDhF
X05PUk1BTCkgPyBjbS0+dmVydF9zY2FsZSAtIDEgOiBWUDhFX05PUk1BTDsKKyAgICAgICAgICAo
Y20tPmhvcml6X3NjYWxlID4gTk9STUFMKSA/IGNtLT5ob3Jpel9zY2FsZSAtIDEgOiBOT1JNQUw7
CisgICAgICBjbS0+dmVydF9zY2FsZSA9IChjbS0+dmVydF9zY2FsZSA+IE5PUk1BTCkgPyBjbS0+
dmVydF9zY2FsZSAtIDEgOiBOT1JNQUw7CiAgICAgfQogCiAgICAgLyogR2V0IHRoZSBuZXcgaGVp
Z2h0IGFuZCB3aWR0aCAqLwpAQCAtMjczNSw3ICsyNzYwLDcgQEAgc3RhdGljIGludCBkZWNpZGVf
a2V5X2ZyYW1lKFZQOF9DT01QICpjcGkpIHsKICAgfQogICAvKiBpbiBhZGRpdGlvbiBpZiB0aGUg
Zm9sbG93aW5nIGFyZSB0cnVlIGFuZCB0aGlzIGlzIG5vdCBhIGdvbGRlbiBmcmFtZQogICAgKiB0
aGVuIGNvZGUgYSBrZXkgZnJhbWUgTm90ZSB0aGF0IG9uIGdvbGRlbiBmcmFtZXMgdGhlcmUgb2Z0
ZW4gc2VlbXMKLSAgICogdG8gYmUgYSBwb3AgaW4gaW50cmEgdXNhZ2UgYW55d2F5IGhlbmNlIHRo
aXMgcmVzdHJpY3Rpb24gaXMKKyAgICogdG8gYmUgYSBwb3AgaW4gaW50cmEgdXNlYWdlIGFueXdh
eSBoZW5jZSB0aGlzIHJlc3RyaWN0aW9uIGlzCiAgICAqIGRlc2lnbmVkIHRvIHByZXZlbnQgc3B1
cmlvdXMga2V5IGZyYW1lcy4gVGhlIEludHJhIHBvcCBuZWVkcyB0byBiZQogICAgKiBpbnZlc3Rp
Z2F0ZWQuCiAgICAqLwpAQCAtMzE5Myw2ICszMjE4LDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlX2Zy
YW1lX3RvX2RhdGFfcmF0ZShWUDhfQ09NUCAqY3BpLCBzaXplX3QgKnNpemUsCiAgIGludCBmcmFt
ZV91bmRlcl9zaG9vdF9saW1pdDsKIAogICBpbnQgTG9vcCA9IDA7CisgIGludCBsb29wX2NvdW50
OwogCiAgIFZQOF9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOwogICBpbnQgYWN0aXZlX3dvcnN0
X3FjaGFuZ2VkID0gMDsKQEAgLTMyMzksNyArMzI2NSw3IEBAIHN0YXRpYyB2b2lkIGVuY29kZV9m
cmFtZV90b19kYXRhX3JhdGUoVlA4X0NPTVAgKmNwaSwgc2l6ZV90ICpzaXplLAogI2VuZGlmICAv
LyAhQ09ORklHX1JFQUxUSU1FX09OTFkKICAgICBkZWZhdWx0OgogICAgICAgY3BpLT5wZXJfZnJh
bWVfYmFuZHdpZHRoID0KLSAgICAgICAgICAoaW50KXJvdW5kKGNwaS0+dGFyZ2V0X2JhbmR3aWR0
aCAvIGNwaS0+b3V0cHV0X2ZyYW1lcmF0ZSk7CisgICAgICAgICAgKGludCkoY3BpLT50YXJnZXRf
YmFuZHdpZHRoIC8gY3BpLT5vdXRwdXRfZnJhbWVyYXRlKTsKICAgICAgIGJyZWFrOwogICB9CiAK
QEAgLTM0NTksNyArMzQ4NSw3IEBAIHN0YXRpYyB2b2lkIGVuY29kZV9mcmFtZV90b19kYXRhX3Jh
dGUoVlA4X0NPTVAgKmNwaSwgc2l6ZV90ICpzaXplLAogICAgKiBOb3RlIHRoYXQgZHJvcHBpbmcg
YSBrZXkgZnJhbWUgY2FuIGJlIHByb2JsZW1hdGljIGlmIHNwYXRpYWwKICAgICogcmVzYW1wbGlu
ZyBpcyBhbHNvIGFjdGl2ZQogICAgKi8KLSAgaWYgKGNwaS0+ZGVjaW1hdGlvbl9mYWN0b3IgPiAw
ICYmIGNwaS0+ZHJvcF9mcmFtZXNfYWxsb3dlZCkgeworICBpZiAoY3BpLT5kZWNpbWF0aW9uX2Zh
Y3RvciA+IDApIHsKICAgICBzd2l0Y2ggKGNwaS0+ZGVjaW1hdGlvbl9mYWN0b3IpIHsKICAgICAg
IGNhc2UgMToKICAgICAgICAgY3BpLT5wZXJfZnJhbWVfYmFuZHdpZHRoID0gY3BpLT5wZXJfZnJh
bWVfYmFuZHdpZHRoICogMyAvIDI7CkBAIC0zNjIxLDcgKzM2NDcsNyBAQCBzdGF0aWMgdm9pZCBl
bmNvZGVfZnJhbWVfdG9fZGF0YV9yYXRlKFZQOF9DT01QICpjcGksIHNpemVfdCAqc2l6ZSwKICAg
ICAgICAgUSA9IGNwaS0+YXZnX2ZyYW1lX3FpbmRleDsKICAgICAgIH0KIAotICAgICAgLyogRm9y
IGNvbnN0cmFpbmVkIHF1YWxpdHkgZG9uJ3QgYWxsb3cgUSBsZXNzIHRoYW4gdGhlIGNxIGxldmVs
ICovCisgICAgICAvKiBGb3IgY29uc3RyYWluZWQgcXVhbGl0eSBkb250IGFsbG93IFEgbGVzcyB0
aGFuIHRoZSBjcSBsZXZlbCAqLwogICAgICAgaWYgKChjcGktPm94Y2YuZW5kX3VzYWdlID09IFVT
QUdFX0NPTlNUUkFJTkVEX1FVQUxJVFkpICYmCiAgICAgICAgICAgKFEgPCBjcGktPmNxX3Rhcmdl
dF9xdWFsaXR5KSkgewogICAgICAgICBRID0gY3BpLT5jcV90YXJnZXRfcXVhbGl0eTsKQEAgLTM2
NDgsNyArMzY3NCw3IEBAIHN0YXRpYyB2b2lkIGVuY29kZV9mcmFtZV90b19kYXRhX3JhdGUoVlA4
X0NPTVAgKmNwaSwgc2l6ZV90ICpzaXplLAogICAgIH0gZWxzZSB7CiAgICAgICBjcGktPmFjdGl2
ZV9iZXN0X3F1YWxpdHkgPSBpbnRlcl9taW5xW1FdOwogCi0gICAgICAvKiBGb3IgdGhlIGNvbnN0
YW50L2NvbnN0cmFpbmVkIHF1YWxpdHkgbW9kZSB3ZSBkb24ndCB3YW50CisgICAgICAvKiBGb3Ig
dGhlIGNvbnN0YW50L2NvbnN0cmFpbmVkIHF1YWxpdHkgbW9kZSB3ZSBkb250IHdhbnQKICAgICAg
ICAqIHEgdG8gZmFsbCBiZWxvdyB0aGUgY3EgbGV2ZWwuCiAgICAgICAgKi8KICAgICAgIGlmICgo
Y3BpLT5veGNmLmVuZF91c2FnZSA9PSBVU0FHRV9DT05TVFJBSU5FRF9RVUFMSVRZKSAmJgpAQCAt
MzY2OSw3ICszNjk1LDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlX2ZyYW1lX3RvX2RhdGFfcmF0ZShW
UDhfQ09NUCAqY3BpLCBzaXplX3QgKnNpemUsCiAgICAgICogaGlnaGVyIHF1YWxpdHkgb24gdGhl
IGZyYW1lcyB0byBwcmV2ZW50IGJpdHMganVzdCBnb2luZyB0byB3YXN0ZS4KICAgICAgKi8KICAg
ICBpZiAoY3BpLT5veGNmLmVuZF91c2FnZSA9PSBVU0FHRV9TVFJFQU1fRlJPTV9TRVJWRVIpIHsK
LSAgICAgIC8qIE5vdGUgdGhhdCB0aGUgdXNlIG9mID49IGhlcmUgZWxsaW1pbmF0ZXMgdGhlIHJp
c2sgb2YgYSBkaXZpZGUKKyAgICAgIC8qIE5vdGUgdGhhdCB0aGUgdXNlIG9mID49IGhlcmUgZWxs
aW1pbmF0ZXMgdGhlIHJpc2sgb2YgYSBkZXZpZGUKICAgICAgICAqIGJ5IDAgZXJyb3IgaW4gdGhl
IGVsc2UgaWYgY2xhdXNlCiAgICAgICAgKi8KICAgICAgIGlmIChjcGktPmJ1ZmZlcl9sZXZlbCA+
PSBjcGktPm94Y2YubWF4aW11bV9idWZmZXJfc2l6ZSkgewpAQCAtMzc1OCw2ICszNzg0LDggQEAg
c3RhdGljIHZvaWQgZW5jb2RlX2ZyYW1lX3RvX2RhdGFfcmF0ZShWUDhfQ09NUCAqY3BpLCBzaXpl
X3QgKnNpemUsCiAKICAgdnA4X3NhdmVfY29kaW5nX2NvbnRleHQoY3BpKTsKIAorICBsb29wX2Nv
dW50ID0gMDsKKwogICBzY2FsZV9hbmRfZXh0ZW5kX3NvdXJjZShjcGktPnVuX3NjYWxlZF9zb3Vy
Y2UsIGNwaSk7CiAKICNpZiBDT05GSUdfVEVNUE9SQUxfREVOT0lTSU5HICYmIENPTkZJR19QT1NU
UFJPQwpAQCAtMzk4MCw2ICs0MDA4LDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlX2ZyYW1lX3RvX2Rh
dGFfcmF0ZShWUDhfQ09NUCAqY3BpLCBzaXplX3QgKnNpemUsCiAgICAgICAgIHFfbG93ID0gY3Bp
LT5hY3RpdmVfYmVzdF9xdWFsaXR5OwogICAgICAgICBxX2hpZ2ggPSBjcGktPmFjdGl2ZV93b3Jz
dF9xdWFsaXR5OwogCisgICAgICAgIGxvb3BfY291bnQrKzsKICAgICAgICAgTG9vcCA9IDE7CiAK
ICAgICAgICAgY29udGludWU7CkBAIC0zOTkyLDggKzQwMjEsNyBAQCBzdGF0aWMgdm9pZCBlbmNv
ZGVfZnJhbWVfdG9fZGF0YV9yYXRlKFZQOF9DT01QICpjcGksIHNpemVfdCAqc2l6ZSwKICAgICBp
ZiAoZnJhbWVfb3Zlcl9zaG9vdF9saW1pdCA9PSAwKSBmcmFtZV9vdmVyX3Nob290X2xpbWl0ID0g
MTsKIAogICAgIC8qIEFyZSB3ZSBhcmUgb3ZlcnNob290aW5nIGFuZCB1cCBhZ2FpbnN0IHRoZSBs
aW1pdCBvZiBhY3RpdmUgbWF4IFEuICovCi0gICAgaWYgKCFjcGktPnJ0X2Fsd2F5c191cGRhdGVf
Y29ycmVjdGlvbl9mYWN0b3IgJiYKLSAgICAgICAgKChjcGktPnBhc3MgIT0gMikgfHwKKyAgICBp
ZiAoKChjcGktPnBhc3MgIT0gMikgfHwKICAgICAgICAgIChjcGktPm94Y2YuZW5kX3VzYWdlID09
IFVTQUdFX1NUUkVBTV9GUk9NX1NFUlZFUikpICYmCiAgICAgICAgIChRID09IGNwaS0+YWN0aXZl
X3dvcnN0X3F1YWxpdHkpICYmCiAgICAgICAgIChjcGktPmFjdGl2ZV93b3JzdF9xdWFsaXR5IDwg
Y3BpLT53b3JzdF9xdWFsaXR5KSAmJgpAQCAtNDE5MCwxMCArNDIxOCwxMSBAQCBzdGF0aWMgdm9p
ZCBlbmNvZGVfZnJhbWVfdG9fZGF0YV9yYXRlKFZQOF9DT01QICpjcGksIHNpemVfdCAqc2l6ZSwK
ICAgICAgIH0KIAogICAgICAgLyogQ2xhbXAgY3BpLT56YmluX292ZXJfcXVhbnQgKi8KLSAgICAg
IGNwaS0+bWIuemJpbl9vdmVyX3F1YW50ID0KLSAgICAgICAgICAoY3BpLT5tYi56YmluX292ZXJf
cXVhbnQgPCB6YmluX29xX2xvdykgICAgPyB6YmluX29xX2xvdwotICAgICAgICAgIDogKGNwaS0+
bWIuemJpbl9vdmVyX3F1YW50ID4gemJpbl9vcV9oaWdoKSA/IHpiaW5fb3FfaGlnaAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGNwaS0+bWIu
emJpbl9vdmVyX3F1YW50OworICAgICAgY3BpLT5tYi56YmluX292ZXJfcXVhbnQgPSAoY3BpLT5t
Yi56YmluX292ZXJfcXVhbnQgPCB6YmluX29xX2xvdykKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID8gemJpbl9vcV9sb3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDogKGNwaS0+bWIuemJpbl9vdmVyX3F1YW50ID4gemJpbl9vcV9oaWdoKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB6YmluX29xX2hpZ2gKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY3BpLT5tYi56YmluX292ZXJf
cXVhbnQ7CiAKICAgICAgIExvb3AgPSBRICE9IGxhc3RfcTsKICAgICB9IGVsc2UgewpAQCAtNDIw
NSw2ICs0MjM0LDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlX2ZyYW1lX3RvX2RhdGFfcmF0ZShWUDhf
Q09NUCAqY3BpLCBzaXplX3QgKnNpemUsCiAKICAgICBpZiAoTG9vcCA9PSAxKSB7CiAgICAgICB2
cDhfcmVzdG9yZV9jb2RpbmdfY29udGV4dChjcGkpOworICAgICAgbG9vcF9jb3VudCsrOwogI2lm
IENPTkZJR19JTlRFUk5BTF9TVEFUUwogICAgICAgY3BpLT50b3RfcmVjb2RlX2hpdHMrKzsKICNl
bmRpZgpAQCAtNDMwNiwxMiArNDMzNiwxMiBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfZnJhbWVfdG9f
ZGF0YV9yYXRlKFZQOF9DT01QICpjcGksIHNpemVfdCAqc2l6ZSwKICAgdnA4X2NhbF9kaXNzaW1p
bGFyaXR5KGNwaSk7CiAjZW5kaWYKIAotICAvKiBVcGRhdGUgdGhlIEdGIHVzYWdlIG1hcHMuCisg
IC8qIFVwZGF0ZSB0aGUgR0YgdXNlYWdlIG1hcHMuCiAgICAqIFRoaXMgaXMgZG9uZSBhZnRlciBj
b21wbGV0aW5nIHRoZSBjb21wcmVzc2lvbiBvZiBhIGZyYW1lIHdoZW4gYWxsCiAgICAqIG1vZGVz
IGV0Yy4gYXJlIGZpbmFsaXplZCBidXQgYmVmb3JlIGxvb3AgZmlsdGVyCiAgICAqLwogICBpZiAo
Y3BpLT5veGNmLm51bWJlcl9vZl9sYXllcnMgPT0gMSkgewotICAgIHZwOF91cGRhdGVfZ2ZfdXNh
Z2VfbWFwcyhjcGksIGNtLCAmY3BpLT5tYik7CisgICAgdnA4X3VwZGF0ZV9nZl91c2VhZ2VfbWFw
cyhjcGksIGNtLCAmY3BpLT5tYik7CiAgIH0KIAogICBpZiAoY20tPmZyYW1lX3R5cGUgPT0gS0VZ
X0ZSQU1FKSBjbS0+cmVmcmVzaF9sYXN0X2ZyYW1lID0gMTsKQEAgLTQ0NjgsNyArNDQ5OCw3IEBA
IHN0YXRpYyB2b2lkIGVuY29kZV9mcmFtZV90b19kYXRhX3JhdGUoVlA4X0NPTVAgKmNwaSwgc2l6
ZV90ICpzaXplLAogICAgICAgICogc2l6ZSB3aXRoaW4gcmFuZ2UpIHRoZW4gdXNlIHRoZSBsYXN0
IGZyYW1lIHZhbHVlIC0gMS4gVGhlIC0xCiAgICAgICAgKiBpcyBkZXNpZ25lZCB0byBzdG9wIFEg
YW5kIGhlbmNlIHRoZSBkYXRhIHJhdGUsIGZyb20KICAgICAgICAqIHByb2dyZXNzaXZlbHkgZmFs
bGluZyBhd2F5IGR1cmluZyBkaWZmaWN1bHQgc2VjdGlvbnMsIGJ1dCBhdAotICAgICAgICogdGhl
IHNhbWUgdGltZSByZWR1Y2UgdGhlIG51bWJlciBvZiBpdGVyYXRpb25zIGFyb3VuZCB0aGUKKyAg
ICAgICAqIHRoZSBzYW1lIHRpbWUgcmVkdWNlIHRoZSBudW1iZXIgb2YgaXR0ZXJhdGlvbnMgYXJv
dW5kIHRoZQogICAgICAgICogcmVjb2RlIGxvb3AuCiAgICAgICAgKi8KICAgICAgIGlmIChRID4g
Y3BpLT5uaV9hdl9xaSkgY3BpLT5uaV9hdl9xaSA9IFEgLSAxOwpAQCAtNDQ4OSwxMCArNDUxOSwx
MCBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfZnJhbWVfdG9fZGF0YV9yYXRlKFZQOF9DT01QICpjcGks
IHNpemVfdCAqc2l6ZSwKICAgICBjcGktPmJpdHNfb2ZmX3RhcmdldCA9IGNwaS0+b3hjZi5tYXhp
bXVtX2J1ZmZlcl9zaXplOwogICB9CiAKLSAgLy8gRG9uJ3QgbGV0IHRoZSBidWZmZXIgbGV2ZWwg
Z28gYmVsb3cgc29tZSB0aHJlc2hvbGQsIGdpdmVuIGhlcmUKLSAgLy8gYnkgLXxtYXhpbXVtX2J1
ZmZlcl9zaXplfC4gRm9yIG5vdyB3ZSBvbmx5IGRvIHRoaXMgZm9yCi0gIC8vIHNjcmVlbiBjb250
ZW50IGlucHV0LgotICBpZiAoY3BpLT5veGNmLnNjcmVlbl9jb250ZW50X21vZGUgJiYKKyAgLy8g
SWYgdGhlIGZyYW1lIGRyb3BwZXIgaXMgbm90IGVuYWJsZWQsIGRvbid0IGxldCB0aGUgYnVmZmVy
IGxldmVsIGdvIGJlbG93CisgIC8vIHNvbWUgdGhyZXNob2xkLCBnaXZlbiBoZXJlIGJ5IC18bWF4
aW11bV9idWZmZXJfc2l6ZXwuIEZvciBub3cgd2Ugb25seSBkbworICAvLyB0aGlzIGZvciBzY3Jl
ZW4gY29udGVudCBpbnB1dC4KKyAgaWYgKGNwaS0+ZHJvcF9mcmFtZXNfYWxsb3dlZCA9PSAwICYm
IGNwaS0+b3hjZi5zY3JlZW5fY29udGVudF9tb2RlICYmCiAgICAgICBjcGktPmJpdHNfb2ZmX3Rh
cmdldCA8IC1jcGktPm94Y2YubWF4aW11bV9idWZmZXJfc2l6ZSkgewogICAgIGNwaS0+Yml0c19v
ZmZfdGFyZ2V0ID0gLWNwaS0+b3hjZi5tYXhpbXVtX2J1ZmZlcl9zaXplOwogICB9CkBAIC00NTI3
LDggKzQ1NTcsOCBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfZnJhbWVfdG9fZGF0YV9yYXRlKFZQOF9D
T01QICpjcGksIHNpemVfdCAqc2l6ZSwKIAogICAgIGZvciAoaSA9IGNwaS0+Y3VycmVudF9sYXll
ciArIDE7IGkgPCBjcGktPm94Y2YubnVtYmVyX29mX2xheWVyczsgKytpKSB7CiAgICAgICBMQVlF
Ul9DT05URVhUICpsYyA9ICZjcGktPmxheWVyX2NvbnRleHRbaV07Ci0gICAgICBpbnQgYml0c19v
ZmZfZm9yX3RoaXNfbGF5ZXIgPSAoaW50KXJvdW5kKAotICAgICAgICAgIGxjLT50YXJnZXRfYmFu
ZHdpZHRoIC8gbGMtPmZyYW1lcmF0ZSAtIGNwaS0+cHJvamVjdGVkX2ZyYW1lX3NpemUpOworICAg
ICAgaW50IGJpdHNfb2ZmX2Zvcl90aGlzX2xheWVyID0gKGludCkobGMtPnRhcmdldF9iYW5kd2lk
dGggLyBsYy0+ZnJhbWVyYXRlIC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNwaS0+cHJvamVjdGVkX2ZyYW1lX3NpemUpOwogCiAgICAgICBsYy0+Yml0c19vZmZf
dGFyZ2V0ICs9IGJpdHNfb2ZmX2Zvcl90aGlzX2xheWVyOwogCkBAIC00NzE1LDcgKzQ3NDUsNyBA
QCBzdGF0aWMgdm9pZCBlbmNvZGVfZnJhbWVfdG9fZGF0YV9yYXRlKFZQOF9DT01QICpjcGksIHNp
emVfdCAqc2l6ZSwKICAgY3BpLT5tYi5lX21iZC51cGRhdGVfbWJfc2VnbWVudGF0aW9uX2RhdGEg
PSAwOwogICBjcGktPm1iLmVfbWJkLm1vZGVfcmVmX2xmX2RlbHRhX3VwZGF0ZSA9IDA7CiAKLSAg
LyogRG9uJ3QgaW5jcmVtZW50IGZyYW1lIGNvdW50ZXJzIGlmIHRoaXMgd2FzIGFuIGFsdHJlZiBi
dWZmZXIgdXBkYXRlCisgIC8qIERvbnQgaW5jcmVtZW50IGZyYW1lIGNvdW50ZXJzIGlmIHRoaXMg
d2FzIGFuIGFsdHJlZiBidWZmZXIgdXBkYXRlCiAgICAqIG5vdCBhIHJlYWwgZnJhbWUKICAgICov
CiAgIGlmIChjbS0+c2hvd19mcmFtZSkgewpAQCAtNDg5NCw4ICs0OTI0LDYgQEAgaW50IHZwOF9n
ZXRfY29tcHJlc3NlZF9kYXRhKFZQOF9DT01QICpjcGksIHVuc2lnbmVkIGludCAqZnJhbWVfZmxh
Z3MsCiAKICAgICAgIHRoaXNfZHVyYXRpb24gPSBjcGktPnNvdXJjZS0+dHNfZW5kIC0gY3BpLT5s
YXN0X2VuZF90aW1lX3N0YW1wX3NlZW47CiAgICAgICBsYXN0X2R1cmF0aW9uID0gY3BpLT5sYXN0
X2VuZF90aW1lX3N0YW1wX3NlZW4gLSBjcGktPmxhc3RfdGltZV9zdGFtcF9zZWVuOwotICAgICAg
Ly8gQ2FwIHRoaXMgdG8gYXZvaWQgb3ZlcmZsb3cgb2YgKHRoaXNfZHVyYXRpb24gLSBsYXN0X2R1
cmF0aW9uKSAqIDEwCi0gICAgICB0aGlzX2R1cmF0aW9uID0gVlBYTUlOKHRoaXNfZHVyYXRpb24s
IElOVDY0X01BWCAvIDEwKTsKICAgICAgIC8qIGRvIGEgc3RlcCB1cGRhdGUgaWYgdGhlIGR1cmF0
aW9uIGNoYW5nZXMgYnkgMTAlICovCiAgICAgICBpZiAobGFzdF9kdXJhdGlvbikgewogICAgICAg
ICBzdGVwID0gKGludCkoKCh0aGlzX2R1cmF0aW9uIC0gbGFzdF9kdXJhdGlvbikgKiAxMCAvIGxh
c3RfZHVyYXRpb24pKTsKQEAgLTQ5NjUsNyArNDk5Myw3IEBAIGludCB2cDhfZ2V0X2NvbXByZXNz
ZWRfZGF0YShWUDhfQ09NUCAqY3BpLCB1bnNpZ25lZCBpbnQgKmZyYW1lX2ZsYWdzLAogICBpZiAo
Y3BpLT5veGNmLm51bWJlcl9vZl9sYXllcnMgPiAxKSB7CiAgICAgaW50IGxheWVyOwogCi0gICAg
dnA4X3VwZGF0ZV9sYXllcl9jb250ZXh0cyhjcGkpOworICAgIHVwZGF0ZV9sYXllcl9jb250ZXh0
cyhjcGkpOwogCiAgICAgLyogUmVzdG9yZSBsYXllciBzcGVjaWZpYyBjb250ZXh0ICYgc2V0IGZy
YW1lIHJhdGUgKi8KICAgICBpZiAoY3BpLT50ZW1wb3JhbF9sYXllcl9pZCA+PSAwKSB7CkBAIC00
OTc1LDcgKzUwMDMsNyBAQCBpbnQgdnA4X2dldF9jb21wcmVzc2VkX2RhdGEoVlA4X0NPTVAgKmNw
aSwgdW5zaWduZWQgaW50ICpmcmFtZV9mbGFncywKICAgICAgICAgICBjcGktPm94Y2YKICAgICAg
ICAgICAgICAgLmxheWVyX2lkW2NwaS0+dGVtcG9yYWxfcGF0dGVybl9jb3VudGVyICUgY3BpLT5v
eGNmLnBlcmlvZGljaXR5XTsKICAgICB9Ci0gICAgdnA4X3Jlc3RvcmVfbGF5ZXJfY29udGV4dChj
cGksIGxheWVyKTsKKyAgICByZXN0b3JlX2xheWVyX2NvbnRleHQoY3BpLCBsYXllcik7CiAgICAg
dnA4X25ld19mcmFtZXJhdGUoY3BpLCBjcGktPmxheWVyX2NvbnRleHRbbGF5ZXJdLmZyYW1lcmF0
ZSk7CiAgIH0KIApAQCAtNTA5Myw3ICs1MTIxLDcgQEAgaW50IHZwOF9nZXRfY29tcHJlc3NlZF9k
YXRhKFZQOF9DT01QICpjcGksIHVuc2lnbmVkIGludCAqZnJhbWVfZmxhZ3MsCiAKICAgaWYgKGNt
LT5yZWZyZXNoX2xhc3RfZnJhbWUpIG1lbWNweSgmY3BpLT5sZmNfbiwgJmNtLT5mYywgc2l6ZW9m
KGNtLT5mYykpOwogCi0gIC8qIGlmIGl0J3MgYSBkcm9wcGVkIGZyYW1lIGhvbm9yIHRoZSByZXF1
ZXN0cyBvbiBzdWJzZXF1ZW50IGZyYW1lcyAqLworICAvKiBpZiBpdHMgYSBkcm9wcGVkIGZyYW1l
IGhvbm9yIHRoZSByZXF1ZXN0cyBvbiBzdWJzZXF1ZW50IGZyYW1lcyAqLwogICBpZiAoKnNpemUg
PiAwKSB7CiAgICAgY3BpLT5kcm9wcGFibGUgPSAhZnJhbWVfaXNfcmVmZXJlbmNlKGNwaSk7CiAK
QEAgLTUxMDYsNyArNTEzNCw3IEBAIGludCB2cDhfZ2V0X2NvbXByZXNzZWRfZGF0YShWUDhfQ09N
UCAqY3BpLCB1bnNpZ25lZCBpbnQgKmZyYW1lX2ZsYWdzLAogICB9CiAKICAgLyogU2F2ZSBsYXll
ciBzcGVjaWZpYyBzdGF0ZSAqLwotICBpZiAoY3BpLT5veGNmLm51bWJlcl9vZl9sYXllcnMgPiAx
KSB2cDhfc2F2ZV9sYXllcl9jb250ZXh0KGNwaSk7CisgIGlmIChjcGktPm94Y2YubnVtYmVyX29m
X2xheWVycyA+IDEpIHNhdmVfbGF5ZXJfY29udGV4dChjcGkpOwogCiAgIHZweF91c2VjX3RpbWVy
X21hcmsoJmNtcHRpbWVyKTsKICAgY3BpLT50aW1lX2NvbXByZXNzX2RhdGEgKz0gdnB4X3VzZWNf
dGltZXJfZWxhcHNlZCgmY21wdGltZXIpOwpAQCAtNTI5MywxMyArNTMyMSwxNyBAQCBpbnQgdnA4
X3NldF9yb2ltYXAoVlA4X0NPTVAgKmNwaSwgdW5zaWduZWQgY2hhciAqbWFwLCB1bnNpZ25lZCBp
bnQgcm93cywKICAgICByZXR1cm4gLTE7CiAgIH0KIAotICBmb3IgKGkgPSAwOyBpIDwgTUFYX01C
X1NFR01FTlRTOyArK2kpIHsKLSAgICAvLyBOb3RlIGFicygpIGFsb25lIGNhbid0IGJlIHVzZWQg
YXMgdGhlIGJlaGF2aW9yIG9mIGFicyhJTlRfTUlOKSBpcwotICAgIC8vIHVuZGVmaW5lZC4KLSAg
ICBpZiAoZGVsdGFfcVtpXSA+IHJhbmdlIHx8IGRlbHRhX3FbaV0gPCAtcmFuZ2UgfHwgZGVsdGFf
bGZbaV0gPiByYW5nZSB8fAotICAgICAgICBkZWx0YV9sZltpXSA8IC1yYW5nZSkgewotICAgICAg
cmV0dXJuIC0xOwotICAgIH0KKyAgLy8gUmFuZ2UgY2hlY2sgdGhlIGRlbHRhIFEgdmFsdWVzIGFu
ZCBjb252ZXJ0IHRoZSBleHRlcm5hbCBRIHJhbmdlIHZhbHVlcworICAvLyB0byBpbnRlcm5hbCBv
bmVzLgorICBpZiAoKGFicyhkZWx0YV9xWzBdKSA+IHJhbmdlKSB8fCAoYWJzKGRlbHRhX3FbMV0p
ID4gcmFuZ2UpIHx8CisgICAgICAoYWJzKGRlbHRhX3FbMl0pID4gcmFuZ2UpIHx8IChhYnMoZGVs
dGFfcVszXSkgPiByYW5nZSkpIHsKKyAgICByZXR1cm4gLTE7CisgIH0KKworICAvLyBSYW5nZSBj
aGVjayB0aGUgZGVsdGEgbGYgdmFsdWVzCisgIGlmICgoYWJzKGRlbHRhX2xmWzBdKSA+IHJhbmdl
KSB8fCAoYWJzKGRlbHRhX2xmWzFdKSA+IHJhbmdlKSB8fAorICAgICAgKGFicyhkZWx0YV9sZlsy
XSkgPiByYW5nZSkgfHwgKGFicyhkZWx0YV9sZlszXSkgPiByYW5nZSkpIHsKKyAgICByZXR1cm4g
LTE7CiAgIH0KIAogICAvLyBBbHNvIGRpc2FibGUgc2VnbWVudGF0aW9uIGlmIG5vIGRlbHRhcyBh
cmUgc3BlY2lmaWVkLgpAQCAtNTM2NywxNSArNTM5OSwxNSBAQCBpbnQgdnA4X3NldF9hY3RpdmVf
bWFwKFZQOF9DT01QICpjcGksIHVuc2lnbmVkIGNoYXIgKm1hcCwgdW5zaWduZWQgaW50IHJvd3Ms
CiAgIH0KIH0KIAotaW50IHZwOF9zZXRfaW50ZXJuYWxfc2l6ZShWUDhfQ09NUCAqY3BpLCBWUFhf
U0NBTElOR19NT0RFIGhvcml6X21vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9T
Q0FMSU5HX01PREUgdmVydF9tb2RlKSB7Ci0gIGlmIChob3Jpel9tb2RlIDw9IFZQOEVfT05FVFdP
KSB7CitpbnQgdnA4X3NldF9pbnRlcm5hbF9zaXplKFZQOF9DT01QICpjcGksIFZQWF9TQ0FMSU5H
IGhvcml6X21vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9TQ0FMSU5HIHZlcnRf
bW9kZSkgeworICBpZiAoaG9yaXpfbW9kZSA8PSBPTkVUV08pIHsKICAgICBjcGktPmNvbW1vbi5o
b3Jpel9zY2FsZSA9IGhvcml6X21vZGU7CiAgIH0gZWxzZSB7CiAgICAgcmV0dXJuIC0xOwogICB9
CiAKLSAgaWYgKHZlcnRfbW9kZSA8PSBWUDhFX09ORVRXTykgeworICBpZiAodmVydF9tb2RlIDw9
IE9ORVRXTykgewogICAgIGNwaS0+Y29tbW9uLnZlcnRfc2NhbGUgPSB2ZXJ0X21vZGU7CiAgIH0g
ZWxzZSB7CiAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rl
ci9vbnl4X2ludC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9vbnl4X2ludC5oCmluZGV4IDJm
MDY3MDJhMWRmMy4uYjk2ZjliMWRjNWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNv
ZGVyL29ueXhfaW50LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9vbnl4X2ludC5oCkBA
IC0xMSw5ICsxMSw3IEBACiAjaWZuZGVmIFZQWF9WUDhfRU5DT0RFUl9PTllYX0lOVF9IXwogI2Rl
ZmluZSBWUFhfVlA4X0VOQ09ERVJfT05ZWF9JTlRfSF8KIAotI2luY2x1ZGUgPGFzc2VydC5oPgog
I2luY2x1ZGUgPHN0ZGlvLmg+Ci0KICNpbmNsdWRlICJ2cHhfY29uZmlnLmgiCiAjaW5jbHVkZSAi
dnA4L2NvbW1vbi9vbnl4LmgiCiAjaW5jbHVkZSAidHJlZXdyaXRlci5oIgpAQCAtMzYwLDcgKzM1
OCw3IEBAIHR5cGVkZWYgc3RydWN0IFZQOF9DT01QIHsKICAgLyogR0YgaW50ZXJ2YWwgY2hvc2Vu
IHdoZW4gd2UgY29kZWQgdGhlIGxhc3QgR0YgKi8KICAgaW50IGN1cnJlbnRfZ2ZfaW50ZXJ2YWw7
CiAKLSAgLyogVG90YWwgYml0cyBvdmVyc3BlbnQgYmVjYXVzZSBvZiBHRiBib29zdCAoY3VtdWxh
dGl2ZSkgKi8KKyAgLyogVG90YWwgYml0cyBvdmVyc3BlbnQgYmVjYXN1ZSBvZiBHRiBib29zdCAo
Y3VtdWxhdGl2ZSkgKi8KICAgaW50IGdmX292ZXJzcGVuZF9iaXRzOwogCiAgIC8qIFVzZWQgaW4g
dGhlIGZldyBmcmFtZXMgZm9sbG93aW5nIGEgR0YgdG8gcmVjb3ZlciB0aGUgZXh0cmEgYml0cwpA
QCAtNDg1LDcgKzQ4Myw3IEBAIHR5cGVkZWYgc3RydWN0IFZQOF9DT01QIHsKIAogICB1bnNpZ25l
ZCBjaGFyICpzZWdtZW50YXRpb25fbWFwOwogICBzaWduZWQgY2hhciBzZWdtZW50X2ZlYXR1cmVf
ZGF0YVtNQl9MVkxfTUFYXVtNQVhfTUJfU0VHTUVOVFNdOwotICB1bnNpZ25lZCBpbnQgc2VnbWVu
dF9lbmNvZGVfYnJlYWtvdXRbTUFYX01CX1NFR01FTlRTXTsKKyAgaW50IHNlZ21lbnRfZW5jb2Rl
X2JyZWFrb3V0W01BWF9NQl9TRUdNRU5UU107CiAKICAgdW5zaWduZWQgY2hhciAqYWN0aXZlX21h
cDsKICAgdW5zaWduZWQgaW50IGFjdGl2ZV9tYXBfZW5hYmxlZDsKQEAgLTUyNiw3ICs1MjQsNiBA
QCB0eXBlZGVmIHN0cnVjdCBWUDhfQ09NUCB7CiAjaWYgQ09ORklHX01VTFRJVEhSRUFECiAgIC8q
IG11bHRpdGhyZWFkIGRhdGEgKi8KICAgdnB4X2F0b21pY19pbnQgKm10X2N1cnJlbnRfbWJfY29s
OwotICBpbnQgbXRfY3VycmVudF9tYl9jb2xfc2l6ZTsKICAgaW50IG10X3N5bmNfcmFuZ2U7CiAg
IHZweF9hdG9taWNfaW50IGJfbXVsdGlfdGhyZWFkZWQ7CiAgIGludCBlbmNvZGluZ190aHJlYWRf
Y291bnQ7CkBAIC01NTIsNiArNTQ5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVlA4X0NPTVAgewogICB1
bnNpZ25lZCBjaGFyICpwYXJ0aXRpb25fZF9lbmRbTUFYX1BBUlRJVElPTlNdOwogCiAgIGZyYWN0
aW9uYWxfbXZfc3RlcF9mcCAqZmluZF9mcmFjdGlvbmFsX212X3N0ZXA7CisgIHZwOF9mdWxsX3Nl
YXJjaF9mbl90IGZ1bGxfc2VhcmNoX3NhZDsKICAgdnA4X3JlZmluaW5nX3NlYXJjaF9mbl90IHJl
ZmluaW5nX3NlYXJjaF9zYWQ7CiAgIHZwOF9kaWFtb25kX3NlYXJjaF9mbl90IGRpYW1vbmRfc2Vh
cmNoX3NhZDsKICAgdnA4X3ZhcmlhbmNlX2ZuX3B0cl90IGZuX3B0cltCTE9DS19NQVhfU0VHTUVO
VFNdOwpAQCAtNzA0LDI0ICs3MDIsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgVlA4X0NPTVAgewogICBp
bnQgdXNlX3JvaV9zdGF0aWNfdGhyZXNob2xkOwogCiAgIGludCBleHRfcmVmcmVzaF9mcmFtZV9m
bGFnc19wZW5kaW5nOwotCi0gIC8vIEFsd2F5cyB1cGRhdGUgY29ycmVjdGlvbiBmYWN0b3IgdXNl
ZCBmb3IgcmF0ZSBjb250cm9sIGFmdGVyIGVhY2ggZnJhbWUgZm9yCi0gIC8vIHJlYWx0aW1lIGVu
Y29kaW5nLgotICBpbnQgcnRfYWx3YXlzX3VwZGF0ZV9jb3JyZWN0aW9uX2ZhY3RvcjsKIH0gVlA4
X0NPTVA7CiAKIHZvaWQgdnA4X2luaXRpYWxpemVfZW5jKHZvaWQpOwogCiB2b2lkIHZwOF9hbGxv
Y19jb21wcmVzc29yX2RhdGEoVlA4X0NPTVAgKmNwaSk7CiBpbnQgdnA4X3JldmVyc2VfdHJhbnMo
aW50IHgpOwotdm9pZCB2cDhfcmVzZXRfdGVtcG9yYWxfbGF5ZXJfY2hhbmdlKFZQOF9DT01QICpj
cGksIGNvbnN0IFZQOF9DT05GSUcgKm94Y2YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50IHByZXZfbnVtX2xheWVycyk7Ci12b2lkIHZwOF9pbml0X3RlbXBv
cmFsX2xheWVyX2NvbnRleHQoVlA4X0NPTVAgKmNwaSwgY29uc3QgVlA4X0NPTkZJRyAqb3hjZiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgbGF5ZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHByZXZfbGF5ZXJfZnJh
bWVyYXRlKTsKLXZvaWQgdnA4X3VwZGF0ZV9sYXllcl9jb250ZXh0cyhWUDhfQ09NUCAqY3BpKTsK
LXZvaWQgdnA4X3NhdmVfbGF5ZXJfY29udGV4dChWUDhfQ09NUCAqY3BpKTsKLXZvaWQgdnA4X3Jl
c3RvcmVfbGF5ZXJfY29udGV4dChWUDhfQ09NUCAqY3BpLCBjb25zdCBpbnQgbGF5ZXIpOwogdm9p
ZCB2cDhfbmV3X2ZyYW1lcmF0ZShWUDhfQ09NUCAqY3BpLCBkb3VibGUgZnJhbWVyYXRlKTsKIHZv
aWQgdnA4X2xvb3BmaWx0ZXJfZnJhbWUoVlA4X0NPTVAgKmNwaSwgVlA4X0NPTU1PTiAqY20pOwog
CkBAIC03MzIsNiArNzE4LDI0IEBAIHZvaWQgdnA4X3Rva2VuaXplX21iKFZQOF9DT01QICosIE1B
Q1JPQkxPQ0sgKiwgVE9LRU5FWFRSQSAqKik7CiAKIHZvaWQgdnA4X3NldF9zcGVlZF9mZWF0dXJl
cyhWUDhfQ09NUCAqY3BpKTsKIAorI2lmIENPTkZJR19ERUJVRworI2RlZmluZSBDSEVDS19NRU1f
RVJST1IobHZhbCwgZXhwcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKGx2YWwpID0gKGV4cHIpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmICgh
KGx2YWwpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgIHZweF9pbnRlcm5hbF9lcnJvcigmY3BpLT5jb21tb24uZXJyb3Is
IFZQWF9DT0RFQ19NRU1fRVJST1IsICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIkZhaWxlZCB0byBhbGxvY2F0ZSAiICNsdmFsICIgYXQgJXM6JWQiLCBfX0ZJTEVfXywgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgIF9fTElORV9fKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgfSB3aGlsZSAoMCkKKyNlbHNlCisjZGVmaW5lIENIRUNL
X01FTV9FUlJPUihsdmFsLCBleHByKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
IGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgKGx2YWwpID0gKGV4cHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKCEobHZhbCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2cHhfaW50ZXJuYWxfZXJy
b3IoJmNwaS0+Y29tbW9uLmVycm9yLCBWUFhfQ09ERUNfTUVNX0VSUk9SLCBcCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSAiICNsdmFsKTsgICAgICAgICAgICBc
CisgIH0gd2hpbGUgKDApCisjZW5kaWYKICNpZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0ZXJu
ICJDIgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3BpY2tpbnRl
ci5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9waWNraW50ZXIuYwppbmRleCAxYWY4YTJmOWIy
YTIuLjA0ZjY4YzMyNDU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci9waWNr
aW50ZXIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3BpY2tpbnRlci5jCkBAIC0xMTAz
LDcgKzExMDMsNyBAQCB2b2lkIHZwOF9waWNrX2ludGVyX21vZGUoVlA4X0NPTVAgKmNwaSwgTUFD
Uk9CTE9DSyAqeCwgaW50IHJlY29uX3lvZmZzZXQsCiAjaWYgQ09ORklHX1RFTVBPUkFMX0RFTk9J
U0lORwogICAgIGlmIChjcGktPm94Y2Yubm9pc2Vfc2Vuc2l0aXZpdHkpIHsKICAgICAgIC8qIFN0
b3JlIGZvciBsYXRlciB1c2UgYnkgZGVub2lzZXIuICovCi0gICAgICAvLyBEb24ndCBkZW5vaXNl
IHdpdGggR09MREVOIE9SIEFMVFJFRiBpcyB0aGV5IGFyZSBvbGQgcmVmZXJlbmNlCisgICAgICAv
LyBEb250JyBkZW5vaXNlIHdpdGggR09MREVOIE9SIEFMVFJFRiBpcyB0aGV5IGFyZSBvbGQgcmVm
ZXJlbmNlCiAgICAgICAvLyBmcmFtZXMgKGdyZWF0ZXIgdGhhbiBNQVhfR0ZfQVJGX0RFTk9JU0Vf
UkFOR0UgZnJhbWVzIGluIHBhc3QpLgogICAgICAgaW50IHNraXBfb2xkX3JlZmVyZW5jZSA9ICgo
dGhpc19yZWZfZnJhbWUgIT0gTEFTVF9GUkFNRSkgJiYKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGNwaS0+Y29tbW9uLmN1cnJlbnRfdmlkZW9fZnJhbWUgLQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci9yYXRlY3RybC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rl
ci9yYXRlY3RybC5jCmluZGV4IDZmMTQzMjJmZGM4ZS4uYmExMjRjMzU5ZTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3JhdGVjdHJsLmMKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
ZW5jb2Rlci9yYXRlY3RybC5jCkBAIC0zMTQsNyArMzE0LDcgQEAgc3RhdGljIHZvaWQgY2FsY19p
ZnJhbWVfdGFyZ2V0X3NpemUoVlA4X0NPTVAgKmNwaSkgewogICAgICAqIGJhbmR3aWR0aCBwZXIg
c2Vjb25kICogZnJhY3Rpb24gb2YgdGhlIGluaXRpYWwgYnVmZmVyCiAgICAgICogbGV2ZWwKICAg
ICAgKi8KLSAgICB0YXJnZXQgPSAodWludDY0X3QpY3BpLT5veGNmLnN0YXJ0aW5nX2J1ZmZlcl9s
ZXZlbCAvIDI7CisgICAgdGFyZ2V0ID0gY3BpLT5veGNmLnN0YXJ0aW5nX2J1ZmZlcl9sZXZlbCAv
IDI7CiAKICAgICBpZiAodGFyZ2V0ID4gY3BpLT5veGNmLnRhcmdldF9iYW5kd2lkdGggKiAzIC8g
MikgewogICAgICAgdGFyZ2V0ID0gY3BpLT5veGNmLnRhcmdldF9iYW5kd2lkdGggKiAzIC8gMjsK
QEAgLTMyNyw4ICszMjcsNyBAQCBzdGF0aWMgdm9pZCBjYWxjX2lmcmFtZV90YXJnZXRfc2l6ZShW
UDhfQ09NUCAqY3BpKSB7CiAgICAgaW50IGluaXRpYWxfYm9vc3QgPSAzMjsgLyogfDMuMCAqIHBl
cl9mcmFtZV9iYW5kd2lkdGh8ICovCiAgICAgLyogQm9vc3QgZGVwZW5kcyBzb21ld2hhdCBvbiBm
cmFtZSByYXRlOiBvbmx5IHVzZWQgZm9yIDEgbGF5ZXIgY2FzZS4gKi8KICAgICBpZiAoY3BpLT5v
eGNmLm51bWJlcl9vZl9sYXllcnMgPT0gMSkgewotICAgICAga2ZfYm9vc3QgPQotICAgICAgICAg
IFZQWE1BWChpbml0aWFsX2Jvb3N0LCAoaW50KXJvdW5kKDIgKiBjcGktPm91dHB1dF9mcmFtZXJh
dGUgLSAxNikpOworICAgICAga2ZfYm9vc3QgPSBWUFhNQVgoaW5pdGlhbF9ib29zdCwgKGludCko
MiAqIGNwaS0+b3V0cHV0X2ZyYW1lcmF0ZSAtIDE2KSk7CiAgICAgfSBlbHNlIHsKICAgICAgIC8q
IEluaXRpYWwgZmFjdG9yOiBzZXQgdGFyZ2V0IHNpemUgdG86IHwzLjAgKiBwZXJfZnJhbWVfYmFu
ZHdpZHRofC4gKi8KICAgICAgIGtmX2Jvb3N0ID0gaW5pdGlhbF9ib29zdDsKQEAgLTM0NiwxNyAr
MzQ1LDEyIEBAIHN0YXRpYyB2b2lkIGNhbGNfaWZyYW1lX3RhcmdldF9zaXplKFZQOF9DT01QICpj
cGkpIHsKICAgICAvKiBNaW5pbWFsIHRhcmdldCBzaXplIGlzIHwyKiBwZXJfZnJhbWVfYmFuZHdp
ZHRofC4gKi8KICAgICBpZiAoa2ZfYm9vc3QgPCAxNikga2ZfYm9vc3QgPSAxNjsKIAotICAgIHRh
cmdldCA9ICgodWludDY0X3QpKDE2ICsga2ZfYm9vc3QpICogY3BpLT5wZXJfZnJhbWVfYmFuZHdp
ZHRoKSA+PiA0OwotICAgIHRhcmdldCA9IFZQWE1JTihJTlRfTUFYLCB0YXJnZXQpOworICAgIHRh
cmdldCA9ICgoMTYgKyBrZl9ib29zdCkgKiBjcGktPnBlcl9mcmFtZV9iYW5kd2lkdGgpID4+IDQ7
CiAgIH0KIAogICBpZiAoY3BpLT5veGNmLnJjX21heF9pbnRyYV9iaXRyYXRlX3BjdCkgewotICAg
IHVuc2lnbmVkIGludCBtYXhfcmF0ZTsKLSAgICAvLyBUaGlzIHByb2R1Y3QgbWF5IG92ZXJmbG93
IHVuc2lnbmVkIGludAotICAgIHVpbnQ2NF90IHByb2R1Y3QgPSBjcGktPnBlcl9mcmFtZV9iYW5k
d2lkdGg7Ci0gICAgcHJvZHVjdCAqPSBjcGktPm94Y2YucmNfbWF4X2ludHJhX2JpdHJhdGVfcGN0
OwotICAgIHByb2R1Y3QgLz0gMTAwOwotICAgIG1heF9yYXRlID0gKHVuc2lnbmVkIGludClWUFhN
SU4oSU5UX01BWCwgcHJvZHVjdCk7CisgICAgdW5zaWduZWQgaW50IG1heF9yYXRlID0KKyAgICAg
ICAgY3BpLT5wZXJfZnJhbWVfYmFuZHdpZHRoICogY3BpLT5veGNmLnJjX21heF9pbnRyYV9iaXRy
YXRlX3BjdCAvIDEwMDsKIAogICAgIGlmICh0YXJnZXQgPiBtYXhfcmF0ZSkgdGFyZ2V0ID0gbWF4
X3JhdGU7CiAgIH0KQEAgLTM4OSw3ICszODMsNyBAQCBzdGF0aWMgdm9pZCBjYWxjX2dmX3BhcmFt
cyhWUDhfQ09NUCAqY3BpKSB7CiAgICAgICAoY3BpLT5veGNmLmZpeGVkX3EgPCAwKSA/IGNwaS0+
bGFzdF9xW0lOVEVSX0ZSQU1FXSA6IGNwaS0+b3hjZi5maXhlZF9xOwogICBpbnQgQm9vc3QgPSAw
OwogCi0gIGludCBnZl9mcmFtZV91c2FnZSA9IDA7IC8qIEdvbGRlbiBmcmFtZSB1c2FnZSBzaW5j
ZSBsYXN0IEdGICovCisgIGludCBnZl9mcmFtZV91c2VhZ2UgPSAwOyAvKiBHb2xkZW4gZnJhbWUg
dXNlYWdlIHNpbmNlIGxhc3QgR0YgKi8KICAgaW50IHRvdF9tYnMgPSBjcGktPnJlY2VudF9yZWZf
ZnJhbWVfdXNhZ2VbSU5UUkFfRlJBTUVdICsKICAgICAgICAgICAgICAgICBjcGktPnJlY2VudF9y
ZWZfZnJhbWVfdXNhZ2VbTEFTVF9GUkFNRV0gKwogICAgICAgICAgICAgICAgIGNwaS0+cmVjZW50
X3JlZl9mcmFtZV91c2FnZVtHT0xERU5fRlJBTUVdICsKQEAgLTM5OSwxMiArMzkzLDEyIEBAIHN0
YXRpYyB2b2lkIGNhbGNfZ2ZfcGFyYW1zKFZQOF9DT01QICpjcGkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAoY3BpLT5jb21tb24ubWJfcm93cyAqIGNwaS0+Y29tbW9uLm1iX2NvbHMpOwogCiAg
IGlmICh0b3RfbWJzKSB7Ci0gICAgZ2ZfZnJhbWVfdXNhZ2UgPSAoY3BpLT5yZWNlbnRfcmVmX2Zy
YW1lX3VzYWdlW0dPTERFTl9GUkFNRV0gKwotICAgICAgICAgICAgICAgICAgICAgIGNwaS0+cmVj
ZW50X3JlZl9mcmFtZV91c2FnZVtBTFRSRUZfRlJBTUVdKSAqCi0gICAgICAgICAgICAgICAgICAg
ICAxMDAgLyB0b3RfbWJzOworICAgIGdmX2ZyYW1lX3VzZWFnZSA9IChjcGktPnJlY2VudF9yZWZf
ZnJhbWVfdXNhZ2VbR09MREVOX0ZSQU1FXSArCisgICAgICAgICAgICAgICAgICAgICAgIGNwaS0+
cmVjZW50X3JlZl9mcmFtZV91c2FnZVtBTFRSRUZfRlJBTUVdKSAqCisgICAgICAgICAgICAgICAg
ICAgICAgMTAwIC8gdG90X21iczsKICAgfQogCi0gIGlmIChwY3RfZ2ZfYWN0aXZlID4gZ2ZfZnJh
bWVfdXNhZ2UpIGdmX2ZyYW1lX3VzYWdlID0gcGN0X2dmX2FjdGl2ZTsKKyAgaWYgKHBjdF9nZl9h
Y3RpdmUgPiBnZl9mcmFtZV91c2VhZ2UpIGdmX2ZyYW1lX3VzZWFnZSA9IHBjdF9nZl9hY3RpdmU7
CiAKICAgLyogTm90IHR3byBwYXNzICovCiAgIGlmIChjcGktPnBhc3MgIT0gMikgewpAQCAtNDY4
LDcgKzQ2Miw3IEBAIHN0YXRpYyB2b2lkIGNhbGNfZ2ZfcGFyYW1zKFZQOF9DT01QICpjcGkpIHsK
ICAgICAgIC8qIEFkanVzdCBib29zdCBiYXNlZCB1cG9uIGFtYmllbnQgUSAqLwogICAgICAgQm9v
c3QgPSBHRlFfQURKVVNUTUVOVDsKIAotICAgICAgLyogQWRqdXN0IGJhc2VkIHVwb24gbW9zdCBy
ZWNlbnRseSBtZWFzdXJlIGludHJhIHVzYWdlICovCisgICAgICAvKiBBZGp1c3QgYmFzZWQgdXBv
biBtb3N0IHJlY2VudGx5IG1lYXN1cmUgaW50cmEgdXNlYWdlICovCiAgICAgICBCb29zdCA9IEJv
b3N0ICoKICAgICAgICAgICAgICAgZ2ZfaW50cmFfdXNhZ2VfYWRqdXN0bWVudFsoY3BpLT50aGlz
X2ZyYW1lX3BlcmNlbnRfaW50cmEgPCAxNSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPyBjcGktPnRoaXNfZnJhbWVfcGVyY2VudF9pbnRyYQpAQCAtNDc2LDcg
KzQ3MCw3IEBAIHN0YXRpYyB2b2lkIGNhbGNfZ2ZfcGFyYW1zKFZQOF9DT01QICpjcGkpIHsKICAg
ICAgICAgICAgICAgMTAwOwogCiAgICAgICAvKiBBZGp1c3QgZ2YgYm9vc3QgYmFzZWQgdXBvbiBH
RiB1c2FnZSBzaW5jZSBsYXN0IEdGICovCi0gICAgICBCb29zdCA9IEJvb3N0ICogZ2ZfYWRqdXN0
X3RhYmxlW2dmX2ZyYW1lX3VzYWdlXSAvIDEwMDsKKyAgICAgIEJvb3N0ID0gQm9vc3QgKiBnZl9h
ZGp1c3RfdGFibGVbZ2ZfZnJhbWVfdXNlYWdlXSAvIDEwMDsKICNlbmRpZgogICAgIH0KIApAQCAt
NTE3LDggKzUxMSw4IEBAIHN0YXRpYyB2b2lkIGNhbGNfZ2ZfcGFyYW1zKFZQOF9DT01QICpjcGkp
IHsKIAogICAgICAgaWYgKGNwaS0+bGFzdF9ib29zdCA+PSAxNTAwKSBjcGktPmZyYW1lc190aWxs
X2dmX3VwZGF0ZV9kdWUrKzsKIAotICAgICAgaWYgKGdmX2ludGVydmFsX3RhYmxlW2dmX2ZyYW1l
X3VzYWdlXSA+IGNwaS0+ZnJhbWVzX3RpbGxfZ2ZfdXBkYXRlX2R1ZSkgewotICAgICAgICBjcGkt
PmZyYW1lc190aWxsX2dmX3VwZGF0ZV9kdWUgPSBnZl9pbnRlcnZhbF90YWJsZVtnZl9mcmFtZV91
c2FnZV07CisgICAgICBpZiAoZ2ZfaW50ZXJ2YWxfdGFibGVbZ2ZfZnJhbWVfdXNlYWdlXSA+IGNw
aS0+ZnJhbWVzX3RpbGxfZ2ZfdXBkYXRlX2R1ZSkgeworICAgICAgICBjcGktPmZyYW1lc190aWxs
X2dmX3VwZGF0ZV9kdWUgPSBnZl9pbnRlcnZhbF90YWJsZVtnZl9mcmFtZV91c2VhZ2VdOwogICAg
ICAgfQogCiAgICAgICBpZiAoY3BpLT5mcmFtZXNfdGlsbF9nZl91cGRhdGVfZHVlID4gY3BpLT5t
YXhfZ2ZfaW50ZXJ2YWwpIHsKQEAgLTc4Miw3ICs3NzYsNiBAQCBzdGF0aWMgdm9pZCBjYWxjX3Bm
cmFtZV90YXJnZXRfc2l6ZShWUDhfQ09NUCAqY3BpKSB7CiAgICAgICAgIH0KICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgIGludCBwZXJjZW50X2hpZ2ggPSAwOwotICAgICAgICBpbnQ2NF90IHRhcmdl
dCA9IGNwaS0+dGhpc19mcmFtZV90YXJnZXQ7CiAKICAgICAgICAgaWYgKChjcGktPm94Y2YuZW5k
X3VzYWdlID09IFVTQUdFX1NUUkVBTV9GUk9NX1NFUlZFUikgJiYKICAgICAgICAgICAgIChjcGkt
PmJ1ZmZlcl9sZXZlbCA+IGNwaS0+b3hjZi5vcHRpbWFsX2J1ZmZlcl9sZXZlbCkpIHsKQEAgLTgw
MCw5ICs3OTMsNyBAQCBzdGF0aWMgdm9pZCBjYWxjX3BmcmFtZV90YXJnZXRfc2l6ZShWUDhfQ09N
UCAqY3BpKSB7CiAgICAgICAgICAgcGVyY2VudF9oaWdoID0gMDsKICAgICAgICAgfQogCi0gICAg
ICAgIHRhcmdldCArPSAodGFyZ2V0ICogcGVyY2VudF9oaWdoKSAvIDIwMDsKLSAgICAgICAgdGFy
Z2V0ID0gVlBYTUlOKHRhcmdldCwgSU5UX01BWCk7Ci0gICAgICAgIGNwaS0+dGhpc19mcmFtZV90
YXJnZXQgPSAoaW50KXRhcmdldDsKKyAgICAgICAgY3BpLT50aGlzX2ZyYW1lX3RhcmdldCArPSAo
Y3BpLT50aGlzX2ZyYW1lX3RhcmdldCAqIHBlcmNlbnRfaGlnaCkgLyAyMDA7CiAKICAgICAgICAg
LyogQXJlIHdlIGFsbG93aW5nIGNvbnRyb2wgb2YgYWN0aXZlX3dvcnN0X2FsbG93ZWRfcSBhY2Nv
cmRpbmcKICAgICAgICAgICogdG8gYnVmZmVyIGxldmVsLgpAQCAtODk2LDcgKzg4Nyw3IEBAIHN0
YXRpYyB2b2lkIGNhbGNfcGZyYW1lX3RhcmdldF9zaXplKFZQOF9DT01QICpjcGkpIHsKICAgICAg
IGludCBRID0gKGNwaS0+b3hjZi5maXhlZF9xIDwgMCkgPyBjcGktPmxhc3RfcVtJTlRFUl9GUkFN
RV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjcGktPm94Y2YuZml4
ZWRfcTsKIAotICAgICAgaW50IGdmX2ZyYW1lX3VzYWdlID0gMDsgLyogR29sZGVuIGZyYW1lIHVz
YWdlIHNpbmNlIGxhc3QgR0YgKi8KKyAgICAgIGludCBnZl9mcmFtZV91c2VhZ2UgPSAwOyAvKiBH
b2xkZW4gZnJhbWUgdXNlYWdlIHNpbmNlIGxhc3QgR0YgKi8KICAgICAgIGludCB0b3RfbWJzID0g
Y3BpLT5yZWNlbnRfcmVmX2ZyYW1lX3VzYWdlW0lOVFJBX0ZSQU1FXSArCiAgICAgICAgICAgICAg
ICAgICAgIGNwaS0+cmVjZW50X3JlZl9mcmFtZV91c2FnZVtMQVNUX0ZSQU1FXSArCiAgICAgICAg
ICAgICAgICAgICAgIGNwaS0+cmVjZW50X3JlZl9mcmFtZV91c2FnZVtHT0xERU5fRlJBTUVdICsK
QEAgLTkwNiwyMCArODk3LDIwIEBAIHN0YXRpYyB2b2lkIGNhbGNfcGZyYW1lX3RhcmdldF9zaXpl
KFZQOF9DT01QICpjcGkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNwaS0+Y29tbW9u
Lm1iX3Jvd3MgKiBjcGktPmNvbW1vbi5tYl9jb2xzKTsKIAogICAgICAgaWYgKHRvdF9tYnMpIHsK
LSAgICAgICAgZ2ZfZnJhbWVfdXNhZ2UgPSAoY3BpLT5yZWNlbnRfcmVmX2ZyYW1lX3VzYWdlW0dP
TERFTl9GUkFNRV0gKwotICAgICAgICAgICAgICAgICAgICAgICAgICBjcGktPnJlY2VudF9yZWZf
ZnJhbWVfdXNhZ2VbQUxUUkVGX0ZSQU1FXSkgKgotICAgICAgICAgICAgICAgICAgICAgICAgIDEw
MCAvIHRvdF9tYnM7CisgICAgICAgIGdmX2ZyYW1lX3VzZWFnZSA9IChjcGktPnJlY2VudF9yZWZf
ZnJhbWVfdXNhZ2VbR09MREVOX0ZSQU1FXSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICBj
cGktPnJlY2VudF9yZWZfZnJhbWVfdXNhZ2VbQUxUUkVGX0ZSQU1FXSkgKgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAxMDAgLyB0b3RfbWJzOwogICAgICAgfQogCi0gICAgICBpZiAocGN0X2dm
X2FjdGl2ZSA+IGdmX2ZyYW1lX3VzYWdlKSBnZl9mcmFtZV91c2FnZSA9IHBjdF9nZl9hY3RpdmU7
CisgICAgICBpZiAocGN0X2dmX2FjdGl2ZSA+IGdmX2ZyYW1lX3VzZWFnZSkgZ2ZfZnJhbWVfdXNl
YWdlID0gcGN0X2dmX2FjdGl2ZTsKIAogICAgICAgLyogSXMgYSBmaXhlZCBtYW51YWwgR0YgZnJl
cXVlbmN5IGJlaW5nIHVzZWQgKi8KICAgICAgIGlmIChjcGktPmF1dG9fZ29sZCkgewotICAgICAg
ICAvKiBGb3Igb25lIHBhc3MgdGhyb3cgYSBHRiBpZiByZWNlbnQgZnJhbWUgaW50cmEgdXNhZ2Ug
aXMKLSAgICAgICAgICogbG93IG9yIHRoZSBHRiB1c2FnZSBpcyBoaWdoCisgICAgICAgIC8qIEZv
ciBvbmUgcGFzcyB0aHJvdyBhIEdGIGlmIHJlY2VudCBmcmFtZSBpbnRyYSB1c2VhZ2UgaXMKKyAg
ICAgICAgICogbG93IG9yIHRoZSBHRiB1c2VhZ2UgaXMgaGlnaAogICAgICAgICAgKi8KICAgICAg
ICAgaWYgKChjcGktPnBhc3MgPT0gMCkgJiYKLSAgICAgICAgICAgIChjcGktPnRoaXNfZnJhbWVf
cGVyY2VudF9pbnRyYSA8IDE1IHx8IGdmX2ZyYW1lX3VzYWdlID49IDUpKSB7CisgICAgICAgICAg
ICAoY3BpLT50aGlzX2ZyYW1lX3BlcmNlbnRfaW50cmEgPCAxNSB8fCBnZl9mcmFtZV91c2VhZ2Ug
Pj0gNSkpIHsKICAgICAgICAgICBjcGktPmNvbW1vbi5yZWZyZXNoX2dvbGRlbl9mcmFtZSA9IDE7
CiAKICAgICAgICAgICAvKiBUd28gcGFzcyBHRiBkZXNjaXNpb24gKi8KQEAgLTkzNCwxMCArOTI1
LDEwIEBAIHN0YXRpYyB2b2lkIGNhbGNfcGZyYW1lX3RhcmdldF9zaXplKFZQOF9DT01QICpjcGkp
IHsKICAgICAgICAgICBpZiAoMCkgewogICAgICAgICAgICAgICBGSUxFICpmOwogCi0gICAgICAg
ICAgICAgIGYgPSBmb3BlbigiZ2ZfdXNhZ2V0LnN0dCIsICJhIik7CisgICAgICAgICAgICAgIGYg
PSBmb3BlbigiZ2ZfdXNlYWdldC5zdHQiLCAiYSIpOwogICAgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgJThsZCAlMTBsZCAlMTBsZCAlMTBsZCAlMTBsZFxuIiwKICAgICAgICAgICAgICAgICAgICAg
ICBjcGktPmNvbW1vbi5jdXJyZW50X3ZpZGVvX2ZyYW1lLCAgY3BpLT5nZnVfYm9vc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgR0ZRX0FESlVTVE1FTlQsIGNwaS0+Z2Z1X2Jvb3N0LCBnZl9mcmFt
ZV91c2FnZSk7CisgICAgICAgICAgICAgICAgICAgICAgR0ZRX0FESlVTVE1FTlQsIGNwaS0+Z2Z1
X2Jvb3N0LCBnZl9mcmFtZV91c2VhZ2UpOwogICAgICAgICAgICAgICBmY2xvc2UoZik7CiAgICAg
ICAgICAgfQogCkBAIC0xMDgzLDggKzEwNzQsOCBAQCB2b2lkIHZwOF91cGRhdGVfcmF0ZV9jb3Jy
ZWN0aW9uX2ZhY3RvcnMoVlA4X0NPTVAgKmNwaSwgaW50IGRhbXBfdmFyKSB7CiAKICAgLyogV29y
ayBvdXQgYSBzaXplIGNvcnJlY3Rpb24gZmFjdG9yLiAqLwogICBpZiAocHJvamVjdGVkX3NpemVf
YmFzZWRfb25fcSA+IDApIHsKLSAgICBjb3JyZWN0aW9uX2ZhY3RvciA9IChpbnQpKCgxMDAgKiAo
aW50NjRfdCljcGktPnByb2plY3RlZF9mcmFtZV9zaXplKSAvCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwcm9qZWN0ZWRfc2l6ZV9iYXNlZF9vbl9xKTsKKyAgICBjb3JyZWN0aW9uX2Zh
Y3RvciA9CisgICAgICAgICgxMDAgKiBjcGktPnByb2plY3RlZF9mcmFtZV9zaXplKSAvIHByb2pl
Y3RlZF9zaXplX2Jhc2VkX29uX3E7CiAgIH0KIAogICAvKiBNb3JlIGhlYXZpbHkgZGFtcGVkIGFk
anVzdG1lbnQgdXNlZCBpZiB3ZSBoYXZlIGJlZW4gb3NjaWxsYXRpbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L2VuY29kZXIvcmRvcHQuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvcmRv
cHQuYwppbmRleCA1ZDUzOWVmMzBjYjYuLjc5YTg1OGU0MzcwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDgvZW5jb2Rlci9yZG9wdC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvcmRv
cHQuYwpAQCAtMTAyMSw3ICsxMDIxLDcgQEAgc3RhdGljIHZvaWQgcmRfY2hlY2tfc2VnbWVudChW
UDhfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBCRVNUX1NFR19JTkZPICpic2ksCiAgICAgICAg
IEJMT0NLICpjOwogICAgICAgICBCTE9DS0QgKmU7CiAKLSAgICAgICAgLyogSXMgdGhlIGJlc3Qg
c28gZmFyIHN1ZmZpY2llbnRseSBnb29kIHRoYXQgd2UgY2FuJ3QganVzdGlmeQorICAgICAgICAv
KiBJcyB0aGUgYmVzdCBzbyBmYXIgc3VmZmljaWVudGx5IGdvb2QgdGhhdCB3ZSBjYW50IGp1c3Rp
ZnkKICAgICAgICAgICogZG9pbmcgYSBuZXcgbW90aW9uIHNlYXJjaC4KICAgICAgICAgICovCiAg
ICAgICAgIGlmIChiZXN0X2xhYmVsX3JkIDwgbGFiZWxfbXZfdGhyZXNoKSBicmVhazsKQEAgLTEw
OTcsOCArMTA5Nyw4IEBAIHN0YXRpYyB2b2lkIHJkX2NoZWNrX3NlZ21lbnQoVlA4X0NPTVAgKmNw
aSwgTUFDUk9CTE9DSyAqeCwgQkVTVF9TRUdfSU5GTyAqYnNpLAogICAgICAgICAgICAgdnA4X2Ns
YW1wX212KCZtdnBfZnVsbCwgeC0+bXZfY29sX21pbiwgeC0+bXZfY29sX21heCwgeC0+bXZfcm93
X21pbiwKICAgICAgICAgICAgICAgICAgICAgICAgICB4LT5tdl9yb3dfbWF4KTsKIAotICAgICAg
ICAgICAgdGhpc3NtZSA9IHZwOF9mdWxsX3NlYXJjaF9zYWQoeCwgYywgZSwgJm12cF9mdWxsLCBz
YWRwYiwgMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X2Zu
X3B0ciwgeC0+bXZjb3N0LCBic2ktPnJlZl9tdik7CisgICAgICAgICAgICB0aGlzc21lID0gY3Bp
LT5mdWxsX3NlYXJjaF9zYWQoeCwgYywgZSwgJm12cF9mdWxsLCBzYWRwYiwgMTYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9mbl9wdHIsIHgtPm12Y29zdCwg
YnNpLT5yZWZfbXYpOwogCiAgICAgICAgICAgICBpZiAodGhpc3NtZSA8IGJlc3RzbWUpIHsKICAg
ICAgICAgICAgICAgYmVzdHNtZSA9IHRoaXNzbWU7CkBAIC0xNjA4LDcgKzE2MDgsNyBAQCBzdGF0
aWMgaW50IGV2YWx1YXRlX2ludGVyX21vZGVfcmQoaW50IG1kY291bnRzWzRdLCBSQVRFX0RJU1RP
UlRJT04gKnJkLAogICAgICAgdW5zaWduZWQgaW50IHEyZGMgPSB4ZC0+YmxvY2tbMjRdLmRlcXVh
bnRbMF07CiAgICAgICAvKiBJZiB0aGVyZXMgaXMgbm8gY29kZWFibGUgMm5kIG9yZGVyIGRjCiAg
ICAgICAgICBvciBhIHZlcnkgc21hbGwgdW5pZm9ybSBwaXhlbCBjaGFuZ2UgY2hhbmdlICovCi0g
ICAgICBpZiAoKHNzZSAtIHZhciA8IHEyZGMgKiBxMmRjID4+IDQpIHx8IChzc2UgLyAyID4gdmFy
ICYmIHNzZSAtIHZhciA8IDY0KSkgeworICAgICAgaWYgKChzc2UgLSB2YXI8cTJkYyAqIHEyZGM+
PiA0KSB8fCAoc3NlIC8gMiA+IHZhciAmJiBzc2UgLSB2YXIgPCA2NCkpIHsKICAgICAgICAgLyog
Q2hlY2sgdSBhbmQgdiB0byBtYWtlIHN1cmUgc2tpcCBpcyBvayAqLwogICAgICAgICB1bnNpZ25l
ZCBpbnQgc3NlMiA9IFZQOF9VVlNTRSh4KTsKICAgICAgICAgaWYgKHNzZTIgKiAyIDwgdGhyZXNo
b2xkKSB7CkBAIC0xOTc5LDcgKzE5NzksNyBAQCB2b2lkIHZwOF9yZF9waWNrX2ludGVyX21vZGUo
VlA4X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgaW50IHJlY29uX3lvZmZzZXQsCiAgICAgICAg
IHJkLmRpc3RvcnRpb24yICs9IGRpc3RvcnRpb247CiAKICAgICAgICAgLyogSWYgZXZlbiB0aGUg
J1knIHJkIHZhbHVlIG9mIHNwbGl0IGlzIGhpZ2hlciB0aGFuIGJlc3Qgc28gZmFyCi0gICAgICAg
ICAqIHRoZW4gZG9uJ3QgYm90aGVyIGxvb2tpbmcgYXQgVVYKKyAgICAgICAgICogdGhlbiBkb250
IGJvdGhlciBsb29raW5nIGF0IFVWCiAgICAgICAgICAqLwogICAgICAgICBpZiAodG1wX3JkIDwg
YmVzdF9tb2RlLnlyZCkgewogICAgICAgICAgIC8qIE5vdyB3b3JrIG91dCBVViBjb3N0IGFuZCBh
ZGQgaXQgaW4gKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0
aW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3NlZ21lbnRhdGlvbi5jCmluZGV4IDIxMjcy
NTgxMTFmNy4uZGNiNjgxMTllMWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVy
L3NlZ21lbnRhdGlvbi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9u
LmMKQEAgLTExLDcgKzExLDcgQEAKICNpbmNsdWRlICJzZWdtZW50YXRpb24uaCIKICNpbmNsdWRl
ICJ2cHhfbWVtL3ZweF9tZW0uaCIKIAotdm9pZCB2cDhfdXBkYXRlX2dmX3VzYWdlX21hcHMoVlA4
X0NPTVAgKmNwaSwgVlA4X0NPTU1PTiAqY20sIE1BQ1JPQkxPQ0sgKngpIHsKK3ZvaWQgdnA4X3Vw
ZGF0ZV9nZl91c2VhZ2VfbWFwcyhWUDhfQ09NUCAqY3BpLCBWUDhfQ09NTU9OICpjbSwgTUFDUk9C
TE9DSyAqeCkgewogICBpbnQgbWJfcm93LCBtYl9jb2w7CiAKICAgTU9ERV9JTkZPICp0aGlzX21i
X21vZGVfaW5mbyA9IGNtLT5taTsKQEAgLTE5LDcgKzE5LDcgQEAgdm9pZCB2cDhfdXBkYXRlX2dm
X3VzYWdlX21hcHMoVlA4X0NPTVAgKmNwaSwgVlA4X0NPTU1PTiAqY20sIE1BQ1JPQkxPQ0sgKngp
IHsKICAgeC0+Z2ZfYWN0aXZlX3B0ciA9IChzaWduZWQgY2hhciAqKWNwaS0+Z2ZfYWN0aXZlX2Zs
YWdzOwogCiAgIGlmICgoY20tPmZyYW1lX3R5cGUgPT0gS0VZX0ZSQU1FKSB8fCAoY20tPnJlZnJl
c2hfZ29sZGVuX2ZyYW1lKSkgewotICAgIC8qIFJlc2V0IEdmIHVzYWdlIG1vbml0b3JzICovCisg
ICAgLyogUmVzZXQgR2YgdXNlYWdlIG1vbml0b3JzICovCiAgICAgbWVtc2V0KGNwaS0+Z2ZfYWN0
aXZlX2ZsYWdzLCAxLCAoY20tPm1iX3Jvd3MgKiBjbS0+bWJfY29scykpOwogICAgIGNwaS0+Z2Zf
YWN0aXZlX2NvdW50ID0gY20tPm1iX3Jvd3MgKiBjbS0+bWJfY29sczsKICAgfSBlbHNlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9uLmggYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL3NlZ21lbnRhdGlvbi5oCmluZGV4IDBmZWNmYzIyMTI4MS4uNGRkYmRi
YmQyNjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3NlZ21lbnRhdGlvbi5o
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIvc2VnbWVudGF0aW9uLmgKQEAgLTE5LDggKzE5
LDggQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLWV4dGVybiB2b2lkIHZwOF91cGRhdGVfZ2Zf
dXNhZ2VfbWFwcyhWUDhfQ09NUCAqY3BpLCBWUDhfQ09NTU9OICpjbSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBNQUNST0JMT0NLICp4KTsKK2V4dGVybiB2b2lkIHZwOF91
cGRhdGVfZ2ZfdXNlYWdlX21hcHMoVlA4X0NPTVAgKmNwaSwgVlA4X0NPTU1PTiAqY20sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BQ1JPQkxPQ0sgKngpOwogCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0gIC8vIGV4dGVybiAiQyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA4L2VuY29kZXIvdnA4X3F1YW50aXplLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3ZwOF9x
dWFudGl6ZS5jCmluZGV4IDhlNWUzMTgyNDFjMC4uNWI4OTU1NTEwODE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9lbmNvZGVyL3ZwOF9xdWFudGl6ZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4
L2VuY29kZXIvdnA4X3F1YW50aXplLmMKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIHZwOGN4X21i
X2luaXRfcXVhbnRpemVyKFZQOF9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsIGludCBva190b19z
a2lwKSB7CiAgIC8qIFNlbGVjdCB0aGUgYmFzZWxpbmUgTUIgUSBpbmRleC4gKi8KICAgaWYgKHhk
LT5zZWdtZW50YXRpb25fZW5hYmxlZCkgewogICAgIC8qIEFicyBWYWx1ZSAqLwotICAgIGlmICh4
ZC0+bWJfc2VnbWVudF9hYnNfZGVsdGEgPT0gU0VHTUVOVF9BQlNEQVRBKSB7CisgICAgaWYgKHhk
LT5tYl9zZWdlbWVudF9hYnNfZGVsdGEgPT0gU0VHTUVOVF9BQlNEQVRBKSB7CiAgICAgICBRSW5k
ZXggPSB4ZC0+c2VnbWVudF9mZWF0dXJlX2RhdGFbTUJfTFZMX0FMVF9RXQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW3hkLT5tb2RlX2luZm9fY29udGV4dC0+bWJtaS5z
ZWdtZW50X2lkXTsKICAgICAgIC8qIERlbHRhIFZhbHVlICovCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL3g4Ni9kZW5vaXNpbmdfc3NlMi5jIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5j
b2Rlci94ODYvZGVub2lzaW5nX3NzZTIuYwppbmRleCBmMzViOTMwMTY5MTkuLjg5Y2FkNTMzNTY3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci94ODYvZGVub2lzaW5nX3NzZTIu
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3g4Ni9kZW5vaXNpbmdfc3NlMi5jCkBAIC0z
MCw3ICszMCw3IEBAIHN0YXRpYyBJTkxJTkUgdW5zaWduZWQgaW50IGFic19zdW1fZGlmZl8xNngx
KF9fbTEyOGkgYWNjX2RpZmYpIHsKICAgICAgIF9tbV9hZGRfZXBpMzIoaGdfZmVfZGNfYmEsIF9t
bV9zcmxpX3NpMTI4KGhnX2ZlX2RjX2JhLCA4KSk7CiAgIGNvbnN0IF9fbTEyOGkgaGdmZWRjYmEg
PQogICAgICAgX21tX2FkZF9lcGkzMihoZ2ZlX2RjYmEsIF9tbV9zcmxpX3NpMTI4KGhnZmVfZGNi
YSwgNCkpOwotICB1bnNpZ25lZCBpbnQgc3VtX2RpZmYgPSAodW5zaWduZWQgaW50KWFicyhfbW1f
Y3Z0c2kxMjhfc2kzMihoZ2ZlZGNiYSkpOworICB1bnNpZ25lZCBpbnQgc3VtX2RpZmYgPSBhYnMo
X21tX2N2dHNpMTI4X3NpMzIoaGdmZWRjYmEpKTsKIAogICByZXR1cm4gc3VtX2RpZmY7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3g4Ni9xdWFudGl6ZV9zc2U0LmMgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC9lbmNvZGVyL3g4Ni9xdWFudGl6ZV9zc2U0LmMKaW5kZXggNGMyZDI0Y2My
NzgwLi4zODljMTY3MDVkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L2VuY29kZXIveDg2
L3F1YW50aXplX3NzZTQuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC9lbmNvZGVyL3g4Ni9xdWFudGl6
ZV9zc2U0LmMKQEAgLTExLDE3ICsxMSwyOCBAQAogI2luY2x1ZGUgPHNtbWludHJpbi5oPiAvKiBT
U0U0LjEgKi8KIAogI2luY2x1ZGUgIi4vdnA4X3J0Y2QuaCIKKyNpbmNsdWRlICJ2cDgvY29tbW9u
L2VudHJvcHkuaCIgLyogdnA4X2RlZmF1bHRfaW52X3ppZ196YWcgKi8KICNpbmNsdWRlICJ2cDgv
ZW5jb2Rlci9ibG9jay5oIgotI2luY2x1ZGUgInZweF9wb3J0cy9iaXRvcHMuaCIgLyogZ2V0X2xz
YiAqLwotI2luY2x1ZGUgInZweF9wb3J0cy9jb21waWxlcl9hdHRyaWJ1dGVzLmgiCiAKLS8vIFVu
c2lnbmVkIHNoaWZ0IG92ZXJmbG93IGlzIGRpc2FibGVkIGZvciB0aGUgdXNlIG9mIH4xVSA8PCBl
b2Igd2l0aCB5bWFzay4KLVZQWF9OT19VTlNJR05FRF9TSElGVF9DSEVDSyB2b2lkIHZwOF9yZWd1
bGFyX3F1YW50aXplX2Jfc3NlNF8xKEJMT0NLICpiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkxPQ0tEICpkKSB7Ci0gIGlu
dCBlb2IgPSAtMTsKKyNkZWZpbmUgU0VMRUNUX0VPQihpLCB6LCB4LCB5LCBxKSAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIHNob3J0IGJvb3N0ID0gKnpiaW5fYm9vc3RfcHRyOyAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAvKiBUZWNobmljYWxseSBfbW1fZXh0cmFjdF9l
cGkxNigpIHJldHVybnMgYW4gaW50OiAqLyBcCisgICAgLyogaHR0cHM6Ly9idWdzLmxsdm0ub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MTY1NyAqLyAgICAgXAorICAgIHNob3J0IHhfeiA9IChzaG9ydClf
bW1fZXh0cmFjdF9lcGkxNih4LCB6KTsgICAgICAgICAgIFwKKyAgICBzaG9ydCB5X3ogPSAoc2hv
cnQpX21tX2V4dHJhY3RfZXBpMTYoeSwgeik7ICAgICAgICAgICBcCisgICAgaW50IGNtcCA9ICh4
X3ogPCBib29zdCkgfCAoeV96ID09IDApOyAgICAgICAgICAgICAgICAgXAorICAgIHpiaW5fYm9v
c3RfcHRyKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAo
Y21wKSBicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
cSA9IF9tbV9pbnNlcnRfZXBpMTYocSwgeV96LCB6KTsgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGVvYiA9IGk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICB6YmluX2Jvb3N0X3B0ciA9IGItPnpydW5femJpbl9ib29zdDsgICAgICAgICAgICAg
ICAgICBcCisgIH0gd2hpbGUgKDApCisKK3ZvaWQgdnA4X3JlZ3VsYXJfcXVhbnRpemVfYl9zc2U0
XzEoQkxPQ0sgKmIsIEJMT0NLRCAqZCkgeworICBjaGFyIGVvYiA9IDA7CiAgIHNob3J0ICp6Ymlu
X2Jvb3N0X3B0ciA9IGItPnpydW5femJpbl9ib29zdDsKLSAgX19tMTI4aSB6YmluX2Jvb3N0MCA9
IF9tbV9sb2FkX3NpMTI4KChfX20xMjhpICopKHpiaW5fYm9vc3RfcHRyKSk7Ci0gIF9fbTEyOGkg
emJpbl9ib29zdDEgPSBfbW1fbG9hZF9zaTEyOCgoX19tMTI4aSAqKSh6YmluX2Jvb3N0X3B0ciAr
IDgpKTsKKwogICBfX20xMjhpIHgwLCB4MSwgeTAsIHkxLCB4X21pbnVzX3piaW4wLCB4X21pbnVz
X3piaW4xLCBkcWNvZWZmMCwgZHFjb2VmZjE7CiAgIF9fbTEyOGkgcXVhbnRfc2hpZnQwID0gX21t
X2xvYWRfc2kxMjgoKF9fbTEyOGkgKikoYi0+cXVhbnRfc2hpZnQpKTsKICAgX19tMTI4aSBxdWFu
dF9zaGlmdDEgPSBfbW1fbG9hZF9zaTEyOCgoX19tMTI4aSAqKShiLT5xdWFudF9zaGlmdCArIDgp
KTsKQEAgLTM2LDEyICs0Nyw4IEBAIFZQWF9OT19VTlNJR05FRF9TSElGVF9DSEVDSyB2b2lkIHZw
OF9yZWd1bGFyX3F1YW50aXplX2Jfc3NlNF8xKEJMT0NLICpiLAogICBfX20xMjhpIHF1YW50MSA9
IF9tbV9sb2FkX3NpMTI4KChfX20xMjhpICopKGItPnF1YW50ICsgOCkpOwogICBfX20xMjhpIGRl
cXVhbnQwID0gX21tX2xvYWRfc2kxMjgoKF9fbTEyOGkgKikoZC0+ZGVxdWFudCkpOwogICBfX20x
MjhpIGRlcXVhbnQxID0gX21tX2xvYWRfc2kxMjgoKF9fbTEyOGkgKikoZC0+ZGVxdWFudCArIDgp
KTsKLSAgX19tMTI4aSBxY29lZmYwLCBxY29lZmYxLCB0MCwgdDEsIHhfc2h1ZjAsIHhfc2h1ZjE7
Ci0gIHVpbnQzMl90IG1hc2ssIHltYXNrOwotICBERUNMQVJFX0FMSUdORUQoMTYsIHN0YXRpYyBj
b25zdCB1aW50OF90LAotICAgICAgICAgICAgICAgICAgemlnX3phZ19tYXNrWzE2XSkgPSB7IDAs
IDEsICA0LCAgOCwgIDUsIDIsICAzLCAgNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA5LCAxMiwgMTMsIDEwLCA3LCAxMSwgMTQsIDE1IH07Ci0gIERFQ0xBUkVfQUxJ
R05FRCgxNiwgdWludDE2X3QsIHFjb2VmZlsxNl0pID0geyAwIH07CisgIF9fbTEyOGkgcWNvZWZm
MCA9IF9tbV9zZXR6ZXJvX3NpMTI4KCk7CisgIF9fbTEyOGkgcWNvZWZmMSA9IF9tbV9zZXR6ZXJv
X3NpMTI4KCk7CiAKICAgLyogRHVwbGljYXRlIHRvIGFsbCBsYW5lcy4gKi8KICAgemJpbl9leHRy
YSA9IF9tbV9zaHVmZmxlbG9fZXBpMTYoemJpbl9leHRyYSwgMCk7CkBAIC04MSw1MiArODgsMjMg
QEAgVlBYX05PX1VOU0lHTkVEX1NISUZUX0NIRUNLIHZvaWQgdnA4X3JlZ3VsYXJfcXVhbnRpemVf
Yl9zc2U0XzEoQkxPQ0sgKmIsCiAgIHkwID0gX21tX3NpZ25fZXBpMTYoeTAsIHowKTsKICAgeTEg
PSBfbW1fc2lnbl9lcGkxNih5MSwgejEpOwogCi0gIHsKLSAgICBjb25zdCBfX20xMjhpIHppZ196
YWdfaTE2XzAgPQotICAgICAgICBfbW1fc2V0cl9lcGk4KDAsIDEsIDIsIDMsIDgsIDksIDE0LCAx
NSwgMTAsIDExLCA0LCA1LCA2LCA3LCAxMiwgMTMpOwotICAgIGNvbnN0IF9fbTEyOGkgemlnX3ph
Z19pMTZfMSA9Ci0gICAgICAgIF9tbV9zZXRyX2VwaTgoMCwgMSwgNiwgNywgOCwgOSwgMiwgMywg
MTQsIDE1LCA0LCA1LCAxMCwgMTEsIDEyLCAxMyk7Ci0KLSAgICAvKiBUaGUgZmlyc3QgcGFydCBv
ZiB0aGUgemlnIHphZyBuZWVkcyBhIHZhbHVlCi0gICAgICogZnJvbSB4X21pbnVzX3piaW4xIGFu
ZCB2aWNlIHZlcnNhLiAqLwotICAgIHQxID0gX21tX2FsaWducl9lcGk4KHhfbWludXNfemJpbjEs
IHhfbWludXNfemJpbjEsIDIpOwotICAgIHQwID0gX21tX2JsZW5kX2VwaTE2KHhfbWludXNfemJp
bjAsIHQxLCAweDgwKTsKLSAgICB0MSA9IF9tbV9ibGVuZF9lcGkxNih0MSwgeF9taW51c196Ymlu
MCwgMHg4MCk7Ci0gICAgeF9zaHVmMCA9IF9tbV9zaHVmZmxlX2VwaTgodDAsIHppZ196YWdfaTE2
XzApOwotICAgIHhfc2h1ZjEgPSBfbW1fc2h1ZmZsZV9lcGk4KHQxLCB6aWdfemFnX2kxNl8xKTsK
LSAgfQotCi0gIC8qIENoZWNrIGlmIHkgaXMgbm9uemVybyBhbmQgcHV0IGl0IGluIHppZyB6YWcg
b3JkZXIuICovCi0gIHQwID0gX21tX3BhY2tzX2VwaTE2KHkwLCB5MSk7Ci0gIHQwID0gX21tX2Nt
cGVxX2VwaTgodDAsIF9tbV9zZXR6ZXJvX3NpMTI4KCkpOwotICB0MCA9IF9tbV9zaHVmZmxlX2Vw
aTgodDAsIF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopemlnX3phZ19tYXNrKSk7Ci0g
IHltYXNrID0gX21tX21vdmVtYXNrX2VwaTgodDApIF4gMHhmZmZmOwotCi0gIGZvciAoOzspIHsK
LSAgICB0MCA9IF9tbV9jbXBndF9lcGkxNih6YmluX2Jvb3N0MCwgeF9zaHVmMCk7Ci0gICAgdDEg
PSBfbW1fY21wZ3RfZXBpMTYoemJpbl9ib29zdDEsIHhfc2h1ZjEpOwotICAgIHQwID0gX21tX3Bh
Y2tzX2VwaTE2KHQwLCB0MSk7Ci0gICAgbWFzayA9IF9tbV9tb3ZlbWFza19lcGk4KHQwKTsKLSAg
ICBtYXNrID0gfm1hc2sgJiB5bWFzazsKLSAgICBpZiAoIW1hc2spIGJyZWFrOwotICAgIC8qIHxl
b2J8IHdpbGwgY29udGFpbiB0aGUgaW5kZXggb2YgdGhlIG5leHQgZm91bmQgZWxlbWVudCB3aGVy
ZToKLSAgICAgKiBib29zdFtpIC0gb2xkX2VvYiAtIDFdIDw9IHhbemlnemFnW2ldXSAmJiB5W3pp
Z3phZ1tpXV0gIT0gMCAqLwotICAgIGVvYiA9IGdldF9sc2IobWFzayk7Ci0gICAgLyogTmVlZCB0
byBjbGVhciB0aGUgbWFzayBmcm9tIHByb2Nlc3NlZCBlbGVtZW50cyBzbyB0aGF0Ci0gICAgICog
dGhleSBhcmUgbm8gbG9uZ2VyIGNvdW50ZWQgaW4gdGhlIG5leHQgaXRlcmF0aW9uLiAqLwotICAg
IHltYXNrICY9IH4xVSA8PCBlb2I7Ci0gICAgLyogSXQncyBzYWZlIHRvIHJlYWQgYWhlYWQgb2Yg
dGhpcyBidWZmZXIgaWYgc3RydWN0IFZQOF9DT01QIGhhcyBhdAotICAgICAqIGxlYXN0IDMyIGJ5
dGVzIGJlZm9yZSB0aGUgenJ1bl96YmluX2Jvb3N0XyogZmllbGRzIChpdCBoYXMgMzg0KS4KLSAg
ICAgKiBBbnkgZGF0YSByZWFkIG91dHNpZGUgb2YgdGhlIGJ1ZmZlciBpcyBtYXNrZWQgYnkgdGhl
IHVwZGF0ZWQgfHltYXNrfC4gKi8KLSAgICB6YmluX2Jvb3N0MCA9IF9tbV9sb2FkdV9zaTEyOCgo
X19tMTI4aSAqKSh6YmluX2Jvb3N0X3B0ciAtIGVvYiAtIDEpKTsKLSAgICB6YmluX2Jvb3N0MSA9
IF9tbV9sb2FkdV9zaTEyOCgoX19tMTI4aSAqKSh6YmluX2Jvb3N0X3B0ciAtIGVvYiArIDcpKTsK
LSAgICBxY29lZmZbemlnX3phZ19tYXNrW2VvYl1dID0gMHhmZmZmOwotICB9Ci0KLSAgcWNvZWZm
MCA9IF9tbV9sb2FkX3NpMTI4KChfX20xMjhpICopKHFjb2VmZikpOwotICBxY29lZmYxID0gX21t
X2xvYWRfc2kxMjgoKF9fbTEyOGkgKikocWNvZWZmICsgOCkpOwotICBxY29lZmYwID0gX21tX2Fu
ZF9zaTEyOChxY29lZmYwLCB5MCk7Ci0gIHFjb2VmZjEgPSBfbW1fYW5kX3NpMTI4KHFjb2VmZjEs
IHkxKTsKKyAgLyogVGhlIGxvb3AgZ2V0cyB1bnJvbGxlZCBhbnl3YXkuIEF2b2lkIHRoZSB2cDhf
ZGVmYXVsdF96aWdfemFnMWQgbG9va3VwLiAqLworICBTRUxFQ1RfRU9CKDEsIDAsIHhfbWludXNf
emJpbjAsIHkwLCBxY29lZmYwKTsKKyAgU0VMRUNUX0VPQigyLCAxLCB4X21pbnVzX3piaW4wLCB5
MCwgcWNvZWZmMCk7CisgIFNFTEVDVF9FT0IoMywgNCwgeF9taW51c196YmluMCwgeTAsIHFjb2Vm
ZjApOworICBTRUxFQ1RfRU9CKDQsIDAsIHhfbWludXNfemJpbjEsIHkxLCBxY29lZmYxKTsKKyAg
U0VMRUNUX0VPQig1LCA1LCB4X21pbnVzX3piaW4wLCB5MCwgcWNvZWZmMCk7CisgIFNFTEVDVF9F
T0IoNiwgMiwgeF9taW51c196YmluMCwgeTAsIHFjb2VmZjApOworICBTRUxFQ1RfRU9CKDcsIDMs
IHhfbWludXNfemJpbjAsIHkwLCBxY29lZmYwKTsKKyAgU0VMRUNUX0VPQig4LCA2LCB4X21pbnVz
X3piaW4wLCB5MCwgcWNvZWZmMCk7CisgIFNFTEVDVF9FT0IoOSwgMSwgeF9taW51c196YmluMSwg
eTEsIHFjb2VmZjEpOworICBTRUxFQ1RfRU9CKDEwLCA0LCB4X21pbnVzX3piaW4xLCB5MSwgcWNv
ZWZmMSk7CisgIFNFTEVDVF9FT0IoMTEsIDUsIHhfbWludXNfemJpbjEsIHkxLCBxY29lZmYxKTsK
KyAgU0VMRUNUX0VPQigxMiwgMiwgeF9taW51c196YmluMSwgeTEsIHFjb2VmZjEpOworICBTRUxF
Q1RfRU9CKDEzLCA3LCB4X21pbnVzX3piaW4wLCB5MCwgcWNvZWZmMCk7CisgIFNFTEVDVF9FT0Io
MTQsIDMsIHhfbWludXNfemJpbjEsIHkxLCBxY29lZmYxKTsKKyAgU0VMRUNUX0VPQigxNSwgNiwg
eF9taW51c196YmluMSwgeTEsIHFjb2VmZjEpOworICBTRUxFQ1RfRU9CKDE2LCA3LCB4X21pbnVz
X3piaW4xLCB5MSwgcWNvZWZmMSk7CiAKICAgX21tX3N0b3JlX3NpMTI4KChfX20xMjhpICopKGQt
PnFjb2VmZiksIHFjb2VmZjApOwogICBfbW1fc3RvcmVfc2kxMjgoKF9fbTEyOGkgKikoZC0+cWNv
ZWZmICsgOCksIHFjb2VmZjEpOwpAQCAtMTM3LDUgKzExNSw1IEBAIFZQWF9OT19VTlNJR05FRF9T
SElGVF9DSEVDSyB2b2lkIHZwOF9yZWd1bGFyX3F1YW50aXplX2Jfc3NlNF8xKEJMT0NLICpiLAog
ICBfbW1fc3RvcmVfc2kxMjgoKF9fbTEyOGkgKikoZC0+ZHFjb2VmZiksIGRxY29lZmYwKTsKICAg
X21tX3N0b3JlX3NpMTI4KChfX20xMjhpICopKGQtPmRxY29lZmYgKyA4KSwgZHFjb2VmZjEpOwog
Ci0gICpkLT5lb2IgPSBlb2IgKyAxOworICAqZC0+ZW9iID0gZW9iOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDgvZW5jb2Rlci94ODYvdnA4X3F1YW50aXplX3Nzc2UzLmMgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC9lbmNvZGVyL3g4Ni92cDhfcXVhbnRpemVfc3NzZTMuYwppbmRleCBmNmRmMTQ2ZjA4
MzUuLjE0N2MzMGNjMzUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci94ODYv
dnA4X3F1YW50aXplX3Nzc2UzLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvZW5jb2Rlci94ODYvdnA4
X3F1YW50aXplX3Nzc2UzLmMKQEAgLTEyLDcgKzEyLDMxIEBACiAKICNpbmNsdWRlICIuL3ZwOF9y
dGNkLmgiCiAjaW5jbHVkZSAidnA4L2VuY29kZXIvYmxvY2suaCIKLSNpbmNsdWRlICJ2cHhfcG9y
dHMvYml0b3BzLmgiIC8qIGdldF9tc2IgKi8KKworLyogYml0c2NhbiByZXZlcnNlIChic3IpICov
CisjaWYgZGVmaW5lZChfTVNDX1ZFUikKKyNpbmNsdWRlIDxpbnRyaW4uaD4KKyNwcmFnbWEgaW50
cmluc2ljKF9CaXRTY2FuUmV2ZXJzZSkKK3N0YXRpYyBpbnQgYnNyKGludCBtYXNrKSB7CisgIHVu
c2lnbmVkIGxvbmcgZW9iOworICBfQml0U2NhblJldmVyc2UoJmVvYiwgbWFzayk7CisgIGVvYisr
OworICBpZiAobWFzayA9PSAwKSBlb2IgPSAwOworICByZXR1cm4gZW9iOworfQorI2Vsc2UKK3N0
YXRpYyBpbnQgYnNyKGludCBtYXNrKSB7CisgIGludCBlb2I7CisjaWYgZGVmaW5lZChfX0dOVUNf
XykgJiYgX19HTlVDX18KKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oImJzciAlMSwgJTAiIDogIj1y
Iihlb2IpIDogInIiKG1hc2spIDogImZsYWdzIik7CisjZWxpZiBkZWZpbmVkKF9fU1VOUFJPX0Mp
IHx8IGRlZmluZWQoX19TVU5QUk9fQ0MpCisgIGFzbSB2b2xhdGlsZSgiYnNyICUxLCAlMCIgOiAi
PXIiKGVvYikgOiAiciIobWFzaykgOiAiZmxhZ3MiKTsKKyNlbmRpZgorICBlb2IrKzsKKyAgaWYg
KG1hc2sgPT0gMCkgZW9iID0gMDsKKyAgcmV0dXJuIGVvYjsKK30KKyNlbmRpZgogCiB2b2lkIHZw
OF9mYXN0X3F1YW50aXplX2Jfc3NzZTMoQkxPQ0sgKmIsIEJMT0NLRCAqZCkgewogICBpbnQgZW9i
LCBtYXNrOwpAQCAtODQsMTAgKzEwOCw3IEBAIHZvaWQgdnA4X2Zhc3RfcXVhbnRpemVfYl9zc3Nl
MyhCTE9DSyAqYiwgQkxPQ0tEICpkKSB7CiAKICAgbWFzayA9IF9tbV9tb3ZlbWFza19lcGk4KHgp
OwogCi0gIC8qIHgyIGlzIG5lZWRlZCB0byBpbmNyZWFzZSB0aGUgcmVzdWx0IGZyb20gbm9uLXpl
cm8gbWFza3MgYnkgMSwKLSAgICogKzEgaXMgbmVlZGVkIHRvIG1hc2sgdW5kZWZpbmVkIGJlaGF2
aW9yIGZvciBhIG51bGwgYXJndW1lbnQsCi0gICAqIHRoZSByZXN1bHQgb2YgZ2V0X21zYigxKSBp
cyAwICovCi0gIGVvYiA9IGdldF9tc2IobWFzayAqIDIgKyAxKTsKKyAgZW9iID0gYnNyKG1hc2sp
OwogCi0gICpkLT5lb2IgPSBlb2I7CisgICpkLT5lb2IgPSAweEZGICYgZW9iOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDgvdnA4X2NvbW1vbi5tayBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9j
b21tb24ubWsKaW5kZXggZDQ4NTk2NWQzZGE0Li4yODZhOTNhMDU2NTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA4L3ZwOF9jb21tb24ubWsKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvdnA4X2NvbW1v
bi5tawpAQCAtMTI0LDExICsxMjQsNiBAQCBpZmVxICgkKENPTkZJR19QT1NUUFJPQykseWVzKQog
VlA4X0NPTU1PTl9TUkNTLSQoSEFWRV9NU0EpICs9IGNvbW1vbi9taXBzL21zYS9tZnFlX21zYS5j
CiBlbmRpZgogCi0jIGNvbW1vbiAobG9vbmdhcmNoIExTWCBpbnRyaW5zaWNzKQotVlA4X0NPTU1P
Tl9TUkNTLSQoSEFWRV9MU1gpICs9IGNvbW1vbi9sb29uZ2FyY2gvbG9vcGZpbHRlcl9maWx0ZXJz
X2xzeC5jCi1WUDhfQ09NTU9OX1NSQ1MtJChIQVZFX0xTWCkgKz0gY29tbW9uL2xvb25nYXJjaC9z
aXh0YXBfZmlsdGVyX2xzeC5jCi1WUDhfQ09NTU9OX1NSQ1MtJChIQVZFX0xTWCkgKz0gY29tbW9u
L2xvb25nYXJjaC9pZGN0X2xzeC5jCi0KICMgY29tbW9uIChuZW9uIGludHJpbnNpY3MpCiBWUDhf
Q09NTU9OX1NSQ1MtJChIQVZFX05FT04pICArPSBjb21tb24vYXJtL2xvb3BmaWx0ZXJfYXJtLmMK
IFZQOF9DT01NT05fU1JDUy0kKEhBVkVfTkVPTikgICs9IGNvbW1vbi9hcm0vbG9vcGZpbHRlcl9h
cm0uaApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvdnA4X2N4X2lmYWNlLmMgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOC92cDhfY3hfaWZhY2UuYwppbmRleCAyMGM0NGZmNGUxMjMuLjExNjBmNTFkNjRhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvdnA4X2N4X2lmYWNlLmMKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDgvdnA4X2N4X2lmYWNlLmMKQEAgLTE4LDEwICsxOCw4IEBACiAjaW5jbHVkZSAidnB4X21l
bS92cHhfbWVtLmgiCiAjaW5jbHVkZSAidnB4X3BvcnRzL3N0YXRpY19hc3NlcnQuaCIKICNpbmNs
dWRlICJ2cHhfcG9ydHMvc3lzdGVtX3N0YXRlLmgiCisjaW5jbHVkZSAidnB4X3BvcnRzL3ZweF9v
bmNlLmgiCiAjaW5jbHVkZSAidnB4X3V0aWwvdnB4X3RpbWVzdGFtcC5oIgotI2lmIENPTkZJR19N
VUxUSVRIUkVBRAotI2luY2x1ZGUgInZwOC9lbmNvZGVyL2V0aHJlYWRpbmcuaCIKLSNlbmRpZgog
I2luY2x1ZGUgInZwOC9lbmNvZGVyL29ueXhfaW50LmgiCiAjaW5jbHVkZSAidnB4L3ZwOGN4Lmgi
CiAjaW5jbHVkZSAidnA4L2VuY29kZXIvZmlyc3RwYXNzLmgiCkBAIC0xNTQsOCArMTUyLDggQEAg
c3RhdGljIHZweF9jb2RlY19lcnJfdCB2YWxpZGF0ZV9jb25maWcodnB4X2NvZGVjX2FsZ19wcml2
X3QgKmN0eCwKICAgUkFOR0VfQ0hFQ0tfSEkoY2ZnLCBnX2xhZ19pbl9mcmFtZXMsIDI1KTsKICNl
bmRpZgogICBSQU5HRV9DSEVDSyhjZmcsIHJjX2VuZF91c2FnZSwgVlBYX1ZCUiwgVlBYX1EpOwot
ICBSQU5HRV9DSEVDS19ISShjZmcsIHJjX3VuZGVyc2hvb3RfcGN0LCAxMDApOwotICBSQU5HRV9D
SEVDS19ISShjZmcsIHJjX292ZXJzaG9vdF9wY3QsIDEwMCk7CisgIFJBTkdFX0NIRUNLX0hJKGNm
ZywgcmNfdW5kZXJzaG9vdF9wY3QsIDEwMDApOworICBSQU5HRV9DSEVDS19ISShjZmcsIHJjX292
ZXJzaG9vdF9wY3QsIDEwMDApOwogICBSQU5HRV9DSEVDS19ISShjZmcsIHJjXzJwYXNzX3Zicl9i
aWFzX3BjdCwgMTAwKTsKICAgUkFOR0VfQ0hFQ0soY2ZnLCBrZl9tb2RlLCBWUFhfS0ZfRElTQUJM
RUQsIFZQWF9LRl9BVVRPKTsKIApAQCAtMjU5LDIzICsyNTcsNiBAQCBzdGF0aWMgdnB4X2NvZGVj
X2Vycl90IHZhbGlkYXRlX2NvbmZpZyh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICAgIEVS
Uk9SKCJnX3RocmVhZHMgY2Fubm90IGJlIGJpZ2dlciB0aGFuIG51bWJlciBvZiB0b2tlbiBwYXJ0
aXRpb25zIik7CiAjZW5kaWYKIAotICAvLyBUaGUgcmFuZ2UgYmVsb3cgc2hhbGwgYmUgZnVydGhl
ciB0dW5lZC4KLSAgUkFOR0VfQ0hFQ0soY2ZnLCB1c2Vfdml6aWVyX3JjX3BhcmFtcywgMCwgMSk7
Ci0gIFJBTkdFX0NIRUNLKGNmZywgYWN0aXZlX3dxX2ZhY3Rvci5kZW4sIDEsIDEwMDApOwotICBS
QU5HRV9DSEVDSyhjZmcsIGVycl9wZXJfbWJfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdF
X0NIRUNLKGNmZywgc3JfZGVmYXVsdF9kZWNheV9saW1pdC5kZW4sIDEsIDEwMDApOwotICBSQU5H
RV9DSEVDSyhjZmcsIHNyX2RpZmZfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdFX0NIRUNL
KGNmZywga2ZfZXJyX3Blcl9tYl9mYWN0b3IuZGVuLCAxLCAxMDAwKTsKLSAgUkFOR0VfQ0hFQ0so
Y2ZnLCBrZl9mcmFtZV9taW5fYm9vc3RfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdFX0NI
RUNLKGNmZywga2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnNfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0g
IFJBTkdFX0NIRUNLKGNmZywga2ZfbWF4X3RvdGFsX2Jvb3N0X2ZhY3Rvci5kZW4sIDEsIDEwMDAp
OwotICBSQU5HRV9DSEVDSyhjZmcsIGdmX21heF90b3RhbF9ib29zdF9mYWN0b3IuZGVuLCAxLCAx
MDAwKTsKLSAgUkFOR0VfQ0hFQ0soY2ZnLCBnZl9mcmFtZV9tYXhfYm9vc3RfZmFjdG9yLmRlbiwg
MSwgMTAwMCk7Ci0gIFJBTkdFX0NIRUNLKGNmZywgem1fZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0g
IFJBTkdFX0NIRUNLKGNmZywgcmRfbXVsdF9pbnRlcl9xcF9mYWMuZGVuLCAxLCAxMDAwKTsKLSAg
UkFOR0VfQ0hFQ0soY2ZnLCByZF9tdWx0X2FyZl9xcF9mYWMuZGVuLCAxLCAxMDAwKTsKLSAgUkFO
R0VfQ0hFQ0soY2ZnLCByZF9tdWx0X2tleV9xcF9mYWMuZGVuLCAxLCAxMDAwKTsKLQogICByZXR1
cm4gVlBYX0NPREVDX09LOwogfQogCkBAIC0zNDEsOSArMzIyLDcgQEAgc3RhdGljIHZweF9jb2Rl
Y19lcnJfdCBzZXRfdnA4ZV9jb25maWcoVlA4X0NPTkZJRyAqb3hjZiwKICAgICBveGNmLT5lbmRf
dXNhZ2UgPSBVU0FHRV9DT05TVEFOVF9RVUFMSVRZOwogICB9CiAKLSAgLy8gQ2FwIHRoZSB0YXJn
ZXQgcmF0ZSB0byAxMDAwIE1icHMgdG8gYXZvaWQgc29tZSBpbnRlZ2VyIG92ZXJmbG93cyBpbgot
ICAvLyB0YXJnZXQgYmFuZHdpZHRoIGNhbGN1bGF0aW9ucy4KLSAgb3hjZi0+dGFyZ2V0X2JhbmR3
aWR0aCA9IFZQWE1JTihjZmcucmNfdGFyZ2V0X2JpdHJhdGUsIDEwMDAwMDApOworICBveGNmLT50
YXJnZXRfYmFuZHdpZHRoID0gY2ZnLnJjX3RhcmdldF9iaXRyYXRlOwogICBveGNmLT5yY19tYXhf
aW50cmFfYml0cmF0ZV9wY3QgPSB2cDhfY2ZnLnJjX21heF9pbnRyYV9iaXRyYXRlX3BjdDsKICAg
b3hjZi0+Z2ZfY2JyX2Jvb3N0X3BjdCA9IHZwOF9jZmcuZ2ZfY2JyX2Jvb3N0X3BjdDsKIApAQCAt
Mzk5LDkgKzM3OCw2IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3Qgc2V0X3ZwOGVfY29uZmlnKFZQ
OF9DT05GSUcgKm94Y2YsCiAjZW5kaWYKIAogICBveGNmLT5jcHVfdXNlZCA9IHZwOF9jZmcuY3B1
X3VzZWQ7Ci0gIGlmIChjZmcuZ19wYXNzID09IFZQWF9SQ19GSVJTVF9QQVNTKSB7Ci0gICAgb3hj
Zi0+Y3B1X3VzZWQgPSBWUFhNQVgoNCwgb3hjZi0+Y3B1X3VzZWQpOwotICB9CiAgIG94Y2YtPmVu
Y29kZV9icmVha291dCA9IHZwOF9jZmcuc3RhdGljX3RocmVzaDsKICAgb3hjZi0+cGxheV9hbHRl
cm5hdGUgPSB2cDhfY2ZnLmVuYWJsZV9hdXRvX2FsdF9yZWY7CiAgIG94Y2YtPm5vaXNlX3NlbnNp
dGl2aXR5ID0gdnA4X2NmZy5ub2lzZV9zZW5zaXRpdml0eTsKQEAgLTQ3NiwyNiArNDUyLDE0IEBA
IHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgdnA4ZV9zZXRfY29uZmlnKHZweF9jb2RlY19hbGdfcHJp
dl90ICpjdHgsCiAgICAgRVJST1IoIkNhbm5vdCBpbmNyZWFzZSBsYWdfaW5fZnJhbWVzIik7CiAK
ICAgcmVzID0gdmFsaWRhdGVfY29uZmlnKGN0eCwgY2ZnLCAmY3R4LT52cDhfY2ZnLCAwKTsKLSAg
aWYgKHJlcyAhPSBWUFhfQ09ERUNfT0spIHJldHVybiByZXM7CiAKLSAgaWYgKHNldGptcChjdHgt
PmNwaS0+Y29tbW9uLmVycm9yLmptcCkpIHsKLSAgICBjb25zdCB2cHhfY29kZWNfZXJyX3QgY29k
ZWNfZXJyID0KLSAgICAgICAgdXBkYXRlX2Vycm9yX3N0YXRlKGN0eCwgJmN0eC0+Y3BpLT5jb21t
b24uZXJyb3IpOwotICAgIGN0eC0+Y3BpLT5jb21tb24uZXJyb3Iuc2V0am1wID0gMDsKLSAgICB2
cHhfY2xlYXJfc3lzdGVtX3N0YXRlKCk7Ci0gICAgYXNzZXJ0KGNvZGVjX2VyciAhPSBWUFhfQ09E
RUNfT0spOwotICAgIHJldHVybiBjb2RlY19lcnI7CisgIGlmICghcmVzKSB7CisgICAgY3R4LT5j
ZmcgPSAqY2ZnOworICAgIHNldF92cDhlX2NvbmZpZygmY3R4LT5veGNmLCBjdHgtPmNmZywgY3R4
LT52cDhfY2ZnLCBOVUxMKTsKKyAgICB2cDhfY2hhbmdlX2NvbmZpZyhjdHgtPmNwaSwgJmN0eC0+
b3hjZik7CiAgIH0KIAotICBjdHgtPmNwaS0+Y29tbW9uLmVycm9yLnNldGptcCA9IDE7Ci0gIGN0
eC0+Y2ZnID0gKmNmZzsKLSAgc2V0X3ZwOGVfY29uZmlnKCZjdHgtPm94Y2YsIGN0eC0+Y2ZnLCBj
dHgtPnZwOF9jZmcsIE5VTEwpOwotICB2cDhfY2hhbmdlX2NvbmZpZyhjdHgtPmNwaSwgJmN0eC0+
b3hjZik7Ci0jaWYgQ09ORklHX01VTFRJVEhSRUFECi0gIGlmICh2cDhjeF9jcmVhdGVfZW5jb2Rl
cl90aHJlYWRzKGN0eC0+Y3BpKSkgcmV0dXJuIFZQWF9DT0RFQ19FUlJPUjsKLSNlbmRpZgotICBj
dHgtPmNwaS0+Y29tbW9uLmVycm9yLnNldGptcCA9IDA7Ci0gIHJldHVybiBWUFhfQ09ERUNfT0s7
CisgIHJldHVybiByZXM7CiB9CiAKIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgZ2V0X3F1YW50aXpl
cih2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LCB2YV9saXN0IGFyZ3MpIHsKQEAgLTYyMSwxNyAr
NTg1LDYgQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCBzZXRfc2NyZWVuX2NvbnRlbnRfbW9kZSh2
cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICByZXR1cm4gdXBkYXRlX2V4dHJhY2ZnKGN0eCwg
JmV4dHJhX2NmZyk7CiB9CiAKLXN0YXRpYyB2cHhfY29kZWNfZXJyX3QgY3RybF9zZXRfcnRjX2V4
dGVybmFsX3JhdGVjdHJsKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ3MpIHsK
LSAgVlA4X0NPTVAgKmNwaSA9IGN0eC0+Y3BpOwotICBjb25zdCB1bnNpZ25lZCBpbnQgZGF0YSA9
IENBU1QoVlA4RV9TRVRfR0ZfQ0JSX0JPT1NUX1BDVCwgYXJncyk7Ci0gIGlmIChkYXRhKSB7Ci0g
ICAgY3BpLT5jeWNsaWNfcmVmcmVzaF9tb2RlX2VuYWJsZWQgPSAwOwotICAgIGNwaS0+cnRfYWx3
YXlzX3VwZGF0ZV9jb3JyZWN0aW9uX2ZhY3RvciA9IDE7Ci0gIH0KLSAgcmV0dXJuIFZQWF9DT0RF
Q19PSzsKLX0KLQogc3RhdGljIHZweF9jb2RlY19lcnJfdCB2cDhlX21yX2FsbG9jX21lbShjb25z
dCB2cHhfY29kZWNfZW5jX2NmZ190ICpjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZvaWQgKiptZW1fbG9jKSB7CiAgIHZweF9jb2RlY19lcnJfdCByZXMgPSBW
UFhfQ09ERUNfT0s7CkBAIC03MDgsNyArNjYxLDcgQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCB2
cDhlX2luaXQodnB4X2NvZGVjX2N0eF90ICpjdHgsCiAgICAgICBjdHgtPnByaXYtPmVuYy50b3Rh
bF9lbmNvZGVycyA9IDE7CiAgICAgfQogCi0gICAgdnA4X2luaXRpYWxpemVfZW5jKCk7CisgICAg
b25jZSh2cDhfaW5pdGlhbGl6ZV9lbmMpOwogCiAgICAgcmVzID0gdmFsaWRhdGVfY29uZmlnKHBy
aXYsICZwcml2LT5jZmcsICZwcml2LT52cDhfY2ZnLCAwKTsKIApAQCAtOTE3LDYgKzg3MCwxMiBA
QCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IHZwOGVfZW5jb2RlKHZweF9jb2RlY19hbGdfcHJpdl90
ICpjdHgsCiAgICAgfQogICB9CiAKKyAgaWYgKHNldGptcChjdHgtPmNwaS0+Y29tbW9uLmVycm9y
LmptcCkpIHsKKyAgICBjdHgtPmNwaS0+Y29tbW9uLmVycm9yLnNldGptcCA9IDA7CisgICAgdnB4
X2NsZWFyX3N5c3RlbV9zdGF0ZSgpOworICAgIHJldHVybiBWUFhfQ09ERUNfQ09SUlVQVF9GUkFN
RTsKKyAgfQorCiAgIC8qIEluaXRpYWxpemUgdGhlIGVuY29kZXIgaW5zdGFuY2Ugb24gdGhlIGZp
cnN0IGZyYW1lKi8KICAgaWYgKCFyZXMgJiYgY3R4LT5jcGkpIHsKICAgICB1bnNpZ25lZCBpbnQg
bGliX2ZsYWdzOwpAQCAtOTI3LDEzICs4ODYsNiBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IHZw
OGVfZW5jb2RlKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAgICAgdW5zaWduZWQgY2hhciAq
Y3hfZGF0YV9lbmQ7CiAgICAgaW50IGNvbXBfZGF0YV9zdGF0ZSA9IDA7CiAKLSAgICBpZiAoc2V0
am1wKGN0eC0+Y3BpLT5jb21tb24uZXJyb3Iuam1wKSkgewotICAgICAgY3R4LT5jcGktPmNvbW1v
bi5lcnJvci5zZXRqbXAgPSAwOwotICAgICAgdnB4X2NsZWFyX3N5c3RlbV9zdGF0ZSgpOwotICAg
ICAgcmV0dXJuIFZQWF9DT0RFQ19DT1JSVVBUX0ZSQU1FOwotICAgIH0KLSAgICBjdHgtPmNwaS0+
Y29tbW9uLmVycm9yLnNldGptcCA9IDE7Ci0KICAgICAvKiBTZXQgdXAgaW50ZXJuYWwgZmxhZ3Mg
Ki8KICAgICBpZiAoY3R4LT5iYXNlLmluaXRfZmxhZ3MgJiBWUFhfQ09ERUNfVVNFX1BTTlIpIHsK
ICAgICAgICgoVlA4X0NPTVAgKiljdHgtPmNwaSktPmJfY2FsY3VsYXRlX3BzbnIgPSAxOwpAQCAt
OTY5LDYgKzkyMSw4IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgdnA4ZV9lbmNvZGUodnB4X2Nv
ZGVjX2FsZ19wcml2X3QgKmN0eCwKICAgICBjeF9kYXRhX2VuZCA9IGN0eC0+Y3hfZGF0YSArIGN4
X2RhdGFfc3o7CiAgICAgbGliX2ZsYWdzID0gMDsKIAorICAgIGN0eC0+Y3BpLT5jb21tb24uZXJy
b3Iuc2V0am1wID0gMTsKKwogICAgIHdoaWxlIChjeF9kYXRhX3N6ID49IGN0eC0+Y3hfZGF0YV9z
eiAvIDIpIHsKICAgICAgIGNvbXBfZGF0YV9zdGF0ZSA9IHZwOF9nZXRfY29tcHJlc3NlZF9kYXRh
KAogICAgICAgICAgIGN0eC0+Y3BpLCAmbGliX2ZsYWdzLCAmc2l6ZSwgY3hfZGF0YSwgY3hfZGF0
YV9lbmQsICZkc3RfdGltZV9zdGFtcCwKQEAgLTEwNjQsNyArMTAxOCw2IEBAIHN0YXRpYyB2cHhf
Y29kZWNfZXJyX3QgdnA4ZV9lbmNvZGUodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCwKICAgICAg
ICAgfQogICAgICAgfQogICAgIH0KLSAgICBjdHgtPmNwaS0+Y29tbW9uLmVycm9yLnNldGptcCA9
IDA7CiAgIH0KIAogICByZXR1cm4gcmVzOwpAQCAtMTIzMCw4ICsxMTgzLDggQEAgc3RhdGljIHZw
eF9jb2RlY19lcnJfdCB2cDhlX3NldF9zY2FsZW1vZGUodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0
eCwKICAgaWYgKGRhdGEpIHsKICAgICBpbnQgcmVzOwogICAgIHZweF9zY2FsaW5nX21vZGVfdCBz
Y2FsZW1vZGUgPSAqKHZweF9zY2FsaW5nX21vZGVfdCAqKWRhdGE7Ci0gICAgcmVzID0gdnA4X3Nl
dF9pbnRlcm5hbF9zaXplKGN0eC0+Y3BpLCBzY2FsZW1vZGUuaF9zY2FsaW5nX21vZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlbW9kZS52X3NjYWxpbmdfbW9kZSk7Cisg
ICAgcmVzID0gdnA4X3NldF9pbnRlcm5hbF9zaXplKGN0eC0+Y3BpLCAoVlBYX1NDQUxJTkcpc2Nh
bGVtb2RlLmhfc2NhbGluZ19tb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
VlBYX1NDQUxJTkcpc2NhbGVtb2RlLnZfc2NhbGluZ19tb2RlKTsKIAogICAgIGlmICghcmVzKSB7
CiAgICAgICAvKmZvcmNlIG5leHQgZnJhbWUgYSBrZXkgZnJhbWUgdG8gZWZmZWN0IHNjYWxpbmcg
bW9kZSAqLwpAQCAtMTI3MCw3ICsxMjIzLDYgQEAgc3RhdGljIHZweF9jb2RlY19jdHJsX2ZuX21h
cF90IHZwOGVfY3RmX21hcHNbXSA9IHsKICAgeyBWUDhFX1NFVF9NQVhfSU5UUkFfQklUUkFURV9Q
Q1QsIHNldF9yY19tYXhfaW50cmFfYml0cmF0ZV9wY3QgfSwKICAgeyBWUDhFX1NFVF9TQ1JFRU5f
Q09OVEVOVF9NT0RFLCBzZXRfc2NyZWVuX2NvbnRlbnRfbW9kZSB9LAogICB7IFZQOEVfU0VUX0dG
X0NCUl9CT09TVF9QQ1QsIGN0cmxfc2V0X3JjX2dmX2Nicl9ib29zdF9wY3QgfSwKLSAgeyBWUDhF
X1NFVF9SVENfRVhURVJOQUxfUkFURUNUUkwsIGN0cmxfc2V0X3J0Y19leHRlcm5hbF9yYXRlY3Ry
bCB9LAogICB7IC0xLCBOVUxMIH0sCiB9OwogCkBAIC0xMjk4LDEzICsxMjUwLDEzIEBAIHN0YXRp
YyB2cHhfY29kZWNfZW5jX2NmZ19tYXBfdCB2cDhlX3VzYWdlX2NmZ19tYXBbXSA9IHsKICAgICAg
ICAgMCwgIC8qIHJjX3Jlc2l6ZV9hbGxvd2VkICovCiAgICAgICAgIDEsICAvKiByY19zY2FsZWRf
d2lkdGggKi8KICAgICAgICAgMSwgIC8qIHJjX3NjYWxlZF9oZWlnaHQgKi8KLSAgICAgICAgNjAs
IC8qIHJjX3Jlc2l6ZV9kb3duX3RocmVzaCAqLwotICAgICAgICAzMCwgLyogcmNfcmVzaXplX3Vw
X3RocmVzaCAqLworICAgICAgICA2MCwgLyogcmNfcmVzaXplX2Rvd25fdGhyZXNvbGQgKi8KKyAg
ICAgICAgMzAsIC8qIHJjX3Jlc2l6ZV91cF90aHJlc29sZCAqLwogCiAgICAgICAgIFZQWF9WQlIs
ICAgICAvKiByY19lbmRfdXNhZ2UgKi8KICAgICAgICAgeyBOVUxMLCAwIH0sIC8qIHJjX3R3b3Bh
c3Nfc3RhdHNfaW4gKi8KICAgICAgICAgeyBOVUxMLCAwIH0sIC8qIHJjX2ZpcnN0cGFzc19tYl9z
dGF0c19pbiAqLwotICAgICAgICAyNTYsICAgICAgICAgLyogcmNfdGFyZ2V0X2JpdHJhdGUgKi8K
KyAgICAgICAgMjU2LCAgICAgICAgIC8qIHJjX3RhcmdldF9iYW5kd2lkdGggKi8KICAgICAgICAg
NCwgICAgICAgICAgIC8qIHJjX21pbl9xdWFudGl6ZXIgKi8KICAgICAgICAgNjMsICAgICAgICAg
IC8qIHJjX21heF9xdWFudGl6ZXIgKi8KICAgICAgICAgMTAwLCAgICAgICAgIC8qIHJjX3VuZGVy
c2hvb3RfcGN0ICovCkBAIC0xMzI2LDMwICsxMjc4LDE0IEBAIHN0YXRpYyB2cHhfY29kZWNfZW5j
X2NmZ19tYXBfdCB2cDhlX3VzYWdlX2NmZ19tYXBbXSA9IHsKIAogICAgICAgICBWUFhfU1NfREVG
QVVMVF9MQVlFUlMsIC8qIHNzX251bWJlcl9sYXllcnMgKi8KICAgICAgICAgeyAwIH0sCi0gICAg
ICAgIHsgMCB9LCAgICAvKiBzc190YXJnZXRfYml0cmF0ZSAqLwotICAgICAgICAxLCAgICAgICAg
LyogdHNfbnVtYmVyX2xheWVycyAqLwotICAgICAgICB7IDAgfSwgICAgLyogdHNfdGFyZ2V0X2Jp
dHJhdGUgKi8KLSAgICAgICAgeyAwIH0sICAgIC8qIHRzX3JhdGVfZGVjaW1hdG9yICovCi0gICAg
ICAgIDAsICAgICAgICAvKiB0c19wZXJpb2RpY2l0eSAqLwotICAgICAgICB7IDAgfSwgICAgLyog
dHNfbGF5ZXJfaWQgKi8KLSAgICAgICAgeyAwIH0sICAgIC8qIGxheWVyX3RhcmdldF9iaXRyYXRl
ICovCi0gICAgICAgIDAsICAgICAgICAvKiB0ZW1wb3JhbF9sYXllcmluZ19tb2RlICovCi0gICAg
ICAgIDAsICAgICAgICAvKiB1c2Vfdml6aWVyX3JjX3BhcmFtcyAqLwotICAgICAgICB7IDEsIDEg
fSwgLyogYWN0aXZlX3dxX2ZhY3RvciAqLwotICAgICAgICB7IDEsIDEgfSwgLyogZXJyX3Blcl9t
Yl9mYWN0b3IgKi8KLSAgICAgICAgeyAxLCAxIH0sIC8qIHNyX2RlZmF1bHRfZGVjYXlfbGltaXQg
Ki8KLSAgICAgICAgeyAxLCAxIH0sIC8qIHNyX2RpZmZfZmFjdG9yICovCi0gICAgICAgIHsgMSwg
MSB9LCAvKiBrZl9lcnJfcGVyX21iX2ZhY3RvciAqLwotICAgICAgICB7IDEsIDEgfSwgLyoga2Zf
ZnJhbWVfbWluX2Jvb3N0X2ZhY3RvciAqLwotICAgICAgICB7IDEsIDEgfSwgLyoga2ZfZnJhbWVf
bWF4X2Jvb3N0X2ZpcnN0X2ZhY3RvciAqLwotICAgICAgICB7IDEsIDEgfSwgLyoga2ZfZnJhbWVf
bWF4X2Jvb3N0X3N1YnNfZmFjdG9yICovCi0gICAgICAgIHsgMSwgMSB9LCAvKiBrZl9tYXhfdG90
YWxfYm9vc3RfZmFjdG9yICovCi0gICAgICAgIHsgMSwgMSB9LCAvKiBnZl9tYXhfdG90YWxfYm9v
c3RfZmFjdG9yICovCi0gICAgICAgIHsgMSwgMSB9LCAvKiBnZl9mcmFtZV9tYXhfYm9vc3RfZmFj
dG9yICovCi0gICAgICAgIHsgMSwgMSB9LCAvKiB6bV9mYWN0b3IgKi8KLSAgICAgICAgeyAxLCAx
IH0sIC8qIHJkX211bHRfaW50ZXJfcXBfZmFjICovCi0gICAgICAgIHsgMSwgMSB9LCAvKiByZF9t
dWx0X2FyZl9xcF9mYWMgKi8KLSAgICAgICAgeyAxLCAxIH0sIC8qIHJkX211bHRfa2V5X3FwX2Zh
YyAqLworICAgICAgICB7IDAgfSwgLyogc3NfdGFyZ2V0X2JpdHJhdGUgKi8KKyAgICAgICAgMSwg
ICAgIC8qIHRzX251bWJlcl9sYXllcnMgKi8KKyAgICAgICAgeyAwIH0sIC8qIHRzX3RhcmdldF9i
aXRyYXRlICovCisgICAgICAgIHsgMCB9LCAvKiB0c19yYXRlX2RlY2ltYXRvciAqLworICAgICAg
ICAwLCAgICAgLyogdHNfcGVyaW9kaWNpdHkgKi8KKyAgICAgICAgeyAwIH0sIC8qIHRzX2xheWVy
X2lkICovCisgICAgICAgIHsgMCB9LCAvKiBsYXllcl90YXJnZXRfYml0cmF0ZSAqLworICAgICAg
ICAwICAgICAgLyogdGVtcG9yYWxfbGF5ZXJpbmdfbW9kZSAqLwogICAgIH0gfSwKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9keF9pZmFjZS5jIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
dnA4X2R4X2lmYWNlLmMKaW5kZXggOWU2MjJlM2I5NzNmLi5iYTA3MTRhYmU1YzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9keF9pZmFjZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3Zw
OF9keF9pZmFjZS5jCkBAIC0xNjIsMTAgKzE2Miw3IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3Qg
dnA4X3BlZWtfc2lfaW50ZXJuYWwoY29uc3QgdWludDhfdCAqZGF0YSwKICAgICAgIHNpLT5oID0g
KGNsZWFyWzhdIHwgKGNsZWFyWzldIDw8IDgpKSAmIDB4M2ZmZjsKIAogICAgICAgLypwcmludGYo
Inc9JWQsIGg9JWRcbiIsIHNpLT53LCBzaS0+aCk7Ki8KLSAgICAgIGlmICghKHNpLT5oICYmIHNp
LT53KSkgewotICAgICAgICBzaS0+dyA9IHNpLT5oID0gMDsKLSAgICAgICAgcmVzID0gVlBYX0NP
REVDX0NPUlJVUFRfRlJBTUU7Ci0gICAgICB9CisgICAgICBpZiAoIShzaS0+aCAmJiBzaS0+dykp
IHJlcyA9IFZQWF9DT0RFQ19DT1JSVVBUX0ZSQU1FOwogICAgIH0gZWxzZSB7CiAgICAgICByZXMg
PSBWUFhfQ09ERUNfVU5TVVBfQklUU1RSRUFNOwogICAgIH0KQEAgLTI3OCw3ICsyNzUsNyBAQCBz
dGF0aWMgdnB4X2NvZGVjX2Vycl90IHZwOF9kZWNvZGUodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0
eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyX3ByaXYsIGxv
bmcgZGVhZGxpbmUpIHsKICAgdm9sYXRpbGUgdnB4X2NvZGVjX2Vycl90IHJlczsKICAgdm9sYXRp
bGUgdW5zaWduZWQgaW50IHJlc29sdXRpb25fY2hhbmdlID0gMDsKLSAgdm9sYXRpbGUgdW5zaWdu
ZWQgaW50IHcsIGg7CisgIHVuc2lnbmVkIGludCB3LCBoOwogCiAgIGlmICghY3R4LT5mcmFnbWVu
dHMuZW5hYmxlZCAmJiAoZGF0YSA9PSBOVUxMICYmIGRhdGFfc3ogPT0gMCkpIHsKICAgICByZXR1
cm4gMDsKQEAgLTMwNCwyNiArMzAxLDE3IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgdnA4X2Rl
Y29kZSh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICB9CiAKICAgaWYgKCFjdHgtPmRlY29k
ZXJfaW5pdCAmJiAhY3R4LT5zaS5pc19rZikgcmVzID0gVlBYX0NPREVDX1VOU1VQX0JJVFNUUkVB
TTsKLSAgaWYgKCFyZXMgJiYgY3R4LT5kZWNvZGVyX2luaXQgJiYgdyA9PSAwICYmIGggPT0gMCAm
JiBjdHgtPnNpLmggPT0gMCAmJgotICAgICAgY3R4LT5zaS53ID09IDApIHsKLSAgICBWUDhEX0NP
TVAgKnBiaSA9IGN0eC0+eXYxMl9mcmFtZV9idWZmZXJzLnBiaVswXTsKLSAgICBhc3NlcnQocGJp
ICE9IE5VTEwpOwotICAgIGFzc2VydCghcGJpLT5jb21tb24uZXJyb3Iuc2V0am1wKTsKLSAgICBy
ZXMgPSBWUFhfQ09ERUNfQ09SUlVQVF9GUkFNRTsKLSAgICB2cHhfaW50ZXJuYWxfZXJyb3IoJnBi
aS0+Y29tbW9uLmVycm9yLCByZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICJLZXlmcmFtZSAv
IGludHJhLW9ubHkgZnJhbWUgcmVxdWlyZWQgdG8gcmVzZXQgZGVjb2RlciIKLSAgICAgICAgICAg
ICAgICAgICAgICAgIiBzdGF0ZSIpOwotICB9CiAKICAgaWYgKChjdHgtPnNpLmggIT0gaCkgfHwg
KGN0eC0+c2kudyAhPSB3KSkgcmVzb2x1dGlvbl9jaGFuZ2UgPSAxOwogCiAjaWYgQ09ORklHX01V
TFRJVEhSRUFECiAgIGlmICghcmVzICYmIGN0eC0+cmVzdGFydF90aHJlYWRzKSB7CisgICAgc3Ry
dWN0IGZyYW1lX2J1ZmZlcnMgKmZiID0gJmN0eC0+eXYxMl9mcmFtZV9idWZmZXJzOwogICAgIFZQ
OERfQ09NUCAqcGJpID0gY3R4LT55djEyX2ZyYW1lX2J1ZmZlcnMucGJpWzBdOwogICAgIFZQOF9D
T01NT04gKmNvbnN0IHBjID0gJnBiaS0+Y29tbW9uOwogICAgIGlmIChzZXRqbXAocGJpLT5jb21t
b24uZXJyb3Iuam1wKSkgewotICAgICAgcGJpLT5jb21tb24uZXJyb3Iuc2V0am1wID0gMDsKLSAg
ICAgIHZwOF9kZWNvZGVyX3JlbW92ZV90aHJlYWRzKHBiaSk7CisgICAgICB2cDhfcmVtb3ZlX2Rl
Y29kZXJfaW5zdGFuY2VzKGZiKTsKKyAgICAgIHZwOF96ZXJvKGZiLT5wYmkpOwogICAgICAgdnB4
X2NsZWFyX3N5c3RlbV9zdGF0ZSgpOwogICAgICAgcmV0dXJuIFZQWF9DT0RFQ19FUlJPUjsKICAg
ICB9CkBAIC0zNjEsMTQgKzM0OSw3IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgdnA4X2RlY29k
ZSh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICAgIH0KIAogICAgIHJlcyA9IHZwOF9jcmVh
dGVfZGVjb2Rlcl9pbnN0YW5jZXMoJmN0eC0+eXYxMl9mcmFtZV9idWZmZXJzLCAmb3hjZik7Ci0g
ICAgaWYgKHJlcyA9PSBWUFhfQ09ERUNfT0spIHsKLSAgICAgIGN0eC0+ZGVjb2Rlcl9pbml0ID0g
MTsKLSAgICB9IGVsc2UgewotICAgICAgLyogb24gZmFpbHVyZSBjbGVhciB0aGUgY2FjaGVkIHJl
c29sdXRpb24gdG8gZW5zdXJlIGEgZnVsbAotICAgICAgICogcmVhbGxvY2F0aW9uIGlzIGF0dGVt
cHRlZCBvbiByZXN5bmMuICovCi0gICAgICBjdHgtPnNpLncgPSAwOwotICAgICAgY3R4LT5zaS5o
ID0gMDsKLSAgICB9CisgICAgaWYgKHJlcyA9PSBWUFhfQ09ERUNfT0spIGN0eC0+ZGVjb2Rlcl9p
bml0ID0gMTsKICAgfQogCiAgIC8qIFNldCB0aGVzZSBldmVuIGlmIGFscmVhZHkgaW5pdGlhbGl6
ZWQuICBUaGUgY2FsbGVyIG1heSBoYXZlIGNoYW5nZWQgdGhlCkBAIC0zOTAsNiArMzcxLDggQEAg
c3RhdGljIHZweF9jb2RlY19lcnJfdCB2cDhfZGVjb2RlKHZweF9jb2RlY19hbGdfcHJpdl90ICpj
dHgsCiAgICAgICBwYy0+V2lkdGggPSBjdHgtPnNpLnc7CiAgICAgICBwYy0+SGVpZ2h0ID0gY3R4
LT5zaS5oOwogICAgICAgeworICAgICAgICBpbnQgcHJldl9tYl9yb3dzID0gcGMtPm1iX3Jvd3M7
CisKICAgICAgICAgaWYgKHNldGptcChwYmktPmNvbW1vbi5lcnJvci5qbXApKSB7CiAgICAgICAg
ICAgcGJpLT5jb21tb24uZXJyb3Iuc2V0am1wID0gMDsKICAgICAgICAgICAvKiBvbiBmYWlsdXJl
IGNsZWFyIHRoZSBjYWNoZWQgcmVzb2x1dGlvbiB0byBlbnN1cmUgYSBmdWxsCkBAIC00MTUsMTIg
KzM5OCw2IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgdnA4X2RlY29kZSh2cHhfY29kZWNfYWxn
X3ByaXZfdCAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBmcmFt
ZSBoZWlnaHQiKTsKICAgICAgICAgfQogCi0jaWYgQ09ORklHX01VTFRJVEhSRUFECi0gICAgICAg
IGlmICh2cHhfYXRvbWljX2xvYWRfYWNxdWlyZSgmcGJpLT5iX211bHRpdGhyZWFkZWRfcmQpKSB7
Ci0gICAgICAgICAgdnA4bXRfZGVfYWxsb2NfdGVtcF9idWZmZXJzKHBiaSwgcGMtPm1iX3Jvd3Mp
OwotICAgICAgICB9Ci0jZW5kaWYKLQogICAgICAgICBpZiAodnA4X2FsbG9jX2ZyYW1lX2J1ZmZl
cnMocGMsIHBjLT5XaWR0aCwgcGMtPkhlaWdodCkpIHsKICAgICAgICAgICB2cHhfaW50ZXJuYWxf
ZXJyb3IoJnBjLT5lcnJvciwgVlBYX0NPREVDX01FTV9FUlJPUiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSBmcmFtZSBidWZmZXJzIik7CkBAIC00NjUs
OCArNDQyLDEwIEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgdnA4X2RlY29kZSh2cHhfY29kZWNf
YWxnX3ByaXZfdCAqY3R4LAogCiAjaWYgQ09ORklHX01VTFRJVEhSRUFECiAgICAgICAgIGlmICh2
cHhfYXRvbWljX2xvYWRfYWNxdWlyZSgmcGJpLT5iX211bHRpdGhyZWFkZWRfcmQpKSB7Ci0gICAg
ICAgICAgdnA4bXRfYWxsb2NfdGVtcF9idWZmZXJzKHBiaSwgcGMtPldpZHRoLCAwKTsKKyAgICAg
ICAgICB2cDhtdF9hbGxvY190ZW1wX2J1ZmZlcnMocGJpLCBwYy0+V2lkdGgsIHByZXZfbWJfcm93
cyk7CiAgICAgICAgIH0KKyNlbHNlCisgICAgICAgICh2b2lkKXByZXZfbWJfcm93czsKICNlbmRp
ZgogICAgICAgfQogCkBAIC01MTMsNyArNDkyLDYgQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCB2
cDhfZGVjb2RlKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAKICAgICAvKiBnZXQgcmVhZHkg
Zm9yIHRoZSBuZXh0IHNlcmllcyBvZiBmcmFnbWVudHMgKi8KICAgICBjdHgtPmZyYWdtZW50cy5j
b3VudCA9IDA7Ci0gICAgcGJpLT5jb21tb24uZXJyb3Iuc2V0am1wID0gMDsKICAgfQogCiAgIHJl
dHVybiByZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhfcmF0ZWN0cmxfcnRjLmNj
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDgvdnA4X3JhdGVjdHJsX3J0Yy5jYwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNjBiYzI1OGE2ZmNkLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDgvdnA4X3JhdGVjdHJsX3J0Yy5jYworKysgL2Rldi9udWxsCkBAIC0xLDQxMiArMCwwIEBACi0v
KgotICogIENvcHlyaWdodCAoYykgMjAyMSBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRp
dGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0g
KiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3Jz
IG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxtYXRoLmg+Ci0jaW5jbHVkZSA8bmV3Pgot
I2luY2x1ZGUgInZwOC9jb21tb24vY29tbW9uLmgiCi0jaW5jbHVkZSAidnA4L3ZwOF9yYXRlY3Ry
bF9ydGMuaCIKLSNpbmNsdWRlICJ2cDgvZW5jb2Rlci9vbnl4X2ludC5oIgotI2luY2x1ZGUgInZw
OC9lbmNvZGVyL3JhdGVjdHJsLmgiCi0jaW5jbHVkZSAidnB4X3BvcnRzL3N5c3RlbV9zdGF0ZS5o
IgotCi1uYW1lc3BhY2UgbGlidnB4IHsKLS8qIFF1YW50IE1PRCAqLwotc3RhdGljIGNvbnN0IGlu
dCBrUVRyYW5zW10gPSB7Ci0gIDAsICAxLCAgMiwgIDMsICA0LCAgNSwgIDcsICAgOCwgICA5LCAg
IDEwLCAgMTIsICAxMywgIDE1LCAgMTcsICAxOCwgIDE5LAotICAyMCwgMjEsIDIzLCAyNCwgMjUs
IDI2LCAyNywgIDI4LCAgMjksICAzMCwgIDMxLCAgMzMsICAzNSwgIDM3LCAgMzksICA0MSwKLSAg
NDMsIDQ1LCA0NywgNDksIDUxLCA1MywgNTUsICA1NywgIDU5LCAgNjEsICA2NCwgIDY3LCAgNzAs
ICA3MywgIDc2LCAgNzksCi0gIDgyLCA4NSwgODgsIDkxLCA5NCwgOTcsIDEwMCwgMTAzLCAxMDYs
IDEwOSwgMTEyLCAxMTUsIDExOCwgMTIxLCAxMjQsIDEyNywKLX07Ci0KLXN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGtmX2hpZ2hfbW90aW9uX21pbnFbUUlOREVYX1JBTkdFXSA9IHsKLSAgMCwg
IDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAg
MCwgIDAsICAwLCAgMCwKLSAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwg
IDAsICAwLCAgMCwgIDEsICAxLCAgMSwgIDEsICAxLCAgMSwKLSAgMSwgIDEsICAyLCAgMiwgIDIs
ICAyLCAgMywgIDMsICAzLCAgMywgIDMsICAzLCAgMywgIDMsICA0LCAgNCwgIDQsICA0LCAgNSwK
LSAgNSwgIDUsICA1LCAgNSwgIDUsICA2LCAgNiwgIDYsICA2LCAgNywgIDcsICA4LCAgOCwgIDgs
ICA4LCAgOSwgIDksICAxMCwgMTAsCi0gIDEwLCAxMCwgMTEsIDExLCAxMSwgMTEsIDEyLCAxMiwg
MTMsIDEzLCAxMywgMTMsIDE0LCAxNCwgMTUsIDE1LCAxNSwgMTUsIDE2LAotICAxNiwgMTYsIDE2
LCAxNywgMTcsIDE4LCAxOCwgMTgsIDE4LCAxOSwgMTksIDIwLCAyMCwgMjAsIDIwLCAyMSwgMjEs
IDIxLCAyMSwKLSAgMjIsIDIyLCAyMywgMjMsIDI0LCAyNSwgMjUsIDI2LCAyNiwgMjcsIDI4LCAy
OCwgMjksIDMwCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBpbnRlcl9taW5xW1FJ
TkRFWF9SQU5HRV0gPSB7Ci0gIDAsICAwLCAgMSwgIDEsICAyLCAgMywgIDMsICA0LCAgNCwgIDUs
ICA2LCAgNiwgIDcsICA4LCAgOCwgIDksICA5LCAgMTAsIDExLAotICAxMSwgMTIsIDEzLCAxMywg
MTQsIDE1LCAxNSwgMTYsIDE3LCAxNywgMTgsIDE5LCAyMCwgMjAsIDIxLCAyMiwgMjIsIDIzLCAy
NCwKLSAgMjQsIDI1LCAyNiwgMjcsIDI3LCAyOCwgMjksIDMwLCAzMCwgMzEsIDMyLCAzMywgMzMs
IDM0LCAzNSwgMzYsIDM2LCAzNywgMzgsCi0gIDM5LCAzOSwgNDAsIDQxLCA0MiwgNDIsIDQzLCA0
NCwgNDUsIDQ2LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUwLCA1MSwgNTIsIDUzLAotICA1NCwgNTUs
IDU1LCA1NiwgNTcsIDU4LCA1OSwgNjAsIDYwLCA2MSwgNjIsIDYzLCA2NCwgNjUsIDY2LCA2Nywg
NjcsIDY4LCA2OSwKLSAgNzAsIDcxLCA3MiwgNzMsIDc0LCA3NSwgNzUsIDc2LCA3NywgNzgsIDc5
LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgODYsCi0gIDg3LCA4OCwgODksIDkwLCA5MSwg
OTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk5LCAxMDAKLX07Ci0KLXN0YXRpYyBpbnQgcmVz
Y2FsZShpbnQgdmFsLCBpbnQgbnVtLCBpbnQgZGVub20pIHsKLSAgaW50NjRfdCBsbG51bSA9IG51
bTsKLSAgaW50NjRfdCBsbGRlbiA9IGRlbm9tOwotICBpbnQ2NF90IGxsdmFsID0gdmFsOwotCi0g
IHJldHVybiAoaW50KShsbHZhbCAqIGxsbnVtIC8gbGxkZW4pOwotfQotCi1zdGQ6OnVuaXF1ZV9w
dHI8VlA4UmF0ZUNvbnRyb2xSVEM+IFZQOFJhdGVDb250cm9sUlRDOjpDcmVhdGUoCi0gICAgY29u
c3QgVlA4UmF0ZUNvbnRyb2xSdGNDb25maWcgJmNmZykgewotICBzdGQ6OnVuaXF1ZV9wdHI8VlA4
UmF0ZUNvbnRyb2xSVEM+IHJjX2FwaShuZXcgKHN0ZDo6bm90aHJvdykKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZQOFJhdGVDb250cm9sUlRDKCkpOwot
ICBpZiAoIXJjX2FwaSkgcmV0dXJuIG51bGxwdHI7Ci0gIHJjX2FwaS0+Y3BpXyA9IHN0YXRpY19j
YXN0PFZQOF9DT01QICo+KHZweF9tZW1hbGlnbigzMiwgc2l6ZW9mKCpjcGlfKSkpOwotICBpZiAo
IXJjX2FwaS0+Y3BpXykgcmV0dXJuIG51bGxwdHI7Ci0gIHZwOF96ZXJvKCpyY19hcGktPmNwaV8p
OwotCi0gIGlmICghcmNfYXBpLT5Jbml0UmF0ZUNvbnRyb2woY2ZnKSkgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgcmV0dXJuIHJjX2FwaTsKLX0KLQotVlA4UmF0ZUNvbnRyb2xSVEM6On5WUDhSYXRlQ29u
dHJvbFJUQygpIHsKLSAgaWYgKGNwaV8pIHsKLSAgICB2cHhfZnJlZShjcGlfLT5nZl9hY3RpdmVf
ZmxhZ3MpOwotICAgIHZweF9mcmVlKGNwaV8pOwotICB9Ci19Ci0KLWJvb2wgVlA4UmF0ZUNvbnRy
b2xSVEM6OkluaXRSYXRlQ29udHJvbChjb25zdCBWUDhSYXRlQ29udHJvbFJ0Y0NvbmZpZyAmcmNf
Y2ZnKSB7Ci0gIFZQOF9DT01NT04gKmNtID0gJmNwaV8tPmNvbW1vbjsKLSAgVlA4X0NPTkZJRyAq
b3hjZiA9ICZjcGlfLT5veGNmOwotICBveGNmLT5lbmRfdXNhZ2UgPSBVU0FHRV9TVFJFQU1fRlJP
TV9TRVJWRVI7Ci0gIGNwaV8tPnBhc3MgPSAwOwotICBjbS0+c2hvd19mcmFtZSA9IDE7Ci0gIG94
Y2YtPmRyb3BfZnJhbWVzX3dhdGVyX21hcmsgPSAwOwotICBjbS0+Y3VycmVudF92aWRlb19mcmFt
ZSA9IDA7Ci0gIGNwaV8tPmF1dG9fZ29sZCA9IDE7Ci0gIGNwaV8tPmtleV9mcmFtZV9jb3VudCA9
IDE7Ci0gIGNwaV8tPnJhdGVfY29ycmVjdGlvbl9mYWN0b3IgPSAxLjA7Ci0gIGNwaV8tPmtleV9m
cmFtZV9yYXRlX2NvcnJlY3Rpb25fZmFjdG9yID0gMS4wOwotICBjcGlfLT5jeWNsaWNfcmVmcmVz
aF9tb2RlX2VuYWJsZWQgPSAwOwotICBjcGlfLT5hdXRvX3dvcnN0X3EgPSAxOwotICBjcGlfLT5r
Zl9vdmVyc3BlbmRfYml0cyA9IDA7Ci0gIGNwaV8tPmtmX2JpdHJhdGVfYWRqdXN0bWVudCA9IDA7
Ci0gIGNwaV8tPmdmX292ZXJzcGVuZF9iaXRzID0gMDsKLSAgY3BpXy0+bm9uX2dmX2JpdHJhdGVf
YWRqdXN0bWVudCA9IDA7Ci0gIGlmICghVXBkYXRlUmF0ZUNvbnRyb2wocmNfY2ZnKSkgcmV0dXJu
IGZhbHNlOwotICBjcGlfLT5idWZmZXJfbGV2ZWwgPSBveGNmLT5zdGFydGluZ19idWZmZXJfbGV2
ZWw7Ci0gIGNwaV8tPmJpdHNfb2ZmX3RhcmdldCA9IG94Y2YtPnN0YXJ0aW5nX2J1ZmZlcl9sZXZl
bDsKLSAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgVlA4UmF0ZUNvbnRyb2xSVEM6OlVwZGF0ZVJh
dGVDb250cm9sKAotICAgIGNvbnN0IFZQOFJhdGVDb250cm9sUnRjQ29uZmlnICZyY19jZmcpIHsK
LSAgaWYgKHJjX2NmZy50c19udW1iZXJfbGF5ZXJzIDwgMSB8fAotICAgICAgcmNfY2ZnLnRzX251
bWJlcl9sYXllcnMgPiBWUFhfVFNfTUFYX0xBWUVSUykgewotICAgIHJldHVybiBmYWxzZTsKLSAg
fQotCi0gIFZQOF9DT01NT04gKmNtID0gJmNwaV8tPmNvbW1vbjsKLSAgVlA4X0NPTkZJRyAqb3hj
ZiA9ICZjcGlfLT5veGNmOwotICBjb25zdCB1bnNpZ25lZCBpbnQgcHJldl9udW1iZXJfb2ZfbGF5
ZXJzID0gb3hjZi0+bnVtYmVyX29mX2xheWVyczsKLSAgdnB4X2NsZWFyX3N5c3RlbV9zdGF0ZSgp
OwotICBjbS0+V2lkdGggPSByY19jZmcud2lkdGg7Ci0gIGNtLT5IZWlnaHQgPSByY19jZmcuaGVp
Z2h0OwotICBveGNmLT5XaWR0aCA9IHJjX2NmZy53aWR0aDsKLSAgb3hjZi0+SGVpZ2h0ID0gcmNf
Y2ZnLmhlaWdodDsKLSAgb3hjZi0+d29yc3RfYWxsb3dlZF9xID0ga1FUcmFuc1tyY19jZmcubWF4
X3F1YW50aXplcl07Ci0gIG94Y2YtPmJlc3RfYWxsb3dlZF9xID0ga1FUcmFuc1tyY19jZmcubWlu
X3F1YW50aXplcl07Ci0gIGNwaV8tPndvcnN0X3F1YWxpdHkgPSBveGNmLT53b3JzdF9hbGxvd2Vk
X3E7Ci0gIGNwaV8tPmJlc3RfcXVhbGl0eSA9IG94Y2YtPmJlc3RfYWxsb3dlZF9xOwotICBjcGlf
LT5vdXRwdXRfZnJhbWVyYXRlID0gcmNfY2ZnLmZyYW1lcmF0ZTsKLSAgb3hjZi0+dGFyZ2V0X2Jh
bmR3aWR0aCA9Ci0gICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KDEwMDAgKiByY19jZmcu
dGFyZ2V0X2JhbmR3aWR0aCk7Ci0gIGNwaV8tPnJlZl9mcmFtZXJhdGUgPSBjcGlfLT5vdXRwdXRf
ZnJhbWVyYXRlOwotICBveGNmLT5maXhlZF9xID0gLTE7Ci0gIG94Y2YtPmVycm9yX3Jlc2lsaWVu
dF9tb2RlID0gMTsKLSAgb3hjZi0+c3RhcnRpbmdfYnVmZmVyX2xldmVsX2luX21zID0gcmNfY2Zn
LmJ1Zl9pbml0aWFsX3N6OwotICBveGNmLT5vcHRpbWFsX2J1ZmZlcl9sZXZlbF9pbl9tcyA9IHJj
X2NmZy5idWZfb3B0aW1hbF9zejsKLSAgb3hjZi0+bWF4aW11bV9idWZmZXJfc2l6ZV9pbl9tcyA9
IHJjX2NmZy5idWZfc3o7Ci0gIG94Y2YtPnN0YXJ0aW5nX2J1ZmZlcl9sZXZlbCA9IHJjX2NmZy5i
dWZfaW5pdGlhbF9zejsKLSAgb3hjZi0+b3B0aW1hbF9idWZmZXJfbGV2ZWwgPSByY19jZmcuYnVm
X29wdGltYWxfc3o7Ci0gIG94Y2YtPm1heGltdW1fYnVmZmVyX3NpemUgPSByY19jZmcuYnVmX3N6
OwotICBveGNmLT5udW1iZXJfb2ZfbGF5ZXJzID0gcmNfY2ZnLnRzX251bWJlcl9sYXllcnM7Ci0g
IGNwaV8tPmJ1ZmZlcmVkX21vZGUgPSBveGNmLT5vcHRpbWFsX2J1ZmZlcl9sZXZlbCA+IDA7Ci0g
IG94Y2YtPnVuZGVyX3Nob290X3BjdCA9IHJjX2NmZy51bmRlcnNob290X3BjdDsKLSAgb3hjZi0+
b3Zlcl9zaG9vdF9wY3QgPSByY19jZmcub3ZlcnNob290X3BjdDsKLSAgY3BpXy0+b3hjZi5yY19t
YXhfaW50cmFfYml0cmF0ZV9wY3QgPSByY19jZmcubWF4X2ludHJhX2JpdHJhdGVfcGN0OwotICBj
cGlfLT5mcmFtZXJhdGUgPSByY19jZmcuZnJhbWVyYXRlOwotICBmb3IgKGludCBpID0gMDsgaSA8
IEtFWV9GUkFNRV9DT05URVhUOyArK2kpIHsKLSAgICBjcGlfLT5wcmlvcl9rZXlfZnJhbWVfZGlz
dGFuY2VbaV0gPQotICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGNwaV8tPm91dHB1dF9mcmFtZXJh
dGUpOwotICB9Ci0KLSAgaWYgKG94Y2YtPm51bWJlcl9vZl9sYXllcnMgPiAxIHx8IHByZXZfbnVt
YmVyX29mX2xheWVycyA+IDEpIHsKLSAgICBtZW1jcHkob3hjZi0+dGFyZ2V0X2JpdHJhdGUsIHJj
X2NmZy5sYXllcl90YXJnZXRfYml0cmF0ZSwKLSAgICAgICAgICAgc2l6ZW9mKHJjX2NmZy5sYXll
cl90YXJnZXRfYml0cmF0ZSkpOwotICAgIG1lbWNweShveGNmLT5yYXRlX2RlY2ltYXRvciwgcmNf
Y2ZnLnRzX3JhdGVfZGVjaW1hdG9yLAotICAgICAgICAgICBzaXplb2YocmNfY2ZnLnRzX3JhdGVf
ZGVjaW1hdG9yKSk7Ci0gICAgaWYgKGNtLT5jdXJyZW50X3ZpZGVvX2ZyYW1lID09IDApIHsKLSAg
ICAgIGRvdWJsZSBwcmV2X2xheWVyX2ZyYW1lcmF0ZSA9IDA7Ci0gICAgICBmb3IgKHVuc2lnbmVk
IGludCBpID0gMDsgaSA8IG94Y2YtPm51bWJlcl9vZl9sYXllcnM7ICsraSkgewotICAgICAgICB2
cDhfaW5pdF90ZW1wb3JhbF9sYXllcl9jb250ZXh0KGNwaV8sIG94Y2YsIGksIHByZXZfbGF5ZXJf
ZnJhbWVyYXRlKTsKLSAgICAgICAgcHJldl9sYXllcl9mcmFtZXJhdGUgPSBjcGlfLT5vdXRwdXRf
ZnJhbWVyYXRlIC8gb3hjZi0+cmF0ZV9kZWNpbWF0b3JbaV07Ci0gICAgICB9Ci0gICAgfSBlbHNl
IGlmIChveGNmLT5udW1iZXJfb2ZfbGF5ZXJzICE9IHByZXZfbnVtYmVyX29mX2xheWVycykgewot
ICAgICAgLy8gVGhlIG51bWJlciBvZiB0ZW1wb3JhbCBsYXllcnMgaGFzIGNoYW5nZWQsIHNvIHJl
c2V0L2luaXRpYWxpemUgdGhlCi0gICAgICAvLyB0ZW1wb3JhbCBsYXllciBjb250ZXh0IGZvciB0
aGUgbmV3IGxheWVyIGNvbmZpZ3VyYXRpb246IHRoaXMgbWVhbnMKLSAgICAgIC8vIGNhbGxpbmcg
dnA4X3Jlc2V0X3RlbXBvcmFsX2xheWVyX2NoYW5nZSgpIGJlbG93LgotCi0gICAgICAvLyBTdGFy
dCBhdCB0aGUgYmFzZSBvZiB0aGUgcGF0dGVybiBjeWNsZSwgc28gc2V0IHRoZSBsYXllciBpZCB0
byAwIGFuZAotICAgICAgLy8gcmVzZXQgdGhlIHRlbXBvcmFsIHBhdHRlcm4gY291bnRlci4KLSAg
ICAgIC8vIFRPRE8obWFycGFuL2ppYW5qKTogZG9uJ3QgdGhpbmsgbGluZXMgMTQ4LTE1MSBhcmUg
bmVlZGVkICh1c2VyIGNvbnRyb2xzCi0gICAgICAvLyB0aGUgbGF5ZXJfaWQpIHNvIHJlbW92ZS4K
LSAgICAgIGlmIChjcGlfLT50ZW1wb3JhbF9sYXllcl9pZCA+IDApIHsKLSAgICAgICAgY3BpXy0+
dGVtcG9yYWxfbGF5ZXJfaWQgPSAwOwotICAgICAgfQotICAgICAgY3BpXy0+dGVtcG9yYWxfcGF0
dGVybl9jb3VudGVyID0gMDsKLQotICAgICAgdnA4X3Jlc2V0X3RlbXBvcmFsX2xheWVyX2NoYW5n
ZShjcGlfLCBveGNmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
aWNfY2FzdDxpbnQ+KHByZXZfbnVtYmVyX29mX2xheWVycykpOwotICAgIH0KLSAgfQotCi0gIGNw
aV8tPnRvdGFsX2FjdHVhbF9iaXRzID0gMDsKLSAgY3BpXy0+dG90YWxfdGFyZ2V0X3ZzX2FjdHVh
bCA9IDA7Ci0KLSAgY20tPm1iX3Jvd3MgPSBjbS0+SGVpZ2h0ID4+IDQ7Ci0gIGNtLT5tYl9jb2xz
ID0gY20tPldpZHRoID4+IDQ7Ci0gIGNtLT5NQnMgPSBjbS0+bWJfcm93cyAqIGNtLT5tYl9jb2xz
OwotICBjbS0+bW9kZV9pbmZvX3N0cmlkZSA9IGNtLT5tYl9jb2xzICsgMTsKLQotICAvLyBGb3Ig
dGVtcG9yYWwgbGF5ZXJzOiBzdGFydGluZy9tYXhpbXVtL29wdGltYWxfYnVmZmVyX2xldmVsIGlz
IGFscmVhZHkgc2V0Ci0gIC8vIHZpYSB2cDhfaW5pdF90ZW1wb3JhbF9sYXllcl9jb250ZXh0KCkg
b3IgdnA4X3Jlc2V0X3RlbXBvcmFsX2xheWVyX2NoYW5nZSgpLgotICBpZiAob3hjZi0+bnVtYmVy
X29mX2xheWVycyA8PSAxICYmIHByZXZfbnVtYmVyX29mX2xheWVycyA8PSAxKSB7Ci0gICAgb3hj
Zi0+c3RhcnRpbmdfYnVmZmVyX2xldmVsID0KLSAgICAgICAgcmVzY2FsZSgoaW50KW94Y2YtPnN0
YXJ0aW5nX2J1ZmZlcl9sZXZlbCwgb3hjZi0+dGFyZ2V0X2JhbmR3aWR0aCwgMTAwMCk7Ci0gICAg
LyogU2V0IG9yIHJlc2V0IG9wdGltYWwgYW5kIG1heGltdW0gYnVmZmVyIGxldmVscy4gKi8KLSAg
ICBpZiAob3hjZi0+b3B0aW1hbF9idWZmZXJfbGV2ZWwgPT0gMCkgewotICAgICAgb3hjZi0+b3B0
aW1hbF9idWZmZXJfbGV2ZWwgPSBveGNmLT50YXJnZXRfYmFuZHdpZHRoIC8gODsKLSAgICB9IGVs
c2UgewotICAgICAgb3hjZi0+b3B0aW1hbF9idWZmZXJfbGV2ZWwgPSByZXNjYWxlKChpbnQpb3hj
Zi0+b3B0aW1hbF9idWZmZXJfbGV2ZWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3hjZi0+dGFyZ2V0X2JhbmR3aWR0aCwgMTAwMCk7Ci0gICAgfQotICAgIGlm
IChveGNmLT5tYXhpbXVtX2J1ZmZlcl9zaXplID09IDApIHsKLSAgICAgIG94Y2YtPm1heGltdW1f
YnVmZmVyX3NpemUgPSBveGNmLT50YXJnZXRfYmFuZHdpZHRoIC8gODsKLSAgICB9IGVsc2Ugewot
ICAgICAgb3hjZi0+bWF4aW11bV9idWZmZXJfc2l6ZSA9Ci0gICAgICAgICAgcmVzY2FsZSgoaW50
KW94Y2YtPm1heGltdW1fYnVmZmVyX3NpemUsIG94Y2YtPnRhcmdldF9iYW5kd2lkdGgsIDEwMDAp
OwotICAgIH0KLSAgfQotCi0gIGlmIChjcGlfLT5iaXRzX29mZl90YXJnZXQgPiBveGNmLT5tYXhp
bXVtX2J1ZmZlcl9zaXplKSB7Ci0gICAgY3BpXy0+Yml0c19vZmZfdGFyZ2V0ID0gb3hjZi0+bWF4
aW11bV9idWZmZXJfc2l6ZTsKLSAgICBjcGlfLT5idWZmZXJfbGV2ZWwgPSBjcGlfLT5iaXRzX29m
Zl90YXJnZXQ7Ci0gIH0KLQotICB2cDhfbmV3X2ZyYW1lcmF0ZShjcGlfLCBjcGlfLT5mcmFtZXJh
dGUpOwotICB2cHhfY2xlYXJfc3lzdGVtX3N0YXRlKCk7Ci0gIHJldHVybiB0cnVlOwotfQotCi12
b2lkIFZQOFJhdGVDb250cm9sUlRDOjpDb21wdXRlUVAoY29uc3QgVlA4RnJhbWVQYXJhbXNRcFJU
QyAmZnJhbWVfcGFyYW1zKSB7Ci0gIFZQOF9DT01NT04gKmNvbnN0IGNtID0gJmNwaV8tPmNvbW1v
bjsKLSAgdnB4X2NsZWFyX3N5c3RlbV9zdGF0ZSgpOwotICBpZiAoY3BpXy0+b3hjZi5udW1iZXJf
b2ZfbGF5ZXJzID4gMSkgewotICAgIGNwaV8tPnRlbXBvcmFsX2xheWVyX2lkID0gZnJhbWVfcGFy
YW1zLnRlbXBvcmFsX2xheWVyX2lkOwotICAgIGNvbnN0IGludCBsYXllciA9IGZyYW1lX3BhcmFt
cy50ZW1wb3JhbF9sYXllcl9pZDsKLSAgICB2cDhfdXBkYXRlX2xheWVyX2NvbnRleHRzKGNwaV8p
OwotICAgIC8qIFJlc3RvcmUgbGF5ZXIgc3BlY2lmaWMgY29udGV4dCAmIHNldCBmcmFtZSByYXRl
ICovCi0gICAgdnA4X3Jlc3RvcmVfbGF5ZXJfY29udGV4dChjcGlfLCBsYXllcik7Ci0gICAgdnA4
X25ld19mcmFtZXJhdGUoY3BpXywgY3BpXy0+bGF5ZXJfY29udGV4dFtsYXllcl0uZnJhbWVyYXRl
KTsKLSAgfQotICBjbS0+ZnJhbWVfdHlwZSA9IHN0YXRpY19jYXN0PEZSQU1FX1RZUEU+KGZyYW1l
X3BhcmFtcy5mcmFtZV90eXBlKTsKLSAgY20tPnJlZnJlc2hfZ29sZGVuX2ZyYW1lID0gKGNtLT5m
cmFtZV90eXBlID09IEtFWV9GUkFNRSkgPyAxIDogMDsKLSAgY20tPnJlZnJlc2hfYWx0X3JlZl9m
cmFtZSA9IChjbS0+ZnJhbWVfdHlwZSA9PSBLRVlfRlJBTUUpID8gMSA6IDA7Ci0gIGlmIChjbS0+
ZnJhbWVfdHlwZSA9PSBLRVlfRlJBTUUgJiYgY3BpXy0+Y29tbW9uLmN1cnJlbnRfdmlkZW9fZnJh
bWUgPiAwKSB7Ci0gICAgY3BpXy0+Y29tbW9uLmZyYW1lX2ZsYWdzIHw9IEZSQU1FRkxBR1NfS0VZ
OwotICB9Ci0KLSAgdnA4X3BpY2tfZnJhbWVfc2l6ZShjcGlfKTsKLQotICBpZiAoY3BpXy0+YnVm
ZmVyX2xldmVsID49IGNwaV8tPm94Y2Yub3B0aW1hbF9idWZmZXJfbGV2ZWwgJiYKLSAgICAgIGNw
aV8tPmJ1ZmZlcmVkX21vZGUpIHsKLSAgICAvKiBNYXggYWRqdXN0bWVudCBpcyAxLzQgKi8KLSAg
ICBpbnQgQWRqdXN0bWVudCA9IGNwaV8tPmFjdGl2ZV93b3JzdF9xdWFsaXR5IC8gNDsKLSAgICBp
ZiAoQWRqdXN0bWVudCkgewotICAgICAgaW50IGJ1ZmZfbHZsX3N0ZXA7Ci0gICAgICBpZiAoY3Bp
Xy0+YnVmZmVyX2xldmVsIDwgY3BpXy0+b3hjZi5tYXhpbXVtX2J1ZmZlcl9zaXplKSB7Ci0gICAg
ICAgIGJ1ZmZfbHZsX3N0ZXAgPSAoaW50KSgoY3BpXy0+b3hjZi5tYXhpbXVtX2J1ZmZlcl9zaXpl
IC0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcGlfLT5veGNmLm9wdGltYWxfYnVm
ZmVyX2xldmVsKSAvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGp1c3RtZW50KTsK
LSAgICAgICAgaWYgKGJ1ZmZfbHZsX3N0ZXApIHsKLSAgICAgICAgICBBZGp1c3RtZW50ID0KLSAg
ICAgICAgICAgICAgKGludCkoKGNwaV8tPmJ1ZmZlcl9sZXZlbCAtIGNwaV8tPm94Y2Yub3B0aW1h
bF9idWZmZXJfbGV2ZWwpIC8KLSAgICAgICAgICAgICAgICAgICAgYnVmZl9sdmxfc3RlcCk7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgQWRqdXN0bWVudCA9IDA7Ci0gICAgICAgIH0KLSAg
ICAgIH0KLSAgICAgIGNwaV8tPmFjdGl2ZV93b3JzdF9xdWFsaXR5IC09IEFkanVzdG1lbnQ7Ci0g
ICAgICBpZiAoY3BpXy0+YWN0aXZlX3dvcnN0X3F1YWxpdHkgPCBjcGlfLT5hY3RpdmVfYmVzdF9x
dWFsaXR5KSB7Ci0gICAgICAgIGNwaV8tPmFjdGl2ZV93b3JzdF9xdWFsaXR5ID0gY3BpXy0+YWN0
aXZlX2Jlc3RfcXVhbGl0eTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICBpZiAoY3BpXy0+bmlf
ZnJhbWVzID4gMTUwKSB7Ci0gICAgaW50IHEgPSBjcGlfLT5hY3RpdmVfd29yc3RfcXVhbGl0eTsK
LSAgICBpZiAoY20tPmZyYW1lX3R5cGUgPT0gS0VZX0ZSQU1FKSB7Ci0gICAgICBjcGlfLT5hY3Rp
dmVfYmVzdF9xdWFsaXR5ID0ga2ZfaGlnaF9tb3Rpb25fbWlucVtxXTsKLSAgICB9IGVsc2Ugewot
ICAgICAgY3BpXy0+YWN0aXZlX2Jlc3RfcXVhbGl0eSA9IGludGVyX21pbnFbcV07Ci0gICAgfQot
Ci0gICAgaWYgKGNwaV8tPmJ1ZmZlcl9sZXZlbCA+PSBjcGlfLT5veGNmLm1heGltdW1fYnVmZmVy
X3NpemUpIHsKLSAgICAgIGNwaV8tPmFjdGl2ZV9iZXN0X3F1YWxpdHkgPSBjcGlfLT5iZXN0X3F1
YWxpdHk7Ci0KLSAgICB9IGVsc2UgaWYgKGNwaV8tPmJ1ZmZlcl9sZXZlbCA+IGNwaV8tPm94Y2Yu
b3B0aW1hbF9idWZmZXJfbGV2ZWwpIHsKLSAgICAgIGludCBGcmFjdGlvbiA9Ci0gICAgICAgICAg
KGludCkoKChjcGlfLT5idWZmZXJfbGV2ZWwgLSBjcGlfLT5veGNmLm9wdGltYWxfYnVmZmVyX2xl
dmVsKSAqIDEyOCkgLwotICAgICAgICAgICAgICAgIChjcGlfLT5veGNmLm1heGltdW1fYnVmZmVy
X3NpemUgLQotICAgICAgICAgICAgICAgICBjcGlfLT5veGNmLm9wdGltYWxfYnVmZmVyX2xldmVs
KSk7Ci0gICAgICBpbnQgbWluX3FhZGp1c3RtZW50ID0KLSAgICAgICAgICAoKGNwaV8tPmFjdGl2
ZV9iZXN0X3F1YWxpdHkgLSBjcGlfLT5iZXN0X3F1YWxpdHkpICogRnJhY3Rpb24pIC8gMTI4Owot
Ci0gICAgICBjcGlfLT5hY3RpdmVfYmVzdF9xdWFsaXR5IC09IG1pbl9xYWRqdXN0bWVudDsKLSAg
ICB9Ci0gIH0KLQotICAvKiBDbGlwIHRoZSBhY3RpdmUgYmVzdCBhbmQgd29yc3QgcXVhbGl0eSB2
YWx1ZXMgdG8gbGltaXRzICovCi0gIGlmIChjcGlfLT5hY3RpdmVfd29yc3RfcXVhbGl0eSA+IGNw
aV8tPndvcnN0X3F1YWxpdHkpIHsKLSAgICBjcGlfLT5hY3RpdmVfd29yc3RfcXVhbGl0eSA9IGNw
aV8tPndvcnN0X3F1YWxpdHk7Ci0gIH0KLSAgaWYgKGNwaV8tPmFjdGl2ZV9iZXN0X3F1YWxpdHkg
PCBjcGlfLT5iZXN0X3F1YWxpdHkpIHsKLSAgICBjcGlfLT5hY3RpdmVfYmVzdF9xdWFsaXR5ID0g
Y3BpXy0+YmVzdF9xdWFsaXR5OwotICB9Ci0gIGlmIChjcGlfLT5hY3RpdmVfd29yc3RfcXVhbGl0
eSA8IGNwaV8tPmFjdGl2ZV9iZXN0X3F1YWxpdHkpIHsKLSAgICBjcGlfLT5hY3RpdmVfd29yc3Rf
cXVhbGl0eSA9IGNwaV8tPmFjdGl2ZV9iZXN0X3F1YWxpdHk7Ci0gIH0KLQotICBxXyA9IHZwOF9y
ZWd1bGF0ZV9xKGNwaV8sIGNwaV8tPnRoaXNfZnJhbWVfdGFyZ2V0KTsKLSAgdnA4X3NldF9xdWFu
dGl6ZXIoY3BpXywgcV8pOwotICB2cHhfY2xlYXJfc3lzdGVtX3N0YXRlKCk7Ci19Ci0KLWludCBW
UDhSYXRlQ29udHJvbFJUQzo6R2V0UVAoKSBjb25zdCB7IHJldHVybiBxXzsgfQotCi1pbnQgVlA4
UmF0ZUNvbnRyb2xSVEM6OkdldExvb3BmaWx0ZXJMZXZlbCgpIGNvbnN0IHsKLSAgVlA4X0NPTU1P
TiAqY20gPSAmY3BpXy0+Y29tbW9uOwotICBjb25zdCBkb3VibGUgcXAgPSBxXzsKLQotICAvLyBU
aGlzIG1vZGVsIGlzIGZyb20gbGluZWFyIHJlZ3Jlc3Npb24KLSAgaWYgKGNtLT5XaWR0aCAqIGNt
LT5IZWlnaHQgPD0gMzIwICogMjQwKSB7Ci0gICAgY20tPmZpbHRlcl9sZXZlbCA9IHN0YXRpY19j
YXN0PGludD4oMC4zNTI2ODUgKiBxcCArIDIuOTU3Nzc0KTsKLSAgfSBlbHNlIGlmIChjbS0+V2lk
dGggKiBjbS0+SGVpZ2h0IDw9IDY0MCAqIDQ4MCkgewotICAgIGNtLT5maWx0ZXJfbGV2ZWwgPSBz
dGF0aWNfY2FzdDxpbnQ+KDAuNDg1MDY5ICogcXAgLSAwLjUzNDQ2Mik7Ci0gIH0gZWxzZSB7Ci0g
ICAgY20tPmZpbHRlcl9sZXZlbCA9IHN0YXRpY19jYXN0PGludD4oMC4zMTQ4NzUgKiBxcCArIDcu
OTU5MDAzKTsKLSAgfQotCi0gIGludCBtaW5fZmlsdGVyX2xldmVsID0gMDsKLSAgLy8gVGhpcyBs
b2dpYyBpcyBmcm9tIGdldF9taW5fZmlsdGVyX2xldmVsKCkgaW4gcGlja2xwZi5jCi0gIGlmIChx
XyA+IDYgJiYgcV8gPD0gMTYpIHsKLSAgICBtaW5fZmlsdGVyX2xldmVsID0gMTsKLSAgfSBlbHNl
IHsKLSAgICBtaW5fZmlsdGVyX2xldmVsID0gKHFfIC8gOCk7Ci0gIH0KLQotICBjb25zdCBpbnQg
bWF4X2ZpbHRlcl9sZXZlbCA9IDYzOwotICBpZiAoY20tPmZpbHRlcl9sZXZlbCA8IG1pbl9maWx0
ZXJfbGV2ZWwpIGNtLT5maWx0ZXJfbGV2ZWwgPSBtaW5fZmlsdGVyX2xldmVsOwotICBpZiAoY20t
PmZpbHRlcl9sZXZlbCA+IG1heF9maWx0ZXJfbGV2ZWwpIGNtLT5maWx0ZXJfbGV2ZWwgPSBtYXhf
ZmlsdGVyX2xldmVsOwotCi0gIHJldHVybiBjbS0+ZmlsdGVyX2xldmVsOwotfQotCi12b2lkIFZQ
OFJhdGVDb250cm9sUlRDOjpQb3N0RW5jb2RlVXBkYXRlKHVpbnQ2NF90IGVuY29kZWRfZnJhbWVf
c2l6ZSkgewotICBWUDhfQ09NTU9OICpjb25zdCBjbSA9ICZjcGlfLT5jb21tb247Ci0gIHZweF9j
bGVhcl9zeXN0ZW1fc3RhdGUoKTsKLSAgY3BpXy0+dG90YWxfYnl0ZV9jb3VudCArPSBlbmNvZGVk
X2ZyYW1lX3NpemU7Ci0gIGNwaV8tPnByb2plY3RlZF9mcmFtZV9zaXplID0gc3RhdGljX2Nhc3Q8
aW50PihlbmNvZGVkX2ZyYW1lX3NpemUgPDwgMyk7Ci0gIGlmIChjcGlfLT5veGNmLm51bWJlcl9v
Zl9sYXllcnMgPiAxKSB7Ci0gICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IGNwaV8tPmN1cnJlbnRf
bGF5ZXIgKyAxOwotICAgICAgICAgaSA8IGNwaV8tPm94Y2YubnVtYmVyX29mX2xheWVyczsgKytp
KSB7Ci0gICAgICBjcGlfLT5sYXllcl9jb250ZXh0W2ldLnRvdGFsX2J5dGVfY291bnQgKz0gZW5j
b2RlZF9mcmFtZV9zaXplOwotICAgIH0KLSAgfQotCi0gIHZwOF91cGRhdGVfcmF0ZV9jb3JyZWN0
aW9uX2ZhY3RvcnMoY3BpXywgMik7Ci0KLSAgY3BpXy0+bGFzdF9xW2NtLT5mcmFtZV90eXBlXSA9
IGNtLT5iYXNlX3FpbmRleDsKLQotICBpZiAoY20tPmZyYW1lX3R5cGUgPT0gS0VZX0ZSQU1FKSB7
Ci0gICAgdnA4X2FkanVzdF9rZXlfZnJhbWVfY29udGV4dChjcGlfKTsKLSAgfQotCi0gIC8qIEtl
ZXAgYSByZWNvcmQgb2YgYW1iaWVudCBhdmVyYWdlIFEuICovCi0gIGlmIChjbS0+ZnJhbWVfdHlw
ZSAhPSBLRVlfRlJBTUUpIHsKLSAgICBjcGlfLT5hdmdfZnJhbWVfcWluZGV4ID0KLSAgICAgICAg
KDIgKyAzICogY3BpXy0+YXZnX2ZyYW1lX3FpbmRleCArIGNtLT5iYXNlX3FpbmRleCkgPj4gMjsK
LSAgfQotICAvKiBLZWVwIGEgcmVjb3JkIGZyb20gd2hpY2ggd2UgY2FuIGNhbGN1bGF0ZSB0aGUg
YXZlcmFnZSBRIGV4Y2x1ZGluZwotICAgKiBrZXkgZnJhbWVzLgotICAgKi8KLSAgaWYgKGNtLT5m
cmFtZV90eXBlICE9IEtFWV9GUkFNRSkgewotICAgIGNwaV8tPm5pX2ZyYW1lcysrOwotICAgIC8q
IERhbXAgdmFsdWUgZm9yIGZpcnN0IGZldyBmcmFtZXMgKi8KLSAgICBpZiAoY3BpXy0+bmlfZnJh
bWVzID4gMTUwKSB7Ci0gICAgICBjcGlfLT5uaV90b3RfcWkgKz0gcV87Ci0gICAgICBjcGlfLT5u
aV9hdl9xaSA9IChjcGlfLT5uaV90b3RfcWkgLyBjcGlfLT5uaV9mcmFtZXMpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICBjcGlfLT5uaV90b3RfcWkgKz0gcV87Ci0gICAgICBjcGlfLT5uaV9hdl9xaSA9
Ci0gICAgICAgICAgKChjcGlfLT5uaV90b3RfcWkgLyBjcGlfLT5uaV9mcmFtZXMpICsgY3BpXy0+
d29yc3RfcXVhbGl0eSArIDEpIC8gMjsKLSAgICB9Ci0KLSAgICAvKiBJZiB0aGUgYXZlcmFnZSBR
IGlzIGhpZ2hlciB0aGFuIHdoYXQgd2FzIHVzZWQgaW4gdGhlIGxhc3QKLSAgICAgKiBmcmFtZSAo
YWZ0ZXIgZ29pbmcgdGhyb3VnaCB0aGUgcmVjb2RlIGxvb3AgdG8ga2VlcCB0aGUgZnJhbWUKLSAg
ICAgKiBzaXplIHdpdGhpbiByYW5nZSkgdGhlbiB1c2UgdGhlIGxhc3QgZnJhbWUgdmFsdWUgLSAx
LiBUaGUgLTEKLSAgICAgKiBpcyBkZXNpZ25lZCB0byBzdG9wIFEgYW5kIGhlbmNlIHRoZSBkYXRh
IHJhdGUsIGZyb20KLSAgICAgKiBwcm9ncmVzc2l2ZWx5IGZhbGxpbmcgYXdheSBkdXJpbmcgZGlm
ZmljdWx0IHNlY3Rpb25zLCBidXQgYXQKLSAgICAgKiB0aGUgc2FtZSB0aW1lIHJlZHVjZSB0aGUg
bnVtYmVyIG9mIGl0dGVyYXRpb25zIGFyb3VuZCB0aGUKLSAgICAgKiByZWNvZGUgbG9vcC4KLSAg
ICAgKi8KLSAgICBpZiAocV8gPiBjcGlfLT5uaV9hdl9xaSkgY3BpXy0+bmlfYXZfcWkgPSBxXyAt
IDE7Ci0gIH0KLQotICBjcGlfLT5iaXRzX29mZl90YXJnZXQgKz0KLSAgICAgIGNwaV8tPmF2X3Bl
cl9mcmFtZV9iYW5kd2lkdGggLSBjcGlfLT5wcm9qZWN0ZWRfZnJhbWVfc2l6ZTsKLSAgaWYgKGNw
aV8tPmJpdHNfb2ZmX3RhcmdldCA+IGNwaV8tPm94Y2YubWF4aW11bV9idWZmZXJfc2l6ZSkgewot
ICAgIGNwaV8tPmJpdHNfb2ZmX3RhcmdldCA9IGNwaV8tPm94Y2YubWF4aW11bV9idWZmZXJfc2l6
ZTsKLSAgfQotCi0gIGNwaV8tPnRvdGFsX2FjdHVhbF9iaXRzICs9IGNwaV8tPnByb2plY3RlZF9m
cmFtZV9zaXplOwotICBjcGlfLT5idWZmZXJfbGV2ZWwgPSBjcGlfLT5iaXRzX29mZl90YXJnZXQ7
Ci0KLSAgLyogUHJvcGFnYXRlIHZhbHVlcyB0byBoaWdoZXIgdGVtcG9yYWwgbGF5ZXJzICovCi0g
IGlmIChjcGlfLT5veGNmLm51bWJlcl9vZl9sYXllcnMgPiAxKSB7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpbnQgaSA9IGNwaV8tPmN1cnJlbnRfbGF5ZXIgKyAxOwotICAgICAgICAgaSA8IGNwaV8tPm94
Y2YubnVtYmVyX29mX2xheWVyczsgKytpKSB7Ci0gICAgICBMQVlFUl9DT05URVhUICpsYyA9ICZj
cGlfLT5sYXllcl9jb250ZXh0W2ldOwotICAgICAgaW50IGJpdHNfb2ZmX2Zvcl90aGlzX2xheWVy
ID0gKGludClyb3VuZCgKLSAgICAgICAgICBsYy0+dGFyZ2V0X2JhbmR3aWR0aCAvIGxjLT5mcmFt
ZXJhdGUgLSBjcGlfLT5wcm9qZWN0ZWRfZnJhbWVfc2l6ZSk7Ci0KLSAgICAgIGxjLT5iaXRzX29m
Zl90YXJnZXQgKz0gYml0c19vZmZfZm9yX3RoaXNfbGF5ZXI7Ci0KLSAgICAgIC8qIENsaXAgYnVm
ZmVyIGxldmVsIHRvIG1heGltdW0gYnVmZmVyIHNpemUgZm9yIHRoZSBsYXllciAqLwotICAgICAg
aWYgKGxjLT5iaXRzX29mZl90YXJnZXQgPiBsYy0+bWF4aW11bV9idWZmZXJfc2l6ZSkgewotICAg
ICAgICBsYy0+Yml0c19vZmZfdGFyZ2V0ID0gbGMtPm1heGltdW1fYnVmZmVyX3NpemU7Ci0gICAg
ICB9Ci0KLSAgICAgIGxjLT50b3RhbF9hY3R1YWxfYml0cyArPSBjcGlfLT5wcm9qZWN0ZWRfZnJh
bWVfc2l6ZTsKLSAgICAgIGxjLT50b3RhbF90YXJnZXRfdnNfYWN0dWFsICs9IGJpdHNfb2ZmX2Zv
cl90aGlzX2xheWVyOwotICAgICAgbGMtPmJ1ZmZlcl9sZXZlbCA9IGxjLT5iaXRzX29mZl90YXJn
ZXQ7Ci0gICAgfQotICB9Ci0KLSAgY3BpXy0+Y29tbW9uLmN1cnJlbnRfdmlkZW9fZnJhbWUrKzsK
LSAgY3BpXy0+ZnJhbWVzX3NpbmNlX2tleSsrOwotCi0gIGlmIChjcGlfLT5veGNmLm51bWJlcl9v
Zl9sYXllcnMgPiAxKSB2cDhfc2F2ZV9sYXllcl9jb250ZXh0KGNwaV8pOwotICB2cHhfY2xlYXJf
c3lzdGVtX3N0YXRlKCk7Ci19Ci19ICAvLyBuYW1lc3BhY2UgbGlidnB4CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOC92cDhfcmF0ZWN0cmxfcnRjLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhfcmF0
ZWN0cmxfcnRjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5NmVmOWVhYWQ1ZS4u
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA4L3ZwOF9yYXRlY3RybF9ydGMuaAorKysg
L2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIxIFRo
ZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQot
ICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2Yg
dGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5
IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxs
IGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFV
VEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2lmbmRl
ZiBWUFhfVlA4X1JBVEVDVFJMX1JUQ19IXwotI2RlZmluZSBWUFhfVlA4X1JBVEVDVFJMX1JUQ19I
XwotCi0jaW5jbHVkZSA8Y3N0ZGludD4KLSNpbmNsdWRlIDxjc3RyaW5nPgotI2luY2x1ZGUgPG1l
bW9yeT4KLQotI2luY2x1ZGUgInZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgiCi0KLXN0
cnVjdCBWUDhfQ09NUDsKLQotbmFtZXNwYWNlIGxpYnZweCB7Ci1zdHJ1Y3QgVlA4UmF0ZUNvbnRy
b2xSdGNDb25maWcgOiBwdWJsaWMgVnB4UmF0ZUNvbnRyb2xSdGNDb25maWcgewotIHB1YmxpYzoK
LSAgVlA4UmF0ZUNvbnRyb2xSdGNDb25maWcoKSB7Ci0gICAgbWVtc2V0KCZsYXllcl90YXJnZXRf
Yml0cmF0ZSwgMCwgc2l6ZW9mKGxheWVyX3RhcmdldF9iaXRyYXRlKSk7Ci0gICAgbWVtc2V0KCZ0
c19yYXRlX2RlY2ltYXRvciwgMCwgc2l6ZW9mKHRzX3JhdGVfZGVjaW1hdG9yKSk7Ci0gIH0KLX07
Ci0KLXN0cnVjdCBWUDhGcmFtZVBhcmFtc1FwUlRDIHsKLSAgUmNGcmFtZVR5cGUgZnJhbWVfdHlw
ZTsKLSAgaW50IHRlbXBvcmFsX2xheWVyX2lkOwotfTsKLQotY2xhc3MgVlA4UmF0ZUNvbnRyb2xS
VEMgewotIHB1YmxpYzoKLSAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxWUDhSYXRlQ29udHJvbFJU
Qz4gQ3JlYXRlKAotICAgICAgY29uc3QgVlA4UmF0ZUNvbnRyb2xSdGNDb25maWcgJmNmZyk7Ci0g
IH5WUDhSYXRlQ29udHJvbFJUQygpOwotCi0gIGJvb2wgVXBkYXRlUmF0ZUNvbnRyb2woY29uc3Qg
VlA4UmF0ZUNvbnRyb2xSdGNDb25maWcgJnJjX2NmZyk7Ci0gIC8vIEdldFFQKCkgbmVlZHMgdG8g
YmUgY2FsbGVkIGFmdGVyIENvbXB1dGVRUCgpIHRvIGdldCB0aGUgbGF0ZXN0IFFQCi0gIGludCBH
ZXRRUCgpIGNvbnN0OwotICAvLyBHZXRMb29wZmlsdGVyTGV2ZWwoKSBuZWVkcyB0byBiZSBjYWxs
ZWQgYWZ0ZXIgQ29tcHV0ZVFQKCkgc2luY2UgbG9vcGZpbHRlcgotICAvLyBsZXZlbCBpcyBjYWxj
dWxhdGVkIGZyb20gZnJhbWUgcXAuCi0gIGludCBHZXRMb29wZmlsdGVyTGV2ZWwoKSBjb25zdDsK
LSAgLy8gaW50IEdldExvb3BmaWx0ZXJMZXZlbCgpIGNvbnN0OwotICB2b2lkIENvbXB1dGVRUChj
b25zdCBWUDhGcmFtZVBhcmFtc1FwUlRDICZmcmFtZV9wYXJhbXMpOwotICAvLyBGZWVkYmFjayB0
byByYXRlIGNvbnRyb2wgd2l0aCB0aGUgc2l6ZSBvZiBjdXJyZW50IGVuY29kZWQgZnJhbWUKLSAg
dm9pZCBQb3N0RW5jb2RlVXBkYXRlKHVpbnQ2NF90IGVuY29kZWRfZnJhbWVfc2l6ZSk7Ci0KLSBw
cml2YXRlOgotICBWUDhSYXRlQ29udHJvbFJUQygpIHt9Ci0gIGJvb2wgSW5pdFJhdGVDb250cm9s
KGNvbnN0IFZQOFJhdGVDb250cm9sUnRjQ29uZmlnICZjZmcpOwotICBzdHJ1Y3QgVlA4X0NPTVAg
KmNwaV87Ci0gIGludCBxXzsKLX07Ci0KLX0gIC8vIG5hbWVzcGFjZSBsaWJ2cHgKLQotI2VuZGlm
ICAvLyBWUFhfVlA4X1JBVEVDVFJMX1JUQ19IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgv
dnA4Y3gubWsgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOC92cDhjeC5tawppbmRleCBiNGIzZmRhOWVhZDUuLjNh
OGY4ZWE0NWE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDgvdnA4Y3gubWsKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDgvdnA4Y3gubWsKQEAgLTEyNCw5ICsxMjQsNCBAQCBpZmVxICgkKENPTkZJR19S
RUFMVElNRV9PTkxZKSx5ZXMpCiBWUDhfQ1hfU1JDU19SRU1PVkUtJChIQVZFX01TQSkgKz0gZW5j
b2Rlci9taXBzL21zYS90ZW1wb3JhbF9maWx0ZXJfbXNhLmMKIGVuZGlmCiAKLSMgY29tbW9uIChs
b29uZ2FyY2ggTFNYIGludHJpbnNpY3MpCi1WUDhfQ1hfU1JDUy0kKEhBVkVfTFNYKSArPSBlbmNv
ZGVyL2xvb25nYXJjaC9kY3RfbHN4LmMKLVZQOF9DWF9TUkNTLSQoSEFWRV9MU1gpICs9IGVuY29k
ZXIvbG9vbmdhcmNoL2VuY29kZW9wdF9sc3guYwotVlA4X0NYX1NSQ1MtJChIQVZFX0xTWCkgKz0g
ZW5jb2Rlci9sb29uZ2FyY2gvdnA4X3F1YW50aXplX2xzeC5jCi0KIFZQOF9DWF9TUkNTLXllcyA6
PSAkKGZpbHRlci1vdXQgJChWUDhfQ1hfU1JDU19SRU1PVkUteWVzKSwkKFZQOF9DWF9TUkNTLXll
cykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25lb24vdnA5X2hpZ2hi
ZF9paHQxNngxNl9hZGRfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3Zw
OV9oaWdoYmRfaWh0MTZ4MTZfYWRkX25lb24uYwppbmRleCBiNDNkN2ZhNGY5NTIuLjIxOWZmNjNj
YjhmZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL2FybS9uZW9uL3ZwOV9oaWdo
YmRfaWh0MTZ4MTZfYWRkX25lb24uYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vYXJtL25l
b24vdnA5X2hpZ2hiZF9paHQxNngxNl9hZGRfbmVvbi5jCkBAIC0xOCw3ICsxOCw3IEBACiAjaW5j
bHVkZSAidnB4X2RzcC9hcm0vdHJhbnNwb3NlX25lb24uaCIKICNpbmNsdWRlICJ2cHhfZHNwL2lu
dl90eGZtLmgiCiAKLS8vIFVzZSBtYWNyb3MgdG8gbWFrZSBzdXJlIGFyZ3VtZW50IGxhbmUgaXMg
cGFzc2VkIGluIGFzIGEgY29uc3RhbnQgaW50ZWdlci4KKy8vIFVzZSBtYWNyb3MgdG8gbWFrZSBz
dXJlIGFyZ3VtZW50IGxhbmUgaXMgcGFzc2VkIGluIGFzIGFuIGNvbnN0YW50IGludGVnZXIuCiAK
ICNkZWZpbmUgdm11bGxfbGFuZV9zMzJfZHVhbChpbiwgYywgbGFuZSwgb3V0KSAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC02NCw5ICs2NCw5IEBAIGhpZ2hi
ZF9kY3RfY29uc3Rfcm91bmRfc2hpZnRfbG93XzgoY29uc3QgaW50NjR4MngyX3QgKmNvbnN0IGlu
KSB7CiAKICNkZWZpbmUgaGlnaGJkX2lhZHN0X2hhbGZfYnV0dGVyZmx5KGluLCBjLCBsYW5lLCBv
dXQpIFwKICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBpbnQ2NHgyeDJfdCBfdFsyXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICB2bXVsbF9sYW5lX3MzMl9kdWFsKGluLCBjLCBsYW5lLCBfdCk7ICAgICAgICAg
ICAgIFwKLSAgICBvdXQgPSBoaWdoYmRfZGN0X2NvbnN0X3JvdW5kX3NoaWZ0X2xvd184KF90KTsg
ICAgIFwKKyAgICBpbnQ2NHgyeDJfdCB0WzJdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICB2bXVsbF9sYW5lX3MzMl9kdWFsKGluLCBjLCBsYW5lLCB0KTsgICAgICAgICAg
ICAgIFwKKyAgICBvdXQgPSBoaWdoYmRfZGN0X2NvbnN0X3JvdW5kX3NoaWZ0X2xvd184KHQpOyAg
ICAgIFwKICAgfSB3aGlsZSAoMCkKIAogI2RlZmluZSBoaWdoYmRfaWFkc3RfYnV0dGVyZmx5KGlu
MCwgaW4xLCBjLCBsYW5lMCwgbGFuZTEsIHMwLCBzMSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvY29tbW9uL3ZwOV9hbGxvY2NvbW1vbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3Zw
OV9hbGxvY2NvbW1vbi5jCmluZGV4IDllNzNlNDBlYTA5Yi4uNmJjY2NmNWU2NzM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2FsbG9jY29tbW9uLmMKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvY29tbW9uL3ZwOV9hbGxvY2NvbW1vbi5jCkBAIC03NCw4ICs3NCw2IEBAIHN0YXRp
YyB2b2lkIGZyZWVfc2VnX21hcChWUDlfQ09NTU9OICpjbSkgewogdm9pZCB2cDlfZnJlZV9yZWZf
ZnJhbWVfYnVmZmVycyhCdWZmZXJQb29sICpwb29sKSB7CiAgIGludCBpOwogCi0gIGlmICghcG9v
bCkgcmV0dXJuOwotCiAgIGZvciAoaSA9IDA7IGkgPCBGUkFNRV9CVUZGRVJTOyArK2kpIHsKICAg
ICBpZiAoIXBvb2wtPmZyYW1lX2J1ZnNbaV0ucmVsZWFzZWQgJiYKICAgICAgICAgcG9vbC0+ZnJh
bWVfYnVmc1tpXS5yYXdfZnJhbWVfYnVmZmVyLmRhdGEgIT0gTlVMTCkgewpAQCAtMTAzLDcgKzEw
MSw3IEBAIHZvaWQgdnA5X2ZyZWVfcG9zdHByb2NfYnVmZmVycyhWUDlfQ09NTU9OICpjbSkgewog
fQogCiB2b2lkIHZwOV9mcmVlX2NvbnRleHRfYnVmZmVycyhWUDlfQ09NTU9OICpjbSkgewotICBp
ZiAoY20tPmZyZWVfbWkpIGNtLT5mcmVlX21pKGNtKTsKKyAgY20tPmZyZWVfbWkoY20pOwogICBm
cmVlX3NlZ19tYXAoY20pOwogICB2cHhfZnJlZShjbS0+YWJvdmVfY29udGV4dCk7CiAgIGNtLT5h
Ym92ZV9jb250ZXh0ID0gTlVMTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92
cDlfYmxvY2tkLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2Jsb2NrZC5oCmluZGV4IGFh
MTNkOGEwZDUwMi4uZDdkZTQ2Y2Y0ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21t
b24vdnA5X2Jsb2NrZC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfYmxvY2tkLmgK
QEAgLTU0LDcgKzU0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgewogLy8gZGVjb2RlciBpbXBsZW1lbnRh
dGlvbiBtb2R1bGVzIGNyaXRpY2FsbHkgcmVseSBvbiB0aGUgZGVmaW5lZCBlbnRyeSB2YWx1ZXMK
IC8vIHNwZWNpZmllZCBoZXJlaW4uIFRoZXkgc2hvdWxkIGJlIHJlZmFjdG9yZWQgY29uY3VycmVu
dGx5LgogCi0jZGVmaW5lIE5PX1JFRl9GUkFNRSAoLTEpCisjZGVmaW5lIE5PTkUgKC0xKQogI2Rl
ZmluZSBJTlRSQV9GUkFNRSAwCiAjZGVmaW5lIExBU1RfRlJBTUUgMQogI2RlZmluZSBHT0xERU5f
RlJBTUUgMgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9jb21tb24uaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9uLmgKaW5kZXggZDYzYmFkOTNkMWViLi5l
M2M1NTM1ZGRiYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfY29tbW9u
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9jb21tb24uaApAQCAtMjcsMTAgKzI3
LDEwIEBAIGV4dGVybiAiQyIgewogCiAvLyBPbmx5IG5lZWQgdGhpcyBmb3IgZml4ZWQtc2l6ZSBh
cnJheXMsIGZvciBzdHJ1Y3RzIGp1c3QgYXNzaWduLgogI2RlZmluZSB2cDlfY29weShkZXN0LCBz
cmMpICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGFz
c2VydChzaXplb2YoZGVzdCkgPT0gc2l6ZW9mKHNyYykpOyBcCiAgICAgbWVtY3B5KGRlc3QsIHNy
Yywgc2l6ZW9mKHNyYykpOyAgICAgIFwKLSAgfSB3aGlsZSAoMCkKKyAgfQogCiAvLyBVc2UgdGhp
cyBmb3IgdmFyaWFibHktc2l6ZWQgYXJyYXlzLgogI2RlZmluZSB2cDlfY29weV9hcnJheShkZXN0
LCBzcmMsIG4pICAgICAgICAgICBcCkBAIC00Niw2ICs0NiwyNSBAQCBzdGF0aWMgSU5MSU5FIGlu
dCBnZXRfdW5zaWduZWRfYml0cyh1bnNpZ25lZCBpbnQgbnVtX3ZhbHVlcykgewogICByZXR1cm4g
bnVtX3ZhbHVlcyA+IDAgPyBnZXRfbXNiKG51bV92YWx1ZXMpICsgMSA6IDA7CiB9CiAKKyNpZiBD
T05GSUdfREVCVUcKKyNkZWZpbmUgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBsdmFsLCBleHByKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIChsdmFsKSA9IChleHByKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoIShsdmFsKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2cHhfaW50
ZXJuYWxfZXJyb3IoJihjbSktPmVycm9yLCBWUFhfQ09ERUNfTUVNX0VSUk9SLCAgICAgICAgICAg
ICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gYWxsb2NhdGUgIiAj
bHZhbCAiIGF0ICVzOiVkIiwgX19GSUxFX18sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBf
X0xJTkVfXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0g
d2hpbGUgKDApCisjZWxzZQorI2RlZmluZSBDSEVDS19NRU1fRVJST1IoY20sIGx2YWwsIGV4cHIp
ICAgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIChsdmFsKSA9IChleHByKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmICghKGx2YWwpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdnB4X2ludGVy
bmFsX2Vycm9yKCYoY20pLT5lcnJvciwgVlBYX0NPREVDX01FTV9FUlJPUiwgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gYWxsb2NhdGUgIiAjbHZhbCk7ICAgICAgXAorICB9
IHdoaWxlICgwKQorI2VuZGlmCisKICNkZWZpbmUgVlA5X1NZTkNfQ09ERV8wIDB4NDkKICNkZWZp
bmUgVlA5X1NZTkNfQ09ERV8xIDB4ODMKICNkZWZpbmUgVlA5X1NZTkNfQ09ERV8yIDB4NDIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZW50cm9weW1vZGUuYyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2NvbW1vbi92cDlfZW50cm9weW1vZGUuYwppbmRleCA5Mjg5ZmM5ZTFmM2YuLmJk
YTgyNGRlM2MyNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9lbnRyb3B5
bW9kZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZW50cm9weW1vZGUuYwpAQCAt
MzgxLDYgKzM4MSw3IEBAIHZvaWQgdnA5X2FkYXB0X21vZGVfcHJvYnMoVlA5X0NPTU1PTiAqY20p
IHsKICAgfQogCiAgIGlmIChjbS0+dHhfbW9kZSA9PSBUWF9NT0RFX1NFTEVDVCkgeworICAgIGlu
dCBqOwogICAgIHVuc2lnbmVkIGludCBicmFuY2hfY3RfOHg4cFtUWF9TSVpFUyAtIDNdWzJdOwog
ICAgIHVuc2lnbmVkIGludCBicmFuY2hfY3RfMTZ4MTZwW1RYX1NJWkVTIC0gMl1bMl07CiAgICAg
dW5zaWduZWQgaW50IGJyYW5jaF9jdF8zMngzMnBbVFhfU0laRVMgLSAxXVsyXTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZnJhbWVfYnVmZmVycy5jIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvY29tbW9uL3ZwOV9mcmFtZV9idWZmZXJzLmMKaW5kZXggODg5YjgwOWU1MDc3Li5hMjU0
ZTc5ZDIwZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZnJhbWVfYnVm
ZmVycy5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfZnJhbWVfYnVmZmVycy5jCkBA
IC0xNCwxNyArMTQsMTQgQEAKICNpbmNsdWRlICJ2cHhfbWVtL3ZweF9tZW0uaCIKIAogaW50IHZw
OV9hbGxvY19pbnRlcm5hbF9mcmFtZV9idWZmZXJzKEludGVybmFsRnJhbWVCdWZmZXJMaXN0ICps
aXN0KSB7Ci0gIGNvbnN0IGludCBudW1fYnVmZmVycyA9IFZQOV9NQVhJTVVNX1JFRl9CVUZGRVJT
ICsgVlBYX01BWElNVU1fV09SS19CVUZGRVJTOwogICBhc3NlcnQobGlzdCAhPSBOVUxMKTsKICAg
dnA5X2ZyZWVfaW50ZXJuYWxfZnJhbWVfYnVmZmVycyhsaXN0KTsKIAotICBsaXN0LT5pbnRfZmIg
PQotICAgICAgKEludGVybmFsRnJhbWVCdWZmZXIgKil2cHhfY2FsbG9jKG51bV9idWZmZXJzLCBz
aXplb2YoKmxpc3QtPmludF9mYikpOwotICBpZiAobGlzdC0+aW50X2ZiKSB7Ci0gICAgbGlzdC0+
bnVtX2ludGVybmFsX2ZyYW1lX2J1ZmZlcnMgPSBudW1fYnVmZmVyczsKLSAgICByZXR1cm4gMDsK
LSAgfQotICByZXR1cm4gLTE7CisgIGxpc3QtPm51bV9pbnRlcm5hbF9mcmFtZV9idWZmZXJzID0K
KyAgICAgIFZQOV9NQVhJTVVNX1JFRl9CVUZGRVJTICsgVlBYX01BWElNVU1fV09SS19CVUZGRVJT
OworICBsaXN0LT5pbnRfZmIgPSAoSW50ZXJuYWxGcmFtZUJ1ZmZlciAqKXZweF9jYWxsb2MoCisg
ICAgICBsaXN0LT5udW1faW50ZXJuYWxfZnJhbWVfYnVmZmVycywgc2l6ZW9mKCpsaXN0LT5pbnRf
ZmIpKTsKKyAgcmV0dXJuIChsaXN0LT5pbnRfZmIgPT0gTlVMTCk7CiB9CiAKIHZvaWQgdnA5X2Zy
ZWVfaW50ZXJuYWxfZnJhbWVfYnVmZmVycyhJbnRlcm5hbEZyYW1lQnVmZmVyTGlzdCAqbGlzdCkg
ewpAQCAtMzgsNyArMzUsNiBAQCB2b2lkIHZwOV9mcmVlX2ludGVybmFsX2ZyYW1lX2J1ZmZlcnMo
SW50ZXJuYWxGcmFtZUJ1ZmZlckxpc3QgKmxpc3QpIHsKICAgfQogICB2cHhfZnJlZShsaXN0LT5p
bnRfZmIpOwogICBsaXN0LT5pbnRfZmIgPSBOVUxMOwotICBsaXN0LT5udW1faW50ZXJuYWxfZnJh
bWVfYnVmZmVycyA9IDA7CiB9CiAKIGludCB2cDlfZ2V0X2ZyYW1lX2J1ZmZlcih2b2lkICpjYl9w
cml2LCBzaXplX3QgbWluX3NpemUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24v
dnA5X2lkY3QuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfaWRjdC5jCmluZGV4IDcxYmUw
ZjMxMGQ0Yi4uNjkwNjkwNDJjYzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24v
dnA5X2lkY3QuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2lkY3QuYwpAQCAtMTUw
LDcgKzE1MCw2IEBAIHZvaWQgdnA5X2lkY3Q4eDhfYWRkKGNvbnN0IHRyYW5fbG93X3QgKmlucHV0
LCB1aW50OF90ICpkZXN0LCBpbnQgc3RyaWRlLAogCiB2b2lkIHZwOV9pZGN0MTZ4MTZfYWRkKGNv
bnN0IHRyYW5fbG93X3QgKmlucHV0LCB1aW50OF90ICpkZXN0LCBpbnQgc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZW9iKSB7Ci0gIGFzc2VydCgoKGludHB0cl90KWlucHV0KSAl
IDMyID09IDApOwogICAvKiBUaGUgY2FsY3VsYXRpb24gY2FuIGJlIHNpbXBsaWZpZWQgaWYgdGhl
cmUgYXJlIG5vdCBtYW55IG5vbi16ZXJvIGRjdAogICAgKiBjb2VmZmljaWVudHMuIFVzZSBlb2Jz
IHRvIHNlcGFyYXRlIGRpZmZlcmVudCBjYXNlcy4gKi8KICAgaWYgKGVvYiA9PSAxKSAvKiBEQyBv
bmx5IERDVCBjb2VmZmljaWVudC4gKi8KQEAgLTE2NSw3ICsxNjQsNiBAQCB2b2lkIHZwOV9pZGN0
MTZ4MTZfYWRkKGNvbnN0IHRyYW5fbG93X3QgKmlucHV0LCB1aW50OF90ICpkZXN0LCBpbnQgc3Ry
aWRlLAogCiB2b2lkIHZwOV9pZGN0MzJ4MzJfYWRkKGNvbnN0IHRyYW5fbG93X3QgKmlucHV0LCB1
aW50OF90ICpkZXN0LCBpbnQgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgZW9i
KSB7Ci0gIGFzc2VydCgoKGludHB0cl90KWlucHV0KSAlIDMyID09IDApOwogICBpZiAoZW9iID09
IDEpCiAgICAgdnB4X2lkY3QzMngzMl8xX2FkZChpbnB1dCwgZGVzdCwgc3RyaWRlKTsKICAgZWxz
ZSBpZiAoZW9iIDw9IDM0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9s
b29wZmlsdGVyLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X2xvb3BmaWx0ZXIuYwppbmRl
eCAxYTlkNDVhZTc3ZjUuLjk1ZDYwMjlmM2I1MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
Y29tbW9uL3ZwOV9sb29wZmlsdGVyLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9s
b29wZmlsdGVyLmMKQEAgLTkzMiwzMiArOTMyLDMyIEBAIHZvaWQgdnA5X3NldHVwX21hc2soVlA5
X0NPTU1PTiAqY29uc3QgY20sIGNvbnN0IGludCBtaV9yb3csIGNvbnN0IGludCBtaV9jb2wsCiAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgZm9yIChpZHhfMzIgPSAwOyBpZHhfMzIg
PCA0OyBtaXAgKz0gb2Zmc2V0XzMyW2lkeF8zMl0sICsraWR4XzMyKSB7Ci0gICAgICAgIGNvbnN0
IGludCBzaGlmdF95XzMyID0gc2hpZnRfMzJfeVtpZHhfMzJdOwotICAgICAgICBjb25zdCBpbnQg
c2hpZnRfdXZfMzIgPSBzaGlmdF8zMl91dltpZHhfMzJdOworICAgICAgICBjb25zdCBpbnQgc2hp
ZnRfeSA9IHNoaWZ0XzMyX3lbaWR4XzMyXTsKKyAgICAgICAgY29uc3QgaW50IHNoaWZ0X3V2ID0g
c2hpZnRfMzJfdXZbaWR4XzMyXTsKICAgICAgICAgY29uc3QgaW50IG1pXzMyX2NvbF9vZmZzZXQg
PSAoKGlkeF8zMiAmIDEpIDw8IDIpOwogICAgICAgICBjb25zdCBpbnQgbWlfMzJfcm93X29mZnNl
dCA9ICgoaWR4XzMyID4+IDEpIDw8IDIpOwogICAgICAgICBpZiAobWlfMzJfY29sX29mZnNldCA+
PSBtYXhfY29scyB8fCBtaV8zMl9yb3dfb2Zmc2V0ID49IG1heF9yb3dzKQogICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBzd2l0Y2ggKG1pcFswXS0+c2JfdHlwZSkgewogICAgICAgICAgIGNh
c2UgQkxPQ0tfMzJYMzI6Ci0gICAgICAgICAgICBidWlsZF9tYXNrcyhsZmlfbiwgbWlwWzBdLCBz
aGlmdF95XzMyLCBzaGlmdF91dl8zMiwgbGZtKTsKKyAgICAgICAgICAgIGJ1aWxkX21hc2tzKGxm
aV9uLCBtaXBbMF0sIHNoaWZ0X3ksIHNoaWZ0X3V2LCBsZm0pOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgY2FzZSBCTE9DS18zMlgxNjoKLSAgICAgICAgICAgIGJ1aWxkX21hc2tzKGxm
aV9uLCBtaXBbMF0sIHNoaWZ0X3lfMzIsIHNoaWZ0X3V2XzMyLCBsZm0pOworICAgICAgICAgICAg
YnVpbGRfbWFza3MobGZpX24sIG1pcFswXSwgc2hpZnRfeSwgc2hpZnRfdXYsIGxmbSk7CiAgICAg
ICAgICAgICBpZiAobWlfMzJfcm93X29mZnNldCArIDIgPj0gbWF4X3Jvd3MpIGNvbnRpbnVlOwog
ICAgICAgICAgICAgbWlwMiA9IG1pcCArIG1vZGVfaW5mb19zdHJpZGUgKiAyOwotICAgICAgICAg
ICAgYnVpbGRfbWFza3MobGZpX24sIG1pcDJbMF0sIHNoaWZ0X3lfMzIgKyAxNiwgc2hpZnRfdXZf
MzIgKyA0LCBsZm0pOworICAgICAgICAgICAgYnVpbGRfbWFza3MobGZpX24sIG1pcDJbMF0sIHNo
aWZ0X3kgKyAxNiwgc2hpZnRfdXYgKyA0LCBsZm0pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgY2FzZSBCTE9DS18xNlgzMjoKLSAgICAgICAgICAgIGJ1aWxkX21hc2tzKGxmaV9uLCBt
aXBbMF0sIHNoaWZ0X3lfMzIsIHNoaWZ0X3V2XzMyLCBsZm0pOworICAgICAgICAgICAgYnVpbGRf
bWFza3MobGZpX24sIG1pcFswXSwgc2hpZnRfeSwgc2hpZnRfdXYsIGxmbSk7CiAgICAgICAgICAg
ICBpZiAobWlfMzJfY29sX29mZnNldCArIDIgPj0gbWF4X2NvbHMpIGNvbnRpbnVlOwogICAgICAg
ICAgICAgbWlwMiA9IG1pcCArIDI7Ci0gICAgICAgICAgICBidWlsZF9tYXNrcyhsZmlfbiwgbWlw
MlswXSwgc2hpZnRfeV8zMiArIDIsIHNoaWZ0X3V2XzMyICsgMSwgbGZtKTsKKyAgICAgICAgICAg
IGJ1aWxkX21hc2tzKGxmaV9uLCBtaXAyWzBdLCBzaGlmdF95ICsgMiwgc2hpZnRfdXYgKyAxLCBs
Zm0pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IGZvciAoaWR4XzE2ID0gMDsgaWR4XzE2IDwgNDsgbWlwICs9IG9mZnNldF8xNltpZHhfMTZdLCAr
K2lkeF8xNikgewotICAgICAgICAgICAgICBjb25zdCBpbnQgc2hpZnRfeV8xNiA9IHNoaWZ0X3lf
MzIgKyBzaGlmdF8xNl95W2lkeF8xNl07Ci0gICAgICAgICAgICAgIGNvbnN0IGludCBzaGlmdF91
dl8xNiA9IHNoaWZ0X3V2XzMyICsgc2hpZnRfMTZfdXZbaWR4XzE2XTsKKyAgICAgICAgICAgICAg
Y29uc3QgaW50IHNoaWZ0X3kgPSBzaGlmdF8zMl95W2lkeF8zMl0gKyBzaGlmdF8xNl95W2lkeF8x
Nl07CisgICAgICAgICAgICAgIGNvbnN0IGludCBzaGlmdF91diA9IHNoaWZ0XzMyX3V2W2lkeF8z
Ml0gKyBzaGlmdF8xNl91dltpZHhfMTZdOwogICAgICAgICAgICAgICBjb25zdCBpbnQgbWlfMTZf
Y29sX29mZnNldCA9CiAgICAgICAgICAgICAgICAgICBtaV8zMl9jb2xfb2Zmc2V0ICsgKChpZHhf
MTYgJiAxKSA8PCAxKTsKICAgICAgICAgICAgICAgY29uc3QgaW50IG1pXzE2X3Jvd19vZmZzZXQg
PQpAQCAtOTY4LDI2ICs5NjgsMjggQEAgdm9pZCB2cDlfc2V0dXBfbWFzayhWUDlfQ09NTU9OICpj
b25zdCBjbSwgY29uc3QgaW50IG1pX3JvdywgY29uc3QgaW50IG1pX2NvbCwKIAogICAgICAgICAg
ICAgICBzd2l0Y2ggKG1pcFswXS0+c2JfdHlwZSkgewogICAgICAgICAgICAgICAgIGNhc2UgQkxP
Q0tfMTZYMTY6Ci0gICAgICAgICAgICAgICAgICBidWlsZF9tYXNrcyhsZmlfbiwgbWlwWzBdLCBz
aGlmdF95XzE2LCBzaGlmdF91dl8xNiwgbGZtKTsKKyAgICAgICAgICAgICAgICAgIGJ1aWxkX21h
c2tzKGxmaV9uLCBtaXBbMF0sIHNoaWZ0X3ksIHNoaWZ0X3V2LCBsZm0pOwogICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBCTE9DS18xNlg4OgotICAgICAgICAg
ICAgICAgICAgYnVpbGRfbWFza3MobGZpX24sIG1pcFswXSwgc2hpZnRfeV8xNiwgc2hpZnRfdXZf
MTYsIGxmbSk7CisgICAgICAgICAgICAgICAgICBidWlsZF9tYXNrcyhsZmlfbiwgbWlwWzBdLCBz
aGlmdF95LCBzaGlmdF91diwgbGZtKTsKICAgICAgICAgICAgICAgICAgIGlmIChtaV8xNl9yb3df
b2Zmc2V0ICsgMSA+PSBtYXhfcm93cykgY29udGludWU7CiAgICAgICAgICAgICAgICAgICBtaXAy
ID0gbWlwICsgbW9kZV9pbmZvX3N0cmlkZTsKLSAgICAgICAgICAgICAgICAgIGJ1aWxkX3lfbWFz
ayhsZmlfbiwgbWlwMlswXSwgc2hpZnRfeV8xNiArIDgsIGxmbSk7CisgICAgICAgICAgICAgICAg
ICBidWlsZF95X21hc2sobGZpX24sIG1pcDJbMF0sIHNoaWZ0X3kgKyA4LCBsZm0pOwogICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBCTE9DS184WDE2OgotICAg
ICAgICAgICAgICAgICAgYnVpbGRfbWFza3MobGZpX24sIG1pcFswXSwgc2hpZnRfeV8xNiwgc2hp
ZnRfdXZfMTYsIGxmbSk7CisgICAgICAgICAgICAgICAgICBidWlsZF9tYXNrcyhsZmlfbiwgbWlw
WzBdLCBzaGlmdF95LCBzaGlmdF91diwgbGZtKTsKICAgICAgICAgICAgICAgICAgIGlmIChtaV8x
Nl9jb2xfb2Zmc2V0ICsgMSA+PSBtYXhfY29scykgY29udGludWU7CiAgICAgICAgICAgICAgICAg
ICBtaXAyID0gbWlwICsgMTsKLSAgICAgICAgICAgICAgICAgIGJ1aWxkX3lfbWFzayhsZmlfbiwg
bWlwMlswXSwgc2hpZnRfeV8xNiArIDEsIGxmbSk7CisgICAgICAgICAgICAgICAgICBidWlsZF95
X21hc2sobGZpX24sIG1pcDJbMF0sIHNoaWZ0X3kgKyAxLCBsZm0pOwogICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgZGVmYXVsdDogewotICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50IHNoaWZ0X3lfOF8wID0gc2hpZnRfeV8xNiArIHNoaWZ0XzhfeVswXTsKLSAgICAg
ICAgICAgICAgICAgIGJ1aWxkX21hc2tzKGxmaV9uLCBtaXBbMF0sIHNoaWZ0X3lfOF8wLCBzaGlm
dF91dl8xNiwgbGZtKTsKKyAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBzaGlmdF95ID0KKyAg
ICAgICAgICAgICAgICAgICAgICBzaGlmdF8zMl95W2lkeF8zMl0gKyBzaGlmdF8xNl95W2lkeF8x
Nl0gKyBzaGlmdF84X3lbMF07CisgICAgICAgICAgICAgICAgICBidWlsZF9tYXNrcyhsZmlfbiwg
bWlwWzBdLCBzaGlmdF95LCBzaGlmdF91diwgbGZtKTsKICAgICAgICAgICAgICAgICAgIG1pcCAr
PSBvZmZzZXRbMF07CiAgICAgICAgICAgICAgICAgICBmb3IgKGlkeF84ID0gMTsgaWR4XzggPCA0
OyBtaXAgKz0gb2Zmc2V0W2lkeF84XSwgKytpZHhfOCkgewotICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQgc2hpZnRfeV84ID0gc2hpZnRfeV8xNiArIHNoaWZ0XzhfeVtpZHhfOF07CisgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludCBzaGlmdF95ID0gc2hpZnRfMzJfeVtpZHhfMzJdICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlmdF8xNl95W2lkeF8x
Nl0gKyBzaGlmdF84X3lbaWR4XzhdOwogICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgbWlf
OF9jb2xfb2Zmc2V0ID0KICAgICAgICAgICAgICAgICAgICAgICAgIG1pXzE2X2NvbF9vZmZzZXQg
KyAoKGlkeF84ICYgMSkpOwogICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgbWlfOF9yb3df
b2Zmc2V0ID0KQEAgLTk5Niw3ICs5OTgsNyBAQCB2b2lkIHZwOV9zZXR1cF9tYXNrKFZQOV9DT01N
T04gKmNvbnN0IGNtLCBjb25zdCBpbnQgbWlfcm93LCBjb25zdCBpbnQgbWlfY29sLAogICAgICAg
ICAgICAgICAgICAgICBpZiAobWlfOF9jb2xfb2Zmc2V0ID49IG1heF9jb2xzIHx8CiAgICAgICAg
ICAgICAgICAgICAgICAgICBtaV84X3Jvd19vZmZzZXQgPj0gbWF4X3Jvd3MpCiAgICAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIGJ1aWxkX3lfbWFzayhs
ZmlfbiwgbWlwWzBdLCBzaGlmdF95XzgsIGxmbSk7CisgICAgICAgICAgICAgICAgICAgIGJ1aWxk
X3lfbWFzayhsZmlfbiwgbWlwWzBdLCBzaGlmdF95LCBsZm0pOwogICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTE3OCw3
ICsxMTgwLDcgQEAgdm9pZCB2cDlfZmlsdGVyX2Jsb2NrX3BsYW5lX25vbjQyMChWUDlfQ09NTU9O
ICpjbSwKICAgICB9CiAKICAgICAvLyBEaXNhYmxlIGZpbHRlcmluZyBvbiB0aGUgbGVmdG1vc3Qg
Y29sdW1uCi0gICAgYm9yZGVyX21hc2sgPSB+KG1pX2NvbCA9PSAwID8gMXUgOiAwdSk7CisgICAg
Ym9yZGVyX21hc2sgPSB+KG1pX2NvbCA9PSAwID8gMSA6IDApOwogI2lmIENPTkZJR19WUDlfSElH
SEJJVERFUFRICiAgICAgaWYgKGNtLT51c2VfaGlnaGJpdGRlcHRoKSB7CiAgICAgICBoaWdoYmRf
ZmlsdGVyX3NlbGVjdGl2ZWx5X3ZlcnQoCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21t
b24vdnA5X21mcWUuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfbWZxZS5jCmluZGV4IGNm
NjBmYTQwZmRmYi4uZTc2ZDc3MWI4ZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21t
b24vdnA5X21mcWUuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X21mcWUuYwpAQCAt
MjE3LDcgKzIxNyw2IEBAIHN0YXRpYyB2b2lkIG1mcWVfcGFydGl0aW9uKFZQOV9DT01NT04gKmNt
LCBNT0RFX0lORk8gKm1pLCBCTE9DS19TSVpFIGJzLAogICBjb25zdCBpbnQgYnNsID0gYl93aWR0
aF9sb2cyX2xvb2t1cFtic107CiAgIFBBUlRJVElPTl9UWVBFIHBhcnRpdGlvbiA9IHBhcnRpdGlv
bl9sb29rdXBbYnNsXVtjdXJfYnNdOwogICBjb25zdCBCTE9DS19TSVpFIHN1YnNpemUgPSBnZXRf
c3Vic2l6ZShicywgcGFydGl0aW9uKTsKLSAgQkxPQ0tfU0laRSBtZnFlX2JzLCBic190bXA7CiAK
ICAgaWYgKGN1cl9icyA8IEJMT0NLXzhYOCkgewogICAgIC8vIElmIHRoZXJlIGFyZSBibG9ja3Mg
c21hbGxlciB0aGFuIDh4OCwgaXQgbXVzdCBiZSBvbiB0aGUgYm91bmRhcnkuCkBAIC0yMzcsNiAr
MjM2LDcgQEAgc3RhdGljIHZvaWQgbWZxZV9wYXJ0aXRpb24oVlA5X0NPTU1PTiAqY20sIE1PREVf
SU5GTyAqbWksIEJMT0NLX1NJWkUgYnMsCiAgICAgdXZfb2Zmc2V0ID0gODsKICAgfQogICBzd2l0
Y2ggKHBhcnRpdGlvbikgeworICAgIEJMT0NLX1NJWkUgbWZxZV9icywgYnNfdG1wOwogICAgIGNh
c2UgUEFSVElUSU9OX0hPUlo6CiAgICAgICBpZiAoYnMgPT0gQkxPQ0tfNjRYNjQpIHsKICAgICAg
ICAgbWZxZV9icyA9IEJMT0NLXzY0WDMyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29t
bW9uL3ZwOV9wb3N0cHJvYy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9wb3N0cHJvYy5j
CmluZGV4IDk2NTE5ZjAwNTE5MC4uZDJjODUzNWIwMWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9jb21tb24vdnA5X3Bvc3Rwcm9jLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3Zw
OV9wb3N0cHJvYy5jCkBAIC0zNjAsNyArMzYwLDYgQEAgaW50IHZwOV9wb3N0X3Byb2NfZnJhbWUo
c3RydWN0IFZQOUNvbW1vbiAqY20sIFlWMTJfQlVGRkVSX0NPTkZJRyAqZGVzdCwKICAgICBpZiAo
IWNtLT5wb3N0cHJvY19zdGF0ZS5saW1pdHMpIHsKICAgICAgIGNtLT5wb3N0cHJvY19zdGF0ZS5s
aW1pdHMgPQogICAgICAgICAgIHZweF9jYWxsb2ModW5zY2FsZWRfd2lkdGgsIHNpemVvZigqY20t
PnBvc3Rwcm9jX3N0YXRlLmxpbWl0cykpOwotICAgICAgaWYgKCFjbS0+cG9zdHByb2Nfc3RhdGUu
bGltaXRzKSByZXR1cm4gMTsKICAgICB9CiAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvY29tbW9uL3ZwOV9ydGNkLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3J0Y2QuYwpp
bmRleCAzNzc2MmNhMTVhNjIuLmQ4Yzg3MGFhM2Y2YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvY29tbW9uL3ZwOV9ydGNkLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9ydGNk
LmMKQEAgLTEyLDQgKzEyLDggQEAKICNpbmNsdWRlICIuL3ZwOV9ydGNkLmgiCiAjaW5jbHVkZSAi
dnB4X3BvcnRzL3ZweF9vbmNlLmgiCiAKLXZvaWQgdnA5X3J0Y2QoKSB7IG9uY2Uoc2V0dXBfcnRj
ZF9pbnRlcm5hbCk7IH0KK3ZvaWQgdnA5X3J0Y2QoKSB7CisgIC8vIFRPRE8oSkJCKTogUmVtb3Zl
IHRoaXMgb25jZSwgYnkgaW5zdXJpbmcgdGhhdCBib3RoIHRoZSBlbmNvZGVyIGFuZAorICAvLyBk
ZWNvZGVyIHNldHVwIGZ1bmN0aW9ucyBhcmUgcHJvdGVjdGVkIGJ5IG9uY2UoKTsKKyAgb25jZShz
ZXR1cF9ydGNkX2ludGVybmFsKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1v
bi92cDlfcnRjZF9kZWZzLnBsIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvY29tbW9uL3ZwOV9ydGNkX2RlZnMu
cGwKaW5kZXggM2VjYmQ1NDE3ZjBjLi42OTgwYjliN2ZiZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2NvbW1vbi92cDlfcnRjZF9kZWZzLnBsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1v
bi92cDlfcnRjZF9kZWZzLnBsCkBAIC0yMyw5ICsyMyw3IEBAIHN0cnVjdCBtYWNyb2Jsb2NrZDsK
IAogLyogRW5jb2RlciBmb3J3YXJkIGRlY2xzICovCiBzdHJ1Y3QgbWFjcm9ibG9jazsKLXN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lOwotc3RydWN0IHZwOV9zYWRfdGFibGU7Ci1zdHJ1Y3QgU2Nhbk9y
ZGVyOworc3RydWN0IHZwOV92YXJpYW5jZV92dGFibGU7CiBzdHJ1Y3Qgc2VhcmNoX3NpdGVfY29u
ZmlnOwogc3RydWN0IG12OwogdW5pb24gaW50X212OwpAQCAtMTI5LDIxICsxMjcsMjQgQEAgaWYg
KHZweF9jb25maWcoIkNPTkZJR19WUDlfVEVNUE9SQUxfREVOT0lTSU5HIikgZXEgInllcyIpIHsK
IGFkZF9wcm90byBxdy9pbnQ2NF90IHZwOV9ibG9ja19lcnJvci8sICJjb25zdCB0cmFuX2xvd190
ICpjb2VmZiwgY29uc3QgdHJhbl9sb3dfdCAqZHFjb2VmZiwgaW50cHRyX3QgYmxvY2tfc2l6ZSwg
aW50NjRfdCAqc3N6IjsKIAogYWRkX3Byb3RvIHF3L2ludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2Zw
LywgImNvbnN0IHRyYW5fbG93X3QgKmNvZWZmLCBjb25zdCB0cmFuX2xvd190ICpkcWNvZWZmLCBp
bnQgYmxvY2tfc2l6ZSI7Ci1zcGVjaWFsaXplIHF3L3ZwOV9ibG9ja19lcnJvcl9mcCBuZW9uIGF2
eDIgc3NlMi87CiAKLWFkZF9wcm90byBxdy92b2lkIHZwOV9xdWFudGl6ZV9mcC8sICJjb25zdCB0
cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRy
YW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2
X3QgKmVvYl9wdHIsIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIiOwot
c3BlY2lhbGl6ZSBxdy92cDlfcXVhbnRpemVfZnAgbmVvbiBzc2UyIHNzc2UzIGF2eDIgdnN4LzsK
K2FkZF9wcm90byBxdy92b2lkIHZwOV9xdWFudGl6ZV9mcC8sICJjb25zdCB0cmFuX2xvd190ICpj
b2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZf
dCAqcm91bmRfcHRyLCBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsIHRyYW5fbG93X3QgKnFjb2Vm
Zl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0
ciwgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGludDE2X3Qg
KmlzY2FuIjsKK3NwZWNpYWxpemUgcXcvdnA5X3F1YW50aXplX2ZwIG5lb24gc3NlMiBhdngyIHZz
eC8sICIkc3NzZTNfeDg2XzY0IjsKIAotYWRkX3Byb3RvIHF3L3ZvaWQgdnA5X3F1YW50aXplX2Zw
XzMyeDMyLywgImNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMs
IGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwgdHJhbl9sb3df
dCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGludDE2X3QgKmRl
cXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwgY29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29u
c3Qgc2Nhbl9vcmRlciI7Ci1zcGVjaWFsaXplIHF3L3ZwOV9xdWFudGl6ZV9mcF8zMngzMiBuZW9u
IHNzc2UzIGF2eDIgdnN4LzsKK2FkZF9wcm90byBxdy92b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngz
Mi8sICJjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBpbnQg
c2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLCBjb25zdCBpbnQxNl90ICpxdWFu
dF9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBj
b25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2
X3QgKnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuIjsKK3NwZWNpYWxpemUgcXcvdnA5X3F1YW50
aXplX2ZwXzMyeDMyIG5lb24gdnN4LywgIiRzc3NlM194ODZfNjQiOwogCiBpZiAodnB4X2NvbmZp
ZygiQ09ORklHX1ZQOV9ISUdIQklUREVQVEgiKSBlcSAieWVzIikgewotICBzcGVjaWFsaXplIHF3
L3ZwOV9ibG9ja19lcnJvciBuZW9uIGF2eDIgc3NlMi87CisgIHNwZWNpYWxpemUgcXcvdnA5X2Js
b2NrX2Vycm9yIGF2eDIgc3NlMi87CisKKyAgc3BlY2lhbGl6ZSBxdy92cDlfYmxvY2tfZXJyb3Jf
ZnAgYXZ4MiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvaW50NjRfdCB2cDlfaGlnaGJkX2Jsb2Nr
X2Vycm9yLywgImNvbnN0IHRyYW5fbG93X3QgKmNvZWZmLCBjb25zdCB0cmFuX2xvd190ICpkcWNv
ZWZmLCBpbnRwdHJfdCBibG9ja19zaXplLCBpbnQ2NF90ICpzc3osIGludCBiZCI7Ci0gIHNwZWNp
YWxpemUgcXcvdnA5X2hpZ2hiZF9ibG9ja19lcnJvciBuZW9uIHNzZTIvOworICBzcGVjaWFsaXpl
IHF3L3ZwOV9oaWdoYmRfYmxvY2tfZXJyb3Igc3NlMi87CiB9IGVsc2UgewotICBzcGVjaWFsaXpl
IHF3L3ZwOV9ibG9ja19lcnJvciBuZW9uIGF2eDIgbXNhIHNzZTIvOworICBzcGVjaWFsaXplIHF3
L3ZwOV9ibG9ja19lcnJvciBhdngyIG1zYSBzc2UyLzsKKworICBzcGVjaWFsaXplIHF3L3ZwOV9i
bG9ja19lcnJvcl9mcCBuZW9uIGF2eDIgc3NlMi87CiB9CiAKICMgZmRjdCBmdW5jdGlvbnMKQEAg
LTE1OCw5ICsxNTksOSBAQCBhZGRfcHJvdG8gcXcvdm9pZCB2cDlfZndodDR4NC8sICJjb25zdCBp
bnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAqb3V0cHV0LCBpbnQgcwogCiAjIE5vdGUgdGhhdCB0
aGVyZSBhcmUgbW9yZSBzcGVjaWFsaXphdGlvbnMgYXBwZW5kZWQgd2hlbiBDT05GSUdfVlA5X0hJ
R0hCSVRERVBUSAogIyBpcyBvZmYuCi1zcGVjaWFsaXplIHF3L3ZwOV9maHQ0eDQgc3NlMiBuZW9u
LzsKLXNwZWNpYWxpemUgcXcvdnA5X2ZodDh4OCBzc2UyIG5lb24vOwotc3BlY2lhbGl6ZSBxdy92
cDlfZmh0MTZ4MTYgc3NlMiBuZW9uLzsKK3NwZWNpYWxpemUgcXcvdnA5X2ZodDR4NCBzc2UyLzsK
K3NwZWNpYWxpemUgcXcvdnA5X2ZodDh4OCBzc2UyLzsKK3NwZWNpYWxpemUgcXcvdnA5X2ZodDE2
eDE2IHNzZTIvOwogc3BlY2lhbGl6ZSBxdy92cDlfZndodDR4NCBzc2UyLzsKIGlmICh2cHhfY29u
ZmlnKCJDT05GSUdfVlA5X0hJR0hCSVRERVBUSCIpIG5lICJ5ZXMiKSB7CiAgICMgTm90ZSB0aGF0
IHRoZXNlIHNwZWNpYWxpemF0aW9ucyBhcmUgYXBwZW5kZWQgdG8gdGhlIGFib3ZlIG9uZXMuCkBA
IC0xNzMsMTkgKzE3NCwxOSBAQCBpZiAodnB4X2NvbmZpZygiQ09ORklHX1ZQOV9ISUdIQklUREVQ
VEgiKSBuZSAieWVzIikgewogIwogIyBNb3Rpb24gc2VhcmNoCiAjCi1hZGRfcHJvdG8gcXcvaW50
IHZwOV9kaWFtb25kX3NlYXJjaF9zYWQvLCAiY29uc3Qgc3RydWN0IG1hY3JvYmxvY2sgKngsIGNv
bnN0IHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcgKmNmZywgIHN0cnVjdCBtdiAqcmVmX212LCB1
aW50MzJfdCBzdGFydF9tdl9zYWQsIHN0cnVjdCBtdiAqYmVzdF9tdiwgaW50IHNlYXJjaF9wYXJh
bSwgaW50IHNhZF9wZXJfYml0LCBpbnQgKm51bTAwLCBjb25zdCBzdHJ1Y3QgdnA5X3NhZF90YWJs
ZSAqc2FkX2ZuX3B0ciwgY29uc3Qgc3RydWN0IG12ICpjZW50ZXJfbXYiOwotc3BlY2lhbGl6ZSBx
dy92cDlfZGlhbW9uZF9zZWFyY2hfc2FkIG5lb24vOworYWRkX3Byb3RvIHF3L2ludCB2cDlfZGlh
bW9uZF9zZWFyY2hfc2FkLywgImNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrICp4LCBjb25zdCBzdHJ1
Y3Qgc2VhcmNoX3NpdGVfY29uZmlnICpjZmcsICBzdHJ1Y3QgbXYgKnJlZl9tdiwgc3RydWN0IG12
ICpiZXN0X212LCBpbnQgc2VhcmNoX3BhcmFtLCBpbnQgc2FkX3Blcl9iaXQsIGludCAqbnVtMDAs
IGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlICpmbl9wdHIsIGNvbnN0IHN0cnVjdCBt
diAqY2VudGVyX212IjsKK3NwZWNpYWxpemUgcXcvdnA5X2RpYW1vbmRfc2VhcmNoX3NhZCBhdngv
OwogCiAjCiAjIEFwcGx5IHRlbXBvcmFsIGZpbHRlcgogIwogaWYgKHZweF9jb25maWcoIkNPTkZJ
R19SRUFMVElNRV9PTkxZIikgbmUgInllcyIpIHsKIGFkZF9wcm90byBxdy92b2lkIHZwOV9hcHBs
eV90ZW1wb3JhbF9maWx0ZXIvLCAiY29uc3QgdWludDhfdCAqeV9zcmMsIGludCB5X3NyY19zdHJp
ZGUsIGNvbnN0IHVpbnQ4X3QgKnlfcHJlLCBpbnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1aW50OF90
ICp1X3NyYywgY29uc3QgdWludDhfdCAqdl9zcmMsIGludCB1dl9zcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICp1X3ByZSwgY29uc3QgdWludDhfdCAqdl9wcmUsIGludCB1dl9wcmVfc3RyaWRlLCB1
bnNpZ25lZCBpbnQgYmxvY2tfd2lkdGgsIHVuc2lnbmVkIGludCBibG9ja19oZWlnaHQsIGludCBz
c194LCBpbnQgc3NfeSwgaW50IHN0cmVuZ3RoLCBjb25zdCBpbnQgKmNvbnN0IGJsa19mdywgaW50
IHVzZV8zMngzMiwgdWludDMyX3QgKnlfYWNjdW11bGF0b3IsIHVpbnQxNl90ICp5X2NvdW50LCB1
aW50MzJfdCAqdV9hY2N1bXVsYXRvciwgdWludDE2X3QgKnVfY291bnQsIHVpbnQzMl90ICp2X2Fj
Y3VtdWxhdG9yLCB1aW50MTZfdCAqdl9jb3VudCI7Ci1zcGVjaWFsaXplIHF3L3ZwOV9hcHBseV90
ZW1wb3JhbF9maWx0ZXIgc3NlNF8xIG5lb24vOworc3BlY2lhbGl6ZSBxdy92cDlfYXBwbHlfdGVt
cG9yYWxfZmlsdGVyIHNzZTRfMS87CiAKICAgaWYgKHZweF9jb25maWcoIkNPTkZJR19WUDlfSElH
SEJJVERFUFRIIikgZXEgInllcyIpIHsKICAgICBhZGRfcHJvdG8gcXcvdm9pZCB2cDlfaGlnaGJk
X2FwcGx5X3RlbXBvcmFsX2ZpbHRlci8sICJjb25zdCB1aW50MTZfdCAqeV9zcmMsIGludCB5X3Ny
Y19zdHJpZGUsIGNvbnN0IHVpbnQxNl90ICp5X3ByZSwgaW50IHlfcHJlX3N0cmlkZSwgY29uc3Qg
dWludDE2X3QgKnVfc3JjLCBjb25zdCB1aW50MTZfdCAqdl9zcmMsIGludCB1dl9zcmNfc3RyaWRl
LCBjb25zdCB1aW50MTZfdCAqdV9wcmUsIGNvbnN0IHVpbnQxNl90ICp2X3ByZSwgaW50IHV2X3By
ZV9zdHJpZGUsIHVuc2lnbmVkIGludCBibG9ja193aWR0aCwgdW5zaWduZWQgaW50IGJsb2NrX2hl
aWdodCwgaW50IHNzX3gsIGludCBzc195LCBpbnQgc3RyZW5ndGgsIGNvbnN0IGludCAqY29uc3Qg
YmxrX2Z3LCBpbnQgdXNlXzMyeDMyLCB1aW50MzJfdCAqeV9hY2N1bSwgdWludDE2X3QgKnlfY291
bnQsIHVpbnQzMl90ICp1X2FjY3VtLCB1aW50MTZfdCAqdV9jb3VudCwgdWludDMyX3QgKnZfYWNj
dW0sIHVpbnQxNl90ICp2X2NvdW50IjsKLSAgICBzcGVjaWFsaXplIHF3L3ZwOV9oaWdoYmRfYXBw
bHlfdGVtcG9yYWxfZmlsdGVyIHNzZTRfMSBuZW9uLzsKKyAgICBzcGVjaWFsaXplIHF3L3ZwOV9o
aWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyIHNzZTRfMS87CiAgIH0KIH0KIApAQCAtMTk0LDIx
ICsxOTUsMTYgQEAgaWYgKHZweF9jb25maWcoIkNPTkZJR19WUDlfSElHSEJJVERFUFRIIikgZXEg
InllcyIpIHsKIAogICAjIEVOQ09ERU1CIElOVk9LRQogCi0gIGFkZF9wcm90byBxdy92b2lkIHZw
OV9oaWdoYmRfcXVhbnRpemVfZnAvLCAiY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRw
dHJfdCBuX2NvZWZmcywgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3Bs
YW5lLCB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgY29u
c3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLCBjb25zdCBzdHJ1Y3Qg
U2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyIjsKLSAgc3BlY2lhbGl6ZSBxdy92cDlfaGlnaGJk
X3F1YW50aXplX2ZwIGF2eDIgbmVvbi87CisgIGFkZF9wcm90byBxdy92b2lkIHZwOV9oaWdoYmRf
cXVhbnRpemVfZnAvLCAiY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2Nv
ZWZmcywgaW50IHNraXBfYmxvY2ssIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50
MTZfdCAqcXVhbnRfcHRyLCB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNv
ZWZmX3B0ciwgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLCBj
b25zdCBpbnQxNl90ICpzY2FuLCBjb25zdCBpbnQxNl90ICppc2NhbiI7CiAKLSAgYWRkX3Byb3Rv
IHF3L3ZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMi8sICJjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSAqY29uc3QgbWJfcGxhbmUsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3Qg
KmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9w
dHIsIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIiOwotICBzcGVjaWFs
aXplIHF3L3ZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzIgYXZ4MiBuZW9uLzsKKyAgYWRkX3By
b3RvIHF3L3ZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMi8sICJjb25zdCB0cmFuX2xv
d190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBpbnQgc2tpcF9ibG9jaywgY29uc3Qg
aW50MTZfdCAqcm91bmRfcHRyLCBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsIHRyYW5fbG93X3Qg
KnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1
YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGlu
dDE2X3QgKmlzY2FuIiA7CiAKICAgIyBmZGN0IGZ1bmN0aW9ucwogICBhZGRfcHJvdG8gcXcvdm9p
ZCB2cDlfaGlnaGJkX2ZodDR4NC8sICJjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAq
b3V0cHV0LCBpbnQgc3RyaWRlLCBpbnQgdHhfdHlwZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnA5X2hp
Z2hiZF9maHQ0eDQgbmVvbi87CiAKICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnA5X2hpZ2hiZF9maHQ4
eDgvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50IHN0cmlk
ZSwgaW50IHR4X3R5cGUiOwotICBzcGVjaWFsaXplIHF3L3ZwOV9oaWdoYmRfZmh0OHg4IG5lb24v
OwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZwOV9oaWdoYmRfZmh0MTZ4MTYvLCAiY29uc3QgaW50
MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50IHN0cmlkZSwgaW50IHR4X3R5cGUi
OwotICBzcGVjaWFsaXplIHF3L3ZwOV9oaWdoYmRfZmh0MTZ4MTYgbmVvbi87CiAKICAgYWRkX3By
b3RvIHF3L3ZvaWQgdnA5X2hpZ2hiZF9md2h0NHg0LywgImNvbnN0IGludDE2X3QgKmlucHV0LCB0
cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUiOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9jb21tb24vdnA5X3NjYW4uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2Nhbi5j
CmluZGV4IGFkYWNiN2VmOTYwMC4uMGZlZjI2MzUxMGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9jb21tb24vdnA5X3NjYW4uYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24vdnA5X3Nj
YW4uYwpAQCAtNTExLDE5MSArNTExLDE5MCBAQCBERUNMQVJFX0FMSUdORUQoMTYsIHN0YXRpYyBj
b25zdCBpbnQxNl90LAogICA5NTksIDk5MCwgIDk5MSwgMTAyMiwgMCwgICAwLAogfTsKIAotLy8g
QWRkIDEgdG8gaXNjYW4gdmFsdWVzLiBUaGlzIHJlcHJlc2VudHMgdGhlIEVPQiBwb3NpdGlvbiBp
bnN0ZWFkIG9mIHRoZSBpbmRleC4KIERFQ0xBUkVfQUxJR05FRCgxNiwgc3RhdGljIGNvbnN0IGlu
dDE2X3QsIHZwOV9kZWZhdWx0X2lzY2FuXzR4NFsxNl0pID0gewotICAxLCAzLCA2LCA5LCAyLCA0
LCAxMCwgMTMsIDUsIDgsIDEyLCAxNSwgNywgMTEsIDE0LCAxNiwKKyAgMCwgMiwgNSwgOCwgMSwg
MywgOSwgMTIsIDQsIDcsIDExLCAxNCwgNiwgMTAsIDEzLCAxNSwKIH07CiAKIERFQ0xBUkVfQUxJ
R05FRCgxNiwgc3RhdGljIGNvbnN0IGludDE2X3QsIHZwOV9jb2xfaXNjYW5fNHg0WzE2XSkgPSB7
Ci0gIDEsIDQsIDgsIDEyLCAyLCA2LCAxMCwgMTMsIDMsIDcsIDExLCAxNSwgNSwgOSwgMTQsIDE2
LAorICAwLCAzLCA3LCAxMSwgMSwgNSwgOSwgMTIsIDIsIDYsIDEwLCAxNCwgNCwgOCwgMTMsIDE1
LAogfTsKIAogREVDTEFSRV9BTElHTkVEKDE2LCBzdGF0aWMgY29uc3QgaW50MTZfdCwgdnA5X3Jv
d19pc2Nhbl80eDRbMTZdKSA9IHsKLSAgMSwgMiwgNCwgNiwgMywgNSwgNywgMTAsIDgsIDksIDEy
LCAxNCwgMTEsIDEzLCAxNSwgMTYsCisgIDAsIDEsIDMsIDUsIDIsIDQsIDYsIDksIDcsIDgsIDEx
LCAxMywgMTAsIDEyLCAxNCwgMTUsCiB9OwogCiBERUNMQVJFX0FMSUdORUQoMTYsIHN0YXRpYyBj
b25zdCBpbnQxNl90LCB2cDlfY29sX2lzY2FuXzh4OFs2NF0pID0gewotICAxLCAgNCwgIDksICAx
NiwgMjMsIDMzLCA0MSwgNDgsIDIsICA2LCAgMTIsIDE5LCAyNywgMzUsIDQ1LCA1MiwKLSAgMywg
IDgsICAxNCwgMjEsIDI5LCAzOSwgNDcsIDU1LCA1LCAgMTEsIDE3LCAyNSwgMzIsIDQyLCA1MSwg
NTcsCi0gIDcsICAxMywgMjIsIDI4LCAzNiwgNDQsIDUzLCA1OSwgMTAsIDE4LCAyNiwgMzQsIDQw
LCA0OSwgNTYsIDYxLAotICAxNSwgMjQsIDMxLCAzOCwgNDYsIDU0LCA2MCwgNjMsIDIwLCAzMCwg
MzcsIDQzLCA1MCwgNTgsIDYyLCA2NCwKKyAgMCwgIDMsICA4LCAgMTUsIDIyLCAzMiwgNDAsIDQ3
LCAxLCAgNSwgIDExLCAxOCwgMjYsIDM0LCA0NCwgNTEsCisgIDIsICA3LCAgMTMsIDIwLCAyOCwg
MzgsIDQ2LCA1NCwgNCwgIDEwLCAxNiwgMjQsIDMxLCA0MSwgNTAsIDU2LAorICA2LCAgMTIsIDIx
LCAyNywgMzUsIDQzLCA1MiwgNTgsIDksICAxNywgMjUsIDMzLCAzOSwgNDgsIDU1LCA2MCwKKyAg
MTQsIDIzLCAzMCwgMzcsIDQ1LCA1MywgNTksIDYyLCAxOSwgMjksIDM2LCA0MiwgNDksIDU3LCA2
MSwgNjMsCiB9OwogCiBERUNMQVJFX0FMSUdORUQoMTYsIHN0YXRpYyBjb25zdCBpbnQxNl90LCB2
cDlfcm93X2lzY2FuXzh4OFs2NF0pID0gewotICAxLCAgMiwgIDMsICA2LCAgOSwgIDEzLCAyMCwg
MjUsIDQsICA1LCAgOCwgIDExLCAxNiwgMjEsIDMxLCA0MCwKLSAgNywgIDEwLCAxNCwgMTcsIDIy
LCAyOCwgMzgsIDQ3LCAxMiwgMTUsIDE4LCAyNCwgMjksIDM1LCA0NSwgNTMsCi0gIDE5LCAyMywg
MjYsIDMyLCAzNiwgNDIsIDUxLCA1OCwgMjcsIDMwLCAzNCwgMzksIDQ0LCA1MCwgNTYsIDYwLAot
ICAzMywgMzcsIDQzLCA0OCwgNTIsIDU1LCA2MSwgNjIsIDQxLCA0NiwgNDksIDU0LCA1NywgNTks
IDYzLCA2NCwKKyAgMCwgIDEsICAyLCAgNSwgIDgsICAxMiwgMTksIDI0LCAzLCAgNCwgIDcsICAx
MCwgMTUsIDIwLCAzMCwgMzksCisgIDYsICA5LCAgMTMsIDE2LCAyMSwgMjcsIDM3LCA0NiwgMTEs
IDE0LCAxNywgMjMsIDI4LCAzNCwgNDQsIDUyLAorICAxOCwgMjIsIDI1LCAzMSwgMzUsIDQxLCA1
MCwgNTcsIDI2LCAyOSwgMzMsIDM4LCA0MywgNDksIDU1LCA1OSwKKyAgMzIsIDM2LCA0MiwgNDcs
IDUxLCA1NCwgNjAsIDYxLCA0MCwgNDUsIDQ4LCA1MywgNTYsIDU4LCA2MiwgNjMsCiB9OwogCiBE
RUNMQVJFX0FMSUdORUQoMTYsIHN0YXRpYyBjb25zdCBpbnQxNl90LCB2cDlfZGVmYXVsdF9pc2Nh
bl84eDhbNjRdKSA9IHsKLSAgMSwgIDMsICA2LCAgMTAsIDE1LCAyMywgMzIsIDM4LCAyLCAgNSwg
IDksICAxNCwgMjAsIDI3LCAzOSwgNDUsCi0gIDQsICA3LCAgMTEsIDE4LCAyNSwgMzEsIDQzLCA1
MCwgOCwgIDEyLCAxNiwgMjIsIDMwLCAzNywgNDgsIDU0LAotICAxMywgMTcsIDIxLCAyOCwgMzUs
IDQ0LCA1MywgNTgsIDE5LCAyNCwgMjksIDM2LCA0MiwgNDksIDU3LCA2MSwKLSAgMjYsIDMzLCA0
MCwgNDYsIDUxLCA1NiwgNjAsIDYzLCAzNCwgNDEsIDQ3LCA1MiwgNTUsIDU5LCA2MiwgNjQsCisg
IDAsICAyLCAgNSwgIDksICAxNCwgMjIsIDMxLCAzNywgMSwgIDQsICA4LCAgMTMsIDE5LCAyNiwg
MzgsIDQ0LAorICAzLCAgNiwgIDEwLCAxNywgMjQsIDMwLCA0MiwgNDksIDcsICAxMSwgMTUsIDIx
LCAyOSwgMzYsIDQ3LCA1MywKKyAgMTIsIDE2LCAyMCwgMjcsIDM0LCA0MywgNTIsIDU3LCAxOCwg
MjMsIDI4LCAzNSwgNDEsIDQ4LCA1NiwgNjAsCisgIDI1LCAzMiwgMzksIDQ1LCA1MCwgNTUsIDU5
LCA2MiwgMzMsIDQwLCA0NiwgNTEsIDU0LCA1OCwgNjEsIDYzLAogfTsKIAogREVDTEFSRV9BTElH
TkVEKDE2LCBzdGF0aWMgY29uc3QgaW50MTZfdCwgdnA5X2NvbF9pc2Nhbl8xNngxNlsyNTZdKSA9
IHsKLSAgMSwgIDUsICAxMiwgIDIxLCAgMzIsICA0NCwgIDYwLCAgNzYsICA4NiwgIDExMCwgMTMx
LCAxNTEsIDE2NiwgMTgyLCAxOTYsIDE5OSwKLSAgMiwgIDcsICAxNSwgIDI0LCAgMzUsICA0OCwg
IDY1LCAgODIsICA5NiwgIDExNSwgMTM2LCAxNTQsIDE3MiwgMTg5LCAyMDIsIDIxMywKLSAgMywg
IDksICAxNywgIDI2LCAgMzksICA1MywgIDY4LCAgODQsICAxMDIsIDExNywgMTM3LCAxNTgsIDE3
MywgMTkxLCAyMDYsIDIxNywKLSAgNCwgIDExLCAxOSwgIDMwLCAgNDIsICA1NiwgIDcyLCAgOTAs
ICAxMDQsIDEyMCwgMTQyLCAxNjAsIDE3NywgMTk1LCAyMDksIDIxOSwKLSAgNiwgIDEzLCAyMiwg
IDMzLCAgNDYsICA1OSwgIDc1LCAgOTQsICAxMDUsIDEyNCwgMTQ1LCAxNjUsIDE4MCwgMTk3LCAy
MTEsIDIyNCwKLSAgOCwgIDE2LCAyNywgIDM4LCAgNTAsICA2NCwgIDc5LCAgOTcsICAxMTMsIDEz
MCwgMTQ3LCAxNjcsIDE4MywgMjAxLCAyMTYsIDIyOSwKLSAgMTAsIDIwLCAyOSwgIDQwLCAgNTUs
ICA3MCwgIDg3LCAgMTAzLCAxMTgsIDEzMywgMTUyLCAxNzEsIDE4OCwgMjA3LCAyMjEsIDIzMSwK
LSAgMTQsIDI1LCAzNiwgIDQ3LCAgNjEsICA3NCwgIDkyLCAgMTA5LCAxMjMsIDEzOCwgMTU1LCAx
NzUsIDE5MCwgMjA4LCAyMjUsIDIzNiwKLSAgMTgsIDMxLCA0MSwgIDU0LCAgNjcsICA4MywgIDk5
LCAgMTE2LCAxMjcsIDE0MywgMTYyLCAxODEsIDE5OCwgMjE0LCAyMjgsIDIzOCwKLSAgMjMsIDM3
LCA0OSwgIDYzLCAgNzcsICA5MywgIDEwNiwgMTIxLCAxMzQsIDE0OCwgMTY4LCAxODcsIDIwNCwg
MjIwLCAyMzMsIDI0MSwKLSAgMjgsIDQ1LCA1NywgIDcxLCAgODUsICAxMDAsIDExNCwgMTI4LCAx
NDEsIDE1NywgMTc2LCAxOTQsIDIxMCwgMjI3LCAyMzcsIDI0NSwKLSAgMzQsIDUyLCA2OSwgIDgw
LCAgOTUsICAxMTEsIDEyNiwgMTM5LCAxNTAsIDE2MywgMTg1LCAyMDMsIDIxOCwgMjMwLCAyNDIs
IDI0OCwKLSAgNDMsIDYyLCA3OCwgIDkxLCAgMTA3LCAxMjIsIDEzNSwgMTQ5LCAxNjEsIDE3NCwg
MTkyLCAyMTIsIDIyNiwgMjM5LCAyNDYsIDI1MiwKLSAgNTEsIDczLCA4OCwgIDEwMSwgMTE5LCAx
MjksIDE0NiwgMTU5LCAxNjksIDE4NCwgMjA1LCAyMjMsIDIzNCwgMjQzLCAyNTAsIDI1NCwKLSAg
NTgsIDgxLCA5OCwgIDExMiwgMTMyLCAxNDQsIDE1NiwgMTcwLCAxNzksIDE5MywgMjE1LCAyMzIs
IDI0MCwgMjQ3LCAyNTEsIDI1NSwKLSAgNjYsIDg5LCAxMDgsIDEyNSwgMTQwLCAxNTMsIDE2NCwg
MTc4LCAxODYsIDIwMCwgMjIyLCAyMzUsIDI0NCwgMjQ5LCAyNTMsIDI1NiwKKyAgMCwgIDQsICAx
MSwgIDIwLCAgMzEsICA0MywgIDU5LCAgNzUsICA4NSwgIDEwOSwgMTMwLCAxNTAsIDE2NSwgMTgx
LCAxOTUsIDE5OCwKKyAgMSwgIDYsICAxNCwgIDIzLCAgMzQsICA0NywgIDY0LCAgODEsICA5NSwg
IDExNCwgMTM1LCAxNTMsIDE3MSwgMTg4LCAyMDEsIDIxMiwKKyAgMiwgIDgsICAxNiwgIDI1LCAg
MzgsICA1MiwgIDY3LCAgODMsICAxMDEsIDExNiwgMTM2LCAxNTcsIDE3MiwgMTkwLCAyMDUsIDIx
NiwKKyAgMywgIDEwLCAxOCwgIDI5LCAgNDEsICA1NSwgIDcxLCAgODksICAxMDMsIDExOSwgMTQx
LCAxNTksIDE3NiwgMTk0LCAyMDgsIDIxOCwKKyAgNSwgIDEyLCAyMSwgIDMyLCAgNDUsICA1OCwg
IDc0LCAgOTMsICAxMDQsIDEyMywgMTQ0LCAxNjQsIDE3OSwgMTk2LCAyMTAsIDIyMywKKyAgNywg
IDE1LCAyNiwgIDM3LCAgNDksICA2MywgIDc4LCAgOTYsICAxMTIsIDEyOSwgMTQ2LCAxNjYsIDE4
MiwgMjAwLCAyMTUsIDIyOCwKKyAgOSwgIDE5LCAyOCwgIDM5LCAgNTQsICA2OSwgIDg2LCAgMTAy
LCAxMTcsIDEzMiwgMTUxLCAxNzAsIDE4NywgMjA2LCAyMjAsIDIzMCwKKyAgMTMsIDI0LCAzNSwg
IDQ2LCAgNjAsICA3MywgIDkxLCAgMTA4LCAxMjIsIDEzNywgMTU0LCAxNzQsIDE4OSwgMjA3LCAy
MjQsIDIzNSwKKyAgMTcsIDMwLCA0MCwgIDUzLCAgNjYsICA4MiwgIDk4LCAgMTE1LCAxMjYsIDE0
MiwgMTYxLCAxODAsIDE5NywgMjEzLCAyMjcsIDIzNywKKyAgMjIsIDM2LCA0OCwgIDYyLCAgNzYs
ICA5MiwgIDEwNSwgMTIwLCAxMzMsIDE0NywgMTY3LCAxODYsIDIwMywgMjE5LCAyMzIsIDI0MCwK
KyAgMjcsIDQ0LCA1NiwgIDcwLCAgODQsICA5OSwgIDExMywgMTI3LCAxNDAsIDE1NiwgMTc1LCAx
OTMsIDIwOSwgMjI2LCAyMzYsIDI0NCwKKyAgMzMsIDUxLCA2OCwgIDc5LCAgOTQsICAxMTAsIDEy
NSwgMTM4LCAxNDksIDE2MiwgMTg0LCAyMDIsIDIxNywgMjI5LCAyNDEsIDI0NywKKyAgNDIsIDYx
LCA3NywgIDkwLCAgMTA2LCAxMjEsIDEzNCwgMTQ4LCAxNjAsIDE3MywgMTkxLCAyMTEsIDIyNSwg
MjM4LCAyNDUsIDI1MSwKKyAgNTAsIDcyLCA4NywgIDEwMCwgMTE4LCAxMjgsIDE0NSwgMTU4LCAx
NjgsIDE4MywgMjA0LCAyMjIsIDIzMywgMjQyLCAyNDksIDI1MywKKyAgNTcsIDgwLCA5NywgIDEx
MSwgMTMxLCAxNDMsIDE1NSwgMTY5LCAxNzgsIDE5MiwgMjE0LCAyMzEsIDIzOSwgMjQ2LCAyNTAs
IDI1NCwKKyAgNjUsIDg4LCAxMDcsIDEyNCwgMTM5LCAxNTIsIDE2MywgMTc3LCAxODUsIDE5OSwg
MjIxLCAyMzQsIDI0MywgMjQ4LCAyNTIsIDI1NSwKIH07CiAKIERFQ0xBUkVfQUxJR05FRCgxNiwg
c3RhdGljIGNvbnN0IGludDE2X3QsIHZwOV9yb3dfaXNjYW5fMTZ4MTZbMjU2XSkgPSB7Ci0gIDEs
ICAgMiwgICAzLCAgIDUsICAgNywgICAxMCwgIDEzLCAgMTgsICAyMywgIDMwLCAgMzcsICA0NCwg
IDU1LCAgNjUsICA3NywKLSAgODcsICA0LCAgIDYsICAgOCwgICAxMiwgIDE2LCAgMjAsICAyNiwg
IDMzLCAgMzksICA0OSwgIDYwLCAgNjksICA4NSwgIDEwMCwKLSAgMTE2LCAxMzEsIDksICAgMTEs
ICAxNCwgIDE5LCAgMjQsICAyOCwgIDM0LCAgNDMsICA1MiwgIDYxLCAgNzMsICA4OSwgIDEwNCwK
LSAgMTIwLCAxNDMsIDE2OCwgMTUsICAxNywgIDIxLCAgMjcsICAzMiwgIDM4LCAgNDUsICA1NCwg
IDYyLCAgNzQsICA4NiwgIDEwMSwKLSAgMTE3LCAxMzYsIDE2MiwgMTg2LCAyMiwgIDI1LCAgMzEs
ICAzNiwgIDQxLCAgNDgsICA1NiwgIDY2LCAgNzUsICA4MiwgIDk1LAotICAxMTMsIDEzNCwgMTU1
LCAxODAsIDIwNiwgMjksICAzNSwgIDQwLCAgNDYsICA1MSwgIDU5LCAgNjgsICA3OCwgIDg4LCAg
OTcsCi0gIDEwNywgMTIyLCAxNDcsIDE3MCwgMTk3LCAyMTMsIDQyLCAgNDcsICA1MCwgIDU3LCAg
NjQsICA3MSwgIDgwLCAgOTEsICA5OSwKLSAgMTA4LCAxMjMsIDEzOSwgMTYwLCAxODMsIDIwOCwg
MjIzLCA1MywgIDU4LCAgNjMsICA3MCwgIDc2LCAgODQsICA5NCwgIDEwMywKLSAgMTExLCAxMjEs
IDEzNSwgMTUxLCAxNzcsIDE5NiwgMjE2LCAyMjcsIDY3LCAgNzIsICA3OSwgIDgzLCAgOTIsICA5
OCwgIDEwOSwKLSAgMTE0LCAxMjgsIDEzNywgMTQ5LCAxNjksIDE4OSwgMjAzLCAyMjIsIDIzMywg
ODEsICA5MCwgIDkzLCAgMTAyLCAxMDYsIDExNSwKLSAgMTI2LCAxMzIsIDE0MCwgMTUyLCAxNjMs
IDE3OCwgMTkzLCAyMDksIDIyNCwgMjM1LCA5NiwgIDEwNSwgMTEwLCAxMTgsIDEyNCwKLSAgMTI5
LCAxNDQsIDE0NSwgMTU2LCAxNjYsIDE3NiwgMTkxLCAyMDcsIDIyMCwgMjM0LCAyNDAsIDExMiwg
MTE5LCAxMjUsIDEzMCwKLSAgMTQxLCAxNDgsIDE1OCwgMTY1LCAxNzEsIDE4MiwgMTkyLCAyMDQs
IDIyNSwgMjMxLCAyNDEsIDI0NCwgMTI3LCAxMzMsIDEzOCwKLSAgMTQ2LCAxNTQsIDE2MSwgMTc1
LCAxNzksIDE4NSwgMTk4LCAyMDUsIDIxNywgMjMyLCAyMzgsIDI0NSwgMjQ3LCAxNDIsIDE1MCwK
LSAgMTU3LCAxNjcsIDE3MywgMTgxLCAxOTAsIDIwMCwgMjAxLCAyMTEsIDIyMSwgMjI5LCAyMzks
IDI0MywgMjUwLCAyNTIsIDE1MywKLSAgMTY0LCAxNzIsIDE4NCwgMTg3LCAxOTQsIDIwMiwgMjEy
LCAyMTUsIDIxOSwgMjI4LCAyMzcsIDI0NiwgMjQ4LCAyNTMsIDI1NCwKLSAgMTU5LCAxNzQsIDE4
OCwgMTk1LCAxOTksIDIxMCwgMjE0LCAyMTgsIDIyNiwgMjMwLCAyMzYsIDI0MiwgMjQ5LCAyNTEs
IDI1NSwKLSAgMjU2LAorICAwLCAgIDEsICAgMiwgICA0LCAgIDYsICAgOSwgICAxMiwgIDE3LCAg
MjIsICAyOSwgIDM2LCAgNDMsICA1NCwgIDY0LCAgNzYsCisgIDg2LCAgMywgICA1LCAgIDcsICAg
MTEsICAxNSwgIDE5LCAgMjUsICAzMiwgIDM4LCAgNDgsICA1OSwgIDY4LCAgODQsICA5OSwKKyAg
MTE1LCAxMzAsIDgsICAgMTAsICAxMywgIDE4LCAgMjMsICAyNywgIDMzLCAgNDIsICA1MSwgIDYw
LCAgNzIsICA4OCwgIDEwMywKKyAgMTE5LCAxNDIsIDE2NywgMTQsICAxNiwgIDIwLCAgMjYsICAz
MSwgIDM3LCAgNDQsICA1MywgIDYxLCAgNzMsICA4NSwgIDEwMCwKKyAgMTE2LCAxMzUsIDE2MSwg
MTg1LCAyMSwgIDI0LCAgMzAsICAzNSwgIDQwLCAgNDcsICA1NSwgIDY1LCAgNzQsICA4MSwgIDk0
LAorICAxMTIsIDEzMywgMTU0LCAxNzksIDIwNSwgMjgsICAzNCwgIDM5LCAgNDUsICA1MCwgIDU4
LCAgNjcsICA3NywgIDg3LCAgOTYsCisgIDEwNiwgMTIxLCAxNDYsIDE2OSwgMTk2LCAyMTIsIDQx
LCAgNDYsICA0OSwgIDU2LCAgNjMsICA3MCwgIDc5LCAgOTAsICA5OCwKKyAgMTA3LCAxMjIsIDEz
OCwgMTU5LCAxODIsIDIwNywgMjIyLCA1MiwgIDU3LCAgNjIsICA2OSwgIDc1LCAgODMsICA5Mywg
IDEwMiwKKyAgMTEwLCAxMjAsIDEzNCwgMTUwLCAxNzYsIDE5NSwgMjE1LCAyMjYsIDY2LCAgNzEs
ICA3OCwgIDgyLCAgOTEsICA5NywgIDEwOCwKKyAgMTEzLCAxMjcsIDEzNiwgMTQ4LCAxNjgsIDE4
OCwgMjAyLCAyMjEsIDIzMiwgODAsICA4OSwgIDkyLCAgMTAxLCAxMDUsIDExNCwKKyAgMTI1LCAx
MzEsIDEzOSwgMTUxLCAxNjIsIDE3NywgMTkyLCAyMDgsIDIyMywgMjM0LCA5NSwgIDEwNCwgMTA5
LCAxMTcsIDEyMywKKyAgMTI4LCAxNDMsIDE0NCwgMTU1LCAxNjUsIDE3NSwgMTkwLCAyMDYsIDIx
OSwgMjMzLCAyMzksIDExMSwgMTE4LCAxMjQsIDEyOSwKKyAgMTQwLCAxNDcsIDE1NywgMTY0LCAx
NzAsIDE4MSwgMTkxLCAyMDMsIDIyNCwgMjMwLCAyNDAsIDI0MywgMTI2LCAxMzIsIDEzNywKKyAg
MTQ1LCAxNTMsIDE2MCwgMTc0LCAxNzgsIDE4NCwgMTk3LCAyMDQsIDIxNiwgMjMxLCAyMzcsIDI0
NCwgMjQ2LCAxNDEsIDE0OSwKKyAgMTU2LCAxNjYsIDE3MiwgMTgwLCAxODksIDE5OSwgMjAwLCAy
MTAsIDIyMCwgMjI4LCAyMzgsIDI0MiwgMjQ5LCAyNTEsIDE1MiwKKyAgMTYzLCAxNzEsIDE4Mywg
MTg2LCAxOTMsIDIwMSwgMjExLCAyMTQsIDIxOCwgMjI3LCAyMzYsIDI0NSwgMjQ3LCAyNTIsIDI1
MywKKyAgMTU4LCAxNzMsIDE4NywgMTk0LCAxOTgsIDIwOSwgMjEzLCAyMTcsIDIyNSwgMjI5LCAy
MzUsIDI0MSwgMjQ4LCAyNTAsIDI1NCwKKyAgMjU1LAogfTsKIAogREVDTEFSRV9BTElHTkVEKDE2
LCBzdGF0aWMgY29uc3QgaW50MTZfdCwgdnA5X2RlZmF1bHRfaXNjYW5fMTZ4MTZbMjU2XSkgPSB7
Ci0gIDEsICAgMywgICA2LCAgIDEwLCAgMTgsICAyNSwgIDM3LCAgNDUsICA1NiwgIDczLCAgODks
ICAxMDUsIDEyOSwgMTQ0LCAxNjcsCi0gIDE4MCwgMiwgICA1LCAgIDksICAgMTQsICAyMSwgIDMx
LCAgNDEsICA1NSwgIDY3LCAgODAsICA5NywgIDExNCwgMTQyLCAxNTUsCi0gIDE3OSwgMTk3LCA0
LCAgIDgsICAgMTIsICAxOSwgIDI2LCAgMzQsICA0NywgIDU4LCAgNzIsICA4NywgIDEwMiwgMTIw
LCAxNDksCi0gIDE2NSwgMTg3LCAyMDIsIDcsICAgMTMsICAxNywgIDI0LCAgMzIsICA0MCwgIDU0
LCAgNjUsICA3OSwgIDkzLCAgMTExLCAxMjgsCi0gIDE1NCwgMTcwLCAxOTQsIDIwOSwgMTEsICAx
NSwgIDIwLCAgMjksICAzOCwgIDQ4LCAgNTksICA2OCwgIDg1LCAgOTksICAxMTUsCi0gIDEzNCwg
MTYyLCAxNzcsIDE5OSwgMjE1LCAxNiwgIDIyLCAgMjcsICAzNSwgIDQ0LCAgNTMsICA2NiwgIDc4
LCAgOTIsICAxMDcsCi0gIDEyMSwgMTQxLCAxNjYsIDE4NiwgMjA2LCAyMjIsIDIzLCAgMjgsICAz
MywgIDQyLCAgNDksICA2MSwgIDc0LCAgODYsICAxMDAsCi0gIDExNywgMTMxLCAxNTIsIDE3Niwg
MTkxLCAyMTIsIDIyNiwgMzAsICAzNiwgIDQzLCAgNTAsICA2MCwgIDcwLCAgODIsICA5NiwKLSAg
MTA5LCAxMjYsIDE0MCwgMTU2LCAxODMsIDE5OCwgMjE4LCAyMzAsIDM5LCAgNDYsICA1MiwgIDYy
LCAgNjksICA4MSwgIDk0LAotICAxMDYsIDExOSwgMTM1LCAxNTEsIDE2OSwgMTkyLCAyMDgsIDIy
NCwgMjM1LCA1MSwgIDU3LCAgNjQsICA3NSwgIDg0LCAgOTUsCi0gIDExMCwgMTE4LCAxMzAsIDE0
OCwgMTY0LCAxNzgsIDIwMCwgMjE0LCAyMjksIDIzOSwgNjMsICA3MSwgIDc3LCAgODgsICA5OCwK
LSAgMTA4LCAxMjMsIDEzMiwgMTQ2LCAxNjAsIDE3MywgMTg5LCAyMTEsIDIyMywgMjM2LCAyNDMs
IDc2LCAgODMsICA5MSwgIDEwMywKLSAgMTEzLCAxMjUsIDEzOSwgMTQ3LCAxNTgsIDE3NCwgMTg4
LCAyMDMsIDIyMCwgMjMxLCAyNDEsIDI0NiwgOTAsICAxMDEsIDExMiwKLSAgMTI0LCAxMzMsIDE0
MywgMTU3LCAxNjgsIDE4MSwgMTkwLCAyMDQsIDIxNywgMjMyLCAyMzgsIDI0NywgMjUxLCAxMDQs
IDExNiwKLSAgMTI3LCAxMzcsIDE1MCwgMTYzLCAxNzIsIDE4NCwgMTk1LCAyMDUsIDIxNiwgMjI1
LCAyMzcsIDI0MiwgMjQ5LCAyNTMsIDEyMiwKLSAgMTM2LCAxNDUsIDE1OSwgMTcxLCAxODIsIDE5
MywgMjAxLCAyMTAsIDIxOSwgMjI4LCAyMzQsIDI0NCwgMjQ1LCAyNTIsIDI1NSwKLSAgMTM4LCAx
NTMsIDE2MSwgMTc1LCAxODUsIDE5NiwgMjA3LCAyMTMsIDIyMSwgMjI3LCAyMzMsIDI0MCwgMjQ4
LCAyNTAsIDI1NCwKLSAgMjU2LAorICAwLCAgIDIsICAgNSwgICA5LCAgIDE3LCAgMjQsICAzNiwg
IDQ0LCAgNTUsICA3MiwgIDg4LCAgMTA0LCAxMjgsIDE0MywgMTY2LAorICAxNzksIDEsICAgNCwg
ICA4LCAgIDEzLCAgMjAsICAzMCwgIDQwLCAgNTQsICA2NiwgIDc5LCAgOTYsICAxMTMsIDE0MSwg
MTU0LAorICAxNzgsIDE5NiwgMywgICA3LCAgIDExLCAgMTgsICAyNSwgIDMzLCAgNDYsICA1Nywg
IDcxLCAgODYsICAxMDEsIDExOSwgMTQ4LAorICAxNjQsIDE4NiwgMjAxLCA2LCAgIDEyLCAgMTYs
ICAyMywgIDMxLCAgMzksICA1MywgIDY0LCAgNzgsICA5MiwgIDExMCwgMTI3LAorICAxNTMsIDE2
OSwgMTkzLCAyMDgsIDEwLCAgMTQsICAxOSwgIDI4LCAgMzcsICA0NywgIDU4LCAgNjcsICA4NCwg
IDk4LCAgMTE0LAorICAxMzMsIDE2MSwgMTc2LCAxOTgsIDIxNCwgMTUsICAyMSwgIDI2LCAgMzQs
ICA0MywgIDUyLCAgNjUsICA3NywgIDkxLCAgMTA2LAorICAxMjAsIDE0MCwgMTY1LCAxODUsIDIw
NSwgMjIxLCAyMiwgIDI3LCAgMzIsICA0MSwgIDQ4LCAgNjAsICA3MywgIDg1LCAgOTksCisgIDEx
NiwgMTMwLCAxNTEsIDE3NSwgMTkwLCAyMTEsIDIyNSwgMjksICAzNSwgIDQyLCAgNDksICA1OSwg
IDY5LCAgODEsICA5NSwKKyAgMTA4LCAxMjUsIDEzOSwgMTU1LCAxODIsIDE5NywgMjE3LCAyMjks
IDM4LCAgNDUsICA1MSwgIDYxLCAgNjgsICA4MCwgIDkzLAorICAxMDUsIDExOCwgMTM0LCAxNTAs
IDE2OCwgMTkxLCAyMDcsIDIyMywgMjM0LCA1MCwgIDU2LCAgNjMsICA3NCwgIDgzLCAgOTQsCisg
IDEwOSwgMTE3LCAxMjksIDE0NywgMTYzLCAxNzcsIDE5OSwgMjEzLCAyMjgsIDIzOCwgNjIsICA3
MCwgIDc2LCAgODcsICA5NywKKyAgMTA3LCAxMjIsIDEzMSwgMTQ1LCAxNTksIDE3MiwgMTg4LCAy
MTAsIDIyMiwgMjM1LCAyNDIsIDc1LCAgODIsICA5MCwgIDEwMiwKKyAgMTEyLCAxMjQsIDEzOCwg
MTQ2LCAxNTcsIDE3MywgMTg3LCAyMDIsIDIxOSwgMjMwLCAyNDAsIDI0NSwgODksICAxMDAsIDEx
MSwKKyAgMTIzLCAxMzIsIDE0MiwgMTU2LCAxNjcsIDE4MCwgMTg5LCAyMDMsIDIxNiwgMjMxLCAy
MzcsIDI0NiwgMjUwLCAxMDMsIDExNSwKKyAgMTI2LCAxMzYsIDE0OSwgMTYyLCAxNzEsIDE4Mywg
MTk0LCAyMDQsIDIxNSwgMjI0LCAyMzYsIDI0MSwgMjQ4LCAyNTIsIDEyMSwKKyAgMTM1LCAxNDQs
IDE1OCwgMTcwLCAxODEsIDE5MiwgMjAwLCAyMDksIDIxOCwgMjI3LCAyMzMsIDI0MywgMjQ0LCAy
NTEsIDI1NCwKKyAgMTM3LCAxNTIsIDE2MCwgMTc0LCAxODQsIDE5NSwgMjA2LCAyMTIsIDIyMCwg
MjI2LCAyMzIsIDIzOSwgMjQ3LCAyNDksIDI1MywKKyAgMjU1LAogfTsKIAogREVDTEFSRV9BTElH
TkVEKDE2LCBzdGF0aWMgY29uc3QgaW50MTZfdCwgdnA5X2RlZmF1bHRfaXNjYW5fMzJ4MzJbMTAy
NF0pID0gewotICAxLCAgICAzLCAgICA2LCAgICAxMSwgICAxOCwgICAyNiwgICAzOSwgICA0OCwg
ICA2MywgICA4NCwgICAxMDIsICAxMjIsICAxNDYsCi0gIDE3MSwgIDE5NCwgIDIwNSwgIDIxMSwg
IDIyMCwgIDIzMCwgIDIzNCwgIDI0NiwgIDI1OCwgIDI3NiwgIDMwMCwgIDM0MywgIDM1NywKLSAg
Mzc4LCAgNDA2LCAgNDU2LCAgNDcyLCAgNDk2LCAgNTI4LCAgMiwgICAgNSwgICAgOSwgICAgMTYs
ICAgMjMsICAgMzEsICAgNDYsCi0gIDU5LCAgIDc1LCAgIDkzLCAgIDExMywgIDEzNCwgIDE1OSwg
IDE4NSwgIDIwNCwgIDIxNiwgIDIyMywgIDIyOSwgIDIzNSwgIDIzOCwKLSAgMjU3LCAgMjc1LCAg
Mjk5LCAgMzE4LCAgMzU2LCAgMzc3LCAgNDA1LCAgNDI3LCAgNDcxLCAgNDk1LCAgNTI3LCAgNTUy
LCAgNCwKLSAgOCwgICAgMTMsICAgMTksICAgMjksICAgMzcsICAgNTMsICAgNjUsICAgODMsICAg
MTAzLCAgMTE5LCAgMTQzLCAgMTY1LCAgMTkwLAotICAyMDksICAyMTgsICAyMjUsICAyMzIsICAy
MzYsICAyMzksICAyNzQsICAyOTgsICAzMTcsICAzMzAsICAzNzYsICA0MDQsICA0MjYsCi0gIDQ0
MSwgIDQ5NCwgIDUyNiwgIDU1MSwgIDU2OCwgIDcsICAgIDEyLCAgIDE3LCAgIDI0LCAgIDMyLCAg
IDQ0LCAgIDYxLCAgIDc0LAotICA5MSwgICAxMTAsICAxMjcsICAxNTEsICAxNzQsICAxOTcsICAy
MTIsICAyMjEsICAyMjcsICAyMzMsICAyMzcsICAyNDAsICAyOTcsCi0gIDMxNiwgIDMyOSwgIDMz
NiwgIDQwMywgIDQyNSwgIDQ0MCwgIDQ0OCwgIDUyNSwgIDU1MCwgIDU2NywgIDU3NiwgIDEwLCAg
IDE1LAotICAyMCwgICAzMCwgICAzOCwgICA1MSwgICA2NiwgICA3OSwgICA5NiwgICAxMTcsICAx
MzUsICAxNTgsICAxODAsICAyMDIsICAyMTUsCi0gIDIyNCwgIDI0NSwgIDI1NiwgIDI3MywgIDI5
NiwgIDM0MiwgIDM1NSwgIDM3NSwgIDQwMiwgIDQ1NSwgIDQ3MCwgIDQ5MywgIDUyNCwKLSAgNTgz
LCAgNTk3LCAgNjE4LCAgNjQ2LCAgMTQsICAgMjEsICAgMjcsICAgMzYsICAgNDUsICAgNTUsICAg
NzMsICAgODYsICAgMTA2LAotICAxMjQsICAxNDEsICAxNjQsICAxODMsICAyMDYsICAyMTcsICAy
MjYsICAyNTUsICAyNzIsICAyOTUsICAzMTUsICAzNTQsICAzNzQsCi0gIDQwMSwgIDQyNCwgIDQ2
OSwgIDQ5MiwgIDUyMywgIDU0OSwgIDU5NiwgIDYxNywgIDY0NSwgIDY2NywgIDIyLCAgIDI4LCAg
IDM0LAotICA0MywgICA1NCwgICA2NCwgICA4MSwgICA5NSwgICAxMTQsICAxMzMsICAxNTIsICAx
NzMsICAxOTEsICAyMTAsICAyMTksICAyMjgsCi0gIDI3MSwgIDI5NCwgIDMxNCwgIDMyOCwgIDM3
MywgIDQwMCwgIDQyMywgIDQzOSwgIDQ5MSwgIDUyMiwgIDU0OCwgIDU2NiwgIDYxNiwKLSAgNjQ0
LCAgNjY2LCAgNjgxLCAgMjUsICAgMzMsICAgNDAsICAgNDksICAgNTgsICAgNzIsICAgODksICAg
MTA1LCAgMTIxLCAgMTQwLAotICAxNjAsICAxNzksICAxOTgsICAyMTMsICAyMjIsICAyMzEsICAy
OTMsICAzMTMsICAzMjcsICAzMzUsICAzOTksICA0MjIsICA0MzgsCi0gIDQ0NywgIDUyMSwgIDU0
NywgIDU2NSwgIDU3NSwgIDY0MywgIDY2NSwgIDY4MCwgIDY4OCwgIDM1LCAgIDQxLCAgIDQ3LCAg
IDU3LAotICA2OSwgICA4MiwgICA5NywgICAxMTIsICAxMzEsICAxNDgsICAxNjgsICAxODcsICAy
NDQsICAyNTQsICAyNzAsICAyOTIsICAzNDEsCi0gIDM1MywgIDM3MiwgIDM5OCwgIDQ1NCwgIDQ2
OCwgIDQ5MCwgIDUyMCwgIDU4MiwgIDU5NSwgIDYxNSwgIDY0MiwgIDY5NCwgIDcwNiwKLSAgNzI0
LCAgNzQ4LCAgNDIsICAgNTAsICAgNTYsICAgNjgsICAgNzgsICAgOTIsICAgMTA4LCAgMTI1LCAg
MTM5LCAgMTYyLCAgMTc4LAotICAxOTUsICAyNTMsICAyNjksICAyOTEsICAzMTIsICAzNTIsICAz
NzEsICAzOTcsICA0MjEsICA0NjcsICA0ODksICA1MTksICA1NDYsCi0gIDU5NCwgIDYxNCwgIDY0
MSwgIDY2NCwgIDcwNSwgIDcyMywgIDc0NywgIDc2NiwgIDUyLCAgIDYwLCAgIDY3LCAgIDc3LCAg
IDkwLAotICAxMDAsICAxMjAsICAxMzIsICAxNTAsICAxNjksICAxODIsICAyMDEsICAyNjgsICAy
OTAsICAzMTEsICAzMjYsICAzNzAsICAzOTYsCi0gIDQyMCwgIDQzNywgIDQ4OCwgIDUxOCwgIDU0
NSwgIDU2NCwgIDYxMywgIDY0MCwgIDY2MywgIDY3OSwgIDcyMiwgIDc0NiwgIDc2NSwKLSAgNzc4
LCAgNjIsICAgNzAsICAgNzYsICAgODgsICAgMTAxLCAgMTE1LCAgMTMwLCAgMTQ1LCAgMTYzLCAg
MTgxLCAgMTkyLCAgMjA4LAotICAyODksICAzMTAsICAzMjUsICAzMzQsICAzOTUsICA0MTksICA0
MzYsICA0NDYsICA1MTcsICA1NDQsICA1NjMsICA1NzQsICA2MzksCi0gIDY2MiwgIDY3OCwgIDY4
NywgIDc0NSwgIDc2NCwgIDc3NywgIDc4NCwgIDcxLCAgIDgwLCAgIDg3LCAgIDk4LCAgIDEwOSwg
IDEyMywKLSAgMTM4LCAgMTU2LCAgMjQzLCAgMjUyLCAgMjY3LCAgMjg4LCAgMzQwLCAgMzUxLCAg
MzY5LCAgMzk0LCAgNDUzLCAgNDY2LCAgNDg3LAotICA1MTYsICA1ODEsICA1OTMsICA2MTIsICA2
MzgsICA2OTMsICA3MDQsICA3MjEsICA3NDQsICA3ODksICA3OTksICA4MTQsICA4MzQsCi0gIDg1
LCAgIDk0LCAgIDEwNCwgIDExMSwgIDEyNiwgIDE0MiwgIDE1NSwgIDE3MiwgIDI1MSwgIDI2Niwg
IDI4NywgIDMwOSwgIDM1MCwKLSAgMzY4LCAgMzkzLCAgNDE4LCAgNDY1LCAgNDg2LCAgNTE1LCAg
NTQzLCAgNTkyLCAgNjExLCAgNjM3LCAgNjYxLCAgNzAzLCAgNzIwLAotICA3NDMsICA3NjMsICA3
OTgsICA4MTMsICA4MzMsICA4NDksICA5OSwgICAxMDcsICAxMTYsICAxMjgsICAxNDQsICAxNTcs
ICAxNzAsCi0gIDE4NiwgIDI2NSwgIDI4NiwgIDMwOCwgIDMyNCwgIDM2NywgIDM5MiwgIDQxNywg
IDQzNSwgIDQ4NSwgIDUxNCwgIDU0MiwgIDU2MiwKLSAgNjEwLCAgNjM2LCAgNjYwLCAgNjc3LCAg
NzE5LCAgNzQyLCAgNzYyLCAgNzc2LCAgODEyLCAgODMyLCAgODQ4LCAgODU5LCAgMTE4LAotICAx
MjksICAxMzcsICAxNDksICAxNjEsICAxNzYsICAxODksICAxOTksICAyODUsICAzMDcsICAzMjMs
ICAzMzMsICAzOTEsICA0MTYsCi0gIDQzNCwgIDQ0NSwgIDUxMywgIDU0MSwgIDU2MSwgIDU3Mywg
IDYzNSwgIDY1OSwgIDY3NiwgIDY4NiwgIDc0MSwgIDc2MSwgIDc3NSwKLSAgNzgzLCAgODMxLCAg
ODQ3LCAgODU4LCAgODY0LCAgMTM2LCAgMTQ3LCAgMTUzLCAgMTY2LCAgMjQyLCAgMjUwLCAgMjY0
LCAgMjg0LAotICAzMzksICAzNDksICAzNjYsICAzOTAsICA0NTIsICA0NjQsICA0ODQsICA1MTIs
ICA1ODAsICA1OTEsICA2MDksICA2MzQsICA2OTIsCi0gIDcwMiwgIDcxOCwgIDc0MCwgIDc4OCwg
IDc5NywgIDgxMSwgIDgzMCwgIDg2OCwgIDg3NiwgIDg4OCwgIDkwNCwgIDE1NCwgIDE2NywKLSAg
MTc1LCAgMTg0LCAgMjQ5LCAgMjYzLCAgMjgzLCAgMzA2LCAgMzQ4LCAgMzY1LCAgMzg5LCAgNDE1
LCAgNDYzLCAgNDgzLCAgNTExLAotICA1NDAsICA1OTAsICA2MDgsICA2MzMsICA2NTgsICA3MDEs
ICA3MTcsICA3MzksICA3NjAsICA3OTYsICA4MTAsICA4MjksICA4NDYsCi0gIDg3NSwgIDg4Nywg
IDkwMywgIDkxNiwgIDE3NywgIDE4OCwgIDE5NiwgIDIwMywgIDI2MiwgIDI4MiwgIDMwNSwgIDMy
MiwgIDM2NCwKLSAgMzg4LCAgNDE0LCAgNDMzLCAgNDgyLCAgNTEwLCAgNTM5LCAgNTYwLCAgNjA3
LCAgNjMyLCAgNjU3LCAgNjc1LCAgNzE2LCAgNzM4LAotICA3NTksICA3NzQsICA4MDksICA4Mjgs
ICA4NDUsICA4NTcsICA4ODYsICA5MDIsICA5MTUsICA5MjQsICAxOTMsICAyMDAsICAyMDcsCi0g
IDIxNCwgIDI4MSwgIDMwNCwgIDMyMSwgIDMzMiwgIDM4NywgIDQxMywgIDQzMiwgIDQ0NCwgIDUw
OSwgIDUzOCwgIDU1OSwgIDU3MiwKLSAgNjMxLCAgNjU2LCAgNjc0LCAgNjg1LCAgNzM3LCAgNzU4
LCAgNzczLCAgNzgyLCAgODI3LCAgODQ0LCAgODU2LCAgODYzLCAgOTAxLAotICA5MTQsICA5MjMs
ICA5MjgsICAyNDEsICAyNDgsICAyNjEsICAyODAsICAzMzgsICAzNDcsICAzNjMsICAzODYsICA0
NTEsICA0NjIsCi0gIDQ4MSwgIDUwOCwgIDU3OSwgIDU4OSwgIDYwNiwgIDYzMCwgIDY5MSwgIDcw
MCwgIDcxNSwgIDczNiwgIDc4NywgIDc5NSwgIDgwOCwKLSAgODI2LCAgODY3LCAgODc0LCAgODg1
LCAgOTAwLCAgOTMxLCAgOTM3LCAgOTQ2LCAgOTU4LCAgMjQ3LCAgMjYwLCAgMjc5LCAgMzAzLAot
ICAzNDYsICAzNjIsICAzODUsICA0MTIsICA0NjEsICA0ODAsICA1MDcsICA1MzcsICA1ODgsICA2
MDUsICA2MjksICA2NTUsICA2OTksCi0gIDcxNCwgIDczNSwgIDc1NywgIDc5NCwgIDgwNywgIDgy
NSwgIDg0MywgIDg3MywgIDg4NCwgIDg5OSwgIDkxMywgIDkzNiwgIDk0NSwKLSAgOTU3LCAgOTY3
LCAgMjU5LCAgMjc4LCAgMzAyLCAgMzIwLCAgMzYxLCAgMzg0LCAgNDExLCAgNDMxLCAgNDc5LCAg
NTA2LCAgNTM2LAotICA1NTgsICA2MDQsICA2MjgsICA2NTQsICA2NzMsICA3MTMsICA3MzQsICA3
NTYsICA3NzIsICA4MDYsICA4MjQsICA4NDIsICA4NTUsCi0gIDg4MywgIDg5OCwgIDkxMiwgIDky
MiwgIDk0NCwgIDk1NiwgIDk2NiwgIDk3MywgIDI3NywgIDMwMSwgIDMxOSwgIDMzMSwgIDM4MywK
LSAgNDEwLCAgNDMwLCAgNDQzLCAgNTA1LCAgNTM1LCAgNTU3LCAgNTcxLCAgNjI3LCAgNjUzLCAg
NjcyLCAgNjg0LCAgNzMzLCAgNzU1LAotICA3NzEsICA3ODEsICA4MjMsICA4NDEsICA4NTQsICA4
NjIsICA4OTcsICA5MTEsICA5MjEsICA5MjcsICA5NTUsICA5NjUsICA5NzIsCi0gIDk3NiwgIDMz
NywgIDM0NSwgIDM2MCwgIDM4MiwgIDQ1MCwgIDQ2MCwgIDQ3OCwgIDUwNCwgIDU3OCwgIDU4Nywg
IDYwMywgIDYyNiwKLSAgNjkwLCAgNjk4LCAgNzEyLCAgNzMyLCAgNzg2LCAgNzkzLCAgODA1LCAg
ODIyLCAgODY2LCAgODcyLCAgODgyLCAgODk2LCAgOTMwLAotICA5MzUsICA5NDMsICA5NTQsICA5
NzgsICA5ODIsICA5ODgsICA5OTYsICAzNDQsICAzNTksICAzODEsICA0MDksICA0NTksICA0Nzcs
Ci0gIDUwMywgIDUzNCwgIDU4NiwgIDYwMiwgIDYyNSwgIDY1MiwgIDY5NywgIDcxMSwgIDczMSwg
IDc1NCwgIDc5MiwgIDgwNCwgIDgyMSwKLSAgODQwLCAgODcxLCAgODgxLCAgODk1LCAgOTEwLCAg
OTM0LCAgOTQyLCAgOTUzLCAgOTY0LCAgOTgxLCAgOTg3LCAgOTk1LCAgMTAwMiwKLSAgMzU4LCAg
MzgwLCAgNDA4LCAgNDI5LCAgNDc2LCAgNTAyLCAgNTMzLCAgNTU2LCAgNjAxLCAgNjI0LCAgNjUx
LCAgNjcxLCAgNzEwLAotICA3MzAsICA3NTMsICA3NzAsICA4MDMsICA4MjAsICA4MzksICA4NTMs
ICA4ODAsICA4OTQsICA5MDksICA5MjAsICA5NDEsICA5NTIsCi0gIDk2MywgIDk3MSwgIDk4Niwg
IDk5NCwgIDEwMDEsIDEwMDYsIDM3OSwgIDQwNywgIDQyOCwgIDQ0MiwgIDUwMSwgIDUzMiwgIDU1
NSwKLSAgNTcwLCAgNjIzLCAgNjUwLCAgNjcwLCAgNjgzLCAgNzI5LCAgNzUyLCAgNzY5LCAgNzgw
LCAgODE5LCAgODM4LCAgODUyLCAgODYxLAotICA4OTMsICA5MDgsICA5MTksICA5MjYsICA5NTEs
ICA5NjIsICA5NzAsICA5NzUsICA5OTMsICAxMDAwLCAxMDA1LCAxMDA4LCA0NDksCi0gIDQ1OCwg
IDQ3NSwgIDUwMCwgIDU3NywgIDU4NSwgIDYwMCwgIDYyMiwgIDY4OSwgIDY5NiwgIDcwOSwgIDcy
OCwgIDc4NSwgIDc5MSwKLSAgODAyLCAgODE4LCAgODY1LCAgODcwLCAgODc5LCAgODkyLCAgOTI5
LCAgOTMzLCAgOTQwLCAgOTUwLCAgOTc3LCAgOTgwLCAgOTg1LAotICA5OTIsICAxMDA5LCAxMDEx
LCAxMDE0LCAxMDE4LCA0NTcsICA0NzQsICA0OTksICA1MzEsICA1ODQsICA1OTksICA2MjEsICA2
NDksCi0gIDY5NSwgIDcwOCwgIDcyNywgIDc1MSwgIDc5MCwgIDgwMSwgIDgxNywgIDgzNywgIDg2
OSwgIDg3OCwgIDg5MSwgIDkwNywgIDkzMiwKLSAgOTM5LCAgOTQ5LCAgOTYxLCAgOTc5LCAgOTg0
LCAgOTkxLCAgOTk5LCAgMTAxMCwgMTAxMywgMTAxNywgMTAyMSwgNDczLCAgNDk4LAotICA1MzAs
ICA1NTQsICA1OTgsICA2MjAsICA2NDgsICA2NjksICA3MDcsICA3MjYsICA3NTAsICA3NjgsICA4
MDAsICA4MTYsICA4MzYsCi0gIDg1MSwgIDg3NywgIDg5MCwgIDkwNiwgIDkxOCwgIDkzOCwgIDk0
OCwgIDk2MCwgIDk2OSwgIDk4MywgIDk5MCwgIDk5OCwgIDEwMDQsCi0gIDEwMTIsIDEwMTYsIDEw
MjAsIDEwMjMsIDQ5NywgIDUyOSwgIDU1MywgIDU2OSwgIDYxOSwgIDY0NywgIDY2OCwgIDY4Miwg
IDcyNSwKLSAgNzQ5LCAgNzY3LCAgNzc5LCAgODE1LCAgODM1LCAgODUwLCAgODYwLCAgODg5LCAg
OTA1LCAgOTE3LCAgOTI1LCAgOTQ3LCAgOTU5LAotICA5NjgsICA5NzQsICA5ODksICA5OTcsICAx
MDAzLCAxMDA3LCAxMDE1LCAxMDE5LCAxMDIyLCAxMDI0LAotfTsKLQotY29uc3QgU2Nhbk9yZGVy
IHZwOV9kZWZhdWx0X3NjYW5fb3JkZXJzW1RYX1NJWkVTXSA9IHsKKyAgMCwgICAgMiwgICAgNSwg
ICAgMTAsICAgMTcsICAgMjUsICAgMzgsICAgNDcsICAgNjIsICAgODMsICAgMTAxLCAgMTIxLCAg
MTQ1LAorICAxNzAsICAxOTMsICAyMDQsICAyMTAsICAyMTksICAyMjksICAyMzMsICAyNDUsICAy
NTcsICAyNzUsICAyOTksICAzNDIsICAzNTYsCisgIDM3NywgIDQwNSwgIDQ1NSwgIDQ3MSwgIDQ5
NSwgIDUyNywgIDEsICAgIDQsICAgIDgsICAgIDE1LCAgIDIyLCAgIDMwLCAgIDQ1LAorICA1OCwg
ICA3NCwgICA5MiwgICAxMTIsICAxMzMsICAxNTgsICAxODQsICAyMDMsICAyMTUsICAyMjIsICAy
MjgsICAyMzQsICAyMzcsCisgIDI1NiwgIDI3NCwgIDI5OCwgIDMxNywgIDM1NSwgIDM3NiwgIDQw
NCwgIDQyNiwgIDQ3MCwgIDQ5NCwgIDUyNiwgIDU1MSwgIDMsCisgIDcsICAgIDEyLCAgIDE4LCAg
IDI4LCAgIDM2LCAgIDUyLCAgIDY0LCAgIDgyLCAgIDEwMiwgIDExOCwgIDE0MiwgIDE2NCwgIDE4
OSwKKyAgMjA4LCAgMjE3LCAgMjI0LCAgMjMxLCAgMjM1LCAgMjM4LCAgMjczLCAgMjk3LCAgMzE2
LCAgMzI5LCAgMzc1LCAgNDAzLCAgNDI1LAorICA0NDAsICA0OTMsICA1MjUsICA1NTAsICA1Njcs
ICA2LCAgICAxMSwgICAxNiwgICAyMywgICAzMSwgICA0MywgICA2MCwgICA3MywKKyAgOTAsICAg
MTA5LCAgMTI2LCAgMTUwLCAgMTczLCAgMTk2LCAgMjExLCAgMjIwLCAgMjI2LCAgMjMyLCAgMjM2
LCAgMjM5LCAgMjk2LAorICAzMTUsICAzMjgsICAzMzUsICA0MDIsICA0MjQsICA0MzksICA0NDcs
ICA1MjQsICA1NDksICA1NjYsICA1NzUsICA5LCAgICAxNCwKKyAgMTksICAgMjksICAgMzcsICAg
NTAsICAgNjUsICAgNzgsICAgOTUsICAgMTE2LCAgMTM0LCAgMTU3LCAgMTc5LCAgMjAxLCAgMjE0
LAorICAyMjMsICAyNDQsICAyNTUsICAyNzIsICAyOTUsICAzNDEsICAzNTQsICAzNzQsICA0MDEs
ICA0NTQsICA0NjksICA0OTIsICA1MjMsCisgIDU4MiwgIDU5NiwgIDYxNywgIDY0NSwgIDEzLCAg
IDIwLCAgIDI2LCAgIDM1LCAgIDQ0LCAgIDU0LCAgIDcyLCAgIDg1LCAgIDEwNSwKKyAgMTIzLCAg
MTQwLCAgMTYzLCAgMTgyLCAgMjA1LCAgMjE2LCAgMjI1LCAgMjU0LCAgMjcxLCAgMjk0LCAgMzE0
LCAgMzUzLCAgMzczLAorICA0MDAsICA0MjMsICA0NjgsICA0OTEsICA1MjIsICA1NDgsICA1OTUs
ICA2MTYsICA2NDQsICA2NjYsICAyMSwgICAyNywgICAzMywKKyAgNDIsICAgNTMsICAgNjMsICAg
ODAsICAgOTQsICAgMTEzLCAgMTMyLCAgMTUxLCAgMTcyLCAgMTkwLCAgMjA5LCAgMjE4LCAgMjI3
LAorICAyNzAsICAyOTMsICAzMTMsICAzMjcsICAzNzIsICAzOTksICA0MjIsICA0MzgsICA0OTAs
ICA1MjEsICA1NDcsICA1NjUsICA2MTUsCisgIDY0MywgIDY2NSwgIDY4MCwgIDI0LCAgIDMyLCAg
IDM5LCAgIDQ4LCAgIDU3LCAgIDcxLCAgIDg4LCAgIDEwNCwgIDEyMCwgIDEzOSwKKyAgMTU5LCAg
MTc4LCAgMTk3LCAgMjEyLCAgMjIxLCAgMjMwLCAgMjkyLCAgMzEyLCAgMzI2LCAgMzM0LCAgMzk4
LCAgNDIxLCAgNDM3LAorICA0NDYsICA1MjAsICA1NDYsICA1NjQsICA1NzQsICA2NDIsICA2NjQs
ICA2NzksICA2ODcsICAzNCwgICA0MCwgICA0NiwgICA1NiwKKyAgNjgsICAgODEsICAgOTYsICAg
MTExLCAgMTMwLCAgMTQ3LCAgMTY3LCAgMTg2LCAgMjQzLCAgMjUzLCAgMjY5LCAgMjkxLCAgMzQw
LAorICAzNTIsICAzNzEsICAzOTcsICA0NTMsICA0NjcsICA0ODksICA1MTksICA1ODEsICA1OTQs
ICA2MTQsICA2NDEsICA2OTMsICA3MDUsCisgIDcyMywgIDc0NywgIDQxLCAgIDQ5LCAgIDU1LCAg
IDY3LCAgIDc3LCAgIDkxLCAgIDEwNywgIDEyNCwgIDEzOCwgIDE2MSwgIDE3NywKKyAgMTk0LCAg
MjUyLCAgMjY4LCAgMjkwLCAgMzExLCAgMzUxLCAgMzcwLCAgMzk2LCAgNDIwLCAgNDY2LCAgNDg4
LCAgNTE4LCAgNTQ1LAorICA1OTMsICA2MTMsICA2NDAsICA2NjMsICA3MDQsICA3MjIsICA3NDYs
ICA3NjUsICA1MSwgICA1OSwgICA2NiwgICA3NiwgICA4OSwKKyAgOTksICAgMTE5LCAgMTMxLCAg
MTQ5LCAgMTY4LCAgMTgxLCAgMjAwLCAgMjY3LCAgMjg5LCAgMzEwLCAgMzI1LCAgMzY5LCAgMzk1
LAorICA0MTksICA0MzYsICA0ODcsICA1MTcsICA1NDQsICA1NjMsICA2MTIsICA2MzksICA2NjIs
ICA2NzgsICA3MjEsICA3NDUsICA3NjQsCisgIDc3NywgIDYxLCAgIDY5LCAgIDc1LCAgIDg3LCAg
IDEwMCwgIDExNCwgIDEyOSwgIDE0NCwgIDE2MiwgIDE4MCwgIDE5MSwgIDIwNywKKyAgMjg4LCAg
MzA5LCAgMzI0LCAgMzMzLCAgMzk0LCAgNDE4LCAgNDM1LCAgNDQ1LCAgNTE2LCAgNTQzLCAgNTYy
LCAgNTczLCAgNjM4LAorICA2NjEsICA2NzcsICA2ODYsICA3NDQsICA3NjMsICA3NzYsICA3ODMs
ICA3MCwgICA3OSwgICA4NiwgICA5NywgICAxMDgsICAxMjIsCisgIDEzNywgIDE1NSwgIDI0Miwg
IDI1MSwgIDI2NiwgIDI4NywgIDMzOSwgIDM1MCwgIDM2OCwgIDM5MywgIDQ1MiwgIDQ2NSwgIDQ4
NiwKKyAgNTE1LCAgNTgwLCAgNTkyLCAgNjExLCAgNjM3LCAgNjkyLCAgNzAzLCAgNzIwLCAgNzQz
LCAgNzg4LCAgNzk4LCAgODEzLCAgODMzLAorICA4NCwgICA5MywgICAxMDMsICAxMTAsICAxMjUs
ICAxNDEsICAxNTQsICAxNzEsICAyNTAsICAyNjUsICAyODYsICAzMDgsICAzNDksCisgIDM2Nywg
IDM5MiwgIDQxNywgIDQ2NCwgIDQ4NSwgIDUxNCwgIDU0MiwgIDU5MSwgIDYxMCwgIDYzNiwgIDY2
MCwgIDcwMiwgIDcxOSwKKyAgNzQyLCAgNzYyLCAgNzk3LCAgODEyLCAgODMyLCAgODQ4LCAgOTgs
ICAgMTA2LCAgMTE1LCAgMTI3LCAgMTQzLCAgMTU2LCAgMTY5LAorICAxODUsICAyNjQsICAyODUs
ICAzMDcsICAzMjMsICAzNjYsICAzOTEsICA0MTYsICA0MzQsICA0ODQsICA1MTMsICA1NDEsICA1
NjEsCisgIDYwOSwgIDYzNSwgIDY1OSwgIDY3NiwgIDcxOCwgIDc0MSwgIDc2MSwgIDc3NSwgIDgx
MSwgIDgzMSwgIDg0NywgIDg1OCwgIDExNywKKyAgMTI4LCAgMTM2LCAgMTQ4LCAgMTYwLCAgMTc1
LCAgMTg4LCAgMTk4LCAgMjg0LCAgMzA2LCAgMzIyLCAgMzMyLCAgMzkwLCAgNDE1LAorICA0MzMs
ICA0NDQsICA1MTIsICA1NDAsICA1NjAsICA1NzIsICA2MzQsICA2NTgsICA2NzUsICA2ODUsICA3
NDAsICA3NjAsICA3NzQsCisgIDc4MiwgIDgzMCwgIDg0NiwgIDg1NywgIDg2MywgIDEzNSwgIDE0
NiwgIDE1MiwgIDE2NSwgIDI0MSwgIDI0OSwgIDI2MywgIDI4MywKKyAgMzM4LCAgMzQ4LCAgMzY1
LCAgMzg5LCAgNDUxLCAgNDYzLCAgNDgzLCAgNTExLCAgNTc5LCAgNTkwLCAgNjA4LCAgNjMzLCAg
NjkxLAorICA3MDEsICA3MTcsICA3MzksICA3ODcsICA3OTYsICA4MTAsICA4MjksICA4NjcsICA4
NzUsICA4ODcsICA5MDMsICAxNTMsICAxNjYsCisgIDE3NCwgIDE4MywgIDI0OCwgIDI2MiwgIDI4
MiwgIDMwNSwgIDM0NywgIDM2NCwgIDM4OCwgIDQxNCwgIDQ2MiwgIDQ4MiwgIDUxMCwKKyAgNTM5
LCAgNTg5LCAgNjA3LCAgNjMyLCAgNjU3LCAgNzAwLCAgNzE2LCAgNzM4LCAgNzU5LCAgNzk1LCAg
ODA5LCAgODI4LCAgODQ1LAorICA4NzQsICA4ODYsICA5MDIsICA5MTUsICAxNzYsICAxODcsICAx
OTUsICAyMDIsICAyNjEsICAyODEsICAzMDQsICAzMjEsICAzNjMsCisgIDM4NywgIDQxMywgIDQz
MiwgIDQ4MSwgIDUwOSwgIDUzOCwgIDU1OSwgIDYwNiwgIDYzMSwgIDY1NiwgIDY3NCwgIDcxNSwg
IDczNywKKyAgNzU4LCAgNzczLCAgODA4LCAgODI3LCAgODQ0LCAgODU2LCAgODg1LCAgOTAxLCAg
OTE0LCAgOTIzLCAgMTkyLCAgMTk5LCAgMjA2LAorICAyMTMsICAyODAsICAzMDMsICAzMjAsICAz
MzEsICAzODYsICA0MTIsICA0MzEsICA0NDMsICA1MDgsICA1MzcsICA1NTgsICA1NzEsCisgIDYz
MCwgIDY1NSwgIDY3MywgIDY4NCwgIDczNiwgIDc1NywgIDc3MiwgIDc4MSwgIDgyNiwgIDg0Mywg
IDg1NSwgIDg2MiwgIDkwMCwKKyAgOTEzLCAgOTIyLCAgOTI3LCAgMjQwLCAgMjQ3LCAgMjYwLCAg
Mjc5LCAgMzM3LCAgMzQ2LCAgMzYyLCAgMzg1LCAgNDUwLCAgNDYxLAorICA0ODAsICA1MDcsICA1
NzgsICA1ODgsICA2MDUsICA2MjksICA2OTAsICA2OTksICA3MTQsICA3MzUsICA3ODYsICA3OTQs
ICA4MDcsCisgIDgyNSwgIDg2NiwgIDg3MywgIDg4NCwgIDg5OSwgIDkzMCwgIDkzNiwgIDk0NSwg
IDk1NywgIDI0NiwgIDI1OSwgIDI3OCwgIDMwMiwKKyAgMzQ1LCAgMzYxLCAgMzg0LCAgNDExLCAg
NDYwLCAgNDc5LCAgNTA2LCAgNTM2LCAgNTg3LCAgNjA0LCAgNjI4LCAgNjU0LCAgNjk4LAorICA3
MTMsICA3MzQsICA3NTYsICA3OTMsICA4MDYsICA4MjQsICA4NDIsICA4NzIsICA4ODMsICA4OTgs
ICA5MTIsICA5MzUsICA5NDQsCisgIDk1NiwgIDk2NiwgIDI1OCwgIDI3NywgIDMwMSwgIDMxOSwg
IDM2MCwgIDM4MywgIDQxMCwgIDQzMCwgIDQ3OCwgIDUwNSwgIDUzNSwKKyAgNTU3LCAgNjAzLCAg
NjI3LCAgNjUzLCAgNjcyLCAgNzEyLCAgNzMzLCAgNzU1LCAgNzcxLCAgODA1LCAgODIzLCAgODQx
LCAgODU0LAorICA4ODIsICA4OTcsICA5MTEsICA5MjEsICA5NDMsICA5NTUsICA5NjUsICA5NzIs
ICAyNzYsICAzMDAsICAzMTgsICAzMzAsICAzODIsCisgIDQwOSwgIDQyOSwgIDQ0MiwgIDUwNCwg
IDUzNCwgIDU1NiwgIDU3MCwgIDYyNiwgIDY1MiwgIDY3MSwgIDY4MywgIDczMiwgIDc1NCwKKyAg
NzcwLCAgNzgwLCAgODIyLCAgODQwLCAgODUzLCAgODYxLCAgODk2LCAgOTEwLCAgOTIwLCAgOTI2
LCAgOTU0LCAgOTY0LCAgOTcxLAorICA5NzUsICAzMzYsICAzNDQsICAzNTksICAzODEsICA0NDks
ICA0NTksICA0NzcsICA1MDMsICA1NzcsICA1ODYsICA2MDIsICA2MjUsCisgIDY4OSwgIDY5Nywg
IDcxMSwgIDczMSwgIDc4NSwgIDc5MiwgIDgwNCwgIDgyMSwgIDg2NSwgIDg3MSwgIDg4MSwgIDg5
NSwgIDkyOSwKKyAgOTM0LCAgOTQyLCAgOTUzLCAgOTc3LCAgOTgxLCAgOTg3LCAgOTk1LCAgMzQz
LCAgMzU4LCAgMzgwLCAgNDA4LCAgNDU4LCAgNDc2LAorICA1MDIsICA1MzMsICA1ODUsICA2MDEs
ICA2MjQsICA2NTEsICA2OTYsICA3MTAsICA3MzAsICA3NTMsICA3OTEsICA4MDMsICA4MjAsCisg
IDgzOSwgIDg3MCwgIDg4MCwgIDg5NCwgIDkwOSwgIDkzMywgIDk0MSwgIDk1MiwgIDk2MywgIDk4
MCwgIDk4NiwgIDk5NCwgIDEwMDEsCisgIDM1NywgIDM3OSwgIDQwNywgIDQyOCwgIDQ3NSwgIDUw
MSwgIDUzMiwgIDU1NSwgIDYwMCwgIDYyMywgIDY1MCwgIDY3MCwgIDcwOSwKKyAgNzI5LCAgNzUy
LCAgNzY5LCAgODAyLCAgODE5LCAgODM4LCAgODUyLCAgODc5LCAgODkzLCAgOTA4LCAgOTE5LCAg
OTQwLCAgOTUxLAorICA5NjIsICA5NzAsICA5ODUsICA5OTMsICAxMDAwLCAxMDA1LCAzNzgsICA0
MDYsICA0MjcsICA0NDEsICA1MDAsICA1MzEsICA1NTQsCisgIDU2OSwgIDYyMiwgIDY0OSwgIDY2
OSwgIDY4MiwgIDcyOCwgIDc1MSwgIDc2OCwgIDc3OSwgIDgxOCwgIDgzNywgIDg1MSwgIDg2MCwK
KyAgODkyLCAgOTA3LCAgOTE4LCAgOTI1LCAgOTUwLCAgOTYxLCAgOTY5LCAgOTc0LCAgOTkyLCAg
OTk5LCAgMTAwNCwgMTAwNywgNDQ4LAorICA0NTcsICA0NzQsICA0OTksICA1NzYsICA1ODQsICA1
OTksICA2MjEsICA2ODgsICA2OTUsICA3MDgsICA3MjcsICA3ODQsICA3OTAsCisgIDgwMSwgIDgx
NywgIDg2NCwgIDg2OSwgIDg3OCwgIDg5MSwgIDkyOCwgIDkzMiwgIDkzOSwgIDk0OSwgIDk3Niwg
IDk3OSwgIDk4NCwKKyAgOTkxLCAgMTAwOCwgMTAxMCwgMTAxMywgMTAxNywgNDU2LCAgNDczLCAg
NDk4LCAgNTMwLCAgNTgzLCAgNTk4LCAgNjIwLCAgNjQ4LAorICA2OTQsICA3MDcsICA3MjYsICA3
NTAsICA3ODksICA4MDAsICA4MTYsICA4MzYsICA4NjgsICA4NzcsICA4OTAsICA5MDYsICA5MzEs
CisgIDkzOCwgIDk0OCwgIDk2MCwgIDk3OCwgIDk4MywgIDk5MCwgIDk5OCwgIDEwMDksIDEwMTIs
IDEwMTYsIDEwMjAsIDQ3MiwgIDQ5NywKKyAgNTI5LCAgNTUzLCAgNTk3LCAgNjE5LCAgNjQ3LCAg
NjY4LCAgNzA2LCAgNzI1LCAgNzQ5LCAgNzY3LCAgNzk5LCAgODE1LCAgODM1LAorICA4NTAsICA4
NzYsICA4ODksICA5MDUsICA5MTcsICA5MzcsICA5NDcsICA5NTksICA5NjgsICA5ODIsICA5ODks
ICA5OTcsICAxMDAzLAorICAxMDExLCAxMDE1LCAxMDE5LCAxMDIyLCA0OTYsICA1MjgsICA1NTIs
ICA1NjgsICA2MTgsICA2NDYsICA2NjcsICA2ODEsICA3MjQsCisgIDc0OCwgIDc2NiwgIDc3OCwg
IDgxNCwgIDgzNCwgIDg0OSwgIDg1OSwgIDg4OCwgIDkwNCwgIDkxNiwgIDkyNCwgIDk0NiwgIDk1
OCwKKyAgOTY3LCAgOTczLCAgOTg4LCAgOTk2LCAgMTAwMiwgMTAwNiwgMTAxNCwgMTAxOCwgMTAy
MSwgMTAyMywKK307CisKK2NvbnN0IHNjYW5fb3JkZXIgdnA5X2RlZmF1bHRfc2Nhbl9vcmRlcnNb
VFhfU0laRVNdID0gewogICB7IGRlZmF1bHRfc2Nhbl80eDQsIHZwOV9kZWZhdWx0X2lzY2FuXzR4
NCwgZGVmYXVsdF9zY2FuXzR4NF9uZWlnaGJvcnMgfSwKICAgeyBkZWZhdWx0X3NjYW5fOHg4LCB2
cDlfZGVmYXVsdF9pc2Nhbl84eDgsIGRlZmF1bHRfc2Nhbl84eDhfbmVpZ2hib3JzIH0sCiAgIHsg
ZGVmYXVsdF9zY2FuXzE2eDE2LCB2cDlfZGVmYXVsdF9pc2Nhbl8xNngxNiwgZGVmYXVsdF9zY2Fu
XzE2eDE2X25laWdoYm9ycyB9LAogICB7IGRlZmF1bHRfc2Nhbl8zMngzMiwgdnA5X2RlZmF1bHRf
aXNjYW5fMzJ4MzIsIGRlZmF1bHRfc2Nhbl8zMngzMl9uZWlnaGJvcnMgfSwKIH07CiAKLWNvbnN0
IFNjYW5PcmRlciB2cDlfc2Nhbl9vcmRlcnNbVFhfU0laRVNdW1RYX1RZUEVTXSA9IHsKK2NvbnN0
IHNjYW5fb3JkZXIgdnA5X3NjYW5fb3JkZXJzW1RYX1NJWkVTXVtUWF9UWVBFU10gPSB7CiAgIHsg
Ly8gVFhfNFg0CiAgICAgeyBkZWZhdWx0X3NjYW5fNHg0LCB2cDlfZGVmYXVsdF9pc2Nhbl80eDQs
IGRlZmF1bHRfc2Nhbl80eDRfbmVpZ2hib3JzIH0sCiAgICAgeyByb3dfc2Nhbl80eDQsIHZwOV9y
b3dfaXNjYW5fNHg0LCByb3dfc2Nhbl80eDRfbmVpZ2hib3JzIH0sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9jb21tb24vdnA5X3NjYW4uaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlf
c2Nhbi5oCmluZGV4IDNkMWRjYzY2ZGE4Ni4uNzJhOWE1ZWM0NzJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9jb21tb24vdnA5X3NjYW4uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9jb21tb24v
dnA5X3NjYW4uaApAQCAtMjMsMTQgKzIzLDE0IEBAIGV4dGVybiAiQyIgewogCiAjZGVmaW5lIE1B
WF9ORUlHSEJPUlMgMgogCi10eXBlZGVmIHN0cnVjdCBTY2FuT3JkZXIgewordHlwZWRlZiBzdHJ1
Y3QgewogICBjb25zdCBpbnQxNl90ICpzY2FuOwogICBjb25zdCBpbnQxNl90ICppc2NhbjsKICAg
Y29uc3QgaW50MTZfdCAqbmVpZ2hib3JzOwotfSBTY2FuT3JkZXI7Cit9IHNjYW5fb3JkZXI7CiAK
LWV4dGVybiBjb25zdCBTY2FuT3JkZXIgdnA5X2RlZmF1bHRfc2Nhbl9vcmRlcnNbVFhfU0laRVNd
OwotZXh0ZXJuIGNvbnN0IFNjYW5PcmRlciB2cDlfc2Nhbl9vcmRlcnNbVFhfU0laRVNdW1RYX1RZ
UEVTXTsKK2V4dGVybiBjb25zdCBzY2FuX29yZGVyIHZwOV9kZWZhdWx0X3NjYW5fb3JkZXJzW1RY
X1NJWkVTXTsKK2V4dGVybiBjb25zdCBzY2FuX29yZGVyIHZwOV9zY2FuX29yZGVyc1tUWF9TSVpF
U11bVFhfVFlQRVNdOwogCiBzdGF0aWMgSU5MSU5FIGludCBnZXRfY29lZl9jb250ZXh0KGNvbnN0
IGludDE2X3QgKm5laWdoYm9ycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCAqdG9rZW5fY2FjaGUsIGludCBjKSB7CkBAIC0zOSw4ICszOSw4IEBAIHN0
YXRpYyBJTkxJTkUgaW50IGdldF9jb2VmX2NvbnRleHQoY29uc3QgaW50MTZfdCAqbmVpZ2hib3Jz
LAogICAgICAgICAgMTsKIH0KIAotc3RhdGljIElOTElORSBjb25zdCBTY2FuT3JkZXIgKmdldF9z
Y2FuKGNvbnN0IE1BQ1JPQkxPQ0tEICp4ZCwgVFhfU0laRSB0eF9zaXplLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBMQU5FX1RZUEUgdHlwZSwgaW50IGJsb2NrX2lk
eCkgeworc3RhdGljIElOTElORSBjb25zdCBzY2FuX29yZGVyICpnZXRfc2Nhbihjb25zdCBNQUNS
T0JMT0NLRCAqeGQsIFRYX1NJWkUgdHhfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUExBTkVfVFlQRSB0eXBlLCBpbnQgYmxvY2tfaWR4KSB7CiAgIGNvbnN0
IE1PREVfSU5GTyAqY29uc3QgbWkgPSB4ZC0+bWlbMF07CiAKICAgaWYgKGlzX2ludGVyX2Jsb2Nr
KG1pKSB8fCB0eXBlICE9IFBMQU5FX1RZUEVfWSB8fCB4ZC0+bG9zc2xlc3MpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2VnX2NvbW1vbi5oIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvY29tbW9uL3ZwOV9zZWdfY29tbW9uLmgKaW5kZXggNWU3MWMyZmNhNWIxLi5iNjNlNGY0OTk5
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2VnX2NvbW1vbi5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfc2VnX2NvbW1vbi5oCkBAIC0yNSwxMSArMjUs
NiBAQCBleHRlcm4gIkMiIHsKIAogI2RlZmluZSBQUkVESUNUSU9OX1BST0JTIDMKIAotLy8gU2Vn
bWVudCBJRCB1c2VkIHRvIHNraXAgYmFja2dyb3VuZCBlbmNvZGluZwotI2RlZmluZSBCQUNLR1JP
VU5EX1NFR19TS0lQX0lEIDMKLS8vIE51bWJlciBvZiBmcmFtZXMgdGhhdCBkb24ndCBza2lwIGFm
dGVyIGEga2V5IGZyYW1lCi0jZGVmaW5lIEZSQU1FU19OT19TS0lQUElOR19BRlRFUl9LRVkgMjAK
LQogLy8gU2VnbWVudCBsZXZlbCBmZWF0dXJlcy4KIHR5cGVkZWYgZW51bSB7CiAgIFNFR19MVkxf
QUxUX1EgPSAwLCAgICAgIC8vIFVzZSBhbHRlcm5hdGUgUXVhbnRpemVyIC4uLi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfdGhyZWFkX2NvbW1vbi5jIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvY29tbW9uL3ZwOV90aHJlYWRfY29tbW9uLmMKaW5kZXggOGRmMThhZjNiODRkLi5iM2Q1
MDE2MmIyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfdGhyZWFkX2Nv
bW1vbi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2NvbW1vbi92cDlfdGhyZWFkX2NvbW1vbi5jCkBA
IC0yODMsNyArMjgzLDcgQEAgdm9pZCB2cDlfbG9vcF9maWx0ZXJfYWxsb2MoVlA5TGZTeW5jICps
Zl9zeW5jLCBWUDlfQ09NTU9OICpjbSwgaW50IHJvd3MsCiAgIHsKICAgICBpbnQgaTsKIAotICAg
IENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBsZl9zeW5jLT5tdXRleCwKKyAgICBDSEVDS19N
RU1fRVJST1IoY20sIGxmX3N5bmMtPm11dGV4LAogICAgICAgICAgICAgICAgICAgICB2cHhfbWFs
bG9jKHNpemVvZigqbGZfc3luYy0+bXV0ZXgpICogcm93cykpOwogICAgIGlmIChsZl9zeW5jLT5t
dXRleCkgewogICAgICAgZm9yIChpID0gMDsgaSA8IHJvd3M7ICsraSkgewpAQCAtMjkxLDcgKzI5
MSw3IEBAIHZvaWQgdnA5X2xvb3BfZmlsdGVyX2FsbG9jKFZQOUxmU3luYyAqbGZfc3luYywgVlA5
X0NPTU1PTiAqY20sIGludCByb3dzLAogICAgICAgfQogICAgIH0KIAotICAgIENIRUNLX01FTV9F
UlJPUigmY20tPmVycm9yLCBsZl9zeW5jLT5jb25kLAorICAgIENIRUNLX01FTV9FUlJPUihjbSwg
bGZfc3luYy0+Y29uZCwKICAgICAgICAgICAgICAgICAgICAgdnB4X21hbGxvYyhzaXplb2YoKmxm
X3N5bmMtPmNvbmQpICogcm93cykpOwogICAgIGlmIChsZl9zeW5jLT5jb25kKSB7CiAgICAgICBm
b3IgKGkgPSAwOyBpIDwgcm93czsgKytpKSB7CkBAIC0yOTksMjEgKzI5OSwyMyBAQCB2b2lkIHZw
OV9sb29wX2ZpbHRlcl9hbGxvYyhWUDlMZlN5bmMgKmxmX3N5bmMsIFZQOV9DT01NT04gKmNtLCBp
bnQgcm93cywKICAgICAgIH0KICAgICB9CiAKLSAgICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJv
ciwgbGZfc3luYy0+bGZfbXV0ZXgsCisgICAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBsZl9zeW5jLT5s
Zl9tdXRleCwKICAgICAgICAgICAgICAgICAgICAgdnB4X21hbGxvYyhzaXplb2YoKmxmX3N5bmMt
PmxmX211dGV4KSkpOwogICAgIHB0aHJlYWRfbXV0ZXhfaW5pdChsZl9zeW5jLT5sZl9tdXRleCwg
TlVMTCk7CiAKLSAgICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgbGZfc3luYy0+cmVjb25f
ZG9uZV9tdXRleCwKKyAgICBDSEVDS19NRU1fRVJST1IoY20sIGxmX3N5bmMtPnJlY29uX2RvbmVf
bXV0ZXgsCiAgICAgICAgICAgICAgICAgICAgIHZweF9tYWxsb2Moc2l6ZW9mKCpsZl9zeW5jLT5y
ZWNvbl9kb25lX211dGV4KSAqIHJvd3MpKTsKICAgICBpZiAobGZfc3luYy0+cmVjb25fZG9uZV9t
dXRleCkgeworICAgICAgaW50IGk7CiAgICAgICBmb3IgKGkgPSAwOyBpIDwgcm93czsgKytpKSB7
CiAgICAgICAgIHB0aHJlYWRfbXV0ZXhfaW5pdCgmbGZfc3luYy0+cmVjb25fZG9uZV9tdXRleFtp
XSwgTlVMTCk7CiAgICAgICB9CiAgICAgfQogCi0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJy
b3IsIGxmX3N5bmMtPnJlY29uX2RvbmVfY29uZCwKKyAgICBDSEVDS19NRU1fRVJST1IoY20sIGxm
X3N5bmMtPnJlY29uX2RvbmVfY29uZCwKICAgICAgICAgICAgICAgICAgICAgdnB4X21hbGxvYyhz
aXplb2YoKmxmX3N5bmMtPnJlY29uX2RvbmVfY29uZCkgKiByb3dzKSk7CiAgICAgaWYgKGxmX3N5
bmMtPnJlY29uX2RvbmVfY29uZCkgeworICAgICAgaW50IGk7CiAgICAgICBmb3IgKGkgPSAwOyBp
IDwgcm93czsgKytpKSB7CiAgICAgICAgIHB0aHJlYWRfY29uZF9pbml0KCZsZl9zeW5jLT5yZWNv
bl9kb25lX2NvbmRbaV0sIE5VTEwpOwogICAgICAgfQpAQCAtMzIxLDE1ICszMjMsMTUgQEAgdm9p
ZCB2cDlfbG9vcF9maWx0ZXJfYWxsb2MoVlA5TGZTeW5jICpsZl9zeW5jLCBWUDlfQ09NTU9OICpj
bSwgaW50IHJvd3MsCiAgIH0KICNlbmRpZiAgLy8gQ09ORklHX01VTFRJVEhSRUFECiAKLSAgQ0hF
Q0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGxmX3N5bmMtPmxmZGF0YSwKKyAgQ0hFQ0tfTUVNX0VS
Uk9SKGNtLCBsZl9zeW5jLT5sZmRhdGEsCiAgICAgICAgICAgICAgICAgICB2cHhfbWFsbG9jKG51
bV93b3JrZXJzICogc2l6ZW9mKCpsZl9zeW5jLT5sZmRhdGEpKSk7CiAgIGxmX3N5bmMtPm51bV93
b3JrZXJzID0gbnVtX3dvcmtlcnM7CiAgIGxmX3N5bmMtPm51bV9hY3RpdmVfd29ya2VycyA9IGxm
X3N5bmMtPm51bV93b3JrZXJzOwogCi0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBsZl9z
eW5jLT5jdXJfc2JfY29sLAorICBDSEVDS19NRU1fRVJST1IoY20sIGxmX3N5bmMtPmN1cl9zYl9j
b2wsCiAgICAgICAgICAgICAgICAgICB2cHhfbWFsbG9jKHNpemVvZigqbGZfc3luYy0+Y3VyX3Ni
X2NvbCkgKiByb3dzKSk7CiAKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGxmX3N5bmMt
Pm51bV90aWxlc19kb25lLAorICBDSEVDS19NRU1fRVJST1IoY20sIGxmX3N5bmMtPm51bV90aWxl
c19kb25lLAogICAgICAgICAgICAgICAgICAgdnB4X21hbGxvYyhzaXplb2YoKmxmX3N5bmMtPm51
bV90aWxlc19kb25lKSAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaV9jb2xz
X2FsaWduZWRfdG9fc2IoY20tPm1pX3Jvd3MpID4+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE1JX0JMT0NLX1NJWkVfTE9HMikpOwpAQCAtMzg4LDEwICszOTAsMTAgQEAgdm9pZCB2cDlf
bG9vcF9maWx0ZXJfZGVhbGxvYyhWUDlMZlN5bmMgKmxmX3N5bmMpIHsKIAogc3RhdGljIGludCBn
ZXRfbmV4dF9yb3coVlA5X0NPTU1PTiAqY20sIFZQOUxmU3luYyAqbGZfc3luYykgewogICBpbnQg
cmV0dXJuX3ZhbCA9IC0xOworICBpbnQgY3VyX3JvdzsKICAgY29uc3QgaW50IG1heF9yb3dzID0g
Y20tPm1pX3Jvd3M7CiAKICNpZiBDT05GSUdfTVVMVElUSFJFQUQKLSAgaW50IGN1cl9yb3c7CiAg
IGNvbnN0IGludCB0aWxlX2NvbHMgPSAxIDw8IGNtLT5sb2cyX3RpbGVfY29sczsKIAogICBwdGhy
ZWFkX211dGV4X2xvY2sobGZfc3luYy0+bGZfbXV0ZXgpOwpAQCAtNDI4LDggKzQzMCwxNCBAQCBz
dGF0aWMgaW50IGdldF9uZXh0X3JvdyhWUDlfQ09NTU9OICpjbSwgVlA5TGZTeW5jICpsZl9zeW5j
KSB7CiAjZWxzZQogICAodm9pZClsZl9zeW5jOwogICBpZiAoY20tPmxmX3JvdyA8IG1heF9yb3dz
KSB7CisgICAgY3VyX3JvdyA9IGNtLT5sZl9yb3cgPj4gTUlfQkxPQ0tfU0laRV9MT0cyOwogICAg
IHJldHVybl92YWwgPSBjbS0+bGZfcm93OwogICAgIGNtLT5sZl9yb3cgKz0gTUlfQkxPQ0tfU0la
RTsKKyAgICBpZiAoY20tPmxmX3JvdyA8IG1heF9yb3dzKSB7CisgICAgICAvKiBJZiB0aGlzIGlz
IG5vdCB0aGUgbGFzdCByb3csIG1ha2Ugc3VyZSB0aGUgbmV4dCByb3cgaXMgYWxzbyBkZWNvZGVk
LgorICAgICAgICogVGhpcyBpcyBiZWNhdXNlIHRoZSBpbnRyYSBwcmVkaWN0IGhhcyB0byBoYXBw
ZW4gYmVmb3JlIGxvb3AgZmlsdGVyICovCisgICAgICBjdXJfcm93ICs9IDE7CisgICAgfQogICB9
CiAjZW5kaWYgIC8vIENPTkZJR19NVUxUSVRIUkVBRAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9kZWNvZGVyL3ZwOV9kZWNvZGVmcmFtZS5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92
cDlfZGVjb2RlZnJhbWUuYwppbmRleCBjNTg5MjE1NmY0ZjguLjJhMjdlNmZkYjNjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2RlZnJhbWUuYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZWNvZGVmcmFtZS5jCkBAIC0zMjMsOSArMzIzLDkgQEAg
c3RhdGljIHZvaWQgcHJlZGljdF9hbmRfcmVjb25zdHJ1Y3RfaW50cmFfYmxvY2soVGlsZVdvcmtl
ckRhdGEgKnR3ZCwKICAgaWYgKCFtaS0+c2tpcCkgewogICAgIGNvbnN0IFRYX1RZUEUgdHhfdHlw
ZSA9CiAgICAgICAgIChwbGFuZSB8fCB4ZC0+bG9zc2xlc3MpID8gRENUX0RDVCA6IGludHJhX21v
ZGVfdG9fdHhfdHlwZV9sb29rdXBbbW9kZV07Ci0gICAgY29uc3QgU2Nhbk9yZGVyICpzYyA9IChw
bGFuZSB8fCB4ZC0+bG9zc2xlc3MpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICZ2
cDlfZGVmYXVsdF9zY2FuX29yZGVyc1t0eF9zaXplXQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOiAmdnA5X3NjYW5fb3JkZXJzW3R4X3NpemVdW3R4X3R5cGVdOworICAgIGNvbnN0IHNj
YW5fb3JkZXIgKnNjID0gKHBsYW5lIHx8IHhkLT5sb3NzbGVzcykKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA/ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1t0eF9zaXplXQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogJnZwOV9zY2FuX29yZGVyc1t0eF9zaXplXVt0eF90
eXBlXTsKICAgICBjb25zdCBpbnQgZW9iID0gdnA5X2RlY29kZV9ibG9ja190b2tlbnModHdkLCBw
bGFuZSwgc2MsIGNvbCwgcm93LCB0eF9zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtaS0+c2VnbWVudF9pZCk7CiAgICAgaWYgKGVvYiA+IDApIHsKQEAg
LTM0OCw5ICszNDgsOSBAQCBzdGF0aWMgdm9pZCBwYXJzZV9pbnRyYV9ibG9ja19yb3dfbXQoVGls
ZVdvcmtlckRhdGEgKnR3ZCwgTU9ERV9JTkZPICpjb25zdCBtaSwKICAgICBzdHJ1Y3QgbWFjcm9i
bG9ja2RfcGxhbmUgKmNvbnN0IHBkID0gJnhkLT5wbGFuZVtwbGFuZV07CiAgICAgY29uc3QgVFhf
VFlQRSB0eF90eXBlID0KICAgICAgICAgKHBsYW5lIHx8IHhkLT5sb3NzbGVzcykgPyBEQ1RfRENU
IDogaW50cmFfbW9kZV90b190eF90eXBlX2xvb2t1cFttb2RlXTsKLSAgICBjb25zdCBTY2FuT3Jk
ZXIgKnNjID0gKHBsYW5lIHx8IHhkLT5sb3NzbGVzcykKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID8gJnZwOV9kZWZhdWx0X3NjYW5fb3JkZXJzW3R4X3NpemVdCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6ICZ2cDlfc2Nhbl9vcmRlcnNbdHhfc2l6ZV1bdHhfdHlwZV07Cisg
ICAgY29uc3Qgc2Nhbl9vcmRlciAqc2MgPSAocGxhbmUgfHwgeGQtPmxvc3NsZXNzKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID8gJnZwOV9kZWZhdWx0X3NjYW5fb3JkZXJzW3R4X3Np
emVdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAmdnA5X3NjYW5fb3JkZXJzW3R4
X3NpemVdW3R4X3R5cGVdOwogICAgICpwZC0+ZW9iID0gdnA5X2RlY29kZV9ibG9ja190b2tlbnMo
dHdkLCBwbGFuZSwgc2MsIGNvbCwgcm93LCB0eF9zaXplLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWktPnNlZ21lbnRfaWQpOwogICAgIC8qIEtlZXAgdGhlIGFsaWdu
bWVudCB0byAxNiAqLwpAQCAtMzkzLDcgKzM5Myw3IEBAIHN0YXRpYyBpbnQgcmVjb25zdHJ1Y3Rf
aW50ZXJfYmxvY2soVGlsZVdvcmtlckRhdGEgKnR3ZCwgTU9ERV9JTkZPICpjb25zdCBtaSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pX3JvdywgaW50IG1pX2NvbCkg
ewogICBNQUNST0JMT0NLRCAqY29uc3QgeGQgPSAmdHdkLT54ZDsKICAgc3RydWN0IG1hY3JvYmxv
Y2tkX3BsYW5lICpjb25zdCBwZCA9ICZ4ZC0+cGxhbmVbcGxhbmVdOwotICBjb25zdCBTY2FuT3Jk
ZXIgKnNjID0gJnZwOV9kZWZhdWx0X3NjYW5fb3JkZXJzW3R4X3NpemVdOworICBjb25zdCBzY2Fu
X29yZGVyICpzYyA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1t0eF9zaXplXTsKICAgY29uc3Qg
aW50IGVvYiA9IHZwOV9kZWNvZGVfYmxvY2tfdG9rZW5zKHR3ZCwgcGxhbmUsIHNjLCBjb2wsIHJv
dywgdHhfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1p
LT5zZWdtZW50X2lkKTsKICAgdWludDhfdCAqZHN0ID0gJnBkLT5kc3QuYnVmWzQgKiByb3cgKiBw
ZC0+ZHN0LnN0cmlkZSArIDQgKiBjb2xdOwpAQCAtNDIzLDcgKzQyMyw3IEBAIHN0YXRpYyBpbnQg
cGFyc2VfaW50ZXJfYmxvY2tfcm93X210KFRpbGVXb3JrZXJEYXRhICp0d2QsIE1PREVfSU5GTyAq
Y29uc3QgbWksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUWF9TSVpFIHR4
X3NpemUpIHsKICAgTUFDUk9CTE9DS0QgKmNvbnN0IHhkID0gJnR3ZC0+eGQ7CiAgIHN0cnVjdCBt
YWNyb2Jsb2NrZF9wbGFuZSAqY29uc3QgcGQgPSAmeGQtPnBsYW5lW3BsYW5lXTsKLSAgY29uc3Qg
U2Nhbk9yZGVyICpzYyA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1t0eF9zaXplXTsKKyAgY29u
c3Qgc2Nhbl9vcmRlciAqc2MgPSAmdnA5X2RlZmF1bHRfc2Nhbl9vcmRlcnNbdHhfc2l6ZV07CiAg
IGNvbnN0IGludCBlb2IgPSB2cDlfZGVjb2RlX2Jsb2NrX3Rva2Vucyh0d2QsIHBsYW5lLCBzYywg
Y29sLCByb3csIHR4X3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtaS0+c2VnbWVudF9pZCk7CiAKQEAgLTE0NjksNyArMTQ2OSw3IEBAIHN0YXRpYyB2b2lk
IHJlc2l6ZV9tdl9idWZmZXIoVlA5X0NPTU1PTiAqY20pIHsKICAgdnB4X2ZyZWUoY20tPmN1cl9m
cmFtZS0+bXZzKTsKICAgY20tPmN1cl9mcmFtZS0+bWlfcm93cyA9IGNtLT5taV9yb3dzOwogICBj
bS0+Y3VyX2ZyYW1lLT5taV9jb2xzID0gY20tPm1pX2NvbHM7Ci0gIENIRUNLX01FTV9FUlJPUigm
Y20tPmVycm9yLCBjbS0+Y3VyX2ZyYW1lLT5tdnMsCisgIENIRUNLX01FTV9FUlJPUihjbSwgY20t
PmN1cl9mcmFtZS0+bXZzLAogICAgICAgICAgICAgICAgICAgKE1WX1JFRiAqKXZweF9jYWxsb2Mo
Y20tPm1pX3Jvd3MgKiBjbS0+bWlfY29scywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNpemVvZigqY20tPmN1cl9mcmFtZS0+bXZzKSkpOwogfQpAQCAtMTc3Niw4ICsx
Nzc2LDcgQEAgc3RhdGljIHZvaWQgdnA5X2pvYnFfYWxsb2MoVlA5RGVjb2RlciAqcGJpKSB7CiAK
ICAgaWYgKGpvYnFfc2l6ZSA+IHJvd19tdF93b3JrZXJfZGF0YS0+am9icV9zaXplKSB7CiAgICAg
dnB4X2ZyZWUocm93X210X3dvcmtlcl9kYXRhLT5qb2JxX2J1Zik7Ci0gICAgQ0hFQ0tfTUVNX0VS
Uk9SKCZjbS0+ZXJyb3IsIHJvd19tdF93b3JrZXJfZGF0YS0+am9icV9idWYsCi0gICAgICAgICAg
ICAgICAgICAgIHZweF9jYWxsb2MoMSwgam9icV9zaXplKSk7CisgICAgQ0hFQ0tfTUVNX0VSUk9S
KGNtLCByb3dfbXRfd29ya2VyX2RhdGEtPmpvYnFfYnVmLCB2cHhfY2FsbG9jKDEsIGpvYnFfc2l6
ZSkpOwogICAgIHZwOV9qb2JxX2luaXQoJnJvd19tdF93b3JrZXJfZGF0YS0+am9icSwgcm93X210
X3dvcmtlcl9kYXRhLT5qb2JxX2J1ZiwKICAgICAgICAgICAgICAgICAgIGpvYnFfc2l6ZSk7CiAg
ICAgcm93X210X3dvcmtlcl9kYXRhLT5qb2JxX3NpemUgPSBqb2JxX3NpemU7CkBAIC0xOTI0LDcg
KzE5MjMsNyBAQCBzdGF0aWMgaW50IHJvd19kZWNvZGVfd29ya2VyX2hvb2sodm9pZCAqYXJnMSwg
dm9pZCAqYXJnMikgewogICAgICAgY29uc3QgaW50IGlzX2xhc3Rfcm93ID0gc2Jfcm93cyAtIDEg
PT0gY3VyX3NiX3JvdzsKICAgICAgIGludCBtaV9jb2xfc3RhcnQsIG1pX2NvbF9lbmQ7CiAgICAg
ICBpZiAoIXRpbGVfZGF0YV9yZWNvbikKLSAgICAgICAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJy
b3IsIHRpbGVfZGF0YV9yZWNvbiwKKyAgICAgICAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCB0aWxlX2Rh
dGFfcmVjb24sCiAgICAgICAgICAgICAgICAgICAgICAgICB2cHhfbWVtYWxpZ24oMzIsIHNpemVv
ZihUaWxlV29ya2VyRGF0YSkpKTsKIAogICAgICAgdGlsZV9kYXRhX3JlY29uLT54ZCA9IHBiaS0+
bWI7CkBAIC0yMDI2LDcgKzIwMjUsNyBAQCBzdGF0aWMgY29uc3QgdWludDhfdCAqZGVjb2RlX3Rp
bGVzKFZQOURlY29kZXIgKnBiaSwgY29uc3QgdWludDhfdCAqZGF0YSwKIAogICBpZiAoY20tPmxm
LmZpbHRlcl9sZXZlbCAmJiAhY20tPnNraXBfbG9vcF9maWx0ZXIgJiYKICAgICAgIHBiaS0+bGZf
d29ya2VyLmRhdGExID09IE5VTEwpIHsKLSAgICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwg
cGJpLT5sZl93b3JrZXIuZGF0YTEsCisgICAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBwYmktPmxmX3dv
cmtlci5kYXRhMSwKICAgICAgICAgICAgICAgICAgICAgdnB4X21lbWFsaWduKDMyLCBzaXplb2Yo
TEZXb3JrZXJEYXRhKSkpOwogICAgIHBiaS0+bGZfd29ya2VyLmhvb2sgPSB2cDlfbG9vcF9maWx0
ZXJfd29ya2VyOwogICAgIGlmIChwYmktPm1heF90aHJlYWRzID4gMSAmJiAhd2ludGVyZmFjZS0+
cmVzZXQoJnBiaS0+bGZfd29ya2VyKSkgewpAQCAtMjE5Myw2ICsyMTkyLDggQEAgc3RhdGljIGlu
dCB0aWxlX3dvcmtlcl9ob29rKHZvaWQgKmFyZzEsIHZvaWQgKmFyZzIpIHsKIAogICB2b2xhdGls
ZSBpbnQgbWlfcm93ID0gMDsKICAgdm9sYXRpbGUgaW50IG4gPSB0aWxlX2RhdGEtPmJ1Zl9zdGFy
dDsKKyAgdGlsZV9kYXRhLT5lcnJvcl9pbmZvLnNldGptcCA9IDE7CisKICAgaWYgKHNldGptcCh0
aWxlX2RhdGEtPmVycm9yX2luZm8uam1wKSkgewogICAgIHRpbGVfZGF0YS0+ZXJyb3JfaW5mby5z
ZXRqbXAgPSAwOwogICAgIHRpbGVfZGF0YS0+eGQuY29ycnVwdGVkID0gMTsKQEAgLTIyMDUsNyAr
MjIwNiw2IEBAIHN0YXRpYyBpbnQgdGlsZV93b3JrZXJfaG9vayh2b2lkICphcmcxLCB2b2lkICph
cmcyKSB7CiAgICAgfQogICAgIHJldHVybiAwOwogICB9Ci0gIHRpbGVfZGF0YS0+ZXJyb3JfaW5m
by5zZXRqbXAgPSAxOwogCiAgIHRpbGVfZGF0YS0+eGQuY29ycnVwdGVkID0gMDsKIApAQCAtMjI4
NSw3ICsyMjg1LDcgQEAgc3RhdGljIElOTElORSB2b2lkIGluaXRfbXQoVlA5RGVjb2RlciAqcGJp
KSB7CiAKICAgaWYgKHBiaS0+bnVtX3RpbGVfd29ya2VycyA9PSAwKSB7CiAgICAgY29uc3QgaW50
IG51bV90aHJlYWRzID0gcGJpLT5tYXhfdGhyZWFkczsKLSAgICBDSEVDS19NRU1fRVJST1IoJmNt
LT5lcnJvciwgcGJpLT50aWxlX3dvcmtlcnMsCisgICAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBwYmkt
PnRpbGVfd29ya2VycywKICAgICAgICAgICAgICAgICAgICAgdnB4X21hbGxvYyhudW1fdGhyZWFk
cyAqIHNpemVvZigqcGJpLT50aWxlX3dvcmtlcnMpKSk7CiAgICAgZm9yIChuID0gMDsgbiA8IG51
bV90aHJlYWRzOyArK24pIHsKICAgICAgIFZQeFdvcmtlciAqY29uc3Qgd29ya2VyID0gJnBiaS0+
dGlsZV93b3JrZXJzW25dOwpAQCAtMjI5MywxMSArMjI5Myw2IEBAIHN0YXRpYyBJTkxJTkUgdm9p
ZCBpbml0X210KFZQOURlY29kZXIgKnBiaSkgewogCiAgICAgICB3aW50ZXJmYWNlLT5pbml0KHdv
cmtlcik7CiAgICAgICBpZiAobiA8IG51bV90aHJlYWRzIC0gMSAmJiAhd2ludGVyZmFjZS0+cmVz
ZXQod29ya2VyKSkgewotICAgICAgICBkbyB7Ci0gICAgICAgICAgd2ludGVyZmFjZS0+ZW5kKCZw
YmktPnRpbGVfd29ya2Vyc1twYmktPm51bV90aWxlX3dvcmtlcnMgLSAxXSk7Ci0gICAgICAgIH0g
d2hpbGUgKC0tcGJpLT5udW1fdGlsZV93b3JrZXJzICE9IDApOwotICAgICAgICB2cHhfZnJlZShw
YmktPnRpbGVfd29ya2Vycyk7Ci0gICAgICAgIHBiaS0+dGlsZV93b3JrZXJzID0gTlVMTDsKICAg
ICAgICAgdnB4X2ludGVybmFsX2Vycm9yKCZjbS0+ZXJyb3IsIFZQWF9DT0RFQ19FUlJPUiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJUaWxlIGRlY29kZXIgdGhyZWFkIGNyZWF0aW9uIGZh
aWxlZCIpOwogICAgICAgfQpAQCAtMjgyOSw3ICsyODI0LDcgQEAgc3RhdGljIHNpemVfdCByZWFk
X3VuY29tcHJlc3NlZF9oZWFkZXIoVlA5RGVjb2RlciAqcGJpLAogICAgIGNvbnN0IGludCBudW1f
am9icyA9IHNiX3Jvd3MgPDwgY20tPmxvZzJfdGlsZV9jb2xzOwogCiAgICAgaWYgKHBiaS0+cm93
X210X3dvcmtlcl9kYXRhID09IE5VTEwpIHsKLSAgICAgIENIRUNLX01FTV9FUlJPUigmY20tPmVy
cm9yLCBwYmktPnJvd19tdF93b3JrZXJfZGF0YSwKKyAgICAgIENIRUNLX01FTV9FUlJPUihjbSwg
cGJpLT5yb3dfbXRfd29ya2VyX2RhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgdnB4X2NhbGxv
YygxLCBzaXplb2YoKnBiaS0+cm93X210X3dvcmtlcl9kYXRhKSkpOwogI2lmIENPTkZJR19NVUxU
SVRIUkVBRAogICAgICAgcHRocmVhZF9tdXRleF9pbml0KCZwYmktPnJvd19tdF93b3JrZXJfZGF0
YS0+cmVjb25fZG9uZV9tdXRleCwgTlVMTCk7CkBAIC0zMDExLDggKzMwMDYsNyBAQCB2b2lkIHZw
OV9kZWNvZGVfZnJhbWUoVlA5RGVjb2RlciAqcGJpLCBjb25zdCB1aW50OF90ICpkYXRhLAogICAg
IC8vIHBsYXRmb3JtcyB3aXRob3V0IERFQ0xBUkVfQUxJR05FRCgpLgogICAgIGFzc2VydCgoc2l6
ZW9mKCpwYmktPnRpbGVfd29ya2VyX2RhdGEpICUgMTYpID09IDApOwogICAgIHZweF9mcmVlKHBi
aS0+dGlsZV93b3JrZXJfZGF0YSk7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIHBi
aS0+dGlsZV93b3JrZXJfZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgdnB4X21lbWFsaWduKDMy
LCB0d2Rfc2l6ZSkpOworICAgIENIRUNLX01FTV9FUlJPUihjbSwgcGJpLT50aWxlX3dvcmtlcl9k
YXRhLCB2cHhfbWVtYWxpZ24oMzIsIHR3ZF9zaXplKSk7CiAgICAgcGJpLT50b3RhbF90aWxlcyA9
IHRpbGVfcm93cyAqIHRpbGVfY29sczsKICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9kZWNvZGVyL3ZwOV9kZWNvZGVtdi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVj
b2RlbXYuYwppbmRleCAwOTg5Y2RlNThkYTYuLjhhOGQyYWQ4NmVlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2RlbXYuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9k
ZWNvZGVyL3ZwOV9kZWNvZGVtdi5jCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIHZvaWQgcmVh
ZF9pbnRyYV9mcmFtZV9tb2RlX2luZm8oVlA5X0NPTU1PTiAqY29uc3QgY20sCiAgIG1pLT5za2lw
ID0gcmVhZF9za2lwKGNtLCB4ZCwgbWktPnNlZ21lbnRfaWQsIHIpOwogICBtaS0+dHhfc2l6ZSA9
IHJlYWRfdHhfc2l6ZShjbSwgeGQsIDEsIHIpOwogICBtaS0+cmVmX2ZyYW1lWzBdID0gSU5UUkFf
RlJBTUU7Ci0gIG1pLT5yZWZfZnJhbWVbMV0gPSBOT19SRUZfRlJBTUU7CisgIG1pLT5yZWZfZnJh
bWVbMV0gPSBOT05FOwogCiAgIHN3aXRjaCAoYnNpemUpIHsKICAgICBjYXNlIEJMT0NLXzRYNDoK
QEAgLTI5OSw3ICsyOTksNyBAQCBzdGF0aWMgUkVGRVJFTkNFX01PREUgcmVhZF9ibG9ja19yZWZl
cmVuY2VfbW9kZShWUDlfQ09NTU9OICpjbSwKICAgfQogfQogCi0vLyBSZWFkIHRoZSByZWZlcmVu
Y2UgZnJhbWUKKy8vIFJlYWQgdGhlIHJlZmVybmNlbmNlIGZyYW1lCiBzdGF0aWMgdm9pZCByZWFk
X3JlZl9mcmFtZXMoVlA5X0NPTU1PTiAqY29uc3QgY20sIE1BQ1JPQkxPQ0tEICpjb25zdCB4ZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhfcmVhZGVyICpyLCBpbnQgc2VnbWVudF9p
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVl9SRUZFUkVOQ0VfRlJBTUUgcmVmX2Zy
YW1lWzJdKSB7CkBAIC0zMDksNyArMzA5LDcgQEAgc3RhdGljIHZvaWQgcmVhZF9yZWZfZnJhbWVz
KFZQOV9DT01NT04gKmNvbnN0IGNtLCBNQUNST0JMT0NLRCAqY29uc3QgeGQsCiAgIGlmIChzZWdm
ZWF0dXJlX2FjdGl2ZSgmY20tPnNlZywgc2VnbWVudF9pZCwgU0VHX0xWTF9SRUZfRlJBTUUpKSB7
CiAgICAgcmVmX2ZyYW1lWzBdID0gKE1WX1JFRkVSRU5DRV9GUkFNRSlnZXRfc2VnZGF0YSgmY20t
PnNlZywgc2VnbWVudF9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFNFR19MVkxfUkVGX0ZSQU1FKTsKLSAgICByZWZfZnJhbWVbMV0gPSBOT19S
RUZfRlJBTUU7CisgICAgcmVmX2ZyYW1lWzFdID0gTk9ORTsKICAgfSBlbHNlIHsKICAgICBjb25z
dCBSRUZFUkVOQ0VfTU9ERSBtb2RlID0gcmVhZF9ibG9ja19yZWZlcmVuY2VfbW9kZShjbSwgeGQs
IHIpOwogICAgIC8vIEZJWE1FKHJidWx0amUpIEknbSBwcmV0dHkgc3VyZSB0aGlzIGJyZWFrcyBz
ZWdtZW50YXRpb24gcmVmIGZyYW1lIGNvZGluZwpAQCAtMzMzLDcgKzMzMyw3IEBAIHN0YXRpYyB2
b2lkIHJlYWRfcmVmX2ZyYW1lcyhWUDlfQ09NTU9OICpjb25zdCBjbSwgTUFDUk9CTE9DS0QgKmNv
bnN0IHhkLAogICAgICAgICByZWZfZnJhbWVbMF0gPSBMQVNUX0ZSQU1FOwogICAgICAgfQogCi0g
ICAgICByZWZfZnJhbWVbMV0gPSBOT19SRUZfRlJBTUU7CisgICAgICByZWZfZnJhbWVbMV0gPSBO
T05FOwogICAgIH0gZWxzZSB7CiAgICAgICBhc3NlcnQoMCAmJiAiSW52YWxpZCBwcmVkaWN0aW9u
IG1vZGUuIik7CiAgICAgfQpAQCAtMzgzLDcgKzM4Myw3IEBAIHN0YXRpYyB2b2lkIHJlYWRfaW50
cmFfYmxvY2tfbW9kZV9pbmZvKFZQOV9DT01NT04gKmNvbnN0IGNtLAogICBtaS0+aW50ZXJwX2Zp
bHRlciA9IFNXSVRDSEFCTEVfRklMVEVSUzsKIAogICBtaS0+cmVmX2ZyYW1lWzBdID0gSU5UUkFf
RlJBTUU7Ci0gIG1pLT5yZWZfZnJhbWVbMV0gPSBOT19SRUZfRlJBTUU7CisgIG1pLT5yZWZfZnJh
bWVbMV0gPSBOT05FOwogfQogCiBzdGF0aWMgSU5MSU5FIGludCBpc19tdl92YWxpZChjb25zdCBN
ViAqbXYpIHsKQEAgLTQyNiw5ICs0MjYsNyBAQCBzdGF0aWMgSU5MSU5FIGludCBhc3NpZ25fbXYo
VlA5X0NPTU1PTiAqY20sIE1BQ1JPQkxPQ0tEICp4ZCwKICAgICAgIHplcm9fbXZfcGFpcihtdik7
CiAgICAgICBicmVhazsKICAgICB9Ci0gICAgZGVmYXVsdDogewotICAgICAgcmV0dXJuIDA7Ci0g
ICAgfQorICAgIGRlZmF1bHQ6IHsgcmV0dXJuIDA7IH0KICAgfQogICByZXR1cm4gcmV0OwogfQpA
QCAtNzA4LDcgKzcwNiw3IEBAIHN0YXRpYyB2b2lkIHJlYWRfaW50ZXJfYmxvY2tfbW9kZV9pbmZv
KFZQOURlY29kZXIgKmNvbnN0IHBiaSwKICAgICBtaS0+bW9kZSA9IFpFUk9NVjsKICAgICBpZiAo
YnNpemUgPCBCTE9DS184WDgpIHsKICAgICAgIHZweF9pbnRlcm5hbF9lcnJvcih4ZC0+ZXJyb3Jf
aW5mbywgVlBYX0NPREVDX1VOU1VQX0JJVFNUUkVBTSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAiSW52YWxpZCB1c2FnZSBvZiBzZWdtZW50IGZlYXR1cmUgb24gc21hbGwgYmxvY2tzIik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgdXNhZ2Ugb2Ygc2VnZW1lbnQgZmVhdHVy
ZSBvbiBzbWFsbCBibG9ja3MiKTsKICAgICAgIHJldHVybjsKICAgICB9CiAgIH0gZWxzZSB7CkBA
IC03NTcsNyArNzU1LDcgQEAgc3RhdGljIHZvaWQgcmVhZF9pbnRlcl9ibG9ja19tb2RlX2luZm8o
VlA5RGVjb2RlciAqY29uc3QgcGJpLAogICAgICAgICBpZiAoIWFzc2lnbl9tdihjbSwgeGQsIGJf
bW9kZSwgbWktPmJtaVtqXS5hc19tdiwgYmVzdF9yZWZfbXZzLAogICAgICAgICAgICAgICAgICAg
ICAgICBiZXN0X3N1Yjh4OCwgaXNfY29tcG91bmQsIGFsbG93X2hwLCByKSkgewogICAgICAgICAg
IHhkLT5jb3JydXB0ZWQgfD0gMTsKLSAgICAgICAgICByZXR1cm47CisgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobnVtXzR4NF9oID09IDIpIG1pLT5ibWlbaiArIDJd
ID0gbWktPmJtaVtqXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2Rl
Y29kZXIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2RlY29kZXIuYwppbmRleCA1YTdl
OWY5YWIzNjkuLjdkYjhlZDcyZDUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rl
ci92cDlfZGVjb2Rlci5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2RlY29kZXIu
YwpAQCAtNjYsNyArNjYsNyBAQCB2b2lkIHZwOV9kZWNfYWxsb2Nfcm93X210X21lbShSb3dNVFdv
cmtlckRhdGEgKnJvd19tdF93b3JrZXJfZGF0YSwKICAgewogICAgIGludCBpOwogICAgIENIRUNL
X01FTV9FUlJPUigKLSAgICAgICAgJmNtLT5lcnJvciwgcm93X210X3dvcmtlcl9kYXRhLT5yZWNv
bl9zeW5jX211dGV4LAorICAgICAgICBjbSwgcm93X210X3dvcmtlcl9kYXRhLT5yZWNvbl9zeW5j
X211dGV4LAogICAgICAgICB2cHhfbWFsbG9jKHNpemVvZigqcm93X210X3dvcmtlcl9kYXRhLT5y
ZWNvbl9zeW5jX211dGV4KSAqIG51bV9qb2JzKSk7CiAgICAgaWYgKHJvd19tdF93b3JrZXJfZGF0
YS0+cmVjb25fc3luY19tdXRleCkgewogICAgICAgZm9yIChpID0gMDsgaSA8IG51bV9qb2JzOyAr
K2kpIHsKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCB2cDlfZGVjX2FsbG9jX3Jvd19tdF9tZW0oUm93
TVRXb3JrZXJEYXRhICpyb3dfbXRfd29ya2VyX2RhdGEsCiAgICAgfQogCiAgICAgQ0hFQ0tfTUVN
X0VSUk9SKAotICAgICAgICAmY20tPmVycm9yLCByb3dfbXRfd29ya2VyX2RhdGEtPnJlY29uX3N5
bmNfY29uZCwKKyAgICAgICAgY20sIHJvd19tdF93b3JrZXJfZGF0YS0+cmVjb25fc3luY19jb25k
LAogICAgICAgICB2cHhfbWFsbG9jKHNpemVvZigqcm93X210X3dvcmtlcl9kYXRhLT5yZWNvbl9z
eW5jX2NvbmQpICogbnVtX2pvYnMpKTsKICAgICBpZiAocm93X210X3dvcmtlcl9kYXRhLT5yZWNv
bl9zeW5jX2NvbmQpIHsKICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1fam9iczsgKytpKSB7CkBA
IC04NiwyNCArODYsMjQgQEAgdm9pZCB2cDlfZGVjX2FsbG9jX3Jvd19tdF9tZW0oUm93TVRXb3Jr
ZXJEYXRhICpyb3dfbXRfd29ya2VyX2RhdGEsCiAjZW5kaWYKICAgcm93X210X3dvcmtlcl9kYXRh
LT5udW1fc2JzID0gbnVtX3NiczsKICAgZm9yIChwbGFuZSA9IDA7IHBsYW5lIDwgMzsgKytwbGFu
ZSkgewotICAgIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCByb3dfbXRfd29ya2VyX2RhdGEt
PmRxY29lZmZbcGxhbmVdLAotICAgICAgICAgICAgICAgICAgICB2cHhfbWVtYWxpZ24oMzIsIGRx
Y29lZmZfc2l6ZSkpOworICAgIENIRUNLX01FTV9FUlJPUihjbSwgcm93X210X3dvcmtlcl9kYXRh
LT5kcWNvZWZmW3BsYW5lXSwKKyAgICAgICAgICAgICAgICAgICAgdnB4X21lbWFsaWduKDE2LCBk
cWNvZWZmX3NpemUpKTsKICAgICBtZW1zZXQocm93X210X3dvcmtlcl9kYXRhLT5kcWNvZWZmW3Bs
YW5lXSwgMCwgZHFjb2VmZl9zaXplKTsKLSAgICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwg
cm93X210X3dvcmtlcl9kYXRhLT5lb2JbcGxhbmVdLAorICAgIENIRUNLX01FTV9FUlJPUihjbSwg
cm93X210X3dvcmtlcl9kYXRhLT5lb2JbcGxhbmVdLAogICAgICAgICAgICAgICAgICAgICB2cHhf
Y2FsbG9jKG51bV9zYnMgPDwgRU9CU19QRVJfU0JfTE9HMiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplb2YoKnJvd19tdF93b3JrZXJfZGF0YS0+ZW9iW3BsYW5lXSkpKTsKICAg
fQotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgcm93X210X3dvcmtlcl9kYXRhLT5wYXJ0
aXRpb24sCisgIENIRUNLX01FTV9FUlJPUihjbSwgcm93X210X3dvcmtlcl9kYXRhLT5wYXJ0aXRp
b24sCiAgICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKG51bV9zYnMgKiBQQVJUSVRJT05TX1BF
Ul9TQiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCpyb3dfbXRfd29ya2Vy
X2RhdGEtPnBhcnRpdGlvbikpKTsKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIHJvd19t
dF93b3JrZXJfZGF0YS0+cmVjb25fbWFwLAorICBDSEVDS19NRU1fRVJST1IoY20sIHJvd19tdF93
b3JrZXJfZGF0YS0+cmVjb25fbWFwLAogICAgICAgICAgICAgICAgICAgdnB4X2NhbGxvYyhudW1f
c2JzLCBzaXplb2YoKnJvd19tdF93b3JrZXJfZGF0YS0+cmVjb25fbWFwKSkpOwogCiAgIC8vIGFs
bG9jYXRlIG1lbW9yeSBmb3IgdGhyZWFkX2RhdGEKICAgaWYgKHJvd19tdF93b3JrZXJfZGF0YS0+
dGhyZWFkX2RhdGEgPT0gTlVMTCkgewogICAgIGNvbnN0IHNpemVfdCB0aHJlYWRfc2l6ZSA9CiAg
ICAgICAgIG1heF90aHJlYWRzICogc2l6ZW9mKCpyb3dfbXRfd29ya2VyX2RhdGEtPnRocmVhZF9k
YXRhKTsKLSAgICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgcm93X210X3dvcmtlcl9kYXRh
LT50aHJlYWRfZGF0YSwKKyAgICBDSEVDS19NRU1fRVJST1IoY20sIHJvd19tdF93b3JrZXJfZGF0
YS0+dGhyZWFkX2RhdGEsCiAgICAgICAgICAgICAgICAgICAgIHZweF9tZW1hbGlnbigzMiwgdGhy
ZWFkX3NpemUpKTsKICAgfQogfQpAQCAtMTgxLDEwICsxODEsOSBAQCBWUDlEZWNvZGVyICp2cDlf
ZGVjb2Rlcl9jcmVhdGUoQnVmZmVyUG9vbCAqY29uc3QgcG9vbCkgewogCiAgIGNtLT5lcnJvci5z
ZXRqbXAgPSAxOwogCi0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjbS0+ZmMsCi0gICAg
ICAgICAgICAgICAgICAoRlJBTUVfQ09OVEVYVCAqKXZweF9jYWxsb2MoMSwgc2l6ZW9mKCpjbS0+
ZmMpKSk7CisgIENIRUNLX01FTV9FUlJPUihjbSwgY20tPmZjLCAoRlJBTUVfQ09OVEVYVCAqKXZw
eF9jYWxsb2MoMSwgc2l6ZW9mKCpjbS0+ZmMpKSk7CiAgIENIRUNLX01FTV9FUlJPUigKLSAgICAg
ICZjbS0+ZXJyb3IsIGNtLT5mcmFtZV9jb250ZXh0cywKKyAgICAgIGNtLCBjbS0+ZnJhbWVfY29u
dGV4dHMsCiAgICAgICAoRlJBTUVfQ09OVEVYVCAqKXZweF9jYWxsb2MoRlJBTUVfQ09OVEVYVFMs
IHNpemVvZigqY20tPmZyYW1lX2NvbnRleHRzKSkpOwogCiAgIHBiaS0+bmVlZF9yZXN5bmMgPSAx
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2Rlci5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2Rlci5oCmluZGV4IDJlMTk4ZDU1MmVlNy4uYjBl
ZjgzYzczZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZWNvZGVy
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZGVjb2Rlci92cDlfZGVjb2Rlci5oCkBAIC01NCw3ICs1
NCw3IEBAIHR5cGVkZWYgc3RydWN0IFRpbGVXb3JrZXJEYXRhIHsKICAgVlA5TGZTeW5jICpsZl9z
eW5jOwogICBERUNMQVJFX0FMSUdORUQoMTYsIE1BQ1JPQkxPQ0tELCB4ZCk7CiAgIC8qIGRxY29l
ZmYgYXJlIHNoYXJlZCBieSBhbGwgdGhlIHBsYW5lcy4gU28gcGxhbmVzIG11c3QgYmUgZGVjb2Rl
ZCBzZXJpYWxseSAqLwotICBERUNMQVJFX0FMSUdORUQoMzIsIHRyYW5fbG93X3QsIGRxY29lZmZb
MzIgKiAzMl0pOworICBERUNMQVJFX0FMSUdORUQoMTYsIHRyYW5fbG93X3QsIGRxY29lZmZbMzIg
KiAzMl0pOwogICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQxNl90LCBleHRlbmRfYW5kX3ByZWRp
Y3RfYnVmWzgwICogMiAqIDgwICogMl0pOwogICBzdHJ1Y3QgdnB4X2ludGVybmFsX2Vycm9yX2lu
Zm8gZXJyb3JfaW5mbzsKIH0gVGlsZVdvcmtlckRhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3Zw
OV9kZXRva2VuaXplLmMKaW5kZXggZDk1N2RjMzRlM2U2Li5jMmU2YjNkNTQ1YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2RldG9rZW5pemUuYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmMKQEAgLTEzMywxOCArMTMzLDE3IEBAIHN0
YXRpYyBpbnQgZGVjb2RlX2NvZWZzKGNvbnN0IE1BQ1JPQkxPQ0tEICp4ZCwgUExBTkVfVFlQRSB0
eXBlLAogICBpbnQxNl90IGRxdiA9IGRxWzBdOwogICBjb25zdCB1aW50OF90ICpjb25zdCBjYXQ2
X3Byb2IgPQogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAgICAoeGQtPmJkID09IFZQ
WF9CSVRTXzEyKSAgID8gdnA5X2NhdDZfcHJvYl9oaWdoMTIKLSAgICAgIDogKHhkLT5iZCA9PSBW
UFhfQklUU18xMCkgPyB2cDlfY2F0Nl9wcm9iX2hpZ2gxMiArIDIKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOgorICAgICAgKHhkLT5iZCA9PSBWUFhfQklUU18xMikKKyAgICAgICAg
ICA/IHZwOV9jYXQ2X3Byb2JfaGlnaDEyCisgICAgICAgICAgOiAoeGQtPmJkID09IFZQWF9CSVRT
XzEwKSA/IHZwOV9jYXQ2X3Byb2JfaGlnaDEyICsgMiA6CiAjZW5kaWYgIC8vIENPTkZJR19WUDlf
SElHSEJJVERFUFRICi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZwOV9jYXQ2X3By
b2I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cDlfY2F0Nl9wcm9iOwog
ICBjb25zdCBpbnQgY2F0Nl9iaXRzID0KICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAg
ICAgKHhkLT5iZCA9PSBWUFhfQklUU18xMikgICA/IDE4Ci0gICAgICA6ICh4ZC0+YmQgPT0gVlBY
X0JJVFNfMTApID8gMTYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOgorICAgICAg
KHhkLT5iZCA9PSBWUFhfQklUU18xMikgPyAxOAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOiAoeGQtPmJkID09IFZQWF9CSVRTXzEwKSA/IDE2IDoKICNlbmRpZiAgLy8gQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQ7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0Owog
ICAvLyBLZWVwIHZhbHVlLCByYW5nZSwgYW5kIGNvdW50IGFzIGxvY2Fscy4gIFRoZSBjb21waWxl
ciBwcm9kdWNlcyBiZXR0ZXIKICAgLy8gcmVzdWx0cyB3aXRoIHRoZSBsb2NhbHMgdGhhbiB1c2lu
ZyByIGRpcmVjdGx5LgogICBCRF9WQUxVRSB2YWx1ZSA9IHItPnZhbHVlOwpAQCAtMjcyLDggKzI3
MSw5IEBAIHN0YXRpYyB2b2lkIGdldF9jdHhfc2hpZnQoTUFDUk9CTE9DS0QgKnhkLCBpbnQgKmN0
eF9zaGlmdF9hLCBpbnQgKmN0eF9zaGlmdF9sLAogICB9CiB9CiAKLWludCB2cDlfZGVjb2RlX2Js
b2NrX3Rva2VucyhUaWxlV29ya2VyRGF0YSAqdHdkLCBpbnQgcGxhbmUsIGNvbnN0IFNjYW5PcmRl
ciAqc2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsIGludCB5LCBUWF9TSVpF
IHR4X3NpemUsIGludCBzZWdfaWQpIHsKK2ludCB2cDlfZGVjb2RlX2Jsb2NrX3Rva2VucyhUaWxl
V29ya2VyRGF0YSAqdHdkLCBpbnQgcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc2Nhbl9vcmRlciAqc2MsIGludCB4LCBpbnQgeSwgVFhfU0laRSB0eF9zaXplLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWdfaWQpIHsKICAgdnB4X3JlYWRlciAqciA9
ICZ0d2QtPmJpdF9yZWFkZXI7CiAgIE1BQ1JPQkxPQ0tEICp4ZCA9ICZ0d2QtPnhkOwogICBzdHJ1
Y3QgbWFjcm9ibG9ja2RfcGxhbmUgKmNvbnN0IHBkID0gJnhkLT5wbGFuZVtwbGFuZV07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmggYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmgKaW5kZXggYThlNDcwMjFiODE1Li5hMzIw
NTJmZmZmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2RlY29kZXIvdnA5X2RldG9rZW5p
emUuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9kZWNvZGVyL3ZwOV9kZXRva2VuaXplLmgKQEAgLTE5
LDggKzE5LDkgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLWludCB2cDlfZGVjb2RlX2Jsb2Nr
X3Rva2VucyhUaWxlV29ya2VyRGF0YSAqdHdkLCBpbnQgcGxhbmUsIGNvbnN0IFNjYW5PcmRlciAq
c2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsIGludCB5LCBUWF9TSVpFIHR4
X3NpemUsIGludCBzZWdfaWQpOworaW50IHZwOV9kZWNvZGVfYmxvY2tfdG9rZW5zKFRpbGVXb3Jr
ZXJEYXRhICp0d2QsIGludCBwbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzY2FuX29yZGVyICpzYywgaW50IHgsIGludCB5LCBUWF9TSVpFIHR4X3NpemUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNlZ19pZCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwog
fSAgLy8gZXh0ZXJuICJDIgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0v
bmVvbi92cDlfZGN0X25lb24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5
X2RjdF9uZW9uLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5N2I1NDc3ZTFhYy4u
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2Rj
dF9uZW9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMTczICswLDAgQEAKLS8qCi0gKiAgQ29weXJp
Z2h0IChjKSAyMDIyIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt
c3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxs
ZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmls
ZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUg
Zm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUu
Ci0gKi8KLQotI2luY2x1ZGUgPGFybV9uZW9uLmg+Ci0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcu
aCIKLSNpbmNsdWRlICIuL3ZwOV9ydGNkLmgiCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIK
LQotI2luY2x1ZGUgInZweF9kc3AvdHhmbV9jb21tb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2Fy
bS9tZW1fbmVvbi5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL3RyYW5zcG9zZV9uZW9uLmgiCi0j
aW5jbHVkZSAidnB4X2RzcC9hcm0vZmRjdF9uZW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0v
ZmRjdDR4NF9uZW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0vZmRjdDh4OF9uZW9uLmgiCi0j
aW5jbHVkZSAidnB4X2RzcC9hcm0vZmRjdDE2eDE2X25lb24uaCIKLQotc3RhdGljIElOTElORSB2
b2lkIGxvYWRfYnVmZmVyXzR4NChjb25zdCBpbnQxNl90ICppbnB1dCwgaW50MTZ4OF90ICppbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSkgewotICAvLyB7
IDAsIDEsIDEsIDEgfTsKLSAgY29uc3QgaW50MTZ4NF90IG5vbnplcm9fYmlhc19hID0gdmV4dF9z
MTYodmR1cF9uX3MxNigwKSwgdmR1cF9uX3MxNigxKSwgMyk7Ci0gIC8vIHsgMSwgMCwgMCwgMCB9
OwotICBjb25zdCBpbnQxNng0X3Qgbm9uemVyb19iaWFzX2IgPSB2ZXh0X3MxNih2ZHVwX25fczE2
KDEpLCB2ZHVwX25fczE2KDApLCAzKTsKLSAgaW50MTZ4NF90IG1hc2s7Ci0KLSAgaW50MTZ4NF90
IGlucHV0XzAgPSB2c2hsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMCAqIHN0cmlkZSksIDQpOwot
ICBpbnQxNng0X3QgaW5wdXRfMSA9IHZzaGxfbl9zMTYodmxkMV9zMTYoaW5wdXQgKyAxICogc3Ry
aWRlKSwgNCk7Ci0gIGludDE2eDRfdCBpbnB1dF8yID0gdnNobF9uX3MxNih2bGQxX3MxNihpbnB1
dCArIDIgKiBzdHJpZGUpLCA0KTsKLSAgaW50MTZ4NF90IGlucHV0XzMgPSB2c2hsX25fczE2KHZs
ZDFfczE2KGlucHV0ICsgMyAqIHN0cmlkZSksIDQpOwotCi0gIC8vIENvcHkgdGhlIFNTRSBtZXRo
b2QsIHVzZSBhIG1hc2sgdG8gYXZvaWQgYW4gJ2lmJyBicmFuY2ggaGVyZSB0byBpbmNyZWFzZSBi
eQotICAvLyBvbmUgbm9uLXplcm8gZmlyc3QgZWxlbWVudHMKLSAgbWFzayA9IHZyZWludGVycHJl
dF9zMTZfdTE2KHZjZXFfczE2KGlucHV0XzAsIG5vbnplcm9fYmlhc19hKSk7Ci0gIGlucHV0XzAg
PSB2YWRkX3MxNihpbnB1dF8wLCBtYXNrKTsKLSAgaW5wdXRfMCA9IHZhZGRfczE2KGlucHV0XzAs
IG5vbnplcm9fYmlhc19iKTsKLQotICBpblswXSA9IHZjb21iaW5lX3MxNihpbnB1dF8wLCBpbnB1
dF8xKTsKLSAgaW5bMV0gPSB2Y29tYmluZV9zMTYoaW5wdXRfMiwgaW5wdXRfMyk7Ci19Ci0KLXN0
YXRpYyBJTkxJTkUgdm9pZCB3cml0ZV9idWZmZXJfNHg0KHRyYW5fbG93X3QgKm91dHB1dCwgaW50
MTZ4OF90ICpyZXMpIHsKLSAgY29uc3QgaW50MTZ4OF90IG9uZV9zMTYgPSB2ZHVwcV9uX3MxNigx
KTsKLSAgcmVzWzBdID0gdmFkZHFfczE2KHJlc1swXSwgb25lX3MxNik7Ci0gIHJlc1sxXSA9IHZh
ZGRxX3MxNihyZXNbMV0sIG9uZV9zMTYpOwotICByZXNbMF0gPSB2c2hycV9uX3MxNihyZXNbMF0s
IDIpOwotICByZXNbMV0gPSB2c2hycV9uX3MxNihyZXNbMV0sIDIpOwotICBzdG9yZV9zMTZxX3Rv
X3RyYW5fbG93KG91dHB1dCArIDAgKiA4LCByZXNbMF0pOwotICBzdG9yZV9zMTZxX3RvX3RyYW5f
bG93KG91dHB1dCArIDEgKiA4LCByZXNbMV0pOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgZmFk
c3Q0eDRfbmVvbihpbnQxNng4X3QgKmluKSB7Ci0gIGludDMyeDRfdCB1WzRdLCB0WzRdOwotICBp
bnQxNng0X3Qgc1s0XSwgb3V0WzRdOwotCi0gIHNbMF0gPSB2Z2V0X2xvd19zMTYoaW5bMF0pOyAg
IC8vIHwgeF8wMCB8IHhfMDEgfCB4XzAyIHwgeF8wMyB8Ci0gIHNbMV0gPSB2Z2V0X2hpZ2hfczE2
KGluWzBdKTsgIC8vIHwgeF8xMCB8IHhfMTEgfCB4XzEyIHwgeF8xMyB8Ci0gIHNbMl0gPSB2Z2V0
X2xvd19zMTYoaW5bMV0pOyAgIC8vIHwgeF8yMCB8IHhfMjEgfCB4XzIyIHwgeF8yMyB8Ci0gIHNb
M10gPSB2Z2V0X2hpZ2hfczE2KGluWzFdKTsgIC8vIHwgeF8zMCB8IHhfMzEgfCB4XzMyIHwgeF8z
MyB8Ci0KLSAgLy8gTXVzdCBleHBhbmQgYWxsIGVsZW1lbnRzIHRvIHMzMi4gU2VlICduZWVkczMy
JyBjb21tZW50IGluIGZ3ZF90eGZtLmMuCi0gIC8vIHQwID0gczAgKiBzaW5waV8xXzkgKyBzMSAq
IHNpbnBpXzJfOSArIHMzICogc2lucGlfNF85Ci0gIHRbMF0gPSB2bXVsbF9uX3MxNihzWzBdLCBz
aW5waV8xXzkpOwotICB0WzBdID0gdm1sYWxfbl9zMTYodFswXSwgc1sxXSwgc2lucGlfMl85KTsK
LSAgdFswXSA9IHZtbGFsX25fczE2KHRbMF0sIHNbM10sIHNpbnBpXzRfOSk7Ci0KLSAgLy8gdDEg
PSAoczAgKyBzMSkgKiBzaW5waV8zXzkgLSBzMyAqIHNpbnBpXzNfOQotICB0WzFdID0gdm11bGxf
bl9zMTYoc1swXSwgc2lucGlfM185KTsKLSAgdFsxXSA9IHZtbGFsX25fczE2KHRbMV0sIHNbMV0s
IHNpbnBpXzNfOSk7Ci0gIHRbMV0gPSB2bWxzbF9uX3MxNih0WzFdLCBzWzNdLCBzaW5waV8zXzkp
OwotCi0gIC8vIHQyID0gczAgKiBzaW5waV80XzkgLSBzMSogc2lucGlfMV85ICsgczMgKiBzaW5w
aV8yXzkKLSAgdFsyXSA9IHZtdWxsX25fczE2KHNbMF0sIHNpbnBpXzRfOSk7Ci0gIHRbMl0gPSB2
bWxzbF9uX3MxNih0WzJdLCBzWzFdLCBzaW5waV8xXzkpOwotICB0WzJdID0gdm1sYWxfbl9zMTYo
dFsyXSwgc1szXSwgc2lucGlfMl85KTsKLQotICAvLyB0MyA9IHMyICogc2lucGlfM185Ci0gIHRb
M10gPSB2bXVsbF9uX3MxNihzWzJdLCBzaW5waV8zXzkpOwotCi0gIC8qCi0gICAqIHUwID0gdDAg
KyB0MwotICAgKiB1MSA9IHQxCi0gICAqIHUyID0gdDIgLSB0MwotICAgKiB1MyA9IHQyIC0gdDAg
KyB0MwotICAgKi8KLSAgdVswXSA9IHZhZGRxX3MzMih0WzBdLCB0WzNdKTsKLSAgdVsxXSA9IHRb
MV07Ci0gIHVbMl0gPSB2c3VicV9zMzIodFsyXSwgdFszXSk7Ci0gIHVbM10gPSB2YWRkcV9zMzIo
dnN1YnFfczMyKHRbMl0sIHRbMF0pLCB0WzNdKTsKLQotICAvLyBmZGN0X3JvdW5kX3NoaWZ0Ci0g
IG91dFswXSA9IHZyc2hybl9uX3MzMih1WzBdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIG91dFsxXSA9
IHZyc2hybl9uX3MzMih1WzFdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIG91dFsyXSA9IHZyc2hybl9u
X3MzMih1WzJdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIG91dFszXSA9IHZyc2hybl9uX3MzMih1WzNd
LCBEQ1RfQ09OU1RfQklUUyk7Ci0KLSAgdHJhbnNwb3NlX3MxNl80eDRkKCZvdXRbMF0sICZvdXRb
MV0sICZvdXRbMl0sICZvdXRbM10pOwotCi0gIGluWzBdID0gdmNvbWJpbmVfczE2KG91dFswXSwg
b3V0WzFdKTsKLSAgaW5bMV0gPSB2Y29tYmluZV9zMTYob3V0WzJdLCBvdXRbM10pOwotfQotCi12
b2lkIHZwOV9maHQ0eDRfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAqb3V0
cHV0LCBpbnQgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgaW50IHR4X3R5cGUpIHsKLSAg
aW50MTZ4OF90IGluWzJdOwotCi0gIHN3aXRjaCAodHhfdHlwZSkgewotICAgIGNhc2UgRENUX0RD
VDogdnB4X2ZkY3Q0eDRfbmVvbihpbnB1dCwgb3V0cHV0LCBzdHJpZGUpOyBicmVhazsKLSAgICBj
YXNlIEFEU1RfRENUOgotICAgICAgbG9hZF9idWZmZXJfNHg0KGlucHV0LCBpbiwgc3RyaWRlKTsK
LSAgICAgIGZhZHN0NHg0X25lb24oaW4pOwotICAgICAgLy8gcGFzczEgdmFyaWFudCBpcyBub3Qg
YWNjdXJhdGUgZW5vdWdoCi0gICAgICB2cHhfZmRjdDR4NF9wYXNzMl9uZW9uKChpbnQxNng0X3Qg
Kilpbik7Ci0gICAgICB3cml0ZV9idWZmZXJfNHg0KG91dHB1dCwgaW4pOwotICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBEQ1RfQURTVDoKLSAgICAgIGxvYWRfYnVmZmVyXzR4NChpbnB1dCwgaW4sIHN0
cmlkZSk7Ci0gICAgICAvLyBwYXNzMSB2YXJpYW50IGlzIG5vdCBhY2N1cmF0ZSBlbm91Z2gKLSAg
ICAgIHZweF9mZGN0NHg0X3Bhc3MyX25lb24oKGludDE2eDRfdCAqKWluKTsKLSAgICAgIGZhZHN0
NHg0X25lb24oaW4pOwotICAgICAgd3JpdGVfYnVmZmVyXzR4NChvdXRwdXQsIGluKTsKLSAgICAg
IGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICBhc3NlcnQodHhfdHlwZSA9PSBBRFNUX0FEU1Qp
OwotICAgICAgbG9hZF9idWZmZXJfNHg0KGlucHV0LCBpbiwgc3RyaWRlKTsKLSAgICAgIGZhZHN0
NHg0X25lb24oaW4pOwotICAgICAgZmFkc3Q0eDRfbmVvbihpbik7Ci0gICAgICB3cml0ZV9idWZm
ZXJfNHg0KG91dHB1dCwgaW4pOwotICAgICAgYnJlYWs7Ci0gIH0KLX0KLQotc3RhdGljIElOTElO
RSB2b2lkIGxvYWRfYnVmZmVyXzh4OChjb25zdCBpbnQxNl90ICppbnB1dCwgaW50MTZ4OF90ICpp
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSkgewotICBp
blswXSA9IHZzaGxxX25fczE2KHZsZDFxX3MxNihpbnB1dCArIDAgKiBzdHJpZGUpLCAyKTsKLSAg
aW5bMV0gPSB2c2hscV9uX3MxNih2bGQxcV9zMTYoaW5wdXQgKyAxICogc3RyaWRlKSwgMik7Ci0g
IGluWzJdID0gdnNobHFfbl9zMTYodmxkMXFfczE2KGlucHV0ICsgMiAqIHN0cmlkZSksIDIpOwot
ICBpblszXSA9IHZzaGxxX25fczE2KHZsZDFxX3MxNihpbnB1dCArIDMgKiBzdHJpZGUpLCAyKTsK
LSAgaW5bNF0gPSB2c2hscV9uX3MxNih2bGQxcV9zMTYoaW5wdXQgKyA0ICogc3RyaWRlKSwgMik7
Ci0gIGluWzVdID0gdnNobHFfbl9zMTYodmxkMXFfczE2KGlucHV0ICsgNSAqIHN0cmlkZSksIDIp
OwotICBpbls2XSA9IHZzaGxxX25fczE2KHZsZDFxX3MxNihpbnB1dCArIDYgKiBzdHJpZGUpLCAy
KTsKLSAgaW5bN10gPSB2c2hscV9uX3MxNih2bGQxcV9zMTYoaW5wdXQgKyA3ICogc3RyaWRlKSwg
Mik7Ci19Ci0KLS8qIHJpZ2h0IHNoaWZ0IGFuZCByb3VuZGluZwotICogZmlyc3QgZ2V0IHRoZSBz
aWduIGJpdCAoYml0IDE1KS4KLSAqIElmIGJpdCA9PSAxLCBpdCdzIHRoZSBzaW1wbGUgY2FzZSBv
ZiBzaGlmdGluZyByaWdodCBieSBvbmUgYml0LgotICogSWYgYml0ID09IDIsIGl0IGVzc2VudGlh
bGx5IGNvbXB1dGVzIHRoZSBleHByZXNzaW9uOgotICoKLSAqIG91dFtqICogMTYgKyBpXSA9ICh0
ZW1wX291dFtqXSArIDEgKyAodGVtcF9vdXRbal0gPCAwKSkgPj4gMjsKLSAqCi0gKiBmb3IgZWFj
aCByb3cuCi0gKi8KLXN0YXRpYyBJTkxJTkUgdm9pZCByaWdodF9zaGlmdF84eDgoaW50MTZ4OF90
ICpyZXMsIGNvbnN0IGludCBiaXQpIHsKLSAgaW50MTZ4OF90IHNpZ24wID0gdnNocnFfbl9zMTYo
cmVzWzBdLCAxNSk7Ci0gIGludDE2eDhfdCBzaWduMSA9IHZzaHJxX25fczE2KHJlc1sxXSwgMTUp
OwotICBpbnQxNng4X3Qgc2lnbjIgPSB2c2hycV9uX3MxNihyZXNbMl0sIDE1KTsKLSAgaW50MTZ4
OF90IHNpZ24zID0gdnNocnFfbl9zMTYocmVzWzNdLCAxNSk7Ci0gIGludDE2eDhfdCBzaWduNCA9
IHZzaHJxX25fczE2KHJlc1s0XSwgMTUpOwotICBpbnQxNng4X3Qgc2lnbjUgPSB2c2hycV9uX3Mx
NihyZXNbNV0sIDE1KTsKLSAgaW50MTZ4OF90IHNpZ242ID0gdnNocnFfbl9zMTYocmVzWzZdLCAx
NSk7Ci0gIGludDE2eDhfdCBzaWduNyA9IHZzaHJxX25fczE2KHJlc1s3XSwgMTUpOwotCi0gIGlm
IChiaXQgPT0gMikgewotICAgIGNvbnN0IGludDE2eDhfdCBjb25zdF9yb3VuZGluZyA9IHZkdXBx
X25fczE2KDEpOwotICAgIHJlc1swXSA9IHZhZGRxX3MxNihyZXNbMF0sIGNvbnN0X3JvdW5kaW5n
KTsKLSAgICByZXNbMV0gPSB2YWRkcV9zMTYocmVzWzFdLCBjb25zdF9yb3VuZGluZyk7Ci0gICAg
cmVzWzJdID0gdmFkZHFfczE2KHJlc1syXSwgY29uc3Rfcm91bmRpbmcpOwotICAgIHJlc1szXSA9
IHZhZGRxX3MxNihyZXNbM10sIGNvbnN0X3JvdW5kaW5nKTsKLSAgICByZXNbNF0gPSB2YWRkcV9z
MTYocmVzWzRdLCBjb25zdF9yb3VuZGluZyk7Ci0gICAgcmVzWzVdID0gdmFkZHFfczE2KHJlc1s1
XSwgY29uc3Rfcm91bmRpbmcpOwotICAgIHJlc1s2XSA9IHZhZGRxX3MxNihyZXNbNl0sIGNvbnN0
X3JvdW5kaW5nKTsKLSAgICByZXNbN10gPSB2YWRkcV9zMTYocmVzWzddLCBjb25zdF9yb3VuZGlu
Zyk7Ci0gIH0KLQotICByZXNbMF0gPSB2c3VicV9zMTYocmVzWzBdLCBzaWduMCk7Ci0gIHJlc1sx
XSA9IHZzdWJxX3MxNihyZXNbMV0sIHNpZ24xKTsKLSAgcmVzWzJdID0gdnN1YnFfczE2KHJlc1sy
XSwgc2lnbjIpOwotICByZXNbM10gPSB2c3VicV9zMTYocmVzWzNdLCBzaWduMyk7Ci0gIHJlc1s0
XSA9IHZzdWJxX3MxNihyZXNbNF0sIHNpZ240KTsKLSAgcmVzWzVdID0gdnN1YnFfczE2KHJlc1s1
XSwgc2lnbjUpOwotICByZXNbNl0gPSB2c3VicV9zMTYocmVzWzZdLCBzaWduNik7Ci0gIHJlc1s3
XSA9IHZzdWJxX3MxNihyZXNbN10sIHNpZ243KTsKLQotICBpZiAoYml0ID09IDEpIHsKLSAgICBy
ZXNbMF0gPSB2c2hycV9uX3MxNihyZXNbMF0sIDEpOwotICAgIHJlc1sxXSA9IHZzaHJxX25fczE2
KHJlc1sxXSwgMSk7Ci0gICAgcmVzWzJdID0gdnNocnFfbl9zMTYocmVzWzJdLCAxKTsKLSAgICBy
ZXNbM10gPSB2c2hycV9uX3MxNihyZXNbM10sIDEpOwotICAgIHJlc1s0XSA9IHZzaHJxX25fczE2
KHJlc1s0XSwgMSk7Ci0gICAgcmVzWzVdID0gdnNocnFfbl9zMTYocmVzWzVdLCAxKTsKLSAgICBy
ZXNbNl0gPSB2c2hycV9uX3MxNihyZXNbNl0sIDEpOwotICAgIHJlc1s3XSA9IHZzaHJxX25fczE2
KHJlc1s3XSwgMSk7Ci0gIH0gZWxzZSB7Ci0gICAgcmVzWzBdID0gdnNocnFfbl9zMTYocmVzWzBd
LCAyKTsKLSAgICByZXNbMV0gPSB2c2hycV9uX3MxNihyZXNbMV0sIDIpOwotICAgIHJlc1syXSA9
IHZzaHJxX25fczE2KHJlc1syXSwgMik7Ci0gICAgcmVzWzNdID0gdnNocnFfbl9zMTYocmVzWzNd
LCAyKTsKLSAgICByZXNbNF0gPSB2c2hycV9uX3MxNihyZXNbNF0sIDIpOwotICAgIHJlc1s1XSA9
IHZzaHJxX25fczE2KHJlc1s1XSwgMik7Ci0gICAgcmVzWzZdID0gdnNocnFfbl9zMTYocmVzWzZd
LCAyKTsKLSAgICByZXNbN10gPSB2c2hycV9uX3MxNihyZXNbN10sIDIpOwotICB9Ci19Ci0KLXN0
YXRpYyBJTkxJTkUgdm9pZCB3cml0ZV9idWZmZXJfOHg4KHRyYW5fbG93X3QgKm91dHB1dCwgaW50
MTZ4OF90ICpyZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Ry
aWRlKSB7Ci0gIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3cob3V0cHV0ICsgMCAqIHN0cmlkZSwgcmVz
WzBdKTsKLSAgc3RvcmVfczE2cV90b190cmFuX2xvdyhvdXRwdXQgKyAxICogc3RyaWRlLCByZXNb
MV0pOwotICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KG91dHB1dCArIDIgKiBzdHJpZGUsIHJlc1sy
XSk7Ci0gIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3cob3V0cHV0ICsgMyAqIHN0cmlkZSwgcmVzWzNd
KTsKLSAgc3RvcmVfczE2cV90b190cmFuX2xvdyhvdXRwdXQgKyA0ICogc3RyaWRlLCByZXNbNF0p
OwotICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KG91dHB1dCArIDUgKiBzdHJpZGUsIHJlc1s1XSk7
Ci0gIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3cob3V0cHV0ICsgNiAqIHN0cmlkZSwgcmVzWzZdKTsK
LSAgc3RvcmVfczE2cV90b190cmFuX2xvdyhvdXRwdXQgKyA3ICogc3RyaWRlLCByZXNbN10pOwot
fQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgZmFkc3Q4eDhfbmVvbihpbnQxNng4X3QgKmluKSB7Ci0g
IGludDE2eDRfdCB4X2xvWzhdLCB4X2hpWzhdOwotICBpbnQzMng0X3Qgc19sb1s4XSwgc19oaVs4
XTsKLSAgaW50MzJ4NF90IHRfbG9bOF0sIHRfaGlbOF07Ci0KLSAgeF9sb1swXSA9IHZnZXRfbG93
X3MxNihpbls3XSk7Ci0gIHhfaGlbMF0gPSB2Z2V0X2hpZ2hfczE2KGluWzddKTsKLSAgeF9sb1sx
XSA9IHZnZXRfbG93X3MxNihpblswXSk7Ci0gIHhfaGlbMV0gPSB2Z2V0X2hpZ2hfczE2KGluWzBd
KTsKLSAgeF9sb1syXSA9IHZnZXRfbG93X3MxNihpbls1XSk7Ci0gIHhfaGlbMl0gPSB2Z2V0X2hp
Z2hfczE2KGluWzVdKTsKLSAgeF9sb1szXSA9IHZnZXRfbG93X3MxNihpblsyXSk7Ci0gIHhfaGlb
M10gPSB2Z2V0X2hpZ2hfczE2KGluWzJdKTsKLSAgeF9sb1s0XSA9IHZnZXRfbG93X3MxNihpblsz
XSk7Ci0gIHhfaGlbNF0gPSB2Z2V0X2hpZ2hfczE2KGluWzNdKTsKLSAgeF9sb1s1XSA9IHZnZXRf
bG93X3MxNihpbls0XSk7Ci0gIHhfaGlbNV0gPSB2Z2V0X2hpZ2hfczE2KGluWzRdKTsKLSAgeF9s
b1s2XSA9IHZnZXRfbG93X3MxNihpblsxXSk7Ci0gIHhfaGlbNl0gPSB2Z2V0X2hpZ2hfczE2KGlu
WzFdKTsKLSAgeF9sb1s3XSA9IHZnZXRfbG93X3MxNihpbls2XSk7Ci0gIHhfaGlbN10gPSB2Z2V0
X2hpZ2hfczE2KGluWzZdKTsKLQotICAvLyBzdGFnZSAxCi0gIC8vIHMwID0gY29zcGlfMl82NCAq
IHgwICsgY29zcGlfMzBfNjQgKiB4MTsKLSAgLy8gczEgPSBjb3NwaV8zMF82NCAqIHgwIC0gY29z
cGlfMl82NCAqIHgxOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh4X2xv
WzBdLCB4X2hpWzBdLCB4X2xvWzFdLCB4X2hpWzFdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb3NwaV8yXzY0LCBjb3NwaV8zMF82NCwgJnNfbG9bMF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzX2hpWzBdLCAmc19sb1sxXSwgJnNfaGlb
MV0pOwotCi0gIC8vIHMyID0gY29zcGlfMTBfNjQgKiB4MiArIGNvc3BpXzIyXzY0ICogeDM7Ci0g
IC8vIHMzID0gY29zcGlfMjJfNjQgKiB4MiAtIGNvc3BpXzEwXzY0ICogeDM7Ci0gIGJ1dHRlcmZs
eV90d29fY29lZmZfczE2X3MzMl9ub3JvdW5kKHhfbG9bMl0sIHhfaGlbMl0sIHhfbG9bM10sIHhf
aGlbM10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzEwXzY0
LCBjb3NwaV8yMl82NCwgJnNfbG9bMl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZzX2hpWzJdLCAmc19sb1szXSwgJnNfaGlbM10pOwotCi0gIC8vIHM0ID0gY29zcGlf
MThfNjQgKiB4NCArIGNvc3BpXzE0XzY0ICogeDU7Ci0gIC8vIHM1ID0gY29zcGlfMTRfNjQgKiB4
NCAtIGNvc3BpXzE4XzY0ICogeDU7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczE2X3MzMl9ub3Jv
dW5kKHhfbG9bNF0sIHhfaGlbNF0sIHhfbG9bNV0sIHhfaGlbNV0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzE4XzY0LCBjb3NwaV8xNF82NCwgJnNfbG9bNF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzX2hpWzRdLCAmc19sb1s1
XSwgJnNfaGlbNV0pOwotCi0gIC8vIHM2ID0gY29zcGlfMjZfNjQgKiB4NiArIGNvc3BpXzZfNjQg
KiB4NzsKLSAgLy8gczcgPSBjb3NwaV82XzY0ICogeDYgLSBjb3NwaV8yNl82NCAqIHg3OwotICBi
dXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh4X2xvWzZdLCB4X2hpWzZdLCB4X2xv
WzddLCB4X2hpWzddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3Nw
aV8yNl82NCwgY29zcGlfNl82NCwgJnNfbG9bNl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZzX2hpWzZdLCAmc19sb1s3XSwgJnNfaGlbN10pOwotCi0gIC8vIGZkY3Rf
cm91bmRfc2hpZnQKLSAgdF9sb1swXSA9IHZyc2hycV9uX3MzMih2YWRkcV9zMzIoc19sb1swXSwg
c19sb1s0XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVswXSA9IHZyc2hycV9uX3MzMih2YWRk
cV9zMzIoc19oaVswXSwgc19oaVs0XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1sxXSA9IHZy
c2hycV9uX3MzMih2YWRkcV9zMzIoc19sb1sxXSwgc19sb1s1XSksIERDVF9DT05TVF9CSVRTKTsK
LSAgdF9oaVsxXSA9IHZyc2hycV9uX3MzMih2YWRkcV9zMzIoc19oaVsxXSwgc19oaVs1XSksIERD
VF9DT05TVF9CSVRTKTsKLSAgdF9sb1syXSA9IHZyc2hycV9uX3MzMih2YWRkcV9zMzIoc19sb1sy
XSwgc19sb1s2XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVsyXSA9IHZyc2hycV9uX3MzMih2
YWRkcV9zMzIoc19oaVsyXSwgc19oaVs2XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1szXSA9
IHZyc2hycV9uX3MzMih2YWRkcV9zMzIoc19sb1szXSwgc19sb1s3XSksIERDVF9DT05TVF9CSVRT
KTsKLSAgdF9oaVszXSA9IHZyc2hycV9uX3MzMih2YWRkcV9zMzIoc19oaVszXSwgc19oaVs3XSks
IERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1s0XSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19s
b1swXSwgc19sb1s0XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVs0XSA9IHZyc2hycV9uX3Mz
Mih2c3VicV9zMzIoc19oaVswXSwgc19oaVs0XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1s1
XSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19sb1sxXSwgc19sb1s1XSksIERDVF9DT05TVF9C
SVRTKTsKLSAgdF9oaVs1XSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19oaVsxXSwgc19oaVs1
XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1s2XSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIo
c19sb1syXSwgc19sb1s2XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVs2XSA9IHZyc2hycV9u
X3MzMih2c3VicV9zMzIoc19oaVsyXSwgc19oaVs2XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9s
b1s3XSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19sb1szXSwgc19sb1s3XSksIERDVF9DT05T
VF9CSVRTKTsKLSAgdF9oaVs3XSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19oaVszXSwgc19o
aVs3XSksIERDVF9DT05TVF9CSVRTKTsKLQotICAvLyBzdGFnZSAyCi0gIHNfbG9bMF0gPSB0X2xv
WzBdOwotICBzX2hpWzBdID0gdF9oaVswXTsKLSAgc19sb1sxXSA9IHRfbG9bMV07Ci0gIHNfaGlb
MV0gPSB0X2hpWzFdOwotICBzX2xvWzJdID0gdF9sb1syXTsKLSAgc19oaVsyXSA9IHRfaGlbMl07
Ci0gIHNfbG9bM10gPSB0X2xvWzNdOwotICBzX2hpWzNdID0gdF9oaVszXTsKLSAgLy8gczQgPSBj
b3NwaV84XzY0ICogeDQgKyBjb3NwaV8yNF82NCAqIHg1OwotICAvLyBzNSA9IGNvc3BpXzI0XzY0
ICogeDQgLSBjb3NwaV84XzY0ICogeDU7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX25vcm91
bmQodF9sb1s0XSwgdF9oaVs0XSwgdF9sb1s1XSwgdF9oaVs1XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb3NwaV84XzY0LCBjb3NwaV8yNF82NCwgJnNfbG9bNF0sICZzX2hp
WzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzX2xvWzVdLCAmc19oaVs1
XSk7Ci0KLSAgLy8gczYgPSAtY29zcGlfMjRfNjQgKiB4NiArIGNvc3BpXzhfNjQgKiB4NzsKLSAg
Ly8gczcgPSBjb3NwaV84XzY0ICogeDYgKyBjb3NwaV8yNF82NCAqIHg3OwotICBidXR0ZXJmbHlf
dHdvX2NvZWZmX3MzMl9ub3JvdW5kKHRfbG9bNl0sIHRfaGlbNl0sIHRfbG9bN10sIHRfaGlbN10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLWNvc3BpXzI0XzY0LCBjb3NwaV84
XzY0LCAmc19sb1s2XSwgJnNfaGlbNl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJnNfbG9bN10sICZzX2hpWzddKTsKLQotICAvLyBmZGN0X3JvdW5kX3NoaWZ0Ci0gIC8vIHMw
ICsgczIKLSAgdF9sb1swXSA9IHZhZGRxX3MzMihzX2xvWzBdLCBzX2xvWzJdKTsKLSAgdF9oaVsw
XSA9IHZhZGRxX3MzMihzX2hpWzBdLCBzX2hpWzJdKTsKLSAgLy8gczEgKyBzMwotICB0X2xvWzFd
ID0gdmFkZHFfczMyKHNfbG9bMV0sIHNfbG9bM10pOwotICB0X2hpWzFdID0gdmFkZHFfczMyKHNf
aGlbMV0sIHNfaGlbM10pOwotICAvLyBzMCAtIHMyCi0gIHRfbG9bMl0gPSB2c3VicV9zMzIoc19s
b1swXSwgc19sb1syXSk7Ci0gIHRfaGlbMl0gPSB2c3VicV9zMzIoc19oaVswXSwgc19oaVsyXSk7
Ci0gIC8vIHMxIC0gczMKLSAgdF9sb1szXSA9IHZzdWJxX3MzMihzX2xvWzFdLCBzX2xvWzNdKTsK
LSAgdF9oaVszXSA9IHZzdWJxX3MzMihzX2hpWzFdLCBzX2hpWzNdKTsKLSAgLy8gczQgKyBzNgot
ICB0X2xvWzRdID0gdnJzaHJxX25fczMyKHZhZGRxX3MzMihzX2xvWzRdLCBzX2xvWzZdKSwgRENU
X0NPTlNUX0JJVFMpOwotICB0X2hpWzRdID0gdnJzaHJxX25fczMyKHZhZGRxX3MzMihzX2hpWzRd
LCBzX2hpWzZdKSwgRENUX0NPTlNUX0JJVFMpOwotICAvLyBzNSArIHM3Ci0gIHRfbG9bNV0gPSB2
cnNocnFfbl9zMzIodmFkZHFfczMyKHNfbG9bNV0sIHNfbG9bN10pLCBEQ1RfQ09OU1RfQklUUyk7
Ci0gIHRfaGlbNV0gPSB2cnNocnFfbl9zMzIodmFkZHFfczMyKHNfaGlbNV0sIHNfaGlbN10pLCBE
Q1RfQ09OU1RfQklUUyk7Ci0gIC8vIHM0IC0gczYKLSAgdF9sb1s2XSA9IHZyc2hycV9uX3MzMih2
c3VicV9zMzIoc19sb1s0XSwgc19sb1s2XSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVs2XSA9
IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19oaVs0XSwgc19oaVs2XSksIERDVF9DT05TVF9CSVRT
KTsKLSAgLy8gczUgLSBzNwotICB0X2xvWzddID0gdnJzaHJxX25fczMyKHZzdWJxX3MzMihzX2xv
WzVdLCBzX2xvWzddKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzddID0gdnJzaHJxX25fczMy
KHZzdWJxX3MzMihzX2hpWzVdLCBzX2hpWzddKSwgRENUX0NPTlNUX0JJVFMpOwotCi0gIC8vIHN0
YWdlIDMKLSAgLy8gY29zcGlfMTZfNjQgKiAoeDIgKyB4MykKLSAgLy8gY29zcGlfMTZfNjQgKiAo
eDIgLSB4MykKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfbm9yb3VuZCh0X2xvWzJdLCB0X2hp
WzJdLCB0X2xvWzNdLCB0X2hpWzNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvc3BpXzE2XzY0LCAmc19sb1syXSwgJnNfaGlbMl0sICZzX2xvWzNdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZzX2hpWzNdKTsKLQotICAvLyBjb3NwaV8xNl82NCAqICh4
NiArIHg3KQotICAvLyBjb3NwaV8xNl82NCAqICh4MiAtIHgzKQotICBidXR0ZXJmbHlfb25lX2Nv
ZWZmX3MzMl9ub3JvdW5kKHRfbG9bNl0sIHRfaGlbNl0sIHRfbG9bN10sIHRfaGlbN10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMTZfNjQsICZzX2xvWzZdLCAmc19o
aVs2XSwgJnNfbG9bN10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNfaGlb
N10pOwotCi0gIC8vIGZpbmFsIGZkY3Rfcm91bmRfc2hpZnQKLSAgeF9sb1syXSA9IHZyc2hybl9u
X3MzMihzX2xvWzJdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHhfaGlbMl0gPSB2cnNocm5fbl9zMzIo
c19oaVsyXSwgRENUX0NPTlNUX0JJVFMpOwotICB4X2xvWzNdID0gdnJzaHJuX25fczMyKHNfbG9b
M10sIERDVF9DT05TVF9CSVRTKTsKLSAgeF9oaVszXSA9IHZyc2hybl9uX3MzMihzX2hpWzNdLCBE
Q1RfQ09OU1RfQklUUyk7Ci0gIHhfbG9bNl0gPSB2cnNocm5fbl9zMzIoc19sb1s2XSwgRENUX0NP
TlNUX0JJVFMpOwotICB4X2hpWzZdID0gdnJzaHJuX25fczMyKHNfaGlbNl0sIERDVF9DT05TVF9C
SVRTKTsKLSAgeF9sb1s3XSA9IHZyc2hybl9uX3MzMihzX2xvWzddLCBEQ1RfQ09OU1RfQklUUyk7
Ci0gIHhfaGlbN10gPSB2cnNocm5fbl9zMzIoc19oaVs3XSwgRENUX0NPTlNUX0JJVFMpOwotCi0g
IC8vIHgwLCB4MSwgeDQsIHg1IG5hcnJvdyBkb3duIHRvIDE2LWJpdHMgZGlyZWN0bHkKLSAgeF9s
b1swXSA9IHZtb3ZuX3MzMih0X2xvWzBdKTsKLSAgeF9oaVswXSA9IHZtb3ZuX3MzMih0X2hpWzBd
KTsKLSAgeF9sb1sxXSA9IHZtb3ZuX3MzMih0X2xvWzFdKTsKLSAgeF9oaVsxXSA9IHZtb3ZuX3Mz
Mih0X2hpWzFdKTsKLSAgeF9sb1s0XSA9IHZtb3ZuX3MzMih0X2xvWzRdKTsKLSAgeF9oaVs0XSA9
IHZtb3ZuX3MzMih0X2hpWzRdKTsKLSAgeF9sb1s1XSA9IHZtb3ZuX3MzMih0X2xvWzVdKTsKLSAg
eF9oaVs1XSA9IHZtb3ZuX3MzMih0X2hpWzVdKTsKLQotICBpblswXSA9IHZjb21iaW5lX3MxNih4
X2xvWzBdLCB4X2hpWzBdKTsKLSAgaW5bMV0gPSB2bmVncV9zMTYodmNvbWJpbmVfczE2KHhfbG9b
NF0sIHhfaGlbNF0pKTsKLSAgaW5bMl0gPSB2Y29tYmluZV9zMTYoeF9sb1s2XSwgeF9oaVs2XSk7
Ci0gIGluWzNdID0gdm5lZ3FfczE2KHZjb21iaW5lX3MxNih4X2xvWzJdLCB4X2hpWzJdKSk7Ci0g
IGluWzRdID0gdmNvbWJpbmVfczE2KHhfbG9bM10sIHhfaGlbM10pOwotICBpbls1XSA9IHZuZWdx
X3MxNih2Y29tYmluZV9zMTYoeF9sb1s3XSwgeF9oaVs3XSkpOwotICBpbls2XSA9IHZjb21iaW5l
X3MxNih4X2xvWzVdLCB4X2hpWzVdKTsKLSAgaW5bN10gPSB2bmVncV9zMTYodmNvbWJpbmVfczE2
KHhfbG9bMV0sIHhfaGlbMV0pKTsKLQotICB0cmFuc3Bvc2VfczE2Xzh4OCgmaW5bMF0sICZpblsx
XSwgJmluWzJdLCAmaW5bM10sICZpbls0XSwgJmluWzVdLCAmaW5bNl0sCi0gICAgICAgICAgICAg
ICAgICAgICZpbls3XSk7Ci19Ci0KLXZvaWQgdnA5X2ZodDh4OF9uZW9uKGNvbnN0IGludDE2X3Qg
KmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICBpbnQgdHhfdHlwZSkgewotICBpbnQxNng4X3QgaW5bOF07Ci0KLSAgc3dpdGNoICh0eF90
eXBlKSB7Ci0gICAgY2FzZSBEQ1RfRENUOiB2cHhfZmRjdDh4OF9uZW9uKGlucHV0LCBvdXRwdXQs
IHN0cmlkZSk7IGJyZWFrOwotICAgIGNhc2UgQURTVF9EQ1Q6Ci0gICAgICBsb2FkX2J1ZmZlcl84
eDgoaW5wdXQsIGluLCBzdHJpZGUpOwotICAgICAgZmFkc3Q4eDhfbmVvbihpbik7Ci0gICAgICAv
LyBwYXNzMSB2YXJpYW50IGlzIG5vdCBhY2N1cmF0ZSBlbm91Z2gKLSAgICAgIHZweF9mZGN0OHg4
X3Bhc3MyX25lb24oaW4pOwotICAgICAgcmlnaHRfc2hpZnRfOHg4KGluLCAxKTsKLSAgICAgIHdy
aXRlX2J1ZmZlcl84eDgob3V0cHV0LCBpbiwgOCk7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIERD
VF9BRFNUOgotICAgICAgbG9hZF9idWZmZXJfOHg4KGlucHV0LCBpbiwgc3RyaWRlKTsKLSAgICAg
IC8vIHBhc3MxIHZhcmlhbnQgaXMgbm90IGFjY3VyYXRlIGVub3VnaAotICAgICAgdnB4X2ZkY3Q4
eDhfcGFzczJfbmVvbihpbik7Ci0gICAgICBmYWRzdDh4OF9uZW9uKGluKTsKLSAgICAgIHJpZ2h0
X3NoaWZ0Xzh4OChpbiwgMSk7Ci0gICAgICB3cml0ZV9idWZmZXJfOHg4KG91dHB1dCwgaW4sIDgp
OwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgIGFzc2VydCh0eF90eXBlID09IEFE
U1RfQURTVCk7Ci0gICAgICBsb2FkX2J1ZmZlcl84eDgoaW5wdXQsIGluLCBzdHJpZGUpOwotICAg
ICAgZmFkc3Q4eDhfbmVvbihpbik7Ci0gICAgICBmYWRzdDh4OF9uZW9uKGluKTsKLSAgICAgIHJp
Z2h0X3NoaWZ0Xzh4OChpbiwgMSk7Ci0gICAgICB3cml0ZV9idWZmZXJfOHg4KG91dHB1dCwgaW4s
IDgpOwotICAgICAgYnJlYWs7Ci0gIH0KLX0KLQotc3RhdGljIElOTElORSB2b2lkIGxvYWRfYnVm
ZmVyXzE2eDE2KGNvbnN0IGludDE2X3QgKmlucHV0LCBpbnQxNng4X3QgKmluMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNng4X3QgKmluMSwgaW50IHN0cmlkZSkg
ewotICAvLyBsb2FkIGZpcnN0IDggY29sdW1ucwotICBsb2FkX2J1ZmZlcl84eDgoaW5wdXQsIGlu
MCwgc3RyaWRlKTsKLSAgbG9hZF9idWZmZXJfOHg4KGlucHV0ICsgOCAqIHN0cmlkZSwgaW4wICsg
OCwgc3RyaWRlKTsKLQotICBpbnB1dCArPSA4OwotICAvLyBsb2FkIHNlY29uZCA4IGNvbHVtbnMK
LSAgbG9hZF9idWZmZXJfOHg4KGlucHV0LCBpbjEsIHN0cmlkZSk7Ci0gIGxvYWRfYnVmZmVyXzh4
OChpbnB1dCArIDggKiBzdHJpZGUsIGluMSArIDgsIHN0cmlkZSk7Ci19Ci0KLXN0YXRpYyBJTkxJ
TkUgdm9pZCB3cml0ZV9idWZmZXJfMTZ4MTYodHJhbl9sb3dfdCAqb3V0cHV0LCBpbnQxNng4X3Qg
KmluMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZ4OF90ICpp
bjEsIGludCBzdHJpZGUpIHsKLSAgLy8gd3JpdGUgZmlyc3QgOCBjb2x1bW5zCi0gIHdyaXRlX2J1
ZmZlcl84eDgob3V0cHV0LCBpbjAsIHN0cmlkZSk7Ci0gIHdyaXRlX2J1ZmZlcl84eDgob3V0cHV0
ICsgOCAqIHN0cmlkZSwgaW4wICsgOCwgc3RyaWRlKTsKLQotICAvLyB3cml0ZSBzZWNvbmQgOCBj
b2x1bW5zCi0gIG91dHB1dCArPSA4OwotICB3cml0ZV9idWZmZXJfOHg4KG91dHB1dCwgaW4xLCBz
dHJpZGUpOwotICB3cml0ZV9idWZmZXJfOHg4KG91dHB1dCArIDggKiBzdHJpZGUsIGluMSArIDgs
IHN0cmlkZSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCByaWdodF9zaGlmdF8xNngxNihpbnQx
Nng4X3QgKnJlczAsIGludDE2eDhfdCAqcmVzMSkgewotICAvLyBwZXJmb3JtIHJvdW5kaW5nIG9w
ZXJhdGlvbnMKLSAgcmlnaHRfc2hpZnRfOHg4KHJlczAsIDIpOwotICByaWdodF9zaGlmdF84eDgo
cmVzMCArIDgsIDIpOwotICByaWdodF9zaGlmdF84eDgocmVzMSwgMik7Ci0gIHJpZ2h0X3NoaWZ0
Xzh4OChyZXMxICsgOCwgMik7Ci19Ci0KLXN0YXRpYyB2b2lkIGZkY3QxNl84Y29sKGludDE2eDhf
dCAqaW4pIHsKLSAgLy8gcGVyZm9ybSAxNngxNiAxLUQgRENUIGZvciA4IGNvbHVtbnMKLSAgaW50
MTZ4OF90IGlbOF0sIHMxWzhdLCBzMls4XSwgczNbOF0sIHRbOF07Ci0gIGludDE2eDRfdCB0X2xv
WzhdLCB0X2hpWzhdOwotICBpbnQzMng0X3QgdV9sb1s4XSwgdV9oaVs4XTsKLQotICAvLyBzdGFn
ZSAxCi0gIGlbMF0gPSB2YWRkcV9zMTYoaW5bMF0sIGluWzE1XSk7Ci0gIGlbMV0gPSB2YWRkcV9z
MTYoaW5bMV0sIGluWzE0XSk7Ci0gIGlbMl0gPSB2YWRkcV9zMTYoaW5bMl0sIGluWzEzXSk7Ci0g
IGlbM10gPSB2YWRkcV9zMTYoaW5bM10sIGluWzEyXSk7Ci0gIGlbNF0gPSB2YWRkcV9zMTYoaW5b
NF0sIGluWzExXSk7Ci0gIGlbNV0gPSB2YWRkcV9zMTYoaW5bNV0sIGluWzEwXSk7Ci0gIGlbNl0g
PSB2YWRkcV9zMTYoaW5bNl0sIGluWzldKTsKLSAgaVs3XSA9IHZhZGRxX3MxNihpbls3XSwgaW5b
OF0pOwotCi0gIC8vIHBhc3MxIHZhcmlhbnQgaXMgbm90IGFjY3VyYXRlIGVub3VnaAotICB2cHhf
ZmRjdDh4OF9wYXNzMl9uZW9uKGkpOwotICB0cmFuc3Bvc2VfczE2Xzh4OCgmaVswXSwgJmlbMV0s
ICZpWzJdLCAmaVszXSwgJmlbNF0sICZpWzVdLCAmaVs2XSwgJmlbN10pOwotCi0gIC8vIHN0ZXAg
MgotICBzMVswXSA9IHZzdWJxX3MxNihpbls3XSwgaW5bOF0pOwotICBzMVsxXSA9IHZzdWJxX3Mx
Nihpbls2XSwgaW5bOV0pOwotICBzMVsyXSA9IHZzdWJxX3MxNihpbls1XSwgaW5bMTBdKTsKLSAg
czFbM10gPSB2c3VicV9zMTYoaW5bNF0sIGluWzExXSk7Ci0gIHMxWzRdID0gdnN1YnFfczE2KGlu
WzNdLCBpblsxMl0pOwotICBzMVs1XSA9IHZzdWJxX3MxNihpblsyXSwgaW5bMTNdKTsKLSAgczFb
Nl0gPSB2c3VicV9zMTYoaW5bMV0sIGluWzE0XSk7Ci0gIHMxWzddID0gdnN1YnFfczE2KGluWzBd
LCBpblsxNV0pOwotCi0gIHRbMl0gPSB2c3VicV9zMTYoczFbNV0sIHMxWzJdKTsKLSAgdFszXSA9
IHZzdWJxX3MxNihzMVs0XSwgczFbM10pOwotICB0WzRdID0gdmFkZHFfczE2KHMxWzRdLCBzMVsz
XSk7Ci0gIHRbNV0gPSB2YWRkcV9zMTYoczFbNV0sIHMxWzJdKTsKLQotICB0X2xvWzJdID0gdmdl
dF9sb3dfczE2KHRbMl0pOwotICB0X2hpWzJdID0gdmdldF9oaWdoX3MxNih0WzJdKTsKLSAgdF9s
b1szXSA9IHZnZXRfbG93X3MxNih0WzNdKTsKLSAgdF9oaVszXSA9IHZnZXRfaGlnaF9zMTYodFsz
XSk7Ci0gIHRfbG9bNF0gPSB2Z2V0X2xvd19zMTYodFs0XSk7Ci0gIHRfaGlbNF0gPSB2Z2V0X2hp
Z2hfczE2KHRbNF0pOwotICB0X2xvWzVdID0gdmdldF9sb3dfczE2KHRbNV0pOwotICB0X2hpWzVd
ID0gdmdldF9oaWdoX3MxNih0WzVdKTsKLQotICB1X2xvWzJdID0gdm11bGxfbl9zMTYodF9sb1sy
XSwgY29zcGlfMTZfNjQpOwotICB1X2hpWzJdID0gdm11bGxfbl9zMTYodF9oaVsyXSwgY29zcGlf
MTZfNjQpOwotICB1X2xvWzNdID0gdm11bGxfbl9zMTYodF9sb1szXSwgY29zcGlfMTZfNjQpOwot
ICB1X2hpWzNdID0gdm11bGxfbl9zMTYodF9oaVszXSwgY29zcGlfMTZfNjQpOwotICB1X2xvWzRd
ID0gdm11bGxfbl9zMTYodF9sb1s0XSwgY29zcGlfMTZfNjQpOwotICB1X2hpWzRdID0gdm11bGxf
bl9zMTYodF9oaVs0XSwgY29zcGlfMTZfNjQpOwotICB1X2xvWzVdID0gdm11bGxfbl9zMTYodF9s
b1s1XSwgY29zcGlfMTZfNjQpOwotICB1X2hpWzVdID0gdm11bGxfbl9zMTYodF9oaVs1XSwgY29z
cGlfMTZfNjQpOwotCi0gIHRfbG9bMl0gPSB2cnNocm5fbl9zMzIodV9sb1syXSwgRENUX0NPTlNU
X0JJVFMpOwotICB0X2hpWzJdID0gdnJzaHJuX25fczMyKHVfaGlbMl0sIERDVF9DT05TVF9CSVRT
KTsKLSAgdF9sb1szXSA9IHZyc2hybl9uX3MzMih1X2xvWzNdLCBEQ1RfQ09OU1RfQklUUyk7Ci0g
IHRfaGlbM10gPSB2cnNocm5fbl9zMzIodV9oaVszXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xv
WzRdID0gdnJzaHJuX25fczMyKHVfbG9bNF0sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVs0XSA9
IHZyc2hybl9uX3MzMih1X2hpWzRdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfbG9bNV0gPSB2cnNo
cm5fbl9zMzIodV9sb1s1XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzVdID0gdnJzaHJuX25f
czMyKHVfaGlbNV0sIERDVF9DT05TVF9CSVRTKTsKLQotICBzMlsyXSA9IHZjb21iaW5lX3MxNih0
X2xvWzJdLCB0X2hpWzJdKTsKLSAgczJbM10gPSB2Y29tYmluZV9zMTYodF9sb1szXSwgdF9oaVsz
XSk7Ci0gIHMyWzRdID0gdmNvbWJpbmVfczE2KHRfbG9bNF0sIHRfaGlbNF0pOwotICBzMls1XSA9
IHZjb21iaW5lX3MxNih0X2xvWzVdLCB0X2hpWzVdKTsKLQotICAvLyBzdGVwIDMKLSAgczNbMF0g
PSB2YWRkcV9zMTYoczFbMF0sIHMyWzNdKTsKLSAgczNbMV0gPSB2YWRkcV9zMTYoczFbMV0sIHMy
WzJdKTsKLSAgczNbMl0gPSB2c3VicV9zMTYoczFbMV0sIHMyWzJdKTsKLSAgczNbM10gPSB2c3Vi
cV9zMTYoczFbMF0sIHMyWzNdKTsKLSAgczNbNF0gPSB2c3VicV9zMTYoczFbN10sIHMyWzRdKTsK
LSAgczNbNV0gPSB2c3VicV9zMTYoczFbNl0sIHMyWzVdKTsKLSAgczNbNl0gPSB2YWRkcV9zMTYo
czFbNl0sIHMyWzVdKTsKLSAgczNbN10gPSB2YWRkcV9zMTYoczFbN10sIHMyWzRdKTsKLQotICAv
LyBzdGVwIDQKLSAgdF9sb1swXSA9IHZnZXRfbG93X3MxNihzM1swXSk7Ci0gIHRfaGlbMF0gPSB2
Z2V0X2hpZ2hfczE2KHMzWzBdKTsKLSAgdF9sb1sxXSA9IHZnZXRfbG93X3MxNihzM1sxXSk7Ci0g
IHRfaGlbMV0gPSB2Z2V0X2hpZ2hfczE2KHMzWzFdKTsKLSAgdF9sb1syXSA9IHZnZXRfbG93X3Mx
NihzM1syXSk7Ci0gIHRfaGlbMl0gPSB2Z2V0X2hpZ2hfczE2KHMzWzJdKTsKLSAgdF9sb1szXSA9
IHZnZXRfbG93X3MxNihzM1szXSk7Ci0gIHRfaGlbM10gPSB2Z2V0X2hpZ2hfczE2KHMzWzNdKTsK
LSAgdF9sb1s0XSA9IHZnZXRfbG93X3MxNihzM1s0XSk7Ci0gIHRfaGlbNF0gPSB2Z2V0X2hpZ2hf
czE2KHMzWzRdKTsKLSAgdF9sb1s1XSA9IHZnZXRfbG93X3MxNihzM1s1XSk7Ci0gIHRfaGlbNV0g
PSB2Z2V0X2hpZ2hfczE2KHMzWzVdKTsKLSAgdF9sb1s2XSA9IHZnZXRfbG93X3MxNihzM1s2XSk7
Ci0gIHRfaGlbNl0gPSB2Z2V0X2hpZ2hfczE2KHMzWzZdKTsKLSAgdF9sb1s3XSA9IHZnZXRfbG93
X3MxNihzM1s3XSk7Ci0gIHRfaGlbN10gPSB2Z2V0X2hpZ2hfczE2KHMzWzddKTsKLQotICAvLyB1
WzFdID0gLWNvc3BpXzhfNjQgKiB0WzFdICsgY29zcGlfMjRfNjQgKiB0WzZdCi0gIC8vIHVbNl0g
PSBjb3NwaV8yNF82NCAqIHRbMV0gKyBjb3NwaV84XzY0ICogdFs2XQotICBidXR0ZXJmbHlfdHdv
X2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh0X2xvWzFdLCB0X2hpWzFdLCB0X2xvWzZdLCB0X2hpWzZd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtY29zcGlfOF82NCwgY29z
cGlfMjRfNjQsICZ1X2xvWzFdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmdV9oaVsxXSwgJnVfbG9bNl0sICZ1X2hpWzZdKTsKLQotICAvLyB1WzVdID0gLWNvc3BpXzI0
XzY0ICogdFs1XSArIGNvc3BpXzhfNjQgKiB0WzJdCi0gIC8vIHVbMl0gPSBjb3NwaV84XzY0ICog
dFs1XSAgICsgY29zcGlfMjRfNjQgKiB0WzJdCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczE2X3Mz
Ml9ub3JvdW5kKHRfbG9bNV0sIHRfaGlbNV0sIHRfbG9bMl0sIHRfaGlbMl0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1jb3NwaV8yNF82NCwgY29zcGlfOF82NCwgJnVf
bG9bNV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1X2hpWzVdLCAm
dV9sb1syXSwgJnVfaGlbMl0pOwotCi0gIHRfbG9bMV0gPSB2cnNocm5fbl9zMzIodV9sb1sxXSwg
RENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzFdID0gdnJzaHJuX25fczMyKHVfaGlbMV0sIERDVF9D
T05TVF9CSVRTKTsKLSAgdF9sb1syXSA9IHZyc2hybl9uX3MzMih1X2xvWzJdLCBEQ1RfQ09OU1Rf
QklUUyk7Ci0gIHRfaGlbMl0gPSB2cnNocm5fbl9zMzIodV9oaVsyXSwgRENUX0NPTlNUX0JJVFMp
OwotICB0X2xvWzVdID0gdnJzaHJuX25fczMyKHVfbG9bNV0sIERDVF9DT05TVF9CSVRTKTsKLSAg
dF9oaVs1XSA9IHZyc2hybl9uX3MzMih1X2hpWzVdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfbG9b
Nl0gPSB2cnNocm5fbl9zMzIodV9sb1s2XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzZdID0g
dnJzaHJuX25fczMyKHVfaGlbNl0sIERDVF9DT05TVF9CSVRTKTsKLQotICBzMlsxXSA9IHZjb21i
aW5lX3MxNih0X2xvWzFdLCB0X2hpWzFdKTsKLSAgczJbMl0gPSB2Y29tYmluZV9zMTYodF9sb1sy
XSwgdF9oaVsyXSk7Ci0gIHMyWzVdID0gdmNvbWJpbmVfczE2KHRfbG9bNV0sIHRfaGlbNV0pOwot
ICBzMls2XSA9IHZjb21iaW5lX3MxNih0X2xvWzZdLCB0X2hpWzZdKTsKLQotICAvLyBzdGVwIDUK
LSAgczFbMF0gPSB2YWRkcV9zMTYoczNbMF0sIHMyWzFdKTsKLSAgczFbMV0gPSB2c3VicV9zMTYo
czNbMF0sIHMyWzFdKTsKLSAgczFbMl0gPSB2YWRkcV9zMTYoczNbM10sIHMyWzJdKTsKLSAgczFb
M10gPSB2c3VicV9zMTYoczNbM10sIHMyWzJdKTsKLSAgczFbNF0gPSB2c3VicV9zMTYoczNbNF0s
IHMyWzVdKTsKLSAgczFbNV0gPSB2YWRkcV9zMTYoczNbNF0sIHMyWzVdKTsKLSAgczFbNl0gPSB2
c3VicV9zMTYoczNbN10sIHMyWzZdKTsKLSAgczFbN10gPSB2YWRkcV9zMTYoczNbN10sIHMyWzZd
KTsKLQotICAvLyBzdGVwIDYKLSAgdF9sb1swXSA9IHZnZXRfbG93X3MxNihzMVswXSk7Ci0gIHRf
aGlbMF0gPSB2Z2V0X2hpZ2hfczE2KHMxWzBdKTsKLSAgdF9sb1sxXSA9IHZnZXRfbG93X3MxNihz
MVsxXSk7Ci0gIHRfaGlbMV0gPSB2Z2V0X2hpZ2hfczE2KHMxWzFdKTsKLSAgdF9sb1syXSA9IHZn
ZXRfbG93X3MxNihzMVsyXSk7Ci0gIHRfaGlbMl0gPSB2Z2V0X2hpZ2hfczE2KHMxWzJdKTsKLSAg
dF9sb1szXSA9IHZnZXRfbG93X3MxNihzMVszXSk7Ci0gIHRfaGlbM10gPSB2Z2V0X2hpZ2hfczE2
KHMxWzNdKTsKLSAgdF9sb1s0XSA9IHZnZXRfbG93X3MxNihzMVs0XSk7Ci0gIHRfaGlbNF0gPSB2
Z2V0X2hpZ2hfczE2KHMxWzRdKTsKLSAgdF9sb1s1XSA9IHZnZXRfbG93X3MxNihzMVs1XSk7Ci0g
IHRfaGlbNV0gPSB2Z2V0X2hpZ2hfczE2KHMxWzVdKTsKLSAgdF9sb1s2XSA9IHZnZXRfbG93X3Mx
NihzMVs2XSk7Ci0gIHRfaGlbNl0gPSB2Z2V0X2hpZ2hfczE2KHMxWzZdKTsKLSAgdF9sb1s3XSA9
IHZnZXRfbG93X3MxNihzMVs3XSk7Ci0gIHRfaGlbN10gPSB2Z2V0X2hpZ2hfczE2KHMxWzddKTsK
LQotICAvLyB1WzBdID0gc3RlcDFbN10gKiBjb3NwaV8yXzY0ICsgc3RlcDFbMF0gKiBjb3NwaV8z
MF82NAotICAvLyB1WzddID0gc3RlcDFbN10gKiBjb3NwaV8zMF82NCAtIHN0ZXAxWzBdICogY29z
cGlfMl82NAotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh0X2xvWzddLCB0
X2hpWzddLCB0X2xvWzBdLCB0X2hpWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb3NwaV8yXzY0LCBjb3NwaV8zMF82NCwgJnVfbG9bMF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ1X2hpWzBdLCAmdV9sb1s3XSwgJnVfaGlbN10pOwot
Ci0gIC8vIHVbMV0gPSBzdGVwMVs2XSAqIGNvc3BpXzE4XzY0ICsgc3RlcDFbMV0gKiBjb3NwaV8x
NF82NAotICAvLyB1WzZdID0gc3RlcDFbNl0gKiBjb3NwaV8xNF82NCAtIHN0ZXAxWzFdICogY29z
cGlfMThfNjQKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMTZfczMyX25vcm91bmQodF9sb1s2XSwg
dF9oaVs2XSwgdF9sb1sxXSwgdF9oaVsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29zcGlfMThfNjQsIGNvc3BpXzE0XzY0LCAmdV9sb1sxXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnVfaGlbMV0sICZ1X2xvWzZdLCAmdV9oaVs2XSk7
Ci0KLSAgLy8gdVsyXSA9IHN0ZXAxWzVdICogY29zcGlfMTBfNjQgKyBzdGVwMVsyXSAqIGNvc3Bp
XzIyXzY0Ci0gIC8vIHVbNV0gPSBzdGVwMVs1XSAqIGNvc3BpXzIyXzY0IC0gc3RlcDFbMl0gKiBj
b3NwaV8xMF82NAotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh0X2xvWzVd
LCB0X2hpWzVdLCB0X2xvWzJdLCB0X2hpWzJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb3NwaV8xMF82NCwgY29zcGlfMjJfNjQsICZ1X2xvWzJdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdV9oaVsyXSwgJnVfbG9bNV0sICZ1X2hpWzVd
KTsKLQotICAvLyB1WzNdID0gc3RlcDFbNF0gKiBjb3NwaV8yNl82NCArIHN0ZXAxWzNdICogY29z
cGlfNl82NAotICAvLyB1WzRdID0gc3RlcDFbNF0gKiBjb3NwaV82XzY0ICAtIHN0ZXAxWzNdICog
Y29zcGlfMjZfNjQKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMTZfczMyX25vcm91bmQodF9sb1s0
XSwgdF9oaVs0XSwgdF9sb1szXSwgdF9oaVszXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29zcGlfMjZfNjQsIGNvc3BpXzZfNjQsICZ1X2xvWzNdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdV9oaVszXSwgJnVfbG9bNF0sICZ1X2hpWzRd
KTsKLQotICAvLyBmaW5hbCBmZGN0X3JvdW5kX3NoaWZ0Ci0gIHRfbG9bMF0gPSB2cnNocm5fbl9z
MzIodV9sb1swXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzBdID0gdnJzaHJuX25fczMyKHVf
aGlbMF0sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1sxXSA9IHZyc2hybl9uX3MzMih1X2xvWzFd
LCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfaGlbMV0gPSB2cnNocm5fbl9zMzIodV9oaVsxXSwgRENU
X0NPTlNUX0JJVFMpOwotICB0X2xvWzJdID0gdnJzaHJuX25fczMyKHVfbG9bMl0sIERDVF9DT05T
VF9CSVRTKTsKLSAgdF9oaVsyXSA9IHZyc2hybl9uX3MzMih1X2hpWzJdLCBEQ1RfQ09OU1RfQklU
Uyk7Ci0gIHRfbG9bM10gPSB2cnNocm5fbl9zMzIodV9sb1szXSwgRENUX0NPTlNUX0JJVFMpOwot
ICB0X2hpWzNdID0gdnJzaHJuX25fczMyKHVfaGlbM10sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9s
b1s0XSA9IHZyc2hybl9uX3MzMih1X2xvWzRdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfaGlbNF0g
PSB2cnNocm5fbl9zMzIodV9oaVs0XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzVdID0gdnJz
aHJuX25fczMyKHVfbG9bNV0sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVs1XSA9IHZyc2hybl9u
X3MzMih1X2hpWzVdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfbG9bNl0gPSB2cnNocm5fbl9zMzIo
dV9sb1s2XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzZdID0gdnJzaHJuX25fczMyKHVfaGlb
Nl0sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1s3XSA9IHZyc2hybl9uX3MzMih1X2xvWzddLCBE
Q1RfQ09OU1RfQklUUyk7Ci0gIHRfaGlbN10gPSB2cnNocm5fbl9zMzIodV9oaVs3XSwgRENUX0NP
TlNUX0JJVFMpOwotCi0gIGluWzBdID0gaVswXTsKLSAgaW5bMl0gPSBpWzFdOwotICBpbls0XSA9
IGlbMl07Ci0gIGluWzZdID0gaVszXTsKLSAgaW5bOF0gPSBpWzRdOwotICBpblsxMF0gPSBpWzVd
OwotICBpblsxMl0gPSBpWzZdOwotICBpblsxNF0gPSBpWzddOwotICBpblsxXSA9IHZjb21iaW5l
X3MxNih0X2xvWzBdLCB0X2hpWzBdKTsKLSAgaW5bM10gPSB2Y29tYmluZV9zMTYodF9sb1s0XSwg
dF9oaVs0XSk7Ci0gIGluWzVdID0gdmNvbWJpbmVfczE2KHRfbG9bMl0sIHRfaGlbMl0pOwotICBp
bls3XSA9IHZjb21iaW5lX3MxNih0X2xvWzZdLCB0X2hpWzZdKTsKLSAgaW5bOV0gPSB2Y29tYmlu
ZV9zMTYodF9sb1sxXSwgdF9oaVsxXSk7Ci0gIGluWzExXSA9IHZjb21iaW5lX3MxNih0X2xvWzVd
LCB0X2hpWzVdKTsKLSAgaW5bMTNdID0gdmNvbWJpbmVfczE2KHRfbG9bM10sIHRfaGlbM10pOwot
ICBpblsxNV0gPSB2Y29tYmluZV9zMTYodF9sb1s3XSwgdF9oaVs3XSk7Ci19Ci0KLXN0YXRpYyB2
b2lkIGZhZHN0MTZfOGNvbChpbnQxNng4X3QgKmluKSB7Ci0gIC8vIHBlcmZvcm0gMTZ4MTYgMS1E
IEFEU1QgZm9yIDggY29sdW1ucwotICBpbnQxNng0X3QgeF9sb1sxNl0sIHhfaGlbMTZdOwotICBp
bnQzMng0X3Qgc19sb1sxNl0sIHNfaGlbMTZdOwotICBpbnQzMng0X3QgdF9sb1sxNl0sIHRfaGlb
MTZdOwotCi0gIHhfbG9bMF0gPSB2Z2V0X2xvd19zMTYoaW5bMTVdKTsKLSAgeF9oaVswXSA9IHZn
ZXRfaGlnaF9zMTYoaW5bMTVdKTsKLSAgeF9sb1sxXSA9IHZnZXRfbG93X3MxNihpblswXSk7Ci0g
IHhfaGlbMV0gPSB2Z2V0X2hpZ2hfczE2KGluWzBdKTsKLSAgeF9sb1syXSA9IHZnZXRfbG93X3Mx
NihpblsxM10pOwotICB4X2hpWzJdID0gdmdldF9oaWdoX3MxNihpblsxM10pOwotICB4X2xvWzNd
ID0gdmdldF9sb3dfczE2KGluWzJdKTsKLSAgeF9oaVszXSA9IHZnZXRfaGlnaF9zMTYoaW5bMl0p
OwotICB4X2xvWzRdID0gdmdldF9sb3dfczE2KGluWzExXSk7Ci0gIHhfaGlbNF0gPSB2Z2V0X2hp
Z2hfczE2KGluWzExXSk7Ci0gIHhfbG9bNV0gPSB2Z2V0X2xvd19zMTYoaW5bNF0pOwotICB4X2hp
WzVdID0gdmdldF9oaWdoX3MxNihpbls0XSk7Ci0gIHhfbG9bNl0gPSB2Z2V0X2xvd19zMTYoaW5b
OV0pOwotICB4X2hpWzZdID0gdmdldF9oaWdoX3MxNihpbls5XSk7Ci0gIHhfbG9bN10gPSB2Z2V0
X2xvd19zMTYoaW5bNl0pOwotICB4X2hpWzddID0gdmdldF9oaWdoX3MxNihpbls2XSk7Ci0gIHhf
bG9bOF0gPSB2Z2V0X2xvd19zMTYoaW5bN10pOwotICB4X2hpWzhdID0gdmdldF9oaWdoX3MxNihp
bls3XSk7Ci0gIHhfbG9bOV0gPSB2Z2V0X2xvd19zMTYoaW5bOF0pOwotICB4X2hpWzldID0gdmdl
dF9oaWdoX3MxNihpbls4XSk7Ci0gIHhfbG9bMTBdID0gdmdldF9sb3dfczE2KGluWzVdKTsKLSAg
eF9oaVsxMF0gPSB2Z2V0X2hpZ2hfczE2KGluWzVdKTsKLSAgeF9sb1sxMV0gPSB2Z2V0X2xvd19z
MTYoaW5bMTBdKTsKLSAgeF9oaVsxMV0gPSB2Z2V0X2hpZ2hfczE2KGluWzEwXSk7Ci0gIHhfbG9b
MTJdID0gdmdldF9sb3dfczE2KGluWzNdKTsKLSAgeF9oaVsxMl0gPSB2Z2V0X2hpZ2hfczE2KGlu
WzNdKTsKLSAgeF9sb1sxM10gPSB2Z2V0X2xvd19zMTYoaW5bMTJdKTsKLSAgeF9oaVsxM10gPSB2
Z2V0X2hpZ2hfczE2KGluWzEyXSk7Ci0gIHhfbG9bMTRdID0gdmdldF9sb3dfczE2KGluWzFdKTsK
LSAgeF9oaVsxNF0gPSB2Z2V0X2hpZ2hfczE2KGluWzFdKTsKLSAgeF9sb1sxNV0gPSB2Z2V0X2xv
d19zMTYoaW5bMTRdKTsKLSAgeF9oaVsxNV0gPSB2Z2V0X2hpZ2hfczE2KGluWzE0XSk7Ci0KLSAg
Ly8gc3RhZ2UgMQotICAvLyBzMCA9IGNvc3BpXzFfNjQgKiB4MCArIGNvc3BpXzMxXzY0ICogeDE7
Ci0gIC8vIHMxID0gY29zcGlfMzFfNjQgKiB4MCAtIGNvc3BpXzFfNjQgKiB4MTsKLSAgYnV0dGVy
Zmx5X3R3b19jb2VmZl9zMTZfczMyX25vcm91bmQoeF9sb1swXSwgeF9oaVswXSwgeF9sb1sxXSwg
eF9oaVsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMV82
NCwgY29zcGlfMzFfNjQsICZzX2xvWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmc19oaVswXSwgJnNfbG9bMV0sICZzX2hpWzFdKTsKLSAgLy8gczIgPSBjb3NwaV81
XzY0ICogeDIgKyBjb3NwaV8yN182NCAqIHgzOwotICAvLyBzMyA9IGNvc3BpXzI3XzY0ICogeDIg
LSBjb3NwaV81XzY0ICogeDM7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczE2X3MzMl9ub3JvdW5k
KHhfbG9bMl0sIHhfaGlbMl0sIHhfbG9bM10sIHhfaGlbM10sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvc3BpXzVfNjQsIGNvc3BpXzI3XzY0LCAmc19sb1syXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNfaGlbMl0sICZzX2xvWzNdLCAm
c19oaVszXSk7Ci0gIC8vIHM0ID0gY29zcGlfOV82NCAqIHg0ICsgY29zcGlfMjNfNjQgKiB4NTsK
LSAgLy8gczUgPSBjb3NwaV8yM182NCAqIHg0IC0gY29zcGlfOV82NCAqIHg1OwotICBidXR0ZXJm
bHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh4X2xvWzRdLCB4X2hpWzRdLCB4X2xvWzVdLCB4
X2hpWzVdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV85XzY0
LCBjb3NwaV8yM182NCwgJnNfbG9bNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZzX2hpWzRdLCAmc19sb1s1XSwgJnNfaGlbNV0pOwotICAvLyBzNiA9IGNvc3BpXzEz
XzY0ICogeDYgKyBjb3NwaV8xOV82NCAqIHg3OwotICAvLyBzNyA9IGNvc3BpXzE5XzY0ICogeDYg
LSBjb3NwaV8xM182NCAqIHg3OwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3Vu
ZCh4X2xvWzZdLCB4X2hpWzZdLCB4X2xvWzddLCB4X2hpWzddLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb3NwaV8xM182NCwgY29zcGlfMTlfNjQsICZzX2xvWzZdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc19oaVs2XSwgJnNfbG9bN10s
ICZzX2hpWzddKTsKLSAgLy8gczggPSBjb3NwaV8xN182NCAqIHg4ICsgY29zcGlfMTVfNjQgKiB4
OTsKLSAgLy8gczkgPSBjb3NwaV8xNV82NCAqIHg4IC0gY29zcGlfMTdfNjQgKiB4OTsKLSAgYnV0
dGVyZmx5X3R3b19jb2VmZl9zMTZfczMyX25vcm91bmQoeF9sb1s4XSwgeF9oaVs4XSwgeF9sb1s5
XSwgeF9oaVs5XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlf
MTdfNjQsIGNvc3BpXzE1XzY0LCAmc19sb1s4XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnNfaGlbOF0sICZzX2xvWzldLCAmc19oaVs5XSk7Ci0gIC8vIHMxMCA9IGNv
c3BpXzIxXzY0ICogeDEwICsgY29zcGlfMTFfNjQgKiB4MTE7Ci0gIC8vIHMxMSA9IGNvc3BpXzEx
XzY0ICogeDEwIC0gY29zcGlfMjFfNjQgKiB4MTE7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczE2
X3MzMl9ub3JvdW5kKHhfbG9bMTBdLCB4X2hpWzEwXSwgeF9sb1sxMV0sIHhfaGlbMTFdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8yMV82NCwgY29zcGlfMTFf
NjQsICZzX2xvWzEwXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNf
aGlbMTBdLCAmc19sb1sxMV0sICZzX2hpWzExXSk7Ci0gIC8vIHMxMiA9IGNvc3BpXzI1XzY0ICog
eDEyICsgY29zcGlfN182NCAqIHgxMzsKLSAgLy8gczEzID0gY29zcGlfN182NCAqIHgxMiAtIGNv
c3BpXzI1XzY0ICogeDEzOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh4
X2xvWzEyXSwgeF9oaVsxMl0sIHhfbG9bMTNdLCB4X2hpWzEzXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29zcGlfMjVfNjQsIGNvc3BpXzdfNjQsICZzX2xvWzEyXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNfaGlbMTJdLCAmc19sb1sx
M10sICZzX2hpWzEzXSk7Ci0gIC8vIHMxNCA9IGNvc3BpXzI5XzY0ICogeDE0ICsgY29zcGlfM182
NCAqIHgxNTsKLSAgLy8gczE1ID0gY29zcGlfM182NCAqIHgxNCAtIGNvc3BpXzI5XzY0ICogeDE1
OwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCh4X2xvWzE0XSwgeF9oaVsx
NF0sIHhfbG9bMTVdLCB4X2hpWzE1XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29zcGlfMjlfNjQsIGNvc3BpXzNfNjQsICZzX2xvWzE0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnNfaGlbMTRdLCAmc19sb1sxNV0sICZzX2hpWzE1XSk7
Ci0KLSAgLy8gZmRjdF9yb3VuZF9zaGlmdAotICB0X2xvWzBdID0gdnJzaHJxX25fczMyKHZhZGRx
X3MzMihzX2xvWzBdLCBzX2xvWzhdKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzBdID0gdnJz
aHJxX25fczMyKHZhZGRxX3MzMihzX2hpWzBdLCBzX2hpWzhdKSwgRENUX0NPTlNUX0JJVFMpOwot
ICB0X2xvWzFdID0gdnJzaHJxX25fczMyKHZhZGRxX3MzMihzX2xvWzFdLCBzX2xvWzldKSwgRENU
X0NPTlNUX0JJVFMpOwotICB0X2hpWzFdID0gdnJzaHJxX25fczMyKHZhZGRxX3MzMihzX2hpWzFd
LCBzX2hpWzldKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzJdID0gdnJzaHJxX25fczMyKHZh
ZGRxX3MzMihzX2xvWzJdLCBzX2xvWzEwXSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVsyXSA9
IHZyc2hycV9uX3MzMih2YWRkcV9zMzIoc19oaVsyXSwgc19oaVsxMF0pLCBEQ1RfQ09OU1RfQklU
Uyk7Ci0gIHRfbG9bM10gPSB2cnNocnFfbl9zMzIodmFkZHFfczMyKHNfbG9bM10sIHNfbG9bMTFd
KSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzNdID0gdnJzaHJxX25fczMyKHZhZGRxX3MzMihz
X2hpWzNdLCBzX2hpWzExXSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1s0XSA9IHZyc2hycV9u
X3MzMih2YWRkcV9zMzIoc19sb1s0XSwgc19sb1sxMl0pLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRf
aGlbNF0gPSB2cnNocnFfbl9zMzIodmFkZHFfczMyKHNfaGlbNF0sIHNfaGlbMTJdKSwgRENUX0NP
TlNUX0JJVFMpOwotICB0X2xvWzVdID0gdnJzaHJxX25fczMyKHZhZGRxX3MzMihzX2xvWzVdLCBz
X2xvWzEzXSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVs1XSA9IHZyc2hycV9uX3MzMih2YWRk
cV9zMzIoc19oaVs1XSwgc19oaVsxM10pLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfbG9bNl0gPSB2
cnNocnFfbl9zMzIodmFkZHFfczMyKHNfbG9bNl0sIHNfbG9bMTRdKSwgRENUX0NPTlNUX0JJVFMp
OwotICB0X2hpWzZdID0gdnJzaHJxX25fczMyKHZhZGRxX3MzMihzX2hpWzZdLCBzX2hpWzE0XSks
IERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1s3XSA9IHZyc2hycV9uX3MzMih2YWRkcV9zMzIoc19s
b1s3XSwgc19sb1sxNV0pLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfaGlbN10gPSB2cnNocnFfbl9z
MzIodmFkZHFfczMyKHNfaGlbN10sIHNfaGlbMTVdKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xv
WzhdID0gdnJzaHJxX25fczMyKHZzdWJxX3MzMihzX2xvWzBdLCBzX2xvWzhdKSwgRENUX0NPTlNU
X0JJVFMpOwotICB0X2hpWzhdID0gdnJzaHJxX25fczMyKHZzdWJxX3MzMihzX2hpWzBdLCBzX2hp
WzhdKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzldID0gdnJzaHJxX25fczMyKHZzdWJxX3Mz
MihzX2xvWzFdLCBzX2xvWzldKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzldID0gdnJzaHJx
X25fczMyKHZzdWJxX3MzMihzX2hpWzFdLCBzX2hpWzldKSwgRENUX0NPTlNUX0JJVFMpOwotICB0
X2xvWzEwXSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19sb1syXSwgc19sb1sxMF0pLCBEQ1Rf
Q09OU1RfQklUUyk7Ci0gIHRfaGlbMTBdID0gdnJzaHJxX25fczMyKHZzdWJxX3MzMihzX2hpWzJd
LCBzX2hpWzEwXSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1sxMV0gPSB2cnNocnFfbl9zMzIo
dnN1YnFfczMyKHNfbG9bM10sIHNfbG9bMTFdKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzEx
XSA9IHZyc2hycV9uX3MzMih2c3VicV9zMzIoc19oaVszXSwgc19oaVsxMV0pLCBEQ1RfQ09OU1Rf
QklUUyk7Ci0gIHRfbG9bMTJdID0gdnJzaHJxX25fczMyKHZzdWJxX3MzMihzX2xvWzRdLCBzX2xv
WzEyXSksIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVsxMl0gPSB2cnNocnFfbl9zMzIodnN1YnFf
czMyKHNfaGlbNF0sIHNfaGlbMTJdKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzEzXSA9IHZy
c2hycV9uX3MzMih2c3VicV9zMzIoc19sb1s1XSwgc19sb1sxM10pLCBEQ1RfQ09OU1RfQklUUyk7
Ci0gIHRfaGlbMTNdID0gdnJzaHJxX25fczMyKHZzdWJxX3MzMihzX2hpWzVdLCBzX2hpWzEzXSks
IERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1sxNF0gPSB2cnNocnFfbl9zMzIodnN1YnFfczMyKHNf
bG9bNl0sIHNfbG9bMTRdKSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzE0XSA9IHZyc2hycV9u
X3MzMih2c3VicV9zMzIoc19oaVs2XSwgc19oaVsxNF0pLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRf
bG9bMTVdID0gdnJzaHJxX25fczMyKHZzdWJxX3MzMihzX2xvWzddLCBzX2xvWzE1XSksIERDVF9D
T05TVF9CSVRTKTsKLSAgdF9oaVsxNV0gPSB2cnNocnFfbl9zMzIodnN1YnFfczMyKHNfaGlbN10s
IHNfaGlbMTVdKSwgRENUX0NPTlNUX0JJVFMpOwotCi0gIC8vIHN0YWdlIDIKLSAgc19sb1swXSA9
IHRfbG9bMF07Ci0gIHNfaGlbMF0gPSB0X2hpWzBdOwotICBzX2xvWzFdID0gdF9sb1sxXTsKLSAg
c19oaVsxXSA9IHRfaGlbMV07Ci0gIHNfbG9bMl0gPSB0X2xvWzJdOwotICBzX2hpWzJdID0gdF9o
aVsyXTsKLSAgc19sb1szXSA9IHRfbG9bM107Ci0gIHNfaGlbM10gPSB0X2hpWzNdOwotICBzX2xv
WzRdID0gdF9sb1s0XTsKLSAgc19oaVs0XSA9IHRfaGlbNF07Ci0gIHNfbG9bNV0gPSB0X2xvWzVd
OwotICBzX2hpWzVdID0gdF9oaVs1XTsKLSAgc19sb1s2XSA9IHRfbG9bNl07Ci0gIHNfaGlbNl0g
PSB0X2hpWzZdOwotICBzX2xvWzddID0gdF9sb1s3XTsKLSAgc19oaVs3XSA9IHRfaGlbN107Ci0g
IC8vIHM4ID0geDggKiBjb3NwaV80XzY0ICsgeDkgKiBjb3NwaV8yOF82NDsKLSAgLy8gczkgPSB4
OCAqIGNvc3BpXzI4XzY0IC0geDkgKiBjb3NwaV80XzY0OwotICBidXR0ZXJmbHlfdHdvX2NvZWZm
X3MzMl9ub3JvdW5kKHRfbG9bOF0sIHRfaGlbOF0sIHRfbG9bOV0sIHRfaGlbOV0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfNF82NCwgY29zcGlfMjhfNjQsICZzX2xv
WzhdLCAmc19oaVs4XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc19sb1s5
XSwgJnNfaGlbOV0pOwotICAvLyBzMTAgPSB4MTAgKiBjb3NwaV8yMF82NCArIHgxMSAqIGNvc3Bp
XzEyXzY0OwotICAvLyBzMTEgPSB4MTAgKiBjb3NwaV8xMl82NCAtIHgxMSAqIGNvc3BpXzIwXzY0
OwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9ub3JvdW5kKHRfbG9bMTBdLCB0X2hpWzEwXSwg
dF9sb1sxMV0sIHRfaGlbMTFdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
c3BpXzIwXzY0LCBjb3NwaV8xMl82NCwgJnNfbG9bMTBdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZzX2hpWzEwXSwgJnNfbG9bMTFdLCAmc19oaVsxMV0pOwotICAvLyBzMTIg
PSAteDEyICogY29zcGlfMjhfNjQgKyB4MTMgKiBjb3NwaV80XzY0OwotICAvLyBzMTMgPSB4MTIg
KiBjb3NwaV80XzY0ICsgeDEzICogY29zcGlfMjhfNjQ7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZf
czMyX25vcm91bmQodF9sb1sxM10sIHRfaGlbMTNdLCB0X2xvWzEyXSwgdF9oaVsxMl0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMjhfNjQsIGNvc3BpXzRfNjQsICZz
X2xvWzEzXSwgJnNfaGlbMTNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZz
X2xvWzEyXSwgJnNfaGlbMTJdKTsKLSAgLy8gczE0ID0gLXgxNCAqIGNvc3BpXzEyXzY0ICsgeDE1
ICogY29zcGlfMjBfNjQ7Ci0gIC8vIHMxNSA9IHgxNCAqIGNvc3BpXzIwXzY0ICsgeDE1ICogY29z
cGlfMTJfNjQ7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX25vcm91bmQodF9sb1sxNV0sIHRf
aGlbMTVdLCB0X2xvWzE0XSwgdF9oaVsxNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29zcGlfMTJfNjQsIGNvc3BpXzIwXzY0LCAmc19sb1sxNV0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJnNfaGlbMTVdLCAmc19sb1sxNF0sICZzX2hpWzE0XSk7Ci0K
LSAgLy8gczAgKyBzNAotICB0X2xvWzBdID0gdmFkZHFfczMyKHNfbG9bMF0sIHNfbG9bNF0pOwot
ICB0X2hpWzBdID0gdmFkZHFfczMyKHNfaGlbMF0sIHNfaGlbNF0pOwotICAvLyBzMSArIHM1Ci0g
IHRfbG9bMV0gPSB2YWRkcV9zMzIoc19sb1sxXSwgc19sb1s1XSk7Ci0gIHRfaGlbMV0gPSB2YWRk
cV9zMzIoc19oaVsxXSwgc19oaVs1XSk7Ci0gIC8vIHMyICsgczYKLSAgdF9sb1syXSA9IHZhZGRx
X3MzMihzX2xvWzJdLCBzX2xvWzZdKTsKLSAgdF9oaVsyXSA9IHZhZGRxX3MzMihzX2hpWzJdLCBz
X2hpWzZdKTsKLSAgLy8gczMgKyBzNwotICB0X2xvWzNdID0gdmFkZHFfczMyKHNfbG9bM10sIHNf
bG9bN10pOwotICB0X2hpWzNdID0gdmFkZHFfczMyKHNfaGlbM10sIHNfaGlbN10pOwotICAvLyBz
MCAtIHM0Ci0gIHRfbG9bNF0gPSB2c3VicV9zMzIoc19sb1swXSwgc19sb1s0XSk7Ci0gIHRfaGlb
NF0gPSB2c3VicV9zMzIoc19oaVswXSwgc19oaVs0XSk7Ci0gIC8vIHMxIC0gczcKLSAgdF9sb1s1
XSA9IHZzdWJxX3MzMihzX2xvWzFdLCBzX2xvWzVdKTsKLSAgdF9oaVs1XSA9IHZzdWJxX3MzMihz
X2hpWzFdLCBzX2hpWzVdKTsKLSAgLy8gczIgLSBzNgotICB0X2xvWzZdID0gdnN1YnFfczMyKHNf
bG9bMl0sIHNfbG9bNl0pOwotICB0X2hpWzZdID0gdnN1YnFfczMyKHNfaGlbMl0sIHNfaGlbNl0p
OwotICAvLyBzMyAtIHM3Ci0gIHRfbG9bN10gPSB2c3VicV9zMzIoc19sb1szXSwgc19sb1s3XSk7
Ci0gIHRfaGlbN10gPSB2c3VicV9zMzIoc19oaVszXSwgc19oaVs3XSk7Ci0gIC8vIHM4ICsgczEy
Ci0gIHRfbG9bOF0gPSB2YWRkcV9zMzIoc19sb1s4XSwgc19sb1sxMl0pOwotICB0X2hpWzhdID0g
dmFkZHFfczMyKHNfaGlbOF0sIHNfaGlbMTJdKTsKLSAgLy8gczkgKyBzMTMKLSAgdF9sb1s5XSA9
IHZhZGRxX3MzMihzX2xvWzldLCBzX2xvWzEzXSk7Ci0gIHRfaGlbOV0gPSB2YWRkcV9zMzIoc19o
aVs5XSwgc19oaVsxM10pOwotICAvLyBzMTAgKyBzMTQKLSAgdF9sb1sxMF0gPSB2YWRkcV9zMzIo
c19sb1sxMF0sIHNfbG9bMTRdKTsKLSAgdF9oaVsxMF0gPSB2YWRkcV9zMzIoc19oaVsxMF0sIHNf
aGlbMTRdKTsKLSAgLy8gczExICsgczE1Ci0gIHRfbG9bMTFdID0gdmFkZHFfczMyKHNfbG9bMTFd
LCBzX2xvWzE1XSk7Ci0gIHRfaGlbMTFdID0gdmFkZHFfczMyKHNfaGlbMTFdLCBzX2hpWzE1XSk7
Ci0gIC8vIHM4ICsgczEyCi0gIHRfbG9bMTJdID0gdnN1YnFfczMyKHNfbG9bOF0sIHNfbG9bMTJd
KTsKLSAgdF9oaVsxMl0gPSB2c3VicV9zMzIoc19oaVs4XSwgc19oaVsxMl0pOwotICAvLyBzOSAr
IHMxMwotICB0X2xvWzEzXSA9IHZzdWJxX3MzMihzX2xvWzldLCBzX2xvWzEzXSk7Ci0gIHRfaGlb
MTNdID0gdnN1YnFfczMyKHNfaGlbOV0sIHNfaGlbMTNdKTsKLSAgLy8gczEwICsgczE0Ci0gIHRf
bG9bMTRdID0gdnN1YnFfczMyKHNfbG9bMTBdLCBzX2xvWzE0XSk7Ci0gIHRfaGlbMTRdID0gdnN1
YnFfczMyKHNfaGlbMTBdLCBzX2hpWzE0XSk7Ci0gIC8vIHMxMSArIHMxNQotICB0X2xvWzE1XSA9
IHZzdWJxX3MzMihzX2xvWzExXSwgc19sb1sxNV0pOwotICB0X2hpWzE1XSA9IHZzdWJxX3MzMihz
X2hpWzExXSwgc19oaVsxNV0pOwotCi0gIHRfbG9bOF0gPSB2cnNocnFfbl9zMzIodF9sb1s4XSwg
RENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzhdID0gdnJzaHJxX25fczMyKHRfaGlbOF0sIERDVF9D
T05TVF9CSVRTKTsKLSAgdF9sb1s5XSA9IHZyc2hycV9uX3MzMih0X2xvWzldLCBEQ1RfQ09OU1Rf
QklUUyk7Ci0gIHRfaGlbOV0gPSB2cnNocnFfbl9zMzIodF9oaVs5XSwgRENUX0NPTlNUX0JJVFMp
OwotICB0X2xvWzEwXSA9IHZyc2hycV9uX3MzMih0X2xvWzEwXSwgRENUX0NPTlNUX0JJVFMpOwot
ICB0X2hpWzEwXSA9IHZyc2hycV9uX3MzMih0X2hpWzEwXSwgRENUX0NPTlNUX0JJVFMpOwotICB0
X2xvWzExXSA9IHZyc2hycV9uX3MzMih0X2xvWzExXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hp
WzExXSA9IHZyc2hycV9uX3MzMih0X2hpWzExXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzEy
XSA9IHZyc2hycV9uX3MzMih0X2xvWzEyXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzEyXSA9
IHZyc2hycV9uX3MzMih0X2hpWzEyXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzEzXSA9IHZy
c2hycV9uX3MzMih0X2xvWzEzXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzEzXSA9IHZyc2hy
cV9uX3MzMih0X2hpWzEzXSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzE0XSA9IHZyc2hycV9u
X3MzMih0X2xvWzE0XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzE0XSA9IHZyc2hycV9uX3Mz
Mih0X2hpWzE0XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzE1XSA9IHZyc2hycV9uX3MzMih0
X2xvWzE1XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzE1XSA9IHZyc2hycV9uX3MzMih0X2hp
WzE1XSwgRENUX0NPTlNUX0JJVFMpOwotCi0gIC8vIHN0YWdlIDMKLSAgc19sb1swXSA9IHRfbG9b
MF07Ci0gIHNfaGlbMF0gPSB0X2hpWzBdOwotICBzX2xvWzFdID0gdF9sb1sxXTsKLSAgc19oaVsx
XSA9IHRfaGlbMV07Ci0gIHNfbG9bMl0gPSB0X2xvWzJdOwotICBzX2hpWzJdID0gdF9oaVsyXTsK
LSAgc19sb1szXSA9IHRfbG9bM107Ci0gIHNfaGlbM10gPSB0X2hpWzNdOwotICAvLyBzNCA9IHg0
ICogY29zcGlfOF82NCArIHg1ICogY29zcGlfMjRfNjQ7Ci0gIC8vIHM1ID0geDQgKiBjb3NwaV8y
NF82NCAtIHg1ICogY29zcGlfOF82NDsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfbm9yb3Vu
ZCh0X2xvWzRdLCB0X2hpWzRdLCB0X2xvWzVdLCB0X2hpWzVdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LCAmc19sb1s0XSwgJnNfaGlb
NF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNfbG9bNV0sICZzX2hpWzVd
KTsKLSAgLy8gczYgPSAteDYgKiBjb3NwaV8yNF82NCArIHg3ICogY29zcGlfOF82NDsKLSAgLy8g
czcgPSB4NiAqIGNvc3BpXzhfNjQgKyB4NyAqIGNvc3BpXzI0XzY0OwotICBidXR0ZXJmbHlfdHdv
X2NvZWZmX3MzMl9ub3JvdW5kKHRfbG9bN10sIHRfaGlbN10sIHRfbG9bNl0sIHRfaGlbNl0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQs
ICZzX2xvWzddLCAmc19oaVs3XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
c19sb1s2XSwgJnNfaGlbNl0pOwotICBzX2xvWzhdID0gdF9sb1s4XTsKLSAgc19oaVs4XSA9IHRf
aGlbOF07Ci0gIHNfbG9bOV0gPSB0X2xvWzldOwotICBzX2hpWzldID0gdF9oaVs5XTsKLSAgc19s
b1sxMF0gPSB0X2xvWzEwXTsKLSAgc19oaVsxMF0gPSB0X2hpWzEwXTsKLSAgc19sb1sxMV0gPSB0
X2xvWzExXTsKLSAgc19oaVsxMV0gPSB0X2hpWzExXTsKLSAgLy8gczEyID0geDEyICogY29zcGlf
OF82NCArIHgxMyAqIGNvc3BpXzI0XzY0OwotICAvLyBzMTMgPSB4MTIgKiBjb3NwaV8yNF82NCAt
IHgxMyAqIGNvc3BpXzhfNjQ7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX25vcm91bmQodF9s
b1sxMl0sIHRfaGlbMTJdLCB0X2xvWzEzXSwgdF9oaVsxM10sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29zcGlfOF82NCwgY29zcGlfMjRfNjQsICZzX2xvWzEyXSwgJnNfaGlb
MTJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzX2xvWzEzXSwgJnNfaGlb
MTNdKTsKLSAgLy8gczE0ID0gLXgxNCAqIGNvc3BpXzI0XzY0ICsgeDE1ICogY29zcGlfOF82NDsK
LSAgLy8gczE1ID0geDE0ICogY29zcGlfOF82NCArIHgxNSAqIGNvc3BpXzI0XzY0OwotICBidXR0
ZXJmbHlfdHdvX2NvZWZmX3MzMl9ub3JvdW5kKHRfbG9bMTVdLCB0X2hpWzE1XSwgdF9sb1sxNF0s
IHRfaGlbMTRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI0XzY0
LCBjb3NwaV84XzY0LCAmc19sb1sxNV0sICZzX2hpWzE1XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmc19sb1sxNF0sICZzX2hpWzE0XSk7Ci0KLSAgLy8gczAgKyBzNAotICB0
X2xvWzBdID0gdmFkZHFfczMyKHNfbG9bMF0sIHNfbG9bMl0pOwotICB0X2hpWzBdID0gdmFkZHFf
czMyKHNfaGlbMF0sIHNfaGlbMl0pOwotICAvLyBzMSArIHMzCi0gIHRfbG9bMV0gPSB2YWRkcV9z
MzIoc19sb1sxXSwgc19sb1szXSk7Ci0gIHRfaGlbMV0gPSB2YWRkcV9zMzIoc19oaVsxXSwgc19o
aVszXSk7Ci0gIC8vIHMwIC0gczQKLSAgdF9sb1syXSA9IHZzdWJxX3MzMihzX2xvWzBdLCBzX2xv
WzJdKTsKLSAgdF9oaVsyXSA9IHZzdWJxX3MzMihzX2hpWzBdLCBzX2hpWzJdKTsKLSAgLy8gczEg
LSBzMwotICB0X2xvWzNdID0gdnN1YnFfczMyKHNfbG9bMV0sIHNfbG9bM10pOwotICB0X2hpWzNd
ID0gdnN1YnFfczMyKHNfaGlbMV0sIHNfaGlbM10pOwotICAvLyBzNCArIHM2Ci0gIHRfbG9bNF0g
PSB2YWRkcV9zMzIoc19sb1s0XSwgc19sb1s2XSk7Ci0gIHRfaGlbNF0gPSB2YWRkcV9zMzIoc19o
aVs0XSwgc19oaVs2XSk7Ci0gIC8vIHM1ICsgczcKLSAgdF9sb1s1XSA9IHZhZGRxX3MzMihzX2xv
WzVdLCBzX2xvWzddKTsKLSAgdF9oaVs1XSA9IHZhZGRxX3MzMihzX2hpWzVdLCBzX2hpWzddKTsK
LSAgLy8gczQgLSBzNgotICB0X2xvWzZdID0gdnN1YnFfczMyKHNfbG9bNF0sIHNfbG9bNl0pOwot
ICB0X2hpWzZdID0gdnN1YnFfczMyKHNfaGlbNF0sIHNfaGlbNl0pOwotICAvLyBzNSAtIHM3Ci0g
IHRfbG9bN10gPSB2c3VicV9zMzIoc19sb1s1XSwgc19sb1s3XSk7Ci0gIHRfaGlbN10gPSB2c3Vi
cV9zMzIoc19oaVs1XSwgc19oaVs3XSk7Ci0gIC8vIHM4ICsgczEwCi0gIHRfbG9bOF0gPSB2YWRk
cV9zMzIoc19sb1s4XSwgc19sb1sxMF0pOwotICB0X2hpWzhdID0gdmFkZHFfczMyKHNfaGlbOF0s
IHNfaGlbMTBdKTsKLSAgLy8gczkgKyBzMTEKLSAgdF9sb1s5XSA9IHZhZGRxX3MzMihzX2xvWzld
LCBzX2xvWzExXSk7Ci0gIHRfaGlbOV0gPSB2YWRkcV9zMzIoc19oaVs5XSwgc19oaVsxMV0pOwot
ICAvLyBzOCAtIHMxMAotICB0X2xvWzEwXSA9IHZzdWJxX3MzMihzX2xvWzhdLCBzX2xvWzEwXSk7
Ci0gIHRfaGlbMTBdID0gdnN1YnFfczMyKHNfaGlbOF0sIHNfaGlbMTBdKTsKLSAgLy8gczkgLSBz
MTEKLSAgdF9sb1sxMV0gPSB2c3VicV9zMzIoc19sb1s5XSwgc19sb1sxMV0pOwotICB0X2hpWzEx
XSA9IHZzdWJxX3MzMihzX2hpWzldLCBzX2hpWzExXSk7Ci0gIC8vIHMxMiArIHMxNAotICB0X2xv
WzEyXSA9IHZhZGRxX3MzMihzX2xvWzEyXSwgc19sb1sxNF0pOwotICB0X2hpWzEyXSA9IHZhZGRx
X3MzMihzX2hpWzEyXSwgc19oaVsxNF0pOwotICAvLyBzMTMgKyBzMTUKLSAgdF9sb1sxM10gPSB2
YWRkcV9zMzIoc19sb1sxM10sIHNfbG9bMTVdKTsKLSAgdF9oaVsxM10gPSB2YWRkcV9zMzIoc19o
aVsxM10sIHNfaGlbMTVdKTsKLSAgLy8gczEyIC0gczE0Ci0gIHRfbG9bMTRdID0gdnN1YnFfczMy
KHNfbG9bMTJdLCBzX2xvWzE0XSk7Ci0gIHRfaGlbMTRdID0gdnN1YnFfczMyKHNfaGlbMTJdLCBz
X2hpWzE0XSk7Ci0gIC8vIHMxMyAtIHMxNQotICB0X2xvWzE1XSA9IHZzdWJxX3MzMihzX2xvWzEz
XSwgc19sb1sxNV0pOwotICB0X2hpWzE1XSA9IHZzdWJxX3MzMihzX2hpWzEzXSwgc19oaVsxNV0p
OwotCi0gIHRfbG9bNF0gPSB2cnNocnFfbl9zMzIodF9sb1s0XSwgRENUX0NPTlNUX0JJVFMpOwot
ICB0X2hpWzRdID0gdnJzaHJxX25fczMyKHRfaGlbNF0sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9s
b1s1XSA9IHZyc2hycV9uX3MzMih0X2xvWzVdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfaGlbNV0g
PSB2cnNocnFfbl9zMzIodF9oaVs1XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2xvWzZdID0gdnJz
aHJxX25fczMyKHRfbG9bNl0sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVs2XSA9IHZyc2hycV9u
X3MzMih0X2hpWzZdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHRfbG9bN10gPSB2cnNocnFfbl9zMzIo
dF9sb1s3XSwgRENUX0NPTlNUX0JJVFMpOwotICB0X2hpWzddID0gdnJzaHJxX25fczMyKHRfaGlb
N10sIERDVF9DT05TVF9CSVRTKTsKLSAgdF9sb1sxMl0gPSB2cnNocnFfbl9zMzIodF9sb1sxMl0s
IERDVF9DT05TVF9CSVRTKTsKLSAgdF9oaVsxMl0gPSB2cnNocnFfbl9zMzIodF9oaVsxMl0sIERD
VF9DT05TVF9CSVRTKTsKLSAgdF9sb1sxM10gPSB2cnNocnFfbl9zMzIodF9sb1sxM10sIERDVF9D
T05TVF9CSVRTKTsKLSAgdF9oaVsxM10gPSB2cnNocnFfbl9zMzIodF9oaVsxM10sIERDVF9DT05T
VF9CSVRTKTsKLSAgdF9sb1sxNF0gPSB2cnNocnFfbl9zMzIodF9sb1sxNF0sIERDVF9DT05TVF9C
SVRTKTsKLSAgdF9oaVsxNF0gPSB2cnNocnFfbl9zMzIodF9oaVsxNF0sIERDVF9DT05TVF9CSVRT
KTsKLSAgdF9sb1sxNV0gPSB2cnNocnFfbl9zMzIodF9sb1sxNV0sIERDVF9DT05TVF9CSVRTKTsK
LSAgdF9oaVsxNV0gPSB2cnNocnFfbl9zMzIodF9oaVsxNV0sIERDVF9DT05TVF9CSVRTKTsKLQot
ICAvLyBzdGFnZSA0Ci0gIC8vIHMyID0gKC1jb3NwaV8xNl82NCkgKiAoeDIgKyB4Myk7Ci0gIC8v
IHMzID0gY29zcGlfMTZfNjQgKiAoeDIgLSB4Myk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMy
X25vcm91bmQodF9sb1szXSwgdF9oaVszXSwgdF9sb1syXSwgdF9oaVsyXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtY29zcGlfMTZfNjQsICZzX2xvWzJdLCAmc19oaVsyXSwg
JnNfbG9bM10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNfaGlbM10pOwot
ICAvLyBzNiA9IGNvc3BpXzE2XzY0ICogKHg2ICsgeDcpOwotICAvLyBzNyA9IGNvc3BpXzE2XzY0
ICogKC14NiArIHg3KTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfbm9yb3VuZCh0X2xvWzdd
LCB0X2hpWzddLCB0X2xvWzZdLCB0X2hpWzZdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvc3BpXzE2XzY0LCAmc19sb1s2XSwgJnNfaGlbNl0sICZzX2xvWzddLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzX2hpWzddKTsKLSAgLy8gczEwID0gY29zcGlf
MTZfNjQgKiAoeDEwICsgeDExKTsKLSAgLy8gczExID0gY29zcGlfMTZfNjQgKiAoLXgxMCArIHgx
MSk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX25vcm91bmQodF9sb1sxMV0sIHRfaGlbMTFd
LCB0X2xvWzEwXSwgdF9oaVsxMF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29zcGlfMTZfNjQsICZzX2xvWzEwXSwgJnNfaGlbMTBdLCAmc19sb1sxMV0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnNfaGlbMTFdKTsKLSAgLy8gczE0ID0gKC1jb3NwaV8x
Nl82NCkgKiAoeDE0ICsgeDE1KTsKLSAgLy8gczE1ID0gY29zcGlfMTZfNjQgKiAoeDE0IC0geDE1
KTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfbm9yb3VuZCh0X2xvWzE1XSwgdF9oaVsxNV0s
IHRfbG9bMTRdLCB0X2hpWzE0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
Y29zcGlfMTZfNjQsICZzX2xvWzE0XSwgJnNfaGlbMTRdLCAmc19sb1sxNV0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnNfaGlbMTVdKTsKLQotICAvLyBmaW5hbCBmZGN0X3Jv
dW5kX3NoaWZ0Ci0gIHhfbG9bMl0gPSB2cnNocm5fbl9zMzIoc19sb1syXSwgRENUX0NPTlNUX0JJ
VFMpOwotICB4X2hpWzJdID0gdnJzaHJuX25fczMyKHNfaGlbMl0sIERDVF9DT05TVF9CSVRTKTsK
LSAgeF9sb1szXSA9IHZyc2hybl9uX3MzMihzX2xvWzNdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHhf
aGlbM10gPSB2cnNocm5fbl9zMzIoc19oaVszXSwgRENUX0NPTlNUX0JJVFMpOwotICB4X2xvWzZd
ID0gdnJzaHJuX25fczMyKHNfbG9bNl0sIERDVF9DT05TVF9CSVRTKTsKLSAgeF9oaVs2XSA9IHZy
c2hybl9uX3MzMihzX2hpWzZdLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIHhfbG9bN10gPSB2cnNocm5f
bl9zMzIoc19sb1s3XSwgRENUX0NPTlNUX0JJVFMpOwotICB4X2hpWzddID0gdnJzaHJuX25fczMy
KHNfaGlbN10sIERDVF9DT05TVF9CSVRTKTsKLSAgeF9sb1sxMF0gPSB2cnNocm5fbl9zMzIoc19s
b1sxMF0sIERDVF9DT05TVF9CSVRTKTsKLSAgeF9oaVsxMF0gPSB2cnNocm5fbl9zMzIoc19oaVsx
MF0sIERDVF9DT05TVF9CSVRTKTsKLSAgeF9sb1sxMV0gPSB2cnNocm5fbl9zMzIoc19sb1sxMV0s
IERDVF9DT05TVF9CSVRTKTsKLSAgeF9oaVsxMV0gPSB2cnNocm5fbl9zMzIoc19oaVsxMV0sIERD
VF9DT05TVF9CSVRTKTsKLSAgeF9sb1sxNF0gPSB2cnNocm5fbl9zMzIoc19sb1sxNF0sIERDVF9D
T05TVF9CSVRTKTsKLSAgeF9oaVsxNF0gPSB2cnNocm5fbl9zMzIoc19oaVsxNF0sIERDVF9DT05T
VF9CSVRTKTsKLSAgeF9sb1sxNV0gPSB2cnNocm5fbl9zMzIoc19sb1sxNV0sIERDVF9DT05TVF9C
SVRTKTsKLSAgeF9oaVsxNV0gPSB2cnNocm5fbl9zMzIoc19oaVsxNV0sIERDVF9DT05TVF9CSVRT
KTsKLQotICAvLyB4MCwgeDEsIHg0LCB4NSwgeDgsIHg5LCB4MTIsIHgxMyBuYXJyb3cgZG93biB0
byAxNi1iaXRzIGRpcmVjdGx5Ci0gIHhfbG9bMF0gPSB2bW92bl9zMzIodF9sb1swXSk7Ci0gIHhf
aGlbMF0gPSB2bW92bl9zMzIodF9oaVswXSk7Ci0gIHhfbG9bMV0gPSB2bW92bl9zMzIodF9sb1sx
XSk7Ci0gIHhfaGlbMV0gPSB2bW92bl9zMzIodF9oaVsxXSk7Ci0gIHhfbG9bNF0gPSB2bW92bl9z
MzIodF9sb1s0XSk7Ci0gIHhfaGlbNF0gPSB2bW92bl9zMzIodF9oaVs0XSk7Ci0gIHhfbG9bNV0g
PSB2bW92bl9zMzIodF9sb1s1XSk7Ci0gIHhfaGlbNV0gPSB2bW92bl9zMzIodF9oaVs1XSk7Ci0g
IHhfbG9bOF0gPSB2bW92bl9zMzIodF9sb1s4XSk7Ci0gIHhfaGlbOF0gPSB2bW92bl9zMzIodF9o
aVs4XSk7Ci0gIHhfbG9bOV0gPSB2bW92bl9zMzIodF9sb1s5XSk7Ci0gIHhfaGlbOV0gPSB2bW92
bl9zMzIodF9oaVs5XSk7Ci0gIHhfbG9bMTJdID0gdm1vdm5fczMyKHRfbG9bMTJdKTsKLSAgeF9o
aVsxMl0gPSB2bW92bl9zMzIodF9oaVsxMl0pOwotICB4X2xvWzEzXSA9IHZtb3ZuX3MzMih0X2xv
WzEzXSk7Ci0gIHhfaGlbMTNdID0gdm1vdm5fczMyKHRfaGlbMTNdKTsKLQotICBpblswXSA9IHZj
b21iaW5lX3MxNih4X2xvWzBdLCB4X2hpWzBdKTsKLSAgaW5bMV0gPSB2bmVncV9zMTYodmNvbWJp
bmVfczE2KHhfbG9bOF0sIHhfaGlbOF0pKTsKLSAgaW5bMl0gPSB2Y29tYmluZV9zMTYoeF9sb1sx
Ml0sIHhfaGlbMTJdKTsKLSAgaW5bM10gPSB2bmVncV9zMTYodmNvbWJpbmVfczE2KHhfbG9bNF0s
IHhfaGlbNF0pKTsKLSAgaW5bNF0gPSB2Y29tYmluZV9zMTYoeF9sb1s2XSwgeF9oaVs2XSk7Ci0g
IGluWzVdID0gdmNvbWJpbmVfczE2KHhfbG9bMTRdLCB4X2hpWzE0XSk7Ci0gIGluWzZdID0gdmNv
bWJpbmVfczE2KHhfbG9bMTBdLCB4X2hpWzEwXSk7Ci0gIGluWzddID0gdmNvbWJpbmVfczE2KHhf
bG9bMl0sIHhfaGlbMl0pOwotICBpbls4XSA9IHZjb21iaW5lX3MxNih4X2xvWzNdLCB4X2hpWzNd
KTsKLSAgaW5bOV0gPSB2Y29tYmluZV9zMTYoeF9sb1sxMV0sIHhfaGlbMTFdKTsKLSAgaW5bMTBd
ID0gdmNvbWJpbmVfczE2KHhfbG9bMTVdLCB4X2hpWzE1XSk7Ci0gIGluWzExXSA9IHZjb21iaW5l
X3MxNih4X2xvWzddLCB4X2hpWzddKTsKLSAgaW5bMTJdID0gdmNvbWJpbmVfczE2KHhfbG9bNV0s
IHhfaGlbNV0pOwotICBpblsxM10gPSB2bmVncV9zMTYodmNvbWJpbmVfczE2KHhfbG9bMTNdLCB4
X2hpWzEzXSkpOwotICBpblsxNF0gPSB2Y29tYmluZV9zMTYoeF9sb1s5XSwgeF9oaVs5XSk7Ci0g
IGluWzE1XSA9IHZuZWdxX3MxNih2Y29tYmluZV9zMTYoeF9sb1sxXSwgeF9oaVsxXSkpOwotfQot
Ci1zdGF0aWMgdm9pZCBmZGN0MTZ4MTZfbmVvbihpbnQxNng4X3QgKmluMCwgaW50MTZ4OF90ICpp
bjEpIHsKLSAgLy8gTGVmdCBoYWxmLgotICBmZGN0MTZfOGNvbChpbjApOwotICAvLyBSaWdodCBo
YWxmLgotICBmZGN0MTZfOGNvbChpbjEpOwotICB0cmFuc3Bvc2VfczE2XzE2eDE2KGluMCwgaW4x
KTsKLX0KLQotc3RhdGljIHZvaWQgZmFkc3QxNngxNl9uZW9uKGludDE2eDhfdCAqaW4wLCBpbnQx
Nng4X3QgKmluMSkgewotICBmYWRzdDE2Xzhjb2woaW4wKTsKLSAgZmFkc3QxNl84Y29sKGluMSk7
Ci0gIHRyYW5zcG9zZV9zMTZfMTZ4MTYoaW4wLCBpbjEpOwotfQotCi12b2lkIHZwOV9maHQxNngx
Nl9uZW9uKGNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB0eF90eXBlKSB7Ci0gIGludDE2eDhfdCBp
bjBbMTZdLCBpbjFbMTZdOwotCi0gIHN3aXRjaCAodHhfdHlwZSkgewotICAgIGNhc2UgRENUX0RD
VDogdnB4X2ZkY3QxNngxNl9uZW9uKGlucHV0LCBvdXRwdXQsIHN0cmlkZSk7IGJyZWFrOwotICAg
IGNhc2UgQURTVF9EQ1Q6Ci0gICAgICBsb2FkX2J1ZmZlcl8xNngxNihpbnB1dCwgaW4wLCBpbjEs
IHN0cmlkZSk7Ci0gICAgICBmYWRzdDE2eDE2X25lb24oaW4wLCBpbjEpOwotICAgICAgcmlnaHRf
c2hpZnRfMTZ4MTYoaW4wLCBpbjEpOwotICAgICAgZmRjdDE2eDE2X25lb24oaW4wLCBpbjEpOwot
ICAgICAgd3JpdGVfYnVmZmVyXzE2eDE2KG91dHB1dCwgaW4wLCBpbjEsIDE2KTsKLSAgICAgIGJy
ZWFrOwotICAgIGNhc2UgRENUX0FEU1Q6Ci0gICAgICBsb2FkX2J1ZmZlcl8xNngxNihpbnB1dCwg
aW4wLCBpbjEsIHN0cmlkZSk7Ci0gICAgICBmZGN0MTZ4MTZfbmVvbihpbjAsIGluMSk7Ci0gICAg
ICByaWdodF9zaGlmdF8xNngxNihpbjAsIGluMSk7Ci0gICAgICBmYWRzdDE2eDE2X25lb24oaW4w
LCBpbjEpOwotICAgICAgd3JpdGVfYnVmZmVyXzE2eDE2KG91dHB1dCwgaW4wLCBpbjEsIDE2KTsK
LSAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICBhc3NlcnQodHhfdHlwZSA9PSBBRFNU
X0FEU1QpOwotICAgICAgbG9hZF9idWZmZXJfMTZ4MTYoaW5wdXQsIGluMCwgaW4xLCBzdHJpZGUp
OwotICAgICAgZmFkc3QxNngxNl9uZW9uKGluMCwgaW4xKTsKLSAgICAgIHJpZ2h0X3NoaWZ0XzE2
eDE2KGluMCwgaW4xKTsKLSAgICAgIGZhZHN0MTZ4MTZfbmVvbihpbjAsIGluMSk7Ci0gICAgICB3
cml0ZV9idWZmZXJfMTZ4MTYob3V0cHV0LCBpbjAsIGluMSwgMTYpOwotICAgICAgYnJlYWs7Ci0g
IH0KLX0KLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLXN0YXRpYyBJTkxJTkUgdm9p
ZCBoaWdoYmRfbG9hZF9idWZmZXJfNHg0KGNvbnN0IGludDE2X3QgKmlucHV0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICppbiAvKls0XSovLCBp
bnQgc3RyaWRlKSB7Ci0gIC8vIHsgMCwgMSwgMSwgMSB9OwotICBjb25zdCBpbnQzMng0X3Qgbm9u
emVyb19iaWFzX2EgPSB2ZXh0cV9zMzIodmR1cHFfbl9zMzIoMCksIHZkdXBxX25fczMyKDEpLCAz
KTsKLSAgLy8geyAxLCAwLCAwLCAwIH07Ci0gIGNvbnN0IGludDMyeDRfdCBub256ZXJvX2JpYXNf
YiA9IHZleHRxX3MzMih2ZHVwcV9uX3MzMigxKSwgdmR1cHFfbl9zMzIoMCksIDMpOwotICBpbnQz
Mng0X3QgbWFzazsKLQotICBpblswXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMCAq
IHN0cmlkZSksIDQpOwotICBpblsxXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMSAq
IHN0cmlkZSksIDQpOwotICBpblsyXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMiAq
IHN0cmlkZSksIDQpOwotICBpblszXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMyAq
IHN0cmlkZSksIDQpOwotCi0gIC8vIENvcHkgdGhlIFNTRSBtZXRob2QsIHVzZSBhIG1hc2sgdG8g
YXZvaWQgYW4gJ2lmJyBicmFuY2ggaGVyZSB0byBpbmNyZWFzZSBieQotICAvLyBvbmUgbm9uLXpl
cm8gZmlyc3QgZWxlbWVudHMKLSAgbWFzayA9IHZyZWludGVycHJldHFfczMyX3UzMih2Y2VxcV9z
MzIoaW5bMF0sIG5vbnplcm9fYmlhc19hKSk7Ci0gIGluWzBdID0gdmFkZHFfczMyKGluWzBdLCBt
YXNrKTsKLSAgaW5bMF0gPSB2YWRkcV9zMzIoaW5bMF0sIG5vbnplcm9fYmlhc19iKTsKLX0KLQot
c3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF93cml0ZV9idWZmZXJfNHg0KHRyYW5fbG93X3QgKm91
dHB1dCwgaW50MzJ4NF90ICpyZXMpIHsKLSAgY29uc3QgaW50MzJ4NF90IG9uZSA9IHZkdXBxX25f
czMyKDEpOwotICByZXNbMF0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIocmVzWzBdLCBvbmUpLCAy
KTsKLSAgcmVzWzFdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKHJlc1sxXSwgb25lKSwgMik7Ci0g
IHJlc1syXSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihyZXNbMl0sIG9uZSksIDIpOwotICByZXNb
M10gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIocmVzWzNdLCBvbmUpLCAyKTsKLSAgdnN0MXFfczMy
KG91dHB1dCArIDAgKiA0LCByZXNbMF0pOwotICB2c3QxcV9zMzIob3V0cHV0ICsgMSAqIDQsIHJl
c1sxXSk7Ci0gIHZzdDFxX3MzMihvdXRwdXQgKyAyICogNCwgcmVzWzJdKTsKLSAgdnN0MXFfczMy
KG91dHB1dCArIDMgKiA0LCByZXNbM10pOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJk
X2ZhZHN0NHg0X25lb24oaW50MzJ4NF90ICppbiAvKls0XSovKSB7Ci0gIGludDMyeDJfdCBzX2xv
WzRdLCBzX2hpWzRdOwotICBpbnQ2NHgyX3QgdV9sb1s0XSwgdV9oaVs0XSwgdF9sb1s0XSwgdF9o
aVs0XTsKLQotICBzX2xvWzBdID0gdmdldF9sb3dfczMyKGluWzBdKTsKLSAgc19oaVswXSA9IHZn
ZXRfaGlnaF9zMzIoaW5bMF0pOwotICBzX2xvWzFdID0gdmdldF9sb3dfczMyKGluWzFdKTsKLSAg
c19oaVsxXSA9IHZnZXRfaGlnaF9zMzIoaW5bMV0pOwotICBzX2xvWzJdID0gdmdldF9sb3dfczMy
KGluWzJdKTsKLSAgc19oaVsyXSA9IHZnZXRfaGlnaF9zMzIoaW5bMl0pOwotICBzX2xvWzNdID0g
dmdldF9sb3dfczMyKGluWzNdKTsKLSAgc19oaVszXSA9IHZnZXRfaGlnaF9zMzIoaW5bM10pOwot
Ci0gIC8vIHQwID0gczAgKiBzaW5waV8xXzkgKyBzMSAqIHNpbnBpXzJfOSArIHMzICogc2lucGlf
NF85Ci0gIHRfbG9bMF0gPSB2bXVsbF9uX3MzMihzX2xvWzBdLCBzaW5waV8xXzkpOwotICB0X2xv
WzBdID0gdm1sYWxfbl9zMzIodF9sb1swXSwgc19sb1sxXSwgc2lucGlfMl85KTsKLSAgdF9sb1sw
XSA9IHZtbGFsX25fczMyKHRfbG9bMF0sIHNfbG9bM10sIHNpbnBpXzRfOSk7Ci0gIHRfaGlbMF0g
PSB2bXVsbF9uX3MzMihzX2hpWzBdLCBzaW5waV8xXzkpOwotICB0X2hpWzBdID0gdm1sYWxfbl9z
MzIodF9oaVswXSwgc19oaVsxXSwgc2lucGlfMl85KTsKLSAgdF9oaVswXSA9IHZtbGFsX25fczMy
KHRfaGlbMF0sIHNfaGlbM10sIHNpbnBpXzRfOSk7Ci0KLSAgLy8gdDEgPSAoczAgKyBzMSkgKiBz
aW5waV8zXzkgLSBzMyAqIHNpbnBpXzNfOQotICB0X2xvWzFdID0gdm11bGxfbl9zMzIoc19sb1sw
XSwgc2lucGlfM185KTsKLSAgdF9sb1sxXSA9IHZtbGFsX25fczMyKHRfbG9bMV0sIHNfbG9bMV0s
IHNpbnBpXzNfOSk7Ci0gIHRfbG9bMV0gPSB2bWxzbF9uX3MzMih0X2xvWzFdLCBzX2xvWzNdLCBz
aW5waV8zXzkpOwotICB0X2hpWzFdID0gdm11bGxfbl9zMzIoc19oaVswXSwgc2lucGlfM185KTsK
LSAgdF9oaVsxXSA9IHZtbGFsX25fczMyKHRfaGlbMV0sIHNfaGlbMV0sIHNpbnBpXzNfOSk7Ci0g
IHRfaGlbMV0gPSB2bWxzbF9uX3MzMih0X2hpWzFdLCBzX2hpWzNdLCBzaW5waV8zXzkpOwotCi0g
IC8vIHQyID0gczAgKiBzaW5waV80XzkgLSBzMSogc2lucGlfMV85ICsgczMgKiBzaW5waV8yXzkK
LSAgdF9sb1syXSA9IHZtdWxsX25fczMyKHNfbG9bMF0sIHNpbnBpXzRfOSk7Ci0gIHRfbG9bMl0g
PSB2bWxzbF9uX3MzMih0X2xvWzJdLCBzX2xvWzFdLCBzaW5waV8xXzkpOwotICB0X2xvWzJdID0g
dm1sYWxfbl9zMzIodF9sb1syXSwgc19sb1szXSwgc2lucGlfMl85KTsKLSAgdF9oaVsyXSA9IHZt
dWxsX25fczMyKHNfaGlbMF0sIHNpbnBpXzRfOSk7Ci0gIHRfaGlbMl0gPSB2bWxzbF9uX3MzMih0
X2hpWzJdLCBzX2hpWzFdLCBzaW5waV8xXzkpOwotICB0X2hpWzJdID0gdm1sYWxfbl9zMzIodF9o
aVsyXSwgc19oaVszXSwgc2lucGlfMl85KTsKLQotICAvLyB0MyA9IHMyICogc2lucGlfM185Ci0g
IHRfbG9bM10gPSB2bXVsbF9uX3MzMihzX2xvWzJdLCBzaW5waV8zXzkpOwotICB0X2hpWzNdID0g
dm11bGxfbl9zMzIoc19oaVsyXSwgc2lucGlfM185KTsKLQotICAvKgotICAgKiB1MCA9IHQwICsg
dDMKLSAgICogdTEgPSB0MQotICAgKiB1MiA9IHQyIC0gdDMKLSAgICogdTMgPSB0MiAtIHQwICsg
dDMKLSAgICovCi0gIHVfbG9bMF0gPSB2YWRkcV9zNjQodF9sb1swXSwgdF9sb1szXSk7Ci0gIHVf
aGlbMF0gPSB2YWRkcV9zNjQodF9oaVswXSwgdF9oaVszXSk7Ci0gIHVfbG9bMV0gPSB0X2xvWzFd
OwotICB1X2hpWzFdID0gdF9oaVsxXTsKLSAgdV9sb1syXSA9IHZzdWJxX3M2NCh0X2xvWzJdLCB0
X2xvWzNdKTsKLSAgdV9oaVsyXSA9IHZzdWJxX3M2NCh0X2hpWzJdLCB0X2hpWzNdKTsKLSAgdV9s
b1szXSA9IHZhZGRxX3M2NCh2c3VicV9zNjQodF9sb1syXSwgdF9sb1swXSksIHRfbG9bM10pOwot
ICB1X2hpWzNdID0gdmFkZHFfczY0KHZzdWJxX3M2NCh0X2hpWzJdLCB0X2hpWzBdKSwgdF9oaVsz
XSk7Ci0KLSAgLy8gZmRjdF9yb3VuZF9zaGlmdAotICBpblswXSA9IHZjb21iaW5lX3MzMih2cnNo
cm5fbl9zNjQodV9sb1swXSwgRENUX0NPTlNUX0JJVFMpLAotICAgICAgICAgICAgICAgICAgICAg
ICB2cnNocm5fbl9zNjQodV9oaVswXSwgRENUX0NPTlNUX0JJVFMpKTsKLSAgaW5bMV0gPSB2Y29t
YmluZV9zMzIodnJzaHJuX25fczY0KHVfbG9bMV0sIERDVF9DT05TVF9CSVRTKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgdnJzaHJuX25fczY0KHVfaGlbMV0sIERDVF9DT05TVF9CSVRTKSk7Ci0g
IGluWzJdID0gdmNvbWJpbmVfczMyKHZyc2hybl9uX3M2NCh1X2xvWzJdLCBEQ1RfQ09OU1RfQklU
UyksCi0gICAgICAgICAgICAgICAgICAgICAgIHZyc2hybl9uX3M2NCh1X2hpWzJdLCBEQ1RfQ09O
U1RfQklUUykpOwotICBpblszXSA9IHZjb21iaW5lX3MzMih2cnNocm5fbl9zNjQodV9sb1szXSwg
RENUX0NPTlNUX0JJVFMpLAotICAgICAgICAgICAgICAgICAgICAgICB2cnNocm5fbl9zNjQodV9o
aVszXSwgRENUX0NPTlNUX0JJVFMpKTsKLQotICB0cmFuc3Bvc2VfczMyXzR4NCgmaW5bMF0sICZp
blsxXSwgJmluWzJdLCAmaW5bM10pOwotfQotCi12b2lkIHZwOV9oaWdoYmRfZmh0NHg0X25lb24o
Y29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3RyaWRlLCBpbnQgdHhfdHlwZSkgewotICBpbnQzMng0X3QgaW5b
NF07Ci0gIC8vIGludCBpOwotCi0gIHN3aXRjaCAodHhfdHlwZSkgewotICAgIGNhc2UgRENUX0RD
VDogdnB4X2hpZ2hiZF9mZGN0NHg0X25lb24oaW5wdXQsIG91dHB1dCwgc3RyaWRlKTsgYnJlYWs7
Ci0gICAgY2FzZSBBRFNUX0RDVDoKLSAgICAgIGhpZ2hiZF9sb2FkX2J1ZmZlcl80eDQoaW5wdXQs
IGluLCBzdHJpZGUpOwotICAgICAgaGlnaGJkX2ZhZHN0NHg0X25lb24oaW4pOwotICAgICAgdnB4
X2hpZ2hiZF9mZGN0NHg0X3Bhc3MxX25lb24oaW4pOwotICAgICAgaGlnaGJkX3dyaXRlX2J1ZmZl
cl80eDQob3V0cHV0LCBpbik7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIERDVF9BRFNUOgotICAg
ICAgaGlnaGJkX2xvYWRfYnVmZmVyXzR4NChpbnB1dCwgaW4sIHN0cmlkZSk7Ci0gICAgICB2cHhf
aGlnaGJkX2ZkY3Q0eDRfcGFzczFfbmVvbihpbik7Ci0gICAgICBoaWdoYmRfZmFkc3Q0eDRfbmVv
bihpbik7Ci0gICAgICBoaWdoYmRfd3JpdGVfYnVmZmVyXzR4NChvdXRwdXQsIGluKTsKLSAgICAg
IGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICBhc3NlcnQodHhfdHlwZSA9PSBBRFNUX0FEU1Qp
OwotICAgICAgaGlnaGJkX2xvYWRfYnVmZmVyXzR4NChpbnB1dCwgaW4sIHN0cmlkZSk7Ci0gICAg
ICBoaWdoYmRfZmFkc3Q0eDRfbmVvbihpbik7Ci0gICAgICBoaWdoYmRfZmFkc3Q0eDRfbmVvbihp
bik7Ci0gICAgICBoaWdoYmRfd3JpdGVfYnVmZmVyXzR4NChvdXRwdXQsIGluKTsKLSAgICAgIGJy
ZWFrOwotICB9Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfbG9hZF9idWZmZXJfOHg4
KGNvbnN0IGludDE2X3QgKmlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MzJ4NF90ICpsbyAvKls4XSovLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICpoaSAvKls4XSovLCBpbnQgc3RyaWRlKSB7Ci0g
IGludDE2eDhfdCBpbls4XTsKLSAgaW5bMF0gPSB2bGQxcV9zMTYoaW5wdXQgKyAwICogc3RyaWRl
KTsKLSAgaW5bMV0gPSB2bGQxcV9zMTYoaW5wdXQgKyAxICogc3RyaWRlKTsKLSAgaW5bMl0gPSB2
bGQxcV9zMTYoaW5wdXQgKyAyICogc3RyaWRlKTsKLSAgaW5bM10gPSB2bGQxcV9zMTYoaW5wdXQg
KyAzICogc3RyaWRlKTsKLSAgaW5bNF0gPSB2bGQxcV9zMTYoaW5wdXQgKyA0ICogc3RyaWRlKTsK
LSAgaW5bNV0gPSB2bGQxcV9zMTYoaW5wdXQgKyA1ICogc3RyaWRlKTsKLSAgaW5bNl0gPSB2bGQx
cV9zMTYoaW5wdXQgKyA2ICogc3RyaWRlKTsKLSAgaW5bN10gPSB2bGQxcV9zMTYoaW5wdXQgKyA3
ICogc3RyaWRlKTsKLSAgbG9bMF0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoaW5bMF0pLCAy
KTsKLSAgaGlbMF0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGluWzBdKSwgMik7Ci0gIGxv
WzFdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGluWzFdKSwgMik7Ci0gIGhpWzFdID0gdnNo
bGxfbl9zMTYodmdldF9oaWdoX3MxNihpblsxXSksIDIpOwotICBsb1syXSA9IHZzaGxsX25fczE2
KHZnZXRfbG93X3MxNihpblsyXSksIDIpOwotICBoaVsyXSA9IHZzaGxsX25fczE2KHZnZXRfaGln
aF9zMTYoaW5bMl0pLCAyKTsKLSAgbG9bM10gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoaW5b
M10pLCAyKTsKLSAgaGlbM10gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGluWzNdKSwgMik7
Ci0gIGxvWzRdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGluWzRdKSwgMik7Ci0gIGhpWzRd
ID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihpbls0XSksIDIpOwotICBsb1s1XSA9IHZzaGxs
X25fczE2KHZnZXRfbG93X3MxNihpbls1XSksIDIpOwotICBoaVs1XSA9IHZzaGxsX25fczE2KHZn
ZXRfaGlnaF9zMTYoaW5bNV0pLCAyKTsKLSAgbG9bNl0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19z
MTYoaW5bNl0pLCAyKTsKLSAgaGlbNl0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGluWzZd
KSwgMik7Ci0gIGxvWzddID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGluWzddKSwgMik7Ci0g
IGhpWzddID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihpbls3XSksIDIpOwotfQotCi0vKiBy
aWdodCBzaGlmdCBhbmQgcm91bmRpbmcKLSAqIGZpcnN0IGdldCB0aGUgc2lnbiBiaXQgKGJpdCAx
NSkuCi0gKiBJZiBiaXQgPT0gMSwgaXQncyB0aGUgc2ltcGxlIGNhc2Ugb2Ygc2hpZnRpbmcgcmln
aHQgYnkgb25lIGJpdC4KLSAqIElmIGJpdCA9PSAyLCBpdCBlc3NlbnRpYWxseSBjb21wdXRlcyB0
aGUgZXhwcmVzc2lvbjoKLSAqCi0gKiBvdXRbaiAqIDE2ICsgaV0gPSAodGVtcF9vdXRbal0gKyAx
ICsgKHRlbXBfb3V0W2pdIDwgMCkpID4+IDI7Ci0gKgotICogZm9yIGVhY2ggcm93LgotICovCi1z
dGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX3JpZ2h0X3NoaWZ0Xzh4OChpbnQzMng0X3QgKmxvLCBp
bnQzMng0X3QgKmhpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50IGJpdCkgewotICBpbnQzMng0X3Qgc2lnbl9sb1s4XSwgc2lnbl9oaVs4XTsKLSAg
c2lnbl9sb1swXSA9IHZzaHJxX25fczMyKGxvWzBdLCAzMSk7Ci0gIHNpZ25faGlbMF0gPSB2c2hy
cV9uX3MzMihoaVswXSwgMzEpOwotICBzaWduX2xvWzFdID0gdnNocnFfbl9zMzIobG9bMV0sIDMx
KTsKLSAgc2lnbl9oaVsxXSA9IHZzaHJxX25fczMyKGhpWzFdLCAzMSk7Ci0gIHNpZ25fbG9bMl0g
PSB2c2hycV9uX3MzMihsb1syXSwgMzEpOwotICBzaWduX2hpWzJdID0gdnNocnFfbl9zMzIoaGlb
Ml0sIDMxKTsKLSAgc2lnbl9sb1szXSA9IHZzaHJxX25fczMyKGxvWzNdLCAzMSk7Ci0gIHNpZ25f
aGlbM10gPSB2c2hycV9uX3MzMihoaVszXSwgMzEpOwotICBzaWduX2xvWzRdID0gdnNocnFfbl9z
MzIobG9bNF0sIDMxKTsKLSAgc2lnbl9oaVs0XSA9IHZzaHJxX25fczMyKGhpWzRdLCAzMSk7Ci0g
IHNpZ25fbG9bNV0gPSB2c2hycV9uX3MzMihsb1s1XSwgMzEpOwotICBzaWduX2hpWzVdID0gdnNo
cnFfbl9zMzIoaGlbNV0sIDMxKTsKLSAgc2lnbl9sb1s2XSA9IHZzaHJxX25fczMyKGxvWzZdLCAz
MSk7Ci0gIHNpZ25faGlbNl0gPSB2c2hycV9uX3MzMihoaVs2XSwgMzEpOwotICBzaWduX2xvWzdd
ID0gdnNocnFfbl9zMzIobG9bN10sIDMxKTsKLSAgc2lnbl9oaVs3XSA9IHZzaHJxX25fczMyKGhp
WzddLCAzMSk7Ci0KLSAgaWYgKGJpdCA9PSAyKSB7Ci0gICAgY29uc3QgaW50MzJ4NF90IGNvbnN0
X3JvdW5kaW5nID0gdmR1cHFfbl9zMzIoMSk7Ci0gICAgbG9bMF0gPSB2YWRkcV9zMzIobG9bMF0s
IGNvbnN0X3JvdW5kaW5nKTsKLSAgICBoaVswXSA9IHZhZGRxX3MzMihoaVswXSwgY29uc3Rfcm91
bmRpbmcpOwotICAgIGxvWzFdID0gdmFkZHFfczMyKGxvWzFdLCBjb25zdF9yb3VuZGluZyk7Ci0g
ICAgaGlbMV0gPSB2YWRkcV9zMzIoaGlbMV0sIGNvbnN0X3JvdW5kaW5nKTsKLSAgICBsb1syXSA9
IHZhZGRxX3MzMihsb1syXSwgY29uc3Rfcm91bmRpbmcpOwotICAgIGhpWzJdID0gdmFkZHFfczMy
KGhpWzJdLCBjb25zdF9yb3VuZGluZyk7Ci0gICAgbG9bM10gPSB2YWRkcV9zMzIobG9bM10sIGNv
bnN0X3JvdW5kaW5nKTsKLSAgICBoaVszXSA9IHZhZGRxX3MzMihoaVszXSwgY29uc3Rfcm91bmRp
bmcpOwotICAgIGxvWzRdID0gdmFkZHFfczMyKGxvWzRdLCBjb25zdF9yb3VuZGluZyk7Ci0gICAg
aGlbNF0gPSB2YWRkcV9zMzIoaGlbNF0sIGNvbnN0X3JvdW5kaW5nKTsKLSAgICBsb1s1XSA9IHZh
ZGRxX3MzMihsb1s1XSwgY29uc3Rfcm91bmRpbmcpOwotICAgIGhpWzVdID0gdmFkZHFfczMyKGhp
WzVdLCBjb25zdF9yb3VuZGluZyk7Ci0gICAgbG9bNl0gPSB2YWRkcV9zMzIobG9bNl0sIGNvbnN0
X3JvdW5kaW5nKTsKLSAgICBoaVs2XSA9IHZhZGRxX3MzMihoaVs2XSwgY29uc3Rfcm91bmRpbmcp
OwotICAgIGxvWzddID0gdmFkZHFfczMyKGxvWzddLCBjb25zdF9yb3VuZGluZyk7Ci0gICAgaGlb
N10gPSB2YWRkcV9zMzIoaGlbN10sIGNvbnN0X3JvdW5kaW5nKTsKLSAgfQotCi0gIGxvWzBdID0g
dnN1YnFfczMyKGxvWzBdLCBzaWduX2xvWzBdKTsKLSAgaGlbMF0gPSB2c3VicV9zMzIoaGlbMF0s
IHNpZ25faGlbMF0pOwotICBsb1sxXSA9IHZzdWJxX3MzMihsb1sxXSwgc2lnbl9sb1sxXSk7Ci0g
IGhpWzFdID0gdnN1YnFfczMyKGhpWzFdLCBzaWduX2hpWzFdKTsKLSAgbG9bMl0gPSB2c3VicV9z
MzIobG9bMl0sIHNpZ25fbG9bMl0pOwotICBoaVsyXSA9IHZzdWJxX3MzMihoaVsyXSwgc2lnbl9o
aVsyXSk7Ci0gIGxvWzNdID0gdnN1YnFfczMyKGxvWzNdLCBzaWduX2xvWzNdKTsKLSAgaGlbM10g
PSB2c3VicV9zMzIoaGlbM10sIHNpZ25faGlbM10pOwotICBsb1s0XSA9IHZzdWJxX3MzMihsb1s0
XSwgc2lnbl9sb1s0XSk7Ci0gIGhpWzRdID0gdnN1YnFfczMyKGhpWzRdLCBzaWduX2hpWzRdKTsK
LSAgbG9bNV0gPSB2c3VicV9zMzIobG9bNV0sIHNpZ25fbG9bNV0pOwotICBoaVs1XSA9IHZzdWJx
X3MzMihoaVs1XSwgc2lnbl9oaVs1XSk7Ci0gIGxvWzZdID0gdnN1YnFfczMyKGxvWzZdLCBzaWdu
X2xvWzZdKTsKLSAgaGlbNl0gPSB2c3VicV9zMzIoaGlbNl0sIHNpZ25faGlbNl0pOwotICBsb1s3
XSA9IHZzdWJxX3MzMihsb1s3XSwgc2lnbl9sb1s3XSk7Ci0gIGhpWzddID0gdnN1YnFfczMyKGhp
WzddLCBzaWduX2hpWzddKTsKLQotICBpZiAoYml0ID09IDEpIHsKLSAgICBsb1swXSA9IHZzaHJx
X25fczMyKGxvWzBdLCAxKTsKLSAgICBoaVswXSA9IHZzaHJxX25fczMyKGhpWzBdLCAxKTsKLSAg
ICBsb1sxXSA9IHZzaHJxX25fczMyKGxvWzFdLCAxKTsKLSAgICBoaVsxXSA9IHZzaHJxX25fczMy
KGhpWzFdLCAxKTsKLSAgICBsb1syXSA9IHZzaHJxX25fczMyKGxvWzJdLCAxKTsKLSAgICBoaVsy
XSA9IHZzaHJxX25fczMyKGhpWzJdLCAxKTsKLSAgICBsb1szXSA9IHZzaHJxX25fczMyKGxvWzNd
LCAxKTsKLSAgICBoaVszXSA9IHZzaHJxX25fczMyKGhpWzNdLCAxKTsKLSAgICBsb1s0XSA9IHZz
aHJxX25fczMyKGxvWzRdLCAxKTsKLSAgICBoaVs0XSA9IHZzaHJxX25fczMyKGhpWzRdLCAxKTsK
LSAgICBsb1s1XSA9IHZzaHJxX25fczMyKGxvWzVdLCAxKTsKLSAgICBoaVs1XSA9IHZzaHJxX25f
czMyKGhpWzVdLCAxKTsKLSAgICBsb1s2XSA9IHZzaHJxX25fczMyKGxvWzZdLCAxKTsKLSAgICBo
aVs2XSA9IHZzaHJxX25fczMyKGhpWzZdLCAxKTsKLSAgICBsb1s3XSA9IHZzaHJxX25fczMyKGxv
WzddLCAxKTsKLSAgICBoaVs3XSA9IHZzaHJxX25fczMyKGhpWzddLCAxKTsKLSAgfSBlbHNlIHsK
LSAgICBsb1swXSA9IHZzaHJxX25fczMyKGxvWzBdLCAyKTsKLSAgICBoaVswXSA9IHZzaHJxX25f
czMyKGhpWzBdLCAyKTsKLSAgICBsb1sxXSA9IHZzaHJxX25fczMyKGxvWzFdLCAyKTsKLSAgICBo
aVsxXSA9IHZzaHJxX25fczMyKGhpWzFdLCAyKTsKLSAgICBsb1syXSA9IHZzaHJxX25fczMyKGxv
WzJdLCAyKTsKLSAgICBoaVsyXSA9IHZzaHJxX25fczMyKGhpWzJdLCAyKTsKLSAgICBsb1szXSA9
IHZzaHJxX25fczMyKGxvWzNdLCAyKTsKLSAgICBoaVszXSA9IHZzaHJxX25fczMyKGhpWzNdLCAy
KTsKLSAgICBsb1s0XSA9IHZzaHJxX25fczMyKGxvWzRdLCAyKTsKLSAgICBoaVs0XSA9IHZzaHJx
X25fczMyKGhpWzRdLCAyKTsKLSAgICBsb1s1XSA9IHZzaHJxX25fczMyKGxvWzVdLCAyKTsKLSAg
ICBoaVs1XSA9IHZzaHJxX25fczMyKGhpWzVdLCAyKTsKLSAgICBsb1s2XSA9IHZzaHJxX25fczMy
KGxvWzZdLCAyKTsKLSAgICBoaVs2XSA9IHZzaHJxX25fczMyKGhpWzZdLCAyKTsKLSAgICBsb1s3
XSA9IHZzaHJxX25fczMyKGxvWzddLCAyKTsKLSAgICBoaVs3XSA9IHZzaHJxX25fczMyKGhpWzdd
LCAyKTsKLSAgfQotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX3dyaXRlX2J1ZmZlcl84
eDgodHJhbl9sb3dfdCAqb3V0cHV0LCBpbnQzMng0X3QgKmxvLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyeDRfdCAqaGksIGludCBzdHJpZGUpIHsKLSAg
dnN0MXFfczMyKG91dHB1dCArIDAgKiBzdHJpZGUsIGxvWzBdKTsKLSAgdnN0MXFfczMyKG91dHB1
dCArIDAgKiBzdHJpZGUgKyA0LCBoaVswXSk7Ci0gIHZzdDFxX3MzMihvdXRwdXQgKyAxICogc3Ry
aWRlLCBsb1sxXSk7Ci0gIHZzdDFxX3MzMihvdXRwdXQgKyAxICogc3RyaWRlICsgNCwgaGlbMV0p
OwotICB2c3QxcV9zMzIob3V0cHV0ICsgMiAqIHN0cmlkZSwgbG9bMl0pOwotICB2c3QxcV9zMzIo
b3V0cHV0ICsgMiAqIHN0cmlkZSArIDQsIGhpWzJdKTsKLSAgdnN0MXFfczMyKG91dHB1dCArIDMg
KiBzdHJpZGUsIGxvWzNdKTsKLSAgdnN0MXFfczMyKG91dHB1dCArIDMgKiBzdHJpZGUgKyA0LCBo
aVszXSk7Ci0gIHZzdDFxX3MzMihvdXRwdXQgKyA0ICogc3RyaWRlLCBsb1s0XSk7Ci0gIHZzdDFx
X3MzMihvdXRwdXQgKyA0ICogc3RyaWRlICsgNCwgaGlbNF0pOwotICB2c3QxcV9zMzIob3V0cHV0
ICsgNSAqIHN0cmlkZSwgbG9bNV0pOwotICB2c3QxcV9zMzIob3V0cHV0ICsgNSAqIHN0cmlkZSAr
IDQsIGhpWzVdKTsKLSAgdnN0MXFfczMyKG91dHB1dCArIDYgKiBzdHJpZGUsIGxvWzZdKTsKLSAg
dnN0MXFfczMyKG91dHB1dCArIDYgKiBzdHJpZGUgKyA0LCBoaVs2XSk7Ci0gIHZzdDFxX3MzMihv
dXRwdXQgKyA3ICogc3RyaWRlLCBsb1s3XSk7Ci0gIHZzdDFxX3MzMihvdXRwdXQgKyA3ICogc3Ry
aWRlICsgNCwgaGlbN10pOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX2ZhZHN0OHg4
X25lb24oaW50MzJ4NF90ICpsbyAvKls4XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDMyeDRfdCAqaGkgLypbOF0qLykgewotICBpbnQzMng0X3Qgc19sb1s4
XSwgc19oaVs4XTsKLSAgaW50MzJ4NF90IHRfbG9bOF0sIHRfaGlbOF07Ci0gIGludDMyeDRfdCB4
X2xvWzhdLCB4X2hpWzhdOwotICBpbnQ2NHgyX3QgczY0X2xvWzE2XSwgczY0X2hpWzE2XTsKLQot
ICB4X2xvWzBdID0gbG9bN107Ci0gIHhfaGlbMF0gPSBoaVs3XTsKLSAgeF9sb1sxXSA9IGxvWzBd
OwotICB4X2hpWzFdID0gaGlbMF07Ci0gIHhfbG9bMl0gPSBsb1s1XTsKLSAgeF9oaVsyXSA9IGhp
WzVdOwotICB4X2xvWzNdID0gbG9bMl07Ci0gIHhfaGlbM10gPSBoaVsyXTsKLSAgeF9sb1s0XSA9
IGxvWzNdOwotICB4X2hpWzRdID0gaGlbM107Ci0gIHhfbG9bNV0gPSBsb1s0XTsKLSAgeF9oaVs1
XSA9IGhpWzRdOwotICB4X2xvWzZdID0gbG9bMV07Ci0gIHhfaGlbNl0gPSBoaVsxXTsKLSAgeF9s
b1s3XSA9IGxvWzZdOwotICB4X2hpWzddID0gaGlbNl07Ci0KLSAgLy8gc3RhZ2UgMQotICAvLyBz
MCA9IGNvc3BpXzJfNjQgKiB4MCArIGNvc3BpXzMwXzY0ICogeDE7Ci0gIC8vIHMxID0gY29zcGlf
MzBfNjQgKiB4MCAtIGNvc3BpXzJfNjQgKiB4MTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJf
czY0X25vcm91bmQoCi0gICAgICB4X2xvWzBdLCB4X2hpWzBdLCB4X2xvWzFdLCB4X2hpWzFdLCBj
b3NwaV8yXzY0LCBjb3NwaV8zMF82NCwKLSAgICAgICZzNjRfbG9bMiAqIDBdLCAmczY0X2hpWzIg
KiAwXSwgJnM2NF9sb1syICogMV0sICZzNjRfaGlbMiAqIDFdKTsKLSAgLy8gczIgPSBjb3NwaV8x
MF82NCAqIHgyICsgY29zcGlfMjJfNjQgKiB4MzsKLSAgLy8gczMgPSBjb3NwaV8yMl82NCAqIHgy
IC0gY29zcGlfMTBfNjQgKiB4MzsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25vcm91
bmQoCi0gICAgICB4X2xvWzJdLCB4X2hpWzJdLCB4X2xvWzNdLCB4X2hpWzNdLCBjb3NwaV8xMF82
NCwgY29zcGlfMjJfNjQsCi0gICAgICAmczY0X2xvWzIgKiAyXSwgJnM2NF9oaVsyICogMl0sICZz
NjRfbG9bMiAqIDNdLCAmczY0X2hpWzIgKiAzXSk7Ci0KLSAgLy8gczQgPSBjb3NwaV8xOF82NCAq
IHg0ICsgY29zcGlfMTRfNjQgKiB4NTsKLSAgLy8gczUgPSBjb3NwaV8xNF82NCAqIHg0IC0gY29z
cGlfMThfNjQgKiB4NTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25vcm91bmQoCi0g
ICAgICB4X2xvWzRdLCB4X2hpWzRdLCB4X2xvWzVdLCB4X2hpWzVdLCBjb3NwaV8xOF82NCwgY29z
cGlfMTRfNjQsCi0gICAgICAmczY0X2xvWzIgKiA0XSwgJnM2NF9oaVsyICogNF0sICZzNjRfbG9b
MiAqIDVdLCAmczY0X2hpWzIgKiA1XSk7Ci0KLSAgLy8gczYgPSBjb3NwaV8yNl82NCAqIHg2ICsg
Y29zcGlfNl82NCAqIHg3OwotICAvLyBzNyA9IGNvc3BpXzZfNjQgKiB4NiAtIGNvc3BpXzI2XzY0
ICogeDc7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9ub3JvdW5kKAotICAgICAgeF9s
b1s2XSwgeF9oaVs2XSwgeF9sb1s3XSwgeF9oaVs3XSwgY29zcGlfMjZfNjQsIGNvc3BpXzZfNjQs
Ci0gICAgICAmczY0X2xvWzIgKiA2XSwgJnM2NF9oaVsyICogNl0sICZzNjRfbG9bMiAqIDddLCAm
czY0X2hpWzIgKiA3XSk7Ci0KLSAgLy8gZmRjdF9yb3VuZF9zaGlmdCwgaW5kaWNlcyBhcmUgZG91
YmxlZAotICB0X2xvWzBdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogMF0sICZz
NjRfbG9bMiAqIDRdKTsKLSAgdF9oaVswXSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfaGlb
MiAqIDBdLCAmczY0X2hpWzIgKiA0XSk7Ci0gIHRfbG9bMV0gPSBhZGRfczY0X3JvdW5kX25hcnJv
dygmczY0X2xvWzIgKiAxXSwgJnM2NF9sb1syICogNV0pOwotICB0X2hpWzFdID0gYWRkX3M2NF9y
b3VuZF9uYXJyb3coJnM2NF9oaVsyICogMV0sICZzNjRfaGlbMiAqIDVdKTsKLSAgdF9sb1syXSA9
IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAqIDJdLCAmczY0X2xvWzIgKiA2XSk7Ci0g
IHRfaGlbMl0gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiAyXSwgJnM2NF9oaVsy
ICogNl0pOwotICB0X2xvWzNdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogM10s
ICZzNjRfbG9bMiAqIDddKTsKLSAgdF9oaVszXSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRf
aGlbMiAqIDNdLCAmczY0X2hpWzIgKiA3XSk7Ci0gIHRfbG9bNF0gPSBzdWJfczY0X3JvdW5kX25h
cnJvdygmczY0X2xvWzIgKiAwXSwgJnM2NF9sb1syICogNF0pOwotICB0X2hpWzRdID0gc3ViX3M2
NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICogMF0sICZzNjRfaGlbMiAqIDRdKTsKLSAgdF9sb1s1
XSA9IHN1Yl9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAqIDFdLCAmczY0X2xvWzIgKiA1XSk7
Ci0gIHRfaGlbNV0gPSBzdWJfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiAxXSwgJnM2NF9o
aVsyICogNV0pOwotICB0X2xvWzZdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICog
Ml0sICZzNjRfbG9bMiAqIDZdKTsKLSAgdF9oaVs2XSA9IHN1Yl9zNjRfcm91bmRfbmFycm93KCZz
NjRfaGlbMiAqIDJdLCAmczY0X2hpWzIgKiA2XSk7Ci0gIHRfbG9bN10gPSBzdWJfczY0X3JvdW5k
X25hcnJvdygmczY0X2xvWzIgKiAzXSwgJnM2NF9sb1syICogN10pOwotICB0X2hpWzddID0gc3Vi
X3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICogM10sICZzNjRfaGlbMiAqIDddKTsKLQotICAv
LyBzdGFnZSAyCi0gIHNfbG9bMF0gPSB0X2xvWzBdOwotICBzX2hpWzBdID0gdF9oaVswXTsKLSAg
c19sb1sxXSA9IHRfbG9bMV07Ci0gIHNfaGlbMV0gPSB0X2hpWzFdOwotICBzX2xvWzJdID0gdF9s
b1syXTsKLSAgc19oaVsyXSA9IHRfaGlbMl07Ci0gIHNfbG9bM10gPSB0X2xvWzNdOwotICBzX2hp
WzNdID0gdF9oaVszXTsKLSAgLy8gczQgPSBjb3NwaV84XzY0ICogeDQgKyBjb3NwaV8yNF82NCAq
IHg1OwotICAvLyBzNSA9IGNvc3BpXzI0XzY0ICogeDQgLSBjb3NwaV84XzY0ICogeDU7Ci0gIGJ1
dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9ub3JvdW5kKAotICAgICAgdF9sb1s0XSwgdF9oaVs0
XSwgdF9sb1s1XSwgdF9oaVs1XSwgY29zcGlfOF82NCwgY29zcGlfMjRfNjQsCi0gICAgICAmczY0
X2xvWzIgKiA0XSwgJnM2NF9oaVsyICogNF0sICZzNjRfbG9bMiAqIDVdLCAmczY0X2hpWzIgKiA1
XSk7Ci0KLSAgLy8gczYgPSAtY29zcGlfMjRfNjQgKiB4NiArIGNvc3BpXzhfNjQgKiB4NzsKLSAg
Ly8gczcgPSBjb3NwaV84XzY0ICogeDYgKyBjb3NwaV8yNF82NCAqIHg3OwotICBidXR0ZXJmbHlf
dHdvX2NvZWZmX3MzMl9zNjRfbm9yb3VuZCgKLSAgICAgIHRfbG9bNl0sIHRfaGlbNl0sIHRfbG9b
N10sIHRfaGlbN10sIC1jb3NwaV8yNF82NCwgY29zcGlfOF82NCwKLSAgICAgICZzNjRfbG9bMiAq
IDZdLCAmczY0X2hpWzIgKiA2XSwgJnM2NF9sb1syICogN10sICZzNjRfaGlbMiAqIDddKTsKLQot
ICAvLyBmZGN0X3JvdW5kX3NoaWZ0Ci0gIC8vIHMwICsgczIKLSAgdF9sb1swXSA9IGFkZF9zMzJf
czY0X25hcnJvdyhzX2xvWzBdLCBzX2xvWzJdKTsKLSAgdF9oaVswXSA9IGFkZF9zMzJfczY0X25h
cnJvdyhzX2hpWzBdLCBzX2hpWzJdKTsKLSAgLy8gczAgLSBzMgotICB0X2xvWzJdID0gc3ViX3Mz
Ml9zNjRfbmFycm93KHNfbG9bMF0sIHNfbG9bMl0pOwotICB0X2hpWzJdID0gc3ViX3MzMl9zNjRf
bmFycm93KHNfaGlbMF0sIHNfaGlbMl0pOwotCi0gIC8vIHMxICsgczMKLSAgdF9sb1sxXSA9IGFk
ZF9zMzJfczY0X25hcnJvdyhzX2xvWzFdLCBzX2xvWzNdKTsKLSAgdF9oaVsxXSA9IGFkZF9zMzJf
czY0X25hcnJvdyhzX2hpWzFdLCBzX2hpWzNdKTsKLSAgLy8gczEgLSBzMwotICB0X2xvWzNdID0g
c3ViX3MzMl9zNjRfbmFycm93KHNfbG9bMV0sIHNfbG9bM10pOwotICB0X2hpWzNdID0gc3ViX3Mz
Ml9zNjRfbmFycm93KHNfaGlbMV0sIHNfaGlbM10pOwotCi0gIC8vIHM0ICsgczYKLSAgdF9sb1s0
XSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAqIDRdLCAmczY0X2xvWzIgKiA2XSk7
Ci0gIHRfaGlbNF0gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiA0XSwgJnM2NF9o
aVsyICogNl0pOwotICAvLyBzNCAtIHM2Ci0gIHRfbG9bNl0gPSBzdWJfczY0X3JvdW5kX25hcnJv
dygmczY0X2xvWzIgKiA0XSwgJnM2NF9sb1syICogNl0pOwotICB0X2hpWzZdID0gc3ViX3M2NF9y
b3VuZF9uYXJyb3coJnM2NF9oaVsyICogNF0sICZzNjRfaGlbMiAqIDZdKTsKLQotICAvLyBzNSAr
IHM3Ci0gIHRfbG9bNV0gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0X2xvWzIgKiA1XSwgJnM2
NF9sb1syICogN10pOwotICB0X2hpWzVdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsy
ICogNV0sICZzNjRfaGlbMiAqIDddKTsKLSAgLy8gczUgLSBzNwotICB0X2xvWzddID0gc3ViX3M2
NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogNV0sICZzNjRfbG9bMiAqIDddKTsKLSAgdF9oaVs3
XSA9IHN1Yl9zNjRfcm91bmRfbmFycm93KCZzNjRfaGlbMiAqIDVdLCAmczY0X2hpWzIgKiA3XSk7
Ci0KLSAgLy8gc3RhZ2UgMwotICAvLyBzMiA9IGNvc3BpXzE2XzY0ICogKHgyICsgeDMpCi0gIC8v
IHMzID0gY29zcGlfMTZfNjQgKiAoeDIgLSB4MykKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJf
ZmFzdCh0X2xvWzJdLCB0X2hpWzJdLCB0X2xvWzNdLCB0X2hpWzNdLCBjb3NwaV8xNl82NCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc19sb1syXSwgJnNfaGlbMl0sICZzX2xvWzNd
LCAmc19oaVszXSk7Ci0KLSAgLy8gczYgPSBjb3NwaV8xNl82NCAqICh4NiArIHg3KQotICAvLyBz
NyA9IGNvc3BpXzE2XzY0ICogKHg2IC0geDcpCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX2Zh
c3QodF9sb1s2XSwgdF9oaVs2XSwgdF9sb1s3XSwgdF9oaVs3XSwgY29zcGlfMTZfNjQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNfbG9bNl0sICZzX2hpWzZdLCAmc19sb1s3XSwg
JnNfaGlbN10pOwotCi0gIC8vIHgwLCB4MiwgeDQsIHg2IHBhc3MgdGhyb3VnaAotICBsb1swXSA9
IHRfbG9bMF07Ci0gIGhpWzBdID0gdF9oaVswXTsKLSAgbG9bMl0gPSBzX2xvWzZdOwotICBoaVsy
XSA9IHNfaGlbNl07Ci0gIGxvWzRdID0gc19sb1szXTsKLSAgaGlbNF0gPSBzX2hpWzNdOwotICBs
b1s2XSA9IHRfbG9bNV07Ci0gIGhpWzZdID0gdF9oaVs1XTsKLQotICBsb1sxXSA9IHZuZWdxX3Mz
Mih0X2xvWzRdKTsKLSAgaGlbMV0gPSB2bmVncV9zMzIodF9oaVs0XSk7Ci0gIGxvWzNdID0gdm5l
Z3FfczMyKHNfbG9bMl0pOwotICBoaVszXSA9IHZuZWdxX3MzMihzX2hpWzJdKTsKLSAgbG9bNV0g
PSB2bmVncV9zMzIoc19sb1s3XSk7Ci0gIGhpWzVdID0gdm5lZ3FfczMyKHNfaGlbN10pOwotICBs
b1s3XSA9IHZuZWdxX3MzMih0X2xvWzFdKTsKLSAgaGlbN10gPSB2bmVncV9zMzIodF9oaVsxXSk7
Ci0KLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsbywgaGksIGxvLCBoaSk7Ci19Ci0KLXZvaWQgdnA5
X2hpZ2hiZF9maHQ4eDhfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAqb3V0
cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsIGludCB0eF90eXBl
KSB7Ci0gIGludDMyeDRfdCBsb1s4XSwgaGlbOF07Ci0KLSAgc3dpdGNoICh0eF90eXBlKSB7Ci0g
ICAgY2FzZSBEQ1RfRENUOiB2cHhfaGlnaGJkX2ZkY3Q4eDhfbmVvbihpbnB1dCwgb3V0cHV0LCBz
dHJpZGUpOyBicmVhazsKLSAgICBjYXNlIEFEU1RfRENUOgotICAgICAgaGlnaGJkX2xvYWRfYnVm
ZmVyXzh4OChpbnB1dCwgbG8sIGhpLCBzdHJpZGUpOwotICAgICAgaGlnaGJkX2ZhZHN0OHg4X25l
b24obG8sIGhpKTsKLSAgICAgIC8vIHBhc3MxIHZhcmlhbnQgaXMgbm90IHByZWNpc2UgZW5vdWdo
Ci0gICAgICB2cHhfaGlnaGJkX2ZkY3Q4eDhfcGFzczJfbmVvbihsbywgaGkpOwotICAgICAgaGln
aGJkX3JpZ2h0X3NoaWZ0Xzh4OChsbywgaGksIDEpOwotICAgICAgaGlnaGJkX3dyaXRlX2J1ZmZl
cl84eDgob3V0cHV0LCBsbywgaGksIDgpOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEQ1RfQURT
VDoKLSAgICAgIGhpZ2hiZF9sb2FkX2J1ZmZlcl84eDgoaW5wdXQsIGxvLCBoaSwgc3RyaWRlKTsK
LSAgICAgIC8vIHBhc3MxIHZhcmlhbnQgaXMgbm90IHByZWNpc2UgZW5vdWdoCi0gICAgICB2cHhf
aGlnaGJkX2ZkY3Q4eDhfcGFzczJfbmVvbihsbywgaGkpOwotICAgICAgaGlnaGJkX2ZhZHN0OHg4
X25lb24obG8sIGhpKTsKLSAgICAgIGhpZ2hiZF9yaWdodF9zaGlmdF84eDgobG8sIGhpLCAxKTsK
LSAgICAgIGhpZ2hiZF93cml0ZV9idWZmZXJfOHg4KG91dHB1dCwgbG8sIGhpLCA4KTsKLSAgICAg
IGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICBhc3NlcnQodHhfdHlwZSA9PSBBRFNUX0FEU1Qp
OwotICAgICAgaGlnaGJkX2xvYWRfYnVmZmVyXzh4OChpbnB1dCwgbG8sIGhpLCBzdHJpZGUpOwot
ICAgICAgaGlnaGJkX2ZhZHN0OHg4X25lb24obG8sIGhpKTsKLSAgICAgIGhpZ2hiZF9mYWRzdDh4
OF9uZW9uKGxvLCBoaSk7Ci0gICAgICBoaWdoYmRfcmlnaHRfc2hpZnRfOHg4KGxvLCBoaSwgMSk7
Ci0gICAgICBoaWdoYmRfd3JpdGVfYnVmZmVyXzh4OChvdXRwdXQsIGxvLCBoaSwgOCk7Ci0gICAg
ICBicmVhazsKLSAgfQotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX2xvYWRfYnVmZmVy
XzE2eDE2KAotICAgIGNvbnN0IGludDE2X3QgKmlucHV0LCBpbnQzMng0X3QgKmxlZnQxIC8qWzE2
XSovLCBpbnQzMng0X3QgKnJpZ2h0MSAvKlsxNl0qLywKLSAgICBpbnQzMng0X3QgKmxlZnQyIC8q
WzE2XSovLCBpbnQzMng0X3QgKnJpZ2h0MiAvKlsxNl0qLywgaW50IHN0cmlkZSkgewotICAvLyBs
b2FkIGZpcnN0IDggY29sdW1ucwotICBoaWdoYmRfbG9hZF9idWZmZXJfOHg4KGlucHV0LCBsZWZ0
MSwgcmlnaHQxLCBzdHJpZGUpOwotICBoaWdoYmRfbG9hZF9idWZmZXJfOHg4KGlucHV0ICsgOCAq
IHN0cmlkZSwgbGVmdDEgKyA4LCByaWdodDEgKyA4LCBzdHJpZGUpOwotCi0gIGlucHV0ICs9IDg7
Ci0gIC8vIGxvYWQgc2Vjb25kIDggY29sdW1ucwotICBoaWdoYmRfbG9hZF9idWZmZXJfOHg4KGlu
cHV0LCBsZWZ0MiwgcmlnaHQyLCBzdHJpZGUpOwotICBoaWdoYmRfbG9hZF9idWZmZXJfOHg4KGlu
cHV0ICsgOCAqIHN0cmlkZSwgbGVmdDIgKyA4LCByaWdodDIgKyA4LCBzdHJpZGUpOwotfQotCi1z
dGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX3dyaXRlX2J1ZmZlcl8xNngxNigKLSAgICB0cmFuX2xv
d190ICpvdXRwdXQsIGludDMyeDRfdCAqbGVmdDEgLypbMTZdKi8sIGludDMyeDRfdCAqcmlnaHQx
IC8qWzE2XSovLAotICAgIGludDMyeDRfdCAqbGVmdDIgLypbMTZdKi8sIGludDMyeDRfdCAqcmln
aHQyIC8qWzE2XSovLCBpbnQgc3RyaWRlKSB7Ci0gIC8vIHdyaXRlIGZpcnN0IDggY29sdW1ucwot
ICBoaWdoYmRfd3JpdGVfYnVmZmVyXzh4OChvdXRwdXQsIGxlZnQxLCByaWdodDEsIHN0cmlkZSk7
Ci0gIGhpZ2hiZF93cml0ZV9idWZmZXJfOHg4KG91dHB1dCArIDggKiBzdHJpZGUsIGxlZnQxICsg
OCwgcmlnaHQxICsgOCwgc3RyaWRlKTsKLQotICAvLyB3cml0ZSBzZWNvbmQgOCBjb2x1bW5zCi0g
IG91dHB1dCArPSA4OwotICBoaWdoYmRfd3JpdGVfYnVmZmVyXzh4OChvdXRwdXQsIGxlZnQyLCBy
aWdodDIsIHN0cmlkZSk7Ci0gIGhpZ2hiZF93cml0ZV9idWZmZXJfOHg4KG91dHB1dCArIDggKiBz
dHJpZGUsIGxlZnQyICsgOCwgcmlnaHQyICsgOCwgc3RyaWRlKTsKLX0KLQotc3RhdGljIElOTElO
RSB2b2lkIGhpZ2hiZF9yaWdodF9zaGlmdF8xNngxNihpbnQzMng0X3QgKmxlZnQxIC8qWzE2XSov
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3Qg
KnJpZ2h0MSAvKlsxNl0qLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50MzJ4NF90ICpsZWZ0MiAvKlsxNl0qLywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICpyaWdodDIgLypbMTZdKi8sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBiaXQpIHsKLSAg
Ly8gcGVyZm9ybSByb3VuZGluZyBvcGVyYXRpb25zCi0gIGhpZ2hiZF9yaWdodF9zaGlmdF84eDgo
bGVmdDEsIHJpZ2h0MSwgYml0KTsKLSAgaGlnaGJkX3JpZ2h0X3NoaWZ0Xzh4OChsZWZ0MSArIDgs
IHJpZ2h0MSArIDgsIGJpdCk7Ci0gIGhpZ2hiZF9yaWdodF9zaGlmdF84eDgobGVmdDIsIHJpZ2h0
MiwgYml0KTsKLSAgaGlnaGJkX3JpZ2h0X3NoaWZ0Xzh4OChsZWZ0MiArIDgsIHJpZ2h0MiArIDgs
IGJpdCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGhpZ2hiZF9mZGN0MTZfOGNvbChpbnQzMng0X3QgKmxl
ZnQsIGludDMyeDRfdCAqcmlnaHQpIHsKLSAgLy8gcGVyZm9ybSAxNngxNiAxLUQgRENUIGZvciA4
IGNvbHVtbnMKLSAgaW50MzJ4NF90IHMxX2xvWzhdLCBzMV9oaVs4XSwgczJfbG9bOF0sIHMyX2hp
WzhdLCBzM19sb1s4XSwgczNfaGlbOF07Ci0gIGludDMyeDRfdCBsZWZ0OFs4XSwgcmlnaHQ4Wzhd
OwotCi0gIC8vIHN0YWdlIDEKLSAgbGVmdDhbMF0gPSB2YWRkcV9zMzIobGVmdFswXSwgbGVmdFsx
NV0pOwotICByaWdodDhbMF0gPSB2YWRkcV9zMzIocmlnaHRbMF0sIHJpZ2h0WzE1XSk7Ci0gIGxl
ZnQ4WzFdID0gdmFkZHFfczMyKGxlZnRbMV0sIGxlZnRbMTRdKTsKLSAgcmlnaHQ4WzFdID0gdmFk
ZHFfczMyKHJpZ2h0WzFdLCByaWdodFsxNF0pOwotICBsZWZ0OFsyXSA9IHZhZGRxX3MzMihsZWZ0
WzJdLCBsZWZ0WzEzXSk7Ci0gIHJpZ2h0OFsyXSA9IHZhZGRxX3MzMihyaWdodFsyXSwgcmlnaHRb
MTNdKTsKLSAgbGVmdDhbM10gPSB2YWRkcV9zMzIobGVmdFszXSwgbGVmdFsxMl0pOwotICByaWdo
dDhbM10gPSB2YWRkcV9zMzIocmlnaHRbM10sIHJpZ2h0WzEyXSk7Ci0gIGxlZnQ4WzRdID0gdmFk
ZHFfczMyKGxlZnRbNF0sIGxlZnRbMTFdKTsKLSAgcmlnaHQ4WzRdID0gdmFkZHFfczMyKHJpZ2h0
WzRdLCByaWdodFsxMV0pOwotICBsZWZ0OFs1XSA9IHZhZGRxX3MzMihsZWZ0WzVdLCBsZWZ0WzEw
XSk7Ci0gIHJpZ2h0OFs1XSA9IHZhZGRxX3MzMihyaWdodFs1XSwgcmlnaHRbMTBdKTsKLSAgbGVm
dDhbNl0gPSB2YWRkcV9zMzIobGVmdFs2XSwgbGVmdFs5XSk7Ci0gIHJpZ2h0OFs2XSA9IHZhZGRx
X3MzMihyaWdodFs2XSwgcmlnaHRbOV0pOwotICBsZWZ0OFs3XSA9IHZhZGRxX3MzMihsZWZ0Wzdd
LCBsZWZ0WzhdKTsKLSAgcmlnaHQ4WzddID0gdmFkZHFfczMyKHJpZ2h0WzddLCByaWdodFs4XSk7
Ci0KLSAgLy8gc3RlcCAxCi0gIHMxX2xvWzBdID0gdnN1YnFfczMyKGxlZnRbN10sIGxlZnRbOF0p
OwotICBzMV9oaVswXSA9IHZzdWJxX3MzMihyaWdodFs3XSwgcmlnaHRbOF0pOwotICBzMV9sb1sx
XSA9IHZzdWJxX3MzMihsZWZ0WzZdLCBsZWZ0WzldKTsKLSAgczFfaGlbMV0gPSB2c3VicV9zMzIo
cmlnaHRbNl0sIHJpZ2h0WzldKTsKLSAgczFfbG9bMl0gPSB2c3VicV9zMzIobGVmdFs1XSwgbGVm
dFsxMF0pOwotICBzMV9oaVsyXSA9IHZzdWJxX3MzMihyaWdodFs1XSwgcmlnaHRbMTBdKTsKLSAg
czFfbG9bM10gPSB2c3VicV9zMzIobGVmdFs0XSwgbGVmdFsxMV0pOwotICBzMV9oaVszXSA9IHZz
dWJxX3MzMihyaWdodFs0XSwgcmlnaHRbMTFdKTsKLSAgczFfbG9bNF0gPSB2c3VicV9zMzIobGVm
dFszXSwgbGVmdFsxMl0pOwotICBzMV9oaVs0XSA9IHZzdWJxX3MzMihyaWdodFszXSwgcmlnaHRb
MTJdKTsKLSAgczFfbG9bNV0gPSB2c3VicV9zMzIobGVmdFsyXSwgbGVmdFsxM10pOwotICBzMV9o
aVs1XSA9IHZzdWJxX3MzMihyaWdodFsyXSwgcmlnaHRbMTNdKTsKLSAgczFfbG9bNl0gPSB2c3Vi
cV9zMzIobGVmdFsxXSwgbGVmdFsxNF0pOwotICBzMV9oaVs2XSA9IHZzdWJxX3MzMihyaWdodFsx
XSwgcmlnaHRbMTRdKTsKLSAgczFfbG9bN10gPSB2c3VicV9zMzIobGVmdFswXSwgbGVmdFsxNV0p
OwotICBzMV9oaVs3XSA9IHZzdWJxX3MzMihyaWdodFswXSwgcmlnaHRbMTVdKTsKLQotICAvLyBw
YXNzMSB2YXJpYW50IGlzIG5vdCBhY2N1cmF0ZSBlbm91Z2gKLSAgdnB4X2hpZ2hiZF9mZGN0OHg4
X3Bhc3MyX25vdHJhbnNwb3NlX25lb24obGVmdDgsIHJpZ2h0OCk7Ci0KLSAgLy8gc3RlcCAyCi0g
IC8vIHN0ZXAyWzJdID0gKHN0ZXAxWzVdIC0gc3RlcDFbMl0pICogY29zcGlfMTZfNjQ7Ci0gIC8v
IHN0ZXAyWzVdID0gKHN0ZXAxWzVdICsgc3RlcDFbMl0pICogY29zcGlfMTZfNjQ7Ci0gIGJ1dHRl
cmZseV9vbmVfY29lZmZfczMyX3M2NF9uYXJyb3coczFfbG9bNV0sIHMxX2hpWzVdLCBzMV9sb1sy
XSwgczFfaGlbMl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlf
MTZfNjQsICZzMl9sb1s1XSwgJnMyX2hpWzVdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZzMl9sb1syXSwgJnMyX2hpWzJdKTsKLSAgLy8gc3RlcDJbM10gPSAoc3RlcDFb
NF0gLSBzdGVwMVszXSkgKiBjb3NwaV8xNl82NDsKLSAgLy8gc3RlcDJbNF0gPSAoc3RlcDFbNF0g
KyBzdGVwMVszXSkgKiBjb3NwaV8xNl82NDsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfczY0
X25hcnJvdyhzMV9sb1s0XSwgczFfaGlbNF0sIHMxX2xvWzNdLCBzMV9oaVszXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8xNl82NCwgJnMyX2xvWzRdLCAmczJf
aGlbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnMyX2xvWzNdLCAm
czJfaGlbM10pOwotCi0gIC8vIHN0ZXAgMwotICBzM19sb1swXSA9IHZhZGRxX3MzMihzMV9sb1sw
XSwgczJfbG9bM10pOwotICBzM19oaVswXSA9IHZhZGRxX3MzMihzMV9oaVswXSwgczJfaGlbM10p
OwotICBzM19sb1sxXSA9IHZhZGRxX3MzMihzMV9sb1sxXSwgczJfbG9bMl0pOwotICBzM19oaVsx
XSA9IHZhZGRxX3MzMihzMV9oaVsxXSwgczJfaGlbMl0pOwotICBzM19sb1syXSA9IHZzdWJxX3Mz
MihzMV9sb1sxXSwgczJfbG9bMl0pOwotICBzM19oaVsyXSA9IHZzdWJxX3MzMihzMV9oaVsxXSwg
czJfaGlbMl0pOwotICBzM19sb1szXSA9IHZzdWJxX3MzMihzMV9sb1swXSwgczJfbG9bM10pOwot
ICBzM19oaVszXSA9IHZzdWJxX3MzMihzMV9oaVswXSwgczJfaGlbM10pOwotICBzM19sb1s0XSA9
IHZzdWJxX3MzMihzMV9sb1s3XSwgczJfbG9bNF0pOwotICBzM19oaVs0XSA9IHZzdWJxX3MzMihz
MV9oaVs3XSwgczJfaGlbNF0pOwotICBzM19sb1s1XSA9IHZzdWJxX3MzMihzMV9sb1s2XSwgczJf
bG9bNV0pOwotICBzM19oaVs1XSA9IHZzdWJxX3MzMihzMV9oaVs2XSwgczJfaGlbNV0pOwotICBz
M19sb1s2XSA9IHZhZGRxX3MzMihzMV9sb1s2XSwgczJfbG9bNV0pOwotICBzM19oaVs2XSA9IHZh
ZGRxX3MzMihzMV9oaVs2XSwgczJfaGlbNV0pOwotICBzM19sb1s3XSA9IHZhZGRxX3MzMihzMV9s
b1s3XSwgczJfbG9bNF0pOwotICBzM19oaVs3XSA9IHZhZGRxX3MzMihzMV9oaVs3XSwgczJfaGlb
NF0pOwotCi0gIC8vIHN0ZXAgNAotICAvLyBzMlsxXSA9IGNvc3BpXzI0XzY0ICogczNbNl0gLSBj
b3NwaV84XzY0ICogczNbMV0KLSAgLy8gczJbNl0gPSBjb3NwaV84XzY0ICogczNbNl0gICsgY29z
cGlfMjRfNjQgKiBzM1sxXQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KHMz
X2xvWzZdLCBzM19oaVs2XSwgczNfbG9bMV0sIHMzX2hpWzFdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LCAmczJfbG9bNl0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnMyX2hpWzZdLCAmczJfbG9bMV0s
ICZzMl9oaVsxXSk7Ci0KLSAgLy8gczJbNV0gPSAgY29zcGlfOF82NCAqIHMzWzJdIC0gY29zcGlf
MjRfNjQgKiBzM1s1XQotICAvLyBzMlsyXSA9IGNvc3BpXzI0XzY0ICogczNbMl0gKyBjb3NwaV84
XzY0ICogczNbNV0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhzM19sb1sy
XSwgczNfaGlbMl0sIHMzX2xvWzVdLCBzM19oaVs1XSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgJnMyX2xvWzJdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzMl9oaVsyXSwgJnMyX2xvWzVdLCAmczJf
aGlbNV0pOwotCi0gIC8vIHN0ZXAgNQotICBzMV9sb1swXSA9IHZhZGRxX3MzMihzM19sb1swXSwg
czJfbG9bMV0pOwotICBzMV9oaVswXSA9IHZhZGRxX3MzMihzM19oaVswXSwgczJfaGlbMV0pOwot
ICBzMV9sb1sxXSA9IHZzdWJxX3MzMihzM19sb1swXSwgczJfbG9bMV0pOwotICBzMV9oaVsxXSA9
IHZzdWJxX3MzMihzM19oaVswXSwgczJfaGlbMV0pOwotICBzMV9sb1syXSA9IHZhZGRxX3MzMihz
M19sb1szXSwgczJfbG9bMl0pOwotICBzMV9oaVsyXSA9IHZhZGRxX3MzMihzM19oaVszXSwgczJf
aGlbMl0pOwotICBzMV9sb1szXSA9IHZzdWJxX3MzMihzM19sb1szXSwgczJfbG9bMl0pOwotICBz
MV9oaVszXSA9IHZzdWJxX3MzMihzM19oaVszXSwgczJfaGlbMl0pOwotICBzMV9sb1s0XSA9IHZz
dWJxX3MzMihzM19sb1s0XSwgczJfbG9bNV0pOwotICBzMV9oaVs0XSA9IHZzdWJxX3MzMihzM19o
aVs0XSwgczJfaGlbNV0pOwotICBzMV9sb1s1XSA9IHZhZGRxX3MzMihzM19sb1s0XSwgczJfbG9b
NV0pOwotICBzMV9oaVs1XSA9IHZhZGRxX3MzMihzM19oaVs0XSwgczJfaGlbNV0pOwotICBzMV9s
b1s2XSA9IHZzdWJxX3MzMihzM19sb1s3XSwgczJfbG9bNl0pOwotICBzMV9oaVs2XSA9IHZzdWJx
X3MzMihzM19oaVs3XSwgczJfaGlbNl0pOwotICBzMV9sb1s3XSA9IHZhZGRxX3MzMihzM19sb1s3
XSwgczJfbG9bNl0pOwotICBzMV9oaVs3XSA9IHZhZGRxX3MzMihzM19oaVs3XSwgczJfaGlbNl0p
OwotCi0gIC8vIHN0ZXAgNgotICAvLyBvdXRbMV0gID0gc3RlcDFbN10gKiBjb3NwaV8yXzY0ICsg
c3RlcDFbMF0gKiBjb3NwaV8zMF82NAotICAvLyBvdXRbMTVdID0gc3RlcDFbN10gKiBjb3NwaV8z
MF82NCAtIHN0ZXAxWzBdICogY29zcGlfMl82NAotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9z
NjRfbmFycm93KHMxX2xvWzddLCBzMV9oaVs3XSwgczFfbG9bMF0sIHMxX2hpWzBdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzJfNjQsIGNvc3BpXzMwXzY0LCAm
bGVmdFsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmlnaHRbMV0s
ICZsZWZ0WzE1XSwgJnJpZ2h0WzE1XSk7Ci0KLSAgLy8gb3V0WzldID0gc3RlcDFbNl0gKiBjb3Nw
aV8xOF82NCArIHN0ZXAxWzFdICogY29zcGlfMTRfNjQKLSAgLy8gb3V0WzddID0gc3RlcDFbNl0g
KiBjb3NwaV8xNF82NCAtIHN0ZXAxWzFdICogY29zcGlfMThfNjQKLSAgYnV0dGVyZmx5X3R3b19j
b2VmZl9zMzJfczY0X25hcnJvdyhzMV9sb1s2XSwgczFfaGlbNl0sIHMxX2xvWzFdLCBzMV9oaVsx
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8xOF82NCwgY29z
cGlfMTRfNjQsICZsZWZ0WzldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZyaWdodFs5XSwgJmxlZnRbN10sICZyaWdodFs3XSk7Ci0KLSAgLy8gb3V0WzVdICA9IHN0ZXAx
WzVdICogY29zcGlfMTBfNjQgKyBzdGVwMVsyXSAqIGNvc3BpXzIyXzY0Ci0gIC8vIG91dFsxMV0g
PSBzdGVwMVs1XSAqIGNvc3BpXzIyXzY0IC0gc3RlcDFbMl0gKiBjb3NwaV8xMF82NAotICBidXR0
ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KHMxX2xvWzVdLCBzMV9oaVs1XSwgczFfbG9b
Ml0sIHMxX2hpWzJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3Bp
XzEwXzY0LCBjb3NwaV8yMl82NCwgJmxlZnRbNV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnJpZ2h0WzVdLCAmbGVmdFsxMV0sICZyaWdodFsxMV0pOwotCi0gIC8vIG91
dFsxM10gPSBzdGVwMVs0XSAqIGNvc3BpXzI2XzY0ICsgc3RlcDFbM10gKiBjb3NwaV82XzY0Ci0g
IC8vIG91dFszXSAgPSBzdGVwMVs0XSAqIGNvc3BpXzZfNjQgIC0gc3RlcDFbM10gKiBjb3NwaV8y
Nl82NAotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KHMxX2xvWzRdLCBzMV9o
aVs0XSwgczFfbG9bM10sIHMxX2hpWzNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvc3BpXzI2XzY0LCBjb3NwaV82XzY0LCAmbGVmdFsxM10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnJpZ2h0WzEzXSwgJmxlZnRbM10sICZyaWdodFszXSk7
Ci0KLSAgbGVmdFswXSA9IGxlZnQ4WzBdOwotICByaWdodFswXSA9IHJpZ2h0OFswXTsKLSAgbGVm
dFsyXSA9IGxlZnQ4WzFdOwotICByaWdodFsyXSA9IHJpZ2h0OFsxXTsKLSAgbGVmdFs0XSA9IGxl
ZnQ4WzJdOwotICByaWdodFs0XSA9IHJpZ2h0OFsyXTsKLSAgbGVmdFs2XSA9IGxlZnQ4WzNdOwot
ICByaWdodFs2XSA9IHJpZ2h0OFszXTsKLSAgbGVmdFs4XSA9IGxlZnQ4WzRdOwotICByaWdodFs4
XSA9IHJpZ2h0OFs0XTsKLSAgbGVmdFsxMF0gPSBsZWZ0OFs1XTsKLSAgcmlnaHRbMTBdID0gcmln
aHQ4WzVdOwotICBsZWZ0WzEyXSA9IGxlZnQ4WzZdOwotICByaWdodFsxMl0gPSByaWdodDhbNl07
Ci0gIGxlZnRbMTRdID0gbGVmdDhbN107Ci0gIHJpZ2h0WzE0XSA9IHJpZ2h0OFs3XTsKLX0KLQot
c3RhdGljIHZvaWQgaGlnaGJkX2ZhZHN0MTZfOGNvbChpbnQzMng0X3QgKmxlZnQsIGludDMyeDRf
dCAqcmlnaHQpIHsKLSAgLy8gcGVyZm9ybSAxNngxNiAxLUQgQURTVCBmb3IgOCBjb2x1bW5zCi0g
IGludDMyeDRfdCB4X2xvWzE2XSwgeF9oaVsxNl07Ci0gIGludDMyeDRfdCBzX2xvWzE2XSwgc19o
aVsxNl07Ci0gIGludDMyeDRfdCB0X2xvWzE2XSwgdF9oaVsxNl07Ci0gIGludDY0eDJfdCBzNjRf
bG9bMzJdLCBzNjRfaGlbMzJdOwotCi0gIHhfbG9bMF0gPSBsZWZ0WzE1XTsKLSAgeF9oaVswXSA9
IHJpZ2h0WzE1XTsKLSAgeF9sb1sxXSA9IGxlZnRbMF07Ci0gIHhfaGlbMV0gPSByaWdodFswXTsK
LSAgeF9sb1syXSA9IGxlZnRbMTNdOwotICB4X2hpWzJdID0gcmlnaHRbMTNdOwotICB4X2xvWzNd
ID0gbGVmdFsyXTsKLSAgeF9oaVszXSA9IHJpZ2h0WzJdOwotICB4X2xvWzRdID0gbGVmdFsxMV07
Ci0gIHhfaGlbNF0gPSByaWdodFsxMV07Ci0gIHhfbG9bNV0gPSBsZWZ0WzRdOwotICB4X2hpWzVd
ID0gcmlnaHRbNF07Ci0gIHhfbG9bNl0gPSBsZWZ0WzldOwotICB4X2hpWzZdID0gcmlnaHRbOV07
Ci0gIHhfbG9bN10gPSBsZWZ0WzZdOwotICB4X2hpWzddID0gcmlnaHRbNl07Ci0gIHhfbG9bOF0g
PSBsZWZ0WzddOwotICB4X2hpWzhdID0gcmlnaHRbN107Ci0gIHhfbG9bOV0gPSBsZWZ0WzhdOwot
ICB4X2hpWzldID0gcmlnaHRbOF07Ci0gIHhfbG9bMTBdID0gbGVmdFs1XTsKLSAgeF9oaVsxMF0g
PSByaWdodFs1XTsKLSAgeF9sb1sxMV0gPSBsZWZ0WzEwXTsKLSAgeF9oaVsxMV0gPSByaWdodFsx
MF07Ci0gIHhfbG9bMTJdID0gbGVmdFszXTsKLSAgeF9oaVsxMl0gPSByaWdodFszXTsKLSAgeF9s
b1sxM10gPSBsZWZ0WzEyXTsKLSAgeF9oaVsxM10gPSByaWdodFsxMl07Ci0gIHhfbG9bMTRdID0g
bGVmdFsxXTsKLSAgeF9oaVsxNF0gPSByaWdodFsxXTsKLSAgeF9sb1sxNV0gPSBsZWZ0WzE0XTsK
LSAgeF9oaVsxNV0gPSByaWdodFsxNF07Ci0KLSAgLy8gc3RhZ2UgMSwgaW5kaWNlcyBhcmUgZG91
YmxlZAotICAvLyBzMCA9IGNvc3BpXzFfNjQgKiB4MCArIGNvc3BpXzMxXzY0ICogeDE7Ci0gIC8v
IHMxID0gY29zcGlfMzFfNjQgKiB4MCAtIGNvc3BpXzFfNjQgKiB4MTsKLSAgYnV0dGVyZmx5X3R3
b19jb2VmZl9zMzJfczY0X25vcm91bmQoCi0gICAgICB4X2xvWzBdLCB4X2hpWzBdLCB4X2xvWzFd
LCB4X2hpWzFdLCBjb3NwaV8xXzY0LCBjb3NwaV8zMV82NCwKLSAgICAgICZzNjRfbG9bMiAqIDBd
LCAmczY0X2hpWzIgKiAwXSwgJnM2NF9sb1syICogMV0sICZzNjRfaGlbMiAqIDFdKTsKLSAgLy8g
czIgPSBjb3NwaV81XzY0ICogeDIgKyBjb3NwaV8yN182NCAqIHgzOwotICAvLyBzMyA9IGNvc3Bp
XzI3XzY0ICogeDIgLSBjb3NwaV81XzY0ICogeDM7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMy
X3M2NF9ub3JvdW5kKAotICAgICAgeF9sb1syXSwgeF9oaVsyXSwgeF9sb1szXSwgeF9oaVszXSwg
Y29zcGlfNV82NCwgY29zcGlfMjdfNjQsCi0gICAgICAmczY0X2xvWzIgKiAyXSwgJnM2NF9oaVsy
ICogMl0sICZzNjRfbG9bMiAqIDNdLCAmczY0X2hpWzIgKiAzXSk7Ci0gIC8vIHM0ID0gY29zcGlf
OV82NCAqIHg0ICsgY29zcGlfMjNfNjQgKiB4NTsKLSAgLy8gczUgPSBjb3NwaV8yM182NCAqIHg0
IC0gY29zcGlfOV82NCAqIHg1OwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbm9yb3Vu
ZCgKLSAgICAgIHhfbG9bNF0sIHhfaGlbNF0sIHhfbG9bNV0sIHhfaGlbNV0sIGNvc3BpXzlfNjQs
IGNvc3BpXzIzXzY0LAotICAgICAgJnM2NF9sb1syICogNF0sICZzNjRfaGlbMiAqIDRdLCAmczY0
X2xvWzIgKiA1XSwgJnM2NF9oaVsyICogNV0pOwotICAvLyBzNiA9IGNvc3BpXzEzXzY0ICogeDYg
KyBjb3NwaV8xOV82NCAqIHg3OwotICAvLyBzNyA9IGNvc3BpXzE5XzY0ICogeDYgLSBjb3NwaV8x
M182NCAqIHg3OwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbm9yb3VuZCgKLSAgICAg
IHhfbG9bNl0sIHhfaGlbNl0sIHhfbG9bN10sIHhfaGlbN10sIGNvc3BpXzEzXzY0LCBjb3NwaV8x
OV82NCwKLSAgICAgICZzNjRfbG9bMiAqIDZdLCAmczY0X2hpWzIgKiA2XSwgJnM2NF9sb1syICog
N10sICZzNjRfaGlbMiAqIDddKTsKLSAgLy8gczggPSBjb3NwaV8xN182NCAqIHg4ICsgY29zcGlf
MTVfNjQgKiB4OTsKLSAgLy8gczkgPSBjb3NwaV8xNV82NCAqIHg4IC0gY29zcGlfMTdfNjQgKiB4
OTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25vcm91bmQoCi0gICAgICB4X2xvWzhd
LCB4X2hpWzhdLCB4X2xvWzldLCB4X2hpWzldLCBjb3NwaV8xN182NCwgY29zcGlfMTVfNjQsCi0g
ICAgICAmczY0X2xvWzIgKiA4XSwgJnM2NF9oaVsyICogOF0sICZzNjRfbG9bMiAqIDldLCAmczY0
X2hpWzIgKiA5XSk7Ci0gIC8vIHMxMCA9IGNvc3BpXzIxXzY0ICogeDEwICsgY29zcGlfMTFfNjQg
KiB4MTE7Ci0gIC8vIHMxMSA9IGNvc3BpXzExXzY0ICogeDEwIC0gY29zcGlfMjFfNjQgKiB4MTE7
Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9ub3JvdW5kKAotICAgICAgeF9sb1sxMF0s
IHhfaGlbMTBdLCB4X2xvWzExXSwgeF9oaVsxMV0sIGNvc3BpXzIxXzY0LCBjb3NwaV8xMV82NCwK
LSAgICAgICZzNjRfbG9bMiAqIDEwXSwgJnM2NF9oaVsyICogMTBdLCAmczY0X2xvWzIgKiAxMV0s
ICZzNjRfaGlbMiAqIDExXSk7Ci0gIC8vIHMxMiA9IGNvc3BpXzI1XzY0ICogeDEyICsgY29zcGlf
N182NCAqIHgxMzsKLSAgLy8gczEzID0gY29zcGlfN182NCAqIHgxMiAtIGNvc3BpXzI1XzY0ICog
eDEzOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbm9yb3VuZCgKLSAgICAgIHhfbG9b
MTJdLCB4X2hpWzEyXSwgeF9sb1sxM10sIHhfaGlbMTNdLCBjb3NwaV8yNV82NCwgY29zcGlfN182
NCwKLSAgICAgICZzNjRfbG9bMiAqIDEyXSwgJnM2NF9oaVsyICogMTJdLCAmczY0X2xvWzIgKiAx
M10sICZzNjRfaGlbMiAqIDEzXSk7Ci0gIC8vIHMxNCA9IGNvc3BpXzI5XzY0ICogeDE0ICsgY29z
cGlfM182NCAqIHgxNTsKLSAgLy8gczE1ID0gY29zcGlfM182NCAqIHgxNCAtIGNvc3BpXzI5XzY0
ICogeDE1OwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbm9yb3VuZCgKLSAgICAgIHhf
bG9bMTRdLCB4X2hpWzE0XSwgeF9sb1sxNV0sIHhfaGlbMTVdLCBjb3NwaV8yOV82NCwgY29zcGlf
M182NCwKLSAgICAgICZzNjRfbG9bMiAqIDE0XSwgJnM2NF9oaVsyICogMTRdLCAmczY0X2xvWzIg
KiAxNV0sICZzNjRfaGlbMiAqIDE1XSk7Ci0KLSAgLy8gZmRjdF9yb3VuZF9zaGlmdCwgaW5kaWNl
cyBhcmUgZG91YmxlZAotICB0X2xvWzBdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1sy
ICogMF0sICZzNjRfbG9bMiAqIDhdKTsKLSAgdF9oaVswXSA9IGFkZF9zNjRfcm91bmRfbmFycm93
KCZzNjRfaGlbMiAqIDBdLCAmczY0X2hpWzIgKiA4XSk7Ci0gIHRfbG9bMV0gPSBhZGRfczY0X3Jv
dW5kX25hcnJvdygmczY0X2xvWzIgKiAxXSwgJnM2NF9sb1syICogOV0pOwotICB0X2hpWzFdID0g
YWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICogMV0sICZzNjRfaGlbMiAqIDldKTsKLSAg
dF9sb1syXSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAqIDJdLCAmczY0X2xvWzIg
KiAxMF0pOwotICB0X2hpWzJdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICogMl0s
ICZzNjRfaGlbMiAqIDEwXSk7Ci0gIHRfbG9bM10gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0
X2xvWzIgKiAzXSwgJnM2NF9sb1syICogMTFdKTsKLSAgdF9oaVszXSA9IGFkZF9zNjRfcm91bmRf
bmFycm93KCZzNjRfaGlbMiAqIDNdLCAmczY0X2hpWzIgKiAxMV0pOwotICB0X2xvWzRdID0gYWRk
X3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogNF0sICZzNjRfbG9bMiAqIDEyXSk7Ci0gIHRf
aGlbNF0gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiA0XSwgJnM2NF9oaVsyICog
MTJdKTsKLSAgdF9sb1s1XSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAqIDVdLCAm
czY0X2xvWzIgKiAxM10pOwotICB0X2hpWzVdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9o
aVsyICogNV0sICZzNjRfaGlbMiAqIDEzXSk7Ci0gIHRfbG9bNl0gPSBhZGRfczY0X3JvdW5kX25h
cnJvdygmczY0X2xvWzIgKiA2XSwgJnM2NF9sb1syICogMTRdKTsKLSAgdF9oaVs2XSA9IGFkZF9z
NjRfcm91bmRfbmFycm93KCZzNjRfaGlbMiAqIDZdLCAmczY0X2hpWzIgKiAxNF0pOwotICB0X2xv
WzddID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogN10sICZzNjRfbG9bMiAqIDE1
XSk7Ci0gIHRfaGlbN10gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiA3XSwgJnM2
NF9oaVsyICogMTVdKTsKLSAgdF9sb1s4XSA9IHN1Yl9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9b
MiAqIDBdLCAmczY0X2xvWzIgKiA4XSk7Ci0gIHRfaGlbOF0gPSBzdWJfczY0X3JvdW5kX25hcnJv
dygmczY0X2hpWzIgKiAwXSwgJnM2NF9oaVsyICogOF0pOwotICB0X2xvWzldID0gc3ViX3M2NF9y
b3VuZF9uYXJyb3coJnM2NF9sb1syICogMV0sICZzNjRfbG9bMiAqIDldKTsKLSAgdF9oaVs5XSA9
IHN1Yl9zNjRfcm91bmRfbmFycm93KCZzNjRfaGlbMiAqIDFdLCAmczY0X2hpWzIgKiA5XSk7Ci0g
IHRfbG9bMTBdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogMl0sICZzNjRfbG9b
MiAqIDEwXSk7Ci0gIHRfaGlbMTBdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICog
Ml0sICZzNjRfaGlbMiAqIDEwXSk7Ci0gIHRfbG9bMTFdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3co
JnM2NF9sb1syICogM10sICZzNjRfbG9bMiAqIDExXSk7Ci0gIHRfaGlbMTFdID0gc3ViX3M2NF9y
b3VuZF9uYXJyb3coJnM2NF9oaVsyICogM10sICZzNjRfaGlbMiAqIDExXSk7Ci0gIHRfbG9bMTJd
ID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogNF0sICZzNjRfbG9bMiAqIDEyXSk7
Ci0gIHRfaGlbMTJdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICogNF0sICZzNjRf
aGlbMiAqIDEyXSk7Ci0gIHRfbG9bMTNdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1sy
ICogNV0sICZzNjRfbG9bMiAqIDEzXSk7Ci0gIHRfaGlbMTNdID0gc3ViX3M2NF9yb3VuZF9uYXJy
b3coJnM2NF9oaVsyICogNV0sICZzNjRfaGlbMiAqIDEzXSk7Ci0gIHRfbG9bMTRdID0gc3ViX3M2
NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogNl0sICZzNjRfbG9bMiAqIDE0XSk7Ci0gIHRfaGlb
MTRdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICogNl0sICZzNjRfaGlbMiAqIDE0
XSk7Ci0gIHRfbG9bMTVdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogN10sICZz
NjRfbG9bMiAqIDE1XSk7Ci0gIHRfaGlbMTVdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9o
aVsyICogN10sICZzNjRfaGlbMiAqIDE1XSk7Ci0KLSAgLy8gc3RhZ2UgMgotICBzX2xvWzBdID0g
dF9sb1swXTsKLSAgc19oaVswXSA9IHRfaGlbMF07Ci0gIHNfbG9bMV0gPSB0X2xvWzFdOwotICBz
X2hpWzFdID0gdF9oaVsxXTsKLSAgc19sb1syXSA9IHRfbG9bMl07Ci0gIHNfaGlbMl0gPSB0X2hp
WzJdOwotICBzX2xvWzNdID0gdF9sb1szXTsKLSAgc19oaVszXSA9IHRfaGlbM107Ci0gIHNfbG9b
NF0gPSB0X2xvWzRdOwotICBzX2hpWzRdID0gdF9oaVs0XTsKLSAgc19sb1s1XSA9IHRfbG9bNV07
Ci0gIHNfaGlbNV0gPSB0X2hpWzVdOwotICBzX2xvWzZdID0gdF9sb1s2XTsKLSAgc19oaVs2XSA9
IHRfaGlbNl07Ci0gIHNfbG9bN10gPSB0X2xvWzddOwotICBzX2hpWzddID0gdF9oaVs3XTsKLSAg
Ly8gczggPSB4OCAqIGNvc3BpXzRfNjQgKyB4OSAqIGNvc3BpXzI4XzY0OwotICAvLyBzOSA9IHg4
ICogY29zcGlfMjhfNjQgLSB4OSAqIGNvc3BpXzRfNjQ7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZf
czMyX3M2NF9ub3JvdW5kKAotICAgICAgdF9sb1s4XSwgdF9oaVs4XSwgdF9sb1s5XSwgdF9oaVs5
XSwgY29zcGlfNF82NCwgY29zcGlfMjhfNjQsCi0gICAgICAmczY0X2xvWzIgKiA4XSwgJnM2NF9o
aVsyICogOF0sICZzNjRfbG9bMiAqIDldLCAmczY0X2hpWzIgKiA5XSk7Ci0gIC8vIHMxMCA9IHgx
MCAqIGNvc3BpXzIwXzY0ICsgeDExICogY29zcGlfMTJfNjQ7Ci0gIC8vIHMxMSA9IHgxMCAqIGNv
c3BpXzEyXzY0IC0geDExICogY29zcGlfMjBfNjQ7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMy
X3M2NF9ub3JvdW5kKAotICAgICAgdF9sb1sxMF0sIHRfaGlbMTBdLCB0X2xvWzExXSwgdF9oaVsx
MV0sIGNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCwKLSAgICAgICZzNjRfbG9bMiAqIDEwXSwgJnM2
NF9oaVsyICogMTBdLCAmczY0X2xvWzIgKiAxMV0sICZzNjRfaGlbMiAqIDExXSk7Ci0gIC8vIHMx
MiA9IC14MTIgKiBjb3NwaV8yOF82NCArIHgxMyAqIGNvc3BpXzRfNjQ7Ci0gIC8vIHMxMyA9IHgx
MiAqIGNvc3BpXzRfNjQgKyB4MTMgKiBjb3NwaV8yOF82NDsKLSAgYnV0dGVyZmx5X3R3b19jb2Vm
Zl9zMzJfczY0X25vcm91bmQoCi0gICAgICB0X2xvWzEzXSwgdF9oaVsxM10sIHRfbG9bMTJdLCB0
X2hpWzEyXSwgY29zcGlfMjhfNjQsIGNvc3BpXzRfNjQsCi0gICAgICAmczY0X2xvWzIgKiAxM10s
ICZzNjRfaGlbMiAqIDEzXSwgJnM2NF9sb1syICogMTJdLCAmczY0X2hpWzIgKiAxMl0pOwotICAv
LyBzMTQgPSAteDE0ICogY29zcGlfMTJfNjQgKyB4MTUgKiBjb3NwaV8yMF82NDsKLSAgLy8gczE1
ID0geDE0ICogY29zcGlfMjBfNjQgKyB4MTUgKiBjb3NwaV8xMl82NDsKLSAgYnV0dGVyZmx5X3R3
b19jb2VmZl9zMzJfczY0X25vcm91bmQoCi0gICAgICB0X2xvWzE1XSwgdF9oaVsxNV0sIHRfbG9b
MTRdLCB0X2hpWzE0XSwgY29zcGlfMTJfNjQsIGNvc3BpXzIwXzY0LAotICAgICAgJnM2NF9sb1sy
ICogMTVdLCAmczY0X2hpWzIgKiAxNV0sICZzNjRfbG9bMiAqIDE0XSwgJnM2NF9oaVsyICogMTRd
KTsKLQotICAvLyBzMCArIHM0Ci0gIHRfbG9bMF0gPSBhZGRfczMyX3M2NF9uYXJyb3coc19sb1sw
XSwgc19sb1s0XSk7Ci0gIHRfaGlbMF0gPSBhZGRfczMyX3M2NF9uYXJyb3coc19oaVswXSwgc19o
aVs0XSk7Ci0gIC8vIHMxICsgczUKLSAgdF9sb1sxXSA9IGFkZF9zMzJfczY0X25hcnJvdyhzX2xv
WzFdLCBzX2xvWzVdKTsKLSAgdF9oaVsxXSA9IGFkZF9zMzJfczY0X25hcnJvdyhzX2hpWzFdLCBz
X2hpWzVdKTsKLSAgLy8gczIgKyBzNgotICB0X2xvWzJdID0gYWRkX3MzMl9zNjRfbmFycm93KHNf
bG9bMl0sIHNfbG9bNl0pOwotICB0X2hpWzJdID0gYWRkX3MzMl9zNjRfbmFycm93KHNfaGlbMl0s
IHNfaGlbNl0pOwotICAvLyBzMyArIHM3Ci0gIHRfbG9bM10gPSBhZGRfczMyX3M2NF9uYXJyb3co
c19sb1szXSwgc19sb1s3XSk7Ci0gIHRfaGlbM10gPSBhZGRfczMyX3M2NF9uYXJyb3coc19oaVsz
XSwgc19oaVs3XSk7Ci0KLSAgLy8gczAgLSBzNAotICB0X2xvWzRdID0gc3ViX3MzMl9zNjRfbmFy
cm93KHNfbG9bMF0sIHNfbG9bNF0pOwotICB0X2hpWzRdID0gc3ViX3MzMl9zNjRfbmFycm93KHNf
aGlbMF0sIHNfaGlbNF0pOwotICAvLyBzMSAtIHM1Ci0gIHRfbG9bNV0gPSBzdWJfczMyX3M2NF9u
YXJyb3coc19sb1sxXSwgc19sb1s1XSk7Ci0gIHRfaGlbNV0gPSBzdWJfczMyX3M2NF9uYXJyb3co
c19oaVsxXSwgc19oaVs1XSk7Ci0gIC8vIHMyIC0gczYKLSAgdF9sb1s2XSA9IHN1Yl9zMzJfczY0
X25hcnJvdyhzX2xvWzJdLCBzX2xvWzZdKTsKLSAgdF9oaVs2XSA9IHN1Yl9zMzJfczY0X25hcnJv
dyhzX2hpWzJdLCBzX2hpWzZdKTsKLSAgLy8gczMgLSBzNwotICB0X2xvWzddID0gc3ViX3MzMl9z
NjRfbmFycm93KHNfbG9bM10sIHNfbG9bN10pOwotICB0X2hpWzddID0gc3ViX3MzMl9zNjRfbmFy
cm93KHNfaGlbM10sIHNfaGlbN10pOwotCi0gIC8vIGZkY3Rfcm91bmRfc2hpZnQoKQotICAvLyBz
OCArIHMxMgotICB0X2xvWzhdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogOF0s
ICZzNjRfbG9bMiAqIDEyXSk7Ci0gIHRfaGlbOF0gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0
X2hpWzIgKiA4XSwgJnM2NF9oaVsyICogMTJdKTsKLSAgLy8gczkgKyBzMTMKLSAgdF9sb1s5XSA9
IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAqIDldLCAmczY0X2xvWzIgKiAxM10pOwot
ICB0X2hpWzldID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9oaVsyICogOV0sICZzNjRfaGlb
MiAqIDEzXSk7Ci0gIC8vIHMxMCArIHMxNAotICB0X2xvWzEwXSA9IGFkZF9zNjRfcm91bmRfbmFy
cm93KCZzNjRfbG9bMiAqIDEwXSwgJnM2NF9sb1syICogMTRdKTsKLSAgdF9oaVsxMF0gPSBhZGRf
czY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiAxMF0sICZzNjRfaGlbMiAqIDE0XSk7Ci0gIC8v
IHMxMSArIHMxNQotICB0X2xvWzExXSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAq
IDExXSwgJnM2NF9sb1syICogMTVdKTsKLSAgdF9oaVsxMV0gPSBhZGRfczY0X3JvdW5kX25hcnJv
dygmczY0X2hpWzIgKiAxMV0sICZzNjRfaGlbMiAqIDE1XSk7Ci0KLSAgLy8gczggLSBzMTIKLSAg
dF9sb1sxMl0gPSBzdWJfczY0X3JvdW5kX25hcnJvdygmczY0X2xvWzIgKiA4XSwgJnM2NF9sb1sy
ICogMTJdKTsKLSAgdF9oaVsxMl0gPSBzdWJfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiA4
XSwgJnM2NF9oaVsyICogMTJdKTsKLSAgLy8gczkgLSBzMTMKLSAgdF9sb1sxM10gPSBzdWJfczY0
X3JvdW5kX25hcnJvdygmczY0X2xvWzIgKiA5XSwgJnM2NF9sb1syICogMTNdKTsKLSAgdF9oaVsx
M10gPSBzdWJfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiA5XSwgJnM2NF9oaVsyICogMTNd
KTsKLSAgLy8gczEwIC0gczE0Ci0gIHRfbG9bMTRdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2
NF9sb1syICogMTBdLCAmczY0X2xvWzIgKiAxNF0pOwotICB0X2hpWzE0XSA9IHN1Yl9zNjRfcm91
bmRfbmFycm93KCZzNjRfaGlbMiAqIDEwXSwgJnM2NF9oaVsyICogMTRdKTsKLSAgLy8gczExIC0g
czE1Ci0gIHRfbG9bMTVdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogMTFdLCAm
czY0X2xvWzIgKiAxNV0pOwotICB0X2hpWzE1XSA9IHN1Yl9zNjRfcm91bmRfbmFycm93KCZzNjRf
aGlbMiAqIDExXSwgJnM2NF9oaVsyICogMTVdKTsKLQotICAvLyBzdGFnZSAzCi0gIHNfbG9bMF0g
PSB0X2xvWzBdOwotICBzX2hpWzBdID0gdF9oaVswXTsKLSAgc19sb1sxXSA9IHRfbG9bMV07Ci0g
IHNfaGlbMV0gPSB0X2hpWzFdOwotICBzX2xvWzJdID0gdF9sb1syXTsKLSAgc19oaVsyXSA9IHRf
aGlbMl07Ci0gIHNfbG9bM10gPSB0X2xvWzNdOwotICBzX2hpWzNdID0gdF9oaVszXTsKLSAgLy8g
czQgPSB4NCAqIGNvc3BpXzhfNjQgKyB4NSAqIGNvc3BpXzI0XzY0OwotICAvLyBzNSA9IHg0ICog
Y29zcGlfMjRfNjQgLSB4NSAqIGNvc3BpXzhfNjQ7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMy
X3M2NF9ub3JvdW5kKAotICAgICAgdF9sb1s0XSwgdF9oaVs0XSwgdF9sb1s1XSwgdF9oaVs1XSwg
Y29zcGlfOF82NCwgY29zcGlfMjRfNjQsCi0gICAgICAmczY0X2xvWzIgKiA0XSwgJnM2NF9oaVsy
ICogNF0sICZzNjRfbG9bMiAqIDVdLCAmczY0X2hpWzIgKiA1XSk7Ci0gIC8vIHM2ID0gLXg2ICog
Y29zcGlfMjRfNjQgKyB4NyAqIGNvc3BpXzhfNjQ7Ci0gIC8vIHM3ID0geDYgKiBjb3NwaV84XzY0
ICsgeDcgKiBjb3NwaV8yNF82NDsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25vcm91
bmQoCi0gICAgICB0X2xvWzddLCB0X2hpWzddLCB0X2xvWzZdLCB0X2hpWzZdLCBjb3NwaV8yNF82
NCwgY29zcGlfOF82NCwKLSAgICAgICZzNjRfbG9bMiAqIDddLCAmczY0X2hpWzIgKiA3XSwgJnM2
NF9sb1syICogNl0sICZzNjRfaGlbMiAqIDZdKTsKLSAgc19sb1s4XSA9IHRfbG9bOF07Ci0gIHNf
aGlbOF0gPSB0X2hpWzhdOwotICBzX2xvWzldID0gdF9sb1s5XTsKLSAgc19oaVs5XSA9IHRfaGlb
OV07Ci0gIHNfbG9bMTBdID0gdF9sb1sxMF07Ci0gIHNfaGlbMTBdID0gdF9oaVsxMF07Ci0gIHNf
bG9bMTFdID0gdF9sb1sxMV07Ci0gIHNfaGlbMTFdID0gdF9oaVsxMV07Ci0gIC8vIHMxMiA9IHgx
MiAqIGNvc3BpXzhfNjQgKyB4MTMgKiBjb3NwaV8yNF82NDsKLSAgLy8gczEzID0geDEyICogY29z
cGlfMjRfNjQgLSB4MTMgKiBjb3NwaV84XzY0OwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9z
NjRfbm9yb3VuZCgKLSAgICAgIHRfbG9bMTJdLCB0X2hpWzEyXSwgdF9sb1sxM10sIHRfaGlbMTNd
LCBjb3NwaV84XzY0LCBjb3NwaV8yNF82NCwKLSAgICAgICZzNjRfbG9bMiAqIDEyXSwgJnM2NF9o
aVsyICogMTJdLCAmczY0X2xvWzIgKiAxM10sICZzNjRfaGlbMiAqIDEzXSk7Ci0gIC8vIHMxNCA9
IC14MTQgKiBjb3NwaV8yNF82NCArIHgxNSAqIGNvc3BpXzhfNjQ7Ci0gIC8vIHMxNSA9IHgxNCAq
IGNvc3BpXzhfNjQgKyB4MTUgKiBjb3NwaV8yNF82NDsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9z
MzJfczY0X25vcm91bmQoCi0gICAgICB0X2xvWzE1XSwgdF9oaVsxNV0sIHRfbG9bMTRdLCB0X2hp
WzE0XSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsCi0gICAgICAmczY0X2xvWzIgKiAxNV0sICZz
NjRfaGlbMiAqIDE1XSwgJnM2NF9sb1syICogMTRdLCAmczY0X2hpWzIgKiAxNF0pOwotCi0gIC8v
IHMwICsgczIKLSAgdF9sb1swXSA9IGFkZF9zMzJfczY0X25hcnJvdyhzX2xvWzBdLCBzX2xvWzJd
KTsKLSAgdF9oaVswXSA9IGFkZF9zMzJfczY0X25hcnJvdyhzX2hpWzBdLCBzX2hpWzJdKTsKLSAg
Ly8gczEgKyBzMwotICB0X2xvWzFdID0gYWRkX3MzMl9zNjRfbmFycm93KHNfbG9bMV0sIHNfbG9b
M10pOwotICB0X2hpWzFdID0gYWRkX3MzMl9zNjRfbmFycm93KHNfaGlbMV0sIHNfaGlbM10pOwot
ICAvLyBzMCAtIHMyCi0gIHRfbG9bMl0gPSBzdWJfczMyX3M2NF9uYXJyb3coc19sb1swXSwgc19s
b1syXSk7Ci0gIHRfaGlbMl0gPSBzdWJfczMyX3M2NF9uYXJyb3coc19oaVswXSwgc19oaVsyXSk7
Ci0gIC8vIHMxIC0gczMKLSAgdF9sb1szXSA9IHN1Yl9zMzJfczY0X25hcnJvdyhzX2xvWzFdLCBz
X2xvWzNdKTsKLSAgdF9oaVszXSA9IHN1Yl9zMzJfczY0X25hcnJvdyhzX2hpWzFdLCBzX2hpWzNd
KTsKLSAgLy8gZmRjdF9yb3VuZF9zaGlmdCgpCi0gIC8vIHM0ICsgczYKLSAgdF9sb1s0XSA9IGFk
ZF9zNjRfcm91bmRfbmFycm93KCZzNjRfbG9bMiAqIDRdLCAmczY0X2xvWzIgKiA2XSk7Ci0gIHRf
aGlbNF0gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiA0XSwgJnM2NF9oaVsyICog
Nl0pOwotICAvLyBzNSArIHM3Ci0gIHRfbG9bNV0gPSBhZGRfczY0X3JvdW5kX25hcnJvdygmczY0
X2xvWzIgKiA1XSwgJnM2NF9sb1syICogN10pOwotICB0X2hpWzVdID0gYWRkX3M2NF9yb3VuZF9u
YXJyb3coJnM2NF9oaVsyICogNV0sICZzNjRfaGlbMiAqIDddKTsKLSAgLy8gczQgLSBzNgotICB0
X2xvWzZdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogNF0sICZzNjRfbG9bMiAq
IDZdKTsKLSAgdF9oaVs2XSA9IHN1Yl9zNjRfcm91bmRfbmFycm93KCZzNjRfaGlbMiAqIDRdLCAm
czY0X2hpWzIgKiA2XSk7Ci0gIC8vIHM1IC0gczcKLSAgdF9sb1s3XSA9IHN1Yl9zNjRfcm91bmRf
bmFycm93KCZzNjRfbG9bMiAqIDVdLCAmczY0X2xvWzIgKiA3XSk7Ci0gIHRfaGlbN10gPSBzdWJf
czY0X3JvdW5kX25hcnJvdygmczY0X2hpWzIgKiA1XSwgJnM2NF9oaVsyICogN10pOwotICAvLyBz
OCArIHMxMAotICB0X2xvWzhdID0gYWRkX3MzMl9zNjRfbmFycm93KHNfbG9bOF0sIHNfbG9bMTBd
KTsKLSAgdF9oaVs4XSA9IGFkZF9zMzJfczY0X25hcnJvdyhzX2hpWzhdLCBzX2hpWzEwXSk7Ci0g
IC8vIHM5ICsgczExCi0gIHRfbG9bOV0gPSBhZGRfczMyX3M2NF9uYXJyb3coc19sb1s5XSwgc19s
b1sxMV0pOwotICB0X2hpWzldID0gYWRkX3MzMl9zNjRfbmFycm93KHNfaGlbOV0sIHNfaGlbMTFd
KTsKLSAgLy8gczggLSBzMTAKLSAgdF9sb1sxMF0gPSBzdWJfczMyX3M2NF9uYXJyb3coc19sb1s4
XSwgc19sb1sxMF0pOwotICB0X2hpWzEwXSA9IHN1Yl9zMzJfczY0X25hcnJvdyhzX2hpWzhdLCBz
X2hpWzEwXSk7Ci0gIC8vIHM5IC0gczExCi0gIHRfbG9bMTFdID0gc3ViX3MzMl9zNjRfbmFycm93
KHNfbG9bOV0sIHNfbG9bMTFdKTsKLSAgdF9oaVsxMV0gPSBzdWJfczMyX3M2NF9uYXJyb3coc19o
aVs5XSwgc19oaVsxMV0pOwotICAvLyBmZGN0X3JvdW5kX3NoaWZ0KCkKLSAgLy8gczEyICsgczE0
Ci0gIHRfbG9bMTJdID0gYWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogMTJdLCAmczY0
X2xvWzIgKiAxNF0pOwotICB0X2hpWzEyXSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfaGlb
MiAqIDEyXSwgJnM2NF9oaVsyICogMTRdKTsKLSAgLy8gczEzICsgczE1Ci0gIHRfbG9bMTNdID0g
YWRkX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1syICogMTNdLCAmczY0X2xvWzIgKiAxNV0pOwot
ICB0X2hpWzEzXSA9IGFkZF9zNjRfcm91bmRfbmFycm93KCZzNjRfaGlbMiAqIDEzXSwgJnM2NF9o
aVsyICogMTVdKTsKLSAgLy8gczEyIC0gczE0Ci0gIHRfbG9bMTRdID0gc3ViX3M2NF9yb3VuZF9u
YXJyb3coJnM2NF9sb1syICogMTJdLCAmczY0X2xvWzIgKiAxNF0pOwotICB0X2hpWzE0XSA9IHN1
Yl9zNjRfcm91bmRfbmFycm93KCZzNjRfaGlbMiAqIDEyXSwgJnM2NF9oaVsyICogMTRdKTsKLSAg
Ly8gczEzIC0gczE1Ci0gIHRfbG9bMTVdID0gc3ViX3M2NF9yb3VuZF9uYXJyb3coJnM2NF9sb1sy
ICogMTNdLCAmczY0X2xvWzIgKiAxNV0pOwotICB0X2hpWzE1XSA9IHN1Yl9zNjRfcm91bmRfbmFy
cm93KCZzNjRfaGlbMiAqIDEzXSwgJnM2NF9oaVsyICogMTVdKTsKLQotICAvLyBzdGFnZSA0LCB3
aXRoIGZkY3Rfcm91bmRfc2hpZnQKLSAgLy8gczIgPSAoLWNvc3BpXzE2XzY0KSAqICh4MiArIHgz
KTsKLSAgLy8gczMgPSBjb3NwaV8xNl82NCAqICh4MiAtIHgzKTsKLSAgYnV0dGVyZmx5X29uZV9j
b2VmZl9zMzJfczY0X25hcnJvdyh0X2xvWzNdLCB0X2hpWzNdLCB0X2xvWzJdLCB0X2hpWzJdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1jb3NwaV8xNl82NCwgJnhfbG9b
Ml0sICZ4X2hpWzJdLCAmeF9sb1szXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmeF9oaVszXSk7Ci0gIC8vIHM2ID0gY29zcGlfMTZfNjQgKiAoeDYgKyB4Nyk7Ci0gIC8v
IHM3ID0gY29zcGlfMTZfNjQgKiAoLXg2ICsgeDcpOwotICBidXR0ZXJmbHlfb25lX2NvZWZmX3Mz
Ml9zNjRfbmFycm93KHRfbG9bN10sIHRfaGlbN10sIHRfbG9bNl0sIHRfaGlbNl0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMTZfNjQsICZ4X2xvWzZdLCAmeF9o
aVs2XSwgJnhfbG9bN10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnhf
aGlbN10pOwotICAvLyBzMTAgPSBjb3NwaV8xNl82NCAqICh4MTAgKyB4MTEpOwotICAvLyBzMTEg
PSBjb3NwaV8xNl82NCAqICgteDEwICsgeDExKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJf
czY0X25hcnJvdyh0X2xvWzExXSwgdF9oaVsxMV0sIHRfbG9bMTBdLCB0X2hpWzEwXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8xNl82NCwgJnhfbG9bMTBdLCAm
eF9oaVsxMF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnhfbG9bMTFd
LCAmeF9oaVsxMV0pOwotICAvLyBzMTQgPSAoLWNvc3BpXzE2XzY0KSAqICh4MTQgKyB4MTUpOwot
ICAvLyBzMTUgPSBjb3NwaV8xNl82NCAqICh4MTQgLSB4MTUpOwotICBidXR0ZXJmbHlfb25lX2Nv
ZWZmX3MzMl9zNjRfbmFycm93KHRfbG9bMTVdLCB0X2hpWzE1XSwgdF9sb1sxNF0sIHRfaGlbMTRd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1jb3NwaV8xNl82NCwgJnhf
bG9bMTRdLCAmeF9oaVsxNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JnhfbG9bMTVdLCAmeF9oaVsxNV0pOwotCi0gIC8vIEp1c3QgY29weSB4MCwgeDEsIHg0LCB4NSwg
eDgsIHg5LCB4MTIsIHgxMwotICB4X2xvWzBdID0gdF9sb1swXTsKLSAgeF9oaVswXSA9IHRfaGlb
MF07Ci0gIHhfbG9bMV0gPSB0X2xvWzFdOwotICB4X2hpWzFdID0gdF9oaVsxXTsKLSAgeF9sb1s0
XSA9IHRfbG9bNF07Ci0gIHhfaGlbNF0gPSB0X2hpWzRdOwotICB4X2xvWzVdID0gdF9sb1s1XTsK
LSAgeF9oaVs1XSA9IHRfaGlbNV07Ci0gIHhfbG9bOF0gPSB0X2xvWzhdOwotICB4X2hpWzhdID0g
dF9oaVs4XTsKLSAgeF9sb1s5XSA9IHRfbG9bOV07Ci0gIHhfaGlbOV0gPSB0X2hpWzldOwotICB4
X2xvWzEyXSA9IHRfbG9bMTJdOwotICB4X2hpWzEyXSA9IHRfaGlbMTJdOwotICB4X2xvWzEzXSA9
IHRfbG9bMTNdOwotICB4X2hpWzEzXSA9IHRfaGlbMTNdOwotCi0gIGxlZnRbMF0gPSB4X2xvWzBd
OwotICByaWdodFswXSA9IHhfaGlbMF07Ci0gIGxlZnRbMV0gPSB2bmVncV9zMzIoeF9sb1s4XSk7
Ci0gIHJpZ2h0WzFdID0gdm5lZ3FfczMyKHhfaGlbOF0pOwotICBsZWZ0WzJdID0geF9sb1sxMl07
Ci0gIHJpZ2h0WzJdID0geF9oaVsxMl07Ci0gIGxlZnRbM10gPSB2bmVncV9zMzIoeF9sb1s0XSk7
Ci0gIHJpZ2h0WzNdID0gdm5lZ3FfczMyKHhfaGlbNF0pOwotICBsZWZ0WzRdID0geF9sb1s2XTsK
LSAgcmlnaHRbNF0gPSB4X2hpWzZdOwotICBsZWZ0WzVdID0geF9sb1sxNF07Ci0gIHJpZ2h0WzVd
ID0geF9oaVsxNF07Ci0gIGxlZnRbNl0gPSB4X2xvWzEwXTsKLSAgcmlnaHRbNl0gPSB4X2hpWzEw
XTsKLSAgbGVmdFs3XSA9IHhfbG9bMl07Ci0gIHJpZ2h0WzddID0geF9oaVsyXTsKLSAgbGVmdFs4
XSA9IHhfbG9bM107Ci0gIHJpZ2h0WzhdID0geF9oaVszXTsKLSAgbGVmdFs5XSA9IHhfbG9bMTFd
OwotICByaWdodFs5XSA9IHhfaGlbMTFdOwotICBsZWZ0WzEwXSA9IHhfbG9bMTVdOwotICByaWdo
dFsxMF0gPSB4X2hpWzE1XTsKLSAgbGVmdFsxMV0gPSB4X2xvWzddOwotICByaWdodFsxMV0gPSB4
X2hpWzddOwotICBsZWZ0WzEyXSA9IHhfbG9bNV07Ci0gIHJpZ2h0WzEyXSA9IHhfaGlbNV07Ci0g
IGxlZnRbMTNdID0gdm5lZ3FfczMyKHhfbG9bMTNdKTsKLSAgcmlnaHRbMTNdID0gdm5lZ3FfczMy
KHhfaGlbMTNdKTsKLSAgbGVmdFsxNF0gPSB4X2xvWzldOwotICByaWdodFsxNF0gPSB4X2hpWzld
OwotICBsZWZ0WzE1XSA9IHZuZWdxX3MzMih4X2xvWzFdKTsKLSAgcmlnaHRbMTVdID0gdm5lZ3Ff
czMyKHhfaGlbMV0pOwotfQotCi1zdGF0aWMgdm9pZCBoaWdoYmRfZmRjdDE2eDE2X25lb24oaW50
MzJ4NF90ICpsZWZ0MSwgaW50MzJ4NF90ICpyaWdodDEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MzJ4NF90ICpsZWZ0MiwgaW50MzJ4NF90ICpyaWdodDIpIHsKLSAgLy8g
TGVmdCBoYWxmLgotICBoaWdoYmRfZmRjdDE2Xzhjb2wobGVmdDEsIHJpZ2h0MSk7Ci0gIC8vIFJp
Z2h0IGhhbGYuCi0gIGhpZ2hiZF9mZGN0MTZfOGNvbChsZWZ0MiwgcmlnaHQyKTsKLSAgdHJhbnNw
b3NlX3MzMl8xNngxNihsZWZ0MSwgcmlnaHQxLCBsZWZ0MiwgcmlnaHQyKTsKLX0KLQotc3RhdGlj
IHZvaWQgaGlnaGJkX2ZhZHN0MTZ4MTZfbmVvbihpbnQzMng0X3QgKmxlZnQxLCBpbnQzMng0X3Qg
KnJpZ2h0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICps
ZWZ0MiwgaW50MzJ4NF90ICpyaWdodDIpIHsKLSAgLy8gTGVmdCBoYWxmLgotICBoaWdoYmRfZmFk
c3QxNl84Y29sKGxlZnQxLCByaWdodDEpOwotICAvLyBSaWdodCBoYWxmLgotICBoaWdoYmRfZmFk
c3QxNl84Y29sKGxlZnQyLCByaWdodDIpOwotICB0cmFuc3Bvc2VfczMyXzE2eDE2KGxlZnQxLCBy
aWdodDEsIGxlZnQyLCByaWdodDIpOwotfQotCi12b2lkIHZwOV9oaWdoYmRfZmh0MTZ4MTZfbmVv
bihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAqb3V0cHV0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSwgaW50IHR4X3R5cGUpIHsKLSAgaW50MzJ4NF90
IGxlZnQxWzE2XSwgcmlnaHQxWzE2XSwgbGVmdDJbMTZdLCByaWdodDJbMTZdOwotCi0gIHN3aXRj
aCAodHhfdHlwZSkgewotICAgIGNhc2UgRENUX0RDVDogdnB4X2hpZ2hiZF9mZGN0MTZ4MTZfbmVv
bihpbnB1dCwgb3V0cHV0LCBzdHJpZGUpOyBicmVhazsKLSAgICBjYXNlIEFEU1RfRENUOgotICAg
ICAgaGlnaGJkX2xvYWRfYnVmZmVyXzE2eDE2KGlucHV0LCBsZWZ0MSwgcmlnaHQxLCBsZWZ0Miwg
cmlnaHQyLCBzdHJpZGUpOwotICAgICAgaGlnaGJkX2ZhZHN0MTZ4MTZfbmVvbihsZWZ0MSwgcmln
aHQxLCBsZWZ0MiwgcmlnaHQyKTsKLSAgICAgIGhpZ2hiZF93cml0ZV9idWZmZXJfMTZ4MTYob3V0
cHV0LCBsZWZ0MSwgcmlnaHQxLCBsZWZ0MiwgcmlnaHQyLCAxNik7Ci0gICAgICBoaWdoYmRfcmln
aHRfc2hpZnRfMTZ4MTYobGVmdDEsIHJpZ2h0MSwgbGVmdDIsIHJpZ2h0MiwgMik7Ci0gICAgICBo
aWdoYmRfZmRjdDE2eDE2X25lb24obGVmdDEsIHJpZ2h0MSwgbGVmdDIsIHJpZ2h0Mik7Ci0gICAg
ICBoaWdoYmRfd3JpdGVfYnVmZmVyXzE2eDE2KG91dHB1dCwgbGVmdDEsIHJpZ2h0MSwgbGVmdDIs
IHJpZ2h0MiwgMTYpOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEQ1RfQURTVDoKLSAgICAgIGhp
Z2hiZF9sb2FkX2J1ZmZlcl8xNngxNihpbnB1dCwgbGVmdDEsIHJpZ2h0MSwgbGVmdDIsIHJpZ2h0
Miwgc3RyaWRlKTsKLSAgICAgIGhpZ2hiZF9mZGN0MTZ4MTZfbmVvbihsZWZ0MSwgcmlnaHQxLCBs
ZWZ0MiwgcmlnaHQyKTsKLSAgICAgIGhpZ2hiZF9yaWdodF9zaGlmdF8xNngxNihsZWZ0MSwgcmln
aHQxLCBsZWZ0MiwgcmlnaHQyLCAyKTsKLSAgICAgIGhpZ2hiZF9mYWRzdDE2eDE2X25lb24obGVm
dDEsIHJpZ2h0MSwgbGVmdDIsIHJpZ2h0Mik7Ci0gICAgICBoaWdoYmRfd3JpdGVfYnVmZmVyXzE2
eDE2KG91dHB1dCwgbGVmdDEsIHJpZ2h0MSwgbGVmdDIsIHJpZ2h0MiwgMTYpOwotICAgICAgYnJl
YWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgIGFzc2VydCh0eF90eXBlID09IEFEU1RfQURTVCk7Ci0g
ICAgICBoaWdoYmRfbG9hZF9idWZmZXJfMTZ4MTYoaW5wdXQsIGxlZnQxLCByaWdodDEsIGxlZnQy
LCByaWdodDIsIHN0cmlkZSk7Ci0gICAgICBoaWdoYmRfZmFkc3QxNngxNl9uZW9uKGxlZnQxLCBy
aWdodDEsIGxlZnQyLCByaWdodDIpOwotICAgICAgaGlnaGJkX3JpZ2h0X3NoaWZ0XzE2eDE2KGxl
ZnQxLCByaWdodDEsIGxlZnQyLCByaWdodDIsIDIpOwotICAgICAgaGlnaGJkX2ZhZHN0MTZ4MTZf
bmVvbihsZWZ0MSwgcmlnaHQxLCBsZWZ0MiwgcmlnaHQyKTsKLSAgICAgIGhpZ2hiZF93cml0ZV9i
dWZmZXJfMTZ4MTYob3V0cHV0LCBsZWZ0MSwgcmlnaHQxLCBsZWZ0MiwgcmlnaHQyLCAxNik7Ci0g
ICAgICBicmVhazsKLSAgfQotfQotCi0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRI
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kZW5vaXNl
cl9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kZW5vaXNlcl9u
ZW9uLmMKaW5kZXggZDYzMWNkNDM3ZGM5Li40MTUyZTdiYjVkNWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2Rlbm9pc2VyX25lb24uYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kZW5vaXNlcl9uZW9uLmMKQEAgLTIxLDkg
KzIxLDYgQEAKIAogLy8gQ29tcHV0ZSB0aGUgc3VtIG9mIGFsbCBwaXhlbCBkaWZmZXJlbmNlcyBv
ZiB0aGlzIE1CLgogc3RhdGljIElOTElORSBpbnQgaG9yaXpvbnRhbF9hZGRfczh4MTYoY29uc3Qg
aW50OHgxNl90IHZfc3VtX2RpZmZfdG90YWwpIHsKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gIHJl
dHVybiB2YWRkbHZxX3M4KHZfc3VtX2RpZmZfdG90YWwpOwotI2Vsc2UKICAgY29uc3QgaW50MTZ4
OF90IGZlX2RjX2JhXzk4Xzc2XzU0XzMyXzEwID0gdnBhZGRscV9zOCh2X3N1bV9kaWZmX3RvdGFs
KTsKICAgY29uc3QgaW50MzJ4NF90IGZlZGNfYmE5OF83NjU0XzMyMTAgPSB2cGFkZGxxX3MxNihm
ZV9kY19iYV85OF83Nl81NF8zMl8xMCk7CiAgIGNvbnN0IGludDY0eDJfdCBmZWRjYmE5OF83NjU0
MzIxMCA9IHZwYWRkbHFfczMyKGZlZGNfYmE5OF83NjU0XzMyMTApOwpAQCAtMzEsNyArMjgsNiBA
QCBzdGF0aWMgSU5MSU5FIGludCBob3Jpem9udGFsX2FkZF9zOHgxNihjb25zdCBpbnQ4eDE2X3Qg
dl9zdW1fZGlmZl90b3RhbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2Z2V0
X2xvd19zNjQoZmVkY2JhOThfNzY1NDMyMTApKTsKICAgY29uc3QgaW50IHN1bV9kaWZmID0gdmdl
dF9sYW5lX3MzMih2cmVpbnRlcnByZXRfczMyX3M2NCh4KSwgMCk7CiAgIHJldHVybiBzdW1fZGlm
ZjsKLSNlbmRpZgogfQogCiAvLyBEZW5vaXNlIGEgMTZ4MSB2ZWN0b3IuCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVv
bi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZGlhbW9uZF9zZWFyY2hf
c2FkX25lb24uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjgyYjNmOWRiNTgyLi4w
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfZGlh
bW9uZF9zZWFyY2hfc2FkX25lb24uYworKysgL2Rldi9udWxsCkBAIC0xLDI5NiArMCwwIEBACi0v
KgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRp
dGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0g
KiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3Jz
IG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxhcm1f
bmVvbi5oPgotCi0jaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgotI2luY2x1ZGUg
InZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVyLmgiCi0jaW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgot
Ci0jaWZkZWYgX19HTlVDX18KLSNkZWZpbmUgTElLRUxZKHYpIF9fYnVpbHRpbl9leHBlY3Qodiwg
MSkKLSNkZWZpbmUgVU5MSUtFTFkodikgX19idWlsdGluX2V4cGVjdCh2LCAwKQotI2Vsc2UKLSNk
ZWZpbmUgTElLRUxZKHYpICh2KQotI2RlZmluZSBVTkxJS0VMWSh2KSAodikKLSNlbmRpZgotCi1z
dGF0aWMgSU5MSU5FIGludF9tdiBwYWNrX2ludF9tdihpbnQxNl90IHJvdywgaW50MTZfdCBjb2wp
IHsKLSAgaW50X212IHJlc3VsdDsKLSAgcmVzdWx0LmFzX212LnJvdyA9IHJvdzsKLSAgcmVzdWx0
LmFzX212LmNvbCA9IGNvbDsKLSAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqCi0gKiBUaGlzIGZ1bmN0aW9uIHV0aWxpemVzIDMgcHJvcGVydGllcyBvZiB0aGUgY29z
dCBmdW5jdGlvbiBsb29rdXAgdGFibGVzLCAgICoKLSAqIGNvbnN0cnVjdGVkIGluIHVzaW5nICdj
YWxfbm12am9pbnRzYWRjb3N0JyBhbmQgJ2NhbF9ubXZzYWRjb3N0cycgaW4gICAgICAgKgotICog
dnA5X2VuY29kZXIuYy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqCi0gKiBGb3IgdGhlIGpvaW50IGNvc3Q6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAqICAgLSBtdmpvaW50
c2FkY29zdFsxXSA9PSBtdmpvaW50c2FkY29zdFsyXSA9PSBtdmpvaW50c2FkY29zdFszXSAgICAg
ICAgICAgKgotICogRm9yIHRoZSBjb21wb25lbnQgY29zdHM6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gKiAgIC0gRm9yIGFsbCBpOiBtdnNhZGNv
c3RbMF1baV0gPT0gbXZzYWRjb3N0WzFdW2ldICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAq
ICAgICAgICAgKEVxdWFsIGNvc3RzIGZvciBib3RoIGNvbXBvbmVudHMpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKgotICogICAtIEZvciBhbGwgaTogbXZzYWRjb3N0WzBdW2ldID09
IG12c2FkY29zdFswXVstaV0gICAgICAgICAgICAgICAgICAgICAgICAqCi0gKiAgICAgICAgIChD
b3N0IGZ1bmN0aW9uIGlzIGV2ZW4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICoKLSAqIElmIHRoZXNlIGRvIG5vdCBob2xkLCB0aGVuIHRoaXMgZnVuY3Rpb24gY2Fu
bm90IGJlIHVzZWQgd2l0aG91dCAgICAgICAgICAgKgotICogbW9kaWZpY2F0aW9uLCBpbiB3aGlj
aCBjYXNlIHlvdSBjYW4gcmV2ZXJ0IHRvIHVzaW5nIHRoZSBDIGltcGxlbWVudGF0aW9uLCAqCi0g
KiB3aGljaCBkb2VzIG5vdCByZWx5IG9uIHRoZXNlIHByb3BlcnRpZXMuICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLWludCB2cDlfZGlh
bW9uZF9zZWFyY2hfc2FkX25lb24oY29uc3QgTUFDUk9CTE9DSyAqeCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoX3NpdGVfY29uZmlnICpjZmcsIE1WICpyZWZf
bXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN0YXJ0X212X3Nh
ZCwgTVYgKmJlc3RfbXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZWFy
Y2hfcGFyYW0sIGludCBzYWRfcGVyX2JpdCwgaW50ICpudW0wMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdnA5X3NhZF9mbl9wdHJfdCAqc2FkX2ZuX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTVYgKmNlbnRlcl9tdikgewotICBzdGF0
aWMgY29uc3QgdWludDMyX3QgZGF0YVs0XSA9IHsgMCwgMSwgMiwgMyB9OwotICBjb25zdCB1aW50
MzJ4NF90IHZfaWR4X2QgPSB2bGQxcV91MzIoKGNvbnN0IHVpbnQzMl90ICopZGF0YSk7Ci0KLSAg
Y29uc3QgaW50MzJ4NF90IHplcm9fczMyID0gdmR1cHFfbl9zMzIoMCk7Ci0gIGNvbnN0IGludF9t
diBtYXhtdiA9IHBhY2tfaW50X212KHgtPm12X2xpbWl0cy5yb3dfbWF4LCB4LT5tdl9saW1pdHMu
Y29sX21heCk7Ci0gIGNvbnN0IGludDE2eDhfdCB2X21heF9tdl93ID0gdnJlaW50ZXJwcmV0cV9z
MTZfczMyKHZkdXBxX25fczMyKG1heG12LmFzX2ludCkpOwotICBjb25zdCBpbnRfbXYgbWlubXYg
PSBwYWNrX2ludF9tdih4LT5tdl9saW1pdHMucm93X21pbiwgeC0+bXZfbGltaXRzLmNvbF9taW4p
OwotICBjb25zdCBpbnQxNng4X3Qgdl9taW5fbXZfdyA9IHZyZWludGVycHJldHFfczE2X3MzMih2
ZHVwcV9uX3MzMihtaW5tdi5hc19pbnQpKTsKLQotICBjb25zdCBpbnQzMng0X3Qgdl9zcGJfZCA9
IHZkdXBxX25fczMyKHNhZF9wZXJfYml0KTsKLQotICBjb25zdCBpbnQzMng0X3Qgdl9qb2ludF9j
b3N0XzBfZCA9IHZkdXBxX25fczMyKHgtPm5tdmpvaW50c2FkY29zdFswXSk7Ci0gIGNvbnN0IGlu
dDMyeDRfdCB2X2pvaW50X2Nvc3RfMV9kID0gdmR1cHFfbl9zMzIoeC0+bm12am9pbnRzYWRjb3N0
WzFdKTsKLQotICAvLyBzZWFyY2hfcGFyYW0gZGV0ZXJtaW5lcyB0aGUgbGVuZ3RoIG9mIHRoZSBp
bml0aWFsIHN0ZXAgYW5kIGhlbmNlIHRoZSBudW1iZXIKLSAgLy8gb2YgaXRlcmF0aW9ucy4KLSAg
Ly8gMCA9IGluaXRpYWwgc3RlcCAoTUFYX0ZJUlNUX1NURVApIHBlbAotICAvLyAxID0gKE1BWF9G
SVJTVF9TVEVQLzIpIHBlbCwKLSAgLy8gMiA9IChNQVhfRklSU1RfU1RFUC80KSBwZWwuLi4KLSAg
Y29uc3QgTVYgKnNzX212ID0gJmNmZy0+c3NfbXZbY2ZnLT5zZWFyY2hlc19wZXJfc3RlcCAqIHNl
YXJjaF9wYXJhbV07Ci0gIGNvbnN0IGludHB0cl90ICpzc19vcyA9ICZjZmctPnNzX29zW2NmZy0+
c2VhcmNoZXNfcGVyX3N0ZXAgKiBzZWFyY2hfcGFyYW1dOwotICBjb25zdCBpbnQgdG90X3N0ZXBz
ID0gY2ZnLT50b3RhbF9zdGVwcyAtIHNlYXJjaF9wYXJhbTsKLQotICBjb25zdCBpbnRfbXYgZmNl
bnRlcl9tdiA9Ci0gICAgICBwYWNrX2ludF9tdihjZW50ZXJfbXYtPnJvdyA+PiAzLCBjZW50ZXJf
bXYtPmNvbCA+PiAzKTsKLSAgY29uc3QgaW50MTZ4OF90IHZmY212ID0gdnJlaW50ZXJwcmV0cV9z
MTZfczMyKHZkdXBxX25fczMyKGZjZW50ZXJfbXYuYXNfaW50KSk7Ci0KLSAgY29uc3QgaW50IHJl
Zl9yb3cgPSByZWZfbXYtPnJvdzsKLSAgY29uc3QgaW50IHJlZl9jb2wgPSByZWZfbXYtPmNvbDsK
LQotICBpbnRfbXYgYm12ID0gcGFja19pbnRfbXYocmVmX3JvdywgcmVmX2NvbCk7Ci0gIGludF9t
diBuZXdfYm12ID0gYm12OwotICBpbnQxNng4X3Qgdl9ibXZfdyA9IHZyZWludGVycHJldHFfczE2
X3MzMih2ZHVwcV9uX3MzMihibXYuYXNfaW50KSk7Ci0KLSAgY29uc3QgaW50IHdoYXRfc3RyaWRl
ID0geC0+cGxhbmVbMF0uc3JjLnN0cmlkZTsKLSAgY29uc3QgaW50IGluX3doYXRfc3RyaWRlID0g
eC0+ZV9tYmQucGxhbmVbMF0ucHJlWzBdLnN0cmlkZTsKLSAgY29uc3QgdWludDhfdCAqY29uc3Qg
d2hhdCA9IHgtPnBsYW5lWzBdLnNyYy5idWY7Ci0gIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IGluX3do
YXQgPQotICAgICAgeC0+ZV9tYmQucGxhbmVbMF0ucHJlWzBdLmJ1ZiArIHJlZl9yb3cgKiBpbl93
aGF0X3N0cmlkZSArIHJlZl9jb2w7Ci0KLSAgLy8gV29yayBvdXQgdGhlIHN0YXJ0IHBvaW50IGZv
ciB0aGUgc2VhcmNoCi0gIGNvbnN0IHVpbnQ4X3QgKmJlc3RfYWRkcmVzcyA9IGluX3doYXQ7Ci0g
IGNvbnN0IHVpbnQ4X3QgKm5ld19iZXN0X2FkZHJlc3MgPSBiZXN0X2FkZHJlc3M7Ci0jaWYgVlBY
X0FSQ0hfQUFSQ0g2NAotICBpbnQ2NHgyX3Qgdl9iYV9xID0gdmR1cHFfbl9zNjQoKGludHB0cl90
KWJlc3RfYWRkcmVzcyk7Ci0jZWxzZQotICBpbnQzMng0X3Qgdl9iYV9kID0gdmR1cHFfbl9zMzIo
KGludHB0cl90KWJlc3RfYWRkcmVzcyk7Ci0jZW5kaWYKLSAgLy8gU3RhcnRpbmcgcG9zaXRpb24K
LSAgdW5zaWduZWQgaW50IGJlc3Rfc2FkID0gc3RhcnRfbXZfc2FkOwotICBpbnQgaSwgaiwgc3Rl
cDsKLQotICAvLyBDaGVjayB0aGUgcHJlcmVxdWlzaXRlIGNvc3QgZnVuY3Rpb24gcHJvcGVydGll
cyB0aGF0IGFyZSBlYXN5IHRvIGNoZWNrCi0gIC8vIGluIGFuIGFzc2VydC4gU2VlIHRoZSBmdW5j
dGlvbi1sZXZlbCBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzIG9uIGFsbAotICAvLyBwcmVyZXF1
aXNpdGVzLgotICBhc3NlcnQoeC0+bm12am9pbnRzYWRjb3N0WzFdID09IHgtPm5tdmpvaW50c2Fk
Y29zdFsyXSk7Ci0gIGFzc2VydCh4LT5ubXZqb2ludHNhZGNvc3RbMV0gPT0geC0+bm12am9pbnRz
YWRjb3N0WzNdKTsKLQotICAqbnVtMDAgPSAwOwotCi0gIGZvciAoaSA9IDAsIHN0ZXAgPSAwOyBz
dGVwIDwgdG90X3N0ZXBzOyBzdGVwKyspIHsKLSAgICBmb3IgKGogPSAwOyBqIDwgY2ZnLT5zZWFy
Y2hlc19wZXJfc3RlcDsgaiArPSA0LCBpICs9IDQpIHsKLSAgICAgIGludDE2eDhfdCB2X2RpZmZf
bXZfdzsKLSAgICAgIGludDh4MTZfdCB2X2luc2lkZV9kOwotICAgICAgdWludDMyeDRfdCB2X291
dHNpZGVfZDsKLSAgICAgIGludDMyeDRfdCB2X2Nvc3RfZCwgdl9zYWRfZDsKLSNpZiBWUFhfQVJD
SF9BQVJDSDY0Ci0gICAgICBpbnQ2NHgyX3Qgdl9ibG9ja2FbMl07Ci0jZWxzZQotICAgICAgaW50
MzJ4NF90IHZfYmxvY2thWzFdOwotICAgICAgdWludDMyeDJfdCBob3Jpel9tYXhfMCwgaG9yaXpf
bWF4XzE7Ci0jZW5kaWYKLQotICAgICAgdWludDMyX3QgaG9yaXpfbWF4OwotICAgICAgLy8gQ29t
cHV0ZSB0aGUgY2FuZGlkYXRlIG1vdGlvbiB2ZWN0b3JzCi0gICAgICBjb25zdCBpbnQxNng4X3Qg
dl9zc19tdl93ID0gdmxkMXFfczE2KChjb25zdCBpbnQxNl90ICopJnNzX212W2ldKTsKLSAgICAg
IGNvbnN0IGludDE2eDhfdCB2X3RoZXNlX212X3cgPSB2YWRkcV9zMTYodl9ibXZfdywgdl9zc19t
dl93KTsKLSAgICAgIC8vIENsYW1wIHRoZW0gdG8gdGhlIHNlYXJjaCBib3VuZHMKLSAgICAgIGlu
dDE2eDhfdCB2X3RoZXNlX212X2NsYW1wX3cgPSB2X3RoZXNlX212X3c7Ci0gICAgICB2X3RoZXNl
X212X2NsYW1wX3cgPSB2bWlucV9zMTYodl90aGVzZV9tdl9jbGFtcF93LCB2X21heF9tdl93KTsK
LSAgICAgIHZfdGhlc2VfbXZfY2xhbXBfdyA9IHZtYXhxX3MxNih2X3RoZXNlX212X2NsYW1wX3cs
IHZfbWluX212X3cpOwotICAgICAgLy8gVGhlIG9uZXMgdGhhdCBkaWQgbm90IGNoYW5nZSBhcmUg
aW5zaWRlIHRoZSBzZWFyY2ggYXJlYQotICAgICAgdl9pbnNpZGVfZCA9IHZyZWludGVycHJldHFf
czhfdTMyKAotICAgICAgICAgIHZjZXFxX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYodl90aGVz
ZV9tdl9jbGFtcF93KSwKLSAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0cV9zMzJfczE2
KHZfdGhlc2VfbXZfdykpKTsKLQotICAgICAgLy8gSWYgbm9uZSBvZiB0aGVtIGFyZSBpbnNpZGUs
IHRoZW4gbW92ZSBvbgotI2lmIFZQWF9BUkNIX0FBUkNINjQKLSAgICAgIGhvcml6X21heCA9IHZt
YXh2cV91MzIodnJlaW50ZXJwcmV0cV91MzJfczgodl9pbnNpZGVfZCkpOwotI2Vsc2UKLSAgICAg
IGhvcml6X21heF8wID0gdm1heF91MzIodmdldF9sb3dfdTMyKHZyZWludGVycHJldHFfdTMyX3M4
KHZfaW5zaWRlX2QpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdldF9oaWdoX3Uz
Mih2cmVpbnRlcnByZXRxX3UzMl9zOCh2X2luc2lkZV9kKSkpOwotICAgICAgaG9yaXpfbWF4XzEg
PSB2cG1heF91MzIoaG9yaXpfbWF4XzAsIGhvcml6X21heF8wKTsKLSAgICAgIHZzdDFfbGFuZV91
MzIoJmhvcml6X21heCwgaG9yaXpfbWF4XzEsIDApOwotI2VuZGlmCi0gICAgICBpZiAoTElLRUxZ
KGhvcml6X21heCA9PSAwKSkgewotICAgICAgICBjb250aW51ZTsKLSAgICAgIH0KLQotICAgICAg
Ly8gVGhlIGludmVyc2UgbWFzayBpbmRpY2F0ZXMgd2hpY2ggb2YgdGhlIE1WcyBhcmUgb3V0c2lk
ZQotICAgICAgdl9vdXRzaWRlX2QgPQotICAgICAgICAgIHZyZWludGVycHJldHFfdTMyX3M4KHZl
b3JxX3M4KHZfaW5zaWRlX2QsIHZkdXBxX25fczgoKGludDhfdCkweGZmKSkpOwotICAgICAgLy8g
U2hpZnQgcmlnaHQgdG8ga2VlcCB0aGUgc2lnbiBiaXQgY2xlYXIsIHdlIHdpbGwgdXNlIHRoaXMg
bGF0ZXIKLSAgICAgIC8vIHRvIHNldCB0aGUgY29zdCB0byB0aGUgbWF4aW11bSB2YWx1ZS4KLSAg
ICAgIHZfb3V0c2lkZV9kID0gdnNocnFfbl91MzIodl9vdXRzaWRlX2QsIDEpOwotCi0gICAgICAv
LyBDb21wdXRlIHRoZSBkaWZmZXJlbmNlIE1WCi0gICAgICB2X2RpZmZfbXZfdyA9IHZzdWJxX3Mx
Nih2X3RoZXNlX212X2NsYW1wX3csIHZmY212KTsKLSAgICAgIC8vIFdlIHV0aWxpc2UgdGhlIGZh
Y3QgdGhhdCB0aGUgY29zdCBmdW5jdGlvbiBpcyBldmVuLCBhbmQgdXNlIHRoZQotICAgICAgLy8g
YWJzb2x1dGUgZGlmZmVyZW5jZS4gVGhpcyBhbGxvd3MgdXMgdG8gdXNlIHVuc2lnbmVkIGluZGV4
ZXMgbGF0ZXIKLSAgICAgIC8vIGFuZCByZWR1Y2VzIGNhY2hlIHByZXNzdXJlIHNvbWV3aGF0IGFz
IG9ubHkgYSBoYWxmIG9mIHRoZSB0YWJsZQotICAgICAgLy8gaXMgZXZlciByZWZlcmVuY2VkLgot
ICAgICAgdl9kaWZmX212X3cgPSB2YWJzcV9zMTYodl9kaWZmX212X3cpOwotCi0gICAgICAvLyBD
b21wdXRlIHRoZSBTSU1EIHBvaW50ZXIgb2Zmc2V0cy4KLSAgICAgIHsKLSNpZiBWUFhfQVJDSF9B
QVJDSDY0ICAvLyAgc2l6ZW9mKGludHB0cl90KSA9PSA4Ci0gICAgICAgIC8vIExvYWQgdGhlIG9m
ZnNldHMKLSAgICAgICAgaW50NjR4Ml90IHZfYm8xMF9xID0gdmxkMXFfczY0KChjb25zdCBpbnQ2
NF90ICopJnNzX29zW2kgKyAwXSk7Ci0gICAgICAgIGludDY0eDJfdCB2X2JvMzJfcSA9IHZsZDFx
X3M2NCgoY29uc3QgaW50NjRfdCAqKSZzc19vc1tpICsgMl0pOwotICAgICAgICAvLyBTZXQgdGhl
IG9uZXMgZmFsbGluZyBvdXRzaWRlIHRvIHplcm8KLSAgICAgICAgdl9ibzEwX3EgPSB2YW5kcV9z
NjQoCi0gICAgICAgICAgICB2X2JvMTBfcSwKLSAgICAgICAgICAgIHZtb3ZsX3MzMih2Z2V0X2xv
d19zMzIodnJlaW50ZXJwcmV0cV9zMzJfczgodl9pbnNpZGVfZCkpKSk7Ci0gICAgICAgIHZfYm8z
Ml9xID0gdmFuZHFfczY0KAotICAgICAgICAgICAgdl9ibzMyX3EsCi0gICAgICAgICAgICB2bW92
bF9zMzIodmdldF9oaWdoX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zOCh2X2luc2lkZV9kKSkpKTsK
LSAgICAgICAgLy8gQ29tcHV0ZSB0aGUgY2FuZGlkYXRlIGFkZHJlc3NlcwotICAgICAgICB2X2Js
b2NrYVswXSA9IHZhZGRxX3M2NCh2X2JhX3EsIHZfYm8xMF9xKTsKLSAgICAgICAgdl9ibG9ja2Fb
MV0gPSB2YWRkcV9zNjQodl9iYV9xLCB2X2JvMzJfcSk7Ci0jZWxzZSAgLy8gc2l6ZW9mKGludHB0
cl90KSA9PSA0Ci0gICAgICAgIGludDMyeDRfdCB2X2JvX2QgPSB2bGQxcV9zMzIoKGNvbnN0IGlu
dDMyX3QgKikmc3Nfb3NbaV0pOwotICAgICAgICB2X2JvX2QgPSB2YW5kcV9zMzIodl9ib19kLCB2
cmVpbnRlcnByZXRxX3MzMl9zOCh2X2luc2lkZV9kKSk7Ci0gICAgICAgIHZfYmxvY2thWzBdID0g
dmFkZHFfczMyKHZfYmFfZCwgdl9ib19kKTsKLSNlbmRpZgotICAgICAgfQotCi0gICAgICBzYWRf
Zm5fcHRyLT5zZHg0ZGYod2hhdCwgd2hhdF9zdHJpZGUsIChjb25zdCB1aW50OF90ICoqKSZ2X2Js
b2NrYVswXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbl93aGF0X3N0cmlkZSwgKHVpbnQz
Ml90ICopJnZfc2FkX2QpOwotCi0gICAgICAvLyBMb29rIHVwIHRoZSBjb21wb25lbnQgY29zdCBv
ZiB0aGUgcmVzaWR1YWwgbW90aW9uIHZlY3RvcgotICAgICAgewotICAgICAgICB1aW50MzJfdCBj
b3N0WzRdOwotICAgICAgICBERUNMQVJFX0FMSUdORUQoMTYsIGludDE2X3QsIHJvd2NvbFs4XSk7
Ci0gICAgICAgIHZzdDFxX3MxNihyb3djb2wsIHZfZGlmZl9tdl93KTsKLQotICAgICAgICAvLyBO
b3RlOiBUaGlzIGlzIGEgdXNlIGNhc2UgZm9yIGdhdGhlciBpbnN0cnVjdGlvbgotICAgICAgICBj
b3N0WzBdID0geC0+bm12c2FkY29zdFswXVtyb3djb2xbMF1dICsgeC0+bm12c2FkY29zdFswXVty
b3djb2xbMV1dOwotICAgICAgICBjb3N0WzFdID0geC0+bm12c2FkY29zdFswXVtyb3djb2xbMl1d
ICsgeC0+bm12c2FkY29zdFswXVtyb3djb2xbM11dOwotICAgICAgICBjb3N0WzJdID0geC0+bm12
c2FkY29zdFswXVtyb3djb2xbNF1dICsgeC0+bm12c2FkY29zdFswXVtyb3djb2xbNV1dOwotICAg
ICAgICBjb3N0WzNdID0geC0+bm12c2FkY29zdFswXVtyb3djb2xbNl1dICsgeC0+bm12c2FkY29z
dFswXVtyb3djb2xbN11dOwotCi0gICAgICAgIHZfY29zdF9kID0gdmxkMXFfczMyKChpbnQzMl90
ICopY29zdCk7Ci0gICAgICB9Ci0KLSAgICAgIC8vIE5vdyBhZGQgaW4gdGhlIGpvaW50IGNvc3QK
LSAgICAgIHsKLSAgICAgICAgY29uc3QgdWludDMyeDRfdCB2X3NlbF9kID0KLSAgICAgICAgICAg
IHZjZXFxX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYodl9kaWZmX212X3cpLCB6ZXJvX3MzMik7
Ci0gICAgICAgIGNvbnN0IGludDMyeDRfdCB2X2pvaW50X2Nvc3RfZCA9IHZyZWludGVycHJldHFf
czMyX3U4KAotICAgICAgICAgICAgdmJzbHFfdTgodnJlaW50ZXJwcmV0cV91OF91MzIodl9zZWxf
ZCksCi0gICAgICAgICAgICAgICAgICAgICB2cmVpbnRlcnByZXRxX3U4X3MzMih2X2pvaW50X2Nv
c3RfMF9kKSwKLSAgICAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldHFfdThfczMyKHZfam9p
bnRfY29zdF8xX2QpKSk7Ci0gICAgICAgIHZfY29zdF9kID0gdmFkZHFfczMyKHZfY29zdF9kLCB2
X2pvaW50X2Nvc3RfZCk7Ci0gICAgICB9Ci0KLSAgICAgIC8vIE11bHRpcGx5IGJ5IHNhZF9wZXJf
Yml0Ci0gICAgICB2X2Nvc3RfZCA9IHZtdWxxX3MzMih2X2Nvc3RfZCwgdl9zcGJfZCk7Ci0gICAg
ICAvLyBST1VORF9QT1dFUl9PRl9UV08odl9jb3N0X2QsIFZQOV9QUk9CX0NPU1RfU0hJRlQpCi0g
ICAgICB2X2Nvc3RfZCA9Ci0gICAgICAgICAgdmFkZHFfczMyKHZfY29zdF9kLCB2ZHVwcV9uX3Mz
MigxIDw8IChWUDlfUFJPQl9DT1NUX1NISUZUIC0gMSkpKTsKLSAgICAgIHZfY29zdF9kID0gdnNo
cnFfbl9zMzIodl9jb3N0X2QsIFZQOV9QUk9CX0NPU1RfU0hJRlQpOwotICAgICAgLy8gQWRkIHRo
ZSBjb3N0IHRvIHRoZSBzYWQKLSAgICAgIHZfc2FkX2QgPSB2YWRkcV9zMzIodl9zYWRfZCwgdl9j
b3N0X2QpOwotCi0gICAgICAvLyBNYWtlIHRoZSBtb3Rpb24gdmVjdG9ycyBvdXRzaWRlIHRoZSBz
ZWFyY2ggYXJlYSBoYXZlIG1heCBjb3N0Ci0gICAgICAvLyBieSBvcidpbmcgaW4gdGhlIGNvbXBh
cmlzb24gbWFzaywgdGhpcyB3YXkgdGhlIG1pbmltdW0gc2VhcmNoIHdvbid0Ci0gICAgICAvLyBw
aWNrIHRoZW0uCi0gICAgICB2X3NhZF9kID0gdm9ycnFfczMyKHZfc2FkX2QsIHZyZWludGVycHJl
dHFfczMyX3UzMih2X291dHNpZGVfZCkpOwotCi0gICAgICAvLyBGaW5kIHRoZSBtaW5pbXVtIHZh
bHVlIGFuZCBpbmRleCBob3Jpem9udGFsbHkgaW4gdl9zYWRfZAotICAgICAgewotICAgICAgICB1
aW50MzJfdCBsb2NhbF9iZXN0X3NhZDsKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gICAgICAgIGxv
Y2FsX2Jlc3Rfc2FkID0gdm1pbnZxX3UzMih2cmVpbnRlcnByZXRxX3UzMl9zMzIodl9zYWRfZCkp
OwotI2Vsc2UKLSAgICAgICAgdWludDMyeDJfdCBob3Jpel9taW5fMCA9Ci0gICAgICAgICAgICB2
bWluX3UzMih2Z2V0X2xvd191MzIodnJlaW50ZXJwcmV0cV91MzJfczMyKHZfc2FkX2QpKSwKLSAg
ICAgICAgICAgICAgICAgICAgIHZnZXRfaGlnaF91MzIodnJlaW50ZXJwcmV0cV91MzJfczMyKHZf
c2FkX2QpKSk7Ci0gICAgICAgIHVpbnQzMngyX3QgaG9yaXpfbWluXzEgPSB2cG1pbl91MzIoaG9y
aXpfbWluXzAsIGhvcml6X21pbl8wKTsKLSAgICAgICAgdnN0MV9sYW5lX3UzMigmbG9jYWxfYmVz
dF9zYWQsIGhvcml6X21pbl8xLCAwKTsKLSNlbmRpZgotCi0gICAgICAgIC8vIFVwZGF0ZSB0aGUg
Z2xvYmFsIG1pbmltdW0gaWYgdGhlIGxvY2FsIG1pbmltdW0gaXMgc21hbGxlcgotICAgICAgICBp
ZiAoTElLRUxZKGxvY2FsX2Jlc3Rfc2FkIDwgYmVzdF9zYWQpKSB7Ci0jaWYgZGVmaW5lZChfX0dO
VUNfXykgJiYgX19HTlVDX18gPj0gNCAmJiAhZGVmaW5lZChfX2NsYW5nX18pCi0jcHJhZ21hIEdD
QyBkaWFnbm9zdGljIHB1c2gKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdtYXli
ZS11bmluaXRpYWxpemVkIgotI2VuZGlmCi0gICAgICAgICAgdWludDMyX3QgbG9jYWxfYmVzdF9p
ZHg7Ci0gICAgICAgICAgY29uc3QgdWludDMyeDRfdCB2X3NlbF9kID0KLSAgICAgICAgICAgICAg
dmNlcXFfczMyKHZfc2FkX2QsIHZkdXBxX25fczMyKGxvY2FsX2Jlc3Rfc2FkKSk7Ci0gICAgICAg
ICAgdWludDMyeDRfdCB2X21hc2tfZCA9IHZhbmRxX3UzMih2X3NlbF9kLCB2X2lkeF9kKTsKLSAg
ICAgICAgICB2X21hc2tfZCA9IHZic2xxX3UzMih2X3NlbF9kLCB2X21hc2tfZCwgdmR1cHFfbl91
MzIoMHhmZmZmZmZmZikpOwotCi0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICAgICAgICAgIGxvY2Fs
X2Jlc3RfaWR4ID0gdm1pbnZxX3UzMih2X21hc2tfZCk7Ci0jZWxzZQotICAgICAgICAgIGhvcml6
X21pbl8wID0KLSAgICAgICAgICAgICAgdm1pbl91MzIodmdldF9sb3dfdTMyKHZfbWFza19kKSwg
dmdldF9oaWdoX3UzMih2X21hc2tfZCkpOwotICAgICAgICAgIGhvcml6X21pbl8xID0gdnBtaW5f
dTMyKGhvcml6X21pbl8wLCBob3Jpel9taW5fMCk7Ci0gICAgICAgICAgdnN0MV9sYW5lX3UzMigm
bG9jYWxfYmVzdF9pZHgsIGhvcml6X21pbl8xLCAwKTsKLSNlbmRpZgotCi0gICAgICAgICAgbmV3
X2JtdiA9ICgoY29uc3QgaW50X212ICopJnZfdGhlc2VfbXZfdylbbG9jYWxfYmVzdF9pZHhdOwot
I2lmIGRlZmluZWQoX19HTlVDX18pICYmIF9fR05VQ19fID49IDQgJiYgIWRlZmluZWQoX19jbGFu
Z19fKQotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKLSNlbmRpZgotICAgICAgICAgIG5ld19i
ZXN0X2FkZHJlc3MgPSAoKGNvbnN0IHVpbnQ4X3QgKiopdl9ibG9ja2EpW2xvY2FsX2Jlc3RfaWR4
XTsKLQotICAgICAgICAgIGJlc3Rfc2FkID0gbG9jYWxfYmVzdF9zYWQ7Ci0gICAgICAgIH0KLSAg
ICAgIH0KLSAgICB9Ci0KLSAgICBibXYgPSBuZXdfYm12OwotICAgIGJlc3RfYWRkcmVzcyA9IG5l
d19iZXN0X2FkZHJlc3M7Ci0KLSAgICB2X2Jtdl93ID0gdnJlaW50ZXJwcmV0cV9zMTZfczMyKHZk
dXBxX25fczMyKGJtdi5hc19pbnQpKTsKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gICAgdl9iYV9x
ID0gdmR1cHFfbl9zNjQoKGludHB0cl90KWJlc3RfYWRkcmVzcyk7Ci0jZWxzZQotICAgIHZfYmFf
ZCA9IHZkdXBxX25fczMyKChpbnRwdHJfdCliZXN0X2FkZHJlc3MpOwotI2VuZGlmCi0KLSAgICBp
ZiAoVU5MSUtFTFkoYmVzdF9hZGRyZXNzID09IGluX3doYXQpKSB7Ci0gICAgICAoKm51bTAwKSsr
OwotICAgIH0KLSAgfQotCi0gICpiZXN0X212ID0gYm12LmFzX212OwotICByZXR1cm4gYmVzdF9z
YWQ7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9l
cnJvcl9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9lcnJvcl9u
ZW9uLmMKaW5kZXggMGNmMGJmMjUwZWJkLi4xYzc1MDMxMzllZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2Vycm9yX25lb24uYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9lcnJvcl9uZW9uLmMKQEAgLTEyLDkxICsxMiwz
MCBAQAogI2luY2x1ZGUgPGFzc2VydC5oPgogCiAjaW5jbHVkZSAiLi92cDlfcnRjZC5oIgotI2lu
Y2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0vc3Vt
X25lb24uaCIKIAotaW50NjRfdCB2cDlfYmxvY2tfZXJyb3JfbmVvbihjb25zdCB0cmFuX2xvd190
ICpjb2VmZiwgY29uc3QgdHJhbl9sb3dfdCAqZHFjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50cHRyX3QgYmxvY2tfc2l6ZSwgaW50NjRfdCAqc3N6KSB7Ci0gIHVpbnQ2NHgy
X3QgZXJyX3U2NCA9IHZkdXBxX25fdTY0KDApOwotICBpbnQ2NHgyX3Qgc3N6X3M2NCA9IHZkdXBx
X25fczY0KDApOworaW50NjRfdCB2cDlfYmxvY2tfZXJyb3JfZnBfbmVvbihjb25zdCBpbnQxNl90
ICpjb2VmZiwgY29uc3QgaW50MTZfdCAqZHFjb2VmZiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGJsb2NrX3NpemUpIHsKKyAgaW50NjR4Ml90IGVycm9yID0gdmR1cHFfbl9z
NjQoMCk7CiAKLSAgYXNzZXJ0KGJsb2NrX3NpemUgPj0gMTYpOwotICBhc3NlcnQoKGJsb2NrX3Np
emUgJSAxNikgPT0gMCk7CisgIGFzc2VydChibG9ja19zaXplID49IDgpOworICBhc3NlcnQoKGJs
b2NrX3NpemUgJSA4KSA9PSAwKTsKIAogICBkbyB7Ci0gICAgdWludDMyeDRfdCBlcnI7Ci0gICAg
aW50MzJ4NF90IHNzejAsIHNzejE7Ci0KLSAgICBjb25zdCBpbnQxNng4X3QgYzAgPSBsb2FkX3Ry
YW5fbG93X3RvX3MxNnEoY29lZmYpOwotICAgIGNvbnN0IGludDE2eDhfdCBjMSA9IGxvYWRfdHJh
bl9sb3dfdG9fczE2cShjb2VmZiArIDgpOwotICAgIGNvbnN0IGludDE2eDhfdCBkMCA9IGxvYWRf
dHJhbl9sb3dfdG9fczE2cShkcWNvZWZmKTsKLSAgICBjb25zdCBpbnQxNng4X3QgZDEgPSBsb2Fk
X3RyYW5fbG93X3RvX3MxNnEoZHFjb2VmZiArIDgpOwotCi0gICAgY29uc3QgdWludDE2eDhfdCBk
aWZmMCA9IHZyZWludGVycHJldHFfdTE2X3MxNih2YWJkcV9zMTYoYzAsIGQwKSk7Ci0gICAgY29u
c3QgdWludDE2eDhfdCBkaWZmMSA9IHZyZWludGVycHJldHFfdTE2X3MxNih2YWJkcV9zMTYoYzEs
IGQxKSk7Ci0KLSAgICAvLyBkaWZmIGlzIDE1LWJpdHMsIHRoZSBzcXVhcmVzIDMwLCBzbyB3ZSBj
YW4gc3RvcmUgNCBpbiAzMi1iaXRzIGJlZm9yZQorICAgIGNvbnN0IGludDE2eDhfdCBjID0gdmxk
MXFfczE2KGNvZWZmKTsKKyAgICBjb25zdCBpbnQxNng4X3QgZCA9IHZsZDFxX3MxNihkcWNvZWZm
KTsKKyAgICBjb25zdCBpbnQxNng4X3QgZGlmZiA9IHZzdWJxX3MxNihjLCBkKTsKKyAgICBjb25z
dCBpbnQxNng0X3QgZGlmZl9sbyA9IHZnZXRfbG93X3MxNihkaWZmKTsKKyAgICBjb25zdCBpbnQx
Nng0X3QgZGlmZl9oaSA9IHZnZXRfaGlnaF9zMTYoZGlmZik7CisgICAgLy8gZGlmZiBpcyAxNS1i
aXRzLCB0aGUgc3F1YXJlcyAzMCwgc28gd2UgY2FuIHN0b3JlIDIgaW4gMzEtYml0cyBiZWZvcmUK
ICAgICAvLyBhY2N1bXVsYXRpbmcgdGhlbSBpbiA2NC1iaXRzLgotICAgIGVyciA9IHZtdWxsX3Ux
Nih2Z2V0X2xvd191MTYoZGlmZjApLCB2Z2V0X2xvd191MTYoZGlmZjApKTsKLSAgICBlcnIgPSB2
bWxhbF91MTYoZXJyLCB2Z2V0X2hpZ2hfdTE2KGRpZmYwKSwgdmdldF9oaWdoX3UxNihkaWZmMCkp
OwotICAgIGVyciA9IHZtbGFsX3UxNihlcnIsIHZnZXRfbG93X3UxNihkaWZmMSksIHZnZXRfbG93
X3UxNihkaWZmMSkpOwotICAgIGVyciA9IHZtbGFsX3UxNihlcnIsIHZnZXRfaGlnaF91MTYoZGlm
ZjEpLCB2Z2V0X2hpZ2hfdTE2KGRpZmYxKSk7Ci0gICAgZXJyX3U2NCA9IHZwYWRhbHFfdTMyKGVy
cl91NjQsIGVycik7Ci0KLSAgICAvLyBXZSBjYW4ndCBkbyB0aGUgc2FtZSBoZXJlIGFzIHdlJ3Jl
IG9wZXJhdGluZyBvbiBzaWduZWQgaW50ZWdlcnMsIHNvIHdlCi0gICAgLy8gY2FuIHN0b3JlIDIg
MTUtYml0IGRpZmYgYmVmb3JlIGFjY3VtdWxhdGluZyBpbnRvIDY0LWJpdHMuCi0gICAgc3N6MCA9
IHZtdWxsX3MxNih2Z2V0X2xvd19zMTYoYzApLCB2Z2V0X2xvd19zMTYoYzApKTsKLSAgICBzc3ow
ID0gdm1sYWxfczE2KHNzejAsIHZnZXRfaGlnaF9zMTYoYzApLCB2Z2V0X2hpZ2hfczE2KGMwKSk7
Ci0gICAgc3N6X3M2NCA9IHZwYWRhbHFfczMyKHNzel9zNjQsIHNzejApOwotCi0gICAgc3N6MSA9
IHZtdWxsX3MxNih2Z2V0X2xvd19zMTYoYzEpLCB2Z2V0X2xvd19zMTYoYzEpKTsKLSAgICBzc3ox
ID0gdm1sYWxfczE2KHNzejEsIHZnZXRfaGlnaF9zMTYoYzEpLCB2Z2V0X2hpZ2hfczE2KGMxKSk7
Ci0gICAgc3N6X3M2NCA9IHZwYWRhbHFfczMyKHNzel9zNjQsIHNzejEpOwotCi0gICAgY29lZmYg
Kz0gMTY7Ci0gICAgZHFjb2VmZiArPSAxNjsKLSAgICBibG9ja19zaXplIC09IDE2OwotICB9IHdo
aWxlIChibG9ja19zaXplICE9IDApOwotCi0gICpzc3ogPSBob3Jpem9udGFsX2FkZF9pbnQ2NHgy
KHNzel9zNjQpOwotICByZXR1cm4gKGludDY0X3QpaG9yaXpvbnRhbF9hZGRfdWludDY0eDIoZXJy
X3U2NCk7Ci19Ci0KLWludDY0X3QgdnA5X2Jsb2NrX2Vycm9yX2ZwX25lb24oY29uc3QgdHJhbl9s
b3dfdCAqY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5f
bG93X3QgKmRxY29lZmYsIGludCBibG9ja19zaXplKSB7Ci0gIHVpbnQ2NHgyX3QgZXJyX3U2NFsy
XSA9IHsgdmR1cHFfbl91NjQoMCksIHZkdXBxX25fdTY0KDApIH07Ci0KLSAgYXNzZXJ0KGJsb2Nr
X3NpemUgPj0gMTYpOwotICBhc3NlcnQoKGJsb2NrX3NpemUgJSAxNikgPT0gMCk7Ci0KLSAgZG8g
ewotICAgIHVpbnQzMng0X3QgZXJyMCwgZXJyMTsKLQotICAgIGNvbnN0IGludDE2eDhfdCBjMCA9
IGxvYWRfdHJhbl9sb3dfdG9fczE2cShjb2VmZik7Ci0gICAgY29uc3QgaW50MTZ4OF90IGMxID0g
bG9hZF90cmFuX2xvd190b19zMTZxKGNvZWZmICsgOCk7Ci0gICAgY29uc3QgaW50MTZ4OF90IGQw
ID0gbG9hZF90cmFuX2xvd190b19zMTZxKGRxY29lZmYpOwotICAgIGNvbnN0IGludDE2eDhfdCBk
MSA9IGxvYWRfdHJhbl9sb3dfdG9fczE2cShkcWNvZWZmICsgOCk7Ci0KLSAgICBjb25zdCB1aW50
MTZ4OF90IGRpZmYwID0gdnJlaW50ZXJwcmV0cV91MTZfczE2KHZhYmRxX3MxNihjMCwgZDApKTsK
LSAgICBjb25zdCB1aW50MTZ4OF90IGRpZmYxID0gdnJlaW50ZXJwcmV0cV91MTZfczE2KHZhYmRx
X3MxNihjMSwgZDEpKTsKLQotICAgIC8vIGRpZmYgaXMgMTUtYml0cywgdGhlIHNxdWFyZXMgMzAs
IHNvIGluIHRoZW9yeSB3ZSBjYW4gc3RvcmUgNCBpbiAzMi1iaXRzCi0gICAgLy8gYmVmb3JlIGFj
Y3VtdWxhdGluZyB0aGVtIGluIDY0LWJpdHMuIEhvd2V2ZXIgc3BsaXR0aW5nIGludG8gMiBtdWxs
LCBtbGFsCi0gICAgLy8gcGFpcnMgaXMgYmVuZWZpY2lhbCBzaW5jZSBpdCBhbGxvd3MgdXMgdG8g
dXNlIGJvdGggTmVvbgotICAgIC8vIG11bHRpcGx5LWFjY3VtdWxhdGUgcGlwZXMgLSBvbiBDUFVz
IHRoYXQgaGF2ZSB0aGVtIC0gcmF0aGVyIHRoYW4gaGF2aW5nCi0gICAgLy8gYSBzaW5nbGUgY2hh
aW4gb2YgNCBpbnN0cnVjdGlvbnMgZXhlY3V0aW5nIHNlcmlhbGx5LgotICAgIGVycjAgPSB2bXVs
bF91MTYodmdldF9sb3dfdTE2KGRpZmYwKSwgdmdldF9sb3dfdTE2KGRpZmYwKSk7Ci0gICAgZXJy
MCA9IHZtbGFsX3UxNihlcnIwLCB2Z2V0X2hpZ2hfdTE2KGRpZmYwKSwgdmdldF9oaWdoX3UxNihk
aWZmMCkpOwotICAgIGVycl91NjRbMF0gPSB2cGFkYWxxX3UzMihlcnJfdTY0WzBdLCBlcnIwKTsK
LQotICAgIGVycjEgPSB2bXVsbF91MTYodmdldF9sb3dfdTE2KGRpZmYxKSwgdmdldF9sb3dfdTE2
KGRpZmYxKSk7Ci0gICAgZXJyMSA9IHZtbGFsX3UxNihlcnIxLCB2Z2V0X2hpZ2hfdTE2KGRpZmYx
KSwgdmdldF9oaWdoX3UxNihkaWZmMSkpOwotICAgIGVycl91NjRbMV0gPSB2cGFkYWxxX3UzMihl
cnJfdTY0WzFdLCBlcnIxKTsKLQotICAgIGNvZWZmICs9IDE2OwotICAgIGRxY29lZmYgKz0gMTY7
Ci0gICAgYmxvY2tfc2l6ZSAtPSAxNjsKKyAgICBjb25zdCBpbnQzMng0X3QgZXJyMCA9IHZtdWxs
X3MxNihkaWZmX2xvLCBkaWZmX2xvKTsKKyAgICBjb25zdCBpbnQzMng0X3QgZXJyMSA9IHZtbGFs
X3MxNihlcnIwLCBkaWZmX2hpLCBkaWZmX2hpKTsKKyAgICBjb25zdCBpbnQ2NHgyX3QgZXJyMiA9
IHZhZGRsX3MzMih2Z2V0X2xvd19zMzIoZXJyMSksIHZnZXRfaGlnaF9zMzIoZXJyMSkpOworICAg
IGVycm9yID0gdmFkZHFfczY0KGVycm9yLCBlcnIyKTsKKyAgICBjb2VmZiArPSA4OworICAgIGRx
Y29lZmYgKz0gODsKKyAgICBibG9ja19zaXplIC09IDg7CiAgIH0gd2hpbGUgKGJsb2NrX3NpemUg
IT0gMCk7CiAKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQ2NHgyKHZhZGRxX3U2NChlcnJf
dTY0WzBdLCBlcnJfdTY0WzFdKSk7CisgIHJldHVybiB2Z2V0cV9sYW5lX3M2NChlcnJvciwgMCkg
KyB2Z2V0cV9sYW5lX3M2NChlcnJvciwgMSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9mcmFtZV9zY2FsZV9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9mcmFtZV9zY2FsZV9uZW9uLmMKaW5kZXggYmM4ZGQ0YTM0
MTAzLi5lNDZmNzg5YmFjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJt
L25lb24vdnA5X2ZyYW1lX3NjYWxlX25lb24uYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L2FybS9uZW9uL3ZwOV9mcmFtZV9zY2FsZV9uZW9uLmMKQEAgLTE0LDcgKzE0LDYgQEAKICNpbmNs
dWRlICIuL3ZweF9kc3BfcnRjZC5oIgogI2luY2x1ZGUgIi4vdnB4X3NjYWxlX3J0Y2QuaCIKICNp
bmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9ibG9ja2QuaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9t
ZW1fbmVvbi5oIgogI2luY2x1ZGUgInZweF9kc3AvYXJtL3RyYW5zcG9zZV9uZW9uLmgiCiAjaW5j
bHVkZSAidnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uLmgiCiAjaW5jbHVkZSAidnB4X2Rz
cC92cHhfZmlsdGVyLmgiCkBAIC03MTEsOCArNzEwLDggQEAgdm9pZCB2cDlfc2NhbGVfYW5kX2V4
dGVuZF9mcmFtZV9uZW9uKGNvbnN0IFlWMTJfQlVGRkVSX0NPTkZJRyAqc3JjLAogICBjb25zdCBp
bnQgc3JjX2ggPSBzcmMtPnlfY3JvcF9oZWlnaHQ7CiAgIGNvbnN0IGludCBkc3RfdyA9IGRzdC0+
eV9jcm9wX3dpZHRoOwogICBjb25zdCBpbnQgZHN0X2ggPSBkc3QtPnlfY3JvcF9oZWlnaHQ7Ci0g
IGNvbnN0IGludCBkc3RfdXZfdyA9IGRzdC0+dXZfY3JvcF93aWR0aDsKLSAgY29uc3QgaW50IGRz
dF91dl9oID0gZHN0LT51dl9jcm9wX2hlaWdodDsKKyAgY29uc3QgaW50IGRzdF91dl93ID0gZHN0
X3cgLyAyOworICBjb25zdCBpbnQgZHN0X3V2X2ggPSBkc3RfaCAvIDI7CiAgIGludCBzY2FsZWQg
PSAwOwogCiAgIC8vIHBoYXNlX3NjYWxlciBpcyB1c3VhbGx5IDAgb3IgOC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X2hpZ2hiZF9lcnJvcl9uZW9uLmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9oaWdoYmRfZXJyb3JfbmVvbi5j
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWIxODM0NzJkNTEuLjAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9oaWdoYmRfZXJyb3Jf
bmVvbi5jCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQg
KGMpIDIwMjMgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgot
ICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls
ZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0
aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1
YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBB
VEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3Vu
ZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAq
LwotCi0jaW5jbHVkZSA8YXJtX25lb24uaD4KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLQotI2luY2x1
ZGUgIi4vdnA5X3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9tZW1fbmVvbi5oIgotI2lu
Y2x1ZGUgInZweF9kc3AvYXJtL3N1bV9uZW9uLmgiCi0KLWludDY0X3QgdnA5X2hpZ2hiZF9ibG9j
a19lcnJvcl9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9sb3dfdCAqZHFjb2VmZiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludHB0cl90IGJsb2NrX3NpemUsIGludDY0X3QgKnNz
eiwgaW50IGJkKSB7Ci0gIHVpbnQ2NHgyX3QgZXJyX3U2NCA9IHZkdXBxX25fdTY0KDApOwotICBp
bnQ2NHgyX3Qgc3N6X3M2NCA9IHZkdXBxX25fczY0KDApOwotCi0gIGNvbnN0IGludCBzaGlmdCA9
IDIgKiAoYmQgLSA4KTsKLSAgY29uc3QgaW50IHJvdW5kaW5nID0gc2hpZnQgPiAwID8gMSA8PCAo
c2hpZnQgLSAxKSA6IDA7Ci0KLSAgYXNzZXJ0KGJsb2NrX3NpemUgPj0gMTYpOwotICBhc3NlcnQo
KGJsb2NrX3NpemUgJSAxNikgPT0gMCk7Ci0KLSAgZG8gewotICAgIGNvbnN0IGludDMyeDRfdCBj
ID0gbG9hZF90cmFuX2xvd190b19zMzJxKGNvZWZmKTsKLSAgICBjb25zdCBpbnQzMng0X3QgZCA9
IGxvYWRfdHJhbl9sb3dfdG9fczMycShkcWNvZWZmKTsKLQotICAgIGNvbnN0IHVpbnQzMng0X3Qg
ZGlmZiA9IHZyZWludGVycHJldHFfdTMyX3MzMih2YWJkcV9zMzIoYywgZCkpOwotCi0gICAgZXJy
X3U2NCA9IHZtbGFsX3UzMihlcnJfdTY0LCB2Z2V0X2xvd191MzIoZGlmZiksIHZnZXRfbG93X3Uz
MihkaWZmKSk7Ci0gICAgZXJyX3U2NCA9IHZtbGFsX3UzMihlcnJfdTY0LCB2Z2V0X2hpZ2hfdTMy
KGRpZmYpLCB2Z2V0X2hpZ2hfdTMyKGRpZmYpKTsKLQotICAgIHNzel9zNjQgPSB2bWxhbF9zMzIo
c3N6X3M2NCwgdmdldF9sb3dfczMyKGMpLCB2Z2V0X2xvd19zMzIoYykpOwotICAgIHNzel9zNjQg
PSB2bWxhbF9zMzIoc3N6X3M2NCwgdmdldF9oaWdoX3MzMihjKSwgdmdldF9oaWdoX3MzMihjKSk7
Ci0KLSAgICBjb2VmZiArPSA0OwotICAgIGRxY29lZmYgKz0gNDsKLSAgICBibG9ja19zaXplIC09
IDQ7Ci0gIH0gd2hpbGUgKGJsb2NrX3NpemUgIT0gMCk7Ci0KLSAgKnNzeiA9IChob3Jpem9udGFs
X2FkZF9pbnQ2NHgyKHNzel9zNjQpICsgcm91bmRpbmcpID4+IHNoaWZ0OwotICByZXR1cm4gKChp
bnQ2NF90KWhvcml6b250YWxfYWRkX3VpbnQ2NHgyKGVycl91NjQpICsgcm91bmRpbmcpID4+IHNo
aWZ0OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlf
aGlnaGJkX3RlbXBvcmFsX2ZpbHRlcl9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2Fy
bS9uZW9uL3ZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX25lb24uYwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzNhZWYzYzg2NTg3Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci9hcm0vbmVvbi92cDlfaGlnaGJkX3RlbXBvcmFsX2ZpbHRlcl9uZW9uLmMK
KysrIC9kZXYvbnVsbApAQCAtMSw4NzIgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIw
MjMgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAq
ICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJv
cGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMu
ICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0
aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0j
aW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8YXJtX25lb24uaD4KLQotI2luY2x1ZGUgIi4v
dnA5X3J0Y2QuaCIKLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICJ2cHgvdnB4
X2ludGVnZXIuaCIKLSNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfZW5jb2Rlci5oIgotI2luY2x1
ZGUgInZwOS9lbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXIuaCIKLSNpbmNsdWRlICJ2cDkvZW5j
b2Rlci92cDlfdGVtcG9yYWxfZmlsdGVyX2NvbnN0YW50cy5oIgotCi0vLyBDb21wdXRlIChhLWIp
KioyIGZvciA4IHBpeGVscyB3aXRoIHNpemUgMTYtYml0Ci1zdGF0aWMgSU5MSU5FIHZvaWQgaGln
aGJkX3N0b3JlX2Rpc3RfOChjb25zdCB1aW50MTZfdCAqYSwgY29uc3QgdWludDE2X3QgKmIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZHN0KSB7Ci0g
IGNvbnN0IHVpbnQxNng4X3QgYV9yZWcgPSB2bGQxcV91MTYoYSk7Ci0gIGNvbnN0IHVpbnQxNng4
X3QgYl9yZWcgPSB2bGQxcV91MTYoYik7Ci0KLSAgdWludDE2eDhfdCBkaXN0ID0gdmFiZHFfdTE2
KGFfcmVnLCBiX3JlZyk7Ci0gIHVpbnQzMng0X3QgZGlzdF9maXJzdCA9IHZtdWxsX3UxNih2Z2V0
X2xvd191MTYoZGlzdCksIHZnZXRfbG93X3UxNihkaXN0KSk7Ci0gIHVpbnQzMng0X3QgZGlzdF9z
ZWNvbmQgPSB2bXVsbF91MTYodmdldF9oaWdoX3UxNihkaXN0KSwgdmdldF9oaWdoX3UxNihkaXN0
KSk7Ci0KLSAgdnN0MXFfdTMyKGRzdCwgZGlzdF9maXJzdCk7Ci0gIHZzdDFxX3UzMihkc3QgKyA0
LCBkaXN0X3NlY29uZCk7Ci19Ci0KLS8vIFN1bSB1cCB0aHJlZSBuZWlnaGJvcmluZyBkaXN0b3J0
aW9ucyBmb3IgdGhlIHBpeGVscwotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9nZXRfc3VtXzQo
Y29uc3QgdWludDMyX3QgKmRpc3QsIHVpbnQzMng0X3QgKnN1bSkgewotICB1aW50MzJ4NF90IGRp
c3RfcmVnLCBkaXN0X2xlZnQsIGRpc3RfcmlnaHQ7Ci0KLSAgZGlzdF9yZWcgPSB2bGQxcV91MzIo
ZGlzdCk7Ci0gIGRpc3RfbGVmdCA9IHZsZDFxX3UzMihkaXN0IC0gMSk7Ci0gIGRpc3RfcmlnaHQg
PSB2bGQxcV91MzIoZGlzdCArIDEpOwotCi0gICpzdW0gPSB2YWRkcV91MzIoZGlzdF9yZWcsIGRp
c3RfbGVmdCk7Ci0gICpzdW0gPSB2YWRkcV91MzIoKnN1bSwgZGlzdF9yaWdodCk7Ci19Ci0KLXN0
YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfZ2V0X3N1bV84KGNvbnN0IHVpbnQzMl90ICpkaXN0LCB1
aW50MzJ4NF90ICpzdW1fZmlyc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJ4NF90ICpzdW1fc2Vjb25kKSB7Ci0gIGhpZ2hiZF9nZXRfc3VtXzQoZGlzdCwgc3Vt
X2ZpcnN0KTsKLSAgaGlnaGJkX2dldF9zdW1fNChkaXN0ICsgNCwgc3VtX3NlY29uZCk7Ci19Ci0K
LS8vIEF2ZXJhZ2UgdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgdmFsdWVzIHN1bW1l
ZCAoOSBmb3IgcGl4ZWxzIGF3YXkKLS8vIGZyb20gdGhlIGJvcmRlciwgNCBmb3IgcGl4ZWxzIGlu
IGNvcm5lcnMsIGFuZCA2IGZvciBvdGhlciBlZGdlIHZhbHVlcywgcGx1cwotLy8gaG93ZXZlciBt
YW55IHZhbHVlcyBmcm9tIHkvdXYgcGxhbmUgYXJlKS4KLS8vCi0vLyBBZGQgaW4gdGhlIHJvdW5k
aW5nIGZhY3RvciBhbmQgc2hpZnQsIGNsYW1wIHRvIDE2LCBpbnZlcnQgYW5kIHNoaWZ0LiBNdWx0
aXBseQotLy8gYnkgd2VpZ2h0Lgotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9hdmVyYWdlXzQo
dWludDMyeDRfdCAqb3V0cHV0LCBjb25zdCB1aW50MzJ4NF90IHN1bSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMng0X3QgKm11bF9jb25zdGFudHMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgc3RyZW5ndGgsIGNv
bnN0IGludCByb3VuZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludCB3ZWlnaHQpIHsKLSAgY29uc3QgaW50NjR4Ml90IHN0cmVuZ3RoX3M2NCA9IHZkdXBx
X25fczY0KC1zdHJlbmd0aCAtIDMyKTsKLSAgY29uc3QgdWludDY0eDJfdCByb3VuZGluZ191NjQg
PSB2ZHVwcV9uX3U2NCgodWludDY0X3Qpcm91bmRpbmcgPDwgMzIpOwotICBjb25zdCB1aW50MzJ4
NF90IHdlaWdodF91MzIgPSB2ZHVwcV9uX3UzMih3ZWlnaHQpOwotICBjb25zdCB1aW50MzJ4NF90
IHNpeHRlZW4gPSB2ZHVwcV9uX3UzMigxNik7Ci0gIHVpbnQzMng0X3Qgc3VtMjsKLQotICAvLyBt
b2RpZmllciAqIDMgLyBpbmRleDsKLSAgdWludDY0eDJfdCBzdW1fbG8gPQotICAgICAgdm1sYWxf
dTMyKHJvdW5kaW5nX3U2NCwgdmdldF9sb3dfdTMyKHN1bSksIHZnZXRfbG93X3UzMigqbXVsX2Nv
bnN0YW50cykpOwotICB1aW50NjR4Ml90IHN1bV9oaSA9IHZtbGFsX3UzMihyb3VuZGluZ191NjQs
IHZnZXRfaGlnaF91MzIoc3VtKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdl
dF9oaWdoX3UzMigqbXVsX2NvbnN0YW50cykpOwotCi0gIC8vIHdlIGNhbm5vdCB1c2UgdnNocm5f
bl91NjQgYXMgc3RyZW5ndGggaXMgbm90IGtub3duIGF0IGNvbXBpbGUgdGltZS4KLSAgc3VtX2xv
ID0gdnNobHFfdTY0KHN1bV9sbywgc3RyZW5ndGhfczY0KTsKLSAgc3VtX2hpID0gdnNobHFfdTY0
KHN1bV9oaSwgc3RyZW5ndGhfczY0KTsKLQotICBzdW0yID0gdmNvbWJpbmVfdTMyKHZtb3ZuX3U2
NChzdW1fbG8pLCB2bW92bl91NjQoc3VtX2hpKSk7Ci0KLSAgLy8gTXVsdGlwbHkgd2l0aCB0aGUg
d2VpZ2h0Ci0gIHN1bTIgPSB2bWlucV91MzIoc3VtMiwgc2l4dGVlbik7Ci0gIHN1bTIgPSB2c3Vi
cV91MzIoc2l4dGVlbiwgc3VtMik7Ci0gICpvdXRwdXQgPSB2bXVscV91MzIoc3VtMiwgd2VpZ2h0
X3UzMik7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfYXZlcmFnZV84KHVpbnQzMng0
X3QgKm91dHB1dF8wLCB1aW50MzJ4NF90ICpvdXRwdXRfMSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMng0X3Qgc3VtXzBfdTMyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyeDRfdCBzdW1fMV91MzIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJ4NF90ICptdWxfY29u
c3RhbnRzXzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
MzJ4NF90ICptdWxfY29uc3RhbnRzXzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQgc3RyZW5ndGgsIGNvbnN0IGludCByb3VuZGluZywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCB3ZWlnaHQpIHsKLSAgaGlnaGJkX2F2
ZXJhZ2VfNChvdXRwdXRfMCwgc3VtXzBfdTMyLCBtdWxfY29uc3RhbnRzXzAsIHN0cmVuZ3RoLCBy
b3VuZGluZywKLSAgICAgICAgICAgICAgICAgICB3ZWlnaHQpOwotICBoaWdoYmRfYXZlcmFnZV80
KG91dHB1dF8xLCBzdW1fMV91MzIsIG11bF9jb25zdGFudHNfMSwgc3RyZW5ndGgsIHJvdW5kaW5n
LAotICAgICAgICAgICAgICAgICAgIHdlaWdodCk7Ci19Ci0KLS8vIEFkZCAnc3VtX3UzMicgdG8g
J2NvdW50Jy4gTXVsdGlwbHkgYnkgJ3ByZWQnIGFuZCBhZGQgdG8gJ2FjY3VtdWxhdG9yLicKLXN0
YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfYWNjdW11bGF0ZV9hbmRfc3RvcmVfOCgKLSAgICBjb25z
dCB1aW50MzJ4NF90IHN1bV9maXJzdF91MzIsIGNvbnN0IHVpbnQzMng0X3Qgc3VtX3NlY29uZF91
MzIsCi0gICAgY29uc3QgdWludDE2X3QgKnByZWQsIHVpbnQxNl90ICpjb3VudCwgdWludDMyX3Qg
KmFjY3VtdWxhdG9yKSB7Ci0gIGNvbnN0IHVpbnQxNng4X3Qgc3VtX3UxNiA9Ci0gICAgICB2Y29t
YmluZV91MTYodnFtb3ZuX3UzMihzdW1fZmlyc3RfdTMyKSwgdnFtb3ZuX3UzMihzdW1fc2Vjb25k
X3UzMikpOwotICB1aW50MTZ4OF90IHByZWRfdTE2ID0gdmxkMXFfdTE2KHByZWQpOwotICB1aW50
MTZ4OF90IGNvdW50X3UxNiA9IHZsZDFxX3UxNihjb3VudCk7Ci0gIHVpbnQzMng0X3QgcHJlZF8w
X3UzMiwgcHJlZF8xX3UzMjsKLSAgdWludDMyeDRfdCBhY2N1bV8wX3UzMiwgYWNjdW1fMV91MzI7
Ci0KLSAgY291bnRfdTE2ID0gdnFhZGRxX3UxNihjb3VudF91MTYsIHN1bV91MTYpOwotICB2c3Qx
cV91MTYoY291bnQsIGNvdW50X3UxNik7Ci0KLSAgYWNjdW1fMF91MzIgPSB2bGQxcV91MzIoYWNj
dW11bGF0b3IpOwotICBhY2N1bV8xX3UzMiA9IHZsZDFxX3UzMihhY2N1bXVsYXRvciArIDQpOwot
Ci0gIHByZWRfMF91MzIgPSB2bW92bF91MTYodmdldF9sb3dfdTE2KHByZWRfdTE2KSk7Ci0gIHBy
ZWRfMV91MzIgPSB2bW92bF91MTYodmdldF9oaWdoX3UxNihwcmVkX3UxNikpOwotCi0gIC8vIERv
bid0IHVzZSBzdW1fdTE2IGFzIHRoYXQgcHJvZHVjZXMgZGlmZmVyZW50IHJlc3VsdHMgdG8gdGhl
IEMgdmVyc2lvbgotICBhY2N1bV8wX3UzMiA9IHZtbGFxX3UzMihhY2N1bV8wX3UzMiwgc3VtX2Zp
cnN0X3UzMiwgcHJlZF8wX3UzMik7Ci0gIGFjY3VtXzFfdTMyID0gdm1sYXFfdTMyKGFjY3VtXzFf
dTMyLCBzdW1fc2Vjb25kX3UzMiwgcHJlZF8xX3UzMik7Ci0KLSAgdnN0MXFfdTMyKGFjY3VtdWxh
dG9yLCBhY2N1bV8wX3UzMik7Ci0gIHZzdDFxX3UzMihhY2N1bXVsYXRvciArIDQsIGFjY3VtXzFf
dTMyKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9yZWFkX2Rpc3RfNChjb25zdCB1
aW50MzJfdCAqZGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyeDRfdCAqZGlzdF9yZWcpIHsKLSAgKmRpc3RfcmVnID0gdmxkMXFfdTMyKGRpc3QpOwotfQot
Ci1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX3JlYWRfZGlzdF84KGNvbnN0IHVpbnQzMl90ICpk
aXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJ4NF90ICpy
ZWdfZmlyc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMng0
X3QgKnJlZ19zZWNvbmQpIHsKLSAgaGlnaGJkX3JlYWRfZGlzdF80KGRpc3QsIHJlZ19maXJzdCk7
Ci0gIGhpZ2hiZF9yZWFkX2Rpc3RfNChkaXN0ICsgNCwgcmVnX3NlY29uZCk7Ci19Ci0KLXN0YXRp
YyBJTkxJTkUgdm9pZCBoaWdoYmRfcmVhZF9jaHJvbWFfZGlzdF9yb3dfOCgKLSAgICBpbnQgc3Nf
eCwgY29uc3QgdWludDMyX3QgKnVfZGlzdCwgY29uc3QgdWludDMyX3QgKnZfZGlzdCwKLSAgICB1
aW50MzJ4NF90ICp1X2ZpcnN0LCB1aW50MzJ4NF90ICp1X3NlY29uZCwgdWludDMyeDRfdCAqdl9m
aXJzdCwKLSAgICB1aW50MzJ4NF90ICp2X3NlY29uZCkgewotICBpZiAoIXNzX3gpIHsKLSAgICAv
LyBJZiB0aGVyZSBpcyBubyBjaHJvbWEgc3Vic2FtcGxpbmcgaW4gdGhlIGhvcml6b250YWwgZGly
ZWN0aW9uLCB0aGVuIHdlCi0gICAgLy8gbmVlZCB0byBsb2FkIDggZW50cmllcyBmcm9tIGNocm9t
YS4KLSAgICBoaWdoYmRfcmVhZF9kaXN0XzgodV9kaXN0LCB1X2ZpcnN0LCB1X3NlY29uZCk7Ci0g
ICAgaGlnaGJkX3JlYWRfZGlzdF84KHZfZGlzdCwgdl9maXJzdCwgdl9zZWNvbmQpOwotICB9IGVs
c2UgeyAgLy8gc3NfeCA9PSAxCi0gICAgLy8gT3RoZXJ3aXNlLCB3ZSBvbmx5IG5lZWQgdG8gbG9h
ZCA4IGVudHJpZXMKLSAgICB1aW50MzJ4NF90IHVfcmVnLCB2X3JlZzsKLSAgICB1aW50MzJ4NHgy
X3QgcGFpcjsKLQotICAgIGhpZ2hiZF9yZWFkX2Rpc3RfNCh1X2Rpc3QsICZ1X3JlZyk7Ci0KLSAg
ICBwYWlyID0gdnppcHFfdTMyKHVfcmVnLCB1X3JlZyk7Ci0gICAgKnVfZmlyc3QgPSBwYWlyLnZh
bFswXTsKLSAgICAqdV9zZWNvbmQgPSBwYWlyLnZhbFsxXTsKLQotICAgIGhpZ2hiZF9yZWFkX2Rp
c3RfNCh2X2Rpc3QsICZ2X3JlZyk7Ci0KLSAgICBwYWlyID0gdnppcHFfdTMyKHZfcmVnLCB2X3Jl
Zyk7Ci0gICAgKnZfZmlyc3QgPSBwYWlyLnZhbFswXTsKLSAgICAqdl9zZWNvbmQgPSBwYWlyLnZh
bFsxXTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBoaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVy
X2x1bWFfOCgKLSAgICBjb25zdCB1aW50MTZfdCAqeV9wcmUsIGludCB5X3ByZV9zdHJpZGUsIHVu
c2lnbmVkIGludCBibG9ja193aWR0aCwKLSAgICB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LCBp
bnQgc3NfeCwgaW50IHNzX3ksIGludCBzdHJlbmd0aCwKLSAgICBpbnQgdXNlX3dob2xlX2Jsaywg
dWludDMyX3QgKnlfYWNjdW0sIHVpbnQxNl90ICp5X2NvdW50LAotICAgIGNvbnN0IHVpbnQzMl90
ICp5X2Rpc3QsIGNvbnN0IHVpbnQzMl90ICp1X2Rpc3QsIGNvbnN0IHVpbnQzMl90ICp2X2Rpc3Qs
Ci0gICAgY29uc3QgdWludDMyX3QgKmNvbnN0ICpuZWlnaGJvcnNfZmlyc3QsCi0gICAgY29uc3Qg
dWludDMyX3QgKmNvbnN0ICpuZWlnaGJvcnNfc2Vjb25kLCBpbnQgdG9wX3dlaWdodCwKLSAgICBp
bnQgYm90dG9tX3dlaWdodCkgewotICBjb25zdCBpbnQgcm91bmRpbmcgPSAoMSA8PCBzdHJlbmd0
aCkgPj4gMTsKLSAgaW50IHdlaWdodCA9IHRvcF93ZWlnaHQ7Ci0KLSAgdWludDMyeDRfdCBtdWxf
Zmlyc3QsIG11bF9zZWNvbmQ7Ci0KLSAgdWludDMyeDRfdCBzdW1fcm93XzFfZmlyc3QsIHN1bV9y
b3dfMV9zZWNvbmQ7Ci0gIHVpbnQzMng0X3Qgc3VtX3Jvd18yX2ZpcnN0LCBzdW1fcm93XzJfc2Vj
b25kOwotICB1aW50MzJ4NF90IHN1bV9yb3dfM19maXJzdCwgc3VtX3Jvd18zX3NlY29uZDsKLQot
ICB1aW50MzJ4NF90IHVfZmlyc3QsIHVfc2Vjb25kOwotICB1aW50MzJ4NF90IHZfZmlyc3QsIHZf
c2Vjb25kOwotCi0gIHVpbnQzMng0X3Qgc3VtX3Jvd19maXJzdDsKLSAgdWludDMyeDRfdCBzdW1f
cm93X3NlY29uZDsKLQotICAvLyBMb29wIHZhcmlhYmxlcwotICB1bnNpZ25lZCBpbnQgaDsKLQot
ICBhc3NlcnQoc3RyZW5ndGggPj0gNCAmJiBzdHJlbmd0aCA8PSAxNCAmJgotICAgICAgICAgImlu
dmFsaWQgYWRqdXN0ZWQgdGVtcG9yYWwgZmlsdGVyIHN0cmVuZ3RoIik7Ci0gIGFzc2VydChibG9j
a193aWR0aCA9PSA4KTsKLQotICAodm9pZClibG9ja193aWR0aDsKLQotICAvLyBGaXJzdCByb3cK
LSAgbXVsX2ZpcnN0ID0gdmxkMXFfdTMyKG5laWdoYm9yc19maXJzdFswXSk7Ci0gIG11bF9zZWNv
bmQgPSB2bGQxcV91MzIobmVpZ2hib3JzX3NlY29uZFswXSk7Ci0KLSAgLy8gQWRkIGx1bWEgdmFs
dWVzCi0gIGhpZ2hiZF9nZXRfc3VtXzgoeV9kaXN0LCAmc3VtX3Jvd18yX2ZpcnN0LCAmc3VtX3Jv
d18yX3NlY29uZCk7Ci0gIGhpZ2hiZF9nZXRfc3VtXzgoeV9kaXN0ICsgRElTVF9TVFJJREUsICZz
dW1fcm93XzNfZmlyc3QsICZzdW1fcm93XzNfc2Vjb25kKTsKLQotICAvLyBXZSBkb24ndCBuZWVk
IHRvIHNhdHVyYXRlIGhlcmUgYmVjYXVzZSB0aGUgbWF4aW11bSB2YWx1ZSBpcyBVSU5UMTJfTUFY
ICoqIDIKLSAgLy8gKiA5IH49IDIqKjI0ICogOSA8IDIgKiogMjggPCBJTlQzMl9NQVgKLSAgc3Vt
X3Jvd19maXJzdCA9IHZhZGRxX3UzMihzdW1fcm93XzJfZmlyc3QsIHN1bV9yb3dfM19maXJzdCk7
Ci0gIHN1bV9yb3dfc2Vjb25kID0gdmFkZHFfdTMyKHN1bV9yb3dfMl9zZWNvbmQsIHN1bV9yb3df
M19zZWNvbmQpOwotCi0gIC8vIEFkZCBjaHJvbWEgdmFsdWVzCi0gIGhpZ2hiZF9yZWFkX2Nocm9t
YV9kaXN0X3Jvd184KHNzX3gsIHVfZGlzdCwgdl9kaXN0LCAmdV9maXJzdCwgJnVfc2Vjb25kLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdl9maXJzdCwgJnZfc2Vjb25kKTsKLQot
ICAvLyBNYXggdmFsdWUgaGVyZSBpcyAyICoqIDI0ICogKDkgKyAyKSwgc28gbm8gc2F0dXJhdGlv
biBpcyBuZWVkZWQKLSAgc3VtX3Jvd19maXJzdCA9IHZhZGRxX3UzMihzdW1fcm93X2ZpcnN0LCB1
X2ZpcnN0KTsKLSAgc3VtX3Jvd19zZWNvbmQgPSB2YWRkcV91MzIoc3VtX3Jvd19zZWNvbmQsIHVf
c2Vjb25kKTsKLQotICBzdW1fcm93X2ZpcnN0ID0gdmFkZHFfdTMyKHN1bV9yb3dfZmlyc3QsIHZf
Zmlyc3QpOwotICBzdW1fcm93X3NlY29uZCA9IHZhZGRxX3UzMihzdW1fcm93X3NlY29uZCwgdl9z
ZWNvbmQpOwotCi0gIC8vIEdldCBtb2RpZmllciBhbmQgc3RvcmUgcmVzdWx0Ci0gIGhpZ2hiZF9h
dmVyYWdlXzgoJnN1bV9yb3dfZmlyc3QsICZzdW1fcm93X3NlY29uZCwgc3VtX3Jvd19maXJzdCwK
LSAgICAgICAgICAgICAgICAgICBzdW1fcm93X3NlY29uZCwgJm11bF9maXJzdCwgJm11bF9zZWNv
bmQsIHN0cmVuZ3RoLCByb3VuZGluZywKLSAgICAgICAgICAgICAgICAgICB3ZWlnaHQpOwotCi0g
IGhpZ2hiZF9hY2N1bXVsYXRlX2FuZF9zdG9yZV84KHN1bV9yb3dfZmlyc3QsIHN1bV9yb3dfc2Vj
b25kLCB5X3ByZSwgeV9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeV9h
Y2N1bSk7Ci0KLSAgeV9wcmUgKz0geV9wcmVfc3RyaWRlOwotICB5X2NvdW50ICs9IHlfcHJlX3N0
cmlkZTsKLSAgeV9hY2N1bSArPSB5X3ByZV9zdHJpZGU7Ci0gIHlfZGlzdCArPSBESVNUX1NUUklE
RTsKLQotICB1X2Rpc3QgKz0gRElTVF9TVFJJREU7Ci0gIHZfZGlzdCArPSBESVNUX1NUUklERTsK
LQotICAvLyBUaGVuIGFsbCB0aGUgcm93cyBleGNlcHQgdGhlIGxhc3Qgb25lCi0gIG11bF9maXJz
dCA9IHZsZDFxX3UzMihuZWlnaGJvcnNfZmlyc3RbMV0pOwotICBtdWxfc2Vjb25kID0gdmxkMXFf
dTMyKG5laWdoYm9yc19zZWNvbmRbMV0pOwotCi0gIGZvciAoaCA9IDE7IGggPCBibG9ja19oZWln
aHQgLSAxOyArK2gpIHsKLSAgICAvLyBNb3ZlIHRoZSB3ZWlnaHQgdG8gYm90dG9tIGhhbGYKLSAg
ICBpZiAoIXVzZV93aG9sZV9ibGsgJiYgaCA9PSBibG9ja19oZWlnaHQgLyAyKSB7Ci0gICAgICB3
ZWlnaHQgPSBib3R0b21fd2VpZ2h0OwotICAgIH0KLSAgICAvLyBTaGlmdCB0aGUgcm93cyB1cAot
ICAgIHN1bV9yb3dfMV9maXJzdCA9IHN1bV9yb3dfMl9maXJzdDsKLSAgICBzdW1fcm93XzFfc2Vj
b25kID0gc3VtX3Jvd18yX3NlY29uZDsKLSAgICBzdW1fcm93XzJfZmlyc3QgPSBzdW1fcm93XzNf
Zmlyc3Q7Ci0gICAgc3VtX3Jvd18yX3NlY29uZCA9IHN1bV9yb3dfM19zZWNvbmQ7Ci0KLSAgICAv
LyBBZGQgbHVtYSB2YWx1ZXMgdG8gdGhlIG1vZGlmaWVyCi0gICAgc3VtX3Jvd19maXJzdCA9IHZh
ZGRxX3UzMihzdW1fcm93XzFfZmlyc3QsIHN1bV9yb3dfMl9maXJzdCk7Ci0gICAgc3VtX3Jvd19z
ZWNvbmQgPSB2YWRkcV91MzIoc3VtX3Jvd18xX3NlY29uZCwgc3VtX3Jvd18yX3NlY29uZCk7Ci0K
LSAgICBoaWdoYmRfZ2V0X3N1bV84KHlfZGlzdCArIERJU1RfU1RSSURFLCAmc3VtX3Jvd18zX2Zp
cnN0LCAmc3VtX3Jvd18zX3NlY29uZCk7Ci0KLSAgICBzdW1fcm93X2ZpcnN0ID0gdmFkZHFfdTMy
KHN1bV9yb3dfZmlyc3QsIHN1bV9yb3dfM19maXJzdCk7Ci0gICAgc3VtX3Jvd19zZWNvbmQgPSB2
YWRkcV91MzIoc3VtX3Jvd19zZWNvbmQsIHN1bV9yb3dfM19zZWNvbmQpOwotCi0gICAgLy8gQWRk
IGNocm9tYSB2YWx1ZXMgdG8gdGhlIG1vZGlmaWVyCi0gICAgaWYgKHNzX3kgPT0gMCB8fCBoICUg
MiA9PSAwKSB7Ci0gICAgICAvLyBPbmx5IGNhbGN1bGF0ZSB0aGUgbmV3IGNocm9tYSBkaXN0b3J0
aW9uIGlmIHdlIGFyZSBhdCBhIHBpeGVsIHRoYXQKLSAgICAgIC8vIGNvcnJlc3BvbmRzIHRvIGEg
bmV3IGNocm9tYSByb3cKLSAgICAgIGhpZ2hiZF9yZWFkX2Nocm9tYV9kaXN0X3Jvd184KHNzX3gs
IHVfZGlzdCwgdl9kaXN0LCAmdV9maXJzdCwgJnVfc2Vjb25kLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJnZfZmlyc3QsICZ2X3NlY29uZCk7Ci0KLSAgICAgIHVfZGlzdCAr
PSBESVNUX1NUUklERTsKLSAgICAgIHZfZGlzdCArPSBESVNUX1NUUklERTsKLSAgICB9Ci0KLSAg
ICBzdW1fcm93X2ZpcnN0ID0gdmFkZHFfdTMyKHN1bV9yb3dfZmlyc3QsIHVfZmlyc3QpOwotICAg
IHN1bV9yb3dfc2Vjb25kID0gdmFkZHFfdTMyKHN1bV9yb3dfc2Vjb25kLCB1X3NlY29uZCk7Ci0g
ICAgc3VtX3Jvd19maXJzdCA9IHZhZGRxX3UzMihzdW1fcm93X2ZpcnN0LCB2X2ZpcnN0KTsKLSAg
ICBzdW1fcm93X3NlY29uZCA9IHZhZGRxX3UzMihzdW1fcm93X3NlY29uZCwgdl9zZWNvbmQpOwot
Ci0gICAgLy8gR2V0IG1vZGlmaWVyIGFuZCBzdG9yZSByZXN1bHQKLSAgICBoaWdoYmRfYXZlcmFn
ZV84KCZzdW1fcm93X2ZpcnN0LCAmc3VtX3Jvd19zZWNvbmQsIHN1bV9yb3dfZmlyc3QsCi0gICAg
ICAgICAgICAgICAgICAgICBzdW1fcm93X3NlY29uZCwgJm11bF9maXJzdCwgJm11bF9zZWNvbmQs
IHN0cmVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmcsIHdlaWdodCk7Ci0gICAg
aGlnaGJkX2FjY3VtdWxhdGVfYW5kX3N0b3JlXzgoc3VtX3Jvd19maXJzdCwgc3VtX3Jvd19zZWNv
bmQsIHlfcHJlLCB5X2NvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlf
YWNjdW0pOwotCi0gICAgeV9wcmUgKz0geV9wcmVfc3RyaWRlOwotICAgIHlfY291bnQgKz0geV9w
cmVfc3RyaWRlOwotICAgIHlfYWNjdW0gKz0geV9wcmVfc3RyaWRlOwotICAgIHlfZGlzdCArPSBE
SVNUX1NUUklERTsKLSAgfQotCi0gIC8vIFRoZSBsYXN0IHJvdwotICBtdWxfZmlyc3QgPSB2bGQx
cV91MzIobmVpZ2hib3JzX2ZpcnN0WzBdKTsKLSAgbXVsX3NlY29uZCA9IHZsZDFxX3UzMihuZWln
aGJvcnNfc2Vjb25kWzBdKTsKLQotICAvLyBTaGlmdCB0aGUgcm93cyB1cAotICBzdW1fcm93XzFf
Zmlyc3QgPSBzdW1fcm93XzJfZmlyc3Q7Ci0gIHN1bV9yb3dfMV9zZWNvbmQgPSBzdW1fcm93XzJf
c2Vjb25kOwotICBzdW1fcm93XzJfZmlyc3QgPSBzdW1fcm93XzNfZmlyc3Q7Ci0gIHN1bV9yb3df
Ml9zZWNvbmQgPSBzdW1fcm93XzNfc2Vjb25kOwotCi0gIC8vIEFkZCBsdW1hIHZhbHVlcyB0byB0
aGUgbW9kaWZpZXIKLSAgc3VtX3Jvd19maXJzdCA9IHZhZGRxX3UzMihzdW1fcm93XzFfZmlyc3Qs
IHN1bV9yb3dfMl9maXJzdCk7Ci0gIHN1bV9yb3dfc2Vjb25kID0gdmFkZHFfdTMyKHN1bV9yb3df
MV9zZWNvbmQsIHN1bV9yb3dfMl9zZWNvbmQpOwotCi0gIC8vIEFkZCBjaHJvbWEgdmFsdWVzIHRv
IHRoZSBtb2RpZmllcgotICBpZiAoc3NfeSA9PSAwKSB7Ci0gICAgLy8gT25seSBjYWxjdWxhdGUg
dGhlIG5ldyBjaHJvbWEgZGlzdG9ydGlvbiBpZiB3ZSBhcmUgYXQgYSBwaXhlbCB0aGF0Ci0gICAg
Ly8gY29ycmVzcG9uZHMgdG8gYSBuZXcgY2hyb21hIHJvdwotICAgIGhpZ2hiZF9yZWFkX2Nocm9t
YV9kaXN0X3Jvd184KHNzX3gsIHVfZGlzdCwgdl9kaXN0LCAmdV9maXJzdCwgJnVfc2Vjb25kLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2X2ZpcnN0LCAmdl9zZWNvbmQpOwot
ICB9Ci0KLSAgc3VtX3Jvd19maXJzdCA9IHZhZGRxX3UzMihzdW1fcm93X2ZpcnN0LCB1X2ZpcnN0
KTsKLSAgc3VtX3Jvd19zZWNvbmQgPSB2YWRkcV91MzIoc3VtX3Jvd19zZWNvbmQsIHVfc2Vjb25k
KTsKLSAgc3VtX3Jvd19maXJzdCA9IHZhZGRxX3UzMihzdW1fcm93X2ZpcnN0LCB2X2ZpcnN0KTsK
LSAgc3VtX3Jvd19zZWNvbmQgPSB2YWRkcV91MzIoc3VtX3Jvd19zZWNvbmQsIHZfc2Vjb25kKTsK
LQotICAvLyBHZXQgbW9kaWZpZXIgYW5kIHN0b3JlIHJlc3VsdAotICBoaWdoYmRfYXZlcmFnZV84
KCZzdW1fcm93X2ZpcnN0LCAmc3VtX3Jvd19zZWNvbmQsIHN1bV9yb3dfZmlyc3QsCi0gICAgICAg
ICAgICAgICAgICAgc3VtX3Jvd19zZWNvbmQsICZtdWxfZmlyc3QsICZtdWxfc2Vjb25kLCBzdHJl
bmd0aCwgcm91bmRpbmcsCi0gICAgICAgICAgICAgICAgICAgd2VpZ2h0KTsKLSAgaGlnaGJkX2Fj
Y3VtdWxhdGVfYW5kX3N0b3JlXzgoc3VtX3Jvd19maXJzdCwgc3VtX3Jvd19zZWNvbmQsIHlfcHJl
LCB5X2NvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5X2FjY3VtKTsKLX0K
LQotLy8gUGVyZm9ybSB0ZW1wb3JhbCBmaWx0ZXIgZm9yIHRoZSBsdW1hIGNvbXBvbmVudC4KLXN0
YXRpYyB2b2lkIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVtYSgKLSAgICBjb25zdCB1
aW50MTZfdCAqeV9wcmUsIGludCB5X3ByZV9zdHJpZGUsIHVuc2lnbmVkIGludCBibG9ja193aWR0
aCwKLSAgICB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LCBpbnQgc3NfeCwgaW50IHNzX3ksIGlu
dCBzdHJlbmd0aCwKLSAgICBjb25zdCBpbnQgKmJsa19mdywgaW50IHVzZV93aG9sZV9ibGssIHVp
bnQzMl90ICp5X2FjY3VtLCB1aW50MTZfdCAqeV9jb3VudCwKLSAgICBjb25zdCB1aW50MzJfdCAq
eV9kaXN0LCBjb25zdCB1aW50MzJfdCAqdV9kaXN0LCBjb25zdCB1aW50MzJfdCAqdl9kaXN0KSB7
Ci0gIHVuc2lnbmVkIGludCBibGtfY29sID0gMCwgdXZfYmxrX2NvbCA9IDA7Ci0gIGNvbnN0IHVu
c2lnbmVkIGludCBibGtfY29sX3N0ZXAgPSA4LCB1dl9ibGtfY29sX3N0ZXAgPSA4ID4+IHNzX3g7
Ci0gIGNvbnN0IHVuc2lnbmVkIGludCBtaWRfd2lkdGggPSBibG9ja193aWR0aCA+PiAxLAotICAg
ICAgICAgICAgICAgICAgICAgbGFzdF93aWR0aCA9IGJsb2NrX3dpZHRoIC0gYmxrX2NvbF9zdGVw
OwotICBpbnQgdG9wX3dlaWdodCA9IGJsa19md1swXSwKLSAgICAgIGJvdHRvbV93ZWlnaHQgPSB1
c2Vfd2hvbGVfYmxrID8gYmxrX2Z3WzBdIDogYmxrX2Z3WzJdOwotICBjb25zdCB1aW50MzJfdCAq
Y29uc3QgKm5laWdoYm9yc19maXJzdDsKLSAgY29uc3QgdWludDMyX3QgKmNvbnN0ICpuZWlnaGJv
cnNfc2Vjb25kOwotCi0gIC8vIExlZnQKLSAgbmVpZ2hib3JzX2ZpcnN0ID0gSElHSEJEX0xVTUFf
TEVGVF9DT0xVTU5fTkVJR0hCT1JTOwotICBuZWlnaGJvcnNfc2Vjb25kID0gSElHSEJEX0xVTUFf
TUlERExFX0NPTFVNTl9ORUlHSEJPUlM7Ci0gIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJf
bHVtYV84KAotICAgICAgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUsIGJsa19jb2xfc3Rl
cCwgYmxvY2tfaGVpZ2h0LCBzc194LCBzc195LAotICAgICAgc3RyZW5ndGgsIHVzZV93aG9sZV9i
bGssIHlfYWNjdW0gKyBibGtfY29sLCB5X2NvdW50ICsgYmxrX2NvbCwKLSAgICAgIHlfZGlzdCAr
IGJsa19jb2wsIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsCi0gICAg
ICBuZWlnaGJvcnNfZmlyc3QsIG5laWdoYm9yc19zZWNvbmQsIHRvcF93ZWlnaHQsIGJvdHRvbV93
ZWlnaHQpOwotCi0gIGJsa19jb2wgKz0gYmxrX2NvbF9zdGVwOwotICB1dl9ibGtfY29sICs9IHV2
X2Jsa19jb2xfc3RlcDsKLQotICAvLyBNaWRkbGUgRmlyc3QKLSAgbmVpZ2hib3JzX2ZpcnN0ID0g
SElHSEJEX0xVTUFfTUlERExFX0NPTFVNTl9ORUlHSEJPUlM7Ci0gIGZvciAoOyBibGtfY29sIDwg
bWlkX3dpZHRoOwotICAgICAgIGJsa19jb2wgKz0gYmxrX2NvbF9zdGVwLCB1dl9ibGtfY29sICs9
IHV2X2Jsa19jb2xfc3RlcCkgewotICAgIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVt
YV84KAotICAgICAgICB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwgYmxrX2NvbF9zdGVw
LCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksCi0gICAgICAgIHN0cmVuZ3RoLCB1c2Vfd2hvbGVf
YmxrLCB5X2FjY3VtICsgYmxrX2NvbCwgeV9jb3VudCArIGJsa19jb2wsCi0gICAgICAgIHlfZGlz
dCArIGJsa19jb2wsIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsCi0g
ICAgICAgIG5laWdoYm9yc19maXJzdCwgbmVpZ2hib3JzX3NlY29uZCwgdG9wX3dlaWdodCwgYm90
dG9tX3dlaWdodCk7Ci0gIH0KLQotICBpZiAoIXVzZV93aG9sZV9ibGspIHsKLSAgICB0b3Bfd2Vp
Z2h0ID0gYmxrX2Z3WzFdOwotICAgIGJvdHRvbV93ZWlnaHQgPSBibGtfZndbM107Ci0gIH0KLQot
ICAvLyBNaWRkbGUgU2Vjb25kCi0gIGZvciAoOyBibGtfY29sIDwgbGFzdF93aWR0aDsKLSAgICAg
ICBibGtfY29sICs9IGJsa19jb2xfc3RlcCwgdXZfYmxrX2NvbCArPSB1dl9ibGtfY29sX3N0ZXAp
IHsKLSAgICBoaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2x1bWFfOCgKLSAgICAgICAgeV9w
cmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUsIGJsa19jb2xfc3RlcCwgYmxvY2tfaGVpZ2h0LCBz
c194LCBzc195LAotICAgICAgICBzdHJlbmd0aCwgdXNlX3dob2xlX2JsaywgeV9hY2N1bSArIGJs
a19jb2wsIHlfY291bnQgKyBibGtfY29sLAotICAgICAgICB5X2Rpc3QgKyBibGtfY29sLCB1X2Rp
c3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLAotICAgICAgICBuZWlnaGJvcnNf
Zmlyc3QsIG5laWdoYm9yc19zZWNvbmQsIHRvcF93ZWlnaHQsIGJvdHRvbV93ZWlnaHQpOwotICB9
Ci0KLSAgLy8gUmlnaHQKLSAgbmVpZ2hib3JzX3NlY29uZCA9IEhJR0hCRF9MVU1BX1JJR0hUX0NP
TFVNTl9ORUlHSEJPUlM7Ci0gIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVtYV84KAot
ICAgICAgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUsIGJsa19jb2xfc3RlcCwgYmxvY2tf
aGVpZ2h0LCBzc194LCBzc195LAotICAgICAgc3RyZW5ndGgsIHVzZV93aG9sZV9ibGssIHlfYWNj
dW0gKyBibGtfY29sLCB5X2NvdW50ICsgYmxrX2NvbCwKLSAgICAgIHlfZGlzdCArIGJsa19jb2ws
IHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsCi0gICAgICBuZWlnaGJv
cnNfZmlyc3QsIG5laWdoYm9yc19zZWNvbmQsIHRvcF93ZWlnaHQsIGJvdHRvbV93ZWlnaHQpOwot
fQotCi0vLyBBZGQgYSByb3cgb2YgbHVtYSBkaXN0b3J0aW9uIHRoYXQgY29ycmVzcG9uZHMgdG8g
OCBjaHJvbWEgbW9kcy4gSWYgd2UgYXJlCi0vLyBzdWJzYW1wbGluZyBpbiB4IGRpcmVjdGlvbiwg
dGhlbiB3ZSBoYXZlIDE2IGx1bWFzLCBlbHNlIHdlIGhhdmUgOC4KLXN0YXRpYyBJTkxJTkUgdm9p
ZCBoaWdoYmRfYWRkX2x1bWFfZGlzdF90b184X2Nocm9tYV9tb2QoCi0gICAgY29uc3QgdWludDMy
X3QgKnlfZGlzdCwgaW50IHNzX3gsIGludCBzc195LCB1aW50MzJ4NF90ICp1X21vZF9mc3QsCi0g
ICAgdWludDMyeDRfdCAqdV9tb2Rfc25kLCB1aW50MzJ4NF90ICp2X21vZF9mc3QsIHVpbnQzMng0
X3QgKnZfbW9kX3NuZCkgewotICB1aW50MzJ4NF90IHlfcmVnX2ZzdCwgeV9yZWdfc25kOwotICBp
ZiAoIXNzX3gpIHsKLSAgICBoaWdoYmRfcmVhZF9kaXN0XzgoeV9kaXN0LCAmeV9yZWdfZnN0LCAm
eV9yZWdfc25kKTsKLSAgICBpZiAoc3NfeSA9PSAxKSB7Ci0gICAgICB1aW50MzJ4NF90IHlfdG1w
X2ZzdCwgeV90bXBfc25kOwotICAgICAgaGlnaGJkX3JlYWRfZGlzdF84KHlfZGlzdCArIERJU1Rf
U1RSSURFLCAmeV90bXBfZnN0LCAmeV90bXBfc25kKTsKLSAgICAgIHlfcmVnX2ZzdCA9IHZhZGRx
X3UzMih5X3JlZ19mc3QsIHlfdG1wX2ZzdCk7Ci0gICAgICB5X3JlZ19zbmQgPSB2YWRkcV91MzIo
eV9yZWdfc25kLCB5X3RtcF9zbmQpOwotICAgIH0KLSAgfSBlbHNlIHsKLSAgICAvLyBUZW1wb3Jh
cnkKLSAgICB1aW50MzJ4NF90IHlfZnN0LCB5X3NuZDsKLSAgICB1aW50NjR4Ml90IHlfZnN0NjQs
IHlfc25kNjQ7Ci0KLSAgICAvLyBGaXJzdCA4Ci0gICAgaGlnaGJkX3JlYWRfZGlzdF84KHlfZGlz
dCwgJnlfZnN0LCAmeV9zbmQpOwotICAgIGlmIChzc195ID09IDEpIHsKLSAgICAgIHVpbnQzMng0
X3QgeV90bXBfZnN0LCB5X3RtcF9zbmQ7Ci0gICAgICBoaWdoYmRfcmVhZF9kaXN0XzgoeV9kaXN0
ICsgRElTVF9TVFJJREUsICZ5X3RtcF9mc3QsICZ5X3RtcF9zbmQpOwotCi0gICAgICB5X2ZzdCA9
IHZhZGRxX3UzMih5X2ZzdCwgeV90bXBfZnN0KTsKLSAgICAgIHlfc25kID0gdmFkZHFfdTMyKHlf
c25kLCB5X3RtcF9zbmQpOwotICAgIH0KLQotICAgIHlfZnN0NjQgPSB2cGFkZGxxX3UzMih5X2Zz
dCk7Ci0gICAgeV9zbmQ2NCA9IHZwYWRkbHFfdTMyKHlfc25kKTsKLSAgICB5X3JlZ19mc3QgPSB2
Y29tYmluZV91MzIodnFtb3ZuX3U2NCh5X2ZzdDY0KSwgdnFtb3ZuX3U2NCh5X3NuZDY0KSk7Ci0K
LSAgICAvLyBTZWNvbmQgOAotICAgIGhpZ2hiZF9yZWFkX2Rpc3RfOCh5X2Rpc3QgKyA4LCAmeV9m
c3QsICZ5X3NuZCk7Ci0gICAgaWYgKHNzX3kgPT0gMSkgewotICAgICAgdWludDMyeDRfdCB5X3Rt
cF9mc3QsIHlfdG1wX3NuZDsKLSAgICAgIGhpZ2hiZF9yZWFkX2Rpc3RfOCh5X2Rpc3QgKyA4ICsg
RElTVF9TVFJJREUsICZ5X3RtcF9mc3QsICZ5X3RtcF9zbmQpOwotCi0gICAgICB5X2ZzdCA9IHZh
ZGRxX3UzMih5X2ZzdCwgeV90bXBfZnN0KTsKLSAgICAgIHlfc25kID0gdmFkZHFfdTMyKHlfc25k
LCB5X3RtcF9zbmQpOwotICAgIH0KLQotICAgIHlfZnN0NjQgPSB2cGFkZGxxX3UzMih5X2ZzdCk7
Ci0gICAgeV9zbmQ2NCA9IHZwYWRkbHFfdTMyKHlfc25kKTsKLSAgICB5X3JlZ19zbmQgPSB2Y29t
YmluZV91MzIodnFtb3ZuX3U2NCh5X2ZzdDY0KSwgdnFtb3ZuX3U2NCh5X3NuZDY0KSk7Ci0gIH0K
LQotICAqdV9tb2RfZnN0ID0gdmFkZHFfdTMyKCp1X21vZF9mc3QsIHlfcmVnX2ZzdCk7Ci0gICp1
X21vZF9zbmQgPSB2YWRkcV91MzIoKnVfbW9kX3NuZCwgeV9yZWdfc25kKTsKLSAgKnZfbW9kX2Zz
dCA9IHZhZGRxX3UzMigqdl9tb2RfZnN0LCB5X3JlZ19mc3QpOwotICAqdl9tb2Rfc25kID0gdmFk
ZHFfdTMyKCp2X21vZF9zbmQsIHlfcmVnX3NuZCk7Ci19Ci0KLS8vIEFwcGx5IHRlbXBvcmFsIGZp
bHRlciB0byB0aGUgY2hyb21hIGNvbXBvbmVudHMuIFRoaXMgcGVyZm9ybXMgdGVtcG9yYWwKLS8v
IGZpbHRlcmluZyBvbiBhIGNocm9tYSBibG9jayBvZiA4IFggdXZfaGVpZ2h0LiBJZiBibGtfZncg
aXMgbm90IE5VTEwsIHVzZQotLy8gYmxrX2Z3IGFzIGFuIGFycmF5IG9mIHNpemUgNCBmb3IgdGhl
IHdlaWdodHMgZm9yIGVhY2ggb2YgdGhlIDQgc3ViYmxvY2tzLAotLy8gZWxzZSB1c2UgdG9wX3dl
aWdodCBmb3IgdG9wIGhhbGYsIGFuZCBib3R0b20gd2VpZ2h0IGZvciBib3R0b20gaGFsZi4KLXN0
YXRpYyB2b2lkIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hXzgoCi0gICAgY29u
c3QgdWludDE2X3QgKnVfcHJlLCBjb25zdCB1aW50MTZfdCAqdl9wcmUsIGludCB1dl9wcmVfc3Ry
aWRlLAotICAgIHVuc2lnbmVkIGludCB1dl9ibG9ja193aWR0aCwgdW5zaWduZWQgaW50IHV2X2Js
b2NrX2hlaWdodCwgaW50IHNzX3gsCi0gICAgaW50IHNzX3ksIGludCBzdHJlbmd0aCwgdWludDMy
X3QgKnVfYWNjdW0sIHVpbnQxNl90ICp1X2NvdW50LAotICAgIHVpbnQzMl90ICp2X2FjY3VtLCB1
aW50MTZfdCAqdl9jb3VudCwgY29uc3QgdWludDMyX3QgKnlfZGlzdCwKLSAgICBjb25zdCB1aW50
MzJfdCAqdV9kaXN0LCBjb25zdCB1aW50MzJfdCAqdl9kaXN0LAotICAgIGNvbnN0IHVpbnQzMl90
ICpjb25zdCAqbmVpZ2hib3JzX2ZzdCwgY29uc3QgdWludDMyX3QgKmNvbnN0ICpuZWlnaGJvcnNf
c25kLAotICAgIGludCB0b3Bfd2VpZ2h0LCBpbnQgYm90dG9tX3dlaWdodCwgY29uc3QgaW50ICpi
bGtfZncpIHsKLSAgY29uc3QgaW50IHJvdW5kaW5nID0gKDEgPDwgc3RyZW5ndGgpID4+IDE7Ci0g
IGludCB3ZWlnaHQgPSB0b3Bfd2VpZ2h0OwotCi0gIHVpbnQzMng0X3QgbXVsX2ZzdCwgbXVsX3Nu
ZDsKLQotICB1aW50MzJ4NF90IHVfc3VtX3Jvd18xX2ZzdCwgdV9zdW1fcm93XzJfZnN0LCB1X3N1
bV9yb3dfM19mc3Q7Ci0gIHVpbnQzMng0X3Qgdl9zdW1fcm93XzFfZnN0LCB2X3N1bV9yb3dfMl9m
c3QsIHZfc3VtX3Jvd18zX2ZzdDsKLSAgdWludDMyeDRfdCB1X3N1bV9yb3dfMV9zbmQsIHVfc3Vt
X3Jvd18yX3NuZCwgdV9zdW1fcm93XzNfc25kOwotICB1aW50MzJ4NF90IHZfc3VtX3Jvd18xX3Nu
ZCwgdl9zdW1fcm93XzJfc25kLCB2X3N1bV9yb3dfM19zbmQ7Ci0KLSAgdWludDMyeDRfdCB1X3N1
bV9yb3dfZnN0LCB2X3N1bV9yb3dfZnN0OwotICB1aW50MzJ4NF90IHVfc3VtX3Jvd19zbmQsIHZf
c3VtX3Jvd19zbmQ7Ci0KLSAgLy8gTG9vcCB2YXJpYWJsZQotICB1bnNpZ25lZCBpbnQgaDsKLQot
ICAodm9pZCl1dl9ibG9ja193aWR0aDsKLQotICAvLyBGaXJzdCByb3cKLSAgbXVsX2ZzdCA9IHZs
ZDFxX3UzMihuZWlnaGJvcnNfZnN0WzBdKTsKLSAgbXVsX3NuZCA9IHZsZDFxX3UzMihuZWlnaGJv
cnNfc25kWzBdKTsKLQotICAvLyBBZGQgY2hyb21hIHZhbHVlcwotICBoaWdoYmRfZ2V0X3N1bV84
KHVfZGlzdCwgJnVfc3VtX3Jvd18yX2ZzdCwgJnVfc3VtX3Jvd18yX3NuZCk7Ci0gIGhpZ2hiZF9n
ZXRfc3VtXzgodV9kaXN0ICsgRElTVF9TVFJJREUsICZ1X3N1bV9yb3dfM19mc3QsICZ1X3N1bV9y
b3dfM19zbmQpOwotCi0gIHVfc3VtX3Jvd19mc3QgPSB2YWRkcV91MzIodV9zdW1fcm93XzJfZnN0
LCB1X3N1bV9yb3dfM19mc3QpOwotICB1X3N1bV9yb3dfc25kID0gdmFkZHFfdTMyKHVfc3VtX3Jv
d18yX3NuZCwgdV9zdW1fcm93XzNfc25kKTsKLQotICBoaWdoYmRfZ2V0X3N1bV84KHZfZGlzdCwg
JnZfc3VtX3Jvd18yX2ZzdCwgJnZfc3VtX3Jvd18yX3NuZCk7Ci0gIGhpZ2hiZF9nZXRfc3VtXzgo
dl9kaXN0ICsgRElTVF9TVFJJREUsICZ2X3N1bV9yb3dfM19mc3QsICZ2X3N1bV9yb3dfM19zbmQp
OwotCi0gIHZfc3VtX3Jvd19mc3QgPSB2YWRkcV91MzIodl9zdW1fcm93XzJfZnN0LCB2X3N1bV9y
b3dfM19mc3QpOwotICB2X3N1bV9yb3dfc25kID0gdmFkZHFfdTMyKHZfc3VtX3Jvd18yX3NuZCwg
dl9zdW1fcm93XzNfc25kKTsKLQotICAvLyBBZGQgbHVtYSB2YWx1ZXMKLSAgaGlnaGJkX2FkZF9s
dW1hX2Rpc3RfdG9fOF9jaHJvbWFfbW9kKHlfZGlzdCwgc3NfeCwgc3NfeSwgJnVfc3VtX3Jvd19m
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdV9zdW1fcm93X3Nu
ZCwgJnZfc3VtX3Jvd19mc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmdl9zdW1fcm93X3NuZCk7Ci0KLSAgLy8gR2V0IG1vZGlmaWVyIGFuZCBzdG9yZSByZXN1bHQK
LSAgaWYgKGJsa19mdykgewotICAgIGhpZ2hiZF9hdmVyYWdlXzQoJnVfc3VtX3Jvd19mc3QsIHVf
c3VtX3Jvd19mc3QsICZtdWxfZnN0LCBzdHJlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgIHJv
dW5kaW5nLCBibGtfZndbMF0pOwotICAgIGhpZ2hiZF9hdmVyYWdlXzQoJnVfc3VtX3Jvd19zbmQs
IHVfc3VtX3Jvd19zbmQsICZtdWxfc25kLCBzdHJlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAg
IHJvdW5kaW5nLCBibGtfZndbMV0pOwotCi0gICAgaGlnaGJkX2F2ZXJhZ2VfNCgmdl9zdW1fcm93
X2ZzdCwgdl9zdW1fcm93X2ZzdCwgJm11bF9mc3QsIHN0cmVuZ3RoLAotICAgICAgICAgICAgICAg
ICAgICAgcm91bmRpbmcsIGJsa19md1swXSk7Ci0gICAgaGlnaGJkX2F2ZXJhZ2VfNCgmdl9zdW1f
cm93X3NuZCwgdl9zdW1fcm93X3NuZCwgJm11bF9zbmQsIHN0cmVuZ3RoLAotICAgICAgICAgICAg
ICAgICAgICAgcm91bmRpbmcsIGJsa19md1sxXSk7Ci0KLSAgfSBlbHNlIHsKLSAgICBoaWdoYmRf
YXZlcmFnZV84KCZ1X3N1bV9yb3dfZnN0LCAmdV9zdW1fcm93X3NuZCwgdV9zdW1fcm93X2ZzdCwK
LSAgICAgICAgICAgICAgICAgICAgIHVfc3VtX3Jvd19zbmQsICZtdWxfZnN0LCAmbXVsX3NuZCwg
c3RyZW5ndGgsIHJvdW5kaW5nLAotICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0KTsKLSAgICBo
aWdoYmRfYXZlcmFnZV84KCZ2X3N1bV9yb3dfZnN0LCAmdl9zdW1fcm93X3NuZCwgdl9zdW1fcm93
X2ZzdCwKLSAgICAgICAgICAgICAgICAgICAgIHZfc3VtX3Jvd19zbmQsICZtdWxfZnN0LCAmbXVs
X3NuZCwgc3RyZW5ndGgsIHJvdW5kaW5nLAotICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0KTsK
LSAgfQotICBoaWdoYmRfYWNjdW11bGF0ZV9hbmRfc3RvcmVfOCh1X3N1bV9yb3dfZnN0LCB1X3N1
bV9yb3dfc25kLCB1X3ByZSwgdV9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdV9hY2N1bSk7Ci0gIGhpZ2hiZF9hY2N1bXVsYXRlX2FuZF9zdG9yZV84KHZfc3VtX3Jvd19m
c3QsIHZfc3VtX3Jvd19zbmQsIHZfcHJlLCB2X2NvdW50LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2X2FjY3VtKTsKLQotICB1X3ByZSArPSB1dl9wcmVfc3RyaWRlOwotICB1X2Rp
c3QgKz0gRElTVF9TVFJJREU7Ci0gIHZfcHJlICs9IHV2X3ByZV9zdHJpZGU7Ci0gIHZfZGlzdCAr
PSBESVNUX1NUUklERTsKLSAgdV9jb3VudCArPSB1dl9wcmVfc3RyaWRlOwotICB1X2FjY3VtICs9
IHV2X3ByZV9zdHJpZGU7Ci0gIHZfY291bnQgKz0gdXZfcHJlX3N0cmlkZTsKLSAgdl9hY2N1bSAr
PSB1dl9wcmVfc3RyaWRlOwotCi0gIHlfZGlzdCArPSBESVNUX1NUUklERSAqICgxICsgc3NfeSk7
Ci0KLSAgLy8gVGhlbiBhbGwgdGhlIHJvd3MgZXhjZXB0IHRoZSBsYXN0IG9uZQotICBtdWxfZnN0
ID0gdmxkMXFfdTMyKG5laWdoYm9yc19mc3RbMV0pOwotICBtdWxfc25kID0gdmxkMXFfdTMyKG5l
aWdoYm9yc19zbmRbMV0pOwotCi0gIGZvciAoaCA9IDE7IGggPCB1dl9ibG9ja19oZWlnaHQgLSAx
OyArK2gpIHsKLSAgICAvLyBNb3ZlIHRoZSB3ZWlnaHQgcG9pbnRlciB0byB0aGUgYm90dG9tIGhh
bGYgb2YgdGhlIGJsb2NrcwotICAgIGlmIChoID09IHV2X2Jsb2NrX2hlaWdodCAvIDIpIHsKLSAg
ICAgIGlmIChibGtfZncpIHsKLSAgICAgICAgYmxrX2Z3ICs9IDI7Ci0gICAgICB9IGVsc2Ugewot
ICAgICAgICB3ZWlnaHQgPSBib3R0b21fd2VpZ2h0OwotICAgICAgfQotICAgIH0KLQotICAgIC8v
IFNoaWZ0IHRoZSByb3dzIHVwCi0gICAgdV9zdW1fcm93XzFfZnN0ID0gdV9zdW1fcm93XzJfZnN0
OwotICAgIHVfc3VtX3Jvd18yX2ZzdCA9IHVfc3VtX3Jvd18zX2ZzdDsKLSAgICB1X3N1bV9yb3df
MV9zbmQgPSB1X3N1bV9yb3dfMl9zbmQ7Ci0gICAgdV9zdW1fcm93XzJfc25kID0gdV9zdW1fcm93
XzNfc25kOwotCi0gICAgdl9zdW1fcm93XzFfZnN0ID0gdl9zdW1fcm93XzJfZnN0OwotICAgIHZf
c3VtX3Jvd18yX2ZzdCA9IHZfc3VtX3Jvd18zX2ZzdDsKLSAgICB2X3N1bV9yb3dfMV9zbmQgPSB2
X3N1bV9yb3dfMl9zbmQ7Ci0gICAgdl9zdW1fcm93XzJfc25kID0gdl9zdW1fcm93XzNfc25kOwot
Ci0gICAgLy8gQWRkIGNocm9tYSB2YWx1ZXMKLSAgICB1X3N1bV9yb3dfZnN0ID0gdmFkZHFfdTMy
KHVfc3VtX3Jvd18xX2ZzdCwgdV9zdW1fcm93XzJfZnN0KTsKLSAgICB1X3N1bV9yb3dfc25kID0g
dmFkZHFfdTMyKHVfc3VtX3Jvd18xX3NuZCwgdV9zdW1fcm93XzJfc25kKTsKLSAgICBoaWdoYmRf
Z2V0X3N1bV84KHVfZGlzdCArIERJU1RfU1RSSURFLCAmdV9zdW1fcm93XzNfZnN0LCAmdV9zdW1f
cm93XzNfc25kKTsKLSAgICB1X3N1bV9yb3dfZnN0ID0gdmFkZHFfdTMyKHVfc3VtX3Jvd19mc3Qs
IHVfc3VtX3Jvd18zX2ZzdCk7Ci0gICAgdV9zdW1fcm93X3NuZCA9IHZhZGRxX3UzMih1X3N1bV9y
b3dfc25kLCB1X3N1bV9yb3dfM19zbmQpOwotCi0gICAgdl9zdW1fcm93X2ZzdCA9IHZhZGRxX3Uz
Mih2X3N1bV9yb3dfMV9mc3QsIHZfc3VtX3Jvd18yX2ZzdCk7Ci0gICAgdl9zdW1fcm93X3NuZCA9
IHZhZGRxX3UzMih2X3N1bV9yb3dfMV9zbmQsIHZfc3VtX3Jvd18yX3NuZCk7Ci0gICAgaGlnaGJk
X2dldF9zdW1fOCh2X2Rpc3QgKyBESVNUX1NUUklERSwgJnZfc3VtX3Jvd18zX2ZzdCwgJnZfc3Vt
X3Jvd18zX3NuZCk7Ci0gICAgdl9zdW1fcm93X2ZzdCA9IHZhZGRxX3UzMih2X3N1bV9yb3dfZnN0
LCB2X3N1bV9yb3dfM19mc3QpOwotICAgIHZfc3VtX3Jvd19zbmQgPSB2YWRkcV91MzIodl9zdW1f
cm93X3NuZCwgdl9zdW1fcm93XzNfc25kKTsKLQotICAgIC8vIEFkZCBsdW1hIHZhbHVlcwotICAg
IGhpZ2hiZF9hZGRfbHVtYV9kaXN0X3RvXzhfY2hyb21hX21vZCh5X2Rpc3QsIHNzX3gsIHNzX3ks
ICZ1X3N1bV9yb3dfZnN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmdV9zdW1fcm93X3NuZCwgJnZfc3VtX3Jvd19mc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZ2X3N1bV9yb3dfc25kKTsKLQotICAgIC8vIEdldCBtb2RpZmll
ciBhbmQgc3RvcmUgcmVzdWx0Ci0gICAgaWYgKGJsa19mdykgewotICAgICAgaGlnaGJkX2F2ZXJh
Z2VfNCgmdV9zdW1fcm93X2ZzdCwgdV9zdW1fcm93X2ZzdCwgJm11bF9mc3QsIHN0cmVuZ3RoLAot
ICAgICAgICAgICAgICAgICAgICAgICByb3VuZGluZywgYmxrX2Z3WzBdKTsKLSAgICAgIGhpZ2hi
ZF9hdmVyYWdlXzQoJnVfc3VtX3Jvd19zbmQsIHVfc3VtX3Jvd19zbmQsICZtdWxfc25kLCBzdHJl
bmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmcsIGJsa19md1sxXSk7Ci0KLSAg
ICAgIGhpZ2hiZF9hdmVyYWdlXzQoJnZfc3VtX3Jvd19mc3QsIHZfc3VtX3Jvd19mc3QsICZtdWxf
ZnN0LCBzdHJlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmcsIGJsa19md1sw
XSk7Ci0gICAgICBoaWdoYmRfYXZlcmFnZV80KCZ2X3N1bV9yb3dfc25kLCB2X3N1bV9yb3dfc25k
LCAmbXVsX3NuZCwgc3RyZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nLCBi
bGtfZndbMV0pOwotCi0gICAgfSBlbHNlIHsKLSAgICAgIGhpZ2hiZF9hdmVyYWdlXzgoJnVfc3Vt
X3Jvd19mc3QsICZ1X3N1bV9yb3dfc25kLCB1X3N1bV9yb3dfZnN0LAotICAgICAgICAgICAgICAg
ICAgICAgICB1X3N1bV9yb3dfc25kLCAmbXVsX2ZzdCwgJm11bF9zbmQsIHN0cmVuZ3RoLCByb3Vu
ZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0KTsKLSAgICAgIGhpZ2hiZF9hdmVy
YWdlXzgoJnZfc3VtX3Jvd19mc3QsICZ2X3N1bV9yb3dfc25kLCB2X3N1bV9yb3dfZnN0LAotICAg
ICAgICAgICAgICAgICAgICAgICB2X3N1bV9yb3dfc25kLCAmbXVsX2ZzdCwgJm11bF9zbmQsIHN0
cmVuZ3RoLCByb3VuZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0KTsKLSAgICB9
Ci0KLSAgICBoaWdoYmRfYWNjdW11bGF0ZV9hbmRfc3RvcmVfOCh1X3N1bV9yb3dfZnN0LCB1X3N1
bV9yb3dfc25kLCB1X3ByZSwgdV9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1X2FjY3VtKTsKLSAgICBoaWdoYmRfYWNjdW11bGF0ZV9hbmRfc3RvcmVfOCh2X3N1bV9y
b3dfZnN0LCB2X3N1bV9yb3dfc25kLCB2X3ByZSwgdl9jb3VudCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2X2FjY3VtKTsKLQotICAgIHVfcHJlICs9IHV2X3ByZV9zdHJpZGU7
Ci0gICAgdV9kaXN0ICs9IERJU1RfU1RSSURFOwotICAgIHZfcHJlICs9IHV2X3ByZV9zdHJpZGU7
Ci0gICAgdl9kaXN0ICs9IERJU1RfU1RSSURFOwotICAgIHVfY291bnQgKz0gdXZfcHJlX3N0cmlk
ZTsKLSAgICB1X2FjY3VtICs9IHV2X3ByZV9zdHJpZGU7Ci0gICAgdl9jb3VudCArPSB1dl9wcmVf
c3RyaWRlOwotICAgIHZfYWNjdW0gKz0gdXZfcHJlX3N0cmlkZTsKLQotICAgIHlfZGlzdCArPSBE
SVNUX1NUUklERSAqICgxICsgc3NfeSk7Ci0gIH0KLQotICAvLyBUaGUgbGFzdCByb3cKLSAgbXVs
X2ZzdCA9IHZsZDFxX3UzMihuZWlnaGJvcnNfZnN0WzBdKTsKLSAgbXVsX3NuZCA9IHZsZDFxX3Uz
MihuZWlnaGJvcnNfc25kWzBdKTsKLQotICAvLyBTaGlmdCB0aGUgcm93cyB1cAotICB1X3N1bV9y
b3dfMV9mc3QgPSB1X3N1bV9yb3dfMl9mc3Q7Ci0gIHVfc3VtX3Jvd18yX2ZzdCA9IHVfc3VtX3Jv
d18zX2ZzdDsKLSAgdV9zdW1fcm93XzFfc25kID0gdV9zdW1fcm93XzJfc25kOwotICB1X3N1bV9y
b3dfMl9zbmQgPSB1X3N1bV9yb3dfM19zbmQ7Ci0KLSAgdl9zdW1fcm93XzFfZnN0ID0gdl9zdW1f
cm93XzJfZnN0OwotICB2X3N1bV9yb3dfMl9mc3QgPSB2X3N1bV9yb3dfM19mc3Q7Ci0gIHZfc3Vt
X3Jvd18xX3NuZCA9IHZfc3VtX3Jvd18yX3NuZDsKLSAgdl9zdW1fcm93XzJfc25kID0gdl9zdW1f
cm93XzNfc25kOwotCi0gIC8vIEFkZCBjaHJvbWEgdmFsdWVzCi0gIHVfc3VtX3Jvd19mc3QgPSB2
YWRkcV91MzIodV9zdW1fcm93XzFfZnN0LCB1X3N1bV9yb3dfMl9mc3QpOwotICB2X3N1bV9yb3df
ZnN0ID0gdmFkZHFfdTMyKHZfc3VtX3Jvd18xX2ZzdCwgdl9zdW1fcm93XzJfZnN0KTsKLSAgdV9z
dW1fcm93X3NuZCA9IHZhZGRxX3UzMih1X3N1bV9yb3dfMV9zbmQsIHVfc3VtX3Jvd18yX3NuZCk7
Ci0gIHZfc3VtX3Jvd19zbmQgPSB2YWRkcV91MzIodl9zdW1fcm93XzFfc25kLCB2X3N1bV9yb3df
Ml9zbmQpOwotCi0gIC8vIEFkZCBsdW1hIHZhbHVlcwotICBoaWdoYmRfYWRkX2x1bWFfZGlzdF90
b184X2Nocm9tYV9tb2QoeV9kaXN0LCBzc194LCBzc195LCAmdV9zdW1fcm93X2ZzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1X3N1bV9yb3dfc25kLCAmdl9zdW1f
cm93X2ZzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2X3N1bV9y
b3dfc25kKTsKLQotICAvLyBHZXQgbW9kaWZpZXIgYW5kIHN0b3JlIHJlc3VsdAotICBpZiAoYmxr
X2Z3KSB7Ci0gICAgaGlnaGJkX2F2ZXJhZ2VfNCgmdV9zdW1fcm93X2ZzdCwgdV9zdW1fcm93X2Zz
dCwgJm11bF9mc3QsIHN0cmVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmcsIGJs
a19md1swXSk7Ci0gICAgaGlnaGJkX2F2ZXJhZ2VfNCgmdV9zdW1fcm93X3NuZCwgdV9zdW1fcm93
X3NuZCwgJm11bF9zbmQsIHN0cmVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmcs
IGJsa19md1sxXSk7Ci0KLSAgICBoaWdoYmRfYXZlcmFnZV80KCZ2X3N1bV9yb3dfZnN0LCB2X3N1
bV9yb3dfZnN0LCAmbXVsX2ZzdCwgc3RyZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICByb3Vu
ZGluZywgYmxrX2Z3WzBdKTsKLSAgICBoaWdoYmRfYXZlcmFnZV80KCZ2X3N1bV9yb3dfc25kLCB2
X3N1bV9yb3dfc25kLCAmbXVsX3NuZCwgc3RyZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICBy
b3VuZGluZywgYmxrX2Z3WzFdKTsKLQotICB9IGVsc2UgewotICAgIGhpZ2hiZF9hdmVyYWdlXzgo
JnVfc3VtX3Jvd19mc3QsICZ1X3N1bV9yb3dfc25kLCB1X3N1bV9yb3dfZnN0LAotICAgICAgICAg
ICAgICAgICAgICAgdV9zdW1fcm93X3NuZCwgJm11bF9mc3QsICZtdWxfc25kLCBzdHJlbmd0aCwg
cm91bmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICB3ZWlnaHQpOwotICAgIGhpZ2hiZF9hdmVy
YWdlXzgoJnZfc3VtX3Jvd19mc3QsICZ2X3N1bV9yb3dfc25kLCB2X3N1bV9yb3dfZnN0LAotICAg
ICAgICAgICAgICAgICAgICAgdl9zdW1fcm93X3NuZCwgJm11bF9mc3QsICZtdWxfc25kLCBzdHJl
bmd0aCwgcm91bmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICB3ZWlnaHQpOwotICB9Ci0KLSAg
aGlnaGJkX2FjY3VtdWxhdGVfYW5kX3N0b3JlXzgodV9zdW1fcm93X2ZzdCwgdV9zdW1fcm93X3Nu
ZCwgdV9wcmUsIHVfY291bnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVfYWNj
dW0pOwotICBoaWdoYmRfYWNjdW11bGF0ZV9hbmRfc3RvcmVfOCh2X3N1bV9yb3dfZnN0LCB2X3N1
bV9yb3dfc25kLCB2X3ByZSwgdl9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdl9hY2N1bSk7Ci19Ci0KLS8vIFBlcmZvcm0gdGVtcG9yYWwgZmlsdGVyIGZvciB0aGUgY2hy
b21hIGNvbXBvbmVudHMuCi1zdGF0aWMgdm9pZCBoaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVy
X2Nocm9tYSgKLSAgICBjb25zdCB1aW50MTZfdCAqdV9wcmUsIGNvbnN0IHVpbnQxNl90ICp2X3By
ZSwgaW50IHV2X3ByZV9zdHJpZGUsCi0gICAgdW5zaWduZWQgaW50IGJsb2NrX3dpZHRoLCB1bnNp
Z25lZCBpbnQgYmxvY2tfaGVpZ2h0LCBpbnQgc3NfeCwgaW50IHNzX3ksCi0gICAgaW50IHN0cmVu
Z3RoLCBjb25zdCBpbnQgKmJsa19mdywgaW50IHVzZV93aG9sZV9ibGssIHVpbnQzMl90ICp1X2Fj
Y3VtLAotICAgIHVpbnQxNl90ICp1X2NvdW50LCB1aW50MzJfdCAqdl9hY2N1bSwgdWludDE2X3Qg
KnZfY291bnQsCi0gICAgY29uc3QgdWludDMyX3QgKnlfZGlzdCwgY29uc3QgdWludDMyX3QgKnVf
ZGlzdCwgY29uc3QgdWludDMyX3QgKnZfZGlzdCkgewotICBjb25zdCB1bnNpZ25lZCBpbnQgdXZf
d2lkdGggPSBibG9ja193aWR0aCA+PiBzc194LAotICAgICAgICAgICAgICAgICAgICAgdXZfaGVp
Z2h0ID0gYmxvY2tfaGVpZ2h0ID4+IHNzX3k7Ci0KLSAgdW5zaWduZWQgaW50IGJsa19jb2wgPSAw
LCB1dl9ibGtfY29sID0gMDsKLSAgY29uc3QgdW5zaWduZWQgaW50IHV2X2Jsa19jb2xfc3RlcCA9
IDgsIGJsa19jb2xfc3RlcCA9IDggPDwgc3NfeDsKLSAgY29uc3QgdW5zaWduZWQgaW50IHV2X21p
ZF93aWR0aCA9IHV2X3dpZHRoID4+IDEsCi0gICAgICAgICAgICAgICAgICAgICB1dl9sYXN0X3dp
ZHRoID0gdXZfd2lkdGggLSB1dl9ibGtfY29sX3N0ZXA7Ci0gIGludCB0b3Bfd2VpZ2h0ID0gYmxr
X2Z3WzBdLAotICAgICAgYm90dG9tX3dlaWdodCA9IHVzZV93aG9sZV9ibGsgPyBibGtfZndbMF0g
OiBibGtfZndbMl07Ci0gIGNvbnN0IHVpbnQzMl90ICpjb25zdCAqbmVpZ2hib3JzX2ZzdDsKLSAg
Y29uc3QgdWludDMyX3QgKmNvbnN0ICpuZWlnaGJvcnNfc25kOwotCi0gIGlmICh1dl93aWR0aCA9
PSA4KSB7Ci0gICAgLy8gU3BlY2lhbCBDYXNlOiBXZSBhcmUgc3Vic2FtcGxpbmcgaW4geCBkaXJl
Y3Rpb24gb24gYSAxNngxNiBibG9jay4gU2luY2UKLSAgICAvLyB3ZSBhcmUgb3BlcmF0aW5nIG9u
IGEgcm93IG9mIDggY2hyb21hIHBpeGVscywgd2UgY2FuJ3QgdXNlIHRoZSB1c3VhbAotICAgIC8v
IGxlZnQtbWlkZGxlLXJpZ2h0IHBhdHRlcm4uCi0gICAgYXNzZXJ0KHNzX3gpOwotCi0gICAgaWYg
KHNzX3kpIHsKLSAgICAgIG5laWdoYm9yc19mc3QgPSBISUdIQkRfQ0hST01BX0RPVUJMRV9TU19M
RUZUX0NPTFVNTl9ORUlHSEJPUlM7Ci0gICAgICBuZWlnaGJvcnNfc25kID0gSElHSEJEX0NIUk9N
QV9ET1VCTEVfU1NfUklHSFRfQ09MVU1OX05FSUdIQk9SUzsKLSAgICB9IGVsc2UgewotICAgICAg
bmVpZ2hib3JzX2ZzdCA9IEhJR0hCRF9DSFJPTUFfU0lOR0xFX1NTX0xFRlRfQ09MVU1OX05FSUdI
Qk9SUzsKLSAgICAgIG5laWdoYm9yc19zbmQgPSBISUdIQkRfQ0hST01BX1NJTkdMRV9TU19SSUdI
VF9DT0xVTU5fTkVJR0hCT1JTOwotICAgIH0KLQotICAgIGlmICh1c2Vfd2hvbGVfYmxrKSB7Ci0g
ICAgICBoaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAotICAgICAgICAgIHVf
cHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1dl93
aWR0aCwKLSAgICAgICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLCB1X2FjY3Vt
ICsgdXZfYmxrX2NvbCwKLSAgICAgICAgICB1X2NvdW50ICsgdXZfYmxrX2NvbCwgdl9hY2N1bSAr
IHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLAotICAgICAgICAgIHlfZGlzdCArIGJs
a19jb2wsIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsCi0gICAgICAg
ICAgbmVpZ2hib3JzX2ZzdCwgbmVpZ2hib3JzX3NuZCwgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdo
dCwgTlVMTCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0
ZXJfY2hyb21hXzgoCi0gICAgICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2X2Js
a19jb2wsIHV2X3ByZV9zdHJpZGUsIHV2X3dpZHRoLAotICAgICAgICAgIHV2X2hlaWdodCwgc3Nf
eCwgc3NfeSwgc3RyZW5ndGgsIHVfYWNjdW0gKyB1dl9ibGtfY29sLAotICAgICAgICAgIHVfY291
bnQgKyB1dl9ibGtfY29sLCB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Jsa19j
b2wsCi0gICAgICAgICAgeV9kaXN0ICsgYmxrX2NvbCwgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9k
aXN0ICsgdXZfYmxrX2NvbCwKLSAgICAgICAgICBuZWlnaGJvcnNfZnN0LCBuZWlnaGJvcnNfc25k
LCAwLCAwLCBibGtfZncpOwotICAgIH0KLQotICAgIHJldHVybjsKLSAgfQotCi0gIC8vIExlZnQK
LSAgaWYgKHNzX3ggJiYgc3NfeSkgewotICAgIG5laWdoYm9yc19mc3QgPSBISUdIQkRfQ0hST01B
X0RPVUJMRV9TU19MRUZUX0NPTFVNTl9ORUlHSEJPUlM7Ci0gICAgbmVpZ2hib3JzX3NuZCA9IEhJ
R0hCRF9DSFJPTUFfRE9VQkxFX1NTX01JRERMRV9DT0xVTU5fTkVJR0hCT1JTOwotICB9IGVsc2Ug
aWYgKHNzX3ggfHwgc3NfeSkgewotICAgIG5laWdoYm9yc19mc3QgPSBISUdIQkRfQ0hST01BX1NJ
TkdMRV9TU19MRUZUX0NPTFVNTl9ORUlHSEJPUlM7Ci0gICAgbmVpZ2hib3JzX3NuZCA9IEhJR0hC
RF9DSFJPTUFfU0lOR0xFX1NTX01JRERMRV9DT0xVTU5fTkVJR0hCT1JTOwotICB9IGVsc2Ugewot
ICAgIG5laWdoYm9yc19mc3QgPSBISUdIQkRfQ0hST01BX05PX1NTX0xFRlRfQ09MVU1OX05FSUdI
Qk9SUzsKLSAgICBuZWlnaGJvcnNfc25kID0gSElHSEJEX0NIUk9NQV9OT19TU19NSURETEVfQ09M
VU1OX05FSUdIQk9SUzsKLSAgfQotCi0gIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hy
b21hXzgoCi0gICAgICB1X3ByZSArIHV2X2Jsa19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZf
cHJlX3N0cmlkZSwgdXZfd2lkdGgsCi0gICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVu
Z3RoLCB1X2FjY3VtICsgdXZfYmxrX2NvbCwKLSAgICAgIHVfY291bnQgKyB1dl9ibGtfY29sLCB2
X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsCi0gICAgICB5X2Rpc3Qg
KyBibGtfY29sLCB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWln
aGJvcnNfZnN0LAotICAgICAgbmVpZ2hib3JzX3NuZCwgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdo
dCwgTlVMTCk7Ci0KLSAgYmxrX2NvbCArPSBibGtfY29sX3N0ZXA7Ci0gIHV2X2Jsa19jb2wgKz0g
dXZfYmxrX2NvbF9zdGVwOwotCi0gIC8vIE1pZGRsZSBGaXJzdAotICBpZiAoc3NfeCAmJiBzc195
KSB7Ci0gICAgbmVpZ2hib3JzX2ZzdCA9IEhJR0hCRF9DSFJPTUFfRE9VQkxFX1NTX01JRERMRV9D
T0xVTU5fTkVJR0hCT1JTOwotICB9IGVsc2UgaWYgKHNzX3ggfHwgc3NfeSkgewotICAgIG5laWdo
Ym9yc19mc3QgPSBISUdIQkRfQ0hST01BX1NJTkdMRV9TU19NSURETEVfQ09MVU1OX05FSUdIQk9S
UzsKLSAgfSBlbHNlIHsKLSAgICBuZWlnaGJvcnNfZnN0ID0gSElHSEJEX0NIUk9NQV9OT19TU19N
SURETEVfQ09MVU1OX05FSUdIQk9SUzsKLSAgfQotCi0gIGZvciAoOyB1dl9ibGtfY29sIDwgdXZf
bWlkX3dpZHRoOwotICAgICAgIGJsa19jb2wgKz0gYmxrX2NvbF9zdGVwLCB1dl9ibGtfY29sICs9
IHV2X2Jsa19jb2xfc3RlcCkgewotICAgIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hy
b21hXzgoCi0gICAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1
dl9wcmVfc3RyaWRlLCB1dl93aWR0aCwKLSAgICAgICAgdXZfaGVpZ2h0LCBzc194LCBzc195LCBz
dHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsCi0gICAgICAgIHVfY291bnQgKyB1dl9ibGtf
Y29sLCB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsCi0gICAgICAg
IHlfZGlzdCArIGJsa19jb2wsIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19j
b2wsCi0gICAgICAgIG5laWdoYm9yc19mc3QsIG5laWdoYm9yc19zbmQsIHRvcF93ZWlnaHQsIGJv
dHRvbV93ZWlnaHQsIE5VTEwpOwotICB9Ci0KLSAgaWYgKCF1c2Vfd2hvbGVfYmxrKSB7Ci0gICAg
dG9wX3dlaWdodCA9IGJsa19md1sxXTsKLSAgICBib3R0b21fd2VpZ2h0ID0gYmxrX2Z3WzNdOwot
ICB9Ci0KLSAgLy8gTWlkZGxlIFNlY29uZAotICBmb3IgKDsgdXZfYmxrX2NvbCA8IHV2X2xhc3Rf
d2lkdGg7Ci0gICAgICAgYmxrX2NvbCArPSBibGtfY29sX3N0ZXAsIHV2X2Jsa19jb2wgKz0gdXZf
YmxrX2NvbF9zdGVwKSB7Ci0gICAgaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFf
OCgKLSAgICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2X2Jsa19jb2wsIHV2X3By
ZV9zdHJpZGUsIHV2X3dpZHRoLAotICAgICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVu
Z3RoLCB1X2FjY3VtICsgdXZfYmxrX2NvbCwKLSAgICAgICAgdV9jb3VudCArIHV2X2Jsa19jb2ws
IHZfYWNjdW0gKyB1dl9ibGtfY29sLCB2X2NvdW50ICsgdXZfYmxrX2NvbCwKLSAgICAgICAgeV9k
aXN0ICsgYmxrX2NvbCwgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwK
LSAgICAgICAgbmVpZ2hib3JzX2ZzdCwgbmVpZ2hib3JzX3NuZCwgdG9wX3dlaWdodCwgYm90dG9t
X3dlaWdodCwgTlVMTCk7Ci0gIH0KLQotICAvLyBSaWdodAotICBpZiAoc3NfeCAmJiBzc195KSB7
Ci0gICAgbmVpZ2hib3JzX3NuZCA9IEhJR0hCRF9DSFJPTUFfRE9VQkxFX1NTX1JJR0hUX0NPTFVN
Tl9ORUlHSEJPUlM7Ci0gIH0gZWxzZSBpZiAoc3NfeCB8fCBzc195KSB7Ci0gICAgbmVpZ2hib3Jz
X3NuZCA9IEhJR0hCRF9DSFJPTUFfU0lOR0xFX1NTX1JJR0hUX0NPTFVNTl9ORUlHSEJPUlM7Ci0g
IH0gZWxzZSB7Ci0gICAgbmVpZ2hib3JzX3NuZCA9IEhJR0hCRF9DSFJPTUFfTk9fU1NfUklHSFRf
Q09MVU1OX05FSUdIQk9SUzsKLSAgfQotCi0gIGhpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJf
Y2hyb21hXzgoCi0gICAgICB1X3ByZSArIHV2X2Jsa19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwg
dXZfcHJlX3N0cmlkZSwgdXZfd2lkdGgsCi0gICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0
cmVuZ3RoLCB1X2FjY3VtICsgdXZfYmxrX2NvbCwKLSAgICAgIHVfY291bnQgKyB1dl9ibGtfY29s
LCB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsCi0gICAgICB5X2Rp
c3QgKyBibGtfY29sLCB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLCBu
ZWlnaGJvcnNfZnN0LAotICAgICAgbmVpZ2hib3JzX3NuZCwgdG9wX3dlaWdodCwgYm90dG9tX3dl
aWdodCwgTlVMTCk7Ci19Ci0KLXZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJf
bmVvbigKLSAgICBjb25zdCB1aW50MTZfdCAqeV9zcmMsIGludCB5X3NyY19zdHJpZGUsIGNvbnN0
IHVpbnQxNl90ICp5X3ByZSwKLSAgICBpbnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1aW50MTZfdCAq
dV9zcmMsIGNvbnN0IHVpbnQxNl90ICp2X3NyYywKLSAgICBpbnQgdXZfc3JjX3N0cmlkZSwgY29u
c3QgdWludDE2X3QgKnVfcHJlLCBjb25zdCB1aW50MTZfdCAqdl9wcmUsCi0gICAgaW50IHV2X3By
ZV9zdHJpZGUsIHVuc2lnbmVkIGludCBibG9ja193aWR0aCwgdW5zaWduZWQgaW50IGJsb2NrX2hl
aWdodCwKLSAgICBpbnQgc3NfeCwgaW50IHNzX3ksIGludCBzdHJlbmd0aCwgY29uc3QgaW50ICpj
b25zdCBibGtfZncsCi0gICAgaW50IHVzZV93aG9sZV9ibGssIHVpbnQzMl90ICp5X2FjY3VtLCB1
aW50MTZfdCAqeV9jb3VudCwgdWludDMyX3QgKnVfYWNjdW0sCi0gICAgdWludDE2X3QgKnVfY291
bnQsIHVpbnQzMl90ICp2X2FjY3VtLCB1aW50MTZfdCAqdl9jb3VudCkgewotICBjb25zdCB1bnNp
Z25lZCBpbnQgY2hyb21hX2hlaWdodCA9IGJsb2NrX2hlaWdodCA+PiBzc195LAotICAgICAgICAg
ICAgICAgICAgICAgY2hyb21hX3dpZHRoID0gYmxvY2tfd2lkdGggPj4gc3NfeDsKLQotICBERUNM
QVJFX0FMSUdORUQoMTYsIHVpbnQzMl90LCB5X2Rpc3RbQkggKiBESVNUX1NUUklERV0pID0geyAw
IH07Ci0gIERFQ0xBUkVfQUxJR05FRCgxNiwgdWludDMyX3QsIHVfZGlzdFtCSCAqIERJU1RfU1RS
SURFXSkgPSB7IDAgfTsKLSAgREVDTEFSRV9BTElHTkVEKDE2LCB1aW50MzJfdCwgdl9kaXN0W0JI
ICogRElTVF9TVFJJREVdKSA9IHsgMCB9OwotCi0gIHVpbnQzMl90ICp5X2Rpc3RfcHRyID0geV9k
aXN0ICsgMSwgKnVfZGlzdF9wdHIgPSB1X2Rpc3QgKyAxLAotICAgICAgICAgICAqdl9kaXN0X3B0
ciA9IHZfZGlzdCArIDE7Ci0gIGNvbnN0IHVpbnQxNl90ICp5X3NyY19wdHIgPSB5X3NyYywgKnVf
c3JjX3B0ciA9IHVfc3JjLCAqdl9zcmNfcHRyID0gdl9zcmM7Ci0gIGNvbnN0IHVpbnQxNl90ICp5
X3ByZV9wdHIgPSB5X3ByZSwgKnVfcHJlX3B0ciA9IHVfcHJlLCAqdl9wcmVfcHRyID0gdl9wcmU7
Ci0KLSAgLy8gTG9vcCB2YXJpYWJsZXMKLSAgdW5zaWduZWQgaW50IHJvdywgYmxrX2NvbDsKLQot
ICBhc3NlcnQoYmxvY2tfd2lkdGggPD0gQlcgJiYgImJsb2NrIHdpZHRoIHRvbyBsYXJnZSIpOwot
ICBhc3NlcnQoYmxvY2tfaGVpZ2h0IDw9IEJIICYmICJibG9jayBoZWlnaHQgdG9vIGxhcmdlIik7
Ci0gIGFzc2VydChibG9ja193aWR0aCAlIDE2ID09IDAgJiYgImJsb2NrIHdpZHRoIG11c3QgYmUg
bXVsdGlwbGUgb2YgMTYiKTsKLSAgYXNzZXJ0KGJsb2NrX2hlaWdodCAlIDIgPT0gMCAmJiAiYmxv
Y2sgaGVpZ2h0IG11c3QgYmUgZXZlbiIpOwotICBhc3NlcnQoKHNzX3ggPT0gMCB8fCBzc194ID09
IDEpICYmIChzc195ID09IDAgfHwgc3NfeSA9PSAxKSAmJgotICAgICAgICAgImludmFsaWQgY2hy
b21hIHN1YnNhbXBsaW5nIik7Ci0gIGFzc2VydChzdHJlbmd0aCA+PSA0ICYmIHN0cmVuZ3RoIDw9
IDE0ICYmCi0gICAgICAgICAiaW52YWxpZCBhZGp1c3RlZCB0ZW1wb3JhbCBmaWx0ZXIgc3RyZW5n
dGgiKTsKLSAgYXNzZXJ0KGJsa19md1swXSA+PSAwICYmICJmaWx0ZXIgd2VpZ2h0IG11c3QgYmUg
cG9zaXRpdmUiKTsKLSAgYXNzZXJ0KAotICAgICAgKHVzZV93aG9sZV9ibGsgfHwgKGJsa19md1sx
XSA+PSAwICYmIGJsa19md1syXSA+PSAwICYmIGJsa19md1szXSA+PSAwKSkgJiYKLSAgICAgICJz
dWJibG9jayBmaWx0ZXIgd2VpZ2h0IG11c3QgYmUgcG9zaXRpdmUiKTsKLSAgYXNzZXJ0KGJsa19m
d1swXSA8PSAyICYmICJzdWJibG9jayBmaWx0ZXIgd2VpZ2h0IG11c3QgYmUgbGVzcyB0aGFuIDIi
KTsKLSAgYXNzZXJ0KAotICAgICAgKHVzZV93aG9sZV9ibGsgfHwgKGJsa19md1sxXSA8PSAyICYm
IGJsa19md1syXSA8PSAyICYmIGJsa19md1szXSA8PSAyKSkgJiYKLSAgICAgICJzdWJibG9jayBm
aWx0ZXIgd2VpZ2h0IG11c3QgYmUgbGVzcyB0aGFuIDIiKTsKLQotICAvLyBQcmVjb21wdXRlIHRo
ZSBkaWZmZXJlbmNlIHNxdWFyZWQKLSAgZm9yIChyb3cgPSAwOyByb3cgPCBibG9ja19oZWlnaHQ7
IHJvdysrKSB7Ci0gICAgZm9yIChibGtfY29sID0gMDsgYmxrX2NvbCA8IGJsb2NrX3dpZHRoOyBi
bGtfY29sICs9IDgpIHsKLSAgICAgIGhpZ2hiZF9zdG9yZV9kaXN0XzgoeV9zcmNfcHRyICsgYmxr
X2NvbCwgeV9wcmVfcHRyICsgYmxrX2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgeV9k
aXN0X3B0ciArIGJsa19jb2wpOwotICAgIH0KLSAgICB5X3NyY19wdHIgKz0geV9zcmNfc3RyaWRl
OwotICAgIHlfcHJlX3B0ciArPSB5X3ByZV9zdHJpZGU7Ci0gICAgeV9kaXN0X3B0ciArPSBESVNU
X1NUUklERTsKLSAgfQotCi0gIGZvciAocm93ID0gMDsgcm93IDwgY2hyb21hX2hlaWdodDsgcm93
KyspIHsKLSAgICBmb3IgKGJsa19jb2wgPSAwOyBibGtfY29sIDwgY2hyb21hX3dpZHRoOyBibGtf
Y29sICs9IDgpIHsKLSAgICAgIGhpZ2hiZF9zdG9yZV9kaXN0XzgodV9zcmNfcHRyICsgYmxrX2Nv
bCwgdV9wcmVfcHRyICsgYmxrX2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdV9kaXN0
X3B0ciArIGJsa19jb2wpOwotICAgICAgaGlnaGJkX3N0b3JlX2Rpc3RfOCh2X3NyY19wdHIgKyBi
bGtfY29sLCB2X3ByZV9wdHIgKyBibGtfY29sLAotICAgICAgICAgICAgICAgICAgICAgICAgICB2
X2Rpc3RfcHRyICsgYmxrX2NvbCk7Ci0gICAgfQotCi0gICAgdV9zcmNfcHRyICs9IHV2X3NyY19z
dHJpZGU7Ci0gICAgdV9wcmVfcHRyICs9IHV2X3ByZV9zdHJpZGU7Ci0gICAgdV9kaXN0X3B0ciAr
PSBESVNUX1NUUklERTsKLSAgICB2X3NyY19wdHIgKz0gdXZfc3JjX3N0cmlkZTsKLSAgICB2X3By
ZV9wdHIgKz0gdXZfcHJlX3N0cmlkZTsKLSAgICB2X2Rpc3RfcHRyICs9IERJU1RfU1RSSURFOwot
ICB9Ci0KLSAgeV9kaXN0X3B0ciA9IHlfZGlzdCArIDE7Ci0gIHVfZGlzdF9wdHIgPSB1X2Rpc3Qg
KyAxOwotICB2X2Rpc3RfcHRyID0gdl9kaXN0ICsgMTsKLQotICBoaWdoYmRfYXBwbHlfdGVtcG9y
YWxfZmlsdGVyX2x1bWEoeV9wcmUsIHlfcHJlX3N0cmlkZSwgYmxvY2tfd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksIHN0
cmVuZ3RoLCBibGtfZncsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Vf
d2hvbGVfYmxrLCB5X2FjY3VtLCB5X2NvdW50LCB5X2Rpc3RfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdV9kaXN0X3B0ciwgdl9kaXN0X3B0cik7Ci0KLSAgaGlnaGJk
X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWEoCi0gICAgICB1X3ByZSwgdl9wcmUsIHV2X3By
ZV9zdHJpZGUsIGJsb2NrX3dpZHRoLCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksCi0gICAgICBz
dHJlbmd0aCwgYmxrX2Z3LCB1c2Vfd2hvbGVfYmxrLCB1X2FjY3VtLCB1X2NvdW50LCB2X2FjY3Vt
LCB2X2NvdW50LAotICAgICAgeV9kaXN0X3B0ciwgdV9kaXN0X3B0ciwgdl9kaXN0X3B0cik7Ci19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9xdWFudGl6
ZV9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9xdWFudGl6ZV9u
ZW9uLmMKaW5kZXggOTZkMDYxNDM2N2MyLi5kNzVhNDgxNzk2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvYXJtL25lb24vdnA5X3F1YW50aXplX25lb24uYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL2FybS9uZW9uL3ZwOV9xdWFudGl6ZV9uZW9uLmMKQEAgLTExLDEz
ICsxMSwxMSBAQAogI2luY2x1ZGUgPGFybV9uZW9uLmg+CiAjaW5jbHVkZSA8YXNzZXJ0Lmg+CiAj
aW5jbHVkZSA8bWF0aC5oPgotI2luY2x1ZGUgPHN0ZGludC5oPgogCiAjaW5jbHVkZSAiLi92cHhf
Y29uZmlnLmgiCiAjaW5jbHVkZSAidnB4X21lbS92cHhfbWVtLmgiCiAKICNpbmNsdWRlICJ2cDkv
Y29tbW9uL3ZwOV9xdWFudF9jb21tb24uaCIKLSNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9zY2Fu
LmgiCiAjaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfc2VnX2NvbW1vbi5oIgogCiAjaW5jbHVkZSAi
dnA5L2VuY29kZXIvdnA5X2VuY29kZXIuaCIKQEAgLTI4LDggKzI2LDkgQEAKICNpbmNsdWRlICJ2
cHhfZHNwL2FybS9tZW1fbmVvbi5oIgogI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9jb21tb24u
aCIKIAotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCBjYWxjdWxhdGVfZHFjb2VmZl9hbmRf
c3RvcmUoCi0gICAgY29uc3QgaW50MTZ4OF90IHFjb2VmZiwgY29uc3QgaW50MTZ4OF90IGRlcXVh
bnQsIHRyYW5fbG93X3QgKmRxY29lZmYpIHsKK3N0YXRpYyBJTkxJTkUgdm9pZCBjYWxjdWxhdGVf
ZHFjb2VmZl9hbmRfc3RvcmUoY29uc3QgaW50MTZ4OF90IHFjb2VmZiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZ4OF90IGRlcXVhbnQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QgKmRxY29lZmYpIHsKICAgY29uc3QgaW50MzJ4NF90IGRxY29lZmZfMCA9CiAgICAgICB2bXVs
bF9zMTYodmdldF9sb3dfczE2KHFjb2VmZiksIHZnZXRfbG93X3MxNihkZXF1YW50KSk7CiAgIGNv
bnN0IGludDMyeDRfdCBkcWNvZWZmXzEgPQpAQCAtNDMsMTM1ICs0MiwxNDkgQEAgc3RhdGljIFZQ
WF9GT1JDRV9JTkxJTkUgdm9pZCBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmUoCiAjZW5kaWYg
IC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICiB9CiAKLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5F
IGludDE2eDhfdCBnZXRfbWF4X2xhbmVfZW9iKGNvbnN0IGludDE2X3QgKmlzY2FuX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2eDhf
dCB2X2VvYm1heCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNng4X3Qgdl9uel9tYXNrKSB7Ci0gIGNvbnN0IGludDE2eDhfdCB2X2lzY2Fu
ID0gdmxkMXFfczE2KCZpc2Nhbl9wdHJbMF0pOwotICBjb25zdCBpbnQxNng4X3Qgdl9uel9pc2Nh
biA9IHZic2xxX3MxNih2X256X21hc2ssIHZkdXBxX25fczE2KDApLCB2X2lzY2FuKTsKLSAgcmV0
dXJuIHZtYXhxX3MxNih2X2VvYm1heCwgdl9uel9pc2Nhbik7Ci19Ci0KLXN0YXRpYyBWUFhfRk9S
Q0VfSU5MSU5FIHVpbnQxNl90IGdldF9tYXhfZW9iKGludDE2eDhfdCB2X2VvYm1heCkgewotI2lm
IFZQWF9BUkNIX0FBUkNINjQKLSAgcmV0dXJuICh1aW50MTZfdCl2bWF4dnFfczE2KHZfZW9ibWF4
KTsKLSNlbHNlCi0gIGNvbnN0IGludDE2eDRfdCB2X2VvYm1heF8zMjEwID0KLSAgICAgIHZtYXhf
czE2KHZnZXRfbG93X3MxNih2X2VvYm1heCksIHZnZXRfaGlnaF9zMTYodl9lb2JtYXgpKTsKLSAg
Y29uc3QgaW50NjR4MV90IHZfZW9ibWF4X3h4MzIgPQotICAgICAgdnNocl9uX3M2NCh2cmVpbnRl
cnByZXRfczY0X3MxNih2X2VvYm1heF8zMjEwKSwgMzIpOwotICBjb25zdCBpbnQxNng0X3Qgdl9l
b2JtYXhfdG1wID0KLSAgICAgIHZtYXhfczE2KHZfZW9ibWF4XzMyMTAsIHZyZWludGVycHJldF9z
MTZfczY0KHZfZW9ibWF4X3h4MzIpKTsKLSAgY29uc3QgaW50NjR4MV90IHZfZW9ibWF4X3h4eDMg
PQotICAgICAgdnNocl9uX3M2NCh2cmVpbnRlcnByZXRfczY0X3MxNih2X2VvYm1heF90bXApLCAx
Nik7Ci0gIGNvbnN0IGludDE2eDRfdCB2X2VvYm1heF9maW5hbCA9Ci0gICAgICB2bWF4X3MxNih2
X2VvYm1heF90bXAsIHZyZWludGVycHJldF9zMTZfczY0KHZfZW9ibWF4X3h4eDMpKTsKLQotICBy
ZXR1cm4gKHVpbnQxNl90KXZnZXRfbGFuZV9zMTYodl9lb2JtYXhfZmluYWwsIDApOwotI2VuZGlm
ICAvLyBWUFhfQVJDSF9BQVJDSDY0Ci19Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQg
bG9hZF9mcF92YWx1ZXMoCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKm1iX3Bs
YW5lLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwKLSAgICBpbnQxNng4X3QgKnJvdW5kLCBp
bnQxNng4X3QgKnF1YW50LCBpbnQxNng4X3QgKmRlcXVhbnQpIHsKLSAgKnJvdW5kID0gdmxkMXFf
czE2KG1iX3BsYW5lLT5yb3VuZF9mcCk7Ci0gICpxdWFudCA9IHZsZDFxX3MxNihtYl9wbGFuZS0+
cXVhbnRfZnApOwotICAqZGVxdWFudCA9IHZsZDFxX3MxNihkZXF1YW50X3B0cik7Ci19Ci0KLXN0
YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQgdXBkYXRlX2ZwX3ZhbHVlcyhpbnQxNng4X3QgKnZf
cm91bmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MTZ4OF90ICp2X3F1YW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDE2eDhfdCAqdl9kZXF1YW50KSB7Ci0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICAq
dl9yb3VuZCA9IHZkdXBxX2xhbmVxX3MxNigqdl9yb3VuZCwgMSk7Ci0gICp2X3F1YW50ID0gdmR1
cHFfbGFuZXFfczE2KCp2X3F1YW50LCAxKTsKLSAgKnZfZGVxdWFudCA9IHZkdXBxX2xhbmVxX3Mx
Nigqdl9kZXF1YW50LCAxKTsKLSNlbHNlCi0gICp2X3JvdW5kID0gdmR1cHFfbGFuZV9zMTYodmdl
dF9sb3dfczE2KCp2X3JvdW5kKSwgMSk7Ci0gICp2X3F1YW50ID0gdmR1cHFfbGFuZV9zMTYodmdl
dF9sb3dfczE2KCp2X3F1YW50KSwgMSk7Ci0gICp2X2RlcXVhbnQgPSB2ZHVwcV9sYW5lX3MxNih2
Z2V0X2xvd19zMTYoKnZfZGVxdWFudCksIDEpOwotI2VuZGlmCi19Ci0KLXN0YXRpYyBWUFhfRk9S
Q0VfSU5MSU5FIHZvaWQgcXVhbnRpemVfZnBfOCgKLSAgICBjb25zdCBpbnQxNng4X3QgKnZfcm91
bmQsIGNvbnN0IGludDE2eDhfdCAqdl9xdWFudCwKLSAgICBjb25zdCBpbnQxNng4X3QgKnZfZGVx
dWFudCwgY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLAotICAgIGNvbnN0IGludDE2X3QgKmlz
Y2FuX3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIs
Ci0gICAgaW50MTZ4OF90ICp2X2VvYm1heCkgewotICBjb25zdCBpbnQxNng4X3Qgdl96ZXJvID0g
dmR1cHFfbl9zMTYoMCk7Ci0gIGNvbnN0IGludDE2eDhfdCB2X2NvZWZmID0gbG9hZF90cmFuX2xv
d190b19zMTZxKGNvZWZmX3B0cik7Ci0gIGNvbnN0IGludDE2eDhfdCB2X2NvZWZmX3NpZ24gPSB2
c2hycV9uX3MxNih2X2NvZWZmLCAxNSk7Ci0gIGNvbnN0IGludDE2eDhfdCB2X2FicyA9IHZhYnNx
X3MxNih2X2NvZWZmKTsKLSAgY29uc3QgaW50MTZ4OF90IHZfdG1wID0gdnFhZGRxX3MxNih2X2Fi
cywgKnZfcm91bmQpOwotICBjb25zdCBpbnQzMng0X3Qgdl90bXBfbG8gPQotICAgICAgdm11bGxf
czE2KHZnZXRfbG93X3MxNih2X3RtcCksIHZnZXRfbG93X3MxNigqdl9xdWFudCkpOwotICBjb25z
dCBpbnQzMng0X3Qgdl90bXBfaGkgPQotICAgICAgdm11bGxfczE2KHZnZXRfaGlnaF9zMTYodl90
bXApLCB2Z2V0X2hpZ2hfczE2KCp2X3F1YW50KSk7Ci0gIGNvbnN0IGludDE2eDhfdCB2X3RtcDIg
PQotICAgICAgdmNvbWJpbmVfczE2KHZzaHJuX25fczMyKHZfdG1wX2xvLCAxNiksIHZzaHJuX25f
czMyKHZfdG1wX2hpLCAxNikpOwotICBjb25zdCB1aW50MTZ4OF90IHZfbnpfbWFzayA9IHZjZXFx
X3MxNih2X3RtcDIsIHZfemVybyk7Ci0gIGNvbnN0IGludDE2eDhfdCB2X3Fjb2VmZl9hID0gdmVv
cnFfczE2KHZfdG1wMiwgdl9jb2VmZl9zaWduKTsKLSAgY29uc3QgaW50MTZ4OF90IHZfcWNvZWZm
ID0gdnN1YnFfczE2KHZfcWNvZWZmX2EsIHZfY29lZmZfc2lnbik7Ci0gIGNhbGN1bGF0ZV9kcWNv
ZWZmX2FuZF9zdG9yZSh2X3Fjb2VmZiwgKnZfZGVxdWFudCwgZHFjb2VmZl9wdHIpOwotICBzdG9y
ZV9zMTZxX3RvX3RyYW5fbG93KHFjb2VmZl9wdHIsIHZfcWNvZWZmKTsKLQotICAqdl9lb2JtYXgg
PSBnZXRfbWF4X2xhbmVfZW9iKGlzY2FuX3B0ciwgKnZfZW9ibWF4LCB2X256X21hc2spOwotfQot
Ci12b2lkIHZwOV9xdWFudGl6ZV9mcF9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lICptYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAq
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRl
ciAqY29uc3Qgc2Nhbl9vcmRlcikgewordm9pZCB2cDlfcXVhbnRpemVfZnBfbmVvbihjb25zdCB0
cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IGNvdW50LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsIHRyYW5fbG93X3Qg
KnFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29l
ZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmlzY2FuKSB7CiAgIC8vIFF1YW50aXphdGlv
biBwYXNzOiBBbGwgY29lZmZpY2llbnRzIHdpdGggaW5kZXggPj0gemVyb19mbGFnIGFyZQogICAv
LyBza2lwcGFibGUuIE5vdGU6IHplcm9fZmxhZyBjYW4gYmUgemVyby4KICAgaW50IGk7Ci0gIGlu
dDE2eDhfdCB2X2VvYm1heCA9IHZkdXBxX25fczE2KC0xKTsKLSAgaW50MTZ4OF90IHZfcm91bmQs
IHZfcXVhbnQsIHZfZGVxdWFudDsKLSAgY29uc3QgaW50MTZfdCAqaXNjYW4gPSBzY2FuX29yZGVy
LT5pc2NhbjsKLQotICBsb2FkX2ZwX3ZhbHVlcyhtYl9wbGFuZSwgZGVxdWFudF9wdHIsICZ2X3Jv
dW5kLCAmdl9xdWFudCwgJnZfZGVxdWFudCk7CisgIGNvbnN0IGludDE2eDhfdCB2X3plcm8gPSB2
ZHVwcV9uX3MxNigwKTsKKyAgY29uc3QgaW50MTZ4OF90IHZfb25lID0gdmR1cHFfbl9zMTYoMSk7
CisgIGludDE2eDhfdCB2X2VvYm1heF83NjU0MzIxMCA9IHZkdXBxX25fczE2KC0xKTsKKyAgaW50
MTZ4OF90IHZfcm91bmQgPSB2bW92cV9uX3MxNihyb3VuZF9wdHJbMV0pOworICBpbnQxNng4X3Qg
dl9xdWFudCA9IHZtb3ZxX25fczE2KHF1YW50X3B0clsxXSk7CisgIGludDE2eDhfdCB2X2RlcXVh
bnQgPSB2bW92cV9uX3MxNihkZXF1YW50X3B0clsxXSk7CisKKyAgKHZvaWQpc2NhbjsKKyAgKHZv
aWQpc2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKKworICAvLyBhZGp1c3QgZm9y
IGRjCisgIHZfcm91bmQgPSB2c2V0cV9sYW5lX3MxNihyb3VuZF9wdHJbMF0sIHZfcm91bmQsIDAp
OworICB2X3F1YW50ID0gdnNldHFfbGFuZV9zMTYocXVhbnRfcHRyWzBdLCB2X3F1YW50LCAwKTsK
KyAgdl9kZXF1YW50ID0gdnNldHFfbGFuZV9zMTYoZGVxdWFudF9wdHJbMF0sIHZfZGVxdWFudCwg
MCk7CiAgIC8vIHByb2Nlc3MgZGMgYW5kIHRoZSBmaXJzdCBzZXZlbiBhYyBjb2VmZnMKLSAgcXVh
bnRpemVfZnBfOCgmdl9yb3VuZCwgJnZfcXVhbnQsICZ2X2RlcXVhbnQsIGNvZWZmX3B0ciwgaXNj
YW4sIHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgZHFjb2VmZl9wdHIsICZ2X2VvYm1heCk7
Ci0KKyAgeworICAgIGNvbnN0IGludDE2eDhfdCB2X2lzY2FuID0gdmxkMXFfczE2KCZpc2Nhblsw
XSk7CisgICAgY29uc3QgaW50MTZ4OF90IHZfY29lZmYgPSBsb2FkX3RyYW5fbG93X3RvX3MxNnEo
Y29lZmZfcHRyKTsKKyAgICBjb25zdCBpbnQxNng4X3Qgdl9jb2VmZl9zaWduID0gdnNocnFfbl9z
MTYodl9jb2VmZiwgMTUpOworICAgIGNvbnN0IGludDE2eDhfdCB2X2FicyA9IHZhYnNxX3MxNih2
X2NvZWZmKTsKKyAgICBjb25zdCBpbnQxNng4X3Qgdl90bXAgPSB2cWFkZHFfczE2KHZfYWJzLCB2
X3JvdW5kKTsKKyAgICBjb25zdCBpbnQzMng0X3Qgdl90bXBfbG8gPQorICAgICAgICB2bXVsbF9z
MTYodmdldF9sb3dfczE2KHZfdG1wKSwgdmdldF9sb3dfczE2KHZfcXVhbnQpKTsKKyAgICBjb25z
dCBpbnQzMng0X3Qgdl90bXBfaGkgPQorICAgICAgICB2bXVsbF9zMTYodmdldF9oaWdoX3MxNih2
X3RtcCksIHZnZXRfaGlnaF9zMTYodl9xdWFudCkpOworICAgIGNvbnN0IGludDE2eDhfdCB2X3Rt
cDIgPQorICAgICAgICB2Y29tYmluZV9zMTYodnNocm5fbl9zMzIodl90bXBfbG8sIDE2KSwgdnNo
cm5fbl9zMzIodl90bXBfaGksIDE2KSk7CisgICAgY29uc3QgdWludDE2eDhfdCB2X256X21hc2sg
PSB2Y2VxcV9zMTYodl90bXAyLCB2X3plcm8pOworICAgIGNvbnN0IGludDE2eDhfdCB2X2lzY2Fu
X3BsdXMxID0gdmFkZHFfczE2KHZfaXNjYW4sIHZfb25lKTsKKyAgICBjb25zdCBpbnQxNng4X3Qg
dl9uel9pc2NhbiA9IHZic2xxX3MxNih2X256X21hc2ssIHZfemVybywgdl9pc2Nhbl9wbHVzMSk7
CisgICAgY29uc3QgaW50MTZ4OF90IHZfcWNvZWZmX2EgPSB2ZW9ycV9zMTYodl90bXAyLCB2X2Nv
ZWZmX3NpZ24pOworICAgIGNvbnN0IGludDE2eDhfdCB2X3Fjb2VmZiA9IHZzdWJxX3MxNih2X3Fj
b2VmZl9hLCB2X2NvZWZmX3NpZ24pOworICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZSh2
X3Fjb2VmZiwgdl9kZXF1YW50LCBkcWNvZWZmX3B0cik7CisgICAgdl9lb2JtYXhfNzY1NDMyMTAg
PSB2bWF4cV9zMTYodl9lb2JtYXhfNzY1NDMyMTAsIHZfbnpfaXNjYW4pOworICAgIHN0b3JlX3Mx
NnFfdG9fdHJhbl9sb3cocWNvZWZmX3B0ciwgdl9xY29lZmYpOworICAgIHZfcm91bmQgPSB2bW92
cV9uX3MxNihyb3VuZF9wdHJbMV0pOworICAgIHZfcXVhbnQgPSB2bW92cV9uX3MxNihxdWFudF9w
dHJbMV0pOworICAgIHZfZGVxdWFudCA9IHZtb3ZxX25fczE2KGRlcXVhbnRfcHRyWzFdKTsKKyAg
fQogICAvLyBub3cgcHJvY2VzcyB0aGUgcmVzdCBvZiB0aGUgYWMgY29lZmZzCi0gIHVwZGF0ZV9m
cF92YWx1ZXMoJnZfcm91bmQsICZ2X3F1YW50LCAmdl9kZXF1YW50KTsKLSAgZm9yIChpID0gODsg
aSA8IG5fY29lZmZzOyBpICs9IDgpIHsKLSAgICBxdWFudGl6ZV9mcF84KCZ2X3JvdW5kLCAmdl9x
dWFudCwgJnZfZGVxdWFudCwgY29lZmZfcHRyICsgaSwgaXNjYW4gKyBpLAotICAgICAgICAgICAg
ICAgICAgcWNvZWZmX3B0ciArIGksIGRxY29lZmZfcHRyICsgaSwgJnZfZW9ibWF4KTsKKyAgZm9y
IChpID0gODsgaSA8IGNvdW50OyBpICs9IDgpIHsKKyAgICBjb25zdCBpbnQxNng4X3Qgdl9pc2Nh
biA9IHZsZDFxX3MxNigmaXNjYW5baV0pOworICAgIGNvbnN0IGludDE2eDhfdCB2X2NvZWZmID0g
bG9hZF90cmFuX2xvd190b19zMTZxKGNvZWZmX3B0ciArIGkpOworICAgIGNvbnN0IGludDE2eDhf
dCB2X2NvZWZmX3NpZ24gPSB2c2hycV9uX3MxNih2X2NvZWZmLCAxNSk7CisgICAgY29uc3QgaW50
MTZ4OF90IHZfYWJzID0gdmFic3FfczE2KHZfY29lZmYpOworICAgIGNvbnN0IGludDE2eDhfdCB2
X3RtcCA9IHZxYWRkcV9zMTYodl9hYnMsIHZfcm91bmQpOworICAgIGNvbnN0IGludDMyeDRfdCB2
X3RtcF9sbyA9CisgICAgICAgIHZtdWxsX3MxNih2Z2V0X2xvd19zMTYodl90bXApLCB2Z2V0X2xv
d19zMTYodl9xdWFudCkpOworICAgIGNvbnN0IGludDMyeDRfdCB2X3RtcF9oaSA9CisgICAgICAg
IHZtdWxsX3MxNih2Z2V0X2hpZ2hfczE2KHZfdG1wKSwgdmdldF9oaWdoX3MxNih2X3F1YW50KSk7
CisgICAgY29uc3QgaW50MTZ4OF90IHZfdG1wMiA9CisgICAgICAgIHZjb21iaW5lX3MxNih2c2hy
bl9uX3MzMih2X3RtcF9sbywgMTYpLCB2c2hybl9uX3MzMih2X3RtcF9oaSwgMTYpKTsKKyAgICBj
b25zdCB1aW50MTZ4OF90IHZfbnpfbWFzayA9IHZjZXFxX3MxNih2X3RtcDIsIHZfemVybyk7Cisg
ICAgY29uc3QgaW50MTZ4OF90IHZfaXNjYW5fcGx1czEgPSB2YWRkcV9zMTYodl9pc2Nhbiwgdl9v
bmUpOworICAgIGNvbnN0IGludDE2eDhfdCB2X256X2lzY2FuID0gdmJzbHFfczE2KHZfbnpfbWFz
aywgdl96ZXJvLCB2X2lzY2FuX3BsdXMxKTsKKyAgICBjb25zdCBpbnQxNng4X3Qgdl9xY29lZmZf
YSA9IHZlb3JxX3MxNih2X3RtcDIsIHZfY29lZmZfc2lnbik7CisgICAgY29uc3QgaW50MTZ4OF90
IHZfcWNvZWZmID0gdnN1YnFfczE2KHZfcWNvZWZmX2EsIHZfY29lZmZfc2lnbik7CisgICAgY2Fs
Y3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlKHZfcWNvZWZmLCB2X2RlcXVhbnQsIGRxY29lZmZfcHRy
ICsgaSk7CisgICAgdl9lb2JtYXhfNzY1NDMyMTAgPSB2bWF4cV9zMTYodl9lb2JtYXhfNzY1NDMy
MTAsIHZfbnpfaXNjYW4pOworICAgIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3cocWNvZWZmX3B0ciAr
IGksIHZfcWNvZWZmKTsKICAgfQotCi0gICplb2JfcHRyID0gZ2V0X21heF9lb2Iodl9lb2JtYXgp
OworI2lmZGVmIF9fYWFyY2g2NF9fCisgICplb2JfcHRyID0gdm1heHZxX3MxNih2X2VvYm1heF83
NjU0MzIxMCk7CisjZWxzZQorICB7CisgICAgY29uc3QgaW50MTZ4NF90IHZfZW9ibWF4XzMyMTAg
PSB2bWF4X3MxNih2Z2V0X2xvd19zMTYodl9lb2JtYXhfNzY1NDMyMTApLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdldF9oaWdoX3MxNih2X2VvYm1heF83
NjU0MzIxMCkpOworICAgIGNvbnN0IGludDY0eDFfdCB2X2VvYm1heF94eDMyID0KKyAgICAgICAg
dnNocl9uX3M2NCh2cmVpbnRlcnByZXRfczY0X3MxNih2X2VvYm1heF8zMjEwKSwgMzIpOworICAg
IGNvbnN0IGludDE2eDRfdCB2X2VvYm1heF90bXAgPQorICAgICAgICB2bWF4X3MxNih2X2VvYm1h
eF8zMjEwLCB2cmVpbnRlcnByZXRfczE2X3M2NCh2X2VvYm1heF94eDMyKSk7CisgICAgY29uc3Qg
aW50NjR4MV90IHZfZW9ibWF4X3h4eDMgPQorICAgICAgICB2c2hyX25fczY0KHZyZWludGVycHJl
dF9zNjRfczE2KHZfZW9ibWF4X3RtcCksIDE2KTsKKyAgICBjb25zdCBpbnQxNng0X3Qgdl9lb2Jt
YXhfZmluYWwgPQorICAgICAgICB2bWF4X3MxNih2X2VvYm1heF90bXAsIHZyZWludGVycHJldF9z
MTZfczY0KHZfZW9ibWF4X3h4eDMpKTsKKworICAgICplb2JfcHRyID0gKHVpbnQxNl90KXZnZXRf
bGFuZV9zMTYodl9lb2JtYXhfZmluYWwsIDApOworICB9CisjZW5kaWYgIC8vIF9fYWFyY2g2NF9f
CiB9CiAKIHN0YXRpYyBJTkxJTkUgaW50MzJ4NF90IGV4dHJhY3Rfc2lnbl9iaXQoaW50MzJ4NF90
IGEpIHsKICAgcmV0dXJuIHZyZWludGVycHJldHFfczMyX3UzMih2c2hycV9uX3UzMih2cmVpbnRl
cnByZXRxX3UzMl9zMzIoYSksIDMxKSk7CiB9CiAKLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZv
aWQgcXVhbnRpemVfZnBfMzJ4MzJfOCgKLSAgICBjb25zdCBpbnQxNng4X3QgKnZfcm91bmQsIGNv
bnN0IGludDE2eDhfdCAqdl9xdWFudCwKLSAgICBjb25zdCBpbnQxNng4X3QgKnZfZGVxdWFudCwg
Y29uc3QgaW50MTZ4OF90ICpkZXF1YW50X3RocmVzaCwKLSAgICBjb25zdCB0cmFuX2xvd190ICpj
b2VmZl9wdHIsIGNvbnN0IGludDE2X3QgKmlzY2FuX3B0ciwKLSAgICB0cmFuX2xvd190ICpxY29l
ZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgaW50MTZ4OF90ICp2X2VvYm1heCkgewot
ICBjb25zdCBpbnQxNng4X3Qgdl9jb2VmZiA9IGxvYWRfdHJhbl9sb3dfdG9fczE2cShjb2VmZl9w
dHIpOwotICBjb25zdCBpbnQxNng4X3Qgdl9jb2VmZl9zaWduID0gdnNocnFfbl9zMTYodl9jb2Vm
ZiwgMTUpOwotICBjb25zdCBpbnQxNng4X3Qgdl9jb2VmZl9hYnMgPSB2YWJzcV9zMTYodl9jb2Vm
Zik7Ci0gIGNvbnN0IGludDE2eDhfdCB2X3Rocl9tYXNrID0KLSAgICAgIHZyZWludGVycHJldHFf
czE2X3UxNih2Y2dlcV9zMTYodl9jb2VmZl9hYnMsICpkZXF1YW50X3RocmVzaCkpOwotICBjb25z
dCBpbnQxNng4X3Qgdl90bXBfcm5kID0KLSAgICAgIHZhbmRxX3MxNih2cWFkZHFfczE2KHZfY29l
ZmZfYWJzLCAqdl9yb3VuZCksIHZfdGhyX21hc2spOwotICBjb25zdCBpbnQxNng4X3Qgdl9hYnNf
cWNvZWZmID0gdnFkbXVsaHFfczE2KHZfdG1wX3JuZCwgKnZfcXVhbnQpOwotICBjb25zdCBpbnQx
Nng4X3Qgdl9xY29lZmYgPQotICAgICAgdnN1YnFfczE2KHZlb3JxX3MxNih2X2Fic19xY29lZmYs
IHZfY29lZmZfc2lnbiksIHZfY29lZmZfc2lnbik7Ci0gIGNvbnN0IHVpbnQxNng4X3Qgdl9uel9t
YXNrID0gdmNlcXFfczE2KHZfYWJzX3Fjb2VmZiwgdmR1cHFfbl9zMTYoMCkpOwordm9pZCB2cDlf
cXVhbnRpemVfZnBfMzJ4MzJfbmVvbihjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0
cl90IGNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9j
aywgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0
ciwgdWludDE2X3QgKmVvYl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuKSB7CisgIGNvbnN0IGludDE2
eDhfdCBvbmUgPSB2ZHVwcV9uX3MxNigxKTsKKyAgY29uc3QgaW50MTZ4OF90IG5lZ19vbmUgPSB2
ZHVwcV9uX3MxNigtMSk7CiAKKyAgLy8gUk9VTkRfUE9XRVJfT0ZfVFdPKHJvdW5kX3B0cltdLCAx
KQorICBjb25zdCBpbnQxNng4X3Qgcm91bmQgPSB2cnNocnFfbl9zMTYodmxkMXFfczE2KHJvdW5k
X3B0ciksIDEpOworICBjb25zdCBpbnQxNng4X3QgcXVhbnQgPSB2bGQxcV9zMTYocXVhbnRfcHRy
KTsKKyAgY29uc3QgaW50MTZ4NF90IGRlcXVhbnQgPSB2bGQxX3MxNihkZXF1YW50X3B0cik7Cisg
IC8vIGRlcXVhbnQgPj4gMiBpcyB1c2VkIHNpbWlsYXIgdG8gemJpbiBhcyBhIHRocmVzaG9sZC4K
KyAgY29uc3QgaW50MTZ4OF90IGRlcXVhbnRfdGhyZXNoID0gdnNocnFfbl9zMTYodmxkMXFfczE2
KGRlcXVhbnRfcHRyKSwgMik7CisKKyAgLy8gUHJvY2VzcyBkYyBhbmQgdGhlIGZpcnN0IHNldmVu
IGFjIGNvZWZmcy4KKyAgY29uc3QgdWludDE2eDhfdCB2X2lzY2FuID0KKyAgICAgIHZyZWludGVy
cHJldHFfdTE2X3MxNih2YWRkcV9zMTYodmxkMXFfczE2KGlzY2FuKSwgb25lKSk7CisgIGNvbnN0
IGludDE2eDhfdCBjb2VmZiA9IGxvYWRfdHJhbl9sb3dfdG9fczE2cShjb2VmZl9wdHIpOworICBj
b25zdCBpbnQxNng4X3QgY29lZmZfc2lnbiA9IHZzaHJxX25fczE2KGNvZWZmLCAxNSk7CisgIGNv
bnN0IGludDE2eDhfdCBjb2VmZl9hYnMgPSB2YWJzcV9zMTYoY29lZmYpOworICBjb25zdCBpbnQx
Nng4X3QgZGVxdWFudF9tYXNrID0KKyAgICAgIHZyZWludGVycHJldHFfczE2X3UxNih2Y2dlcV9z
MTYoY29lZmZfYWJzLCBkZXF1YW50X3RocmVzaCkpOworCisgIGludDE2eDhfdCBxY29lZmYgPSB2
cWFkZHFfczE2KGNvZWZmX2Ficywgcm91bmQpOwogICBpbnQzMng0X3QgZHFjb2VmZl8wLCBkcWNv
ZWZmXzE7Ci0gIGRxY29lZmZfMCA9IHZtdWxsX3MxNih2Z2V0X2xvd19zMTYodl9xY29lZmYpLCB2
Z2V0X2xvd19zMTYoKnZfZGVxdWFudCkpOwotICBkcWNvZWZmXzEgPSB2bXVsbF9zMTYodmdldF9o
aWdoX3MxNih2X3Fjb2VmZiksIHZnZXRfaGlnaF9zMTYoKnZfZGVxdWFudCkpOworICB1aW50MTZ4
OF90IGVvYl9tYXg7CisgICh2b2lkKXNjYW47CisgICh2b2lkKWNvdW50OworICAodm9pZClza2lw
X2Jsb2NrOworICBhc3NlcnQoIXNraXBfYmxvY2spOworCisgIC8vIGNvZWZmICogcXVhbnRfcHRy
W10pID4+IDE1CisgIHFjb2VmZiA9IHZxZG11bGhxX3MxNihxY29lZmYsIHF1YW50KTsKKworICAv
LyBSZXN0b3JlIHNpZ24uCisgIHFjb2VmZiA9IHZlb3JxX3MxNihxY29lZmYsIGNvZWZmX3NpZ24p
OworICBxY29lZmYgPSB2c3VicV9zMTYocWNvZWZmLCBjb2VmZl9zaWduKTsKKyAgcWNvZWZmID0g
dmFuZHFfczE2KHFjb2VmZiwgZGVxdWFudF9tYXNrKTsKKworICAvLyBxY29lZmYgKiBkZXF1YW50
W10gLyAyCisgIGRxY29lZmZfMCA9IHZtdWxsX3MxNih2Z2V0X2xvd19zMTYocWNvZWZmKSwgZGVx
dWFudCk7CisgIGRxY29lZmZfMSA9IHZtdWxsX25fczE2KHZnZXRfaGlnaF9zMTYocWNvZWZmKSwg
ZGVxdWFudF9wdHJbMV0pOworCiAgIC8vIEFkZCAxIGlmIG5lZ2F0aXZlIHRvIHJvdW5kIHRvd2Fy
ZHMgemVybyBiZWNhdXNlIHRoZSBDIHVzZXMgZGl2aXNpb24uCiAgIGRxY29lZmZfMCA9IHZhZGRx
X3MzMihkcWNvZWZmXzAsIGV4dHJhY3Rfc2lnbl9iaXQoZHFjb2VmZl8wKSk7CiAgIGRxY29lZmZf
MSA9IHZhZGRxX3MzMihkcWNvZWZmXzEsIGV4dHJhY3Rfc2lnbl9iaXQoZHFjb2VmZl8xKSk7Ci0K
ICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogICB2c3QxcV9zMzIoZHFjb2VmZl9wdHIsIHZz
aHJxX25fczMyKGRxY29lZmZfMCwgMSkpOwogICB2c3QxcV9zMzIoZHFjb2VmZl9wdHIgKyA0LCB2
c2hycV9uX3MzMihkcWNvZWZmXzEsIDEpKTsKQEAgLTE4MCwyMjQgKzE5Myw3NiBAQCBzdGF0aWMg
VlBYX0ZPUkNFX0lOTElORSB2b2lkIHF1YW50aXplX2ZwXzMyeDMyXzgoCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2c2hybl9uX3MzMihkcWNvZWZm
XzEsIDEpKSk7CiAjZW5kaWYKIAotICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KHFjb2VmZl9wdHIs
IHZfcWNvZWZmKTsKLQotICAqdl9lb2JtYXggPSBnZXRfbWF4X2xhbmVfZW9iKGlzY2FuX3B0ciwg
KnZfZW9ibWF4LCB2X256X21hc2spOwotfQotCi12b2lkIHZwOV9xdWFudGl6ZV9mcF8zMngzMl9u
ZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5l
ICptYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAq
cWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRl
ciAqY29uc3Qgc2Nhbl9vcmRlcikgewotICBpbnQxNng4X3QgZW9iX21heCA9IHZkdXBxX25fczE2
KC0xKTsKLSAgLy8gUk9VTkRfUE9XRVJfT0ZfVFdPKHJvdW5kX3B0cltdLCAxKQotICBpbnQxNng4
X3Qgcm91bmQgPSB2cnNocnFfbl9zMTYodmxkMXFfczE2KG1iX3BsYW5lLT5yb3VuZF9mcCksIDEp
OwotICBpbnQxNng4X3QgcXVhbnQgPSB2bGQxcV9zMTYobWJfcGxhbmUtPnF1YW50X2ZwKTsKLSAg
aW50MTZ4OF90IGRlcXVhbnQgPSB2bGQxcV9zMTYoZGVxdWFudF9wdHIpOwotICAvLyBkZXF1YW50
ID4+IDIgaXMgdXNlZCBzaW1pbGFyIHRvIHpiaW4gYXMgYSB0aHJlc2hvbGQuCi0gIGludDE2eDhf
dCBkZXF1YW50X3RocmVzaCA9IHZzaHJxX25fczE2KHZsZDFxX3MxNihkZXF1YW50X3B0ciksIDIp
OwotICBpbnQgaTsKLSAgY29uc3QgaW50MTZfdCAqaXNjYW4gPSBzY2FuX29yZGVyLT5pc2NhbjsK
LQotICAodm9pZCluX2NvZWZmczsKLQotICAvLyBQcm9jZXNzIGRjIGFuZCB0aGUgZmlyc3Qgc2V2
ZW4gYWMgY29lZmZzLgotICBxdWFudGl6ZV9mcF8zMngzMl84KCZyb3VuZCwgJnF1YW50LCAmZGVx
dWFudCwgJmRlcXVhbnRfdGhyZXNoLCBjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
aXNjYW4sIHFjb2VmZl9wdHIsIGRxY29lZmZfcHRyLCAmZW9iX21heCk7CisgIGVvYl9tYXggPSB2
YW5kcV91MTYodnRzdHFfczE2KHFjb2VmZiwgbmVnX29uZSksIHZfaXNjYW4pOwogCi0gIHVwZGF0
ZV9mcF92YWx1ZXMoJnJvdW5kLCAmcXVhbnQsICZkZXF1YW50KTsKLSAgZGVxdWFudF90aHJlc2gg
PSB2ZHVwcV9sYW5lX3MxNih2Z2V0X2xvd19zMTYoZGVxdWFudF90aHJlc2gpLCAxKTsKKyAgc3Rv
cmVfczE2cV90b190cmFuX2xvdyhxY29lZmZfcHRyLCBxY29lZmYpOwogCiAgIGlzY2FuICs9IDg7
CiAgIGNvZWZmX3B0ciArPSA4OwogICBxY29lZmZfcHRyICs9IDg7CiAgIGRxY29lZmZfcHRyICs9
IDg7CiAKLSAgLy8gUHJvY2VzcyB0aGUgcmVzdCBvZiB0aGUgYWMgY29lZmZzLgotICBmb3IgKGkg
PSA4OyBpIDwgMzIgKiAzMjsgaSArPSA4KSB7Ci0gICAgcXVhbnRpemVfZnBfMzJ4MzJfOCgmcm91
bmQsICZxdWFudCwgJmRlcXVhbnQsICZkZXF1YW50X3RocmVzaCwgY29lZmZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgaXNjYW4sIHFjb2VmZl9wdHIsIGRxY29lZmZfcHRyLCAmZW9iX21h
eCk7Ci0KLSAgICBpc2NhbiArPSA4OwotICAgIGNvZWZmX3B0ciArPSA4OwotICAgIHFjb2VmZl9w
dHIgKz0gODsKLSAgICBkcWNvZWZmX3B0ciArPSA4OwotICB9Ci0KLSAgKmVvYl9wdHIgPSBnZXRf
bWF4X2VvYihlb2JfbWF4KTsKLX0KKyAgeworICAgIGludCBpOworICAgIGNvbnN0IGludDE2eDhf
dCByb3VuZCA9IHZyc2hycV9uX3MxNih2bW92cV9uX3MxNihyb3VuZF9wdHJbMV0pLCAxKTsKKyAg
ICBjb25zdCBpbnQxNng4X3QgcXVhbnQgPSB2bW92cV9uX3MxNihxdWFudF9wdHJbMV0pOworICAg
IGNvbnN0IGludDE2eDhfdCBkZXF1YW50X3RocmVzaCA9CisgICAgICAgIHZzaHJxX25fczE2KHZt
b3ZxX25fczE2KGRlcXVhbnRfcHRyWzFdKSwgMik7CisKKyAgICAvLyBQcm9jZXNzIHRoZSByZXN0
IG9mIHRoZSBhYyBjb2VmZnMuCisgICAgZm9yIChpID0gODsgaSA8IDMyICogMzI7IGkgKz0gOCkg
eworICAgICAgY29uc3QgdWludDE2eDhfdCB2X2lzY2FuID0KKyAgICAgICAgICB2cmVpbnRlcnBy
ZXRxX3UxNl9zMTYodmFkZHFfczE2KHZsZDFxX3MxNihpc2NhbiksIG9uZSkpOworICAgICAgY29u
c3QgaW50MTZ4OF90IGNvZWZmID0gbG9hZF90cmFuX2xvd190b19zMTZxKGNvZWZmX3B0cik7Cisg
ICAgICBjb25zdCBpbnQxNng4X3QgY29lZmZfc2lnbiA9IHZzaHJxX25fczE2KGNvZWZmLCAxNSk7
CisgICAgICBjb25zdCBpbnQxNng4X3QgY29lZmZfYWJzID0gdmFic3FfczE2KGNvZWZmKTsKKyAg
ICAgIGNvbnN0IGludDE2eDhfdCBkZXF1YW50X21hc2sgPQorICAgICAgICAgIHZyZWludGVycHJl
dHFfczE2X3UxNih2Y2dlcV9zMTYoY29lZmZfYWJzLCBkZXF1YW50X3RocmVzaCkpOworCisgICAg
ICBpbnQxNng4X3QgcWNvZWZmID0gdnFhZGRxX3MxNihjb2VmZl9hYnMsIHJvdW5kKTsKKyAgICAg
IGludDMyeDRfdCBkcWNvZWZmXzAsIGRxY29lZmZfMTsKKworICAgICAgcWNvZWZmID0gdnFkbXVs
aHFfczE2KHFjb2VmZiwgcXVhbnQpOworICAgICAgcWNvZWZmID0gdmVvcnFfczE2KHFjb2VmZiwg
Y29lZmZfc2lnbik7CisgICAgICBxY29lZmYgPSB2c3VicV9zMTYocWNvZWZmLCBjb2VmZl9zaWdu
KTsKKyAgICAgIHFjb2VmZiA9IHZhbmRxX3MxNihxY29lZmYsIGRlcXVhbnRfbWFzayk7CisKKyAg
ICAgIGRxY29lZmZfMCA9IHZtdWxsX25fczE2KHZnZXRfbG93X3MxNihxY29lZmYpLCBkZXF1YW50
X3B0clsxXSk7CisgICAgICBkcWNvZWZmXzEgPSB2bXVsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KHFj
b2VmZiksIGRlcXVhbnRfcHRyWzFdKTsKKworICAgICAgZHFjb2VmZl8wID0gdmFkZHFfczMyKGRx
Y29lZmZfMCwgZXh0cmFjdF9zaWduX2JpdChkcWNvZWZmXzApKTsKKyAgICAgIGRxY29lZmZfMSA9
IHZhZGRxX3MzMihkcWNvZWZmXzEsIGV4dHJhY3Rfc2lnbl9iaXQoZHFjb2VmZl8xKSk7CiAKICNp
ZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdWludDE2
eDRfdAotaGlnaGJkX3F1YW50aXplX2ZwXzQoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCB0
cmFuX2xvd190ICpxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAq
ZHFjb2VmZl9wdHIsIGludDMyeDRfdCB2X3F1YW50X3MzMiwKLSAgICAgICAgICAgICAgICAgICAg
IGludDMyeDRfdCB2X2RlcXVhbnRfczMyLCBpbnQzMng0X3Qgdl9yb3VuZF9zMzIpIHsKLSAgY29u
c3QgaW50MzJ4NF90IHZfY29lZmYgPSB2bGQxcV9zMzIoY29lZmZfcHRyKTsKLSAgY29uc3QgaW50
MzJ4NF90IHZfY29lZmZfc2lnbiA9Ci0gICAgICB2cmVpbnRlcnByZXRxX3MzMl91MzIodmNsdHFf
czMyKHZfY29lZmYsIHZkdXBxX25fczMyKDApKSk7Ci0gIGNvbnN0IGludDMyeDRfdCB2X2Fic19j
b2VmZiA9IHZhYnNxX3MzMih2X2NvZWZmKTsKLSAgY29uc3QgaW50MzJ4NF90IHZfdG1wID0gdmFk
ZHFfczMyKHZfYWJzX2NvZWZmLCB2X3JvdW5kX3MzMik7Ci0gIC8vICBjb25zdCBpbnQgYWJzX3Fj
b2VmZiA9IChpbnQpKCh0bXAgKiBxdWFudCkgPj4gMTYpOwotICBjb25zdCBpbnQzMng0X3Qgdl9h
YnNfcWNvZWZmID0gdnFkbXVsaHFfczMyKHZfdG1wLCB2X3F1YW50X3MzMik7Ci0gIC8vICBxY29l
ZmZfcHRyW3JjXSA9ICh0cmFuX2xvd190KSgoYWJzX3Fjb2VmZiBeIGNvZWZmX3NpZ24pIC0gY29l
ZmZfc2lnbik7Ci0gIGNvbnN0IGludDMyeDRfdCB2X3Fjb2VmZiA9Ci0gICAgICB2c3VicV9zMzIo
dmVvcnFfczMyKHZfYWJzX3Fjb2VmZiwgdl9jb2VmZl9zaWduKSwgdl9jb2VmZl9zaWduKTsKLSAg
Y29uc3QgaW50MzJ4NF90IHZfYWJzX2RxY29lZmYgPSB2bXVscV9zMzIodl9hYnNfcWNvZWZmLCB2
X2RlcXVhbnRfczMyKTsKLSAgLy8gIGRxY29lZmZfcHRyW3JjXSA9ICh0cmFuX2xvd190KSgoYWJz
X2RxY29lZmYgXiBjb2VmZl9zaWduKSAtIGNvZWZmX3NpZ24pOwotICBjb25zdCBpbnQzMng0X3Qg
dl9kcWNvZWZmID0KLSAgICAgIHZzdWJxX3MzMih2ZW9ycV9zMzIodl9hYnNfZHFjb2VmZiwgdl9j
b2VmZl9zaWduKSwgdl9jb2VmZl9zaWduKTsKLQotICB2c3QxcV9zMzIocWNvZWZmX3B0ciwgdl9x
Y29lZmYpOwotICB2c3QxcV9zMzIoZHFjb2VmZl9wdHIsIHZfZHFjb2VmZik7Ci0KLSAgLy8gUGFj
a2VkIG56X3Fjb2VmZl9tYXNrLiBVc2VkIHRvIGZpbmQgZW9iLgotICByZXR1cm4gdm1vdm5fdTMy
KHZjZXFxX3MzMih2X2Fic19xY29lZmYsIHZkdXBxX25fczMyKDApKSk7Ci19CisgICAgICB2c3Qx
cV9zMzIoZHFjb2VmZl9wdHIsIHZzaHJxX25fczMyKGRxY29lZmZfMCwgMSkpOworICAgICAgdnN0
MXFfczMyKGRxY29lZmZfcHRyICsgNCwgdnNocnFfbl9zMzIoZHFjb2VmZl8xLCAxKSk7CisjZWxz
ZQorICAgICAgc3RvcmVfczE2cV90b190cmFuX2xvdygKKyAgICAgICAgICBkcWNvZWZmX3B0ciwK
KyAgICAgICAgICB2Y29tYmluZV9zMTYodnNocm5fbl9zMzIoZHFjb2VmZl8wLCAxKSwgdnNocm5f
bl9zMzIoZHFjb2VmZl8xLCAxKSkpOworI2VuZGlmCiAKLXZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6
ZV9mcF9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSAqbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190ICpxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJh
bl9sb3dfdCAqZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2Fu
X29yZGVyKSB7Ci0gIGNvbnN0IGludDE2eDRfdCB2X3plcm8gPSB2ZHVwX25fczE2KDApOwotICBj
b25zdCBpbnQxNng0X3Qgdl9xdWFudCA9IHZsZDFfczE2KG1iX3BsYW5lLT5xdWFudF9mcCk7Ci0g
IGNvbnN0IGludDE2eDRfdCB2X2RlcXVhbnQgPSB2bGQxX3MxNihkZXF1YW50X3B0cik7Ci0gIGNv
bnN0IGludDE2eDRfdCB2X3JvdW5kID0gdmxkMV9zMTYobWJfcGxhbmUtPnJvdW5kX2ZwKTsKLSAg
aW50MzJ4NF90IHZfcm91bmRfczMyID0gdmFkZGxfczE2KHZfcm91bmQsIHZfemVybyk7Ci0gIGlu
dDMyeDRfdCB2X3F1YW50X3MzMiA9IHZzaGxxX25fczMyKHZhZGRsX3MxNih2X3F1YW50LCB2X3pl
cm8pLCAxNSk7Ci0gIGludDMyeDRfdCB2X2RlcXVhbnRfczMyID0gdmFkZGxfczE2KHZfZGVxdWFu
dCwgdl96ZXJvKTsKLSAgdWludDE2eDRfdCB2X21hc2tfbG8sIHZfbWFza19oaTsKLSAgaW50MTZ4
OF90IHZfZW9ibWF4ID0gdmR1cHFfbl9zMTYoLTEpOwotICBjb25zdCBpbnQxNl90ICppc2NhbiA9
IHNjYW5fb3JkZXItPmlzY2FuOwotCi0gIC8vIERDIGFuZCBmaXJzdCAzIEFDCi0gIHZfbWFza19s
byA9IGhpZ2hiZF9xdWFudGl6ZV9mcF80KGNvZWZmX3B0ciwgcWNvZWZmX3B0ciwgZHFjb2VmZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfcXVhbnRfczMyLCB2X2Rl
cXVhbnRfczMyLCB2X3JvdW5kX3MzMik7Ci0KLSAgLy8gb3ZlcndyaXRlIHRoZSBEQyBjb25zdGFu
dHMgd2l0aCBBQyBjb25zdGFudHMKLSAgdl9yb3VuZF9zMzIgPSB2ZHVwcV9sYW5lX3MzMih2Z2V0
X2xvd19zMzIodl9yb3VuZF9zMzIpLCAxKTsKLSAgdl9xdWFudF9zMzIgPSB2ZHVwcV9sYW5lX3Mz
Mih2Z2V0X2xvd19zMzIodl9xdWFudF9zMzIpLCAxKTsKLSAgdl9kZXF1YW50X3MzMiA9IHZkdXBx
X2xhbmVfczMyKHZnZXRfbG93X3MzMih2X2RlcXVhbnRfczMyKSwgMSk7Ci0KLSAgLy8gNCBtb3Jl
IEFDCi0gIHZfbWFza19oaSA9Ci0gICAgICBoaWdoYmRfcXVhbnRpemVfZnBfNChjb2VmZl9wdHIg
KyA0LCBxY29lZmZfcHRyICsgNCwgZHFjb2VmZl9wdHIgKyA0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdl9xdWFudF9zMzIsIHZfZGVxdWFudF9zMzIsIHZfcm91bmRfczMyKTsKLQotICAv
LyBGaW5kIHRoZSBtYXggbGFuZSBlb2IgZm9yIHRoZSBmaXJzdCA4IGNvZWZmcy4KLSAgdl9lb2Jt
YXggPQotICAgICAgZ2V0X21heF9sYW5lX2VvYihpc2Nhbiwgdl9lb2JtYXgsIHZjb21iaW5lX3Ux
Nih2X21hc2tfbG8sIHZfbWFza19oaSkpOwotCi0gIG5fY29lZmZzIC09IDg7Ci0gIGRvIHsKLSAg
ICBjb2VmZl9wdHIgKz0gODsKLSAgICBxY29lZmZfcHRyICs9IDg7Ci0gICAgZHFjb2VmZl9wdHIg
Kz0gODsKLSAgICBpc2NhbiArPSA4OwotICAgIHZfbWFza19sbyA9IGhpZ2hiZF9xdWFudGl6ZV9m
cF80KGNvZWZmX3B0ciwgcWNvZWZmX3B0ciwgZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdl9xdWFudF9zMzIsIHZfZGVxdWFudF9zMzIsIHZfcm91bmRf
czMyKTsKLSAgICB2X21hc2tfaGkgPQotICAgICAgICBoaWdoYmRfcXVhbnRpemVfZnBfNChjb2Vm
Zl9wdHIgKyA0LCBxY29lZmZfcHRyICsgNCwgZHFjb2VmZl9wdHIgKyA0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2X3F1YW50X3MzMiwgdl9kZXF1YW50X3MzMiwgdl9yb3VuZF9zMzIp
OwotICAgIC8vIEZpbmQgdGhlIG1heCBsYW5lIGVvYiBmb3IgOCBjb2VmZnMuCi0gICAgdl9lb2Jt
YXggPQotICAgICAgICBnZXRfbWF4X2xhbmVfZW9iKGlzY2FuLCB2X2VvYm1heCwgdmNvbWJpbmVf
dTE2KHZfbWFza19sbywgdl9tYXNrX2hpKSk7Ci0gICAgbl9jb2VmZnMgLT0gODsKLSAgfSB3aGls
ZSAobl9jb2VmZnMpOwotCi0gICplb2JfcHRyID0gZ2V0X21heF9lb2Iodl9lb2JtYXgpOwotfQor
ICAgICAgZW9iX21heCA9CisgICAgICAgICAgdm1heHFfdTE2KGVvYl9tYXgsIHZhbmRxX3UxNih2
dHN0cV9zMTYocWNvZWZmLCBuZWdfb25lKSwgdl9pc2NhbikpOwogCi1zdGF0aWMgVlBYX0ZPUkNF
X0lOTElORSB1aW50MTZ4NF90Ci1oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfNChjb25zdCB0cmFu
X2xvd190ICpjb2VmZl9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgaW50MzJ4NF90IHZfcXVhbnRf
czMyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJ4NF90IHZfZGVxdWFudF9zMzIs
IGludDMyeDRfdCB2X3JvdW5kX3MzMikgewotICBjb25zdCBpbnQzMng0X3Qgdl9jb2VmZiA9IHZs
ZDFxX3MzMihjb2VmZl9wdHIpOwotICBjb25zdCBpbnQzMng0X3Qgdl9jb2VmZl9zaWduID0KLSAg
ICAgIHZyZWludGVycHJldHFfczMyX3UzMih2Y2x0cV9zMzIodl9jb2VmZiwgdmR1cHFfbl9zMzIo
MCkpKTsKLSAgY29uc3QgaW50MzJ4NF90IHZfYWJzX2NvZWZmID0gdmFic3FfczMyKHZfY29lZmYp
OwotICAvLyAoKGFic19jb2VmZiA8PCAoMSArIGxvZ19zY2FsZSkpID49IGRlcXVhbnRfcHRyW3Jj
MDFdKQotICBjb25zdCBpbnQzMng0X3Qgdl9hYnNfY29lZmZfc2NhbGVkID0gdnNobHFfbl9zMzIo
dl9hYnNfY29lZmYsIDIpOwotICBjb25zdCB1aW50MzJ4NF90IHZfbWFzayA9IHZjZ2VxX3MzMih2
X2Fic19jb2VmZl9zY2FsZWQsIHZfZGVxdWFudF9zMzIpOwotICAvLyBjb25zdCBpbnQ2NF90IHRt
cCA9IHZtYXNrID8gKGludDY0X3QpYWJzX2NvZWZmICsgbG9nX3NjYWxlZF9yb3VuZCA6IDAKLSAg
Y29uc3QgaW50MzJ4NF90IHZfdG1wID0gdmFuZHFfczMyKHZhZGRxX3MzMih2X2Fic19jb2VmZiwg
dl9yb3VuZF9zMzIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50
ZXJwcmV0cV9zMzJfdTMyKHZfbWFzaykpOwotICAvLyAgY29uc3QgaW50IGFic19xY29lZmYgPSAo
aW50KSgodG1wICogcXVhbnQpID4+ICgxNiAtIGxvZ19zY2FsZSkpOwotICBjb25zdCBpbnQzMng0
X3Qgdl9hYnNfcWNvZWZmID0KLSAgICAgIHZxZG11bGhxX3MzMih2c2hscV9uX3MzMih2X3RtcCwg
MSksIHZfcXVhbnRfczMyKTsKLSAgLy8gIHFjb2VmZl9wdHJbcmNdID0gKHRyYW5fbG93X3QpKChh
YnNfcWNvZWZmIF4gY29lZmZfc2lnbikgLSBjb2VmZl9zaWduKTsKLSAgY29uc3QgaW50MzJ4NF90
IHZfcWNvZWZmID0KLSAgICAgIHZzdWJxX3MzMih2ZW9ycV9zMzIodl9hYnNfcWNvZWZmLCB2X2Nv
ZWZmX3NpZ24pLCB2X2NvZWZmX3NpZ24pOwotICAvLyB2c2hscV9zMzIgd2lsbCBzaGlmdCByaWdo
dCBpZiBzaGlmdCB2YWx1ZSBpcyBuZWdhdGl2ZS4KLSAgY29uc3QgaW50MzJ4NF90IHZfYWJzX2Rx
Y29lZmYgPQotICAgICAgdnNocnFfbl9zMzIodm11bHFfczMyKHZfYWJzX3Fjb2VmZiwgdl9kZXF1
YW50X3MzMiksIDEpOwotICAvLyAgZHFjb2VmZl9wdHJbcmNdID0gKHRyYW5fbG93X3QpKChhYnNf
ZHFjb2VmZiBeIGNvZWZmX3NpZ24pIC0gY29lZmZfc2lnbik7Ci0gIGNvbnN0IGludDMyeDRfdCB2
X2RxY29lZmYgPQotICAgICAgdnN1YnFfczMyKHZlb3JxX3MzMih2X2Fic19kcWNvZWZmLCB2X2Nv
ZWZmX3NpZ24pLCB2X2NvZWZmX3NpZ24pOwotCi0gIHZzdDFxX3MzMihxY29lZmZfcHRyLCB2X3Fj
b2VmZik7Ci0gIHZzdDFxX3MzMihkcWNvZWZmX3B0ciwgdl9kcWNvZWZmKTsKLQotICAvLyBQYWNr
ZWQgbnpfcWNvZWZmX21hc2suIFVzZWQgdG8gZmluZCBlb2IuCi0gIHJldHVybiB2bW92bl91MzIo
dmNlcXFfczMyKHZfYWJzX3Fjb2VmZiwgdmR1cHFfbl9zMzIoMCkpKTsKLX0KKyAgICAgIHN0b3Jl
X3MxNnFfdG9fdHJhbl9sb3cocWNvZWZmX3B0ciwgcWNvZWZmKTsKKworICAgICAgaXNjYW4gKz0g
ODsKKyAgICAgIGNvZWZmX3B0ciArPSA4OworICAgICAgcWNvZWZmX3B0ciArPSA4OworICAgICAg
ZHFjb2VmZl9wdHIgKz0gODsKKyAgICB9CiAKLXZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF8z
MngzMl9uZW9uKAotICAgIGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9j
b2VmZnMsCi0gICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKm1iX3BsYW5lLCB0cmFu
X2xvd190ICpxY29lZmZfcHRyLAotICAgIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBp
bnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsCi0gICAgY29uc3Qgc3RydWN0
IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlcikgewotICBjb25zdCBpbnQxNng0X3Qgdl9xdWFu
dCA9IHZsZDFfczE2KG1iX3BsYW5lLT5xdWFudF9mcCk7Ci0gIGNvbnN0IGludDE2eDRfdCB2X2Rl
cXVhbnQgPSB2bGQxX3MxNihkZXF1YW50X3B0cik7Ci0gIGNvbnN0IGludDE2eDRfdCB2X3plcm8g
PSB2ZHVwX25fczE2KDApOwotICBjb25zdCBpbnQxNng0X3Qgdl9yb3VuZCA9Ci0gICAgICB2cXJk
bXVsaF9uX3MxNih2bGQxX3MxNihtYl9wbGFuZS0+cm91bmRfZnApLCAoaW50MTZfdCkoMSA8PCAx
NCkpOwotICBpbnQzMng0X3Qgdl9yb3VuZF9zMzIgPSB2YWRkbF9zMTYodl9yb3VuZCwgdl96ZXJv
KTsKLSAgaW50MzJ4NF90IHZfcXVhbnRfczMyID0gdnNobHFfbl9zMzIodmFkZGxfczE2KHZfcXVh
bnQsIHZfemVybyksIDE1KTsKLSAgaW50MzJ4NF90IHZfZGVxdWFudF9zMzIgPSB2YWRkbF9zMTYo
dl9kZXF1YW50LCB2X3plcm8pOwotICB1aW50MTZ4NF90IHZfbWFza19sbywgdl9tYXNrX2hpOwot
ICBpbnQxNng4X3Qgdl9lb2JtYXggPSB2ZHVwcV9uX3MxNigtMSk7Ci0gIGNvbnN0IGludDE2X3Qg
KmlzY2FuID0gc2Nhbl9vcmRlci0+aXNjYW47Ci0KLSAgLy8gREMgYW5kIGZpcnN0IDMgQUMKLSAg
dl9tYXNrX2xvID0KLSAgICAgIGhpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl80KGNvZWZmX3B0ciwg
cWNvZWZmX3B0ciwgZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2X3F1YW50X3MzMiwgdl9kZXF1YW50X3MzMiwgdl9yb3VuZF9zMzIpOwotCi0gIC8vIG92ZXJ3
cml0ZSB0aGUgREMgY29uc3RhbnRzIHdpdGggQUMgY29uc3RhbnRzCi0gIHZfcm91bmRfczMyID0g
dmR1cHFfbGFuZV9zMzIodmdldF9sb3dfczMyKHZfcm91bmRfczMyKSwgMSk7Ci0gIHZfcXVhbnRf
czMyID0gdmR1cHFfbGFuZV9zMzIodmdldF9sb3dfczMyKHZfcXVhbnRfczMyKSwgMSk7Ci0gIHZf
ZGVxdWFudF9zMzIgPSB2ZHVwcV9sYW5lX3MzMih2Z2V0X2xvd19zMzIodl9kZXF1YW50X3MzMiks
IDEpOwotCi0gIC8vIDQgbW9yZSBBQwotICB2X21hc2tfaGkgPQotICAgICAgaGlnaGJkX3F1YW50
aXplX2ZwXzMyeDMyXzQoY29lZmZfcHRyICsgNCwgcWNvZWZmX3B0ciArIDQsIGRxY29lZmZfcHRy
ICsgNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfcXVhbnRfczMyLCB2X2Rl
cXVhbnRfczMyLCB2X3JvdW5kX3MzMik7Ci0KLSAgLy8gRmluZCB0aGUgbWF4IGxhbmUgZW9iIGZv
ciB0aGUgZmlyc3QgOCBjb2VmZnMuCi0gIHZfZW9ibWF4ID0KLSAgICAgIGdldF9tYXhfbGFuZV9l
b2IoaXNjYW4sIHZfZW9ibWF4LCB2Y29tYmluZV91MTYodl9tYXNrX2xvLCB2X21hc2tfaGkpKTsK
LQotICBuX2NvZWZmcyAtPSA4OwotICBkbyB7Ci0gICAgY29lZmZfcHRyICs9IDg7Ci0gICAgcWNv
ZWZmX3B0ciArPSA4OwotICAgIGRxY29lZmZfcHRyICs9IDg7Ci0gICAgaXNjYW4gKz0gODsKLSAg
ICB2X21hc2tfbG8gPQotICAgICAgICBoaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfNChjb2VmZl9w
dHIsIHFjb2VmZl9wdHIsIGRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2X3F1YW50X3MzMiwgdl9kZXF1YW50X3MzMiwgdl9yb3VuZF9zMzIpOwotICAgIHZf
bWFza19oaSA9IGhpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMl80KGNvZWZmX3B0ciArIDQsIHFjb2Vm
Zl9wdHIgKyA0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRx
Y29lZmZfcHRyICsgNCwgdl9xdWFudF9zMzIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdl9kZXF1YW50X3MzMiwgdl9yb3VuZF9zMzIpOwotICAgIC8vIEZpbmQg
dGhlIG1heCBsYW5lIGVvYiBmb3IgOCBjb2VmZnMuCi0gICAgdl9lb2JtYXggPQotICAgICAgICBn
ZXRfbWF4X2xhbmVfZW9iKGlzY2FuLCB2X2VvYm1heCwgdmNvbWJpbmVfdTE2KHZfbWFza19sbywg
dl9tYXNrX2hpKSk7Ci0gICAgbl9jb2VmZnMgLT0gODsKLSAgfSB3aGlsZSAobl9jb2VmZnMpOwot
Ci0gICplb2JfcHRyID0gZ2V0X21heF9lb2Iodl9lb2JtYXgpOworI2lmZGVmIF9fYWFyY2g2NF9f
CisgICAgKmVvYl9wdHIgPSB2bWF4dnFfdTE2KGVvYl9tYXgpOworI2Vsc2UKKyAgICB7CisgICAg
ICBjb25zdCB1aW50MTZ4NF90IGVvYl9tYXhfMCA9CisgICAgICAgICAgdm1heF91MTYodmdldF9s
b3dfdTE2KGVvYl9tYXgpLCB2Z2V0X2hpZ2hfdTE2KGVvYl9tYXgpKTsKKyAgICAgIGNvbnN0IHVp
bnQxNng0X3QgZW9iX21heF8xID0gdnBtYXhfdTE2KGVvYl9tYXhfMCwgZW9iX21heF8wKTsKKyAg
ICAgIGNvbnN0IHVpbnQxNng0X3QgZW9iX21heF8yID0gdnBtYXhfdTE2KGVvYl9tYXhfMSwgZW9i
X21heF8xKTsKKyAgICAgIHZzdDFfbGFuZV91MTYoZW9iX3B0ciwgZW9iX21heF8yLCAwKTsKKyAg
ICB9CisjZW5kaWYgIC8vIF9fYWFyY2g2NF9fCisgIH0KIH0KLSNlbmRpZiAgLy8gQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEgKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvYXJtL25l
b24vdnA5X3RlbXBvcmFsX2ZpbHRlcl9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL2Fy
bS9uZW9uL3ZwOV90ZW1wb3JhbF9maWx0ZXJfbmVvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhNjUxYTE1ZDkwZjcuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL2FybS9uZW9uL3ZwOV90ZW1wb3JhbF9maWx0ZXJfbmVvbi5jCisrKyAvZGV2L251bGwK
QEAgLTEsODQ5ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBXZWJNIHBy
b2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQg
Y2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJj
ZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBn
cmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1
dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmls
ZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGFzc2Vy
dC5oPgotI2luY2x1ZGUgPGFybV9uZW9uLmg+Ci0KLSNpbmNsdWRlICIuL3ZwOV9ydGNkLmgiCi0j
aW5jbHVkZSAiLi92cHhfY29uZmlnLmgiCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0j
aW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2VuY29kZXIuaCIKLSNpbmNsdWRlICJ2cDkvZW5jb2Rl
ci92cDlfdGVtcG9yYWxfZmlsdGVyLmgiCi0jaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X3RlbXBv
cmFsX2ZpbHRlcl9jb25zdGFudHMuaCIKLQotLy8gUmVhZCBpbiA4IHBpeGVscyBmcm9tIGEgYW5k
IGIgYXMgOC1iaXQgdW5zaWduZWQgaW50ZWdlcnMsIGNvbXB1dGUgdGhlCi0vLyBkaWZmZXJlbmNl
IHNxdWFyZWQsIGFuZCBzdG9yZSBhcyB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlciB0byBkc3QuCi1z
dGF0aWMgSU5MSU5FIHZvaWQgc3RvcmVfZGlzdF84KGNvbnN0IHVpbnQ4X3QgKmEsIGNvbnN0IHVp
bnQ4X3QgKmIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90ICpkc3Qp
IHsKLSAgY29uc3QgdWludDh4OF90IGFfcmVnID0gdmxkMV91OChhKTsKLSAgY29uc3QgdWludDh4
OF90IGJfcmVnID0gdmxkMV91OChiKTsKLQotICB1aW50MTZ4OF90IGRpc3RfZmlyc3QgPSB2YWJk
bF91OChhX3JlZywgYl9yZWcpOwotICBkaXN0X2ZpcnN0ID0gdm11bHFfdTE2KGRpc3RfZmlyc3Qs
IGRpc3RfZmlyc3QpOwotCi0gIHZzdDFxX3UxNihkc3QsIGRpc3RfZmlyc3QpOwotfQotCi1zdGF0
aWMgSU5MSU5FIHZvaWQgc3RvcmVfZGlzdF8xNihjb25zdCB1aW50OF90ICphLCBjb25zdCB1aW50
OF90ICpiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKmRzdCkg
ewotICBjb25zdCB1aW50OHgxNl90IGFfcmVnID0gdmxkMXFfdTgoYSk7Ci0gIGNvbnN0IHVpbnQ4
eDE2X3QgYl9yZWcgPSB2bGQxcV91OChiKTsKLQotICB1aW50MTZ4OF90IGRpc3RfZmlyc3QgPSB2
YWJkbF91OCh2Z2V0X2xvd191OChhX3JlZyksIHZnZXRfbG93X3U4KGJfcmVnKSk7Ci0gIHVpbnQx
Nng4X3QgZGlzdF9zZWNvbmQgPSB2YWJkbF91OCh2Z2V0X2hpZ2hfdTgoYV9yZWcpLCB2Z2V0X2hp
Z2hfdTgoYl9yZWcpKTsKLSAgZGlzdF9maXJzdCA9IHZtdWxxX3UxNihkaXN0X2ZpcnN0LCBkaXN0
X2ZpcnN0KTsKLSAgZGlzdF9zZWNvbmQgPSB2bXVscV91MTYoZGlzdF9zZWNvbmQsIGRpc3Rfc2Vj
b25kKTsKLQotICB2c3QxcV91MTYoZHN0LCBkaXN0X2ZpcnN0KTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDgsIGRpc3Rfc2Vjb25kKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIHJlYWRfZGlzdF84KGNv
bnN0IHVpbnQxNl90ICpkaXN0LCB1aW50MTZ4OF90ICpkaXN0X3JlZykgewotICAqZGlzdF9yZWcg
PSB2bGQxcV91MTYoZGlzdCk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCByZWFkX2Rpc3RfMTYo
Y29uc3QgdWludDE2X3QgKmRpc3QsIHVpbnQxNng4X3QgKnJlZ19maXJzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2eDhfdCAqcmVnX3NlY29uZCkgewotICByZWFkX2Rp
c3RfOChkaXN0LCByZWdfZmlyc3QpOwotICByZWFkX2Rpc3RfOChkaXN0ICsgOCwgcmVnX3NlY29u
ZCk7Ci19Ci0KLS8vIEF2ZXJhZ2UgdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgdmFs
dWVzIHN1bW1lZCAoOSBmb3IgcGl4ZWxzIGF3YXkKLS8vIGZyb20gdGhlIGJvcmRlciwgNCBmb3Ig
cGl4ZWxzIGluIGNvcm5lcnMsIGFuZCA2IGZvciBvdGhlciBlZGdlIHZhbHVlcykuCi0vLwotLy8g
QWRkIGluIHRoZSByb3VuZGluZyBmYWN0b3IgYW5kIHNoaWZ0LCBjbGFtcCB0byAxNiwgaW52ZXJ0
IGFuZCBzaGlmdC4gTXVsdGlwbHkKLS8vIGJ5IHdlaWdodC4KLXN0YXRpYyBJTkxJTkUgdWludDE2
eDhfdCBhdmVyYWdlXzgodWludDE2eDhfdCBzdW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNng4X3QgKm11bF9jb25zdGFudHMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBzdHJlbmd0aCwgY29uc3QgaW50IHJvdW5k
aW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZ4OF90
ICp3ZWlnaHQpIHsKLSAgY29uc3QgdWludDMyeDRfdCByb3VuZGluZ191MzIgPSB2ZHVwcV9uX3Uz
Mihyb3VuZGluZyA8PCAxNik7Ci0gIGNvbnN0IHVpbnQxNng4X3Qgd2VpZ2h0X3UxNiA9ICp3ZWln
aHQ7Ci0gIGNvbnN0IHVpbnQxNng4X3Qgc2l4dGVlbiA9IHZkdXBxX25fdTE2KDE2KTsKLSAgY29u
c3QgaW50MzJ4NF90IHN0cmVuZ3RoX3UzMiA9IHZkdXBxX25fczMyKC1zdHJlbmd0aCAtIDE2KTsK
LQotICAvLyBtb2RpZmllciAqIDMgLyBpbmRleDsKLSAgdWludDMyeDRfdCBzdW1faGkgPQotICAg
ICAgdm11bGxfdTE2KHZnZXRfbG93X3UxNihzdW0pLCB2Z2V0X2xvd191MTYoKm11bF9jb25zdGFu
dHMpKTsKLSAgdWludDMyeDRfdCBzdW1fbG8gPQotICAgICAgdm11bGxfdTE2KHZnZXRfaGlnaF91
MTYoc3VtKSwgdmdldF9oaWdoX3UxNigqbXVsX2NvbnN0YW50cykpOwotCi0gIHN1bV9sbyA9IHZx
YWRkcV91MzIoc3VtX2xvLCByb3VuZGluZ191MzIpOwotICBzdW1faGkgPSB2cWFkZHFfdTMyKHN1
bV9oaSwgcm91bmRpbmdfdTMyKTsKLQotICAvLyB3ZSBjYW5ub3QgdXNlIHZzaHJuX25fdTMyIGFz
IHN0cmVuZ3RoIGlzIG5vdCBrbm93biBhdCBjb21waWxlIHRpbWUuCi0gIHN1bV9sbyA9IHZzaGxx
X3UzMihzdW1fbG8sIHN0cmVuZ3RoX3UzMik7Ci0gIHN1bV9oaSA9IHZzaGxxX3UzMihzdW1faGks
IHN0cmVuZ3RoX3UzMik7Ci0KLSAgc3VtID0gdmNvbWJpbmVfdTE2KHZtb3ZuX3UzMihzdW1faGkp
LCB2bW92bl91MzIoc3VtX2xvKSk7Ci0KLSAgLy8gVGhlIG1heGltdW0gaW5wdXQgdG8gdGhpcyBj
b21wYXJpc29uIGlzIFVJTlQxNl9NQVggKiBORUlHSEJPUl9DT05TVEFOVF80Ci0gIC8vID4+IDE2
IChhbHNvIE5FSUdIQk9SX0NPTlNUQU5UXzQgLTEpIHdoaWNoIGlzIDQ5MTUxIC8gMHhiZmZmIC8g
LTE2Mzg1Ci0gIC8vIFNvIHRoaXMgbmVlZHMgdG8gdXNlIHRoZSBlcHUxNiB2ZXJzaW9uIHdoaWNo
IGRpZCBub3QgY29tZSB1bnRpbCBTU0U0LgotICBzdW0gPSB2bWlucV91MTYoc3VtLCBzaXh0ZWVu
KTsKLSAgc3VtID0gdnN1YnFfdTE2KHNpeHRlZW4sIHN1bSk7Ci0gIHJldHVybiB2bXVscV91MTYo
c3VtLCB3ZWlnaHRfdTE2KTsKLX0KLQotLy8gQWRkICdzdW1fdTE2JyB0byAnY291bnQnLiBNdWx0
aXBseSBieSAncHJlZCcgYW5kIGFkZCB0byAnYWNjdW11bGF0b3IuJwotc3RhdGljIHZvaWQgYWNj
dW11bGF0ZV9hbmRfc3RvcmVfOChjb25zdCB1aW50MTZ4OF90IHN1bV91MTYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnByZWQsIHVpbnQxNl90ICpj
b3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmFjY3Vt
dWxhdG9yKSB7Ci0gIHVpbnQxNng4X3QgcHJlZF91MTYgPSB2bW92bF91OCh2bGQxX3U4KHByZWQp
KTsKLSAgdWludDE2eDhfdCBjb3VudF91MTYgPSB2bGQxcV91MTYoY291bnQpOwotICB1aW50MzJ4
NF90IGFjY3VtXzBfdTMyLCBhY2N1bV8xX3UzMjsKLQotICBjb3VudF91MTYgPSB2cWFkZHFfdTE2
KGNvdW50X3UxNiwgc3VtX3UxNik7Ci0gIHZzdDFxX3UxNihjb3VudCwgY291bnRfdTE2KTsKLQot
ICBhY2N1bV8wX3UzMiA9IHZsZDFxX3UzMihhY2N1bXVsYXRvcik7Ci0gIGFjY3VtXzFfdTMyID0g
dmxkMXFfdTMyKGFjY3VtdWxhdG9yICsgNCk7Ci0KLSAgYWNjdW1fMF91MzIgPQotICAgICAgdm1s
YWxfdTE2KGFjY3VtXzBfdTMyLCB2Z2V0X2xvd191MTYoc3VtX3UxNiksIHZnZXRfbG93X3UxNihw
cmVkX3UxNikpOwotICBhY2N1bV8xX3UzMiA9Ci0gICAgICB2bWxhbF91MTYoYWNjdW1fMV91MzIs
IHZnZXRfaGlnaF91MTYoc3VtX3UxNiksIHZnZXRfaGlnaF91MTYocHJlZF91MTYpKTsKLQotICB2
c3QxcV91MzIoYWNjdW11bGF0b3IsIGFjY3VtXzBfdTMyKTsKLSAgdnN0MXFfdTMyKGFjY3VtdWxh
dG9yICsgNCwgYWNjdW1fMV91MzIpOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgYWNjdW11bGF0
ZV9hbmRfc3RvcmVfMTYoY29uc3QgdWludDE2eDhfdCBzdW1fMF91MTYsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2eDhfdCBzdW1fMV91MTYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqcHJlZCwgdWludDE2X3QgKmNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90ICphY2N1bXVsYXRvcikgewotICB1aW50OHgxNl90IHByZWRf
dTggPSB2bGQxcV91OChwcmVkKTsKLSAgdWludDE2eDhfdCBwcmVkXzBfdTE2ID0gdm1vdmxfdTgo
dmdldF9sb3dfdTgocHJlZF91OCkpOwotICB1aW50MTZ4OF90IHByZWRfMV91MTYgPSB2bW92bF91
OCh2Z2V0X2hpZ2hfdTgocHJlZF91OCkpOwotICB1aW50MTZ4OF90IGNvdW50XzBfdTE2ID0gdmxk
MXFfdTE2KGNvdW50KTsKLSAgdWludDE2eDhfdCBjb3VudF8xX3UxNiA9IHZsZDFxX3UxNihjb3Vu
dCArIDgpOwotICB1aW50MzJ4NF90IGFjY3VtXzBfdTMyLCBhY2N1bV8xX3UzMiwgYWNjdW1fMl91
MzIsIGFjY3VtXzNfdTMyOwotCi0gIGNvdW50XzBfdTE2ID0gdnFhZGRxX3UxNihjb3VudF8wX3Ux
Niwgc3VtXzBfdTE2KTsKLSAgdnN0MXFfdTE2KGNvdW50LCBjb3VudF8wX3UxNik7Ci0gIGNvdW50
XzFfdTE2ID0gdnFhZGRxX3UxNihjb3VudF8xX3UxNiwgc3VtXzFfdTE2KTsKLSAgdnN0MXFfdTE2
KGNvdW50ICsgOCwgY291bnRfMV91MTYpOwotCi0gIGFjY3VtXzBfdTMyID0gdmxkMXFfdTMyKGFj
Y3VtdWxhdG9yKTsKLSAgYWNjdW1fMV91MzIgPSB2bGQxcV91MzIoYWNjdW11bGF0b3IgKyA0KTsK
LSAgYWNjdW1fMl91MzIgPSB2bGQxcV91MzIoYWNjdW11bGF0b3IgKyA4KTsKLSAgYWNjdW1fM191
MzIgPSB2bGQxcV91MzIoYWNjdW11bGF0b3IgKyAxMik7Ci0KLSAgYWNjdW1fMF91MzIgPQotICAg
ICAgdm1sYWxfdTE2KGFjY3VtXzBfdTMyLCB2Z2V0X2xvd191MTYoc3VtXzBfdTE2KSwgdmdldF9s
b3dfdTE2KHByZWRfMF91MTYpKTsKLSAgYWNjdW1fMV91MzIgPSB2bWxhbF91MTYoYWNjdW1fMV91
MzIsIHZnZXRfaGlnaF91MTYoc3VtXzBfdTE2KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
dmdldF9oaWdoX3UxNihwcmVkXzBfdTE2KSk7Ci0gIGFjY3VtXzJfdTMyID0KLSAgICAgIHZtbGFs
X3UxNihhY2N1bV8yX3UzMiwgdmdldF9sb3dfdTE2KHN1bV8xX3UxNiksIHZnZXRfbG93X3UxNihw
cmVkXzFfdTE2KSk7Ci0gIGFjY3VtXzNfdTMyID0gdm1sYWxfdTE2KGFjY3VtXzNfdTMyLCB2Z2V0
X2hpZ2hfdTE2KHN1bV8xX3UxNiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHZnZXRfaGln
aF91MTYocHJlZF8xX3UxNikpOwotCi0gIHZzdDFxX3UzMihhY2N1bXVsYXRvciwgYWNjdW1fMF91
MzIpOwotICB2c3QxcV91MzIoYWNjdW11bGF0b3IgKyA0LCBhY2N1bV8xX3UzMik7Ci0gIHZzdDFx
X3UzMihhY2N1bXVsYXRvciArIDgsIGFjY3VtXzJfdTMyKTsKLSAgdnN0MXFfdTMyKGFjY3VtdWxh
dG9yICsgMTIsIGFjY3VtXzNfdTMyKTsKLX0KLQotLy8gUmVhZCBpbiA4IHBpeGVscyBmcm9tIHlf
ZGlzdC4gRm9yIGVhY2ggaW5kZXggaSwgY29tcHV0ZSB5X2Rpc3RbaS0xXSArCi0vLyB5X2Rpc3Rb
aV0gKyB5X2Rpc3RbaSsxXSBhbmQgc3RvcmUgaW4gc3VtIGFzIDE2LWJpdCB1bnNpZ25lZCBpbnQu
Ci1zdGF0aWMgSU5MSU5FIHZvaWQgZ2V0X3N1bV84KGNvbnN0IHVpbnQxNl90ICp5X2Rpc3QsIHVp
bnQxNng4X3QgKnN1bSkgewotICB1aW50MTZ4OF90IGRpc3RfcmVnLCBkaXN0X2xlZnQsIGRpc3Rf
cmlnaHQ7Ci0KLSAgZGlzdF9yZWcgPSB2bGQxcV91MTYoeV9kaXN0KTsKLSAgZGlzdF9sZWZ0ID0g
dmxkMXFfdTE2KHlfZGlzdCAtIDEpOwotICBkaXN0X3JpZ2h0ID0gdmxkMXFfdTE2KHlfZGlzdCAr
IDEpOwotCi0gICpzdW0gPSB2cWFkZHFfdTE2KGRpc3RfcmVnLCBkaXN0X2xlZnQpOwotICAqc3Vt
ID0gdnFhZGRxX3UxNigqc3VtLCBkaXN0X3JpZ2h0KTsKLX0KLQotLy8gUmVhZCBpbiAxNiBwaXhl
bHMgZnJvbSB5X2Rpc3QuIEZvciBlYWNoIGluZGV4IGksIGNvbXB1dGUgeV9kaXN0W2ktMV0gKwot
Ly8geV9kaXN0W2ldICsgeV9kaXN0W2krMV0uIFN0b3JlIHRoZSByZXN1bHQgZm9yIGZpcnN0IDgg
cGl4ZWxzIGluIHN1bV9maXJzdCBhbmQKLS8vIHRoZSByZXN0IGluIHN1bV9zZWNvbmQuCi1zdGF0
aWMgSU5MSU5FIHZvaWQgZ2V0X3N1bV8xNihjb25zdCB1aW50MTZfdCAqeV9kaXN0LCB1aW50MTZ4
OF90ICpzdW1fZmlyc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZ4OF90
ICpzdW1fc2Vjb25kKSB7Ci0gIGdldF9zdW1fOCh5X2Rpc3QsIHN1bV9maXJzdCk7Ci0gIGdldF9z
dW1fOCh5X2Rpc3QgKyA4LCBzdW1fc2Vjb25kKTsKLX0KLQotLy8gUmVhZCBpbiBhIHJvdyBvZiBj
aHJvbWEgdmFsdWVzIGNvcnJlc3BvbmRzIHRvIGEgcm93IG9mIDE2IGx1bWEgdmFsdWVzLgotc3Rh
dGljIElOTElORSB2b2lkIHJlYWRfY2hyb21hX2Rpc3Rfcm93XzE2KGludCBzc194LCBjb25zdCB1
aW50MTZfdCAqdV9kaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90ICp2X2Rpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2eDhfdCAqdV9maXJzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZ4OF90ICp1X3NlY29uZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZ4OF90ICp2X2ZpcnN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNng4X3QgKnZfc2Vj
b25kKSB7Ci0gIGlmICghc3NfeCkgewotICAgIC8vIElmIHRoZXJlIGlzIG5vIGNocm9tYSBzdWJz
YW1wbGluZyBpbiB0aGUgaG9yaXpvbnRhbCBkaXJlY3Rpb24sIHRoZW4gd2UKLSAgICAvLyBuZWVk
IHRvIGxvYWQgMTYgZW50cmllcyBmcm9tIGNocm9tYS4KLSAgICByZWFkX2Rpc3RfMTYodV9kaXN0
LCB1X2ZpcnN0LCB1X3NlY29uZCk7Ci0gICAgcmVhZF9kaXN0XzE2KHZfZGlzdCwgdl9maXJzdCwg
dl9zZWNvbmQpOwotICB9IGVsc2UgeyAgLy8gc3NfeCA9PSAxCi0gICAgLy8gT3RoZXJ3aXNlLCB3
ZSBvbmx5IG5lZWQgdG8gbG9hZCA4IGVudHJpZXMKLSAgICB1aW50MTZ4OF90IHVfcmVnLCB2X3Jl
ZzsKLSAgICB1aW50MTZ4OHgyX3QgcGFpcjsKLQotICAgIHJlYWRfZGlzdF84KHVfZGlzdCwgJnVf
cmVnKTsKLQotICAgIHBhaXIgPSB2emlwcV91MTYodV9yZWcsIHVfcmVnKTsKLSAgICAqdV9maXJz
dCA9IHBhaXIudmFsWzBdOwotICAgICp1X3NlY29uZCA9IHBhaXIudmFsWzFdOwotCi0gICAgcmVh
ZF9kaXN0Xzgodl9kaXN0LCAmdl9yZWcpOwotCi0gICAgcGFpciA9IHZ6aXBxX3UxNih2X3JlZywg
dl9yZWcpOwotICAgICp2X2ZpcnN0ID0gcGFpci52YWxbMF07Ci0gICAgKnZfc2Vjb25kID0gcGFp
ci52YWxbMV07Ci0gIH0KLX0KLQotLy8gQWRkIGEgcm93IG9mIGx1bWEgZGlzdG9ydGlvbiB0byA4
IGNvcnJlc3BvbmRpbmcgY2hyb21hIG1vZHMuCi1zdGF0aWMgSU5MSU5FIHZvaWQgYWRkX2x1bWFf
ZGlzdF90b184X2Nocm9tYV9tb2QoY29uc3QgdWludDE2X3QgKnlfZGlzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3NfeCwgaW50IHNzX3ks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2
eDhfdCAqdV9tb2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2eDhfdCAqdl9tb2QpIHsKLSAgdWludDE2eDhfdCB5X3JlZzsKLSAgaWYgKCFz
c194KSB7Ci0gICAgcmVhZF9kaXN0XzgoeV9kaXN0LCAmeV9yZWcpOwotICAgIGlmIChzc195ID09
IDEpIHsKLSAgICAgIHVpbnQxNng4X3QgeV90bXA7Ci0gICAgICByZWFkX2Rpc3RfOCh5X2Rpc3Qg
KyBESVNUX1NUUklERSwgJnlfdG1wKTsKLQotICAgICAgeV9yZWcgPSB2cWFkZHFfdTE2KHlfcmVn
LCB5X3RtcCk7Ci0gICAgfQotICB9IGVsc2UgewotICAgIHVpbnQxNng4X3QgeV9maXJzdCwgeV9z
ZWNvbmQ7Ci0gICAgdWludDMyeDRfdCB5X2ZpcnN0MzIsIHlfc2Vjb25kMzI7Ci0KLSAgICByZWFk
X2Rpc3RfMTYoeV9kaXN0LCAmeV9maXJzdCwgJnlfc2Vjb25kKTsKLSAgICBpZiAoc3NfeSA9PSAx
KSB7Ci0gICAgICB1aW50MTZ4OF90IHlfdG1wXzAsIHlfdG1wXzE7Ci0gICAgICByZWFkX2Rpc3Rf
MTYoeV9kaXN0ICsgRElTVF9TVFJJREUsICZ5X3RtcF8wLCAmeV90bXBfMSk7Ci0KLSAgICAgIHlf
Zmlyc3QgPSB2cWFkZHFfdTE2KHlfZmlyc3QsIHlfdG1wXzApOwotICAgICAgeV9zZWNvbmQgPSB2
cWFkZHFfdTE2KHlfc2Vjb25kLCB5X3RtcF8xKTsKLSAgICB9Ci0KLSAgICB5X2ZpcnN0MzIgPSB2
cGFkZGxxX3UxNih5X2ZpcnN0KTsKLSAgICB5X3NlY29uZDMyID0gdnBhZGRscV91MTYoeV9zZWNv
bmQpOwotCi0gICAgeV9yZWcgPSB2Y29tYmluZV91MTYodnFtb3ZuX3UzMih5X2ZpcnN0MzIpLCB2
cW1vdm5fdTMyKHlfc2Vjb25kMzIpKTsKLSAgfQotCi0gICp1X21vZCA9IHZxYWRkcV91MTYoKnVf
bW9kLCB5X3JlZyk7Ci0gICp2X21vZCA9IHZxYWRkcV91MTYoKnZfbW9kLCB5X3JlZyk7Ci19Ci0K
LS8vIEFwcGx5IHRlbXBvcmFsIGZpbHRlciB0byB0aGUgbHVtYSBjb21wb25lbnRzLiBUaGlzIHBl
cmZvcm1zIHRlbXBvcmFsCi0vLyBmaWx0ZXJpbmcgb24gYSBsdW1hIGJsb2NrIG9mIDE2IFggYmxv
Y2tfaGVpZ2h0LiBVc2UgYmxrX2Z3IGFzIGFuIGFycmF5IG9mCi0vLyBzaXplIDQgZm9yIHRoZSB3
ZWlnaHRzIGZvciBlYWNoIG9mIHRoZSA0IHN1YmJsb2NrcyBpZiBibGtfZncgaXMgbm90IE5VTEws
Ci0vLyBlbHNlIHVzZSB0b3Bfd2VpZ2h0IGZvciB0b3AgaGFsZiwgYW5kIGJvdHRvbSB3ZWlnaHQg
Zm9yIGJvdHRvbSBoYWxmLgotc3RhdGljIHZvaWQgYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2x1bWFf
MTYoCi0gICAgY29uc3QgdWludDhfdCAqeV9wcmUsIGludCB5X3ByZV9zdHJpZGUsIHVuc2lnbmVk
IGludCBibG9ja193aWR0aCwKLSAgICB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LCBpbnQgc3Nf
eCwgaW50IHNzX3ksIGludCBzdHJlbmd0aCwKLSAgICBpbnQgdXNlX3dob2xlX2JsaywgdWludDMy
X3QgKnlfYWNjdW0sIHVpbnQxNl90ICp5X2NvdW50LAotICAgIGNvbnN0IHVpbnQxNl90ICp5X2Rp
c3QsIGNvbnN0IHVpbnQxNl90ICp1X2Rpc3QsIGNvbnN0IHVpbnQxNl90ICp2X2Rpc3QsCi0gICAg
Y29uc3QgaW50MTZfdCAqY29uc3QgKm5laWdoYm9yc19maXJzdCwKLSAgICBjb25zdCBpbnQxNl90
ICpjb25zdCAqbmVpZ2hib3JzX3NlY29uZCwgaW50IHRvcF93ZWlnaHQsIGludCBib3R0b21fd2Vp
Z2h0LAotICAgIGNvbnN0IGludCAqYmxrX2Z3KSB7Ci0gIGNvbnN0IGludCByb3VuZGluZyA9ICgx
IDw8IHN0cmVuZ3RoKSA+PiAxOwotICB1aW50MTZ4OF90IHdlaWdodF9maXJzdCwgd2VpZ2h0X3Nl
Y29uZDsKLQotICB1aW50MTZ4OF90IG11bF9maXJzdCwgbXVsX3NlY29uZDsKLQotICB1aW50MTZ4
OF90IHN1bV9yb3dfMV9maXJzdCwgc3VtX3Jvd18xX3NlY29uZDsKLSAgdWludDE2eDhfdCBzdW1f
cm93XzJfZmlyc3QsIHN1bV9yb3dfMl9zZWNvbmQ7Ci0gIHVpbnQxNng4X3Qgc3VtX3Jvd18zX2Zp
cnN0LCBzdW1fcm93XzNfc2Vjb25kOwotCi0gIHVpbnQxNng4X3QgdV9maXJzdCwgdV9zZWNvbmQ7
Ci0gIHVpbnQxNng4X3Qgdl9maXJzdCwgdl9zZWNvbmQ7Ci0KLSAgdWludDE2eDhfdCBzdW1fcm93
X2ZpcnN0OwotICB1aW50MTZ4OF90IHN1bV9yb3dfc2Vjb25kOwotCi0gIC8vIExvb3AgdmFyaWFi
bGVzCi0gIHVuc2lnbmVkIGludCBoOwotCi0gIGFzc2VydChzdHJlbmd0aCA+PSAwKTsKLSAgYXNz
ZXJ0KHN0cmVuZ3RoIDw9IDYpOwotCi0gIGFzc2VydChibG9ja193aWR0aCA9PSAxNik7Ci0gICh2
b2lkKWJsb2NrX3dpZHRoOwotCi0gIC8vIEluaXRpYWxpemUgdGhlIHdlaWdodHMKLSAgaWYgKGJs
a19mdykgewotICAgIHdlaWdodF9maXJzdCA9IHZkdXBxX25fdTE2KGJsa19md1swXSk7Ci0gICAg
d2VpZ2h0X3NlY29uZCA9IHZkdXBxX25fdTE2KGJsa19md1sxXSk7Ci0gIH0gZWxzZSB7Ci0gICAg
d2VpZ2h0X2ZpcnN0ID0gdmR1cHFfbl91MTYodG9wX3dlaWdodCk7Ci0gICAgd2VpZ2h0X3NlY29u
ZCA9IHdlaWdodF9maXJzdDsKLSAgfQotCi0gIC8vIEZpcnN0IHJvdwotICBtdWxfZmlyc3QgPSB2
bGQxcV91MTYoKGNvbnN0IHVpbnQxNl90ICopbmVpZ2hib3JzX2ZpcnN0WzBdKTsKLSAgbXVsX3Nl
Y29uZCA9IHZsZDFxX3UxNigoY29uc3QgdWludDE2X3QgKiluZWlnaGJvcnNfc2Vjb25kWzBdKTsK
LQotICAvLyBBZGQgbHVtYSB2YWx1ZXMKLSAgZ2V0X3N1bV8xNih5X2Rpc3QsICZzdW1fcm93XzJf
Zmlyc3QsICZzdW1fcm93XzJfc2Vjb25kKTsKLSAgZ2V0X3N1bV8xNih5X2Rpc3QgKyBESVNUX1NU
UklERSwgJnN1bV9yb3dfM19maXJzdCwgJnN1bV9yb3dfM19zZWNvbmQpOwotCi0gIHN1bV9yb3df
Zmlyc3QgPSB2cWFkZHFfdTE2KHN1bV9yb3dfMl9maXJzdCwgc3VtX3Jvd18zX2ZpcnN0KTsKLSAg
c3VtX3Jvd19zZWNvbmQgPSB2cWFkZHFfdTE2KHN1bV9yb3dfMl9zZWNvbmQsIHN1bV9yb3dfM19z
ZWNvbmQpOwotCi0gIC8vIEFkZCBjaHJvbWEgdmFsdWVzCi0gIHJlYWRfY2hyb21hX2Rpc3Rfcm93
XzE2KHNzX3gsIHVfZGlzdCwgdl9kaXN0LCAmdV9maXJzdCwgJnVfc2Vjb25kLCAmdl9maXJzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgJnZfc2Vjb25kKTsKLQotICBzdW1fcm93X2ZpcnN0
ID0gdnFhZGRxX3UxNihzdW1fcm93X2ZpcnN0LCB1X2ZpcnN0KTsKLSAgc3VtX3Jvd19zZWNvbmQg
PSB2cWFkZHFfdTE2KHN1bV9yb3dfc2Vjb25kLCB1X3NlY29uZCk7Ci0KLSAgc3VtX3Jvd19maXJz
dCA9IHZxYWRkcV91MTYoc3VtX3Jvd19maXJzdCwgdl9maXJzdCk7Ci0gIHN1bV9yb3dfc2Vjb25k
ID0gdnFhZGRxX3UxNihzdW1fcm93X3NlY29uZCwgdl9zZWNvbmQpOwotCi0gIC8vIEdldCBtb2Rp
ZmllciBhbmQgc3RvcmUgcmVzdWx0Ci0gIHN1bV9yb3dfZmlyc3QgPQotICAgICAgYXZlcmFnZV84
KHN1bV9yb3dfZmlyc3QsICZtdWxfZmlyc3QsIHN0cmVuZ3RoLCByb3VuZGluZywgJndlaWdodF9m
aXJzdCk7Ci0KLSAgc3VtX3Jvd19zZWNvbmQgPSBhdmVyYWdlXzgoc3VtX3Jvd19zZWNvbmQsICZt
dWxfc2Vjb25kLCBzdHJlbmd0aCwgcm91bmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZ3ZWlnaHRfc2Vjb25kKTsKLQotICBhY2N1bXVsYXRlX2FuZF9zdG9yZV8xNihzdW1fcm93
X2ZpcnN0LCBzdW1fcm93X3NlY29uZCwgeV9wcmUsIHlfY291bnQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHlfYWNjdW0pOwotCi0gIHlfcHJlICs9IHlfcHJlX3N0cmlkZTsKLSAgeV9jb3Vu
dCArPSB5X3ByZV9zdHJpZGU7Ci0gIHlfYWNjdW0gKz0geV9wcmVfc3RyaWRlOwotICB5X2Rpc3Qg
Kz0gRElTVF9TVFJJREU7Ci0KLSAgdV9kaXN0ICs9IERJU1RfU1RSSURFOwotICB2X2Rpc3QgKz0g
RElTVF9TVFJJREU7Ci0KLSAgLy8gVGhlbiBhbGwgdGhlIHJvd3MgZXhjZXB0IHRoZSBsYXN0IG9u
ZQotICBtdWxfZmlyc3QgPSB2bGQxcV91MTYoKGNvbnN0IHVpbnQxNl90ICopbmVpZ2hib3JzX2Zp
cnN0WzFdKTsKLSAgbXVsX3NlY29uZCA9IHZsZDFxX3UxNigoY29uc3QgdWludDE2X3QgKiluZWln
aGJvcnNfc2Vjb25kWzFdKTsKLQotICBmb3IgKGggPSAxOyBoIDwgYmxvY2tfaGVpZ2h0IC0gMTsg
KytoKSB7Ci0gICAgLy8gTW92ZSB0aGUgd2VpZ2h0IHRvIGJvdHRvbSBoYWxmCi0gICAgaWYgKCF1
c2Vfd2hvbGVfYmxrICYmIGggPT0gYmxvY2tfaGVpZ2h0IC8gMikgewotICAgICAgaWYgKGJsa19m
dykgewotICAgICAgICB3ZWlnaHRfZmlyc3QgPSB2ZHVwcV9uX3UxNihibGtfZndbMl0pOwotICAg
ICAgICB3ZWlnaHRfc2Vjb25kID0gdmR1cHFfbl91MTYoYmxrX2Z3WzNdKTsKLSAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgIHdlaWdodF9maXJzdCA9IHZkdXBxX25fdTE2KGJvdHRvbV93ZWlnaHQpOwot
ICAgICAgICB3ZWlnaHRfc2Vjb25kID0gd2VpZ2h0X2ZpcnN0OwotICAgICAgfQotICAgIH0KLSAg
ICAvLyBTaGlmdCB0aGUgcm93cyB1cAotICAgIHN1bV9yb3dfMV9maXJzdCA9IHN1bV9yb3dfMl9m
aXJzdDsKLSAgICBzdW1fcm93XzFfc2Vjb25kID0gc3VtX3Jvd18yX3NlY29uZDsKLSAgICBzdW1f
cm93XzJfZmlyc3QgPSBzdW1fcm93XzNfZmlyc3Q7Ci0gICAgc3VtX3Jvd18yX3NlY29uZCA9IHN1
bV9yb3dfM19zZWNvbmQ7Ci0KLSAgICAvLyBBZGQgbHVtYSB2YWx1ZXMgdG8gdGhlIG1vZGlmaWVy
Ci0gICAgc3VtX3Jvd19maXJzdCA9IHZxYWRkcV91MTYoc3VtX3Jvd18xX2ZpcnN0LCBzdW1fcm93
XzJfZmlyc3QpOwotICAgIHN1bV9yb3dfc2Vjb25kID0gdnFhZGRxX3UxNihzdW1fcm93XzFfc2Vj
b25kLCBzdW1fcm93XzJfc2Vjb25kKTsKLQotICAgIGdldF9zdW1fMTYoeV9kaXN0ICsgRElTVF9T
VFJJREUsICZzdW1fcm93XzNfZmlyc3QsICZzdW1fcm93XzNfc2Vjb25kKTsKLQotICAgIHN1bV9y
b3dfZmlyc3QgPSB2cWFkZHFfdTE2KHN1bV9yb3dfZmlyc3QsIHN1bV9yb3dfM19maXJzdCk7Ci0g
ICAgc3VtX3Jvd19zZWNvbmQgPSB2cWFkZHFfdTE2KHN1bV9yb3dfc2Vjb25kLCBzdW1fcm93XzNf
c2Vjb25kKTsKLQotICAgIC8vIEFkZCBjaHJvbWEgdmFsdWVzIHRvIHRoZSBtb2RpZmllcgotICAg
IGlmIChzc195ID09IDAgfHwgaCAlIDIgPT0gMCkgewotICAgICAgLy8gT25seSBjYWxjdWxhdGUg
dGhlIG5ldyBjaHJvbWEgZGlzdG9ydGlvbiBpZiB3ZSBhcmUgYXQgYSBwaXhlbCB0aGF0Ci0gICAg
ICAvLyBjb3JyZXNwb25kcyB0byBhIG5ldyBjaHJvbWEgcm93Ci0gICAgICByZWFkX2Nocm9tYV9k
aXN0X3Jvd18xNihzc194LCB1X2Rpc3QsIHZfZGlzdCwgJnVfZmlyc3QsICZ1X3NlY29uZCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2X2ZpcnN0LCAmdl9zZWNvbmQpOwotICAgICAg
dV9kaXN0ICs9IERJU1RfU1RSSURFOwotICAgICAgdl9kaXN0ICs9IERJU1RfU1RSSURFOwotICAg
IH0KLQotICAgIHN1bV9yb3dfZmlyc3QgPSB2cWFkZHFfdTE2KHN1bV9yb3dfZmlyc3QsIHVfZmly
c3QpOwotICAgIHN1bV9yb3dfc2Vjb25kID0gdnFhZGRxX3UxNihzdW1fcm93X3NlY29uZCwgdV9z
ZWNvbmQpOwotICAgIHN1bV9yb3dfZmlyc3QgPSB2cWFkZHFfdTE2KHN1bV9yb3dfZmlyc3QsIHZf
Zmlyc3QpOwotICAgIHN1bV9yb3dfc2Vjb25kID0gdnFhZGRxX3UxNihzdW1fcm93X3NlY29uZCwg
dl9zZWNvbmQpOwotCi0gICAgLy8gR2V0IG1vZGlmaWVyIGFuZCBzdG9yZSByZXN1bHQKLSAgICBz
dW1fcm93X2ZpcnN0ID0KLSAgICAgICAgYXZlcmFnZV84KHN1bV9yb3dfZmlyc3QsICZtdWxfZmly
c3QsIHN0cmVuZ3RoLCByb3VuZGluZywgJndlaWdodF9maXJzdCk7Ci0gICAgc3VtX3Jvd19zZWNv
bmQgPSBhdmVyYWdlXzgoc3VtX3Jvd19zZWNvbmQsICZtdWxfc2Vjb25kLCBzdHJlbmd0aCwgcm91
bmRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJndlaWdodF9zZWNvbmQpOwot
ICAgIGFjY3VtdWxhdGVfYW5kX3N0b3JlXzE2KHN1bV9yb3dfZmlyc3QsIHN1bV9yb3dfc2Vjb25k
LCB5X3ByZSwgeV9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB5X2FjY3VtKTsK
LSAgICB5X3ByZSArPSB5X3ByZV9zdHJpZGU7Ci0gICAgeV9jb3VudCArPSB5X3ByZV9zdHJpZGU7
Ci0gICAgeV9hY2N1bSArPSB5X3ByZV9zdHJpZGU7Ci0gICAgeV9kaXN0ICs9IERJU1RfU1RSSURF
OwotICB9Ci0KLSAgLy8gVGhlIGxhc3Qgcm93Ci0gIG11bF9maXJzdCA9IHZsZDFxX3UxNigoY29u
c3QgdWludDE2X3QgKiluZWlnaGJvcnNfZmlyc3RbMF0pOwotICBtdWxfc2Vjb25kID0gdmxkMXFf
dTE2KChjb25zdCB1aW50MTZfdCAqKW5laWdoYm9yc19zZWNvbmRbMF0pOwotCi0gIC8vIFNoaWZ0
IHRoZSByb3dzIHVwCi0gIHN1bV9yb3dfMV9maXJzdCA9IHN1bV9yb3dfMl9maXJzdDsKLSAgc3Vt
X3Jvd18xX3NlY29uZCA9IHN1bV9yb3dfMl9zZWNvbmQ7Ci0gIHN1bV9yb3dfMl9maXJzdCA9IHN1
bV9yb3dfM19maXJzdDsKLSAgc3VtX3Jvd18yX3NlY29uZCA9IHN1bV9yb3dfM19zZWNvbmQ7Ci0K
LSAgLy8gQWRkIGx1bWEgdmFsdWVzIHRvIHRoZSBtb2RpZmllcgotICBzdW1fcm93X2ZpcnN0ID0g
dnFhZGRxX3UxNihzdW1fcm93XzFfZmlyc3QsIHN1bV9yb3dfMl9maXJzdCk7Ci0gIHN1bV9yb3df
c2Vjb25kID0gdnFhZGRxX3UxNihzdW1fcm93XzFfc2Vjb25kLCBzdW1fcm93XzJfc2Vjb25kKTsK
LQotICAvLyBBZGQgY2hyb21hIHZhbHVlcyB0byB0aGUgbW9kaWZpZXIKLSAgaWYgKHNzX3kgPT0g
MCkgewotICAgIC8vIE9ubHkgY2FsY3VsYXRlIHRoZSBuZXcgY2hyb21hIGRpc3RvcnRpb24gaWYg
d2UgYXJlIGF0IGEgcGl4ZWwgdGhhdAotICAgIC8vIGNvcnJlc3BvbmRzIHRvIGEgbmV3IGNocm9t
YSByb3cKLSAgICByZWFkX2Nocm9tYV9kaXN0X3Jvd18xNihzc194LCB1X2Rpc3QsIHZfZGlzdCwg
JnVfZmlyc3QsICZ1X3NlY29uZCwgJnZfZmlyc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJnZfc2Vjb25kKTsKLSAgfQotCi0gIHN1bV9yb3dfZmlyc3QgPSB2cWFkZHFfdTE2KHN1bV9y
b3dfZmlyc3QsIHVfZmlyc3QpOwotICBzdW1fcm93X3NlY29uZCA9IHZxYWRkcV91MTYoc3VtX3Jv
d19zZWNvbmQsIHVfc2Vjb25kKTsKLSAgc3VtX3Jvd19maXJzdCA9IHZxYWRkcV91MTYoc3VtX3Jv
d19maXJzdCwgdl9maXJzdCk7Ci0gIHN1bV9yb3dfc2Vjb25kID0gdnFhZGRxX3UxNihzdW1fcm93
X3NlY29uZCwgdl9zZWNvbmQpOwotCi0gIC8vIEdldCBtb2RpZmllciBhbmQgc3RvcmUgcmVzdWx0
Ci0gIHN1bV9yb3dfZmlyc3QgPQotICAgICAgYXZlcmFnZV84KHN1bV9yb3dfZmlyc3QsICZtdWxf
Zmlyc3QsIHN0cmVuZ3RoLCByb3VuZGluZywgJndlaWdodF9maXJzdCk7Ci0gIHN1bV9yb3dfc2Vj
b25kID0gYXZlcmFnZV84KHN1bV9yb3dfc2Vjb25kLCAmbXVsX3NlY29uZCwgc3RyZW5ndGgsIHJv
dW5kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmd2VpZ2h0X3NlY29uZCk7Ci0g
IGFjY3VtdWxhdGVfYW5kX3N0b3JlXzE2KHN1bV9yb3dfZmlyc3QsIHN1bV9yb3dfc2Vjb25kLCB5
X3ByZSwgeV9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgeV9hY2N1bSk7Ci19Ci0K
LS8vIFBlcmZvcm0gdGVtcG9yYWwgZmlsdGVyIGZvciB0aGUgbHVtYSBjb21wb25lbnQuCi1zdGF0
aWMgdm9pZCBhcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVtYSgKLSAgICBjb25zdCB1aW50OF90ICp5
X3ByZSwgaW50IHlfcHJlX3N0cmlkZSwgdW5zaWduZWQgaW50IGJsb2NrX3dpZHRoLAotICAgIHVu
c2lnbmVkIGludCBibG9ja19oZWlnaHQsIGludCBzc194LCBpbnQgc3NfeSwgaW50IHN0cmVuZ3Ro
LAotICAgIGNvbnN0IGludCAqYmxrX2Z3LCBpbnQgdXNlX3dob2xlX2JsaywgdWludDMyX3QgKnlf
YWNjdW0sIHVpbnQxNl90ICp5X2NvdW50LAotICAgIGNvbnN0IHVpbnQxNl90ICp5X2Rpc3QsIGNv
bnN0IHVpbnQxNl90ICp1X2Rpc3QsIGNvbnN0IHVpbnQxNl90ICp2X2Rpc3QpIHsKLSAgdW5zaWdu
ZWQgaW50IGJsa19jb2wgPSAwLCB1dl9ibGtfY29sID0gMDsKLSAgY29uc3QgdW5zaWduZWQgaW50
IGJsa19jb2xfc3RlcCA9IDE2LCB1dl9ibGtfY29sX3N0ZXAgPSAxNiA+PiBzc194OwotICBjb25z
dCB1bnNpZ25lZCBpbnQgbWlkX3dpZHRoID0gYmxvY2tfd2lkdGggPj4gMSwKLSAgICAgICAgICAg
ICAgICAgICAgIGxhc3Rfd2lkdGggPSBibG9ja193aWR0aCAtIGJsa19jb2xfc3RlcDsKLSAgaW50
IHRvcF93ZWlnaHQgPSBibGtfZndbMF0sCi0gICAgICBib3R0b21fd2VpZ2h0ID0gdXNlX3dob2xl
X2JsayA/IGJsa19md1swXSA6IGJsa19md1syXTsKLSAgY29uc3QgaW50MTZfdCAqY29uc3QgKm5l
aWdoYm9yc19maXJzdDsKLSAgY29uc3QgaW50MTZfdCAqY29uc3QgKm5laWdoYm9yc19zZWNvbmQ7
Ci0KLSAgaWYgKGJsb2NrX3dpZHRoID09IDE2KSB7Ci0gICAgLy8gU3BlY2lhbCBDYXNlOiBUaGUg
YmxvY2sgd2lkdGggaXMgMTYgYW5kIHdlIGFyZSBvcGVyYXRpbmcgb24gYSByb3cgb2YgMTYKLSAg
ICAvLyBjaHJvbWEgcGl4ZWxzLiBJbiB0aGlzIGNhc2UsIHdlIGNhbid0IHVzZSB0aGUgdXN1YWwg
bGVmdC1taWRkbGUtcmlnaHQKLSAgICAvLyBwYXR0ZXJuLiBXZSBhbHNvIGRvbid0IHN1cHBvcnQg
c3BsaXR0aW5nIG5vdy4KLSAgICBuZWlnaGJvcnNfZmlyc3QgPSBMVU1BX0xFRlRfQ09MVU1OX05F
SUdIQk9SUzsKLSAgICBuZWlnaGJvcnNfc2Vjb25kID0gTFVNQV9SSUdIVF9DT0xVTU5fTkVJR0hC
T1JTOwotICAgIGlmICh1c2Vfd2hvbGVfYmxrKSB7Ci0gICAgICBhcHBseV90ZW1wb3JhbF9maWx0
ZXJfbHVtYV8xNigKLSAgICAgICAgICB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwgMTYs
IGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwgc3RyZW5ndGgsCi0gICAgICAgICAgdXNlX3dob2xl
X2JsaywgeV9hY2N1bSArIGJsa19jb2wsIHlfY291bnQgKyBibGtfY29sLCB5X2Rpc3QgKyBibGtf
Y29sLAotICAgICAgICAgIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2ws
IG5laWdoYm9yc19maXJzdCwKLSAgICAgICAgICBuZWlnaGJvcnNfc2Vjb25kLCB0b3Bfd2VpZ2h0
LCBib3R0b21fd2VpZ2h0LCBOVUxMKTsKLSAgICB9IGVsc2UgewotICAgICAgYXBwbHlfdGVtcG9y
YWxfZmlsdGVyX2x1bWFfMTYoCi0gICAgICAgICAgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJp
ZGUsIDE2LCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLAotICAgICAgICAgIHVz
ZV93aG9sZV9ibGssIHlfYWNjdW0gKyBibGtfY29sLCB5X2NvdW50ICsgYmxrX2NvbCwgeV9kaXN0
ICsgYmxrX2NvbCwKLSAgICAgICAgICB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9i
bGtfY29sLCBuZWlnaGJvcnNfZmlyc3QsCi0gICAgICAgICAgbmVpZ2hib3JzX3NlY29uZCwgMCwg
MCwgYmxrX2Z3KTsKLSAgICB9Ci0KLSAgICByZXR1cm47Ci0gIH0KLQotICAvLyBMZWZ0Ci0gIG5l
aWdoYm9yc19maXJzdCA9IExVTUFfTEVGVF9DT0xVTU5fTkVJR0hCT1JTOwotICBuZWlnaGJvcnNf
c2Vjb25kID0gTFVNQV9NSURETEVfQ09MVU1OX05FSUdIQk9SUzsKLSAgYXBwbHlfdGVtcG9yYWxf
ZmlsdGVyX2x1bWFfMTYoCi0gICAgICB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwgMTYs
IGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwgc3RyZW5ndGgsCi0gICAgICB1c2Vfd2hvbGVfYmxr
LCB5X2FjY3VtICsgYmxrX2NvbCwgeV9jb3VudCArIGJsa19jb2wsIHlfZGlzdCArIGJsa19jb2ws
Ci0gICAgICB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWlnaGJv
cnNfZmlyc3QsCi0gICAgICBuZWlnaGJvcnNfc2Vjb25kLCB0b3Bfd2VpZ2h0LCBib3R0b21fd2Vp
Z2h0LCBOVUxMKTsKLQotICBibGtfY29sICs9IGJsa19jb2xfc3RlcDsKLSAgdXZfYmxrX2NvbCAr
PSB1dl9ibGtfY29sX3N0ZXA7Ci0KLSAgLy8gTWlkZGxlIEZpcnN0Ci0gIG5laWdoYm9yc19maXJz
dCA9IExVTUFfTUlERExFX0NPTFVNTl9ORUlHSEJPUlM7Ci0gIGZvciAoOyBibGtfY29sIDwgbWlk
X3dpZHRoOwotICAgICAgIGJsa19jb2wgKz0gYmxrX2NvbF9zdGVwLCB1dl9ibGtfY29sICs9IHV2
X2Jsa19jb2xfc3RlcCkgewotICAgIGFwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hXzE2KAotICAg
ICAgICB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwgMTYsIGJsb2NrX2hlaWdodCwgc3Nf
eCwgc3NfeSwgc3RyZW5ndGgsCi0gICAgICAgIHVzZV93aG9sZV9ibGssIHlfYWNjdW0gKyBibGtf
Y29sLCB5X2NvdW50ICsgYmxrX2NvbCwgeV9kaXN0ICsgYmxrX2NvbCwKLSAgICAgICAgdV9kaXN0
ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzX2ZpcnN0LAotICAg
ICAgICBuZWlnaGJvcnNfc2Vjb25kLCB0b3Bfd2VpZ2h0LCBib3R0b21fd2VpZ2h0LCBOVUxMKTsK
LSAgfQotCi0gIGlmICghdXNlX3dob2xlX2JsaykgewotICAgIHRvcF93ZWlnaHQgPSBibGtfZndb
MV07Ci0gICAgYm90dG9tX3dlaWdodCA9IGJsa19md1szXTsKLSAgfQotCi0gIC8vIE1pZGRsZSBT
ZWNvbmQKLSAgZm9yICg7IGJsa19jb2wgPCBsYXN0X3dpZHRoOwotICAgICAgIGJsa19jb2wgKz0g
YmxrX2NvbF9zdGVwLCB1dl9ibGtfY29sICs9IHV2X2Jsa19jb2xfc3RlcCkgewotICAgIGFwcGx5
X3RlbXBvcmFsX2ZpbHRlcl9sdW1hXzE2KAotICAgICAgICB5X3ByZSArIGJsa19jb2wsIHlfcHJl
X3N0cmlkZSwgMTYsIGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwgc3RyZW5ndGgsCi0gICAgICAg
IHVzZV93aG9sZV9ibGssIHlfYWNjdW0gKyBibGtfY29sLCB5X2NvdW50ICsgYmxrX2NvbCwgeV9k
aXN0ICsgYmxrX2NvbCwKLSAgICAgICAgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZf
YmxrX2NvbCwgbmVpZ2hib3JzX2ZpcnN0LAotICAgICAgICBuZWlnaGJvcnNfc2Vjb25kLCB0b3Bf
d2VpZ2h0LCBib3R0b21fd2VpZ2h0LCBOVUxMKTsKLSAgfQotCi0gIC8vIFJpZ2h0Ci0gIG5laWdo
Ym9yc19zZWNvbmQgPSBMVU1BX1JJR0hUX0NPTFVNTl9ORUlHSEJPUlM7Ci0gIGFwcGx5X3RlbXBv
cmFsX2ZpbHRlcl9sdW1hXzE2KAotICAgICAgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUs
IDE2LCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLAotICAgICAgdXNlX3dob2xl
X2JsaywgeV9hY2N1bSArIGJsa19jb2wsIHlfY291bnQgKyBibGtfY29sLCB5X2Rpc3QgKyBibGtf
Y29sLAotICAgICAgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVp
Z2hib3JzX2ZpcnN0LAotICAgICAgbmVpZ2hib3JzX3NlY29uZCwgdG9wX3dlaWdodCwgYm90dG9t
X3dlaWdodCwgTlVMTCk7Ci19Ci0KLS8vIEFwcGx5IHRlbXBvcmFsIGZpbHRlciB0byB0aGUgY2hy
b21hIGNvbXBvbmVudHMuIFRoaXMgcGVyZm9ybXMgdGVtcG9yYWwKLS8vIGZpbHRlcmluZyBvbiBh
IGNocm9tYSBibG9jayBvZiA4IFggdXZfaGVpZ2h0LiBJZiBibGtfZncgaXMgbm90IE5VTEwsIHVz
ZQotLy8gYmxrX2Z3IGFzIGFuIGFycmF5IG9mIHNpemUgNCBmb3IgdGhlIHdlaWdodHMgZm9yIGVh
Y2ggb2YgdGhlIDQgc3ViYmxvY2tzLAotLy8gZWxzZSB1c2UgdG9wX3dlaWdodCBmb3IgdG9wIGhh
bGYsIGFuZCBib3R0b20gd2VpZ2h0IGZvciBib3R0b20gaGFsZi4KLXN0YXRpYyB2b2lkIGFwcGx5
X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgKLSAgICBjb25zdCB1aW50OF90ICp1X3ByZSwgY29u
c3QgdWludDhfdCAqdl9wcmUsIGludCB1dl9wcmVfc3RyaWRlLAotICAgIHVuc2lnbmVkIGludCB1
dl9ibG9ja19oZWlnaHQsIGludCBzc194LCBpbnQgc3NfeSwgaW50IHN0cmVuZ3RoLAotICAgIHVp
bnQzMl90ICp1X2FjY3VtLCB1aW50MTZfdCAqdV9jb3VudCwgdWludDMyX3QgKnZfYWNjdW0sIHVp
bnQxNl90ICp2X2NvdW50LAotICAgIGNvbnN0IHVpbnQxNl90ICp5X2Rpc3QsIGNvbnN0IHVpbnQx
Nl90ICp1X2Rpc3QsIGNvbnN0IHVpbnQxNl90ICp2X2Rpc3QsCi0gICAgY29uc3QgaW50MTZfdCAq
Y29uc3QgKm5laWdoYm9ycywgaW50IHRvcF93ZWlnaHQsIGludCBib3R0b21fd2VpZ2h0LAotICAg
IGNvbnN0IGludCAqYmxrX2Z3KSB7Ci0gIGNvbnN0IGludCByb3VuZGluZyA9ICgxIDw8IHN0cmVu
Z3RoKSA+PiAxOwotCi0gIHVpbnQxNng4X3Qgd2VpZ2h0OwotCi0gIHVpbnQxNng4X3QgbXVsOwot
Ci0gIHVpbnQxNng4X3QgdV9zdW1fcm93XzEsIHVfc3VtX3Jvd18yLCB1X3N1bV9yb3dfMzsKLSAg
dWludDE2eDhfdCB2X3N1bV9yb3dfMSwgdl9zdW1fcm93XzIsIHZfc3VtX3Jvd18zOwotCi0gIHVp
bnQxNng4X3QgdV9zdW1fcm93LCB2X3N1bV9yb3c7Ci0KLSAgLy8gTG9vcCB2YXJpYWJsZQotICB1
bnNpZ25lZCBpbnQgaDsKLQotICAvLyBJbml0aWFsaXplIHdlaWdodAotICBpZiAoYmxrX2Z3KSB7
Ci0gICAgd2VpZ2h0ID0gdmNvbWJpbmVfdTE2KHZkdXBfbl91MTYoYmxrX2Z3WzBdKSwgdmR1cF9u
X3UxNihibGtfZndbMV0pKTsKLSAgfSBlbHNlIHsKLSAgICB3ZWlnaHQgPSB2ZHVwcV9uX3UxNih0
b3Bfd2VpZ2h0KTsKLSAgfQotCi0gIC8vIEZpcnN0IHJvdwotICBtdWwgPSB2bGQxcV91MTYoKGNv
bnN0IHVpbnQxNl90ICopbmVpZ2hib3JzWzBdKTsKLQotICAvLyBBZGQgY2hyb21hIHZhbHVlcwot
ICBnZXRfc3VtXzgodV9kaXN0LCAmdV9zdW1fcm93XzIpOwotICBnZXRfc3VtXzgodV9kaXN0ICsg
RElTVF9TVFJJREUsICZ1X3N1bV9yb3dfMyk7Ci0KLSAgdV9zdW1fcm93ID0gdnFhZGRxX3UxNih1
X3N1bV9yb3dfMiwgdV9zdW1fcm93XzMpOwotCi0gIGdldF9zdW1fOCh2X2Rpc3QsICZ2X3N1bV9y
b3dfMik7Ci0gIGdldF9zdW1fOCh2X2Rpc3QgKyBESVNUX1NUUklERSwgJnZfc3VtX3Jvd18zKTsK
LQotICB2X3N1bV9yb3cgPSB2cWFkZHFfdTE2KHZfc3VtX3Jvd18yLCB2X3N1bV9yb3dfMyk7Ci0K
LSAgLy8gQWRkIGx1bWEgdmFsdWVzCi0gIGFkZF9sdW1hX2Rpc3RfdG9fOF9jaHJvbWFfbW9kKHlf
ZGlzdCwgc3NfeCwgc3NfeSwgJnVfc3VtX3JvdywgJnZfc3VtX3Jvdyk7Ci0KLSAgLy8gR2V0IG1v
ZGlmaWVyIGFuZCBzdG9yZSByZXN1bHQKLSAgdV9zdW1fcm93ID0gYXZlcmFnZV84KHVfc3VtX3Jv
dywgJm11bCwgc3RyZW5ndGgsIHJvdW5kaW5nLCAmd2VpZ2h0KTsKLSAgdl9zdW1fcm93ID0gYXZl
cmFnZV84KHZfc3VtX3JvdywgJm11bCwgc3RyZW5ndGgsIHJvdW5kaW5nLCAmd2VpZ2h0KTsKLQot
ICBhY2N1bXVsYXRlX2FuZF9zdG9yZV84KHVfc3VtX3JvdywgdV9wcmUsIHVfY291bnQsIHVfYWNj
dW0pOwotICBhY2N1bXVsYXRlX2FuZF9zdG9yZV84KHZfc3VtX3Jvdywgdl9wcmUsIHZfY291bnQs
IHZfYWNjdW0pOwotCi0gIHVfcHJlICs9IHV2X3ByZV9zdHJpZGU7Ci0gIHVfZGlzdCArPSBESVNU
X1NUUklERTsKLSAgdl9wcmUgKz0gdXZfcHJlX3N0cmlkZTsKLSAgdl9kaXN0ICs9IERJU1RfU1RS
SURFOwotICB1X2NvdW50ICs9IHV2X3ByZV9zdHJpZGU7Ci0gIHVfYWNjdW0gKz0gdXZfcHJlX3N0
cmlkZTsKLSAgdl9jb3VudCArPSB1dl9wcmVfc3RyaWRlOwotICB2X2FjY3VtICs9IHV2X3ByZV9z
dHJpZGU7Ci0KLSAgeV9kaXN0ICs9IERJU1RfU1RSSURFICogKDEgKyBzc195KTsKLQotICAvLyBU
aGVuIGFsbCB0aGUgcm93cyBleGNlcHQgdGhlIGxhc3Qgb25lCi0gIG11bCA9IHZsZDFxX3UxNigo
Y29uc3QgdWludDE2X3QgKiluZWlnaGJvcnNbMV0pOwotCi0gIGZvciAoaCA9IDE7IGggPCB1dl9i
bG9ja19oZWlnaHQgLSAxOyArK2gpIHsKLSAgICAvLyBNb3ZlIHRoZSB3ZWlnaHQgcG9pbnRlciB0
byB0aGUgYm90dG9tIGhhbGYgb2YgdGhlIGJsb2NrcwotICAgIGlmIChoID09IHV2X2Jsb2NrX2hl
aWdodCAvIDIpIHsKLSAgICAgIGlmIChibGtfZncpIHsKLSAgICAgICAgd2VpZ2h0ID0gdmNvbWJp
bmVfdTE2KHZkdXBfbl91MTYoYmxrX2Z3WzJdKSwgdmR1cF9uX3UxNihibGtfZndbM10pKTsKLSAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgIHdlaWdodCA9IHZkdXBxX25fdTE2KGJvdHRvbV93ZWlnaHQp
OwotICAgICAgfQotICAgIH0KLQotICAgIC8vIFNoaWZ0IHRoZSByb3dzIHVwCi0gICAgdV9zdW1f
cm93XzEgPSB1X3N1bV9yb3dfMjsKLSAgICB1X3N1bV9yb3dfMiA9IHVfc3VtX3Jvd18zOwotCi0g
ICAgdl9zdW1fcm93XzEgPSB2X3N1bV9yb3dfMjsKLSAgICB2X3N1bV9yb3dfMiA9IHZfc3VtX3Jv
d18zOwotCi0gICAgLy8gQWRkIGNocm9tYSB2YWx1ZXMKLSAgICB1X3N1bV9yb3cgPSB2cWFkZHFf
dTE2KHVfc3VtX3Jvd18xLCB1X3N1bV9yb3dfMik7Ci0gICAgZ2V0X3N1bV84KHVfZGlzdCArIERJ
U1RfU1RSSURFLCAmdV9zdW1fcm93XzMpOwotICAgIHVfc3VtX3JvdyA9IHZxYWRkcV91MTYodV9z
dW1fcm93LCB1X3N1bV9yb3dfMyk7Ci0KLSAgICB2X3N1bV9yb3cgPSB2cWFkZHFfdTE2KHZfc3Vt
X3Jvd18xLCB2X3N1bV9yb3dfMik7Ci0gICAgZ2V0X3N1bV84KHZfZGlzdCArIERJU1RfU1RSSURF
LCAmdl9zdW1fcm93XzMpOwotICAgIHZfc3VtX3JvdyA9IHZxYWRkcV91MTYodl9zdW1fcm93LCB2
X3N1bV9yb3dfMyk7Ci0KLSAgICAvLyBBZGQgbHVtYSB2YWx1ZXMKLSAgICBhZGRfbHVtYV9kaXN0
X3RvXzhfY2hyb21hX21vZCh5X2Rpc3QsIHNzX3gsIHNzX3ksICZ1X3N1bV9yb3csICZ2X3N1bV9y
b3cpOwotCi0gICAgLy8gR2V0IG1vZGlmaWVyIGFuZCBzdG9yZSByZXN1bHQKLSAgICB1X3N1bV9y
b3cgPSBhdmVyYWdlXzgodV9zdW1fcm93LCAmbXVsLCBzdHJlbmd0aCwgcm91bmRpbmcsICZ3ZWln
aHQpOwotICAgIHZfc3VtX3JvdyA9IGF2ZXJhZ2VfOCh2X3N1bV9yb3csICZtdWwsIHN0cmVuZ3Ro
LCByb3VuZGluZywgJndlaWdodCk7Ci0KLSAgICBhY2N1bXVsYXRlX2FuZF9zdG9yZV84KHVfc3Vt
X3JvdywgdV9wcmUsIHVfY291bnQsIHVfYWNjdW0pOwotICAgIGFjY3VtdWxhdGVfYW5kX3N0b3Jl
Xzgodl9zdW1fcm93LCB2X3ByZSwgdl9jb3VudCwgdl9hY2N1bSk7Ci0KLSAgICB1X3ByZSArPSB1
dl9wcmVfc3RyaWRlOwotICAgIHVfZGlzdCArPSBESVNUX1NUUklERTsKLSAgICB2X3ByZSArPSB1
dl9wcmVfc3RyaWRlOwotICAgIHZfZGlzdCArPSBESVNUX1NUUklERTsKLSAgICB1X2NvdW50ICs9
IHV2X3ByZV9zdHJpZGU7Ci0gICAgdV9hY2N1bSArPSB1dl9wcmVfc3RyaWRlOwotICAgIHZfY291
bnQgKz0gdXZfcHJlX3N0cmlkZTsKLSAgICB2X2FjY3VtICs9IHV2X3ByZV9zdHJpZGU7Ci0KLSAg
ICB5X2Rpc3QgKz0gRElTVF9TVFJJREUgKiAoMSArIHNzX3kpOwotICB9Ci0KLSAgLy8gVGhlIGxh
c3Qgcm93Ci0gIG11bCA9IHZsZDFxX3UxNigoY29uc3QgdWludDE2X3QgKiluZWlnaGJvcnNbMF0p
OwotCi0gIC8vIFNoaWZ0IHRoZSByb3dzIHVwCi0gIHVfc3VtX3Jvd18xID0gdV9zdW1fcm93XzI7
Ci0gIHVfc3VtX3Jvd18yID0gdV9zdW1fcm93XzM7Ci0KLSAgdl9zdW1fcm93XzEgPSB2X3N1bV9y
b3dfMjsKLSAgdl9zdW1fcm93XzIgPSB2X3N1bV9yb3dfMzsKLQotICAvLyBBZGQgY2hyb21hIHZh
bHVlcwotICB1X3N1bV9yb3cgPSB2cWFkZHFfdTE2KHVfc3VtX3Jvd18xLCB1X3N1bV9yb3dfMik7
Ci0gIHZfc3VtX3JvdyA9IHZxYWRkcV91MTYodl9zdW1fcm93XzEsIHZfc3VtX3Jvd18yKTsKLQot
ICAvLyBBZGQgbHVtYSB2YWx1ZXMKLSAgYWRkX2x1bWFfZGlzdF90b184X2Nocm9tYV9tb2QoeV9k
aXN0LCBzc194LCBzc195LCAmdV9zdW1fcm93LCAmdl9zdW1fcm93KTsKLQotICAvLyBHZXQgbW9k
aWZpZXIgYW5kIHN0b3JlIHJlc3VsdAotICB1X3N1bV9yb3cgPSBhdmVyYWdlXzgodV9zdW1fcm93
LCAmbXVsLCBzdHJlbmd0aCwgcm91bmRpbmcsICZ3ZWlnaHQpOwotICB2X3N1bV9yb3cgPSBhdmVy
YWdlXzgodl9zdW1fcm93LCAmbXVsLCBzdHJlbmd0aCwgcm91bmRpbmcsICZ3ZWlnaHQpOwotCi0g
IGFjY3VtdWxhdGVfYW5kX3N0b3JlXzgodV9zdW1fcm93LCB1X3ByZSwgdV9jb3VudCwgdV9hY2N1
bSk7Ci0gIGFjY3VtdWxhdGVfYW5kX3N0b3JlXzgodl9zdW1fcm93LCB2X3ByZSwgdl9jb3VudCwg
dl9hY2N1bSk7Ci19Ci0KLS8vIFBlcmZvcm0gdGVtcG9yYWwgZmlsdGVyIGZvciB0aGUgY2hyb21h
IGNvbXBvbmVudHMuCi1zdGF0aWMgdm9pZCBhcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hKAot
ICAgIGNvbnN0IHVpbnQ4X3QgKnVfcHJlLCBjb25zdCB1aW50OF90ICp2X3ByZSwgaW50IHV2X3By
ZV9zdHJpZGUsCi0gICAgdW5zaWduZWQgaW50IGJsb2NrX3dpZHRoLCB1bnNpZ25lZCBpbnQgYmxv
Y2tfaGVpZ2h0LCBpbnQgc3NfeCwgaW50IHNzX3ksCi0gICAgaW50IHN0cmVuZ3RoLCBjb25zdCBp
bnQgKmJsa19mdywgaW50IHVzZV93aG9sZV9ibGssIHVpbnQzMl90ICp1X2FjY3VtLAotICAgIHVp
bnQxNl90ICp1X2NvdW50LCB1aW50MzJfdCAqdl9hY2N1bSwgdWludDE2X3QgKnZfY291bnQsCi0g
ICAgY29uc3QgdWludDE2X3QgKnlfZGlzdCwgY29uc3QgdWludDE2X3QgKnVfZGlzdCwgY29uc3Qg
dWludDE2X3QgKnZfZGlzdCkgewotICBjb25zdCB1bnNpZ25lZCBpbnQgdXZfd2lkdGggPSBibG9j
a193aWR0aCA+PiBzc194LAotICAgICAgICAgICAgICAgICAgICAgdXZfaGVpZ2h0ID0gYmxvY2tf
aGVpZ2h0ID4+IHNzX3k7Ci0KLSAgdW5zaWduZWQgaW50IGJsa19jb2wgPSAwLCB1dl9ibGtfY29s
ID0gMDsKLSAgY29uc3QgdW5zaWduZWQgaW50IHV2X2Jsa19jb2xfc3RlcCA9IDgsIGJsa19jb2xf
c3RlcCA9IDggPDwgc3NfeDsKLSAgY29uc3QgdW5zaWduZWQgaW50IHV2X21pZF93aWR0aCA9IHV2
X3dpZHRoID4+IDEsCi0gICAgICAgICAgICAgICAgICAgICB1dl9sYXN0X3dpZHRoID0gdXZfd2lk
dGggLSB1dl9ibGtfY29sX3N0ZXA7Ci0gIGludCB0b3Bfd2VpZ2h0ID0gYmxrX2Z3WzBdLAotICAg
ICAgYm90dG9tX3dlaWdodCA9IHVzZV93aG9sZV9ibGsgPyBibGtfZndbMF0gOiBibGtfZndbMl07
Ci0gIGNvbnN0IGludDE2X3QgKmNvbnN0ICpuZWlnaGJvcnM7Ci0KLSAgaWYgKHV2X3dpZHRoID09
IDgpIHsKLSAgICAvLyBTcGVjaWFsIENhc2U6IFdlIGFyZSBzdWJzYW1wbGluZyBpbiB4IGRpcmVj
dGlvbiBvbiBhIDE2eDE2IGJsb2NrLiBTaW5jZQotICAgIC8vIHdlIGFyZSBvcGVyYXRpbmcgb24g
YSByb3cgb2YgOCBjaHJvbWEgcGl4ZWxzLCB3ZSBjYW4ndCB1c2UgdGhlIHVzdWFsCi0gICAgLy8g
bGVmdC1taWRkbGUtcmlnaHQgcGF0dGVybi4KLSAgICBhc3NlcnQoc3NfeCk7Ci0KLSAgICBpZiAo
c3NfeSkgewotICAgICAgbmVpZ2hib3JzID0gQ0hST01BX0RPVUJMRV9TU19TSU5HTEVfQ09MVU1O
X05FSUdIQk9SUzsKLSAgICB9IGVsc2UgewotICAgICAgbmVpZ2hib3JzID0gQ0hST01BX1NJTkdM
RV9TU19TSU5HTEVfQ09MVU1OX05FSUdIQk9SUzsKLSAgICB9Ci0KLSAgICBpZiAodXNlX3dob2xl
X2JsaykgewotICAgICAgYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAotICAgICAgICAg
IHVfcHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1
dl9oZWlnaHQsCi0gICAgICAgICAgc3NfeCwgc3NfeSwgc3RyZW5ndGgsIHVfYWNjdW0gKyB1dl9i
bGtfY29sLCB1X2NvdW50ICsgdXZfYmxrX2NvbCwKLSAgICAgICAgICB2X2FjY3VtICsgdXZfYmxr
X2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsIHlfZGlzdCArIGJsa19jb2wsCi0gICAgICAgICAg
dV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzLCB0b3Bf
d2VpZ2h0LAotICAgICAgICAgIGJvdHRvbV93ZWlnaHQsIE5VTEwpOwotICAgIH0gZWxzZSB7Ci0g
ICAgICBhcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hXzgoCi0gICAgICAgICAgdV9wcmUgKyB1
dl9ibGtfY29sLCB2X3ByZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUsIHV2X2hlaWdodCwK
LSAgICAgICAgICBzc194LCBzc195LCBzdHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsIHVf
Y291bnQgKyB1dl9ibGtfY29sLAotICAgICAgICAgIHZfYWNjdW0gKyB1dl9ibGtfY29sLCB2X2Nv
dW50ICsgdXZfYmxrX2NvbCwgeV9kaXN0ICsgYmxrX2NvbCwKLSAgICAgICAgICB1X2Rpc3QgKyB1
dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWlnaGJvcnMsIDAsIDAsIGJsa19mdyk7
Ci0gICAgfQotCi0gICAgcmV0dXJuOwotICB9Ci0KLSAgLy8gTGVmdAotICBpZiAoc3NfeCAmJiBz
c195KSB7Ci0gICAgbmVpZ2hib3JzID0gQ0hST01BX0RPVUJMRV9TU19MRUZUX0NPTFVNTl9ORUlH
SEJPUlM7Ci0gIH0gZWxzZSBpZiAoc3NfeCB8fCBzc195KSB7Ci0gICAgbmVpZ2hib3JzID0gQ0hS
T01BX1NJTkdMRV9TU19MRUZUX0NPTFVNTl9ORUlHSEJPUlM7Ci0gIH0gZWxzZSB7Ci0gICAgbmVp
Z2hib3JzID0gQ0hST01BX05PX1NTX0xFRlRfQ09MVU1OX05FSUdIQk9SUzsKLSAgfQotCi0gIGFw
cGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgKLSAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwg
dl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1dl9oZWlnaHQsIHNzX3gsCi0gICAg
ICBzc195LCBzdHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsIHVfY291bnQgKyB1dl9ibGtf
Y29sLAotICAgICAgdl9hY2N1bSArIHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLCB5
X2Rpc3QgKyBibGtfY29sLAotICAgICAgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZf
YmxrX2NvbCwgbmVpZ2hib3JzLCB0b3Bfd2VpZ2h0LAotICAgICAgYm90dG9tX3dlaWdodCwgTlVM
TCk7Ci0KLSAgYmxrX2NvbCArPSBibGtfY29sX3N0ZXA7Ci0gIHV2X2Jsa19jb2wgKz0gdXZfYmxr
X2NvbF9zdGVwOwotCi0gIC8vIE1pZGRsZSBGaXJzdAotICBpZiAoc3NfeCAmJiBzc195KSB7Ci0g
ICAgbmVpZ2hib3JzID0gQ0hST01BX0RPVUJMRV9TU19NSURETEVfQ09MVU1OX05FSUdIQk9SUzsK
LSAgfSBlbHNlIGlmIChzc194IHx8IHNzX3kpIHsKLSAgICBuZWlnaGJvcnMgPSBDSFJPTUFfU0lO
R0xFX1NTX01JRERMRV9DT0xVTU5fTkVJR0hCT1JTOwotICB9IGVsc2UgewotICAgIG5laWdoYm9y
cyA9IENIUk9NQV9OT19TU19NSURETEVfQ09MVU1OX05FSUdIQk9SUzsKLSAgfQotCi0gIGZvciAo
OyB1dl9ibGtfY29sIDwgdXZfbWlkX3dpZHRoOwotICAgICAgIGJsa19jb2wgKz0gYmxrX2NvbF9z
dGVwLCB1dl9ibGtfY29sICs9IHV2X2Jsa19jb2xfc3RlcCkgewotICAgIGFwcGx5X3RlbXBvcmFs
X2ZpbHRlcl9jaHJvbWFfOCgKLSAgICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2
X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUsIHV2X2hlaWdodCwgc3NfeCwKLSAgICAgICAgc3NfeSwg
c3RyZW5ndGgsIHVfYWNjdW0gKyB1dl9ibGtfY29sLCB1X2NvdW50ICsgdXZfYmxrX2NvbCwKLSAg
ICAgICAgdl9hY2N1bSArIHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLCB5X2Rpc3Qg
KyBibGtfY29sLAotICAgICAgICB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtf
Y29sLCBuZWlnaGJvcnMsIHRvcF93ZWlnaHQsCi0gICAgICAgIGJvdHRvbV93ZWlnaHQsIE5VTEwp
OwotICB9Ci0KLSAgaWYgKCF1c2Vfd2hvbGVfYmxrKSB7Ci0gICAgdG9wX3dlaWdodCA9IGJsa19m
d1sxXTsKLSAgICBib3R0b21fd2VpZ2h0ID0gYmxrX2Z3WzNdOwotICB9Ci0KLSAgLy8gTWlkZGxl
IFNlY29uZAotICBmb3IgKDsgdXZfYmxrX2NvbCA8IHV2X2xhc3Rfd2lkdGg7Ci0gICAgICAgYmxr
X2NvbCArPSBibGtfY29sX3N0ZXAsIHV2X2Jsa19jb2wgKz0gdXZfYmxrX2NvbF9zdGVwKSB7Ci0g
ICAgYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAotICAgICAgICB1X3ByZSArIHV2X2Js
a19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZfcHJlX3N0cmlkZSwgdXZfaGVpZ2h0LCBzc194
LAotICAgICAgICBzc195LCBzdHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsIHVfY291bnQg
KyB1dl9ibGtfY29sLAotICAgICAgICB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2
X2Jsa19jb2wsIHlfZGlzdCArIGJsa19jb2wsCi0gICAgICAgIHVfZGlzdCArIHV2X2Jsa19jb2ws
IHZfZGlzdCArIHV2X2Jsa19jb2wsIG5laWdoYm9ycywgdG9wX3dlaWdodCwKLSAgICAgICAgYm90
dG9tX3dlaWdodCwgTlVMTCk7Ci0gIH0KLQotICAvLyBSaWdodAotICBpZiAoc3NfeCAmJiBzc195
KSB7Ci0gICAgbmVpZ2hib3JzID0gQ0hST01BX0RPVUJMRV9TU19SSUdIVF9DT0xVTU5fTkVJR0hC
T1JTOwotICB9IGVsc2UgaWYgKHNzX3ggfHwgc3NfeSkgewotICAgIG5laWdoYm9ycyA9IENIUk9N
QV9TSU5HTEVfU1NfUklHSFRfQ09MVU1OX05FSUdIQk9SUzsKLSAgfSBlbHNlIHsKLSAgICBuZWln
aGJvcnMgPSBDSFJPTUFfTk9fU1NfUklHSFRfQ09MVU1OX05FSUdIQk9SUzsKLSAgfQotCi0gIGFw
cGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgKLSAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwg
dl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1dl9oZWlnaHQsIHNzX3gsCi0gICAg
ICBzc195LCBzdHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsIHVfY291bnQgKyB1dl9ibGtf
Y29sLAotICAgICAgdl9hY2N1bSArIHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLCB5
X2Rpc3QgKyBibGtfY29sLAotICAgICAgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZf
YmxrX2NvbCwgbmVpZ2hib3JzLCB0b3Bfd2VpZ2h0LAotICAgICAgYm90dG9tX3dlaWdodCwgTlVM
TCk7Ci19Ci0KLXZvaWQgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9uZW9uKAotICAgIGNvbnN0
IHVpbnQ4X3QgKnlfc3JjLCBpbnQgeV9zcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICp5X3ByZSwK
LSAgICBpbnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1aW50OF90ICp1X3NyYywgY29uc3QgdWludDhf
dCAqdl9zcmMsCi0gICAgaW50IHV2X3NyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnVfcHJlLCBj
b25zdCB1aW50OF90ICp2X3ByZSwKLSAgICBpbnQgdXZfcHJlX3N0cmlkZSwgdW5zaWduZWQgaW50
IGJsb2NrX3dpZHRoLCB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LAotICAgIGludCBzc194LCBp
bnQgc3NfeSwgaW50IHN0cmVuZ3RoLCBjb25zdCBpbnQgKmNvbnN0IGJsa19mdywKLSAgICBpbnQg
dXNlX3dob2xlX2JsaywgdWludDMyX3QgKnlfYWNjdW0sIHVpbnQxNl90ICp5X2NvdW50LCB1aW50
MzJfdCAqdV9hY2N1bSwKLSAgICB1aW50MTZfdCAqdV9jb3VudCwgdWludDMyX3QgKnZfYWNjdW0s
IHVpbnQxNl90ICp2X2NvdW50KSB7Ci0gIGNvbnN0IHVuc2lnbmVkIGludCBjaHJvbWFfaGVpZ2h0
ID0gYmxvY2tfaGVpZ2h0ID4+IHNzX3ksCi0gICAgICAgICAgICAgICAgICAgICBjaHJvbWFfd2lk
dGggPSBibG9ja193aWR0aCA+PiBzc194OwotCi0gIERFQ0xBUkVfQUxJR05FRCgxNiwgdWludDE2
X3QsIHlfZGlzdFtCSCAqIERJU1RfU1RSSURFXSkgPSB7IDAgfTsKLSAgREVDTEFSRV9BTElHTkVE
KDE2LCB1aW50MTZfdCwgdV9kaXN0W0JIICogRElTVF9TVFJJREVdKSA9IHsgMCB9OwotICBERUNM
QVJFX0FMSUdORUQoMTYsIHVpbnQxNl90LCB2X2Rpc3RbQkggKiBESVNUX1NUUklERV0pID0geyAw
IH07Ci0gIGNvbnN0IGludCAqYmxrX2Z3X3B0ciA9IGJsa19mdzsKLQotICB1aW50MTZfdCAqeV9k
aXN0X3B0ciA9IHlfZGlzdCArIDEsICp1X2Rpc3RfcHRyID0gdV9kaXN0ICsgMSwKLSAgICAgICAg
ICAgKnZfZGlzdF9wdHIgPSB2X2Rpc3QgKyAxOwotICBjb25zdCB1aW50OF90ICp5X3NyY19wdHIg
PSB5X3NyYywgKnVfc3JjX3B0ciA9IHVfc3JjLCAqdl9zcmNfcHRyID0gdl9zcmM7Ci0gIGNvbnN0
IHVpbnQ4X3QgKnlfcHJlX3B0ciA9IHlfcHJlLCAqdV9wcmVfcHRyID0gdV9wcmUsICp2X3ByZV9w
dHIgPSB2X3ByZTsKLQotICAvLyBMb29wIHZhcmlhYmxlcwotICB1bnNpZ25lZCBpbnQgcm93LCBi
bGtfY29sOwotCi0gIGFzc2VydChibG9ja193aWR0aCA8PSBCVyAmJiAiYmxvY2sgd2lkdGggdG9v
IGxhcmdlIik7Ci0gIGFzc2VydChibG9ja19oZWlnaHQgPD0gQkggJiYgImJsb2NrIGhlaWdodCB0
b28gbGFyZ2UiKTsKLSAgYXNzZXJ0KGJsb2NrX3dpZHRoICUgMTYgPT0gMCAmJiAiYmxvY2sgd2lk
dGggbXVzdCBiZSBtdWx0aXBsZSBvZiAxNiIpOwotICBhc3NlcnQoYmxvY2tfaGVpZ2h0ICUgMiA9
PSAwICYmICJibG9jayBoZWlnaHQgbXVzdCBiZSBldmVuIik7Ci0gIGFzc2VydCgoc3NfeCA9PSAw
IHx8IHNzX3ggPT0gMSkgJiYgKHNzX3kgPT0gMCB8fCBzc195ID09IDEpICYmCi0gICAgICAgICAi
aW52YWxpZCBjaHJvbWEgc3Vic2FtcGxpbmciKTsKLSAgYXNzZXJ0KHN0cmVuZ3RoID49IDAgJiYg
c3RyZW5ndGggPD0gNiAmJiAiaW52YWxpZCB0ZW1wb3JhbCBmaWx0ZXIgc3RyZW5ndGgiKTsKLSAg
YXNzZXJ0KGJsa19md1swXSA+PSAwICYmICJmaWx0ZXIgd2VpZ2h0IG11c3QgYmUgcG9zaXRpdmUi
KTsKLSAgYXNzZXJ0KAotICAgICAgKHVzZV93aG9sZV9ibGsgfHwgKGJsa19md1sxXSA+PSAwICYm
IGJsa19md1syXSA+PSAwICYmIGJsa19md1szXSA+PSAwKSkgJiYKLSAgICAgICJzdWJibG9jayBm
aWx0ZXIgd2VpZ2h0IG11c3QgYmUgcG9zaXRpdmUiKTsKLSAgYXNzZXJ0KGJsa19md1swXSA8PSAy
ICYmICJzdWJibG9jayBmaWx0ZXIgd2VpZ2h0IG11c3QgYmUgbGVzcyB0aGFuIDIiKTsKLSAgYXNz
ZXJ0KAotICAgICAgKHVzZV93aG9sZV9ibGsgfHwgKGJsa19md1sxXSA8PSAyICYmIGJsa19md1sy
XSA8PSAyICYmIGJsa19md1szXSA8PSAyKSkgJiYKLSAgICAgICJzdWJibG9jayBmaWx0ZXIgd2Vp
Z2h0IG11c3QgYmUgbGVzcyB0aGFuIDIiKTsKLQotICAvLyBQcmVjb21wdXRlIHRoZSBkaWZmZXJl
bmNlIHNxdWFyZWQKLSAgZm9yIChyb3cgPSAwOyByb3cgPCBibG9ja19oZWlnaHQ7IHJvdysrKSB7
Ci0gICAgZm9yIChibGtfY29sID0gMDsgYmxrX2NvbCA8IGJsb2NrX3dpZHRoOyBibGtfY29sICs9
IDE2KSB7Ci0gICAgICBzdG9yZV9kaXN0XzE2KHlfc3JjX3B0ciArIGJsa19jb2wsIHlfcHJlX3B0
ciArIGJsa19jb2wsCi0gICAgICAgICAgICAgICAgICAgIHlfZGlzdF9wdHIgKyBibGtfY29sKTsK
LSAgICB9Ci0gICAgeV9zcmNfcHRyICs9IHlfc3JjX3N0cmlkZTsKLSAgICB5X3ByZV9wdHIgKz0g
eV9wcmVfc3RyaWRlOwotICAgIHlfZGlzdF9wdHIgKz0gRElTVF9TVFJJREU7Ci0gIH0KLQotICBm
b3IgKHJvdyA9IDA7IHJvdyA8IGNocm9tYV9oZWlnaHQ7IHJvdysrKSB7Ci0gICAgZm9yIChibGtf
Y29sID0gMDsgYmxrX2NvbCA8IGNocm9tYV93aWR0aDsgYmxrX2NvbCArPSA4KSB7Ci0gICAgICBz
dG9yZV9kaXN0XzgodV9zcmNfcHRyICsgYmxrX2NvbCwgdV9wcmVfcHRyICsgYmxrX2NvbCwKLSAg
ICAgICAgICAgICAgICAgICB1X2Rpc3RfcHRyICsgYmxrX2NvbCk7Ci0gICAgICBzdG9yZV9kaXN0
Xzgodl9zcmNfcHRyICsgYmxrX2NvbCwgdl9wcmVfcHRyICsgYmxrX2NvbCwKLSAgICAgICAgICAg
ICAgICAgICB2X2Rpc3RfcHRyICsgYmxrX2NvbCk7Ci0gICAgfQotCi0gICAgdV9zcmNfcHRyICs9
IHV2X3NyY19zdHJpZGU7Ci0gICAgdV9wcmVfcHRyICs9IHV2X3ByZV9zdHJpZGU7Ci0gICAgdV9k
aXN0X3B0ciArPSBESVNUX1NUUklERTsKLSAgICB2X3NyY19wdHIgKz0gdXZfc3JjX3N0cmlkZTsK
LSAgICB2X3ByZV9wdHIgKz0gdXZfcHJlX3N0cmlkZTsKLSAgICB2X2Rpc3RfcHRyICs9IERJU1Rf
U1RSSURFOwotICB9Ci0KLSAgeV9kaXN0X3B0ciA9IHlfZGlzdCArIDE7Ci0gIHVfZGlzdF9wdHIg
PSB1X2Rpc3QgKyAxOwotICB2X2Rpc3RfcHRyID0gdl9kaXN0ICsgMTsKLQotICBhcHBseV90ZW1w
b3JhbF9maWx0ZXJfbHVtYSh5X3ByZSwgeV9wcmVfc3RyaWRlLCBibG9ja193aWR0aCwgYmxvY2tf
aGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc194LCBzc195LCBzdHJlbmd0
aCwgYmxrX2Z3X3B0ciwgdXNlX3dob2xlX2JsaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeV9hY2N1bSwgeV9jb3VudCwgeV9kaXN0X3B0ciwgdV9kaXN0X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdl9kaXN0X3B0cik7Ci0KLSAgYXBwbHlfdGVtcG9yYWxfZmlsdGVy
X2Nocm9tYSh1X3ByZSwgdl9wcmUsIHV2X3ByZV9zdHJpZGUsIGJsb2NrX3dpZHRoLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwgc3RyZW5n
dGgsIGJsa19md19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX3dob2xl
X2JsaywgdV9hY2N1bSwgdV9jb3VudCwgdl9hY2N1bSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2X2NvdW50LCB5X2Rpc3RfcHRyLCB1X2Rpc3RfcHRyLCB2X2Rpc3RfcHRyKTsKLX0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBjL3ZwOV9xdWFudGl6ZV92c3gu
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBjL3ZwOV9xdWFudGl6ZV92c3guYwppbmRleCA0
ZDMxNTU4NDcxOWMuLjRmODhiOGZmZjZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci9wcGMvdnA5X3F1YW50aXplX3ZzeC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
cHBjL3ZwOV9xdWFudGl6ZV92c3guYwpAQCAtMzksMTAgKzM5LDExIEBAIHN0YXRpYyBJTkxJTkUg
aW50MTZ4OF90IHZlY19tYXhfYWNyb3NzKGludDE2eDhfdCBhKSB7CiB9CiAKIHZvaWQgdnA5X3F1
YW50aXplX2ZwX3ZzeChjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29l
ZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwg
Y29uc3QgaW50MTZfdCAqcXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5f
bG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpzY2FuLCBjb25zdCBp
bnQxNl90ICppc2NhbikgeworICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2Nr
LCBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCAqcXVhbnRfcHRyLCB0cmFuX2xvd190ICpxY29lZmZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpk
ZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqZW9iX3B0ciwg
Y29uc3QgaW50MTZfdCAqc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90ICppc2NhbikgewogICBpbnQxNng4X3QgcWNvZWZmMCwgcWNvZWZmMSwgZHFjb2VmZjAsIGRx
Y29lZmYxLCBlb2I7CiAgIGJvb2wxNng4X3QgemVyb19jb2VmZjAsIHplcm9fY29lZmYxOwogCkBA
IC01NSw2ICs1Niw4IEBAIHZvaWQgdnA5X3F1YW50aXplX2ZwX3ZzeChjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAogICBpbnQxNng4X3Qgc2NhbjEgPSB2ZWNf
dnN4X2xkKDE2LCBpc2Nhbik7CiAKICAgKHZvaWQpc2NhbjsKKyAgKHZvaWQpc2tpcF9ibG9jazsK
KyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICAvLyBGaXJzdCBzZXQgb2YgOCBjb2VmZiBzdGFy
dHMgd2l0aCBEQyArIDcgQUMKICAgcWNvZWZmMCA9IHZlY19tdWxoaSh2ZWNfdmFkZHNocyh2ZWNf
YWJzKGNvZWZmMCksIHJvdW5kKSwgcXVhbnQpOwpAQCAtMTYyLDcgKzE2NSw3IEBAIHN0YXRpYyBJ
TkxJTkUgaW50MTZ4OF90IGRlcXVhbnRpemVfY29lZmZfMzIoaW50MTZ4OF90IHFjb2VmZiwKIH0K
IAogdm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfdnN4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZm
X3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBza2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcXVhbnRfcHRyLCB0cmFuX2xvd190ICpx
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRx
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qg
KmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKQEAgLTE5MSw3ICsxOTQsOSBAQCB2b2lk
IHZwOV9xdWFudGl6ZV9mcF8zMngzMl92c3goY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBp
bnRwdHJfdCBuX2NvZWZmcywKICAgaW50MTZ4OF90IGFic19jb2VmZjEgPSB2ZWNfYWJzKGNvZWZm
MSk7CiAKICAgKHZvaWQpc2NhbjsKKyAgKHZvaWQpc2tpcF9ibG9jazsKICAgKHZvaWQpbl9jb2Vm
ZnM7CisgIGFzc2VydCghc2tpcF9ibG9jayk7CiAKICAgbWFzazAgPSB2ZWNfY21wZ2UoYWJzX2Nv
ZWZmMCwgdGhyZXMpOwogICByb3VuZCA9IHZlY19zcmEodmVjX2FkZChyb3VuZCwgdmVjX29uZXNf
czE2KSwgdmVjX29uZXNfdTE2KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2FxX2NvbXBsZXhpdHkuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2FxX2NvbXBs
ZXhpdHkuYwppbmRleCBlZjM0MjNmOGViMDIuLmJkMzgxMjAzNmM1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZW5jb2Rlci92cDlfYXFfY29tcGxleGl0eS5jCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X2FxX2NvbXBsZXhpdHkuYwpAQCAtODcsNyArODcsNyBAQCB2b2lkIHZw
OV9zZXR1cF9pbl9mcmFtZV9xX2FkaihWUDlfQ09NUCAqY3BpKSB7CiAgICAgICAgICAgJmNwaS0+
cmMsIGNtLT5mcmFtZV90eXBlLCBjbS0+YmFzZV9xaW5kZXgsCiAgICAgICAgICAgYXFfY19xX2Fk
al9mYWN0b3JbYXFfc3RyZW5ndGhdW3NlZ21lbnRdLCBjbS0+Yml0X2RlcHRoKTsKIAotICAgICAg
Ly8gRm9yIEFRIGNvbXBsZXhpdHkgbW9kZSwgd2UgZG9uJ3QgYWxsb3cgUTAgaW4gYSBzZWdtZW50
IGlmIHRoZSBiYXNlCisgICAgICAvLyBGb3IgQVEgY29tcGxleGl0eSBtb2RlLCB3ZSBkb250IGFs
bG93IFEwIGluIGEgc2VnbWVudCBpZiB0aGUgYmFzZQogICAgICAgLy8gUSBpcyBub3QgMC4gUTAg
KGxvc3NsZXNzKSBpbXBsaWVzIDR4NCBvbmx5IGFuZCBpbiBBUSBtb2RlIDIgYSBzZWdtZW50CiAg
ICAgICAvLyBRIGRlbHRhIGlzIHNvbWV0aW1lcyBhcHBsaWVkIHdpdGhvdXQgZ29pbmcgYmFjayBh
cm91bmQgdGhlIHJkIGxvb3AuCiAgICAgICAvLyBUaGlzIGNvdWxkIGxlYWQgdG8gYW4gaWxsZWdh
bCBjb21iaW5hdGlvbiBvZiBwYXJ0aXRpb24gc2l6ZSBhbmQgcS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X2FxX2N5Y2xpY3JlZnJlc2guYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X2FxX2N5Y2xpY3JlZnJlc2guYwppbmRleCAyOGFiMTBhMTNiOWQuLjg1OGE0
MTY1NDYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYXFfY3ljbGlj
cmVmcmVzaC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2FxX2N5Y2xpY3JlZnJl
c2guYwpAQCAtNDgsNyArNDgsNiBAQCBDWUNMSUNfUkVGUkVTSCAqdnA5X2N5Y2xpY19yZWZyZXNo
X2FsbG9jKGludCBtaV9yb3dzLCBpbnQgbWlfY29scykgewogICBhc3NlcnQoTUFYUSA8PSAyNTUp
OwogICBtZW1zZXQoY3ItPmxhc3RfY29kZWRfcV9tYXAsIE1BWFEsIGxhc3RfY29kZWRfcV9tYXBf
c2l6ZSk7CiAgIGNyLT5jb3VudGVyX2VuY29kZV9tYXhxX3NjZW5lX2NoYW5nZSA9IDA7Ci0gIGNy
LT5jb250ZW50X21vZGUgPSAxOwogICByZXR1cm4gY3I7CiB9CiAKQEAgLTMyNyw4ICszMjYsNyBA
QCB2b2lkIHZwOV9jeWNsaWNfcmVmcmVzaF9zZXRfZ29sZGVuX3VwZGF0ZShWUDlfQ09NUCAqY29u
c3QgY3BpKSB7CiAgIGVsc2UKICAgICByYy0+YmFzZWxpbmVfZ2ZfaW50ZXJ2YWwgPSA0MDsKICAg
aWYgKGNwaS0+b3hjZi5yY19tb2RlID09IFZQWF9WQlIpIHJjLT5iYXNlbGluZV9nZl9pbnRlcnZh
bCA9IDIwOwotICBpZiAocmMtPmF2Z19mcmFtZV9sb3dfbW90aW9uIDwgNTAgJiYgcmMtPmZyYW1l
c19zaW5jZV9rZXkgPiA0MCAmJgotICAgICAgY3ItPmNvbnRlbnRfbW9kZSkKKyAgaWYgKHJjLT5h
dmdfZnJhbWVfbG93X21vdGlvbiA8IDUwICYmIHJjLT5mcmFtZXNfc2luY2Vfa2V5ID4gNDApCiAg
ICAgcmMtPmJhc2VsaW5lX2dmX2ludGVydmFsID0gMTA7CiB9CiAKQEAgLTM5MCw4ICszODgsNyBA
QCBzdGF0aWMgdm9pZCBjeWNsaWNfcmVmcmVzaF91cGRhdGVfbWFwKFZQOV9DT01QICpjb25zdCBj
cGkpIHsKICAgICAgICAgICA/IHZwOV9nZXRfcWluZGV4KCZjbS0+c2VnLCBDUl9TRUdNRU5UX0lE
X0JPT1NUMiwgY20tPmJhc2VfcWluZGV4KQogICAgICAgICAgIDogdnA5X2dldF9xaW5kZXgoJmNt
LT5zZWcsIENSX1NFR01FTlRfSURfQk9PU1QxLCBjbS0+YmFzZV9xaW5kZXgpOwogICAvLyBNb3Jl
IGFnZ3Jlc3NpdmUgc2V0dGluZ3MgZm9yIG5vaXN5IGNvbnRlbnQuCi0gIGlmIChjcGktPm5vaXNl
X2VzdGltYXRlLmVuYWJsZWQgJiYgY3BpLT5ub2lzZV9lc3RpbWF0ZS5sZXZlbCA+PSBrTWVkaXVt
ICYmCi0gICAgICBjci0+Y29udGVudF9tb2RlKSB7CisgIGlmIChjcGktPm5vaXNlX2VzdGltYXRl
LmVuYWJsZWQgJiYgY3BpLT5ub2lzZV9lc3RpbWF0ZS5sZXZlbCA+PSBrTWVkaXVtKSB7CiAgICAg
Y29uc2VjX3plcm9fbXZfdGhyZXNoID0gNjA7CiAgICAgcWluZGV4X3RocmVzaCA9CiAgICAgICAg
IFZQWE1BWCh2cDlfZ2V0X3FpbmRleCgmY20tPnNlZywgQ1JfU0VHTUVOVF9JRF9CT09TVDEsIGNt
LT5iYXNlX3FpbmRleCksCkBAIC00MTIsNyArNDA5LDcgQEAgc3RhdGljIHZvaWQgY3ljbGljX3Jl
ZnJlc2hfdXBkYXRlX21hcChWUDlfQ09NUCAqY29uc3QgY3BpKSB7CiAjaWYgQ09ORklHX1ZQOV9I
SUdIQklUREVQVEgKICAgICBpZiAoY3BpLT5jb21tb24udXNlX2hpZ2hiaXRkZXB0aCkgY29tcHV0
ZV9jb250ZW50ID0gMDsKICNlbmRpZgotICAgIGlmIChjci0+Y29udGVudF9tb2RlID09IDAgfHwg
Y3BpLT5MYXN0X1NvdXJjZSA9PSBOVUxMIHx8CisgICAgaWYgKGNwaS0+TGFzdF9Tb3VyY2UgPT0g
TlVMTCB8fAogICAgICAgICBjcGktPkxhc3RfU291cmNlLT55X3dpZHRoICE9IGNwaS0+U291cmNl
LT55X3dpZHRoIHx8CiAgICAgICAgIGNwaS0+TGFzdF9Tb3VyY2UtPnlfaGVpZ2h0ICE9IGNwaS0+
U291cmNlLT55X2hlaWdodCkKICAgICAgIGNvbXB1dGVfY29udGVudCA9IDA7CkBAIC00MzMsOCAr
NDMwLDcgQEAgc3RhdGljIHZvaWQgY3ljbGljX3JlZnJlc2hfdXBkYXRlX21hcChWUDlfQ09NUCAq
Y29uc3QgY3BpKSB7CiAgICAgICAgIC8vIHJlc2V0IHRvIDAgbGF0ZXIgZGVwZW5kaW5nIG9uIHRo
ZSBjb2RpbmcgbW9kZS4KICAgICAgICAgaWYgKGNyLT5tYXBbYmxfaW5kZXgyXSA9PSAwKSB7CiAg
ICAgICAgICAgY291bnRfdG90Kys7Ci0gICAgICAgICAgaWYgKGNyLT5jb250ZW50X21vZGUgPT0g
MCB8fAotICAgICAgICAgICAgICBjci0+bGFzdF9jb2RlZF9xX21hcFtibF9pbmRleDJdID4gcWlu
ZGV4X3RocmVzaCB8fAorICAgICAgICAgIGlmIChjci0+bGFzdF9jb2RlZF9xX21hcFtibF9pbmRl
eDJdID4gcWluZGV4X3RocmVzaCB8fAogICAgICAgICAgICAgICBjcGktPmNvbnNlY196ZXJvX212
W2JsX2luZGV4Ml0gPCBjb25zZWNfemVyb19tdl90aHJlc2hfYmxvY2spIHsKICAgICAgICAgICAg
IHN1bV9tYXArKzsKICAgICAgICAgICAgIGNvdW50X3NlbCsrOwpAQCAtNDcxLDcgKzQ2Nyw3IEBA
IHN0YXRpYyB2b2lkIGN5Y2xpY19yZWZyZXNoX3VwZGF0ZV9tYXAoVlA5X0NPTVAgKmNvbnN0IGNw
aSkgewogICBjci0+c2JfaW5kZXggPSBpOwogICBjci0+cmVkdWNlX3JlZnJlc2ggPSAwOwogICBp
ZiAoY3BpLT5veGNmLmNvbnRlbnQgIT0gVlA5RV9DT05URU5UX1NDUkVFTikKLSAgICBpZiAoY291
bnRfc2VsIDwgKDMgKiBjb3VudF90b3QpID4+IDIpIGNyLT5yZWR1Y2VfcmVmcmVzaCA9IDE7Cisg
ICAgaWYgKGNvdW50X3NlbDwoMyAqIGNvdW50X3RvdCk+PiAyKSBjci0+cmVkdWNlX3JlZnJlc2gg
PSAxOwogfQogCiAvLyBTZXQgY3ljbGljIHJlZnJlc2ggcGFyYW1ldGVycy4KQEAgLTQ5MywxMyAr
NDg5LDEwIEBAIHZvaWQgdnA5X2N5Y2xpY19yZWZyZXNoX3VwZGF0ZV9wYXJhbWV0ZXJzKFZQOV9D
T01QICpjb25zdCBjcGkpIHsKICAgICAgIHJjLT5hdmdfZnJhbWVfcWluZGV4W0lOVEVSX0ZSQU1F
XSA8IHFwX3RocmVzaCB8fAogICAgICAgKGNwaS0+dXNlX3N2YyAmJgogICAgICAgIGNwaS0+c3Zj
LmxheWVyX2NvbnRleHRbY3BpLT5zdmMudGVtcG9yYWxfbGF5ZXJfaWRdLmlzX2tleV9mcmFtZSkg
fHwKLSAgICAgICghY3BpLT51c2Vfc3ZjICYmIGNyLT5jb250ZW50X21vZGUgJiYKLSAgICAgICBy
Yy0+YXZnX2ZyYW1lX2xvd19tb3Rpb24gPCB0aHJlc2hfbG93X21vdGlvbiAmJgorICAgICAgKCFj
cGktPnVzZV9zdmMgJiYgcmMtPmF2Z19mcmFtZV9sb3dfbW90aW9uIDwgdGhyZXNoX2xvd19tb3Rp
b24gJiYKICAgICAgICByYy0+ZnJhbWVzX3NpbmNlX2tleSA+IDQwKSB8fAogICAgICAgKCFjcGkt
PnVzZV9zdmMgJiYgcmMtPmF2Z19mcmFtZV9xaW5kZXhbSU5URVJfRlJBTUVdID4gcXBfbWF4X3Ro
cmVzaCAmJgotICAgICAgIHJjLT5mcmFtZXNfc2luY2Vfa2V5ID4gMjApIHx8Ci0gICAgICAoY3Bp
LT5yb2kuZW5hYmxlZCAmJiBjcGktPnJvaS5za2lwW0JBQ0tHUk9VTkRfU0VHX1NLSVBfSURdICYm
Ci0gICAgICAgcmMtPmZyYW1lc19zaW5jZV9rZXkgPiBGUkFNRVNfTk9fU0tJUFBJTkdfQUZURVJf
S0VZKSkgeworICAgICAgIHJjLT5mcmFtZXNfc2luY2Vfa2V5ID4gMjApKSB7CiAgICAgY3ItPmFw
cGx5X2N5Y2xpY19yZWZyZXNoID0gMDsKICAgICByZXR1cm47CiAgIH0KQEAgLTUxOCw4ICs1MTEs
NyBAQCB2b2lkIHZwOV9jeWNsaWNfcmVmcmVzaF91cGRhdGVfcGFyYW1ldGVycyhWUDlfQ09NUCAq
Y29uc3QgY3BpKSB7CiAgICAgY3ItPnJhdGVfcmF0aW9fcWRlbHRhID0gMy4wOwogICB9IGVsc2Ug
ewogICAgIGNyLT5yYXRlX3JhdGlvX3FkZWx0YSA9IDIuMDsKLSAgICBpZiAoY3ItPmNvbnRlbnRf
bW9kZSAmJiBjcGktPm5vaXNlX2VzdGltYXRlLmVuYWJsZWQgJiYKLSAgICAgICAgY3BpLT5ub2lz
ZV9lc3RpbWF0ZS5sZXZlbCA+PSBrTWVkaXVtKSB7CisgICAgaWYgKGNwaS0+bm9pc2VfZXN0aW1h
dGUuZW5hYmxlZCAmJiBjcGktPm5vaXNlX2VzdGltYXRlLmxldmVsID49IGtNZWRpdW0pIHsKICAg
ICAgIC8vIFJlZHVjZSB0aGUgZGVsdGEtcXAgaWYgdGhlIGVzdGltYXRlZCBzb3VyY2Ugbm9pc2Ug
aXMgYWJvdmUgdGhyZXNob2xkLgogICAgICAgY3ItPnJhdGVfcmF0aW9fcWRlbHRhID0gMS43Owog
ICAgICAgY3ItPnJhdGVfYm9vc3RfZmFjID0gMTM7CkBAIC01MzYsNyArNTI4LDcgQEAgdm9pZCB2
cDlfY3ljbGljX3JlZnJlc2hfdXBkYXRlX3BhcmFtZXRlcnMoVlA5X0NPTVAgKmNvbnN0IGNwaSkg
ewogICAgIGNyLT5wZXJjZW50X3JlZnJlc2ggPSAoY3ItPnNraXBfZmxhdF9zdGF0aWNfYmxvY2tz
KSA/IDUgOiAxMDsKICAgICAvLyBJbmNyZWFzZSB0aGUgYW1vdW50IG9mIHJlZnJlc2ggb24gc2Nl
bmUgY2hhbmdlIHRoYXQgaXMgZW5jb2RlZCBhdCBtYXggUSwKICAgICAvLyBpbmNyZWFzZSBmb3Ig
YSBmZXcgY3ljbGVzIG9mIHRoZSByZWZyZXNoIHBlcmlvZCAofjEwMCAvIHBlcmNlbnRfcmVmcmVz
aCkuCi0gICAgaWYgKGNyLT5jb250ZW50X21vZGUgJiYgY3ItPmNvdW50ZXJfZW5jb2RlX21heHFf
c2NlbmVfY2hhbmdlIDwgMzApCisgICAgaWYgKGNyLT5jb3VudGVyX2VuY29kZV9tYXhxX3NjZW5l
X2NoYW5nZSA8IDMwKQogICAgICAgY3ItPnBlcmNlbnRfcmVmcmVzaCA9IChjci0+c2tpcF9mbGF0
X3N0YXRpY19ibG9ja3MpID8gMTAgOiAxNTsKICAgICBjci0+cmF0ZV9yYXRpb19xZGVsdGEgPSAy
LjA7CiAgICAgY3ItPnJhdGVfYm9vc3RfZmFjID0gMTA7CkBAIC01NTgsNyArNTUwLDcgQEAgdm9p
ZCB2cDlfY3ljbGljX3JlZnJlc2hfdXBkYXRlX3BhcmFtZXRlcnMoVlA5X0NPTVAgKmNvbnN0IGNw
aSkgewogICAgIGNyLT5wZXJjZW50X3JlZnJlc2ggPSAxMDsKICAgICBjci0+cmF0ZV9yYXRpb19x
ZGVsdGEgPSAxLjU7CiAgICAgY3ItPnJhdGVfYm9vc3RfZmFjID0gMTA7Ci0gICAgaWYgKGNwaS0+
cmVmcmVzaF9nb2xkZW5fZnJhbWUgPT0gMSAmJiAhY3BpLT51c2Vfc3ZjKSB7CisgICAgaWYgKGNw
aS0+cmVmcmVzaF9nb2xkZW5fZnJhbWUgPT0gMSkgewogICAgICAgY3ItPnBlcmNlbnRfcmVmcmVz
aCA9IDA7CiAgICAgICBjci0+cmF0ZV9yYXRpb19xZGVsdGEgPSAxLjA7CiAgICAgfQpAQCAtNTgz
LDEyICs1NzUsNiBAQCB2b2lkIHZwOV9jeWNsaWNfcmVmcmVzaF91cGRhdGVfcGFyYW1ldGVycyhW
UDlfQ09NUCAqY29uc3QgY3BpKSB7CiAgICAgICAgIChkb3VibGUpKGNyLT5hY3R1YWxfbnVtX3Nl
ZzFfYmxvY2tzICsgY3ItPmFjdHVhbF9udW1fc2VnMl9ibG9ja3MpIC8KICAgICAgICAgbnVtOHg4
Ymw7CiAgIGNyLT53ZWlnaHRfc2VnbWVudCA9IHdlaWdodF9zZWdtZW50OwotICBpZiAoY3ItPmNv
bnRlbnRfbW9kZSA9PSAwKSB7Ci0gICAgY3ItPmFjdHVhbF9udW1fc2VnMV9ibG9ja3MgPQotICAg
ICAgICBjci0+cGVyY2VudF9yZWZyZXNoICogY20tPm1pX3Jvd3MgKiBjbS0+bWlfY29scyAvIDEw
MDsKLSAgICBjci0+YWN0dWFsX251bV9zZWcyX2Jsb2NrcyA9IDA7Ci0gICAgY3ItPndlaWdodF9z
ZWdtZW50ID0gKGRvdWJsZSkoY3ItPmFjdHVhbF9udW1fc2VnMV9ibG9ja3MpIC8gbnVtOHg4Ymw7
Ci0gIH0KIH0KIAogLy8gU2V0dXAgY3ljbGljIGJhY2tncm91bmQgcmVmcmVzaDogc2V0IGRlbHRh
IHEgYW5kIHNlZ21lbnRhdGlvbiBtYXAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9hcV9jeWNsaWNyZWZyZXNoLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9h
cV9jeWNsaWNyZWZyZXNoLmgKaW5kZXggYzc0Y2VlNDc0M2E1Li5iNmQ3ZmRlYWU3N2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2FxX2N5Y2xpY3JlZnJlc2guaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9hcV9jeWNsaWNyZWZyZXNoLmgKQEAgLTcwLDcg
KzcwLDYgQEAgc3RydWN0IENZQ0xJQ19SRUZSRVNIIHsKICAgaW50IGFwcGx5X2N5Y2xpY19yZWZy
ZXNoOwogICBpbnQgY291bnRlcl9lbmNvZGVfbWF4cV9zY2VuZV9jaGFuZ2U7CiAgIGludCBza2lw
X2ZsYXRfc3RhdGljX2Jsb2NrczsKLSAgaW50IGNvbnRlbnRfbW9kZTsKIH07CiAKIHN0cnVjdCBW
UDlfQ09NUDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2JpdHN0cmVh
bS5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfYml0c3RyZWFtLmMKaW5kZXggY2E1NmQx
NGFhMWUzLi4zZWZmNGNlODMwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2JpdHN0cmVhbS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2JpdHN0cmVh
bS5jCkBAIC0xMzQsOSArMTM0LDkgQEAgc3RhdGljIHZvaWQgcGFja19tYl90b2tlbnModnB4X3dy
aXRlciAqdywgVE9LRU5FWFRSQSAqKnRwLAogICBjb25zdCBUT0tFTkVYVFJBICpwOwogICBjb25z
dCB2cDlfZXh0cmFfYml0ICpjb25zdCBleHRyYV9iaXRzID0KICNpZiBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSAotICAgICAgKGJpdF9kZXB0aCA9PSBWUFhfQklUU18xMikgICA/IHZwOV9leHRyYV9i
aXRzX2hpZ2gxMgotICAgICAgOiAoYml0X2RlcHRoID09IFZQWF9CSVRTXzEwKSA/IHZwOV9leHRy
YV9iaXRzX2hpZ2gxMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHZwOV9l
eHRyYV9iaXRzOworICAgICAgKGJpdF9kZXB0aCA9PSBWUFhfQklUU18xMikKKyAgICAgICAgICA/
IHZwOV9leHRyYV9iaXRzX2hpZ2gxMgorICAgICAgICAgIDogKGJpdF9kZXB0aCA9PSBWUFhfQklU
U18xMCkgPyB2cDlfZXh0cmFfYml0c19oaWdoMTAgOiB2cDlfZXh0cmFfYml0czsKICNlbHNlCiAg
ICAgICB2cDlfZXh0cmFfYml0czsKICAgKHZvaWQpYml0X2RlcHRoOwpAQCAtMTY5LDggKzE2OSw4
IEBAIHN0YXRpYyB2b2lkIHBhY2tfbWJfdG9rZW5zKHZweF93cml0ZXIgKncsIFRPS0VORVhUUkEg
Kip0cCwKICAgICAgICAgdnB4X3dyaXRlX2JpdCh3LCBwLT5leHRyYSAmIDEpOwogICAgICAgfSBl
bHNlIHsgIC8vIHQgPj0gVFdPX1RPS0VOICYmIHQgPCBFT0JfVE9LRU4KICAgICAgICAgY29uc3Qg
c3RydWN0IHZwOV90b2tlbiAqY29uc3QgYSA9ICZ2cDlfY29lZl9lbmNvZGluZ3NbdF07Ci0gICAg
ICAgIGludCB2ID0gYS0+dmFsdWU7Ci0gICAgICAgIGludCBuID0gYS0+bGVuOworICAgICAgICBj
b25zdCBpbnQgdiA9IGEtPnZhbHVlOworICAgICAgICBjb25zdCBpbnQgbiA9IGEtPmxlbjsKICAg
ICAgICAgY29uc3QgaW50IGUgPSBwLT5leHRyYTsKICAgICAgICAgdnB4X3dyaXRlKHcsIDEsIGNv
bnRleHRfdHJlZVsyXSk7CiAgICAgICAgIHZwOV93cml0ZV90cmVlKHcsIHZwOV9jb2VmX2Nvbl90
cmVlLApAQCAtMTc5LDggKzE3OSw4IEBAIHN0YXRpYyB2b2lkIHBhY2tfbWJfdG9rZW5zKHZweF93
cml0ZXIgKncsIFRPS0VORVhUUkEgKip0cCwKICAgICAgICAgaWYgKHQgPj0gQ0FURUdPUlkxX1RP
S0VOKSB7CiAgICAgICAgICAgY29uc3QgdnA5X2V4dHJhX2JpdCAqY29uc3QgYiA9ICZleHRyYV9i
aXRzW3RdOwogICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBiID0gYi0+cHJvYjsKLSAg
ICAgICAgICB2ID0gZSA+PiAxOwotICAgICAgICAgIG4gPSBiLT5sZW47ICAvLyBudW1iZXIgb2Yg
Yml0cyBpbiB2LCBhc3N1bWVkIG5vbnplcm8KKyAgICAgICAgICBpbnQgdiA9IGUgPj4gMTsKKyAg
ICAgICAgICBpbnQgbiA9IGItPmxlbjsgIC8vIG51bWJlciBvZiBiaXRzIGluIHYsIGFzc3VtZWQg
bm9uemVybwogICAgICAgICAgIGRvIHsKICAgICAgICAgICAgIGNvbnN0IGludCBiYiA9ICh2ID4+
IC0tbikgJiAxOwogICAgICAgICAgICAgdnB4X3dyaXRlKHcsIGJiLCAqcGIrKyk7CkBAIC0yMzYs
MTEgKzIzNiwxMSBAQCBzdGF0aWMgdm9pZCB3cml0ZV9yZWZfZnJhbWVzKGNvbnN0IFZQOV9DT01N
T04gKmNtLCBjb25zdCBNQUNST0JMT0NLRCAqY29uc3QgeGQsCiAgIH0KIH0KIAotc3RhdGljIHZv
aWQgcGFja19pbnRlcl9tb2RlX212cyhWUDlfQ09NUCAqY3BpLCBjb25zdCBNQUNST0JMT0NLRCAq
Y29uc3QgeGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE1CX01PREVf
SU5GT19FWFQgKmNvbnN0IG1ibWlfZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2cHhfd3JpdGVyICp3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQgKmNvbnN0IG1heF9tdl9tYWduaXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBpbnRlcnBfZmlsdGVyX3NlbGVjdGVkW11bU1dJVENIQUJMRV0pIHsKK3N0YXRp
YyB2b2lkIHBhY2tfaW50ZXJfbW9kZV9tdnMoCisgICAgVlA5X0NPTVAgKmNwaSwgY29uc3QgTUFD
Uk9CTE9DS0QgKmNvbnN0IHhkLAorICAgIGNvbnN0IE1CX01PREVfSU5GT19FWFQgKmNvbnN0IG1i
bWlfZXh0LCB2cHhfd3JpdGVyICp3LAorICAgIHVuc2lnbmVkIGludCAqY29uc3QgbWF4X212X21h
Z25pdHVkZSwKKyAgICBpbnQgaW50ZXJwX2ZpbHRlcl9zZWxlY3RlZFtNQVhfUkVGX0ZSQU1FU11b
U1dJVENIQUJMRV0pIHsKICAgVlA5X0NPTU1PTiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247CiAg
IGNvbnN0IG5tdl9jb250ZXh0ICpubXZjID0gJmNtLT5mYy0+bm12YzsKICAgY29uc3Qgc3RydWN0
IHNlZ21lbnRhdGlvbiAqY29uc3Qgc2VnID0gJmNtLT5zZWc7CkBAIC0zNzMsMTIgKzM3MywxMSBA
QCBzdGF0aWMgdm9pZCB3cml0ZV9tYl9tb2Rlc19rZihjb25zdCBWUDlfQ09NTU9OICpjbSwgY29u
c3QgTUFDUk9CTE9DS0QgKnhkLAogICB3cml0ZV9pbnRyYV9tb2RlKHcsIG1pLT51dl9tb2RlLCB2
cDlfa2ZfdXZfbW9kZV9wcm9iW21pLT5tb2RlXSk7CiB9CiAKLXN0YXRpYyB2b2lkIHdyaXRlX21v
ZGVzX2IoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DS0QgKmNvbnN0IHhkLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBUaWxlSW5mbyAqY29uc3QgdGlsZSwgdnB4X3dyaXRlciAqdywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgVE9LRU5FWFRSQSAqKnRvaywgY29uc3QgVE9LRU5F
WFRSQSAqY29uc3QgdG9rX2VuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pX3Jv
dywgaW50IG1pX2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpj
b25zdCBtYXhfbXZfbWFnbml0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50
ZXJwX2ZpbHRlcl9zZWxlY3RlZFtdW1NXSVRDSEFCTEVdKSB7CitzdGF0aWMgdm9pZCB3cml0ZV9t
b2Rlc19iKAorICAgIFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0tEICpjb25zdCB4ZCwgY29uc3Qg
VGlsZUluZm8gKmNvbnN0IHRpbGUsCisgICAgdnB4X3dyaXRlciAqdywgVE9LRU5FWFRSQSAqKnRv
aywgY29uc3QgVE9LRU5FWFRSQSAqY29uc3QgdG9rX2VuZCwKKyAgICBpbnQgbWlfcm93LCBpbnQg
bWlfY29sLCB1bnNpZ25lZCBpbnQgKmNvbnN0IG1heF9tdl9tYWduaXR1ZGUsCisgICAgaW50IGlu
dGVycF9maWx0ZXJfc2VsZWN0ZWRbTUFYX1JFRl9GUkFNRVNdW1NXSVRDSEFCTEVdKSB7CiAgIGNv
bnN0IFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNwaS0+Y29tbW9uOwogICBjb25zdCBNQl9NT0RF
X0lORk9fRVhUICpjb25zdCBtYm1pX2V4dCA9CiAgICAgICBjcGktPnRkLm1iLm1ibWlfZXh0X2Jh
c2UgKyAobWlfcm93ICogY20tPm1pX2NvbHMgKyBtaV9jb2wpOwpAQCAtNDIzLDEyICs0MjIsMTIg
QEAgc3RhdGljIHZvaWQgd3JpdGVfcGFydGl0aW9uKGNvbnN0IFZQOV9DT01NT04gKmNvbnN0IGNt
LAogICB9CiB9CiAKLXN0YXRpYyB2b2lkIHdyaXRlX21vZGVzX3NiKFZQOV9DT01QICpjcGksIE1B
Q1JPQkxPQ0tEICpjb25zdCB4ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRp
bGVJbmZvICpjb25zdCB0aWxlLCB2cHhfd3JpdGVyICp3LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVE9LRU5FWFRSQSAqKnRvaywgY29uc3QgVE9LRU5FWFRSQSAqY29uc3QgdG9rX2VuZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtaV9yb3csIGludCBtaV9jb2wsIEJMT0NL
X1NJWkUgYnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmNv
bnN0IG1heF9tdl9tYWduaXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50
ZXJwX2ZpbHRlcl9zZWxlY3RlZFtdW1NXSVRDSEFCTEVdKSB7CitzdGF0aWMgdm9pZCB3cml0ZV9t
b2Rlc19zYigKKyAgICBWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLRCAqY29uc3QgeGQsIGNvbnN0
IFRpbGVJbmZvICpjb25zdCB0aWxlLAorICAgIHZweF93cml0ZXIgKncsIFRPS0VORVhUUkEgKip0
b2ssIGNvbnN0IFRPS0VORVhUUkEgKmNvbnN0IHRva19lbmQsCisgICAgaW50IG1pX3JvdywgaW50
IG1pX2NvbCwgQkxPQ0tfU0laRSBic2l6ZSwKKyAgICB1bnNpZ25lZCBpbnQgKmNvbnN0IG1heF9t
dl9tYWduaXR1ZGUsCisgICAgaW50IGludGVycF9maWx0ZXJfc2VsZWN0ZWRbTUFYX1JFRl9GUkFN
RVNdW1NXSVRDSEFCTEVdKSB7CiAgIGNvbnN0IFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNwaS0+
Y29tbW9uOwogICBjb25zdCBpbnQgYnNsID0gYl93aWR0aF9sb2cyX2xvb2t1cFtic2l6ZV07CiAg
IGNvbnN0IGludCBicyA9ICgxIDw8IGJzbCkgLyA0OwpAQCAtNDg2LDEwICs0ODUsMTEgQEAgc3Rh
dGljIHZvaWQgd3JpdGVfbW9kZXNfc2IoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DS0QgKmNvbnN0
IHhkLAogICAgIHVwZGF0ZV9wYXJ0aXRpb25fY29udGV4dCh4ZCwgbWlfcm93LCBtaV9jb2wsIHN1
YnNpemUsIGJzaXplKTsKIH0KIAotc3RhdGljIHZvaWQgd3JpdGVfbW9kZXMoVlA5X0NPTVAgKmNw
aSwgTUFDUk9CTE9DS0QgKmNvbnN0IHhkLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
VGlsZUluZm8gKmNvbnN0IHRpbGUsIHZweF93cml0ZXIgKncsIGludCB0aWxlX3JvdywKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB0aWxlX2NvbCwgdW5zaWduZWQgaW50ICpjb25zdCBtYXhf
bXZfbWFnbml0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGludGVycF9maWx0ZXJf
c2VsZWN0ZWRbXVtTV0lUQ0hBQkxFXSkgeworc3RhdGljIHZvaWQgd3JpdGVfbW9kZXMoCisgICAg
VlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DS0QgKmNvbnN0IHhkLCBjb25zdCBUaWxlSW5mbyAqY29u
c3QgdGlsZSwKKyAgICB2cHhfd3JpdGVyICp3LCBpbnQgdGlsZV9yb3csIGludCB0aWxlX2NvbCwK
KyAgICB1bnNpZ25lZCBpbnQgKmNvbnN0IG1heF9tdl9tYWduaXR1ZGUsCisgICAgaW50IGludGVy
cF9maWx0ZXJfc2VsZWN0ZWRbTUFYX1JFRl9GUkFNRVNdW1NXSVRDSEFCTEVdKSB7CiAgIGNvbnN0
IFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNwaS0+Y29tbW9uOwogICBpbnQgbWlfcm93LCBtaV9j
b2wsIHRpbGVfc2Jfcm93OwogICBUT0tFTkVYVFJBICp0b2sgPSBOVUxMOwpAQCAtNTU0LDcgKzU1
NCw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9jb2VmX3Byb2JzX2NvbW1vbih2cHhfd3JpdGVyICpj
b25zdCBiYywgVlA5X0NPTVAgKmNwaSwKICAgc3dpdGNoIChjcGktPnNmLnVzZV9mYXN0X2NvZWZf
dXBkYXRlcykgewogICAgIGNhc2UgVFdPX0xPT1A6IHsKICAgICAgIC8qIGRyeSBydW4gdG8gc2Vl
IGlmIHRoZXJlIGlzIGFueSB1cGRhdGUgYXQgYWxsIG5lZWRlZCAqLwotICAgICAgaW50NjRfdCBz
YXZpbmdzID0gMDsKKyAgICAgIGludCBzYXZpbmdzID0gMDsKICAgICAgIGludCB1cGRhdGVbMl0g
PSB7IDAsIDAgfTsKICAgICAgIGZvciAoaSA9IDA7IGkgPCBQTEFORV9UWVBFUzsgKytpKSB7CiAg
ICAgICAgIGZvciAoaiA9IDA7IGogPCBSRUZfVFlQRVM7ICsraikgewpAQCAtNTYzLDcgKzU2Myw3
IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9jb2VmX3Byb2JzX2NvbW1vbih2cHhfd3JpdGVyICpjb25z
dCBiYywgVlA5X0NPTVAgKmNwaSwKICAgICAgICAgICAgICAgZm9yICh0ID0gMDsgdCA8IGVudHJv
cHlfbm9kZXNfdXBkYXRlOyArK3QpIHsKICAgICAgICAgICAgICAgICB2cHhfcHJvYiBuZXdwID0g
bmV3X2NvZWZfcHJvYnNbaV1bal1ba11bbF1bdF07CiAgICAgICAgICAgICAgICAgY29uc3QgdnB4
X3Byb2Igb2xkcCA9IG9sZF9jb2VmX3Byb2JzW2ldW2pdW2tdW2xdW3RdOwotICAgICAgICAgICAg
ICAgIGludDY0X3QgczsKKyAgICAgICAgICAgICAgICBpbnQgczsKICAgICAgICAgICAgICAgICBp
bnQgdSA9IDA7CiAgICAgICAgICAgICAgICAgaWYgKHQgPT0gUElWT1RfTk9ERSkKICAgICAgICAg
ICAgICAgICAgIHMgPSB2cDlfcHJvYl9kaWZmX3VwZGF0ZV9zYXZpbmdzX3NlYXJjaF9tb2RlbCgK
QEAgLTU5OSw3ICs1OTksOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfY29lZl9wcm9ic19jb21tb24o
dnB4X3dyaXRlciAqY29uc3QgYmMsIFZQOV9DT01QICpjcGksCiAgICAgICAgICAgICAgIGZvciAo
dCA9IDA7IHQgPCBlbnRyb3B5X25vZGVzX3VwZGF0ZTsgKyt0KSB7CiAgICAgICAgICAgICAgICAg
dnB4X3Byb2IgbmV3cCA9IG5ld19jb2VmX3Byb2JzW2ldW2pdW2tdW2xdW3RdOwogICAgICAgICAg
ICAgICAgIHZweF9wcm9iICpvbGRwID0gb2xkX2NvZWZfcHJvYnNbaV1bal1ba11bbF0gKyB0Owot
ICAgICAgICAgICAgICAgIGludDY0X3QgczsKKyAgICAgICAgICAgICAgICBjb25zdCB2cHhfcHJv
YiB1cGQgPSBESUZGX1VQREFURV9QUk9COworICAgICAgICAgICAgICAgIGludCBzOwogICAgICAg
ICAgICAgICAgIGludCB1ID0gMDsKICAgICAgICAgICAgICAgICBpZiAodCA9PSBQSVZPVF9OT0RF
KQogICAgICAgICAgICAgICAgICAgcyA9IHZwOV9wcm9iX2RpZmZfdXBkYXRlX3NhdmluZ3Nfc2Vh
cmNoX21vZGVsKApAQCAtNjM1LDcgKzYzNiw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9jb2VmX3By
b2JzX2NvbW1vbih2cHhfd3JpdGVyICpjb25zdCBiYywgVlA5X0NPTVAgKmNwaSwKICAgICAgICAg
ICAgICAgZm9yICh0ID0gMDsgdCA8IGVudHJvcHlfbm9kZXNfdXBkYXRlOyArK3QpIHsKICAgICAg
ICAgICAgICAgICB2cHhfcHJvYiBuZXdwID0gbmV3X2NvZWZfcHJvYnNbaV1bal1ba11bbF1bdF07
CiAgICAgICAgICAgICAgICAgdnB4X3Byb2IgKm9sZHAgPSBvbGRfY29lZl9wcm9ic1tpXVtqXVtr
XVtsXSArIHQ7Ci0gICAgICAgICAgICAgICAgaW50NjRfdCBzOworICAgICAgICAgICAgICAgIGlu
dCBzOwogICAgICAgICAgICAgICAgIGludCB1ID0gMDsKIAogICAgICAgICAgICAgICAgIGlmICh0
ID09IFBJVk9UX05PREUpIHsKQEAgLTk2MiwyMCArOTYzLDIxIEBAIHZvaWQgdnA5X2JpdHN0cmVh
bV9lbmNvZGVfdGlsZXNfYnVmZmVyX2RlYWxsb2MoVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogICB9
CiB9CiAKLXN0YXRpYyB2b2lkIGVuY29kZV90aWxlc19idWZmZXJfYWxsb2MoVlA5X0NPTVAgKmNv
bnN0IGNwaSkgewotICBWUDlfQ09NTU9OICpjb25zdCBjbSA9ICZjcGktPmNvbW1vbjsKK3N0YXRp
YyBpbnQgZW5jb2RlX3RpbGVzX2J1ZmZlcl9hbGxvYyhWUDlfQ09NUCAqY29uc3QgY3BpKSB7CiAg
IGludCBpOwogICBjb25zdCBzaXplX3Qgd29ya2VyX2RhdGFfc2l6ZSA9CiAgICAgICBjcGktPm51
bV93b3JrZXJzICogc2l6ZW9mKCpjcGktPnZwOV9iaXRzdHJlYW1fd29ya2VyX2RhdGEpOwotICBD
SEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgY3BpLT52cDlfYml0c3RyZWFtX3dvcmtlcl9kYXRh
LAotICAgICAgICAgICAgICAgICAgdnB4X21lbWFsaWduKDE2LCB3b3JrZXJfZGF0YV9zaXplKSk7
CisgIGNwaS0+dnA5X2JpdHN0cmVhbV93b3JrZXJfZGF0YSA9IHZweF9tZW1hbGlnbigxNiwgd29y
a2VyX2RhdGFfc2l6ZSk7CiAgIG1lbXNldChjcGktPnZwOV9iaXRzdHJlYW1fd29ya2VyX2RhdGEs
IDAsIHdvcmtlcl9kYXRhX3NpemUpOworICBpZiAoIWNwaS0+dnA5X2JpdHN0cmVhbV93b3JrZXJf
ZGF0YSkgcmV0dXJuIDE7CiAgIGZvciAoaSA9IDE7IGkgPCBjcGktPm51bV93b3JrZXJzOyArK2kp
IHsKICAgICBjcGktPnZwOV9iaXRzdHJlYW1fd29ya2VyX2RhdGFbaV0uZGVzdF9zaXplID0KICAg
ICAgICAgY3BpLT5veGNmLndpZHRoICogY3BpLT5veGNmLmhlaWdodDsKLSAgICBDSEVDS19NRU1f
RVJST1IoJmNtLT5lcnJvciwgY3BpLT52cDlfYml0c3RyZWFtX3dvcmtlcl9kYXRhW2ldLmRlc3Qs
Ci0gICAgICAgICAgICAgICAgICAgIHZweF9tYWxsb2MoY3BpLT52cDlfYml0c3RyZWFtX3dvcmtl
cl9kYXRhW2ldLmRlc3Rfc2l6ZSkpOworICAgIGNwaS0+dnA5X2JpdHN0cmVhbV93b3JrZXJfZGF0
YVtpXS5kZXN0ID0KKyAgICAgICAgdnB4X21hbGxvYyhjcGktPnZwOV9iaXRzdHJlYW1fd29ya2Vy
X2RhdGFbaV0uZGVzdF9zaXplKTsKKyAgICBpZiAoIWNwaS0+dnA5X2JpdHN0cmVhbV93b3JrZXJf
ZGF0YVtpXS5kZXN0KSByZXR1cm4gMTsKICAgfQorICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHNp
emVfdCBlbmNvZGVfdGlsZXNfbXQoVlA5X0NPTVAgKmNwaSwgdWludDhfdCAqZGF0YV9wdHIpIHsK
QEAgLTk5MCw3ICs5OTIsNyBAQCBzdGF0aWMgc2l6ZV90IGVuY29kZV90aWxlc19tdChWUDlfQ09N
UCAqY3BpLCB1aW50OF90ICpkYXRhX3B0cikgewogICAgICAgY3BpLT52cDlfYml0c3RyZWFtX3dv
cmtlcl9kYXRhWzFdLmRlc3Rfc2l6ZSA+CiAgICAgICAgICAgKGNwaS0+b3hjZi53aWR0aCAqIGNw
aS0+b3hjZi5oZWlnaHQpKSB7CiAgICAgdnA5X2JpdHN0cmVhbV9lbmNvZGVfdGlsZXNfYnVmZmVy
X2RlYWxsb2MoY3BpKTsKLSAgICBlbmNvZGVfdGlsZXNfYnVmZmVyX2FsbG9jKGNwaSk7CisgICAg
aWYgKGVuY29kZV90aWxlc19idWZmZXJfYWxsb2MoY3BpKSkgcmV0dXJuIDA7CiAgIH0KIAogICB3
aGlsZSAodGlsZV9jb2wgPCB0aWxlX2NvbHMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X2Jsb2NrLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9ibG9jay5o
CmluZGV4IDdmYTAwY2QxOTRjZC4uMzdhNDYwNWFkOGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL3ZwOV9ibG9jay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5
X2Jsb2NrLmgKQEAgLTEzLDcgKzEzLDYgQEAKIAogI2luY2x1ZGUgInZweF91dGlsL3ZweF90aHJl
YWQuaCIKIAotI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X2Jsb2NrZC5oIgogI2luY2x1ZGUgInZw
OS9jb21tb24vdnA5X2VudHJvcHltdi5oIgogI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X2VudHJv
cHkuaCIKIApAQCAtMjUsNyArMjQsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgIHVuc2lnbmVkIGlu
dCBzc2U7CiAgIGludCBzdW07CiAgIHVuc2lnbmVkIGludCB2YXI7Ci19IERpZmY7Cit9IGRpZmY7
CiAKIHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lIHsKICAgREVDTEFSRV9BTElHTkVEKDE2LCBpbnQx
Nl90LCBzcmNfZGlmZls2NCAqIDY0XSk7CkBAIC0zNCw4ICszMyw4IEBAIHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lIHsKICAgdWludDE2X3QgKmVvYnM7CiAgIHN0cnVjdCBidWZfMmQgc3JjOwogCi0g
IC8vIFF1YW50aXplciBzZXR0aW5ncwotICBpbnQxNl90ICpyb3VuZF9mcDsKKyAgLy8gUXVhbnRp
emVyIHNldGluZ3MKKyAgREVDTEFSRV9BTElHTkVEKDE2LCBpbnQxNl90LCByb3VuZF9mcFs4XSk7
CiAgIGludDE2X3QgKnF1YW50X2ZwOwogICBpbnQxNl90ICpxdWFudDsKICAgaW50MTZfdCAqcXVh
bnRfc2hpZnQ7CkBAIC03OSwxNiArNzgsMTYgQEAgc3RydWN0IG1hY3JvYmxvY2sgewogICBpbnQg
c2tpcF9yZWNvZGU7CiAgIGludCBza2lwX29wdGltaXplOwogICBpbnQgcV9pbmRleDsKLSAgZG91
YmxlIGxvZ19ibG9ja19zcmNfdmFyOworICBpbnQgYmxvY2tfcWNvZWZmX29wdDsKICAgaW50IGJs
b2NrX3R4X2RvbWFpbjsKIAogICAvLyBUaGUgZXF1aXZhbGVudCBlcnJvciBhdCB0aGUgY3VycmVu
dCByZG11bHQgb2Ygb25lIHdob2xlIGJpdCAobm90IG9uZQogICAvLyBiaXRjb3N0IHVuaXQpLgog
ICBpbnQgZXJyb3JwZXJiaXQ7Ci0gIC8vIFRoZSBlcXVpdmFsZW50IFNBRCBlcnJvciBvZiBvbmUg
KHdob2xlKSBiaXQgYXQgdGhlIGN1cnJlbnQgcXVhbnRpemVyCisgIC8vIFRoZSBlcXVpdmFsZW5k
IFNBRCBlcnJvciBvZiBvbmUgKHdob2xlKSBiaXQgYXQgdGhlIGN1cnJlbnQgcXVhbnRpemVyCiAg
IC8vIGZvciBsYXJnZSBibG9ja3MuCiAgIGludCBzYWRwZXJiaXQxNjsKLSAgLy8gVGhlIGVxdWl2
YWxlbnQgU0FEIGVycm9yIG9mIG9uZSAod2hvbGUpIGJpdCBhdCB0aGUgY3VycmVudCBxdWFudGl6
ZXIKKyAgLy8gVGhlIGVxdWl2YWxlbmQgU0FEIGVycm9yIG9mIG9uZSAod2hvbGUpIGJpdCBhdCB0
aGUgY3VycmVudCBxdWFudGl6ZXIKICAgLy8gZm9yIHN1Yi04eDggYmxvY2tzLgogICBpbnQgc2Fk
cGVyYml0NDsKICAgaW50IHJkZGl2OwpAQCAtMTI4LDcgKzEyNyw3IEBAIHN0cnVjdCBtYWNyb2Js
b2NrIHsKICAgLy8gZnJvbSBleHRlbmRpbmcgb3V0c2lkZSB0aGUgVU1WIGJvcmRlcnMKICAgTXZM
aW1pdHMgbXZfbGltaXRzOwogCi0gIC8vIE5vdGVzIHRyYW5zZm9ybSBibG9ja3Mgd2hlcmUgbm8g
Y29lZmZpY2llbnRzIGFyZSBjb2RlZC4KKyAgLy8gTm90ZXMgdHJhbnNmb3JtIGJsb2NrcyB3aGVy
ZSBubyBjb2VmZmljZW50cyBhcmUgY29kZWQuCiAgIC8vIFNldCBkdXJpbmcgbW9kZSBzZWxlY3Rp
b24uIFJlYWQgZHVyaW5nIGJsb2NrIGVuY29kaW5nLgogICB1aW50OF90IHpjb2VmZl9ibGtbVFhf
U0laRVNdWzI1Nl07CiAKQEAgLTE1OCw5ICsxNTcsNiBAQCBzdHJ1Y3QgbWFjcm9ibG9jayB7CiAg
IC8vIHNraXAgZm9yd2FyZCB0cmFuc2Zvcm0gYW5kIHF1YW50aXphdGlvbgogICB1aW50OF90IHNr
aXBfdHhmbVtNQVhfTUJfUExBTkUgPDwgMl07CiAjZGVmaW5lIFNLSVBfVFhGTV9OT05FIDAKLS8v
IFRPRE8oY2hlbmdjaGVuKTogY29uc2lkZXIgcmVtb3ZlIFNLSVBfVFhGTV9BQ19EQyBmcm9tIHZw
OSBjb21wbGV0ZWx5Ci0vLyBzaW5jZSBpdCBpbmNyZWFzZXMgcmlza3Mgb2YgYmFkIHBlcmNlcHR1
YWwgcXVhbGl0eS4KLS8vIGh0dHBzOi8vY3JidWcuY29tL3dlYm0vMTcyOQogI2RlZmluZSBTS0lQ
X1RYRk1fQUNfREMgMQogI2RlZmluZSBTS0lQX1RYRk1fQUNfT05MWSAyCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2NvbnRleHRfdHJlZS5jIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvZW5jb2Rlci92cDlfY29udGV4dF90cmVlLmMKaW5kZXggNDIwNzNmNzU2Y2QwLi5iNzRiOTAy
N2NhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2NvbnRleHRfdHJl
ZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2NvbnRleHRfdHJlZS5jCkBAIC0y
NSwxNyArMjUsMTYgQEAgc3RhdGljIHZvaWQgYWxsb2NfbW9kZV9jb250ZXh0KFZQOV9DT01NT04g
KmNtLCBpbnQgbnVtXzR4NF9ibGssCiAgIGludCBpLCBrOwogICBjdHgtPm51bV80eDRfYmxrID0g
bnVtX2JsazsKIAotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgY3R4LT56Y29lZmZfYmxr
LAotICAgICAgICAgICAgICAgICAgdnB4X2NhbGxvYyhudW1fYmxrLCBzaXplb2YodWludDhfdCkp
KTsKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjdHgtPnpjb2VmZl9ibGssIHZweF9jYWxsb2MobnVt
X2Jsaywgc2l6ZW9mKHVpbnQ4X3QpKSk7CiAgIGZvciAoaSA9IDA7IGkgPCBNQVhfTUJfUExBTkU7
ICsraSkgewogICAgIGZvciAoayA9IDA7IGsgPCAzOyArK2spIHsKLSAgICAgIENIRUNLX01FTV9F
UlJPUigmY20tPmVycm9yLCBjdHgtPmNvZWZmW2ldW2tdLAorICAgICAgQ0hFQ0tfTUVNX0VSUk9S
KGNtLCBjdHgtPmNvZWZmW2ldW2tdLAogICAgICAgICAgICAgICAgICAgICAgIHZweF9tZW1hbGln
bigzMiwgbnVtX3BpeCAqIHNpemVvZigqY3R4LT5jb2VmZltpXVtrXSkpKTsKLSAgICAgIENIRUNL
X01FTV9FUlJPUigmY20tPmVycm9yLCBjdHgtPnFjb2VmZltpXVtrXSwKKyAgICAgIENIRUNLX01F
TV9FUlJPUihjbSwgY3R4LT5xY29lZmZbaV1ba10sCiAgICAgICAgICAgICAgICAgICAgICAgdnB4
X21lbWFsaWduKDMyLCBudW1fcGl4ICogc2l6ZW9mKCpjdHgtPnFjb2VmZltpXVtrXSkpKTsKLSAg
ICAgIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjdHgtPmRxY29lZmZbaV1ba10sCisgICAg
ICBDSEVDS19NRU1fRVJST1IoY20sIGN0eC0+ZHFjb2VmZltpXVtrXSwKICAgICAgICAgICAgICAg
ICAgICAgICB2cHhfbWVtYWxpZ24oMzIsIG51bV9waXggKiBzaXplb2YoKmN0eC0+ZHFjb2VmZltp
XVtrXSkpKTsKLSAgICAgIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjdHgtPmVvYnNbaV1b
a10sCisgICAgICBDSEVDS19NRU1fRVJST1IoY20sIGN0eC0+ZW9ic1tpXVtrXSwKICAgICAgICAg
ICAgICAgICAgICAgICB2cHhfbWVtYWxpZ24oMzIsIG51bV9ibGsgKiBzaXplb2YoKmN0eC0+ZW9i
c1tpXVtrXSkpKTsKICAgICAgIGN0eC0+Y29lZmZfcGJ1ZltpXVtrXSA9IGN0eC0+Y29lZmZbaV1b
a107CiAgICAgICBjdHgtPnFjb2VmZl9wYnVmW2ldW2tdID0gY3R4LT5xY29lZmZbaV1ba107CkBA
IC0xMDEsMTAgKzEwMCwxMCBAQCB2b2lkIHZwOV9zZXR1cF9wY190cmVlKFZQOV9DT01NT04gKmNt
LCBUaHJlYWREYXRhICp0ZCkgewogICBpbnQgbm9kZXM7CiAKICAgdnB4X2ZyZWUodGQtPmxlYWZf
dHJlZSk7Ci0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCB0ZC0+bGVhZl90cmVlLAorICBD
SEVDS19NRU1fRVJST1IoY20sIHRkLT5sZWFmX3RyZWUsCiAgICAgICAgICAgICAgICAgICB2cHhf
Y2FsbG9jKGxlYWZfbm9kZXMsIHNpemVvZigqdGQtPmxlYWZfdHJlZSkpKTsKICAgdnB4X2ZyZWUo
dGQtPnBjX3RyZWUpOwotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgdGQtPnBjX3RyZWUs
CisgIENIRUNLX01FTV9FUlJPUihjbSwgdGQtPnBjX3RyZWUsCiAgICAgICAgICAgICAgICAgICB2
cHhfY2FsbG9jKHRyZWVfbm9kZXMsIHNpemVvZigqdGQtPnBjX3RyZWUpKSk7CiAKICAgdGhpc19w
YyA9ICZ0ZC0+cGNfdHJlZVswXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2Nvc3QuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2Nvc3QuaAppbmRleCBlZTAw
MzNmYTMxNTQuLjYzOGQ3MmE5MTYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfY29zdC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2Nvc3QuaApAQCAt
MjksOCArMjksOSBAQCBleHRlcm4gY29uc3QgdWludDE2X3QgdnA5X3Byb2JfY29zdFsyNTZdOwog
CiAjZGVmaW5lIHZwOV9jb3N0X2JpdChwcm9iLCBiaXQpIHZwOV9jb3N0X3plcm8oKGJpdCkgPyAy
NTYgLSAocHJvYikgOiAocHJvYikpCiAKLXN0YXRpYyBJTkxJTkUgdWludDY0X3QgY29zdF9icmFu
Y2gyNTYoY29uc3QgdW5zaWduZWQgaW50IGN0WzJdLCB2cHhfcHJvYiBwKSB7Ci0gIHJldHVybiAo
dWludDY0X3QpY3RbMF0gKiB2cDlfY29zdF96ZXJvKHApICsgKHVpbnQ2NF90KWN0WzFdICogdnA5
X2Nvc3Rfb25lKHApOworc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgY29zdF9icmFuY2gyNTYo
Y29uc3QgdW5zaWduZWQgaW50IGN0WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdnB4X3Byb2IgcCkgeworICByZXR1cm4gY3RbMF0gKiB2cDlfY29zdF96ZXJv
KHApICsgY3RbMV0gKiB2cDlfY29zdF9vbmUocCk7CiB9CiAKIHN0YXRpYyBJTkxJTkUgaW50IHRy
ZWVkX2Nvc3QodnB4X3RyZWUgdHJlZSwgY29uc3QgdnB4X3Byb2IgKnByb2JzLCBpbnQgYml0cywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2Rlbm9pc2VyLmMgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9kZW5vaXNlci5jCmluZGV4IGU1ZGZmYTkwYTgyNC4uMjg4
NTIyM2I1OWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9kZW5vaXNl
ci5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2Rlbm9pc2VyLmMKQEAgLTIzMyw3
ICsyMzMsNyBAQCBzdGF0aWMgVlA5X0RFTk9JU0VSX0RFQ0lTSU9OIHBlcmZvcm1fbW90aW9uX2Nv
bXBlbnNhdGlvbigKICAgICAgICAgZnJhbWUgPT0gQUxUUkVGX0ZSQU1FIHx8CiAgICAgICAgIChm
cmFtZSA9PSBHT0xERU5fRlJBTUUgJiYgdXNlX2dmX3RlbXBvcmFsX3JlZikgfHwKICAgICAgICAg
KGZyYW1lICE9IExBU1RfRlJBTUUgJiYKLSAgICAgICAgICgoY3R4LT56ZXJvbXZfbGFzdHJlZl9z
c2UgPCAoNSAqIGN0eC0+emVyb212X3NzZSkgPj4gMikgfHwKKyAgICAgICAgICgoY3R4LT56ZXJv
bXZfbGFzdHJlZl9zc2U8KDUgKiBjdHgtPnplcm9tdl9zc2UpPj4gMikgfHwKICAgICAgICAgICBk
ZW5vaXNlci0+ZGVub2lzaW5nX2xldmVsID49IGtEZW5IaWdoKSkpIHsKICAgICAgIGZyYW1lID0g
TEFTVF9GUkFNRTsKICAgICAgIGN0eC0+bmV3bXZfc3NlID0gY3R4LT56ZXJvbXZfbGFzdHJlZl9z
c2U7CkBAIC0zMTksNyArMzE5LDcgQEAgc3RhdGljIFZQOV9ERU5PSVNFUl9ERUNJU0lPTiBwZXJm
b3JtX21vdGlvbl9jb21wZW5zYXRpb24oCiAgIGZpbHRlcl9tYmQtPnBsYW5lWzJdLmRzdC5zdHJp
ZGUgPQogICAgICAgZGVub2lzZXItPm1jX3J1bm5pbmdfYXZnX3lbZGVub2lzZV9sYXllcl9pZHhd
LnV2X3N0cmlkZTsKIAotICBzZXRfcmVmX3B0cnMoY20sIGZpbHRlcl9tYmQsIHNhdmVkX2ZyYW1l
LCBOT19SRUZfRlJBTUUpOworICBzZXRfcmVmX3B0cnMoY20sIGZpbHRlcl9tYmQsIHNhdmVkX2Zy
YW1lLCBOT05FKTsKICAgdnA5X2J1aWxkX2ludGVyX3ByZWRpY3RvcnNfc2J5KGZpbHRlcl9tYmQs
IG1pX3JvdywgbWlfY29sLCBicyk7CiAKICAgLy8gUmVzdG9yZSBldmVyeXRoaW5nIHRvIGl0cyBv
cmlnaW5hbCBzdGF0ZQpAQCAtMzg3LDcgKzM4Nyw3IEBAIHZvaWQgdnA5X2Rlbm9pc2VyX2Rlbm9p
c2UoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqbWIsIGludCBtaV9yb3csIGludCBtaV9jb2ws
CiAgICAgICAgICAgY29uc2VjX3plcm9tdiA9IFZQWE1JTihjcGktPmNvbnNlY196ZXJvX212W2Js
X2luZGV4XSwgY29uc2VjX3plcm9tdik7CiAgICAgICAgICAgLy8gTm8gbmVlZCB0byBrZWVwIGNo
ZWNraW5nIDh4OCBibG9ja3MgaWYgYW55IG9mIHRoZSBzdWItYmxvY2tzCiAgICAgICAgICAgLy8g
aGFzIHNtYWxsIGNvbnNlY196ZXJvbXYgKHNpbmNlIHRocmVzaG9sZCBmb3Igbm9fc2tpbiBiYXNl
ZCBvbgotICAgICAgICAgIC8vIHplcm8vc21hbGwgbW90aW9uIGluIHNraW4gZGV0ZWN0aW9uIGlz
IGhpZ2gsIGkuZS4sID4gNCkuCisgICAgICAgICAgLy8gemVyby9zbWFsbCBtb3Rpb24gaW4gc2tp
biBkZXRlY3Rpb24gaXMgaGlnaCwgaS5lLCA+IDQpLgogICAgICAgICAgIGlmIChjb25zZWNfemVy
b212IDwgNCkgewogICAgICAgICAgICAgaSA9IHltaXM7CiAgICAgICAgICAgICBicmVhazsKQEAg
LTYzNCwxMSArNjM0LDExIEBAIGludCB2cDlfZGVub2lzZXJfYWxsb2MoVlA5X0NPTU1PTiAqY20s
IHN0cnVjdCBTVkMgKnN2YywgVlA5X0RFTk9JU0VSICpkZW5vaXNlciwKICAgZGVub2lzZXItPm51
bV9yZWZfZnJhbWVzID0gdXNlX3N2YyA/IFNWQ19SRUZfRlJBTUVTIDogTk9OU1ZDX1JFRl9GUkFN
RVM7CiAgIGluaXRfbnVtX3JlZl9mcmFtZXMgPSB1c2Vfc3ZjID8gTUFYX1JFRl9GUkFNRVMgOiBO
T05TVkNfUkVGX0ZSQU1FUzsKICAgZGVub2lzZXItPm51bV9sYXllcnMgPSBudW1fbGF5ZXJzOwot
ICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgZGVub2lzZXItPnJ1bm5pbmdfYXZnX3ksCisg
IENIRUNLX01FTV9FUlJPUihjbSwgZGVub2lzZXItPnJ1bm5pbmdfYXZnX3ksCiAgICAgICAgICAg
ICAgICAgICB2cHhfY2FsbG9jKGRlbm9pc2VyLT5udW1fcmVmX2ZyYW1lcyAqIG51bV9sYXllcnMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihkZW5vaXNlci0+cnVubmluZ19h
dmdfeVswXSkpKTsKICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgJmNtLT5lcnJvciwgZGVub2lz
ZXItPm1jX3J1bm5pbmdfYXZnX3ksCisgICAgICBjbSwgZGVub2lzZXItPm1jX3J1bm5pbmdfYXZn
X3ksCiAgICAgICB2cHhfY2FsbG9jKG51bV9sYXllcnMsIHNpemVvZihkZW5vaXNlci0+bWNfcnVu
bmluZ19hdmdfeVswXSkpKTsKIAogICBmb3IgKGxheWVyID0gMDsgbGF5ZXIgPCBudW1fbGF5ZXJz
OyArK2xheWVyKSB7CkBAIC03NjQsOSArNzY0LDggQEAgaW50NjRfdCB2cDlfc2NhbGVfYWNza2lw
X3RocmVzaChpbnQ2NF90IHRocmVzaG9sZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVlA5X0RFTk9JU0VSX0xFVkVMIG5vaXNlX2xldmVsLCBpbnQgYWJzX3N1bWRpZmYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0ZW1wb3JhbF9sYXllcl9pZCkgewogICBp
ZiAobm9pc2VfbGV2ZWwgPj0ga0RlbkxvdyAmJiBhYnNfc3VtZGlmZiA8IDUpCi0gICAgcmV0dXJu
IHRocmVzaG9sZCAqPSAobm9pc2VfbGV2ZWwgPT0ga0RlbkxvdykgICA/IDIKLSAgICAgICAgICAg
ICAgICAgICAgICAgIDogKHRlbXBvcmFsX2xheWVyX2lkID09IDIpID8gMTAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogNjsKKyAgICByZXR1cm4g
dGhyZXNob2xkICo9CisgICAgICAgICAgIChub2lzZV9sZXZlbCA9PSBrRGVuTG93KSA/IDIgOiAo
dGVtcG9yYWxfbGF5ZXJfaWQgPT0gMikgPyAxMCA6IDY7CiAgIGVsc2UKICAgICByZXR1cm4gdGhy
ZXNob2xkOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2Rl
ZnJhbWUuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZWZyYW1lLmMKaW5kZXgg
Njc4Njk1OTZiMWI4Li5iYzYyYmViOWJhN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X2VuY29kZWZyYW1lLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
ZW5jb2RlZnJhbWUuYwpAQCAtMTU5LDYgKzE1OSwzNyBAQCB1bnNpZ25lZCBpbnQgdnA5X2hpZ2hf
Z2V0X3NieV9wZXJwaXhlbF92YXJpYW5jZShWUDlfQ09NUCAqY3BpLAogfQogI2VuZGlmICAvLyBD
T05GSUdfVlA5X0hJR0hCSVRERVBUSAogCisjaWYgIUNPTkZJR19SRUFMVElNRV9PTkxZCitzdGF0
aWMgdW5zaWduZWQgaW50IGdldF9zYnlfcGVycGl4ZWxfZGlmZl92YXJpYW5jZShWUDlfQ09NUCAq
Y3BpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IGJ1Zl8yZCAqcmVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IG1pX3JvdywgaW50IG1pX2NvbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJWkUgYnMpIHsK
KyAgdW5zaWduZWQgaW50IHNzZSwgdmFyOworICB1aW50OF90ICpsYXN0X3k7CisgIGNvbnN0IFlW
MTJfQlVGRkVSX0NPTkZJRyAqbGFzdCA9IGdldF9yZWZfZnJhbWVfYnVmZmVyKGNwaSwgTEFTVF9G
UkFNRSk7CisKKyAgYXNzZXJ0KGxhc3QgIT0gTlVMTCk7CisgIGxhc3RfeSA9CisgICAgICAmbGFz
dC0+eV9idWZmZXJbbWlfcm93ICogTUlfU0laRSAqIGxhc3QtPnlfc3RyaWRlICsgbWlfY29sICog
TUlfU0laRV07CisgIHZhciA9IGNwaS0+Zm5fcHRyW2JzXS52ZihyZWYtPmJ1ZiwgcmVmLT5zdHJp
ZGUsIGxhc3RfeSwgbGFzdC0+eV9zdHJpZGUsICZzc2UpOworICByZXR1cm4gUk9VTkRfUE9XRVJf
T0ZfVFdPKHZhciwgbnVtX3BlbHNfbG9nMl9sb29rdXBbYnNdKTsKK30KKworc3RhdGljIEJMT0NL
X1NJWkUgZ2V0X3JkX3Zhcl9iYXNlZF9maXhlZF9wYXJ0aXRpb24oVlA5X0NPTVAgKmNwaSwgTUFD
Uk9CTE9DSyAqeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBtaV9yb3csIGludCBtaV9jb2wpIHsKKyAgdW5zaWduZWQgaW50IHZhciA9IGdl
dF9zYnlfcGVycGl4ZWxfZGlmZl92YXJpYW5jZSgKKyAgICAgIGNwaSwgJngtPnBsYW5lWzBdLnNy
YywgbWlfcm93LCBtaV9jb2wsIEJMT0NLXzY0WDY0KTsKKyAgaWYgKHZhciA8IDgpCisgICAgcmV0
dXJuIEJMT0NLXzY0WDY0OworICBlbHNlIGlmICh2YXIgPCAxMjgpCisgICAgcmV0dXJuIEJMT0NL
XzMyWDMyOworICBlbHNlIGlmICh2YXIgPCAyMDQ4KQorICAgIHJldHVybiBCTE9DS18xNlgxNjsK
KyAgZWxzZQorICAgIHJldHVybiBCTE9DS184WDg7Cit9CisjZW5kaWYgIC8vICFDT05GSUdfUkVB
TFRJTUVfT05MWQorCiBzdGF0aWMgdm9pZCBzZXRfc2VnbWVudF9pbmRleChWUDlfQ09NUCAqY3Bp
LCBNQUNST0JMT0NLICpjb25zdCB4LCBpbnQgbWlfcm93LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IG1pX2NvbCwgQkxPQ0tfU0laRSBic2l6ZSwgaW50IHNlZ21lbnRfaW5kZXgp
IHsKICAgVlA5X0NPTU1PTiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247CkBAIC0yMTcsOCArMjQ4
LDggQEAgc3RhdGljIHZvaWQgc2V0X3NlZ21lbnRfaW5kZXgoVlA5X0NPTVAgKmNwaSwgTUFDUk9C
TE9DSyAqY29uc3QgeCwgaW50IG1pX3JvdywKICAgICAgIGJyZWFrOwogICB9CiAKLSAgLy8gU2V0
IHNlZ21lbnQgaW5kZXggaWYgUk9JIG1hcCBvciBhY3RpdmVfbWFwIGlzIGVuYWJsZWQuCi0gIGlm
IChjcGktPnJvaS5lbmFibGVkIHx8IGNwaS0+YWN0aXZlX21hcC5lbmFibGVkKQorICAvLyBTZXQg
c2VnbWVudCBpbmRleCBmcm9tIFJPSSBtYXAgaWYgaXQncyBlbmFibGVkLgorICBpZiAoY3BpLT5y
b2kuZW5hYmxlZCkKICAgICBtaS0+c2VnbWVudF9pZCA9IGdldF9zZWdtZW50X2lkKGNtLCBtYXAs
IGJzaXplLCBtaV9yb3csIG1pX2NvbCk7CiAKICAgdnA5X2luaXRfcGxhbmVfcXVhbnRpemVycyhj
cGksIHgpOwpAQCAtMzQ5LDE3ICszODAsMTcgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICBpbnQzMl90
IHN1bV9lcnJvcjsKICAgaW50IGxvZzJfY291bnQ7CiAgIGludCB2YXJpYW5jZTsKLX0gVmFyOwor
fSB2YXI7CiAKIHR5cGVkZWYgc3RydWN0IHsKLSAgVmFyIG5vbmU7Ci0gIFZhciBob3J6WzJdOwot
ICBWYXIgdmVydFsyXTsKKyAgdmFyIG5vbmU7CisgIHZhciBob3J6WzJdOworICB2YXIgdmVydFsy
XTsKIH0gcGFydGl0aW9uX3ZhcmlhbmNlOwogCiB0eXBlZGVmIHN0cnVjdCB7CiAgIHBhcnRpdGlv
bl92YXJpYW5jZSBwYXJ0X3ZhcmlhbmNlczsKLSAgVmFyIHNwbGl0WzRdOworICB2YXIgc3BsaXRb
NF07CiB9IHY0eDQ7CiAKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTM4NCw3ICs0MTUsNyBAQCB0eXBl
ZGVmIHN0cnVjdCB7CiAKIHR5cGVkZWYgc3RydWN0IHsKICAgcGFydGl0aW9uX3ZhcmlhbmNlICpw
YXJ0X3ZhcmlhbmNlczsKLSAgVmFyICpzcGxpdFs0XTsKKyAgdmFyICpzcGxpdFs0XTsKIH0gdmFy
aWFuY2Vfbm9kZTsKIAogdHlwZWRlZiBlbnVtIHsKQEAgLTQzNiwxMyArNDY3LDEzIEBAIHN0YXRp
YyB2b2lkIHRyZWVfdG9fbm9kZSh2b2lkICpkYXRhLCBCTE9DS19TSVpFIGJzaXplLCB2YXJpYW5j
ZV9ub2RlICpub2RlKSB7CiB9CiAKIC8vIFNldCB2YXJpYW5jZSB2YWx1ZXMgZ2l2ZW4gc3VtIHNx
dWFyZSBlcnJvciwgc3VtIGVycm9yLCBjb3VudC4KLXN0YXRpYyB2b2lkIGZpbGxfdmFyaWFuY2Uo
dWludDMyX3QgczIsIGludDMyX3QgcywgaW50IGMsIFZhciAqdikgeworc3RhdGljIHZvaWQgZmls
bF92YXJpYW5jZSh1aW50MzJfdCBzMiwgaW50MzJfdCBzLCBpbnQgYywgdmFyICp2KSB7CiAgIHYt
PnN1bV9zcXVhcmVfZXJyb3IgPSBzMjsKICAgdi0+c3VtX2Vycm9yID0gczsKICAgdi0+bG9nMl9j
b3VudCA9IGM7CiB9CiAKLXN0YXRpYyB2b2lkIGdldF92YXJpYW5jZShWYXIgKnYpIHsKK3N0YXRp
YyB2b2lkIGdldF92YXJpYW5jZSh2YXIgKnYpIHsKICAgdi0+dmFyaWFuY2UgPQogICAgICAgKGlu
dCkoMjU2ICogKHYtPnN1bV9zcXVhcmVfZXJyb3IgLQogICAgICAgICAgICAgICAgICAgICh1aW50
MzJfdCkoKChpbnQ2NF90KXYtPnN1bV9lcnJvciAqIHYtPnN1bV9lcnJvcikgPj4KQEAgLTQ1MCw3
ICs0ODEsNyBAQCBzdGF0aWMgdm9pZCBnZXRfdmFyaWFuY2UoVmFyICp2KSB7CiAgICAgICAgICAg
ICB2LT5sb2cyX2NvdW50KTsKIH0KIAotc3RhdGljIHZvaWQgc3VtXzJfdmFyaWFuY2VzKGNvbnN0
IFZhciAqYSwgY29uc3QgVmFyICpiLCBWYXIgKnIpIHsKK3N0YXRpYyB2b2lkIHN1bV8yX3Zhcmlh
bmNlcyhjb25zdCB2YXIgKmEsIGNvbnN0IHZhciAqYiwgdmFyICpyKSB7CiAgIGFzc2VydChhLT5s
b2cyX2NvdW50ID09IGItPmxvZzJfY291bnQpOwogICBmaWxsX3ZhcmlhbmNlKGEtPnN1bV9zcXVh
cmVfZXJyb3IgKyBiLT5zdW1fc3F1YXJlX2Vycm9yLAogICAgICAgICAgICAgICAgIGEtPnN1bV9l
cnJvciArIGItPnN1bV9lcnJvciwgYS0+bG9nMl9jb3VudCArIDEsIHIpOwpAQCAtMTI5OSw3ICsx
MzMwLDcgQEAgc3RhdGljIGludCBjaG9vc2VfcGFydGl0aW9uaW5nKFZQOV9DT01QICpjcGksIGNv
bnN0IFRpbGVJbmZvICpjb25zdCB0aWxlLAogICAvLyB0aGUgcmVmZXJlbmNlIChiYXNlIGxheWVy
IGZyYW1lKSBpcyBrZXkgZnJhbWUgKGkuZS4sIGlzX2tleV9mcmFtZSA9PSAxKS4KICAgaW50IGlz
X2tleV9mcmFtZSA9CiAgICAgICAoZnJhbWVfaXNfaW50cmFfb25seShjbSkgfHwKLSAgICAgICAo
aXNfb25lX3Bhc3Nfc3ZjKGNwaSkgJiYKKyAgICAgICAoaXNfb25lX3Bhc3NfY2JyX3N2YyhjcGkp
ICYmCiAgICAgICAgIGNwaS0+c3ZjLmxheWVyX2NvbnRleHRbY3BpLT5zdmMudGVtcG9yYWxfbGF5
ZXJfaWRdLmlzX2tleV9mcmFtZSkpOwogICAvLyBBbHdheXMgdXNlIDR4NCBwYXJ0aXRpb24gZm9y
IGtleSBmcmFtZS4KICAgY29uc3QgaW50IHVzZV80eDRfcGFydGl0aW9uID0gZnJhbWVfaXNfaW50
cmFfb25seShjbSk7CkBAIC0xNDA2LDcgKzE0MzcsNyBAQCBzdGF0aWMgaW50IGNob29zZV9wYXJ0
aXRpb25pbmcoVlA5X0NPTVAgKmNwaSwgY29uc3QgVGlsZUluZm8gKmNvbnN0IHRpbGUsCiAKICAg
ICBhc3NlcnQoeXYxMiAhPSBOVUxMKTsKIAotICAgIGlmICghKGlzX29uZV9wYXNzX3N2YyhjcGkp
ICYmIGNwaS0+c3ZjLnNwYXRpYWxfbGF5ZXJfaWQpIHx8CisgICAgaWYgKCEoaXNfb25lX3Bhc3Nf
Y2JyX3N2YyhjcGkpICYmIGNwaS0+c3ZjLnNwYXRpYWxfbGF5ZXJfaWQpIHx8CiAgICAgICAgIGNw
aS0+c3ZjLnVzZV9nZl90ZW1wb3JhbF9yZWZfY3VycmVudF9sYXllcikgewogICAgICAgLy8gRm9y
IG5vdywgR09MREVOIHdpbGwgbm90IGJlIHVzZWQgZm9yIG5vbi16ZXJvIHNwYXRpYWwgbGF5ZXJz
LCBzaW5jZQogICAgICAgLy8gaXQgbWF5IG5vdCBiZSBhIHRlbXBvcmFsIHJlZmVyZW5jZS4KQEAg
LTE0MzcsNyArMTQ2OCw3IEBAIHN0YXRpYyBpbnQgY2hvb3NlX3BhcnRpdGlvbmluZyhWUDlfQ09N
UCAqY3BpLCBjb25zdCBUaWxlSW5mbyAqY29uc3QgdGlsZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZjbS0+ZnJhbWVfcmVmc1tMQVNUX0ZSQU1FIC0gMV0uc2YpOwogICAgICAgbWktPnJl
Zl9mcmFtZVswXSA9IExBU1RfRlJBTUU7CiAgICAgfQotICAgIG1pLT5yZWZfZnJhbWVbMV0gPSBO
T19SRUZfRlJBTUU7CisgICAgbWktPnJlZl9mcmFtZVsxXSA9IE5PTkU7CiAgICAgbWktPnNiX3R5
cGUgPSBCTE9DS182NFg2NDsKICAgICBtaS0+bXZbMF0uYXNfaW50ID0gMDsKICAgICBtaS0+aW50
ZXJwX2ZpbHRlciA9IEJJTElORUFSOwpAQCAtMTU0NSw3ICsxNTc2LDcgQEAgc3RhdGljIGludCBj
aG9vc2VfcGFydGl0aW9uaW5nKFZQOV9DT01QICpjcGksIGNvbnN0IFRpbGVJbmZvICpjb25zdCB0
aWxlLAogICB9CiAKICAgaWYgKGxvd19yZXMgJiYgdGhyZXNob2xkXzR4NGF2ZyA8IElOVDY0X01B
WCkKLSAgICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgdnQyLCB2cHhfY2FsbG9jKDE2LCBz
aXplb2YoKnZ0MikpKTsKKyAgICBDSEVDS19NRU1fRVJST1IoY20sIHZ0MiwgdnB4X2NhbGxvYygx
Niwgc2l6ZW9mKCp2dDIpKSk7CiAgIC8vIEZpbGwgaW4gdGhlIGVudGlyZSB0cmVlIG9mIDh4OCAo
b3IgNHg0IHVuZGVyIHNvbWUgY29uZGl0aW9ucykgdmFyaWFuY2VzCiAgIC8vIGZvciBzcGxpdHMu
CiAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKQEAgLTE3MDYsNyArMTczNyw3IEBAIHN0YXRp
YyBpbnQgY2hvb3NlX3BhcnRpdGlvbmluZyhWUDlfQ09NUCAqY3BpLCBjb25zdCBUaWxlSW5mbyAq
Y29uc3QgdGlsZSwKICAgICAgICAgICBjb25zdCBpbnQgeTE2X2lkeCA9ICgoaiA+PiAxKSA8PCAx
KTsKICAgICAgICAgICAvLyBGb3IgaW50ZXIgZnJhbWVzOiBpZiB2YXJpYW5jZTR4NGRvd25zYW1w
bGVbXSA9PSAxIGZvciB0aGlzIDE2eDE2CiAgICAgICAgICAgLy8gYmxvY2ssIHRoZW4gdGhlIHZh
cmlhbmNlIGlzIGJhc2VkIG9uIDR4NCBkb3duLXNhbXBsaW5nLCBzbyB1c2UgdnQyCi0gICAgICAg
ICAgLy8gaW4gc2V0X3Z0X3BhcnRpdGlvbmluZygpLCBvdGhlcndpc2UgdXNlIHZ0LgorICAgICAg
ICAgIC8vIGluIHNldF92dF9wYXJ0aW9uaW5nKCksIG90aGVyd2lzZSB1c2UgdnQuCiAgICAgICAg
ICAgdjE2eDE2ICp2dGVtcCA9ICghaXNfa2V5X2ZyYW1lICYmIHZhcmlhbmNlNHg0ZG93bnNhbXBs
ZVtpMiArIGpdID09IDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICZ2dDJbaTIg
KyBqXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAmdnQuc3BsaXRbaV0uc3BsaXRb
al07CkBAIC0xNzk5LDggKzE4MzAsNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfc3RhdGUoVlA5X0NP
TVAgKmNwaSwgVGhyZWFkRGF0YSAqdGQsIFBJQ0tfTU9ERV9DT05URVhUICpjdHgsCiAgICAgfQog
ICAgIC8vIEVsc2UgZm9yIGN5Y2xpYyByZWZyZXNoIG1vZGUgdXBkYXRlIHRoZSBzZWdtZW50IG1h
cCwgc2V0IHRoZSBzZWdtZW50IGlkCiAgICAgLy8gYW5kIHRoZW4gdXBkYXRlIHRoZSBxdWFudGl6
ZXIuCi0gICAgaWYgKGNwaS0+b3hjZi5hcV9tb2RlID09IENZQ0xJQ19SRUZSRVNIX0FRICYmCi0g
ICAgICAgIGNwaS0+Y3ljbGljX3JlZnJlc2gtPmNvbnRlbnRfbW9kZSkgeworICAgIGlmIChjcGkt
Pm94Y2YuYXFfbW9kZSA9PSBDWUNMSUNfUkVGUkVTSF9BUSkgewogICAgICAgdnA5X2N5Y2xpY19y
ZWZyZXNoX3VwZGF0ZV9zZWdtZW50KGNwaSwgeGQtPm1pWzBdLCBtaV9yb3csIG1pX2NvbCwgYnNp
emUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5yYXRlLCBj
dHgtPmRpc3QsIHgtPnNraXAsIHApOwogICAgIH0KQEAgLTE4NjMsOCArMTg5Myw4IEBAIHN0YXRp
YyB2b2lkIHVwZGF0ZV9zdGF0ZShWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwgUElDS19N
T0RFX0NPTlRFWFQgKmN0eCwKICAgICAgIHZwOV91cGRhdGVfbXZfY291bnQodGQpOwogCiAgICAg
ICBpZiAoY20tPmludGVycF9maWx0ZXIgPT0gU1dJVENIQUJMRSkgewotICAgICAgICBjb25zdCBp
bnQgY3R4X2ludGVycCA9IGdldF9wcmVkX2NvbnRleHRfc3dpdGNoYWJsZV9pbnRlcnAoeGQpOwot
ICAgICAgICArK3RkLT5jb3VudHMtPnN3aXRjaGFibGVfaW50ZXJwW2N0eF9pbnRlcnBdW3hkbWkt
PmludGVycF9maWx0ZXJdOworICAgICAgICBjb25zdCBpbnQgY3R4ID0gZ2V0X3ByZWRfY29udGV4
dF9zd2l0Y2hhYmxlX2ludGVycCh4ZCk7CisgICAgICAgICsrdGQtPmNvdW50cy0+c3dpdGNoYWJs
ZV9pbnRlcnBbY3R4XVt4ZG1pLT5pbnRlcnBfZmlsdGVyXTsKICAgICAgIH0KICAgICB9CiAKQEAg
LTE5MDUsMTcgKzE5MzUsMTMgQEAgdm9pZCB2cDlfc2V0dXBfc3JjX3BsYW5lcyhNQUNST0JMT0NL
ICp4LCBjb25zdCBZVjEyX0JVRkZFUl9DT05GSUcgKnNyYywKIH0KIAogc3RhdGljIHZvaWQgc2V0
X21vZGVfaW5mb19zZWdfc2tpcChNQUNST0JMT0NLICp4LCBUWF9NT0RFIHR4X21vZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVEVSUF9GSUxURVIgaW50ZXJwX2ZpbHRl
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkRfQ09TVCAqcmRfY29zdCwg
QkxPQ0tfU0laRSBic2l6ZSkgewogICBNQUNST0JMT0NLRCAqY29uc3QgeGQgPSAmeC0+ZV9tYmQ7
CiAgIE1PREVfSU5GTyAqY29uc3QgbWkgPSB4ZC0+bWlbMF07CiAgIElOVEVSUF9GSUxURVIgZmls
dGVyX3JlZjsKIAogICBmaWx0ZXJfcmVmID0gZ2V0X3ByZWRfY29udGV4dF9zd2l0Y2hhYmxlX2lu
dGVycCh4ZCk7Ci0gIGlmIChpbnRlcnBfZmlsdGVyID09IEJJTElORUFSKQotICAgIGZpbHRlcl9y
ZWYgPSBCSUxJTkVBUjsKLSAgZWxzZSBpZiAoZmlsdGVyX3JlZiA9PSBTV0lUQ0hBQkxFX0ZJTFRF
UlMpCi0gICAgZmlsdGVyX3JlZiA9IEVJR0hUVEFQOworICBpZiAoZmlsdGVyX3JlZiA9PSBTV0lU
Q0hBQkxFX0ZJTFRFUlMpIGZpbHRlcl9yZWYgPSBFSUdIVFRBUDsKIAogICBtaS0+c2JfdHlwZSA9
IGJzaXplOwogICBtaS0+bW9kZSA9IFpFUk9NVjsKQEAgLTE5MjQsNyArMTk1MCw3IEBAIHN0YXRp
YyB2b2lkIHNldF9tb2RlX2luZm9fc2VnX3NraXAoTUFDUk9CTE9DSyAqeCwgVFhfTU9ERSB0eF9t
b2RlLAogICBtaS0+c2tpcCA9IDE7CiAgIG1pLT51dl9tb2RlID0gRENfUFJFRDsKICAgbWktPnJl
Zl9mcmFtZVswXSA9IExBU1RfRlJBTUU7Ci0gIG1pLT5yZWZfZnJhbWVbMV0gPSBOT19SRUZfRlJB
TUU7CisgIG1pLT5yZWZfZnJhbWVbMV0gPSBOT05FOwogICBtaS0+bXZbMF0uYXNfaW50ID0gMDsK
ICAgbWktPmludGVycF9maWx0ZXIgPSBmaWx0ZXJfcmVmOwogCkBAIC0xOTgwLDkgKzIwMDYsNiBA
QCBzdGF0aWMgdm9pZCByZF9waWNrX3NiX21vZGVzKFZQOV9DT01QICpjcGksIFRpbGVEYXRhRW5j
ICp0aWxlX2RhdGEsCiAgIGludDY0X3QgYmVzdF9yZCA9IElOVDY0X01BWDsKIAogICB2cHhfY2xl
YXJfc3lzdGVtX3N0YXRlKCk7Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwot
ICBzdGFydF90aW1pbmcoY3BpLCByZF9waWNrX3NiX21vZGVzX3RpbWUpOwotI2VuZGlmCiAKICAg
Ly8gVXNlIHRoZSBsb3dlciBwcmVjaXNpb24sIGJ1dCBmYXN0ZXIsIDMyeDMyIGZkY3QgZm9yIG1v
ZGUgc2VsZWN0aW9uLgogICB4LT51c2VfbHAzMngzMmZkY3QgPSAxOwpAQCAtMjAyMSwyMCArMjA0
NCwyMCBAQCBzdGF0aWMgdm9pZCByZF9waWNrX3NiX21vZGVzKFZQOV9DT01QICpjcGksIFRpbGVE
YXRhRW5jICp0aWxlX2RhdGEsCiAgIC8vIFNhdmUgcmRtdWx0IGJlZm9yZSBpdCBtaWdodCBiZSBj
aGFuZ2VkLCBzbyBpdCBjYW4gYmUgcmVzdG9yZWQgbGF0ZXIuCiAgIG9yaWdfcmRtdWx0ID0geC0+
cmRtdWx0OwogCi0gIGlmICgoY3BpLT5zZi50eF9kb21haW5fdGhyZXNoID4gMC4wKSB8fAotICAg
ICAgKGNwaS0+c2YudHJlbGxpc19vcHRfdHhfcmQudGhyZXNoID4gMC4wKSkgeworICBpZiAoKGNw
aS0+c2YudHhfZG9tYWluX3RocmVzaCA+IDAuMCkgfHwgKGNwaS0+c2YucXVhbnRfb3B0X3RocmVz
aCA+IDAuMCkpIHsKICAgICBkb3VibGUgbG9ndmFyID0gdnA5X2xvZ19ibG9ja192YXIoY3BpLCB4
LCBic2l6ZSk7Ci0gICAgLy8gQ2hlY2sgYmxvY2sgY29tcGxleGl0eSBhcyBwYXJ0IG9mIGRlY2lz
aW9uIG9uIHVzaW5nIHBpeGVsIG9yIHRyYW5zZm9ybQorICAgIC8vIENoZWNrIGJsb2NrIGNvbXBs
ZXhpdHkgYXMgcGFydCBvZiBkZXNjaXNpb24gb24gdXNpbmcgcGl4ZWwgb3IgdHJhbnNmb3JtCiAg
ICAgLy8gZG9tYWluIGRpc3RvcnRpb24gaW4gcmQgdGVzdHMuCiAgICAgeC0+YmxvY2tfdHhfZG9t
YWluID0gY3BpLT5zZi5hbGxvd190eGZtX2RvbWFpbl9kaXN0b3J0aW9uICYmCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGxvZ3ZhciA+PSBjcGktPnNmLnR4X2RvbWFpbl90aHJlc2gpOwogCi0g
ICAgLy8gU3RvcmUgYmxvY2sgY29tcGxleGl0eSB0byBkZWNpZGUgb24gdXNpbmcgcXVhbnRpemVk
IGNvZWZmaWNpZW50Ci0gICAgLy8gb3B0aW1pemF0aW9uIGluc2lkZSB0aGUgcmQgbG9vcC4KLSAg
ICB4LT5sb2dfYmxvY2tfc3JjX3ZhciA9IGxvZ3ZhcjsKKyAgICAvLyBDaGVjayBibG9jayBjb21w
bGV4aXR5IGFzIHBhcnQgb2YgZGVzY2lzaW9uIG9uIHVzaW5nIHF1YW50aXplZAorICAgIC8vIGNv
ZWZmaWNpZW50IG9wdGltaXNhdGlvbiBpbnNpZGUgdGhlIHJkIGxvb3AuCisgICAgeC0+YmxvY2tf
cWNvZWZmX29wdCA9CisgICAgICAgIGNwaS0+c2YuYWxsb3dfcXVhbnRfY29lZmZfb3B0ICYmIChs
b2d2YXIgPD0gY3BpLT5zZi5xdWFudF9vcHRfdGhyZXNoKTsKICAgfSBlbHNlIHsKICAgICB4LT5i
bG9ja190eF9kb21haW4gPSBjcGktPnNmLmFsbG93X3R4Zm1fZG9tYWluX2Rpc3RvcnRpb247Ci0g
ICAgeC0+bG9nX2Jsb2NrX3NyY192YXIgPSAwLjA7CisgICAgeC0+YmxvY2tfcWNvZWZmX29wdCA9
IGNwaS0+c2YuYWxsb3dfcXVhbnRfY29lZmZfb3B0OwogICB9CiAKICAgc2V0X3NlZ21lbnRfaW5k
ZXgoY3BpLCB4LCBtaV9yb3csIG1pX2NvbCwgYnNpemUsIDApOwpAQCAtMjA1MCwyNyArMjA3Mywx
NSBAQCBzdGF0aWMgdm9pZCByZF9waWNrX3NiX21vZGVzKFZQOV9DT01QICpjcGksIFRpbGVEYXRh
RW5jICp0aWxlX2RhdGEsCiAgICAgdnA5X3JkX3BpY2tfaW50cmFfbW9kZV9zYihjcGksIHgsIHJk
X2Nvc3QsIGJzaXplLCBjdHgsIGJlc3RfcmQpOwogICB9IGVsc2UgewogICAgIGlmIChic2l6ZSA+
PSBCTE9DS184WDgpIHsKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0gICAg
ICBzdGFydF90aW1pbmcoY3BpLCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3NiX3RpbWUpOwotI2Vu
ZGlmCiAgICAgICBpZiAoc2VnZmVhdHVyZV9hY3RpdmUoJmNtLT5zZWcsIG1pLT5zZWdtZW50X2lk
LCBTRUdfTFZMX1NLSVApKQogICAgICAgICB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3NiX3NlZ19z
a2lwKGNwaSwgdGlsZV9kYXRhLCB4LCByZF9jb3N0LCBic2l6ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgsIGJlc3RfcmQpOwogICAgICAgZWxzZQogICAg
ICAgICB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3NiKGNwaSwgdGlsZV9kYXRhLCB4LCBtaV9yb3cs
IG1pX2NvbCwgcmRfY29zdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBic2l6
ZSwgY3R4LCBiZXN0X3JkKTsKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0g
ICAgICBlbmRfdGltaW5nKGNwaSwgdnA5X3JkX3BpY2tfaW50ZXJfbW9kZV9zYl90aW1lKTsKLSNl
bmRpZgogICAgIH0gZWxzZSB7Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwot
ICAgICAgc3RhcnRfdGltaW5nKGNwaSwgdnA5X3JkX3BpY2tfaW50ZXJfbW9kZV9zdWI4eDhfdGlt
ZSk7Ci0jZW5kaWYKICAgICAgIHZwOV9yZF9waWNrX2ludGVyX21vZGVfc3ViOHg4KGNwaSwgdGls
ZV9kYXRhLCB4LCBtaV9yb3csIG1pX2NvbCwgcmRfY29zdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJzaXplLCBjdHgsIGJlc3RfcmQpOwotI2lmIENPTkZJR19DT0xMRUNU
X0NPTVBPTkVOVF9USU1JTkcKLSAgICAgIGVuZF90aW1pbmcoY3BpLCB2cDlfcmRfcGlja19pbnRl
cl9tb2RlX3N1Yjh4OF90aW1lKTsKLSNlbmRpZgogICAgIH0KICAgfQogCkBAIC0yMDkzLDkgKzIx
MDQsNiBAQCBzdGF0aWMgdm9pZCByZF9waWNrX3NiX21vZGVzKFZQOV9DT01QICpjcGksIFRpbGVE
YXRhRW5jICp0aWxlX2RhdGEsCiAKICAgY3R4LT5yYXRlID0gcmRfY29zdC0+cmF0ZTsKICAgY3R4
LT5kaXN0ID0gcmRfY29zdC0+ZGlzdDsKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElN
SU5HCi0gIGVuZF90aW1pbmcoY3BpLCByZF9waWNrX3NiX21vZGVzX3RpbWUpOwotI2VuZGlmCiB9
CiAjZW5kaWYgIC8vICFDT05GSUdfUkVBTFRJTUVfT05MWQogCkBAIC0yNDMyLDE2ICsyNDQwLDE2
IEBAIHN0YXRpYyB2b2lkIHNldF9zb3VyY2VfdmFyX2Jhc2VkX3BhcnRpdGlvbihWUDlfQ09NUCAq
Y3BpLAogICAgICAgKHJvdzh4OF9yZW1haW5pbmcgPj0gTUlfQkxPQ0tfU0laRSkpIHsKICAgICBp
bnQgaSwgajsKICAgICBpbnQgaW5kZXg7Ci0gICAgRGlmZiBkMzJbNF07CisgICAgZGlmZiBkMzJb
NF07CiAgICAgY29uc3QgaW50IG9mZnNldCA9IChtaV9yb3cgPj4gMSkgKiBjbS0+bWJfY29scyAr
IChtaV9jb2wgPj4gMSk7CiAgICAgaW50IGlzX2xhcmdlcl9iZXR0ZXIgPSAwOwogICAgIGludCB1
c2UzMngzMiA9IDA7CiAgICAgdW5zaWduZWQgaW50IHRociA9IGNwaS0+c291cmNlX3Zhcl90aHJl
c2g7CiAKLSAgICBtZW1zZXQoZDMyLCAwLCBzaXplb2YoZDMyKSk7CisgICAgbWVtc2V0KGQzMiwg
MCwgNCAqIHNpemVvZihkaWZmKSk7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7Ci0g
ICAgICBEaWZmICpkMTZbNF07CisgICAgICBkaWZmICpkMTZbNF07CiAKICAgICAgIGZvciAoaiA9
IDA7IGogPCA0OyBqKyspIHsKICAgICAgICAgaW50IGJfbWlfcm93ID0gY29vcmRfbG9va3VwW2kg
KiA0ICsgal0ucm93OwpAQCAtMjUxNywxMSArMjUyNSw5IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9z
dGF0ZV9ydChWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKICAgKih4ZC0+bWlbMF0pID0g
Y3R4LT5taWM7CiAgICooeC0+bWJtaV9leHQpID0gY3R4LT5tYm1pX2V4dDsKIAotICBpZiAoc2Vn
LT5lbmFibGVkICYmIChjcGktPm94Y2YuYXFfbW9kZSAhPSBOT19BUSB8fCBjcGktPnJvaS5lbmFi
bGVkIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgIGNwaS0+YWN0aXZlX21hcC5lbmFibGVkKSkg
eworICBpZiAoc2VnLT5lbmFibGVkICYmIChjcGktPm94Y2YuYXFfbW9kZSAhPSBOT19BUSB8fCBj
cGktPnJvaS5lbmFibGVkKSkgewogICAgIC8vIFNldHRpbmcgc2VnbWVudGF0aW9uIG1hcCBmb3Ig
Y3ljbGljX3JlZnJlc2guCi0gICAgaWYgKGNwaS0+b3hjZi5hcV9tb2RlID09IENZQ0xJQ19SRUZS
RVNIX0FRICYmCi0gICAgICAgIGNwaS0+Y3ljbGljX3JlZnJlc2gtPmNvbnRlbnRfbW9kZSkgewor
ICAgIGlmIChjcGktPm94Y2YuYXFfbW9kZSA9PSBDWUNMSUNfUkVGUkVTSF9BUSkgewogICAgICAg
dnA5X2N5Y2xpY19yZWZyZXNoX3VwZGF0ZV9zZWdtZW50KGNwaSwgbWksIG1pX3JvdywgbWlfY29s
LCBic2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnJh
dGUsIGN0eC0+ZGlzdCwgeC0+c2tpcCwgcCk7CiAgICAgfSBlbHNlIHsKQEAgLTI3NDgsMTAgKzI3
NTQsMTAgQEAgc3RhdGljIHZvaWQgcmRfdXNlX3BhcnRpdGlvbihWUDlfQ09NUCAqY3BpLCBUaHJl
YWREYXRhICp0ZCwKICAgICAgIGlmIChsYXN0X3BhcnRfcmRjLnJhdGUgIT0gSU5UX01BWCAmJiBi
c2l6ZSA+PSBCTE9DS184WDggJiYKICAgICAgICAgICBtaV9yb3cgKyAobWlfc3RlcCA+PiAxKSA8
IGNtLT5taV9yb3dzKSB7CiAgICAgICAgIFJEX0NPU1QgdG1wX3JkYzsKLSAgICAgICAgUElDS19N
T0RFX0NPTlRFWFQgKmhjdHggPSAmcGNfdHJlZS0+aG9yaXpvbnRhbFswXTsKKyAgICAgICAgUElD
S19NT0RFX0NPTlRFWFQgKmN0eCA9ICZwY190cmVlLT5ob3Jpem9udGFsWzBdOwogICAgICAgICB2
cDlfcmRfY29zdF9pbml0KCZ0bXBfcmRjKTsKLSAgICAgICAgdXBkYXRlX3N0YXRlKGNwaSwgdGQs
IGhjdHgsIG1pX3JvdywgbWlfY29sLCBzdWJzaXplLCAwKTsKLSAgICAgICAgZW5jb2RlX3N1cGVy
YmxvY2soY3BpLCB0ZCwgdHAsIDAsIG1pX3JvdywgbWlfY29sLCBzdWJzaXplLCBoY3R4KTsKKyAg
ICAgICAgdXBkYXRlX3N0YXRlKGNwaSwgdGQsIGN0eCwgbWlfcm93LCBtaV9jb2wsIHN1YnNpemUs
IDApOworICAgICAgICBlbmNvZGVfc3VwZXJibG9jayhjcGksIHRkLCB0cCwgMCwgbWlfcm93LCBt
aV9jb2wsIHN1YnNpemUsIGN0eCk7CiAgICAgICAgIHBjX3RyZWUtPmhvcml6b250YWxbMV0uc2tp
cF9yZWZfZnJhbWVfbWFzayA9IDA7CiAgICAgICAgIHJkX3BpY2tfc2JfbW9kZXMoY3BpLCB0aWxl
X2RhdGEsIHgsIG1pX3JvdyArIChtaV9zdGVwID4+IDEpLCBtaV9jb2wsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnRtcF9yZGMsIHN1YnNpemUsICZwY190cmVlLT5ob3Jpem9udGFsWzFdLCBJ
TlRfTUFYLApAQCAtMjc3MiwxMCArMjc3OCwxMCBAQCBzdGF0aWMgdm9pZCByZF91c2VfcGFydGl0
aW9uKFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogICAgICAgaWYgKGxhc3RfcGFydF9y
ZGMucmF0ZSAhPSBJTlRfTUFYICYmIGJzaXplID49IEJMT0NLXzhYOCAmJgogICAgICAgICAgIG1p
X2NvbCArIChtaV9zdGVwID4+IDEpIDwgY20tPm1pX2NvbHMpIHsKICAgICAgICAgUkRfQ09TVCB0
bXBfcmRjOwotICAgICAgICBQSUNLX01PREVfQ09OVEVYVCAqdmN0eCA9ICZwY190cmVlLT52ZXJ0
aWNhbFswXTsKKyAgICAgICAgUElDS19NT0RFX0NPTlRFWFQgKmN0eCA9ICZwY190cmVlLT52ZXJ0
aWNhbFswXTsKICAgICAgICAgdnA5X3JkX2Nvc3RfaW5pdCgmdG1wX3JkYyk7Ci0gICAgICAgIHVw
ZGF0ZV9zdGF0ZShjcGksIHRkLCB2Y3R4LCBtaV9yb3csIG1pX2NvbCwgc3Vic2l6ZSwgMCk7Ci0g
ICAgICAgIGVuY29kZV9zdXBlcmJsb2NrKGNwaSwgdGQsIHRwLCAwLCBtaV9yb3csIG1pX2NvbCwg
c3Vic2l6ZSwgdmN0eCk7CisgICAgICAgIHVwZGF0ZV9zdGF0ZShjcGksIHRkLCBjdHgsIG1pX3Jv
dywgbWlfY29sLCBzdWJzaXplLCAwKTsKKyAgICAgICAgZW5jb2RlX3N1cGVyYmxvY2soY3BpLCB0
ZCwgdHAsIDAsIG1pX3JvdywgbWlfY29sLCBzdWJzaXplLCBjdHgpOwogICAgICAgICBwY190cmVl
LT52ZXJ0aWNhbFtic2l6ZSA+IEJMT0NLXzhYOF0uc2tpcF9yZWZfZnJhbWVfbWFzayA9IDA7CiAg
ICAgICAgIHJkX3BpY2tfc2JfbW9kZXMoCiAgICAgICAgICAgICBjcGksIHRpbGVfZGF0YSwgeCwg
bWlfcm93LCBtaV9jb2wgKyAobWlfc3RlcCA+PiAxKSwgJnRtcF9yZGMsCkBAIC0yODQ3LDYgKzI4
NTMsOCBAQCBzdGF0aWMgdm9pZCByZF91c2VfcGFydGl0aW9uKFZQOV9DT01QICpjcGksIFRocmVh
ZERhdGEgKnRkLAogICAgICAgaW50IHhfaWR4ID0gKGkgJiAxKSAqIChtaV9zdGVwID4+IDEpOwog
ICAgICAgaW50IHlfaWR4ID0gKGkgPj4gMSkgKiAobWlfc3RlcCA+PiAxKTsKICAgICAgIFJEX0NP
U1QgdG1wX3JkYzsKKyAgICAgIEVOVFJPUFlfQ09OVEVYVCBsWzE2ICogTUFYX01CX1BMQU5FXSwg
YVsxNiAqIE1BWF9NQl9QTEFORV07CisgICAgICBQQVJUSVRJT05fQ09OVEVYVCBzbFs4XSwgc2Fb
OF07CiAKICAgICAgIGlmICgobWlfcm93ICsgeV9pZHggPj0gY20tPm1pX3Jvd3MpIHx8IChtaV9j
b2wgKyB4X2lkeCA+PSBjbS0+bWlfY29scykpCiAgICAgICAgIGNvbnRpbnVlOwpAQCAtMzA5OSw2
ICszMTA3LDU0IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBsb2FkX3ByZWRfbXYoTUFDUk9CTE9DSyAq
eCwgUElDS19NT0RFX0NPTlRFWFQgKmN0eCkgewogICBtZW1jcHkoeC0+cHJlZF9tdiwgY3R4LT5w
cmVkX212LCBzaXplb2YoeC0+cHJlZF9tdikpOwogfQogCisjaWYgQ09ORklHX0ZQX01CX1NUQVRT
Citjb25zdCBpbnQgbnVtXzE2eDE2X2Jsb2Nrc193aWRlX2xvb2t1cFtCTE9DS19TSVpFU10gPSB7
IDEsIDEsIDEsIDEsIDEsIDEsIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDEsIDIsIDIsIDIsIDQsIDQgfTsKK2NvbnN0IGludCBudW1f
MTZ4MTZfYmxvY2tzX2hpZ2hfbG9va3VwW0JMT0NLX1NJWkVTXSA9IHsgMSwgMSwgMSwgMSwgMSwg
MSwgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMiwgMSwgMiwgNCwgMiwgNCB9OworY29uc3QgaW50IHFpbmRleF9za2lwX3RocmVzaG9s
ZF9sb29rdXBbQkxPQ0tfU0laRVNdID0geyAwLCAgIDEwLCAgMTAsIDMwLCA0MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAsICA2MCwg
IDgwLCA4MCwgOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEwMCwgMTAwLCAxMjAgfTsKK2NvbnN0IGludCBxaW5kZXhfc3BsaXRfdGhy
ZXNob2xkX2xvb2t1cFtCTE9DS19TSVpFU10gPSB7IDAsICAzLCAgMywgIDcsICAxNSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1LCAz
MCwgNDAsIDQwLCA2MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDgwLCA4MCwgMTIwIH07Citjb25zdCBpbnQgY29tcGxleGl0eV8xNngx
Nl9ibG9ja3NfdGhyZXNob2xkW0JMT0NLX1NJWkVTXSA9IHsgMSwgMSwgMSwgMSwgMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
LCAxLCAxLCAxLCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDQsIDQsIDYgfTsKKwordHlwZWRlZiBlbnVtIHsKKyAgTVZfWkVS
TyA9IDAsCisgIE1WX0xFRlQgPSAxLAorICBNVl9VUCA9IDIsCisgIE1WX1JJR0hUID0gMywKKyAg
TVZfRE9XTiA9IDQsCisgIE1WX0lOVkFMSUQKK30gTU9USU9OX0RJUkVDVElPTjsKKworc3RhdGlj
IElOTElORSBNT1RJT05fRElSRUNUSU9OIGdldF9tb3Rpb25fZGlyZWN0aW9uX2ZwKHVpbnQ4X3Qg
ZnBfYnl0ZSkgeworICBpZiAoZnBfYnl0ZSAmIEZQTUJfTU9USU9OX1pFUk9fTUFTSykgeworICAg
IHJldHVybiBNVl9aRVJPOworICB9IGVsc2UgaWYgKGZwX2J5dGUgJiBGUE1CX01PVElPTl9MRUZU
X01BU0spIHsKKyAgICByZXR1cm4gTVZfTEVGVDsKKyAgfSBlbHNlIGlmIChmcF9ieXRlICYgRlBN
Ql9NT1RJT05fUklHSFRfTUFTSykgeworICAgIHJldHVybiBNVl9SSUdIVDsKKyAgfSBlbHNlIGlm
IChmcF9ieXRlICYgRlBNQl9NT1RJT05fVVBfTUFTSykgeworICAgIHJldHVybiBNVl9VUDsKKyAg
fSBlbHNlIHsKKyAgICByZXR1cm4gTVZfRE9XTjsKKyAgfQorfQorCitzdGF0aWMgSU5MSU5FIGlu
dCBnZXRfbW90aW9uX2luY29uc2lzdGVuY3koTU9USU9OX0RJUkVDVElPTiB0aGlzX212LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1PVElPTl9ESVJFQ1RJT04g
dGhhdF9tdikgeworICBpZiAodGhpc19tdiA9PSB0aGF0X212KSB7CisgICAgcmV0dXJuIDA7Cisg
IH0gZWxzZSB7CisgICAgcmV0dXJuIGFicyh0aGlzX212IC0gdGhhdF9tdikgPT0gMiA/IDIgOiAx
OworICB9Cit9CisjZW5kaWYKKwogLy8gQ2FsY3VsYXRlIHByZWRpY3Rpb24gYmFzZWQgb24gdGhl
IGdpdmVuIGlucHV0IGZlYXR1cmVzIGFuZCBuZXVyYWwgbmV0IGNvbmZpZy4KIC8vIEFzc3VtZSB0
aGVyZSBhcmUgbm8gbW9yZSB0aGFuIE5OX01BWF9OT0RFU19QRVJfTEFZRVIgbm9kZXMgaW4gZWFj
aCBoaWRkZW4KIC8vIGxheWVyLgpAQCAtMzQyOSw4ICszNDg1LDcgQEAgc3RhdGljIHZvaWQgc2lt
cGxlX21vdGlvbl9zZWFyY2goY29uc3QgVlA5X0NPTVAgKmNvbnN0IGNwaSwgTUFDUk9CTE9DSyAq
Y29uc3QgeCwKICAgY29uc3QgVlA5X0NPTU1PTiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247CiAg
IE1BQ1JPQkxPQ0tEICpjb25zdCB4ZCA9ICZ4LT5lX21iZDsKICAgTU9ERV9JTkZPICpjb25zdCBt
aSA9IHhkLT5taVswXTsKLSAgWVYxMl9CVUZGRVJfQ09ORklHICp5djEyOwotICBZVjEyX0JVRkZF
Ul9DT05GSUcgKnNjYWxlZF9yZWZfZnJhbWUgPSB2cDlfZ2V0X3NjYWxlZF9yZWZfZnJhbWUoY3Bp
LCByZWYpOworICBjb25zdCBZVjEyX0JVRkZFUl9DT05GSUcgKmNvbnN0IHl2MTIgPSBnZXRfcmVm
X2ZyYW1lX2J1ZmZlcihjcGksIHJlZik7CiAgIGNvbnN0IGludCBzdGVwX3BhcmFtID0gMTsKICAg
Y29uc3QgTXZMaW1pdHMgdG1wX212X2xpbWl0cyA9IHgtPm12X2xpbWl0czsKICAgY29uc3QgU0VB
UkNIX01FVEhPRFMgc2VhcmNoX21ldGhvZCA9IE5TVEVQOwpAQCAtMzQzOSwxNyArMzQ5NCwxMiBA
QCBzdGF0aWMgdm9pZCBzaW1wbGVfbW90aW9uX3NlYXJjaChjb25zdCBWUDlfQ09NUCAqY29uc3Qg
Y3BpLCBNQUNST0JMT0NLICpjb25zdCB4LAogICBNViBiZXN0X212ID0geyAwLCAwIH07CiAgIGlu
dCBjb3N0X2xpc3RbNV07CiAKLSAgaWYgKHNjYWxlZF9yZWZfZnJhbWUpCi0gICAgeXYxMiA9IHNj
YWxlZF9yZWZfZnJhbWU7Ci0gIGVsc2UKLSAgICB5djEyID0gZ2V0X3JlZl9mcmFtZV9idWZmZXIo
Y3BpLCByZWYpOwotCiAgIGFzc2VydCh5djEyICE9IE5VTEwpOwogICBpZiAoIXl2MTIpIHJldHVy
bjsKICAgdnA5X3NldHVwX3ByZV9wbGFuZXMoeGQsIDAsIHl2MTIsIG1pX3JvdywgbWlfY29sLAog
ICAgICAgICAgICAgICAgICAgICAgICAmY20tPmZyYW1lX3JlZnNbcmVmIC0gMV0uc2YpOwogICBt
aS0+cmVmX2ZyYW1lWzBdID0gcmVmOwotICBtaS0+cmVmX2ZyYW1lWzFdID0gTk9fUkVGX0ZSQU1F
OworICBtaS0+cmVmX2ZyYW1lWzFdID0gTk9ORTsKICAgbWktPnNiX3R5cGUgPSBic2l6ZTsKICAg
dnA5X3NldF9tdl9zZWFyY2hfcmFuZ2UoJngtPm12X2xpbWl0cywgJnJlZl9tdik7CiAgIHZwOV9m
dWxsX3BpeGVsX3NlYXJjaChjcGksIHgsIGJzaXplLCAmcmVmX212X2Z1bGwsIHN0ZXBfcGFyYW0s
IHNlYXJjaF9tZXRob2QsCkBAIC0zNDcwLDE1ICszNTIwLDE1IEBAIHN0YXRpYyB2b2lkIHNpbXBs
ZV9tb3Rpb25fc2VhcmNoKGNvbnN0IFZQOV9DT01QICpjb25zdCBjcGksIE1BQ1JPQkxPQ0sgKmNv
bnN0IHgsCiAvLyBGZWF0dXJlcyB1c2VkOiBRUDsgc3BhdGlhbCBibG9jayBzaXplIGNvbnRleHRz
OyB2YXJpYW5jZSBvZiBwcmVkaWN0aW9uCiAvLyByZXNpZHVlIGFmdGVyIHNpbXBsZV9tb3Rpb25f
c2VhcmNoLgogI2RlZmluZSBGRUFUVVJFUyAxMgotc3RhdGljIHZvaWQgbWxfcHJlZGljdF92YXJf
cmRfcGFydGl0aW9uaW5nKGNvbnN0IFZQOV9DT01QICpjb25zdCBjcGksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFDUk9CTE9DSyAqY29uc3QgeCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ19UUkVFICpjb25zdCBwY190
cmVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJ
WkUgYnNpemUsIGludCBtaV9yb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IG1pX2NvbCwgaW50ICpub25lLCBpbnQgKnNwbGl0KSB7CitzdGF0aWMgdm9p
ZCBtbF9wcmVkaWN0X3Zhcl9yZF9wYXJpdGlvbmluZyhjb25zdCBWUDlfQ09NUCAqY29uc3QgY3Bp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFDUk9CTE9DSyAq
Y29uc3QgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDX1RS
RUUgKmNvbnN0IHBjX3RyZWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBCTE9DS19TSVpFIGJzaXplLCBpbnQgbWlfcm93LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IG1pX2NvbCwgaW50ICpub25lLCBpbnQgKnNwbGl0KSB7
CiAgIGNvbnN0IFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNwaS0+Y29tbW9uOwogICBjb25zdCBO
Tl9DT05GSUcgKm5uX2NvbmZpZyA9IE5VTEw7Ci0gIGNvbnN0IE1BQ1JPQkxPQ0tEICpjb25zdCB4
ZCA9ICZ4LT5lX21iZDsKICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAorICBNQUNST0JMT0NL
RCAqeGQgPSAmeC0+ZV9tYmQ7CiAgIERFQ0xBUkVfQUxJR05FRCgxNiwgdWludDhfdCwgcHJlZF9i
dWZmZXJbNjQgKiA2NCAqIDJdKTsKICAgdWludDhfdCAqY29uc3QgcHJlZF9idWYgPSAoeGQtPmN1
cl9idWYtPmZsYWdzICYgWVYxMl9GTEFHX0hJR0hCSVRERVBUSCkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPyAoQ09OVkVSVF9UT19CWVRFUFRSKHByZWRfYnVmZmVyKSkKQEAgLTM1
NjEsNiArMzYxMSw3IEBAIHN0YXRpYyB2b2lkIG1sX3ByZWRpY3RfdmFyX3JkX3BhcnRpdGlvbmlu
Zyhjb25zdCBWUDlfQ09NUCAqY29uc3QgY3BpLAogICAgICAgY29uc3QgdW5zaWduZWQgaW50IHZh
ciA9CiAgICAgICAgICAgY3BpLT5mbl9wdHJbYnNpemVdLnZmKHNyYywgc3JjX3N0cmlkZSwgcHJl
ZCwgcHJlZF9zdHJpZGUsICZzc2UpOwogICAgICAgY29uc3QgZmxvYXQgZmFjdG9yID0gKHZhciA9
PSAwKSA/IDEuMGYgOiAoMS4wZiAvIChmbG9hdCl2YXIpOworICAgICAgY29uc3QgTUFDUk9CTE9D
S0QgKmNvbnN0IHhkID0gJngtPmVfbWJkOwogICAgICAgY29uc3QgaW50IGhhc19hYm92ZSA9ICEh
eGQtPmFib3ZlX21pOwogICAgICAgY29uc3QgaW50IGhhc19sZWZ0ID0gISF4ZC0+bGVmdF9taTsK
ICAgICAgIGNvbnN0IEJMT0NLX1NJWkUgYWJvdmVfYnNpemUgPSBoYXNfYWJvdmUgPyB4ZC0+YWJv
dmVfbWktPnNiX3R5cGUgOiBic2l6ZTsKQEAgLTM3MTAsNiArMzc2MSw3IEBAIHN0YXRpYyBpbnQg
Z2V0X3JkbXVsdF9kZWx0YShWUDlfQ09NUCAqY3BpLCBCTE9DS19TSVpFIGJzaXplLCBpbnQgbWlf
cm93LAogICBpbnQgcm93LCBjb2w7CiAKICAgaW50IGRyID0gMDsKKyAgaW50IGNvdW50ID0gMDsK
ICAgZG91YmxlIHIwLCByaywgYmV0YTsKIAogICBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lOwpAQCAt
MzczMyw2ICszNzg1LDggQEAgc3RhdGljIGludCBnZXRfcmRtdWx0X2RlbHRhKFZQOV9DT01QICpj
cGksIEJMT0NLX1NJWkUgYnNpemUsIGludCBtaV9yb3csCiAKICAgICAgIGludHJhX2Nvc3QgKz0g
dGhpc19zdGF0cy0+aW50cmFfY29zdDsKICAgICAgIG1jX2RlcF9jb3N0ICs9IHRoaXNfc3RhdHMt
Pm1jX2RlcF9jb3N0OworCisgICAgICArK2NvdW50OwogICAgIH0KICAgfQogCkBAIC0zNzg5LDcg
KzM4NDMsNyBAQCBzdGF0aWMgdm9pZCBhc3NpZ25fbW90aW9uX3ZlY3Rvcl9pbmZvKGNvbnN0IGlu
dCBibG9ja193aWR0aF80eDQsCiAgICAgICBjb25zdCBpbnQgY29sXzR4NCA9IGNvbF9zdGFydF80
eDQgKyBqOwogICAgICAgY29uc3QgaW50IHVuaXRfaW5kZXggPSByb3dfNHg0ICogbnVtX3VuaXRf
Y29scyArIGNvbF80eDQ7CiAgICAgICBpZiAocm93XzR4NCA+PSBudW1fdW5pdF9yb3dzIHx8IGNv
bF80eDQgPj0gbnVtX3VuaXRfY29scykgY29udGludWU7Ci0gICAgICBpZiAoc291cmNlX3JlZl9m
cmFtZVsxXSA9PSBOT19SRUZfRlJBTUUpIHsKKyAgICAgIGlmIChzb3VyY2VfcmVmX2ZyYW1lWzFd
ID09IE5PTkUpIHsKICAgICAgICAgYXNzZXJ0KHNvdXJjZV9tdlsxXS0+cm93ID09IDAgJiYgc291
cmNlX212WzFdLT5jb2wgPT0gMCk7CiAgICAgICB9CiAgICAgICBtb3Rpb25fdmVjdG9yX2luZm9b
dW5pdF9pbmRleF0ucmVmX2ZyYW1lWzBdID0gc291cmNlX3JlZl9mcmFtZVswXTsKQEAgLTM5OTgs
NiArNDA1MiwxMSBAQCBzdGF0aWMgaW50IHJkX3BpY2tfcGFydGl0aW9uKFZQOV9DT01QICpjcGks
IFRocmVhZERhdGEgKnRkLAogICBCTE9DS19TSVpFIG1pbl9zaXplID0geC0+bWluX3BhcnRpdGlv
bl9zaXplOwogICBCTE9DS19TSVpFIG1heF9zaXplID0geC0+bWF4X3BhcnRpdGlvbl9zaXplOwog
CisjaWYgQ09ORklHX0ZQX01CX1NUQVRTCisgIHVuc2lnbmVkIGludCBzcmNfZGlmZl92YXIgPSBV
SU5UX01BWDsKKyAgaW50IG5vbmVfY29tcGxleGl0eSA9IDA7CisjZW5kaWYKKwogICBpbnQgcGFy
dGl0aW9uX25vbmVfYWxsb3dlZCA9ICFmb3JjZV9ob3J6X3NwbGl0ICYmICFmb3JjZV92ZXJ0X3Nw
bGl0OwogICBpbnQgcGFydGl0aW9uX2hvcnpfYWxsb3dlZCA9CiAgICAgICAhZm9yY2VfdmVydF9z
cGxpdCAmJiB5c3MgPD0geHNzICYmIGJzaXplID49IEJMT0NLXzhYODsKQEAgLTQwODQsNiArNDE0
Myw2NSBAQCBzdGF0aWMgaW50IHJkX3BpY2tfcGFydGl0aW9uKFZQOV9DT01QICpjcGksIFRocmVh
ZERhdGEgKnRkLAogCiAgIHNhdmVfY29udGV4dCh4LCBtaV9yb3csIG1pX2NvbCwgYSwgbCwgc2Es
IHNsLCBic2l6ZSk7CiAKKyNpZiBDT05GSUdfRlBfTUJfU1RBVFMKKyAgaWYgKGNwaS0+dXNlX2Zw
X21iX3N0YXRzKSB7CisgICAgc2V0X29mZnNldHMoY3BpLCB0aWxlX2luZm8sIHgsIG1pX3Jvdywg
bWlfY29sLCBic2l6ZSk7CisgICAgc3JjX2RpZmZfdmFyID0gZ2V0X3NieV9wZXJwaXhlbF9kaWZm
X3ZhcmlhbmNlKGNwaSwgJngtPnBsYW5lWzBdLnNyYywgbWlfcm93LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaV9jb2wsIGJzaXplKTsKKyAgfQor
I2VuZGlmCisKKyNpZiBDT05GSUdfRlBfTUJfU1RBVFMKKyAgLy8gRGVjaWRlIHdoZXRoZXIgd2Ug
c2hhbGwgc3BsaXQgZGlyZWN0bHkgYW5kIHNraXAgc2VhcmNoaW5nIE5PTkUgYnkgdXNpbmcKKyAg
Ly8gdGhlIGZpcnN0IHBhc3MgYmxvY2sgc3RhdGlzdGljcworICBpZiAoY3BpLT51c2VfZnBfbWJf
c3RhdHMgJiYgYnNpemUgPj0gQkxPQ0tfMzJYMzIgJiYgZG9fc3BsaXQgJiYKKyAgICAgIHBhcnRp
dGlvbl9ub25lX2FsbG93ZWQgJiYgc3JjX2RpZmZfdmFyID4gNCAmJgorICAgICAgY20tPmJhc2Vf
cWluZGV4IDwgcWluZGV4X3NwbGl0X3RocmVzaG9sZF9sb29rdXBbYnNpemVdKSB7CisgICAgaW50
IG1iX3JvdyA9IG1pX3JvdyA+PiAxOworICAgIGludCBtYl9jb2wgPSBtaV9jb2wgPj4gMTsKKyAg
ICBpbnQgbWJfcm93X2VuZCA9CisgICAgICAgIFZQWE1JTihtYl9yb3cgKyBudW1fMTZ4MTZfYmxv
Y2tzX2hpZ2hfbG9va3VwW2JzaXplXSwgY20tPm1iX3Jvd3MpOworICAgIGludCBtYl9jb2xfZW5k
ID0KKyAgICAgICAgVlBYTUlOKG1iX2NvbCArIG51bV8xNngxNl9ibG9ja3Nfd2lkZV9sb29rdXBb
YnNpemVdLCBjbS0+bWJfY29scyk7CisgICAgaW50IHIsIGM7CisKKyAgICAvLyBjb21wdXRlIGEg
Y29tcGxleGl0eSBtZWFzdXJlLCBiYXNpY2FsbHkgbWVhc3VyZSBpbmNvbnNpc3RlbmN5IG9mIG1v
dGlvbgorICAgIC8vIHZlY3RvcnMgb2J0YWluZWQgZnJvbSB0aGUgZmlyc3QgcGFzcyBpbiB0aGUg
Y3VycmVudCBibG9jaworICAgIGZvciAociA9IG1iX3JvdzsgciA8IG1iX3Jvd19lbmQ7IHIrKykg
eworICAgICAgZm9yIChjID0gbWJfY29sOyBjIDwgbWJfY29sX2VuZDsgYysrKSB7CisgICAgICAg
IGNvbnN0IGludCBtYl9pbmRleCA9IHIgKiBjbS0+bWJfY29scyArIGM7CisKKyAgICAgICAgTU9U
SU9OX0RJUkVDVElPTiB0aGlzX212OworICAgICAgICBNT1RJT05fRElSRUNUSU9OIHJpZ2h0X212
OworICAgICAgICBNT1RJT05fRElSRUNUSU9OIGJvdHRvbV9tdjsKKworICAgICAgICB0aGlzX212
ID0KKyAgICAgICAgICAgIGdldF9tb3Rpb25fZGlyZWN0aW9uX2ZwKGNwaS0+dHdvcGFzcy50aGlz
X2ZyYW1lX21iX3N0YXRzW21iX2luZGV4XSk7CisKKyAgICAgICAgLy8gdG8gaXRzIHJpZ2h0Cisg
ICAgICAgIGlmIChjICE9IG1iX2NvbF9lbmQgLSAxKSB7CisgICAgICAgICAgcmlnaHRfbXYgPSBn
ZXRfbW90aW9uX2RpcmVjdGlvbl9mcCgKKyAgICAgICAgICAgICAgY3BpLT50d29wYXNzLnRoaXNf
ZnJhbWVfbWJfc3RhdHNbbWJfaW5kZXggKyAxXSk7CisgICAgICAgICAgbm9uZV9jb21wbGV4aXR5
ICs9IGdldF9tb3Rpb25faW5jb25zaXN0ZW5jeSh0aGlzX212LCByaWdodF9tdik7CisgICAgICAg
IH0KKworICAgICAgICAvLyB0byBpdHMgYm90dG9tCisgICAgICAgIGlmIChyICE9IG1iX3Jvd19l
bmQgLSAxKSB7CisgICAgICAgICAgYm90dG9tX212ID0gZ2V0X21vdGlvbl9kaXJlY3Rpb25fZnAo
CisgICAgICAgICAgICAgIGNwaS0+dHdvcGFzcy50aGlzX2ZyYW1lX21iX3N0YXRzW21iX2luZGV4
ICsgY20tPm1iX2NvbHNdKTsKKyAgICAgICAgICBub25lX2NvbXBsZXhpdHkgKz0gZ2V0X21vdGlv
bl9pbmNvbnNpc3RlbmN5KHRoaXNfbXYsIGJvdHRvbV9tdik7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBkbyBub3QgY291bnQgaXRzIGxlZnQgYW5kIHRvcCBuZWlnaGJvcnMgdG8gYXZvaWQgZG91
YmxlIGNvdW50aW5nCisgICAgICB9CisgICAgfQorCisgICAgaWYgKG5vbmVfY29tcGxleGl0eSA+
IGNvbXBsZXhpdHlfMTZ4MTZfYmxvY2tzX3RocmVzaG9sZFtic2l6ZV0pIHsKKyAgICAgIHBhcnRp
dGlvbl9ub25lX2FsbG93ZWQgPSAwOworICAgIH0KKyAgfQorI2VuZGlmCisKICAgcGNfdHJlZS0+
cGFydGl0aW9uaW5nID0gUEFSVElUSU9OX05PTkU7CiAKICAgaWYgKGNwaS0+c2YucmRfbWxfcGFy
dGl0aW9uLnZhcl9wcnVuaW5nICYmICFmcmFtZV9pc19pbnRyYV9vbmx5KGNtKSkgewpAQCAtNDA5
Miw4ICs0MjEwLDggQEAgc3RhdGljIGludCByZF9waWNrX3BhcnRpdGlvbihWUDlfQ09NUCAqY3Bp
LCBUaHJlYWREYXRhICp0ZCwKICAgICAgICAgbWlfcm93ICsgbnVtXzh4OF9ibG9ja3NfaGlnaF9s
b29rdXBbYnNpemVdIDw9IGNtLT5taV9yb3dzICYmCiAgICAgICAgIG1pX2NvbCArIG51bV84eDhf
YmxvY2tzX3dpZGVfbG9va3VwW2JzaXplXSA8PSBjbS0+bWlfY29sczsKICAgICBpZiAoZG9fcmRf
bWxfcGFydGl0aW9uX3Zhcl9wcnVuaW5nKSB7Ci0gICAgICBtbF9wcmVkaWN0X3Zhcl9yZF9wYXJ0
aXRpb25pbmcoY3BpLCB4LCBwY190cmVlLCBic2l6ZSwgbWlfcm93LCBtaV9jb2wsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBhcnRpdGlvbl9ub25lX2FsbG93ZWQsICZk
b19zcGxpdCk7CisgICAgICBtbF9wcmVkaWN0X3Zhcl9yZF9wYXJpdGlvbmluZyhjcGksIHgsIHBj
X3RyZWUsIGJzaXplLCBtaV9yb3csIG1pX2NvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZwYXJ0aXRpb25fbm9uZV9hbGxvd2VkLCAmZG9fc3BsaXQpOwogICAgIH0gZWxz
ZSB7CiAgICAgICB2cDlfemVybyhwY190cmVlLT5tdik7CiAgICAgfQpAQCAtNDE2MSw2ICs0Mjc5
LDUzIEBAIHN0YXRpYyBpbnQgcmRfcGlja19wYXJ0aXRpb24oVlA5X0NPTVAgKmNwaSwgVGhyZWFk
RGF0YSAqdGQsCiAgICAgICAgICAgICB9CiAgICAgICAgICAgfQogICAgICAgICB9CisKKyNpZiBD
T05GSUdfRlBfTUJfU1RBVFMKKyAgICAgICAgLy8gQ2hlY2sgaWYgZXZlcnkgMTZ4MTYgZmlyc3Qg
cGFzcyBibG9jayBzdGF0aXN0aWNzIGhhcyB6ZXJvCisgICAgICAgIC8vIG1vdGlvbiBhbmQgdGhl
IGNvcnJlc3BvbmRpbmcgZmlyc3QgcGFzcyByZXNpZHVlIGlzIHNtYWxsIGVub3VnaC4KKyAgICAg
ICAgLy8gSWYgdGhhdCBpcyB0aGUgY2FzZSwgY2hlY2sgdGhlIGRpZmZlcmVuY2UgdmFyaWFuY2Ug
YmV0d2VlbiB0aGUKKyAgICAgICAgLy8gY3VycmVudCBmcmFtZSBhbmQgdGhlIGxhc3QgZnJhbWUu
IElmIHRoZSB2YXJpYW5jZSBpcyBzbWFsbCBlbm91Z2gsCisgICAgICAgIC8vIHN0b3AgZnVydGhl
ciBzcGxpdHRpbmcgaW4gUkQgb3B0aW1pemF0aW9uCisgICAgICAgIGlmIChjcGktPnVzZV9mcF9t
Yl9zdGF0cyAmJiBkb19zcGxpdCAhPSAwICYmCisgICAgICAgICAgICBjbS0+YmFzZV9xaW5kZXgg
PiBxaW5kZXhfc2tpcF90aHJlc2hvbGRfbG9va3VwW2JzaXplXSkgeworICAgICAgICAgIGludCBt
Yl9yb3cgPSBtaV9yb3cgPj4gMTsKKyAgICAgICAgICBpbnQgbWJfY29sID0gbWlfY29sID4+IDE7
CisgICAgICAgICAgaW50IG1iX3Jvd19lbmQgPQorICAgICAgICAgICAgICBWUFhNSU4obWJfcm93
ICsgbnVtXzE2eDE2X2Jsb2Nrc19oaWdoX2xvb2t1cFtic2l6ZV0sIGNtLT5tYl9yb3dzKTsKKyAg
ICAgICAgICBpbnQgbWJfY29sX2VuZCA9CisgICAgICAgICAgICAgIFZQWE1JTihtYl9jb2wgKyBu
dW1fMTZ4MTZfYmxvY2tzX3dpZGVfbG9va3VwW2JzaXplXSwgY20tPm1iX2NvbHMpOworICAgICAg
ICAgIGludCByLCBjOworCisgICAgICAgICAgaW50IHNraXAgPSAxOworICAgICAgICAgIGZvciAo
ciA9IG1iX3JvdzsgciA8IG1iX3Jvd19lbmQ7IHIrKykgeworICAgICAgICAgICAgZm9yIChjID0g
bWJfY29sOyBjIDwgbWJfY29sX2VuZDsgYysrKSB7CisgICAgICAgICAgICAgIGNvbnN0IGludCBt
Yl9pbmRleCA9IHIgKiBjbS0+bWJfY29scyArIGM7CisgICAgICAgICAgICAgIGlmICghKGNwaS0+
dHdvcGFzcy50aGlzX2ZyYW1lX21iX3N0YXRzW21iX2luZGV4XSAmCisgICAgICAgICAgICAgICAg
ICAgIEZQTUJfTU9USU9OX1pFUk9fTUFTSykgfHwKKyAgICAgICAgICAgICAgICAgICEoY3BpLT50
d29wYXNzLnRoaXNfZnJhbWVfbWJfc3RhdHNbbWJfaW5kZXhdICYKKyAgICAgICAgICAgICAgICAg
ICAgRlBNQl9FUlJPUl9TTUFMTF9NQVNLKSkgeworICAgICAgICAgICAgICAgIHNraXAgPSAwOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBpZiAoc2tpcCA9PSAwKSB7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICAgIH0KKworICAgICAgICAgIGlmIChza2lwKSB7CisgICAgICAgICAg
ICBpZiAoc3JjX2RpZmZfdmFyID09IFVJTlRfTUFYKSB7CisgICAgICAgICAgICAgIHNldF9vZmZz
ZXRzKGNwaSwgdGlsZV9pbmZvLCB4LCBtaV9yb3csIG1pX2NvbCwgYnNpemUpOworICAgICAgICAg
ICAgICBzcmNfZGlmZl92YXIgPSBnZXRfc2J5X3BlcnBpeGVsX2RpZmZfdmFyaWFuY2UoCisgICAg
ICAgICAgICAgICAgICBjcGksICZ4LT5wbGFuZVswXS5zcmMsIG1pX3JvdywgbWlfY29sLCBic2l6
ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoc3JjX2RpZmZfdmFyIDwgOCkgewor
ICAgICAgICAgICAgICBkb19zcGxpdCA9IDA7CisgICAgICAgICAgICAgIGRvX3JlY3QgPSAwOwor
ICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCiAgICAgICB9CiAg
ICAgfQogICAgIHJlc3RvcmVfY29udGV4dCh4LCBtaV9yb3csIG1pX2NvbCwgYSwgbCwgc2EsIHNs
LCBic2l6ZSk7CkBAIC00MzQyLDkgKzQ1MDcsOSBAQCBzdGF0aWMgaW50IHJkX3BpY2tfcGFydGl0
aW9uKFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogCiAgICAgaWYgKHN1bV9yZGMucmRj
b3N0IDwgYmVzdF9yZGMucmRjb3N0ICYmIG1pX3JvdyArIG1pX3N0ZXAgPCBjbS0+bWlfcm93cyAm
JgogICAgICAgICBic2l6ZSA+IEJMT0NLXzhYOCkgewotICAgICAgUElDS19NT0RFX0NPTlRFWFQg
KmhjdHggPSAmcGNfdHJlZS0+aG9yaXpvbnRhbFswXTsKLSAgICAgIHVwZGF0ZV9zdGF0ZShjcGks
IHRkLCBoY3R4LCBtaV9yb3csIG1pX2NvbCwgc3Vic2l6ZSwgMCk7Ci0gICAgICBlbmNvZGVfc3Vw
ZXJibG9jayhjcGksIHRkLCB0cCwgMCwgbWlfcm93LCBtaV9jb2wsIHN1YnNpemUsIGhjdHgpOwor
ICAgICAgUElDS19NT0RFX0NPTlRFWFQgKmN0eCA9ICZwY190cmVlLT5ob3Jpem9udGFsWzBdOwor
ICAgICAgdXBkYXRlX3N0YXRlKGNwaSwgdGQsIGN0eCwgbWlfcm93LCBtaV9jb2wsIHN1YnNpemUs
IDApOworICAgICAgZW5jb2RlX3N1cGVyYmxvY2soY3BpLCB0ZCwgdHAsIDAsIG1pX3JvdywgbWlf
Y29sLCBzdWJzaXplLCBjdHgpOwogICAgICAgaWYgKGNwaS0+c2YuYWRhcHRpdmVfcHJlZF9pbnRl
cnBfZmlsdGVyICYmIGJzaXplID09IEJMT0NLXzhYOCAmJgogICAgICAgICAgIHBhcnRpdGlvbl9u
b25lX2FsbG93ZWQpCiAgICAgICAgIHBjX3RyZWUtPmhvcml6b250YWxbMV0ucHJlZF9pbnRlcnBf
ZmlsdGVyID0gcHJlZF9pbnRlcnBfZmlsdGVyOwpAQCAtNDQxOSw0NCArNDU4NCwyMiBAQCBzdGF0
aWMgaW50IHJkX3BpY2tfcGFydGl0aW9uKFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAog
ICAgIHJlc3RvcmVfY29udGV4dCh4LCBtaV9yb3csIG1pX2NvbCwgYSwgbCwgc2EsIHNsLCBic2l6
ZSk7CiAgIH0KIAotICBpZiAoYnNpemUgPT0gQkxPQ0tfNjRYNjQgJiYgYmVzdF9yZGMucmRjb3N0
ID09IElOVDY0X01BWCkgewotICAgIHZwOV9yZF9jb3N0X3Jlc2V0KCZ0aGlzX3JkYyk7Ci0gICAg
cmRfcGlja19zYl9tb2RlcyhjcGksIHRpbGVfZGF0YSwgeCwgbWlfcm93LCBtaV9jb2wsICZ0aGlz
X3JkYywgQkxPQ0tfNjRYNjQsCi0gICAgICAgICAgICAgICAgICAgICBjdHgsIElOVF9NQVgsIElO
VDY0X01BWCk7Ci0gICAgY3R4LT5yZGNvc3QgPSB0aGlzX3JkYy5yZGNvc3Q7Ci0gICAgdnA5X3Jk
X2Nvc3RfdXBkYXRlKHBhcnRpdGlvbl9tdWwsIHgtPnJkZGl2LCAmdGhpc19yZGMpOwotICAgIGlm
ICh0aGlzX3JkYy5yZGNvc3QgPCBiZXN0X3JkYy5yZGNvc3QpIHsKLSAgICAgIGJlc3RfcmRjID0g
dGhpc19yZGM7Ci0gICAgICBzaG91bGRfZW5jb2RlX3NiID0gMTsKLSAgICAgIHBjX3RyZWUtPnBh
cnRpdGlvbmluZyA9IFBBUlRJVElPTl9OT05FOwotICAgIH0KLSAgfQotCiAgICpyZF9jb3N0ID0g
YmVzdF9yZGM7CiAKICAgaWYgKHNob3VsZF9lbmNvZGVfc2IgJiYgcGNfdHJlZS0+aW5kZXggIT0g
MykgewogICAgIGludCBvdXRwdXRfZW5hYmxlZCA9IChic2l6ZSA9PSBCTE9DS182NFg2NCk7Ci0j
aWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgIHN0YXJ0X3RpbWluZyhjcGks
IGVuY29kZV9zYl90aW1lKTsKLSNlbmRpZgogICAgIGVuY29kZV9zYihjcGksIHRkLCB0aWxlX2lu
Zm8sIHRwLCBtaV9yb3csIG1pX2NvbCwgb3V0cHV0X2VuYWJsZWQsIGJzaXplLAogICAgICAgICAg
ICAgICBwY190cmVlKTsKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0gICAg
ZW5kX3RpbWluZyhjcGksIGVuY29kZV9zYl90aW1lKTsKLSNlbmRpZgogI2lmIENPTkZJR19SQVRF
X0NUUkwKLSAgICBpZiAob3hjZi0+dXNlX3NpbXBsZV9lbmNvZGVfYXBpKSB7Ci0gICAgICAvLyBT
dG9yZSBwYXJ0aXRpb24sIG1vdGlvbiB2ZWN0b3Igb2YgdGhlIHN1cGVyYmxvY2suCi0gICAgICBp
ZiAob3V0cHV0X2VuYWJsZWQpIHsKLSAgICAgICAgY29uc3QgaW50IG51bV91bml0X3Jvd3MgPQot
ICAgICAgICAgICAgZ2V0X251bV91bml0XzR4NChjcGktPmZyYW1lX2luZm8uZnJhbWVfaGVpZ2h0
KTsKLSAgICAgICAgY29uc3QgaW50IG51bV91bml0X2NvbHMgPSBnZXRfbnVtX3VuaXRfNHg0KGNw
aS0+ZnJhbWVfaW5mby5mcmFtZV93aWR0aCk7Ci0gICAgICAgIHN0b3JlX3N1cGVyYmxvY2tfaW5m
byhwY190cmVlLCBjbS0+bWlfZ3JpZF92aXNpYmxlLCBjbS0+bWlfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbnVtXzR4NF9ibG9ja3Nfd2lkZV9sb29rdXBbQkxPQ0tfNjRY
NjRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX3VuaXRfcm93cywgbnVtX3Vu
aXRfY29scywgbWlfcm93IDw8IDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaV9j
b2wgPDwgMSwgY3BpLT5wYXJ0aXRpb25faW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNwaS0+bW90aW9uX3ZlY3Rvcl9pbmZvKTsKLSAgICAgIH0KKyAgICAvLyBTdG9yZSBwYXJ0
aXRpb24sIG1vdGlvbiB2ZWN0b3Igb2YgdGhlIHN1cGVyYmxvY2suCisgICAgaWYgKG91dHB1dF9l
bmFibGVkKSB7CisgICAgICBjb25zdCBpbnQgbnVtX3VuaXRfcm93cyA9IGdldF9udW1fdW5pdF80
eDQoY3BpLT5mcmFtZV9pbmZvLmZyYW1lX2hlaWdodCk7CisgICAgICBjb25zdCBpbnQgbnVtX3Vu
aXRfY29scyA9IGdldF9udW1fdW5pdF80eDQoY3BpLT5mcmFtZV9pbmZvLmZyYW1lX3dpZHRoKTsK
KyAgICAgIHN0b3JlX3N1cGVyYmxvY2tfaW5mbyhwY190cmVlLCBjbS0+bWlfZ3JpZF92aXNpYmxl
LCBjbS0+bWlfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bV80eDRfYmxv
Y2tzX3dpZGVfbG9va3VwW0JMT0NLXzY0WDY0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBudW1fdW5pdF9yb3dzLCBudW1fdW5pdF9jb2xzLCBtaV9yb3cgPDwgMSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtaV9jb2wgPDwgMSwgY3BpLT5wYXJ0aXRpb25faW5mbywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjcGktPm1vdGlvbl92ZWN0b3JfaW5mbyk7CiAgICAgfQog
I2VuZGlmICAvLyBDT05GSUdfUkFURV9DVFJMCiAgIH0KQEAgLTQ1NDUsNiArNDY4OCwxMyBAQCBz
dGF0aWMgdm9pZCBlbmNvZGVfcmRfc2Jfcm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRk
LAogICAgICAgc2V0X2ZpeGVkX3BhcnRpdGlvbmluZyhjcGksIHRpbGVfaW5mbywgbWksIG1pX3Jv
dywgbWlfY29sLCBic2l6ZSk7CiAgICAgICByZF91c2VfcGFydGl0aW9uKGNwaSwgdGQsIHRpbGVf
ZGF0YSwgbWksIHRwLCBtaV9yb3csIG1pX2NvbCwgQkxPQ0tfNjRYNjQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICZkdW1teV9yYXRlLCAmZHVtbXlfZGlzdCwgMSwgdGQtPnBjX3Jvb3QpOworICAg
IH0gZWxzZSBpZiAoY3BpLT5wYXJ0aXRpb25fc2VhcmNoX3NraXBwYWJsZV9mcmFtZSkgeworICAg
ICAgQkxPQ0tfU0laRSBic2l6ZTsKKyAgICAgIHNldF9vZmZzZXRzKGNwaSwgdGlsZV9pbmZvLCB4
LCBtaV9yb3csIG1pX2NvbCwgQkxPQ0tfNjRYNjQpOworICAgICAgYnNpemUgPSBnZXRfcmRfdmFy
X2Jhc2VkX2ZpeGVkX3BhcnRpdGlvbihjcGksIHgsIG1pX3JvdywgbWlfY29sKTsKKyAgICAgIHNl
dF9maXhlZF9wYXJ0aXRpb25pbmcoY3BpLCB0aWxlX2luZm8sIG1pLCBtaV9yb3csIG1pX2NvbCwg
YnNpemUpOworICAgICAgcmRfdXNlX3BhcnRpdGlvbihjcGksIHRkLCB0aWxlX2RhdGEsIG1pLCB0
cCwgbWlfcm93LCBtaV9jb2wsIEJMT0NLXzY0WDY0LAorICAgICAgICAgICAgICAgICAgICAgICAm
ZHVtbXlfcmF0ZSwgJmR1bW15X2Rpc3QsIDEsIHRkLT5wY19yb290KTsKICAgICB9IGVsc2UgaWYg
KHNmLT5wYXJ0aXRpb25fc2VhcmNoX3R5cGUgPT0gVkFSX0JBU0VEX1BBUlRJVElPTiAmJgogICAg
ICAgICAgICAgICAgY20tPmZyYW1lX3R5cGUgIT0gS0VZX0ZSQU1FKSB7CiAgICAgICBjaG9vc2Vf
cGFydGl0aW9uaW5nKGNwaSwgdGlsZV9pbmZvLCB4LCBtaV9yb3csIG1pX2NvbCk7CkBAIC00NTcw
LDE1ICs0NzIwLDggQEAgc3RhdGljIHZvaWQgZW5jb2RlX3JkX3NiX3JvdyhWUDlfQ09NUCAqY3Bp
LCBUaHJlYWREYXRhICp0ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJngtPm1p
bl9wYXJ0aXRpb25fc2l6ZSwgJngtPm1heF9wYXJ0aXRpb25fc2l6ZSk7CiAgICAgICB9CiAgICAg
ICB0ZC0+cGNfcm9vdC0+bm9uZS5yZGNvc3QgPSAwOwotCi0jaWYgQ09ORklHX0NPTExFQ1RfQ09N
UE9ORU5UX1RJTUlORwotICAgICAgc3RhcnRfdGltaW5nKGNwaSwgcmRfcGlja19wYXJ0aXRpb25f
dGltZSk7Ci0jZW5kaWYKICAgICAgIHJkX3BpY2tfcGFydGl0aW9uKGNwaSwgdGQsIHRpbGVfZGF0
YSwgdHAsIG1pX3JvdywgbWlfY29sLCBCTE9DS182NFg2NCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICZkdW1teV9yZGMsIGR1bW15X3JkYywgdGQtPnBjX3Jvb3QpOwotI2lmIENPTkZJR19DT0xM
RUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgICAgIGVuZF90aW1pbmcoY3BpLCByZF9waWNrX3BhcnRp
dGlvbl90aW1lKTsKLSNlbmRpZgogICAgIH0KICAgICAoKihjcGktPnJvd19tdF9zeW5jX3dyaXRl
X3B0cikpKCZ0aWxlX2RhdGEtPnJvd19tdF9zeW5jLCBzYl9yb3csCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzYl9jb2xfaW5fdGlsZSwgbnVtX3NiX2NvbHMpOwpAQCAtNDcz
MSw3ICs0ODc0LDcgQEAgc3RhdGljIHZvaWQgbm9ucmRfcGlja19zYl9tb2RlcyhWUDlfQ09NUCAq
Y3BpLCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAgIGh5YnJpZF9zZWFyY2hfc3ZjX2Jhc2Vp
c2tleShjcGksIHgsIHJkX2Nvc3QsIGJzaXplLCBjdHgsIHRpbGVfZGF0YSwgbWlfcm93LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaV9jb2wpOwogICBlbHNlIGlmIChzZWdmZWF0
dXJlX2FjdGl2ZSgmY20tPnNlZywgbWktPnNlZ21lbnRfaWQsIFNFR19MVkxfU0tJUCkpCi0gICAg
c2V0X21vZGVfaW5mb19zZWdfc2tpcCh4LCBjbS0+dHhfbW9kZSwgY20tPmludGVycF9maWx0ZXIs
IHJkX2Nvc3QsIGJzaXplKTsKKyAgICBzZXRfbW9kZV9pbmZvX3NlZ19za2lwKHgsIGNtLT50eF9t
b2RlLCByZF9jb3N0LCBic2l6ZSk7CiAgIGVsc2UgaWYgKGJzaXplID49IEJMT0NLXzhYOCkgewog
ICAgIGlmIChjcGktPnJjLmh5YnJpZF9pbnRyYV9zY2VuZV9jaGFuZ2UpCiAgICAgICBoeWJyaWRf
c2VhcmNoX3NjZW5lX2NoYW5nZShjcGksIHgsIHJkX2Nvc3QsIGJzaXplLCBjdHgsIHRpbGVfZGF0
YSwgbWlfcm93LApAQCAtNDgzMyw5ICs0OTc2LDkgQEAgc3RhdGljIHZvaWQgcHJlZF9waXhlbF9y
ZWFkeV9yZXNldChQQ19UUkVFICpwY190cmVlLCBCTE9DS19TSVpFIGJzaXplKSB7CiAKICNkZWZp
bmUgRkVBVFVSRVMgNgogI2RlZmluZSBMQUJFTFMgMgotc3RhdGljIGludCBtbF9wcmVkaWN0X3Zh
cl9wYXJ0aXRpb25pbmcoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJWkUgYnNpemUsIGludCBtaV9yb3cs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWlfY29sKSB7Citz
dGF0aWMgaW50IG1sX3ByZWRpY3RfdmFyX3Bhcml0aW9uaW5nKFZQOV9DT01QICpjcGksIE1BQ1JP
QkxPQ0sgKngsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJ
WkUgYnNpemUsIGludCBtaV9yb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBtaV9jb2wpIHsKICAgVlA5X0NPTU1PTiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247
CiAgIGNvbnN0IE5OX0NPTkZJRyAqbm5fY29uZmlnID0gTlVMTDsKIApAQCAtNDk2Nyw3ICs1MTEw
LDcgQEAgc3RhdGljIHZvaWQgbm9ucmRfcGlja19wYXJ0aXRpb24oVlA5X0NPTVAgKmNwaSwgVGhy
ZWFkRGF0YSAqdGQsCiAgICAgaWYgKHBhcnRpdGlvbl9ub25lX2FsbG93ZWQgfHwgZG9fc3BsaXQp
IGRvX3JlY3QgPSAwOwogICAgIGlmIChwYXJ0aXRpb25fbm9uZV9hbGxvd2VkICYmIGRvX3NwbGl0
KSB7CiAgICAgICBjb25zdCBpbnQgbWxfcHJlZGljdGVkX3BhcnRpdGlvbiA9Ci0gICAgICAgICAg
bWxfcHJlZGljdF92YXJfcGFydGl0aW9uaW5nKGNwaSwgeCwgYnNpemUsIG1pX3JvdywgbWlfY29s
KTsKKyAgICAgICAgICBtbF9wcmVkaWN0X3Zhcl9wYXJpdGlvbmluZyhjcGksIHgsIGJzaXplLCBt
aV9yb3csIG1pX2NvbCk7CiAgICAgICBpZiAobWxfcHJlZGljdGVkX3BhcnRpdGlvbiA9PSBQQVJU
SVRJT05fTk9ORSkgZG9fc3BsaXQgPSAwOwogICAgICAgaWYgKG1sX3ByZWRpY3RlZF9wYXJ0aXRp
b24gPT0gUEFSVElUSU9OX1NQTElUKSBwYXJ0aXRpb25fbm9uZV9hbGxvd2VkID0gMDsKICAgICB9
CkBAIC01NDI1LDcgKzU1NjgsNyBAQCBzdGF0aWMgdm9pZCBnZXRfZXN0aW1hdGVkX3ByZWQoVlA5
X0NPTVAgKmNwaSwgY29uc3QgVGlsZUluZm8gKmNvbnN0IHRpbGUsCiAKICAgICBhc3NlcnQoeXYx
MiAhPSBOVUxMKTsKIAotICAgIGlmICghKGlzX29uZV9wYXNzX3N2YyhjcGkpICYmIGNwaS0+c3Zj
LnNwYXRpYWxfbGF5ZXJfaWQpIHx8CisgICAgaWYgKCEoaXNfb25lX3Bhc3NfY2JyX3N2YyhjcGkp
ICYmIGNwaS0+c3ZjLnNwYXRpYWxfbGF5ZXJfaWQpIHx8CiAgICAgICAgIGNwaS0+c3ZjLnVzZV9n
Zl90ZW1wb3JhbF9yZWZfY3VycmVudF9sYXllcikgewogICAgICAgLy8gRm9yIG5vdywgR09MREVO
IHdpbGwgbm90IGJlIHVzZWQgZm9yIG5vbi16ZXJvIHNwYXRpYWwgbGF5ZXJzLCBzaW5jZQogICAg
ICAgLy8gaXQgbWF5IG5vdCBiZSBhIHRlbXBvcmFsIHJlZmVyZW5jZS4KQEAgLTU0NTYsNyArNTU5
OSw3IEBAIHN0YXRpYyB2b2lkIGdldF9lc3RpbWF0ZWRfcHJlZChWUDlfQ09NUCAqY3BpLCBjb25z
dCBUaWxlSW5mbyAqY29uc3QgdGlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjbS0+
ZnJhbWVfcmVmc1tMQVNUX0ZSQU1FIC0gMV0uc2YpOwogICAgICAgbWktPnJlZl9mcmFtZVswXSA9
IExBU1RfRlJBTUU7CiAgICAgfQotICAgIG1pLT5yZWZfZnJhbWVbMV0gPSBOT19SRUZfRlJBTUU7
CisgICAgbWktPnJlZl9mcmFtZVsxXSA9IE5PTkU7CiAgICAgbWktPnNiX3R5cGUgPSBCTE9DS182
NFg2NDsKICAgICBtaS0+bXZbMF0uYXNfaW50ID0gMDsKICAgICBtaS0+aW50ZXJwX2ZpbHRlciA9
IEJJTElORUFSOwpAQCAtNTU2Miw2ICs1NzA1LDE2IEBAIHN0YXRpYyB2b2lkIGVuY29kZV9ub25y
ZF9zYl9yb3coVlA5X0NPTVAgKmNwaSwgVGhyZWFkRGF0YSAqdGQsCiAgICAgeC0+YXJmX2ZyYW1l
X3VzYWdlID0gMDsKICAgICB4LT5sYXN0Z29sZGVuX2ZyYW1lX3VzYWdlID0gMDsKIAorICAgIGlm
IChzZWctPmVuYWJsZWQpIHsKKyAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IG1hcCA9CisgICAg
ICAgICAgc2VnLT51cGRhdGVfbWFwID8gY3BpLT5zZWdtZW50YXRpb25fbWFwIDogY20tPmxhc3Rf
ZnJhbWVfc2VnX21hcDsKKyAgICAgIGludCBzZWdtZW50X2lkID0gZ2V0X3NlZ21lbnRfaWQoY20s
IG1hcCwgQkxPQ0tfNjRYNjQsIG1pX3JvdywgbWlfY29sKTsKKyAgICAgIHNlZ19za2lwID0gc2Vn
ZmVhdHVyZV9hY3RpdmUoc2VnLCBzZWdtZW50X2lkLCBTRUdfTFZMX1NLSVApOworICAgICAgaWYg
KHNlZ19za2lwKSB7CisgICAgICAgIHBhcnRpdGlvbl9zZWFyY2hfdHlwZSA9IEZJWEVEX1BBUlRJ
VElPTjsKKyAgICAgIH0KKyAgICB9CisKICAgICBpZiAoY3BpLT5jb21wdXRlX3NvdXJjZV9zYWRf
b25lcGFzcyAmJiBjcGktPnNmLnVzZV9zb3VyY2Vfc2FkKSB7CiAgICAgICBpbnQgc2hpZnQgPSBj
cGktPlNvdXJjZS0+eV9zdHJpZGUgKiAobWlfcm93IDw8IDMpICsgKG1pX2NvbCA8PCAzKTsKICAg
ICAgIGludCBzYl9vZmZzZXQyID0gKChjbS0+bWlfY29scyArIDcpID4+IDMpICogKG1pX3JvdyA+
PiAzKSArIChtaV9jb2wgPj4gMyk7CkBAIC01NTczLDM4ICs1NzI2LDYgQEAgc3RhdGljIHZvaWQg
ZW5jb2RlX25vbnJkX3NiX3JvdyhWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKICAgICAg
ICAgcGFydGl0aW9uX3NlYXJjaF90eXBlID0gUkVGRVJFTkNFX1BBUlRJVElPTjsKICAgICB9CiAK
LSAgICBpZiAoc2VnLT5lbmFibGVkKSB7Ci0gICAgICBjb25zdCB1aW50OF90ICpjb25zdCBtYXAg
PQotICAgICAgICAgIHNlZy0+dXBkYXRlX21hcCA/IGNwaS0+c2VnbWVudGF0aW9uX21hcCA6IGNt
LT5sYXN0X2ZyYW1lX3NlZ19tYXA7Ci0gICAgICBpbnQgc2VnbWVudF9pZCA9IGdldF9zZWdtZW50
X2lkKGNtLCBtYXAsIEJMT0NLXzY0WDY0LCBtaV9yb3csIG1pX2NvbCk7Ci0gICAgICBzZWdfc2tp
cCA9IHNlZ2ZlYXR1cmVfYWN0aXZlKHNlZywgc2VnbWVudF9pZCwgU0VHX0xWTF9TS0lQKTsKLQot
ICAgICAgaWYgKGNwaS0+cm9pLmVuYWJsZWQgJiYgY3BpLT5yb2kuc2tpcFtCQUNLR1JPVU5EX1NF
R19TS0lQX0lEXSAmJgotICAgICAgICAgIGNwaS0+cmMuZnJhbWVzX3NpbmNlX2tleSA+IEZSQU1F
U19OT19TS0lQUElOR19BRlRFUl9LRVkgJiYKLSAgICAgICAgICB4LT5jb250ZW50X3N0YXRlX3Ni
ID4ga0xvd1NhZExvd1N1bWRpZmYpIHsKLSAgICAgICAgLy8gRm9yIFJPSSB3aXRoIHNraXAsIGZv
cmNlIHNlZ21lbnQgPSAwIChubyBza2lwKSBvdmVyIHdob2xlCi0gICAgICAgIC8vIHN1cGVyYmxv
Y2sgdG8gYXZvaWQgYXJ0aWZhY3RzIGlmIHRlbXBvcmFsIGNoYW5nZSBpbiBzb3VyY2Vfc2FkIGlz
Ci0gICAgICAgIC8vIG5vdCAwLgotICAgICAgICBpbnQgeGksIHlpOwotICAgICAgICBjb25zdCBp
bnQgYncgPSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFtCTE9DS182NFg2NF07Ci0gICAgICAg
IGNvbnN0IGludCBiaCA9IG51bV84eDhfYmxvY2tzX2hpZ2hfbG9va3VwW0JMT0NLXzY0WDY0XTsK
LSAgICAgICAgY29uc3QgaW50IHhtaXMgPSBWUFhNSU4oY20tPm1pX2NvbHMgLSBtaV9jb2wsIGJ3
KTsKLSAgICAgICAgY29uc3QgaW50IHltaXMgPSBWUFhNSU4oY20tPm1pX3Jvd3MgLSBtaV9yb3cs
IGJoKTsKLSAgICAgICAgY29uc3QgaW50IGJsb2NrX2luZGV4ID0gbWlfcm93ICogY20tPm1pX2Nv
bHMgKyBtaV9jb2w7Ci0gICAgICAgIHNldF9tb2RlX2luZm9fb2Zmc2V0cyhjbSwgeCwgeGQsIG1p
X3JvdywgbWlfY29sKTsKLSAgICAgICAgZm9yICh5aSA9IDA7IHlpIDwgeW1pczsgeWkrKykKLSAg
ICAgICAgICBmb3IgKHhpID0gMDsgeGkgPCB4bWlzOyB4aSsrKSB7Ci0gICAgICAgICAgICBpbnQg
bWFwX29mZnNldCA9IGJsb2NrX2luZGV4ICsgeWkgKiBjbS0+bWlfY29scyArIHhpOwotICAgICAg
ICAgICAgY3BpLT5zZWdtZW50YXRpb25fbWFwW21hcF9vZmZzZXRdID0gMDsKLSAgICAgICAgICB9
Ci0gICAgICAgIHNldF9zZWdtZW50X2luZGV4KGNwaSwgeCwgbWlfcm93LCBtaV9jb2wsIEJMT0NL
XzY0WDY0LCAwKTsKLSAgICAgICAgc2VnX3NraXAgPSAwOwotICAgICAgfQotICAgICAgaWYgKHNl
Z19za2lwKSB7Ci0gICAgICAgIHBhcnRpdGlvbl9zZWFyY2hfdHlwZSA9IEZJWEVEX1BBUlRJVElP
TjsKLSAgICAgIH0KLSAgICB9Ci0KICAgICAvLyBTZXQgdGhlIHBhcnRpdGlvbiB0eXBlIG9mIHRo
ZSA2NFg2NCBibG9jawogICAgIHN3aXRjaCAocGFydGl0aW9uX3NlYXJjaF90eXBlKSB7CiAgICAg
ICBjYXNlIFZBUl9CQVNFRF9QQVJUSVRJT046CkBAIC01NjQ2LDcgKzU3NjcsNyBAQCBzdGF0aWMg
dm9pZCBlbmNvZGVfbm9ucmRfc2Jfcm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAog
ICAgICAgICBpZiAoKGNwaS0+b3hjZi5yY19tb2RlID09IFZQWF9WQlIgJiYgY3BpLT5yYy5oaWdo
X3NvdXJjZV9zYWQgJiYKICAgICAgICAgICAgICBjcGktPm94Y2Yuc3BlZWQgPCA2ICYmICFmcmFt
ZV9pc19pbnRyYV9vbmx5KGNtKSAmJgogICAgICAgICAgICAgIChjcGktPnJlZnJlc2hfZ29sZGVu
X2ZyYW1lIHx8IGNwaS0+cmVmcmVzaF9hbHRfcmVmX2ZyYW1lKSkpIHsKLSAgICAgICAgICAvLyBV
c2UgbG93ZXIgbWF4X3BhcnRpdGlvbl9zaXplIGZvciBsb3cgcmVzb2x1dGlvbnMuCisgICAgICAg
ICAgLy8gVXNlIGxvd2VyIG1heF9wYXJ0aXRpb25fc2l6ZSBmb3IgbG93IHJlc291bHRpb25zLgog
ICAgICAgICAgIGlmIChjbS0+d2lkdGggPD0gMzUyICYmIGNtLT5oZWlnaHQgPD0gMjg4KQogICAg
ICAgICAgICAgeC0+bWF4X3BhcnRpdGlvbl9zaXplID0gQkxPQ0tfMzJYMzI7CiAgICAgICAgICAg
ZWxzZQpAQCAtNTY4OCwxMiArNTgwOSwxMiBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfbm9ucmRfc2Jf
cm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogfQogLy8gZW5kIFJUQyBwbGF5IGNv
ZGUKIAotc3RhdGljIElOTElORSB1aW50MzJfdCB2YXJpYW5jZShjb25zdCBEaWZmICpjb25zdCBk
KSB7CitzdGF0aWMgSU5MSU5FIHVpbnQzMl90IHZhcmlhbmNlKGNvbnN0IGRpZmYgKmNvbnN0IGQp
IHsKICAgcmV0dXJuIGQtPnNzZSAtICh1aW50MzJfdCkoKChpbnQ2NF90KWQtPnN1bSAqIGQtPnN1
bSkgPj4gOCk7CiB9CiAKICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotc3RhdGljIElOTElO
RSB1aW50MzJfdCB2YXJpYW5jZV9oaWdoYmQoRGlmZiAqY29uc3QgZCkgeworc3RhdGljIElOTElO
RSB1aW50MzJfdCB2YXJpYW5jZV9oaWdoYmQoZGlmZiAqY29uc3QgZCkgewogICBjb25zdCBpbnQ2
NF90IHZhciA9IChpbnQ2NF90KWQtPnNzZSAtICgoKGludDY0X3QpZC0+c3VtICogZC0+c3VtKSA+
PiA4KTsKICAgcmV0dXJuICh2YXIgPj0gMCkgPyAodWludDMyX3QpdmFyIDogMDsKIH0KQEAgLTU3
MTMsNyArNTgzNCw3IEBAIHN0YXRpYyBpbnQgc2V0X3Zhcl90aHJlc2hfZnJvbV9oaXN0b2dyYW0o
VlA5X0NPTVAgKmNwaSkgewogICAgICAgICAgICAgICAgICAgICAgICAgID8gKGNtLT5NQnMgKiBW
QVJfSElTVF9MQVJHRV9DVVRfT0ZGIC8gMTAwKQogICAgICAgICAgICAgICAgICAgICAgICAgIDog
KGNtLT5NQnMgKiBWQVJfSElTVF9TTUFMTF9DVVRfT0ZGIC8gMTAwKTsKICAgREVDTEFSRV9BTElH
TkVEKDE2LCBpbnQsIGhpc3RbVkFSX0hJU1RfQklOU10pOwotICBEaWZmICp2YXIxNiA9IGNwaS0+
c291cmNlX2RpZmZfdmFyOworICBkaWZmICp2YXIxNiA9IGNwaS0+c291cmNlX2RpZmZfdmFyOwog
CiAgIGludCBzdW0gPSAwOwogICBpbnQgaSwgajsKQEAgLTU3OTYsOCArNTkxNyw4IEBAIHN0YXRp
YyB2b2lkIHNvdXJjZV92YXJfYmFzZWRfcGFydGl0aW9uX3NlYXJjaF9tZXRob2QoVlA5X0NPTVAg
KmNwaSkgewogICAgIGlmIChjbS0+bGFzdF93aWR0aCAhPSBjbS0+d2lkdGggfHwgY20tPmxhc3Rf
aGVpZ2h0ICE9IGNtLT5oZWlnaHQpIHsKICAgICAgIGlmIChjcGktPnNvdXJjZV9kaWZmX3Zhcikg
dnB4X2ZyZWUoY3BpLT5zb3VyY2VfZGlmZl92YXIpOwogCi0gICAgICBDSEVDS19NRU1fRVJST1Io
JmNtLT5lcnJvciwgY3BpLT5zb3VyY2VfZGlmZl92YXIsCi0gICAgICAgICAgICAgICAgICAgICAg
dnB4X2NhbGxvYyhjbS0+TUJzLCBzaXplb2YoY3BpLT5zb3VyY2VfZGlmZl92YXIpKSk7CisgICAg
ICBDSEVDS19NRU1fRVJST1IoY20sIGNwaS0+c291cmNlX2RpZmZfdmFyLAorICAgICAgICAgICAg
ICAgICAgICAgIHZweF9jYWxsb2MoY20tPk1Ccywgc2l6ZW9mKGRpZmYpKSk7CiAgICAgfQogCiAg
ICAgaWYgKCFjcGktPmZyYW1lc190aWxsX25leHRfdmFyX2NoZWNrKQpAQCAtNTgzNiw3ICs1OTU3
LDcgQEAgdm9pZCB2cDlfaW5pdF90aWxlX2RhdGEoVlA5X0NPTVAgKmNwaSkgewogICBpZiAoY3Bp
LT50aWxlX2RhdGEgPT0gTlVMTCB8fCBjcGktPmFsbG9jYXRlZF90aWxlcyA8IHRpbGVfY29scyAq
IHRpbGVfcm93cykgewogICAgIGlmIChjcGktPnRpbGVfZGF0YSAhPSBOVUxMKSB2cHhfZnJlZShj
cGktPnRpbGVfZGF0YSk7CiAgICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgICAmY20tPmVycm9y
LCBjcGktPnRpbGVfZGF0YSwKKyAgICAgICAgY20sIGNwaS0+dGlsZV9kYXRhLAogICAgICAgICB2
cHhfbWFsbG9jKHRpbGVfY29scyAqIHRpbGVfcm93cyAqIHNpemVvZigqY3BpLT50aWxlX2RhdGEp
KSk7CiAgICAgY3BpLT5hbGxvY2F0ZWRfdGlsZXMgPSB0aWxlX2NvbHMgKiB0aWxlX3Jvd3M7CiAK
QEAgLTU4NDUsMTUgKzU5NjYsMTUgQEAgdm9pZCB2cDlfaW5pdF90aWxlX2RhdGEoVlA5X0NPTVAg
KmNwaSkgewogICAgICAgICBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhID0KICAgICAgICAgICAgICZj
cGktPnRpbGVfZGF0YVt0aWxlX3JvdyAqIHRpbGVfY29scyArIHRpbGVfY29sXTsKICAgICAgICAg
aW50IGksIGo7Ci0gICAgICAgIGNvbnN0IE1WIHplcm9fbXYgPSB7IDAsIDAgfTsKICAgICAgICAg
Zm9yIChpID0gMDsgaSA8IEJMT0NLX1NJWkVTOyArK2kpIHsKICAgICAgICAgICBmb3IgKGogPSAw
OyBqIDwgTUFYX01PREVTOyArK2opIHsKICAgICAgICAgICAgIHRpbGVfZGF0YS0+dGhyZXNoX2Zy
ZXFfZmFjdFtpXVtqXSA9IFJEX1RIUkVTSF9JTklUX0ZBQ1Q7CisjaWYgQ09ORklHX0NPTlNJU1RF
TlRfUkVDT0RFIHx8IENPTkZJR19SQVRFX0NUUkwKICAgICAgICAgICAgIHRpbGVfZGF0YS0+dGhy
ZXNoX2ZyZXFfZmFjdF9wcmV2W2ldW2pdID0gUkRfVEhSRVNIX0lOSVRfRkFDVDsKKyNlbmRpZiAg
Ly8gQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIHx8IENPTkZJR19SQVRFX0NUUkwKICAgICAgICAg
ICAgIHRpbGVfZGF0YS0+bW9kZV9tYXBbaV1bal0gPSBqOwogICAgICAgICAgIH0KICAgICAgICAg
fQotICAgICAgICB0aWxlX2RhdGEtPmZpcnN0cGFzc190b3BfbXYgPSB6ZXJvX212OwogI2lmIENP
TkZJR19NVUxUSVRIUkVBRAogICAgICAgICB0aWxlX2RhdGEtPnJvd19iYXNlX3RocmVzaF9mcmVx
X2ZhY3QgPSBOVUxMOwogI2VuZGlmCkBAIC01ODk1LDEyICs2MDE2LDkgQEAgdm9pZCB2cDlfZW5j
b2RlX3NiX3JvdyhWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwgaW50IHRpbGVfcm93LAog
ICBnZXRfc3RhcnRfdG9rKGNwaSwgdGlsZV9yb3csIHRpbGVfY29sLCBtaV9yb3csICZ0b2spOwog
ICBjcGktPnRwbGlzdFt0aWxlX3Jvd11bdGlsZV9jb2xdW3RpbGVfc2Jfcm93XS5zdGFydCA9IHRv
azsKIAotI2lmIENPTkZJR19SRUFMVElNRV9PTkxZCi0gIGFzc2VydChjcGktPnNmLnVzZV9ub25y
ZF9waWNrX21vZGUpOwotICBlbmNvZGVfbm9ucmRfc2Jfcm93KGNwaSwgdGQsIHRoaXNfdGlsZSwg
bWlfcm93LCAmdG9rKTsKLSNlbHNlCiAgIGlmIChjcGktPnNmLnVzZV9ub25yZF9waWNrX21vZGUp
CiAgICAgZW5jb2RlX25vbnJkX3NiX3JvdyhjcGksIHRkLCB0aGlzX3RpbGUsIG1pX3JvdywgJnRv
ayk7CisjaWYgIUNPTkZJR19SRUFMVElNRV9PTkxZCiAgIGVsc2UKICAgICBlbmNvZGVfcmRfc2Jf
cm93KGNwaSwgdGQsIHRoaXNfdGlsZSwgbWlfcm93LCAmdG9rKTsKICNlbmRpZgpAQCAtNTk0Miw2
ICs2MDYwLDIwIEBAIHN0YXRpYyB2b2lkIGVuY29kZV90aWxlcyhWUDlfQ09NUCAqY3BpKSB7CiAg
ICAgICB2cDlfZW5jb2RlX3RpbGUoY3BpLCAmY3BpLT50ZCwgdGlsZV9yb3csIHRpbGVfY29sKTsK
IH0KIAorI2lmIENPTkZJR19GUF9NQl9TVEFUUworc3RhdGljIGludCBpbnB1dF9mcG1iX3N0YXRz
KEZJUlNUUEFTU19NQl9TVEFUUyAqZmlyc3RwYXNzX21iX3N0YXRzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZQOV9DT01NT04gKmNtLCB1aW50OF90ICoqdGhpc19mcmFtZV9tYl9zdGF0
cykgeworICB1aW50OF90ICptYl9zdGF0c19pbiA9IGZpcnN0cGFzc19tYl9zdGF0cy0+bWJfc3Rh
dHNfc3RhcnQgKworICAgICAgICAgICAgICAgICAgICAgICAgIGNtLT5jdXJyZW50X3ZpZGVvX2Zy
YW1lICogY20tPk1CcyAqIHNpemVvZih1aW50OF90KTsKKworICBpZiAobWJfc3RhdHNfaW4gPiBm
aXJzdHBhc3NfbWJfc3RhdHMtPm1iX3N0YXRzX2VuZCkgcmV0dXJuIEVPRjsKKworICAqdGhpc19m
cmFtZV9tYl9zdGF0cyA9IG1iX3N0YXRzX2luOworCisgIHJldHVybiAxOworfQorI2VuZGlmCisK
IHN0YXRpYyBpbnQgY29tcGFyZV9rbWVhbnNfZGF0YShjb25zdCB2b2lkICphLCBjb25zdCB2b2lk
ICpiKSB7CiAgIGlmICgoKGNvbnN0IEtNRUFOU19EQVRBICopYSktPnZhbHVlID4gKChjb25zdCBL
TUVBTlNfREFUQSAqKWIpLT52YWx1ZSkgewogICAgIHJldHVybiAxOwpAQCAtNjA3MCw3ICs2MjAy
LDkgQEAgc3RhdGljIHZvaWQgZW5jb2RlX2ZyYW1lX2ludGVybmFsKFZQOV9DT01QICpjcGkpIHsK
ICAgeC0+ZndkX3R4Zm00eDQgPSB4ZC0+bG9zc2xlc3MgPyB2cDlfZndodDR4NCA6IHZweF9mZGN0
NHg0OwogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogICB4LT5pbnZfdHhmbV9h
ZGQgPSB4ZC0+bG9zc2xlc3MgPyB2cDlfaXdodDR4NF9hZGQgOiB2cDlfaWRjdDR4NF9hZGQ7Cisj
aWYgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFCiAgIHgtPm9wdGltaXplID0gc2YtPm9wdGltaXpl
X2NvZWZmaWNpZW50cyA9PSAxICYmIGNwaS0+b3hjZi5wYXNzICE9IDE7CisjZW5kaWYKICAgaWYg
KHhkLT5sb3NzbGVzcykgeC0+b3B0aW1pemUgPSAwOwogICB4LT5zaGFycG5lc3MgPSBjcGktPm94
Y2Yuc2hhcnBuZXNzOwogICB4LT5hZGp1c3RfcmRtdWx0X2J5X3NlZ21lbnQgPSAoY3BpLT5veGNm
LmFxX21vZGUgPT0gVkFSSUFOQ0VfQVEpOwpAQCAtNjE0Niw2ICs2MjgwLDEzIEBAIHN0YXRpYyB2
b2lkIGVuY29kZV9mcmFtZV9pbnRlcm5hbChWUDlfQ09NUCAqY3BpKSB7CiAgICAgc3RydWN0IHZw
eF91c2VjX3RpbWVyIGVtcl90aW1lcjsKICAgICB2cHhfdXNlY190aW1lcl9zdGFydCgmZW1yX3Rp
bWVyKTsKIAorI2lmIENPTkZJR19GUF9NQl9TVEFUUworICAgIGlmIChjcGktPnVzZV9mcF9tYl9z
dGF0cykgeworICAgICAgaW5wdXRfZnBtYl9zdGF0cygmY3BpLT50d29wYXNzLmZpcnN0cGFzc19t
Yl9zdGF0cywgY20sCisgICAgICAgICAgICAgICAgICAgICAgICZjcGktPnR3b3Bhc3MudGhpc19m
cmFtZV9tYl9zdGF0cyk7CisgICAgfQorI2VuZGlmCisKICAgICBpZiAoIWNwaS0+cm93X210KSB7
CiAgICAgICBjcGktPnJvd19tdF9zeW5jX3JlYWRfcHRyID0gdnA5X3Jvd19tdF9zeW5jX3JlYWRf
ZHVtbXk7CiAgICAgICBjcGktPnJvd19tdF9zeW5jX3dyaXRlX3B0ciA9IHZwOV9yb3dfbXRfc3lu
Y193cml0ZV9kdW1teTsKQEAgLTYxOTcsNiArNjMzOCw3IEBAIHN0YXRpYyBpbnQgY29tcHV0ZV9m
cmFtZV9hcV9vZmZzZXQoc3RydWN0IFZQOV9DT01QICpjcGkpIHsKIAogICBpbnQgbWlfcm93LCBt
aV9jb2w7CiAgIGludCBzdW1fZGVsdGEgPSAwOworICBpbnQgbWFwX2luZGV4ID0gMDsKICAgaW50
IHFkZWx0YV9pbmRleDsKICAgaW50IHNlZ21lbnRfaWQ7CiAKQEAgLTYyMDYsNiArNjM0OCw3IEBA
IHN0YXRpYyBpbnQgY29tcHV0ZV9mcmFtZV9hcV9vZmZzZXQoc3RydWN0IFZQOV9DT01QICpjcGkp
IHsKICAgICAgIHNlZ21lbnRfaWQgPSBtaV84eDhbMF0tPnNlZ21lbnRfaWQ7CiAgICAgICBxZGVs
dGFfaW5kZXggPSBnZXRfc2VnZGF0YShzZWcsIHNlZ21lbnRfaWQsIFNFR19MVkxfQUxUX1EpOwog
ICAgICAgc3VtX2RlbHRhICs9IHFkZWx0YV9pbmRleDsKKyAgICAgIG1hcF9pbmRleCsrOwogICAg
IH0KICAgICBtaV84eDhfcHRyICs9IGNtLT5taV9zdHJpZGU7CiAgIH0KQEAgLTYyMTMsMTEgKzYz
NTYsMTMgQEAgc3RhdGljIGludCBjb21wdXRlX2ZyYW1lX2FxX29mZnNldChzdHJ1Y3QgVlA5X0NP
TVAgKmNwaSkgewogICByZXR1cm4gc3VtX2RlbHRhIC8gKGNtLT5taV9yb3dzICogY20tPm1pX2Nv
bHMpOwogfQogCisjaWYgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIHx8IENPTkZJR19SQVRFX0NU
UkwKIHN0YXRpYyB2b2lkIHJlc3RvcmVfZW5jb2RlX3BhcmFtcyhWUDlfQ09NUCAqY3BpKSB7CiAg
IFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNwaS0+Y29tbW9uOwotICBpbnQgdGlsZV9pZHg7Cisg
IGNvbnN0IGludCB0aWxlX2NvbHMgPSAxIDw8IGNtLT5sb2cyX3RpbGVfY29sczsKKyAgY29uc3Qg
aW50IHRpbGVfcm93cyA9IDEgPDwgY20tPmxvZzJfdGlsZV9yb3dzOworICBpbnQgdGlsZV9jb2ws
IHRpbGVfcm93OwogICBpbnQgaSwgajsKLSAgVGlsZURhdGFFbmMgKnRpbGVfZGF0YTsKICAgUkRf
T1BUICpyZF9vcHQgPSAmY3BpLT5yZDsKICAgZm9yIChpID0gMDsgaSA8IE1BWF9SRUZfRlJBTUVT
OyBpKyspIHsKICAgICBmb3IgKGogPSAwOyBqIDwgUkVGRVJFTkNFX01PREVTOyBqKyspCkBAIC02
MjI4LDE5ICs2MzczLDMwIEBAIHN0YXRpYyB2b2lkIHJlc3RvcmVfZW5jb2RlX3BhcmFtcyhWUDlf
Q09NUCAqY3BpKSB7CiAgICAgICByZF9vcHQtPmZpbHRlcl90aHJlc2hlc1tpXVtqXSA9IHJkX29w
dC0+ZmlsdGVyX3RocmVzaGVzX3ByZXZbaV1bal07CiAgIH0KIAotICBmb3IgKHRpbGVfaWR4ID0g
MDsgdGlsZV9pZHggPCBjcGktPmFsbG9jYXRlZF90aWxlczsgdGlsZV9pZHgrKykgewotICAgIGFz
c2VydChjcGktPnRpbGVfZGF0YSk7Ci0gICAgdGlsZV9kYXRhID0gJmNwaS0+dGlsZV9kYXRhW3Rp
bGVfaWR4XTsKLSAgICB2cDlfY29weSh0aWxlX2RhdGEtPnRocmVzaF9mcmVxX2ZhY3QsIHRpbGVf
ZGF0YS0+dGhyZXNoX2ZyZXFfZmFjdF9wcmV2KTsKKyAgaWYgKGNwaS0+dGlsZV9kYXRhICE9IE5V
TEwpIHsKKyAgICBmb3IgKHRpbGVfcm93ID0gMDsgdGlsZV9yb3cgPCB0aWxlX3Jvd3M7ICsrdGls
ZV9yb3cpCisgICAgICBmb3IgKHRpbGVfY29sID0gMDsgdGlsZV9jb2wgPCB0aWxlX2NvbHM7ICsr
dGlsZV9jb2wpIHsKKyAgICAgICAgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSA9CisgICAgICAgICAg
ICAmY3BpLT50aWxlX2RhdGFbdGlsZV9yb3cgKiB0aWxlX2NvbHMgKyB0aWxlX2NvbF07CisgICAg
ICAgIGZvciAoaSA9IDA7IGkgPCBCTE9DS19TSVpFUzsgKytpKSB7CisgICAgICAgICAgZm9yIChq
ID0gMDsgaiA8IE1BWF9NT0RFUzsgKytqKSB7CisgICAgICAgICAgICB0aWxlX2RhdGEtPnRocmVz
aF9mcmVxX2ZhY3RbaV1bal0gPQorICAgICAgICAgICAgICAgIHRpbGVfZGF0YS0+dGhyZXNoX2Zy
ZXFfZmFjdF9wcmV2W2ldW2pdOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQogICB9
CiAKICAgY20tPmludGVycF9maWx0ZXIgPSBjcGktPnNmLmRlZmF1bHRfaW50ZXJwX2ZpbHRlcjsK
IH0KKyNlbmRpZiAgLy8gQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIHx8IENPTkZJR19SQVRFX0NU
UkwKIAogdm9pZCB2cDlfZW5jb2RlX2ZyYW1lKFZQOV9DT01QICpjcGkpIHsKICAgVlA5X0NPTU1P
TiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247CiAKKyNpZiBDT05GSUdfQ09OU0lTVEVOVF9SRUNP
REUgfHwgQ09ORklHX1JBVEVfQ1RSTAogICByZXN0b3JlX2VuY29kZV9wYXJhbXMoY3BpKTsKKyNl
bmRpZgogCiAjaWYgQ09ORklHX01JU01BVENIX0RFQlVHCiAgIG1pc21hdGNoX3Jlc2V0X2ZyYW1l
KE1BWF9NQl9QTEFORSk7CkBAIC02Mjk0LDEzICs2NDUwLDcgQEAgdm9pZCB2cDlfZW5jb2RlX2Zy
YW1lKFZQOV9DT01QICpjcGkpIHsKICAgICBpZiAoY20tPmludGVycF9maWx0ZXIgPT0gU1dJVENI
QUJMRSkKICAgICAgIGNtLT5pbnRlcnBfZmlsdGVyID0gZ2V0X2ludGVycF9maWx0ZXIoZmlsdGVy
X3RocnMsIGlzX2FsdF9yZWYpOwogCi0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlO
RwotICAgIHN0YXJ0X3RpbWluZyhjcGksIGVuY29kZV9mcmFtZV9pbnRlcm5hbF90aW1lKTsKLSNl
bmRpZgogICAgIGVuY29kZV9mcmFtZV9pbnRlcm5hbChjcGkpOwotI2lmIENPTkZJR19DT0xMRUNU
X0NPTVBPTkVOVF9USU1JTkcKLSAgICBlbmRfdGltaW5nKGNwaSwgZW5jb2RlX2ZyYW1lX2ludGVy
bmFsX3RpbWUpOwotI2VuZGlmCiAKICAgICBmb3IgKGkgPSAwOyBpIDwgUkVGRVJFTkNFX01PREVT
OyArK2kpCiAgICAgICBtb2RlX3RocnNbaV0gPSAobW9kZV90aHJzW2ldICsgcmRjLT5jb21wX3By
ZWRfZGlmZltpXSAvIGNtLT5NQnMpIC8gMjsKQEAgLTY1NDEsOCArNjY5MSw3IEBAIHN0YXRpYyB2
b2lkIGVuY29kZV9zdXBlcmJsb2NrKFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLCBUT0tF
TkVYVFJBICoqdCwKIAogICAgICsrdGQtPmNvdW50cy0+dHgudHhfdG90YWxzW21pLT50eF9zaXpl
XTsKICAgICArK3RkLT5jb3VudHMtPnR4LnR4X3RvdGFsc1tnZXRfdXZfdHhfc2l6ZShtaSwgJnhk
LT5wbGFuZVsxXSldOwotICAgIGlmIChjbS0+c2VnLmVuYWJsZWQgJiYgY3BpLT5veGNmLmFxX21v
ZGUgPT0gQ1lDTElDX1JFRlJFU0hfQVEgJiYKLSAgICAgICAgY3BpLT5jeWNsaWNfcmVmcmVzaC0+
Y29udGVudF9tb2RlKQorICAgIGlmIChjbS0+c2VnLmVuYWJsZWQgJiYgY3BpLT5veGNmLmFxX21v
ZGUgPT0gQ1lDTElDX1JFRlJFU0hfQVEpCiAgICAgICB2cDlfY3ljbGljX3JlZnJlc2hfdXBkYXRl
X3NiX3Bvc3RlbmNvZGUoY3BpLCBtaSwgbWlfcm93LCBtaV9jb2wsIGJzaXplKTsKICAgICBpZiAo
Y3BpLT5veGNmLnBhc3MgPT0gMCAmJiBjcGktPnN2Yy50ZW1wb3JhbF9sYXllcl9pZCA9PSAwICYm
CiAgICAgICAgICghY3BpLT51c2Vfc3ZjIHx8CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV9lbmNvZGVtYi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2Rl
bWIuYwppbmRleCBlZGVkOWY1YzQyY2QuLjc2MzBhODExMDM4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2RlbWIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9lbmNvZGVtYi5jCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAidnA5L2NvbW1v
bi92cDlfc2Nhbi5oIgogCiAjaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2VuY29kZW1iLmgiCi0j
aW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2VuY29kZXIuaCIKICNpbmNsdWRlICJ2cDkvZW5jb2Rl
ci92cDlfcmQuaCIKICNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfdG9rZW5pemUuaCIKIApAQCAt
NzksNyArNzgsNyBAQCBpbnQgdnA5X29wdGltaXplX2IoTUFDUk9CTE9DSyAqbWIsIGludCBwbGFu
ZSwgaW50IGJsb2NrLCBUWF9TSVpFIHR4X3NpemUsCiAgIGNvbnN0IGludCBzaGlmdCA9ICh0eF9z
aXplID09IFRYXzMyWDMyKTsKICAgY29uc3QgaW50MTZfdCAqY29uc3QgZGVxdWFudF9wdHIgPSBw
ZC0+ZGVxdWFudDsKICAgY29uc3QgdWludDhfdCAqY29uc3QgYmFuZF90cmFuc2xhdGUgPSBnZXRf
YmFuZF90cmFuc2xhdGUodHhfc2l6ZSk7Ci0gIGNvbnN0IFNjYW5PcmRlciAqY29uc3Qgc28gPSBn
ZXRfc2Nhbih4ZCwgdHhfc2l6ZSwgcGxhbmVfdHlwZSwgYmxvY2spOworICBjb25zdCBzY2FuX29y
ZGVyICpjb25zdCBzbyA9IGdldF9zY2FuKHhkLCB0eF9zaXplLCBwbGFuZV90eXBlLCBibG9jayk7
CiAgIGNvbnN0IGludDE2X3QgKmNvbnN0IHNjYW4gPSBzby0+c2NhbjsKICAgY29uc3QgaW50MTZf
dCAqY29uc3QgbmIgPSBzby0+bmVpZ2hib3JzOwogICBjb25zdCBNT0RFX0lORk8gKm1ibWkgPSB4
ZC0+bWlbMF07CkBAIC0zNTEsNyArMzUwLDcgQEAgdm9pZCB2cDlfeGZvcm1fcXVhbnRfZnAoTUFD
Uk9CTE9DSyAqeCwgaW50IHBsYW5lLCBpbnQgYmxvY2ssIGludCByb3csIGludCBjb2wsCiAgIE1B
Q1JPQkxPQ0tEICpjb25zdCB4ZCA9ICZ4LT5lX21iZDsKICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2tfcGxhbmUgKmNvbnN0IHAgPSAmeC0+cGxhbmVbcGxhbmVdOwogICBjb25zdCBzdHJ1Y3QgbWFj
cm9ibG9ja2RfcGxhbmUgKmNvbnN0IHBkID0gJnhkLT5wbGFuZVtwbGFuZV07Ci0gIGNvbnN0IFNj
YW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlciA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1t0eF9z
aXplXTsKKyAgY29uc3Qgc2Nhbl9vcmRlciAqY29uc3Qgc2Nhbl9vcmRlciA9ICZ2cDlfZGVmYXVs
dF9zY2FuX29yZGVyc1t0eF9zaXplXTsKICAgdHJhbl9sb3dfdCAqY29uc3QgY29lZmYgPSBCTE9D
S19PRkZTRVQocC0+Y29lZmYsIGJsb2NrKTsKICAgdHJhbl9sb3dfdCAqY29uc3QgcWNvZWZmID0g
QkxPQ0tfT0ZGU0VUKHAtPnFjb2VmZiwgYmxvY2spOwogICB0cmFuX2xvd190ICpjb25zdCBkcWNv
ZWZmID0gQkxPQ0tfT0ZGU0VUKHBkLT5kcWNvZWZmLCBibG9jayk7CkBAIC0zNjcsMjQgKzM2Niwy
OCBAQCB2b2lkIHZwOV94Zm9ybV9xdWFudF9mcChNQUNST0JMT0NLICp4LCBpbnQgcGxhbmUsIGlu
dCBibG9jaywgaW50IHJvdywgaW50IGNvbCwKICAgICBzd2l0Y2ggKHR4X3NpemUpIHsKICAgICAg
IGNhc2UgVFhfMzJYMzI6CiAgICAgICAgIGhpZ2hiZF9mZGN0MzJ4MzIoeC0+dXNlX2xwMzJ4MzJm
ZGN0LCBzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgICAgdnA5X2hpZ2hiZF9x
dWFudGl6ZV9mcF8zMngzMihjb2VmZiwgMTAyNCwgcCwgcWNvZWZmLCBkcWNvZWZmLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkLT5kZXF1YW50LCBlb2IsIHNjYW5fb3Jk
ZXIpOworICAgICAgICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyKGNvZWZmLCAxMDI0LCB4
LT5za2lwX2Jsb2NrLCBwLT5yb3VuZF9mcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwLT5xdWFudF9mcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlb2IsIHNjYW5fb3JkZXItPnNjYW4sIHNj
YW5fb3JkZXItPmlzY2FuKTsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIFRYXzE2WDE2Ogog
ICAgICAgICB2cHhfaGlnaGJkX2ZkY3QxNngxNihzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRl
KTsKLSAgICAgICAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcChjb2VmZiwgMjU2LCBwLCBxY29lZmYs
IGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2Nhbl9vcmRlcik7CisgICAgICAgIHZwOV9oaWdoYmRfcXVhbnRpemVfZnAoY29lZmYsIDI1
NiwgeC0+c2tpcF9ibG9jaywgcC0+cm91bmRfZnAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcC0+cXVhbnRfZnAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyLT5zY2FuLCBzY2FuX29yZGVy
LT5pc2Nhbik7CiAgICAgICAgIGJyZWFrOwogICAgICAgY2FzZSBUWF84WDg6CiAgICAgICAgIHZw
eF9oaWdoYmRfZmRjdDh4OChzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgICAg
dnA5X2hpZ2hiZF9xdWFudGl6ZV9mcChjb2VmZiwgNjQsIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQt
PmRlcXVhbnQsIGVvYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVy
KTsKKyAgICAgICAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcChjb2VmZiwgNjQsIHgtPnNraXBfYmxv
Y2ssIHAtPnJvdW5kX2ZwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50
X2ZwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2Nhbl9vcmRlci0+c2Nhbiwgc2Nhbl9vcmRlci0+aXNjYW4pOwogICAg
ICAgICBicmVhazsKICAgICAgIGRlZmF1bHQ6CiAgICAgICAgIGFzc2VydCh0eF9zaXplID09IFRY
XzRYNCk7CiAgICAgICAgIHgtPmZ3ZF90eGZtNHg0KHNyY19kaWZmLCBjb2VmZiwgZGlmZl9zdHJp
ZGUpOwotICAgICAgICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwKGNvZWZmLCAxNiwgcCwgcWNvZWZm
LCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNjYW5fb3JkZXIpOworICAgICAgICB2cDlfaGlnaGJkX3F1YW50aXplX2ZwKGNvZWZmLCAx
NiwgeC0+c2tpcF9ibG9jaywgcC0+cm91bmRfZnAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcC0+cXVhbnRfZnAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyLT5zY2FuLCBzY2FuX29yZGVy
LT5pc2Nhbik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICByZXR1cm47CkBAIC0zOTQsMjUg
KzM5NywyOSBAQCB2b2lkIHZwOV94Zm9ybV9xdWFudF9mcChNQUNST0JMT0NLICp4LCBpbnQgcGxh
bmUsIGludCBibG9jaywgaW50IHJvdywgaW50IGNvbCwKICAgc3dpdGNoICh0eF9zaXplKSB7CiAg
ICAgY2FzZSBUWF8zMlgzMjoKICAgICAgIGZkY3QzMngzMih4LT51c2VfbHAzMngzMmZkY3QsIHNy
Y19kaWZmLCBjb2VmZiwgZGlmZl9zdHJpZGUpOwotICAgICAgdnA5X3F1YW50aXplX2ZwXzMyeDMy
KGNvZWZmLCAxMDI0LCBwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlcik7CisgICAgICB2cDlfcXVhbnRpemVf
ZnBfMzJ4MzIoY29lZmYsIDEwMjQsIHgtPnNraXBfYmxvY2ssIHAtPnJvdW5kX2ZwLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50X2ZwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5k
ZXF1YW50LCBlb2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlci0+c2Nh
biwgc2Nhbl9vcmRlci0+aXNjYW4pOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBUWF8xNlgxNjoK
ICAgICAgIHZweF9mZGN0MTZ4MTYoc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAg
ICB2cDlfcXVhbnRpemVfZnAoY29lZmYsIDI1NiwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVx
dWFudCwgZW9iLAotICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXIpOworICAgICAgdnA5
X3F1YW50aXplX2ZwKGNvZWZmLCAyNTYsIHgtPnNraXBfYmxvY2ssIHAtPnJvdW5kX2ZwLCBwLT5x
dWFudF9mcCwKKyAgICAgICAgICAgICAgICAgICAgICBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1
YW50LCBlb2IsIHNjYW5fb3JkZXItPnNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgc2Nhbl9v
cmRlci0+aXNjYW4pOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBUWF84WDg6CiAgICAgICB2cHhf
ZmRjdDh4OChzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgIHZwOV9xdWFudGl6
ZV9mcChjb2VmZiwgNjQsIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKLSAg
ICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAgIHZwOV9xdWFudGl6ZV9mcChj
b2VmZiwgNjQsIHgtPnNraXBfYmxvY2ssIHAtPnJvdW5kX2ZwLCBwLT5xdWFudF9mcCwKKyAgICAg
ICAgICAgICAgICAgICAgICBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsIHNjYW5f
b3JkZXItPnNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlci0+aXNjYW4pOwog
CiAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgYXNzZXJ0KHR4X3NpemUgPT0gVFhf
NFg0KTsKICAgICAgIHgtPmZ3ZF90eGZtNHg0KHNyY19kaWZmLCBjb2VmZiwgZGlmZl9zdHJpZGUp
OwotICAgICAgdnA5X3F1YW50aXplX2ZwKGNvZWZmLCAxNiwgcCwgcWNvZWZmLCBkcWNvZWZmLCBw
ZC0+ZGVxdWFudCwgZW9iLAotICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXIpOworICAg
ICAgdnA5X3F1YW50aXplX2ZwKGNvZWZmLCAxNiwgeC0+c2tpcF9ibG9jaywgcC0+cm91bmRfZnAs
IHAtPnF1YW50X2ZwLAorICAgICAgICAgICAgICAgICAgICAgIHFjb2VmZiwgZHFjb2VmZiwgcGQt
PmRlcXVhbnQsIGVvYiwgc2Nhbl9vcmRlci0+c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICBz
Y2FuX29yZGVyLT5pc2Nhbik7CiAgICAgICBicmVhazsKICAgfQogfQpAQCAtNDM3LDI0ICs0NDQs
MjggQEAgdm9pZCB2cDlfeGZvcm1fcXVhbnRfZGMoTUFDUk9CTE9DSyAqeCwgaW50IHBsYW5lLCBp
bnQgYmxvY2ssIGludCByb3csIGludCBjb2wsCiAgICAgc3dpdGNoICh0eF9zaXplKSB7CiAgICAg
ICBjYXNlIFRYXzMyWDMyOgogICAgICAgICB2cHhfaGlnaGJkX2ZkY3QzMngzMl8xKHNyY19kaWZm
LCBjb2VmZiwgZGlmZl9zdHJpZGUpOwotICAgICAgICB2cHhfaGlnaGJkX3F1YW50aXplX2RjXzMy
eDMyKGNvZWZmLCBwLT5yb3VuZCwgcC0+cXVhbnRfZnBbMF0sIHFjb2VmZiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkcWNvZWZmLCBwZC0+ZGVxdWFudFswXSwgZW9iKTsK
KyAgICAgICAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9kY18zMngzMihjb2VmZiwgeC0+c2tpcF9ibG9j
aywgcC0+cm91bmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+cXVh
bnRfZnBbMF0sIHFjb2VmZiwgZHFjb2VmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwZC0+ZGVxdWFudFswXSwgZW9iKTsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNl
IFRYXzE2WDE2OgogICAgICAgICB2cHhfaGlnaGJkX2ZkY3QxNngxNl8xKHNyY19kaWZmLCBjb2Vm
ZiwgZGlmZl9zdHJpZGUpOwotICAgICAgICB2cHhfaGlnaGJkX3F1YW50aXplX2RjKGNvZWZmLCAy
NTYsIHAtPnJvdW5kLCBwLT5xdWFudF9mcFswXSwgcWNvZWZmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRxY29lZmYsIHBkLT5kZXF1YW50WzBdLCBlb2IpOworICAgICAgICB2cHhf
aGlnaGJkX3F1YW50aXplX2RjKGNvZWZmLCAyNTYsIHgtPnNraXBfYmxvY2ssIHAtPnJvdW5kLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50X2ZwWzBdLCBxY29lZmYsIGRx
Y29lZmYsIHBkLT5kZXF1YW50WzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVv
Yik7CiAgICAgICAgIGJyZWFrOwogICAgICAgY2FzZSBUWF84WDg6CiAgICAgICAgIHZweF9oaWdo
YmRfZmRjdDh4OF8xKHNyY19kaWZmLCBjb2VmZiwgZGlmZl9zdHJpZGUpOwotICAgICAgICB2cHhf
aGlnaGJkX3F1YW50aXplX2RjKGNvZWZmLCA2NCwgcC0+cm91bmQsIHAtPnF1YW50X2ZwWzBdLCBx
Y29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHFjb2VmZiwgcGQtPmRlcXVh
bnRbMF0sIGVvYik7CisgICAgICAgIHZweF9oaWdoYmRfcXVhbnRpemVfZGMoY29lZmYsIDY0LCB4
LT5za2lwX2Jsb2NrLCBwLT5yb3VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
LT5xdWFudF9mcFswXSwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudFswXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlb2IpOwogICAgICAgICBicmVhazsKICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgIGFzc2VydCh0eF9zaXplID09IFRYXzRYNCk7CiAgICAgICAgIHgtPmZ3ZF90
eGZtNHg0KHNyY19kaWZmLCBjb2VmZiwgZGlmZl9zdHJpZGUpOwotICAgICAgICB2cHhfaGlnaGJk
X3F1YW50aXplX2RjKGNvZWZmLCAxNiwgcC0+cm91bmQsIHAtPnF1YW50X2ZwWzBdLCBxY29lZmYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHFjb2VmZiwgcGQtPmRlcXVhbnRbMF0s
IGVvYik7CisgICAgICAgIHZweF9oaWdoYmRfcXVhbnRpemVfZGMoY29lZmYsIDE2LCB4LT5za2lw
X2Jsb2NrLCBwLT5yb3VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5xdWFu
dF9mcFswXSwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudFswXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBlb2IpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0dXJu
OwpAQCAtNDY0LDI0ICs0NzUsMjQgQEAgdm9pZCB2cDlfeGZvcm1fcXVhbnRfZGMoTUFDUk9CTE9D
SyAqeCwgaW50IHBsYW5lLCBpbnQgYmxvY2ssIGludCByb3csIGludCBjb2wsCiAgIHN3aXRjaCAo
dHhfc2l6ZSkgewogICAgIGNhc2UgVFhfMzJYMzI6CiAgICAgICB2cHhfZmRjdDMyeDMyXzEoc3Jj
X2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAgICB2cHhfcXVhbnRpemVfZGNfMzJ4MzIo
Y29lZmYsIHAtPnJvdW5kLCBwLT5xdWFudF9mcFswXSwgcWNvZWZmLCBkcWNvZWZmLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBkLT5kZXF1YW50WzBdLCBlb2IpOworICAgICAgdnB4X3F1
YW50aXplX2RjXzMyeDMyKGNvZWZmLCB4LT5za2lwX2Jsb2NrLCBwLT5yb3VuZCwgcC0+cXVhbnRf
ZnBbMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcWNvZWZmLCBkcWNvZWZmLCBwZC0+
ZGVxdWFudFswXSwgZW9iKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgVFhfMTZYMTY6CiAgICAg
ICB2cHhfZmRjdDE2eDE2XzEoc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAgICB2
cHhfcXVhbnRpemVfZGMoY29lZmYsIDI1NiwgcC0+cm91bmQsIHAtPnF1YW50X2ZwWzBdLCBxY29l
ZmYsIGRxY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAgcGQtPmRlcXVhbnRbMF0sIGVvYik7
CisgICAgICB2cHhfcXVhbnRpemVfZGMoY29lZmYsIDI1NiwgeC0+c2tpcF9ibG9jaywgcC0+cm91
bmQsIHAtPnF1YW50X2ZwWzBdLAorICAgICAgICAgICAgICAgICAgICAgIHFjb2VmZiwgZHFjb2Vm
ZiwgcGQtPmRlcXVhbnRbMF0sIGVvYik7CiAgICAgICBicmVhazsKICAgICBjYXNlIFRYXzhYODoK
ICAgICAgIHZweF9mZGN0OHg4XzEoc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAg
ICB2cHhfcXVhbnRpemVfZGMoY29lZmYsIDY0LCBwLT5yb3VuZCwgcC0+cXVhbnRfZnBbMF0sIHFj
b2VmZiwgZHFjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICBwZC0+ZGVxdWFudFswXSwgZW9i
KTsKKyAgICAgIHZweF9xdWFudGl6ZV9kYyhjb2VmZiwgNjQsIHgtPnNraXBfYmxvY2ssIHAtPnJv
dW5kLCBwLT5xdWFudF9mcFswXSwKKyAgICAgICAgICAgICAgICAgICAgICBxY29lZmYsIGRxY29l
ZmYsIHBkLT5kZXF1YW50WzBdLCBlb2IpOwogICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAg
ICAgIGFzc2VydCh0eF9zaXplID09IFRYXzRYNCk7CiAgICAgICB4LT5md2RfdHhmbTR4NChzcmNf
ZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgIHZweF9xdWFudGl6ZV9kYyhjb2VmZiwg
MTYsIHAtPnJvdW5kLCBwLT5xdWFudF9mcFswXSwgcWNvZWZmLCBkcWNvZWZmLAotICAgICAgICAg
ICAgICAgICAgICAgIHBkLT5kZXF1YW50WzBdLCBlb2IpOworICAgICAgdnB4X3F1YW50aXplX2Rj
KGNvZWZmLCAxNiwgeC0+c2tpcF9ibG9jaywgcC0+cm91bmQsIHAtPnF1YW50X2ZwWzBdLAorICAg
ICAgICAgICAgICAgICAgICAgIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnRbMF0sIGVvYik7
CiAgICAgICBicmVhazsKICAgfQogfQpAQCAtNDkxLDcgKzUwMiw3IEBAIHZvaWQgdnA5X3hmb3Jt
X3F1YW50KE1BQ1JPQkxPQ0sgKngsIGludCBwbGFuZSwgaW50IGJsb2NrLCBpbnQgcm93LCBpbnQg
Y29sLAogICBNQUNST0JMT0NLRCAqY29uc3QgeGQgPSAmeC0+ZV9tYmQ7CiAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBwID0gJngtPnBsYW5lW3BsYW5lXTsKICAgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tkX3BsYW5lICpjb25zdCBwZCA9ICZ4ZC0+cGxhbmVbcGxhbmVdOwot
ICBjb25zdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIgPSAmdnA5X2RlZmF1bHRfc2Nhbl9v
cmRlcnNbdHhfc2l6ZV07CisgIGNvbnN0IHNjYW5fb3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIgPSAm
dnA5X2RlZmF1bHRfc2Nhbl9vcmRlcnNbdHhfc2l6ZV07CiAgIHRyYW5fbG93X3QgKmNvbnN0IGNv
ZWZmID0gQkxPQ0tfT0ZGU0VUKHAtPmNvZWZmLCBibG9jayk7CiAgIHRyYW5fbG93X3QgKmNvbnN0
IHFjb2VmZiA9IEJMT0NLX09GRlNFVChwLT5xY29lZmYsIGJsb2NrKTsKICAgdHJhbl9sb3dfdCAq
Y29uc3QgZHFjb2VmZiA9IEJMT0NLX09GRlNFVChwZC0+ZHFjb2VmZiwgYmxvY2spOwpAQCAtNTA3
LDI0ICs1MTgsMzIgQEAgdm9pZCB2cDlfeGZvcm1fcXVhbnQoTUFDUk9CTE9DSyAqeCwgaW50IHBs
YW5lLCBpbnQgYmxvY2ssIGludCByb3csIGludCBjb2wsCiAgICAgc3dpdGNoICh0eF9zaXplKSB7
CiAgICAgICBjYXNlIFRYXzMyWDMyOgogICAgICAgICBoaWdoYmRfZmRjdDMyeDMyKHgtPnVzZV9s
cDMyeDMyZmRjdCwgc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAgICAgIHZweF9o
aWdoYmRfcXVhbnRpemVfYl8zMngzMihjb2VmZiwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVx
dWFudCwgZW9iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRl
cik7CisgICAgICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMihjb2VmZiwgMTAyNCwgeC0+
c2tpcF9ibG9jaywgcC0+emJpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHAtPnJvdW5kLCBwLT5xdWFudCwgcC0+cXVhbnRfc2hpZnQsIHFjb2VmZiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsIHNjYW5f
b3JkZXItPnNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29y
ZGVyLT5pc2Nhbik7CiAgICAgICAgIGJyZWFrOwogICAgICAgY2FzZSBUWF8xNlgxNjoKICAgICAg
ICAgdnB4X2hpZ2hiZF9mZGN0MTZ4MTYoc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0g
ICAgICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYihjb2VmZiwgMjU2LCBwLCBxY29lZmYsIGRxY29l
ZmYsIHBkLT5kZXF1YW50LCBlb2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2Fu
X29yZGVyKTsKKyAgICAgICAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iKGNvZWZmLCAyNTYsIHgtPnNr
aXBfYmxvY2ssIHAtPnpiaW4sIHAtPnJvdW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcC0+cXVhbnQsIHAtPnF1YW50X3NoaWZ0LCBxY29lZmYsIGRxY29lZmYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwZC0+ZGVxdWFudCwgZW9iLCBzY2FuX29yZGVyLT5zY2FuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlci0+aXNjYW4pOwogICAgICAg
ICBicmVhazsKICAgICAgIGNhc2UgVFhfOFg4OgogICAgICAgICB2cHhfaGlnaGJkX2ZkY3Q4eDgo
c3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAgICAgIHZweF9oaWdoYmRfcXVhbnRp
emVfYihjb2VmZiwgNjQsIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXIpOworICAgICAgICB2cHhfaGln
aGJkX3F1YW50aXplX2IoY29lZmYsIDY0LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBwLT5yb3Vu
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50LCBwLT5xdWFudF9zaGlm
dCwgcWNvZWZmLCBkcWNvZWZmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGQtPmRl
cXVhbnQsIGVvYiwgc2Nhbl9vcmRlci0+c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNjYW5fb3JkZXItPmlzY2FuKTsKICAgICAgICAgYnJlYWs7CiAgICAgICBkZWZhdWx0Ogog
ICAgICAgICBhc3NlcnQodHhfc2l6ZSA9PSBUWF80WDQpOwogICAgICAgICB4LT5md2RfdHhmbTR4
NChzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgICAgdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iKGNvZWZmLCAxNiwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlcik7CisgICAgICAgIHZweF9o
aWdoYmRfcXVhbnRpemVfYihjb2VmZiwgMTYsIHgtPnNraXBfYmxvY2ssIHAtPnpiaW4sIHAtPnJv
dW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+cXVhbnQsIHAtPnF1YW50X3No
aWZ0LCBxY29lZmYsIGRxY29lZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZC0+
ZGVxdWFudCwgZW9iLCBzY2FuX29yZGVyLT5zY2FuLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2Nhbl9vcmRlci0+aXNjYW4pOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0
dXJuOwpAQCAtNTM0LDI0ICs1NTMsMjkgQEAgdm9pZCB2cDlfeGZvcm1fcXVhbnQoTUFDUk9CTE9D
SyAqeCwgaW50IHBsYW5lLCBpbnQgYmxvY2ssIGludCByb3csIGludCBjb2wsCiAgIHN3aXRjaCAo
dHhfc2l6ZSkgewogICAgIGNhc2UgVFhfMzJYMzI6CiAgICAgICBmZGN0MzJ4MzIoeC0+dXNlX2xw
MzJ4MzJmZGN0LCBzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgIHZweF9xdWFu
dGl6ZV9iXzMyeDMyKGNvZWZmLCBwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2Is
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAgIHZweF9xdWFu
dGl6ZV9iXzMyeDMyKGNvZWZmLCAxMDI0LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBwLT5yb3Vu
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50LCBwLT5xdWFudF9zaGlmdCwg
cWNvZWZmLCBkcWNvZWZmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcGQtPmRlcXVhbnQs
IGVvYiwgc2Nhbl9vcmRlci0+c2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYW5f
b3JkZXItPmlzY2FuKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgVFhfMTZYMTY6CiAgICAgICB2
cHhfZmRjdDE2eDE2KHNyY19kaWZmLCBjb2VmZiwgZGlmZl9zdHJpZGUpOwotICAgICAgdnB4X3F1
YW50aXplX2IoY29lZmYsIDI1NiwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9i
LAotICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlcik7CisgICAgICB2cHhfcXVhbnRpemVf
Yihjb2VmZiwgMjU2LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBwLT5yb3VuZCwgcC0+cXVhbnQs
CisgICAgICAgICAgICAgICAgICAgICBwLT5xdWFudF9zaGlmdCwgcWNvZWZmLCBkcWNvZWZmLCBw
ZC0+ZGVxdWFudCwgZW9iLAorICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlci0+c2Nhbiwg
c2Nhbl9vcmRlci0+aXNjYW4pOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBUWF84WDg6CiAgICAg
ICB2cHhfZmRjdDh4OChzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgIHZweF9x
dWFudGl6ZV9iKGNvZWZmLCA2NCwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9i
LAotICAgICAgICAgICAgICAgICAgICAgc2Nhbl9vcmRlcik7CisgICAgICB2cHhfcXVhbnRpemVf
Yihjb2VmZiwgNjQsIHgtPnNraXBfYmxvY2ssIHAtPnpiaW4sIHAtPnJvdW5kLCBwLT5xdWFudCwK
KyAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50X3NoaWZ0LCBxY29lZmYsIGRxY29lZmYsIHBk
LT5kZXF1YW50LCBlb2IsCisgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyLT5zY2FuLCBz
Y2FuX29yZGVyLT5pc2Nhbik7CiAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgYXNz
ZXJ0KHR4X3NpemUgPT0gVFhfNFg0KTsKICAgICAgIHgtPmZ3ZF90eGZtNHg0KHNyY19kaWZmLCBj
b2VmZiwgZGlmZl9zdHJpZGUpOwotICAgICAgdnB4X3F1YW50aXplX2IoY29lZmYsIDE2LCBwLCBx
Y29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsCi0gICAgICAgICAgICAgICAgICAgICBz
Y2FuX29yZGVyKTsKKyAgICAgIHZweF9xdWFudGl6ZV9iKGNvZWZmLCAxNiwgeC0+c2tpcF9ibG9j
aywgcC0+emJpbiwgcC0+cm91bmQsIHAtPnF1YW50LAorICAgICAgICAgICAgICAgICAgICAgcC0+
cXVhbnRfc2hpZnQsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKKyAgICAgICAg
ICAgICAgICAgICAgIHNjYW5fb3JkZXItPnNjYW4sIHNjYW5fb3JkZXItPmlzY2FuKTsKICAgICAg
IGJyZWFrOwogICB9CiB9CkBAIC03NDcsMjMgKzc3MSwxMCBAQCB2b2lkIHZwOV9lbmNvZGVfc2Io
TUFDUk9CTE9DSyAqeCwgQkxPQ0tfU0laRSBic2l6ZSwgaW50IG1pX3JvdywgaW50IG1pX2NvbCwK
ICAgTU9ERV9JTkZPICptaSA9IHhkLT5taVswXTsKICAgaW50IHBsYW5lOwogI2lmIENPTkZJR19N
SVNNQVRDSF9ERUJVRwotICBzdHJ1Y3QgZW5jb2RlX2JfYXJncyBhcmcgPSB7IHgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMSwgICAgIC8vIGVuYWJsZV90cmVsbGlzX29wdAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMCwgICAvLyB0cmVsbGlzX29wdF90aHJlc2gK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAgLy8gJnNzZV9jYWxjX2RvbmUK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAgLy8gJnNzZQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsICAvLyBhYm92ZSBlbnRyb3B5IGNvbnRleHQKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAgLy8gbGVmdCBlbnRyb3B5IGNvbnRl
eHQKKyAgc3RydWN0IGVuY29kZV9iX2FyZ3MgYXJnID0geyB4LCAgICAgICAgIDEsICAgICAgTlVM
TCwgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtaS0+c2tpcCwgbWlf
cm93LCBtaV9jb2wsIG91dHB1dF9lbmFibGVkIH07CiAjZWxzZQotICBzdHJ1Y3QgZW5jb2RlX2Jf
YXJncyBhcmcgPSB7IHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgICAgIC8v
IGVuYWJsZV90cmVsbGlzX29wdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMCwg
ICAvLyB0cmVsbGlzX29wdF90aHJlc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMLCAgLy8gJnNzZV9jYWxjX2RvbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMLCAgLy8gJnNzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsICAvLyBh
Ym92ZSBlbnRyb3B5IGNvbnRleHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
LCAgLy8gbGVmdCBlbnRyb3B5IGNvbnRleHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmbWktPnNraXAgfTsKKyAgc3RydWN0IGVuY29kZV9iX2FyZ3MgYXJnID0geyB4LCAxLCBOVUxM
LCBOVUxMLCAmbWktPnNraXAgfTsKICAgKHZvaWQpbWlfcm93OwogICAodm9pZCltaV9jb2w7CiAg
ICh2b2lkKW91dHB1dF9lbmFibGVkOwpAQCAtNzgxLDkgKzc5Miw5IEBAIHZvaWQgdnA5X2VuY29k
ZV9zYihNQUNST0JMT0NLICp4LCBCTE9DS19TSVpFIGJzaXplLCBpbnQgbWlfcm93LCBpbnQgbWlf
Y29sLAogICAgICAgY29uc3QgVFhfU0laRSB0eF9zaXplID0gcGxhbmUgPyBnZXRfdXZfdHhfc2l6
ZShtaSwgcGQpIDogbWktPnR4X3NpemU7CiAgICAgICB2cDlfZ2V0X2VudHJvcHlfY29udGV4dHMo
YnNpemUsIHR4X3NpemUsIHBkLCBjdHgudGFbcGxhbmVdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGN0eC50bFtwbGFuZV0pOwotICAgICAgYXJnLmVuYWJsZV90cmVsbGlzX29wdCA9
IDE7CisgICAgICBhcmcuZW5hYmxlX2NvZWZmX29wdCA9IDE7CiAgICAgfSBlbHNlIHsKLSAgICAg
IGFyZy5lbmFibGVfdHJlbGxpc19vcHQgPSAwOworICAgICAgYXJnLmVuYWJsZV9jb2VmZl9vcHQg
PSAwOwogICAgIH0KICAgICBhcmcudGEgPSBjdHgudGFbcGxhbmVdOwogICAgIGFyZy50bCA9IGN0
eC50bFtwbGFuZV07CkBAIC04MDUsNyArODE2LDcgQEAgdm9pZCB2cDlfZW5jb2RlX2Jsb2NrX2lu
dHJhKGludCBwbGFuZSwgaW50IGJsb2NrLCBpbnQgcm93LCBpbnQgY29sLAogICB0cmFuX2xvd190
ICpjb2VmZiA9IEJMT0NLX09GRlNFVChwLT5jb2VmZiwgYmxvY2spOwogICB0cmFuX2xvd190ICpx
Y29lZmYgPSBCTE9DS19PRkZTRVQocC0+cWNvZWZmLCBibG9jayk7CiAgIHRyYW5fbG93X3QgKmRx
Y29lZmYgPSBCTE9DS19PRkZTRVQocGQtPmRxY29lZmYsIGJsb2NrKTsKLSAgY29uc3QgU2Nhbk9y
ZGVyICpzY2FuX29yZGVyOworICBjb25zdCBzY2FuX29yZGVyICpzY2FuX29yZGVyOwogICBUWF9U
WVBFIHR4X3R5cGUgPSBEQ1RfRENUOwogICBQUkVESUNUSU9OX01PREUgbW9kZTsKICAgY29uc3Qg
aW50IGJ3bCA9IGJfd2lkdGhfbG9nMl9sb29rdXBbcGxhbmVfYnNpemVdOwpAQCAtODE1LDEzICs4
MjYsMTcgQEAgdm9pZCB2cDlfZW5jb2RlX2Jsb2NrX2ludHJhKGludCBwbGFuZSwgaW50IGJsb2Nr
LCBpbnQgcm93LCBpbnQgY29sLAogICB1aW50MTZfdCAqZW9iID0gJnAtPmVvYnNbYmxvY2tdOwog
ICBjb25zdCBpbnQgc3JjX3N0cmlkZSA9IHAtPnNyYy5zdHJpZGU7CiAgIGNvbnN0IGludCBkc3Rf
c3RyaWRlID0gcGQtPmRzdC5zdHJpZGU7Ci0gIGludCBlbmFibGVfdHJlbGxpc19vcHQgPSAheC0+
c2tpcF9yZWNvZGU7CiAgIEVOVFJPUFlfQ09OVEVYVCAqYSA9IE5VTEw7CiAgIEVOVFJPUFlfQ09O
VEVYVCAqbCA9IE5VTEw7CiAgIGludCBlbnRyb3B5X2N0eCA9IDA7CiAgIGRzdCA9ICZwZC0+ZHN0
LmJ1Zls0ICogKHJvdyAqIGRzdF9zdHJpZGUgKyBjb2wpXTsKICAgc3JjID0gJnAtPnNyYy5idWZb
NCAqIChyb3cgKiBzcmNfc3RyaWRlICsgY29sKV07CiAgIHNyY19kaWZmID0gJnAtPnNyY19kaWZm
WzQgKiAocm93ICogZGlmZl9zdHJpZGUgKyBjb2wpXTsKKyAgaWYgKGFyZ3MtPmVuYWJsZV9jb2Vm
Zl9vcHQpIHsKKyAgICBhID0gJmFyZ3MtPnRhW2NvbF07CisgICAgbCA9ICZhcmdzLT50bFtyb3dd
OworICAgIGVudHJvcHlfY3R4ID0gY29tYmluZV9lbnRyb3B5X2NvbnRleHRzKCphLCAqbCk7Cisg
IH0KIAogICBpZiAodHhfc2l6ZSA9PSBUWF80WDQpIHsKICAgICB0eF90eXBlID0gZ2V0X3R4X3R5
cGVfNHg0KGdldF9wbGFuZV90eXBlKHBsYW5lKSwgeGQsIGJsb2NrKTsKQEAgLTg0NSw0MiArODYw
LDIxIEBAIHZvaWQgdnA5X2VuY29kZV9ibG9ja19pbnRyYShpbnQgcGxhbmUsIGludCBibG9jaywg
aW50IHJvdywgaW50IGNvbCwKICAgLy8gc2tpcCBibG9jayBjb25kaXRpb24gc2hvdWxkIGJlIGhh
bmRsZWQgYmVmb3JlIHRoaXMgaXMgY2FsbGVkLgogICBhc3NlcnQoIXgtPnNraXBfYmxvY2spOwog
Ci0gIGlmICgheC0+c2tpcF9yZWNvZGUpIHsKLSAgICBjb25zdCBpbnQgdHhfc2l6ZV9pbl9waXhl
bHMgPSAoMSA8PCB0eF9zaXplKSA8PCAyOwotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0g
ICAgaWYgKHhkLT5jdXJfYnVmLT5mbGFncyAmIFlWMTJfRkxBR19ISUdIQklUREVQVEgpIHsKLSAg
ICAgIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2sodHhfc2l6ZV9pbl9waXhlbHMsIHR4X3NpemVf
aW5fcGl4ZWxzLCBzcmNfZGlmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlm
Zl9zdHJpZGUsIHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB4ZC0+YmQpOwotICAgIH0gZWxzZSB7Ci0gICAgICB2cHhfc3Vi
dHJhY3RfYmxvY2sodHhfc2l6ZV9pbl9waXhlbHMsIHR4X3NpemVfaW5fcGl4ZWxzLCBzcmNfZGlm
ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkaWZmX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRl
LCBkc3QsIGRzdF9zdHJpZGUpOwotICAgIH0KLSNlbHNlCi0gICAgdnB4X3N1YnRyYWN0X2Jsb2Nr
KHR4X3NpemVfaW5fcGl4ZWxzLCB0eF9zaXplX2luX3BpeGVscywgc3JjX2RpZmYsCi0gICAgICAg
ICAgICAgICAgICAgICAgIGRpZmZfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0
cmlkZSk7Ci0jZW5kaWYKLSAgICBlbmFibGVfdHJlbGxpc19vcHQgPSBkb190cmVsbGlzX29wdChw
ZCwgc3JjX2RpZmYsIGRpZmZfc3RyaWRlLCByb3csIGNvbCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwbGFuZV9ic2l6ZSwgdHhfc2l6ZSwgYXJncyk7Ci0gIH0KLQot
ICBpZiAoZW5hYmxlX3RyZWxsaXNfb3B0KSB7Ci0gICAgYSA9ICZhcmdzLT50YVtjb2xdOwotICAg
IGwgPSAmYXJncy0+dGxbcm93XTsKLSAgICBlbnRyb3B5X2N0eCA9IGNvbWJpbmVfZW50cm9weV9j
b250ZXh0cygqYSwgKmwpOwotICB9Ci0KICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogICBp
ZiAoeGQtPmN1cl9idWYtPmZsYWdzICYgWVYxMl9GTEFHX0hJR0hCSVRERVBUSCkgewogICAgIHVp
bnQxNl90ICpjb25zdCBkc3QxNiA9IENPTlZFUlRfVE9fU0hPUlRQVFIoZHN0KTsKICAgICBzd2l0
Y2ggKHR4X3NpemUpIHsKICAgICAgIGNhc2UgVFhfMzJYMzI6CiAgICAgICAgIGlmICgheC0+c2tp
cF9yZWNvZGUpIHsKKyAgICAgICAgICB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrKDMyLCAzMiwg
c3JjX2RpZmYsIGRpZmZfc3RyaWRlLCBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIHhkLT5iZCk7CiAgICAgICAgICAg
aGlnaGJkX2ZkY3QzMngzMih4LT51c2VfbHAzMngzMmZkY3QsIHNyY19kaWZmLCBjb2VmZiwgZGlm
Zl9zdHJpZGUpOwotICAgICAgICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMihjb2VmZiwg
cCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZW9iLCBzY2FuX29yZGVyKTsKKyAgICAgICAgICB2cHhfaGlnaGJkX3F1
YW50aXplX2JfMzJ4MzIoY29lZmYsIDEwMjQsIHgtPnNraXBfYmxvY2ssIHAtPnpiaW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnJvdW5kLCBwLT5xdWFudCwgcC0+
cXVhbnRfc2hpZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFjb2Vm
ZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2Nhbl9vcmRlci0+c2Nhbiwgc2Nhbl9vcmRlci0+aXNjYW4pOwogICAgICAg
ICB9Ci0gICAgICAgIGlmIChlbmFibGVfdHJlbGxpc19vcHQpIHsKKyAgICAgICAgaWYgKGFyZ3Mt
PmVuYWJsZV9jb2VmZl9vcHQgJiYgIXgtPnNraXBfcmVjb2RlKSB7CiAgICAgICAgICAgKmEgPSAq
bCA9IHZwOV9vcHRpbWl6ZV9iKHgsIHBsYW5lLCBibG9jaywgdHhfc2l6ZSwgZW50cm9weV9jdHgp
ID4gMDsKICAgICAgICAgfQogICAgICAgICBpZiAoIXgtPnNraXBfZW5jb2RlICYmICplb2IpIHsK
QEAgLTg4OSwxNCArODgzLDE4IEBAIHZvaWQgdnA5X2VuY29kZV9ibG9ja19pbnRyYShpbnQgcGxh
bmUsIGludCBibG9jaywgaW50IHJvdywgaW50IGNvbCwKICAgICAgICAgYnJlYWs7CiAgICAgICBj
YXNlIFRYXzE2WDE2OgogICAgICAgICBpZiAoIXgtPnNraXBfcmVjb2RlKSB7CisgICAgICAgICAg
dnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jaygxNiwgMTYsIHNyY19kaWZmLCBkaWZmX3N0cmlkZSwg
c3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0
LCBkc3Rfc3RyaWRlLCB4ZC0+YmQpOwogICAgICAgICAgIGlmICh0eF90eXBlID09IERDVF9EQ1Qp
CiAgICAgICAgICAgICB2cHhfaGlnaGJkX2ZkY3QxNngxNihzcmNfZGlmZiwgY29lZmYsIGRpZmZf
c3RyaWRlKTsKICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB2cDlfaGlnaGJkX2ZodDE2eDE2
KHNyY19kaWZmLCBjb2VmZiwgZGlmZl9zdHJpZGUsIHR4X3R5cGUpOwotICAgICAgICAgIHZweF9o
aWdoYmRfcXVhbnRpemVfYihjb2VmZiwgMjU2LCBwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1
YW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlb2IsIHNjYW5fb3JkZXIpOwor
ICAgICAgICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYihjb2VmZiwgMjU2LCB4LT5za2lwX2Jsb2Nr
LCBwLT56YmluLCBwLT5yb3VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+
cXVhbnQsIHAtPnF1YW50X3NoaWZ0LCBxY29lZmYsIGRxY29lZmYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBkLT5kZXF1YW50LCBlb2IsIHNjYW5fb3JkZXItPnNjYW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXItPmlzY2FuKTsKICAgICAgICAg
fQotICAgICAgICBpZiAoZW5hYmxlX3RyZWxsaXNfb3B0KSB7CisgICAgICAgIGlmIChhcmdzLT5l
bmFibGVfY29lZmZfb3B0ICYmICF4LT5za2lwX3JlY29kZSkgewogICAgICAgICAgICphID0gKmwg
PSB2cDlfb3B0aW1pemVfYih4LCBwbGFuZSwgYmxvY2ssIHR4X3NpemUsIGVudHJvcHlfY3R4KSA+
IDA7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCF4LT5za2lwX2VuY29kZSAmJiAqZW9iKSB7CkBA
IC05MDYsMTQgKzkwNCwxOCBAQCB2b2lkIHZwOV9lbmNvZGVfYmxvY2tfaW50cmEoaW50IHBsYW5l
LCBpbnQgYmxvY2ssIGludCByb3csIGludCBjb2wsCiAgICAgICAgIGJyZWFrOwogICAgICAgY2Fz
ZSBUWF84WDg6CiAgICAgICAgIGlmICgheC0+c2tpcF9yZWNvZGUpIHsKKyAgICAgICAgICB2cHhf
aGlnaGJkX3N1YnRyYWN0X2Jsb2NrKDgsIDgsIHNyY19kaWZmLCBkaWZmX3N0cmlkZSwgc3JjLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0LCBkc3Rf
c3RyaWRlLCB4ZC0+YmQpOwogICAgICAgICAgIGlmICh0eF90eXBlID09IERDVF9EQ1QpCiAgICAg
ICAgICAgICB2cHhfaGlnaGJkX2ZkY3Q4eDgoc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7
CiAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgdnA5X2hpZ2hiZF9maHQ4eDgoc3JjX2RpZmYs
IGNvZWZmLCBkaWZmX3N0cmlkZSwgdHhfdHlwZSk7Ci0gICAgICAgICAgdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iKGNvZWZmLCA2NCwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAgICAgICB2
cHhfaGlnaGJkX3F1YW50aXplX2IoY29lZmYsIDY0LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBw
LT5yb3VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+cXVhbnQsIHAtPnF1
YW50X3NoaWZ0LCBxY29lZmYsIGRxY29lZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBkLT5kZXF1YW50LCBlb2IsIHNjYW5fb3JkZXItPnNjYW4sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNjYW5fb3JkZXItPmlzY2FuKTsKICAgICAgICAgfQotICAgICAgICBp
ZiAoZW5hYmxlX3RyZWxsaXNfb3B0KSB7CisgICAgICAgIGlmIChhcmdzLT5lbmFibGVfY29lZmZf
b3B0ICYmICF4LT5za2lwX3JlY29kZSkgewogICAgICAgICAgICphID0gKmwgPSB2cDlfb3B0aW1p
emVfYih4LCBwbGFuZSwgYmxvY2ssIHR4X3NpemUsIGVudHJvcHlfY3R4KSA+IDA7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKCF4LT5za2lwX2VuY29kZSAmJiAqZW9iKSB7CkBAIC05MjQsMTQgKzky
NiwxOCBAQCB2b2lkIHZwOV9lbmNvZGVfYmxvY2tfaW50cmEoaW50IHBsYW5lLCBpbnQgYmxvY2ss
IGludCByb3csIGludCBjb2wsCiAgICAgICBkZWZhdWx0OgogICAgICAgICBhc3NlcnQodHhfc2l6
ZSA9PSBUWF80WDQpOwogICAgICAgICBpZiAoIXgtPnNraXBfcmVjb2RlKSB7CisgICAgICAgICAg
dnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jayg0LCA0LCBzcmNfZGlmZiwgZGlmZl9zdHJpZGUsIHNy
YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGUsIGRzdCwg
ZHN0X3N0cmlkZSwgeGQtPmJkKTsKICAgICAgICAgICBpZiAodHhfdHlwZSAhPSBEQ1RfRENUKQog
ICAgICAgICAgICAgdnA5X2hpZ2hiZF9maHQ0eDQoc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlk
ZSwgdHhfdHlwZSk7CiAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgeC0+ZndkX3R4Zm00eDQo
c3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAgICAgICAgdnB4X2hpZ2hiZF9xdWFu
dGl6ZV9iKGNvZWZmLCAxNiwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAgICAgICB2
cHhfaGlnaGJkX3F1YW50aXplX2IoY29lZmYsIDE2LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBw
LT5yb3VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+cXVhbnQsIHAtPnF1
YW50X3NoaWZ0LCBxY29lZmYsIGRxY29lZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBkLT5kZXF1YW50LCBlb2IsIHNjYW5fb3JkZXItPnNjYW4sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNjYW5fb3JkZXItPmlzY2FuKTsKICAgICAgICAgfQotICAgICAgICBp
ZiAoZW5hYmxlX3RyZWxsaXNfb3B0KSB7CisgICAgICAgIGlmIChhcmdzLT5lbmFibGVfY29lZmZf
b3B0ICYmICF4LT5za2lwX3JlY29kZSkgewogICAgICAgICAgICphID0gKmwgPSB2cDlfb3B0aW1p
emVfYih4LCBwbGFuZSwgYmxvY2ssIHR4X3NpemUsIGVudHJvcHlfY3R4KSA+IDA7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKCF4LT5za2lwX2VuY29kZSAmJiAqZW9iKSB7CkBAIC05NTUsMTEgKzk2
MSwxNSBAQCB2b2lkIHZwOV9lbmNvZGVfYmxvY2tfaW50cmEoaW50IHBsYW5lLCBpbnQgYmxvY2ss
IGludCByb3csIGludCBjb2wsCiAgIHN3aXRjaCAodHhfc2l6ZSkgewogICAgIGNhc2UgVFhfMzJY
MzI6CiAgICAgICBpZiAoIXgtPnNraXBfcmVjb2RlKSB7CisgICAgICAgIHZweF9zdWJ0cmFjdF9i
bG9jaygzMiwgMzIsIHNyY19kaWZmLCBkaWZmX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlLCBkc3Qs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlKTsKICAgICAgICAgZmRjdDMy
eDMyKHgtPnVzZV9scDMyeDMyZmRjdCwgc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0g
ICAgICAgIHZweF9xdWFudGl6ZV9iXzMyeDMyKGNvZWZmLCBwLCBxY29lZmYsIGRxY29lZmYsIHBk
LT5kZXF1YW50LCBlb2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXIp
OworICAgICAgICB2cHhfcXVhbnRpemVfYl8zMngzMihjb2VmZiwgMTAyNCwgeC0+c2tpcF9ibG9j
aywgcC0+emJpbiwgcC0+cm91bmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1
YW50LCBwLT5xdWFudF9zaGlmdCwgcWNvZWZmLCBkcWNvZWZmLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwZC0+ZGVxdWFudCwgZW9iLCBzY2FuX29yZGVyLT5zY2FuLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyLT5pc2Nhbik7CiAgICAgICB9Ci0gICAgICBp
ZiAoZW5hYmxlX3RyZWxsaXNfb3B0KSB7CisgICAgICBpZiAoYXJncy0+ZW5hYmxlX2NvZWZmX29w
dCAmJiAheC0+c2tpcF9yZWNvZGUpIHsKICAgICAgICAgKmEgPSAqbCA9IHZwOV9vcHRpbWl6ZV9i
KHgsIHBsYW5lLCBibG9jaywgdHhfc2l6ZSwgZW50cm9weV9jdHgpID4gMDsKICAgICAgIH0KICAg
ICAgIGlmICgheC0+c2tpcF9lbmNvZGUgJiYgKmVvYikKQEAgLTk2NywxMSArOTc3LDE0IEBAIHZv
aWQgdnA5X2VuY29kZV9ibG9ja19pbnRyYShpbnQgcGxhbmUsIGludCBibG9jaywgaW50IHJvdywg
aW50IGNvbCwKICAgICAgIGJyZWFrOwogICAgIGNhc2UgVFhfMTZYMTY6CiAgICAgICBpZiAoIXgt
PnNraXBfcmVjb2RlKSB7CisgICAgICAgIHZweF9zdWJ0cmFjdF9ibG9jaygxNiwgMTYsIHNyY19k
aWZmLCBkaWZmX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlLCBkc3QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkc3Rfc3RyaWRlKTsKICAgICAgICAgdnA5X2ZodDE2eDE2KHNyY19kaWZmLCBj
b2VmZiwgZGlmZl9zdHJpZGUsIHR4X3R5cGUpOwotICAgICAgICB2cHhfcXVhbnRpemVfYihjb2Vm
ZiwgMjU2LCBwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsCi0gICAgICAgICAg
ICAgICAgICAgICAgIHNjYW5fb3JkZXIpOworICAgICAgICB2cHhfcXVhbnRpemVfYihjb2VmZiwg
MjU2LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBwLT5yb3VuZCwgcC0+cXVhbnQsCisgICAgICAg
ICAgICAgICAgICAgICAgIHAtPnF1YW50X3NoaWZ0LCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1
YW50LCBlb2IsCisgICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXItPnNjYW4sIHNjYW5f
b3JkZXItPmlzY2FuKTsKICAgICAgIH0KLSAgICAgIGlmIChlbmFibGVfdHJlbGxpc19vcHQpIHsK
KyAgICAgIGlmIChhcmdzLT5lbmFibGVfY29lZmZfb3B0ICYmICF4LT5za2lwX3JlY29kZSkgewog
ICAgICAgICAqYSA9ICpsID0gdnA5X29wdGltaXplX2IoeCwgcGxhbmUsIGJsb2NrLCB0eF9zaXpl
LCBlbnRyb3B5X2N0eCkgPiAwOwogICAgICAgfQogICAgICAgaWYgKCF4LT5za2lwX2VuY29kZSAm
JiAqZW9iKQpAQCAtOTc5LDExICs5OTIsMTQgQEAgdm9pZCB2cDlfZW5jb2RlX2Jsb2NrX2ludHJh
KGludCBwbGFuZSwgaW50IGJsb2NrLCBpbnQgcm93LCBpbnQgY29sLAogICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBUWF84WDg6CiAgICAgICBpZiAoIXgtPnNraXBfcmVjb2RlKSB7CisgICAgICAgIHZw
eF9zdWJ0cmFjdF9ibG9jayg4LCA4LCBzcmNfZGlmZiwgZGlmZl9zdHJpZGUsIHNyYywgc3JjX3N0
cmlkZSwgZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3N0cmlkZSk7CiAgICAg
ICAgIHZwOV9maHQ4eDgoc3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSwgdHhfdHlwZSk7Ci0g
ICAgICAgIHZweF9xdWFudGl6ZV9iKGNvZWZmLCA2NCwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+
ZGVxdWFudCwgZW9iLAotICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAg
ICAgdnB4X3F1YW50aXplX2IoY29lZmYsIDY0LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBwLT5y
b3VuZCwgcC0+cXVhbnQsCisgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50X3NoaWZ0LCBx
Y29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsCisgICAgICAgICAgICAgICAgICAgICAg
IHNjYW5fb3JkZXItPnNjYW4sIHNjYW5fb3JkZXItPmlzY2FuKTsKICAgICAgIH0KLSAgICAgIGlm
IChlbmFibGVfdHJlbGxpc19vcHQpIHsKKyAgICAgIGlmIChhcmdzLT5lbmFibGVfY29lZmZfb3B0
ICYmICF4LT5za2lwX3JlY29kZSkgewogICAgICAgICAqYSA9ICpsID0gdnA5X29wdGltaXplX2Io
eCwgcGxhbmUsIGJsb2NrLCB0eF9zaXplLCBlbnRyb3B5X2N0eCkgPiAwOwogICAgICAgfQogICAg
ICAgaWYgKCF4LT5za2lwX2VuY29kZSAmJiAqZW9iKQpAQCAtOTkyLDE0ICsxMDA4LDE3IEBAIHZv
aWQgdnA5X2VuY29kZV9ibG9ja19pbnRyYShpbnQgcGxhbmUsIGludCBibG9jaywgaW50IHJvdywg
aW50IGNvbCwKICAgICBkZWZhdWx0OgogICAgICAgYXNzZXJ0KHR4X3NpemUgPT0gVFhfNFg0KTsK
ICAgICAgIGlmICgheC0+c2tpcF9yZWNvZGUpIHsKKyAgICAgICAgdnB4X3N1YnRyYWN0X2Jsb2Nr
KDQsIDQsIHNyY19kaWZmLCBkaWZmX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlLCBkc3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlKTsKICAgICAgICAgaWYgKHR4X3R5cGUg
IT0gRENUX0RDVCkKICAgICAgICAgICB2cDlfZmh0NHg0KHNyY19kaWZmLCBjb2VmZiwgZGlmZl9z
dHJpZGUsIHR4X3R5cGUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgeC0+ZndkX3R4Zm00eDQo
c3JjX2RpZmYsIGNvZWZmLCBkaWZmX3N0cmlkZSk7Ci0gICAgICAgIHZweF9xdWFudGl6ZV9iKGNv
ZWZmLCAxNiwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9iLAotICAgICAgICAg
ICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAgICAgdnB4X3F1YW50aXplX2IoY29lZmYs
IDE2LCB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBwLT5yb3VuZCwgcC0+cXVhbnQsCisgICAgICAg
ICAgICAgICAgICAgICAgIHAtPnF1YW50X3NoaWZ0LCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1
YW50LCBlb2IsCisgICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXItPnNjYW4sIHNjYW5f
b3JkZXItPmlzY2FuKTsKICAgICAgIH0KLSAgICAgIGlmIChlbmFibGVfdHJlbGxpc19vcHQpIHsK
KyAgICAgIGlmIChhcmdzLT5lbmFibGVfY29lZmZfb3B0ICYmICF4LT5za2lwX3JlY29kZSkgewog
ICAgICAgICAqYSA9ICpsID0gdnA5X29wdGltaXplX2IoeCwgcGxhbmUsIGJsb2NrLCB0eF9zaXpl
LCBlbnRyb3B5X2N0eCkgPiAwOwogICAgICAgfQogICAgICAgaWYgKCF4LT5za2lwX2VuY29kZSAm
JiAqZW9iKSB7CkBAIC0xMDE3LDQzICsxMDM2LDI4IEBAIHZvaWQgdnA5X2VuY29kZV9ibG9ja19p
bnRyYShpbnQgcGxhbmUsIGludCBibG9jaywgaW50IHJvdywgaW50IGNvbCwKIH0KIAogdm9pZCB2
cDlfZW5jb2RlX2ludHJhX2Jsb2NrX3BsYW5lKE1BQ1JPQkxPQ0sgKngsIEJMT0NLX1NJWkUgYnNp
emUsIGludCBwbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZW5h
YmxlX3RyZWxsaXNfb3B0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGVuYWJsZV9vcHRpbWl6ZV9iKSB7CiAgIGNvbnN0IE1BQ1JPQkxPQ0tEICpjb25zdCB4ZCA9ICZ4
LT5lX21iZDsKICAgc3RydWN0IG9wdGltaXplX2N0eCBjdHg7CiAjaWYgQ09ORklHX01JU01BVENI
X0RFQlVHCiAgIC8vIFRPRE8oYW5naWViaXJkKTogbWFrZSBtaXNtYXRjaF9kZWJ1ZyBzdXBwb3J0
IGludHJhIG1vZGUKICAgc3RydWN0IGVuY29kZV9iX2FyZ3MgYXJnID0gewotICAgIHgsCi0gICAg
ZW5hYmxlX3RyZWxsaXNfb3B0LAotICAgIDAuMCwgICAvLyB0cmVsbGlzX29wdF90aHJlc2gKLSAg
ICBOVUxMLCAgLy8gJnNzZV9jYWxjX2RvbmUKLSAgICBOVUxMLCAgLy8gJnNzZQotICAgIGN0eC50
YVtwbGFuZV0sCi0gICAgY3R4LnRsW3BsYW5lXSwKLSAgICAmeGQtPm1pWzBdLT5za2lwLAotICAg
IDAsICAvLyBtaV9yb3cKLSAgICAwLCAgLy8gbWlfY29sCi0gICAgMCAgIC8vIG91dHB1dF9lbmFi
bGVkCisgICAgeCwgZW5hYmxlX29wdGltaXplX2IsIGN0eC50YVtwbGFuZV0sIGN0eC50bFtwbGFu
ZV0sICZ4ZC0+bWlbMF0tPnNraXAsIDAsIDAsCisgICAgMAogICB9OwogI2Vsc2UKLSAgc3RydWN0
IGVuY29kZV9iX2FyZ3MgYXJnID0geyB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVuYWJsZV90cmVsbGlzX29wdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAs
ICAgLy8gdHJlbGxpc19vcHRfdGhyZXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCwgIC8vICZzc2VfY2FsY19kb25lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCwgIC8vICZzc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgudGFbcGxh
bmVdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC50bFtwbGFuZV0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnhkLT5taVswXS0+c2tpcCB9OworICBzdHJ1Y3Qg
ZW5jb2RlX2JfYXJncyBhcmcgPSB7IHgsIGVuYWJsZV9vcHRpbWl6ZV9iLCBjdHgudGFbcGxhbmVd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC50bFtwbGFuZV0sICZ4ZC0+bWlb
MF0tPnNraXAgfTsKICNlbmRpZgogCi0gIGlmIChlbmFibGVfdHJlbGxpc19vcHQgJiYgeC0+b3B0
aW1pemUgJiYKKyAgaWYgKGVuYWJsZV9vcHRpbWl6ZV9iICYmIHgtPm9wdGltaXplICYmCiAgICAg
ICAoIXgtPnNraXBfcmVjb2RlIHx8ICF4LT5za2lwX29wdGltaXplKSkgewogICAgIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrZF9wbGFuZSAqY29uc3QgcGQgPSAmeGQtPnBsYW5lW3BsYW5lXTsKICAg
ICBjb25zdCBUWF9TSVpFIHR4X3NpemUgPQogICAgICAgICBwbGFuZSA/IGdldF91dl90eF9zaXpl
KHhkLT5taVswXSwgcGQpIDogeGQtPm1pWzBdLT50eF9zaXplOwogICAgIHZwOV9nZXRfZW50cm9w
eV9jb250ZXh0cyhic2l6ZSwgdHhfc2l6ZSwgcGQsIGN0eC50YVtwbGFuZV0sIGN0eC50bFtwbGFu
ZV0pOwogICB9IGVsc2UgewotICAgIGFyZy5lbmFibGVfdHJlbGxpc19vcHQgPSAwOworICAgIGFy
Zy5lbmFibGVfY29lZmZfb3B0ID0gMDsKICAgfQogCiAgIHZwOV9mb3JlYWNoX3RyYW5zZm9ybWVk
X2Jsb2NrX2luX3BsYW5lKHhkLCBic2l6ZSwgcGxhbmUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVtYi5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
ZW5jb2RlbWIuaAppbmRleCAxMzkxNDQ2YmVkM2QuLjE5NzVlZTczYWNkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2RlbWIuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3ZwOV9lbmNvZGVtYi5oCkBAIC0yMCwxMCArMjAsNyBAQCBleHRlcm4gIkMiIHsK
IAogc3RydWN0IGVuY29kZV9iX2FyZ3MgewogICBNQUNST0JMT0NLICp4OwotICBpbnQgZW5hYmxl
X3RyZWxsaXNfb3B0OwotICBkb3VibGUgdHJlbGxpc19vcHRfdGhyZXNoOwotICBpbnQgKnNzZV9j
YWxjX2RvbmU7Ci0gIGludDY0X3QgKnNzZTsKKyAgaW50IGVuYWJsZV9jb2VmZl9vcHQ7CiAgIEVO
VFJPUFlfQ09OVEVYVCAqdGE7CiAgIEVOVFJPUFlfQ09OVEVYVCAqdGw7CiAgIGludDhfdCAqc2tp
cDsKQEAgLTUxLDcgKzQ4LDcgQEAgdm9pZCB2cDlfZW5jb2RlX2Jsb2NrX2ludHJhKGludCBwbGFu
ZSwgaW50IGJsb2NrLCBpbnQgcm93LCBpbnQgY29sLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEJMT0NLX1NJWkUgcGxhbmVfYnNpemUsIFRYX1NJWkUgdHhfc2l6ZSwgdm9pZCAqYXJnKTsK
IAogdm9pZCB2cDlfZW5jb2RlX2ludHJhX2Jsb2NrX3BsYW5lKE1BQ1JPQkxPQ0sgKngsIEJMT0NL
X1NJWkUgYnNpemUsIGludCBwbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZW5hYmxlX3RyZWxsaXNfb3B0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZW5hYmxlX29wdGltaXplX2IpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0gIC8v
IGV4dGVybiAiQyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29k
ZXIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZXIuYwppbmRleCA5OTNlNjMx
MGViMWMuLmIyYThhYzAzZmQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfZW5jb2Rlci5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2VuY29kZXIuYwpA
QCAtMTIsNyArMTIsNiBAQAogI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDxzdGRpby5oPgog
I2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaW5jbHVkZSAiLi92
cDlfcnRjZC5oIgogI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgpAQCAtMjYsNyArMjUsNiBAQAog
I2VuZGlmCiAjaW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgogI2luY2x1ZGUgInZweF9wb3J0cy9z
eXN0ZW1fc3RhdGUuaCIKLSNpbmNsdWRlICJ2cHhfcG9ydHMvdnB4X29uY2UuaCIKICNpbmNsdWRl
ICJ2cHhfcG9ydHMvdnB4X3RpbWVyLmgiCiAjaWYgQ09ORklHX0JJVFNUUkVBTV9ERUJVRyB8fCBD
T05GSUdfTUlTTUFUQ0hfREVCVUcKICNpbmNsdWRlICJ2cHhfdXRpbC92cHhfZGVidWdfdXRpbC5o
IgpAQCAtMzUsMTIgKzMzLDE2IEBACiAjaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfYWxsb2Njb21t
b24uaCIKICNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9maWx0ZXIuaCIKICNpbmNsdWRlICJ2cDkv
Y29tbW9uL3ZwOV9pZGN0LmgiCisjaWYgQ09ORklHX05PTl9HUkVFRFlfTVYKKyNpbmNsdWRlICJ2
cDkvY29tbW9uL3ZwOV9tdnJlZl9jb21tb24uaCIKKyNlbmRpZgogI2lmIENPTkZJR19WUDlfUE9T
VFBST0MKICNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9wb3N0cHJvYy5oIgogI2VuZGlmCiAjaW5j
bHVkZSAidnA5L2NvbW1vbi92cDlfcmVjb25pbnRlci5oIgogI2luY2x1ZGUgInZwOS9jb21tb24v
dnA5X3JlY29uaW50cmEuaCIKICNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV90aWxlX2NvbW1vbi5o
IgorI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X3NjYW4uaCIKIAogI2lmICFDT05GSUdfUkVBTFRJ
TUVfT05MWQogI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9hbHRfcmVmX2FxLmgiCkBAIC03OCwx
MSArODAsOCBAQAogI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9zcGVlZF9mZWF0dXJlcy5oIgog
I2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9zdmNfbGF5ZXJjb250ZXh0LmgiCiAjaW5jbHVkZSAi
dnA5L2VuY29kZXIvdnA5X3RlbXBvcmFsX2ZpbHRlci5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVy
L3ZwOV90cGxfbW9kZWwuaCIKICNpbmNsdWRlICJ2cDkvdnA5X2N4X2lmYWNlLmgiCiAKLSNpbmNs
dWRlICJ2cHgvdnB4X2V4dF9yYXRlY3RybC5oIgotCiAjZGVmaW5lIEFNX1NFR01FTlRfSURfSU5B
Q1RJVkUgNwogI2RlZmluZSBBTV9TRUdNRU5UX0lEX0FDVElWRSAwCiAKQEAgLTEyNiw2ICsxMjUs
MTMgQEAgc3RhdGljIGludCBpc19zcGF0aWFsX2Rlbm9pc2VfZW5hYmxlZChWUDlfQ09NUCAqY3Bp
KSB7CiB9CiAjZW5kaWYKIAorI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICit2b2lkIGhpZ2hi
ZF93aHRfZndkX3R4Zm0oaW50MTZfdCAqc3JjX2RpZmYsIGludCBidywgdHJhbl9sb3dfdCAqY29l
ZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgVFhfU0laRSB0eF9zaXplKTsKKyNlbmRpZgor
dm9pZCB3aHRfZndkX3R4Zm0oaW50MTZfdCAqc3JjX2RpZmYsIGludCBidywgdHJhbl9sb3dfdCAq
Y29lZmYsCisgICAgICAgICAgICAgICAgICBUWF9TSVpFIHR4X3NpemUpOworCiAjaWYgIUNPTkZJ
R19SRUFMVElNRV9PTkxZCiAvLyBjb21wdXRlIGFkYXB0aXZlIHRocmVzaG9sZCBmb3Igc2tpcCBy
ZWNvZGluZwogc3RhdGljIGludCBjb21wdXRlX2NvbnRleHRfbW9kZWxfdGhyZXNoKGNvbnN0IFZQ
OV9DT01QICpjb25zdCBjcGkpIHsKQEAgLTE0MSw3ICsxNDcsNyBAQCBzdGF0aWMgaW50IGNvbXB1
dGVfY29udGV4dF9tb2RlbF90aHJlc2goY29uc3QgVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogICAv
LyBmcmFtZSBjb250ZXh0IHByb2JhYmlsaXR5IG1vZGVsIGlzIGxlc3MgdGhhbiBhIGNlcnRhaW4g
dGhyZXNob2xkLgogICAvLyBUaGUgZmlyc3QgY29tcG9uZW50IGlzIHRoZSBtb3N0IGNyaXRpY2Fs
IHBhcnQgdG8gZ3VhcmFudGVlIGFkYXB0aXZpdHkuCiAgIC8vIE90aGVyIHBhcmFtZXRlcnMgYXJl
IGVzdGltYXRlZCBiYXNlZCBvbiBub3JtYWwgc2V0dGluZyBvZiBoZCByZXNvbHV0aW9uCi0gIC8v
IHBhcmFtZXRlcnMuIGUuZy4gZnJhbWVfc2l6ZSA9IDE5MjB4MTA4MCwgYml0cmF0ZSA9IDgwMDAs
IHFpbmRleF9mYWN0b3IgPCA1MAorICAvLyBwYXJhbWV0ZXJzLiBlLmcgZnJhbWVfc2l6ZSA9IDE5
MjB4MTA4MCwgYml0cmF0ZSA9IDgwMDAsIHFpbmRleF9mYWN0b3IgPCA1MAogICBjb25zdCBpbnQg
dGhyZXNoID0KICAgICAgICgoRlJBTUVfU0laRV9GQUNUT1IgKiBmcmFtZV9zaXplIC0gRlJBTUVf
UkFURV9GQUNUT1IgKiBiaXRyYXRlKSAqCiAgICAgICAgcWluZGV4X2ZhY3RvcikgPj4KQEAgLTQ5
NSwyMiArNTAxLDIyIEBAIHN0YXRpYyBjb25zdCBjaGFyICpsZXZlbF9mYWlsX21lc3NhZ2VzW1RB
UkdFVF9MRVZFTF9GQUlMX0lEU10gPSB7CiAgICJUb28gbWFueSByZWZlcmVuY2UgYnVmZmVycyBh
cmUgdXNlZC4iCiB9OwogCi1zdGF0aWMgSU5MSU5FIHZvaWQgU2NhbGUyUmF0aW8oVlBYX1NDQUxJ
TkdfTU9ERSBtb2RlLCBpbnQgKmhyLCBpbnQgKmhzKSB7CitzdGF0aWMgSU5MSU5FIHZvaWQgU2Nh
bGUyUmF0aW8oVlBYX1NDQUxJTkcgbW9kZSwgaW50ICpociwgaW50ICpocykgewogICBzd2l0Y2gg
KG1vZGUpIHsKLSAgICBjYXNlIFZQOEVfTk9STUFMOgorICAgIGNhc2UgTk9STUFMOgogICAgICAg
KmhyID0gMTsKICAgICAgICpocyA9IDE7CiAgICAgICBicmVhazsKLSAgICBjYXNlIFZQOEVfRk9V
UkZJVkU6CisgICAgY2FzZSBGT1VSRklWRToKICAgICAgICpociA9IDQ7CiAgICAgICAqaHMgPSA1
OwogICAgICAgYnJlYWs7Ci0gICAgY2FzZSBWUDhFX1RIUkVFRklWRToKKyAgICBjYXNlIFRIUkVF
RklWRToKICAgICAgICpociA9IDM7CiAgICAgICAqaHMgPSA1OwogICAgICAgYnJlYWs7CiAgICAg
ZGVmYXVsdDoKLSAgICAgIGFzc2VydChtb2RlID09IFZQOEVfT05FVFdPKTsKKyAgICAgIGFzc2Vy
dChtb2RlID09IE9ORVRXTyk7CiAgICAgICAqaHIgPSAxOwogICAgICAgKmhzID0gMjsKICAgICAg
IGJyZWFrOwpAQCAtNTc5LDYgKzU4NSw4IEBAIHN0YXRpYyB2b2lkIGFwcGx5X3JvaV9tYXAoVlA5
X0NPTVAgKmNwaSkgewogICBpbnQgcmVmX2ZyYW1lWzhdOwogICBpbnQgaW50ZXJuYWxfZGVsdGFf
cVtNQVhfU0VHTUVOVFNdOwogICBpbnQgaTsKKyAgc3RhdGljIGNvbnN0IGludCBmbGFnX2xpc3Rb
NF0gPSB7IDAsIFZQOV9MQVNUX0ZMQUcsIFZQOV9HT0xEX0ZMQUcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWUDlfQUxUX0ZMQUcgfTsKIAogICAvLyBUT0RPKGppYW5qKTog
SW52ZXN0aWdhdGUgd2h5IFJPSSBub3Qgd29ya2luZyBpbiBzcGVlZCA8IDUgb3IgaW4gbm9uCiAg
IC8vIHJlYWx0aW1lIG1vZGUuCkBAIC02MTAsNyArNjE4LDcgQEAgc3RhdGljIHZvaWQgYXBwbHlf
cm9pX21hcChWUDlfQ09NUCAqY3BpKSB7CiAgICAgfQogICAgIGlmIChza2lwW2ldICE9IDApIHsK
ICAgICAgIHZwOV9lbmFibGVfc2VnZmVhdHVyZShzZWcsIGksIFNFR19MVkxfU0tJUCk7Ci0gICAg
ICB2cDlfc2V0X3NlZ2RhdGEoc2VnLCBpLCBTRUdfTFZMX1NLSVAsIDApOworICAgICAgdnA5X3Nl
dF9zZWdkYXRhKHNlZywgaSwgU0VHX0xWTF9TS0lQLCBza2lwW2ldKTsKICAgICB9CiAgICAgaWYg
KHJlZl9mcmFtZVtpXSA+PSAwKSB7CiAgICAgICBpbnQgdmFsaWRfcmVmID0gMTsKQEAgLTYxOSw3
ICs2MjcsNyBAQCBzdGF0aWMgdm9pZCBhcHBseV9yb2lfbWFwKFZQOV9DT01QICpjcGkpIHsKICAg
ICAgICAgdmFsaWRfcmVmID0gMDsKICAgICAgIC8vIElmIEdPTERFTiBpcyBzZWxlY3RlZCwgbWFr
ZSBzdXJlIGl0J3Mgc2V0IGFzIHJlZmVyZW5jZS4KICAgICAgIGlmIChyZWZfZnJhbWVbaV0gPT0g
R09MREVOX0ZSQU1FICYmCi0gICAgICAgICAgIShjcGktPnJlZl9mcmFtZV9mbGFncyAmIHJlZl9m
cmFtZV90b19mbGFnKHJlZl9mcmFtZVtpXSkpKSB7CisgICAgICAgICAgIShjcGktPnJlZl9mcmFt
ZV9mbGFncyAmIGZsYWdfbGlzdFtyZWZfZnJhbWVbaV1dKSkgewogICAgICAgICB2YWxpZF9yZWYg
PSAwOwogICAgICAgfQogICAgICAgLy8gR09MREVOIHdhcyB1cGRhdGVkIGluIHByZXZpb3VzIGVu
Y29kZWQgZnJhbWUsIHNvIEdPTERFTiBhbmQgTEFTVCBhcmUKQEAgLTY0NiwxNSArNjU0LDEwIEBA
IHN0YXRpYyB2b2lkIGluaXRfbGV2ZWxfaW5mbyhWcDlMZXZlbEluZm8gKmxldmVsX2luZm8pIHsK
IH0KIAogc3RhdGljIGludCBjaGVja19zZWdfcmFuZ2UoaW50IHNlZ19kYXRhWzhdLCBpbnQgcmFu
Z2UpIHsKLSAgaW50IGk7Ci0gIGZvciAoaSA9IDA7IGkgPCA4OyArK2kpIHsKLSAgICAvLyBOb3Rl
IGFicygpIGFsb25lIGNhbid0IGJlIHVzZWQgYXMgdGhlIGJlaGF2aW9yIG9mIGFicyhJTlRfTUlO
KSBpcwotICAgIC8vIHVuZGVmaW5lZC4KLSAgICBpZiAoc2VnX2RhdGFbaV0gPiByYW5nZSB8fCBz
ZWdfZGF0YVtpXSA8IC1yYW5nZSkgewotICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICB9Ci0gIHJl
dHVybiAxOworICByZXR1cm4gIShhYnMoc2VnX2RhdGFbMF0pID4gcmFuZ2UgfHwgYWJzKHNlZ19k
YXRhWzFdKSA+IHJhbmdlIHx8CisgICAgICAgICAgIGFicyhzZWdfZGF0YVsyXSkgPiByYW5nZSB8
fCBhYnMoc2VnX2RhdGFbM10pID4gcmFuZ2UgfHwKKyAgICAgICAgICAgYWJzKHNlZ19kYXRhWzRd
KSA+IHJhbmdlIHx8IGFicyhzZWdfZGF0YVs1XSkgPiByYW5nZSB8fAorICAgICAgICAgICBhYnMo
c2VnX2RhdGFbNl0pID4gcmFuZ2UgfHwgYWJzKHNlZ19kYXRhWzddKSA+IHJhbmdlKTsKIH0KIAog
VlA5X0xFVkVMIHZwOV9nZXRfbGV2ZWwoY29uc3QgVnA5TGV2ZWxTcGVjICpjb25zdCBsZXZlbF9z
cGVjKSB7CkBAIC02ODMsMTAgKzY4Niw5IEBAIFZQOV9MRVZFTCB2cDlfZ2V0X2xldmVsKGNvbnN0
IFZwOUxldmVsU3BlYyAqY29uc3QgbGV2ZWxfc3BlYykgewogICByZXR1cm4gKGkgPT0gVlA5X0xF
VkVMUykgPyBMRVZFTF9VTktOT1dOIDogdnA5X2xldmVsX2RlZnNbaV0ubGV2ZWw7CiB9CiAKLXZw
eF9jb2RlY19lcnJfdCB2cDlfc2V0X3JvaV9tYXAoVlA5X0NPTVAgKmNwaSwgdW5zaWduZWQgY2hh
ciAqbWFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcm93
cywgdW5zaWduZWQgaW50IGNvbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkZWx0YV9xWzhdLCBpbnQgZGVsdGFfbGZbOF0sIGludCBza2lwWzhdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX2ZyYW1lWzhdKSB7CitpbnQgdnA5X3NldF9yb2lf
bWFwKFZQOV9DT01QICpjcGksIHVuc2lnbmVkIGNoYXIgKm1hcCwgdW5zaWduZWQgaW50IHJvd3Ms
CisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb2xzLCBpbnQgZGVsdGFfcVs4XSwg
aW50IGRlbHRhX2xmWzhdLAorICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcFs4XSwgaW50IHJl
Zl9mcmFtZVs4XSkgewogICBWUDlfQ09NTU9OICpjbSA9ICZjcGktPmNvbW1vbjsKICAgdnB4X3Jv
aV9tYXBfdCAqcm9pID0gJmNwaS0+cm9pOwogICBjb25zdCBpbnQgcmFuZ2UgPSA2MzsKQEAgLTY5
NywxMyArNjk5LDEzIEBAIHZweF9jb2RlY19lcnJfdCB2cDlfc2V0X3JvaV9tYXAoVlA5X0NPTVAg
KmNwaSwgdW5zaWduZWQgY2hhciAqbWFwLAogCiAgIC8vIENoZWNrIG51bWJlciBvZiByb3dzIGFu
ZCBjb2x1bW5zIG1hdGNoCiAgIGlmIChmcmFtZV9yb3dzICE9IChpbnQpcm93cyB8fCBmcmFtZV9j
b2xzICE9IChpbnQpY29scykgewotICAgIHJldHVybiBWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTTsK
KyAgICByZXR1cm4gLTE7CiAgIH0KIAogICBpZiAoIWNoZWNrX3NlZ19yYW5nZShkZWx0YV9xLCBy
YW5nZSkgfHwgIWNoZWNrX3NlZ19yYW5nZShkZWx0YV9sZiwgcmFuZ2UpIHx8CiAgICAgICAhY2hl
Y2tfc2VnX3JhbmdlKHJlZl9mcmFtZSwgcmVmX2ZyYW1lX3JhbmdlKSB8fAogICAgICAgIWNoZWNr
X3NlZ19yYW5nZShza2lwLCBza2lwX3JhbmdlKSkKLSAgICByZXR1cm4gVlBYX0NPREVDX0lOVkFM
SURfUEFSQU07CisgICAgcmV0dXJuIC0xOwogCiAgIC8vIEFsc28gZGlzYWJsZSBzZWdtZW50YXRp
b24gaWYgbm8gZGVsdGFzIGFyZSBzcGVjaWZpZWQuCiAgIGlmICghbWFwIHx8CkBAIC03MTcsMTUg
KzcxOSwxNCBAQCB2cHhfY29kZWNfZXJyX3QgdnA5X3NldF9yb2lfbWFwKFZQOV9DT01QICpjcGks
IHVuc2lnbmVkIGNoYXIgKm1hcCwKICAgICAgICAgcmVmX2ZyYW1lWzZdID09IC0xICYmIHJlZl9m
cmFtZVs3XSA9PSAtMSkpKSB7CiAgICAgdnA5X2Rpc2FibGVfc2VnbWVudGF0aW9uKCZjbS0+c2Vn
KTsKICAgICBjcGktPnJvaS5lbmFibGVkID0gMDsKLSAgICByZXR1cm4gVlBYX0NPREVDX09LOwor
ICAgIHJldHVybiAwOwogICB9CiAKICAgaWYgKHJvaS0+cm9pX21hcCkgewogICAgIHZweF9mcmVl
KHJvaS0+cm9pX21hcCk7CiAgICAgcm9pLT5yb2lfbWFwID0gTlVMTDsKICAgfQotICByb2ktPnJv
aV9tYXAgPSB2cHhfbWFsbG9jKHJvd3MgKiBjb2xzKTsKLSAgaWYgKCFyb2ktPnJvaV9tYXApIHJl
dHVybiBWUFhfQ09ERUNfTUVNX0VSUk9SOworICBDSEVDS19NRU1fRVJST1IoY20sIHJvaS0+cm9p
X21hcCwgdnB4X21hbGxvYyhyb3dzICogY29scykpOwogCiAgIC8vIENvcHkgdG8gUk9JIHN0cnVj
dHVyZSBpbiB0aGUgY29tcHJlc3Nvci4KICAgbWVtY3B5KHJvaS0+cm9pX21hcCwgbWFwLCByb3dz
ICogY29scyk7CkBAIC03MzcsNyArNzM4LDcgQEAgdnB4X2NvZGVjX2Vycl90IHZwOV9zZXRfcm9p
X21hcChWUDlfQ09NUCAqY3BpLCB1bnNpZ25lZCBjaGFyICptYXAsCiAgIHJvaS0+cm93cyA9IHJv
d3M7CiAgIHJvaS0+Y29scyA9IGNvbHM7CiAKLSAgcmV0dXJuIFZQWF9DT0RFQ19PSzsKKyAgcmV0
dXJuIDA7CiB9CiAKIGludCB2cDlfc2V0X2FjdGl2ZV9tYXAoVlA5X0NPTVAgKmNwaSwgdW5zaWdu
ZWQgY2hhciAqbmV3X21hcF8xNngxNiwgaW50IHJvd3MsCkBAIC04ODEsMTEgKzg4MiwxMCBAQCBz
dGF0aWMgaW50IHZwOV9lbmNfYWxsb2NfbWkoVlA5X0NPTU1PTiAqY20sIGludCBtaV9zaXplKSB7
CiAgIGlmICghY20tPnByZXZfbWlwKSByZXR1cm4gMTsKICAgY20tPm1pX2FsbG9jX3NpemUgPSBt
aV9zaXplOwogCi0gIGNtLT5taV9ncmlkX2Jhc2UgPQotICAgICAgKE1PREVfSU5GTyAqKil2cHhf
Y2FsbG9jKG1pX3NpemUsIHNpemVvZigqY20tPm1pX2dyaWRfYmFzZSkpOworICBjbS0+bWlfZ3Jp
ZF9iYXNlID0gKE1PREVfSU5GTyAqKil2cHhfY2FsbG9jKG1pX3NpemUsIHNpemVvZihNT0RFX0lO
Rk8gKikpOwogICBpZiAoIWNtLT5taV9ncmlkX2Jhc2UpIHJldHVybiAxOwogICBjbS0+cHJldl9t
aV9ncmlkX2Jhc2UgPQotICAgICAgKE1PREVfSU5GTyAqKil2cHhfY2FsbG9jKG1pX3NpemUsIHNp
emVvZigqY20tPnByZXZfbWlfZ3JpZF9iYXNlKSk7CisgICAgICAoTU9ERV9JTkZPICoqKXZweF9j
YWxsb2MobWlfc2l6ZSwgc2l6ZW9mKE1PREVfSU5GTyAqKSk7CiAgIGlmICghY20tPnByZXZfbWlf
Z3JpZF9iYXNlKSByZXR1cm4gMTsKIAogICByZXR1cm4gMDsKQEAgLTkyNCwyMSArOTI0LDI0IEBA
IHN0YXRpYyB2b2lkIHZwOV9zd2FwX21pX2FuZF9wcmV2X21pKFZQOV9DT01NT04gKmNtKSB7CiAg
IGNtLT5wcmV2X21pX2dyaWRfdmlzaWJsZSA9IGNtLT5wcmV2X21pX2dyaWRfYmFzZSArIGNtLT5t
aV9zdHJpZGUgKyAxOwogfQogCi1zdGF0aWMgdm9pZCBpbml0aWFsaXplX2VuYyh2b2lkKSB7Ci0g
IHZwOV9ydGNkKCk7Ci0gIHZweF9kc3BfcnRjZCgpOwotICB2cHhfc2NhbGVfcnRjZCgpOwotICB2
cDlfaW5pdF9pbnRyYV9wcmVkaWN0b3JzKCk7Ci0gIHZwOV9pbml0X21lX2x1dHMoKTsKLSAgdnA5
X3JjX2luaXRfbWlucV9sdXRzKCk7Ci0gIHZwOV9lbnRyb3B5X212X2luaXQoKTsKK3ZvaWQgdnA5
X2luaXRpYWxpemVfZW5jKHZvaWQpIHsKKyAgc3RhdGljIHZvbGF0aWxlIGludCBpbml0X2RvbmUg
PSAwOworCisgIGlmICghaW5pdF9kb25lKSB7CisgICAgdnA5X3J0Y2QoKTsKKyAgICB2cHhfZHNw
X3J0Y2QoKTsKKyAgICB2cHhfc2NhbGVfcnRjZCgpOworICAgIHZwOV9pbml0X2ludHJhX3ByZWRp
Y3RvcnMoKTsKKyAgICB2cDlfaW5pdF9tZV9sdXRzKCk7CisgICAgdnA5X3JjX2luaXRfbWlucV9s
dXRzKCk7CisgICAgdnA5X2VudHJvcHlfbXZfaW5pdCgpOwogI2lmICFDT05GSUdfUkVBTFRJTUVf
T05MWQotICB2cDlfdGVtcG9yYWxfZmlsdGVyX2luaXQoKTsKKyAgICB2cDlfdGVtcG9yYWxfZmls
dGVyX2luaXQoKTsKICNlbmRpZgorICAgIGluaXRfZG9uZSA9IDE7CisgIH0KIH0KIAotdm9pZCB2
cDlfaW5pdGlhbGl6ZV9lbmModm9pZCkgeyBvbmNlKGluaXRpYWxpemVfZW5jKTsgfQotCiBzdGF0
aWMgdm9pZCBkZWFsbG9jX2NvbXByZXNzb3JfZGF0YShWUDlfQ09NUCAqY3BpKSB7CiAgIFZQOV9D
T01NT04gKmNvbnN0IGNtID0gJmNwaS0+Y29tbW9uOwogICBpbnQgaTsKQEAgLTEwMTksMTIgKzEw
MjIsMTAgQEAgc3RhdGljIHZvaWQgZGVhbGxvY19jb21wcmVzc29yX2RhdGEoVlA5X0NPTVAgKmNw
aSkgewogICBjcGktPm1pX3NzaW1fcmRtdWx0X3NjYWxpbmdfZmFjdG9ycyA9IE5VTEw7CiAKICNp
ZiBDT05GSUdfUkFURV9DVFJMCi0gIGlmIChjcGktPm94Y2YudXNlX3NpbXBsZV9lbmNvZGVfYXBp
KSB7Ci0gICAgZnJlZV9wYXJ0aXRpb25faW5mbyhjcGkpOwotICAgIGZyZWVfbW90aW9uX3ZlY3Rv
cl9pbmZvKGNwaSk7Ci0gICAgZnJlZV9mcF9tb3Rpb25fdmVjdG9yX2luZm8oY3BpKTsKLSAgICBm
cmVlX3RwbF9zdGF0c19pbmZvKGNwaSk7Ci0gIH0KKyAgZnJlZV9wYXJ0aXRpb25faW5mbyhjcGkp
OworICBmcmVlX21vdGlvbl92ZWN0b3JfaW5mbyhjcGkpOworICBmcmVlX2ZwX21vdGlvbl92ZWN0
b3JfaW5mbyhjcGkpOworICBmcmVlX3RwbF9zdGF0c19pbmZvKGNwaSk7CiAjZW5kaWYKIAogICB2
cDlfZnJlZV9yZWZfZnJhbWVfYnVmZmVycyhjbS0+YnVmZmVyX3Bvb2wpOwpAQCAtMTMyOSw3ICsx
MzMwLDcgQEAgc3RhdGljIHZvaWQgYWxsb2NfdXRpbF9mcmFtZV9idWZmZXJzKFZQOV9DT01QICpj
cGkpIHsKICAgLy8gRm9yIDEgcGFzcyBjYnI6IGFsbG9jYXRlIHNjYWxlZF9mcmFtZSB0aGF0IG1h
eSBiZSB1c2VkIGFzIGFuIGludGVybWVkaWF0ZQogICAvLyBidWZmZXIgZm9yIGEgMiBzdGFnZSBk
b3duLXNhbXBsaW5nOiB0d28gc3RhZ2VzIG9mIDE6MiBkb3duLXNhbXBsaW5nIGZvciBhCiAgIC8v
IHRhcmdldCBvZiAxLzR4MS80LiBudW1iZXJfc3BhdGlhbF9sYXllcnMgbXVzdCBiZSBncmVhdGVy
IHRoYW4gMi4KLSAgaWYgKGlzX29uZV9wYXNzX3N2YyhjcGkpICYmICFjcGktPnN2Yy5zY2FsZWRf
dGVtcF9pc19hbGxvYyAmJgorICBpZiAoaXNfb25lX3Bhc3NfY2JyX3N2YyhjcGkpICYmICFjcGkt
PnN2Yy5zY2FsZWRfdGVtcF9pc19hbGxvYyAmJgogICAgICAgY3BpLT5zdmMubnVtYmVyX3NwYXRp
YWxfbGF5ZXJzID4gMikgewogICAgIGNwaS0+c3ZjLnNjYWxlZF90ZW1wX2lzX2FsbG9jID0gMTsK
ICAgICBpZiAodnB4X3JlYWxsb2NfZnJhbWVfYnVmZmVyKApAQCAtMTM3NSwyMiArMTM3NiwyMSBA
QCBzdGF0aWMgdm9pZCBhbGxvY191dGlsX2ZyYW1lX2J1ZmZlcnMoVlA5X0NPTVAgKmNwaSkgewog
I2VuZGlmCiB9CiAKLXN0YXRpYyB2b2lkIGFsbG9jX2NvbnRleHRfYnVmZmVyc19leHQoVlA5X0NP
TVAgKmNwaSkgeworc3RhdGljIGludCBhbGxvY19jb250ZXh0X2J1ZmZlcnNfZXh0KFZQOV9DT01Q
ICpjcGkpIHsKICAgVlA5X0NPTU1PTiAqY20gPSAmY3BpLT5jb21tb247CiAgIGludCBtaV9zaXpl
ID0gY20tPm1pX2NvbHMgKiBjbS0+bWlfcm93czsKIAotICBDSEVDS19NRU1fRVJST1IoJmNtLT5l
cnJvciwgY3BpLT5tYm1pX2V4dF9iYXNlLAotICAgICAgICAgICAgICAgICAgdnB4X2NhbGxvYyht
aV9zaXplLCBzaXplb2YoKmNwaS0+bWJtaV9leHRfYmFzZSkpKTsKKyAgY3BpLT5tYm1pX2V4dF9i
YXNlID0gdnB4X2NhbGxvYyhtaV9zaXplLCBzaXplb2YoKmNwaS0+bWJtaV9leHRfYmFzZSkpOwor
ICBpZiAoIWNwaS0+bWJtaV9leHRfYmFzZSkgcmV0dXJuIDE7CisKKyAgcmV0dXJuIDA7CiB9CiAK
IHN0YXRpYyB2b2lkIGFsbG9jX2NvbXByZXNzb3JfZGF0YShWUDlfQ09NUCAqY3BpKSB7CiAgIFZQ
OV9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOwogICBpbnQgc2Jfcm93czsKIAotICBpZiAodnA5
X2FsbG9jX2NvbnRleHRfYnVmZmVycyhjbSwgY20tPndpZHRoLCBjbS0+aGVpZ2h0KSkgewotICAg
IHZweF9pbnRlcm5hbF9lcnJvcigmY20tPmVycm9yLCBWUFhfQ09ERUNfTUVNX0VSUk9SLAotICAg
ICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGFsbG9jYXRlIGNvbnRleHQgYnVmZmVycyIp
OwotICB9CisgIHZwOV9hbGxvY19jb250ZXh0X2J1ZmZlcnMoY20sIGNtLT53aWR0aCwgY20tPmhl
aWdodCk7CiAKICAgYWxsb2NfY29udGV4dF9idWZmZXJzX2V4dChjcGkpOwogCkBAIC0xMzk4LDE0
ICsxMzk4LDE0IEBAIHN0YXRpYyB2b2lkIGFsbG9jX2NvbXByZXNzb3JfZGF0YShWUDlfQ09NUCAq
Y3BpKSB7CiAKICAgewogICAgIHVuc2lnbmVkIGludCB0b2tlbnMgPSBnZXRfdG9rZW5fYWxsb2Mo
Y20tPm1iX3Jvd3MsIGNtLT5tYl9jb2xzKTsKLSAgICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJv
ciwgY3BpLT50aWxlX3Rva1swXVswXSwKKyAgICBDSEVDS19NRU1fRVJST1IoY20sIGNwaS0+dGls
ZV90b2tbMF1bMF0sCiAgICAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2ModG9rZW5zLCBzaXpl
b2YoKmNwaS0+dGlsZV90b2tbMF1bMF0pKSk7CiAgIH0KIAogICBzYl9yb3dzID0gbWlfY29sc19h
bGlnbmVkX3RvX3NiKGNtLT5taV9yb3dzKSA+PiBNSV9CTE9DS19TSVpFX0xPRzI7CiAgIHZweF9m
cmVlKGNwaS0+dHBsaXN0WzBdWzBdKTsKICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgJmNtLT5l
cnJvciwgY3BpLT50cGxpc3RbMF1bMF0sCisgICAgICBjbSwgY3BpLT50cGxpc3RbMF1bMF0sCiAg
ICAgICB2cHhfY2FsbG9jKHNiX3Jvd3MgKiA0ICogKDEgPDwgNiksIHNpemVvZigqY3BpLT50cGxp
c3RbMF1bMF0pKSk7CiAKICAgdnA5X3NldHVwX3BjX3RyZWUoJmNwaS0+Y29tbW9uLCAmY3BpLT50
ZCk7CkBAIC0xNTA3LDcgKzE1MDcsNyBAQCBzdGF0aWMgdm9pZCBpbml0X2NvbmZpZyhzdHJ1Y3Qg
VlA5X0NPTVAgKmNwaSwgY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZikgewogICAvLyBUZW1w
b3JhbCBzY2FsYWJpbGl0eS4KICAgY3BpLT5zdmMubnVtYmVyX3RlbXBvcmFsX2xheWVycyA9IG94
Y2YtPnRzX251bWJlcl9sYXllcnM7CiAKLSAgaWYgKChjcGktPnN2Yy5udW1iZXJfdGVtcG9yYWxf
bGF5ZXJzID4gMSkgfHwKKyAgaWYgKChjcGktPnN2Yy5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzID4g
MSAmJiBjcGktPm94Y2YucmNfbW9kZSA9PSBWUFhfQ0JSKSB8fAogICAgICAgKChjcGktPnN2Yy5u
dW1iZXJfdGVtcG9yYWxfbGF5ZXJzID4gMSB8fAogICAgICAgICBjcGktPnN2Yy5udW1iZXJfc3Bh
dGlhbF9sYXllcnMgPiAxKSAmJgogICAgICAgIGNwaS0+b3hjZi5wYXNzICE9IDEpKSB7CkBAIC0x
NTIzLDcgKzE1MjMsNiBAQCBzdGF0aWMgdm9pZCBpbml0X2NvbmZpZyhzdHJ1Y3QgVlA5X0NPTVAg
KmNwaSwgY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZikgewogICBpbml0X2J1ZmZlcl9pbmRp
Y2VzKGNwaSk7CiAKICAgdnA5X25vaXNlX2VzdGltYXRlX2luaXQoJmNwaS0+bm9pc2VfZXN0aW1h
dGUsIGNtLT53aWR0aCwgY20tPmhlaWdodCk7Ci0gIGNwaS0+Zml4ZWRfcXBfb25lcGFzcyA9IDA7
CiB9CiAKIHZvaWQgdnA5X2NoZWNrX3Jlc2V0X3JjX2ZsYWcoVlA5X0NPTVAgKmNwaSkgewpAQCAt
MTU2NywxNSArMTU2NiwxNSBAQCB2b2lkIHZwOV9zZXRfcmNfYnVmZmVyX3NpemVzKFZQOV9DT01Q
ICpjcGkpIHsKIH0KIAogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0jZGVmaW5lIEhJR0hC
RF9CRlAoQlQsIFNERiwgU0RTRiwgU0RBRiwgVkYsIFNWRiwgU1ZBRiwgU0RYNERGLCBTRFNYNERG
KSBcCi0gIGNwaS0+Zm5fcHRyW0JUXS5zZGYgPSBTREY7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGNwaS0+Zm5fcHRyW0JUXS5zZHNmID0gU0RTRjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNwaS0+Zm5fcHRyW0JU
XS5zZGFmID0gU0RBRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGNwaS0+Zm5fcHRyW0JUXS52ZiA9IFZGOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGNwaS0+Zm5fcHRyW0JUXS5zdmYgPSBTVkY7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNwaS0+Zm5fcHRyW0JUXS5z
dmFmID0gU1ZBRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGNwaS0+Zm5fcHRyW0JUXS5zZHg0ZGYgPSBTRFg0REY7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGNwaS0+Zm5fcHRyW0JUXS5zZHN4NGRmID0gU0RTWDRERjsKKy8v
IFRPRE8oYW5naWViaXJkKTogbWFrZSBzZHg4ZiBhdmFpbGFibGUgZm9yIGhpZ2hiaXRkZXB0aCBp
ZiBuZWVkZWQKKyNkZWZpbmUgSElHSEJEX0JGUChCVCwgU0RGLCBTREFGLCBWRiwgU1ZGLCBTVkFG
LCBTRFg0REYpIFwKKyAgY3BpLT5mbl9wdHJbQlRdLnNkZiA9IFNERjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgY3BpLT5mbl9wdHJbQlRdLnNkYWYgPSBTREFGOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgY3BpLT5mbl9wdHJbQlRdLnZmID0gVkY7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgY3BpLT5mbl9wdHJbQlRdLnN2ZiA9IFNWRjsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgY3BpLT5mbl9wdHJbQlRdLnN2YWYgPSBTVkFGOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgY3BpLT5mbl9wdHJbQlRdLnNkeDRkZiA9IFNE
WDRERjsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgY3BpLT5mbl9wdHJbQlRdLnNkeDhmID0g
TlVMTDsKIAogI2RlZmluZSBNQUtFX0JGUF9TQURfV1JBUFBFUihmbm5hbWUpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgc3RhdGljIHVuc2lnbmVkIGludCBm
bm5hbWUjI19iaXRzOChjb25zdCB1aW50OF90ICpzcmNfcHRyLCAgICAgICAgICAgICAgICAgICBc
CkBAIC0xNjM1LDM2MSArMTYzNCwyODQgQEAgdm9pZCB2cDlfc2V0X3JjX2J1ZmZlcl9zaXplcyhW
UDlfQ09NUCAqY3BpKSB7CiAgIH0KIAogTUFLRV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9z
YWQzMngxNikKLU1BS0VfQkZQX1NBRF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYp
CiBNQUtFX0JGUF9TQURBVkdfV1JBUFBFUih2cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZykKIE1BS0Vf
QkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQzMngxNng0ZCkKLU1BS0VfQkZQX1NBRDRE
X1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZCkKLQogTUFLRV9CRlBfU0FEX1dS
QVBQRVIodnB4X2hpZ2hiZF9zYWQxNngzMikKLU1BS0VfQkZQX1NBRF9XUkFQUEVSKHZweF9oaWdo
YmRfc2FkX3NraXBfMTZ4MzIpCiBNQUtFX0JGUF9TQURBVkdfV1JBUFBFUih2cHhfaGlnaGJkX3Nh
ZDE2eDMyX2F2ZykKIE1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQxNngzMng0
ZCkKLU1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZCkK
LQogTUFLRV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQ2NHgzMikKLU1BS0VfQkZQX1NB
RF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzIpCiBNQUtFX0JGUF9TQURBVkdfV1JB
UFBFUih2cHhfaGlnaGJkX3NhZDY0eDMyX2F2ZykKIE1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4
X2hpZ2hiZF9zYWQ2NHgzMng0ZCkKLU1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9z
YWRfc2tpcF82NHgzMng0ZCkKLQogTUFLRV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQz
Mng2NCkKLU1BS0VfQkZQX1NBRF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQpCiBN
QUtFX0JGUF9TQURBVkdfV1JBUFBFUih2cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZykKIE1BS0VfQkZQ
X1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQzMng2NHg0ZCkKLU1BS0VfQkZQX1NBRDREX1dS
QVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NHg0ZCkKLQogTUFLRV9CRlBfU0FEX1dSQVBQ
RVIodnB4X2hpZ2hiZF9zYWQzMngzMikKLU1BS0VfQkZQX1NBRF9XUkFQUEVSKHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4MzIpCiBNQUtFX0JGUF9TQURBVkdfV1JBUFBFUih2cHhfaGlnaGJkX3NhZDMy
eDMyX2F2ZykKIE1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQzMngzMng0ZCkK
LU1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMng0ZCkKLQog
TUFLRV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQ2NHg2NCkKLU1BS0VfQkZQX1NBRF9X
UkFQUEVSKHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQpCiBNQUtFX0JGUF9TQURBVkdfV1JBUFBF
Uih2cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZykKIE1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hp
Z2hiZF9zYWQ2NHg2NHg0ZCkKLU1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRf
c2tpcF82NHg2NHg0ZCkKLQogTUFLRV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQxNngx
NikKLU1BS0VfQkZQX1NBRF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTYpCiBNQUtF
X0JGUF9TQURBVkdfV1JBUFBFUih2cHhfaGlnaGJkX3NhZDE2eDE2X2F2ZykKIE1BS0VfQkZQX1NB
RDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQxNngxNng0ZCkKLU1BS0VfQkZQX1NBRDREX1dSQVBQ
RVIodnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZCkKLQogTUFLRV9CRlBfU0FEX1dSQVBQRVIo
dnB4X2hpZ2hiZF9zYWQxNng4KQotTUFLRV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRf
c2tpcF8xNng4KQogTUFLRV9CRlBfU0FEQVZHX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQxNng4X2F2
ZykKIE1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQxNng4eDRkKQotTUFLRV9C
RlBfU0FENERfV1JBUFBFUih2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGQpCi0KIE1BS0VfQkZQ
X1NBRF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkOHgxNikKLU1BS0VfQkZQX1NBRF9XUkFQUEVSKHZw
eF9oaWdoYmRfc2FkX3NraXBfOHgxNikKIE1BS0VfQkZQX1NBREFWR19XUkFQUEVSKHZweF9oaWdo
YmRfc2FkOHgxNl9hdmcpCiBNQUtFX0JGUF9TQUQ0RF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkOHgx
Nng0ZCkKLU1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2eDRk
KQotCiBNQUtFX0JGUF9TQURfV1JBUFBFUih2cHhfaGlnaGJkX3NhZDh4OCkKLU1BS0VfQkZQX1NB
RF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkX3NraXBfOHg4KQogTUFLRV9CRlBfU0FEQVZHX1dSQVBQ
RVIodnB4X2hpZ2hiZF9zYWQ4eDhfYXZnKQogTUFLRV9CRlBfU0FENERfV1JBUFBFUih2cHhfaGln
aGJkX3NhZDh4OHg0ZCkKLU1BS0VfQkZQX1NBRDREX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tp
cF84eDh4NGQpCi0KIE1BS0VfQkZQX1NBRF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkOHg0KQotTUFL
RV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tpcF84eDQpCiBNQUtFX0JGUF9TQURB
VkdfV1JBUFBFUih2cHhfaGlnaGJkX3NhZDh4NF9hdmcpCiBNQUtFX0JGUF9TQUQ0RF9XUkFQUEVS
KHZweF9oaWdoYmRfc2FkOHg0eDRkKQotTUFLRV9CRlBfU0FENERfV1JBUFBFUih2cHhfaGlnaGJk
X3NhZF9za2lwXzh4NHg0ZCkKLQogTUFLRV9CRlBfU0FEX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQ0
eDgpCi1NQUtFX0JGUF9TQURfV1JBUFBFUih2cHhfaGlnaGJkX3NhZF9za2lwXzR4OCkKIE1BS0Vf
QkZQX1NBREFWR19XUkFQUEVSKHZweF9oaWdoYmRfc2FkNHg4X2F2ZykKIE1BS0VfQkZQX1NBRDRE
X1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQ0eDh4NGQpCi1NQUtFX0JGUF9TQUQ0RF9XUkFQUEVSKHZw
eF9oaWdoYmRfc2FkX3NraXBfNHg4eDRkKQotCiBNQUtFX0JGUF9TQURfV1JBUFBFUih2cHhfaGln
aGJkX3NhZDR4NCkKLU1BS0VfQkZQX1NBRF9XUkFQUEVSKHZweF9oaWdoYmRfc2FkX3NraXBfNHg0
KQogTUFLRV9CRlBfU0FEQVZHX1dSQVBQRVIodnB4X2hpZ2hiZF9zYWQ0eDRfYXZnKQogTUFLRV9C
RlBfU0FENERfV1JBUFBFUih2cHhfaGlnaGJkX3NhZDR4NHg0ZCkKLU1BS0VfQkZQX1NBRDREX1dS
QVBQRVIodnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGQpCiAKIHN0YXRpYyB2b2lkIGhpZ2hiZF9z
ZXRfdmFyX2ZucyhWUDlfQ09NUCAqY29uc3QgY3BpKSB7CiAgIFZQOV9DT01NT04gKmNvbnN0IGNt
ID0gJmNwaS0+Y29tbW9uOwogICBpZiAoY20tPnVzZV9oaWdoYml0ZGVwdGgpIHsKICAgICBzd2l0
Y2ggKGNtLT5iaXRfZGVwdGgpIHsKICAgICAgIGNhc2UgVlBYX0JJVFNfODoKLSAgICAgICAgSElH
SEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzMyWDE2LCB2cHhfaGlnaGJkX3NhZDMyeDE2X2Jp
dHM4LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNl9iaXRzOCwgdnB4X2hp
Z2hiZF9zYWQzMngxNl9hdmdfYml0czgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzhfdmFyaWFu
Y2UzMngxNiwgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2LAotICAgICAgICAg
ICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNiwKLSAgICAgICAgICAg
IHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYml0czgsIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4
NGRfYml0czgpCi0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzE2WDMy
LCB2cHhfaGlnaGJkX3NhZDE2eDMyX2JpdHM4LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8xNngzMl9iaXRzOCwgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYml0czgsCi0gICAgICAg
ICAgICB2cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngzMiwgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92
YXJpYW5jZTE2eDMyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UxNngzMiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMTZ4MzJ4NGRfYml0czgsIHZw
eF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYml0czgpCi0KLSAgICAgICAgSElHSEJEX0JGUCgK
LSAgICAgICAgICAgIEJMT0NLXzY0WDMyLCB2cHhfaGlnaGJkX3NhZDY0eDMyX2JpdHM4LAotICAg
ICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMl9iaXRzOCwgdnB4X2hpZ2hiZF9zYWQ2
NHgzMl9hdmdfYml0czgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzhfdmFyaWFuY2U2NHgzMiwg
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyLAotICAgICAgICAgICAgdnB4X2hp
Z2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMiwKLSAgICAgICAgICAgIHZweF9oaWdo
YmRfc2FkNjR4MzJ4NGRfYml0czgsIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGRfYml0czgp
Ci0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzMyWDY0LCB2cHhfaGln
aGJkX3NhZDMyeDY0X2JpdHM4LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2
NF9iaXRzOCwgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfYml0czgsCi0gICAgICAgICAgICB2cHhf
aGlnaGJkXzhfdmFyaWFuY2UzMng2NCwgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMy
eDY0LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2
NCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYml0czgsIHZweF9oaWdoYmRf
c2FkX3NraXBfMzJ4NjR4NGRfYml0czgpCi0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAg
ICAgIEJMT0NLXzMyWDMyLCB2cHhfaGlnaGJkX3NhZDMyeDMyX2JpdHM4LAotICAgICAgICAgICAg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMl9iaXRzOCwgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdf
Yml0czgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMiwgdnB4X2hpZ2hi
ZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1
Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4
MzJ4NGRfYml0czgsIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzJ4NGRfYml0czgpCisgICAgICAg
IEhJR0hCRF9CRlAoQkxPQ0tfMzJYMTYsIHZweF9oaWdoYmRfc2FkMzJ4MTZfYml0czgsCisgICAg
ICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQzMngxNl9hdmdfYml0czgsIHZweF9oaWdoYmRf
OF92YXJpYW5jZTMyeDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfdmFyaWFuY2UzMngxNiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzhfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTMyeDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2Fk
MzJ4MTZ4NGRfYml0czgpCisKKyAgICAgICAgSElHSEJEX0JGUChCTE9DS18xNlgzMiwgdnB4X2hp
Z2hiZF9zYWQxNngzMl9iaXRzOCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDE2
eDMyX2F2Z19iaXRzOCwgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMTZ4MzIsCisgICAgICAgICAgICAg
ICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyLAorICAgICAgICAgICAg
ICAgICAgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIsCisgICAgICAg
ICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9iaXRzOCkKKworICAgICAgICBISUdI
QkRfQkZQKEJMT0NLXzY0WDMyLCB2cHhfaGlnaGJkX3NhZDY0eDMyX2JpdHM4LAorICAgICAgICAg
ICAgICAgICAgIHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnX2JpdHM4LCB2cHhfaGlnaGJkXzhfdmFy
aWFuY2U2NHgzMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlNjR4MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2U2NHgzMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDY0eDMy
eDRkX2JpdHM4KQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfMzJYNjQsIHZweF9oaWdoYmRf
c2FkMzJ4NjRfYml0czgsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQzMng2NF9h
dmdfYml0czgsIHZweF9oaWdoYmRfOF92YXJpYW5jZTMyeDY0LAorICAgICAgICAgICAgICAgICAg
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NCwKKyAgICAgICAgICAgICAgICAg
ICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0LAorICAgICAgICAgICAg
ICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYml0czgpCisKKyAgICAgICAgSElHSEJEX0JG
UChCTE9DS18zMlgzMiwgdnB4X2hpZ2hiZF9zYWQzMngzMl9iaXRzOCwKKyAgICAgICAgICAgICAg
ICAgICB2cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19iaXRzOCwgdnB4X2hpZ2hiZF84X3ZhcmlhbmNl
MzJ4MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5j
ZTMyeDMyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlMzJ4MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9i
aXRzOCkKKworICAgICAgICBISUdIQkRfQkZQKEJMT0NLXzY0WDY0LCB2cHhfaGlnaGJkX3NhZDY0
eDY0X2JpdHM4LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2Jp
dHM4LCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U2NHg2NCwKKyAgICAgICAgICAgICAgICAgICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjQsCisgICAgICAgICAgICAgICAgICAgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCwKKyAgICAgICAgICAgICAgICAg
ICB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2JpdHM4KQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxP
Q0tfMTZYMTYsIHZweF9oaWdoYmRfc2FkMTZ4MTZfYml0czgsCisgICAgICAgICAgICAgICAgICAg
dnB4X2hpZ2hiZF9zYWQxNngxNl9hdmdfYml0czgsIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2
LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngx
NiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTE2eDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfYml0czgp
CisKKyAgICAgICAgSElHSEJEX0JGUChCTE9DS18xNlg4LCB2cHhfaGlnaGJkX3NhZDE2eDhfYml0
czgsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQxNng4X2F2Z19iaXRzOCwgdnB4
X2hpZ2hiZF84X3ZhcmlhbmNlMTZ4OCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDgsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hi
ZF9zYWQxNng4eDRkX2JpdHM4KQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfOFgxNiwgdnB4
X2hpZ2hiZF9zYWQ4eDE2X2JpdHM4LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2Fk
OHgxNl9hdmdfYml0czgsIHZweF9oaWdoYmRfOF92YXJpYW5jZTh4MTYsCisgICAgICAgICAgICAg
ICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4MTYsCisgICAgICAgICAgICAg
ICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2LAorICAgICAgICAg
ICAgICAgICAgIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9iaXRzOCkKIAogICAgICAgICBISUdIQkRf
QkZQKAotICAgICAgICAgICAgQkxPQ0tfNjRYNjQsIHZweF9oaWdoYmRfc2FkNjR4NjRfYml0czgs
Ci0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2JpdHM4LCB2cHhfaGlnaGJk
X3NhZDY0eDY0X2F2Z19iaXRzOCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfOF92YXJpYW5jZTY0
eDY0LCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjQsCi0gICAgICAgICAgICB2
cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0LAotICAgICAgICAgICAgdnB4
X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9iaXRzOCwgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9i
aXRzOCkKKyAgICAgICAgICAgIEJMT0NLXzhYOCwgdnB4X2hpZ2hiZF9zYWQ4eDhfYml0czgsIHZw
eF9oaWdoYmRfc2FkOHg4X2F2Z19iaXRzOCwKKyAgICAgICAgICAgIHZweF9oaWdoYmRfOF92YXJp
YW5jZTh4OCwgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4OCwKKyAgICAgICAgICAg
IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4LCB2cHhfaGlnaGJkX3NhZDh4
OHg0ZF9iaXRzOCkKIAogICAgICAgICBISUdIQkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfMTZY
MTYsIHZweF9oaWdoYmRfc2FkMTZ4MTZfYml0czgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eDE2X2JpdHM4LCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19iaXRzOCwKLSAgICAg
ICAgICAgIHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDE2LCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVs
X3ZhcmlhbmNlMTZ4MTYsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTE2eDE2LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9iaXRzOCwg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNng0ZF9iaXRzOCkKKyAgICAgICAgICAgIEJMT0NLXzhY
NCwgdnB4X2hpZ2hiZF9zYWQ4eDRfYml0czgsIHZweF9oaWdoYmRfc2FkOHg0X2F2Z19iaXRzOCwK
KyAgICAgICAgICAgIHZweF9oaWdoYmRfOF92YXJpYW5jZTh4NCwgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF92YXJpYW5jZTh4NCwKKyAgICAgICAgICAgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlOHg0LCB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9iaXRzOCkKIAogICAgICAgICBISUdI
QkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfMTZYOCwgdnB4X2hpZ2hiZF9zYWQxNng4X2JpdHM4
LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2JpdHM4LCB2cHhfaGlnaGJk
X3NhZDE2eDhfYXZnX2JpdHM4LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMTZ4
OCwgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDgsCi0gICAgICAgICAgICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDgsCi0gICAgICAgICAgICB2cHhfaGln
aGJkX3NhZDE2eDh4NGRfYml0czgsIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9iaXRzOCkK
KyAgICAgICAgICAgIEJMT0NLXzRYOCwgdnB4X2hpZ2hiZF9zYWQ0eDhfYml0czgsIHZweF9oaWdo
YmRfc2FkNHg4X2F2Z19iaXRzOCwKKyAgICAgICAgICAgIHZweF9oaWdoYmRfOF92YXJpYW5jZTR4
OCwgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4OCwKKyAgICAgICAgICAgIHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4LCB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9i
aXRzOCkKIAogICAgICAgICBISUdIQkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfOFgxNiwgdnB4
X2hpZ2hiZF9zYWQ4eDE2X2JpdHM4LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF84
eDE2X2JpdHM4LCB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnX2JpdHM4LAotICAgICAgICAgICAgdnB4
X2hpZ2hiZF84X3ZhcmlhbmNlOHgxNiwgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4
MTYsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTYs
Ci0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDh4MTZ4NGRfYml0czgsIHZweF9oaWdoYmRfc2Fk
X3NraXBfOHgxNng0ZF9iaXRzOCkKLQotICAgICAgICBISUdIQkRfQkZQKEJMT0NLXzhYOCwgdnB4
X2hpZ2hiZF9zYWQ4eDhfYml0czgsCi0gICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRf
c2tpcF84eDhfYml0czgsIHZweF9oaWdoYmRfc2FkOHg4X2F2Z19iaXRzOCwKLSAgICAgICAgICAg
ICAgICAgICB2cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDgsIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDgsCi0gICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2U4eDgsCi0gICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ4eDh4NGRf
Yml0czgsIHZweF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX2JpdHM4KQotCi0gICAgICAgIEhJR0hC
RF9CRlAoQkxPQ0tfOFg0LCB2cHhfaGlnaGJkX3NhZDh4NF9iaXRzOCwKLSAgICAgICAgICAgICAg
ICAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NF9iaXRzOCwgdnB4X2hpZ2hiZF9zYWQ4eDRfYXZn
X2JpdHM4LAotICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfOF92YXJpYW5jZTh4NCwgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4NCwKLSAgICAgICAgICAgICAgICAgICB2cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCwKLSAgICAgICAgICAgICAgICAgICB2
cHhfaGlnaGJkX3NhZDh4NHg0ZF9iaXRzOCwgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYml0
czgpCi0KLSAgICAgICAgSElHSEJEX0JGUChCTE9DS180WDgsIHZweF9oaWdoYmRfc2FkNHg4X2Jp
dHM4LAotICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4X2JpdHM4LCB2
cHhfaGlnaGJkX3NhZDR4OF9hdmdfYml0czgsCi0gICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hi
ZF84X3ZhcmlhbmNlNHg4LCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4LAotICAg
ICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4LAot
ICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkNHg4eDRkX2JpdHM4LCB2cHhfaGlnaGJk
X3NhZF9za2lwXzR4OHg0ZF9iaXRzOCkKLQotICAgICAgICBISUdIQkRfQkZQKEJMT0NLXzRYNCwg
dnB4X2hpZ2hiZF9zYWQ0eDRfYml0czgsCi0gICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9z
YWRfc2tpcF80eDRfYml0czgsIHZweF9oaWdoYmRfc2FkNHg0X2F2Z19iaXRzOCwKLSAgICAgICAg
ICAgICAgICAgICB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDQsIHZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfdmFyaWFuY2U0eDQsCi0gICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U0eDQsCi0gICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ0eDR4
NGRfYml0czgsIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0eDRkX2JpdHM4KQorICAgICAgICAgICAg
QkxPQ0tfNFg0LCB2cHhfaGlnaGJkX3NhZDR4NF9iaXRzOCwgdnB4X2hpZ2hiZF9zYWQ0eDRfYXZn
X2JpdHM4LAorICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg0LCB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0LAorICAgICAgICAgICAgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2U0eDQsIHZweF9oaWdoYmRfc2FkNHg0eDRkX2JpdHM4KQogICAgICAg
ICBicmVhazsKIAogICAgICAgY2FzZSBWUFhfQklUU18xMDoKLSAgICAgICAgSElHSEJEX0JGUCgK
LSAgICAgICAgICAgIEJMT0NLXzMyWDE2LCB2cHhfaGlnaGJkX3NhZDMyeDE2X2JpdHMxMCwKLSAg
ICAgICAgICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZfYml0czEwLCB2cHhfaGlnaGJkX3Nh
ZDMyeDE2X2F2Z19iaXRzMTAsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4
MTYsIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4MTYsCi0gICAgICAgICAgICB2
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNiwKLSAgICAgICAgICAgIHZw
eF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYml0czEwLCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDE2eDRk
X2JpdHMxMCkKLQotICAgICAgICBISUdIQkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfMTZYMzIs
IHZweF9oaWdoYmRfc2FkMTZ4MzJfYml0czEwLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8xNngzMl9iaXRzMTAsIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX2JpdHMxMCwKLSAgICAg
ICAgICAgIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngzMiwgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfdmFyaWFuY2UxNngzMiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTE2eDMyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9iaXRz
MTAsIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGRfYml0czEwKQotCi0gICAgICAgIEhJR0hC
RF9CRlAoCi0gICAgICAgICAgICBCTE9DS182NFgzMiwgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9iaXRz
MTAsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDMyX2JpdHMxMCwgdnB4X2hp
Z2hiZF9zYWQ2NHgzMl9hdmdfYml0czEwLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF92YXJp
YW5jZTY0eDMyLCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyLAotICAgICAg
ICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIsCi0gICAgICAg
ICAgICB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX2JpdHMxMCwgdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHgzMng0ZF9iaXRzMTApCi0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NL
XzMyWDY0LCB2cHhfaGlnaGJkX3NhZDMyeDY0X2JpdHMxMCwKLSAgICAgICAgICAgIHZweF9oaWdo
YmRfc2FkX3NraXBfMzJ4NjRfYml0czEwLCB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19iaXRzMTAs
Ci0gICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjQsIHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjQsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2UzMng2NCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4NjR4
NGRfYml0czEwLCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkX2JpdHMxMCkKLQotICAgICAg
ICBISUdIQkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfMzJYMzIsIHZweF9oaWdoYmRfc2FkMzJ4
MzJfYml0czEwLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngzMl9iaXRzMTAs
IHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2JpdHMxMCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRf
MTBfdmFyaWFuY2UzMngzMiwgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiwK
LSAgICAgICAgICAgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMyLAot
ICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQzMngzMng0ZF9iaXRzMTAsIHZweF9oaWdoYmRfc2Fk
X3NraXBfMzJ4MzJ4NGRfYml0czEwKQotCi0gICAgICAgIEhJR0hCRF9CRlAoCi0gICAgICAgICAg
ICBCTE9DS182NFg2NCwgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9iaXRzMTAsCi0gICAgICAgICAgICB2
cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0X2JpdHMxMCwgdnB4X2hpZ2hiZF9zYWQ2NHg2NF9hdmdf
Yml0czEwLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDY0LCB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8x
MF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjQsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3Nh
ZDY0eDY0eDRkX2JpdHMxMCwgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NHg0ZF9iaXRzMTApCi0K
LSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzE2WDE2LCB2cHhfaGlnaGJk
X3NhZDE2eDE2X2JpdHMxMCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZf
Yml0czEwLCB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19iaXRzMTAsCi0gICAgICAgICAgICB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlMTZ4MTYsIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNl
MTZ4MTYsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Ux
NngxNiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGRfYml0czEwLCB2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDE2eDRkX2JpdHMxMCkKLQotICAgICAgICBISUdIQkRfQkZQKAotICAg
ICAgICAgICAgQkxPQ0tfMTZYOCwgdnB4X2hpZ2hiZF9zYWQxNng4X2JpdHMxMCwKLSAgICAgICAg
ICAgIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OF9iaXRzMTAsIHZweF9oaWdoYmRfc2FkMTZ4OF9h
dmdfYml0czEwLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDgsIHZweF9o
aWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRf
MTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3Nh
ZDE2eDh4NGRfYml0czEwLCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGRfYml0czEwKQotCi0g
ICAgICAgIEhJR0hCRF9CRlAoCi0gICAgICAgICAgICBCTE9DS184WDE2LCB2cHhfaGlnaGJkX3Nh
ZDh4MTZfYml0czEwLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDE2X2JpdHMx
MCwgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2Z19iaXRzMTAsCi0gICAgICAgICAgICB2cHhfaGlnaGJk
XzEwX3ZhcmlhbmNlOHgxNiwgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2LAot
ICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNiwKLSAg
ICAgICAgICAgIHZweF9oaWdoYmRfc2FkOHgxNng0ZF9iaXRzMTAsIHZweF9oaWdoYmRfc2FkX3Nr
aXBfOHgxNng0ZF9iaXRzMTApCi0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJM
T0NLXzhYOCwgdnB4X2hpZ2hiZF9zYWQ4eDhfYml0czEwLCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
OF9iaXRzMTAsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDh4OF9hdmdfYml0czEwLCB2cHhf
aGlnaGJkXzEwX3ZhcmlhbmNlOHg4LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfdmFyaWFuY2U4eDgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U4eDgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9iaXRzMTAsIHZw
eF9oaWdoYmRfc2FkX3NraXBfOHg4eDRkX2JpdHMxMCkKLQotICAgICAgICBISUdIQkRfQkZQKAot
ICAgICAgICAgICAgQkxPQ0tfOFg0LCB2cHhfaGlnaGJkX3NhZDh4NF9iaXRzMTAsIHZweF9oaWdo
YmRfc2FkX3NraXBfOHg0X2JpdHMxMCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkOHg0X2F2
Z19iaXRzMTAsIHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDQsCi0gICAgICAgICAgICB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkOHg0
eDRkX2JpdHMxMCwgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDR4NGRfYml0czEwKQotCi0gICAgICAg
IEhJR0hCRF9CRlAoCi0gICAgICAgICAgICBCTE9DS180WDgsIHZweF9oaWdoYmRfc2FkNHg4X2Jp
dHMxMCwgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDhfYml0czEwLAotICAgICAgICAgICAgdnB4X2hp
Z2hiZF9zYWQ0eDhfYXZnX2JpdHMxMCwgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTR4OCwKLSAgICAg
ICAgICAgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4LAotICAgICAgICAgICAg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4LAotICAgICAgICAgICAgdnB4
X2hpZ2hiZF9zYWQ0eDh4NGRfYml0czEwLCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OHg0ZF9iaXRz
MTApCi0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzRYNCwgdnB4X2hp
Z2hiZF9zYWQ0eDRfYml0czEwLCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4NF9iaXRzMTAsCi0gICAg
ICAgICAgICB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYml0czEwLCB2cHhfaGlnaGJkXzEwX3Zhcmlh
bmNlNHg0LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U0eDQs
Ci0gICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDQsCi0g
ICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDR4NHg0ZF9iaXRzMTAsIHZweF9oaWdoYmRfc2FkX3Nr
aXBfNHg0eDRkX2JpdHMxMCkKKyAgICAgICAgSElHSEJEX0JGUChCTE9DS18zMlgxNiwgdnB4X2hp
Z2hiZF9zYWQzMngxNl9iaXRzMTAsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQz
MngxNl9hdmdfYml0czEwLCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4MTYsCisgICAgICAgICAg
ICAgICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNiwKKyAgICAgICAg
ICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngxNiwKKyAg
ICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDMyeDE2eDRkX2JpdHMxMCkKKworICAgICAg
ICBISUdIQkRfQkZQKEJMT0NLXzE2WDMyLCB2cHhfaGlnaGJkX3NhZDE2eDMyX2JpdHMxMCwKKyAg
ICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2Z19iaXRzMTAsIHZweF9oaWdo
YmRfMTBfdmFyaWFuY2UxNngzMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1
Yl9waXhlbF92YXJpYW5jZTE2eDMyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTBf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdo
YmRfc2FkMTZ4MzJ4NGRfYml0czEwKQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfNjRYMzIs
IHZweF9oaWdoYmRfc2FkNjR4MzJfYml0czEwLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdo
YmRfc2FkNjR4MzJfYXZnX2JpdHMxMCwgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDMyLAorICAg
ICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzIsCisg
ICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4
MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZF9iaXRzMTApCisK
KyAgICAgICAgSElHSEJEX0JGUChCTE9DS18zMlg2NCwgdnB4X2hpZ2hiZF9zYWQzMng2NF9iaXRz
MTAsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQzMng2NF9hdmdfYml0czEwLCB2
cHhfaGlnaGJkXzEwX3ZhcmlhbmNlMzJ4NjQsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hi
ZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGln
aGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NCwKKyAgICAgICAgICAgICAgICAgICB2
cHhfaGlnaGJkX3NhZDMyeDY0eDRkX2JpdHMxMCkKKworICAgICAgICBISUdIQkRfQkZQKEJMT0NL
XzMyWDMyLCB2cHhfaGlnaGJkX3NhZDMyeDMyX2JpdHMxMCwKKyAgICAgICAgICAgICAgICAgICB2
cHhfaGlnaGJkX3NhZDMyeDMyX2F2Z19iaXRzMTAsIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMngz
MiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMy
eDMyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTMyeDMyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4MzJ4NGRfYml0
czEwKQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfNjRYNjQsIHZweF9oaWdoYmRfc2FkNjR4
NjRfYml0czEwLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnX2Jp
dHMxMCwgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDY0LAorICAgICAgICAgICAgICAgICAgIHZw
eF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjQsCisgICAgICAgICAgICAgICAgICAg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjQsCisgICAgICAgICAgICAg
ICAgICAgdnB4X2hpZ2hiZF9zYWQ2NHg2NHg0ZF9iaXRzMTApCisKKyAgICAgICAgSElHSEJEX0JG
UChCTE9DS18xNlgxNiwgdnB4X2hpZ2hiZF9zYWQxNngxNl9iaXRzMTAsCisgICAgICAgICAgICAg
ICAgICAgdnB4X2hpZ2hiZF9zYWQxNngxNl9hdmdfYml0czEwLCB2cHhfaGlnaGJkXzEwX3Zhcmlh
bmNlMTZ4MTYsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFy
aWFuY2UxNngxNiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9h
dmdfdmFyaWFuY2UxNngxNiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDE2eDE2
eDRkX2JpdHMxMCkKKworICAgICAgICBISUdIQkRfQkZQKEJMT0NLXzE2WDgsIHZweF9oaWdoYmRf
c2FkMTZ4OF9iaXRzMTAsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQxNng4X2F2
Z19iaXRzMTAsIHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4LAorICAgICAgICAgICAgICAgICAg
IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCwKKyAgICAgICAgICAgICAgICAg
ICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4LAorICAgICAgICAgICAg
ICAgICAgIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9iaXRzMTApCisKKyAgICAgICAgSElHSEJEX0JG
UChCTE9DS184WDE2LCB2cHhfaGlnaGJkX3NhZDh4MTZfYml0czEwLAorICAgICAgICAgICAgICAg
ICAgIHZweF9oaWdoYmRfc2FkOHgxNl9hdmdfYml0czEwLCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNl
OHgxNiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTh4MTYsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlOHgxNiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDh4MTZ4NGRfYml0
czEwKQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfOFg4LCB2cHhfaGlnaGJkX3NhZDh4OF9i
aXRzMTAsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ4eDhfYXZnX2JpdHMxMCwg
dnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4OCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4OCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDgsCisgICAgICAgICAgICAgICAgICAgdnB4X2hp
Z2hiZF9zYWQ4eDh4NGRfYml0czEwKQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfOFg0LCB2
cHhfaGlnaGJkX3NhZDh4NF9iaXRzMTAsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9z
YWQ4eDRfYXZnX2JpdHMxMCwgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4NCwKKyAgICAgICAgICAg
ICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NCwKKyAgICAgICAgICAg
ICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDQsCisgICAgICAg
ICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ4eDR4NGRfYml0czEwKQorCisgICAgICAgIEhJR0hC
RF9CRlAoQkxPQ0tfNFg4LCB2cHhfaGlnaGJkX3NhZDR4OF9iaXRzMTAsCisgICAgICAgICAgICAg
ICAgICAgdnB4X2hpZ2hiZF9zYWQ0eDhfYXZnX2JpdHMxMCwgdnB4X2hpZ2hiZF8xMF92YXJpYW5j
ZTR4OCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5j
ZTR4OCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U0eDgsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ0eDh4NGRfYml0czEw
KQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfNFg0LCB2cHhfaGlnaGJkX3NhZDR4NF9iaXRz
MTAsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ0eDRfYXZnX2JpdHMxMCwgdnB4
X2hpZ2hiZF8xMF92YXJpYW5jZTR4NCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF92YXJpYW5jZTR4NCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEw
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDQsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hi
ZF9zYWQ0eDR4NGRfYml0czEwKQogICAgICAgICBicmVhazsKIAogICAgICAgZGVmYXVsdDoKICAg
ICAgICAgYXNzZXJ0KGNtLT5iaXRfZGVwdGggPT0gVlBYX0JJVFNfMTIpOwotICAgICAgICBISUdI
QkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfMzJYMTYsIHZweF9oaWdoYmRfc2FkMzJ4MTZfYml0
czEyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNl9iaXRzMTIsIHZweF9o
aWdoYmRfc2FkMzJ4MTZfYXZnX2JpdHMxMiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfdmFy
aWFuY2UzMngxNiwgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNiwKLSAgICAg
ICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2LAotICAgICAg
ICAgICAgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZF9iaXRzMTIsIHZweF9oaWdoYmRfc2FkX3NraXBf
MzJ4MTZ4NGRfYml0czEyKQotCi0gICAgICAgIEhJR0hCRF9CRlAoCi0gICAgICAgICAgICBCTE9D
S18xNlgzMiwgdnB4X2hpZ2hiZF9zYWQxNngzMl9iaXRzMTIsCi0gICAgICAgICAgICB2cHhfaGln
aGJkX3NhZF9za2lwXzE2eDMyX2JpdHMxMiwgdnB4X2hpZ2hiZF9zYWQxNngzMl9hdmdfYml0czEy
LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDMyLCB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDE2eDMy
eDRkX2JpdHMxMiwgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngzMng0ZF9iaXRzMTIpCi0KLSAgICAg
ICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzY0WDMyLCB2cHhfaGlnaGJkX3NhZDY0
eDMyX2JpdHMxMiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJfYml0czEy
LCB2cHhfaGlnaGJkX3NhZDY0eDMyX2F2Z19iaXRzMTIsCi0gICAgICAgICAgICB2cHhfaGlnaGJk
XzEyX3ZhcmlhbmNlNjR4MzIsIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzIs
Ci0gICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHgzMiwK
LSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGRfYml0czEyLCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzY0eDMyeDRkX2JpdHMxMikKLQotICAgICAgICBISUdIQkRfQkZQKAotICAgICAgICAg
ICAgQkxPQ0tfMzJYNjQsIHZweF9oaWdoYmRfc2FkMzJ4NjRfYml0czEyLAotICAgICAgICAgICAg
dnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NF9iaXRzMTIsIHZweF9oaWdoYmRfc2FkMzJ4NjRfYXZn
X2JpdHMxMiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMng2NCwgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9z
YWQzMng2NHg0ZF9iaXRzMTIsIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjR4NGRfYml0czEyKQot
Ci0gICAgICAgIEhJR0hCRF9CRlAoCi0gICAgICAgICAgICBCTE9DS18zMlgzMiwgdnB4X2hpZ2hi
ZF9zYWQzMngzMl9iaXRzMTIsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDMy
X2JpdHMxMiwgdnB4X2hpZ2hiZF9zYWQzMngzMl9hdmdfYml0czEyLAotICAgICAgICAgICAgdnB4
X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDMyLCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTMyeDMyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
MzJ4MzIsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDMyeDMyeDRkX2JpdHMxMiwgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8zMngzMng0ZF9iaXRzMTIpCi0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAg
ICAgICAgICAgIEJMT0NLXzY0WDY0LCB2cHhfaGlnaGJkX3NhZDY0eDY0X2JpdHMxMiwKLSAgICAg
ICAgICAgIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjRfYml0czEyLCB2cHhfaGlnaGJkX3NhZDY0
eDY0X2F2Z19iaXRzMTIsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4NjQs
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4NjQsCi0gICAgICAgICAgICB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCwKLSAgICAgICAgICAgIHZweF9o
aWdoYmRfc2FkNjR4NjR4NGRfYml0czEyLCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRkX2Jp
dHMxMikKLQotICAgICAgICBISUdIQkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfMTZYMTYsIHZw
eF9oaWdoYmRfc2FkMTZ4MTZfYml0czEyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tp
cF8xNngxNl9iaXRzMTIsIHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2JpdHMxMiwKLSAgICAgICAg
ICAgIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNngxNiwgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
dmFyaWFuY2UxNngxNiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192
YXJpYW5jZTE2eDE2LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9iaXRzMTIs
IHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MTZ4NGRfYml0czEyKQotCi0gICAgICAgIEhJR0hCRF9C
RlAoCi0gICAgICAgICAgICBCTE9DS18xNlg4LCB2cHhfaGlnaGJkX3NhZDE2eDhfYml0czEyLAot
ICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4X2JpdHMxMiwgdnB4X2hpZ2hiZF9z
YWQxNng4X2F2Z19iaXRzMTIsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4
OCwgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4LAotICAgICAgICAgICAgdnB4
X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OCwKLSAgICAgICAgICAgIHZweF9o
aWdoYmRfc2FkMTZ4OHg0ZF9iaXRzMTIsIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0ZF9iaXRz
MTIpCi0KLSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzhYMTYsIHZweF9o
aWdoYmRfc2FkOHgxNl9iaXRzMTIsCi0gICAgICAgICAgICB2cHhfaGlnaGJkX3NhZF9za2lwXzh4
MTZfYml0czEyLCB2cHhfaGlnaGJkX3NhZDh4MTZfYXZnX2JpdHMxMiwKLSAgICAgICAgICAgIHZw
eF9oaWdoYmRfMTJfdmFyaWFuY2U4eDE2LCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTh4MTYsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4
eDE2LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkX2JpdHMxMiwgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF84eDE2eDRkX2JpdHMxMikKLQotICAgICAgICBISUdIQkRfQkZQKAotICAgICAg
ICAgICAgQkxPQ0tfOFg4LCB2cHhfaGlnaGJkX3NhZDh4OF9iaXRzMTIsIHZweF9oaWdoYmRfc2Fk
X3NraXBfOHg4X2JpdHMxMiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkOHg4X2F2Z19iaXRz
MTIsIHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDgsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF92YXJpYW5jZTh4OCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTh4OCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkOHg4eDRkX2Jp
dHMxMiwgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDh4NGRfYml0czEyKQotCi0gICAgICAgIEhJR0hC
RF9CRlAoCi0gICAgICAgICAgICBCTE9DS184WDQsIHZweF9oaWdoYmRfc2FkOHg0X2JpdHMxMiwg
dnB4X2hpZ2hiZF9zYWRfc2tpcF84eDRfYml0czEyLAotICAgICAgICAgICAgdnB4X2hpZ2hiZF9z
YWQ4eDRfYXZnX2JpdHMxMiwgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4NCwKLSAgICAgICAgICAg
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0LAotICAgICAgICAgICAgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0LAotICAgICAgICAgICAgdnB4X2hpZ2hi
ZF9zYWQ4eDR4NGRfYml0czEyLCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZF9iaXRzMTIpCi0K
LSAgICAgICAgSElHSEJEX0JGUCgKLSAgICAgICAgICAgIEJMT0NLXzRYOCwgdnB4X2hpZ2hiZF9z
YWQ0eDhfYml0czEyLCB2cHhfaGlnaGJkX3NhZF9za2lwXzR4OF9iaXRzMTIsCi0gICAgICAgICAg
ICB2cHhfaGlnaGJkX3NhZDR4OF9hdmdfYml0czEyLCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg4
LAotICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDgsCi0gICAg
ICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDgsCi0gICAgICAg
ICAgICB2cHhfaGlnaGJkX3NhZDR4OHg0ZF9iaXRzMTIsIHZweF9oaWdoYmRfc2FkX3NraXBfNHg4
eDRkX2JpdHMxMikKLQotICAgICAgICBISUdIQkRfQkZQKAotICAgICAgICAgICAgQkxPQ0tfNFg0
LCB2cHhfaGlnaGJkX3NhZDR4NF9iaXRzMTIsIHZweF9oaWdoYmRfc2FkX3NraXBfNHg0X2JpdHMx
MiwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkNHg0X2F2Z19iaXRzMTIsIHZweF9oaWdoYmRf
MTJfdmFyaWFuY2U0eDQsCi0gICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJp
YW5jZTR4NCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTR4NCwKLSAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkNHg0eDRkX2JpdHMxMiwgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF80eDR4NGRfYml0czEyKQorICAgICAgICBISUdIQkRfQkZQKEJMT0NLXzMyWDE2
LCB2cHhfaGlnaGJkX3NhZDMyeDE2X2JpdHMxMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGln
aGJkX3NhZDMyeDE2X2F2Z19iaXRzMTIsIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMngxNiwKKyAg
ICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2LAor
ICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMy
eDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGRfYml0czEyKQor
CisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfMTZYMzIsIHZweF9oaWdoYmRfc2FkMTZ4MzJfYml0
czEyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnX2JpdHMxMiwg
dnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDMyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdo
YmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIsCisgICAgICAgICAgICAgICAgICAg
dnB4X2hpZ2hiZF9zYWQxNngzMng0ZF9iaXRzMTIpCisKKyAgICAgICAgSElHSEJEX0JGUChCTE9D
S182NFgzMiwgdnB4X2hpZ2hiZF9zYWQ2NHgzMl9iaXRzMTIsCisgICAgICAgICAgICAgICAgICAg
dnB4X2hpZ2hiZF9zYWQ2NHgzMl9hdmdfYml0czEyLCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4
MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2
NHgzMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2U2NHgzMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDY0eDMyeDRkX2Jp
dHMxMikKKworICAgICAgICBISUdIQkRfQkZQKEJMT0NLXzMyWDY0LCB2cHhfaGlnaGJkX3NhZDMy
eDY0X2JpdHMxMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDMyeDY0X2F2Z19i
aXRzMTIsIHZweF9oaWdoYmRfMTJfdmFyaWFuY2UzMng2NCwKKyAgICAgICAgICAgICAgICAgICB2
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0LAorICAgICAgICAgICAgICAgICAg
IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0LAorICAgICAgICAgICAg
ICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4NjR4NGRfYml0czEyKQorCisgICAgICAgIEhJR0hCRF9C
RlAoQkxPQ0tfMzJYMzIsIHZweF9oaWdoYmRfc2FkMzJ4MzJfYml0czEyLAorICAgICAgICAgICAg
ICAgICAgIHZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnX2JpdHMxMiwgdnB4X2hpZ2hiZF8xMl92YXJp
YW5jZTMyeDMyLAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3Zh
cmlhbmNlMzJ4MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMzJ4MzIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQzMngz
Mng0ZF9iaXRzMTIpCisKKyAgICAgICAgSElHSEJEX0JGUChCTE9DS182NFg2NCwgdnB4X2hpZ2hi
ZF9zYWQ2NHg2NF9iaXRzMTIsCisgICAgICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ2NHg2
NF9hdmdfYml0czEyLCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4NjQsCisgICAgICAgICAgICAg
ICAgICAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NCwKKyAgICAgICAgICAg
ICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCwKKyAgICAg
ICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDY0eDY0eDRkX2JpdHMxMikKKworICAgICAgICBI
SUdIQkRfQkZQKEJMT0NLXzE2WDE2LCB2cHhfaGlnaGJkX3NhZDE2eDE2X2JpdHMxMiwKKyAgICAg
ICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDE2eDE2X2F2Z19iaXRzMTIsIHZweF9oaWdoYmRf
MTJfdmFyaWFuY2UxNngxNiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF92YXJpYW5jZTE2eDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRf
c2FkMTZ4MTZ4NGRfYml0czEyKQorCisgICAgICAgIEhJR0hCRF9CRlAoQkxPQ0tfMTZYOCwgdnB4
X2hpZ2hiZF9zYWQxNng4X2JpdHMxMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3Nh
ZDE2eDhfYXZnX2JpdHMxMiwgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDgsCisgICAgICAgICAg
ICAgICAgICAgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4LAorICAgICAgICAg
ICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDgsCisgICAg
ICAgICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQxNng4eDRkX2JpdHMxMikKKworICAgICAgICBI
SUdIQkRfQkZQKEJMT0NLXzhYMTYsIHZweF9oaWdoYmRfc2FkOHgxNl9iaXRzMTIsCisgICAgICAg
ICAgICAgICAgICAgdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2Z19iaXRzMTIsIHZweF9oaWdoYmRfMTJf
dmFyaWFuY2U4eDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X3ZhcmlhbmNlOHgxNiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U4eDE2LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfc2FkOHgx
Nng0ZF9iaXRzMTIpCisKKyAgICAgICAgSElHSEJEX0JGUChCTE9DS184WDgsIHZweF9oaWdoYmRf
c2FkOHg4X2JpdHMxMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDh4OF9hdmdf
Yml0czEyLCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHg4LAorICAgICAgICAgICAgICAgICAgIHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4LAorICAgICAgICAgICAgICAgICAgIHZw
eF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OCwKKyAgICAgICAgICAgICAgICAg
ICB2cHhfaGlnaGJkX3NhZDh4OHg0ZF9iaXRzMTIpCisKKyAgICAgICAgSElHSEJEX0JGUChCTE9D
S184WDQsIHZweF9oaWdoYmRfc2FkOHg0X2JpdHMxMiwKKyAgICAgICAgICAgICAgICAgICB2cHhf
aGlnaGJkX3NhZDh4NF9hdmdfYml0czEyLCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHg0LAorICAg
ICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0LAorICAg
ICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCwK
KyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDh4NHg0ZF9iaXRzMTIpCisKKyAgICAg
ICAgSElHSEJEX0JGUChCTE9DS180WDgsIHZweF9oaWdoYmRfc2FkNHg4X2JpdHMxMiwKKyAgICAg
ICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDR4OF9hdmdfYml0czEyLCB2cHhfaGlnaGJkXzEy
X3ZhcmlhbmNlNHg4LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X3ZhcmlhbmNlNHg4LAorICAgICAgICAgICAgICAgICAgIHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTR4OCwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDR4OHg0
ZF9iaXRzMTIpCisKKyAgICAgICAgSElHSEJEX0JGUChCTE9DS180WDQsIHZweF9oaWdoYmRfc2Fk
NHg0X2JpdHMxMiwKKyAgICAgICAgICAgICAgICAgICB2cHhfaGlnaGJkX3NhZDR4NF9hdmdfYml0
czEyLCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0LAorICAgICAgICAgICAgICAgICAgIHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlNHg0LAorICAgICAgICAgICAgICAgICAgIHZweF9o
aWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NCwKKyAgICAgICAgICAgICAgICAgICB2
cHhfaGlnaGJkX3NhZDR4NHg0ZF9iaXRzMTIpCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQpA
QCAtMjAwMSw0OCArMTkyMyw0OCBAQCBzdGF0aWMgdm9pZCByZWFsbG9jX3NlZ21lbnRhdGlvbl9t
YXBzKFZQOV9DT01QICpjcGkpIHsKIAogICAvLyBDcmVhdGUgdGhlIGVuY29kZXIgc2VnbWVudGF0
aW9uIG1hcCBhbmQgc2V0IGFsbCBlbnRyaWVzIHRvIDAKICAgdnB4X2ZyZWUoY3BpLT5zZWdtZW50
YXRpb25fbWFwKTsKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGNwaS0+c2VnbWVudGF0
aW9uX21hcCwKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGktPnNlZ21lbnRhdGlvbl9tYXAsCiAg
ICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKGNtLT5taV9yb3dzICogY20tPm1pX2NvbHMsIDEp
KTsKIAogICAvLyBDcmVhdGUgYSBtYXAgdXNlZCBmb3IgY3ljbGljIGJhY2tncm91bmQgcmVmcmVz
aC4KICAgaWYgKGNwaS0+Y3ljbGljX3JlZnJlc2gpIHZwOV9jeWNsaWNfcmVmcmVzaF9mcmVlKGNw
aS0+Y3ljbGljX3JlZnJlc2gpOwotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgY3BpLT5j
eWNsaWNfcmVmcmVzaCwKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGktPmN5Y2xpY19yZWZyZXNo
LAogICAgICAgICAgICAgICAgICAgdnA5X2N5Y2xpY19yZWZyZXNoX2FsbG9jKGNtLT5taV9yb3dz
LCBjbS0+bWlfY29scykpOwogCiAgIC8vIENyZWF0ZSBhIG1hcCB1c2VkIHRvIG1hcmsgaW5hY3Rp
dmUgYXJlYXMuCiAgIHZweF9mcmVlKGNwaS0+YWN0aXZlX21hcC5tYXApOwotICBDSEVDS19NRU1f
RVJST1IoJmNtLT5lcnJvciwgY3BpLT5hY3RpdmVfbWFwLm1hcCwKKyAgQ0hFQ0tfTUVNX0VSUk9S
KGNtLCBjcGktPmFjdGl2ZV9tYXAubWFwLAogICAgICAgICAgICAgICAgICAgdnB4X2NhbGxvYyhj
bS0+bWlfcm93cyAqIGNtLT5taV9jb2xzLCAxKSk7CiAKICAgLy8gQW5kIGEgcGxhY2UgaG9sZGVy
IHN0cnVjdHVyZSBpcyB0aGUgY29kaW5nIGNvbnRleHQKICAgLy8gZm9yIHVzZSBpZiB3ZSB3YW50
IHRvIHNhdmUgYW5kIHJlc3RvcmUgaXQKICAgdnB4X2ZyZWUoY3BpLT5jb2RpbmdfY29udGV4dC5s
YXN0X2ZyYW1lX3NlZ19tYXBfY29weSk7Ci0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBj
cGktPmNvZGluZ19jb250ZXh0Lmxhc3RfZnJhbWVfc2VnX21hcF9jb3B5LAorICBDSEVDS19NRU1f
RVJST1IoY20sIGNwaS0+Y29kaW5nX2NvbnRleHQubGFzdF9mcmFtZV9zZWdfbWFwX2NvcHksCiAg
ICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKGNtLT5taV9yb3dzICogY20tPm1pX2NvbHMsIDEp
KTsKIH0KIAogc3RhdGljIHZvaWQgYWxsb2NfY29weV9wYXJ0aXRpb25fZGF0YShWUDlfQ09NUCAq
Y3BpKSB7CiAgIFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNwaS0+Y29tbW9uOwogICBpZiAoY3Bp
LT5wcmV2X3BhcnRpdGlvbiA9PSBOVUxMKSB7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJy
b3IsIGNwaS0+cHJldl9wYXJ0aXRpb24sCisgICAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGktPnBy
ZXZfcGFydGl0aW9uLAogICAgICAgICAgICAgICAgICAgICAoQkxPQ0tfU0laRSAqKXZweF9jYWxs
b2MoY20tPm1pX3N0cmlkZSAqIGNtLT5taV9yb3dzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCpjcGktPnByZXZfcGFydGl0aW9uKSkpOwogICB9
CiAgIGlmIChjcGktPnByZXZfc2VnbWVudF9pZCA9PSBOVUxMKSB7CiAgICAgQ0hFQ0tfTUVNX0VS
Uk9SKAotICAgICAgICAmY20tPmVycm9yLCBjcGktPnByZXZfc2VnbWVudF9pZCwKKyAgICAgICAg
Y20sIGNwaS0+cHJldl9zZWdtZW50X2lkLAogICAgICAgICAoaW50OF90ICopdnB4X2NhbGxvYygo
Y20tPm1pX3N0cmlkZSA+PiAzKSAqICgoY20tPm1pX3Jvd3MgPj4gMykgKyAxKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCpjcGktPnByZXZfc2VnbWVudF9pZCkpKTsKICAg
fQogICBpZiAoY3BpLT5wcmV2X3ZhcmlhbmNlX2xvdyA9PSBOVUxMKSB7Ci0gICAgQ0hFQ0tfTUVN
X0VSUk9SKCZjbS0+ZXJyb3IsIGNwaS0+cHJldl92YXJpYW5jZV9sb3csCisgICAgQ0hFQ0tfTUVN
X0VSUk9SKGNtLCBjcGktPnByZXZfdmFyaWFuY2VfbG93LAogICAgICAgICAgICAgICAgICAgICAo
dWludDhfdCAqKXZweF9jYWxsb2MoCiAgICAgICAgICAgICAgICAgICAgICAgICAoY20tPm1pX3N0
cmlkZSA+PiAzKSAqICgoY20tPm1pX3Jvd3MgPj4gMykgKyAxKSAqIDI1LAogICAgICAgICAgICAg
ICAgICAgICAgICAgc2l6ZW9mKCpjcGktPnByZXZfdmFyaWFuY2VfbG93KSkpOwogICB9CiAgIGlm
IChjcGktPmNvcGllZF9mcmFtZV9jbnQgPT0gTlVMTCkgewogICAgIENIRUNLX01FTV9FUlJPUigK
LSAgICAgICAgJmNtLT5lcnJvciwgY3BpLT5jb3BpZWRfZnJhbWVfY250LAorICAgICAgICBjbSwg
Y3BpLT5jb3BpZWRfZnJhbWVfY250LAogICAgICAgICAodWludDhfdCAqKXZweF9jYWxsb2MoKGNt
LT5taV9zdHJpZGUgPj4gMykgKiAoKGNtLT5taV9yb3dzID4+IDMpICsgMSksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmNwaS0+Y29waWVkX2ZyYW1lX2NudCkpKTsKICAg
fQpAQCAtMjE0NiwxMCArMjA2OCw3IEBAIHZvaWQgdnA5X2NoYW5nZV9jb25maWcoc3RydWN0IFZQ
OV9DT01QICpjcGksIGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YpIHsKICAgICAgIGNwaS0+
ZXh0ZXJuYWxfcmVzaXplID0gMDsKICAgICB9IGVsc2UgaWYgKGNtLT5taV9hbGxvY19zaXplID09
IG5ld19taV9zaXplICYmCiAgICAgICAgICAgICAgICAoY3BpLT5veGNmLndpZHRoID4gbGFzdF93
IHx8IGNwaS0+b3hjZi5oZWlnaHQgPiBsYXN0X2gpKSB7Ci0gICAgICBpZiAodnA5X2FsbG9jX2xv
b3BfZmlsdGVyKGNtKSkgewotICAgICAgICB2cHhfaW50ZXJuYWxfZXJyb3IoJmNtLT5lcnJvciwg
VlBYX0NPREVDX01FTV9FUlJPUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQg
dG8gYWxsb2NhdGUgbG9vcCBmaWx0ZXIgZGF0YSIpOwotICAgICAgfQorICAgICAgdnA5X2FsbG9j
X2xvb3BfZmlsdGVyKGNtKTsKICAgICB9CiAgIH0KIApAQCAtMjE2MCwxMyArMjA3OSwxMyBAQCB2
b2lkIHZwOV9jaGFuZ2VfY29uZmlnKHN0cnVjdCBWUDlfQ09NUCAqY3BpLCBjb25zdCBWUDlFbmNv
ZGVyQ29uZmlnICpveGNmKSB7CiAgIGlmIChsYXN0X3cgIT0gY3BpLT5veGNmLndpZHRoIHx8IGxh
c3RfaCAhPSBjcGktPm94Y2YuaGVpZ2h0KSB7CiAgICAgdnB4X2ZyZWUoY3BpLT5jb25zZWNfemVy
b19tdik7CiAgICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgICAmY20tPmVycm9yLCBjcGktPmNv
bnNlY196ZXJvX212LAorICAgICAgICBjbSwgY3BpLT5jb25zZWNfemVyb19tdiwKICAgICAgICAg
dnB4X2NhbGxvYyhjbS0+bWlfcm93cyAqIGNtLT5taV9jb2xzLCBzaXplb2YoKmNwaS0+Y29uc2Vj
X3plcm9fbXYpKSk7CiAKICAgICB2cHhfZnJlZShjcGktPnNraW5fbWFwKTsKICAgICBDSEVDS19N
RU1fRVJST1IoCi0gICAgICAgICZjbS0+ZXJyb3IsIGNwaS0+c2tpbl9tYXAsCi0gICAgICAgIHZw
eF9jYWxsb2MoY20tPm1pX3Jvd3MgKiBjbS0+bWlfY29scywgc2l6ZW9mKCpjcGktPnNraW5fbWFw
KSkpOworICAgICAgICBjbSwgY3BpLT5za2luX21hcCwKKyAgICAgICAgdnB4X2NhbGxvYyhjbS0+
bWlfcm93cyAqIGNtLT5taV9jb2xzLCBzaXplb2YoY3BpLT5za2luX21hcFswXSkpKTsKIAogICAg
IGZyZWVfY29weV9wYXJ0aXRpb25fZGF0YShjcGkpOwogICAgIGFsbG9jX2NvcHlfcGFydGl0aW9u
X2RhdGEoY3BpKTsKQEAgLTIxNzYsNyArMjA5NSw3IEBAIHZvaWQgdnA5X2NoYW5nZV9jb25maWco
c3RydWN0IFZQOV9DT01QICpjcGksIGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YpIHsKICAg
ICByYy0+cmNfMl9mcmFtZSA9IDA7CiAgIH0KIAotICBpZiAoKGNwaS0+c3ZjLm51bWJlcl90ZW1w
b3JhbF9sYXllcnMgPiAxKSB8fAorICBpZiAoKGNwaS0+c3ZjLm51bWJlcl90ZW1wb3JhbF9sYXll
cnMgPiAxICYmIGNwaS0+b3hjZi5yY19tb2RlID09IFZQWF9DQlIpIHx8CiAgICAgICAoKGNwaS0+
c3ZjLm51bWJlcl90ZW1wb3JhbF9sYXllcnMgPiAxIHx8CiAgICAgICAgIGNwaS0+c3ZjLm51bWJl
cl9zcGF0aWFsX2xheWVycyA+IDEpICYmCiAgICAgICAgY3BpLT5veGNmLnBhc3MgIT0gMSkpIHsK
QEAgLTIyMDcsMTMgKzIxMjYsMTggQEAgdm9pZCB2cDlfY2hhbmdlX2NvbmZpZyhzdHJ1Y3QgVlA5
X0NPTVAgKmNwaSwgY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZikgewogICB2cDlfc2V0X3Jv
d19tdChjcGkpOwogfQogCisjaWZuZGVmIE1fTE9HMl9FCisjZGVmaW5lIE1fTE9HMl9FIDAuNjkz
MTQ3MTgwNTU5OTQ1MzA5NDE3CisjZW5kaWYKKyNkZWZpbmUgbG9nMmYoeCkgKGxvZyh4KSAvIChm
bG9hdClNX0xPRzJfRSkKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBSZWFkIGJlZm9yZSBtb2RpZnlp
bmcgJ2NhbF9ubXZqb2ludHNhZGNvc3QnIG9yICdjYWxfbm12c2FkY29zdHMnICAgICoKICAqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgogICogVGhlIGZvbGxvd2luZyAyIGZ1bmN0aW9ucyAoJ2NhbF9ubXZqb2ludHNh
ZGNvc3QnIGFuZCAgICAgICAgICAgICAgICAqCiAgKiAnY2FsX25tdnNhZGNvc3RzJykgYXJlIHVz
ZWQgdG8gY2FsY3VsYXRlIGNvc3QgbG9va3VwIHRhYmxlcyAgICAgICAgICoKICAqIHVzZWQgYnkg
J3ZwOV9kaWFtb25kX3NlYXJjaF9zYWQnLiBUaGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgICAg
ICAgKgotICogZnVuY3Rpb24gaXMgZ2VuZXJpYywgYnV0IHRoZSBORU9OIGludHJpbnNpY3Mgb3B0
aW1pc2VkIHZlcnNpb24gICAgICAqCisgKiBmdW5jdGlvbiBpcyBnZW5lcmljLCBidXQgdGhlIEFW
WCBpbnRyaW5zaWNzIG9wdGltaXNlZCB2ZXJzaW9uICAgICAgICoKICAqIHJlbGllcyBvbiB0aGUg
Zm9sbG93aW5nIHByb3BlcnRpZXMgb2YgdGhlIGNvbXB1dGVkIHRhYmxlczogICAgICAgICAgKgog
ICogRm9yIGNhbF9ubXZqb2ludHNhZGNvc3Q6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqCiAgKiAgIC0gbXZqb2ludHNhZGNvc3RbMV0gPT0gbXZqb2ludHNhZGNv
c3RbMl0gPT0gbXZqb2ludHNhZGNvc3RbM10gICAgICoKQEAgLTIyMjIsNyArMjE0Niw3IEBAIHZv
aWQgdnA5X2NoYW5nZV9jb25maWcoc3RydWN0IFZQOV9DT01QICpjcGksIGNvbnN0IFZQOUVuY29k
ZXJDb25maWcgKm94Y2YpIHsKICAqICAgICAgICAgKEVxdWFsIGNvc3RzIGZvciBib3RoIGNvbXBv
bmVudHMpICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogICogICAtIEZvciBhbGwgaTogbXZz
YWRjb3N0WzBdW2ldID09IG12c2FkY29zdFswXVstaV0gICAgICAgICAgICAgICAgICAqCiAgKiAg
ICAgICAgIChDb3N0IGZ1bmN0aW9uIGlzIGV2ZW4pICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICoKLSAqIElmIHRoZXNlIGRvIG5vdCBob2xkLCB0aGVuIHRoZSBORU9OIG9wdGlt
aXNlZCB2ZXJzaW9uIG9mIHRoZSAgICAgICAgKgorICogSWYgdGhlc2UgZG8gbm90IGhvbGQsIHRo
ZW4gdGhlIEFWWCBvcHRpbWlzZWQgdmVyc2lvbiBvZiB0aGUgICAgICAgICAqCiAgKiAndnA5X2Rp
YW1vbmRfc2VhcmNoX3NhZCcgZnVuY3Rpb24gY2Fubm90IGJlIHVzZWQgYXMgaXQgaXMsIGluIHdo
aWNoICoKICAqIGNhc2UgeW91IGNhbiByZXZlcnQgdG8gdXNpbmcgdGhlIEMgZnVuY3Rpb24gaW5z
dGVhZC4gICAgICAgICAgICAgICAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtMjMxNSw3ICsyMjM5
LDYgQEAgc3RhdGljIElOTElORSB2b2lkIHZweF9pbWdfY2hyb21hX3N1YnNhbXBsaW5nKHZweF9p
bWdfZm10X3QgZm10LAogICBzd2l0Y2ggKGZtdCkgewogICAgIGNhc2UgVlBYX0lNR19GTVRfSTQy
MDoKICAgICBjYXNlIFZQWF9JTUdfRk1UX1lWMTI6Ci0gICAgY2FzZSBWUFhfSU1HX0ZNVF9OVjEy
OgogICAgIGNhc2UgVlBYX0lNR19GTVRfSTQyMjoKICAgICBjYXNlIFZQWF9JTUdfRk1UX0k0MjAx
NjoKICAgICBjYXNlIFZQWF9JTUdfRk1UX0k0MjIxNjogKnN1YnNhbXBsaW5nX3ggPSAxOyBicmVh
azsKQEAgLTIzMjYsNyArMjI0OSw2IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfaW1nX2Nocm9t
YV9zdWJzYW1wbGluZyh2cHhfaW1nX2ZtdF90IGZtdCwKICAgICBjYXNlIFZQWF9JTUdfRk1UX0k0
MjA6CiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDQwOgogICAgIGNhc2UgVlBYX0lNR19GTVRfWVYx
MjoKLSAgICBjYXNlIFZQWF9JTUdfRk1UX05WMTI6CiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDIw
MTY6CiAgICAgY2FzZSBWUFhfSU1HX0ZNVF9JNDQwMTY6ICpzdWJzYW1wbGluZ195ID0gMTsgYnJl
YWs7CiAgICAgZGVmYXVsdDogKnN1YnNhbXBsaW5nX3kgPSAwOyBicmVhazsKQEAgLTIzODAsNyAr
MjMwMiw3IEBAIHZvaWQgdnA5X3VwZGF0ZV9jb21wcmVzc29yX3dpdGhfaW1nX2ZtdChWUDlfQ09N
UCAqY3BpLCB2cHhfaW1nX2ZtdF90IGltZ19mbXQpIHsKIFZQOV9DT01QICp2cDlfY3JlYXRlX2Nv
bXByZXNzb3IoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQnVmZmVyUG9vbCAqY29uc3QgcG9vbCkgewogICB1bnNpZ25lZCBpbnQg
aTsKLSAgVlA5X0NPTVAgKnZvbGF0aWxlIGNvbnN0IGNwaSA9IHZweF9tZW1hbGlnbigzMiwgc2l6
ZW9mKCpjcGkpKTsKKyAgVlA5X0NPTVAgKnZvbGF0aWxlIGNvbnN0IGNwaSA9IHZweF9tZW1hbGln
bigzMiwgc2l6ZW9mKFZQOV9DT01QKSk7CiAgIFZQOV9DT01NT04gKnZvbGF0aWxlIGNvbnN0IGNt
ID0gY3BpICE9IE5VTEwgPyAmY3BpLT5jb21tb24gOiBOVUxMOwogCiAgIGlmICghY20pIHJldHVy
biBOVUxMOwpAQCAtMjM5OCwxMyArMjMyMCwxMSBAQCBWUDlfQ09NUCAqdnA5X2NyZWF0ZV9jb21w
cmVzc29yKGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YsCiAgIGNtLT5mcmVlX21pID0gdnA5
X2VuY19mcmVlX21pOwogICBjbS0+c2V0dXBfbWkgPSB2cDlfZW5jX3NldHVwX21pOwogCi0gIENI
RUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjbS0+ZmMsCi0gICAgICAgICAgICAgICAgICAoRlJB
TUVfQ09OVEVYVCAqKXZweF9jYWxsb2MoMSwgc2l6ZW9mKCpjbS0+ZmMpKSk7CisgIENIRUNLX01F
TV9FUlJPUihjbSwgY20tPmZjLCAoRlJBTUVfQ09OVEVYVCAqKXZweF9jYWxsb2MoMSwgc2l6ZW9m
KCpjbS0+ZmMpKSk7CiAgIENIRUNLX01FTV9FUlJPUigKLSAgICAgICZjbS0+ZXJyb3IsIGNtLT5m
cmFtZV9jb250ZXh0cywKKyAgICAgIGNtLCBjbS0+ZnJhbWVfY29udGV4dHMsCiAgICAgICAoRlJB
TUVfQ09OVEVYVCAqKXZweF9jYWxsb2MoRlJBTUVfQ09OVEVYVFMsIHNpemVvZigqY20tPmZyYW1l
X2NvbnRleHRzKSkpOwogCi0gIGNwaS0+Y29tcHV0ZV9mcmFtZV9sb3dfbW90aW9uX29uZXBhc3Mg
PSAxOwogICBjcGktPnVzZV9zdmMgPSAwOwogICBjcGktPnJlc2l6ZV9zdGF0ZSA9IE9SSUc7CiAg
IGNwaS0+ZXh0ZXJuYWxfcmVzaXplID0gMDsKQEAgLTI0MjAsNDkgKzIzNDAsNjAgQEAgVlA5X0NP
TVAgKnZwOV9jcmVhdGVfY29tcHJlc3Nvcihjb25zdCBWUDlFbmNvZGVyQ29uZmlnICpveGNmLAog
ICBjcGktPmZyYW1lX2luZm8gPSB2cDlfZ2V0X2ZyYW1lX2luZm8ob3hjZik7CiAKICAgdnA5X3Jj
X2luaXQoJmNwaS0+b3hjZiwgb3hjZi0+cGFzcywgJmNwaS0+cmMpOwotICB2cDlfaW5pdF9yZF9w
YXJhbWV0ZXJzKGNwaSk7CiAKICAgaW5pdF9mcmFtZV9pbmRleGVzKGNtKTsKKyAgY3BpLT5wYXJ0
aXRpb25fc2VhcmNoX3NraXBwYWJsZV9mcmFtZSA9IDA7CiAgIGNwaS0+dGlsZV9kYXRhID0gTlVM
TDsKIAogICByZWFsbG9jX3NlZ21lbnRhdGlvbl9tYXBzKGNwaSk7CiAKICAgQ0hFQ0tfTUVNX0VS
Uk9SKAotICAgICAgJmNtLT5lcnJvciwgY3BpLT5za2luX21hcCwKLSAgICAgIHZweF9jYWxsb2Mo
Y20tPm1pX3Jvd3MgKiBjbS0+bWlfY29scywgc2l6ZW9mKCpjcGktPnNraW5fbWFwKSkpOworICAg
ICAgY20sIGNwaS0+c2tpbl9tYXAsCisgICAgICB2cHhfY2FsbG9jKGNtLT5taV9yb3dzICogY20t
Pm1pX2NvbHMsIHNpemVvZihjcGktPnNraW5fbWFwWzBdKSkpOwogCiAjaWYgIUNPTkZJR19SRUFM
VElNRV9PTkxZCi0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjcGktPmFsdF9yZWZfYXEs
IHZwOV9hbHRfcmVmX2FxX2NyZWF0ZSgpKTsKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGktPmFs
dF9yZWZfYXEsIHZwOV9hbHRfcmVmX2FxX2NyZWF0ZSgpKTsKICNlbmRpZgogCiAgIENIRUNLX01F
TV9FUlJPUigKLSAgICAgICZjbS0+ZXJyb3IsIGNwaS0+Y29uc2VjX3plcm9fbXYsCisgICAgICBj
bSwgY3BpLT5jb25zZWNfemVyb19tdiwKICAgICAgIHZweF9jYWxsb2MoY20tPm1pX3Jvd3MgKiBj
bS0+bWlfY29scywgc2l6ZW9mKCpjcGktPmNvbnNlY196ZXJvX212KSkpOwogCi0gIENIRUNLX01F
TV9FUlJPUigmY20tPmVycm9yLCBjcGktPm5tdmNvc3RzWzBdLAorICBDSEVDS19NRU1fRVJST1Io
Y20sIGNwaS0+bm12Y29zdHNbMF0sCiAgICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKE1WX1ZB
TFMsIHNpemVvZigqY3BpLT5ubXZjb3N0c1swXSkpKTsKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+
ZXJyb3IsIGNwaS0+bm12Y29zdHNbMV0sCisgIENIRUNLX01FTV9FUlJPUihjbSwgY3BpLT5ubXZj
b3N0c1sxXSwKICAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2MoTVZfVkFMUywgc2l6ZW9mKCpj
cGktPm5tdmNvc3RzWzFdKSkpOwotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgY3BpLT5u
bXZjb3N0c19ocFswXSwKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGktPm5tdmNvc3RzX2hwWzBd
LAogICAgICAgICAgICAgICAgICAgdnB4X2NhbGxvYyhNVl9WQUxTLCBzaXplb2YoKmNwaS0+bm12
Y29zdHNfaHBbMF0pKSk7Ci0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjcGktPm5tdmNv
c3RzX2hwWzFdLAorICBDSEVDS19NRU1fRVJST1IoY20sIGNwaS0+bm12Y29zdHNfaHBbMV0sCiAg
ICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKE1WX1ZBTFMsIHNpemVvZigqY3BpLT5ubXZjb3N0
c19ocFsxXSkpKTsKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGNwaS0+bm12c2FkY29z
dHNbMF0sCisgIENIRUNLX01FTV9FUlJPUihjbSwgY3BpLT5ubXZzYWRjb3N0c1swXSwKICAgICAg
ICAgICAgICAgICAgIHZweF9jYWxsb2MoTVZfVkFMUywgc2l6ZW9mKCpjcGktPm5tdnNhZGNvc3Rz
WzBdKSkpOwotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgY3BpLT5ubXZzYWRjb3N0c1sx
XSwKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGktPm5tdnNhZGNvc3RzWzFdLAogICAgICAgICAg
ICAgICAgICAgdnB4X2NhbGxvYyhNVl9WQUxTLCBzaXplb2YoKmNwaS0+bm12c2FkY29zdHNbMV0p
KSk7Ci0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjcGktPm5tdnNhZGNvc3RzX2hwWzBd
LAorICBDSEVDS19NRU1fRVJST1IoY20sIGNwaS0+bm12c2FkY29zdHNfaHBbMF0sCiAgICAgICAg
ICAgICAgICAgICB2cHhfY2FsbG9jKE1WX1ZBTFMsIHNpemVvZigqY3BpLT5ubXZzYWRjb3N0c19o
cFswXSkpKTsKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGNwaS0+bm12c2FkY29zdHNf
aHBbMV0sCisgIENIRUNLX01FTV9FUlJPUihjbSwgY3BpLT5ubXZzYWRjb3N0c19ocFsxXSwKICAg
ICAgICAgICAgICAgICAgIHZweF9jYWxsb2MoTVZfVkFMUywgc2l6ZW9mKCpjcGktPm5tdnNhZGNv
c3RzX2hwWzFdKSkpOwogCiAgIGZvciAoaSA9IDA7IGkgPCAoc2l6ZW9mKGNwaS0+bWJncmFwaF9z
dGF0cykgLyBzaXplb2YoY3BpLT5tYmdyYXBoX3N0YXRzWzBdKSk7CiAgICAgICAgaSsrKSB7CiAg
ICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgICAmY20tPmVycm9yLCBjcGktPm1iZ3JhcGhfc3Rh
dHNbaV0ubWJfc3RhdHMsCisgICAgICAgIGNtLCBjcGktPm1iZ3JhcGhfc3RhdHNbaV0ubWJfc3Rh
dHMsCiAgICAgICAgIHZweF9jYWxsb2MoY20tPk1CcyAqIHNpemVvZigqY3BpLT5tYmdyYXBoX3N0
YXRzW2ldLm1iX3N0YXRzKSwgMSkpOwogICB9CiAKKyNpZiBDT05GSUdfRlBfTUJfU1RBVFMKKyAg
Y3BpLT51c2VfZnBfbWJfc3RhdHMgPSAwOworICBpZiAoY3BpLT51c2VfZnBfbWJfc3RhdHMpIHsK
KyAgICAvLyBhIHBsYWNlIGhvbGRlciB1c2VkIHRvIHN0b3JlIHRoZSBmaXJzdCBwYXNzIG1iIHN0
YXRzIGluIHRoZSBmaXJzdCBwYXNzCisgICAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGktPnR3b3Bh
c3MuZnJhbWVfbWJfc3RhdHNfYnVmLAorICAgICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKGNt
LT5NQnMgKiBzaXplb2YodWludDhfdCksIDEpKTsKKyAgfSBlbHNlIHsKKyAgICBjcGktPnR3b3Bh
c3MuZnJhbWVfbWJfc3RhdHNfYnVmID0gTlVMTDsKKyAgfQorI2VuZGlmCisKICAgY3BpLT5yZWZy
ZXNoX2FsdF9yZWZfZnJhbWUgPSAwOwogICBjcGktPmJfY2FsY3VsYXRlX3BzbnIgPSBDT05GSUdf
SU5URVJOQUxfU1RBVFM7CiAKQEAgLTI1MDMsNyArMjQzNCw3IEBAIFZQOV9DT01QICp2cDlfY3Jl
YXRlX2NvbXByZXNzb3IoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKICAgfQogCiAgIGlm
IChjcGktPmJfY2FsY3VsYXRlX2NvbnNpc3RlbmN5KSB7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZj
bS0+ZXJyb3IsIGNwaS0+c3NpbV92YXJzLAorICAgIENIRUNLX01FTV9FUlJPUihjbSwgY3BpLT5z
c2ltX3ZhcnMsCiAgICAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2MoY3BpLT5jb21tb24ubWlf
cm93cyAqIGNwaS0+Y29tbW9uLm1pX2NvbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2l6ZW9mKCpjcGktPnNzaW1fdmFycykgKiA0KSk7CiAgICAgY3BpLT53b3JzdF9jb25zaXN0
ZW5jeSA9IDEwMC4wOwpAQCAtMjU3NCwxMSArMjUwNSwxMSBAQCBWUDlfQ09NUCAqdnA5X2NyZWF0
ZV9jb21wcmVzc29yKGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YsCiAgICAgICAgIGNwaS0+
c3ZjLm51bWJlcl90ZW1wb3JhbF9sYXllcnMgPiAxKSB7CiAgICAgICBGSVJTVFBBU1NfU1RBVFMg
KmNvbnN0IHN0YXRzID0gb3hjZi0+dHdvX3Bhc3Nfc3RhdHNfaW4uYnVmOwogICAgICAgRklSU1RQ
QVNTX1NUQVRTICpzdGF0c19jb3B5W1ZQWF9TU19NQVhfTEFZRVJTXSA9IHsgMCB9OwotICAgICAg
aW50IG47CisgICAgICBpbnQgaTsKIAotICAgICAgZm9yIChuID0gMDsgbiA8IG94Y2YtPnNzX251
bWJlcl9sYXllcnM7ICsrbikgeworICAgICAgZm9yIChpID0gMDsgaSA8IG94Y2YtPnNzX251bWJl
cl9sYXllcnM7ICsraSkgewogICAgICAgICBGSVJTVFBBU1NfU1RBVFMgKmNvbnN0IGxhc3RfcGFj
a2V0X2Zvcl9sYXllciA9Ci0gICAgICAgICAgICAmc3RhdHNbcGFja2V0cyAtIG94Y2YtPnNzX251
bWJlcl9sYXllcnMgKyBuXTsKKyAgICAgICAgICAgICZzdGF0c1twYWNrZXRzIC0gb3hjZi0+c3Nf
bnVtYmVyX2xheWVycyArIGldOwogICAgICAgICBjb25zdCBpbnQgbGF5ZXJfaWQgPSAoaW50KWxh
c3RfcGFja2V0X2Zvcl9sYXllci0+c3BhdGlhbF9sYXllcl9pZDsKICAgICAgICAgY29uc3QgaW50
IHBhY2tldHNfaW5fbGF5ZXIgPSAoaW50KWxhc3RfcGFja2V0X2Zvcl9sYXllci0+Y291bnQgKyAx
OwogICAgICAgICBpZiAobGF5ZXJfaWQgPj0gMCAmJiBsYXllcl9pZCA8IG94Y2YtPnNzX251bWJl
cl9sYXllcnMpIHsKQEAgLTI1ODgsNyArMjUxOSw3IEBAIFZQOV9DT01QICp2cDlfY3JlYXRlX2Nv
bXByZXNzb3IoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKICAgICAgICAgICB2cHhfZnJl
ZShsYy0+cmNfdHdvcGFzc19zdGF0c19pbi5idWYpOwogCiAgICAgICAgICAgbGMtPnJjX3R3b3Bh
c3Nfc3RhdHNfaW4uc3ogPSBwYWNrZXRzX2luX2xheWVyICogcGFja2V0X3N6OwotICAgICAgICAg
IENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBsYy0+cmNfdHdvcGFzc19zdGF0c19pbi5idWYs
CisgICAgICAgICAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBsYy0+cmNfdHdvcGFzc19zdGF0c19pbi5i
dWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9tYWxsb2MobGMtPnJjX3R3b3Bhc3Nf
c3RhdHNfaW4uc3opKTsKICAgICAgICAgICBsYy0+dHdvcGFzcy5zdGF0c19pbl9zdGFydCA9IGxj
LT5yY190d29wYXNzX3N0YXRzX2luLmJ1ZjsKICAgICAgICAgICBsYy0+dHdvcGFzcy5zdGF0c19p
biA9IGxjLT50d29wYXNzLnN0YXRzX2luX3N0YXJ0OwpAQCAtMjYwMywxMSArMjUzNCwxMSBAQCBW
UDlfQ09NUCAqdnA5X2NyZWF0ZV9jb21wcmVzc29yKGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94
Y2YsCiAgICAgICAgIH0KICAgICAgIH0KIAotICAgICAgZm9yIChuID0gMDsgbiA8IHBhY2tldHM7
ICsrbikgewotICAgICAgICBjb25zdCBpbnQgbGF5ZXJfaWQgPSAoaW50KXN0YXRzW25dLnNwYXRp
YWxfbGF5ZXJfaWQ7CisgICAgICBmb3IgKGkgPSAwOyBpIDwgcGFja2V0czsgKytpKSB7CisgICAg
ICAgIGNvbnN0IGludCBsYXllcl9pZCA9IChpbnQpc3RhdHNbaV0uc3BhdGlhbF9sYXllcl9pZDsK
ICAgICAgICAgaWYgKGxheWVyX2lkID49IDAgJiYgbGF5ZXJfaWQgPCBveGNmLT5zc19udW1iZXJf
bGF5ZXJzICYmCiAgICAgICAgICAgICBzdGF0c19jb3B5W2xheWVyX2lkXSAhPSBOVUxMKSB7Ci0g
ICAgICAgICAgKnN0YXRzX2NvcHlbbGF5ZXJfaWRdID0gc3RhdHNbbl07CisgICAgICAgICAgKnN0
YXRzX2NvcHlbbGF5ZXJfaWRdID0gc3RhdHNbaV07CiAgICAgICAgICAgKytzdGF0c19jb3B5W2xh
eWVyX2lkXTsKICAgICAgICAgfQogICAgICAgfQpAQCAtMjYxNSw2ICsyNTQ2LDE4IEBAIFZQOV9D
T01QICp2cDlfY3JlYXRlX2NvbXByZXNzb3IoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwK
ICAgICAgIHZwOV9pbml0X3NlY29uZF9wYXNzX3NwYXRpYWxfc3ZjKGNwaSk7CiAgICAgfSBlbHNl
IHsKICAgICAgIGludCBudW1fZnJhbWVzOworI2lmIENPTkZJR19GUF9NQl9TVEFUUworICAgICAg
aWYgKGNwaS0+dXNlX2ZwX21iX3N0YXRzKSB7CisgICAgICAgIGNvbnN0IHNpemVfdCBwc3ogPSBj
cGktPmNvbW1vbi5NQnMgKiBzaXplb2YodWludDhfdCk7CisgICAgICAgIGNvbnN0IGludCBwcyA9
IChpbnQpKG94Y2YtPmZpcnN0cGFzc19tYl9zdGF0c19pbi5zeiAvIHBzeik7CisKKyAgICAgICAg
Y3BpLT50d29wYXNzLmZpcnN0cGFzc19tYl9zdGF0cy5tYl9zdGF0c19zdGFydCA9CisgICAgICAg
ICAgICBveGNmLT5maXJzdHBhc3NfbWJfc3RhdHNfaW4uYnVmOworICAgICAgICBjcGktPnR3b3Bh
c3MuZmlyc3RwYXNzX21iX3N0YXRzLm1iX3N0YXRzX2VuZCA9CisgICAgICAgICAgICBjcGktPnR3
b3Bhc3MuZmlyc3RwYXNzX21iX3N0YXRzLm1iX3N0YXRzX3N0YXJ0ICsKKyAgICAgICAgICAgIChw
cyAtIDEpICogY3BpLT5jb21tb24uTUJzICogc2l6ZW9mKHVpbnQ4X3QpOworICAgICAgfQorI2Vu
ZGlmCiAKICAgICAgIGNwaS0+dHdvcGFzcy5zdGF0c19pbl9zdGFydCA9IG94Y2YtPnR3b19wYXNz
X3N0YXRzX2luLmJ1ZjsKICAgICAgIGNwaS0+dHdvcGFzcy5zdGF0c19pbiA9IGNwaS0+dHdvcGFz
cy5zdGF0c19pbl9zdGFydDsKQEAgLTI2NDMsNyArMjU4Niw3IEBAIFZQOV9DT01QICp2cDlfY3Jl
YXRlX2NvbXByZXNzb3IoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKICAgICBjb25zdCBp
bnQgaCA9IG51bV84eDhfYmxvY2tzX2hpZ2hfbG9va3VwW2JzaXplXTsKICAgICBjb25zdCBpbnQg
bnVtX2NvbHMgPSAoY20tPm1pX2NvbHMgKyB3IC0gMSkgLyB3OwogICAgIGNvbnN0IGludCBudW1f
cm93cyA9IChjbS0+bWlfcm93cyArIGggLSAxKSAvIGg7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZj
bS0+ZXJyb3IsIGNwaS0+bWlfc3NpbV9yZG11bHRfc2NhbGluZ19mYWN0b3JzLAorICAgIENIRUNL
X01FTV9FUlJPUihjbSwgY3BpLT5taV9zc2ltX3JkbXVsdF9zY2FsaW5nX2ZhY3RvcnMsCiAgICAg
ICAgICAgICAgICAgICAgIHZweF9jYWxsb2MobnVtX3Jvd3MgKiBudW1fY29scywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmNwaS0+bWlfc3NpbV9yZG11bHRfc2NhbGlu
Z19mYWN0b3JzKSkpOwogICB9CkBAIC0yNjUyLDc2ICsyNTk1LDczIEBAIFZQOV9DT01QICp2cDlf
Y3JlYXRlX2NvbXByZXNzb3IoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKICNpZiBDT05G
SUdfTk9OX0dSRUVEWV9NVgogICBjcGktPnRwbF9yZWFkeSA9IDA7CiAjZW5kaWYgIC8vIENPTkZJ
R19OT05fR1JFRURZX01WCi0gIGZvciAoaSA9IDA7IGkgPCBNQVhfQVJGX0dPUF9TSVpFOyArK2kp
IHsKLSAgICBjcGktPnRwbF9zdGF0c1tpXS50cGxfc3RhdHNfcHRyID0gTlVMTDsKLSAgfQorICBm
b3IgKGkgPSAwOyBpIDwgTUFYX0FSRl9HT1BfU0laRTsgKytpKSBjcGktPnRwbF9zdGF0c1tpXS50
cGxfc3RhdHNfcHRyID0gTlVMTDsKIAogICAvLyBBbGxvY2F0ZSBtZW1vcnkgdG8gc3RvcmUgdmFy
aWFuY2VzIGZvciBhIGZyYW1lLgotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgY3BpLT5z
b3VyY2VfZGlmZl92YXIsCi0gICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKGNtLT5NQnMsIHNp
emVvZihjcGktPnNvdXJjZV9kaWZmX3ZhcikpKTsKKyAgQ0hFQ0tfTUVNX0VSUk9SKGNtLCBjcGkt
PnNvdXJjZV9kaWZmX3ZhciwgdnB4X2NhbGxvYyhjbS0+TUJzLCBzaXplb2YoZGlmZikpKTsKICAg
Y3BpLT5zb3VyY2VfdmFyX3RocmVzaCA9IDA7CiAgIGNwaS0+ZnJhbWVzX3RpbGxfbmV4dF92YXJf
Y2hlY2sgPSAwOwotI2RlZmluZSBCRlAoQlQsIFNERiwgU0RTRiwgU0RBRiwgVkYsIFNWRiwgU1ZB
RiwgU0RYNERGLCBTRFNYNERGKSBcCi0gIGNwaS0+Zm5fcHRyW0JUXS5zZGYgPSBTREY7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY3BpLT5mbl9wdHJbQlRdLnNkc2Yg
PSBTRFNGOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBjcGktPmZuX3B0
cltCVF0uc2RhZiA9IFNEQUY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGNwaS0+Zm5fcHRyW0JUXS52ZiA9IFZGOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgY3BpLT5mbl9wdHJbQlRdLnN2ZiA9IFNWRjsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBjcGktPmZuX3B0cltCVF0uc3ZhZiA9IFNWQUY7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNwaS0+Zm5fcHRyW0JUXS5zZHg0ZGYg
PSBTRFg0REY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY3BpLT5mbl9wdHJb
QlRdLnNkc3g0ZGYgPSBTRFNYNERGOwotCi0gIEJGUChCTE9DS18zMlgxNiwgdnB4X3NhZDMyeDE2
LCB2cHhfc2FkX3NraXBfMzJ4MTYsIHZweF9zYWQzMngxNl9hdmcsCi0gICAgICB2cHhfdmFyaWFu
Y2UzMngxNiwgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2LAotICAgICAgdnB4X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UzMngxNiwgdnB4X3NhZDMyeDE2eDRkLCB2cHhfc2FkX3NraXBfMzJ4MTZ4
NGQpCi0KLSAgQkZQKEJMT0NLXzE2WDMyLCB2cHhfc2FkMTZ4MzIsIHZweF9zYWRfc2tpcF8xNngz
MiwgdnB4X3NhZDE2eDMyX2F2ZywKLSAgICAgIHZweF92YXJpYW5jZTE2eDMyLCB2cHhfc3ViX3Bp
eGVsX3ZhcmlhbmNlMTZ4MzIsCi0gICAgICB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMy
LCB2cHhfc2FkMTZ4MzJ4NGQsIHZweF9zYWRfc2tpcF8xNngzMng0ZCkKLQotICBCRlAoQkxPQ0tf
NjRYMzIsIHZweF9zYWQ2NHgzMiwgdnB4X3NhZF9za2lwXzY0eDMyLCB2cHhfc2FkNjR4MzJfYXZn
LAotICAgICAgdnB4X3ZhcmlhbmNlNjR4MzIsIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMiwK
LSAgICAgIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIsIHZweF9zYWQ2NHgzMng0ZCwg
dnB4X3NhZF9za2lwXzY0eDMyeDRkKQotCi0gIEJGUChCTE9DS18zMlg2NCwgdnB4X3NhZDMyeDY0
LCB2cHhfc2FkX3NraXBfMzJ4NjQsIHZweF9zYWQzMng2NF9hdmcsCi0gICAgICB2cHhfdmFyaWFu
Y2UzMng2NCwgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0LAotICAgICAgdnB4X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UzMng2NCwgdnB4X3NhZDMyeDY0eDRkLCB2cHhfc2FkX3NraXBfMzJ4NjR4
NGQpCi0KLSAgQkZQKEJMT0NLXzMyWDMyLCB2cHhfc2FkMzJ4MzIsIHZweF9zYWRfc2tpcF8zMngz
MiwgdnB4X3NhZDMyeDMyX2F2ZywKLSAgICAgIHZweF92YXJpYW5jZTMyeDMyLCB2cHhfc3ViX3Bp
eGVsX3ZhcmlhbmNlMzJ4MzIsCi0gICAgICB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMy
LCB2cHhfc2FkMzJ4MzJ4NGQsIHZweF9zYWRfc2tpcF8zMngzMng0ZCkKLQotICBCRlAoQkxPQ0tf
NjRYNjQsIHZweF9zYWQ2NHg2NCwgdnB4X3NhZF9za2lwXzY0eDY0LCB2cHhfc2FkNjR4NjRfYXZn
LAotICAgICAgdnB4X3ZhcmlhbmNlNjR4NjQsIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NCwK
LSAgICAgIHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjQsIHZweF9zYWQ2NHg2NHg0ZCwg
dnB4X3NhZF9za2lwXzY0eDY0eDRkKQotCi0gIEJGUChCTE9DS18xNlgxNiwgdnB4X3NhZDE2eDE2
LCB2cHhfc2FkX3NraXBfMTZ4MTYsIHZweF9zYWQxNngxNl9hdmcsCi0gICAgICB2cHhfdmFyaWFu
Y2UxNngxNiwgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2LAotICAgICAgdnB4X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UxNngxNiwgdnB4X3NhZDE2eDE2eDRkLCB2cHhfc2FkX3NraXBfMTZ4MTZ4
NGQpCi0KLSAgQkZQKEJMT0NLXzE2WDgsIHZweF9zYWQxNng4LCB2cHhfc2FkX3NraXBfMTZ4OCwg
dnB4X3NhZDE2eDhfYXZnLAotICAgICAgdnB4X3ZhcmlhbmNlMTZ4OCwgdnB4X3N1Yl9waXhlbF92
YXJpYW5jZTE2eDgsCi0gICAgICB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDgsIHZweF9z
YWQxNng4eDRkLCB2cHhfc2FkX3NraXBfMTZ4OHg0ZCkKLQotICBCRlAoQkxPQ0tfOFgxNiwgdnB4
X3NhZDh4MTYsIHZweF9zYWRfc2tpcF84eDE2LCB2cHhfc2FkOHgxNl9hdmcsCi0gICAgICB2cHhf
dmFyaWFuY2U4eDE2LCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiwKLSAgICAgIHZweF9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNiwgdnB4X3NhZDh4MTZ4NGQsIHZweF9zYWRfc2tpcF84eDE2
eDRkKQotCi0gIEJGUChCTE9DS184WDgsIHZweF9zYWQ4eDgsIHZweF9zYWRfc2tpcF84eDgsIHZw
eF9zYWQ4eDhfYXZnLCB2cHhfdmFyaWFuY2U4eDgsCisjZGVmaW5lIEJGUChCVCwgU0RGLCBTREFG
LCBWRiwgU1ZGLCBTVkFGLCBTRFg0REYsIFNEWDhGKSBcCisgIGNwaS0+Zm5fcHRyW0JUXS5zZGYg
PSBTREY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGNwaS0+Zm5fcHRyW0JUXS5z
ZGFmID0gU0RBRjsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGNwaS0+Zm5fcHRyW0JU
XS52ZiA9IFZGOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGNwaS0+Zm5fcHRy
W0JUXS5zdmYgPSBTVkY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGNwaS0+Zm5f
cHRyW0JUXS5zdmFmID0gU1ZBRjsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGNwaS0+
Zm5fcHRyW0JUXS5zZHg0ZGYgPSBTRFg0REY7ICAgICAgICAgICAgICAgICAgICAgICBcCisgIGNw
aS0+Zm5fcHRyW0JUXS5zZHg4ZiA9IFNEWDhGOworCisgIC8vIFRPRE8oYW5naWViaXJkKTogbWFr
ZSBzZHg4ZiBhdmFpbGFibGUgZm9yIGV2ZXJ5IGJsb2NrIHNpemUKKyAgQkZQKEJMT0NLXzMyWDE2
LCB2cHhfc2FkMzJ4MTYsIHZweF9zYWQzMngxNl9hdmcsIHZweF92YXJpYW5jZTMyeDE2LAorICAg
ICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2LCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTMyeDE2LAorICAgICAgdnB4X3NhZDMyeDE2eDRkLCBOVUxMKQorCisgIEJGUChCTE9DS18xNlgz
MiwgdnB4X3NhZDE2eDMyLCB2cHhfc2FkMTZ4MzJfYXZnLCB2cHhfdmFyaWFuY2UxNngzMiwKKyAg
ICAgIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMiwgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2UxNngzMiwKKyAgICAgIHZweF9zYWQxNngzMng0ZCwgTlVMTCkKKworICBCRlAoQkxPQ0tfNjRY
MzIsIHZweF9zYWQ2NHgzMiwgdnB4X3NhZDY0eDMyX2F2ZywgdnB4X3ZhcmlhbmNlNjR4MzIsCisg
ICAgICB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlNjR4MzIsIHZweF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlNjR4MzIsCisgICAgICB2cHhfc2FkNjR4MzJ4NGQsIE5VTEwpCisKKyAgQkZQKEJMT0NLXzMy
WDY0LCB2cHhfc2FkMzJ4NjQsIHZweF9zYWQzMng2NF9hdmcsIHZweF92YXJpYW5jZTMyeDY0LAor
ICAgICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0LCB2cHhfc3ViX3BpeGVsX2F2Z192YXJp
YW5jZTMyeDY0LAorICAgICAgdnB4X3NhZDMyeDY0eDRkLCBOVUxMKQorCisgIEJGUChCTE9DS18z
MlgzMiwgdnB4X3NhZDMyeDMyLCB2cHhfc2FkMzJ4MzJfYXZnLCB2cHhfdmFyaWFuY2UzMngzMiwK
KyAgICAgIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiwgdnB4X3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UzMngzMiwKKyAgICAgIHZweF9zYWQzMngzMng0ZCwgdnB4X3NhZDMyeDMyeDgpCisKKyAg
QkZQKEJMT0NLXzY0WDY0LCB2cHhfc2FkNjR4NjQsIHZweF9zYWQ2NHg2NF9hdmcsIHZweF92YXJp
YW5jZTY0eDY0LAorICAgICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0LCB2cHhfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZTY0eDY0LAorICAgICAgdnB4X3NhZDY0eDY0eDRkLCBOVUxMKQorCisg
IEJGUChCTE9DS18xNlgxNiwgdnB4X3NhZDE2eDE2LCB2cHhfc2FkMTZ4MTZfYXZnLCB2cHhfdmFy
aWFuY2UxNngxNiwKKyAgICAgIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNiwgdnB4X3N1Yl9w
aXhlbF9hdmdfdmFyaWFuY2UxNngxNiwKKyAgICAgIHZweF9zYWQxNngxNng0ZCwgdnB4X3NhZDE2
eDE2eDgpCisKKyAgQkZQKEJMT0NLXzE2WDgsIHZweF9zYWQxNng4LCB2cHhfc2FkMTZ4OF9hdmcs
IHZweF92YXJpYW5jZTE2eDgsCisgICAgICB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCwgdnB4
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4LAorICAgICAgdnB4X3NhZDE2eDh4NGQsIHZweF9z
YWQxNng4eDgpCisKKyAgQkZQKEJMT0NLXzhYMTYsIHZweF9zYWQ4eDE2LCB2cHhfc2FkOHgxNl9h
dmcsIHZweF92YXJpYW5jZTh4MTYsCisgICAgICB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiwg
dnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDE2LAorICAgICAgdnB4X3NhZDh4MTZ4NGQsIHZw
eF9zYWQ4eDE2eDgpCisKKyAgQkZQKEJMT0NLXzhYOCwgdnB4X3NhZDh4OCwgdnB4X3NhZDh4OF9h
dmcsIHZweF92YXJpYW5jZTh4OCwKICAgICAgIHZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDgsIHZw
eF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4LCB2cHhfc2FkOHg4eDRkLAotICAgICAgdnB4X3Nh
ZF9za2lwXzh4OHg0ZCkKKyAgICAgIHZweF9zYWQ4eDh4OCkKIAotICBCRlAoQkxPQ0tfOFg0LCB2
cHhfc2FkOHg0LCB2cHhfc2FkX3NraXBfOHg0LCB2cHhfc2FkOHg0X2F2ZywgdnB4X3ZhcmlhbmNl
OHg0LAorICBCRlAoQkxPQ0tfOFg0LCB2cHhfc2FkOHg0LCB2cHhfc2FkOHg0X2F2ZywgdnB4X3Zh
cmlhbmNlOHg0LAogICAgICAgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTh4NCwgdnB4X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U4eDQsIHZweF9zYWQ4eDR4NGQsCi0gICAgICB2cHhfc2FkX3NraXBfOHg0
eDRkKQorICAgICAgTlVMTCkKIAotICBCRlAoQkxPQ0tfNFg4LCB2cHhfc2FkNHg4LCB2cHhfc2Fk
X3NraXBfNHg4LCB2cHhfc2FkNHg4X2F2ZywgdnB4X3ZhcmlhbmNlNHg4LAorICBCRlAoQkxPQ0tf
NFg4LCB2cHhfc2FkNHg4LCB2cHhfc2FkNHg4X2F2ZywgdnB4X3ZhcmlhbmNlNHg4LAogICAgICAg
dnB4X3N1Yl9waXhlbF92YXJpYW5jZTR4OCwgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDgs
IHZweF9zYWQ0eDh4NGQsCi0gICAgICB2cHhfc2FkX3NraXBfNHg4eDRkKQorICAgICAgTlVMTCkK
IAotICBCRlAoQkxPQ0tfNFg0LCB2cHhfc2FkNHg0LCB2cHhfc2FkX3NraXBfNHg0LCB2cHhfc2Fk
NHg0X2F2ZywgdnB4X3ZhcmlhbmNlNHg0LAorICBCRlAoQkxPQ0tfNFg0LCB2cHhfc2FkNHg0LCB2
cHhfc2FkNHg0X2F2ZywgdnB4X3ZhcmlhbmNlNHg0LAogICAgICAgdnB4X3N1Yl9waXhlbF92YXJp
YW5jZTR4NCwgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDQsIHZweF9zYWQ0eDR4NGQsCi0g
ICAgICB2cHhfc2FkX3NraXBfNHg0eDRkKQorICAgICAgdnB4X3NhZDR4NHg4KQogCiAjaWYgQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKICAgaGlnaGJkX3NldF92YXJfZm5zKGNwaSk7CkBAIC0yNzUx
LDEyICsyNjkxLDEwIEBAIFZQOV9DT01QICp2cDlfY3JlYXRlX2NvbXByZXNzb3IoY29uc3QgVlA5
RW5jb2RlckNvbmZpZyAqb3hjZiwKIAogI2lmIENPTkZJR19SQVRFX0NUUkwKICAgZW5jb2RlX2Nv
bW1hbmRfaW5pdCgmY3BpLT5lbmNvZGVfY29tbWFuZCk7Ci0gIGlmIChveGNmLT51c2Vfc2ltcGxl
X2VuY29kZV9hcGkpIHsKLSAgICBwYXJ0aXRpb25faW5mb19pbml0KGNwaSk7Ci0gICAgbW90aW9u
X3ZlY3Rvcl9pbmZvX2luaXQoY3BpKTsKLSAgICBmcF9tb3Rpb25fdmVjdG9yX2luZm9faW5pdChj
cGkpOwotICAgIHRwbF9zdGF0c19pbmZvX2luaXQoY3BpKTsKLSAgfQorICBwYXJ0aXRpb25faW5m
b19pbml0KGNwaSk7CisgIG1vdGlvbl92ZWN0b3JfaW5mb19pbml0KGNwaSk7CisgIGZwX21vdGlv
bl92ZWN0b3JfaW5mb19pbml0KGNwaSk7CisgIHRwbF9zdGF0c19pbmZvX2luaXQoY3BpKTsKICNl
bmRpZgogCiAgIHJldHVybiBjcGk7CkBAIC0yNzY5LDkgKzI3MDcsMTIgQEAgVlA5X0NPTVAgKnZw
OV9jcmVhdGVfY29tcHJlc3Nvcihjb25zdCBWUDlFbmNvZGVyQ29uZmlnICpveGNmLAogICBzbnBy
aW50ZigoSCkgKyBzdHJsZW4oSCksIHNpemVvZihIKSAtIHN0cmxlbihIKSwgKFQpLCAoVikpCiAj
ZW5kaWYgIC8vIENPTkZJR19JTlRFUk5BTF9TVEFUUwogCitzdGF0aWMgdm9pZCBmcmVlX3RwbF9i
dWZmZXIoVlA5X0NPTVAgKmNwaSk7CisKIHZvaWQgdnA5X3JlbW92ZV9jb21wcmVzc29yKFZQOV9D
T01QICpjcGkpIHsKICAgVlA5X0NPTU1PTiAqY207CiAgIHVuc2lnbmVkIGludCBpOworICBpbnQg
dDsKIAogICBpZiAoIWNwaSkgcmV0dXJuOwogCkBAIC0yODYyLDcgKzI4MDMsNyBAQCB2b2lkIHZw
OV9yZW1vdmVfY29tcHJlc3NvcihWUDlfQ09NUCAqY3BpKSB7CiAjaWYgMAogICAgIHsKICAgICAg
IHByaW50ZigiXG5fcGlja19sb29wX2ZpbHRlcl9sZXZlbDolZFxuIiwgY3BpLT50aW1lX3BpY2tf
bHBmIC8gMTAwMCk7Ci0gICAgICBwcmludGYoIlxuX2ZyYW1lcyByZWNlaXZlX2RhdGEgZW5jb2Rf
bWJfcm93IGNvbXByZXNzX2ZyYW1lICBUb3RhbFxuIik7CisgICAgICBwcmludGYoIlxuX2ZyYW1l
cyByZWNpdmVfZGF0YSBlbmNvZF9tYl9yb3cgY29tcHJlc3NfZnJhbWUgIFRvdGFsXG4iKTsKICAg
ICAgIHByaW50ZigiJTZkICUxMGxkICUxMGxkICUxMGxkICUxMGxkXG4iLCBjcGktPmNvbW1vbi5j
dXJyZW50X3ZpZGVvX2ZyYW1lLAogICAgICAgICAgICAgIGNwaS0+dGltZV9yZWNlaXZlX2RhdGEg
LyAxMDAwLCBjcGktPnRpbWVfZW5jb2RlX3NiX3JvdyAvIDEwMDAsCiAgICAgICAgICAgICAgY3Bp
LT50aW1lX2NvbXByZXNzX2RhdGEgLyAxMDAwLApAQCAtMjg4MiwxMiArMjgyMywzMCBAQCB2b2lk
IHZwOV9yZW1vdmVfY29tcHJlc3NvcihWUDlfQ09NUCAqY3BpKSB7CiAgICAgdnB4X2ZyZWUoY3Bp
LT5rbWVhbnNfZGF0YV9hcnIpOwogICB9CiAKLSAgdnA5X2ZyZWVfdHBsX2J1ZmZlcihjcGkpOwor
ICBmcmVlX3RwbF9idWZmZXIoY3BpKTsKKworICBmb3IgKHQgPSAwOyB0IDwgY3BpLT5udW1fd29y
a2VyczsgKyt0KSB7CisgICAgVlB4V29ya2VyICpjb25zdCB3b3JrZXIgPSAmY3BpLT53b3JrZXJz
W3RdOworICAgIEVuY1dvcmtlckRhdGEgKmNvbnN0IHRocmVhZF9kYXRhID0gJmNwaS0+dGlsZV90
aHJfZGF0YVt0XTsKKworICAgIC8vIERlYWxsb2NhdGUgYWxsb2NhdGVkIHRocmVhZHMuCisgICAg
dnB4X2dldF93b3JrZXJfaW50ZXJmYWNlKCktPmVuZCh3b3JrZXIpOwogCi0gIHZwOV9sb29wX2Zp
bHRlcl9kZWFsbG9jKCZjcGktPmxmX3Jvd19zeW5jKTsKLSAgdnA5X2JpdHN0cmVhbV9lbmNvZGVf
dGlsZXNfYnVmZmVyX2RlYWxsb2MoY3BpKTsKKyAgICAvLyBEZWFsbG9jYXRlIGFsbG9jYXRlZCB0
aHJlYWQgZGF0YS4KKyAgICBpZiAodCA8IGNwaS0+bnVtX3dvcmtlcnMgLSAxKSB7CisgICAgICB2
cHhfZnJlZSh0aHJlYWRfZGF0YS0+dGQtPmNvdW50cyk7CisgICAgICB2cDlfZnJlZV9wY190cmVl
KHRocmVhZF9kYXRhLT50ZCk7CisgICAgICB2cHhfZnJlZSh0aHJlYWRfZGF0YS0+dGQpOworICAg
IH0KKyAgfQorICB2cHhfZnJlZShjcGktPnRpbGVfdGhyX2RhdGEpOworICB2cHhfZnJlZShjcGkt
PndvcmtlcnMpOwogICB2cDlfcm93X210X21lbV9kZWFsbG9jKGNwaSk7Ci0gIHZwOV9lbmNvZGVf
ZnJlZV9tdF9kYXRhKGNwaSk7CisKKyAgaWYgKGNwaS0+bnVtX3dvcmtlcnMgPiAxKSB7CisgICAg
dnA5X2xvb3BfZmlsdGVyX2RlYWxsb2MoJmNwaS0+bGZfcm93X3N5bmMpOworICAgIHZwOV9iaXRz
dHJlYW1fZW5jb2RlX3RpbGVzX2J1ZmZlcl9kZWFsbG9jKGNwaSk7CisgIH0KIAogI2lmICFDT05G
SUdfUkVBTFRJTUVfT05MWQogICB2cDlfYWx0X3JlZl9hcV9kZXN0cm95KGNwaS0+YWx0X3JlZl9h
cSk7CkBAIC0yOTAwLDExICsyODU5LDE0IEBAIHZvaWQgdnA5X3JlbW92ZV9jb21wcmVzc29yKFZQ
OV9DT01QICpjcGkpIHsKICAgICB2cHhfZnJlZShjcGktPm1iZ3JhcGhfc3RhdHNbaV0ubWJfc3Rh
dHMpOwogICB9CiAKLSAgdnA5X2V4dHJjX2RlbGV0ZSgmY3BpLT5leHRfcmF0ZWN0cmwpOworI2lm
IENPTkZJR19GUF9NQl9TVEFUUworICBpZiAoY3BpLT51c2VfZnBfbWJfc3RhdHMpIHsKKyAgICB2
cHhfZnJlZShjcGktPnR3b3Bhc3MuZnJhbWVfbWJfc3RhdHNfYnVmKTsKKyAgICBjcGktPnR3b3Bh
c3MuZnJhbWVfbWJfc3RhdHNfYnVmID0gTlVMTDsKKyAgfQorI2VuZGlmCiAKLSAgLy8gSGVscCBk
ZXRlY3QgdXNlIGFmdGVyIGZyZWUgb2YgdGhlIGVycm9yIGRldGFpbCBzdHJpbmcuCi0gIG1lbXNl
dChjbS0+ZXJyb3IuZGV0YWlsLCAnQScsIHNpemVvZihjbS0+ZXJyb3IuZGV0YWlsKSAtIDEpOwot
ICBjbS0+ZXJyb3IuZGV0YWlsW3NpemVvZihjbS0+ZXJyb3IuZGV0YWlsKSAtIDFdID0gJ1wwJzsK
KyAgdnA5X2V4dHJjX2RlbGV0ZSgmY3BpLT5leHRfcmF0ZWN0cmwpOwogCiAgIHZwOV9yZW1vdmVf
Y29tbW9uKGNtKTsKICAgdnA5X2ZyZWVfcmVmX2ZyYW1lX2J1ZmZlcnMoY20tPmJ1ZmZlcl9wb29s
KTsKQEAgLTI5NzUsNyArMjkzNyw3IEBAIHZvaWQgdnA5X3VwZGF0ZV9yZWZlcmVuY2UoVlA5X0NP
TVAgKmNwaSwgaW50IHJlZl9mcmFtZV9mbGFncykgewogCiBzdGF0aWMgWVYxMl9CVUZGRVJfQ09O
RklHICpnZXRfdnA5X3JlZl9mcmFtZV9idWZmZXIoCiAgICAgVlA5X0NPTVAgKmNwaSwgVlA5X1JF
RkZSQU1FIHJlZl9mcmFtZV9mbGFnKSB7Ci0gIE1WX1JFRkVSRU5DRV9GUkFNRSByZWZfZnJhbWUg
PSBOT19SRUZfRlJBTUU7CisgIE1WX1JFRkVSRU5DRV9GUkFNRSByZWZfZnJhbWUgPSBOT05FOwog
ICBpZiAocmVmX2ZyYW1lX2ZsYWcgPT0gVlA5X0xBU1RfRkxBRykKICAgICByZWZfZnJhbWUgPSBM
QVNUX0ZSQU1FOwogICBlbHNlIGlmIChyZWZfZnJhbWVfZmxhZyA9PSBWUDlfR09MRF9GTEFHKQpA
QCAtMjk4Myw4ICsyOTQ1LDcgQEAgc3RhdGljIFlWMTJfQlVGRkVSX0NPTkZJRyAqZ2V0X3ZwOV9y
ZWZfZnJhbWVfYnVmZmVyKAogICBlbHNlIGlmIChyZWZfZnJhbWVfZmxhZyA9PSBWUDlfQUxUX0ZM
QUcpCiAgICAgcmVmX2ZyYW1lID0gQUxUUkVGX0ZSQU1FOwogCi0gIHJldHVybiByZWZfZnJhbWUg
PT0gTk9fUkVGX0ZSQU1FID8gTlVMTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IGdldF9yZWZfZnJhbWVfYnVmZmVyKGNwaSwgcmVmX2ZyYW1lKTsKKyAgcmV0dXJuIHJlZl9m
cmFtZSA9PSBOT05FID8gTlVMTCA6IGdldF9yZWZfZnJhbWVfYnVmZmVyKGNwaSwgcmVmX2ZyYW1l
KTsKIH0KIAogaW50IHZwOV9jb3B5X3JlZmVyZW5jZV9lbmMoVlA5X0NPTVAgKmNwaSwgVlA5X1JF
RkZSQU1FIHJlZl9mcmFtZV9mbGFnLApAQCAtMzM3MCw3ICszMzMxLDcgQEAgdm9pZCB2cDlfdXBk
YXRlX3JlZmVyZW5jZV9mcmFtZXMoVlA5X0NPTVAgKmNwaSkgewogICB2cDlfZGVub2lzZXJfdXBk
YXRlX3JlZl9mcmFtZShjcGkpOwogI2VuZGlmCiAKLSAgaWYgKGlzX29uZV9wYXNzX3N2YyhjcGkp
KSB2cDlfc3ZjX3VwZGF0ZV9yZWZfZnJhbWUoY3BpKTsKKyAgaWYgKGlzX29uZV9wYXNzX2Nicl9z
dmMoY3BpKSkgdnA5X3N2Y191cGRhdGVfcmVmX2ZyYW1lKGNwaSk7CiB9CiAKIHN0YXRpYyB2b2lk
IGxvb3BmaWx0ZXJfZnJhbWUoVlA5X0NPTVAgKmNwaSwgVlA5X0NPTU1PTiAqY20pIHsKQEAgLTM0
MzUsNiArMzM5NiwxOSBAQCBzdGF0aWMgdm9pZCBsb29wZmlsdGVyX2ZyYW1lKFZQOV9DT01QICpj
cGksIFZQOV9DT01NT04gKmNtKSB7CiAgIHZweF9leHRlbmRfZnJhbWVfaW5uZXJfYm9yZGVycyhj
bS0+ZnJhbWVfdG9fc2hvdyk7CiB9CiAKK3N0YXRpYyBJTkxJTkUgdm9pZCBhbGxvY19mcmFtZV9t
dnMoVlA5X0NPTU1PTiAqY29uc3QgY20sIGludCBidWZmZXJfaWR4KSB7CisgIFJlZkNudEJ1ZmZl
ciAqY29uc3QgbmV3X2ZiX3B0ciA9ICZjbS0+YnVmZmVyX3Bvb2wtPmZyYW1lX2J1ZnNbYnVmZmVy
X2lkeF07CisgIGlmIChuZXdfZmJfcHRyLT5tdnMgPT0gTlVMTCB8fCBuZXdfZmJfcHRyLT5taV9y
b3dzIDwgY20tPm1pX3Jvd3MgfHwKKyAgICAgIG5ld19mYl9wdHItPm1pX2NvbHMgPCBjbS0+bWlf
Y29scykgeworICAgIHZweF9mcmVlKG5ld19mYl9wdHItPm12cyk7CisgICAgQ0hFQ0tfTUVNX0VS
Uk9SKGNtLCBuZXdfZmJfcHRyLT5tdnMsCisgICAgICAgICAgICAgICAgICAgIChNVl9SRUYgKil2
cHhfY2FsbG9jKGNtLT5taV9yb3dzICogY20tPm1pX2NvbHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqbmV3X2ZiX3B0ci0+bXZzKSkpOworICAgIG5l
d19mYl9wdHItPm1pX3Jvd3MgPSBjbS0+bWlfcm93czsKKyAgICBuZXdfZmJfcHRyLT5taV9jb2xz
ID0gY20tPm1pX2NvbHM7CisgIH0KK30KKwogdm9pZCB2cDlfc2NhbGVfcmVmZXJlbmNlcyhWUDlf
Q09NUCAqY3BpKSB7CiAgIFZQOV9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOwogICBNVl9SRUZF
UkVOQ0VfRlJBTUUgcmVmX2ZyYW1lOwpAQCAtMzc1MiwxMCArMzcyNiw2IEBAIHN0YXRpYyB2b2lk
IHNldF9zaXplX2RlcGVuZGVudF92YXJzKFZQOV9DT01QICpjcGksIGludCAqcSwgaW50ICpib3R0
b21faW5kZXgsCiAgICAgY3BpLT5yYy5mb3JjZV9tYXhfcSA9IDA7CiAgIH0KIAotICBpZiAoY3Bp
LT51c2Vfc3ZjKSB7Ci0gICAgY3BpLT5zdmMuYmFzZV9xaW5kZXhbY3BpLT5zdmMuc3BhdGlhbF9s
YXllcl9pZF0gPSAqcTsKLSAgfQotCiAgIGlmICghZnJhbWVfaXNfaW50cmFfb25seShjbSkpIHsK
ICAgICB2cDlfc2V0X2hpZ2hfcHJlY2lzaW9uX212KGNwaSwgKCpxKSA8IEhJR0hfUFJFQ0lTSU9O
X01WX1FUSFJFU0gpOwogICB9CkBAIC0zNzgxLDkgKzM3NTEsOSBAQCBzdGF0aWMgdm9pZCBzZXRf
c2l6ZV9kZXBlbmRlbnRfdmFycyhWUDlfQ09NUCAqY3BpLCBpbnQgKnEsIGludCAqYm90dG9tX2lu
ZGV4LAogICAgICAgY2FzZSA2OiBsID0gMTUwOyBicmVhazsKICAgICB9CiAgICAgaWYgKCFjcGkt
PmNvbW1vbi5wb3N0cHJvY19zdGF0ZS5saW1pdHMpIHsKLSAgICAgIENIRUNLX01FTV9FUlJPUigm
Y20tPmVycm9yLCBjcGktPmNvbW1vbi5wb3N0cHJvY19zdGF0ZS5saW1pdHMsCi0gICAgICAgICAg
ICAgICAgICAgICAgdnB4X2NhbGxvYyhjcGktPnVuX3NjYWxlZF9zb3VyY2UtPnlfd2lkdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmNwaS0+Y29tbW9uLnBvc3Rw
cm9jX3N0YXRlLmxpbWl0cykpKTsKKyAgICAgIGNwaS0+Y29tbW9uLnBvc3Rwcm9jX3N0YXRlLmxp
bWl0cyA9CisgICAgICAgICAgdnB4X2NhbGxvYyhjcGktPnVuX3NjYWxlZF9zb3VyY2UtPnlfd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmNwaS0+Y29tbW9uLnBvc3Rwcm9jX3N0
YXRlLmxpbWl0cykpOwogICAgIH0KICAgICB2cDlfZGVub2lzZSgmY3BpLT5jb21tb24sIGNwaS0+
U291cmNlLCBjcGktPlNvdXJjZSwgbCwKICAgICAgICAgICAgICAgICBjcGktPmNvbW1vbi5wb3N0
cHJvY19zdGF0ZS5saW1pdHMpOwpAQCAtMzg5NywxMCArMzg2NywxMyBAQCBzdGF0aWMgdm9pZCBz
ZXRfZnJhbWVfc2l6ZShWUDlfQ09NUCAqY3BpKSB7CiAgIHNldF9yZWZfcHRycyhjbSwgeGQsIExB
U1RfRlJBTUUsIExBU1RfRlJBTUUpOwogfQogCisjaWYgQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RF
IHx8IENPTkZJR19SQVRFX0NUUkwKIHN0YXRpYyB2b2lkIHNhdmVfZW5jb2RlX3BhcmFtcyhWUDlf
Q09NUCAqY3BpKSB7Ci0gIGludCB0aWxlX2lkeDsKKyAgVlA5X0NPTU1PTiAqY29uc3QgY20gPSAm
Y3BpLT5jb21tb247CisgIGNvbnN0IGludCB0aWxlX2NvbHMgPSAxIDw8IGNtLT5sb2cyX3RpbGVf
Y29sczsKKyAgY29uc3QgaW50IHRpbGVfcm93cyA9IDEgPDwgY20tPmxvZzJfdGlsZV9yb3dzOwor
ICBpbnQgdGlsZV9jb2wsIHRpbGVfcm93OwogICBpbnQgaSwgajsKLSAgVGlsZURhdGFFbmMgKnRp
bGVfZGF0YTsKICAgUkRfT1BUICpyZF9vcHQgPSAmY3BpLT5yZDsKICAgZm9yIChpID0gMDsgaSA8
IE1BWF9SRUZfRlJBTUVTOyBpKyspIHsKICAgICBmb3IgKGogPSAwOyBqIDwgUkVGRVJFTkNFX01P
REVTOyBqKyspCkBAIC0zOTExLDEyICszODg0LDIxIEBAIHN0YXRpYyB2b2lkIHNhdmVfZW5jb2Rl
X3BhcmFtcyhWUDlfQ09NUCAqY3BpKSB7CiAgICAgICByZF9vcHQtPmZpbHRlcl90aHJlc2hlc19w
cmV2W2ldW2pdID0gcmRfb3B0LT5maWx0ZXJfdGhyZXNoZXNbaV1bal07CiAgIH0KIAotICBmb3Ig
KHRpbGVfaWR4ID0gMDsgdGlsZV9pZHggPCBjcGktPmFsbG9jYXRlZF90aWxlczsgdGlsZV9pZHgr
KykgewotICAgIGFzc2VydChjcGktPnRpbGVfZGF0YSk7Ci0gICAgdGlsZV9kYXRhID0gJmNwaS0+
dGlsZV9kYXRhW3RpbGVfaWR4XTsKLSAgICB2cDlfY29weSh0aWxlX2RhdGEtPnRocmVzaF9mcmVx
X2ZhY3RfcHJldiwgdGlsZV9kYXRhLT50aHJlc2hfZnJlcV9mYWN0KTsKKyAgaWYgKGNwaS0+dGls
ZV9kYXRhICE9IE5VTEwpIHsKKyAgICBmb3IgKHRpbGVfcm93ID0gMDsgdGlsZV9yb3cgPCB0aWxl
X3Jvd3M7ICsrdGlsZV9yb3cpCisgICAgICBmb3IgKHRpbGVfY29sID0gMDsgdGlsZV9jb2wgPCB0
aWxlX2NvbHM7ICsrdGlsZV9jb2wpIHsKKyAgICAgICAgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSA9
CisgICAgICAgICAgICAmY3BpLT50aWxlX2RhdGFbdGlsZV9yb3cgKiB0aWxlX2NvbHMgKyB0aWxl
X2NvbF07CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBCTE9DS19TSVpFUzsgKytpKSB7CisgICAg
ICAgICAgZm9yIChqID0gMDsgaiA8IE1BWF9NT0RFUzsgKytqKSB7CisgICAgICAgICAgICB0aWxl
X2RhdGEtPnRocmVzaF9mcmVxX2ZhY3RfcHJldltpXVtqXSA9CisgICAgICAgICAgICAgICAgdGls
ZV9kYXRhLT50aHJlc2hfZnJlcV9mYWN0W2ldW2pdOworICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgfQogICB9CiB9CisjZW5kaWYgIC8vIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSB8fCBD
T05GSUdfUkFURV9DVFJMCiAKIHN0YXRpYyBJTkxJTkUgdm9pZCBzZXRfcmF3X3NvdXJjZV9mcmFt
ZShWUDlfQ09NUCAqY3BpKSB7CiAjaWZkZWYgRU5BQkxFX0tGX0RFTk9JU0UKQEAgLTM5MzksMTEg
KzM5MjEsMTEgQEAgc3RhdGljIGludCBlbmNvZGVfd2l0aG91dF9yZWNvZGVfbG9vcChWUDlfQ09N
UCAqY3BpLCBzaXplX3QgKnNpemUsCiAgIGludCBxID0gMCwgYm90dG9tX2luZGV4ID0gMCwgdG9w
X2luZGV4ID0gMDsKICAgaW50IG5vX2Ryb3Bfc2NlbmVfY2hhbmdlID0gMDsKICAgY29uc3QgSU5U
RVJQX0ZJTFRFUiBmaWx0ZXJfc2NhbGVyID0KLSAgICAgIChpc19vbmVfcGFzc19zdmMoY3BpKSkK
KyAgICAgIChpc19vbmVfcGFzc19jYnJfc3ZjKGNwaSkpCiAgICAgICAgICAgPyBzdmMtPmRvd25z
YW1wbGVfZmlsdGVyX3R5cGVbc3ZjLT5zcGF0aWFsX2xheWVyX2lkXQogICAgICAgICAgIDogRUlH
SFRUQVA7CiAgIGNvbnN0IGludCBwaGFzZV9zY2FsZXIgPQotICAgICAgKGlzX29uZV9wYXNzX3N2
YyhjcGkpKQorICAgICAgKGlzX29uZV9wYXNzX2Nicl9zdmMoY3BpKSkKICAgICAgICAgICA/IHN2
Yy0+ZG93bnNhbXBsZV9maWx0ZXJfcGhhc2Vbc3ZjLT5zcGF0aWFsX2xheWVyX2lkXQogICAgICAg
ICAgIDogMDsKIApAQCAtMzk2NCw3ICszOTQ2LDcgQEAgc3RhdGljIGludCBlbmNvZGVfd2l0aG91
dF9yZWNvZGVfbG9vcChWUDlfQ09NUCAqY3BpLCBzaXplX3QgKnNpemUsCiAKICAgc2V0X2ZyYW1l
X3NpemUoY3BpKTsKIAotICBpZiAoaXNfb25lX3Bhc3Nfc3ZjKGNwaSkgJiYKKyAgaWYgKGlzX29u
ZV9wYXNzX2Nicl9zdmMoY3BpKSAmJgogICAgICAgY3BpLT51bl9zY2FsZWRfc291cmNlLT55X3dp
ZHRoID09IGNtLT53aWR0aCA8PCAyICYmCiAgICAgICBjcGktPnVuX3NjYWxlZF9zb3VyY2UtPnlf
aGVpZ2h0ID09IGNtLT5oZWlnaHQgPDwgMiAmJgogICAgICAgc3ZjLT5zY2FsZWRfdGVtcC55X3dp
ZHRoID09IGNtLT53aWR0aCA8PCAxICYmCkBAIC0zOTc4LDcgKzM5NjAsNyBAQCBzdGF0aWMgaW50
IGVuY29kZV93aXRob3V0X3JlY29kZV9sb29wKFZQOV9DT01QICpjcGksIHNpemVfdCAqc2l6ZSwK
ICAgICAgICAgY20sIGNwaS0+dW5fc2NhbGVkX3NvdXJjZSwgJmNwaS0+c2NhbGVkX3NvdXJjZSwg
JnN2Yy0+c2NhbGVkX3RlbXAsCiAgICAgICAgIGZpbHRlcl9zY2FsZXIsIHBoYXNlX3NjYWxlciwg
ZmlsdGVyX3NjYWxlcjIsIHBoYXNlX3NjYWxlcjIpOwogICAgIHN2Yy0+c2NhbGVkX29uZV9oYWxm
ID0gMTsKLSAgfSBlbHNlIGlmIChpc19vbmVfcGFzc19zdmMoY3BpKSAmJgorICB9IGVsc2UgaWYg
KGlzX29uZV9wYXNzX2Nicl9zdmMoY3BpKSAmJgogICAgICAgICAgICAgIGNwaS0+dW5fc2NhbGVk
X3NvdXJjZS0+eV93aWR0aCA9PSBjbS0+d2lkdGggPDwgMSAmJgogICAgICAgICAgICAgIGNwaS0+
dW5fc2NhbGVkX3NvdXJjZS0+eV9oZWlnaHQgPT0gY20tPmhlaWdodCA8PCAxICYmCiAgICAgICAg
ICAgICAgc3ZjLT5zY2FsZWRfb25lX2hhbGYpIHsKQEAgLTM5OTMsNyArMzk3NSw3IEBAIHN0YXRp
YyBpbnQgZW5jb2RlX3dpdGhvdXRfcmVjb2RlX2xvb3AoVlA5X0NPTVAgKmNwaSwgc2l6ZV90ICpz
aXplLAogICB9CiAjaWZkZWYgT1VUUFVUX1lVVl9TVkNfU1JDCiAgIC8vIFdyaXRlIG91dCBhdCBt
b3N0IDMgc3BhdGlhbCBsYXllcnMuCi0gIGlmIChpc19vbmVfcGFzc19zdmMoY3BpKSAmJiBzdmMt
PnNwYXRpYWxfbGF5ZXJfaWQgPCAzKSB7CisgIGlmIChpc19vbmVfcGFzc19jYnJfc3ZjKGNwaSkg
JiYgc3ZjLT5zcGF0aWFsX2xheWVyX2lkIDwgMykgewogICAgIHZweF93cml0ZV95dXZfZnJhbWUo
eXV2X3N2Y19zcmNbc3ZjLT5zcGF0aWFsX2xheWVyX2lkXSwgY3BpLT5Tb3VyY2UpOwogICB9CiAj
ZW5kaWYKQEAgLTQxMDIsMTQgKzQwODQsMTQgQEAgc3RhdGljIGludCBlbmNvZGVfd2l0aG91dF9y
ZWNvZGVfbG9vcChWUDlfQ09NUCAqY3BpLCBzaXplX3QgKnNpemUsCiAgICAgaWYgKHZwOV9yY19k
cm9wX2ZyYW1lKGNwaSkpIHJldHVybiAwOwogICB9CiAKLSAgLy8gRm9yIDEgcGFzcyBTVkMsIG9u
bHkgWkVST01WIGlzIGFsbG93ZWQgZm9yIHNwYXRpYWwgcmVmZXJlbmNlIGZyYW1lCisgIC8vIEZv
ciAxIHBhc3MgQ0JSIFNWQywgb25seSBaRVJPTVYgaXMgYWxsb3dlZCBmb3Igc3BhdGlhbCByZWZl
cmVuY2UgZnJhbWUKICAgLy8gd2hlbiBzdmMtPmZvcmNlX3plcm9fbW9kZV9zcGF0aWFsX3JlZiA9
IDEuIFVuZGVyIHRob3NlIGNvbmRpdGlvbnMgd2UgY2FuCiAgIC8vIGF2b2lkIHRoaXMgZnJhbWUt
bGV2ZWwgdXBzYW1wbGluZyAoZm9yIG5vbiBpbnRyYV9vbmx5IGZyYW1lcykuCiAgIC8vIEZvciBT
VkMgc2luZ2xlX2xheWVyIG1vZGUsIGR5bmFtaWMgcmVzaXplIGlzIGFsbG93ZWQgYW5kIHdlIG5l
ZWQgdG8KICAgLy8gc2NhbGUgcmVmZXJlbmNlcyBmb3IgdGhpcyBjYXNlLgogICBpZiAoZnJhbWVf
aXNfaW50cmFfb25seShjbSkgPT0gMCAmJgogICAgICAgKChzdmMtPnNpbmdsZV9sYXllcl9zdmMg
JiYgY3BpLT5veGNmLnJlc2l6ZV9tb2RlID09IFJFU0laRV9EWU5BTUlDKSB8fAotICAgICAgICEo
aXNfb25lX3Bhc3Nfc3ZjKGNwaSkgJiYgc3ZjLT5mb3JjZV96ZXJvX21vZGVfc3BhdGlhbF9yZWYp
KSkgeworICAgICAgICEoaXNfb25lX3Bhc3NfY2JyX3N2YyhjcGkpICYmIHN2Yy0+Zm9yY2VfemVy
b19tb2RlX3NwYXRpYWxfcmVmKSkpIHsKICAgICB2cDlfc2NhbGVfcmVmZXJlbmNlcyhjcGkpOwog
ICB9CiAKQEAgLTQxMjUsNyArNDEwNyw3IEBAIHN0YXRpYyBpbnQgZW5jb2RlX3dpdGhvdXRfcmVj
b2RlX2xvb3AoVlA5X0NPTVAgKmNwaSwgc2l6ZV90ICpzaXplLAogICAgICAgc3ZjLT5zcGF0aWFs
X2xheWVyX2lkID09IHN2Yy0+bnVtYmVyX3NwYXRpYWxfbGF5ZXJzIC0gMikgewogICAgIGlmIChz
dmMtPnByZXZfcGFydGl0aW9uX3N2YyA9PSBOVUxMKSB7CiAgICAgICBDSEVDS19NRU1fRVJST1Io
Ci0gICAgICAgICAgJmNtLT5lcnJvciwgc3ZjLT5wcmV2X3BhcnRpdGlvbl9zdmMsCisgICAgICAg
ICAgY20sIHN2Yy0+cHJldl9wYXJ0aXRpb25fc3ZjLAogICAgICAgICAgIChCTE9DS19TSVpFICop
dnB4X2NhbGxvYyhjbS0+bWlfc3RyaWRlICogY20tPm1pX3Jvd3MsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZigqc3ZjLT5wcmV2X3BhcnRpdGlvbl9zdmMpKSk7CiAg
ICAgfQpAQCAtNDE5NCwyMiArNDE3NiwxMSBAQCBzdGF0aWMgaW50IGVuY29kZV93aXRob3V0X3Jl
Y29kZV9sb29wKFZQOV9DT01QICpjcGksIHNpemVfdCAqc2l6ZSwKICAgICB2cDlfYWx0X3JlZl9h
cV9zZXR1cF9tYXAoY3BpLT5hbHRfcmVmX2FxLCBjcGkpOwogICB9IGVsc2UgewogI2VuZGlmCi0g
ICAgLy8gSWYgUk9JIGlzIGVuYWJsZWQgYW5kIHNraXAgZmVhdHVyZSBpcyB1c2VkIGZvciBzZWdt
ZW50YXRpb24sIGFwcGx5IGN5Y2xpYwotICAgIC8vIHJlZnJlc2ggYnV0IG5vdCBhcHBseSBST0kg
Zm9yIHNraXAgZm9yIHRoZSBmaXJzdCAyMCBmcmFtZXMgKGRlZmluZWQgYnkKLSAgICAvLyBGUkFN
RVNfTk9fU0tJUFBJTkdfQUZURVJfS0VZKSBhZnRlciBrZXkgZnJhbWUgdG8gaW1wcm92ZSBxdWFs
aXR5LgotICAgIGlmIChjcGktPnJvaS5lbmFibGVkICYmICFmcmFtZV9pc19pbnRyYV9vbmx5KGNt
KSkgewotICAgICAgaWYgKGNwaS0+cm9pLnNraXBbQkFDS0dST1VORF9TRUdfU0tJUF9JRF0pIHsK
LSAgICAgICAgaWYgKGNwaS0+b3hjZi5hcV9tb2RlID09IENZQ0xJQ19SRUZSRVNIX0FRKQotICAg
ICAgICAgIHZwOV9jeWNsaWNfcmVmcmVzaF9zZXR1cChjcGkpOwotICAgICAgICBpZiAoY3BpLT5y
Yy5mcmFtZXNfc2luY2Vfa2V5ID4gRlJBTUVTX05PX1NLSVBQSU5HX0FGVEVSX0tFWSkKLSAgICAg
ICAgICBhcHBseV9yb2lfbWFwKGNwaSk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBhcHBseV9y
b2lfbWFwKGNwaSk7Ci0gICAgICB9Ci0gICAgfSBlbHNlIGlmIChjcGktPm94Y2YuYXFfbW9kZSA9
PSBDWUNMSUNfUkVGUkVTSF9BUSkgeworICAgIGlmIChjcGktPm94Y2YuYXFfbW9kZSA9PSBDWUNM
SUNfUkVGUkVTSF9BUSkgewogICAgICAgdnA5X2N5Y2xpY19yZWZyZXNoX3NldHVwKGNwaSk7Cisg
ICAgfSBlbHNlIGlmIChjcGktPnJvaS5lbmFibGVkICYmICFmcmFtZV9pc19pbnRyYV9vbmx5KGNt
KSkgeworICAgICAgYXBwbHlfcm9pX21hcChjcGkpOwogICAgIH0KLQogI2lmICFDT05GSUdfUkVB
TFRJTUVfT05MWQogICB9CiAjZW5kaWYKQEAgLTQyNTUsNyArNDIyNiw3IEBAIHN0YXRpYyBpbnQg
ZW5jb2RlX3dpdGhvdXRfcmVjb2RlX2xvb3AoVlA5X0NPTVAgKmNwaSwgc2l6ZV90ICpzaXplLAog
CiAgIC8vIFVwZGF0ZSBzb21lIHN0YXRzIGZyb20gY3ljbGljIHJlZnJlc2gsIGFuZCBjaGVjayBm
b3IgZ29sZGVuIGZyYW1lIHVwZGF0ZS4KICAgaWYgKGNwaS0+b3hjZi5hcV9tb2RlID09IENZQ0xJ
Q19SRUZSRVNIX0FRICYmIGNtLT5zZWcuZW5hYmxlZCAmJgotICAgICAgIWZyYW1lX2lzX2ludHJh
X29ubHkoY20pICYmIGNwaS0+Y3ljbGljX3JlZnJlc2gtPmNvbnRlbnRfbW9kZSkKKyAgICAgICFm
cmFtZV9pc19pbnRyYV9vbmx5KGNtKSkKICAgICB2cDlfY3ljbGljX3JlZnJlc2hfcG9zdGVuY29k
ZShjcGkpOwogCiAgIC8vIFVwZGF0ZSB0aGUgc2tpcCBtYiBmbGFnIHByb2JhYmlsaXRpZXMgYmFz
ZWQgb24gdGhlIGRpc3RyaWJ1dGlvbgpAQCAtNDQ1NCwzNiArNDQyNSwxMSBAQCBzdGF0aWMgdm9p
ZCBlbmNvZGVfd2l0aF9yZWNvZGVfbG9vcChWUDlfQ09NUCAqY3BpLCBzaXplX3QgKnNpemUsIHVp
bnQ4X3QgKmRlc3QKICAgaW50IHFyYW5nZV9hZGogPSAxOwogI2VuZGlmCiAKLSAgLy8gQSBmbGFn
IHdoaWNoIGluZGljYXRlcyB3aGV0aGVyIHdlIGFyZSByZWNvZGluZyB0aGUgY3VycmVudCBmcmFt
ZQotICAvLyB3aGVuIHRoZSBjdXJyZW50IGZyYW1lIHNpemUgaXMgbGFyZ2VyIHRoYW4gdGhlIG1h
eCBmcmFtZSBzaXplIGluIHRoZQotICAvLyBleHRlcm5hbCByYXRlIGNvbnRyb2wgbW9kZWwuCi0g
IC8vIFRoaXMgZmxhZyBkb2Vzbid0IGhhdmUgYW55IGltcGFjdCB3aGVuIGV4dGVybmFsIHJhdGUg
Y29udHJvbCBpcyBub3QgdXNlZC4KLSAgaW50IGV4dF9yY19yZWNvZGUgPSAwOwotICAvLyBNYXhp
bWFsIGZyYW1lIHNpemUgYWxsb3dlZCBieSB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sLgotICAv
LyBjYXNlOiAwLCB3ZSBpZ25vcmUgdGhlIG1heCBmcmFtZSBzaXplIGxpbWl0LCBhbmQgZW5jb2Rl
IHdpdGggdGhlIHFpbmRleAotICAvLyBwYXNzZWQgaW4gYnkgdGhlIGV4dGVybmFsIHJhdGUgY29u
dHJvbCBtb2RlbC4KLSAgLy8gSWYgdGhlIGV4dGVybmFsIHFpbmRleCBpcyBWUFhfREVGQVVMVF9R
LCBsaWJ2cHggd2lsbCBwaWNrIGEgcWluZGV4Ci0gIC8vIGFuZCBtYXkgcmVjb2RlIGlmIHVuZGVy
c2hvb3Qvb3ZlcnNob290IGlzIHNlZW4uCi0gIC8vIElmIHRoZSBleHRlcm5hbCBxaW5kZXggaXMg
bm90IFZQWF9ERUZBVUxUX1EsIHdlIGZvcmNlIG5vIHJlY29kZS4KLSAgLy8gY2FzZTogLTEsIHdl
IHRha2UgbGlidnB4J3MgZGVjaXNpb24gZm9yIHRoZSBtYXggZnJhbWUgc2l6ZSwgYXMgd2VsbCBh
cwotICAvLyB0aGUgcmVjb2RlIGRlY2lzaW9uLgotICAvLyBPdGhlcndpc2U6IGlmIGEgc3BlY2lm
aWMgc2l6ZSBpcyBnaXZlbiwgbGlidnB4J3MgcmVjb2RlIGRlY2lzaW9uCi0gIC8vIHdpbGwgcmVz
cGVjdCB0aGUgZ2l2ZW4gc2l6ZS4KLSAgaW50IGV4dF9yY19tYXhfZnJhbWVfc2l6ZSA9IDA7Ci0g
IC8vIFVzZSBWUDkncyBkZWNpc2lvbiBvZiBxaW5kZXguIFRoaXMgZmxhZyBpcyBpbiB1c2Ugb25s
eSBpbiBleHRlcm5hbCByYXRlCi0gIC8vIGNvbnRyb2wgbW9kZWwgdG8gaGVscCBkZXRlcm1pbmUg
d2hldGhlciB0byByZWNvZGUgd2hlbgotICAvLyB8ZXh0X3JjX21heF9mcmFtZV9zaXplfCBpcyAw
LgotICBpbnQgZXh0X3JjX3VzZV9kZWZhdWx0X3EgPSAxOwotICBjb25zdCBpbnQgb3JpZ19yY19t
YXhfZnJhbWVfYmFuZHdpZHRoID0gcmMtPm1heF9mcmFtZV9iYW5kd2lkdGg7Ci0KICNpZiBDT05G
SUdfUkFURV9DVFJMCi0gIFJBVEVfUVNURVBfTU9ERUwgKnJxX21vZGVsOwotICB7Ci0gICAgY29u
c3QgRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUgPQotICAgICAgICBjcGktPnR3b3Bhc3Mu
Z2ZfZ3JvdXAudXBkYXRlX3R5cGVbY3BpLT50d29wYXNzLmdmX2dyb3VwLmluZGV4XTsKLSAgICBj
b25zdCBFTkNPREVfRlJBTUVfVFlQRSBmcmFtZV90eXBlID0gZ2V0X2VuY29kZV9mcmFtZV90eXBl
KHVwZGF0ZV90eXBlKTsKLSAgICBycV9tb2RlbCA9ICZjcGktPnJxX21vZGVsW2ZyYW1lX3R5cGVd
OwotICB9CisgIGNvbnN0IEZSQU1FX1VQREFURV9UWVBFIHVwZGF0ZV90eXBlID0KKyAgICAgIGNw
aS0+dHdvcGFzcy5nZl9ncm91cC51cGRhdGVfdHlwZVtjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXAuaW5k
ZXhdOworICBjb25zdCBFTkNPREVfRlJBTUVfVFlQRSBmcmFtZV90eXBlID0gZ2V0X2VuY29kZV9m
cmFtZV90eXBlKHVwZGF0ZV90eXBlKTsKKyAgUkFURV9RU1RFUF9NT0RFTCAqcnFfbW9kZWwgPSAm
Y3BpLT5ycV9tb2RlbFtmcmFtZV90eXBlXTsKICAgaW5pdF9ycV9oaXN0b3J5KHJxX2hpc3Rvcnkp
OwogI2VuZGlmICAvLyBDT05GSUdfUkFURV9DVFJMCiAKQEAgLTQ0OTksOSArNDQ0NSw2IEBAIHN0
YXRpYyB2b2lkIGVuY29kZV93aXRoX3JlY29kZV9sb29wKFZQOV9DT01QICpjcGksIHNpemVfdCAq
c2l6ZSwgdWludDhfdCAqZGVzdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGNwaS0+dHdvcGFzcy5nZl9ncm91cC5pbmRleCA9PSAxKQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOiAwOwogCi0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlO
RwotICBwcmludGYoIlxuIEVuY29kaW5nIGEgZnJhbWU6IFxuIik7Ci0jZW5kaWYKICAgZG8gewog
ICAgIHZweF9jbGVhcl9zeXN0ZW1fc3RhdGUoKTsKIApAQCAtNDUzNiw2ICs0NDc5LDExIEBAIHN0
YXRpYyB2b2lkIGVuY29kZV93aXRoX3JlY29kZV9sb29wKFZQOV9DT01QICpjcGksIHNpemVfdCAq
c2l6ZSwgdWludDhfdCAqZGVzdAogICAgICAgbG9vcF9hdF90aGlzX3NpemUgPSAwOwogICAgIH0K
IAorI2lmIENPTkZJR19SQVRFX0NUUkwKKyAgICBpZiAoY3BpLT5lbmNvZGVfY29tbWFuZC51c2Vf
ZXh0ZXJuYWxfdGFyZ2V0X2ZyYW1lX2JpdHMpIHsKKyAgICAgIHEgPSBycV9tb2RlbF9wcmVkaWN0
X3FfaW5kZXgocnFfbW9kZWwsIHJxX2hpc3RvcnksIHJjLT50aGlzX2ZyYW1lX3RhcmdldCk7Cisg
ICAgfQorI2VuZGlmICAvLyBDT05GSUdfUkFURV9DVFJMCiAgICAgLy8gRGVjaWRlIGZyYW1lIHNp
emUgYm91bmRzIGZpcnN0IHRpbWUgdGhyb3VnaC4KICAgICBpZiAobG9vcF9jb3VudCA9PSAwKSB7
CiAgICAgICB2cDlfcmNfY29tcHV0ZV9mcmFtZV9zaXplX2JvdW5kcyhjcGksIHJjLT50aGlzX2Zy
YW1lX3RhcmdldCwKQEAgLTQ1NzgsMTkgKzQ1MjYsMTEgQEAgc3RhdGljIHZvaWQgZW5jb2RlX3dp
dGhfcmVjb2RlX2xvb3AoVlA5X0NPTVAgKmNwaSwgc2l6ZV90ICpzaXplLCB1aW50OF90ICpkZXN0
CiAjaWYgQ09ORklHX1JBVEVfQ1RSTAogICAgIC8vIFRPRE8oYW5naWViaXJkKTogVGhpcyBpcyBh
IGhhY2sgZm9yIG1ha2luZyBzdXJlIHRoZSBlbmNvZGVyIHVzZSB0aGUKICAgICAvLyBleHRlcm5h
bF9xdWFudGl6ZV9pbmRleCBleGFjdGx5LiBBdm9pZCB0aGlzIGtpbmQgb2YgaGFjayBsYXRlci4K
LSAgICBpZiAoY3BpLT5veGNmLnVzZV9zaW1wbGVfZW5jb2RlX2FwaSkgewotICAgICAgaWYgKGNw
aS0+ZW5jb2RlX2NvbW1hbmQudXNlX2V4dGVybmFsX3RhcmdldF9mcmFtZV9iaXRzKSB7Ci0gICAg
ICAgIHEgPSBycV9tb2RlbF9wcmVkaWN0X3FfaW5kZXgocnFfbW9kZWwsIHJxX2hpc3RvcnksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmMtPnRoaXNfZnJhbWVfdGFyZ2V0
KTsKLSAgICAgIH0KLSAgICAgIGlmIChjcGktPmVuY29kZV9jb21tYW5kLnVzZV9leHRlcm5hbF9x
dWFudGl6ZV9pbmRleCkgewotICAgICAgICBxID0gY3BpLT5lbmNvZGVfY29tbWFuZC5leHRlcm5h
bF9xdWFudGl6ZV9pbmRleDsKLSAgICAgIH0KKyAgICBpZiAoY3BpLT5lbmNvZGVfY29tbWFuZC51
c2VfZXh0ZXJuYWxfcXVhbnRpemVfaW5kZXgpIHsKKyAgICAgIHEgPSBjcGktPmVuY29kZV9jb21t
YW5kLmV4dGVybmFsX3F1YW50aXplX2luZGV4OwogICAgIH0KLSNlbmRpZiAgLy8gQ09ORklHX1JB
VEVfQ1RSTAotICAgIGlmIChjcGktPmV4dF9yYXRlY3RybC5yZWFkeSAmJiAhZXh0X3JjX3JlY29k
ZSAmJgotICAgICAgICAoY3BpLT5leHRfcmF0ZWN0cmwuZnVuY3MucmNfdHlwZSAmIFZQWF9SQ19R
UCkgIT0gMCAmJgotICAgICAgICBjcGktPmV4dF9yYXRlY3RybC5mdW5jcy5nZXRfZW5jb2RlZnJh
bWVfZGVjaXNpb24gIT0gTlVMTCkgeworI2VuZGlmCisgICAgaWYgKGNwaS0+ZXh0X3JhdGVjdHJs
LnJlYWR5KSB7CiAgICAgICB2cHhfY29kZWNfZXJyX3QgY29kZWNfc3RhdHVzOwogICAgICAgY29u
c3QgR0ZfR1JPVVAgKmdmX2dyb3VwID0gJmNwaS0+dHdvcGFzcy5nZl9ncm91cDsKICAgICAgIHZw
eF9yY19lbmNvZGVmcmFtZV9kZWNpc2lvbl90IGVuY29kZV9mcmFtZV9kZWNpc2lvbjsKQEAgLTQ1
OTksMjggKzQ1MzksMTYgQEAgc3RhdGljIHZvaWQgZW5jb2RlX3dpdGhfcmVjb2RlX2xvb3AoVlA5
X0NPTVAgKmNwaSwgc2l6ZV90ICpzaXplLCB1aW50OF90ICpkZXN0CiAgICAgICBSZWZDbnRCdWZm
ZXIgKnJlZl9mcmFtZV9idWZzW01BWF9JTlRFUl9SRUZfRlJBTUVTXTsKICAgICAgIGNvbnN0IFJl
ZkNudEJ1ZmZlciAqY3Vycl9mcmFtZV9idWYgPQogICAgICAgICAgIGdldF9yZWZfY250X2J1ZmZl
cihjbSwgY20tPm5ld19mYl9pZHgpOwotICAgICAgLy8gaW5kZXggMCBvZiBhIGdmIGdyb3VwIGlz
IGFsd2F5cyBLRVkvT1ZFUkxBWS9HT0xERU4uCi0gICAgICAvLyBpbmRleCAxIHJlZmVycyB0byB0
aGUgZmlyc3QgZW5jb2RpbmcgZnJhbWUgaW4gYSBnZiBncm91cC4KLSAgICAgIC8vIFRoZXJlZm9y
ZSBpZiBpdCBpcyBBUkZfVVBEQVRFLCBpdCBtZWFucyB0aGlzIGdmIGdyb3VwIHVzZXMgYWx0IHJl
Zi4KLSAgICAgIC8vIFNlZSBmdW5jdGlvbiBkZWZpbmVfZ2ZfZ3JvdXBfc3RydWN0dXJlKCkuCi0g
ICAgICBjb25zdCBpbnQgdXNlX2FsdF9yZWYgPSBnZl9ncm91cC0+dXBkYXRlX3R5cGVbMV0gPT0g
QVJGX1VQREFURTsKICAgICAgIGdldF9yZWZfZnJhbWVfYnVmcyhjcGksIHJlZl9mcmFtZV9idWZz
KTsKICAgICAgIGNvZGVjX3N0YXR1cyA9IHZwOV9leHRyY19nZXRfZW5jb2RlZnJhbWVfZGVjaXNp
b24oCiAgICAgICAgICAgJmNwaS0+ZXh0X3JhdGVjdHJsLCBjdXJyX2ZyYW1lX2J1Zi0+ZnJhbWVf
aW5kZXgsCiAgICAgICAgICAgY20tPmN1cnJlbnRfZnJhbWVfY29kaW5nX2luZGV4LCBnZl9ncm91
cC0+aW5kZXgsIHVwZGF0ZV90eXBlLAotICAgICAgICAgIGdmX2dyb3VwLT5nZl9ncm91cF9zaXpl
LCB1c2VfYWx0X3JlZiwgcmVmX2ZyYW1lX2J1ZnMsIHJlZl9mcmFtZV9mbGFncywKLSAgICAgICAg
ICAmZW5jb2RlX2ZyYW1lX2RlY2lzaW9uKTsKKyAgICAgICAgICByZWZfZnJhbWVfYnVmcywgcmVm
X2ZyYW1lX2ZsYWdzLCAmZW5jb2RlX2ZyYW1lX2RlY2lzaW9uKTsKICAgICAgIGlmIChjb2RlY19z
dGF0dXMgIT0gVlBYX0NPREVDX09LKSB7CiAgICAgICAgIHZweF9pbnRlcm5hbF9lcnJvcigmY20t
PmVycm9yLCBjb2RlY19zdGF0dXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidnA5X2V4
dHJjX2dldF9lbmNvZGVmcmFtZV9kZWNpc2lvbigpIGZhaWxlZCIpOwogICAgICAgfQotICAgICAg
Ly8gSWYgdGhlIGV4dGVybmFsIG1vZGVsIHJlY29tbWVuZHMgYSByZXNlcnZlZCB2YWx1ZSwgd2Ug
dXNlCi0gICAgICAvLyBsaWJ2cHgncyBkZWZhdWx0IHEuCi0gICAgICBpZiAoZW5jb2RlX2ZyYW1l
X2RlY2lzaW9uLnFfaW5kZXggIT0gVlBYX0RFRkFVTFRfUSkgewotICAgICAgICBxID0gZW5jb2Rl
X2ZyYW1lX2RlY2lzaW9uLnFfaW5kZXg7Ci0gICAgICAgIGV4dF9yY191c2VfZGVmYXVsdF9xID0g
MDsKLSAgICAgIH0KLSAgICAgIGV4dF9yY19tYXhfZnJhbWVfc2l6ZSA9IGVuY29kZV9mcmFtZV9k
ZWNpc2lvbi5tYXhfZnJhbWVfc2l6ZTsKKyAgICAgIHEgPSBlbmNvZGVfZnJhbWVfZGVjaXNpb24u
cV9pbmRleDsKICAgICB9CiAKICAgICB2cDlfc2V0X3F1YW50aXplcihjcGksIHEpOwpAQCAtNDY2
MSw1NSArNDU4OSwzNyBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfd2l0aF9yZWNvZGVfbG9vcChWUDlf
Q09NUCAqY3BpLCBzaXplX3QgKnNpemUsIHVpbnQ4X3QgKmRlc3QKICAgICAgIGlmIChmcmFtZV9v
dmVyX3Nob290X2xpbWl0ID09IDApIGZyYW1lX292ZXJfc2hvb3RfbGltaXQgPSAxOwogICAgIH0K
IAotICAgIGlmIChjcGktPmV4dF9yYXRlY3RybC5yZWFkeSAmJgotICAgICAgICAoY3BpLT5leHRf
cmF0ZWN0cmwuZnVuY3MucmNfdHlwZSAmIFZQWF9SQ19RUCkgIT0gMCkgewotICAgICAgLy8gSW4g
Z2VuZXJhbCwgZm9yIHRoZSBleHRlcm5hbCByYXRlIGNvbnRyb2wsIHdlIHRha2UgdGhlIHFpbmRl
eCBwcm92aWRlZAotICAgICAgLy8gYXMgaW5wdXQgYW5kIGVuY29kZSB0aGUgZnJhbWUgd2l0aCB0
aGlzIHFpbmRleCBmYWl0aGZ1bGx5LiBIb3dldmVyLAotICAgICAgLy8gaW4gc29tZSBleHRyZW1l
IHNjZW5hcmlvcywgdGhlIHByb3ZpZGVkIHFpbmRleCBsZWFkcyB0byBhIG1hc3NpdmUKLSAgICAg
IC8vIG92ZXJzaG9vdCBvZiBmcmFtZSBzaXplLiBJbiB0aGlzIGNhc2UsIHdlIGZhbGwgYmFjayB0
byBWUDkncyBkZWNpc2lvbgotICAgICAgLy8gdG8gcGljayBhIG5ldyBxaW5kZXggYW5kIHJlY29k
ZSB0aGUgZnJhbWUuIFdlIHJldHVybiB0aGUgbmV3IHFpbmRleAotICAgICAgLy8gdGhyb3VnaCB0
aGUgQVBJIHRvIHRoZSBleHRlcm5hbCBtb2RlbC4KLSAgICAgIGlmIChleHRfcmNfbWF4X2ZyYW1l
X3NpemUgPT0gMCkgewotICAgICAgICBpZiAoIWV4dF9yY191c2VfZGVmYXVsdF9xKSBicmVhazsK
LSAgICAgIH0gZWxzZSBpZiAoZXh0X3JjX21heF9mcmFtZV9zaXplID09IC0xKSB7Ci0gICAgICAg
IC8vIERvIG5vdGhpbmcsIGZhbGwgYmFjayB0byBsaWJ2cHgncyByZWNvZGUgZGVjaXNpb24uCi0g
ICAgICB9IGVsc2UgewotICAgICAgICAvLyBDaGFuZ2UgdGhlIG1heCBmcmFtZSBzaXplLCB1c2Vk
IGluIGxpYnZweCdzIHJlY29kZSBkZWNpc2lvbi4KLSAgICAgICAgcmMtPm1heF9mcmFtZV9iYW5k
d2lkdGggPSBleHRfcmNfbWF4X2ZyYW1lX3NpemU7Ci0gICAgICB9Ci0gICAgICBleHRfcmNfcmVj
b2RlID0gMTsKKyAgICBpZiAoY3BpLT5leHRfcmF0ZWN0cmwucmVhZHkpIHsKKyAgICAgIGJyZWFr
OwogICAgIH0KICNpZiBDT05GSUdfUkFURV9DVFJMCi0gICAgaWYgKGNwaS0+b3hjZi51c2Vfc2lt
cGxlX2VuY29kZV9hcGkpIHsKLSAgICAgIC8vIFRoaXMgcGFydCBuZWVkcyB0byBiZSBhZnRlciBz
YXZlX2NvZGluZ19jb250ZXh0KCkgYmVjYXVzZQotICAgICAgLy8gcmVzdG9yZV9jb2RpbmdfY29u
dGV4dCB3aWxsIGJlIGNhbGxlZCBpbiB0aGUgZW5kIG9mIHRoaXMgZnVuY3Rpb24uCi0gICAgICAv
LyBUT0RPKGFuZ2llYmlyZCk6IFRoaXMgaXMgYSBoYWNrIGZvciBtYWtpbmcgc3VyZSB0aGUgZW5j
b2RlciB1c2UgdGhlCi0gICAgICAvLyBleHRlcm5hbF9xdWFudGl6ZV9pbmRleCBleGFjdGx5LiBB
dm9pZCB0aGlzIGtpbmQgb2YgaGFjayBsYXRlci4KLSAgICAgIGlmIChjcGktPmVuY29kZV9jb21t
YW5kLnVzZV9leHRlcm5hbF9xdWFudGl6ZV9pbmRleCkgewotICAgICAgICBicmVhazsKLSAgICAg
IH0KLQotICAgICAgaWYgKGNwaS0+ZW5jb2RlX2NvbW1hbmQudXNlX2V4dGVybmFsX3RhcmdldF9m
cmFtZV9iaXRzKSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwZXJjZW50X2RpZmYgPSBnZXRfYml0
c19wZXJjZW50X2RpZmYoCi0gICAgICAgICAgICByYy0+dGhpc19mcmFtZV90YXJnZXQsIHJjLT5w
cm9qZWN0ZWRfZnJhbWVfc2l6ZSk7Ci0gICAgICAgIHVwZGF0ZV9ycV9oaXN0b3J5KHJxX2hpc3Rv
cnksIHJjLT50aGlzX2ZyYW1lX3RhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmMt
PnByb2plY3RlZF9mcmFtZV9zaXplLCBxKTsKLSAgICAgICAgbG9vcF9jb3VudCArPSAxOworICAg
IC8vIFRoaXMgcGFydCBuZWVkcyB0byBiZSBhZnRlciBzYXZlX2NvZGluZ19jb250ZXh0KCkgYmVj
YXVzZQorICAgIC8vIHJlc3RvcmVfY29kaW5nX2NvbnRleHQgd2lsbCBiZSBjYWxsZWQgaW4gdGhl
IGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIFRPRE8oYW5naWViaXJkKTogVGhpcyBpcyBh
IGhhY2sgZm9yIG1ha2luZyBzdXJlIHRoZSBlbmNvZGVyIHVzZSB0aGUKKyAgICAvLyBleHRlcm5h
bF9xdWFudGl6ZV9pbmRleCBleGFjdGx5LiBBdm9pZCB0aGlzIGtpbmQgb2YgaGFjayBsYXRlci4K
KyAgICBpZiAoY3BpLT5lbmNvZGVfY29tbWFuZC51c2VfZXh0ZXJuYWxfcXVhbnRpemVfaW5kZXgp
IHsKKyAgICAgIGJyZWFrOworICAgIH0KIAotICAgICAgICBycV9tb2RlbF91cGRhdGUocnFfaGlz
dG9yeSwgcmMtPnRoaXNfZnJhbWVfdGFyZ2V0LCBycV9tb2RlbCk7CisgICAgaWYgKGNwaS0+ZW5j
b2RlX2NvbW1hbmQudXNlX2V4dGVybmFsX3RhcmdldF9mcmFtZV9iaXRzKSB7CisgICAgICBjb25z
dCBkb3VibGUgcGVyY2VudF9kaWZmID0gZ2V0X2JpdHNfcGVyY2VudF9kaWZmKAorICAgICAgICAg
IHJjLT50aGlzX2ZyYW1lX3RhcmdldCwgcmMtPnByb2plY3RlZF9mcmFtZV9zaXplKTsKKyAgICAg
IHVwZGF0ZV9ycV9oaXN0b3J5KHJxX2hpc3RvcnksIHJjLT50aGlzX2ZyYW1lX3RhcmdldCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJjLT5wcm9qZWN0ZWRfZnJhbWVfc2l6ZSwgcSk7CisgICAg
ICBsb29wX2NvdW50ICs9IDE7CiAKLSAgICAgICAgLy8gQ2hlY2sgaWYgd2UgaGl0IHRoZSB0YXJn
ZXQgYml0cmF0ZS4KLSAgICAgICAgaWYgKHBlcmNlbnRfZGlmZiA8PQotICAgICAgICAgICAgICAg
IGNwaS0+ZW5jb2RlX2NvbW1hbmQudGFyZ2V0X2ZyYW1lX2JpdHNfZXJyb3JfcGVyY2VudCB8fAot
ICAgICAgICAgICAgcnFfaGlzdG9yeS0+cmVjb2RlX2NvdW50ID49IFJBVEVfQ1RSTF9NQVhfUkVD
T0RFX05VTSB8fAotICAgICAgICAgICAgcnFfaGlzdG9yeS0+cV9pbmRleF9sb3cgPj0gcnFfaGlz
dG9yeS0+cV9pbmRleF9oaWdoKSB7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICAg
IHJxX21vZGVsX3VwZGF0ZShycV9oaXN0b3J5LCByYy0+dGhpc19mcmFtZV90YXJnZXQsIHJxX21v
ZGVsKTsKIAotICAgICAgICBsb29wID0gMTsKLSAgICAgICAgcmVzdG9yZV9jb2RpbmdfY29udGV4
dChjcGkpOwotICAgICAgICBjb250aW51ZTsKKyAgICAgIC8vIENoZWNrIGlmIHdlIGhpdCB0aGUg
dGFyZ2V0IGJpdHJhdGUuCisgICAgICBpZiAocGVyY2VudF9kaWZmIDw9IGNwaS0+ZW5jb2RlX2Nv
bW1hbmQudGFyZ2V0X2ZyYW1lX2JpdHNfZXJyb3JfcGVyY2VudCB8fAorICAgICAgICAgIHJxX2hp
c3RvcnktPnJlY29kZV9jb3VudCA+PSBSQVRFX0NUUkxfTUFYX1JFQ09ERV9OVU0gfHwKKyAgICAg
ICAgICBycV9oaXN0b3J5LT5xX2luZGV4X2xvdyA+PSBycV9oaXN0b3J5LT5xX2luZGV4X2hpZ2gp
IHsKKyAgICAgICAgYnJlYWs7CiAgICAgICB9CisKKyAgICAgIGxvb3AgPSAxOworICAgICAgcmVz
dG9yZV9jb2RpbmdfY29udGV4dChjcGkpOworICAgICAgY29udGludWU7CiAgICAgfQogI2VuZGlm
ICAvLyBDT05GSUdfUkFURV9DVFJMCiAKQEAgLTQ4OTAsMTMgKzQ4MDAsOCBAQCBzdGF0aWMgdm9p
ZCBlbmNvZGVfd2l0aF9yZWNvZGVfbG9vcChWUDlfQ09NUCAqY3BpLCBzaXplX3QgKnNpemUsIHVp
bnQ4X3QgKmRlc3QKIAogICAgIGlmIChjcGktPnNmLnJlY29kZV9sb29wID49IEFMTE9XX1JFQ09E
RV9LRkFSRkdGKQogICAgICAgaWYgKGxvb3ApIHJlc3RvcmVfY29kaW5nX2NvbnRleHQoY3BpKTsK
LSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0gICAgaWYgKGxvb3ApIHByaW50
ZigiXG4gUmVjb2Rpbmc6Iik7Ci0jZW5kaWYKICAgfSB3aGlsZSAobG9vcCk7CiAKLSAgcmMtPm1h
eF9mcmFtZV9iYW5kd2lkdGggPSBvcmlnX3JjX21heF9mcmFtZV9iYW5kd2lkdGg7Ci0KICNpZmRl
ZiBBR0dSRVNTSVZFX1ZCUgogICBpZiAodHdvX3Bhc3NfZmlyc3RfZ3JvdXBfaW50ZXIoY3BpKSkg
ewogICAgIGNwaS0+dHdvcGFzcy5hY3RpdmVfd29yc3RfcXVhbGl0eSA9CkBAIC01MDQ4LDggKzQ5
NTMsOCBAQCBzdGF0aWMgaW50IHNldHVwX2ludGVycF9maWx0ZXJfc2VhcmNoX21hc2soVlA5X0NP
TVAgKmNwaSkgewogCiAjaWZkZWYgRU5BQkxFX0tGX0RFTk9JU0UKIC8vIEJhc2VsaW5lIGtlcm5l
bCB3ZWlnaHRzIGZvciBkZW5vaXNlCi1zdGF0aWMgdWludDhfdCBkbl9rZXJuZWxfM1s5XSA9IHsg
MSwgMiwgMSwgMiwgNCwgMiwgMSwgMiwgMSB9Owotc3RhdGljIHVpbnQ4X3QgZG5fa2VybmVsXzVb
MjVdID0geyAxLCAxLCAxLCAxLCAxLCAxLCAxLCAyLCAxLCAxLCAxLCAyLCA0LAorc3RhdGljIHVp
bnQ4X3QgZG5fa2VybmFsXzNbOV0gPSB7IDEsIDIsIDEsIDIsIDQsIDIsIDEsIDIsIDEgfTsKK3N0
YXRpYyB1aW50OF90IGRuX2tlcm5hbF81WzI1XSA9IHsgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMiwg
MSwgMSwgMSwgMiwgNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiwgMSwg
MSwgMSwgMiwgMSwgMSwgMSwgMSwgMSwgMSwgMSB9OwogCiBzdGF0aWMgSU5MSU5FIHZvaWQgYWRk
X2Rlbm9pc2VfcG9pbnQoaW50IGNlbnRyZV92YWwsIGludCBkYXRhX3ZhbCwgaW50IHRocmVzaCwK
QEAgLTUwNjYsMTcgKzQ5NzEsMTcgQEAgc3RhdGljIHZvaWQgc3BhdGlhbF9kZW5vaXNlX3BvaW50
KHVpbnQ4X3QgKnNyY19wdHIsIGNvbnN0IGludCBzdHJpZGUsCiAgIGludCBzdW1fd2VpZ2h0ID0g
MDsKICAgaW50IHN1bV92YWwgPSAwOwogICBpbnQgdGhyZXNoID0gc3RyZW5ndGg7Ci0gIGludCBr
ZXJuZWxfc2l6ZSA9IDU7CisgIGludCBrZXJuYWxfc2l6ZSA9IDU7CiAgIGludCBoYWxmX2tfc2l6
ZSA9IDI7CiAgIGludCBpLCBqOwogICBpbnQgbWF4X2RpZmYgPSAwOwogICB1aW50OF90ICp0bXBf
cHRyOwotICB1aW50OF90ICprZXJuZWxfcHRyOworICB1aW50OF90ICprZXJuYWxfcHRyOwogCiAg
IC8vIEZpbmQgdGhlIG1heGltdW0gZGV2aWF0aW9uIGZyb20gdGhlIHNvdXJjZSBwb2ludCBpbiB0
aGUgbG9jYWxlLgogICB0bXBfcHRyID0gc3JjX3B0ciAtIChzdHJpZGUgKiAoaGFsZl9rX3NpemUg
KyAxKSkgLSAoaGFsZl9rX3NpemUgKyAxKTsKLSAgZm9yIChpID0gMDsgaSA8IGtlcm5lbF9zaXpl
ICsgMjsgKytpKSB7Ci0gICAgZm9yIChqID0gMDsgaiA8IGtlcm5lbF9zaXplICsgMjsgKytqKSB7
CisgIGZvciAoaSA9IDA7IGkgPCBrZXJuYWxfc2l6ZSArIDI7ICsraSkgeworICAgIGZvciAoaiA9
IDA7IGogPCBrZXJuYWxfc2l6ZSArIDI7ICsraikgewogICAgICAgbWF4X2RpZmYgPSBWUFhNQVgo
bWF4X2RpZmYsIGFicygoaW50KSpzcmNfcHRyIC0gKGludCl0bXBfcHRyW2pdKSk7CiAgICAgfQog
ICAgIHRtcF9wdHIgKz0gc3RyaWRlOwpAQCAtNTA4NCwxOSArNDk4OSwxOSBAQCBzdGF0aWMgdm9p
ZCBzcGF0aWFsX2Rlbm9pc2VfcG9pbnQodWludDhfdCAqc3JjX3B0ciwgY29uc3QgaW50IHN0cmlk
ZSwKIAogICAvLyBTZWxlY3QgdGhlIGtlcm5lbCBzaXplLgogICBpZiAobWF4X2RpZmYgPiAoc3Ry
ZW5ndGggKyAoc3RyZW5ndGggPj4gMSkpKSB7Ci0gICAga2VybmVsX3NpemUgPSAzOworICAgIGtl
cm5hbF9zaXplID0gMzsKICAgICBoYWxmX2tfc2l6ZSA9IDE7CiAgICAgdGhyZXNoID0gdGhyZXNo
ID4+IDE7CiAgIH0KLSAga2VybmVsX3B0ciA9IChrZXJuZWxfc2l6ZSA9PSAzKSA/IGRuX2tlcm5l
bF8zIDogZG5fa2VybmVsXzU7CisgIGtlcm5hbF9wdHIgPSAoa2VybmFsX3NpemUgPT0gMykgPyBk
bl9rZXJuYWxfMyA6IGRuX2tlcm5hbF81OwogCiAgIC8vIEFwcGx5IHRoZSBrZXJuZWwKICAgdG1w
X3B0ciA9IHNyY19wdHIgLSAoc3RyaWRlICogaGFsZl9rX3NpemUpIC0gaGFsZl9rX3NpemU7Ci0g
IGZvciAoaSA9IDA7IGkgPCBrZXJuZWxfc2l6ZTsgKytpKSB7Ci0gICAgZm9yIChqID0gMDsgaiA8
IGtlcm5lbF9zaXplOyArK2opIHsKLSAgICAgIGFkZF9kZW5vaXNlX3BvaW50KChpbnQpKnNyY19w
dHIsIChpbnQpdG1wX3B0cltqXSwgdGhyZXNoLCAqa2VybmVsX3B0ciwKKyAgZm9yIChpID0gMDsg
aSA8IGtlcm5hbF9zaXplOyArK2kpIHsKKyAgICBmb3IgKGogPSAwOyBqIDwga2VybmFsX3NpemU7
ICsraikgeworICAgICAgYWRkX2Rlbm9pc2VfcG9pbnQoKGludCkqc3JjX3B0ciwgKGludCl0bXBf
cHRyW2pdLCB0aHJlc2gsICprZXJuYWxfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgJnN1
bV92YWwsICZzdW1fd2VpZ2h0KTsKLSAgICAgICsra2VybmVsX3B0cjsKKyAgICAgICsra2VybmFs
X3B0cjsKICAgICB9CiAgICAgdG1wX3B0ciArPSBzdHJpZGU7CiAgIH0KQEAgLTUxMTEsMTcgKzUw
MTYsMTcgQEAgc3RhdGljIHZvaWQgaGlnaGJkX3NwYXRpYWxfZGVub2lzZV9wb2ludCh1aW50MTZf
dCAqc3JjX3B0ciwgY29uc3QgaW50IHN0cmlkZSwKICAgaW50IHN1bV93ZWlnaHQgPSAwOwogICBp
bnQgc3VtX3ZhbCA9IDA7CiAgIGludCB0aHJlc2ggPSBzdHJlbmd0aDsKLSAgaW50IGtlcm5lbF9z
aXplID0gNTsKKyAgaW50IGtlcm5hbF9zaXplID0gNTsKICAgaW50IGhhbGZfa19zaXplID0gMjsK
ICAgaW50IGksIGo7CiAgIGludCBtYXhfZGlmZiA9IDA7CiAgIHVpbnQxNl90ICp0bXBfcHRyOwot
ICB1aW50OF90ICprZXJuZWxfcHRyOworICB1aW50OF90ICprZXJuYWxfcHRyOwogCiAgIC8vIEZp
bmQgdGhlIG1heGltdW0gZGV2aWF0aW9uIGZyb20gdGhlIHNvdXJjZSBwb2ludCBpbiB0aGUgbG9j
YWxlLgogICB0bXBfcHRyID0gc3JjX3B0ciAtIChzdHJpZGUgKiAoaGFsZl9rX3NpemUgKyAxKSkg
LSAoaGFsZl9rX3NpemUgKyAxKTsKLSAgZm9yIChpID0gMDsgaSA8IGtlcm5lbF9zaXplICsgMjsg
KytpKSB7Ci0gICAgZm9yIChqID0gMDsgaiA8IGtlcm5lbF9zaXplICsgMjsgKytqKSB7CisgIGZv
ciAoaSA9IDA7IGkgPCBrZXJuYWxfc2l6ZSArIDI7ICsraSkgeworICAgIGZvciAoaiA9IDA7IGog
PCBrZXJuYWxfc2l6ZSArIDI7ICsraikgewogICAgICAgbWF4X2RpZmYgPSBWUFhNQVgobWF4X2Rp
ZmYsIGFicygoaW50KXNyY19wdHIgLSAoaW50KXRtcF9wdHJbal0pKTsKICAgICB9CiAgICAgdG1w
X3B0ciArPSBzdHJpZGU7CkBAIC01MTI5LDE5ICs1MDM0LDE5IEBAIHN0YXRpYyB2b2lkIGhpZ2hi
ZF9zcGF0aWFsX2Rlbm9pc2VfcG9pbnQodWludDE2X3QgKnNyY19wdHIsIGNvbnN0IGludCBzdHJp
ZGUsCiAKICAgLy8gU2VsZWN0IHRoZSBrZXJuZWwgc2l6ZS4KICAgaWYgKG1heF9kaWZmID4gKHN0
cmVuZ3RoICsgKHN0cmVuZ3RoID4+IDEpKSkgewotICAgIGtlcm5lbF9zaXplID0gMzsKKyAgICBr
ZXJuYWxfc2l6ZSA9IDM7CiAgICAgaGFsZl9rX3NpemUgPSAxOwogICAgIHRocmVzaCA9IHRocmVz
aCA+PiAxOwogICB9Ci0gIGtlcm5lbF9wdHIgPSAoa2VybmVsX3NpemUgPT0gMykgPyBkbl9rZXJu
ZWxfMyA6IGRuX2tlcm5lbF81OworICBrZXJuYWxfcHRyID0gKGtlcm5hbF9zaXplID09IDMpID8g
ZG5fa2VybmFsXzMgOiBkbl9rZXJuYWxfNTsKIAogICAvLyBBcHBseSB0aGUga2VybmVsCiAgIHRt
cF9wdHIgPSBzcmNfcHRyIC0gKHN0cmlkZSAqIGhhbGZfa19zaXplKSAtIGhhbGZfa19zaXplOwot
ICBmb3IgKGkgPSAwOyBpIDwga2VybmVsX3NpemU7ICsraSkgewotICAgIGZvciAoaiA9IDA7IGog
PCBrZXJuZWxfc2l6ZTsgKytqKSB7Ci0gICAgICBhZGRfZGVub2lzZV9wb2ludCgoaW50KSpzcmNf
cHRyLCAoaW50KXRtcF9wdHJbal0sIHRocmVzaCwgKmtlcm5lbF9wdHIsCisgIGZvciAoaSA9IDA7
IGkgPCBrZXJuYWxfc2l6ZTsgKytpKSB7CisgICAgZm9yIChqID0gMDsgaiA8IGtlcm5hbF9zaXpl
OyArK2opIHsKKyAgICAgIGFkZF9kZW5vaXNlX3BvaW50KChpbnQpKnNyY19wdHIsIChpbnQpdG1w
X3B0cltqXSwgdGhyZXNoLCAqa2VybmFsX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICZz
dW1fdmFsLCAmc3VtX3dlaWdodCk7Ci0gICAgICArK2tlcm5lbF9wdHI7CisgICAgICArK2tlcm5h
bF9wdHI7CiAgICAgfQogICAgIHRtcF9wdHIgKz0gc3RyaWRlOwogICB9CkBAIC01MzI4LDcgKzUy
MzMsNyBAQCBzdGF0aWMgdm9pZCBpbml0X21iX3dpZW5lcl92YXJfYnVmZmVyKFZQOV9DT01QICpj
cGkpIHsKICAgY3BpLT5tYl93aWVuZXJfdmFyaWFuY2UgPSBOVUxMOwogCiAgIENIRUNLX01FTV9F
UlJPUigKLSAgICAgICZjbS0+ZXJyb3IsIGNwaS0+bWJfd2llbmVyX3ZhcmlhbmNlLAorICAgICAg
Y20sIGNwaS0+bWJfd2llbmVyX3ZhcmlhbmNlLAogICAgICAgdnB4X2NhbGxvYyhjbS0+bWJfcm93
cyAqIGNtLT5tYl9jb2xzLCBzaXplb2YoKmNwaS0+bWJfd2llbmVyX3ZhcmlhbmNlKSkpOwogICBj
cGktPm1iX3dpZW5lcl92YXJfcm93cyA9IGNtLT5tYl9yb3dzOwogICBjcGktPm1iX3dpZW5lcl92
YXJfY29scyA9IGNtLT5tYl9jb2xzOwpAQCAtNTM4NywxNiArNTI5MiwxNiBAQCBzdGF0aWMgdm9p
ZCBzZXRfbWJfd2llbmVyX3ZhcmlhbmNlKFZQOV9DT01QICpjcGkpIHsKICAgICAgICAgdnB4X2hp
Z2hiZF9zdWJ0cmFjdF9ibG9jayhibG9ja19zaXplLCBibG9ja19zaXplLCBzcmNfZGlmZiwgYmxv
Y2tfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYl9idWZmZXIsIGJ1
Zl9zdHJpZGUsIHplcm9fcHJlZCwgYmxvY2tfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB4ZC0+YmQpOwotICAgICAgICB2cDlfaGlnaGJkX3dodF9md2RfdHhmbShzcmNf
ZGlmZiwgYmxvY2tfc2l6ZSwgY29lZmYsIHR4X3NpemUpOworICAgICAgICBoaWdoYmRfd2h0X2Z3
ZF90eGZtKHNyY19kaWZmLCBibG9ja19zaXplLCBjb2VmZiwgdHhfc2l6ZSk7CiAgICAgICB9IGVs
c2UgewogICAgICAgICB2cHhfc3VidHJhY3RfYmxvY2soYmxvY2tfc2l6ZSwgYmxvY2tfc2l6ZSwg
c3JjX2RpZmYsIGJsb2NrX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYl9idWZm
ZXIsIGJ1Zl9zdHJpZGUsIHplcm9fcHJlZCwgYmxvY2tfc2l6ZSk7Ci0gICAgICAgIHZwOV93aHRf
ZndkX3R4Zm0oc3JjX2RpZmYsIGJsb2NrX3NpemUsIGNvZWZmLCB0eF9zaXplKTsKKyAgICAgICAg
d2h0X2Z3ZF90eGZtKHNyY19kaWZmLCBibG9ja19zaXplLCBjb2VmZiwgdHhfc2l6ZSk7CiAgICAg
ICB9CiAjZWxzZQogICAgICAgdnB4X3N1YnRyYWN0X2Jsb2NrKGJsb2NrX3NpemUsIGJsb2NrX3Np
emUsIHNyY19kaWZmLCBibG9ja19zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgIG1iX2J1
ZmZlciwgYnVmX3N0cmlkZSwgemVyb19wcmVkLCBibG9ja19zaXplKTsKLSAgICAgIHZwOV93aHRf
ZndkX3R4Zm0oc3JjX2RpZmYsIGJsb2NrX3NpemUsIGNvZWZmLCB0eF9zaXplKTsKKyAgICAgIHdo
dF9md2RfdHhmbShzcmNfZGlmZiwgYmxvY2tfc2l6ZSwgY29lZmYsIHR4X3NpemUpOwogI2VuZGlm
ICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCiAgICAgICBjb2VmZlswXSA9IDA7CkBAIC01
NDMwLDgxICs1MzM1LDE3IEBAIHN0YXRpYyB2b2lkIHNldF9tYl93aWVuZXJfdmFyaWFuY2UoVlA5
X0NPTVAgKmNwaSkgewogfQogCiAjaWYgIUNPTkZJR19SRUFMVElNRV9PTkxZCi1zdGF0aWMgdm9p
ZCB1cGRhdGVfZW5jb2RlX2ZyYW1lX3Jlc3VsdF9iYXNpYygKLSAgICBGUkFNRV9VUERBVEVfVFlQ
RSB1cGRhdGVfdHlwZSwgaW50IHNob3dfaWR4LCBpbnQgcXVhbnRpemVfaW5kZXgsCi0gICAgRU5D
T0RFX0ZSQU1FX1JFU1VMVCAqZW5jb2RlX2ZyYW1lX3Jlc3VsdCkgewotICBlbmNvZGVfZnJhbWVf
cmVzdWx0LT5zaG93X2lkeCA9IHNob3dfaWR4OwotICBlbmNvZGVfZnJhbWVfcmVzdWx0LT51cGRh
dGVfdHlwZSA9IHVwZGF0ZV90eXBlOwotICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5xdWFudGl6ZV9p
bmRleCA9IHF1YW50aXplX2luZGV4OwotfQotCi0jaWYgQ09ORklHX1JBVEVfQ1RSTAotc3RhdGlj
IHZvaWQgeXYxMl9idWZmZXJfdG9faW1hZ2VfYnVmZmVyKGNvbnN0IFlWMTJfQlVGRkVSX0NPTkZJ
RyAqeXYxMl9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SU1BR0VfQlVGRkVSICppbWFnZV9idWZmZXIpIHsKLSAgY29uc3QgdWludDhfdCAqc3JjX2J1Zl9s
c1szXSA9IHsgeXYxMl9idWZmZXItPnlfYnVmZmVyLCB5djEyX2J1ZmZlci0+dV9idWZmZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHl2MTJfYnVmZmVyLT52X2J1ZmZlciB9
OwotICBjb25zdCBpbnQgc3JjX3N0cmlkZV9sc1szXSA9IHsgeXYxMl9idWZmZXItPnlfc3RyaWRl
LCB5djEyX2J1ZmZlci0+dXZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeXYxMl9idWZmZXItPnV2X3N0cmlkZSB9OwotICBjb25zdCBpbnQgd19sc1szXSA9IHsgeXYx
Ml9idWZmZXItPnlfY3JvcF93aWR0aCwgeXYxMl9idWZmZXItPnV2X2Nyb3Bfd2lkdGgsCi0gICAg
ICAgICAgICAgICAgICAgICAgICB5djEyX2J1ZmZlci0+dXZfY3JvcF93aWR0aCB9OwotICBjb25z
dCBpbnQgaF9sc1szXSA9IHsgeXYxMl9idWZmZXItPnlfY3JvcF9oZWlnaHQsIHl2MTJfYnVmZmVy
LT51dl9jcm9wX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHl2MTJfYnVmZmVyLT51
dl9jcm9wX2hlaWdodCB9OwotICBpbnQgcGxhbmU7Ci0gIGZvciAocGxhbmUgPSAwOyBwbGFuZSA8
IDM7ICsrcGxhbmUpIHsKLSAgICBjb25zdCBpbnQgc3JjX3N0cmlkZSA9IHNyY19zdHJpZGVfbHNb
cGxhbmVdOwotICAgIGNvbnN0IGludCB3ID0gd19sc1twbGFuZV07Ci0gICAgY29uc3QgaW50IGgg
PSBoX2xzW3BsYW5lXTsKLSAgICBjb25zdCB1aW50OF90ICpzcmNfYnVmID0gc3JjX2J1Zl9sc1tw
bGFuZV07Ci0gICAgdWludDhfdCAqZHN0X2J1ZiA9IGltYWdlX2J1ZmZlci0+cGxhbmVfYnVmZmVy
W3BsYW5lXTsKLSAgICBpbnQgcjsKLSAgICBhc3NlcnQoaW1hZ2VfYnVmZmVyLT5wbGFuZV93aWR0
aFtwbGFuZV0gPT0gdyk7Ci0gICAgYXNzZXJ0KGltYWdlX2J1ZmZlci0+cGxhbmVfaGVpZ2h0W3Bs
YW5lXSA9PSBoKTsKLSAgICBmb3IgKHIgPSAwOyByIDwgaDsgKytyKSB7Ci0gICAgICBtZW1jcHko
ZHN0X2J1Ziwgc3JjX2J1Ziwgc2l6ZW9mKCpzcmNfYnVmKSAqIHcpOwotICAgICAgc3JjX2J1ZiAr
PSBzcmNfc3RyaWRlOwotICAgICAgZHN0X2J1ZiArPSB3OwotICAgIH0KLSAgfQotfQotLy8gVGhp
cyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSBleHRyYSBpbmZvcm1hdGlvbiBzcGVjaWZpYyBmb3Igc2lt
cGxlX2VuY29kZSBBUElzCi1zdGF0aWMgdm9pZCB1cGRhdGVfZW5jb2RlX2ZyYW1lX3Jlc3VsdF9z
aW1wbGVfZW5jb2RlKAorc3RhdGljIHZvaWQgdXBkYXRlX2VuY29kZV9mcmFtZV9yZXN1bHQoCiAg
ICAgaW50IHJlZl9mcmFtZV9mbGFncywgRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUsCiAg
ICAgY29uc3QgWVYxMl9CVUZGRVJfQ09ORklHICpzb3VyY2VfZnJhbWUsIGNvbnN0IFJlZkNudEJ1
ZmZlciAqY29kZWRfZnJhbWVfYnVmLAotICAgIFJlZkNudEJ1ZmZlciAqcmVmX2ZyYW1lX2J1ZnNb
TUFYX0lOVEVSX1JFRl9GUkFNRVNdLCBpbnQgcXVhbnRpemVfaW5kZXgsCisgICAgUmVmQ250QnVm
ZmVyICpyZWZfZnJhbWVfYnVmW01BWF9JTlRFUl9SRUZfRlJBTUVTXSwgaW50IHF1YW50aXplX2lu
ZGV4LAogICAgIHVpbnQzMl90IGJpdF9kZXB0aCwgdWludDMyX3QgaW5wdXRfYml0X2RlcHRoLCBj
b25zdCBGUkFNRV9DT1VOVFMgKmNvdW50cywKKyNpZiBDT05GSUdfUkFURV9DVFJMCiAgICAgY29u
c3QgUEFSVElUSU9OX0lORk8gKnBhcnRpdGlvbl9pbmZvLAogICAgIGNvbnN0IE1PVElPTl9WRUNU
T1JfSU5GTyAqbW90aW9uX3ZlY3Rvcl9pbmZvLAogICAgIGNvbnN0IFRwbERlcFN0YXRzICp0cGxf
c3RhdHNfaW5mbywKLSAgICBFTkNPREVfRlJBTUVfUkVTVUxUICplbmNvZGVfZnJhbWVfcmVzdWx0
KSB7Ci0gIFBTTlJfU1RBVFMgcHNucjsKLSAgdXBkYXRlX2VuY29kZV9mcmFtZV9yZXN1bHRfYmFz
aWModXBkYXRlX3R5cGUsIGNvZGVkX2ZyYW1lX2J1Zi0+ZnJhbWVfaW5kZXgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aXplX2luZGV4LCBlbmNvZGVfZnJhbWVfcmVz
dWx0KTsKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICB2cHhfY2FsY19oaWdoYmRfcHNu
cihzb3VyY2VfZnJhbWUsICZjb2RlZF9mcmFtZV9idWYtPmJ1ZiwgJnBzbnIsIGJpdF9kZXB0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfYml0X2RlcHRoKTsKLSNlbHNlICAgLy8gQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKLSAgKHZvaWQpYml0X2RlcHRoOwotICAodm9pZClpbnB1dF9i
aXRfZGVwdGg7Ci0gIHZweF9jYWxjX3BzbnIoc291cmNlX2ZyYW1lLCAmY29kZWRfZnJhbWVfYnVm
LT5idWYsICZwc25yKTsKLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgZW5j
b2RlX2ZyYW1lX3Jlc3VsdC0+ZnJhbWVfY29kaW5nX2luZGV4ID0gY29kZWRfZnJhbWVfYnVmLT5m
cmFtZV9jb2RpbmdfaW5kZXg7Ci0KLSAgdnA5X2dldF9yZWZfZnJhbWVfaW5mbyh1cGRhdGVfdHlw
ZSwgcmVmX2ZyYW1lX2ZsYWdzLCByZWZfZnJhbWVfYnVmcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5yZWZfZnJhbWVfY29kaW5nX2luZGV4ZXMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgZW5jb2RlX2ZyYW1lX3Jlc3VsdC0+cmVmX2ZyYW1lX3ZhbGlk
X2xpc3QpOwotCi0gIGVuY29kZV9mcmFtZV9yZXN1bHQtPnBzbnIgPSBwc25yLnBzbnJbMF07Ci0g
IGVuY29kZV9mcmFtZV9yZXN1bHQtPnNzZSA9IHBzbnIuc3NlWzBdOwotICBlbmNvZGVfZnJhbWVf
cmVzdWx0LT5mcmFtZV9jb3VudHMgPSAqY291bnRzOwotICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5w
YXJ0aXRpb25faW5mbyA9IHBhcnRpdGlvbl9pbmZvOwotICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5t
b3Rpb25fdmVjdG9yX2luZm8gPSBtb3Rpb25fdmVjdG9yX2luZm87Ci0gIGVuY29kZV9mcmFtZV9y
ZXN1bHQtPnRwbF9zdGF0c19pbmZvID0gdHBsX3N0YXRzX2luZm87Ci0gIGlmIChlbmNvZGVfZnJh
bWVfcmVzdWx0LT5jb2RlZF9mcmFtZS5hbGxvY2F0ZWQpIHsKLSAgICB5djEyX2J1ZmZlcl90b19p
bWFnZV9idWZmZXIoJmNvZGVkX2ZyYW1lX2J1Zi0+YnVmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmZW5jb2RlX2ZyYW1lX3Jlc3VsdC0+Y29kZWRfZnJhbWUpOwotICB9Ci19CiAj
ZW5kaWYgIC8vIENPTkZJR19SQVRFX0NUUkwKKyAgICBFTkNPREVfRlJBTUVfUkVTVUxUICplbmNv
ZGVfZnJhbWVfcmVzdWx0KTsKICNlbmRpZiAgLy8gIUNPTkZJR19SRUFMVElNRV9PTkxZCiAKIHN0
YXRpYyB2b2lkIGVuY29kZV9mcmFtZV90b19kYXRhX3JhdGUoCkBAIC01NTk5LDM1ICs1NDQwLDEw
IEBAIHN0YXRpYyB2b2lkIGVuY29kZV9mcmFtZV90b19kYXRhX3JhdGUoCiAgIG1lbXNldChjcGkt
Pm1vZGVfY2hvc2VuX2NvdW50cywgMCwKICAgICAgICAgIE1BWF9NT0RFUyAqIHNpemVvZigqY3Bp
LT5tb2RlX2Nob3Nlbl9jb3VudHMpKTsKICNlbmRpZgorI2lmIENPTkZJR19DT05TSVNURU5UX1JF
Q09ERSB8fCBDT05GSUdfUkFURV9DVFJMCiAgIC8vIEJhY2t1cCB0byBlbnN1cmUgY29uc2lzdGVu
Y3kgYmV0d2VlbiByZWNvZGVzCiAgIHNhdmVfZW5jb2RlX3BhcmFtcyhjcGkpOwotICBpZiAoY3Bp
LT5leHRfcmF0ZWN0cmwucmVhZHkgJiYKLSAgICAgIChjcGktPmV4dF9yYXRlY3RybC5mdW5jcy5y
Y190eXBlICYgVlBYX1JDX1JETVVMVCkgIT0gMCAmJgotICAgICAgY3BpLT5leHRfcmF0ZWN0cmwu
ZnVuY3MuZ2V0X2ZyYW1lX3JkbXVsdCAhPSBOVUxMKSB7Ci0gICAgdnB4X2NvZGVjX2Vycl90IGNv
ZGVjX3N0YXR1czsKLSAgICBjb25zdCBHRl9HUk9VUCAqZ2ZfZ3JvdXAgPSAmY3BpLT50d29wYXNz
LmdmX2dyb3VwOwotICAgIEZSQU1FX1VQREFURV9UWVBFIHVwZGF0ZV90eXBlID0gZ2ZfZ3JvdXAt
PnVwZGF0ZV90eXBlW2dmX2dyb3VwLT5pbmRleF07Ci0gICAgY29uc3QgaW50IHJlZl9mcmFtZV9m
bGFncyA9IGdldF9yZWZfZnJhbWVfZmxhZ3MoY3BpKTsKLSAgICBSZWZDbnRCdWZmZXIgKnJlZl9m
cmFtZV9idWZzW01BWF9JTlRFUl9SRUZfRlJBTUVTXTsKLSAgICBjb25zdCBSZWZDbnRCdWZmZXIg
KmN1cnJfZnJhbWVfYnVmID0gZ2V0X3JlZl9jbnRfYnVmZmVyKGNtLCBjbS0+bmV3X2ZiX2lkeCk7
Ci0gICAgLy8gaW5kZXggMCBvZiBhIGdmIGdyb3VwIGlzIGFsd2F5cyBLRVkvT1ZFUkxBWS9HT0xE
RU4uCi0gICAgLy8gaW5kZXggMSByZWZlcnMgdG8gdGhlIGZpcnN0IGVuY29kaW5nIGZyYW1lIGlu
IGEgZ2YgZ3JvdXAuCi0gICAgLy8gVGhlcmVmb3JlIGlmIGl0IGlzIEFSRl9VUERBVEUsIGl0IG1l
YW5zIHRoaXMgZ2YgZ3JvdXAgdXNlcyBhbHQgcmVmLgotICAgIC8vIFNlZSBmdW5jdGlvbiBkZWZp
bmVfZ2ZfZ3JvdXBfc3RydWN0dXJlKCkuCi0gICAgY29uc3QgaW50IHVzZV9hbHRfcmVmID0gZ2Zf
Z3JvdXAtPnVwZGF0ZV90eXBlWzFdID09IEFSRl9VUERBVEU7Ci0gICAgaW50IGV4dF9yZG11bHQg
PSBWUFhfREVGQVVMVF9SRE1VTFQ7Ci0gICAgZ2V0X3JlZl9mcmFtZV9idWZzKGNwaSwgcmVmX2Zy
YW1lX2J1ZnMpOwotICAgIGNvZGVjX3N0YXR1cyA9IHZwOV9leHRyY19nZXRfZnJhbWVfcmRtdWx0
KAotICAgICAgICAmY3BpLT5leHRfcmF0ZWN0cmwsIGN1cnJfZnJhbWVfYnVmLT5mcmFtZV9pbmRl
eCwKLSAgICAgICAgY20tPmN1cnJlbnRfZnJhbWVfY29kaW5nX2luZGV4LCBnZl9ncm91cC0+aW5k
ZXgsIHVwZGF0ZV90eXBlLAotICAgICAgICBnZl9ncm91cC0+Z2ZfZ3JvdXBfc2l6ZSwgdXNlX2Fs
dF9yZWYsIHJlZl9mcmFtZV9idWZzLCByZWZfZnJhbWVfZmxhZ3MsCi0gICAgICAgICZleHRfcmRt
dWx0KTsKLSAgICBpZiAoY29kZWNfc3RhdHVzICE9IFZQWF9DT0RFQ19PSykgewotICAgICAgdnB4
X2ludGVybmFsX2Vycm9yKCZjbS0+ZXJyb3IsIGNvZGVjX3N0YXR1cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAidnA5X2V4dHJjX2dldF9mcmFtZV9yZG11bHQoKSBmYWlsZWQiKTsKLSAgICB9
Ci0gICAgY3BpLT5leHRfcmF0ZWN0cmwuZXh0X3JkbXVsdCA9IGV4dF9yZG11bHQ7Ci0gIH0KKyNl
bmRpZiAgLy8gQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIHx8IENPTkZJR19SQVRFX0NUUkwKIAog
ICBpZiAoY3BpLT5zZi5yZWNvZGVfbG9vcCA9PSBESVNBTExPV19SRUNPREUpIHsKICAgICBpZiAo
IWVuY29kZV93aXRob3V0X3JlY29kZV9sb29wKGNwaSwgc2l6ZSwgZGVzdCkpIHJldHVybjsKQEAg
LTU2MzUsMTQgKzU0NTEsOCBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfZnJhbWVfdG9fZGF0YV9yYXRl
KAogI2lmICFDT05GSUdfUkVBTFRJTUVfT05MWQogI2lmIENPTkZJR19SQVRFX0NUUkwKICAgICBl
bmNvZGVfd2l0aF9yZWNvZGVfbG9vcChjcGksIHNpemUsIGRlc3QsICZlbmNvZGVfZnJhbWVfcmVz
dWx0LT5ycV9oaXN0b3J5KTsKLSNlbHNlICAvLyBDT05GSUdfUkFURV9DVFJMCi0jaWYgQ09ORklH
X0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgIHN0YXJ0X3RpbWluZyhjcGksIGVuY29kZV93
aXRoX3JlY29kZV9sb29wX3RpbWUpOwotI2VuZGlmCisjZWxzZSAgIC8vIENPTkZJR19SQVRFX0NU
UkwKICAgICBlbmNvZGVfd2l0aF9yZWNvZGVfbG9vcChjcGksIHNpemUsIGRlc3QpOwotI2lmIENP
TkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgICBlbmRfdGltaW5nKGNwaSwgZW5jb2Rl
X3dpdGhfcmVjb2RlX2xvb3BfdGltZSk7Ci0jZW5kaWYKICNlbmRpZiAgLy8gQ09ORklHX1JBVEVf
Q1RSTAogI2VuZGlmICAvLyAhQ09ORklHX1JFQUxUSU1FX09OTFkKICAgfQpAQCAtNTcwMSwzMyAr
NTUxMSwyMCBAQCBzdGF0aWMgdm9pZCBlbmNvZGVfZnJhbWVfdG9fZGF0YV9yYXRlKAogICBjbS0+
ZnJhbWVfdG9fc2hvdy0+cmVuZGVyX3dpZHRoID0gY20tPnJlbmRlcl93aWR0aDsKICAgY20tPmZy
YW1lX3RvX3Nob3ctPnJlbmRlcl9oZWlnaHQgPSBjbS0+cmVuZGVyX2hlaWdodDsKIAotI2lmIENP
TkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgc3RhcnRfdGltaW5nKGNwaSwgbG9vcGZp
bHRlcl9mcmFtZV90aW1lKTsKLSNlbmRpZgogICAvLyBQaWNrIHRoZSBsb29wIGZpbHRlciBsZXZl
bCBmb3IgdGhlIGZyYW1lLgogICBsb29wZmlsdGVyX2ZyYW1lKGNwaSwgY20pOwotI2lmIENPTkZJ
R19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgZW5kX3RpbWluZyhjcGksIGxvb3BmaWx0ZXJf
ZnJhbWVfdGltZSk7Ci0jZW5kaWYKIAogICBpZiAoY3BpLT5yYy51c2VfcG9zdF9lbmNvZGVfZHJv
cCkgc2F2ZV9jb2RpbmdfY29udGV4dChjcGkpOwogCi0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9O
RU5UX1RJTUlORwotICBzdGFydF90aW1pbmcoY3BpLCB2cDlfcGFja19iaXRzdHJlYW1fdGltZSk7
Ci0jZW5kaWYKICAgLy8gYnVpbGQgdGhlIGJpdHN0cmVhbQogICB2cDlfcGFja19iaXRzdHJlYW0o
Y3BpLCBkZXN0LCBzaXplKTsKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0g
IGVuZF90aW1pbmcoY3BpLCB2cDlfcGFja19iaXRzdHJlYW1fdGltZSk7Ci0jZW5kaWYKIAotICBp
ZiAoY3BpLT5leHRfcmF0ZWN0cmwucmVhZHkgJiYKLSAgICAgIGNwaS0+ZXh0X3JhdGVjdHJsLmZ1
bmNzLnVwZGF0ZV9lbmNvZGVmcmFtZV9yZXN1bHQgIT0gTlVMTCkgeworICB7CiAgICAgY29uc3Qg
UmVmQ250QnVmZmVyICpjb2RlZF9mcmFtZV9idWYgPQogICAgICAgICBnZXRfcmVmX2NudF9idWZm
ZXIoY20sIGNtLT5uZXdfZmJfaWR4KTsKICAgICB2cHhfY29kZWNfZXJyX3QgY29kZWNfc3RhdHVz
ID0gdnA5X2V4dHJjX3VwZGF0ZV9lbmNvZGVmcmFtZV9yZXN1bHQoCiAgICAgICAgICZjcGktPmV4
dF9yYXRlY3RybCwgKCpzaXplKSA8PCAzLCBjcGktPlNvdXJjZSwgJmNvZGVkX2ZyYW1lX2J1Zi0+
YnVmLAotICAgICAgICBjbS0+Yml0X2RlcHRoLCBjcGktPm94Y2YuaW5wdXRfYml0X2RlcHRoLCBj
bS0+YmFzZV9xaW5kZXgpOworICAgICAgICBjbS0+Yml0X2RlcHRoLCBjcGktPm94Y2YuaW5wdXRf
Yml0X2RlcHRoKTsKICAgICBpZiAoY29kZWNfc3RhdHVzICE9IFZQWF9DT0RFQ19PSykgewogICAg
ICAgdnB4X2ludGVybmFsX2Vycm9yKCZjbS0+ZXJyb3IsIGNvZGVjX3N0YXR1cywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAidnA5X2V4dHJjX3VwZGF0ZV9lbmNvZGVmcmFtZV9yZXN1bHQoKSBm
YWlsZWQiKTsKQEAgLTU3MzgsMTIgKzU1MzUsMTAgQEAgc3RhdGljIHZvaWQgZW5jb2RlX2ZyYW1l
X3RvX2RhdGFfcmF0ZSgKICAgYXNzZXJ0KGVuY29kZV9mcmFtZV9yZXN1bHQgPT0gTlVMTCk7CiAj
ZWxzZSAgLy8gQ09ORklHX1JFQUxUSU1FX09OTFkKICAgaWYgKGVuY29kZV9mcmFtZV9yZXN1bHQg
IT0gTlVMTCkgeworICAgIGNvbnN0IGludCByZWZfZnJhbWVfZmxhZ3MgPSBnZXRfcmVmX2ZyYW1l
X2ZsYWdzKGNwaSk7CiAgICAgY29uc3QgUmVmQ250QnVmZmVyICpjb2RlZF9mcmFtZV9idWYgPQog
ICAgICAgICBnZXRfcmVmX2NudF9idWZmZXIoY20sIGNtLT5uZXdfZmJfaWR4KTsKICAgICBSZWZD
bnRCdWZmZXIgKnJlZl9mcmFtZV9idWZzW01BWF9JTlRFUl9SRUZfRlJBTUVTXTsKLSAgICBGUkFN
RV9VUERBVEVfVFlQRSB1cGRhdGVfdHlwZSA9Ci0gICAgICAgIGNwaS0+dHdvcGFzcy5nZl9ncm91
cC51cGRhdGVfdHlwZVtjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXAuaW5kZXhdOwotICAgIGludCBxdWFu
dGl6ZV9pbmRleCA9IHZwOV9nZXRfcXVhbnRpemVyKGNwaSk7CiAgICAgZ2V0X3JlZl9mcmFtZV9i
dWZzKGNwaSwgcmVmX2ZyYW1lX2J1ZnMpOwogICAgIC8vIHVwZGF0ZV9lbmNvZGVfZnJhbWVfcmVz
dWx0KCkgZGVwZW5kcyBvbiB0d29wYXNzLmdmX2dyb3VwLmluZGV4IGFuZAogICAgIC8vIGNtLT5u
ZXdfZmJfaWR4LCBjcGktPlNvdXJjZSwgY3BpLT5sc3RfZmJfaWR4LCBjcGktPmdsZF9mYl9pZHgg
YW5kCkBAIC01NzYxLDIxICs1NTU2LDE1IEBAIHN0YXRpYyB2b2lkIGVuY29kZV9mcmFtZV90b19k
YXRhX3JhdGUoCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3Jl
IHZwOV91cGRhdGVfcmVmZXJlbmNlX2ZyYW1lcygpLgogICAgIC8vIFRPRE8oYW5naWViaXJkKTog
SW1wcm92ZSB0aGUgY29kZWJhc2UgdG8gbWFrZSB0aGUgdXBkYXRlIG9mIGZyYW1lCiAgICAgLy8g
ZGVwZW5kZW50IHZhcmlhYmxlcyBtb3JlIHJvYnVzdC4KLQotICAgIHVwZGF0ZV9lbmNvZGVfZnJh
bWVfcmVzdWx0X2Jhc2ljKHVwZGF0ZV90eXBlLCBjb2RlZF9mcmFtZV9idWYtPmZyYW1lX2luZGV4
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aXplX2luZGV4LCBl
bmNvZGVfZnJhbWVfcmVzdWx0KTsKKyAgICB1cGRhdGVfZW5jb2RlX2ZyYW1lX3Jlc3VsdCgKKyAg
ICAgICAgcmVmX2ZyYW1lX2ZsYWdzLAorICAgICAgICBjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXAudXBk
YXRlX3R5cGVbY3BpLT50d29wYXNzLmdmX2dyb3VwLmluZGV4XSwKKyAgICAgICAgY3BpLT5Tb3Vy
Y2UsIGNvZGVkX2ZyYW1lX2J1ZiwgcmVmX2ZyYW1lX2J1ZnMsIHZwOV9nZXRfcXVhbnRpemVyKGNw
aSksCisgICAgICAgIGNtLT5iaXRfZGVwdGgsIGNwaS0+b3hjZi5pbnB1dF9iaXRfZGVwdGgsIGNw
aS0+dGQuY291bnRzLAogI2lmIENPTkZJR19SQVRFX0NUUkwKLSAgICBpZiAoY3BpLT5veGNmLnVz
ZV9zaW1wbGVfZW5jb2RlX2FwaSkgewotICAgICAgY29uc3QgaW50IHJlZl9mcmFtZV9mbGFncyA9
IGdldF9yZWZfZnJhbWVfZmxhZ3MoY3BpKTsKLSAgICAgIHVwZGF0ZV9lbmNvZGVfZnJhbWVfcmVz
dWx0X3NpbXBsZV9lbmNvZGUoCi0gICAgICAgICAgcmVmX2ZyYW1lX2ZsYWdzLAotICAgICAgICAg
IGNwaS0+dHdvcGFzcy5nZl9ncm91cC51cGRhdGVfdHlwZVtjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXAu
aW5kZXhdLAotICAgICAgICAgIGNwaS0+U291cmNlLCBjb2RlZF9mcmFtZV9idWYsIHJlZl9mcmFt
ZV9idWZzLCBxdWFudGl6ZV9pbmRleCwKLSAgICAgICAgICBjbS0+Yml0X2RlcHRoLCBjcGktPm94
Y2YuaW5wdXRfYml0X2RlcHRoLCBjcGktPnRkLmNvdW50cywKLSAgICAgICAgICBjcGktPnBhcnRp
dGlvbl9pbmZvLCBjcGktPm1vdGlvbl92ZWN0b3JfaW5mbywgY3BpLT50cGxfc3RhdHNfaW5mbywK
LSAgICAgICAgICBlbmNvZGVfZnJhbWVfcmVzdWx0KTsKLSAgICB9CisgICAgICAgIGNwaS0+cGFy
dGl0aW9uX2luZm8sIGNwaS0+bW90aW9uX3ZlY3Rvcl9pbmZvLCBjcGktPnRwbF9zdGF0c19pbmZv
LAogI2VuZGlmICAvLyBDT05GSUdfUkFURV9DVFJMCisgICAgICAgIGVuY29kZV9mcmFtZV9yZXN1
bHQpOwogICB9CiAjZW5kaWYgIC8vIENPTkZJR19SRUFMVElNRV9PTkxZCiAKQEAgLTU4NDEsOCAr
NTYzMCw3IEBAIHN0YXRpYyB2b2lkIGVuY29kZV9mcmFtZV90b19kYXRhX3JhdGUoCiAKICAgdnA5
X3JjX3Bvc3RlbmNvZGVfdXBkYXRlKGNwaSwgKnNpemUpOwogCi0gIGlmIChjcGktPmNvbXB1dGVf
ZnJhbWVfbG93X21vdGlvbl9vbmVwYXNzICYmIG94Y2YtPnBhc3MgPT0gMCAmJgotICAgICAgIWZy
YW1lX2lzX2ludHJhX29ubHkoY20pICYmCisgIGlmIChveGNmLT5wYXNzID09IDAgJiYgIWZyYW1l
X2lzX2ludHJhX29ubHkoY20pICYmCiAgICAgICAoIWNwaS0+dXNlX3N2YyB8fAogICAgICAgIChj
cGktPnVzZV9zdmMgJiYKICAgICAgICAgIWNwaS0+c3ZjLmxheWVyX2NvbnRleHRbY3BpLT5zdmMu
dGVtcG9yYWxfbGF5ZXJfaWRdLmlzX2tleV9mcmFtZSAmJgpAQCAtNTkyOSw2ICs1NzE3LDE2IEBA
IHN0YXRpYyB2b2lkIFBhc3MyRW5jb2RlKFZQOV9DT01QICpjcGksIHNpemVfdCAqc2l6ZSwgdWlu
dDhfdCAqZGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZnJhbWVf
ZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICBFTkNPREVfRlJBTUVfUkVTVUxUICplbmNv
ZGVfZnJhbWVfcmVzdWx0KSB7CiAgIGNwaS0+YWxsb3dfZW5jb2RlX2JyZWFrb3V0ID0gRU5DT0RF
X0JSRUFLT1VUX0VOQUJMRUQ7CisKKyAgaWYgKGNwaS0+Y29tbW9uLmN1cnJlbnRfZnJhbWVfY29k
aW5nX2luZGV4ID09IDApIHsKKyAgICBWUDlfQ09NTU9OICpjbSA9ICZjcGktPmNvbW1vbjsKKyAg
ICBjb25zdCB2cHhfY29kZWNfZXJyX3QgY29kZWNfc3RhdHVzID0gdnA5X2V4dHJjX3NlbmRfZmly
c3RwYXNzX3N0YXRzKAorICAgICAgICAmY3BpLT5leHRfcmF0ZWN0cmwsICZjcGktPnR3b3Bhc3Mu
Zmlyc3RfcGFzc19pbmZvKTsKKyAgICBpZiAoY29kZWNfc3RhdHVzICE9IFZQWF9DT0RFQ19PSykg
eworICAgICAgdnB4X2ludGVybmFsX2Vycm9yKCZjbS0+ZXJyb3IsIGNvZGVjX3N0YXR1cywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAidnA5X2V4dHJjX3NlbmRfZmlyc3RwYXNzX3N0YXRzKCkg
ZmFpbGVkIik7CisgICAgfQorICB9CiAjaWYgQ09ORklHX01JU01BVENIX0RFQlVHCiAgIG1pc21h
dGNoX21vdmVfZnJhbWVfaWR4X3coKTsKICNlbmRpZgpAQCAtNjMxMCwxOCArNjEwOCwxMzk4IEBA
IHN0YXRpYyB2b2lkIHVwZGF0ZV9sZXZlbF9pbmZvKFZQOV9DT01QICpjcGksIHNpemVfdCAqc2l6
ZSwgaW50IGFyZl9zcmNfaW5kZXgpIHsKICAgfQogfQogCi12b2lkIHZwOV9nZXRfcmVmX2ZyYW1l
X2luZm8oRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUsIGludCByZWZfZnJhbWVfZmxhZ3Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVmQ250QnVmZmVyICpyZWZfZnJhbWVfYnVm
c1tNQVhfSU5URVJfUkVGX0ZSQU1FU10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ICpyZWZfZnJhbWVfY29kaW5nX2luZGV4ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ICpyZWZfZnJhbWVfdmFsaWRfbGlzdCkgewotICBpZiAodXBkYXRlX3R5cGUgIT0gS0ZfVVBE
QVRFKSB7Ci0gICAgY29uc3QgVlA5X1JFRkZSQU1FIGludGVyX3JlZl9mbGFnc1tNQVhfSU5URVJf
UkVGX0ZSQU1FU10gPSB7IFZQOV9MQVNUX0ZMQUcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZQOV9HT0xEX0ZMQUcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZQOV9BTFRfRkxBRyB9OwotICAgIGludCBpOwotICAgIGZvciAoaSA9IDA7IGkgPCBN
QVhfSU5URVJfUkVGX0ZSQU1FUzsgKytpKSB7Ci0gICAgICBhc3NlcnQocmVmX2ZyYW1lX2J1ZnNb
aV0gIT0gTlVMTCk7Ci0gICAgICByZWZfZnJhbWVfY29kaW5nX2luZGV4ZXNbaV0gPSByZWZfZnJh
bWVfYnVmc1tpXS0+ZnJhbWVfY29kaW5nX2luZGV4OwordHlwZWRlZiBzdHJ1Y3QgR0ZfUElDVFVS
RSB7CisgIFlWMTJfQlVGRkVSX0NPTkZJRyAqZnJhbWU7CisgIGludCByZWZfZnJhbWVbM107Cisg
IEZSQU1FX1VQREFURV9UWVBFIHVwZGF0ZV90eXBlOworfSBHRl9QSUNUVVJFOworCitzdGF0aWMg
dm9pZCBpbml0X2dvcF9mcmFtZXMoVlA5X0NPTVAgKmNwaSwgR0ZfUElDVFVSRSAqZ2ZfcGljdHVy
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHRl9HUk9VUCAqZ2ZfZ3JvdXAs
IGludCAqdHBsX2dyb3VwX2ZyYW1lcykgeworICBWUDlfQ09NTU9OICpjbSA9ICZjcGktPmNvbW1v
bjsKKyAgaW50IGZyYW1lX2lkeCA9IDA7CisgIGludCBpOworICBpbnQgZ2xkX2luZGV4ID0gLTE7
CisgIGludCBhbHRfaW5kZXggPSAtMTsKKyAgaW50IGxzdF9pbmRleCA9IC0xOworICBpbnQgYXJm
X2luZGV4X3N0YWNrW01BWF9BUkZfTEFZRVJTXTsKKyAgaW50IGFyZl9zdGFja19zaXplID0gMDsK
KyAgaW50IGV4dGVuZF9mcmFtZV9jb3VudCA9IDA7CisgIGludCBwZnJhbWVfcWluZGV4ID0gY3Bp
LT50cGxfc3RhdHNbMl0uYmFzZV9xaW5kZXg7CisgIGludCBmcmFtZV9nb3Bfb2Zmc2V0ID0gMDsK
KworICBSZWZDbnRCdWZmZXIgKmZyYW1lX2J1ZnMgPSBjbS0+YnVmZmVyX3Bvb2wtPmZyYW1lX2J1
ZnM7CisgIGludDhfdCByZWNvbl9mcmFtZV9pbmRleFtSRUZTX1BFUl9GUkFNRSArIE1BWF9BUkZf
TEFZRVJTXTsKKworICBtZW1zZXQocmVjb25fZnJhbWVfaW5kZXgsIC0xLCBzaXplb2YocmVjb25f
ZnJhbWVfaW5kZXgpKTsKKyAgc3RhY2tfaW5pdChhcmZfaW5kZXhfc3RhY2ssIE1BWF9BUkZfTEFZ
RVJTKTsKKworICAvLyBUT0RPKGppbmduaW5nKTogVG8gYmUgdXNlZCBsYXRlciBmb3IgZ2YgZnJh
bWUgdHlwZSBwYXJzaW5nLgorICAodm9pZClnZl9ncm91cDsKKworICBmb3IgKGkgPSAwOyBpIDwg
RlJBTUVfQlVGRkVSUzsgKytpKSB7CisgICAgaWYgKGZyYW1lX2J1ZnNbaV0ucmVmX2NvdW50ID09
IDApIHsKKyAgICAgIGFsbG9jX2ZyYW1lX212cyhjbSwgaSk7CisgICAgICBpZiAodnB4X3JlYWxs
b2NfZnJhbWVfYnVmZmVyKCZmcmFtZV9idWZzW2ldLmJ1ZiwgY20tPndpZHRoLCBjbS0+aGVpZ2h0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbS0+c3Vic2FtcGxpbmdfeCwg
Y20tPnN1YnNhbXBsaW5nX3ksCisjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY20tPnVzZV9oaWdoYml0ZGVwdGgsCisjZW5kaWYK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlA5X0VOQ19CT1JERVJfSU5fUElY
RUxTLCBjbS0+Ynl0ZV9hbGlnbm1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsIE5VTEwsIE5VTEwpKQorICAgICAgICB2cHhfaW50ZXJuYWxfZXJyb3IoJmNtLT5l
cnJvciwgVlBYX0NPREVDX01FTV9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJG
YWlsZWQgdG8gYWxsb2NhdGUgZnJhbWUgYnVmZmVyIik7CisKKyAgICAgIHJlY29uX2ZyYW1lX2lu
ZGV4W2ZyYW1lX2lkeF0gPSBpOworICAgICAgKytmcmFtZV9pZHg7CisKKyAgICAgIGlmIChmcmFt
ZV9pZHggPj0gUkVGU19QRVJfRlJBTUUgKyBjcGktPm94Y2YuZW5hYmxlX2F1dG9fYXJmKSBicmVh
azsKKyAgICB9CisgIH0KKworICBmb3IgKGkgPSAwOyBpIDwgUkVGU19QRVJfRlJBTUUgKyAxOyAr
K2kpIHsKKyAgICBhc3NlcnQocmVjb25fZnJhbWVfaW5kZXhbaV0gPj0gMCk7CisgICAgY3BpLT50
cGxfcmVjb25fZnJhbWVzW2ldID0gJmZyYW1lX2J1ZnNbcmVjb25fZnJhbWVfaW5kZXhbaV1dLmJ1
ZjsKKyAgfQorCisgICp0cGxfZ3JvdXBfZnJhbWVzID0gMDsKKworICAvLyBJbml0aWFsaXplIEdv
bGRlbiByZWZlcmVuY2UgZnJhbWUuCisgIGdmX3BpY3R1cmVbMF0uZnJhbWUgPSBnZXRfcmVmX2Zy
YW1lX2J1ZmZlcihjcGksIEdPTERFTl9GUkFNRSk7CisgIGZvciAoaSA9IDA7IGkgPCAzOyArK2kp
IGdmX3BpY3R1cmVbMF0ucmVmX2ZyYW1lW2ldID0gLTE7CisgIGdmX3BpY3R1cmVbMF0udXBkYXRl
X3R5cGUgPSBnZl9ncm91cC0+dXBkYXRlX3R5cGVbMF07CisgIGdsZF9pbmRleCA9IDA7CisgICsr
KnRwbF9ncm91cF9mcmFtZXM7CisKKyAgLy8gSW5pdGlhbGl6ZSBiYXNlIGxheWVyIEFSRiBmcmFt
ZQorICBnZl9waWN0dXJlWzFdLmZyYW1lID0gY3BpLT5Tb3VyY2U7CisgIGdmX3BpY3R1cmVbMV0u
cmVmX2ZyYW1lWzBdID0gZ2xkX2luZGV4OworICBnZl9waWN0dXJlWzFdLnJlZl9mcmFtZVsxXSA9
IGxzdF9pbmRleDsKKyAgZ2ZfcGljdHVyZVsxXS5yZWZfZnJhbWVbMl0gPSBhbHRfaW5kZXg7Cisg
IGdmX3BpY3R1cmVbMV0udXBkYXRlX3R5cGUgPSBnZl9ncm91cC0+dXBkYXRlX3R5cGVbMV07Cisg
IGFsdF9pbmRleCA9IDE7CisgICsrKnRwbF9ncm91cF9mcmFtZXM7CisKKyAgLy8gSW5pdGlhbGl6
ZSBQIGZyYW1lcworICBmb3IgKGZyYW1lX2lkeCA9IDI7IGZyYW1lX2lkeCA8IE1BWF9BUkZfR09Q
X1NJWkU7ICsrZnJhbWVfaWR4KSB7CisgICAgc3RydWN0IGxvb2thaGVhZF9lbnRyeSAqYnVmOwor
ICAgIGZyYW1lX2dvcF9vZmZzZXQgPSBnZl9ncm91cC0+ZnJhbWVfZ29wX2luZGV4W2ZyYW1lX2lk
eF07CisgICAgYnVmID0gdnA5X2xvb2thaGVhZF9wZWVrKGNwaS0+bG9va2FoZWFkLCBmcmFtZV9n
b3Bfb2Zmc2V0IC0gMSk7CisKKyAgICBpZiAoYnVmID09IE5VTEwpIGJyZWFrOworCisgICAgZ2Zf
cGljdHVyZVtmcmFtZV9pZHhdLmZyYW1lID0gJmJ1Zi0+aW1nOworICAgIGdmX3BpY3R1cmVbZnJh
bWVfaWR4XS5yZWZfZnJhbWVbMF0gPSBnbGRfaW5kZXg7CisgICAgZ2ZfcGljdHVyZVtmcmFtZV9p
ZHhdLnJlZl9mcmFtZVsxXSA9IGxzdF9pbmRleDsKKyAgICBnZl9waWN0dXJlW2ZyYW1lX2lkeF0u
cmVmX2ZyYW1lWzJdID0gYWx0X2luZGV4OworICAgIGdmX3BpY3R1cmVbZnJhbWVfaWR4XS51cGRh
dGVfdHlwZSA9IGdmX2dyb3VwLT51cGRhdGVfdHlwZVtmcmFtZV9pZHhdOworCisgICAgc3dpdGNo
IChnZl9ncm91cC0+dXBkYXRlX3R5cGVbZnJhbWVfaWR4XSkgeworICAgICAgY2FzZSBBUkZfVVBE
QVRFOgorICAgICAgICBzdGFja19wdXNoKGFyZl9pbmRleF9zdGFjaywgYWx0X2luZGV4LCBhcmZf
c3RhY2tfc2l6ZSk7CisgICAgICAgICsrYXJmX3N0YWNrX3NpemU7CisgICAgICAgIGFsdF9pbmRl
eCA9IGZyYW1lX2lkeDsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIExGX1VQREFURTogbHN0
X2luZGV4ID0gZnJhbWVfaWR4OyBicmVhazsKKyAgICAgIGNhc2UgT1ZFUkxBWV9VUERBVEU6Cisg
ICAgICAgIGdsZF9pbmRleCA9IGZyYW1lX2lkeDsKKyAgICAgICAgYWx0X2luZGV4ID0gc3RhY2tf
cG9wKGFyZl9pbmRleF9zdGFjaywgYXJmX3N0YWNrX3NpemUpOworICAgICAgICAtLWFyZl9zdGFj
a19zaXplOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgVVNFX0JVRl9GUkFNRToKKyAgICAg
ICAgbHN0X2luZGV4ID0gYWx0X2luZGV4OworICAgICAgICBhbHRfaW5kZXggPSBzdGFja19wb3Ao
YXJmX2luZGV4X3N0YWNrLCBhcmZfc3RhY2tfc2l6ZSk7CisgICAgICAgIC0tYXJmX3N0YWNrX3Np
emU7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdDogYnJlYWs7CisgICAgfQorCisgICAg
KysqdHBsX2dyb3VwX2ZyYW1lczsKKworICAgIC8vIFRoZSBsZW5ndGggb2YgZ3JvdXAgb2YgcGlj
dHVyZXMgaXMgYmFzZWxpbmVfZ2ZfaW50ZXJ2YWwsIHBsdXMgdGhlCisgICAgLy8gYmVnaW5uaW5n
IGdvbGRlbiBmcmFtZSBmcm9tIGxhc3QgR09QLCBwbHVzIHRoZSBsYXN0IG92ZXJsYXkgZnJhbWUg
aW4KKyAgICAvLyB0aGUgc2FtZSBHT1AuCisgICAgaWYgKGZyYW1lX2lkeCA9PSBnZl9ncm91cC0+
Z2ZfZ3JvdXBfc2l6ZSkgYnJlYWs7CisgIH0KKworICBhbHRfaW5kZXggPSAtMTsKKyAgKytmcmFt
ZV9pZHg7CisgICsrZnJhbWVfZ29wX29mZnNldDsKKworICAvLyBFeHRlbmQgdHdvIGZyYW1lcyBv
dXRzaWRlIHRoZSBjdXJyZW50IGdmIGdyb3VwLgorICBmb3IgKDsgZnJhbWVfaWR4IDwgTUFYX0xB
R19CVUZGRVJTICYmIGV4dGVuZF9mcmFtZV9jb3VudCA8IDI7ICsrZnJhbWVfaWR4KSB7CisgICAg
c3RydWN0IGxvb2thaGVhZF9lbnRyeSAqYnVmID0KKyAgICAgICAgdnA5X2xvb2thaGVhZF9wZWVr
KGNwaS0+bG9va2FoZWFkLCBmcmFtZV9nb3Bfb2Zmc2V0IC0gMSk7CisKKyAgICBpZiAoYnVmID09
IE5VTEwpIGJyZWFrOworCisgICAgY3BpLT50cGxfc3RhdHNbZnJhbWVfaWR4XS5iYXNlX3FpbmRl
eCA9IHBmcmFtZV9xaW5kZXg7CisKKyAgICBnZl9waWN0dXJlW2ZyYW1lX2lkeF0uZnJhbWUgPSAm
YnVmLT5pbWc7CisgICAgZ2ZfcGljdHVyZVtmcmFtZV9pZHhdLnJlZl9mcmFtZVswXSA9IGdsZF9p
bmRleDsKKyAgICBnZl9waWN0dXJlW2ZyYW1lX2lkeF0ucmVmX2ZyYW1lWzFdID0gbHN0X2luZGV4
OworICAgIGdmX3BpY3R1cmVbZnJhbWVfaWR4XS5yZWZfZnJhbWVbMl0gPSBhbHRfaW5kZXg7Cisg
ICAgZ2ZfcGljdHVyZVtmcmFtZV9pZHhdLnVwZGF0ZV90eXBlID0gTEZfVVBEQVRFOworICAgIGxz
dF9pbmRleCA9IGZyYW1lX2lkeDsKKyAgICArKyp0cGxfZ3JvdXBfZnJhbWVzOworICAgICsrZXh0
ZW5kX2ZyYW1lX2NvdW50OworICAgICsrZnJhbWVfZ29wX29mZnNldDsKKyAgfQorfQorCitzdGF0
aWMgdm9pZCBpbml0X3RwbF9zdGF0cyhWUDlfQ09NUCAqY3BpKSB7CisgIGludCBmcmFtZV9pZHg7
CisgIGZvciAoZnJhbWVfaWR4ID0gMDsgZnJhbWVfaWR4IDwgTUFYX0FSRl9HT1BfU0laRTsgKytm
cmFtZV9pZHgpIHsKKyAgICBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lID0gJmNwaS0+dHBsX3N0YXRz
W2ZyYW1lX2lkeF07CisgICAgbWVtc2V0KHRwbF9mcmFtZS0+dHBsX3N0YXRzX3B0ciwgMCwKKyAg
ICAgICAgICAgdHBsX2ZyYW1lLT5oZWlnaHQgKiB0cGxfZnJhbWUtPndpZHRoICoKKyAgICAgICAg
ICAgICAgIHNpemVvZigqdHBsX2ZyYW1lLT50cGxfc3RhdHNfcHRyKSk7CisgICAgdHBsX2ZyYW1l
LT5pc192YWxpZCA9IDA7CisgIH0KK30KKworI2lmIENPTkZJR19OT05fR1JFRURZX01WCitzdGF0
aWMgdWludDMyX3QgZnVsbF9waXhlbF9tb3Rpb25fc2VhcmNoKFZQOV9DT01QICpjcGksIFRocmVh
ZERhdGEgKnRkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb3Rp
b25GaWVsZCAqbW90aW9uX2ZpZWxkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZnJhbWVfaWR4LCB1aW50OF90ICpjdXJfZnJhbWVfYnVmLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpyZWZfZnJhbWVfYnVmLCBp
bnQgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTE9D
S19TSVpFIGJzaXplLCBpbnQgbWlfcm93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgbWlfY29sLCBNViAqbXYpIHsKKyAgTUFDUk9CTE9DSyAqY29uc3QgeCA9
ICZ0ZC0+bWI7CisgIE1BQ1JPQkxPQ0tEICpjb25zdCB4ZCA9ICZ4LT5lX21iZDsKKyAgTVZfU1BF
RURfRkVBVFVSRVMgKmNvbnN0IG12X3NmID0gJmNwaS0+c2YubXY7CisgIGludCBzdGVwX3BhcmFt
OworICB1aW50MzJfdCBiZXN0c21lID0gVUlOVF9NQVg7CisgIGNvbnN0IE12TGltaXRzIHRtcF9t
dl9saW1pdHMgPSB4LT5tdl9saW1pdHM7CisgIC8vIGxhbWJkYSBpcyB1c2VkIHRvIGFkanVzdCB0
aGUgaW1wb3J0YW5jZSBvZiBtb3Rpb24gdmVjdG9yIGNvbnNpc3RlbmN5LgorICAvLyBUT0RPKGFu
Z2llYmlyZCk6IEZpZ3VyZSBvdXQgbGFtYmRhJ3MgcHJvcGVyIHZhbHVlLgorICBjb25zdCBpbnQg
bGFtYmRhID0gY3BpLT50cGxfc3RhdHNbZnJhbWVfaWR4XS5sYW1iZGE7CisgIGludF9tdiBuYl9m
dWxsX212c1tOQl9NVlNfTlVNXTsKKyAgaW50IG5iX2Z1bGxfbXZfbnVtOworCisgIE1WIGJlc3Rf
cmVmX212MSA9IHsgMCwgMCB9OworICBNViBiZXN0X3JlZl9tdjFfZnVsbDsgLyogZnVsbC1waXhl
bCB2YWx1ZSBvZiBiZXN0X3JlZl9tdjEgKi8KKworICBiZXN0X3JlZl9tdjFfZnVsbC5jb2wgPSBi
ZXN0X3JlZl9tdjEuY29sID4+IDM7CisgIGJlc3RfcmVmX212MV9mdWxsLnJvdyA9IGJlc3RfcmVm
X212MS5yb3cgPj4gMzsKKworICAvLyBTZXR1cCBmcmFtZSBwb2ludGVycworICB4LT5wbGFuZVsw
XS5zcmMuYnVmID0gY3VyX2ZyYW1lX2J1ZjsKKyAgeC0+cGxhbmVbMF0uc3JjLnN0cmlkZSA9IHN0
cmlkZTsKKyAgeGQtPnBsYW5lWzBdLnByZVswXS5idWYgPSByZWZfZnJhbWVfYnVmOworICB4ZC0+
cGxhbmVbMF0ucHJlWzBdLnN0cmlkZSA9IHN0cmlkZTsKKworICBzdGVwX3BhcmFtID0gbXZfc2Yt
PnJlZHVjZV9maXJzdF9zdGVwX3NpemU7CisgIHN0ZXBfcGFyYW0gPSBWUFhNSU4oc3RlcF9wYXJh
bSwgTUFYX01WU0VBUkNIX1NURVBTIC0gMik7CisKKyAgdnA5X3NldF9tdl9zZWFyY2hfcmFuZ2Uo
JngtPm12X2xpbWl0cywgJmJlc3RfcmVmX212MSk7CisKKyAgbmJfZnVsbF9tdl9udW0gPQorICAg
ICAgdnA5X3ByZXBhcmVfbmJfZnVsbF9tdnMobW90aW9uX2ZpZWxkLCBtaV9yb3csIG1pX2NvbCwg
bmJfZnVsbF9tdnMpOworICB2cDlfZnVsbF9waXhlbF9kaWFtb25kX25ldyhjcGksIHgsIGJzaXpl
LCAmYmVzdF9yZWZfbXYxX2Z1bGwsIHN0ZXBfcGFyYW0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxhbWJkYSwgMSwgbmJfZnVsbF9tdnMsIG5iX2Z1bGxfbXZfbnVtLCBtdik7CisKKyAg
LyogcmVzdG9yZSBVTVYgd2luZG93ICovCisgIHgtPm12X2xpbWl0cyA9IHRtcF9tdl9saW1pdHM7
CisKKyAgcmV0dXJuIGJlc3RzbWU7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBzdWJfcGl4ZWxfbW90
aW9uX3NlYXJjaChWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpjdXJfZnJhbWVfYnVmLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnJlZl9mcmFtZV9idWYs
IGludCBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkxP
Q0tfU0laRSBic2l6ZSwgTVYgKm12KSB7CisgIE1BQ1JPQkxPQ0sgKmNvbnN0IHggPSAmdGQtPm1i
OworICBNQUNST0JMT0NLRCAqY29uc3QgeGQgPSAmeC0+ZV9tYmQ7CisgIE1WX1NQRUVEX0ZFQVRV
UkVTICpjb25zdCBtdl9zZiA9ICZjcGktPnNmLm12OworICB1aW50MzJfdCBiZXN0c21lID0gVUlO
VF9NQVg7CisgIHVpbnQzMl90IGRpc3RvcnRpb247CisgIHVpbnQzMl90IHNzZTsKKyAgaW50IGNv
c3RfbGlzdFs1XTsKKworICBNViBiZXN0X3JlZl9tdjEgPSB7IDAsIDAgfTsKKworICAvLyBTZXR1
cCBmcmFtZSBwb2ludGVycworICB4LT5wbGFuZVswXS5zcmMuYnVmID0gY3VyX2ZyYW1lX2J1ZjsK
KyAgeC0+cGxhbmVbMF0uc3JjLnN0cmlkZSA9IHN0cmlkZTsKKyAgeGQtPnBsYW5lWzBdLnByZVsw
XS5idWYgPSByZWZfZnJhbWVfYnVmOworICB4ZC0+cGxhbmVbMF0ucHJlWzBdLnN0cmlkZSA9IHN0
cmlkZTsKKworICAvLyBUT0RPKHl1bnFpbmcpOiBtYXkgdXNlIGhpZ2hlciB0YXAgaW50ZXJwIGZp
bHRlciB0aGFuIDIgdGFwcy4KKyAgLy8gSWdub3JlIG12IGNvc3RpbmcgYnkgc2VuZGluZyBOVUxM
IHBvaW50ZXIgaW5zdGVhZCBvZiBjb3N0IGFycmF5CisgIGJlc3RzbWUgPSBjcGktPmZpbmRfZnJh
Y3Rpb25hbF9tdl9zdGVwKAorICAgICAgeCwgbXYsICZiZXN0X3JlZl9tdjEsIGNwaS0+Y29tbW9u
LmFsbG93X2hpZ2hfcHJlY2lzaW9uX212LCB4LT5lcnJvcnBlcmJpdCwKKyAgICAgICZjcGktPmZu
X3B0cltic2l6ZV0sIDAsIG12X3NmLT5zdWJwZWxfc2VhcmNoX2xldmVsLAorICAgICAgY29uZF9j
b3N0X2xpc3QoY3BpLCBjb3N0X2xpc3QpLCBOVUxMLCBOVUxMLCAmZGlzdG9ydGlvbiwgJnNzZSwg
TlVMTCwgMCwgMCwKKyAgICAgIFVTRV8yX1RBUFMpOworCisgIHJldHVybiBiZXN0c21lOworfQor
CisjZWxzZSAgLy8gQ09ORklHX05PTl9HUkVFRFlfTVYKK3N0YXRpYyB1aW50MzJfdCBtb3Rpb25f
Y29tcGVuc2F0ZWRfcHJlZGljdGlvbihWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpjdXJf
ZnJhbWVfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QgKnJlZl9mcmFtZV9idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZSwgQkxPQ0tfU0laRSBic2l6ZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNViAqbXYpIHsKKyAgTUFDUk9CTE9D
SyAqY29uc3QgeCA9ICZ0ZC0+bWI7CisgIE1BQ1JPQkxPQ0tEICpjb25zdCB4ZCA9ICZ4LT5lX21i
ZDsKKyAgTVZfU1BFRURfRkVBVFVSRVMgKmNvbnN0IG12X3NmID0gJmNwaS0+c2YubXY7CisgIGNv
bnN0IFNFQVJDSF9NRVRIT0RTIHNlYXJjaF9tZXRob2QgPSBOU1RFUDsKKyAgaW50IHN0ZXBfcGFy
YW07CisgIGludCBzYWRwYiA9IHgtPnNhZHBlcmJpdDE2OworICB1aW50MzJfdCBiZXN0c21lID0g
VUlOVF9NQVg7CisgIHVpbnQzMl90IGRpc3RvcnRpb247CisgIHVpbnQzMl90IHNzZTsKKyAgaW50
IGNvc3RfbGlzdFs1XTsKKyAgY29uc3QgTXZMaW1pdHMgdG1wX212X2xpbWl0cyA9IHgtPm12X2xp
bWl0czsKKworICBNViBiZXN0X3JlZl9tdjEgPSB7IDAsIDAgfTsKKyAgTVYgYmVzdF9yZWZfbXYx
X2Z1bGw7IC8qIGZ1bGwtcGl4ZWwgdmFsdWUgb2YgYmVzdF9yZWZfbXYxICovCisKKyAgYmVzdF9y
ZWZfbXYxX2Z1bGwuY29sID0gYmVzdF9yZWZfbXYxLmNvbCA+PiAzOworICBiZXN0X3JlZl9tdjFf
ZnVsbC5yb3cgPSBiZXN0X3JlZl9tdjEucm93ID4+IDM7CisKKyAgLy8gU2V0dXAgZnJhbWUgcG9p
bnRlcnMKKyAgeC0+cGxhbmVbMF0uc3JjLmJ1ZiA9IGN1cl9mcmFtZV9idWY7CisgIHgtPnBsYW5l
WzBdLnNyYy5zdHJpZGUgPSBzdHJpZGU7CisgIHhkLT5wbGFuZVswXS5wcmVbMF0uYnVmID0gcmVm
X2ZyYW1lX2J1ZjsKKyAgeGQtPnBsYW5lWzBdLnByZVswXS5zdHJpZGUgPSBzdHJpZGU7CisKKyAg
c3RlcF9wYXJhbSA9IG12X3NmLT5yZWR1Y2VfZmlyc3Rfc3RlcF9zaXplOworICBzdGVwX3BhcmFt
ID0gVlBYTUlOKHN0ZXBfcGFyYW0sIE1BWF9NVlNFQVJDSF9TVEVQUyAtIDIpOworCisgIHZwOV9z
ZXRfbXZfc2VhcmNoX3JhbmdlKCZ4LT5tdl9saW1pdHMsICZiZXN0X3JlZl9tdjEpOworCisgIHZw
OV9mdWxsX3BpeGVsX3NlYXJjaChjcGksIHgsIGJzaXplLCAmYmVzdF9yZWZfbXYxX2Z1bGwsIHN0
ZXBfcGFyYW0sCisgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hfbWV0aG9kLCBzYWRwYiwg
Y29uZF9jb3N0X2xpc3QoY3BpLCBjb3N0X2xpc3QpLAorICAgICAgICAgICAgICAgICAgICAgICAg
JmJlc3RfcmVmX212MSwgbXYsIDAsIDApOworCisgIC8qIHJlc3RvcmUgVU1WIHdpbmRvdyAqLwor
ICB4LT5tdl9saW1pdHMgPSB0bXBfbXZfbGltaXRzOworCisgIC8vIFRPRE8oeXVucWluZyk6IG1h
eSB1c2UgaGlnaGVyIHRhcCBpbnRlcnAgZmlsdGVyIHRoYW4gMiB0YXBzLgorICAvLyBJZ25vcmUg
bXYgY29zdGluZyBieSBzZW5kaW5nIE5VTEwgcG9pbnRlciBpbnN0ZWFkIG9mIGNvc3QgYXJyYXkK
KyAgYmVzdHNtZSA9IGNwaS0+ZmluZF9mcmFjdGlvbmFsX212X3N0ZXAoCisgICAgICB4LCBtdiwg
JmJlc3RfcmVmX212MSwgY3BpLT5jb21tb24uYWxsb3dfaGlnaF9wcmVjaXNpb25fbXYsIHgtPmVy
cm9ycGVyYml0LAorICAgICAgJmNwaS0+Zm5fcHRyW2JzaXplXSwgMCwgbXZfc2YtPnN1YnBlbF9z
ZWFyY2hfbGV2ZWwsCisgICAgICBjb25kX2Nvc3RfbGlzdChjcGksIGNvc3RfbGlzdCksIE5VTEws
IE5VTEwsICZkaXN0b3J0aW9uLCAmc3NlLCBOVUxMLCAwLCAwLAorICAgICAgVVNFXzJfVEFQUyk7
CisKKyAgcmV0dXJuIGJlc3RzbWU7Cit9CisjZW5kaWYKKworc3RhdGljIGludCBnZXRfb3Zlcmxh
cF9hcmVhKGludCBncmlkX3Bvc19yb3csIGludCBncmlkX3Bvc19jb2wsIGludCByZWZfcG9zX3Jv
dywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3Bvc19jb2wsIGludCBibG9j
aywgQkxPQ0tfU0laRSBic2l6ZSkgeworICBpbnQgd2lkdGggPSAwLCBoZWlnaHQgPSAwOworICBp
bnQgYncgPSA0IDw8IGJfd2lkdGhfbG9nMl9sb29rdXBbYnNpemVdOworICBpbnQgYmggPSA0IDw8
IGJfaGVpZ2h0X2xvZzJfbG9va3VwW2JzaXplXTsKKworICBzd2l0Y2ggKGJsb2NrKSB7CisgICAg
Y2FzZSAwOgorICAgICAgd2lkdGggPSBncmlkX3Bvc19jb2wgKyBidyAtIHJlZl9wb3NfY29sOwor
ICAgICAgaGVpZ2h0ID0gZ3JpZF9wb3Nfcm93ICsgYmggLSByZWZfcG9zX3JvdzsKKyAgICAgIGJy
ZWFrOworICAgIGNhc2UgMToKKyAgICAgIHdpZHRoID0gcmVmX3Bvc19jb2wgKyBidyAtIGdyaWRf
cG9zX2NvbDsKKyAgICAgIGhlaWdodCA9IGdyaWRfcG9zX3JvdyArIGJoIC0gcmVmX3Bvc19yb3c7
CisgICAgICBicmVhazsKKyAgICBjYXNlIDI6CisgICAgICB3aWR0aCA9IGdyaWRfcG9zX2NvbCAr
IGJ3IC0gcmVmX3Bvc19jb2w7CisgICAgICBoZWlnaHQgPSByZWZfcG9zX3JvdyArIGJoIC0gZ3Jp
ZF9wb3Nfcm93OworICAgICAgYnJlYWs7CisgICAgY2FzZSAzOgorICAgICAgd2lkdGggPSByZWZf
cG9zX2NvbCArIGJ3IC0gZ3JpZF9wb3NfY29sOworICAgICAgaGVpZ2h0ID0gcmVmX3Bvc19yb3cg
KyBiaCAtIGdyaWRfcG9zX3JvdzsKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6IGFzc2VydCgw
KTsKKyAgfQorCisgIHJldHVybiB3aWR0aCAqIGhlaWdodDsKK30KKworc3RhdGljIGludCByb3Vu
ZF9mbG9vcihpbnQgcmVmX3BvcywgaW50IGJzaXplX3BpeCkgeworICBpbnQgcm91bmQ7CisgIGlm
IChyZWZfcG9zIDwgMCkKKyAgICByb3VuZCA9IC0oMSArICgtcmVmX3BvcyAtIDEpIC8gYnNpemVf
cGl4KTsKKyAgZWxzZQorICAgIHJvdW5kID0gcmVmX3BvcyAvIGJzaXplX3BpeDsKKworICByZXR1
cm4gcm91bmQ7Cit9CisKK3N0YXRpYyB2b2lkIHRwbF9tb2RlbF9zdG9yZShUcGxEZXBTdGF0cyAq
dHBsX3N0YXRzLCBpbnQgbWlfcm93LCBpbnQgbWlfY29sLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEJMT0NLX1NJWkUgYnNpemUsIGludCBzdHJpZGUpIHsKKyAgY29uc3QgaW50IG1pX2hl
aWdodCA9IG51bV84eDhfYmxvY2tzX2hpZ2hfbG9va3VwW2JzaXplXTsKKyAgY29uc3QgaW50IG1p
X3dpZHRoID0gbnVtXzh4OF9ibG9ja3Nfd2lkZV9sb29rdXBbYnNpemVdOworICBjb25zdCBUcGxE
ZXBTdGF0cyAqc3JjX3N0YXRzID0gJnRwbF9zdGF0c1ttaV9yb3cgKiBzdHJpZGUgKyBtaV9jb2xd
OworICBpbnQgaWR4LCBpZHk7CisKKyAgZm9yIChpZHkgPSAwOyBpZHkgPCBtaV9oZWlnaHQ7ICsr
aWR5KSB7CisgICAgZm9yIChpZHggPSAwOyBpZHggPCBtaV93aWR0aDsgKytpZHgpIHsKKyAgICAg
IFRwbERlcFN0YXRzICp0cGxfcHRyID0gJnRwbF9zdGF0c1sobWlfcm93ICsgaWR5KSAqIHN0cmlk
ZSArIG1pX2NvbCArIGlkeF07CisgICAgICBjb25zdCBpbnQ2NF90IG1jX2Zsb3cgPSB0cGxfcHRy
LT5tY19mbG93OworICAgICAgY29uc3QgaW50NjRfdCBtY19yZWZfY29zdCA9IHRwbF9wdHItPm1j
X3JlZl9jb3N0OworICAgICAgKnRwbF9wdHIgPSAqc3JjX3N0YXRzOworICAgICAgdHBsX3B0ci0+
bWNfZmxvdyA9IG1jX2Zsb3c7CisgICAgICB0cGxfcHRyLT5tY19yZWZfY29zdCA9IG1jX3JlZl9j
b3N0OworICAgICAgdHBsX3B0ci0+bWNfZGVwX2Nvc3QgPSB0cGxfcHRyLT5pbnRyYV9jb3N0ICsg
dHBsX3B0ci0+bWNfZmxvdzsKKyAgICB9CisgIH0KK30KKworc3RhdGljIHZvaWQgdHBsX21vZGVs
X3VwZGF0ZV9iKFRwbERlcEZyYW1lICp0cGxfZnJhbWUsIFRwbERlcFN0YXRzICp0cGxfc3RhdHMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pX3JvdywgaW50IG1pX2NvbCwg
Y29uc3QgQkxPQ0tfU0laRSBic2l6ZSkgeworICBUcGxEZXBGcmFtZSAqcmVmX3RwbF9mcmFtZSA9
ICZ0cGxfZnJhbWVbdHBsX3N0YXRzLT5yZWZfZnJhbWVfaW5kZXhdOworICBUcGxEZXBTdGF0cyAq
cmVmX3N0YXRzID0gcmVmX3RwbF9mcmFtZS0+dHBsX3N0YXRzX3B0cjsKKyAgTVYgbXYgPSB0cGxf
c3RhdHMtPm12LmFzX212OworICBpbnQgbXZfcm93ID0gbXYucm93ID4+IDM7CisgIGludCBtdl9j
b2wgPSBtdi5jb2wgPj4gMzsKKworICBpbnQgcmVmX3Bvc19yb3cgPSBtaV9yb3cgKiBNSV9TSVpF
ICsgbXZfcm93OworICBpbnQgcmVmX3Bvc19jb2wgPSBtaV9jb2wgKiBNSV9TSVpFICsgbXZfY29s
OworCisgIGNvbnN0IGludCBidyA9IDQgPDwgYl93aWR0aF9sb2cyX2xvb2t1cFtic2l6ZV07Cisg
IGNvbnN0IGludCBiaCA9IDQgPDwgYl9oZWlnaHRfbG9nMl9sb29rdXBbYnNpemVdOworICBjb25z
dCBpbnQgbWlfaGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3NfaGlnaF9sb29rdXBbYnNpemVdOworICBj
b25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFtic2l6ZV07Cisg
IGNvbnN0IGludCBwaXhfbnVtID0gYncgKiBiaDsKKworICAvLyB0b3AtbGVmdCBvbiBncmlkIGJs
b2NrIGxvY2F0aW9uIGluIHBpeGVsCisgIGludCBncmlkX3Bvc19yb3dfYmFzZSA9IHJvdW5kX2Zs
b29yKHJlZl9wb3Nfcm93LCBiaCkgKiBiaDsKKyAgaW50IGdyaWRfcG9zX2NvbF9iYXNlID0gcm91
bmRfZmxvb3IocmVmX3Bvc19jb2wsIGJ3KSAqIGJ3OworICBpbnQgYmxvY2s7CisKKyAgZm9yIChi
bG9jayA9IDA7IGJsb2NrIDwgNDsgKytibG9jaykgeworICAgIGludCBncmlkX3Bvc19yb3cgPSBn
cmlkX3Bvc19yb3dfYmFzZSArIGJoICogKGJsb2NrID4+IDEpOworICAgIGludCBncmlkX3Bvc19j
b2wgPSBncmlkX3Bvc19jb2xfYmFzZSArIGJ3ICogKGJsb2NrICYgMHgwMSk7CisKKyAgICBpZiAo
Z3JpZF9wb3Nfcm93ID49IDAgJiYgZ3JpZF9wb3Nfcm93IDwgcmVmX3RwbF9mcmFtZS0+bWlfcm93
cyAqIE1JX1NJWkUgJiYKKyAgICAgICAgZ3JpZF9wb3NfY29sID49IDAgJiYgZ3JpZF9wb3NfY29s
IDwgcmVmX3RwbF9mcmFtZS0+bWlfY29scyAqIE1JX1NJWkUpIHsKKyAgICAgIGludCBvdmVybGFw
X2FyZWEgPSBnZXRfb3ZlcmxhcF9hcmVhKAorICAgICAgICAgIGdyaWRfcG9zX3JvdywgZ3JpZF9w
b3NfY29sLCByZWZfcG9zX3JvdywgcmVmX3Bvc19jb2wsIGJsb2NrLCBic2l6ZSk7CisgICAgICBp
bnQgcmVmX21pX3JvdyA9IHJvdW5kX2Zsb29yKGdyaWRfcG9zX3JvdywgYmgpICogbWlfaGVpZ2h0
OworICAgICAgaW50IHJlZl9taV9jb2wgPSByb3VuZF9mbG9vcihncmlkX3Bvc19jb2wsIGJ3KSAq
IG1pX3dpZHRoOworCisgICAgICBpbnQ2NF90IG1jX2Zsb3cgPSB0cGxfc3RhdHMtPm1jX2RlcF9j
b3N0IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICh0cGxfc3RhdHMtPm1jX2RlcF9jb3N0ICog
dHBsX3N0YXRzLT5pbnRlcl9jb3N0KSAvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHBs
X3N0YXRzLT5pbnRyYV9jb3N0OworCisgICAgICBpbnQgaWR4LCBpZHk7CisKKyAgICAgIGZvciAo
aWR5ID0gMDsgaWR5IDwgbWlfaGVpZ2h0OyArK2lkeSkgeworICAgICAgICBmb3IgKGlkeCA9IDA7
IGlkeCA8IG1pX3dpZHRoOyArK2lkeCkgeworICAgICAgICAgIFRwbERlcFN0YXRzICpkZXNfc3Rh
dHMgPQorICAgICAgICAgICAgICAmcmVmX3N0YXRzWyhyZWZfbWlfcm93ICsgaWR5KSAqIHJlZl90
cGxfZnJhbWUtPnN0cmlkZSArCisgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZl9taV9jb2wg
KyBpZHgpXTsKKworICAgICAgICAgIGRlc19zdGF0cy0+bWNfZmxvdyArPSAobWNfZmxvdyAqIG92
ZXJsYXBfYXJlYSkgLyBwaXhfbnVtOworICAgICAgICAgIGRlc19zdGF0cy0+bWNfcmVmX2Nvc3Qg
Kz0KKyAgICAgICAgICAgICAgKCh0cGxfc3RhdHMtPmludHJhX2Nvc3QgLSB0cGxfc3RhdHMtPmlu
dGVyX2Nvc3QpICogb3ZlcmxhcF9hcmVhKSAvCisgICAgICAgICAgICAgIHBpeF9udW07CisgICAg
ICAgICAgYXNzZXJ0KG92ZXJsYXBfYXJlYSA+PSAwKTsKKyAgICAgICAgfQorICAgICAgfQorICAg
IH0KKyAgfQorfQorCitzdGF0aWMgdm9pZCB0cGxfbW9kZWxfdXBkYXRlKFRwbERlcEZyYW1lICp0
cGxfZnJhbWUsIFRwbERlcFN0YXRzICp0cGxfc3RhdHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBtaV9yb3csIGludCBtaV9jb2wsIGNvbnN0IEJMT0NLX1NJWkUgYnNpemUpIHsK
KyAgaW50IGlkeCwgaWR5OworICBjb25zdCBpbnQgbWlfaGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3Nf
aGlnaF9sb29rdXBbYnNpemVdOworICBjb25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nr
c193aWRlX2xvb2t1cFtic2l6ZV07CisKKyAgZm9yIChpZHkgPSAwOyBpZHkgPCBtaV9oZWlnaHQ7
ICsraWR5KSB7CisgICAgZm9yIChpZHggPSAwOyBpZHggPCBtaV93aWR0aDsgKytpZHgpIHsKKyAg
ICAgIFRwbERlcFN0YXRzICp0cGxfcHRyID0KKyAgICAgICAgICAmdHBsX3N0YXRzWyhtaV9yb3cg
KyBpZHkpICogdHBsX2ZyYW1lLT5zdHJpZGUgKyAobWlfY29sICsgaWR4KV07CisgICAgICB0cGxf
bW9kZWxfdXBkYXRlX2IodHBsX2ZyYW1lLCB0cGxfcHRyLCBtaV9yb3cgKyBpZHksIG1pX2NvbCAr
IGlkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS184WDgpOworICAgIH0KKyAgfQor
fQorCitzdGF0aWMgdm9pZCBnZXRfcXVhbnRpemVfZXJyb3IoTUFDUk9CTE9DSyAqeCwgaW50IHBs
YW5lLCB0cmFuX2xvd190ICpjb2VmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190ICpxY29lZmYsIHRyYW5fbG93X3QgKmRxY29lZmYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVFhfU0laRSB0eF9zaXplLCBpbnQ2NF90ICpyZWNvbl9lcnJvciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90ICpzc2UpIHsKKyAgTUFDUk9CTE9D
S0QgKmNvbnN0IHhkID0gJngtPmVfbWJkOworICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSAqY29uc3QgcCA9ICZ4LT5wbGFuZVtwbGFuZV07CisgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2Nr
ZF9wbGFuZSAqY29uc3QgcGQgPSAmeGQtPnBsYW5lW3BsYW5lXTsKKyAgY29uc3Qgc2Nhbl9vcmRl
ciAqY29uc3Qgc2Nhbl9vcmRlciA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1t0eF9zaXplXTsK
KyAgdWludDE2X3QgZW9iOworICBpbnQgcGl4X251bSA9IDEgPDwgbnVtX3BlbHNfbG9nMl9sb29r
dXBbdHhzaXplX3RvX2JzaXplW3R4X3NpemVdXTsKKyAgY29uc3QgaW50IHNoaWZ0ID0gdHhfc2l6
ZSA9PSBUWF8zMlgzMiA/IDAgOiAyOworCisjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKKyAg
aWYgKHhkLT5jdXJfYnVmLT5mbGFncyAmIFlWMTJfRkxBR19ISUdIQklUREVQVEgpIHsKKyAgICB2
cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyKGNvZWZmLCBwaXhfbnVtLCB4LT5za2lwX2Jsb2Nr
LCBwLT5yb3VuZF9mcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50
X2ZwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmVvYiwgc2Nhbl9vcmRlci0+c2Nhbiwgc2Nhbl9vcmRlci0+aXNjYW4pOwor
ICB9IGVsc2UgeworICAgIHZwOV9xdWFudGl6ZV9mcF8zMngzMihjb2VmZiwgcGl4X251bSwgeC0+
c2tpcF9ibG9jaywgcC0+cm91bmRfZnAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1
YW50X2ZwLCBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCAmZW9iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBzY2FuX29yZGVyLT5zY2FuLCBzY2FuX29yZGVyLT5pc2Nhbik7CisgIH0K
KyNlbHNlCisgIHZwOV9xdWFudGl6ZV9mcF8zMngzMihjb2VmZiwgcGl4X251bSwgeC0+c2tpcF9i
bG9jaywgcC0+cm91bmRfZnAsIHAtPnF1YW50X2ZwLAorICAgICAgICAgICAgICAgICAgICAgICAg
cWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgJmVvYiwgc2Nhbl9vcmRlci0+c2NhbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXItPmlzY2FuKTsKKyNlbmRpZiAgLy8gQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKKworICAqcmVjb25fZXJyb3IgPSB2cDlfYmxvY2tfZXJyb3Io
Y29lZmYsIGRxY29lZmYsIHBpeF9udW0sIHNzZSkgPj4gc2hpZnQ7CisgICpyZWNvbl9lcnJvciA9
IFZQWE1BWCgqcmVjb25fZXJyb3IsIDEpOworCisgICpzc2UgPSAoKnNzZSkgPj4gc2hpZnQ7Cisg
ICpzc2UgPSBWUFhNQVgoKnNzZSwgMSk7Cit9CisKKyNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBU
SAordm9pZCBoaWdoYmRfd2h0X2Z3ZF90eGZtKGludDE2X3QgKnNyY19kaWZmLCBpbnQgYncsIHRy
YW5fbG93X3QgKmNvZWZmLAorICAgICAgICAgICAgICAgICAgICAgICAgIFRYX1NJWkUgdHhfc2l6
ZSkgeworICAvLyBUT0RPKHNkZW5nKTogSW1wbGVtZW50IFNJTUQgYmFzZWQgaGlnaCBiaXQtZGVw
dGggSGFkYW1hcmQgdHJhbnNmb3Jtcy4KKyAgc3dpdGNoICh0eF9zaXplKSB7CisgICAgY2FzZSBU
WF84WDg6IHZweF9oaWdoYmRfaGFkYW1hcmRfOHg4KHNyY19kaWZmLCBidywgY29lZmYpOyBicmVh
azsKKyAgICBjYXNlIFRYXzE2WDE2OiB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2KHNyY19kaWZm
LCBidywgY29lZmYpOyBicmVhazsKKyAgICBjYXNlIFRYXzMyWDMyOiB2cHhfaGlnaGJkX2hhZGFt
YXJkXzMyeDMyKHNyY19kaWZmLCBidywgY29lZmYpOyBicmVhazsKKyAgICBkZWZhdWx0OiBhc3Nl
cnQoMCk7CisgIH0KK30KKyNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKKwordm9p
ZCB3aHRfZndkX3R4Zm0oaW50MTZfdCAqc3JjX2RpZmYsIGludCBidywgdHJhbl9sb3dfdCAqY29l
ZmYsCisgICAgICAgICAgICAgICAgICBUWF9TSVpFIHR4X3NpemUpIHsKKyAgc3dpdGNoICh0eF9z
aXplKSB7CisgICAgY2FzZSBUWF84WDg6IHZweF9oYWRhbWFyZF84eDgoc3JjX2RpZmYsIGJ3LCBj
b2VmZik7IGJyZWFrOworICAgIGNhc2UgVFhfMTZYMTY6IHZweF9oYWRhbWFyZF8xNngxNihzcmNf
ZGlmZiwgYncsIGNvZWZmKTsgYnJlYWs7CisgICAgY2FzZSBUWF8zMlgzMjogdnB4X2hhZGFtYXJk
XzMyeDMyKHNyY19kaWZmLCBidywgY29lZmYpOyBicmVhazsKKyAgICBkZWZhdWx0OiBhc3NlcnQo
MCk7CisgIH0KK30KKworc3RhdGljIHZvaWQgc2V0X212X2xpbWl0cyhjb25zdCBWUDlfQ09NTU9O
ICpjbSwgTUFDUk9CTE9DSyAqeCwgaW50IG1pX3JvdywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IG1pX2NvbCkgeworICB4LT5tdl9saW1pdHMucm93X21pbiA9IC0oKG1pX3JvdyAqIE1J
X1NJWkUpICsgKDE3IC0gMiAqIFZQOV9JTlRFUlBfRVhURU5EKSk7CisgIHgtPm12X2xpbWl0cy5y
b3dfbWF4ID0KKyAgICAgIChjbS0+bWlfcm93cyAtIDEgLSBtaV9yb3cpICogTUlfU0laRSArICgx
NyAtIDIgKiBWUDlfSU5URVJQX0VYVEVORCk7CisgIHgtPm12X2xpbWl0cy5jb2xfbWluID0gLSgo
bWlfY29sICogTUlfU0laRSkgKyAoMTcgLSAyICogVlA5X0lOVEVSUF9FWFRFTkQpKTsKKyAgeC0+
bXZfbGltaXRzLmNvbF9tYXggPQorICAgICAgKChjbS0+bWlfY29scyAtIDEgLSBtaV9jb2wpICog
TUlfU0laRSkgKyAoMTcgLSAyICogVlA5X0lOVEVSUF9FWFRFTkQpOworfQorCitzdGF0aWMgdm9p
ZCBtb2RlX2VzdGltYXRpb24oVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgTUFDUk9CTE9D
S0QgKnhkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzY2FsZV9mYWN0b3Jz
ICpzZiwgR0ZfUElDVFVSRSAqZ2ZfcGljdHVyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZnJhbWVfaWR4LCBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDE2X3QgKnNyY19kaWZmLCB0cmFuX2xvd190ICpjb2VmZiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpxY29lZmYsIHRyYW5fbG93X3QgKmRx
Y29lZmYsIGludCBtaV9yb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pX2Nv
bCwgQkxPQ0tfU0laRSBic2l6ZSwgVFhfU0laRSB0eF9zaXplLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFlWMTJfQlVGRkVSX0NPTkZJRyAqcmVmX2ZyYW1lW10sIHVpbnQ4X3QgKnByZWRp
Y3RvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90ICpyZWNvbl9lcnJvciwg
aW50NjRfdCAqc3NlKSB7CisgIFZQOV9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOworICBUaHJl
YWREYXRhICp0ZCA9ICZjcGktPnRkOworCisgIGNvbnN0IGludCBidyA9IDQgPDwgYl93aWR0aF9s
b2cyX2xvb2t1cFtic2l6ZV07CisgIGNvbnN0IGludCBiaCA9IDQgPDwgYl9oZWlnaHRfbG9nMl9s
b29rdXBbYnNpemVdOworICBjb25zdCBpbnQgcGl4X251bSA9IGJ3ICogYmg7CisgIGludCBiZXN0
X3JmX2lkeCA9IC0xOworICBpbnRfbXYgYmVzdF9tdjsKKyAgaW50NjRfdCBiZXN0X2ludGVyX2Nv
c3QgPSBJTlQ2NF9NQVg7CisgIGludDY0X3QgaW50ZXJfY29zdDsKKyAgaW50IHJmX2lkeDsKKyAg
Y29uc3QgSW50ZXJwS2VybmVsICpjb25zdCBrZXJuZWwgPSB2cDlfZmlsdGVyX2tlcm5lbHNbRUlH
SFRUQVBdOworCisgIGludDY0X3QgYmVzdF9pbnRyYV9jb3N0ID0gSU5UNjRfTUFYOworICBpbnQ2
NF90IGludHJhX2Nvc3Q7CisgIFBSRURJQ1RJT05fTU9ERSBtb2RlOworICBpbnQgbWJfeV9vZmZz
ZXQgPSBtaV9yb3cgKiBNSV9TSVpFICogeGQtPmN1cl9idWYtPnlfc3RyaWRlICsgbWlfY29sICog
TUlfU0laRTsKKyAgTU9ERV9JTkZPIG1pX2Fib3ZlLCBtaV9sZWZ0OworICBjb25zdCBpbnQgbWlf
aGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3NfaGlnaF9sb29rdXBbYnNpemVdOworICBjb25zdCBpbnQg
bWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFtic2l6ZV07CisgIFRwbERlcFN0
YXRzICp0cGxfc3RhdHMgPQorICAgICAgJnRwbF9mcmFtZS0+dHBsX3N0YXRzX3B0clttaV9yb3cg
KiB0cGxfZnJhbWUtPnN0cmlkZSArIG1pX2NvbF07CisKKyAgeGQtPm1iX3RvX3RvcF9lZGdlID0g
LSgobWlfcm93ICogTUlfU0laRSkgKiA4KTsKKyAgeGQtPm1iX3RvX2JvdHRvbV9lZGdlID0gKChj
bS0+bWlfcm93cyAtIDEgLSBtaV9yb3cpICogTUlfU0laRSkgKiA4OworICB4ZC0+bWJfdG9fbGVm
dF9lZGdlID0gLSgobWlfY29sICogTUlfU0laRSkgKiA4KTsKKyAgeGQtPm1iX3RvX3JpZ2h0X2Vk
Z2UgPSAoKGNtLT5taV9jb2xzIC0gMSAtIG1pX2NvbCkgKiBNSV9TSVpFKSAqIDg7CisgIHhkLT5h
Ym92ZV9taSA9IChtaV9yb3cgPiAwKSA/ICZtaV9hYm92ZSA6IE5VTEw7CisgIHhkLT5sZWZ0X21p
ID0gKG1pX2NvbCA+IDApID8gJm1pX2xlZnQgOiBOVUxMOworCisgIC8vIEludHJhIHByZWRpY3Rp
b24gc2VhcmNoCisgIGZvciAobW9kZSA9IERDX1BSRUQ7IG1vZGUgPD0gVE1fUFJFRDsgKyttb2Rl
KSB7CisgICAgdWludDhfdCAqc3JjLCAqZHN0OworICAgIGludCBzcmNfc3RyaWRlLCBkc3Rfc3Ry
aWRlOworCisgICAgc3JjID0geGQtPmN1cl9idWYtPnlfYnVmZmVyICsgbWJfeV9vZmZzZXQ7Cisg
ICAgc3JjX3N0cmlkZSA9IHhkLT5jdXJfYnVmLT55X3N0cmlkZTsKKworICAgIGRzdCA9ICZwcmVk
aWN0b3JbMF07CisgICAgZHN0X3N0cmlkZSA9IGJ3OworCisgICAgeGQtPm1pWzBdLT5zYl90eXBl
ID0gYnNpemU7CisgICAgeGQtPm1pWzBdLT5yZWZfZnJhbWVbMF0gPSBJTlRSQV9GUkFNRTsKKwor
ICAgIHZwOV9wcmVkaWN0X2ludHJhX2Jsb2NrKHhkLCBiX3dpZHRoX2xvZzJfbG9va3VwW2JzaXpl
XSwgdHhfc2l6ZSwgbW9kZSwgc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19z
dHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgMCwgMCwgMCk7CisKKyNpZiBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSAorICAgIGlmICh4ZC0+Y3VyX2J1Zi0+ZmxhZ3MgJiBZVjEyX0ZMQUdfSElHSEJJVERF
UFRIKSB7CisgICAgICB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrKGJoLCBidywgc3JjX2RpZmYs
IGJ3LCBzcmMsIHNyY19zdHJpZGUsIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZHN0X3N0cmlkZSwgeGQtPmJkKTsKKyAgICAgIGhpZ2hiZF93aHRfZndkX3R4Zm0oc3JjX2Rp
ZmYsIGJ3LCBjb2VmZiwgdHhfc2l6ZSk7CisgICAgICBpbnRyYV9jb3N0ID0gdnB4X2hpZ2hiZF9z
YXRkKGNvZWZmLCBwaXhfbnVtKTsKKyAgICB9IGVsc2UgeworICAgICAgdnB4X3N1YnRyYWN0X2Js
b2NrKGJoLCBidywgc3JjX2RpZmYsIGJ3LCBzcmMsIHNyY19zdHJpZGUsIGRzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlKTsKKyAgICAgIHdodF9md2RfdHhmbShzcmNfZGlm
ZiwgYncsIGNvZWZmLCB0eF9zaXplKTsKKyAgICAgIGludHJhX2Nvc3QgPSB2cHhfc2F0ZChjb2Vm
ZiwgcGl4X251bSk7CisgICAgfQorI2Vsc2UKKyAgICB2cHhfc3VidHJhY3RfYmxvY2soYmgsIGJ3
LCBzcmNfZGlmZiwgYncsIHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlKTsKKyAgICB3
aHRfZndkX3R4Zm0oc3JjX2RpZmYsIGJ3LCBjb2VmZiwgdHhfc2l6ZSk7CisgICAgaW50cmFfY29z
dCA9IHZweF9zYXRkKGNvZWZmLCBwaXhfbnVtKTsKKyNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdI
QklUREVQVEgKKworICAgIGlmIChpbnRyYV9jb3N0IDwgYmVzdF9pbnRyYV9jb3N0KSBiZXN0X2lu
dHJhX2Nvc3QgPSBpbnRyYV9jb3N0OworICB9CisKKyAgLy8gTW90aW9uIGNvbXBlbnNhdGVkIHBy
ZWRpY3Rpb24KKyAgYmVzdF9tdi5hc19pbnQgPSAwOworCisgIHNldF9tdl9saW1pdHMoY20sIHgs
IG1pX3JvdywgbWlfY29sKTsKKworICBmb3IgKHJmX2lkeCA9IDA7IHJmX2lkeCA8IE1BWF9JTlRF
Ul9SRUZfRlJBTUVTOyArK3JmX2lkeCkgeworICAgIGludF9tdiBtdjsKKyNpZiBDT05GSUdfTk9O
X0dSRUVEWV9NVgorICAgIE1vdGlvbkZpZWxkICptb3Rpb25fZmllbGQ7CisjZW5kaWYKKyAgICBp
ZiAocmVmX2ZyYW1lW3JmX2lkeF0gPT0gTlVMTCkgY29udGludWU7CisKKyNpZiBDT05GSUdfTk9O
X0dSRUVEWV9NVgorICAgICh2b2lkKXRkOworICAgIG1vdGlvbl9maWVsZCA9IHZwOV9tb3Rpb25f
ZmllbGRfaW5mb19nZXRfbW90aW9uX2ZpZWxkKAorICAgICAgICAmY3BpLT5tb3Rpb25fZmllbGRf
aW5mbywgZnJhbWVfaWR4LCByZl9pZHgsIGJzaXplKTsKKyAgICBtdiA9IHZwOV9tb3Rpb25fZmll
bGRfbWlfZ2V0X212KG1vdGlvbl9maWVsZCwgbWlfcm93LCBtaV9jb2wpOworI2Vsc2UKKyAgICBt
b3Rpb25fY29tcGVuc2F0ZWRfcHJlZGljdGlvbihjcGksIHRkLCB4ZC0+Y3VyX2J1Zi0+eV9idWZm
ZXIgKyBtYl95X29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZf
ZnJhbWVbcmZfaWR4XS0+eV9idWZmZXIgKyBtYl95X29mZnNldCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB4ZC0+Y3VyX2J1Zi0+eV9zdHJpZGUsIGJzaXplLCAmbXYuYXNfbXYp
OworI2VuZGlmCisKKyNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAorICAgIGlmICh4ZC0+Y3Vy
X2J1Zi0+ZmxhZ3MgJiBZVjEyX0ZMQUdfSElHSEJJVERFUFRIKSB7CisgICAgICB2cDlfaGlnaGJk
X2J1aWxkX2ludGVyX3ByZWRpY3RvcigKKyAgICAgICAgICBDT05WRVJUX1RPX1NIT1JUUFRSKHJl
Zl9mcmFtZVtyZl9pZHhdLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0KSwKKyAgICAgICAgICByZWZf
ZnJhbWVbcmZfaWR4XS0+eV9zdHJpZGUsIENPTlZFUlRfVE9fU0hPUlRQVFIoJnByZWRpY3Rvclsw
XSksIGJ3LAorICAgICAgICAgICZtdi5hc19tdiwgc2YsIGJ3LCBiaCwgMCwga2VybmVsLCBNVl9Q
UkVDSVNJT05fUTMsIG1pX2NvbCAqIE1JX1NJWkUsCisgICAgICAgICAgbWlfcm93ICogTUlfU0la
RSwgeGQtPmJkKTsKKyAgICAgIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2soCisgICAgICAgICAg
YmgsIGJ3LCBzcmNfZGlmZiwgYncsIHhkLT5jdXJfYnVmLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0
LAorICAgICAgICAgIHhkLT5jdXJfYnVmLT55X3N0cmlkZSwgJnByZWRpY3RvclswXSwgYncsIHhk
LT5iZCk7CisgICAgICBoaWdoYmRfd2h0X2Z3ZF90eGZtKHNyY19kaWZmLCBidywgY29lZmYsIHR4
X3NpemUpOworICAgICAgaW50ZXJfY29zdCA9IHZweF9oaWdoYmRfc2F0ZChjb2VmZiwgcGl4X251
bSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHZwOV9idWlsZF9pbnRlcl9wcmVkaWN0b3IoCisgICAg
ICAgICAgcmVmX2ZyYW1lW3JmX2lkeF0tPnlfYnVmZmVyICsgbWJfeV9vZmZzZXQsCisgICAgICAg
ICAgcmVmX2ZyYW1lW3JmX2lkeF0tPnlfc3RyaWRlLCAmcHJlZGljdG9yWzBdLCBidywgJm12LmFz
X212LCBzZiwgYncsIGJoLAorICAgICAgICAgIDAsIGtlcm5lbCwgTVZfUFJFQ0lTSU9OX1EzLCBt
aV9jb2wgKiBNSV9TSVpFLCBtaV9yb3cgKiBNSV9TSVpFKTsKKyAgICAgIHZweF9zdWJ0cmFjdF9i
bG9jayhiaCwgYncsIHNyY19kaWZmLCBidywKKyAgICAgICAgICAgICAgICAgICAgICAgICB4ZC0+
Y3VyX2J1Zi0+eV9idWZmZXIgKyBtYl95X29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB4ZC0+Y3VyX2J1Zi0+eV9zdHJpZGUsICZwcmVkaWN0b3JbMF0sIGJ3KTsKKyAgICAgIHdodF9m
d2RfdHhmbShzcmNfZGlmZiwgYncsIGNvZWZmLCB0eF9zaXplKTsKKyAgICAgIGludGVyX2Nvc3Qg
PSB2cHhfc2F0ZChjb2VmZiwgcGl4X251bSk7CisgICAgfQorI2Vsc2UKKyAgICB2cDlfYnVpbGRf
aW50ZXJfcHJlZGljdG9yKHJlZl9mcmFtZVtyZl9pZHhdLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmX2ZyYW1lW3JmX2lkeF0tPnlfc3Ry
aWRlLCAmcHJlZGljdG9yWzBdLCBidywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZt
di5hc19tdiwgc2YsIGJ3LCBiaCwgMCwga2VybmVsLCBNVl9QUkVDSVNJT05fUTMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtaV9jb2wgKiBNSV9TSVpFLCBtaV9yb3cgKiBNSV9TSVpF
KTsKKyAgICB2cHhfc3VidHJhY3RfYmxvY2soYmgsIGJ3LCBzcmNfZGlmZiwgYncsCisgICAgICAg
ICAgICAgICAgICAgICAgIHhkLT5jdXJfYnVmLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0LAorICAg
ICAgICAgICAgICAgICAgICAgICB4ZC0+Y3VyX2J1Zi0+eV9zdHJpZGUsICZwcmVkaWN0b3JbMF0s
IGJ3KTsKKyAgICB3aHRfZndkX3R4Zm0oc3JjX2RpZmYsIGJ3LCBjb2VmZiwgdHhfc2l6ZSk7Cisg
ICAgaW50ZXJfY29zdCA9IHZweF9zYXRkKGNvZWZmLCBwaXhfbnVtKTsKKyNlbmRpZgorCisgICAg
aWYgKGludGVyX2Nvc3QgPCBiZXN0X2ludGVyX2Nvc3QpIHsKKyAgICAgIGJlc3RfcmZfaWR4ID0g
cmZfaWR4OworICAgICAgYmVzdF9pbnRlcl9jb3N0ID0gaW50ZXJfY29zdDsKKyAgICAgIGJlc3Rf
bXYuYXNfaW50ID0gbXYuYXNfaW50OworICAgICAgZ2V0X3F1YW50aXplX2Vycm9yKHgsIDAsIGNv
ZWZmLCBxY29lZmYsIGRxY29lZmYsIHR4X3NpemUsIHJlY29uX2Vycm9yLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHNzZSk7CisgICAgfQorICB9CisgIGJlc3RfaW50cmFfY29zdCA9IFZQWE1B
WChiZXN0X2ludHJhX2Nvc3QsIDEpOworICBiZXN0X2ludGVyX2Nvc3QgPSBWUFhNSU4oYmVzdF9p
bnRyYV9jb3N0LCBiZXN0X2ludGVyX2Nvc3QpOworICB0cGxfc3RhdHMtPmludGVyX2Nvc3QgPSBW
UFhNQVgoCisgICAgICAxLCAoYmVzdF9pbnRlcl9jb3N0IDw8IFRQTF9ERVBfQ09TVF9TQ0FMRV9M
T0cyKSAvIChtaV9oZWlnaHQgKiBtaV93aWR0aCkpOworICB0cGxfc3RhdHMtPmludHJhX2Nvc3Qg
PSBWUFhNQVgoCisgICAgICAxLCAoYmVzdF9pbnRyYV9jb3N0IDw8IFRQTF9ERVBfQ09TVF9TQ0FM
RV9MT0cyKSAvIChtaV9oZWlnaHQgKiBtaV93aWR0aCkpOworICB0cGxfc3RhdHMtPnJlZl9mcmFt
ZV9pbmRleCA9IGdmX3BpY3R1cmVbZnJhbWVfaWR4XS5yZWZfZnJhbWVbYmVzdF9yZl9pZHhdOwor
ICB0cGxfc3RhdHMtPm12LmFzX2ludCA9IGJlc3RfbXYuYXNfaW50OworfQorCisjaWYgQ09ORklH
X05PTl9HUkVFRFlfTVYKK3N0YXRpYyBpbnQgZ2V0X2Jsb2NrX3NyY19wcmVkX2J1ZihNQUNST0JM
T0NLRCAqeGQsIEdGX1BJQ1RVUkUgKmdmX3BpY3R1cmUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGZyYW1lX2lkeCwgaW50IHJmX2lkeCwgaW50IG1pX3JvdywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWlfY29sLCBzdHJ1Y3QgYnVmXzJkICpz
cmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJ1Zl8yZCAqcHJl
KSB7CisgIGNvbnN0IGludCBtYl95X29mZnNldCA9CisgICAgICBtaV9yb3cgKiBNSV9TSVpFICog
eGQtPmN1cl9idWYtPnlfc3RyaWRlICsgbWlfY29sICogTUlfU0laRTsKKyAgWVYxMl9CVUZGRVJf
Q09ORklHICpyZWZfZnJhbWUgPSBOVUxMOworICBpbnQgcmVmX2ZyYW1lX2lkeCA9IGdmX3BpY3R1
cmVbZnJhbWVfaWR4XS5yZWZfZnJhbWVbcmZfaWR4XTsKKyAgaWYgKHJlZl9mcmFtZV9pZHggIT0g
LTEpIHsKKyAgICByZWZfZnJhbWUgPSBnZl9waWN0dXJlW3JlZl9mcmFtZV9pZHhdLmZyYW1lOwor
ICAgIHNyYy0+YnVmID0geGQtPmN1cl9idWYtPnlfYnVmZmVyICsgbWJfeV9vZmZzZXQ7CisgICAg
c3JjLT5zdHJpZGUgPSB4ZC0+Y3VyX2J1Zi0+eV9zdHJpZGU7CisgICAgcHJlLT5idWYgPSByZWZf
ZnJhbWUtPnlfYnVmZmVyICsgbWJfeV9vZmZzZXQ7CisgICAgcHJlLT5zdHJpZGUgPSByZWZfZnJh
bWUtPnlfc3RyaWRlOworICAgIGFzc2VydChzcmMtPnN0cmlkZSA9PSBwcmUtPnN0cmlkZSk7Cisg
ICAgcmV0dXJuIDE7CisgIH0gZWxzZSB7CisgICAgcHJpbnRmKCJpbnZhbGlkIHJlZl9mcmFtZV9p
ZHgiKTsKKyAgICBhc3NlcnQocmVmX2ZyYW1lX2lkeCAhPSAtMSk7CisgICAgcmV0dXJuIDA7Cisg
IH0KK30KKworI2RlZmluZSBrTXZQcmVDaGVja0xpbmVzIDUKKyNkZWZpbmUga012UHJlQ2hlY2tT
aXplIDE1CisKKyNkZWZpbmUgTVZfUkVGX1BPU19OVU0gMworUE9TSVRJT04gbXZfcmVmX3Bvc1tN
Vl9SRUZfUE9TX05VTV0gPSB7CisgIHsgLTEsIDAgfSwKKyAgeyAwLCAtMSB9LAorICB7IC0xLCAt
MSB9LAorfTsKKworc3RhdGljIGludF9tdiAqZ2V0X3NlbGVjdF9tdihWUDlfQ09NUCAqY3BpLCBU
cGxEZXBGcmFtZSAqdHBsX2ZyYW1lLCBpbnQgbWlfcm93LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgbWlfY29sKSB7CisgIHJldHVybiAmY3BpLT5zZWxlY3RfbXZfYXJyW21pX3Jv
dyAqIHRwbF9mcmFtZS0+c3RyaWRlICsgbWlfY29sXTsKK30KKworc3RhdGljIGludF9tdiBmaW5k
X3JlZl9tdihpbnQgbXZfbW9kZSwgVlA5X0NPTVAgKmNwaSwgVHBsRGVwRnJhbWUgKnRwbF9mcmFt
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQkxPQ0tfU0laRSBic2l6ZSwgaW50IG1pX3Jv
dywgaW50IG1pX2NvbCkgeworICBpbnQgaTsKKyAgY29uc3QgaW50IG1pX2hlaWdodCA9IG51bV84
eDhfYmxvY2tzX2hpZ2hfbG9va3VwW2JzaXplXTsKKyAgY29uc3QgaW50IG1pX3dpZHRoID0gbnVt
Xzh4OF9ibG9ja3Nfd2lkZV9sb29rdXBbYnNpemVdOworICBpbnRfbXYgbmVhcmVzdF9tdiwgbmVh
cl9tdiwgaW52YWxpZF9tdjsKKyAgbmVhcmVzdF9tdi5hc19pbnQgPSBJTlZBTElEX01WOworICBu
ZWFyX212LmFzX2ludCA9IElOVkFMSURfTVY7CisgIGludmFsaWRfbXYuYXNfaW50ID0gSU5WQUxJ
RF9NVjsKKyAgZm9yIChpID0gMDsgaSA8IE1WX1JFRl9QT1NfTlVNOyArK2kpIHsKKyAgICBpbnQg
bmJfcm93ID0gbWlfcm93ICsgbXZfcmVmX3Bvc1tpXS5yb3cgKiBtaV9oZWlnaHQ7CisgICAgaW50
IG5iX2NvbCA9IG1pX2NvbCArIG12X3JlZl9wb3NbaV0uY29sICogbWlfd2lkdGg7CisgICAgYXNz
ZXJ0KG12X3JlZl9wb3NbaV0ucm93IDw9IDApOworICAgIGFzc2VydChtdl9yZWZfcG9zW2ldLmNv
bCA8PSAwKTsKKyAgICBpZiAobmJfcm93ID49IDAgJiYgbmJfY29sID49IDApIHsKKyAgICAgIGlm
IChuZWFyZXN0X212LmFzX2ludCA9PSBJTlZBTElEX01WKSB7CisgICAgICAgIG5lYXJlc3RfbXYg
PSAqZ2V0X3NlbGVjdF9tdihjcGksIHRwbF9mcmFtZSwgbmJfcm93LCBuYl9jb2wpOworICAgICAg
fSBlbHNlIHsKKyAgICAgICAgaW50X212IG12ID0gKmdldF9zZWxlY3RfbXYoY3BpLCB0cGxfZnJh
bWUsIG5iX3JvdywgbmJfY29sKTsKKyAgICAgICAgaWYgKG12LmFzX2ludCA9PSBuZWFyZXN0X212
LmFzX2ludCkgeworICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgIG5lYXJfbXYgPSBtdjsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfQor
ICAgIH0KKyAgfQorICBpZiAobmVhcmVzdF9tdi5hc19pbnQgPT0gSU5WQUxJRF9NVikgeworICAg
IG5lYXJlc3RfbXYuYXNfbXYucm93ID0gMDsKKyAgICBuZWFyZXN0X212LmFzX212LmNvbCA9IDA7
CisgIH0KKyAgaWYgKG5lYXJfbXYuYXNfaW50ID09IElOVkFMSURfTVYpIHsKKyAgICBuZWFyX212
LmFzX212LnJvdyA9IDA7CisgICAgbmVhcl9tdi5hc19tdi5jb2wgPSAwOworICB9CisgIGlmICht
dl9tb2RlID09IE5FQVJFU1RfTVZfTU9ERSkgeworICAgIHJldHVybiBuZWFyZXN0X212OworICB9
CisgIGlmIChtdl9tb2RlID09IE5FQVJfTVZfTU9ERSkgeworICAgIHJldHVybiBuZWFyX212Owor
ICB9CisgIGFzc2VydCgwKTsKKyAgcmV0dXJuIGludmFsaWRfbXY7Cit9CisKK3N0YXRpYyBpbnRf
bXYgZ2V0X212X2Zyb21fbXZfbW9kZShpbnQgbXZfbW9kZSwgVlA5X0NPTVAgKmNwaSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb3Rpb25GaWVsZCAqbW90aW9uX2ZpZWxkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRwbERlcEZyYW1lICp0cGxfZnJhbWUs
IEJMT0NLX1NJWkUgYnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IG1pX3JvdywgaW50IG1pX2NvbCkgeworICBpbnRfbXYgbXY7CisgIHN3aXRjaCAobXZfbW9kZSkg
eworICAgIGNhc2UgWkVST19NVl9NT0RFOgorICAgICAgbXYuYXNfbXYucm93ID0gMDsKKyAgICAg
IG12LmFzX212LmNvbCA9IDA7CisgICAgICBicmVhazsKKyAgICBjYXNlIE5FV19NVl9NT0RFOgor
ICAgICAgbXYgPSB2cDlfbW90aW9uX2ZpZWxkX21pX2dldF9tdihtb3Rpb25fZmllbGQsIG1pX3Jv
dywgbWlfY29sKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgTkVBUkVTVF9NVl9NT0RFOgorICAg
ICAgbXYgPSBmaW5kX3JlZl9tdihtdl9tb2RlLCBjcGksIHRwbF9mcmFtZSwgYnNpemUsIG1pX3Jv
dywgbWlfY29sKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgTkVBUl9NVl9NT0RFOgorICAgICAg
bXYgPSBmaW5kX3JlZl9tdihtdl9tb2RlLCBjcGksIHRwbF9mcmFtZSwgYnNpemUsIG1pX3Jvdywg
bWlfY29sKTsKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICBtdi5hc19pbnQgPSBJ
TlZBTElEX01WOworICAgICAgYXNzZXJ0KDApOworICAgICAgYnJlYWs7CisgIH0KKyAgcmV0dXJu
IG12OworfQorCitzdGF0aWMgZG91YmxlIGdldF9tdl9kaXN0KGludCBtdl9tb2RlLCBWUDlfQ09N
UCAqY3BpLCBNQUNST0JMT0NLRCAqeGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEdGX1BJ
Q1RVUkUgKmdmX3BpY3R1cmUsIE1vdGlvbkZpZWxkICptb3Rpb25fZmllbGQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBmcmFtZV9pZHgsIFRwbERlcEZyYW1lICp0cGxfZnJhbWUsIGlu
dCByZl9pZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJWkUgYnNpemUsIGlu
dCBtaV9yb3csIGludCBtaV9jb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludF9tdiAq
bXYpIHsKKyAgdWludDMyX3Qgc3NlOworICBzdHJ1Y3QgYnVmXzJkIHNyYzsKKyAgc3RydWN0IGJ1
Zl8yZCBwcmU7CisgIE1WIGZ1bGxfbXY7CisgICptdiA9IGdldF9tdl9mcm9tX212X21vZGUobXZf
bW9kZSwgY3BpLCBtb3Rpb25fZmllbGQsIHRwbF9mcmFtZSwgYnNpemUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWlfcm93LCBtaV9jb2wpOworICBmdWxsX212ID0gZ2V0X2Z1bGxfbXYo
Jm12LT5hc19tdik7CisgIGlmIChnZXRfYmxvY2tfc3JjX3ByZWRfYnVmKHhkLCBnZl9waWN0dXJl
LCBmcmFtZV9pZHgsIHJmX2lkeCwgbWlfcm93LCBtaV9jb2wsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZzcmMsICZwcmUpKSB7CisgICAgLy8gVE9ETyhhbmdpZWJpcmQpOiBDb25zaWRl
ciBzdWJwaXhlbCB3aGVuIGNvbXB1dGluZyB0aGUgc3NlLgorICAgIGNwaS0+Zm5fcHRyW2JzaXpl
XS52ZihzcmMuYnVmLCBzcmMuc3RyaWRlLCBnZXRfYnVmX2Zyb21fbXYoJnByZSwgJmZ1bGxfbXYp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBwcmUuc3RyaWRlLCAmc3NlKTsKKyAgICByZXR1
cm4gKGRvdWJsZSkoc3NlIDw8IFZQOV9ESVNUX1NDQUxFX0xPRzIpOworICB9IGVsc2UgeworICAg
IGFzc2VydCgwKTsKKyAgICByZXR1cm4gMDsKKyAgfQorfQorCitzdGF0aWMgaW50IGdldF9tdl9t
b2RlX2Nvc3QoaW50IG12X21vZGUpIHsKKyAgLy8gVE9ETyhhbmdpZWJpcmQpOiBUaGUgcHJvYmFi
aWxpdGllcyBhcmUgcm91Z2hseSBpbmZlcnJlZCBmcm9tCisgIC8vIGRlZmF1bHRfaW50ZXJfbW9k
ZV9wcm9icy4gQ2hlY2sgaWYgdGhlcmUgaXMgYSBiZXR0ZXIgd2F5IHRvIHNldCB0aGUKKyAgLy8g
cHJvYmFiaWxpdGllcy4KKyAgY29uc3QgaW50IHplcm9fbXZfcHJvYiA9IDE2OworICBjb25zdCBp
bnQgbmV3X212X3Byb2IgPSAyNCAqIDE7CisgIGNvbnN0IGludCByZWZfbXZfcHJvYiA9IDI1NiAt
IHplcm9fbXZfcHJvYiAtIG5ld19tdl9wcm9iOworICBhc3NlcnQoemVyb19tdl9wcm9iICsgbmV3
X212X3Byb2IgKyByZWZfbXZfcHJvYiA9PSAyNTYpOworICBzd2l0Y2ggKG12X21vZGUpIHsKKyAg
ICBjYXNlIFpFUk9fTVZfTU9ERTogcmV0dXJuIHZwOV9wcm9iX2Nvc3RbemVyb19tdl9wcm9iXTsg
YnJlYWs7CisgICAgY2FzZSBORVdfTVZfTU9ERTogcmV0dXJuIHZwOV9wcm9iX2Nvc3RbbmV3X212
X3Byb2JdOyBicmVhazsKKyAgICBjYXNlIE5FQVJFU1RfTVZfTU9ERTogcmV0dXJuIHZwOV9wcm9i
X2Nvc3RbcmVmX212X3Byb2JdOyBicmVhazsKKyAgICBjYXNlIE5FQVJfTVZfTU9ERTogcmV0dXJu
IHZwOV9wcm9iX2Nvc3RbcmVmX212X3Byb2JdOyBicmVhazsKKyAgICBkZWZhdWx0OiBhc3NlcnQo
MCk7IHJldHVybiAtMTsKKyAgfQorfQorCitzdGF0aWMgSU5MSU5FIGRvdWJsZSBnZXRfbXZfZGlm
Zl9jb3N0KE1WICpuZXdfbXYsIE1WICpyZWZfbXYpIHsKKyAgZG91YmxlIG12X2RpZmZfY29zdCA9
IGxvZzIoMSArIGFicyhuZXdfbXYtPnJvdyAtIHJlZl9tdi0+cm93KSkgKworICAgICAgICAgICAg
ICAgICAgICAgICAgbG9nMigxICsgYWJzKG5ld19tdi0+Y29sIC0gcmVmX212LT5jb2wpKTsKKyAg
bXZfZGlmZl9jb3N0ICo9ICgxIDw8IFZQOV9QUk9CX0NPU1RfU0hJRlQpOworICByZXR1cm4gbXZf
ZGlmZl9jb3N0OworfQorc3RhdGljIGRvdWJsZSBnZXRfbXZfY29zdChpbnQgbXZfbW9kZSwgVlA5
X0NPTVAgKmNwaSwgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgVHBsRGVwRnJhbWUgKnRwbF9mcmFtZSwgQkxPQ0tfU0laRSBic2l6ZSwgaW50IG1p
X3JvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pX2NvbCkgeworICBkb3VibGUg
bXZfY29zdCA9IGdldF9tdl9tb2RlX2Nvc3QobXZfbW9kZSk7CisgIGlmIChtdl9tb2RlID09IE5F
V19NVl9NT0RFKSB7CisgICAgTVYgbmV3X212ID0gZ2V0X212X2Zyb21fbXZfbW9kZShtdl9tb2Rl
LCBjcGksIG1vdGlvbl9maWVsZCwgdHBsX2ZyYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYnNpemUsIG1pX3JvdywgbWlfY29sKQorICAgICAgICAgICAgICAgICAgICAu
YXNfbXY7CisgICAgTVYgbmVhcmVzdF9tdiA9IGdldF9tdl9mcm9tX212X21vZGUoTkVBUkVTVF9N
Vl9NT0RFLCBjcGksIG1vdGlvbl9maWVsZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0cGxfZnJhbWUsIGJzaXplLCBtaV9yb3csIG1pX2NvbCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC5hc19tdjsKKyAgICBNViBuZWFyX212ID0gZ2V0X212X2Zyb21fbXZfbW9k
ZShORUFSX01WX01PREUsIGNwaSwgbW90aW9uX2ZpZWxkLCB0cGxfZnJhbWUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnNpemUsIG1pX3JvdywgbWlfY29sKQorICAgICAg
ICAgICAgICAgICAgICAgLmFzX212OworICAgIGRvdWJsZSBuZWFyZXN0X2Nvc3QgPSBnZXRfbXZf
ZGlmZl9jb3N0KCZuZXdfbXYsICZuZWFyZXN0X212KTsKKyAgICBkb3VibGUgbmVhcl9jb3N0ID0g
Z2V0X212X2RpZmZfY29zdCgmbmV3X212LCAmbmVhcl9tdik7CisgICAgbXZfY29zdCArPSBuZWFy
ZXN0X2Nvc3QgPCBuZWFyX2Nvc3QgPyBuZWFyZXN0X2Nvc3QgOiBuZWFyX2Nvc3Q7CisgIH0KKyAg
cmV0dXJuIG12X2Nvc3Q7Cit9CisKK3N0YXRpYyBkb3VibGUgZXZhbF9tdl9tb2RlKGludCBtdl9t
b2RlLCBWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0ZfUElDVFVSRSAqZ2ZfcGljdHVyZSwgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmcmFtZV9pZHgsIFRwbERlcEZyYW1lICp0
cGxfZnJhbWUsIGludCByZl9pZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS19T
SVpFIGJzaXplLCBpbnQgbWlfcm93LCBpbnQgbWlfY29sLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50X212ICptdikgeworICBNQUNST0JMT0NLRCAqeGQgPSAmeC0+ZV9tYmQ7CisgIGRv
dWJsZSBtdl9kaXN0ID0KKyAgICAgIGdldF9tdl9kaXN0KG12X21vZGUsIGNwaSwgeGQsIGdmX3Bp
Y3R1cmUsIG1vdGlvbl9maWVsZCwgZnJhbWVfaWR4LAorICAgICAgICAgICAgICAgICAgdHBsX2Zy
YW1lLCByZl9pZHgsIGJzaXplLCBtaV9yb3csIG1pX2NvbCwgbXYpOworICBkb3VibGUgbXZfY29z
dCA9CisgICAgICBnZXRfbXZfY29zdChtdl9tb2RlLCBjcGksIG1vdGlvbl9maWVsZCwgdHBsX2Zy
YW1lLCBic2l6ZSwgbWlfcm93LCBtaV9jb2wpOworICBkb3VibGUgbXVsdCA9IDE4MDsKKworICBy
ZXR1cm4gbXZfY29zdCArIG11bHQgKiBsb2cyZigxICsgbXZfZGlzdCk7Cit9CisKK3N0YXRpYyBp
bnQgZmluZF9iZXN0X3JlZl9tdl9tb2RlKFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRl9QSUNUVVJFICpnZl9waWN0dXJlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW90aW9uRmllbGQgKm1vdGlvbl9maWVs
ZCwgaW50IGZyYW1lX2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRwbERl
cEZyYW1lICp0cGxfZnJhbWUsIGludCByZl9pZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBCTE9DS19TSVpFIGJzaXplLCBpbnQgbWlfcm93LCBpbnQgbWlfY29sLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlICpyZCwgaW50X212ICptdikgeworICBp
bnQgYmVzdF9tdl9tb2RlID0gWkVST19NVl9NT0RFOworICBpbnQgdXBkYXRlID0gMDsKKyAgaW50
IG12X21vZGU7CisgICpyZCA9IDA7CisgIGZvciAobXZfbW9kZSA9IDA7IG12X21vZGUgPCBNQVhf
TVZfTU9ERTsgKyttdl9tb2RlKSB7CisgICAgZG91YmxlIHRoaXNfcmQ7CisgICAgaW50X212IHRo
aXNfbXY7CisgICAgaWYgKG12X21vZGUgPT0gTkVXX01WX01PREUpIHsKKyAgICAgIGNvbnRpbnVl
OworICAgIH0KKyAgICB0aGlzX3JkID0gZXZhbF9tdl9tb2RlKG12X21vZGUsIGNwaSwgeCwgZ2Zf
cGljdHVyZSwgbW90aW9uX2ZpZWxkLCBmcmFtZV9pZHgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cGxfZnJhbWUsIHJmX2lkeCwgYnNpemUsIG1pX3JvdywgbWlfY29sLCAmdGhpc19tdik7
CisgICAgaWYgKHVwZGF0ZSA9PSAwKSB7CisgICAgICAqcmQgPSB0aGlzX3JkOworICAgICAgKm12
ID0gdGhpc19tdjsKKyAgICAgIGJlc3RfbXZfbW9kZSA9IG12X21vZGU7CisgICAgICB1cGRhdGUg
PSAxOworICAgIH0gZWxzZSB7CisgICAgICBpZiAodGhpc19yZCA8ICpyZCkgeworICAgICAgICAq
cmQgPSB0aGlzX3JkOworICAgICAgICAqbXYgPSB0aGlzX212OworICAgICAgICBiZXN0X212X21v
ZGUgPSBtdl9tb2RlOworICAgICAgfQorICAgIH0KKyAgfQorICByZXR1cm4gYmVzdF9tdl9tb2Rl
OworfQorCitzdGF0aWMgdm9pZCBwcmVkaWN0X212X21vZGUoVlA5X0NPTVAgKmNwaSwgTUFDUk9C
TE9DSyAqeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRl9QSUNUVVJFICpnZl9waWN0
dXJlLCBNb3Rpb25GaWVsZCAqbW90aW9uX2ZpZWxkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBmcmFtZV9pZHgsIFRwbERlcEZyYW1lICp0cGxfZnJhbWUsIGludCByZl9pZHgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQkxPQ0tfU0laRSBic2l6ZSwgaW50IG1pX3Jvdywg
aW50IG1pX2NvbCkgeworICBjb25zdCBpbnQgbWlfaGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3NfaGln
aF9sb29rdXBbYnNpemVdOworICBjb25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nrc193
aWRlX2xvb2t1cFtic2l6ZV07CisgIGludCB0bXBfbXZfbW9kZV9hcnJba012UHJlQ2hlY2tTaXpl
XTsKKyAgaW50ICptdl9tb2RlX2FyciA9IHRwbF9mcmFtZS0+bXZfbW9kZV9hcnJbcmZfaWR4XTsK
KyAgZG91YmxlICpyZF9kaWZmX2FyciA9IHRwbF9mcmFtZS0+cmRfZGlmZl9hcnJbcmZfaWR4XTsK
KyAgaW50X212ICpzZWxlY3RfbXZfYXJyID0gY3BpLT5zZWxlY3RfbXZfYXJyOworICBpbnRfbXYg
dG1wX3NlbGVjdF9tdl9hcnJba012UHJlQ2hlY2tTaXplXTsKKyAgaW50IHN0cmlkZSA9IHRwbF9m
cmFtZS0+c3RyaWRlOworICBkb3VibGUgbmV3X212X3JkID0gMDsKKyAgZG91YmxlIG5vX25ld19t
dl9yZCA9IDA7CisgIGRvdWJsZSB0aGlzX25ld19tdl9yZCA9IDA7CisgIGRvdWJsZSB0aGlzX25v
X25ld19tdl9yZCA9IDA7CisgIGludCBpZHg7CisgIGludCB0bXBfaWR4OworICBhc3NlcnQoa012
UHJlQ2hlY2tTaXplID09IChrTXZQcmVDaGVja0xpbmVzICogKGtNdlByZUNoZWNrTGluZXMgKyAx
KSkgPj4gMSk7CisKKyAgLy8gbm8gbmV3IG12CisgIC8vIGRpYWdvbmFsIHNjYW4gb3JkZXIKKyAg
dG1wX2lkeCA9IDA7CisgIGZvciAoaWR4ID0gMDsgaWR4IDwga012UHJlQ2hlY2tMaW5lczsgKytp
ZHgpIHsKKyAgICBpbnQgcjsKKyAgICBmb3IgKHIgPSAwOyByIDw9IGlkeDsgKytyKSB7CisgICAg
ICBpbnQgYyA9IGlkeCAtIHI7CisgICAgICBpbnQgbmJfcm93ID0gbWlfcm93ICsgciAqIG1pX2hl
aWdodDsKKyAgICAgIGludCBuYl9jb2wgPSBtaV9jb2wgKyBjICogbWlfd2lkdGg7CisgICAgICBp
ZiAobmJfcm93IDwgdHBsX2ZyYW1lLT5taV9yb3dzICYmIG5iX2NvbCA8IHRwbF9mcmFtZS0+bWlf
Y29scykgeworICAgICAgICBkb3VibGUgdGhpc19yZDsKKyAgICAgICAgaW50X212ICptdiA9ICZz
ZWxlY3RfbXZfYXJyW25iX3JvdyAqIHN0cmlkZSArIG5iX2NvbF07CisgICAgICAgIG12X21vZGVf
YXJyW25iX3JvdyAqIHN0cmlkZSArIG5iX2NvbF0gPSBmaW5kX2Jlc3RfcmVmX212X21vZGUoCisg
ICAgICAgICAgICBjcGksIHgsIGdmX3BpY3R1cmUsIG1vdGlvbl9maWVsZCwgZnJhbWVfaWR4LCB0
cGxfZnJhbWUsIHJmX2lkeCwKKyAgICAgICAgICAgIGJzaXplLCBuYl9yb3csIG5iX2NvbCwgJnRo
aXNfcmQsIG12KTsKKyAgICAgICAgaWYgKHIgPT0gMCAmJiBjID09IDApIHsKKyAgICAgICAgICB0
aGlzX25vX25ld19tdl9yZCA9IHRoaXNfcmQ7CisgICAgICAgIH0KKyAgICAgICAgbm9fbmV3X212
X3JkICs9IHRoaXNfcmQ7CisgICAgICAgIHRtcF9tdl9tb2RlX2Fyclt0bXBfaWR4XSA9IG12X21v
ZGVfYXJyW25iX3JvdyAqIHN0cmlkZSArIG5iX2NvbF07CisgICAgICAgIHRtcF9zZWxlY3RfbXZf
YXJyW3RtcF9pZHhdID0gc2VsZWN0X212X2FycltuYl9yb3cgKiBzdHJpZGUgKyBuYl9jb2xdOwor
ICAgICAgICArK3RtcF9pZHg7CisgICAgICB9CisgICAgfQorICB9CisKKyAgLy8gbmV3IG12Cisg
IG12X21vZGVfYXJyW21pX3JvdyAqIHN0cmlkZSArIG1pX2NvbF0gPSBORVdfTVZfTU9ERTsKKyAg
dGhpc19uZXdfbXZfcmQgPSBldmFsX212X21vZGUoCisgICAgICBORVdfTVZfTU9ERSwgY3BpLCB4
LCBnZl9waWN0dXJlLCBtb3Rpb25fZmllbGQsIGZyYW1lX2lkeCwgdHBsX2ZyYW1lLAorICAgICAg
cmZfaWR4LCBic2l6ZSwgbWlfcm93LCBtaV9jb2wsICZzZWxlY3RfbXZfYXJyW21pX3JvdyAqIHN0
cmlkZSArIG1pX2NvbF0pOworICBuZXdfbXZfcmQgPSB0aGlzX25ld19tdl9yZDsKKyAgLy8gV2Ug
c3RhcnQgZnJvbSBpZHggPSAxIGJlY2F1c2UgaWR4ID0gMCBpcyBldmFsdWF0ZWQgYXMgTkVXX01W
X01PREUKKyAgLy8gYmVmb3JlaGFuZC4KKyAgZm9yIChpZHggPSAxOyBpZHggPCBrTXZQcmVDaGVj
a0xpbmVzOyArK2lkeCkgeworICAgIGludCByOworICAgIGZvciAociA9IDA7IHIgPD0gaWR4OyAr
K3IpIHsKKyAgICAgIGludCBjID0gaWR4IC0gcjsKKyAgICAgIGludCBuYl9yb3cgPSBtaV9yb3cg
KyByICogbWlfaGVpZ2h0OworICAgICAgaW50IG5iX2NvbCA9IG1pX2NvbCArIGMgKiBtaV93aWR0
aDsKKyAgICAgIGlmIChuYl9yb3cgPCB0cGxfZnJhbWUtPm1pX3Jvd3MgJiYgbmJfY29sIDwgdHBs
X2ZyYW1lLT5taV9jb2xzKSB7CisgICAgICAgIGRvdWJsZSB0aGlzX3JkOworICAgICAgICBpbnRf
bXYgKm12ID0gJnNlbGVjdF9tdl9hcnJbbmJfcm93ICogc3RyaWRlICsgbmJfY29sXTsKKyAgICAg
ICAgbXZfbW9kZV9hcnJbbmJfcm93ICogc3RyaWRlICsgbmJfY29sXSA9IGZpbmRfYmVzdF9yZWZf
bXZfbW9kZSgKKyAgICAgICAgICAgIGNwaSwgeCwgZ2ZfcGljdHVyZSwgbW90aW9uX2ZpZWxkLCBm
cmFtZV9pZHgsIHRwbF9mcmFtZSwgcmZfaWR4LAorICAgICAgICAgICAgYnNpemUsIG5iX3Jvdywg
bmJfY29sLCAmdGhpc19yZCwgbXYpOworICAgICAgICBuZXdfbXZfcmQgKz0gdGhpc19yZDsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICAvLyB1cGRhdGUgYmVzdF9tdl9tb2RlCisgIHRtcF9pZHgg
PSAwOworICBpZiAobm9fbmV3X212X3JkIDwgbmV3X212X3JkKSB7CisgICAgZm9yIChpZHggPSAw
OyBpZHggPCBrTXZQcmVDaGVja0xpbmVzOyArK2lkeCkgeworICAgICAgaW50IHI7CisgICAgICBm
b3IgKHIgPSAwOyByIDw9IGlkeDsgKytyKSB7CisgICAgICAgIGludCBjID0gaWR4IC0gcjsKKyAg
ICAgICAgaW50IG5iX3JvdyA9IG1pX3JvdyArIHIgKiBtaV9oZWlnaHQ7CisgICAgICAgIGludCBu
Yl9jb2wgPSBtaV9jb2wgKyBjICogbWlfd2lkdGg7CisgICAgICAgIGlmIChuYl9yb3cgPCB0cGxf
ZnJhbWUtPm1pX3Jvd3MgJiYgbmJfY29sIDwgdHBsX2ZyYW1lLT5taV9jb2xzKSB7CisgICAgICAg
ICAgbXZfbW9kZV9hcnJbbmJfcm93ICogc3RyaWRlICsgbmJfY29sXSA9IHRtcF9tdl9tb2RlX2Fy
clt0bXBfaWR4XTsKKyAgICAgICAgICBzZWxlY3RfbXZfYXJyW25iX3JvdyAqIHN0cmlkZSArIG5i
X2NvbF0gPSB0bXBfc2VsZWN0X212X2Fyclt0bXBfaWR4XTsKKyAgICAgICAgICArK3RtcF9pZHg7
CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgICAgcmRfZGlmZl9hcnJbbWlfcm93ICogc3Ry
aWRlICsgbWlfY29sXSA9IDA7CisgIH0gZWxzZSB7CisgICAgcmRfZGlmZl9hcnJbbWlfcm93ICog
c3RyaWRlICsgbWlfY29sXSA9CisgICAgICAgIChub19uZXdfbXZfcmQgLSB0aGlzX25vX25ld19t
dl9yZCkgLSAobmV3X212X3JkIC0gdGhpc19uZXdfbXZfcmQpOworICB9Cit9CisKK3N0YXRpYyB2
b2lkIHByZWRpY3RfbXZfbW9kZV9hcnIoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0ZfUElDVFVSRSAqZ2ZfcGljdHVyZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCwg
aW50IGZyYW1lX2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBsRGVwRnJh
bWUgKnRwbF9mcmFtZSwgaW50IHJmX2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQkxPQ0tfU0laRSBic2l6ZSkgeworICBjb25zdCBpbnQgbWlfaGVpZ2h0ID0gbnVtXzh4OF9i
bG9ja3NfaGlnaF9sb29rdXBbYnNpemVdOworICBjb25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4
X2Jsb2Nrc193aWRlX2xvb2t1cFtic2l6ZV07CisgIGNvbnN0IGludCB1bml0X3Jvd3MgPSB0cGxf
ZnJhbWUtPm1pX3Jvd3MgLyBtaV9oZWlnaHQ7CisgIGNvbnN0IGludCB1bml0X2NvbHMgPSB0cGxf
ZnJhbWUtPm1pX2NvbHMgLyBtaV93aWR0aDsKKyAgY29uc3QgaW50IG1heF9kaWFnb25hbF9saW5l
cyA9IHVuaXRfcm93cyArIHVuaXRfY29scyAtIDE7CisgIGludCBpZHg7CisgIGZvciAoaWR4ID0g
MDsgaWR4IDwgbWF4X2RpYWdvbmFsX2xpbmVzOyArK2lkeCkgeworICAgIGludCByOworICAgIGZv
ciAociA9IFZQWE1BWChpZHggLSB1bml0X2NvbHMgKyAxLCAwKTsgciA8PSBWUFhNSU4oaWR4LCB1
bml0X3Jvd3MgLSAxKTsKKyAgICAgICAgICsrcikgeworICAgICAgaW50IGMgPSBpZHggLSByOwor
ICAgICAgaW50IG1pX3JvdyA9IHIgKiBtaV9oZWlnaHQ7CisgICAgICBpbnQgbWlfY29sID0gYyAq
IG1pX3dpZHRoOworICAgICAgYXNzZXJ0KGMgPj0gMCAmJiBjIDwgdW5pdF9jb2xzKTsKKyAgICAg
IGFzc2VydChtaV9yb3cgPj0gMCAmJiBtaV9yb3cgPCB0cGxfZnJhbWUtPm1pX3Jvd3MpOworICAg
ICAgYXNzZXJ0KG1pX2NvbCA+PSAwICYmIG1pX2NvbCA8IHRwbF9mcmFtZS0+bWlfY29scyk7Cisg
ICAgICBwcmVkaWN0X212X21vZGUoY3BpLCB4LCBnZl9waWN0dXJlLCBtb3Rpb25fZmllbGQsIGZy
YW1lX2lkeCwgdHBsX2ZyYW1lLAorICAgICAgICAgICAgICAgICAgICAgIHJmX2lkeCwgYnNpemUs
IG1pX3JvdywgbWlfY29sKTsKKyAgICB9CisgIH0KK30KKworc3RhdGljIHZvaWQgZG9fbW90aW9u
X3NlYXJjaChWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCwgaW50IGZyYW1lX2lkeCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWVYxMl9CVUZGRVJfQ09ORklHICpyZWZfZnJhbWUs
IEJMT0NLX1NJWkUgYnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtaV9y
b3csIGludCBtaV9jb2wpIHsKKyAgVlA5X0NPTU1PTiAqY20gPSAmY3BpLT5jb21tb247CisgIE1B
Q1JPQkxPQ0sgKnggPSAmdGQtPm1iOworICBNQUNST0JMT0NLRCAqeGQgPSAmeC0+ZV9tYmQ7Cisg
IGNvbnN0IGludCBtYl95X29mZnNldCA9CisgICAgICBtaV9yb3cgKiBNSV9TSVpFICogeGQtPmN1
cl9idWYtPnlfc3RyaWRlICsgbWlfY29sICogTUlfU0laRTsKKyAgYXNzZXJ0KHJlZl9mcmFtZSAh
PSBOVUxMKTsKKyAgc2V0X212X2xpbWl0cyhjbSwgeCwgbWlfcm93LCBtaV9jb2wpOworICB7Cisg
ICAgaW50X212IG12ID0gdnA5X21vdGlvbl9maWVsZF9taV9nZXRfbXYobW90aW9uX2ZpZWxkLCBt
aV9yb3csIG1pX2NvbCk7CisgICAgdWludDhfdCAqY3VyX2ZyYW1lX2J1ZiA9IHhkLT5jdXJfYnVm
LT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0OworICAgIHVpbnQ4X3QgKnJlZl9mcmFtZV9idWYgPSBy
ZWZfZnJhbWUtPnlfYnVmZmVyICsgbWJfeV9vZmZzZXQ7CisgICAgY29uc3QgaW50IHN0cmlkZSA9
IHhkLT5jdXJfYnVmLT55X3N0cmlkZTsKKyAgICBmdWxsX3BpeGVsX21vdGlvbl9zZWFyY2goY3Bp
LCB0ZCwgbW90aW9uX2ZpZWxkLCBmcmFtZV9pZHgsIGN1cl9mcmFtZV9idWYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZl9mcmFtZV9idWYsIHN0cmlkZSwgYnNpemUsIG1pX3Jvdywg
bWlfY29sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbXYuYXNfbXYpOworICAgIHN1
Yl9waXhlbF9tb3Rpb25fc2VhcmNoKGNwaSwgdGQsIGN1cl9mcmFtZV9idWYsIHJlZl9mcmFtZV9i
dWYsIHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBic2l6ZSwgJm12LmFzX212
KTsKKyAgICB2cDlfbW90aW9uX2ZpZWxkX21pX3NldF9tdihtb3Rpb25fZmllbGQsIG1pX3Jvdywg
bWlfY29sLCBtdik7CisgIH0KK30KKworc3RhdGljIHZvaWQgYnVpbGRfbW90aW9uX2ZpZWxkKAor
ICAgIFZQOV9DT01QICpjcGksIGludCBmcmFtZV9pZHgsCisgICAgWVYxMl9CVUZGRVJfQ09ORklH
ICpyZWZfZnJhbWVbTUFYX0lOVEVSX1JFRl9GUkFNRVNdLCBCTE9DS19TSVpFIGJzaXplKSB7Cisg
IFZQOV9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOworICBUaHJlYWREYXRhICp0ZCA9ICZjcGkt
PnRkOworICBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lID0gJmNwaS0+dHBsX3N0YXRzW2ZyYW1lX2lk
eF07CisgIGNvbnN0IGludCBtaV9oZWlnaHQgPSBudW1fOHg4X2Jsb2Nrc19oaWdoX2xvb2t1cFti
c2l6ZV07CisgIGNvbnN0IGludCBtaV93aWR0aCA9IG51bV84eDhfYmxvY2tzX3dpZGVfbG9va3Vw
W2JzaXplXTsKKyAgY29uc3QgaW50IHB3ID0gbnVtXzR4NF9ibG9ja3Nfd2lkZV9sb29rdXBbYnNp
emVdIDw8IDI7CisgIGNvbnN0IGludCBwaCA9IG51bV80eDRfYmxvY2tzX2hpZ2hfbG9va3VwW2Jz
aXplXSA8PCAyOworICBpbnQgbWlfcm93LCBtaV9jb2w7CisgIGludCByZl9pZHg7CisKKyAgdHBs
X2ZyYW1lLT5sYW1iZGEgPSAocHcgKiBwaCkgPj4gMjsKKyAgYXNzZXJ0KHB3ICogcGggPT0gdHBs
X2ZyYW1lLT5sYW1iZGEgPDwgMik7CisKKyAgZm9yIChyZl9pZHggPSAwOyByZl9pZHggPCBNQVhf
SU5URVJfUkVGX0ZSQU1FUzsgKytyZl9pZHgpIHsKKyAgICBNb3Rpb25GaWVsZCAqbW90aW9uX2Zp
ZWxkID0gdnA5X21vdGlvbl9maWVsZF9pbmZvX2dldF9tb3Rpb25fZmllbGQoCisgICAgICAgICZj
cGktPm1vdGlvbl9maWVsZF9pbmZvLCBmcmFtZV9pZHgsIHJmX2lkeCwgYnNpemUpOworICAgIGlm
IChyZWZfZnJhbWVbcmZfaWR4XSA9PSBOVUxMKSB7CisgICAgICBjb250aW51ZTsKKyAgICB9Cisg
ICAgdnA5X21vdGlvbl9maWVsZF9yZXNldF9tdnMobW90aW9uX2ZpZWxkKTsKKyAgICBmb3IgKG1p
X3JvdyA9IDA7IG1pX3JvdyA8IGNtLT5taV9yb3dzOyBtaV9yb3cgKz0gbWlfaGVpZ2h0KSB7Cisg
ICAgICBmb3IgKG1pX2NvbCA9IDA7IG1pX2NvbCA8IGNtLT5taV9jb2xzOyBtaV9jb2wgKz0gbWlf
d2lkdGgpIHsKKyAgICAgICAgZG9fbW90aW9uX3NlYXJjaChjcGksIHRkLCBtb3Rpb25fZmllbGQs
IGZyYW1lX2lkeCwgcmVmX2ZyYW1lW3JmX2lkeF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
YnNpemUsIG1pX3JvdywgbWlfY29sKTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKyNlbmRpZiAg
Ly8gQ09ORklHX05PTl9HUkVFRFlfTVYKKworc3RhdGljIHZvaWQgbWNfZmxvd19kaXNwZW5zZXIo
VlA5X0NPTVAgKmNwaSwgR0ZfUElDVFVSRSAqZ2ZfcGljdHVyZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBmcmFtZV9pZHgsIEJMT0NLX1NJWkUgYnNpemUpIHsKKyAgVHBsRGVw
RnJhbWUgKnRwbF9mcmFtZSA9ICZjcGktPnRwbF9zdGF0c1tmcmFtZV9pZHhdOworICBZVjEyX0JV
RkZFUl9DT05GSUcgKnRoaXNfZnJhbWUgPSBnZl9waWN0dXJlW2ZyYW1lX2lkeF0uZnJhbWU7Cisg
IFlWMTJfQlVGRkVSX0NPTkZJRyAqcmVmX2ZyYW1lW01BWF9JTlRFUl9SRUZfRlJBTUVTXSA9IHsg
TlVMTCwgTlVMTCwgTlVMTCB9OworCisgIFZQOV9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOwor
ICBzdHJ1Y3Qgc2NhbGVfZmFjdG9ycyBzZjsKKyAgaW50IHJkbXVsdCwgaWR4OworICBUaHJlYWRE
YXRhICp0ZCA9ICZjcGktPnRkOworICBNQUNST0JMT0NLICp4ID0gJnRkLT5tYjsKKyAgTUFDUk9C
TE9DS0QgKnhkID0gJngtPmVfbWJkOworICBpbnQgbWlfcm93LCBtaV9jb2w7CisKKyNpZiBDT05G
SUdfVlA5X0hJR0hCSVRERVBUSAorICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQxNl90LCBwcmVk
aWN0b3IxNlszMiAqIDMyICogM10pOworICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQ4X3QsIHBy
ZWRpY3RvcjhbMzIgKiAzMiAqIDNdKTsKKyAgdWludDhfdCAqcHJlZGljdG9yOworI2Vsc2UKKyAg
REVDTEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCBwcmVkaWN0b3JbMzIgKiAzMiAqIDNdKTsKKyNl
bmRpZgorICBERUNMQVJFX0FMSUdORUQoMTYsIGludDE2X3QsIHNyY19kaWZmWzMyICogMzJdKTsK
KyAgREVDTEFSRV9BTElHTkVEKDE2LCB0cmFuX2xvd190LCBjb2VmZlszMiAqIDMyXSk7CisgIERF
Q0xBUkVfQUxJR05FRCgxNiwgdHJhbl9sb3dfdCwgcWNvZWZmWzMyICogMzJdKTsKKyAgREVDTEFS
RV9BTElHTkVEKDE2LCB0cmFuX2xvd190LCBkcWNvZWZmWzMyICogMzJdKTsKKworICBjb25zdCBU
WF9TSVpFIHR4X3NpemUgPSBtYXhfdHhzaXplX2xvb2t1cFtic2l6ZV07CisgIGNvbnN0IGludCBt
aV9oZWlnaHQgPSBudW1fOHg4X2Jsb2Nrc19oaWdoX2xvb2t1cFtic2l6ZV07CisgIGNvbnN0IGlu
dCBtaV93aWR0aCA9IG51bV84eDhfYmxvY2tzX3dpZGVfbG9va3VwW2JzaXplXTsKKyAgaW50NjRf
dCByZWNvbl9lcnJvciwgc3NlOworI2lmIENPTkZJR19OT05fR1JFRURZX01WCisgIGludCBzcXVh
cmVfYmxvY2tfaWR4OworICBpbnQgcmZfaWR4OworI2VuZGlmCisKKyAgLy8gU2V0dXAgc2NhbGlu
ZyBmYWN0b3IKKyNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAorICB2cDlfc2V0dXBfc2NhbGVf
ZmFjdG9yc19mb3JfZnJhbWUoCisgICAgICAmc2YsIHRoaXNfZnJhbWUtPnlfY3JvcF93aWR0aCwg
dGhpc19mcmFtZS0+eV9jcm9wX2hlaWdodCwKKyAgICAgIHRoaXNfZnJhbWUtPnlfY3JvcF93aWR0
aCwgdGhpc19mcmFtZS0+eV9jcm9wX2hlaWdodCwKKyAgICAgIGNwaS0+Y29tbW9uLnVzZV9oaWdo
Yml0ZGVwdGgpOworCisgIGlmICh4ZC0+Y3VyX2J1Zi0+ZmxhZ3MgJiBZVjEyX0ZMQUdfSElHSEJJ
VERFUFRIKQorICAgIHByZWRpY3RvciA9IENPTlZFUlRfVE9fQllURVBUUihwcmVkaWN0b3IxNik7
CisgIGVsc2UKKyAgICBwcmVkaWN0b3IgPSBwcmVkaWN0b3I4OworI2Vsc2UKKyAgdnA5X3NldHVw
X3NjYWxlX2ZhY3RvcnNfZm9yX2ZyYW1lKAorICAgICAgJnNmLCB0aGlzX2ZyYW1lLT55X2Nyb3Bf
d2lkdGgsIHRoaXNfZnJhbWUtPnlfY3JvcF9oZWlnaHQsCisgICAgICB0aGlzX2ZyYW1lLT55X2Ny
b3Bfd2lkdGgsIHRoaXNfZnJhbWUtPnlfY3JvcF9oZWlnaHQpOworI2VuZGlmICAvLyBDT05GSUdf
VlA5X0hJR0hCSVRERVBUSAorCisgIC8vIFByZXBhcmUgcmVmZXJlbmNlIGZyYW1lIHBvaW50ZXJz
LiBJZiBhbnkgcmVmZXJlbmNlIGZyYW1lIHNsb3QgaXMKKyAgLy8gdW5hdmFpbGFibGUsIHRoZSBw
b2ludGVyIHdpbGwgYmUgc2V0IHRvIE51bGwuCisgIGZvciAoaWR4ID0gMDsgaWR4IDwgTUFYX0lO
VEVSX1JFRl9GUkFNRVM7ICsraWR4KSB7CisgICAgaW50IHJmX2lkeCA9IGdmX3BpY3R1cmVbZnJh
bWVfaWR4XS5yZWZfZnJhbWVbaWR4XTsKKyAgICBpZiAocmZfaWR4ICE9IC0xKSByZWZfZnJhbWVb
aWR4XSA9IGdmX3BpY3R1cmVbcmZfaWR4XS5mcmFtZTsKKyAgfQorCisgIHhkLT5taSA9IGNtLT5t
aV9ncmlkX3Zpc2libGU7CisgIHhkLT5taVswXSA9IGNtLT5taTsKKyAgeGQtPmN1cl9idWYgPSB0
aGlzX2ZyYW1lOworCisgIC8vIEdldCByZCBtdWx0aXBsaWVyIHNldCB1cC4KKyAgcmRtdWx0ID0g
dnA5X2NvbXB1dGVfcmRfbXVsdF9iYXNlZF9vbl9xaW5kZXgoY3BpLCB0cGxfZnJhbWUtPmJhc2Vf
cWluZGV4KTsKKyAgc2V0X2Vycm9yX3Blcl9iaXQoJmNwaS0+dGQubWIsIHJkbXVsdCk7CisgIHZw
OV9pbml0aWFsaXplX21lX2NvbnN0cyhjcGksICZjcGktPnRkLm1iLCB0cGxfZnJhbWUtPmJhc2Vf
cWluZGV4KTsKKworICB0cGxfZnJhbWUtPmlzX3ZhbGlkID0gMTsKKworICBjbS0+YmFzZV9xaW5k
ZXggPSB0cGxfZnJhbWUtPmJhc2VfcWluZGV4OworICB2cDlfZnJhbWVfaW5pdF9xdWFudGl6ZXIo
Y3BpKTsKKworI2lmIENPTkZJR19OT05fR1JFRURZX01WCisgIGZvciAoc3F1YXJlX2Jsb2NrX2lk
eCA9IDA7IHNxdWFyZV9ibG9ja19pZHggPCBTUVVBUkVfQkxPQ0tfU0laRVM7CisgICAgICAgKytz
cXVhcmVfYmxvY2tfaWR4KSB7CisgICAgQkxPQ0tfU0laRSBzcXVhcmVfYnNpemUgPSBzcXVhcmVf
YmxvY2tfaWR4X3RvX2JzaXplKHNxdWFyZV9ibG9ja19pZHgpOworICAgIGJ1aWxkX21vdGlvbl9m
aWVsZChjcGksIGZyYW1lX2lkeCwgcmVmX2ZyYW1lLCBzcXVhcmVfYnNpemUpOworICB9CisgIGZv
ciAocmZfaWR4ID0gMDsgcmZfaWR4IDwgTUFYX0lOVEVSX1JFRl9GUkFNRVM7ICsrcmZfaWR4KSB7
CisgICAgaW50IHJlZl9mcmFtZV9pZHggPSBnZl9waWN0dXJlW2ZyYW1lX2lkeF0ucmVmX2ZyYW1l
W3JmX2lkeF07CisgICAgaWYgKHJlZl9mcmFtZV9pZHggIT0gLTEpIHsKKyAgICAgIE1vdGlvbkZp
ZWxkICptb3Rpb25fZmllbGQgPSB2cDlfbW90aW9uX2ZpZWxkX2luZm9fZ2V0X21vdGlvbl9maWVs
ZCgKKyAgICAgICAgICAmY3BpLT5tb3Rpb25fZmllbGRfaW5mbywgZnJhbWVfaWR4LCByZl9pZHgs
IGJzaXplKTsKKyAgICAgIHByZWRpY3RfbXZfbW9kZV9hcnIoY3BpLCB4LCBnZl9waWN0dXJlLCBt
b3Rpb25fZmllbGQsIGZyYW1lX2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdHBsX2Zy
YW1lLCByZl9pZHgsIGJzaXplKTsKKyAgICB9CisgIH0KKyNlbmRpZgorCisgIGZvciAobWlfcm93
ID0gMDsgbWlfcm93IDwgY20tPm1pX3Jvd3M7IG1pX3JvdyArPSBtaV9oZWlnaHQpIHsKKyAgICBm
b3IgKG1pX2NvbCA9IDA7IG1pX2NvbCA8IGNtLT5taV9jb2xzOyBtaV9jb2wgKz0gbWlfd2lkdGgp
IHsKKyAgICAgIG1vZGVfZXN0aW1hdGlvbihjcGksIHgsIHhkLCAmc2YsIGdmX3BpY3R1cmUsIGZy
YW1lX2lkeCwgdHBsX2ZyYW1lLAorICAgICAgICAgICAgICAgICAgICAgIHNyY19kaWZmLCBjb2Vm
ZiwgcWNvZWZmLCBkcWNvZWZmLCBtaV9yb3csIG1pX2NvbCwgYnNpemUsCisgICAgICAgICAgICAg
ICAgICAgICAgdHhfc2l6ZSwgcmVmX2ZyYW1lLCBwcmVkaWN0b3IsICZyZWNvbl9lcnJvciwgJnNz
ZSk7CisgICAgICAvLyBNb3Rpb24gZmxvdyBkZXBlbmRlbmN5IGRpc3BlbnNlci4KKyAgICAgIHRw
bF9tb2RlbF9zdG9yZSh0cGxfZnJhbWUtPnRwbF9zdGF0c19wdHIsIG1pX3JvdywgbWlfY29sLCBi
c2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICB0cGxfZnJhbWUtPnN0cmlkZSk7CisKKyAgICAg
IHRwbF9tb2RlbF91cGRhdGUoY3BpLT50cGxfc3RhdHMsIHRwbF9mcmFtZS0+dHBsX3N0YXRzX3B0
ciwgbWlfcm93LCBtaV9jb2wsCisgICAgICAgICAgICAgICAgICAgICAgIGJzaXplKTsKKyAgICB9
CisgIH0KK30KKworI2lmIENPTkZJR19OT05fR1JFRURZX01WCisjZGVmaW5lIERVTVBfVFBMX1NU
QVRTIDAKKyNpZiBEVU1QX1RQTF9TVEFUUworc3RhdGljIHZvaWQgZHVtcF9idWYodWludDhfdCAq
YnVmLCBpbnQgc3RyaWRlLCBpbnQgcm93LCBpbnQgY29sLCBpbnQgaCwgaW50IHcpIHsKKyAgaW50
IGksIGo7CisgIHByaW50ZigiJWQgJWRcbiIsIGgsIHcpOworICBmb3IgKGkgPSAwOyBpIDwgaDsg
KytpKSB7CisgICAgZm9yIChqID0gMDsgaiA8IHc7ICsraikgeworICAgICAgcHJpbnRmKCIlZCAi
LCBidWZbKHJvdyArIGkpICogc3RyaWRlICsgY29sICsgal0pOworICAgIH0KKyAgfQorICBwcmlu
dGYoIlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfZnJhbWVfYnVmKGNvbnN0IFlWMTJfQlVG
RkVSX0NPTkZJRyAqZnJhbWVfYnVmKSB7CisgIGR1bXBfYnVmKGZyYW1lX2J1Zi0+eV9idWZmZXIs
IGZyYW1lX2J1Zi0+eV9zdHJpZGUsIDAsIDAsIGZyYW1lX2J1Zi0+eV9oZWlnaHQsCisgICAgICAg
ICAgIGZyYW1lX2J1Zi0+eV93aWR0aCk7CisgIGR1bXBfYnVmKGZyYW1lX2J1Zi0+dV9idWZmZXIs
IGZyYW1lX2J1Zi0+dXZfc3RyaWRlLCAwLCAwLAorICAgICAgICAgICBmcmFtZV9idWYtPnV2X2hl
aWdodCwgZnJhbWVfYnVmLT51dl93aWR0aCk7CisgIGR1bXBfYnVmKGZyYW1lX2J1Zi0+dl9idWZm
ZXIsIGZyYW1lX2J1Zi0+dXZfc3RyaWRlLCAwLCAwLAorICAgICAgICAgICBmcmFtZV9idWYtPnV2
X2hlaWdodCwgZnJhbWVfYnVmLT51dl93aWR0aCk7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfdHBs
X3N0YXRzKGNvbnN0IFZQOV9DT01QICpjcGksIGludCB0cGxfZ3JvdXBfZnJhbWVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0ZfR1JPVVAgKmdmX2dyb3VwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgR0ZfUElDVFVSRSAqZ2ZfcGljdHVyZSwgQkxPQ0tfU0la
RSBic2l6ZSkgeworICBpbnQgZnJhbWVfaWR4OworICBjb25zdCBWUDlfQ09NTU9OICpjbSA9ICZj
cGktPmNvbW1vbjsKKyAgaW50IHJmX2lkeDsKKyAgZm9yIChmcmFtZV9pZHggPSAxOyBmcmFtZV9p
ZHggPCB0cGxfZ3JvdXBfZnJhbWVzOyArK2ZyYW1lX2lkeCkgeworICAgIGZvciAocmZfaWR4ID0g
MDsgcmZfaWR4IDwgTUFYX0lOVEVSX1JFRl9GUkFNRVM7ICsrcmZfaWR4KSB7CisgICAgICBjb25z
dCBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lID0gJmNwaS0+dHBsX3N0YXRzW2ZyYW1lX2lkeF07Cisg
ICAgICBpbnQgbWlfcm93LCBtaV9jb2w7CisgICAgICBpbnQgcmVmX2ZyYW1lX2lkeDsKKyAgICAg
IGNvbnN0IGludCBtaV9oZWlnaHQgPSBudW1fOHg4X2Jsb2Nrc19oaWdoX2xvb2t1cFtic2l6ZV07
CisgICAgICBjb25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFti
c2l6ZV07CisgICAgICByZWZfZnJhbWVfaWR4ID0gZ2ZfcGljdHVyZVtmcmFtZV9pZHhdLnJlZl9m
cmFtZVtyZl9pZHhdOworICAgICAgaWYgKHJlZl9mcmFtZV9pZHggIT0gLTEpIHsKKyAgICAgICAg
WVYxMl9CVUZGRVJfQ09ORklHICpyZWZfZnJhbWVfYnVmID0gZ2ZfcGljdHVyZVtyZWZfZnJhbWVf
aWR4XS5mcmFtZTsKKyAgICAgICAgY29uc3QgaW50IGdmX2ZyYW1lX29mZnNldCA9IGdmX2dyb3Vw
LT5mcmFtZV9nb3BfaW5kZXhbZnJhbWVfaWR4XTsKKyAgICAgICAgY29uc3QgaW50IHJlZl9nZl9m
cmFtZV9vZmZzZXQgPQorICAgICAgICAgICAgZ2ZfZ3JvdXAtPmZyYW1lX2dvcF9pbmRleFtyZWZf
ZnJhbWVfaWR4XTsKKyAgICAgICAgcHJpbnRmKCI9XG4iKTsKKyAgICAgICAgcHJpbnRmKAorICAg
ICAgICAgICAgImZyYW1lX2lkeCAlZCBtaV9yb3dzICVkIG1pX2NvbHMgJWQgYnNpemUgJWQgcmVm
X2ZyYW1lX2lkeCAlZCAiCisgICAgICAgICAgICAicmZfaWR4ICVkIGdmX2ZyYW1lX29mZnNldCAl
ZCByZWZfZ2ZfZnJhbWVfb2Zmc2V0ICVkXG4iLAorICAgICAgICAgICAgZnJhbWVfaWR4LCBjbS0+
bWlfcm93cywgY20tPm1pX2NvbHMsIG1pX3dpZHRoICogTUlfU0laRSwKKyAgICAgICAgICAgIHJl
Zl9mcmFtZV9pZHgsIHJmX2lkeCwgZ2ZfZnJhbWVfb2Zmc2V0LCByZWZfZ2ZfZnJhbWVfb2Zmc2V0
KTsKKyAgICAgICAgZm9yIChtaV9yb3cgPSAwOyBtaV9yb3cgPCBjbS0+bWlfcm93czsgKyttaV9y
b3cpIHsKKyAgICAgICAgICBmb3IgKG1pX2NvbCA9IDA7IG1pX2NvbCA8IGNtLT5taV9jb2xzOyAr
K21pX2NvbCkgeworICAgICAgICAgICAgaWYgKChtaV9yb3cgJSBtaV9oZWlnaHQpID09IDAgJiYg
KG1pX2NvbCAlIG1pX3dpZHRoKSA9PSAwKSB7CisgICAgICAgICAgICAgIGludF9tdiBtdiA9IHZw
OV9tb3Rpb25fZmllbGRfaW5mb19nZXRfbXYoJmNwaS0+bW90aW9uX2ZpZWxkX2luZm8sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVf
aWR4LCByZl9pZHgsIGJzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1pX3JvdywgbWlfY29sKTsKKyAgICAgICAgICAgICAgcHJpbnRm
KCIlZCAlZCAlZCAlZFxuIiwgbWlfcm93LCBtaV9jb2wsIG12LmFzX212LnJvdywKKyAgICAgICAg
ICAgICAgICAgICAgIG12LmFzX212LmNvbCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIGZvciAobWlfcm93ID0gMDsgbWlfcm93IDwgY20tPm1pX3Jvd3M7
ICsrbWlfcm93KSB7CisgICAgICAgICAgZm9yIChtaV9jb2wgPSAwOyBtaV9jb2wgPCBjbS0+bWlf
Y29sczsgKyttaV9jb2wpIHsKKyAgICAgICAgICAgIGlmICgobWlfcm93ICUgbWlfaGVpZ2h0KSA9
PSAwICYmIChtaV9jb2wgJSBtaV93aWR0aCkgPT0gMCkgeworICAgICAgICAgICAgICBjb25zdCBU
cGxEZXBTdGF0cyAqdHBsX3B0ciA9CisgICAgICAgICAgICAgICAgICAmdHBsX2ZyYW1lCisgICAg
ICAgICAgICAgICAgICAgICAgIC0+dHBsX3N0YXRzX3B0clttaV9yb3cgKiB0cGxfZnJhbWUtPnN0
cmlkZSArIG1pX2NvbF07CisgICAgICAgICAgICAgIHByaW50ZigiJWYgIiwgdHBsX3B0ci0+ZmVh
dHVyZV9zY29yZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICAgIHByaW50ZigiXG4iKTsKKworICAgICAgICBmb3IgKG1pX3JvdyA9IDA7IG1pX3JvdyA8IGNt
LT5taV9yb3dzOyBtaV9yb3cgKz0gbWlfaGVpZ2h0KSB7CisgICAgICAgICAgZm9yIChtaV9jb2wg
PSAwOyBtaV9jb2wgPCBjbS0+bWlfY29sczsgbWlfY29sICs9IG1pX3dpZHRoKSB7CisgICAgICAg
ICAgICBjb25zdCBpbnQgbXZfbW9kZSA9CisgICAgICAgICAgICAgICAgdHBsX2ZyYW1lCisgICAg
ICAgICAgICAgICAgICAgIC0+bXZfbW9kZV9hcnJbcmZfaWR4XVttaV9yb3cgKiB0cGxfZnJhbWUt
PnN0cmlkZSArIG1pX2NvbF07CisgICAgICAgICAgICBwcmludGYoIiVkICIsIG12X21vZGUpOwor
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBwcmludGYoIlxuIik7CisKKyAgICAgICAg
ZHVtcF9mcmFtZV9idWYoZ2ZfcGljdHVyZVtmcmFtZV9pZHhdLmZyYW1lKTsKKyAgICAgICAgZHVt
cF9mcmFtZV9idWYocmVmX2ZyYW1lX2J1Zik7CisgICAgICB9CisgICAgfQorICB9Cit9CisjZW5k
aWYgIC8vIERVTVBfVFBMX1NUQVRTCisjZW5kaWYgIC8vIENPTkZJR19OT05fR1JFRURZX01WCisK
K3N0YXRpYyB2b2lkIGluaXRfdHBsX2J1ZmZlcihWUDlfQ09NUCAqY3BpKSB7CisgIFZQOV9DT01N
T04gKmNtID0gJmNwaS0+Y29tbW9uOworICBpbnQgZnJhbWU7CisKKyAgY29uc3QgaW50IG1pX2Nv
bHMgPSBtaV9jb2xzX2FsaWduZWRfdG9fc2IoY20tPm1pX2NvbHMpOworICBjb25zdCBpbnQgbWlf
cm93cyA9IG1pX2NvbHNfYWxpZ25lZF90b19zYihjbS0+bWlfcm93cyk7CisjaWYgQ09ORklHX05P
Tl9HUkVFRFlfTVYKKyAgaW50IHJmX2lkeDsKKworICB2cHhfZnJlZShjcGktPnNlbGVjdF9tdl9h
cnIpOworICBDSEVDS19NRU1fRVJST1IoCisgICAgICBjbSwgY3BpLT5zZWxlY3RfbXZfYXJyLAor
ICAgICAgdnB4X2NhbGxvYyhtaV9yb3dzICogbWlfY29scyAqIDQsIHNpemVvZigqY3BpLT5zZWxl
Y3RfbXZfYXJyKSkpOworI2VuZGlmCisKKyAgLy8gVE9ETyhqaW5nbmluZyk6IFJlZHVjZSB0aGUg
YWN0dWFsIG1lbW9yeSB1c2UgZm9yIHRwbCBtb2RlbCBidWlsZCB1cC4KKyAgZm9yIChmcmFtZSA9
IDA7IGZyYW1lIDwgTUFYX0FSRl9HT1BfU0laRTsgKytmcmFtZSkgeworICAgIGlmIChjcGktPnRw
bF9zdGF0c1tmcmFtZV0ud2lkdGggPj0gbWlfY29scyAmJgorICAgICAgICBjcGktPnRwbF9zdGF0
c1tmcmFtZV0uaGVpZ2h0ID49IG1pX3Jvd3MgJiYKKyAgICAgICAgY3BpLT50cGxfc3RhdHNbZnJh
bWVdLnRwbF9zdGF0c19wdHIpCisgICAgICBjb250aW51ZTsKKworI2lmIENPTkZJR19OT05fR1JF
RURZX01WCisgICAgZm9yIChyZl9pZHggPSAwOyByZl9pZHggPCBNQVhfSU5URVJfUkVGX0ZSQU1F
UzsgKytyZl9pZHgpIHsKKyAgICAgIHZweF9mcmVlKGNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5tdl9t
b2RlX2FycltyZl9pZHhdKTsKKyAgICAgIENIRUNLX01FTV9FUlJPUigKKyAgICAgICAgICBjbSwg
Y3BpLT50cGxfc3RhdHNbZnJhbWVdLm12X21vZGVfYXJyW3JmX2lkeF0sCisgICAgICAgICAgdnB4
X2NhbGxvYyhtaV9yb3dzICogbWlfY29scyAqIDQsCisgICAgICAgICAgICAgICAgICAgICBzaXpl
b2YoKmNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5tdl9tb2RlX2FycltyZl9pZHhdKSkpOworICAgICAg
dnB4X2ZyZWUoY3BpLT50cGxfc3RhdHNbZnJhbWVdLnJkX2RpZmZfYXJyW3JmX2lkeF0pOworICAg
ICAgQ0hFQ0tfTUVNX0VSUk9SKAorICAgICAgICAgIGNtLCBjcGktPnRwbF9zdGF0c1tmcmFtZV0u
cmRfZGlmZl9hcnJbcmZfaWR4XSwKKyAgICAgICAgICB2cHhfY2FsbG9jKG1pX3Jvd3MgKiBtaV9j
b2xzICogNCwKKyAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqY3BpLT50cGxfc3RhdHNbZnJh
bWVdLnJkX2RpZmZfYXJyW3JmX2lkeF0pKSk7CisgICAgfQorI2VuZGlmCisgICAgdnB4X2ZyZWUo
Y3BpLT50cGxfc3RhdHNbZnJhbWVdLnRwbF9zdGF0c19wdHIpOworICAgIENIRUNLX01FTV9FUlJP
UihjbSwgY3BpLT50cGxfc3RhdHNbZnJhbWVdLnRwbF9zdGF0c19wdHIsCisgICAgICAgICAgICAg
ICAgICAgIHZweF9jYWxsb2MobWlfcm93cyAqIG1pX2NvbHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2l6ZW9mKCpjcGktPnRwbF9zdGF0c1tmcmFtZV0udHBsX3N0YXRzX3B0cikp
KTsKKyAgICBjcGktPnRwbF9zdGF0c1tmcmFtZV0uaXNfdmFsaWQgPSAwOworICAgIGNwaS0+dHBs
X3N0YXRzW2ZyYW1lXS53aWR0aCA9IG1pX2NvbHM7CisgICAgY3BpLT50cGxfc3RhdHNbZnJhbWVd
LmhlaWdodCA9IG1pX3Jvd3M7CisgICAgY3BpLT50cGxfc3RhdHNbZnJhbWVdLnN0cmlkZSA9IG1p
X2NvbHM7CisgICAgY3BpLT50cGxfc3RhdHNbZnJhbWVdLm1pX3Jvd3MgPSBjbS0+bWlfcm93czsK
KyAgICBjcGktPnRwbF9zdGF0c1tmcmFtZV0ubWlfY29scyA9IGNtLT5taV9jb2xzOworICB9CisK
KyAgZm9yIChmcmFtZSA9IDA7IGZyYW1lIDwgUkVGX0ZSQU1FUzsgKytmcmFtZSkgeworICAgIGNw
aS0+ZW5jX2ZyYW1lX2J1ZltmcmFtZV0ubWVtX3ZhbGlkID0gMDsKKyAgICBjcGktPmVuY19mcmFt
ZV9idWZbZnJhbWVdLnJlbGVhc2VkID0gMTsKKyAgfQorfQorCitzdGF0aWMgdm9pZCBmcmVlX3Rw
bF9idWZmZXIoVlA5X0NPTVAgKmNwaSkgeworICBpbnQgZnJhbWU7CisjaWYgQ09ORklHX05PTl9H
UkVFRFlfTVYKKyAgdnA5X2ZyZWVfbW90aW9uX2ZpZWxkX2luZm8oJmNwaS0+bW90aW9uX2ZpZWxk
X2luZm8pOworICB2cHhfZnJlZShjcGktPnNlbGVjdF9tdl9hcnIpOworI2VuZGlmCisgIGZvciAo
ZnJhbWUgPSAwOyBmcmFtZSA8IE1BWF9BUkZfR09QX1NJWkU7ICsrZnJhbWUpIHsKKyNpZiBDT05G
SUdfTk9OX0dSRUVEWV9NVgorICAgIGludCByZl9pZHg7CisgICAgZm9yIChyZl9pZHggPSAwOyBy
Zl9pZHggPCBNQVhfSU5URVJfUkVGX0ZSQU1FUzsgKytyZl9pZHgpIHsKKyAgICAgIHZweF9mcmVl
KGNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5tdl9tb2RlX2FycltyZl9pZHhdKTsKKyAgICAgIHZweF9m
cmVlKGNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5yZF9kaWZmX2FycltyZl9pZHhdKTsKKyAgICB9Cisj
ZW5kaWYKKyAgICB2cHhfZnJlZShjcGktPnRwbF9zdGF0c1tmcmFtZV0udHBsX3N0YXRzX3B0cik7
CisgICAgY3BpLT50cGxfc3RhdHNbZnJhbWVdLmlzX3ZhbGlkID0gMDsKKyAgfQorfQorCisjaWYg
Q09ORklHX1JBVEVfQ1RSTAorc3RhdGljIHZvaWQgYWNjdW11bGF0ZV9mcmFtZV90cGxfc3RhdHMo
VlA5X0NPTVAgKmNwaSkgeworICBWUDlfQ09NTU9OICpjb25zdCBjbSA9ICZjcGktPmNvbW1vbjsK
KyAgY29uc3QgR0ZfR1JPVVAgKmdmX2dyb3VwID0gJmNwaS0+dHdvcGFzcy5nZl9ncm91cDsKKyAg
aW50IHNob3dfZnJhbWVfY291bnQgPSAwOworICBpbnQgZnJhbWVfaWR4OworICAvLyBBY2N1bXVs
YXRlIHRwbCBzdGF0cyBmb3IgZWFjaCBmcmFtZSBpbiB0aGUgY3VycmVudCBncm91cCBvZiBwaWN0
dXJlLgorICBmb3IgKGZyYW1lX2lkeCA9IDE7IGZyYW1lX2lkeCA8IGdmX2dyb3VwLT5nZl9ncm91
cF9zaXplOyArK2ZyYW1lX2lkeCkgeworICAgIFRwbERlcEZyYW1lICp0cGxfZnJhbWUgPSAmY3Bp
LT50cGxfc3RhdHNbZnJhbWVfaWR4XTsKKyAgICBUcGxEZXBTdGF0cyAqdHBsX3N0YXRzID0gdHBs
X2ZyYW1lLT50cGxfc3RhdHNfcHRyOworICAgIGNvbnN0IGludCB0cGxfc3RyaWRlID0gdHBsX2Zy
YW1lLT5zdHJpZGU7CisgICAgaW50NjRfdCBpbnRyYV9jb3N0X2Jhc2UgPSAwOworICAgIGludDY0
X3QgaW50ZXJfY29zdF9iYXNlID0gMDsKKyAgICBpbnQ2NF90IG1jX2RlcF9jb3N0X2Jhc2UgPSAw
OworICAgIGludDY0X3QgbWNfcmVmX2Nvc3RfYmFzZSA9IDA7CisgICAgaW50NjRfdCBtY19mbG93
X2Jhc2UgPSAwOworICAgIGludCByb3csIGNvbDsKKworICAgIGlmICghdHBsX2ZyYW1lLT5pc192
YWxpZCkgY29udGludWU7CisKKyAgICBmb3IgKHJvdyA9IDA7IHJvdyA8IGNtLT5taV9yb3dzICYm
IHRwbF9mcmFtZS0+aXNfdmFsaWQ7ICsrcm93KSB7CisgICAgICBmb3IgKGNvbCA9IDA7IGNvbCA8
IGNtLT5taV9jb2xzOyArK2NvbCkgeworICAgICAgICBUcGxEZXBTdGF0cyAqdGhpc19zdGF0cyA9
ICZ0cGxfc3RhdHNbcm93ICogdHBsX3N0cmlkZSArIGNvbF07CisgICAgICAgIGludHJhX2Nvc3Rf
YmFzZSArPSB0aGlzX3N0YXRzLT5pbnRyYV9jb3N0OworICAgICAgICBpbnRlcl9jb3N0X2Jhc2Ug
Kz0gdGhpc19zdGF0cy0+aW50ZXJfY29zdDsKKyAgICAgICAgbWNfZGVwX2Nvc3RfYmFzZSArPSB0
aGlzX3N0YXRzLT5tY19kZXBfY29zdDsKKyAgICAgICAgbWNfcmVmX2Nvc3RfYmFzZSArPSB0aGlz
X3N0YXRzLT5tY19yZWZfY29zdDsKKyAgICAgICAgbWNfZmxvd19iYXNlICs9IHRoaXNfc3RhdHMt
Pm1jX2Zsb3c7CisgICAgICB9CisgICAgfQorCisgICAgY3BpLT50cGxfc3RhdHNfaW5mb1tzaG93
X2ZyYW1lX2NvdW50XS5pbnRyYV9jb3N0ID0gaW50cmFfY29zdF9iYXNlOworICAgIGNwaS0+dHBs
X3N0YXRzX2luZm9bc2hvd19mcmFtZV9jb3VudF0uaW50ZXJfY29zdCA9IGludGVyX2Nvc3RfYmFz
ZTsKKyAgICBjcGktPnRwbF9zdGF0c19pbmZvW3Nob3dfZnJhbWVfY291bnRdLm1jX2RlcF9jb3N0
ID0gbWNfZGVwX2Nvc3RfYmFzZTsKKyAgICBjcGktPnRwbF9zdGF0c19pbmZvW3Nob3dfZnJhbWVf
Y291bnRdLm1jX3JlZl9jb3N0ID0gbWNfcmVmX2Nvc3RfYmFzZTsKKyAgICBjcGktPnRwbF9zdGF0
c19pbmZvW3Nob3dfZnJhbWVfY291bnRdLm1jX2Zsb3cgPSBtY19mbG93X2Jhc2U7CisKKyAgICAr
K3Nob3dfZnJhbWVfY291bnQ7CisgIH0KK30KKyNlbmRpZiAgLy8gQ09ORklHX1JBVEVfQ1RSTAor
CitzdGF0aWMgdm9pZCBzZXR1cF90cGxfc3RhdHMoVlA5X0NPTVAgKmNwaSkgeworICBHRl9QSUNU
VVJFIGdmX3BpY3R1cmVbTUFYX0FSRl9HT1BfU0laRV07CisgIGNvbnN0IEdGX0dST1VQICpnZl9n
cm91cCA9ICZjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXA7CisgIGludCB0cGxfZ3JvdXBfZnJhbWVzID0g
MDsKKyAgaW50IGZyYW1lX2lkeDsKKyAgY3BpLT50cGxfYnNpemUgPSBCTE9DS18zMlgzMjsKKwor
ICBpbml0X2dvcF9mcmFtZXMoY3BpLCBnZl9waWN0dXJlLCBnZl9ncm91cCwgJnRwbF9ncm91cF9m
cmFtZXMpOworCisgIGluaXRfdHBsX3N0YXRzKGNwaSk7CisKKyAgLy8gQmFja3dhcmQgcHJvcGFn
YXRpb24gZnJvbSB0cGxfZ3JvdXBfZnJhbWVzIHRvIDEuCisgIGZvciAoZnJhbWVfaWR4ID0gdHBs
X2dyb3VwX2ZyYW1lcyAtIDE7IGZyYW1lX2lkeCA+IDA7IC0tZnJhbWVfaWR4KSB7CisgICAgaWYg
KGdmX3BpY3R1cmVbZnJhbWVfaWR4XS51cGRhdGVfdHlwZSA9PSBVU0VfQlVGX0ZSQU1FKSBjb250
aW51ZTsKKyAgICBtY19mbG93X2Rpc3BlbnNlcihjcGksIGdmX3BpY3R1cmUsIGZyYW1lX2lkeCwg
Y3BpLT50cGxfYnNpemUpOworICB9CisjaWYgQ09ORklHX05PTl9HUkVFRFlfTVYKKyAgY3BpLT50
cGxfcmVhZHkgPSAxOworI2lmIERVTVBfVFBMX1NUQVRTCisgIGR1bXBfdHBsX3N0YXRzKGNwaSwg
dHBsX2dyb3VwX2ZyYW1lcywgZ2ZfZ3JvdXAsIGdmX3BpY3R1cmUsIGNwaS0+dHBsX2JzaXplKTsK
KyNlbmRpZiAgLy8gRFVNUF9UUExfU1RBVFMKKyNlbmRpZiAgLy8gQ09ORklHX05PTl9HUkVFRFlf
TVYKKworI2lmIENPTkZJR19SQVRFX0NUUkwKKyAgYWNjdW11bGF0ZV9mcmFtZV90cGxfc3RhdHMo
Y3BpKTsKKyNlbmRpZiAgLy8gQ09ORklHX1JBVEVfQ1RSTAorfQorCit2b2lkIHZwOV9nZXRfcmVm
X2ZyYW1lX2luZm8oRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUsIGludCByZWZfZnJhbWVf
ZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVmQ250QnVmZmVyICpyZWZfZnJh
bWVfYnVmc1tNQVhfSU5URVJfUkVGX0ZSQU1FU10sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50ICpyZWZfZnJhbWVfY29kaW5nX2luZGV4ZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50ICpyZWZfZnJhbWVfdmFsaWRfbGlzdCkgeworICBpZiAodXBkYXRlX3R5cGUgIT0g
S0ZfVVBEQVRFKSB7CisgICAgY29uc3QgVlA5X1JFRkZSQU1FIGludGVyX3JlZl9mbGFnc1tNQVhf
SU5URVJfUkVGX0ZSQU1FU10gPSB7IFZQOV9MQVNUX0ZMQUcsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZQOV9HT0xEX0ZM
QUcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZQOV9BTFRfRkxBRyB9OworICAgIGludCBpOworICAgIGZvciAoaSA9IDA7
IGkgPCBNQVhfSU5URVJfUkVGX0ZSQU1FUzsgKytpKSB7CisgICAgICBhc3NlcnQocmVmX2ZyYW1l
X2J1ZnNbaV0gIT0gTlVMTCk7CisgICAgICByZWZfZnJhbWVfY29kaW5nX2luZGV4ZXNbaV0gPSBy
ZWZfZnJhbWVfYnVmc1tpXS0+ZnJhbWVfY29kaW5nX2luZGV4OwogICAgICAgcmVmX2ZyYW1lX3Zh
bGlkX2xpc3RbaV0gPSAocmVmX2ZyYW1lX2ZsYWdzICYgaW50ZXJfcmVmX2ZsYWdzW2ldKSAhPSAw
OwogICAgIH0KICAgfSBlbHNlIHsKQEAgLTYzMzQsNiArNzUxMiwyMDYgQEAgdm9pZCB2cDlfZ2V0
X3JlZl9mcmFtZV9pbmZvKEZSQU1FX1VQREFURV9UWVBFIHVwZGF0ZV90eXBlLCBpbnQgcmVmX2Zy
YW1lX2ZsYWdzLAogICB9CiB9CiAKKyNpZiAhQ09ORklHX1JFQUxUSU1FX09OTFkKKyNpZiBDT05G
SUdfUkFURV9DVFJMCitzdGF0aWMgdm9pZCBjb3B5X2ZyYW1lX2NvdW50cyhjb25zdCBGUkFNRV9D
T1VOVFMgKmlucHV0X2NvdW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSQU1F
X0NPVU5UUyAqb3V0cHV0X2NvdW50cykgeworICBpbnQgaSwgaiwgaywgbCwgbSwgbjsKKyAgZm9y
IChpID0gMDsgaSA8IEJMT0NLX1NJWkVfR1JPVVBTOyArK2kpIHsKKyAgICBmb3IgKGogPSAwOyBq
IDwgSU5UUkFfTU9ERVM7ICsraikgeworICAgICAgb3V0cHV0X2NvdW50cy0+eV9tb2RlW2ldW2pd
ID0gaW5wdXRfY291bnRzLT55X21vZGVbaV1bal07CisgICAgfQorICB9CisgIGZvciAoaSA9IDA7
IGkgPCBJTlRSQV9NT0RFUzsgKytpKSB7CisgICAgZm9yIChqID0gMDsgaiA8IElOVFJBX01PREVT
OyArK2opIHsKKyAgICAgIG91dHB1dF9jb3VudHMtPnV2X21vZGVbaV1bal0gPSBpbnB1dF9jb3Vu
dHMtPnV2X21vZGVbaV1bal07CisgICAgfQorICB9CisgIGZvciAoaSA9IDA7IGkgPCBQQVJUSVRJ
T05fQ09OVEVYVFM7ICsraSkgeworICAgIGZvciAoaiA9IDA7IGogPCBQQVJUSVRJT05fVFlQRVM7
ICsraikgeworICAgICAgb3V0cHV0X2NvdW50cy0+cGFydGl0aW9uW2ldW2pdID0gaW5wdXRfY291
bnRzLT5wYXJ0aXRpb25baV1bal07CisgICAgfQorICB9CisgIGZvciAoaSA9IDA7IGkgPCBUWF9T
SVpFUzsgKytpKSB7CisgICAgZm9yIChqID0gMDsgaiA8IFBMQU5FX1RZUEVTOyArK2opIHsKKyAg
ICAgIGZvciAoayA9IDA7IGsgPCBSRUZfVFlQRVM7ICsraykgeworICAgICAgICBmb3IgKGwgPSAw
OyBsIDwgQ09FRl9CQU5EUzsgKytsKSB7CisgICAgICAgICAgZm9yIChtID0gMDsgbSA8IENPRUZG
X0NPTlRFWFRTOyArK20pIHsKKyAgICAgICAgICAgIG91dHB1dF9jb3VudHMtPmVvYl9icmFuY2hb
aV1bal1ba11bbF1bbV0gPQorICAgICAgICAgICAgICAgIGlucHV0X2NvdW50cy0+ZW9iX2JyYW5j
aFtpXVtqXVtrXVtsXVttXTsKKyAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBVTkNPTlNUUkFJ
TkVEX05PREVTICsgMTsgKytuKSB7CisgICAgICAgICAgICAgIG91dHB1dF9jb3VudHMtPmNvZWZb
aV1bal1ba11bbF1bbV1bbl0gPQorICAgICAgICAgICAgICAgICAgaW5wdXRfY291bnRzLT5jb2Vm
W2ldW2pdW2tdW2xdW21dW25dOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgfQorICAgIH0KKyAgfQorICBmb3IgKGkgPSAwOyBpIDwgU1dJVENIQUJMRV9GSUxU
RVJfQ09OVEVYVFM7ICsraSkgeworICAgIGZvciAoaiA9IDA7IGogPCBTV0lUQ0hBQkxFX0ZJTFRF
UlM7ICsraikgeworICAgICAgb3V0cHV0X2NvdW50cy0+c3dpdGNoYWJsZV9pbnRlcnBbaV1bal0g
PQorICAgICAgICAgIGlucHV0X2NvdW50cy0+c3dpdGNoYWJsZV9pbnRlcnBbaV1bal07CisgICAg
fQorICB9CisgIGZvciAoaSA9IDA7IGkgPCBJTlRFUl9NT0RFX0NPTlRFWFRTOyArK2kpIHsKKyAg
ICBmb3IgKGogPSAwOyBqIDwgSU5URVJfTU9ERVM7ICsraikgeworICAgICAgb3V0cHV0X2NvdW50
cy0+aW50ZXJfbW9kZVtpXVtqXSA9IGlucHV0X2NvdW50cy0+aW50ZXJfbW9kZVtpXVtqXTsKKyAg
ICB9CisgIH0KKyAgZm9yIChpID0gMDsgaSA8IElOVFJBX0lOVEVSX0NPTlRFWFRTOyArK2kpIHsK
KyAgICBmb3IgKGogPSAwOyBqIDwgMjsgKytqKSB7CisgICAgICBvdXRwdXRfY291bnRzLT5pbnRy
YV9pbnRlcltpXVtqXSA9IGlucHV0X2NvdW50cy0+aW50cmFfaW50ZXJbaV1bal07CisgICAgfQor
ICB9CisgIGZvciAoaSA9IDA7IGkgPCBDT01QX0lOVEVSX0NPTlRFWFRTOyArK2kpIHsKKyAgICBm
b3IgKGogPSAwOyBqIDwgMjsgKytqKSB7CisgICAgICBvdXRwdXRfY291bnRzLT5jb21wX2ludGVy
W2ldW2pdID0gaW5wdXRfY291bnRzLT5jb21wX2ludGVyW2ldW2pdOworICAgIH0KKyAgfQorICBm
b3IgKGkgPSAwOyBpIDwgUkVGX0NPTlRFWFRTOyArK2kpIHsKKyAgICBmb3IgKGogPSAwOyBqIDwg
MjsgKytqKSB7CisgICAgICBmb3IgKGsgPSAwOyBrIDwgMjsgKytrKSB7CisgICAgICAgIG91dHB1
dF9jb3VudHMtPnNpbmdsZV9yZWZbaV1bal1ba10gPSBpbnB1dF9jb3VudHMtPnNpbmdsZV9yZWZb
aV1bal1ba107CisgICAgICB9CisgICAgfQorICB9CisgIGZvciAoaSA9IDA7IGkgPCBSRUZfQ09O
VEVYVFM7ICsraSkgeworICAgIGZvciAoaiA9IDA7IGogPCAyOyArK2opIHsKKyAgICAgIG91dHB1
dF9jb3VudHMtPmNvbXBfcmVmW2ldW2pdID0gaW5wdXRfY291bnRzLT5jb21wX3JlZltpXVtqXTsK
KyAgICB9CisgIH0KKyAgZm9yIChpID0gMDsgaSA8IFNLSVBfQ09OVEVYVFM7ICsraSkgeworICAg
IGZvciAoaiA9IDA7IGogPCAyOyArK2opIHsKKyAgICAgIG91dHB1dF9jb3VudHMtPnNraXBbaV1b
al0gPSBpbnB1dF9jb3VudHMtPnNraXBbaV1bal07CisgICAgfQorICB9CisgIGZvciAoaSA9IDA7
IGkgPCBUWF9TSVpFX0NPTlRFWFRTOyBpKyspIHsKKyAgICBmb3IgKGogPSAwOyBqIDwgVFhfU0la
RVM7IGorKykgeworICAgICAgb3V0cHV0X2NvdW50cy0+dHgucDMyeDMyW2ldW2pdID0gaW5wdXRf
Y291bnRzLT50eC5wMzJ4MzJbaV1bal07CisgICAgfQorICAgIGZvciAoaiA9IDA7IGogPCBUWF9T
SVpFUyAtIDE7IGorKykgeworICAgICAgb3V0cHV0X2NvdW50cy0+dHgucDE2eDE2W2ldW2pdID0g
aW5wdXRfY291bnRzLT50eC5wMTZ4MTZbaV1bal07CisgICAgfQorICAgIGZvciAoaiA9IDA7IGog
PCBUWF9TSVpFUyAtIDI7IGorKykgeworICAgICAgb3V0cHV0X2NvdW50cy0+dHgucDh4OFtpXVtq
XSA9IGlucHV0X2NvdW50cy0+dHgucDh4OFtpXVtqXTsKKyAgICB9CisgIH0KKyAgZm9yIChpID0g
MDsgaSA8IFRYX1NJWkVTOyBpKyspIHsKKyAgICBvdXRwdXRfY291bnRzLT50eC50eF90b3RhbHNb
aV0gPSBpbnB1dF9jb3VudHMtPnR4LnR4X3RvdGFsc1tpXTsKKyAgfQorICBmb3IgKGkgPSAwOyBp
IDwgTVZfSk9JTlRTOyBpKyspIHsKKyAgICBvdXRwdXRfY291bnRzLT5tdi5qb2ludHNbaV0gPSBp
bnB1dF9jb3VudHMtPm12LmpvaW50c1tpXTsKKyAgfQorICBmb3IgKGsgPSAwOyBrIDwgMjsgaysr
KSB7CisgICAgbm12X2NvbXBvbmVudF9jb3VudHMgKmNvbnN0IGNvbXBzID0gJm91dHB1dF9jb3Vu
dHMtPm12LmNvbXBzW2tdOworICAgIGNvbnN0IG5tdl9jb21wb25lbnRfY291bnRzICpjb25zdCBj
b21wc190ID0gJmlucHV0X2NvdW50cy0+bXYuY29tcHNba107CisgICAgZm9yIChpID0gMDsgaSA8
IDI7IGkrKykgeworICAgICAgY29tcHMtPnNpZ25baV0gPSBjb21wc190LT5zaWduW2ldOworICAg
ICAgY29tcHMtPmNsYXNzMF9ocFtpXSA9IGNvbXBzX3QtPmNsYXNzMF9ocFtpXTsKKyAgICAgIGNv
bXBzLT5ocFtpXSA9IGNvbXBzX3QtPmhwW2ldOworICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwg
TVZfQ0xBU1NFUzsgaSsrKSB7CisgICAgICBjb21wcy0+Y2xhc3Nlc1tpXSA9IGNvbXBzX3QtPmNs
YXNzZXNbaV07CisgICAgfQorICAgIGZvciAoaSA9IDA7IGkgPCBDTEFTUzBfU0laRTsgaSsrKSB7
CisgICAgICBjb21wcy0+Y2xhc3MwW2ldID0gY29tcHNfdC0+Y2xhc3MwW2ldOworICAgICAgZm9y
IChqID0gMDsgaiA8IE1WX0ZQX1NJWkU7IGorKykgeworICAgICAgICBjb21wcy0+Y2xhc3MwX2Zw
W2ldW2pdID0gY29tcHNfdC0+Y2xhc3MwX2ZwW2ldW2pdOworICAgICAgfQorICAgIH0KKyAgICBm
b3IgKGkgPSAwOyBpIDwgTVZfT0ZGU0VUX0JJVFM7IGkrKykgeworICAgICAgZm9yIChqID0gMDsg
aiA8IDI7IGorKykgeworICAgICAgICBjb21wcy0+Yml0c1tpXVtqXSA9IGNvbXBzX3QtPmJpdHNb
aV1bal07CisgICAgICB9CisgICAgfQorICAgIGZvciAoaSA9IDA7IGkgPCBNVl9GUF9TSVpFOyBp
KyspIHsKKyAgICAgIGNvbXBzLT5mcFtpXSA9IGNvbXBzX3QtPmZwW2ldOworICAgIH0KKyAgfQor
fQorCitzdGF0aWMgdm9pZCB5djEyX2J1ZmZlcl90b19pbWFnZV9idWZmZXIoY29uc3QgWVYxMl9C
VUZGRVJfQ09ORklHICp5djEyX2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJTUFHRV9CVUZGRVIgKmltYWdlX2J1ZmZlcikgeworICBjb25zdCB1aW50OF90
ICpzcmNfYnVmX2xzWzNdID0geyB5djEyX2J1ZmZlci0+eV9idWZmZXIsIHl2MTJfYnVmZmVyLT51
X2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeXYxMl9idWZmZXIt
PnZfYnVmZmVyIH07CisgIGNvbnN0IGludCBzcmNfc3RyaWRlX2xzWzNdID0geyB5djEyX2J1ZmZl
ci0+eV9zdHJpZGUsIHl2MTJfYnVmZmVyLT51dl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB5djEyX2J1ZmZlci0+dXZfc3RyaWRlIH07CisgIGNvbnN0IGludCB3X2xz
WzNdID0geyB5djEyX2J1ZmZlci0+eV9jcm9wX3dpZHRoLCB5djEyX2J1ZmZlci0+dXZfY3JvcF93
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHl2MTJfYnVmZmVyLT51dl9jcm9wX3dpZHRo
IH07CisgIGNvbnN0IGludCBoX2xzWzNdID0geyB5djEyX2J1ZmZlci0+eV9jcm9wX2hlaWdodCwg
eXYxMl9idWZmZXItPnV2X2Nyb3BfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgeXYx
Ml9idWZmZXItPnV2X2Nyb3BfaGVpZ2h0IH07CisgIGludCBwbGFuZTsKKyAgZm9yIChwbGFuZSA9
IDA7IHBsYW5lIDwgMzsgKytwbGFuZSkgeworICAgIGNvbnN0IGludCBzcmNfc3RyaWRlID0gc3Jj
X3N0cmlkZV9sc1twbGFuZV07CisgICAgY29uc3QgaW50IHcgPSB3X2xzW3BsYW5lXTsKKyAgICBj
b25zdCBpbnQgaCA9IGhfbHNbcGxhbmVdOworICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19idWYgPSBz
cmNfYnVmX2xzW3BsYW5lXTsKKyAgICB1aW50OF90ICpkc3RfYnVmID0gaW1hZ2VfYnVmZmVyLT5w
bGFuZV9idWZmZXJbcGxhbmVdOworICAgIGludCByOworICAgIGFzc2VydChpbWFnZV9idWZmZXIt
PnBsYW5lX3dpZHRoW3BsYW5lXSA9PSB3KTsKKyAgICBhc3NlcnQoaW1hZ2VfYnVmZmVyLT5wbGFu
ZV9oZWlnaHRbcGxhbmVdID09IGgpOworICAgIGZvciAociA9IDA7IHIgPCBoOyArK3IpIHsKKyAg
ICAgIG1lbWNweShkc3RfYnVmLCBzcmNfYnVmLCBzaXplb2YoKnNyY19idWYpICogdyk7CisgICAg
ICBzcmNfYnVmICs9IHNyY19zdHJpZGU7CisgICAgICBkc3RfYnVmICs9IHc7CisgICAgfQorICB9
Cit9CisjZW5kaWYgIC8vIENPTkZJR19SQVRFX0NUUkwKKworc3RhdGljIHZvaWQgdXBkYXRlX2Vu
Y29kZV9mcmFtZV9yZXN1bHQoCisgICAgaW50IHJlZl9mcmFtZV9mbGFncywgRlJBTUVfVVBEQVRF
X1RZUEUgdXBkYXRlX3R5cGUsCisgICAgY29uc3QgWVYxMl9CVUZGRVJfQ09ORklHICpzb3VyY2Vf
ZnJhbWUsIGNvbnN0IFJlZkNudEJ1ZmZlciAqY29kZWRfZnJhbWVfYnVmLAorICAgIFJlZkNudEJ1
ZmZlciAqcmVmX2ZyYW1lX2J1ZnNbTUFYX0lOVEVSX1JFRl9GUkFNRVNdLCBpbnQgcXVhbnRpemVf
aW5kZXgsCisgICAgdWludDMyX3QgYml0X2RlcHRoLCB1aW50MzJfdCBpbnB1dF9iaXRfZGVwdGgs
IGNvbnN0IEZSQU1FX0NPVU5UUyAqY291bnRzLAorI2lmIENPTkZJR19SQVRFX0NUUkwKKyAgICBj
b25zdCBQQVJUSVRJT05fSU5GTyAqcGFydGl0aW9uX2luZm8sCisgICAgY29uc3QgTU9USU9OX1ZF
Q1RPUl9JTkZPICptb3Rpb25fdmVjdG9yX2luZm8sCisgICAgY29uc3QgVHBsRGVwU3RhdHMgKnRw
bF9zdGF0c19pbmZvLAorI2VuZGlmICAvLyBDT05GSUdfUkFURV9DVFJMCisgICAgRU5DT0RFX0ZS
QU1FX1JFU1VMVCAqZW5jb2RlX2ZyYW1lX3Jlc3VsdCkgeworI2lmIENPTkZJR19SQVRFX0NUUkwK
KyAgUFNOUl9TVEFUUyBwc25yOworI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICisgIHZweF9j
YWxjX2hpZ2hiZF9wc25yKHNvdXJjZV9mcmFtZSwgJmNvZGVkX2ZyYW1lX2J1Zi0+YnVmLCAmcHNu
ciwgYml0X2RlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF9iaXRfZGVwdGgpOwor
I2Vsc2UgICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAorICAodm9pZCliaXRfZGVwdGg7Cisg
ICh2b2lkKWlucHV0X2JpdF9kZXB0aDsKKyAgdnB4X2NhbGNfcHNucihzb3VyY2VfZnJhbWUsICZj
b2RlZF9mcmFtZV9idWYtPmJ1ZiwgJnBzbnIpOworI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSAorICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5mcmFtZV9jb2RpbmdfaW5kZXggPSBjb2Rl
ZF9mcmFtZV9idWYtPmZyYW1lX2NvZGluZ19pbmRleDsKKworICB2cDlfZ2V0X3JlZl9mcmFtZV9p
bmZvKHVwZGF0ZV90eXBlLCByZWZfZnJhbWVfZmxhZ3MsIHJlZl9mcmFtZV9idWZzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGVuY29kZV9mcmFtZV9yZXN1bHQtPnJlZl9mcmFtZV9jb2Rpbmdf
aW5kZXhlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5y
ZWZfZnJhbWVfdmFsaWRfbGlzdCk7CisKKyAgZW5jb2RlX2ZyYW1lX3Jlc3VsdC0+cHNuciA9IHBz
bnIucHNuclswXTsKKyAgZW5jb2RlX2ZyYW1lX3Jlc3VsdC0+c3NlID0gcHNuci5zc2VbMF07Cisg
IGNvcHlfZnJhbWVfY291bnRzKGNvdW50cywgJmVuY29kZV9mcmFtZV9yZXN1bHQtPmZyYW1lX2Nv
dW50cyk7CisgIGVuY29kZV9mcmFtZV9yZXN1bHQtPnBhcnRpdGlvbl9pbmZvID0gcGFydGl0aW9u
X2luZm87CisgIGVuY29kZV9mcmFtZV9yZXN1bHQtPm1vdGlvbl92ZWN0b3JfaW5mbyA9IG1vdGlv
bl92ZWN0b3JfaW5mbzsKKyAgZW5jb2RlX2ZyYW1lX3Jlc3VsdC0+dHBsX3N0YXRzX2luZm8gPSB0
cGxfc3RhdHNfaW5mbzsKKyAgaWYgKGVuY29kZV9mcmFtZV9yZXN1bHQtPmNvZGVkX2ZyYW1lLmFs
bG9jYXRlZCkgeworICAgIHl2MTJfYnVmZmVyX3RvX2ltYWdlX2J1ZmZlcigmY29kZWRfZnJhbWVf
YnVmLT5idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlbmNvZGVfZnJhbWVf
cmVzdWx0LT5jb2RlZF9mcmFtZSk7CisgIH0KKyNlbHNlICAgLy8gQ09ORklHX1JBVEVfQ1RSTAor
ICAodm9pZClyZWZfZnJhbWVfZmxhZ3M7CisgICh2b2lkKWJpdF9kZXB0aDsKKyAgKHZvaWQpaW5w
dXRfYml0X2RlcHRoOworICAodm9pZClzb3VyY2VfZnJhbWU7CisgICh2b2lkKWNvZGVkX2ZyYW1l
X2J1ZjsKKyAgKHZvaWQpcmVmX2ZyYW1lX2J1ZnM7CisgICh2b2lkKWNvdW50czsKKyNlbmRpZiAg
Ly8gQ09ORklHX1JBVEVfQ1RSTAorICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5zaG93X2lkeCA9IGNv
ZGVkX2ZyYW1lX2J1Zi0+ZnJhbWVfaW5kZXg7CisgIGVuY29kZV9mcmFtZV9yZXN1bHQtPnVwZGF0
ZV90eXBlID0gdXBkYXRlX3R5cGU7CisgIGVuY29kZV9mcmFtZV9yZXN1bHQtPnF1YW50aXplX2lu
ZGV4ID0gcXVhbnRpemVfaW5kZXg7Cit9CisjZW5kaWYgIC8vICFDT05GSUdfUkVBTFRJTUVfT05M
WQorCiB2b2lkIHZwOV9pbml0X2VuY29kZV9mcmFtZV9yZXN1bHQoRU5DT0RFX0ZSQU1FX1JFU1VM
VCAqZW5jb2RlX2ZyYW1lX3Jlc3VsdCkgewogICBlbmNvZGVfZnJhbWVfcmVzdWx0LT5zaG93X2lk
eCA9IC0xOyAgLy8gQWN0dWFsIGVuY29kaW5nIGRvZXNuJ3QgaGFwcGVuLgogI2lmIENPTkZJR19S
QVRFX0NUUkwKQEAgLTYzNjAsMTIgKzc3MzgsOCBAQCBpbnQgdnA5X2dldF9jb21wcmVzc2VkX2Rh
dGEoVlA5X0NPTVAgKmNwaSwgdW5zaWduZWQgaW50ICpmcmFtZV9mbGFncywKICAgY29uc3QgaW50
IGdmX2dyb3VwX2luZGV4ID0gY3BpLT50d29wYXNzLmdmX2dyb3VwLmluZGV4OwogICBpbnQgaTsK
IAotI2lmIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgaWYgKG94Y2YtPnBhc3Mg
PT0gMikgc3RhcnRfdGltaW5nKGNwaSwgdnA5X2dldF9jb21wcmVzc2VkX2RhdGFfdGltZSk7Ci0j
ZW5kaWYKLQotICBpZiAoaXNfb25lX3Bhc3Nfc3ZjKGNwaSkpIHsKLSAgICB2cDlfb25lX3Bhc3Nf
c3ZjX3N0YXJ0X2xheWVyKGNwaSk7CisgIGlmIChpc19vbmVfcGFzc19jYnJfc3ZjKGNwaSkpIHsK
KyAgICB2cDlfb25lX3Bhc3NfY2JyX3N2Y19zdGFydF9sYXllcihjcGkpOwogICB9CiAKICAgdnB4
X3VzZWNfdGltZXJfc3RhcnQoJmNtcHRpbWVyKTsKQEAgLTYzODUsNyArNzc1OSw3IEBAIGludCB2
cDlfZ2V0X2NvbXByZXNzZWRfZGF0YShWUDlfQ09NUCAqY3BpLCB1bnNpZ25lZCBpbnQgKmZyYW1l
X2ZsYWdzLAogICAvLyBOb3JtYWwgZGVmYXVsdHMKICAgY20tPnJlc2V0X2ZyYW1lX2NvbnRleHQg
PSAwOwogICBjbS0+cmVmcmVzaF9mcmFtZV9jb250ZXh0ID0gMTsKLSAgaWYgKCFpc19vbmVfcGFz
c19zdmMoY3BpKSkgeworICBpZiAoIWlzX29uZV9wYXNzX2Nicl9zdmMoY3BpKSkgewogICAgIGNw
aS0+cmVmcmVzaF9sYXN0X2ZyYW1lID0gMTsKICAgICBjcGktPnJlZnJlc2hfZ29sZGVuX2ZyYW1l
ID0gMDsKICAgICBjcGktPnJlZnJlc2hfYWx0X3JlZl9mcmFtZSA9IDA7CkBAIC02NDI4LDE1ICs3
ODAyLDkgQEAgaW50IHZwOV9nZXRfY29tcHJlc3NlZF9kYXRhKFZQOV9DT01QICpjcGksIHVuc2ln
bmVkIGludCAqZnJhbWVfZmxhZ3MsCiAgICAgICAgIGludCBub3RfbGFzdF9mcmFtZSA9IChjcGkt
Pmxvb2thaGVhZC0+c3ogLSBhcmZfc3JjX2luZGV4ID4gMSk7CiAgICAgICAgIG5vdF9sYXN0X2Zy
YW1lIHw9IEFMVF9SRUZfQVFfQVBQTFlfVE9fTEFTVF9GUkFNRTsKIAotI2lmIENPTkZJR19DT0xM
RUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgICAgICAgc3RhcnRfdGltaW5nKGNwaSwgdnA5X3RlbXBv
cmFsX2ZpbHRlcl90aW1lKTsKLSNlbmRpZgogICAgICAgICAvLyBQcm9kdWNlIHRoZSBmaWx0ZXJl
ZCBBUkYgZnJhbWUuCiAgICAgICAgIHZwOV90ZW1wb3JhbF9maWx0ZXIoY3BpLCBhcmZfc3JjX2lu
ZGV4KTsKICAgICAgICAgdnB4X2V4dGVuZF9mcmFtZV9ib3JkZXJzKCZjcGktPmFsdF9yZWZfYnVm
ZmVyKTsKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0gICAgICAgIGVuZF90
aW1pbmcoY3BpLCB2cDlfdGVtcG9yYWxfZmlsdGVyX3RpbWUpOwotI2VuZGlmCiAKICAgICAgICAg
Ly8gZm9yIHNtYWxsIGJpdHJhdGVzIHNlZ21lbnRhdGlvbiBvdmVyaGVhZCB1c3VhbGx5CiAgICAg
ICAgIC8vIGVhdHMgYWxsIGJpdHJhdGUgZ2FpbiBmcm9tIGVuYWJsaW5nIGRlbHRhIHF1YW50aXpl
cnMKQEAgLTY1MjQsNyArNzg5Miw3IEBAIGludCB2cDlfZ2V0X2NvbXByZXNzZWRfZGF0YShWUDlf
Q09NUCAqY3BpLCB1bnNpZ25lZCBpbnQgKmZyYW1lX2ZsYWdzLAogICAgICAgYWRqdXN0X2ZyYW1l
X3JhdGUoY3BpLCBzb3VyY2UpOwogICB9CiAKLSAgaWYgKGlzX29uZV9wYXNzX3N2YyhjcGkpKSB7
CisgIGlmIChpc19vbmVfcGFzc19jYnJfc3ZjKGNwaSkpIHsKICAgICB2cDlfdXBkYXRlX3RlbXBv
cmFsX2xheWVyX2ZyYW1lcmF0ZShjcGkpOwogICAgIHZwOV9yZXN0b3JlX2xheWVyX2NvbnRleHQo
Y3BpKTsKICAgfQpAQCAtNjU1MCwxMyArNzkxOCw3IEBAIGludCB2cDlfZ2V0X2NvbXByZXNzZWRf
ZGF0YShWUDlfQ09NUCAqY3BpLCB1bnNpZ25lZCBpbnQgKmZyYW1lX2ZsYWdzLAogCiAjaWYgIUNP
TkZJR19SRUFMVElNRV9PTkxZCiAgIGlmICgob3hjZi0+cGFzcyA9PSAyKSAmJiAhY3BpLT51c2Vf
c3ZjKSB7Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgIHN0YXJ0X3Rp
bWluZyhjcGksIHZwOV9yY19nZXRfc2Vjb25kX3Bhc3NfcGFyYW1zX3RpbWUpOwotI2VuZGlmCiAg
ICAgdnA5X3JjX2dldF9zZWNvbmRfcGFzc19wYXJhbXMoY3BpKTsKLSNpZiBDT05GSUdfQ09MTEVD
VF9DT01QT05FTlRfVElNSU5HCi0gICAgZW5kX3RpbWluZyhjcGksIHZwOV9yY19nZXRfc2Vjb25k
X3Bhc3NfcGFyYW1zX3RpbWUpOwotI2VuZGlmCiAgIH0gZWxzZSBpZiAob3hjZi0+cGFzcyA9PSAx
KSB7CiAgICAgc2V0X2ZyYW1lX3NpemUoY3BpKTsKICAgfQpAQCAtNjU3Nyw3ICs3OTM5LDcgQEAg
aW50IHZwOV9nZXRfY29tcHJlc3NlZF9kYXRhKFZQOV9DT01QICpjcGksIHVuc2lnbmVkIGludCAq
ZnJhbWVfZmxhZ3MsCiAgICAgcHRocmVhZF9tdXRleF9pbml0KCZjcGktPmttZWFuc19tdXRleCwg
TlVMTCk7CiAjZW5kaWYKICAgICBDSEVDS19NRU1fRVJST1IoCi0gICAgICAgICZjbS0+ZXJyb3Is
IGNwaS0+a21lYW5zX2RhdGFfYXJyLAorICAgICAgICBjbSwgY3BpLT5rbWVhbnNfZGF0YV9hcnIs
CiAgICAgICAgIHZweF9jYWxsb2MobWlfcm93cyAqIG1pX2NvbHMsIHNpemVvZigqY3BpLT5rbWVh
bnNfZGF0YV9hcnIpKSk7CiAgICAgY3BpLT5rbWVhbnNfZGF0YV9zdHJpZGUgPSBtaV9jb2xzOwog
ICAgIGNwaS0+a21lYW5zX2RhdGFfYXJyX2FsbG9jID0gMTsKQEAgLTY1OTYsMTkgKzc5NTgsMTMg
QEAgaW50IHZwOV9nZXRfY29tcHJlc3NlZF9kYXRhKFZQOV9DT01QICpjcGksIHVuc2lnbmVkIGlu
dCAqZnJhbWVfZmxhZ3MsCiAgIH0KICNlbmRpZiAgLy8gQ09ORklHX05PTl9HUkVFRFlfTVYKIAot
I2lmIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgc3RhcnRfdGltaW5nKGNwaSwg
c2V0dXBfdHBsX3N0YXRzX3RpbWUpOwotI2VuZGlmCiAgIGlmIChnZl9ncm91cF9pbmRleCA9PSAx
ICYmCiAgICAgICBjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXAudXBkYXRlX3R5cGVbZ2ZfZ3JvdXBfaW5k
ZXhdID09IEFSRl9VUERBVEUgJiYKICAgICAgIGNwaS0+c2YuZW5hYmxlX3RwbF9tb2RlbCkgewot
ICAgIHZwOV9pbml0X3RwbF9idWZmZXIoY3BpKTsKKyAgICBpbml0X3RwbF9idWZmZXIoY3BpKTsK
ICAgICB2cDlfZXN0aW1hdGVfcXBfZ29wKGNwaSk7Ci0gICAgdnA5X3NldHVwX3RwbF9zdGF0cyhj
cGkpOworICAgIHNldHVwX3RwbF9zdGF0cyhjcGkpOwogICB9Ci0jaWYgQ09ORklHX0NPTExFQ1Rf
Q09NUE9ORU5UX1RJTUlORwotICBlbmRfdGltaW5nKGNwaSwgc2V0dXBfdHBsX3N0YXRzX3RpbWUp
OwotI2VuZGlmCiAKICNpZiBDT05GSUdfQklUU1RSRUFNX0RFQlVHCiAgIGFzc2VydChjcGktPm94
Y2YubWF4X3RocmVhZHMgPT0gMCAmJgpAQCAtNjY0NSwxNSArODAwMSw4IEBAIGludCB2cDlfZ2V0
X2NvbXByZXNzZWRfZGF0YShWUDlfQ09NUCAqY3BpLCB1bnNpZ25lZCBpbnQgKmZyYW1lX2ZsYWdz
LAogICAgIGNwaS0+dGQubWIuaW52X3R4Zm1fYWRkID0gbG9zc2xlc3MgPyB2cDlfaXdodDR4NF9h
ZGQgOiB2cDlfaWRjdDR4NF9hZGQ7CiAgICAgdnA5X2ZpcnN0X3Bhc3MoY3BpLCBzb3VyY2UpOwog
ICB9IGVsc2UgaWYgKG94Y2YtPnBhc3MgPT0gMiAmJiAhY3BpLT51c2Vfc3ZjKSB7Ci0jaWYgQ09O
RklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgIC8vIEFjY3VtdWxhdGUgMm5kIHBhc3Mg
dGltZSBpbiAyLXBhc3MgY2FzZS4KLSAgICBzdGFydF90aW1pbmcoY3BpLCBQYXNzMkVuY29kZV90
aW1lKTsKLSNlbmRpZgogICAgIFBhc3MyRW5jb2RlKGNwaSwgc2l6ZSwgZGVzdCwgZnJhbWVfZmxh
Z3MsIGVuY29kZV9mcmFtZV9yZXN1bHQpOwogICAgIHZwOV90d29wYXNzX3Bvc3RlbmNvZGVfdXBk
YXRlKGNwaSk7Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgIGVuZF90
aW1pbmcoY3BpLCBQYXNzMkVuY29kZV90aW1lKTsKLSNlbmRpZgogICB9IGVsc2UgaWYgKGNwaS0+
dXNlX3N2YykgewogICAgIFN2Y0VuY29kZShjcGksIHNpemUsIGRlc3QsIGZyYW1lX2ZsYWdzKTsK
ICAgfSBlbHNlIHsKQEAgLTY2NzcsMTUgKzgwMjYsMTIgQEAgaW50IHZwOV9nZXRfY29tcHJlc3Nl
ZF9kYXRhKFZQOV9DT01QICpjcGksIHVuc2lnbmVkIGludCAqZnJhbWVfZmxhZ3MsCiAgIH0KIAog
ICAvLyBTYXZlIGxheWVyIHNwZWNpZmljIHN0YXRlLgotICBpZiAoaXNfb25lX3Bhc3Nfc3ZjKGNw
aSkgfHwgKChjcGktPnN2Yy5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzID4gMSB8fAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjcGktPnN2Yy5udW1iZXJfc3BhdGlhbF9sYXllcnMgPiAx
KSAmJgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG94Y2YtPnBhc3MgPT0gMikpIHsK
KyAgaWYgKGlzX29uZV9wYXNzX2Nicl9zdmMoY3BpKSB8fCAoKGNwaS0+c3ZjLm51bWJlcl90ZW1w
b3JhbF9sYXllcnMgPiAxIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
cGktPnN2Yy5udW1iZXJfc3BhdGlhbF9sYXllcnMgPiAxKSAmJgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBveGNmLT5wYXNzID09IDIpKSB7CiAgICAgdnA5X3NhdmVfbGF5ZXJf
Y29udGV4dChjcGkpOwogICB9CiAKLSAgaWYgKGNwaS0+c3ZjLnNwYXRpYWxfbGF5ZXJfaWQgPT0g
Y3BpLT5zdmMubnVtYmVyX3NwYXRpYWxfbGF5ZXJzIC0gMSkKLSAgICBjcGktPmZpeGVkX3FwX29u
ZXBhc3MgPSAwOwotCiAgIHZweF91c2VjX3RpbWVyX21hcmsoJmNtcHRpbWVyKTsKICAgY3BpLT50
aW1lX2NvbXByZXNzX2RhdGEgKz0gdnB4X3VzZWNfdGltZXJfZWxhcHNlZCgmY21wdGltZXIpOwog
CkBAIC02Njk0LDcgKzgwNDAsNyBAQCBpbnQgdnA5X2dldF9jb21wcmVzc2VkX2RhdGEoVlA5X0NP
TVAgKmNwaSwgdW5zaWduZWQgaW50ICpmcmFtZV9mbGFncywKIAogI2lmIENPTkZJR19JTlRFUk5B
TF9TVEFUUwogCi0gIGlmIChveGNmLT5wYXNzICE9IDEgJiYgIWNwaS0+bGFzdF9mcmFtZV9kcm9w
cGVkKSB7CisgIGlmIChveGNmLT5wYXNzICE9IDEpIHsKICAgICBkb3VibGUgc2FtcGxlcyA9IDAu
MDsKICAgICBjcGktPmJ5dGVzICs9IChpbnQpKCpzaXplKTsKIApAQCAtNjg1Niw0MiArODIwMiw3
IEBAIGludCB2cDlfZ2V0X2NvbXByZXNzZWRfZGF0YShWUDlfQ09NUCAqY3BpLCB1bnNpZ25lZCBp
bnQgKmZyYW1lX2ZsYWdzLAogCiAjZW5kaWYKIAotI2lmIENPTkZJR19DT0xMRUNUX0NPTVBPTkVO
VF9USU1JTkcKLSAgaWYgKG94Y2YtPnBhc3MgPT0gMikgZW5kX3RpbWluZyhjcGksIHZwOV9nZXRf
Y29tcHJlc3NlZF9kYXRhX3RpbWUpOwotCi0gIC8vIFByaW50IG91dCB0aW1pbmcgaW5mb3JtYXRp
b24uCi0gIC8vIE5vdGU6IFVzZSAiY3BpLT5mcmFtZV9jb21wb25lbnRfdGltZVswXSA+IDEwMCB1
cyIgdG8gYXZvaWQgc2hvd2luZyBvZgotICAvLyBzaG93X2V4aXN0aW5nX2ZyYW1lIGFuZCBsYWct
aW4tZnJhbWVzLgotICAvLyAgaWYgKGNwaS0+ZnJhbWVfY29tcG9uZW50X3RpbWVbMF0gPiAxMDAp
Ci0gIGlmIChveGNmLT5wYXNzID09IDIpIHsKLSAgICB1aW50NjRfdCBmcmFtZV90b3RhbCA9IDAs
IHRvdGFsID0gMDsKLSAgICBpbnQgaTsKLQotICAgIGZwcmludGYoc3RkZXJyLAotICAgICAgICAg
ICAgIlxuIEZyYW1lIG51bWJlcjogJWQsIEZyYW1lIHR5cGU6ICVzLCBTaG93IEZyYW1lOiAlZCwg
UTogJWRcbiIsCi0gICAgICAgICAgICBjbS0+Y3VycmVudF92aWRlb19mcmFtZSwgZ2V0X2ZyYW1l
X3R5cGVfZW51bShjbS0+ZnJhbWVfdHlwZSksCi0gICAgICAgICAgICBjbS0+c2hvd19mcmFtZSwg
Y20tPmJhc2VfcWluZGV4KTsKLSAgICBmb3IgKGkgPSAwOyBpIDwga1RpbWluZ0NvbXBvbmVudHM7
IGkrKykgewotICAgICAgY3BpLT5jb21wb25lbnRfdGltZVtpXSArPSBjcGktPmZyYW1lX2NvbXBv
bmVudF90aW1lW2ldOwotICAgICAgLy8gVXNlIHZwOV9nZXRfY29tcHJlc3NlZF9kYXRhX3RpbWUg
KGkgPSAwKSBhcyB0aGUgdG90YWwgdGltZS4KLSAgICAgIGlmIChpID09IDApIHsKLSAgICAgICAg
ZnJhbWVfdG90YWwgPSBjcGktPmZyYW1lX2NvbXBvbmVudF90aW1lWzBdOwotICAgICAgICB0b3Rh
bCA9IGNwaS0+Y29tcG9uZW50X3RpbWVbMF07Ci0gICAgICB9Ci0gICAgICBmcHJpbnRmKHN0ZGVy
ciwKLSAgICAgICAgICAgICAgIiAlNTBzOiAgJTE1IiBQUklkNjQgIiB1cyBbJTYuMmYlJV0gKHRv
dGFsOiAlMTUiIFBSSWQ2NAotICAgICAgICAgICAgICAiIHVzIFslNi4yZiUlXSlcbiIsCi0gICAg
ICAgICAgICAgIGdldF9jb21wb25lbnRfbmFtZShpKSwgY3BpLT5mcmFtZV9jb21wb25lbnRfdGlt
ZVtpXSwKLSAgICAgICAgICAgICAgKGZsb2F0KSgoZmxvYXQpY3BpLT5mcmFtZV9jb21wb25lbnRf
dGltZVtpXSAqIDEwMC4wIC8KLSAgICAgICAgICAgICAgICAgICAgICAoZmxvYXQpZnJhbWVfdG90
YWwpLAotICAgICAgICAgICAgICBjcGktPmNvbXBvbmVudF90aW1lW2ldLAotICAgICAgICAgICAg
ICAoZmxvYXQpKChmbG9hdCljcGktPmNvbXBvbmVudF90aW1lW2ldICogMTAwLjAgLyAoZmxvYXQp
dG90YWwpKTsKLSAgICAgIGNwaS0+ZnJhbWVfY29tcG9uZW50X3RpbWVbaV0gPSAwOwotICAgIH0K
LSAgfQotI2VuZGlmCi0KLSAgaWYgKGlzX29uZV9wYXNzX3N2YyhjcGkpKSB7CisgIGlmIChpc19v
bmVfcGFzc19jYnJfc3ZjKGNwaSkpIHsKICAgICBpZiAoY20tPnNob3dfZnJhbWUpIHsKICAgICAg
ICsrY3BpLT5zdmMuc3BhdGlhbF9sYXllcl90b19lbmNvZGU7CiAgICAgICBpZiAoY3BpLT5zdmMu
c3BhdGlhbF9sYXllcl90b19lbmNvZGUgPj0gY3BpLT5zdmMubnVtYmVyX3NwYXRpYWxfbGF5ZXJz
KQpAQCAtNjkzMywxMiArODI0NCwxMiBAQCBpbnQgdnA5X2dldF9wcmV2aWV3X3Jhd19mcmFtZShW
UDlfQ09NUCAqY3BpLCBZVjEyX0JVRkZFUl9DT05GSUcgKmRlc3QsCiAgIH0KIH0KIAotaW50IHZw
OV9zZXRfaW50ZXJuYWxfc2l6ZShWUDlfQ09NUCAqY3BpLCBWUFhfU0NBTElOR19NT0RFIGhvcml6
X21vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9TQ0FMSU5HX01PREUgdmVydF9t
b2RlKSB7CitpbnQgdnA5X3NldF9pbnRlcm5hbF9zaXplKFZQOV9DT01QICpjcGksIFZQWF9TQ0FM
SU5HIGhvcml6X21vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFZQWF9TQ0FMSU5HIHZl
cnRfbW9kZSkgewogICBWUDlfQ09NTU9OICpjbSA9ICZjcGktPmNvbW1vbjsKICAgaW50IGhyID0g
MCwgaHMgPSAwLCB2ciA9IDAsIHZzID0gMDsKIAotICBpZiAoaG9yaXpfbW9kZSA+IFZQOEVfT05F
VFdPIHx8IHZlcnRfbW9kZSA+IFZQOEVfT05FVFdPKSByZXR1cm4gLTE7CisgIGlmIChob3Jpel9t
b2RlID4gT05FVFdPIHx8IHZlcnRfbW9kZSA+IE9ORVRXTykgcmV0dXJuIC0xOwogCiAgIFNjYWxl
MlJhdGlvKGhvcml6X21vZGUsICZociwgJmhzKTsKICAgU2NhbGUyUmF0aW8odmVydF9tb2RlLCAm
dnIsICZ2cyk7CkBAIC02OTYwLDExICs4MjcxLDkgQEAgaW50IHZwOV9zZXRfc2l6ZV9saXRlcmFs
KFZQOV9DT01QICpjcGksIHVuc2lnbmVkIGludCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0KSB7CiAgIFZQOV9DT01NT04gKmNtID0gJmNwaS0+Y29t
bW9uOwogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIHVwZGF0ZV9pbml0aWFsX3dpZHRo
KGNwaSwgY20tPnVzZV9oaWdoYml0ZGVwdGgsIGNwaS0+Y29tbW9uLnN1YnNhbXBsaW5nX3gsCi0g
ICAgICAgICAgICAgICAgICAgICAgIGNwaS0+Y29tbW9uLnN1YnNhbXBsaW5nX3kpOworICB1cGRh
dGVfaW5pdGlhbF93aWR0aChjcGksIGNtLT51c2VfaGlnaGJpdGRlcHRoLCAxLCAxKTsKICNlbHNl
Ci0gIHVwZGF0ZV9pbml0aWFsX3dpZHRoKGNwaSwgMCwgY3BpLT5jb21tb24uc3Vic2FtcGxpbmdf
eCwKLSAgICAgICAgICAgICAgICAgICAgICAgY3BpLT5jb21tb24uc3Vic2FtcGxpbmdfeSk7Cisg
IHVwZGF0ZV9pbml0aWFsX3dpZHRoKGNwaSwgMCwgMSwgMSk7CiAjZW5kaWYgIC8vIENPTkZJR19W
UDlfSElHSEJJVERFUFRICiAKICNpZiBDT05GSUdfVlA5X1RFTVBPUkFMX0RFTk9JU0lORwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2Rlci5oIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci92cDlfZW5jb2Rlci5oCmluZGV4IDdiMDJmZTdmNmIyNC4uODc2M2E1ZTc4
OTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVyLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZW5jb2Rlci5oCkBAIC0xNCwxMSArMTQsOSBA
QAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKICNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNs
dWRlICIuL3ZweF9kc3BfcnRjZC5oIgogI2luY2x1ZGUgInZweC9pbnRlcm5hbC92cHhfY29kZWNf
aW50ZXJuYWwuaCIKICNpbmNsdWRlICJ2cHgvdnB4X2V4dF9yYXRlY3RybC5oIgogI2luY2x1ZGUg
InZweC92cDhjeC5oIgotI2luY2x1ZGUgInZweC92cHhfdHBsLmgiCiAjaWYgQ09ORklHX0lOVEVS
TkFMX1NUQVRTCiAjaW5jbHVkZSAidnB4X2RzcC9zc2ltLmgiCiAjZW5kaWYKQEAgLTkyLDYgKzkw
LDEzIEBAIHR5cGVkZWYgZW51bSB7CiAgIEVOQ09ERV9CUkVBS09VVF9MSU1JVEVEID0gMgogfSBF
TkNPREVfQlJFQUtPVVRfVFlQRTsKIAordHlwZWRlZiBlbnVtIHsKKyAgTk9STUFMID0gMCwKKyAg
Rk9VUkZJVkUgPSAxLAorICBUSFJFRUZJVkUgPSAyLAorICBPTkVUV08gPSAzCit9IFZQWF9TQ0FM
SU5HOworCiB0eXBlZGVmIGVudW0gewogICAvLyBHb29kIFF1YWxpdHkgRmFzdCBFbmNvZGluZy4g
VGhlIGVuY29kZXIgYmFsYW5jZXMgcXVhbGl0eSB3aXRoIHRoZSBhbW91bnQgb2YKICAgLy8gdGlt
ZSBpdCB0YWtlcyB0byBlbmNvZGUgdGhlIG91dHB1dC4gU3BlZWQgc2V0dGluZyBjb250cm9scyBo
b3cgZmFzdC4KQEAgLTI2OCw2ICsyNzMsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgVlA5RW5jb2RlckNv
bmZpZyB7CiAKICAgdnB4X2ZpeGVkX2J1Zl90IHR3b19wYXNzX3N0YXRzX2luOwogCisjaWYgQ09O
RklHX0ZQX01CX1NUQVRTCisgIHZweF9maXhlZF9idWZfdCBmaXJzdHBhc3NfbWJfc3RhdHNfaW47
CisjZW5kaWYKKwogICB2cDhlX3R1bmluZyB0dW5pbmc7CiAgIHZwOWVfdHVuZV9jb250ZW50IGNv
bnRlbnQ7CiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKQEAgLTI4Miw3ICsyOTEsNiBAQCB0
eXBlZGVmIHN0cnVjdCBWUDlFbmNvZGVyQ29uZmlnIHsKICAgaW50IHJvd19tdDsKICAgdW5zaWdu
ZWQgaW50IG1vdGlvbl92ZWN0b3JfdW5pdF90ZXN0OwogICBpbnQgZGVsdGFfcV91djsKLSAgaW50
IHVzZV9zaW1wbGVfZW5jb2RlX2FwaTsgIC8vIFVzZSBTaW1wbGVFbmNvZGUgQVBJcyBvciBub3QK
IH0gVlA5RW5jb2RlckNvbmZpZzsKIAogc3RhdGljIElOTElORSBpbnQgaXNfbG9zc2xlc3NfcmVx
dWVzdGVkKGNvbnN0IFZQOUVuY29kZXJDb25maWcgKmNmZykgewpAQCAtMzMxLDE0ICszMzksMTUg
QEAgdHlwZWRlZiBzdHJ1Y3QgVHBsRGVwRnJhbWUgewogdHlwZWRlZiBzdHJ1Y3QgVGlsZURhdGFF
bmMgewogICBUaWxlSW5mbyB0aWxlX2luZm87CiAgIGludCB0aHJlc2hfZnJlcV9mYWN0W0JMT0NL
X1NJWkVTXVtNQVhfTU9ERVNdOworI2lmIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSB8fCBDT05G
SUdfUkFURV9DVFJMCiAgIGludCB0aHJlc2hfZnJlcV9mYWN0X3ByZXZbQkxPQ0tfU0laRVNdW01B
WF9NT0RFU107CisjZW5kaWYgIC8vIENPTkZJR19DT05TSVNURU5UX1JFQ09ERSB8fCBDT05GSUdf
UkFURV9DVFJMCiAgIGludDhfdCBtb2RlX21hcFtCTE9DS19TSVpFU11bTUFYX01PREVTXTsKICAg
RklSU1RQQVNTX0RBVEEgZnBfZGF0YTsKICAgVlA5Um93TVRTeW5jIHJvd19tdF9zeW5jOwogCiAg
IC8vIFVzZWQgZm9yIGFkYXB0aXZlX3JkX3RocmVzaCB3aXRoIHJvdyBtdWx0aXRocmVhZGluZwog
ICBpbnQgKnJvd19iYXNlX3RocmVzaF9mcmVxX2ZhY3Q7Ci0gIE1WIGZpcnN0cGFzc190b3BfbXY7
CiB9IFRpbGVEYXRhRW5jOwogCiB0eXBlZGVmIHN0cnVjdCBSb3dNVEluZm8gewpAQCAtNTA3LDcg
KzUxNiw2IEBAIHR5cGVkZWYgc3RydWN0IEVuY0ZyYW1lQnVmIHsKIH0gRW5jRnJhbWVCdWY7CiAK
IC8vIE1heGltdW0gb3BlcmF0aW5nIGZyYW1lIGJ1ZmZlciBzaXplIG5lZWRlZCBmb3IgYSBHT1Ag
dXNpbmcgQVJGIHJlZmVyZW5jZS4KLS8vIFRoaXMgaXMgdXNlZCB0byBhbGxvY2F0ZSB0aGUgbWVt
b3J5IGZvciBUUEwgc3RhdHMgZm9yIGEgR09QLgogI2RlZmluZSBNQVhfQVJGX0dPUF9TSVpFICgy
ICogTUFYX0xBR19CVUZGRVJTKQogI2RlZmluZSBNQVhfS01FQU5TX0dST1VQUyA4CiAKQEAgLTY1
NCw3MiArNjYyLDYgQEAgc3RhdGljIElOTElORSBpbnQgZ2V0X251bV91bml0XzR4NChpbnQgc2l6
ZSkgeyByZXR1cm4gKHNpemUgKyAzKSA+PiAyOyB9CiBzdGF0aWMgSU5MSU5FIGludCBnZXRfbnVt
X3VuaXRfMTZ4MTYoaW50IHNpemUpIHsgcmV0dXJuIChzaXplICsgMTUpID4+IDQ7IH0KICNlbmRp
ZiAgLy8gQ09ORklHX1JBVEVfQ1RSTAogCi0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJ
TUlORwotI2luY2x1ZGUgInZweF9wb3J0cy92cHhfdGltZXIuaCIKLS8vIEFkanVzdCB0aGUgZm9s
bG93aW5nIHRvIGFkZCBuZXcgY29tcG9uZW50cy4KLXR5cGVkZWYgZW51bSB7Ci0gIHZwOV9nZXRf
Y29tcHJlc3NlZF9kYXRhX3RpbWUsCi0gIHZwOV90ZW1wb3JhbF9maWx0ZXJfdGltZSwKLSAgdnA5
X3JjX2dldF9zZWNvbmRfcGFzc19wYXJhbXNfdGltZSwKLSAgc2V0dXBfdHBsX3N0YXRzX3RpbWUs
Ci0gIFBhc3MyRW5jb2RlX3RpbWUsCi0KLSAgZW5jb2RlX3dpdGhfcmVjb2RlX2xvb3BfdGltZSwK
LSAgbG9vcGZpbHRlcl9mcmFtZV90aW1lLAotICB2cDlfcGFja19iaXRzdHJlYW1fdGltZSwKLQot
ICBlbmNvZGVfZnJhbWVfaW50ZXJuYWxfdGltZSwKLSAgcmRfcGlja19wYXJ0aXRpb25fdGltZSwK
LSAgcmRfcGlja19zYl9tb2Rlc190aW1lLAotICBlbmNvZGVfc2JfdGltZSwKLQotICB2cDlfcmRf
cGlja19pbnRlcl9tb2RlX3NiX3RpbWUsCi0gIHZwOV9yZF9waWNrX2ludGVyX21vZGVfc3ViOHg4
X3RpbWUsCi0KLSAgaW50cmFfbW9kZV9zZWFyY2hfdGltZSwKLSAgaGFuZGxlX2ludGVyX21vZGVf
dGltZSwKLSAgc2luZ2xlX21vdGlvbl9zZWFyY2hfdGltZSwKLSAgam9pbnRfbW90aW9uX3NlYXJj
aF90aW1lLAotICBpbnRlcnBfZmlsdGVyX3RpbWUsCi0KLSAga1RpbWluZ0NvbXBvbmVudHMsCi19
IFRJTUlOR19DT01QT05FTlQ7Ci0KLXN0YXRpYyBJTkxJTkUgY2hhciBjb25zdCAqZ2V0X2NvbXBv
bmVudF9uYW1lKGludCBpbmRleCkgewotICBzd2l0Y2ggKGluZGV4KSB7Ci0gICAgY2FzZSB2cDlf
Z2V0X2NvbXByZXNzZWRfZGF0YV90aW1lOiByZXR1cm4gInZwOV9nZXRfY29tcHJlc3NlZF9kYXRh
X3RpbWUiOwotICAgIGNhc2UgdnA5X3RlbXBvcmFsX2ZpbHRlcl90aW1lOiByZXR1cm4gInZwOV90
ZW1wb3JhbF9maWx0ZXJfdGltZSI7Ci0gICAgY2FzZSB2cDlfcmNfZ2V0X3NlY29uZF9wYXNzX3Bh
cmFtc190aW1lOgotICAgICAgcmV0dXJuICJ2cDlfcmNfZ2V0X3NlY29uZF9wYXNzX3BhcmFtc190
aW1lIjsKLSAgICBjYXNlIHNldHVwX3RwbF9zdGF0c190aW1lOiByZXR1cm4gInNldHVwX3RwbF9z
dGF0c190aW1lIjsKLSAgICBjYXNlIFBhc3MyRW5jb2RlX3RpbWU6IHJldHVybiAiUGFzczJFbmNv
ZGVfdGltZSI7Ci0KLSAgICBjYXNlIGVuY29kZV93aXRoX3JlY29kZV9sb29wX3RpbWU6IHJldHVy
biAiZW5jb2RlX3dpdGhfcmVjb2RlX2xvb3BfdGltZSI7Ci0gICAgY2FzZSBsb29wZmlsdGVyX2Zy
YW1lX3RpbWU6IHJldHVybiAibG9vcGZpbHRlcl9mcmFtZV90aW1lIjsKLSAgICBjYXNlIHZwOV9w
YWNrX2JpdHN0cmVhbV90aW1lOiByZXR1cm4gInZwOV9wYWNrX2JpdHN0cmVhbV90aW1lIjsKLQot
ICAgIGNhc2UgZW5jb2RlX2ZyYW1lX2ludGVybmFsX3RpbWU6IHJldHVybiAiZW5jb2RlX2ZyYW1l
X2ludGVybmFsX3RpbWUiOwotICAgIGNhc2UgcmRfcGlja19wYXJ0aXRpb25fdGltZTogcmV0dXJu
ICJyZF9waWNrX3BhcnRpdGlvbl90aW1lIjsKLSAgICBjYXNlIHJkX3BpY2tfc2JfbW9kZXNfdGlt
ZTogcmV0dXJuICJyZF9waWNrX3NiX21vZGVzX3RpbWUiOwotICAgIGNhc2UgZW5jb2RlX3NiX3Rp
bWU6IHJldHVybiAiZW5jb2RlX3NiX3RpbWUiOwotCi0gICAgY2FzZSB2cDlfcmRfcGlja19pbnRl
cl9tb2RlX3NiX3RpbWU6Ci0gICAgICByZXR1cm4gInZwOV9yZF9waWNrX2ludGVyX21vZGVfc2Jf
dGltZSI7Ci0gICAgY2FzZSB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3N1Yjh4OF90aW1lOgotICAg
ICAgcmV0dXJuICJ2cDlfcmRfcGlja19pbnRlcl9tb2RlX3N1Yjh4OF90aW1lIjsKLQotICAgIGNh
c2UgaW50cmFfbW9kZV9zZWFyY2hfdGltZTogcmV0dXJuICJpbnRyYV9tb2RlX3NlYXJjaF90aW1l
IjsKLSAgICBjYXNlIGhhbmRsZV9pbnRlcl9tb2RlX3RpbWU6IHJldHVybiAiaGFuZGxlX2ludGVy
X21vZGVfdGltZSI7Ci0gICAgY2FzZSBzaW5nbGVfbW90aW9uX3NlYXJjaF90aW1lOiByZXR1cm4g
InNpbmdsZV9tb3Rpb25fc2VhcmNoX3RpbWUiOwotICAgIGNhc2Ugam9pbnRfbW90aW9uX3NlYXJj
aF90aW1lOiByZXR1cm4gImpvaW50X21vdGlvbl9zZWFyY2hfdGltZSI7Ci0gICAgY2FzZSBpbnRl
cnBfZmlsdGVyX3RpbWU6IHJldHVybiAiaW50ZXJwX2ZpbHRlcl90aW1lIjsKLQotICAgIGRlZmF1
bHQ6IGFzc2VydCgwKTsKLSAgfQotICByZXR1cm4gImVycm9yIjsKLX0KLSNlbmRpZgotCiB0eXBl
ZGVmIHN0cnVjdCBWUDlfQ09NUCB7CiAgIEZSQU1FX0lORk8gZnJhbWVfaW5mbzsKICAgUVVBTlRT
IHF1YW50czsKQEAgLTc0Niw4ICs2ODgsNiBAQCB0eXBlZGVmIHN0cnVjdCBWUDlfQ09NUCB7CiAK
ICAgQkxPQ0tfU0laRSB0cGxfYnNpemU7CiAgIFRwbERlcEZyYW1lIHRwbF9zdGF0c1tNQVhfQVJG
X0dPUF9TSVpFXTsKLSAgLy8gVXNlZCB0byBzdG9yZSBUUEwgc3RhdHMgYmVmb3JlIHByb3BhZ2F0
aW9uCi0gIFZweFRwbEdvcFN0YXRzIHRwbF9nb3Bfc3RhdHM7CiAgIFlWMTJfQlVGRkVSX0NPTkZJ
RyAqdHBsX3JlY29uX2ZyYW1lc1tSRUZfRlJBTUVTXTsKICAgRW5jRnJhbWVCdWYgZW5jX2ZyYW1l
X2J1ZltSRUZfRlJBTUVTXTsKICNpZiBDT05GSUdfTVVMVElUSFJFQUQKQEAgLTc3MCw2ICs3MTAs
OSBAQCB0eXBlZGVmIHN0cnVjdCBWUDlfQ09NUCB7CiAgIFRpbGVEYXRhRW5jICp0aWxlX2RhdGE7
CiAgIGludCBhbGxvY2F0ZWRfdGlsZXM7ICAvLyBLZWVwIHRyYWNrIG9mIG1lbW9yeSBhbGxvY2F0
ZWQgZm9yIHRpbGVzLgogCisgIC8vIEZvciBhIHN0aWxsIGZyYW1lLCB0aGlzIGZsYWcgaXMgc2V0
IHRvIDEgdG8gc2tpcCBwYXJ0aXRpb24gc2VhcmNoLgorICBpbnQgcGFydGl0aW9uX3NlYXJjaF9z
a2lwcGFibGVfZnJhbWU7CisKICAgaW50IHNjYWxlZF9yZWZfaWR4W1JFRlNfUEVSX0ZSQU1FXTsK
ICAgaW50IGxzdF9mYl9pZHg7CiAgIGludCBnbGRfZmJfaWR4OwpAQCAtODAzLDcgKzc0Niw2IEBA
IHR5cGVkZWYgc3RydWN0IFZQOV9DT01QIHsKICAgLy8gQW1iaWVudCByZWNvbnN0cnVjdGlvbiBl
cnIgdGFyZ2V0IGZvciBmb3JjZSBrZXkgZnJhbWVzCiAgIGludDY0X3QgYW1iaWVudF9lcnI7CiAK
LSAgUkRfQ09OVFJPTCByZF9jdHJsOwogICBSRF9PUFQgcmQ7CiAKICAgQ09ESU5HX0NPTlRFWFQg
Y29kaW5nX2NvbnRleHQ7CkBAIC04NDcsNyArNzg5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVlA5X0NP
TVAgewogCiAgIHVpbnQ4X3QgKnNraW5fbWFwOwogCi0gIC8vIHNlZ21lbnQgdGhyZXNob2xkIGZv
ciBlbmNvZGUgYnJlYWtvdXQKKyAgLy8gc2VnbWVudCB0aHJlYXNob2xkIGZvciBlbmNvZGUgYnJl
YWtvdXQKICAgaW50IHNlZ21lbnRfZW5jb2RlX2JyZWFrb3V0W01BWF9TRUdNRU5UU107CiAKICAg
Q1lDTElDX1JFRlJFU0ggKmN5Y2xpY19yZWZyZXNoOwpAQCAtODYyLDYgKzgwNCwxMCBAQCB0eXBl
ZGVmIHN0cnVjdCBWUDlfQ09NUCB7CiAgIHVpbnQ2NF90IHRpbWVfcGlja19scGY7CiAgIHVpbnQ2
NF90IHRpbWVfZW5jb2RlX3NiX3JvdzsKIAorI2lmIENPTkZJR19GUF9NQl9TVEFUUworICBpbnQg
dXNlX2ZwX21iX3N0YXRzOworI2VuZGlmCisKICAgVFdPX1BBU1MgdHdvcGFzczsKIAogICAvLyBG
b3JjZSByZWNhbGN1bGF0aW9uIG9mIHNlZ21lbnRfaWRzIGZvciBlYWNoIG1vZGUgaW5mbwpAQCAt
OTI2LDcgKzg3Miw3IEBAIHR5cGVkZWYgc3RydWN0IFZQOV9DT01QIHsKICAgU1ZDIHN2YzsKIAog
ICAvLyBTdG9yZSBmcmFtZSB2YXJpYW5jZSBpbmZvIGluIFNPVVJDRV9WQVJfQkFTRURfUEFSVElU
SU9OIHNlYXJjaCB0eXBlLgotICBEaWZmICpzb3VyY2VfZGlmZl92YXI7CisgIGRpZmYgKnNvdXJj
ZV9kaWZmX3ZhcjsKICAgLy8gVGhlIHRocmVzaG9sZCB1c2VkIGluIFNPVVJDRV9WQVJfQkFTRURf
UEFSVElUSU9OIHNlYXJjaCB0eXBlLgogICB1bnNpZ25lZCBpbnQgc291cmNlX3Zhcl90aHJlc2g7
CiAgIGludCBmcmFtZXNfdGlsbF9uZXh0X3Zhcl9jaGVjazsKQEAgLTEwMTMsOCArOTU5LDYgQEAg
dHlwZWRlZiBzdHJ1Y3QgVlA5X0NPTVAgewogCiAgIGludCBjb21wdXRlX3NvdXJjZV9zYWRfb25l
cGFzczsKIAotICBpbnQgY29tcHV0ZV9mcmFtZV9sb3dfbW90aW9uX29uZXBhc3M7Ci0KICAgTGV2
ZWxDb25zdHJhaW50IGxldmVsX2NvbnN0cmFpbnQ7CiAKICAgdWludDhfdCAqY291bnRfYXJmX2Zy
YW1lX3VzYWdlOwpAQCAtMTAzNCwyNCArOTc4LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgVlA5X0NPTVAg
ewogICBSQVRFX1FTVEVQX01PREVMIHJxX21vZGVsW0VOQ09ERV9GUkFNRV9UWVBFU107CiAjZW5k
aWYKICAgRVhUX1JBVEVDVFJMIGV4dF9yYXRlY3RybDsKLQotICBpbnQgZml4ZWRfcXBfb25lcGFz
czsKLQotI2lmIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9USU1JTkcKLSAgLyohCi0gICAqIGNv
bXBvbmVudF90aW1lW10gYXJlIGluaXRpYWxpemVkIHRvIHplcm8gd2hpbGUgZW5jb2RlciBzdGFy
dHMuCi0gICAqLwotICB1aW50NjRfdCBjb21wb25lbnRfdGltZVtrVGltaW5nQ29tcG9uZW50c107
Ci0gIC8qIQotICAgKiBTdG9yZXMgdGltaW5nIGZvciBpbmRpdmlkdWFsIGNvbXBvbmVudHMgYmV0
d2VlbiBjYWxscyBvZiBzdGFydF90aW1pbmcoKQotICAgKiBhbmQgZW5kX3RpbWluZygpLgotICAg
Ki8KLSAgc3RydWN0IHZweF91c2VjX3RpbWVyIGNvbXBvbmVudF90aW1lcltrVGltaW5nQ29tcG9u
ZW50c107Ci0gIC8qIQotICAgKiBmcmFtZV9jb21wb25lbnRfdGltZVtdIGFyZSBpbml0aWFsaXpl
ZCB0byB6ZXJvIGF0IGJlZ2lubmluZyBvZiBlYWNoIGZyYW1lLgotICAgKi8KLSAgdWludDY0X3Qg
ZnJhbWVfY29tcG9uZW50X3RpbWVba1RpbWluZ0NvbXBvbmVudHNdOwotI2VuZGlmCiB9IFZQOV9D
T01QOwogCiAjaWYgQ09ORklHX1JBVEVfQ1RSTApAQCAtMTA2Miw3ICs5ODgsNyBAQCBzdGF0aWMg
SU5MSU5FIHZvaWQgcGFydGl0aW9uX2luZm9faW5pdChzdHJ1Y3QgVlA5X0NPTVAgKmNwaSkgewog
ICBWUDlfQ09NTU9OICpjb25zdCBjbSA9ICZjcGktPmNvbW1vbjsKICAgY29uc3QgaW50IHVuaXRf
d2lkdGggPSBnZXRfbnVtX3VuaXRfNHg0KGNwaS0+ZnJhbWVfaW5mby5mcmFtZV93aWR0aCk7CiAg
IGNvbnN0IGludCB1bml0X2hlaWdodCA9IGdldF9udW1fdW5pdF80eDQoY3BpLT5mcmFtZV9pbmZv
LmZyYW1lX2hlaWdodCk7Ci0gIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBjcGktPnBhcnRp
dGlvbl9pbmZvLAorICBDSEVDS19NRU1fRVJST1IoY20sIGNwaS0+cGFydGl0aW9uX2luZm8sCiAg
ICAgICAgICAgICAgICAgICAoUEFSVElUSU9OX0lORk8gKil2cHhfY2FsbG9jKHVuaXRfd2lkdGgg
KiB1bml0X2hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZW9mKFBBUlRJVElPTl9JTkZPKSkpOwogICBtZW1zZXQoY3BpLT5wYXJ0aXRpb25f
aW5mbywgMCwKQEAgLTEwNzcsOCArMTAwMyw4IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBmcmVlX3Bh
cnRpdGlvbl9pbmZvKHN0cnVjdCBWUDlfQ09NUCAqY3BpKSB7CiB9CiAKIHN0YXRpYyBJTkxJTkUg
dm9pZCByZXNldF9tdl9pbmZvKE1PVElPTl9WRUNUT1JfSU5GTyAqbXZfaW5mbykgewotICBtdl9p
bmZvLT5yZWZfZnJhbWVbMF0gPSBOT19SRUZfRlJBTUU7Ci0gIG12X2luZm8tPnJlZl9mcmFtZVsx
XSA9IE5PX1JFRl9GUkFNRTsKKyAgbXZfaW5mby0+cmVmX2ZyYW1lWzBdID0gTk9ORTsKKyAgbXZf
aW5mby0+cmVmX2ZyYW1lWzFdID0gTk9ORTsKICAgbXZfaW5mby0+bXZbMF0uYXNfaW50ID0gSU5W
QUxJRF9NVjsKICAgbXZfaW5mby0+bXZbMV0uYXNfaW50ID0gSU5WQUxJRF9NVjsKIH0KQEAgLTEw
OTAsNyArMTAxNiw3IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBtb3Rpb25fdmVjdG9yX2luZm9faW5p
dChzdHJ1Y3QgVlA5X0NPTVAgKmNwaSkgewogICBWUDlfQ09NTU9OICpjb25zdCBjbSA9ICZjcGkt
PmNvbW1vbjsKICAgY29uc3QgaW50IHVuaXRfd2lkdGggPSBnZXRfbnVtX3VuaXRfNHg0KGNwaS0+
ZnJhbWVfaW5mby5mcmFtZV93aWR0aCk7CiAgIGNvbnN0IGludCB1bml0X2hlaWdodCA9IGdldF9u
dW1fdW5pdF80eDQoY3BpLT5mcmFtZV9pbmZvLmZyYW1lX2hlaWdodCk7Ci0gIENIRUNLX01FTV9F
UlJPUigmY20tPmVycm9yLCBjcGktPm1vdGlvbl92ZWN0b3JfaW5mbywKKyAgQ0hFQ0tfTUVNX0VS
Uk9SKGNtLCBjcGktPm1vdGlvbl92ZWN0b3JfaW5mbywKICAgICAgICAgICAgICAgICAgIChNT1RJ
T05fVkVDVE9SX0lORk8gKil2cHhfY2FsbG9jKHVuaXRfd2lkdGggKiB1bml0X2hlaWdodCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihN
T1RJT05fVkVDVE9SX0lORk8pKSk7CiAgIG1lbXNldChjcGktPm1vdGlvbl92ZWN0b3JfaW5mbywg
MCwKQEAgLTExMDksNyArMTAzNSw3IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBmcmVlX21vdGlvbl92
ZWN0b3JfaW5mbyhzdHJ1Y3QgVlA5X0NPTVAgKmNwaSkgewogc3RhdGljIElOTElORSB2b2lkIHRw
bF9zdGF0c19pbmZvX2luaXQoc3RydWN0IFZQOV9DT01QICpjcGkpIHsKICAgVlA5X0NPTU1PTiAq
Y29uc3QgY20gPSAmY3BpLT5jb21tb247CiAgIENIRUNLX01FTV9FUlJPUigKLSAgICAgICZjbS0+
ZXJyb3IsIGNwaS0+dHBsX3N0YXRzX2luZm8sCisgICAgICBjbSwgY3BpLT50cGxfc3RhdHNfaW5m
bywKICAgICAgIChUcGxEZXBTdGF0cyAqKXZweF9jYWxsb2MoTUFYX0xBR19CVUZGRVJTLCBzaXpl
b2YoVHBsRGVwU3RhdHMpKSk7CiAgIG1lbXNldChjcGktPnRwbF9zdGF0c19pbmZvLCAwLCBNQVhf
TEFHX0JVRkZFUlMgKiBzaXplb2YoVHBsRGVwU3RhdHMpKTsKIH0KQEAgLTExMjgsNyArMTA1NCw3
IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBmcF9tb3Rpb25fdmVjdG9yX2luZm9faW5pdChzdHJ1Y3Qg
VlA5X0NPTVAgKmNwaSkgewogICBWUDlfQ09NTU9OICpjb25zdCBjbSA9ICZjcGktPmNvbW1vbjsK
ICAgY29uc3QgaW50IHVuaXRfd2lkdGggPSBnZXRfbnVtX3VuaXRfMTZ4MTYoY3BpLT5mcmFtZV9p
bmZvLmZyYW1lX3dpZHRoKTsKICAgY29uc3QgaW50IHVuaXRfaGVpZ2h0ID0gZ2V0X251bV91bml0
XzE2eDE2KGNwaS0+ZnJhbWVfaW5mby5mcmFtZV9oZWlnaHQpOwotICBDSEVDS19NRU1fRVJST1Io
JmNtLT5lcnJvciwgY3BpLT5mcF9tb3Rpb25fdmVjdG9yX2luZm8sCisgIENIRUNLX01FTV9FUlJP
UihjbSwgY3BpLT5mcF9tb3Rpb25fdmVjdG9yX2luZm8sCiAgICAgICAgICAgICAgICAgICAoTU9U
SU9OX1ZFQ1RPUl9JTkZPICopdnB4X2NhbGxvYyh1bml0X3dpZHRoICogdW5pdF9oZWlnaHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yo
TU9USU9OX1ZFQ1RPUl9JTkZPKSkpOwogfQpAQCAtMTIzMyw4ICsxMTU5LDggQEAgaW50IHZwOV9z
ZXRfYWN0aXZlX21hcChWUDlfQ09NUCAqY3BpLCB1bnNpZ25lZCBjaGFyICpuZXdfbWFwXzE2eDE2
LCBpbnQgcm93cywKIGludCB2cDlfZ2V0X2FjdGl2ZV9tYXAoVlA5X0NPTVAgKmNwaSwgdW5zaWdu
ZWQgY2hhciAqbmV3X21hcF8xNngxNiwgaW50IHJvd3MsCiAgICAgICAgICAgICAgICAgICAgICAg
IGludCBjb2xzKTsKIAotaW50IHZwOV9zZXRfaW50ZXJuYWxfc2l6ZShWUDlfQ09NUCAqY3BpLCBW
UFhfU0NBTElOR19NT0RFIGhvcml6X21vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFZQ
WF9TQ0FMSU5HX01PREUgdmVydF9tb2RlKTsKK2ludCB2cDlfc2V0X2ludGVybmFsX3NpemUoVlA5
X0NPTVAgKmNwaSwgVlBYX1NDQUxJTkcgaG9yaXpfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgVlBYX1NDQUxJTkcgdmVydF9tb2RlKTsKIAogaW50IHZwOV9zZXRfc2l6ZV9saXRlcmFs
KFZQOV9DT01QICpjcGksIHVuc2lnbmVkIGludCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0KTsKQEAgLTEyNzcsMTMgKzEyMDMsNiBAQCBzdGF0aWMg
SU5MSU5FIGludCBmcmFtZV9pc19rZl9nZl9hcmYoY29uc3QgVlA5X0NPTVAgKmNwaSkgewogICAg
ICAgICAgKGNwaS0+cmVmcmVzaF9nb2xkZW5fZnJhbWUgJiYgIWNwaS0+cmMuaXNfc3JjX2ZyYW1l
X2FsdF9yZWYpOwogfQogCi1zdGF0aWMgSU5MSU5FIGludCByZWZfZnJhbWVfdG9fZmxhZyhpbnQ4
X3QgcmVmX2ZyYW1lKSB7Ci0gIHN0YXRpYyBjb25zdCBpbnQga1ZwOVJlZkZsYWdMaXN0WzRdID0g
eyAwLCBWUDlfTEFTVF9GTEFHLCBWUDlfR09MRF9GTEFHLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVlA5X0FMVF9GTEFHIH07Ci0gIGFzc2VydChyZWZfZnJhbWUg
Pj0gTEFTVF9GUkFNRSAmJiByZWZfZnJhbWUgPD0gQUxUUkVGX0ZSQU1FKTsKLSAgcmV0dXJuIGtW
cDlSZWZGbGFnTGlzdFtyZWZfZnJhbWVdOwotfQotCiBzdGF0aWMgSU5MSU5FIGludCBnZXRfcmVm
X2ZyYW1lX21hcF9pZHgoY29uc3QgVlA5X0NPTVAgKmNwaSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNVl9SRUZFUkVOQ0VfRlJBTUUgcmVmX2ZyYW1lKSB7CiAgIGlm
IChyZWZfZnJhbWUgPT0gTEFTVF9GUkFNRSkgewpAQCAtMTM4Niw3ICsxMzA1LDcgQEAgWVYxMl9C
VUZGRVJfQ09ORklHICp2cDlfc2NhbGVfaWZfcmVxdWlyZWQoCiAKIHZvaWQgdnA5X2FwcGx5X2Vu
Y29kaW5nX2ZsYWdzKFZQOV9DT01QICpjcGksIHZweF9lbmNfZnJhbWVfZmxhZ3NfdCBmbGFncyk7
CiAKLXN0YXRpYyBJTkxJTkUgaW50IGlzX29uZV9wYXNzX3N2Yyhjb25zdCBzdHJ1Y3QgVlA5X0NP
TVAgKmNvbnN0IGNwaSkgeworc3RhdGljIElOTElORSBpbnQgaXNfb25lX3Bhc3NfY2JyX3N2Yyhj
b25zdCBzdHJ1Y3QgVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogICByZXR1cm4gKGNwaS0+dXNlX3N2
YyAmJiBjcGktPm94Y2YucGFzcyA9PSAwKTsKIH0KIApAQCAtMTQ1OSwxMCArMTM3OCw5IEBAIHN0
YXRpYyBJTkxJTkUgaW50IGxvZ190aWxlX2NvbHNfZnJvbV9waWNzaXplX2xldmVsKHVpbnQzMl90
IHdpZHRoLAogCiBWUDlfTEVWRUwgdnA5X2dldF9sZXZlbChjb25zdCBWcDlMZXZlbFNwZWMgKmNv
bnN0IGxldmVsX3NwZWMpOwogCi12cHhfY29kZWNfZXJyX3QgdnA5X3NldF9yb2lfbWFwKFZQOV9D
T01QICpjcGksIHVuc2lnbmVkIGNoYXIgKm1hcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IHJvd3MsIHVuc2lnbmVkIGludCBjb2xzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZGVsdGFfcVs4XSwgaW50IGRlbHRhX2xmWzhdLCBpbnQg
c2tpcFs4XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9mcmFtZVs4
XSk7CitpbnQgdnA5X3NldF9yb2lfbWFwKFZQOV9DT01QICpjcGksIHVuc2lnbmVkIGNoYXIgKm1h
cCwgdW5zaWduZWQgaW50IHJvd3MsCisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBj
b2xzLCBpbnQgZGVsdGFfcVs4XSwgaW50IGRlbHRhX2xmWzhdLAorICAgICAgICAgICAgICAgICAg
ICBpbnQgc2tpcFs4XSwgaW50IHJlZl9mcmFtZVs4XSk7CiAKIHZvaWQgdnA5X25ld19mcmFtZXJh
dGUoVlA5X0NPTVAgKmNwaSwgZG91YmxlIGZyYW1lcmF0ZSk7CiAKQEAgLTE0NzIsMTcxICsxMzkw
LDYgQEAgaW50IHZwOV9nZXRfcHNucihjb25zdCBWUDlfQ09NUCAqY3BpLCBQU05SX1NUQVRTICpw
c25yKTsKIAogI2RlZmluZSBMQVlFUl9JRFNfVE9fSURYKHNsLCB0bCwgbnVtX3RsKSAoKHNsKSAq
IChudW1fdGwpICsgKHRsKSkKIAotc3RhdGljIElOTElORSB2b2lkIGFsbG9jX2ZyYW1lX212cyhW
UDlfQ09NTU9OICpjb25zdCBjbSwgaW50IGJ1ZmZlcl9pZHgpIHsKLSAgUmVmQ250QnVmZmVyICpj
b25zdCBuZXdfZmJfcHRyID0gJmNtLT5idWZmZXJfcG9vbC0+ZnJhbWVfYnVmc1tidWZmZXJfaWR4
XTsKLSAgaWYgKG5ld19mYl9wdHItPm12cyA9PSBOVUxMIHx8IG5ld19mYl9wdHItPm1pX3Jvd3Mg
PCBjbS0+bWlfcm93cyB8fAotICAgICAgbmV3X2ZiX3B0ci0+bWlfY29scyA8IGNtLT5taV9jb2xz
KSB7Ci0gICAgdnB4X2ZyZWUobmV3X2ZiX3B0ci0+bXZzKTsKLSAgICBDSEVDS19NRU1fRVJST1Io
JmNtLT5lcnJvciwgbmV3X2ZiX3B0ci0+bXZzLAotICAgICAgICAgICAgICAgICAgICAoTVZfUkVG
ICopdnB4X2NhbGxvYyhjbS0+bWlfcm93cyAqIGNtLT5taV9jb2xzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKm5ld19mYl9wdHItPm12cykpKTsKLSAg
ICBuZXdfZmJfcHRyLT5taV9yb3dzID0gY20tPm1pX3Jvd3M7Ci0gICAgbmV3X2ZiX3B0ci0+bWlf
Y29scyA9IGNtLT5taV9jb2xzOwotICB9Ci19Ci0KLXN0YXRpYyBJTkxJTkUgaW50IG12X2Nvc3Qo
Y29uc3QgTVYgKm12LCBjb25zdCBpbnQgKmpvaW50X2Nvc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCAqY29uc3QgY29tcF9jb3N0WzJdKSB7Ci0gIGFzc2VydChtdi0+cm93ID49IC1N
Vl9NQVggJiYgbXYtPnJvdyA8IE1WX01BWCk7Ci0gIGFzc2VydChtdi0+Y29sID49IC1NVl9NQVgg
JiYgbXYtPmNvbCA8IE1WX01BWCk7Ci0gIHJldHVybiBqb2ludF9jb3N0W3ZwOV9nZXRfbXZfam9p
bnQobXYpXSArIGNvbXBfY29zdFswXVttdi0+cm93XSArCi0gICAgICAgICBjb21wX2Nvc3RbMV1b
bXYtPmNvbF07Ci19Ci0KLXN0YXRpYyBJTkxJTkUgaW50IG12c2FkX2Vycl9jb3N0KGNvbnN0IE1B
Q1JPQkxPQ0sgKngsIGNvbnN0IE1WICptdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IE1WICpyZWYsIGludCBzYWRfcGVyX2JpdCkgewotICBNViBkaWZmOwotICBkaWZm
LnJvdyA9IG12LT5yb3cgLSByZWYtPnJvdzsKLSAgZGlmZi5jb2wgPSBtdi0+Y29sIC0gcmVmLT5j
b2w7Ci0gIHJldHVybiBST1VORF9QT1dFUl9PRl9UV08oCi0gICAgICAodW5zaWduZWQpbXZfY29z
dCgmZGlmZiwgeC0+bm12am9pbnRzYWRjb3N0LCB4LT5ubXZzYWRjb3N0KSAqIHNhZF9wZXJfYml0
LAotICAgICAgVlA5X1BST0JfQ09TVF9TSElGVCk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdWludDMy
X3QgZ2V0X3N0YXJ0X212X3NhZChjb25zdCBNQUNST0JMT0NLICp4LCBjb25zdCBNViAqbXZwX2Z1
bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTVYgKnJl
Zl9tdl9mdWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9z
YWRfZm5fdCBzYWRfZm5fcHRyLCBpbnQgc2FkcGIpIHsKLSAgY29uc3QgaW50IHNyY19idWZfc3Ry
aWRlID0geC0+cGxhbmVbMF0uc3JjLnN0cmlkZTsKLSAgY29uc3QgdWludDhfdCAqY29uc3Qgc3Jj
X2J1ZiA9IHgtPnBsYW5lWzBdLnNyYy5idWY7Ci0gIGNvbnN0IE1BQ1JPQkxPQ0tEICpjb25zdCB4
ZCA9ICZ4LT5lX21iZDsKLSAgY29uc3QgaW50IHByZWRfYnVmX3N0cmlkZSA9IHhkLT5wbGFuZVsw
XS5wcmVbMF0uc3RyaWRlOwotICBjb25zdCB1aW50OF90ICpjb25zdCBwcmVkX2J1ZiA9Ci0gICAg
ICB4ZC0+cGxhbmVbMF0ucHJlWzBdLmJ1ZiArIG12cF9mdWxsLT5yb3cgKiBwcmVkX2J1Zl9zdHJp
ZGUgKyBtdnBfZnVsbC0+Y29sOwotICB1aW50MzJfdCBzdGFydF9tdl9zYWQgPQotICAgICAgc2Fk
X2ZuX3B0cihzcmNfYnVmLCBzcmNfYnVmX3N0cmlkZSwgcHJlZF9idWYsIHByZWRfYnVmX3N0cmlk
ZSk7Ci0gIHN0YXJ0X212X3NhZCArPSBtdnNhZF9lcnJfY29zdCh4LCBtdnBfZnVsbCwgcmVmX212
X2Z1bGwsIHNhZHBiKTsKLQotICByZXR1cm4gc3RhcnRfbXZfc2FkOwotfQotCi1zdGF0aWMgSU5M
SU5FIGludCBudW1fNHg0X3RvX2VkZ2UoaW50IHBsYW5lXzR4NF9kaW0sIGludCBtYl90b19lZGdl
X2RpbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Vic2FtcGxpbmdf
ZGltLCBpbnQgYmxrX2RpbSkgewotICByZXR1cm4gcGxhbmVfNHg0X2RpbSArIChtYl90b19lZGdl
X2RpbSA+PiAoNSArIHN1YnNhbXBsaW5nX2RpbSkpIC0gYmxrX2RpbTsKLX0KLQotLy8gQ29tcHV0
ZSB0aGUgc3VtIG9mIHNxdWFyZXMgb24gYWxsIHZpc2libGUgNHg0cyBpbiB0aGUgdHJhbnNmb3Jt
IGJsb2NrLgotc3RhdGljIGludDY0X3Qgc3VtX3NxdWFyZXNfdmlzaWJsZShjb25zdCBNQUNST0JM
T0NLRCAqeGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrZF9wbGFuZSAqY29uc3QgcGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRpZmYsIGNvbnN0IGludCBkaWZmX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJsa19yb3csIGludCBibGtfY29s
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCTE9DS19TSVpFIHBs
YW5lX2JzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCTE9D
S19TSVpFIHR4X2JzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
KnZpc2libGVfd2lkdGgsIGludCAqdmlzaWJsZV9oZWlnaHQpIHsKLSAgaW50NjRfdCBzc2U7Ci0g
IGNvbnN0IGludCBwbGFuZV80eDRfdyA9IG51bV80eDRfYmxvY2tzX3dpZGVfbG9va3VwW3BsYW5l
X2JzaXplXTsKLSAgY29uc3QgaW50IHBsYW5lXzR4NF9oID0gbnVtXzR4NF9ibG9ja3NfaGlnaF9s
b29rdXBbcGxhbmVfYnNpemVdOwotICBjb25zdCBpbnQgdHhfNHg0X3cgPSBudW1fNHg0X2Jsb2Nr
c193aWRlX2xvb2t1cFt0eF9ic2l6ZV07Ci0gIGNvbnN0IGludCB0eF80eDRfaCA9IG51bV80eDRf
YmxvY2tzX2hpZ2hfbG9va3VwW3R4X2JzaXplXTsKLSAgY29uc3QgaW50IGI0eDRzX3RvX3JpZ2h0
X2VkZ2UgPSBudW1fNHg0X3RvX2VkZ2UoCi0gICAgICBwbGFuZV80eDRfdywgeGQtPm1iX3RvX3Jp
Z2h0X2VkZ2UsIHBkLT5zdWJzYW1wbGluZ194LCBibGtfY29sKTsKLSAgY29uc3QgaW50IGI0eDRz
X3RvX2JvdHRvbV9lZGdlID0gbnVtXzR4NF90b19lZGdlKAotICAgICAgcGxhbmVfNHg0X2gsIHhk
LT5tYl90b19ib3R0b21fZWRnZSwgcGQtPnN1YnNhbXBsaW5nX3ksIGJsa19yb3cpOwotICBpZiAo
dHhfYnNpemUgPT0gQkxPQ0tfNFg0IHx8Ci0gICAgICAoYjR4NHNfdG9fcmlnaHRfZWRnZSA+PSB0
eF80eDRfdyAmJiBiNHg0c190b19ib3R0b21fZWRnZSA+PSB0eF80eDRfaCkpIHsKLSAgICBhc3Nl
cnQodHhfNHg0X3cgPT0gdHhfNHg0X2gpOwotICAgIHNzZSA9IChpbnQ2NF90KXZweF9zdW1fc3F1
YXJlc18yZF9pMTYoZGlmZiwgZGlmZl9zdHJpZGUsIHR4XzR4NF93IDw8IDIpOwotICAgICp2aXNp
YmxlX3dpZHRoID0gdHhfNHg0X3cgPDwgMjsKLSAgICAqdmlzaWJsZV9oZWlnaHQgPSB0eF80eDRf
aCA8PCAyOwotICB9IGVsc2UgewotICAgIGludCByLCBjOwotICAgIGNvbnN0IGludCBtYXhfciA9
IFZQWE1JTihiNHg0c190b19ib3R0b21fZWRnZSwgdHhfNHg0X2gpOwotICAgIGNvbnN0IGludCBt
YXhfYyA9IFZQWE1JTihiNHg0c190b19yaWdodF9lZGdlLCB0eF80eDRfdyk7Ci0gICAgc3NlID0g
MDsKLSAgICAvLyBpZiB3ZSBhcmUgaW4gdGhlIHVucmVzdHJpY3RlZCBtb3Rpb24gYm9yZGVyLgot
ICAgIGZvciAociA9IDA7IHIgPCBtYXhfcjsgKytyKSB7Ci0gICAgICAvLyBTa2lwIHZpc2l0aW5n
IHRoZSBzdWIgYmxvY2tzIHRoYXQgYXJlIHdob2xseSB3aXRoaW4gdGhlIFVNVi4KLSAgICAgIGZv
ciAoYyA9IDA7IGMgPCBtYXhfYzsgKytjKSB7Ci0gICAgICAgIHNzZSArPSAoaW50NjRfdCl2cHhf
c3VtX3NxdWFyZXNfMmRfaTE2KAotICAgICAgICAgICAgZGlmZiArIHIgKiBkaWZmX3N0cmlkZSAq
IDQgKyBjICogNCwgZGlmZl9zdHJpZGUsIDQpOwotICAgICAgfQotICAgIH0KLSAgICAqdmlzaWJs
ZV93aWR0aCA9IG1heF9jIDw8IDI7Ci0gICAgKnZpc2libGVfaGVpZ2h0ID0gbWF4X3IgPDwgMjsK
LSAgfQotICByZXR1cm4gc3NlOwotfQotCi0vLyBDaGVjayBpZiB0cmVsbGlzIGNvZWZmaWNpZW50
IG9wdGltaXphdGlvbiBvZiB0aGUgdHJhbnNmb3JtIGJsb2NrIGlzIGVuYWJsZWQuCi1zdGF0aWMg
SU5MSU5FIGludCBkb190cmVsbGlzX29wdChjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja2RfcGxhbmUg
KnBkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqc3Jj
X2RpZmYsIGludCBkaWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBibGtfcm93LCBpbnQgYmxrX2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEJMT0NLX1NJWkUgcGxhbmVfYnNpemUsIFRYX1NJWkUgdHhfc2l6ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmFyZykgewotICBjb25zdCBzdHJ1Y3QgZW5jb2Rl
X2JfYXJncyAqY29uc3QgYXJncyA9IChzdHJ1Y3QgZW5jb2RlX2JfYXJncyAqKWFyZzsKLSAgY29u
c3QgTUFDUk9CTE9DSyAqY29uc3QgeCA9IGFyZ3MtPng7Ci0KLSAgc3dpdGNoIChhcmdzLT5lbmFi
bGVfdHJlbGxpc19vcHQpIHsKLSAgICBjYXNlIERJU0FCTEVfVFJFTExJU19PUFQ6IHJldHVybiAw
OwotICAgIGNhc2UgRU5BQkxFX1RSRUxMSVNfT1BUOiByZXR1cm4gMTsKLSAgICBjYXNlIEVOQUJM
RV9UUkVMTElTX09QVF9UWF9SRF9TUkNfVkFSOiB7Ci0gICAgICB2cHhfY2xlYXJfc3lzdGVtX3N0
YXRlKCk7Ci0KLSAgICAgIHJldHVybiAoYXJncy0+dHJlbGxpc19vcHRfdGhyZXNoID4gMC4wKQot
ICAgICAgICAgICAgICAgICA/ICh4LT5sb2dfYmxvY2tfc3JjX3ZhciA8PSBhcmdzLT50cmVsbGlz
X29wdF90aHJlc2gpCi0gICAgICAgICAgICAgICAgIDogMTsKLSAgICB9Ci0gICAgY2FzZSBFTkFC
TEVfVFJFTExJU19PUFRfVFhfUkRfUkVTSURVQUxfTVNFOiB7Ci0gICAgICBjb25zdCBNQUNST0JM
T0NLRCAqY29uc3QgeGQgPSAmeC0+ZV9tYmQ7Ci0gICAgICBjb25zdCBCTE9DS19TSVpFIHR4X2Jz
aXplID0gdHhzaXplX3RvX2JzaXplW3R4X3NpemVdOwotI2lmIENPTkZJR19WUDlfSElHSEJJVERF
UFRICi0gICAgICBjb25zdCBpbnQgZGVxdWFudF9zaGlmdCA9Ci0gICAgICAgICAgKHhkLT5jdXJf
YnVmLT5mbGFncyAmIFlWMTJfRkxBR19ISUdIQklUREVQVEgpID8geGQtPmJkIC0gNSA6IDM7Ci0j
ZWxzZQotICAgICAgY29uc3QgaW50IGRlcXVhbnRfc2hpZnQgPSAzOwotI2VuZGlmICAvLyBDT05G
SUdfVlA5X0hJR0hCSVRERVBUSAotICAgICAgY29uc3QgaW50IHFzdGVwID0gcGQtPmRlcXVhbnRb
MV0gPj4gZGVxdWFudF9zaGlmdDsKLSAgICAgIGludCAqc3NlX2NhbGNfZG9uZSA9IGFyZ3MtPnNz
ZV9jYWxjX2RvbmU7Ci0gICAgICBpbnQ2NF90ICpzc2UgPSBhcmdzLT5zc2U7Ci0gICAgICBpbnQg
dmlzaWJsZV93aWR0aCA9IDAsIHZpc2libGVfaGVpZ2h0ID0gMDsKLQotICAgICAgLy8gVE9ETzog
RW5hYmxlIHRoZSBzZiBmb3IgaGlnaCBiaXQtZGVwdGggY2FzZQotICAgICAgaWYgKCh4ZC0+Y3Vy
X2J1Zi0+ZmxhZ3MgJiBZVjEyX0ZMQUdfSElHSEJJVERFUFRIKSB8fCAhc3NlIHx8Ci0gICAgICAg
ICAgIXNzZV9jYWxjX2RvbmUpCi0gICAgICAgIHJldHVybiAxOwotCi0gICAgICAqc3NlID0gc3Vt
X3NxdWFyZXNfdmlzaWJsZSh4ZCwgcGQsIHNyY19kaWZmLCBkaWZmX3N0cmlkZSwgYmxrX3JvdywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsa19jb2wsIHBsYW5lX2JzaXplLCB0
eF9ic2l6ZSwgJnZpc2libGVfd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmdmlzaWJsZV9oZWlnaHQpOwotICAgICAgKnNzZV9jYWxjX2RvbmUgPSAxOwotCi0gICAgICB2
cHhfY2xlYXJfc3lzdGVtX3N0YXRlKCk7Ci0KLSAgICAgIHJldHVybiAoKihzc2UpIDw9IChpbnQ2
NF90KXZpc2libGVfd2lkdGggKiB2aXNpYmxlX2hlaWdodCAqIHFzdGVwICoKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBxc3RlcCAqIGFyZ3MtPnRyZWxsaXNfb3B0X3RocmVzaCk7Ci0gICAg
fQotICAgIGRlZmF1bHQ6IGFzc2VydCgwICYmICJJbnZhbGlkIHRyZWxsaXMgb3B0aW1pemF0aW9u
IG1ldGhvZC4iKTsgcmV0dXJuIDE7Ci0gIH0KLX0KLQotI2lmIENPTkZJR19DT0xMRUNUX0NPTVBP
TkVOVF9USU1JTkcKLXN0YXRpYyBJTkxJTkUgdm9pZCBzdGFydF90aW1pbmcoVlA5X0NPTVAgKmNw
aSwgaW50IGNvbXBvbmVudCkgewotICB2cHhfdXNlY190aW1lcl9zdGFydCgmY3BpLT5jb21wb25l
bnRfdGltZXJbY29tcG9uZW50XSk7Ci19Ci1zdGF0aWMgSU5MSU5FIHZvaWQgZW5kX3RpbWluZyhW
UDlfQ09NUCAqY3BpLCBpbnQgY29tcG9uZW50KSB7Ci0gIHZweF91c2VjX3RpbWVyX21hcmsoJmNw
aS0+Y29tcG9uZW50X3RpbWVyW2NvbXBvbmVudF0pOwotICBjcGktPmZyYW1lX2NvbXBvbmVudF90
aW1lW2NvbXBvbmVudF0gKz0KLSAgICAgIHZweF91c2VjX3RpbWVyX2VsYXBzZWQoJmNwaS0+Y29t
cG9uZW50X3RpbWVyW2NvbXBvbmVudF0pOwotfQotc3RhdGljIElOTElORSBjaGFyIGNvbnN0ICpn
ZXRfZnJhbWVfdHlwZV9lbnVtKGludCB0eXBlKSB7Ci0gIHN3aXRjaCAodHlwZSkgewotICAgIGNh
c2UgMDogcmV0dXJuICJLRVlfRlJBTUUiOwotICAgIGNhc2UgMTogcmV0dXJuICJJTlRFUl9GUkFN
RSI7Ci0gICAgZGVmYXVsdDogYXNzZXJ0KDApOwotICB9Ci0gIHJldHVybiAiZXJyb3IiOwotfQot
I2VuZGlmCi0KICNpZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0ZXJuICJDIgogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9ldGhyZWFkLmMgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9ldGhyZWFkLmMKaW5kZXggNjgxOTk2ZDMzNGViLi5lN2Y4YTUz
N2Q0NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V0aHJlYWQuYwor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9ldGhyZWFkLmMKQEAgLTgsOCArOCw2IEBA
CiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291
cmNlIHRyZWUuCiAgKi8KIAotI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X3RocmVhZF9jb21tb24u
aCIKLSNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfYml0c3RyZWFtLmgiCiAjaW5jbHVkZSAidnA5
L2VuY29kZXIvdnA5X2VuY29kZWZyYW1lLmgiCiAjaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2Vu
Y29kZXIuaCIKICNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfZXRocmVhZC5oIgpAQCAtODEsNTkg
Kzc5LDYwIEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9lbmNfd29ya2VycyhWUDlfQ09NUCAqY3BpLCBp
bnQgbnVtX3dvcmtlcnMpIHsKICAgVlA5X0NPTU1PTiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247
CiAgIGNvbnN0IFZQeFdvcmtlckludGVyZmFjZSAqY29uc3Qgd2ludGVyZmFjZSA9IHZweF9nZXRf
d29ya2VyX2ludGVyZmFjZSgpOwogICBpbnQgaTsKLSAgLy8gV2hpbGUgdXNpbmcgU1ZDLCB3ZSBu
ZWVkIHRvIGFsbG9jYXRlIHRocmVhZHMgYWNjb3JkaW5nIHRvIHRoZSBoaWdoZXN0Ci0gIC8vIHJl
c29sdXRpb24uIFdoZW4gcm93IGJhc2VkIG11bHRpdGhyZWFkaW5nIGlzIGVuYWJsZWQsIGl0IGlz
IE9LIHRvCi0gIC8vIGFsbG9jYXRlIG1vcmUgdGhyZWFkcyB0aGFuIHRoZSBudW1iZXIgb2YgbWF4
IHRpbGUgY29sdW1ucy4KLSAgaWYgKGNwaS0+dXNlX3N2YyAmJiAhY3BpLT5yb3dfbXQpIHsKLSAg
ICBpbnQgbWF4X3RpbGVfY29scyA9IGdldF9tYXhfdGlsZV9jb2xzKGNwaSk7Ci0gICAgbnVtX3dv
cmtlcnMgPSBWUFhNSU4oY3BpLT5veGNmLm1heF90aHJlYWRzLCBtYXhfdGlsZV9jb2xzKTsKLSAg
fQotICBhc3NlcnQobnVtX3dvcmtlcnMgPiAwKTsKLSAgaWYgKG51bV93b3JrZXJzID09IGNwaS0+
bnVtX3dvcmtlcnMpIHJldHVybjsKLSAgdnA5X2xvb3BfZmlsdGVyX2RlYWxsb2MoJmNwaS0+bGZf
cm93X3N5bmMpOwotICB2cDlfYml0c3RyZWFtX2VuY29kZV90aWxlc19idWZmZXJfZGVhbGxvYyhj
cGkpOwotICB2cDlfZW5jb2RlX2ZyZWVfbXRfZGF0YShjcGkpOwogCi0gIENIRUNLX01FTV9FUlJP
UigmY20tPmVycm9yLCBjcGktPndvcmtlcnMsCi0gICAgICAgICAgICAgICAgICB2cHhfbWFsbG9j
KG51bV93b3JrZXJzICogc2l6ZW9mKCpjcGktPndvcmtlcnMpKSk7CisgIC8vIE9ubHkgcnVuIG9u
Y2UgdG8gY3JlYXRlIHRocmVhZHMgYW5kIGFsbG9jYXRlIHRocmVhZCBkYXRhLgorICBpZiAoY3Bp
LT5udW1fd29ya2VycyA9PSAwKSB7CisgICAgaW50IGFsbG9jYXRlZF93b3JrZXJzID0gbnVtX3dv
cmtlcnM7CiAKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGNwaS0+dGlsZV90aHJfZGF0
YSwKLSAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2MobnVtX3dvcmtlcnMsIHNpemVvZigqY3Bp
LT50aWxlX3Rocl9kYXRhKSkpOworICAgIC8vIFdoaWxlIHVzaW5nIFNWQywgd2UgbmVlZCB0byBh
bGxvY2F0ZSB0aHJlYWRzIGFjY29yZGluZyB0byB0aGUgaGlnaGVzdAorICAgIC8vIHJlc29sdXRp
b24uIFdoZW4gcm93IGJhc2VkIG11bHRpdGhyZWFkaW5nIGlzIGVuYWJsZWQsIGl0IGlzIE9LIHRv
CisgICAgLy8gYWxsb2NhdGUgbW9yZSB0aHJlYWRzIHRoYW4gdGhlIG51bWJlciBvZiBtYXggdGls
ZSBjb2x1bW5zLgorICAgIGlmIChjcGktPnVzZV9zdmMgJiYgIWNwaS0+cm93X210KSB7CisgICAg
ICBpbnQgbWF4X3RpbGVfY29scyA9IGdldF9tYXhfdGlsZV9jb2xzKGNwaSk7CisgICAgICBhbGxv
Y2F0ZWRfd29ya2VycyA9IFZQWE1JTihjcGktPm94Y2YubWF4X3RocmVhZHMsIG1heF90aWxlX2Nv
bHMpOworICAgIH0KIAotICBmb3IgKGkgPSAwOyBpIDwgbnVtX3dvcmtlcnM7IGkrKykgewotICAg
IFZQeFdvcmtlciAqY29uc3Qgd29ya2VyID0gJmNwaS0+d29ya2Vyc1tpXTsKLSAgICBFbmNXb3Jr
ZXJEYXRhICp0aHJlYWRfZGF0YSA9ICZjcGktPnRpbGVfdGhyX2RhdGFbaV07CisgICAgQ0hFQ0tf
TUVNX0VSUk9SKGNtLCBjcGktPndvcmtlcnMsCisgICAgICAgICAgICAgICAgICAgIHZweF9tYWxs
b2MoYWxsb2NhdGVkX3dvcmtlcnMgKiBzaXplb2YoKmNwaS0+d29ya2VycykpKTsKIAotICAgICsr
Y3BpLT5udW1fd29ya2VyczsKLSAgICB3aW50ZXJmYWNlLT5pbml0KHdvcmtlcik7CisgICAgQ0hF
Q0tfTUVNX0VSUk9SKGNtLCBjcGktPnRpbGVfdGhyX2RhdGEsCisgICAgICAgICAgICAgICAgICAg
IHZweF9jYWxsb2MoYWxsb2NhdGVkX3dvcmtlcnMsIHNpemVvZigqY3BpLT50aWxlX3Rocl9kYXRh
KSkpOwogCi0gICAgaWYgKGkgPCBudW1fd29ya2VycyAtIDEpIHsKLSAgICAgIHRocmVhZF9kYXRh
LT5jcGkgPSBjcGk7CisgICAgZm9yIChpID0gMDsgaSA8IGFsbG9jYXRlZF93b3JrZXJzOyBpKysp
IHsKKyAgICAgIFZQeFdvcmtlciAqY29uc3Qgd29ya2VyID0gJmNwaS0+d29ya2Vyc1tpXTsKKyAg
ICAgIEVuY1dvcmtlckRhdGEgKnRocmVhZF9kYXRhID0gJmNwaS0+dGlsZV90aHJfZGF0YVtpXTsK
IAotICAgICAgLy8gQWxsb2NhdGUgdGhyZWFkIGRhdGEuCi0gICAgICBDSEVDS19NRU1fRVJST1Io
JmNtLT5lcnJvciwgdGhyZWFkX2RhdGEtPnRkLAotICAgICAgICAgICAgICAgICAgICAgIHZweF9t
ZW1hbGlnbigzMiwgc2l6ZW9mKCp0aHJlYWRfZGF0YS0+dGQpKSk7Ci0gICAgICB2cDlfemVybygq
dGhyZWFkX2RhdGEtPnRkKTsKKyAgICAgICsrY3BpLT5udW1fd29ya2VyczsKKyAgICAgIHdpbnRl
cmZhY2UtPmluaXQod29ya2VyKTsKIAotICAgICAgLy8gU2V0IHVwIHBjX3RyZWUuCi0gICAgICB0
aHJlYWRfZGF0YS0+dGQtPmxlYWZfdHJlZSA9IE5VTEw7Ci0gICAgICB0aHJlYWRfZGF0YS0+dGQt
PnBjX3RyZWUgPSBOVUxMOwotICAgICAgdnA5X3NldHVwX3BjX3RyZWUoY20sIHRocmVhZF9kYXRh
LT50ZCk7CisgICAgICBpZiAoaSA8IGFsbG9jYXRlZF93b3JrZXJzIC0gMSkgeworICAgICAgICB0
aHJlYWRfZGF0YS0+Y3BpID0gY3BpOwogCi0gICAgICAvLyBBbGxvY2F0ZSBmcmFtZSBjb3VudGVy
cyBpbiB0aHJlYWQgZGF0YS4KLSAgICAgIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCB0aHJl
YWRfZGF0YS0+dGQtPmNvdW50cywKLSAgICAgICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKDEs
IHNpemVvZigqdGhyZWFkX2RhdGEtPnRkLT5jb3VudHMpKSk7CisgICAgICAgIC8vIEFsbG9jYXRl
IHRocmVhZCBkYXRhLgorICAgICAgICBDSEVDS19NRU1fRVJST1IoY20sIHRocmVhZF9kYXRhLT50
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZweF9tZW1hbGlnbigzMiwgc2l6ZW9mKCp0aHJl
YWRfZGF0YS0+dGQpKSk7CisgICAgICAgIHZwOV96ZXJvKCp0aHJlYWRfZGF0YS0+dGQpOwogCi0g
ICAgICAvLyBDcmVhdGUgdGhyZWFkcwotICAgICAgaWYgKCF3aW50ZXJmYWNlLT5yZXNldCh3b3Jr
ZXIpKQotICAgICAgICB2cHhfaW50ZXJuYWxfZXJyb3IoJmNtLT5lcnJvciwgVlBYX0NPREVDX0VS
Uk9SLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRpbGUgZW5jb2RlciB0aHJlYWQgY3Jl
YXRpb24gZmFpbGVkIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgIC8vIE1haW4gdGhyZWFkIGFjdHMg
YXMgYSB3b3JrZXIgYW5kIHVzZXMgdGhlIHRocmVhZCBkYXRhIGluIGNwaS4KLSAgICAgIHRocmVh
ZF9kYXRhLT5jcGkgPSBjcGk7Ci0gICAgICB0aHJlYWRfZGF0YS0+dGQgPSAmY3BpLT50ZDsKKyAg
ICAgICAgLy8gU2V0IHVwIHBjX3RyZWUuCisgICAgICAgIHRocmVhZF9kYXRhLT50ZC0+bGVhZl90
cmVlID0gTlVMTDsKKyAgICAgICAgdGhyZWFkX2RhdGEtPnRkLT5wY190cmVlID0gTlVMTDsKKyAg
ICAgICAgdnA5X3NldHVwX3BjX3RyZWUoY20sIHRocmVhZF9kYXRhLT50ZCk7CisKKyAgICAgICAg
Ly8gQWxsb2NhdGUgZnJhbWUgY291bnRlcnMgaW4gdGhyZWFkIGRhdGEuCisgICAgICAgIENIRUNL
X01FTV9FUlJPUihjbSwgdGhyZWFkX2RhdGEtPnRkLT5jb3VudHMsCisgICAgICAgICAgICAgICAg
ICAgICAgICB2cHhfY2FsbG9jKDEsIHNpemVvZigqdGhyZWFkX2RhdGEtPnRkLT5jb3VudHMpKSk7
CisKKyAgICAgICAgLy8gQ3JlYXRlIHRocmVhZHMKKyAgICAgICAgaWYgKCF3aW50ZXJmYWNlLT5y
ZXNldCh3b3JrZXIpKQorICAgICAgICAgIHZweF9pbnRlcm5hbF9lcnJvcigmY20tPmVycm9yLCBW
UFhfQ09ERUNfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaWxlIGVuY29k
ZXIgdGhyZWFkIGNyZWF0aW9uIGZhaWxlZCIpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgLy8g
TWFpbiB0aHJlYWQgYWN0cyBhcyBhIHdvcmtlciBhbmQgdXNlcyB0aGUgdGhyZWFkIGRhdGEgaW4g
Y3BpLgorICAgICAgICB0aHJlYWRfZGF0YS0+Y3BpID0gY3BpOworICAgICAgICB0aHJlYWRfZGF0
YS0+dGQgPSAmY3BpLT50ZDsKKyAgICAgIH0KKyAgICAgIHdpbnRlcmZhY2UtPnN5bmMod29ya2Vy
KTsKICAgICB9Ci0gICAgd2ludGVyZmFjZS0+c3luYyh3b3JrZXIpOwogICB9CiB9CiAKQEAgLTE3
MCwyNyArMTY5LDYgQEAgc3RhdGljIHZvaWQgbGF1bmNoX2VuY193b3JrZXJzKFZQOV9DT01QICpj
cGksIFZQeFdvcmtlckhvb2sgaG9vaywgdm9pZCAqZGF0YTIsCiAgIH0KIH0KIAotdm9pZCB2cDlf
ZW5jb2RlX2ZyZWVfbXRfZGF0YShzdHJ1Y3QgVlA5X0NPTVAgKmNwaSkgewotICBpbnQgdDsKLSAg
Zm9yICh0ID0gMDsgdCA8IGNwaS0+bnVtX3dvcmtlcnM7ICsrdCkgewotICAgIFZQeFdvcmtlciAq
Y29uc3Qgd29ya2VyID0gJmNwaS0+d29ya2Vyc1t0XTsKLSAgICBFbmNXb3JrZXJEYXRhICpjb25z
dCB0aHJlYWRfZGF0YSA9ICZjcGktPnRpbGVfdGhyX2RhdGFbdF07Ci0KLSAgICAvLyBEZWFsbG9j
YXRlIGFsbG9jYXRlZCB0aHJlYWRzLgotICAgIHZweF9nZXRfd29ya2VyX2ludGVyZmFjZSgpLT5l
bmQod29ya2VyKTsKLQotICAgIC8vIERlYWxsb2NhdGUgYWxsb2NhdGVkIHRocmVhZCBkYXRhLgot
ICAgIGlmICh0IDwgY3BpLT5udW1fd29ya2VycyAtIDEpIHsKLSAgICAgIHZweF9mcmVlKHRocmVh
ZF9kYXRhLT50ZC0+Y291bnRzKTsKLSAgICAgIHZwOV9mcmVlX3BjX3RyZWUodGhyZWFkX2RhdGEt
PnRkKTsKLSAgICAgIHZweF9mcmVlKHRocmVhZF9kYXRhLT50ZCk7Ci0gICAgfQotICB9Ci0gIHZw
eF9mcmVlKGNwaS0+dGlsZV90aHJfZGF0YSk7Ci0gIHZweF9mcmVlKGNwaS0+d29ya2Vycyk7Ci0g
IGNwaS0+bnVtX3dvcmtlcnMgPSAwOwotfQotCiB2b2lkIHZwOV9lbmNvZGVfdGlsZXNfbXQoVlA5
X0NPTVAgKmNwaSkgewogICBWUDlfQ09NTU9OICpjb25zdCBjbSA9ICZjcGktPmNvbW1vbjsKICAg
Y29uc3QgaW50IHRpbGVfY29scyA9IDEgPDwgY20tPmxvZzJfdGlsZV9jb2xzOwpAQCAtMjY1LDcg
KzI0Myw2IEBAIHN0YXRpYyB2b2lkIGFjY3VtdWxhdGVfZnBfdGlsZV9zdGF0KFRpbGVEYXRhRW5j
ICp0aWxlX2RhdGEsCiAgIHRpbGVfZGF0YS0+ZnBfZGF0YS5pbnRyYV9jb3VudF9oaWdoICs9IHRp
bGVfZGF0YV90LT5mcF9kYXRhLmludHJhX2NvdW50X2hpZ2g7CiAgIHRpbGVfZGF0YS0+ZnBfZGF0
YS5pbnRyYV9za2lwX2NvdW50ICs9IHRpbGVfZGF0YV90LT5mcF9kYXRhLmludHJhX3NraXBfY291
bnQ7CiAgIHRpbGVfZGF0YS0+ZnBfZGF0YS5tdmNvdW50ICs9IHRpbGVfZGF0YV90LT5mcF9kYXRh
Lm12Y291bnQ7Ci0gIHRpbGVfZGF0YS0+ZnBfZGF0YS5uZXdfbXZfY291bnQgKz0gdGlsZV9kYXRh
X3QtPmZwX2RhdGEubmV3X212X2NvdW50OwogICB0aWxlX2RhdGEtPmZwX2RhdGEuc3VtX212ciAr
PSB0aWxlX2RhdGFfdC0+ZnBfZGF0YS5zdW1fbXZyOwogICB0aWxlX2RhdGEtPmZwX2RhdGEuc3Vt
X212cl9hYnMgKz0gdGlsZV9kYXRhX3QtPmZwX2RhdGEuc3VtX212cl9hYnM7CiAgIHRpbGVfZGF0
YS0+ZnBfZGF0YS5zdW1fbXZjICs9IHRpbGVfZGF0YV90LT5mcF9kYXRhLnN1bV9tdmM7CkBAIC0y
OTMsNyArMjcwLDcgQEAgdm9pZCB2cDlfcm93X210X3N5bmNfbWVtX2FsbG9jKFZQOVJvd01UU3lu
YyAqcm93X210X3N5bmMsIFZQOV9DT01NT04gKmNtLAogICB7CiAgICAgaW50IGk7CiAKLSAgICBD
SEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgcm93X210X3N5bmMtPm11dGV4LAorICAgIENIRUNL
X01FTV9FUlJPUihjbSwgcm93X210X3N5bmMtPm11dGV4LAogICAgICAgICAgICAgICAgICAgICB2
cHhfbWFsbG9jKHNpemVvZigqcm93X210X3N5bmMtPm11dGV4KSAqIHJvd3MpKTsKICAgICBpZiAo
cm93X210X3N5bmMtPm11dGV4KSB7CiAgICAgICBmb3IgKGkgPSAwOyBpIDwgcm93czsgKytpKSB7
CkBAIC0zMDEsNyArMjc4LDcgQEAgdm9pZCB2cDlfcm93X210X3N5bmNfbWVtX2FsbG9jKFZQOVJv
d01UU3luYyAqcm93X210X3N5bmMsIFZQOV9DT01NT04gKmNtLAogICAgICAgfQogICAgIH0KIAot
ICAgIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCByb3dfbXRfc3luYy0+Y29uZCwKKyAgICBD
SEVDS19NRU1fRVJST1IoY20sIHJvd19tdF9zeW5jLT5jb25kLAogICAgICAgICAgICAgICAgICAg
ICB2cHhfbWFsbG9jKHNpemVvZigqcm93X210X3N5bmMtPmNvbmQpICogcm93cykpOwogICAgIGlm
IChyb3dfbXRfc3luYy0+Y29uZCkgewogICAgICAgZm9yIChpID0gMDsgaSA8IHJvd3M7ICsraSkg
ewpAQCAtMzExLDcgKzI4OCw3IEBAIHZvaWQgdnA5X3Jvd19tdF9zeW5jX21lbV9hbGxvYyhWUDlS
b3dNVFN5bmMgKnJvd19tdF9zeW5jLCBWUDlfQ09NTU9OICpjbSwKICAgfQogI2VuZGlmICAvLyBD
T05GSUdfTVVMVElUSFJFQUQKIAotICBDSEVDS19NRU1fRVJST1IoJmNtLT5lcnJvciwgcm93X210
X3N5bmMtPmN1cl9jb2wsCisgIENIRUNLX01FTV9FUlJPUihjbSwgcm93X210X3N5bmMtPmN1cl9j
b2wsCiAgICAgICAgICAgICAgICAgICB2cHhfbWFsbG9jKHNpemVvZigqcm93X210X3N5bmMtPmN1
cl9jb2wpICogcm93cykpOwogCiAgIC8vIFNldCB1cCBuc3luYy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X2V0aHJlYWQuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X2V0aHJlYWQuaAppbmRleCA0YzE5MmRhNTE1NTQuLmNkYTAyOTNiY2YwZCAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXRocmVhZC5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X2V0aHJlYWQuaApAQCAtNDIsMTEgKzQyLDYgQEAgdHlwZWRlZiBzdHJ1
Y3QgVlA5Um93TVRTeW5jRGF0YSB7CiAgIGludCByb3dzOwogfSBWUDlSb3dNVFN5bmM7CiAKLS8v
IEZyZWVzIEVuY1dvcmtlckRhdGEgcmVsYXRlZCBhbGxvY2F0aW9ucyBtYWRlIGJ5IHZwOV9lbmNv
ZGVfKl9tdCgpLgotLy8gcm93X210IHNwZWNpZmljIGRhdGEgaXMgZnJlZWQgd2l0aCB2cDlfcm93
X210X21lbV9kZWFsbG9jKCkgYW5kIGlzIG5vdAotLy8gY2FsbGVkIGJ5IHRoaXMgZnVuY3Rpb24u
Ci12b2lkIHZwOV9lbmNvZGVfZnJlZV9tdF9kYXRhKHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKLQog
dm9pZCB2cDlfZW5jb2RlX3RpbGVzX210KHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKIAogdm9pZCB2
cDlfZW5jb2RlX3RpbGVzX3Jvd19tdChzdHJ1Y3QgVlA5X0NPTVAgKmNwaSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9leHRfcmF0ZWN0cmwuYyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIvdnA5X2V4dF9yYXRlY3RybC5jCmluZGV4IDQ2NjRlOGM1ZTJjOC4uYTI3ZWI2
NTNiYTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9leHRfcmF0ZWN0
cmwuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9leHRfcmF0ZWN0cmwuYwpAQCAt
OCwxNSArOCwxMCBAQAogICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJv
b3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgogICovCiAKLSNpbmNsdWRlIDxzdGRkZWYuaD4KLQogI2lu
Y2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9leHRfcmF0ZWN0cmwuaCIKICNpbmNsdWRlICJ2cDkvZW5j
b2Rlci92cDlfZW5jb2Rlci5oIgogI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X2NvbW1vbi5oIgog
I2luY2x1ZGUgInZweF9kc3AvcHNuci5oIgotI2luY2x1ZGUgInZweC92cHhfY29kZWMuaCIKLSNp
bmNsdWRlICJ2cHgvdnB4X2V4dF9yYXRlY3RybC5oIgotI2luY2x1ZGUgInZweC92cHhfdHBsLmgi
CiAKIHZweF9jb2RlY19lcnJfdCB2cDlfZXh0cmNfaW5pdChFWFRfUkFURUNUUkwgKmV4dF9yYXRl
Y3RybCkgewogICBpZiAoZXh0X3JhdGVjdHJsID09IE5VTEwpIHsKQEAgLTk3LDcgKzkyLDYgQEAg
c3RhdGljIHZvaWQgZ2VuX3JjX2ZpcnN0cGFzc19zdGF0cyhjb25zdCBGSVJTVFBBU1NfU1RBVFMg
KnN0YXRzLAogICByY19mcmFtZV9zdGF0cy0+bXZfaW5fb3V0X2NvdW50ID0gc3RhdHMtPm12X2lu
X291dF9jb3VudDsKICAgcmNfZnJhbWVfc3RhdHMtPmR1cmF0aW9uID0gc3RhdHMtPmR1cmF0aW9u
OwogICByY19mcmFtZV9zdGF0cy0+Y291bnQgPSBzdGF0cy0+Y291bnQ7Ci0gIHJjX2ZyYW1lX3N0
YXRzLT5uZXdfbXZfY291bnQgPSBzdGF0cy0+bmV3X212X2NvdW50OwogfQogCiB2cHhfY29kZWNf
ZXJyX3QgdnA5X2V4dHJjX3NlbmRfZmlyc3RwYXNzX3N0YXRzKApAQCAtMTI0LDIxICsxMTgsNiBA
QCB2cHhfY29kZWNfZXJyX3QgdnA5X2V4dHJjX3NlbmRfZmlyc3RwYXNzX3N0YXRzKAogICByZXR1
cm4gVlBYX0NPREVDX09LOwogfQogCi12cHhfY29kZWNfZXJyX3QgdnA5X2V4dHJjX3NlbmRfdHBs
X3N0YXRzKEVYVF9SQVRFQ1RSTCAqZXh0X3JhdGVjdHJsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBWcHhUcGxHb3BTdGF0cyAqdHBsX2dvcF9zdGF0cykg
ewotICBpZiAoZXh0X3JhdGVjdHJsID09IE5VTEwpIHsKLSAgICByZXR1cm4gVlBYX0NPREVDX0lO
VkFMSURfUEFSQU07Ci0gIH0KLSAgaWYgKGV4dF9yYXRlY3RybC0+cmVhZHkgJiYgZXh0X3JhdGVj
dHJsLT5mdW5jcy5zZW5kX3RwbF9nb3Bfc3RhdHMgIT0gTlVMTCkgewotICAgIHZweF9yY19zdGF0
dXNfdCByY19zdGF0dXMgPSBleHRfcmF0ZWN0cmwtPmZ1bmNzLnNlbmRfdHBsX2dvcF9zdGF0cygK
LSAgICAgICAgZXh0X3JhdGVjdHJsLT5tb2RlbCwgdHBsX2dvcF9zdGF0cyk7Ci0gICAgaWYgKHJj
X3N0YXR1cyA9PSBWUFhfUkNfRVJST1IpIHsKLSAgICAgIHJldHVybiBWUFhfQ09ERUNfRVJST1I7
Ci0gICAgfQotICB9Ci0gIHJldHVybiBWUFhfQ09ERUNfT0s7Ci19Ci0KIHN0YXRpYyBpbnQgZXh0
cmNfZ2V0X2ZyYW1lX3R5cGUoRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUpIHsKICAgLy8g
VE9ETyhhbmdpZWJpcmQpOiBBZGQgdW5pdCB0ZXN0IHRvIG1ha2Ugc3VyZSB0aGlzIGZ1bmN0aW9u
IGJlaGF2ZXMgbGlrZQogICAvLyBnZXRfZnJhbWVfdHlwZV9mcm9tX3VwZGF0ZV90eXBlKCkKQEAg
LTE1MiwyNiArMTMxLDI1IEBAIHN0YXRpYyBpbnQgZXh0cmNfZ2V0X2ZyYW1lX3R5cGUoRlJBTUVf
VVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUpIHsKICAgICBkZWZhdWx0OgogICAgICAgZnByaW50Zihz
dGRlcnIsICJVbnN1cHBvcnRlZCB1cGRhdGVfdHlwZSAlZFxuIiwgdXBkYXRlX3R5cGUpOwogICAg
ICAgYWJvcnQoKTsKKyAgICAgIHJldHVybiAxOwogICB9CiB9CiAKIHZweF9jb2RlY19lcnJfdCB2
cDlfZXh0cmNfZ2V0X2VuY29kZWZyYW1lX2RlY2lzaW9uKAogICAgIEVYVF9SQVRFQ1RSTCAqZXh0
X3JhdGVjdHJsLCBpbnQgc2hvd19pbmRleCwgaW50IGNvZGluZ19pbmRleCwgaW50IGdvcF9pbmRl
eCwKLSAgICBGUkFNRV9VUERBVEVfVFlQRSB1cGRhdGVfdHlwZSwgaW50IGdvcF9zaXplLCBpbnQg
dXNlX2FsdF9yZWYsCisgICAgRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUsCiAgICAgUmVm
Q250QnVmZmVyICpyZWZfZnJhbWVfYnVmc1tNQVhfSU5URVJfUkVGX0ZSQU1FU10sIGludCByZWZf
ZnJhbWVfZmxhZ3MsCiAgICAgdnB4X3JjX2VuY29kZWZyYW1lX2RlY2lzaW9uX3QgKmVuY29kZV9m
cmFtZV9kZWNpc2lvbikgewogICBpZiAoZXh0X3JhdGVjdHJsID09IE5VTEwpIHsKICAgICByZXR1
cm4gVlBYX0NPREVDX0lOVkFMSURfUEFSQU07CiAgIH0KLSAgaWYgKGV4dF9yYXRlY3RybC0+cmVh
ZHkgJiYgKGV4dF9yYXRlY3RybC0+ZnVuY3MucmNfdHlwZSAmIFZQWF9SQ19RUCkgIT0gMCkgewor
ICBpZiAoZXh0X3JhdGVjdHJsLT5yZWFkeSkgewogICAgIHZweF9yY19zdGF0dXNfdCByY19zdGF0
dXM7CiAgICAgdnB4X3JjX2VuY29kZWZyYW1lX2luZm9fdCBlbmNvZGVfZnJhbWVfaW5mbzsKICAg
ICBlbmNvZGVfZnJhbWVfaW5mby5zaG93X2luZGV4ID0gc2hvd19pbmRleDsKICAgICBlbmNvZGVf
ZnJhbWVfaW5mby5jb2RpbmdfaW5kZXggPSBjb2RpbmdfaW5kZXg7CiAgICAgZW5jb2RlX2ZyYW1l
X2luZm8uZ29wX2luZGV4ID0gZ29wX2luZGV4OwogICAgIGVuY29kZV9mcmFtZV9pbmZvLmZyYW1l
X3R5cGUgPSBleHRyY19nZXRfZnJhbWVfdHlwZSh1cGRhdGVfdHlwZSk7Ci0gICAgZW5jb2RlX2Zy
YW1lX2luZm8uZ29wX3NpemUgPSBnb3Bfc2l6ZTsKLSAgICBlbmNvZGVfZnJhbWVfaW5mby51c2Vf
YWx0X3JlZiA9IHVzZV9hbHRfcmVmOwogCiAgICAgdnA5X2dldF9yZWZfZnJhbWVfaW5mbyh1cGRh
dGVfdHlwZSwgcmVmX2ZyYW1lX2ZsYWdzLCByZWZfZnJhbWVfYnVmcywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVuY29kZV9mcmFtZV9pbmZvLnJlZl9mcmFtZV9jb2RpbmdfaW5kZXhlcywK
QEAgLTE5MCw3ICsxNjgsNyBAQCB2cHhfY29kZWNfZXJyX3QgdnA5X2V4dHJjX3VwZGF0ZV9lbmNv
ZGVmcmFtZV9yZXN1bHQoCiAgICAgRVhUX1JBVEVDVFJMICpleHRfcmF0ZWN0cmwsIGludDY0X3Qg
Yml0X2NvdW50LAogICAgIGNvbnN0IFlWMTJfQlVGRkVSX0NPTkZJRyAqc291cmNlX2ZyYW1lLAog
ICAgIGNvbnN0IFlWMTJfQlVGRkVSX0NPTkZJRyAqY29kZWRfZnJhbWUsIHVpbnQzMl90IGJpdF9k
ZXB0aCwKLSAgICB1aW50MzJfdCBpbnB1dF9iaXRfZGVwdGgsIGNvbnN0IGludCBhY3R1YWxfZW5j
b2RpbmdfcWluZGV4KSB7CisgICAgdWludDMyX3QgaW5wdXRfYml0X2RlcHRoKSB7CiAgIGlmIChl
eHRfcmF0ZWN0cmwgPT0gTlVMTCkgewogICAgIHJldHVybiBWUFhfQ09ERUNfSU5WQUxJRF9QQVJB
TTsKICAgfQpAQCAtMjAyLDcgKzE4MCw2IEBAIHZweF9jb2RlY19lcnJfdCB2cDlfZXh0cmNfdXBk
YXRlX2VuY29kZWZyYW1lX3Jlc3VsdCgKICAgICBlbmNvZGVfZnJhbWVfcmVzdWx0LnBpeGVsX2Nv
dW50ID0KICAgICAgICAgc291cmNlX2ZyYW1lLT55X2Nyb3Bfd2lkdGggKiBzb3VyY2VfZnJhbWUt
PnlfY3JvcF9oZWlnaHQgKwogICAgICAgICAyICogc291cmNlX2ZyYW1lLT51dl9jcm9wX3dpZHRo
ICogc291cmNlX2ZyYW1lLT51dl9jcm9wX2hlaWdodDsKLSAgICBlbmNvZGVfZnJhbWVfcmVzdWx0
LmFjdHVhbF9lbmNvZGluZ19xaW5kZXggPSBhY3R1YWxfZW5jb2RpbmdfcWluZGV4OwogI2lmIENP
TkZJR19WUDlfSElHSEJJVERFUFRICiAgICAgdnB4X2NhbGNfaGlnaGJkX3BzbnIoc291cmNlX2Zy
YW1lLCBjb2RlZF9mcmFtZSwgJnBzbnIsIGJpdF9kZXB0aCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnB1dF9iaXRfZGVwdGgpOwpAQCAtMjIwLDYyICsxOTcsMyBAQCB2cHhfY29kZWNfZXJy
X3QgdnA5X2V4dHJjX3VwZGF0ZV9lbmNvZGVmcmFtZV9yZXN1bHQoCiAgIH0KICAgcmV0dXJuIFZQ
WF9DT0RFQ19PSzsKIH0KLQotdnB4X2NvZGVjX2Vycl90IHZwOV9leHRyY19nZXRfZ29wX2RlY2lz
aW9uKAotICAgIEVYVF9SQVRFQ1RSTCAqZXh0X3JhdGVjdHJsLCBjb25zdCB2cHhfcmNfZ29wX2lu
Zm9fdCAqY29uc3QgZ29wX2luZm8sCi0gICAgdnB4X3JjX2dvcF9kZWNpc2lvbl90ICpnb3BfZGVj
aXNpb24pIHsKLSAgdnB4X3JjX3N0YXR1c190IHJjX3N0YXR1czsKLSAgaWYgKGV4dF9yYXRlY3Ry
bCA9PSBOVUxMIHx8ICFleHRfcmF0ZWN0cmwtPnJlYWR5IHx8Ci0gICAgICAoZXh0X3JhdGVjdHJs
LT5mdW5jcy5yY190eXBlICYgVlBYX1JDX0dPUCkgPT0gMCkgewotICAgIHJldHVybiBWUFhfQ09E
RUNfSU5WQUxJRF9QQVJBTTsKLSAgfQotICByY19zdGF0dXMgPSBleHRfcmF0ZWN0cmwtPmZ1bmNz
LmdldF9nb3BfZGVjaXNpb24oZXh0X3JhdGVjdHJsLT5tb2RlbCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvcF9pbmZvLCBnb3BfZGVjaXNpb24p
OwotICBpZiAoZ29wX2RlY2lzaW9uLT51c2VfYWx0X3JlZikgewotICAgIGNvbnN0IGludCBhcmZf
Y29uc3RyYWludCA9Ci0gICAgICAgIGdvcF9kZWNpc2lvbi0+Z29wX2NvZGluZ19mcmFtZXMgPj0g
Z29wX2luZm8tPm1pbl9nZl9pbnRlcnZhbCAmJgotICAgICAgICBnb3BfZGVjaXNpb24tPmdvcF9j
b2RpbmdfZnJhbWVzIDwgZ29wX2luZm8tPmxhZ19pbl9mcmFtZXM7Ci0gICAgaWYgKCFhcmZfY29u
c3RyYWludCB8fCAhZ29wX2luZm8tPmFsbG93X2FsdF9yZWYpIHJldHVybiBWUFhfQ09ERUNfRVJS
T1I7Ci0gIH0KLSAgLy8gVE9ETyhjaGVuZ2NoZW4pOiBUYWtlIG1pbiBhbmQgbWF4IGdmIGludGVy
dmFsIGZyb20gdGhlIG1vZGVsCi0gIC8vIGFuZCBvdmVyd3JpdGUgbGlidnB4J3MgZGVjaXNpb24g
c28gdGhhdCB3ZSBjYW4gZ2V0IHJpZAotICAvLyBvZiBvbmUgb2YgdGhlIGNoZWNrcyBoZXJlLgot
ICBpZiAoZ29wX2RlY2lzaW9uLT5nb3BfY29kaW5nX2ZyYW1lcyA+IGdvcF9pbmZvLT5mcmFtZXNf
dG9fa2V5IHx8Ci0gICAgICBnb3BfZGVjaXNpb24tPmdvcF9jb2RpbmdfZnJhbWVzIC0gZ29wX2Rl
Y2lzaW9uLT51c2VfYWx0X3JlZiA+Ci0gICAgICAgICAgZ29wX2luZm8tPm1heF9nZl9pbnRlcnZh
bCkgewotICAgIHJldHVybiBWUFhfQ09ERUNfRVJST1I7Ci0gIH0KLSAgaWYgKHJjX3N0YXR1cyA9
PSBWUFhfUkNfRVJST1IpIHsKLSAgICByZXR1cm4gVlBYX0NPREVDX0VSUk9SOwotICB9Ci0gIHJl
dHVybiBWUFhfQ09ERUNfT0s7Ci19Ci0KLXZweF9jb2RlY19lcnJfdCB2cDlfZXh0cmNfZ2V0X2Zy
YW1lX3JkbXVsdCgKLSAgICBFWFRfUkFURUNUUkwgKmV4dF9yYXRlY3RybCwgaW50IHNob3dfaW5k
ZXgsIGludCBjb2RpbmdfaW5kZXgsIGludCBnb3BfaW5kZXgsCi0gICAgRlJBTUVfVVBEQVRFX1RZ
UEUgdXBkYXRlX3R5cGUsIGludCBnb3Bfc2l6ZSwgaW50IHVzZV9hbHRfcmVmLAotICAgIFJlZkNu
dEJ1ZmZlciAqcmVmX2ZyYW1lX2J1ZnNbTUFYX0lOVEVSX1JFRl9GUkFNRVNdLCBpbnQgcmVmX2Zy
YW1lX2ZsYWdzLAotICAgIGludCAqcmRtdWx0KSB7Ci0gIHZweF9yY19zdGF0dXNfdCByY19zdGF0
dXM7Ci0gIHZweF9yY19lbmNvZGVmcmFtZV9pbmZvX3QgZW5jb2RlX2ZyYW1lX2luZm87Ci0gIGlm
IChleHRfcmF0ZWN0cmwgPT0gTlVMTCB8fCAhZXh0X3JhdGVjdHJsLT5yZWFkeSB8fAotICAgICAg
KGV4dF9yYXRlY3RybC0+ZnVuY3MucmNfdHlwZSAmIFZQWF9SQ19SRE1VTFQpID09IDApIHsKLSAg
ICByZXR1cm4gVlBYX0NPREVDX0lOVkFMSURfUEFSQU07Ci0gIH0KLSAgZW5jb2RlX2ZyYW1lX2lu
Zm8uc2hvd19pbmRleCA9IHNob3dfaW5kZXg7Ci0gIGVuY29kZV9mcmFtZV9pbmZvLmNvZGluZ19p
bmRleCA9IGNvZGluZ19pbmRleDsKLSAgZW5jb2RlX2ZyYW1lX2luZm8uZ29wX2luZGV4ID0gZ29w
X2luZGV4OwotICBlbmNvZGVfZnJhbWVfaW5mby5mcmFtZV90eXBlID0gZXh0cmNfZ2V0X2ZyYW1l
X3R5cGUodXBkYXRlX3R5cGUpOwotICBlbmNvZGVfZnJhbWVfaW5mby5nb3Bfc2l6ZSA9IGdvcF9z
aXplOwotICBlbmNvZGVfZnJhbWVfaW5mby51c2VfYWx0X3JlZiA9IHVzZV9hbHRfcmVmOwotCi0g
IHZwOV9nZXRfcmVmX2ZyYW1lX2luZm8odXBkYXRlX3R5cGUsIHJlZl9mcmFtZV9mbGFncywgcmVm
X2ZyYW1lX2J1ZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlX2ZyYW1lX2luZm8u
cmVmX2ZyYW1lX2NvZGluZ19pbmRleGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29k
ZV9mcmFtZV9pbmZvLnJlZl9mcmFtZV92YWxpZF9saXN0KTsKLSAgcmNfc3RhdHVzID0gZXh0X3Jh
dGVjdHJsLT5mdW5jcy5nZXRfZnJhbWVfcmRtdWx0KGV4dF9yYXRlY3RybC0+bW9kZWwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZW5jb2RlX2Zy
YW1lX2luZm8sIHJkbXVsdCk7Ci0gIGlmIChyY19zdGF0dXMgPT0gVlBYX1JDX0VSUk9SKSB7Ci0g
ICAgcmV0dXJuIFZQWF9DT0RFQ19FUlJPUjsKLSAgfQotICByZXR1cm4gVlBYX0NPREVDX09LOwot
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0X3JhdGVjdHJsLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9leHRfcmF0ZWN0cmwuaAppbmRleCBiMDQ1ODBj
MWQ0ZmMuLjExZTkxMDJhNjUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfZXh0X3JhdGVjdHJsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZXh0X3Jh
dGVjdHJsLmgKQEAgLTEyLDEyICsxMiwxMCBAQAogI2RlZmluZSBWUFhfVlA5X0VOQ09ERVJfVlA5
X0VYVF9SQVRFQ1RSTF9IXwogCiAjaW5jbHVkZSAidnB4L3ZweF9leHRfcmF0ZWN0cmwuaCIKLSNp
bmNsdWRlICJ2cHgvdnB4X3RwbC5oIgogI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9maXJzdHBh
c3MuaCIKIAogdHlwZWRlZiBzdHJ1Y3QgRVhUX1JBVEVDVFJMIHsKICAgaW50IHJlYWR5OwotICBp
bnQgZXh0X3JkbXVsdDsKICAgdnB4X3JjX21vZGVsX3QgbW9kZWw7CiAgIHZweF9yY19mdW5jc190
IGZ1bmNzOwogICB2cHhfcmNfY29uZmlnX3QgcmF0ZWN0cmxfY29uZmlnOwpAQCAtMzUsMTIgKzMz
LDkgQEAgdnB4X2NvZGVjX2Vycl90IHZwOV9leHRyY19kZWxldGUoRVhUX1JBVEVDVFJMICpleHRf
cmF0ZWN0cmwpOwogdnB4X2NvZGVjX2Vycl90IHZwOV9leHRyY19zZW5kX2ZpcnN0cGFzc19zdGF0
cygKICAgICBFWFRfUkFURUNUUkwgKmV4dF9yYXRlY3RybCwgY29uc3QgRklSU1RfUEFTU19JTkZP
ICpmaXJzdF9wYXNzX2luZm8pOwogCi12cHhfY29kZWNfZXJyX3QgdnA5X2V4dHJjX3NlbmRfdHBs
X3N0YXRzKEVYVF9SQVRFQ1RSTCAqZXh0X3JhdGVjdHJsLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBWcHhUcGxHb3BTdGF0cyAqdHBsX2dvcF9zdGF0cyk7
Ci0KIHZweF9jb2RlY19lcnJfdCB2cDlfZXh0cmNfZ2V0X2VuY29kZWZyYW1lX2RlY2lzaW9uKAog
ICAgIEVYVF9SQVRFQ1RSTCAqZXh0X3JhdGVjdHJsLCBpbnQgc2hvd19pbmRleCwgaW50IGNvZGlu
Z19pbmRleCwgaW50IGdvcF9pbmRleCwKLSAgICBGUkFNRV9VUERBVEVfVFlQRSB1cGRhdGVfdHlw
ZSwgaW50IGdvcF9zaXplLCBpbnQgdXNlX2FsdF9yZWYsCisgICAgRlJBTUVfVVBEQVRFX1RZUEUg
dXBkYXRlX3R5cGUsCiAgICAgUmVmQ250QnVmZmVyICpyZWZfZnJhbWVfYnVmc1tNQVhfSU5URVJf
UkVGX0ZSQU1FU10sIGludCByZWZfZnJhbWVfZmxhZ3MsCiAgICAgdnB4X3JjX2VuY29kZWZyYW1l
X2RlY2lzaW9uX3QgKmVuY29kZV9mcmFtZV9kZWNpc2lvbik7CiAKQEAgLTQ4LDE2ICs0Myw2IEBA
IHZweF9jb2RlY19lcnJfdCB2cDlfZXh0cmNfdXBkYXRlX2VuY29kZWZyYW1lX3Jlc3VsdCgKICAg
ICBFWFRfUkFURUNUUkwgKmV4dF9yYXRlY3RybCwgaW50NjRfdCBiaXRfY291bnQsCiAgICAgY29u
c3QgWVYxMl9CVUZGRVJfQ09ORklHICpzb3VyY2VfZnJhbWUsCiAgICAgY29uc3QgWVYxMl9CVUZG
RVJfQ09ORklHICpjb2RlZF9mcmFtZSwgdWludDMyX3QgYml0X2RlcHRoLAotICAgIHVpbnQzMl90
IGlucHV0X2JpdF9kZXB0aCwgY29uc3QgaW50IGFjdHVhbF9lbmNvZGluZ19xaW5kZXgpOwotCi12
cHhfY29kZWNfZXJyX3QgdnA5X2V4dHJjX2dldF9nb3BfZGVjaXNpb24oCi0gICAgRVhUX1JBVEVD
VFJMICpleHRfcmF0ZWN0cmwsIGNvbnN0IHZweF9yY19nb3BfaW5mb190ICpjb25zdCBnb3BfaW5m
bywKLSAgICB2cHhfcmNfZ29wX2RlY2lzaW9uX3QgKmdvcF9kZWNpc2lvbik7Ci0KLXZweF9jb2Rl
Y19lcnJfdCB2cDlfZXh0cmNfZ2V0X2ZyYW1lX3JkbXVsdCgKLSAgICBFWFRfUkFURUNUUkwgKmV4
dF9yYXRlY3RybCwgaW50IHNob3dfaW5kZXgsIGludCBjb2RpbmdfaW5kZXgsIGludCBnb3BfaW5k
ZXgsCi0gICAgRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRlX3R5cGUsIGludCBnb3Bfc2l6ZSwgaW50
IHVzZV9hbHRfcmVmLAotICAgIFJlZkNudEJ1ZmZlciAqcmVmX2ZyYW1lX2J1ZnNbTUFYX0lOVEVS
X1JFRl9GUkFNRVNdLCBpbnQgcmVmX2ZyYW1lX2ZsYWdzLAotICAgIGludCAqcmRtdWx0KTsKKyAg
ICB1aW50MzJfdCBpbnB1dF9iaXRfZGVwdGgpOwogCiAjZW5kaWYgIC8vIFZQWF9WUDlfRU5DT0RF
Ul9WUDlfRVhUX1JBVEVDVFJMX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3ZwOV9maXJzdHBhc3MuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2ZpcnN0cGFzcy5j
CmluZGV4IGE5Y2RmNTM1M2ZmMi4uMmE5Y2Y1Mjg5OGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3MuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3ZwOV9maXJzdHBhc3MuYwpAQCAtNTQsMzAgKzU0LDYgQEAKICNkZWZpbmUgTkNPVU5UX0lOVFJB
X1RIUkVTSCA4MTkyCiAjZGVmaW5lIE5DT1VOVF9JTlRSQV9GQUNUT1IgMwogCi0jZGVmaW5lIElO
VFJBX1BBUlQgMC4wMDUKLSNkZWZpbmUgREVGQVVMVF9ERUNBWV9MSU1JVCAwLjc1Ci0jZGVmaW5l
IExPV19TUl9ESUZGX1RSSEVTSCAwLjEKLSNkZWZpbmUgTE9XX0NPREVEX0VSUl9QRVJfTUIgMTAu
MAotI2RlZmluZSBOQ09VTlRfRlJBTUVfSUlfVEhSRVNIIDYuMAotI2RlZmluZSBCQVNFTElORV9F
UlJfUEVSX01CIDEyNTAwLjAKLSNkZWZpbmUgR0ZfTUFYX0ZSQU1FX0JPT1NUIDk2LjAKLQotI2lm
ZGVmIEFHR1JFU1NJVkVfVkJSCi0jZGVmaW5lIEtGX01JTl9GUkFNRV9CT09TVCA0MC4wCi0jZGVm
aW5lIEtGX01BWF9GUkFNRV9CT09TVCA4MC4wCi0jZGVmaW5lIE1BWF9LRl9UT1RfQk9PU1QgNDgw
MAotI2Vsc2UKLSNkZWZpbmUgS0ZfTUlOX0ZSQU1FX0JPT1NUIDQwLjAKLSNkZWZpbmUgS0ZfTUFY
X0ZSQU1FX0JPT1NUIDk2LjAKLSNkZWZpbmUgTUFYX0tGX1RPVF9CT09TVCA1NDAwCi0jZW5kaWYK
LQotI2RlZmluZSBERUZBVUxUX1pNX0ZBQ1RPUiAwLjUKLSNkZWZpbmUgTUlOUV9BREpfTElNSVQg
NDgKLSNkZWZpbmUgTUlOUV9BREpfTElNSVRfQ1EgMjAKLSNkZWZpbmUgSElHSF9VTkRFUlNIT09U
X1JBVElPIDIKLSNkZWZpbmUgQVZfV1FfRkFDVE9SIDQuMAotCiAjZGVmaW5lIERPVUJMRV9ESVZJ
REVfQ0hFQ0soeCkgKCh4KSA8IDAgPyAoeCktMC4wMDAwMDEgOiAoeCkgKyAwLjAwMDAwMSkKIAog
I2lmIEFSRl9TVEFUU19PVVRQVVQKQEAgLTEzNSw2ICsxMTEsMTcgQEAgc3RhdGljIHZvaWQgb3V0
cHV0X3N0YXRzKEZJUlNUUEFTU19TVEFUUyAqc3RhdHMpIHsKICNlbmRpZgogfQogCisjaWYgQ09O
RklHX0ZQX01CX1NUQVRTCitzdGF0aWMgdm9pZCBvdXRwdXRfZnBtYl9zdGF0cyh1aW50OF90ICp0
aGlzX2ZyYW1lX21iX3N0YXRzLCBWUDlfQ09NTU9OICpjbSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCB2cHhfY29kZWNfcGt0X2xpc3QgKnBrdGxpc3QpIHsKKyAgc3RydWN0
IHZweF9jb2RlY19jeF9wa3QgcGt0OworICBwa3Qua2luZCA9IFZQWF9DT0RFQ19GUE1CX1NUQVRT
X1BLVDsKKyAgcGt0LmRhdGEuZmlyc3RwYXNzX21iX3N0YXRzLmJ1ZiA9IHRoaXNfZnJhbWVfbWJf
c3RhdHM7CisgIHBrdC5kYXRhLmZpcnN0cGFzc19tYl9zdGF0cy5zeiA9IGNtLT5pbml0aWFsX21i
cyAqIHNpemVvZih1aW50OF90KTsKKyAgdnB4X2NvZGVjX3BrdF9saXN0X2FkZChwa3RsaXN0LCAm
cGt0KTsKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZCB6ZXJvX3N0YXRzKEZJUlNUUEFTU19TVEFU
UyAqc2VjdGlvbikgewogICBzZWN0aW9uLT5mcmFtZSA9IDAuMDsKICAgc2VjdGlvbi0+d2VpZ2h0
ID0gMC4wOwpAQCAtMTUyLDcgKzEzOSw2IEBAIHN0YXRpYyB2b2lkIHplcm9fc3RhdHMoRklSU1RQ
QVNTX1NUQVRTICpzZWN0aW9uKSB7CiAgIHNlY3Rpb24tPnBjbnRfaW50cmFfaGlnaCA9IDAuMDsK
ICAgc2VjdGlvbi0+aW5hY3RpdmVfem9uZV9yb3dzID0gMC4wOwogICBzZWN0aW9uLT5pbmFjdGl2
ZV96b25lX2NvbHMgPSAwLjA7Ci0gIHNlY3Rpb24tPm5ld19tdl9jb3VudCA9IDAuMDsKICAgc2Vj
dGlvbi0+TVZyID0gMC4wOwogICBzZWN0aW9uLT5tdnJfYWJzID0gMC4wOwogICBzZWN0aW9uLT5N
VmMgPSAwLjA7CkBAIC0xODQsNyArMTcwLDYgQEAgc3RhdGljIHZvaWQgYWNjdW11bGF0ZV9zdGF0
cyhGSVJTVFBBU1NfU1RBVFMgKnNlY3Rpb24sCiAgIHNlY3Rpb24tPnBjbnRfaW50cmFfaGlnaCAr
PSBmcmFtZS0+cGNudF9pbnRyYV9oaWdoOwogICBzZWN0aW9uLT5pbmFjdGl2ZV96b25lX3Jvd3Mg
Kz0gZnJhbWUtPmluYWN0aXZlX3pvbmVfcm93czsKICAgc2VjdGlvbi0+aW5hY3RpdmVfem9uZV9j
b2xzICs9IGZyYW1lLT5pbmFjdGl2ZV96b25lX2NvbHM7Ci0gIHNlY3Rpb24tPm5ld19tdl9jb3Vu
dCArPSBmcmFtZS0+bmV3X212X2NvdW50OwogICBzZWN0aW9uLT5NVnIgKz0gZnJhbWUtPk1WcjsK
ICAgc2VjdGlvbi0+bXZyX2FicyArPSBmcmFtZS0+bXZyX2FiczsKICAgc2VjdGlvbi0+TVZjICs9
IGZyYW1lLT5NVmM7CkBAIC0yMTQsNyArMTk5LDYgQEAgc3RhdGljIHZvaWQgc3VidHJhY3Rfc3Rh
dHMoRklSU1RQQVNTX1NUQVRTICpzZWN0aW9uLAogICBzZWN0aW9uLT5wY250X2ludHJhX2hpZ2gg
LT0gZnJhbWUtPnBjbnRfaW50cmFfaGlnaDsKICAgc2VjdGlvbi0+aW5hY3RpdmVfem9uZV9yb3dz
IC09IGZyYW1lLT5pbmFjdGl2ZV96b25lX3Jvd3M7CiAgIHNlY3Rpb24tPmluYWN0aXZlX3pvbmVf
Y29scyAtPSBmcmFtZS0+aW5hY3RpdmVfem9uZV9jb2xzOwotICBzZWN0aW9uLT5uZXdfbXZfY291
bnQgLT0gZnJhbWUtPm5ld19tdl9jb3VudDsKICAgc2VjdGlvbi0+TVZyIC09IGZyYW1lLT5NVnI7
CiAgIHNlY3Rpb24tPm12cl9hYnMgLT0gZnJhbWUtPm12cl9hYnM7CiAgIHNlY3Rpb24tPk1WYyAt
PSBmcmFtZS0+TVZjOwpAQCAtMzY0LDYgKzM0OCw3IEBAIHN0YXRpYyB2cHhfdmFyaWFuY2VfZm5f
dCBoaWdoYmRfZ2V0X2Jsb2NrX3ZhcmlhbmNlX2ZuKEJMT0NLX1NJWkUgYnNpemUsCiAgICAgICAg
IGNhc2UgQkxPQ0tfOFgxNjogcmV0dXJuIHZweF9oaWdoYmRfOF9tc2U4eDE2OwogICAgICAgICBk
ZWZhdWx0OiByZXR1cm4gdnB4X2hpZ2hiZF84X21zZTE2eDE2OwogICAgICAgfQorICAgICAgYnJl
YWs7CiAgICAgY2FzZSAxMDoKICAgICAgIHN3aXRjaCAoYnNpemUpIHsKICAgICAgICAgY2FzZSBC
TE9DS184WDg6IHJldHVybiB2cHhfaGlnaGJkXzEwX21zZTh4ODsKQEAgLTM3MSw2ICszNTYsNyBA
QCBzdGF0aWMgdnB4X3ZhcmlhbmNlX2ZuX3QgaGlnaGJkX2dldF9ibG9ja192YXJpYW5jZV9mbihC
TE9DS19TSVpFIGJzaXplLAogICAgICAgICBjYXNlIEJMT0NLXzhYMTY6IHJldHVybiB2cHhfaGln
aGJkXzEwX21zZTh4MTY7CiAgICAgICAgIGRlZmF1bHQ6IHJldHVybiB2cHhfaGlnaGJkXzEwX21z
ZTE2eDE2OwogICAgICAgfQorICAgICAgYnJlYWs7CiAgICAgY2FzZSAxMjoKICAgICAgIHN3aXRj
aCAoYnNpemUpIHsKICAgICAgICAgY2FzZSBCTE9DS184WDg6IHJldHVybiB2cHhfaGlnaGJkXzEy
X21zZTh4ODsKQEAgLTM3OCw2ICszNjQsNyBAQCBzdGF0aWMgdnB4X3ZhcmlhbmNlX2ZuX3QgaGln
aGJkX2dldF9ibG9ja192YXJpYW5jZV9mbihCTE9DS19TSVpFIGJzaXplLAogICAgICAgICBjYXNl
IEJMT0NLXzhYMTY6IHJldHVybiB2cHhfaGlnaGJkXzEyX21zZTh4MTY7CiAgICAgICAgIGRlZmF1
bHQ6IHJldHVybiB2cHhfaGlnaGJkXzEyX21zZTE2eDE2OwogICAgICAgfQorICAgICAgYnJlYWs7
CiAgIH0KIH0KIApAQCAtNDM1LDkgKzQyMiw2IEBAIHN0YXRpYyB2b2lkIGZpcnN0X3Bhc3NfbW90
aW9uX3NlYXJjaChWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LAogICBjb25zdCBCTE9DS19T
SVpFIGJzaXplID0geGQtPm1pWzBdLT5zYl90eXBlOwogICB2cDlfdmFyaWFuY2VfZm5fcHRyX3Qg
dl9mbl9wdHIgPSBjcGktPmZuX3B0cltic2l6ZV07CiAgIGNvbnN0IGludCBuZXdfbXZfbW9kZV9w
ZW5hbHR5ID0gTkVXX01WX01PREVfUEVOQUxUWTsKLSAgTVYgY2VudGVyX212X2Z1bGwgPSByZWZf
bXZfZnVsbDsKLSAgdW5zaWduZWQgaW50IHN0YXJ0X212X3NhZDsKLSAgdnA5X3NhZF9mbl9wdHJf
dCBzYWRfZm5fcHRyOwogCiAgIGludCBzdGVwX3BhcmFtID0gMzsKICAgaW50IGZ1cnRoZXJfc3Rl
cHMgPSAoTUFYX01WU0VBUkNIX1NURVBTIC0gMSkgLSBzdGVwX3BhcmFtOwpAQCAtNDU4LDE4ICs0
NDIsMTAgQEAgc3RhdGljIHZvaWQgZmlyc3RfcGFzc19tb3Rpb25fc2VhcmNoKFZQOV9DT01QICpj
cGksIE1BQ1JPQkxPQ0sgKngsCiAgIH0KICNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQ
VEgKIAotICAvLyBDYWxjdWxhdGUgU0FEIG9mIHRoZSBzdGFydCBtdgotICBjbGFtcF9tdigmcmVm
X212X2Z1bGwsIHgtPm12X2xpbWl0cy5jb2xfbWluLCB4LT5tdl9saW1pdHMuY29sX21heCwKLSAg
ICAgICAgICAgeC0+bXZfbGltaXRzLnJvd19taW4sIHgtPm12X2xpbWl0cy5yb3dfbWF4KTsKLSAg
c3RhcnRfbXZfc2FkID0gZ2V0X3N0YXJ0X212X3NhZCh4LCAmcmVmX212X2Z1bGwsICZjZW50ZXJf
bXZfZnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcGktPmZuX3B0clti
c2l6ZV0uc2RmLCB4LT5zYWRwZXJiaXQxNik7Ci0gIHNhZF9mbl9wdHIuc2RmID0gY3BpLT5mbl9w
dHJbYnNpemVdLnNkZjsKLSAgc2FkX2ZuX3B0ci5zZHg0ZGYgPSBjcGktPmZuX3B0cltic2l6ZV0u
c2R4NGRmOwotCiAgIC8vIENlbnRlciB0aGUgaW5pdGlhbCBzdGVwL2RpYW1vbmQgc2VhcmNoIG9u
IGJlc3QgbXYuCi0gIHRtcF9lcnIgPSBjcGktPmRpYW1vbmRfc2VhcmNoX3NhZCh4LCAmY3BpLT5z
c19jZmcsICZyZWZfbXZfZnVsbCwgc3RhcnRfbXZfc2FkLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJnRtcF9tdiwgc3RlcF9wYXJhbSwgeC0+c2FkcGVyYml0MTYsICZudW0w
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzYWRfZm5fcHRyLCByZWZf
bXYpOworICB0bXBfZXJyID0gY3BpLT5kaWFtb25kX3NlYXJjaF9zYWQoeCwgJmNwaS0+c3NfY2Zn
LCAmcmVmX212X2Z1bGwsICZ0bXBfbXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdGVwX3BhcmFtLCB4LT5zYWRwZXJiaXQxNiwgJm51bTAwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJnZfZm5fcHRyLCByZWZfbXYpOwogICBpZiAodG1wX2VyciA8
IElOVF9NQVgpCiAgICAgdG1wX2VyciA9IHZwOV9nZXRfbXZwcmVkX3Zhcih4LCAmdG1wX212LCBy
ZWZfbXYsICZ2X2ZuX3B0ciwgMSk7CiAgIGlmICh0bXBfZXJyIDwgSU5UX01BWCAtIG5ld19tdl9t
b2RlX3BlbmFsdHkpIHRtcF9lcnIgKz0gbmV3X212X21vZGVfcGVuYWx0eTsKQEAgLTQ4OSw5ICs0
NjUsOSBAQCBzdGF0aWMgdm9pZCBmaXJzdF9wYXNzX21vdGlvbl9zZWFyY2goVlA5X0NPTVAgKmNw
aSwgTUFDUk9CTE9DSyAqeCwKICAgICBpZiAobnVtMDApIHsKICAgICAgIC0tbnVtMDA7CiAgICAg
fSBlbHNlIHsKLSAgICAgIHRtcF9lcnIgPSBjcGktPmRpYW1vbmRfc2VhcmNoX3NhZCgKLSAgICAg
ICAgICB4LCAmY3BpLT5zc19jZmcsICZyZWZfbXZfZnVsbCwgc3RhcnRfbXZfc2FkLCAmdG1wX212
LCBzdGVwX3BhcmFtICsgbiwKLSAgICAgICAgICB4LT5zYWRwZXJiaXQxNiwgJm51bTAwLCAmc2Fk
X2ZuX3B0ciwgcmVmX212KTsKKyAgICAgIHRtcF9lcnIgPSBjcGktPmRpYW1vbmRfc2VhcmNoX3Nh
ZCh4LCAmY3BpLT5zc19jZmcsICZyZWZfbXZfZnVsbCwgJnRtcF9tdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwX3BhcmFtICsgbiwgeC0+c2FkcGVyYml0MTYs
ICZudW0wMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdl9mbl9w
dHIsIHJlZl9tdik7CiAgICAgICBpZiAodG1wX2VyciA8IElOVF9NQVgpCiAgICAgICAgIHRtcF9l
cnIgPSB2cDlfZ2V0X212cHJlZF92YXIoeCwgJnRtcF9tdiwgcmVmX212LCAmdl9mbl9wdHIsIDEp
OwogICAgICAgaWYgKHRtcF9lcnIgPCBJTlRfTUFYIC0gbmV3X212X21vZGVfcGVuYWx0eSkKQEAg
LTYwNiwxMSArNTgyLDExIEBAIHN0YXRpYyBpbnQgZ2V0X3Ntb290aF9pbnRyYV90aHJlc2hvbGQo
VlA5X0NPTU1PTiAqY20pIHsKICNkZWZpbmUgRlBfTUFYX0ROX1RIUkVTSCAyNAogI2RlZmluZSBL
RVJORUxfU0laRSAzCiAKLS8vIEJhc2VsaW5lIEtlcm5lbCB3ZWlnaHRzIGZvciBmaXJzdCBwYXNz
IG5vaXNlIG1ldHJpYwotc3RhdGljIHVpbnQ4X3QgZnBfZG5fa2VybmVsXzNbS0VSTkVMX1NJWkUg
KiBLRVJORUxfU0laRV0gPSB7IDEsIDIsIDEsIDIsIDQsCisvLyBCYXNlbGluZSBLZXJuYWwgd2Vp
Z2h0cyBmb3IgZmlyc3QgcGFzcyBub2lzZSBtZXRyaWMKK3N0YXRpYyB1aW50OF90IGZwX2RuX2tl
cm5hbF8zW0tFUk5FTF9TSVpFICogS0VSTkVMX1NJWkVdID0geyAxLCAyLCAxLCAyLCA0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDIsIDEsIDIsIDEgfTsKIAotLy8gRXN0aW1hdGUgbm9pc2UgYXQgYSBzaW5nbGUgcG9pbnQgYmFz
ZWQgb24gdGhlIGltcGFjdCBvZiBhIHNwYXRpYWwga2VybmVsCisvLyBFc3RpbWF0ZSBub2lzZSBh
dCBhIHNpbmdsZSBwb2ludCBiYXNlZCBvbiB0aGUgaW1wYWNlIG9mIGEgc3BhdGlhbCBrZXJuYWwK
IC8vIG9uIHRoZSBwb2ludCB2YWx1ZQogc3RhdGljIGludCBmcF9lc3RpbWF0ZV9wb2ludF9ub2lz
ZSh1aW50OF90ICpzcmNfcHRyLCBjb25zdCBpbnQgc3RyaWRlKSB7CiAgIGludCBzdW1fd2VpZ2h0
ID0gMDsKQEAgLTYyMCwyMyArNTk2LDIzIEBAIHN0YXRpYyBpbnQgZnBfZXN0aW1hdGVfcG9pbnRf
bm9pc2UodWludDhfdCAqc3JjX3B0ciwgY29uc3QgaW50IHN0cmlkZSkgewogICBpbnQgZGlmZjsK
ICAgaW50IGRuX2RpZmY7CiAgIHVpbnQ4X3QgKnRtcF9wdHI7Ci0gIHVpbnQ4X3QgKmtlcm5lbF9w
dHI7CisgIHVpbnQ4X3QgKmtlcm5hbF9wdHI7CiAgIHVpbnQ4X3QgZG5fdmFsOwogICB1aW50OF90
IGNlbnRyZV92YWwgPSAqc3JjX3B0cjsKIAotICBrZXJuZWxfcHRyID0gZnBfZG5fa2VybmVsXzM7
CisgIGtlcm5hbF9wdHIgPSBmcF9kbl9rZXJuYWxfMzsKIAotICAvLyBBcHBseSB0aGUga2VybmVs
CisgIC8vIEFwcGx5IHRoZSBrZXJuYWwKICAgdG1wX3B0ciA9IHNyY19wdHIgLSBzdHJpZGUgLSAx
OwogICBmb3IgKGkgPSAwOyBpIDwgS0VSTkVMX1NJWkU7ICsraSkgewogICAgIGZvciAoaiA9IDA7
IGogPCBLRVJORUxfU0laRTsgKytqKSB7CiAgICAgICBkaWZmID0gYWJzKChpbnQpY2VudHJlX3Zh
bCAtIChpbnQpdG1wX3B0cltqXSk7CiAgICAgICBtYXhfZGlmZiA9IFZQWE1BWChtYXhfZGlmZiwg
ZGlmZik7CiAgICAgICBpZiAoZGlmZiA8PSBGUF9ETl9USFJFU0gpIHsKLSAgICAgICAgc3VtX3dl
aWdodCArPSAqa2VybmVsX3B0cjsKLSAgICAgICAgc3VtX3ZhbCArPSAoaW50KXRtcF9wdHJbal0g
KiAoaW50KSprZXJuZWxfcHRyOworICAgICAgICBzdW1fd2VpZ2h0ICs9ICprZXJuYWxfcHRyOwor
ICAgICAgICBzdW1fdmFsICs9IChpbnQpdG1wX3B0cltqXSAqIChpbnQpKmtlcm5hbF9wdHI7CiAg
ICAgICB9Ci0gICAgICArK2tlcm5lbF9wdHI7CisgICAgICArK2tlcm5hbF9wdHI7CiAgICAgfQog
ICAgIHRtcF9wdHIgKz0gc3RyaWRlOwogICB9CkBAIC02NjIsMTMgKzYzOCwxMyBAQCBzdGF0aWMg
aW50IGZwX2hpZ2hiZF9lc3RpbWF0ZV9wb2ludF9ub2lzZSh1aW50OF90ICpzcmNfcHRyLCBjb25z
dCBpbnQgc3RyaWRlKSB7CiAgIGludCBkbl9kaWZmOwogICB1aW50OF90ICp0bXBfcHRyOwogICB1
aW50MTZfdCAqdG1wX3B0cjE2OwotICB1aW50OF90ICprZXJuZWxfcHRyOworICB1aW50OF90ICpr
ZXJuYWxfcHRyOwogICB1aW50MTZfdCBkbl92YWw7CiAgIHVpbnQxNl90IGNlbnRyZV92YWwgPSAq
Q09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsKIAotICBrZXJuZWxfcHRyID0gZnBfZG5fa2Vy
bmVsXzM7CisgIGtlcm5hbF9wdHIgPSBmcF9kbl9rZXJuYWxfMzsKIAotICAvLyBBcHBseSB0aGUg
a2VybmVsCisgIC8vIEFwcGx5IHRoZSBrZXJuYWwKICAgdG1wX3B0ciA9IHNyY19wdHIgLSBzdHJp
ZGUgLSAxOwogICBmb3IgKGkgPSAwOyBpIDwgS0VSTkVMX1NJWkU7ICsraSkgewogICAgIHRtcF9w
dHIxNiA9IENPTlZFUlRfVE9fU0hPUlRQVFIodG1wX3B0cik7CkBAIC02NzYsMTAgKzY1MiwxMCBA
QCBzdGF0aWMgaW50IGZwX2hpZ2hiZF9lc3RpbWF0ZV9wb2ludF9ub2lzZSh1aW50OF90ICpzcmNf
cHRyLCBjb25zdCBpbnQgc3RyaWRlKSB7CiAgICAgICBkaWZmID0gYWJzKChpbnQpY2VudHJlX3Zh
bCAtIChpbnQpdG1wX3B0cjE2W2pdKTsKICAgICAgIG1heF9kaWZmID0gVlBYTUFYKG1heF9kaWZm
LCBkaWZmKTsKICAgICAgIGlmIChkaWZmIDw9IEZQX0ROX1RIUkVTSCkgewotICAgICAgICBzdW1f
d2VpZ2h0ICs9ICprZXJuZWxfcHRyOwotICAgICAgICBzdW1fdmFsICs9IChpbnQpdG1wX3B0cjE2
W2pdICogKGludCkqa2VybmVsX3B0cjsKKyAgICAgICAgc3VtX3dlaWdodCArPSAqa2VybmFsX3B0
cjsKKyAgICAgICAgc3VtX3ZhbCArPSAoaW50KXRtcF9wdHIxNltqXSAqIChpbnQpKmtlcm5hbF9w
dHI7CiAgICAgICB9Ci0gICAgICArK2tlcm5lbF9wdHI7CisgICAgICArK2tlcm5hbF9wdHI7CiAg
ICAgfQogICAgIHRtcF9wdHIgKz0gc3RyaWRlOwogICB9CkBAIC04MDQsNyArNzgwLDYgQEAgc3Rh
dGljIHZvaWQgZmlyc3RfcGFzc19zdGF0X2NhbGMoVlA5X0NPTVAgKmNwaSwgRklSU1RQQVNTX1NU
QVRTICpmcHMsCiAgIGZwcy0+aW5hY3RpdmVfem9uZV9jb2xzID0gKGRvdWJsZSkwOwogCiAgIGlm
IChmcF9hY2NfZGF0YS0+bXZjb3VudCA+IDApIHsKLSAgICBmcHMtPm5ld19tdl9jb3VudCA9IChk
b3VibGUpKGZwX2FjY19kYXRhLT5uZXdfbXZfY291bnQpIC8gbnVtX21iczsKICAgICBmcHMtPk1W
ciA9IChkb3VibGUpKGZwX2FjY19kYXRhLT5zdW1fbXZyKSAvIGZwX2FjY19kYXRhLT5tdmNvdW50
OwogICAgIGZwcy0+bXZyX2FicyA9IChkb3VibGUpKGZwX2FjY19kYXRhLT5zdW1fbXZyX2Ficykg
LyBmcF9hY2NfZGF0YS0+bXZjb3VudDsKICAgICBmcHMtPk1WYyA9IChkb3VibGUpKGZwX2FjY19k
YXRhLT5zdW1fbXZjKSAvIGZwX2FjY19kYXRhLT5tdmNvdW50OwpAQCAtODIxLDcgKzc5Niw2IEBA
IHN0YXRpYyB2b2lkIGZpcnN0X3Bhc3Nfc3RhdF9jYWxjKFZQOV9DT01QICpjcGksIEZJUlNUUEFT
U19TVEFUUyAqZnBzLAogICAgICAgICAoZG91YmxlKShmcF9hY2NfZGF0YS0+c3VtX2luX3ZlY3Rv
cnMpIC8gKGZwX2FjY19kYXRhLT5tdmNvdW50ICogMik7CiAgICAgZnBzLT5wY250X21vdGlvbiA9
IChkb3VibGUpKGZwX2FjY19kYXRhLT5tdmNvdW50KSAvIG51bV9tYnM7CiAgIH0gZWxzZSB7Ci0g
ICAgZnBzLT5uZXdfbXZfY291bnQgPSAwLjA7CiAgICAgZnBzLT5NVnIgPSAwLjA7CiAgICAgZnBz
LT5tdnJfYWJzID0gMC4wOwogICAgIGZwcy0+TVZjID0gMC4wOwpAQCAtODQ3LDcgKzgyMSw2IEBA
IHN0YXRpYyB2b2lkIGFjY3VtdWxhdGVfZnBfbWJfcm93X3N0YXQoVGlsZURhdGFFbmMgKnRoaXNf
dGlsZSwKICAgdGhpc190aWxlLT5mcF9kYXRhLmludHJhX2NvdW50X2xvdyArPSBmcF9hY2NfZGF0
YS0+aW50cmFfY291bnRfbG93OwogICB0aGlzX3RpbGUtPmZwX2RhdGEuaW50cmFfY291bnRfaGln
aCArPSBmcF9hY2NfZGF0YS0+aW50cmFfY291bnRfaGlnaDsKICAgdGhpc190aWxlLT5mcF9kYXRh
LmludHJhX3NraXBfY291bnQgKz0gZnBfYWNjX2RhdGEtPmludHJhX3NraXBfY291bnQ7Ci0gIHRo
aXNfdGlsZS0+ZnBfZGF0YS5uZXdfbXZfY291bnQgKz0gZnBfYWNjX2RhdGEtPm5ld19tdl9jb3Vu
dDsKICAgdGhpc190aWxlLT5mcF9kYXRhLm12Y291bnQgKz0gZnBfYWNjX2RhdGEtPm12Y291bnQ7
CiAgIHRoaXNfdGlsZS0+ZnBfZGF0YS5zdW1fbXZyICs9IGZwX2FjY19kYXRhLT5zdW1fbXZyOwog
ICB0aGlzX3RpbGUtPmZwX2RhdGEuc3VtX212cl9hYnMgKz0gZnBfYWNjX2RhdGEtPnN1bV9tdnJf
YWJzOwpAQCAtOTE4LDkgKzg5MSw2IEBAIHZvaWQgdnA5X2ZpcnN0X3Bhc3NfZW5jb2RlX3RpbGVf
bWJfcm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogICBkb3VibGUgbWJfbmV1dHJh
bF9jb3VudDsKICAgaW50IHNjYWxlZF9sb3dfaW50cmFfdGhyZXNoID0gc2NhbGVfc3NlX3RocmVz
aG9sZChjbSwgTE9XX0lfVEhSRVNIKTsKIAotICBNViAqZmlyc3RfdG9wX212ID0gJnRpbGVfZGF0
YS0+Zmlyc3RwYXNzX3RvcF9tdjsKLSAgTVYgbGFzdF9ub256ZXJvX212ID0geyAwLCAwIH07Ci0K
ICAgLy8gRmlyc3QgcGFzcyBjb2RlIHJlcXVpcmVzIHZhbGlkIGxhc3QgYW5kIG5ldyBmcmFtZSBi
dWZmZXJzLgogICBhc3NlcnQobmV3X3l2MTIgIT0gTlVMTCk7CiAgIGFzc2VydChmcmFtZV9pc19p
bnRyYV9vbmx5KGNtKSB8fCAobHN0X3l2MTIgIT0gTlVMTCkpOwpAQCAtOTU5LDExICs5MjksMTEg
QEAgdm9pZCB2cDlfZmlyc3RfcGFzc19lbmNvZGVfdGlsZV9tYl9yb3coVlA5X0NPTVAgKmNwaSwg
VGhyZWFkRGF0YSAqdGQsCiAgICAgaW50IGxldmVsX3NhbXBsZTsKICAgICBjb25zdCBpbnQgbWJf
aW5kZXggPSBtYl9yb3cgKiBjbS0+bWJfY29scyArIG1iX2NvbDsKIAotICAgICgqKGNwaS0+cm93
X210X3N5bmNfcmVhZF9wdHIpKSgmdGlsZV9kYXRhLT5yb3dfbXRfc3luYywgbWJfcm93LCBjKTsK
KyNpZiBDT05GSUdfRlBfTUJfU1RBVFMKKyAgICBjb25zdCBpbnQgbWJfaW5kZXggPSBtYl9yb3cg
KiBjbS0+bWJfY29scyArIG1iX2NvbDsKKyNlbmRpZgogCi0gICAgaWYgKG1iX2NvbCA9PSBtYl9j
b2xfc3RhcnQpIHsKLSAgICAgIGxhc3Rfbm9uemVyb19tdiA9ICpmaXJzdF90b3BfbXY7Ci0gICAg
fQorICAgICgqKGNwaS0+cm93X210X3N5bmNfcmVhZF9wdHIpKSgmdGlsZV9kYXRhLT5yb3dfbXRf
c3luYywgbWJfcm93LCBjKTsKIAogICAgIC8vIEFkanVzdCB0byB0aGUgbmV4dCBjb2x1bW4gb2Yg
TUJzLgogICAgIHgtPnBsYW5lWzBdLnNyYy5idWYgPSBjcGktPlNvdXJjZS0+eV9idWZmZXIgKwpA
QCAtMTA5OCw2ICsxMDY4LDEzIEBAIHZvaWQgdnA5X2ZpcnN0X3Bhc3NfZW5jb2RlX3RpbGVfbWJf
cm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogICAgIC8vIEFjY3VtdWxhdGUgdGhl
IGludHJhIGVycm9yLgogICAgIGZwX2FjY19kYXRhLT5pbnRyYV9lcnJvciArPSAoaW50NjRfdCl0
aGlzX2Vycm9yOwogCisjaWYgQ09ORklHX0ZQX01CX1NUQVRTCisgICAgaWYgKGNwaS0+dXNlX2Zw
X21iX3N0YXRzKSB7CisgICAgICAvLyBpbml0aWFsaXphdGlvbgorICAgICAgY3BpLT50d29wYXNz
LmZyYW1lX21iX3N0YXRzX2J1ZlttYl9pbmRleF0gPSAwOworICAgIH0KKyNlbmRpZgorCiAgICAg
Ly8gU2V0IHVwIGxpbWl0IHZhbHVlcyBmb3IgbW90aW9uIHZlY3RvcnMgdG8gcHJldmVudCB0aGVt
IGV4dGVuZGluZwogICAgIC8vIG91dHNpZGUgdGhlIFVNViBib3JkZXJzLgogICAgIHgtPm12X2xp
bWl0cy5jb2xfbWluID0gLSgobWJfY29sICogMTYpICsgQk9SREVSX01WX1BJWEVMU19CMTYpOwpA
QCAtMTExMywxMCArMTA5MCw4IEBAIHZvaWQgdnA5X2ZpcnN0X3Bhc3NfZW5jb2RlX3RpbGVfbWJf
cm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogICAgICAgdnA5X3ZhcmlhbmNlX2Zu
X3B0cl90IHZfZm5fcHRyID0gY3BpLT5mbl9wdHJbYnNpemVdOwogCiAjaWYgQ09ORklHX1JBVEVf
Q1RSTAotICAgICAgaWYgKGNwaS0+b3hjZi51c2Vfc2ltcGxlX2VuY29kZV9hcGkpIHsKLSAgICAg
ICAgLy8gU3RvcmUgemVybyBtdiBhcyBkZWZhdWx0Ci0gICAgICAgIHN0b3JlX2ZwX21vdGlvbl92
ZWN0b3IoY3BpLCAmbXYsIG1iX3JvdywgbWJfY29sLCBMQVNUX0ZSQU1FLCAwKTsKLSAgICAgIH0K
KyAgICAgIC8vIFN0b3JlIHplcm8gbXYgYXMgZGVmYXVsdAorICAgICAgc3RvcmVfZnBfbW90aW9u
X3ZlY3RvcihjcGksICZtdiwgbWJfcm93LCBtYl9jb2wsIExBU1RfRlJBTUUsIDApOwogI2VuZGlm
ICAvLyBDT05GSUdfUkFHRV9DVFJMCiAKICAgICAgIHhkLT5wbGFuZVswXS5wcmVbMF0uYnVmID0g
Zmlyc3RfcmVmX2J1Zi0+eV9idWZmZXIgKyByZWNvbl95b2Zmc2V0OwpAQCAtMTE4NCw5ICsxMTU5
LDcgQEAgdm9pZCB2cDlfZmlyc3RfcGFzc19lbmNvZGVfdGlsZV9tYl9yb3coVlA5X0NPTVAgKmNw
aSwgVGhyZWFkRGF0YSAqdGQsCiAgICAgICAgICAgfQogICAgICAgICB9CiAjaWYgQ09ORklHX1JB
VEVfQ1RSTAotICAgICAgICBpZiAoY3BpLT5veGNmLnVzZV9zaW1wbGVfZW5jb2RlX2FwaSkgewot
ICAgICAgICAgIHN0b3JlX2ZwX21vdGlvbl92ZWN0b3IoY3BpLCAmbXYsIG1iX3JvdywgbWJfY29s
LCBMQVNUX0ZSQU1FLCAwKTsKLSAgICAgICAgfQorICAgICAgICBzdG9yZV9mcF9tb3Rpb25fdmVj
dG9yKGNwaSwgJm12LCBtYl9yb3csIG1iX2NvbCwgTEFTVF9GUkFNRSwgMCk7CiAjZW5kaWYgIC8v
IENPTkZJR19SQUdFX0NUUkwKIAogICAgICAgICAvLyBTZWFyY2ggaW4gYW4gb2xkZXIgcmVmZXJl
bmNlIGZyYW1lLgpAQCAtMTIxMCwxMCArMTE4Myw3IEBAIHZvaWQgdnA5X2ZpcnN0X3Bhc3NfZW5j
b2RlX3RpbGVfbWJfcm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogCiAgICAgICAg
ICAgZmlyc3RfcGFzc19tb3Rpb25fc2VhcmNoKGNwaSwgeCwgJnplcm9fbXYsICZ0bXBfbXYsICZn
Zl9tb3Rpb25fZXJyb3IpOwogI2lmIENPTkZJR19SQVRFX0NUUkwKLSAgICAgICAgICBpZiAoY3Bp
LT5veGNmLnVzZV9zaW1wbGVfZW5jb2RlX2FwaSkgewotICAgICAgICAgICAgc3RvcmVfZnBfbW90
aW9uX3ZlY3RvcihjcGksICZ0bXBfbXYsIG1iX3JvdywgbWJfY29sLCBHT0xERU5fRlJBTUUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwotICAgICAgICAgIH0KKyAgICAg
ICAgICBzdG9yZV9mcF9tb3Rpb25fdmVjdG9yKGNwaSwgJnRtcF9tdiwgbWJfcm93LCBtYl9jb2ws
IEdPTERFTl9GUkFNRSwgMSk7CiAjZW5kaWYgIC8vIENPTkZJR19SQUdFX0NUUkwKIAogICAgICAg
ICAgIGlmIChnZl9tb3Rpb25fZXJyb3IgPCBtb3Rpb25fZXJyb3IgJiYgZ2ZfbW90aW9uX2Vycm9y
IDwgdGhpc19lcnJvcikKQEAgLTEyNDMsNiArMTIxMywyMCBAQCB2b2lkIHZwOV9maXJzdF9wYXNz
X2VuY29kZV90aWxlX21iX3JvdyhWUDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKICAgICAg
IGJlc3RfcmVmX212LT5yb3cgPSAwOwogICAgICAgYmVzdF9yZWZfbXYtPmNvbCA9IDA7CiAKKyNp
ZiBDT05GSUdfRlBfTUJfU1RBVFMKKyAgICAgIGlmIChjcGktPnVzZV9mcF9tYl9zdGF0cykgewor
ICAgICAgICAvLyBpbnRyYSBwcmVkaWN0aW9uIHN0YXRpc3RpY3MKKyAgICAgICAgY3BpLT50d29w
YXNzLmZyYW1lX21iX3N0YXRzX2J1ZlttYl9pbmRleF0gPSAwOworICAgICAgICBjcGktPnR3b3Bh
c3MuZnJhbWVfbWJfc3RhdHNfYnVmW21iX2luZGV4XSB8PSBGUE1CX0RDSU5UUkFfTUFTSzsKKyAg
ICAgICAgY3BpLT50d29wYXNzLmZyYW1lX21iX3N0YXRzX2J1ZlttYl9pbmRleF0gfD0gRlBNQl9N
T1RJT05fWkVST19NQVNLOworICAgICAgICBpZiAodGhpc19lcnJvciA+IEZQTUJfRVJST1JfTEFS
R0VfVEgpIHsKKyAgICAgICAgICBjcGktPnR3b3Bhc3MuZnJhbWVfbWJfc3RhdHNfYnVmW21iX2lu
ZGV4XSB8PSBGUE1CX0VSUk9SX0xBUkdFX01BU0s7CisgICAgICAgIH0gZWxzZSBpZiAodGhpc19l
cnJvciA8IEZQTUJfRVJST1JfU01BTExfVEgpIHsKKyAgICAgICAgICBjcGktPnR3b3Bhc3MuZnJh
bWVfbWJfc3RhdHNfYnVmW21iX2luZGV4XSB8PSBGUE1CX0VSUk9SX1NNQUxMX01BU0s7CisgICAg
ICAgIH0KKyAgICAgIH0KKyNlbmRpZgorCiAgICAgICBpZiAobW90aW9uX2Vycm9yIDw9IHRoaXNf
ZXJyb3IpIHsKICAgICAgICAgdnB4X2NsZWFyX3N5c3RlbV9zdGF0ZSgpOwogCkBAIC0xMjc0LDcg
KzEyNTgsNyBAQCB2b2lkIHZwOV9maXJzdF9wYXNzX2VuY29kZV90aWxlX21iX3JvdyhWUDlfQ09N
UCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKICAgICAgICAgeGQtPm1pWzBdLT5tdlswXS5hc19tdiA9
IG12OwogICAgICAgICB4ZC0+bWlbMF0tPnR4X3NpemUgPSBUWF80WDQ7CiAgICAgICAgIHhkLT5t
aVswXS0+cmVmX2ZyYW1lWzBdID0gTEFTVF9GUkFNRTsKLSAgICAgICAgeGQtPm1pWzBdLT5yZWZf
ZnJhbWVbMV0gPSBOT19SRUZfRlJBTUU7CisgICAgICAgIHhkLT5taVswXS0+cmVmX2ZyYW1lWzFd
ID0gTk9ORTsKICAgICAgICAgdnA5X2J1aWxkX2ludGVyX3ByZWRpY3RvcnNfc2J5KHhkLCBtYl9y
b3cgPDwgMSwgbWJfY29sIDw8IDEsIGJzaXplKTsKICAgICAgICAgdnA5X2VuY29kZV9zYnlfcGFz
czEoeCwgYnNpemUpOwogICAgICAgICBmcF9hY2NfZGF0YS0+c3VtX212ciArPSBtdi5yb3c7CkBA
IC0xMjg3LDEzICsxMjcxLDQ3IEBAIHZvaWQgdnA5X2ZpcnN0X3Bhc3NfZW5jb2RlX3RpbGVfbWJf
cm93KFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAogCiAgICAgICAgICpiZXN0X3JlZl9t
diA9IG12OwogCisjaWYgQ09ORklHX0ZQX01CX1NUQVRTCisgICAgICAgIGlmIChjcGktPnVzZV9m
cF9tYl9zdGF0cykgeworICAgICAgICAgIC8vIGludGVyIHByZWRpY3Rpb24gc3RhdGlzdGljcwor
ICAgICAgICAgIGNwaS0+dHdvcGFzcy5mcmFtZV9tYl9zdGF0c19idWZbbWJfaW5kZXhdID0gMDsK
KyAgICAgICAgICBjcGktPnR3b3Bhc3MuZnJhbWVfbWJfc3RhdHNfYnVmW21iX2luZGV4XSAmPSB+
RlBNQl9EQ0lOVFJBX01BU0s7CisgICAgICAgICAgY3BpLT50d29wYXNzLmZyYW1lX21iX3N0YXRz
X2J1ZlttYl9pbmRleF0gfD0gRlBNQl9NT1RJT05fWkVST19NQVNLOworICAgICAgICAgIGlmICh0
aGlzX2Vycm9yID4gRlBNQl9FUlJPUl9MQVJHRV9USCkgeworICAgICAgICAgICAgY3BpLT50d29w
YXNzLmZyYW1lX21iX3N0YXRzX2J1ZlttYl9pbmRleF0gfD0gRlBNQl9FUlJPUl9MQVJHRV9NQVNL
OworICAgICAgICAgIH0gZWxzZSBpZiAodGhpc19lcnJvciA8IEZQTUJfRVJST1JfU01BTExfVEgp
IHsKKyAgICAgICAgICAgIGNwaS0+dHdvcGFzcy5mcmFtZV9tYl9zdGF0c19idWZbbWJfaW5kZXhd
IHw9IEZQTUJfRVJST1JfU01BTExfTUFTSzsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRp
ZgorCiAgICAgICAgIGlmICghaXNfemVyb19tdigmbXYpKSB7CiAgICAgICAgICAgKysoZnBfYWNj
X2RhdGEtPm12Y291bnQpOwotICAgICAgICAgIGlmICghaXNfZXF1YWxfbXYoJm12LCAmbGFzdF9u
b256ZXJvX212KSkgewotICAgICAgICAgICAgKysoZnBfYWNjX2RhdGEtPm5ld19tdl9jb3VudCk7
Ci0gICAgICAgICAgfQotICAgICAgICAgIGxhc3Rfbm9uemVyb19tdiA9IG12OwogCisjaWYgQ09O
RklHX0ZQX01CX1NUQVRTCisgICAgICAgICAgaWYgKGNwaS0+dXNlX2ZwX21iX3N0YXRzKSB7Cisg
ICAgICAgICAgICBjcGktPnR3b3Bhc3MuZnJhbWVfbWJfc3RhdHNfYnVmW21iX2luZGV4XSAmPSB+
RlBNQl9NT1RJT05fWkVST19NQVNLOworICAgICAgICAgICAgLy8gY2hlY2sgZXN0aW1hdGVkIG1v
dGlvbiBkaXJlY3Rpb24KKyAgICAgICAgICAgIGlmIChtdi5hc19tdi5jb2wgPiAwICYmIG12LmFz
X212LmNvbCA+PSBhYnMobXYuYXNfbXYucm93KSkgeworICAgICAgICAgICAgICAvLyByaWdodCBk
aXJlY3Rpb24KKyAgICAgICAgICAgICAgY3BpLT50d29wYXNzLmZyYW1lX21iX3N0YXRzX2J1Zltt
Yl9pbmRleF0gfD0KKyAgICAgICAgICAgICAgICAgIEZQTUJfTU9USU9OX1JJR0hUX01BU0s7Cisg
ICAgICAgICAgICB9IGVsc2UgaWYgKG12LmFzX212LnJvdyA8IDAgJiYKKyAgICAgICAgICAgICAg
ICAgICAgICAgYWJzKG12LmFzX212LnJvdykgPj0gYWJzKG12LmFzX212LmNvbCkpIHsKKyAgICAg
ICAgICAgICAgLy8gdXAgZGlyZWN0aW9uCisgICAgICAgICAgICAgIGNwaS0+dHdvcGFzcy5mcmFt
ZV9tYl9zdGF0c19idWZbbWJfaW5kZXhdIHw9IEZQTUJfTU9USU9OX1VQX01BU0s7CisgICAgICAg
ICAgICB9IGVsc2UgaWYgKG12LmFzX212LmNvbCA8IDAgJiYKKyAgICAgICAgICAgICAgICAgICAg
ICAgYWJzKG12LmFzX212LmNvbCkgPj0gYWJzKG12LmFzX212LnJvdykpIHsKKyAgICAgICAgICAg
ICAgLy8gbGVmdCBkaXJlY3Rpb24KKyAgICAgICAgICAgICAgY3BpLT50d29wYXNzLmZyYW1lX21i
X3N0YXRzX2J1ZlttYl9pbmRleF0gfD0KKyAgICAgICAgICAgICAgICAgIEZQTUJfTU9USU9OX0xF
RlRfTUFTSzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIC8vIGRvd24gZGly
ZWN0aW9uCisgICAgICAgICAgICAgIGNwaS0+dHdvcGFzcy5mcmFtZV9tYl9zdGF0c19idWZbbWJf
aW5kZXhdIHw9CisgICAgICAgICAgICAgICAgICBGUE1CX01PVElPTl9ET1dOX01BU0s7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgLy8gRG9lcyB0aGUgcm93
IHZlY3RvciBwb2ludCBpbndhcmRzIG9yIG91dHdhcmRzPwogICAgICAgICAgIGlmIChtYl9yb3cg
PCBjbS0+bWJfcm93cyAvIDIpIHsKICAgICAgICAgICAgIGlmIChtdi5yb3cgPiAwKQpAQCAtMTM0
MSwxNiArMTM1OSwxMSBAQCB2b2lkIHZwOV9maXJzdF9wYXNzX2VuY29kZV90aWxlX21iX3JvdyhW
UDlfQ09NUCAqY3BpLCBUaHJlYWREYXRhICp0ZCwKICAgICB9IGVsc2UgewogICAgICAgZnBfYWNj
X2RhdGEtPnNyX2NvZGVkX2Vycm9yICs9IChpbnQ2NF90KXRoaXNfZXJyb3I7CiAjaWYgQ09ORklH
X1JBVEVfQ1RSTAotICAgICAgaWYgKGNwaS0+b3hjZi51c2Vfc2ltcGxlX2VuY29kZV9hcGkpIHsK
LSAgICAgICAgc3RvcmVfZnBfbW90aW9uX3ZlY3RvcihjcGksIE5VTEwsIG1iX3JvdywgbWJfY29s
LCBJTlRSQV9GUkFNRSwgMCk7Ci0gICAgICB9CisgICAgICBzdG9yZV9mcF9tb3Rpb25fdmVjdG9y
KGNwaSwgTlVMTCwgbWJfcm93LCBtYl9jb2wsIElOVFJBX0ZSQU1FLCAwKTsKICNlbmRpZiAgLy8g
Q09ORklHX1JBR0VfQ1RSTAogICAgIH0KICAgICBmcF9hY2NfZGF0YS0+Y29kZWRfZXJyb3IgKz0g
KGludDY0X3QpdGhpc19lcnJvcjsKIAotICAgIGlmIChtYl9jb2wgPT0gbWJfY29sX3N0YXJ0KSB7
Ci0gICAgICAqZmlyc3RfdG9wX212ID0gbGFzdF9ub256ZXJvX212OwotICAgIH0KICAgICByZWNv
bl95b2Zmc2V0ICs9IDE2OwogICAgIHJlY29uX3V2b2Zmc2V0ICs9IHV2X21iX2hlaWdodDsKIApA
QCAtMTM3MywxMyArMTM4NiwxMSBAQCBzdGF0aWMgdm9pZCBmaXJzdF9wYXNzX2VuY29kZShWUDlf
Q09NUCAqY3BpLCBGSVJTVFBBU1NfREFUQSAqZnBfYWNjX2RhdGEpIHsKICAgTVYgYmVzdF9yZWZf
bXY7CiAgIC8vIFRpbGluZyBpcyBpZ25vcmVkIGluIHRoZSBmaXJzdCBwYXNzLgogICB2cDlfdGls
ZV9pbml0KHRpbGUsIGNtLCAwLCAwKTsKLSAgdGlsZV9kYXRhLmZpcnN0cGFzc190b3BfbXYgPSB6
ZXJvX212OworCiAjaWYgQ09ORklHX1JBVEVfQ1RSTAotICBpZiAoY3BpLT5veGNmLnVzZV9zaW1w
bGVfZW5jb2RlX2FwaSkgewotICAgIGZwX21vdGlvbl92ZWN0b3JfaW5mb19yZXNldChjcGktPmZy
YW1lX2luZm8uZnJhbWVfd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNw
aS0+ZnJhbWVfaW5mby5mcmFtZV9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNwaS0+ZnBfbW90aW9uX3ZlY3Rvcl9pbmZvKTsKLSAgfQorICBmcF9tb3Rpb25fdmVjdG9y
X2luZm9fcmVzZXQoY3BpLT5mcmFtZV9pbmZvLmZyYW1lX3dpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY3BpLT5mcmFtZV9pbmZvLmZyYW1lX2hlaWdodCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNwaS0+ZnBfbW90aW9uX3ZlY3Rvcl9pbmZvKTsKICNlbmRpZgog
CiAgIGZvciAobWJfcm93ID0gMDsgbWJfcm93IDwgY20tPm1iX3Jvd3M7ICsrbWJfcm93KSB7CkBA
IC0xNDEzLDYgKzE0MjQsMTIgQEAgdm9pZCB2cDlfZmlyc3RfcGFzcyhWUDlfQ09NUCAqY3BpLCBj
b25zdCBzdHJ1Y3QgbG9va2FoZWFkX2VudHJ5ICpzb3VyY2UpIHsKICAgYXNzZXJ0KG5ld195djEy
ICE9IE5VTEwpOwogICBhc3NlcnQoZnJhbWVfaXNfaW50cmFfb25seShjbSkgfHwgKGxzdF95djEy
ICE9IE5VTEwpKTsKIAorI2lmIENPTkZJR19GUF9NQl9TVEFUUworICBpZiAoY3BpLT51c2VfZnBf
bWJfc3RhdHMpIHsKKyAgICB2cDlfemVyb19hcnJheShjcGktPnR3b3Bhc3MuZnJhbWVfbWJfc3Rh
dHNfYnVmLCBjbS0+aW5pdGlhbF9tYnMpOworICB9CisjZW5kaWYKKwogICBzZXRfZmlyc3RfcGFz
c19wYXJhbXMoY3BpKTsKICAgdnA5X3NldF9xdWFudGl6ZXIoY3BpLCBmaW5kX2ZwX3FpbmRleChj
bS0+Yml0X2RlcHRoKSk7CiAKQEAgLTE0MzksNyArMTQ1Niw3IEBAIHZvaWQgdnA5X2ZpcnN0X3Bh
c3MoVlA5X0NPTVAgKmNwaSwgY29uc3Qgc3RydWN0IGxvb2thaGVhZF9lbnRyeSAqc291cmNlKSB7
CiAKICAgaWYgKGNwaS0+cm93X210X2JpdF9leGFjdCAmJiBjcGktPnR3b3Bhc3MuZnBfbWJfZmxv
YXRfc3RhdHMgPT0gTlVMTCkKICAgICBDSEVDS19NRU1fRVJST1IoCi0gICAgICAgICZjbS0+ZXJy
b3IsIGNwaS0+dHdvcGFzcy5mcF9tYl9mbG9hdF9zdGF0cywKKyAgICAgICAgY20sIGNwaS0+dHdv
cGFzcy5mcF9tYl9mbG9hdF9zdGF0cywKICAgICAgICAgdnB4X2NhbGxvYyhjbS0+TUJzICogc2l6
ZW9mKCpjcGktPnR3b3Bhc3MuZnBfbWJfZmxvYXRfc3RhdHMpLCAxKSk7CiAKICAgewpAQCAtMTQ2
NSw3ICsxNDgyLDcgQEAgdm9pZCB2cDlfZmlyc3RfcGFzcyhWUDlfQ09NUCAqY3BpLCBjb25zdCBz
dHJ1Y3QgbG9va2FoZWFkX2VudHJ5ICpzb3VyY2UpIHsKICAgICAgIGZpcnN0X3Bhc3Nfc3RhdF9j
YWxjKGNwaSwgJmZwcywgJihmaXJzdF90aWxlX2NvbC0+ZnBfZGF0YSkpOwogICAgIH0KIAotICAg
IC8vIERvbid0IGFsbG93IGEgdmFsdWUgb2YgMCBmb3IgZHVyYXRpb24uCisgICAgLy8gRG9udCBh
bGxvdyBhIHZhbHVlIG9mIDAgZm9yIGR1cmF0aW9uLgogICAgIC8vIChTZWN0aW9uIGR1cmF0aW9u
IGlzIGFsc28gZGVmYXVsdGVkIHRvIG1pbmltdW0gb2YgMS4wKS4KICAgICBmcHMuZHVyYXRpb24g
PSBWUFhNQVgoMS4wLCAoZG91YmxlKShzb3VyY2UtPnRzX2VuZCAtIHNvdXJjZS0+dHNfc3RhcnQp
KTsKIApAQCAtMTQ3Myw5ICsxNDkwLDE1IEBAIHZvaWQgdnA5X2ZpcnN0X3Bhc3MoVlA5X0NPTVAg
KmNwaSwgY29uc3Qgc3RydWN0IGxvb2thaGVhZF9lbnRyeSAqc291cmNlKSB7CiAgICAgdHdvcGFz
cy0+dGhpc19mcmFtZV9zdGF0cyA9IGZwczsKICAgICBvdXRwdXRfc3RhdHMoJnR3b3Bhc3MtPnRo
aXNfZnJhbWVfc3RhdHMpOwogICAgIGFjY3VtdWxhdGVfc3RhdHMoJnR3b3Bhc3MtPnRvdGFsX3N0
YXRzLCAmZnBzKTsKKworI2lmIENPTkZJR19GUF9NQl9TVEFUUworICAgIGlmIChjcGktPnVzZV9m
cF9tYl9zdGF0cykgeworICAgICAgb3V0cHV0X2ZwbWJfc3RhdHModHdvcGFzcy0+ZnJhbWVfbWJf
c3RhdHNfYnVmLCBjbSwgY3BpLT5vdXRwdXRfcGt0X2xpc3QpOworICAgIH0KKyNlbmRpZgogICB9
CiAKLSAgLy8gQ29weSB0aGUgcHJldmlvdXMgTGFzdCBGcmFtZSBiYWNrIGludG8gZ2YgYW5kIGFy
ZiBidWZmZXJzIGlmCisgIC8vIENvcHkgdGhlIHByZXZpb3VzIExhc3QgRnJhbWUgYmFjayBpbnRv
IGdmIGFuZCBhbmQgYXJmIGJ1ZmZlcnMgaWYKICAgLy8gdGhlIHByZWRpY3Rpb24gaXMgZ29vZCBl
bm91Z2guLi4gYnV0IGFsc28gZG9uJ3QgYWxsb3cgaXQgdG8gbGFnIHRvbyBmYXIuCiAgIGlmICgo
dHdvcGFzcy0+c3JfdXBkYXRlX2xhZyA+IDMpIHx8CiAgICAgICAoKGNtLT5jdXJyZW50X3ZpZGVv
X2ZyYW1lID4gMCkgJiYKQEAgLTE1MDQsNiArMTUyNywyMiBAQCB2b2lkIHZwOV9maXJzdF9wYXNz
KFZQOV9DT01QICpjcGksIGNvbnN0IHN0cnVjdCBsb29rYWhlYWRfZW50cnkgKnNvdXJjZSkgewog
ICAgICAgICAgICAgICAgY20tPnJlZl9mcmFtZV9tYXBbY3BpLT5sc3RfZmJfaWR4XSk7CiAgIH0K
IAorICAvLyBVc2UgdGhpcyB0byBzZWUgd2hhdCB0aGUgZmlyc3QgcGFzcyByZWNvbnN0cnVjdGlv
biBsb29rcyBsaWtlLgorICBpZiAoMCkgeworICAgIGNoYXIgZmlsZW5hbWVbNTEyXTsKKyAgICBG
SUxFICpyZWNvbl9maWxlOworICAgIHNucHJpbnRmKGZpbGVuYW1lLCBzaXplb2YoZmlsZW5hbWUp
LCAiZW5jJTA0ZC55dXYiLAorICAgICAgICAgICAgIChpbnQpY20tPmN1cnJlbnRfdmlkZW9fZnJh
bWUpOworCisgICAgaWYgKGNtLT5jdXJyZW50X3ZpZGVvX2ZyYW1lID09IDApCisgICAgICByZWNv
bl9maWxlID0gZm9wZW4oZmlsZW5hbWUsICJ3YiIpOworICAgIGVsc2UKKyAgICAgIHJlY29uX2Zp
bGUgPSBmb3BlbihmaWxlbmFtZSwgImFiIik7CisKKyAgICAodm9pZClmd3JpdGUobHN0X3l2MTIt
PmJ1ZmZlcl9hbGxvYywgbHN0X3l2MTItPmZyYW1lX3NpemUsIDEsIHJlY29uX2ZpbGUpOworICAg
IGZjbG9zZShyZWNvbl9maWxlKTsKKyAgfQorCiAgIC8vIEluIHRoZSBmaXJzdCBwYXNzLCBldmVy
eSBmcmFtZSBpcyBjb25zaWRlcmVkIGFzIGEgc2hvdyBmcmFtZS4KICAgdXBkYXRlX2ZyYW1lX2lu
ZGV4ZXMoY20sIC8qc2hvd19mcmFtZT0qLzEpOwogICBpZiAoY3BpLT51c2Vfc3ZjKSB2cDlfaW5j
X2ZyYW1lX2luX2xheWVyKGNwaSk7CkBAIC0xNjc2LDcgKzE3MTUsNyBAQCB2b2lkIHZwOV9pbml0
X3NlY29uZF9wYXNzKFZQOV9DT01QICpjcGkpIHsKIAogICAvLyBTY2FuIHRoZSBmaXJzdCBwYXNz
IGZpbGUgYW5kIGNhbGN1bGF0ZSBhIG1vZGlmaWVkIHNjb3JlIGZvciBlYWNoCiAgIC8vIGZyYW1l
IHRoYXQgaXMgdXNlZCB0byBkaXN0cmlidXRlIGJpdHMuIFRoZSBtb2RpZmllZCBzY29yZSBpcyBh
c3N1bWVkCi0gIC8vIHRvIHByb3ZpZGUgYSBsaW5lYXIgYmFzaXMgZm9yIGJpdCBhbGxvY2F0aW9u
LiBJLmUuLCBhIGZyYW1lIEEgd2l0aCBhIHNjb3JlCisgIC8vIHRvIHByb3ZpZGUgYSBsaW5lYXIg
YmFzaXMgZm9yIGJpdCBhbGxvY2F0aW9uLiBJLmUgYSBmcmFtZSBBIHdpdGggYSBzY29yZQogICAv
LyB0aGF0IGlzIGRvdWJsZSB0aGF0IG9mIGZyYW1lIEIgd2lsbCBiZSBhbGxvY2F0ZWQgMnggYXMg
bWFueSBiaXRzLgogICB7CiAgICAgZG91YmxlIG1vZGlmaWVkX3Njb3JlX3RvdGFsID0gMC4wOwpA
QCAtMTcwMSw4ICsxNzQwLDggQEAgdm9pZCB2cDlfaW5pdF9zZWNvbmRfcGFzcyhWUDlfQ09NUCAq
Y3BpKSB7CiAgICAgfQogCiAgICAgLy8gU2Vjb25kIHNjYW4gdXNpbmcgY2xhbXBzIGJhc2VkIG9u
IHRoZSBwcmV2aW91cyBjeWNsZSBhdmVyYWdlLgotICAgIC8vIFRoaXMgbWF5IG1vZGlmeSB0aGUg
dG90YWwgYW5kIGF2ZXJhZ2Ugc29tZXdoYXQgYnV0IHdlIGRvbid0IGJvdGhlciB3aXRoCi0gICAg
Ly8gZnVydGhlciBpdGVyYXRpb25zLgorICAgIC8vIFRoaXMgbWF5IG1vZGlmeSB0aGUgdG90YWwg
YW5kIGF2ZXJhZ2Ugc29tZXdoYXQgYnV0IHdlIGRvbnQgYm90aGVyIHdpdGgKKyAgICAvLyBmdXJ0
aGVyIGl0dGVyYXRpb25zLgogICAgIG1vZGlmaWVkX3Njb3JlX3RvdGFsID0gMC4wOwogICAgIHMg
PSB0d29wYXNzLT5zdGF0c19pbjsKICAgICB3aGlsZSAocyA8IHR3b3Bhc3MtPnN0YXRzX2luX2Vu
ZCkgewpAQCAtMTc2OCw1OSArMTgwNyw2MCBAQCB2b2lkIHZwOV9pbml0X3NlY29uZF9wYXNzKFZQ
OV9DT01QICpjcGkpIHsKICAgdHdvcGFzcy0+YXJucl9zdHJlbmd0aF9hZGp1c3RtZW50ID0gMDsK
IH0KIAotLyogVGhpcyBmdW5jdGlvbiBjb25zaWRlcnMgaG93IHRoZSBxdWFsaXR5IG9mIHByZWRp
Y3Rpb24gbWF5IGJlIGRldGVyaW9yYXRpbmcKLSAqIHdpdGggZGlzdGFuY2UuIEl0IGNvbXBhcmVz
IHRoZSBjb2RlZCBlcnJvciBmb3IgdGhlIGxhc3QgZnJhbWUgYW5kIHRoZQotICogc2Vjb25kIHJl
ZmVyZW5jZSBmcmFtZSAodXN1YWxseSB0d28gZnJhbWVzIG9sZCkgYW5kIGFsc28gYXBwbGllcyBh
IGZhY3RvcgotICogYmFzZWQgb24gdGhlIGV4dGVudCBvZiBJTlRSQSBjb2RpbmcuCi0gKgotICog
VGhlIGRlY2F5IGZhY3RvciBpcyB0aGVuIHVzZWQgdG8gcmVkdWNlIHRoZSBjb250cmlidXRpb24g
b2YgZnJhbWVzIGZ1cnRoZXIKLSAqIGZyb20gdGhlIGFsdC1yZWYgb3IgZ29sZGVuIGZyYW1lLCB0
byB0aGUgYml0cmF0ZSBib29zdCBjYWxjdWxhdGlvbiBmb3IgdGhhdAotICogYWx0LXJlZiBvciBn
b2xkZW4gZnJhbWUuCi0gKi8KLXN0YXRpYyBkb3VibGUgZ2V0X3NyX2RlY2F5X3JhdGUoY29uc3Qg
VFdPX1BBU1MgKmNvbnN0IHR3b3Bhc3MsCisjZGVmaW5lIFNSX0RJRkZfUEFSVCAwLjAwMTUKKyNk
ZWZpbmUgSU5UUkFfUEFSVCAwLjAwNQorI2RlZmluZSBERUZBVUxUX0RFQ0FZX0xJTUlUIDAuNzUK
KyNkZWZpbmUgTE9XX1NSX0RJRkZfVFJIRVNIIDAuMQorI2RlZmluZSBTUl9ESUZGX01BWCAxMjgu
MAorI2RlZmluZSBMT1dfQ09ERURfRVJSX1BFUl9NQiAxMC4wCisjZGVmaW5lIE5DT1VOVF9GUkFN
RV9JSV9USFJFU0ggNi4wCisKK3N0YXRpYyBkb3VibGUgZ2V0X3NyX2RlY2F5X3JhdGUoY29uc3Qg
RlJBTUVfSU5GTyAqZnJhbWVfaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgRklSU1RQQVNTX1NUQVRTICpmcmFtZSkgewogICBkb3VibGUgc3JfZGlmZiA9IChmcmFt
ZS0+c3JfY29kZWRfZXJyb3IgLSBmcmFtZS0+Y29kZWRfZXJyb3IpOwogICBkb3VibGUgc3JfZGVj
YXkgPSAxLjA7CisgIGRvdWJsZSBtb2RpZmllZF9wY3RfaW50ZXI7CisgIGRvdWJsZSBtb2RpZmll
ZF9wY250X2ludHJhOworICBjb25zdCBkb3VibGUgbW90aW9uX2FtcGxpdHVkZV9wYXJ0ID0KKyAg
ICAgIGZyYW1lLT5wY250X21vdGlvbiAqCisgICAgICAoKGZyYW1lLT5tdmNfYWJzICsgZnJhbWUt
Pm12cl9hYnMpIC8KKyAgICAgICAoZnJhbWVfaW5mby0+ZnJhbWVfaGVpZ2h0ICsgZnJhbWVfaW5m
by0+ZnJhbWVfd2lkdGgpKTsKKworICBtb2RpZmllZF9wY3RfaW50ZXIgPSBmcmFtZS0+cGNudF9p
bnRlcjsKKyAgaWYgKChmcmFtZS0+Y29kZWRfZXJyb3IgPiBMT1dfQ09ERURfRVJSX1BFUl9NQikg
JiYKKyAgICAgICgoZnJhbWUtPmludHJhX2Vycm9yIC8gRE9VQkxFX0RJVklERV9DSEVDSyhmcmFt
ZS0+Y29kZWRfZXJyb3IpKSA8CisgICAgICAgKGRvdWJsZSlOQ09VTlRfRlJBTUVfSUlfVEhSRVNI
KSkgeworICAgIG1vZGlmaWVkX3BjdF9pbnRlciA9CisgICAgICAgIGZyYW1lLT5wY250X2ludGVy
ICsgZnJhbWUtPnBjbnRfaW50cmFfbG93IC0gZnJhbWUtPnBjbnRfbmV1dHJhbDsKKyAgfQorICBt
b2RpZmllZF9wY250X2ludHJhID0gMTAwICogKDEuMCAtIG1vZGlmaWVkX3BjdF9pbnRlcik7CiAK
LSAgLy8gRG8gbm90aGluZyBpZiB0aGUgc2Vjb25kIHJlZiB0byBsYXN0IGZyYW1lIGVycm9yIGRp
ZmZlcmVuY2UgaXMKLSAgLy8gdmVyeSBzbWFsbCBvciBldmVuIG5lZ2F0aXZlLgogICBpZiAoKHNy
X2RpZmYgPiBMT1dfU1JfRElGRl9UUkhFU0gpKSB7Ci0gICAgY29uc3QgZG91YmxlIHNyX2RpZmZf
cGFydCA9Ci0gICAgICAgIHR3b3Bhc3MtPnNyX2RpZmZfZmFjdG9yICogKChzcl9kaWZmICogMC4y
NSkgLyBmcmFtZS0+aW50cmFfZXJyb3IpOwotICAgIGRvdWJsZSBtb2RpZmllZF9wY3RfaW50ZXIg
PSBmcmFtZS0+cGNudF9pbnRlcjsKLSAgICBkb3VibGUgbW9kaWZpZWRfcGNudF9pbnRyYTsKLQot
ICAgIGlmICgoZnJhbWUtPmNvZGVkX2Vycm9yID4gTE9XX0NPREVEX0VSUl9QRVJfTUIpICYmCi0g
ICAgICAgICgoZnJhbWUtPmludHJhX2Vycm9yIC8gRE9VQkxFX0RJVklERV9DSEVDSyhmcmFtZS0+
Y29kZWRfZXJyb3IpKSA8Ci0gICAgICAgICAoZG91YmxlKU5DT1VOVF9GUkFNRV9JSV9USFJFU0gp
KSB7Ci0gICAgICBtb2RpZmllZF9wY3RfaW50ZXIgPQotICAgICAgICAgIGZyYW1lLT5wY250X2lu
dGVyICsgZnJhbWUtPnBjbnRfaW50cmFfbG93IC0gZnJhbWUtPnBjbnRfbmV1dHJhbDsKLSAgICB9
Ci0gICAgbW9kaWZpZWRfcGNudF9pbnRyYSA9IDEwMCAqICgxLjAgLSBtb2RpZmllZF9wY3RfaW50
ZXIpOwotCi0gICAgc3JfZGVjYXkgPSAxLjAgLSBzcl9kaWZmX3BhcnQgLSAoSU5UUkFfUEFSVCAq
IG1vZGlmaWVkX3BjbnRfaW50cmEpOworICAgIHNyX2RpZmYgPSBWUFhNSU4oc3JfZGlmZiwgU1Jf
RElGRl9NQVgpOworICAgIHNyX2RlY2F5ID0gMS4wIC0gKFNSX0RJRkZfUEFSVCAqIHNyX2RpZmYp
IC0gbW90aW9uX2FtcGxpdHVkZV9wYXJ0IC0KKyAgICAgICAgICAgICAgIChJTlRSQV9QQVJUICog
bW9kaWZpZWRfcGNudF9pbnRyYSk7CiAgIH0KLSAgcmV0dXJuIFZQWE1BWChzcl9kZWNheSwgdHdv
cGFzcy0+c3JfZGVmYXVsdF9kZWNheV9saW1pdCk7CisgIHJldHVybiBWUFhNQVgoc3JfZGVjYXks
IERFRkFVTFRfREVDQVlfTElNSVQpOwogfQogCiAvLyBUaGlzIGZ1bmN0aW9uIGdpdmVzIGFuIGVz
dGltYXRlIG9mIGhvdyBiYWRseSB3ZSBiZWxpZXZlIHRoZSBwcmVkaWN0aW9uCiAvLyBxdWFsaXR5
IGlzIGRlY2F5aW5nIGZyb20gZnJhbWUgdG8gZnJhbWUuCi1zdGF0aWMgZG91YmxlIGdldF96ZXJv
X21vdGlvbl9mYWN0b3IoY29uc3QgVFdPX1BBU1MgKmNvbnN0IHR3b3Bhc3MsCitzdGF0aWMgZG91
YmxlIGdldF96ZXJvX21vdGlvbl9mYWN0b3IoY29uc3QgRlJBTUVfSU5GTyAqZnJhbWVfaW5mbywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGSVJTVFBBU1NfU1RB
VFMgKmZyYW1lX3N0YXRzKSB7CiAgIGNvbnN0IGRvdWJsZSB6ZXJvX21vdGlvbl9wY3QgPQogICAg
ICAgZnJhbWVfc3RhdHMtPnBjbnRfaW50ZXIgLSBmcmFtZV9zdGF0cy0+cGNudF9tb3Rpb247Ci0g
IGRvdWJsZSBzcl9kZWNheSA9IGdldF9zcl9kZWNheV9yYXRlKHR3b3Bhc3MsIGZyYW1lX3N0YXRz
KTsKKyAgZG91YmxlIHNyX2RlY2F5ID0gZ2V0X3NyX2RlY2F5X3JhdGUoZnJhbWVfaW5mbywgZnJh
bWVfc3RhdHMpOwogICByZXR1cm4gVlBYTUlOKHNyX2RlY2F5LCB6ZXJvX21vdGlvbl9wY3QpOwog
fQogCi1zdGF0aWMgZG91YmxlIGdldF9wcmVkaWN0aW9uX2RlY2F5X3JhdGUoY29uc3QgVFdPX1BB
U1MgKmNvbnN0IHR3b3Bhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgRklSU1RQQVNTX1NUQVRTICpmcmFtZV9zdGF0cykgewotICBjb25zdCBkb3VibGUg
c3JfZGVjYXlfcmF0ZSA9IGdldF9zcl9kZWNheV9yYXRlKHR3b3Bhc3MsIGZyYW1lX3N0YXRzKTsK
LSAgZG91YmxlIHplcm9fbW90aW9uX2ZhY3RvciA9Ci0gICAgICB0d29wYXNzLT56bV9mYWN0b3Ig
KiAoZnJhbWVfc3RhdHMtPnBjbnRfaW50ZXIgLSBmcmFtZV9zdGF0cy0+cGNudF9tb3Rpb24pOwor
I2RlZmluZSBaTV9QT1dFUl9GQUNUT1IgMC43NQogCi0gIC8vIENoZWNrIHRoYXQgdGhlIHplcm8g
bW90aW9uIGZhY3RvciBpcyB2YWxpZAotICBhc3NlcnQoemVyb19tb3Rpb25fZmFjdG9yID49IDAu
MCAmJiB6ZXJvX21vdGlvbl9mYWN0b3IgPD0gMS4wKTsKK3N0YXRpYyBkb3VibGUgZ2V0X3ByZWRp
Y3Rpb25fZGVjYXlfcmF0ZShjb25zdCBGUkFNRV9JTkZPICpmcmFtZV9pbmZvLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZJUlNUUEFTU19TVEFUUyAqZnJh
bWVfc3RhdHMpIHsKKyAgY29uc3QgZG91YmxlIHNyX2RlY2F5X3JhdGUgPSBnZXRfc3JfZGVjYXlf
cmF0ZShmcmFtZV9pbmZvLCBmcmFtZV9zdGF0cyk7CisgIGNvbnN0IGRvdWJsZSB6ZXJvX21vdGlv
bl9mYWN0b3IgPQorICAgICAgKDAuOTUgKiBwb3coKGZyYW1lX3N0YXRzLT5wY250X2ludGVyIC0g
ZnJhbWVfc3RhdHMtPnBjbnRfbW90aW9uKSwKKyAgICAgICAgICAgICAgICAgIFpNX1BPV0VSX0ZB
Q1RPUikpOwogCiAgIHJldHVybiBWUFhNQVgoemVyb19tb3Rpb25fZmFjdG9yLAogICAgICAgICAg
ICAgICAgIChzcl9kZWNheV9yYXRlICsgKCgxLjAgLSBzcl9kZWNheV9yYXRlKSAqIHplcm9fbW90
aW9uX2ZhY3RvcikpKTsKQEAgLTE4NTksNyArMTg5OSw3IEBAIHN0YXRpYyBpbnQgZGV0ZWN0X2Zs
YXNoX2Zyb21fZnJhbWVfc3RhdHMoY29uc3QgRklSU1RQQVNTX1NUQVRTICpmcmFtZV9zdGF0cykg
ewogICAvLyBicmllZiBicmVhayBpbiBwcmVkaWN0aW9uIChzdWNoIGFzIGEgZmxhc2gpIGJ1dCBz
dWJzZXF1ZW50IGZyYW1lcwogICAvLyBhcmUgcmVhc29uYWJseSB3ZWxsIHByZWRpY3RlZCBieSBh
biBlYXJsaWVyIChwcmUgZmxhc2gpIGZyYW1lLgogICAvLyBUaGUgcmVjb3ZlcnkgYWZ0ZXIgYSBm
bGFzaCBpcyBpbmRpY2F0ZWQgYnkgYSBoaWdoIHBjbnRfc2Vjb25kX3JlZgotICAvLyB1c2FnZSBv
ciBhIHNlY29uZCByZWYgY29kZWQgZXJyb3Igbm90YWJsZXkgbG93ZXIgdGhhbiB0aGUgbGFzdAor
ICAvLyB1c2VhZ2Ugb3IgYSBzZWNvbmQgcmVmIGNvZGVkIGVycm9yIG5vdGFibGV5IGxvd2VyIHRo
YW4gdGhlIGxhc3QKICAgLy8gZnJhbWUgY29kZWQgZXJyb3IuCiAgIGlmIChmcmFtZV9zdGF0cyA9
PSBOVUxMKSB7CiAgICAgcmV0dXJuIDA7CkBAIC0xOTAyLDkgKzE5NDIsMTAgQEAgc3RhdGljIHZv
aWQgYWNjdW11bGF0ZV9mcmFtZV9tb3Rpb25fc3RhdHMoY29uc3QgRklSU1RQQVNTX1NUQVRTICpz
dGF0cywKICAgfQogfQogCisjZGVmaW5lIEJBU0VMSU5FX0VSUl9QRVJfTUIgMTI1MDAuMAorI2Rl
ZmluZSBHRl9NQVhfQk9PU1QgOTYuMAogc3RhdGljIGRvdWJsZSBjYWxjX2ZyYW1lX2Jvb3N0KGNv
bnN0IEZSQU1FX0lORk8gKmZyYW1lX2luZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgRklSU1RQQVNTX1NUQVRTICp0aGlzX2ZyYW1lLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFRXT19QQVNTICpjb25zdCB0d29wYXNzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBhdmdfZnJhbWVfcWluZGV4LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSB0aGlzX2ZyYW1lX212X2luX291dCkgewogICBkb3VibGUg
ZnJhbWVfYm9vc3Q7CkBAIC0xOTEzLDggKzE5NTQsOCBAQCBzdGF0aWMgZG91YmxlIGNhbGNfZnJh
bWVfYm9vc3QoY29uc3QgRlJBTUVfSU5GTyAqZnJhbWVfaW5mbywKICAgY29uc3QgZG91YmxlIGJv
b3N0X3FfY29ycmVjdGlvbiA9IFZQWE1JTigoMC41ICsgKGxxICogMC4wMTUpKSwgMS41KTsKICAg
Y29uc3QgZG91YmxlIGFjdGl2ZV9hcmVhID0gY2FsY3VsYXRlX2FjdGl2ZV9hcmVhKGZyYW1lX2lu
Zm8sIHRoaXNfZnJhbWUpOwogCi0gIC8vIEZyYW1lIGJvb29zdCBpcyBiYXNlZCBvbiBpbnRlciBl
cnJvci4KLSAgZnJhbWVfYm9vc3QgPSAodHdvcGFzcy0+ZXJyX3Blcl9tYiAqIGFjdGl2ZV9hcmVh
KSAvCisgIC8vIFVuZGVybHlpbmcgYm9vc3QgZmFjdG9yIGlzIGJhc2VkIG9uIGludGVyIGVycm9y
IHJhdGlvLgorICBmcmFtZV9ib29zdCA9IChCQVNFTElORV9FUlJfUEVSX01CICogYWN0aXZlX2Fy
ZWEpIC8KICAgICAgICAgICAgICAgICBET1VCTEVfRElWSURFX0NIRUNLKHRoaXNfZnJhbWUtPmNv
ZGVkX2Vycm9yKTsKIAogICAvLyBTbWFsbCBhZGp1c3RtZW50IGZvciBjYXNlcyB3aGVyZSB0aGVy
ZSBpcyBhIHpvb20gb3V0CkBAIC0xOTI0LDI1ICsxOTY1LDM3IEBAIHN0YXRpYyBkb3VibGUgY2Fs
Y19mcmFtZV9ib29zdChjb25zdCBGUkFNRV9JTkZPICpmcmFtZV9pbmZvLAogICAvLyBRIGNvcnJl
Y3Rpb24gYW5kIHNjYWxsaW5nCiAgIGZyYW1lX2Jvb3N0ID0gZnJhbWVfYm9vc3QgKiBib29zdF9x
X2NvcnJlY3Rpb247CiAKLSAgcmV0dXJuIFZQWE1JTihmcmFtZV9ib29zdCwgdHdvcGFzcy0+Z2Zf
ZnJhbWVfbWF4X2Jvb3N0ICogYm9vc3RfcV9jb3JyZWN0aW9uKTsKKyAgcmV0dXJuIFZQWE1JTihm
cmFtZV9ib29zdCwgR0ZfTUFYX0JPT1NUICogYm9vc3RfcV9jb3JyZWN0aW9uKTsKK30KKworc3Rh
dGljIGRvdWJsZSBrZl9lcnJfcGVyX21iKFZQOV9DT01QICpjcGkpIHsKKyAgY29uc3QgVlA5X0NP
TU1PTiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247CisgIHVuc2lnbmVkIGludCBzY3JlZW5fYXJl
YSA9IChjbS0+d2lkdGggKiBjbS0+aGVpZ2h0KTsKKworICAvLyBVc2UgYSBkaWZmZXJlbnQgZXJy
b3IgcGVyIG1iIGZhY3RvciBmb3IgY2FsY3VsYXRpbmcgYm9vc3QgZm9yCisgIC8vICBkaWZmZXJl
bnQgZm9ybWF0cy4KKyAgaWYgKHNjcmVlbl9hcmVhIDwgMTI4MCAqIDcyMCkgeworICAgIHJldHVy
biAyMDAwLjA7CisgIH0gZWxzZSBpZiAoc2NyZWVuX2FyZWEgPCAxOTIwICogMTA4MCkgeworICAg
IHJldHVybiA1MDAuMDsKKyAgfQorICByZXR1cm4gMjUwLjA7CiB9CiAKIHN0YXRpYyBkb3VibGUg
Y2FsY19rZl9mcmFtZV9ib29zdChWUDlfQ09NUCAqY3BpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEZJUlNUUEFTU19TVEFUUyAqdGhpc19mcmFtZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgKnNyX2FjY3VtdWxhdG9yLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aGlzX2ZyYW1lX212X2luX291dCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgem1fZmFjdG9yKSB7Ci0g
IFRXT19QQVNTICpjb25zdCB0d29wYXNzID0gJmNwaS0+dHdvcGFzczsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb3VibGUgbWF4X2Jvb3N0KSB7CiAgIGRvdWJsZSBmcmFtZV9i
b29zdDsKICAgY29uc3QgZG91YmxlIGxxID0gdnA5X2NvbnZlcnRfcWluZGV4X3RvX3EoCiAgICAg
ICBjcGktPnJjLmF2Z19mcmFtZV9xaW5kZXhbSU5URVJfRlJBTUVdLCBjcGktPmNvbW1vbi5iaXRf
ZGVwdGgpOwogICBjb25zdCBkb3VibGUgYm9vc3RfcV9jb3JyZWN0aW9uID0gVlBYTUlOKCgwLjUw
ICsgKGxxICogMC4wMTUpKSwgMi4wMCk7CiAgIGNvbnN0IGRvdWJsZSBhY3RpdmVfYXJlYSA9CiAg
ICAgICBjYWxjdWxhdGVfYWN0aXZlX2FyZWEoJmNwaS0+ZnJhbWVfaW5mbywgdGhpc19mcmFtZSk7
Ci0gIGRvdWJsZSBtYXhfYm9vc3Q7CiAKLSAgLy8gRnJhbWUgYm9vb3N0IGlzIGJhc2VkIG9uIGlu
dGVyIGVycm9yLgotICBmcmFtZV9ib29zdCA9ICh0d29wYXNzLT5rZl9lcnJfcGVyX21iICogYWN0
aXZlX2FyZWEpIC8KKyAgLy8gVW5kZXJseWluZyBib29zdCBmYWN0b3IgaXMgYmFzZWQgb24gaW50
ZXIgZXJyb3IgcmF0aW8uCisgIGZyYW1lX2Jvb3N0ID0gKGtmX2Vycl9wZXJfbWIoY3BpKSAqIGFj
dGl2ZV9hcmVhKSAvCiAgICAgICAgICAgICAgICAgRE9VQkxFX0RJVklERV9DSEVDSyh0aGlzX2Zy
YW1lLT5jb2RlZF9lcnJvciArICpzcl9hY2N1bXVsYXRvcik7CiAKICAgLy8gVXBkYXRlIHRoZSBh
Y2N1bXVsYXRvciBmb3Igc2Vjb25kIHJlZiBlcnJvciBkaWZmZXJlbmNlLgpAQCAtMTk1OSwyMyAr
MjAxMiwxNSBAQCBzdGF0aWMgZG91YmxlIGNhbGNfa2ZfZnJhbWVfYm9vc3QoVlA5X0NPTVAgKmNw
aSwKICAgLy8gVGhlIDQwLjAgdmFsdWUgaGVyZSBpcyBhbiBleHBlcmltZW50YWxseSBkZXJpdmVk
IGJhc2VsaW5lIG1pbmltdW0uCiAgIC8vIFRoaXMgdmFsdWUgaXMgaW4gbGluZSB3aXRoIHRoZSBt
aW5pbXVtIHBlciBmcmFtZSBib29zdCBpbiB0aGUgYWx0X3JlZgogICAvLyBib29zdCBjYWxjdWxh
dGlvbi4KLSAgZnJhbWVfYm9vc3QgPQotICAgICAgKGZyYW1lX2Jvb3N0ICsgdHdvcGFzcy0+a2Zf
ZnJhbWVfbWluX2Jvb3N0KSAqIGJvb3N0X3FfY29ycmVjdGlvbjsKKyAgZnJhbWVfYm9vc3QgPSAo
KGZyYW1lX2Jvb3N0ICsgNDAuMCkgKiBib29zdF9xX2NvcnJlY3Rpb24pOwogCi0gIC8vIE1heGlt
dW0gYWxsb3dlZCBib29zdCB0aGlzIGZyYW1lLiBNYXkgYmUgZGlmZmVyZW50IGZvciBmaXJzdCB2
cyBzdWJzZXF1ZW50Ci0gIC8vIGtleSBmcmFtZXMuCi0gIG1heF9ib29zdCA9IChjcGktPmNvbW1v
bi5jdXJyZW50X3ZpZGVvX2ZyYW1lID09IDApCi0gICAgICAgICAgICAgICAgICA/IHR3b3Bhc3Mt
PmtmX2ZyYW1lX21heF9ib29zdF9maXJzdAotICAgICAgICAgICAgICAgICAgOiB0d29wYXNzLT5r
Zl9mcmFtZV9tYXhfYm9vc3Rfc3ViczsKLSAgbWF4X2Jvb3N0ICo9IHptX2ZhY3RvciAqIGJvb3N0
X3FfY29ycmVjdGlvbjsKLQotICByZXR1cm4gVlBYTUlOKGZyYW1lX2Jvb3N0LCBtYXhfYm9vc3Qp
OworICByZXR1cm4gVlBYTUlOKGZyYW1lX2Jvb3N0LCBtYXhfYm9vc3QgKiBib29zdF9xX2NvcnJl
Y3Rpb24pOwogfQogCiBzdGF0aWMgaW50IGNvbXB1dGVfYXJmX2Jvb3N0KGNvbnN0IEZSQU1FX0lO
Rk8gKmZyYW1lX2luZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRXT19QQVNTICpj
b25zdCB0d29wYXNzLCBpbnQgYXJmX3Nob3dfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZl9mcmFtZXMsIGludCBiX2ZyYW1lcywgaW50IGF2Z19mcmFtZV9xaW5kZXgpIHsK
LSAgY29uc3QgRklSU1RfUEFTU19JTkZPICpmaXJzdF9wYXNzX2luZm8gPSAmdHdvcGFzcy0+Zmly
c3RfcGFzc19pbmZvOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGSVJTVF9Q
QVNTX0lORk8gKmZpcnN0X3Bhc3NfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGFyZl9zaG93X2lkeCwgaW50IGZfZnJhbWVzLCBpbnQgYl9mcmFtZXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBhdmdfZnJhbWVfcWluZGV4KSB7CiAgIGludCBpOwogICBk
b3VibGUgYm9vc3Rfc2NvcmUgPSAwLjA7CiAgIGRvdWJsZSBtdl9yYXRpb19hY2N1bXVsYXRvciA9
IDAuMDsKQEAgLTIwMDYsMTQgKzIwNTEsMTQgQEAgc3RhdGljIGludCBjb21wdXRlX2FyZl9ib29z
dChjb25zdCBGUkFNRV9JTkZPICpmcmFtZV9pbmZvLAogCiAgICAgLy8gQWNjdW11bGF0ZSB0aGUg
ZWZmZWN0IG9mIHByZWRpY3Rpb24gcXVhbGl0eSBkZWNheS4KICAgICBpZiAoIWZsYXNoX2RldGVj
dGVkKSB7Ci0gICAgICBkZWNheV9hY2N1bXVsYXRvciAqPSBnZXRfcHJlZGljdGlvbl9kZWNheV9y
YXRlKHR3b3Bhc3MsIHRoaXNfZnJhbWUpOworICAgICAgZGVjYXlfYWNjdW11bGF0b3IgKj0gZ2V0
X3ByZWRpY3Rpb25fZGVjYXlfcmF0ZShmcmFtZV9pbmZvLCB0aGlzX2ZyYW1lKTsKICAgICAgIGRl
Y2F5X2FjY3VtdWxhdG9yID0gZGVjYXlfYWNjdW11bGF0b3IgPCBNSU5fREVDQVlfRkFDVE9SCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IE1JTl9ERUNBWV9GQUNUT1IKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogZGVjYXlfYWNjdW11bGF0b3I7CiAgICAgfQotICAgIGJv
b3N0X3Njb3JlICs9IGRlY2F5X2FjY3VtdWxhdG9yICoKLSAgICAgICAgICAgICAgICAgICBjYWxj
X2ZyYW1lX2Jvb3N0KGZyYW1lX2luZm8sIHRoaXNfZnJhbWUsIHR3b3Bhc3MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhdmdfZnJhbWVfcWluZGV4LCB0aGlzX2ZyYW1lX212
X2luX291dCk7CisgICAgYm9vc3Rfc2NvcmUgKz0gZGVjYXlfYWNjdW11bGF0b3IgKiBjYWxjX2Zy
YW1lX2Jvb3N0KGZyYW1lX2luZm8sIHRoaXNfZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2Z19mcmFtZV9xaW5kZXgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNf
ZnJhbWVfbXZfaW5fb3V0KTsKICAgfQogCiAgIGFyZl9ib29zdCA9IChpbnQpYm9vc3Rfc2NvcmU7
CkBAIC0yMDM5LDIxICsyMDg0LDIxIEBAIHN0YXRpYyBpbnQgY29tcHV0ZV9hcmZfYm9vc3QoY29u
c3QgRlJBTUVfSU5GTyAqZnJhbWVfaW5mbywKICAgICAgICAgdGhpc19mcmFtZSwgJnRoaXNfZnJh
bWVfbXZfaW5fb3V0LCAmbXZfaW5fb3V0X2FjY3VtdWxhdG9yLAogICAgICAgICAmYWJzX212X2lu
X291dF9hY2N1bXVsYXRvciwgJm12X3JhdGlvX2FjY3VtdWxhdG9yKTsKIAotICAgIC8vIFdlIHdh
bnQgdG8gZGlzY291bnQgdGhlIGZsYXNoIGZyYW1lIGl0c2VsZiBhbmQgdGhlIHJlY292ZXJ5Cisg
ICAgLy8gV2Ugd2FudCB0byBkaXNjb3VudCB0aGUgdGhlIGZsYXNoIGZyYW1lIGl0c2VsZiBhbmQg
dGhlIHJlY292ZXJ5CiAgICAgLy8gZnJhbWUgdGhhdCBmb2xsb3dzIGFzIGJvdGggd2lsbCBoYXZl
IHBvb3Igc2NvcmVzLgogICAgIGZsYXNoX2RldGVjdGVkID0gZGV0ZWN0X2ZsYXNoX2Zyb21fZnJh
bWVfc3RhdHModGhpc19mcmFtZSkgfHwKICAgICAgICAgICAgICAgICAgICAgIGRldGVjdF9mbGFz
aF9mcm9tX2ZyYW1lX3N0YXRzKG5leHRfZnJhbWUpOwogCiAgICAgLy8gQ3VtdWxhdGl2ZSBlZmZl
Y3Qgb2YgcHJlZGljdGlvbiBxdWFsaXR5IGRlY2F5LgogICAgIGlmICghZmxhc2hfZGV0ZWN0ZWQp
IHsKLSAgICAgIGRlY2F5X2FjY3VtdWxhdG9yICo9IGdldF9wcmVkaWN0aW9uX2RlY2F5X3JhdGUo
dHdvcGFzcywgdGhpc19mcmFtZSk7CisgICAgICBkZWNheV9hY2N1bXVsYXRvciAqPSBnZXRfcHJl
ZGljdGlvbl9kZWNheV9yYXRlKGZyYW1lX2luZm8sIHRoaXNfZnJhbWUpOwogICAgICAgZGVjYXlf
YWNjdW11bGF0b3IgPSBkZWNheV9hY2N1bXVsYXRvciA8IE1JTl9ERUNBWV9GQUNUT1IKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID8gTUlOX0RFQ0FZX0ZBQ1RPUgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiBkZWNheV9hY2N1bXVsYXRvcjsKICAgICB9Ci0gICAgYm9vc3Rf
c2NvcmUgKz0gZGVjYXlfYWNjdW11bGF0b3IgKgotICAgICAgICAgICAgICAgICAgIGNhbGNfZnJh
bWVfYm9vc3QoZnJhbWVfaW5mbywgdGhpc19mcmFtZSwgdHdvcGFzcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGF2Z19mcmFtZV9xaW5kZXgsIHRoaXNfZnJhbWVfbXZfaW5f
b3V0KTsKKyAgICBib29zdF9zY29yZSArPSBkZWNheV9hY2N1bXVsYXRvciAqIGNhbGNfZnJhbWVf
Ym9vc3QoZnJhbWVfaW5mbywgdGhpc19mcmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZnX2ZyYW1lX3FpbmRleCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc19mcmFt
ZV9tdl9pbl9vdXQpOwogICB9CiAgIGFyZl9ib29zdCArPSAoaW50KWJvb3N0X3Njb3JlOwogCkBA
IC0yMDY5LDggKzIxMTQsOCBAQCBzdGF0aWMgaW50IGNhbGNfYXJmX2Jvb3N0KFZQOV9DT01QICpj
cGksIGludCBmX2ZyYW1lcywgaW50IGJfZnJhbWVzKSB7CiAgIFRXT19QQVNTICpjb25zdCB0d29w
YXNzID0gJmNwaS0+dHdvcGFzczsKICAgY29uc3QgaW50IGF2Z19pbnRlcl9mcmFtZV9xaW5kZXgg
PSBjcGktPnJjLmF2Z19mcmFtZV9xaW5kZXhbSU5URVJfRlJBTUVdOwogICBpbnQgYXJmX3Nob3df
aWR4ID0gZ2V0X3Nob3dfaWR4KHR3b3Bhc3MpOwotICByZXR1cm4gY29tcHV0ZV9hcmZfYm9vc3Qo
ZnJhbWVfaW5mbywgdHdvcGFzcywgYXJmX3Nob3dfaWR4LCBmX2ZyYW1lcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJfZnJhbWVzLCBhdmdfaW50ZXJfZnJhbWVfcWluZGV4KTsKKyAgcmV0
dXJuIGNvbXB1dGVfYXJmX2Jvb3N0KGZyYW1lX2luZm8sICZ0d29wYXNzLT5maXJzdF9wYXNzX2lu
Zm8sIGFyZl9zaG93X2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZfZnJhbWVzLCBi
X2ZyYW1lcywgYXZnX2ludGVyX2ZyYW1lX3FpbmRleCk7CiB9CiAKIC8vIENhbGN1bGF0ZSBhIHNl
Y3Rpb24gaW50cmEgcmF0aW8gdXNlZCBpbiBzZXR0aW5nIG1heCBsb29wIGZpbHRlci4KQEAgLTIx
MjUsMTAgKzIxNzAsMTEgQEAgc3RhdGljIGludDY0X3QgY2FsY3VsYXRlX3RvdGFsX2dmX2dyb3Vw
X2JpdHMoVlA5X0NPTVAgKmNwaSwKICAgfQogCiAgIC8vIENsYW1wIG9kZCBlZGdlIGNhc2VzLgot
ICB0b3RhbF9ncm91cF9iaXRzID0gKHRvdGFsX2dyb3VwX2JpdHMgPCAwKSA/IDAKLSAgICAgICAg
ICAgICAgICAgICAgIDogKHRvdGFsX2dyb3VwX2JpdHMgPiB0d29wYXNzLT5rZl9ncm91cF9iaXRz
KQotICAgICAgICAgICAgICAgICAgICAgICAgID8gdHdvcGFzcy0+a2ZfZ3JvdXBfYml0cwotICAg
ICAgICAgICAgICAgICAgICAgICAgIDogdG90YWxfZ3JvdXBfYml0czsKKyAgdG90YWxfZ3JvdXBf
Yml0cyA9ICh0b3RhbF9ncm91cF9iaXRzIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICA/
IDAKKyAgICAgICAgICAgICAgICAgICAgICAgICA6ICh0b3RhbF9ncm91cF9iaXRzID4gdHdvcGFz
cy0+a2ZfZ3JvdXBfYml0cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHR3b3Bh
c3MtPmtmX2dyb3VwX2JpdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvdGFs
X2dyb3VwX2JpdHM7CiAKICAgLy8gQ2xpcCBiYXNlZCBvbiB1c2VyIHN1cHBsaWVkIGRhdGEgcmF0
ZSB2YXJpYWJpbGl0eSBsaW1pdC4KICAgaWYgKHRvdGFsX2dyb3VwX2JpdHMgPiAoaW50NjRfdClt
YXhfYml0cyAqIGdvcF9mcmFtZXMpCkBAIC0yMTcwLDcgKzIyMTYsNyBAQCBzdGF0aWMgZG91Ymxl
IGNhbGN1bGF0ZV9ncm91cF9zY29yZShWUDlfQ09NUCAqY3BpLCBkb3VibGUgYXZfc2NvcmUsCiAg
IGRvdWJsZSBzY29yZV90b3RhbCA9IDAuMDsKICAgaW50IGkgPSAwOwogCi0gIC8vIFdlIGRvbid0
IGV2ZXIgd2FudCB0byByZXR1cm4gYSAwIHNjb3JlIGhlcmUuCisgIC8vIFdlIGRvbnQgZXZlciB3
YW50IHRvIHJldHVybiBhIDAgc2NvcmUgaGVyZS4KICAgaWYgKGZyYW1lX2NvdW50ID09IDApIHJl
dHVybiAxLjA7CiAKICAgd2hpbGUgKChpIDwgZnJhbWVfY291bnQpICYmIChzIDwgdHdvcGFzcy0+
c3RhdHNfaW5fZW5kKSkgewpAQCAtMjQ4NCw5ICsyNTMwLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgUkFO
R0UgewogICogKFRoZSBmb2xsb3dpbmcgZmllbGRzIHdpbGwgcmVtYWluIHVuY2hhbmdlZCBhZnRl
ciBpbml0aWFsaXphdGlvbiBvZiBlbmNvZGVyLikKICAqICAgcmMtPnN0YXRpY19zY2VuZV9tYXhf
Z2ZfaW50ZXJ2YWwKICAqICAgcmMtPm1pbl9nZl9pbnRlcnZhbAotICogICB0d29wYXNzLT5zcl9k
aWZmX2ZhY3RvcgotICogICB0d29wYXNzLT5zcl9kZWZhdWx0X2RlY2F5X2xpbWl0Ci0gKiAgIHR3
b3Bhc3MtPnptX2ZhY3RvcgogICoKICAqIER5bmFtaWMgZmllbGRzOgogICogKFRoZSBmb2xsb3dp
bmcgZmllbGRzIHdpbGwgYmUgdXBkYXRlZCBiZWZvcmUgb3IgYWZ0ZXIgY29kaW5nIGVhY2ggZnJh
bWUuKQpAQCAtMjUwMiwxMCArMjU0NSw5IEBAIHR5cGVkZWYgc3RydWN0IFJBTkdFIHsKICAqLwog
c3RhdGljIGludCBnZXRfZ29wX2NvZGluZ19mcmFtZV9udW0oCiAgICAgaW50ICp1c2VfYWx0X3Jl
ZiwgY29uc3QgRlJBTUVfSU5GTyAqZnJhbWVfaW5mbywKLSAgICBjb25zdCBUV09fUEFTUyAqY29u
c3QgdHdvcGFzcywgY29uc3QgUkFURV9DT05UUk9MICpyYywKKyAgICBjb25zdCBGSVJTVF9QQVNT
X0lORk8gKmZpcnN0X3Bhc3NfaW5mbywgY29uc3QgUkFURV9DT05UUk9MICpyYywKICAgICBpbnQg
Z2Zfc3RhcnRfc2hvd19pZHgsIGNvbnN0IFJBTkdFICphY3RpdmVfZ2ZfaW50ZXJ2YWwsCi0gICAg
ZG91YmxlIGdvcF9pbnRyYV9mYWN0b3IsIGludCBsYWdfaW5fZnJhbWVzLCBpbnQgKmVuZF9vZl9z
ZXF1ZW5jZSkgewotICBjb25zdCBGSVJTVF9QQVNTX0lORk8gKmZpcnN0X3Bhc3NfaW5mbyA9ICZ0
d29wYXNzLT5maXJzdF9wYXNzX2luZm87CisgICAgZG91YmxlIGdvcF9pbnRyYV9mYWN0b3IsIGlu
dCBsYWdfaW5fZnJhbWVzKSB7CiAgIGRvdWJsZSBsb29wX2RlY2F5X3JhdGUgPSAxLjAwOwogICBk
b3VibGUgbXZfcmF0aW9fYWNjdW11bGF0b3IgPSAwLjA7CiAgIGRvdWJsZSB0aGlzX2ZyYW1lX212
X2luX291dCA9IDAuMDsKQEAgLTI1MzAsNyArMjU3Miw2IEBAIHN0YXRpYyBpbnQgZ2V0X2dvcF9j
b2RpbmdfZnJhbWVfbnVtKAogICAgIG5leHRfZnJhbWUgPSBmcHNfZ2V0X2ZyYW1lX3N0YXRzKGZp
cnN0X3Bhc3NfaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZl9z
dGFydF9zaG93X2lkeCArIGdvcF9jb2RpbmdfZnJhbWVzKTsKICAgICBpZiAobmV4dF9mcmFtZSA9
PSBOVUxMKSB7Ci0gICAgICAqZW5kX29mX3NlcXVlbmNlID0gZ29wX2NvZGluZ19mcmFtZXMgPT0g
MSAmJiByYy0+c291cmNlX2FsdF9yZWZfYWN0aXZlOwogICAgICAgYnJlYWs7CiAgICAgfQogCkBA
IC0yNTQ3LDE0ICsyNTg4LDE1IEBAIHN0YXRpYyBpbnQgZ2V0X2dvcF9jb2RpbmdfZnJhbWVfbnVt
KAogCiAgICAgLy8gTW9uaXRvciBmb3Igc3RhdGljIHNlY3Rpb25zLgogICAgIGlmICgocmMtPmZy
YW1lc19zaW5jZV9rZXkgKyBnb3BfY29kaW5nX2ZyYW1lcyAtIDEpID4gMSkgewotICAgICAgemVy
b19tb3Rpb25fYWNjdW11bGF0b3IgPSBWUFhNSU4oCi0gICAgICAgICAgemVyb19tb3Rpb25fYWNj
dW11bGF0b3IsIGdldF96ZXJvX21vdGlvbl9mYWN0b3IodHdvcGFzcywgbmV4dF9mcmFtZSkpOwor
ICAgICAgemVyb19tb3Rpb25fYWNjdW11bGF0b3IgPQorICAgICAgICAgIFZQWE1JTih6ZXJvX21v
dGlvbl9hY2N1bXVsYXRvciwKKyAgICAgICAgICAgICAgICAgZ2V0X3plcm9fbW90aW9uX2ZhY3Rv
cihmcmFtZV9pbmZvLCBuZXh0X2ZyYW1lKSk7CiAgICAgfQogCiAgICAgLy8gQWNjdW11bGF0ZSB0
aGUgZWZmZWN0IG9mIHByZWRpY3Rpb24gcXVhbGl0eSBkZWNheS4KICAgICBpZiAoIWZsYXNoX2Rl
dGVjdGVkKSB7CiAgICAgICBkb3VibGUgbGFzdF9sb29wX2RlY2F5X3JhdGUgPSBsb29wX2RlY2F5
X3JhdGU7Ci0gICAgICBsb29wX2RlY2F5X3JhdGUgPSBnZXRfcHJlZGljdGlvbl9kZWNheV9yYXRl
KHR3b3Bhc3MsIG5leHRfZnJhbWUpOworICAgICAgbG9vcF9kZWNheV9yYXRlID0gZ2V0X3ByZWRp
Y3Rpb25fZGVjYXlfcmF0ZShmcmFtZV9pbmZvLCBuZXh0X2ZyYW1lKTsKIAogICAgICAgLy8gQnJl
YWsgY2xhdXNlIHRvIGRldGVjdCB2ZXJ5IHN0aWxsIHNlY3Rpb25zIGFmdGVyIG1vdGlvbi4gRm9y
IGV4YW1wbGUsCiAgICAgICAvLyBhIHN0YXRpYyBpbWFnZSBhZnRlciBhIGZhZGUgb3Igb3RoZXIg
dHJhbnNpdGlvbi4KQEAgLTI1OTksNyArMjY0MSw3IEBAIHN0YXRpYyBpbnQgZ2V0X2dvcF9jb2Rp
bmdfZnJhbWVfbnVtKAogICAgIGlmICgKICAgICAgICAgLy8gRG9uJ3QgYnJlYWsgb3V0IHdpdGgg
YSB2ZXJ5IHNob3J0IGludGVydmFsLgogICAgICAgICAoZ29wX2NvZGluZ19mcmFtZXMgPj0gYWN0
aXZlX2dmX2ludGVydmFsLT5taW4pICYmCi0gICAgICAgIC8vIElmIHBvc3NpYmxlIGRvbid0IGJy
ZWFrIHZlcnkgY2xvc2UgdG8gYSBrZgorICAgICAgICAvLyBJZiBwb3NzaWJsZSBkb250IGJyZWFr
IHZlcnkgY2xvc2UgdG8gYSBrZgogICAgICAgICAoKHJjLT5mcmFtZXNfdG9fa2V5IC0gZ29wX2Nv
ZGluZ19mcmFtZXMpID49IHJjLT5taW5fZ2ZfaW50ZXJ2YWwpICYmCiAgICAgICAgIChnb3BfY29k
aW5nX2ZyYW1lcyAmIDB4MDEpICYmICghZmxhc2hfZGV0ZWN0ZWQpICYmCiAgICAgICAgICgobXZf
cmF0aW9fYWNjdW11bGF0b3IgPiBtdl9yYXRpb19hY2N1bXVsYXRvcl90aHJlc2gpIHx8CkBAIC0y
NjE0LDI1ICsyNjU2LDI1IEBAIHN0YXRpYyBpbnQgZ2V0X2dvcF9jb2RpbmdfZnJhbWVfbnVtKAog
ICByZXR1cm4gZ29wX2NvZGluZ19mcmFtZXM7CiB9CiAKLXN0YXRpYyBSQU5HRSBnZXRfYWN0aXZl
X2dmX2ludmVydmFsX3JhbmdlX3NpbXBsZShpbnQgbWluX2dmX2ludGVydmFsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhcmZfYWN0aXZlX29y
X2tmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBmcmFtZXNfdG9fa2V5KSB7Ci0gIFJBTkdFIGFjdGl2ZV9nZl9pbnRlcnZhbDsKLSAgYWN0aXZl
X2dmX2ludGVydmFsLm1pbiA9IG1pbl9nZl9pbnRlcnZhbCArIGFyZl9hY3RpdmVfb3Jfa2YgKyAy
OwotICBhY3RpdmVfZ2ZfaW50ZXJ2YWwubWF4ID0gMTYgKyBhcmZfYWN0aXZlX29yX2tmOwotCi0g
IGlmICgoYWN0aXZlX2dmX2ludGVydmFsLm1heCA8PSBmcmFtZXNfdG9fa2V5KSAmJgotICAgICAg
KGFjdGl2ZV9nZl9pbnRlcnZhbC5tYXggPj0gKGZyYW1lc190b19rZXkgLSBtaW5fZ2ZfaW50ZXJ2
YWwpKSkgewotICAgIGFjdGl2ZV9nZl9pbnRlcnZhbC5taW4gPSBmcmFtZXNfdG9fa2V5IC8gMjsK
LSAgICBhY3RpdmVfZ2ZfaW50ZXJ2YWwubWF4ID0gZnJhbWVzX3RvX2tleSAvIDI7Ci0gIH0KLSAg
cmV0dXJuIGFjdGl2ZV9nZl9pbnRlcnZhbDsKLX0KLQogc3RhdGljIFJBTkdFIGdldF9hY3RpdmVf
Z2ZfaW52ZXJ2YWxfcmFuZ2UoCiAgICAgY29uc3QgRlJBTUVfSU5GTyAqZnJhbWVfaW5mbywgY29u
c3QgUkFURV9DT05UUk9MICpyYywgaW50IGFyZl9hY3RpdmVfb3Jfa2YsCiAgICAgaW50IGdmX3N0
YXJ0X3Nob3dfaWR4LCBpbnQgYWN0aXZlX3dvcnN0X3F1YWxpdHksIGludCBsYXN0X2Jvb3N0ZWRf
cWluZGV4KSB7CiAgIFJBTkdFIGFjdGl2ZV9nZl9pbnRlcnZhbDsKKyNpZiBDT05GSUdfUkFURV9D
VFJMCisgICh2b2lkKWZyYW1lX2luZm87CisgICh2b2lkKWdmX3N0YXJ0X3Nob3dfaWR4OworICAo
dm9pZClhY3RpdmVfd29yc3RfcXVhbGl0eTsKKyAgKHZvaWQpbGFzdF9ib29zdGVkX3FpbmRleDsK
KyAgYWN0aXZlX2dmX2ludGVydmFsLm1pbiA9IHJjLT5taW5fZ2ZfaW50ZXJ2YWwgKyBhcmZfYWN0
aXZlX29yX2tmICsgMjsKKworICBhY3RpdmVfZ2ZfaW50ZXJ2YWwubWF4ID0gMTYgKyBhcmZfYWN0
aXZlX29yX2tmOworCisgIGlmICgoYWN0aXZlX2dmX2ludGVydmFsLm1heCA8PSByYy0+ZnJhbWVz
X3RvX2tleSkgJiYKKyAgICAgIChhY3RpdmVfZ2ZfaW50ZXJ2YWwubWF4ID49IChyYy0+ZnJhbWVz
X3RvX2tleSAtIHJjLT5taW5fZ2ZfaW50ZXJ2YWwpKSkgeworICAgIGFjdGl2ZV9nZl9pbnRlcnZh
bC5taW4gPSByYy0+ZnJhbWVzX3RvX2tleSAvIDI7CisgICAgYWN0aXZlX2dmX2ludGVydmFsLm1h
eCA9IHJjLT5mcmFtZXNfdG9fa2V5IC8gMjsKKyAgfQorI2Vsc2UKICAgaW50IGludF9tYXhfcSA9
IChpbnQpKHZwOV9jb252ZXJ0X3FpbmRleF90b19xKGFjdGl2ZV93b3JzdF9xdWFsaXR5LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVfaW5mby0+
Yml0X2RlcHRoKSk7CiAgIGludCBxX3Rlcm0gPSAoZ2Zfc3RhcnRfc2hvd19pZHggPT0gMCkKQEAg
LTI2NzAsNiArMjcxMiw3IEBAIHN0YXRpYyBSQU5HRSBnZXRfYWN0aXZlX2dmX2ludmVydmFsX3Jh
bmdlKAogICB9CiAgIGFjdGl2ZV9nZl9pbnRlcnZhbC5tYXggPQogICAgICAgVlBYTUFYKGFjdGl2
ZV9nZl9pbnRlcnZhbC5tYXgsIGFjdGl2ZV9nZl9pbnRlcnZhbC5taW4pOworI2VuZGlmCiAgIHJl
dHVybiBhY3RpdmVfZ2ZfaW50ZXJ2YWw7CiB9CiAKQEAgLTI3MjEsMjggKzI3NjQsMTggQEAgc3Rh
dGljIHZvaWQgZGVmaW5lX2dmX2dyb3VwKFZQOV9DT01QICpjcGksIGludCBnZl9zdGFydF9zaG93
X2lkeCkgewogICBkb3VibGUgZ29wX2ludHJhX2ZhY3RvcjsKICAgaW50IGdvcF9mcmFtZXM7CiAg
IFJBTkdFIGFjdGl2ZV9nZl9pbnRlcnZhbDsKLSAgLy8gV2hldGhlciB0aGlzIGlzIGF0IHRoZSBl
bmQgb2YgbGFzdCBHT1Agb2YgdGhpcyBzZXF1ZW5jZS4KLSAgaW50IGVuZF9vZl9zZXF1ZW5jZSA9
IDA7CiAKICAgLy8gUmVzZXQgdGhlIEdGIGdyb3VwIGRhdGEgc3RydWN0dXJlcyB1bmxlc3MgdGhp
cyBpcyBhIGtleQogICAvLyBmcmFtZSBpbiB3aGljaCBjYXNlIGl0IHdpbGwgYWxyZWFkeSBoYXZl
IGJlZW4gZG9uZS4KICAgaWYgKGlzX2tleV9mcmFtZSA9PSAwKSB7CiAgICAgdnA5X3plcm8odHdv
cGFzcy0+Z2ZfZ3JvdXApOwotICAgICsrcmMtPmdvcF9nbG9iYWxfaW5kZXg7Ci0gIH0gZWxzZSB7
Ci0gICAgcmMtPmdvcF9nbG9iYWxfaW5kZXggPSAwOwogICB9CiAKICAgdnB4X2NsZWFyX3N5c3Rl
bV9zdGF0ZSgpOwogCi0gIGlmIChveGNmLT51c2Vfc2ltcGxlX2VuY29kZV9hcGkpIHsKLSAgICBh
Y3RpdmVfZ2ZfaW50ZXJ2YWwgPSBnZXRfYWN0aXZlX2dmX2ludmVydmFsX3JhbmdlX3NpbXBsZSgK
LSAgICAgICAgcmMtPm1pbl9nZl9pbnRlcnZhbCwgYXJmX2FjdGl2ZV9vcl9rZiwgcmMtPmZyYW1l
c190b19rZXkpOwotICB9IGVsc2UgewotICAgIGFjdGl2ZV9nZl9pbnRlcnZhbCA9IGdldF9hY3Rp
dmVfZ2ZfaW52ZXJ2YWxfcmFuZ2UoCi0gICAgICAgIGZyYW1lX2luZm8sIHJjLCBhcmZfYWN0aXZl
X29yX2tmLCBnZl9zdGFydF9zaG93X2lkeCwKLSAgICAgICAgdHdvcGFzcy0+YWN0aXZlX3dvcnN0
X3F1YWxpdHksIHJjLT5sYXN0X2Jvb3N0ZWRfcWluZGV4KTsKLSAgfQorICBhY3RpdmVfZ2ZfaW50
ZXJ2YWwgPSBnZXRfYWN0aXZlX2dmX2ludmVydmFsX3JhbmdlKAorICAgICAgZnJhbWVfaW5mbywg
cmMsIGFyZl9hY3RpdmVfb3Jfa2YsIGdmX3N0YXJ0X3Nob3dfaWR4LAorICAgICAgdHdvcGFzcy0+
YWN0aXZlX3dvcnN0X3F1YWxpdHksIHJjLT5sYXN0X2Jvb3N0ZWRfcWluZGV4KTsKIAogICBpZiAo
Y3BpLT5tdWx0aV9sYXllcl9hcmYpIHsKICAgICBpbnQgYXJmX2xheWVycyA9IGdldF9hcmZfbGF5
ZXJzKGNwaS0+bXVsdGlfbGF5ZXJfYXJmLCBveGNmLT5lbmFibGVfYXV0b19hcmYsCkBAIC0yNzUy
LDU1ICsyNzg1LDI2IEBAIHN0YXRpYyB2b2lkIGRlZmluZV9nZl9ncm91cChWUDlfQ09NUCAqY3Bp
LCBpbnQgZ2Zfc3RhcnRfc2hvd19pZHgpIHsKICAgICBnb3BfaW50cmFfZmFjdG9yID0gMS4wOwog
ICB9CiAKLSAgZ29wX2NvZGluZ19mcmFtZXMgPSBnZXRfZ29wX2NvZGluZ19mcmFtZV9udW0oCi0g
ICAgICAmdXNlX2FsdF9yZWYsIGZyYW1lX2luZm8sIHR3b3Bhc3MsIHJjLCBnZl9zdGFydF9zaG93
X2lkeCwKLSAgICAgICZhY3RpdmVfZ2ZfaW50ZXJ2YWwsIGdvcF9pbnRyYV9mYWN0b3IsIGNwaS0+
b3hjZi5sYWdfaW5fZnJhbWVzLAotICAgICAgJmVuZF9vZl9zZXF1ZW5jZSk7Ci0gIHVzZV9hbHRf
cmVmICY9IGFsbG93X2FsdF9yZWY7CiAjaWYgQ09ORklHX1JBVEVfQ1RSTAotICAvLyBJZiB0aGUg
ZXh0ZXJuYWwgZ29wX2NvbW1hbmQgaXMgb24sIHdlIHdpbGwgb3ZlcnJpZGUgdGhlIGRlY2lzaW9u
cwotICAvLyBvZiBnb3BfY29kaW5nX2ZyYW1lcyBhbmQgdXNlX2FsdF9yZWYuCi0gIGlmIChjcGkt
Pm94Y2YudXNlX3NpbXBsZV9lbmNvZGVfYXBpKSB7CisgIHsKICAgICBjb25zdCBHT1BfQ09NTUFO
RCAqZ29wX2NvbW1hbmQgPSAmY3BpLT5lbmNvZGVfY29tbWFuZC5nb3BfY29tbWFuZDsKICAgICBh
c3NlcnQoYWxsb3dfYWx0X3JlZiA9PSAxKTsKICAgICBpZiAoZ29wX2NvbW1hbmQtPnVzZSkgewog
ICAgICAgZ29wX2NvZGluZ19mcmFtZXMgPSBnb3BfY29tbWFuZF9jb2RpbmdfZnJhbWVfY291bnQo
Z29wX2NvbW1hbmQpOwogICAgICAgdXNlX2FsdF9yZWYgPSBnb3BfY29tbWFuZC0+dXNlX2FsdF9y
ZWY7CisgICAgfSBlbHNlIHsKKyAgICAgIGdvcF9jb2RpbmdfZnJhbWVzID0gZ2V0X2dvcF9jb2Rp
bmdfZnJhbWVfbnVtKAorICAgICAgICAgICZ1c2VfYWx0X3JlZiwgZnJhbWVfaW5mbywgZmlyc3Rf
cGFzc19pbmZvLCByYywgZ2Zfc3RhcnRfc2hvd19pZHgsCisgICAgICAgICAgJmFjdGl2ZV9nZl9p
bnRlcnZhbCwgZ29wX2ludHJhX2ZhY3RvciwgY3BpLT5veGNmLmxhZ19pbl9mcmFtZXMpOworICAg
ICAgdXNlX2FsdF9yZWYgJj0gYWxsb3dfYWx0X3JlZjsKICAgICB9CiAgIH0KKyNlbHNlCisgIGdv
cF9jb2RpbmdfZnJhbWVzID0gZ2V0X2dvcF9jb2RpbmdfZnJhbWVfbnVtKAorICAgICAgJnVzZV9h
bHRfcmVmLCBmcmFtZV9pbmZvLCBmaXJzdF9wYXNzX2luZm8sIHJjLCBnZl9zdGFydF9zaG93X2lk
eCwKKyAgICAgICZhY3RpdmVfZ2ZfaW50ZXJ2YWwsIGdvcF9pbnRyYV9mYWN0b3IsIGNwaS0+b3hj
Zi5sYWdfaW5fZnJhbWVzKTsKKyAgdXNlX2FsdF9yZWYgJj0gYWxsb3dfYWx0X3JlZjsKICNlbmRp
ZgotICAvLyBJZiB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1vZGVsIGZvciBHT1AgaXMgdXNl
ZCwgdGhlIGdvcCBkZWNpc2lvbnMKLSAgLy8gYXJlIG92ZXJ3cml0dGVuLiBTcGVjaWZpY2FsbHks
IHxnb3BfY29kaW5nX2ZyYW1lc3wgYW5kIHx1c2VfYWx0X3JlZnwKLSAgLy8gd2lsbCBiZSBvdmVy
d3JpdHRlbi4KLSAgaWYgKGNwaS0+ZXh0X3JhdGVjdHJsLnJlYWR5ICYmCi0gICAgICAoY3BpLT5l
eHRfcmF0ZWN0cmwuZnVuY3MucmNfdHlwZSAmIFZQWF9SQ19HT1ApICE9IDAgJiYKLSAgICAgIGNw
aS0+ZXh0X3JhdGVjdHJsLmZ1bmNzLmdldF9nb3BfZGVjaXNpb24gIT0gTlVMTCAmJiAhZW5kX29m
X3NlcXVlbmNlKSB7Ci0gICAgdnB4X2NvZGVjX2Vycl90IGNvZGVjX3N0YXR1czsKLSAgICB2cHhf
cmNfZ29wX2RlY2lzaW9uX3QgZ29wX2RlY2lzaW9uOwotICAgIHZweF9yY19nb3BfaW5mb190IGdv
cF9pbmZvOwotICAgIGdvcF9pbmZvLm1pbl9nZl9pbnRlcnZhbCA9IHJjLT5taW5fZ2ZfaW50ZXJ2
YWw7Ci0gICAgZ29wX2luZm8ubWF4X2dmX2ludGVydmFsID0gcmMtPm1heF9nZl9pbnRlcnZhbDsK
LSAgICBnb3BfaW5mby5hY3RpdmVfbWluX2dmX2ludGVydmFsID0gYWN0aXZlX2dmX2ludGVydmFs
Lm1pbjsKLSAgICBnb3BfaW5mby5hY3RpdmVfbWF4X2dmX2ludGVydmFsID0gYWN0aXZlX2dmX2lu
dGVydmFsLm1heDsKLSAgICBnb3BfaW5mby5hbGxvd19hbHRfcmVmID0gYWxsb3dfYWx0X3JlZjsK
LSAgICBnb3BfaW5mby5pc19rZXlfZnJhbWUgPSBpc19rZXlfZnJhbWU7Ci0gICAgZ29wX2luZm8u
bGFzdF9nb3BfdXNlX2FsdF9yZWYgPSByYy0+c291cmNlX2FsdF9yZWZfYWN0aXZlOwotICAgIGdv
cF9pbmZvLmZyYW1lc19zaW5jZV9rZXkgPSByYy0+ZnJhbWVzX3NpbmNlX2tleTsKLSAgICBnb3Bf
aW5mby5mcmFtZXNfdG9fa2V5ID0gcmMtPmZyYW1lc190b19rZXk7Ci0gICAgZ29wX2luZm8ubGFn
X2luX2ZyYW1lcyA9IGNwaS0+b3hjZi5sYWdfaW5fZnJhbWVzOwotICAgIGdvcF9pbmZvLnNob3df
aW5kZXggPSBjbS0+Y3VycmVudF92aWRlb19mcmFtZTsKLSAgICBnb3BfaW5mby5jb2RpbmdfaW5k
ZXggPSBjbS0+Y3VycmVudF9mcmFtZV9jb2RpbmdfaW5kZXg7Ci0gICAgZ29wX2luZm8uZ29wX2ds
b2JhbF9pbmRleCA9IHJjLT5nb3BfZ2xvYmFsX2luZGV4OwotCi0gICAgY29kZWNfc3RhdHVzID0g
dnA5X2V4dHJjX2dldF9nb3BfZGVjaXNpb24oJmNwaS0+ZXh0X3JhdGVjdHJsLCAmZ29wX2luZm8s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdvcF9kZWNp
c2lvbik7Ci0gICAgaWYgKGNvZGVjX3N0YXR1cyAhPSBWUFhfQ09ERUNfT0spIHsKLSAgICAgIHZw
eF9pbnRlcm5hbF9lcnJvcigmY20tPmVycm9yLCBjb2RlY19zdGF0dXMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgInZwOV9leHRyY19nZXRfZ29wX2RlY2lzaW9uKCkgZmFpbGVkIik7Ci0gICAg
fQotICAgIGdvcF9jb2RpbmdfZnJhbWVzID0gZ29wX2RlY2lzaW9uLmdvcF9jb2RpbmdfZnJhbWVz
OwotICAgIHVzZV9hbHRfcmVmID0gZ29wX2RlY2lzaW9uLnVzZV9hbHRfcmVmOwotICB9CiAKICAg
Ly8gV2FzIHRoZSBncm91cCBsZW5ndGggY29uc3RyYWluZWQgYnkgdGhlIHJlcXVpcmVtZW50IGZv
ciBhIG5ldyBLRj8KICAgcmMtPmNvbnN0cmFpbmVkX2dmX2dyb3VwID0gKGdvcF9jb2RpbmdfZnJh
bWVzID49IHJjLT5mcmFtZXNfdG9fa2V5KSA/IDEgOiAwOwpAQCAtMjgxOSw4ICsyODIzLDggQEAg
c3RhdGljIHZvaWQgZGVmaW5lX2dmX2dyb3VwKFZQOV9DT01QICpjcGksIGludCBnZl9zdGFydF9z
aG93X2lkeCkgewogCiAgICAgLy8gQ2FsY3VsYXRlIHRoZSBib29zdCBmb3IgYWx0IHJlZi4KICAg
ICByYy0+Z2Z1X2Jvb3N0ID0KLSAgICAgICAgY29tcHV0ZV9hcmZfYm9vc3QoZnJhbWVfaW5mbywg
dHdvcGFzcywgYXJmX3Nob3dfaWR4LCBmX2ZyYW1lcywgYl9mcmFtZXMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGF2Z19pbnRlcl9mcmFtZV9xaW5kZXgpOworICAgICAgICBjb21wdXRlX2Fy
Zl9ib29zdChmcmFtZV9pbmZvLCBmaXJzdF9wYXNzX2luZm8sIGFyZl9zaG93X2lkeCwgZl9mcmFt
ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJfZnJhbWVzLCBhdmdfaW50ZXJfZnJhbWVf
cWluZGV4KTsKICAgICByYy0+c291cmNlX2FsdF9yZWZfcGVuZGluZyA9IDE7CiAgIH0gZWxzZSB7
CiAgICAgY29uc3QgaW50IGZfZnJhbWVzID0gZ29wX2NvZGluZ19mcmFtZXMgLSAxOwpAQCAtMjgz
MCw5ICsyODM0LDkgQEAgc3RhdGljIHZvaWQgZGVmaW5lX2dmX2dyb3VwKFZQOV9DT01QICpjcGks
IGludCBnZl9zdGFydF9zaG93X2lkeCkgewogICAgIGNvbnN0IGludCBnbGRfc2hvd19pZHggPQog
ICAgICAgICBWUFhNSU4oZ2Zfc3RhcnRfc2hvd19pZHggKyAxLCBmcHNfZ2V0X251bV9mcmFtZXMo
Zmlyc3RfcGFzc19pbmZvKSk7CiAgICAgY29uc3QgaW50IGFyZl9ib29zdCA9Ci0gICAgICAgIGNv
bXB1dGVfYXJmX2Jvb3N0KGZyYW1lX2luZm8sIHR3b3Bhc3MsIGdsZF9zaG93X2lkeCwgZl9mcmFt
ZXMsIGJfZnJhbWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBhdmdfaW50ZXJfZnJhbWVf
cWluZGV4KTsKLSAgICByYy0+Z2Z1X2Jvb3N0ID0gVlBYTUlOKChpbnQpdHdvcGFzcy0+Z2ZfbWF4
X3RvdGFsX2Jvb3N0LCBhcmZfYm9vc3QpOworICAgICAgICBjb21wdXRlX2FyZl9ib29zdChmcmFt
ZV9pbmZvLCBmaXJzdF9wYXNzX2luZm8sIGdsZF9zaG93X2lkeCwgZl9mcmFtZXMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJfZnJhbWVzLCBhdmdfaW50ZXJfZnJhbWVfcWluZGV4KTsKKyAg
ICByYy0+Z2Z1X2Jvb3N0ID0gVlBYTUlOKE1BWF9HRl9CT09TVCwgYXJmX2Jvb3N0KTsKICAgICBy
Yy0+c291cmNlX2FsdF9yZWZfcGVuZGluZyA9IDA7CiAgIH0KIApAQCAtMjkzNSw5ICsyOTM5LDcg
QEAgc3RhdGljIHZvaWQgZGVmaW5lX2dmX2dyb3VwKFZQOV9DT01QICpjcGksIGludCBnZl9zdGFy
dF9zaG93X2lkeCkgewogICAgICAgICBjcGksIGdyb3VwX2F2X2VyciwgKGdyb3VwX2F2X3NraXBf
cGN0ICsgZ3JvdXBfYXZfaW5hY3RpdmVfem9uZSksCiAgICAgICAgIGdyb3VwX2F2X25vaXNlLCB2
YnJfZ3JvdXBfYml0c19wZXJfZnJhbWUpOwogICAgIHR3b3Bhc3MtPmFjdGl2ZV93b3JzdF9xdWFs
aXR5ID0KLSAgICAgICAgKGludCkoKHRtcF9xICsgKHR3b3Bhc3MtPmFjdGl2ZV93b3JzdF9xdWFs
aXR5ICoKLSAgICAgICAgICAgICAgICAgICAgICAgICh0d29wYXNzLT5hY3RpdmVfd3FfZmFjdG9y
IC0gMSkpKSAvCi0gICAgICAgICAgICAgIHR3b3Bhc3MtPmFjdGl2ZV93cV9mYWN0b3IpOworICAg
ICAgICAodG1wX3EgKyAodHdvcGFzcy0+YWN0aXZlX3dvcnN0X3F1YWxpdHkgKiAzKSkgPj4gMjsK
IAogI2lmIENPTkZJR19BTFdBWVNfQURKVVNUX0JQTQogICAgIC8vIFJlc2V0IHJvbGxpbmcgYWN0
dWFsIGFuZCB0YXJnZXQgYml0cyBjb3VudGVycyBmb3IgQVJGIGdyb3Vwcy4KQEAgLTMwMzcsNyAr
MzAzOSw3IEBAIHN0YXRpYyBpbnQgaW50cmFfc3RlcF90cmFuc2l0aW9uKGNvbnN0IEZJUlNUUEFT
U19TVEFUUyAqdGhpc19mcmFtZSwKICAgICAgIG5leHRfZnJhbWUtPmludHJhX2Vycm9yIC8gRE9V
QkxFX0RJVklERV9DSEVDSyhuZXh0X2ZyYW1lLT5jb2RlZF9lcnJvcik7CiAKICAgLy8gUmV0dXJu
IHRydWUgdGhlIGludHJhL2ludGVyIHJhdGlvIGZvciB0aGUgY3VycmVudCBmcmFtZSBpcwotICAv
LyBsb3cgYnV0IGJldHRlciBpbiB0aGUgbmV4dCBhbmQgcHJldmlvdXMgZnJhbWUgYW5kIHRoZSBy
ZWxhdGl2ZSB1c2FnZSBvZgorICAvLyBsb3cgYnV0IGJldHRlciBpbiB0aGUgbmV4dCBhbmQgcHJl
dmlvdXMgZnJhbWUgYW5kIHRoZSByZWxhdGl2ZSB1c2VhZ2Ugb2YKICAgLy8gaW50cmEgaW4gdGhl
IGN1cnJlbnQgZnJhbWUgaXMgbWFya2VkbHkgaGlnaGVyIHRoYW4gdGhlIGxhc3QgYW5kIG5leHQg
ZnJhbWUuCiAgIGlmICgodGhpc19paV9yYXRpbyA8IDIuMCkgJiYgKGxhc3RfaWlfcmF0aW8gPiAy
LjI1KSAmJgogICAgICAgKG5leHRfaWlfcmF0aW8gPiAyLjI1KSAmJiAodGhpc19wY250X2ludHJh
ID4gKDMgKiBsYXN0X3BjbnRfaW50cmEpKSAmJgpAQCAtMzA1OCw4ICszMDYwLDggQEAgc3RhdGlj
IGludCBpbnRyYV9zdGVwX3RyYW5zaXRpb24oY29uc3QgRklSU1RQQVNTX1NUQVRTICp0aGlzX2Zy
YW1lLAogLy8gTWluaW11bSAlIGludHJhIGNvZGluZyBvYnNlcnZlZCBpbiBmaXJzdCBwYXNzICgx
LjAgPSAxMDAlKQogI2RlZmluZSBNSU5fSU5UUkFfTEVWRUwgMC4yNQogLy8gVGhyZXNob2xkIGZv
ciB1c2Ugb2YgdGhlIGxhZ2dpbmcgc2Vjb25kIHJlZmVyZW5jZSBmcmFtZS4gU2NlbmUgY3V0cyBk
byBub3QKLS8vIHVzdWFsbHkgaGF2ZSBhIGhpZ2ggc2Vjb25kIHJlZiB1c2FnZS4KLSNkZWZpbmUg
U0VDT05EX1JFRl9VU0FHRV9USFJFU0ggMC4yCisvLyB1c3VhbGx5IGhhdmUgYSBoaWdoIHNlY29u
ZCByZWYgdXNlYWdlLgorI2RlZmluZSBTRUNPTkRfUkVGX1VTRUFHRV9USFJFU0ggMC4yCiAvLyBI
YXJkIHRocmVzaG9sZCB3aGVyZSB0aGUgZmlyc3QgcGFzcyBjaG9vc2VzIGludHJhIGZvciBhbG1v
c3QgYWxsIGJsb2Nrcy4KIC8vIEluIHN1Y2ggYSBjYXNlIGV2ZW4gaWYgdGhlIGZyYW1lIGlzIG5v
dCBhIHNjZW5lIGN1dCBjb2RpbmcgYSBrZXkgZnJhbWUKIC8vIG1heSBiZSBhIGdvb2Qgb3B0aW9u
LgpAQCAtMzA4OSw3ICszMDkxLDcgQEAgc3RhdGljIGludCB0ZXN0X2NhbmRpZGF0ZV9rZihjb25z
dCBGSVJTVF9QQVNTX0lORk8gKmZpcnN0X3Bhc3NfaW5mbywKICAgZGV0ZWN0X2ZsYXNoX2Zyb21f
ZnJhbWVfc3RhdHMobmV4dF9mcmFtZSk7CiAgIGlmICghZGV0ZWN0X2ZsYXNoX2Zyb21fZnJhbWVf
c3RhdHModGhpc19mcmFtZSkgJiYKICAgICAgICFkZXRlY3RfZmxhc2hfZnJvbV9mcmFtZV9zdGF0
cyhuZXh0X2ZyYW1lKSAmJgotICAgICAgKHRoaXNfZnJhbWUtPnBjbnRfc2Vjb25kX3JlZiA8IFNF
Q09ORF9SRUZfVVNBR0VfVEhSRVNIKSAmJgorICAgICAgKHRoaXNfZnJhbWUtPnBjbnRfc2Vjb25k
X3JlZiA8IFNFQ09ORF9SRUZfVVNFQUdFX1RIUkVTSCkgJiYKICAgICAgICgodGhpc19mcmFtZS0+
cGNudF9pbnRlciA8IFZFUllfTE9XX0lOVEVSX1RIUkVTSCkgfHwKICAgICAgICAoc2xpZGVfdHJh
bnNpdGlvbih0aGlzX2ZyYW1lLCBsYXN0X2ZyYW1lLCBuZXh0X2ZyYW1lKSkgfHwKICAgICAgICAo
aW50cmFfc3RlcF90cmFuc2l0aW9uKHRoaXNfZnJhbWUsIGxhc3RfZnJhbWUsIG5leHRfZnJhbWUp
KSB8fApAQCAtMzE1NywxMCArMzE1OSwxOCBAQCBzdGF0aWMgaW50IHRlc3RfY2FuZGlkYXRlX2tm
KGNvbnN0IEZJUlNUX1BBU1NfSU5GTyAqZmlyc3RfcGFzc19pbmZvLAogI2RlZmluZSBNSU5fU0NB
Tl9GUkFNRVNfRk9SX0tGX0JPT1NUIDMyCiAjZGVmaW5lIEtGX0FCU19aT09NX1RIUkVTSCA2LjAK
IAorI2lmZGVmIEFHR1JFU1NJVkVfVkJSCisjZGVmaW5lIEtGX01BWF9GUkFNRV9CT09TVCA4MC4w
CisjZGVmaW5lIE1BWF9LRl9UT1RfQk9PU1QgNDgwMAorI2Vsc2UKKyNkZWZpbmUgS0ZfTUFYX0ZS
QU1FX0JPT1NUIDk2LjAKKyNkZWZpbmUgTUFYX0tGX1RPVF9CT09TVCA1NDAwCisjZW5kaWYKKwog
aW50IHZwOV9nZXRfZnJhbWVzX3RvX25leHRfa2V5KGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94
Y2YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVFdPX1BBU1MgKmNvbnN0
IHR3b3Bhc3MsIGludCBrZl9zaG93X2lkeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbWluX2dmX2ludGVydmFsKSB7Ci0gIGNvbnN0IEZJUlNUX1BBU1NfSU5GTyAqZmlyc3Rf
cGFzc19pbmZvID0gJnR3b3Bhc3MtPmZpcnN0X3Bhc3NfaW5mbzsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBGUkFNRV9JTkZPICpmcmFtZV9pbmZvLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEZJUlNUX1BBU1NfSU5GTyAqZmlyc3RfcGFzc19pbmZv
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBrZl9zaG93X2lkeCwgaW50IG1p
bl9nZl9pbnRlcnZhbCkgewogICBkb3VibGUgcmVjZW50X2xvb3BfZGVjYXlbRlJBTUVTX1RPX0NI
RUNLX0RFQ0FZXTsKICAgaW50IGo7CiAgIGludCBmcmFtZXNfdG9fa2V5OwpAQCAtMzE4Nyw3ICsz
MTk3LDcgQEAgaW50IHZwOV9nZXRfZnJhbWVzX3RvX25leHRfa2V5KGNvbnN0IFZQOUVuY29kZXJD
b25maWcgKm94Y2YsCiAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgLy8gSG93IGZhc3QgaXMg
dGhlIHByZWRpY3Rpb24gcXVhbGl0eSBkZWNheWluZz8KLSAgICAgICAgbG9vcF9kZWNheV9yYXRl
ID0gZ2V0X3ByZWRpY3Rpb25fZGVjYXlfcmF0ZSh0d29wYXNzLCBuZXh0X2ZyYW1lKTsKKyAgICAg
ICAgbG9vcF9kZWNheV9yYXRlID0gZ2V0X3ByZWRpY3Rpb25fZGVjYXlfcmF0ZShmcmFtZV9pbmZv
LCBuZXh0X2ZyYW1lKTsKIAogICAgICAgICAvLyBXZSB3YW50IHRvIGtub3cgc29tZXRoaW5nIGFi
b3V0IHRoZSByZWNlbnQgcGFzdC4uLiByYXRoZXIgdGhhbgogICAgICAgICAvLyBhcyB1c2VkIGVs
c2V3aGVyZSB3aGVyZSB3ZSBhcmUgY29uY2VybmVkIHdpdGggZGVjYXkgaW4gcHJlZGljdGlvbgpA
QCAtMzI3Myw4ICszMjgzLDggQEAgc3RhdGljIHZvaWQgZmluZF9uZXh0X2tleV9mcmFtZShWUDlf
Q09NUCAqY3BpLCBpbnQga2Zfc2hvd19pZHgpIHsKICAga2ZfbW9kX2VyciA9IGNhbGNfbm9ybV9m
cmFtZV9zY29yZShveGNmLCBmcmFtZV9pbmZvLCBrZXlmcmFtZV9zdGF0cywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtZWFuX21vZF9zY29yZSwgYXZfZXJyKTsKIAotICBy
Yy0+ZnJhbWVzX3RvX2tleSA9IHZwOV9nZXRfZnJhbWVzX3RvX25leHRfa2V5KG94Y2YsIHR3b3Bh
c3MsIGtmX3Nob3dfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJjLT5taW5fZ2ZfaW50ZXJ2YWwpOworICByYy0+ZnJhbWVzX3RvX2tleSA9IHZw
OV9nZXRfZnJhbWVzX3RvX25leHRfa2V5KAorICAgICAgb3hjZiwgZnJhbWVfaW5mbywgZmlyc3Rf
cGFzc19pbmZvLCBrZl9zaG93X2lkeCwgcmMtPm1pbl9nZl9pbnRlcnZhbCk7CiAKICAgLy8gSWYg
dGhlcmUgaXMgYSBtYXgga2YgaW50ZXJ2YWwgc2V0IGJ5IHRoZSB1c2VyIHdlIG11c3Qgb2JleSBp
dC4KICAgLy8gV2UgYWxyZWFkeSBicmVha291dCBvZiB0aGUgbG9vcCBhYm92ZSBhdCAyeCBtYXgu
CkBAIC0zMzU2LDcgKzMzNjYsNyBAQCBzdGF0aWMgdm9pZCBmaW5kX25leHRfa2V5X2ZyYW1lKFZQ
OV9DT01QICpjcGksIGludCBrZl9zaG93X2lkeCkgewogICAgICAgaWYgKGkgPiAwKSB7CiAgICAg
ICAgIHplcm9fbW90aW9uX2FjY3VtdWxhdG9yID0KICAgICAgICAgICAgIFZQWE1JTih6ZXJvX21v
dGlvbl9hY2N1bXVsYXRvciwKLSAgICAgICAgICAgICAgICAgICBnZXRfemVyb19tb3Rpb25fZmFj
dG9yKHR3b3Bhc3MsICZuZXh0X2ZyYW1lKSk7CisgICAgICAgICAgICAgICAgICAgZ2V0X3plcm9f
bW90aW9uX2ZhY3RvcigmY3BpLT5mcmFtZV9pbmZvLCAmbmV4dF9mcmFtZSkpOwogICAgICAgfSBl
bHNlIHsKICAgICAgICAgemVyb19tb3Rpb25fYWNjdW11bGF0b3IgPQogICAgICAgICAgICAgbmV4
dF9mcmFtZS5wY250X2ludGVyIC0gbmV4dF9mcmFtZS5wY250X21vdGlvbjsKQEAgLTMzNjcsMTEg
KzMzNzcsMTEgQEAgc3RhdGljIHZvaWQgZmluZF9uZXh0X2tleV9mcmFtZShWUDlfQ09NUCAqY3Bp
LCBpbnQga2Zfc2hvd19pZHgpIHsKIAogICAgICAgLy8gVGhlIHNlY29uZCAobGFnZ2luZykgcmVm
IGVycm9yIGlzIG5vdCB2YWxpZCBpbW1lZGlhdGVseSBhZnRlcgogICAgICAgLy8gYSBrZXkgZnJh
bWUgYmVjYXVzZSBlaXRoZXIgdGhlIGxhZyBoYXMgbm90IGJ1aWx0IHVwIChpbiB0aGUgY2FzZSBv
ZgotICAgICAgLy8gdGhlIGZpcnN0IGtleSBmcmFtZSBvciBpdCBwb2ludHMgdG8gYSByZWZlcmVu
Y2UgYmVmb3JlIHRoZSBuZXcga2V5CisgICAgICAvLyB0aGUgZmlyc3Qga2V5IGZyYW1lIG9yIGl0
IHBvaW50cyB0byBhIHJlZmVybmNlIGJlZm9yZSB0aGUgbmV3IGtleQogICAgICAgLy8gZnJhbWUu
CiAgICAgICBpZiAoaSA8IDIpIHNyX2FjY3VtdWxhdG9yID0gMC4wOwotICAgICAgZnJhbWVfYm9v
c3QgPQotICAgICAgICAgIGNhbGNfa2ZfZnJhbWVfYm9vc3QoY3BpLCAmbmV4dF9mcmFtZSwgJnNy
X2FjY3VtdWxhdG9yLCAwLCB6bV9mYWN0b3IpOworICAgICAgZnJhbWVfYm9vc3QgPSBjYWxjX2tm
X2ZyYW1lX2Jvb3N0KGNwaSwgJm5leHRfZnJhbWUsICZzcl9hY2N1bXVsYXRvciwgMCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLRl9NQVhfRlJBTUVfQk9PU1QgKiB6
bV9mYWN0b3IpOwogCiAgICAgICBib29zdF9zY29yZSArPSBmcmFtZV9ib29zdDsKIApAQCAtMzM5
NywxNSArMzQwNywxNSBAQCBzdGF0aWMgdm9pZCBmaW5kX25leHRfa2V5X2ZyYW1lKFZQOV9DT01Q
ICpjcGksIGludCBrZl9zaG93X2lkeCkgewogICB0d29wYXNzLT5rZXlfZnJhbWVfc2VjdGlvbl9p
bnRyYV9yYXRpbmcgPSBjYWxjdWxhdGVfc2VjdGlvbl9pbnRyYV9yYXRpbygKICAgICAgIHN0YXJ0
X3Bvc2l0aW9uLCB0d29wYXNzLT5zdGF0c19pbl9lbmQsIHJjLT5mcmFtZXNfdG9fa2V5KTsKIAot
ICAvLyBTcGVjaWFsIGNhc2UgZm9yIHN0YXRpYyAvIHNsaWRlIHNob3cgY29udGVudCBidXQgZG9u
J3QgYXBwbHkKKyAgLy8gU3BlY2lhbCBjYXNlIGZvciBzdGF0aWMgLyBzbGlkZSBzaG93IGNvbnRl
bnQgYnV0IGRvbnQgYXBwbHkKICAgLy8gaWYgdGhlIGtmIGdyb3VwIGlzIHZlcnkgc2hvcnQuCiAg
IGlmICgoemVyb19tb3Rpb25fYWNjdW11bGF0b3IgPiAwLjk5KSAmJiAocmMtPmZyYW1lc190b19r
ZXkgPiA4KSkgewotICAgIHJjLT5rZl9ib29zdCA9IChpbnQpKHR3b3Bhc3MtPmtmX21heF90b3Rh
bF9ib29zdCk7CisgICAgcmMtPmtmX2Jvb3N0ID0gTUFYX0tGX1RPVF9CT09TVDsKICAgfSBlbHNl
IHsKLSAgICAvLyBBcHBseSB2YXJpb3VzIGNsYW1wcyBmb3IgbWluIGFuZCBtYXggb29zdAorICAg
IC8vIEFwcGx5IHZhcmlvdXMgY2xhbXBzIGZvciBtaW4gYW5kIG1heCBib29zdAogICAgIHJjLT5r
Zl9ib29zdCA9IFZQWE1BWCgoaW50KWJvb3N0X3Njb3JlLCAocmMtPmZyYW1lc190b19rZXkgKiAz
KSk7CiAgICAgcmMtPmtmX2Jvb3N0ID0gVlBYTUFYKHJjLT5rZl9ib29zdCwgTUlOX0tGX1RPVF9C
T09TVCk7Ci0gICAgcmMtPmtmX2Jvb3N0ID0gVlBYTUlOKHJjLT5rZl9ib29zdCwgKGludCkodHdv
cGFzcy0+a2ZfbWF4X3RvdGFsX2Jvb3N0KSk7CisgICAgcmMtPmtmX2Jvb3N0ID0gVlBYTUlOKHJj
LT5rZl9ib29zdCwgTUFYX0tGX1RPVF9CT09TVCk7CiAgIH0KIAogICAvLyBXb3JrIG91dCBob3cg
bWFueSBiaXRzIHRvIGFsbG9jYXRlIGZvciB0aGUga2V5IGZyYW1lIGl0c2VsZi4KQEAgLTM0NDEs
NjYgKzM0NTEsMjMgQEAgc3RhdGljIHZvaWQgZmluZF9uZXh0X2tleV9mcmFtZShWUDlfQ09NUCAq
Y3BpLCBpbnQga2Zfc2hvd19pZHgpIHsKICAgfQogfQogCi0vLyBDb25maWd1cmUgaW1hZ2Ugc2l6
ZSBzcGVjaWZpYyB2aXppZXIgcGFyYW1ldGVycy4KLS8vIExhdGVyIHRoZXNlIHdpbGwgYmUgc2V0
IHZpYSBhZGRpdGlvbmFsIGNvbW1hbmQgbGluZSBvcHRpb25zCi12b2lkIHZwOV9pbml0X3Zpemll
cl9wYXJhbXMoVFdPX1BBU1MgKmNvbnN0IHR3b3Bhc3MsIGludCBzY3JlZW5fYXJlYSkgewotICAv
LyBXaGVuIHx1c2Vfdml6aWVyX3JjX3BhcmFtc3wgaXMgMSwgd2UgZXhwZWN0IHRoZSByYyBwYXJh
bWV0ZXJzIGJlbG93IHRvCi0gIC8vIGhhdmUgYmVlbiBpbml0aWFsaXNlZCBvbiB0aGUgY29tbWFu
ZCBsaW5lIGFzIGFkanVzdG1lbnQgZmFjdG9ycyBzdWNoCi0gIC8vIHRoYXQgYSBmYWN0b3Igb2Yg
MS4wIHdpbGwgbWF0Y2ggdGhlIGRlZmF1bHQgYmVoYXZpb3Igd2hlbgotICAvLyB8dXNlX3Zpemll
cl9yY19wYXJhbXN8IGlzIDAKLSAgaWYgKHR3b3Bhc3MtPnVzZV92aXppZXJfcmNfcGFyYW1zKSB7
Ci0gICAgdHdvcGFzcy0+YWN0aXZlX3dxX2ZhY3RvciAqPSBBVl9XUV9GQUNUT1I7Ci0gICAgdHdv
cGFzcy0+ZXJyX3Blcl9tYiAqPSBCQVNFTElORV9FUlJfUEVSX01COwotICAgIHR3b3Bhc3MtPnNy
X2RlZmF1bHRfZGVjYXlfbGltaXQgKj0gREVGQVVMVF9ERUNBWV9MSU1JVDsKLSAgICBpZiAodHdv
cGFzcy0+c3JfZGVmYXVsdF9kZWNheV9saW1pdCA+IDEuMCkgIC8vID4gMS4wIGhlcmUgbWFrZXMg
bm8gc2Vuc2UKLSAgICAgIHR3b3Bhc3MtPnNyX2RlZmF1bHRfZGVjYXlfbGltaXQgPSAxLjA7Ci0g
ICAgdHdvcGFzcy0+c3JfZGlmZl9mYWN0b3IgKj0gMS4wOwotICAgIHR3b3Bhc3MtPmdmX2ZyYW1l
X21heF9ib29zdCAqPSBHRl9NQVhfRlJBTUVfQk9PU1Q7Ci0gICAgdHdvcGFzcy0+Z2ZfbWF4X3Rv
dGFsX2Jvb3N0ICo9IE1BWF9HRl9CT09TVDsKLSAgICAvLyBOT1RFOiBJbiB1c2UgbWF4IGJvb3N0
IGhhcyBwcmVjZWRlbmNlIG92ZXIgbWluIGJvb3N0LiBTbyBldmVuIGlmIG1pbiBpcwotICAgIC8v
IHNvbWVob3cgc2V0IGhpZ2hlciB0aGFuIG1heCB0aGUgZmluYWwgYm9vc3QgdmFsdWUgd2lsbCBi
ZSBjbGFtcGVkIHRvIHRoZQotICAgIC8vIGFwcHJvcHJpYXRlIG1heGltdW0uCi0gICAgdHdvcGFz
cy0+a2ZfZnJhbWVfbWluX2Jvb3N0ICo9IEtGX01JTl9GUkFNRV9CT09TVDsKLSAgICB0d29wYXNz
LT5rZl9mcmFtZV9tYXhfYm9vc3RfZmlyc3QgKj0gS0ZfTUFYX0ZSQU1FX0JPT1NUOwotICAgIHR3
b3Bhc3MtPmtmX2ZyYW1lX21heF9ib29zdF9zdWJzICo9IEtGX01BWF9GUkFNRV9CT09TVDsKLSAg
ICB0d29wYXNzLT5rZl9tYXhfdG90YWxfYm9vc3QgKj0gTUFYX0tGX1RPVF9CT09TVDsKLSAgICB0
d29wYXNzLT56bV9mYWN0b3IgKj0gREVGQVVMVF9aTV9GQUNUT1I7Ci0gICAgaWYgKHR3b3Bhc3Mt
PnptX2ZhY3RvciA+IDEuMCkgIC8vID4gMS4wIGhlcmUgbWFrZXMgbm8gc2Vuc2UKLSAgICAgIHR3
b3Bhc3MtPnptX2ZhY3RvciA9IDEuMDsKLQotICAgIC8vIENvcnJlY3Rpb24gZm9yIHRoZSBmYWN0
IHRoYXQgdGhlIGtmX2Vycl9wZXJfbWJfZmFjdG9yIGRlZmF1bHQgaXMKLSAgICAvLyBhbHJlYWR5
IGRpZmZlcmVudCBmb3IgZGlmZmVyZW50IHZpZGVvIGZvcm1hdHMgYW5kIGVuc3VyZXMgdGhhdCBh
IHBhc3NlZAotICAgIC8vIGluIHZhbHVlIG9mIDEuMCBvbiB0aGUgdml6aWVyIGNvbW1hbmQgbGlu
ZSB3aWxsIHN0aWxsIG1hdGNoIHRoZSBjdXJyZW50Ci0gICAgLy8gZGVmYXVsdC4KLSAgICBpZiAo
c2NyZWVuX2FyZWEgPCAxMjgwICogNzIwKSB7Ci0gICAgICB0d29wYXNzLT5rZl9lcnJfcGVyX21i
ICo9IDIwMDAuMDsKLSAgICB9IGVsc2UgaWYgKHNjcmVlbl9hcmVhIDwgMTkyMCAqIDEwODApIHsK
LSAgICAgIHR3b3Bhc3MtPmtmX2Vycl9wZXJfbWIgKj0gNTAwLjA7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgIHR3b3Bhc3MtPmtmX2Vycl9wZXJfbWIgKj0gMjUwLjA7Ci0gICAgfQotICB9IGVsc2Ugewot
ICAgIC8vIFdoZW4gfHVzZV92aXppZXJfcmNfcGFyYW1zfCBpcyAwLCB1c2UgZGVmYXVsdHMuCi0g
ICAgdHdvcGFzcy0+YWN0aXZlX3dxX2ZhY3RvciA9IEFWX1dRX0ZBQ1RPUjsKLSAgICB0d29wYXNz
LT5lcnJfcGVyX21iID0gQkFTRUxJTkVfRVJSX1BFUl9NQjsKLSAgICB0d29wYXNzLT5zcl9kZWZh
dWx0X2RlY2F5X2xpbWl0ID0gREVGQVVMVF9ERUNBWV9MSU1JVDsKLSAgICB0d29wYXNzLT5zcl9k
aWZmX2ZhY3RvciA9IDEuMDsKLSAgICB0d29wYXNzLT5nZl9mcmFtZV9tYXhfYm9vc3QgPSBHRl9N
QVhfRlJBTUVfQk9PU1Q7Ci0gICAgdHdvcGFzcy0+Z2ZfbWF4X3RvdGFsX2Jvb3N0ID0gTUFYX0dG
X0JPT1NUOwotICAgIHR3b3Bhc3MtPmtmX2ZyYW1lX21pbl9ib29zdCA9IEtGX01JTl9GUkFNRV9C
T09TVDsKLSAgICB0d29wYXNzLT5rZl9mcmFtZV9tYXhfYm9vc3RfZmlyc3QgPSBLRl9NQVhfRlJB
TUVfQk9PU1Q7Ci0gICAgdHdvcGFzcy0+a2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnMgPSBLRl9NQVhf
RlJBTUVfQk9PU1Q7Ci0gICAgdHdvcGFzcy0+a2ZfbWF4X3RvdGFsX2Jvb3N0ID0gTUFYX0tGX1RP
VF9CT09TVDsKLSAgICB0d29wYXNzLT56bV9mYWN0b3IgPSBERUZBVUxUX1pNX0ZBQ1RPUjsKLQot
ICAgIGlmIChzY3JlZW5fYXJlYSA8IDEyODAgKiA3MjApIHsKLSAgICAgIHR3b3Bhc3MtPmtmX2Vy
cl9wZXJfbWIgPSAyMDAwLjA7Ci0gICAgfSBlbHNlIGlmIChzY3JlZW5fYXJlYSA8IDE5MjAgKiAx
MDgwKSB7Ci0gICAgICB0d29wYXNzLT5rZl9lcnJfcGVyX21iID0gNTAwLjA7Ci0gICAgfSBlbHNl
IHsKLSAgICAgIHR3b3Bhc3MtPmtmX2Vycl9wZXJfbWIgPSAyNTAuMDsKLSAgICB9Ci0gIH0KK3N0
YXRpYyBpbnQgaXNfc2tpcHBhYmxlX2ZyYW1lKGNvbnN0IFZQOV9DT01QICpjcGkpIHsKKyAgLy8g
SWYgdGhlIGN1cnJlbnQgZnJhbWUgZG9lcyBub3QgaGF2ZSBub24temVybyBtb3Rpb24gdmVjdG9y
IGRldGVjdGVkIGluIHRoZQorICAvLyBmaXJzdCAgcGFzcywgYW5kIHNvIGRvIGl0cyBwcmV2aW91
cyBhbmQgZm9yd2FyZCBmcmFtZXMsIHRoZW4gdGhpcyBmcmFtZQorICAvLyBjYW4gYmUgc2tpcHBl
ZCBmb3IgcGFydGl0aW9uIGNoZWNrLCBhbmQgdGhlIHBhcnRpdGlvbiBzaXplIGlzIGFzc2lnbmVk
CisgIC8vIGFjY29yZGluZyB0byB0aGUgdmFyaWFuY2UKKyAgY29uc3QgVFdPX1BBU1MgKmNvbnN0
IHR3b3Bhc3MgPSAmY3BpLT50d29wYXNzOworCisgIHJldHVybiAoIWZyYW1lX2lzX2ludHJhX29u
bHkoJmNwaS0+Y29tbW9uKSAmJgorICAgICAgICAgIHR3b3Bhc3MtPnN0YXRzX2luIC0gMiA+IHR3
b3Bhc3MtPnN0YXRzX2luX3N0YXJ0ICYmCisgICAgICAgICAgdHdvcGFzcy0+c3RhdHNfaW4gPCB0
d29wYXNzLT5zdGF0c19pbl9lbmQgJiYKKyAgICAgICAgICAodHdvcGFzcy0+c3RhdHNfaW4gLSAx
KS0+cGNudF9pbnRlciAtCisgICAgICAgICAgICAgICAgICAodHdvcGFzcy0+c3RhdHNfaW4gLSAx
KS0+cGNudF9tb3Rpb24gPT0KKyAgICAgICAgICAgICAgMSAmJgorICAgICAgICAgICh0d29wYXNz
LT5zdGF0c19pbiAtIDIpLT5wY250X2ludGVyIC0KKyAgICAgICAgICAgICAgICAgICh0d29wYXNz
LT5zdGF0c19pbiAtIDIpLT5wY250X21vdGlvbiA9PQorICAgICAgICAgICAgICAxICYmCisgICAg
ICAgICAgdHdvcGFzcy0+c3RhdHNfaW4tPnBjbnRfaW50ZXIgLSB0d29wYXNzLT5zdGF0c19pbi0+
cGNudF9tb3Rpb24gPT0gMSk7CiB9CiAKIHZvaWQgdnA5X3JjX2dldF9zZWNvbmRfcGFzc19wYXJh
bXMoVlA5X0NPTVAgKmNwaSkgewpAQCAtMzUxMSwyNiArMzQ3OCw5IEBAIHZvaWQgdnA5X3JjX2dl
dF9zZWNvbmRfcGFzc19wYXJhbXMoVlA5X0NPTVAgKmNwaSkgewogICBGSVJTVFBBU1NfU1RBVFMg
dGhpc19mcmFtZTsKICAgY29uc3QgaW50IHNob3dfaWR4ID0gY20tPmN1cnJlbnRfdmlkZW9fZnJh
bWU7CiAKLSAgaWYgKGNwaS0+Y29tbW9uLmN1cnJlbnRfZnJhbWVfY29kaW5nX2luZGV4ID09IDAg
JiYKLSAgICAgIGNwaS0+ZXh0X3JhdGVjdHJsLmZ1bmNzLnNlbmRfZmlyc3RwYXNzX3N0YXRzICE9
IE5VTEwpIHsKLSAgICBjb25zdCB2cHhfY29kZWNfZXJyX3QgY29kZWNfc3RhdHVzID0gdnA5X2V4
dHJjX3NlbmRfZmlyc3RwYXNzX3N0YXRzKAotICAgICAgICAmY3BpLT5leHRfcmF0ZWN0cmwsICZj
cGktPnR3b3Bhc3MuZmlyc3RfcGFzc19pbmZvKTsKLSAgICBpZiAoY29kZWNfc3RhdHVzICE9IFZQ
WF9DT0RFQ19PSykgewotICAgICAgdnB4X2ludGVybmFsX2Vycm9yKCZjbS0+ZXJyb3IsIGNvZGVj
X3N0YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAidnA5X2V4dHJjX3NlbmRfZmlyc3Rw
YXNzX3N0YXRzKCkgZmFpbGVkIik7Ci0gICAgfQotICB9Ci0KICAgaWYgKCF0d29wYXNzLT5zdGF0
c19pbikgcmV0dXJuOwogCi0gIC8vIENvbmZpZ3VyZSBpbWFnZSBzaXplIHNwZWNpZmljIHZpemll
ciBwYXJhbWV0ZXJzCi0gIGlmIChjbS0+Y3VycmVudF92aWRlb19mcmFtZSA9PSAwKSB7Ci0gICAg
dW5zaWduZWQgaW50IHNjcmVlbl9hcmVhID0gKGNtLT53aWR0aCAqIGNtLT5oZWlnaHQpOwotCi0g
ICAgdnA5X2luaXRfdml6aWVyX3BhcmFtcyh0d29wYXNzLCBzY3JlZW5fYXJlYSk7Ci0gIH0KLQot
ICAvLyBJZiB0aGlzIGlzIGFuIGFyZiBmcmFtZSB0aGVuIHdlIGRvbid0IHdhbnQgdG8gcmVhZCB0
aGUgc3RhdHMgZmlsZSBvcgorICAvLyBJZiB0aGlzIGlzIGFuIGFyZiBmcmFtZSB0aGVuIHdlIGRv
bnQgd2FudCB0byByZWFkIHRoZSBzdGF0cyBmaWxlIG9yCiAgIC8vIGFkdmFuY2UgdGhlIGlucHV0
IHBvaW50ZXIgYXMgd2UgYWxyZWFkeSBoYXZlIHdoYXQgd2UgbmVlZC4KICAgaWYgKGdmX2dyb3Vw
LT51cGRhdGVfdHlwZVtnZl9ncm91cC0+aW5kZXhdID09IEFSRl9VUERBVEUpIHsKICAgICBpbnQg
dGFyZ2V0X3JhdGU7CkBAIC0zNTQ4LDYgKzM0OTgsMTMgQEAgdm9pZCB2cDlfcmNfZ2V0X3NlY29u
ZF9wYXNzX3BhcmFtcyhWUDlfQ09NUCAqY3BpKSB7CiAKICAgICBjbS0+ZnJhbWVfdHlwZSA9IElO
VEVSX0ZSQU1FOwogCisgICAgLy8gRG8gdGhlIGZpcnN0cGFzcyBzdGF0cyBpbmRpY2F0ZSB0aGF0
IHRoaXMgZnJhbWUgaXMgc2tpcHBhYmxlIGZvciB0aGUKKyAgICAvLyBwYXJ0aXRpb24gc2VhcmNo
PworICAgIGlmIChjcGktPnNmLmFsbG93X3BhcnRpdGlvbl9zZWFyY2hfc2tpcCAmJiBjcGktPm94
Y2YucGFzcyA9PSAyICYmCisgICAgICAgICFjcGktPnVzZV9zdmMpIHsKKyAgICAgIGNwaS0+cGFy
dGl0aW9uX3NlYXJjaF9za2lwcGFibGVfZnJhbWUgPSBpc19za2lwcGFibGVfZnJhbWUoY3BpKTsK
KyAgICB9CisKICAgICAvLyBUaGUgbXVsdGlwbGljYXRpb24gYnkgMjU2IHJldmVyc2VzIGEgc2Nh
bGluZyBmYWN0b3Igb2YgKD4+IDgpCiAgICAgLy8gYXBwbGllZCB3aGVuIGNvbWJpbmluZyBNQiBl
cnJvciB2YWx1ZXMgZm9yIHRoZSBmcmFtZS4KICAgICB0d29wYXNzLT5tYl9hdl9lbmVyZ3kgPSBs
b2coKHRoaXNfZnJhbWUuaW50cmFfZXJyb3IgKiAyNTYuMCkgKyAxLjApOwpAQCAtMzYzMCw2ICsz
NTg3LDEzIEBAIHZvaWQgdnA5X3JjX2dldF9zZWNvbmRfcGFzc19wYXJhbXMoVlA5X0NPTVAgKmNw
aSkgewogCiAgIHZwOV9jb25maWd1cmVfYnVmZmVyX3VwZGF0ZXMoY3BpLCBnZl9ncm91cC0+aW5k
ZXgpOwogCisgIC8vIERvIHRoZSBmaXJzdHBhc3Mgc3RhdHMgaW5kaWNhdGUgdGhhdCB0aGlzIGZy
YW1lIGlzIHNraXBwYWJsZSBmb3IgdGhlCisgIC8vIHBhcnRpdGlvbiBzZWFyY2g/CisgIGlmIChj
cGktPnNmLmFsbG93X3BhcnRpdGlvbl9zZWFyY2hfc2tpcCAmJiBjcGktPm94Y2YucGFzcyA9PSAy
ICYmCisgICAgICAhY3BpLT51c2Vfc3ZjKSB7CisgICAgY3BpLT5wYXJ0aXRpb25fc2VhcmNoX3Nr
aXBwYWJsZV9mcmFtZSA9IGlzX3NraXBwYWJsZV9mcmFtZShjcGkpOworICB9CisKICAgcmMtPmJh
c2VfZnJhbWVfdGFyZ2V0ID0gZ2ZfZ3JvdXAtPmJpdF9hbGxvY2F0aW9uW2dmX2dyb3VwLT5pbmRl
eF07CiAKICAgLy8gVGhlIG11bHRpcGxpY2F0aW9uIGJ5IDI1NiByZXZlcnNlcyBhIHNjYWxpbmcg
ZmFjdG9yIG9mICg+PiA4KQpAQCAtMzY0MSw2ICszNjA1LDkgQEAgdm9pZCB2cDlfcmNfZ2V0X3Nl
Y29uZF9wYXNzX3BhcmFtcyhWUDlfQ09NUCAqY3BpKSB7CiAgIHN1YnRyYWN0X3N0YXRzKCZ0d29w
YXNzLT50b3RhbF9sZWZ0X3N0YXRzLCAmdGhpc19mcmFtZSk7CiB9CiAKKyNkZWZpbmUgTUlOUV9B
REpfTElNSVQgNDgKKyNkZWZpbmUgTUlOUV9BREpfTElNSVRfQ1EgMjAKKyNkZWZpbmUgSElHSF9V
TkRFUlNIT09UX1JBVElPIDIKIHZvaWQgdnA5X3R3b3Bhc3NfcG9zdGVuY29kZV91cGRhdGUoVlA5
X0NPTVAgKmNwaSkgewogICBUV09fUEFTUyAqY29uc3QgdHdvcGFzcyA9ICZjcGktPnR3b3Bhc3M7
CiAgIFJBVEVfQ09OVFJPTCAqY29uc3QgcmMgPSAmY3BpLT5yYzsKQEAgLTM3ODAsNyArMzc0Nyw4
IEBAIHZvaWQgdnA5X2dldF9uZXh0X2dyb3VwX29mX3BpY3R1cmUoY29uc3QgVlA5X0NPTVAgKmNw
aSwgaW50ICpmaXJzdF9pc19rZXlfZnJhbWUsCiAgICpmaXJzdF9pc19rZXlfZnJhbWUgPSAwOwog
ICBpZiAocmMuZnJhbWVzX3RvX2tleSA9PSAwKSB7CiAgICAgcmMuZnJhbWVzX3RvX2tleSA9IHZw
OV9nZXRfZnJhbWVzX3RvX25leHRfa2V5KAotICAgICAgICAmY3BpLT5veGNmLCAmY3BpLT50d29w
YXNzLCAqZmlyc3Rfc2hvd19pZHgsIHJjLm1pbl9nZl9pbnRlcnZhbCk7CisgICAgICAgICZjcGkt
Pm94Y2YsICZjcGktPmZyYW1lX2luZm8sICZjcGktPnR3b3Bhc3MuZmlyc3RfcGFzc19pbmZvLAor
ICAgICAgICAqZmlyc3Rfc2hvd19pZHgsIHJjLm1pbl9nZl9pbnRlcnZhbCk7CiAgICAgcmMuZnJh
bWVzX3NpbmNlX2tleSA9IDA7CiAgICAgKmZpcnN0X2lzX2tleV9mcmFtZSA9IDE7CiAgIH0KQEAg
LTM3ODgsMTggKzM3NTYsMTggQEAgdm9pZCB2cDlfZ2V0X25leHRfZ3JvdXBfb2ZfcGljdHVyZShj
b25zdCBWUDlfQ09NUCAqY3BpLCBpbnQgKmZpcnN0X2lzX2tleV9mcmFtZSwKICAgaWYgKGdvcF9j
b21tYW5kLT51c2UpIHsKICAgICAqY29kaW5nX2ZyYW1lX2NvdW50ID0gZ29wX2NvbW1hbmRfY29k
aW5nX2ZyYW1lX2NvdW50KGdvcF9jb21tYW5kKTsKICAgICAqdXNlX2FsdF9yZWYgPSBnb3BfY29t
bWFuZC0+dXNlX2FsdF9yZWY7Ci0gICAgYXNzZXJ0KGdvcF9jb21tYW5kLT5zaG93X2ZyYW1lX2Nv
dW50IDw9IHJjLmZyYW1lc190b19rZXkpOworICAgIGFzc2VydCgqY29kaW5nX2ZyYW1lX2NvdW50
IDwgcmMuZnJhbWVzX3RvX2tleSk7CiAgIH0gZWxzZSB7CiAgICAgKmNvZGluZ19mcmFtZV9jb3Vu
dCA9IHZwOV9nZXRfZ29wX2NvZGluZ19mcmFtZV9jb3VudCgKLSAgICAgICAgJmNwaS0+b3hjZiwg
JmNwaS0+dHdvcGFzcywgJmNwaS0+ZnJhbWVfaW5mbywgJnJjLCAqZmlyc3Rfc2hvd19pZHgsCi0g
ICAgICAgIG11bHRpX2xheWVyX2FyZiwgYWxsb3dfYWx0X3JlZiwgKmZpcnN0X2lzX2tleV9mcmFt
ZSwKKyAgICAgICAgJmNwaS0+b3hjZiwgJmNwaS0+ZnJhbWVfaW5mbywgJmNwaS0+dHdvcGFzcy5m
aXJzdF9wYXNzX2luZm8sICZyYywKKyAgICAgICAgKmZpcnN0X3Nob3dfaWR4LCBtdWx0aV9sYXll
cl9hcmYsIGFsbG93X2FsdF9yZWYsICpmaXJzdF9pc19rZXlfZnJhbWUsCiAgICAgICAgICpsYXN0
X2dvcF91c2VfYWx0X3JlZiwgdXNlX2FsdF9yZWYpOwogICB9CiB9CiAKIGludCB2cDlfZ2V0X2dv
cF9jb2RpbmdfZnJhbWVfY291bnQoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVFdPX1BBU1MgKmNvbnN0IHR3b3Bh
c3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZSQU1FX0lORk8g
KmZyYW1lX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZJ
UlNUX1BBU1NfSU5GTyAqZmlyc3RfcGFzc19pbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBSQVRFX0NPTlRST0wgKnJjLCBpbnQgc2hvd19pZHgsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtdWx0aV9sYXllcl9hcmYsIGludCBhbGxv
d19hbHRfcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmlyc3Rf
aXNfa2V5X2ZyYW1lLApAQCAtMzgwNywyMCArMzc3NSwxMiBAQCBpbnQgdnA5X2dldF9nb3BfY29k
aW5nX2ZyYW1lX2NvdW50KGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YsCiAgIGludCBmcmFt
ZV9jb3VudDsKICAgZG91YmxlIGdvcF9pbnRyYV9mYWN0b3I7CiAgIGNvbnN0IGludCBhcmZfYWN0
aXZlX29yX2tmID0gbGFzdF9nb3BfdXNlX2FsdF9yZWYgfHwgZmlyc3RfaXNfa2V5X2ZyYW1lOwot
ICBSQU5HRSBhY3RpdmVfZ2ZfaW50ZXJ2YWw7Ci0gIGludCBhcmZfbGF5ZXJzOwotICBpbnQgZW5k
X29mX3NlcXVlbmNlID0gMDsKLSAgaWYgKG94Y2YtPnVzZV9zaW1wbGVfZW5jb2RlX2FwaSkgewot
ICAgIGFjdGl2ZV9nZl9pbnRlcnZhbCA9IGdldF9hY3RpdmVfZ2ZfaW52ZXJ2YWxfcmFuZ2Vfc2lt
cGxlKAotICAgICAgICByYy0+bWluX2dmX2ludGVydmFsLCBhcmZfYWN0aXZlX29yX2tmLCByYy0+
ZnJhbWVzX3RvX2tleSk7Ci0gIH0gZWxzZSB7Ci0gICAgYWN0aXZlX2dmX2ludGVydmFsID0gZ2V0
X2FjdGl2ZV9nZl9pbnZlcnZhbF9yYW5nZSgKLSAgICAgICAgZnJhbWVfaW5mbywgcmMsIGFyZl9h
Y3RpdmVfb3Jfa2YsIHNob3dfaWR4LCAvKmFjdGl2ZV93b3JzdF9xdWFsaXR5PSovMCwKLSAgICAg
ICAgLypsYXN0X2Jvb3N0ZWRfcWluZGV4PSovMCk7Ci0gIH0KKyAgUkFOR0UgYWN0aXZlX2dmX2lu
dGVydmFsID0gZ2V0X2FjdGl2ZV9nZl9pbnZlcnZhbF9yYW5nZSgKKyAgICAgIGZyYW1lX2luZm8s
IHJjLCBhcmZfYWN0aXZlX29yX2tmLCBzaG93X2lkeCwgLyphY3RpdmVfd29yc3RfcXVhbGl0eT0q
LzAsCisgICAgICAvKmxhc3RfYm9vc3RlZF9xaW5kZXg9Ki8wKTsKIAotICBhcmZfbGF5ZXJzID0g
Z2V0X2FyZl9sYXllcnMobXVsdGlfbGF5ZXJfYXJmLCBveGNmLT5lbmFibGVfYXV0b19hcmYsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVfZ2ZfaW50ZXJ2YWwubWF4KTsKKyAg
Y29uc3QgaW50IGFyZl9sYXllcnMgPSBnZXRfYXJmX2xheWVycyhtdWx0aV9sYXllcl9hcmYsIG94
Y2YtPmVuYWJsZV9hdXRvX2FyZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY3RpdmVfZ2ZfaW50ZXJ2YWwubWF4KTsKICAgaWYgKG11bHRpX2xheWVyX2FyZikgewog
ICAgIGdvcF9pbnRyYV9mYWN0b3IgPSAxLjAgKyAwLjI1ICogYXJmX2xheWVyczsKICAgfSBlbHNl
IHsKQEAgLTM4MjgsOCArMzc4OCw4IEBAIGludCB2cDlfZ2V0X2dvcF9jb2RpbmdfZnJhbWVfY291
bnQoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKICAgfQogCiAgIGZyYW1lX2NvdW50ID0g
Z2V0X2dvcF9jb2RpbmdfZnJhbWVfbnVtKAotICAgICAgdXNlX2FsdF9yZWYsIGZyYW1lX2luZm8s
IHR3b3Bhc3MsIHJjLCBzaG93X2lkeCwgJmFjdGl2ZV9nZl9pbnRlcnZhbCwKLSAgICAgIGdvcF9p
bnRyYV9mYWN0b3IsIG94Y2YtPmxhZ19pbl9mcmFtZXMsICZlbmRfb2Zfc2VxdWVuY2UpOworICAg
ICAgdXNlX2FsdF9yZWYsIGZyYW1lX2luZm8sIGZpcnN0X3Bhc3NfaW5mbywgcmMsIHNob3dfaWR4
LAorICAgICAgJmFjdGl2ZV9nZl9pbnRlcnZhbCwgZ29wX2ludHJhX2ZhY3Rvciwgb3hjZi0+bGFn
X2luX2ZyYW1lcyk7CiAgICp1c2VfYWx0X3JlZiAmPSBhbGxvd19hbHRfcmVmOwogICByZXR1cm4g
ZnJhbWVfY291bnQ7CiB9CkBAIC0zODM3LDEwICszNzk3LDkgQEAgaW50IHZwOV9nZXRfZ29wX2Nv
ZGluZ19mcmFtZV9jb3VudChjb25zdCBWUDlFbmNvZGVyQ29uZmlnICpveGNmLAogLy8gVW5kZXIg
Q09ORklHX1JBVEVfQ1RSTCwgb25jZSB0aGUgZmlyc3RfcGFzc19pbmZvIGlzIHJlYWR5LCB0aGUg
bnVtYmVyIG9mCiAvLyBjb2RpbmcgZnJhbWVzIChpbmNsdWRpbmcgc2hvdyBmcmFtZSBhbmQgYWx0
IHJlZikgY2FuIGJlIGRldGVybWluZWQuCiBpbnQgdnA5X2dldF9jb2RpbmdfZnJhbWVfbnVtKGNv
bnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IFRXT19QQVNTICpjb25zdCB0d29wYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBGUkFNRV9JTkZPICpmcmFtZV9pbmZvLCBpbnQgbXVsdGlfbGF5ZXJfYXJmLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxsb3dfYWx0X3JlZikgewotICBjb25z
dCBGSVJTVF9QQVNTX0lORk8gKmZpcnN0X3Bhc3NfaW5mbyA9ICZ0d29wYXNzLT5maXJzdF9wYXNz
X2luZm87CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZSQU1FX0lORk8gKmZy
YW1lX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZJUlNUX1BBU1Nf
SU5GTyAqZmlyc3RfcGFzc19pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
bXVsdGlfbGF5ZXJfYXJmLCBpbnQgYWxsb3dfYWx0X3JlZikgewogICBpbnQgY29kaW5nX2ZyYW1l
X251bSA9IDA7CiAgIFJBVEVfQ09OVFJPTCByYzsKICAgaW50IGdvcF9jb2RpbmdfZnJhbWVfY291
bnQ7CkBAIC0zODUzLDE0ICszODEyLDE0IEBAIGludCB2cDlfZ2V0X2NvZGluZ19mcmFtZV9udW0o
Y29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKICAgICBpbnQgdXNlX2FsdF9yZWY7CiAgICAg
aW50IGZpcnN0X2lzX2tleV9mcmFtZSA9IDA7CiAgICAgaWYgKHJjLmZyYW1lc190b19rZXkgPT0g
MCkgewotICAgICAgcmMuZnJhbWVzX3RvX2tleSA9IHZwOV9nZXRfZnJhbWVzX3RvX25leHRfa2V5
KG94Y2YsIHR3b3Bhc3MsIHNob3dfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJjLm1pbl9nZl9pbnRlcnZhbCk7CisgICAgICByYy5mcmFt
ZXNfdG9fa2V5ID0gdnA5X2dldF9mcmFtZXNfdG9fbmV4dF9rZXkoCisgICAgICAgICAgb3hjZiwg
ZnJhbWVfaW5mbywgZmlyc3RfcGFzc19pbmZvLCBzaG93X2lkeCwgcmMubWluX2dmX2ludGVydmFs
KTsKICAgICAgIHJjLmZyYW1lc19zaW5jZV9rZXkgPSAwOwogICAgICAgZmlyc3RfaXNfa2V5X2Zy
YW1lID0gMTsKICAgICB9CiAKICAgICBnb3BfY29kaW5nX2ZyYW1lX2NvdW50ID0gdnA5X2dldF9n
b3BfY29kaW5nX2ZyYW1lX2NvdW50KAotICAgICAgICBveGNmLCB0d29wYXNzLCBmcmFtZV9pbmZv
LCAmcmMsIHNob3dfaWR4LCBtdWx0aV9sYXllcl9hcmYsCisgICAgICAgIG94Y2YsIGZyYW1lX2lu
Zm8sIGZpcnN0X3Bhc3NfaW5mbywgJnJjLCBzaG93X2lkeCwgbXVsdGlfbGF5ZXJfYXJmLAogICAg
ICAgICBhbGxvd19hbHRfcmVmLCBmaXJzdF9pc19rZXlfZnJhbWUsIGxhc3RfZ29wX3VzZV9hbHRf
cmVmLCAmdXNlX2FsdF9yZWYpOwogCiAgICAgcmMuc291cmNlX2FsdF9yZWZfYWN0aXZlID0gdXNl
X2FsdF9yZWY7CkBAIC0zODc1LDggKzM4MzQsOSBAQCBpbnQgdnA5X2dldF9jb2RpbmdfZnJhbWVf
bnVtKGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YsCiB9CiAKIHZvaWQgdnA5X2dldF9rZXlf
ZnJhbWVfbWFwKGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2YsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBUV09fUEFTUyAqY29uc3QgdHdvcGFzcywgaW50ICprZXlfZnJhbWVf
bWFwKSB7Ci0gIGNvbnN0IEZJUlNUX1BBU1NfSU5GTyAqZmlyc3RfcGFzc19pbmZvID0gJnR3b3Bh
c3MtPmZpcnN0X3Bhc3NfaW5mbzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZS
QU1FX0lORk8gKmZyYW1lX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBG
SVJTVF9QQVNTX0lORk8gKmZpcnN0X3Bhc3NfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCAqa2V5X2ZyYW1lX21hcCkgewogICBpbnQgc2hvd19pZHggPSAwOwogICBSQVRFX0NP
TlRST0wgcmM7CiAgIHZwOV9yY19pbml0KG94Y2YsIDEsICZyYyk7CkBAIC0zODg5LDggKzM4NDks
OCBAQCB2b2lkIHZwOV9nZXRfa2V5X2ZyYW1lX21hcChjb25zdCBWUDlFbmNvZGVyQ29uZmlnICpv
eGNmLAogICB3aGlsZSAoc2hvd19pZHggPCBmaXJzdF9wYXNzX2luZm8tPm51bV9mcmFtZXMpIHsK
ICAgICBpbnQga2V5X2ZyYW1lX2dyb3VwX3NpemU7CiAgICAga2V5X2ZyYW1lX21hcFtzaG93X2lk
eF0gPSAxOwotICAgIGtleV9mcmFtZV9ncm91cF9zaXplID0KLSAgICAgICAgdnA5X2dldF9mcmFt
ZXNfdG9fbmV4dF9rZXkob3hjZiwgdHdvcGFzcywgc2hvd19pZHgsIHJjLm1pbl9nZl9pbnRlcnZh
bCk7CisgICAga2V5X2ZyYW1lX2dyb3VwX3NpemUgPSB2cDlfZ2V0X2ZyYW1lc190b19uZXh0X2tl
eSgKKyAgICAgICAgb3hjZiwgZnJhbWVfaW5mbywgZmlyc3RfcGFzc19pbmZvLCBzaG93X2lkeCwg
cmMubWluX2dmX2ludGVydmFsKTsKICAgICBhc3NlcnQoa2V5X2ZyYW1lX2dyb3VwX3NpemUgPiAw
KTsKICAgICBzaG93X2lkeCArPSBrZXlfZnJhbWVfZ3JvdXBfc2l6ZTsKICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3ZwOV9maXJzdHBhc3MuaAppbmRleCBhMTliMDRkYjc0NDIuLmIxMDQ3ZWFiMjI2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfZmlyc3RwYXNzLmgKQEAgLTE0LDcgKzE0LDYg
QEAKICNpbmNsdWRlIDxhc3NlcnQuaD4KIAogI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X29ueXhj
X2ludC5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3Nfc3RhdHMuaCIKICNp
bmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfbG9va2FoZWFkLmgiCiAjaW5jbHVkZSAidnA5L2VuY29k
ZXIvdnA5X3JhdGVjdHJsLmgiCiAKQEAgLTIyLDYgKzIxLDI3IEBACiBleHRlcm4gIkMiIHsKICNl
bmRpZgogCisjaWYgQ09ORklHX0ZQX01CX1NUQVRTCisKKyNkZWZpbmUgRlBNQl9EQ0lOVFJBX01B
U0sgMHgwMQorCisjZGVmaW5lIEZQTUJfTU9USU9OX1pFUk9fTUFTSyAweDAyCisjZGVmaW5lIEZQ
TUJfTU9USU9OX0xFRlRfTUFTSyAweDA0CisjZGVmaW5lIEZQTUJfTU9USU9OX1JJR0hUX01BU0sg
MHgwOAorI2RlZmluZSBGUE1CX01PVElPTl9VUF9NQVNLIDB4MTAKKyNkZWZpbmUgRlBNQl9NT1RJ
T05fRE9XTl9NQVNLIDB4MjAKKworI2RlZmluZSBGUE1CX0VSUk9SX1NNQUxMX01BU0sgMHg0MAor
I2RlZmluZSBGUE1CX0VSUk9SX0xBUkdFX01BU0sgMHg4MAorI2RlZmluZSBGUE1CX0VSUk9SX1NN
QUxMX1RIIDIwMDAKKyNkZWZpbmUgRlBNQl9FUlJPUl9MQVJHRV9USCA0ODAwMAorCit0eXBlZGVm
IHN0cnVjdCB7CisgIHVpbnQ4X3QgKm1iX3N0YXRzX3N0YXJ0OworICB1aW50OF90ICptYl9zdGF0
c19lbmQ7Cit9IEZJUlNUUEFTU19NQl9TVEFUUzsKKyNlbmRpZgorCiAjZGVmaW5lIElOVkFMSURf
Uk9XICgtMSkKIAogI2RlZmluZSBNQVhfQVJGX0xBWUVSUyA2CkBAIC01Niw5ICs3NiwzNyBAQCB0
eXBlZGVmIHN0cnVjdCB7CiAgIGludDY0X3Qgc3VtX212Y3M7CiAgIGludCBzdW1faW5fdmVjdG9y
czsKICAgaW50IGludHJhX3Ntb290aF9jb3VudDsKLSAgaW50IG5ld19tdl9jb3VudDsKIH0gRklS
U1RQQVNTX0RBVEE7CiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgZG91YmxlIGZyYW1lOworICBkb3Vi
bGUgd2VpZ2h0OworICBkb3VibGUgaW50cmFfZXJyb3I7CisgIGRvdWJsZSBjb2RlZF9lcnJvcjsK
KyAgZG91YmxlIHNyX2NvZGVkX2Vycm9yOworICBkb3VibGUgZnJhbWVfbm9pc2VfZW5lcmd5Owor
ICBkb3VibGUgcGNudF9pbnRlcjsKKyAgZG91YmxlIHBjbnRfbW90aW9uOworICBkb3VibGUgcGNu
dF9zZWNvbmRfcmVmOworICBkb3VibGUgcGNudF9uZXV0cmFsOworICBkb3VibGUgcGNudF9pbnRy
YV9sb3c7ICAgLy8gQ29kZWQgaW50cmEgYnV0IGxvdyB2YXJpYW5jZQorICBkb3VibGUgcGNudF9p
bnRyYV9oaWdoOyAgLy8gQ29kZWQgaW50cmEgaGlnaCB2YXJpYW5jZQorICBkb3VibGUgaW50cmFf
c2tpcF9wY3Q7CisgIGRvdWJsZSBpbnRyYV9zbW9vdGhfcGN0OyAgICAvLyAlIG9mIGJsb2NrcyB0
aGF0IGFyZSBzbW9vdGgKKyAgZG91YmxlIGluYWN0aXZlX3pvbmVfcm93czsgIC8vIEltYWdlIG1h
c2sgcm93cyB0b3AgYW5kIGJvdHRvbS4KKyAgZG91YmxlIGluYWN0aXZlX3pvbmVfY29sczsgIC8v
IEltYWdlIG1hc2sgY29sdW1ucyBhdCBsZWZ0IGFuZCByaWdodCBlZGdlcy4KKyAgZG91YmxlIE1W
cjsKKyAgZG91YmxlIG12cl9hYnM7CisgIGRvdWJsZSBNVmM7CisgIGRvdWJsZSBtdmNfYWJzOwor
ICBkb3VibGUgTVZydjsKKyAgZG91YmxlIE1WY3Y7CisgIGRvdWJsZSBtdl9pbl9vdXRfY291bnQ7
CisgIGRvdWJsZSBkdXJhdGlvbjsKKyAgZG91YmxlIGNvdW50OworICBpbnQ2NF90IHNwYXRpYWxf
bGF5ZXJfaWQ7Cit9IEZJUlNUUEFTU19TVEFUUzsKKwogdHlwZWRlZiBlbnVtIHsKICAgS0ZfVVBE
QVRFID0gMCwKICAgTEZfVVBEQVRFID0gMSwKQEAgLTE0MCw2ICsxODgsMTIgQEAgdHlwZWRlZiBz
dHJ1Y3QgewogICBkb3VibGUgbWJfYXZfZW5lcmd5OwogICBkb3VibGUgbWJfc21vb3RoX3BjdDsK
IAorI2lmIENPTkZJR19GUF9NQl9TVEFUUworICB1aW50OF90ICpmcmFtZV9tYl9zdGF0c19idWY7
CisgIHVpbnQ4X3QgKnRoaXNfZnJhbWVfbWJfc3RhdHM7CisgIEZJUlNUUEFTU19NQl9TVEFUUyBm
aXJzdHBhc3NfbWJfc3RhdHM7CisjZW5kaWYKKwogICBGUF9NQl9GTE9BVF9TVEFUUyAqZnBfbWJf
ZmxvYXRfc3RhdHM7CiAKICAgLy8gQW4gaW5kaWNhdGlvbiBvZiB0aGUgY29udGVudCB0eXBlIG9m
IHRoZSBjdXJyZW50IGZyYW1lCkBAIC0xNjcsMjQgKzIyMSw2IEBAIHR5cGVkZWYgc3RydWN0IHsK
ICAgaW50IGxhc3RfcWluZGV4X29mX2FyZl9sYXllcltNQVhfQVJGX0xBWUVSU107CiAKICAgR0Zf
R1JPVVAgZ2ZfZ3JvdXA7Ci0KLSAgLy8gVml6ZWlyIHByb2plY3QgZXhwZXJpbWVudGFsIHR3byBw
YXNzIHJhdGUgY29udHJvbCBwYXJhbWV0ZXJzLgotICAvLyBXaGVuIHx1c2Vfdml6aWVyX3JjX3Bh
cmFtc3wgaXMgMSwgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIHdpbGwKLSAgLy8gYmUgb3Zlcndy
aXR0ZW4gYnkgcGFzcyBpbiB2YWx1ZXMuIE90aGVyd2lzZSwgdGhleSBhcmUgaW5pdGlhbGl6ZWQK
LSAgLy8gYnkgZGVmYXVsdCB2YWx1ZXMuCi0gIGludCB1c2Vfdml6aWVyX3JjX3BhcmFtczsKLSAg
ZG91YmxlIGFjdGl2ZV93cV9mYWN0b3I7Ci0gIGRvdWJsZSBlcnJfcGVyX21iOwotICBkb3VibGUg
c3JfZGVmYXVsdF9kZWNheV9saW1pdDsKLSAgZG91YmxlIHNyX2RpZmZfZmFjdG9yOwotICBkb3Vi
bGUga2ZfZXJyX3Blcl9tYjsKLSAgZG91YmxlIGtmX2ZyYW1lX21pbl9ib29zdDsKLSAgZG91Ymxl
IGtmX2ZyYW1lX21heF9ib29zdF9maXJzdDsgIC8vIE1heCBmb3IgZmlyc3Qga2YgaW4gYSBjaHVu
ay4KLSAgZG91YmxlIGtmX2ZyYW1lX21heF9ib29zdF9zdWJzOyAgIC8vIE1heCBmb3Igc3Vic2Vx
dWVudCBtaWQgY2h1bmsga2ZzLgotICBkb3VibGUga2ZfbWF4X3RvdGFsX2Jvb3N0OwotICBkb3Vi
bGUgZ2ZfbWF4X3RvdGFsX2Jvb3N0OwotICBkb3VibGUgZ2ZfZnJhbWVfbWF4X2Jvb3N0OwotICBk
b3VibGUgem1fZmFjdG9yOwogfSBUV09fUEFTUzsKIAogc3RydWN0IFZQOV9DT01QOwpAQCAtMjAz
LDcgKzIzOSw2IEBAIHZvaWQgdnA5X2ZpcnN0X3Bhc3NfZW5jb2RlX3RpbGVfbWJfcm93KHN0cnVj
dCBWUDlfQ09NUCAqY3BpLAogCiB2b2lkIHZwOV9pbml0X3NlY29uZF9wYXNzKHN0cnVjdCBWUDlf
Q09NUCAqY3BpKTsKIHZvaWQgdnA5X3JjX2dldF9zZWNvbmRfcGFzc19wYXJhbXMoc3RydWN0IFZQ
OV9DT01QICpjcGkpOwotdm9pZCB2cDlfaW5pdF92aXppZXJfcGFyYW1zKFRXT19QQVNTICpjb25z
dCB0d29wYXNzLCBpbnQgc2NyZWVuX2FyZWEpOwogCiAvLyBQb3N0IGVuY29kZSB1cGRhdGUgb2Yg
dGhlIHJhdGUgY29udHJvbCBwYXJhbWV0ZXJzIGZvciAyLXBhc3MKIHZvaWQgdnA5X3R3b3Bhc3Nf
cG9zdGVuY29kZV91cGRhdGUoc3RydWN0IFZQOV9DT01QICpjcGkpOwpAQCAtMjEzLDggKzI0OCw5
IEBAIHZvaWQgY2FsY3VsYXRlX2NvZGVkX3NpemUoc3RydWN0IFZQOV9DT01QICpjcGksIGludCAq
c2NhbGVkX2ZyYW1lX3dpZHRoLAogCiBzdHJ1Y3QgVlA5RW5jb2RlckNvbmZpZzsKIGludCB2cDlf
Z2V0X2ZyYW1lc190b19uZXh0X2tleShjb25zdCBzdHJ1Y3QgVlA5RW5jb2RlckNvbmZpZyAqb3hj
ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUV09fUEFTUyAqY29uc3Qg
dHdvcGFzcywgaW50IGtmX3Nob3dfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBtaW5fZ2ZfaW50ZXJ2YWwpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IEZSQU1FX0lORk8gKmZyYW1lX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgRklSU1RfUEFTU19JTkZPICpmaXJzdF9wYXNzX2luZm8sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGtmX3Nob3dfaWR4LCBpbnQgbWluX2dmX2ludGVydmFsKTsK
ICNpZiBDT05GSUdfUkFURV9DVFJMCiAvKiBDYWxsIHRoaXMgZnVuY3Rpb24gdG8gZ2V0IGluZm8g
YWJvdXQgdGhlIG5leHQgZ3JvdXAgb2YgcGljdHVyZXMuCiAgKiBUaGlzIGZ1bmN0aW9uIHNob3Vs
ZCBiZSBjYWxsZWQgYWZ0ZXIgdnA5X2NyZWF0ZV9jb21wcmVzc29yKCkgd2hlbiBlbmNvZGluZwpA
QCAtMjI5LDggKzI2NSw4IEBAIHZvaWQgdnA5X2dldF9uZXh0X2dyb3VwX29mX3BpY3R1cmUoY29u
c3Qgc3RydWN0IFZQOV9DT01QICpjcGksCiAvKiFcYnJpZWYgQ2FsbCB0aGlzIGZ1bmN0aW9uIGJl
Zm9yZSBjb2RpbmcgYSBuZXcgZ3JvdXAgb2YgcGljdHVyZXMgdG8gZ2V0CiAgKiBpbmZvcm1hdGlv
biBhYm91dCBpdC4KICAqIFxwYXJhbVtpbl0gb3hjZiAgICAgICAgICAgICAgICAgRW5jb2RlciBj
b25maWcKLSAqIFxwYXJhbVtpbl0gdHdvcGFzcyAgICAgICAgICAgICAgVHdvcGFzcyBpbmZvCiAg
KiBccGFyYW1baW5dIGZyYW1lX2luZm8gICAgICAgICAgIEZyYW1lIGluZm8KKyAqIFxwYXJhbVtp
bl0gZmlyc3RfcGFzc19pbmZvICAgICAgRmlyc3QgcGFzcyBzdGF0cwogICogXHBhcmFtW2luXSBy
YyAgICAgICAgICAgICAgICAgICBSYXRlIGNvbnRyb2wgc3RhdGUKICAqIFxwYXJhbVtpbl0gc2hv
d19pZHggICAgICAgICAgICAgU2hvdyBpbmRleCBvZiB0aGUgZmlyc3QgZnJhbWUgaW4gdGhlIGdy
b3VwCiAgKiBccGFyYW1baW5dIG11bHRpX2xheWVyX2FyZiAgICAgIElzIG11bHRpLWxheWVyIGFs
dGVybmF0ZSByZWZlcmVuY2UgdXNlZApAQCAtMjQzLDI1ICsyNzksMjcgQEAgdm9pZCB2cDlfZ2V0
X25leHRfZ3JvdXBfb2ZfcGljdHVyZShjb25zdCBzdHJ1Y3QgVlA5X0NPTVAgKmNwaSwKICAqIFxy
ZXR1cm4gUmV0dXJucyBjb2RpbmcgZnJhbWUgY291bnQKICAqLwogaW50IHZwOV9nZXRfZ29wX2Nv
ZGluZ19mcmFtZV9jb3VudChjb25zdCBzdHJ1Y3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVFdPX1BBU1MgKmNvbnN0IHR3
b3Bhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZSQU1FX0lO
Rk8gKmZyYW1lX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEZJUlNUX1BBU1NfSU5GTyAqZmlyc3RfcGFzc19pbmZvLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBSQVRFX0NPTlRST0wgKnJjLCBpbnQgc2hvd19pZHgsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtdWx0aV9sYXllcl9hcmYsIGludCBh
bGxvd19hbHRfcmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmly
c3RfaXNfa2V5X2ZyYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
bGFzdF9nb3BfdXNlX2FsdF9yZWYsIGludCAqdXNlX2FsdF9yZWYpOwogCiBpbnQgdnA5X2dldF9j
b2RpbmdfZnJhbWVfbnVtKGNvbnN0IHN0cnVjdCBWUDlFbmNvZGVyQ29uZmlnICpveGNmLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUV09fUEFTUyAqY29uc3QgdHdvcGFzcywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRlJBTUVfSU5GTyAqZnJhbWVfaW5m
bywgaW50IG11bHRpX2xheWVyX2FyZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGFsbG93X2FsdF9yZWYpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGUkFN
RV9JTkZPICpmcmFtZV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBG
SVJTVF9QQVNTX0lORk8gKmZpcnN0X3Bhc3NfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IG11bHRpX2xheWVyX2FyZiwgaW50IGFsbG93X2FsdF9yZWYpOwogCiAvKiFcYnJp
ZWYgQ29tcHV0ZSBhIGtleSBmcmFtZSBiaW5hcnkgbWFwIGluZGljYXRlcyB3aGV0aGVyIGtleSBm
cmFtZXMgYXBwZWFyCiAgKiBpbiB0aGUgY29ycmVzcG9uZGluZyBwb3NpdGlvbnMuIFRoZSBwYXNz
ZWQgaW4ga2V5X2ZyYW1lX21hcCBtdXN0IHBvaW50IHRvIGFuCi0gKiBpbnRlZ2VyIGFycmF5IHdp
dGggbGVuZ3RoIGVxdWFsIHRvIHR3b3Bhc3MtPmZpcnN0X3Bhc3NfaW5mby5udW1fZnJhbWVzLAot
ICogd2hpY2ggaXMgdGhlIG51bWJlciBvZiBzaG93IGZyYW1lcyBpbiB0aGUgdmlkZW8uCisgKiBp
bnRlZ2VyIGFycmF5IHdpdGggbGVuZ3RoIGVxdWFsIHRvIGZpcnN0X3Bhc3NfaW5mby0+bnVtX2Zy
YW1lcywgd2hpY2ggaXMgdGhlCisgKiBudW1iZXIgb2Ygc2hvdyBmcmFtZXMgaW4gdGhlIHZpZGVv
LgogICovCiB2b2lkIHZwOV9nZXRfa2V5X2ZyYW1lX21hcChjb25zdCBzdHJ1Y3QgVlA5RW5jb2Rl
ckNvbmZpZyAqb3hjZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRXT19QQVNT
ICpjb25zdCB0d29wYXNzLCBpbnQgKmtleV9mcmFtZV9tYXApOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgRlJBTUVfSU5GTyAqZnJhbWVfaW5mbywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IEZJUlNUX1BBU1NfSU5GTyAqZmlyc3RfcGFzc19pbmZvLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50ICprZXlfZnJhbWVfbWFwKTsKICNlbmRpZiAgLy8gQ09O
RklHX1JBVEVfQ1RSTAogCiBGSVJTVFBBU1NfU1RBVFMgdnA5X2dldF9mcmFtZV9zdGF0cyhjb25z
dCBUV09fUEFTUyAqdHdvcGFzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3ZwOV9maXJzdHBhc3Nfc3RhdHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2ZpcnN0
cGFzc19zdGF0cy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTkyOGU3ODE2ODMu
LjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9maXJzdHBhc3Nf
c3RhdHMuaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0
IChjKSAyMDIzIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
LSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5
bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4g
dGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0
dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQ
QVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91
bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0g
Ki8KLQotI2lmbmRlZiBWUFhfVlA5X0VOQ09ERVJfVlA5X0ZJUlNUUEFTU19TVEFUU19IXwotI2Rl
ZmluZSBWUFhfVlA5X0VOQ09ERVJfVlA5X0ZJUlNUUEFTU19TVEFUU19IXwotCi0jaW5jbHVkZSA8
c3RkaW50Lmg+Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQot
dHlwZWRlZiBzdHJ1Y3QgewotICBkb3VibGUgZnJhbWU7Ci0gIGRvdWJsZSB3ZWlnaHQ7Ci0gIGRv
dWJsZSBpbnRyYV9lcnJvcjsKLSAgZG91YmxlIGNvZGVkX2Vycm9yOwotICBkb3VibGUgc3JfY29k
ZWRfZXJyb3I7Ci0gIGRvdWJsZSBmcmFtZV9ub2lzZV9lbmVyZ3k7Ci0gIGRvdWJsZSBwY250X2lu
dGVyOwotICBkb3VibGUgcGNudF9tb3Rpb247Ci0gIGRvdWJsZSBwY250X3NlY29uZF9yZWY7Ci0g
IGRvdWJsZSBwY250X25ldXRyYWw7Ci0gIGRvdWJsZSBwY250X2ludHJhX2xvdzsgICAvLyBDb2Rl
ZCBpbnRyYSBidXQgbG93IHZhcmlhbmNlCi0gIGRvdWJsZSBwY250X2ludHJhX2hpZ2g7ICAvLyBD
b2RlZCBpbnRyYSBoaWdoIHZhcmlhbmNlCi0gIGRvdWJsZSBpbnRyYV9za2lwX3BjdDsKLSAgZG91
YmxlIGludHJhX3Ntb290aF9wY3Q7ICAgIC8vICUgb2YgYmxvY2tzIHRoYXQgYXJlIHNtb290aAot
ICBkb3VibGUgaW5hY3RpdmVfem9uZV9yb3dzOyAgLy8gSW1hZ2UgbWFzayByb3dzIHRvcCBhbmQg
Ym90dG9tLgotICBkb3VibGUgaW5hY3RpdmVfem9uZV9jb2xzOyAgLy8gSW1hZ2UgbWFzayBjb2x1
bW5zIGF0IGxlZnQgYW5kIHJpZ2h0IGVkZ2VzLgotICBkb3VibGUgTVZyOwotICBkb3VibGUgbXZy
X2FiczsKLSAgZG91YmxlIE1WYzsKLSAgZG91YmxlIG12Y19hYnM7Ci0gIGRvdWJsZSBNVnJ2Owot
ICBkb3VibGUgTVZjdjsKLSAgZG91YmxlIG12X2luX291dF9jb3VudDsKLSAgZG91YmxlIGR1cmF0
aW9uOwotICBkb3VibGUgY291bnQ7Ci0gIGRvdWJsZSBuZXdfbXZfY291bnQ7Ci0gIGludDY0X3Qg
c3BhdGlhbF9sYXllcl9pZDsKLX0gRklSU1RQQVNTX1NUQVRTOwotCi0jaWZkZWYgX19jcGx1c3Bs
dXMKLX0gIC8vIGV4dGVybiAiQyIKLSNlbmRpZgotCi0jZW5kaWYgIC8vIFZQWF9WUDlfRU5DT0RF
Ul9WUDlfRklSU1RQQVNTX1NUQVRTX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9sb29rYWhlYWQuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X2xvb2thaGVh
ZC5oCmluZGV4IDZhYzY3MzY2NzMxMC4uZGJiZTNhZjU4NDAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9sb29rYWhlYWQuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9sb29rYWhlYWQuaApAQCAtODIsMTEgKzgyLDE1IEBAIGludCB2cDlfbG9va2FoZWFk
X25leHRfc2hvd19pZHgoY29uc3Qgc3RydWN0IGxvb2thaGVhZF9jdHggKmN0eCk7CiAgKiBUaGlz
IGZ1bmN0aW9uIHdpbGwgY29weSB0aGUgc291cmNlIGltYWdlIGludG8gYSBuZXcgZnJhbWVidWZm
ZXIgd2l0aAogICogdGhlIGV4cGVjdGVkIHN0cmlkZS9ib3JkZXIuCiAgKgorICogSWYgYWN0aXZl
X21hcCBpcyBub24tTlVMTCBhbmQgdGhlcmUgaXMgb25seSBvbmUgZnJhbWUgaW4gdGhlIHF1ZXVl
LCB0aGVuIGNvcHkKKyAqIG9ubHkgYWN0aXZlIG1hY3JvYmxvY2tzLgorICoKICAqIFxwYXJhbVtp
bl0gY3R4ICAgICAgICAgUG9pbnRlciB0byB0aGUgbG9va2FoZWFkIGNvbnRleHQKICAqIFxwYXJh
bVtpbl0gc3JjICAgICAgICAgUG9pbnRlciB0byB0aGUgaW1hZ2UgdG8gZW5xdWV1ZQogICogXHBh
cmFtW2luXSB0c19zdGFydCAgICBUaW1lc3RhbXAgZm9yIHRoZSBzdGFydCBvZiB0aGlzIGZyYW1l
CiAgKiBccGFyYW1baW5dIHRzX2VuZCAgICAgIFRpbWVzdGFtcCBmb3IgdGhlIGVuZCBvZiB0aGlz
IGZyYW1lCiAgKiBccGFyYW1baW5dIGZsYWdzICAgICAgIEZsYWdzIHNldCBvbiB0aGlzIGZyYW1l
CisgKiBccGFyYW1baW5dIGFjdGl2ZV9tYXAgIE1hcCB0aGF0IHNwZWNpZmllcyB3aGljaCBtYWNy
b2Jsb2NrIGlzIGFjdGl2ZQogICovCiBpbnQgdnA5X2xvb2thaGVhZF9wdXNoKHN0cnVjdCBsb29r
YWhlYWRfY3R4ICpjdHgsIFlWMTJfQlVGRkVSX0NPTkZJRyAqc3JjLAogICAgICAgICAgICAgICAg
ICAgICAgICBpbnQ2NF90IHRzX3N0YXJ0LCBpbnQ2NF90IHRzX2VuZCwgaW50IHVzZV9oaWdoYml0
ZGVwdGgsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tYmdyYXBoLmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tYmdyYXBoLmMKaW5kZXggMmYyMGE4ZmU2ZGZm
Li43YzI3OTBjYjk4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X21i
Z3JhcGguYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tYmdyYXBoLmMKQEAgLTk4
LDcgKzk4LDggQEAgc3RhdGljIGludCBkb18xNngxNl9tb3Rpb25fc2VhcmNoKFZQOV9DT01QICpj
cGksIGNvbnN0IE1WICpyZWZfbXYsCiAgIC8vIElmIHRoZSBjdXJyZW50IGJlc3QgcmVmZXJlbmNl
IG12IGlzIG5vdCBjZW50ZXJlZCBvbiAwLDAgdGhlbiBkbyBhIDAsMAogICAvLyBiYXNlZCBzZWFy
Y2ggYXMgd2VsbC4KICAgaWYgKHJlZl9tdi0+cm93ICE9IDAgfHwgcmVmX212LT5jb2wgIT0gMCkg
ewotICAgIE1WIHplcm9fcmVmX212ID0geyAwLCAwIH07CisgICAgdW5zaWduZWQgaW50IHRtcF9l
cnI7CisgICAgTVYgemVyb19yZWZfbXYgPSB7IDAsIDAgfSwgdG1wX212OwogCiAgICAgdG1wX2Vy
ciA9CiAgICAgICAgIGRvXzE2eDE2X21vdGlvbl9pdGVyYXRpb24oY3BpLCAmemVyb19yZWZfbXYs
ICZ0bXBfbXYsIG1iX3JvdywgbWJfY29sKTsKQEAgLTIzNyw3ICsyMzgsNyBAQCBzdGF0aWMgdm9p
ZCB1cGRhdGVfbWJncmFwaF9mcmFtZV9zdGF0cyhWUDlfQ09NUCAqY3BpLAogICB4ZC0+bWlbMF0g
PSAmbWlfbG9jYWw7CiAgIG1pX2xvY2FsLnNiX3R5cGUgPSBCTE9DS18xNlgxNjsKICAgbWlfbG9j
YWwucmVmX2ZyYW1lWzBdID0gTEFTVF9GUkFNRTsKLSAgbWlfbG9jYWwucmVmX2ZyYW1lWzFdID0g
Tk9fUkVGX0ZSQU1FOworICBtaV9sb2NhbC5yZWZfZnJhbWVbMV0gPSBOT05FOwogCiAgIGZvciAo
bWJfcm93ID0gMDsgbWJfcm93IDwgY20tPm1iX3Jvd3M7IG1iX3JvdysrKSB7CiAgICAgTVYgZ2xk
X2xlZnRfbXYgPSBnbGRfdG9wX212OwpAQCAtMjg4LDcgKzI4OSw3IEBAIHN0YXRpYyB2b2lkIHNl
cGFyYXRlX2FyZl9tYnMoVlA5X0NPTVAgKmNwaSkgewogICBpbnQgKmFyZl9ub3Rfeno7CiAKICAg
Q0hFQ0tfTUVNX0VSUk9SKAotICAgICAgJmNtLT5lcnJvciwgYXJmX25vdF96eiwKKyAgICAgIGNt
LCBhcmZfbm90X3p6LAogICAgICAgdnB4X2NhbGxvYyhjbS0+bWJfcm93cyAqIGNtLT5tYl9jb2xz
ICogc2l6ZW9mKCphcmZfbm90X3p6KSwgMSkpOwogCiAgIC8vIFdlIGFyZSBub3QgaW50ZXJlc3Rl
ZCBpbiByZXN1bHRzIGJleW9uZCB0aGUgYWx0IHJlZiBpdHNlbGYuCkBAIC0zMzMsMTYgKzMzNCwy
MyBAQCBzdGF0aWMgdm9pZCBzZXBhcmF0ZV9hcmZfbWJzKFZQOV9DT01QICpjcGkpIHsKICAgICB9
CiAgIH0KIAotICAvLyBOb3RlICUgb2YgYmxvY2tzIHRoYXQgYXJlIG1hcmtlZCBhcyBzdGF0aWMK
LSAgaWYgKGNtLT5NQnMpCi0gICAgY3BpLT5zdGF0aWNfbWJfcGN0ID0gKG5jbnRbMV0gKiAxMDAp
IC8gKGNtLT5taV9yb3dzICogY20tPm1pX2NvbHMpOworICAvLyBPbmx5IGJvdGhlciB3aXRoIHNl
Z21lbnRhdGlvbiBpZiBvdmVyIDEwJSBvZiB0aGUgTUJzIGluIHN0YXRpYyBzZWdtZW50CisgIC8v
IGlmICggbmNudFsxXSAmJiAobmNudFswXSAvIG5jbnRbMV0gPCAxMCkgKQorICBpZiAoMSkgewor
ICAgIC8vIE5vdGUgJSBvZiBibG9ja3MgdGhhdCBhcmUgbWFya2VkIGFzIHN0YXRpYworICAgIGlm
IChjbS0+TUJzKQorICAgICAgY3BpLT5zdGF0aWNfbWJfcGN0ID0gKG5jbnRbMV0gKiAxMDApIC8g
KGNtLT5taV9yb3dzICogY20tPm1pX2NvbHMpOwogCi0gIC8vIFRoaXMgZXJyb3IgY2FzZSBzaG91
bGQgbm90IGJlIHJlYWNoYWJsZSBhcyB0aGlzIGZ1bmN0aW9uIHNob3VsZAotICAvLyBuZXZlciBi
ZSBjYWxsZWQgd2l0aCB0aGUgY29tbW9uIGRhdGEgc3RydWN0dXJlIHVuaW5pdGlhbGl6ZWQuCi0g
IGVsc2UKLSAgICBjcGktPnN0YXRpY19tYl9wY3QgPSAwOworICAgIC8vIFRoaXMgZXJyb3IgY2Fz
ZSBzaG91bGQgbm90IGJlIHJlYWNoYWJsZSBhcyB0aGlzIGZ1bmN0aW9uIHNob3VsZAorICAgIC8v
IG5ldmVyIGJlIGNhbGxlZCB3aXRoIHRoZSBjb21tb24gZGF0YSBzdHJ1Y3R1cmUgdW5pbml0aWFs
aXplZC4KKyAgICBlbHNlCisgICAgICBjcGktPnN0YXRpY19tYl9wY3QgPSAwOwogCi0gIHZwOV9l
bmFibGVfc2VnbWVudGF0aW9uKCZjbS0+c2VnKTsKKyAgICB2cDlfZW5hYmxlX3NlZ21lbnRhdGlv
bigmY20tPnNlZyk7CisgIH0gZWxzZSB7CisgICAgY3BpLT5zdGF0aWNfbWJfcGN0ID0gMDsKKyAg
ICB2cDlfZGlzYWJsZV9zZWdtZW50YXRpb24oJmNtLT5zZWcpOworICB9CiAKICAgLy8gRnJlZSBs
b2NhbHkgYWxsb2NhdGVkIHN0b3JhZ2UKICAgdnB4X2ZyZWUoYXJmX25vdF96eik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tY29tcC5jIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfbWNvbXAuYwppbmRleCBjYmUxYzQwMjkwNmMuLmFjMjlmMzZlYzE4NSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbWNvbXAuYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV9tY29tcC5jCkBAIC03Nyw2ICs3NywxNCBAQCBpbnQgdnA5X2lu
aXRfc2VhcmNoX3JhbmdlKGludCBzaXplKSB7CiAgIHJldHVybiBzcjsKIH0KIAorc3RhdGljIElO
TElORSBpbnQgbXZfY29zdChjb25zdCBNViAqbXYsIGNvbnN0IGludCAqam9pbnRfY29zdCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpjb25zdCBjb21wX2Nvc3RbMl0pIHsKKyAgYXNz
ZXJ0KG12LT5yb3cgPj0gLU1WX01BWCAmJiBtdi0+cm93IDwgTVZfTUFYKTsKKyAgYXNzZXJ0KG12
LT5jb2wgPj0gLU1WX01BWCAmJiBtdi0+Y29sIDwgTVZfTUFYKTsKKyAgcmV0dXJuIGpvaW50X2Nv
c3RbdnA5X2dldF9tdl9qb2ludChtdildICsgY29tcF9jb3N0WzBdW212LT5yb3ddICsKKyAgICAg
ICAgIGNvbXBfY29zdFsxXVttdi0+Y29sXTsKK30KKwogaW50IHZwOV9tdl9iaXRfY29zdChjb25z
dCBNViAqbXYsIGNvbnN0IE1WICpyZWYsIGNvbnN0IGludCAqbXZqY29zdCwKICAgICAgICAgICAg
ICAgICAgICAgaW50ICptdmNvc3RbMl0sIGludCB3ZWlnaHQpIHsKICAgY29uc3QgTVYgZGlmZiA9
IHsgbXYtPnJvdyAtIHJlZi0+cm93LCBtdi0+Y29sIC0gcmVmLT5jb2wgfTsKQEAgLTk1LDYgKzEw
MywxNSBAQCBzdGF0aWMgaW50IG12X2Vycl9jb3N0KGNvbnN0IE1WICptdiwgY29uc3QgTVYgKnJl
ZiwgY29uc3QgaW50ICptdmpjb3N0LAogICB9CiAgIHJldHVybiAwOwogfQorCitzdGF0aWMgaW50
IG12c2FkX2Vycl9jb3N0KGNvbnN0IE1BQ1JPQkxPQ0sgKngsIGNvbnN0IE1WICptdiwgY29uc3Qg
TVYgKnJlZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9wZXJfYml0KSB7Cisg
IGNvbnN0IE1WIGRpZmYgPSB7IG12LT5yb3cgLSByZWYtPnJvdywgbXYtPmNvbCAtIHJlZi0+Y29s
IH07CisgIHJldHVybiBST1VORF9QT1dFUl9PRl9UV08oCisgICAgICAodW5zaWduZWQpbXZfY29z
dCgmZGlmZiwgeC0+bm12am9pbnRzYWRjb3N0LCB4LT5ubXZzYWRjb3N0KSAqIHNhZF9wZXJfYml0
LAorICAgICAgVlA5X1BST0JfQ09TVF9TSElGVCk7Cit9CisKIHZvaWQgdnA5X2luaXRfZHNtb3Rp
b25fY29tcGVuc2F0aW9uKHNlYXJjaF9zaXRlX2NvbmZpZyAqY2ZnLCBpbnQgc3RyaWRlKSB7CiAg
IGludCBsZW47CiAgIGludCBzc19jb3VudCA9IDA7CkBAIC0xNDIsNjUgKzE1OSw1OSBAQCBzdGF0
aWMgSU5MSU5FIGNvbnN0IHVpbnQ4X3QgKnByZShjb25zdCB1aW50OF90ICpidWYsIGludCBzdHJp
ZGUsIGludCByLCBpbnQgYykgewogCiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKIC8qIGNo
ZWNrcyBpZiAociwgYykgaGFzIGJldHRlciBzY29yZSB0aGFuIHByZXZpb3VzIGJlc3QgKi8KLSNk
ZWZpbmUgQ0hFQ0tfQkVUVEVSKHYsIHIsIGMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmIChj
ID49IG1pbmMgJiYgYyA8PSBtYXhjICYmIHIgPj0gbWluciAmJiByIDw9IG1heHIpIHsgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIGludDY0X3QgdG1wbXNlOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCBNViBj
Yl9tdiA9IHsgciwgYyB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgY29uc3QgTVYgY2JfcmVmX212ID0geyByciwgcmMgfTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmIChzZWNvbmRfcHJlZCA9
PSBOVUxMKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIHRoaXNtc2UgPSB2ZnAtPnN2ZihwcmUoeSwgeV9zdHJpZGUsIHIsIGMpLCB5X3N0
cmlkZSwgc3AoYyksIHNwKHIpLCB6LCAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Jj
X3N0cmlkZSwgJnNzZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHRoaXNtc2UgPSB2ZnAtPnN2YWYocHJlKHksIHlf
c3RyaWRlLCByLCBjKSwgeV9zdHJpZGUsIHNwKGMpLCBzcChyKSwgeiwgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNyY19zdHJpZGUsICZzc2UsIHNlY29uZF9wcmVkKTsgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB0bXBtc2UgPSB0aGlz
bXNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgdG1wbXNlICs9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBtdl9lcnJfY29zdCgmY2Jf
bXYsICZjYl9yZWZfbXYsIG12amNvc3QsIG12Y29zdCwgZXJyb3JfcGVyX2JpdCk7ICAgICBcCi0g
ICAgICBpZiAodG1wbXNlID49IElOVF9NQVgpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB2ID0gSU5UX01BWDsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0g
ZWxzZSBpZiAoKHYgPSAodWludDMyX3QpdG1wbXNlKSA8IGJlc3RlcnIpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgIGJlc3RlcnIgPSB2OyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBiciA9IHI7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgYmMgPSBjOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICpkaXN0b3J0aW9uID0g
dGhpc21zZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAqc3NlMSA9IHNzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
fSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgdiA9IElOVF9NQVg7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCisjZGVmaW5lIENIRUNLX0JFVFRFUih2LCByLCBj
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgaWYg
KGMgPj0gbWluYyAmJiBjIDw9IG1heGMgJiYgciA+PSBtaW5yICYmIHIgPD0gbWF4cikgeyAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGludDY0X3QgdG1wbXNlOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgTVYgbXYg
PSB7IHIsIGMgfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBjb25zdCBNViByZWZfbXYgPSB7IHJyLCByYyB9OyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChzZWNvbmRfcHJlZCA9PSBOVUxM
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICB0aGlzbXNlID0gdmZwLT5zdmYocHJlKHksIHlfc3RyaWRlLCByLCBjKSwgeV9zdHJpZGUsIHNw
KGMpLCBzcChyKSwgeiwgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCAm
c3NlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gZWxzZSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICB0aGlzbXNlID0gdmZwLT5zdmFmKHByZSh5LCB5X3N0cmlkZSwgciwgYyks
IHlfc3RyaWRlLCBzcChjKSwgc3AociksIHosIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
c3JjX3N0cmlkZSwgJnNzZSwgc2Vjb25kX3ByZWQpOyAgICAgICAgICAgICAgICAgICAgXAorICAg
IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgdG1wbXNlID0gdGhpc21zZTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0bXBtc2UgKz0g
bXZfZXJyX2Nvc3QoJm12LCAmcmVmX212LCBtdmpjb3N0LCBtdmNvc3QsIGVycm9yX3Blcl9iaXQp
OyAgICAgXAorICAgIGlmICh0bXBtc2UgPj0gSU5UX01BWCkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2ID0gSU5UX01BWDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICB9IGVsc2UgaWYgKCh2ID0gKHVpbnQzMl90KXRtcG1zZSkgPCBiZXN0ZXJyKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgYmVzdGVyciA9IHY7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBiciA9IHI7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIGJjID0gYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgKmRpc3RvcnRpb24gPSB0aGlz
bXNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAqc3NlMSA9IHNzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9IGVsc2UgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgdiA9IElOVF9NQVg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfQogI2Vsc2UKIC8qIGNoZWNrcyBp
ZiAociwgYykgaGFzIGJldHRlciBzY29yZSB0aGFuIHByZXZpb3VzIGJlc3QgKi8KLSNkZWZpbmUg
Q0hFQ0tfQkVUVEVSKHYsIHIsIGMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmIChjID49IG1p
bmMgJiYgYyA8PSBtYXhjICYmIHIgPj0gbWluciAmJiByIDw9IG1heHIpIHsgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIGNvbnN0IE1WIGNiX212ID0geyByLCBjIH07ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCBNViBjYl9yZWZf
bXYgPSB7IHJyLCByYyB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgaWYgKHNlY29uZF9wcmVkID09IE5VTEwpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdGhpc21zZSA9IHZmcC0+c3ZmKHBy
ZSh5LCB5X3N0cmlkZSwgciwgYyksIHlfc3RyaWRlLCBzcChjKSwgc3AociksIHosICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCAmc3NlKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdGhp
c21zZSA9IHZmcC0+c3ZhZihwcmUoeSwgeV9zdHJpZGUsIHIsIGMpLCB5X3N0cmlkZSwgc3AoYyks
IHNwKHIpLCB6LCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgJnNz
ZSwgc2Vjb25kX3ByZWQpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKCh2ID0gbXZf
ZXJyX2Nvc3QoJmNiX212LCAmY2JfcmVmX212LCBtdmpjb3N0LCBtdmNvc3QsICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX3Blcl9iaXQpICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICB0aGlzbXNlKSA8
IGJlc3RlcnIpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICBiZXN0ZXJyID0gdjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgYnIgPSByOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
IGJjID0gYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAqZGlzdG9ydGlvbiA9IHRoaXNtc2U7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKnNzZTEg
PSBzc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gZWxzZSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIHYgPSBJTlRfTUFYOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9
IHdoaWxlICgwKQorI2RlZmluZSBDSEVDS19CRVRURVIodiwgciwgYykgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGlmIChjID49IG1pbmMgJiYgYyA8
PSBtYXhjICYmIHIgPj0gbWluciAmJiByIDw9IG1heHIpIHsgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBjb25zdCBNViBtdiA9IHsgciwgYyB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IE1WIHJlZl9tdiA9IHsgcnIsIHJjIH07
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKHNl
Y29uZF9wcmVkID09IE5VTEwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgIHRoaXNtc2UgPSB2ZnAtPnN2ZihwcmUoeSwgeV9zdHJpZGUsIHIs
IGMpLCB5X3N0cmlkZSwgc3AoYyksIHNwKHIpLCB6LCAgXAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHNyY19zdHJpZGUsICZzc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHRoaXNtc2UgPSB2ZnAtPnN2YWYocHJlKHks
IHlfc3RyaWRlLCByLCBjKSwgeV9zdHJpZGUsIHNwKGMpLCBzcChyKSwgeiwgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCAmc3NlLCBzZWNvbmRfcHJlZCk7ICAgICAgICAg
ICAgICAgICAgICBcCisgICAgaWYgKCh2ID0gbXZfZXJyX2Nvc3QoJm12LCAmcmVmX212LCBtdmpj
b3N0LCBtdmNvc3QsIGVycm9yX3Blcl9iaXQpICsgICAgIFwKKyAgICAgICAgICAgICB0aGlzbXNl
KSA8IGJlc3RlcnIpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgYmVzdGVyciA9IHY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBiciA9IHI7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGJj
ID0gYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgKmRpc3RvcnRpb24gPSB0aGlzbXNlOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAqc3NlMSA9IHNzZTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdiA9
IElOVF9NQVg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgfQogCiAjZW5kaWYKICNkZWZpbmUgRklSU1RfTEVWRUxfQ0hFQ0tT
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBkbyB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICB1bnNpZ25lZCBpbnQgbGVmdCwgcmlnaHQsIHVwLCBkb3duLCBkaWFnOyAgICAg
ICAgICAgICAgICAgICAgXAogICAgIENIRUNLX0JFVFRFUihsZWZ0LCB0ciwgdGMgLSBoc3RlcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgQ0hFQ0tfQkVUVEVSKHJpZ2h0LCB0ciwg
dGMgKyBoc3RlcCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTIxMywxMCArMjI0LDEw
IEBAIHN0YXRpYyBJTkxJTkUgY29uc3QgdWludDhfdCAqcHJlKGNvbnN0IHVpbnQ4X3QgKmJ1Ziwg
aW50IHN0cmlkZSwgaW50IHIsIGludCBjKSB7CiAgICAgICBjYXNlIDI6IENIRUNLX0JFVFRFUihk
aWFnLCB0ciArIGhzdGVwLCB0YyAtIGhzdGVwKTsgYnJlYWs7IFwKICAgICAgIGNhc2UgMzogQ0hF
Q0tfQkVUVEVSKGRpYWcsIHRyICsgaHN0ZXAsIHRjICsgaHN0ZXApOyBicmVhazsgXAogICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIH0gd2hpbGUgKDApCisgIH0KIAogI2RlZmluZSBTRUNPTkRfTEVWRUxfQ0hFQ0tTICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBkbyB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgIGludCBrciwga2M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIHVuc2lnbmVkIGludCBzZWNvbmQ7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmICh0ciAhPSBiciAmJiB0YyAhPSBi
YykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjQ1LDcgKzI1Niw3
IEBAIHN0YXRpYyBJTkxJTkUgY29uc3QgdWludDhfdCAqcHJlKGNvbnN0IHVpbnQ4X3QgKmJ1Ziwg
aW50IHN0cmlkZSwgaW50IHIsIGludCBjKSB7CiAgICAgICAgIGNhc2UgMzogQ0hFQ0tfQkVUVEVS
KHNlY29uZCwgdHIgKyBrciwgdGMgLSBoc3RlcCk7IGJyZWFrOyBcCiAgICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIH0gd2hpbGUgKDApCisgIH0KIAogI2RlZmluZSBTRVRVUF9TVUJQRUxfU0VBUkNI
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgY29u
c3QgdWludDhfdCAqY29uc3QgeiA9IHgtPnBsYW5lWzBdLnNyYy5idWY7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCkBAIC0yNzksNyArMjkwLDcgQEAgc3RhdGljIElOTElORSBjb25zdCB1
aW50OF90ICpwcmUoY29uc3QgdWludDhfdCAqYnVmLCBpbnQgc3RyaWRlLCBpbnQgciwgaW50IGMp
IHsKICAgbWF4ciA9IHN1YnBlbF9tdl9saW1pdHMucm93X21heDsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBiZXN0bXYt
PnJvdyAqPSA4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgYmVzdG12LT5jb2wgKj0gOAorICBiZXN0bXYtPmNvbCAqPSA4OwogCiBz
dGF0aWMgdW5zaWduZWQgaW50IHNldHVwX2NlbnRlcl9lcnJvcigKICAgICBjb25zdCBNQUNST0JM
T0NLRCAqeGQsIGNvbnN0IE1WICpiZXN0bXYsIGNvbnN0IE1WICpyZWZfbXYsCkBAIC0yOTcsNyAr
MzA4LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBzZXR1cF9jZW50ZXJfZXJyb3IoCiAgICAgICBi
ZXN0ZXJyID0KICAgICAgICAgICB2ZnAtPnZmKENPTlZFUlRfVE9fQllURVBUUihjb21wX3ByZWQx
NiksIHcsIHNyYywgc3JjX3N0cmlkZSwgc3NlMSk7CiAgICAgfSBlbHNlIHsKLSAgICAgIERFQ0xB
UkVfQUxJR05FRCgzMiwgdWludDhfdCwgY29tcF9wcmVkWzY0ICogNjRdKTsKKyAgICAgIERFQ0xB
UkVfQUxJR05FRCgxNiwgdWludDhfdCwgY29tcF9wcmVkWzY0ICogNjRdKTsKICAgICAgIHZweF9j
b21wX2F2Z19wcmVkKGNvbXBfcHJlZCwgc2Vjb25kX3ByZWQsIHcsIGgsIHkgKyBvZmZzZXQsIHlf
c3RyaWRlKTsKICAgICAgIGJlc3RlcnIgPSB2ZnAtPnZmKGNvbXBfcHJlZCwgdywgc3JjLCBzcmNf
c3RyaWRlLCBzc2UxKTsKICAgICB9CkBAIC0zMTIsNyArMzIzLDcgQEAgc3RhdGljIHVuc2lnbmVk
IGludCBzZXR1cF9jZW50ZXJfZXJyb3IoCiAgIHVpbnQzMl90IGJlc3RlcnI7CiAgICh2b2lkKXhk
OwogICBpZiAoc2Vjb25kX3ByZWQgIT0gTlVMTCkgewotICAgIERFQ0xBUkVfQUxJR05FRCgzMiwg
dWludDhfdCwgY29tcF9wcmVkWzY0ICogNjRdKTsKKyAgICBERUNMQVJFX0FMSUdORUQoMTYsIHVp
bnQ4X3QsIGNvbXBfcHJlZFs2NCAqIDY0XSk7CiAgICAgdnB4X2NvbXBfYXZnX3ByZWQoY29tcF9w
cmVkLCBzZWNvbmRfcHJlZCwgdywgaCwgeSArIG9mZnNldCwgeV9zdHJpZGUpOwogICAgIGJlc3Rl
cnIgPSB2ZnAtPnZmKGNvbXBfcHJlZCwgdywgc3JjLCBzcmNfc3RyaWRlLCBzc2UxKTsKICAgfSBl
bHNlIHsKQEAgLTYzNSw3ICs2NDYsNyBAQCBzdGF0aWMgaW50IGFjY3VyYXRlX3N1Yl9wZWxfc2Vh
cmNoKAogICAgIHZwOV9idWlsZF9pbnRlcl9wcmVkaWN0b3IocHJlX2FkZHJlc3MsIHlfc3RyaWRl
LCBwcmVkLCB3LCB0aGlzX212LCBzZiwgdywgaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAsIGtlcm5lbCwgTVZfUFJFQ0lTSU9OX1EzLCAwLCAwKTsKICAgICBpZiAoc2Vjb25kX3By
ZWQgIT0gTlVMTCkgewotICAgICAgREVDTEFSRV9BTElHTkVEKDMyLCB1aW50OF90LCBjb21wX3By
ZWRbNjQgKiA2NF0pOworICAgICAgREVDTEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCBjb21wX3By
ZWRbNjQgKiA2NF0pOwogICAgICAgdnB4X2NvbXBfYXZnX3ByZWQoY29tcF9wcmVkLCBzZWNvbmRf
cHJlZCwgdywgaCwgcHJlZCwgdyk7CiAgICAgICBiZXN0ZXJyID0gdmZwLT52Zihjb21wX3ByZWQs
IHcsIHNyY19hZGRyZXNzLCBzcmNfc3RyaWRlLCBzc2UpOwogICAgIH0gZWxzZSB7CkBAIC02NTQs
NyArNjY1LDcgQEAgc3RhdGljIGludCBhY2N1cmF0ZV9zdWJfcGVsX3NlYXJjaCgKICAgdnA5X2J1
aWxkX2ludGVyX3ByZWRpY3RvcihwcmVfYWRkcmVzcywgeV9zdHJpZGUsIHByZWQsIHcsIHRoaXNf
bXYsIHNmLCB3LCBoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIGtlcm5lbCwgTVZf
UFJFQ0lTSU9OX1EzLCAwLCAwKTsKICAgaWYgKHNlY29uZF9wcmVkICE9IE5VTEwpIHsKLSAgICBE
RUNMQVJFX0FMSUdORUQoMzIsIHVpbnQ4X3QsIGNvbXBfcHJlZFs2NCAqIDY0XSk7CisgICAgREVD
TEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCBjb21wX3ByZWRbNjQgKiA2NF0pOwogICAgIHZweF9j
b21wX2F2Z19wcmVkKGNvbXBfcHJlZCwgc2Vjb25kX3ByZWQsIHcsIGgsIHByZWQsIHcpOwogICAg
IGJlc3RlcnIgPSB2ZnAtPnZmKGNvbXBfcHJlZCwgdywgc3JjX2FkZHJlc3MsIHNyY19zdHJpZGUs
IHNzZSk7CiAgIH0gZWxzZSB7CkBAIC02NjcsNTQgKzY3OCw0OCBAQCBzdGF0aWMgaW50IGFjY3Vy
YXRlX3N1Yl9wZWxfc2VhcmNoKAogLy8gVE9ETyh5dW5xaW5nKTogdGhpcyBwYXJ0IGNhbiBiZSBm
dXJ0aGVyIHJlZmFjdG9yZWQuCiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKIC8qIGNoZWNr
cyBpZiAociwgYykgaGFzIGJldHRlciBzY29yZSB0aGFuIHByZXZpb3VzIGJlc3QgKi8KLSNkZWZp
bmUgQ0hFQ0tfQkVUVEVSMSh2LCByLCBjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoYyA+PSBt
aW5jICYmIGMgPD0gbWF4YyAmJiByID49IG1pbnIgJiYgciA8PSBtYXhyKSB7ICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIGludDY0X3QgdG1wbXNlOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IE1WIGNiX212ID0g
eyByLCBjIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIGNvbnN0IE1WIGNiX3JlZl9tdiA9IHsgcnIsIHJjIH07ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHRoaXNtc2UgPSBhY2N1cmF0ZV9zdWJfcGVs
X3NlYXJjaCh4ZCwgJmNiX212LCB4LT5tZV9zZiwga2VybmVsLCB2ZnAsIHosIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCB5LCB5X3N0cmlkZSwg
c2Vjb25kX3ByZWQsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3
LCBoLCAmc3NlKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHRtcG1zZSA9IHRo
aXNtc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIHRtcG1zZSArPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBtdl9lcnJfY29zdCgmY2Jf
bXYsICZjYl9yZWZfbXYsIG12amNvc3QsIG12Y29zdCwgZXJyb3JfcGVyX2JpdCk7ICAgIFwKLSAg
ICAgIGlmICh0bXBtc2UgPj0gSU5UX01BWCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdiA9IElOVF9NQVg7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gZWxz
ZSBpZiAoKHYgPSAodWludDMyX3QpdG1wbXNlKSA8IGJlc3RlcnIpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgYmVzdGVyciA9IHY7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgYnIgPSByOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgYmMgPSBjOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKmRpc3RvcnRpb24gPSB0aGlzbXNl
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgKnNzZTEgPSBzc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9IGVsc2UgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIHYgPSBJTlRfTUFYOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgQ0hFQ0tfQkVUVEVSMSh2LCByLCBjKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGlmIChjID49IG1pbmMg
JiYgYyA8PSBtYXhjICYmIHIgPj0gbWluciAmJiByIDw9IG1heHIpIHsgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGludDY0X3QgdG1wbXNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBNViBtdiA9IHsgciwg
YyB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgY29uc3QgTVYgcmVmX212ID0geyByciwgcmMgfTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHRoaXNtc2UgPSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgYWNjdXJhdGVfc3ViX3BlbF9zZWFyY2goeGQsICZtdiwgeC0+bWVfc2YsIGtlcm5lbCwgdmZw
LCB6LCBzcmNfc3RyaWRlLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksIHlf
c3RyaWRlLCBzZWNvbmRfcHJlZCwgdywgaCwgJnNzZSk7ICAgICAgICAgXAorICAgIHRtcG1zZSA9
IHRoaXNtc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICB0bXBtc2UgKz0gbXZfZXJyX2Nvc3QoJm12LCAmcmVmX212LCBtdmpj
b3N0LCBtdmNvc3QsIGVycm9yX3Blcl9iaXQpOyAgICAgICBcCisgICAgaWYgKHRtcG1zZSA+PSBJ
TlRfTUFYKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgdiA9IElOVF9NQVg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IGVsc2UgaWYgKCh2ID0gKHVpbnQz
Ml90KXRtcG1zZSkgPCBiZXN0ZXJyKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICBiZXN0ZXJyID0gdjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgYnIgPSByOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGJj
ID0gYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAqZGlzdG9ydGlvbiA9IHRoaXNtc2U7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgKnNzZTEgPSBz
c2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0gZWxzZSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIHYgPSBJTlRfTUFYOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfQogI2Vsc2UKIC8qIGNoZWNrcyBpZiAociwg
YykgaGFzIGJldHRlciBzY29yZSB0aGFuIHByZXZpb3VzIGJlc3QgKi8KLSNkZWZpbmUgQ0hFQ0tf
QkVUVEVSMSh2LCByLCBjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoYyA+PSBtaW5jICYmIGMg
PD0gbWF4YyAmJiByID49IG1pbnIgJiYgciA8PSBtYXhyKSB7ICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIGNvbnN0IE1WIGNiX212ID0geyByLCBjIH07ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IE1WIGNiX3JlZl9tdiA9IHsgcnIs
IHJjIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHRo
aXNtc2UgPSBhY2N1cmF0ZV9zdWJfcGVsX3NlYXJjaCh4ZCwgJmNiX212LCB4LT5tZV9zZiwga2Vy
bmVsLCB2ZnAsIHosIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
cmNfc3RyaWRlLCB5LCB5X3N0cmlkZSwgc2Vjb25kX3ByZWQsIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB3LCBoLCAmc3NlKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIGlmICgodiA9IG12X2Vycl9jb3N0KCZjYl9tdiwgJmNiX3JlZl9tdiwgbXZq
Y29zdCwgbXZjb3N0LCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVycm9yX3Blcl9iaXQpICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgIHRoaXNtc2UpIDwgYmVzdGVycikgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgYmVzdGVyciA9IHY7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgYnIg
PSByOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgYmMgPSBjOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKmRpc3RvcnRpb24g
PSB0aGlzbXNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgKnNzZTEgPSBzc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9
IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIHYgPSBJTlRfTUFYOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgQ0hFQ0tfQkVUVEVSMSh2LCByLCBjKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGlmIChj
ID49IG1pbmMgJiYgYyA8PSBtYXhjICYmIHIgPj0gbWluciAmJiByIDw9IG1heHIpIHsgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IE1WIG12ID0geyByLCBjIH07ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBNViBy
ZWZfbXYgPSB7IHJyLCByYyB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgdGhpc21zZSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBhY2N1cmF0ZV9zdWJf
cGVsX3NlYXJjaCh4ZCwgJm12LCB4LT5tZV9zZiwga2VybmVsLCB2ZnAsIHosIHNyY19zdHJpZGUs
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeSwgeV9zdHJpZGUsIHNlY29uZF9w
cmVkLCB3LCBoLCAmc3NlKTsgICAgICAgICBcCisgICAgaWYgKCh2ID0gbXZfZXJyX2Nvc3QoJm12
LCAmcmVmX212LCBtdmpjb3N0LCBtdmNvc3QsIGVycm9yX3Blcl9iaXQpICsgICAgICAgXAorICAg
ICAgICAgICAgIHRoaXNtc2UpIDwgYmVzdGVycikgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGJlc3RlcnIgPSB2OyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBiciA9
IHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgYmMgPSBjOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICpkaXN0b3J0aW9u
ID0gdGhpc21zZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAqc3NlMSA9IHNzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdiA9IElOVF9NQVg7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAK
ICNlbmRpZgogCkBAIC05NTMsNyArOTU4LDcgQEAgc3RhdGljIElOTElORSBpbnQgaXNfbXZfaW4o
Y29uc3QgTXZMaW1pdHMgKm12X2xpbWl0cywgY29uc3QgTVYgKm12KSB7CiAgIH0KIAogI2RlZmlu
ZSBNQVhfUEFUVEVSTl9TQ0FMRVMgMTEKLSNkZWZpbmUgTUFYX1BBVFRFUk5fQ0FORElEQVRFUyA4
ICAvLyBtYXggbnVtYmVyIG9mIGNhbmRpZGF0ZXMgcGVyIHNjYWxlCisjZGVmaW5lIE1BWF9QQVRU
RVJOX0NBTkRJREFURVMgOCAgLy8gbWF4IG51bWJlciBvZiBjYW5kZGlhdGVzIHBlciBzY2FsZQog
I2RlZmluZSBQQVRURVJOX0NBTkRJREFURVNfUkVGIDMgIC8vIG51bWJlciBvZiByZWZpbmVtZW50
IGNhbmRpZGF0ZXMKIAogLy8gQ2FsY3VsYXRlIGFuZCByZXR1cm4gYSBzYWQrbXZjb3N0IGxpc3Qg
YXJvdW5kIGFuIGludGVnZXIgYmVzdCBwZWwuCkBAIC05NjcsMTQgKzk3MiwxNiBAQCBzdGF0aWMg
SU5MSU5FIHZvaWQgY2FsY19pbnRfY29zdF9saXN0KGNvbnN0IE1BQ1JPQkxPQ0sgKngsIGNvbnN0
IE1WICpyZWZfbXYsCiAgIGNvbnN0IE1WIGZjZW50ZXJfbXYgPSB7IHJlZl9tdi0+cm93ID4+IDMs
IHJlZl9tdi0+Y29sID4+IDMgfTsKICAgaW50IGJyID0gYmVzdF9tdi0+cm93OwogICBpbnQgYmMg
PSBiZXN0X212LT5jb2w7Ci0gIGNvbnN0IE1WIG12ID0geyBiciwgYmMgfTsKKyAgTVYgdGhpc19t
djsKICAgaW50IGk7CiAgIHVuc2lnbmVkIGludCBzc2U7CiAKKyAgdGhpc19tdi5yb3cgPSBicjsK
KyAgdGhpc19tdi5jb2wgPSBiYzsKICAgY29zdF9saXN0WzBdID0KLSAgICAgIGZuX3B0ci0+dmYo
d2hhdC0+YnVmLCB3aGF0LT5zdHJpZGUsIGdldF9idWZfZnJvbV9tdihpbl93aGF0LCAmbXYpLAor
ICAgICAgZm5fcHRyLT52Zih3aGF0LT5idWYsIHdoYXQtPnN0cmlkZSwgZ2V0X2J1Zl9mcm9tX212
KGluX3doYXQsICZ0aGlzX212KSwKICAgICAgICAgICAgICAgICAgaW5fd2hhdC0+c3RyaWRlLCAm
c3NlKSArCi0gICAgICBtdnNhZF9lcnJfY29zdCh4LCAmbXYsICZmY2VudGVyX212LCBzYWRwYik7
CisgICAgICBtdnNhZF9lcnJfY29zdCh4LCAmdGhpc19tdiwgJmZjZW50ZXJfbXYsIHNhZHBiKTsK
ICAgaWYgKGNoZWNrX2JvdW5kcygmeC0+bXZfbGltaXRzLCBiciwgYmMsIDEpKSB7CiAgICAgZm9y
IChpID0gMDsgaSA8IDQ7IGkrKykgewogICAgICAgY29uc3QgTVYgdGhpc19tdiA9IHsgYnIgKyBu
ZWlnaGJvcnNbaV0ucm93LCBiYyArIG5laWdoYm9yc1tpXS5jb2wgfTsKQEAgLTEwMzQsNyArMTA0
MSw3IEBAIHN0YXRpYyBpbnQgdnA5X3BhdHRlcm5fc2VhcmNoKAogICAgICAgICAgICAgICAgICAg
ICAgaW5fd2hhdC0+c3RyaWRlKSArCiAgICAgICAgICAgICBtdnNhZF9lcnJfY29zdCh4LCByZWZf
bXYsICZmY2VudGVyX212LCBzYWRfcGVyX2JpdCk7CiAKLSAgLy8gU2VhcmNoIGFsbCBwb3NzaWJs
ZSBzY2FsZXMgdXAgdG8gdGhlIHNlYXJjaCBwYXJhbSBhcm91bmQgdGhlIGNlbnRlciBwb2ludAor
ICAvLyBTZWFyY2ggYWxsIHBvc3NpYmxlIHNjYWxlcyB1cHRvIHRoZSBzZWFyY2ggcGFyYW0gYXJv
dW5kIHRoZSBjZW50ZXIgcG9pbnQKICAgLy8gcGljayB0aGUgc2NhbGUgb2YgdGhlIHBvaW50IHRo
YXQgaXMgYmVzdCBhcyB0aGUgc3RhcnRpbmcgc2NhbGUgb2YKICAgLy8gZnVydGhlciBzdGVwcyBh
cm91bmQgaXQuCiAgIGlmIChkb19pbml0X3NlYXJjaCkgewpAQCAtMTE1NSw5ICsxMTYyLDYgQEAg
c3RhdGljIGludCB2cDlfcGF0dGVybl9zZWFyY2goCiAgICAgfSB3aGlsZSAocy0tKTsKICAgfQog
Ci0gIGJlc3RfbXYtPnJvdyA9IGJyOwotICBiZXN0X212LT5jb2wgPSBiYzsKLQogICAvLyBSZXR1
cm5zIHRoZSBvbmUtYXdheSBpbnRlZ2VyIHBlbCBzYWQgdmFsdWVzIGFyb3VuZCB0aGUgYmVzdCBh
cyBmb2xsb3dzOgogICAvLyBjb3N0X2xpc3RbMF06IGNvc3QgYXQgdGhlIGJlc3QgaW50ZWdlciBw
ZWwKICAgLy8gY29zdF9saXN0WzFdOiBjb3N0IGF0IGRlbHRhIHswLCAtMX0gKGxlZnQpICAgZnJv
bSB0aGUgYmVzdCBpbnRlZ2VyIHBlbApAQCAtMTE2NSw4ICsxMTY5LDExIEBAIHN0YXRpYyBpbnQg
dnA5X3BhdHRlcm5fc2VhcmNoKAogICAvLyBjb3N0X2xpc3RbM106IGNvc3QgYXQgZGVsdGEgeyAw
LCAxfSAocmlnaHQpICBmcm9tIHRoZSBiZXN0IGludGVnZXIgcGVsCiAgIC8vIGNvc3RfbGlzdFs0
XTogY29zdCBhdCBkZWx0YSB7LTEsIDB9ICh0b3ApICAgIGZyb20gdGhlIGJlc3QgaW50ZWdlciBw
ZWwKICAgaWYgKGNvc3RfbGlzdCkgewotICAgIGNhbGNfaW50X2Nvc3RfbGlzdCh4LCAmZmNlbnRl
cl9tdiwgc2FkX3Blcl9iaXQsIHZmcCwgYmVzdF9tdiwgY29zdF9saXN0KTsKKyAgICBjb25zdCBN
ViBiZXN0X212ID0geyBiciwgYmMgfTsKKyAgICBjYWxjX2ludF9jb3N0X2xpc3QoeCwgJmZjZW50
ZXJfbXYsIHNhZF9wZXJfYml0LCB2ZnAsICZiZXN0X212LCBjb3N0X2xpc3QpOwogICB9CisgIGJl
c3RfbXYtPnJvdyA9IGJyOworICBiZXN0X212LT5jb2wgPSBiYzsKICAgcmV0dXJuIGJlc3RzYWQ7
CiB9CiAKQEAgLTEyMDgsNyArMTIxNSw3IEBAIHN0YXRpYyBpbnQgdnA5X3BhdHRlcm5fc2VhcmNo
X3NhZCgKICAgICAgICAgICAgICAgICAgICAgIGluX3doYXQtPnN0cmlkZSkgKwogICAgICAgICAg
ICAgbXZzYWRfZXJyX2Nvc3QoeCwgcmVmX212LCAmZmNlbnRlcl9tdiwgc2FkX3Blcl9iaXQpOwog
Ci0gIC8vIFNlYXJjaCBhbGwgcG9zc2libGUgc2NhbGVzIHVwIHRvIHRoZSBzZWFyY2ggcGFyYW0g
YXJvdW5kIHRoZSBjZW50ZXIgcG9pbnQKKyAgLy8gU2VhcmNoIGFsbCBwb3NzaWJsZSBzY2FsZXMg
dXB0byB0aGUgc2VhcmNoIHBhcmFtIGFyb3VuZCB0aGUgY2VudGVyIHBvaW50CiAgIC8vIHBpY2sg
dGhlIHNjYWxlIG9mIHRoZSBwb2ludCB0aGF0IGlzIGJlc3QgYXMgdGhlIHN0YXJ0aW5nIHNjYWxl
IG9mCiAgIC8vIGZ1cnRoZXIgc3RlcHMgYXJvdW5kIGl0LgogICBpZiAoZG9faW5pdF9zZWFyY2gp
IHsKQEAgLTE3ODEsNiArMTc4OCwyOSBAQCBzdGF0aWMgaW50NjRfdCBleGhhdXN0aXZlX21lc2hf
c2VhcmNoX3NpbmdsZV9zdGVwKAogICBlbmRfY29sID0gVlBYTUlOKGNlbnRlcl9tdi0+Y29sICsg
cmFuZ2UsIG12X2xpbWl0cy0+Y29sX21heCk7CiAgIGZvciAociA9IHN0YXJ0X3JvdzsgciA8PSBl
bmRfcm93OyByICs9IDEpIHsKICAgICBjID0gc3RhcnRfY29sOworICAgIC8vIHNkeDhmIG1heSBu
b3QgYmUgYXZhaWxhYmxlIHNvbWUgYmxvY2sgc2l6ZQorICAgIGlmIChmbl9wdHItPnNkeDhmKSB7
CisgICAgICB3aGlsZSAoYyArIDcgPD0gZW5kX2NvbCkgeworICAgICAgICB1bnNpZ25lZCBpbnQg
c2Fkc1s4XTsKKyAgICAgICAgY29uc3QgTVYgbXYgPSB7IHIsIGMgfTsKKyAgICAgICAgY29uc3Qg
dWludDhfdCAqYnVmID0gZ2V0X2J1Zl9mcm9tX212KHByZSwgJm12KTsKKyAgICAgICAgZm5fcHRy
LT5zZHg4ZihzcmMtPmJ1Ziwgc3JjLT5zdHJpZGUsIGJ1ZiwgcHJlLT5zdHJpZGUsIHNhZHMpOwor
CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICAgICAgICBpbnQ2NF90IHNh
ZCA9IChpbnQ2NF90KXNhZHNbaV0gPDwgTE9HMl9QUkVDSVNJT047CisgICAgICAgICAgaWYgKHNh
ZCA8IGJlc3Rfc2FkKSB7CisgICAgICAgICAgICBjb25zdCBNViBtdiA9IHsgciwgYyArIGkgfTsK
KyAgICAgICAgICAgIHNhZCArPSBsYW1iZGEgKgorICAgICAgICAgICAgICAgICAgIHZwOV9uYl9t
dnNfaW5jb25zaXN0ZW5jeSgmbXYsIG5iX2Z1bGxfbXZzLCBmdWxsX212X251bSk7CisgICAgICAg
ICAgICBpZiAoc2FkIDwgYmVzdF9zYWQpIHsKKyAgICAgICAgICAgICAgYmVzdF9zYWQgPSBzYWQ7
CisgICAgICAgICAgICAgICpiZXN0X212ID0gbXY7CisgICAgICAgICAgICB9CisgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgIGMgKz0gODsKKyAgICAgIH0KKyAgICB9CiAgICAgd2hpbGUg
KGMgKyAzIDw9IGVuZF9jb2wpIHsKICAgICAgIHVuc2lnbmVkIGludCBzYWRzWzRdOwogICAgICAg
Y29uc3QgdWludDhfdCAqYWRkcnNbNF07CkBAIC0yMDUzLDkgKzIwODMsOSBAQCBpbnQgdnA5X3By
ZXBhcmVfbmJfZnVsbF9tdnMoY29uc3QgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCwgaW50IG1p
X3JvdywKICNlbmRpZiAgLy8gQ09ORklHX05PTl9HUkVFRFlfTVYKIAogaW50IHZwOV9kaWFtb25k
X3NlYXJjaF9zYWRfYyhjb25zdCBNQUNST0JMT0NLICp4LCBjb25zdCBzZWFyY2hfc2l0ZV9jb25m
aWcgKmNmZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVYgKnJlZl9tdiwgdWludDMy
X3Qgc3RhcnRfbXZfc2FkLCBNViAqYmVzdF9tdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNlYXJjaF9wYXJhbSwgaW50IHNhZF9wZXJfYml0LCBpbnQgKm51bTAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2cDlfc2FkX2ZuX3B0cl90ICpzYWRfZm5fcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNViAqcmVmX212LCBNViAqYmVzdF9tdiwg
aW50IHNlYXJjaF9wYXJhbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNhZF9w
ZXJfYml0LCBpbnQgKm51bTAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2
cDlfdmFyaWFuY2VfZm5fcHRyX3QgKmZuX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgTVYgKmNlbnRlcl9tdikgewogICBpbnQgaSwgaiwgc3RlcDsKIApAQCAtMjA2Niw3
ICsyMDk2LDcgQEAgaW50IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYyhjb25zdCBNQUNST0JMT0NL
ICp4LCBjb25zdCBzZWFyY2hfc2l0ZV9jb25maWcgKmNmZywKICAgY29uc3QgaW50IGluX3doYXRf
c3RyaWRlID0geGQtPnBsYW5lWzBdLnByZVswXS5zdHJpZGU7CiAgIGNvbnN0IHVpbnQ4X3QgKmJl
c3RfYWRkcmVzczsKIAotICB1bnNpZ25lZCBpbnQgYmVzdHNhZCA9IHN0YXJ0X212X3NhZDsKKyAg
dW5zaWduZWQgaW50IGJlc3RzYWQgPSBJTlRfTUFYOwogICBpbnQgYmVzdF9zaXRlID0gLTE7CiAg
IGludCBsYXN0X3NpdGUgPSAtMTsKIApAQCAtMjA4NCw2ICsyMTE0LDggQEAgaW50IHZwOV9kaWFt
b25kX3NlYXJjaF9zYWRfYyhjb25zdCBNQUNST0JMT0NLICp4LCBjb25zdCBzZWFyY2hfc2l0ZV9j
b25maWcgKmNmZywKICAgY29uc3QgaW50IHRvdF9zdGVwcyA9IGNmZy0+dG90YWxfc3RlcHMgLSBz
ZWFyY2hfcGFyYW07CiAKICAgY29uc3QgTVYgZmNlbnRlcl9tdiA9IHsgY2VudGVyX212LT5yb3cg
Pj4gMywgY2VudGVyX212LT5jb2wgPj4gMyB9OworICBjbGFtcF9tdihyZWZfbXYsIHgtPm12X2xp
bWl0cy5jb2xfbWluLCB4LT5tdl9saW1pdHMuY29sX21heCwKKyAgICAgICAgICAgeC0+bXZfbGlt
aXRzLnJvd19taW4sIHgtPm12X2xpbWl0cy5yb3dfbWF4KTsKICAgcmVmX3JvdyA9IHJlZl9tdi0+
cm93OwogICByZWZfY29sID0gcmVmX212LT5jb2w7CiAgICpudW0wMCA9IDA7CkBAIC0yMDk0LDYg
KzIxMjYsMTAgQEAgaW50IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYyhjb25zdCBNQUNST0JMT0NL
ICp4LCBjb25zdCBzZWFyY2hfc2l0ZV9jb25maWcgKmNmZywKICAgaW5fd2hhdCA9IHhkLT5wbGFu
ZVswXS5wcmVbMF0uYnVmICsgcmVmX3JvdyAqIGluX3doYXRfc3RyaWRlICsgcmVmX2NvbDsKICAg
YmVzdF9hZGRyZXNzID0gaW5fd2hhdDsKIAorICAvLyBDaGVjayB0aGUgc3RhcnRpbmcgcG9zaXRp
b24KKyAgYmVzdHNhZCA9IGZuX3B0ci0+c2RmKHdoYXQsIHdoYXRfc3RyaWRlLCBpbl93aGF0LCBp
bl93aGF0X3N0cmlkZSkgKworICAgICAgICAgICAgbXZzYWRfZXJyX2Nvc3QoeCwgYmVzdF9tdiwg
JmZjZW50ZXJfbXYsIHNhZF9wZXJfYml0KTsKKwogICBpID0gMDsKIAogICBmb3IgKHN0ZXAgPSAw
OyBzdGVwIDwgdG90X3N0ZXBzOyBzdGVwKyspIHsKQEAgLTIxMTcsOCArMjE1Myw4IEBAIGludCB2
cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2MoY29uc3QgTUFDUk9CTE9DSyAqeCwgY29uc3Qgc2VhcmNo
X3NpdGVfY29uZmlnICpjZmcsCiAKICAgICAgICAgZm9yICh0ID0gMDsgdCA8IDQ7IHQrKykgYmxv
Y2tfb2Zmc2V0W3RdID0gc3Nfb3NbaSArIHRdICsgYmVzdF9hZGRyZXNzOwogCi0gICAgICAgIHNh
ZF9mbl9wdHItPnNkeDRkZih3aGF0LCB3aGF0X3N0cmlkZSwgYmxvY2tfb2Zmc2V0LCBpbl93aGF0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhZF9hcnJheSk7CisgICAgICAg
IGZuX3B0ci0+c2R4NGRmKHdoYXQsIHdoYXRfc3RyaWRlLCBibG9ja19vZmZzZXQsIGluX3doYXRf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICBzYWRfYXJyYXkpOwogCiAgICAgICAgIGZv
ciAodCA9IDA7IHQgPCA0OyB0KyssIGkrKykgewogICAgICAgICAgIGlmIChzYWRfYXJyYXlbdF0g
PCBiZXN0c2FkKSB7CkBAIC0yMTQyLDcgKzIxNzgsNyBAQCBpbnQgdnA5X2RpYW1vbmRfc2VhcmNo
X3NhZF9jKGNvbnN0IE1BQ1JPQkxPQ0sgKngsIGNvbnN0IHNlYXJjaF9zaXRlX2NvbmZpZyAqY2Zn
LAogICAgICAgICBpZiAoaXNfbXZfaW4oJngtPm12X2xpbWl0cywgJnRoaXNfbXYpKSB7CiAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgY2hlY2tfaGVyZSA9IHNzX29zW2ldICsgYmVzdF9h
ZGRyZXNzOwogICAgICAgICAgIHVuc2lnbmVkIGludCB0aGlzc2FkID0KLSAgICAgICAgICAgICAg
c2FkX2ZuX3B0ci0+c2RmKHdoYXQsIHdoYXRfc3RyaWRlLCBjaGVja19oZXJlLCBpbl93aGF0X3N0
cmlkZSk7CisgICAgICAgICAgICAgIGZuX3B0ci0+c2RmKHdoYXQsIHdoYXRfc3RyaWRlLCBjaGVj
a19oZXJlLCBpbl93aGF0X3N0cmlkZSk7CiAKICAgICAgICAgICBpZiAodGhpc3NhZCA8IGJlc3Rz
YWQpIHsKICAgICAgICAgICAgIHRoaXNzYWQgKz0gbXZzYWRfZXJyX2Nvc3QoeCwgJnRoaXNfbXYs
ICZmY2VudGVyX212LCBzYWRfcGVyX2JpdCk7CkBAIC0yMzAwLDE2ICsyMzM2LDE3IEBAIHVuc2ln
bmVkIGludCB2cDlfaW50X3Byb19tb3Rpb25fZXN0aW1hdGlvbihjb25zdCBWUDlfQ09NUCAqY3Bp
LCBNQUNST0JMT0NLICp4LAogICAvLyBUT0RPKGppbmduaW5nKTogSW1wbGVtZW50IGludGVncmFs
IHByb2plY3Rpb24gZnVuY3Rpb25zIGZvciBoaWdoIGJpdC1kZXB0aAogICAvLyBzZXR0aW5nIGFu
ZCByZW1vdmUgdGhpcyBwYXJ0IG9mIGNvZGUuCiAgIGlmICh4ZC0+YmQgIT0gOCkgewotICAgIGNv
bnN0IHVuc2lnbmVkIGludCBzYWQgPSBjcGktPmZuX3B0cltic2l6ZV0uc2RmKAotICAgICAgICB4
LT5wbGFuZVswXS5zcmMuYnVmLCBzcmNfc3RyaWRlLCB4ZC0+cGxhbmVbMF0ucHJlWzBdLmJ1Ziwg
cmVmX3N0cmlkZSk7CisgICAgdW5zaWduZWQgaW50IHRoaXNfc2FkOwogICAgIHRtcF9tdi0+cm93
ID0gMDsKICAgICB0bXBfbXYtPmNvbCA9IDA7CisgICAgdGhpc19zYWQgPSBjcGktPmZuX3B0clti
c2l6ZV0uc2RmKHgtPnBsYW5lWzBdLnNyYy5idWYsIHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHhkLT5wbGFuZVswXS5wcmVbMF0uYnVmLCByZWZfc3Ry
aWRlKTsKIAogICAgIGlmIChzY2FsZWRfcmVmX2ZyYW1lKSB7CiAgICAgICBpbnQgaTsKICAgICAg
IGZvciAoaSA9IDA7IGkgPCBNQVhfTUJfUExBTkU7IGkrKykgeGQtPnBsYW5lW2ldLnByZVswXSA9
IGJhY2t1cF95djEyW2ldOwogICAgIH0KLSAgICByZXR1cm4gc2FkOworICAgIHJldHVybiB0aGlz
X3NhZDsKICAgfQogI2VuZGlmCiAKQEAgLTI0ODQsNTQgKzI1MjEsMTUgQEAgaW50IHZwOV9mdWxs
X3BpeGVsX2RpYW1vbmRfbmV3KGNvbnN0IFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsCiAg
ICAgICAgICAgICAgIHBvaW50IGFzIHRoZSBiZXN0IG1hdGNoLCB3ZSB3aWxsIGRvIGEgZmluYWwg
MS1hd2F5IGRpYW1vbmQKICAgICAgICAgICAgICAgcmVmaW5pbmcgc2VhcmNoICAqLwogc3RhdGlj
IGludCBmdWxsX3BpeGVsX2RpYW1vbmQoY29uc3QgVlA5X0NPTVAgKmNvbnN0IGNwaSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE1BQ1JPQkxPQ0sgKmNvbnN0IHgsIEJMT0NL
X1NJWkUgYnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNViAqbXZwX2Z1bGws
IGludCBzdGVwX3BhcmFtLCBpbnQgc2FkcGIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZnVydGhlcl9zdGVwcywgaW50IGRvX3JlZmluZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB1c2VfZG93bnNhbXBsZWRfc2FkLCBpbnQgKmNvc3RfbGlzdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE1BQ1JPQkxPQ0sgKmNvbnN0IHgsIE1WICpt
dnBfZnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdGVwX3BhcmFtLCBp
bnQgc2FkcGIsIGludCBmdXJ0aGVyX3N0ZXBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRvX3JlZmluZSwgaW50ICpjb3N0X2xpc3QsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB2cDlfdmFyaWFuY2VfZm5fcHRyX3QgKmZuX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IE1WICpyZWZfbXYsIE1WICpkc3RfbXYpIHsKICAgTVYg
dGVtcF9tdjsKICAgaW50IHRoaXNzbWUsIG4sIG51bTAwID0gMDsKLSAgaW50IGJlc3RzbWU7Ci0g
IGNvbnN0IGludCBzcmNfYnVmX3N0cmlkZSA9IHgtPnBsYW5lWzBdLnNyYy5zdHJpZGU7Ci0gIGNv
bnN0IHVpbnQ4X3QgKmNvbnN0IHNyY19idWYgPSB4LT5wbGFuZVswXS5zcmMuYnVmOwotICBjb25z
dCBNQUNST0JMT0NLRCAqY29uc3QgeGQgPSAmeC0+ZV9tYmQ7Ci0gIGNvbnN0IGludCBwcmVkX2J1
Zl9zdHJpZGUgPSB4ZC0+cGxhbmVbMF0ucHJlWzBdLnN0cmlkZTsKLSAgdWludDhfdCAqcHJlZF9i
dWY7Ci0gIHZwOV9zYWRfZm5fcHRyX3Qgc2FkX2ZuX3B0cjsKLSAgdW5zaWduZWQgaW50IHN0YXJ0
X212X3NhZCwgc3RhcnRfbXZfc2FkX2V2ZW5fcm93cywgc3RhcnRfbXZfc2FkX29kZF9yb3dzOwot
ICBjb25zdCBNViByZWZfbXZfZnVsbCA9IHsgcmVmX212LT5yb3cgPj4gMywgcmVmX212LT5jb2wg
Pj4gMyB9OwotICBjbGFtcF9tdihtdnBfZnVsbCwgeC0+bXZfbGltaXRzLmNvbF9taW4sIHgtPm12
X2xpbWl0cy5jb2xfbWF4LAotICAgICAgICAgICB4LT5tdl9saW1pdHMucm93X21pbiwgeC0+bXZf
bGltaXRzLnJvd19tYXgpOwotCi0gIHByZWRfYnVmID0KLSAgICAgIHhkLT5wbGFuZVswXS5wcmVb
MF0uYnVmICsgbXZwX2Z1bGwtPnJvdyAqIHByZWRfYnVmX3N0cmlkZSArIG12cF9mdWxsLT5jb2w7
Ci0gIHN0YXJ0X212X3NhZF9ldmVuX3Jvd3MgPQotICAgICAgZm5fcHRyLT5zZHNmKHNyY19idWYs
IHNyY19idWZfc3RyaWRlLCBwcmVkX2J1ZiwgcHJlZF9idWZfc3RyaWRlKTsKLSAgc3RhcnRfbXZf
c2FkX29kZF9yb3dzID0KLSAgICAgIGZuX3B0ci0+c2RzZihzcmNfYnVmICsgc3JjX2J1Zl9zdHJp
ZGUsIHNyY19idWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgIHByZWRfYnVmICsgcHJlZF9i
dWZfc3RyaWRlLCBwcmVkX2J1Zl9zdHJpZGUpOwotICBzdGFydF9tdl9zYWQgPSAoc3RhcnRfbXZf
c2FkX2V2ZW5fcm93cyArIHN0YXJ0X212X3NhZF9vZGRfcm93cykgPj4gMTsKLSAgc3RhcnRfbXZf
c2FkICs9IG12c2FkX2Vycl9jb3N0KHgsIG12cF9mdWxsLCAmcmVmX212X2Z1bGwsIHNhZHBiKTsK
LQotICBzYWRfZm5fcHRyLnNkZiA9IGZuX3B0ci0+c2RmOwotICBzYWRfZm5fcHRyLnNkeDRkZiA9
IGZuX3B0ci0+c2R4NGRmOwotICBpZiAodXNlX2Rvd25zYW1wbGVkX3NhZCAmJiBudW1fNHg0X2Js
b2Nrc19oaWdoX2xvb2t1cFtic2l6ZV0gPj0gMikgewotICAgIC8vIElmIHRoZSBhYnNvbHV0ZSBk
aWZmZXJlbmNlIGJldHdlZW4gdGhlIHByZWQtdG8tc3JjIFNBRCBvZiBldmVuIHJvd3MgYW5kCi0g
ICAgLy8gdGhlIHByZWQtdG8tc3JjIFNBRCBvZiBvZGQgcm93cyBpcyBzbWFsbCwgc2tpcCBldmVy
eSBvdGhlciByb3cgaW4gc2FkCi0gICAgLy8gY29tcHV0YXRpb24uCi0gICAgY29uc3QgaW50IG9k
ZF90b19ldmVuX2RpZmZfc2FkID0KLSAgICAgICAgYWJzKChpbnQpc3RhcnRfbXZfc2FkX2V2ZW5f
cm93cyAtIChpbnQpc3RhcnRfbXZfc2FkX29kZF9yb3dzKTsKLSAgICBjb25zdCBpbnQgbXVsdF90
aHJlc2ggPSAxMDsKLSAgICBpZiAob2RkX3RvX2V2ZW5fZGlmZl9zYWQgKiBtdWx0X3RocmVzaCA8
IChpbnQpc3RhcnRfbXZfc2FkX2V2ZW5fcm93cykgewotICAgICAgc2FkX2ZuX3B0ci5zZGYgPSBm
bl9wdHItPnNkc2Y7Ci0gICAgICBzYWRfZm5fcHRyLnNkeDRkZiA9IGZuX3B0ci0+c2RzeDRkZjsK
LSAgICB9Ci0gIH0KLQotICBiZXN0c21lID0KLSAgICAgIGNwaS0+ZGlhbW9uZF9zZWFyY2hfc2Fk
KHgsICZjcGktPnNzX2NmZywgbXZwX2Z1bGwsIHN0YXJ0X212X3NhZCwgJnRlbXBfbXYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwX3BhcmFtLCBzYWRwYiwgJm4sICZzYWRfZm5f
cHRyLCByZWZfbXYpOworICBpbnQgYmVzdHNtZSA9IGNwaS0+ZGlhbW9uZF9zZWFyY2hfc2FkKHgs
ICZjcGktPnNzX2NmZywgbXZwX2Z1bGwsICZ0ZW1wX212LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0ZXBfcGFyYW0sIHNhZHBiLCAmbiwgZm5fcHRyLCByZWZfbXYp
OwogICBpZiAoYmVzdHNtZSA8IElOVF9NQVgpCiAgICAgYmVzdHNtZSA9IHZwOV9nZXRfbXZwcmVk
X3Zhcih4LCAmdGVtcF9tdiwgcmVmX212LCBmbl9wdHIsIDEpOwogICAqZHN0X212ID0gdGVtcF9t
djsKQEAgLTI1NDYsOSArMjU0NCw5IEBAIHN0YXRpYyBpbnQgZnVsbF9waXhlbF9kaWFtb25kKGNv
bnN0IFZQOV9DT01QICpjb25zdCBjcGksCiAgICAgaWYgKG51bTAwKSB7CiAgICAgICBudW0wMC0t
OwogICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzc21lID0gY3BpLT5kaWFtb25kX3NlYXJjaF9zYWQo
eCwgJmNwaS0+c3NfY2ZnLCBtdnBfZnVsbCwgc3RhcnRfbXZfc2FkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ0ZW1wX212LCBzdGVwX3BhcmFtICsgbiwgc2FkcGIs
ICZudW0wMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2FkX2Zu
X3B0ciwgcmVmX212KTsKKyAgICAgIHRoaXNzbWUgPSBjcGktPmRpYW1vbmRfc2VhcmNoX3NhZCh4
LCAmY3BpLT5zc19jZmcsIG12cF9mdWxsLCAmdGVtcF9tdiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGVwX3BhcmFtICsgbiwgc2FkcGIsICZudW0wMCwgZm5fcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZl9tdik7CiAgICAg
ICBpZiAodGhpc3NtZSA8IElOVF9NQVgpCiAgICAgICAgIHRoaXNzbWUgPSB2cDlfZ2V0X212cHJl
ZF92YXIoeCwgJnRlbXBfbXYsIHJlZl9tdiwgZm5fcHRyLCAxKTsKIApAQCAtMjU2Niw4ICsyNTY0
LDggQEAgc3RhdGljIGludCBmdWxsX3BpeGVsX2RpYW1vbmQoY29uc3QgVlA5X0NPTVAgKmNvbnN0
IGNwaSwKICAgaWYgKGRvX3JlZmluZSkgewogICAgIGNvbnN0IGludCBzZWFyY2hfcmFuZ2UgPSA4
OwogICAgIE1WIGJlc3RfbXYgPSAqZHN0X212OwotICAgIHRoaXNzbWUgPSB2cDlfcmVmaW5pbmdf
c2VhcmNoX3NhZCh4LCAmYmVzdF9tdiwgc2FkcGIsIHNlYXJjaF9yYW5nZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNhZF9mbl9wdHIsIHJlZl9tdik7CisgICAgdGhp
c3NtZSA9IHZwOV9yZWZpbmluZ19zZWFyY2hfc2FkKHgsICZiZXN0X212LCBzYWRwYiwgc2VhcmNo
X3JhbmdlLCBmbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
Zl9tdik7CiAgICAgaWYgKHRoaXNzbWUgPCBJTlRfTUFYKQogICAgICAgdGhpc3NtZSA9IHZwOV9n
ZXRfbXZwcmVkX3Zhcih4LCAmYmVzdF9tdiwgcmVmX212LCBmbl9wdHIsIDEpOwogICAgIGlmICh0
aGlzc21lIDwgYmVzdHNtZSkgewpAQCAtMjU3NiwyNyArMjU3NCw2IEBAIHN0YXRpYyBpbnQgZnVs
bF9waXhlbF9kaWFtb25kKGNvbnN0IFZQOV9DT01QICpjb25zdCBjcGksCiAgICAgfQogICB9CiAK
LSAgaWYgKHNhZF9mbl9wdHIuc2RmICE9IGZuX3B0ci0+c2RmKSB7Ci0gICAgLy8gSWYgd2UgYXJl
IHNraXBwaW5nIHJvd3Mgd2hlbiB3ZSBwZXJmb3JtIHRoZSBtb3Rpb24gc2VhcmNoLCB3ZSBuZWVk
IHRvCi0gICAgLy8gY2hlY2sgdGhlIHF1YWxpdHkgb2Ygc2tpcHBpbmcuIElmIGl0J3MgYmFkLCB0
aGVuIHdlIHJ1biBzZWFyY2ggd2l0aAotICAgIC8vIHNraXAgcm93IGZlYXR1cmVzIG9mZi4KLSAg
ICBjb25zdCB1aW50OF90ICpiZXN0X2FkZHJlc3MgPSBnZXRfYnVmX2Zyb21fbXYoJnhkLT5wbGFu
ZVswXS5wcmVbMF0sIGRzdF9tdik7Ci0gICAgY29uc3QgaW50IHNhZCA9Ci0gICAgICAgIGZuX3B0
ci0+c2RmKHNyY19idWYsIHNyY19idWZfc3RyaWRlLCBiZXN0X2FkZHJlc3MsIHByZWRfYnVmX3N0
cmlkZSk7Ci0gICAgY29uc3QgaW50IHNraXBfc2FkID0KLSAgICAgICAgZm5fcHRyLT5zZHNmKHNy
Y19idWYsIHNyY19idWZfc3RyaWRlLCBiZXN0X2FkZHJlc3MsIHByZWRfYnVmX3N0cmlkZSk7Ci0g
ICAgLy8gV2Ugd2lsbCBrZWVwIHRoZSByZXN1bHQgb2Ygc2tpcHBpbmcgcm93cyBpZiBpdCdzIGdv
b2QgZW5vdWdoLgotICAgIGNvbnN0IGludCBrU0FEVGhyZXNoID0KLSAgICAgICAgMSA8PCAoYl93
aWR0aF9sb2cyX2xvb2t1cFtic2l6ZV0gKyBiX2hlaWdodF9sb2cyX2xvb2t1cFtic2l6ZV0pOwot
ICAgIGlmIChzYWQgPiBrU0FEVGhyZXNoICYmIGFicyhza2lwX3NhZCAtIHNhZCkgKiAxMCA+PSBW
UFhNQVgoc2FkLCAxKSAqIDkpIHsKLSAgICAgIC8vIFRoZXJlIGlzIGEgbGFyZ2UgZGlzY3JlcGFu
Y3kgYmV0d2VlbiBza2lwcGluZyBhbmQgbm90IHNraXBwaW5nLCBzbyB3ZQotICAgICAgLy8gbmVl
ZCB0byByZWRvIHRoZSBtb3Rpb24gc2VhcmNoLgotICAgICAgcmV0dXJuIGZ1bGxfcGl4ZWxfZGlh
bW9uZChjcGksIHgsIGJzaXplLCBtdnBfZnVsbCwgc3RlcF9wYXJhbSwgc2FkcGIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZ1cnRoZXJfc3RlcHMsIGRvX3JlZmluZSwgMCwgY29z
dF9saXN0LCBmbl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZl9tdiwg
ZHN0X212KTsKLSAgICB9Ci0gIH0KLQogICAvLyBSZXR1cm4gY29zdCBsaXN0LgogICBpZiAoY29z
dF9saXN0KSB7CiAgICAgY2FsY19pbnRfY29zdF9saXN0KHgsIHJlZl9tdiwgc2FkcGIsIGZuX3B0
ciwgZHN0X212LCBjb3N0X2xpc3QpOwpAQCAtMjc0OCw3ICsyNzI1LDcgQEAgaW50NjRfdCB2cDlf
cmVmaW5pbmdfc2VhcmNoX3NhZF9uZXcoY29uc3QgTUFDUk9CTE9DSyAqeCwgTVYgKmJlc3RfZnVs
bF9tdiwKIAogaW50IHZwOV9yZWZpbmluZ19zZWFyY2hfc2FkKGNvbnN0IE1BQ1JPQkxPQ0sgKngs
IE1WICpyZWZfbXYsIGludCBlcnJvcl9wZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzZWFyY2hfcmFuZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dnA5X3NhZF9mbl9wdHJfdCAqc2FkX2ZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB2cDlfdmFyaWFuY2VfZm5fcHRyX3QgKmZuX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBNViAqY2VudGVyX212KSB7CiAgIGNvbnN0IE1BQ1JPQkxPQ0tEICpj
b25zdCB4ZCA9ICZ4LT5lX21iZDsKICAgY29uc3QgTVYgbmVpZ2hib3JzWzRdID0geyB7IC0xLCAw
IH0sIHsgMCwgLTEgfSwgeyAwLCAxIH0sIHsgMSwgMCB9IH07CkBAIC0yNzU3LDcgKzI3MzQsNyBA
QCBpbnQgdnA5X3JlZmluaW5nX3NlYXJjaF9zYWQoY29uc3QgTUFDUk9CTE9DSyAqeCwgTVYgKnJl
Zl9tdiwgaW50IGVycm9yX3Blcl9iaXQsCiAgIGNvbnN0IE1WIGZjZW50ZXJfbXYgPSB7IGNlbnRl
cl9tdi0+cm93ID4+IDMsIGNlbnRlcl9tdi0+Y29sID4+IDMgfTsKICAgY29uc3QgdWludDhfdCAq
YmVzdF9hZGRyZXNzID0gZ2V0X2J1Zl9mcm9tX212KGluX3doYXQsIHJlZl9tdik7CiAgIHVuc2ln
bmVkIGludCBiZXN0X3NhZCA9Ci0gICAgICBzYWRfZm5fcHRyLT5zZGYod2hhdC0+YnVmLCB3aGF0
LT5zdHJpZGUsIGJlc3RfYWRkcmVzcywgaW5fd2hhdC0+c3RyaWRlKSArCisgICAgICBmbl9wdHIt
PnNkZih3aGF0LT5idWYsIHdoYXQtPnN0cmlkZSwgYmVzdF9hZGRyZXNzLCBpbl93aGF0LT5zdHJp
ZGUpICsKICAgICAgIG12c2FkX2Vycl9jb3N0KHgsIHJlZl9tdiwgJmZjZW50ZXJfbXYsIGVycm9y
X3Blcl9iaXQpOwogICBpbnQgaSwgajsKIApAQCAtMjc3NCw4ICsyNzUxLDcgQEAgaW50IHZwOV9y
ZWZpbmluZ19zZWFyY2hfc2FkKGNvbnN0IE1BQ1JPQkxPQ0sgKngsIE1WICpyZWZfbXYsIGludCBl
cnJvcl9wZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiZXN0X2FkZHJlc3MgLSAxLCBiZXN0X2FkZHJlc3MgKyAxLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBiZXN0X2FkZHJlc3MgKyBpbl93aGF0LT5zdHJpZGUg
fTsKIAotICAgICAgc2FkX2ZuX3B0ci0+c2R4NGRmKHdoYXQtPmJ1Ziwgd2hhdC0+c3RyaWRlLCBw
b3NpdGlvbnMsIGluX3doYXQtPnN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBzYWRz
KTsKKyAgICAgIGZuX3B0ci0+c2R4NGRmKHdoYXQtPmJ1Ziwgd2hhdC0+c3RyaWRlLCBwb3NpdGlv
bnMsIGluX3doYXQtPnN0cmlkZSwgc2Fkcyk7CiAKICAgICAgIGZvciAoaiA9IDA7IGogPCA0OyAr
K2opIHsKICAgICAgICAgaWYgKHNhZHNbal0gPCBiZXN0X3NhZCkgewpAQCAtMjc5NSw4ICsyNzcx
LDggQEAgaW50IHZwOV9yZWZpbmluZ19zZWFyY2hfc2FkKGNvbnN0IE1BQ1JPQkxPQ0sgKngsIE1W
ICpyZWZfbXYsIGludCBlcnJvcl9wZXJfYml0LAogCiAgICAgICAgIGlmIChpc19tdl9pbigmeC0+
bXZfbGltaXRzLCAmbXYpKSB7CiAgICAgICAgICAgdW5zaWduZWQgaW50IHNhZCA9Ci0gICAgICAg
ICAgICAgIHNhZF9mbl9wdHItPnNkZih3aGF0LT5idWYsIHdoYXQtPnN0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdldF9idWZfZnJvbV9tdihpbl93aGF0LCAmbXYpLCBpbl93
aGF0LT5zdHJpZGUpOworICAgICAgICAgICAgICBmbl9wdHItPnNkZih3aGF0LT5idWYsIHdoYXQt
PnN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X2J1Zl9mcm9tX212KGluX3do
YXQsICZtdiksIGluX3doYXQtPnN0cmlkZSk7CiAgICAgICAgICAgaWYgKHNhZCA8IGJlc3Rfc2Fk
KSB7CiAgICAgICAgICAgICBzYWQgKz0gbXZzYWRfZXJyX2Nvc3QoeCwgJm12LCAmZmNlbnRlcl9t
diwgZXJyb3JfcGVyX2JpdCk7CiAgICAgICAgICAgICBpZiAoc2FkIDwgYmVzdF9zYWQpIHsKQEAg
LTI5MTMsMTAgKzI4ODksOSBAQCBpbnQgdnA5X2Z1bGxfcGl4ZWxfc2VhcmNoKGNvbnN0IFZQOV9D
T01QICpjb25zdCBjcGksIGNvbnN0IE1BQ1JPQkxPQ0sgKmNvbnN0IHgsCiAgICAgICBicmVhazsK
ICAgICBjYXNlIE5TVEVQOgogICAgIGNhc2UgTUVTSDoKLSAgICAgIHZhciA9IGZ1bGxfcGl4ZWxf
ZGlhbW9uZCgKLSAgICAgICAgICBjcGksIHgsIGJzaXplLCBtdnBfZnVsbCwgc3RlcF9wYXJhbSwg
ZXJyb3JfcGVyX2JpdCwKLSAgICAgICAgICBNQVhfTVZTRUFSQ0hfU1RFUFMgLSAxIC0gc3RlcF9w
YXJhbSwgMSwKLSAgICAgICAgICBjcGktPnNmLm12LnVzZV9kb3duc2FtcGxlZF9zYWQsIGNvc3Rf
bGlzdCwgZm5fcHRyLCByZWZfbXYsIHRtcF9tdik7CisgICAgICB2YXIgPSBmdWxsX3BpeGVsX2Rp
YW1vbmQoY3BpLCB4LCBtdnBfZnVsbCwgc3RlcF9wYXJhbSwgZXJyb3JfcGVyX2JpdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNQVhfTVZTRUFSQ0hfU1RFUFMgLSAxIC0gc3RlcF9w
YXJhbSwgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3N0X2xpc3QsIGZuX3B0
ciwgcmVmX212LCB0bXBfbXYpOwogICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDogYXNzZXJ0KDAg
JiYgIlVua25vd24gc2VhcmNoIG1ldGhvZCIpOwogICB9CkBAIC0yOTg3LDcgKzI5NjIsNyBAQCBp
bnQgdnA5X2Z1bGxfcGl4ZWxfc2VhcmNoKGNvbnN0IFZQOV9DT01QICpjb25zdCBjcGksIGNvbnN0
IE1BQ1JPQkxPQ0sgKmNvbnN0IHgsCiAgICh2b2lkKXNzZTsgICAgICAgICAgIFwKICAgKHZvaWQp
dGhpc21zZTsgICAgICAgXAogICAodm9pZCljb3N0X2xpc3Q7ICAgICBcCi0gICh2b2lkKXVzZV9h
Y2N1cmF0ZV9zdWJwZWxfc2VhcmNoCisgICh2b2lkKXVzZV9hY2N1cmF0ZV9zdWJwZWxfc2VhcmNo
OwogCiAvLyBSZXR1cm4gdGhlIG1heGltdW0gTVYuCiB1aW50MzJfdCB2cDlfcmV0dXJuX21heF9z
dWJfcGl4ZWxfbXYoCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tY29t
cC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbWNvbXAuaAppbmRleCBmZDZhOGI5YWNh
ZjguLjBjNGQ4ZjIzYzZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlf
bWNvbXAuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tY29tcC5oCkBAIC00MSwx
MSArNDEsNiBAQCB0eXBlZGVmIHN0cnVjdCBzZWFyY2hfc2l0ZV9jb25maWcgewogICBpbnQgdG90
YWxfc3RlcHM7CiB9IHNlYXJjaF9zaXRlX2NvbmZpZzsKIAotdHlwZWRlZiBzdHJ1Y3QgdnA5X3Nh
ZF90YWJsZSB7Ci0gIHZweF9zYWRfZm5fdCBzZGY7Ci0gIHZweF9zYWRfbXVsdGlfZF9mbl90IHNk
eDRkZjsKLX0gdnA5X3NhZF9mbl9wdHJfdDsKLQogc3RhdGljIElOTElORSBjb25zdCB1aW50OF90
ICpnZXRfYnVmX2Zyb21fbXYoY29uc3Qgc3RydWN0IGJ1Zl8yZCAqYnVmLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTVYgKm12KSB7CiAgIHJldHVy
biAmYnVmLT5idWZbbXYtPnJvdyAqIGJ1Zi0+c3RyaWRlICsgbXYtPmNvbF07CkBAIC02OCwxMyAr
NjMsMTIgQEAgaW50IHZwOV9nZXRfbXZwcmVkX2F2X3Zhcihjb25zdCBNQUNST0JMT0NLICp4LCBj
b25zdCBNViAqYmVzdF9tdiwKIAogc3RydWN0IFZQOV9DT01QOwogc3RydWN0IFNQRUVEX0ZFQVRV
UkVTOwotc3RydWN0IHZwOV9zYWRfdGFibGU7CiAKIGludCB2cDlfaW5pdF9zZWFyY2hfcmFuZ2Uo
aW50IHNpemUpOwogCiBpbnQgdnA5X3JlZmluaW5nX3NlYXJjaF9zYWQoY29uc3Qgc3RydWN0IG1h
Y3JvYmxvY2sgKngsIHN0cnVjdCBtdiAqcmVmX212LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBlcnJvcl9wZXJfYml0LCBpbnQgc2VhcmNoX3JhbmdlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfc2FkX3RhYmxlICpzYWRfZm5fcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxl
ICpmbl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG12ICpj
ZW50ZXJfbXYpOwogCiAvLyBQZXJmb3JtIGludGVncmFsIHByb2plY3Rpb24gYmFzZWQgbW90aW9u
IGVzdGltYXRpb24uCkBAIC05OSwxMCArOTMsMjAgQEAgZXh0ZXJuIGZyYWN0aW9uYWxfbXZfc3Rl
cF9mcCB2cDlfc2tpcF9zdWJfcGl4ZWxfdHJlZTsKIGV4dGVybiBmcmFjdGlvbmFsX212X3N0ZXBf
ZnAgdnA5X3JldHVybl9tYXhfc3ViX3BpeGVsX212OwogZXh0ZXJuIGZyYWN0aW9uYWxfbXZfc3Rl
cF9mcCB2cDlfcmV0dXJuX21pbl9zdWJfcGl4ZWxfbXY7CiAKK3R5cGVkZWYgaW50ICgqdnA5X2Z1
bGxfc2VhcmNoX2ZuX3QpKGNvbnN0IE1BQ1JPQkxPQ0sgKngsIGNvbnN0IE1WICpyZWZfbXYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9iaXQsIGludCBk
aXN0YW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZwOV92
YXJpYW5jZV9mbl9wdHJfdCAqZm5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgTVYgKmNlbnRlcl9tdiwgTVYgKmJlc3RfbXYpOworCit0eXBlZGVmIGludCAo
KnZwOV9yZWZpbmluZ19zZWFyY2hfZm5fdCkoY29uc3QgTUFDUk9CTE9DSyAqeCwgTVYgKnJlZl9t
diwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2FkX3Blcl9i
aXQsIGludCBkaXN0YW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB2cDlfdmFyaWFuY2VfZm5fcHRyX3QgKmZuX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBNViAqY2VudGVyX212KTsKKwogdHlwZWRlZiBp
bnQgKCp2cDlfZGlhbW9uZF9zZWFyY2hfZm5fdCkoCi0gICAgY29uc3QgTUFDUk9CTE9DSyAqeCwg
Y29uc3Qgc2VhcmNoX3NpdGVfY29uZmlnICpjZmcsIE1WICpyZWZfbXYsCi0gICAgdWludDMyX3Qg
c3RhcnRfbXZfc2FkLCBNViAqYmVzdF9tdiwgaW50IHNlYXJjaF9wYXJhbSwgaW50IHNhZF9wZXJf
Yml0LAotICAgIGludCAqbnVtMDAsIGNvbnN0IHZwOV9zYWRfZm5fcHRyX3QgKnNhZF9mbl9wdHIs
IGNvbnN0IE1WICpjZW50ZXJfbXYpOworICAgIGNvbnN0IE1BQ1JPQkxPQ0sgKngsIGNvbnN0IHNl
YXJjaF9zaXRlX2NvbmZpZyAqY2ZnLCBNViAqcmVmX212LCBNViAqYmVzdF9tdiwKKyAgICBpbnQg
c2VhcmNoX3BhcmFtLCBpbnQgc2FkX3Blcl9iaXQsIGludCAqbnVtMDAsCisgICAgY29uc3QgdnA5
X3ZhcmlhbmNlX2ZuX3B0cl90ICpmbl9wdHIsIGNvbnN0IE1WICpjZW50ZXJfbXYpOwogCiBpbnQg
dnA5X3JlZmluaW5nX3NlYXJjaF84cF9jKGNvbnN0IE1BQ1JPQkxPQ0sgKngsIE1WICpyZWZfbXYs
IGludCBlcnJvcl9wZXJfYml0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2Vh
cmNoX3JhbmdlLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbXVsdGlf
dGhyZWFkLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9tdWx0aV90aHJlYWQuYwppbmRl
eCAwODQzY2Q5N2U0NzIuLmM2NmMwMzU0OTI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkv
ZW5jb2Rlci92cDlfbXVsdGlfdGhyZWFkLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfbXVsdGlfdGhyZWFkLmMKQEAgLTM2LDcgKzM2LDcgQEAgdm9pZCAqdnA5X2VuY19ncnBfZ2V0
X25leHRfam9iKE11bHRpVGhyZWFkSGFuZGxlICptdWx0aV90aHJlYWRfY3R4dCwKICAgcHRocmVh
ZF9tdXRleF9sb2NrKG11dGV4X2hhbmRsZSk7CiAjZW5kaWYKICAgbmV4dCA9IGpvYl9xdWV1ZV9o
ZGwtPm5leHQ7Ci0gIGlmIChuZXh0ICE9IE5VTEwpIHsKKyAgaWYgKE5VTEwgIT0gbmV4dCkgewog
ICAgIEpvYlF1ZXVlICpqb2JfcXVldWUgPSAoSm9iUXVldWUgKiluZXh0OwogICAgIGpvYl9pbmZv
ID0gJmpvYl9xdWV1ZS0+am9iX2luZm87CiAgICAgLy8gVXBkYXRlIHRoZSBuZXh0IGpvYiBpbiB0
aGUgcXVldWUKQEAgLTU4LDEwICs1OCw5IEBAIHZvaWQgdnA5X3Jvd19tdF9hbGxvY19yZF90aHJl
c2goVlA5X0NPTVAgKmNvbnN0IGNwaSwKICAgICAgIChtaV9jb2xzX2FsaWduZWRfdG9fc2IoY20t
Pm1pX3Jvd3MpID4+IE1JX0JMT0NLX1NJWkVfTE9HMikgKyAxOwogICBpbnQgaTsKIAotICBDSEVD
S19NRU1fRVJST1IoCi0gICAgICAmY20tPmVycm9yLCB0aGlzX3RpbGUtPnJvd19iYXNlX3RocmVz
aF9mcmVxX2ZhY3QsCisgIHRoaXNfdGlsZS0+cm93X2Jhc2VfdGhyZXNoX2ZyZXFfZmFjdCA9CiAg
ICAgICAoaW50ICopdnB4X2NhbGxvYyhzYl9yb3dzICogQkxPQ0tfU0laRVMgKiBNQVhfTU9ERVMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKih0aGlzX3RpbGUtPnJvd19iYXNlX3Ro
cmVzaF9mcmVxX2ZhY3QpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCoodGhp
c190aWxlLT5yb3dfYmFzZV90aHJlc2hfZnJlcV9mYWN0KSkpOwogICBmb3IgKGkgPSAwOyBpIDwg
c2Jfcm93cyAqIEJMT0NLX1NJWkVTICogTUFYX01PREVTOyBpKyspCiAgICAgdGhpc190aWxlLT5y
b3dfYmFzZV90aHJlc2hfZnJlcV9mYWN0W2ldID0gUkRfVEhSRVNIX0lOSVRfRkFDVDsKIH0KQEAg
LTg1LDggKzg0LDggQEAgdm9pZCB2cDlfcm93X210X21lbV9hbGxvYyhWUDlfQ09NUCAqY3BpKSB7
CiAgIG11bHRpX3RocmVhZF9jdHh0LT5hbGxvY2F0ZWRfdGlsZV9yb3dzID0gdGlsZV9yb3dzOwog
ICBtdWx0aV90aHJlYWRfY3R4dC0+YWxsb2NhdGVkX3ZlcnRfdW5pdF9yb3dzID0gam9ic19wZXJf
dGlsZV9jb2w7CiAKLSAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIG11bHRpX3RocmVhZF9j
dHh0LT5qb2JfcXVldWUsCi0gICAgICAgICAgICAgICAgICAoSm9iUXVldWUgKil2cHhfbWVtYWxp
Z24oMzIsIHRvdGFsX2pvYnMgKiBzaXplb2YoSm9iUXVldWUpKSk7CisgIG11bHRpX3RocmVhZF9j
dHh0LT5qb2JfcXVldWUgPQorICAgICAgKEpvYlF1ZXVlICopdnB4X21lbWFsaWduKDMyLCB0b3Rh
bF9qb2JzICogc2l6ZW9mKEpvYlF1ZXVlKSk7CiAKICNpZiBDT05GSUdfTVVMVElUSFJFQUQKICAg
Ly8gQ3JlYXRlIG11dGV4IGZvciBlYWNoIHRpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X25vaXNlX2VzdGltYXRlLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV9ub2lzZV9lc3RpbWF0ZS5jCmluZGV4IDRlZTZlNTFiYThhZi4uOTY5NjUyOWM1MDQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9ub2lzZV9lc3RpbWF0ZS5jCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X25vaXNlX2VzdGltYXRlLmMKQEAgLTIwMiw3ICsy
MDIsNyBAQCB2b2lkIHZwOV91cGRhdGVfbm9pc2VfZXN0aW1hdGUoVlA5X0NPTVAgKmNvbnN0IGNw
aSkgewogICAgICAgICAgICAgICAgICAgICAgVlBYTUlOKGNwaS0+Y29uc2VjX3plcm9fbXZbYmxf
aW5kZXgxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUFhNSU4oY3BpLT5jb25zZWNf
emVyb19tdltibF9pbmRleDJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
cGktPmNvbnNlY196ZXJvX212W2JsX2luZGV4M10pKSk7Ci0gICAgICAgICAgLy8gT25seSBjb25z
aWRlciBibG9ja3MgdGhhdCBhcmUgbGlrZWx5IHN0ZWFkeSBiYWNrZ3JvdW5kLiBpLmUuLCBoYXZl
CisgICAgICAgICAgLy8gT25seSBjb25zaWRlciBibG9ja3MgdGhhdCBhcmUgbGlrZWx5IHN0ZWFk
eSBiYWNrZ3JvdW5kLiBpLmUsIGhhdmUKICAgICAgICAgICAvLyBiZWVuIGVuY29kZWQgYXMgemVy
by9sb3cgbW90aW9uIHggKD0gdGhyZXNoX2NvbnNlY196ZXJvbXYpIGZyYW1lcwogICAgICAgICAg
IC8vIGluIGEgcm93LiBjb25zZWNfemVyb19tdltdIGRlZmluZWQgZm9yIDh4OCBibG9ja3MsIHNv
IGNvbnNpZGVyIGFsbAogICAgICAgICAgIC8vIDQgc3ViLWJsb2NrcyBmb3IgMTZ4MTYgYmxvY2su
IEFuZCBleGNsdWRlIHRoaXMgZnJhbWUgaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X25vbl9ncmVlZHlfbXYuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X25v
bl9ncmVlZHlfbXYuYwppbmRleCBkNTI4MDFjODQ1OTAuLjQ2NzlkNmM0OWM0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfbm9uX2dyZWVkeV9tdi5jCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X25vbl9ncmVlZHlfbXYuYwpAQCAtMTc4LDcgKzE3OCw2IEBA
IFN0YXR1cyB2cDlfYWxsb2NfbW90aW9uX2ZpZWxkX2luZm8oTW90aW9uRmllbGRJbmZvICptb3Rp
b25fZmllbGRfaW5mbywKICAgbW90aW9uX2ZpZWxkX2luZm8tPmZyYW1lX251bSA9IGZyYW1lX251
bTsKICAgbW90aW9uX2ZpZWxkX2luZm8tPm1vdGlvbl9maWVsZF9hcnJheSA9CiAgICAgICB2cHhf
Y2FsbG9jKGZyYW1lX251bSwgc2l6ZW9mKCptb3Rpb25fZmllbGRfaW5mby0+bW90aW9uX2ZpZWxk
X2FycmF5KSk7Ci0gIGlmICghbW90aW9uX2ZpZWxkX2luZm8tPm1vdGlvbl9maWVsZF9hcnJheSkg
cmV0dXJuIFNUQVRVU19GQUlMRUQ7CiAgIGZvciAoZnJhbWVfaWR4ID0gMDsgZnJhbWVfaWR4IDwg
ZnJhbWVfbnVtOyArK2ZyYW1lX2lkeCkgewogICAgIGZvciAocmZfaWR4ID0gMDsgcmZfaWR4IDwg
TUFYX0lOVEVSX1JFRl9GUkFNRVM7ICsrcmZfaWR4KSB7CiAgICAgICBmb3IgKHNxdWFyZV9ibG9j
a19pZHggPSAwOyBzcXVhcmVfYmxvY2tfaWR4IDwgU1FVQVJFX0JMT0NLX1NJWkVTOwpAQCAtNDIz
LDcgKzQyMiw2IEBAIHZvaWQgdnA5X2dldF9zbW9vdGhfbW90aW9uX2ZpZWxkKGNvbnN0IE1WICpz
ZWFyY2hfbWYsCiAgIGludCByb3csIGNvbDsKICAgaW50IGJ3ID0gNCA8PCBiX3dpZHRoX2xvZzJf
bG9va3VwW2JzaXplXTsKICAgaW50IGJoID0gNCA8PCBiX2hlaWdodF9sb2cyX2xvb2t1cFtic2l6
ZV07Ci0gIGlmICghKGlucHV0ICYmIG91dHB1dCkpIGdvdG8gZmFpbDsKICAgLy8gY29weSBzZWFy
Y2ggcmVzdWx0cyB0byBpbnB1dCBidWZmZXIKICAgZm9yIChpZHggPSAwOyBpZHggPCByb3dzICog
Y29sczsgKytpZHgpIHsKICAgICBpbnB1dFtpZHhdLnJvdyA9IChmbG9hdClzZWFyY2hfbWZbaWR4
XS5yb3cgLyBiaDsKQEAgLTQ1Miw3ICs0NTAsNiBAQCB2b2lkIHZwOV9nZXRfc21vb3RoX21vdGlv
bl9maWVsZChjb25zdCBNViAqc2VhcmNoX21mLAogICAgIHNtb290aF9tZltpZHhdLnJvdyA9IChp
bnQpKGlucHV0W2lkeF0ucm93ICogYmgpOwogICAgIHNtb290aF9tZltpZHhdLmNvbCA9IChpbnQp
KGlucHV0W2lkeF0uY29sICogYncpOwogICB9Ci1mYWlsOgogICBmcmVlKGlucHV0KTsKICAgZnJl
ZShvdXRwdXQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcGlj
a21vZGUuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3BpY2ttb2RlLmMKaW5kZXggNmYy
NTI0YjM2ZTJmLi42OTVmZDQ4NGZjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvdnA5X3BpY2ttb2RlLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcGlja21v
ZGUuYwpAQCAtMjY4LDcgKzI2OCw2IEBAIHN0YXRpYyB2b2lkIGJsb2NrX3ZhcmlhbmNlKGNvbnN0
IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsCiAjZW5kaWYKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMl90ICpzc2U4eDgsIGludCAqc3VtOHg4LCB1aW50MzJfdCAqdmFyOHg4
KSB7CiAgIGludCBpLCBqLCBrID0gMDsKLSAgdWludDMyX3Qga19zcXIgPSAwOwogCiAgICpzc2Ug
PSAwOwogICAqc3VtID0gMDsKQEAgLTMwNiw4ICszMDUsNyBAQCBzdGF0aWMgdm9pZCBibG9ja192
YXJpYW5jZShjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLAogI2VuZGlmCiAgICAg
ICAqc3NlICs9IHNzZTh4OFtrXTsKICAgICAgICpzdW0gKz0gc3VtOHg4W2tdOwotICAgICAga19z
cXIgPSAodWludDMyX3QpKCgoaW50NjRfdClzdW04eDhba10gKiBzdW04eDhba10pID4+IDYpOwot
ICAgICAgdmFyOHg4W2tdID0gc3NlOHg4W2tdID4ga19zcXIgPyBzc2U4eDhba10gLSBrX3NxciA6
IGtfc3FyIC0gc3NlOHg4W2tdOworICAgICAgdmFyOHg4W2tdID0gc3NlOHg4W2tdIC0gKHVpbnQz
Ml90KSgoKGludDY0X3Qpc3VtOHg4W2tdICogc3VtOHg4W2tdKSA+PiA2KTsKICAgICAgIGsrKzsK
ICAgICB9CiAgIH0KQEAgLTMyMSw3ICszMTksNiBAQCBzdGF0aWMgdm9pZCBjYWxjdWxhdGVfdmFy
aWFuY2UoaW50IGJ3LCBpbnQgYmgsIFRYX1NJWkUgdHhfc2l6ZSwKICAgY29uc3QgaW50IG53ID0g
MSA8PCAoYncgLSBiX3dpZHRoX2xvZzJfbG9va3VwW3VuaXRfc2l6ZV0pOwogICBjb25zdCBpbnQg
bmggPSAxIDw8IChiaCAtIGJfaGVpZ2h0X2xvZzJfbG9va3VwW3VuaXRfc2l6ZV0pOwogICBpbnQg
aSwgaiwgayA9IDA7Ci0gIHVpbnQzMl90IGtfc3FyID0gMDsKIAogICBmb3IgKGkgPSAwOyBpIDwg
bmg7IGkgKz0gMikgewogICAgIGZvciAoaiA9IDA7IGogPCBudzsgaiArPSAyKSB7CkBAIC0zMjks
MTAgKzMyNiw5IEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZV92YXJpYW5jZShpbnQgYncsIGludCBi
aCwgVFhfU0laRSB0eF9zaXplLAogICAgICAgICAgICAgICAgICBzc2VfaVsoaSArIDEpICogbncg
KyBqXSArIHNzZV9pWyhpICsgMSkgKiBudyArIGogKyAxXTsKICAgICAgIHN1bV9vW2tdID0gc3Vt
X2lbaSAqIG53ICsgal0gKyBzdW1faVtpICogbncgKyBqICsgMV0gKwogICAgICAgICAgICAgICAg
ICBzdW1faVsoaSArIDEpICogbncgKyBqXSArIHN1bV9pWyhpICsgMSkgKiBudyArIGogKyAxXTsK
LSAgICAgIGtfc3FyID0gKHVpbnQzMl90KSgoKGludDY0X3Qpc3VtX29ba10gKiBzdW1fb1trXSkg
Pj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAoYl93aWR0aF9sb2cyX2xvb2t1cFt1bml0X3Np
emVdICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYl9oZWlnaHRfbG9nMl9sb29rdXBbdW5p
dF9zaXplXSArIDYpKTsKLSAgICAgIHZhcl9vW2tdID0gc3NlX29ba10gPiBrX3NxciA/IHNzZV9v
W2tdIC0ga19zcXIgOiBrX3NxciAtIHNzZV9vW2tdOworICAgICAgdmFyX29ba10gPSBzc2Vfb1tr
XSAtICh1aW50MzJfdCkoKChpbnQ2NF90KXN1bV9vW2tdICogc3VtX29ba10pID4+CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYl93aWR0aF9sb2cyX2xvb2t1cFt1bml0
X3NpemVdICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiX2hlaWdo
dF9sb2cyX2xvb2t1cFt1bml0X3NpemVdICsgNikpOwogICAgICAgaysrOwogICAgIH0KICAgfQpA
QCAtNDU2LDcgKzQ1Miw2IEBAIHN0YXRpYyB2b2lkIG1vZGVsX3JkX2Zvcl9zYl95X2xhcmdlKFZQ
OV9DT01QICpjcGksIEJMT0NLX1NJWkUgYnNpemUsCiAgIHVuc2lnbmVkIGludCB2YXI4eDhbNjRd
ID0geyAwIH07CiAgIFRYX1NJWkUgdHhfc2l6ZTsKICAgaW50IGksIGs7Ci0gIHVpbnQzMl90IHN1
bV9zcXI7CiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKICAgY29uc3QgdnB4X2JpdF9kZXB0
aF90IGJkID0gY3BpLT5jb21tb24uYml0X2RlcHRoOwogI2VuZGlmCkBAIC00NjgsOCArNDYzLDcg
QEAgc3RhdGljIHZvaWQgbW9kZWxfcmRfZm9yX3NiX3lfbGFyZ2UoVlA5X0NPTVAgKmNwaSwgQkxP
Q0tfU0laRSBic2l6ZSwKICAgICAgICAgICAgICAgICAgY3BpLT5jb21tb24udXNlX2hpZ2hiaXRk
ZXB0aCwgYmQsCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgc3NlOHg4LCBzdW04eDgsIHZhcjh4
OCk7Ci0gIHN1bV9zcXIgPSAodWludDMyX3QpKChpbnQ2NF90KXN1bSAqIHN1bSkgPj4gKGJ3ICsg
YmggKyA0KTsKLSAgdmFyID0gc3NlID4gc3VtX3NxciA/IHNzZSAtIHN1bV9zcXIgOiBzdW1fc3Fy
IC0gc3NlOworICB2YXIgPSBzc2UgLSAodW5zaWduZWQgaW50KSgoKGludDY0X3Qpc3VtICogc3Vt
KSA+PiAoYncgKyBiaCArIDQpKTsKIAogICAqdmFyX3kgPSB2YXI7CiAgICpzc2VfeSA9IHNzZTsK
QEAgLTU2NiwyNiArNTYwLDIzIEBAIHN0YXRpYyB2b2lkIG1vZGVsX3JkX2Zvcl9zYl95X2xhcmdl
KFZQOV9DT01QICpjcGksIEJMT0NLX1NJWkUgYnNpemUsCiAKICAgICAvLyBUcmFuc2Zvcm0gc2tp
cHBpbmcgdGVzdCBpbiBVViBwbGFuZXMuCiAgICAgZm9yIChpID0gMTsgaSA8PSAyOyBpKyspIHsK
LSAgICAgIHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBwX3V2ID0gJngtPnBsYW5lW2ld
OwotICAgICAgc3RydWN0IG1hY3JvYmxvY2tkX3BsYW5lICpjb25zdCBwZF91diA9ICZ4ZC0+cGxh
bmVbaV07Ci0gICAgICBjb25zdCBUWF9TSVpFIHV2X3R4X3NpemUgPSBnZXRfdXZfdHhfc2l6ZSh4
ZC0+bWlbMF0sIHBkX3V2KTsKKyAgICAgIHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBw
ID0gJngtPnBsYW5lW2ldOworICAgICAgc3RydWN0IG1hY3JvYmxvY2tkX3BsYW5lICpjb25zdCBw
ZCA9ICZ4ZC0+cGxhbmVbaV07CisgICAgICBjb25zdCBUWF9TSVpFIHV2X3R4X3NpemUgPSBnZXRf
dXZfdHhfc2l6ZSh4ZC0+bWlbMF0sIHBkKTsKICAgICAgIGNvbnN0IEJMT0NLX1NJWkUgdW5pdF9z
aXplID0gdHhzaXplX3RvX2JzaXplW3V2X3R4X3NpemVdOwotICAgICAgY29uc3QgQkxPQ0tfU0la
RSB1dl9ic2l6ZSA9IGdldF9wbGFuZV9ibG9ja19zaXplKGJzaXplLCBwZF91dik7CisgICAgICBj
b25zdCBCTE9DS19TSVpFIHV2X2JzaXplID0gZ2V0X3BsYW5lX2Jsb2NrX3NpemUoYnNpemUsIHBk
KTsKICAgICAgIGNvbnN0IGludCB1dl9idyA9IGJfd2lkdGhfbG9nMl9sb29rdXBbdXZfYnNpemVd
OwogICAgICAgY29uc3QgaW50IHV2X2JoID0gYl9oZWlnaHRfbG9nMl9sb29rdXBbdXZfYnNpemVd
OwogICAgICAgY29uc3QgaW50IHNmID0gKHV2X2J3IC0gYl93aWR0aF9sb2cyX2xvb2t1cFt1bml0
X3NpemVdKSArCiAgICAgICAgICAgICAgICAgICAgICAodXZfYmggLSBiX2hlaWdodF9sb2cyX2xv
b2t1cFt1bml0X3NpemVdKTsKLSAgICAgIGNvbnN0IHVpbnQzMl90IHV2X2RjX3RociA9Ci0gICAg
ICAgICAgcGRfdXYtPmRlcXVhbnRbMF0gKiBwZF91di0+ZGVxdWFudFswXSA+PiAoNiAtIHNmKTsK
LSAgICAgIGNvbnN0IHVpbnQzMl90IHV2X2FjX3RociA9Ci0gICAgICAgICAgcGRfdXYtPmRlcXVh
bnRbMV0gKiBwZF91di0+ZGVxdWFudFsxXSA+PiAoNiAtIHNmKTsKKyAgICAgIGNvbnN0IHVpbnQz
Ml90IHV2X2RjX3RociA9IHBkLT5kZXF1YW50WzBdICogcGQtPmRlcXVhbnRbMF0gPj4gKDYgLSBz
Zik7CisgICAgICBjb25zdCB1aW50MzJfdCB1dl9hY190aHIgPSBwZC0+ZGVxdWFudFsxXSAqIHBk
LT5kZXF1YW50WzFdID4+ICg2IC0gc2YpOwogICAgICAgaW50IGogPSBpIC0gMTsKIAogICAgICAg
dnA5X2J1aWxkX2ludGVyX3ByZWRpY3RvcnNfc2JwKHhkLCBtaV9yb3csIG1pX2NvbCwgYnNpemUs
IGkpOwogICAgICAgZmxhZ19wcmVkdXZfY29tcHV0ZWRbaSAtIDFdID0gMTsKLSAgICAgIHZhcl91
dltqXSA9IGNwaS0+Zm5fcHRyW3V2X2JzaXplXS52ZihwX3V2LT5zcmMuYnVmLCBwX3V2LT5zcmMu
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkX3V2
LT5kc3QuYnVmLCBwZF91di0+ZHN0LnN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmc3NlX3V2W2pdKTsKKyAgICAgIHZhcl91dltqXSA9IGNwaS0+Zm5f
cHRyW3V2X2JzaXplXS52ZigKKyAgICAgICAgICBwLT5zcmMuYnVmLCBwLT5zcmMuc3RyaWRlLCBw
ZC0+ZHN0LmJ1ZiwgcGQtPmRzdC5zdHJpZGUsICZzc2VfdXZbal0pOwogCiAgICAgICBpZiAoKHZh
cl91dltqXSA8IHV2X2FjX3RociB8fCB2YXJfdXZbal0gPT0gMCkgJiYKICAgICAgICAgICAoc3Nl
X3V2W2pdIC0gdmFyX3V2W2pdIDwgdXZfZGNfdGhyIHx8IHNzZV91dltqXSA9PSB2YXJfdXZbal0p
KQpAQCAtNzcxLDcgKzc2Miw3IEBAIHN0YXRpYyB2b2lkIGJsb2NrX3lyZChWUDlfQ09NUCAqY3Bp
LCBNQUNST0JMT0NLICp4LCBSRF9DT1NUICp0aGlzX3JkYywKICAgZm9yIChyID0gMDsgciA8IG1h
eF9ibG9ja3NfaGlnaDsgciArPSBibG9ja19zdGVwKSB7CiAgICAgZm9yIChjID0gMDsgYyA8IG51
bV80eDRfdzsgYyArPSBibG9ja19zdGVwKSB7CiAgICAgICBpZiAoYyA8IG1heF9ibG9ja3Nfd2lk
ZSkgewotICAgICAgICBjb25zdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIgPSAmdnA5X2Rl
ZmF1bHRfc2Nhbl9vcmRlcnNbdHhfc2l6ZV07CisgICAgICAgIGNvbnN0IHNjYW5fb3JkZXIgKmNv
bnN0IHNjYW5fb3JkZXIgPSAmdnA5X2RlZmF1bHRfc2Nhbl9vcmRlcnNbdHhfc2l6ZV07CiAgICAg
ICAgIHRyYW5fbG93X3QgKmNvbnN0IGNvZWZmID0gQkxPQ0tfT0ZGU0VUKHAtPmNvZWZmLCBibG9j
ayk7CiAgICAgICAgIHRyYW5fbG93X3QgKmNvbnN0IHFjb2VmZiA9IEJMT0NLX09GRlNFVChwLT5x
Y29lZmYsIGJsb2NrKTsKICAgICAgICAgdHJhbl9sb3dfdCAqY29uc3QgZHFjb2VmZiA9IEJMT0NL
X09GRlNFVChwZC0+ZHFjb2VmZiwgYmxvY2spOwpAQCAtNzgwLDI1ICs3NzEsMjUgQEAgc3RhdGlj
IHZvaWQgYmxvY2tfeXJkKFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsIFJEX0NPU1QgKnRo
aXNfcmRjLAogICAgICAgICBjb25zdCBpbnQxNl90ICpzcmNfZGlmZjsKICAgICAgICAgc3JjX2Rp
ZmYgPSAmcC0+c3JjX2RpZmZbKHIgKiBkaWZmX3N0cmlkZSArIGMpIDw8IDJdOwogCi0gICAgICAg
IC8vIHNraXAgYmxvY2sgY29uZGl0aW9uIHNob3VsZCBiZSBoYW5kbGVkIGJlZm9yZSB0aGlzIGlz
IGNhbGxlZC4KLSAgICAgICAgYXNzZXJ0KCF4LT5za2lwX2Jsb2NrKTsKLQogICAgICAgICBzd2l0
Y2ggKHR4X3NpemUpIHsKICAgICAgICAgICBjYXNlIFRYXzE2WDE2OgogICAgICAgICAgICAgdnB4
X2hhZGFtYXJkXzE2eDE2KHNyY19kaWZmLCBkaWZmX3N0cmlkZSwgY29lZmYpOwotICAgICAgICAg
ICAgdnA5X3F1YW50aXplX2ZwKGNvZWZmLCAyNTYsIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRl
cXVhbnQsIGVvYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAg
ICAgICAgICAgIHZwOV9xdWFudGl6ZV9mcChjb2VmZiwgMjU2LCB4LT5za2lwX2Jsb2NrLCBwLT5y
b3VuZF9mcCwgcC0+cXVhbnRfZnAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcWNvZWZm
LCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9iLCBzY2FuX29yZGVyLT5zY2FuLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNjYW5fb3JkZXItPmlzY2FuKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgIGNhc2UgVFhfOFg4OgogICAgICAgICAgICAgdnB4X2hhZGFtYXJkXzh4OChz
cmNfZGlmZiwgZGlmZl9zdHJpZGUsIGNvZWZmKTsKLSAgICAgICAgICAgIHZwOV9xdWFudGl6ZV9m
cChjb2VmZiwgNjQsIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAgICAgICAgIHZwOV9xdWFu
dGl6ZV9mcChjb2VmZiwgNjQsIHgtPnNraXBfYmxvY2ssIHAtPnJvdW5kX2ZwLCBwLT5xdWFudF9m
cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBxY29lZmYsIGRxY29lZmYsIHBkLT5kZXF1
YW50LCBlb2IsIHNjYW5fb3JkZXItPnNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2Nhbl9vcmRlci0+aXNjYW4pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgZGVmYXVs
dDoKICAgICAgICAgICAgIGFzc2VydCh0eF9zaXplID09IFRYXzRYNCk7CiAgICAgICAgICAgICB4
LT5md2RfdHhmbTR4NChzcmNfZGlmZiwgY29lZmYsIGRpZmZfc3RyaWRlKTsKLSAgICAgICAgICAg
IHZwOV9xdWFudGl6ZV9mcChjb2VmZiwgMTYsIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVh
bnQsIGVvYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX29yZGVyKTsKKyAgICAg
ICAgICAgIHZwOV9xdWFudGl6ZV9mcChjb2VmZiwgMTYsIHgtPnNraXBfYmxvY2ssIHAtPnJvdW5k
X2ZwLCBwLT5xdWFudF9mcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBxY29lZmYsIGRx
Y29lZmYsIHBkLT5kZXF1YW50LCBlb2IsIHNjYW5fb3JkZXItPnNjYW4sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2Nhbl9vcmRlci0+aXNjYW4pOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICAgICAgKnNraXBwYWJsZSAmPSAoKmVvYiA9PSAwKTsKQEAgLTExMTgsNyAr
MTEwOSw3IEBAIHN0YXRpYyBJTkxJTkUgaW50IHJkX2xlc3NfdGhhbl90aHJlc2hfcm93X210KGlu
dDY0X3QgYmVzdF9yZCwgaW50IHRocmVzaCwKIH0KIAogc3RhdGljIElOTElORSB2b2lkIHVwZGF0
ZV90aHJlc2hfZnJlcV9mYWN0X3Jvd19tdCgKLSAgICBWUDlfQ09NUCAqY3BpLCBUaWxlRGF0YUVu
YyAqdGlsZV9kYXRhLCB1bnNpZ25lZCBpbnQgc291cmNlX3ZhcmlhbmNlLAorICAgIFZQOV9DT01Q
ICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsIGludCBzb3VyY2VfdmFyaWFuY2UsCiAgICAg
aW50IHRocmVzaF9mcmVxX2ZhY3RfaWR4LCBNVl9SRUZFUkVOQ0VfRlJBTUUgcmVmX2ZyYW1lLAog
ICAgIFRIUl9NT0RFUyBiZXN0X21vZGVfaWR4LCBQUkVESUNUSU9OX01PREUgbW9kZSkgewogICBU
SFJfTU9ERVMgdGhyX21vZGVfaWR4ID0gbW9kZV9pZHhbcmVmX2ZyYW1lXVttb2RlX29mZnNldCht
b2RlKV07CkBAIC0xMjU2LDcgKzEyNDcsNyBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgZmluZF9wcmVk
aWN0b3JzKAogICAgIFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsIE1WX1JFRkVSRU5DRV9G
UkFNRSByZWZfZnJhbWUsCiAgICAgaW50X212IGZyYW1lX212W01CX01PREVfQ09VTlRdW01BWF9S
RUZfRlJBTUVTXSwKICAgICBpbnQgY29uc3RfbW90aW9uW01BWF9SRUZfRlJBTUVTXSwgaW50ICpy
ZWZfZnJhbWVfc2tpcF9tYXNrLAotICAgIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsIGludCBtaV9y
b3csIGludCBtaV9jb2wsCisgICAgY29uc3QgaW50IGZsYWdfbGlzdFs0XSwgVGlsZURhdGFFbmMg
KnRpbGVfZGF0YSwgaW50IG1pX3JvdywgaW50IG1pX2NvbCwKICAgICBzdHJ1Y3QgYnVmXzJkIHl2
MTJfbWJbNF1bTUFYX01CX1BMQU5FXSwgQkxPQ0tfU0laRSBic2l6ZSwKICAgICBpbnQgZm9yY2Vf
c2tpcF9sb3dfdGVtcF92YXIsIGludCBjb21wX3ByZWRfYWxsb3dlZCkgewogICBWUDlfQ09NTU9O
ICpjb25zdCBjbSA9ICZjcGktPmNvbW1vbjsKQEAgLTEyNjgsNyArMTI1OSw3IEBAIHN0YXRpYyBJ
TkxJTkUgdm9pZCBmaW5kX3ByZWRpY3RvcnMoCiAgIGZyYW1lX212W05FV01WXVtyZWZfZnJhbWVd
LmFzX2ludCA9IElOVkFMSURfTVY7CiAgIGZyYW1lX212W1pFUk9NVl1bcmVmX2ZyYW1lXS5hc19p
bnQgPSAwOwogICAvLyB0aGlzIG5lZWRzIHZhcmlvdXMgZnVydGhlciBvcHRpbWl6YXRpb25zLiB0
byBiZSBjb250aW51ZWQuLgotICBpZiAoKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgcmVmX2ZyYW1l
X3RvX2ZsYWcocmVmX2ZyYW1lKSkgJiYgKHl2MTIgIT0gTlVMTCkpIHsKKyAgaWYgKChjcGktPnJl
Zl9mcmFtZV9mbGFncyAmIGZsYWdfbGlzdFtyZWZfZnJhbWVdKSAmJiAoeXYxMiAhPSBOVUxMKSkg
ewogICAgIGludF9tdiAqY29uc3QgY2FuZGlkYXRlcyA9IHgtPm1ibWlfZXh0LT5yZWZfbXZzW3Jl
Zl9mcmFtZV07CiAgICAgY29uc3Qgc3RydWN0IHNjYWxlX2ZhY3RvcnMgKmNvbnN0IHNmID0gJmNt
LT5mcmFtZV9yZWZzW3JlZl9mcmFtZSAtIDFdLnNmOwogICAgIHZwOV9zZXR1cF9wcmVkX2Jsb2Nr
KHhkLCB5djEyX21iW3JlZl9mcmFtZV0sIHl2MTIsIG1pX3JvdywgbWlfY29sLCBzZiwgc2YpOwpA
QCAtMTM5NSw4ICsxMzg2LDggQEAgc3RhdGljIHZvaWQgcmVjaGVja196ZXJvbXZfYWZ0ZXJfZGVu
b2lzaW5nKAogICAgIFJEX0NPU1QgdGhpc19yZGM7CiAgICAgbWktPm1vZGUgPSBaRVJPTVY7CiAg
ICAgbWktPnJlZl9mcmFtZVswXSA9IExBU1RfRlJBTUU7Ci0gICAgbWktPnJlZl9mcmFtZVsxXSA9
IE5PX1JFRl9GUkFNRTsKLSAgICBzZXRfcmVmX3B0cnMoY20sIHhkLCBtaS0+cmVmX2ZyYW1lWzBd
LCBOT19SRUZfRlJBTUUpOworICAgIG1pLT5yZWZfZnJhbWVbMV0gPSBOT05FOworICAgIHNldF9y
ZWZfcHRycyhjbSwgeGQsIG1pLT5yZWZfZnJhbWVbMF0sIE5PTkUpOwogICAgIG1pLT5tdlswXS5h
c19pbnQgPSAwOwogICAgIG1pLT5pbnRlcnBfZmlsdGVyID0gRUlHSFRUQVA7CiAgICAgaWYgKGNw
aS0+c2YuZGVmYXVsdF9pbnRlcnBfZmlsdGVyID09IEJJTElORUFSKSBtaS0+aW50ZXJwX2ZpbHRl
ciA9IEJJTElORUFSOwpAQCAtMTQxNCw3ICsxNDA1LDcgQEAgc3RhdGljIHZvaWQgcmVjaGVja196
ZXJvbXZfYWZ0ZXJfZGVub2lzaW5nKAogICAgICAgdGhpc19yZGMgPSAqYmVzdF9yZGM7CiAgICAg
ICBtaS0+bW9kZSA9IGN0eF9kZW4tPmJlc3RfbW9kZTsKICAgICAgIG1pLT5yZWZfZnJhbWVbMF0g
PSBjdHhfZGVuLT5iZXN0X3JlZl9mcmFtZTsKLSAgICAgIHNldF9yZWZfcHRycyhjbSwgeGQsIG1p
LT5yZWZfZnJhbWVbMF0sIE5PX1JFRl9GUkFNRSk7CisgICAgICBzZXRfcmVmX3B0cnMoY20sIHhk
LCBtaS0+cmVmX2ZyYW1lWzBdLCBOT05FKTsKICAgICAgIG1pLT5pbnRlcnBfZmlsdGVyID0gY3R4
X2Rlbi0+YmVzdF9wcmVkX2ZpbHRlcjsKICAgICAgIGlmIChjdHhfZGVuLT5iZXN0X3JlZl9mcmFt
ZSA9PSBJTlRSQV9GUkFNRSkgewogICAgICAgICBtaS0+bXZbMF0uYXNfaW50ID0gSU5WQUxJRF9N
VjsKQEAgLTE2MzMsOSArMTYyNCw5IEBAIHN0YXRpYyBpbnQgc2VhcmNoX25ld19tdihWUDlfQ09N
UCAqY3BpLCBNQUNST0JMT0NLICp4LAogICAgICAgICByZXR1cm4gLTE7CiAKICAgICAgIC8vIEV4
aXQgTkVXTVYgc2VhcmNoIGlmIGJhc2VfbXZfc3NlIGlzIGxhcmdlLgotICAgICAgaWYgKHNmLT5i
YXNlX212X2FnZ3Jlc3NpdmUgJiYgKGJhc2VfbXZfc3NlID4+IHNjYWxlKSA+IGJlc3Rfc3NlX3Nv
ZmFyKQorICAgICAgaWYgKHNmLT5iYXNlX212X2FnZ3Jlc3NpdmUgJiYgYmFzZV9tdl9zc2UgPiAo
YmVzdF9zc2Vfc29mYXIgPDwgc2NhbGUpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgICBpZiAo
KGJhc2VfbXZfc3NlID4+IDEpIDwgYmVzdF9zc2Vfc29mYXIpIHsKKyAgICAgIGlmIChiYXNlX212
X3NzZSA8IChiZXN0X3NzZV9zb2ZhciA8PCAxKSkgewogICAgICAgICAvLyBCYXNlIGxheWVyIG12
IGlzIGdvb2QuCiAgICAgICAgIC8vIEV4aXQgTkVXTVYgc2VhcmNoIGlmIHRoZSBiYXNlX212IGlz
ICgwLCAwKSBhbmQgc3NlIGlzIGxvdywgc2luY2UKICAgICAgICAgLy8gKDAsIDApIG1vZGUgaXMg
YWxyZWFkeSB0ZXN0ZWQuCkBAIC0xNjc4LDcgKzE2NjksNyBAQCBzdGF0aWMgSU5MSU5FIHZvaWQg
aW5pdF9iZXN0X3BpY2ttb2RlKEJFU1RfUElDS01PREUgKmJwKSB7CiAgIGJwLT5iZXN0X2ludHJh
X3R4X3NpemUgPSBUWF9TSVpFUzsKICAgYnAtPmJlc3RfcHJlZF9maWx0ZXIgPSBFSUdIVFRBUDsK
ICAgYnAtPmJlc3RfbW9kZV9za2lwX3R4Zm0gPSBTS0lQX1RYRk1fTk9ORTsKLSAgYnAtPmJlc3Rf
c2Vjb25kX3JlZl9mcmFtZSA9IE5PX1JFRl9GUkFNRTsKKyAgYnAtPmJlc3Rfc2Vjb25kX3JlZl9m
cmFtZSA9IE5PTkU7CiAgIGJwLT5iZXN0X3ByZWQgPSBOVUxMOwogfQogCkBAIC0xNjk5LDYgKzE2
OTAsOCBAQCB2b2lkIHZwOV9waWNrX2ludGVyX21vZGUoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9D
SyAqeCwgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSwKICAgaW50X212IGZyYW1lX212W01CX01PREVf
Q09VTlRdW01BWF9SRUZfRlJBTUVTXTsKICAgdWludDhfdCBtb2RlX2NoZWNrZWRbTUJfTU9ERV9D
T1VOVF1bTUFYX1JFRl9GUkFNRVNdOwogICBzdHJ1Y3QgYnVmXzJkIHl2MTJfbWJbNF1bTUFYX01C
X1BMQU5FXTsKKyAgc3RhdGljIGNvbnN0IGludCBmbGFnX2xpc3RbNF0gPSB7IDAsIFZQOV9MQVNU
X0ZMQUcsIFZQOV9HT0xEX0ZMQUcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBWUDlfQUxUX0ZMQUcgfTsKICAgUkRfQ09TVCB0aGlzX3JkYywgYmVzdF9yZGM7CiAgIC8vIHZh
cl95IGFuZCBzc2VfeSBhcmUgc2F2ZWQgdG8gYmUgdXNlZCBpbiBza2lwcGluZyBjaGVja2luZwog
ICB1bnNpZ25lZCBpbnQgdmFyX3kgPSBVSU5UX01BWDsKQEAgLTE4NzIsOCArMTg2NSw4IEBAIHZv
aWQgdnA5X3BpY2tfaW50ZXJfbW9kZShWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBUaWxl
RGF0YUVuYyAqdGlsZV9kYXRhLAogICB2cDlfcmRfY29zdF9yZXNldCgmYmVzdF9yZGMpOwogICB2
cDlfcmRfY29zdF9yZXNldChyZF9jb3N0KTsKICAgbWktPnNiX3R5cGUgPSBic2l6ZTsKLSAgbWkt
PnJlZl9mcmFtZVswXSA9IE5PX1JFRl9GUkFNRTsKLSAgbWktPnJlZl9mcmFtZVsxXSA9IE5PX1JF
Rl9GUkFNRTsKKyAgbWktPnJlZl9mcmFtZVswXSA9IE5PTkU7CisgIG1pLT5yZWZfZnJhbWVbMV0g
PSBOT05FOwogCiAgIG1pLT50eF9zaXplID0KICAgICAgIFZQWE1JTihtYXhfdHhzaXplX2xvb2t1
cFtic2l6ZV0sIHR4X21vZGVfdG9fYmlnZ2VzdF90eF9zaXplW2NtLT50eF9tb2RlXSk7CkBAIC0x
OTMyLDE2ICsxOTI1LDE2IEBAIHZvaWQgdnA5X3BpY2tfaW50ZXJfbW9kZShWUDlfQ09NUCAqY3Bp
LCBNQUNST0JMT0NLICp4LCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAvLyBjb25zdHJhaW4g
dGhlIGludGVyIG1vZGUgdG8gb25seSB0ZXN0IHplcm8gbW90aW9uLgogICBpZiAoY3BpLT51c2Vf
c3ZjICYmIHN2Yy0+Zm9yY2VfemVyb19tb2RlX3NwYXRpYWxfcmVmICYmCiAgICAgICBzdmMtPnNw
YXRpYWxfbGF5ZXJfaWQgPiAwICYmICFnZl90ZW1wb3JhbF9yZWYpIHsKLSAgICBpZiAoY3BpLT5y
ZWZfZnJhbWVfZmxhZ3MgJiBWUDlfTEFTVF9GTEFHKSB7Ci0gICAgICBzdHJ1Y3Qgc2NhbGVfZmFj
dG9ycyAqY29uc3QgcmVmX3NmID0gJmNtLT5mcmFtZV9yZWZzW0xBU1RfRlJBTUUgLSAxXS5zZjsK
LSAgICAgIGlmICh2cDlfaXNfc2NhbGVkKHJlZl9zZikpIHsKKyAgICBpZiAoY3BpLT5yZWZfZnJh
bWVfZmxhZ3MgJiBmbGFnX2xpc3RbTEFTVF9GUkFNRV0pIHsKKyAgICAgIHN0cnVjdCBzY2FsZV9m
YWN0b3JzICpjb25zdCBzZiA9ICZjbS0+ZnJhbWVfcmVmc1tMQVNUX0ZSQU1FIC0gMV0uc2Y7Cisg
ICAgICBpZiAodnA5X2lzX3NjYWxlZChzZikpIHsKICAgICAgICAgc3ZjX2ZvcmNlX3plcm9fbW9k
ZVtMQVNUX0ZSQU1FIC0gMV0gPSAxOwogICAgICAgICBpbnRlcl9sYXllcl9yZWYgPSBMQVNUX0ZS
QU1FOwogICAgICAgfQogICAgIH0KLSAgICBpZiAoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBWUDlf
R09MRF9GTEFHKSB7Ci0gICAgICBzdHJ1Y3Qgc2NhbGVfZmFjdG9ycyAqY29uc3QgcmVmX3NmID0g
JmNtLT5mcmFtZV9yZWZzW0dPTERFTl9GUkFNRSAtIDFdLnNmOwotICAgICAgaWYgKHZwOV9pc19z
Y2FsZWQocmVmX3NmKSkgeworICAgIGlmIChjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlz
dFtHT0xERU5fRlJBTUVdKSB7CisgICAgICBzdHJ1Y3Qgc2NhbGVfZmFjdG9ycyAqY29uc3Qgc2Yg
PSAmY20tPmZyYW1lX3JlZnNbR09MREVOX0ZSQU1FIC0gMV0uc2Y7CisgICAgICBpZiAodnA5X2lz
X3NjYWxlZChzZikpIHsKICAgICAgICAgc3ZjX2ZvcmNlX3plcm9fbW9kZVtHT0xERU5fRlJBTUUg
LSAxXSA9IDE7CiAgICAgICAgIGludGVyX2xheWVyX3JlZiA9IEdPTERFTl9GUkFNRTsKICAgICAg
IH0KQEAgLTE5NjQsNyArMTk1Nyw3IEBAIHZvaWQgdnA5X3BpY2tfaW50ZXJfbW9kZShWUDlfQ09N
UCAqY3BpLCBNQUNST0JMT0NLICp4LCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY3BpLT5yYy5hdmdfZnJhbWVfbG93X21vdGlvbiA8IDYw
KSkKICAgICB1c2FibGVfcmVmX2ZyYW1lID0gTEFTVF9GUkFNRTsKIAotICBpZiAoISgoY3BpLT5y
ZWZfZnJhbWVfZmxhZ3MgJiBWUDlfR09MRF9GTEFHKSAmJgorICBpZiAoISgoY3BpLT5yZWZfZnJh
bWVfZmxhZ3MgJiBmbGFnX2xpc3RbR09MREVOX0ZSQU1FXSkgJiYKICAgICAgICAgIXN2Y19mb3Jj
ZV96ZXJvX21vZGVbR09MREVOX0ZSQU1FIC0gMV0gJiYgIWZvcmNlX3NraXBfbG93X3RlbXBfdmFy
KSkKICAgICB1c2VfZ29sZGVuX25vbnplcm9tdiA9IDA7CiAKQEAgLTE5OTIsMTEgKzE5ODUsMTIg
QEAgdm9pZCB2cDlfcGlja19pbnRlcl9tb2RlKFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngs
IFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAgLy8gU2tpcCBmaW5kX3ByZWRpY3RvciBpZiB0
aGUgcmVmZXJlbmNlIGZyYW1lIGlzIG5vdCBpbiB0aGUKICAgICAvLyByZWZfZnJhbWVfZmxhZ3Mg
KGkuZS4sIG5vdCB1c2VkIGFzIGEgcmVmZXJlbmNlIGZvciB0aGlzIGZyYW1lKS4KICAgICBza2lw
X3JlZl9maW5kX3ByZWRbcmVmX2ZyYW1lXSA9Ci0gICAgICAgICEoY3BpLT5yZWZfZnJhbWVfZmxh
Z3MgJiByZWZfZnJhbWVfdG9fZmxhZyhyZWZfZnJhbWUpKTsKKyAgICAgICAgIShjcGktPnJlZl9m
cmFtZV9mbGFncyAmIGZsYWdfbGlzdFtyZWZfZnJhbWVdKTsKICAgICBpZiAoIXNraXBfcmVmX2Zp
bmRfcHJlZFtyZWZfZnJhbWVdKSB7CiAgICAgICBmaW5kX3ByZWRpY3RvcnMoY3BpLCB4LCByZWZf
ZnJhbWUsIGZyYW1lX212LCBjb25zdF9tb3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAgJnJl
Zl9mcmFtZV9za2lwX21hc2ssIHRpbGVfZGF0YSwgbWlfcm93LCBtaV9jb2wsIHl2MTJfbWIsCi0g
ICAgICAgICAgICAgICAgICAgICAgYnNpemUsIGZvcmNlX3NraXBfbG93X3RlbXBfdmFyLCBjb21w
X21vZGVzID4gMCk7CisgICAgICAgICAgICAgICAgICAgICAgJnJlZl9mcmFtZV9za2lwX21hc2ss
IGZsYWdfbGlzdCwgdGlsZV9kYXRhLCBtaV9yb3csCisgICAgICAgICAgICAgICAgICAgICAgbWlf
Y29sLCB5djEyX21iLCBic2l6ZSwgZm9yY2Vfc2tpcF9sb3dfdGVtcF92YXIsCisgICAgICAgICAg
ICAgICAgICAgICAgY29tcF9tb2RlcyA+IDApOwogICAgIH0KICAgfQogCkBAIC0yMDIwLDcgKzIw
MTQsNyBAQCB2b2lkIHZwOV9waWNrX2ludGVyX21vZGUoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9D
SyAqeCwgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSwKICAgLy8gdGhhbiBjdXJyZW50IGxheWVyOiBm
b3JjZSBjaGVjayBvZiBHRi1aRVJPTVYgYmVmb3JlIGVhcmx5IGV4aXQKICAgLy8gZHVlIHRvIHNr
aXAgZmxhZy4KICAgaWYgKHN2Yy0+c3BhdGlhbF9sYXllcl9pZCA+IDAgJiYgbm9fc2NhbGluZyAm
JgotICAgICAgKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgVlA5X0dPTERfRkxBRykgJiYKKyAgICAg
IChjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlzdFtHT0xERU5fRlJBTUVdKSAmJgogICAg
ICAgY20tPmJhc2VfcWluZGV4ID4gc3ZjLT5sb3dlcl9sYXllcl9xaW5kZXggKyAxMCkKICAgICBm
b3JjZV90ZXN0X2dmX3plcm9tdiA9IDE7CiAKQEAgLTIwNTEsNyArMjA0NSw3IEBAIHZvaWQgdnA5
X3BpY2tfaW50ZXJfbW9kZShWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBUaWxlRGF0YUVu
YyAqdGlsZV9kYXRhLAogICAgIGludCBjb21wX3ByZWQgPSAwOwogICAgIGludCBmb3JjZV9tdl9p
bnRlcl9sYXllciA9IDA7CiAgICAgUFJFRElDVElPTl9NT0RFIHRoaXNfbW9kZTsKLSAgICBzZWNv
bmRfcmVmX2ZyYW1lID0gTk9fUkVGX0ZSQU1FOworICAgIHNlY29uZF9yZWZfZnJhbWUgPSBOT05F
OwogCiAgICAgaWYgKGlkeCA8IG51bV9pbnRlcl9tb2RlcykgewogICAgICAgdGhpc19tb2RlID0g
cmVmX21vZGVfc2V0W2lkeF0ucHJlZF9tb2RlOwpAQCAtMjEwMCw4ICsyMDk0LDcgQEAgdm9pZCB2
cDlfcGlja19pbnRlcl9tb2RlKFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsIFRpbGVEYXRh
RW5jICp0aWxlX2RhdGEsCiAgICAgaWYgKGNvbXBfcHJlZCkgewogICAgICAgaWYgKCFjcGktPmFs
bG93X2NvbXBfaW50ZXJfaW50ZXIpIGNvbnRpbnVlOwogICAgICAgLy8gU2tpcCBjb21wb3VuZCBp
bnRlciBtb2RlcyBpZiBBUkYgaXMgbm90IGF2YWlsYWJsZS4KLSAgICAgIGlmICghKGNwaS0+cmVm
X2ZyYW1lX2ZsYWdzICYgcmVmX2ZyYW1lX3RvX2ZsYWcoc2Vjb25kX3JlZl9mcmFtZSkpKQotICAg
ICAgICBjb250aW51ZTsKKyAgICAgIGlmICghKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgZmxhZ19s
aXN0W3NlY29uZF9yZWZfZnJhbWVdKSkgY29udGludWU7CiAgICAgICAvLyBEbyBub3QgYWxsb3cg
Y29tcG91bmQgcHJlZGljdGlvbiBpZiB0aGUgc2VnbWVudCBsZXZlbCByZWZlcmVuY2UgZnJhbWUK
ICAgICAgIC8vIGZlYXR1cmUgaXMgaW4gdXNlIGFzIGluIHRoaXMgY2FzZSB0aGVyZSBjYW4gb25s
eSBiZSBvbmUgcmVmZXJlbmNlLgogICAgICAgaWYgKHNlZ2ZlYXR1cmVfYWN0aXZlKHNlZywgbWkt
PnNlZ21lbnRfaWQsIFNFR19MVkxfUkVGX0ZSQU1FKSkgY29udGludWU7CkBAIC0yMTE0LDcgKzIx
MDcsNyBAQCB2b2lkIHZwOV9waWNrX2ludGVyX21vZGUoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9D
SyAqeCwgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSwKICAgICAgICAgICghY3BpLT51c2Vfc3ZjICYm
IHNzZV96ZXJvbXZfbm9ybWFsaXplZCA8IHRocmVzaF9za2lwX2dvbGRlbikpKQogICAgICAgY29u
dGludWU7CiAKLSAgICBpZiAoIShjcGktPnJlZl9mcmFtZV9mbGFncyAmIHJlZl9mcmFtZV90b19m
bGFnKHJlZl9mcmFtZSkpKSBjb250aW51ZTsKKyAgICBpZiAoIShjcGktPnJlZl9mcmFtZV9mbGFn
cyAmIGZsYWdfbGlzdFtyZWZfZnJhbWVdKSkgY29udGludWU7CiAKICAgICAvLyBGb3Igc2NyZWVu
IGNvbnRlbnQuIElmIHplcm9fdGVtcF9zYWQgc291cmNlIGlzIGNvbXB1dGVkOiBza2lwCiAgICAg
Ly8gbm9uLXplcm8gbW90aW9uIGNoZWNrIGZvciBzdGF0aW9uYXJ5IGJsb2Nrcy4gSWYgdGhlIHN1
cGVyYmxvY2sgaXMKQEAgLTIxOTcsNyArMjE5MCw3IEBAIHZvaWQgdnA5X3BpY2tfaW50ZXJfbW9k
ZShWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAog
ICAgICAgICBpZiAodXNhYmxlX3JlZl9mcmFtZSA8IEFMVFJFRl9GUkFNRSkgewogICAgICAgICAg
IGlmICghZm9yY2Vfc2tpcF9sb3dfdGVtcF92YXIgJiYgdXNhYmxlX3JlZl9mcmFtZSA+IExBU1Rf
RlJBTUUpIHsKICAgICAgICAgICAgIGkgPSAocmVmX2ZyYW1lID09IExBU1RfRlJBTUUpID8gR09M
REVOX0ZSQU1FIDogTEFTVF9GUkFNRTsKLSAgICAgICAgICAgIGlmICgoY3BpLT5yZWZfZnJhbWVf
ZmxhZ3MgJiByZWZfZnJhbWVfdG9fZmxhZyhpKSkpCisgICAgICAgICAgICBpZiAoKGNwaS0+cmVm
X2ZyYW1lX2ZsYWdzICYgZmxhZ19saXN0W2ldKSkKICAgICAgICAgICAgICAgaWYgKHgtPnByZWRf
bXZfc2FkW3JlZl9mcmFtZV0gPiAoeC0+cHJlZF9tdl9zYWRbaV0gPDwgMSkpCiAgICAgICAgICAg
ICAgICAgcmVmX2ZyYW1lX3NraXBfbWFzayB8PSAoMSA8PCByZWZfZnJhbWUpOwogICAgICAgICAg
IH0KQEAgLTIyMDYsOSArMjE5OSw5IEBAIHZvaWQgdnA5X3BpY2tfaW50ZXJfbW9kZShWUDlfQ09N
UCAqY3BpLCBNQUNST0JMT0NLICp4LCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAgICAgICAg
ICAgICAgICAgICAgcmVmX2ZyYW1lID09IEFMVFJFRl9GUkFNRSkpIHsKICAgICAgICAgICBpbnQg
cmVmMSA9IChyZWZfZnJhbWUgPT0gR09MREVOX0ZSQU1FKSA/IExBU1RfRlJBTUUgOiBHT0xERU5f
RlJBTUU7CiAgICAgICAgICAgaW50IHJlZjIgPSAocmVmX2ZyYW1lID09IEFMVFJFRl9GUkFNRSkg
PyBMQVNUX0ZSQU1FIDogQUxUUkVGX0ZSQU1FOwotICAgICAgICAgIGlmICgoKGNwaS0+cmVmX2Zy
YW1lX2ZsYWdzICYgcmVmX2ZyYW1lX3RvX2ZsYWcocmVmMSkpICYmCisgICAgICAgICAgaWYgKCgo
Y3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBmbGFnX2xpc3RbcmVmMV0pICYmCiAgICAgICAgICAgICAg
ICAoeC0+cHJlZF9tdl9zYWRbcmVmX2ZyYW1lXSA+ICh4LT5wcmVkX212X3NhZFtyZWYxXSA8PCAx
KSkpIHx8Ci0gICAgICAgICAgICAgICgoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiByZWZfZnJhbWVf
dG9fZmxhZyhyZWYyKSkgJiYKKyAgICAgICAgICAgICAgKChjcGktPnJlZl9mcmFtZV9mbGFncyAm
IGZsYWdfbGlzdFtyZWYyXSkgJiYKICAgICAgICAgICAgICAgICh4LT5wcmVkX212X3NhZFtyZWZf
ZnJhbWVdID4gKHgtPnByZWRfbXZfc2FkW3JlZjJdIDw8IDEpKSkpCiAgICAgICAgICAgICByZWZf
ZnJhbWVfc2tpcF9tYXNrIHw9ICgxIDw8IHJlZl9mcmFtZSk7CiAgICAgICAgIH0KQEAgLTI0OTUs
NyArMjQ4OCw3IEBAIHZvaWQgdnA5X3BpY2tfaW50ZXJfbW9kZShWUDlfQ09NUCAqY3BpLCBNQUNS
T0JMT0NLICp4LCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAgIHBlcmZvcm1faW50cmFfcHJl
ZCA9CiAgICAgICAgIHN2Yy0+dGVtcG9yYWxfbGF5ZXJfaWQgPT0gMCB8fAogICAgICAgICBzdmMt
PmxheWVyX2NvbnRleHRbc3ZjLT50ZW1wb3JhbF9sYXllcl9pZF0uaXNfa2V5X2ZyYW1lIHx8Ci0g
ICAgICAgICEoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBWUDlfR09MRF9GTEFHKSB8fAorICAgICAg
ICAhKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgZmxhZ19saXN0W0dPTERFTl9GUkFNRV0pIHx8CiAg
ICAgICAgICghc3ZjLT5sYXllcl9jb250ZXh0W3N2Yy0+dGVtcG9yYWxfbGF5ZXJfaWRdLmlzX2tl
eV9mcmFtZSAmJgogICAgICAgICAgc3ZjX2ZvcmNlX3plcm9fbW9kZVtiZXN0X3BpY2ttb2RlLmJl
c3RfcmVmX2ZyYW1lIC0gMV0pOwogICAgIGludGVyX21vZGVfdGhyZXNoID0gKGludGVyX21vZGVf
dGhyZXNoIDw8IDEpICsgaW50ZXJfbW9kZV90aHJlc2g7CkBAIC0yNjI4LDcgKzI2MjEsNyBAQCB2
b2lkIHZwOV9waWNrX2ludGVyX21vZGUoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgVGls
ZURhdGFFbmMgKnRpbGVfZGF0YSwKICAgICAgICAgYmVzdF9waWNrbW9kZS5iZXN0X21vZGUgPSB0
aGlzX21vZGU7CiAgICAgICAgIGJlc3RfcGlja21vZGUuYmVzdF9pbnRyYV90eF9zaXplID0gbWkt
PnR4X3NpemU7CiAgICAgICAgIGJlc3RfcGlja21vZGUuYmVzdF9yZWZfZnJhbWUgPSBJTlRSQV9G
UkFNRTsKLSAgICAgICAgYmVzdF9waWNrbW9kZS5iZXN0X3NlY29uZF9yZWZfZnJhbWUgPSBOT19S
RUZfRlJBTUU7CisgICAgICAgIGJlc3RfcGlja21vZGUuYmVzdF9zZWNvbmRfcmVmX2ZyYW1lID0g
Tk9ORTsKICAgICAgICAgbWktPnV2X21vZGUgPSB0aGlzX21vZGU7CiAgICAgICAgIG1pLT5tdlsw
XS5hc19pbnQgPSBJTlZBTElEX01WOwogICAgICAgICBtaS0+bXZbMV0uYXNfaW50ID0gSU5WQUxJ
RF9NVjsKQEAgLTI3NTAsMTAgKzI3NDMsMTIgQEAgdm9pZCB2cDlfcGlja19pbnRlcl9tb2RlX3N1
Yjh4OChWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBpbnQgbWlfcm93LAogICBNT0RFX0lO
Rk8gKmNvbnN0IG1pID0geGQtPm1pWzBdOwogICBNQl9NT0RFX0lORk9fRVhUICpjb25zdCBtYm1p
X2V4dCA9IHgtPm1ibWlfZXh0OwogICBjb25zdCBzdHJ1Y3Qgc2VnbWVudGF0aW9uICpjb25zdCBz
ZWcgPSAmY20tPnNlZzsKLSAgTVZfUkVGRVJFTkNFX0ZSQU1FIHJlZl9mcmFtZSwgc2Vjb25kX3Jl
Zl9mcmFtZSA9IE5PX1JFRl9GUkFNRTsKLSAgTVZfUkVGRVJFTkNFX0ZSQU1FIGJlc3RfcmVmX2Zy
YW1lID0gTk9fUkVGX0ZSQU1FOworICBNVl9SRUZFUkVOQ0VfRlJBTUUgcmVmX2ZyYW1lLCBzZWNv
bmRfcmVmX2ZyYW1lID0gTk9ORTsKKyAgTVZfUkVGRVJFTkNFX0ZSQU1FIGJlc3RfcmVmX2ZyYW1l
ID0gTk9ORTsKICAgdW5zaWduZWQgY2hhciBzZWdtZW50X2lkID0gbWktPnNlZ21lbnRfaWQ7CiAg
IHN0cnVjdCBidWZfMmQgeXYxMl9tYls0XVtNQVhfTUJfUExBTkVdOworICBzdGF0aWMgY29uc3Qg
aW50IGZsYWdfbGlzdFs0XSA9IHsgMCwgVlA5X0xBU1RfRkxBRywgVlA5X0dPTERfRkxBRywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZQOV9BTFRfRkxBRyB9OwogICBpbnQ2
NF90IGJlc3RfcmQgPSBJTlQ2NF9NQVg7CiAgIGJfbW9kZV9pbmZvIGJzaVtNQVhfUkVGX0ZSQU1F
U11bNF07CiAgIGludCByZWZfZnJhbWVfc2tpcF9tYXNrID0gMDsKQEAgLTI3NjksMTMgKzI3NjQs
MTEgQEAgdm9pZCB2cDlfcGlja19pbnRlcl9tb2RlX3N1Yjh4OChWUDlfQ09NUCAqY3BpLCBNQUNS
T0JMT0NLICp4LCBpbnQgbWlfcm93LAogICAgIGludF9tdiBkdW1teV9tdlsyXTsKICAgICB4LT5w
cmVkX212X3NhZFtyZWZfZnJhbWVdID0gSU5UX01BWDsKIAotICAgIGlmICgoY3BpLT5yZWZfZnJh
bWVfZmxhZ3MgJiByZWZfZnJhbWVfdG9fZmxhZyhyZWZfZnJhbWUpKSAmJgotICAgICAgICAoeXYx
MiAhPSBOVUxMKSkgeworICAgIGlmICgoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBmbGFnX2xpc3Rb
cmVmX2ZyYW1lXSkgJiYgKHl2MTIgIT0gTlVMTCkpIHsKICAgICAgIGludF9tdiAqY29uc3QgY2Fu
ZGlkYXRlcyA9IG1ibWlfZXh0LT5yZWZfbXZzW3JlZl9mcmFtZV07Ci0gICAgICBjb25zdCBzdHJ1
Y3Qgc2NhbGVfZmFjdG9ycyAqY29uc3QgcmVmX3NmID0KLSAgICAgICAgICAmY20tPmZyYW1lX3Jl
ZnNbcmVmX2ZyYW1lIC0gMV0uc2Y7Ci0gICAgICB2cDlfc2V0dXBfcHJlZF9ibG9jayh4ZCwgeXYx
Ml9tYltyZWZfZnJhbWVdLCB5djEyLCBtaV9yb3csIG1pX2NvbCwgcmVmX3NmLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVmX3NmKTsKKyAgICAgIGNvbnN0IHN0cnVjdCBzY2FsZV9mYWN0
b3JzICpjb25zdCBzZiA9ICZjbS0+ZnJhbWVfcmVmc1tyZWZfZnJhbWUgLSAxXS5zZjsKKyAgICAg
IHZwOV9zZXR1cF9wcmVkX2Jsb2NrKHhkLCB5djEyX21iW3JlZl9mcmFtZV0sIHl2MTIsIG1pX3Jv
dywgbWlfY29sLCBzZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNmKTsKICAgICAgIHZw
OV9maW5kX212X3JlZnMoY20sIHhkLCB4ZC0+bWlbMF0sIHJlZl9mcmFtZSwgY2FuZGlkYXRlcywg
bWlfcm93LCBtaV9jb2wsCiAgICAgICAgICAgICAgICAgICAgICAgIG1ibWlfZXh0LT5tb2RlX2Nv
bnRleHQpOwogCkBAIC0yNzkwLDcgKzI3ODMsNyBAQCB2b2lkIHZwOV9waWNrX2ludGVyX21vZGVf
c3ViOHg4KFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsIGludCBtaV9yb3csCiAgIG1pLT50
eF9zaXplID0gVFhfNFg0OwogICBtaS0+dXZfbW9kZSA9IERDX1BSRUQ7CiAgIG1pLT5yZWZfZnJh
bWVbMF0gPSBMQVNUX0ZSQU1FOwotICBtaS0+cmVmX2ZyYW1lWzFdID0gTk9fUkVGX0ZSQU1FOwor
ICBtaS0+cmVmX2ZyYW1lWzFdID0gTk9ORTsKICAgbWktPmludGVycF9maWx0ZXIgPQogICAgICAg
Y20tPmludGVycF9maWx0ZXIgPT0gU1dJVENIQUJMRSA/IEVJR0hUVEFQIDogY20tPmludGVycF9m
aWx0ZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3F1YW50aXpl
LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9xdWFudGl6ZS5jCmluZGV4IDE5ZWRmMTY2
ZDMyNi4uYzk5NmI3NTE2NzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV9xdWFudGl6ZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3F1YW50aXplLmMK
QEAgLTE1LDcgKzE1LDYgQEAKICNpbmNsdWRlICJ2cHhfcG9ydHMvbWVtLmgiCiAKICNpbmNsdWRl
ICJ2cDkvY29tbW9uL3ZwOV9xdWFudF9jb21tb24uaCIKLSNpbmNsdWRlICJ2cDkvY29tbW9uL3Zw
OV9zY2FuLmgiCiAjaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfc2VnX2NvbW1vbi5oIgogCiAjaW5j
bHVkZSAidnA5L2VuY29kZXIvdnA5X2VuY29kZXIuaCIKQEAgLTIzLDE0ICsyMiwxNSBAQAogI2lu
Y2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9yZC5oIgogCiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9jKGNv
bnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFu
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9s
b3dfdCAqZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qg
KmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlcikgeworICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsIHRyYW5fbG93X3Qg
KnFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29lZmZf
cHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sCisgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QgKmlzY2FuKSB7CiAgIGludCBpLCBlb2IgPSAtMTsKLSAgY29u
c3QgaW50MTZfdCAqcm91bmRfcHRyID0gbWJfcGxhbmUtPnJvdW5kX2ZwOwotICBjb25zdCBpbnQx
Nl90ICpxdWFudF9wdHIgPSBtYl9wbGFuZS0+cXVhbnRfZnA7Ci0gIGNvbnN0IGludDE2X3QgKnNj
YW4gPSBzY2FuX29yZGVyLT5zY2FuOworICAodm9pZClpc2NhbjsKKyAgKHZvaWQpc2tpcF9ibG9j
azsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICBtZW1zZXQocWNvZWZmX3B0ciwgMCwgbl9j
b2VmZnMgKiBzaXplb2YoKnFjb2VmZl9wdHIpKTsKICAgbWVtc2V0KGRxY29lZmZfcHRyLCAwLCBu
X2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZl9wdHIpKTsKQEAgLTU2LDE1ICs1NiwxNyBAQCB2b2lk
IHZwOV9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qg
bl9jb2VmZnMsCiAKICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogdm9pZCB2cDlfaGlnaGJk
X3F1YW50aXplX2ZwX2MoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2Nv
ZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssIGNvbnN0IGludDE2X3QgKnJv
dW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnF1
YW50X3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29uc3Qg
c2Nhbl9vcmRlcikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCAqc2NhbiwgY29uc3QgaW50MTZfdCAqaXNjYW4pIHsKICAgaW50IGk7CiAgIGludCBlb2IgPSAt
MTsKLSAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyID0gbWJfcGxhbmUtPnJvdW5kX2ZwOwotICBj
b25zdCBpbnQxNl90ICpxdWFudF9wdHIgPSBtYl9wbGFuZS0+cXVhbnRfZnA7Ci0gIGNvbnN0IGlu
dDE2X3QgKnNjYW4gPSBzY2FuX29yZGVyLT5zY2FuOworCisgICh2b2lkKWlzY2FuOworICAodm9p
ZClza2lwX2Jsb2NrOworICBhc3NlcnQoIXNraXBfYmxvY2spOwogCiAgIG1lbXNldChxY29lZmZf
cHRyLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqcWNvZWZmX3B0cikpOwogICBtZW1zZXQoZHFjb2Vm
Zl9wdHIsIDAsIG5fY29lZmZzICogc2l6ZW9mKCpkcWNvZWZmX3B0cikpOwpAQCAtODksMTQgKzkx
LDE1IEBAIHZvaWQgdnA5X2hpZ2hiZF9xdWFudGl6ZV9mcF9jKGNvbnN0IHRyYW5fbG93X3QgKmNv
ZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCiAvLyBUT0RPKGppbmduaW5nKSBSZWZhY3RvciB0
aGlzIGZpbGUgYW5kIGNvbWJpbmUgZnVuY3Rpb25zIHdpdGggc2ltaWxhcgogLy8gb3BlcmF0aW9u
cy4KIHZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZf
cHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNv
ZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssIGNv
bnN0IGludDE2X3QgKnJvdW5kX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MTZfdCAqcXVhbnRfcHRyLCB0cmFuX2xvd190ICpxY29lZmZfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICpl
b2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9y
ZGVyICpjb25zdCBzY2FuX29yZGVyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuKSB7CiAgIGludCBpLCBlb2Ig
PSAtMTsKLSAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyID0gbWJfcGxhbmUtPnJvdW5kX2ZwOwot
ICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIgPSBtYl9wbGFuZS0+cXVhbnRfZnA7Ci0gIGNvbnN0
IGludDE2X3QgKnNjYW4gPSBzY2FuX29yZGVyLT5zY2FuOworICAodm9pZClpc2NhbjsKKyAgKHZv
aWQpc2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICBtZW1zZXQocWNvZWZm
X3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKnFjb2VmZl9wdHIpKTsKICAgbWVtc2V0KGRxY29l
ZmZfcHRyLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZl9wdHIpKTsKQEAgLTEyMywxNCAr
MTI2LDE1IEBAIHZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCAq
Y29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKIAogI2lmIENPTkZJR19WUDlfSElHSEJJVERF
UFRICiB2b2lkIHZwOV9oaWdoYmRfcXVhbnRpemVfZnBfMzJ4MzJfYygKLSAgICBjb25zdCB0cmFu
X2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAotICAgIGNvbnN0IHN0cnVjdCBt
YWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwK
KyAgICBjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBpbnQg
c2tpcF9ibG9jaywKKyAgICBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsIGNvbnN0IGludDE2X3Qg
KnF1YW50X3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKICAgICB0cmFuX2xvd190ICpkcWNv
ZWZmX3B0ciwgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAot
ICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIpIHsKKyAgICBjb25z
dCBpbnQxNl90ICpzY2FuLCBjb25zdCBpbnQxNl90ICppc2NhbikgewogICBpbnQgaSwgZW9iID0g
LTE7Ci0gIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciA9IG1iX3BsYW5lLT5yb3VuZF9mcDsKLSAg
Y29uc3QgaW50MTZfdCAqcXVhbnRfcHRyID0gbWJfcGxhbmUtPnF1YW50X2ZwOwotICBjb25zdCBp
bnQxNl90ICpzY2FuID0gc2Nhbl9vcmRlci0+c2NhbjsKKworICAodm9pZClpc2NhbjsKKyAgKHZv
aWQpc2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICBtZW1zZXQocWNvZWZm
X3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKnFjb2VmZl9wdHIpKTsKICAgbWVtc2V0KGRxY29l
ZmZfcHRyLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZl9wdHIpKTsKQEAgLTE1NSw2ICsx
NTksMzUgQEAgdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2MoCiB9CiAjZW5kaWYK
IAordm9pZCB2cDlfcmVndWxhcl9xdWFudGl6ZV9iXzR4NChNQUNST0JMT0NLICp4LCBpbnQgcGxh
bmUsIGludCBibG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCAqc2NhbiwgY29uc3QgaW50MTZfdCAqaXNjYW4pIHsKKyAgTUFDUk9CTE9DS0QgKmNvbnN0
IHhkID0gJngtPmVfbWJkOworICBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqcCA9ICZ4LT5wbGFu
ZVtwbGFuZV07CisgIHN0cnVjdCBtYWNyb2Jsb2NrZF9wbGFuZSAqcGQgPSAmeGQtPnBsYW5lW3Bs
YW5lXTsKKyAgdHJhbl9sb3dfdCAqcWNvZWZmID0gQkxPQ0tfT0ZGU0VUKHAtPnFjb2VmZiwgYmxv
Y2spLAorICAgICAgICAgICAgICpkcWNvZWZmID0gQkxPQ0tfT0ZGU0VUKHBkLT5kcWNvZWZmLCBi
bG9jayk7CisgIGNvbnN0IGludCBuX2NvZWZmcyA9IDQgKiA0OworCisgIGlmICh4LT5za2lwX2Js
b2NrKSB7CisgICAgbWVtc2V0KHFjb2VmZiwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKnFjb2VmZikp
OworICAgIG1lbXNldChkcWNvZWZmLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZikpOwor
ICAgIHJldHVybjsKKyAgfQorCisjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKKyAgaWYgKHhk
LT5jdXJfYnVmLT5mbGFncyAmIFlWMTJfRkxBR19ISUdIQklUREVQVEgpIHsKKyAgICB2cHhfaGln
aGJkX3F1YW50aXplX2IoQkxPQ0tfT0ZGU0VUKHAtPmNvZWZmLCBibG9jayksIG5fY29lZmZzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICB4LT5za2lwX2Jsb2NrLCBwLT56YmluLCBwLT5yb3Vu
ZCwgcC0+cXVhbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnF1YW50X3NoaWZ0LCBx
Y29lZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAm
cC0+ZW9ic1tibG9ja10sIHNjYW4sIGlzY2FuKTsKKyAgICByZXR1cm47CisgIH0KKyNlbmRpZgor
ICB2cHhfcXVhbnRpemVfYihCTE9DS19PRkZTRVQocC0+Y29lZmYsIGJsb2NrKSwgbl9jb2VmZnMs
IHgtPnNraXBfYmxvY2ssCisgICAgICAgICAgICAgICAgIHAtPnpiaW4sIHAtPnJvdW5kLCBwLT5x
dWFudCwgcC0+cXVhbnRfc2hpZnQsIHFjb2VmZiwgZHFjb2VmZiwKKyAgICAgICAgICAgICAgICAg
cGQtPmRlcXVhbnQsICZwLT5lb2JzW2Jsb2NrXSwgc2NhbiwgaXNjYW4pOworfQorCiBzdGF0aWMg
dm9pZCBpbnZlcnRfcXVhbnQoaW50MTZfdCAqcXVhbnQsIGludDE2X3QgKnNoaWZ0LCBpbnQgZCkg
ewogICB1bnNpZ25lZCB0OwogICBpbnQgbCwgbTsKQEAgLTI1NSw3ICsyODgsOCBAQCB2b2lkIHZw
OV9pbml0X3BsYW5lX3F1YW50aXplcnMoVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCkgewog
ICAvLyBZCiAgIHgtPnBsYW5lWzBdLnF1YW50ID0gcXVhbnRzLT55X3F1YW50W3FpbmRleF07CiAg
IHgtPnBsYW5lWzBdLnF1YW50X2ZwID0gcXVhbnRzLT55X3F1YW50X2ZwW3FpbmRleF07Ci0gIHgt
PnBsYW5lWzBdLnJvdW5kX2ZwID0gcXVhbnRzLT55X3JvdW5kX2ZwW3FpbmRleF07CisgIG1lbWNw
eSh4LT5wbGFuZVswXS5yb3VuZF9mcCwgcXVhbnRzLT55X3JvdW5kX2ZwW3FpbmRleF0sCisgICAg
ICAgICA4ICogc2l6ZW9mKCooeC0+cGxhbmVbMF0ucm91bmRfZnApKSk7CiAgIHgtPnBsYW5lWzBd
LnF1YW50X3NoaWZ0ID0gcXVhbnRzLT55X3F1YW50X3NoaWZ0W3FpbmRleF07CiAgIHgtPnBsYW5l
WzBdLnpiaW4gPSBxdWFudHMtPnlfemJpbltxaW5kZXhdOwogICB4LT5wbGFuZVswXS5yb3VuZCA9
IHF1YW50cy0+eV9yb3VuZFtxaW5kZXhdOwpAQCAtMjY3LDcgKzMwMSw4IEBAIHZvaWQgdnA5X2lu
aXRfcGxhbmVfcXVhbnRpemVycyhWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4KSB7CiAgIGZv
ciAoaSA9IDE7IGkgPCAzOyBpKyspIHsKICAgICB4LT5wbGFuZVtpXS5xdWFudCA9IHF1YW50cy0+
dXZfcXVhbnRbcWluZGV4XTsKICAgICB4LT5wbGFuZVtpXS5xdWFudF9mcCA9IHF1YW50cy0+dXZf
cXVhbnRfZnBbcWluZGV4XTsKLSAgICB4LT5wbGFuZVtpXS5yb3VuZF9mcCA9IHF1YW50cy0+dXZf
cm91bmRfZnBbcWluZGV4XTsKKyAgICBtZW1jcHkoeC0+cGxhbmVbaV0ucm91bmRfZnAsIHF1YW50
cy0+dXZfcm91bmRfZnBbcWluZGV4XSwKKyAgICAgICAgICAgOCAqIHNpemVvZigqKHgtPnBsYW5l
W2ldLnJvdW5kX2ZwKSkpOwogICAgIHgtPnBsYW5lW2ldLnF1YW50X3NoaWZ0ID0gcXVhbnRzLT51
dl9xdWFudF9zaGlmdFtxaW5kZXhdOwogICAgIHgtPnBsYW5lW2ldLnpiaW4gPSBxdWFudHMtPnV2
X3piaW5bcWluZGV4XTsKICAgICB4LT5wbGFuZVtpXS5yb3VuZCA9IHF1YW50cy0+dXZfcm91bmRb
cWluZGV4XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3F1YW50aXpl
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9xdWFudGl6ZS5oCmluZGV4IGY2MjZmMDY1
NjZlZi4uMmU2ZDdkYTJiNjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV9xdWFudGl6ZS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3F1YW50aXplLmgK
QEAgLTM3LDYgKzM3LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICBERUNMQVJFX0FMSUdORUQoMTYs
IGludDE2X3QsIHV2X3JvdW5kW1FJTkRFWF9SQU5HRV1bOF0pOwogfSBRVUFOVFM7CiAKK3ZvaWQg
dnA5X3JlZ3VsYXJfcXVhbnRpemVfYl80eDQoTUFDUk9CTE9DSyAqeCwgaW50IHBsYW5lLCBpbnQg
YmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnNj
YW4sIGNvbnN0IGludDE2X3QgKmlzY2FuKTsKKwogc3RydWN0IFZQOV9DT01QOwogc3RydWN0IFZQ
OUNvbW1vbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmF0ZWN0
cmwuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3JhdGVjdHJsLmMKaW5kZXggN2Y0NzYx
ZGZhYjIxLi40Yjg3ZmYyZjBjNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
dnA5X3JhdGVjdHJsLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmF0ZWN0cmwu
YwpAQCAtMzksNiArMzksOSBAQAogI2RlZmluZSBNQVhfTUJfUkFURSAyNTAKICNkZWZpbmUgTUFY
UkFURV8xMDgwUCA0MDAwMDAwCiAKKyNkZWZpbmUgREVGQVVMVF9LRl9CT09TVCAyMDAwCisjZGVm
aW5lIERFRkFVTFRfR0ZfQk9PU1QgMjAwMAorCiAjZGVmaW5lIExJTUlUX1FSQU5HRV9GT1JfQUxU
UkVGX0FORF9LRVkgMQogCiAjZGVmaW5lIE1JTl9CUEJfRkFDVE9SIDAuMDA1CkBAIC0yMjMsMTAg
KzIyNiw5IEBAIGludCB2cDlfcmNfY2xhbXBfcGZyYW1lX3RhcmdldF9zaXplKGNvbnN0IFZQOV9D
T01QICpjb25zdCBjcGksIGludCB0YXJnZXQpIHsKICAgaWYgKHRhcmdldCA+IHJjLT5tYXhfZnJh
bWVfYmFuZHdpZHRoKSB0YXJnZXQgPSByYy0+bWF4X2ZyYW1lX2JhbmR3aWR0aDsKIAogICBpZiAo
b3hjZi0+cmNfbWF4X2ludGVyX2JpdHJhdGVfcGN0KSB7Ci0gICAgY29uc3QgaW50NjRfdCBtYXhf
cmF0ZSA9Ci0gICAgICAgIChpbnQ2NF90KXJjLT5hdmdfZnJhbWVfYmFuZHdpZHRoICogb3hjZi0+
cmNfbWF4X2ludGVyX2JpdHJhdGVfcGN0IC8gMTAwOwotICAgIC8vIHRhcmdldCBpcyBvZiB0eXBl
IGludCBhbmQgVlBYTUlOIGNhbm5vdCBldmFsdWF0ZSB0byBsYXJnZXIgdGhhbiB0YXJnZXQKLSAg
ICB0YXJnZXQgPSAoaW50KVZQWE1JTih0YXJnZXQsIG1heF9yYXRlKTsKKyAgICBjb25zdCBpbnQg
bWF4X3JhdGUgPQorICAgICAgICByYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCAqIG94Y2YtPnJjX21h
eF9pbnRlcl9iaXRyYXRlX3BjdCAvIDEwMDsKKyAgICB0YXJnZXQgPSBWUFhNSU4odGFyZ2V0LCBt
YXhfcmF0ZSk7CiAgIH0KICAgcmV0dXJuIHRhcmdldDsKIH0KQEAgLTIzNSw5ICsyMzcsOSBAQCBp
bnQgdnA5X3JjX2NsYW1wX2lmcmFtZV90YXJnZXRfc2l6ZShjb25zdCBWUDlfQ09NUCAqY29uc3Qg
Y3BpLCBpbnQgdGFyZ2V0KSB7CiAgIGNvbnN0IFJBVEVfQ09OVFJPTCAqcmMgPSAmY3BpLT5yYzsK
ICAgY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiA9ICZjcGktPm94Y2Y7CiAgIGlmIChveGNm
LT5yY19tYXhfaW50cmFfYml0cmF0ZV9wY3QpIHsKLSAgICBjb25zdCBpbnQ2NF90IG1heF9yYXRl
ID0KLSAgICAgICAgKGludDY0X3QpcmMtPmF2Z19mcmFtZV9iYW5kd2lkdGggKiBveGNmLT5yY19t
YXhfaW50cmFfYml0cmF0ZV9wY3QgLyAxMDA7Ci0gICAgdGFyZ2V0ID0gKGludClWUFhNSU4odGFy
Z2V0LCBtYXhfcmF0ZSk7CisgICAgY29uc3QgaW50IG1heF9yYXRlID0KKyAgICAgICAgcmMtPmF2
Z19mcmFtZV9iYW5kd2lkdGggKiBveGNmLT5yY19tYXhfaW50cmFfYml0cmF0ZV9wY3QgLyAxMDA7
CisgICAgdGFyZ2V0ID0gVlBYTUlOKHRhcmdldCwgbWF4X3JhdGUpOwogICB9CiAgIGlmICh0YXJn
ZXQgPiByYy0+bWF4X2ZyYW1lX2JhbmR3aWR0aCkgdGFyZ2V0ID0gcmMtPm1heF9mcmFtZV9iYW5k
d2lkdGg7CiAgIHJldHVybiB0YXJnZXQ7CkBAIC0yNzgsOSArMjgwLDkgQEAgc3RhdGljIHZvaWQg
dXBkYXRlX2J1ZmZlcl9sZXZlbF9zdmNfcHJlZW5jb2RlKFZQOV9DT01QICpjcGkpIHsKICAgICAg
ICAgc3ZjLT5jdXJyZW50X3N1cGVyZnJhbWUgPiAwKSB7CiAgICAgICAvLyBUT0RPKG1hcnBhbik6
IFRoaXMgbWF5IG5lZWQgdG8gYmUgbW9kaWZpZWQgZm9yIHRlbXBvcmFsIGxheWVycy4KICAgICAg
IGNvbnN0IGRvdWJsZSBmcmFtZXJhdGVfcHRzID0gMTAwMDAwMDAuMCAvIHRzX2RlbHRhOwotICAg
ICAgbHJjLT5iaXRzX29mZl90YXJnZXQgKz0gKGludClyb3VuZChsYy0+dGFyZ2V0X2JhbmR3aWR0
aCAvIGZyYW1lcmF0ZV9wdHMpOworICAgICAgbHJjLT5iaXRzX29mZl90YXJnZXQgKz0gKGludCko
bGMtPnRhcmdldF9iYW5kd2lkdGggLyBmcmFtZXJhdGVfcHRzKTsKICAgICB9IGVsc2UgewotICAg
ICAgbHJjLT5iaXRzX29mZl90YXJnZXQgKz0gKGludClyb3VuZChsYy0+dGFyZ2V0X2JhbmR3aWR0
aCAvIGxjLT5mcmFtZXJhdGUpOworICAgICAgbHJjLT5iaXRzX29mZl90YXJnZXQgKz0gKGludCko
bGMtPnRhcmdldF9iYW5kd2lkdGggLyBsYy0+ZnJhbWVyYXRlKTsKICAgICB9CiAgICAgLy8gQ2xp
cCBidWZmZXIgbGV2ZWwgdG8gbWF4aW11bSBidWZmZXIgc2l6ZSBmb3IgdGhlIGxheWVyLgogICAg
IGxyYy0+Yml0c19vZmZfdGFyZ2V0ID0KQEAgLTMyNyw3ICszMjksNyBAQCBzdGF0aWMgdm9pZCB1
cGRhdGVfYnVmZmVyX2xldmVsX3Bvc3RlbmNvZGUoVlA5X0NPTVAgKmNwaSwKIAogICByYy0+YnVm
ZmVyX2xldmVsID0gcmMtPmJpdHNfb2ZmX3RhcmdldDsKIAotICBpZiAoaXNfb25lX3Bhc3Nfc3Zj
KGNwaSkpIHsKKyAgaWYgKGlzX29uZV9wYXNzX2Nicl9zdmMoY3BpKSkgewogICAgIHVwZGF0ZV9s
YXllcl9idWZmZXJfbGV2ZWxfcG9zdGVuY29kZSgmY3BpLT5zdmMsIGVuY29kZWRfZnJhbWVfc2l6
ZSk7CiAgIH0KIH0KQEAgLTQwOCw3ICs0MTAsNiBAQCB2b2lkIHZwOV9yY19pbml0KGNvbnN0IFZQ
OUVuY29kZXJDb25maWcgKm94Y2YsIGludCBwYXNzLCBSQVRFX0NPTlRST0wgKnJjKSB7CiAgIHJj
LT5zb3VyY2VfYWx0X3JlZl9hY3RpdmUgPSAwOwogCiAgIHJjLT5mcmFtZXNfdGlsbF9nZl91cGRh
dGVfZHVlID0gMDsKLSAgcmMtPmNvbnN0cmFpbl9nZl9rZXlfZnJlcV9vbmVwYXNzX3ZiciA9IDE7
CiAgIHJjLT5uaV9hdl9xaSA9IG94Y2YtPndvcnN0X2FsbG93ZWRfcTsKICAgcmMtPm5pX3RvdF9x
aSA9IDA7CiAgIHJjLT5uaV9mcmFtZXMgPSAwOwpAQCAtOTEwLDcgKzkxMSw3IEBAIHN0YXRpYyBp
bnQgY2FsY19hY3RpdmVfd29yc3RfcXVhbGl0eV9vbmVfcGFzc192YnIoY29uc3QgVlA5X0NPTVAg
KmNwaSkgewogICAgIGFjdGl2ZV93b3JzdF9xdWFsaXR5ID0KICAgICAgICAgY3Vycl9mcmFtZSA9
PSAwID8gcmMtPndvcnN0X3F1YWxpdHkgOiByYy0+bGFzdF9xW0tFWV9GUkFNRV0gPDwgMTsKICAg
fSBlbHNlIHsKLSAgICBpZiAoIXJjLT5pc19zcmNfZnJhbWVfYWx0X3JlZiAmJiAhY3BpLT51c2Vf
c3ZjICYmCisgICAgaWYgKCFyYy0+aXNfc3JjX2ZyYW1lX2FsdF9yZWYgJiYKICAgICAgICAgKGNw
aS0+cmVmcmVzaF9nb2xkZW5fZnJhbWUgfHwgY3BpLT5yZWZyZXNoX2FsdF9yZWZfZnJhbWUpKSB7
CiAgICAgICBhY3RpdmVfd29yc3RfcXVhbGl0eSA9CiAgICAgICAgICAgY3Vycl9mcmFtZSA9PSAx
CkBAIC0xMTUwLDkgKzExNTEsOCBAQCBzdGF0aWMgaW50IHJjX3BpY2tfcV9hbmRfYm91bmRzX29u
ZV9wYXNzX3Zicihjb25zdCBWUDlfQ09NUCAqY3BpLAogICBpZiAoZnJhbWVfaXNfaW50cmFfb25s
eShjbSkpIHsKICAgICBpZiAob3hjZi0+cmNfbW9kZSA9PSBWUFhfUSkgewogICAgICAgaW50IHFp
bmRleCA9IGNxX2xldmVsOwotICAgICAgZG91YmxlIHFzdGFydCA9IHZwOV9jb252ZXJ0X3FpbmRl
eF90b19xKHFpbmRleCwgY20tPmJpdF9kZXB0aCk7Ci0gICAgICBpbnQgZGVsdGFfcWluZGV4ID0K
LSAgICAgICAgICB2cDlfY29tcHV0ZV9xZGVsdGEocmMsIHFzdGFydCwgcXN0YXJ0ICogMC4yNSwg
Y20tPmJpdF9kZXB0aCk7CisgICAgICBkb3VibGUgcSA9IHZwOV9jb252ZXJ0X3FpbmRleF90b19x
KHFpbmRleCwgY20tPmJpdF9kZXB0aCk7CisgICAgICBpbnQgZGVsdGFfcWluZGV4ID0gdnA5X2Nv
bXB1dGVfcWRlbHRhKHJjLCBxLCBxICogMC4yNSwgY20tPmJpdF9kZXB0aCk7CiAgICAgICBhY3Rp
dmVfYmVzdF9xdWFsaXR5ID0gVlBYTUFYKHFpbmRleCArIGRlbHRhX3FpbmRleCwgcmMtPmJlc3Rf
cXVhbGl0eSk7CiAgICAgfSBlbHNlIGlmIChyYy0+dGhpc19rZXlfZnJhbWVfZm9yY2VkKSB7CiAg
ICAgICAvLyBIYW5kbGUgdGhlIHNwZWNpYWwgY2FzZSBmb3Iga2V5IGZyYW1lcyBmb3JjZWQgd2hl
biB3ZSBoYXZlIHJlYWNoZWQKQEAgLTExOTYsNyArMTE5Niw3IEBAIHN0YXRpYyBpbnQgcmNfcGlj
a19xX2FuZF9ib3VuZHNfb25lX3Bhc3NfdmJyKGNvbnN0IFZQOV9DT01QICpjcGksCiAgICAgfSBl
bHNlIHsKICAgICAgIHEgPSByYy0+YXZnX2ZyYW1lX3FpbmRleFtLRVlfRlJBTUVdOwogICAgIH0K
LSAgICAvLyBGb3IgY29uc3RyYWluZWQgcXVhbGl0eSBkb24ndCBhbGxvdyBRIGxlc3MgdGhhbiB0
aGUgY3EgbGV2ZWwKKyAgICAvLyBGb3IgY29uc3RyYWluZWQgcXVhbGl0eSBkb250IGFsbG93IFEg
bGVzcyB0aGFuIHRoZSBjcSBsZXZlbAogICAgIGlmIChveGNmLT5yY19tb2RlID09IFZQWF9DUSkg
ewogICAgICAgaWYgKHEgPCBjcV9sZXZlbCkgcSA9IGNxX2xldmVsOwogCkBAIC0xMjA3LDE0ICsx
MjA3LDEyIEBAIHN0YXRpYyBpbnQgcmNfcGlja19xX2FuZF9ib3VuZHNfb25lX3Bhc3NfdmJyKGNv
bnN0IFZQOV9DT01QICpjcGksCiAKICAgICB9IGVsc2UgaWYgKG94Y2YtPnJjX21vZGUgPT0gVlBY
X1EpIHsKICAgICAgIGludCBxaW5kZXggPSBjcV9sZXZlbDsKLSAgICAgIGRvdWJsZSBxc3RhcnQg
PSB2cDlfY29udmVydF9xaW5kZXhfdG9fcShxaW5kZXgsIGNtLT5iaXRfZGVwdGgpOworICAgICAg
ZG91YmxlIHEgPSB2cDlfY29udmVydF9xaW5kZXhfdG9fcShxaW5kZXgsIGNtLT5iaXRfZGVwdGgp
OwogICAgICAgaW50IGRlbHRhX3FpbmRleDsKICAgICAgIGlmIChjcGktPnJlZnJlc2hfYWx0X3Jl
Zl9mcmFtZSkKLSAgICAgICAgZGVsdGFfcWluZGV4ID0KLSAgICAgICAgICAgIHZwOV9jb21wdXRl
X3FkZWx0YShyYywgcXN0YXJ0LCBxc3RhcnQgKiAwLjQwLCBjbS0+Yml0X2RlcHRoKTsKKyAgICAg
ICAgZGVsdGFfcWluZGV4ID0gdnA5X2NvbXB1dGVfcWRlbHRhKHJjLCBxLCBxICogMC40MCwgY20t
PmJpdF9kZXB0aCk7CiAgICAgICBlbHNlCi0gICAgICAgIGRlbHRhX3FpbmRleCA9Ci0gICAgICAg
ICAgICB2cDlfY29tcHV0ZV9xZGVsdGEocmMsIHFzdGFydCwgcXN0YXJ0ICogMC41MCwgY20tPmJp
dF9kZXB0aCk7CisgICAgICAgIGRlbHRhX3FpbmRleCA9IHZwOV9jb21wdXRlX3FkZWx0YShyYywg
cSwgcSAqIDAuNTAsIGNtLT5iaXRfZGVwdGgpOwogICAgICAgYWN0aXZlX2Jlc3RfcXVhbGl0eSA9
IFZQWE1BWChxaW5kZXggKyBkZWx0YV9xaW5kZXgsIHJjLT5iZXN0X3F1YWxpdHkpOwogICAgIH0g
ZWxzZSB7CiAgICAgICBhY3RpdmVfYmVzdF9xdWFsaXR5ID0gZ2V0X2dmX2FjdGl2ZV9xdWFsaXR5
KGNwaSwgcSwgY20tPmJpdF9kZXB0aCk7CkBAIC0xMjIyLDEyICsxMjIwLDExIEBAIHN0YXRpYyBp
bnQgcmNfcGlja19xX2FuZF9ib3VuZHNfb25lX3Bhc3NfdmJyKGNvbnN0IFZQOV9DT01QICpjcGks
CiAgIH0gZWxzZSB7CiAgICAgaWYgKG94Y2YtPnJjX21vZGUgPT0gVlBYX1EpIHsKICAgICAgIGlu
dCBxaW5kZXggPSBjcV9sZXZlbDsKLSAgICAgIGRvdWJsZSBxc3RhcnQgPSB2cDlfY29udmVydF9x
aW5kZXhfdG9fcShxaW5kZXgsIGNtLT5iaXRfZGVwdGgpOworICAgICAgZG91YmxlIHEgPSB2cDlf
Y29udmVydF9xaW5kZXhfdG9fcShxaW5kZXgsIGNtLT5iaXRfZGVwdGgpOwogICAgICAgZG91Ymxl
IGRlbHRhX3JhdGVbRklYRURfR0ZfSU5URVJWQUxdID0geyAwLjUwLCAxLjAsIDAuODUsIDEuMCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC43MCwgMS4w
LCAwLjg1LCAxLjAgfTsKICAgICAgIGludCBkZWx0YV9xaW5kZXggPSB2cDlfY29tcHV0ZV9xZGVs
dGEoCi0gICAgICAgICAgcmMsIHFzdGFydCwKLSAgICAgICAgICBxc3RhcnQgKiBkZWx0YV9yYXRl
W2NtLT5jdXJyZW50X3ZpZGVvX2ZyYW1lICUgRklYRURfR0ZfSU5URVJWQUxdLAorICAgICAgICAg
IHJjLCBxLCBxICogZGVsdGFfcmF0ZVtjbS0+Y3VycmVudF92aWRlb19mcmFtZSAlIEZJWEVEX0dG
X0lOVEVSVkFMXSwKICAgICAgICAgICBjbS0+Yml0X2RlcHRoKTsKICAgICAgIGFjdGl2ZV9iZXN0
X3F1YWxpdHkgPSBWUFhNQVgocWluZGV4ICsgZGVsdGFfcWluZGV4LCByYy0+YmVzdF9xdWFsaXR5
KTsKICAgICB9IGVsc2UgewpAQCAtMTM1OSw3ICsxMzU2LDcgQEAgc3RhdGljIHZvaWQgcGlja19r
Zl9xX2JvdW5kX3R3b19wYXNzKGNvbnN0IFZQOV9DT01QICpjcGksIGludCAqYm90dG9tX2luZGV4
LAogICAgICAgYWN0aXZlX2Jlc3RfcXVhbGl0eSAvPSA0OwogICAgIH0KIAotICAgIC8vIERvbid0
IGFsbG93IHRoZSBhY3RpdmUgbWluIHRvIGJlIGxvc3NsZXNzIChxMCkgdW5sZXNzcyB0aGUgbWF4
IHEKKyAgICAvLyBEb250IGFsbG93IHRoZSBhY3RpdmUgbWluIHRvIGJlIGxvc3NsZXNzIChxMCkg
dW5sZXNzcyB0aGUgbWF4IHEKICAgICAvLyBhbHJlYWR5IGluZGljYXRlcyBsb3NzbGVzcy4KICAg
ICBhY3RpdmVfYmVzdF9xdWFsaXR5ID0KICAgICAgICAgVlBYTUlOKGFjdGl2ZV93b3JzdF9xdWFs
aXR5LCBWUFhNQVgoMSwgYWN0aXZlX2Jlc3RfcXVhbGl0eSkpOwpAQCAtMTQ1Nyw3ICsxNDU0LDcg
QEAgc3RhdGljIGludCByY19waWNrX3FfYW5kX2JvdW5kc190d29fcGFzcyhjb25zdCBWUDlfQ09N
UCAqY3BpLCBpbnQgKmJvdHRvbV9pbmRleCwKICAgICB9IGVsc2UgewogICAgICAgcSA9IGFjdGl2
ZV93b3JzdF9xdWFsaXR5OwogICAgIH0KLSAgICAvLyBGb3IgY29uc3RyYWluZWQgcXVhbGl0eSBk
b24ndCBhbGxvdyBRIGxlc3MgdGhhbiB0aGUgY3EgbGV2ZWwKKyAgICAvLyBGb3IgY29uc3RyYWlu
ZWQgcXVhbGl0eSBkb250IGFsbG93IFEgbGVzcyB0aGFuIHRoZSBjcSBsZXZlbAogICAgIGlmIChv
eGNmLT5yY19tb2RlID09IFZQWF9DUSkgewogICAgICAgaWYgKHEgPCBjcV9sZXZlbCkgcSA9IGNx
X2xldmVsOwogICAgIH0KQEAgLTE3MjMsMTIgKzE3MjAsMTAgQEAgdm9pZCB2cDlfcmNfc2V0X2Zy
YW1lX3RhcmdldChWUDlfQ09NUCAqY3BpLCBpbnQgdGFyZ2V0KSB7CiAgIH0KIAogI2lmIENPTkZJ
R19SQVRFX0NUUkwKLSAgaWYgKGNwaS0+b3hjZi51c2Vfc2ltcGxlX2VuY29kZV9hcGkpIHsKLSAg
ICBpZiAoY3BpLT5lbmNvZGVfY29tbWFuZC51c2VfZXh0ZXJuYWxfdGFyZ2V0X2ZyYW1lX2JpdHMp
IHsKLSAgICAgIHJjLT50aGlzX2ZyYW1lX3RhcmdldCA9IGNwaS0+ZW5jb2RlX2NvbW1hbmQudGFy
Z2V0X2ZyYW1lX2JpdHM7Ci0gICAgfQorICBpZiAoY3BpLT5lbmNvZGVfY29tbWFuZC51c2VfZXh0
ZXJuYWxfdGFyZ2V0X2ZyYW1lX2JpdHMpIHsKKyAgICByYy0+dGhpc19mcmFtZV90YXJnZXQgPSBj
cGktPmVuY29kZV9jb21tYW5kLnRhcmdldF9mcmFtZV9iaXRzOwogICB9Ci0jZW5kaWYgIC8vIENP
TkZJR19SQVRFX0NUUkwKKyNlbmRpZgogCiAgIC8vIFRhcmdldCByYXRlIHBlciBTQjY0IChpbmNs
dWRpbmcgcGFydGlhbCBTQjY0cy4KICAgcmMtPnNiNjRfdGFyZ2V0X3JhdGUgPSAoaW50KSgoKGlu
dDY0X3QpcmMtPnRoaXNfZnJhbWVfdGFyZ2V0ICogNjQgKiA2NCkgLwpAQCAtMTg2Myw3ICsxODU4
LDggQEAgdm9pZCB2cDlfcmNfcG9zdGVuY29kZV91cGRhdGUoVlA5X0NPTVAgKmNwaSwgdWludDY0
X3QgYnl0ZXNfdXNlZCkgewogICAgIHJjLT5hdmdfZnJhbWVfcWluZGV4W0tFWV9GUkFNRV0gPQog
ICAgICAgICBST1VORF9QT1dFUl9PRl9UV08oMyAqIHJjLT5hdmdfZnJhbWVfcWluZGV4W0tFWV9G
UkFNRV0gKyBxaW5kZXgsIDIpOwogICAgIGlmIChjcGktPnVzZV9zdmMpIHsKLSAgICAgIGludCBp
OworICAgICAgaW50IGkgPSAwOworICAgICAgU1ZDICpzdmMgPSAmY3BpLT5zdmM7CiAgICAgICBm
b3IgKGkgPSAwOyBpIDwgc3ZjLT5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzOyArK2kpIHsKICAgICAg
ICAgY29uc3QgaW50IGxheWVyID0gTEFZRVJfSURTX1RPX0lEWChzdmMtPnNwYXRpYWxfbGF5ZXJf
aWQsIGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZjLT5u
dW1iZXJfdGVtcG9yYWxfbGF5ZXJzKTsKQEAgLTE4NzQsNyArMTg3MCw3IEBAIHZvaWQgdnA5X3Jj
X3Bvc3RlbmNvZGVfdXBkYXRlKFZQOV9DT01QICpjcGksIHVpbnQ2NF90IGJ5dGVzX3VzZWQpIHsK
ICAgICAgIH0KICAgICB9CiAgIH0gZWxzZSB7Ci0gICAgaWYgKChjcGktPnVzZV9zdmMpIHx8Cisg
ICAgaWYgKChjcGktPnVzZV9zdmMgJiYgb3hjZi0+cmNfbW9kZSA9PSBWUFhfQ0JSKSB8fAogICAg
ICAgICAoIXJjLT5pc19zcmNfZnJhbWVfYWx0X3JlZiAmJgogICAgICAgICAgIShjcGktPnJlZnJl
c2hfZ29sZGVuX2ZyYW1lIHx8IGNwaS0+cmVmcmVzaF9hbHRfcmVmX2ZyYW1lKSkpIHsKICAgICAg
IHJjLT5sYXN0X3FbSU5URVJfRlJBTUVdID0gcWluZGV4OwpAQCAtMjAxMyw3ICsyMDA5LDcgQEAg
dm9pZCB2cDlfcmNfcG9zdGVuY29kZV91cGRhdGVfZHJvcF9mcmFtZShWUDlfQ09NUCAqY3BpKSB7
CiAgIH0KIH0KIAotaW50IHZwOV9jYWxjX3BmcmFtZV90YXJnZXRfc2l6ZV9vbmVfcGFzc192YnIo
Y29uc3QgVlA5X0NPTVAgKmNwaSkgeworc3RhdGljIGludCBjYWxjX3BmcmFtZV90YXJnZXRfc2l6
ZV9vbmVfcGFzc192YnIoY29uc3QgVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogICBjb25zdCBSQVRF
X0NPTlRST0wgKmNvbnN0IHJjID0gJmNwaS0+cmM7CiAgIGNvbnN0IGludCBhZl9yYXRpbyA9IHJj
LT5hZl9yYXRpb19vbmVwYXNzX3ZicjsKICAgaW50NjRfdCB0YXJnZXQgPQpAQCAtMjAyNCwyMyAr
MjAyMCwxNCBAQCBpbnQgdnA5X2NhbGNfcGZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX3Zicihj
b25zdCBWUDlfQ09NUCAqY3BpKSB7CiAgICAgICAgICAgICAgICAgKHJjLT5iYXNlbGluZV9nZl9p
bnRlcnZhbCArIGFmX3JhdGlvIC0gMSkKICAgICAgICAgICA6ICgoaW50NjRfdClyYy0+YXZnX2Zy
YW1lX2JhbmR3aWR0aCAqIHJjLT5iYXNlbGluZV9nZl9pbnRlcnZhbCkgLwogICAgICAgICAgICAg
ICAgIChyYy0+YmFzZWxpbmVfZ2ZfaW50ZXJ2YWwgKyBhZl9yYXRpbyAtIDEpOwotICAvLyBGb3Ig
U1ZDOiByZWZyZXNoIGZsYWdzIGFyZSB1c2VkIHRvIGRlZmluZSB0aGUgcGF0dGVybiwgc28gd2Ug
Y2FuJ3QKLSAgLy8gdXNlIHRoYXQgZm9yIGJvb3N0aW5nIHRoZSB0YXJnZXQgc2l6ZSBoZXJlLgot
ICAvLyBUT0RPKG1hcnBhbik6IENvbnNpZGVyIGFkZGluZyBpbnRlcm5hbCBib29zdCBvbiBUTDAg
Zm9yIFZCUi1TVkMuCi0gIC8vIEZvciBub3cganVzdCB1c2UgdGhlIENCUiBsb2dpYyBmb3Igc2V0
dGluZyB0YXJnZXQgc2l6ZS4KLSAgaWYgKGNwaS0+dXNlX3N2YykgdGFyZ2V0ID0gdnA5X2NhbGNf
cGZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX2NicihjcGkpOwogICBpZiAodGFyZ2V0ID4gSU5U
X01BWCkgdGFyZ2V0ID0gSU5UX01BWDsKICAgcmV0dXJuIHZwOV9yY19jbGFtcF9wZnJhbWVfdGFy
Z2V0X3NpemUoY3BpLCAoaW50KXRhcmdldCk7CiB9CiAKLWludCB2cDlfY2FsY19pZnJhbWVfdGFy
Z2V0X3NpemVfb25lX3Bhc3NfdmJyKGNvbnN0IFZQOV9DT01QICpjcGkpIHsKK3N0YXRpYyBpbnQg
Y2FsY19pZnJhbWVfdGFyZ2V0X3NpemVfb25lX3Bhc3NfdmJyKGNvbnN0IFZQOV9DT01QICpjb25z
dCBjcGkpIHsKICAgc3RhdGljIGNvbnN0IGludCBrZl9yYXRpbyA9IDI1OwogICBjb25zdCBSQVRF
X0NPTlRST0wgKnJjID0gJmNwaS0+cmM7Ci0gIGludCB0YXJnZXQgPSByYy0+YXZnX2ZyYW1lX2Jh
bmR3aWR0aDsKLSAgaWYgKHRhcmdldCA+IElOVF9NQVggLyBrZl9yYXRpbykKLSAgICB0YXJnZXQg
PSBJTlRfTUFYOwotICBlbHNlCi0gICAgdGFyZ2V0ID0gcmMtPmF2Z19mcmFtZV9iYW5kd2lkdGgg
KiBrZl9yYXRpbzsKKyAgY29uc3QgaW50IHRhcmdldCA9IHJjLT5hdmdfZnJhbWVfYmFuZHdpZHRo
ICoga2ZfcmF0aW87CiAgIHJldHVybiB2cDlfcmNfY2xhbXBfaWZyYW1lX3RhcmdldF9zaXplKGNw
aSwgdGFyZ2V0KTsKIH0KIApAQCAtMjA2Myw5ICsyMDUwLDIyIEBAIHN0YXRpYyB2b2lkIGFkanVz
dF9nZmludF9mcmFtZV9jb25zdHJhaW50KFZQOV9DT01QICpjcGksIGludCBmcmFtZV9jb25zdHJh
aW50KSB7CiAgIH0KIH0KIAotdm9pZCB2cDlfc2V0X2dmX3VwZGF0ZV9vbmVfcGFzc192YnIoVlA5
X0NPTVAgKmNvbnN0IGNwaSkgewotICBSQVRFX0NPTlRST0wgKmNvbnN0IHJjID0gJmNwaS0+cmM7
Cit2b2lkIHZwOV9yY19nZXRfb25lX3Bhc3NfdmJyX3BhcmFtcyhWUDlfQ09NUCAqY3BpKSB7CiAg
IFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNwaS0+Y29tbW9uOworICBSQVRFX0NPTlRST0wgKmNv
bnN0IHJjID0gJmNwaS0+cmM7CisgIGludCB0YXJnZXQ7CisgIGlmICghY3BpLT5yZWZyZXNoX2Fs
dF9yZWZfZnJhbWUgJiYKKyAgICAgIChjbS0+Y3VycmVudF92aWRlb19mcmFtZSA9PSAwIHx8IChj
cGktPmZyYW1lX2ZsYWdzICYgRlJBTUVGTEFHU19LRVkpIHx8CisgICAgICAgcmMtPmZyYW1lc190
b19rZXkgPT0gMCkpIHsKKyAgICBjbS0+ZnJhbWVfdHlwZSA9IEtFWV9GUkFNRTsKKyAgICByYy0+
dGhpc19rZXlfZnJhbWVfZm9yY2VkID0KKyAgICAgICAgY20tPmN1cnJlbnRfdmlkZW9fZnJhbWUg
IT0gMCAmJiByYy0+ZnJhbWVzX3RvX2tleSA9PSAwOworICAgIHJjLT5mcmFtZXNfdG9fa2V5ID0g
Y3BpLT5veGNmLmtleV9mcmVxOworICAgIHJjLT5rZl9ib29zdCA9IERFRkFVTFRfS0ZfQk9PU1Q7
CisgICAgcmMtPnNvdXJjZV9hbHRfcmVmX2FjdGl2ZSA9IDA7CisgIH0gZWxzZSB7CisgICAgY20t
PmZyYW1lX3R5cGUgPSBJTlRFUl9GUkFNRTsKKyAgfQogICBpZiAocmMtPmZyYW1lc190aWxsX2dm
X3VwZGF0ZV9kdWUgPT0gMCkgewogICAgIGRvdWJsZSByYXRlX2VyciA9IDEuMDsKICAgICByYy0+
Z2Z1X2Jvb3N0ID0gREVGQVVMVF9HRl9CT09TVDsKQEAgLTIwODQsMjMgKzIwODQsMTggQEAgdm9p
ZCB2cDlfc2V0X2dmX3VwZGF0ZV9vbmVfcGFzc192YnIoVlA5X0NPTVAgKmNvbnN0IGNwaSkgewog
ICAgICAgICAgIHJhdGVfZXJyID4gMy41KSB7CiAgICAgICAgIHJjLT5iYXNlbGluZV9nZl9pbnRl
cnZhbCA9CiAgICAgICAgICAgICBWUFhNSU4oMTUsICgzICogcmMtPmJhc2VsaW5lX2dmX2ludGVy
dmFsKSA+PiAxKTsKLSAgICAgIH0gZWxzZSBpZiAocmMtPmF2Z19mcmFtZV9sb3dfbW90aW9uID4g
MCAmJgotICAgICAgICAgICAgICAgICByYy0+YXZnX2ZyYW1lX2xvd19tb3Rpb24gPCAyMCkgewor
ICAgICAgfSBlbHNlIGlmIChyYy0+YXZnX2ZyYW1lX2xvd19tb3Rpb24gPCAyMCkgewogICAgICAg
ICAvLyBEZWNyZWFzZSBnZiBpbnRlcnZhbCBmb3IgaGlnaCBtb3Rpb24gY2FzZS4KICAgICAgICAg
cmMtPmJhc2VsaW5lX2dmX2ludGVydmFsID0gVlBYTUFYKDYsIHJjLT5iYXNlbGluZV9nZl9pbnRl
cnZhbCA+PiAxKTsKICAgICAgIH0KLSAgICAgIC8vIEFkanVzdCBib29zdCBhbmQgYWZfcmF0aW8g
YmFzZWQgb24gYXZnX2ZyYW1lX2xvd19tb3Rpb24sIHdoaWNoCi0gICAgICAvLyB2YXJpZXMgYmV0
d2VlbiAwIGFuZCAxMDAgKHN0YXRpb25hcnksIDEwMCUgemVyby9zbWFsbCBtb3Rpb24pLgotICAg
ICAgaWYgKHJjLT5hdmdfZnJhbWVfbG93X21vdGlvbiA+IDApCi0gICAgICAgIHJjLT5nZnVfYm9v
c3QgPQotICAgICAgICAgICAgVlBYTUFYKDUwMCwgREVGQVVMVF9HRl9CT09TVCAqIChyYy0+YXZn
X2ZyYW1lX2xvd19tb3Rpb24gPDwgMSkgLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChy
Yy0+YXZnX2ZyYW1lX2xvd19tb3Rpb24gKyAxMDApKTsKLSAgICAgIGVsc2UgaWYgKHJjLT5hdmdf
ZnJhbWVfbG93X21vdGlvbiA9PSAwICYmIHJhdGVfZXJyID4gMS4wKQotICAgICAgICByYy0+Z2Z1
X2Jvb3N0ID0gREVGQVVMVF9HRl9CT09TVCA+PiAxOworICAgICAgLy8gQWRqdXN0IGJvb3N0IGFu
ZCBhZl9yYXRpbyBiYXNlZCBvbiBhdmdfZnJhbWVfbG93X21vdGlvbiwgd2hpY2ggdmFyaWVzCisg
ICAgICAvLyBiZXR3ZWVuIDAgYW5kIDEwMCAoc3RhdGlvbmFyeSwgMTAwJSB6ZXJvL3NtYWxsIG1v
dGlvbikuCisgICAgICByYy0+Z2Z1X2Jvb3N0ID0KKyAgICAgICAgICBWUFhNQVgoNTAwLCBERUZB
VUxUX0dGX0JPT1NUICogKHJjLT5hdmdfZnJhbWVfbG93X21vdGlvbiA8PCAxKSAvCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIChyYy0+YXZnX2ZyYW1lX2xvd19tb3Rpb24gKyAxMDApKTsKICAg
ICAgIHJjLT5hZl9yYXRpb19vbmVwYXNzX3ZiciA9IFZQWE1JTigxNSwgVlBYTUFYKDUsIDMgKiBy
Yy0+Z2Z1X2Jvb3N0IC8gNDAwKSk7CiAgICAgfQotICAgIGlmIChyYy0+Y29uc3RyYWluX2dmX2tl
eV9mcmVxX29uZXBhc3NfdmJyKQotICAgICAgYWRqdXN0X2dmaW50X2ZyYW1lX2NvbnN0cmFpbnQo
Y3BpLCByYy0+ZnJhbWVzX3RvX2tleSk7CisgICAgYWRqdXN0X2dmaW50X2ZyYW1lX2NvbnN0cmFp
bnQoY3BpLCByYy0+ZnJhbWVzX3RvX2tleSk7CiAgICAgcmMtPmZyYW1lc190aWxsX2dmX3VwZGF0
ZV9kdWUgPSByYy0+YmFzZWxpbmVfZ2ZfaW50ZXJ2YWw7CiAgICAgY3BpLT5yZWZyZXNoX2dvbGRl
bl9mcmFtZSA9IDE7CiAgICAgcmMtPnNvdXJjZV9hbHRfcmVmX3BlbmRpbmcgPSAwOwpAQCAtMjEx
MCwyOSArMjEwNSwxMCBAQCB2b2lkIHZwOV9zZXRfZ2ZfdXBkYXRlX29uZV9wYXNzX3ZicihWUDlf
Q09NUCAqY29uc3QgY3BpKSB7CiAgICAgICByYy0+YWx0X3JlZl9nZl9ncm91cCA9IDE7CiAgICAg
fQogICB9Ci19Ci0KLXZvaWQgdnA5X3JjX2dldF9vbmVfcGFzc192YnJfcGFyYW1zKFZQOV9DT01Q
ICpjcGkpIHsKLSAgVlA5X0NPTU1PTiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247Ci0gIFJBVEVf
Q09OVFJPTCAqY29uc3QgcmMgPSAmY3BpLT5yYzsKLSAgaW50IHRhcmdldDsKLSAgaWYgKCFjcGkt
PnJlZnJlc2hfYWx0X3JlZl9mcmFtZSAmJgotICAgICAgKGNtLT5jdXJyZW50X3ZpZGVvX2ZyYW1l
ID09IDAgfHwgKGNwaS0+ZnJhbWVfZmxhZ3MgJiBGUkFNRUZMQUdTX0tFWSkgfHwKLSAgICAgICBy
Yy0+ZnJhbWVzX3RvX2tleSA9PSAwKSkgewotICAgIGNtLT5mcmFtZV90eXBlID0gS0VZX0ZSQU1F
OwotICAgIHJjLT50aGlzX2tleV9mcmFtZV9mb3JjZWQgPQotICAgICAgICBjbS0+Y3VycmVudF92
aWRlb19mcmFtZSAhPSAwICYmIHJjLT5mcmFtZXNfdG9fa2V5ID09IDA7Ci0gICAgcmMtPmZyYW1l
c190b19rZXkgPSBjcGktPm94Y2Yua2V5X2ZyZXE7Ci0gICAgcmMtPmtmX2Jvb3N0ID0gREVGQVVM
VF9LRl9CT09TVDsKLSAgICByYy0+c291cmNlX2FsdF9yZWZfYWN0aXZlID0gMDsKLSAgfSBlbHNl
IHsKLSAgICBjbS0+ZnJhbWVfdHlwZSA9IElOVEVSX0ZSQU1FOwotICB9Ci0gIHZwOV9zZXRfZ2Zf
dXBkYXRlX29uZV9wYXNzX3ZicihjcGkpOwogICBpZiAoY20tPmZyYW1lX3R5cGUgPT0gS0VZX0ZS
QU1FKQotICAgIHRhcmdldCA9IHZwOV9jYWxjX2lmcmFtZV90YXJnZXRfc2l6ZV9vbmVfcGFzc192
YnIoY3BpKTsKKyAgICB0YXJnZXQgPSBjYWxjX2lmcmFtZV90YXJnZXRfc2l6ZV9vbmVfcGFzc192
YnIoY3BpKTsKICAgZWxzZQotICAgIHRhcmdldCA9IHZwOV9jYWxjX3BmcmFtZV90YXJnZXRfc2l6
ZV9vbmVfcGFzc192YnIoY3BpKTsKKyAgICB0YXJnZXQgPSBjYWxjX3BmcmFtZV90YXJnZXRfc2l6
ZV9vbmVfcGFzc192YnIoY3BpKTsKICAgdnA5X3JjX3NldF9mcmFtZV90YXJnZXQoY3BpLCB0YXJn
ZXQpOwogICBpZiAoY3BpLT5veGNmLmFxX21vZGUgPT0gQ1lDTElDX1JFRlJFU0hfQVEgJiYgY3Bp
LT5veGNmLnBhc3MgPT0gMCkKICAgICB2cDlfY3ljbGljX3JlZnJlc2hfdXBkYXRlX3BhcmFtZXRl
cnMoY3BpKTsKQEAgLTIxNTksNyArMjEzNSw3IEBAIGludCB2cDlfY2FsY19wZnJhbWVfdGFyZ2V0
X3NpemVfb25lX3Bhc3NfY2JyKGNvbnN0IFZQOV9DT01QICpjcGkpIHsKICAgfSBlbHNlIHsKICAg
ICB0YXJnZXQgPSByYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aDsKICAgfQotICBpZiAoaXNfb25lX3Bh
c3Nfc3ZjKGNwaSkpIHsKKyAgaWYgKGlzX29uZV9wYXNzX2Nicl9zdmMoY3BpKSkgewogICAgIC8v
IE5vdGUgdGhhdCBmb3IgbGF5ZXJzLCBhdmdfZnJhbWVfYmFuZHdpZHRoIGlzIHRoZSBjdW11bGF0
aXZlCiAgICAgLy8gcGVyLWZyYW1lLWJhbmR3aWR0aC4gRm9yIHRoZSB0YXJnZXQgc2l6ZSBvZiB0
aGlzIGZyYW1lLCB1c2UgdGhlCiAgICAgLy8gbGF5ZXIgYXZlcmFnZSBmcmFtZSBzaXplIChpLmUu
LCBub24tY3VtdWxhdGl2ZSBwZXItZnJhbWUtYncpLgpAQCAtMjE3MiwxMiArMjE0OCwxMiBAQCBp
bnQgdnA5X2NhbGNfcGZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX2Nicihjb25zdCBWUDlfQ09N
UCAqY3BpKSB7CiAgIGlmIChkaWZmID4gMCkgewogICAgIC8vIExvd2VyIHRoZSB0YXJnZXQgYmFu
ZHdpZHRoIGZvciB0aGlzIGZyYW1lLgogICAgIGNvbnN0IGludCBwY3RfbG93ID0gKGludClWUFhN
SU4oZGlmZiAvIG9uZV9wY3RfYml0cywgb3hjZi0+dW5kZXJfc2hvb3RfcGN0KTsKLSAgICB0YXJn
ZXQgLT0gKGludCkoKChpbnQ2NF90KXRhcmdldCAqIHBjdF9sb3cpIC8gMjAwKTsKKyAgICB0YXJn
ZXQgLT0gKHRhcmdldCAqIHBjdF9sb3cpIC8gMjAwOwogICB9IGVsc2UgaWYgKGRpZmYgPCAwKSB7
CiAgICAgLy8gSW5jcmVhc2UgdGhlIHRhcmdldCBiYW5kd2lkdGggZm9yIHRoaXMgZnJhbWUuCiAg
ICAgY29uc3QgaW50IHBjdF9oaWdoID0KICAgICAgICAgKGludClWUFhNSU4oLWRpZmYgLyBvbmVf
cGN0X2JpdHMsIG94Y2YtPm92ZXJfc2hvb3RfcGN0KTsKLSAgICB0YXJnZXQgKz0gKGludCkoKChp
bnQ2NF90KXRhcmdldCAqIHBjdF9oaWdoKSAvIDIwMCk7CisgICAgdGFyZ2V0ICs9ICh0YXJnZXQg
KiBwY3RfaGlnaCkgLyAyMDA7CiAgIH0KICAgaWYgKG94Y2YtPnJjX21heF9pbnRlcl9iaXRyYXRl
X3BjdCkgewogICAgIGNvbnN0IGludCBtYXhfcmF0ZSA9CkBAIC0yMjI2LDYgKzIyMDIsNyBAQCBz
dGF0aWMgdm9pZCBzZXRfaW50cmFfb25seV9mcmFtZShWUDlfQ09NUCAqY3BpKSB7CiAgIC8vIG9u
bHkgMyByZWZlcmVuY2UgYnVmZmVycyBjYW4gYmUgdXBkYXRlZCwgYnV0IGZvciB0ZW1wb3JhbCBs
YXllcnMgPiAxCiAgIC8vIHdlIGdlbmVyYWxseSBuZWVkIHRvIHVzZSBidWZmZXIgc2xvdHMgNCBh
bmQgNS4KICAgaWYgKChjbS0+Y3VycmVudF92aWRlb19mcmFtZSA9PSAwICYmIHN2Yy0+bnVtYmVy
X3RlbXBvcmFsX2xheWVycyA+IDEpIHx8CisgICAgICBzdmMtPnRlbXBvcmFsX2xheWVyaW5nX21v
ZGUgPT0gVlA5RV9URU1QT1JBTF9MQVlFUklOR19NT0RFX0JZUEFTUyB8fAogICAgICAgc3ZjLT5u
dW1iZXJfc3BhdGlhbF9sYXllcnMgPiAzIHx8IHN2Yy0+bnVtYmVyX3RlbXBvcmFsX2xheWVycyA+
IDMgfHwKICAgICAgIHN2Yy0+bnVtYmVyX3NwYXRpYWxfbGF5ZXJzID09IDEpCiAgICAgcmV0dXJu
OwpAQCAtMjI0NiwxNSArMjIyMywxMSBAQCBzdGF0aWMgdm9pZCBzZXRfaW50cmFfb25seV9mcmFt
ZShWUDlfQ09NUCAqY3BpKSB7CiAgICAgY3BpLT5sc3RfZmJfaWR4ID0gLTE7CiAgICAgY3BpLT5n
bGRfZmJfaWR4ID0gLTE7CiAgICAgY3BpLT5hbHRfZmJfaWR4ID0gLTE7Ci0gICAgc3ZjLT51cGRh
dGVfYnVmZmVyX3Nsb3RbMF0gPSAwOwogICAgIC8vIEZvciBpbnRyYS1vbmx5IGZyYW1lIHdlIG5l
ZWQgdG8gcmVmcmVzaCBhbGwgc2xvdHMgdGhhdCB3ZXJlCiAgICAgLy8gYmVpbmcgdXNlZCBmb3Ig
dGhlIGJhc2UgbGF5ZXIgKGZiX2lkeF9iYXNlW2ldID09IDEpLgogICAgIC8vIFN0YXJ0IHdpdGgg
YXNzaWduaW5nIGxhc3QgZmlyc3QsIHRoZW4gZ29sZGVuIGFuZCB0aGVuIGFsdC4KICAgICBmb3Ig
KGkgPSAwOyBpIDwgUkVGX0ZSQU1FUzsgKytpKSB7Ci0gICAgICBpZiAoc3ZjLT5mYl9pZHhfYmFz
ZVtpXSA9PSAxKSB7Ci0gICAgICAgIHN2Yy0+dXBkYXRlX2J1ZmZlcl9zbG90WzBdIHw9IDEgPDwg
aTsKLSAgICAgICAgY291bnQrKzsKLSAgICAgIH0KKyAgICAgIGlmIChzdmMtPmZiX2lkeF9iYXNl
W2ldID09IDEpIGNvdW50Kys7CiAgICAgICBpZiAoY291bnQgPT0gMSAmJiBjcGktPmxzdF9mYl9p
ZHggPT0gLTEpIGNwaS0+bHN0X2ZiX2lkeCA9IGk7CiAgICAgICBpZiAoY291bnQgPT0gMiAmJiBj
cGktPmdsZF9mYl9pZHggPT0gLTEpIGNwaS0+Z2xkX2ZiX2lkeCA9IGk7CiAgICAgICBpZiAoY291
bnQgPT0gMyAmJiBjcGktPmFsdF9mYl9pZHggPT0gLTEpIGNwaS0+YWx0X2ZiX2lkeCA9IGk7CkBA
IC0yMjYzLDEyICsyMjM2LDYgQEAgc3RhdGljIHZvaWQgc2V0X2ludHJhX29ubHlfZnJhbWUoVlA5
X0NPTVAgKmNwaSkgewogICAgIC8vIHRvIHRoZSBsc3RfZmJfaWR4LgogICAgIGlmIChjcGktPmds
ZF9mYl9pZHggPT0gLTEpIGNwaS0+Z2xkX2ZiX2lkeCA9IGNwaS0+bHN0X2ZiX2lkeDsKICAgICBp
ZiAoY3BpLT5hbHRfZmJfaWR4ID09IC0xKSBjcGktPmFsdF9mYl9pZHggPSBjcGktPmxzdF9mYl9p
ZHg7Ci0gICAgaWYgKHN2Yy0+dGVtcG9yYWxfbGF5ZXJpbmdfbW9kZSA9PSBWUDlFX1RFTVBPUkFM
X0xBWUVSSU5HX01PREVfQllQQVNTKSB7Ci0gICAgICBjcGktPmV4dF9yZWZyZXNoX2xhc3RfZnJh
bWUgPSAwOwotICAgICAgY3BpLT5leHRfcmVmcmVzaF9nb2xkZW5fZnJhbWUgPSAwOwotICAgICAg
Y3BpLT5leHRfcmVmcmVzaF9hbHRfcmVmX2ZyYW1lID0gMDsKLSAgICAgIGNwaS0+cmVmX2ZyYW1l
X2ZsYWdzID0gMDsKLSAgICB9CiAgIH0KIH0KIApAQCAtMjI5NCw3ICsyMjYxLDcgQEAgdm9pZCB2
cDlfcmNfZ2V0X3N2Y19wYXJhbXMoVlA5X0NPTVAgKmNwaSkgewogICAgICAgKHN2Yy0+c3BhdGlh
bF9sYXllcl9zeW5jWzBdID09IDEgJiYgc3ZjLT5zcGF0aWFsX2xheWVyX2lkID09IDApKSB7CiAg
ICAgY20tPmZyYW1lX3R5cGUgPSBLRVlfRlJBTUU7CiAgICAgcmMtPnNvdXJjZV9hbHRfcmVmX2Fj
dGl2ZSA9IDA7Ci0gICAgaWYgKGlzX29uZV9wYXNzX3N2YyhjcGkpKSB7CisgICAgaWYgKGlzX29u
ZV9wYXNzX2Nicl9zdmMoY3BpKSkgewogICAgICAgaWYgKGNtLT5jdXJyZW50X3ZpZGVvX2ZyYW1l
ID4gMCkgdnA5X3N2Y19yZXNldF90ZW1wb3JhbF9sYXllcnMoY3BpLCAxKTsKICAgICAgIGxheWVy
ID0gTEFZRVJfSURTX1RPX0lEWChzdmMtPnNwYXRpYWxfbGF5ZXJfaWQsIHN2Yy0+dGVtcG9yYWxf
bGF5ZXJfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZjLT5udW1iZXJfdGVt
cG9yYWxfbGF5ZXJzKTsKQEAgLTIzMDIsMTQgKzIyNjksMTEgQEAgdm9pZCB2cDlfcmNfZ2V0X3N2
Y19wYXJhbXMoVlA5X0NPTVAgKmNwaSkgewogICAgICAgY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJj0g
KH5WUDlfTEFTVF9GTEFHICYgflZQOV9HT0xEX0ZMQUcgJiB+VlA5X0FMVF9GTEFHKTsKICAgICAg
IC8vIEFzc3VtcHRpb24gaGVyZSBpcyB0aGF0IExBU1RfRlJBTUUgaXMgYmVpbmcgdXBkYXRlZCBm
b3IgYSBrZXlmcmFtZS4KICAgICAgIC8vIFRodXMgbm8gY2hhbmdlIGluIHVwZGF0ZSBmbGFncy4K
LSAgICAgIGlmIChjcGktPm94Y2YucmNfbW9kZSA9PSBWUFhfQ0JSKQotICAgICAgICB0YXJnZXQg
PSB2cDlfY2FsY19pZnJhbWVfdGFyZ2V0X3NpemVfb25lX3Bhc3NfY2JyKGNwaSk7Ci0gICAgICBl
bHNlCi0gICAgICAgIHRhcmdldCA9IHZwOV9jYWxjX2lmcmFtZV90YXJnZXRfc2l6ZV9vbmVfcGFz
c192YnIoY3BpKTsKKyAgICAgIHRhcmdldCA9IHZwOV9jYWxjX2lmcmFtZV90YXJnZXRfc2l6ZV9v
bmVfcGFzc19jYnIoY3BpKTsKICAgICB9CiAgIH0gZWxzZSB7CiAgICAgY20tPmZyYW1lX3R5cGUg
PSBJTlRFUl9GUkFNRTsKLSAgICBpZiAoaXNfb25lX3Bhc3Nfc3ZjKGNwaSkpIHsKKyAgICBpZiAo
aXNfb25lX3Bhc3NfY2JyX3N2YyhjcGkpKSB7CiAgICAgICBMQVlFUl9DT05URVhUICpsYyA9ICZz
dmMtPmxheWVyX2NvbnRleHRbbGF5ZXJdOwogICAgICAgLy8gQWRkIGNvbmRpdGlvbiBjdXJyZW50
X3ZpZGVvX2ZyYW1lID4gMCBmb3IgdGhlIGNhc2Ugd2hlcmUgZmlyc3QgZnJhbWUKICAgICAgIC8v
IGlzIGludHJhIG9ubHkgZm9sbG93ZWQgYnkgb3ZlcmxheS9jb3B5IGZyYW1lLiBJbiB0aGlzIGNh
c2Ugd2UgZG9uJ3QKQEAgLTIzMTgsMjMgKzIyODIsNyBAQCB2b2lkIHZwOV9yY19nZXRfc3ZjX3Bh
cmFtcyhWUDlfQ09NUCAqY3BpKSB7CiAgICAgICAgICAgKHN2Yy0+c3BhdGlhbF9sYXllcl9pZCA9
PSAwICYmIGNtLT5jdXJyZW50X3ZpZGVvX2ZyYW1lID4gMCkKICAgICAgICAgICAgICAgPyAwCiAg
ICAgICAgICAgICAgIDogc3ZjLT5sYXllcl9jb250ZXh0W3N2Yy0+dGVtcG9yYWxfbGF5ZXJfaWRd
LmlzX2tleV9mcmFtZTsKLSAgICAgIGlmIChjcGktPm94Y2YucmNfbW9kZSA9PSBWUFhfQ0JSKSB7
Ci0gICAgICAgIHRhcmdldCA9IHZwOV9jYWxjX3BmcmFtZV90YXJnZXRfc2l6ZV9vbmVfcGFzc19j
YnIoY3BpKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGRvdWJsZSByYXRlX2VyciA9IDAuMDsK
LSAgICAgICAgcmMtPmZhY19hY3RpdmVfd29yc3RfaW50ZXIgPSAxNDA7Ci0gICAgICAgIHJjLT5m
YWNfYWN0aXZlX3dvcnN0X2dmID0gMTAwOwotICAgICAgICBpZiAocmMtPnJvbGxpbmdfdGFyZ2V0
X2JpdHMgPiAwKSB7Ci0gICAgICAgICAgcmF0ZV9lcnIgPQotICAgICAgICAgICAgICAoZG91Ymxl
KXJjLT5yb2xsaW5nX2FjdHVhbF9iaXRzIC8gKGRvdWJsZSlyYy0+cm9sbGluZ190YXJnZXRfYml0
czsKLSAgICAgICAgICBpZiAocmF0ZV9lcnIgPCAxLjApCi0gICAgICAgICAgICByYy0+ZmFjX2Fj
dGl2ZV93b3JzdF9pbnRlciA9IDEyMDsKLSAgICAgICAgICBlbHNlIGlmIChyYXRlX2VyciA+IDIu
MCkKLSAgICAgICAgICAgIC8vIEluY3JlYXNlIGFjdGl2ZV93b3JzdCBmYXN0ZXIgaWYgcmF0ZSBm
bHVjdHVhdGlvbiBpcyBoaWdoLgotICAgICAgICAgICAgcmMtPmZhY19hY3RpdmVfd29yc3RfaW50
ZXIgPSAxNjA7Ci0gICAgICAgIH0KLSAgICAgICAgdGFyZ2V0ID0gdnA5X2NhbGNfcGZyYW1lX3Rh
cmdldF9zaXplX29uZV9wYXNzX3ZicihjcGkpOwotICAgICAgfQorICAgICAgdGFyZ2V0ID0gdnA5
X2NhbGNfcGZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX2NicihjcGkpOwogICAgIH0KICAgfQog
CkBAIC0yMzQzLDEwICsyMjkxLDcgQEAgdm9pZCB2cDlfcmNfZ2V0X3N2Y19wYXJhbXMoVlA5X0NP
TVAgKmNwaSkgewogICAgICAgICBzdmMtPmxheWVyX2NvbnRleHRbbGF5ZXJdLmlzX2tleV9mcmFt
ZSA9PSAxKSB7CiAgICAgICBjbS0+ZnJhbWVfdHlwZSA9IEtFWV9GUkFNRTsKICAgICAgIGNwaS0+
cmVmX2ZyYW1lX2ZsYWdzICY9ICh+VlA5X0xBU1RfRkxBRyAmIH5WUDlfR09MRF9GTEFHICYgflZQ
OV9BTFRfRkxBRyk7Ci0gICAgICBpZiAoY3BpLT5veGNmLnJjX21vZGUgPT0gVlBYX0NCUikKLSAg
ICAgICAgdGFyZ2V0ID0gdnA5X2NhbGNfaWZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX2Nicihj
cGkpOwotICAgICAgZWxzZQotICAgICAgICB0YXJnZXQgPSB2cDlfY2FsY19pZnJhbWVfdGFyZ2V0
X3NpemVfb25lX3Bhc3NfdmJyKGNwaSk7CisgICAgICB0YXJnZXQgPSB2cDlfY2FsY19pZnJhbWVf
dGFyZ2V0X3NpemVfb25lX3Bhc3NfY2JyKGNwaSk7CiAgICAgfQogICAgIC8vIFNldCB0aGUgYnVm
ZmVyIGlkeCBhbmQgcmVmcmVzaCBmbGFncyBmb3Iga2V5IGZyYW1lcyBpbiBzaW11bGNhc3QgbW9k
ZS4KICAgICAvLyBOb3RlIHRoZSBidWZmZXIgc2xvdCBmb3IgbG9uZy10ZXJtIHJlZmVyZW5jZSBp
cyBzZXQgYmVsb3cgKGxpbmUgMjI1NSksCkBAIC0yNDMxLDE0ICsyMzc2LDggQEAgdm9pZCB2cDlf
cmNfZ2V0X3N2Y19wYXJhbXMoVlA5X0NPTVAgKmNwaSkgewogICB9CiAgIGlmIChzdmMtPnNldF9p
bnRyYV9vbmx5X2ZyYW1lKSB7CiAgICAgc2V0X2ludHJhX29ubHlfZnJhbWUoY3BpKTsKLSAgICBp
ZiAoY3BpLT5veGNmLnJjX21vZGUgPT0gVlBYX0NCUikKLSAgICAgIHRhcmdldCA9IHZwOV9jYWxj
X2lmcmFtZV90YXJnZXRfc2l6ZV9vbmVfcGFzc19jYnIoY3BpKTsKLSAgICBlbHNlCi0gICAgICB0
YXJnZXQgPSB2cDlfY2FsY19pZnJhbWVfdGFyZ2V0X3NpemVfb25lX3Bhc3NfdmJyKGNwaSk7Cisg
ICAgdGFyZ2V0ID0gdnA5X2NhbGNfaWZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX2NicihjcGkp
OwogICB9Ci0gIC8vIE92ZXJsYXkgZnJhbWUgcHJlZGljdHMgZnJvbSBMQVNUIChpbnRyYS1vbmx5
KQotICBpZiAoc3ZjLT5wcmV2aW91c19mcmFtZV9pc19pbnRyYV9vbmx5KSBjcGktPnJlZl9mcmFt
ZV9mbGFncyB8PSBWUDlfTEFTVF9GTEFHOwotCiAgIC8vIEFueSB1cGRhdGUvY2hhbmdlIG9mIGds
b2JhbCBjeWNsaWMgcmVmcmVzaCBwYXJhbWV0ZXJzIChhbW91bnQvZGVsdGEtcXApCiAgIC8vIHNo
b3VsZCBiZSBkb25lIGhlcmUsIGJlZm9yZSB0aGUgZnJhbWUgcXAgaXMgc2VsZWN0ZWQuCiAgIGlm
IChjcGktPm94Y2YuYXFfbW9kZSA9PSBDWUNMSUNfUkVGUkVTSF9BUSkKQEAgLTI1ODcsMjUgKzI1
MjYsMjYgQEAgdm9pZCB2cDlfcmNfc2V0X2dmX2ludGVydmFsX3JhbmdlKGNvbnN0IFZQOV9DT01Q
ICpjb25zdCBjcGksCiAgICAgcmMtPm1pbl9nZl9pbnRlcnZhbCA9IEZJWEVEX0dGX0lOVEVSVkFM
OwogICAgIHJjLT5zdGF0aWNfc2NlbmVfbWF4X2dmX2ludGVydmFsID0gRklYRURfR0ZfSU5URVJW
QUw7CiAgIH0gZWxzZSB7Ci0gICAgZG91YmxlIGZyYW1lcmF0ZSA9IGNwaS0+ZnJhbWVyYXRlOwog
ICAgIC8vIFNldCBNYXhpbXVtIGdmL2FyZiBpbnRlcnZhbAogICAgIHJjLT5tYXhfZ2ZfaW50ZXJ2
YWwgPSBveGNmLT5tYXhfZ2ZfaW50ZXJ2YWw7CiAgICAgcmMtPm1pbl9nZl9pbnRlcnZhbCA9IG94
Y2YtPm1pbl9nZl9pbnRlcnZhbDsKICNpZiBDT05GSUdfUkFURV9DVFJMCi0gICAgaWYgKG94Y2Yt
PnVzZV9zaW1wbGVfZW5jb2RlX2FwaSkgewotICAgICAgLy8gSW4gdGhpcyBleHBlcmltZW50LCB3
ZSBhdm9pZCBmcmFtZXJhdGUgYmVpbmcgY2hhbmdlZCBkeW5hbWljYWxseSBkdXJpbmcKLSAgICAg
IC8vIGVuY29kaW5nLgotICAgICAgZnJhbWVyYXRlID0gb3hjZi0+aW5pdF9mcmFtZXJhdGU7Ci0g
ICAgfQotI2VuZGlmICAvLyBDT05GSUdfUkFURV9DVFJMCiAgICAgaWYgKHJjLT5taW5fZ2ZfaW50
ZXJ2YWwgPT0gMCkgewogICAgICAgcmMtPm1pbl9nZl9pbnRlcnZhbCA9IHZwOV9yY19nZXRfZGVm
YXVsdF9taW5fZ2ZfaW50ZXJ2YWwoCi0gICAgICAgICAgb3hjZi0+d2lkdGgsIG94Y2YtPmhlaWdo
dCwgZnJhbWVyYXRlKTsKKyAgICAgICAgICBveGNmLT53aWR0aCwgb3hjZi0+aGVpZ2h0LCBveGNm
LT5pbml0X2ZyYW1lcmF0ZSk7CiAgICAgfQogICAgIGlmIChyYy0+bWF4X2dmX2ludGVydmFsID09
IDApIHsKLSAgICAgIHJjLT5tYXhfZ2ZfaW50ZXJ2YWwgPQotICAgICAgICAgIHZwOV9yY19nZXRf
ZGVmYXVsdF9tYXhfZ2ZfaW50ZXJ2YWwoZnJhbWVyYXRlLCByYy0+bWluX2dmX2ludGVydmFsKTsK
KyAgICAgIHJjLT5tYXhfZ2ZfaW50ZXJ2YWwgPSB2cDlfcmNfZ2V0X2RlZmF1bHRfbWF4X2dmX2lu
dGVydmFsKAorICAgICAgICAgIG94Y2YtPmluaXRfZnJhbWVyYXRlLCByYy0+bWluX2dmX2ludGVy
dmFsKTsKICAgICB9CisjZWxzZQorICAgIGlmIChyYy0+bWluX2dmX2ludGVydmFsID09IDApCisg
ICAgICByYy0+bWluX2dmX2ludGVydmFsID0gdnA5X3JjX2dldF9kZWZhdWx0X21pbl9nZl9pbnRl
cnZhbCgKKyAgICAgICAgICBveGNmLT53aWR0aCwgb3hjZi0+aGVpZ2h0LCBjcGktPmZyYW1lcmF0
ZSk7CisgICAgaWYgKHJjLT5tYXhfZ2ZfaW50ZXJ2YWwgPT0gMCkKKyAgICAgIHJjLT5tYXhfZ2Zf
aW50ZXJ2YWwgPSB2cDlfcmNfZ2V0X2RlZmF1bHRfbWF4X2dmX2ludGVydmFsKAorICAgICAgICAg
IGNwaS0+ZnJhbWVyYXRlLCByYy0+bWluX2dmX2ludGVydmFsKTsKKyNlbmRpZgogCiAgICAgLy8g
RXh0ZW5kZWQgbWF4IGludGVydmFsIGZvciBnZW51aW5lbHkgc3RhdGljIHNjZW5lcyBsaWtlIHNs
aWRlIHNob3dzLgogICAgIHJjLT5zdGF0aWNfc2NlbmVfbWF4X2dmX2ludGVydmFsID0gTUFYX1NU
QVRJQ19HRl9HUk9VUF9MRU5HVEg7CkBAIC0yNjIxLDEyICsyNTYxLDEzIEBAIHZvaWQgdnA5X3Jj
X3NldF9nZl9pbnRlcnZhbF9yYW5nZShjb25zdCBWUDlfQ09NUCAqY29uc3QgY3BpLAogICAgICAg
Y29uc3QgdWludDMyX3QgcGljX2JyZWFkdGggPQogICAgICAgICAgIFZQWE1BWChjcGktPmNvbW1v
bi53aWR0aCwgY3BpLT5jb21tb24uaGVpZ2h0KTsKICAgICAgIGludCBpOwotICAgICAgZm9yIChp
ID0gMDsgaSA8IFZQOV9MRVZFTFM7ICsraSkgeworICAgICAgZm9yIChpID0gTEVWRUxfMTsgaSA8
IExFVkVMX01BWDsgKytpKSB7CiAgICAgICAgIGlmICh2cDlfbGV2ZWxfZGVmc1tpXS5tYXhfbHVt
YV9waWN0dXJlX3NpemUgPj0gcGljX3NpemUgJiYKICAgICAgICAgICAgIHZwOV9sZXZlbF9kZWZz
W2ldLm1heF9sdW1hX3BpY3R1cmVfYnJlYWR0aCA+PSBwaWNfYnJlYWR0aCkgewogICAgICAgICAg
IGlmIChyYy0+bWluX2dmX2ludGVydmFsIDw9CiAgICAgICAgICAgICAgIChpbnQpdnA5X2xldmVs
X2RlZnNbaV0ubWluX2FsdHJlZl9kaXN0YW5jZSkgewotICAgICAgICAgICAgcmMtPm1pbl9nZl9p
bnRlcnZhbCA9IChpbnQpdnA5X2xldmVsX2RlZnNbaV0ubWluX2FsdHJlZl9kaXN0YW5jZTsKKyAg
ICAgICAgICAgIHJjLT5taW5fZ2ZfaW50ZXJ2YWwgPQorICAgICAgICAgICAgICAgIChpbnQpdnA5
X2xldmVsX2RlZnNbaV0ubWluX2FsdHJlZl9kaXN0YW5jZSArIDE7CiAgICAgICAgICAgICByYy0+
bWF4X2dmX2ludGVydmFsID0KICAgICAgICAgICAgICAgICBWUFhNQVgocmMtPm1heF9nZl9pbnRl
cnZhbCwgcmMtPm1pbl9nZl9pbnRlcnZhbCk7CiAgICAgICAgICAgfQpAQCAtMjY0Myw4ICsyNTg0
LDcgQEAgdm9pZCB2cDlfcmNfdXBkYXRlX2ZyYW1lcmF0ZShWUDlfQ09NUCAqY3BpKSB7CiAgIFJB
VEVfQ09OVFJPTCAqY29uc3QgcmMgPSAmY3BpLT5yYzsKICAgaW50IHZicl9tYXhfYml0czsKIAot
ICByYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCA9Ci0gICAgICAoaW50KVZQWE1JTihveGNmLT50YXJn
ZXRfYmFuZHdpZHRoIC8gY3BpLT5mcmFtZXJhdGUsIElOVF9NQVgpOworICByYy0+YXZnX2ZyYW1l
X2JhbmR3aWR0aCA9IChpbnQpKG94Y2YtPnRhcmdldF9iYW5kd2lkdGggLyBjcGktPmZyYW1lcmF0
ZSk7CiAgIHJjLT5taW5fZnJhbWVfYmFuZHdpZHRoID0KICAgICAgIChpbnQpKHJjLT5hdmdfZnJh
bWVfYmFuZHdpZHRoICogb3hjZi0+dHdvX3Bhc3NfdmJybWluX3NlY3Rpb24gLyAxMDApOwogCkBA
IC0yNjk4LDcgKzI2MzgsNyBAQCBzdGF0aWMgdm9pZCB2YnJfcmF0ZV9jb3JyZWN0aW9uKFZQOV9D
T01QICpjcGksIGludCAqdGhpc19mcmFtZV90YXJnZXQpIHsKICAgfQogCiAgIC8vIEZhc3QgcmVk
aXN0cmlidXRpb24gb2YgYml0cyBhcmlzaW5nIGZyb20gbWFzc2l2ZSBsb2NhbCB1bmRlcnNob290
LgotICAvLyBEb24ndCBkbyBpdCBmb3Iga2YsYXJmLGdmIG9yIG92ZXJsYXkgZnJhbWVzLgorICAv
LyBEb250IGRvIGl0IGZvciBrZixhcmYsZ2Ygb3Igb3ZlcmxheSBmcmFtZXMuCiAgIGlmICghZnJh
bWVfaXNfa2ZfZ2ZfYXJmKGNwaSkgJiYgIXJjLT5pc19zcmNfZnJhbWVfYWx0X3JlZiAmJgogICAg
ICAgcmMtPnZicl9iaXRzX29mZl90YXJnZXRfZmFzdCkgewogICAgIGludCBvbmVfZnJhbWVfYml0
cyA9IFZQWE1BWChyYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCwgKnRoaXNfZnJhbWVfdGFyZ2V0KTsK
QEAgLTMwMTMsNyArMjk1Myw3IEBAIHN0YXRpYyB2b2lkIGFkanVzdF9nZl9ib29zdF9sYWdfb25l
X3Bhc3NfdmJyKFZQOV9DT01QICpjcGksCiAgICAgICAgIH0KICAgICAgIH0KICAgICB9Ci0gICAg
dGFyZ2V0ID0gdnA5X2NhbGNfcGZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX3ZicihjcGkpOwor
ICAgIHRhcmdldCA9IGNhbGNfcGZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX3ZicihjcGkpOwog
ICAgIHZwOV9yY19zZXRfZnJhbWVfdGFyZ2V0KGNwaSwgdGFyZ2V0KTsKICAgfQogICByYy0+cHJl
dl9hdmdfc291cmNlX3NhZF9sYWcgPSBhdmdfc291cmNlX3NhZF9sYWc7CkBAIC0zMjIzLDcgKzMx
NjMsNyBAQCB2b2lkIHZwOV9zY2VuZV9kZXRlY3Rpb25fb25lcGFzcyhWUDlfQ09NUCAqY3BpKSB7
CiAgICAgICAgICAgVlBYTUlOKDIwLCBWUFhNQVgoMTAsIHJjLT5iYXNlbGluZV9nZl9pbnRlcnZh
bCkpOwogICAgICAgYWRqdXN0X2dmaW50X2ZyYW1lX2NvbnN0cmFpbnQoY3BpLCByYy0+ZnJhbWVz
X3RvX2tleSk7CiAgICAgICByYy0+ZnJhbWVzX3RpbGxfZ2ZfdXBkYXRlX2R1ZSA9IHJjLT5iYXNl
bGluZV9nZl9pbnRlcnZhbDsKLSAgICAgIHRhcmdldCA9IHZwOV9jYWxjX3BmcmFtZV90YXJnZXRf
c2l6ZV9vbmVfcGFzc192YnIoY3BpKTsKKyAgICAgIHRhcmdldCA9IGNhbGNfcGZyYW1lX3Rhcmdl
dF9zaXplX29uZV9wYXNzX3ZicihjcGkpOwogICAgICAgdnA5X3JjX3NldF9mcmFtZV90YXJnZXQo
Y3BpLCB0YXJnZXQpOwogICAgICAgcmMtPmNvdW50X2xhc3Rfc2NlbmVfY2hhbmdlID0gMDsKICAg
ICB9IGVsc2UgewpAQCAtMzI3Nyw5ICszMjE3LDExIEBAIGludCB2cDlfZW5jb2RlZGZyYW1lX292
ZXJzaG9vdChWUDlfQ09NUCAqY3BpLCBpbnQgZnJhbWVfc2l6ZSwgaW50ICpxKSB7CiAgICAgICBN
T0RFX0lORk8gKiptaSA9IGNtLT5taV9ncmlkX3Zpc2libGU7CiAgICAgICBpbnQgc3VtX2ludHJh
X3VzYWdlID0gMDsKICAgICAgIGludCBtaV9yb3csIG1pX2NvbDsKKyAgICAgIGludCB0b3QgPSAw
OwogICAgICAgZm9yIChtaV9yb3cgPSAwOyBtaV9yb3cgPCBjbS0+bWlfcm93czsgbWlfcm93Kysp
IHsKICAgICAgICAgZm9yIChtaV9jb2wgPSAwOyBtaV9jb2wgPCBjbS0+bWlfY29sczsgbWlfY29s
KyspIHsKICAgICAgICAgICBpZiAobWlbMF0tPnJlZl9mcmFtZVswXSA9PSBJTlRSQV9GUkFNRSkg
c3VtX2ludHJhX3VzYWdlKys7CisgICAgICAgICAgdG90Kys7CiAgICAgICAgICAgbWkrKzsKICAg
ICAgICAgfQogICAgICAgICBtaSArPSA4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci92cDlfcmF0ZWN0cmwuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3JhdGVjdHJs
LmgKaW5kZXggOTZhOGZkM2YxZGEzLi4wMTIwZjkwYTAxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X3JhdGVjdHJsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfcmF0ZWN0cmwuaApAQCAtMjcsOSArMjcsNiBAQCBleHRlcm4gIkMiIHsKIC8vIEJpdHMg
UGVyIE1CIGF0IGRpZmZlcmVudCBRIChNdWx0aXBsaWVkIGJ5IDUxMikKICNkZWZpbmUgQlBFUl9N
Ql9OT1JNQklUUyA5CiAKLSNkZWZpbmUgREVGQVVMVF9LRl9CT09TVCAyMDAwCi0jZGVmaW5lIERF
RkFVTFRfR0ZfQk9PU1QgMjAwMAotCiAjZGVmaW5lIE1JTl9HRl9JTlRFUlZBTCA0CiAjZGVmaW5l
IE1BWF9HRl9JTlRFUlZBTCAxNgogI2RlZmluZSBGSVhFRF9HRl9JTlRFUlZBTCA4ICAvLyBVc2Vk
IGluIHNvbWUgdGVzdGluZyBtb2RlcyBvbmx5CkBAIC0yMDcsMTQgKzIwNCw2IEBAIHR5cGVkZWYg
c3RydWN0IHsKICAgaW50IHByZXNlcnZlX2FyZl9hc19nbGQ7CiAgIGludCBwcmVzZXJ2ZV9uZXh0
X2FyZl9hc19nbGQ7CiAgIGludCBzaG93X2FyZl9hc19nbGQ7Ci0KLSAgLy8gRmxhZyB0byBjb25z
dHJhaW4gZ29sZGVuIGZyYW1lIGludGVydmFsIG9uIGtleSBmcmFtZSBmcmVxdWVuY3kgZm9yIDEg
cGFzcwotICAvLyBWQlIuCi0gIGludCBjb25zdHJhaW5fZ2Zfa2V5X2ZyZXFfb25lcGFzc192YnI7
Ci0KLSAgLy8gVGhlIGluZGV4IG9mIHRoZSBjdXJyZW50IEdPUC4gU3RhcnQgZnJvbSB6ZXJvLgot
ICAvLyBXaGVuIGEga2V5IGZyYW1lIGlzIGluc2VydGVkLCBpdCByZXNldHMgdG8gemVyby4KLSAg
aW50IGdvcF9nbG9iYWxfaW5kZXg7CiB9IFJBVEVfQ09OVFJPTDsKIAogc3RydWN0IFZQOV9DT01Q
OwpAQCAtMjY2LDkgKzI1NSw2IEBAIHZvaWQgdnA5X3JjX2dldF9vbmVfcGFzc192YnJfcGFyYW1z
KHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKIHZvaWQgdnA5X3JjX2dldF9vbmVfcGFzc19jYnJfcGFy
YW1zKHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKIGludCB2cDlfY2FsY19wZnJhbWVfdGFyZ2V0X3Np
emVfb25lX3Bhc3NfY2JyKGNvbnN0IHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKIGludCB2cDlfY2Fs
Y19pZnJhbWVfdGFyZ2V0X3NpemVfb25lX3Bhc3NfY2JyKGNvbnN0IHN0cnVjdCBWUDlfQ09NUCAq
Y3BpKTsKLWludCB2cDlfY2FsY19wZnJhbWVfdGFyZ2V0X3NpemVfb25lX3Bhc3NfdmJyKGNvbnN0
IHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKLWludCB2cDlfY2FsY19pZnJhbWVfdGFyZ2V0X3NpemVf
b25lX3Bhc3NfdmJyKGNvbnN0IHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKLXZvaWQgdnA5X3NldF9n
Zl91cGRhdGVfb25lX3Bhc3NfdmJyKHN0cnVjdCBWUDlfQ09NUCAqY29uc3QgY3BpKTsKIHZvaWQg
dnA5X3VwZGF0ZV9idWZmZXJfbGV2ZWxfcHJlZW5jb2RlKHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsK
IHZvaWQgdnA5X3JjX2dldF9zdmNfcGFyYW1zKHN0cnVjdCBWUDlfQ09NUCAqY3BpKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmQuYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X3JkLmMKaW5kZXggOTVjOTU5NzFjNTQ1Li4zNGM3NDQyNGNlMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3JkLmMKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cDkvZW5jb2Rlci92cDlfcmQuYwpAQCAtMTk3LDc0ICsxOTcsMjggQEAgc3RhdGljIGNvbnN0IGlu
dCByZF9ib29zdF9mYWN0b3JbMTZdID0geyA2NCwgMzIsIDMyLCAzMiwgMjQsIDE2LCAxMiwgMTIs
CiBzdGF0aWMgY29uc3QgaW50IHJkX2ZyYW1lX3R5cGVfZmFjdG9yW0ZSQU1FX1VQREFURV9UWVBF
U10gPSB7IDEyOCwgMTQ0LCAxMjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyOCwgMTQ0LCAxNDQgfTsKIAotLy8gQ29uZmln
dXJlIFZpemllciBSRCBwYXJhbWV0ZXJzLgotLy8gTGF0ZXIgdGhpcyBmdW5jdGlvbiB3aWxsIHVz
ZSBwYXNzZWQgaW4gY29tbWFuZCBsaW5lIHZhbHVlcy4KLXZvaWQgdnA5X2luaXRfcmRfcGFyYW1l
dGVycyhWUDlfQ09NUCAqY3BpKSB7Ci0gIFJEX0NPTlRST0wgKmNvbnN0IHJkYyA9ICZjcGktPnJk
X2N0cmw7Ci0KLSAgLy8gV2hlbiB8dXNlX3Zpemllcl9yY19wYXJhbXN8IGlzIDEsIHdlIGV4cGVj
dCB0aGUgcmQgcGFyYW1ldGVycyBoYXZlIGJlZW4KLSAgLy8gaW5pdGlhbGl6ZWQgYnkgdGhlIHBh
c3MgaW4gdmFsdWVzLgotICAvLyBCZSBjYXJlZnVsIHRoYXQgcGFyYW1ldGVycyBiZWxvdyBhcmUg
b25seSBpbml0aWFsaXplZCB0byAxLCBpZiB3ZSBkbyBub3QKLSAgLy8gcGFzcyB2YWx1ZXMgdG8g
dGhlbS4gSXQgaXMgZGVzaXJlZCB0byB0YWtlIGNhcmUgb2YgZWFjaCBwYXJhbWV0ZXIgd2hlbgot
ICAvLyB1c2luZyB8dXNlX3Zpemllcl9yY19wYXJhbXN8LgotICBpZiAoY3BpLT50d29wYXNzLnVz
ZV92aXppZXJfcmNfcGFyYW1zKSByZXR1cm47Ci0KLSAgLy8gTWFrZSBzdXJlIHRoaXMgZnVuY3Rp
b24gaXMgZmxvYXRpbmcgcG9pbnQgc2FmZS4KLSAgdnB4X2NsZWFyX3N5c3RlbV9zdGF0ZSgpOwot
Ci0gIHJkYy0+cmRfbXVsdF9pbnRlcl9xcF9mYWMgPSAxLjA7Ci0gIHJkYy0+cmRfbXVsdF9hcmZf
cXBfZmFjID0gMS4wOwotICByZGMtPnJkX211bHRfa2V5X3FwX2ZhYyA9IDEuMDsKLX0KLQotLy8g
UmV0dXJucyB0aGUgZGVmYXVsdCByZCBtdWx0aXBsaWVyIGZvciBpbnRlciBmcmFtZXMgZm9yIGEg
Z2l2ZW4gcWluZGV4LgotLy8gVGhlIGZ1bmN0aW9uIGhlcmUgaXMgYSBmaXJzdCBwYXNzIGVzdGlt
YXRlIGJhc2VkIG9uIGRhdGEgZnJvbQotLy8gYSBwcmV2aW91cyBWaXplciBydW4KLXN0YXRpYyBk
b3VibGUgZGVmX2ludGVyX3JkX211bHRpcGxpZXIoaW50IHFpbmRleCkgewotICByZXR1cm4gNC4x
NSArICgwLjAwMSAqIChkb3VibGUpcWluZGV4KTsKLX0KLQotLy8gUmV0dXJucyB0aGUgZGVmYXVs
dCByZCBtdWx0aXBsaWVyIGZvciBBUkYvR29sZGVuIEZyYW1lcyBmb3IgYSBnaXZlbiBxaW5kZXgu
Ci0vLyBUaGUgZnVuY3Rpb24gaGVyZSBpcyBhIGZpcnN0IHBhc3MgZXN0aW1hdGUgYmFzZWQgb24g
ZGF0YSBmcm9tCi0vLyBhIHByZXZpb3VzIFZpemVyIHJ1bgotc3RhdGljIGRvdWJsZSBkZWZfYXJm
X3JkX211bHRpcGxpZXIoaW50IHFpbmRleCkgewotICByZXR1cm4gNC4yNSArICgwLjAwMSAqIChk
b3VibGUpcWluZGV4KTsKLX0KLQotLy8gUmV0dXJucyB0aGUgZGVmYXVsdCByZCBtdWx0aXBsaWVy
IGZvciBrZXkgZnJhbWVzIGZvciBhIGdpdmVuIHFpbmRleC4KLS8vIFRoZSBmdW5jdGlvbiBoZXJl
IGlzIGEgZmlyc3QgcGFzcyBlc3RpbWF0ZSBiYXNlZCBvbiBkYXRhIGZyb20KLS8vIGEgcHJldmlv
dXMgVml6ZXIgcnVuCi1zdGF0aWMgZG91YmxlIGRlZl9rZl9yZF9tdWx0aXBsaWVyKGludCBxaW5k
ZXgpIHsKLSAgcmV0dXJuIDQuMzUgKyAoMC4wMDEgKiAoZG91YmxlKXFpbmRleCk7Ci19Ci0KIGlu
dCB2cDlfY29tcHV0ZV9yZF9tdWx0X2Jhc2VkX29uX3FpbmRleChjb25zdCBWUDlfQ09NUCAqY3Bp
LCBpbnQgcWluZGV4KSB7Ci0gIGNvbnN0IFJEX0NPTlRST0wgKnJkYyA9ICZjcGktPnJkX2N0cmw7
CisgIC8vIGxhcmdlc3QgZGNfcXVhbnQgaXMgMjEzODcsIHRoZXJlZm9yZSByZG11bHQgc2hvdWxk
IGFsd2F5cyBmaXQgaW4gaW50MzJfdAogICBjb25zdCBpbnQgcSA9IHZwOV9kY19xdWFudChxaW5k
ZXgsIDAsIGNwaS0+Y29tbW9uLmJpdF9kZXB0aCk7Ci0gIC8vIGxhcmdlc3QgZGNfcXVhbnQgaXMg
MjEzODcsIHRoZXJlZm9yZSByZG11bHQgc2hvdWxkIGZpdCBpbiBpbnQzMl90Ci0gIGludCByZG11
bHQgPSBxICogcTsKLQotICBpZiAoY3BpLT5leHRfcmF0ZWN0cmwucmVhZHkgJiYKLSAgICAgIChj
cGktPmV4dF9yYXRlY3RybC5mdW5jcy5yY190eXBlICYgVlBYX1JDX1JETVVMVCkgIT0gMCAmJgot
ICAgICAgY3BpLT5leHRfcmF0ZWN0cmwuZXh0X3JkbXVsdCAhPSBWUFhfREVGQVVMVF9SRE1VTFQp
IHsKLSAgICByZXR1cm4gY3BpLT5leHRfcmF0ZWN0cmwuZXh0X3JkbXVsdDsKLSAgfQotCi0gIC8v
IE1ha2Ugc3VyZSB0aGlzIGZ1bmN0aW9uIGlzIGZsb2F0aW5nIHBvaW50IHNhZmUuCi0gIHZweF9j
bGVhcl9zeXN0ZW1fc3RhdGUoKTsKLQotICBpZiAoY3BpLT5jb21tb24uZnJhbWVfdHlwZSA9PSBL
RVlfRlJBTUUpIHsKLSAgICBkb3VibGUgZGVmX3JkX3FfbXVsdCA9IGRlZl9rZl9yZF9tdWx0aXBs
aWVyKHFpbmRleCk7Ci0gICAgcmRtdWx0ID0gKGludCkoKGRvdWJsZSlyZG11bHQgKiBkZWZfcmRf
cV9tdWx0ICogcmRjLT5yZF9tdWx0X2tleV9xcF9mYWMpOwotICB9IGVsc2UgaWYgKCFjcGktPnJj
LmlzX3NyY19mcmFtZV9hbHRfcmVmICYmCi0gICAgICAgICAgICAgKGNwaS0+cmVmcmVzaF9nb2xk
ZW5fZnJhbWUgfHwgY3BpLT5yZWZyZXNoX2FsdF9yZWZfZnJhbWUpKSB7Ci0gICAgZG91YmxlIGRl
Zl9yZF9xX211bHQgPSBkZWZfYXJmX3JkX211bHRpcGxpZXIocWluZGV4KTsKLSAgICByZG11bHQg
PSAoaW50KSgoZG91YmxlKXJkbXVsdCAqIGRlZl9yZF9xX211bHQgKiByZGMtPnJkX211bHRfYXJm
X3FwX2ZhYyk7CisgIHVpbnQzMl90IHJkbXVsdCA9IHEgKiBxOworCisgIGlmIChjcGktPmNvbW1v
bi5mcmFtZV90eXBlICE9IEtFWV9GUkFNRSkgeworICAgIGlmIChxaW5kZXggPCAxMjgpCisgICAg
ICByZG11bHQgPSByZG11bHQgKiA0OworICAgIGVsc2UgaWYgKHFpbmRleCA8IDE5MCkKKyAgICAg
IHJkbXVsdCA9IHJkbXVsdCAqIDQgKyByZG11bHQgLyAyOworICAgIGVsc2UKKyAgICAgIHJkbXVs
dCA9IHJkbXVsdCAqIDM7CiAgIH0gZWxzZSB7Ci0gICAgZG91YmxlIGRlZl9yZF9xX211bHQgPSBk
ZWZfaW50ZXJfcmRfbXVsdGlwbGllcihxaW5kZXgpOwotICAgIHJkbXVsdCA9IChpbnQpKChkb3Vi
bGUpcmRtdWx0ICogZGVmX3JkX3FfbXVsdCAqIHJkYy0+cmRfbXVsdF9pbnRlcl9xcF9mYWMpOwor
ICAgIGlmIChxaW5kZXggPCA2NCkKKyAgICAgIHJkbXVsdCA9IHJkbXVsdCAqIDQ7CisgICAgZWxz
ZSBpZiAocWluZGV4IDw9IDEyOCkKKyAgICAgIHJkbXVsdCA9IHJkbXVsdCAqIDMgKyByZG11bHQg
LyAyOworICAgIGVsc2UgaWYgKHFpbmRleCA8IDE5MCkKKyAgICAgIHJkbXVsdCA9IHJkbXVsdCAq
IDQgKyByZG11bHQgLyAyOworICAgIGVsc2UKKyAgICAgIHJkbXVsdCA9IHJkbXVsdCAqIDcgKyBy
ZG11bHQgLyAyOwogICB9Ci0KICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogICBzd2l0Y2gg
KGNwaS0+Y29tbW9uLmJpdF9kZXB0aCkgewogICAgIGNhc2UgVlBYX0JJVFNfMTA6IHJkbXVsdCA9
IFJPVU5EX1BPV0VSX09GX1RXTyhyZG11bHQsIDQpOyBicmVhazsKQEAgLTI5MywxMSArMjQ3LDYg
QEAgc3RhdGljIGludCBtb2R1bGF0ZV9yZG11bHQoY29uc3QgVlA5X0NPTVAgKmNwaSwgaW50IHJk
bXVsdCkgewogCiBpbnQgdnA5X2NvbXB1dGVfcmRfbXVsdChjb25zdCBWUDlfQ09NUCAqY3BpLCBp
bnQgcWluZGV4KSB7CiAgIGludCByZG11bHQgPSB2cDlfY29tcHV0ZV9yZF9tdWx0X2Jhc2VkX29u
X3FpbmRleChjcGksIHFpbmRleCk7Ci0gIGlmIChjcGktPmV4dF9yYXRlY3RybC5yZWFkeSAmJgot
ICAgICAgKGNwaS0+ZXh0X3JhdGVjdHJsLmZ1bmNzLnJjX3R5cGUgJiBWUFhfUkNfUkRNVUxUKSAh
PSAwICYmCi0gICAgICBjcGktPmV4dF9yYXRlY3RybC5leHRfcmRtdWx0ICE9IFZQWF9ERUZBVUxU
X1JETVVMVCkgewotICAgIHJldHVybiBjcGktPmV4dF9yYXRlY3RybC5leHRfcmRtdWx0OwotICB9
CiAgIHJldHVybiBtb2R1bGF0ZV9yZG11bHQoY3BpLCByZG11bHQpOwogfQogCkBAIC01MTMsNiAr
NDYyLDIyIEBAIHN0YXRpYyB2b2lkIG1vZGVsX3JkX25vcm0oaW50IHhzcV9xMTAsIGludCAqcl9x
MTAsIGludCAqZF9xMTApIHsKICAgKmRfcTEwID0gKGRpc3RfdGFiX3ExMFt4cV0gKiBiX3ExMCAr
IGRpc3RfdGFiX3ExMFt4cSArIDFdICogYV9xMTApID4+IDEwOwogfQogCitzdGF0aWMgdm9pZCBt
b2RlbF9yZF9ub3JtX3ZlYyhpbnQgeHNxX3ExMFtNQVhfTUJfUExBTkVdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJfcTEwW01BWF9NQl9QTEFORV0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZF9xMTBbTUFYX01CX1BMQU5FXSkgeworICBpbnQgaTsKKyAg
Y29uc3QgaW50IG9uZV9xMTAgPSAxIDw8IDEwOworICBmb3IgKGkgPSAwOyBpIDwgTUFYX01CX1BM
QU5FOyArK2kpIHsKKyAgICBjb25zdCBpbnQgdG1wID0gKHhzcV9xMTBbaV0gPj4gMikgKyA4Owor
ICAgIGNvbnN0IGludCBrID0gZ2V0X21zYih0bXApIC0gMzsKKyAgICBjb25zdCBpbnQgeHEgPSAo
ayA8PCAzKSArICgodG1wID4+IGspICYgMHg3KTsKKyAgICBjb25zdCBpbnQgYV9xMTAgPSAoKHhz
cV9xMTBbaV0gLSB4c3FfaXFfcTEwW3hxXSkgPDwgMTApID4+ICgyICsgayk7CisgICAgY29uc3Qg
aW50IGJfcTEwID0gb25lX3ExMCAtIGFfcTEwOworICAgIHJfcTEwW2ldID0gKHJhdGVfdGFiX3Ex
MFt4cV0gKiBiX3ExMCArIHJhdGVfdGFiX3ExMFt4cSArIDFdICogYV9xMTApID4+IDEwOworICAg
IGRfcTEwW2ldID0gKGRpc3RfdGFiX3ExMFt4cV0gKiBiX3ExMCArIGRpc3RfdGFiX3ExMFt4cSAr
IDFdICogYV9xMTApID4+IDEwOworICB9Cit9CisKIHN0YXRpYyBjb25zdCB1aW50MzJfdCBNQVhf
WFNRX1ExMCA9IDI0NTcyNzsKIAogdm9pZCB2cDlfbW9kZWxfcmRfZnJvbV92YXJfbGFwbmR6KHVu
c2lnbmVkIGludCB2YXIsIHVuc2lnbmVkIGludCBuX2xvZzIsCkBAIC01MzgsMTIgKzUwMywzMCBA
QCB2b2lkIHZwOV9tb2RlbF9yZF9mcm9tX3Zhcl9sYXBuZHoodW5zaWduZWQgaW50IHZhciwgdW5z
aWduZWQgaW50IG5fbG9nMiwKICAgfQogfQogCi0vLyBEaXNhYmxlIGdjYyAxMi4yIGZhbHNlIHBv
c2l0aXZlIHdhcm5pbmcuCi0vLyB3YXJuaW5nOiB3cml0aW5nIDEgYnl0ZSBpbnRvIGEgcmVnaW9u
IG9mIHNpemUgMCBbLVdzdHJpbmdvcC1vdmVyZmxvdz1dCi0jaWYgZGVmaW5lZChfX0dOVUNfXykg
JiYgIWRlZmluZWQoX19jbGFuZ19fKQotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0jcHJh
Z21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3Atb3ZlcmZsb3ciCi0jZW5kaWYK
Ky8vIEltcGxlbWVudHMgYSBmaXhlZCBsZW5ndGggdmVjdG9yIGZvcm0gb2YgdnA5X21vZGVsX3Jk
X2Zyb21fdmFyX2xhcG5keiB3aGVyZQorLy8gdmVjdG9ycyBhcmUgb2YgbGVuZ3RoIE1BWF9NQl9Q
TEFORSBhbmQgYWxsIGVsZW1lbnRzIG9mIHZhciBhcmUgbm9uLXplcm8uCit2b2lkIHZwOV9tb2Rl
bF9yZF9mcm9tX3Zhcl9sYXBuZHpfdmVjKHVuc2lnbmVkIGludCB2YXJbTUFYX01CX1BMQU5FXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5fbG9n
MltNQVhfTUJfUExBTkVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgcXN0ZXBbTUFYX01CX1BMQU5FXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50NjRfdCAqcmF0ZV9zdW0sIGludDY0X3QgKmRpc3Rfc3VtKSB7Cisg
IGludCBpOworICBpbnQgeHNxX3ExMFtNQVhfTUJfUExBTkVdLCBkX3ExMFtNQVhfTUJfUExBTkVd
LCByX3ExMFtNQVhfTUJfUExBTkVdOworICBmb3IgKGkgPSAwOyBpIDwgTUFYX01CX1BMQU5FOyAr
K2kpIHsKKyAgICBjb25zdCB1aW50NjRfdCB4c3FfcTEwXzY0ID0KKyAgICAgICAgKCgodWludDY0
X3QpcXN0ZXBbaV0gKiBxc3RlcFtpXSA8PCAobl9sb2cyW2ldICsgMTApKSArICh2YXJbaV0gPj4g
MSkpIC8KKyAgICAgICAgdmFyW2ldOworICAgIHhzcV9xMTBbaV0gPSAoaW50KVZQWE1JTih4c3Ff
cTEwXzY0LCBNQVhfWFNRX1ExMCk7CisgIH0KKyAgbW9kZWxfcmRfbm9ybV92ZWMoeHNxX3ExMCwg
cl9xMTAsIGRfcTEwKTsKKyAgZm9yIChpID0gMDsgaSA8IE1BWF9NQl9QTEFORTsgKytpKSB7Cisg
ICAgaW50IHJhdGUgPQorICAgICAgICBST1VORF9QT1dFUl9PRl9UV08ocl9xMTBbaV0gPDwgbl9s
b2cyW2ldLCAxMCAtIFZQOV9QUk9CX0NPU1RfU0hJRlQpOworICAgIGludDY0X3QgZGlzdCA9ICh2
YXJbaV0gKiAoaW50NjRfdClkX3ExMFtpXSArIDUxMikgPj4gMTA7CisgICAgKnJhdGVfc3VtICs9
IHJhdGU7CisgICAgKmRpc3Rfc3VtICs9IGRpc3Q7CisgIH0KK30KKwogdm9pZCB2cDlfZ2V0X2Vu
dHJvcHlfY29udGV4dHMoQkxPQ0tfU0laRSBic2l6ZSwgVFhfU0laRSB0eF9zaXplLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tkX3BsYW5lICpw
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVOVFJPUFlfQ09OVEVYVCB0X2Fib3Zl
WzE2XSwKQEAgLTU4MSw5ICs1NjQsNiBAQCB2b2lkIHZwOV9nZXRfZW50cm9weV9jb250ZXh0cyhC
TE9DS19TSVpFIGJzaXplLCBUWF9TSVpFIHR4X3NpemUsCiAgICAgICBicmVhazsKICAgfQogfQot
I2lmIGRlZmluZWQoX19HTlVDX18pICYmICFkZWZpbmVkKF9fY2xhbmdfXykKLSNwcmFnbWEgR0ND
IGRpYWdub3N0aWMgcG9wCi0jZW5kaWYKIAogdm9pZCB2cDlfbXZfcHJlZChWUDlfQ09NUCAqY3Bp
LCBNQUNST0JMT0NLICp4LCB1aW50OF90ICpyZWZfeV9idWZmZXIsCiAgICAgICAgICAgICAgICAg
IGludCByZWZfeV9zdHJpZGUsIGludCByZWZfZnJhbWUsIEJMT0NLX1NJWkUgYmxvY2tfc2l6ZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfcmQuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L2VuY29kZXIvdnA5X3JkLmgKaW5kZXggNmM2MWFlNTE0YTI0Li40YzA0Yzk1NDgyMzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3JkLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfcmQuaApAQCAtMTAxLDEzICsxMDEsNiBAQCB0eXBlZGVmIGVu
dW0gewogICBUSFJfSU5UUkEsCiB9IFRIUl9NT0RFU19TVUI4WDg7CiAKLXR5cGVkZWYgc3RydWN0
IHsKLSAgLy8gUkQgbXVsdGlwbGllciBjb250cm9sIGZhY3RvcnMgYWRkZWQgZm9yIFZpemllciBw
cm9qZWN0LgotICBkb3VibGUgcmRfbXVsdF9pbnRlcl9xcF9mYWM7Ci0gIGRvdWJsZSByZF9tdWx0
X2FyZl9xcF9mYWM7Ci0gIGRvdWJsZSByZF9tdWx0X2tleV9xcF9mYWM7Ci19IFJEX0NPTlRST0w7
Ci0KIHR5cGVkZWYgc3RydWN0IFJEX09QVCB7CiAgIC8vIFRocmVzaF9tdWx0IGlzIHVzZWQgdG8g
c2V0IGEgdGhyZXNob2xkIGZvciB0aGUgcmQgc2NvcmUuIEEgaGlnaGVyIHZhbHVlCiAgIC8vIG1l
YW5zIHRoYXQgd2Ugd2lsbCBhY2NlcHQgdGhlIGJlc3QgbW9kZSBzbyBmYXIgbW9yZSBvZnRlbi4g
VGhpcyBudW1iZXIKQEAgLTEyMSw5ICsxMTQsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgUkRfT1BUIHsK
ICAgaW50NjRfdCBwcmVkaWN0aW9uX3R5cGVfdGhyZXNoZXNbTUFYX1JFRl9GUkFNRVNdW1JFRkVS
RU5DRV9NT0RFU107CiAKICAgaW50NjRfdCBmaWx0ZXJfdGhyZXNoZXNbTUFYX1JFRl9GUkFNRVNd
W1NXSVRDSEFCTEVfRklMVEVSX0NPTlRFWFRTXTsKKyNpZiBDT05GSUdfQ09OU0lTVEVOVF9SRUNP
REUgfHwgQ09ORklHX1JBVEVfQ1RSTAogICBpbnQ2NF90IHByZWRpY3Rpb25fdHlwZV90aHJlc2hl
c19wcmV2W01BWF9SRUZfRlJBTUVTXVtSRUZFUkVOQ0VfTU9ERVNdOwogCiAgIGludDY0X3QgZmls
dGVyX3RocmVzaGVzX3ByZXZbTUFYX1JFRl9GUkFNRVNdW1NXSVRDSEFCTEVfRklMVEVSX0NPTlRF
WFRTXTsKKyNlbmRpZiAgLy8gQ09ORklHX0NPTlNJU1RFTlRfUkVDT0RFIHx8IENPTkZJR19SQVRF
X0NUUkwKICAgaW50IFJETVVMVDsKICAgaW50IFJERElWOwogICBkb3VibGUgcjA7CkBAIC0xNDks
OCArMTQ0LDYgQEAgc3RydWN0IFRpbGVEYXRhRW5jOwogc3RydWN0IFZQOV9DT01QOwogc3RydWN0
IG1hY3JvYmxvY2s7CiAKLXZvaWQgdnA5X2luaXRfcmRfcGFyYW1ldGVycyhzdHJ1Y3QgVlA5X0NP
TVAgKmNwaSk7Ci0KIGludCB2cDlfY29tcHV0ZV9yZF9tdWx0X2Jhc2VkX29uX3FpbmRleChjb25z
dCBzdHJ1Y3QgVlA5X0NPTVAgKmNwaSwgaW50IHFpbmRleCk7CiAKIGludCB2cDlfY29tcHV0ZV9y
ZF9tdWx0KGNvbnN0IHN0cnVjdCBWUDlfQ09NUCAqY3BpLCBpbnQgcWluZGV4KTsKQEAgLTE2NCw2
ICsxNTcsMTEgQEAgdm9pZCB2cDlfaW5pdGlhbGl6ZV9tZV9jb25zdHMoc3RydWN0IFZQOV9DT01Q
ICpjcGksIE1BQ1JPQkxPQ0sgKngsIGludCBxaW5kZXgpOwogdm9pZCB2cDlfbW9kZWxfcmRfZnJv
bV92YXJfbGFwbmR6KHVuc2lnbmVkIGludCB2YXIsIHVuc2lnbmVkIGludCBuX2xvZzIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHFzdGVwLCBpbnQgKnJh
dGUsIGludDY0X3QgKmRpc3QpOwogCit2b2lkIHZwOV9tb2RlbF9yZF9mcm9tX3Zhcl9sYXBuZHpf
dmVjKHVuc2lnbmVkIGludCB2YXJbTUFYX01CX1BMQU5FXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5fbG9nMltNQVhfTUJfUExBTkVdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcXN0ZXBbTUFY
X01CX1BMQU5FXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRf
dCAqcmF0ZV9zdW0sIGludDY0X3QgKmRpc3Rfc3VtKTsKKwogaW50IHZwOV9nZXRfc3dpdGNoYWJs
ZV9yYXRlKGNvbnN0IHN0cnVjdCBWUDlfQ09NUCAqY3BpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IE1BQ1JPQkxPQ0tEICpjb25zdCB4ZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Jkb3B0LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV9yZG9wdC5jCmluZGV4IGZjMDY5NjcxMDUzZi4uMzdkZTRlNDgzOTk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9yZG9wdC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X3Jkb3B0LmMKQEAgLTc3LDcgKzc3LDcgQEAgc3RydWN0IHJkY29zdF9ibG9ja19h
cmdzIHsKICAgaW50NjRfdCBiZXN0X3JkOwogICBpbnQgZXhpdF9lYXJseTsKICAgaW50IHVzZV9m
YXN0X2NvZWZfY29zdGluZzsKLSAgY29uc3QgU2Nhbk9yZGVyICpzbzsKKyAgY29uc3Qgc2Nhbl9v
cmRlciAqc287CiAgIHVpbnQ4X3Qgc2tpcHBhYmxlOwogICBzdHJ1Y3QgYnVmXzJkICp0aGlzX3Jl
Y29uOwogfTsKQEAgLTg2LDI4ICs4NiwyOCBAQCBzdHJ1Y3QgcmRjb3N0X2Jsb2NrX2FyZ3Mgewog
CiAjaWYgIUNPTkZJR19SRUFMVElNRV9PTkxZCiBzdGF0aWMgY29uc3QgTU9ERV9ERUZJTklUSU9O
IHZwOV9tb2RlX29yZGVyW01BWF9NT0RFU10gPSB7Ci0gIHsgTkVBUkVTVE1WLCB7IExBU1RfRlJB
TUUsIE5PX1JFRl9GUkFNRSB9IH0sCi0gIHsgTkVBUkVTVE1WLCB7IEFMVFJFRl9GUkFNRSwgTk9f
UkVGX0ZSQU1FIH0gfSwKLSAgeyBORUFSRVNUTVYsIHsgR09MREVOX0ZSQU1FLCBOT19SRUZfRlJB
TUUgfSB9LAorICB7IE5FQVJFU1RNViwgeyBMQVNUX0ZSQU1FLCBOT05FIH0gfSwKKyAgeyBORUFS
RVNUTVYsIHsgQUxUUkVGX0ZSQU1FLCBOT05FIH0gfSwKKyAgeyBORUFSRVNUTVYsIHsgR09MREVO
X0ZSQU1FLCBOT05FIH0gfSwKIAotICB7IERDX1BSRUQsIHsgSU5UUkFfRlJBTUUsIE5PX1JFRl9G
UkFNRSB9IH0sCisgIHsgRENfUFJFRCwgeyBJTlRSQV9GUkFNRSwgTk9ORSB9IH0sCiAKLSAgeyBO
RVdNViwgeyBMQVNUX0ZSQU1FLCBOT19SRUZfRlJBTUUgfSB9LAotICB7IE5FV01WLCB7IEFMVFJF
Rl9GUkFNRSwgTk9fUkVGX0ZSQU1FIH0gfSwKLSAgeyBORVdNViwgeyBHT0xERU5fRlJBTUUsIE5P
X1JFRl9GUkFNRSB9IH0sCisgIHsgTkVXTVYsIHsgTEFTVF9GUkFNRSwgTk9ORSB9IH0sCisgIHsg
TkVXTVYsIHsgQUxUUkVGX0ZSQU1FLCBOT05FIH0gfSwKKyAgeyBORVdNViwgeyBHT0xERU5fRlJB
TUUsIE5PTkUgfSB9LAogCi0gIHsgTkVBUk1WLCB7IExBU1RfRlJBTUUsIE5PX1JFRl9GUkFNRSB9
IH0sCi0gIHsgTkVBUk1WLCB7IEFMVFJFRl9GUkFNRSwgTk9fUkVGX0ZSQU1FIH0gfSwKLSAgeyBO
RUFSTVYsIHsgR09MREVOX0ZSQU1FLCBOT19SRUZfRlJBTUUgfSB9LAorICB7IE5FQVJNViwgeyBM
QVNUX0ZSQU1FLCBOT05FIH0gfSwKKyAgeyBORUFSTVYsIHsgQUxUUkVGX0ZSQU1FLCBOT05FIH0g
fSwKKyAgeyBORUFSTVYsIHsgR09MREVOX0ZSQU1FLCBOT05FIH0gfSwKIAotICB7IFpFUk9NViwg
eyBMQVNUX0ZSQU1FLCBOT19SRUZfRlJBTUUgfSB9LAotICB7IFpFUk9NViwgeyBHT0xERU5fRlJB
TUUsIE5PX1JFRl9GUkFNRSB9IH0sCi0gIHsgWkVST01WLCB7IEFMVFJFRl9GUkFNRSwgTk9fUkVG
X0ZSQU1FIH0gfSwKKyAgeyBaRVJPTVYsIHsgTEFTVF9GUkFNRSwgTk9ORSB9IH0sCisgIHsgWkVS
T01WLCB7IEdPTERFTl9GUkFNRSwgTk9ORSB9IH0sCisgIHsgWkVST01WLCB7IEFMVFJFRl9GUkFN
RSwgTk9ORSB9IH0sCiAKICAgeyBORUFSRVNUTVYsIHsgTEFTVF9GUkFNRSwgQUxUUkVGX0ZSQU1F
IH0gfSwKICAgeyBORUFSRVNUTVYsIHsgR09MREVOX0ZSQU1FLCBBTFRSRUZfRlJBTUUgfSB9LAog
Ci0gIHsgVE1fUFJFRCwgeyBJTlRSQV9GUkFNRSwgTk9fUkVGX0ZSQU1FIH0gfSwKKyAgeyBUTV9Q
UkVELCB7IElOVFJBX0ZSQU1FLCBOT05FIH0gfSwKIAogICB7IE5FQVJNViwgeyBMQVNUX0ZSQU1F
LCBBTFRSRUZfRlJBTUUgfSB9LAogICB7IE5FV01WLCB7IExBU1RfRlJBTUUsIEFMVFJFRl9GUkFN
RSB9IH0sCkBAIC0xMTcsMjAgKzExNywyMCBAQCBzdGF0aWMgY29uc3QgTU9ERV9ERUZJTklUSU9O
IHZwOV9tb2RlX29yZGVyW01BWF9NT0RFU10gPSB7CiAgIHsgWkVST01WLCB7IExBU1RfRlJBTUUs
IEFMVFJFRl9GUkFNRSB9IH0sCiAgIHsgWkVST01WLCB7IEdPTERFTl9GUkFNRSwgQUxUUkVGX0ZS
QU1FIH0gfSwKIAotICB7IEhfUFJFRCwgeyBJTlRSQV9GUkFNRSwgTk9fUkVGX0ZSQU1FIH0gfSwK
LSAgeyBWX1BSRUQsIHsgSU5UUkFfRlJBTUUsIE5PX1JFRl9GUkFNRSB9IH0sCi0gIHsgRDEzNV9Q
UkVELCB7IElOVFJBX0ZSQU1FLCBOT19SRUZfRlJBTUUgfSB9LAotICB7IEQyMDdfUFJFRCwgeyBJ
TlRSQV9GUkFNRSwgTk9fUkVGX0ZSQU1FIH0gfSwKLSAgeyBEMTUzX1BSRUQsIHsgSU5UUkFfRlJB
TUUsIE5PX1JFRl9GUkFNRSB9IH0sCi0gIHsgRDYzX1BSRUQsIHsgSU5UUkFfRlJBTUUsIE5PX1JF
Rl9GUkFNRSB9IH0sCi0gIHsgRDExN19QUkVELCB7IElOVFJBX0ZSQU1FLCBOT19SRUZfRlJBTUUg
fSB9LAotICB7IEQ0NV9QUkVELCB7IElOVFJBX0ZSQU1FLCBOT19SRUZfRlJBTUUgfSB9LAorICB7
IEhfUFJFRCwgeyBJTlRSQV9GUkFNRSwgTk9ORSB9IH0sCisgIHsgVl9QUkVELCB7IElOVFJBX0ZS
QU1FLCBOT05FIH0gfSwKKyAgeyBEMTM1X1BSRUQsIHsgSU5UUkFfRlJBTUUsIE5PTkUgfSB9LAor
ICB7IEQyMDdfUFJFRCwgeyBJTlRSQV9GUkFNRSwgTk9ORSB9IH0sCisgIHsgRDE1M19QUkVELCB7
IElOVFJBX0ZSQU1FLCBOT05FIH0gfSwKKyAgeyBENjNfUFJFRCwgeyBJTlRSQV9GUkFNRSwgTk9O
RSB9IH0sCisgIHsgRDExN19QUkVELCB7IElOVFJBX0ZSQU1FLCBOT05FIH0gfSwKKyAgeyBENDVf
UFJFRCwgeyBJTlRSQV9GUkFNRSwgTk9ORSB9IH0sCiB9OwogCiBzdGF0aWMgY29uc3QgUkVGX0RF
RklOSVRJT04gdnA5X3JlZl9vcmRlcltNQVhfUkVGU10gPSB7Ci0gIHsgeyBMQVNUX0ZSQU1FLCBO
T19SRUZfRlJBTUUgfSB9LCAgIHsgeyBHT0xERU5fRlJBTUUsIE5PX1JFRl9GUkFNRSB9IH0sCi0g
IHsgeyBBTFRSRUZfRlJBTUUsIE5PX1JFRl9GUkFNRSB9IH0sIHsgeyBMQVNUX0ZSQU1FLCBBTFRS
RUZfRlJBTUUgfSB9LAotICB7IHsgR09MREVOX0ZSQU1FLCBBTFRSRUZfRlJBTUUgfSB9LCB7IHsg
SU5UUkFfRlJBTUUsIE5PX1JFRl9GUkFNRSB9IH0sCisgIHsgeyBMQVNUX0ZSQU1FLCBOT05FIH0g
fSwgICAgICAgICAgIHsgeyBHT0xERU5fRlJBTUUsIE5PTkUgfSB9LAorICB7IHsgQUxUUkVGX0ZS
QU1FLCBOT05FIH0gfSwgICAgICAgICB7IHsgTEFTVF9GUkFNRSwgQUxUUkVGX0ZSQU1FIH0gfSwK
KyAgeyB7IEdPTERFTl9GUkFNRSwgQUxUUkVGX0ZSQU1FIH0gfSwgeyB7IElOVFJBX0ZSQU1FLCBO
T05FIH0gfSwKIH07CiAjZW5kaWYgIC8vICFDT05GSUdfUkVBTFRJTUVfT05MWQogCkBAIC0xNjAs
MTMgKzE2MCwxMCBAQCBzdGF0aWMgdm9pZCBzd2FwX2Jsb2NrX3B0cihNQUNST0JMT0NLICp4LCBQ
SUNLX01PREVfQ09OVEVYVCAqY3R4LCBpbnQgbSwgaW50IG4sCiB9CiAKICNpZiAhQ09ORklHX1JF
QUxUSU1FX09OTFkKLS8vIFBsYW5ld2lzZSBidWlsZCBpbnRlciBwcmVkaWN0aW9uIGFuZCBjb21w
dXRlIHJkY29zdCB3aXRoIGVhcmx5IHRlcm1pbmF0aW9uCi0vLyBvcHRpb24KLXN0YXRpYyBpbnQg
YnVpbGRfaW50ZXJfcHJlZF9tb2RlbF9yZF9lYXJseXRlcm0oCi0gICAgVlA5X0NPTVAgKmNwaSwg
aW50IG1pX3JvdywgaW50IG1pX2NvbCwgQkxPQ0tfU0laRSBic2l6ZSwgTUFDUk9CTE9DSyAqeCwK
LSAgICBNQUNST0JMT0NLRCAqeGQsIGludCAqb3V0X3JhdGVfc3VtLCBpbnQ2NF90ICpvdXRfZGlz
dF9zdW0sCi0gICAgaW50ICpza2lwX3R4Zm1fc2IsIGludDY0X3QgKnNraXBfc3NlX3NiLCBpbnQg
ZG9fZWFybHl0ZXJtLAotICAgIGludDY0X3QgYmVzdF9yZCkgeworc3RhdGljIHZvaWQgbW9kZWxf
cmRfZm9yX3NiKFZQOV9DT01QICpjcGksIEJMT0NLX1NJWkUgYnNpemUsIE1BQ1JPQkxPQ0sgKngs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFDUk9CTE9DS0QgKnhkLCBpbnQgKm91dF9y
YXRlX3N1bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90ICpvdXRfZGlzdF9z
dW0sIGludCAqc2tpcF90eGZtX3NiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0
X3QgKnNraXBfc3NlX3NiKSB7CiAgIC8vIE5vdGUgb3VyIHRyYW5zZm9ybSBjb2VmZnMgYXJlIDgg
dGltZXMgYW4gb3J0aG9nb25hbCB0cmFuc2Zvcm0uCiAgIC8vIEhlbmNlIHF1YW50aXplciBzdGVw
IGlzIGFsc28gOCB0aW1lcy4gVG8gZ2V0IGVmZmVjdGl2ZSBxdWFudGl6ZXIKICAgLy8gd2UgbmVl
ZCB0byBkaXZpZGUgYnkgOCBiZWZvcmUgc2VuZGluZyB0byBtb2RlbGluZyBmdW5jdGlvbi4KQEAg
LTE3OSwxNSArMTc2LDE5IEBAIHN0YXRpYyBpbnQgYnVpbGRfaW50ZXJfcHJlZF9tb2RlbF9yZF9l
YXJseXRlcm0oCiAgIGludDY0X3QgdG90YWxfc3NlID0gMDsKICAgaW50IHNraXBfZmxhZyA9IDE7
CiAgIGNvbnN0IGludCBzaGlmdCA9IDY7CisgIGludDY0X3QgZGlzdDsKICAgY29uc3QgaW50IGRl
cXVhbnRfc2hpZnQgPQogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICiAgICAgICAoeGQtPmN1
cl9idWYtPmZsYWdzICYgWVYxMl9GTEFHX0hJR0hCSVRERVBUSCkgPyB4ZC0+YmQgLSA1IDoKICNl
bmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzOworICB1bnNpZ25lZCBpbnQgcXN0ZXBfdmVj
W01BWF9NQl9QTEFORV07CisgIHVuc2lnbmVkIGludCBubG9nMl92ZWNbTUFYX01CX1BMQU5FXTsK
KyAgdW5zaWduZWQgaW50IHN1bV9zc2VfdmVjW01BWF9NQl9QTEFORV07CisgIGludCBhbnlfemVy
b19zdW1fc3NlID0gMDsKIAogICB4LT5wcmVkX3NzZVtyZWZdID0gMDsKIAotICAvLyBCdWlsZCBw
cmVkaWN0aW9uIHNpZ25hbCwgY29tcHV0ZSBzdGF0cyBhbmQgUkQgY29zdCBvbiBwZXItcGxhbmUg
YmFzaXMKICAgZm9yIChpID0gMDsgaSA8IE1BWF9NQl9QTEFORTsgKytpKSB7CiAgICAgc3RydWN0
IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IHAgPSAmeC0+cGxhbmVbaV07CiAgICAgc3RydWN0IG1h
Y3JvYmxvY2tkX3BsYW5lICpjb25zdCBwZCA9ICZ4ZC0+cGxhbmVbaV07CkBAIC0yMDYsMTQgKzIw
Nyw3IEBAIHN0YXRpYyBpbnQgYnVpbGRfaW50ZXJfcHJlZF9tb2RlbF9yZF9lYXJseXRlcm0oCiAg
ICAgaW50IGlkeCwgaWR5OwogICAgIGludCBsdyA9IGJfd2lkdGhfbG9nMl9sb29rdXBbdW5pdF9z
aXplXSArIDI7CiAgICAgaW50IGxoID0gYl9oZWlnaHRfbG9nMl9sb29rdXBbdW5pdF9zaXplXSAr
IDI7Ci0gICAgdW5zaWduZWQgaW50IHFzdGVwOwotICAgIHVuc2lnbmVkIGludCBubG9nMjsKLSAg
ICBpbnQ2NF90IGRpc3QgPSAwOwogCi0gICAgLy8gQnVpbGQgaW50ZXIgcHJlZGljdG9yCi0gICAg
dnA5X2J1aWxkX2ludGVyX3ByZWRpY3RvcnNfc2JwKHhkLCBtaV9yb3csIG1pX2NvbCwgYnNpemUs
IGkpOwotCi0gICAgLy8gQ29tcHV0ZSB1c2VmdWwgc3RhdHMKICAgICBmb3IgKGlkeSA9IDA7IGlk
eSA8IGJoOyArK2lkeSkgewogICAgICAgZm9yIChpZHggPSAwOyBpZHggPCBidzsgKytpZHgpIHsK
ICAgICAgICAgdWludDhfdCAqc3JjID0gcC0+c3JjLmJ1ZiArIChpZHkgKiBwLT5zcmMuc3RyaWRl
IDw8IGxoKSArIChpZHggPDwgbHcpOwpAQCAtMjQ5LDM2ICsyNDMsNDYgQEAgc3RhdGljIGludCBi
dWlsZF9pbnRlcl9wcmVkX21vZGVsX3JkX2Vhcmx5dGVybSgKICAgICB9CiAKICAgICB0b3RhbF9z
c2UgKz0gc3VtX3NzZTsKLSAgICBxc3RlcCA9IHBkLT5kZXF1YW50WzFdID4+IGRlcXVhbnRfc2hp
ZnQ7Ci0gICAgbmxvZzIgPSBudW1fcGVsc19sb2cyX2xvb2t1cFtic107CisgICAgc3VtX3NzZV92
ZWNbaV0gPSBzdW1fc3NlOworICAgIGFueV96ZXJvX3N1bV9zc2UgPSBhbnlfemVyb19zdW1fc3Nl
IHx8IChzdW1fc3NlID09IDApOworICAgIHFzdGVwX3ZlY1tpXSA9IHBkLT5kZXF1YW50WzFdID4+
IGRlcXVhbnRfc2hpZnQ7CisgICAgbmxvZzJfdmVjW2ldID0gbnVtX3BlbHNfbG9nMl9sb29rdXBb
YnNdOworICB9CiAKLSAgICAvLyBGYXN0IGFwcHJveGltYXRlIHRoZSBtb2RlbGxpbmcgZnVuY3Rp
b24uCi0gICAgaWYgKGNwaS0+c2Yuc2ltcGxlX21vZGVsX3JkX2Zyb21fdmFyKSB7CisgIC8vIEZh
c3QgYXBwcm94aW1hdGUgdGhlIG1vZGVsbGluZyBmdW5jdGlvbi4KKyAgaWYgKGNwaS0+c2Yuc2lt
cGxlX21vZGVsX3JkX2Zyb21fdmFyKSB7CisgICAgZm9yIChpID0gMDsgaSA8IE1BWF9NQl9QTEFO
RTsgKytpKSB7CiAgICAgICBpbnQ2NF90IHJhdGU7Ci0gICAgICBpZiAocXN0ZXAgPCAxMjApCi0g
ICAgICAgIHJhdGUgPSAoKGludDY0X3Qpc3VtX3NzZSAqICgyODAgLSBxc3RlcCkpID4+ICgxNiAt
IFZQOV9QUk9CX0NPU1RfU0hJRlQpOworICAgICAgY29uc3QgaW50NjRfdCBzcXVhcmVfZXJyb3Ig
PSBzdW1fc3NlX3ZlY1tpXTsKKyAgICAgIGludCBxdWFudGl6ZXIgPSBxc3RlcF92ZWNbaV07CisK
KyAgICAgIGlmIChxdWFudGl6ZXIgPCAxMjApCisgICAgICAgIHJhdGUgPSAoc3F1YXJlX2Vycm9y
ICogKDI4MCAtIHF1YW50aXplcikpID4+ICgxNiAtIFZQOV9QUk9CX0NPU1RfU0hJRlQpOwogICAg
ICAgZWxzZQogICAgICAgICByYXRlID0gMDsKLSAgICAgIGRpc3QgPSAoKGludDY0X3Qpc3VtX3Nz
ZSAqIHFzdGVwKSA+PiA4OwotICAgICAgcmF0ZV9zdW0gKz0gcmF0ZTsKLSAgICB9IGVsc2Ugewot
ICAgICAgaW50IHJhdGU7Ci0gICAgICB2cDlfbW9kZWxfcmRfZnJvbV92YXJfbGFwbmR6KHN1bV9z
c2UsIG5sb2cyLCBxc3RlcCwgJnJhdGUsICZkaXN0KTsKKyAgICAgIGRpc3QgPSAoc3F1YXJlX2Vy
cm9yICogcXVhbnRpemVyKSA+PiA4OwogICAgICAgcmF0ZV9zdW0gKz0gcmF0ZTsKKyAgICAgIGRp
c3Rfc3VtICs9IGRpc3Q7CiAgICAgfQotICAgIGRpc3Rfc3VtICs9IGRpc3Q7Ci0gICAgaWYgKGRv
X2Vhcmx5dGVybSkgewotICAgICAgaWYgKFJEQ09TVCh4LT5yZG11bHQsIHgtPnJkZGl2LCByYXRl
X3N1bSwKLSAgICAgICAgICAgICAgICAgZGlzdF9zdW0gPDwgVlA5X0RJU1RfU0NBTEVfTE9HMikg
Pj0gYmVzdF9yZCkKLSAgICAgICAgcmV0dXJuIDE7CisgIH0gZWxzZSB7CisgICAgaWYgKGFueV96
ZXJvX3N1bV9zc2UpIHsKKyAgICAgIGZvciAoaSA9IDA7IGkgPCBNQVhfTUJfUExBTkU7ICsraSkg
eworICAgICAgICBpbnQgcmF0ZTsKKyAgICAgICAgdnA5X21vZGVsX3JkX2Zyb21fdmFyX2xhcG5k
eihzdW1fc3NlX3ZlY1tpXSwgbmxvZzJfdmVjW2ldLCBxc3RlcF92ZWNbaV0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJhdGUsICZkaXN0KTsKKyAgICAgICAgcmF0ZV9z
dW0gKz0gcmF0ZTsKKyAgICAgICAgZGlzdF9zdW0gKz0gZGlzdDsKKyAgICAgIH0KKyAgICB9IGVs
c2UgeworICAgICAgdnA5X21vZGVsX3JkX2Zyb21fdmFyX2xhcG5kel92ZWMoc3VtX3NzZV92ZWMs
IG5sb2cyX3ZlYywgcXN0ZXBfdmVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJnJhdGVfc3VtLCAmZGlzdF9zdW0pOwogICAgIH0KICAgfQorCiAgICpza2lwX3R4Zm1f
c2IgPSBza2lwX2ZsYWc7CiAgICpza2lwX3NzZV9zYiA9IHRvdGFsX3NzZSA8PCBWUDlfRElTVF9T
Q0FMRV9MT0cyOwogICAqb3V0X3JhdGVfc3VtID0gKGludClyYXRlX3N1bTsKICAgKm91dF9kaXN0
X3N1bSA9IGRpc3Rfc3VtIDw8IFZQOV9ESVNUX1NDQUxFX0xPRzI7Ci0KLSAgcmV0dXJuIDA7CiB9
CiAjZW5kaWYgIC8vICFDT05GSUdfUkVBTFRJTUVfT05MWQogCkBAIC00NTgsNiArNDYyLDExIEBA
IHN0YXRpYyBpbnQgY29zdF9jb2VmZnMoTUFDUk9CTE9DSyAqeCwgaW50IHBsYW5lLCBpbnQgYmxv
Y2ssIFRYX1NJWkUgdHhfc2l6ZSwKICAgcmV0dXJuIGNvc3Q7CiB9CiAKK3N0YXRpYyBJTkxJTkUg
aW50IG51bV80eDRfdG9fZWRnZShpbnQgcGxhbmVfNHg0X2RpbSwgaW50IG1iX3RvX2VkZ2VfZGlt
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdWJzYW1wbGluZ19kaW0s
IGludCBibGtfZGltKSB7CisgIHJldHVybiBwbGFuZV80eDRfZGltICsgKG1iX3RvX2VkZ2VfZGlt
ID4+ICg1ICsgc3Vic2FtcGxpbmdfZGltKSkgLSBibGtfZGltOworfQorCiAvLyBDb3B5IGFsbCB2
aXNpYmxlIDR4NHMgaW4gdGhlIHRyYW5zZm9ybSBibG9jay4KIHN0YXRpYyB2b2lkIGNvcHlfYmxv
Y2tfdmlzaWJsZShjb25zdCBNQUNST0JMT0NLRCAqeGQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tkX3BsYW5lICpjb25zdCBwZCwKQEAgLTU1
OCwxMSArNTY3LDQ3IEBAIHN0YXRpYyB1bnNpZ25lZCBwaXhlbF9zc2UoY29uc3QgVlA5X0NPTVAg
KmNvbnN0IGNwaSwgY29uc3QgTUFDUk9CTE9DS0QgKnhkLAogICByZXR1cm4gc3NlOwogfQogCisv
LyBDb21wdXRlIHRoZSBzcXVhcmVzIHN1bSBzcXVhcmVzIG9uIGFsbCB2aXNpYmxlIDR4NHMgaW4g
dGhlIHRyYW5zZm9ybSBibG9jay4KK3N0YXRpYyBpbnQ2NF90IHN1bV9zcXVhcmVzX3Zpc2libGUo
Y29uc3QgTUFDUk9CTE9DS0QgKnhkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja2RfcGxhbmUgKmNvbnN0IHBkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpkaWZmLCBjb25zdCBpbnQgZGlm
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBibGtfcm93
LCBpbnQgYmxrX2NvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
QkxPQ0tfU0laRSBwbGFuZV9ic2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgQkxPQ0tfU0laRSB0eF9ic2l6ZSkgeworICBpbnQ2NF90IHNzZTsKKyAgY29uc3Qg
aW50IHBsYW5lXzR4NF93ID0gbnVtXzR4NF9ibG9ja3Nfd2lkZV9sb29rdXBbcGxhbmVfYnNpemVd
OworICBjb25zdCBpbnQgcGxhbmVfNHg0X2ggPSBudW1fNHg0X2Jsb2Nrc19oaWdoX2xvb2t1cFtw
bGFuZV9ic2l6ZV07CisgIGNvbnN0IGludCB0eF80eDRfdyA9IG51bV80eDRfYmxvY2tzX3dpZGVf
bG9va3VwW3R4X2JzaXplXTsKKyAgY29uc3QgaW50IHR4XzR4NF9oID0gbnVtXzR4NF9ibG9ja3Nf
aGlnaF9sb29rdXBbdHhfYnNpemVdOworICBpbnQgYjR4NHNfdG9fcmlnaHRfZWRnZSA9IG51bV80
eDRfdG9fZWRnZShwbGFuZV80eDRfdywgeGQtPm1iX3RvX3JpZ2h0X2VkZ2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkLT5zdWJzYW1wbGluZ194LCBibGtf
Y29sKTsKKyAgaW50IGI0eDRzX3RvX2JvdHRvbV9lZGdlID0gbnVtXzR4NF90b19lZGdlKHBsYW5l
XzR4NF9oLCB4ZC0+bWJfdG9fYm90dG9tX2VkZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwZC0+c3Vic2FtcGxpbmdfeSwgYmxrX3Jvdyk7CisgIGlmICh0
eF9ic2l6ZSA9PSBCTE9DS180WDQgfHwKKyAgICAgIChiNHg0c190b19yaWdodF9lZGdlID49IHR4
XzR4NF93ICYmIGI0eDRzX3RvX2JvdHRvbV9lZGdlID49IHR4XzR4NF9oKSkgeworICAgIGFzc2Vy
dCh0eF80eDRfdyA9PSB0eF80eDRfaCk7CisgICAgc3NlID0gKGludDY0X3QpdnB4X3N1bV9zcXVh
cmVzXzJkX2kxNihkaWZmLCBkaWZmX3N0cmlkZSwgdHhfNHg0X3cgPDwgMik7CisgIH0gZWxzZSB7
CisgICAgaW50IHIsIGM7CisgICAgaW50IG1heF9yID0gVlBYTUlOKGI0eDRzX3RvX2JvdHRvbV9l
ZGdlLCB0eF80eDRfaCk7CisgICAgaW50IG1heF9jID0gVlBYTUlOKGI0eDRzX3RvX3JpZ2h0X2Vk
Z2UsIHR4XzR4NF93KTsKKyAgICBzc2UgPSAwOworICAgIC8vIGlmIHdlIGFyZSBpbiB0aGUgdW5y
ZXN0cmljdGVkIG1vdGlvbiBib3JkZXIuCisgICAgZm9yIChyID0gMDsgciA8IG1heF9yOyArK3Ip
IHsKKyAgICAgIC8vIFNraXAgdmlzaXRpbmcgdGhlIHN1YiBibG9ja3MgdGhhdCBhcmUgd2hvbGx5
IHdpdGhpbiB0aGUgVU1WLgorICAgICAgZm9yIChjID0gMDsgYyA8IG1heF9jOyArK2MpIHsKKyAg
ICAgICAgc3NlICs9IChpbnQ2NF90KXZweF9zdW1fc3F1YXJlc18yZF9pMTYoCisgICAgICAgICAg
ICBkaWZmICsgciAqIGRpZmZfc3RyaWRlICogNCArIGMgKiA0LCBkaWZmX3N0cmlkZSwgNCk7Cisg
ICAgICB9CisgICAgfQorICB9CisgIHJldHVybiBzc2U7Cit9CisKIHN0YXRpYyB2b2lkIGRpc3Rf
YmxvY2soY29uc3QgVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgaW50IHBsYW5lLAogICAg
ICAgICAgICAgICAgICAgICAgICBCTE9DS19TSVpFIHBsYW5lX2JzaXplLCBpbnQgYmxvY2ssIGlu
dCBibGtfcm93LAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmxrX2NvbCwgVFhfU0laRSB0
eF9zaXplLCBpbnQ2NF90ICpvdXRfZGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50NjRf
dCAqb3V0X3NzZSwgc3RydWN0IGJ1Zl8yZCAqb3V0X3JlY29uLAotICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3NlX2NhbGNfZG9uZSkgeworICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90
ICpvdXRfc3NlLCBzdHJ1Y3QgYnVmXzJkICpvdXRfcmVjb24pIHsKICAgTUFDUk9CTE9DS0QgKmNv
bnN0IHhkID0gJngtPmVfbWJkOwogICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29u
c3QgcCA9ICZ4LT5wbGFuZVtwbGFuZV07CiAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrZF9wbGFu
ZSAqY29uc3QgcGQgPSAmeGQtPnBsYW5lW3BsYW5lXTsKQEAgLTU4OCwxNSArNjMzLDE1IEBAIHN0
YXRpYyB2b2lkIGRpc3RfYmxvY2soY29uc3QgVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwg
aW50IHBsYW5lLAogCiAgICAgaWYgKHgtPnNraXBfZW5jb2RlICYmICFpc19pbnRlcl9ibG9jayh4
ZC0+bWlbMF0pKSB7CiAgICAgICAvLyBUT0RPKGppbmduaW5nKTogdHVuZSB0aGUgbW9kZWwgdG8g
YmV0dGVyIGNhcHR1cmUgdGhlIGRpc3RvcnRpb24uCi0gICAgICBjb25zdCBpbnQ2NF90IG1lYW5f
cXVhbnRfZXJyb3IgPQorICAgICAgY29uc3QgaW50NjRfdCBwID0KICAgICAgICAgICAocGQtPmRl
cXVhbnRbMV0gKiBwZC0+ZGVxdWFudFsxXSAqICgxIDw8IHNzX3R4ZnJtX3NpemUpKSA+PgogI2lm
IENPTkZJR19WUDlfSElHSEJJVERFUFRICiAgICAgICAgICAgKHNoaWZ0ICsgMiArIChiZCAtIDgp
ICogMik7CiAjZWxzZQogICAgICAgICAgIChzaGlmdCArIDIpOwogI2VuZGlmICAvLyBDT05GSUdf
VlA5X0hJR0hCSVRERVBUSAotICAgICAgKm91dF9kaXN0ICs9IChtZWFuX3F1YW50X2Vycm9yID4+
IDQpOwotICAgICAgKm91dF9zc2UgKz0gbWVhbl9xdWFudF9lcnJvcjsKKyAgICAgICpvdXRfZGlz
dCArPSAocCA+PiA0KTsKKyAgICAgICpvdXRfc3NlICs9IHA7CiAgICAgfQogICB9IGVsc2Ugewog
ICAgIGNvbnN0IEJMT0NLX1NJWkUgdHhfYnNpemUgPSB0eHNpemVfdG9fYnNpemVbdHhfc2l6ZV07
CkBAIC02MTIsMTIgKzY1Nyw4IEBAIHN0YXRpYyB2b2lkIGRpc3RfYmxvY2soY29uc3QgVlA5X0NP
TVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgaW50IHBsYW5lLAogICAgIGNvbnN0IHRyYW5fbG93X3Qg
KmRxY29lZmYgPSBCTE9DS19PRkZTRVQocGQtPmRxY29lZmYsIGJsb2NrKTsKICAgICB1bnNpZ25l
ZCBpbnQgdG1wOwogCi0gICAgaWYgKHNzZV9jYWxjX2RvbmUpIHsKLSAgICAgIHRtcCA9ICh1bnNp
Z25lZCBpbnQpKCpvdXRfc3NlKTsKLSAgICB9IGVsc2UgewotICAgICAgdG1wID0gcGl4ZWxfc3Nl
KGNwaSwgeGQsIHBkLCBzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgYmxrX3JvdywK
LSAgICAgICAgICAgICAgICAgICAgICBibGtfY29sLCBwbGFuZV9ic2l6ZSwgdHhfYnNpemUpOwot
ICAgIH0KKyAgICB0bXAgPSBwaXhlbF9zc2UoY3BpLCB4ZCwgcGQsIHNyYywgc3JjX3N0cmlkZSwg
ZHN0LCBkc3Rfc3RyaWRlLCBibGtfcm93LAorICAgICAgICAgICAgICAgICAgICBibGtfY29sLCBw
bGFuZV9ic2l6ZSwgdHhfYnNpemUpOwogICAgICpvdXRfc3NlID0gKGludDY0X3QpdG1wICogMTY7
CiAgICAgaWYgKG91dF9yZWNvbikgewogICAgICAgY29uc3QgaW50IG91dF9yZWNvbl9pZHggPSA0
ICogKGJsa19yb3cgKiBvdXRfcmVjb24tPnN0cmlkZSArIGJsa19jb2wpOwpAQCAtNzA0LDggKzc0
NSw4IEBAIHN0YXRpYyB2b2lkIGJsb2NrX3JkX3R4Zm0oaW50IHBsYW5lLCBpbnQgYmxvY2ssIGlu
dCBibGtfcm93LCBpbnQgYmxrX2NvbCwKICAgTU9ERV9JTkZPICpjb25zdCBtaSA9IHhkLT5taVsw
XTsKICAgaW50NjRfdCByZDEsIHJkMiwgcmQ7CiAgIGludCByYXRlOwotICBpbnQ2NF90IGRpc3Qg
PSBJTlQ2NF9NQVg7Ci0gIGludDY0X3Qgc3NlID0gSU5UNjRfTUFYOworICBpbnQ2NF90IGRpc3Q7
CisgIGludDY0X3Qgc3NlOwogICBjb25zdCBpbnQgY29lZmZfY3R4ID0KICAgICAgIGNvbWJpbmVf
ZW50cm9weV9jb250ZXh0cyhhcmdzLT50X2xlZnRbYmxrX3Jvd10sIGFyZ3MtPnRfYWJvdmVbYmxr
X2NvbF0pOwogICBzdHJ1Y3QgYnVmXzJkICpyZWNvbiA9IGFyZ3MtPnRoaXNfcmVjb247CkBAIC03
MTMsMjkgKzc1NCwyMCBAQCBzdGF0aWMgdm9pZCBibG9ja19yZF90eGZtKGludCBwbGFuZSwgaW50
IGJsb2NrLCBpbnQgYmxrX3JvdywgaW50IGJsa19jb2wsCiAgIGNvbnN0IHN0cnVjdCBtYWNyb2Js
b2NrZF9wbGFuZSAqY29uc3QgcGQgPSAmeGQtPnBsYW5lW3BsYW5lXTsKICAgY29uc3QgaW50IGRz
dF9zdHJpZGUgPSBwZC0+ZHN0LnN0cmlkZTsKICAgY29uc3QgdWludDhfdCAqZHN0ID0gJnBkLT5k
c3QuYnVmWzQgKiAoYmxrX3JvdyAqIGRzdF9zdHJpZGUgKyBibGtfY29sKV07Ci0gIGNvbnN0IGlu
dCBlbmFibGVfdHJlbGxpc19vcHQgPSBhcmdzLT5jcGktPnNmLnRyZWxsaXNfb3B0X3R4X3JkLm1l
dGhvZDsKLSAgY29uc3QgZG91YmxlIHRyZWxsaXNfb3B0X3RocmVzaCA9IGFyZ3MtPmNwaS0+c2Yu
dHJlbGxpc19vcHRfdHhfcmQudGhyZXNoOwotICBpbnQgc3NlX2NhbGNfZG9uZSA9IDA7Ci0jaWYg
Q09ORklHX01JU01BVENIX0RFQlVHCi0gIHN0cnVjdCBlbmNvZGVfYl9hcmdzIGVuY29kZV9iX2Fy
ZyA9IHsKLSAgICB4LCAgICBlbmFibGVfdHJlbGxpc19vcHQsIHRyZWxsaXNfb3B0X3RocmVzaCwg
JnNzZV9jYWxjX2RvbmUsCi0gICAgJnNzZSwgYXJncy0+dF9hYm92ZSwgICAgICBhcmdzLT50X2xl
ZnQsICAgICAgICZtaS0+c2tpcCwKLSAgICAwLCAgLy8gbWlfcm93Ci0gICAgMCwgIC8vIG1pX2Nv
bAotICAgIDAgICAvLyBvdXRwdXRfZW5hYmxlZAotICB9OwotI2Vsc2UKLSAgc3RydWN0IGVuY29k
ZV9iX2FyZ3MgZW5jb2RlX2JfYXJnID0gewotICAgIHgsICAgIGVuYWJsZV90cmVsbGlzX29wdCwg
dHJlbGxpc19vcHRfdGhyZXNoLCAmc3NlX2NhbGNfZG9uZSwKLSAgICAmc3NlLCBhcmdzLT50X2Fi
b3ZlLCAgICAgIGFyZ3MtPnRfbGVmdCwgICAgICAgJm1pLT5za2lwCi0gIH07Ci0jZW5kaWYKIAog
ICBpZiAoYXJncy0+ZXhpdF9lYXJseSkgcmV0dXJuOwogCiAgIGlmICghaXNfaW50ZXJfYmxvY2so
bWkpKSB7CisjaWYgQ09ORklHX01JU01BVENIX0RFQlVHCisgICAgc3RydWN0IGVuY29kZV9iX2Fy
Z3MgaW50cmFfYXJnID0geworICAgICAgeCwgeC0+YmxvY2tfcWNvZWZmX29wdCwgYXJncy0+dF9h
Ym92ZSwgYXJncy0+dF9sZWZ0LCAmbWktPnNraXAsIDAsIDAsIDAKKyAgICB9OworI2Vsc2UKKyAg
ICBzdHJ1Y3QgZW5jb2RlX2JfYXJncyBpbnRyYV9hcmcgPSB7IHgsIHgtPmJsb2NrX3Fjb2VmZl9v
cHQsIGFyZ3MtPnRfYWJvdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhcmdzLT50X2xlZnQsICZtaS0+c2tpcCB9OworI2VuZGlmCiAgICAgdnA5X2VuY29kZV9ibG9j
a19pbnRyYShwbGFuZSwgYmxvY2ssIGJsa19yb3csIGJsa19jb2wsIHBsYW5lX2JzaXplLCB0eF9z
aXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVuY29kZV9iX2FyZyk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmaW50cmFfYXJnKTsKICAgICBpZiAocmVjb24pIHsKICAgICAg
IHVpbnQ4X3QgKnJlY19wdHIgPSAmcmVjb24tPmJ1Zls0ICogKGJsa19yb3cgKiByZWNvbi0+c3Ry
aWRlICsgYmxrX2NvbCldOwogICAgICAgY29weV9ibG9ja192aXNpYmxlKHhkLCBwZCwgZHN0LCBk
c3Rfc3RyaWRlLCByZWNfcHRyLCByZWNvbi0+c3RyaWRlLApAQCAtNzQzLDIxICs3NzUsMTYgQEAg
c3RhdGljIHZvaWQgYmxvY2tfcmRfdHhmbShpbnQgcGxhbmUsIGludCBibG9jaywgaW50IGJsa19y
b3csIGludCBibGtfY29sLAogICAgIH0KICAgICBpZiAoeC0+YmxvY2tfdHhfZG9tYWluKSB7CiAg
ICAgICBkaXN0X2Jsb2NrKGFyZ3MtPmNwaSwgeCwgcGxhbmUsIHBsYW5lX2JzaXplLCBibG9jaywg
YmxrX3JvdywgYmxrX2NvbCwKLSAgICAgICAgICAgICAgICAgdHhfc2l6ZSwgJmRpc3QsICZzc2Us
IC8qb3V0X3JlY29uPSovTlVMTCwgc3NlX2NhbGNfZG9uZSk7CisgICAgICAgICAgICAgICAgIHR4
X3NpemUsICZkaXN0LCAmc3NlLCAvKnJlY29uID0qLzApOwogICAgIH0gZWxzZSB7CiAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgcCA9ICZ4LT5wbGFuZVtwbGFuZV07
CiAgICAgICBjb25zdCBpbnQgc3JjX3N0cmlkZSA9IHAtPnNyYy5zdHJpZGU7CisgICAgICBjb25z
dCBpbnQgZGlmZl9zdHJpZGUgPSA0ICogbnVtXzR4NF9ibG9ja3Nfd2lkZV9sb29rdXBbcGxhbmVf
YnNpemVdOwogICAgICAgY29uc3QgdWludDhfdCAqc3JjID0gJnAtPnNyYy5idWZbNCAqIChibGtf
cm93ICogc3JjX3N0cmlkZSArIGJsa19jb2wpXTsKKyAgICAgIGNvbnN0IGludDE2X3QgKmRpZmYg
PSAmcC0+c3JjX2RpZmZbNCAqIChibGtfcm93ICogZGlmZl9zdHJpZGUgKyBibGtfY29sKV07CiAg
ICAgICB1bnNpZ25lZCBpbnQgdG1wOwotICAgICAgaWYgKCFzc2VfY2FsY19kb25lKSB7Ci0gICAg
ICAgIGNvbnN0IGludCBkaWZmX3N0cmlkZSA9IDQgKiBudW1fNHg0X2Jsb2Nrc193aWRlX2xvb2t1
cFtwbGFuZV9ic2l6ZV07Ci0gICAgICAgIGNvbnN0IGludDE2X3QgKmRpZmYgPQotICAgICAgICAg
ICAgJnAtPnNyY19kaWZmWzQgKiAoYmxrX3JvdyAqIGRpZmZfc3RyaWRlICsgYmxrX2NvbCldOwot
ICAgICAgICBpbnQgdmlzaWJsZV93aWR0aCwgdmlzaWJsZV9oZWlnaHQ7Ci0gICAgICAgIHNzZSA9
IHN1bV9zcXVhcmVzX3Zpc2libGUoeGQsIHBkLCBkaWZmLCBkaWZmX3N0cmlkZSwgYmxrX3Jvdywg
YmxrX2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZV9ic2l6ZSwg
dHhfYnNpemUsICZ2aXNpYmxlX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZ2aXNpYmxlX2hlaWdodCk7Ci0gICAgICB9CisgICAgICBzc2UgPSBzdW1fc3F1YXJlc192
aXNpYmxlKHhkLCBwZCwgZGlmZiwgZGlmZl9zdHJpZGUsIGJsa19yb3csIGJsa19jb2wsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lX2JzaXplLCB0eF9ic2l6ZSk7CiAjaWYg
Q09ORklHX1ZQOV9ISUdIQklUREVQVEgKICAgICAgIGlmICgoeGQtPmN1cl9idWYtPmZsYWdzICYg
WVYxMl9GTEFHX0hJR0hCSVRERVBUSCkgJiYgKHhkLT5iZCA+IDgpKQogICAgICAgICBzc2UgPSBS
T1VORDY0X1BPV0VSX09GX1RXTyhzc2UsICh4ZC0+YmQgLSA4KSAqIDIpOwpAQCAtNzcyLDI3ICs3
OTksMTQgQEAgc3RhdGljIHZvaWQgYmxvY2tfcmRfdHhmbShpbnQgcGxhbmUsIGludCBibG9jaywg
aW50IGJsa19yb3csIGludCBibGtfY29sLAogICAgIGlmIChtYXhfdHhzaXplX2xvb2t1cFtwbGFu
ZV9ic2l6ZV0gPT0gdHhfc2l6ZSkKICAgICAgIHNraXBfdHhmbV9mbGFnID0geC0+c2tpcF90eGZt
WyhwbGFuZSA8PCAyKSArIChibG9jayA+PiAodHhfc2l6ZSA8PCAxKSldOwogCi0gICAgLy8gVGhp
cyByZWR1Y2VzIHRoZSByaXNrIG9mIGJhZCBwZXJjZXB0dWFsIHF1YWxpdHkgZHVlIHRvIGJhZCBw
cmVkaWN0aW9uLgotICAgIC8vIFdlIGFsd2F5cyBmb3JjZSB0aGUgZW5jb2RlciB0byBwZXJmb3Jt
IHRyYW5zZm9ybSBhbmQgcXVhbnRpemF0aW9uLgotICAgIGlmICghYXJncy0+Y3BpLT5zZi5hbGxv
d19za2lwX3R4Zm1fYWNfZGMgJiYKLSAgICAgICAgc2tpcF90eGZtX2ZsYWcgPT0gU0tJUF9UWEZN
X0FDX0RDKSB7Ci0gICAgICBza2lwX3R4Zm1fZmxhZyA9IFNLSVBfVFhGTV9OT05FOwotICAgIH0K
LQogICAgIGlmIChza2lwX3R4Zm1fZmxhZyA9PSBTS0lQX1RYRk1fTk9ORSB8fAogICAgICAgICAo
cmVjb24gJiYgc2tpcF90eGZtX2ZsYWcgPT0gU0tJUF9UWEZNX0FDX09OTFkpKSB7Ci0gICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgcCA9ICZ4LT5wbGFuZVtwbGFuZV07
Ci0gICAgICBjb25zdCBpbnQgZGlmZl9zdHJpZGUgPSA0ICogbnVtXzR4NF9ibG9ja3Nfd2lkZV9s
b29rdXBbcGxhbmVfYnNpemVdOwotICAgICAgY29uc3QgaW50MTZfdCAqY29uc3QgZGlmZiA9Ci0g
ICAgICAgICAgJnAtPnNyY19kaWZmWzQgKiAoYmxrX3JvdyAqIGRpZmZfc3RyaWRlICsgYmxrX2Nv
bCldOwotICAgICAgY29uc3QgaW50IHVzZV90cmVsbGlzX29wdCA9Ci0gICAgICAgICAgZG9fdHJl
bGxpc19vcHQocGQsIGRpZmYsIGRpZmZfc3RyaWRlLCBibGtfcm93LCBibGtfY29sLCBwbGFuZV9i
c2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB0eF9zaXplLCAmZW5jb2RlX2JfYXJnKTsK
ICAgICAgIC8vIGZ1bGwgZm9yd2FyZCB0cmFuc2Zvcm0gYW5kIHF1YW50aXphdGlvbgogICAgICAg
dnA5X3hmb3JtX3F1YW50KHgsIHBsYW5lLCBibG9jaywgYmxrX3JvdywgYmxrX2NvbCwgcGxhbmVf
YnNpemUsIHR4X3NpemUpOwotICAgICAgaWYgKHVzZV90cmVsbGlzX29wdCkgdnA5X29wdGltaXpl
X2IoeCwgcGxhbmUsIGJsb2NrLCB0eF9zaXplLCBjb2VmZl9jdHgpOworICAgICAgaWYgKHgtPmJs
b2NrX3Fjb2VmZl9vcHQpCisgICAgICAgIHZwOV9vcHRpbWl6ZV9iKHgsIHBsYW5lLCBibG9jaywg
dHhfc2l6ZSwgY29lZmZfY3R4KTsKICAgICAgIGRpc3RfYmxvY2soYXJncy0+Y3BpLCB4LCBwbGFu
ZSwgcGxhbmVfYnNpemUsIGJsb2NrLCBibGtfcm93LCBibGtfY29sLAotICAgICAgICAgICAgICAg
ICB0eF9zaXplLCAmZGlzdCwgJnNzZSwgcmVjb24sIHNzZV9jYWxjX2RvbmUpOworICAgICAgICAg
ICAgICAgICB0eF9zaXplLCAmZGlzdCwgJnNzZSwgcmVjb24pOwogICAgIH0gZWxzZSBpZiAoc2tp
cF90eGZtX2ZsYWcgPT0gU0tJUF9UWEZNX0FDX09OTFkpIHsKICAgICAgIC8vIGNvbXB1dGUgREMg
Y29lZmZpY2llbnQKICAgICAgIHRyYW5fbG93X3QgKmNvbnN0IGNvZWZmID0gQkxPQ0tfT0ZGU0VU
KHgtPnBsYW5lW3BsYW5lXS5jb2VmZiwgYmxvY2spOwpAQCAtODEzLDcgKzgyNywxNyBAQCBzdGF0
aWMgdm9pZCBibG9ja19yZF90eGZtKGludCBwbGFuZSwgaW50IGJsb2NrLCBpbnQgYmxrX3Jvdywg
aW50IGJsa19jb2wsCiAgICAgICAgIGRpc3QgPSBWUFhNQVgoMCwgc3NlIC0gZGNfY29ycmVjdCk7
CiAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgIGFzc2VydCgwICYmICJhbGxvd19za2lwX3R4
Zm1fYWNfZGMgZG9lcyBub3QgYWxsb3cgU0tJUF9UWEZNX0FDX0RDLiIpOworICAgICAgLy8gU0tJ
UF9UWEZNX0FDX0RDCisgICAgICAvLyBza2lwIGZvcndhcmQgdHJhbnNmb3JtLiBCZWNhdXNlIHRo
aXMgaXMgaGFuZGxlZCBoZXJlLCB0aGUgcXVhbnRpemF0aW9uCisgICAgICAvLyBkb2VzIG5vdCBu
ZWVkIHRvIGRvIGl0LgorICAgICAgeC0+cGxhbmVbcGxhbmVdLmVvYnNbYmxvY2tdID0gMDsKKyAg
ICAgIHNzZSA9IHgtPmJzc2VbKHBsYW5lIDw8IDIpICsgKGJsb2NrID4+ICh0eF9zaXplIDw8IDEp
KV0gPDwgNDsKKyAgICAgIGRpc3QgPSBzc2U7CisgICAgICBpZiAocmVjb24pIHsKKyAgICAgICAg
dWludDhfdCAqcmVjX3B0ciA9ICZyZWNvbi0+YnVmWzQgKiAoYmxrX3JvdyAqIHJlY29uLT5zdHJp
ZGUgKyBibGtfY29sKV07CisgICAgICAgIGNvcHlfYmxvY2tfdmlzaWJsZSh4ZCwgcGQsIGRzdCwg
ZHN0X3N0cmlkZSwgcmVjX3B0ciwgcmVjb24tPnN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJsa19yb3csIGJsa19jb2wsIHBsYW5lX2JzaXplLCB0eF9ic2l6ZSk7CisgICAgICB9
CiAgICAgfQogICB9CiAKQEAgLTEwODcsOCArMTExMSw2IEBAIHN0YXRpYyBpbnQ2NF90IHJkX3Bp
Y2tfaW50cmE0eDRibG9jayhWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBpbnQgcm93LAog
CiAgIHhkLT5taVswXS0+dHhfc2l6ZSA9IFRYXzRYNDsKIAotICBhc3NlcnQoIXgtPnNraXBfYmxv
Y2spOwotCiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKICAgaWYgKHhkLT5jdXJfYnVmLT5m
bGFncyAmIFlWMTJfRkxBR19ISUdIQklUREVQVEgpIHsKICAgICBmb3IgKG1vZGUgPSBEQ19QUkVE
OyBtb2RlIDw9IFRNX1BSRUQ7ICsrbW9kZSkgewpAQCAtMTExNiwxMCArMTEzOCw3IEBAIHN0YXRp
YyBpbnQ2NF90IHJkX3BpY2tfaW50cmE0eDRibG9jayhWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NL
ICp4LCBpbnQgcm93LAogICAgICAgICAgIHVpbnQxNl90ICpjb25zdCBkc3QxNiA9IENPTlZFUlRf
VE9fU0hPUlRQVFIoZHN0KTsKICAgICAgICAgICBpbnQxNl90ICpjb25zdCBzcmNfZGlmZiA9CiAg
ICAgICAgICAgICAgIHZwOV9yYXN0ZXJfYmxvY2tfb2Zmc2V0X2ludDE2KEJMT0NLXzhYOCwgYmxv
Y2ssIHAtPnNyY19kaWZmKTsKLSAgICAgICAgICB0cmFuX2xvd190ICpjb25zdCBjb2VmZiA9IEJM
T0NLX09GRlNFVChwLT5jb2VmZiwgYmxvY2spOwotICAgICAgICAgIHRyYW5fbG93X3QgKmNvbnN0
IHFjb2VmZiA9IEJMT0NLX09GRlNFVChwLT5xY29lZmYsIGJsb2NrKTsKLSAgICAgICAgICB0cmFu
X2xvd190ICpjb25zdCBkcWNvZWZmID0gQkxPQ0tfT0ZGU0VUKHBkLT5kcWNvZWZmLCBibG9jayk7
Ci0gICAgICAgICAgdWludDE2X3QgKmNvbnN0IGVvYiA9ICZwLT5lb2JzW2Jsb2NrXTsKKyAgICAg
ICAgICB0cmFuX2xvd190ICpjb25zdCBjb2VmZiA9IEJMT0NLX09GRlNFVCh4LT5wbGFuZVswXS5j
b2VmZiwgYmxvY2spOwogICAgICAgICAgIHhkLT5taVswXS0+Ym1pW2Jsb2NrXS5hc19tb2RlID0g
bW9kZTsKICAgICAgICAgICB2cDlfcHJlZGljdF9pbnRyYV9ibG9jayh4ZCwgMSwgVFhfNFg0LCBt
b2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgtPnNraXBfZW5jb2RlID8g
c3JjIDogZHN0LApAQCAtMTEyOCwxMiArMTE0NywxMSBAQCBzdGF0aWMgaW50NjRfdCByZF9waWNr
X2ludHJhNHg0YmxvY2soVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgaW50IHJvdywKICAg
ICAgICAgICB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrKDQsIDQsIHNyY19kaWZmLCA4LCBzcmMs
IHNyY19zdHJpZGUsIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRz
dF9zdHJpZGUsIHhkLT5iZCk7CiAgICAgICAgICAgaWYgKHhkLT5sb3NzbGVzcykgewotICAgICAg
ICAgICAgY29uc3QgU2Nhbk9yZGVyICpzbyA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1tUWF80
WDRdOworICAgICAgICAgICAgY29uc3Qgc2Nhbl9vcmRlciAqc28gPSAmdnA5X2RlZmF1bHRfc2Nh
bl9vcmRlcnNbVFhfNFg0XTsKICAgICAgICAgICAgIGNvbnN0IGludCBjb2VmZl9jdHggPQogICAg
ICAgICAgICAgICAgIGNvbWJpbmVfZW50cm9weV9jb250ZXh0cyh0ZW1wYVtpZHhdLCB0ZW1wbFtp
ZHldKTsKICAgICAgICAgICAgIHZwOV9oaWdoYmRfZndodDR4NChzcmNfZGlmZiwgY29lZmYsIDgp
OwotICAgICAgICAgICAgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iKGNvZWZmLCA0ICogNCwgcCwgcWNv
ZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlb2IsIHNvKTsKKyAgICAgICAgICAgIHZwOV9yZWd1bGFyX3F1YW50aXplX2JfNHg0KHgs
IDAsIGJsb2NrLCBzby0+c2Nhbiwgc28tPmlzY2FuKTsKICAgICAgICAgICAgIHJhdGV5ICs9IGNv
c3RfY29lZmZzKHgsIDAsIGJsb2NrLCBUWF80WDQsIGNvZWZmX2N0eCwgc28tPnNjYW4sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzby0+bmVpZ2hib3JzLCBjcGktPnNmLnVzZV9m
YXN0X2NvZWZfY29zdGluZyk7CiAgICAgICAgICAgICB0ZW1wYVtpZHhdID0gdGVtcGxbaWR5XSA9
ICh4LT5wbGFuZVswXS5lb2JzW2Jsb2NrXSA+IDAgPyAxIDogMCk7CkBAIC0xMTQ0LDE1ICsxMTYy
LDE0IEBAIHN0YXRpYyBpbnQ2NF90IHJkX3BpY2tfaW50cmE0eDRibG9jayhWUDlfQ09NUCAqY3Bp
LCBNQUNST0JMT0NLICp4LCBpbnQgcm93LAogICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBpbnQ2NF90IHVudXNlZDsKICAgICAgICAgICAgIGNvbnN0IFRYX1RZUEUgdHhfdHlwZSA9IGdl
dF90eF90eXBlXzR4NChQTEFORV9UWVBFX1ksIHhkLCBibG9jayk7Ci0gICAgICAgICAgICBjb25z
dCBTY2FuT3JkZXIgKnNvID0gJnZwOV9zY2FuX29yZGVyc1tUWF80WDRdW3R4X3R5cGVdOworICAg
ICAgICAgICAgY29uc3Qgc2Nhbl9vcmRlciAqc28gPSAmdnA5X3NjYW5fb3JkZXJzW1RYXzRYNF1b
dHhfdHlwZV07CiAgICAgICAgICAgICBjb25zdCBpbnQgY29lZmZfY3R4ID0KICAgICAgICAgICAg
ICAgICBjb21iaW5lX2VudHJvcHlfY29udGV4dHModGVtcGFbaWR4XSwgdGVtcGxbaWR5XSk7CiAg
ICAgICAgICAgICBpZiAodHhfdHlwZSA9PSBEQ1RfRENUKQogICAgICAgICAgICAgICB2cHhfaGln
aGJkX2ZkY3Q0eDQoc3JjX2RpZmYsIGNvZWZmLCA4KTsKICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgdnA5X2hpZ2hiZF9maHQ0eDQoc3JjX2RpZmYsIGNvZWZmLCA4LCB0eF90eXBlKTsK
LSAgICAgICAgICAgIHZweF9oaWdoYmRfcXVhbnRpemVfYihjb2VmZiwgNCAqIDQsIHAsIHFjb2Vm
ZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZW9iLCBzbyk7CisgICAgICAgICAgICB2cDlfcmVndWxhcl9xdWFudGl6ZV9iXzR4NCh4LCAw
LCBibG9jaywgc28tPnNjYW4sIHNvLT5pc2Nhbik7CiAgICAgICAgICAgICByYXRleSArPSBjb3N0
X2NvZWZmcyh4LCAwLCBibG9jaywgVFhfNFg0LCBjb2VmZl9jdHgsIHNvLT5zY2FuLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc28tPm5laWdoYm9ycywgY3BpLT5zZi51c2VfZmFz
dF9jb2VmX2Nvc3RpbmcpOwogICAgICAgICAgICAgZGlzdG9ydGlvbiArPSB2cDlfaGlnaGJkX2Js
b2NrX2Vycm9yX2Rpc3BhdGNoKApAQCAtMTIyMiwxMCArMTIzOSw3IEBAIHN0YXRpYyBpbnQ2NF90
IHJkX3BpY2tfaW50cmE0eDRibG9jayhWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBpbnQg
cm93LAogICAgICAgICB1aW50OF90ICpjb25zdCBkc3QgPSAmZHN0X2luaXRbaWR4ICogNCArIGlk
eSAqIDQgKiBkc3Rfc3RyaWRlXTsKICAgICAgICAgaW50MTZfdCAqY29uc3Qgc3JjX2RpZmYgPQog
ICAgICAgICAgICAgdnA5X3Jhc3Rlcl9ibG9ja19vZmZzZXRfaW50MTYoQkxPQ0tfOFg4LCBibG9j
aywgcC0+c3JjX2RpZmYpOwotICAgICAgICB0cmFuX2xvd190ICpjb25zdCBjb2VmZiA9IEJMT0NL
X09GRlNFVChwLT5jb2VmZiwgYmxvY2spOwotICAgICAgICB0cmFuX2xvd190ICpjb25zdCBxY29l
ZmYgPSBCTE9DS19PRkZTRVQocC0+cWNvZWZmLCBibG9jayk7Ci0gICAgICAgIHRyYW5fbG93X3Qg
KmNvbnN0IGRxY29lZmYgPSBCTE9DS19PRkZTRVQocGQtPmRxY29lZmYsIGJsb2NrKTsKLSAgICAg
ICAgdWludDE2X3QgKmNvbnN0IGVvYiA9ICZwLT5lb2JzW2Jsb2NrXTsKKyAgICAgICAgdHJhbl9s
b3dfdCAqY29uc3QgY29lZmYgPSBCTE9DS19PRkZTRVQoeC0+cGxhbmVbMF0uY29lZmYsIGJsb2Nr
KTsKICAgICAgICAgeGQtPm1pWzBdLT5ibWlbYmxvY2tdLmFzX21vZGUgPSBtb2RlOwogICAgICAg
ICB2cDlfcHJlZGljdF9pbnRyYV9ibG9jayh4ZCwgMSwgVFhfNFg0LCBtb2RlLCB4LT5za2lwX2Vu
Y29kZSA/IHNyYyA6IGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeC0+c2tp
cF9lbmNvZGUgPyBzcmNfc3RyaWRlIDogZHN0X3N0cmlkZSwgZHN0LApAQCAtMTIzMywxMiArMTI0
NywxMSBAQCBzdGF0aWMgaW50NjRfdCByZF9waWNrX2ludHJhNHg0YmxvY2soVlA5X0NPTVAgKmNw
aSwgTUFDUk9CTE9DSyAqeCwgaW50IHJvdywKICAgICAgICAgdnB4X3N1YnRyYWN0X2Jsb2NrKDQs
IDQsIHNyY19kaWZmLCA4LCBzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSk7CiAKICAg
ICAgICAgaWYgKHhkLT5sb3NzbGVzcykgewotICAgICAgICAgIGNvbnN0IFNjYW5PcmRlciAqc28g
PSAmdnA5X2RlZmF1bHRfc2Nhbl9vcmRlcnNbVFhfNFg0XTsKKyAgICAgICAgICBjb25zdCBzY2Fu
X29yZGVyICpzbyA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1tUWF80WDRdOwogICAgICAgICAg
IGNvbnN0IGludCBjb2VmZl9jdHggPQogICAgICAgICAgICAgICBjb21iaW5lX2VudHJvcHlfY29u
dGV4dHModGVtcGFbaWR4XSwgdGVtcGxbaWR5XSk7CiAgICAgICAgICAgdnA5X2Z3aHQ0eDQoc3Jj
X2RpZmYsIGNvZWZmLCA4KTsKLSAgICAgICAgICB2cHhfcXVhbnRpemVfYihjb2VmZiwgNCAqIDQs
IHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBzbyk7CisgICAgICAgICAgdnA5X3JlZ3VsYXJfcXVhbnRpemVfYl80eDQoeCwgMCwg
YmxvY2ssIHNvLT5zY2FuLCBzby0+aXNjYW4pOwogICAgICAgICAgIHJhdGV5ICs9IGNvc3RfY29l
ZmZzKHgsIDAsIGJsb2NrLCBUWF80WDQsIGNvZWZmX2N0eCwgc28tPnNjYW4sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc28tPm5laWdoYm9ycywgY3BpLT5zZi51c2VfZmFzdF9jb2Vm
X2Nvc3RpbmcpOwogICAgICAgICAgIHRlbXBhW2lkeF0gPSB0ZW1wbFtpZHldID0gKHgtPnBsYW5l
WzBdLmVvYnNbYmxvY2tdID4gMCkgPyAxIDogMDsKQEAgLTEyNDksMTIgKzEyNjIsMTEgQEAgc3Rh
dGljIGludDY0X3QgcmRfcGlja19pbnRyYTR4NGJsb2NrKFZQOV9DT01QICpjcGksIE1BQ1JPQkxP
Q0sgKngsIGludCByb3csCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgaW50NjRfdCB1bnVz
ZWQ7CiAgICAgICAgICAgY29uc3QgVFhfVFlQRSB0eF90eXBlID0gZ2V0X3R4X3R5cGVfNHg0KFBM
QU5FX1RZUEVfWSwgeGQsIGJsb2NrKTsKLSAgICAgICAgICBjb25zdCBTY2FuT3JkZXIgKnNvID0g
JnZwOV9zY2FuX29yZGVyc1tUWF80WDRdW3R4X3R5cGVdOworICAgICAgICAgIGNvbnN0IHNjYW5f
b3JkZXIgKnNvID0gJnZwOV9zY2FuX29yZGVyc1tUWF80WDRdW3R4X3R5cGVdOwogICAgICAgICAg
IGNvbnN0IGludCBjb2VmZl9jdHggPQogICAgICAgICAgICAgICBjb21iaW5lX2VudHJvcHlfY29u
dGV4dHModGVtcGFbaWR4XSwgdGVtcGxbaWR5XSk7CiAgICAgICAgICAgdnA5X2ZodDR4NChzcmNf
ZGlmZiwgY29lZmYsIDgsIHR4X3R5cGUpOwotICAgICAgICAgIHZweF9xdWFudGl6ZV9iKGNvZWZm
LCA0ICogNCwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+ZGVxdWFudCwgZW9iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIHNvKTsKKyAgICAgICAgICB2cDlfcmVndWxhcl9xdWFudGl6ZV9iXzR4
NCh4LCAwLCBibG9jaywgc28tPnNjYW4sIHNvLT5pc2Nhbik7CiAgICAgICAgICAgcmF0ZXkgKz0g
Y29zdF9jb2VmZnMoeCwgMCwgYmxvY2ssIFRYXzRYNCwgY29lZmZfY3R4LCBzby0+c2NhbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzby0+bmVpZ2hib3JzLCBjcGktPnNmLnVzZV9m
YXN0X2NvZWZfY29zdGluZyk7CiAgICAgICAgICAgdGVtcGFbaWR4XSA9IHRlbXBsW2lkeV0gPSAo
eC0+cGxhbmVbMF0uZW9ic1tibG9ja10gPiAwKSA/IDEgOiAwOwpAQCAtMTM5MSw3ICsxNDAzLDcg
QEAgc3RhdGljIGludDY0X3QgcmRfcGlja19pbnRyYV9zYnlfbW9kZShWUDlfQ09NUCAqY3BpLCBN
QUNST0JMT0NLICp4LCBpbnQgKnJhdGUsCiAgICAgbWljLT5tb2RlID0gbW9kZTsKIAogICAgIHN1
cGVyX2Jsb2NrX3lyZChjcGksIHgsICZ0aGlzX3JhdGVfdG9rZW5vbmx5LCAmdGhpc19kaXN0b3J0
aW9uLCAmcywgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgYnNpemUsIGJlc3RfcmQsIC8qcmVj
b249Ki9OVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgYnNpemUsIGJlc3RfcmQsIC8qcmVjb24g
PSAqLyAwKTsKIAogICAgIGlmICh0aGlzX3JhdGVfdG9rZW5vbmx5ID09IElOVF9NQVgpIGNvbnRp
bnVlOwogCkBAIC0xNDMxLDYgKzE0NDMsNyBAQCBzdGF0aWMgaW50IHN1cGVyX2Jsb2NrX3V2cmQo
Y29uc3QgVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgaW50ICpyYXRlLAogICBpZiAocmVm
X2Jlc3RfcmQgPCAwKSBpc19jb3N0X3ZhbGlkID0gMDsKIAogICBpZiAoaXNfaW50ZXJfYmxvY2so
bWkpICYmIGlzX2Nvc3RfdmFsaWQpIHsKKyAgICBpbnQgcGxhbmU7CiAgICAgZm9yIChwbGFuZSA9
IDE7IHBsYW5lIDwgTUFYX01CX1BMQU5FOyArK3BsYW5lKQogICAgICAgdnA5X3N1YnRyYWN0X3Bs
YW5lKHgsIGJzaXplLCBwbGFuZSk7CiAgIH0KQEAgLTE0NDMsNyArMTQ1Niw3IEBAIHN0YXRpYyBp
bnQgc3VwZXJfYmxvY2tfdXZyZChjb25zdCBWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBp
bnQgKnJhdGUsCiAgIGZvciAocGxhbmUgPSAxOyBwbGFuZSA8IE1BWF9NQl9QTEFORTsgKytwbGFu
ZSkgewogICAgIHR4Zm1fcmRfaW5fcGxhbmUoY3BpLCB4LCAmcG5yYXRlLCAmcG5kaXN0LCAmcG5z
a2lwLCAmcG5zc2UsIHJlZl9iZXN0X3JkLAogICAgICAgICAgICAgICAgICAgICAgcGxhbmUsIGJz
aXplLCB1dl90eF9zaXplLCBjcGktPnNmLnVzZV9mYXN0X2NvZWZfY29zdGluZywKLSAgICAgICAg
ICAgICAgICAgICAgIC8qcmVjb249Ki9OVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgIC8qcmVj
b24gPSAqLyAwKTsKICAgICBpZiAocG5yYXRlID09IElOVF9NQVgpIHsKICAgICAgIGlzX2Nvc3Rf
dmFsaWQgPSAwOwogICAgICAgYnJlYWs7CkBAIC0xNjI2LDEyICsxNjM5LDEwIEBAIHN0YXRpYyBp
bnQ2NF90IGVuY29kZV9pbnRlcl9tYl9zZWdtZW50KFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sg
KngsCiAgICAgICAmcGQtPmRzdC5idWZbdnA5X3Jhc3Rlcl9ibG9ja19vZmZzZXQoQkxPQ0tfOFg4
LCBpLCBwZC0+ZHN0LnN0cmlkZSldOwogICBpbnQ2NF90IHRoaXNkaXN0b3J0aW9uID0gMCwgdGhp
c3NzZSA9IDA7CiAgIGludCB0aGlzcmF0ZSA9IDAsIHJlZjsKLSAgY29uc3QgU2Nhbk9yZGVyICpz
byA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1tUWF80WDRdOworICBjb25zdCBzY2FuX29yZGVy
ICpzbyA9ICZ2cDlfZGVmYXVsdF9zY2FuX29yZGVyc1tUWF80WDRdOwogICBjb25zdCBpbnQgaXNf
Y29tcG91bmQgPSBoYXNfc2Vjb25kX3JlZihtaSk7CiAgIGNvbnN0IEludGVycEtlcm5lbCAqa2Vy
bmVsID0gdnA5X2ZpbHRlcl9rZXJuZWxzW21pLT5pbnRlcnBfZmlsdGVyXTsKIAotICBhc3NlcnQo
IXgtPnNraXBfYmxvY2spOwotCiAgIGZvciAocmVmID0gMDsgcmVmIDwgMSArIGlzX2NvbXBvdW5k
OyArK3JlZikgewogICAgIGNvbnN0IGludCBidyA9IGJfd2lkdGhfbG9nMl9sb29rdXBbQkxPQ0tf
OFg4XTsKICAgICBjb25zdCBpbnQgaCA9IDQgKiAoaSA+PiBidyk7CkBAIC0xNjkzLDI1ICsxNzA0
LDE4IEBAIHN0YXRpYyBpbnQ2NF90IGVuY29kZV9pbnRlcl9tYl9zZWdtZW50KFZQOV9DT01QICpj
cGksIE1BQ1JPQkxPQ0sgKngsCiAgICAgICBjb25zdCBpbnQgYmQgPSAoeGQtPmN1cl9idWYtPmZs
YWdzICYgWVYxMl9GTEFHX0hJR0hCSVRERVBUSCkgPyB4ZC0+YmQgOiA4OwogI2VuZGlmCiAgICAg
ICBpbnQ2NF90IHNzeiwgcmQsIHJkMSwgcmQyOwotICAgICAgdHJhbl9sb3dfdCAqY29lZmYsICpx
Y29lZmYsICpkcWNvZWZmOwotICAgICAgdWludDE2X3QgKmVvYjsKKyAgICAgIHRyYW5fbG93X3Qg
KmNvZWZmOwogICAgICAgaW50IGNvZWZmX2N0eDsKICAgICAgIGsgKz0gKGlkeSAqIDIgKyBpZHgp
OwogICAgICAgY29lZmZfY3R4ID0gY29tYmluZV9lbnRyb3B5X2NvbnRleHRzKHRhW2sgJiAxXSwg
dGxbayA+PiAxXSk7CiAgICAgICBjb2VmZiA9IEJMT0NLX09GRlNFVChwLT5jb2VmZiwgayk7Ci0g
ICAgICBxY29lZmYgPSBCTE9DS19PRkZTRVQocC0+cWNvZWZmLCBrKTsKLSAgICAgIGRxY29lZmYg
PSBCTE9DS19PRkZTRVQocGQtPmRxY29lZmYsIGspOwotICAgICAgZW9iID0gJnAtPmVvYnNba107
Ci0KICAgICAgIHgtPmZ3ZF90eGZtNHg0KHZwOV9yYXN0ZXJfYmxvY2tfb2Zmc2V0X2ludDE2KEJM
T0NLXzhYOCwgaywgcC0+c3JjX2RpZmYpLAogICAgICAgICAgICAgICAgICAgICAgY29lZmYsIDgp
OworICAgICAgdnA5X3JlZ3VsYXJfcXVhbnRpemVfYl80eDQoeCwgMCwgaywgc28tPnNjYW4sIHNv
LT5pc2Nhbik7CiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICAgIHZweF9oaWdoYmRf
cXVhbnRpemVfYihjb2VmZiwgNCAqIDQsIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQs
IGVvYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbyk7CiAgICAgICB0aGlzZGlzdG9y
dGlvbiArPSB2cDlfaGlnaGJkX2Jsb2NrX2Vycm9yX2Rpc3BhdGNoKAogICAgICAgICAgIGNvZWZm
LCBCTE9DS19PRkZTRVQocGQtPmRxY29lZmYsIGspLCAxNiwgJnNzeiwgYmQpOwogI2Vsc2UKLSAg
ICAgIHZweF9xdWFudGl6ZV9iKGNvZWZmLCA0ICogNCwgcCwgcWNvZWZmLCBkcWNvZWZmLCBwZC0+
ZGVxdWFudCwgZW9iLCBzbyk7CiAgICAgICB0aGlzZGlzdG9ydGlvbiArPQogICAgICAgICAgIHZw
OV9ibG9ja19lcnJvcihjb2VmZiwgQkxPQ0tfT0ZGU0VUKHBkLT5kcWNvZWZmLCBrKSwgMTYsICZz
c3opOwogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSApAQCAtMTgwNSw3ICsxODA5
LDcgQEAgc3RhdGljIGludCBjaGVja19iZXN0X3plcm9fbXYoY29uc3QgVlA5X0NPTVAgKmNwaSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE1WX1JFRkVSRU5DRV9GUkFNRSBy
ZWZfZnJhbWVzWzJdKSB7CiAgIGlmICgodGhpc19tb2RlID09IE5FQVJNViB8fCB0aGlzX21vZGUg
PT0gTkVBUkVTVE1WIHx8IHRoaXNfbW9kZSA9PSBaRVJPTVYpICYmCiAgICAgICBmcmFtZV9tdlt0
aGlzX21vZGVdW3JlZl9mcmFtZXNbMF1dLmFzX2ludCA9PSAwICYmCi0gICAgICAocmVmX2ZyYW1l
c1sxXSA9PSBOT19SRUZfRlJBTUUgfHwKKyAgICAgIChyZWZfZnJhbWVzWzFdID09IE5PTkUgfHwK
ICAgICAgICBmcmFtZV9tdlt0aGlzX21vZGVdW3JlZl9mcmFtZXNbMV1dLmFzX2ludCA9PSAwKSkg
ewogICAgIGludCByZmMgPSBtb2RlX2NvbnRleHRbcmVmX2ZyYW1lc1swXV07CiAgICAgaW50IGMx
ID0gY29zdF9tdl9yZWYoY3BpLCBORUFSTVYsIHJmYyk7CkBAIC0xODE4LDcgKzE4MjIsNyBAQCBz
dGF0aWMgaW50IGNoZWNrX2Jlc3RfemVyb19tdihjb25zdCBWUDlfQ09NUCAqY3BpLAogICAgICAg
aWYgKGMyID4gYzMpIHJldHVybiAwOwogICAgIH0gZWxzZSB7CiAgICAgICBhc3NlcnQodGhpc19t
b2RlID09IFpFUk9NVik7Ci0gICAgICBpZiAocmVmX2ZyYW1lc1sxXSA9PSBOT19SRUZfRlJBTUUp
IHsKKyAgICAgIGlmIChyZWZfZnJhbWVzWzFdID09IE5PTkUpIHsKICAgICAgICAgaWYgKChjMyA+
PSBjMiAmJiBmcmFtZV9tdltORUFSRVNUTVZdW3JlZl9mcmFtZXNbMF1dLmFzX2ludCA9PSAwKSB8
fAogICAgICAgICAgICAgKGMzID49IGMxICYmIGZyYW1lX212W05FQVJNVl1bcmVmX2ZyYW1lc1sw
XV0uYXNfaW50ID09IDApKQogICAgICAgICAgIHJldHVybiAwOwpAQCAtMTgzNCw4MCArMTgzOCwx
MCBAQCBzdGF0aWMgaW50IGNoZWNrX2Jlc3RfemVyb19tdihjb25zdCBWUDlfQ09NUCAqY3BpLAog
ICByZXR1cm4gMTsKIH0KIAotc3RhdGljIElOTElORSBpbnQgc2tpcF9pdGVycyhjb25zdCBpbnRf
bXYgaXRlcl9tdnNbXVsyXSwgaW50IGl0ZSwgaW50IGlkKSB7Ci0gIGlmIChpdGUgPj0gMiAmJiBp
dGVyX212c1tpdGUgLSAyXVshaWRdLmFzX2ludCA9PSBpdGVyX212c1tpdGVdWyFpZF0uYXNfaW50
KSB7Ci0gICAgaW50X212IGN1cl9mdWxscGVsX212LCBwcmV2X2Z1bGxwZWxfbXY7Ci0gICAgY3Vy
X2Z1bGxwZWxfbXYuYXNfbXYucm93ID0gaXRlcl9tdnNbaXRlXVtpZF0uYXNfbXYucm93ID4+IDM7
Ci0gICAgY3VyX2Z1bGxwZWxfbXYuYXNfbXYuY29sID0gaXRlcl9tdnNbaXRlXVtpZF0uYXNfbXYu
Y29sID4+IDM7Ci0gICAgcHJldl9mdWxscGVsX212LmFzX212LnJvdyA9IGl0ZXJfbXZzW2l0ZSAt
IDJdW2lkXS5hc19tdi5yb3cgPj4gMzsKLSAgICBwcmV2X2Z1bGxwZWxfbXYuYXNfbXYuY29sID0g
aXRlcl9tdnNbaXRlIC0gMl1baWRdLmFzX212LmNvbCA+PiAzOwotICAgIGlmIChjdXJfZnVsbHBl
bF9tdi5hc19pbnQgPT0gcHJldl9mdWxscGVsX212LmFzX2ludCkgcmV0dXJuIDE7Ci0gIH0KLSAg
cmV0dXJuIDA7Ci19Ci0KLS8vIENvbXBhcmVzIG1vdGlvbiB2ZWN0b3IgYW5kIG1vZGUgcmF0ZSBv
ZiBjdXJyZW50IG1vZGUgYW5kIGdpdmVuIG1vZGUuCi1zdGF0aWMgSU5MSU5FIGludCBjb21wYXJl
X212X21vZGVfcmF0ZShNViB0aGlzX212LCBNViBtb2RlX212LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHRoaXNfbW9kZV9yYXRlLCBpbnQgbW9kZV9yYXRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG12X3RocmVzaCkgewot
ICBjb25zdCBpbnQgbXZfZGlmZiA9Ci0gICAgICBhYnMobW9kZV9tdi5jb2wgLSB0aGlzX212LmNv
bCkgKyBhYnMobW9kZV9tdi5yb3cgLSB0aGlzX212LnJvdyk7Ci0gIGlmIChtdl9kaWZmIDw9IG12
X3RocmVzaCAmJiBtb2RlX3JhdGUgPCB0aGlzX21vZGVfcmF0ZSkgcmV0dXJuIDE7Ci0gIHJldHVy
biAwOwotfQotCi0vLyBTa2lwcyBzaW5nbGUgcmVmZXJlbmNlIGludGVyIG1vZGVzIE5FQVJNViBh
bmQgWkVST01WIGJhc2VkIG9uIG1vdGlvbiB2ZWN0b3IKLS8vIGRpZmZlcmVuY2UgYW5kIG1vZGUg
cmF0ZS4KLXN0YXRpYyBJTkxJTkUgaW50IHNraXBfc2luZ2xlX21vZGVfYmFzZWRfb25fbW9kZV9y
YXRlKAotICAgIGludF9tdiAoKm1vZGVfbXYpW01BWF9SRUZfRlJBTUVTXSwgaW50ICpzaW5nbGVf
bW9kZV9yYXRlLCBpbnQgdGhpc19tb2RlLAotICAgIGludCByZWYwLCBpbnQgdGhpc19tb2RlX3Jh
dGUsIGludCBiZXN0X21vZGVfaW5kZXgpIHsKLSAgTVYgdGhpc19tdiA9IG1vZGVfbXZbdGhpc19t
b2RlXVtyZWYwXS5hc19tdjsKLSAgY29uc3QgaW50IG12X3RocmVzaCA9IDM7Ci0KLSAgLy8gUHJ1
bmluZyBpcyBub3QgYXBwbGljYWJsZSBmb3IgTkVBUkVTVE1WIG9yIE5FV01WIG1vZGVzLgotICBp
ZiAodGhpc19tb2RlID09IE5FQVJFU1RNViB8fCB0aGlzX21vZGUgPT0gTkVXTVYpIHJldHVybiAw
OwotICAvLyBQcnVuaW5nIGlzIG5vdCBkb25lIHdoZW4gcmVmZXJlbmNlIGZyYW1lIG9mIHRoZSBt
b2RlIGlzIHNhbWUgYXMgYmVzdAotICAvLyByZWZlcmVuY2Ugc28gZmFyLgotICBpZiAoYmVzdF9t
b2RlX2luZGV4ID4gMCAmJgotICAgICAgcmVmMCA9PSB2cDlfbW9kZV9vcmRlcltiZXN0X21vZGVf
aW5kZXhdLnJlZl9mcmFtZVswXSkKLSAgICByZXR1cm4gMDsKLQotICAvLyBDaGVjayBhYnNvbHV0
ZSBtdiBkaWZmZXJlbmNlIGFuZCBtb2RlIHJhdGUgb2YgY3VycmVudCBtb2RlIHcuci50IE5FQVJF
U1RNVgotICBpZiAoY29tcGFyZV9tdl9tb2RlX3JhdGUoCi0gICAgICAgICAgdGhpc19tdiwgbW9k
ZV9tdltORUFSRVNUTVZdW3JlZjBdLmFzX212LCB0aGlzX21vZGVfcmF0ZSwKLSAgICAgICAgICBz
aW5nbGVfbW9kZV9yYXRlW0lOVEVSX09GRlNFVChORUFSRVNUTVYpXSwgbXZfdGhyZXNoKSkKLSAg
ICByZXR1cm4gMTsKLQotICAvLyBDaGVjayBhYnNvbHV0ZSBtdiBkaWZmZXJlbmNlIGFuZCBtb2Rl
IHJhdGUgb2YgY3VycmVudCBtb2RlIHcuci50IE5FV01WCi0gIGlmIChjb21wYXJlX212X21vZGVf
cmF0ZSh0aGlzX212LCBtb2RlX212W05FV01WXVtyZWYwXS5hc19tdiwgdGhpc19tb2RlX3JhdGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBzaW5nbGVfbW9kZV9yYXRlW0lOVEVSX09GRlNF
VChORVdNVildLCBtdl90aHJlc2gpKQotICAgIHJldHVybiAxOwotCi0gIC8vIFBydW5pbmcgdy5y
LnQgTkVBUk1WIGlzIGFwcGxpY2FibGUgb25seSBmb3IgWkVST01WIG1vZGUKLSAgaWYgKHRoaXNf
bW9kZSA9PSBORUFSTVYpIHJldHVybiAwOwotICAvLyBDaGVjayBhYnNvbHV0ZSBtdiBkaWZmZXJl
bmNlIGFuZCBtb2RlIHJhdGUgb2YgY3VycmVudCBtb2RlIHcuci50IE5FQVJNVgotICBpZiAoY29t
cGFyZV9tdl9tb2RlX3JhdGUodGhpc19tdiwgbW9kZV9tdltORUFSTVZdW3JlZjBdLmFzX212LCB0
aGlzX21vZGVfcmF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmdsZV9tb2RlX3Jh
dGVbSU5URVJfT0ZGU0VUKE5FQVJNVildLCBtdl90aHJlc2gpKQotICAgIHJldHVybiAxOwotICBy
ZXR1cm4gMDsKLX0KLQotI2RlZmluZSBNQVhfSk9JTlRfTVZfU0VBUkNIX0lURVJTIDQKLXN0YXRp
YyBJTkxJTkUgaW50IGdldF9qb2ludF9zZWFyY2hfaXRlcnMoaW50IHNmX2xldmVsLCBCTE9DS19T
SVpFIGJzaXplKSB7Ci0gIGludCBudW1faXRlcnMgPSBNQVhfSk9JTlRfTVZfU0VBUkNIX0lURVJT
OyAgLy8gc2ZfbGV2ZWwgPSAwCi0gIGlmIChzZl9sZXZlbCA+PSAyKQotICAgIG51bV9pdGVycyA9
IDA7Ci0gIGVsc2UgaWYgKHNmX2xldmVsID49IDEpCi0gICAgbnVtX2l0ZXJzID0gYnNpemUgPCBC
TE9DS184WDgKLSAgICAgICAgICAgICAgICAgICAgPyAwCi0gICAgICAgICAgICAgICAgICAgIDog
KGJzaXplIDw9IEJMT0NLXzE2WDE2ID8gMiA6IE1BWF9KT0lOVF9NVl9TRUFSQ0hfSVRFUlMpOwot
ICByZXR1cm4gbnVtX2l0ZXJzOwotfQotCiBzdGF0aWMgdm9pZCBqb2ludF9tb3Rpb25fc2VhcmNo
KFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsIEJMT0NLX1NJWkUgYnNpemUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludF9tdiAqZnJhbWVfbXYsIGludCBtaV9yb3csIGlu
dCBtaV9jb2wsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludF9tdiBzaW5nbGVf
bmV3bXZbTUFYX1JFRl9GUkFNRVNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgKnJhdGVfbXYsIGludCBudW1faXRlcnMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50ICpyYXRlX212KSB7CiAgIGNvbnN0IFZQOV9DT01NT04gKmNvbnN0IGNtID0gJmNw
aS0+Y29tbW9uOwogICBjb25zdCBpbnQgcHcgPSA0ICogbnVtXzR4NF9ibG9ja3Nfd2lkZV9sb29r
dXBbYnNpemVdOwogICBjb25zdCBpbnQgcGggPSA0ICogbnVtXzR4NF9ibG9ja3NfaGlnaF9sb29r
dXBbYnNpemVdOwpAQCAtMTkxNiw3ICsxODUwLDYgQEAgc3RhdGljIHZvaWQgam9pbnRfbW90aW9u
X3NlYXJjaChWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBCTE9DS19TSVpFIGJzaXplLAog
ICBjb25zdCBpbnQgcmVmc1syXSA9IHsgbWktPnJlZl9mcmFtZVswXSwKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1pLT5yZWZfZnJhbWVbMV0gPCAwID8gMCA6IG1pLT5yZWZfZnJhbWVbMV0gfTsK
ICAgaW50X212IHJlZl9tdlsyXTsKLSAgaW50X212IGl0ZXJfbXZzW01BWF9KT0lOVF9NVl9TRUFS
Q0hfSVRFUlNdWzJdOwogICBpbnQgaXRlLCByZWY7CiAgIGNvbnN0IEludGVycEtlcm5lbCAqa2Vy
bmVsID0gdnA5X2ZpbHRlcl9rZXJuZWxzW21pLT5pbnRlcnBfZmlsdGVyXTsKICAgc3RydWN0IHNj
YWxlX2ZhY3RvcnMgc2Y7CkBAIC0xOTMxLDE1ICsxODY0LDEyIEBAIHN0YXRpYyB2b2lkIGpvaW50
X21vdGlvbl9zZWFyY2goVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgQkxPQ0tfU0laRSBi
c2l6ZSwKIAogLy8gUHJlZGljdGlvbiBidWZmZXIgZnJvbSBzZWNvbmQgZnJhbWUuCiAjaWYgQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKLSAgREVDTEFSRV9BTElHTkVEKDMyLCB1aW50MTZfdCwgc2Vj
b25kX3ByZWRfYWxsb2NfMTZbNjQgKiA2NF0pOworICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQx
Nl90LCBzZWNvbmRfcHJlZF9hbGxvY18xNls2NCAqIDY0XSk7CiAgIHVpbnQ4X3QgKnNlY29uZF9w
cmVkOwogI2Vsc2UKLSAgREVDTEFSRV9BTElHTkVEKDMyLCB1aW50OF90LCBzZWNvbmRfcHJlZFs2
NCAqIDY0XSk7CisgIERFQ0xBUkVfQUxJR05FRCgxNiwgdWludDhfdCwgc2Vjb25kX3ByZWRbNjQg
KiA2NF0pOwogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCi0gIC8vIENoZWNr
IG51bWJlciBvZiBpdGVyYXRpb25zIGRvIG5vdCBleGNlZWQgdGhlIG1heAotICBhc3NlcnQobnVt
X2l0ZXJzIDw9IE1BWF9KT0lOVF9NVl9TRUFSQ0hfSVRFUlMpOwotCiAgIGZvciAocmVmID0gMDsg
cmVmIDwgMjsgKytyZWYpIHsKICAgICByZWZfbXZbcmVmXSA9IHgtPm1ibWlfZXh0LT5yZWZfbXZz
W3JlZnNbcmVmXV1bMF07CiAKQEAgLTE5NTUsNyArMTg4NSw2IEBAIHN0YXRpYyB2b2lkIGpvaW50
X21vdGlvbl9zZWFyY2goVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwgQkxPQ0tfU0laRSBi
c2l6ZSwKICAgICB9CiAKICAgICBmcmFtZV9tdltyZWZzW3JlZl1dLmFzX2ludCA9IHNpbmdsZV9u
ZXdtdltyZWZzW3JlZl1dLmFzX2ludDsKLSAgICBpdGVyX212c1swXVtyZWZdLmFzX2ludCA9IHNp
bmdsZV9uZXdtdltyZWZzW3JlZl1dLmFzX2ludDsKICAgfQogCiAvLyBTaW5jZSB3ZSBoYXZlIHNj
YWxlZCB0aGUgcmVmZXJlbmNlIGZyYW1lcyB0byBtYXRjaCB0aGUgc2l6ZSBvZiB0aGUgY3VycmVu
dApAQCAtMTk3MCw3ICsxODk5LDcgQEAgc3RhdGljIHZvaWQgam9pbnRfbW90aW9uX3NlYXJjaChW
UDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBCTE9DS19TSVpFIGJzaXplLAogCiAgIC8vIEFs
bG93IGpvaW50IHNlYXJjaCBtdWx0aXBsZSB0aW1lcyBpdGVyYXRpdmVseSBmb3IgZWFjaCByZWZl
cmVuY2UgZnJhbWUKICAgLy8gYW5kIGJyZWFrIG91dCBvZiB0aGUgc2VhcmNoIGxvb3AgaWYgaXQg
Y291bGRuJ3QgZmluZCBhIGJldHRlciBtdi4KLSAgZm9yIChpdGUgPSAwOyBpdGUgPCBudW1faXRl
cnM7IGl0ZSsrKSB7CisgIGZvciAoaXRlID0gMDsgaXRlIDwgNDsgaXRlKyspIHsKICAgICBzdHJ1
Y3QgYnVmXzJkIHJlZl95djEyWzJdOwogICAgIHVpbnQzMl90IGJlc3RzbWUgPSBVSU5UX01BWDsK
ICAgICBpbnQgc2FkcGIgPSB4LT5zYWRwZXJiaXQxNjsKQEAgLTE5ODIsMTEgKzE5MTEsNiBAQCBz
dGF0aWMgdm9pZCBqb2ludF9tb3Rpb25fc2VhcmNoKFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sg
KngsIEJMT0NLX1NJWkUgYnNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9kZCBpdGVy
YXRpb25zIHNlYXJjaCBpbiB0aGUgc2Vjb25kLiBUaGUgcHJlZGljdG9yCiAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIGZvdW5kIGZvciB0aGUgJ290aGVyJyByZWZlcmVuY2UgZnJhbWUgaXMgZmFj
dG9yZWQgaW4uCiAKLSAgICAvLyBTa2lwIGZ1cnRoZXIgaXRlcmF0aW9ucyBvZiBzZWFyY2ggaWYg
aW4gdGhlIHByZXZpb3VzIGl0ZXJhdGlvbiwgdGhlCi0gICAgLy8gbW90aW9uIHZlY3RvciBvZiB0
aGUgc2VhcmNoZWQgcmVmIGZyYW1lIGlzIHVuY2hhbmdlZCwgYW5kIHRoZSBvdGhlciByZWYKLSAg
ICAvLyBmcmFtZSdzIGZ1bGwtcGl4ZWwgbXYgaXMgdW5jaGFuZ2VkLgotICAgIGlmIChza2lwX2l0
ZXJzKGl0ZXJfbXZzLCBpdGUsIGlkKSkgYnJlYWs7Ci0KICAgICAvLyBJbml0aWFsaXplZCBoZXJl
IGJlY2F1c2Ugb2YgY29tcGlsZXIgcHJvYmxlbSBpbiBWaXN1YWwgU3R1ZGlvLgogICAgIHJlZl95
djEyWzBdID0geGQtPnBsYW5lWzBdLnByZVswXTsKICAgICByZWZfeXYxMlsxXSA9IHhkLT5wbGFu
ZVswXS5wcmVbMV07CkBAIC0yMDUyLDEwICsxOTc2LDYgQEAgc3RhdGljIHZvaWQgam9pbnRfbW90
aW9uX3NlYXJjaChWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBCTE9DS19TSVpFIGJzaXpl
LAogICAgIH0gZWxzZSB7CiAgICAgICBicmVhazsKICAgICB9Ci0gICAgaWYgKGl0ZSA8IG51bV9p
dGVycyAtIDEpIHsKLSAgICAgIGl0ZXJfbXZzW2l0ZSArIDFdWzBdLmFzX2ludCA9IGZyYW1lX212
W3JlZnNbMF1dLmFzX2ludDsKLSAgICAgIGl0ZXJfbXZzW2l0ZSArIDFdWzFdLmFzX2ludCA9IGZy
YW1lX212W3JlZnNbMV1dLmFzX2ludDsKLSAgICB9CiAgIH0KIAogICAqcmF0ZV9tdiA9IDA7CkBA
IC0yMDc2LDcgKzE5OTYsNyBAQCBzdGF0aWMgdm9pZCBqb2ludF9tb3Rpb25fc2VhcmNoKFZQOV9D
T01QICpjcGksIE1BQ1JPQkxPQ0sgKngsIEJMT0NLX1NJWkUgYnNpemUsCiAKIHN0YXRpYyBpbnQ2
NF90IHJkX3BpY2tfYmVzdF9zdWI4eDhfbW9kZSgKICAgICBWUDlfQ09NUCAqY3BpLCBNQUNST0JM
T0NLICp4LCBpbnRfbXYgKmJlc3RfcmVmX212LAotICAgIGludF9tdiAqc2Vjb25kX2Jlc3RfcmVm
X212LCBpbnQ2NF90IGJlc3RfcmRfc29fZmFyLCBpbnQgKnJldHVybnRvdHJhdGUsCisgICAgaW50
X212ICpzZWNvbmRfYmVzdF9yZWZfbXYsIGludDY0X3QgYmVzdF9yZCwgaW50ICpyZXR1cm50b3Ry
YXRlLAogICAgIGludCAqcmV0dXJueXJhdGUsIGludDY0X3QgKnJldHVybmRpc3RvcnRpb24sIGlu
dCAqc2tpcHBhYmxlLCBpbnQ2NF90ICpwc3NlLAogICAgIGludCBtdnRocmVzaCwgaW50X212IHNl
Z19tdnNbNF1bTUFYX1JFRl9GUkFNRVNdLCBCRVNUX1NFR19JTkZPICpic2lfYnVmLAogICAgIGlu
dCBmaWx0ZXJfaWR4LCBpbnQgbWlfcm93LCBpbnQgbWlfY29sKSB7CkBAIC0yMTA5LDcgKzIwMjks
NyBAQCBzdGF0aWMgaW50NjRfdCByZF9waWNrX2Jlc3Rfc3ViOHg4X21vZGUoCiAKICAgdnA5X3pl
cm8oKmJzaSk7CiAKLSAgYnNpLT5zZWdtZW50X3JkID0gYmVzdF9yZF9zb19mYXI7CisgIGJzaS0+
c2VnbWVudF9yZCA9IGJlc3RfcmQ7CiAgIGJzaS0+cmVmX212WzBdID0gYmVzdF9yZWZfbXY7CiAg
IGJzaS0+cmVmX212WzFdID0gc2Vjb25kX2Jlc3RfcmVmX212OwogICBic2ktPm12cC5hc19pbnQg
PSBiZXN0X3JlZl9tdi0+YXNfaW50OwpAQCAtMjEzNSwxNCArMjA1NSwxNCBAQCBzdGF0aWMgaW50
NjRfdCByZF9waWNrX2Jlc3Rfc3ViOHg4X21vZGUoCiAgICAgICBpbnRfbXYgZnJhbWVfbXZbTUJf
TU9ERV9DT1VOVF1bTUFYX1JFRl9GUkFNRVNdOwogICAgICAgUFJFRElDVElPTl9NT0RFIG1vZGVf
c2VsZWN0ZWQgPSBaRVJPTVY7CiAgICAgICBpbnQ2NF90IGJlc3RfcmQgPSBJTlQ2NF9NQVg7Ci0g
ICAgICBjb25zdCBpbnQgYmxvY2sgPSBpZHkgKiAyICsgaWR4OworICAgICAgY29uc3QgaW50IGkg
PSBpZHkgKiAyICsgaWR4OwogICAgICAgaW50IHJlZjsKIAogICAgICAgZm9yIChyZWYgPSAwOyBy
ZWYgPCAxICsgaGFzX3NlY29uZF9yZjsgKytyZWYpIHsKICAgICAgICAgY29uc3QgTVZfUkVGRVJF
TkNFX0ZSQU1FIGZyYW1lID0gbWktPnJlZl9mcmFtZVtyZWZdOwogICAgICAgICBmcmFtZV9tdlta
RVJPTVZdW2ZyYW1lXS5hc19pbnQgPSAwOwogICAgICAgICB2cDlfYXBwZW5kX3N1Yjh4OF9tdnNf
Zm9yX2lkeCgKLSAgICAgICAgICAgIGNtLCB4ZCwgYmxvY2ssIHJlZiwgbWlfcm93LCBtaV9jb2ws
ICZmcmFtZV9tdltORUFSRVNUTVZdW2ZyYW1lXSwKKyAgICAgICAgICAgIGNtLCB4ZCwgaSwgcmVm
LCBtaV9yb3csIG1pX2NvbCwgJmZyYW1lX212W05FQVJFU1RNVl1bZnJhbWVdLAogICAgICAgICAg
ICAgJmZyYW1lX212W05FQVJNVl1bZnJhbWVdLCBtYm1pX2V4dC0+bW9kZV9jb250ZXh0KTsKICAg
ICAgIH0KIApAQCAtMjE1Miw3ICsyMDcyLDcgQEAgc3RhdGljIGludDY0X3QgcmRfcGlja19iZXN0
X3N1Yjh4OF9tb2RlKAogICAgICAgICBzdHJ1Y3QgYnVmXzJkIG9yaWdfcHJlWzJdOwogCiAgICAg
ICAgIG1vZGVfaWR4ID0gSU5URVJfT0ZGU0VUKHRoaXNfbW9kZSk7Ci0gICAgICAgIGJzaS0+cmRz
dGF0W2Jsb2NrXVttb2RlX2lkeF0uYnJkY29zdCA9IElOVDY0X01BWDsKKyAgICAgICAgYnNpLT5y
ZHN0YXRbaV1bbW9kZV9pZHhdLmJyZGNvc3QgPSBJTlQ2NF9NQVg7CiAgICAgICAgIGlmICghKGlu
dGVyX21vZGVfbWFzayAmICgxIDw8IHRoaXNfbW9kZSkpKSBjb250aW51ZTsKIAogICAgICAgICBp
ZiAoIWNoZWNrX2Jlc3RfemVyb19tdihjcGksIG1ibWlfZXh0LT5tb2RlX2NvbnRleHQsIGZyYW1l
X212LApAQCAtMjE2MCwxNCArMjA4MCwxNCBAQCBzdGF0aWMgaW50NjRfdCByZF9waWNrX2Jlc3Rf
c3ViOHg4X21vZGUoCiAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgbWVtY3B5KG9yaWdf
cHJlLCBwZC0+cHJlLCBzaXplb2Yob3JpZ19wcmUpKTsKLSAgICAgICAgbWVtY3B5KGJzaS0+cmRz
dGF0W2Jsb2NrXVttb2RlX2lkeF0udGEsIHRfYWJvdmUsCi0gICAgICAgICAgICAgICBzaXplb2Yo
YnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS50YSkpOwotICAgICAgICBtZW1jcHkoYnNpLT5y
ZHN0YXRbYmxvY2tdW21vZGVfaWR4XS50bCwgdF9sZWZ0LAotICAgICAgICAgICAgICAgc2l6ZW9m
KGJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0udGwpKTsKKyAgICAgICAgbWVtY3B5KGJzaS0+
cmRzdGF0W2ldW21vZGVfaWR4XS50YSwgdF9hYm92ZSwKKyAgICAgICAgICAgICAgIHNpemVvZihi
c2ktPnJkc3RhdFtpXVttb2RlX2lkeF0udGEpKTsKKyAgICAgICAgbWVtY3B5KGJzaS0+cmRzdGF0
W2ldW21vZGVfaWR4XS50bCwgdF9sZWZ0LAorICAgICAgICAgICAgICAgc2l6ZW9mKGJzaS0+cmRz
dGF0W2ldW21vZGVfaWR4XS50bCkpOwogCiAgICAgICAgIC8vIG1vdGlvbiBzZWFyY2ggZm9yIG5l
d212IChzaW5nbGUgcHJlZGljdG9yIGNhc2Ugb25seSkKICAgICAgICAgaWYgKCFoYXNfc2Vjb25k
X3JmICYmIHRoaXNfbW9kZSA9PSBORVdNViAmJgotICAgICAgICAgICAgc2VnX212c1tibG9ja11b
bWktPnJlZl9mcmFtZVswXV0uYXNfaW50ID09IElOVkFMSURfTVYpIHsKKyAgICAgICAgICAgIHNl
Z19tdnNbaV1bbWktPnJlZl9mcmFtZVswXV0uYXNfaW50ID09IElOVkFMSURfTVYpIHsKICAgICAg
ICAgICBNViAqY29uc3QgbmV3X212ID0gJm1vZGVfbXZbTkVXTVZdWzBdLmFzX212OwogICAgICAg
ICAgIGludCBzdGVwX3BhcmFtID0gMDsKICAgICAgICAgICB1aW50MzJfdCBiZXN0c21lID0gVUlO
VF9NQVg7CkBAIC0yMTc3LDE5ICsyMDk3LDE4IEBAIHN0YXRpYyBpbnQ2NF90IHJkX3BpY2tfYmVz
dF9zdWI4eDhfbW9kZSgKICAgICAgICAgICBpbnQgY29zdF9saXN0WzVdOwogICAgICAgICAgIGNv
bnN0IE12TGltaXRzIHRtcF9tdl9saW1pdHMgPSB4LT5tdl9saW1pdHM7CiAKLSAgICAgICAgICAv
KiBJcyB0aGUgYmVzdCBzbyBmYXIgc3VmZmljaWVudGx5IGdvb2QgdGhhdCB3ZSBjYW4ndCBqdXN0
aWZ5IGRvaW5nCisgICAgICAgICAgLyogSXMgdGhlIGJlc3Qgc28gZmFyIHN1ZmZpY2llbnRseSBn
b29kIHRoYXQgd2UgY2FudCBqdXN0aWZ5IGRvaW5nCiAgICAgICAgICAgICogYW5kIG5ldyBtb3Rp
b24gc2VhcmNoLiAqLwogICAgICAgICAgIGlmIChiZXN0X3JkIDwgbGFiZWxfbXZfdGhyZXNoKSBi
cmVhazsKIAogICAgICAgICAgIGlmIChjcGktPm94Y2YubW9kZSAhPSBCRVNUKSB7CiAgICAgICAg
ICAgICAvLyB1c2UgcHJldmlvdXMgYmxvY2sncyByZXN1bHQgYXMgbmV4dCBibG9jaydzIE1WIHBy
ZWRpY3Rvci4KLSAgICAgICAgICAgIGlmIChibG9jayA+IDApIHsKLSAgICAgICAgICAgICAgYnNp
LT5tdnAuYXNfaW50ID0gbWktPmJtaVtibG9jayAtIDFdLmFzX212WzBdLmFzX2ludDsKLSAgICAg
ICAgICAgICAgaWYgKGJsb2NrID09IDIpCi0gICAgICAgICAgICAgICAgYnNpLT5tdnAuYXNfaW50
ID0gbWktPmJtaVtibG9jayAtIDJdLmFzX212WzBdLmFzX2ludDsKKyAgICAgICAgICAgIGlmIChp
ID4gMCkgeworICAgICAgICAgICAgICBic2ktPm12cC5hc19pbnQgPSBtaS0+Ym1pW2kgLSAxXS5h
c19tdlswXS5hc19pbnQ7CisgICAgICAgICAgICAgIGlmIChpID09IDIpIGJzaS0+bXZwLmFzX2lu
dCA9IG1pLT5ibWlbaSAtIDJdLmFzX212WzBdLmFzX2ludDsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICB9Ci0gICAgICAgICAgaWYgKGJsb2NrID09IDApCisgICAgICAgICAgaWYgKGkgPT0gMCkK
ICAgICAgICAgICAgIG1heF9tdiA9IHgtPm1heF9tdl9jb250ZXh0W21pLT5yZWZfZnJhbWVbMF1d
OwogICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1heF9tdiA9CkBAIC0yMjE4LDcgKzIxMzcs
NyBAQCBzdGF0aWMgaW50NjRfdCByZF9waWNrX2Jlc3Rfc3ViOHg4X21vZGUoCiAgICAgICAgICAg
fQogCiAgICAgICAgICAgLy8gYWRqdXN0IHNyYyBwb2ludGVyIGZvciB0aGlzIGJsb2NrCi0gICAg
ICAgICAgbWlfYnVmX3NoaWZ0KHgsIGJsb2NrKTsKKyAgICAgICAgICBtaV9idWZfc2hpZnQoeCwg
aSk7CiAKICAgICAgICAgICB2cDlfc2V0X212X3NlYXJjaF9yYW5nZSgmeC0+bXZfbGltaXRzLCAm
YnNpLT5yZWZfbXZbMF0tPmFzX212KTsKIApAQCAtMjI0MSw3ICsyMTYwLDcgQEAgc3RhdGljIGlu
dDY0X3QgcmRfcGlja19iZXN0X3N1Yjh4OF9tb2RlKAogICAgICAgICAgICAgICAgIGNwaS0+c2Yu
dXNlX2FjY3VyYXRlX3N1YnBlbF9zZWFyY2gpOwogCiAgICAgICAgICAgICAvLyBzYXZlIG1vdGlv
biBzZWFyY2ggcmVzdWx0IGZvciB1c2UgaW4gY29tcG91bmQgcHJlZGljdGlvbgotICAgICAgICAg
ICAgc2VnX212c1tibG9ja11bbWktPnJlZl9mcmFtZVswXV0uYXNfbXYgPSAqbmV3X212OworICAg
ICAgICAgICAgc2VnX212c1tpXVttaS0+cmVmX2ZyYW1lWzBdXS5hc19tdiA9ICpuZXdfbXY7CiAg
ICAgICAgICAgfQogCiAgICAgICAgICAgeC0+cHJlZF9tdlttaS0+cmVmX2ZyYW1lWzBdXSA9ICpu
ZXdfbXY7CkBAIC0yMjUxLDQ0ICsyMTcwLDQwIEBAIHN0YXRpYyBpbnQ2NF90IHJkX3BpY2tfYmVz
dF9zdWI4eDhfbW9kZSgKICAgICAgICAgfQogCiAgICAgICAgIGlmIChoYXNfc2Vjb25kX3JmKSB7
Ci0gICAgICAgICAgaWYgKHNlZ19tdnNbYmxvY2tdW21pLT5yZWZfZnJhbWVbMV1dLmFzX2ludCA9
PSBJTlZBTElEX01WIHx8Ci0gICAgICAgICAgICAgIHNlZ19tdnNbYmxvY2tdW21pLT5yZWZfZnJh
bWVbMF1dLmFzX2ludCA9PSBJTlZBTElEX01WKQorICAgICAgICAgIGlmIChzZWdfbXZzW2ldW21p
LT5yZWZfZnJhbWVbMV1dLmFzX2ludCA9PSBJTlZBTElEX01WIHx8CisgICAgICAgICAgICAgIHNl
Z19tdnNbaV1bbWktPnJlZl9mcmFtZVswXV0uYXNfaW50ID09IElOVkFMSURfTVYpCiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChoYXNfc2Vjb25kX3JmICYm
IHRoaXNfbW9kZSA9PSBORVdNViAmJgogICAgICAgICAgICAgbWktPmludGVycF9maWx0ZXIgPT0g
RUlHSFRUQVApIHsKLSAgICAgICAgICAvLyBEZWNpZGUgbnVtYmVyIG9mIGpvaW50IG1vdGlvbiBz
ZWFyY2ggaXRlcmF0aW9ucwotICAgICAgICAgIGNvbnN0IGludCBudW1fam9pbnRfc2VhcmNoX2l0
ZXJzID0gZ2V0X2pvaW50X3NlYXJjaF9pdGVycygKLSAgICAgICAgICAgICAgY3BpLT5zZi5jb21w
X2ludGVyX2pvaW50X3NlYXJjaF9pdGVyX2xldmVsLCBic2l6ZSk7CiAgICAgICAgICAgLy8gYWRq
dXN0IHNyYyBwb2ludGVycwotICAgICAgICAgIG1pX2J1Zl9zaGlmdCh4LCBibG9jayk7Ci0gICAg
ICAgICAgaWYgKG51bV9qb2ludF9zZWFyY2hfaXRlcnMpIHsKKyAgICAgICAgICBtaV9idWZfc2hp
ZnQoeCwgaSk7CisgICAgICAgICAgaWYgKHNmLT5jb21wX2ludGVyX2pvaW50X3NlYXJjaF90aHJl
c2ggPD0gYnNpemUpIHsKICAgICAgICAgICAgIGludCByYXRlX212OwogICAgICAgICAgICAgam9p
bnRfbW90aW9uX3NlYXJjaChjcGksIHgsIGJzaXplLCBmcmFtZV9tdlt0aGlzX21vZGVdLCBtaV9y
b3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pX2NvbCwgc2VnX212c1tibG9j
a10sICZyYXRlX212LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1fam9pbnRf
c2VhcmNoX2l0ZXJzKTsKLSAgICAgICAgICAgIHNlZ19tdnNbYmxvY2tdW21pLT5yZWZfZnJhbWVb
MF1dLmFzX2ludCA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pX2NvbCwgc2Vn
X212c1tpXSwgJnJhdGVfbXYpOworICAgICAgICAgICAgc2VnX212c1tpXVttaS0+cmVmX2ZyYW1l
WzBdXS5hc19pbnQgPQogICAgICAgICAgICAgICAgIGZyYW1lX212W3RoaXNfbW9kZV1bbWktPnJl
Zl9mcmFtZVswXV0uYXNfaW50OwotICAgICAgICAgICAgc2VnX212c1tibG9ja11bbWktPnJlZl9m
cmFtZVsxXV0uYXNfaW50ID0KKyAgICAgICAgICAgIHNlZ19tdnNbaV1bbWktPnJlZl9mcmFtZVsx
XV0uYXNfaW50ID0KICAgICAgICAgICAgICAgICBmcmFtZV9tdlt0aGlzX21vZGVdW21pLT5yZWZf
ZnJhbWVbMV1dLmFzX2ludDsKICAgICAgICAgICB9CiAgICAgICAgICAgLy8gcmVzdG9yZSBzcmMg
cG9pbnRlcnMKICAgICAgICAgICBtaV9idWZfcmVzdG9yZSh4LCBvcmlnX3NyYywgb3JpZ19wcmUp
OwogICAgICAgICB9CiAKLSAgICAgICAgYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5icmF0
ZSA9IHNldF9hbmRfY29zdF9ibWlfbXZzKAotICAgICAgICAgICAgY3BpLCB4LCB4ZCwgYmxvY2ss
IHRoaXNfbW9kZSwgbW9kZV9tdlt0aGlzX21vZGVdLCBmcmFtZV9tdiwKLSAgICAgICAgICAgIHNl
Z19tdnNbYmxvY2tdLCBic2ktPnJlZl9tdiwgeC0+bm12am9pbnRjb3N0LCB4LT5tdmNvc3QpOwor
ICAgICAgICBic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0uYnJhdGUgPSBzZXRfYW5kX2Nvc3RfYm1p
X212cygKKyAgICAgICAgICAgIGNwaSwgeCwgeGQsIGksIHRoaXNfbW9kZSwgbW9kZV9tdlt0aGlz
X21vZGVdLCBmcmFtZV9tdiwgc2VnX212c1tpXSwKKyAgICAgICAgICAgIGJzaS0+cmVmX212LCB4
LT5ubXZqb2ludGNvc3QsIHgtPm12Y29zdCk7CiAKICAgICAgICAgZm9yIChyZWYgPSAwOyByZWYg
PCAxICsgaGFzX3NlY29uZF9yZjsgKytyZWYpIHsKLSAgICAgICAgICBic2ktPnJkc3RhdFtibG9j
a11bbW9kZV9pZHhdLm12c1tyZWZdLmFzX2ludCA9CisgICAgICAgICAgYnNpLT5yZHN0YXRbaV1b
bW9kZV9pZHhdLm12c1tyZWZdLmFzX2ludCA9CiAgICAgICAgICAgICAgIG1vZGVfbXZbdGhpc19t
b2RlXVtyZWZdLmFzX2ludDsKICAgICAgICAgICBpZiAobnVtXzR4NF9ibG9ja3Nfd2lkZSA+IDEp
Ci0gICAgICAgICAgICBic2ktPnJkc3RhdFtibG9jayArIDFdW21vZGVfaWR4XS5tdnNbcmVmXS5h
c19pbnQgPQorICAgICAgICAgICAgYnNpLT5yZHN0YXRbaSArIDFdW21vZGVfaWR4XS5tdnNbcmVm
XS5hc19pbnQgPQogICAgICAgICAgICAgICAgIG1vZGVfbXZbdGhpc19tb2RlXVtyZWZdLmFzX2lu
dDsKICAgICAgICAgICBpZiAobnVtXzR4NF9ibG9ja3NfaGlnaCA+IDEpCi0gICAgICAgICAgICBi
c2ktPnJkc3RhdFtibG9jayArIDJdW21vZGVfaWR4XS5tdnNbcmVmXS5hc19pbnQgPQorICAgICAg
ICAgICAgYnNpLT5yZHN0YXRbaSArIDJdW21vZGVfaWR4XS5tdnNbcmVmXS5hc19pbnQgPQogICAg
ICAgICAgICAgICAgIG1vZGVfbXZbdGhpc19tb2RlXVtyZWZdLmFzX2ludDsKICAgICAgICAgfQog
CkBAIC0yMzA2LDcgKzIyMjEsNyBAQCBzdGF0aWMgaW50NjRfdCByZF9waWNrX2Jlc3Rfc3ViOHg4
X21vZGUoCiAgICAgICAgICAgZm9yIChyZWYgPSAwOyByZWYgPCAxICsgaGFzX3NlY29uZF9yZjsg
KytyZWYpIHsKICAgICAgICAgICAgIHN1YnBlbG12IHw9IG12X2hhc19zdWJwZWwoJm1vZGVfbXZb
dGhpc19tb2RlXVtyZWZdLmFzX212KTsKICAgICAgICAgICAgIGhhdmVfcmVmICY9IG1vZGVfbXZb
dGhpc19tb2RlXVtyZWZdLmFzX2ludCA9PQotICAgICAgICAgICAgICAgICAgICAgICAgcmVmX2Jz
aS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0ubXZzW3JlZl0uYXNfaW50OworICAgICAgICAgICAg
ICAgICAgICAgICAgcmVmX2JzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5tdnNbcmVmXS5hc19pbnQ7
CiAgICAgICAgICAgfQogCiAgICAgICAgICAgaWYgKGZpbHRlcl9pZHggPiAxICYmICFzdWJwZWxt
diAmJiAhaGF2ZV9yZWYpIHsKQEAgLTIzMTQsNTUgKzIyMjksNTMgQEAgc3RhdGljIGludDY0X3Qg
cmRfcGlja19iZXN0X3N1Yjh4OF9tb2RlKAogICAgICAgICAgICAgaGF2ZV9yZWYgPSAxOwogICAg
ICAgICAgICAgZm9yIChyZWYgPSAwOyByZWYgPCAxICsgaGFzX3NlY29uZF9yZjsgKytyZWYpCiAg
ICAgICAgICAgICAgIGhhdmVfcmVmICY9IG1vZGVfbXZbdGhpc19tb2RlXVtyZWZdLmFzX2ludCA9
PQotICAgICAgICAgICAgICAgICAgICAgICAgICByZWZfYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVf
aWR4XS5tdnNbcmVmXS5hc19pbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZl9ic2kt
PnJkc3RhdFtpXVttb2RlX2lkeF0ubXZzW3JlZl0uYXNfaW50OwogICAgICAgICAgIH0KIAogICAg
ICAgICAgIGlmICghc3VicGVsbXYgJiYgaGF2ZV9yZWYgJiYKLSAgICAgICAgICAgICAgcmVmX2Jz
aS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0uYnJkY29zdCA8IElOVDY0X01BWCkgewotICAgICAg
ICAgICAgbWVtY3B5KCZic2ktPnJkc3RhdFtibG9ja11bbW9kZV9pZHhdLAotICAgICAgICAgICAg
ICAgICAgICZyZWZfYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XSwgc2l6ZW9mKFNFR19SRFNU
QVQpKTsKKyAgICAgICAgICAgICAgcmVmX2JzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5icmRjb3N0
IDwgSU5UNjRfTUFYKSB7CisgICAgICAgICAgICBtZW1jcHkoJmJzaS0+cmRzdGF0W2ldW21vZGVf
aWR4XSwgJnJlZl9ic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0sCisgICAgICAgICAgICAgICAgICAg
c2l6ZW9mKFNFR19SRFNUQVQpKTsKICAgICAgICAgICAgIGlmIChudW1fNHg0X2Jsb2Nrc193aWRl
ID4gMSkKLSAgICAgICAgICAgICAgYnNpLT5yZHN0YXRbYmxvY2sgKyAxXVttb2RlX2lkeF0uZW9i
cyA9Ci0gICAgICAgICAgICAgICAgICByZWZfYnNpLT5yZHN0YXRbYmxvY2sgKyAxXVttb2RlX2lk
eF0uZW9iczsKKyAgICAgICAgICAgICAgYnNpLT5yZHN0YXRbaSArIDFdW21vZGVfaWR4XS5lb2Jz
ID0KKyAgICAgICAgICAgICAgICAgIHJlZl9ic2ktPnJkc3RhdFtpICsgMV1bbW9kZV9pZHhdLmVv
YnM7CiAgICAgICAgICAgICBpZiAobnVtXzR4NF9ibG9ja3NfaGlnaCA+IDEpCi0gICAgICAgICAg
ICAgIGJzaS0+cmRzdGF0W2Jsb2NrICsgMl1bbW9kZV9pZHhdLmVvYnMgPQotICAgICAgICAgICAg
ICAgICAgcmVmX2JzaS0+cmRzdGF0W2Jsb2NrICsgMl1bbW9kZV9pZHhdLmVvYnM7CisgICAgICAg
ICAgICAgIGJzaS0+cmRzdGF0W2kgKyAyXVttb2RlX2lkeF0uZW9icyA9CisgICAgICAgICAgICAg
ICAgICByZWZfYnNpLT5yZHN0YXRbaSArIDJdW21vZGVfaWR4XS5lb2JzOwogCi0gICAgICAgICAg
ICBpZiAoYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5icmRjb3N0IDwgYmVzdF9yZCkgewor
ICAgICAgICAgICAgaWYgKGJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5icmRjb3N0IDwgYmVzdF9y
ZCkgewogICAgICAgICAgICAgICBtb2RlX3NlbGVjdGVkID0gdGhpc19tb2RlOwotICAgICAgICAg
ICAgICBiZXN0X3JkID0gYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5icmRjb3N0OworICAg
ICAgICAgICAgICBiZXN0X3JkID0gYnNpLT5yZHN0YXRbaV1bbW9kZV9pZHhdLmJyZGNvc3Q7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICB9CiAgICAgICAg
IH0KIAotICAgICAgICBic2ktPnJkc3RhdFtibG9ja11bbW9kZV9pZHhdLmJyZGNvc3QgPSBlbmNv
ZGVfaW50ZXJfbWJfc2VnbWVudCgKLSAgICAgICAgICAgIGNwaSwgeCwgYnNpLT5zZWdtZW50X3Jk
IC0gdGhpc19zZWdtZW50X3JkLCBibG9jaywKLSAgICAgICAgICAgICZic2ktPnJkc3RhdFtibG9j
a11bbW9kZV9pZHhdLmJ5cmF0ZSwKLSAgICAgICAgICAgICZic2ktPnJkc3RhdFtibG9ja11bbW9k
ZV9pZHhdLmJkaXN0LAotICAgICAgICAgICAgJmJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0u
YnNzZSwgYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS50YSwKLSAgICAgICAgICAgIGJzaS0+
cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0udGwsIG1pX3JvdywgbWlfY29sKTsKLSAgICAgICAgaWYg
KGJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0uYnJkY29zdCA8IElOVDY0X01BWCkgewotICAg
ICAgICAgIGJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0uYnJkY29zdCArPSBSRENPU1QoCi0g
ICAgICAgICAgICAgIHgtPnJkbXVsdCwgeC0+cmRkaXYsIGJzaS0+cmRzdGF0W2Jsb2NrXVttb2Rl
X2lkeF0uYnJhdGUsIDApOwotICAgICAgICAgIGJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0u
YnJhdGUgKz0KLSAgICAgICAgICAgICAgYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5ieXJh
dGU7Ci0gICAgICAgICAgYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5lb2JzID0gcC0+ZW9i
c1tibG9ja107CisgICAgICAgIGJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5icmRjb3N0ID0gZW5j
b2RlX2ludGVyX21iX3NlZ21lbnQoCisgICAgICAgICAgICBjcGksIHgsIGJzaS0+c2VnbWVudF9y
ZCAtIHRoaXNfc2VnbWVudF9yZCwgaSwKKyAgICAgICAgICAgICZic2ktPnJkc3RhdFtpXVttb2Rl
X2lkeF0uYnlyYXRlLCAmYnNpLT5yZHN0YXRbaV1bbW9kZV9pZHhdLmJkaXN0LAorICAgICAgICAg
ICAgJmJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5ic3NlLCBic2ktPnJkc3RhdFtpXVttb2RlX2lk
eF0udGEsCisgICAgICAgICAgICBic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0udGwsIG1pX3Jvdywg
bWlfY29sKTsKKyAgICAgICAgaWYgKGJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5icmRjb3N0IDwg
SU5UNjRfTUFYKSB7CisgICAgICAgICAgYnNpLT5yZHN0YXRbaV1bbW9kZV9pZHhdLmJyZGNvc3Qg
Kz0KKyAgICAgICAgICAgICAgUkRDT1NUKHgtPnJkbXVsdCwgeC0+cmRkaXYsIGJzaS0+cmRzdGF0
W2ldW21vZGVfaWR4XS5icmF0ZSwgMCk7CisgICAgICAgICAgYnNpLT5yZHN0YXRbaV1bbW9kZV9p
ZHhdLmJyYXRlICs9IGJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5ieXJhdGU7CisgICAgICAgICAg
YnNpLT5yZHN0YXRbaV1bbW9kZV9pZHhdLmVvYnMgPSBwLT5lb2JzW2ldOwogICAgICAgICAgIGlm
IChudW1fNHg0X2Jsb2Nrc193aWRlID4gMSkKLSAgICAgICAgICAgIGJzaS0+cmRzdGF0W2Jsb2Nr
ICsgMV1bbW9kZV9pZHhdLmVvYnMgPSBwLT5lb2JzW2Jsb2NrICsgMV07CisgICAgICAgICAgICBi
c2ktPnJkc3RhdFtpICsgMV1bbW9kZV9pZHhdLmVvYnMgPSBwLT5lb2JzW2kgKyAxXTsKICAgICAg
ICAgICBpZiAobnVtXzR4NF9ibG9ja3NfaGlnaCA+IDEpCi0gICAgICAgICAgICBic2ktPnJkc3Rh
dFtibG9jayArIDJdW21vZGVfaWR4XS5lb2JzID0gcC0+ZW9ic1tibG9jayArIDJdOworICAgICAg
ICAgICAgYnNpLT5yZHN0YXRbaSArIDJdW21vZGVfaWR4XS5lb2JzID0gcC0+ZW9ic1tpICsgMl07
CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5i
cmRjb3N0IDwgYmVzdF9yZCkgeworICAgICAgICBpZiAoYnNpLT5yZHN0YXRbaV1bbW9kZV9pZHhd
LmJyZGNvc3QgPCBiZXN0X3JkKSB7CiAgICAgICAgICAgbW9kZV9zZWxlY3RlZCA9IHRoaXNfbW9k
ZTsKLSAgICAgICAgICBiZXN0X3JkID0gYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5icmRj
b3N0OworICAgICAgICAgIGJlc3RfcmQgPSBic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0uYnJkY29z
dDsKICAgICAgICAgfQogICAgICAgfSAvKmZvciBlYWNoIDR4NCBtb2RlKi8KIAogICAgICAgaWYg
KGJlc3RfcmQgPT0gSU5UNjRfTUFYKSB7CiAgICAgICAgIGludCBpeSwgbWlkeDsKLSAgICAgICAg
Zm9yIChpeSA9IGJsb2NrICsgMTsgaXkgPCA0OyArK2l5KQorICAgICAgICBmb3IgKGl5ID0gaSAr
IDE7IGl5IDwgNDsgKytpeSkKICAgICAgICAgICBmb3IgKG1pZHggPSAwOyBtaWR4IDwgSU5URVJf
TU9ERVM7ICsrbWlkeCkKICAgICAgICAgICAgIGJzaS0+cmRzdGF0W2l5XVttaWR4XS5icmRjb3N0
ID0gSU5UNjRfTUFYOwogICAgICAgICBic2ktPnNlZ21lbnRfcmQgPSBJTlQ2NF9NQVg7CkBAIC0y
MzcwLDIyICsyMjgzLDIyIEBAIHN0YXRpYyBpbnQ2NF90IHJkX3BpY2tfYmVzdF9zdWI4eDhfbW9k
ZSgKICAgICAgIH0KIAogICAgICAgbW9kZV9pZHggPSBJTlRFUl9PRkZTRVQobW9kZV9zZWxlY3Rl
ZCk7Ci0gICAgICBtZW1jcHkodF9hYm92ZSwgYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS50
YSwgc2l6ZW9mKHRfYWJvdmUpKTsKLSAgICAgIG1lbWNweSh0X2xlZnQsIGJzaS0+cmRzdGF0W2Js
b2NrXVttb2RlX2lkeF0udGwsIHNpemVvZih0X2xlZnQpKTsKKyAgICAgIG1lbWNweSh0X2Fib3Zl
LCBic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0udGEsIHNpemVvZih0X2Fib3ZlKSk7CisgICAgICBt
ZW1jcHkodF9sZWZ0LCBic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0udGwsIHNpemVvZih0X2xlZnQp
KTsKIAotICAgICAgc2V0X2FuZF9jb3N0X2JtaV9tdnMoY3BpLCB4LCB4ZCwgYmxvY2ssIG1vZGVf
c2VsZWN0ZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlX212W21vZGVfc2VsZWN0
ZWRdLCBmcmFtZV9tdiwgc2VnX212c1tibG9ja10sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBic2ktPnJlZl9tdiwgeC0+bm12am9pbnRjb3N0LCB4LT5tdmNvc3QpOworICAgICAgc2V0X2Fu
ZF9jb3N0X2JtaV9tdnMoY3BpLCB4LCB4ZCwgaSwgbW9kZV9zZWxlY3RlZCwgbW9kZV9tdlttb2Rl
X3NlbGVjdGVkXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lX212LCBzZWdfbXZz
W2ldLCBic2ktPnJlZl9tdiwgeC0+bm12am9pbnRjb3N0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeC0+bXZjb3N0KTsKIAotICAgICAgYnIgKz0gYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVf
aWR4XS5icmF0ZTsKLSAgICAgIGJkICs9IGJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0uYmRp
c3Q7Ci0gICAgICBibG9ja19zc2UgKz0gYnNpLT5yZHN0YXRbYmxvY2tdW21vZGVfaWR4XS5ic3Nl
OwotICAgICAgc2VnbWVudHlyYXRlICs9IGJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lkeF0uYnly
YXRlOwotICAgICAgdGhpc19zZWdtZW50X3JkICs9IGJzaS0+cmRzdGF0W2Jsb2NrXVttb2RlX2lk
eF0uYnJkY29zdDsKKyAgICAgIGJyICs9IGJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5icmF0ZTsK
KyAgICAgIGJkICs9IGJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5iZGlzdDsKKyAgICAgIGJsb2Nr
X3NzZSArPSBic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0uYnNzZTsKKyAgICAgIHNlZ21lbnR5cmF0
ZSArPSBic2ktPnJkc3RhdFtpXVttb2RlX2lkeF0uYnlyYXRlOworICAgICAgdGhpc19zZWdtZW50
X3JkICs9IGJzaS0+cmRzdGF0W2ldW21vZGVfaWR4XS5icmRjb3N0OwogCiAgICAgICBpZiAodGhp
c19zZWdtZW50X3JkID4gYnNpLT5zZWdtZW50X3JkKSB7CiAgICAgICAgIGludCBpeSwgbWlkeDsK
LSAgICAgICAgZm9yIChpeSA9IGJsb2NrICsgMTsgaXkgPCA0OyArK2l5KQorICAgICAgICBmb3Ig
KGl5ID0gaSArIDE7IGl5IDwgNDsgKytpeSkKICAgICAgICAgICBmb3IgKG1pZHggPSAwOyBtaWR4
IDwgSU5URVJfTU9ERVM7ICsrbWlkeCkKICAgICAgICAgICAgIGJzaS0+cmRzdGF0W2l5XVttaWR4
XS5icmRjb3N0ID0gSU5UNjRfTUFYOwogICAgICAgICBic2ktPnNlZ21lbnRfcmQgPSBJTlQ2NF9N
QVg7CkBAIC0yNDAzLDcgKzIzMTYsNyBAQCBzdGF0aWMgaW50NjRfdCByZF9waWNrX2Jlc3Rfc3Vi
OHg4X21vZGUoCiAgIC8vIHVwZGF0ZSB0aGUgY29kaW5nIGRlY2lzaW9ucwogICBmb3IgKGsgPSAw
OyBrIDwgNDsgKytrKSBic2ktPm1vZGVzW2tdID0gbWktPmJtaVtrXS5hc19tb2RlOwogCi0gIGlm
IChic2ktPnNlZ21lbnRfcmQgPiBiZXN0X3JkX3NvX2ZhcikgcmV0dXJuIElOVDY0X01BWDsKKyAg
aWYgKGJzaS0+c2VnbWVudF9yZCA+IGJlc3RfcmQpIHJldHVybiBJTlQ2NF9NQVg7CiAgIC8qIHNl
dCBpdCB0byB0aGUgYmVzdCAqLwogICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CiAgICAgbW9k
ZV9pZHggPSBJTlRFUl9PRkZTRVQoYnNpLT5tb2Rlc1tpXSk7CkBAIC0yNjQ4LDkgKzI1NjEsOSBA
QCBzdGF0aWMgdm9pZCBzaW5nbGVfbW90aW9uX3NlYXJjaChWUDlfQ09NUCAqY3BpLCBNQUNST0JM
T0NLICp4LCBCTE9DS19TSVpFIGJzaXplLAogICAgICAgICAgIHRtcF9tdi0+YXNfaW50ID0gSU5W
QUxJRF9NVjsKIAogICAgICAgICAgIGlmIChzY2FsZWRfcmVmX2ZyYW1lKSB7Ci0gICAgICAgICAg
ICBpbnQgajsKLSAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBNQVhfTUJfUExBTkU7ICsraikK
LSAgICAgICAgICAgICAgeGQtPnBsYW5lW2pdLnByZVswXSA9IGJhY2t1cF95djEyW2pdOworICAg
ICAgICAgICAgaW50IGk7CisgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTUFYX01CX1BMQU5F
OyArK2kpCisgICAgICAgICAgICAgIHhkLT5wbGFuZVtpXS5wcmVbMF0gPSBiYWNrdXBfeXYxMltp
XTsKICAgICAgICAgICB9CiAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0yODE1LDkg
KzI3MjgsOCBAQCBzdGF0aWMgaW50NjRfdCBoYW5kbGVfaW50ZXJfbW9kZSgKICAgICBzdHJ1Y3Qg
YnVmXzJkICpyZWNvbiwgaW50ICpkaXNhYmxlX3NraXAsIGludF9tdiAoKm1vZGVfbXYpW01BWF9S
RUZfRlJBTUVTXSwKICAgICBpbnQgbWlfcm93LCBpbnQgbWlfY29sLCBpbnRfbXYgc2luZ2xlX25l
d212W01BWF9SRUZfRlJBTUVTXSwKICAgICBJTlRFUlBfRklMVEVSICgqc2luZ2xlX2ZpbHRlcilb
TUFYX1JFRl9GUkFNRVNdLAotICAgIGludCAoKnNpbmdsZV9za2lwcGFibGUpW01BWF9SRUZfRlJB
TUVTXSwgaW50ICpzaW5nbGVfbW9kZV9yYXRlLAotICAgIGludDY0X3QgKnBzc2UsIGNvbnN0IGlu
dDY0X3QgcmVmX2Jlc3RfcmQsIGludDY0X3QgKm1hc2tfZmlsdGVyLAotICAgIGludDY0X3QgZmls
dGVyX2NhY2hlW10sIGludCBiZXN0X21vZGVfaW5kZXgpIHsKKyAgICBpbnQgKCpzaW5nbGVfc2tp
cHBhYmxlKVtNQVhfUkVGX0ZSQU1FU10sIGludDY0X3QgKnBzc2UsCisgICAgY29uc3QgaW50NjRf
dCByZWZfYmVzdF9yZCwgaW50NjRfdCAqbWFza19maWx0ZXIsIGludDY0X3QgZmlsdGVyX2NhY2hl
W10pIHsKICAgVlA5X0NPTU1PTiAqY20gPSAmY3BpLT5jb21tb247CiAgIE1BQ1JPQkxPQ0tEICp4
ZCA9ICZ4LT5lX21iZDsKICAgTU9ERV9JTkZPICptaSA9IHhkLT5taVswXTsKQEAgLTI4MzUsOCAr
Mjc0Nyw5IEBAIHN0YXRpYyBpbnQ2NF90IGhhbmRsZV9pbnRlcl9tb2RlKAogI2Vsc2UKICAgREVD
TEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCB0bXBfYnVmW01BWF9NQl9QTEFORSAqIDY0ICogNjRd
KTsKICNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKKyAgaW50IHByZWRfZXhpc3Rz
ID0gMDsKICAgaW50IGludHBlbF9tdjsKLSAgaW50NjRfdCByZCwgdG1wX3JkID0gSU5UNjRfTUFY
LCBiZXN0X3JkID0gSU5UNjRfTUFYOworICBpbnQ2NF90IHJkLCB0bXBfcmQsIGJlc3RfcmQgPSBJ
TlQ2NF9NQVg7CiAgIGludCBiZXN0X25lZWRzX2NvcHkgPSAwOwogICB1aW50OF90ICpvcmlnX2Rz
dFtNQVhfTUJfUExBTkVdOwogICBpbnQgb3JpZ19kc3Rfc3RyaWRlW01BWF9NQl9QTEFORV07CkBA
IC0yODQ1LDEyICsyNzU4LDEzIEBAIHN0YXRpYyBpbnQ2NF90IGhhbmRsZV9pbnRlcl9tb2RlKAog
ICB1aW50OF90IHNraXBfdHhmbVtNQVhfTUJfUExBTkUgPDwgMl0gPSB7IDAgfTsKICAgaW50NjRf
dCBic3NlW01BWF9NQl9QTEFORSA8PCAyXSA9IHsgMCB9OwogCi0gIGNvbnN0IGludCBic2wgPSBt
aV93aWR0aF9sb2cyX2xvb2t1cFtic2l6ZV07Ci0gIGNvbnN0IGludCBibGtfcGFyaXR5ID0gKCgo
bWlfcm93ICsgbWlfY29sKSA+PiBic2wpICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0
X2NoZXNzYm9hcmRfaW5kZXgoY20tPmN1cnJlbnRfdmlkZW9fZnJhbWUpKSAmCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgMHgxOwotICBjb25zdCBpbnQgcHJlZF9maWx0ZXJfc2VhcmNoID0KLSAg
ICAgIChjcGktPnNmLmNiX3ByZWRfZmlsdGVyX3NlYXJjaCA+PSAyKSAmJiBibGtfcGFyaXR5Owor
ICBpbnQgYnNsID0gbWlfd2lkdGhfbG9nMl9sb29rdXBbYnNpemVdOworICBpbnQgcHJlZF9maWx0
ZXJfc2VhcmNoID0KKyAgICAgIGNwaS0+c2YuY2JfcHJlZF9maWx0ZXJfc2VhcmNoCisgICAgICAg
ICAgPyAoKChtaV9yb3cgKyBtaV9jb2wpID4+IGJzbCkgKworICAgICAgICAgICAgIGdldF9jaGVz
c2JvYXJkX2luZGV4KGNtLT5jdXJyZW50X3ZpZGVvX2ZyYW1lKSkgJgorICAgICAgICAgICAgICAg
IDB4MQorICAgICAgICAgIDogMDsKIAogICBpbnQgc2tpcF90eGZtX3NiID0gMDsKICAgaW50NjRf
dCBza2lwX3NzZV9zYiA9IElOVDY0X01BWDsKQEAgLTI4ODksMjMgKzI4MDMsMTMgQEAgc3RhdGlj
IGludDY0X3QgaGFuZGxlX2ludGVyX21vZGUoCiAgIGlmICh0aGlzX21vZGUgPT0gTkVXTVYpIHsK
ICAgICBpbnQgcmF0ZV9tdjsKICAgICBpZiAoaXNfY29tcF9wcmVkKSB7Ci0gICAgICAvLyBEZWNp
ZGUgbnVtYmVyIG9mIGpvaW50IG1vdGlvbiBzZWFyY2ggaXRlcmF0aW9ucwotICAgICAgY29uc3Qg
aW50IG51bV9qb2ludF9zZWFyY2hfaXRlcnMgPSBnZXRfam9pbnRfc2VhcmNoX2l0ZXJzKAotICAg
ICAgICAgIGNwaS0+c2YuY29tcF9pbnRlcl9qb2ludF9zZWFyY2hfaXRlcl9sZXZlbCwgYnNpemUp
OwotCiAgICAgICAvLyBJbml0aWFsaXplIG12IHVzaW5nIHNpbmdsZSBwcmVkaWN0aW9uIG1vZGUg
cmVzdWx0LgogICAgICAgZnJhbWVfbXZbcmVmc1swXV0uYXNfaW50ID0gc2luZ2xlX25ld212W3Jl
ZnNbMF1dLmFzX2ludDsKICAgICAgIGZyYW1lX212W3JlZnNbMV1dLmFzX2ludCA9IHNpbmdsZV9u
ZXdtdltyZWZzWzFdXS5hc19pbnQ7CiAKLSAgICAgIGlmIChudW1fam9pbnRfc2VhcmNoX2l0ZXJz
KSB7Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgICAgICBzdGFydF90
aW1pbmcoY3BpLCBqb2ludF9tb3Rpb25fc2VhcmNoX3RpbWUpOwotI2VuZGlmCisgICAgICBpZiAo
Y3BpLT5zZi5jb21wX2ludGVyX2pvaW50X3NlYXJjaF90aHJlc2ggPD0gYnNpemUpIHsKICAgICAg
ICAgam9pbnRfbW90aW9uX3NlYXJjaChjcGksIHgsIGJzaXplLCBmcmFtZV9tdiwgbWlfcm93LCBt
aV9jb2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlX25ld212LCAmcmF0ZV9t
diwgbnVtX2pvaW50X3NlYXJjaF9pdGVycyk7Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5U
X1RJTUlORwotICAgICAgICBlbmRfdGltaW5nKGNwaSwgam9pbnRfbW90aW9uX3NlYXJjaF90aW1l
KTsKLSNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmdsZV9uZXdtdiwgJnJh
dGVfbXYpOwogICAgICAgfSBlbHNlIHsKICAgICAgICAgcmF0ZV9tdiA9IHZwOV9tdl9iaXRfY29z
dCgmZnJhbWVfbXZbcmVmc1swXV0uYXNfbXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJngtPm1ibWlfZXh0LT5yZWZfbXZzW3JlZnNbMF1dWzBdLmFzX212LApAQCAtMjkxNywx
MyArMjgyMSw3IEBAIHN0YXRpYyBpbnQ2NF90IGhhbmRsZV9pbnRlcl9tb2RlKAogICAgICAgKnJh
dGUyICs9IHJhdGVfbXY7CiAgICAgfSBlbHNlIHsKICAgICAgIGludF9tdiB0bXBfbXY7Ci0jaWYg
Q09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgICAgc3RhcnRfdGltaW5nKGNwaSwg
c2luZ2xlX21vdGlvbl9zZWFyY2hfdGltZSk7Ci0jZW5kaWYKICAgICAgIHNpbmdsZV9tb3Rpb25f
c2VhcmNoKGNwaSwgeCwgYnNpemUsIG1pX3JvdywgbWlfY29sLCAmdG1wX212LCAmcmF0ZV9tdik7
Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgICAgZW5kX3RpbWluZyhj
cGksIHNpbmdsZV9tb3Rpb25fc2VhcmNoX3RpbWUpOwotI2VuZGlmCiAgICAgICBpZiAodG1wX212
LmFzX2ludCA9PSBJTlZBTElEX01WKSByZXR1cm4gSU5UNjRfTUFYOwogCiAgICAgICBmcmFtZV9t
dltyZWZzWzBdXS5hc19pbnQgPSB4ZC0+bWlbMF0tPmJtaVswXS5hc19tdlswXS5hc19pbnQgPQpA
QCAtMjk3Nyw0NSArMjg3NSwyMyBAQCBzdGF0aWMgaW50NjRfdCBoYW5kbGVfaW50ZXJfbW9kZSgK
ICAgICAqcmF0ZTIgKz0gY29zdF9tdl9yZWYoY3BpLCB0aGlzX21vZGUsIG1ibWlfZXh0LT5tb2Rl
X2NvbnRleHRbcmVmc1swXV0pOwogICB9CiAKLSAgaWYgKCFpc19jb21wX3ByZWQgJiYgY3BpLT5z
Zi5wcnVuZV9zaW5nbGVfbW9kZV9iYXNlZF9vbl9tdl9kaWZmX21vZGVfcmF0ZSkgewotICAgIHNp
bmdsZV9tb2RlX3JhdGVbSU5URVJfT0ZGU0VUKHRoaXNfbW9kZSldID0gKnJhdGUyOwotICAgIC8v
IFBydW5lIE5FQVJNViBhbmQgWkVST01WIG1vZGVzIGJhc2VkIG9uIG1vdGlvbiB2ZWN0b3IgZGlm
ZmVyZW5jZSBhbmQgbW9kZQotICAgIC8vIHJhdGUuCi0gICAgaWYgKHNraXBfc2luZ2xlX21vZGVf
YmFzZWRfb25fbW9kZV9yYXRlKG1vZGVfbXYsIHNpbmdsZV9tb2RlX3JhdGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNfbW9kZSwgcmVmc1swXSwgKnJh
dGUyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZXN0X21v
ZGVfaW5kZXgpKSB7Ci0gICAgICAvLyBDaGVjayB3aGVuIHRoZSBzaW5nbGUgaW50ZXIgbW9kZSBp
cyBwcnVuZWQsIE5FQVJFU1RNViBvciBORVdNViBtb2RlcwotICAgICAgLy8gYXJlIG5vdCBlYXJs
eSB0ZXJtaW5hdGVkLiBUaGlzIGVuc3VyZXMgYWxsIHNpbmdsZSBtb2RlcyBhcmUgbm90IGdldHRp
bmcKLSAgICAgIC8vIHNraXBwZWQgd2hlbiB0aGUgc3BlZWQgZmVhdHVyZSBpcyBlbmFibGVkLgot
ICAgICAgYXNzZXJ0KHNpbmdsZV9tb2RlX3JhdGVbSU5URVJfT0ZGU0VUKE5FQVJFU1RNVildICE9
IElOVF9NQVggfHwKLSAgICAgICAgICAgICBzaW5nbGVfbW9kZV9yYXRlW0lOVEVSX09GRlNFVChO
RVdNVildICE9IElOVF9NQVgpOwotICAgICAgcmV0dXJuIElOVDY0X01BWDsKLSAgICB9Ci0gIH0K
ICAgaWYgKFJEQ09TVCh4LT5yZG11bHQsIHgtPnJkZGl2LCAqcmF0ZTIsIDApID4gcmVmX2Jlc3Rf
cmQgJiYKICAgICAgIG1pLT5tb2RlICE9IE5FQVJFU1RNVikKICAgICByZXR1cm4gSU5UNjRfTUFY
OwogCisgIHByZWRfZXhpc3RzID0gMDsKICAgLy8gQXJlIGFsbCBNVnMgaW50ZWdlciBwZWwgZm9y
IFkgYW5kIFVWCiAgIGludHBlbF9tdiA9ICFtdl9oYXNfc3VicGVsKCZtaS0+bXZbMF0uYXNfbXYp
OwogICBpZiAoaXNfY29tcF9wcmVkKSBpbnRwZWxfbXYgJj0gIW12X2hhc19zdWJwZWwoJm1pLT5t
dlsxXS5hc19tdik7CiAKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0gIHN0
YXJ0X3RpbWluZyhjcGksIGludGVycF9maWx0ZXJfdGltZSk7Ci0jZW5kaWYKICAgLy8gU2VhcmNo
IGZvciBiZXN0IHN3aXRjaGFibGUgZmlsdGVyIGJ5IGNoZWNraW5nIHRoZSB2YXJpYW5jZSBvZgog
ICAvLyBwcmVkIGVycm9yIGlycmVzcGVjdGl2ZSBvZiB3aGV0aGVyIHRoZSBmaWx0ZXIgd2lsbCBi
ZSB1c2VkCiAgIGZvciAoaSA9IDA7IGkgPCBTV0lUQ0hBQkxFX0ZJTFRFUl9DT05URVhUUzsgKytp
KSBmaWx0ZXJfY2FjaGVbaV0gPSBJTlQ2NF9NQVg7CiAKICAgaWYgKGNtLT5pbnRlcnBfZmlsdGVy
ICE9IEJJTElORUFSKSB7Ci0gICAgLy8gVXNlIGNiIHBhdHRlcm4gZm9yIGZpbHRlciBldmFsIHdo
ZW4gZmlsdGVyIGlzIG5vdCBzd2l0Y2hhYmxlCi0gICAgY29uc3QgaW50IGVuYWJsZV9pbnRlcnBf
c2VhcmNoID0KLSAgICAgICAgKGNwaS0+c2YuY2JfcHJlZF9maWx0ZXJfc2VhcmNoICYmIGNtLT5p
bnRlcnBfZmlsdGVyICE9IFNXSVRDSEFCTEUpCi0gICAgICAgICAgICA/IGJsa19wYXJpdHkKLSAg
ICAgICAgICAgIDogMTsKICAgICBpZiAoeC0+c291cmNlX3ZhcmlhbmNlIDwgY3BpLT5zZi5kaXNh
YmxlX2ZpbHRlcl9zZWFyY2hfdmFyX3RocmVzaCkgewogICAgICAgYmVzdF9maWx0ZXIgPSBFSUdI
VFRBUDsKLSAgICB9IGVsc2UgaWYgKGJlc3RfZmlsdGVyID09IFNXSVRDSEFCTEUgJiYgZW5hYmxl
X2ludGVycF9zZWFyY2gpIHsKKyAgICB9IGVsc2UgaWYgKGJlc3RfZmlsdGVyID09IFNXSVRDSEFC
TEUpIHsKICAgICAgIGludCBuZXdiZXN0OwogICAgICAgaW50IHRtcF9yYXRlX3N1bSA9IDA7CiAg
ICAgICBpbnQ2NF90IHRtcF9kaXN0X3N1bSA9IDA7CkBAIC0zMDI1LDkgKzI5MDEsNiBAQCBzdGF0
aWMgaW50NjRfdCBoYW5kbGVfaW50ZXJfbW9kZSgKICAgICAgICAgaW50NjRfdCByc19yZDsKICAg
ICAgICAgaW50IHRtcF9za2lwX3NiID0gMDsKICAgICAgICAgaW50NjRfdCB0bXBfc2tpcF9zc2Ug
PSBJTlQ2NF9NQVg7Ci0gICAgICAgIGNvbnN0IGludCBlbmFibGVfZWFybHl0ZXJtID0KLSAgICAg
ICAgICAgIGNwaS0+c2YuZWFybHlfdGVybV9pbnRlcnBfc2VhcmNoX3BsYW5lX3JkICYmIGNtLT5p
bnRlcnBfZmlsdGVyICE9IGk7Ci0gICAgICAgIGludDY0X3QgZmlsdF9iZXN0X3JkOwogCiAgICAg
ICAgIG1pLT5pbnRlcnBfZmlsdGVyID0gaTsKICAgICAgICAgcnMgPSB2cDlfZ2V0X3N3aXRjaGFi
bGVfcmF0ZShjcGksIHhkKTsKQEAgLTMwNjEsMTYgKzI5MzQsOSBAQCBzdGF0aWMgaW50NjRfdCBo
YW5kbGVfaW50ZXJfbW9kZSgKICAgICAgICAgICAgICAgeGQtPnBsYW5lW2pdLmRzdC5zdHJpZGUg
PSA2NDsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9Ci0KLSAgICAgICAgICBmaWx0X2Jlc3Rf
cmQgPQotICAgICAgICAgICAgICBjbS0+aW50ZXJwX2ZpbHRlciA9PSBTV0lUQ0hBQkxFID8gKGJl
c3RfcmQgLSByc19yZCkgOiBiZXN0X3JkOwotICAgICAgICAgIGlmIChidWlsZF9pbnRlcl9wcmVk
X21vZGVsX3JkX2Vhcmx5dGVybSgKLSAgICAgICAgICAgICAgICAgIGNwaSwgbWlfcm93LCBtaV9j
b2wsIGJzaXplLCB4LCB4ZCwgJnJhdGVfc3VtLCAmZGlzdF9zdW0sCi0gICAgICAgICAgICAgICAg
ICAmdG1wX3NraXBfc2IsICZ0bXBfc2tpcF9zc2UsIGVuYWJsZV9lYXJseXRlcm0sCi0gICAgICAg
ICAgICAgICAgICBmaWx0X2Jlc3RfcmQpKSB7Ci0gICAgICAgICAgICBmaWx0ZXJfY2FjaGVbaV0g
PSBJTlQ2NF9NQVg7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICB9CisgICAgICAg
ICAgdnA5X2J1aWxkX2ludGVyX3ByZWRpY3RvcnNfc2IoeGQsIG1pX3JvdywgbWlfY29sLCBic2l6
ZSk7CisgICAgICAgICAgbW9kZWxfcmRfZm9yX3NiKGNwaSwgYnNpemUsIHgsIHhkLCAmcmF0ZV9z
dW0sICZkaXN0X3N1bSwgJnRtcF9za2lwX3NiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAm
dG1wX3NraXBfc3NlKTsKIAogICAgICAgICAgIHJkID0gUkRDT1NUKHgtPnJkbXVsdCwgeC0+cmRk
aXYsIHJhdGVfc3VtLCBkaXN0X3N1bSk7CiAgICAgICAgICAgZmlsdGVyX2NhY2hlW2ldID0gcmQ7
CkBAIC0zMTAzLDYgKzI5NjksNyBAQCBzdGF0aWMgaW50NjRfdCBoYW5kbGVfaW50ZXJfbW9kZSgK
ICAgICAgICAgaWYgKChjbS0+aW50ZXJwX2ZpbHRlciA9PSBTV0lUQ0hBQkxFICYmIG5ld2Jlc3Qp
IHx8CiAgICAgICAgICAgICAoY20tPmludGVycF9maWx0ZXIgIT0gU1dJVENIQUJMRSAmJgogICAg
ICAgICAgICAgIGNtLT5pbnRlcnBfZmlsdGVyID09IG1pLT5pbnRlcnBfZmlsdGVyKSkgeworICAg
ICAgICAgIHByZWRfZXhpc3RzID0gMTsKICAgICAgICAgICB0bXBfcmQgPSBiZXN0X3JkOwogCiAg
ICAgICAgICAgc2tpcF90eGZtX3NiID0gdG1wX3NraXBfc2I7CkBAIC0zMTE0LDE1ICsyOTgxLDEy
IEBAIHN0YXRpYyBpbnQ2NF90IGhhbmRsZV9pbnRlcl9tb2RlKAogICAgICAgcmVzdG9yZV9kc3Rf
YnVmKHhkLCBvcmlnX2RzdCwgb3JpZ19kc3Rfc3RyaWRlKTsKICAgICB9CiAgIH0KLSNpZiBDT05G
SUdfQ09MTEVDVF9DT01QT05FTlRfVElNSU5HCi0gIGVuZF90aW1pbmcoY3BpLCBpbnRlcnBfZmls
dGVyX3RpbWUpOwotI2VuZGlmCiAgIC8vIFNldCB0aGUgYXBwcm9wcmlhdGUgZmlsdGVyCiAgIG1p
LT5pbnRlcnBfZmlsdGVyID0KICAgICAgIGNtLT5pbnRlcnBfZmlsdGVyICE9IFNXSVRDSEFCTEUg
PyBjbS0+aW50ZXJwX2ZpbHRlciA6IGJlc3RfZmlsdGVyOwogICBycyA9IGNtLT5pbnRlcnBfZmls
dGVyID09IFNXSVRDSEFCTEUgPyB2cDlfZ2V0X3N3aXRjaGFibGVfcmF0ZShjcGksIHhkKSA6IDA7
CiAKLSAgaWYgKHRtcF9yZCAhPSBJTlQ2NF9NQVgpIHsKKyAgaWYgKHByZWRfZXhpc3RzKSB7CiAg
ICAgaWYgKGJlc3RfbmVlZHNfY29weSkgewogICAgICAgLy8gYWdhaW4gdGVtcG9yYXJpbHkgc2V0
IHRoZSBidWZmZXJzIHRvIGxvY2FsIG1lbW9yeSB0byBwcmV2ZW50IGEgbWVtY3B5CiAgICAgICBm
b3IgKGkgPSAwOyBpIDwgTUFYX01CX1BMQU5FOyBpKyspIHsKQEAgLTMxMzcsOSArMzAwMSw5IEBA
IHN0YXRpYyBpbnQ2NF90IGhhbmRsZV9pbnRlcl9tb2RlKAogICAgIC8vIEhhbmRsZXMgdGhlIHNw
ZWNpYWwgY2FzZSB3aGVuIGEgZmlsdGVyIHRoYXQgaXMgbm90IGluIHRoZQogICAgIC8vIHN3aXRj
aGFibGUgbGlzdCAoZXguIGJpbGluZWFyKSBpcyBpbmRpY2F0ZWQgYXQgdGhlIGZyYW1lIGxldmVs
LCBvcgogICAgIC8vIHNraXAgY29uZGl0aW9uIGhvbGRzLgotICAgIGJ1aWxkX2ludGVyX3ByZWRf
bW9kZWxfcmRfZWFybHl0ZXJtKAotICAgICAgICBjcGksIG1pX3JvdywgbWlfY29sLCBic2l6ZSwg
eCwgeGQsICZ0bXBfcmF0ZSwgJnRtcF9kaXN0LCAmc2tpcF90eGZtX3NiLAotICAgICAgICAmc2tp
cF9zc2Vfc2IsIDAgLypkb19lYXJseXRlcm0qLywgSU5UNjRfTUFYKTsKKyAgICB2cDlfYnVpbGRf
aW50ZXJfcHJlZGljdG9yc19zYih4ZCwgbWlfcm93LCBtaV9jb2wsIGJzaXplKTsKKyAgICBtb2Rl
bF9yZF9mb3Jfc2IoY3BpLCBic2l6ZSwgeCwgeGQsICZ0bXBfcmF0ZSwgJnRtcF9kaXN0LCAmc2tp
cF90eGZtX3NiLAorICAgICAgICAgICAgICAgICAgICAmc2tpcF9zc2Vfc2IpOwogICAgIHJkID0g
UkRDT1NUKHgtPnJkbXVsdCwgeC0+cmRkaXYsIHJzICsgdG1wX3JhdGUsIHRtcF9kaXN0KTsKICAg
ICBtZW1jcHkoc2tpcF90eGZtLCB4LT5za2lwX3R4Zm0sIHNpemVvZihza2lwX3R4Zm0pKTsKICAg
ICBtZW1jcHkoYnNzZSwgeC0+YnNzZSwgc2l6ZW9mKGJzc2UpKTsKQEAgLTMyMzIsNyArMzA5Niw3
IEBAIHZvaWQgdnA5X3JkX3BpY2tfaW50cmFfbW9kZV9zYihWUDlfQ09NUCAqY3BpLCBNQUNST0JM
T0NLICp4LCBSRF9DT1NUICpyZF9jb3N0LAogICB4LT5za2lwX2VuY29kZSA9IDA7CiAgIGN0eC0+
c2tpcCA9IDA7CiAgIHhkLT5taVswXS0+cmVmX2ZyYW1lWzBdID0gSU5UUkFfRlJBTUU7Ci0gIHhk
LT5taVswXS0+cmVmX2ZyYW1lWzFdID0gTk9fUkVGX0ZSQU1FOworICB4ZC0+bWlbMF0tPnJlZl9m
cmFtZVsxXSA9IE5PTkU7CiAgIC8vIEluaXRpYWxpemUgaW50ZXJwX2ZpbHRlciBoZXJlIHNvIHdl
IGRvIG5vdCBoYXZlIHRvIGNoZWNrIGZvciBpbnRlciBibG9jawogICAvLyBtb2RlcyBpbiBnZXRf
cHJlZF9jb250ZXh0X3N3aXRjaGFibGVfaW50ZXJwKCkKICAgeGQtPm1pWzBdLT5pbnRlcnBfZmls
dGVyID0gU1dJVENIQUJMRV9GSUxURVJTOwpAQCAtMzM4MSw3ICszMjQ1LDYgQEAgaW50IHZwOV9h
Y3RpdmVfaF9lZGdlKFZQOV9DT01QICpjcGksIGludCBtaV9yb3csIGludCBtaV9zdGVwKSB7CiAg
IC8vIEZvciB0d28gcGFzcyBhY2NvdW50IGZvciBhbnkgZm9ybWF0dGluZyBiYXJzIGRldGVjdGVk
LgogICBpZiAoY3BpLT5veGNmLnBhc3MgPT0gMikgewogICAgIFRXT19QQVNTICp0d29wYXNzID0g
JmNwaS0+dHdvcGFzczsKLSAgICB2cHhfY2xlYXJfc3lzdGVtX3N0YXRlKCk7CiAKICAgICAvLyBU
aGUgaW5hY3RpdmUgcmVnaW9uIGlzIHNwZWNpZmllZCBpbiBNQnMgbm90IG1pIHVuaXRzLgogICAg
IC8vIFRoZSBpbWFnZSBlZGdlIGlzIGluIHRoZSBmb2xsb3dpbmcgTUIgcm93LgpAQCAtMzQwOSw3
ICszMjcyLDYgQEAgaW50IHZwOV9hY3RpdmVfdl9lZGdlKFZQOV9DT01QICpjcGksIGludCBtaV9j
b2wsIGludCBtaV9zdGVwKSB7CiAgIC8vIEZvciB0d28gcGFzcyBhY2NvdW50IGZvciBhbnkgZm9y
bWF0dGluZyBiYXJzIGRldGVjdGVkLgogICBpZiAoY3BpLT5veGNmLnBhc3MgPT0gMikgewogICAg
IFRXT19QQVNTICp0d29wYXNzID0gJmNwaS0+dHdvcGFzczsKLSAgICB2cHhfY2xlYXJfc3lzdGVt
X3N0YXRlKCk7CiAKICAgICAvLyBUaGUgaW5hY3RpdmUgcmVnaW9uIGlzIHNwZWNpZmllZCBpbiBN
QnMgbm90IG1pIHVuaXRzLgogICAgIC8vIFRoZSBpbWFnZSBlZGdlIGlzIGluIHRoZSBmb2xsb3dp
bmcgTUIgcm93LgpAQCAtMzQ1Niw3ICszMzE4LDggQEAgdm9pZCB2cDlfcmRfcGlja19pbnRlcl9t
b2RlX3NiKFZQOV9DT01QICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgIGludF9tdiBz
aW5nbGVfbmV3bXZbTUFYX1JFRl9GUkFNRVNdID0geyB7IDAgfSB9OwogICBJTlRFUlBfRklMVEVS
IHNpbmdsZV9pbnRlcl9maWx0ZXJbTUJfTU9ERV9DT1VOVF1bTUFYX1JFRl9GUkFNRVNdOwogICBp
bnQgc2luZ2xlX3NraXBwYWJsZVtNQl9NT0RFX0NPVU5UXVtNQVhfUkVGX0ZSQU1FU107Ci0gIGlu
dCBzaW5nbGVfbW9kZV9yYXRlW01BWF9SRUZfRlJBTUVTXVtJTlRFUl9NT0RFU107CisgIHN0YXRp
YyBjb25zdCBpbnQgZmxhZ19saXN0WzRdID0geyAwLCBWUDlfTEFTVF9GTEFHLCBWUDlfR09MRF9G
TEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlA5X0FMVF9GTEFHIH07
CiAgIGludDY0X3QgYmVzdF9yZCA9IGJlc3RfcmRfc29fZmFyOwogICBpbnQ2NF90IGJlc3RfcHJl
ZF9kaWZmW1JFRkVSRU5DRV9NT0RFU107CiAgIGludDY0X3QgYmVzdF9wcmVkX3JkW1JFRkVSRU5D
RV9NT0RFU107CkBAIC0zNTMyLDcgKzMzOTUsNyBAQCB2b2lkIHZwOV9yZF9waWNrX2ludGVyX21v
ZGVfc2IoVlA5X0NPTVAgKmNwaSwgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSwKIAogICBmb3IgKHJl
Zl9mcmFtZSA9IExBU1RfRlJBTUU7IHJlZl9mcmFtZSA8PSBBTFRSRUZfRlJBTUU7ICsrcmVmX2Zy
YW1lKSB7CiAgICAgeC0+cHJlZF9tdl9zYWRbcmVmX2ZyYW1lXSA9IElOVF9NQVg7Ci0gICAgaWYg
KChjcGktPnJlZl9mcmFtZV9mbGFncyAmIHJlZl9mcmFtZV90b19mbGFnKHJlZl9mcmFtZSkpICYm
CisgICAgaWYgKChjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlzdFtyZWZfZnJhbWVdKSAm
JgogICAgICAgICAhKGlzX3JlY3RfcGFydGl0aW9uICYmIChjdHgtPnNraXBfcmVmX2ZyYW1lX21h
c2sgJiAoMSA8PCByZWZfZnJhbWUpKSkpIHsKICAgICAgIGFzc2VydChnZXRfcmVmX2ZyYW1lX2J1
ZmZlcihjcGksIHJlZl9mcmFtZSkgIT0gTlVMTCk7CiAgICAgICBzZXR1cF9idWZmZXJfaW50ZXIo
Y3BpLCB4LCByZWZfZnJhbWUsIGJzaXplLCBtaV9yb3csIG1pX2NvbCwKQEAgLTM1NDMsNyArMzQw
Niw3IEBAIHZvaWQgdnA5X3JkX3BpY2tfaW50ZXJfbW9kZV9zYihWUDlfQ09NUCAqY3BpLCBUaWxl
RGF0YUVuYyAqdGlsZV9kYXRhLAogICB9CiAKICAgZm9yIChyZWZfZnJhbWUgPSBMQVNUX0ZSQU1F
OyByZWZfZnJhbWUgPD0gQUxUUkVGX0ZSQU1FOyArK3JlZl9mcmFtZSkgewotICAgIGlmICghKGNw
aS0+cmVmX2ZyYW1lX2ZsYWdzICYgcmVmX2ZyYW1lX3RvX2ZsYWcocmVmX2ZyYW1lKSkpIHsKKyAg
ICBpZiAoIShjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlzdFtyZWZfZnJhbWVdKSkgewog
ICAgICAgLy8gU2tpcCBjaGVja2luZyBtaXNzaW5nIHJlZmVyZW5jZXMgaW4gYm90aCBzaW5nbGUg
YW5kIGNvbXBvdW5kIHJlZmVyZW5jZQogICAgICAgLy8gbW9kZXMuIE5vdGUgdGhhdCBhIG1vZGUg
d2lsbCBiZSBza2lwcGVkIGlmIGJvdGggcmVmZXJlbmNlIGZyYW1lcwogICAgICAgLy8gYXJlIG1h
c2tlZCBvdXQuCkBAIC0zNjEyLDcgKzM0NzUsNyBAQCB2b2lkIHZwOV9yZF9waWNrX2ludGVyX21v
ZGVfc2IoVlA5X0NPTVAgKmNwaSwgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSwKICAgfQogCiAgIG1v
ZGVfc2tpcF9tYXNrW0lOVFJBX0ZSQU1FXSB8PQotICAgICAgKHVpbnQxNl90KSB+KHNmLT5pbnRy
YV95X21vZGVfbWFza1ttYXhfdHhzaXplX2xvb2t1cFtic2l6ZV1dKTsKKyAgICAgIH4oc2YtPmlu
dHJhX3lfbW9kZV9tYXNrW21heF90eHNpemVfbG9va3VwW2JzaXplXV0pOwogCiAgIGZvciAoaSA9
IDA7IGkgPD0gTEFTVF9ORVdfTVZfSU5ERVg7ICsraSkgbW9kZV90aHJlc2hvbGRbaV0gPSAwOwog
CkBAIC0zNjU1LDEwICszNTE4LDYgQEAgdm9pZCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3NiKFZQ
OV9DT01QICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAgc2Vjb25kX3JlZl9mcmFt
ZSA9IHZwOV9tb2RlX29yZGVyW21vZGVfaW5kZXhdLnJlZl9mcmFtZVsxXTsKIAogICAgIHZwOV96
ZXJvKHgtPnN1bV95X2VvYnMpOwotICAgIGNvbXBfcHJlZCA9IHNlY29uZF9yZWZfZnJhbWUgPiBJ
TlRSQV9GUkFNRTsKLSAgICBpZiAoIWNvbXBfcHJlZCAmJiByZWZfZnJhbWUgIT0gSU5UUkFfRlJB
TUUgJiYKLSAgICAgICAgc2YtPnBydW5lX3NpbmdsZV9tb2RlX2Jhc2VkX29uX212X2RpZmZfbW9k
ZV9yYXRlKQotICAgICAgc2luZ2xlX21vZGVfcmF0ZVtyZWZfZnJhbWVdW0lOVEVSX09GRlNFVCh0
aGlzX21vZGUpXSA9IElOVF9NQVg7CiAKICAgICBpZiAoaXNfcmVjdF9wYXJ0aXRpb24pIHsKICAg
ICAgIGlmIChjdHgtPnNraXBfcmVmX2ZyYW1lX21hc2sgJiAoMSA8PCByZWZfZnJhbWUpKSBjb250
aW51ZTsKQEAgLTM2NzcsNyArMzUzNiw3IEBAIHZvaWQgdnA5X3JkX3BpY2tfaW50ZXJfbW9kZV9z
YihWUDlfQ09NUCAqY3BpLCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAgICAgICAgIHJlZl9m
cmFtZV9za2lwX21hc2tbMF0gfD0gR09MREVOX0ZSQU1FX01PREVfTUFTSzsKICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBBTFRSRUZfRlJBTUU6IHJlZl9mcmFtZV9za2lwX21hc2tbMF0g
fD0gQUxUX1JFRl9NT0RFX01BU0s7IGJyZWFrOwotICAgICAgICBjYXNlIE5PX1JFRl9GUkFNRToK
KyAgICAgICAgY2FzZSBOT05FOgogICAgICAgICBjYXNlIE1BWF9SRUZfRlJBTUVTOiBhc3NlcnQo
MCAmJiAiSW52YWxpZCBSZWZlcmVuY2UgZnJhbWUiKTsgYnJlYWs7CiAgICAgICB9CiAgICAgfQpA
QCAtMzcxMCw3ICszNTY5LDcgQEAgdm9pZCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3NiKFZQOV9D
T01QICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAgICBNT0RFX0lORk8gKnJlZl9t
aTsKICAgICAgIGludCBjb25zdF9tb3Rpb24gPSAxOwogICAgICAgaW50IHNraXBfcmVmX2ZyYW1l
ID0gIWNiX3BhcnRpdGlvbl9zZWFyY2hfY3RybDsKLSAgICAgIE1WX1JFRkVSRU5DRV9GUkFNRSBy
ZiA9IE5PX1JFRl9GUkFNRTsKKyAgICAgIE1WX1JFRkVSRU5DRV9GUkFNRSByZiA9IE5PTkU7CiAg
ICAgICBpbnRfbXYgcmVmX212OwogICAgICAgcmVmX212LmFzX2ludCA9IElOVkFMSURfTVY7CiAK
QEAgLTM3MjcsNyArMzU4Niw3IEBAIHZvaWQgdnA5X3JkX3BpY2tfaW50ZXJfbW9kZV9zYihWUDlf
Q09NUCAqY3BpLCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogCiAgICAgICBpZiAoKG1pX2NvbCAt
IDEpID49IHRpbGVfaW5mby0+bWlfY29sX3N0YXJ0KSB7CiAgICAgICAgIGlmIChyZWZfbXYuYXNf
aW50ID09IElOVkFMSURfTVYpIHJlZl9tdiA9IHhkLT5taVstMV0tPm12WzBdOwotICAgICAgICBp
ZiAocmYgPT0gTk9fUkVGX0ZSQU1FKSByZiA9IHhkLT5taVstMV0tPnJlZl9mcmFtZVswXTsKKyAg
ICAgICAgaWYgKHJmID09IE5PTkUpIHJmID0geGQtPm1pWy0xXS0+cmVmX2ZyYW1lWzBdOwogICAg
ICAgICBmb3IgKGkgPSAwOyBpIDwgbWlfaGVpZ2h0OyArK2kpIHsKICAgICAgICAgICByZWZfbWkg
PSB4ZC0+bWlbaSAqIHhkLT5taV9zdHJpZGUgLSAxXTsKICAgICAgICAgICBjb25zdF9tb3Rpb24g
Jj0gKHJlZl9tdi5hc19pbnQgPT0gcmVmX21pLT5tdlswXS5hc19pbnQpICYmCkBAIC0zNzQ0LDYg
KzM2MDMsNyBAQCB2b2lkIHZwOV9yZF9waWNrX2ludGVyX21vZGVfc2IoVlA5X0NPTVAgKmNwaSwg
VGlsZURhdGFFbmMgKnRpbGVfZGF0YSwKICAgICAgICAgaWYgKHRoaXNfbW9kZSA9PSBORUFSTVYg
fHwgdGhpc19tb2RlID09IFpFUk9NVikgY29udGludWU7CiAgICAgfQogCisgICAgY29tcF9wcmVk
ID0gc2Vjb25kX3JlZl9mcmFtZSA+IElOVFJBX0ZSQU1FOwogICAgIGlmIChjb21wX3ByZWQpIHsK
ICAgICAgIGlmICghY3BpLT5hbGxvd19jb21wX2ludGVyX2ludGVyKSBjb250aW51ZTsKIApAQCAt
Mzc1Miw4ICszNjEyLDcgQEAgdm9pZCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3NiKFZQOV9DT01Q
ICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAgICAgIGNvbnRpbnVlOwogCiAgICAg
ICAvLyBTa2lwIGNvbXBvdW5kIGludGVyIG1vZGVzIGlmIEFSRiBpcyBub3QgYXZhaWxhYmxlLgot
ICAgICAgaWYgKCEoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiByZWZfZnJhbWVfdG9fZmxhZyhzZWNv
bmRfcmVmX2ZyYW1lKSkpCi0gICAgICAgIGNvbnRpbnVlOworICAgICAgaWYgKCEoY3BpLT5yZWZf
ZnJhbWVfZmxhZ3MgJiBmbGFnX2xpc3Rbc2Vjb25kX3JlZl9mcmFtZV0pKSBjb250aW51ZTsKIAog
ICAgICAgLy8gRG8gbm90IGFsbG93IGNvbXBvdW5kIHByZWRpY3Rpb24gaWYgdGhlIHNlZ21lbnQg
bGV2ZWwgcmVmZXJlbmNlIGZyYW1lCiAgICAgICAvLyBmZWF0dXJlIGlzIGluIHVzZSBhcyBpbiB0
aGlzIGNhc2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHJlZmVyZW5jZS4KQEAgLTM4MjMsMzAgKzM2
ODIsMTkgQEAgdm9pZCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3NiKFZQOV9DT01QICpjcGksIFRp
bGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAgaWYgKHJlZl9mcmFtZSA9PSBJTlRSQV9GUkFNRSkg
ewogICAgICAgVFhfU0laRSB1dl90eDsKICAgICAgIHN0cnVjdCBtYWNyb2Jsb2NrZF9wbGFuZSAq
Y29uc3QgcGQgPSAmeGQtPnBsYW5lWzFdOwotI2lmIENPTkZJR19DT0xMRUNUX0NPTVBPTkVOVF9U
SU1JTkcKLSAgICAgIHN0YXJ0X3RpbWluZyhjcGksIGludHJhX21vZGVfc2VhcmNoX3RpbWUpOwot
I2VuZGlmCiAgICAgICBtZW1zZXQoeC0+c2tpcF90eGZtLCAwLCBzaXplb2YoeC0+c2tpcF90eGZt
KSk7CiAgICAgICBzdXBlcl9ibG9ja195cmQoY3BpLCB4LCAmcmF0ZV95LCAmZGlzdG9ydGlvbl95
LCAmc2tpcHBhYmxlLCBOVUxMLCBic2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICBiZXN0X3Jk
LCByZWNvbik7Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgICAgZW5k
X3RpbWluZyhjcGksIGludHJhX21vZGVfc2VhcmNoX3RpbWUpOwotI2VuZGlmCiAgICAgICBpZiAo
cmF0ZV95ID09IElOVF9NQVgpIGNvbnRpbnVlOwogCiAgICAgICB1dl90eCA9IHV2X3R4c2l6ZV9s
b29rdXBbYnNpemVdW21pLT50eF9zaXplXVtwZC0+c3Vic2FtcGxpbmdfeF0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFtwZC0+c3Vic2FtcGxpbmdfeV07Ci0jaWYgQ09ORklHX0NPTExF
Q1RfQ09NUE9ORU5UX1RJTUlORwotICAgICAgc3RhcnRfdGltaW5nKGNwaSwgaW50cmFfbW9kZV9z
ZWFyY2hfdGltZSk7Ci0jZW5kaWYKICAgICAgIGlmIChyYXRlX3V2X2ludHJhW3V2X3R4XSA9PSBJ
TlRfTUFYKSB7CiAgICAgICAgIGNob29zZV9pbnRyYV91dl9tb2RlKGNwaSwgeCwgY3R4LCBic2l6
ZSwgdXZfdHgsICZyYXRlX3V2X2ludHJhW3V2X3R4XSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJnJhdGVfdXZfdG9rZW5vbmx5W3V2X3R4XSwgJmRpc3RfdXZbdXZfdHhdLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmc2tpcF91dlt1dl90eF0sICZtb2RlX3V2W3V2X3R4XSk7
CiAgICAgICB9Ci0jaWYgQ09ORklHX0NPTExFQ1RfQ09NUE9ORU5UX1RJTUlORwotICAgICAgZW5k
X3RpbWluZyhjcGksIGludHJhX21vZGVfc2VhcmNoX3RpbWUpOwotI2VuZGlmCisKICAgICAgIHJh
dGVfdXYgPSByYXRlX3V2X3Rva2Vub25seVt1dl90eF07CiAgICAgICBkaXN0b3J0aW9uX3V2ID0g
ZGlzdF91dlt1dl90eF07CiAgICAgICBza2lwcGFibGUgPSBza2lwcGFibGUgJiYgc2tpcF91dlt1
dl90eF07CkBAIC0zODU3LDE4ICszNzA1LDExIEBAIHZvaWQgdnA5X3JkX3BpY2tfaW50ZXJfbW9k
ZV9zYihWUDlfQ09NUCAqY3BpLCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAgICAgICByYXRl
MiArPSBpbnRyYV9jb3N0X3BlbmFsdHk7CiAgICAgICBkaXN0b3J0aW9uMiA9IGRpc3RvcnRpb25f
eSArIGRpc3RvcnRpb25fdXY7CiAgICAgfSBlbHNlIHsKLSNpZiBDT05GSUdfQ09MTEVDVF9DT01Q
T05FTlRfVElNSU5HCi0gICAgICBzdGFydF90aW1pbmcoY3BpLCBoYW5kbGVfaW50ZXJfbW9kZV90
aW1lKTsKLSNlbmRpZgogICAgICAgdGhpc19yZCA9IGhhbmRsZV9pbnRlcl9tb2RlKAogICAgICAg
ICAgIGNwaSwgeCwgYnNpemUsICZyYXRlMiwgJmRpc3RvcnRpb24yLCAmc2tpcHBhYmxlLCAmcmF0
ZV95LCAmcmF0ZV91diwKICAgICAgICAgICByZWNvbiwgJmRpc2FibGVfc2tpcCwgZnJhbWVfbXYs
IG1pX3JvdywgbWlfY29sLCBzaW5nbGVfbmV3bXYsCi0gICAgICAgICAgc2luZ2xlX2ludGVyX2Zp
bHRlciwgc2luZ2xlX3NraXBwYWJsZSwKLSAgICAgICAgICAmc2luZ2xlX21vZGVfcmF0ZVtyZWZf
ZnJhbWVdWzBdLCAmdG90YWxfc3NlLCBiZXN0X3JkLCAmbWFza19maWx0ZXIsCi0gICAgICAgICAg
ZmlsdGVyX2NhY2hlLCBiZXN0X21vZGVfaW5kZXgpOwotI2lmIENPTkZJR19DT0xMRUNUX0NPTVBP
TkVOVF9USU1JTkcKLSAgICAgIGVuZF90aW1pbmcoY3BpLCBoYW5kbGVfaW50ZXJfbW9kZV90aW1l
KTsKLSNlbmRpZgorICAgICAgICAgIHNpbmdsZV9pbnRlcl9maWx0ZXIsIHNpbmdsZV9za2lwcGFi
bGUsICZ0b3RhbF9zc2UsIGJlc3RfcmQsCisgICAgICAgICAgJm1hc2tfZmlsdGVyLCBmaWx0ZXJf
Y2FjaGUpOwogICAgICAgaWYgKHRoaXNfcmQgPT0gSU5UNjRfTUFYKSBjb250aW51ZTsKIAogICAg
ICAgY29tcG1vZGVfY29zdCA9IHZwOV9jb3N0X2JpdChjb21wX21vZGVfcCwgY29tcF9wcmVkKTsK
QEAgLTQxMDQsOSArMzk0NSwxMyBAQCB2b2lkIHZwOV9yZF9waWNrX2ludGVyX21vZGVfc2IoVlA5
X0NPTVAgKmNwaSwgVGlsZURhdGFFbmMgKnRpbGVfZGF0YSwKICAgfQogCiAgIGlmIChiZXN0X21v
ZGVfaW5kZXggPCAwIHx8IGJlc3RfcmQgPj0gYmVzdF9yZF9zb19mYXIpIHsKLSAgICAvLyBJZiBh
ZGFwdGl2ZSBpbnRlcnAgZmlsdGVyIGlzIGVuYWJsZWQsIHRoZW4gdGhlIGN1cnJlbnQgbGVhZiBu
b2RlIG9mIDh4OAotICAgIC8vIGRhdGEgaXMgbmVlZGVkIGZvciBzdWI4eDguIEhlbmNlIHByZXNl
cnZlIHRoZSBjb250ZXh0LgorLy8gSWYgYWRhcHRpdmUgaW50ZXJwIGZpbHRlciBpcyBlbmFibGVk
LCB0aGVuIHRoZSBjdXJyZW50IGxlYWYgbm9kZSBvZiA4eDgKKy8vIGRhdGEgaXMgbmVlZGVkIGZv
ciBzdWI4eDguIEhlbmNlIHByZXNlcnZlIHRoZSBjb250ZXh0LgorI2lmIENPTkZJR19DT05TSVNU
RU5UX1JFQ09ERQogICAgIGlmIChic2l6ZSA9PSBCTE9DS184WDgpIGN0eC0+bWljID0gKnhkLT5t
aVswXTsKKyNlbHNlCisgICAgaWYgKGNwaS0+cm93X210ICYmIGJzaXplID09IEJMT0NLXzhYOCkg
Y3R4LT5taWMgPSAqeGQtPm1pWzBdOworI2VuZGlmCiAgICAgcmRfY29zdC0+cmF0ZSA9IElOVF9N
QVg7CiAgICAgcmRfY29zdC0+cmRjb3N0ID0gSU5UNjRfTUFYOwogICAgIHJldHVybjsKQEAgLTQy
MjEsNyArNDA2Niw3IEBAIHZvaWQgdnA5X3JkX3BpY2tfaW50ZXJfbW9kZV9zYl9zZWdfc2tpcChW
UDlfQ09NUCAqY3BpLCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICBtaS0+bW9kZSA9IFpFUk9N
VjsKICAgbWktPnV2X21vZGUgPSBEQ19QUkVEOwogICBtaS0+cmVmX2ZyYW1lWzBdID0gTEFTVF9G
UkFNRTsKLSAgbWktPnJlZl9mcmFtZVsxXSA9IE5PX1JFRl9GUkFNRTsKKyAgbWktPnJlZl9mcmFt
ZVsxXSA9IE5PTkU7CiAgIG1pLT5tdlswXS5hc19pbnQgPSAwOwogICB4LT5za2lwID0gMTsKIApA
QCAtNDI5OCw2ICs0MTQzLDggQEAgdm9pZCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3N1Yjh4OChW
UDlfQ09NUCAqY3BpLCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICBpbnQgY29tcF9wcmVkLCBp
OwogICBpbnRfbXYgZnJhbWVfbXZbTUJfTU9ERV9DT1VOVF1bTUFYX1JFRl9GUkFNRVNdOwogICBz
dHJ1Y3QgYnVmXzJkIHl2MTJfbWJbNF1bTUFYX01CX1BMQU5FXTsKKyAgc3RhdGljIGNvbnN0IGlu
dCBmbGFnX2xpc3RbNF0gPSB7IDAsIFZQOV9MQVNUX0ZMQUcsIFZQOV9HT0xEX0ZMQUcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUDlfQUxUX0ZMQUcgfTsKICAgaW50NjRf
dCBiZXN0X3JkID0gYmVzdF9yZF9zb19mYXI7CiAgIGludDY0X3QgYmVzdF95cmQgPSBiZXN0X3Jk
X3NvX2ZhcjsgIC8vIEZJWE1FKHJidWx0amUpIG1vcmUgcHJlY2lzZQogICBpbnQ2NF90IGJlc3Rf
cHJlZF9kaWZmW1JFRkVSRU5DRV9NT0RFU107CkBAIC00MzQ3LDcgKzQxOTQsNyBAQCB2b2lkIHZw
OV9yZF9waWNrX2ludGVyX21vZGVfc3ViOHg4KFZQOV9DT01QICpjcGksIFRpbGVEYXRhRW5jICp0
aWxlX2RhdGEsCiAgIHJkX2Nvc3QtPnJhdGUgPSBJTlRfTUFYOwogCiAgIGZvciAocmVmX2ZyYW1l
ID0gTEFTVF9GUkFNRTsgcmVmX2ZyYW1lIDw9IEFMVFJFRl9GUkFNRTsgcmVmX2ZyYW1lKyspIHsK
LSAgICBpZiAoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiByZWZfZnJhbWVfdG9fZmxhZyhyZWZfZnJh
bWUpKSB7CisgICAgaWYgKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgZmxhZ19saXN0W3JlZl9mcmFt
ZV0pIHsKICAgICAgIHNldHVwX2J1ZmZlcl9pbnRlcihjcGksIHgsIHJlZl9mcmFtZSwgYnNpemUs
IG1pX3JvdywgbWlfY29sLAogICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lX212W05FQVJF
U1RNVl0sIGZyYW1lX212W05FQVJNVl0sIHl2MTJfbWIpOwogICAgIH0gZWxzZSB7CkBAIC00MzY2
LDYgKzQyMTMsNyBAQCB2b2lkIHZwOV9yZF9waWNrX2ludGVyX21vZGVfc3ViOHg4KFZQOV9DT01Q
ICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAgaW50IHJhdGUyID0gMCwgcmF0ZV95
ID0gMCwgcmF0ZV91diA9IDA7CiAgICAgaW50NjRfdCBkaXN0b3J0aW9uMiA9IDAsIGRpc3RvcnRp
b25feSA9IDAsIGRpc3RvcnRpb25fdXYgPSAwOwogICAgIGludCBza2lwcGFibGUgPSAwOworICAg
IGludCBpOwogICAgIGludCB0aGlzX3NraXAyID0gMDsKICAgICBpbnQ2NF90IHRvdGFsX3NzZSA9
IElOVF9NQVg7CiAgICAgaW50IGVhcmx5X3Rlcm0gPSAwOwpAQCAtNDQwMyw3ICs0MjUxLDcgQEAg
dm9pZCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3N1Yjh4OChWUDlfQ09NUCAqY3BpLCBUaWxlRGF0
YUVuYyAqdGlsZV9kYXRhLAogICAgICAgICAgIGNhc2UgQUxUUkVGX0ZSQU1FOgogICAgICAgICAg
ICAgcmVmX2ZyYW1lX3NraXBfbWFza1swXSB8PSAoMSA8PCBHT0xERU5fRlJBTUUpIHwgKDEgPDwg
TEFTVF9GUkFNRSk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBjYXNlIE5PX1JFRl9G
UkFNRToKKyAgICAgICAgICBjYXNlIE5PTkU6CiAgICAgICAgICAgY2FzZSBNQVhfUkVGX0ZSQU1F
UzogYXNzZXJ0KDAgJiYgIkludmFsaWQgUmVmZXJlbmNlIGZyYW1lIik7IGJyZWFrOwogICAgICAg
ICB9CiAgICAgICB9CkBAIC00NDMxLDggKzQyNzksNyBAQCB2b2lkIHZwOV9yZF9waWNrX2ludGVy
X21vZGVfc3ViOHg4KFZQOV9DT01QICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAg
ICAgICAgY20tPnJlZl9mcmFtZV9zaWduX2JpYXNbc2Vjb25kX3JlZl9mcmFtZV0pCiAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICBpZiAoIShjcGktPnJlZl9mcmFtZV9mbGFncyAmIHJlZl9mcmFt
ZV90b19mbGFnKHNlY29uZF9yZWZfZnJhbWUpKSkKLSAgICAgICAgY29udGludWU7CisgICAgICBp
ZiAoIShjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlzdFtzZWNvbmRfcmVmX2ZyYW1lXSkp
IGNvbnRpbnVlOwogICAgICAgLy8gRG8gbm90IGFsbG93IGNvbXBvdW5kIHByZWRpY3Rpb24gaWYg
dGhlIHNlZ21lbnQgbGV2ZWwgcmVmZXJlbmNlIGZyYW1lCiAgICAgICAvLyBmZWF0dXJlIGlzIGlu
IHVzZSBhcyBpbiB0aGlzIGNhc2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHJlZmVyZW5jZS4KICAg
ICAgIGlmIChzZWdmZWF0dXJlX2FjdGl2ZShzZWcsIHNlZ21lbnRfaWQsIFNFR19MVkxfUkVGX0ZS
QU1FKSkgY29udGludWU7CkBAIC00NTI2LDYgKzQzNzMsNyBAQCB2b2lkIHZwOV9yZF9waWNrX2lu
dGVyX21vZGVfc3ViOHg4KFZQOV9DT01QICpjcGksIFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAg
ICAgICAgICAgICAgICAgOiBOVUxMOwogCiAgICAgICAgIGlmIChzY2FsZWRfcmVmX2ZyYW1lW3Jl
Zl0pIHsKKyAgICAgICAgICBpbnQgaTsKICAgICAgICAgICAvLyBTd2FwIG91dCB0aGUgcmVmZXJl
bmNlIGZyYW1lIGZvciBhIHZlcnNpb24gdGhhdCdzIGJlZW4gc2NhbGVkIHRvCiAgICAgICAgICAg
Ly8gbWF0Y2ggdGhlIHJlc29sdXRpb24gb2YgdGhlIGN1cnJlbnQgZnJhbWUsIGFsbG93aW5nIHRo
ZSBleGlzdGluZwogICAgICAgICAgIC8vIG1vdGlvbiBzZWFyY2ggY29kZSB0byBiZSB1c2VkIHdp
dGhvdXQgYWRkaXRpb25hbCBtb2RpZmljYXRpb25zLgpAQCAtNDY2MiwxMyArNDUxMCwxNCBAQCB2
b2lkIHZwOV9yZF9waWNrX2ludGVyX21vZGVfc3ViOHg4KFZQOV9DT01QICpjcGksIFRpbGVEYXRh
RW5jICp0aWxlX2RhdGEsCiAKICAgICAgIGlmICh0bXBfYmVzdF9yZHUgPiAwKSB7CiAgICAgICAg
IC8vIElmIGV2ZW4gdGhlICdZJyByZCB2YWx1ZSBvZiBzcGxpdCBpcyBoaWdoZXIgdGhhbiBiZXN0
IHNvIGZhcgotICAgICAgICAvLyB0aGVuIGRvbid0IGJvdGhlciBsb29raW5nIGF0IFVWCisgICAg
ICAgIC8vIHRoZW4gZG9udCBib3RoZXIgbG9va2luZyBhdCBVVgogICAgICAgICB2cDlfYnVpbGRf
aW50ZXJfcHJlZGljdG9yc19zYnV2KCZ4LT5lX21iZCwgbWlfcm93LCBtaV9jb2wsIEJMT0NLXzhY
OCk7CiAgICAgICAgIG1lbXNldCh4LT5za2lwX3R4Zm0sIFNLSVBfVFhGTV9OT05FLCBzaXplb2Yo
eC0+c2tpcF90eGZtKSk7CiAgICAgICAgIGlmICghc3VwZXJfYmxvY2tfdXZyZChjcGksIHgsICZy
YXRlX3V2LCAmZGlzdG9ydGlvbl91diwgJnV2X3NraXBwYWJsZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZ1dl9zc2UsIEJMT0NLXzhYOCwgdG1wX2Jlc3RfcmR1KSkgewogICAgICAg
ICAgIGZvciAocmVmID0gMDsgcmVmIDwgMjsgKytyZWYpIHsKICAgICAgICAgICAgIGlmIChzY2Fs
ZWRfcmVmX2ZyYW1lW3JlZl0pIHsKKyAgICAgICAgICAgICAgaW50IGk7CiAgICAgICAgICAgICAg
IGZvciAoaSA9IDA7IGkgPCBNQVhfTUJfUExBTkU7ICsraSkKICAgICAgICAgICAgICAgICB4ZC0+
cGxhbmVbaV0ucHJlW3JlZl0gPSBiYWNrdXBfeXYxMltyZWZdW2ldOwogICAgICAgICAgICAgfQpA
QCAtNDY4NSw2ICs0NTM0LDcgQEAgdm9pZCB2cDlfcmRfcGlja19pbnRlcl9tb2RlX3N1Yjh4OChW
UDlfQ09NUCAqY3BpLCBUaWxlRGF0YUVuYyAqdGlsZV9kYXRhLAogICAgICAgZm9yIChyZWYgPSAw
OyByZWYgPCAyOyArK3JlZikgewogICAgICAgICBpZiAoc2NhbGVkX3JlZl9mcmFtZVtyZWZdKSB7
CiAgICAgICAgICAgLy8gUmVzdG9yZSB0aGUgcHJlZGljdGlvbiBmcmFtZSBwb2ludGVycyB0byB0
aGVpciB1bnNjYWxlZCB2ZXJzaW9ucy4KKyAgICAgICAgICBpbnQgaTsKICAgICAgICAgICBmb3Ig
KGkgPSAwOyBpIDwgTUFYX01CX1BMQU5FOyArK2kpCiAgICAgICAgICAgICB4ZC0+cGxhbmVbaV0u
cHJlW3JlZl0gPSBiYWNrdXBfeXYxMltyZWZdW2ldOwogICAgICAgICB9CkBAIC00ODkwLDcgKzQ3
NDAsNyBAQCB2b2lkIHZwOV9yZF9waWNrX2ludGVyX21vZGVfc3ViOHg4KFZQOV9DT01QICpjcGks
IFRpbGVEYXRhRW5jICp0aWxlX2RhdGEsCiAgICAgbWktPm12WzFdLmFzX2ludCA9IHhkLT5taVsw
XS0+Ym1pWzNdLmFzX212WzFdLmFzX2ludDsKICAgfQogICAvLyBJZiB0aGUgc2Vjb25kIHJlZmVy
ZW5jZSBkb2VzIG5vdCBleGlzdCwgc2V0IHRoZSBjb3JyZXNwb25kaW5nIG12IHRvIHplcm8uCi0g
IGlmIChtaS0+cmVmX2ZyYW1lWzFdID09IE5PX1JFRl9GUkFNRSkgeworICBpZiAobWktPnJlZl9m
cmFtZVsxXSA9PSBOT05FKSB7CiAgICAgbWktPm12WzFdLmFzX2ludCA9IDA7CiAgICAgZm9yIChp
ID0gMDsgaSA8IDQ7ICsraSkgewogICAgICAgbWktPmJtaVtpXS5hc19tdlsxXS5hc19pbnQgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc2VnbWVudGF0aW9uLmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zZWdtZW50YXRpb24uYwppbmRleCBkNzU0ODhh
OGU2MTkuLmExNjMyOTdlNmUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92
cDlfc2VnbWVudGF0aW9uLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc2VnbWVu
dGF0aW9uLmMKQEAgLTM5LDcgKzM5LDcgQEAgdm9pZCB2cDlfc2V0X3NlZ21lbnRfZGF0YShzdHJ1
Y3Qgc2VnbWVudGF0aW9uICpzZWcsIHNpZ25lZCBjaGFyICpmZWF0dXJlX2RhdGEsCiB9CiB2b2lk
IHZwOV9kaXNhYmxlX3NlZ2ZlYXR1cmUoc3RydWN0IHNlZ21lbnRhdGlvbiAqc2VnLCBpbnQgc2Vn
bWVudF9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUdfTFZMX0ZFQVRVUkVTIGZl
YXR1cmVfaWQpIHsKLSAgc2VnLT5mZWF0dXJlX21hc2tbc2VnbWVudF9pZF0gJj0gfigxdSA8PCBm
ZWF0dXJlX2lkKTsKKyAgc2VnLT5mZWF0dXJlX21hc2tbc2VnbWVudF9pZF0gJj0gfigxIDw8IGZl
YXR1cmVfaWQpOwogfQogCiB2b2lkIHZwOV9jbGVhcl9zZWdkYXRhKHN0cnVjdCBzZWdtZW50YXRp
b24gKnNlZywgaW50IHNlZ21lbnRfaWQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9zcGVlZF9mZWF0dXJlcy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3Bl
ZWRfZmVhdHVyZXMuYwppbmRleCA0YTcxNzIxMThjZGQuLjU4NWM5NjA0YzYxZSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3BlZWRfZmVhdHVyZXMuYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zcGVlZF9mZWF0dXJlcy5jCkBAIC0xNiwxMSArMTYsOCBA
QAogI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIKIAogLy8gTWVzaCBzZWFyY2gg
cGF0dGVycyBmb3IgdmFyaW91cyBzcGVlZCBzZXR0aW5ncwotLy8gRGVmaW5lIDIgbWVzaCBkZW5z
aXR5IGxldmVscyBmb3IgRkNfR1JBUEhJQ1NfQU5JTUFUSU9OIGNvbnRlbnQgdHlwZSBhbmQgbm9u
Ci0vLyBGQ19HUkFQSElDU19BTklNQVRJT04gY29udGVudCB0eXBlLgotc3RhdGljIE1FU0hfUEFU
VEVSTiBiZXN0X3F1YWxpdHlfbWVzaF9wYXR0ZXJuWzJdW01BWF9NRVNIX1NURVBdID0gewotICB7
IHsgNjQsIDQgfSwgeyAyOCwgMiB9LCB7IDE1LCAxIH0sIHsgNywgMSB9IH0sCi0gIHsgeyA2NCwg
OCB9LCB7IDI4LCA0IH0sIHsgMTUsIDEgfSwgeyA3LCAxIH0gfSwKK3N0YXRpYyBNRVNIX1BBVFRF
Uk4gYmVzdF9xdWFsaXR5X21lc2hfcGF0dGVybltNQVhfTUVTSF9TVEVQXSA9IHsKKyAgeyA2NCwg
NCB9LCB7IDI4LCAyIH0sIHsgMTUsIDEgfSwgeyA3LCAxIH0KIH07CiAKICNpZiAhQ09ORklHX1JF
QUxUSU1FX09OTFkKQEAgLTQyLDcgKzM5LDcgQEAgc3RhdGljIGludCBmcmFtZV9pc19ib29zdGVk
KGNvbnN0IFZQOV9DT01QICpjcGkpIHsKIC8vIFNldHMgYSBwYXJ0aXRpb24gc2l6ZSBkb3duIHRv
IHdoaWNoIHRoZSBhdXRvIHBhcnRpdGlvbiBjb2RlIHdpbGwgYWx3YXlzCiAvLyBzZWFyY2ggKGNh
biBnbyBsb3dlciksIGJhc2VkIG9uIHRoZSBpbWFnZSBkaW1lbnNpb25zLiBUaGUgbG9naWMgaGVy
ZQogLy8gaXMgdGhhdCB0aGUgZXh0ZW50IHRvIHdoaWNoIHJpbmdpbmcgYXJ0ZWZhY3RzIGFyZSBv
ZmZlbnNpdmUsIGRlcGVuZHMKLS8vIHBhcnRseSBvbiB0aGUgc2NyZWVuIGFyZWEgdGhhdCBvdmVy
IHdoaWNoIHRoZXkgcHJvcGFnYXRlLiBQcm9wYWdhdGlvbiBpcworLy8gcGFydGx5IG9uIHRoZSBz
Y3JlZW4gYXJlYSB0aGF0IG92ZXIgd2hpY2ggdGhleSBwcm9wb2dhdGUuIFByb3BvZ2F0aW9uIGlz
CiAvLyBsaW1pdGVkIGJ5IHRyYW5zZm9ybSBibG9jayBzaXplIGJ1dCB0aGUgc2NyZWVuIGFyZWEg
dGFrZSB1cCBieSBhIGdpdmVuIGJsb2NrCiAvLyBzaXplIHdpbGwgYmUgbGFyZ2VyIGZvciBhIHNt
YWxsIGltYWdlIGZvcm1hdCBzdHJldGNoZWQgdG8gZnVsbCBzY3JlZW4uCiBzdGF0aWMgQkxPQ0tf
U0laRSBzZXRfcGFydGl0aW9uX21pbl9saW1pdChWUDlfQ09NTU9OICpjb25zdCBjbSkgewpAQCAt
NzAsNyArNjcsNiBAQCBzdGF0aWMgdm9pZCBzZXRfZ29vZF9zcGVlZF9mZWF0dXJlX2ZyYW1lc2l6
ZV9kZXBlbmRlbnQoVlA5X0NPTVAgKmNwaSwKICAgY29uc3QgaW50IGlzXzcyMHBfb3JfbGFyZ2Vy
ID0gbWluX2ZyYW1lX3NpemUgPj0gNzIwOwogICBjb25zdCBpbnQgaXNfMTA4MHBfb3JfbGFyZ2Vy
ID0gbWluX2ZyYW1lX3NpemUgPj0gMTA4MDsKICAgY29uc3QgaW50IGlzXzIxNjBwX29yX2xhcmdl
ciA9IG1pbl9mcmFtZV9zaXplID49IDIxNjA7Ci0gIGNvbnN0IGludCBib29zdGVkID0gZnJhbWVf
aXNfYm9vc3RlZChjcGkpOwogCiAgIC8vIHNwZWVkIDAgZmVhdHVyZXMKICAgc2YtPnBhcnRpdGlv
bl9zZWFyY2hfYnJlYWtvdXRfdGhyLmRpc3QgPSAoMSA8PCAyMCk7CkBAIC04MiwxMyArNzgsOSBA
QCBzdGF0aWMgdm9pZCBzZXRfZ29vZF9zcGVlZF9mZWF0dXJlX2ZyYW1lc2l6ZV9kZXBlbmRlbnQo
VlA5X0NPTVAgKmNwaSwKICAgICAvLyBDdXJyZW50bHksIHRoZSBtYWNoaW5lLWxlYXJuaW5nIGJh
c2VkIHBhcnRpdGlvbiBzZWFyY2ggZWFybHkgdGVybWluYXRpb24KICAgICAvLyBpcyBvbmx5IHVz
ZWQgd2hpbGUgVlBYTUlOKGNtLT53aWR0aCwgY20tPmhlaWdodCkgPj0gNDgwIGFuZCBzcGVlZCA9
IDAuCiAgICAgc2YtPnJkX21sX3BhcnRpdGlvbi5zZWFyY2hfZWFybHlfdGVybWluYXRpb24gPSAx
OwotICAgIHNmLT5yZWNvZGVfdG9sZXJhbmNlX2hpZ2ggPSA0NTsKICAgfSBlbHNlIHsKICAgICBz
Zi0+dXNlX3NxdWFyZV9vbmx5X3RocmVzaF9oaWdoID0gQkxPQ0tfMzJYMzI7CiAgIH0KLSAgaWYg
KGlzXzcyMHBfb3JfbGFyZ2VyKSB7Ci0gICAgc2YtPmFsdF9yZWZfc2VhcmNoX2ZwID0gMTsKLSAg
fQogCiAgIGlmICghaXNfMTA4MHBfb3JfbGFyZ2VyKSB7CiAgICAgc2YtPnJkX21sX3BhcnRpdGlv
bi5zZWFyY2hfYnJlYWtvdXQgPSAxOwpAQCAtMTAzLDEzICs5NSw2IEBAIHN0YXRpYyB2b2lkIHNl
dF9nb29kX3NwZWVkX2ZlYXR1cmVfZnJhbWVzaXplX2RlcGVuZGVudChWUDlfQ09NUCAqY3BpLAog
ICAgIH0KICAgfQogCi0gIGlmICghaXNfNzIwcF9vcl9sYXJnZXIpIHsKLSAgICBpZiAoaXNfNDgw
cF9vcl9sYXJnZXIpCi0gICAgICBzZi0+cHJ1bmVfc2luZ2xlX21vZGVfYmFzZWRfb25fbXZfZGlm
Zl9tb2RlX3JhdGUgPSBib29zdGVkID8gMCA6IDE7Ci0gICAgZWxzZQotICAgICAgc2YtPnBydW5l
X3NpbmdsZV9tb2RlX2Jhc2VkX29uX212X2RpZmZfbW9kZV9yYXRlID0gMTsKLSAgfQotCiAgIGlm
IChzcGVlZCA+PSAxKSB7CiAgICAgc2YtPnJkX21sX3BhcnRpdGlvbi5zZWFyY2hfZWFybHlfdGVy
bWluYXRpb24gPSAwOwogICAgIHNmLT5yZF9tbF9wYXJ0aXRpb24uc2VhcmNoX2JyZWFrb3V0ID0g
MTsKQEAgLTE2Nyw3ICsxNTIsNyBAQCBzdGF0aWMgdm9pZCBzZXRfZ29vZF9zcGVlZF9mZWF0dXJl
X2ZyYW1lc2l6ZV9kZXBlbmRlbnQoVlA5X0NPTVAgKmNwaSwKICAgICAgIHNmLT5pbnRyYV95X21v
ZGVfbWFza1tUWF8zMlgzMl0gPSBJTlRSQV9EQzsKICAgICAgIHNmLT5pbnRyYV91dl9tb2RlX21h
c2tbVFhfMzJYMzJdID0gSU5UUkFfREM7CiAgICAgICBzZi0+YWx0X3JlZl9zZWFyY2hfZnAgPSAx
OwotICAgICAgc2YtPmNiX3ByZWRfZmlsdGVyX3NlYXJjaCA9IDI7CisgICAgICBzZi0+Y2JfcHJl
ZF9maWx0ZXJfc2VhcmNoID0gMTsKICAgICAgIHNmLT5hZGFwdGl2ZV9pbnRlcnBfZmlsdGVyX3Nl
YXJjaCA9IDE7CiAgICAgICBzZi0+ZGlzYWJsZV9zcGxpdF9tYXNrID0gRElTQUJMRV9BTExfU1BM
SVQ7CiAgICAgfQpAQCAtMjI0LDMyICsyMDksMTUgQEAgc3RhdGljIHZvaWQgc2V0X2dvb2Rfc3Bl
ZWRfZmVhdHVyZV9mcmFtZXNpemVfaW5kZXBlbmRlbnQoVlA5X0NPTVAgKmNwaSwKICAgY29uc3Qg
aW50IGJvb3N0ZWQgPSBmcmFtZV9pc19ib29zdGVkKGNwaSk7CiAgIGludCBpOwogCi0gIHNmLT5h
ZGFwdGl2ZV9pbnRlcnBfZmlsdGVyX3NlYXJjaCA9IDE7Ci0gIHNmLT5hZGFwdGl2ZV9wcmVkX2lu
dGVycF9maWx0ZXIgPSAxOworICBzZi0+dHhfc2l6ZV9zZWFyY2hfYnJlYWtvdXQgPSAxOwogICBz
Zi0+YWRhcHRpdmVfcmRfdGhyZXNoID0gMTsKICAgc2YtPmFkYXB0aXZlX3JkX3RocmVzaF9yb3df
bXQgPSAwOwogICBzZi0+YWxsb3dfc2tpcF9yZWNvZGUgPSAxOwogICBzZi0+bGVzc19yZWN0YW5n
dWxhcl9jaGVjayA9IDE7Ci0gIHNmLT5tdi5hdXRvX212X3N0ZXBfc2l6ZSA9IDE7Ci0gIHNmLT5t
di51c2VfZG93bnNhbXBsZWRfc2FkID0gMTsKLSAgc2YtPnBydW5lX3JlZl9mcmFtZV9mb3JfcmVj
dF9wYXJ0aXRpb25zID0gMTsKLSAgc2YtPnRlbXBvcmFsX2ZpbHRlcl9zZWFyY2hfbWV0aG9kID0g
TlNURVA7Ci0gIHNmLT50eF9zaXplX3NlYXJjaF9icmVha291dCA9IDE7CiAgIHNmLT51c2Vfc3F1
YXJlX3BhcnRpdGlvbl9vbmx5ID0gIWJvb3N0ZWQ7Ci0gIHNmLT5lYXJseV90ZXJtX2ludGVycF9z
ZWFyY2hfcGxhbmVfcmQgPSAxOwotICBzZi0+Y2JfcHJlZF9maWx0ZXJfc2VhcmNoID0gMTsKLSAg
c2YtPnRyZWxsaXNfb3B0X3R4X3JkLm1ldGhvZCA9IHNmLT5vcHRpbWl6ZV9jb2VmZmljaWVudHMK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEVOQUJMRV9UUkVMTElTX09Q
VF9UWF9SRF9SRVNJRFVBTF9NU0UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IERJU0FCTEVfVFJFTExJU19PUFQ7Ci0gIHNmLT50cmVsbGlzX29wdF90eF9yZC50aHJlc2gg
PSBib29zdGVkID8gNC4wIDogMy4wOwotCi0gIHNmLT5pbnRyYV95X21vZGVfbWFza1tUWF8zMlgz
Ml0gPSBJTlRSQV9EQ19IX1Y7Ci0gIHNmLT5jb21wX2ludGVyX2pvaW50X3NlYXJjaF9pdGVyX2xl
dmVsID0gMTsKLQotICAvLyBSZWZlcmVuY2UgbWFza2luZyBpcyBub3Qgc3VwcG9ydGVkIGluIGR5
bmFtaWMgc2NhbGluZyBtb2RlLgotICBzZi0+cmVmZXJlbmNlX21hc2tpbmcgPSBveGNmLT5yZXNp
emVfbW9kZSAhPSBSRVNJWkVfRFlOQU1JQzsKLQorICBzZi0+cHJ1bmVfcmVmX2ZyYW1lX2Zvcl9y
ZWN0X3BhcnRpdGlvbnMgPSAxOwogICBzZi0+cmRfbWxfcGFydGl0aW9uLnZhcl9wcnVuaW5nID0g
MTsKKwogICBzZi0+cmRfbWxfcGFydGl0aW9uLnBydW5lX3JlY3RfdGhyZXNoWzBdID0gLTE7CiAg
IHNmLT5yZF9tbF9wYXJ0aXRpb24ucHJ1bmVfcmVjdF90aHJlc2hbMV0gPSAzNTA7CiAgIHNmLT5y
ZF9tbF9wYXJ0aXRpb24ucHJ1bmVfcmVjdF90aHJlc2hbMl0gPSAzMjU7CkBAIC0yNzAsNiArMjM4
LDcgQEAgc3RhdGljIHZvaWQgc2V0X2dvb2Rfc3BlZWRfZmVhdHVyZV9mcmFtZXNpemVfaW5kZXBl
bmRlbnQoVlA5X0NPTVAgKmNwaSwKICAgfQogCiAgIGlmIChzcGVlZCA+PSAxKSB7CisgICAgc2Yt
PnRlbXBvcmFsX2ZpbHRlcl9zZWFyY2hfbWV0aG9kID0gTlNURVA7CiAgICAgc2YtPnJkX21sX3Bh
cnRpdGlvbi52YXJfcHJ1bmluZyA9ICFib29zdGVkOwogICAgIHNmLT5yZF9tbF9wYXJ0aXRpb24u
cHJ1bmVfcmVjdF90aHJlc2hbMV0gPSAyMjU7CiAgICAgc2YtPnJkX21sX3BhcnRpdGlvbi5wcnVu
ZV9yZWN0X3RocmVzaFsyXSA9IDIyNTsKQEAgLTI4OSwxOCArMjU4LDE5IEBAIHN0YXRpYyB2b2lk
IHNldF9nb29kX3NwZWVkX2ZlYXR1cmVfZnJhbWVzaXplX2luZGVwZW5kZW50KFZQOV9DT01QICpj
cGksCiAKICAgICBzZi0+YWxsb3dfdHhmbV9kb21haW5fZGlzdG9ydGlvbiA9IDE7CiAgICAgc2Yt
PnR4X2RvbWFpbl90aHJlc2ggPSB0eF9kb21fdGhyZXNob2xkc1soc3BlZWQgPCA2KSA/IHNwZWVk
IDogNV07Ci0gICAgc2YtPnRyZWxsaXNfb3B0X3R4X3JkLm1ldGhvZCA9IHNmLT5vcHRpbWl6ZV9j
b2VmZmljaWVudHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gRU5B
QkxFX1RSRUxMSVNfT1BUX1RYX1JEX1NSQ19WQVIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogRElTQUJMRV9UUkVMTElTX09QVDsKLSAgICBzZi0+dHJlbGxpc19vcHRf
dHhfcmQudGhyZXNoID0gcW9wdF90aHJlc2hvbGRzWyhzcGVlZCA8IDYpID8gc3BlZWQgOiA1XTsK
KyAgICBzZi0+YWxsb3dfcXVhbnRfY29lZmZfb3B0ID0gc2YtPm9wdGltaXplX2NvZWZmaWNpZW50
czsKKyAgICBzZi0+cXVhbnRfb3B0X3RocmVzaCA9IHFvcHRfdGhyZXNob2xkc1soc3BlZWQgPCA2
KSA/IHNwZWVkIDogNV07CiAgICAgc2YtPmxlc3NfcmVjdGFuZ3VsYXJfY2hlY2sgPSAxOwogICAg
IHNmLT51c2VfcmRfYnJlYWtvdXQgPSAxOwogICAgIHNmLT5hZGFwdGl2ZV9tb3Rpb25fc2VhcmNo
ID0gMTsKKyAgICBzZi0+bXYuYXV0b19tdl9zdGVwX3NpemUgPSAxOwogICAgIHNmLT5hZGFwdGl2
ZV9yZF90aHJlc2ggPSAyOwogICAgIHNmLT5tdi5zdWJwZWxfc2VhcmNoX2xldmVsID0gMTsKICAg
ICBpZiAoY3BpLT5veGNmLmNvbnRlbnQgIT0gVlA5RV9DT05URU5UX0ZJTE0pIHNmLT5tb2RlX3Nr
aXBfc3RhcnQgPSAxMDsKKyAgICBzZi0+YWRhcHRpdmVfcHJlZF9pbnRlcnBfZmlsdGVyID0gMTsK
ICAgICBzZi0+YWxsb3dfYWNsID0gMDsKIAorICAgIHNmLT5pbnRyYV95X21vZGVfbWFza1tUWF8z
MlgzMl0gPSBJTlRSQV9EQ19IX1Y7CiAgICAgc2YtPmludHJhX3V2X21vZGVfbWFza1tUWF8zMlgz
Ml0gPSBJTlRSQV9EQ19IX1Y7CiAgICAgaWYgKGNwaS0+b3hjZi5jb250ZW50ICE9IFZQOUVfQ09O
VEVOVF9GSUxNKSB7CiAgICAgICBzZi0+aW50cmFfeV9tb2RlX21hc2tbVFhfMTZYMTZdID0gSU5U
UkFfRENfSF9WOwpAQCAtMzI2LDE0ICsyOTYsMTggQEAgc3RhdGljIHZvaWQgc2V0X2dvb2Rfc3Bl
ZWRfZmVhdHVyZV9mcmFtZXNpemVfaW5kZXBlbmRlbnQoVlA5X0NPTVAgKmNwaSwKICAgICBzZi0+
dHhfc2l6ZV9zZWFyY2hfbWV0aG9kID0KICAgICAgICAgZnJhbWVfaXNfYm9vc3RlZChjcGkpID8g
VVNFX0ZVTExfUkQgOiBVU0VfTEFSR0VTVEFMTDsKIAorICAgIC8vIFJlZmVyZW5jZSBtYXNraW5n
IGlzIG5vdCBzdXBwb3J0ZWQgaW4gZHluYW1pYyBzY2FsaW5nIG1vZGUuCisgICAgc2YtPnJlZmVy
ZW5jZV9tYXNraW5nID0gb3hjZi0+cmVzaXplX21vZGUgIT0gUkVTSVpFX0RZTkFNSUMgPyAxIDog
MDsKKwogICAgIHNmLT5tb2RlX3NlYXJjaF9za2lwX2ZsYWdzID0KICAgICAgICAgKGNtLT5mcmFt
ZV90eXBlID09IEtFWV9GUkFNRSkKICAgICAgICAgICAgID8gMAogICAgICAgICAgICAgOiBGTEFH
X1NLSVBfSU5UUkFfRElSTUlTTUFUQ0ggfCBGTEFHX1NLSVBfSU5UUkFfQkVTVElOVEVSIHwKICAg
ICAgICAgICAgICAgICAgIEZMQUdfU0tJUF9DT01QX0JFU1RJTlRSQSB8IEZMQUdfU0tJUF9JTlRS
QV9MT1dWQVI7CiAgICAgc2YtPmRpc2FibGVfZmlsdGVyX3NlYXJjaF92YXJfdGhyZXNoID0gMTAw
OwotICAgIHNmLT5jb21wX2ludGVyX2pvaW50X3NlYXJjaF9pdGVyX2xldmVsID0gMjsKKyAgICBz
Zi0+Y29tcF9pbnRlcl9qb2ludF9zZWFyY2hfdGhyZXNoID0gQkxPQ0tfU0laRVM7CiAgICAgc2Yt
PmF1dG9fbWluX21heF9wYXJ0aXRpb25fc2l6ZSA9IFJFTEFYRURfTkVJR0hCT1JJTkdfTUlOX01B
WDsKKyAgICBzZi0+cmVjb2RlX3RvbGVyYW5jZV9sb3cgPSAxNTsKICAgICBzZi0+cmVjb2RlX3Rv
bGVyYW5jZV9oaWdoID0gNDU7CiAgICAgc2YtPmVuaGFuY2VkX2Z1bGxfcGl4ZWxfbW90aW9uX3Nl
YXJjaCA9IDA7CiAgICAgc2YtPnBydW5lX3JlZl9mcmFtZV9mb3JfcmVjdF9wYXJ0aXRpb25zID0g
MDsKQEAgLTM2MywxMyArMzM3LDE1IEBAIHN0YXRpYyB2b2lkIHNldF9nb29kX3NwZWVkX2ZlYXR1
cmVfZnJhbWVzaXplX2luZGVwZW5kZW50KFZQOV9DT01QICpjcGksCiAgICAgc2YtPmFkYXB0aXZl
X3ByZWRfaW50ZXJwX2ZpbHRlciA9IDA7CiAgICAgc2YtPmFkYXB0aXZlX21vZGVfc2VhcmNoID0g
MTsKICAgICBzZi0+Y2JfcGFydGl0aW9uX3NlYXJjaCA9ICFib29zdGVkOwotICAgIHNmLT5jYl9w
cmVkX2ZpbHRlcl9zZWFyY2ggPSAyOworICAgIHNmLT5jYl9wcmVkX2ZpbHRlcl9zZWFyY2ggPSAx
OwogICAgIHNmLT5hbHRfcmVmX3NlYXJjaF9mcCA9IDE7CiAgICAgc2YtPnJlY29kZV9sb29wID0g
QUxMT1dfUkVDT0RFX0tGTUFYQlc7CiAgICAgc2YtPmFkYXB0aXZlX3JkX3RocmVzaCA9IDM7CiAg
ICAgc2YtPm1vZGVfc2tpcF9zdGFydCA9IDY7CiAgICAgc2YtPmludHJhX3lfbW9kZV9tYXNrW1RY
XzMyWDMyXSA9IElOVFJBX0RDOwogICAgIHNmLT5pbnRyYV91dl9tb2RlX21hc2tbVFhfMzJYMzJd
ID0gSU5UUkFfREM7CisgICAgc2YtPmFkYXB0aXZlX2ludGVycF9maWx0ZXJfc2VhcmNoID0gMTsK
KyAgICBzZi0+YWxsb3dfcGFydGl0aW9uX3NlYXJjaF9za2lwID0gMTsKIAogICAgIGlmIChjcGkt
PnR3b3Bhc3MuZnJfY29udGVudF90eXBlID09IEZDX0dSQVBISUNTX0FOSU1BVElPTikgewogICAg
ICAgZm9yIChpID0gMDsgaSA8IE1BWF9NRVNIX1NURVA7ICsraSkgewpAQCAtMzk4LDYgKzM3NCw3
IEBAIHN0YXRpYyB2b2lkIHNldF9nb29kX3NwZWVkX2ZlYXR1cmVfZnJhbWVzaXplX2luZGVwZW5k
ZW50KFZQOV9DT01QICpjcGksCiAgIH0KIAogICBpZiAoc3BlZWQgPj0gNSkgeworICAgIGludCBp
OwogICAgIHNmLT5vcHRpbWl6ZV9jb2VmZmljaWVudHMgPSAwOwogICAgIHNmLT5tdi5zZWFyY2hf
bWV0aG9kID0gSEVYOwogICAgIHNmLT5kaXNhYmxlX2ZpbHRlcl9zZWFyY2hfdmFyX3RocmVzaCA9
IDUwMDsKQEAgLTQ4NSw4ICs0NjIsOCBAQCBzdGF0aWMgdm9pZCBzZXRfcnRfc3BlZWRfZmVhdHVy
ZV9mcmFtZXNpemVfaW5kZXBlbmRlbnQoCiAgIGlmIChzcGVlZCA+PSAxKSB7CiAgICAgc2YtPmFs
bG93X3R4Zm1fZG9tYWluX2Rpc3RvcnRpb24gPSAxOwogICAgIHNmLT50eF9kb21haW5fdGhyZXNo
ID0gMC4wOwotICAgIHNmLT50cmVsbGlzX29wdF90eF9yZC5tZXRob2QgPSBESVNBQkxFX1RSRUxM
SVNfT1BUOwotICAgIHNmLT50cmVsbGlzX29wdF90eF9yZC50aHJlc2ggPSAwLjA7CisgICAgc2Yt
PmFsbG93X3F1YW50X2NvZWZmX29wdCA9IDA7CisgICAgc2YtPnF1YW50X29wdF90aHJlc2ggPSAw
LjA7CiAgICAgc2YtPnVzZV9zcXVhcmVfcGFydGl0aW9uX29ubHkgPSAhZnJhbWVfaXNfaW50cmFf
b25seShjbSk7CiAgICAgc2YtPmxlc3NfcmVjdGFuZ3VsYXJfY2hlY2sgPSAxOwogICAgIHNmLT50
eF9zaXplX3NlYXJjaF9tZXRob2QgPQpAQCAtNTE5LDEwICs0OTYsMTEgQEAgc3RhdGljIHZvaWQg
c2V0X3J0X3NwZWVkX2ZlYXR1cmVfZnJhbWVzaXplX2luZGVwZW5kZW50KAogICAgICAgICAoY3Bp
LT5leHRlcm5hbF9yZXNpemUgPT0gMSB8fAogICAgICAgICAgY3BpLT5veGNmLnJlc2l6ZV9tb2Rl
ID09IFJFU0laRV9EWU5BTUlDKSkgewogICAgICAgTVZfUkVGRVJFTkNFX0ZSQU1FIHJlZl9mcmFt
ZTsKKyAgICAgIHN0YXRpYyBjb25zdCBpbnQgZmxhZ19saXN0WzRdID0geyAwLCBWUDlfTEFTVF9G
TEFHLCBWUDlfR09MRF9GTEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZQOV9BTFRfRkxBRyB9OwogICAgICAgZm9yIChyZWZfZnJhbWUgPSBMQVNUX0ZSQU1FOyBy
ZWZfZnJhbWUgPD0gQUxUUkVGX0ZSQU1FOyArK3JlZl9mcmFtZSkgewogICAgICAgICBjb25zdCBZ
VjEyX0JVRkZFUl9DT05GSUcgKnl2MTIgPSBnZXRfcmVmX2ZyYW1lX2J1ZmZlcihjcGksIHJlZl9m
cmFtZSk7Ci0gICAgICAgIGlmICh5djEyICE9IE5VTEwgJiYKLSAgICAgICAgICAgIChjcGktPnJl
Zl9mcmFtZV9mbGFncyAmIHJlZl9mcmFtZV90b19mbGFnKHJlZl9mcmFtZSkpKSB7CisgICAgICAg
IGlmICh5djEyICE9IE5VTEwgJiYgKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgZmxhZ19saXN0W3Jl
Zl9mcmFtZV0pKSB7CiAgICAgICAgICAgY29uc3Qgc3RydWN0IHNjYWxlX2ZhY3RvcnMgKmNvbnN0
IHNjYWxlX2ZhYyA9CiAgICAgICAgICAgICAgICZjbS0+ZnJhbWVfcmVmc1tyZWZfZnJhbWUgLSAx
XS5zZjsKICAgICAgICAgICBpZiAodnA5X2lzX3NjYWxlZChzY2FsZV9mYWMpKSBzZi0+cmVmZXJl
bmNlX21hc2tpbmcgPSAwOwpAQCAtNTMxLDcgKzUwOSw3IEBAIHN0YXRpYyB2b2lkIHNldF9ydF9z
cGVlZF9mZWF0dXJlX2ZyYW1lc2l6ZV9pbmRlcGVuZGVudCgKICAgICB9CiAKICAgICBzZi0+ZGlz
YWJsZV9maWx0ZXJfc2VhcmNoX3Zhcl90aHJlc2ggPSA1MDsKLSAgICBzZi0+Y29tcF9pbnRlcl9q
b2ludF9zZWFyY2hfaXRlcl9sZXZlbCA9IDI7CisgICAgc2YtPmNvbXBfaW50ZXJfam9pbnRfc2Vh
cmNoX3RocmVzaCA9IEJMT0NLX1NJWkVTOwogICAgIHNmLT5hdXRvX21pbl9tYXhfcGFydGl0aW9u
X3NpemUgPSBSRUxBWEVEX05FSUdIQk9SSU5HX01JTl9NQVg7CiAgICAgc2YtPmxmX21vdGlvbl90
aHJlc2hvbGQgPSBMT1dfTU9USU9OX1RIUkVTSE9MRDsKICAgICBzZi0+YWRqdXN0X3BhcnRpdGlv
bmluZ19mcm9tX2xhc3RfZnJhbWUgPSAxOwpAQCAtNjU1LDcgKzYzMyw3IEBAIHN0YXRpYyB2b2lk
IHNldF9ydF9zcGVlZF9mZWF0dXJlX2ZyYW1lc2l6ZV9pbmRlcGVuZGVudCgKICAgICAgIHNmLT51
c2VfYWx0cmVmX29uZXBhc3MgPSAxOwogICAgICAgc2YtPnVzZV9jb21wb3VuZF9ub25yZF9waWNr
bW9kZSA9IDE7CiAgICAgfQotICAgIGlmIChjbS0+d2lkdGggKiBjbS0+aGVpZ2h0ID4gMTI4MCAq
IDcyMCkgc2YtPmNiX3ByZWRfZmlsdGVyX3NlYXJjaCA9IDI7CisgICAgaWYgKGNtLT53aWR0aCAq
IGNtLT5oZWlnaHQgPiAxMjgwICogNzIwKSBzZi0+Y2JfcHJlZF9maWx0ZXJfc2VhcmNoID0gMTsK
ICAgICBpZiAoIWNwaS0+ZXh0ZXJuYWxfcmVzaXplKSBzZi0+dXNlX3NvdXJjZV9zYWQgPSAxOwog
ICB9CiAKQEAgLTY3NiwxMCArNjU0LDggQEAgc3RhdGljIHZvaWQgc2V0X3J0X3NwZWVkX2ZlYXR1
cmVfZnJhbWVzaXplX2luZGVwZW5kZW50KAogICAgICAgaWYgKGNwaS0+Y29udGVudF9zdGF0ZV9z
Yl9mZCA9PSBOVUxMICYmCiAgICAgICAgICAgKCFjcGktPnVzZV9zdmMgfHwKICAgICAgICAgICAg
c3ZjLT5zcGF0aWFsX2xheWVyX2lkID09IHN2Yy0+bnVtYmVyX3NwYXRpYWxfbGF5ZXJzIC0gMSkp
IHsKLSAgICAgICAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGNwaS0+Y29udGVudF9zdGF0
ZV9zYl9mZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICh1aW50OF90ICopdnB4X2NhbGxvYygK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY20tPm1pX3N0cmlkZSA+PiAzKSAqICgoY20t
Pm1pX3Jvd3MgPj4gMykgKyAxKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yo
dWludDhfdCkpKTsKKyAgICAgICAgY3BpLT5jb250ZW50X3N0YXRlX3NiX2ZkID0gKHVpbnQ4X3Qg
Kil2cHhfY2FsbG9jKAorICAgICAgICAgICAgKGNtLT5taV9zdHJpZGUgPj4gMykgKiAoKGNtLT5t
aV9yb3dzID4+IDMpICsgMSksIHNpemVvZih1aW50OF90KSk7CiAgICAgICB9CiAgICAgfQogICAg
IGlmIChjcGktPm94Y2YucmNfbW9kZSA9PSBWUFhfQ0JSICYmIGNvbnRlbnQgIT0gVlA5RV9DT05U
RU5UX1NDUkVFTikgewpAQCAtNzQ1LDcgKzcyMSw3IEBAIHN0YXRpYyB2b2lkIHNldF9ydF9zcGVl
ZF9mZWF0dXJlX2ZyYW1lc2l6ZV9pbmRlcGVuZGVudCgKICAgICBpZiAoY3BpLT51c2Vfc3ZjICYm
IHN2Yy0+dXNlX2dmX3RlbXBvcmFsX3JlZl9jdXJyZW50X2xheWVyICYmCiAgICAgICAgIHN2Yy0+
dGVtcG9yYWxfbGF5ZXJfaWQgPiAwKQogICAgICAgY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJj0gKH5W
UDlfR09MRF9GTEFHKTsKLSAgICBpZiAoY20tPndpZHRoICogY20tPmhlaWdodCA+IDY0MCAqIDQ4
MCkgc2YtPmNiX3ByZWRfZmlsdGVyX3NlYXJjaCA9IDI7CisgICAgaWYgKGNtLT53aWR0aCAqIGNt
LT5oZWlnaHQgPiA2NDAgKiA0ODApIHNmLT5jYl9wcmVkX2ZpbHRlcl9zZWFyY2ggPSAxOwogICB9
CiAKICAgaWYgKHNwZWVkID49IDgpIHsKQEAgLTc4OSw3ICs3NjUsNyBAQCBzdGF0aWMgdm9pZCBz
ZXRfcnRfc3BlZWRfZmVhdHVyZV9mcmFtZXNpemVfaW5kZXBlbmRlbnQoCiAgICAgfQogICAgIHNm
LT5saW1pdF9uZXdtdl9lYXJseV9leGl0ID0gMDsKICAgICBzZi0+dXNlX3NpbXBsZV9ibG9ja195
cmQgPSAxOwotICAgIGlmIChjbS0+d2lkdGggKiBjbS0+aGVpZ2h0ID4gMzUyICogMjg4KSBzZi0+
Y2JfcHJlZF9maWx0ZXJfc2VhcmNoID0gMjsKKyAgICBpZiAoY20tPndpZHRoICogY20tPmhlaWdo
dCA+IDM1MiAqIDI4OCkgc2YtPmNiX3ByZWRfZmlsdGVyX3NlYXJjaCA9IDE7CiAgIH0KIAogICBp
ZiAoc3BlZWQgPj0gOSkgewpAQCAtNzk5LDcgKzc3NSw3IEBAIHN0YXRpYyB2b2lkIHNldF9ydF9z
cGVlZF9mZWF0dXJlX2ZyYW1lc2l6ZV9pbmRlcGVuZGVudCgKICAgICAgIGZvciAoaSA9IDA7IGkg
PCBCTE9DS19TSVpFUzsgKytpKQogICAgICAgICBzZi0+aW50cmFfeV9tb2RlX2JzaXplX21hc2tb
aV0gPSBJTlRSQV9EQzsKICAgICB9Ci0gICAgc2YtPmNiX3ByZWRfZmlsdGVyX3NlYXJjaCA9IDI7
CisgICAgc2YtPmNiX3ByZWRfZmlsdGVyX3NlYXJjaCA9IDE7CiAgICAgc2YtPm12LmVuYWJsZV9h
ZGFwdGl2ZV9zdWJwZWxfZm9yY2Vfc3RvcCA9IDE7CiAgICAgc2YtPm12LmFkYXB0X3N1YnBlbF9m
b3JjZV9zdG9wLm12X3RocmVzaCA9IDE7CiAgICAgc2YtPm12LmFkYXB0X3N1YnBlbF9mb3JjZV9z
dG9wLmZvcmNlX3N0b3BfYmVsb3cgPSBRVUFSVEVSX1BFTDsKQEAgLTgzMCwxNyArODA2LDE0IEBA
IHN0YXRpYyB2b2lkIHNldF9ydF9zcGVlZF9mZWF0dXJlX2ZyYW1lc2l6ZV9pbmRlcGVuZGVudCgK
ICAgICAgIHNmLT5wYXJ0aXRpb25fc2VhcmNoX3R5cGUgPSBGSVhFRF9QQVJUSVRJT047CiAgICAg
ICBzZi0+YWx3YXlzX3RoaXNfYmxvY2tfc2l6ZSA9IEJMT0NLXzY0WDY0OwogICAgIH0KLSAgICBp
ZiAoY3BpLT5jb3VudF9hcmZfZnJhbWVfdXNhZ2UgPT0gTlVMTCkgewotICAgICAgQ0hFQ0tfTUVN
X0VSUk9SKAotICAgICAgICAgICZjbS0+ZXJyb3IsIGNwaS0+Y291bnRfYXJmX2ZyYW1lX3VzYWdl
LAorICAgIGlmIChjcGktPmNvdW50X2FyZl9mcmFtZV91c2FnZSA9PSBOVUxMKQorICAgICAgY3Bp
LT5jb3VudF9hcmZfZnJhbWVfdXNhZ2UgPQogICAgICAgICAgICh1aW50OF90ICopdnB4X2NhbGxv
YygoY20tPm1pX3N0cmlkZSA+PiAzKSAqICgoY20tPm1pX3Jvd3MgPj4gMykgKyAxKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCpjcGktPmNvdW50X2FyZl9mcmFtZV91
c2FnZSkpKTsKLSAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigq
Y3BpLT5jb3VudF9hcmZfZnJhbWVfdXNhZ2UpKTsKICAgICBpZiAoY3BpLT5jb3VudF9sYXN0Z29s
ZGVuX2ZyYW1lX3VzYWdlID09IE5VTEwpCi0gICAgICBDSEVDS19NRU1fRVJST1IoCi0gICAgICAg
ICAgJmNtLT5lcnJvciwgY3BpLT5jb3VudF9sYXN0Z29sZGVuX2ZyYW1lX3VzYWdlLAorICAgICAg
Y3BpLT5jb3VudF9sYXN0Z29sZGVuX2ZyYW1lX3VzYWdlID0KICAgICAgICAgICAodWludDhfdCAq
KXZweF9jYWxsb2MoKGNtLT5taV9zdHJpZGUgPj4gMykgKiAoKGNtLT5taV9yb3dzID4+IDMpICsg
MSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqY3BpLT5jb3VudF9s
YXN0Z29sZGVuX2ZyYW1lX3VzYWdlKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplb2YoKmNwaS0+Y291bnRfbGFzdGdvbGRlbl9mcmFtZV91c2FnZSkpOwogICB9CiAgIGlm
IChzdmMtPnByZXZpb3VzX2ZyYW1lX2lzX2ludHJhX29ubHkpIHsKICAgICBzZi0+cGFydGl0aW9u
X3NlYXJjaF90eXBlID0gRklYRURfUEFSVElUSU9OOwpAQCAtOTI4LDE3ICs5MDEsMTQgQEAgdm9p
ZCB2cDlfc2V0X3NwZWVkX2ZlYXR1cmVzX2ZyYW1lc2l6ZV9pbmRlcGVuZGVudChWUDlfQ09NUCAq
Y3BpLCBpbnQgc3BlZWQpIHsKICAgc2YtPmNvZWZmX3Byb2JfYXBweF9zdGVwID0gMTsKICAgc2Yt
Pm12LmF1dG9fbXZfc3RlcF9zaXplID0gMDsKICAgc2YtPm12LmZ1bGxwZWxfc2VhcmNoX3N0ZXBf
cGFyYW0gPSA2OwotICBzZi0+bXYudXNlX2Rvd25zYW1wbGVkX3NhZCA9IDA7Ci0gIHNmLT5jb21w
X2ludGVyX2pvaW50X3NlYXJjaF9pdGVyX2xldmVsID0gMDsKKyAgc2YtPmNvbXBfaW50ZXJfam9p
bnRfc2VhcmNoX3RocmVzaCA9IEJMT0NLXzRYNDsKICAgc2YtPnR4X3NpemVfc2VhcmNoX21ldGhv
ZCA9IFVTRV9GVUxMX1JEOwogICBzZi0+dXNlX2xwMzJ4MzJmZGN0ID0gMDsKICAgc2YtPmFkYXB0
aXZlX21vdGlvbl9zZWFyY2ggPSAwOwogICBzZi0+ZW5oYW5jZWRfZnVsbF9waXhlbF9tb3Rpb25f
c2VhcmNoID0gMTsKICAgc2YtPmFkYXB0aXZlX3ByZWRfaW50ZXJwX2ZpbHRlciA9IDA7CiAgIHNm
LT5hZGFwdGl2ZV9tb2RlX3NlYXJjaCA9IDA7Ci0gIHNmLT5wcnVuZV9zaW5nbGVfbW9kZV9iYXNl
ZF9vbl9tdl9kaWZmX21vZGVfcmF0ZSA9IDA7CiAgIHNmLT5jYl9wcmVkX2ZpbHRlcl9zZWFyY2gg
PSAwOwotICBzZi0+ZWFybHlfdGVybV9pbnRlcnBfc2VhcmNoX3BsYW5lX3JkID0gMDsKICAgc2Yt
PmNiX3BhcnRpdGlvbl9zZWFyY2ggPSAwOwogICBzZi0+bW90aW9uX2ZpZWxkX21vZGVfc2VhcmNo
ID0gMDsKICAgc2YtPmFsdF9yZWZfc2VhcmNoX2ZwID0gMDsKQEAgLTk2MSwxNiArOTMxLDE1IEBA
IHZvaWQgdnA5X3NldF9zcGVlZF9mZWF0dXJlc19mcmFtZXNpemVfaW5kZXBlbmRlbnQoVlA5X0NP
TVAgKmNwaSwgaW50IHNwZWVkKSB7CiAgIHNmLT5tYXhfZGVsdGFfcWluZGV4ID0gMDsKICAgc2Yt
PmRpc2FibGVfZmlsdGVyX3NlYXJjaF92YXJfdGhyZXNoID0gMDsKICAgc2YtPmFkYXB0aXZlX2lu
dGVycF9maWx0ZXJfc2VhcmNoID0gMDsKKyAgc2YtPmFsbG93X3BhcnRpdGlvbl9zZWFyY2hfc2tp
cCA9IDA7CiAgIHNmLT5hbGxvd190eGZtX2RvbWFpbl9kaXN0b3J0aW9uID0gMDsKICAgc2YtPnR4
X2RvbWFpbl90aHJlc2ggPSA5OS4wOwotICBzZi0+dHJlbGxpc19vcHRfdHhfcmQubWV0aG9kID0K
LSAgICAgIHNmLT5vcHRpbWl6ZV9jb2VmZmljaWVudHMgPyBFTkFCTEVfVFJFTExJU19PUFQgOiBE
SVNBQkxFX1RSRUxMSVNfT1BUOwotICBzZi0+dHJlbGxpc19vcHRfdHhfcmQudGhyZXNoID0gOTku
MDsKKyAgc2YtPmFsbG93X3F1YW50X2NvZWZmX29wdCA9IHNmLT5vcHRpbWl6ZV9jb2VmZmljaWVu
dHM7CisgIHNmLT5xdWFudF9vcHRfdGhyZXNoID0gOTkuMDsKICAgc2YtPmFsbG93X2FjbCA9IDE7
CiAgIHNmLT5lbmFibGVfdHBsX21vZGVsID0gb3hjZi0+ZW5hYmxlX3RwbF9tb2RlbDsKICAgc2Yt
PnBydW5lX3JlZl9mcmFtZV9mb3JfcmVjdF9wYXJ0aXRpb25zID0gMDsKICAgc2YtPnRlbXBvcmFs
X2ZpbHRlcl9zZWFyY2hfbWV0aG9kID0gTUVTSDsKLSAgc2YtPmFsbG93X3NraXBfdHhmbV9hY19k
YyA9IDA7CiAKICAgZm9yIChpID0gMDsgaSA8IFRYX1NJWkVTOyBpKyspIHsKICAgICBzZi0+aW50
cmFfeV9tb2RlX21hc2tbaV0gPSBJTlRSQV9BTEw7CkBAIC0xMDE5LDE0ICs5ODgsMTAgQEAgdm9p
ZCB2cDlfc2V0X3NwZWVkX2ZlYXR1cmVzX2ZyYW1lc2l6ZV9pbmRlcGVuZGVudChWUDlfQ09NUCAq
Y3BpLCBpbnQgc3BlZWQpIHsKICAgc2YtPmV4aGF1c3RpdmVfc2VhcmNoZXNfdGhyZXNoID0KICAg
ICAgIChjcGktPnR3b3Bhc3MuZnJfY29udGVudF90eXBlID09IEZDX0dSQVBISUNTX0FOSU1BVElP
TikgPyAoMSA8PCAyMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOiBJTlRfTUFYOwotICB7Ci0gICAgY29uc3QgaW50IG1lc2hf
ZGVuc2l0eV9sZXZlbCA9Ci0gICAgICAgIChjcGktPnR3b3Bhc3MuZnJfY29udGVudF90eXBlID09
IEZDX0dSQVBISUNTX0FOSU1BVElPTikgPyAwIDogMTsKKyAgaWYgKGNwaS0+dHdvcGFzcy5mcl9j
b250ZW50X3R5cGUgPT0gRkNfR1JBUEhJQ1NfQU5JTUFUSU9OKSB7CiAgICAgZm9yIChpID0gMDsg
aSA8IE1BWF9NRVNIX1NURVA7ICsraSkgewotICAgICAgc2YtPm1lc2hfcGF0dGVybnNbaV0ucmFu
Z2UgPQotICAgICAgICAgIGJlc3RfcXVhbGl0eV9tZXNoX3BhdHRlcm5bbWVzaF9kZW5zaXR5X2xl
dmVsXVtpXS5yYW5nZTsKLSAgICAgIHNmLT5tZXNoX3BhdHRlcm5zW2ldLmludGVydmFsID0KLSAg
ICAgICAgICBiZXN0X3F1YWxpdHlfbWVzaF9wYXR0ZXJuW21lc2hfZGVuc2l0eV9sZXZlbF1baV0u
aW50ZXJ2YWw7CisgICAgICBzZi0+bWVzaF9wYXR0ZXJuc1tpXS5yYW5nZSA9IGJlc3RfcXVhbGl0
eV9tZXNoX3BhdHRlcm5baV0ucmFuZ2U7CisgICAgICBzZi0+bWVzaF9wYXR0ZXJuc1tpXS5pbnRl
cnZhbCA9IGJlc3RfcXVhbGl0eV9tZXNoX3BhdHRlcm5baV0uaW50ZXJ2YWw7CiAgICAgfQogICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3NwZWVkX2ZlYXR1cmVz
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zcGVlZF9mZWF0dXJlcy5oCmluZGV4IDk0
MWRlNjM5YWNiMS4uY2EyODRkZWQ4MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9zcGVlZF9mZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5
X3NwZWVkX2ZlYXR1cmVzLmgKQEAgLTIxMCwxMCArMjEwLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgTVZf
U1BFRURfRkVBVFVSRVMgewogCiAgIC8vIFRoaXMgdmFyaWFibGUgc2V0cyB0aGUgc3RlcF9wYXJh
bSB1c2VkIGluIGZ1bGwgcGVsIG1vdGlvbiBzZWFyY2guCiAgIGludCBmdWxscGVsX3NlYXJjaF9z
dGVwX3BhcmFtOwotCi0gIC8vIFdoZXRoZXIgdG8gZG93bnNhbXBsZSB0aGUgcm93cyBpbiBzYWQg
Y2FsY3VsYXRpb24gZHVyaW5nIG1vdGlvbiBzZWFyY2guCi0gIC8vIFRoaXMgaXMgb25seSBhY3Rp
dmUgd2hlbiB0aGVyZSBhcmUgYXQgbGVhc3QgOCByb3dzLgotICBpbnQgdXNlX2Rvd25zYW1wbGVk
X3NhZDsKIH0gTVZfU1BFRURfRkVBVFVSRVM7CiAKIHR5cGVkZWYgc3RydWN0IFBBUlRJVElPTl9T
RUFSQ0hfQlJFQUtPVVRfVEhSIHsKQEAgLTI1MCwyNCArMjQ2LDYgQEAgdHlwZWRlZiBlbnVtIHsK
ICAgVVNFXzhfVEFQU19TSEFSUCwKIH0gU1VCUEVMX1NFQVJDSF9UWVBFOwogCi10eXBlZGVmIGVu
dW0gewotICAvLyBEaXNhYmxlIHRyZWxsaXMgY29lZmZpY2llbnQgb3B0aW1pemF0aW9uCi0gIERJ
U0FCTEVfVFJFTExJU19PUFQsCi0gIC8vIEVuYWJsZSB0cmVsbGlzIGNvZWZmaWNpZW50IG9wdGlt
aXphdGlvbgotICBFTkFCTEVfVFJFTExJU19PUFQsCi0gIC8vIEVuYWJsZSB0cmVsbGlzIGNvZWZm
aWNpZW50IG9wdGltaXphdGlvbiBiYXNlZCBvbiBzb3VyY2UgdmFyaWFuY2Ugb2YgdGhlCi0gIC8v
IHByZWRpY3Rpb24gYmxvY2sgZHVyaW5nIHRyYW5zZm9ybSBSRAotICBFTkFCTEVfVFJFTExJU19P
UFRfVFhfUkRfU1JDX1ZBUiwKLSAgLy8gRW5hYmxlIHRyZWxsaXMgY29lZmZpY2llbnQgb3B0aW1p
emF0aW9uIGJhc2VkIG9uIHJlc2lkdWFsIG1zZSBvZiB0aGUKLSAgLy8gdHJhbnNmb3JtIGJsb2Nr
IGR1cmluZyB0cmFuc2Zvcm0gUkQKLSAgRU5BQkxFX1RSRUxMSVNfT1BUX1RYX1JEX1JFU0lEVUFM
X01TRSwKLX0gRU5BQkxFX1RSRUxMSVNfT1BUX01FVEhPRDsKLQotdHlwZWRlZiBzdHJ1Y3QgVFJF
TExJU19PUFRfQ09OVFJPTCB7Ci0gIEVOQUJMRV9UUkVMTElTX09QVF9NRVRIT0QgbWV0aG9kOwot
ICBkb3VibGUgdGhyZXNoOwotfSBUUkVMTElTX09QVF9DT05UUk9MOwotCiB0eXBlZGVmIHN0cnVj
dCBTUEVFRF9GRUFUVVJFUyB7CiAgIE1WX1NQRUVEX0ZFQVRVUkVTIG12OwogCkBAIC0yODYsMjAg
KzI2NCwxMSBAQCB0eXBlZGVmIHN0cnVjdCBTUEVFRF9GRUFUVVJFUyB7CiAgIC8vIGFkZHMgb3Zl
cmhlYWQuCiAgIGludCBzdGF0aWNfc2VnbWVudGF0aW9uOwogCi0gIC8vIFRoZSBiZXN0IGNvbXBv
dW5kIHByZWRpY3RvciBpcyBmb3VuZCB1c2luZyBhbiBpdGVyYXRpdmUgbG9nIHNlYXJjaCBwcm9j
ZXNzCi0gIC8vIHRoYXQgc2VhcmNoZXMgZm9yIGJlc3QgcmVmMCBtdiB1c2luZyBlcnJvciBvZiBj
b21iaW5lZCBwcmVkaWN0b3IgYW5kIHRoZW4KLSAgLy8gc2VhcmNoZXMgZm9yIGJlc3QgcmVmMSBt
di4gVGhpcyBzZiBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBvZgotICAvLyB0
aGlzIHByb2Nlc3MgYmFzZWQgb24gYmxvY2sgc2l6ZS4gVGhlIHNmIGJlY29tZXMgbW9yZSBhZ2dy
ZXNzaXZlIGZyb20gbGV2ZWwKLSAgLy8gMCB0byAyLiBUaGUgZm9sbG93aW5nIHRhYmxlIGluZGlj
YXRlcyB0aGUgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgdy5yLnQgYnNpemU6Ci0gIC8vICAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAvLyB8c2YgKGxldmVs
KXxic2l6ZSA8IDhYOHwgWzhYOCwgMTZYMTZdIHwgPiAxNlgxNiB8Ci0gIC8vIHwgICAgMCAgICAg
fCAgICAgNCAgICAgfCAgICAgIDQgICAgICAgfCAgICA0ICAgIHwKLSAgLy8gfCAgICAxICAgICB8
ICAgICAwICAgICB8ICAgICAgMiAgICAgICB8ICAgIDQgICAgfAotICAvLyB8ICAgIDIgICAgIHwg
ICAgIDAgICAgIHwgICAgICAwICAgICAgIHwgICAgMCAgICB8Ci0gIC8vICAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAvLyBIZXJlLCAwIGl0ZXJhdGlv
bnMgaW5kaWNhdGUgdXNpbmcgdGhlIGJlc3Qgc2luZ2xlIG1vdGlvbiB2ZWN0b3Igc2VsZWN0ZWQK
LSAgLy8gZm9yIGVhY2ggcmVmIGZyYW1lIHdpdGhvdXQgYW55IGl0ZXJhdGl2ZSByZWZpbmVtZW50
LgotICBpbnQgY29tcF9pbnRlcl9qb2ludF9zZWFyY2hfaXRlcl9sZXZlbDsKKyAgLy8gSWYgMSB3
ZSBpdGVyYXRlIGZpbmRpbmcgYSBiZXN0IHJlZmVyZW5jZSBmb3IgMiByZWYgZnJhbWVzIHRvZ2V0
aGVyIC0gdmlhCisgIC8vIGEgbG9nIHNlYXJjaCB0aGF0IGl0ZXJhdGVzIDQgdGltZXMgKGNoZWNr
IGFyb3VuZCBtdiBmb3IgbGFzdCBmb3IgYmVzdAorICAvLyBlcnJvciBvZiBjb21iaW5lZCBwcmVk
aWN0b3IgdGhlbiBjaGVjayBhcm91bmQgbXYgZm9yIGFsdCkuIElmIDAgd2UKKyAgLy8gd2UganVz
dCB1c2UgdGhlIGJlc3QgbW90aW9uIHZlY3RvciBmb3VuZCBmb3IgZWFjaCBmcmFtZSBieSBpdHNl
bGYuCisgIEJMT0NLX1NJWkUgY29tcF9pbnRlcl9qb2ludF9zZWFyY2hfdGhyZXNoOwogCiAgIC8v
IFRoaXMgdmFyaWFibGUgaXMgdXNlZCB0byBjYXAgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVz
IHdlIHNraXAgdGVzdGluZyBhCiAgIC8vIG1vZGUgdG8gYmUgZXZhbHVhdGVkLiBBIGhpZ2ggdmFs
dWUgbWVhbnMgd2Ugd2lsbCBiZSBmYXN0ZXIuCkBAIC0zMjMsOCArMjkyLDggQEAgdHlwZWRlZiBz
dHJ1Y3QgU1BFRURfRkVBVFVSRVMgewogICBpbnQgY29lZmZfcHJvYl9hcHB4X3N0ZXA7CiAKICAg
Ly8gRW5hYmxlIHVuaWZvcm0gcXVhbnRpemVyIGZvbGxvd2VkIGJ5IHRyZWxsaXMgY29lZmZpY2ll
bnQgb3B0aW1pemF0aW9uCi0gIC8vIGR1cmluZyB0cmFuc2Zvcm0gUkQKLSAgVFJFTExJU19PUFRf
Q09OVFJPTCB0cmVsbGlzX29wdF90eF9yZDsKKyAgaW50IGFsbG93X3F1YW50X2NvZWZmX29wdDsK
KyAgZG91YmxlIHF1YW50X29wdF90aHJlc2g7CiAKICAgLy8gRW5hYmxlIGFzeW1wdG90aWMgY2xv
c2VkLWxvb3AgZW5jb2RpbmcgZGVjaXNpb24gZm9yIGtleSBmcmFtZSBhbmQKICAgLy8gYWx0ZXJu
YXRlIHJlZmVyZW5jZSBmcmFtZXMuCkBAIC00MzAsMjEgKzM5OSw5IEBAIHR5cGVkZWYgc3RydWN0
IFNQRUVEX0ZFQVRVUkVTIHsKICAgLy8gQWRhcHRpdmUgcHJlZGljdGlvbiBtb2RlIHNlYXJjaAog
ICBpbnQgYWRhcHRpdmVfbW9kZV9zZWFyY2g7CiAKLSAgLy8gUHJ1bmUgTkVBUkVTVCBhbmQgWkVS
T01WIHNpbmdsZSByZWZlcmVuY2UgbW9kZXMgYmFzZWQgb24gbW90aW9uIHZlY3RvcgotICAvLyBk
aWZmZXJlbmNlIGFuZCBtb2RlIHJhdGUKLSAgaW50IHBydW5lX3NpbmdsZV9tb2RlX2Jhc2VkX29u
X212X2RpZmZfbW9kZV9yYXRlOwotCi0gIC8vIENoZXNzYm9hcmQgcGF0dGVybiBwcmVkaWN0aW9u
IGZvciBpbnRlcnAgZmlsdGVyLiBBZ2dyZXNzaXZlbmVzcyBpbmNyZWFzZXMKLSAgLy8gd2l0aCBs
ZXZlbHMuCi0gIC8vIDA6IGRpc2FibGUKLSAgLy8gMTogY2IgcGF0dGVybiBpbiBldmFsIHdoZW4g
ZmlsdGVyIGlzIG5vdCBzd2l0Y2hhYmxlCi0gIC8vIDI6IGNiIHBhdHRlcm4gcHJlZGljdGlvbiBm
b3IgZmlsdGVyIHNlYXJjaAorICAvLyBDaGVzc2JvYXJkIHBhdHRlcm4gcHJlZGljdGlvbiBmaWx0
ZXIgdHlwZSBzZWFyY2gKICAgaW50IGNiX3ByZWRfZmlsdGVyX3NlYXJjaDsKIAotICAvLyBUaGlz
IHZhcmlhYmxlIGVuYWJsZXMgYW4gZWFybHkgdGVybWluYXRpb24gb2YgaW50ZXJwb2xhdGlvbiBm
aWx0ZXIgZXZhbAotICAvLyBiYXNlZCBvbiB0aGUgY3VycmVudCByZCBjb3N0IGFmdGVyIHByb2Nl
c3NpbmcgZWFjaCBwbGFuZQotICBpbnQgZWFybHlfdGVybV9pbnRlcnBfc2VhcmNoX3BsYW5lX3Jk
OwotCiAgIGludCBjYl9wYXJ0aXRpb25fc2VhcmNoOwogCiAgIGludCBtb3Rpb25fZmllbGRfbW9k
ZV9zZWFyY2g7CkBAIC01NjgsNiArNTI1LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgU1BFRURfRkVBVFVS
RVMgewogICAgIGludCBwcnVuZV9yZWN0X3RocmVzaFs0XTsKICAgfSByZF9tbF9wYXJ0aXRpb247
CiAKKyAgLy8gQWxsb3cgc2tpcHBpbmcgcGFydGl0aW9uIHNlYXJjaCBmb3Igc3RpbGwgaW1hZ2Ug
ZnJhbWUKKyAgaW50IGFsbG93X3BhcnRpdGlvbl9zZWFyY2hfc2tpcDsKKwogICAvLyBGYXN0IGFw
cHJveGltYXRpb24gb2YgdnA5X21vZGVsX3JkX2Zyb21fdmFyX2xhcG5kegogICBpbnQgc2ltcGxl
X21vZGVsX3JkX2Zyb21fdmFyOwogCkBAIC02NDMsNyArNjAzLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg
U1BFRURfRkVBVFVSRVMgewogICAvLyBVc2UgbWFjaGluZSBsZWFybmluZyBiYXNlZCBwYXJ0aXRp
b24gc2VhcmNoLgogICBpbnQgbm9ucmRfdXNlX21sX3BhcnRpdGlvbjsKIAotICAvLyBNdWx0aXBs
aWVyIGZvciBiYXNlIHRocmVzaG9sZCBmb3IgdmFyaWFuY2UgcGFydGl0aW9uaW5nLgorICAvLyBN
dWx0aXBsaWVyIGZvciBiYXNlIHRocmVzb2xkIGZvciB2YXJpYW5jZSBwYXJ0aXRpb25pbmcuCiAg
IGludCB2YXJpYW5jZV9wYXJ0X3RocmVzaF9tdWx0OwogCiAgIC8vIEZvcmNlIHN1YnBlbCBtb3Rp
b24gZmlsdGVyIHRvIGFsd2F5cyB1c2UgU01PT1RIX0ZJTFRFUi4KQEAgLTY1MiwxMiArNjEyLDYg
QEAgdHlwZWRlZiBzdHJ1Y3QgU1BFRURfRkVBVFVSRVMgewogICAvLyBGb3IgcmVhbC10aW1lIG1v
ZGU6IGZvcmNlIERDIG9ubHkgdW5kZXIgaW50cmEgc2VhcmNoIHdoZW4gY29udGVudAogICAvLyBk
b2VzIG5vdCBoYXZlIGhpZ2ggc291Y2UgU0FELgogICBpbnQgcnRfaW50cmFfZGNfb25seV9sb3df
Y29udGVudDsKLQotICAvLyBUaGUgZW5jb2RlciBoYXMgYSBmZWF0dXJlIHRoYXQgc2tpcHMgZm9y
d2FyZCB0cmFuc2Zvcm0gYW5kIHF1YW50aXphdGlvbgotICAvLyBiYXNlZCBvbiBhIG1vZGVsIHJk
IGVzdGltYXRpb24gdG8gcmVkdWNlIGVuY29kaW5nIHRpbWUuCi0gIC8vIEhvd2V2ZXIsIHRoaXMg
ZmVhdHVyZSBpcyBkYW5nZXJvdXMgc2luY2UgaXQgY291bGQgbGVhZCB0byBiYWQgcGVyY2VwdHVh
bAotICAvLyBxdWFsaXR5LiBUaGlzIGZsYWcgaXMgYWRkZWQgdG8gZ3VhcmQgdGhlIGZlYXR1cmUu
Ci0gIGludCBhbGxvd19za2lwX3R4Zm1fYWNfZGM7CiB9IFNQRUVEX0ZFQVRVUkVTOwogCiBzdHJ1
Y3QgVlA5X0NPTVA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdWJl
eHAuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N1YmV4cC5jCmluZGV4IDM5NTMyNTNk
YmJlZS4uMTliYmQ1MzczZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV9zdWJleHAuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdWJleHAuYwpAQCAt
MTE0LDIwICsxMTQsMTkgQEAgdm9pZCB2cDlfd3JpdGVfcHJvYl9kaWZmX3VwZGF0ZSh2cHhfd3Jp
dGVyICp3LCB2cHhfcHJvYiBuZXdwLCB2cHhfcHJvYiBvbGRwKSB7CiAgIGVuY29kZV90ZXJtX3N1
YmV4cCh3LCBkZWxwKTsKIH0KIAotaW50NjRfdCB2cDlfcHJvYl9kaWZmX3VwZGF0ZV9zYXZpbmdz
X3NlYXJjaChjb25zdCB1bnNpZ25lZCBpbnQgKmN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2cHhfcHJvYiBvbGRwLCB2cHhfcHJvYiAqYmVzdHAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9wcm9iIHVwZCkgewot
ICBjb25zdCBpbnQ2NF90IG9sZF9iID0gY29zdF9icmFuY2gyNTYoY3QsIG9sZHApOwotICBpbnQ2
NF90IGJlc3RzYXZpbmdzID0gMDsKK2ludCB2cDlfcHJvYl9kaWZmX3VwZGF0ZV9zYXZpbmdzX3Nl
YXJjaChjb25zdCB1bnNpZ25lZCBpbnQgKmN0LCB2cHhfcHJvYiBvbGRwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9wcm9iICpiZXN0cCwgdnB4X3Byb2IgdXBk
KSB7CisgIGNvbnN0IGludCBvbGRfYiA9IGNvc3RfYnJhbmNoMjU2KGN0LCBvbGRwKTsKKyAgaW50
IGJlc3RzYXZpbmdzID0gMDsKICAgdnB4X3Byb2IgbmV3cCwgYmVzdG5ld3AgPSBvbGRwOwogICBj
b25zdCBpbnQgc3RlcCA9ICpiZXN0cCA+IG9sZHAgPyAtMSA6IDE7CiAgIGNvbnN0IGludCB1cGRf
Y29zdCA9IHZwOV9jb3N0X29uZSh1cGQpIC0gdnA5X2Nvc3RfemVybyh1cGQpOwogCiAgIGlmIChv
bGRfYiA+IHVwZF9jb3N0ICsgKE1JTl9ERUxQX0JJVFMgPDwgVlA5X1BST0JfQ09TVF9TSElGVCkp
IHsKICAgICBmb3IgKG5ld3AgPSAqYmVzdHA7IG5ld3AgIT0gb2xkcDsgbmV3cCArPSBzdGVwKSB7
Ci0gICAgICBjb25zdCBpbnQ2NF90IG5ld19iID0gY29zdF9icmFuY2gyNTYoY3QsIG5ld3ApOwot
ICAgICAgY29uc3QgaW50NjRfdCB1cGRhdGVfYiA9IHByb2JfZGlmZl91cGRhdGVfY29zdChuZXdw
LCBvbGRwKSArIHVwZF9jb3N0OwotICAgICAgY29uc3QgaW50NjRfdCBzYXZpbmdzID0gb2xkX2Ig
LSBuZXdfYiAtIHVwZGF0ZV9iOworICAgICAgY29uc3QgaW50IG5ld19iID0gY29zdF9icmFuY2gy
NTYoY3QsIG5ld3ApOworICAgICAgY29uc3QgaW50IHVwZGF0ZV9iID0gcHJvYl9kaWZmX3VwZGF0
ZV9jb3N0KG5ld3AsIG9sZHApICsgdXBkX2Nvc3Q7CisgICAgICBjb25zdCBpbnQgc2F2aW5ncyA9
IG9sZF9iIC0gbmV3X2IgLSB1cGRhdGVfYjsKICAgICAgIGlmIChzYXZpbmdzID4gYmVzdHNhdmlu
Z3MpIHsKICAgICAgICAgYmVzdHNhdmluZ3MgPSBzYXZpbmdzOwogICAgICAgICBiZXN0bmV3cCA9
IG5ld3A7CkBAIC0xMzgsMTUgKzEzNywxNSBAQCBpbnQ2NF90IHZwOV9wcm9iX2RpZmZfdXBkYXRl
X3NhdmluZ3Nfc2VhcmNoKGNvbnN0IHVuc2lnbmVkIGludCAqY3QsCiAgIHJldHVybiBiZXN0c2F2
aW5nczsKIH0KIAotaW50NjRfdCB2cDlfcHJvYl9kaWZmX3VwZGF0ZV9zYXZpbmdzX3NlYXJjaF9t
b2RlbChjb25zdCB1bnNpZ25lZCBpbnQgKmN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2cHhfcHJvYiBvbGRwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhfcHJvYiAqYmVzdHAsIHZw
eF9wcm9iIHVwZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0ZXBzaXplKSB7Ci0gIGludDY0X3QgaSwgb2xkX2IsIG5ld19iLCB1cGRhdGVf
Yiwgc2F2aW5ncywgYmVzdHNhdmluZ3M7Ci0gIGludDY0X3QgbmV3cDsKLSAgY29uc3QgaW50NjRf
dCBzdGVwX3NpZ24gPSAqYmVzdHAgPiBvbGRwID8gLTEgOiAxOwotICBjb25zdCBpbnQ2NF90IHN0
ZXAgPSBzdGVwc2l6ZSAqIHN0ZXBfc2lnbjsKLSAgY29uc3QgaW50NjRfdCB1cGRfY29zdCA9IHZw
OV9jb3N0X29uZSh1cGQpIC0gdnA5X2Nvc3RfemVybyh1cGQpOworaW50IHZwOV9wcm9iX2RpZmZf
dXBkYXRlX3NhdmluZ3Nfc2VhcmNoX21vZGVsKGNvbnN0IHVuc2lnbmVkIGludCAqY3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnB4X3Byb2Ig
b2xkcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhf
cHJvYiAqYmVzdHAsIHZweF9wcm9iIHVwZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3RlcHNpemUpIHsKKyAgaW50IGksIG9sZF9iLCBuZXdfYiwg
dXBkYXRlX2IsIHNhdmluZ3MsIGJlc3RzYXZpbmdzOworICBpbnQgbmV3cDsKKyAgY29uc3QgaW50
IHN0ZXBfc2lnbiA9ICpiZXN0cCA+IG9sZHAgPyAtMSA6IDE7CisgIGNvbnN0IGludCBzdGVwID0g
c3RlcHNpemUgKiBzdGVwX3NpZ247CisgIGNvbnN0IGludCB1cGRfY29zdCA9IHZwOV9jb3N0X29u
ZSh1cGQpIC0gdnA5X2Nvc3RfemVybyh1cGQpOwogICBjb25zdCB2cHhfcHJvYiAqbmV3cGxpc3Qs
ICpvbGRwbGlzdDsKICAgdnB4X3Byb2IgYmVzdG5ld3A7CiAgIG9sZHBsaXN0ID0gdnA5X3BhcmV0
bzhfZnVsbFtvbGRwIC0gMV07CkBAIC0xNjMsMTQgKzE2MiwxNCBAQCBpbnQ2NF90IHZwOV9wcm9i
X2RpZmZfdXBkYXRlX3NhdmluZ3Nfc2VhcmNoX21vZGVsKGNvbnN0IHVuc2lnbmVkIGludCAqY3Qs
CiAgICAgZm9yIChuZXdwID0gKmJlc3RwOyAobmV3cCAtIG9sZHApICogc3RlcF9zaWduIDwgMDsg
bmV3cCArPSBzdGVwKSB7CiAgICAgICBpZiAobmV3cCA8IDEgfHwgbmV3cCA+IDI1NSkgY29udGlu
dWU7CiAgICAgICBuZXdwbGlzdCA9IHZwOV9wYXJldG84X2Z1bGxbbmV3cCAtIDFdOwotICAgICAg
bmV3X2IgPSBjb3N0X2JyYW5jaDI1NihjdCArIDIgKiBQSVZPVF9OT0RFLCAodnB4X3Byb2IpbmV3
cCk7CisgICAgICBuZXdfYiA9IGNvc3RfYnJhbmNoMjU2KGN0ICsgMiAqIFBJVk9UX05PREUsIG5l
d3ApOwogICAgICAgZm9yIChpID0gVU5DT05TVFJBSU5FRF9OT0RFUzsgaSA8IEVOVFJPUFlfTk9E
RVM7ICsraSkKICAgICAgICAgbmV3X2IgKz0gY29zdF9icmFuY2gyNTYoY3QgKyAyICogaSwgbmV3
cGxpc3RbaSAtIFVOQ09OU1RSQUlORURfTk9ERVNdKTsKLSAgICAgIHVwZGF0ZV9iID0gcHJvYl9k
aWZmX3VwZGF0ZV9jb3N0KCh2cHhfcHJvYiluZXdwLCBvbGRwKSArIHVwZF9jb3N0OworICAgICAg
dXBkYXRlX2IgPSBwcm9iX2RpZmZfdXBkYXRlX2Nvc3QobmV3cCwgb2xkcCkgKyB1cGRfY29zdDsK
ICAgICAgIHNhdmluZ3MgPSBvbGRfYiAtIG5ld19iIC0gdXBkYXRlX2I7CiAgICAgICBpZiAoc2F2
aW5ncyA+IGJlc3RzYXZpbmdzKSB7CiAgICAgICAgIGJlc3RzYXZpbmdzID0gc2F2aW5nczsKLSAg
ICAgICAgYmVzdG5ld3AgPSAodnB4X3Byb2IpbmV3cDsKKyAgICAgICAgYmVzdG5ld3AgPSBuZXdw
OwogICAgICAgfQogICAgIH0KICAgfQpAQCAtMTgzLDcgKzE4Miw3IEBAIHZvaWQgdnA5X2NvbmRf
cHJvYl9kaWZmX3VwZGF0ZSh2cHhfd3JpdGVyICp3LCB2cHhfcHJvYiAqb2xkcCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgY3RbMl0pIHsKICAgY29u
c3QgdnB4X3Byb2IgdXBkID0gRElGRl9VUERBVEVfUFJPQjsKICAgdnB4X3Byb2IgbmV3cCA9IGdl
dF9iaW5hcnlfcHJvYihjdFswXSwgY3RbMV0pOwotICBjb25zdCBpbnQ2NF90IHNhdmluZ3MgPQor
ICBjb25zdCBpbnQgc2F2aW5ncyA9CiAgICAgICB2cDlfcHJvYl9kaWZmX3VwZGF0ZV9zYXZpbmdz
X3NlYXJjaChjdCwgKm9sZHAsICZuZXdwLCB1cGQpOwogICBhc3NlcnQobmV3cCA+PSAxKTsKICAg
aWYgKHNhdmluZ3MgPiAwKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3Zw
OV9zdWJleHAuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N1YmV4cC5oCmluZGV4IDJk
MDE2ZDI0YzVlZS4uZjBkNTQ0YjUyNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3ZwOV9zdWJleHAuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV9zdWJleHAu
aApAQCAtMjUsMTQgKzI1LDEzIEBAIHZvaWQgdnA5X3dyaXRlX3Byb2JfZGlmZl91cGRhdGUoc3Ry
dWN0IHZweF93cml0ZXIgKncsIHZweF9wcm9iIG5ld3AsCiB2b2lkIHZwOV9jb25kX3Byb2JfZGlm
Zl91cGRhdGUoc3RydWN0IHZweF93cml0ZXIgKncsIHZweF9wcm9iICpvbGRwLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBjdFsyXSk7CiAKLWludDY0
X3QgdnA5X3Byb2JfZGlmZl91cGRhdGVfc2F2aW5nc19zZWFyY2goY29uc3QgdW5zaWduZWQgaW50
ICpjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnB4X3By
b2Igb2xkcCwgdnB4X3Byb2IgKmJlc3RwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2cHhfcHJvYiB1cGQpOwotCi1pbnQ2NF90IHZwOV9wcm9iX2RpZmZfdXBk
YXRlX3NhdmluZ3Nfc2VhcmNoX21vZGVsKGNvbnN0IHVuc2lnbmVkIGludCAqY3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZweF9wcm9i
IG9sZHAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZweF9wcm9iICpiZXN0cCwgdnB4X3Byb2IgdXBkLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RlcHNpemUpOworaW50IHZwOV9wcm9iX2Rp
ZmZfdXBkYXRlX3NhdmluZ3Nfc2VhcmNoKGNvbnN0IHVuc2lnbmVkIGludCAqY3QsIHZweF9wcm9i
IG9sZHAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnB4X3Byb2Ig
KmJlc3RwLCB2cHhfcHJvYiB1cGQpOworCitpbnQgdnA5X3Byb2JfZGlmZl91cGRhdGVfc2F2aW5n
c19zZWFyY2hfbW9kZWwoY29uc3QgdW5zaWduZWQgaW50ICpjdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2cHhfcHJvYiBvbGRwLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9wcm9iICpiZXN0cCwg
dnB4X3Byb2IgdXBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzdGVwc2l6ZSk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0ZXJuICJD
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVyY29udGV4
dC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVyY29udGV4dC5jCmluZGV4
IDBkZjM0YmY0NTlhMC4uYjZjN2M3NGUxNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3ZwOV9zdmNfbGF5ZXJjb250ZXh0LmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rl
ci92cDlfc3ZjX2xheWVyY29udGV4dC5jCkBAIC0xMDcsNiArMTA3LDcgQEAgdm9pZCB2cDlfaW5p
dF9sYXllcl9jb250ZXh0KFZQOV9DT01QICpjb25zdCBjcGkpIHsKICAgICAgIGludCBsYXllciA9
IExBWUVSX0lEU19UT19JRFgoc2wsIHRsLCBveGNmLT50c19udW1iZXJfbGF5ZXJzKTsKICAgICAg
IExBWUVSX0NPTlRFWFQgKmNvbnN0IGxjID0gJnN2Yy0+bGF5ZXJfY29udGV4dFtsYXllcl07CiAg
ICAgICBSQVRFX0NPTlRST0wgKmNvbnN0IGxyYyA9ICZsYy0+cmM7CisgICAgICBpbnQgaTsKICAg
ICAgIGxjLT5jdXJyZW50X3ZpZGVvX2ZyYW1lX2luX2xheWVyID0gMDsKICAgICAgIGxjLT5sYXll
cl9zaXplID0gMDsKICAgICAgIGxjLT5mcmFtZXNfZnJvbV9rZXlfZnJhbWUgPSAwOwpAQCAtMTYz
LDE3ICsxNjQsMTcgQEAgdm9pZCB2cDlfaW5pdF9sYXllcl9jb250ZXh0KFZQOV9DT01QICpjb25z
dCBjcGkpIHsKICAgICAgICAgbGMtPmFjdHVhbF9udW1fc2VnMV9ibG9ja3MgPSAwOwogICAgICAg
ICBsYy0+YWN0dWFsX251bV9zZWcyX2Jsb2NrcyA9IDA7CiAgICAgICAgIGxjLT5jb3VudGVyX2Vu
Y29kZV9tYXhxX3NjZW5lX2NoYW5nZSA9IDA7Ci0gICAgICAgIENIRUNLX01FTV9FUlJPUigmY20t
PmVycm9yLCBsYy0+bWFwLAorICAgICAgICBDSEVDS19NRU1fRVJST1IoY20sIGxjLT5tYXAsCiAg
ICAgICAgICAgICAgICAgICAgICAgICB2cHhfbWFsbG9jKG1pX3Jvd3MgKiBtaV9jb2xzICogc2l6
ZW9mKCpsYy0+bWFwKSkpOwogICAgICAgICBtZW1zZXQobGMtPm1hcCwgMCwgbWlfcm93cyAqIG1p
X2NvbHMpOwogICAgICAgICBsYXN0X2NvZGVkX3FfbWFwX3NpemUgPQogICAgICAgICAgICAgbWlf
cm93cyAqIG1pX2NvbHMgKiBzaXplb2YoKmxjLT5sYXN0X2NvZGVkX3FfbWFwKTsKLSAgICAgICAg
Q0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGxjLT5sYXN0X2NvZGVkX3FfbWFwLAorICAgICAg
ICBDSEVDS19NRU1fRVJST1IoY20sIGxjLT5sYXN0X2NvZGVkX3FfbWFwLAogICAgICAgICAgICAg
ICAgICAgICAgICAgdnB4X21hbGxvYyhsYXN0X2NvZGVkX3FfbWFwX3NpemUpKTsKICAgICAgICAg
YXNzZXJ0KE1BWFEgPD0gMjU1KTsKICAgICAgICAgbWVtc2V0KGxjLT5sYXN0X2NvZGVkX3FfbWFw
LCBNQVhRLCBsYXN0X2NvZGVkX3FfbWFwX3NpemUpOwogICAgICAgICBjb25zZWNfemVyb19tdl9z
aXplID0gbWlfcm93cyAqIG1pX2NvbHMgKiBzaXplb2YoKmxjLT5jb25zZWNfemVyb19tdik7Ci0g
ICAgICAgIENIRUNLX01FTV9FUlJPUigmY20tPmVycm9yLCBsYy0+Y29uc2VjX3plcm9fbXYsCisg
ICAgICAgIENIRUNLX01FTV9FUlJPUihjbSwgbGMtPmNvbnNlY196ZXJvX212LAogICAgICAgICAg
ICAgICAgICAgICAgICAgdnB4X21hbGxvYyhjb25zZWNfemVyb19tdl9zaXplKSk7CiAgICAgICAg
IG1lbXNldChsYy0+Y29uc2VjX3plcm9fbXYsIDAsIGNvbnNlY196ZXJvX212X3NpemUpOwogICAg
ICAgfQpAQCAtMjE5LDkgKzIyMCw3IEBAIHZvaWQgdnA5X3VwZGF0ZV9sYXllcl9jb250ZXh0X2No
YW5nZV9jb25maWcoVlA5X0NPTVAgKmNvbnN0IGNwaSwKICAgICAgICAgUkFURV9DT05UUk9MICpj
b25zdCBscmMgPSAmbGMtPnJjOwogCiAgICAgICAgIGxjLT5zcGF0aWFsX2xheWVyX3RhcmdldF9i
YW5kd2lkdGggPSBzcGF0aWFsX2xheWVyX3RhcmdldDsKLSAgICAgICAgaWYgKHRhcmdldF9iYW5k
d2lkdGggIT0gMCkgewotICAgICAgICAgIGJpdHJhdGVfYWxsb2MgPSAoZmxvYXQpbGMtPnRhcmdl
dF9iYW5kd2lkdGggLyB0YXJnZXRfYmFuZHdpZHRoOwotICAgICAgICB9CisgICAgICAgIGJpdHJh
dGVfYWxsb2MgPSAoZmxvYXQpbGMtPnRhcmdldF9iYW5kd2lkdGggLyB0YXJnZXRfYmFuZHdpZHRo
OwogICAgICAgICBscmMtPnN0YXJ0aW5nX2J1ZmZlcl9sZXZlbCA9CiAgICAgICAgICAgICAoaW50
NjRfdCkocmMtPnN0YXJ0aW5nX2J1ZmZlcl9sZXZlbCAqIGJpdHJhdGVfYWxsb2MpOwogICAgICAg
ICBscmMtPm9wdGltYWxfYnVmZmVyX2xldmVsID0KQEAgLTIzMiw4ICsyMzEsNyBAQCB2b2lkIHZw
OV91cGRhdGVfbGF5ZXJfY29udGV4dF9jaGFuZ2VfY29uZmlnKFZQOV9DT01QICpjb25zdCBjcGks
CiAgICAgICAgICAgICBWUFhNSU4obHJjLT5iaXRzX29mZl90YXJnZXQsIGxyYy0+bWF4aW11bV9i
dWZmZXJfc2l6ZSk7CiAgICAgICAgIGxyYy0+YnVmZmVyX2xldmVsID0gVlBYTUlOKGxyYy0+YnVm
ZmVyX2xldmVsLCBscmMtPm1heGltdW1fYnVmZmVyX3NpemUpOwogICAgICAgICBsYy0+ZnJhbWVy
YXRlID0gY3BpLT5mcmFtZXJhdGUgLyBveGNmLT50c19yYXRlX2RlY2ltYXRvclt0bF07Ci0gICAg
ICAgIGxyYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCA9Ci0gICAgICAgICAgICAoaW50KVZQWE1JTihs
Yy0+dGFyZ2V0X2JhbmR3aWR0aCAvIGxjLT5mcmFtZXJhdGUsIElOVF9NQVgpOworICAgICAgICBs
cmMtPmF2Z19mcmFtZV9iYW5kd2lkdGggPSAoaW50KShsYy0+dGFyZ2V0X2JhbmR3aWR0aCAvIGxj
LT5mcmFtZXJhdGUpOwogICAgICAgICBscmMtPm1heF9mcmFtZV9iYW5kd2lkdGggPSByYy0+bWF4
X2ZyYW1lX2JhbmR3aWR0aDsKICAgICAgICAgbHJjLT53b3JzdF9xdWFsaXR5ID0gcmMtPndvcnN0
X3F1YWxpdHk7CiAgICAgICAgIGxyYy0+YmVzdF9xdWFsaXR5ID0gcmMtPmJlc3RfcXVhbGl0eTsK
QEAgLTI1NCw5ICsyNTIsNyBAQCB2b2lkIHZwOV91cGRhdGVfbGF5ZXJfY29udGV4dF9jaGFuZ2Vf
Y29uZmlnKFZQOV9DT01QICpjb25zdCBjcGksCiAKICAgICAgIGxjLT50YXJnZXRfYmFuZHdpZHRo
ID0gb3hjZi0+bGF5ZXJfdGFyZ2V0X2JpdHJhdGVbbGF5ZXJdOwogCi0gICAgICBpZiAodGFyZ2V0
X2JhbmR3aWR0aCAhPSAwKSB7Ci0gICAgICAgIGJpdHJhdGVfYWxsb2MgPSAoZmxvYXQpbGMtPnRh
cmdldF9iYW5kd2lkdGggLyB0YXJnZXRfYmFuZHdpZHRoOwotICAgICAgfQorICAgICAgYml0cmF0
ZV9hbGxvYyA9IChmbG9hdClsYy0+dGFyZ2V0X2JhbmR3aWR0aCAvIHRhcmdldF9iYW5kd2lkdGg7
CiAgICAgICAvLyBVcGRhdGUgYnVmZmVyLXJlbGF0ZWQgcXVhbnRpdGllcy4KICAgICAgIGxyYy0+
c3RhcnRpbmdfYnVmZmVyX2xldmVsID0KICAgICAgICAgICAoaW50NjRfdCkocmMtPnN0YXJ0aW5n
X2J1ZmZlcl9sZXZlbCAqIGJpdHJhdGVfYWxsb2MpOwpAQCAtMjczLDggKzI2OSw3IEBAIHZvaWQg
dnA5X3VwZGF0ZV9sYXllcl9jb250ZXh0X2NoYW5nZV9jb25maWcoVlA5X0NPTVAgKmNvbnN0IGNw
aSwKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIGxjLT5mcmFtZXJhdGUgPSBjcGktPmZyYW1lcmF0
ZTsKICAgICAgIH0KLSAgICAgIGxyYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCA9Ci0gICAgICAgICAg
KGludClWUFhNSU4obGMtPnRhcmdldF9iYW5kd2lkdGggLyBsYy0+ZnJhbWVyYXRlLCBJTlRfTUFY
KTsKKyAgICAgIGxyYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCA9IChpbnQpKGxjLT50YXJnZXRfYmFu
ZHdpZHRoIC8gbGMtPmZyYW1lcmF0ZSk7CiAgICAgICBscmMtPm1heF9mcmFtZV9iYW5kd2lkdGgg
PSByYy0+bWF4X2ZyYW1lX2JhbmR3aWR0aDsKICAgICAgIC8vIFVwZGF0ZSBxcC1yZWxhdGVkIHF1
YW50aXRpZXMuCiAgICAgICBscmMtPndvcnN0X3F1YWxpdHkgPSByYy0+d29yc3RfcXVhbGl0eTsK
QEAgLTI5NSw3ICsyOTAsNyBAQCB2b2lkIHZwOV91cGRhdGVfbGF5ZXJfY29udGV4dF9jaGFuZ2Vf
Y29uZmlnKFZQOV9DT01QICpjb25zdCBjcGksCiB9CiAKIHN0YXRpYyBMQVlFUl9DT05URVhUICpn
ZXRfbGF5ZXJfY29udGV4dChWUDlfQ09NUCAqY29uc3QgY3BpKSB7Ci0gIGlmIChpc19vbmVfcGFz
c19zdmMoY3BpKSkKKyAgaWYgKGlzX29uZV9wYXNzX2Nicl9zdmMoY3BpKSkKICAgICByZXR1cm4g
JmNwaS0+c3ZjLmxheWVyX2NvbnRleHRbY3BpLT5zdmMuc3BhdGlhbF9sYXllcl9pZCAqCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcGktPnN2Yy5udW1iZXJfdGVtcG9y
YWxfbGF5ZXJzICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BpLT5zdmMu
dGVtcG9yYWxfbGF5ZXJfaWRdOwpAQCAtMzE2LDggKzMxMSw3IEBAIHZvaWQgdnA5X3VwZGF0ZV90
ZW1wb3JhbF9sYXllcl9mcmFtZXJhdGUoVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogICBjb25zdCBp
bnQgdGwgPSBzdmMtPnRlbXBvcmFsX2xheWVyX2lkOwogCiAgIGxjLT5mcmFtZXJhdGUgPSBjcGkt
PmZyYW1lcmF0ZSAvIG94Y2YtPnRzX3JhdGVfZGVjaW1hdG9yW3RsXTsKLSAgbHJjLT5hdmdfZnJh
bWVfYmFuZHdpZHRoID0KLSAgICAgIChpbnQpVlBYTUlOKGxjLT50YXJnZXRfYmFuZHdpZHRoIC8g
bGMtPmZyYW1lcmF0ZSwgSU5UX01BWCk7CisgIGxyYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCA9IChp
bnQpKGxjLT50YXJnZXRfYmFuZHdpZHRoIC8gbGMtPmZyYW1lcmF0ZSk7CiAgIGxyYy0+bWF4X2Zy
YW1lX2JhbmR3aWR0aCA9IGNwaS0+cmMubWF4X2ZyYW1lX2JhbmR3aWR0aDsKICAgLy8gVXBkYXRl
IHRoZSBhdmVyYWdlIGxheWVyIGZyYW1lIHNpemUgKG5vbi1jdW11bGF0aXZlIHBlci1mcmFtZS1i
dykuCiAgIGlmICh0bCA9PSAwKSB7CkBAIC0zMjgsOCArMzIyLDggQEAgdm9pZCB2cDlfdXBkYXRl
X3RlbXBvcmFsX2xheWVyX2ZyYW1lcmF0ZShWUDlfQ09NUCAqY29uc3QgY3BpKSB7CiAgICAgY29u
c3QgaW50IHByZXZfbGF5ZXJfdGFyZ2V0X2JhbmR3aWR0aCA9CiAgICAgICAgIG94Y2YtPmxheWVy
X3RhcmdldF9iaXRyYXRlW3N0X2lkeCAtIDFdOwogICAgIGxjLT5hdmdfZnJhbWVfc2l6ZSA9Ci0g
ICAgICAgIChpbnQpcm91bmQoKGxjLT50YXJnZXRfYmFuZHdpZHRoIC0gcHJldl9sYXllcl90YXJn
ZXRfYmFuZHdpZHRoKSAvCi0gICAgICAgICAgICAgICAgICAgKGxjLT5mcmFtZXJhdGUgLSBwcmV2
X2xheWVyX2ZyYW1lcmF0ZSkpOworICAgICAgICAoaW50KSgobGMtPnRhcmdldF9iYW5kd2lkdGgg
LSBwcmV2X2xheWVyX3RhcmdldF9iYW5kd2lkdGgpIC8KKyAgICAgICAgICAgICAgKGxjLT5mcmFt
ZXJhdGUgLSBwcmV2X2xheWVyX2ZyYW1lcmF0ZSkpOwogICB9CiB9CiAKQEAgLTMzOSw4ICszMzMs
NyBAQCB2b2lkIHZwOV91cGRhdGVfc3BhdGlhbF9sYXllcl9mcmFtZXJhdGUoVlA5X0NPTVAgKmNv
bnN0IGNwaSwgZG91YmxlIGZyYW1lcmF0ZSkgewogICBSQVRFX0NPTlRST0wgKmNvbnN0IGxyYyA9
ICZsYy0+cmM7CiAKICAgbGMtPmZyYW1lcmF0ZSA9IGZyYW1lcmF0ZTsKLSAgbHJjLT5hdmdfZnJh
bWVfYmFuZHdpZHRoID0KLSAgICAgIChpbnQpVlBYTUlOKGxjLT50YXJnZXRfYmFuZHdpZHRoIC8g
bGMtPmZyYW1lcmF0ZSwgSU5UX01BWCk7CisgIGxyYy0+YXZnX2ZyYW1lX2JhbmR3aWR0aCA9IChp
bnQpKGxjLT50YXJnZXRfYmFuZHdpZHRoIC8gbGMtPmZyYW1lcmF0ZSk7CiAgIGxyYy0+bWluX2Zy
YW1lX2JhbmR3aWR0aCA9CiAgICAgICAoaW50KShscmMtPmF2Z19mcmFtZV9iYW5kd2lkdGggKiBv
eGNmLT50d29fcGFzc192YnJtaW5fc2VjdGlvbiAvIDEwMCk7CiAgIGxyYy0+bWF4X2ZyYW1lX2Jh
bmR3aWR0aCA9IChpbnQpKCgoaW50NjRfdClscmMtPmF2Z19mcmFtZV9iYW5kd2lkdGggKgpAQCAt
MzYxLDcgKzM1NCw3IEBAIHZvaWQgdnA5X3Jlc3RvcmVfbGF5ZXJfY29udGV4dChWUDlfQ09NUCAq
Y29uc3QgY3BpKSB7CiAgIGNwaS0+YWx0X3JlZl9zb3VyY2UgPSBsYy0+YWx0X3JlZl9zb3VyY2U7
CiAgIC8vIENoZWNrIGlmIGl0IGlzIG9uZV9wYXNzX2Nicl9zdmMgbW9kZSBhbmQgbGMtPnNwZWVk
ID4gMCAocmVhbC10aW1lIG1vZGUKICAgLy8gZG9lcyBub3QgdXNlIHNwZWVkID0gMCkuCi0gIGlm
IChpc19vbmVfcGFzc19zdmMoY3BpKSAmJiBsYy0+c3BlZWQgPiAwKSB7CisgIGlmIChpc19vbmVf
cGFzc19jYnJfc3ZjKGNwaSkgJiYgbGMtPnNwZWVkID4gMCkgewogICAgIGNwaS0+b3hjZi5zcGVl
ZCA9IGxjLT5zcGVlZDsKICAgfQogICBjcGktPmxvb3BmaWx0ZXJfY3RybCA9IGxjLT5sb29wZmls
dGVyX2N0cmw7CkBAIC0zOTYsOCArMzg5LDYgQEAgdm9pZCB2cDlfc2F2ZV9sYXllcl9jb250ZXh0
KFZQOV9DT01QICpjb25zdCBjcGkpIHsKICAgbGMtPnR3b3Bhc3MgPSBjcGktPnR3b3Bhc3M7CiAg
IGxjLT50YXJnZXRfYmFuZHdpZHRoID0gKGludClveGNmLT50YXJnZXRfYmFuZHdpZHRoOwogICBs
Yy0+YWx0X3JlZl9zb3VyY2UgPSBjcGktPmFsdF9yZWZfc291cmNlOwotICBsYy0+ZnJhbWVfcXAg
PSBjcGktPmNvbW1vbi5iYXNlX3FpbmRleDsKLSAgbGMtPk1CcyA9IGNwaS0+Y29tbW9uLk1CczsK
IAogICAvLyBGb3Igc3BhdGlhbC1zdmMsIGFsbG93IGN5Y2xpYy1yZWZyZXNoIHRvIGJlIGFwcGxp
ZWQgb24gdGhlIHNwYXRpYWwgbGF5ZXJzLAogICAvLyBmb3IgdGhlIGJhc2UgdGVtcG9yYWwgbGF5
ZXIuCkBAIC00MTcsOSArNDA4LDYgQEAgdm9pZCB2cDlfc2F2ZV9sYXllcl9jb250ZXh0KFZQOV9D
T01QICpjb25zdCBjcGkpIHsKICAgICBsYy0+YWN0dWFsX251bV9zZWcxX2Jsb2NrcyA9IGNyLT5h
Y3R1YWxfbnVtX3NlZzFfYmxvY2tzOwogICAgIGxjLT5hY3R1YWxfbnVtX3NlZzJfYmxvY2tzID0g
Y3ItPmFjdHVhbF9udW1fc2VnMl9ibG9ja3M7CiAgICAgbGMtPmNvdW50ZXJfZW5jb2RlX21heHFf
c2NlbmVfY2hhbmdlID0gY3ItPmNvdW50ZXJfZW5jb2RlX21heHFfc2NlbmVfY2hhbmdlOwotICAg
IGxjLT5xaW5kZXhfZGVsdGFbMF0gPSBjci0+cWluZGV4X2RlbHRhWzBdOwotICAgIGxjLT5xaW5k
ZXhfZGVsdGFbMV0gPSBjci0+cWluZGV4X2RlbHRhWzFdOwotICAgIGxjLT5xaW5kZXhfZGVsdGFb
Ml0gPSBjci0+cWluZGV4X2RlbHRhWzJdOwogICB9CiB9CiAKQEAgLTQ3NCwyNyArNDYyLDMwIEBA
IHN0YXRpYyB2b2lkIHJlc2V0X2ZiX2lkeF91bnVzZWQoVlA5X0NPTVAgKmNvbnN0IGNwaSkgewog
ICAvLyBmYl9pZHggZm9yIHRoYXQgcmVmZXJlbmNlIHRvIHRoZSBmaXJzdCBvbmUgdXNlZC9yZWZl
cmVuY2VkLgogICAvLyBUaGlzIGlzIHRvIGF2b2lkIHNldHRpbmcgZmJfaWR4IGZvciBhIHJlZmVy
ZW5jZSB0byBhIHNsb3QgdGhhdCBpcyBub3QKICAgLy8gdXNlZC9uZWVkZWQgKGkuZS4sIHNpbmNl
IHRoYXQgcmVmZXJlbmNlIGlzIG5vdCByZWZlcmVuY2VkIG9yIHJlZnJlc2hlZCkuCisgIHN0YXRp
YyBjb25zdCBpbnQgZmxhZ19saXN0WzRdID0geyAwLCBWUDlfTEFTVF9GTEFHLCBWUDlfR09MRF9G
TEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlA5X0FMVF9GTEFHIH07
CiAgIE1WX1JFRkVSRU5DRV9GUkFNRSByZWZfZnJhbWU7CiAgIE1WX1JFRkVSRU5DRV9GUkFNRSBm
aXJzdF9yZWYgPSAwOwogICBpbnQgZmlyc3RfZmJfaWR4ID0gMDsKICAgaW50IGZiX2lkeFszXSA9
IHsgY3BpLT5sc3RfZmJfaWR4LCBjcGktPmdsZF9mYl9pZHgsIGNwaS0+YWx0X2ZiX2lkeCB9Owog
ICBmb3IgKHJlZl9mcmFtZSA9IExBU1RfRlJBTUU7IHJlZl9mcmFtZSA8PSBBTFRSRUZfRlJBTUU7
IHJlZl9mcmFtZSsrKSB7Ci0gICAgaWYgKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgcmVmX2ZyYW1l
X3RvX2ZsYWcocmVmX2ZyYW1lKSkgeworICAgIGlmIChjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZs
YWdfbGlzdFtyZWZfZnJhbWVdKSB7CiAgICAgICBmaXJzdF9yZWYgPSByZWZfZnJhbWU7CiAgICAg
ICBmaXJzdF9mYl9pZHggPSBmYl9pZHhbcmVmX2ZyYW1lIC0gMV07CiAgICAgICBicmVhazsKICAg
ICB9CiAgIH0KICAgaWYgKGZpcnN0X3JlZiA+IDApIHsKLSAgICBpZiAoZmlyc3RfcmVmICE9IExB
U1RfRlJBTUUgJiYgIShjcGktPnJlZl9mcmFtZV9mbGFncyAmIFZQOV9MQVNUX0ZMQUcpICYmCisg
ICAgaWYgKGZpcnN0X3JlZiAhPSBMQVNUX0ZSQU1FICYmCisgICAgICAgICEoY3BpLT5yZWZfZnJh
bWVfZmxhZ3MgJiBmbGFnX2xpc3RbTEFTVF9GUkFNRV0pICYmCiAgICAgICAgICFjcGktPmV4dF9y
ZWZyZXNoX2xhc3RfZnJhbWUpCiAgICAgICBjcGktPmxzdF9mYl9pZHggPSBmaXJzdF9mYl9pZHg7
CiAgICAgZWxzZSBpZiAoZmlyc3RfcmVmICE9IEdPTERFTl9GUkFNRSAmJgotICAgICAgICAgICAg
ICEoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBWUDlfR09MRF9GTEFHKSAmJgorICAgICAgICAgICAg
ICEoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBmbGFnX2xpc3RbR09MREVOX0ZSQU1FXSkgJiYKICAg
ICAgICAgICAgICAhY3BpLT5leHRfcmVmcmVzaF9nb2xkZW5fZnJhbWUpCiAgICAgICBjcGktPmds
ZF9mYl9pZHggPSBmaXJzdF9mYl9pZHg7CiAgICAgZWxzZSBpZiAoZmlyc3RfcmVmICE9IEFMVFJF
Rl9GUkFNRSAmJgotICAgICAgICAgICAgICEoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBWUDlfQUxU
X0ZMQUcpICYmCisgICAgICAgICAgICAgIShjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlz
dFtBTFRSRUZfRlJBTUVdKSAmJgogICAgICAgICAgICAgICFjcGktPmV4dF9yZWZyZXNoX2FsdF9y
ZWZfZnJhbWUpCiAgICAgICBjcGktPmFsdF9mYl9pZHggPSBmaXJzdF9mYl9pZHg7CiAgIH0KQEAg
LTczOSw2ICs3MzAsOCBAQCBzdGF0aWMgdm9pZCBzZXRfZmxhZ3NfYW5kX2ZiX2lkeF9ieXBhc3Nf
dmlhX3NldF9yZWZfZnJhbWVfY29uZmlnKAogCiB2b2lkIHZwOV9jb3B5X2ZsYWdzX3JlZl91cGRh
dGVfaWR4KFZQOV9DT01QICpjb25zdCBjcGkpIHsKICAgU1ZDICpjb25zdCBzdmMgPSAmY3BpLT5z
dmM7CisgIHN0YXRpYyBjb25zdCBpbnQgZmxhZ19saXN0WzRdID0geyAwLCBWUDlfTEFTVF9GTEFH
LCBWUDlfR09MRF9GTEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlA5
X0FMVF9GTEFHIH07CiAgIGludCBzbCA9IHN2Yy0+c3BhdGlhbF9sYXllcl9pZDsKICAgc3ZjLT5s
c3RfZmJfaWR4W3NsXSA9IGNwaS0+bHN0X2ZiX2lkeDsKICAgc3ZjLT5nbGRfZmJfaWR4W3NsXSA9
IGNwaS0+Z2xkX2ZiX2lkeDsKQEAgLTc2MSwxMiArNzU0LDE1IEBAIHZvaWQgdnA5X2NvcHlfZmxh
Z3NfcmVmX3VwZGF0ZV9pZHgoVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogICBzdmMtPnVwZGF0ZV9n
b2xkZW5bc2xdID0gKHVpbnQ4X3QpY3BpLT5yZWZyZXNoX2dvbGRlbl9mcmFtZTsKICAgc3ZjLT51
cGRhdGVfYWx0cmVmW3NsXSA9ICh1aW50OF90KWNwaS0+cmVmcmVzaF9hbHRfcmVmX2ZyYW1lOwog
Ci0gIHN2Yy0+cmVmZXJlbmNlX2xhc3Rbc2xdID0gKHVpbnQ4X3QpKGNwaS0+cmVmX2ZyYW1lX2Zs
YWdzICYgVlA5X0xBU1RfRkxBRyk7Ci0gIHN2Yy0+cmVmZXJlbmNlX2dvbGRlbltzbF0gPSAodWlu
dDhfdCkoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBWUDlfR09MRF9GTEFHKTsKLSAgc3ZjLT5yZWZl
cmVuY2VfYWx0cmVmW3NsXSA9ICh1aW50OF90KShjcGktPnJlZl9mcmFtZV9mbGFncyAmIFZQOV9B
TFRfRkxBRyk7CisgIHN2Yy0+cmVmZXJlbmNlX2xhc3Rbc2xdID0KKyAgICAgICh1aW50OF90KShj
cGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlzdFtMQVNUX0ZSQU1FXSk7CisgIHN2Yy0+cmVm
ZXJlbmNlX2dvbGRlbltzbF0gPQorICAgICAgKHVpbnQ4X3QpKGNwaS0+cmVmX2ZyYW1lX2ZsYWdz
ICYgZmxhZ19saXN0W0dPTERFTl9GUkFNRV0pOworICBzdmMtPnJlZmVyZW5jZV9hbHRyZWZbc2xd
ID0KKyAgICAgICh1aW50OF90KShjcGktPnJlZl9mcmFtZV9mbGFncyAmIGZsYWdfbGlzdFtBTFRS
RUZfRlJBTUVdKTsKIH0KIAotaW50IHZwOV9vbmVfcGFzc19zdmNfc3RhcnRfbGF5ZXIoVlA5X0NP
TVAgKmNvbnN0IGNwaSkgeworaW50IHZwOV9vbmVfcGFzc19jYnJfc3ZjX3N0YXJ0X2xheWVyKFZQ
OV9DT01QICpjb25zdCBjcGkpIHsKICAgaW50IHdpZHRoID0gMCwgaGVpZ2h0ID0gMDsKICAgU1ZD
ICpjb25zdCBzdmMgPSAmY3BpLT5zdmM7CiAgIExBWUVSX0NPTlRFWFQgKmxjID0gTlVMTDsKQEAg
LTgwMiw5ICs3OTgsOSBAQCBpbnQgdnA5X29uZV9wYXNzX3N2Y19zdGFydF9sYXllcihWUDlfQ09N
UCAqY29uc3QgY3BpKSB7CiAgICAgICBmb3IgKHNsID0gc3ZjLT5udW1iZXJfc3BhdGlhbF9sYXll
cnMgLSAxOwogICAgICAgICAgICBzbCA+PSBzdmMtPmZpcnN0X3NwYXRpYWxfbGF5ZXJfdG9fZW5j
b2RlOyBzbC0tKSB7CiAgICAgICAgIGludCBsYXllciA9IHNsICogc3ZjLT5udW1iZXJfdGVtcG9y
YWxfbGF5ZXJzICsgc3ZjLT50ZW1wb3JhbF9sYXllcl9pZDsKLSAgICAgICAgTEFZRVJfQ09OVEVY
VCAqY29uc3Qgc2xfbGMgPSAmc3ZjLT5sYXllcl9jb250ZXh0W2xheWVyXTsKLSAgICAgICAgY3Bp
LT5yYyA9IHNsX2xjLT5yYzsKLSAgICAgICAgY3BpLT5veGNmLnRhcmdldF9iYW5kd2lkdGggPSBz
bF9sYy0+dGFyZ2V0X2JhbmR3aWR0aDsKKyAgICAgICAgTEFZRVJfQ09OVEVYVCAqY29uc3QgbGMg
PSAmc3ZjLT5sYXllcl9jb250ZXh0W2xheWVyXTsKKyAgICAgICAgY3BpLT5yYyA9IGxjLT5yYzsK
KyAgICAgICAgY3BpLT5veGNmLnRhcmdldF9iYW5kd2lkdGggPSBsYy0+dGFyZ2V0X2JhbmR3aWR0
aDsKICAgICAgICAgaWYgKHZwOV90ZXN0X2Ryb3AoY3BpKSkgewogICAgICAgICAgIGludCBzbDI7
CiAgICAgICAgICAgLy8gU2V0IGZsYWcgdG8gZm9yY2UgZHJvcCBpbiBlbmNvZGluZyBmb3IgdGhp
cyBtb2RlLgpAQCAtOTA2LDEwICs5MDIsNiBAQCBpbnQgdnA5X29uZV9wYXNzX3N2Y19zdGFydF9s
YXllcihWUDlfQ09NUCAqY29uc3QgY3BpKSB7CiAgICAgUkFURV9DT05UUk9MICpjb25zdCBscmMg
PSAmbGMtPnJjOwogICAgIGxyYy0+d29yc3RfcXVhbGl0eSA9IHZwOV9xdWFudGl6ZXJfdG9fcWlu
ZGV4KGxjLT5tYXhfcSk7CiAgICAgbHJjLT5iZXN0X3F1YWxpdHkgPSB2cDlfcXVhbnRpemVyX3Rv
X3FpbmRleChsYy0+bWluX3EpOwotICAgIGlmIChjcGktPmZpeGVkX3FwX29uZXBhc3MpIHsKLSAg
ICAgIGxyYy0+d29yc3RfcXVhbGl0eSA9IGNwaS0+cmMud29yc3RfcXVhbGl0eTsKLSAgICAgIGxy
Yy0+YmVzdF9xdWFsaXR5ID0gY3BpLT5yYy5iZXN0X3F1YWxpdHk7Ci0gICAgfQogICB9CiAKICAg
aWYgKGNwaS0+b3hjZi5yZXNpemVfbW9kZSA9PSBSRVNJWkVfRFlOQU1JQyAmJiBzdmMtPnNpbmds
ZV9sYXllcl9zdmMgPT0gMSAmJgpAQCAtOTY0LDcgKzk1Niw3IEBAIGludCB2cDlfb25lX3Bhc3Nf
c3ZjX3N0YXJ0X2xheWVyKFZQOV9DT01QICpjb25zdCBjcGkpIHsKICAgaWYgKGNwaS0+Y29tbW9u
LmZyYW1lX3R5cGUgIT0gS0VZX0ZSQU1FICYmICFjcGktPmV4dF9yZWZyZXNoX2xhc3RfZnJhbWUg
JiYKICAgICAgICFjcGktPmV4dF9yZWZyZXNoX2dvbGRlbl9mcmFtZSAmJiAhY3BpLT5leHRfcmVm
cmVzaF9hbHRfcmVmX2ZyYW1lKQogICAgIHN2Yy0+bm9uX3JlZmVyZW5jZV9mcmFtZSA9IDE7Ci0g
IC8vIEZvciBmbGV4aWJsZSBtb2RlLCB3aGVyZSB1cGRhdGVfYnVmZmVyX3Nsb3QgaXMgdXNlZCwg
bmVlZCB0byBjaGVjayBpZgorICAvLyBGb3Igbm9uLWZsZXhpYmxlIG1vZGUsIHdoZXJlIHVwZGF0
ZV9idWZmZXJfc2xvdCBpcyB1c2VkLCBuZWVkIHRvIGNoZWNrIGlmCiAgIC8vIGFsbCBidWZmZXIg
c2xvdHMgYXJlIG5vdCByZWZyZXNoZWQuCiAgIGlmIChzdmMtPnRlbXBvcmFsX2xheWVyaW5nX21v
ZGUgPT0gVlA5RV9URU1QT1JBTF9MQVlFUklOR19NT0RFX0JZUEFTUykgewogICAgIGlmIChzdmMt
PnVwZGF0ZV9idWZmZXJfc2xvdFtzdmMtPnNwYXRpYWxfbGF5ZXJfaWRdICE9IDApCkBAIC0xMDUz
LDE3ICsxMDQ1LDE3IEBAIHZvaWQgdnA5X3N2Y19jaGVja19yZXNldF9sYXllcl9yY19mbGFnKFZQ
OV9DT01QICpjb25zdCBjcGkpIHsKICAgaW50IHNsLCB0bDsKICAgZm9yIChzbCA9IDA7IHNsIDwg
c3ZjLT5udW1iZXJfc3BhdGlhbF9sYXllcnM7ICsrc2wpIHsKICAgICAvLyBDaGVjayBmb3IgcmVz
ZXQgYmFzZWQgb24gYXZnX2ZyYW1lX2JhbmR3aWR0aCBmb3Igc3BhdGlhbCBsYXllciBzbC4KLSAg
ICBjb25zdCBpbnQgc3BhdGlhbF9sYXllcl9pZHggPSBMQVlFUl9JRFNfVE9fSURYKAotICAgICAg
ICBzbCwgc3ZjLT5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzIC0gMSwgc3ZjLT5udW1iZXJfdGVtcG9y
YWxfbGF5ZXJzKTsKLSAgICBMQVlFUl9DT05URVhUICpsYyA9ICZzdmMtPmxheWVyX2NvbnRleHRb
c3BhdGlhbF9sYXllcl9pZHhdOworICAgIGludCBsYXllciA9IExBWUVSX0lEU19UT19JRFgoc2ws
IHN2Yy0+bnVtYmVyX3RlbXBvcmFsX2xheWVycyAtIDEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdmMtPm51bWJlcl90ZW1wb3JhbF9sYXllcnMpOworICAgIExBWUVSX0NPTlRF
WFQgKmxjID0gJnN2Yy0+bGF5ZXJfY29udGV4dFtsYXllcl07CiAgICAgUkFURV9DT05UUk9MICps
cmMgPSAmbGMtPnJjOwogICAgIGlmIChscmMtPmF2Z19mcmFtZV9iYW5kd2lkdGggPiAoMyAqIGxy
Yy0+bGFzdF9hdmdfZnJhbWVfYmFuZHdpZHRoID4+IDEpIHx8CiAgICAgICAgIGxyYy0+YXZnX2Zy
YW1lX2JhbmR3aWR0aCA8IChscmMtPmxhc3RfYXZnX2ZyYW1lX2JhbmR3aWR0aCA+PiAxKSkgewog
ICAgICAgLy8gUmVzZXQgZm9yIGFsbCB0ZW1wb3JhbCBsYXllcnMgd2l0aCBzcGF0aWFsIGxheWVy
IHNsLgogICAgICAgZm9yICh0bCA9IDA7IHRsIDwgc3ZjLT5udW1iZXJfdGVtcG9yYWxfbGF5ZXJz
OyArK3RsKSB7Ci0gICAgICAgIGludCB0ZW1wb3JhbF9sYXllcl9pZHggPQotICAgICAgICAgICAg
TEFZRVJfSURTX1RPX0lEWChzbCwgdGwsIHN2Yy0+bnVtYmVyX3RlbXBvcmFsX2xheWVycyk7Ci0g
ICAgICAgIGxyYyA9ICZzdmMtPmxheWVyX2NvbnRleHRbdGVtcG9yYWxfbGF5ZXJfaWR4XS5yYzsK
KyAgICAgICAgaW50IGxheWVyID0gTEFZRVJfSURTX1RPX0lEWChzbCwgdGwsIHN2Yy0+bnVtYmVy
X3RlbXBvcmFsX2xheWVycyk7CisgICAgICAgIExBWUVSX0NPTlRFWFQgKmxjID0gJnN2Yy0+bGF5
ZXJfY29udGV4dFtsYXllcl07CisgICAgICAgIFJBVEVfQ09OVFJPTCAqbHJjID0gJmxjLT5yYzsK
ICAgICAgICAgbHJjLT5yY18xX2ZyYW1lID0gMDsKICAgICAgICAgbHJjLT5yY18yX2ZyYW1lID0g
MDsKICAgICAgICAgbHJjLT5iaXRzX29mZl90YXJnZXQgPSBscmMtPm9wdGltYWxfYnVmZmVyX2xl
dmVsOwpAQCAtMTA4OCwxNCArMTA4MCwxNSBAQCB2b2lkIHZwOV9zdmNfY29uc3RyYWluX2ludGVy
X2xheWVyX3ByZWQoVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogICAgICAgc3ZjLT5kaXNhYmxlX2lu
dGVyX2xheWVyX3ByZWQgPT0gSU5URVJfTEFZRVJfUFJFRF9PRkYgfHwKICAgICAgIHN2Yy0+ZHJv
cF9zcGF0aWFsX2xheWVyW3NsIC0gMV0pIHsKICAgICBNVl9SRUZFUkVOQ0VfRlJBTUUgcmVmX2Zy
YW1lOworICAgIHN0YXRpYyBjb25zdCBpbnQgZmxhZ19saXN0WzRdID0geyAwLCBWUDlfTEFTVF9G
TEFHLCBWUDlfR09MRF9GTEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBWUDlfQUxUX0ZMQUcgfTsKICAgICBmb3IgKHJlZl9mcmFtZSA9IExBU1RfRlJBTUU7IHJlZl9m
cmFtZSA8PSBBTFRSRUZfRlJBTUU7ICsrcmVmX2ZyYW1lKSB7CiAgICAgICBjb25zdCBZVjEyX0JV
RkZFUl9DT05GSUcgKnl2MTIgPSBnZXRfcmVmX2ZyYW1lX2J1ZmZlcihjcGksIHJlZl9mcmFtZSk7
Ci0gICAgICBpZiAoeXYxMiAhPSBOVUxMICYmCi0gICAgICAgICAgKGNwaS0+cmVmX2ZyYW1lX2Zs
YWdzICYgcmVmX2ZyYW1lX3RvX2ZsYWcocmVmX2ZyYW1lKSkpIHsKKyAgICAgIGlmICh5djEyICE9
IE5VTEwgJiYgKGNwaS0+cmVmX2ZyYW1lX2ZsYWdzICYgZmxhZ19saXN0W3JlZl9mcmFtZV0pKSB7
CiAgICAgICAgIGNvbnN0IHN0cnVjdCBzY2FsZV9mYWN0b3JzICpjb25zdCBzY2FsZV9mYWMgPQog
ICAgICAgICAgICAgJmNtLT5mcmFtZV9yZWZzW3JlZl9mcmFtZSAtIDFdLnNmOwogICAgICAgICBp
ZiAodnA5X2lzX3NjYWxlZChzY2FsZV9mYWMpKSB7Ci0gICAgICAgICAgY3BpLT5yZWZfZnJhbWVf
ZmxhZ3MgJj0gKH5yZWZfZnJhbWVfdG9fZmxhZyhyZWZfZnJhbWUpKTsKKyAgICAgICAgICBjcGkt
PnJlZl9mcmFtZV9mbGFncyAmPSAofmZsYWdfbGlzdFtyZWZfZnJhbWVdKTsKICAgICAgICAgICAv
LyBQb2ludCBnb2xkZW4vYWx0cmVmIGZyYW1lIGJ1ZmZlciBpbmRleCB0byBsYXN0LgogICAgICAg
ICAgIGlmICghc3ZjLT5zaW11bGNhc3RfbW9kZSkgewogICAgICAgICAgICAgaWYgKHJlZl9mcmFt
ZSA9PSBHT0xERU5fRlJBTUUpCkBAIC0xMTQ5LDcgKzExNDIsNyBAQCB2b2lkIHZwOV9zdmNfY29u
c3RyYWluX2ludGVyX2xheWVyX3ByZWQoVlA5X0NPTVAgKmNvbnN0IGNwaSkgewogdm9pZCB2cDlf
c3ZjX2Fzc2VydF9jb25zdHJhaW50c19wYXR0ZXJuKFZQOV9DT01QICpjb25zdCBjcGkpIHsKICAg
U1ZDICpjb25zdCBzdmMgPSAmY3BpLT5zdmM7CiAgIC8vIEZvciBmaXhlZC9ub24tZmxleGlibGUg
bW9kZSwgdGhlIGZvbGxvd2luZyBjb25zdHJhaW50IGFyZSBleHBlY3RlZCwKLSAgLy8gd2hlbiBp
bnRlci1sYXllciBwcmVkaWN0aW9uIGlzIG9uIChkZWZhdWx0KS4KKyAgLy8gd2hlbiBpbnRlci1s
YXllciBwcmVkaWNpdG9uIGlzIG9uIChkZWZhdWx0KS4KICAgaWYgKHN2Yy0+dGVtcG9yYWxfbGF5
ZXJpbmdfbW9kZSAhPSBWUDlFX1RFTVBPUkFMX0xBWUVSSU5HX01PREVfQllQQVNTICYmCiAgICAg
ICBzdmMtPmRpc2FibGVfaW50ZXJfbGF5ZXJfcHJlZCA9PSBJTlRFUl9MQVlFUl9QUkVEX09OICYm
CiAgICAgICBzdmMtPmZyYW1lZHJvcF9tb2RlICE9IExBWUVSX0RST1ApIHsKQEAgLTEyNTAsNyAr
MTI0Myw2IEBAIHZvaWQgdnA5X3N2Y19jaGVja19zcGF0aWFsX2xheWVyX3N5bmMoVlA5X0NPTVAg
KmNvbnN0IGNwaSkgewogCiB2b2lkIHZwOV9zdmNfdXBkYXRlX3JlZl9mcmFtZV9idWZmZXJfaWR4
KFZQOV9DT01QICpjb25zdCBjcGkpIHsKICAgU1ZDICpjb25zdCBzdmMgPSAmY3BpLT5zdmM7Ci0g
IGludCBpID0gMDsKICAgLy8gVXBkYXRlIHRoZSB1c2FnZSBvZiBmcmFtZSBidWZmZXIgaW5kZXgg
Zm9yIGJhc2Ugc3BhdGlhbCBsYXllcnMuCiAgIGlmIChzdmMtPnNwYXRpYWxfbGF5ZXJfaWQgPT0g
MCkgewogICAgIGlmICgoY3BpLT5yZWZfZnJhbWVfZmxhZ3MgJiBWUDlfTEFTVF9GTEFHKSB8fCBj
cGktPnJlZnJlc2hfbGFzdF9mcmFtZSkKQEAgLTEyNTksMTEgKzEyNTEsNiBAQCB2b2lkIHZwOV9z
dmNfdXBkYXRlX3JlZl9mcmFtZV9idWZmZXJfaWR4KFZQOV9DT01QICpjb25zdCBjcGkpIHsKICAg
ICAgIHN2Yy0+ZmJfaWR4X2Jhc2VbY3BpLT5nbGRfZmJfaWR4XSA9IDE7CiAgICAgaWYgKChjcGkt
PnJlZl9mcmFtZV9mbGFncyAmIFZQOV9BTFRfRkxBRykgfHwgY3BpLT5yZWZyZXNoX2FsdF9yZWZf
ZnJhbWUpCiAgICAgICBzdmMtPmZiX2lkeF9iYXNlW2NwaS0+YWx0X2ZiX2lkeF0gPSAxOwotICAg
IC8vIEZvciBieXBhc3MvZmxleGlibGUgbW9kZTogY2hlY2sgZm9yIHJlZnJlc2ggc2xvdHMuCi0g
ICAgaWYgKHN2Yy0+dGVtcG9yYWxfbGF5ZXJpbmdfbW9kZSA9PSBWUDlFX1RFTVBPUkFMX0xBWUVS
SU5HX01PREVfQllQQVNTKSB7Ci0gICAgICBmb3IgKGkgPSAwOyBpIDwgUkVGX0ZSQU1FUzsgKytp
KQotICAgICAgICBpZiAoc3ZjLT51cGRhdGVfYnVmZmVyX3Nsb3RbMF0gJiAoMSA8PCBpKSkgc3Zj
LT5mYl9pZHhfYmFzZVtpXSA9IDE7Ci0gICAgfQogICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaCBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5
L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRleHQuaAppbmRleCA5MGRlYzVlMjBhM2EuLmIxMmU3
ZTAxYTc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfc3ZjX2xheWVy
Y29udGV4dC5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3N2Y19sYXllcmNvbnRl
eHQuaApAQCAtNzAsMTEgKzcwLDggQEAgdHlwZWRlZiBzdHJ1Y3QgewogICBpbnQgYWN0dWFsX251
bV9zZWcxX2Jsb2NrczsKICAgaW50IGFjdHVhbF9udW1fc2VnMl9ibG9ja3M7CiAgIGludCBjb3Vu
dGVyX2VuY29kZV9tYXhxX3NjZW5lX2NoYW5nZTsKLSAgaW50IHFpbmRleF9kZWx0YVszXTsKICAg
dWludDhfdCBzcGVlZDsKICAgaW50IGxvb3BmaWx0ZXJfY3RybDsKLSAgaW50IGZyYW1lX3FwOwot
ICBpbnQgTUJzOwogfSBMQVlFUl9DT05URVhUOwogCiB0eXBlZGVmIHN0cnVjdCBTVkMgewpAQCAt
MTc2LDggKzE3Myw2IEBAIHR5cGVkZWYgc3RydWN0IFNWQyB7CiAgIHVpbnQ4X3QgZmJfaWR4X3Rl
bXBvcmFsX2xheWVyX2lkW1JFRl9GUkFNRVNdOwogCiAgIGludCBzcGF0aWFsX2xheWVyX3N5bmNb
VlBYX1NTX01BWF9MQVlFUlNdOwotICAvLyBRdWFudGl6ZXIgZm9yIGVhY2ggc3BhdGlhbCBsYXll
ci4KLSAgaW50IGJhc2VfcWluZGV4W1ZQWF9TU19NQVhfTEFZRVJTXTsKICAgdWludDhfdCBzZXRf
aW50cmFfb25seV9mcmFtZTsKICAgdWludDhfdCBwcmV2aW91c19mcmFtZV9pc19pbnRyYV9vbmx5
OwogICB1aW50OF90IHN1cGVyZnJhbWVfaGFzX2xheWVyX3N5bmM7CkBAIC0yNTgsNyArMjUzLDcg
QEAgaW50IHZwOV9kZW5vaXNlX3N2Y19ub25fa2V5KHN0cnVjdCBWUDlfQ09NUCAqY29uc3QgY3Bp
KTsKIAogdm9pZCB2cDlfY29weV9mbGFnc19yZWZfdXBkYXRlX2lkeChzdHJ1Y3QgVlA5X0NPTVAg
KmNvbnN0IGNwaSk7CiAKLWludCB2cDlfb25lX3Bhc3Nfc3ZjX3N0YXJ0X2xheWVyKHN0cnVjdCBW
UDlfQ09NUCAqY29uc3QgY3BpKTsKK2ludCB2cDlfb25lX3Bhc3NfY2JyX3N2Y19zdGFydF9sYXll
cihzdHJ1Y3QgVlA5X0NPTVAgKmNvbnN0IGNwaSk7CiAKIHZvaWQgdnA5X2ZyZWVfc3ZjX2N5Y2xp
Y19yZWZyZXNoKHN0cnVjdCBWUDlfQ09NUCAqY29uc3QgY3BpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZW5jb2Rlci92cDlfdGVtcG9yYWxfZmlsdGVyLmMgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXIuYwppbmRleCA5ODY1NTNhNGE4NWEuLjNhMTI2
MmVhNWYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdGVtcG9yYWxf
ZmlsdGVyLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdGVtcG9yYWxfZmlsdGVy
LmMKQEAgLTQ1MCw2ICs0NTAsOCBAQCB2b2lkIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmls
dGVyX2MoCiAgIC8vIEFwcGx5IHRoZSBmaWx0ZXIgdG8gbHVtYQogICBmb3IgKHJvdyA9IDA7IHJv
dyA8IChpbnQpYmxvY2tfaGVpZ2h0OyByb3crKykgewogICAgIGZvciAoY29sID0gMDsgY29sIDwg
KGludClibG9ja193aWR0aDsgY29sKyspIHsKKyAgICAgIGNvbnN0IGludCB1dl9yb3cgPSByb3cg
Pj4gc3NfeTsKKyAgICAgIGNvbnN0IGludCB1dl9jb2wgPSBjb2wgPj4gc3NfeDsKICAgICAgIGNv
bnN0IGludCBmaWx0ZXJfd2VpZ2h0ID0gZ2V0X2ZpbHRlcl93ZWlnaHQoCiAgICAgICAgICAgcm93
LCBjb2wsIGJsb2NrX2hlaWdodCwgYmxvY2tfd2lkdGgsIGJsa19mdywgdXNlXzMyeDMyKTsKIApA
QCAtNDc0LDggKzQ3Niw2IEBAIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJf
YygKIAogICAgICAgLy8gU3VtIHRoZSBjb3JyZXNwb25kaW5nIHV2IHBpeGVscyB0byB0aGUgY3Vy
cmVudCB5IG1vZGlmaWVyCiAgICAgICAvLyBOb3RlIHdlIGFyZSByb3VuZGluZyBkb3duIGluc3Rl
YWQgb2Ygcm91bmRpbmcgdG8gdGhlIG5lYXJlc3QgcGl4ZWwuCi0gICAgICB1dl9yb3cgPSByb3cg
Pj4gc3NfeTsKLSAgICAgIHV2X2NvbCA9IGNvbCA+PiBzc194OwogICAgICAgeV9tb2QgKz0gdV9k
aWZmX3NzZVt1dl9yb3cgKiB1dl9kaWZmX3N0cmlkZSArIHV2X2NvbF07CiAgICAgICB5X21vZCAr
PSB2X2RpZmZfc3NlW3V2X3JvdyAqIHV2X2RpZmZfc3RyaWRlICsgdXZfY29sXTsKIApAQCAtNzc3
LDE2ICs3NzcsMTYgQEAgdm9pZCB2cDlfdGVtcG9yYWxfZmlsdGVyX2l0ZXJhdGVfcm93X2MoVlA5
X0NPTVAgKmNwaSwgVGhyZWFkRGF0YSAqdGQsCiAgICAgICAgICAgLy8gQXNzaWduIGhpZ2hlciB3
ZWlnaHQgdG8gbWF0Y2hpbmcgTUIgaWYgaXQncyBlcnJvcgogICAgICAgICAgIC8vIHNjb3JlIGlz
IGxvd2VyLiBJZiBub3QgYXBwbHlpbmcgTUMgZGVmYXVsdCBiZWhhdmlvcgogICAgICAgICAgIC8v
IGlzIHRvIHdlaWdodCBhbGwgTUJzIGVxdWFsLgotICAgICAgICAgIGJsa19md1swXSA9IGVyciA8
ICh0aHJlc2hfbG93IDw8IFRIUl9TSElGVCkgICAgPyAyCi0gICAgICAgICAgICAgICAgICAgICAg
OiBlcnIgPCAodGhyZXNoX2hpZ2ggPDwgVEhSX1NISUZUKSA/IDEKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMDsKKyAgICAgICAgICBi
bGtfZndbMF0gPSBlcnIgPCAodGhyZXNoX2xvdyA8PCBUSFJfU0hJRlQpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgID8gMgorICAgICAgICAgICAgICAgICAgICAgICAgICA6IGVyciA8ICh0aHJl
c2hfaGlnaCA8PCBUSFJfU0hJRlQpID8gMSA6IDA7CiAgICAgICAgICAgYmxrX2Z3WzFdID0gYmxr
X2Z3WzJdID0gYmxrX2Z3WzNdID0gYmxrX2Z3WzBdOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgIHVzZV8zMngzMiA9IDA7CiAgICAgICAgICAgZm9yIChrID0gMDsgayA8IDQ7IGsrKykKLSAg
ICAgICAgICAgIGJsa19md1trXSA9IGJsa19iZXN0c21lW2tdIDwgdGhyZXNoX2xvdyAgICA/IDIK
LSAgICAgICAgICAgICAgICAgICAgICAgIDogYmxrX2Jlc3RzbWVba10gPCB0aHJlc2hfaGlnaCA/
IDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IDA7CisgICAgICAgICAgICBibGtfZndba10gPSBibGtfYmVzdHNtZVtrXSA8IHRocmVzaF9s
b3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IDIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6IGJsa19iZXN0c21lW2tdIDwgdGhyZXNoX2hpZ2ggPyAxIDogMDsKICAgICAgICAg
fQogCiAgICAgICAgIGZvciAoayA9IDA7IGsgPCA0OyBrKyspIHsKQEAgLTk5NSw2ICs5OTUsNyBA
QCB2b2lkIHZwOV90ZW1wb3JhbF9maWx0ZXJfaXRlcmF0ZV9yb3dfYyhWUDlfQ09NUCAqY3BpLCBU
aHJlYWREYXRhICp0ZCwKICAgfQogfQogCisjaWYgIUNPTkZJR19SRUFMVElNRV9PTkxZIC8vIFdF
QlJUQ19XRUJLSVRfQlVJTEQKIHN0YXRpYyB2b2lkIHRlbXBvcmFsX2ZpbHRlcl9pdGVyYXRlX3Rp
bGVfYyhWUDlfQ09NUCAqY3BpLCBpbnQgdGlsZV9yb3csCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHRpbGVfY29sKSB7CiAgIFZQOV9DT01NT04gKmNvbnN0
IGNtID0gJmNwaS0+Y29tbW9uOwpAQCAtMTIwMywzICsxMjA0LDQgQEAgdm9pZCB2cDlfdGVtcG9y
YWxfZmlsdGVyKFZQOV9DT01QICpjcGksIGludCBkaXN0YW5jZSkgewogICBlbHNlCiAgICAgdnA5
X3RlbXBvcmFsX2ZpbHRlcl9yb3dfbXQoY3BpKTsKIH0KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvZW5jb2Rlci92cDlfdG9rZW5pemUuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIvdnA5X3Rva2VuaXplLmMKaW5kZXggNmM2YzA0NDkzZmQzLi44MTRkNzY5YmUzODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3Rva2VuaXplLmMKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfdG9rZW5pemUuYwpAQCAtMzY0LDcgKzM2NCw3IEBAIHN0YXRp
YyB2b2lkIHRva2VuaXplX2IoaW50IHBsYW5lLCBpbnQgYmxvY2ssIGludCByb3csIGludCBjb2ws
CiAgIGNvbnN0IFBMQU5FX1RZUEUgdHlwZSA9IGdldF9wbGFuZV90eXBlKHBsYW5lKTsKICAgY29u
c3QgdHJhbl9sb3dfdCAqcWNvZWZmID0gQkxPQ0tfT0ZGU0VUKHAtPnFjb2VmZiwgYmxvY2spOwog
ICBjb25zdCBpbnQxNl90ICpzY2FuLCAqbmI7Ci0gIGNvbnN0IFNjYW5PcmRlciAqc287CisgIGNv
bnN0IHNjYW5fb3JkZXIgKnNvOwogICBjb25zdCBpbnQgcmVmID0gaXNfaW50ZXJfYmxvY2sobWkp
OwogICB1bnNpZ25lZCBpbnQoKmNvbnN0IGNvdW50cylbQ09FRkZfQ09OVEVYVFNdW0VOVFJPUFlf
VE9LRU5TXSA9CiAgICAgICB0ZC0+cmRfY291bnRzLmNvZWZfY291bnRzW3R4X3NpemVdW3R5cGVd
W3JlZl07CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90cGxfbW9kZWwu
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5jCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiODkxMDM3MGUwYWYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZwOS9lbmNvZGVyL3ZwOV90cGxfbW9kZWwuYworKysgL2Rldi9udWxsCkBAIC0xLDE1NDEg
KzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjMgVGhlIFdlYk0gcHJvamVjdCBhdXRo
b3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJl
ZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBi
ZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2pl
Y3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5j
bHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpZiBDT05GSUdfTk9OX0dSRUVEWV9NVgotI2luY2x1
ZGUgInZwOS9jb21tb24vdnA5X212cmVmX2NvbW1vbi5oIgotI2VuZGlmCi0jaW5jbHVkZSAidnA5
L2NvbW1vbi92cDlfcmVjb25pbnRlci5oIgotI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X3JlY29u
aW50cmEuaCIKLSNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9zY2FuLmgiCi0jaW5jbHVkZSAidnA5
L2VuY29kZXIvdnA5X2VuY29kZXIuaCIKLSNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfdHBsX21v
ZGVsLmgiCi0jaW5jbHVkZSAidnB4L2ludGVybmFsL3ZweF9jb2RlY19pbnRlcm5hbC5oIgotI2lu
Y2x1ZGUgInZweC92cHhfY29kZWMuaCIKLQotc3RhdGljIGludCBpbml0X2dvcF9mcmFtZXMoVlA5
X0NPTVAgKmNwaSwgR0ZfUElDVFVSRSAqZ2ZfcGljdHVyZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEdGX0dST1VQICpnZl9ncm91cCwgaW50ICp0cGxfZ3JvdXBfZnJhbWVzKSB7
Ci0gIFZQOV9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOwotICBpbnQgZnJhbWVfaWR4ID0gMDsK
LSAgaW50IGk7Ci0gIGludCBnbGRfaW5kZXggPSAtMTsKLSAgaW50IGFsdF9pbmRleCA9IC0xOwot
ICBpbnQgbHN0X2luZGV4ID0gLTE7Ci0gIGludCBhcmZfaW5kZXhfc3RhY2tbTUFYX0FSRl9MQVlF
UlNdOwotICBpbnQgYXJmX3N0YWNrX3NpemUgPSAwOwotICBpbnQgZXh0ZW5kX2ZyYW1lX2NvdW50
ID0gMDsKLSAgaW50IHBmcmFtZV9xaW5kZXggPSBjcGktPnRwbF9zdGF0c1syXS5iYXNlX3FpbmRl
eDsKLSAgaW50IGZyYW1lX2dvcF9vZmZzZXQgPSAwOwotCi0gIFJlZkNudEJ1ZmZlciAqZnJhbWVf
YnVmcyA9IGNtLT5idWZmZXJfcG9vbC0+ZnJhbWVfYnVmczsKLSAgaW50OF90IHJlY29uX2ZyYW1l
X2luZGV4W1JFRlNfUEVSX0ZSQU1FICsgTUFYX0FSRl9MQVlFUlNdOwotCi0gIG1lbXNldChyZWNv
bl9mcmFtZV9pbmRleCwgLTEsIHNpemVvZihyZWNvbl9mcmFtZV9pbmRleCkpOwotICBzdGFja19p
bml0KGFyZl9pbmRleF9zdGFjaywgTUFYX0FSRl9MQVlFUlMpOwotCi0gIGZvciAoaSA9IDA7IGkg
PCBGUkFNRV9CVUZGRVJTOyArK2kpIHsKLSAgICBpZiAoZnJhbWVfYnVmc1tpXS5yZWZfY291bnQg
PT0gMCkgewotICAgICAgYWxsb2NfZnJhbWVfbXZzKGNtLCBpKTsKLSAgICAgIGlmICh2cHhfcmVh
bGxvY19mcmFtZV9idWZmZXIoJmZyYW1lX2J1ZnNbaV0uYnVmLCBjbS0+d2lkdGgsIGNtLT5oZWln
aHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtLT5zdWJzYW1wbGluZ194
LCBjbS0+c3Vic2FtcGxpbmdfeSwKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbS0+dXNlX2hpZ2hiaXRkZXB0aCwKLSNlbmRp
ZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUDlfRU5DX0JPUkRFUl9JTl9Q
SVhFTFMsIGNtLT5ieXRlX2FsaWdubWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwgTlVMTCwgTlVMTCkpCi0gICAgICAgIHZweF9pbnRlcm5hbF9lcnJvcigmY20t
PmVycm9yLCBWUFhfQ09ERUNfTUVNX0VSUk9SLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IkZhaWxlZCB0byBhbGxvY2F0ZSBmcmFtZSBidWZmZXIiKTsKLQotICAgICAgcmVjb25fZnJhbWVf
aW5kZXhbZnJhbWVfaWR4XSA9IGk7Ci0gICAgICArK2ZyYW1lX2lkeDsKLQotICAgICAgaWYgKGZy
YW1lX2lkeCA+PSBSRUZTX1BFUl9GUkFNRSArIGNwaS0+b3hjZi5lbmFibGVfYXV0b19hcmYpIGJy
ZWFrOwotICAgIH0KLSAgfQotCi0gIGZvciAoaSA9IDA7IGkgPCBSRUZTX1BFUl9GUkFNRSArIDE7
ICsraSkgewotICAgIGFzc2VydChyZWNvbl9mcmFtZV9pbmRleFtpXSA+PSAwKTsKLSAgICBjcGkt
PnRwbF9yZWNvbl9mcmFtZXNbaV0gPSAmZnJhbWVfYnVmc1tyZWNvbl9mcmFtZV9pbmRleFtpXV0u
YnVmOwotICB9Ci0KLSAgKnRwbF9ncm91cF9mcmFtZXMgPSAwOwotCi0gIC8vIEluaXRpYWxpemUg
R29sZGVuIHJlZmVyZW5jZSBmcmFtZS4KLSAgZ2ZfcGljdHVyZVswXS5mcmFtZSA9IGdldF9yZWZf
ZnJhbWVfYnVmZmVyKGNwaSwgR09MREVOX0ZSQU1FKTsKLSAgZm9yIChpID0gMDsgaSA8IDM7ICsr
aSkgZ2ZfcGljdHVyZVswXS5yZWZfZnJhbWVbaV0gPSAtMTsKLSAgZ2ZfcGljdHVyZVswXS51cGRh
dGVfdHlwZSA9IGdmX2dyb3VwLT51cGRhdGVfdHlwZVswXTsKLSAgZ2xkX2luZGV4ID0gMDsKLSAg
KysqdHBsX2dyb3VwX2ZyYW1lczsKLQotICAvLyBJbml0aWFsaXplIGJhc2UgbGF5ZXIgQVJGIGZy
YW1lCi0gIGdmX3BpY3R1cmVbMV0uZnJhbWUgPSBjcGktPlNvdXJjZTsKLSAgZ2ZfcGljdHVyZVsx
XS5yZWZfZnJhbWVbMF0gPSBnbGRfaW5kZXg7Ci0gIGdmX3BpY3R1cmVbMV0ucmVmX2ZyYW1lWzFd
ID0gbHN0X2luZGV4OwotICBnZl9waWN0dXJlWzFdLnJlZl9mcmFtZVsyXSA9IGFsdF9pbmRleDsK
LSAgZ2ZfcGljdHVyZVsxXS51cGRhdGVfdHlwZSA9IGdmX2dyb3VwLT51cGRhdGVfdHlwZVsxXTsK
LSAgYWx0X2luZGV4ID0gMTsKLSAgKysqdHBsX2dyb3VwX2ZyYW1lczsKLQotICAvLyBJbml0aWFs
aXplIFAgZnJhbWVzCi0gIGZvciAoZnJhbWVfaWR4ID0gMjsgZnJhbWVfaWR4IDwgTUFYX0FSRl9H
T1BfU0laRTsgKytmcmFtZV9pZHgpIHsKLSAgICBzdHJ1Y3QgbG9va2FoZWFkX2VudHJ5ICpidWY7
Ci0gICAgZnJhbWVfZ29wX29mZnNldCA9IGdmX2dyb3VwLT5mcmFtZV9nb3BfaW5kZXhbZnJhbWVf
aWR4XTsKLSAgICBidWYgPSB2cDlfbG9va2FoZWFkX3BlZWsoY3BpLT5sb29rYWhlYWQsIGZyYW1l
X2dvcF9vZmZzZXQgLSAxKTsKLQotICAgIGlmIChidWYgPT0gTlVMTCkgYnJlYWs7Ci0KLSAgICBn
Zl9waWN0dXJlW2ZyYW1lX2lkeF0uZnJhbWUgPSAmYnVmLT5pbWc7Ci0gICAgZ2ZfcGljdHVyZVtm
cmFtZV9pZHhdLnJlZl9mcmFtZVswXSA9IGdsZF9pbmRleDsKLSAgICBnZl9waWN0dXJlW2ZyYW1l
X2lkeF0ucmVmX2ZyYW1lWzFdID0gbHN0X2luZGV4OwotICAgIGdmX3BpY3R1cmVbZnJhbWVfaWR4
XS5yZWZfZnJhbWVbMl0gPSBhbHRfaW5kZXg7Ci0gICAgZ2ZfcGljdHVyZVtmcmFtZV9pZHhdLnVw
ZGF0ZV90eXBlID0gZ2ZfZ3JvdXAtPnVwZGF0ZV90eXBlW2ZyYW1lX2lkeF07Ci0KLSAgICBzd2l0
Y2ggKGdmX2dyb3VwLT51cGRhdGVfdHlwZVtmcmFtZV9pZHhdKSB7Ci0gICAgICBjYXNlIEFSRl9V
UERBVEU6Ci0gICAgICAgIHN0YWNrX3B1c2goYXJmX2luZGV4X3N0YWNrLCBhbHRfaW5kZXgsIGFy
Zl9zdGFja19zaXplKTsKLSAgICAgICAgKythcmZfc3RhY2tfc2l6ZTsKLSAgICAgICAgYWx0X2lu
ZGV4ID0gZnJhbWVfaWR4OwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgTEZfVVBEQVRFOiBs
c3RfaW5kZXggPSBmcmFtZV9pZHg7IGJyZWFrOwotICAgICAgY2FzZSBPVkVSTEFZX1VQREFURToK
LSAgICAgICAgZ2xkX2luZGV4ID0gZnJhbWVfaWR4OwotICAgICAgICBhbHRfaW5kZXggPSBzdGFj
a19wb3AoYXJmX2luZGV4X3N0YWNrLCBhcmZfc3RhY2tfc2l6ZSk7Ci0gICAgICAgIC0tYXJmX3N0
YWNrX3NpemU7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBVU0VfQlVGX0ZSQU1FOgotICAg
ICAgICBsc3RfaW5kZXggPSBhbHRfaW5kZXg7Ci0gICAgICAgIGFsdF9pbmRleCA9IHN0YWNrX3Bv
cChhcmZfaW5kZXhfc3RhY2ssIGFyZl9zdGFja19zaXplKTsKLSAgICAgICAgLS1hcmZfc3RhY2tf
c2l6ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OiBicmVhazsKLSAgICB9Ci0KLSAg
ICArKyp0cGxfZ3JvdXBfZnJhbWVzOwotCi0gICAgLy8gVGhlIGxlbmd0aCBvZiBncm91cCBvZiBw
aWN0dXJlcyBpcyBiYXNlbGluZV9nZl9pbnRlcnZhbCwgcGx1cyB0aGUKLSAgICAvLyBiZWdpbm5p
bmcgZ29sZGVuIGZyYW1lIGZyb20gbGFzdCBHT1AsIHBsdXMgdGhlIGxhc3Qgb3ZlcmxheSBmcmFt
ZSBpbgotICAgIC8vIHRoZSBzYW1lIEdPUC4KLSAgICBpZiAoZnJhbWVfaWR4ID09IGdmX2dyb3Vw
LT5nZl9ncm91cF9zaXplKSBicmVhazsKLSAgfQotCi0gIGFsdF9pbmRleCA9IC0xOwotICArK2Zy
YW1lX2lkeDsKLSAgKytmcmFtZV9nb3Bfb2Zmc2V0OwotCi0gIC8vIEV4dGVuZCB0d28gZnJhbWVz
IG91dHNpZGUgdGhlIGN1cnJlbnQgZ2YgZ3JvdXAuCi0gIGZvciAoOyBmcmFtZV9pZHggPCBNQVhf
TEFHX0JVRkZFUlMgJiYgZXh0ZW5kX2ZyYW1lX2NvdW50IDwgMjsgKytmcmFtZV9pZHgpIHsKLSAg
ICBzdHJ1Y3QgbG9va2FoZWFkX2VudHJ5ICpidWYgPQotICAgICAgICB2cDlfbG9va2FoZWFkX3Bl
ZWsoY3BpLT5sb29rYWhlYWQsIGZyYW1lX2dvcF9vZmZzZXQgLSAxKTsKLQotICAgIGlmIChidWYg
PT0gTlVMTCkgYnJlYWs7Ci0KLSAgICBjcGktPnRwbF9zdGF0c1tmcmFtZV9pZHhdLmJhc2VfcWlu
ZGV4ID0gcGZyYW1lX3FpbmRleDsKLQotICAgIGdmX3BpY3R1cmVbZnJhbWVfaWR4XS5mcmFtZSA9
ICZidWYtPmltZzsKLSAgICBnZl9waWN0dXJlW2ZyYW1lX2lkeF0ucmVmX2ZyYW1lWzBdID0gZ2xk
X2luZGV4OwotICAgIGdmX3BpY3R1cmVbZnJhbWVfaWR4XS5yZWZfZnJhbWVbMV0gPSBsc3RfaW5k
ZXg7Ci0gICAgZ2ZfcGljdHVyZVtmcmFtZV9pZHhdLnJlZl9mcmFtZVsyXSA9IGFsdF9pbmRleDsK
LSAgICBnZl9waWN0dXJlW2ZyYW1lX2lkeF0udXBkYXRlX3R5cGUgPSBMRl9VUERBVEU7Ci0gICAg
bHN0X2luZGV4ID0gZnJhbWVfaWR4OwotICAgICsrKnRwbF9ncm91cF9mcmFtZXM7Ci0gICAgKytl
eHRlbmRfZnJhbWVfY291bnQ7Ci0gICAgKytmcmFtZV9nb3Bfb2Zmc2V0OwotICB9Ci0KLSAgcmV0
dXJuIGV4dGVuZF9mcmFtZV9jb3VudDsKLX0KLQotc3RhdGljIHZvaWQgaW5pdF90cGxfc3RhdHMo
VlA5X0NPTVAgKmNwaSkgewotICBpbnQgZnJhbWVfaWR4OwotICBmb3IgKGZyYW1lX2lkeCA9IDA7
IGZyYW1lX2lkeCA8IE1BWF9BUkZfR09QX1NJWkU7ICsrZnJhbWVfaWR4KSB7Ci0gICAgVHBsRGVw
RnJhbWUgKnRwbF9mcmFtZSA9ICZjcGktPnRwbF9zdGF0c1tmcmFtZV9pZHhdOwotICAgIG1lbXNl
dCh0cGxfZnJhbWUtPnRwbF9zdGF0c19wdHIsIDAsCi0gICAgICAgICAgIHRwbF9mcmFtZS0+aGVp
Z2h0ICogdHBsX2ZyYW1lLT53aWR0aCAqCi0gICAgICAgICAgICAgICBzaXplb2YoKnRwbF9mcmFt
ZS0+dHBsX3N0YXRzX3B0cikpOwotICAgIHRwbF9mcmFtZS0+aXNfdmFsaWQgPSAwOwotICB9Ci19
Ci0KLXN0YXRpYyB2b2lkIGZyZWVfdHBsX2ZyYW1lX3N0YXRzX2xpc3QoVnB4VHBsR29wU3RhdHMg
KnRwbF9nb3Bfc3RhdHMpIHsKLSAgaW50IGZyYW1lX2lkeDsKLSAgZm9yIChmcmFtZV9pZHggPSAw
OyBmcmFtZV9pZHggPCB0cGxfZ29wX3N0YXRzLT5zaXplOyArK2ZyYW1lX2lkeCkgewotICAgIHZw
eF9mcmVlKHRwbF9nb3Bfc3RhdHMtPmZyYW1lX3N0YXRzX2xpc3RbZnJhbWVfaWR4XS5ibG9ja19z
dGF0c19saXN0KTsKLSAgfQotICB2cHhfZnJlZSh0cGxfZ29wX3N0YXRzLT5mcmFtZV9zdGF0c19s
aXN0KTsKLX0KLQotc3RhdGljIHZvaWQgaW5pdF90cGxfc3RhdHNfYmVmb3JlX3Byb3BhZ2F0aW9u
KAotICAgIHN0cnVjdCB2cHhfaW50ZXJuYWxfZXJyb3JfaW5mbyAqZXJyb3JfaW5mbywgVnB4VHBs
R29wU3RhdHMgKnRwbF9nb3Bfc3RhdHMsCi0gICAgVHBsRGVwRnJhbWUgKnRwbF9zdGF0cywgaW50
IHRwbF9nb3BfZnJhbWVzLCBpbnQgZnJhbWVfd2lkdGgsCi0gICAgaW50IGZyYW1lX2hlaWdodCkg
ewotICBpbnQgZnJhbWVfaWR4OwotICBmcmVlX3RwbF9mcmFtZV9zdGF0c19saXN0KHRwbF9nb3Bf
c3RhdHMpOwotICBDSEVDS19NRU1fRVJST1IoCi0gICAgICBlcnJvcl9pbmZvLCB0cGxfZ29wX3N0
YXRzLT5mcmFtZV9zdGF0c19saXN0LAotICAgICAgdnB4X2NhbGxvYyh0cGxfZ29wX2ZyYW1lcywg
c2l6ZW9mKCp0cGxfZ29wX3N0YXRzLT5mcmFtZV9zdGF0c19saXN0KSkpOwotICB0cGxfZ29wX3N0
YXRzLT5zaXplID0gdHBsX2dvcF9mcmFtZXM7Ci0gIGZvciAoZnJhbWVfaWR4ID0gMDsgZnJhbWVf
aWR4IDwgdHBsX2dvcF9mcmFtZXM7ICsrZnJhbWVfaWR4KSB7Ci0gICAgY29uc3QgaW50IG1pX3Jv
d3MgPSB0cGxfc3RhdHNbZnJhbWVfaWR4XS5oZWlnaHQ7Ci0gICAgY29uc3QgaW50IG1pX2NvbHMg
PSB0cGxfc3RhdHNbZnJhbWVfaWR4XS53aWR0aDsKLSAgICBDSEVDS19NRU1fRVJST1IoCi0gICAg
ICAgIGVycm9yX2luZm8sIHRwbF9nb3Bfc3RhdHMtPmZyYW1lX3N0YXRzX2xpc3RbZnJhbWVfaWR4
XS5ibG9ja19zdGF0c19saXN0LAotICAgICAgICB2cHhfY2FsbG9jKAotICAgICAgICAgICAgbWlf
cm93cyAqIG1pX2NvbHMsCi0gICAgICAgICAgICBzaXplb2YoCi0gICAgICAgICAgICAgICAgKnRw
bF9nb3Bfc3RhdHMtPmZyYW1lX3N0YXRzX2xpc3RbZnJhbWVfaWR4XS5ibG9ja19zdGF0c19saXN0
KSkpOwotICAgIHRwbF9nb3Bfc3RhdHMtPmZyYW1lX3N0YXRzX2xpc3RbZnJhbWVfaWR4XS5udW1f
YmxvY2tzID0gbWlfcm93cyAqIG1pX2NvbHM7Ci0gICAgdHBsX2dvcF9zdGF0cy0+ZnJhbWVfc3Rh
dHNfbGlzdFtmcmFtZV9pZHhdLmZyYW1lX3dpZHRoID0gZnJhbWVfd2lkdGg7Ci0gICAgdHBsX2dv
cF9zdGF0cy0+ZnJhbWVfc3RhdHNfbGlzdFtmcmFtZV9pZHhdLmZyYW1lX2hlaWdodCA9IGZyYW1l
X2hlaWdodDsKLSAgfQotfQotCi0jaWYgQ09ORklHX05PTl9HUkVFRFlfTVYKLXN0YXRpYyB1aW50
MzJfdCBmdWxsX3BpeGVsX21vdGlvbl9zZWFyY2goVlA5X0NPTVAgKmNwaSwgVGhyZWFkRGF0YSAq
dGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vdGlvbkZpZWxk
ICptb3Rpb25fZmllbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBmcmFtZV9pZHgsIHVpbnQ4X3QgKmN1cl9mcmFtZV9idWYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnJlZl9mcmFtZV9idWYsIGludCBzdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJWkUg
YnNpemUsIGludCBtaV9yb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBtaV9jb2wsIE1WICptdikgewotICBNQUNST0JMT0NLICpjb25zdCB4ID0gJnRkLT5t
YjsKLSAgTUFDUk9CTE9DS0QgKmNvbnN0IHhkID0gJngtPmVfbWJkOwotICBNVl9TUEVFRF9GRUFU
VVJFUyAqY29uc3QgbXZfc2YgPSAmY3BpLT5zZi5tdjsKLSAgaW50IHN0ZXBfcGFyYW07Ci0gIHVp
bnQzMl90IGJlc3RzbWUgPSBVSU5UX01BWDsKLSAgY29uc3QgTXZMaW1pdHMgdG1wX212X2xpbWl0
cyA9IHgtPm12X2xpbWl0czsKLSAgLy8gbGFtYmRhIGlzIHVzZWQgdG8gYWRqdXN0IHRoZSBpbXBv
cnRhbmNlIG9mIG1vdGlvbiB2ZWN0b3IgY29uc2lzdGVuY3kuCi0gIC8vIFRPRE8oYW5naWViaXJk
KTogRmlndXJlIG91dCBsYW1iZGEncyBwcm9wZXIgdmFsdWUuCi0gIGNvbnN0IGludCBsYW1iZGEg
PSBjcGktPnRwbF9zdGF0c1tmcmFtZV9pZHhdLmxhbWJkYTsKLSAgaW50X212IG5iX2Z1bGxfbXZz
W05CX01WU19OVU1dOwotICBpbnQgbmJfZnVsbF9tdl9udW07Ci0KLSAgTVYgYmVzdF9yZWZfbXYx
ID0geyAwLCAwIH07Ci0gIE1WIGJlc3RfcmVmX212MV9mdWxsOyAvKiBmdWxsLXBpeGVsIHZhbHVl
IG9mIGJlc3RfcmVmX212MSAqLwotCi0gIGJlc3RfcmVmX212MV9mdWxsLmNvbCA9IGJlc3RfcmVm
X212MS5jb2wgPj4gMzsKLSAgYmVzdF9yZWZfbXYxX2Z1bGwucm93ID0gYmVzdF9yZWZfbXYxLnJv
dyA+PiAzOwotCi0gIC8vIFNldHVwIGZyYW1lIHBvaW50ZXJzCi0gIHgtPnBsYW5lWzBdLnNyYy5i
dWYgPSBjdXJfZnJhbWVfYnVmOwotICB4LT5wbGFuZVswXS5zcmMuc3RyaWRlID0gc3RyaWRlOwot
ICB4ZC0+cGxhbmVbMF0ucHJlWzBdLmJ1ZiA9IHJlZl9mcmFtZV9idWY7Ci0gIHhkLT5wbGFuZVsw
XS5wcmVbMF0uc3RyaWRlID0gc3RyaWRlOwotCi0gIHN0ZXBfcGFyYW0gPSBtdl9zZi0+cmVkdWNl
X2ZpcnN0X3N0ZXBfc2l6ZTsKLSAgc3RlcF9wYXJhbSA9IFZQWE1JTihzdGVwX3BhcmFtLCBNQVhf
TVZTRUFSQ0hfU1RFUFMgLSAyKTsKLQotICB2cDlfc2V0X212X3NlYXJjaF9yYW5nZSgmeC0+bXZf
bGltaXRzLCAmYmVzdF9yZWZfbXYxKTsKLQotICBuYl9mdWxsX212X251bSA9Ci0gICAgICB2cDlf
cHJlcGFyZV9uYl9mdWxsX212cyhtb3Rpb25fZmllbGQsIG1pX3JvdywgbWlfY29sLCBuYl9mdWxs
X212cyk7Ci0gIHZwOV9mdWxsX3BpeGVsX2RpYW1vbmRfbmV3KGNwaSwgeCwgYnNpemUsICZiZXN0
X3JlZl9tdjFfZnVsbCwgc3RlcF9wYXJhbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGFtYmRhLCAxLCBuYl9mdWxsX212cywgbmJfZnVsbF9tdl9udW0sIG12KTsKLQotICAvKiByZXN0
b3JlIFVNViB3aW5kb3cgKi8KLSAgeC0+bXZfbGltaXRzID0gdG1wX212X2xpbWl0czsKLQotICBy
ZXR1cm4gYmVzdHNtZTsKLX0KLQotc3RhdGljIHVpbnQzMl90IHN1Yl9waXhlbF9tb3Rpb25fc2Vh
cmNoKFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmN1cl9mcmFtZV9idWYsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcmVmX2ZyYW1lX2J1ZiwgaW50IHN0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS19TSVpF
IGJzaXplLCBNViAqbXYpIHsKLSAgTUFDUk9CTE9DSyAqY29uc3QgeCA9ICZ0ZC0+bWI7Ci0gIE1B
Q1JPQkxPQ0tEICpjb25zdCB4ZCA9ICZ4LT5lX21iZDsKLSAgTVZfU1BFRURfRkVBVFVSRVMgKmNv
bnN0IG12X3NmID0gJmNwaS0+c2YubXY7Ci0gIHVpbnQzMl90IGJlc3RzbWUgPSBVSU5UX01BWDsK
LSAgdWludDMyX3QgZGlzdG9ydGlvbjsKLSAgdWludDMyX3Qgc3NlOwotICBpbnQgY29zdF9saXN0
WzVdOwotCi0gIE1WIGJlc3RfcmVmX212MSA9IHsgMCwgMCB9OwotCi0gIC8vIFNldHVwIGZyYW1l
IHBvaW50ZXJzCi0gIHgtPnBsYW5lWzBdLnNyYy5idWYgPSBjdXJfZnJhbWVfYnVmOwotICB4LT5w
bGFuZVswXS5zcmMuc3RyaWRlID0gc3RyaWRlOwotICB4ZC0+cGxhbmVbMF0ucHJlWzBdLmJ1ZiA9
IHJlZl9mcmFtZV9idWY7Ci0gIHhkLT5wbGFuZVswXS5wcmVbMF0uc3RyaWRlID0gc3RyaWRlOwot
Ci0gIC8vIFRPRE8oeXVucWluZyk6IG1heSB1c2UgaGlnaGVyIHRhcCBpbnRlcnAgZmlsdGVyIHRo
YW4gMiB0YXBzLgotICAvLyBJZ25vcmUgbXYgY29zdGluZyBieSBzZW5kaW5nIE5VTEwgcG9pbnRl
ciBpbnN0ZWFkIG9mIGNvc3QgYXJyYXkKLSAgYmVzdHNtZSA9IGNwaS0+ZmluZF9mcmFjdGlvbmFs
X212X3N0ZXAoCi0gICAgICB4LCBtdiwgJmJlc3RfcmVmX212MSwgY3BpLT5jb21tb24uYWxsb3df
aGlnaF9wcmVjaXNpb25fbXYsIHgtPmVycm9ycGVyYml0LAotICAgICAgJmNwaS0+Zm5fcHRyW2Jz
aXplXSwgMCwgbXZfc2YtPnN1YnBlbF9zZWFyY2hfbGV2ZWwsCi0gICAgICBjb25kX2Nvc3RfbGlz
dChjcGksIGNvc3RfbGlzdCksIE5VTEwsIE5VTEwsICZkaXN0b3J0aW9uLCAmc3NlLCBOVUxMLCAw
LCAwLAotICAgICAgVVNFXzJfVEFQUyk7Ci0KLSAgcmV0dXJuIGJlc3RzbWU7Ci19Ci0KLSNlbHNl
ICAvLyBDT05GSUdfTk9OX0dSRUVEWV9NVgotc3RhdGljIHVpbnQzMl90IG1vdGlvbl9jb21wZW5z
YXRlZF9wcmVkaWN0aW9uKFZQOV9DT01QICpjcGksIFRocmVhZERhdGEgKnRkLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmN1cl9mcmFtZV9i
dWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf
dCAqcmVmX2ZyYW1lX2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3RyaWRlLCBCTE9DS19TSVpFIGJzaXplLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1WICptdikgewotICBNQUNST0JMT0NLICpjb25z
dCB4ID0gJnRkLT5tYjsKLSAgTUFDUk9CTE9DS0QgKmNvbnN0IHhkID0gJngtPmVfbWJkOwotICBN
Vl9TUEVFRF9GRUFUVVJFUyAqY29uc3QgbXZfc2YgPSAmY3BpLT5zZi5tdjsKLSAgY29uc3QgU0VB
UkNIX01FVEhPRFMgc2VhcmNoX21ldGhvZCA9IE5TVEVQOwotICBpbnQgc3RlcF9wYXJhbTsKLSAg
aW50IHNhZHBiID0geC0+c2FkcGVyYml0MTY7Ci0gIHVpbnQzMl90IGJlc3RzbWUgPSBVSU5UX01B
WDsKLSAgdWludDMyX3QgZGlzdG9ydGlvbjsKLSAgdWludDMyX3Qgc3NlOwotICBpbnQgY29zdF9s
aXN0WzVdOwotICBjb25zdCBNdkxpbWl0cyB0bXBfbXZfbGltaXRzID0geC0+bXZfbGltaXRzOwot
Ci0gIE1WIGJlc3RfcmVmX212MSA9IHsgMCwgMCB9OwotICBNViBiZXN0X3JlZl9tdjFfZnVsbDsg
LyogZnVsbC1waXhlbCB2YWx1ZSBvZiBiZXN0X3JlZl9tdjEgKi8KLQotICBiZXN0X3JlZl9tdjFf
ZnVsbC5jb2wgPSBiZXN0X3JlZl9tdjEuY29sID4+IDM7Ci0gIGJlc3RfcmVmX212MV9mdWxsLnJv
dyA9IGJlc3RfcmVmX212MS5yb3cgPj4gMzsKLQotICAvLyBTZXR1cCBmcmFtZSBwb2ludGVycwot
ICB4LT5wbGFuZVswXS5zcmMuYnVmID0gY3VyX2ZyYW1lX2J1ZjsKLSAgeC0+cGxhbmVbMF0uc3Jj
LnN0cmlkZSA9IHN0cmlkZTsKLSAgeGQtPnBsYW5lWzBdLnByZVswXS5idWYgPSByZWZfZnJhbWVf
YnVmOwotICB4ZC0+cGxhbmVbMF0ucHJlWzBdLnN0cmlkZSA9IHN0cmlkZTsKLQotICBzdGVwX3Bh
cmFtID0gbXZfc2YtPnJlZHVjZV9maXJzdF9zdGVwX3NpemU7Ci0gIHN0ZXBfcGFyYW0gPSBWUFhN
SU4oc3RlcF9wYXJhbSwgTUFYX01WU0VBUkNIX1NURVBTIC0gMik7Ci0KLSAgdnA5X3NldF9tdl9z
ZWFyY2hfcmFuZ2UoJngtPm12X2xpbWl0cywgJmJlc3RfcmVmX212MSk7Ci0KLSAgdnA5X2Z1bGxf
cGl4ZWxfc2VhcmNoKGNwaSwgeCwgYnNpemUsICZiZXN0X3JlZl9tdjFfZnVsbCwgc3RlcF9wYXJh
bSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaF9tZXRob2QsIHNhZHBiLCBjb25kX2Nv
c3RfbGlzdChjcGksIGNvc3RfbGlzdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAmYmVzdF9y
ZWZfbXYxLCBtdiwgMCwgMCk7Ci0KLSAgLyogcmVzdG9yZSBVTVYgd2luZG93ICovCi0gIHgtPm12
X2xpbWl0cyA9IHRtcF9tdl9saW1pdHM7Ci0KLSAgLy8gVE9ETyh5dW5xaW5nKTogbWF5IHVzZSBo
aWdoZXIgdGFwIGludGVycCBmaWx0ZXIgdGhhbiAyIHRhcHMuCi0gIC8vIElnbm9yZSBtdiBjb3N0
aW5nIGJ5IHNlbmRpbmcgTlVMTCBwb2ludGVyIGluc3RlYWQgb2YgY29zdCBhcnJheQotICBiZXN0
c21lID0gY3BpLT5maW5kX2ZyYWN0aW9uYWxfbXZfc3RlcCgKLSAgICAgIHgsIG12LCAmYmVzdF9y
ZWZfbXYxLCBjcGktPmNvbW1vbi5hbGxvd19oaWdoX3ByZWNpc2lvbl9tdiwgeC0+ZXJyb3JwZXJi
aXQsCi0gICAgICAmY3BpLT5mbl9wdHJbYnNpemVdLCAwLCBtdl9zZi0+c3VicGVsX3NlYXJjaF9s
ZXZlbCwKLSAgICAgIGNvbmRfY29zdF9saXN0KGNwaSwgY29zdF9saXN0KSwgTlVMTCwgTlVMTCwg
JmRpc3RvcnRpb24sICZzc2UsIE5VTEwsIDAsIDAsCi0gICAgICBVU0VfMl9UQVBTKTsKLQotICBy
ZXR1cm4gYmVzdHNtZTsKLX0KLSNlbmRpZgotCi1zdGF0aWMgaW50IGdldF9vdmVybGFwX2FyZWEo
aW50IGdyaWRfcG9zX3JvdywgaW50IGdyaWRfcG9zX2NvbCwgaW50IHJlZl9wb3Nfcm93LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfcG9zX2NvbCwgaW50IGJsb2NrLCBCTE9D
S19TSVpFIGJzaXplKSB7Ci0gIGludCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7Ci0gIGludCBidyA9
IDQgPDwgYl93aWR0aF9sb2cyX2xvb2t1cFtic2l6ZV07Ci0gIGludCBiaCA9IDQgPDwgYl9oZWln
aHRfbG9nMl9sb29rdXBbYnNpemVdOwotCi0gIHN3aXRjaCAoYmxvY2spIHsKLSAgICBjYXNlIDA6
Ci0gICAgICB3aWR0aCA9IGdyaWRfcG9zX2NvbCArIGJ3IC0gcmVmX3Bvc19jb2w7Ci0gICAgICBo
ZWlnaHQgPSBncmlkX3Bvc19yb3cgKyBiaCAtIHJlZl9wb3Nfcm93OwotICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSAxOgotICAgICAgd2lkdGggPSByZWZfcG9zX2NvbCArIGJ3IC0gZ3JpZF9wb3NfY29s
OwotICAgICAgaGVpZ2h0ID0gZ3JpZF9wb3Nfcm93ICsgYmggLSByZWZfcG9zX3JvdzsKLSAgICAg
IGJyZWFrOwotICAgIGNhc2UgMjoKLSAgICAgIHdpZHRoID0gZ3JpZF9wb3NfY29sICsgYncgLSBy
ZWZfcG9zX2NvbDsKLSAgICAgIGhlaWdodCA9IHJlZl9wb3Nfcm93ICsgYmggLSBncmlkX3Bvc19y
b3c7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIDM6Ci0gICAgICB3aWR0aCA9IHJlZl9wb3NfY29s
ICsgYncgLSBncmlkX3Bvc19jb2w7Ci0gICAgICBoZWlnaHQgPSByZWZfcG9zX3JvdyArIGJoIC0g
Z3JpZF9wb3Nfcm93OwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDogYXNzZXJ0KDApOwotICB9
Ci0KLSAgcmV0dXJuIHdpZHRoICogaGVpZ2h0OwotfQotCi1zdGF0aWMgaW50IHJvdW5kX2Zsb29y
KGludCByZWZfcG9zLCBpbnQgYnNpemVfcGl4KSB7Ci0gIGludCByb3VuZDsKLSAgaWYgKHJlZl9w
b3MgPCAwKQotICAgIHJvdW5kID0gLSgxICsgKC1yZWZfcG9zIC0gMSkgLyBic2l6ZV9waXgpOwot
ICBlbHNlCi0gICAgcm91bmQgPSByZWZfcG9zIC8gYnNpemVfcGl4OwotCi0gIHJldHVybiByb3Vu
ZDsKLX0KLQotc3RhdGljIHZvaWQgdHBsX21vZGVsX3N0b3JlKFRwbERlcFN0YXRzICp0cGxfc3Rh
dHMsIGludCBtaV9yb3csIGludCBtaV9jb2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
QkxPQ0tfU0laRSBic2l6ZSwgaW50IHN0cmlkZSkgewotICBjb25zdCBpbnQgbWlfaGVpZ2h0ID0g
bnVtXzh4OF9ibG9ja3NfaGlnaF9sb29rdXBbYnNpemVdOwotICBjb25zdCBpbnQgbWlfd2lkdGgg
PSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFtic2l6ZV07Ci0gIGNvbnN0IFRwbERlcFN0YXRz
ICpzcmNfc3RhdHMgPSAmdHBsX3N0YXRzW21pX3JvdyAqIHN0cmlkZSArIG1pX2NvbF07Ci0gIGlu
dCBpZHgsIGlkeTsKLQotICBmb3IgKGlkeSA9IDA7IGlkeSA8IG1pX2hlaWdodDsgKytpZHkpIHsK
LSAgICBmb3IgKGlkeCA9IDA7IGlkeCA8IG1pX3dpZHRoOyArK2lkeCkgewotICAgICAgVHBsRGVw
U3RhdHMgKnRwbF9wdHIgPSAmdHBsX3N0YXRzWyhtaV9yb3cgKyBpZHkpICogc3RyaWRlICsgbWlf
Y29sICsgaWR4XTsKLSAgICAgIGNvbnN0IGludDY0X3QgbWNfZmxvdyA9IHRwbF9wdHItPm1jX2Zs
b3c7Ci0gICAgICBjb25zdCBpbnQ2NF90IG1jX3JlZl9jb3N0ID0gdHBsX3B0ci0+bWNfcmVmX2Nv
c3Q7Ci0gICAgICAqdHBsX3B0ciA9ICpzcmNfc3RhdHM7Ci0gICAgICB0cGxfcHRyLT5tY19mbG93
ID0gbWNfZmxvdzsKLSAgICAgIHRwbF9wdHItPm1jX3JlZl9jb3N0ID0gbWNfcmVmX2Nvc3Q7Ci0g
ICAgICB0cGxfcHRyLT5tY19kZXBfY29zdCA9IHRwbF9wdHItPmludHJhX2Nvc3QgKyB0cGxfcHRy
LT5tY19mbG93OwotICAgIH0KLSAgfQotfQotCi1zdGF0aWMgdm9pZCB0cGxfc3RvcmVfYmVmb3Jl
X3Byb3BhZ2F0aW9uKFZweFRwbEJsb2NrU3RhdHMgKnRwbF9ibG9ja19zdGF0cywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBsRGVwU3RhdHMgKnRwbF9zdGF0cywg
aW50IG1pX3JvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IG1pX2NvbCwgQkxPQ0tfU0laRSBic2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZSwgaW50NjRfdCByZWNvbl9lcnJvciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCByYXRlX2Nvc3QsIGludCByZWZf
ZnJhbWVfaWR4KSB7Ci0gIGNvbnN0IGludCBtaV9oZWlnaHQgPSBudW1fOHg4X2Jsb2Nrc19oaWdo
X2xvb2t1cFtic2l6ZV07Ci0gIGNvbnN0IGludCBtaV93aWR0aCA9IG51bV84eDhfYmxvY2tzX3dp
ZGVfbG9va3VwW2JzaXplXTsKLSAgY29uc3QgVHBsRGVwU3RhdHMgKnNyY19zdGF0cyA9ICZ0cGxf
c3RhdHNbbWlfcm93ICogc3RyaWRlICsgbWlfY29sXTsKLSAgaW50IGlkeCwgaWR5OwotCi0gIGZv
ciAoaWR5ID0gMDsgaWR5IDwgbWlfaGVpZ2h0OyArK2lkeSkgewotICAgIGZvciAoaWR4ID0gMDsg
aWR4IDwgbWlfd2lkdGg7ICsraWR4KSB7Ci0gICAgICBWcHhUcGxCbG9ja1N0YXRzICp0cGxfYmxv
Y2tfc3RhdHNfcHRyID0KLSAgICAgICAgICAmdHBsX2Jsb2NrX3N0YXRzWyhtaV9yb3cgKyBpZHkp
ICogc3RyaWRlICsgbWlfY29sICsgaWR4XTsKLSAgICAgIHRwbF9ibG9ja19zdGF0c19wdHItPnJv
dyA9IG1pX3JvdyAqIDg7Ci0gICAgICB0cGxfYmxvY2tfc3RhdHNfcHRyLT5jb2wgPSBtaV9jb2wg
KiA4OwotICAgICAgdHBsX2Jsb2NrX3N0YXRzX3B0ci0+aW50ZXJfY29zdCA9IHNyY19zdGF0cy0+
aW50ZXJfY29zdDsKLSAgICAgIHRwbF9ibG9ja19zdGF0c19wdHItPmludHJhX2Nvc3QgPSBzcmNf
c3RhdHMtPmludHJhX2Nvc3Q7Ci0gICAgICB0cGxfYmxvY2tfc3RhdHNfcHRyLT5yZWNyZl9kaXN0
ID0gcmVjb25fZXJyb3IgPDwgVFBMX0RFUF9DT1NUX1NDQUxFX0xPRzI7Ci0gICAgICB0cGxfYmxv
Y2tfc3RhdHNfcHRyLT5yZWNyZl9yYXRlID0gcmF0ZV9jb3N0IDw8IFRQTF9ERVBfQ09TVF9TQ0FM
RV9MT0cyOwotICAgICAgdHBsX2Jsb2NrX3N0YXRzX3B0ci0+bXZfciA9IHNyY19zdGF0cy0+bXYu
YXNfbXYucm93OwotICAgICAgdHBsX2Jsb2NrX3N0YXRzX3B0ci0+bXZfYyA9IHNyY19zdGF0cy0+
bXYuYXNfbXYuY29sOwotICAgICAgdHBsX2Jsb2NrX3N0YXRzX3B0ci0+cmVmX2ZyYW1lX2luZGV4
ID0gcmVmX2ZyYW1lX2lkeDsKLSAgICB9Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgdHBsX21vZGVs
X3VwZGF0ZV9iKFRwbERlcEZyYW1lICp0cGxfZnJhbWUsIFRwbERlcFN0YXRzICp0cGxfc3RhdHMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pX3JvdywgaW50IG1pX2NvbCwg
Y29uc3QgQkxPQ0tfU0laRSBic2l6ZSkgewotICBUcGxEZXBGcmFtZSAqcmVmX3RwbF9mcmFtZSA9
ICZ0cGxfZnJhbWVbdHBsX3N0YXRzLT5yZWZfZnJhbWVfaW5kZXhdOwotICBUcGxEZXBTdGF0cyAq
cmVmX3N0YXRzID0gcmVmX3RwbF9mcmFtZS0+dHBsX3N0YXRzX3B0cjsKLSAgTVYgbXYgPSB0cGxf
c3RhdHMtPm12LmFzX212OwotICBpbnQgbXZfcm93ID0gbXYucm93ID4+IDM7Ci0gIGludCBtdl9j
b2wgPSBtdi5jb2wgPj4gMzsKLQotICBpbnQgcmVmX3Bvc19yb3cgPSBtaV9yb3cgKiBNSV9TSVpF
ICsgbXZfcm93OwotICBpbnQgcmVmX3Bvc19jb2wgPSBtaV9jb2wgKiBNSV9TSVpFICsgbXZfY29s
OwotCi0gIGNvbnN0IGludCBidyA9IDQgPDwgYl93aWR0aF9sb2cyX2xvb2t1cFtic2l6ZV07Ci0g
IGNvbnN0IGludCBiaCA9IDQgPDwgYl9oZWlnaHRfbG9nMl9sb29rdXBbYnNpemVdOwotICBjb25z
dCBpbnQgbWlfaGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3NfaGlnaF9sb29rdXBbYnNpemVdOwotICBj
b25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFtic2l6ZV07Ci0g
IGNvbnN0IGludCBwaXhfbnVtID0gYncgKiBiaDsKLQotICAvLyB0b3AtbGVmdCBvbiBncmlkIGJs
b2NrIGxvY2F0aW9uIGluIHBpeGVsCi0gIGludCBncmlkX3Bvc19yb3dfYmFzZSA9IHJvdW5kX2Zs
b29yKHJlZl9wb3Nfcm93LCBiaCkgKiBiaDsKLSAgaW50IGdyaWRfcG9zX2NvbF9iYXNlID0gcm91
bmRfZmxvb3IocmVmX3Bvc19jb2wsIGJ3KSAqIGJ3OwotICBpbnQgYmxvY2s7Ci0KLSAgZm9yIChi
bG9jayA9IDA7IGJsb2NrIDwgNDsgKytibG9jaykgewotICAgIGludCBncmlkX3Bvc19yb3cgPSBn
cmlkX3Bvc19yb3dfYmFzZSArIGJoICogKGJsb2NrID4+IDEpOwotICAgIGludCBncmlkX3Bvc19j
b2wgPSBncmlkX3Bvc19jb2xfYmFzZSArIGJ3ICogKGJsb2NrICYgMHgwMSk7Ci0KLSAgICBpZiAo
Z3JpZF9wb3Nfcm93ID49IDAgJiYgZ3JpZF9wb3Nfcm93IDwgcmVmX3RwbF9mcmFtZS0+bWlfcm93
cyAqIE1JX1NJWkUgJiYKLSAgICAgICAgZ3JpZF9wb3NfY29sID49IDAgJiYgZ3JpZF9wb3NfY29s
IDwgcmVmX3RwbF9mcmFtZS0+bWlfY29scyAqIE1JX1NJWkUpIHsKLSAgICAgIGludCBvdmVybGFw
X2FyZWEgPSBnZXRfb3ZlcmxhcF9hcmVhKAotICAgICAgICAgIGdyaWRfcG9zX3JvdywgZ3JpZF9w
b3NfY29sLCByZWZfcG9zX3JvdywgcmVmX3Bvc19jb2wsIGJsb2NrLCBic2l6ZSk7Ci0gICAgICBp
bnQgcmVmX21pX3JvdyA9IHJvdW5kX2Zsb29yKGdyaWRfcG9zX3JvdywgYmgpICogbWlfaGVpZ2h0
OwotICAgICAgaW50IHJlZl9taV9jb2wgPSByb3VuZF9mbG9vcihncmlkX3Bvc19jb2wsIGJ3KSAq
IG1pX3dpZHRoOwotCi0gICAgICBpbnQ2NF90IG1jX2Zsb3cgPSB0cGxfc3RhdHMtPm1jX2RlcF9j
b3N0IC0KLSAgICAgICAgICAgICAgICAgICAgICAgICh0cGxfc3RhdHMtPm1jX2RlcF9jb3N0ICog
dHBsX3N0YXRzLT5pbnRlcl9jb3N0KSAvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHBs
X3N0YXRzLT5pbnRyYV9jb3N0OwotCi0gICAgICBpbnQgaWR4LCBpZHk7Ci0KLSAgICAgIGZvciAo
aWR5ID0gMDsgaWR5IDwgbWlfaGVpZ2h0OyArK2lkeSkgewotICAgICAgICBmb3IgKGlkeCA9IDA7
IGlkeCA8IG1pX3dpZHRoOyArK2lkeCkgewotICAgICAgICAgIFRwbERlcFN0YXRzICpkZXNfc3Rh
dHMgPQotICAgICAgICAgICAgICAmcmVmX3N0YXRzWyhyZWZfbWlfcm93ICsgaWR5KSAqIHJlZl90
cGxfZnJhbWUtPnN0cmlkZSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgKHJlZl9taV9jb2wg
KyBpZHgpXTsKLQotICAgICAgICAgIGRlc19zdGF0cy0+bWNfZmxvdyArPSAobWNfZmxvdyAqIG92
ZXJsYXBfYXJlYSkgLyBwaXhfbnVtOwotICAgICAgICAgIGRlc19zdGF0cy0+bWNfcmVmX2Nvc3Qg
Kz0KLSAgICAgICAgICAgICAgKCh0cGxfc3RhdHMtPmludHJhX2Nvc3QgLSB0cGxfc3RhdHMtPmlu
dGVyX2Nvc3QpICogb3ZlcmxhcF9hcmVhKSAvCi0gICAgICAgICAgICAgIHBpeF9udW07Ci0gICAg
ICAgICAgYXNzZXJ0KG92ZXJsYXBfYXJlYSA+PSAwKTsKLSAgICAgICAgfQotICAgICAgfQotICAg
IH0KLSAgfQotfQotCi1zdGF0aWMgdm9pZCB0cGxfbW9kZWxfdXBkYXRlKFRwbERlcEZyYW1lICp0
cGxfZnJhbWUsIFRwbERlcFN0YXRzICp0cGxfc3RhdHMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBtaV9yb3csIGludCBtaV9jb2wsIGNvbnN0IEJMT0NLX1NJWkUgYnNpemUpIHsK
LSAgaW50IGlkeCwgaWR5OwotICBjb25zdCBpbnQgbWlfaGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3Nf
aGlnaF9sb29rdXBbYnNpemVdOwotICBjb25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nr
c193aWRlX2xvb2t1cFtic2l6ZV07Ci0KLSAgZm9yIChpZHkgPSAwOyBpZHkgPCBtaV9oZWlnaHQ7
ICsraWR5KSB7Ci0gICAgZm9yIChpZHggPSAwOyBpZHggPCBtaV93aWR0aDsgKytpZHgpIHsKLSAg
ICAgIFRwbERlcFN0YXRzICp0cGxfcHRyID0KLSAgICAgICAgICAmdHBsX3N0YXRzWyhtaV9yb3cg
KyBpZHkpICogdHBsX2ZyYW1lLT5zdHJpZGUgKyAobWlfY29sICsgaWR4KV07Ci0gICAgICB0cGxf
bW9kZWxfdXBkYXRlX2IodHBsX2ZyYW1lLCB0cGxfcHRyLCBtaV9yb3cgKyBpZHksIG1pX2NvbCAr
IGlkeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS184WDgpOwotICAgIH0KLSAgfQot
fQotCi1zdGF0aWMgdm9pZCBnZXRfcXVhbnRpemVfZXJyb3IoTUFDUk9CTE9DSyAqeCwgaW50IHBs
YW5lLCB0cmFuX2xvd190ICpjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
cmFuX2xvd190ICpxY29lZmYsIHRyYW5fbG93X3QgKmRxY29lZmYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVFhfU0laRSB0eF9zaXplLCBpbnQ2NF90ICpyZWNvbl9lcnJvciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90ICpzc2UsIHVpbnQxNl90ICplb2Ip
IHsKLSAgTUFDUk9CTE9DS0QgKmNvbnN0IHhkID0gJngtPmVfbWJkOwotICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSAqY29uc3QgcCA9ICZ4LT5wbGFuZVtwbGFuZV07Ci0gIGNvbnN0IHN0
cnVjdCBtYWNyb2Jsb2NrZF9wbGFuZSAqY29uc3QgcGQgPSAmeGQtPnBsYW5lW3BsYW5lXTsKLSAg
Y29uc3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyID0gJnZwOV9kZWZhdWx0X3NjYW5fb3Jk
ZXJzW3R4X3NpemVdOwotICBpbnQgcGl4X251bSA9IDEgPDwgbnVtX3BlbHNfbG9nMl9sb29rdXBb
dHhzaXplX3RvX2JzaXplW3R4X3NpemVdXTsKLSAgY29uc3QgaW50IHNoaWZ0ID0gdHhfc2l6ZSA9
PSBUWF8zMlgzMiA/IDAgOiAyOwotCi0gIC8vIHNraXAgYmxvY2sgY29uZGl0aW9uIHNob3VsZCBi
ZSBoYW5kbGVkIGJlZm9yZSB0aGlzIGlzIGNhbGxlZC4KLSAgYXNzZXJ0KCF4LT5za2lwX2Jsb2Nr
KTsKLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIGlmICh4ZC0+Y3VyX2J1Zi0+Zmxh
Z3MgJiBZVjEyX0ZMQUdfSElHSEJJVERFUFRIKSB7Ci0gICAgdnA5X2hpZ2hiZF9xdWFudGl6ZV9m
cF8zMngzMihjb2VmZiwgcGl4X251bSwgcCwgcWNvZWZmLCBkcWNvZWZmLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGQtPmRlcXVhbnQsIGVvYiwgc2Nhbl9vcmRlcik7Ci0gIH0g
ZWxzZSB7Ci0gICAgdnA5X3F1YW50aXplX2ZwXzMyeDMyKGNvZWZmLCBwaXhfbnVtLCBwLCBxY29l
ZmYsIGRxY29lZmYsIHBkLT5kZXF1YW50LCBlb2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IHNjYW5fb3JkZXIpOwotICB9Ci0jZWxzZQotICB2cDlfcXVhbnRpemVfZnBfMzJ4MzIoY29lZmYs
IHBpeF9udW0sIHAsIHFjb2VmZiwgZHFjb2VmZiwgcGQtPmRlcXVhbnQsIGVvYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHNjYW5fb3JkZXIpOwotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hC
SVRERVBUSAotCi0gICpyZWNvbl9lcnJvciA9IHZwOV9ibG9ja19lcnJvcihjb2VmZiwgZHFjb2Vm
ZiwgcGl4X251bSwgc3NlKSA+PiBzaGlmdDsKLSAgKnJlY29uX2Vycm9yID0gVlBYTUFYKCpyZWNv
bl9lcnJvciwgMSk7Ci0KLSAgKnNzZSA9ICgqc3NlKSA+PiBzaGlmdDsKLSAgKnNzZSA9IFZQWE1B
WCgqc3NlLCAxKTsKLX0KLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi12b2lkIHZwOV9o
aWdoYmRfd2h0X2Z3ZF90eGZtKGludDE2X3QgKnNyY19kaWZmLCBpbnQgYncsIHRyYW5fbG93X3Qg
KmNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUWF9TSVpFIHR4X3NpemUpIHsK
LSAgLy8gVE9ETyhzZGVuZyk6IEltcGxlbWVudCBTSU1EIGJhc2VkIGhpZ2ggYml0LWRlcHRoIEhh
ZGFtYXJkIHRyYW5zZm9ybXMuCi0gIHN3aXRjaCAodHhfc2l6ZSkgewotICAgIGNhc2UgVFhfOFg4
OiB2cHhfaGlnaGJkX2hhZGFtYXJkXzh4OChzcmNfZGlmZiwgYncsIGNvZWZmKTsgYnJlYWs7Ci0g
ICAgY2FzZSBUWF8xNlgxNjogdnB4X2hpZ2hiZF9oYWRhbWFyZF8xNngxNihzcmNfZGlmZiwgYncs
IGNvZWZmKTsgYnJlYWs7Ci0gICAgY2FzZSBUWF8zMlgzMjogdnB4X2hpZ2hiZF9oYWRhbWFyZF8z
MngzMihzcmNfZGlmZiwgYncsIGNvZWZmKTsgYnJlYWs7Ci0gICAgZGVmYXVsdDogYXNzZXJ0KDAp
OwotICB9Ci19Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLXZvaWQgdnA5
X3dodF9md2RfdHhmbShpbnQxNl90ICpzcmNfZGlmZiwgaW50IGJ3LCB0cmFuX2xvd190ICpjb2Vm
ZiwKLSAgICAgICAgICAgICAgICAgICAgICBUWF9TSVpFIHR4X3NpemUpIHsKLSAgc3dpdGNoICh0
eF9zaXplKSB7Ci0gICAgY2FzZSBUWF84WDg6IHZweF9oYWRhbWFyZF84eDgoc3JjX2RpZmYsIGJ3
LCBjb2VmZik7IGJyZWFrOwotICAgIGNhc2UgVFhfMTZYMTY6IHZweF9oYWRhbWFyZF8xNngxNihz
cmNfZGlmZiwgYncsIGNvZWZmKTsgYnJlYWs7Ci0gICAgY2FzZSBUWF8zMlgzMjogdnB4X2hhZGFt
YXJkXzMyeDMyKHNyY19kaWZmLCBidywgY29lZmYpOyBicmVhazsKLSAgICBkZWZhdWx0OiBhc3Nl
cnQoMCk7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgc2V0X212X2xpbWl0cyhjb25zdCBWUDlfQ09N
TU9OICpjbSwgTUFDUk9CTE9DSyAqeCwgaW50IG1pX3JvdywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IG1pX2NvbCkgewotICB4LT5tdl9saW1pdHMucm93X21pbiA9IC0oKG1pX3JvdyAq
IE1JX1NJWkUpICsgKDE3IC0gMiAqIFZQOV9JTlRFUlBfRVhURU5EKSk7Ci0gIHgtPm12X2xpbWl0
cy5yb3dfbWF4ID0KLSAgICAgIChjbS0+bWlfcm93cyAtIDEgLSBtaV9yb3cpICogTUlfU0laRSAr
ICgxNyAtIDIgKiBWUDlfSU5URVJQX0VYVEVORCk7Ci0gIHgtPm12X2xpbWl0cy5jb2xfbWluID0g
LSgobWlfY29sICogTUlfU0laRSkgKyAoMTcgLSAyICogVlA5X0lOVEVSUF9FWFRFTkQpKTsKLSAg
eC0+bXZfbGltaXRzLmNvbF9tYXggPQotICAgICAgKChjbS0+bWlfY29scyAtIDEgLSBtaV9jb2wp
ICogTUlfU0laRSkgKyAoMTcgLSAyICogVlA5X0lOVEVSUF9FWFRFTkQpOwotfQotCi1zdGF0aWMg
aW50IHJhdGVfZXN0aW1hdG9yKGNvbnN0IHRyYW5fbG93X3QgKnFjb2VmZiwgaW50IGVvYiwgVFhf
U0laRSB0eF9zaXplKSB7Ci0gIGNvbnN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlciA9ICZ2
cDlfc2Nhbl9vcmRlcnNbdHhfc2l6ZV1bRENUX0RDVF07Ci0gIGludCByYXRlX2Nvc3QgPSAxOwot
ICBpbnQgaWR4OwotICBhc3NlcnQoKDEgPDwgbnVtX3BlbHNfbG9nMl9sb29rdXBbdHhzaXplX3Rv
X2JzaXplW3R4X3NpemVdXSkgPj0gZW9iKTsKLSAgZm9yIChpZHggPSAwOyBpZHggPCBlb2I7ICsr
aWR4KSB7Ci0gICAgdW5zaWduZWQgaW50IGFic19sZXZlbCA9IGFicyhxY29lZmZbc2Nhbl9vcmRl
ci0+c2NhbltpZHhdXSk7Ci0gICAgcmF0ZV9jb3N0ICs9IGdldF9tc2IoYWJzX2xldmVsICsgMSkg
KyAxICsgKGFic19sZXZlbCA+IDApOwotICB9Ci0KLSAgcmV0dXJuIChyYXRlX2Nvc3QgPDwgVlA5
X1BST0JfQ09TVF9TSElGVCk7Ci19Ci0KLXN0YXRpYyB2b2lkIG1vZGVfZXN0aW1hdGlvbihWUDlf
Q09NUCAqY3BpLCBNQUNST0JMT0NLICp4LCBNQUNST0JMT0NLRCAqeGQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0IHNjYWxlX2ZhY3RvcnMgKnNmLCBHRl9QSUNUVVJFICpnZl9w
aWN0dXJlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmcmFtZV9pZHgsIFRwbERl
cEZyYW1lICp0cGxfZnJhbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCAq
c3JjX2RpZmYsIHRyYW5fbG93X3QgKmNvZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRyYW5fbG93X3QgKnFjb2VmZiwgdHJhbl9sb3dfdCAqZHFjb2VmZiwgaW50IG1pX3JvdywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWlfY29sLCBCTE9DS19TSVpFIGJzaXplLCBU
WF9TSVpFIHR4X3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgWVYxMl9CVUZGRVJf
Q09ORklHICpyZWZfZnJhbWVbXSwgdWludDhfdCAqcHJlZGljdG9yLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDY0X3QgKnJlY29uX2Vycm9yLCBpbnQ2NF90ICpyYXRlX2Nvc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCAqc3NlLCBpbnQgKnJlZl9mcmFtZV9p
ZHgpIHsKLSAgVlA5X0NPTU1PTiAqY20gPSAmY3BpLT5jb21tb247Ci0gIFRocmVhZERhdGEgKnRk
ID0gJmNwaS0+dGQ7Ci0KLSAgY29uc3QgaW50IGJ3ID0gNCA8PCBiX3dpZHRoX2xvZzJfbG9va3Vw
W2JzaXplXTsKLSAgY29uc3QgaW50IGJoID0gNCA8PCBiX2hlaWdodF9sb2cyX2xvb2t1cFtic2l6
ZV07Ci0gIGNvbnN0IGludCBwaXhfbnVtID0gYncgKiBiaDsKLSAgaW50IGJlc3RfcmZfaWR4ID0g
LTE7Ci0gIGludF9tdiBiZXN0X212OwotICBpbnQ2NF90IGJlc3RfaW50ZXJfY29zdCA9IElOVDY0
X01BWDsKLSAgaW50NjRfdCBpbnRlcl9jb3N0OwotICBpbnQgcmZfaWR4OwotICBjb25zdCBJbnRl
cnBLZXJuZWwgKmNvbnN0IGtlcm5lbCA9IHZwOV9maWx0ZXJfa2VybmVsc1tFSUdIVFRBUF07Ci0K
LSAgaW50NjRfdCBiZXN0X2ludHJhX2Nvc3QgPSBJTlQ2NF9NQVg7Ci0gIGludDY0X3QgaW50cmFf
Y29zdDsKLSAgUFJFRElDVElPTl9NT0RFIG1vZGU7Ci0gIGludCBtYl95X29mZnNldCA9IG1pX3Jv
dyAqIE1JX1NJWkUgKiB4ZC0+Y3VyX2J1Zi0+eV9zdHJpZGUgKyBtaV9jb2wgKiBNSV9TSVpFOwot
ICBNT0RFX0lORk8gbWlfYWJvdmUsIG1pX2xlZnQ7Ci0gIGNvbnN0IGludCBtaV9oZWlnaHQgPSBu
dW1fOHg4X2Jsb2Nrc19oaWdoX2xvb2t1cFtic2l6ZV07Ci0gIGNvbnN0IGludCBtaV93aWR0aCA9
IG51bV84eDhfYmxvY2tzX3dpZGVfbG9va3VwW2JzaXplXTsKLSAgVHBsRGVwU3RhdHMgKnRwbF9z
dGF0cyA9Ci0gICAgICAmdHBsX2ZyYW1lLT50cGxfc3RhdHNfcHRyW21pX3JvdyAqIHRwbF9mcmFt
ZS0+c3RyaWRlICsgbWlfY29sXTsKLQotICB4ZC0+bWJfdG9fdG9wX2VkZ2UgPSAtKChtaV9yb3cg
KiBNSV9TSVpFKSAqIDgpOwotICB4ZC0+bWJfdG9fYm90dG9tX2VkZ2UgPSAoKGNtLT5taV9yb3dz
IC0gMSAtIG1pX3JvdykgKiBNSV9TSVpFKSAqIDg7Ci0gIHhkLT5tYl90b19sZWZ0X2VkZ2UgPSAt
KChtaV9jb2wgKiBNSV9TSVpFKSAqIDgpOwotICB4ZC0+bWJfdG9fcmlnaHRfZWRnZSA9ICgoY20t
Pm1pX2NvbHMgLSAxIC0gbWlfY29sKSAqIE1JX1NJWkUpICogODsKLSAgeGQtPmFib3ZlX21pID0g
KG1pX3JvdyA+IDApID8gJm1pX2Fib3ZlIDogTlVMTDsKLSAgeGQtPmxlZnRfbWkgPSAobWlfY29s
ID4gMCkgPyAmbWlfbGVmdCA6IE5VTEw7Ci0KLSAgLy8gSW50cmEgcHJlZGljdGlvbiBzZWFyY2gK
LSAgZm9yIChtb2RlID0gRENfUFJFRDsgbW9kZSA8PSBUTV9QUkVEOyArK21vZGUpIHsKLSAgICB1
aW50OF90ICpzcmMsICpkc3Q7Ci0gICAgaW50IHNyY19zdHJpZGUsIGRzdF9zdHJpZGU7Ci0KLSAg
ICBzcmMgPSB4ZC0+Y3VyX2J1Zi0+eV9idWZmZXIgKyBtYl95X29mZnNldDsKLSAgICBzcmNfc3Ry
aWRlID0geGQtPmN1cl9idWYtPnlfc3RyaWRlOwotCi0gICAgZHN0ID0gJnByZWRpY3RvclswXTsK
LSAgICBkc3Rfc3RyaWRlID0gYnc7Ci0KLSAgICB4ZC0+bWlbMF0tPnNiX3R5cGUgPSBic2l6ZTsK
LSAgICB4ZC0+bWlbMF0tPnJlZl9mcmFtZVswXSA9IElOVFJBX0ZSQU1FOwotCi0gICAgdnA5X3By
ZWRpY3RfaW50cmFfYmxvY2soeGQsIGJfd2lkdGhfbG9nMl9sb29rdXBbYnNpemVdLCB0eF9zaXpl
LCBtb2RlLCBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0
LCBkc3Rfc3RyaWRlLCAwLCAwLCAwKTsKLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0g
ICAgaWYgKHhkLT5jdXJfYnVmLT5mbGFncyAmIFlWMTJfRkxBR19ISUdIQklUREVQVEgpIHsKLSAg
ICAgIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2soYmgsIGJ3LCBzcmNfZGlmZiwgYncsIHNyYywg
c3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc3Ry
aWRlLCB4ZC0+YmQpOwotICAgICAgdnA5X2hpZ2hiZF93aHRfZndkX3R4Zm0oc3JjX2RpZmYsIGJ3
LCBjb2VmZiwgdHhfc2l6ZSk7Ci0gICAgICBpbnRyYV9jb3N0ID0gdnB4X2hpZ2hiZF9zYXRkKGNv
ZWZmLCBwaXhfbnVtKTsKLSAgICB9IGVsc2UgewotICAgICAgdnB4X3N1YnRyYWN0X2Jsb2NrKGJo
LCBidywgc3JjX2RpZmYsIGJ3LCBzcmMsIHNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICBkc3Rfc3RyaWRlKTsKLSAgICAgIHZwOV93aHRfZndkX3R4Zm0oc3JjX2RpZmYs
IGJ3LCBjb2VmZiwgdHhfc2l6ZSk7Ci0gICAgICBpbnRyYV9jb3N0ID0gdnB4X3NhdGQoY29lZmYs
IHBpeF9udW0pOwotICAgIH0KLSNlbHNlCi0gICAgdnB4X3N1YnRyYWN0X2Jsb2NrKGJoLCBidywg
c3JjX2RpZmYsIGJ3LCBzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSk7Ci0gICAgdnA5
X3dodF9md2RfdHhmbShzcmNfZGlmZiwgYncsIGNvZWZmLCB0eF9zaXplKTsKLSAgICBpbnRyYV9j
b3N0ID0gdnB4X3NhdGQoY29lZmYsIHBpeF9udW0pOwotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJ
R0hCSVRERVBUSAotCi0gICAgaWYgKGludHJhX2Nvc3QgPCBiZXN0X2ludHJhX2Nvc3QpIGJlc3Rf
aW50cmFfY29zdCA9IGludHJhX2Nvc3Q7Ci0gIH0KLQotICAvLyBNb3Rpb24gY29tcGVuc2F0ZWQg
cHJlZGljdGlvbgotICBiZXN0X212LmFzX2ludCA9IDA7Ci0KLSAgc2V0X212X2xpbWl0cyhjbSwg
eCwgbWlfcm93LCBtaV9jb2wpOwotCi0gIGZvciAocmZfaWR4ID0gMDsgcmZfaWR4IDwgTUFYX0lO
VEVSX1JFRl9GUkFNRVM7ICsrcmZfaWR4KSB7Ci0gICAgaW50X212IG12OwotI2lmIENPTkZJR19O
T05fR1JFRURZX01WCi0gICAgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZDsKLSNlbmRpZgotICAg
IGlmIChyZWZfZnJhbWVbcmZfaWR4XSA9PSBOVUxMKSBjb250aW51ZTsKLQotI2lmIENPTkZJR19O
T05fR1JFRURZX01WCi0gICAgKHZvaWQpdGQ7Ci0gICAgbW90aW9uX2ZpZWxkID0gdnA5X21vdGlv
bl9maWVsZF9pbmZvX2dldF9tb3Rpb25fZmllbGQoCi0gICAgICAgICZjcGktPm1vdGlvbl9maWVs
ZF9pbmZvLCBmcmFtZV9pZHgsIHJmX2lkeCwgYnNpemUpOwotICAgIG12ID0gdnA5X21vdGlvbl9m
aWVsZF9taV9nZXRfbXYobW90aW9uX2ZpZWxkLCBtaV9yb3csIG1pX2NvbCk7Ci0jZWxzZQotICAg
IG1vdGlvbl9jb21wZW5zYXRlZF9wcmVkaWN0aW9uKGNwaSwgdGQsIHhkLT5jdXJfYnVmLT55X2J1
ZmZlciArIG1iX3lfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
Zl9mcmFtZVtyZl9pZHhdLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHhkLT5jdXJfYnVmLT55X3N0cmlkZSwgYnNpemUsICZtdi5hc19t
dik7Ci0jZW5kaWYKLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAgaWYgKHhkLT5j
dXJfYnVmLT5mbGFncyAmIFlWMTJfRkxBR19ISUdIQklUREVQVEgpIHsKLSAgICAgIHZwOV9oaWdo
YmRfYnVpbGRfaW50ZXJfcHJlZGljdG9yKAotICAgICAgICAgIENPTlZFUlRfVE9fU0hPUlRQVFIo
cmVmX2ZyYW1lW3JmX2lkeF0tPnlfYnVmZmVyICsgbWJfeV9vZmZzZXQpLAotICAgICAgICAgIHJl
Zl9mcmFtZVtyZl9pZHhdLT55X3N0cmlkZSwgQ09OVkVSVF9UT19TSE9SVFBUUigmcHJlZGljdG9y
WzBdKSwgYncsCi0gICAgICAgICAgJm12LmFzX212LCBzZiwgYncsIGJoLCAwLCBrZXJuZWwsIE1W
X1BSRUNJU0lPTl9RMywgbWlfY29sICogTUlfU0laRSwKLSAgICAgICAgICBtaV9yb3cgKiBNSV9T
SVpFLCB4ZC0+YmQpOwotICAgICAgdnB4X2hpZ2hiZF9zdWJ0cmFjdF9ibG9jaygKLSAgICAgICAg
ICBiaCwgYncsIHNyY19kaWZmLCBidywgeGQtPmN1cl9idWYtPnlfYnVmZmVyICsgbWJfeV9vZmZz
ZXQsCi0gICAgICAgICAgeGQtPmN1cl9idWYtPnlfc3RyaWRlLCAmcHJlZGljdG9yWzBdLCBidywg
eGQtPmJkKTsKLSAgICAgIHZwOV9oaWdoYmRfd2h0X2Z3ZF90eGZtKHNyY19kaWZmLCBidywgY29l
ZmYsIHR4X3NpemUpOwotICAgICAgaW50ZXJfY29zdCA9IHZweF9oaWdoYmRfc2F0ZChjb2VmZiwg
cGl4X251bSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHZwOV9idWlsZF9pbnRlcl9wcmVkaWN0b3Io
Ci0gICAgICAgICAgcmVmX2ZyYW1lW3JmX2lkeF0tPnlfYnVmZmVyICsgbWJfeV9vZmZzZXQsCi0g
ICAgICAgICAgcmVmX2ZyYW1lW3JmX2lkeF0tPnlfc3RyaWRlLCAmcHJlZGljdG9yWzBdLCBidywg
Jm12LmFzX212LCBzZiwgYncsIGJoLAotICAgICAgICAgIDAsIGtlcm5lbCwgTVZfUFJFQ0lTSU9O
X1EzLCBtaV9jb2wgKiBNSV9TSVpFLCBtaV9yb3cgKiBNSV9TSVpFKTsKLSAgICAgIHZweF9zdWJ0
cmFjdF9ibG9jayhiaCwgYncsIHNyY19kaWZmLCBidywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB4ZC0+Y3VyX2J1Zi0+eV9idWZmZXIgKyBtYl95X29mZnNldCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICB4ZC0+Y3VyX2J1Zi0+eV9zdHJpZGUsICZwcmVkaWN0b3JbMF0sIGJ3KTsKLSAgICAg
IHZwOV93aHRfZndkX3R4Zm0oc3JjX2RpZmYsIGJ3LCBjb2VmZiwgdHhfc2l6ZSk7Ci0gICAgICBp
bnRlcl9jb3N0ID0gdnB4X3NhdGQoY29lZmYsIHBpeF9udW0pOwotICAgIH0KLSNlbHNlCi0gICAg
dnA5X2J1aWxkX2ludGVyX3ByZWRpY3RvcihyZWZfZnJhbWVbcmZfaWR4XS0+eV9idWZmZXIgKyBt
Yl95X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZl9mcmFtZVtyZl9p
ZHhdLT55X3N0cmlkZSwgJnByZWRpY3RvclswXSwgYncsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmbXYuYXNfbXYsIHNmLCBidywgYmgsIDAsIGtlcm5lbCwgTVZfUFJFQ0lTSU9OX1Ez
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlfY29sICogTUlfU0laRSwgbWlfcm93
ICogTUlfU0laRSk7Ci0gICAgdnB4X3N1YnRyYWN0X2Jsb2NrKGJoLCBidywgc3JjX2RpZmYsIGJ3
LAotICAgICAgICAgICAgICAgICAgICAgICB4ZC0+Y3VyX2J1Zi0+eV9idWZmZXIgKyBtYl95X29m
ZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgeGQtPmN1cl9idWYtPnlfc3RyaWRlLCAmcHJl
ZGljdG9yWzBdLCBidyk7Ci0gICAgdnA5X3dodF9md2RfdHhmbShzcmNfZGlmZiwgYncsIGNvZWZm
LCB0eF9zaXplKTsKLSAgICBpbnRlcl9jb3N0ID0gdnB4X3NhdGQoY29lZmYsIHBpeF9udW0pOwot
I2VuZGlmCi0KLSAgICBpZiAoaW50ZXJfY29zdCA8IGJlc3RfaW50ZXJfY29zdCkgewotICAgICAg
dWludDE2X3QgZW9iID0gMDsKLSAgICAgIGJlc3RfcmZfaWR4ID0gcmZfaWR4OwotICAgICAgYmVz
dF9pbnRlcl9jb3N0ID0gaW50ZXJfY29zdDsKLSAgICAgIGJlc3RfbXYuYXNfaW50ID0gbXYuYXNf
aW50OwotICAgICAgLy8gU2luY2UgYmVzdF9pbnRlcl9jb3N0IGlzIGluaXRpYWxpemVkIGFzIElO
VDY0X01BWCwgcmVjb25fZXJyb3IgYW5kCi0gICAgICAvLyByYXRlX2Nvc3Qgd2lsbCBiZSBjYWxj
dWxhdGVkIHdpdGggdGhlIGJlc3QgcmVmZXJlbmNlIGZyYW1lLgotICAgICAgZ2V0X3F1YW50aXpl
X2Vycm9yKHgsIDAsIGNvZWZmLCBxY29lZmYsIGRxY29lZmYsIHR4X3NpemUsIHJlY29uX2Vycm9y
LAotICAgICAgICAgICAgICAgICAgICAgICAgIHNzZSwgJmVvYik7Ci0gICAgICAqcmF0ZV9jb3N0
ID0gcmF0ZV9lc3RpbWF0b3IocWNvZWZmLCBlb2IsIHR4X3NpemUpOwotICAgIH0KLSAgfQotICBi
ZXN0X2ludHJhX2Nvc3QgPSBWUFhNQVgoYmVzdF9pbnRyYV9jb3N0LCAxKTsKLSAgYmVzdF9pbnRl
cl9jb3N0ID0gVlBYTUlOKGJlc3RfaW50cmFfY29zdCwgYmVzdF9pbnRlcl9jb3N0KTsKLSAgdHBs
X3N0YXRzLT5pbnRlcl9jb3N0ID0gVlBYTUFYKAotICAgICAgMSwgKGJlc3RfaW50ZXJfY29zdCA8
PCBUUExfREVQX0NPU1RfU0NBTEVfTE9HMikgLyAobWlfaGVpZ2h0ICogbWlfd2lkdGgpKTsKLSAg
dHBsX3N0YXRzLT5pbnRyYV9jb3N0ID0gVlBYTUFYKAotICAgICAgMSwgKGJlc3RfaW50cmFfY29z
dCA8PCBUUExfREVQX0NPU1RfU0NBTEVfTE9HMikgLyAobWlfaGVpZ2h0ICogbWlfd2lkdGgpKTsK
LSAgdHBsX3N0YXRzLT5yZWZfZnJhbWVfaW5kZXggPSBnZl9waWN0dXJlW2ZyYW1lX2lkeF0ucmVm
X2ZyYW1lW2Jlc3RfcmZfaWR4XTsKLSAgdHBsX3N0YXRzLT5tdi5hc19pbnQgPSBiZXN0X212LmFz
X2ludDsKLSAgKnJlZl9mcmFtZV9pZHggPSBiZXN0X3JmX2lkeDsKLX0KLQotI2lmIENPTkZJR19O
T05fR1JFRURZX01WCi1zdGF0aWMgaW50IGdldF9ibG9ja19zcmNfcHJlZF9idWYoTUFDUk9CTE9D
S0QgKnhkLCBHRl9QSUNUVVJFICpnZl9waWN0dXJlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBmcmFtZV9pZHgsIGludCByZl9pZHgsIGludCBtaV9yb3csCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pX2NvbCwgc3RydWN0IGJ1Zl8yZCAqc3Jj
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBidWZfMmQgKnByZSkg
ewotICBjb25zdCBpbnQgbWJfeV9vZmZzZXQgPQotICAgICAgbWlfcm93ICogTUlfU0laRSAqIHhk
LT5jdXJfYnVmLT55X3N0cmlkZSArIG1pX2NvbCAqIE1JX1NJWkU7Ci0gIFlWMTJfQlVGRkVSX0NP
TkZJRyAqcmVmX2ZyYW1lID0gTlVMTDsKLSAgaW50IHJlZl9mcmFtZV9pZHggPSBnZl9waWN0dXJl
W2ZyYW1lX2lkeF0ucmVmX2ZyYW1lW3JmX2lkeF07Ci0gIGlmIChyZWZfZnJhbWVfaWR4ICE9IC0x
KSB7Ci0gICAgcmVmX2ZyYW1lID0gZ2ZfcGljdHVyZVtyZWZfZnJhbWVfaWR4XS5mcmFtZTsKLSAg
ICBzcmMtPmJ1ZiA9IHhkLT5jdXJfYnVmLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0OwotICAgIHNy
Yy0+c3RyaWRlID0geGQtPmN1cl9idWYtPnlfc3RyaWRlOwotICAgIHByZS0+YnVmID0gcmVmX2Zy
YW1lLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0OwotICAgIHByZS0+c3RyaWRlID0gcmVmX2ZyYW1l
LT55X3N0cmlkZTsKLSAgICBhc3NlcnQoc3JjLT5zdHJpZGUgPT0gcHJlLT5zdHJpZGUpOwotICAg
IHJldHVybiAxOwotICB9IGVsc2UgewotICAgIHByaW50ZigiaW52YWxpZCByZWZfZnJhbWVfaWR4
Iik7Ci0gICAgYXNzZXJ0KHJlZl9mcmFtZV9pZHggIT0gLTEpOwotICAgIHJldHVybiAwOwotICB9
Ci19Ci0KLSNkZWZpbmUga012UHJlQ2hlY2tMaW5lcyA1Ci0jZGVmaW5lIGtNdlByZUNoZWNrU2l6
ZSAxNQotCi0jZGVmaW5lIE1WX1JFRl9QT1NfTlVNIDMKLVBPU0lUSU9OIG12X3JlZl9wb3NbTVZf
UkVGX1BPU19OVU1dID0gewotICB7IC0xLCAwIH0sCi0gIHsgMCwgLTEgfSwKLSAgeyAtMSwgLTEg
fSwKLX07Ci0KLXN0YXRpYyBpbnRfbXYgKmdldF9zZWxlY3RfbXYoVlA5X0NPTVAgKmNwaSwgVHBs
RGVwRnJhbWUgKnRwbF9mcmFtZSwgaW50IG1pX3JvdywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IG1pX2NvbCkgewotICByZXR1cm4gJmNwaS0+c2VsZWN0X212X2FyclttaV9yb3cg
KiB0cGxfZnJhbWUtPnN0cmlkZSArIG1pX2NvbF07Ci19Ci0KLXN0YXRpYyBpbnRfbXYgZmluZF9y
ZWZfbXYoaW50IG12X21vZGUsIFZQOV9DT01QICpjcGksIFRwbERlcEZyYW1lICp0cGxfZnJhbWUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJWkUgYnNpemUsIGludCBtaV9yb3cs
IGludCBtaV9jb2wpIHsKLSAgaW50IGk7Ci0gIGNvbnN0IGludCBtaV9oZWlnaHQgPSBudW1fOHg4
X2Jsb2Nrc19oaWdoX2xvb2t1cFtic2l6ZV07Ci0gIGNvbnN0IGludCBtaV93aWR0aCA9IG51bV84
eDhfYmxvY2tzX3dpZGVfbG9va3VwW2JzaXplXTsKLSAgaW50X212IG5lYXJlc3RfbXYsIG5lYXJf
bXYsIGludmFsaWRfbXY7Ci0gIG5lYXJlc3RfbXYuYXNfaW50ID0gSU5WQUxJRF9NVjsKLSAgbmVh
cl9tdi5hc19pbnQgPSBJTlZBTElEX01WOwotICBpbnZhbGlkX212LmFzX2ludCA9IElOVkFMSURf
TVY7Ci0gIGZvciAoaSA9IDA7IGkgPCBNVl9SRUZfUE9TX05VTTsgKytpKSB7Ci0gICAgaW50IG5i
X3JvdyA9IG1pX3JvdyArIG12X3JlZl9wb3NbaV0ucm93ICogbWlfaGVpZ2h0OwotICAgIGludCBu
Yl9jb2wgPSBtaV9jb2wgKyBtdl9yZWZfcG9zW2ldLmNvbCAqIG1pX3dpZHRoOwotICAgIGFzc2Vy
dChtdl9yZWZfcG9zW2ldLnJvdyA8PSAwKTsKLSAgICBhc3NlcnQobXZfcmVmX3Bvc1tpXS5jb2wg
PD0gMCk7Ci0gICAgaWYgKG5iX3JvdyA+PSAwICYmIG5iX2NvbCA+PSAwKSB7Ci0gICAgICBpZiAo
bmVhcmVzdF9tdi5hc19pbnQgPT0gSU5WQUxJRF9NVikgewotICAgICAgICBuZWFyZXN0X212ID0g
KmdldF9zZWxlY3RfbXYoY3BpLCB0cGxfZnJhbWUsIG5iX3JvdywgbmJfY29sKTsKLSAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGludF9tdiBtdiA9ICpnZXRfc2VsZWN0X212KGNwaSwgdHBsX2ZyYW1l
LCBuYl9yb3csIG5iX2NvbCk7Ci0gICAgICAgIGlmIChtdi5hc19pbnQgPT0gbmVhcmVzdF9tdi5h
c19pbnQpIHsKLSAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICBuZWFyX212ID0gbXY7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAg
ICB9Ci0gIH0KLSAgaWYgKG5lYXJlc3RfbXYuYXNfaW50ID09IElOVkFMSURfTVYpIHsKLSAgICBu
ZWFyZXN0X212LmFzX212LnJvdyA9IDA7Ci0gICAgbmVhcmVzdF9tdi5hc19tdi5jb2wgPSAwOwot
ICB9Ci0gIGlmIChuZWFyX212LmFzX2ludCA9PSBJTlZBTElEX01WKSB7Ci0gICAgbmVhcl9tdi5h
c19tdi5yb3cgPSAwOwotICAgIG5lYXJfbXYuYXNfbXYuY29sID0gMDsKLSAgfQotICBpZiAobXZf
bW9kZSA9PSBORUFSRVNUX01WX01PREUpIHsKLSAgICByZXR1cm4gbmVhcmVzdF9tdjsKLSAgfQot
ICBpZiAobXZfbW9kZSA9PSBORUFSX01WX01PREUpIHsKLSAgICByZXR1cm4gbmVhcl9tdjsKLSAg
fQotICBhc3NlcnQoMCk7Ci0gIHJldHVybiBpbnZhbGlkX212OwotfQotCi1zdGF0aWMgaW50X212
IGdldF9tdl9mcm9tX212X21vZGUoaW50IG12X21vZGUsIFZQOV9DT01QICpjcGksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lLCBC
TE9DS19TSVpFIGJzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBt
aV9yb3csIGludCBtaV9jb2wpIHsKLSAgaW50X212IG12OwotICBzd2l0Y2ggKG12X21vZGUpIHsK
LSAgICBjYXNlIFpFUk9fTVZfTU9ERToKLSAgICAgIG12LmFzX212LnJvdyA9IDA7Ci0gICAgICBt
di5hc19tdi5jb2wgPSAwOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBORVdfTVZfTU9ERToKLSAg
ICAgIG12ID0gdnA5X21vdGlvbl9maWVsZF9taV9nZXRfbXYobW90aW9uX2ZpZWxkLCBtaV9yb3cs
IG1pX2NvbCk7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIE5FQVJFU1RfTVZfTU9ERToKLSAgICAg
IG12ID0gZmluZF9yZWZfbXYobXZfbW9kZSwgY3BpLCB0cGxfZnJhbWUsIGJzaXplLCBtaV9yb3cs
IG1pX2NvbCk7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIE5FQVJfTVZfTU9ERToKLSAgICAgIG12
ID0gZmluZF9yZWZfbXYobXZfbW9kZSwgY3BpLCB0cGxfZnJhbWUsIGJzaXplLCBtaV9yb3csIG1p
X2NvbCk7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgbXYuYXNfaW50ID0gSU5W
QUxJRF9NVjsKLSAgICAgIGFzc2VydCgwKTsKLSAgICAgIGJyZWFrOwotICB9Ci0gIHJldHVybiBt
djsKLX0KLQotc3RhdGljIGRvdWJsZSBnZXRfbXZfZGlzdChpbnQgbXZfbW9kZSwgVlA5X0NPTVAg
KmNwaSwgTUFDUk9CTE9DS0QgKnhkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBHRl9QSUNU
VVJFICpnZl9waWN0dXJlLCBNb3Rpb25GaWVsZCAqbW90aW9uX2ZpZWxkLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZnJhbWVfaWR4LCBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lLCBpbnQg
cmZfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS19TSVpFIGJzaXplLCBpbnQg
bWlfcm93LCBpbnQgbWlfY29sLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRfbXYgKm12
KSB7Ci0gIHVpbnQzMl90IHNzZTsKLSAgc3RydWN0IGJ1Zl8yZCBzcmM7Ci0gIHN0cnVjdCBidWZf
MmQgcHJlOwotICBNViBmdWxsX212OwotICAqbXYgPSBnZXRfbXZfZnJvbV9tdl9tb2RlKG12X21v
ZGUsIGNwaSwgbW90aW9uX2ZpZWxkLCB0cGxfZnJhbWUsIGJzaXplLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1pX3JvdywgbWlfY29sKTsKLSAgZnVsbF9tdiA9IGdldF9mdWxsX212KCZt
di0+YXNfbXYpOwotICBpZiAoZ2V0X2Jsb2NrX3NyY19wcmVkX2J1Zih4ZCwgZ2ZfcGljdHVyZSwg
ZnJhbWVfaWR4LCByZl9pZHgsIG1pX3JvdywgbWlfY29sLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmc3JjLCAmcHJlKSkgewotICAgIC8vIFRPRE8oYW5naWViaXJkKTogQ29uc2lkZXIg
c3VicGl4ZWwgd2hlbiBjb21wdXRpbmcgdGhlIHNzZS4KLSAgICBjcGktPmZuX3B0cltic2l6ZV0u
dmYoc3JjLmJ1Ziwgc3JjLnN0cmlkZSwgZ2V0X2J1Zl9mcm9tX212KCZwcmUsICZmdWxsX212KSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlLnN0cmlkZSwgJnNzZSk7Ci0gICAgcmV0dXJu
IChkb3VibGUpKHNzZSA8PCBWUDlfRElTVF9TQ0FMRV9MT0cyKTsKLSAgfSBlbHNlIHsKLSAgICBh
c3NlcnQoMCk7Ci0gICAgcmV0dXJuIDA7Ci0gIH0KLX0KLQotc3RhdGljIGludCBnZXRfbXZfbW9k
ZV9jb3N0KGludCBtdl9tb2RlKSB7Ci0gIC8vIFRPRE8oYW5naWViaXJkKTogVGhlIHByb2JhYmls
aXRpZXMgYXJlIHJvdWdobHkgaW5mZXJyZWQgZnJvbQotICAvLyBkZWZhdWx0X2ludGVyX21vZGVf
cHJvYnMuIENoZWNrIGlmIHRoZXJlIGlzIGEgYmV0dGVyIHdheSB0byBzZXQgdGhlCi0gIC8vIHBy
b2JhYmlsaXRpZXMuCi0gIGNvbnN0IGludCB6ZXJvX212X3Byb2IgPSAxNjsKLSAgY29uc3QgaW50
IG5ld19tdl9wcm9iID0gMjQgKiAxOwotICBjb25zdCBpbnQgcmVmX212X3Byb2IgPSAyNTYgLSB6
ZXJvX212X3Byb2IgLSBuZXdfbXZfcHJvYjsKLSAgYXNzZXJ0KHplcm9fbXZfcHJvYiArIG5ld19t
dl9wcm9iICsgcmVmX212X3Byb2IgPT0gMjU2KTsKLSAgc3dpdGNoIChtdl9tb2RlKSB7Ci0gICAg
Y2FzZSBaRVJPX01WX01PREU6IHJldHVybiB2cDlfcHJvYl9jb3N0W3plcm9fbXZfcHJvYl07IGJy
ZWFrOwotICAgIGNhc2UgTkVXX01WX01PREU6IHJldHVybiB2cDlfcHJvYl9jb3N0W25ld19tdl9w
cm9iXTsgYnJlYWs7Ci0gICAgY2FzZSBORUFSRVNUX01WX01PREU6IHJldHVybiB2cDlfcHJvYl9j
b3N0W3JlZl9tdl9wcm9iXTsgYnJlYWs7Ci0gICAgY2FzZSBORUFSX01WX01PREU6IHJldHVybiB2
cDlfcHJvYl9jb3N0W3JlZl9tdl9wcm9iXTsgYnJlYWs7Ci0gICAgZGVmYXVsdDogYXNzZXJ0KDAp
OyByZXR1cm4gLTE7Ci0gIH0KLX0KLQotc3RhdGljIElOTElORSBkb3VibGUgZ2V0X212X2RpZmZf
Y29zdChNViAqbmV3X212LCBNViAqcmVmX212KSB7Ci0gIGRvdWJsZSBtdl9kaWZmX2Nvc3QgPSBs
b2cyKDEgKyBhYnMobmV3X212LT5yb3cgLSByZWZfbXYtPnJvdykpICsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGxvZzIoMSArIGFicyhuZXdfbXYtPmNvbCAtIHJlZl9tdi0+Y29sKSk7Ci0gIG12
X2RpZmZfY29zdCAqPSAoMSA8PCBWUDlfUFJPQl9DT1NUX1NISUZUKTsKLSAgcmV0dXJuIG12X2Rp
ZmZfY29zdDsKLX0KLXN0YXRpYyBkb3VibGUgZ2V0X212X2Nvc3QoaW50IG12X21vZGUsIFZQOV9D
T01QICpjcGksIE1vdGlvbkZpZWxkICptb3Rpb25fZmllbGQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIFRwbERlcEZyYW1lICp0cGxfZnJhbWUsIEJMT0NLX1NJWkUgYnNpemUsIGludCBtaV9y
b3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtaV9jb2wpIHsKLSAgZG91YmxlIG12
X2Nvc3QgPSBnZXRfbXZfbW9kZV9jb3N0KG12X21vZGUpOwotICBpZiAobXZfbW9kZSA9PSBORVdf
TVZfTU9ERSkgewotICAgIE1WIG5ld19tdiA9IGdldF9tdl9mcm9tX212X21vZGUobXZfbW9kZSwg
Y3BpLCBtb3Rpb25fZmllbGQsIHRwbF9mcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJzaXplLCBtaV9yb3csIG1pX2NvbCkKLSAgICAgICAgICAgICAgICAgICAgLmFz
X212OwotICAgIE1WIG5lYXJlc3RfbXYgPSBnZXRfbXZfZnJvbV9tdl9tb2RlKE5FQVJFU1RfTVZf
TU9ERSwgY3BpLCBtb3Rpb25fZmllbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHBsX2ZyYW1lLCBic2l6ZSwgbWlfcm93LCBtaV9jb2wpCi0gICAgICAgICAgICAg
ICAgICAgICAgICAuYXNfbXY7Ci0gICAgTVYgbmVhcl9tdiA9IGdldF9tdl9mcm9tX212X21vZGUo
TkVBUl9NVl9NT0RFLCBjcGksIG1vdGlvbl9maWVsZCwgdHBsX2ZyYW1lLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJzaXplLCBtaV9yb3csIG1pX2NvbCkKLSAgICAgICAg
ICAgICAgICAgICAgIC5hc19tdjsKLSAgICBkb3VibGUgbmVhcmVzdF9jb3N0ID0gZ2V0X212X2Rp
ZmZfY29zdCgmbmV3X212LCAmbmVhcmVzdF9tdik7Ci0gICAgZG91YmxlIG5lYXJfY29zdCA9IGdl
dF9tdl9kaWZmX2Nvc3QoJm5ld19tdiwgJm5lYXJfbXYpOwotICAgIG12X2Nvc3QgKz0gbmVhcmVz
dF9jb3N0IDwgbmVhcl9jb3N0ID8gbmVhcmVzdF9jb3N0IDogbmVhcl9jb3N0OwotICB9Ci0gIHJl
dHVybiBtdl9jb3N0OwotfQotCi1zdGF0aWMgZG91YmxlIGV2YWxfbXZfbW9kZShpbnQgbXZfbW9k
ZSwgVlA5X0NPTVAgKmNwaSwgTUFDUk9CTE9DSyAqeCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdGX1BJQ1RVUkUgKmdmX3BpY3R1cmUsIE1vdGlvbkZpZWxkICptb3Rpb25fZmllbGQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJhbWVfaWR4LCBUcGxEZXBGcmFtZSAqdHBs
X2ZyYW1lLCBpbnQgcmZfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQkxPQ0tfU0la
RSBic2l6ZSwgaW50IG1pX3JvdywgaW50IG1pX2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludF9tdiAqbXYpIHsKLSAgTUFDUk9CTE9DS0QgKnhkID0gJngtPmVfbWJkOwotICBkb3Vi
bGUgbXZfZGlzdCA9Ci0gICAgICBnZXRfbXZfZGlzdChtdl9tb2RlLCBjcGksIHhkLCBnZl9waWN0
dXJlLCBtb3Rpb25fZmllbGQsIGZyYW1lX2lkeCwKLSAgICAgICAgICAgICAgICAgIHRwbF9mcmFt
ZSwgcmZfaWR4LCBic2l6ZSwgbWlfcm93LCBtaV9jb2wsIG12KTsKLSAgZG91YmxlIG12X2Nvc3Qg
PQotICAgICAgZ2V0X212X2Nvc3QobXZfbW9kZSwgY3BpLCBtb3Rpb25fZmllbGQsIHRwbF9mcmFt
ZSwgYnNpemUsIG1pX3JvdywgbWlfY29sKTsKLSAgZG91YmxlIG11bHQgPSAxODA7Ci0KLSAgcmV0
dXJuIG12X2Nvc3QgKyBtdWx0ICogbG9nMmYoMSArIG12X2Rpc3QpOwotfQotCi1zdGF0aWMgaW50
IGZpbmRfYmVzdF9yZWZfbXZfbW9kZShWUDlfQ09NUCAqY3BpLCBNQUNST0JMT0NLICp4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0ZfUElDVFVSRSAqZ2ZfcGljdHVyZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vdGlvbkZpZWxkICptb3Rpb25fZmllbGQs
IGludCBmcmFtZV9pZHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcGxEZXBG
cmFtZSAqdHBsX2ZyYW1lLCBpbnQgcmZfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQkxPQ0tfU0laRSBic2l6ZSwgaW50IG1pX3JvdywgaW50IG1pX2NvbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSAqcmQsIGludF9tdiAqbXYpIHsKLSAgaW50
IGJlc3RfbXZfbW9kZSA9IFpFUk9fTVZfTU9ERTsKLSAgaW50IHVwZGF0ZSA9IDA7Ci0gIGludCBt
dl9tb2RlOwotICAqcmQgPSAwOwotICBmb3IgKG12X21vZGUgPSAwOyBtdl9tb2RlIDwgTUFYX01W
X01PREU7ICsrbXZfbW9kZSkgewotICAgIGRvdWJsZSB0aGlzX3JkOwotICAgIGludF9tdiB0aGlz
X212OwotICAgIGlmIChtdl9tb2RlID09IE5FV19NVl9NT0RFKSB7Ci0gICAgICBjb250aW51ZTsK
LSAgICB9Ci0gICAgdGhpc19yZCA9IGV2YWxfbXZfbW9kZShtdl9tb2RlLCBjcGksIHgsIGdmX3Bp
Y3R1cmUsIG1vdGlvbl9maWVsZCwgZnJhbWVfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHBsX2ZyYW1lLCByZl9pZHgsIGJzaXplLCBtaV9yb3csIG1pX2NvbCwgJnRoaXNfbXYpOwot
ICAgIGlmICh1cGRhdGUgPT0gMCkgewotICAgICAgKnJkID0gdGhpc19yZDsKLSAgICAgICptdiA9
IHRoaXNfbXY7Ci0gICAgICBiZXN0X212X21vZGUgPSBtdl9tb2RlOwotICAgICAgdXBkYXRlID0g
MTsKLSAgICB9IGVsc2UgewotICAgICAgaWYgKHRoaXNfcmQgPCAqcmQpIHsKLSAgICAgICAgKnJk
ID0gdGhpc19yZDsKLSAgICAgICAgKm12ID0gdGhpc19tdjsKLSAgICAgICAgYmVzdF9tdl9tb2Rl
ID0gbXZfbW9kZTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLSAgcmV0dXJuIGJlc3RfbXZfbW9kZTsK
LX0KLQotc3RhdGljIHZvaWQgcHJlZGljdF9tdl9tb2RlKFZQOV9DT01QICpjcGksIE1BQ1JPQkxP
Q0sgKngsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR0ZfUElDVFVSRSAqZ2ZfcGljdHVy
ZSwgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZnJhbWVfaWR4LCBUcGxEZXBGcmFtZSAqdHBsX2ZyYW1lLCBpbnQgcmZfaWR4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJWkUgYnNpemUsIGludCBtaV9yb3csIGlu
dCBtaV9jb2wpIHsKLSAgY29uc3QgaW50IG1pX2hlaWdodCA9IG51bV84eDhfYmxvY2tzX2hpZ2hf
bG9va3VwW2JzaXplXTsKLSAgY29uc3QgaW50IG1pX3dpZHRoID0gbnVtXzh4OF9ibG9ja3Nfd2lk
ZV9sb29rdXBbYnNpemVdOwotICBpbnQgdG1wX212X21vZGVfYXJyW2tNdlByZUNoZWNrU2l6ZV07
Ci0gIGludCAqbXZfbW9kZV9hcnIgPSB0cGxfZnJhbWUtPm12X21vZGVfYXJyW3JmX2lkeF07Ci0g
IGRvdWJsZSAqcmRfZGlmZl9hcnIgPSB0cGxfZnJhbWUtPnJkX2RpZmZfYXJyW3JmX2lkeF07Ci0g
IGludF9tdiAqc2VsZWN0X212X2FyciA9IGNwaS0+c2VsZWN0X212X2FycjsKLSAgaW50X212IHRt
cF9zZWxlY3RfbXZfYXJyW2tNdlByZUNoZWNrU2l6ZV07Ci0gIGludCBzdHJpZGUgPSB0cGxfZnJh
bWUtPnN0cmlkZTsKLSAgZG91YmxlIG5ld19tdl9yZCA9IDA7Ci0gIGRvdWJsZSBub19uZXdfbXZf
cmQgPSAwOwotICBkb3VibGUgdGhpc19uZXdfbXZfcmQgPSAwOwotICBkb3VibGUgdGhpc19ub19u
ZXdfbXZfcmQgPSAwOwotICBpbnQgaWR4OwotICBpbnQgdG1wX2lkeDsKLSAgYXNzZXJ0KGtNdlBy
ZUNoZWNrU2l6ZSA9PSAoa012UHJlQ2hlY2tMaW5lcyAqIChrTXZQcmVDaGVja0xpbmVzICsgMSkp
ID4+IDEpOwotCi0gIC8vIG5vIG5ldyBtdgotICAvLyBkaWFnb25hbCBzY2FuIG9yZGVyCi0gIHRt
cF9pZHggPSAwOwotICBmb3IgKGlkeCA9IDA7IGlkeCA8IGtNdlByZUNoZWNrTGluZXM7ICsraWR4
KSB7Ci0gICAgaW50IHI7Ci0gICAgZm9yIChyID0gMDsgciA8PSBpZHg7ICsrcikgewotICAgICAg
aW50IGMgPSBpZHggLSByOwotICAgICAgaW50IG5iX3JvdyA9IG1pX3JvdyArIHIgKiBtaV9oZWln
aHQ7Ci0gICAgICBpbnQgbmJfY29sID0gbWlfY29sICsgYyAqIG1pX3dpZHRoOwotICAgICAgaWYg
KG5iX3JvdyA8IHRwbF9mcmFtZS0+bWlfcm93cyAmJiBuYl9jb2wgPCB0cGxfZnJhbWUtPm1pX2Nv
bHMpIHsKLSAgICAgICAgZG91YmxlIHRoaXNfcmQ7Ci0gICAgICAgIGludF9tdiAqbXYgPSAmc2Vs
ZWN0X212X2FycltuYl9yb3cgKiBzdHJpZGUgKyBuYl9jb2xdOwotICAgICAgICBtdl9tb2RlX2Fy
cltuYl9yb3cgKiBzdHJpZGUgKyBuYl9jb2xdID0gZmluZF9iZXN0X3JlZl9tdl9tb2RlKAotICAg
ICAgICAgICAgY3BpLCB4LCBnZl9waWN0dXJlLCBtb3Rpb25fZmllbGQsIGZyYW1lX2lkeCwgdHBs
X2ZyYW1lLCByZl9pZHgsCi0gICAgICAgICAgICBic2l6ZSwgbmJfcm93LCBuYl9jb2wsICZ0aGlz
X3JkLCBtdik7Ci0gICAgICAgIGlmIChyID09IDAgJiYgYyA9PSAwKSB7Ci0gICAgICAgICAgdGhp
c19ub19uZXdfbXZfcmQgPSB0aGlzX3JkOwotICAgICAgICB9Ci0gICAgICAgIG5vX25ld19tdl9y
ZCArPSB0aGlzX3JkOwotICAgICAgICB0bXBfbXZfbW9kZV9hcnJbdG1wX2lkeF0gPSBtdl9tb2Rl
X2FycltuYl9yb3cgKiBzdHJpZGUgKyBuYl9jb2xdOwotICAgICAgICB0bXBfc2VsZWN0X212X2Fy
clt0bXBfaWR4XSA9IHNlbGVjdF9tdl9hcnJbbmJfcm93ICogc3RyaWRlICsgbmJfY29sXTsKLSAg
ICAgICAgKyt0bXBfaWR4OwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIC8vIG5ldyBtdgotICBt
dl9tb2RlX2FyclttaV9yb3cgKiBzdHJpZGUgKyBtaV9jb2xdID0gTkVXX01WX01PREU7Ci0gIHRo
aXNfbmV3X212X3JkID0gZXZhbF9tdl9tb2RlKAotICAgICAgTkVXX01WX01PREUsIGNwaSwgeCwg
Z2ZfcGljdHVyZSwgbW90aW9uX2ZpZWxkLCBmcmFtZV9pZHgsIHRwbF9mcmFtZSwKLSAgICAgIHJm
X2lkeCwgYnNpemUsIG1pX3JvdywgbWlfY29sLCAmc2VsZWN0X212X2FyclttaV9yb3cgKiBzdHJp
ZGUgKyBtaV9jb2xdKTsKLSAgbmV3X212X3JkID0gdGhpc19uZXdfbXZfcmQ7Ci0gIC8vIFdlIHN0
YXJ0IGZyb20gaWR4ID0gMSBiZWNhdXNlIGlkeCA9IDAgaXMgZXZhbHVhdGVkIGFzIE5FV19NVl9N
T0RFCi0gIC8vIGJlZm9yZWhhbmQuCi0gIGZvciAoaWR4ID0gMTsgaWR4IDwga012UHJlQ2hlY2tM
aW5lczsgKytpZHgpIHsKLSAgICBpbnQgcjsKLSAgICBmb3IgKHIgPSAwOyByIDw9IGlkeDsgKyty
KSB7Ci0gICAgICBpbnQgYyA9IGlkeCAtIHI7Ci0gICAgICBpbnQgbmJfcm93ID0gbWlfcm93ICsg
ciAqIG1pX2hlaWdodDsKLSAgICAgIGludCBuYl9jb2wgPSBtaV9jb2wgKyBjICogbWlfd2lkdGg7
Ci0gICAgICBpZiAobmJfcm93IDwgdHBsX2ZyYW1lLT5taV9yb3dzICYmIG5iX2NvbCA8IHRwbF9m
cmFtZS0+bWlfY29scykgewotICAgICAgICBkb3VibGUgdGhpc19yZDsKLSAgICAgICAgaW50X212
ICptdiA9ICZzZWxlY3RfbXZfYXJyW25iX3JvdyAqIHN0cmlkZSArIG5iX2NvbF07Ci0gICAgICAg
IG12X21vZGVfYXJyW25iX3JvdyAqIHN0cmlkZSArIG5iX2NvbF0gPSBmaW5kX2Jlc3RfcmVmX212
X21vZGUoCi0gICAgICAgICAgICBjcGksIHgsIGdmX3BpY3R1cmUsIG1vdGlvbl9maWVsZCwgZnJh
bWVfaWR4LCB0cGxfZnJhbWUsIHJmX2lkeCwKLSAgICAgICAgICAgIGJzaXplLCBuYl9yb3csIG5i
X2NvbCwgJnRoaXNfcmQsIG12KTsKLSAgICAgICAgbmV3X212X3JkICs9IHRoaXNfcmQ7Ci0gICAg
ICB9Ci0gICAgfQotICB9Ci0KLSAgLy8gdXBkYXRlIGJlc3RfbXZfbW9kZQotICB0bXBfaWR4ID0g
MDsKLSAgaWYgKG5vX25ld19tdl9yZCA8IG5ld19tdl9yZCkgewotICAgIGZvciAoaWR4ID0gMDsg
aWR4IDwga012UHJlQ2hlY2tMaW5lczsgKytpZHgpIHsKLSAgICAgIGludCByOwotICAgICAgZm9y
IChyID0gMDsgciA8PSBpZHg7ICsrcikgewotICAgICAgICBpbnQgYyA9IGlkeCAtIHI7Ci0gICAg
ICAgIGludCBuYl9yb3cgPSBtaV9yb3cgKyByICogbWlfaGVpZ2h0OwotICAgICAgICBpbnQgbmJf
Y29sID0gbWlfY29sICsgYyAqIG1pX3dpZHRoOwotICAgICAgICBpZiAobmJfcm93IDwgdHBsX2Zy
YW1lLT5taV9yb3dzICYmIG5iX2NvbCA8IHRwbF9mcmFtZS0+bWlfY29scykgewotICAgICAgICAg
IG12X21vZGVfYXJyW25iX3JvdyAqIHN0cmlkZSArIG5iX2NvbF0gPSB0bXBfbXZfbW9kZV9hcnJb
dG1wX2lkeF07Ci0gICAgICAgICAgc2VsZWN0X212X2FycltuYl9yb3cgKiBzdHJpZGUgKyBuYl9j
b2xdID0gdG1wX3NlbGVjdF9tdl9hcnJbdG1wX2lkeF07Ci0gICAgICAgICAgKyt0bXBfaWR4Owot
ICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotICAgIHJkX2RpZmZfYXJyW21pX3JvdyAqIHN0cmlk
ZSArIG1pX2NvbF0gPSAwOwotICB9IGVsc2UgewotICAgIHJkX2RpZmZfYXJyW21pX3JvdyAqIHN0
cmlkZSArIG1pX2NvbF0gPQotICAgICAgICAobm9fbmV3X212X3JkIC0gdGhpc19ub19uZXdfbXZf
cmQpIC0gKG5ld19tdl9yZCAtIHRoaXNfbmV3X212X3JkKTsKLSAgfQotfQotCi1zdGF0aWMgdm9p
ZCBwcmVkaWN0X212X21vZGVfYXJyKFZQOV9DT01QICpjcGksIE1BQ1JPQkxPQ0sgKngsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdGX1BJQ1RVUkUgKmdmX3BpY3R1cmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vdGlvbkZpZWxkICptb3Rpb25fZmllbGQsIGlu
dCBmcmFtZV9pZHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRwbERlcEZyYW1l
ICp0cGxfZnJhbWUsIGludCByZl9pZHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEJMT0NLX1NJWkUgYnNpemUpIHsKLSAgY29uc3QgaW50IG1pX2hlaWdodCA9IG51bV84eDhfYmxv
Y2tzX2hpZ2hfbG9va3VwW2JzaXplXTsKLSAgY29uc3QgaW50IG1pX3dpZHRoID0gbnVtXzh4OF9i
bG9ja3Nfd2lkZV9sb29rdXBbYnNpemVdOwotICBjb25zdCBpbnQgdW5pdF9yb3dzID0gdHBsX2Zy
YW1lLT5taV9yb3dzIC8gbWlfaGVpZ2h0OwotICBjb25zdCBpbnQgdW5pdF9jb2xzID0gdHBsX2Zy
YW1lLT5taV9jb2xzIC8gbWlfd2lkdGg7Ci0gIGNvbnN0IGludCBtYXhfZGlhZ29uYWxfbGluZXMg
PSB1bml0X3Jvd3MgKyB1bml0X2NvbHMgLSAxOwotICBpbnQgaWR4OwotICBmb3IgKGlkeCA9IDA7
IGlkeCA8IG1heF9kaWFnb25hbF9saW5lczsgKytpZHgpIHsKLSAgICBpbnQgcjsKLSAgICBmb3Ig
KHIgPSBWUFhNQVgoaWR4IC0gdW5pdF9jb2xzICsgMSwgMCk7IHIgPD0gVlBYTUlOKGlkeCwgdW5p
dF9yb3dzIC0gMSk7Ci0gICAgICAgICArK3IpIHsKLSAgICAgIGludCBjID0gaWR4IC0gcjsKLSAg
ICAgIGludCBtaV9yb3cgPSByICogbWlfaGVpZ2h0OwotICAgICAgaW50IG1pX2NvbCA9IGMgKiBt
aV93aWR0aDsKLSAgICAgIGFzc2VydChjID49IDAgJiYgYyA8IHVuaXRfY29scyk7Ci0gICAgICBh
c3NlcnQobWlfcm93ID49IDAgJiYgbWlfcm93IDwgdHBsX2ZyYW1lLT5taV9yb3dzKTsKLSAgICAg
IGFzc2VydChtaV9jb2wgPj0gMCAmJiBtaV9jb2wgPCB0cGxfZnJhbWUtPm1pX2NvbHMpOwotICAg
ICAgcHJlZGljdF9tdl9tb2RlKGNwaSwgeCwgZ2ZfcGljdHVyZSwgbW90aW9uX2ZpZWxkLCBmcmFt
ZV9pZHgsIHRwbF9mcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICByZl9pZHgsIGJzaXplLCBt
aV9yb3csIG1pX2NvbCk7Ci0gICAgfQotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGRvX21vdGlvbl9z
ZWFyY2goVlA5X0NPTVAgKmNwaSwgVGhyZWFkRGF0YSAqdGQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE1vdGlvbkZpZWxkICptb3Rpb25fZmllbGQsIGludCBmcmFtZV9pZHgsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFlWMTJfQlVGRkVSX0NPTkZJRyAqcmVmX2ZyYW1lLCBC
TE9DS19TSVpFIGJzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWlfcm93
LCBpbnQgbWlfY29sKSB7Ci0gIFZQOV9DT01NT04gKmNtID0gJmNwaS0+Y29tbW9uOwotICBNQUNS
T0JMT0NLICp4ID0gJnRkLT5tYjsKLSAgTUFDUk9CTE9DS0QgKnhkID0gJngtPmVfbWJkOwotICBj
b25zdCBpbnQgbWJfeV9vZmZzZXQgPQotICAgICAgbWlfcm93ICogTUlfU0laRSAqIHhkLT5jdXJf
YnVmLT55X3N0cmlkZSArIG1pX2NvbCAqIE1JX1NJWkU7Ci0gIGFzc2VydChyZWZfZnJhbWUgIT0g
TlVMTCk7Ci0gIHNldF9tdl9saW1pdHMoY20sIHgsIG1pX3JvdywgbWlfY29sKTsKLSAgewotICAg
IGludF9tdiBtdiA9IHZwOV9tb3Rpb25fZmllbGRfbWlfZ2V0X212KG1vdGlvbl9maWVsZCwgbWlf
cm93LCBtaV9jb2wpOwotICAgIHVpbnQ4X3QgKmN1cl9mcmFtZV9idWYgPSB4ZC0+Y3VyX2J1Zi0+
eV9idWZmZXIgKyBtYl95X29mZnNldDsKLSAgICB1aW50OF90ICpyZWZfZnJhbWVfYnVmID0gcmVm
X2ZyYW1lLT55X2J1ZmZlciArIG1iX3lfb2Zmc2V0OwotICAgIGNvbnN0IGludCBzdHJpZGUgPSB4
ZC0+Y3VyX2J1Zi0+eV9zdHJpZGU7Ci0gICAgZnVsbF9waXhlbF9tb3Rpb25fc2VhcmNoKGNwaSwg
dGQsIG1vdGlvbl9maWVsZCwgZnJhbWVfaWR4LCBjdXJfZnJhbWVfYnVmLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZWZfZnJhbWVfYnVmLCBzdHJpZGUsIGJzaXplLCBtaV9yb3csIG1p
X2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm12LmFzX212KTsKLSAgICBzdWJf
cGl4ZWxfbW90aW9uX3NlYXJjaChjcGksIHRkLCBjdXJfZnJhbWVfYnVmLCByZWZfZnJhbWVfYnVm
LCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnNpemUsICZtdi5hc19tdik7
Ci0gICAgdnA5X21vdGlvbl9maWVsZF9taV9zZXRfbXYobW90aW9uX2ZpZWxkLCBtaV9yb3csIG1p
X2NvbCwgbXYpOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGJ1aWxkX21vdGlvbl9maWVsZCgKLSAg
ICBWUDlfQ09NUCAqY3BpLCBpbnQgZnJhbWVfaWR4LAotICAgIFlWMTJfQlVGRkVSX0NPTkZJRyAq
cmVmX2ZyYW1lW01BWF9JTlRFUl9SRUZfRlJBTUVTXSwgQkxPQ0tfU0laRSBic2l6ZSkgewotICBW
UDlfQ09NTU9OICpjbSA9ICZjcGktPmNvbW1vbjsKLSAgVGhyZWFkRGF0YSAqdGQgPSAmY3BpLT50
ZDsKLSAgVHBsRGVwRnJhbWUgKnRwbF9mcmFtZSA9ICZjcGktPnRwbF9zdGF0c1tmcmFtZV9pZHhd
OwotICBjb25zdCBpbnQgbWlfaGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3NfaGlnaF9sb29rdXBbYnNp
emVdOwotICBjb25zdCBpbnQgbWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFti
c2l6ZV07Ci0gIGNvbnN0IGludCBwdyA9IG51bV80eDRfYmxvY2tzX3dpZGVfbG9va3VwW2JzaXpl
XSA8PCAyOwotICBjb25zdCBpbnQgcGggPSBudW1fNHg0X2Jsb2Nrc19oaWdoX2xvb2t1cFtic2l6
ZV0gPDwgMjsKLSAgaW50IG1pX3JvdywgbWlfY29sOwotICBpbnQgcmZfaWR4OwotCi0gIHRwbF9m
cmFtZS0+bGFtYmRhID0gKHB3ICogcGgpID4+IDI7Ci0gIGFzc2VydChwdyAqIHBoID09IHRwbF9m
cmFtZS0+bGFtYmRhIDw8IDIpOwotCi0gIGZvciAocmZfaWR4ID0gMDsgcmZfaWR4IDwgTUFYX0lO
VEVSX1JFRl9GUkFNRVM7ICsrcmZfaWR4KSB7Ci0gICAgTW90aW9uRmllbGQgKm1vdGlvbl9maWVs
ZCA9IHZwOV9tb3Rpb25fZmllbGRfaW5mb19nZXRfbW90aW9uX2ZpZWxkKAotICAgICAgICAmY3Bp
LT5tb3Rpb25fZmllbGRfaW5mbywgZnJhbWVfaWR4LCByZl9pZHgsIGJzaXplKTsKLSAgICBpZiAo
cmVmX2ZyYW1lW3JmX2lkeF0gPT0gTlVMTCkgewotICAgICAgY29udGludWU7Ci0gICAgfQotICAg
IHZwOV9tb3Rpb25fZmllbGRfcmVzZXRfbXZzKG1vdGlvbl9maWVsZCk7Ci0gICAgZm9yIChtaV9y
b3cgPSAwOyBtaV9yb3cgPCBjbS0+bWlfcm93czsgbWlfcm93ICs9IG1pX2hlaWdodCkgewotICAg
ICAgZm9yIChtaV9jb2wgPSAwOyBtaV9jb2wgPCBjbS0+bWlfY29sczsgbWlfY29sICs9IG1pX3dp
ZHRoKSB7Ci0gICAgICAgIGRvX21vdGlvbl9zZWFyY2goY3BpLCB0ZCwgbW90aW9uX2ZpZWxkLCBm
cmFtZV9pZHgsIHJlZl9mcmFtZVtyZl9pZHhdLAotICAgICAgICAgICAgICAgICAgICAgICAgIGJz
aXplLCBtaV9yb3csIG1pX2NvbCk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19Ci0jZW5kaWYgIC8v
IENPTkZJR19OT05fR1JFRURZX01WCi0KLXN0YXRpYyB2b2lkIG1jX2Zsb3dfZGlzcGVuc2VyKFZQ
OV9DT01QICpjcGksIEdGX1BJQ1RVUkUgKmdmX3BpY3R1cmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZnJhbWVfaWR4LCBCTE9DS19TSVpFIGJzaXplKSB7Ci0gIFRwbERlcEZy
YW1lICp0cGxfZnJhbWUgPSAmY3BpLT50cGxfc3RhdHNbZnJhbWVfaWR4XTsKLSAgVnB4VHBsRnJh
bWVTdGF0cyAqdHBsX2ZyYW1lX3N0YXRzX2JlZm9yZV9wcm9wYWdhdGlvbiA9Ci0gICAgICAmY3Bp
LT50cGxfZ29wX3N0YXRzLmZyYW1lX3N0YXRzX2xpc3RbZnJhbWVfaWR4XTsKLSAgWVYxMl9CVUZG
RVJfQ09ORklHICp0aGlzX2ZyYW1lID0gZ2ZfcGljdHVyZVtmcmFtZV9pZHhdLmZyYW1lOwotICBZ
VjEyX0JVRkZFUl9DT05GSUcgKnJlZl9mcmFtZVtNQVhfSU5URVJfUkVGX0ZSQU1FU10gPSB7IE5V
TEwsIE5VTEwsIE5VTEwgfTsKLQotICBWUDlfQ09NTU9OICpjbSA9ICZjcGktPmNvbW1vbjsKLSAg
c3RydWN0IHNjYWxlX2ZhY3RvcnMgc2Y7Ci0gIGludCByZG11bHQsIGlkeDsKLSAgVGhyZWFkRGF0
YSAqdGQgPSAmY3BpLT50ZDsKLSAgTUFDUk9CTE9DSyAqeCA9ICZ0ZC0+bWI7Ci0gIE1BQ1JPQkxP
Q0tEICp4ZCA9ICZ4LT5lX21iZDsKLSAgaW50IG1pX3JvdywgbWlfY29sOwotCi0jaWYgQ09ORklH
X1ZQOV9ISUdIQklUREVQVEgKLSAgREVDTEFSRV9BTElHTkVEKDE2LCB1aW50MTZfdCwgcHJlZGlj
dG9yMTZbMzIgKiAzMiAqIDNdKTsKLSAgREVDTEFSRV9BTElHTkVEKDE2LCB1aW50OF90LCBwcmVk
aWN0b3I4WzMyICogMzIgKiAzXSk7Ci0gIHVpbnQ4X3QgKnByZWRpY3RvcjsKLSNlbHNlCi0gIERF
Q0xBUkVfQUxJR05FRCgxNiwgdWludDhfdCwgcHJlZGljdG9yWzMyICogMzIgKiAzXSk7Ci0jZW5k
aWYKLSAgREVDTEFSRV9BTElHTkVEKDE2LCBpbnQxNl90LCBzcmNfZGlmZlszMiAqIDMyXSk7Ci0g
IERFQ0xBUkVfQUxJR05FRCgxNiwgdHJhbl9sb3dfdCwgY29lZmZbMzIgKiAzMl0pOwotICBERUNM
QVJFX0FMSUdORUQoMTYsIHRyYW5fbG93X3QsIHFjb2VmZlszMiAqIDMyXSk7Ci0gIERFQ0xBUkVf
QUxJR05FRCgxNiwgdHJhbl9sb3dfdCwgZHFjb2VmZlszMiAqIDMyXSk7Ci0KLSAgY29uc3QgVFhf
U0laRSB0eF9zaXplID0gbWF4X3R4c2l6ZV9sb29rdXBbYnNpemVdOwotICBjb25zdCBpbnQgbWlf
aGVpZ2h0ID0gbnVtXzh4OF9ibG9ja3NfaGlnaF9sb29rdXBbYnNpemVdOwotICBjb25zdCBpbnQg
bWlfd2lkdGggPSBudW1fOHg4X2Jsb2Nrc193aWRlX2xvb2t1cFtic2l6ZV07Ci0KLSAgdHBsX2Zy
YW1lX3N0YXRzX2JlZm9yZV9wcm9wYWdhdGlvbi0+ZnJhbWVfd2lkdGggPSBjbS0+d2lkdGg7Ci0g
IHRwbF9mcmFtZV9zdGF0c19iZWZvcmVfcHJvcGFnYXRpb24tPmZyYW1lX2hlaWdodCA9IGNtLT5o
ZWlnaHQ7Ci0gIC8vIFNldHVwIHNjYWxpbmcgZmFjdG9yCi0jaWYgQ09ORklHX1ZQOV9ISUdIQklU
REVQVEgKLSAgdnA5X3NldHVwX3NjYWxlX2ZhY3RvcnNfZm9yX2ZyYW1lKAotICAgICAgJnNmLCB0
aGlzX2ZyYW1lLT55X2Nyb3Bfd2lkdGgsIHRoaXNfZnJhbWUtPnlfY3JvcF9oZWlnaHQsCi0gICAg
ICB0aGlzX2ZyYW1lLT55X2Nyb3Bfd2lkdGgsIHRoaXNfZnJhbWUtPnlfY3JvcF9oZWlnaHQsCi0g
ICAgICBjcGktPmNvbW1vbi51c2VfaGlnaGJpdGRlcHRoKTsKLQotICBpZiAoeGQtPmN1cl9idWYt
PmZsYWdzICYgWVYxMl9GTEFHX0hJR0hCSVRERVBUSCkKLSAgICBwcmVkaWN0b3IgPSBDT05WRVJU
X1RPX0JZVEVQVFIocHJlZGljdG9yMTYpOwotICBlbHNlCi0gICAgcHJlZGljdG9yID0gcHJlZGlj
dG9yODsKLSNlbHNlCi0gIHZwOV9zZXR1cF9zY2FsZV9mYWN0b3JzX2Zvcl9mcmFtZSgKLSAgICAg
ICZzZiwgdGhpc19mcmFtZS0+eV9jcm9wX3dpZHRoLCB0aGlzX2ZyYW1lLT55X2Nyb3BfaGVpZ2h0
LAotICAgICAgdGhpc19mcmFtZS0+eV9jcm9wX3dpZHRoLCB0aGlzX2ZyYW1lLT55X2Nyb3BfaGVp
Z2h0KTsKLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLQotICAvLyBQcmVwYXJl
IHJlZmVyZW5jZSBmcmFtZSBwb2ludGVycy4gSWYgYW55IHJlZmVyZW5jZSBmcmFtZSBzbG90IGlz
Ci0gIC8vIHVuYXZhaWxhYmxlLCB0aGUgcG9pbnRlciB3aWxsIGJlIHNldCB0byBOdWxsLgotICBm
b3IgKGlkeCA9IDA7IGlkeCA8IE1BWF9JTlRFUl9SRUZfRlJBTUVTOyArK2lkeCkgewotICAgIGlu
dCByZl9pZHggPSBnZl9waWN0dXJlW2ZyYW1lX2lkeF0ucmVmX2ZyYW1lW2lkeF07Ci0gICAgaWYg
KHJmX2lkeCAhPSAtMSkgcmVmX2ZyYW1lW2lkeF0gPSBnZl9waWN0dXJlW3JmX2lkeF0uZnJhbWU7
Ci0gIH0KLQotICB4ZC0+bWkgPSBjbS0+bWlfZ3JpZF92aXNpYmxlOwotICB4ZC0+bWlbMF0gPSBj
bS0+bWk7Ci0gIHhkLT5jdXJfYnVmID0gdGhpc19mcmFtZTsKLQotICAvLyBHZXQgcmQgbXVsdGlw
bGllciBzZXQgdXAuCi0gIHJkbXVsdCA9IHZwOV9jb21wdXRlX3JkX211bHRfYmFzZWRfb25fcWlu
ZGV4KGNwaSwgdHBsX2ZyYW1lLT5iYXNlX3FpbmRleCk7Ci0gIHNldF9lcnJvcl9wZXJfYml0KCZj
cGktPnRkLm1iLCByZG11bHQpOwotICB2cDlfaW5pdGlhbGl6ZV9tZV9jb25zdHMoY3BpLCAmY3Bp
LT50ZC5tYiwgdHBsX2ZyYW1lLT5iYXNlX3FpbmRleCk7Ci0KLSAgdHBsX2ZyYW1lLT5pc192YWxp
ZCA9IDE7Ci0KLSAgY20tPmJhc2VfcWluZGV4ID0gdHBsX2ZyYW1lLT5iYXNlX3FpbmRleDsKLSAg
dnA5X2ZyYW1lX2luaXRfcXVhbnRpemVyKGNwaSk7Ci0KLSNpZiBDT05GSUdfTk9OX0dSRUVEWV9N
VgotICB7Ci0gICAgaW50IHNxdWFyZV9ibG9ja19pZHg7Ci0gICAgaW50IHJmX2lkeDsKLSAgICBm
b3IgKHNxdWFyZV9ibG9ja19pZHggPSAwOyBzcXVhcmVfYmxvY2tfaWR4IDwgU1FVQVJFX0JMT0NL
X1NJWkVTOwotICAgICAgICAgKytzcXVhcmVfYmxvY2tfaWR4KSB7Ci0gICAgICBCTE9DS19TSVpF
IHNxdWFyZV9ic2l6ZSA9IHNxdWFyZV9ibG9ja19pZHhfdG9fYnNpemUoc3F1YXJlX2Jsb2NrX2lk
eCk7Ci0gICAgICBidWlsZF9tb3Rpb25fZmllbGQoY3BpLCBmcmFtZV9pZHgsIHJlZl9mcmFtZSwg
c3F1YXJlX2JzaXplKTsKLSAgICB9Ci0gICAgZm9yIChyZl9pZHggPSAwOyByZl9pZHggPCBNQVhf
SU5URVJfUkVGX0ZSQU1FUzsgKytyZl9pZHgpIHsKLSAgICAgIGludCByZWZfZnJhbWVfaWR4ID0g
Z2ZfcGljdHVyZVtmcmFtZV9pZHhdLnJlZl9mcmFtZVtyZl9pZHhdOwotICAgICAgaWYgKHJlZl9m
cmFtZV9pZHggIT0gLTEpIHsKLSAgICAgICAgTW90aW9uRmllbGQgKm1vdGlvbl9maWVsZCA9IHZw
OV9tb3Rpb25fZmllbGRfaW5mb19nZXRfbW90aW9uX2ZpZWxkKAotICAgICAgICAgICAgJmNwaS0+
bW90aW9uX2ZpZWxkX2luZm8sIGZyYW1lX2lkeCwgcmZfaWR4LCBic2l6ZSk7Ci0gICAgICAgIHBy
ZWRpY3RfbXZfbW9kZV9hcnIoY3BpLCB4LCBnZl9waWN0dXJlLCBtb3Rpb25fZmllbGQsIGZyYW1l
X2lkeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cGxfZnJhbWUsIHJmX2lkeCwgYnNp
emUpOwotICAgICAgfQotICAgIH0KLSAgfQotI2VuZGlmICAvLyBDT05GSUdfTk9OX0dSRUVEWV9N
VgotCi0gIGZvciAobWlfcm93ID0gMDsgbWlfcm93IDwgY20tPm1pX3Jvd3M7IG1pX3JvdyArPSBt
aV9oZWlnaHQpIHsKLSAgICBmb3IgKG1pX2NvbCA9IDA7IG1pX2NvbCA8IGNtLT5taV9jb2xzOyBt
aV9jb2wgKz0gbWlfd2lkdGgpIHsKLSAgICAgIGludDY0X3QgcmVjb25fZXJyb3IgPSAwOwotICAg
ICAgaW50NjRfdCByYXRlX2Nvc3QgPSAwOwotICAgICAgaW50NjRfdCBzc2UgPSAwOwotICAgICAg
Ly8gUmVmIGZyYW1lIGluZGV4IGluIHRoZSByZWYgZnJhbWUgYnVmZmVyLgotICAgICAgaW50IHJl
Zl9mcmFtZV9pZHggPSAtMTsKLSAgICAgIG1vZGVfZXN0aW1hdGlvbihjcGksIHgsIHhkLCAmc2Ys
IGdmX3BpY3R1cmUsIGZyYW1lX2lkeCwgdHBsX2ZyYW1lLAotICAgICAgICAgICAgICAgICAgICAg
IHNyY19kaWZmLCBjb2VmZiwgcWNvZWZmLCBkcWNvZWZmLCBtaV9yb3csIG1pX2NvbCwgYnNpemUs
Ci0gICAgICAgICAgICAgICAgICAgICAgdHhfc2l6ZSwgcmVmX2ZyYW1lLCBwcmVkaWN0b3IsICZy
ZWNvbl9lcnJvciwgJnJhdGVfY29zdCwKLSAgICAgICAgICAgICAgICAgICAgICAmc3NlLCAmcmVm
X2ZyYW1lX2lkeCk7Ci0gICAgICAvLyBNb3Rpb24gZmxvdyBkZXBlbmRlbmN5IGRpc3BlbnNlci4K
LSAgICAgIHRwbF9tb2RlbF9zdG9yZSh0cGxfZnJhbWUtPnRwbF9zdGF0c19wdHIsIG1pX3Jvdywg
bWlfY29sLCBic2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICB0cGxfZnJhbWUtPnN0cmlkZSk7
Ci0KLSAgICAgIHRwbF9zdG9yZV9iZWZvcmVfcHJvcGFnYXRpb24oCi0gICAgICAgICAgdHBsX2Zy
YW1lX3N0YXRzX2JlZm9yZV9wcm9wYWdhdGlvbi0+YmxvY2tfc3RhdHNfbGlzdCwKLSAgICAgICAg
ICB0cGxfZnJhbWUtPnRwbF9zdGF0c19wdHIsIG1pX3JvdywgbWlfY29sLCBic2l6ZSwgdHBsX2Zy
YW1lLT5zdHJpZGUsCi0gICAgICAgICAgcmVjb25fZXJyb3IsIHJhdGVfY29zdCwgcmVmX2ZyYW1l
X2lkeCk7Ci0KLSAgICAgIHRwbF9tb2RlbF91cGRhdGUoY3BpLT50cGxfc3RhdHMsIHRwbF9mcmFt
ZS0+dHBsX3N0YXRzX3B0ciwgbWlfcm93LCBtaV9jb2wsCi0gICAgICAgICAgICAgICAgICAgICAg
IGJzaXplKTsKLSAgICB9Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgdHJpbV90cGxfc3RhdHMoc3Ry
dWN0IHZweF9pbnRlcm5hbF9lcnJvcl9pbmZvICplcnJvcl9pbmZvLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVnB4VHBsR29wU3RhdHMgKnRwbF9nb3Bfc3RhdHMsIGludCBleHRyYV9mcmFt
ZXMpIHsKLSAgaW50IGk7Ci0gIFZweFRwbEZyYW1lU3RhdHMgKm5ld19mcmFtZV9zdGF0czsKLSAg
Y29uc3QgaW50IG5ld19zaXplID0gdHBsX2dvcF9zdGF0cy0+c2l6ZSAtIGV4dHJhX2ZyYW1lczsK
LSAgaWYgKHRwbF9nb3Bfc3RhdHMtPnNpemUgPD0gZXh0cmFfZnJhbWVzKQotICAgIHZweF9pbnRl
cm5hbF9lcnJvcigKLSAgICAgICAgZXJyb3JfaW5mbywgVlBYX0NPREVDX0VSUk9SLAotICAgICAg
ICAiVGhlIG51bWJlciBvZiBmcmFtZXMgaW4gVnB4VHBsR29wU3RhdHMgaXMgZmV3ZXIgdGhhbiBl
eHBlY3RlZC4iKTsKLSAgQ0hFQ0tfTUVNX0VSUk9SKGVycm9yX2luZm8sIG5ld19mcmFtZV9zdGF0
cywKLSAgICAgICAgICAgICAgICAgIHZweF9jYWxsb2MobmV3X3NpemUsIHNpemVvZigqbmV3X2Zy
YW1lX3N0YXRzKSkpOwotICBmb3IgKGkgPSAwOyBpIDwgbmV3X3NpemU7IGkrKykgewotICAgIFZw
eFRwbEZyYW1lU3RhdHMgKmZyYW1lX3N0YXRzID0gJnRwbF9nb3Bfc3RhdHMtPmZyYW1lX3N0YXRz
X2xpc3RbaV07Ci0gICAgY29uc3QgaW50IG51bV9ibG9ja3MgPSBmcmFtZV9zdGF0cy0+bnVtX2Js
b2NrczsKLSAgICBuZXdfZnJhbWVfc3RhdHNbaV0ubnVtX2Jsb2NrcyA9IGZyYW1lX3N0YXRzLT5u
dW1fYmxvY2tzOwotICAgIG5ld19mcmFtZV9zdGF0c1tpXS5mcmFtZV93aWR0aCA9IGZyYW1lX3N0
YXRzLT5mcmFtZV93aWR0aDsKLSAgICBuZXdfZnJhbWVfc3RhdHNbaV0uZnJhbWVfaGVpZ2h0ID0g
ZnJhbWVfc3RhdHMtPmZyYW1lX2hlaWdodDsKLSAgICBuZXdfZnJhbWVfc3RhdHNbaV0ubnVtX2Js
b2NrcyA9IG51bV9ibG9ja3M7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgICBlcnJvcl9p
bmZvLCBuZXdfZnJhbWVfc3RhdHNbaV0uYmxvY2tfc3RhdHNfbGlzdCwKLSAgICAgICAgdnB4X2Nh
bGxvYyhudW1fYmxvY2tzLCBzaXplb2YoKm5ld19mcmFtZV9zdGF0c1tpXS5ibG9ja19zdGF0c19s
aXN0KSkpOwotICAgIG1lbWNweShuZXdfZnJhbWVfc3RhdHNbaV0uYmxvY2tfc3RhdHNfbGlzdCwg
ZnJhbWVfc3RhdHMtPmJsb2NrX3N0YXRzX2xpc3QsCi0gICAgICAgICAgIG51bV9ibG9ja3MgKiBz
aXplb2YoKm5ld19mcmFtZV9zdGF0c1tpXS5ibG9ja19zdGF0c19saXN0KSk7Ci0gIH0KLSAgZnJl
ZV90cGxfZnJhbWVfc3RhdHNfbGlzdCh0cGxfZ29wX3N0YXRzKTsKLSAgdHBsX2dvcF9zdGF0cy0+
c2l6ZSA9IG5ld19zaXplOwotICB0cGxfZ29wX3N0YXRzLT5mcmFtZV9zdGF0c19saXN0ID0gbmV3
X2ZyYW1lX3N0YXRzOwotfQotCi0jaWYgQ09ORklHX05PTl9HUkVFRFlfTVYKLSNkZWZpbmUgRFVN
UF9UUExfU1RBVFMgMAotI2lmIERVTVBfVFBMX1NUQVRTCi1zdGF0aWMgdm9pZCBkdW1wX2J1Zih1
aW50OF90ICpidWYsIGludCBzdHJpZGUsIGludCByb3csIGludCBjb2wsIGludCBoLCBpbnQgdykg
ewotICBpbnQgaSwgajsKLSAgcHJpbnRmKCIlZCAlZFxuIiwgaCwgdyk7Ci0gIGZvciAoaSA9IDA7
IGkgPCBoOyArK2kpIHsKLSAgICBmb3IgKGogPSAwOyBqIDwgdzsgKytqKSB7Ci0gICAgICBwcmlu
dGYoIiVkICIsIGJ1Zlsocm93ICsgaSkgKiBzdHJpZGUgKyBjb2wgKyBqXSk7Ci0gICAgfQotICB9
Ci0gIHByaW50ZigiXG4iKTsKLX0KLQotc3RhdGljIHZvaWQgZHVtcF9mcmFtZV9idWYoY29uc3Qg
WVYxMl9CVUZGRVJfQ09ORklHICpmcmFtZV9idWYpIHsKLSAgZHVtcF9idWYoZnJhbWVfYnVmLT55
X2J1ZmZlciwgZnJhbWVfYnVmLT55X3N0cmlkZSwgMCwgMCwgZnJhbWVfYnVmLT55X2hlaWdodCwK
LSAgICAgICAgICAgZnJhbWVfYnVmLT55X3dpZHRoKTsKLSAgZHVtcF9idWYoZnJhbWVfYnVmLT51
X2J1ZmZlciwgZnJhbWVfYnVmLT51dl9zdHJpZGUsIDAsIDAsCi0gICAgICAgICAgIGZyYW1lX2J1
Zi0+dXZfaGVpZ2h0LCBmcmFtZV9idWYtPnV2X3dpZHRoKTsKLSAgZHVtcF9idWYoZnJhbWVfYnVm
LT52X2J1ZmZlciwgZnJhbWVfYnVmLT51dl9zdHJpZGUsIDAsIDAsCi0gICAgICAgICAgIGZyYW1l
X2J1Zi0+dXZfaGVpZ2h0LCBmcmFtZV9idWYtPnV2X3dpZHRoKTsKLX0KLQotc3RhdGljIHZvaWQg
ZHVtcF90cGxfc3RhdHMoY29uc3QgVlA5X0NPTVAgKmNwaSwgaW50IHRwbF9ncm91cF9mcmFtZXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHRl9HUk9VUCAqZ2ZfZ3JvdXAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHRl9QSUNUVVJFICpnZl9waWN0dXJlLCBC
TE9DS19TSVpFIGJzaXplKSB7Ci0gIGludCBmcmFtZV9pZHg7Ci0gIGNvbnN0IFZQOV9DT01NT04g
KmNtID0gJmNwaS0+Y29tbW9uOwotICBpbnQgcmZfaWR4OwotICBmb3IgKGZyYW1lX2lkeCA9IDE7
IGZyYW1lX2lkeCA8IHRwbF9ncm91cF9mcmFtZXM7ICsrZnJhbWVfaWR4KSB7Ci0gICAgZm9yIChy
Zl9pZHggPSAwOyByZl9pZHggPCBNQVhfSU5URVJfUkVGX0ZSQU1FUzsgKytyZl9pZHgpIHsKLSAg
ICAgIGNvbnN0IFRwbERlcEZyYW1lICp0cGxfZnJhbWUgPSAmY3BpLT50cGxfc3RhdHNbZnJhbWVf
aWR4XTsKLSAgICAgIGludCBtaV9yb3csIG1pX2NvbDsKLSAgICAgIGludCByZWZfZnJhbWVfaWR4
OwotICAgICAgY29uc3QgaW50IG1pX2hlaWdodCA9IG51bV84eDhfYmxvY2tzX2hpZ2hfbG9va3Vw
W2JzaXplXTsKLSAgICAgIGNvbnN0IGludCBtaV93aWR0aCA9IG51bV84eDhfYmxvY2tzX3dpZGVf
bG9va3VwW2JzaXplXTsKLSAgICAgIHJlZl9mcmFtZV9pZHggPSBnZl9waWN0dXJlW2ZyYW1lX2lk
eF0ucmVmX2ZyYW1lW3JmX2lkeF07Ci0gICAgICBpZiAocmVmX2ZyYW1lX2lkeCAhPSAtMSkgewot
ICAgICAgICBZVjEyX0JVRkZFUl9DT05GSUcgKnJlZl9mcmFtZV9idWYgPSBnZl9waWN0dXJlW3Jl
Zl9mcmFtZV9pZHhdLmZyYW1lOwotICAgICAgICBjb25zdCBpbnQgZ2ZfZnJhbWVfb2Zmc2V0ID0g
Z2ZfZ3JvdXAtPmZyYW1lX2dvcF9pbmRleFtmcmFtZV9pZHhdOwotICAgICAgICBjb25zdCBpbnQg
cmVmX2dmX2ZyYW1lX29mZnNldCA9Ci0gICAgICAgICAgICBnZl9ncm91cC0+ZnJhbWVfZ29wX2lu
ZGV4W3JlZl9mcmFtZV9pZHhdOwotICAgICAgICBwcmludGYoIj1cbiIpOwotICAgICAgICBwcmlu
dGYoCi0gICAgICAgICAgICAiZnJhbWVfaWR4ICVkIG1pX3Jvd3MgJWQgbWlfY29scyAlZCBic2l6
ZSAlZCByZWZfZnJhbWVfaWR4ICVkICIKLSAgICAgICAgICAgICJyZl9pZHggJWQgZ2ZfZnJhbWVf
b2Zmc2V0ICVkIHJlZl9nZl9mcmFtZV9vZmZzZXQgJWRcbiIsCi0gICAgICAgICAgICBmcmFtZV9p
ZHgsIGNtLT5taV9yb3dzLCBjbS0+bWlfY29scywgbWlfd2lkdGggKiBNSV9TSVpFLAotICAgICAg
ICAgICAgcmVmX2ZyYW1lX2lkeCwgcmZfaWR4LCBnZl9mcmFtZV9vZmZzZXQsIHJlZl9nZl9mcmFt
ZV9vZmZzZXQpOwotICAgICAgICBmb3IgKG1pX3JvdyA9IDA7IG1pX3JvdyA8IGNtLT5taV9yb3dz
OyArK21pX3JvdykgewotICAgICAgICAgIGZvciAobWlfY29sID0gMDsgbWlfY29sIDwgY20tPm1p
X2NvbHM7ICsrbWlfY29sKSB7Ci0gICAgICAgICAgICBpZiAoKG1pX3JvdyAlIG1pX2hlaWdodCkg
PT0gMCAmJiAobWlfY29sICUgbWlfd2lkdGgpID09IDApIHsKLSAgICAgICAgICAgICAgaW50X212
IG12ID0gdnA5X21vdGlvbl9maWVsZF9pbmZvX2dldF9tdigmY3BpLT5tb3Rpb25fZmllbGRfaW5m
bywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmcmFtZV9pZHgsIHJmX2lkeCwgYnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlfcm93LCBtaV9jb2wpOwotICAgICAgICAgICAg
ICBwcmludGYoIiVkICVkICVkICVkXG4iLCBtaV9yb3csIG1pX2NvbCwgbXYuYXNfbXYucm93LAot
ICAgICAgICAgICAgICAgICAgICAgbXYuYXNfbXYuY29sKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgZm9yIChtaV9yb3cgPSAwOyBtaV9yb3cgPCBjbS0+
bWlfcm93czsgKyttaV9yb3cpIHsKLSAgICAgICAgICBmb3IgKG1pX2NvbCA9IDA7IG1pX2NvbCA8
IGNtLT5taV9jb2xzOyArK21pX2NvbCkgewotICAgICAgICAgICAgaWYgKChtaV9yb3cgJSBtaV9o
ZWlnaHQpID09IDAgJiYgKG1pX2NvbCAlIG1pX3dpZHRoKSA9PSAwKSB7Ci0gICAgICAgICAgICAg
IGNvbnN0IFRwbERlcFN0YXRzICp0cGxfcHRyID0KLSAgICAgICAgICAgICAgICAgICZ0cGxfZnJh
bWUKLSAgICAgICAgICAgICAgICAgICAgICAgLT50cGxfc3RhdHNfcHRyW21pX3JvdyAqIHRwbF9m
cmFtZS0+c3RyaWRlICsgbWlfY29sXTsKLSAgICAgICAgICAgICAgcHJpbnRmKCIlZiAiLCB0cGxf
cHRyLT5mZWF0dXJlX3Njb3JlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAgICAgcHJpbnRmKCJcbiIpOwotCi0gICAgICAgIGZvciAobWlfcm93ID0gMDsgbWlf
cm93IDwgY20tPm1pX3Jvd3M7IG1pX3JvdyArPSBtaV9oZWlnaHQpIHsKLSAgICAgICAgICBmb3Ig
KG1pX2NvbCA9IDA7IG1pX2NvbCA8IGNtLT5taV9jb2xzOyBtaV9jb2wgKz0gbWlfd2lkdGgpIHsK
LSAgICAgICAgICAgIGNvbnN0IGludCBtdl9tb2RlID0KLSAgICAgICAgICAgICAgICB0cGxfZnJh
bWUKLSAgICAgICAgICAgICAgICAgICAgLT5tdl9tb2RlX2FycltyZl9pZHhdW21pX3JvdyAqIHRw
bF9mcmFtZS0+c3RyaWRlICsgbWlfY29sXTsKLSAgICAgICAgICAgIHByaW50ZigiJWQgIiwgbXZf
bW9kZSk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHByaW50ZigiXG4iKTsKLQot
ICAgICAgICBkdW1wX2ZyYW1lX2J1ZihnZl9waWN0dXJlW2ZyYW1lX2lkeF0uZnJhbWUpOwotICAg
ICAgICBkdW1wX2ZyYW1lX2J1ZihyZWZfZnJhbWVfYnVmKTsKLSAgICAgIH0KLSAgICB9Ci0gIH0K
LX0KLSNlbmRpZiAgLy8gRFVNUF9UUExfU1RBVFMKLSNlbmRpZiAgLy8gQ09ORklHX05PTl9HUkVF
RFlfTVYKLQotdm9pZCB2cDlfaW5pdF90cGxfYnVmZmVyKFZQOV9DT01QICpjcGkpIHsKLSAgVlA5
X0NPTU1PTiAqY20gPSAmY3BpLT5jb21tb247Ci0gIGludCBmcmFtZTsKLQotICBjb25zdCBpbnQg
bWlfY29scyA9IG1pX2NvbHNfYWxpZ25lZF90b19zYihjbS0+bWlfY29scyk7Ci0gIGNvbnN0IGlu
dCBtaV9yb3dzID0gbWlfY29sc19hbGlnbmVkX3RvX3NiKGNtLT5taV9yb3dzKTsKLSNpZiBDT05G
SUdfTk9OX0dSRUVEWV9NVgotICBpbnQgcmZfaWR4OwotCi0gIHZweF9mcmVlKGNwaS0+c2VsZWN0
X212X2Fycik7Ci0gIENIRUNLX01FTV9FUlJPUigKLSAgICAgICZjbS0+ZXJyb3IsIGNwaS0+c2Vs
ZWN0X212X2FyciwKLSAgICAgIHZweF9jYWxsb2MobWlfcm93cyAqIG1pX2NvbHMgKiA0LCBzaXpl
b2YoKmNwaS0+c2VsZWN0X212X2FycikpKTsKLSNlbmRpZgotCi0gIC8vIFRPRE8oamluZ25pbmcp
OiBSZWR1Y2UgdGhlIGFjdHVhbCBtZW1vcnkgdXNlIGZvciB0cGwgbW9kZWwgYnVpbGQgdXAuCi0g
IGZvciAoZnJhbWUgPSAwOyBmcmFtZSA8IE1BWF9BUkZfR09QX1NJWkU7ICsrZnJhbWUpIHsKLSAg
ICBpZiAoY3BpLT50cGxfc3RhdHNbZnJhbWVdLndpZHRoID49IG1pX2NvbHMgJiYKLSAgICAgICAg
Y3BpLT50cGxfc3RhdHNbZnJhbWVdLmhlaWdodCA+PSBtaV9yb3dzICYmCi0gICAgICAgIGNwaS0+
dHBsX3N0YXRzW2ZyYW1lXS50cGxfc3RhdHNfcHRyKQotICAgICAgY29udGludWU7Ci0KLSNpZiBD
T05GSUdfTk9OX0dSRUVEWV9NVgotICAgIGZvciAocmZfaWR4ID0gMDsgcmZfaWR4IDwgTUFYX0lO
VEVSX1JFRl9GUkFNRVM7ICsrcmZfaWR4KSB7Ci0gICAgICB2cHhfZnJlZShjcGktPnRwbF9zdGF0
c1tmcmFtZV0ubXZfbW9kZV9hcnJbcmZfaWR4XSk7Ci0gICAgICBDSEVDS19NRU1fRVJST1IoCi0g
ICAgICAgICAgJmNtLT5lcnJvciwgY3BpLT50cGxfc3RhdHNbZnJhbWVdLm12X21vZGVfYXJyW3Jm
X2lkeF0sCi0gICAgICAgICAgdnB4X2NhbGxvYyhtaV9yb3dzICogbWlfY29scyAqIDQsCi0gICAg
ICAgICAgICAgICAgICAgICBzaXplb2YoKmNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5tdl9tb2RlX2Fy
cltyZl9pZHhdKSkpOwotICAgICAgdnB4X2ZyZWUoY3BpLT50cGxfc3RhdHNbZnJhbWVdLnJkX2Rp
ZmZfYXJyW3JmX2lkeF0pOwotICAgICAgQ0hFQ0tfTUVNX0VSUk9SKAotICAgICAgICAgICZjbS0+
ZXJyb3IsIGNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5yZF9kaWZmX2FycltyZl9pZHhdLAotICAgICAg
ICAgIHZweF9jYWxsb2MobWlfcm93cyAqIG1pX2NvbHMgKiA0LAotICAgICAgICAgICAgICAgICAg
ICAgc2l6ZW9mKCpjcGktPnRwbF9zdGF0c1tmcmFtZV0ucmRfZGlmZl9hcnJbcmZfaWR4XSkpKTsK
LSAgICB9Ci0jZW5kaWYKLSAgICB2cHhfZnJlZShjcGktPnRwbF9zdGF0c1tmcmFtZV0udHBsX3N0
YXRzX3B0cik7Ci0gICAgQ0hFQ0tfTUVNX0VSUk9SKCZjbS0+ZXJyb3IsIGNwaS0+dHBsX3N0YXRz
W2ZyYW1lXS50cGxfc3RhdHNfcHRyLAotICAgICAgICAgICAgICAgICAgICB2cHhfY2FsbG9jKG1p
X3Jvd3MgKiBtaV9jb2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigq
Y3BpLT50cGxfc3RhdHNbZnJhbWVdLnRwbF9zdGF0c19wdHIpKSk7Ci0gICAgY3BpLT50cGxfc3Rh
dHNbZnJhbWVdLmlzX3ZhbGlkID0gMDsKLSAgICBjcGktPnRwbF9zdGF0c1tmcmFtZV0ud2lkdGgg
PSBtaV9jb2xzOwotICAgIGNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5oZWlnaHQgPSBtaV9yb3dzOwot
ICAgIGNwaS0+dHBsX3N0YXRzW2ZyYW1lXS5zdHJpZGUgPSBtaV9jb2xzOwotICAgIGNwaS0+dHBs
X3N0YXRzW2ZyYW1lXS5taV9yb3dzID0gY20tPm1pX3Jvd3M7Ci0gICAgY3BpLT50cGxfc3RhdHNb
ZnJhbWVdLm1pX2NvbHMgPSBjbS0+bWlfY29sczsKLSAgfQotCi0gIGZvciAoZnJhbWUgPSAwOyBm
cmFtZSA8IFJFRl9GUkFNRVM7ICsrZnJhbWUpIHsKLSAgICBjcGktPmVuY19mcmFtZV9idWZbZnJh
bWVdLm1lbV92YWxpZCA9IDA7Ci0gICAgY3BpLT5lbmNfZnJhbWVfYnVmW2ZyYW1lXS5yZWxlYXNl
ZCA9IDE7Ci0gIH0KLX0KLQotdm9pZCB2cDlfZnJlZV90cGxfYnVmZmVyKFZQOV9DT01QICpjcGkp
IHsKLSAgaW50IGZyYW1lOwotI2lmIENPTkZJR19OT05fR1JFRURZX01WCi0gIHZwOV9mcmVlX21v
dGlvbl9maWVsZF9pbmZvKCZjcGktPm1vdGlvbl9maWVsZF9pbmZvKTsKLSAgdnB4X2ZyZWUoY3Bp
LT5zZWxlY3RfbXZfYXJyKTsKLSNlbmRpZgotICBmb3IgKGZyYW1lID0gMDsgZnJhbWUgPCBNQVhf
QVJGX0dPUF9TSVpFOyArK2ZyYW1lKSB7Ci0jaWYgQ09ORklHX05PTl9HUkVFRFlfTVYKLSAgICBp
bnQgcmZfaWR4OwotICAgIGZvciAocmZfaWR4ID0gMDsgcmZfaWR4IDwgTUFYX0lOVEVSX1JFRl9G
UkFNRVM7ICsrcmZfaWR4KSB7Ci0gICAgICB2cHhfZnJlZShjcGktPnRwbF9zdGF0c1tmcmFtZV0u
bXZfbW9kZV9hcnJbcmZfaWR4XSk7Ci0gICAgICB2cHhfZnJlZShjcGktPnRwbF9zdGF0c1tmcmFt
ZV0ucmRfZGlmZl9hcnJbcmZfaWR4XSk7Ci0gICAgfQotI2VuZGlmCi0gICAgdnB4X2ZyZWUoY3Bp
LT50cGxfc3RhdHNbZnJhbWVdLnRwbF9zdGF0c19wdHIpOwotICAgIGNwaS0+dHBsX3N0YXRzW2Zy
YW1lXS5pc192YWxpZCA9IDA7Ci0gIH0KLSAgZnJlZV90cGxfZnJhbWVfc3RhdHNfbGlzdCgmY3Bp
LT50cGxfZ29wX3N0YXRzKTsKLX0KLQotI2lmIENPTkZJR19SQVRFX0NUUkwKLXN0YXRpYyB2b2lk
IGFjY3VtdWxhdGVfZnJhbWVfdHBsX3N0YXRzKFZQOV9DT01QICpjcGkpIHsKLSAgVlA5X0NPTU1P
TiAqY29uc3QgY20gPSAmY3BpLT5jb21tb247Ci0gIGNvbnN0IEdGX0dST1VQICpnZl9ncm91cCA9
ICZjcGktPnR3b3Bhc3MuZ2ZfZ3JvdXA7Ci0gIGludCBzaG93X2ZyYW1lX2NvdW50ID0gMDsKLSAg
aW50IGZyYW1lX2lkeDsKLSAgLy8gQWNjdW11bGF0ZSB0cGwgc3RhdHMgZm9yIGVhY2ggZnJhbWUg
aW4gdGhlIGN1cnJlbnQgZ3JvdXAgb2YgcGljdHVyZS4KLSAgZm9yIChmcmFtZV9pZHggPSAxOyBm
cmFtZV9pZHggPCBnZl9ncm91cC0+Z2ZfZ3JvdXBfc2l6ZTsgKytmcmFtZV9pZHgpIHsKLSAgICBU
cGxEZXBGcmFtZSAqdHBsX2ZyYW1lID0gJmNwaS0+dHBsX3N0YXRzW2ZyYW1lX2lkeF07Ci0gICAg
VHBsRGVwU3RhdHMgKnRwbF9zdGF0cyA9IHRwbF9mcmFtZS0+dHBsX3N0YXRzX3B0cjsKLSAgICBj
b25zdCBpbnQgdHBsX3N0cmlkZSA9IHRwbF9mcmFtZS0+c3RyaWRlOwotICAgIGludDY0X3QgaW50
cmFfY29zdF9iYXNlID0gMDsKLSAgICBpbnQ2NF90IGludGVyX2Nvc3RfYmFzZSA9IDA7Ci0gICAg
aW50NjRfdCBtY19kZXBfY29zdF9iYXNlID0gMDsKLSAgICBpbnQ2NF90IG1jX3JlZl9jb3N0X2Jh
c2UgPSAwOwotICAgIGludDY0X3QgbWNfZmxvd19iYXNlID0gMDsKLSAgICBpbnQgcm93LCBjb2w7
Ci0KLSAgICBpZiAoIXRwbF9mcmFtZS0+aXNfdmFsaWQpIGNvbnRpbnVlOwotCi0gICAgZm9yIChy
b3cgPSAwOyByb3cgPCBjbS0+bWlfcm93cyAmJiB0cGxfZnJhbWUtPmlzX3ZhbGlkOyArK3Jvdykg
ewotICAgICAgZm9yIChjb2wgPSAwOyBjb2wgPCBjbS0+bWlfY29sczsgKytjb2wpIHsKLSAgICAg
ICAgVHBsRGVwU3RhdHMgKnRoaXNfc3RhdHMgPSAmdHBsX3N0YXRzW3JvdyAqIHRwbF9zdHJpZGUg
KyBjb2xdOwotICAgICAgICBpbnRyYV9jb3N0X2Jhc2UgKz0gdGhpc19zdGF0cy0+aW50cmFfY29z
dDsKLSAgICAgICAgaW50ZXJfY29zdF9iYXNlICs9IHRoaXNfc3RhdHMtPmludGVyX2Nvc3Q7Ci0g
ICAgICAgIG1jX2RlcF9jb3N0X2Jhc2UgKz0gdGhpc19zdGF0cy0+bWNfZGVwX2Nvc3Q7Ci0gICAg
ICAgIG1jX3JlZl9jb3N0X2Jhc2UgKz0gdGhpc19zdGF0cy0+bWNfcmVmX2Nvc3Q7Ci0gICAgICAg
IG1jX2Zsb3dfYmFzZSArPSB0aGlzX3N0YXRzLT5tY19mbG93OwotICAgICAgfQotICAgIH0KLQot
ICAgIGNwaS0+dHBsX3N0YXRzX2luZm9bc2hvd19mcmFtZV9jb3VudF0uaW50cmFfY29zdCA9IGlu
dHJhX2Nvc3RfYmFzZTsKLSAgICBjcGktPnRwbF9zdGF0c19pbmZvW3Nob3dfZnJhbWVfY291bnRd
LmludGVyX2Nvc3QgPSBpbnRlcl9jb3N0X2Jhc2U7Ci0gICAgY3BpLT50cGxfc3RhdHNfaW5mb1tz
aG93X2ZyYW1lX2NvdW50XS5tY19kZXBfY29zdCA9IG1jX2RlcF9jb3N0X2Jhc2U7Ci0gICAgY3Bp
LT50cGxfc3RhdHNfaW5mb1tzaG93X2ZyYW1lX2NvdW50XS5tY19yZWZfY29zdCA9IG1jX3JlZl9j
b3N0X2Jhc2U7Ci0gICAgY3BpLT50cGxfc3RhdHNfaW5mb1tzaG93X2ZyYW1lX2NvdW50XS5tY19m
bG93ID0gbWNfZmxvd19iYXNlOwotCi0gICAgKytzaG93X2ZyYW1lX2NvdW50OwotICB9Ci19Ci0j
ZW5kaWYgIC8vIENPTkZJR19SQVRFX0NUUkwKLQotdm9pZCB2cDlfc2V0dXBfdHBsX3N0YXRzKFZQ
OV9DT01QICpjcGkpIHsKLSAgR0ZfUElDVFVSRSBnZl9waWN0dXJlW01BWF9BUkZfR09QX1NJWkVd
OwotICBjb25zdCBHRl9HUk9VUCAqZ2ZfZ3JvdXAgPSAmY3BpLT50d29wYXNzLmdmX2dyb3VwOwot
ICBpbnQgdHBsX2dyb3VwX2ZyYW1lcyA9IDA7Ci0gIGludCBmcmFtZV9pZHg7Ci0gIGludCBleHRl
bmRlZF9mcmFtZV9jb3VudDsKLSAgY3BpLT50cGxfYnNpemUgPSBCTE9DS18zMlgzMjsKLQotICBl
eHRlbmRlZF9mcmFtZV9jb3VudCA9Ci0gICAgICBpbml0X2dvcF9mcmFtZXMoY3BpLCBnZl9waWN0
dXJlLCBnZl9ncm91cCwgJnRwbF9ncm91cF9mcmFtZXMpOwotCi0gIGluaXRfdHBsX3N0YXRzKGNw
aSk7Ci0KLSAgaW5pdF90cGxfc3RhdHNfYmVmb3JlX3Byb3BhZ2F0aW9uKCZjcGktPmNvbW1vbi5l
cnJvciwgJmNwaS0+dHBsX2dvcF9zdGF0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNwaS0+dHBsX3N0YXRzLCB0cGxfZ3JvdXBfZnJhbWVzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3BpLT5jb21tb24ud2lkdGgsIGNwaS0+Y29tbW9uLmhlaWdo
dCk7Ci0KLSAgLy8gQmFja3dhcmQgcHJvcGFnYXRpb24gZnJvbSB0cGxfZ3JvdXBfZnJhbWVzIHRv
IDEuCi0gIGZvciAoZnJhbWVfaWR4ID0gdHBsX2dyb3VwX2ZyYW1lcyAtIDE7IGZyYW1lX2lkeCA+
IDA7IC0tZnJhbWVfaWR4KSB7Ci0gICAgaWYgKGdmX3BpY3R1cmVbZnJhbWVfaWR4XS51cGRhdGVf
dHlwZSA9PSBVU0VfQlVGX0ZSQU1FKSBjb250aW51ZTsKLSAgICBtY19mbG93X2Rpc3BlbnNlcihj
cGksIGdmX3BpY3R1cmUsIGZyYW1lX2lkeCwgY3BpLT50cGxfYnNpemUpOwotICB9Ci0KLSAgLy8g
VFBMIHN0YXRzIGhhcyBleHRyYSBmcmFtZXMgZnJvbSBuZXh0IEdPUC4gVHJpbSB0aG9zZSBleHRy
YSBmcmFtZXMgZm9yCi0gIC8vIFFtb2RlLgotICB0cmltX3RwbF9zdGF0cygmY3BpLT5jb21tb24u
ZXJyb3IsICZjcGktPnRwbF9nb3Bfc3RhdHMsIGV4dGVuZGVkX2ZyYW1lX2NvdW50KTsKLQotICBp
ZiAoY3BpLT5leHRfcmF0ZWN0cmwucmVhZHkgJiYKLSAgICAgIGNwaS0+ZXh0X3JhdGVjdHJsLmZ1
bmNzLnNlbmRfdHBsX2dvcF9zdGF0cyAhPSBOVUxMKSB7Ci0gICAgY29uc3QgdnB4X2NvZGVjX2Vy
cl90IGNvZGVjX3N0YXR1cyA9Ci0gICAgICAgIHZwOV9leHRyY19zZW5kX3RwbF9zdGF0cygmY3Bp
LT5leHRfcmF0ZWN0cmwsICZjcGktPnRwbF9nb3Bfc3RhdHMpOwotICAgIGlmIChjb2RlY19zdGF0
dXMgIT0gVlBYX0NPREVDX09LKSB7Ci0gICAgICB2cHhfaW50ZXJuYWxfZXJyb3IoJmNwaS0+Y29t
bW9uLmVycm9yLCBjb2RlY19zdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgInZwOV9l
eHRyY19zZW5kX3RwbF9zdGF0cygpIGZhaWxlZCIpOwotICAgIH0KLSAgfQotCi0jaWYgQ09ORklH
X05PTl9HUkVFRFlfTVYKLSAgY3BpLT50cGxfcmVhZHkgPSAxOwotI2lmIERVTVBfVFBMX1NUQVRT
Ci0gIGR1bXBfdHBsX3N0YXRzKGNwaSwgdHBsX2dyb3VwX2ZyYW1lcywgZ2ZfZ3JvdXAsIGdmX3Bp
Y3R1cmUsIGNwaS0+dHBsX2JzaXplKTsKLSNlbmRpZiAgLy8gRFVNUF9UUExfU1RBVFMKLSNlbmRp
ZiAgLy8gQ09ORklHX05PTl9HUkVFRFlfTVYKLQotI2lmIENPTkZJR19SQVRFX0NUUkwKLSAgaWYg
KGNwaS0+b3hjZi51c2Vfc2ltcGxlX2VuY29kZV9hcGkpIHsKLSAgICBhY2N1bXVsYXRlX2ZyYW1l
X3RwbF9zdGF0cyhjcGkpOwotICB9Ci0jZW5kaWYgIC8vIENPTkZJR19SQVRFX0NUUkwKLX0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RwbF9tb2RlbC5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvZW5jb2Rlci92cDlfdHBsX21vZGVsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA0YmViMjI2MTBhNi4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIvdnA5X3RwbF9tb2RlbC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoK
LSAqICBDb3B5cmlnaHQgKGMpIDIwMjMgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmln
aHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l
ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRp
b25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICog
IGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBt
YXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBz
b3VyY2UgdHJlZS4KLSAqLwotCi0jaWZuZGVmIFZQWF9WUDlfRU5DT0RFUl9WUDlfVFBMX01PREVM
X0hfCi0jZGVmaW5lIFZQWF9WUDlfRU5DT0RFUl9WUDlfVFBMX01PREVMX0hfCi0KLSNpZmRlZiBf
X2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQotI2lmbmRlZiBNX0xPRzJfRQotI2Rl
ZmluZSBNX0xPRzJfRSAwLjY5MzE0NzE4MDU1OTk0NTMwOTQxNwotI2VuZGlmCi0jZGVmaW5lIGxv
ZzJmKHgpIChsb2coeCkgLyAoZmxvYXQpTV9MT0cyX0UpCi0KLSNkZWZpbmUgVFBMX0RFUF9DT1NU
X1NDQUxFX0xPRzIgNAotCi10eXBlZGVmIHN0cnVjdCBHRl9QSUNUVVJFIHsKLSAgWVYxMl9CVUZG
RVJfQ09ORklHICpmcmFtZTsKLSAgaW50IHJlZl9mcmFtZVszXTsKLSAgRlJBTUVfVVBEQVRFX1RZ
UEUgdXBkYXRlX3R5cGU7Ci19IEdGX1BJQ1RVUkU7Ci0KLXZvaWQgdnA5X2luaXRfdHBsX2J1ZmZl
cihWUDlfQ09NUCAqY3BpKTsKLXZvaWQgdnA5X3NldHVwX3RwbF9zdGF0cyhWUDlfQ09NUCAqY3Bp
KTsKLXZvaWQgdnA5X2ZyZWVfdHBsX2J1ZmZlcihWUDlfQ09NUCAqY3BpKTsKLQotdm9pZCB2cDlf
d2h0X2Z3ZF90eGZtKGludDE2X3QgKnNyY19kaWZmLCBpbnQgYncsIHRyYW5fbG93X3QgKmNvZWZm
LAotICAgICAgICAgICAgICAgICAgICAgIFRYX1NJWkUgdHhfc2l6ZSk7Ci0jaWYgQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEgKLXZvaWQgdnA5X2hpZ2hiZF93aHRfZndkX3R4Zm0oaW50MTZfdCAqc3Jj
X2RpZmYsIGludCBidywgdHJhbl9sb3dfdCAqY29lZmYsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRYX1NJWkUgdHhfc2l6ZSk7Ci0jZW5kaWYKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19
ICAvLyBleHRlcm4gIkMiCi0jZW5kaWYKLQotI2VuZGlmICAvLyBWUFhfVlA5X0VOQ09ERVJfVlA5
X1RQTF9NT0RFTF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvaGln
aGJkX3RlbXBvcmFsX2ZpbHRlcl9zc2U0LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni9o
aWdoYmRfdGVtcG9yYWxfZmlsdGVyX3NzZTQuYwppbmRleCA5N2YxODJjNjYwN2UuLjRmYTI0NTEy
YzU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvaGlnaGJkX3RlbXBv
cmFsX2ZpbHRlcl9zc2U0LmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvaGlnaGJk
X3RlbXBvcmFsX2ZpbHRlcl9zc2U0LmMKQEAgLTE2LDcgKzE2LDcgQEAKICNpbmNsdWRlICJ2cHgv
dnB4X2ludGVnZXIuaCIKICNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfZW5jb2Rlci5oIgogI2lu
Y2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXIuaCIKLSNpbmNsdWRlICJ2cDkv
ZW5jb2Rlci92cDlfdGVtcG9yYWxfZmlsdGVyX2NvbnN0YW50cy5oIgorI2luY2x1ZGUgInZwOS9l
bmNvZGVyL3g4Ni90ZW1wb3JhbF9maWx0ZXJfY29uc3RhbnRzLmgiCiAKIC8vIENvbXB1dGUgKGEt
YikqKjIgZm9yIDggcGl4ZWxzIHdpdGggc2l6ZSAxNi1iaXQKIHN0YXRpYyBJTkxJTkUgdm9pZCBo
aWdoYmRfc3RvcmVfZGlzdF84KGNvbnN0IHVpbnQxNl90ICphLCBjb25zdCB1aW50MTZfdCAqYiwK
QEAgLTE0MSwxMiArMTQxLDExIEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfYWNjdW11bGF0
ZV9hbmRfc3RvcmVfOChjb25zdCBfX20xMjhpIHN1bV9maXJzdF91MzIsCiAgIGNvdW50X3UxNiA9
IF9tbV9hZGRzX2VwdTE2KGNvdW50X3UxNiwgc3VtX3UxNik7CiAgIF9tbV9zdG9yZXVfc2kxMjgo
KF9fbTEyOGkgKiljb3VudCwgY291bnRfdTE2KTsKIAorICBwcmVkX3UxNiA9IF9tbV9tdWxsb19l
cGkxNihzdW1fdTE2LCBwcmVkX3UxNik7CisKICAgcHJlZF8wX3UzMiA9IF9tbV9jdnRlcHUxNl9l
cGkzMihwcmVkX3UxNik7CiAgIHByZWRfMV91MzIgPSBfbW1fdW5wYWNraGlfZXBpMTYocHJlZF91
MTYsIHplcm8pOwogCi0gIHByZWRfMF91MzIgPSBfbW1fbXVsbG9fZXBpMzIoc3VtX2ZpcnN0X3Uz
MiwgcHJlZF8wX3UzMik7Ci0gIHByZWRfMV91MzIgPSBfbW1fbXVsbG9fZXBpMzIoc3VtX3NlY29u
ZF91MzIsIHByZWRfMV91MzIpOwotCiAgIGFjY3VtXzBfdTMyID0gX21tX2xvYWR1X3NpMTI4KChj
b25zdCBfX20xMjhpICopYWNjdW11bGF0b3IpOwogICBhY2N1bV8xX3UzMiA9IF9tbV9sb2FkdV9z
aTEyOCgoY29uc3QgX19tMTI4aSAqKShhY2N1bXVsYXRvciArIDQpKTsKIApAQCAtMTkyLDExICsx
OTEsMTMgQEAgc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9yZWFkX2Nocm9tYV9kaXN0X3Jvd184
KAogfQogCiBzdGF0aWMgdm9pZCB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1h
XzgoCi0gICAgY29uc3QgdWludDE2X3QgKnlfcHJlLCBpbnQgeV9wcmVfc3RyaWRlLCB1bnNpZ25l
ZCBpbnQgYmxvY2tfd2lkdGgsCi0gICAgdW5zaWduZWQgaW50IGJsb2NrX2hlaWdodCwgaW50IHNz
X3gsIGludCBzc195LCBpbnQgc3RyZW5ndGgsCi0gICAgaW50IHVzZV93aG9sZV9ibGssIHVpbnQz
Ml90ICp5X2FjY3VtLCB1aW50MTZfdCAqeV9jb3VudCwKLSAgICBjb25zdCB1aW50MzJfdCAqeV9k
aXN0LCBjb25zdCB1aW50MzJfdCAqdV9kaXN0LCBjb25zdCB1aW50MzJfdCAqdl9kaXN0LAotICAg
IGNvbnN0IHVpbnQzMl90ICpjb25zdCAqbmVpZ2hib3JzX2ZpcnN0LAorICAgIGNvbnN0IHVpbnQx
Nl90ICp5X3NyYywgaW50IHlfc3JjX3N0cmlkZSwgY29uc3QgdWludDE2X3QgKnlfcHJlLAorICAg
IGludCB5X3ByZV9zdHJpZGUsIGNvbnN0IHVpbnQxNl90ICp1X3NyYywgY29uc3QgdWludDE2X3Qg
KnZfc3JjLAorICAgIGludCB1dl9zcmNfc3RyaWRlLCBjb25zdCB1aW50MTZfdCAqdV9wcmUsIGNv
bnN0IHVpbnQxNl90ICp2X3ByZSwKKyAgICBpbnQgdXZfcHJlX3N0cmlkZSwgdW5zaWduZWQgaW50
IGJsb2NrX3dpZHRoLCB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LAorICAgIGludCBzc194LCBp
bnQgc3NfeSwgaW50IHN0cmVuZ3RoLCBpbnQgdXNlX3dob2xlX2JsaywgdWludDMyX3QgKnlfYWNj
dW0sCisgICAgdWludDE2X3QgKnlfY291bnQsIGNvbnN0IHVpbnQzMl90ICp5X2Rpc3QsIGNvbnN0
IHVpbnQzMl90ICp1X2Rpc3QsCisgICAgY29uc3QgdWludDMyX3QgKnZfZGlzdCwgY29uc3QgdWlu
dDMyX3QgKmNvbnN0ICpuZWlnaGJvcnNfZmlyc3QsCiAgICAgY29uc3QgdWludDMyX3QgKmNvbnN0
ICpuZWlnaGJvcnNfc2Vjb25kLCBpbnQgdG9wX3dlaWdodCwKICAgICBpbnQgYm90dG9tX3dlaWdo
dCkgewogICBjb25zdCBpbnQgcm91bmRpbmcgPSAoMSA8PCBzdHJlbmd0aCkgPj4gMTsKQEAgLTI1
NSwxMiArMjU2LDE3IEBAIHN0YXRpYyB2b2lkIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmls
dGVyX2x1bWFfOCgKICAgaGlnaGJkX2FjY3VtdWxhdGVfYW5kX3N0b3JlXzgoc3VtX3Jvd19maXJz
dCwgc3VtX3Jvd19zZWNvbmQsIHlfcHJlLCB5X2NvdW50LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB5X2FjY3VtKTsKIAorICB5X3NyYyArPSB5X3NyY19zdHJpZGU7CiAgIHlfcHJl
ICs9IHlfcHJlX3N0cmlkZTsKICAgeV9jb3VudCArPSB5X3ByZV9zdHJpZGU7CiAgIHlfYWNjdW0g
Kz0geV9wcmVfc3RyaWRlOwogICB5X2Rpc3QgKz0gRElTVF9TVFJJREU7CiAKKyAgdV9zcmMgKz0g
dXZfc3JjX3N0cmlkZTsKKyAgdV9wcmUgKz0gdXZfcHJlX3N0cmlkZTsKICAgdV9kaXN0ICs9IERJ
U1RfU1RSSURFOworICB2X3NyYyArPSB1dl9zcmNfc3RyaWRlOworICB2X3ByZSArPSB1dl9wcmVf
c3RyaWRlOwogICB2X2Rpc3QgKz0gRElTVF9TVFJJREU7CiAKICAgLy8gVGhlbiBhbGwgdGhlIHJv
d3MgZXhjZXB0IHRoZSBsYXN0IG9uZQpAQCAtMjk0LDcgKzMwMCwxMSBAQCBzdGF0aWMgdm9pZCB2
cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hXzgoCiAgICAgICBoaWdoYmRfcmVh
ZF9jaHJvbWFfZGlzdF9yb3dfOChzc194LCB1X2Rpc3QsIHZfZGlzdCwgJnVfZmlyc3QsICZ1X3Nl
Y29uZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2X2ZpcnN0LCAmdl9z
ZWNvbmQpOwogCisgICAgICB1X3NyYyArPSB1dl9zcmNfc3RyaWRlOworICAgICAgdV9wcmUgKz0g
dXZfcHJlX3N0cmlkZTsKICAgICAgIHVfZGlzdCArPSBESVNUX1NUUklERTsKKyAgICAgIHZfc3Jj
ICs9IHV2X3NyY19zdHJpZGU7CisgICAgICB2X3ByZSArPSB1dl9wcmVfc3RyaWRlOwogICAgICAg
dl9kaXN0ICs9IERJU1RfU1RSSURFOwogICAgIH0KIApAQCAtMzEwLDYgKzMyMCw3IEBAIHN0YXRp
YyB2b2lkIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2x1bWFfOCgKICAgICBoaWdo
YmRfYWNjdW11bGF0ZV9hbmRfc3RvcmVfOChzdW1fcm93X2ZpcnN0LCBzdW1fcm93X3NlY29uZCwg
eV9wcmUsIHlfY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeV9hY2N1
bSk7CiAKKyAgICB5X3NyYyArPSB5X3NyY19zdHJpZGU7CiAgICAgeV9wcmUgKz0geV9wcmVfc3Ry
aWRlOwogICAgIHlfY291bnQgKz0geV9wcmVfc3RyaWRlOwogICAgIHlfYWNjdW0gKz0geV9wcmVf
c3RyaWRlOwpAQCAtMzUzLDEwICszNjQsMTMgQEAgc3RhdGljIHZvaWQgdnA5X2hpZ2hiZF9hcHBs
eV90ZW1wb3JhbF9maWx0ZXJfbHVtYV84KAogCiAvLyBQZXJmb3JtIHRlbXBvcmFsIGZpbHRlciBm
b3IgdGhlIGx1bWEgY29tcG9uZW50Lgogc3RhdGljIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1w
b3JhbF9maWx0ZXJfbHVtYSgKLSAgICBjb25zdCB1aW50MTZfdCAqeV9wcmUsIGludCB5X3ByZV9z
dHJpZGUsIHVuc2lnbmVkIGludCBibG9ja193aWR0aCwKLSAgICB1bnNpZ25lZCBpbnQgYmxvY2tf
aGVpZ2h0LCBpbnQgc3NfeCwgaW50IHNzX3ksIGludCBzdHJlbmd0aCwKLSAgICBjb25zdCBpbnQg
KmJsa19mdywgaW50IHVzZV93aG9sZV9ibGssIHVpbnQzMl90ICp5X2FjY3VtLCB1aW50MTZfdCAq
eV9jb3VudCwKLSAgICBjb25zdCB1aW50MzJfdCAqeV9kaXN0LCBjb25zdCB1aW50MzJfdCAqdV9k
aXN0LCBjb25zdCB1aW50MzJfdCAqdl9kaXN0KSB7CisgICAgY29uc3QgdWludDE2X3QgKnlfc3Jj
LCBpbnQgeV9zcmNfc3RyaWRlLCBjb25zdCB1aW50MTZfdCAqeV9wcmUsCisgICAgaW50IHlfcHJl
X3N0cmlkZSwgY29uc3QgdWludDE2X3QgKnVfc3JjLCBjb25zdCB1aW50MTZfdCAqdl9zcmMsCisg
ICAgaW50IHV2X3NyY19zdHJpZGUsIGNvbnN0IHVpbnQxNl90ICp1X3ByZSwgY29uc3QgdWludDE2
X3QgKnZfcHJlLAorICAgIGludCB1dl9wcmVfc3RyaWRlLCB1bnNpZ25lZCBpbnQgYmxvY2tfd2lk
dGgsIHVuc2lnbmVkIGludCBibG9ja19oZWlnaHQsCisgICAgaW50IHNzX3gsIGludCBzc195LCBp
bnQgc3RyZW5ndGgsIGNvbnN0IGludCAqYmxrX2Z3LCBpbnQgdXNlX3dob2xlX2JsaywKKyAgICB1
aW50MzJfdCAqeV9hY2N1bSwgdWludDE2X3QgKnlfY291bnQsIGNvbnN0IHVpbnQzMl90ICp5X2Rp
c3QsCisgICAgY29uc3QgdWludDMyX3QgKnVfZGlzdCwgY29uc3QgdWludDMyX3QgKnZfZGlzdCkg
ewogICB1bnNpZ25lZCBpbnQgYmxrX2NvbCA9IDAsIHV2X2Jsa19jb2wgPSAwOwogICBjb25zdCB1
bnNpZ25lZCBpbnQgYmxrX2NvbF9zdGVwID0gOCwgdXZfYmxrX2NvbF9zdGVwID0gOCA+PiBzc194
OwogICBjb25zdCB1bnNpZ25lZCBpbnQgbWlkX3dpZHRoID0gYmxvY2tfd2lkdGggPj4gMSwKQEAg
LTM3MCw3ICszODQsOSBAQCBzdGF0aWMgdm9pZCB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2Zp
bHRlcl9sdW1hKAogICBuZWlnaGJvcnNfZmlyc3QgPSBISUdIQkRfTFVNQV9MRUZUX0NPTFVNTl9O
RUlHSEJPUlM7CiAgIG5laWdoYm9yc19zZWNvbmQgPSBISUdIQkRfTFVNQV9NSURETEVfQ09MVU1O
X05FSUdIQk9SUzsKICAgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVtYV84KAot
ICAgICAgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUsIGJsa19jb2xfc3RlcCwgYmxvY2tf
aGVpZ2h0LCBzc194LCBzc195LAorICAgICAgeV9zcmMgKyBibGtfY29sLCB5X3NyY19zdHJpZGUs
IHlfcHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLAorICAgICAgdV9zcmMgKyB1dl9ibGtfY29s
LCB2X3NyYyArIHV2X2Jsa19jb2wsIHV2X3NyY19zdHJpZGUsIHVfcHJlICsgdXZfYmxrX2NvbCwK
KyAgICAgIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZfcHJlX3N0cmlkZSwgYmxrX2NvbF9zdGVwLCBi
bG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksCiAgICAgICBzdHJlbmd0aCwgdXNlX3dob2xlX2Jsaywg
eV9hY2N1bSArIGJsa19jb2wsIHlfY291bnQgKyBibGtfY29sLAogICAgICAgeV9kaXN0ICsgYmxr
X2NvbCwgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwKICAgICAgIG5l
aWdoYm9yc19maXJzdCwgbmVpZ2hib3JzX3NlY29uZCwgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdo
dCk7CkBAIC0zODMsMTAgKzM5OSwxMyBAQCBzdGF0aWMgdm9pZCB2cDlfaGlnaGJkX2FwcGx5X3Rl
bXBvcmFsX2ZpbHRlcl9sdW1hKAogICBmb3IgKDsgYmxrX2NvbCA8IG1pZF93aWR0aDsKICAgICAg
ICBibGtfY29sICs9IGJsa19jb2xfc3RlcCwgdXZfYmxrX2NvbCArPSB1dl9ibGtfY29sX3N0ZXAp
IHsKICAgICB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hXzgoCi0gICAgICAg
IHlfcHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLCBibGtfY29sX3N0ZXAsIGJsb2NrX2hlaWdo
dCwgc3NfeCwgc3NfeSwKLSAgICAgICAgc3RyZW5ndGgsIHVzZV93aG9sZV9ibGssIHlfYWNjdW0g
KyBibGtfY29sLCB5X2NvdW50ICsgYmxrX2NvbCwKLSAgICAgICAgeV9kaXN0ICsgYmxrX2NvbCwg
dV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwKLSAgICAgICAgbmVpZ2hi
b3JzX2ZpcnN0LCBuZWlnaGJvcnNfc2Vjb25kLCB0b3Bfd2VpZ2h0LCBib3R0b21fd2VpZ2h0KTsK
KyAgICAgICAgeV9zcmMgKyBibGtfY29sLCB5X3NyY19zdHJpZGUsIHlfcHJlICsgYmxrX2NvbCwg
eV9wcmVfc3RyaWRlLAorICAgICAgICB1X3NyYyArIHV2X2Jsa19jb2wsIHZfc3JjICsgdXZfYmxr
X2NvbCwgdXZfc3JjX3N0cmlkZSwKKyAgICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSAr
IHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUsIGJsa19jb2xfc3RlcCwKKyAgICAgICAgYmxvY2tf
aGVpZ2h0LCBzc194LCBzc195LCBzdHJlbmd0aCwgdXNlX3dob2xlX2JsaywgeV9hY2N1bSArIGJs
a19jb2wsCisgICAgICAgIHlfY291bnQgKyBibGtfY29sLCB5X2Rpc3QgKyBibGtfY29sLCB1X2Rp
c3QgKyB1dl9ibGtfY29sLAorICAgICAgICB2X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWlnaGJvcnNf
Zmlyc3QsIG5laWdoYm9yc19zZWNvbmQsIHRvcF93ZWlnaHQsCisgICAgICAgIGJvdHRvbV93ZWln
aHQpOwogICB9CiAKICAgaWYgKCF1c2Vfd2hvbGVfYmxrKSB7CkBAIC0zOTgsMTYgKzQxNywyMSBA
QCBzdGF0aWMgdm9pZCB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hKAogICBm
b3IgKDsgYmxrX2NvbCA8IGxhc3Rfd2lkdGg7CiAgICAgICAgYmxrX2NvbCArPSBibGtfY29sX3N0
ZXAsIHV2X2Jsa19jb2wgKz0gdXZfYmxrX2NvbF9zdGVwKSB7CiAgICAgdnA5X2hpZ2hiZF9hcHBs
eV90ZW1wb3JhbF9maWx0ZXJfbHVtYV84KAotICAgICAgICB5X3ByZSArIGJsa19jb2wsIHlfcHJl
X3N0cmlkZSwgYmxrX2NvbF9zdGVwLCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksCi0gICAgICAg
IHN0cmVuZ3RoLCB1c2Vfd2hvbGVfYmxrLCB5X2FjY3VtICsgYmxrX2NvbCwgeV9jb3VudCArIGJs
a19jb2wsCi0gICAgICAgIHlfZGlzdCArIGJsa19jb2wsIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZf
ZGlzdCArIHV2X2Jsa19jb2wsCi0gICAgICAgIG5laWdoYm9yc19maXJzdCwgbmVpZ2hib3JzX3Nl
Y29uZCwgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdodCk7CisgICAgICAgIHlfc3JjICsgYmxrX2Nv
bCwgeV9zcmNfc3RyaWRlLCB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwKKyAgICAgICAg
dV9zcmMgKyB1dl9ibGtfY29sLCB2X3NyYyArIHV2X2Jsa19jb2wsIHV2X3NyY19zdHJpZGUsCisg
ICAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3Ry
aWRlLCBibGtfY29sX3N0ZXAsCisgICAgICAgIGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwgc3Ry
ZW5ndGgsIHVzZV93aG9sZV9ibGssIHlfYWNjdW0gKyBibGtfY29sLAorICAgICAgICB5X2NvdW50
ICsgYmxrX2NvbCwgeV9kaXN0ICsgYmxrX2NvbCwgdV9kaXN0ICsgdXZfYmxrX2NvbCwKKyAgICAg
ICAgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzX2ZpcnN0LCBuZWlnaGJvcnNfc2Vjb25k
LCB0b3Bfd2VpZ2h0LAorICAgICAgICBib3R0b21fd2VpZ2h0KTsKICAgfQogCiAgIC8vIFJpZ2h0
CiAgIG5laWdoYm9yc19zZWNvbmQgPSBISUdIQkRfTFVNQV9SSUdIVF9DT0xVTU5fTkVJR0hCT1JT
OwogICB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hXzgoCi0gICAgICB5X3By
ZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwgYmxrX2NvbF9zdGVwLCBibG9ja19oZWlnaHQsIHNz
X3gsIHNzX3ksCisgICAgICB5X3NyYyArIGJsa19jb2wsIHlfc3JjX3N0cmlkZSwgeV9wcmUgKyBi
bGtfY29sLCB5X3ByZV9zdHJpZGUsCisgICAgICB1X3NyYyArIHV2X2Jsa19jb2wsIHZfc3JjICsg
dXZfYmxrX2NvbCwgdXZfc3JjX3N0cmlkZSwgdV9wcmUgKyB1dl9ibGtfY29sLAorICAgICAgdl9w
cmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCBibGtfY29sX3N0ZXAsIGJsb2NrX2hlaWdo
dCwgc3NfeCwgc3NfeSwKICAgICAgIHN0cmVuZ3RoLCB1c2Vfd2hvbGVfYmxrLCB5X2FjY3VtICsg
YmxrX2NvbCwgeV9jb3VudCArIGJsa19jb2wsCiAgICAgICB5X2Rpc3QgKyBibGtfY29sLCB1X2Rp
c3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLAogICAgICAgbmVpZ2hib3JzX2Zp
cnN0LCBuZWlnaGJvcnNfc2Vjb25kLCB0b3Bfd2VpZ2h0LCBib3R0b21fd2VpZ2h0KTsKQEAgLTQ2
NywxMSArNDkxLDEzIEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfYWRkX2x1bWFfZGlzdF90
b184X2Nocm9tYV9tb2QoCiAvLyBibGtfZncgYXMgYW4gYXJyYXkgb2Ygc2l6ZSA0IGZvciB0aGUg
d2VpZ2h0cyBmb3IgZWFjaCBvZiB0aGUgNCBzdWJibG9ja3MsCiAvLyBlbHNlIHVzZSB0b3Bfd2Vp
Z2h0IGZvciB0b3AgaGFsZiwgYW5kIGJvdHRvbSB3ZWlnaHQgZm9yIGJvdHRvbSBoYWxmLgogc3Rh
dGljIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hXzgoCi0gICAg
Y29uc3QgdWludDE2X3QgKnVfcHJlLCBjb25zdCB1aW50MTZfdCAqdl9wcmUsIGludCB1dl9wcmVf
c3RyaWRlLAotICAgIHVuc2lnbmVkIGludCB1dl9ibG9ja193aWR0aCwgdW5zaWduZWQgaW50IHV2
X2Jsb2NrX2hlaWdodCwgaW50IHNzX3gsCi0gICAgaW50IHNzX3ksIGludCBzdHJlbmd0aCwgdWlu
dDMyX3QgKnVfYWNjdW0sIHVpbnQxNl90ICp1X2NvdW50LAotICAgIHVpbnQzMl90ICp2X2FjY3Vt
LCB1aW50MTZfdCAqdl9jb3VudCwgY29uc3QgdWludDMyX3QgKnlfZGlzdCwKLSAgICBjb25zdCB1
aW50MzJfdCAqdV9kaXN0LCBjb25zdCB1aW50MzJfdCAqdl9kaXN0LAorICAgIGNvbnN0IHVpbnQx
Nl90ICp5X3NyYywgaW50IHlfc3JjX3N0cmlkZSwgY29uc3QgdWludDE2X3QgKnlfcHJlLAorICAg
IGludCB5X3ByZV9zdHJpZGUsIGNvbnN0IHVpbnQxNl90ICp1X3NyYywgY29uc3QgdWludDE2X3Qg
KnZfc3JjLAorICAgIGludCB1dl9zcmNfc3RyaWRlLCBjb25zdCB1aW50MTZfdCAqdV9wcmUsIGNv
bnN0IHVpbnQxNl90ICp2X3ByZSwKKyAgICBpbnQgdXZfcHJlX3N0cmlkZSwgdW5zaWduZWQgaW50
IHV2X2Jsb2NrX3dpZHRoLAorICAgIHVuc2lnbmVkIGludCB1dl9ibG9ja19oZWlnaHQsIGludCBz
c194LCBpbnQgc3NfeSwgaW50IHN0cmVuZ3RoLAorICAgIHVpbnQzMl90ICp1X2FjY3VtLCB1aW50
MTZfdCAqdV9jb3VudCwgdWludDMyX3QgKnZfYWNjdW0sIHVpbnQxNl90ICp2X2NvdW50LAorICAg
IGNvbnN0IHVpbnQzMl90ICp5X2Rpc3QsIGNvbnN0IHVpbnQzMl90ICp1X2Rpc3QsIGNvbnN0IHVp
bnQzMl90ICp2X2Rpc3QsCiAgICAgY29uc3QgdWludDMyX3QgKmNvbnN0ICpuZWlnaGJvcnNfZnN0
LCBjb25zdCB1aW50MzJfdCAqY29uc3QgKm5laWdoYm9yc19zbmQsCiAgICAgaW50IHRvcF93ZWln
aHQsIGludCBib3R0b21fd2VpZ2h0LCBjb25zdCBpbnQgKmJsa19mdykgewogICBjb25zdCBpbnQg
cm91bmRpbmcgPSAoMSA8PCBzdHJlbmd0aCkgPj4gMTsKQEAgLTUzOSw4ICs1NjUsMTAgQEAgc3Rh
dGljIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hXzgoCiAgIGhp
Z2hiZF9hY2N1bXVsYXRlX2FuZF9zdG9yZV84KHZfc3VtX3Jvd19mc3QsIHZfc3VtX3Jvd19zbmQs
IHZfcHJlLCB2X2NvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X2FjY3Vt
KTsKIAorICB1X3NyYyArPSB1dl9zcmNfc3RyaWRlOwogICB1X3ByZSArPSB1dl9wcmVfc3RyaWRl
OwogICB1X2Rpc3QgKz0gRElTVF9TVFJJREU7CisgIHZfc3JjICs9IHV2X3NyY19zdHJpZGU7CiAg
IHZfcHJlICs9IHV2X3ByZV9zdHJpZGU7CiAgIHZfZGlzdCArPSBESVNUX1NUUklERTsKICAgdV9j
b3VudCArPSB1dl9wcmVfc3RyaWRlOwpAQCAtNTQ4LDYgKzU3Niw4IEBAIHN0YXRpYyB2b2lkIHZw
OV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAogICB2X2NvdW50ICs9IHV2
X3ByZV9zdHJpZGU7CiAgIHZfYWNjdW0gKz0gdXZfcHJlX3N0cmlkZTsKIAorICB5X3NyYyArPSB5
X3NyY19zdHJpZGUgKiAoMSArIHNzX3kpOworICB5X3ByZSArPSB5X3ByZV9zdHJpZGUgKiAoMSAr
IHNzX3kpOwogICB5X2Rpc3QgKz0gRElTVF9TVFJJREUgKiAoMSArIHNzX3kpOwogCiAgIC8vIFRo
ZW4gYWxsIHRoZSByb3dzIGV4Y2VwdCB0aGUgbGFzdCBvbmUKQEAgLTYxOSw4ICs2NDksMTAgQEAg
c3RhdGljIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hXzgoCiAg
ICAgaGlnaGJkX2FjY3VtdWxhdGVfYW5kX3N0b3JlXzgodl9zdW1fcm93X2ZzdCwgdl9zdW1fcm93
X3NuZCwgdl9wcmUsIHZfY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dl9hY2N1bSk7CiAKKyAgICB1X3NyYyArPSB1dl9zcmNfc3RyaWRlOwogICAgIHVfcHJlICs9IHV2
X3ByZV9zdHJpZGU7CiAgICAgdV9kaXN0ICs9IERJU1RfU1RSSURFOworICAgIHZfc3JjICs9IHV2
X3NyY19zdHJpZGU7CiAgICAgdl9wcmUgKz0gdXZfcHJlX3N0cmlkZTsKICAgICB2X2Rpc3QgKz0g
RElTVF9TVFJJREU7CiAgICAgdV9jb3VudCArPSB1dl9wcmVfc3RyaWRlOwpAQCAtNjI4LDYgKzY2
MCw4IEBAIHN0YXRpYyB2b2lkIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9t
YV84KAogICAgIHZfY291bnQgKz0gdXZfcHJlX3N0cmlkZTsKICAgICB2X2FjY3VtICs9IHV2X3By
ZV9zdHJpZGU7CiAKKyAgICB5X3NyYyArPSB5X3NyY19zdHJpZGUgKiAoMSArIHNzX3kpOworICAg
IHlfcHJlICs9IHlfcHJlX3N0cmlkZSAqICgxICsgc3NfeSk7CiAgICAgeV9kaXN0ICs9IERJU1Rf
U1RSSURFICogKDEgKyBzc195KTsKICAgfQogCkBAIC02ODYsMTAgKzcyMCwxMiBAQCBzdGF0aWMg
dm9pZCB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgKIAogLy8gUGVy
Zm9ybSB0ZW1wb3JhbCBmaWx0ZXIgZm9yIHRoZSBjaHJvbWEgY29tcG9uZW50cy4KIHN0YXRpYyB2
b2lkIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYSgKLSAgICBjb25zdCB1
aW50MTZfdCAqdV9wcmUsIGNvbnN0IHVpbnQxNl90ICp2X3ByZSwgaW50IHV2X3ByZV9zdHJpZGUs
Ci0gICAgdW5zaWduZWQgaW50IGJsb2NrX3dpZHRoLCB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0
LCBpbnQgc3NfeCwgaW50IHNzX3ksCi0gICAgaW50IHN0cmVuZ3RoLCBjb25zdCBpbnQgKmJsa19m
dywgaW50IHVzZV93aG9sZV9ibGssIHVpbnQzMl90ICp1X2FjY3VtLAotICAgIHVpbnQxNl90ICp1
X2NvdW50LCB1aW50MzJfdCAqdl9hY2N1bSwgdWludDE2X3QgKnZfY291bnQsCisgICAgY29uc3Qg
dWludDE2X3QgKnlfc3JjLCBpbnQgeV9zcmNfc3RyaWRlLCBjb25zdCB1aW50MTZfdCAqeV9wcmUs
CisgICAgaW50IHlfcHJlX3N0cmlkZSwgY29uc3QgdWludDE2X3QgKnVfc3JjLCBjb25zdCB1aW50
MTZfdCAqdl9zcmMsCisgICAgaW50IHV2X3NyY19zdHJpZGUsIGNvbnN0IHVpbnQxNl90ICp1X3By
ZSwgY29uc3QgdWludDE2X3QgKnZfcHJlLAorICAgIGludCB1dl9wcmVfc3RyaWRlLCB1bnNpZ25l
ZCBpbnQgYmxvY2tfd2lkdGgsIHVuc2lnbmVkIGludCBibG9ja19oZWlnaHQsCisgICAgaW50IHNz
X3gsIGludCBzc195LCBpbnQgc3RyZW5ndGgsIGNvbnN0IGludCAqYmxrX2Z3LCBpbnQgdXNlX3do
b2xlX2JsaywKKyAgICB1aW50MzJfdCAqdV9hY2N1bSwgdWludDE2X3QgKnVfY291bnQsIHVpbnQz
Ml90ICp2X2FjY3VtLCB1aW50MTZfdCAqdl9jb3VudCwKICAgICBjb25zdCB1aW50MzJfdCAqeV9k
aXN0LCBjb25zdCB1aW50MzJfdCAqdV9kaXN0LCBjb25zdCB1aW50MzJfdCAqdl9kaXN0KSB7CiAg
IGNvbnN0IHVuc2lnbmVkIGludCB1dl93aWR0aCA9IGJsb2NrX3dpZHRoID4+IHNzX3gsCiAgICAg
ICAgICAgICAgICAgICAgICB1dl9oZWlnaHQgPSBibG9ja19oZWlnaHQgPj4gc3NfeTsKQEAgLTcx
OSw2ICs3NTUsOCBAQCBzdGF0aWMgdm9pZCB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRl
cl9jaHJvbWEoCiAKICAgICBpZiAodXNlX3dob2xlX2JsaykgewogICAgICAgdnA5X2hpZ2hiZF9h
cHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hXzgoCisgICAgICAgICAgeV9zcmMgKyBibGtfY29s
LCB5X3NyY19zdHJpZGUsIHlfcHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLAorICAgICAgICAg
IHVfc3JjICsgdXZfYmxrX2NvbCwgdl9zcmMgKyB1dl9ibGtfY29sLCB1dl9zcmNfc3RyaWRlLAog
ICAgICAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVf
c3RyaWRlLCB1dl93aWR0aCwKICAgICAgICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVu
Z3RoLCB1X2FjY3VtICsgdXZfYmxrX2NvbCwKICAgICAgICAgICB1X2NvdW50ICsgdXZfYmxrX2Nv
bCwgdl9hY2N1bSArIHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLApAQCAtNzI2LDYg
Kzc2NCw4IEBAIHN0YXRpYyB2b2lkIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2No
cm9tYSgKICAgICAgICAgICBuZWlnaGJvcnNfZnN0LCBuZWlnaGJvcnNfc25kLCB0b3Bfd2VpZ2h0
LCBib3R0b21fd2VpZ2h0LCBOVUxMKTsKICAgICB9IGVsc2UgewogICAgICAgdnA5X2hpZ2hiZF9h
cHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hXzgoCisgICAgICAgICAgeV9zcmMgKyBibGtfY29s
LCB5X3NyY19zdHJpZGUsIHlfcHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLAorICAgICAgICAg
IHVfc3JjICsgdXZfYmxrX2NvbCwgdl9zcmMgKyB1dl9ibGtfY29sLCB1dl9zcmNfc3RyaWRlLAog
ICAgICAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVf
c3RyaWRlLCB1dl93aWR0aCwKICAgICAgICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVu
Z3RoLCB1X2FjY3VtICsgdXZfYmxrX2NvbCwKICAgICAgICAgICB1X2NvdW50ICsgdXZfYmxrX2Nv
bCwgdl9hY2N1bSArIHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLApAQCAtNzQ5LDEx
ICs3ODksMTMgQEAgc3RhdGljIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJf
Y2hyb21hKAogICB9CiAKICAgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21h
XzgoCi0gICAgICB1X3ByZSArIHV2X2Jsa19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZfcHJl
X3N0cmlkZSwgdXZfd2lkdGgsCi0gICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3Ro
LCB1X2FjY3VtICsgdXZfYmxrX2NvbCwKLSAgICAgIHVfY291bnQgKyB1dl9ibGtfY29sLCB2X2Fj
Y3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsCi0gICAgICB5X2Rpc3QgKyBi
bGtfY29sLCB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWlnaGJv
cnNfZnN0LAotICAgICAgbmVpZ2hib3JzX3NuZCwgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdodCwg
TlVMTCk7CisgICAgICB5X3NyYyArIGJsa19jb2wsIHlfc3JjX3N0cmlkZSwgeV9wcmUgKyBibGtf
Y29sLCB5X3ByZV9zdHJpZGUsCisgICAgICB1X3NyYyArIHV2X2Jsa19jb2wsIHZfc3JjICsgdXZf
YmxrX2NvbCwgdXZfc3JjX3N0cmlkZSwgdV9wcmUgKyB1dl9ibGtfY29sLAorICAgICAgdl9wcmUg
KyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1dl93aWR0aCwgdXZfaGVpZ2h0LCBzc194LCBz
c195LAorICAgICAgc3RyZW5ndGgsIHVfYWNjdW0gKyB1dl9ibGtfY29sLCB1X2NvdW50ICsgdXZf
YmxrX2NvbCwKKyAgICAgIHZfYWNjdW0gKyB1dl9ibGtfY29sLCB2X2NvdW50ICsgdXZfYmxrX2Nv
bCwgeV9kaXN0ICsgYmxrX2NvbCwKKyAgICAgIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCAr
IHV2X2Jsa19jb2wsIG5laWdoYm9yc19mc3QsIG5laWdoYm9yc19zbmQsCisgICAgICB0b3Bfd2Vp
Z2h0LCBib3R0b21fd2VpZ2h0LCBOVUxMKTsKIAogICBibGtfY29sICs9IGJsa19jb2xfc3RlcDsK
ICAgdXZfYmxrX2NvbCArPSB1dl9ibGtfY29sX3N0ZXA7CkBAIC03NzAsNiArODEyLDggQEAgc3Rh
dGljIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hKAogICBmb3Ig
KDsgdXZfYmxrX2NvbCA8IHV2X21pZF93aWR0aDsKICAgICAgICBibGtfY29sICs9IGJsa19jb2xf
c3RlcCwgdXZfYmxrX2NvbCArPSB1dl9ibGtfY29sX3N0ZXApIHsKICAgICB2cDlfaGlnaGJkX2Fw
cGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgKKyAgICAgICAgeV9zcmMgKyBibGtfY29sLCB5
X3NyY19zdHJpZGUsIHlfcHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLAorICAgICAgICB1X3Ny
YyArIHV2X2Jsa19jb2wsIHZfc3JjICsgdXZfYmxrX2NvbCwgdXZfc3JjX3N0cmlkZSwKICAgICAg
ICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUs
IHV2X3dpZHRoLAogICAgICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLCB1X2Fj
Y3VtICsgdXZfYmxrX2NvbCwKICAgICAgICAgdV9jb3VudCArIHV2X2Jsa19jb2wsIHZfYWNjdW0g
KyB1dl9ibGtfY29sLCB2X2NvdW50ICsgdXZfYmxrX2NvbCwKQEAgLTc4Niw2ICs4MzAsOCBAQCBz
dGF0aWMgdm9pZCB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWEoCiAgIGZv
ciAoOyB1dl9ibGtfY29sIDwgdXZfbGFzdF93aWR0aDsKICAgICAgICBibGtfY29sICs9IGJsa19j
b2xfc3RlcCwgdXZfYmxrX2NvbCArPSB1dl9ibGtfY29sX3N0ZXApIHsKICAgICB2cDlfaGlnaGJk
X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgKKyAgICAgICAgeV9zcmMgKyBibGtfY29s
LCB5X3NyY19zdHJpZGUsIHlfcHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLAorICAgICAgICB1
X3NyYyArIHV2X2Jsa19jb2wsIHZfc3JjICsgdXZfYmxrX2NvbCwgdXZfc3JjX3N0cmlkZSwKICAg
ICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJp
ZGUsIHV2X3dpZHRoLAogICAgICAgICB1dl9oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLCB1
X2FjY3VtICsgdXZfYmxrX2NvbCwKICAgICAgICAgdV9jb3VudCArIHV2X2Jsa19jb2wsIHZfYWNj
dW0gKyB1dl9ibGtfY29sLCB2X2NvdW50ICsgdXZfYmxrX2NvbCwKQEAgLTgwMywxMSArODQ5LDEz
IEBAIHN0YXRpYyB2b2lkIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYSgK
ICAgfQogCiAgIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAotICAg
ICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUs
IHV2X3dpZHRoLAotICAgICAgdXZfaGVpZ2h0LCBzc194LCBzc195LCBzdHJlbmd0aCwgdV9hY2N1
bSArIHV2X2Jsa19jb2wsCi0gICAgICB1X2NvdW50ICsgdXZfYmxrX2NvbCwgdl9hY2N1bSArIHV2
X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLAotICAgICAgeV9kaXN0ICsgYmxrX2NvbCwg
dV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzX2ZzdCwK
LSAgICAgIG5laWdoYm9yc19zbmQsIHRvcF93ZWlnaHQsIGJvdHRvbV93ZWlnaHQsIE5VTEwpOwor
ICAgICAgeV9zcmMgKyBibGtfY29sLCB5X3NyY19zdHJpZGUsIHlfcHJlICsgYmxrX2NvbCwgeV9w
cmVfc3RyaWRlLAorICAgICAgdV9zcmMgKyB1dl9ibGtfY29sLCB2X3NyYyArIHV2X2Jsa19jb2ws
IHV2X3NyY19zdHJpZGUsIHVfcHJlICsgdXZfYmxrX2NvbCwKKyAgICAgIHZfcHJlICsgdXZfYmxr
X2NvbCwgdXZfcHJlX3N0cmlkZSwgdXZfd2lkdGgsIHV2X2hlaWdodCwgc3NfeCwgc3NfeSwKKyAg
ICAgIHN0cmVuZ3RoLCB1X2FjY3VtICsgdXZfYmxrX2NvbCwgdV9jb3VudCArIHV2X2Jsa19jb2ws
CisgICAgICB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsIHlfZGlz
dCArIGJsa19jb2wsCisgICAgICB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtf
Y29sLCBuZWlnaGJvcnNfZnN0LCBuZWlnaGJvcnNfc25kLAorICAgICAgdG9wX3dlaWdodCwgYm90
dG9tX3dlaWdodCwgTlVMTCk7CiB9CiAKIHZvaWQgdnA5X2hpZ2hiZF9hcHBseV90ZW1wb3JhbF9m
aWx0ZXJfc3NlNF8xKApAQCAtODgxLDEyICs5MjksMTQgQEAgdm9pZCB2cDlfaGlnaGJkX2FwcGx5
X3RlbXBvcmFsX2ZpbHRlcl9zc2U0XzEoCiAgIHVfZGlzdF9wdHIgPSB1X2Rpc3QgKyAxOwogICB2
X2Rpc3RfcHRyID0gdl9kaXN0ICsgMTsKIAotICB2cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2Zp
bHRlcl9sdW1hKHlfcHJlLCB5X3ByZV9zdHJpZGUsIGJsb2NrX3dpZHRoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwgc3Ry
ZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxrX2Z3LCB1
c2Vfd2hvbGVfYmxrLCB5X2FjY3VtLCB5X2NvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHlfZGlzdF9wdHIsIHVfZGlzdF9wdHIsIHZfZGlzdF9wdHIpOworICB2
cDlfaGlnaGJkX2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hKAorICAgICAgeV9zcmMsIHlfc3Jj
X3N0cmlkZSwgeV9wcmUsIHlfcHJlX3N0cmlkZSwgdV9zcmMsIHZfc3JjLCB1dl9zcmNfc3RyaWRl
LAorICAgICAgdV9wcmUsIHZfcHJlLCB1dl9wcmVfc3RyaWRlLCBibG9ja193aWR0aCwgYmxvY2tf
aGVpZ2h0LCBzc194LCBzc195LAorICAgICAgc3RyZW5ndGgsIGJsa19mdywgdXNlX3dob2xlX2Js
aywgeV9hY2N1bSwgeV9jb3VudCwgeV9kaXN0X3B0ciwgdV9kaXN0X3B0ciwKKyAgICAgIHZfZGlz
dF9wdHIpOwogCiAgIHZwOV9oaWdoYmRfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYSgKKyAg
ICAgIHlfc3JjLCB5X3NyY19zdHJpZGUsIHlfcHJlLCB5X3ByZV9zdHJpZGUsIHVfc3JjLCB2X3Ny
YywgdXZfc3JjX3N0cmlkZSwKICAgICAgIHVfcHJlLCB2X3ByZSwgdXZfcHJlX3N0cmlkZSwgYmxv
Y2tfd2lkdGgsIGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwKICAgICAgIHN0cmVuZ3RoLCBibGtf
ZncsIHVzZV93aG9sZV9ibGssIHVfYWNjdW0sIHVfY291bnQsIHZfYWNjdW0sIHZfY291bnQsCiAg
ICAgICB5X2Rpc3RfcHRyLCB1X2Rpc3RfcHRyLCB2X2Rpc3RfcHRyKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIvdnA5X3RlbXBvcmFsX2ZpbHRlcl9jb25zdGFudHMuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3RlbXBvcmFsX2ZpbHRlcl9jb25zdGFudHMuaApzaW1p
bGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3ZwOV90
ZW1wb3JhbF9maWx0ZXJfY29uc3RhbnRzLmgKcmVuYW1lIHRvIFNvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29k
ZXIveDg2L3RlbXBvcmFsX2ZpbHRlcl9jb25zdGFudHMuaAppbmRleCA4Nzc2ZGZjMDY4ODQuLjdk
Y2VkZGExOTJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci92cDlfdGVtcG9y
YWxfZmlsdGVyX2NvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3Rl
bXBvcmFsX2ZpbHRlcl9jb25zdGFudHMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiAgQ29weXJp
Z2h0IChjKSAyMDIzIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqICBDb3B5cmlnaHQgKGMpIDIwMTkgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgogICoKICAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCiAgKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCkBAIC04LDggKzgsOCBAQAog
ICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJj
ZSB0cmVlLgogICovCiAKLSNpZm5kZWYgVlBYX1ZQOV9FTkNPREVSX1RFTVBPUkFMX0ZJTFRFUl9D
T05TVEFOVFNfSF8KLSNkZWZpbmUgVlBYX1ZQOV9FTkNPREVSX1RFTVBPUkFMX0ZJTFRFUl9DT05T
VEFOVFNfSF8KKyNpZm5kZWYgVlBYX1ZQOV9FTkNPREVSX1g4Nl9URU1QT1JBTF9GSUxURVJfQ09O
U1RBTlRTX0hfCisjZGVmaW5lIFZQWF9WUDlfRU5DT0RFUl9YODZfVEVNUE9SQUxfRklMVEVSX0NP
TlNUQU5UU19IXwogI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgogCiAvLyBEaXZpc2lvbiB1c2lu
ZyBtdWx0aXBsaWNhdGlvbiBhbmQgc2hpZnRpbmcuIFRoZSBDIGltcGxlbWVudGF0aW9uIGRvZXM6
CkBAIC00MDcsNCArNDA3LDQgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90CiAKICNkZWZpbmUgRElT
VF9TVFJJREUgKChCVykgKyAyKQogCi0jZW5kaWYgIC8vIFZQWF9WUDlfRU5DT0RFUl9URU1QT1JB
TF9GSUxURVJfQ09OU1RBTlRTX0hfCisjZW5kaWYgIC8vIFZQWF9WUDlfRU5DT0RFUl9YODZfVEVN
UE9SQUxfRklMVEVSX0NPTlNUQU5UU19IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5j
b2Rlci94ODYvdGVtcG9yYWxfZmlsdGVyX3NzZTQuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIv
eDg2L3RlbXBvcmFsX2ZpbHRlcl9zc2U0LmMKaW5kZXggNzU3MWJmY2NhYzFkLi40MzdmNDlmNWEw
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3RlbXBvcmFsX2ZpbHRl
cl9zc2U0LmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdGVtcG9yYWxfZmlsdGVy
X3NzZTQuYwpAQCAtMTYsNyArMTYsNyBAQAogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgog
I2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVyLmgiCiAjaW5jbHVkZSAidnA5L2VuY29k
ZXIvdnA5X3RlbXBvcmFsX2ZpbHRlci5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV90ZW1w
b3JhbF9maWx0ZXJfY29uc3RhbnRzLmgiCisjaW5jbHVkZSAidnA5L2VuY29kZXIveDg2L3RlbXBv
cmFsX2ZpbHRlcl9jb25zdGFudHMuaCIKIAogLy8gUmVhZCBpbiA4IHBpeGVscyBmcm9tIGEgYW5k
IGIgYXMgOC1iaXQgdW5zaWduZWQgaW50ZWdlcnMsIGNvbXB1dGUgdGhlCiAvLyBkaWZmZXJlbmNl
IHNxdWFyZWQsIGFuZCBzdG9yZSBhcyB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlciB0byBkc3QuCkBA
IC0yNzAsMTEgKzI3MCwxMyBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgYWRkX2x1bWFfZGlzdF90b184
X2Nocm9tYV9tb2QoY29uc3QgdWludDE2X3QgKnlfZGlzdCwKIC8vIHNpemUgNCBmb3IgdGhlIHdl
aWdodHMgZm9yIGVhY2ggb2YgdGhlIDQgc3ViYmxvY2tzIGlmIGJsa19mdyBpcyBub3QgTlVMTCwK
IC8vIGVsc2UgdXNlIHRvcF93ZWlnaHQgZm9yIHRvcCBoYWxmLCBhbmQgYm90dG9tIHdlaWdodCBm
b3IgYm90dG9tIGhhbGYuCiBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2x1
bWFfMTYoCi0gICAgY29uc3QgdWludDhfdCAqeV9wcmUsIGludCB5X3ByZV9zdHJpZGUsIHVuc2ln
bmVkIGludCBibG9ja193aWR0aCwKLSAgICB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LCBpbnQg
c3NfeCwgaW50IHNzX3ksIGludCBzdHJlbmd0aCwKLSAgICBpbnQgdXNlX3dob2xlX2JsaywgdWlu
dDMyX3QgKnlfYWNjdW0sIHVpbnQxNl90ICp5X2NvdW50LAotICAgIGNvbnN0IHVpbnQxNl90ICp5
X2Rpc3QsIGNvbnN0IHVpbnQxNl90ICp1X2Rpc3QsIGNvbnN0IHVpbnQxNl90ICp2X2Rpc3QsCi0g
ICAgY29uc3QgaW50MTZfdCAqY29uc3QgKm5laWdoYm9yc19maXJzdCwKKyAgICBjb25zdCB1aW50
OF90ICp5X3NyYywgaW50IHlfc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqeV9wcmUsCisgICAg
aW50IHlfcHJlX3N0cmlkZSwgY29uc3QgdWludDhfdCAqdV9zcmMsIGNvbnN0IHVpbnQ4X3QgKnZf
c3JjLAorICAgIGludCB1dl9zcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICp1X3ByZSwgY29uc3Qg
dWludDhfdCAqdl9wcmUsCisgICAgaW50IHV2X3ByZV9zdHJpZGUsIHVuc2lnbmVkIGludCBibG9j
a193aWR0aCwgdW5zaWduZWQgaW50IGJsb2NrX2hlaWdodCwKKyAgICBpbnQgc3NfeCwgaW50IHNz
X3ksIGludCBzdHJlbmd0aCwgaW50IHVzZV93aG9sZV9ibGssIHVpbnQzMl90ICp5X2FjY3VtLAor
ICAgIHVpbnQxNl90ICp5X2NvdW50LCBjb25zdCB1aW50MTZfdCAqeV9kaXN0LCBjb25zdCB1aW50
MTZfdCAqdV9kaXN0LAorICAgIGNvbnN0IHVpbnQxNl90ICp2X2Rpc3QsIGNvbnN0IGludDE2X3Qg
KmNvbnN0ICpuZWlnaGJvcnNfZmlyc3QsCiAgICAgY29uc3QgaW50MTZfdCAqY29uc3QgKm5laWdo
Ym9yc19zZWNvbmQsIGludCB0b3Bfd2VpZ2h0LCBpbnQgYm90dG9tX3dlaWdodCwKICAgICBjb25z
dCBpbnQgKmJsa19mdykgewogICBjb25zdCBpbnQgcm91bmRpbmcgPSAoMSA8PCBzdHJlbmd0aCkg
Pj4gMTsKQEAgLTI5OSw2ICszMDEsNyBAQCBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxf
ZmlsdGVyX2x1bWFfMTYoCiAgIGFzc2VydChzdHJlbmd0aCA8PSA2KTsKIAogICBhc3NlcnQoYmxv
Y2tfd2lkdGggPT0gMTYpOworCiAgICh2b2lkKWJsb2NrX3dpZHRoOwogCiAgIC8vIEluaXRpYWxp
emUgdGhlIHdlaWdodHMKQEAgLTMzOSwxMiArMzQyLDE3IEBAIHN0YXRpYyB2b2lkIHZwOV9hcHBs
eV90ZW1wb3JhbF9maWx0ZXJfbHVtYV8xNigKICAgYWNjdW11bGF0ZV9hbmRfc3RvcmVfMTYoc3Vt
X3Jvd19maXJzdCwgc3VtX3Jvd19zZWNvbmQsIHlfcHJlLCB5X2NvdW50LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICB5X2FjY3VtKTsKIAorICB5X3NyYyArPSB5X3NyY19zdHJpZGU7CiAgIHlf
cHJlICs9IHlfcHJlX3N0cmlkZTsKICAgeV9jb3VudCArPSB5X3ByZV9zdHJpZGU7CiAgIHlfYWNj
dW0gKz0geV9wcmVfc3RyaWRlOwogICB5X2Rpc3QgKz0gRElTVF9TVFJJREU7CiAKKyAgdV9zcmMg
Kz0gdXZfc3JjX3N0cmlkZTsKKyAgdV9wcmUgKz0gdXZfcHJlX3N0cmlkZTsKICAgdV9kaXN0ICs9
IERJU1RfU1RSSURFOworICB2X3NyYyArPSB1dl9zcmNfc3RyaWRlOworICB2X3ByZSArPSB1dl9w
cmVfc3RyaWRlOwogICB2X2Rpc3QgKz0gRElTVF9TVFJJREU7CiAKICAgLy8gVGhlbiBhbGwgdGhl
IHJvd3MgZXhjZXB0IHRoZSBsYXN0IG9uZQpAQCAtMzg0LDcgKzM5MiwxMSBAQCBzdGF0aWMgdm9p
ZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2x1bWFfMTYoCiAgICAgICByZWFkX2Nocm9tYV9k
aXN0X3Jvd18xNihzc194LCB1X2Rpc3QsIHZfZGlzdCwgJnVfZmlyc3QsICZ1X3NlY29uZCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2X2ZpcnN0LCAmdl9zZWNvbmQpOwogCisgICAg
ICB1X3NyYyArPSB1dl9zcmNfc3RyaWRlOworICAgICAgdV9wcmUgKz0gdXZfcHJlX3N0cmlkZTsK
ICAgICAgIHVfZGlzdCArPSBESVNUX1NUUklERTsKKyAgICAgIHZfc3JjICs9IHV2X3NyY19zdHJp
ZGU7CisgICAgICB2X3ByZSArPSB1dl9wcmVfc3RyaWRlOwogICAgICAgdl9kaXN0ICs9IERJU1Rf
U1RSSURFOwogICAgIH0KIApAQCAtNDAxLDYgKzQxMyw3IEBAIHN0YXRpYyB2b2lkIHZwOV9hcHBs
eV90ZW1wb3JhbF9maWx0ZXJfbHVtYV8xNigKICAgICBhY2N1bXVsYXRlX2FuZF9zdG9yZV8xNihz
dW1fcm93X2ZpcnN0LCBzdW1fcm93X3NlY29uZCwgeV9wcmUsIHlfY291bnQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeV9hY2N1bSk7CiAKKyAgICB5X3NyYyArPSB5X3NyY19zdHJpZGU7
CiAgICAgeV9wcmUgKz0geV9wcmVfc3RyaWRlOwogICAgIHlfY291bnQgKz0geV9wcmVfc3RyaWRl
OwogICAgIHlfYWNjdW0gKz0geV9wcmVfc3RyaWRlOwpAQCAtNDQ1LDEwICs0NTgsMTMgQEAgc3Rh
dGljIHZvaWQgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hXzE2KAogCiAvLyBQZXJmb3Jt
IHRlbXBvcmFsIGZpbHRlciBmb3IgdGhlIGx1bWEgY29tcG9uZW50Lgogc3RhdGljIHZvaWQgdnA5
X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hKAotICAgIGNvbnN0IHVpbnQ4X3QgKnlfcHJlLCBp
bnQgeV9wcmVfc3RyaWRlLCB1bnNpZ25lZCBpbnQgYmxvY2tfd2lkdGgsCi0gICAgdW5zaWduZWQg
aW50IGJsb2NrX2hlaWdodCwgaW50IHNzX3gsIGludCBzc195LCBpbnQgc3RyZW5ndGgsCi0gICAg
Y29uc3QgaW50ICpibGtfZncsIGludCB1c2Vfd2hvbGVfYmxrLCB1aW50MzJfdCAqeV9hY2N1bSwg
dWludDE2X3QgKnlfY291bnQsCi0gICAgY29uc3QgdWludDE2X3QgKnlfZGlzdCwgY29uc3QgdWlu
dDE2X3QgKnVfZGlzdCwgY29uc3QgdWludDE2X3QgKnZfZGlzdCkgeworICAgIGNvbnN0IHVpbnQ4
X3QgKnlfc3JjLCBpbnQgeV9zcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICp5X3ByZSwKKyAgICBp
bnQgeV9wcmVfc3RyaWRlLCBjb25zdCB1aW50OF90ICp1X3NyYywgY29uc3QgdWludDhfdCAqdl9z
cmMsCisgICAgaW50IHV2X3NyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnVfcHJlLCBjb25zdCB1
aW50OF90ICp2X3ByZSwKKyAgICBpbnQgdXZfcHJlX3N0cmlkZSwgdW5zaWduZWQgaW50IGJsb2Nr
X3dpZHRoLCB1bnNpZ25lZCBpbnQgYmxvY2tfaGVpZ2h0LAorICAgIGludCBzc194LCBpbnQgc3Nf
eSwgaW50IHN0cmVuZ3RoLCBjb25zdCBpbnQgKmJsa19mdywgaW50IHVzZV93aG9sZV9ibGssCisg
ICAgdWludDMyX3QgKnlfYWNjdW0sIHVpbnQxNl90ICp5X2NvdW50LCBjb25zdCB1aW50MTZfdCAq
eV9kaXN0LAorICAgIGNvbnN0IHVpbnQxNl90ICp1X2Rpc3QsIGNvbnN0IHVpbnQxNl90ICp2X2Rp
c3QpIHsKICAgdW5zaWduZWQgaW50IGJsa19jb2wgPSAwLCB1dl9ibGtfY29sID0gMDsKICAgY29u
c3QgdW5zaWduZWQgaW50IGJsa19jb2xfc3RlcCA9IDE2LCB1dl9ibGtfY29sX3N0ZXAgPSAxNiA+
PiBzc194OwogICBjb25zdCB1bnNpZ25lZCBpbnQgbWlkX3dpZHRoID0gYmxvY2tfd2lkdGggPj4g
MSwKQEAgLTQ2MCwyMiArNDc2LDI3IEBAIHN0YXRpYyB2b2lkIHZwOV9hcHBseV90ZW1wb3JhbF9m
aWx0ZXJfbHVtYSgKIAogICBpZiAoYmxvY2tfd2lkdGggPT0gMTYpIHsKICAgICAvLyBTcGVjaWFs
IENhc2U6IFRoZSBibG9ja3dpZHRoIGlzIDE2IGFuZCB3ZSBhcmUgb3BlcmF0aW5nIG9uIGEgcm93
IG9mIDE2Ci0gICAgLy8gY2hyb21hIHBpeGVscy4gSW4gdGhpcyBjYXNlLCB3ZSBjYW4ndCB1c2Ug
dGhlIHVzdWFsIGxlZnQtbWlkZGxlLXJpZ2h0CisgICAgLy8gY2hyb21hIHBpeGVscy4gSW4gdGhp
cyBjYXNlLCB3ZSBjYW4ndCB1c2UgdGhlIHVzdWFseSBsZWZ0LW1pZGxlLXJpZ2h0CiAgICAgLy8g
cGF0dGVybi4gV2UgYWxzbyBkb24ndCBzdXBwb3J0IHNwbGl0dGluZyBub3cuCiAgICAgbmVpZ2hi
b3JzX2ZpcnN0ID0gTFVNQV9MRUZUX0NPTFVNTl9ORUlHSEJPUlM7CiAgICAgbmVpZ2hib3JzX3Nl
Y29uZCA9IExVTUFfUklHSFRfQ09MVU1OX05FSUdIQk9SUzsKICAgICBpZiAodXNlX3dob2xlX2Js
aykgewogICAgICAgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hXzE2KAotICAgICAgICAg
IHlfcHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLCAxNiwgYmxvY2tfaGVpZ2h0LCBzc194LCBz
c195LCBzdHJlbmd0aCwKLSAgICAgICAgICB1c2Vfd2hvbGVfYmxrLCB5X2FjY3VtICsgYmxrX2Nv
bCwgeV9jb3VudCArIGJsa19jb2wsIHlfZGlzdCArIGJsa19jb2wsCi0gICAgICAgICAgdV9kaXN0
ICsgdXZfYmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzX2ZpcnN0LAotICAg
ICAgICAgIG5laWdoYm9yc19zZWNvbmQsIHRvcF93ZWlnaHQsIGJvdHRvbV93ZWlnaHQsIE5VTEwp
OworICAgICAgICAgIHlfc3JjICsgYmxrX2NvbCwgeV9zcmNfc3RyaWRlLCB5X3ByZSArIGJsa19j
b2wsIHlfcHJlX3N0cmlkZSwKKyAgICAgICAgICB1X3NyYyArIHV2X2Jsa19jb2wsIHZfc3JjICsg
dXZfYmxrX2NvbCwgdXZfc3JjX3N0cmlkZSwKKyAgICAgICAgICB1X3ByZSArIHV2X2Jsa19jb2ws
IHZfcHJlICsgdXZfYmxrX2NvbCwgdXZfcHJlX3N0cmlkZSwgMTYsCisgICAgICAgICAgYmxvY2tf
aGVpZ2h0LCBzc194LCBzc195LCBzdHJlbmd0aCwgdXNlX3dob2xlX2JsaywgeV9hY2N1bSArIGJs
a19jb2wsCisgICAgICAgICAgeV9jb3VudCArIGJsa19jb2wsIHlfZGlzdCArIGJsa19jb2wsIHVf
ZGlzdCArIHV2X2Jsa19jb2wsCisgICAgICAgICAgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hi
b3JzX2ZpcnN0LCBuZWlnaGJvcnNfc2Vjb25kLCB0b3Bfd2VpZ2h0LAorICAgICAgICAgIGJvdHRv
bV93ZWlnaHQsIE5VTEwpOwogICAgIH0gZWxzZSB7CiAgICAgICB2cDlfYXBwbHlfdGVtcG9yYWxf
ZmlsdGVyX2x1bWFfMTYoCi0gICAgICAgICAgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUs
IDE2LCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLAotICAgICAgICAgIHVzZV93
aG9sZV9ibGssIHlfYWNjdW0gKyBibGtfY29sLCB5X2NvdW50ICsgYmxrX2NvbCwgeV9kaXN0ICsg
YmxrX2NvbCwKLSAgICAgICAgICB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtf
Y29sLCBuZWlnaGJvcnNfZmlyc3QsCi0gICAgICAgICAgbmVpZ2hib3JzX3NlY29uZCwgMCwgMCwg
YmxrX2Z3KTsKKyAgICAgICAgICB5X3NyYyArIGJsa19jb2wsIHlfc3JjX3N0cmlkZSwgeV9wcmUg
KyBibGtfY29sLCB5X3ByZV9zdHJpZGUsCisgICAgICAgICAgdV9zcmMgKyB1dl9ibGtfY29sLCB2
X3NyYyArIHV2X2Jsa19jb2wsIHV2X3NyY19zdHJpZGUsCisgICAgICAgICAgdV9wcmUgKyB1dl9i
bGtfY29sLCB2X3ByZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUsIDE2LAorICAgICAgICAg
IGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwgc3RyZW5ndGgsIHVzZV93aG9sZV9ibGssIHlfYWNj
dW0gKyBibGtfY29sLAorICAgICAgICAgIHlfY291bnQgKyBibGtfY29sLCB5X2Rpc3QgKyBibGtf
Y29sLCB1X2Rpc3QgKyB1dl9ibGtfY29sLAorICAgICAgICAgIHZfZGlzdCArIHV2X2Jsa19jb2ws
IG5laWdoYm9yc19maXJzdCwgbmVpZ2hib3JzX3NlY29uZCwgMCwgMCwgYmxrX2Z3KTsKICAgICB9
CiAKICAgICByZXR1cm47CkBAIC00ODUsNyArNTA2LDkgQEAgc3RhdGljIHZvaWQgdnA5X2FwcGx5
X3RlbXBvcmFsX2ZpbHRlcl9sdW1hKAogICBuZWlnaGJvcnNfZmlyc3QgPSBMVU1BX0xFRlRfQ09M
VU1OX05FSUdIQk9SUzsKICAgbmVpZ2hib3JzX3NlY29uZCA9IExVTUFfTUlERExFX0NPTFVNTl9O
RUlHSEJPUlM7CiAgIHZwOV9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVtYV8xNigKLSAgICAgIHlf
cHJlICsgYmxrX2NvbCwgeV9wcmVfc3RyaWRlLCAxNiwgYmxvY2tfaGVpZ2h0LCBzc194LCBzc195
LCBzdHJlbmd0aCwKKyAgICAgIHlfc3JjICsgYmxrX2NvbCwgeV9zcmNfc3RyaWRlLCB5X3ByZSAr
IGJsa19jb2wsIHlfcHJlX3N0cmlkZSwKKyAgICAgIHVfc3JjICsgdXZfYmxrX2NvbCwgdl9zcmMg
KyB1dl9ibGtfY29sLCB1dl9zcmNfc3RyaWRlLCB1X3ByZSArIHV2X2Jsa19jb2wsCisgICAgICB2
X3ByZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUsIDE2LCBibG9ja19oZWlnaHQsIHNzX3gs
IHNzX3ksIHN0cmVuZ3RoLAogICAgICAgdXNlX3dob2xlX2JsaywgeV9hY2N1bSArIGJsa19jb2ws
IHlfY291bnQgKyBibGtfY29sLCB5X2Rpc3QgKyBibGtfY29sLAogICAgICAgdV9kaXN0ICsgdXZf
YmxrX2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzX2ZpcnN0LAogICAgICAgbmVp
Z2hib3JzX3NlY29uZCwgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdodCwgTlVMTCk7CkBAIC00OTgs
MTAgKzUyMSwxMyBAQCBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2x1bWEo
CiAgIGZvciAoOyBibGtfY29sIDwgbWlkX3dpZHRoOwogICAgICAgIGJsa19jb2wgKz0gYmxrX2Nv
bF9zdGVwLCB1dl9ibGtfY29sICs9IHV2X2Jsa19jb2xfc3RlcCkgewogICAgIHZwOV9hcHBseV90
ZW1wb3JhbF9maWx0ZXJfbHVtYV8xNigKLSAgICAgICAgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9z
dHJpZGUsIDE2LCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLAotICAgICAgICB1
c2Vfd2hvbGVfYmxrLCB5X2FjY3VtICsgYmxrX2NvbCwgeV9jb3VudCArIGJsa19jb2wsIHlfZGlz
dCArIGJsa19jb2wsCi0gICAgICAgIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Js
a19jb2wsIG5laWdoYm9yc19maXJzdCwKLSAgICAgICAgbmVpZ2hib3JzX3NlY29uZCwgdG9wX3dl
aWdodCwgYm90dG9tX3dlaWdodCwgTlVMTCk7CisgICAgICAgIHlfc3JjICsgYmxrX2NvbCwgeV9z
cmNfc3RyaWRlLCB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwKKyAgICAgICAgdV9zcmMg
KyB1dl9ibGtfY29sLCB2X3NyYyArIHV2X2Jsa19jb2wsIHV2X3NyY19zdHJpZGUsCisgICAgICAg
IHVfcHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCAx
NiwgYmxvY2tfaGVpZ2h0LAorICAgICAgICBzc194LCBzc195LCBzdHJlbmd0aCwgdXNlX3dob2xl
X2JsaywgeV9hY2N1bSArIGJsa19jb2wsCisgICAgICAgIHlfY291bnQgKyBibGtfY29sLCB5X2Rp
c3QgKyBibGtfY29sLCB1X2Rpc3QgKyB1dl9ibGtfY29sLAorICAgICAgICB2X2Rpc3QgKyB1dl9i
bGtfY29sLCBuZWlnaGJvcnNfZmlyc3QsIG5laWdoYm9yc19zZWNvbmQsIHRvcF93ZWlnaHQsCisg
ICAgICAgIGJvdHRvbV93ZWlnaHQsIE5VTEwpOwogICB9CiAKICAgaWYgKCF1c2Vfd2hvbGVfYmxr
KSB7CkBAIC01MTMsMTYgKzUzOSwyMSBAQCBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxf
ZmlsdGVyX2x1bWEoCiAgIGZvciAoOyBibGtfY29sIDwgbGFzdF93aWR0aDsKICAgICAgICBibGtf
Y29sICs9IGJsa19jb2xfc3RlcCwgdXZfYmxrX2NvbCArPSB1dl9ibGtfY29sX3N0ZXApIHsKICAg
ICB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2x1bWFfMTYoCi0gICAgICAgIHlfcHJlICsgYmxr
X2NvbCwgeV9wcmVfc3RyaWRlLCAxNiwgYmxvY2tfaGVpZ2h0LCBzc194LCBzc195LCBzdHJlbmd0
aCwKLSAgICAgICAgdXNlX3dob2xlX2JsaywgeV9hY2N1bSArIGJsa19jb2wsIHlfY291bnQgKyBi
bGtfY29sLCB5X2Rpc3QgKyBibGtfY29sLAotICAgICAgICB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2
X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWlnaGJvcnNfZmlyc3QsCi0gICAgICAgIG5laWdoYm9yc19z
ZWNvbmQsIHRvcF93ZWlnaHQsIGJvdHRvbV93ZWlnaHQsIE5VTEwpOworICAgICAgICB5X3NyYyAr
IGJsa19jb2wsIHlfc3JjX3N0cmlkZSwgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUsCisg
ICAgICAgIHVfc3JjICsgdXZfYmxrX2NvbCwgdl9zcmMgKyB1dl9ibGtfY29sLCB1dl9zcmNfc3Ry
aWRlLAorICAgICAgICB1X3ByZSArIHV2X2Jsa19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZf
cHJlX3N0cmlkZSwgMTYsIGJsb2NrX2hlaWdodCwKKyAgICAgICAgc3NfeCwgc3NfeSwgc3RyZW5n
dGgsIHVzZV93aG9sZV9ibGssIHlfYWNjdW0gKyBibGtfY29sLAorICAgICAgICB5X2NvdW50ICsg
YmxrX2NvbCwgeV9kaXN0ICsgYmxrX2NvbCwgdV9kaXN0ICsgdXZfYmxrX2NvbCwKKyAgICAgICAg
dl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzX2ZpcnN0LCBuZWlnaGJvcnNfc2Vjb25kLCB0
b3Bfd2VpZ2h0LAorICAgICAgICBib3R0b21fd2VpZ2h0LCBOVUxMKTsKICAgfQogCiAgIC8vIFJp
Z2h0CiAgIG5laWdoYm9yc19zZWNvbmQgPSBMVU1BX1JJR0hUX0NPTFVNTl9ORUlHSEJPUlM7CiAg
IHZwOV9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVtYV8xNigKLSAgICAgIHlfcHJlICsgYmxrX2Nv
bCwgeV9wcmVfc3RyaWRlLCAxNiwgYmxvY2tfaGVpZ2h0LCBzc194LCBzc195LCBzdHJlbmd0aCwK
KyAgICAgIHlfc3JjICsgYmxrX2NvbCwgeV9zcmNfc3RyaWRlLCB5X3ByZSArIGJsa19jb2wsIHlf
cHJlX3N0cmlkZSwKKyAgICAgIHVfc3JjICsgdXZfYmxrX2NvbCwgdl9zcmMgKyB1dl9ibGtfY29s
LCB1dl9zcmNfc3RyaWRlLCB1X3ByZSArIHV2X2Jsa19jb2wsCisgICAgICB2X3ByZSArIHV2X2Js
a19jb2wsIHV2X3ByZV9zdHJpZGUsIDE2LCBibG9ja19oZWlnaHQsIHNzX3gsIHNzX3ksIHN0cmVu
Z3RoLAogICAgICAgdXNlX3dob2xlX2JsaywgeV9hY2N1bSArIGJsa19jb2wsIHlfY291bnQgKyBi
bGtfY29sLCB5X2Rpc3QgKyBibGtfY29sLAogICAgICAgdV9kaXN0ICsgdXZfYmxrX2NvbCwgdl9k
aXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzX2ZpcnN0LAogICAgICAgbmVpZ2hib3JzX3NlY29u
ZCwgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdodCwgTlVMTCk7CkBAIC01MzMsNyArNTY0LDEwIEBA
IHN0YXRpYyB2b2lkIHZwOV9hcHBseV90ZW1wb3JhbF9maWx0ZXJfbHVtYSgKIC8vIGJsa19mdyBh
cyBhbiBhcnJheSBvZiBzaXplIDQgZm9yIHRoZSB3ZWlnaHRzIGZvciBlYWNoIG9mIHRoZSA0IHN1
YmJsb2NrcywKIC8vIGVsc2UgdXNlIHRvcF93ZWlnaHQgZm9yIHRvcCBoYWxmLCBhbmQgYm90dG9t
IHdlaWdodCBmb3IgYm90dG9tIGhhbGYuCiBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxf
ZmlsdGVyX2Nocm9tYV84KAotICAgIGNvbnN0IHVpbnQ4X3QgKnVfcHJlLCBjb25zdCB1aW50OF90
ICp2X3ByZSwgaW50IHV2X3ByZV9zdHJpZGUsCisgICAgY29uc3QgdWludDhfdCAqeV9zcmMsIGlu
dCB5X3NyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnlfcHJlLAorICAgIGludCB5X3ByZV9zdHJp
ZGUsIGNvbnN0IHVpbnQ4X3QgKnVfc3JjLCBjb25zdCB1aW50OF90ICp2X3NyYywKKyAgICBpbnQg
dXZfc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqdV9wcmUsIGNvbnN0IHVpbnQ4X3QgKnZfcHJl
LAorICAgIGludCB1dl9wcmVfc3RyaWRlLCB1bnNpZ25lZCBpbnQgdXZfYmxvY2tfd2lkdGgsCiAg
ICAgdW5zaWduZWQgaW50IHV2X2Jsb2NrX2hlaWdodCwgaW50IHNzX3gsIGludCBzc195LCBpbnQg
c3RyZW5ndGgsCiAgICAgdWludDMyX3QgKnVfYWNjdW0sIHVpbnQxNl90ICp1X2NvdW50LCB1aW50
MzJfdCAqdl9hY2N1bSwgdWludDE2X3QgKnZfY291bnQsCiAgICAgY29uc3QgdWludDE2X3QgKnlf
ZGlzdCwgY29uc3QgdWludDE2X3QgKnVfZGlzdCwgY29uc3QgdWludDE2X3QgKnZfZGlzdCwKQEAg
LTU1Myw3ICs1ODcsOSBAQCBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2No
cm9tYV84KAogICAvLyBMb29wIHZhcmlhYmxlCiAgIHVuc2lnbmVkIGludCBoOwogCi0gIC8vIElu
aXRpYWxpemUgd2VpZ2h0CisgICh2b2lkKXV2X2Jsb2NrX3dpZHRoOworCisgIC8vIEluaXRpbGl6
ZSB3ZWlnaHQKICAgaWYgKGJsa19mdykgewogICAgIHdlaWdodCA9IF9tbV9zZXRyX2VwaTE2KGJs
a19md1swXSwgYmxrX2Z3WzBdLCBibGtfZndbMF0sIGJsa19md1swXSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBibGtfZndbMV0sIGJsa19md1sxXSwgYmxrX2Z3WzFdLCBibGtfZndbMV0p
OwpAQCAtNTg1LDggKzYyMSwxMCBAQCBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmls
dGVyX2Nocm9tYV84KAogICBhY2N1bXVsYXRlX2FuZF9zdG9yZV84KHVfc3VtX3JvdywgdV9wcmUs
IHVfY291bnQsIHVfYWNjdW0pOwogICBhY2N1bXVsYXRlX2FuZF9zdG9yZV84KHZfc3VtX3Jvdywg
dl9wcmUsIHZfY291bnQsIHZfYWNjdW0pOwogCisgIHVfc3JjICs9IHV2X3NyY19zdHJpZGU7CiAg
IHVfcHJlICs9IHV2X3ByZV9zdHJpZGU7CiAgIHVfZGlzdCArPSBESVNUX1NUUklERTsKKyAgdl9z
cmMgKz0gdXZfc3JjX3N0cmlkZTsKICAgdl9wcmUgKz0gdXZfcHJlX3N0cmlkZTsKICAgdl9kaXN0
ICs9IERJU1RfU1RSSURFOwogICB1X2NvdW50ICs9IHV2X3ByZV9zdHJpZGU7CkBAIC01OTQsNiAr
NjMyLDggQEAgc3RhdGljIHZvaWQgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgK
ICAgdl9jb3VudCArPSB1dl9wcmVfc3RyaWRlOwogICB2X2FjY3VtICs9IHV2X3ByZV9zdHJpZGU7
CiAKKyAgeV9zcmMgKz0geV9zcmNfc3RyaWRlICogKDEgKyBzc195KTsKKyAgeV9wcmUgKz0geV9w
cmVfc3RyaWRlICogKDEgKyBzc195KTsKICAgeV9kaXN0ICs9IERJU1RfU1RSSURFICogKDEgKyBz
c195KTsKIAogICAvLyBUaGVuIGFsbCB0aGUgcm93cyBleGNlcHQgdGhlIGxhc3Qgb25lCkBAIC02
MzYsOCArNjc2LDEwIEBAIHN0YXRpYyB2b2lkIHZwOV9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hy
b21hXzgoCiAgICAgYWNjdW11bGF0ZV9hbmRfc3RvcmVfOCh1X3N1bV9yb3csIHVfcHJlLCB1X2Nv
dW50LCB1X2FjY3VtKTsKICAgICBhY2N1bXVsYXRlX2FuZF9zdG9yZV84KHZfc3VtX3Jvdywgdl9w
cmUsIHZfY291bnQsIHZfYWNjdW0pOwogCisgICAgdV9zcmMgKz0gdXZfc3JjX3N0cmlkZTsKICAg
ICB1X3ByZSArPSB1dl9wcmVfc3RyaWRlOwogICAgIHVfZGlzdCArPSBESVNUX1NUUklERTsKKyAg
ICB2X3NyYyArPSB1dl9zcmNfc3RyaWRlOwogICAgIHZfcHJlICs9IHV2X3ByZV9zdHJpZGU7CiAg
ICAgdl9kaXN0ICs9IERJU1RfU1RSSURFOwogICAgIHVfY291bnQgKz0gdXZfcHJlX3N0cmlkZTsK
QEAgLTY0NSw2ICs2ODcsOCBAQCBzdGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVy
X2Nocm9tYV84KAogICAgIHZfY291bnQgKz0gdXZfcHJlX3N0cmlkZTsKICAgICB2X2FjY3VtICs9
IHV2X3ByZV9zdHJpZGU7CiAKKyAgICB5X3NyYyArPSB5X3NyY19zdHJpZGUgKiAoMSArIHNzX3kp
OworICAgIHlfcHJlICs9IHlfcHJlX3N0cmlkZSAqICgxICsgc3NfeSk7CiAgICAgeV9kaXN0ICs9
IERJU1RfU1RSSURFICogKDEgKyBzc195KTsKICAgfQogCkBAIC02NzUsMTAgKzcxOSwxMiBAQCBz
dGF0aWMgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAogCiAvLyBQZXJm
b3JtIHRlbXBvcmFsIGZpbHRlciBmb3IgdGhlIGNocm9tYSBjb21wb25lbnRzLgogc3RhdGljIHZv
aWQgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWEoCi0gICAgY29uc3QgdWludDhfdCAq
dV9wcmUsIGNvbnN0IHVpbnQ4X3QgKnZfcHJlLCBpbnQgdXZfcHJlX3N0cmlkZSwKLSAgICB1bnNp
Z25lZCBpbnQgYmxvY2tfd2lkdGgsIHVuc2lnbmVkIGludCBibG9ja19oZWlnaHQsIGludCBzc194
LCBpbnQgc3NfeSwKLSAgICBpbnQgc3RyZW5ndGgsIGNvbnN0IGludCAqYmxrX2Z3LCBpbnQgdXNl
X3dob2xlX2JsaywgdWludDMyX3QgKnVfYWNjdW0sCi0gICAgdWludDE2X3QgKnVfY291bnQsIHVp
bnQzMl90ICp2X2FjY3VtLCB1aW50MTZfdCAqdl9jb3VudCwKKyAgICBjb25zdCB1aW50OF90ICp5
X3NyYywgaW50IHlfc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqeV9wcmUsCisgICAgaW50IHlf
cHJlX3N0cmlkZSwgY29uc3QgdWludDhfdCAqdV9zcmMsIGNvbnN0IHVpbnQ4X3QgKnZfc3JjLAor
ICAgIGludCB1dl9zcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICp1X3ByZSwgY29uc3QgdWludDhf
dCAqdl9wcmUsCisgICAgaW50IHV2X3ByZV9zdHJpZGUsIHVuc2lnbmVkIGludCBibG9ja193aWR0
aCwgdW5zaWduZWQgaW50IGJsb2NrX2hlaWdodCwKKyAgICBpbnQgc3NfeCwgaW50IHNzX3ksIGlu
dCBzdHJlbmd0aCwgY29uc3QgaW50ICpibGtfZncsIGludCB1c2Vfd2hvbGVfYmxrLAorICAgIHVp
bnQzMl90ICp1X2FjY3VtLCB1aW50MTZfdCAqdV9jb3VudCwgdWludDMyX3QgKnZfYWNjdW0sIHVp
bnQxNl90ICp2X2NvdW50LAogICAgIGNvbnN0IHVpbnQxNl90ICp5X2Rpc3QsIGNvbnN0IHVpbnQx
Nl90ICp1X2Rpc3QsIGNvbnN0IHVpbnQxNl90ICp2X2Rpc3QpIHsKICAgY29uc3QgdW5zaWduZWQg
aW50IHV2X3dpZHRoID0gYmxvY2tfd2lkdGggPj4gc3NfeCwKICAgICAgICAgICAgICAgICAgICAg
IHV2X2hlaWdodCA9IGJsb2NrX2hlaWdodCA+PiBzc195OwpAQCAtNzA1LDE3ICs3NTEsMjIgQEAg
c3RhdGljIHZvaWQgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWEoCiAKICAgICBpZiAo
dXNlX3dob2xlX2JsaykgewogICAgICAgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFf
OCgKLSAgICAgICAgICB1X3ByZSArIHV2X2Jsa19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZf
cHJlX3N0cmlkZSwgdXZfaGVpZ2h0LAotICAgICAgICAgIHNzX3gsIHNzX3ksIHN0cmVuZ3RoLCB1
X2FjY3VtICsgdXZfYmxrX2NvbCwgdV9jb3VudCArIHV2X2Jsa19jb2wsCi0gICAgICAgICAgdl9h
Y2N1bSArIHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLCB5X2Rpc3QgKyBibGtfY29s
LAotICAgICAgICAgIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsIG5l
aWdoYm9ycywgdG9wX3dlaWdodCwKLSAgICAgICAgICBib3R0b21fd2VpZ2h0LCBOVUxMKTsKKyAg
ICAgICAgICB5X3NyYyArIGJsa19jb2wsIHlfc3JjX3N0cmlkZSwgeV9wcmUgKyBibGtfY29sLCB5
X3ByZV9zdHJpZGUsCisgICAgICAgICAgdV9zcmMgKyB1dl9ibGtfY29sLCB2X3NyYyArIHV2X2Js
a19jb2wsIHV2X3NyY19zdHJpZGUsCisgICAgICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3By
ZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJpZGUsIHV2X3dpZHRoLAorICAgICAgICAgIHV2X2hl
aWdodCwgc3NfeCwgc3NfeSwgc3RyZW5ndGgsIHVfYWNjdW0gKyB1dl9ibGtfY29sLAorICAgICAg
ICAgIHVfY291bnQgKyB1dl9ibGtfY29sLCB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCAr
IHV2X2Jsa19jb2wsCisgICAgICAgICAgeV9kaXN0ICsgYmxrX2NvbCwgdV9kaXN0ICsgdXZfYmxr
X2NvbCwgdl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzLAorICAgICAgICAgIHRvcF93ZWln
aHQsIGJvdHRvbV93ZWlnaHQsIE5VTEwpOwogICAgIH0gZWxzZSB7CiAgICAgICB2cDlfYXBwbHlf
dGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAotICAgICAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwg
dl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1dl9oZWlnaHQsCi0gICAgICAgICAg
c3NfeCwgc3NfeSwgc3RyZW5ndGgsIHVfYWNjdW0gKyB1dl9ibGtfY29sLCB1X2NvdW50ICsgdXZf
YmxrX2NvbCwKLSAgICAgICAgICB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Js
a19jb2wsIHlfZGlzdCArIGJsa19jb2wsCi0gICAgICAgICAgdV9kaXN0ICsgdXZfYmxrX2NvbCwg
dl9kaXN0ICsgdXZfYmxrX2NvbCwgbmVpZ2hib3JzLCAwLCAwLCBibGtfZncpOworICAgICAgICAg
IHlfc3JjICsgYmxrX2NvbCwgeV9zcmNfc3RyaWRlLCB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0
cmlkZSwKKyAgICAgICAgICB1X3NyYyArIHV2X2Jsa19jb2wsIHZfc3JjICsgdXZfYmxrX2NvbCwg
dXZfc3JjX3N0cmlkZSwKKyAgICAgICAgICB1X3ByZSArIHV2X2Jsa19jb2wsIHZfcHJlICsgdXZf
YmxrX2NvbCwgdXZfcHJlX3N0cmlkZSwgdXZfd2lkdGgsCisgICAgICAgICAgdXZfaGVpZ2h0LCBz
c194LCBzc195LCBzdHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsCisgICAgICAgICAgdV9j
b3VudCArIHV2X2Jsa19jb2wsIHZfYWNjdW0gKyB1dl9ibGtfY29sLCB2X2NvdW50ICsgdXZfYmxr
X2NvbCwKKyAgICAgICAgICB5X2Rpc3QgKyBibGtfY29sLCB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2
X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWlnaGJvcnMsCisgICAgICAgICAgMCwgMCwgYmxrX2Z3KTsK
ICAgICB9CiAKICAgICByZXR1cm47CkBAIC03MzEsOCArNzgyLDEwIEBAIHN0YXRpYyB2b2lkIHZw
OV9hcHBseV90ZW1wb3JhbF9maWx0ZXJfY2hyb21hKAogICB9CiAKICAgdnA5X2FwcGx5X3RlbXBv
cmFsX2ZpbHRlcl9jaHJvbWFfOCgKLSAgICAgIHVfcHJlICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1
dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1dl9oZWlnaHQsIHNzX3gsCi0gICAgICBzc195LCBz
dHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsIHVfY291bnQgKyB1dl9ibGtfY29sLAorICAg
ICAgeV9zcmMgKyBibGtfY29sLCB5X3NyY19zdHJpZGUsIHlfcHJlICsgYmxrX2NvbCwgeV9wcmVf
c3RyaWRlLAorICAgICAgdV9zcmMgKyB1dl9ibGtfY29sLCB2X3NyYyArIHV2X2Jsa19jb2wsIHV2
X3NyY19zdHJpZGUsIHVfcHJlICsgdXZfYmxrX2NvbCwKKyAgICAgIHZfcHJlICsgdXZfYmxrX2Nv
bCwgdXZfcHJlX3N0cmlkZSwgdXZfd2lkdGgsIHV2X2hlaWdodCwgc3NfeCwgc3NfeSwKKyAgICAg
IHN0cmVuZ3RoLCB1X2FjY3VtICsgdXZfYmxrX2NvbCwgdV9jb3VudCArIHV2X2Jsa19jb2wsCiAg
ICAgICB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsIHlfZGlzdCAr
IGJsa19jb2wsCiAgICAgICB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29s
LCBuZWlnaGJvcnMsIHRvcF93ZWlnaHQsCiAgICAgICBib3R0b21fd2VpZ2h0LCBOVUxMKTsKQEAg
LTc1MiwxMSArODA1LDEzIEBAIHN0YXRpYyB2b2lkIHZwOV9hcHBseV90ZW1wb3JhbF9maWx0ZXJf
Y2hyb21hKAogICBmb3IgKDsgdXZfYmxrX2NvbCA8IHV2X21pZF93aWR0aDsKICAgICAgICBibGtf
Y29sICs9IGJsa19jb2xfc3RlcCwgdXZfYmxrX2NvbCArPSB1dl9ibGtfY29sX3N0ZXApIHsKICAg
ICB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9tYV84KAotICAgICAgICB1X3ByZSArIHV2
X2Jsa19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZfcHJlX3N0cmlkZSwgdXZfaGVpZ2h0LCBz
c194LAotICAgICAgICBzc195LCBzdHJlbmd0aCwgdV9hY2N1bSArIHV2X2Jsa19jb2wsIHVfY291
bnQgKyB1dl9ibGtfY29sLAotICAgICAgICB2X2FjY3VtICsgdXZfYmxrX2NvbCwgdl9jb3VudCAr
IHV2X2Jsa19jb2wsIHlfZGlzdCArIGJsa19jb2wsCi0gICAgICAgIHVfZGlzdCArIHV2X2Jsa19j
b2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsIG5laWdoYm9ycywgdG9wX3dlaWdodCwKLSAgICAgICAg
Ym90dG9tX3dlaWdodCwgTlVMTCk7CisgICAgICAgIHlfc3JjICsgYmxrX2NvbCwgeV9zcmNfc3Ry
aWRlLCB5X3ByZSArIGJsa19jb2wsIHlfcHJlX3N0cmlkZSwKKyAgICAgICAgdV9zcmMgKyB1dl9i
bGtfY29sLCB2X3NyYyArIHV2X2Jsa19jb2wsIHV2X3NyY19zdHJpZGUsCisgICAgICAgIHVfcHJl
ICsgdXZfYmxrX2NvbCwgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9wcmVfc3RyaWRlLCB1dl93aWR0
aCwKKyAgICAgICAgdXZfaGVpZ2h0LCBzc194LCBzc195LCBzdHJlbmd0aCwgdV9hY2N1bSArIHV2
X2Jsa19jb2wsCisgICAgICAgIHVfY291bnQgKyB1dl9ibGtfY29sLCB2X2FjY3VtICsgdXZfYmxr
X2NvbCwgdl9jb3VudCArIHV2X2Jsa19jb2wsCisgICAgICAgIHlfZGlzdCArIGJsa19jb2wsIHVf
ZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsIG5laWdoYm9ycywKKyAgICAg
ICAgdG9wX3dlaWdodCwgYm90dG9tX3dlaWdodCwgTlVMTCk7CiAgIH0KIAogICBpZiAoIXVzZV93
aG9sZV9ibGspIHsKQEAgLTc2OCwxMSArODIzLDEzIEBAIHN0YXRpYyB2b2lkIHZwOV9hcHBseV90
ZW1wb3JhbF9maWx0ZXJfY2hyb21hKAogICBmb3IgKDsgdXZfYmxrX2NvbCA8IHV2X2xhc3Rfd2lk
dGg7CiAgICAgICAgYmxrX2NvbCArPSBibGtfY29sX3N0ZXAsIHV2X2Jsa19jb2wgKz0gdXZfYmxr
X2NvbF9zdGVwKSB7CiAgICAgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWFfOCgKLSAg
ICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2X2Jsa19jb2wsIHV2X3ByZV9zdHJp
ZGUsIHV2X2hlaWdodCwgc3NfeCwKLSAgICAgICAgc3NfeSwgc3RyZW5ndGgsIHVfYWNjdW0gKyB1
dl9ibGtfY29sLCB1X2NvdW50ICsgdXZfYmxrX2NvbCwKLSAgICAgICAgdl9hY2N1bSArIHV2X2Js
a19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLCB5X2Rpc3QgKyBibGtfY29sLAotICAgICAgICB1
X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLCBuZWlnaGJvcnMsIHRvcF93
ZWlnaHQsCi0gICAgICAgIGJvdHRvbV93ZWlnaHQsIE5VTEwpOworICAgICAgICB5X3NyYyArIGJs
a19jb2wsIHlfc3JjX3N0cmlkZSwgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUsCisgICAg
ICAgIHVfc3JjICsgdXZfYmxrX2NvbCwgdl9zcmMgKyB1dl9ibGtfY29sLCB1dl9zcmNfc3RyaWRl
LAorICAgICAgICB1X3ByZSArIHV2X2Jsa19jb2wsIHZfcHJlICsgdXZfYmxrX2NvbCwgdXZfcHJl
X3N0cmlkZSwgdXZfd2lkdGgsCisgICAgICAgIHV2X2hlaWdodCwgc3NfeCwgc3NfeSwgc3RyZW5n
dGgsIHVfYWNjdW0gKyB1dl9ibGtfY29sLAorICAgICAgICB1X2NvdW50ICsgdXZfYmxrX2NvbCwg
dl9hY2N1bSArIHV2X2Jsa19jb2wsIHZfY291bnQgKyB1dl9ibGtfY29sLAorICAgICAgICB5X2Rp
c3QgKyBibGtfY29sLCB1X2Rpc3QgKyB1dl9ibGtfY29sLCB2X2Rpc3QgKyB1dl9ibGtfY29sLCBu
ZWlnaGJvcnMsCisgICAgICAgIHRvcF93ZWlnaHQsIGJvdHRvbV93ZWlnaHQsIE5VTEwpOwogICB9
CiAKICAgLy8gUmlnaHQKQEAgLTc4NSw4ICs4NDIsMTAgQEAgc3RhdGljIHZvaWQgdnA5X2FwcGx5
X3RlbXBvcmFsX2ZpbHRlcl9jaHJvbWEoCiAgIH0KIAogICB2cDlfYXBwbHlfdGVtcG9yYWxfZmls
dGVyX2Nocm9tYV84KAotICAgICAgdV9wcmUgKyB1dl9ibGtfY29sLCB2X3ByZSArIHV2X2Jsa19j
b2wsIHV2X3ByZV9zdHJpZGUsIHV2X2hlaWdodCwgc3NfeCwKLSAgICAgIHNzX3ksIHN0cmVuZ3Ro
LCB1X2FjY3VtICsgdXZfYmxrX2NvbCwgdV9jb3VudCArIHV2X2Jsa19jb2wsCisgICAgICB5X3Ny
YyArIGJsa19jb2wsIHlfc3JjX3N0cmlkZSwgeV9wcmUgKyBibGtfY29sLCB5X3ByZV9zdHJpZGUs
CisgICAgICB1X3NyYyArIHV2X2Jsa19jb2wsIHZfc3JjICsgdXZfYmxrX2NvbCwgdXZfc3JjX3N0
cmlkZSwgdV9wcmUgKyB1dl9ibGtfY29sLAorICAgICAgdl9wcmUgKyB1dl9ibGtfY29sLCB1dl9w
cmVfc3RyaWRlLCB1dl93aWR0aCwgdXZfaGVpZ2h0LCBzc194LCBzc195LAorICAgICAgc3RyZW5n
dGgsIHVfYWNjdW0gKyB1dl9ibGtfY29sLCB1X2NvdW50ICsgdXZfYmxrX2NvbCwKICAgICAgIHZf
YWNjdW0gKyB1dl9ibGtfY29sLCB2X2NvdW50ICsgdXZfYmxrX2NvbCwgeV9kaXN0ICsgYmxrX2Nv
bCwKICAgICAgIHVfZGlzdCArIHV2X2Jsa19jb2wsIHZfZGlzdCArIHV2X2Jsa19jb2wsIG5laWdo
Ym9ycywgdG9wX3dlaWdodCwKICAgICAgIGJvdHRvbV93ZWlnaHQsIE5VTEwpOwpAQCAtODI3LDEy
ICs4ODYsMTIgQEAgdm9pZCB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX3NzZTRfMSgKICAgYXNz
ZXJ0KAogICAgICAgKHVzZV93aG9sZV9ibGsgfHwgKGJsa19md1sxXSA+PSAwICYmIGJsa19md1sy
XSA+PSAwICYmIGJsa19md1szXSA+PSAwKSkgJiYKICAgICAgICJzdWJibG9jayBmaWx0ZXIgd2Vp
Z2h0IG11c3QgYmUgcG9zaXRpdmUiKTsKLSAgYXNzZXJ0KGJsa19md1swXSA8PSAyICYmICJzdWJi
bG9jayBmaWx0ZXIgd2VpZ2h0IG11c3QgYmUgbGVzcyB0aGFuIDIiKTsKKyAgYXNzZXJ0KGJsa19m
d1swXSA8PSAyICYmICJzdWJsb2NrIGZpbHRlciB3ZWlnaHQgbXVzdCBiZSBsZXNzIHRoYW4gMiIp
OwogICBhc3NlcnQoCiAgICAgICAodXNlX3dob2xlX2JsayB8fCAoYmxrX2Z3WzFdIDw9IDIgJiYg
YmxrX2Z3WzJdIDw9IDIgJiYgYmxrX2Z3WzNdIDw9IDIpKSAmJgogICAgICAgInN1YmJsb2NrIGZp
bHRlciB3ZWlnaHQgbXVzdCBiZSBsZXNzIHRoYW4gMiIpOwogCi0gIC8vIFByZWNvbXB1dGUgdGhl
IGRpZmZlcmVuY2Ugc3F1YXJlZAorICAvLyBQcmVjb21wdXRlIHRoZSBkaWZmZXJlbmNlIHNxYXVy
ZWQKICAgZm9yIChyb3cgPSAwOyByb3cgPCBibG9ja19oZWlnaHQ7IHJvdysrKSB7CiAgICAgZm9y
IChibGtfY29sID0gMDsgYmxrX2NvbCA8IGJsb2NrX3dpZHRoOyBibGtfY29sICs9IDE2KSB7CiAg
ICAgICBzdG9yZV9kaXN0XzE2KHlfc3JjX3B0ciArIGJsa19jb2wsIHlfcHJlX3B0ciArIGJsa19j
b2wsCkBAIC04NjMsMTIgKzkyMiwxNCBAQCB2b2lkIHZwOV9hcHBseV90ZW1wb3JhbF9maWx0ZXJf
c3NlNF8xKAogICB1X2Rpc3RfcHRyID0gdV9kaXN0ICsgMTsKICAgdl9kaXN0X3B0ciA9IHZfZGlz
dCArIDE7CiAKLSAgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hKHlfcHJlLCB5X3ByZV9z
dHJpZGUsIGJsb2NrX3dpZHRoLCBibG9ja19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzc194LCBzc195LCBzdHJlbmd0aCwgYmxrX2Z3X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVzZV93aG9sZV9ibGssIHlfYWNjdW0sIHlfY291bnQsIHlf
ZGlzdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1X2Rpc3RfcHRyLCB2
X2Rpc3RfcHRyKTsKKyAgdnA5X2FwcGx5X3RlbXBvcmFsX2ZpbHRlcl9sdW1hKAorICAgICAgeV9z
cmMsIHlfc3JjX3N0cmlkZSwgeV9wcmUsIHlfcHJlX3N0cmlkZSwgdV9zcmMsIHZfc3JjLCB1dl9z
cmNfc3RyaWRlLAorICAgICAgdV9wcmUsIHZfcHJlLCB1dl9wcmVfc3RyaWRlLCBibG9ja193aWR0
aCwgYmxvY2tfaGVpZ2h0LCBzc194LCBzc195LAorICAgICAgc3RyZW5ndGgsIGJsa19md19wdHIs
IHVzZV93aG9sZV9ibGssIHlfYWNjdW0sIHlfY291bnQsIHlfZGlzdF9wdHIsCisgICAgICB1X2Rp
c3RfcHRyLCB2X2Rpc3RfcHRyKTsKIAogICB2cDlfYXBwbHlfdGVtcG9yYWxfZmlsdGVyX2Nocm9t
YSgKKyAgICAgIHlfc3JjLCB5X3NyY19zdHJpZGUsIHlfcHJlLCB5X3ByZV9zdHJpZGUsIHVfc3Jj
LCB2X3NyYywgdXZfc3JjX3N0cmlkZSwKICAgICAgIHVfcHJlLCB2X3ByZSwgdXZfcHJlX3N0cmlk
ZSwgYmxvY2tfd2lkdGgsIGJsb2NrX2hlaWdodCwgc3NfeCwgc3NfeSwKICAgICAgIHN0cmVuZ3Ro
LCBibGtfZndfcHRyLCB1c2Vfd2hvbGVfYmxrLCB1X2FjY3VtLCB1X2NvdW50LCB2X2FjY3VtLCB2
X2NvdW50LAogICAgICAgeV9kaXN0X3B0ciwgdV9kaXN0X3B0ciwgdl9kaXN0X3B0cik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni92cDlfZGN0X2ludHJpbl9zc2UyLmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni92cDlfZGN0X2ludHJpbl9zc2UyLmMKaW5kZXgg
ZTk5NDM0NDdmZDRiLi4yMTg4OTAzYjE3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIveDg2L3ZwOV9kY3RfaW50cmluX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNv
ZGVyL3g4Ni92cDlfZGN0X2ludHJpbl9zc2UyLmMKQEAgLTExMSw3ICsxMTEsNyBAQCBzdGF0aWMg
dm9pZCBmYWRzdDRfc3NlMihfX20xMjhpICppbikgewogICBjb25zdCBfX20xMjhpIGtfX3NpbnBp
X3AwM19wMDQgPSBwYWlyX3NldF9lcGkxNihzaW5waV8zXzksIHNpbnBpXzRfOSk7CiAgIGNvbnN0
IF9fbTEyOGkga19fc2lucGlfbTAzX3AwMiA9IHBhaXJfc2V0X2VwaTE2KC1zaW5waV8zXzksIHNp
bnBpXzJfOSk7CiAgIGNvbnN0IF9fbTEyOGkga19fc2lucGlfcDAzX3AwMyA9IF9tbV9zZXQxX2Vw
aTE2KChpbnQxNl90KXNpbnBpXzNfOSk7Ci0gIGNvbnN0IF9fbTEyOGkga1plcm8gPSBfbW1fc2V0
emVyb19zaTEyOCgpOworICBjb25zdCBfX20xMjhpIGtaZXJvID0gX21tX3NldDFfZXBpMTYoMCk7
CiAgIGNvbnN0IF9fbTEyOGkga19fRENUX0NPTlNUX1JPVU5ESU5HID0gX21tX3NldDFfZXBpMzIo
RENUX0NPTlNUX1JPVU5ESU5HKTsKICAgX19tMTI4aSB1WzhdLCB2WzhdOwogICBfX20xMjhpIGlu
NyA9IF9tbV9hZGRfZXBpMTYoaW5bMF0sIGluWzFdKTsKQEAgLTQyNCw3ICs0MjQsNyBAQCBzdGF0
aWMgdm9pZCBmYWRzdDhfc3NlMihfX20xMjhpICppbikgewogICBjb25zdCBfX20xMjhpIGtfX2Nv
c3BpX20yNF9wMDggPSBwYWlyX3NldF9lcGkxNigtY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQpOwog
ICBjb25zdCBfX20xMjhpIGtfX2Nvc3BpX3AxNl9tMTYgPSBwYWlyX3NldF9lcGkxNihjb3NwaV8x
Nl82NCwgLWNvc3BpXzE2XzY0KTsKICAgY29uc3QgX19tMTI4aSBrX19jb3NwaV9wMTZfcDE2ID0g
X21tX3NldDFfZXBpMTYoY29zcGlfMTZfNjQpOwotICBjb25zdCBfX20xMjhpIGtfX2NvbnN0XzAg
PSBfbW1fc2V0emVyb19zaTEyOCgpOworICBjb25zdCBfX20xMjhpIGtfX2NvbnN0XzAgPSBfbW1f
c2V0MV9lcGkxNigwKTsKICAgY29uc3QgX19tMTI4aSBrX19EQ1RfQ09OU1RfUk9VTkRJTkcgPSBf
bW1fc2V0MV9lcGkzMihEQ1RfQ09OU1RfUk9VTkRJTkcpOwogCiAgIF9fbTEyOGkgdTAsIHUxLCB1
MiwgdTMsIHU0LCB1NSwgdTYsIHU3LCB1OCwgdTksIHUxMCwgdTExLCB1MTIsIHUxMywgdTE0LCB1
MTU7CkBAIC0xMDU2LDcgKzEwNTYsNyBAQCBzdGF0aWMgdm9pZCBmYWRzdDE2Xzhjb2woX19tMTI4
aSAqaW4pIHsKICAgY29uc3QgX19tMTI4aSBrX19jb3NwaV9wMTZfbTE2ID0gcGFpcl9zZXRfZXBp
MTYoY29zcGlfMTZfNjQsIC1jb3NwaV8xNl82NCk7CiAgIGNvbnN0IF9fbTEyOGkga19fY29zcGlf
bTE2X3AxNiA9IHBhaXJfc2V0X2VwaTE2KC1jb3NwaV8xNl82NCwgY29zcGlfMTZfNjQpOwogICBj
b25zdCBfX20xMjhpIGtfX0RDVF9DT05TVF9ST1VORElORyA9IF9tbV9zZXQxX2VwaTMyKERDVF9D
T05TVF9ST1VORElORyk7Ci0gIGNvbnN0IF9fbTEyOGkga1plcm8gPSBfbW1fc2V0emVyb19zaTEy
OCgpOworICBjb25zdCBfX20xMjhpIGtaZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAKICAgdVsw
XSA9IF9tbV91bnBhY2tsb19lcGkxNihpblsxNV0sIGluWzBdKTsKICAgdVsxXSA9IF9tbV91bnBh
Y2toaV9lcGkxNihpblsxNV0sIGluWzBdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2Vu
Y29kZXIveDg2L3ZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYXZ4LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9l
bmNvZGVyL3g4Ni92cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2F2eC5jCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGJlNmE1ZWEwMmUxCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdnguYwpA
QCAtMCwwICsxLDMxMCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFdlYk0gcHJv
amVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqICBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCisgKiAgdGhhdCBj
YW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl
CisgKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdy
YW50IGNhbiBiZSBmb3VuZAorICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0
aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKKyAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxl
IGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKyAqLworCisjaWYgZGVmaW5lZChfTVND
X1ZFUikKKyNpbmNsdWRlIDxpbnRyaW4uaD4KKyNlbmRpZgorI2luY2x1ZGUgPGVtbWludHJpbi5o
PgorI2luY2x1ZGUgPHNtbWludHJpbi5oPgorCisjaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2Nv
bW1vbi5oIgorI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9lbmNvZGVyLmgiCisjaW5jbHVkZSAi
dnB4X3BvcnRzL21lbS5oIgorCisjaWZkZWYgX19HTlVDX18KKyNkZWZpbmUgTElLRUxZKHYpIF9f
YnVpbHRpbl9leHBlY3QodiwgMSkKKyNkZWZpbmUgVU5MSUtFTFkodikgX19idWlsdGluX2V4cGVj
dCh2LCAwKQorI2Vsc2UKKyNkZWZpbmUgTElLRUxZKHYpICh2KQorI2RlZmluZSBVTkxJS0VMWSh2
KSAodikKKyNlbmRpZgorCitzdGF0aWMgSU5MSU5FIGludF9tdiBwYWNrX2ludF9tdihpbnQxNl90
IHJvdywgaW50MTZfdCBjb2wpIHsKKyAgaW50X212IHJlc3VsdDsKKyAgcmVzdWx0LmFzX212LnJv
dyA9IHJvdzsKKyAgcmVzdWx0LmFzX212LmNvbCA9IGNvbDsKKyAgcmV0dXJuIHJlc3VsdDsKK30K
Kworc3RhdGljIElOTElORSBNVl9KT0lOVF9UWVBFIGdldF9tdl9qb2ludChjb25zdCBpbnRfbXYg
bXYpIHsKKyAgLy8gVGhpcyBpcyBzaW1wbGlmaWVkIGZyb20gdGhlIEMgaW1wbGVtZW50YXRpb24g
dG8gdXRpbGlzZSB0aGF0CisgIC8vICB4LT5ubXZqb2ludHNhZGNvc3RbMV0gPT0geC0+bm12am9p
bnRzYWRjb3N0WzJdICBhbmQKKyAgLy8gIHgtPm5tdmpvaW50c2FkY29zdFsxXSA9PSB4LT5ubXZq
b2ludHNhZGNvc3RbM10KKyAgcmV0dXJuIG12LmFzX2ludCA9PSAwID8gMCA6IDE7Cit9CisKK3N0
YXRpYyBJTkxJTkUgaW50IG12X2Nvc3QoY29uc3QgaW50X212IG12LCBjb25zdCBpbnQgKmpvaW50
X2Nvc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqY29uc3QgY29tcF9jb3N0WzJd
KSB7CisgIHJldHVybiBqb2ludF9jb3N0W2dldF9tdl9qb2ludChtdildICsgY29tcF9jb3N0WzBd
W212LmFzX212LnJvd10gKworICAgICAgICAgY29tcF9jb3N0WzFdW212LmFzX212LmNvbF07Cit9
CisKK3N0YXRpYyBpbnQgbXZzYWRfZXJyX2Nvc3QoY29uc3QgTUFDUk9CTE9DSyAqeCwgY29uc3Qg
aW50X212IG12LCBjb25zdCBNViAqcmVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c2FkX3Blcl9iaXQpIHsKKyAgY29uc3QgaW50X212IGRpZmYgPQorICAgICAgcGFja19pbnRfbXYo
bXYuYXNfbXYucm93IC0gcmVmLT5yb3csIG12LmFzX212LmNvbCAtIHJlZi0+Y29sKTsKKyAgcmV0
dXJuIFJPVU5EX1BPV0VSX09GX1RXTygKKyAgICAgICh1bnNpZ25lZCltdl9jb3N0KGRpZmYsIHgt
Pm5tdmpvaW50c2FkY29zdCwgeC0+bm12c2FkY29zdCkgKiBzYWRfcGVyX2JpdCwKKyAgICAgIFZQ
OV9QUk9CX0NPU1RfU0hJRlQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRoaXMg
ZnVuY3Rpb24gdXRpbGl6ZXMgMyBwcm9wZXJ0aWVzIG9mIHRoZSBjb3N0IGZ1bmN0aW9uIGxvb2t1
cCB0YWJsZXMsICAgKgorICogY29uc3RydWN0ZWQgaW4gdXNpbmcgJ2NhbF9ubXZqb2ludHNhZGNv
c3QnIGFuZCAnY2FsX25tdnNhZGNvc3RzJyBpbiAgICAgICAqCisgKiB2cDlfZW5jb2Rlci5jLiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICoKKyAqIEZvciB0aGUgam9pbnQgY29zdDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAtIG12am9pbnRzYWRjb3N0WzFdID09IG12
am9pbnRzYWRjb3N0WzJdID09IG12am9pbnRzYWRjb3N0WzNdICAgICAgICAgICAqCisgKiBGb3Ig
dGhlIGNvbXBvbmVudCBjb3N0czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICoKKyAqICAgLSBGb3IgYWxsIGk6IG12c2FkY29zdFswXVtpXSA9PSBtdnNh
ZGNvc3RbMV1baV0gICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAoRXF1YWwg
Y29zdHMgZm9yIGJvdGggY29tcG9uZW50cykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqCisgKiAgIC0gRm9yIGFsbCBpOiBtdnNhZGNvc3RbMF1baV0gPT0gbXZzYWRjb3N0WzBdWy1p
XSAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqICAgICAgICAgKENvc3QgZnVuY3Rpb24gaXMg
ZXZlbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogSWYg
dGhlc2UgZG8gbm90IGhvbGQsIHRoZW4gdGhpcyBmdW5jdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRo
b3V0ICAgICAgICAgICAqCisgKiBtb2RpZmljYXRpb24sIGluIHdoaWNoIGNhc2UgeW91IGNhbiBy
ZXZlcnQgdG8gdXNpbmcgdGhlIEMgaW1wbGVtZW50YXRpb24sICoKKyAqIHdoaWNoIGRvZXMgbm90
IHJlbHkgb24gdGhlc2UgcHJvcGVydGllcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqLworaW50IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRf
YXZ4KGNvbnN0IE1BQ1JPQkxPQ0sgKngsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc2VhcmNoX3NpdGVfY29uZmlnICpjZmcsIE1WICpyZWZfbXYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTVYgKmJlc3RfbXYsIGludCBzZWFyY2hfcGFyYW0sIGludCBzYWRf
cGVyX2JpdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKm51bTAwLCBjb25z
dCB2cDlfdmFyaWFuY2VfZm5fcHRyX3QgKmZuX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBNViAqY2VudGVyX212KSB7CisgIGNvbnN0IGludF9tdiBtYXhtdiA9IHBh
Y2tfaW50X212KHgtPm12X2xpbWl0cy5yb3dfbWF4LCB4LT5tdl9saW1pdHMuY29sX21heCk7Cisg
IGNvbnN0IF9fbTEyOGkgdl9tYXhfbXZfdyA9IF9tbV9zZXQxX2VwaTMyKG1heG12LmFzX2ludCk7
CisgIGNvbnN0IGludF9tdiBtaW5tdiA9IHBhY2tfaW50X212KHgtPm12X2xpbWl0cy5yb3dfbWlu
LCB4LT5tdl9saW1pdHMuY29sX21pbik7CisgIGNvbnN0IF9fbTEyOGkgdl9taW5fbXZfdyA9IF9t
bV9zZXQxX2VwaTMyKG1pbm12LmFzX2ludCk7CisKKyAgY29uc3QgX19tMTI4aSB2X3NwYl9kID0g
X21tX3NldDFfZXBpMzIoc2FkX3Blcl9iaXQpOworCisgIGNvbnN0IF9fbTEyOGkgdl9qb2ludF9j
b3N0XzBfZCA9IF9tbV9zZXQxX2VwaTMyKHgtPm5tdmpvaW50c2FkY29zdFswXSk7CisgIGNvbnN0
IF9fbTEyOGkgdl9qb2ludF9jb3N0XzFfZCA9IF9tbV9zZXQxX2VwaTMyKHgtPm5tdmpvaW50c2Fk
Y29zdFsxXSk7CisKKyAgLy8gc2VhcmNoX3BhcmFtIGRldGVybWluZXMgdGhlIGxlbmd0aCBvZiB0
aGUgaW5pdGlhbCBzdGVwIGFuZCBoZW5jZSB0aGUgbnVtYmVyCisgIC8vIG9mIGl0ZXJhdGlvbnMu
CisgIC8vIDAgPSBpbml0aWFsIHN0ZXAgKE1BWF9GSVJTVF9TVEVQKSBwZWwKKyAgLy8gMSA9IChN
QVhfRklSU1RfU1RFUC8yKSBwZWwsCisgIC8vIDIgPSAoTUFYX0ZJUlNUX1NURVAvNCkgcGVsLi4u
CisgIGNvbnN0IE1WICpzc19tdiA9ICZjZmctPnNzX212W2NmZy0+c2VhcmNoZXNfcGVyX3N0ZXAg
KiBzZWFyY2hfcGFyYW1dOworICBjb25zdCBpbnRwdHJfdCAqc3Nfb3MgPSAmY2ZnLT5zc19vc1tj
ZmctPnNlYXJjaGVzX3Blcl9zdGVwICogc2VhcmNoX3BhcmFtXTsKKyAgY29uc3QgaW50IHRvdF9z
dGVwcyA9IGNmZy0+dG90YWxfc3RlcHMgLSBzZWFyY2hfcGFyYW07CisKKyAgY29uc3QgaW50X212
IGZjZW50ZXJfbXYgPQorICAgICAgcGFja19pbnRfbXYoY2VudGVyX212LT5yb3cgPj4gMywgY2Vu
dGVyX212LT5jb2wgPj4gMyk7CisgIGNvbnN0IF9fbTEyOGkgdmZjbXYgPSBfbW1fc2V0MV9lcGkz
MihmY2VudGVyX212LmFzX2ludCk7CisKKyAgY29uc3QgaW50IHJlZl9yb3cgPSBjbGFtcChyZWZf
bXYtPnJvdywgbWlubXYuYXNfbXYucm93LCBtYXhtdi5hc19tdi5yb3cpOworICBjb25zdCBpbnQg
cmVmX2NvbCA9IGNsYW1wKHJlZl9tdi0+Y29sLCBtaW5tdi5hc19tdi5jb2wsIG1heG12LmFzX212
LmNvbCk7CisKKyAgaW50X212IGJtdiA9IHBhY2tfaW50X212KHJlZl9yb3csIHJlZl9jb2wpOwor
ICBpbnRfbXYgbmV3X2JtdiA9IGJtdjsKKyAgX19tMTI4aSB2X2Jtdl93ID0gX21tX3NldDFfZXBp
MzIoYm12LmFzX2ludCk7CisKKyAgY29uc3QgaW50IHdoYXRfc3RyaWRlID0geC0+cGxhbmVbMF0u
c3JjLnN0cmlkZTsKKyAgY29uc3QgaW50IGluX3doYXRfc3RyaWRlID0geC0+ZV9tYmQucGxhbmVb
MF0ucHJlWzBdLnN0cmlkZTsKKyAgY29uc3QgdWludDhfdCAqY29uc3Qgd2hhdCA9IHgtPnBsYW5l
WzBdLnNyYy5idWY7CisgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IGluX3doYXQgPQorICAgICAgeC0+
ZV9tYmQucGxhbmVbMF0ucHJlWzBdLmJ1ZiArIHJlZl9yb3cgKiBpbl93aGF0X3N0cmlkZSArIHJl
Zl9jb2w7CisKKyAgLy8gV29yayBvdXQgdGhlIHN0YXJ0IHBvaW50IGZvciB0aGUgc2VhcmNoCisg
IGNvbnN0IHVpbnQ4X3QgKmJlc3RfYWRkcmVzcyA9IGluX3doYXQ7CisgIGNvbnN0IHVpbnQ4X3Qg
Km5ld19iZXN0X2FkZHJlc3MgPSBiZXN0X2FkZHJlc3M7CisjaWYgVlBYX0FSQ0hfWDg2XzY0Cisg
IF9fbTEyOGkgdl9iYV9xID0gX21tX3NldDFfZXBpNjR4KChpbnRwdHJfdCliZXN0X2FkZHJlc3Mp
OworI2Vsc2UKKyAgX19tMTI4aSB2X2JhX2QgPSBfbW1fc2V0MV9lcGkzMigoaW50cHRyX3QpYmVz
dF9hZGRyZXNzKTsKKyNlbmRpZgorCisgIHVuc2lnbmVkIGludCBiZXN0X3NhZDsKKyAgaW50IGks
IGosIHN0ZXA7CisKKyAgLy8gQ2hlY2sgdGhlIHByZXJlcXVpc2l0ZSBjb3N0IGZ1bmN0aW9uIHBy
b3BlcnRpZXMgdGhhdCBhcmUgZWFzeSB0byBjaGVjaworICAvLyBpbiBhbiBhc3NlcnQuIFNlZSB0
aGUgZnVuY3Rpb24tbGV2ZWwgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlscyBvbiBhbGwKKyAgLy8g
cHJlcmVxdWlzaXRlcy4KKyAgYXNzZXJ0KHgtPm5tdmpvaW50c2FkY29zdFsxXSA9PSB4LT5ubXZq
b2ludHNhZGNvc3RbMl0pOworICBhc3NlcnQoeC0+bm12am9pbnRzYWRjb3N0WzFdID09IHgtPm5t
dmpvaW50c2FkY29zdFszXSk7CisKKyAgLy8gQ2hlY2sgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uCisg
IGJlc3Rfc2FkID0gZm5fcHRyLT5zZGYod2hhdCwgd2hhdF9zdHJpZGUsIGluX3doYXQsIGluX3do
YXRfc3RyaWRlKTsKKyAgYmVzdF9zYWQgKz0gbXZzYWRfZXJyX2Nvc3QoeCwgYm12LCAmZmNlbnRl
cl9tdi5hc19tdiwgc2FkX3Blcl9iaXQpOworCisgICpudW0wMCA9IDA7CisKKyAgZm9yIChpID0g
MCwgc3RlcCA9IDA7IHN0ZXAgPCB0b3Rfc3RlcHM7IHN0ZXArKykgeworICAgIGZvciAoaiA9IDA7
IGogPCBjZmctPnNlYXJjaGVzX3Blcl9zdGVwOyBqICs9IDQsIGkgKz0gNCkgeworICAgICAgX19t
MTI4aSB2X3NhZF9kLCB2X2Nvc3RfZCwgdl9vdXRzaWRlX2QsIHZfaW5zaWRlX2QsIHZfZGlmZl9t
dl93OworI2lmIFZQWF9BUkNIX1g4Nl82NAorICAgICAgX19tMTI4aSB2X2Jsb2NrYVsyXTsKKyNl
bHNlCisgICAgICBfX20xMjhpIHZfYmxvY2thWzFdOworI2VuZGlmCisKKyAgICAgIC8vIENvbXB1
dGUgdGhlIGNhbmRpZGF0ZSBtb3Rpb24gdmVjdG9ycworICAgICAgY29uc3QgX19tMTI4aSB2X3Nz
X212X3cgPSBfbW1fbG9hZHVfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKikmc3NfbXZbaV0pOworICAg
ICAgY29uc3QgX19tMTI4aSB2X3RoZXNlX212X3cgPSBfbW1fYWRkX2VwaTE2KHZfYm12X3csIHZf
c3NfbXZfdyk7CisgICAgICAvLyBDbGFtcCB0aGVtIHRvIHRoZSBzZWFyY2ggYm91bmRzCisgICAg
ICBfX20xMjhpIHZfdGhlc2VfbXZfY2xhbXBfdyA9IHZfdGhlc2VfbXZfdzsKKyAgICAgIHZfdGhl
c2VfbXZfY2xhbXBfdyA9IF9tbV9taW5fZXBpMTYodl90aGVzZV9tdl9jbGFtcF93LCB2X21heF9t
dl93KTsKKyAgICAgIHZfdGhlc2VfbXZfY2xhbXBfdyA9IF9tbV9tYXhfZXBpMTYodl90aGVzZV9t
dl9jbGFtcF93LCB2X21pbl9tdl93KTsKKyAgICAgIC8vIFRoZSBvbmVzIHRoYXQgZGlkIG5vdCBj
aGFuZ2UgYXJlIGluc2lkZSB0aGUgc2VhcmNoIGFyZWEKKyAgICAgIHZfaW5zaWRlX2QgPSBfbW1f
Y21wZXFfZXBpMzIodl90aGVzZV9tdl9jbGFtcF93LCB2X3RoZXNlX212X3cpOworCisgICAgICAv
LyBJZiBub25lIG9mIHRoZW0gYXJlIGluc2lkZSwgdGhlbiBtb3ZlIG9uCisgICAgICBpZiAoTElL
RUxZKF9tbV90ZXN0X2FsbF96ZXJvcyh2X2luc2lkZV9kLCB2X2luc2lkZV9kKSkpIHsKKyAgICAg
ICAgY29udGludWU7CisgICAgICB9CisKKyAgICAgIC8vIFRoZSBpbnZlcnNlIG1hc2sgaW5kaWNh
dGVzIHdoaWNoIG9mIHRoZSBNVnMgYXJlIG91dHNpZGUKKyAgICAgIHZfb3V0c2lkZV9kID0gX21t
X3hvcl9zaTEyOCh2X2luc2lkZV9kLCBfbW1fc2V0MV9lcGk4KChpbnQ4X3QpMHhmZikpOworICAg
ICAgLy8gU2hpZnQgcmlnaHQgdG8ga2VlcCB0aGUgc2lnbiBiaXQgY2xlYXIsIHdlIHdpbGwgdXNl
IHRoaXMgbGF0ZXIKKyAgICAgIC8vIHRvIHNldCB0aGUgY29zdCB0byB0aGUgbWF4aW11bSB2YWx1
ZS4KKyAgICAgIHZfb3V0c2lkZV9kID0gX21tX3NybGlfZXBpMzIodl9vdXRzaWRlX2QsIDEpOwor
CisgICAgICAvLyBDb21wdXRlIHRoZSBkaWZmZXJlbmNlIE1WCisgICAgICB2X2RpZmZfbXZfdyA9
IF9tbV9zdWJfZXBpMTYodl90aGVzZV9tdl9jbGFtcF93LCB2ZmNtdik7CisgICAgICAvLyBXZSB1
dGlsaXNlIHRoZSBmYWN0IHRoYXQgdGhlIGNvc3QgZnVuY3Rpb24gaXMgZXZlbiwgYW5kIHVzZSB0
aGUKKyAgICAgIC8vIGFic29sdXRlIGRpZmZlcmVuY2UuIFRoaXMgYWxsb3dzIHVzIHRvIHVzZSB1
bnNpZ25lZCBpbmRleGVzIGxhdGVyCisgICAgICAvLyBhbmQgcmVkdWNlcyBjYWNoZSBwcmVzc3Vy
ZSBzb21ld2hhdCBhcyBvbmx5IGEgaGFsZiBvZiB0aGUgdGFibGUKKyAgICAgIC8vIGlzIGV2ZXIg
cmVmZXJlbmNlZC4KKyAgICAgIHZfZGlmZl9tdl93ID0gX21tX2Fic19lcGkxNih2X2RpZmZfbXZf
dyk7CisKKyAgICAgIC8vIENvbXB1dGUgdGhlIFNJTUQgcG9pbnRlciBvZmZzZXRzLgorICAgICAg
eworI2lmIFZQWF9BUkNIX1g4Nl82NCAgLy8gIHNpemVvZihpbnRwdHJfdCkgPT0gOAorICAgICAg
ICAvLyBMb2FkIHRoZSBvZmZzZXRzCisgICAgICAgIF9fbTEyOGkgdl9ibzEwX3EgPSBfbW1fbG9h
ZHVfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKikmc3Nfb3NbaSArIDBdKTsKKyAgICAgICAgX19tMTI4
aSB2X2JvMzJfcSA9IF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKSZzc19vc1tpICsg
Ml0pOworICAgICAgICAvLyBTZXQgdGhlIG9uZXMgZmFsbGluZyBvdXRzaWRlIHRvIHplcm8KKyAg
ICAgICAgdl9ibzEwX3EgPSBfbW1fYW5kX3NpMTI4KHZfYm8xMF9xLCBfbW1fY3Z0ZXBpMzJfZXBp
NjQodl9pbnNpZGVfZCkpOworICAgICAgICB2X2JvMzJfcSA9CisgICAgICAgICAgICBfbW1fYW5k
X3NpMTI4KHZfYm8zMl9xLCBfbW1fdW5wYWNraGlfZXBpMzIodl9pbnNpZGVfZCwgdl9pbnNpZGVf
ZCkpOworICAgICAgICAvLyBDb21wdXRlIHRoZSBjYW5kaWRhdGUgYWRkcmVzc2VzCisgICAgICAg
IHZfYmxvY2thWzBdID0gX21tX2FkZF9lcGk2NCh2X2JhX3EsIHZfYm8xMF9xKTsKKyAgICAgICAg
dl9ibG9ja2FbMV0gPSBfbW1fYWRkX2VwaTY0KHZfYmFfcSwgdl9ibzMyX3EpOworI2Vsc2UgIC8v
IFZQWF9BUkNIX1g4NiAvLyAgc2l6ZW9mKGludHB0cl90KSA9PSA0CisgICAgICAgIF9fbTEyOGkg
dl9ib19kID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopJnNzX29zW2ldKTsKKyAg
ICAgICAgdl9ib19kID0gX21tX2FuZF9zaTEyOCh2X2JvX2QsIHZfaW5zaWRlX2QpOworICAgICAg
ICB2X2Jsb2NrYVswXSA9IF9tbV9hZGRfZXBpMzIodl9iYV9kLCB2X2JvX2QpOworI2VuZGlmCisg
ICAgICB9CisKKyAgICAgIGZuX3B0ci0+c2R4NGRmKHdoYXQsIHdoYXRfc3RyaWRlLCAoY29uc3Qg
dWludDhfdCAqKikmdl9ibG9ja2FbMF0sCisgICAgICAgICAgICAgICAgICAgICBpbl93aGF0X3N0
cmlkZSwgKHVpbnQzMl90ICopJnZfc2FkX2QpOworCisgICAgICAvLyBMb29rIHVwIHRoZSBjb21w
b25lbnQgY29zdCBvZiB0aGUgcmVzaWR1YWwgbW90aW9uIHZlY3RvcgorICAgICAgeworICAgICAg
ICBjb25zdCBpbnQzMl90IHJvdzAgPSBfbW1fZXh0cmFjdF9lcGkxNih2X2RpZmZfbXZfdywgMCk7
CisgICAgICAgIGNvbnN0IGludDMyX3QgY29sMCA9IF9tbV9leHRyYWN0X2VwaTE2KHZfZGlmZl9t
dl93LCAxKTsKKyAgICAgICAgY29uc3QgaW50MzJfdCByb3cxID0gX21tX2V4dHJhY3RfZXBpMTYo
dl9kaWZmX212X3csIDIpOworICAgICAgICBjb25zdCBpbnQzMl90IGNvbDEgPSBfbW1fZXh0cmFj
dF9lcGkxNih2X2RpZmZfbXZfdywgMyk7CisgICAgICAgIGNvbnN0IGludDMyX3Qgcm93MiA9IF9t
bV9leHRyYWN0X2VwaTE2KHZfZGlmZl9tdl93LCA0KTsKKyAgICAgICAgY29uc3QgaW50MzJfdCBj
b2wyID0gX21tX2V4dHJhY3RfZXBpMTYodl9kaWZmX212X3csIDUpOworICAgICAgICBjb25zdCBp
bnQzMl90IHJvdzMgPSBfbW1fZXh0cmFjdF9lcGkxNih2X2RpZmZfbXZfdywgNik7CisgICAgICAg
IGNvbnN0IGludDMyX3QgY29sMyA9IF9tbV9leHRyYWN0X2VwaTE2KHZfZGlmZl9tdl93LCA3KTsK
KworICAgICAgICAvLyBOb3RlOiBUaGlzIGlzIGEgdXNlIGNhc2UgZm9yIHZwZ2F0aGVyIGluIEFW
WDIKKyAgICAgICAgY29uc3QgdWludDMyX3QgY29zdDAgPSB4LT5ubXZzYWRjb3N0WzBdW3JvdzBd
ICsgeC0+bm12c2FkY29zdFswXVtjb2wwXTsKKyAgICAgICAgY29uc3QgdWludDMyX3QgY29zdDEg
PSB4LT5ubXZzYWRjb3N0WzBdW3JvdzFdICsgeC0+bm12c2FkY29zdFswXVtjb2wxXTsKKyAgICAg
ICAgY29uc3QgdWludDMyX3QgY29zdDIgPSB4LT5ubXZzYWRjb3N0WzBdW3JvdzJdICsgeC0+bm12
c2FkY29zdFswXVtjb2wyXTsKKyAgICAgICAgY29uc3QgdWludDMyX3QgY29zdDMgPSB4LT5ubXZz
YWRjb3N0WzBdW3JvdzNdICsgeC0+bm12c2FkY29zdFswXVtjb2wzXTsKKworICAgICAgICBfX20x
MjhpIHZfY29zdF8xMF9kLCB2X2Nvc3RfMzJfZDsKKyAgICAgICAgdl9jb3N0XzEwX2QgPSBfbW1f
Y3Z0c2kzMl9zaTEyOChjb3N0MCk7CisgICAgICAgIHZfY29zdF8xMF9kID0gX21tX2luc2VydF9l
cGkzMih2X2Nvc3RfMTBfZCwgY29zdDEsIDEpOworICAgICAgICB2X2Nvc3RfMzJfZCA9IF9tbV9j
dnRzaTMyX3NpMTI4KGNvc3QyKTsKKyAgICAgICAgdl9jb3N0XzMyX2QgPSBfbW1faW5zZXJ0X2Vw
aTMyKHZfY29zdF8zMl9kLCBjb3N0MywgMSk7CisgICAgICAgIHZfY29zdF9kID0gX21tX3VucGFj
a2xvX2VwaTY0KHZfY29zdF8xMF9kLCB2X2Nvc3RfMzJfZCk7CisgICAgICB9CisKKyAgICAgIC8v
IE5vdyBhZGQgaW4gdGhlIGpvaW50IGNvc3QKKyAgICAgIHsKKyAgICAgICAgY29uc3QgX19tMTI4
aSB2X3NlbF9kID0KKyAgICAgICAgICAgIF9tbV9jbXBlcV9lcGkzMih2X2RpZmZfbXZfdywgX21t
X3NldHplcm9fc2kxMjgoKSk7CisgICAgICAgIGNvbnN0IF9fbTEyOGkgdl9qb2ludF9jb3N0X2Qg
PQorICAgICAgICAgICAgX21tX2JsZW5kdl9lcGk4KHZfam9pbnRfY29zdF8xX2QsIHZfam9pbnRf
Y29zdF8wX2QsIHZfc2VsX2QpOworICAgICAgICB2X2Nvc3RfZCA9IF9tbV9hZGRfZXBpMzIodl9j
b3N0X2QsIHZfam9pbnRfY29zdF9kKTsKKyAgICAgIH0KKworICAgICAgLy8gTXVsdGlwbHkgYnkg
c2FkX3Blcl9iaXQKKyAgICAgIHZfY29zdF9kID0gX21tX211bGxvX2VwaTMyKHZfY29zdF9kLCB2
X3NwYl9kKTsKKyAgICAgIC8vIFJPVU5EX1BPV0VSX09GX1RXTyh2X2Nvc3RfZCwgVlA5X1BST0Jf
Q09TVF9TSElGVCkKKyAgICAgIHZfY29zdF9kID0gX21tX2FkZF9lcGkzMih2X2Nvc3RfZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbW1fc2V0MV9lcGkzMigxIDw8IChWUDlfUFJP
Ql9DT1NUX1NISUZUIC0gMSkpKTsKKyAgICAgIHZfY29zdF9kID0gX21tX3NyYWlfZXBpMzIodl9j
b3N0X2QsIFZQOV9QUk9CX0NPU1RfU0hJRlQpOworICAgICAgLy8gQWRkIHRoZSBjb3N0IHRvIHRo
ZSBzYWQKKyAgICAgIHZfc2FkX2QgPSBfbW1fYWRkX2VwaTMyKHZfc2FkX2QsIHZfY29zdF9kKTsK
KworICAgICAgLy8gTWFrZSB0aGUgbW90aW9uIHZlY3RvcnMgb3V0c2lkZSB0aGUgc2VhcmNoIGFy
ZWEgaGF2ZSBtYXggY29zdAorICAgICAgLy8gYnkgb3InaW5nIGluIHRoZSBjb21wYXJpc29uIG1h
c2ssIHRoaXMgd2F5IHRoZSBtaW5pbXVtIHNlYXJjaCB3b24ndAorICAgICAgLy8gcGljayB0aGVt
LgorICAgICAgdl9zYWRfZCA9IF9tbV9vcl9zaTEyOCh2X3NhZF9kLCB2X291dHNpZGVfZCk7CisK
KyAgICAgIC8vIEZpbmQgdGhlIG1pbmltdW0gdmFsdWUgYW5kIGluZGV4IGhvcml6b250YWxseSBp
biB2X3NhZF9kCisgICAgICB7CisgICAgICAgIC8vIFRyeSBzcGVjdWxhdGl2ZWx5IG9uIDE2IGJp
dHMsIHNvIHdlIGNhbiB1c2UgdGhlIG1pbnBvcyBpbnRyaW5zaWMKKyAgICAgICAgY29uc3QgX19t
MTI4aSB2X3NhZF93ID0gX21tX3BhY2t1c19lcGkzMih2X3NhZF9kLCB2X3NhZF9kKTsKKyAgICAg
ICAgY29uc3QgX19tMTI4aSB2X21pbnBfdyA9IF9tbV9taW5wb3NfZXB1MTYodl9zYWRfdyk7CisK
KyAgICAgICAgdWludDMyX3QgbG9jYWxfYmVzdF9zYWQgPSBfbW1fZXh0cmFjdF9lcGkxNih2X21p
bnBfdywgMCk7CisgICAgICAgIHVpbnQzMl90IGxvY2FsX2Jlc3RfaWR4ID0gX21tX2V4dHJhY3Rf
ZXBpMTYodl9taW5wX3csIDEpOworCisgICAgICAgIC8vIElmIHRoZSBsb2NhbCBiZXN0IHZhbHVl
IGlzIG5vdCBzYXR1cmF0ZWQsIGp1c3QgdXNlIGl0LCBvdGhlcndpc2UKKyAgICAgICAgLy8gZmlu
ZCB0aGUgaG9yaXpvbnRhbCBtaW5pbXVtIGFnYWluIHRoZSBoYXJkIHdheSBvbiAzMiBiaXRzLgor
ICAgICAgICAvLyBUaGlzIGlzIGV4ZWN1dGVkIHJhcmVseS4KKyAgICAgICAgaWYgKFVOTElLRUxZ
KGxvY2FsX2Jlc3Rfc2FkID09IDB4ZmZmZikpIHsKKyAgICAgICAgICBfX20xMjhpIHZfbG92YWxf
ZCwgdl9oaXZhbF9kLCB2X2xvaWR4X2QsIHZfaGlpZHhfZCwgdl9zZWxfZDsKKworICAgICAgICAg
IHZfbG92YWxfZCA9IHZfc2FkX2Q7CisgICAgICAgICAgdl9sb2lkeF9kID0gX21tX3NldF9lcGkz
MigzLCAyLCAxLCAwKTsKKyAgICAgICAgICB2X2hpdmFsX2QgPSBfbW1fc3JsaV9zaTEyOCh2X2xv
dmFsX2QsIDgpOworICAgICAgICAgIHZfaGlpZHhfZCA9IF9tbV9zcmxpX3NpMTI4KHZfbG9pZHhf
ZCwgOCk7CisKKyAgICAgICAgICB2X3NlbF9kID0gX21tX2NtcGx0X2VwaTMyKHZfaGl2YWxfZCwg
dl9sb3ZhbF9kKTsKKworICAgICAgICAgIHZfbG92YWxfZCA9IF9tbV9ibGVuZHZfZXBpOCh2X2xv
dmFsX2QsIHZfaGl2YWxfZCwgdl9zZWxfZCk7CisgICAgICAgICAgdl9sb2lkeF9kID0gX21tX2Js
ZW5kdl9lcGk4KHZfbG9pZHhfZCwgdl9oaWlkeF9kLCB2X3NlbF9kKTsKKyAgICAgICAgICB2X2hp
dmFsX2QgPSBfbW1fc3JsaV9zaTEyOCh2X2xvdmFsX2QsIDQpOworICAgICAgICAgIHZfaGlpZHhf
ZCA9IF9tbV9zcmxpX3NpMTI4KHZfbG9pZHhfZCwgNCk7CisKKyAgICAgICAgICB2X3NlbF9kID0g
X21tX2NtcGx0X2VwaTMyKHZfaGl2YWxfZCwgdl9sb3ZhbF9kKTsKKworICAgICAgICAgIHZfbG92
YWxfZCA9IF9tbV9ibGVuZHZfZXBpOCh2X2xvdmFsX2QsIHZfaGl2YWxfZCwgdl9zZWxfZCk7Cisg
ICAgICAgICAgdl9sb2lkeF9kID0gX21tX2JsZW5kdl9lcGk4KHZfbG9pZHhfZCwgdl9oaWlkeF9k
LCB2X3NlbF9kKTsKKworICAgICAgICAgIGxvY2FsX2Jlc3Rfc2FkID0gX21tX2V4dHJhY3RfZXBp
MzIodl9sb3ZhbF9kLCAwKTsKKyAgICAgICAgICBsb2NhbF9iZXN0X2lkeCA9IF9tbV9leHRyYWN0
X2VwaTMyKHZfbG9pZHhfZCwgMCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBVcGRhdGUgdGhl
IGdsb2JhbCBtaW5pbXVtIGlmIHRoZSBsb2NhbCBtaW5pbXVtIGlzIHNtYWxsZXIKKyAgICAgICAg
aWYgKExJS0VMWShsb2NhbF9iZXN0X3NhZCA8IGJlc3Rfc2FkKSkgeworICAgICAgICAgIG5ld19i
bXYgPSAoKGNvbnN0IGludF9tdiAqKSZ2X3RoZXNlX212X3cpW2xvY2FsX2Jlc3RfaWR4XTsKKyAg
ICAgICAgICBuZXdfYmVzdF9hZGRyZXNzID0gKChjb25zdCB1aW50OF90ICoqKXZfYmxvY2thKVts
b2NhbF9iZXN0X2lkeF07CisKKyAgICAgICAgICBiZXN0X3NhZCA9IGxvY2FsX2Jlc3Rfc2FkOwor
ICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgYm12ID0gbmV3X2JtdjsKKyAgICBiZXN0
X2FkZHJlc3MgPSBuZXdfYmVzdF9hZGRyZXNzOworCisgICAgdl9ibXZfdyA9IF9tbV9zZXQxX2Vw
aTMyKGJtdi5hc19pbnQpOworI2lmIFZQWF9BUkNIX1g4Nl82NAorICAgIHZfYmFfcSA9IF9tbV9z
ZXQxX2VwaTY0eCgoaW50cHRyX3QpYmVzdF9hZGRyZXNzKTsKKyNlbHNlCisgICAgdl9iYV9kID0g
X21tX3NldDFfZXBpMzIoKGludHB0cl90KWJlc3RfYWRkcmVzcyk7CisjZW5kaWYKKworICAgIGlm
IChVTkxJS0VMWShiZXN0X2FkZHJlc3MgPT0gaW5fd2hhdCkpIHsKKyAgICAgICgqbnVtMDApKys7
CisgICAgfQorICB9CisKKyAgKmJlc3RfbXYgPSBibXYuYXNfbXY7CisgIHJldHVybiBiZXN0X3Nh
ZDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9mcmFtZV9z
Y2FsZV9zc3NlMy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X2ZyYW1lX3NjYWxl
X3Nzc2UzLmMKaW5kZXggOTQ1MDZhYWQwZjIwLi43Njg1ZTdiYzNlNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9mcmFtZV9zY2FsZV9zc3NlMy5jCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9mcmFtZV9zY2FsZV9zc3NlMy5jCkBAIC00Njks
MTggKzQ2OSwxOCBAQCBzdGF0aWMgdm9pZCBzY2FsZV9wbGFuZV80X3RvXzNfZ2VuZXJhbChjb25z
dCB1aW50OF90ICpzcmMsIGNvbnN0IGludCBzcmNfc3RyaWRlLAogICAvLyBJdCdzIHVzZWQgdG8g
Y2hvb3NlIHRoZSBzcmMgb2Zmc2V0IGFuZCBmaWx0ZXIgY29lZmZpY2llbnQgb2Zmc2V0LgogICBj
b25zdCBpbnQgb2Zmc2V0X2lkeDEgPSAob2Zmc2V0MV9xNCA+PiA0KSAmIDE7CiAgIGNvbnN0IGlu
dCBvZmZzZXRfaWR4MiA9IChvZmZzZXQyX3E0ID4+IDQpICYgMTsKLSAgc3RhdGljIGNvbnN0IHNo
dWZmbGVfZmlsdGVyX2Z1bmNzIGtTaHVmZmxlRmlsdGVyRnVuY3NbMl0gPSB7CisgIHN0YXRpYyBj
b25zdCBzaHVmZmxlX2ZpbHRlcl9mdW5jcyBzaHVmZmxlX2ZpbHRlcl9mdW5jc1syXSA9IHsKICAg
ICBzaHVmZmxlX2ZpbHRlcl9zc3NlMywgc2h1ZmZsZV9maWx0ZXJfb2RkX3Nzc2UzCiAgIH07Ci0g
IHN0YXRpYyBjb25zdCBjb252b2x2ZThfZnVuY3Mga0NvbnZvbHZlOEZ1bmNzWzJdID0geworICBz
dGF0aWMgY29uc3QgY29udm9sdmU4X2Z1bmNzIGNvbnZvbHZlOF9mdW5jc1syXSA9IHsKICAgICBj
b252b2x2ZThfOF9ldmVuX29mZnNldF9zc3NlMywgY29udm9sdmU4Xzhfb2RkX29mZnNldF9zc3Nl
MwogICB9OwogCiAgIGFzc2VydCh3ICYmIGgpOwogCiAgIHNodWZmbGVfZmlsdGVyX3Nzc2UzKGNv
ZWZbKHBoYXNlX3NjYWxlciArIDAgKiBzdGVwX3E0KSAmIFNVQlBFTF9NQVNLXSwgZjApOwotICBr
U2h1ZmZsZUZpbHRlckZ1bmNzW29mZnNldF9pZHgxXShjb2VmW29mZnNldDFfcTQgJiBTVUJQRUxf
TUFTS10sIGYxKTsKLSAga1NodWZmbGVGaWx0ZXJGdW5jc1tvZmZzZXRfaWR4Ml0oY29lZltvZmZz
ZXQyX3E0ICYgU1VCUEVMX01BU0tdLCBmMik7CisgIHNodWZmbGVfZmlsdGVyX2Z1bmNzW29mZnNl
dF9pZHgxXShjb2VmW29mZnNldDFfcTQgJiBTVUJQRUxfTUFTS10sIGYxKTsKKyAgc2h1ZmZsZV9m
aWx0ZXJfZnVuY3Nbb2Zmc2V0X2lkeDJdKGNvZWZbb2Zmc2V0Ml9xNCAmIFNVQlBFTF9NQVNLXSwg
ZjIpOwogCiAgIC8vIFN1YiA2NCB0byBhdm9pZCBvdmVyZmxvdy4KICAgLy8gQ29lZiAxMjggd291
bGQgYmUgdHJlYXRlZCBhcyAtMTI4IGluIFBNQUREVUJTVy4gU3ViIDY0IGhlcmUuCkBAIC01MjIs
MTEgKzUyMiwxMSBAQCBzdGF0aWMgdm9pZCBzY2FsZV9wbGFuZV80X3RvXzNfZ2VuZXJhbChjb25z
dCB1aW50OF90ICpzcmMsIGNvbnN0IGludCBzcmNfc3RyaWRlLAogICAgICAgLy8gMDQgMTQgMjQg
MzQgNDQgNTQgNjQgNzQKICAgICAgIC8vIDA1IDE1IDI1IDM1IDQ1IDU1IDY1IDc1CiAgICAgICBk
WzBdID0gY29udm9sdmU4XzhfZXZlbl9vZmZzZXRfc3NzZTMoJnNbMF0sIGYwKTsKLSAgICAgIGRb
MV0gPSBrQ29udm9sdmU4RnVuY3Nbb2Zmc2V0X2lkeDFdKCZzW29mZnNldDFfcTQgPj4gNV0sIGYx
KTsKLSAgICAgIGRbMl0gPSBrQ29udm9sdmU4RnVuY3Nbb2Zmc2V0X2lkeDJdKCZzW29mZnNldDJf
cTQgPj4gNV0sIGYyKTsKKyAgICAgIGRbMV0gPSBjb252b2x2ZThfZnVuY3Nbb2Zmc2V0X2lkeDFd
KCZzW29mZnNldDFfcTQgPj4gNV0sIGYxKTsKKyAgICAgIGRbMl0gPSBjb252b2x2ZThfZnVuY3Nb
b2Zmc2V0X2lkeDJdKCZzW29mZnNldDJfcTQgPj4gNV0sIGYyKTsKICAgICAgIGRbM10gPSBjb252
b2x2ZThfOF9ldmVuX29mZnNldF9zc3NlMygmc1syXSwgZjApOwotICAgICAgZFs0XSA9IGtDb252
b2x2ZThGdW5jc1tvZmZzZXRfaWR4MV0oJnNbMiArIChvZmZzZXQxX3E0ID4+IDUpXSwgZjEpOwot
ICAgICAgZFs1XSA9IGtDb252b2x2ZThGdW5jc1tvZmZzZXRfaWR4Ml0oJnNbMiArIChvZmZzZXQy
X3E0ID4+IDUpXSwgZjIpOworICAgICAgZFs0XSA9IGNvbnZvbHZlOF9mdW5jc1tvZmZzZXRfaWR4
MV0oJnNbMiArIChvZmZzZXQxX3E0ID4+IDUpXSwgZjEpOworICAgICAgZFs1XSA9IGNvbnZvbHZl
OF9mdW5jc1tvZmZzZXRfaWR4Ml0oJnNbMiArIChvZmZzZXQyX3E0ID4+IDUpXSwgZjIpOwogCiAg
ICAgICAvLyAwMCAxMCAyMCAzMCA0MCA1MCA2MCA3MCAgMDIgMTIgMjIgMzIgNDIgNTIgNjIgNzIK
ICAgICAgIC8vIDAxIDExIDIxIDMxIDQxIDUxIDYxIDcxICAwMyAxMyAyMyAzMyA0MyA1MyA2MyA3
MwpAQCAtNTk4LDExICs1OTgsMTEgQEAgc3RhdGljIHZvaWQgc2NhbGVfcGxhbmVfNF90b18zX2dl
bmVyYWwoY29uc3QgdWludDhfdCAqc3JjLCBjb25zdCBpbnQgc3JjX3N0cmlkZSwKICAgICAgIGxv
YWR1XzhiaXRfMTZ4NCh0LCBzdHJpZGVfaG9yLCAmc1s0XSk7CiAKICAgICAgIGRbMF0gPSBjb252
b2x2ZThfOF9ldmVuX29mZnNldF9zc3NlMygmc1swXSwgZjApOwotICAgICAgZFsxXSA9IGtDb252
b2x2ZThGdW5jc1tvZmZzZXRfaWR4MV0oJnNbb2Zmc2V0MV9xNCA+PiA1XSwgZjEpOwotICAgICAg
ZFsyXSA9IGtDb252b2x2ZThGdW5jc1tvZmZzZXRfaWR4Ml0oJnNbb2Zmc2V0Ml9xNCA+PiA1XSwg
ZjIpOworICAgICAgZFsxXSA9IGNvbnZvbHZlOF9mdW5jc1tvZmZzZXRfaWR4MV0oJnNbb2Zmc2V0
MV9xNCA+PiA1XSwgZjEpOworICAgICAgZFsyXSA9IGNvbnZvbHZlOF9mdW5jc1tvZmZzZXRfaWR4
Ml0oJnNbb2Zmc2V0Ml9xNCA+PiA1XSwgZjIpOwogICAgICAgZFszXSA9IGNvbnZvbHZlOF84X2V2
ZW5fb2Zmc2V0X3Nzc2UzKCZzWzJdLCBmMCk7Ci0gICAgICBkWzRdID0ga0NvbnZvbHZlOEZ1bmNz
W29mZnNldF9pZHgxXSgmc1syICsgKG9mZnNldDFfcTQgPj4gNSldLCBmMSk7Ci0gICAgICBkWzVd
ID0ga0NvbnZvbHZlOEZ1bmNzW29mZnNldF9pZHgyXSgmc1syICsgKG9mZnNldDJfcTQgPj4gNSld
LCBmMik7CisgICAgICBkWzRdID0gY29udm9sdmU4X2Z1bmNzW29mZnNldF9pZHgxXSgmc1syICsg
KG9mZnNldDFfcTQgPj4gNSldLCBmMSk7CisgICAgICBkWzVdID0gY29udm9sdmU4X2Z1bmNzW29m
ZnNldF9pZHgyXSgmc1syICsgKG9mZnNldDJfcTQgPj4gNSldLCBmMik7CiAKICAgICAgIC8vIDAw
IDAxIDAyIDAzIDA0IDA1IDA2IDA3ICAxMCAxMSAxMiAxMyAxNCAxNSAxNiAxNwogICAgICAgLy8g
MjAgMjEgMjIgMjMgMjQgMjUgMjYgMjcgIDMwIDMxIDMyIDMzIDM0IDM1IDM2IDM3CkBAIC03NTQs
OCArNzU0LDggQEAgdm9pZCB2cDlfc2NhbGVfYW5kX2V4dGVuZF9mcmFtZV9zc3NlMyhjb25zdCBZ
VjEyX0JVRkZFUl9DT05GSUcgKnNyYywKICAgY29uc3QgaW50IHNyY19oID0gc3JjLT55X2Nyb3Bf
aGVpZ2h0OwogICBjb25zdCBpbnQgZHN0X3cgPSBkc3QtPnlfY3JvcF93aWR0aDsKICAgY29uc3Qg
aW50IGRzdF9oID0gZHN0LT55X2Nyb3BfaGVpZ2h0OwotICBjb25zdCBpbnQgZHN0X3V2X3cgPSBk
c3QtPnV2X2Nyb3Bfd2lkdGg7Ci0gIGNvbnN0IGludCBkc3RfdXZfaCA9IGRzdC0+dXZfY3JvcF9o
ZWlnaHQ7CisgIGNvbnN0IGludCBkc3RfdXZfdyA9IGRzdF93IC8gMjsKKyAgY29uc3QgaW50IGRz
dF91dl9oID0gZHN0X2ggLyAyOwogICBpbnQgc2NhbGVkID0gMDsKIAogICAvLyBwaGFzZV9zY2Fs
ZXIgaXMgdXN1YWxseSAwIG9yIDguCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVy
L3g4Ni92cDlfcXVhbnRpemVfYXZ4Mi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5
X3F1YW50aXplX2F2eDIuYwppbmRleCBiZjQ0YjA4Njc0OGMuLjhkZmRiZDUwZjZjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX2F2eDIuYworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni92cDlfcXVhbnRpemVfYXZ4Mi5jCkBAIC0xNiwx
MSArMTYsOSBAQAogI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIKICNpbmNsdWRl
ICJ2cHhfZHNwL3g4Ni9iaXRkZXB0aF9jb252ZXJzaW9uX2F2eDIuaCIKICNpbmNsdWRlICJ2cHhf
ZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmgiCi0jaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfc2Nhbi5o
IgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9ibG9jay5oIgogCiAvLyBaZXJvIGZpbGwgOCBw
b3NpdGlvbnMgaW4gdGhlIG91dHB1dCBidWZmZXIuCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2
b2lkIHN0b3JlX3plcm9fdHJhbl9sb3codHJhbl9sb3dfdCAqYSkgeworc3RhdGljIElOTElORSB2
b2lkIHN0b3JlX3plcm9fdHJhbl9sb3codHJhbl9sb3dfdCAqYSkgewogICBjb25zdCBfX20yNTZp
IHplcm8gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwogI2lmIENPTkZJR19WUDlfSElHSEJJVERF
UFRICiAgIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1NmkgKikoYSksIHplcm8pOwpAQCAtMzAs
MTg5ICsyOCwzNyBAQCBzdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIHN0b3JlX3plcm9fdHJh
bl9sb3codHJhbl9sb3dfdCAqYSkgewogI2VuZGlmCiB9CiAKLXN0YXRpYyBWUFhfRk9SQ0VfSU5M
SU5FIHZvaWQgbG9hZF9mcF92YWx1ZXNfYXZ4MigKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSAqbWJfcGxhbmUsIF9fbTI1NmkgKnJvdW5kLCBfX20yNTZpICpxdWFudCwKLSAgICBj
b25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgX19tMjU2aSAqZGVxdWFudCkgewotICAqcm91bmQg
PSBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KAotICAgICAgX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9f
bTEyOGkgKiltYl9wbGFuZS0+cm91bmRfZnApKTsKLSAgKnJvdW5kID0gX21tMjU2X3Blcm11dGU0
eDY0X2VwaTY0KCpyb3VuZCwgMHg1NCk7Ci0gICpxdWFudCA9IF9tbTI1Nl9jYXN0c2kxMjhfc2ky
NTYoCi0gICAgICBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKW1iX3BsYW5lLT5xdWFu
dF9mcCkpOwotICAqcXVhbnQgPSBfbW0yNTZfcGVybXV0ZTR4NjRfZXBpNjQoKnF1YW50LCAweDU0
KTsKLSAgKmRlcXVhbnQgPQotICAgICAgX21tMjU2X2Nhc3RzaTEyOF9zaTI1NihfbW1fbG9hZF9z
aTEyOCgoY29uc3QgX19tMTI4aSAqKWRlcXVhbnRfcHRyKSk7Ci0gICpkZXF1YW50ID0gX21tMjU2
X3Blcm11dGU0eDY0X2VwaTY0KCpkZXF1YW50LCAweDU0KTsKLX0KLQotc3RhdGljIFZQWF9GT1JD
RV9JTkxJTkUgX19tMjU2aSBnZXRfbWF4X2xhbmVfZW9iKGNvbnN0IGludDE2X3QgKmlzY2FuLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTI1Nmkg
dl9lb2JtYXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgX19tMjU2aSB2X21hc2spIHsKK3N0YXRpYyBJTkxJTkUgX19tMjU2aSBzY2FuX2VvYl8yNTYo
Y29uc3QgX19tMjU2aSAqaXNjYW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfX20yNTZpICpjb2VmZjI1NikgeworICBjb25zdCBfX20yNTZpIGlzY2FuID0gX21tMjU2
X2xvYWR1X3NpMjU2KGlzY2FuX3B0cik7CisgIGNvbnN0IF9fbTI1NmkgemVybzI1NiA9IF9tbTI1
Nl9zZXR6ZXJvX3NpMjU2KCk7CiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgY29uc3Qg
X19tMjU2aSB2X2lzY2FuID0gX21tMjU2X3Blcm11dGU0eDY0X2VwaTY0KAotICAgICAgX21tMjU2
X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopaXNjYW4pLCAweEQ4KTsKKyAgLy8gVGhlIF9t
bTI1Nl9wYWNrc19lcGkzMigpIGluIGxvYWRfdHJhbl9sb3coKSBwYWNrcyB0aGUgNjQgYml0IGNv
ZWZmIGFzCisgIC8vIEIxIEExIEIwIEEwLiAgU2h1ZmZsZSB0byBCMSBCMCBBMSBBMCBpbiBvcmRl
ciB0byBzY2FuIGVvYiBjb3JyZWN0bHkuCisgIGNvbnN0IF9fbTI1NmkgX2NvZWZmMjU2ID0gX21t
MjU2X3Blcm11dGU0eDY0X2VwaTY0KCpjb2VmZjI1NiwgMHhkOCk7CisgIGNvbnN0IF9fbTI1Nmkg
emVyb19jb2VmZjAgPSBfbW0yNTZfY21wZXFfZXBpMTYoX2NvZWZmMjU2LCB6ZXJvMjU2KTsKICNl
bHNlCi0gIGNvbnN0IF9fbTI1Nmkgdl9pc2NhbiA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3Qg
X19tMjU2aSAqKWlzY2FuKTsKKyAgY29uc3QgX19tMjU2aSB6ZXJvX2NvZWZmMCA9IF9tbTI1Nl9j
bXBlcV9lcGkxNigqY29lZmYyNTYsIHplcm8yNTYpOwogI2VuZGlmCi0gIGNvbnN0IF9fbTI1Nmkg
dl9uel9pc2NhbiA9IF9tbTI1Nl9hbmRfc2kyNTYodl9pc2Nhbiwgdl9tYXNrKTsKLSAgcmV0dXJu
IF9tbTI1Nl9tYXhfZXBpMTYodl9lb2JtYXgsIHZfbnpfaXNjYW4pOwotfQotCi1zdGF0aWMgVlBY
X0ZPUkNFX0lOTElORSB1aW50MTZfdCBnZXRfbWF4X2VvYihfX20yNTZpIGVvYjI1NikgewotICBj
b25zdCBfX20yNTZpIGVvYl9sbyA9IGVvYjI1NjsKLSAgLy8gQ29weSB1cHBlciAxMjggdG8gbG93
ZXIgMTI4Ci0gIGNvbnN0IF9fbTI1NmkgZW9iX2hpID0gX21tMjU2X3Blcm11dGUyeDEyOF9zaTI1
Nihlb2IyNTYsIGVvYjI1NiwgMFg4MSk7Ci0gIF9fbTI1NmkgZW9iID0gX21tMjU2X21heF9lcGkx
Nihlb2JfbG8sIGVvYl9oaSk7Ci0gIF9fbTI1NmkgZW9iX3MgPSBfbW0yNTZfc2h1ZmZsZV9lcGkz
Mihlb2IsIDB4ZSk7Ci0gIGVvYiA9IF9tbTI1Nl9tYXhfZXBpMTYoZW9iLCBlb2Jfcyk7Ci0gIGVv
Yl9zID0gX21tMjU2X3NodWZmbGVsb19lcGkxNihlb2IsIDB4ZSk7Ci0gIGVvYiA9IF9tbTI1Nl9t
YXhfZXBpMTYoZW9iLCBlb2Jfcyk7Ci0gIGVvYl9zID0gX21tMjU2X3NodWZmbGVsb19lcGkxNihl
b2IsIDEpOwotICBlb2IgPSBfbW0yNTZfbWF4X2VwaTE2KGVvYiwgZW9iX3MpOwotI2lmIGRlZmlu
ZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA8IDE5MTApCi0gIHJldHVybiBfbW1fY3Z0c2kxMjhf
c2kzMihfbW0yNTZfZXh0cmFjdGkxMjhfc2kyNTYoZW9iLCAwKSkgJiAweGZmZmY7Ci0jZWxzZQot
ICByZXR1cm4gKHVpbnQxNl90KV9tbTI1Nl9leHRyYWN0X2VwaTE2KGVvYiwgMCk7Ci0jZW5kaWYK
LX0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCBxdWFudGl6ZV9mcF8xNigKLSAgICBj
b25zdCBfX20yNTZpICpyb3VuZCwgY29uc3QgX19tMjU2aSAqcXVhbnQsIGNvbnN0IF9fbTI1Nmkg
KmRlcXVhbnQsCi0gICAgY29uc3QgX19tMjU2aSAqdGhyLCBjb25zdCB0cmFuX2xvd190ICpjb2Vm
Zl9wdHIsIGNvbnN0IGludDE2X3QgKmlzY2FuX3B0ciwKLSAgICB0cmFuX2xvd190ICpxY29lZmZf
cHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgX19tMjU2aSAqZW9iX21heCkgewotICBjb25z
dCBfX20yNTZpIGNvZWZmID0gbG9hZF90cmFuX2xvdyhjb2VmZl9wdHIpOwotICBjb25zdCBfX20y
NTZpIGFic19jb2VmZiA9IF9tbTI1Nl9hYnNfZXBpMTYoY29lZmYpOwotICBjb25zdCBpbnQzMl90
IG56ZmxhZyA9Ci0gICAgICBfbW0yNTZfbW92ZW1hc2tfZXBpOChfbW0yNTZfY21wZ3RfZXBpMTYo
YWJzX2NvZWZmLCAqdGhyKSk7Ci0KLSAgaWYgKG56ZmxhZykgewotICAgIGNvbnN0IF9fbTI1Nmkg
dG1wX3JuZCA9IF9tbTI1Nl9hZGRzX2VwaTE2KGFic19jb2VmZiwgKnJvdW5kKTsKLSAgICBjb25z
dCBfX20yNTZpIGFic19xY29lZmYgPSBfbW0yNTZfbXVsaGlfZXBpMTYodG1wX3JuZCwgKnF1YW50
KTsKLSAgICBjb25zdCBfX20yNTZpIHFjb2VmZiA9IF9tbTI1Nl9zaWduX2VwaTE2KGFic19xY29l
ZmYsIGNvZWZmKTsKLSAgICBjb25zdCBfX20yNTZpIGRxY29lZmYgPSBfbW0yNTZfbXVsbG9fZXBp
MTYocWNvZWZmLCAqZGVxdWFudCk7Ci0gICAgY29uc3QgX19tMjU2aSBuel9tYXNrID0KLSAgICAg
ICAgX21tMjU2X2NtcGd0X2VwaTE2KGFic19xY29lZmYsIF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCkp
OwotICAgIHN0b3JlX3RyYW5fbG93KHFjb2VmZiwgcWNvZWZmX3B0cik7Ci0gICAgc3RvcmVfdHJh
bl9sb3coZHFjb2VmZiwgZHFjb2VmZl9wdHIpOwotCi0gICAgKmVvYl9tYXggPSBnZXRfbWF4X2xh
bmVfZW9iKGlzY2FuX3B0ciwgKmVvYl9tYXgsIG56X21hc2spOwotICB9IGVsc2UgewotICAgIHN0
b3JlX3plcm9fdHJhbl9sb3cocWNvZWZmX3B0cik7Ci0gICAgc3RvcmVfemVyb190cmFuX2xvdyhk
cWNvZWZmX3B0cik7Ci0gIH0KKyAgY29uc3QgX19tMjU2aSBuemVyb19jb2VmZjAgPSBfbW0yNTZf
Y21wZXFfZXBpMTYoemVyb19jb2VmZjAsIHplcm8yNTYpOworICAvLyBBZGQgb25lIHRvIGNvbnZl
cnQgZnJvbSBpbmRpY2VzIHRvIGNvdW50cworICBjb25zdCBfX20yNTZpIGlzY2FuX3BsdXNfb25l
ID0gX21tMjU2X3N1Yl9lcGkxNihpc2Nhbiwgbnplcm9fY29lZmYwKTsKKyAgcmV0dXJuIF9tbTI1
Nl9hbmRfc2kyNTYoaXNjYW5fcGx1c19vbmUsIG56ZXJvX2NvZWZmMCk7CiB9CiAKIHZvaWQgdnA5
X3F1YW50aXplX2ZwX2F2eDIoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBu
X2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxv
Y2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2Jf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpj
b25zdCBzY2FuX29yZGVyKSB7Ci0gIF9fbTI1Nmkgcm91bmQsIHF1YW50LCBkZXF1YW50LCB0aHI7
Ci0gIF9fbTI1NmkgZW9iX21heCA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gIGNvbnN0IGlu
dDE2X3QgKmlzY2FuID0gc2Nhbl9vcmRlci0+aXNjYW47Ci0KLSAgY29lZmZfcHRyICs9IG5fY29l
ZmZzOwotICBpc2NhbiArPSBuX2NvZWZmczsKLSAgcWNvZWZmX3B0ciArPSBuX2NvZWZmczsKLSAg
ZHFjb2VmZl9wdHIgKz0gbl9jb2VmZnM7Ci0gIG5fY29lZmZzID0gLW5fY29lZmZzOwotCi0gIC8v
IFNldHVwIGdsb2JhbCB2YWx1ZXMKLSAgbG9hZF9mcF92YWx1ZXNfYXZ4MihtYl9wbGFuZSwgJnJv
dW5kLCAmcXVhbnQsIGRlcXVhbnRfcHRyLCAmZGVxdWFudCk7Ci0gIHRociA9IF9tbTI1Nl9zZXR6
ZXJvX3NpMjU2KCk7Ci0KLSAgcXVhbnRpemVfZnBfMTYoJnJvdW5kLCAmcXVhbnQsICZkZXF1YW50
LCAmdGhyLCBjb2VmZl9wdHIgKyBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgaXNjYW4gKyBu
X2NvZWZmcywgcWNvZWZmX3B0ciArIG5fY29lZmZzLAotICAgICAgICAgICAgICAgICBkcWNvZWZm
X3B0ciArIG5fY29lZmZzLCAmZW9iX21heCk7Ci0KLSAgbl9jb2VmZnMgKz0gOCAqIDI7Ci0KLSAg
Ly8gcmVtb3ZlIGRjIGNvbnN0YW50cwotICBkZXF1YW50ID0gX21tMjU2X3Blcm11dGUyeDEyOF9z
aTI1NihkZXF1YW50LCBkZXF1YW50LCAweDMxKTsKLSAgcXVhbnQgPSBfbW0yNTZfcGVybXV0ZTJ4
MTI4X3NpMjU2KHF1YW50LCBxdWFudCwgMHgzMSk7Ci0gIHJvdW5kID0gX21tMjU2X3Blcm11dGUy
eDEyOF9zaTI1Nihyb3VuZCwgcm91bmQsIDB4MzEpOwotICB0aHIgPSBfbW0yNTZfc3JhaV9lcGkx
NihkZXF1YW50LCAxKTsKLQotICAvLyBBQyBvbmx5IGxvb3AKLSAgd2hpbGUgKG5fY29lZmZzIDwg
MCkgewotICAgIHF1YW50aXplX2ZwXzE2KCZyb3VuZCwgJnF1YW50LCAmZGVxdWFudCwgJnRociwg
Y29lZmZfcHRyICsgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgaXNjYW4gKyBuX2NvZWZm
cywgcWNvZWZmX3B0ciArIG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgIGRxY29lZmZfcHRy
ICsgbl9jb2VmZnMsICZlb2JfbWF4KTsKLSAgICBuX2NvZWZmcyArPSA4ICogMjsKLSAgfQotCi0g
ICplb2JfcHRyID0gZ2V0X21heF9lb2IoZW9iX21heCk7Ci19Ci0KLS8vIEVuYWJsZSB0aGlzIGZs
YWcgd2hlbiBtYXRjaGluZyB0aGUgb3B0aW1pemVkIGNvZGUgdG8KLS8vIHZwOV9xdWFudGl6ZV9m
cF8zMngzMl9jKCkuIERpc2FibGVkLCB0aGUgb3B0aW1pemVkIGNvZGUgd2lsbCBtYXRjaCB0aGUK
LS8vIGV4aXN0aW5nIHNzc2UzIGNvZGUgYW5kIHF1YW50aXplX2ZwXzMyeDMyX256X2MoKS4KLS8v
Ci0vLyAjZGVmaW5lIE1BVENIX1ZQOV9RVUFOVElaRV9GUF8zMlgzMl9DCi0KLSNpZm5kZWYgTUFU
Q0hfVlA5X1FVQU5USVpFX0ZQXzMyWDMyX0MKLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQg
cXVhbnRpemVfZnBfMzJ4MzJfMTZfbm9fbnpmbGFnKAotICAgIGNvbnN0IF9fbTI1NmkgKnJvdW5k
LCBjb25zdCBfX20yNTZpICpxdWFudCwgY29uc3QgX19tMjU2aSAqZGVxdWFudCwKLSAgICBjb25z
dCBfX20yNTZpICp0aHIsIGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgY29uc3QgaW50MTZf
dCAqaXNjYW5fcHRyLAotICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRx
Y29lZmZfcHRyLCBfX20yNTZpICplb2JfbWF4KSB7Ci0gIGNvbnN0IF9fbTI1NmkgY29lZmYgPSBs
b2FkX3RyYW5fbG93KGNvZWZmX3B0cik7Ci0gIGNvbnN0IF9fbTI1NmkgYWJzX2NvZWZmID0gX21t
MjU2X2Fic19lcGkxNihjb2VmZik7Ci0gIGNvbnN0IF9fbTI1NmkgdG1wX3JuZCA9IF9tbTI1Nl9h
ZGRzX2VwaTE2KGFic19jb2VmZiwgKnJvdW5kKTsKLSAgY29uc3QgX19tMjU2aSBhYnNfcWNvZWZm
ID0gX21tMjU2X211bGhpX2VwaTE2KHRtcF9ybmQsICpxdWFudCk7Ci0gIGNvbnN0IF9fbTI1Nmkg
cWNvZWZmID0gX21tMjU2X3NpZ25fZXBpMTYoYWJzX3Fjb2VmZiwgY29lZmYpOwotICBjb25zdCBf
X20yNTZpIGFic19kcWNvZWZmID0KLSAgICAgIF9tbTI1Nl9zcmxpX2VwaTE2KF9tbTI1Nl9tdWxs
b19lcGkxNihhYnNfcWNvZWZmLCAqZGVxdWFudCksIDEpOwotICBjb25zdCBfX20yNTZpIGRxY29l
ZmYgPSBfbW0yNTZfc2lnbl9lcGkxNihhYnNfZHFjb2VmZiwgY29lZmYpOwotICBjb25zdCBfX20y
NTZpIG56X21hc2sgPQotICAgICAgX21tMjU2X2NtcGd0X2VwaTE2KGFic19xY29lZmYsIF9tbTI1
Nl9zZXR6ZXJvX3NpMjU2KCkpOwotICBzdG9yZV90cmFuX2xvdyhxY29lZmYsIHFjb2VmZl9wdHIp
OwotICBzdG9yZV90cmFuX2xvdyhkcWNvZWZmLCBkcWNvZWZmX3B0cik7Ci0KLSAgKmVvYl9tYXgg
PSBnZXRfbWF4X2xhbmVfZW9iKGlzY2FuX3B0ciwgKmVvYl9tYXgsIG56X21hc2spOwotICAodm9p
ZCl0aHI7Ci19Ci0jZW5kaWYKLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCBxdWFudGl6
ZV9mcF8zMngzMl8xNigKLSAgICBjb25zdCBfX20yNTZpICpyb3VuZCwgY29uc3QgX19tMjU2aSAq
cXVhbnQsIGNvbnN0IF9fbTI1NmkgKmRlcXVhbnQsCi0gICAgY29uc3QgX19tMjU2aSAqdGhyLCBj
b25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGNvbnN0IGludDE2X3QgKmlzY2FuX3B0ciwKLSAg
ICB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgX19tMjU2
aSAqZW9iX21heCkgewotICBjb25zdCBfX20yNTZpIGNvZWZmID0gbG9hZF90cmFuX2xvdyhjb2Vm
Zl9wdHIpOwotICBjb25zdCBfX20yNTZpIGFic19jb2VmZiA9IF9tbTI1Nl9hYnNfZXBpMTYoY29l
ZmYpOwotICBjb25zdCBfX20yNTZpIHRocl9tYXNrID0gX21tMjU2X2NtcGd0X2VwaTE2KGFic19j
b2VmZiwgKnRocik7Ci0gIGNvbnN0IGludDMyX3QgbnpmbGFnID0gX21tMjU2X21vdmVtYXNrX2Vw
aTgodGhyX21hc2spOwotCi0gIGlmIChuemZsYWcpIHsKLSNpZmRlZiBNQVRDSF9WUDlfUVVBTlRJ
WkVfRlBfMzJYMzJfQwotICAgIGNvbnN0IF9fbTI1NmkgdG1wX3JuZCA9Ci0gICAgICAgIF9tbTI1
Nl9hbmRfc2kyNTYoX21tMjU2X2FkZHNfZXBpMTYoYWJzX2NvZWZmLCAqcm91bmQpLCB0aHJfbWFz
ayk7Ci0jZWxzZQotICAgIGNvbnN0IF9fbTI1NmkgdG1wX3JuZCA9IF9tbTI1Nl9hZGRzX2VwaTE2
KGFic19jb2VmZiwgKnJvdW5kKTsKLSNlbmRpZgotICAgIGNvbnN0IF9fbTI1NmkgYWJzX3Fjb2Vm
ZiA9IF9tbTI1Nl9tdWxoaV9lcGkxNih0bXBfcm5kLCAqcXVhbnQpOwotICAgIGNvbnN0IF9fbTI1
NmkgcWNvZWZmID0gX21tMjU2X3NpZ25fZXBpMTYoYWJzX3Fjb2VmZiwgY29lZmYpOwotICAgIGNv
bnN0IF9fbTI1NmkgYWJzX2RxY29lZmYgPQotICAgICAgICBfbW0yNTZfc3JsaV9lcGkxNihfbW0y
NTZfbXVsbG9fZXBpMTYoYWJzX3Fjb2VmZiwgKmRlcXVhbnQpLCAxKTsKLSAgICBjb25zdCBfX20y
NTZpIGRxY29lZmYgPSBfbW0yNTZfc2lnbl9lcGkxNihhYnNfZHFjb2VmZiwgY29lZmYpOwotICAg
IGNvbnN0IF9fbTI1NmkgbnpfbWFzayA9Ci0gICAgICAgIF9tbTI1Nl9jbXBndF9lcGkxNihhYnNf
cWNvZWZmLCBfbW0yNTZfc2V0emVyb19zaTI1NigpKTsKLSAgICBzdG9yZV90cmFuX2xvdyhxY29l
ZmYsIHFjb2VmZl9wdHIpOwotICAgIHN0b3JlX3RyYW5fbG93KGRxY29lZmYsIGRxY29lZmZfcHRy
KTsKLQotICAgICplb2JfbWF4ID0gZ2V0X21heF9sYW5lX2VvYihpc2Nhbl9wdHIsICplb2JfbWF4
LCBuel9tYXNrKTsKLSAgfSBlbHNlIHsKLSAgICBzdG9yZV96ZXJvX3RyYW5fbG93KHFjb2VmZl9w
dHIpOwotICAgIHN0b3JlX3plcm9fdHJhbl9sb3coZHFjb2VmZl9wdHIpOwotICB9Ci19Ci0KLXZv
aWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2F2eDIoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRy
LCBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpk
cWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7Ci0g
IF9fbTI1Nmkgcm91bmQsIHF1YW50LCBkZXF1YW50LCB0aHI7Ci0gIF9fbTI1NmkgZW9iX21heCA9
IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gIGNvbnN0IGludDE2X3QgKmlzY2FuID0gc2Nhbl9v
cmRlci0+aXNjYW47CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLCBj
b25zdCBpbnQxNl90ICpyb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QgKnF1YW50X3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGludDE2X3QgKmRl
cXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqZW9iX3B0ciwg
Y29uc3QgaW50MTZfdCAqc2NhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCAqaXNjYW4pIHsKKyAgX19tMTI4aSBlb2I7CisgIF9fbTI1Nmkgcm91bmQyNTYsIHF1YW50
MjU2LCBkZXF1YW50MjU2OworICBfX20yNTZpIGVvYjI1NiwgdGhyMjU2OworCisgICh2b2lkKXNj
YW47CisgICh2b2lkKXNraXBfYmxvY2s7CisgIGFzc2VydCghc2tpcF9ibG9jayk7CiAKICAgY29l
ZmZfcHRyICs9IG5fY29lZmZzOwogICBpc2NhbiArPSBuX2NvZWZmczsKQEAgLTIyMCwyMjAgKzY2
LDc0IEBAIHZvaWQgdnA5X3F1YW50aXplX2ZwXzMyeDMyX2F2eDIoY29uc3QgdHJhbl9sb3dfdCAq
Y29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKICAgZHFjb2VmZl9wdHIgKz0gbl9jb2VmZnM7
CiAgIG5fY29lZmZzID0gLW5fY29lZmZzOwogCi0gIC8vIFNldHVwIGdsb2JhbCB2YWx1ZXMKLSAg
bG9hZF9mcF92YWx1ZXNfYXZ4MihtYl9wbGFuZSwgJnJvdW5kLCAmcXVhbnQsIGRlcXVhbnRfcHRy
LCAmZGVxdWFudCk7Ci0gIHRociA9IF9tbTI1Nl9zcmxpX2VwaTE2KGRlcXVhbnQsIDIpOwotICBx
dWFudCA9IF9tbTI1Nl9zbGxpX2VwaTE2KHF1YW50LCAxKTsKICAgewotICAgIGNvbnN0IF9fbTI1
Nmkgcm5kID0gX21tMjU2X3NldDFfZXBpMTYoKGludDE2X3QpMSk7Ci0gICAgcm91bmQgPSBfbW0y
NTZfYWRkX2VwaTE2KHJvdW5kLCBybmQpOwotICAgIHJvdW5kID0gX21tMjU2X3NyYWlfZXBpMTYo
cm91bmQsIDEpOwotICB9Ci0KLSNpZmRlZiBNQVRDSF9WUDlfUVVBTlRJWkVfRlBfMzJYMzJfQwot
ICAvLyBTdWJ0cmFjdGluZyAxIGhlcmUgZWxpbWluYXRlcyBhIF9tbTI1Nl9jbXBlcV9lcGkxNigp
IGluc3RydWN0aW9uIHdoZW4KLSAgLy8gY2FsY3VsYXRpbmcgdGhlIHpiaW4gbWFzay4KLSAgdGhy
ID0gX21tMjU2X3N1Yl9lcGkxNih0aHIsIF9tbTI1Nl9zZXQxX2VwaTE2KDEpKTsKLSAgcXVhbnRp
emVfZnBfMzJ4MzJfMTYoJnJvdW5kLCAmcXVhbnQsICZkZXF1YW50LCAmdGhyLCBjb2VmZl9wdHIg
KyBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgaXNjYW4gKyBuX2NvZWZmcywgcWNv
ZWZmX3B0ciArIG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICBkcWNvZWZmX3B0ciAr
IG5fY29lZmZzLCAmZW9iX21heCk7Ci0jZWxzZQotICBxdWFudGl6ZV9mcF8zMngzMl8xNl9ub19u
emZsYWcoCi0gICAgICAmcm91bmQsICZxdWFudCwgJmRlcXVhbnQsICZ0aHIsIGNvZWZmX3B0ciAr
IG5fY29lZmZzLCBpc2NhbiArIG5fY29lZmZzLAotICAgICAgcWNvZWZmX3B0ciArIG5fY29lZmZz
LCBkcWNvZWZmX3B0ciArIG5fY29lZmZzLCAmZW9iX21heCk7Ci0jZW5kaWYKLQotICBuX2NvZWZm
cyArPSA4ICogMjsKLQotICAvLyByZW1vdmUgZGMgY29uc3RhbnRzCi0gIGRlcXVhbnQgPSBfbW0y
NTZfcGVybXV0ZTJ4MTI4X3NpMjU2KGRlcXVhbnQsIGRlcXVhbnQsIDB4MzEpOwotICBxdWFudCA9
IF9tbTI1Nl9wZXJtdXRlMngxMjhfc2kyNTYocXVhbnQsIHF1YW50LCAweDMxKTsKLSAgcm91bmQg
PSBfbW0yNTZfcGVybXV0ZTJ4MTI4X3NpMjU2KHJvdW5kLCByb3VuZCwgMHgzMSk7Ci0gIHRociA9
IF9tbTI1Nl9wZXJtdXRlMngxMjhfc2kyNTYodGhyLCB0aHIsIDB4MzEpOwotCi0gIC8vIEFDIG9u
bHkgbG9vcAotICB3aGlsZSAobl9jb2VmZnMgPCAwKSB7Ci0gICAgcXVhbnRpemVfZnBfMzJ4MzJf
MTYoJnJvdW5kLCAmcXVhbnQsICZkZXF1YW50LCAmdGhyLCBjb2VmZl9wdHIgKyBuX2NvZWZmcywK
LSAgICAgICAgICAgICAgICAgICAgICAgICBpc2NhbiArIG5fY29lZmZzLCBxY29lZmZfcHRyICsg
bl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZHFjb2VmZl9wdHIgKyBuX2NvZWZm
cywgJmVvYl9tYXgpOworICAgIF9fbTI1NmkgY29lZmYyNTY7CisKKyAgICAvLyBTZXR1cCBnbG9i
YWwgdmFsdWVzCisgICAgeworICAgICAgY29uc3QgX19tMTI4aSByb3VuZCA9IF9tbV9sb2FkX3Np
MTI4KChjb25zdCBfX20xMjhpICopcm91bmRfcHRyKTsKKyAgICAgIGNvbnN0IF9fbTEyOGkgcXVh
bnQgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKXF1YW50X3B0cik7CisgICAgICBj
b25zdCBfX20xMjhpIGRlcXVhbnQgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKWRl
cXVhbnRfcHRyKTsKKyAgICAgIHJvdW5kMjU2ID0gX21tMjU2X2Nhc3RzaTEyOF9zaTI1Nihyb3Vu
ZCk7CisgICAgICByb3VuZDI1NiA9IF9tbTI1Nl9wZXJtdXRlNHg2NF9lcGk2NChyb3VuZDI1Niwg
MHg1NCk7CisKKyAgICAgIHF1YW50MjU2ID0gX21tMjU2X2Nhc3RzaTEyOF9zaTI1NihxdWFudCk7
CisgICAgICBxdWFudDI1NiA9IF9tbTI1Nl9wZXJtdXRlNHg2NF9lcGk2NChxdWFudDI1NiwgMHg1
NCk7CisKKyAgICAgIGRlcXVhbnQyNTYgPSBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KGRlcXVhbnQp
OworICAgICAgZGVxdWFudDI1NiA9IF9tbTI1Nl9wZXJtdXRlNHg2NF9lcGk2NChkZXF1YW50MjU2
LCAweDU0KTsKKyAgICB9CisKKyAgICB7CisgICAgICBfX20yNTZpIHFjb2VmZjI1NjsKKyAgICAg
IF9fbTI1NmkgcXRtcDI1NjsKKyAgICAgIGNvZWZmMjU2ID0gbG9hZF90cmFuX2xvdyhjb2VmZl9w
dHIgKyBuX2NvZWZmcyk7CisgICAgICBxY29lZmYyNTYgPSBfbW0yNTZfYWJzX2VwaTE2KGNvZWZm
MjU2KTsKKyAgICAgIHFjb2VmZjI1NiA9IF9tbTI1Nl9hZGRzX2VwaTE2KHFjb2VmZjI1Niwgcm91
bmQyNTYpOworICAgICAgcXRtcDI1NiA9IF9tbTI1Nl9tdWxoaV9lcGkxNihxY29lZmYyNTYsIHF1
YW50MjU2KTsKKyAgICAgIHFjb2VmZjI1NiA9IF9tbTI1Nl9zaWduX2VwaTE2KHF0bXAyNTYsIGNv
ZWZmMjU2KTsKKyAgICAgIHN0b3JlX3RyYW5fbG93KHFjb2VmZjI1NiwgcWNvZWZmX3B0ciArIG5f
Y29lZmZzKTsKKyAgICAgIGNvZWZmMjU2ID0gX21tMjU2X211bGxvX2VwaTE2KHFjb2VmZjI1Niwg
ZGVxdWFudDI1Nik7CisgICAgICBzdG9yZV90cmFuX2xvdyhjb2VmZjI1NiwgZHFjb2VmZl9wdHIg
KyBuX2NvZWZmcyk7CisgICAgfQorCisgICAgZW9iMjU2ID0gc2Nhbl9lb2JfMjU2KChjb25zdCBf
X20yNTZpICopKGlzY2FuICsgbl9jb2VmZnMpLCAmY29lZmYyNTYpOwogICAgIG5fY29lZmZzICs9
IDggKiAyOwogICB9CiAKLSAgKmVvYl9wdHIgPSBnZXRfbWF4X2VvYihlb2JfbWF4KTsKLX0KLQot
I2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSBfX20y
NTZpIG1tMjU2X211bF9zaGlmdF9lcGkzMl9sb2dzY2FsZShjb25zdCBfX20yNTZpICp4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgX19tMjU2aSAqeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsb2dfc2NhbGUpIHsKLSAgX19tMjU2aSBw
cm9kX2xvID0gX21tMjU2X211bF9lcGkzMigqeCwgKnkpOwotICBfX20yNTZpIHByb2RfaGkgPSBf
bW0yNTZfc3JsaV9lcGk2NCgqeCwgMzIpOwotICBjb25zdCBfX20yNTZpIG11bHRfaGkgPSBfbW0y
NTZfc3JsaV9lcGk2NCgqeSwgMzIpOwotICBjb25zdCBfX20yNTZpIG1hc2sgPSBfbW0yNTZfc2V0
X2VwaTMyKDAsIC0xLCAwLCAtMSwgMCwgLTEsIDAsIC0xKTsKLSAgcHJvZF9oaSA9IF9tbTI1Nl9t
dWxfZXBpMzIocHJvZF9oaSwgbXVsdF9oaSk7Ci0gIHByb2RfbG8gPSBfbW0yNTZfc3JsaV9lcGk2
NChwcm9kX2xvLCAxNiAtIGxvZ19zY2FsZSk7Ci0gIHByb2RfbG8gPSBfbW0yNTZfYW5kX3NpMjU2
KHByb2RfbG8sIG1hc2spOwotICBwcm9kX2hpID0gX21tMjU2X3NybGlfZXBpNjQocHJvZF9oaSwg
MTYgLSBsb2dfc2NhbGUpOwotICBwcm9kX2hpID0gX21tMjU2X3NsbGlfZXBpNjQocHJvZF9oaSwg
MzIpOwotICByZXR1cm4gX21tMjU2X29yX3NpMjU2KHByb2RfbG8sIHByb2RfaGkpOwotfQotCi1z
dGF0aWMgVlBYX0ZPUkNFX0lOTElORSBfX20yNTZpIGhpZ2hiZF9pbml0XzI1Nihjb25zdCBpbnQx
Nl90ICp2YWxfcHRyKSB7Ci0gIGNvbnN0IF9fbTEyOGkgdiA9IF9tbV9sb2FkX3NpMTI4KChjb25z
dCBfX20xMjhpICopdmFsX3B0cik7Ci0gIGNvbnN0IF9fbTEyOGkgemVybyA9IF9tbV9zZXR6ZXJv
X3NpMTI4KCk7Ci0gIGNvbnN0IF9fbTEyOGkgZGMgPSBfbW1fdW5wYWNrbG9fZXBpMTYodiwgemVy
byk7Ci0gIGNvbnN0IF9fbTEyOGkgYWMgPSBfbW1fdW5wYWNraGlfZXBpMTYodiwgemVybyk7Ci0g
IHJldHVybiBfbW0yNTZfaW5zZXJ0ZjEyOF9zaTI1NihfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KGRj
KSwgYWMsIDEpOwotfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIGhpZ2hiZF9sb2Fk
X2ZwX3ZhbHVlcygKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqbWJfcGxhbmUs
IF9fbTI1NmkgKnJvdW5kLCBfX20yNTZpICpxdWFudCwKLSAgICBjb25zdCBpbnQxNl90ICpkZXF1
YW50X3B0ciwgX19tMjU2aSAqZGVxdWFudCkgewotICAqcm91bmQgPSBoaWdoYmRfaW5pdF8yNTYo
bWJfcGxhbmUtPnJvdW5kX2ZwKTsKLSAgKnF1YW50ID0gaGlnaGJkX2luaXRfMjU2KG1iX3BsYW5l
LT5xdWFudF9mcCk7Ci0gICpkZXF1YW50ID0gaGlnaGJkX2luaXRfMjU2KGRlcXVhbnRfcHRyKTsK
LX0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgX19tMjU2aSBoaWdoYmRfZ2V0X21heF9sYW5l
X2VvYigKLSAgICBjb25zdCBpbnQxNl90ICppc2Nhbl9wdHIsIF9fbTI1NmkgZW9ibWF4LCBfX20y
NTZpIG56X21hc2spIHsKLSAgY29uc3QgX19tMjU2aSBwYWNrZWRfbnpfbWFzayA9Ci0gICAgICBf
bW0yNTZfcGFja3NfZXBpMzIobnpfbWFzaywgX21tMjU2X3NldHplcm9fc2kyNTYoKSk7Ci0gIGNv
bnN0IF9fbTI1NmkgcGFja2VkX256X21hc2tfcGVybSA9Ci0gICAgICBfbW0yNTZfcGVybXV0ZTR4
NjRfZXBpNjQocGFja2VkX256X21hc2ssIDB4RDgpOwotICBjb25zdCBfX20yNTZpIGlzY2FuID0K
LSAgICAgIF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20x
MjhpICopaXNjYW5fcHRyKSk7Ci0gIGNvbnN0IF9fbTI1NmkgbnpfaXNjYW4gPSBfbW0yNTZfYW5k
X3NpMjU2KGlzY2FuLCBwYWNrZWRfbnpfbWFza19wZXJtKTsKLSAgcmV0dXJuIF9tbTI1Nl9tYXhf
ZXBpMTYoZW9ibWF4LCBuel9pc2Nhbik7Ci19Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZv
aWQgaGlnaGJkX3F1YW50aXplX2ZwKAotICAgIGNvbnN0IF9fbTI1NmkgKnJvdW5kLCBjb25zdCBf
X20yNTZpICpxdWFudCwgY29uc3QgX19tMjU2aSAqZGVxdWFudCwKLSAgICBjb25zdCB0cmFuX2xv
d190ICpjb2VmZl9wdHIsIGNvbnN0IGludDE2X3QgKmlzY2FuX3B0ciwKLSAgICB0cmFuX2xvd190
ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgX19tMjU2aSAqZW9iKSB7Ci0g
IGNvbnN0IF9fbTI1NmkgY29lZmYgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1Nmkg
Kiljb2VmZl9wdHIpOwotICBjb25zdCBfX20yNTZpIGFic19jb2VmZiA9IF9tbTI1Nl9hYnNfZXBp
MzIoY29lZmYpOwotICBjb25zdCBfX20yNTZpIHRtcF9ybmQgPSBfbW0yNTZfYWRkX2VwaTMyKGFi
c19jb2VmZiwgKnJvdW5kKTsKLSAgY29uc3QgX19tMjU2aSBhYnNfcSA9IG1tMjU2X211bF9zaGlm
dF9lcGkzMl9sb2dzY2FsZSgmdG1wX3JuZCwgcXVhbnQsIDApOwotICBjb25zdCBfX20yNTZpIGFi
c19kcSA9IF9tbTI1Nl9tdWxsb19lcGkzMihhYnNfcSwgKmRlcXVhbnQpOwotICBjb25zdCBfX20y
NTZpIHEgPSBfbW0yNTZfc2lnbl9lcGkzMihhYnNfcSwgY29lZmYpOwotICBjb25zdCBfX20yNTZp
IGRxID0gX21tMjU2X3NpZ25fZXBpMzIoYWJzX2RxLCBjb2VmZik7Ci0gIGNvbnN0IF9fbTI1Nmkg
bnpfbWFzayA9IF9tbTI1Nl9jbXBndF9lcGkzMihhYnNfcSwgX21tMjU2X3NldHplcm9fc2kyNTYo
KSk7Ci0KLSAgX21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2aSAqKXFjb2VmZl9wdHIsIHEpOwot
ICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopZHFjb2VmZl9wdHIsIGRxKTsKLQotICAq
ZW9iID0gaGlnaGJkX2dldF9tYXhfbGFuZV9lb2IoaXNjYW5fcHRyLCAqZW9iLCBuel9tYXNrKTsK
LX0KLQotdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwX2F2eDIoY29uc3QgdHJhbl9sb3dfdCAq
Y29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRf
cHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIpIHsKLSAgY29uc3QgaW50
IHN0ZXAgPSA4OwotICBfX20yNTZpIHJvdW5kLCBxdWFudCwgZGVxdWFudDsKLSAgX19tMjU2aSBl
b2JfbWF4ID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKLSAgY29uc3QgaW50MTZfdCAqaXNjYW4g
PSBzY2FuX29yZGVyLT5pc2NhbjsKLQotICBjb2VmZl9wdHIgKz0gbl9jb2VmZnM7Ci0gIGlzY2Fu
ICs9IG5fY29lZmZzOwotICBxY29lZmZfcHRyICs9IG5fY29lZmZzOwotICBkcWNvZWZmX3B0ciAr
PSBuX2NvZWZmczsKLSAgbl9jb2VmZnMgPSAtbl9jb2VmZnM7Ci0KLSAgLy8gU2V0dXAgZ2xvYmFs
IHZhbHVlcwotICBoaWdoYmRfbG9hZF9mcF92YWx1ZXMobWJfcGxhbmUsICZyb3VuZCwgJnF1YW50
LCBkZXF1YW50X3B0ciwgJmRlcXVhbnQpOwotCi0gIGhpZ2hiZF9xdWFudGl6ZV9mcCgmcm91bmQs
ICZxdWFudCwgJmRlcXVhbnQsIGNvZWZmX3B0ciArIG5fY29lZmZzLAotICAgICAgICAgICAgICAg
ICAgICAgaXNjYW4gKyBuX2NvZWZmcywgcWNvZWZmX3B0ciArIG5fY29lZmZzLAotICAgICAgICAg
ICAgICAgICAgICAgZHFjb2VmZl9wdHIgKyBuX2NvZWZmcywgJmVvYl9tYXgpOwotCi0gIG5fY29l
ZmZzICs9IHN0ZXA7Ci0KICAgLy8gcmVtb3ZlIGRjIGNvbnN0YW50cwotICBkZXF1YW50ID0gX21t
MjU2X3Blcm11dGUyeDEyOF9zaTI1NihkZXF1YW50LCBkZXF1YW50LCAweDMxKTsKLSAgcXVhbnQg
PSBfbW0yNTZfcGVybXV0ZTJ4MTI4X3NpMjU2KHF1YW50LCBxdWFudCwgMHgzMSk7Ci0gIHJvdW5k
ID0gX21tMjU2X3Blcm11dGUyeDEyOF9zaTI1Nihyb3VuZCwgcm91bmQsIDB4MzEpOworICBkZXF1
YW50MjU2ID0gX21tMjU2X3Blcm11dGUyeDEyOF9zaTI1NihkZXF1YW50MjU2LCBkZXF1YW50MjU2
LCAweDMxKTsKKyAgcXVhbnQyNTYgPSBfbW0yNTZfcGVybXV0ZTJ4MTI4X3NpMjU2KHF1YW50MjU2
LCBxdWFudDI1NiwgMHgzMSk7CisgIHJvdW5kMjU2ID0gX21tMjU2X3Blcm11dGUyeDEyOF9zaTI1
Nihyb3VuZDI1Niwgcm91bmQyNTYsIDB4MzEpOwogCi0gIC8vIEFDIG9ubHkgbG9vcAotICB3aGls
ZSAobl9jb2VmZnMgPCAwKSB7Ci0gICAgaGlnaGJkX3F1YW50aXplX2ZwKCZyb3VuZCwgJnF1YW50
LCAmZGVxdWFudCwgY29lZmZfcHRyICsgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAg
IGlzY2FuICsgbl9jb2VmZnMsIHFjb2VmZl9wdHIgKyBuX2NvZWZmcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgZHFjb2VmZl9wdHIgKyBuX2NvZWZmcywgJmVvYl9tYXgpOwotICAgIG5fY29lZmZz
ICs9IHN0ZXA7Ci0gIH0KLQotICAqZW9iX3B0ciA9IGdldF9tYXhfZW9iKGVvYl9tYXgpOwotfQot
Ci1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIGhpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMigK
LSAgICBjb25zdCBfX20yNTZpICpyb3VuZCwgY29uc3QgX19tMjU2aSAqcXVhbnQsIGNvbnN0IF9f
bTI1NmkgKmRlcXVhbnQsCi0gICAgY29uc3QgX19tMjU2aSAqdGhyLCBjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsIGNvbnN0IGludDE2X3QgKmlzY2FuX3B0ciwKLSAgICB0cmFuX2xvd190ICpx
Y29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgX19tMjU2aSAqZW9iKSB7Ci0gIGNv
bnN0IF9fbTI1NmkgY29lZmYgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilj
b2VmZl9wdHIpOwotICBjb25zdCBfX20yNTZpIGFic19jb2VmZiA9IF9tbTI1Nl9hYnNfZXBpMzIo
Y29lZmYpOwotICBjb25zdCBfX20yNTZpIHRocl9tYXNrID0gX21tMjU2X2NtcGd0X2VwaTMyKGFi
c19jb2VmZiwgKnRocik7Ci0gIGNvbnN0IF9fbTI1NmkgdG1wX3JuZCA9Ci0gICAgICBfbW0yNTZf
YW5kX3NpMjU2KF9tbTI1Nl9hZGRfZXBpMzIoYWJzX2NvZWZmLCAqcm91bmQpLCB0aHJfbWFzayk7
Ci0gIGNvbnN0IF9fbTI1NmkgYWJzX3EgPSBtbTI1Nl9tdWxfc2hpZnRfZXBpMzJfbG9nc2NhbGUo
JnRtcF9ybmQsIHF1YW50LCAwKTsKLSAgY29uc3QgX19tMjU2aSBhYnNfZHEgPQotICAgICAgX21t
MjU2X3NybGlfZXBpMzIoX21tMjU2X211bGxvX2VwaTMyKGFic19xLCAqZGVxdWFudCksIDEpOwot
ICBjb25zdCBfX20yNTZpIHEgPSBfbW0yNTZfc2lnbl9lcGkzMihhYnNfcSwgY29lZmYpOwotICBj
b25zdCBfX20yNTZpIGRxID0gX21tMjU2X3NpZ25fZXBpMzIoYWJzX2RxLCBjb2VmZik7Ci0gIGNv
bnN0IF9fbTI1NmkgbnpfbWFzayA9IF9tbTI1Nl9jbXBndF9lcGkzMihhYnNfcSwgX21tMjU2X3Nl
dHplcm9fc2kyNTYoKSk7Ci0KLSAgX21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2aSAqKXFjb2Vm
Zl9wdHIsIHEpOwotICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopZHFjb2VmZl9wdHIs
IGRxKTsKLQotICAqZW9iID0gaGlnaGJkX2dldF9tYXhfbGFuZV9lb2IoaXNjYW5fcHRyLCAqZW9i
LCBuel9tYXNrKTsKLX0KLQotdm9pZCB2cDlfaGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyX2F2eDIo
Ci0gICAgY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKLSAg
ICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUsIHRyYW5fbG93
X3QgKnFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGludDE2
X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICBjb25zdCBzdHJ1Y3QgU2Nh
bk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7Ci0gIGNvbnN0IGludCBzdGVwID0gODsKLSAgX19t
MjU2aSByb3VuZCwgcXVhbnQsIGRlcXVhbnQsIHRocjsKLSAgX19tMjU2aSBlb2JfbWF4ID0gX21t
MjU2X3NldHplcm9fc2kyNTYoKTsKLSAgY29uc3QgaW50MTZfdCAqaXNjYW4gPSBzY2FuX29yZGVy
LT5pc2NhbjsKLQotICBjb2VmZl9wdHIgKz0gbl9jb2VmZnM7Ci0gIGlzY2FuICs9IG5fY29lZmZz
OwotICBxY29lZmZfcHRyICs9IG5fY29lZmZzOwotICBkcWNvZWZmX3B0ciArPSBuX2NvZWZmczsK
LSAgbl9jb2VmZnMgPSAtbl9jb2VmZnM7Ci0KLSAgLy8gU2V0dXAgZ2xvYmFsIHZhbHVlcwotICBo
aWdoYmRfbG9hZF9mcF92YWx1ZXMobWJfcGxhbmUsICZyb3VuZCwgJnF1YW50LCBkZXF1YW50X3B0
ciwgJmRlcXVhbnQpOwotICB0aHIgPSBfbW0yNTZfc3JsaV9lcGkzMihkZXF1YW50LCAyKTsKLSAg
Ly8gU3VidHJhY3RpbmcgMSBoZXJlIGVsaW1pbmF0ZXMgYSBfbW0yNTZfY21wZXFfZXBpMzIoKSBp
bnN0cnVjdGlvbiB3aGVuCi0gIC8vIGNhbGN1bGF0aW5nIHRoZSB6YmluIG1hc2suCi0gIHRociA9
IF9tbTI1Nl9zdWJfZXBpMzIodGhyLCBfbW0yNTZfc2V0MV9lcGkzMigxKSk7Ci0gIHF1YW50ID0g
X21tMjU2X3NsbGlfZXBpMzIocXVhbnQsIDEpOwotICByb3VuZCA9IF9tbTI1Nl9zcmFpX2VwaTMy
KF9tbTI1Nl9hZGRfZXBpMzIocm91bmQsIF9tbTI1Nl9zZXQxX2VwaTMyKDEpKSwgMSk7Ci0KLSAg
aGlnaGJkX3F1YW50aXplX2ZwXzMyeDMyKCZyb3VuZCwgJnF1YW50LCAmZGVxdWFudCwgJnRociwg
Y29lZmZfcHRyICsgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpc2NhbiAr
IG5fY29lZmZzLCBxY29lZmZfcHRyICsgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBkcWNvZWZmX3B0ciArIG5fY29lZmZzLCAmZW9iX21heCk7Ci0KLSAgbl9jb2VmZnMgKz0g
c3RlcDsKLQotICAvLyByZW1vdmUgZGMgY29uc3RhbnRzCi0gIGRlcXVhbnQgPSBfbW0yNTZfcGVy
bXV0ZTJ4MTI4X3NpMjU2KGRlcXVhbnQsIGRlcXVhbnQsIDB4MzEpOwotICBxdWFudCA9IF9tbTI1
Nl9wZXJtdXRlMngxMjhfc2kyNTYocXVhbnQsIHF1YW50LCAweDMxKTsKLSAgcm91bmQgPSBfbW0y
NTZfcGVybXV0ZTJ4MTI4X3NpMjU2KHJvdW5kLCByb3VuZCwgMHgzMSk7Ci0gIHRociA9IF9tbTI1
Nl9wZXJtdXRlMngxMjhfc2kyNTYodGhyLCB0aHIsIDB4MzEpOworICB0aHIyNTYgPSBfbW0yNTZf
c3JhaV9lcGkxNihkZXF1YW50MjU2LCAxKTsKIAogICAvLyBBQyBvbmx5IGxvb3AKICAgd2hpbGUg
KG5fY29lZmZzIDwgMCkgewotICAgIGhpZ2hiZF9xdWFudGl6ZV9mcF8zMngzMigKLSAgICAgICAg
JnJvdW5kLCAmcXVhbnQsICZkZXF1YW50LCAmdGhyLCBjb2VmZl9wdHIgKyBuX2NvZWZmcywgaXNj
YW4gKyBuX2NvZWZmcywKLSAgICAgICAgcWNvZWZmX3B0ciArIG5fY29lZmZzLCBkcWNvZWZmX3B0
ciArIG5fY29lZmZzLCAmZW9iX21heCk7Ci0gICAgbl9jb2VmZnMgKz0gc3RlcDsKKyAgICBfX20y
NTZpIGNvZWZmMjU2ID0gbG9hZF90cmFuX2xvdyhjb2VmZl9wdHIgKyBuX2NvZWZmcyk7CisgICAg
X19tMjU2aSBxY29lZmYyNTYgPSBfbW0yNTZfYWJzX2VwaTE2KGNvZWZmMjU2KTsKKyAgICBpbnQz
Ml90IG56ZmxhZyA9CisgICAgICAgIF9tbTI1Nl9tb3ZlbWFza19lcGk4KF9tbTI1Nl9jbXBndF9l
cGkxNihxY29lZmYyNTYsIHRocjI1NikpOworCisgICAgaWYgKG56ZmxhZykgeworICAgICAgX19t
MjU2aSBxdG1wMjU2OworICAgICAgcWNvZWZmMjU2ID0gX21tMjU2X2FkZHNfZXBpMTYocWNvZWZm
MjU2LCByb3VuZDI1Nik7CisgICAgICBxdG1wMjU2ID0gX21tMjU2X211bGhpX2VwaTE2KHFjb2Vm
ZjI1NiwgcXVhbnQyNTYpOworICAgICAgcWNvZWZmMjU2ID0gX21tMjU2X3NpZ25fZXBpMTYocXRt
cDI1NiwgY29lZmYyNTYpOworICAgICAgc3RvcmVfdHJhbl9sb3cocWNvZWZmMjU2LCBxY29lZmZf
cHRyICsgbl9jb2VmZnMpOworICAgICAgY29lZmYyNTYgPSBfbW0yNTZfbXVsbG9fZXBpMTYocWNv
ZWZmMjU2LCBkZXF1YW50MjU2KTsKKyAgICAgIHN0b3JlX3RyYW5fbG93KGNvZWZmMjU2LCBkcWNv
ZWZmX3B0ciArIG5fY29lZmZzKTsKKyAgICAgIGVvYjI1NiA9IF9tbTI1Nl9tYXhfZXBpMTYoCisg
ICAgICAgICAgZW9iMjU2LCBzY2FuX2VvYl8yNTYoKGNvbnN0IF9fbTI1NmkgKikoaXNjYW4gKyBu
X2NvZWZmcyksICZjb2VmZjI1NikpOworICAgIH0gZWxzZSB7CisgICAgICBzdG9yZV96ZXJvX3Ry
YW5fbG93KHFjb2VmZl9wdHIgKyBuX2NvZWZmcyk7CisgICAgICBzdG9yZV96ZXJvX3RyYW5fbG93
KGRxY29lZmZfcHRyICsgbl9jb2VmZnMpOworICAgIH0KKyAgICBuX2NvZWZmcyArPSA4ICogMjsK
ICAgfQogCi0gICplb2JfcHRyID0gZ2V0X21heF9lb2IoZW9iX21heCk7CisgIGVvYiA9IF9tbV9t
YXhfZXBpMTYoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChlb2IyNTYpLAorICAgICAgICAgICAgICAg
ICAgICAgIF9tbTI1Nl9leHRyYWN0aTEyOF9zaTI1Nihlb2IyNTYsIDEpKTsKKworICAqZW9iX3B0
ciA9IGFjY3VtdWxhdGVfZW9iKGVvYik7CiB9Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJ
VERFUFRICmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni92cDlfcXVhbnRp
emVfc3NlMi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX3NzZTIu
YwppbmRleCAyNDgxZWIzNjZlMGYuLmUzZDgwM2I4ZjA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
OS9lbmNvZGVyL3g4Ni92cDlfcXVhbnRpemVfc3NlMi5jCkBAIC0xNiwxMTEgKzE2LDE4NyBAQAog
I2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgogI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9j
b21tb24uaCIKICNpbmNsdWRlICJ2cHhfZHNwL3g4Ni9iaXRkZXB0aF9jb252ZXJzaW9uX3NzZTIu
aCIKLSNpbmNsdWRlICJ2cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmgiCi0jaW5jbHVkZSAidnA5
L2NvbW1vbi92cDlfc2Nhbi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9ibG9jay5oIgog
CiB2b2lkIHZwOV9xdWFudGl6ZV9mcF9zc2UyKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwg
aW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50
MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNj
YW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlcikgewotICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1f
c2V0emVyb19zaTEyOCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9j
aywgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNl90ICpxdWFudF9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90
ICpkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKmVvYl9w
dHIsIGNvbnN0IGludDE2X3QgKnNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QgKmlzY2FuKSB7CisgIF9fbTEyOGkgemVybzsKICAgX19tMTI4aSB0aHI7CiAgIGlu
dCBuemZsYWc7Ci0gIGludCBpbmRleCA9IDE2OwotICBfX20xMjhpIHJvdW5kLCBxdWFudCwgZGVx
dWFudDsKLSAgX19tMTI4aSBjb2VmZjAsIGNvZWZmMSwgY29lZmYwX3NpZ24sIGNvZWZmMV9zaWdu
OwotICBfX20xMjhpIHFjb2VmZjAsIHFjb2VmZjE7CiAgIF9fbTEyOGkgZW9iOwotICBjb25zdCBp
bnQxNl90ICppc2NhbiA9IHNjYW5fb3JkZXItPmlzY2FuOwotCi0gIC8vIFNldHVwIGdsb2JhbCB2
YWx1ZXMuCi0gIGxvYWRfZnBfdmFsdWVzKG1iX3BsYW5lLCAmcm91bmQsICZxdWFudCwgZGVxdWFu
dF9wdHIsICZkZXF1YW50KTsKLQotICAvLyBEbyBEQyBhbmQgZmlyc3QgMTUgQUMuCi0gIGNvZWZm
MCA9IGxvYWRfdHJhbl9sb3coY29lZmZfcHRyKTsKLSAgY29lZmYxID0gbG9hZF90cmFuX2xvdyhj
b2VmZl9wdHIgKyA4KTsKLQotICAvLyBQb29yIG1hbidzIGFicygpLgotICBjb2VmZjBfc2lnbiA9
IF9tbV9zcmFpX2VwaTE2KGNvZWZmMCwgMTUpOwotICBjb2VmZjFfc2lnbiA9IF9tbV9zcmFpX2Vw
aTE2KGNvZWZmMSwgMTUpOwotICBxY29lZmYwID0gaW52ZXJ0X3NpZ25fc3NlMihjb2VmZjAsIGNv
ZWZmMF9zaWduKTsKLSAgcWNvZWZmMSA9IGludmVydF9zaWduX3NzZTIoY29lZmYxLCBjb2VmZjFf
c2lnbik7CisgIF9fbTEyOGkgcm91bmQsIHF1YW50LCBkZXF1YW50OwogCi0gIHFjb2VmZjAgPSBf
bW1fYWRkc19lcGkxNihxY29lZmYwLCByb3VuZCk7Ci0gIHFjb2VmZjAgPSBfbW1fbXVsaGlfZXBp
MTYocWNvZWZmMCwgcXVhbnQpOworICAodm9pZClzY2FuOworICAodm9pZClza2lwX2Jsb2NrOwor
ICBhc3NlcnQoIXNraXBfYmxvY2spOworCisgIGNvZWZmX3B0ciArPSBuX2NvZWZmczsKKyAgaXNj
YW4gKz0gbl9jb2VmZnM7CisgIHFjb2VmZl9wdHIgKz0gbl9jb2VmZnM7CisgIGRxY29lZmZfcHRy
ICs9IG5fY29lZmZzOworICBuX2NvZWZmcyA9IC1uX2NvZWZmczsKKyAgemVybyA9IF9tbV9zZXR6
ZXJvX3NpMTI4KCk7CisKKyAgeworICAgIF9fbTEyOGkgY29lZmYwLCBjb2VmZjE7CisKKyAgICAv
LyBTZXR1cCBnbG9iYWwgdmFsdWVzCisgICAgeworICAgICAgcm91bmQgPSBfbW1fbG9hZF9zaTEy
OCgoY29uc3QgX19tMTI4aSAqKXJvdW5kX3B0cik7CisgICAgICBxdWFudCA9IF9tbV9sb2FkX3Np
MTI4KChjb25zdCBfX20xMjhpICopcXVhbnRfcHRyKTsKKyAgICAgIGRlcXVhbnQgPSBfbW1fbG9h
ZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKWRlcXVhbnRfcHRyKTsKKyAgICB9CiAKLSAgcm91bmQg
PSBfbW1fdW5wYWNraGlfZXBpNjQocm91bmQsIHJvdW5kKTsKLSAgcXVhbnQgPSBfbW1fdW5wYWNr
aGlfZXBpNjQocXVhbnQsIHF1YW50KTsKKyAgICB7CisgICAgICBfX20xMjhpIGNvZWZmMF9zaWdu
LCBjb2VmZjFfc2lnbjsKKyAgICAgIF9fbTEyOGkgcWNvZWZmMCwgcWNvZWZmMTsKKyAgICAgIF9f
bTEyOGkgcXRtcDAsIHF0bXAxOworICAgICAgLy8gRG8gREMgYW5kIGZpcnN0IDE1IEFDCisgICAg
ICBjb2VmZjAgPSBsb2FkX3RyYW5fbG93KGNvZWZmX3B0ciArIG5fY29lZmZzKTsKKyAgICAgIGNv
ZWZmMSA9IGxvYWRfdHJhbl9sb3coY29lZmZfcHRyICsgbl9jb2VmZnMgKyA4KTsKKworICAgICAg
Ly8gUG9vciBtYW4ncyBzaWduIGV4dHJhY3QKKyAgICAgIGNvZWZmMF9zaWduID0gX21tX3NyYWlf
ZXBpMTYoY29lZmYwLCAxNSk7CisgICAgICBjb2VmZjFfc2lnbiA9IF9tbV9zcmFpX2VwaTE2KGNv
ZWZmMSwgMTUpOworICAgICAgcWNvZWZmMCA9IF9tbV94b3Jfc2kxMjgoY29lZmYwLCBjb2VmZjBf
c2lnbik7CisgICAgICBxY29lZmYxID0gX21tX3hvcl9zaTEyOChjb2VmZjEsIGNvZWZmMV9zaWdu
KTsKKyAgICAgIHFjb2VmZjAgPSBfbW1fc3ViX2VwaTE2KHFjb2VmZjAsIGNvZWZmMF9zaWduKTsK
KyAgICAgIHFjb2VmZjEgPSBfbW1fc3ViX2VwaTE2KHFjb2VmZjEsIGNvZWZmMV9zaWduKTsKIAot
ICBxY29lZmYxID0gX21tX2FkZHNfZXBpMTYocWNvZWZmMSwgcm91bmQpOwotICBxY29lZmYxID0g
X21tX211bGhpX2VwaTE2KHFjb2VmZjEsIHF1YW50KTsKKyAgICAgIHFjb2VmZjAgPSBfbW1fYWRk
c19lcGkxNihxY29lZmYwLCByb3VuZCk7CisgICAgICByb3VuZCA9IF9tbV91bnBhY2toaV9lcGk2
NChyb3VuZCwgcm91bmQpOworICAgICAgcWNvZWZmMSA9IF9tbV9hZGRzX2VwaTE2KHFjb2VmZjEs
IHJvdW5kKTsKKyAgICAgIHF0bXAwID0gX21tX211bGhpX2VwaTE2KHFjb2VmZjAsIHF1YW50KTsK
KyAgICAgIHF1YW50ID0gX21tX3VucGFja2hpX2VwaTY0KHF1YW50LCBxdWFudCk7CisgICAgICBx
dG1wMSA9IF9tbV9tdWxoaV9lcGkxNihxY29lZmYxLCBxdWFudCk7CiAKLSAgLy8gUmVpbnNlcnQg
c2lnbnMuCi0gIHFjb2VmZjAgPSBpbnZlcnRfc2lnbl9zc2UyKHFjb2VmZjAsIGNvZWZmMF9zaWdu
KTsKLSAgcWNvZWZmMSA9IGludmVydF9zaWduX3NzZTIocWNvZWZmMSwgY29lZmYxX3NpZ24pOwor
ICAgICAgLy8gUmVpbnNlcnQgc2lnbnMKKyAgICAgIHFjb2VmZjAgPSBfbW1feG9yX3NpMTI4KHF0
bXAwLCBjb2VmZjBfc2lnbik7CisgICAgICBxY29lZmYxID0gX21tX3hvcl9zaTEyOChxdG1wMSwg
Y29lZmYxX3NpZ24pOworICAgICAgcWNvZWZmMCA9IF9tbV9zdWJfZXBpMTYocWNvZWZmMCwgY29l
ZmYwX3NpZ24pOworICAgICAgcWNvZWZmMSA9IF9tbV9zdWJfZXBpMTYocWNvZWZmMSwgY29lZmYx
X3NpZ24pOwogCi0gIHN0b3JlX3RyYW5fbG93KHFjb2VmZjAsIHFjb2VmZl9wdHIpOwotICBzdG9y
ZV90cmFuX2xvdyhxY29lZmYxLCBxY29lZmZfcHRyICsgOCk7CisgICAgICBzdG9yZV90cmFuX2xv
dyhxY29lZmYwLCBxY29lZmZfcHRyICsgbl9jb2VmZnMpOworICAgICAgc3RvcmVfdHJhbl9sb3co
cWNvZWZmMSwgcWNvZWZmX3B0ciArIG5fY29lZmZzICsgOCk7CiAKLSAgcWNvZWZmMCA9IF9tbV9t
dWxsb19lcGkxNihxY29lZmYwLCBkZXF1YW50KTsKLSAgZGVxdWFudCA9IF9tbV91bnBhY2toaV9l
cGk2NChkZXF1YW50LCBkZXF1YW50KTsKLSAgcWNvZWZmMSA9IF9tbV9tdWxsb19lcGkxNihxY29l
ZmYxLCBkZXF1YW50KTsKKyAgICAgIGNvZWZmMCA9IF9tbV9tdWxsb19lcGkxNihxY29lZmYwLCBk
ZXF1YW50KTsKKyAgICAgIGRlcXVhbnQgPSBfbW1fdW5wYWNraGlfZXBpNjQoZGVxdWFudCwgZGVx
dWFudCk7CisgICAgICBjb2VmZjEgPSBfbW1fbXVsbG9fZXBpMTYocWNvZWZmMSwgZGVxdWFudCk7
CiAKLSAgc3RvcmVfdHJhbl9sb3cocWNvZWZmMCwgZHFjb2VmZl9wdHIpOwotICBzdG9yZV90cmFu
X2xvdyhxY29lZmYxLCBkcWNvZWZmX3B0ciArIDgpOworICAgICAgc3RvcmVfdHJhbl9sb3coY29l
ZmYwLCBkcWNvZWZmX3B0ciArIG5fY29lZmZzKTsKKyAgICAgIHN0b3JlX3RyYW5fbG93KGNvZWZm
MSwgZHFjb2VmZl9wdHIgKyBuX2NvZWZmcyArIDgpOworICAgIH0KIAotICBlb2IgPSBzY2FuX2Zv
cl9lb2IoJnFjb2VmZjAsICZxY29lZmYxLCBpc2NhbiwgMCwgemVybyk7CisgICAgeworICAgICAg
Ly8gU2NhbiBmb3IgZW9iCisgICAgICBfX20xMjhpIHplcm9fY29lZmYwLCB6ZXJvX2NvZWZmMTsK
KyAgICAgIF9fbTEyOGkgbnplcm9fY29lZmYwLCBuemVyb19jb2VmZjE7CisgICAgICBfX20xMjhp
IGlzY2FuMCwgaXNjYW4xOworICAgICAgX19tMTI4aSBlb2IxOworICAgICAgemVyb19jb2VmZjAg
PSBfbW1fY21wZXFfZXBpMTYoY29lZmYwLCB6ZXJvKTsKKyAgICAgIHplcm9fY29lZmYxID0gX21t
X2NtcGVxX2VwaTE2KGNvZWZmMSwgemVybyk7CisgICAgICBuemVyb19jb2VmZjAgPSBfbW1fY21w
ZXFfZXBpMTYoemVyb19jb2VmZjAsIHplcm8pOworICAgICAgbnplcm9fY29lZmYxID0gX21tX2Nt
cGVxX2VwaTE2KHplcm9fY29lZmYxLCB6ZXJvKTsKKyAgICAgIGlzY2FuMCA9IF9tbV9sb2FkX3Np
MTI4KChjb25zdCBfX20xMjhpICopKGlzY2FuICsgbl9jb2VmZnMpKTsKKyAgICAgIGlzY2FuMSA9
IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopKGlzY2FuICsgbl9jb2VmZnMpICsgMSk7
CisgICAgICAvLyBBZGQgb25lIHRvIGNvbnZlcnQgZnJvbSBpbmRpY2VzIHRvIGNvdW50cworICAg
ICAgaXNjYW4wID0gX21tX3N1Yl9lcGkxNihpc2NhbjAsIG56ZXJvX2NvZWZmMCk7CisgICAgICBp
c2NhbjEgPSBfbW1fc3ViX2VwaTE2KGlzY2FuMSwgbnplcm9fY29lZmYxKTsKKyAgICAgIGVvYiA9
IF9tbV9hbmRfc2kxMjgoaXNjYW4wLCBuemVyb19jb2VmZjApOworICAgICAgZW9iMSA9IF9tbV9h
bmRfc2kxMjgoaXNjYW4xLCBuemVyb19jb2VmZjEpOworICAgICAgZW9iID0gX21tX21heF9lcGkx
Nihlb2IsIGVvYjEpOworICAgIH0KKyAgICBuX2NvZWZmcyArPSA4ICogMjsKKyAgfQogCiAgIHRo
ciA9IF9tbV9zcmFpX2VwaTE2KGRlcXVhbnQsIDEpOwogCi0gIC8vIEFDIG9ubHkgbG9vcC4KLSAg
d2hpbGUgKGluZGV4IDwgbl9jb2VmZnMpIHsKLSAgICBjb2VmZjAgPSBsb2FkX3RyYW5fbG93KGNv
ZWZmX3B0ciArIGluZGV4KTsKLSAgICBjb2VmZjEgPSBsb2FkX3RyYW5fbG93KGNvZWZmX3B0ciAr
IGluZGV4ICsgOCk7Ci0KLSAgICAvLyBQb29yIG1hbidzIGFicygpLgotICAgIGNvZWZmMF9zaWdu
ID0gX21tX3NyYWlfZXBpMTYoY29lZmYwLCAxNSk7Ci0gICAgY29lZmYxX3NpZ24gPSBfbW1fc3Jh
aV9lcGkxNihjb2VmZjEsIDE1KTsKLSAgICBxY29lZmYwID0gaW52ZXJ0X3NpZ25fc3NlMihjb2Vm
ZjAsIGNvZWZmMF9zaWduKTsKLSAgICBxY29lZmYxID0gaW52ZXJ0X3NpZ25fc3NlMihjb2VmZjEs
IGNvZWZmMV9zaWduKTsKLQotICAgIG56ZmxhZyA9IF9tbV9tb3ZlbWFza19lcGk4KF9tbV9jbXBn
dF9lcGkxNihxY29lZmYwLCB0aHIpKSB8Ci0gICAgICAgICAgICAgX21tX21vdmVtYXNrX2VwaTgo
X21tX2NtcGd0X2VwaTE2KHFjb2VmZjEsIHRocikpOworICAvLyBBQyBvbmx5IGxvb3AKKyAgd2hp
bGUgKG5fY29lZmZzIDwgMCkgeworICAgIF9fbTEyOGkgY29lZmYwLCBjb2VmZjE7CisgICAgewor
ICAgICAgX19tMTI4aSBjb2VmZjBfc2lnbiwgY29lZmYxX3NpZ247CisgICAgICBfX20xMjhpIHFj
b2VmZjAsIHFjb2VmZjE7CisgICAgICBfX20xMjhpIHF0bXAwLCBxdG1wMTsKKworICAgICAgY29l
ZmYwID0gbG9hZF90cmFuX2xvdyhjb2VmZl9wdHIgKyBuX2NvZWZmcyk7CisgICAgICBjb2VmZjEg
PSBsb2FkX3RyYW5fbG93KGNvZWZmX3B0ciArIG5fY29lZmZzICsgOCk7CisKKyAgICAgIC8vIFBv
b3IgbWFuJ3Mgc2lnbiBleHRyYWN0CisgICAgICBjb2VmZjBfc2lnbiA9IF9tbV9zcmFpX2VwaTE2
KGNvZWZmMCwgMTUpOworICAgICAgY29lZmYxX3NpZ24gPSBfbW1fc3JhaV9lcGkxNihjb2VmZjEs
IDE1KTsKKyAgICAgIHFjb2VmZjAgPSBfbW1feG9yX3NpMTI4KGNvZWZmMCwgY29lZmYwX3NpZ24p
OworICAgICAgcWNvZWZmMSA9IF9tbV94b3Jfc2kxMjgoY29lZmYxLCBjb2VmZjFfc2lnbik7Cisg
ICAgICBxY29lZmYwID0gX21tX3N1Yl9lcGkxNihxY29lZmYwLCBjb2VmZjBfc2lnbik7CisgICAg
ICBxY29lZmYxID0gX21tX3N1Yl9lcGkxNihxY29lZmYxLCBjb2VmZjFfc2lnbik7CisKKyAgICAg
IG56ZmxhZyA9IF9tbV9tb3ZlbWFza19lcGk4KF9tbV9jbXBndF9lcGkxNihxY29lZmYwLCB0aHIp
KSB8CisgICAgICAgICAgICAgICBfbW1fbW92ZW1hc2tfZXBpOChfbW1fY21wZ3RfZXBpMTYocWNv
ZWZmMSwgdGhyKSk7CisKKyAgICAgIGlmIChuemZsYWcpIHsKKyAgICAgICAgcWNvZWZmMCA9IF9t
bV9hZGRzX2VwaTE2KHFjb2VmZjAsIHJvdW5kKTsKKyAgICAgICAgcWNvZWZmMSA9IF9tbV9hZGRz
X2VwaTE2KHFjb2VmZjEsIHJvdW5kKTsKKyAgICAgICAgcXRtcDAgPSBfbW1fbXVsaGlfZXBpMTYo
cWNvZWZmMCwgcXVhbnQpOworICAgICAgICBxdG1wMSA9IF9tbV9tdWxoaV9lcGkxNihxY29lZmYx
LCBxdWFudCk7CisKKyAgICAgICAgLy8gUmVpbnNlcnQgc2lnbnMKKyAgICAgICAgcWNvZWZmMCA9
IF9tbV94b3Jfc2kxMjgocXRtcDAsIGNvZWZmMF9zaWduKTsKKyAgICAgICAgcWNvZWZmMSA9IF9t
bV94b3Jfc2kxMjgocXRtcDEsIGNvZWZmMV9zaWduKTsKKyAgICAgICAgcWNvZWZmMCA9IF9tbV9z
dWJfZXBpMTYocWNvZWZmMCwgY29lZmYwX3NpZ24pOworICAgICAgICBxY29lZmYxID0gX21tX3N1
Yl9lcGkxNihxY29lZmYxLCBjb2VmZjFfc2lnbik7CisKKyAgICAgICAgc3RvcmVfdHJhbl9sb3co
cWNvZWZmMCwgcWNvZWZmX3B0ciArIG5fY29lZmZzKTsKKyAgICAgICAgc3RvcmVfdHJhbl9sb3co
cWNvZWZmMSwgcWNvZWZmX3B0ciArIG5fY29lZmZzICsgOCk7CisKKyAgICAgICAgY29lZmYwID0g
X21tX211bGxvX2VwaTE2KHFjb2VmZjAsIGRlcXVhbnQpOworICAgICAgICBjb2VmZjEgPSBfbW1f
bXVsbG9fZXBpMTYocWNvZWZmMSwgZGVxdWFudCk7CisKKyAgICAgICAgc3RvcmVfdHJhbl9sb3co
Y29lZmYwLCBkcWNvZWZmX3B0ciArIG5fY29lZmZzKTsKKyAgICAgICAgc3RvcmVfdHJhbl9sb3co
Y29lZmYxLCBkcWNvZWZmX3B0ciArIG5fY29lZmZzICsgOCk7CisgICAgICB9IGVsc2UgeworICAg
ICAgICBzdG9yZV96ZXJvX3RyYW5fbG93KHFjb2VmZl9wdHIgKyBuX2NvZWZmcyk7CisgICAgICAg
IHN0b3JlX3plcm9fdHJhbl9sb3cocWNvZWZmX3B0ciArIG5fY29lZmZzICsgOCk7CisKKyAgICAg
ICAgc3RvcmVfemVyb190cmFuX2xvdyhkcWNvZWZmX3B0ciArIG5fY29lZmZzKTsKKyAgICAgICAg
c3RvcmVfemVyb190cmFuX2xvdyhkcWNvZWZmX3B0ciArIG5fY29lZmZzICsgOCk7CisgICAgICB9
CisgICAgfQogCiAgICAgaWYgKG56ZmxhZykgewotICAgICAgX19tMTI4aSBlb2IwOwotICAgICAg
cWNvZWZmMCA9IF9tbV9hZGRzX2VwaTE2KHFjb2VmZjAsIHJvdW5kKTsKLSAgICAgIHFjb2VmZjEg
PSBfbW1fYWRkc19lcGkxNihxY29lZmYxLCByb3VuZCk7Ci0gICAgICBxY29lZmYwID0gX21tX211
bGhpX2VwaTE2KHFjb2VmZjAsIHF1YW50KTsKLSAgICAgIHFjb2VmZjEgPSBfbW1fbXVsaGlfZXBp
MTYocWNvZWZmMSwgcXVhbnQpOwotCi0gICAgICAvLyBSZWluc2VydCBzaWducy4KLSAgICAgIHFj
b2VmZjAgPSBpbnZlcnRfc2lnbl9zc2UyKHFjb2VmZjAsIGNvZWZmMF9zaWduKTsKLSAgICAgIHFj
b2VmZjEgPSBpbnZlcnRfc2lnbl9zc2UyKHFjb2VmZjEsIGNvZWZmMV9zaWduKTsKLQotICAgICAg
c3RvcmVfdHJhbl9sb3cocWNvZWZmMCwgcWNvZWZmX3B0ciArIGluZGV4KTsKLSAgICAgIHN0b3Jl
X3RyYW5fbG93KHFjb2VmZjEsIHFjb2VmZl9wdHIgKyBpbmRleCArIDgpOwotCi0gICAgICBxY29l
ZmYwID0gX21tX211bGxvX2VwaTE2KHFjb2VmZjAsIGRlcXVhbnQpOwotICAgICAgcWNvZWZmMSA9
IF9tbV9tdWxsb19lcGkxNihxY29lZmYxLCBkZXF1YW50KTsKLQotICAgICAgc3RvcmVfdHJhbl9s
b3cocWNvZWZmMCwgZHFjb2VmZl9wdHIgKyBpbmRleCk7Ci0gICAgICBzdG9yZV90cmFuX2xvdyhx
Y29lZmYxLCBkcWNvZWZmX3B0ciArIGluZGV4ICsgOCk7Ci0KLSAgICAgIGVvYjAgPSBzY2FuX2Zv
cl9lb2IoJnFjb2VmZjAsICZxY29lZmYxLCBpc2NhbiwgaW5kZXgsIHplcm8pOworICAgICAgLy8g
U2NhbiBmb3IgZW9iCisgICAgICBfX20xMjhpIHplcm9fY29lZmYwLCB6ZXJvX2NvZWZmMTsKKyAg
ICAgIF9fbTEyOGkgbnplcm9fY29lZmYwLCBuemVyb19jb2VmZjE7CisgICAgICBfX20xMjhpIGlz
Y2FuMCwgaXNjYW4xOworICAgICAgX19tMTI4aSBlb2IwLCBlb2IxOworICAgICAgemVyb19jb2Vm
ZjAgPSBfbW1fY21wZXFfZXBpMTYoY29lZmYwLCB6ZXJvKTsKKyAgICAgIHplcm9fY29lZmYxID0g
X21tX2NtcGVxX2VwaTE2KGNvZWZmMSwgemVybyk7CisgICAgICBuemVyb19jb2VmZjAgPSBfbW1f
Y21wZXFfZXBpMTYoemVyb19jb2VmZjAsIHplcm8pOworICAgICAgbnplcm9fY29lZmYxID0gX21t
X2NtcGVxX2VwaTE2KHplcm9fY29lZmYxLCB6ZXJvKTsKKyAgICAgIGlzY2FuMCA9IF9tbV9sb2Fk
X3NpMTI4KChjb25zdCBfX20xMjhpICopKGlzY2FuICsgbl9jb2VmZnMpKTsKKyAgICAgIGlzY2Fu
MSA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopKGlzY2FuICsgbl9jb2VmZnMpICsg
MSk7CisgICAgICAvLyBBZGQgb25lIHRvIGNvbnZlcnQgZnJvbSBpbmRpY2VzIHRvIGNvdW50cwor
ICAgICAgaXNjYW4wID0gX21tX3N1Yl9lcGkxNihpc2NhbjAsIG56ZXJvX2NvZWZmMCk7CisgICAg
ICBpc2NhbjEgPSBfbW1fc3ViX2VwaTE2KGlzY2FuMSwgbnplcm9fY29lZmYxKTsKKyAgICAgIGVv
YjAgPSBfbW1fYW5kX3NpMTI4KGlzY2FuMCwgbnplcm9fY29lZmYwKTsKKyAgICAgIGVvYjEgPSBf
bW1fYW5kX3NpMTI4KGlzY2FuMSwgbnplcm9fY29lZmYxKTsKKyAgICAgIGVvYjAgPSBfbW1fbWF4
X2VwaTE2KGVvYjAsIGVvYjEpOwogICAgICAgZW9iID0gX21tX21heF9lcGkxNihlb2IsIGVvYjAp
OwotICAgIH0gZWxzZSB7Ci0gICAgICBzdG9yZV96ZXJvX3RyYW5fbG93KHFjb2VmZl9wdHIgKyBp
bmRleCk7Ci0gICAgICBzdG9yZV96ZXJvX3RyYW5fbG93KHFjb2VmZl9wdHIgKyBpbmRleCArIDgp
OwotCi0gICAgICBzdG9yZV96ZXJvX3RyYW5fbG93KGRxY29lZmZfcHRyICsgaW5kZXgpOwotICAg
ICAgc3RvcmVfemVyb190cmFuX2xvdyhkcWNvZWZmX3B0ciArIGluZGV4ICsgOCk7CiAgICAgfQot
Ci0gICAgaW5kZXggKz0gMTY7CisgICAgbl9jb2VmZnMgKz0gOCAqIDI7CiAgIH0KIAotICAqZW9i
X3B0ciA9IGFjY3VtdWxhdGVfZW9iKGVvYik7CisgIC8vIEFjY3VtdWxhdGUgRU9CCisgIHsKKyAg
ICBfX20xMjhpIGVvYl9zaHVmZmxlZDsKKyAgICBlb2Jfc2h1ZmZsZWQgPSBfbW1fc2h1ZmZsZV9l
cGkzMihlb2IsIDB4ZSk7CisgICAgZW9iID0gX21tX21heF9lcGkxNihlb2IsIGVvYl9zaHVmZmxl
ZCk7CisgICAgZW9iX3NodWZmbGVkID0gX21tX3NodWZmbGVsb19lcGkxNihlb2IsIDB4ZSk7Cisg
ICAgZW9iID0gX21tX21heF9lcGkxNihlb2IsIGVvYl9zaHVmZmxlZCk7CisgICAgZW9iX3NodWZm
bGVkID0gX21tX3NodWZmbGVsb19lcGkxNihlb2IsIDB4MSk7CisgICAgZW9iID0gX21tX21heF9l
cGkxNihlb2IsIGVvYl9zaHVmZmxlZCk7CisgICAgKmVvYl9wdHIgPSBfbW1fZXh0cmFjdF9lcGkx
Nihlb2IsIDEpOworICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4
Ni92cDlfcXVhbnRpemVfc3NzZTMuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIveDg2L3ZwOV9x
dWFudGl6ZV9zc3NlMy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGRlY2FlNzQ5
OTguLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni92cDlfcXVh
bnRpemVfc3NzZTMuYworKysgL2Rldi9udWxsCkBAIC0xLDI1MiArMCwwIEBACi0vKgotICogIENv
cHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVz
ZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGlu
dGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhl
IGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICog
IGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0
cmVlLgotICovCi0KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDx0bW1pbnRyaW4uaD4K
LQotI2luY2x1ZGUgIi4vdnA5X3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHgvdnB4X2ludGVnZXIuaCIK
LSNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC94
ODYvYml0ZGVwdGhfY29udmVyc2lvbl9zc2UyLmgiCi0jaW5jbHVkZSAidnB4X2RzcC94ODYvcXVh
bnRpemVfc3NlMi5oIgotI2luY2x1ZGUgInZweF9kc3AveDg2L3F1YW50aXplX3Nzc2UzLmgiCi0j
aW5jbHVkZSAidnA5L2NvbW1vbi92cDlfc2Nhbi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3Zw
OV9ibG9jay5oIgotCi12b2lkIHZwOV9xdWFudGl6ZV9mcF9zc3NlMyhjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAq
ZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpk
ZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7Ci0gIGNvbnN0IF9f
bTEyOGkgemVybyA9IF9tbV9zZXR6ZXJvX3NpMTI4KCk7Ci0gIF9fbTEyOGkgdGhyOwotICBpbnQg
bnpmbGFnOwotICBpbnQgaW5kZXggPSAxNjsKLSAgX19tMTI4aSByb3VuZCwgcXVhbnQsIGRlcXVh
bnQ7Ci0gIF9fbTEyOGkgY29lZmYwLCBjb2VmZjE7Ci0gIF9fbTEyOGkgcWNvZWZmMCwgcWNvZWZm
MTsKLSAgX19tMTI4aSBlb2I7Ci0gIGNvbnN0IGludDE2X3QgKmlzY2FuID0gc2Nhbl9vcmRlci0+
aXNjYW47Ci0KLSAgLy8gU2V0dXAgZ2xvYmFsIHZhbHVlcy4KLSAgbG9hZF9mcF92YWx1ZXMobWJf
cGxhbmUsICZyb3VuZCwgJnF1YW50LCBkZXF1YW50X3B0ciwgJmRlcXVhbnQpOwotCi0gIC8vIERv
IERDIGFuZCBmaXJzdCAxNSBBQy4KLSAgY29lZmYwID0gbG9hZF90cmFuX2xvdyhjb2VmZl9wdHIp
OwotICBjb2VmZjEgPSBsb2FkX3RyYW5fbG93KGNvZWZmX3B0ciArIDgpOwotCi0gIHFjb2VmZjAg
PSBfbW1fYWJzX2VwaTE2KGNvZWZmMCk7Ci0gIHFjb2VmZjEgPSBfbW1fYWJzX2VwaTE2KGNvZWZm
MSk7Ci0KLSAgcWNvZWZmMCA9IF9tbV9hZGRzX2VwaTE2KHFjb2VmZjAsIHJvdW5kKTsKLSAgcWNv
ZWZmMCA9IF9tbV9tdWxoaV9lcGkxNihxY29lZmYwLCBxdWFudCk7Ci0KLSAgcm91bmQgPSBfbW1f
dW5wYWNraGlfZXBpNjQocm91bmQsIHJvdW5kKTsKLSAgcXVhbnQgPSBfbW1fdW5wYWNraGlfZXBp
NjQocXVhbnQsIHF1YW50KTsKLQotICBxY29lZmYxID0gX21tX2FkZHNfZXBpMTYocWNvZWZmMSwg
cm91bmQpOwotICBxY29lZmYxID0gX21tX211bGhpX2VwaTE2KHFjb2VmZjEsIHF1YW50KTsKLQot
ICAvLyBSZWluc2VydCBzaWducy4KLSAgcWNvZWZmMCA9IF9tbV9zaWduX2VwaTE2KHFjb2VmZjAs
IGNvZWZmMCk7Ci0gIHFjb2VmZjEgPSBfbW1fc2lnbl9lcGkxNihxY29lZmYxLCBjb2VmZjEpOwot
Ci0gIHN0b3JlX3RyYW5fbG93KHFjb2VmZjAsIHFjb2VmZl9wdHIpOwotICBzdG9yZV90cmFuX2xv
dyhxY29lZmYxLCBxY29lZmZfcHRyICsgOCk7Ci0KLSAgcWNvZWZmMCA9IF9tbV9tdWxsb19lcGkx
NihxY29lZmYwLCBkZXF1YW50KTsKLSAgZGVxdWFudCA9IF9tbV91bnBhY2toaV9lcGk2NChkZXF1
YW50LCBkZXF1YW50KTsKLSAgcWNvZWZmMSA9IF9tbV9tdWxsb19lcGkxNihxY29lZmYxLCBkZXF1
YW50KTsKLQotICBzdG9yZV90cmFuX2xvdyhxY29lZmYwLCBkcWNvZWZmX3B0cik7Ci0gIHN0b3Jl
X3RyYW5fbG93KHFjb2VmZjEsIGRxY29lZmZfcHRyICsgOCk7Ci0KLSAgZW9iID0gc2Nhbl9mb3Jf
ZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgaXNjYW4sIDAsIHplcm8pOwotCi0gIHRociA9IF9tbV9z
cmFpX2VwaTE2KGRlcXVhbnQsIDEpOwotCi0gIC8vIEFDIG9ubHkgbG9vcC4KLSAgd2hpbGUgKGlu
ZGV4IDwgbl9jb2VmZnMpIHsKLSAgICBjb2VmZjAgPSBsb2FkX3RyYW5fbG93KGNvZWZmX3B0ciAr
IGluZGV4KTsKLSAgICBjb2VmZjEgPSBsb2FkX3RyYW5fbG93KGNvZWZmX3B0ciArIGluZGV4ICsg
OCk7Ci0KLSAgICBxY29lZmYwID0gX21tX2Fic19lcGkxNihjb2VmZjApOwotICAgIHFjb2VmZjEg
PSBfbW1fYWJzX2VwaTE2KGNvZWZmMSk7Ci0KLSAgICBuemZsYWcgPSBfbW1fbW92ZW1hc2tfZXBp
OChfbW1fY21wZ3RfZXBpMTYocWNvZWZmMCwgdGhyKSkgfAotICAgICAgICAgICAgIF9tbV9tb3Zl
bWFza19lcGk4KF9tbV9jbXBndF9lcGkxNihxY29lZmYxLCB0aHIpKTsKLQotICAgIGlmIChuemZs
YWcpIHsKLSAgICAgIF9fbTEyOGkgZW9iMDsKLSAgICAgIHFjb2VmZjAgPSBfbW1fYWRkc19lcGkx
NihxY29lZmYwLCByb3VuZCk7Ci0gICAgICBxY29lZmYxID0gX21tX2FkZHNfZXBpMTYocWNvZWZm
MSwgcm91bmQpOwotICAgICAgcWNvZWZmMCA9IF9tbV9tdWxoaV9lcGkxNihxY29lZmYwLCBxdWFu
dCk7Ci0gICAgICBxY29lZmYxID0gX21tX211bGhpX2VwaTE2KHFjb2VmZjEsIHF1YW50KTsKLQot
ICAgICAgLy8gUmVpbnNlcnQgc2lnbnMuCi0gICAgICBxY29lZmYwID0gX21tX3NpZ25fZXBpMTYo
cWNvZWZmMCwgY29lZmYwKTsKLSAgICAgIHFjb2VmZjEgPSBfbW1fc2lnbl9lcGkxNihxY29lZmYx
LCBjb2VmZjEpOwotCi0gICAgICBzdG9yZV90cmFuX2xvdyhxY29lZmYwLCBxY29lZmZfcHRyICsg
aW5kZXgpOwotICAgICAgc3RvcmVfdHJhbl9sb3cocWNvZWZmMSwgcWNvZWZmX3B0ciArIGluZGV4
ICsgOCk7Ci0KLSAgICAgIHFjb2VmZjAgPSBfbW1fbXVsbG9fZXBpMTYocWNvZWZmMCwgZGVxdWFu
dCk7Ci0gICAgICBxY29lZmYxID0gX21tX211bGxvX2VwaTE2KHFjb2VmZjEsIGRlcXVhbnQpOwot
Ci0gICAgICBzdG9yZV90cmFuX2xvdyhxY29lZmYwLCBkcWNvZWZmX3B0ciArIGluZGV4KTsKLSAg
ICAgIHN0b3JlX3RyYW5fbG93KHFjb2VmZjEsIGRxY29lZmZfcHRyICsgaW5kZXggKyA4KTsKLQot
ICAgICAgZW9iMCA9IHNjYW5fZm9yX2VvYigmcWNvZWZmMCwgJnFjb2VmZjEsIGlzY2FuLCBpbmRl
eCwgemVybyk7Ci0gICAgICBlb2IgPSBfbW1fbWF4X2VwaTE2KGVvYiwgZW9iMCk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgIHN0b3JlX3plcm9fdHJhbl9sb3cocWNvZWZmX3B0ciArIGluZGV4KTsKLSAg
ICAgIHN0b3JlX3plcm9fdHJhbl9sb3cocWNvZWZmX3B0ciArIGluZGV4ICsgOCk7Ci0KLSAgICAg
IHN0b3JlX3plcm9fdHJhbl9sb3coZHFjb2VmZl9wdHIgKyBpbmRleCk7Ci0gICAgICBzdG9yZV96
ZXJvX3RyYW5fbG93KGRxY29lZmZfcHRyICsgaW5kZXggKyA4KTsKLSAgICB9Ci0KLSAgICBpbmRl
eCArPSAxNjsKLSAgfQotCi0gICplb2JfcHRyID0gYWNjdW11bGF0ZV9lb2IoZW9iKTsKLX0KLQot
dm9pZCB2cDlfcXVhbnRpemVfZnBfMzJ4MzJfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZf
cHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1
aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIpIHsKLSAgY29uc3QgX19tMTI4aSB6
ZXJvID0gX21tX3NldHplcm9fc2kxMjgoKTsKLSAgY29uc3QgX19tMTI4aSBvbmVfczE2ID0gX21t
X3NldDFfZXBpMTYoMSk7Ci0gIF9fbTEyOGkgdGhyOwotICBpbnQgbnpmbGFnOwotICBpbnQgaW5k
ZXggPSAxNjsKLSAgX19tMTI4aSByb3VuZCwgcXVhbnQsIGRlcXVhbnQ7Ci0gIF9fbTEyOGkgY29l
ZmYwLCBjb2VmZjE7Ci0gIF9fbTEyOGkgcWNvZWZmMCwgcWNvZWZmMTsKLSAgX19tMTI4aSBlb2I7
Ci0gIGNvbnN0IGludDE2X3QgKmlzY2FuID0gc2Nhbl9vcmRlci0+aXNjYW47Ci0KLSAgLy8gU2V0
dXAgZ2xvYmFsIHZhbHVlcy4KLSAgbG9hZF9mcF92YWx1ZXMobWJfcGxhbmUsICZyb3VuZCwgJnF1
YW50LCBkZXF1YW50X3B0ciwgJmRlcXVhbnQpOwotICAvLyBUaGUgMzJ4MzIgaGFsdmVzIHJvdW5k
LgotICByb3VuZCA9IF9tbV9hZGRfZXBpMTYocm91bmQsIG9uZV9zMTYpOwotICByb3VuZCA9IF9t
bV9zcmxpX2VwaTE2KHJvdW5kLCAxKTsKLQotICAvLyBUaGUgMTZ4MTYgc2hpZnRzIGJ5IDE2LCB0
aGUgMzJ4MzIgc2hpZnRzIGJ5IDE1LiBXZSB3YW50IHRvIHVzZSBwbXVsaHcgc28KLSAgLy8gdXBz
aGlmdCBxdWFudCB0byBhY2NvdW50IGZvciB0aGlzLgotICBxdWFudCA9IF9tbV9zbGxpX2VwaTE2
KHF1YW50LCAxKTsKLQotICAvLyBEbyBEQyBhbmQgZmlyc3QgMTUgQUMuCi0gIGNvZWZmMCA9IGxv
YWRfdHJhbl9sb3coY29lZmZfcHRyKTsKLSAgY29lZmYxID0gbG9hZF90cmFuX2xvdyhjb2VmZl9w
dHIgKyA4KTsKLQotICBxY29lZmYwID0gX21tX2Fic19lcGkxNihjb2VmZjApOwotICBxY29lZmYx
ID0gX21tX2Fic19lcGkxNihjb2VmZjEpOwotCi0gIHFjb2VmZjAgPSBfbW1fYWRkc19lcGkxNihx
Y29lZmYwLCByb3VuZCk7Ci0gIHFjb2VmZjAgPSBfbW1fbXVsaGlfZXBpMTYocWNvZWZmMCwgcXVh
bnQpOwotCi0gIHJvdW5kID0gX21tX3VucGFja2hpX2VwaTY0KHJvdW5kLCByb3VuZCk7Ci0gIHF1
YW50ID0gX21tX3VucGFja2hpX2VwaTY0KHF1YW50LCBxdWFudCk7Ci0KLSAgcWNvZWZmMSA9IF9t
bV9hZGRzX2VwaTE2KHFjb2VmZjEsIHJvdW5kKTsKLSAgcWNvZWZmMSA9IF9tbV9tdWxoaV9lcGkx
NihxY29lZmYxLCBxdWFudCk7Ci0KLSAgLy8gUmVpbnNlcnQgc2lnbnMuCi0gIHFjb2VmZjAgPSBf
bW1fc2lnbl9lcGkxNihxY29lZmYwLCBjb2VmZjApOwotICBxY29lZmYxID0gX21tX3NpZ25fZXBp
MTYocWNvZWZmMSwgY29lZmYxKTsKLQotICBzdG9yZV90cmFuX2xvdyhxY29lZmYwLCBxY29lZmZf
cHRyKTsKLSAgc3RvcmVfdHJhbl9sb3cocWNvZWZmMSwgcWNvZWZmX3B0ciArIDgpOwotCi0gIC8v
IEdldCB0aGUgYWJzIHZhbHVlIG9mIHFjb2VmZiBhZ2FpbiBzbyB3ZSBjYW4gdXNlIHNoaWZ0cyBm
b3IgZGl2aXNpb24uCi0gIHFjb2VmZjAgPSBfbW1fYWJzX2VwaTE2KHFjb2VmZjApOwotICBxY29l
ZmYxID0gX21tX2Fic19lcGkxNihxY29lZmYxKTsKLQotICBxY29lZmYwID0gX21tX211bGxvX2Vw
aTE2KHFjb2VmZjAsIGRlcXVhbnQpOwotICBkZXF1YW50ID0gX21tX3VucGFja2hpX2VwaTY0KGRl
cXVhbnQsIGRlcXVhbnQpOwotICBxY29lZmYxID0gX21tX211bGxvX2VwaTE2KHFjb2VmZjEsIGRl
cXVhbnQpOwotCi0gIC8vIERpdmlkZSBieSAyLgotICBxY29lZmYwID0gX21tX3NybGlfZXBpMTYo
cWNvZWZmMCwgMSk7Ci0gIHFjb2VmZjEgPSBfbW1fc3JsaV9lcGkxNihxY29lZmYxLCAxKTsKLQot
ICAvLyBSZWluc2VydCBzaWducy4KLSAgcWNvZWZmMCA9IF9tbV9zaWduX2VwaTE2KHFjb2VmZjAs
IGNvZWZmMCk7Ci0gIHFjb2VmZjEgPSBfbW1fc2lnbl9lcGkxNihxY29lZmYxLCBjb2VmZjEpOwot
Ci0gIHN0b3JlX3RyYW5fbG93KHFjb2VmZjAsIGRxY29lZmZfcHRyKTsKLSAgc3RvcmVfdHJhbl9s
b3cocWNvZWZmMSwgZHFjb2VmZl9wdHIgKyA4KTsKLQotICBlb2IgPSBzY2FuX2Zvcl9lb2IoJnFj
b2VmZjAsICZxY29lZmYxLCBpc2NhbiwgMCwgemVybyk7Ci0KLSAgdGhyID0gX21tX3NyYWlfZXBp
MTYoZGVxdWFudCwgMik7Ci0KLSAgLy8gQUMgb25seSBsb29wLgotICB3aGlsZSAoaW5kZXggPCBu
X2NvZWZmcykgewotICAgIGNvZWZmMCA9IGxvYWRfdHJhbl9sb3coY29lZmZfcHRyICsgaW5kZXgp
OwotICAgIGNvZWZmMSA9IGxvYWRfdHJhbl9sb3coY29lZmZfcHRyICsgaW5kZXggKyA4KTsKLQot
ICAgIHFjb2VmZjAgPSBfbW1fYWJzX2VwaTE2KGNvZWZmMCk7Ci0gICAgcWNvZWZmMSA9IF9tbV9h
YnNfZXBpMTYoY29lZmYxKTsKLQotICAgIG56ZmxhZyA9IF9tbV9tb3ZlbWFza19lcGk4KF9tbV9j
bXBndF9lcGkxNihxY29lZmYwLCB0aHIpKSB8Ci0gICAgICAgICAgICAgX21tX21vdmVtYXNrX2Vw
aTgoX21tX2NtcGd0X2VwaTE2KHFjb2VmZjEsIHRocikpOwotCi0gICAgaWYgKG56ZmxhZykgewot
ICAgICAgcWNvZWZmMCA9IF9tbV9hZGRzX2VwaTE2KHFjb2VmZjAsIHJvdW5kKTsKLSAgICAgIHFj
b2VmZjEgPSBfbW1fYWRkc19lcGkxNihxY29lZmYxLCByb3VuZCk7Ci0gICAgICBxY29lZmYwID0g
X21tX211bGhpX2VwaTE2KHFjb2VmZjAsIHF1YW50KTsKLSAgICAgIHFjb2VmZjEgPSBfbW1fbXVs
aGlfZXBpMTYocWNvZWZmMSwgcXVhbnQpOwotCi0gICAgICAvLyBSZWluc2VydCBzaWducy4KLSAg
ICAgIHFjb2VmZjAgPSBfbW1fc2lnbl9lcGkxNihxY29lZmYwLCBjb2VmZjApOwotICAgICAgcWNv
ZWZmMSA9IF9tbV9zaWduX2VwaTE2KHFjb2VmZjEsIGNvZWZmMSk7Ci0KLSAgICAgIHN0b3JlX3Ry
YW5fbG93KHFjb2VmZjAsIHFjb2VmZl9wdHIgKyBpbmRleCk7Ci0gICAgICBzdG9yZV90cmFuX2xv
dyhxY29lZmYxLCBxY29lZmZfcHRyICsgaW5kZXggKyA4KTsKLQotICAgICAgLy8gR2V0IHRoZSBh
YnMgdmFsdWUgb2YgcWNvZWZmIGFnYWluIHNvIHdlIGNhbiB1c2Ugc2hpZnRzIGZvciBkaXZpc2lv
bi4KLSAgICAgIHFjb2VmZjAgPSBfbW1fYWJzX2VwaTE2KHFjb2VmZjApOwotICAgICAgcWNvZWZm
MSA9IF9tbV9hYnNfZXBpMTYocWNvZWZmMSk7Ci0KLSAgICAgIHFjb2VmZjAgPSBfbW1fbXVsbG9f
ZXBpMTYocWNvZWZmMCwgZGVxdWFudCk7Ci0gICAgICBxY29lZmYxID0gX21tX211bGxvX2VwaTE2
KHFjb2VmZjEsIGRlcXVhbnQpOwotCi0gICAgICAvLyBEaXZpZGUgYnkgMi4KLSAgICAgIHFjb2Vm
ZjAgPSBfbW1fc3JsaV9lcGkxNihxY29lZmYwLCAxKTsKLSAgICAgIHFjb2VmZjEgPSBfbW1fc3Js
aV9lcGkxNihxY29lZmYxLCAxKTsKLQotICAgICAgLy8gUmVpbnNlcnQgc2lnbnMuCi0gICAgICBx
Y29lZmYwID0gX21tX3NpZ25fZXBpMTYocWNvZWZmMCwgY29lZmYwKTsKLSAgICAgIHFjb2VmZjEg
PSBfbW1fc2lnbl9lcGkxNihxY29lZmYxLCBjb2VmZjEpOwotCi0gICAgICBzdG9yZV90cmFuX2xv
dyhxY29lZmYwLCBkcWNvZWZmX3B0ciArIGluZGV4KTsKLSAgICAgIHN0b3JlX3RyYW5fbG93KHFj
b2VmZjEsIGRxY29lZmZfcHRyICsgaW5kZXggKyA4KTsKLSAgICB9IGVsc2UgewotICAgICAgc3Rv
cmVfemVyb190cmFuX2xvdyhxY29lZmZfcHRyICsgaW5kZXgpOwotICAgICAgc3RvcmVfemVyb190
cmFuX2xvdyhxY29lZmZfcHRyICsgaW5kZXggKyA4KTsKLQotICAgICAgc3RvcmVfemVyb190cmFu
X2xvdyhkcWNvZWZmX3B0ciArIGluZGV4KTsKLSAgICAgIHN0b3JlX3plcm9fdHJhbl9sb3coZHFj
b2VmZl9wdHIgKyBpbmRleCArIDgpOwotICAgIH0KLQotICAgIGlmIChuemZsYWcpIHsKLSAgICAg
IGNvbnN0IF9fbTEyOGkgZW9iMCA9IHNjYW5fZm9yX2VvYigmcWNvZWZmMCwgJnFjb2VmZjEsIGlz
Y2FuLCBpbmRleCwgemVybyk7Ci0gICAgICBlb2IgPSBfbW1fbWF4X2VwaTE2KGVvYiwgZW9iMCk7
Ci0gICAgfQotICAgIGluZGV4ICs9IDE2OwotICB9Ci0KLSAgKmVvYl9wdHIgPSBhY2N1bXVsYXRl
X2VvYihlb2IpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvZW5jb2Rlci94ODYvdnA5
X3F1YW50aXplX3Nzc2UzX3g4Nl82NC5hc20gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9lbmNvZGVyL3g4Ni92
cDlfcXVhbnRpemVfc3NzZTNfeDg2XzY0LmFzbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjU3MDNhYTNiYjZlOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L2VuY29kZXIveDg2L3ZwOV9xdWFudGl6ZV9zc3NlM194ODZfNjQuYXNtCkBAIC0wLDAgKzEs
MTc4IEBACis7Cis7ICBDb3B5cmlnaHQgKGMpIDIwMTAgVGhlIFdlYk0gcHJvamVjdCBhdXRob3Jz
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorOworOyAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg
Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQorOyAgdGhhdCBjYW4gYmUgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCis7ICB0cmVlLiBBbiBh
ZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5k
Cis7ICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhv
cnMgbWF5Cis7ICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRo
ZSBzb3VyY2UgdHJlZS4KKzsKKworJWRlZmluZSBwcml2YXRlX3ByZWZpeCB2cDkKKworJWluY2x1
ZGUgInRoaXJkX3BhcnR5L3g4NmluYy94ODZpbmMuYXNtIgorJWluY2x1ZGUgInZweF9kc3AveDg2
L2JpdGRlcHRoX2NvbnZlcnNpb25fc3NlMi5hc20iCisKK1NFQ1RJT05fUk9EQVRBCitwd18xOiB0
aW1lcyA4IGR3IDEKKworU0VDVElPTiAudGV4dAorCislbWFjcm8gUVVBTlRJWkVfRlAgMgorY2ds
b2JhbCBxdWFudGl6ZV8lMSwgMCwgJTIsIDE1LCBjb2VmZiwgbmNvZWZmLCBza2lwLCByb3VuZCwg
cXVhbnQsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcWNvZWZmLCBkcWNvZWZm
LCBkZXF1YW50LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVvYiwgc2Nhbiwg
aXNjYW4KKworICA7IGFjdHVhbCBxdWFudGl6ZSBsb29wIC0gc2V0dXAgcG9pbnRlcnMsIHJvdW5k
ZXJzLCBldGMuCisgIG1vdmlmbmlkbiAgICAgICAgICAgICAgICAgICBjb2VmZnEsIGNvZWZmbXAK
KyAgbW92aWZuaWRuICAgICAgICAgICAgICAgICAgbmNvZWZmcSwgbmNvZWZmbXAKKyAgbW92ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByMiwgZGVxdWFudG1wCisgIG1vdmlmbmlkbiAgICAg
ICAgICAgICAgICAgICByb3VuZHEsIHJvdW5kbXAKKyAgbW92aWZuaWRuICAgICAgICAgICAgICAg
ICAgIHF1YW50cSwgcXVhbnRtcAorICBtb3ZhICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0x
LCBbcm91bmRxXSAgICAgICAgICAgICA7IG0xID0gcm91bmQKKyAgbW92YSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtMiwgW3F1YW50cV0gICAgICAgICAgICAgOyBtMiA9IHF1YW50CislaWZp
ZG4gJTEsIGZwXzMyeDMyCisgIHBjbXBlcXcgICAgICAgICAgICAgICAgICAgICAgICAgbTUsIG01
CisgIHBzcmx3ICAgICAgICAgICAgICAgICAgICAgICAgICAgbTUsIDE1CisgIHBhZGR3ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbTEsIG01CisgIHBzcmx3ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbTEsIDEgICAgICAgICAgICAgICAgICAgIDsgbTEgPSAobTEgKyAxKSAvIDIKKyVlbmRp
ZgorICBtb3ZhICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0zLCBbcjJxXSAgICAgICAgICAg
ICAgICA7IG0zID0gZGVxdWFudAorICBtb3YgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIz
LCBxY29lZmZtcAorICBtb3YgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHI0LCBkcWNvZWZm
bXAKKyAgbW92ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByNSwgaXNjYW5tcAorJWlmaWRu
ICUxLCBmcF8zMngzMgorICBwc2xsdyAgICAgICAgICAgICAgICAgICAgICAgICAgIG0yLCAxCisl
ZW5kaWYKKyAgcHhvciAgICAgICAgICAgICAgICAgICAgICAgICAgICBtNSwgbTUgICAgICAgICAg
ICAgICAgICAgOyBtNSA9IGRlZGljYXRlZCB6ZXJvCisKKyAgSU5DUkVNRU5UX0VMRU1FTlRTX1RS
QU5fTE9XIGNvZWZmcSwgbmNvZWZmcQorICBsZWEgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cjVxLCBbcjVxK25jb2VmZnEqMl0KKyAgSU5DUkVNRU5UX0VMRU1FTlRTX1RSQU5fTE9XICAgIHIz
cSwgbmNvZWZmcQorICBJTkNSRU1FTlRfRUxFTUVOVFNfVFJBTl9MT1cgICAgcjRxLCBuY29lZmZx
CisgIG5lZyAgICAgICAgICAgICAgICAgICAgICAgIG5jb2VmZnEKKworICA7IGdldCBEQyBhbmQg
Zmlyc3QgMTUgQUMgY29lZmZzCisgIExPQURfVFJBTl9MT1cgIDksIGNvZWZmcSwgbmNvZWZmcSAg
ICAgICAgICAgICAgICAgICAgICAgIDsgbTkgPSBjW2ldCisgIExPQURfVFJBTl9MT1cgMTAsIGNv
ZWZmcSwgbmNvZWZmcSArIDggICAgICAgICAgICAgICAgICAgIDsgbTEwID0gY1tpXQorICBwYWJz
dyAgICAgICAgICAgICAgICAgICAgICAgICAgIG02LCBtOSAgICAgICAgICAgICAgICAgICA7IG02
ID0gYWJzKG05KQorICBwYWJzdyAgICAgICAgICAgICAgICAgICAgICAgICAgbTExLCBtMTAgICAg
ICAgICAgICAgICAgICA7IG0xMSA9IGFicyhtMTApCisgIHBjbXBlcXcgICAgICAgICAgICAgICAg
ICAgICAgICAgbTcsIG03CisKKyAgcGFkZHN3ICAgICAgICAgICAgICAgICAgICAgICAgICBtNiwg
bTEgICAgICAgICAgICAgICAgICAgOyBtNiArPSByb3VuZAorICBwdW5wY2tocWRxICAgICAgICAg
ICAgICAgICAgICAgIG0xLCBtMQorICBwYWRkc3cgICAgICAgICAgICAgICAgICAgICAgICAgbTEx
LCBtMSAgICAgICAgICAgICAgICAgICA7IG0xMSArPSByb3VuZAorICBwbXVsaHcgICAgICAgICAg
ICAgICAgICAgICAgICAgIG04LCBtNiwgbTIgICAgICAgICAgICAgICA7IG04ID0gbTYqcT4+MTYK
KyAgcHVucGNraHFkcSAgICAgICAgICAgICAgICAgICAgICBtMiwgbTIKKyAgcG11bGh3ICAgICAg
ICAgICAgICAgICAgICAgICAgIG0xMywgbTExLCBtMiAgICAgICAgICAgICAgOyBtMTMgPSBtMTEq
cT4+MTYKKyAgcHNpZ253ICAgICAgICAgICAgICAgICAgICAgICAgICBtOCwgbTkgICAgICAgICAg
ICAgICAgICAgOyBtOCA9IHJlaW5zZXJ0IHNpZ24KKyAgcHNpZ253ICAgICAgICAgICAgICAgICAg
ICAgICAgIG0xMywgbTEwICAgICAgICAgICAgICAgICAgOyBtMTMgPSByZWluc2VydCBzaWduCisg
IFNUT1JFX1RSQU5fTE9XICA4LCByM3EsIG5jb2VmZnEsICAgICA2LCAxMSwgMTIKKyAgU1RPUkVf
VFJBTl9MT1cgMTMsIHIzcSwgbmNvZWZmcSArIDgsIDYsIDExLCAxMgorJWlmaWRuICUxLCBmcF8z
MngzMgorICBwYWJzdyAgICAgICAgICAgICAgICAgICAgICAgICAgIG04LCBtOAorICBwYWJzdyAg
ICAgICAgICAgICAgICAgICAgICAgICAgbTEzLCBtMTMKKyVlbmRpZgorICBwbXVsbHcgICAgICAg
ICAgICAgICAgICAgICAgICAgIG04LCBtMyAgICAgICAgICAgICAgICAgICA7IHI0W2ldID0gcjNb
aV0gKiBxCisgIHB1bnBja2hxZHEgICAgICAgICAgICAgICAgICAgICAgbTMsIG0zCisgIHBtdWxs
dyAgICAgICAgICAgICAgICAgICAgICAgICBtMTMsIG0zICAgICAgICAgICAgICAgICAgIDsgcjRb
aV0gPSByM1tpXSAqIHEKKyVpZmlkbiAlMSwgZnBfMzJ4MzIKKyAgcHNybHcgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtOCwgMQorICBwc3JsdyAgICAgICAgICAgICAgICAgICAgICAgICAgbTEz
LCAxCisgIHBzaWdudyAgICAgICAgICAgICAgICAgICAgICAgICAgbTgsIG05CisgIHBzaWdudyAg
ICAgICAgICAgICAgICAgICAgICAgICBtMTMsIG0xMAorICBwc3JsdyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG0wLCBtMywgMgorJWVsc2UKKyAgcHNybHcgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtMCwgbTMsIDEKKyVlbmRpZgorICBTVE9SRV9UUkFOX0xPVyAgOCwgcjRxLCBuY29lZmZx
LCAgICAgNiwgMTEsIDEyCisgIFNUT1JFX1RSQU5fTE9XIDEzLCByNHEsIG5jb2VmZnEgKyA4LCA2
LCAxMSwgMTIKKyAgcGNtcGVxdyAgICAgICAgICAgICAgICAgICAgICAgICBtOCwgbTUgICAgICAg
ICAgICAgICAgICAgOyBtOCA9IGNbaV0gPT0gMAorICBwY21wZXF3ICAgICAgICAgICAgICAgICAg
ICAgICAgbTEzLCBtNSAgICAgICAgICAgICAgICAgICA7IG0xMyA9IGNbaV0gPT0gMAorICBtb3Zh
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG02LCBbICByNXErbmNvZWZmcSoyKyAwXSA7IG02
ID0gc2NhbltpXQorICBtb3ZhICAgICAgICAgICAgICAgICAgICAgICAgICAgbTExLCBbICByNXEr
bmNvZWZmcSoyKzE2XSA7IG0xMSA9IHNjYW5baV0KKyAgcHN1YncgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtNiwgbTcgICAgICAgICAgICAgICAgICAgOyBtNiA9IHNjYW5baV0gKyAxCisgIHBz
dWJ3ICAgICAgICAgICAgICAgICAgICAgICAgICBtMTEsIG03ICAgICAgICAgICAgICAgICAgIDsg
bTExID0gc2NhbltpXSArIDEKKyAgcGFuZG4gICAgICAgICAgICAgICAgICAgICAgICAgICBtOCwg
bTYgICAgICAgICAgICAgICAgICAgOyBtOCA9IG1heChlb2IpCisgIHBhbmRuICAgICAgICAgICAg
ICAgICAgICAgICAgICBtMTMsIG0xMSAgICAgICAgICAgICAgICAgIDsgbTEzID0gbWF4KGVvYikK
KyAgcG1heHN3ICAgICAgICAgICAgICAgICAgICAgICAgICBtOCwgbTEzCisgIGFkZCAgICAgICAg
ICAgICAgICAgICAgICAgIG5jb2VmZnEsIG1tc2l6ZQorICBqeiAuYWNjdW11bGF0ZV9lb2IKKwor
LmFjX29ubHlfbG9vcDoKKyAgTE9BRF9UUkFOX0xPVyAgOSwgY29lZmZxLCBuY29lZmZxICAgICAg
ICAgICAgICAgICAgICAgICAgOyBtOSA9IGNbaV0KKyAgTE9BRF9UUkFOX0xPVyAxMCwgY29lZmZx
LCBuY29lZmZxICsgOCAgICAgICAgICAgICAgICAgICAgOyBtMTAgPSBjW2ldCisgIHBhYnN3ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbTYsIG05ICAgICAgICAgICAgICAgICAgIDsgbTYgPSBh
YnMobTkpCisgIHBhYnN3ICAgICAgICAgICAgICAgICAgICAgICAgICBtMTEsIG0xMCAgICAgICAg
ICAgICAgICAgIDsgbTExID0gYWJzKG0xMCkKKworICBwY21wZ3R3ICAgICAgICAgICAgICAgICAg
ICAgICAgIG03LCBtNiwgIG0wCisgIHBjbXBndHcgICAgICAgICAgICAgICAgICAgICAgICBtMTIs
IG0xMSwgbTAKKyAgcG1vdm1za2IgICAgICAgICAgICAgICAgICAgICAgIHI2ZCwgbTcKKyAgcG1v
dm1za2IgICAgICAgICAgICAgICAgICAgICAgIHIyZCwgbTEyCisKKyAgb3IgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByNiwgcjIKKyAganogLnNraXBfaXRlcgorCisgIHBjbXBlcXcgICAg
ICAgICAgICAgICAgICAgICAgICAgbTcsIG03CisKKyAgcGFkZHN3ICAgICAgICAgICAgICAgICAg
ICAgICAgICBtNiwgbTEgICAgICAgICAgICAgICAgICAgOyBtNiArPSByb3VuZAorICBwYWRkc3cg
ICAgICAgICAgICAgICAgICAgICAgICAgbTExLCBtMSAgICAgICAgICAgICAgICAgICA7IG0xMSAr
PSByb3VuZAorICBwbXVsaHcgICAgICAgICAgICAgICAgICAgICAgICAgbTE0LCBtNiwgbTIgICAg
ICAgICAgICAgICA7IG0xNCA9IG02KnE+PjE2CisgIHBtdWxodyAgICAgICAgICAgICAgICAgICAg
ICAgICBtMTMsIG0xMSwgbTIgICAgICAgICAgICAgIDsgbTEzID0gbTExKnE+PjE2CisgIHBzaWdu
dyAgICAgICAgICAgICAgICAgICAgICAgICBtMTQsIG05ICAgICAgICAgICAgICAgICAgIDsgbTE0
ID0gcmVpbnNlcnQgc2lnbgorICBwc2lnbncgICAgICAgICAgICAgICAgICAgICAgICAgbTEzLCBt
MTAgICAgICAgICAgICAgICAgICA7IG0xMyA9IHJlaW5zZXJ0IHNpZ24KKyAgU1RPUkVfVFJBTl9M
T1cgMTQsIHIzcSwgbmNvZWZmcSwgICAgIDYsIDExLCAxMgorICBTVE9SRV9UUkFOX0xPVyAxMywg
cjNxLCBuY29lZmZxICsgOCwgNiwgMTEsIDEyCislaWZpZG4gJTEsIGZwXzMyeDMyCisgIHBhYnN3
ICAgICAgICAgICAgICAgICAgICAgICAgICBtMTQsIG0xNAorICBwYWJzdyAgICAgICAgICAgICAg
ICAgICAgICAgICAgbTEzLCBtMTMKKyVlbmRpZgorICBwbXVsbHcgICAgICAgICAgICAgICAgICAg
ICAgICAgbTE0LCBtMyAgICAgICAgICAgICAgICAgICA7IHI0W2ldID0gcjNbaV0gKiBxCisgIHBt
dWxsdyAgICAgICAgICAgICAgICAgICAgICAgICBtMTMsIG0zICAgICAgICAgICAgICAgICAgIDsg
cjRbaV0gPSByM1tpXSAqIHEKKyVpZmlkbiAlMSwgZnBfMzJ4MzIKKyAgcHNybHcgICAgICAgICAg
ICAgICAgICAgICAgICAgIG0xNCwgMQorICBwc3JsdyAgICAgICAgICAgICAgICAgICAgICAgICAg
bTEzLCAxCisgIHBzaWdudyAgICAgICAgICAgICAgICAgICAgICAgICBtMTQsIG05CisgIHBzaWdu
dyAgICAgICAgICAgICAgICAgICAgICAgICBtMTMsIG0xMAorJWVuZGlmCisgIFNUT1JFX1RSQU5f
TE9XIDE0LCByNHEsIG5jb2VmZnEsICAgICA2LCAxMSwgMTIKKyAgU1RPUkVfVFJBTl9MT1cgMTMs
IHI0cSwgbmNvZWZmcSArIDgsIDYsIDExLCAxMgorICBwY21wZXF3ICAgICAgICAgICAgICAgICAg
ICAgICAgbTE0LCBtNSAgICAgICAgICAgICAgICAgICA7IG0xNCA9IGNbaV0gPT0gMAorICBwY21w
ZXF3ICAgICAgICAgICAgICAgICAgICAgICAgbTEzLCBtNSAgICAgICAgICAgICAgICAgICA7IG0x
MyA9IGNbaV0gPT0gMAorICBtb3ZhICAgICAgICAgICAgICAgICAgICAgICAgICAgIG02LCBbICBy
NXErbmNvZWZmcSoyKyAwXSA7IG02ID0gc2NhbltpXQorICBtb3ZhICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbTExLCBbICByNXErbmNvZWZmcSoyKzE2XSA7IG0xMSA9IHNjYW5baV0KKyAgcHN1
YncgICAgICAgICAgICAgICAgICAgICAgICAgICBtNiwgbTcgICAgICAgICAgICAgICAgICAgOyBt
NiA9IHNjYW5baV0gKyAxCisgIHBzdWJ3ICAgICAgICAgICAgICAgICAgICAgICAgICBtMTEsIG03
ICAgICAgICAgICAgICAgICAgIDsgbTExID0gc2NhbltpXSArIDEKKyAgcGFuZG4gICAgICAgICAg
ICAgICAgICAgICAgICAgIG0xNCwgbTYgICAgICAgICAgICAgICAgICAgOyBtMTQgPSBtYXgoZW9i
KQorICBwYW5kbiAgICAgICAgICAgICAgICAgICAgICAgICAgbTEzLCBtMTEgICAgICAgICAgICAg
ICAgICA7IG0xMyA9IG1heChlb2IpCisgIHBtYXhzdyAgICAgICAgICAgICAgICAgICAgICAgICAg
bTgsIG0xNAorICBwbWF4c3cgICAgICAgICAgICAgICAgICAgICAgICAgIG04LCBtMTMKKyAgYWRk
ICAgICAgICAgICAgICAgICAgICAgICAgbmNvZWZmcSwgbW1zaXplCisgIGpsIC5hY19vbmx5X2xv
b3AKKworICBqbXAgLmFjY3VtdWxhdGVfZW9iCisuc2tpcF9pdGVyOgorICBTVE9SRV9aRVJPX1RS
QU5fTE9XIDUsIHIzcSwgbmNvZWZmcQorICBTVE9SRV9aRVJPX1RSQU5fTE9XIDUsIHIzcSwgbmNv
ZWZmcSArIDgKKyAgU1RPUkVfWkVST19UUkFOX0xPVyA1LCByNHEsIG5jb2VmZnEKKyAgU1RPUkVf
WkVST19UUkFOX0xPVyA1LCByNHEsIG5jb2VmZnEgKyA4CisgIGFkZCAgICAgICAgICAgICAgICAg
ICAgICAgIG5jb2VmZnEsIG1tc2l6ZQorICBqbCAuYWNfb25seV9sb29wCisKKy5hY2N1bXVsYXRl
X2VvYjoKKyAgOyBob3Jpem9udGFsbHkgYWNjdW11bGF0ZS9tYXggZW9icyBhbmQgd3JpdGUgaW50
byBbZW9iXSBtZW1vcnkgcG9pbnRlcgorICBtb3YgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHIyLCBlb2JtcAorICBwc2h1ZmQgICAgICAgICAgICAgICAgICAgICAgICAgIG03LCBtOCwgMHhl
CisgIHBtYXhzdyAgICAgICAgICAgICAgICAgICAgICAgICAgbTgsIG03CisgIHBzaHVmbHcgICAg
ICAgICAgICAgICAgICAgICAgICAgbTcsIG04LCAweGUKKyAgcG1heHN3ICAgICAgICAgICAgICAg
ICAgICAgICAgICBtOCwgbTcKKyAgcHNodWZsdyAgICAgICAgICAgICAgICAgICAgICAgICBtNywg
bTgsIDB4MQorICBwbWF4c3cgICAgICAgICAgICAgICAgICAgICAgICAgIG04LCBtNworICBwZXh0
cncgICAgICAgICAgICAgICAgICAgICAgICAgIHI2LCBtOCwgMAorICBtb3YgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbcjJdLCByNncKKyAgUkVUCislZW5kbWFjcm8KKworSU5JVF9YTU0gc3Nz
ZTMKK1FVQU5USVpFX0ZQIGZwLCA3CitRVUFOVElaRV9GUCBmcF8zMngzMiwgNwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvcmF0ZWN0
cmxfcnRjLmNjCmluZGV4IGQ5MmIwOTU3MTQ4ZC4uNDdmOWYzYmEzM2VlIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9yYXRlY3RybF9ydGMuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvcmF0ZWN0
cmxfcnRjLmNjCkBAIC0xMSw3ICsxMSw2IEBACiAKICNpbmNsdWRlIDxuZXc+CiAKLSNpbmNsdWRl
ICJ2cDkvY29tbW9uL3ZwOV9jb21tb24uaCIKICNpbmNsdWRlICJ2cDkvZW5jb2Rlci92cDlfZW5j
b2Rlci5oIgogI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9waWNrbHBmLmgiCiAjaW5jbHVkZSAi
dnB4L3ZwOGN4LmgiCkBAIC0yNSw2NSArMjQsMjcgQEAgc3RkOjp1bmlxdWVfcHRyPFZQOVJhdGVD
b250cm9sUlRDPiBWUDlSYXRlQ29udHJvbFJUQzo6Q3JlYXRlKAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlA5UmF0ZUNvbnRyb2xSVEMoKSk7CiAgIGlm
ICghcmNfYXBpKSByZXR1cm4gbnVsbHB0cjsKICAgcmNfYXBpLT5jcGlfID0gc3RhdGljX2Nhc3Q8
VlA5X0NPTVAgKj4odnB4X21lbWFsaWduKDMyLCBzaXplb2YoKmNwaV8pKSk7Ci0gIGlmICghcmNf
YXBpLT5jcGlfKSByZXR1cm4gbnVsbHB0cjsKLSAgdnA5X3plcm8oKnJjX2FwaS0+Y3BpXyk7Ci0K
LSAgaWYgKCFyY19hcGktPkluaXRSYXRlQ29udHJvbChjZmcpKSByZXR1cm4gbnVsbHB0cjsKLSAg
aWYgKGNmZy5hcV9tb2RlKSB7Ci0gICAgVlA5X0NPTVAgKmNvbnN0IGNwaSA9IHJjX2FwaS0+Y3Bp
XzsKLSAgICBjcGktPnNlZ21lbnRhdGlvbl9tYXAgPSBzdGF0aWNfY2FzdDx1aW50OF90ICo+KAot
ICAgICAgICB2cHhfY2FsbG9jKGNwaS0+Y29tbW9uLm1pX3Jvd3MgKiBjcGktPmNvbW1vbi5taV9j
b2xzLAotICAgICAgICAgICAgICAgICAgIHNpemVvZigqY3BpLT5zZWdtZW50YXRpb25fbWFwKSkp
OwotICAgIGlmICghY3BpLT5zZWdtZW50YXRpb25fbWFwKSByZXR1cm4gbnVsbHB0cjsKLSAgICBj
cGktPmN5Y2xpY19yZWZyZXNoID0KLSAgICAgICAgdnA5X2N5Y2xpY19yZWZyZXNoX2FsbG9jKGNw
aS0+Y29tbW9uLm1pX3Jvd3MsIGNwaS0+Y29tbW9uLm1pX2NvbHMpOwotICAgIGNwaS0+Y3ljbGlj
X3JlZnJlc2gtPmNvbnRlbnRfbW9kZSA9IDA7CisgIGlmIChyY19hcGktPmNwaV8gPT0gbnVsbHB0
cikgeworICAgIHJldHVybiBudWxscHRyOwogICB9CisgIHJjX2FwaS0+SW5pdFJhdGVDb250cm9s
KGNmZyk7CiAgIHJldHVybiByY19hcGk7CiB9CiAKLVZQOVJhdGVDb250cm9sUlRDOjp+VlA5UmF0
ZUNvbnRyb2xSVEMoKSB7Ci0gIGlmIChjcGlfKSB7Ci0gICAgaWYgKGNwaV8tPnN2Yy5udW1iZXJf
c3BhdGlhbF9sYXllcnMgPiAxIHx8Ci0gICAgICAgIGNwaV8tPnN2Yy5udW1iZXJfdGVtcG9yYWxf
bGF5ZXJzID4gMSkgewotICAgICAgZm9yIChpbnQgc2wgPSAwOyBzbCA8IGNwaV8tPnN2Yy5udW1i
ZXJfc3BhdGlhbF9sYXllcnM7IHNsKyspIHsKLSAgICAgICAgZm9yIChpbnQgdGwgPSAwOyB0bCA8
IGNwaV8tPnN2Yy5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzOyB0bCsrKSB7Ci0gICAgICAgICAgaW50
IGxheWVyID0gTEFZRVJfSURTX1RPX0lEWChzbCwgdGwsIGNwaV8tPm94Y2YudHNfbnVtYmVyX2xh
eWVycyk7Ci0gICAgICAgICAgTEFZRVJfQ09OVEVYVCAqY29uc3QgbGMgPSAmY3BpXy0+c3ZjLmxh
eWVyX2NvbnRleHRbbGF5ZXJdOwotICAgICAgICAgIHZweF9mcmVlKGxjLT5tYXApOwotICAgICAg
ICAgIHZweF9mcmVlKGxjLT5sYXN0X2NvZGVkX3FfbWFwKTsKLSAgICAgICAgICB2cHhfZnJlZShs
Yy0+Y29uc2VjX3plcm9fbXYpOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotICAgIGlmIChj
cGlfLT5veGNmLmFxX21vZGUgPT0gQ1lDTElDX1JFRlJFU0hfQVEpIHsKLSAgICAgIHZweF9mcmVl
KGNwaV8tPnNlZ21lbnRhdGlvbl9tYXApOwotICAgICAgY3BpXy0+c2VnbWVudGF0aW9uX21hcCA9
IE5VTEw7Ci0gICAgICB2cDlfY3ljbGljX3JlZnJlc2hfZnJlZShjcGlfLT5jeWNsaWNfcmVmcmVz
aCk7Ci0gICAgfQotICAgIHZweF9mcmVlKGNwaV8pOwotICB9Ci19Ci0KLWJvb2wgVlA5UmF0ZUNv
bnRyb2xSVEM6OkluaXRSYXRlQ29udHJvbChjb25zdCBWUDlSYXRlQ29udHJvbFJ0Y0NvbmZpZyAm
cmNfY2ZnKSB7Cit2b2lkIFZQOVJhdGVDb250cm9sUlRDOjpJbml0UmF0ZUNvbnRyb2woY29uc3Qg
VlA5UmF0ZUNvbnRyb2xSdGNDb25maWcgJnJjX2NmZykgewogICBWUDlfQ09NTU9OICpjbSA9ICZj
cGlfLT5jb21tb247CiAgIFZQOUVuY29kZXJDb25maWcgKm94Y2YgPSAmY3BpXy0+b3hjZjsKICAg
UkFURV9DT05UUk9MICpjb25zdCByYyA9ICZjcGlfLT5yYzsKICAgY20tPnByb2ZpbGUgPSBQUk9G
SUxFXzA7CiAgIGNtLT5iaXRfZGVwdGggPSBWUFhfQklUU184OwogICBjbS0+c2hvd19mcmFtZSA9
IDE7Ci0gIG94Y2YtPnByb2ZpbGUgPSBjbS0+cHJvZmlsZTsKLSAgb3hjZi0+Yml0X2RlcHRoID0g
Y20tPmJpdF9kZXB0aDsKLSAgb3hjZi0+cmNfbW9kZSA9IHJjX2NmZy5yY19tb2RlOworICBveGNm
LT5yY19tb2RlID0gVlBYX0NCUjsKICAgb3hjZi0+cGFzcyA9IDA7Ci0gIG94Y2YtPmFxX21vZGUg
PSByY19jZmcuYXFfbW9kZSA/IENZQ0xJQ19SRUZSRVNIX0FRIDogTk9fQVE7CisgIG94Y2YtPmFx
X21vZGUgPSBOT19BUTsKICAgb3hjZi0+Y29udGVudCA9IFZQOUVfQ09OVEVOVF9ERUZBVUxUOwog
ICBveGNmLT5kcm9wX2ZyYW1lc193YXRlcl9tYXJrID0gMDsKLSAgY20tPmN1cnJlbnRfdmlkZW9f
ZnJhbWUgPSAwOwotICByYy0+a2ZfYm9vc3QgPSBERUZBVUxUX0tGX0JPT1NUOwogCi0gIGlmICgh
VXBkYXRlUmF0ZUNvbnRyb2wocmNfY2ZnKSkgcmV0dXJuIGZhbHNlOwotICB2cDlfc2V0X21iX21p
KGNtLCBjbS0+d2lkdGgsIGNtLT5oZWlnaHQpOworICBVcGRhdGVSYXRlQ29udHJvbChyY19jZmcp
OwogCiAgIGNwaV8tPnVzZV9zdmMgPSAoY3BpXy0+c3ZjLm51bWJlcl9zcGF0aWFsX2xheWVycyA+
IDEgfHwKICAgICAgICAgICAgICAgICAgICBjcGlfLT5zdmMubnVtYmVyX3RlbXBvcmFsX2xheWVy
cyA+IDEpCkBAIC05NCwyMyArNTUsMTIgQEAgYm9vbCBWUDlSYXRlQ29udHJvbFJUQzo6SW5pdFJh
dGVDb250cm9sKGNvbnN0IFZQOVJhdGVDb250cm9sUnRjQ29uZmlnICZyY19jZmcpIHsKICAgcmMt
PnJjXzJfZnJhbWUgPSAwOwogICB2cDlfcmNfaW5pdF9taW5xX2x1dHMoKTsKICAgdnA5X3JjX2lu
aXQob3hjZiwgMCwgcmMpOwotICByYy0+Y29uc3RyYWluX2dmX2tleV9mcmVxX29uZXBhc3NfdmJy
ID0gMDsKICAgY3BpXy0+c2YudXNlX25vbnJkX3BpY2tfbW9kZSA9IDE7Ci0gIHJldHVybiB0cnVl
OworICBjbS0+Y3VycmVudF92aWRlb19mcmFtZSA9IDA7CiB9CiAKLWJvb2wgVlA5UmF0ZUNvbnRy
b2xSVEM6OlVwZGF0ZVJhdGVDb250cm9sKAordm9pZCBWUDlSYXRlQ29udHJvbFJUQzo6VXBkYXRl
UmF0ZUNvbnRyb2woCiAgICAgY29uc3QgVlA5UmF0ZUNvbnRyb2xSdGNDb25maWcgJnJjX2NmZykg
ewotICAvLyBTaW5jZSBWUFhfTUFYX0xBWUVSUyAoMTIpIGlzIGxlc3MgdGhhbiB0aGUgcHJvZHVj
dCBvZiBWUFhfU1NfTUFYX0xBWUVSUyAoNSkKLSAgLy8gYW5kIFZQWF9UU19NQVhfTEFZRVJTICg1
KSwgY2hlY2sgYWxsIHRocmVlLgotICBpZiAocmNfY2ZnLnNzX251bWJlcl9sYXllcnMgPCAxIHx8
Ci0gICAgICByY19jZmcuc3NfbnVtYmVyX2xheWVycyA+IFZQWF9TU19NQVhfTEFZRVJTIHx8Ci0g
ICAgICByY19jZmcudHNfbnVtYmVyX2xheWVycyA8IDEgfHwKLSAgICAgIHJjX2NmZy50c19udW1i
ZXJfbGF5ZXJzID4gVlBYX1RTX01BWF9MQVlFUlMgfHwKLSAgICAgIHJjX2NmZy5zc19udW1iZXJf
bGF5ZXJzICogcmNfY2ZnLnRzX251bWJlcl9sYXllcnMgPiBWUFhfTUFYX0xBWUVSUykgewotICAg
IHJldHVybiBmYWxzZTsKLSAgfQotCiAgIFZQOV9DT01NT04gKmNtID0gJmNwaV8tPmNvbW1vbjsK
ICAgVlA5RW5jb2RlckNvbmZpZyAqb3hjZiA9ICZjcGlfLT5veGNmOwogICBSQVRFX0NPTlRST0wg
KmNvbnN0IHJjID0gJmNwaV8tPnJjOwpAQCAtMTIzLDcgKzczLDYgQEAgYm9vbCBWUDlSYXRlQ29u
dHJvbFJUQzo6VXBkYXRlUmF0ZUNvbnRyb2woCiAgIG94Y2YtPmJlc3RfYWxsb3dlZF9xID0gdnA5
X3F1YW50aXplcl90b19xaW5kZXgocmNfY2ZnLm1pbl9xdWFudGl6ZXIpOwogICByYy0+d29yc3Rf
cXVhbGl0eSA9IG94Y2YtPndvcnN0X2FsbG93ZWRfcTsKICAgcmMtPmJlc3RfcXVhbGl0eSA9IG94
Y2YtPmJlc3RfYWxsb3dlZF9xOwotICBveGNmLT5pbml0X2ZyYW1lcmF0ZSA9IHJjX2NmZy5mcmFt
ZXJhdGU7CiAgIG94Y2YtPnRhcmdldF9iYW5kd2lkdGggPSAxMDAwICogcmNfY2ZnLnRhcmdldF9i
YW5kd2lkdGg7CiAgIG94Y2YtPnN0YXJ0aW5nX2J1ZmZlcl9sZXZlbF9tcyA9IHJjX2NmZy5idWZf
aW5pdGlhbF9zejsKICAgb3hjZi0+b3B0aW1hbF9idWZmZXJfbGV2ZWxfbXMgPSByY19jZmcuYnVm
X29wdGltYWxfc3o7CkBAIC0xMzYsMjMgKzg1LDEwIEBAIGJvb2wgVlA5UmF0ZUNvbnRyb2xSVEM6
OlVwZGF0ZVJhdGVDb250cm9sKAogICAgICAgKHJjX2NmZy50c19udW1iZXJfbGF5ZXJzID4gMSkg
PyByY19jZmcudHNfbnVtYmVyX2xheWVycyA6IDApOwogCiAgIGNwaV8tPm94Y2YucmNfbWF4X2lu
dHJhX2JpdHJhdGVfcGN0ID0gcmNfY2ZnLm1heF9pbnRyYV9iaXRyYXRlX3BjdDsKLSAgY3BpXy0+
b3hjZi5yY19tYXhfaW50ZXJfYml0cmF0ZV9wY3QgPSByY19jZmcubWF4X2ludGVyX2JpdHJhdGVf
cGN0OwogICBjcGlfLT5mcmFtZXJhdGUgPSByY19jZmcuZnJhbWVyYXRlOwogICBjcGlfLT5zdmMu
bnVtYmVyX3NwYXRpYWxfbGF5ZXJzID0gcmNfY2ZnLnNzX251bWJlcl9sYXllcnM7CiAgIGNwaV8t
PnN2Yy5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzID0gcmNfY2ZnLnRzX251bWJlcl9sYXllcnM7CiAK
LSAgdnA5X3NldF9tYl9taShjbSwgY20tPndpZHRoLCBjbS0+aGVpZ2h0KTsKLQotICBpZiAoc2V0
am1wKGNwaV8tPmNvbW1vbi5lcnJvci5qbXApKSB7Ci0gICAgY3BpXy0+Y29tbW9uLmVycm9yLnNl
dGptcCA9IDA7Ci0gICAgdnB4X2NsZWFyX3N5c3RlbV9zdGF0ZSgpOwotICAgIHJldHVybiBmYWxz
ZTsKLSAgfQotICBjcGlfLT5jb21tb24uZXJyb3Iuc2V0am1wID0gMTsKLQotICBmb3IgKGludCB0
bCA9IDA7IHRsIDwgY3BpXy0+c3ZjLm51bWJlcl90ZW1wb3JhbF9sYXllcnM7ICsrdGwpIHsKLSAg
ICBveGNmLT50c19yYXRlX2RlY2ltYXRvclt0bF0gPSByY19jZmcudHNfcmF0ZV9kZWNpbWF0b3Jb
dGxdOwotICB9CiAgIGZvciAoaW50IHNsID0gMDsgc2wgPCBjcGlfLT5zdmMubnVtYmVyX3NwYXRp
YWxfbGF5ZXJzOyArK3NsKSB7CiAgICAgZm9yIChpbnQgdGwgPSAwOyB0bCA8IGNwaV8tPnN2Yy5u
dW1iZXJfdGVtcG9yYWxfbGF5ZXJzOyArK3RsKSB7CiAgICAgICBjb25zdCBpbnQgbGF5ZXIgPQpA
QCAtMTY2LDYgKzEwMiw3IEBAIGJvb2wgVlA5UmF0ZUNvbnRyb2xSVEM6OlVwZGF0ZVJhdGVDb250
cm9sKAogICAgICAgbHJjLT5iZXN0X3F1YWxpdHkgPSB2cDlfcXVhbnRpemVyX3RvX3FpbmRleChy
Y19jZmcubWluX3F1YW50aXplcnNbbGF5ZXJdKTsKICAgICAgIGxjLT5zY2FsaW5nX2ZhY3Rvcl9u
dW0gPSByY19jZmcuc2NhbGluZ19mYWN0b3JfbnVtW3NsXTsKICAgICAgIGxjLT5zY2FsaW5nX2Zh
Y3Rvcl9kZW4gPSByY19jZmcuc2NhbGluZ19mYWN0b3JfZGVuW3NsXTsKKyAgICAgIG94Y2YtPnRz
X3JhdGVfZGVjaW1hdG9yW3RsXSA9IHJjX2NmZy50c19yYXRlX2RlY2ltYXRvclt0bF07CiAgICAg
fQogICB9CiAgIHZwOV9zZXRfcmNfYnVmZmVyX3NpemVzKGNwaV8pOwpAQCAtMTc3LDkgKzExNCw2
IEBAIGJvb2wgVlA5UmF0ZUNvbnRyb2xSVEM6OlVwZGF0ZVJhdGVDb250cm9sKAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpY3BpXy0+b3hjZi50YXJnZXRf
YmFuZHdpZHRoKTsKICAgfQogICB2cDlfY2hlY2tfcmVzZXRfcmNfZmxhZyhjcGlfKTsKLQotICBj
cGlfLT5jb21tb24uZXJyb3Iuc2V0am1wID0gMDsKLSAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQg
VlA5UmF0ZUNvbnRyb2xSVEM6OkNvbXB1dGVRUChjb25zdCBWUDlGcmFtZVBhcmFtc1FwUlRDICZm
cmFtZV9wYXJhbXMpIHsKQEAgLTE5OSwzNCArMTMzLDE2IEBAIHZvaWQgVlA5UmF0ZUNvbnRyb2xS
VEM6OkNvbXB1dGVRUChjb25zdCBWUDlGcmFtZVBhcmFtc1FwUlRDICZmcmFtZV9wYXJhbXMpIHsK
ICAgICBjbS0+aGVpZ2h0ID0gaGVpZ2h0OwogICB9CiAgIHZwOV9zZXRfbWJfbWkoY20sIGNtLT53
aWR0aCwgY20tPmhlaWdodCk7Ci0gIGNtLT5mcmFtZV90eXBlID0gc3RhdGljX2Nhc3Q8RlJBTUVf
VFlQRT4oZnJhbWVfcGFyYW1zLmZyYW1lX3R5cGUpOwotICAvLyBUaGlzIGlzIG5lZWRlZCB0byBl
bnN1cmUga2V5IGZyYW1lIGRvZXMgbm90IGdldCB1bnNldCBpbiByY19nZXRfc3ZjX3BhcmFtcy4K
LSAgY3BpXy0+ZnJhbWVfZmxhZ3MgPSAoY20tPmZyYW1lX3R5cGUgPT0gS0VZX0ZSQU1FKSA/IEZS
QU1FRkxBR1NfS0VZIDogMDsKKyAgY20tPmZyYW1lX3R5cGUgPSBmcmFtZV9wYXJhbXMuZnJhbWVf
dHlwZTsKICAgY3BpXy0+cmVmcmVzaF9nb2xkZW5fZnJhbWUgPSAoY20tPmZyYW1lX3R5cGUgPT0g
S0VZX0ZSQU1FKSA/IDEgOiAwOwogICBjcGlfLT5zZi51c2Vfbm9ucmRfcGlja19tb2RlID0gMTsK
ICAgaWYgKGNwaV8tPnN2Yy5udW1iZXJfc3BhdGlhbF9sYXllcnMgPT0gMSAmJgogICAgICAgY3Bp
Xy0+c3ZjLm51bWJlcl90ZW1wb3JhbF9sYXllcnMgPT0gMSkgewotICAgIGludCB0YXJnZXQgPSAw
OwotICAgIGlmIChjcGlfLT5veGNmLnJjX21vZGUgPT0gVlBYX0NCUikgewotICAgICAgaWYgKGNw
aV8tPm94Y2YuYXFfbW9kZSA9PSBDWUNMSUNfUkVGUkVTSF9BUSkKLSAgICAgICAgdnA5X2N5Y2xp
Y19yZWZyZXNoX3VwZGF0ZV9wYXJhbWV0ZXJzKGNwaV8pOwotICAgICAgaWYgKGZyYW1lX2lzX2lu
dHJhX29ubHkoY20pKQotICAgICAgICB0YXJnZXQgPSB2cDlfY2FsY19pZnJhbWVfdGFyZ2V0X3Np
emVfb25lX3Bhc3NfY2JyKGNwaV8pOwotICAgICAgZWxzZQotICAgICAgICB0YXJnZXQgPSB2cDlf
Y2FsY19wZnJhbWVfdGFyZ2V0X3NpemVfb25lX3Bhc3NfY2JyKGNwaV8pOwotICAgIH0gZWxzZSBp
ZiAoY3BpXy0+b3hjZi5yY19tb2RlID09IFZQWF9WQlIpIHsKLSAgICAgIGlmIChjbS0+ZnJhbWVf
dHlwZSA9PSBLRVlfRlJBTUUpIHsKLSAgICAgICAgY3BpXy0+cmMudGhpc19rZXlfZnJhbWVfZm9y
Y2VkID0gY20tPmN1cnJlbnRfdmlkZW9fZnJhbWUgIT0gMDsKLSAgICAgICAgY3BpXy0+cmMuZnJh
bWVzX3RvX2tleSA9IGNwaV8tPm94Y2Yua2V5X2ZyZXE7Ci0gICAgICB9Ci0gICAgICB2cDlfc2V0
X2dmX3VwZGF0ZV9vbmVfcGFzc192YnIoY3BpXyk7Ci0gICAgICBpZiAoY3BpXy0+b3hjZi5hcV9t
b2RlID09IENZQ0xJQ19SRUZSRVNIX0FRKQotICAgICAgICB2cDlfY3ljbGljX3JlZnJlc2hfdXBk
YXRlX3BhcmFtZXRlcnMoY3BpXyk7Ci0gICAgICBpZiAoZnJhbWVfaXNfaW50cmFfb25seShjbSkp
Ci0gICAgICAgIHRhcmdldCA9IHZwOV9jYWxjX2lmcmFtZV90YXJnZXRfc2l6ZV9vbmVfcGFzc192
YnIoY3BpXyk7Ci0gICAgICBlbHNlCi0gICAgICAgIHRhcmdldCA9IHZwOV9jYWxjX3BmcmFtZV90
YXJnZXRfc2l6ZV9vbmVfcGFzc192YnIoY3BpXyk7Ci0gICAgfQorICAgIGludCB0YXJnZXQ7Cisg
ICAgaWYgKGZyYW1lX2lzX2ludHJhX29ubHkoY20pKQorICAgICAgdGFyZ2V0ID0gdnA5X2NhbGNf
aWZyYW1lX3RhcmdldF9zaXplX29uZV9wYXNzX2NicihjcGlfKTsKKyAgICBlbHNlCisgICAgICB0
YXJnZXQgPSB2cDlfY2FsY19wZnJhbWVfdGFyZ2V0X3NpemVfb25lX3Bhc3NfY2JyKGNwaV8pOwog
ICAgIHZwOV9yY19zZXRfZnJhbWVfdGFyZ2V0KGNwaV8sIHRhcmdldCk7CiAgICAgdnA5X3VwZGF0
ZV9idWZmZXJfbGV2ZWxfcHJlZW5jb2RlKGNwaV8pOwogICB9IGVsc2UgewpAQCAtMjM3LDExICsx
NTMsNiBAQCB2b2lkIFZQOVJhdGVDb250cm9sUlRDOjpDb21wdXRlUVAoY29uc3QgVlA5RnJhbWVQ
YXJhbXNRcFJUQyAmZnJhbWVfcGFyYW1zKSB7CiAgIGludCBib3R0b21faW5kZXgsIHRvcF9pbmRl
eDsKICAgY3BpXy0+Y29tbW9uLmJhc2VfcWluZGV4ID0KICAgICAgIHZwOV9yY19waWNrX3FfYW5k
X2JvdW5kcyhjcGlfLCAmYm90dG9tX2luZGV4LCAmdG9wX2luZGV4KTsKLQotICBpZiAoY3BpXy0+
b3hjZi5hcV9tb2RlID09IENZQ0xJQ19SRUZSRVNIX0FRKSB2cDlfY3ljbGljX3JlZnJlc2hfc2V0
dXAoY3BpXyk7Ci0gIGlmIChjcGlfLT5zdmMubnVtYmVyX3NwYXRpYWxfbGF5ZXJzID4gMSB8fAot
ICAgICAgY3BpXy0+c3ZjLm51bWJlcl90ZW1wb3JhbF9sYXllcnMgPiAxKQotICAgIHZwOV9zYXZl
X2xheWVyX2NvbnRleHQoY3BpXyk7CiB9CiAKIGludCBWUDlSYXRlQ29udHJvbFJUQzo6R2V0UVAo
KSBjb25zdCB7IHJldHVybiBjcGlfLT5jb21tb24uYmFzZV9xaW5kZXg7IH0KQEAgLTI1Miw0MyAr
MTYzLDcgQEAgaW50IFZQOVJhdGVDb250cm9sUlRDOjpHZXRMb29wZmlsdGVyTGV2ZWwoKSBjb25z
dCB7CiAgIHJldHVybiBsZi0+ZmlsdGVyX2xldmVsOwogfQogCi1ib29sIFZQOVJhdGVDb250cm9s
UlRDOjpHZXRTZWdtZW50YXRpb25EYXRhKAotICAgIFZQOVNlZ21lbnRhdGlvbkRhdGEgKnNlZ21l
bnRhdGlvbl9kYXRhKSBjb25zdCB7Ci0gIGlmICghY3BpXy0+Y3ljbGljX3JlZnJlc2gtPmFwcGx5
X2N5Y2xpY19yZWZyZXNoKSByZXR1cm4gZmFsc2U7Ci0KLSAgc2VnbWVudGF0aW9uX2RhdGEtPnNl
Z21lbnRhdGlvbl9tYXAgPSBjcGlfLT5zZWdtZW50YXRpb25fbWFwOwotICBzZWdtZW50YXRpb25f
ZGF0YS0+c2VnbWVudGF0aW9uX21hcF9zaXplID0KLSAgICAgIGNwaV8tPmNvbW1vbi5taV9jb2xz
ICogY3BpXy0+Y29tbW9uLm1pX3Jvd3M7Ci0gIHNlZ21lbnRhdGlvbl9kYXRhLT5kZWx0YV9xID0g
Y3BpXy0+Y3ljbGljX3JlZnJlc2gtPnFpbmRleF9kZWx0YTsKLSAgc2VnbWVudGF0aW9uX2RhdGEt
PmRlbHRhX3Ffc2l6ZSA9IDN1OwotICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBWUDlSYXRlQ29u
dHJvbFJUQzo6UG9zdEVuY29kZVVwZGF0ZSgKLSAgICB1aW50NjRfdCBlbmNvZGVkX2ZyYW1lX3Np
emUsIGNvbnN0IFZQOUZyYW1lUGFyYW1zUXBSVEMgJmZyYW1lX3BhcmFtcykgewotICBjcGlfLT5j
b21tb24uZnJhbWVfdHlwZSA9IHN0YXRpY19jYXN0PEZSQU1FX1RZUEU+KGZyYW1lX3BhcmFtcy5m
cmFtZV90eXBlKTsKLSAgY3BpXy0+c3ZjLnNwYXRpYWxfbGF5ZXJfaWQgPSBmcmFtZV9wYXJhbXMu
c3BhdGlhbF9sYXllcl9pZDsKLSAgY3BpXy0+c3ZjLnRlbXBvcmFsX2xheWVyX2lkID0gZnJhbWVf
cGFyYW1zLnRlbXBvcmFsX2xheWVyX2lkOwotICBpZiAoY3BpXy0+c3ZjLm51bWJlcl9zcGF0aWFs
X2xheWVycyA+IDEgfHwKLSAgICAgIGNwaV8tPnN2Yy5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzID4g
MSkgewotICAgIHZwOV9yZXN0b3JlX2xheWVyX2NvbnRleHQoY3BpXyk7Ci0gICAgY29uc3QgaW50
IGxheWVyID0gTEFZRVJfSURTX1RPX0lEWChjcGlfLT5zdmMuc3BhdGlhbF9sYXllcl9pZCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwaV8tPnN2Yy50ZW1wb3JhbF9s
YXllcl9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwaV8tPnN2
Yy5udW1iZXJfdGVtcG9yYWxfbGF5ZXJzKTsKLSAgICBMQVlFUl9DT05URVhUICpsYyA9ICZjcGlf
LT5zdmMubGF5ZXJfY29udGV4dFtsYXllcl07Ci0gICAgY3BpXy0+Y29tbW9uLmJhc2VfcWluZGV4
ID0gbGMtPmZyYW1lX3FwOwotICAgIGNwaV8tPmNvbW1vbi5NQnMgPSBsYy0+TUJzOwotICAgIC8v
IEZvciBzcGF0aWFsLXN2YywgYWxsb3cgY3ljbGljLXJlZnJlc2ggdG8gYmUgYXBwbGllZCBvbiB0
aGUgc3BhdGlhbAotICAgIC8vIGxheWVycywgZm9yIHRoZSBiYXNlIHRlbXBvcmFsIGxheWVyLgot
ICAgIGlmIChjcGlfLT5veGNmLmFxX21vZGUgPT0gQ1lDTElDX1JFRlJFU0hfQVEgJiYKLSAgICAg
ICAgY3BpXy0+c3ZjLm51bWJlcl9zcGF0aWFsX2xheWVycyA+IDEgJiYKLSAgICAgICAgY3BpXy0+
c3ZjLnRlbXBvcmFsX2xheWVyX2lkID09IDApIHsKLSAgICAgIENZQ0xJQ19SRUZSRVNIICpjb25z
dCBjciA9IGNwaV8tPmN5Y2xpY19yZWZyZXNoOwotICAgICAgY3ItPnFpbmRleF9kZWx0YVswXSA9
IGxjLT5xaW5kZXhfZGVsdGFbMF07Ci0gICAgICBjci0+cWluZGV4X2RlbHRhWzFdID0gbGMtPnFp
bmRleF9kZWx0YVsxXTsKLSAgICAgIGNyLT5xaW5kZXhfZGVsdGFbMl0gPSBsYy0+cWluZGV4X2Rl
bHRhWzJdOwotICAgIH0KLSAgfQordm9pZCBWUDlSYXRlQ29udHJvbFJUQzo6UG9zdEVuY29kZVVw
ZGF0ZSh1aW50NjRfdCBlbmNvZGVkX2ZyYW1lX3NpemUpIHsKICAgdnA5X3JjX3Bvc3RlbmNvZGVf
dXBkYXRlKGNwaV8sIGVuY29kZWRfZnJhbWVfc2l6ZSk7CiAgIGlmIChjcGlfLT5zdmMubnVtYmVy
X3NwYXRpYWxfbGF5ZXJzID4gMSB8fAogICAgICAgY3BpXy0+c3ZjLm51bWJlcl90ZW1wb3JhbF9s
YXllcnMgPiAxKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZwOS9yYXRlY3RybF9ydGMuaAppbmRleCBkMzg3NmRlODc1YzQuLjcyZWE0MGZk
NjhiYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmgKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cDkvcmF0ZWN0cmxfcnRjLmgKQEAgLTE0LDkzICsxNCwxMDEgQEAKICNpbmNsdWRl
IDxjc3RkaW50PgogI2luY2x1ZGUgPG1lbW9yeT4KIAorI2luY2x1ZGUgInZwOS9jb21tb24vdnA5
X2VudHJvcHltb2RlLmgiCiAjaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfZW51bXMuaCIKKyNpbmNs
dWRlICJ2cDkvY29tbW9uL3ZwOV9vbnl4Y19pbnQuaCIKICNpbmNsdWRlICJ2cDkvdnA5X2lmYWNl
X2NvbW1vbi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9hcV9jeWNsaWNyZWZyZXNoLmgi
CisjaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2VuY29kZXIuaCIKKyNpbmNsdWRlICJ2cDkvZW5j
b2Rlci92cDlfZmlyc3RwYXNzLmgiCiAjaW5jbHVkZSAidnA5L3ZwOV9jeF9pZmFjZS5oIgotI2lu
Y2x1ZGUgInZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgiCiAjaW5jbHVkZSAidnB4X21l
bS92cHhfbWVtLmgiCiAKLXN0cnVjdCBWUDlfQ09NUDsKLQogbmFtZXNwYWNlIGxpYnZweCB7Ci1z
dHJ1Y3QgVlA5UmF0ZUNvbnRyb2xSdGNDb25maWcgOiBwdWJsaWMgVnB4UmF0ZUNvbnRyb2xSdGND
b25maWcgewotIHB1YmxpYzoKLSAgVlA5UmF0ZUNvbnRyb2xSdGNDb25maWcoKSB7Ci0gICAgc3Nf
bnVtYmVyX2xheWVycyA9IDE7Ci0gICAgdnA5X3plcm8obWF4X3F1YW50aXplcnMpOwotICAgIHZw
OV96ZXJvKG1pbl9xdWFudGl6ZXJzKTsKLSAgICB2cDlfemVybyhzY2FsaW5nX2ZhY3Rvcl9kZW4p
OwotICAgIHZwOV96ZXJvKHNjYWxpbmdfZmFjdG9yX251bSk7Ci0gICAgdnA5X3plcm8obGF5ZXJf
dGFyZ2V0X2JpdHJhdGUpOwotICAgIHZwOV96ZXJvKHRzX3JhdGVfZGVjaW1hdG9yKTsKLSAgICBz
Y2FsaW5nX2ZhY3Rvcl9udW1bMF0gPSAxOwotICAgIHNjYWxpbmdfZmFjdG9yX2RlblswXSA9IDE7
Ci0gICAgbWF4X3F1YW50aXplcnNbMF0gPSBtYXhfcXVhbnRpemVyOwotICAgIG1pbl9xdWFudGl6
ZXJzWzBdID0gbWluX3F1YW50aXplcjsKLSAgfQogCitzdHJ1Y3QgVlA5UmF0ZUNvbnRyb2xSdGND
b25maWcgeworICBpbnQgd2lkdGg7CisgIGludCBoZWlnaHQ7CisgIC8vIDAtNjMKKyAgaW50IG1h
eF9xdWFudGl6ZXI7CisgIGludCBtaW5fcXVhbnRpemVyOworICBpbnQ2NF90IHRhcmdldF9iYW5k
d2lkdGg7CisgIGludDY0X3QgYnVmX2luaXRpYWxfc3o7CisgIGludDY0X3QgYnVmX29wdGltYWxf
c3o7CisgIGludDY0X3QgYnVmX3N6OworICBpbnQgdW5kZXJzaG9vdF9wY3Q7CisgIGludCBvdmVy
c2hvb3RfcGN0OworICBpbnQgbWF4X2ludHJhX2JpdHJhdGVfcGN0OworICBkb3VibGUgZnJhbWVy
YXRlOwogICAvLyBOdW1iZXIgb2Ygc3BhdGlhbCBsYXllcnMKICAgaW50IHNzX251bWJlcl9sYXll
cnM7CisgIC8vIE51bWJlciBvZiB0ZW1wb3JhbCBsYXllcnMKKyAgaW50IHRzX251bWJlcl9sYXll
cnM7CiAgIGludCBtYXhfcXVhbnRpemVyc1tWUFhfTUFYX0xBWUVSU107CiAgIGludCBtaW5fcXVh
bnRpemVyc1tWUFhfTUFYX0xBWUVSU107CiAgIGludCBzY2FsaW5nX2ZhY3Rvcl9udW1bVlBYX1NT
X01BWF9MQVlFUlNdOwogICBpbnQgc2NhbGluZ19mYWN0b3JfZGVuW1ZQWF9TU19NQVhfTEFZRVJT
XTsKKyAgaW50IGxheWVyX3RhcmdldF9iaXRyYXRlW1ZQWF9NQVhfTEFZRVJTXTsKKyAgaW50IHRz
X3JhdGVfZGVjaW1hdG9yW1ZQWF9UU19NQVhfTEFZRVJTXTsKIH07CiAKIHN0cnVjdCBWUDlGcmFt
ZVBhcmFtc1FwUlRDIHsKLSAgUmNGcmFtZVR5cGUgZnJhbWVfdHlwZTsKKyAgRlJBTUVfVFlQRSBm
cmFtZV90eXBlOwogICBpbnQgc3BhdGlhbF9sYXllcl9pZDsKICAgaW50IHRlbXBvcmFsX2xheWVy
X2lkOwogfTsKIAotc3RydWN0IFZQOVNlZ21lbnRhdGlvbkRhdGEgewotICBjb25zdCB1aW50OF90
ICpzZWdtZW50YXRpb25fbWFwOwotICBzaXplX3Qgc2VnbWVudGF0aW9uX21hcF9zaXplOwotICBj
b25zdCBpbnQgKmRlbHRhX3E7Ci0gIHNpemVfdCBkZWx0YV9xX3NpemU7Ci19OwotCiAvLyBUaGlz
IGludGVyZmFjZSBhbGxvd3MgdXNpbmcgVlA5IHJlYWwtdGltZSByYXRlIGNvbnRyb2wgd2l0aG91
dCBpbml0aWFsaXppbmcKLS8vIHRoZSBlbmNvZGVyLiBUbyB1c2UgdGhpcyBpbnRlcmZhY2UsIHlv
dSBuZWVkIHRvIGxpbmsgd2l0aCBsaWJ2cHhyYy5hLgorLy8gdGhlIGVuY29kZXIuIFRvIHVzZSB0
aGlzIGludGVyZmFjZSwgeW91IG5lZWQgdG8gbGluayB3aXRoIGxpYnZwOXJjLmEuCiAvLwogLy8g
I2luY2x1ZGUgInZwOS9yYXRlY3RybF9ydGMuaCIKKy8vIFZQOVJhdGVDb250cm9sUlRDIHJjX2Fw
aTsKIC8vIFZQOVJhdGVDb250cm9sUnRjQ29uZmlnIGNmZzsKIC8vIFZQOUZyYW1lUGFyYW1zUXBS
VEMgZnJhbWVfcGFyYW1zOwogLy8KIC8vIFlvdXJGdW5jdGlvblRvSW5pdGlhbGl6ZUNvbmZpZyhj
ZmcpOwotLy8gc3RkOjp1bmlxdWVfcHRyPFZQOVJhdGVDb250cm9sUlRDPiByY19hcGkgPSBWUDlS
YXRlQ29udHJvbFJUQzo6Q3JlYXRlKGNmZyk7CisvLyByY19hcGkuSW5pdFJhdGVDb250cm9sKGNm
Zyk7CiAvLyAvLyBzdGFydCBlbmNvZGluZwogLy8gd2hpbGUgKGZyYW1lX3RvX2VuY29kZSkgewog
Ly8gICBpZiAoY29uZmlnX2NoYW5nZWQpCi0vLyAgICAgcmNfYXBpLT5VcGRhdGVSYXRlQ29udHJv
bChjZmcpOworLy8gICAgIHJjX2FwaS5VcGRhdGVSYXRlQ29udHJvbChjZmcpOwogLy8gICBZb3Vy
RnVuY3Rpb25Ub0ZpbGxGcmFtZVBhcmFtcyhmcmFtZV9wYXJhbXMpOwotLy8gICByY19hcGktPkNv
bXB1dGVRUChmcmFtZV9wYXJhbXMpOwotLy8gICBZb3VyRnVuY3Rpb25Ub1VzZVFQKHJjX2FwaS0+
R2V0UVAoKSk7Ci0vLyAgIFlvdXJGdW5jdGlvblRvVXNlTG9vcGZpbHRlcihyY19hcGktPkdldExv
b3BmaWx0ZXJMZXZlbCgpKTsKKy8vICAgcmNfYXBpLkNvbXB1dGVRUChmcmFtZV9wYXJhbXMpOwor
Ly8gICBZb3VyRnVuY3Rpb25Ub1VzZVFQKHJjX2FwaS5HZXRRUCgpKTsKKy8vICAgWW91ckZ1bmN0
aW9uVG9Vc2VMb29wZmlsdGVyKHJjX2FwaS5HZXRMb29wZmlsdGVyTGV2ZWwoKSk7CiAvLyAgIC8v
IEFmdGVyIGVuY29kaW5nCi0vLyAgIHJjX2FwaS0+UG9zdEVuY29kZShlbmNvZGVkX2ZyYW1lX3Np
emUsIGZyYW1lX3BhcmFtcyk7CisvLyAgIHJjX2FwaS5Qb3N0RW5jb2RlKGVuY29kZWRfZnJhbWVf
c2l6ZSk7CiAvLyB9CiBjbGFzcyBWUDlSYXRlQ29udHJvbFJUQyB7CiAgcHVibGljOgogICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPFZQOVJhdGVDb250cm9sUlRDPiBDcmVhdGUoCiAgICAgICBjb25z
dCBWUDlSYXRlQ29udHJvbFJ0Y0NvbmZpZyAmY2ZnKTsKLSAgflZQOVJhdGVDb250cm9sUlRDKCk7
CisgIH5WUDlSYXRlQ29udHJvbFJUQygpIHsKKyAgICBpZiAoY3BpXykgeworICAgICAgZm9yIChp
bnQgc2wgPSAwOyBzbCA8IGNwaV8tPnN2Yy5udW1iZXJfc3BhdGlhbF9sYXllcnM7IHNsKyspIHsK
KyAgICAgICAgZm9yIChpbnQgdGwgPSAwOyB0bCA8IGNwaV8tPnN2Yy5udW1iZXJfdGVtcG9yYWxf
bGF5ZXJzOyB0bCsrKSB7CisgICAgICAgICAgaW50IGxheWVyID0gTEFZRVJfSURTX1RPX0lEWChz
bCwgdGwsIGNwaV8tPm94Y2YudHNfbnVtYmVyX2xheWVycyk7CisgICAgICAgICAgTEFZRVJfQ09O
VEVYVCAqY29uc3QgbGMgPSAmY3BpXy0+c3ZjLmxheWVyX2NvbnRleHRbbGF5ZXJdOworICAgICAg
ICAgIHZweF9mcmVlKGxjLT5tYXApOworICAgICAgICAgIHZweF9mcmVlKGxjLT5sYXN0X2NvZGVk
X3FfbWFwKTsKKyAgICAgICAgICB2cHhfZnJlZShsYy0+Y29uc2VjX3plcm9fbXYpOworICAgICAg
ICB9CisgICAgICB9CisgICAgICB2cHhfZnJlZShjcGlfKTsKKyAgICB9CisgIH0KIAotICBib29s
IFVwZGF0ZVJhdGVDb250cm9sKGNvbnN0IFZQOVJhdGVDb250cm9sUnRjQ29uZmlnICZyY19jZmcp
OworICB2b2lkIFVwZGF0ZVJhdGVDb250cm9sKGNvbnN0IFZQOVJhdGVDb250cm9sUnRjQ29uZmln
ICZyY19jZmcpOwogICAvLyBHZXRRUCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBhZnRlciBDb21wdXRl
UVAoKSB0byBnZXQgdGhlIGxhdGVzdCBRUAogICBpbnQgR2V0UVAoKSBjb25zdDsKICAgaW50IEdl
dExvb3BmaWx0ZXJMZXZlbCgpIGNvbnN0OwotICBib29sIEdldFNlZ21lbnRhdGlvbkRhdGEoVlA5
U2VnbWVudGF0aW9uRGF0YSAqc2VnbWVudGF0aW9uX2RhdGEpIGNvbnN0OwogICB2b2lkIENvbXB1
dGVRUChjb25zdCBWUDlGcmFtZVBhcmFtc1FwUlRDICZmcmFtZV9wYXJhbXMpOwogICAvLyBGZWVk
YmFjayB0byByYXRlIGNvbnRyb2wgd2l0aCB0aGUgc2l6ZSBvZiBjdXJyZW50IGVuY29kZWQgZnJh
bWUKLSAgdm9pZCBQb3N0RW5jb2RlVXBkYXRlKHVpbnQ2NF90IGVuY29kZWRfZnJhbWVfc2l6ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZQOUZyYW1lUGFyYW1zUXBSVEMgJmZyYW1l
X3BhcmFtcyk7CisgIHZvaWQgUG9zdEVuY29kZVVwZGF0ZSh1aW50NjRfdCBlbmNvZGVkX2ZyYW1l
X3NpemUpOwogCiAgcHJpdmF0ZToKICAgVlA5UmF0ZUNvbnRyb2xSVEMoKSB7fQotICBib29sIElu
aXRSYXRlQ29udHJvbChjb25zdCBWUDlSYXRlQ29udHJvbFJ0Y0NvbmZpZyAmY2ZnKTsKLSAgc3Ry
dWN0IFZQOV9DT01QICpjcGlfOworICB2b2lkIEluaXRSYXRlQ29udHJvbChjb25zdCBWUDlSYXRl
Q29udHJvbFJ0Y0NvbmZpZyAmY2ZnKTsKKyAgVlA5X0NPTVAgKmNwaV87CiB9OwogCiB9ICAvLyBu
YW1lc3BhY2UgbGlidnB4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9zaW1wbGVfZW5jb2Rl
LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvc2ltcGxlX2VuY29kZS5jYwppbmRleCAyZTZmOWE0NTEzYWIu
LmQ0ZWIwYzY2OWQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvc2ltcGxlX2VuY29kZS5j
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZwOS9zaW1wbGVfZW5jb2RlLmNjCkBAIC0xMTAsNyArMTEwLDYg
QEAgc3RhdGljIFZQOV9DT01QICppbml0X2VuY29kZXIoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAq
b3hjZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9pbWdfZm10X3QgaW1nX2Zt
dCkgewogICBWUDlfQ09NUCAqY3BpOwogICBCdWZmZXJQb29sICpidWZmZXJfcG9vbCA9IChCdWZm
ZXJQb29sICopdnB4X2NhbGxvYygxLCBzaXplb2YoKmJ1ZmZlcl9wb29sKSk7Ci0gIGlmICghYnVm
ZmVyX3Bvb2wpIHJldHVybiBOVUxMOwogICB2cDlfaW5pdGlhbGl6ZV9lbmMoKTsKICAgY3BpID0g
dnA5X2NyZWF0ZV9jb21wcmVzc29yKG94Y2YsIGJ1ZmZlcl9wb29sKTsKICAgdnA5X3VwZGF0ZV9j
b21wcmVzc29yX3dpdGhfaW1nX2ZtdChjcGksIGltZ19mbXQpOwpAQCAtMTQzLDYgKzE0Miw3IEBA
IGdldF9mcmFtZV90eXBlX2Zyb21fdXBkYXRlX3R5cGUoRlJBTUVfVVBEQVRFX1RZUEUgdXBkYXRl
X3R5cGUpIHsKICAgICBkZWZhdWx0OgogICAgICAgZnByaW50ZihzdGRlcnIsICJVbnN1cHBvcnRl
ZCB1cGRhdGVfdHlwZSAlZFxuIiwgdXBkYXRlX3R5cGUpOwogICAgICAgYWJvcnQoKTsKKyAgICAg
IHJldHVybiBrRnJhbWVUeXBlSW50ZXI7CiAgIH0KIH0KIApAQCAtMTgyLDExICsxODIsMTAgQEAg
c3RhdGljIHZvaWQgdXBkYXRlX21vdGlvbl92ZWN0b3JfaW5mbygKICAgICBjb25zdCBNVl9SRUZF
UkVOQ0VfRlJBTUUgKmluX3JlZl9mcmFtZSA9CiAgICAgICAgIGlucHV0X21vdGlvbl92ZWN0b3Jf
aW5mb1tpXS5yZWZfZnJhbWU7CiAgICAgb3V0cHV0X21vdGlvbl92ZWN0b3JfaW5mb1tpXS5tdl9j
b3VudCA9Ci0gICAgICAgIChpbl9yZWZfZnJhbWVbMF0gPT0gSU5UUkFfRlJBTUUpCi0gICAgICAg
ICAgICA/IDAKLSAgICAgICAgICAgIDogKChpbl9yZWZfZnJhbWVbMV0gPT0gTk9fUkVGX0ZSQU1F
KSA/IDEgOiAyKTsKLSAgICBpZiAoaW5fcmVmX2ZyYW1lWzBdID09IE5PX1JFRl9GUkFNRSkgewot
ICAgICAgZnByaW50ZihzdGRlcnIsICJpbl9yZWZfZnJhbWVbMF0gc2hvdWxkbid0IGJlIE5PX1JF
Rl9GUkFNRVxuIik7CisgICAgICAgIChpbl9yZWZfZnJhbWVbMF0gPT0gSU5UUkFfRlJBTUUpID8g
MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICgoaW5fcmVmX2Zy
YW1lWzFdID09IE5PTkUpID8gMSA6IDIpOworICAgIGlmIChpbl9yZWZfZnJhbWVbMF0gPT0gTk9O
RSkgeworICAgICAgZnByaW50ZihzdGRlcnIsICJpbl9yZWZfZnJhbWVbMF0gc2hvdWxkbid0IGJl
IE5PTkVcbiIpOwogICAgICAgYWJvcnQoKTsKICAgICB9CiAgICAgb3V0cHV0X21vdGlvbl92ZWN0
b3JfaW5mb1tpXS5yZWZfZnJhbWVbMF0gPQpAQCAtNzQ0LDEyICs3NDMsMTAgQEAgc3RhdGljIHZv
aWQgVXBkYXRlR3JvdXBPZlBpY3R1cmUoY29uc3QgVlA5X0NPTVAgKmNwaSwgaW50IHN0YXJ0X2Nv
ZGluZ19pbmRleCwKIH0KIAogI2RlZmluZSBTRVRfU1RSVUNUX1ZBTFVFKGNvbmZpZywgc3RydWN0
dXJlLCByZXQsIGZpZWxkKSBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoc3RyY21wKGNvbmZpZy5uYW1lLCAjZmllbGQp
ID09IDApIHsgICAgICAgICAgICAgXAotICAgICAgc3RydWN0dXJlLT5maWVsZCA9IGF0b2koY29u
ZmlnLnZhbHVlKTsgICAgICAgICAgICBcCi0gICAgICByZXQgPSAxOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9IHdoaWxlIChmYWxzZSkKKyAgaWYgKHN0
cmNtcChjb25maWcubmFtZSwgI2ZpZWxkKSA9PSAwKSB7ICAgICAgICAgICAgICAgXAorICAgIHN0
cnVjdHVyZS0+ZmllbGQgPSBhdG9pKGNvbmZpZy52YWx1ZSk7ICAgICAgICAgICAgICBcCisgICAg
cmV0ID0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
fQogCiBzdGF0aWMgdm9pZCBVcGRhdGVFbmNvZGVDb25maWcoY29uc3QgRW5jb2RlQ29uZmlnICZj
b25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlA5RW5jb2RlckNvbmZpZyAq
b3hjZikgewpAQCAtNzg1LDI1ICs3ODIsMjMgQEAgc3RhdGljIHZvaWQgVXBkYXRlRW5jb2RlQ29u
ZmlnKGNvbnN0IEVuY29kZUNvbmZpZyAmY29uZmlnLAogCiBzdGF0aWMgVlA5RW5jb2RlckNvbmZp
ZyBHZXRFbmNvZGVDb25maWcoCiAgICAgaW50IGZyYW1lX3dpZHRoLCBpbnQgZnJhbWVfaGVpZ2h0
LCB2cHhfcmF0aW9uYWxfdCBmcmFtZV9yYXRlLAotICAgIGludCB0YXJnZXRfYml0cmF0ZSwgaW50
IGVuY29kZV9zcGVlZCwgaW50IHRhcmdldF9sZXZlbCwKLSAgICB2cHhfZW5jX3Bhc3MgZW5jX3Bh
c3MsCisgICAgaW50IHRhcmdldF9iaXRyYXRlLCBpbnQgZW5jb2RlX3NwZWVkLCB2cHhfZW5jX3Bh
c3MgZW5jX3Bhc3MsCiAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8RW5jb2RlQ29uZmlnPiAmZW5jb2Rl
X2NvbmZpZ19saXN0KSB7Ci0gIFZQOUVuY29kZXJDb25maWcgb3hjZiA9IHZwOV9nZXRfZW5jb2Rl
cl9jb25maWcoCi0gICAgICBmcmFtZV93aWR0aCwgZnJhbWVfaGVpZ2h0LCBmcmFtZV9yYXRlLCB0
YXJnZXRfYml0cmF0ZSwgZW5jb2RlX3NwZWVkLAotICAgICAgdGFyZ2V0X2xldmVsLCBlbmNfcGFz
cyk7CisgIFZQOUVuY29kZXJDb25maWcgb3hjZiA9CisgICAgICB2cDlfZ2V0X2VuY29kZXJfY29u
ZmlnKGZyYW1lX3dpZHRoLCBmcmFtZV9oZWlnaHQsIGZyYW1lX3JhdGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRhcmdldF9iaXRyYXRlLCBlbmNvZGVfc3BlZWQsIGVuY19wYXNzKTsK
ICAgZm9yIChjb25zdCBhdXRvICZjb25maWcgOiBlbmNvZGVfY29uZmlnX2xpc3QpIHsKICAgICBV
cGRhdGVFbmNvZGVDb25maWcoY29uZmlnLCAmb3hjZik7CiAgIH0KICAgaWYgKGVuY19wYXNzID09
IFZQWF9SQ19GSVJTVF9QQVNTKSB7CiAgICAgb3hjZi5sYWdfaW5fZnJhbWVzID0gMDsKICAgfQot
ICBveGNmLnVzZV9zaW1wbGVfZW5jb2RlX2FwaSA9IDE7CiAgIHJldHVybiBveGNmOwogfQogCiBT
aW1wbGVFbmNvZGU6OlNpbXBsZUVuY29kZShpbnQgZnJhbWVfd2lkdGgsIGludCBmcmFtZV9oZWln
aHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJhbWVfcmF0ZV9udW0sIGludCBm
cmFtZV9yYXRlX2RlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0YXJnZXRfYml0
cmF0ZSwgaW50IG51bV9mcmFtZXMsIGludCB0YXJnZXRfbGV2ZWwsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgdGFyZ2V0X2JpdHJhdGUsIGludCBudW1fZnJhbWVzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW5maWxlX3BhdGgsIGNvbnN0IGNoYXIgKm91
dGZpbGVfcGF0aCkgewogICBpbXBsX3B0cl8gPSBzdGQ6OnVuaXF1ZV9wdHI8RW5jb2RlSW1wbD4o
bmV3IEVuY29kZUltcGwoKSk7CiAgIGZyYW1lX3dpZHRoXyA9IGZyYW1lX3dpZHRoOwpAQCAtODEz
LDcgKzgwOCw2IEBAIFNpbXBsZUVuY29kZTo6U2ltcGxlRW5jb2RlKGludCBmcmFtZV93aWR0aCwg
aW50IGZyYW1lX2hlaWdodCwKICAgdGFyZ2V0X2JpdHJhdGVfID0gdGFyZ2V0X2JpdHJhdGU7CiAg
IG51bV9mcmFtZXNfID0gbnVtX2ZyYW1lczsKICAgZW5jb2RlX3NwZWVkXyA9IDA7Ci0gIHRhcmdl
dF9sZXZlbF8gPSB0YXJnZXRfbGV2ZWw7CiAKICAgZnJhbWVfY29kaW5nX2luZGV4XyA9IDA7CiAg
IHNob3dfZnJhbWVfY291bnRfID0gMDsKQEAgLTg2NSw5ICs4NTksOSBAQCBTdGF0dXNDb2RlIFNp
bXBsZUVuY29kZTo6RHVtcEVuY29kZUNvbmZpZ3MoaW50IHBhc3MsIEZJTEUgKmZwKSB7CiAgIH0K
ICAgY29uc3QgdnB4X3JhdGlvbmFsX3QgZnJhbWVfcmF0ZSA9CiAgICAgICBtYWtlX3ZweF9yYXRp
b25hbChmcmFtZV9yYXRlX251bV8sIGZyYW1lX3JhdGVfZGVuXyk7Ci0gIGNvbnN0IFZQOUVuY29k
ZXJDb25maWcgb3hjZiA9IEdldEVuY29kZUNvbmZpZygKLSAgICAgIGZyYW1lX3dpZHRoXywgZnJh
bWVfaGVpZ2h0XywgZnJhbWVfcmF0ZSwgdGFyZ2V0X2JpdHJhdGVfLCBlbmNvZGVfc3BlZWRfLAot
ICAgICAgdGFyZ2V0X2xldmVsXywgZW5jX3Bhc3MsIGltcGxfcHRyXy0+ZW5jb2RlX2NvbmZpZ19s
aXN0KTsKKyAgY29uc3QgVlA5RW5jb2RlckNvbmZpZyBveGNmID0KKyAgICAgIEdldEVuY29kZUNv
bmZpZyhmcmFtZV93aWR0aF8sIGZyYW1lX2hlaWdodF8sIGZyYW1lX3JhdGUsIHRhcmdldF9iaXRy
YXRlXywKKyAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVfc3BlZWRfLCBlbmNfcGFzcywgaW1w
bF9wdHJfLT5lbmNvZGVfY29uZmlnX2xpc3QpOwogICB2cDlfZHVtcF9lbmNvZGVyX2NvbmZpZygm
b3hjZiwgZnApOwogICByZXR1cm4gU3RhdHVzT2s7CiB9CkBAIC04NzcsMTUgKzg3MSwxNSBAQCB2
b2lkIFNpbXBsZUVuY29kZTo6Q29tcHV0ZUZpcnN0UGFzc1N0YXRzKCkgewogICAgICAgbWFrZV92
cHhfcmF0aW9uYWwoZnJhbWVfcmF0ZV9udW1fLCBmcmFtZV9yYXRlX2Rlbl8pOwogICBjb25zdCBW
UDlFbmNvZGVyQ29uZmlnIG94Y2YgPSBHZXRFbmNvZGVDb25maWcoCiAgICAgICBmcmFtZV93aWR0
aF8sIGZyYW1lX2hlaWdodF8sIGZyYW1lX3JhdGUsIHRhcmdldF9iaXRyYXRlXywgZW5jb2RlX3Nw
ZWVkXywKLSAgICAgIHRhcmdldF9sZXZlbF8sIFZQWF9SQ19GSVJTVF9QQVNTLCBpbXBsX3B0cl8t
PmVuY29kZV9jb25maWdfbGlzdCk7Ci0gIGltcGxfcHRyXy0+Y3BpID0gaW5pdF9lbmNvZGVyKCZv
eGNmLCBpbXBsX3B0cl8tPmltZ19mbXQpOwotICBzdHJ1Y3QgbG9va2FoZWFkX2N0eCAqbG9va2Fo
ZWFkID0gaW1wbF9wdHJfLT5jcGktPmxvb2thaGVhZDsKKyAgICAgIFZQWF9SQ19GSVJTVF9QQVNT
LCBpbXBsX3B0cl8tPmVuY29kZV9jb25maWdfbGlzdCk7CisgIFZQOV9DT01QICpjcGkgPSBpbml0
X2VuY29kZXIoJm94Y2YsIGltcGxfcHRyXy0+aW1nX2ZtdCk7CisgIHN0cnVjdCBsb29rYWhlYWRf
Y3R4ICpsb29rYWhlYWQgPSBjcGktPmxvb2thaGVhZDsKICAgaW50IGk7CiAgIGludCB1c2VfaGln
aGJpdGRlcHRoID0gMDsKICAgY29uc3QgaW50IG51bV9yb3dzXzE2eDE2ID0gZ2V0X251bV91bml0
XzE2eDE2KGZyYW1lX2hlaWdodF8pOwogICBjb25zdCBpbnQgbnVtX2NvbHNfMTZ4MTYgPSBnZXRf
bnVtX3VuaXRfMTZ4MTYoZnJhbWVfd2lkdGhfKTsKICNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBU
SAotICB1c2VfaGlnaGJpdGRlcHRoID0gaW1wbF9wdHJfLT5jcGktPmNvbW1vbi51c2VfaGlnaGJp
dGRlcHRoOworICB1c2VfaGlnaGJpdGRlcHRoID0gY3BpLT5jb21tb24udXNlX2hpZ2hiaXRkZXB0
aDsKICNlbmRpZgogICB2cHhfaW1hZ2VfdCBpbWc7CiAgIHZweF9pbWdfYWxsb2MoJmltZywgaW1w
bF9wdHJfLT5pbWdfZm10LCBmcmFtZV93aWR0aF8sIGZyYW1lX2hlaWdodF8sIDEpOwpAQCAtOTEx
LDM1ICs5MDUsMzAgQEAgdm9pZCBTaW1wbGVFbmNvZGU6OkNvbXB1dGVGaXJzdFBhc3NTdGF0cygp
IHsKICAgICAgICAgRU5DT0RFX0ZSQU1FX1JFU1VMVCBlbmNvZGVfZnJhbWVfaW5mbzsKICAgICAg
ICAgdnA5X2luaXRfZW5jb2RlX2ZyYW1lX3Jlc3VsdCgmZW5jb2RlX2ZyYW1lX2luZm8pOwogICAg
ICAgICAvLyBUT0RPKGFuZ2llYmlyZCk6IENhbGwgdnA5X2ZpcnN0X3Bhc3MgZGlyZWN0bHkKLSAg
ICAgICAgdnA5X2dldF9jb21wcmVzc2VkX2RhdGEoaW1wbF9wdHJfLT5jcGksICZmcmFtZV9mbGFn
cywgJnNpemUsIG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0aW1l
X3N0YW1wLCAmdGltZV9lbmQsIGZsdXNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmZW5jb2RlX2ZyYW1lX2luZm8pOworICAgICAgICB2cDlfZ2V0X2NvbXByZXNzZWRfZGF0YShj
cGksICZmcmFtZV9mbGFncywgJnNpemUsIG51bGxwdHIsICZ0aW1lX3N0YW1wLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmdGltZV9lbmQsIGZsdXNoLCAmZW5jb2RlX2ZyYW1lX2lu
Zm8pOwogICAgICAgICAvLyB2cDlfZ2V0X2NvbXByZXNzZWRfZGF0YSBvbmx5IGdlbmVyYXRlcyBm
aXJzdCBwYXNzIHN0YXRzIG5vdAogICAgICAgICAvLyBjb21wcmVzc2VzIGRhdGEKICAgICAgICAg
YXNzZXJ0KHNpemUgPT0gMCk7CiAgICAgICAgIC8vIEdldCB2cDkgZmlyc3QgcGFzcyBtb3Rpb24g
dmVjdG9yIGluZm8uCiAgICAgICAgIHN0ZDo6dmVjdG9yPE1vdGlvblZlY3RvckluZm8+IG12X2lu
Zm8obnVtX3Jvd3NfMTZ4MTYgKiBudW1fY29sc18xNngxNik7Ci0gICAgICAgIHVwZGF0ZV9tb3Rp
b25fdmVjdG9yX2luZm8oCi0gICAgICAgICAgICBpbXBsX3B0cl8tPmNwaS0+ZnBfbW90aW9uX3Zl
Y3Rvcl9pbmZvLCBudW1fcm93c18xNngxNiwKLSAgICAgICAgICAgIG51bV9jb2xzXzE2eDE2LCBt
dl9pbmZvLmRhdGEoKSwga01vdGlvblZlY3RvckZ1bGxQaXhlbFByZWNpc2lvbik7CisgICAgICAg
IHVwZGF0ZV9tb3Rpb25fdmVjdG9yX2luZm8oY3BpLT5mcF9tb3Rpb25fdmVjdG9yX2luZm8sIG51
bV9yb3dzXzE2eDE2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bV9jb2xz
XzE2eDE2LCBtdl9pbmZvLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrTW90aW9uVmVjdG9yRnVsbFBpeGVsUHJlY2lzaW9uKTsKICAgICAgICAgZnBfbW90aW9uX3Zl
Y3Rvcl9pbmZvXy5wdXNoX2JhY2sobXZfaW5mbyk7CiAgICAgICB9Ci0gICAgICBpbXBsX3B0cl8t
PmZpcnN0X3Bhc3Nfc3RhdHMucHVzaF9iYWNrKAotICAgICAgICAgIHZwOV9nZXRfZnJhbWVfc3Rh
dHMoJmltcGxfcHRyXy0+Y3BpLT50d29wYXNzKSk7CisgICAgICBpbXBsX3B0cl8tPmZpcnN0X3Bh
c3Nfc3RhdHMucHVzaF9iYWNrKHZwOV9nZXRfZnJhbWVfc3RhdHMoJmNwaS0+dHdvcGFzcykpOwog
ICAgIH0KICAgfQorICB2cDlfZW5kX2ZpcnN0X3Bhc3MoY3BpKTsKICAgLy8gVE9ETyhhbmdpZWJp
cmQpOiBTdG9yZSB0aGUgdG90YWxfc3RhdHMgYXBhcnQgZm9ybSBmaXJzdF9wYXNzX3N0YXRzCi0g
IGltcGxfcHRyXy0+Zmlyc3RfcGFzc19zdGF0cy5wdXNoX2JhY2soCi0gICAgICB2cDlfZ2V0X3Rv
dGFsX3N0YXRzKCZpbXBsX3B0cl8tPmNwaS0+dHdvcGFzcykpOwotICB2cDlfZW5kX2ZpcnN0X3Bh
c3MoaW1wbF9wdHJfLT5jcGkpOworICBpbXBsX3B0cl8tPmZpcnN0X3Bhc3Nfc3RhdHMucHVzaF9i
YWNrKHZwOV9nZXRfdG90YWxfc3RhdHMoJmNwaS0+dHdvcGFzcykpOworICBmcmVlX2VuY29kZXIo
Y3BpKTsKKyAgcmV3aW5kKGluX2ZpbGVfKTsKKyAgdnB4X2ltZ19mcmVlKCZpbWcpOwogCiAgIC8v
IEdlbmVyYXRlIGtleV9mcmFtZV9tYXAgYmFzZWQgb24gaW1wbF9wdHJfLT5maXJzdF9wYXNzX3N0
YXRzLgogICBrZXlfZnJhbWVfbWFwXyA9IENvbXB1dGVLZXlGcmFtZU1hcCgpOwotCi0gIGZyZWVf
ZW5jb2RlcihpbXBsX3B0cl8tPmNwaSk7Ci0gIGltcGxfcHRyXy0+Y3BpID0gbnVsbHB0cjsKLSAg
cmV3aW5kKGluX2ZpbGVfKTsKLSAgdnB4X2ltZ19mcmVlKCZpbWcpOwogfQogCiBzdGQ6OnZlY3Rv
cjxzdGQ6OnZlY3Rvcjxkb3VibGU+PiBTaW1wbGVFbmNvZGU6Ok9ic2VydmVGaXJzdFBhc3NTdGF0
cygpIHsKQEAgLTEwMTUsNyArMTAwNCw4IEBAIFQgKkdldFZlY3RvckRhdGEoY29uc3Qgc3RkOjp2
ZWN0b3I8VD4gJnYpIHsKIHN0YXRpYyBHT1BfQ09NTUFORCBHZXRHb3BDb21tYW5kKGNvbnN0IHN0
ZDo6dmVjdG9yPGludD4gJmdvcF9tYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RhcnRfc2hvd19pbmRleCkgewogICBHT1BfQ09NTUFORCBnb3BfY29tbWFuZDsKLSAg
aWYgKHN0YXRpY19jYXN0PHNpemVfdD4oc3RhcnRfc2hvd19pbmRleCkgPCBnb3BfbWFwLnNpemUo
KSkgeworICBpZiAoZ29wX21hcC5zaXplKCkgPiAwKSB7CisgICAgYXNzZXJ0KHN0YXRpY19jYXN0
PHNpemVfdD4oc3RhcnRfc2hvd19pbmRleCkgPCBnb3BfbWFwLnNpemUoKSk7CiAgICAgYXNzZXJ0
KChnb3BfbWFwW3N0YXJ0X3Nob3dfaW5kZXhdICYga0dvcE1hcEZsYWdTdGFydCkgIT0gMCk7CiAg
ICAgaW50IGVuZF9zaG93X2luZGV4ID0gc3RhcnRfc2hvd19pbmRleCArIDE7CiAgICAgLy8gZ29w
X21hcFtlbmRfc2hvd19pbmRleF0gJiBrR29wTWFwRmxhZ1N0YXJ0ID09IDAgbWVhbnMgdGhpcyBp
cwpAQCAtMTA0Myw3ICsxMDMzLDcgQEAgdm9pZCBTaW1wbGVFbmNvZGU6OlN0YXJ0RW5jb2RlKCkg
ewogICAgICAgbWFrZV92cHhfcmF0aW9uYWwoZnJhbWVfcmF0ZV9udW1fLCBmcmFtZV9yYXRlX2Rl
bl8pOwogICBWUDlFbmNvZGVyQ29uZmlnIG94Y2YgPSBHZXRFbmNvZGVDb25maWcoCiAgICAgICBm
cmFtZV93aWR0aF8sIGZyYW1lX2hlaWdodF8sIGZyYW1lX3JhdGUsIHRhcmdldF9iaXRyYXRlXywg
ZW5jb2RlX3NwZWVkXywKLSAgICAgIHRhcmdldF9sZXZlbF8sIFZQWF9SQ19MQVNUX1BBU1MsIGlt
cGxfcHRyXy0+ZW5jb2RlX2NvbmZpZ19saXN0KTsKKyAgICAgIFZQWF9SQ19MQVNUX1BBU1MsIGlt
cGxfcHRyXy0+ZW5jb2RlX2NvbmZpZ19saXN0KTsKIAogICB2cHhfZml4ZWRfYnVmX3Qgc3RhdHM7
CiAgIHN0YXRzLmJ1ZiA9IEdldFZlY3RvckRhdGEoaW1wbF9wdHJfLT5maXJzdF9wYXNzX3N0YXRz
KTsKQEAgLTEwNTksMTEgKzEwNDksNiBAQCB2b2lkIFNpbXBsZUVuY29kZTo6U3RhcnRFbmNvZGUo
KSB7CiAgIGZyYW1lX2NvZGluZ19pbmRleF8gPSAwOwogICBzaG93X2ZyYW1lX2NvdW50XyA9IDA7
CiAKLSAgYXNzZXJ0KGltcGxfcHRyXy0+Y3BpICE9IG51bGxwdHIpOwotICBGUkFNRV9JTkZPIGZy
YW1lX2luZm8gPSB2cDlfZ2V0X2ZyYW1lX2luZm8oJm94Y2YpOwotICB1bnNpZ25lZCBpbnQgc2Ny
ZWVuX2FyZWEgPSBmcmFtZV9pbmZvLmZyYW1lX3dpZHRoICogZnJhbWVfaW5mby5mcmFtZV9oZWln
aHQ7Ci0gIHZwOV9pbml0X3Zpemllcl9wYXJhbXMoJmltcGxfcHRyXy0+Y3BpLT50d29wYXNzLCBz
Y3JlZW5fYXJlYSk7Ci0KICAgVXBkYXRlS2V5RnJhbWVHcm91cChzaG93X2ZyYW1lX2NvdW50Xyk7
CiAKICAgY29uc3QgR09QX0NPTU1BTkQgZ29wX2NvbW1hbmQgPSBHZXRHb3BDb21tYW5kKGdvcF9t
YXBfLCBzaG93X2ZyYW1lX2NvdW50Xyk7CkBAIC0xMDk5LDcgKzEwODQsOCBAQCB2b2lkIFNpbXBs
ZUVuY29kZTo6VXBkYXRlS2V5RnJhbWVHcm91cChpbnQga2V5X2ZyYW1lX3Nob3dfaW5kZXgpIHsK
ICAgY29uc3QgVlA5X0NPTVAgKmNwaSA9IGltcGxfcHRyXy0+Y3BpOwogICBrZXlfZnJhbWVfZ3Jv
dXBfaW5kZXhfID0gMDsKICAga2V5X2ZyYW1lX2dyb3VwX3NpemVfID0gdnA5X2dldF9mcmFtZXNf
dG9fbmV4dF9rZXkoCi0gICAgICAmY3BpLT5veGNmLCAmY3BpLT50d29wYXNzLCBrZXlfZnJhbWVf
c2hvd19pbmRleCwgY3BpLT5yYy5taW5fZ2ZfaW50ZXJ2YWwpOworICAgICAgJmNwaS0+b3hjZiwg
JmNwaS0+ZnJhbWVfaW5mbywgJmNwaS0+dHdvcGFzcy5maXJzdF9wYXNzX2luZm8sCisgICAgICBr
ZXlfZnJhbWVfc2hvd19pbmRleCwgY3BpLT5yYy5taW5fZ2ZfaW50ZXJ2YWwpOwogICBhc3NlcnQo
a2V5X2ZyYW1lX2dyb3VwX3NpemVfID4gMCk7CiAgIC8vIEluaXQgdGhlIHJlZmVyZW5jZSBmcmFt
ZSBpbmZvIHdoZW4gYSBuZXcga2V5IGZyYW1lIGdyb3VwIGFwcGVhcnMuCiAgIEluaXRSZWZGcmFt
ZUluZm8oJnJlZl9mcmFtZV9pbmZvXyk7CkBAIC0xMjUzLDcgKzEyMzksNyBAQCBzdGF0aWMgaW50
IEdldENvZGluZ0ZyYW1lTnVtRnJvbUdvcE1hcChjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+ICZnb3Bf
bWFwKSB7CiAgICAgc3RhcnRfc2hvd19pbmRleCArPSBnb3BfY29tbWFuZC5zaG93X2ZyYW1lX2Nv
dW50OwogICAgIGNvZGluZ19mcmFtZV9jb3VudCArPSBnb3BfY29tbWFuZF9jb2RpbmdfZnJhbWVf
Y291bnQoJmdvcF9jb21tYW5kKTsKICAgfQotICBhc3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90Pihz
dGFydF9zaG93X2luZGV4KSA9PSBnb3BfbWFwLnNpemUoKSk7CisgIGFzc2VydChzdGFydF9zaG93
X2luZGV4ID09IGdvcF9tYXAuc2l6ZSgpKTsKICAgcmV0dXJuIGNvZGluZ19mcmFtZV9jb3VudDsK
IH0KIApAQCAtMTI2NCwzOSArMTI1MCwzOCBAQCBpbnQgU2ltcGxlRW5jb2RlOjpHZXRDb2RpbmdG
cmFtZU51bSgpIGNvbnN0IHsKICAgfQogCiAgIC8vIFRoZXNlIGFyZSB0aGUgZGVmYXVsdCBzZXR0
aW5ncyBmb3Igbm93LgotICBUV09fUEFTUyB0d29wYXNzOwogICBjb25zdCBpbnQgbXVsdGlfbGF5
ZXJfYXJmID0gMDsKICAgY29uc3QgaW50IGFsbG93X2FsdF9yZWYgPSAxOwogICB2cHhfcmF0aW9u
YWxfdCBmcmFtZV9yYXRlID0KICAgICAgIG1ha2VfdnB4X3JhdGlvbmFsKGZyYW1lX3JhdGVfbnVt
XywgZnJhbWVfcmF0ZV9kZW5fKTsKICAgY29uc3QgVlA5RW5jb2RlckNvbmZpZyBveGNmID0gR2V0
RW5jb2RlQ29uZmlnKAogICAgICAgZnJhbWVfd2lkdGhfLCBmcmFtZV9oZWlnaHRfLCBmcmFtZV9y
YXRlLCB0YXJnZXRfYml0cmF0ZV8sIGVuY29kZV9zcGVlZF8sCi0gICAgICB0YXJnZXRfbGV2ZWxf
LCBWUFhfUkNfTEFTVF9QQVNTLCBpbXBsX3B0cl8tPmVuY29kZV9jb25maWdfbGlzdCk7CisgICAg
ICBWUFhfUkNfTEFTVF9QQVNTLCBpbXBsX3B0cl8tPmVuY29kZV9jb25maWdfbGlzdCk7CiAgIEZS
QU1FX0lORk8gZnJhbWVfaW5mbyA9IHZwOV9nZXRfZnJhbWVfaW5mbygmb3hjZik7Ci0gIGZwc19p
bml0X2ZpcnN0X3Bhc3NfaW5mbygmdHdvcGFzcy5maXJzdF9wYXNzX2luZm8sCisgIEZJUlNUX1BB
U1NfSU5GTyBmaXJzdF9wYXNzX2luZm87CisgIGZwc19pbml0X2ZpcnN0X3Bhc3NfaW5mbygmZmly
c3RfcGFzc19pbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0VmVjdG9yRGF0YShp
bXBsX3B0cl8tPmZpcnN0X3Bhc3Nfc3RhdHMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
bnVtX2ZyYW1lc18pOwotICB1bnNpZ25lZCBpbnQgc2NyZWVuX2FyZWEgPSBmcmFtZV9pbmZvLmZy
YW1lX3dpZHRoICogZnJhbWVfaW5mby5mcmFtZV9oZWlnaHQ7Ci0gIHZwOV9pbml0X3Zpemllcl9w
YXJhbXMoJnR3b3Bhc3MsIHNjcmVlbl9hcmVhKTsKLSAgcmV0dXJuIHZwOV9nZXRfY29kaW5nX2Zy
YW1lX251bSgmb3hjZiwgJnR3b3Bhc3MsICZmcmFtZV9pbmZvLCBtdWx0aV9sYXllcl9hcmYsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dfYWx0X3JlZik7CisgIHJldHVy
biB2cDlfZ2V0X2NvZGluZ19mcmFtZV9udW0oJm94Y2YsICZmcmFtZV9pbmZvLCAmZmlyc3RfcGFz
c19pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpX2xheWVyX2Fy
ZiwgYWxsb3dfYWx0X3JlZik7CiB9CiAKIHN0ZDo6dmVjdG9yPGludD4gU2ltcGxlRW5jb2RlOjpD
b21wdXRlS2V5RnJhbWVNYXAoKSBjb25zdCB7CiAgIC8vIFRoZSBsYXN0IGVudHJ5IG9mIGZpcnN0
X3Bhc3Nfc3RhdHMgaXMgdGhlIG92ZXJhbGwgc3RhdHMuCi0gIGFzc2VydChpbXBsX3B0cl8tPmZp
cnN0X3Bhc3Nfc3RhdHMuc2l6ZSgpID09Ci0gICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KG51
bV9mcmFtZXNfKSArIDEpOworICBhc3NlcnQoaW1wbF9wdHJfLT5maXJzdF9wYXNzX3N0YXRzLnNp
emUoKSA9PSBudW1fZnJhbWVzXyArIDEpOwogICB2cHhfcmF0aW9uYWxfdCBmcmFtZV9yYXRlID0K
ICAgICAgIG1ha2VfdnB4X3JhdGlvbmFsKGZyYW1lX3JhdGVfbnVtXywgZnJhbWVfcmF0ZV9kZW5f
KTsKICAgY29uc3QgVlA5RW5jb2RlckNvbmZpZyBveGNmID0gR2V0RW5jb2RlQ29uZmlnKAogICAg
ICAgZnJhbWVfd2lkdGhfLCBmcmFtZV9oZWlnaHRfLCBmcmFtZV9yYXRlLCB0YXJnZXRfYml0cmF0
ZV8sIGVuY29kZV9zcGVlZF8sCi0gICAgICB0YXJnZXRfbGV2ZWxfLCBWUFhfUkNfTEFTVF9QQVNT
LCBpbXBsX3B0cl8tPmVuY29kZV9jb25maWdfbGlzdCk7Ci0gIFRXT19QQVNTIHR3b3Bhc3M7Ci0g
IGZwc19pbml0X2ZpcnN0X3Bhc3NfaW5mbygmdHdvcGFzcy5maXJzdF9wYXNzX2luZm8sCisgICAg
ICBWUFhfUkNfTEFTVF9QQVNTLCBpbXBsX3B0cl8tPmVuY29kZV9jb25maWdfbGlzdCk7CisgIEZS
QU1FX0lORk8gZnJhbWVfaW5mbyA9IHZwOV9nZXRfZnJhbWVfaW5mbygmb3hjZik7CisgIEZJUlNU
X1BBU1NfSU5GTyBmaXJzdF9wYXNzX2luZm87CisgIGZwc19pbml0X2ZpcnN0X3Bhc3NfaW5mbygm
Zmlyc3RfcGFzc19pbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0VmVjdG9yRGF0
YShpbXBsX3B0cl8tPmZpcnN0X3Bhc3Nfc3RhdHMpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbnVtX2ZyYW1lc18pOwogICBzdGQ6OnZlY3RvcjxpbnQ+IGtleV9mcmFtZV9tYXAobnVtX2Zy
YW1lc18sIDApOwotICB2cDlfZ2V0X2tleV9mcmFtZV9tYXAoJm94Y2YsICZ0d29wYXNzLCBHZXRW
ZWN0b3JEYXRhKGtleV9mcmFtZV9tYXApKTsKKyAgdnA5X2dldF9rZXlfZnJhbWVfbWFwKCZveGNm
LCAmZnJhbWVfaW5mbywgJmZpcnN0X3Bhc3NfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAg
IEdldFZlY3RvckRhdGEoa2V5X2ZyYW1lX21hcCkpOwogICByZXR1cm4ga2V5X2ZyYW1lX21hcDsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvc2ltcGxlX2VuY29kZS5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvc2ltcGxlX2VuY29kZS5oCmluZGV4IGQ2MTBhNWUxNTliZC4uOGVjNzA2OWU4MzZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS9zaW1wbGVfZW5jb2RlLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvc2ltcGxlX2VuY29kZS5oCkBAIC00NCwyNiArNDQsNiBAQCBlbnVtIFJlZkZyYW1l
VHlwZSB7CiAgIGtSZWZGcmFtZVR5cGVOb25lID0gLTEsCiB9OwogCi1lbnVtIFZQOV9MRVZFTCB7
Ci0gIExFVkVMX1VOS05PV04gPSAwLAotICBMRVZFTF9BVVRPID0gMSwKLSAgTEVWRUxfMSA9IDEw
LAotICBMRVZFTF8xXzEgPSAxMSwKLSAgTEVWRUxfMiA9IDIwLAotICBMRVZFTF8yXzEgPSAyMSwK
LSAgTEVWRUxfMyA9IDMwLAotICBMRVZFTF8zXzEgPSAzMSwKLSAgTEVWRUxfNCA9IDQwLAotICBM
RVZFTF80XzEgPSA0MSwKLSAgTEVWRUxfNSA9IDUwLAotICBMRVZFTF81XzEgPSA1MSwKLSAgTEVW
RUxfNV8yID0gNTIsCi0gIExFVkVMXzYgPSA2MCwKLSAgTEVWRUxfNl8xID0gNjEsCi0gIExFVkVM
XzZfMiA9IDYyLAotICBMRVZFTF9NQVggPSAyNTUKLX07Ci0KIGVudW0gR29wTWFwRmxhZyB7CiAg
IGtHb3BNYXBGbGFnU3RhcnQgPQogICAgICAgMSA8PCAwLCAgLy8gSW5kaWNhdGUgdGhpcyBsb2Nh
dGlvbiBpcyB0aGUgc3RhcnQgb2YgYSBncm91cCBvZiBwaWN0dXJlcy4KQEAgLTMwOSw3ICsyODks
NyBAQCBzdHJ1Y3QgRW5jb2RlRnJhbWVSZXN1bHQgewogICAvLyBUaGUgdHBsIHN0YXRzIHN0b3Jl
ZCBpbiB0aGUgdmVjdG9yIGlzIGFjY29yZGluZyB0byB0aGUgZW5jb2Rpbmcgb3JkZXIuCiAgIC8v
IEZvciBleGFtcGxlLCBzdXBwb3NlIHRoZXJlIGFyZSBOIHNob3cgZnJhbWVzIGZvciB0aGUgY3Vy
cmVudCBHT1AuCiAgIC8vIFRoZW4gdHBsX3N0YXRzX2luZm9bMF0gc3RvcmVzIHRoZSBpbmZvcm1h
dGlvbiBvZiB0aGUgZmlyc3QgZnJhbWUgdG8gYmUKLSAgLy8gZW5jb2RlZCBmb3IgdGhpcyBHT1As
IGkuZS4sIHRoZSBBbHRSZWYgZnJhbWUuCisgIC8vIGVuY29kZWQgZm9yIHRoaXMgR09QLCBpLmUs
IHRoZSBBbHRSZWYgZnJhbWUuCiAgIHN0ZDo6dmVjdG9yPFRwbFN0YXRzSW5mbz4gdHBsX3N0YXRz
X2luZm87CiAgIEltYWdlQnVmZmVyIGNvZGVkX2ZyYW1lOwogCkBAIC0zNjMsOCArMzQzLDcgQEAg
Y2xhc3MgU2ltcGxlRW5jb2RlIHsKICAgLy8gZm9ybWF0LgogICBTaW1wbGVFbmNvZGUoaW50IGZy
YW1lX3dpZHRoLCBpbnQgZnJhbWVfaGVpZ2h0LCBpbnQgZnJhbWVfcmF0ZV9udW0sCiAgICAgICAg
ICAgICAgICBpbnQgZnJhbWVfcmF0ZV9kZW4sIGludCB0YXJnZXRfYml0cmF0ZSwgaW50IG51bV9m
cmFtZXMsCi0gICAgICAgICAgICAgICBpbnQgdGFyZ2V0X2xldmVsLCBjb25zdCBjaGFyICppbmZp
bGVfcGF0aCwKLSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm91dGZpbGVfcGF0aCA9IG51bGxw
dHIpOworICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW5maWxlX3BhdGgsIGNvbnN0IGNoYXIg
Km91dGZpbGVfcGF0aCA9IG51bGxwdHIpOwogICB+U2ltcGxlRW5jb2RlKCk7CiAgIFNpbXBsZUVu
Y29kZShTaW1wbGVFbmNvZGUgJikgPSBkZWxldGU7CiAgIFNpbXBsZUVuY29kZSAmb3BlcmF0b3I9
KGNvbnN0IFNpbXBsZUVuY29kZSAmKSA9IGRlbGV0ZTsKQEAgLTUzNCw3ICs1MTMsNiBAQCBjbGFz
cyBTaW1wbGVFbmNvZGUgewogICBpbnQgdGFyZ2V0X2JpdHJhdGVfOwogICBpbnQgbnVtX2ZyYW1l
c187CiAgIGludCBlbmNvZGVfc3BlZWRfOwotICBpbnQgdGFyZ2V0X2xldmVsXzsKIAogICBzdGQ6
OkZJTEUgKmluX2ZpbGVfOwogICBzdGQ6OkZJTEUgKm91dF9maWxlXzsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnA5L3ZwOV9jeF9pZmFjZS5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2N4X2lmYWNl
LmMKaW5kZXggYjFkZmU5OTJjZjEyLi5lY2ZhY2ZhZjQzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnA5L3ZwOV9jeF9pZmFjZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9jeF9pZmFjZS5j
CkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSAidnB4L3ZweF9lbmNvZGVyLmgiCiAjaW5jbHVk
ZSAidnB4L3ZweF9leHRfcmF0ZWN0cmwuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3BzbnIuaCIKKyNp
bmNsdWRlICJ2cHhfcG9ydHMvdnB4X29uY2UuaCIKICNpbmNsdWRlICJ2cHhfcG9ydHMvc3RhdGlj
X2Fzc2VydC5oIgogI2luY2x1ZGUgInZweF9wb3J0cy9zeXN0ZW1fc3RhdGUuaCIKICNpbmNsdWRl
ICJ2cHhfdXRpbC92cHhfdGltZXN0YW1wLmgiCkBAIC0yOSw4ICszMCw2IEBACiAjaW5jbHVkZSAi
dnA5L3ZwOV9jeF9pZmFjZS5oIgogI2luY2x1ZGUgInZwOS92cDlfaWZhY2VfY29tbW9uLmgiCiAK
LSNpbmNsdWRlICJ2cHgvdnB4X3RwbC5oIgotCiB0eXBlZGVmIHN0cnVjdCB2cDlfZXh0cmFjZmcg
ewogICBpbnQgY3B1X3VzZWQ7ICAvLyBhdmFpbGFibGUgY3B1IHBlcmNlbnRhZ2UgaW4gMS8xNgog
ICB1bnNpZ25lZCBpbnQgZW5hYmxlX2F1dG9fYWx0X3JlZjsKQEAgLTY3LDExICs2Niw3IEBAIHR5
cGVkZWYgc3RydWN0IHZwOV9leHRyYWNmZyB7CiB9IHZwOV9leHRyYWNmZzsKIAogc3RhdGljIHN0
cnVjdCB2cDlfZXh0cmFjZmcgZGVmYXVsdF9leHRyYV9jZmcgPSB7Ci0jaWYgQ09ORklHX1JFQUxU
SU1FX09OTFkKLSAgNSwgIC8vIGNwdV91c2VkCi0jZWxzZQotICAwLCAgLy8gY3B1X3VzZWQKLSNl
bmRpZgorICAwLCAgICAgICAgICAgICAgICAgICAgIC8vIGNwdV91c2VkCiAgIDEsICAgICAgICAg
ICAgICAgICAgICAgLy8gZW5hYmxlX2F1dG9fYWx0X3JlZgogICAwLCAgICAgICAgICAgICAgICAg
ICAgIC8vIG5vaXNlX3NlbnNpdGl2aXR5CiAgIDAsICAgICAgICAgICAgICAgICAgICAgLy8gc2hh
cnBuZXNzCkBAIC0xMzEsOCArMTI2LDYgQEAgc3RydWN0IHZweF9jb2RlY19hbGdfcHJpdiB7CiAg
IEJ1ZmZlclBvb2wgKmJ1ZmZlcl9wb29sOwogfTsKIAotLy8gQ2FsbGVkIGJ5IGVuY29kZXJfc2V0
X2NvbmZpZygpIGFuZCBlbmNvZGVyX2VuY29kZSgpIG9ubHkuIE11c3Qgbm90IGJlIGNhbGxlZAot
Ly8gYnkgZW5jb2Rlcl9pbml0KCkuCiBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IHVwZGF0ZV9lcnJv
cl9zdGF0ZSgKICAgICB2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LCBjb25zdCBzdHJ1Y3QgdnB4
X2ludGVybmFsX2Vycm9yX2luZm8gKmVycm9yKSB7CiAgIGNvbnN0IHZweF9jb2RlY19lcnJfdCBy
ZXMgPSBlcnJvci0+ZXJyb3JfY29kZTsKQEAgLTE3NCw4ICsxNjcsOCBAQCBzdGF0aWMgdnB4X2Nv
ZGVjX2Vycl90IHVwZGF0ZV9lcnJvcl9zdGF0ZSgKIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgdmFs
aWRhdGVfY29uZmlnKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2cHhfY29kZWNfZW5jX2NmZ190ICpjZmcsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdnA5X2V4
dHJhY2ZnICpleHRyYV9jZmcpIHsKLSAgUkFOR0VfQ0hFQ0soY2ZnLCBnX3csIDEsIDY1NTM2KTsg
IC8vIDE2IGJpdHMgYXZhaWxhYmxlCi0gIFJBTkdFX0NIRUNLKGNmZywgZ19oLCAxLCA2NTUzNik7
ICAvLyAxNiBiaXRzIGF2YWlsYWJsZQorICBSQU5HRV9DSEVDSyhjZmcsIGdfdywgMSwgNjU1MzUp
OyAgLy8gMTYgYml0cyBhdmFpbGFibGUKKyAgUkFOR0VfQ0hFQ0soY2ZnLCBnX2gsIDEsIDY1NTM1
KTsgIC8vIDE2IGJpdHMgYXZhaWxhYmxlCiAgIFJBTkdFX0NIRUNLKGNmZywgZ190aW1lYmFzZS5k
ZW4sIDEsIDEwMDAwMDAwMDApOwogICBSQU5HRV9DSEVDSyhjZmcsIGdfdGltZWJhc2UubnVtLCAx
LCAxMDAwMDAwMDAwKTsKICAgUkFOR0VfQ0hFQ0tfSEkoY2ZnLCBnX3Byb2ZpbGUsIDMpOwpAQCAt
MzU1LDI0ICszNDgsNiBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IHZhbGlkYXRlX2NvbmZpZyh2
cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICB9CiAgIFJBTkdFX0NIRUNLKGV4dHJhX2NmZywg
Y29sb3Jfc3BhY2UsIFZQWF9DU19VTktOT1dOLCBWUFhfQ1NfU1JHQik7CiAgIFJBTkdFX0NIRUNL
KGV4dHJhX2NmZywgY29sb3JfcmFuZ2UsIFZQWF9DUl9TVFVESU9fUkFOR0UsIFZQWF9DUl9GVUxM
X1JBTkdFKTsKLQotICAvLyBUaGUgcmFuZ2UgYmVsb3cgc2hhbGwgYmUgZnVydGhlciB0dW5lZC4K
LSAgUkFOR0VfQ0hFQ0soY2ZnLCB1c2Vfdml6aWVyX3JjX3BhcmFtcywgMCwgMSk7Ci0gIFJBTkdF
X0NIRUNLKGNmZywgYWN0aXZlX3dxX2ZhY3Rvci5kZW4sIDEsIDEwMDApOwotICBSQU5HRV9DSEVD
SyhjZmcsIGVycl9wZXJfbWJfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdFX0NIRUNLKGNm
Zywgc3JfZGVmYXVsdF9kZWNheV9saW1pdC5kZW4sIDEsIDEwMDApOwotICBSQU5HRV9DSEVDSyhj
ZmcsIHNyX2RpZmZfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdFX0NIRUNLKGNmZywga2Zf
ZXJyX3Blcl9tYl9mYWN0b3IuZGVuLCAxLCAxMDAwKTsKLSAgUkFOR0VfQ0hFQ0soY2ZnLCBrZl9m
cmFtZV9taW5fYm9vc3RfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdFX0NIRUNLKGNmZywg
a2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnNfZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdFX0NI
RUNLKGNmZywga2ZfbWF4X3RvdGFsX2Jvb3N0X2ZhY3Rvci5kZW4sIDEsIDEwMDApOwotICBSQU5H
RV9DSEVDSyhjZmcsIGdmX21heF90b3RhbF9ib29zdF9mYWN0b3IuZGVuLCAxLCAxMDAwKTsKLSAg
UkFOR0VfQ0hFQ0soY2ZnLCBnZl9mcmFtZV9tYXhfYm9vc3RfZmFjdG9yLmRlbiwgMSwgMTAwMCk7
Ci0gIFJBTkdFX0NIRUNLKGNmZywgem1fZmFjdG9yLmRlbiwgMSwgMTAwMCk7Ci0gIFJBTkdFX0NI
RUNLKGNmZywgcmRfbXVsdF9pbnRlcl9xcF9mYWMuZGVuLCAxLCAxMDAwKTsKLSAgUkFOR0VfQ0hF
Q0soY2ZnLCByZF9tdWx0X2FyZl9xcF9mYWMuZGVuLCAxLCAxMDAwKTsKLSAgUkFOR0VfQ0hFQ0so
Y2ZnLCByZF9tdWx0X2tleV9xcF9mYWMuZGVuLCAxLCAxMDAwKTsKLQogICByZXR1cm4gVlBYX0NP
REVDX09LOwogfQogCkBAIC0zODgsOCArMzYzLDggQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCB2
YWxpZGF0ZV9pbWcodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCwKICAgICBjYXNlIFZQWF9JTUdf
Rk1UX0k0NDA6CiAgICAgICBpZiAoY3R4LT5jZmcuZ19wcm9maWxlICE9ICh1bnNpZ25lZCBpbnQp
UFJPRklMRV8xKSB7CiAgICAgICAgIEVSUk9SKAotICAgICAgICAgICAgIkludmFsaWQgaW1hZ2Ug
Zm9ybWF0LiBJNDIyLCBJNDQ0LCBJNDQwIGltYWdlcyBhcmUgbm90IHN1cHBvcnRlZCAiCi0gICAg
ICAgICAgICAiaW4gcHJvZmlsZS4iKTsKKyAgICAgICAgICAgICJJbnZhbGlkIGltYWdlIGZvcm1h
dC4gSTQyMiwgSTQ0NCwgSTQ0MCwgTlYxMiBpbWFnZXMgYXJlICIKKyAgICAgICAgICAgICJub3Qg
c3VwcG9ydGVkIGluIHByb2ZpbGUuIik7CiAgICAgICB9CiAgICAgICBicmVhazsKICAgICBjYXNl
IFZQWF9JTUdfRk1UX0k0MjIxNjoKQEAgLTQwNCw4ICszNzksOCBAQCBzdGF0aWMgdnB4X2NvZGVj
X2Vycl90IHZhbGlkYXRlX2ltZyh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgIEVSUk9SKAotICAgICAgICAgICJJbnZhbGlkIGltYWdl
IGZvcm1hdC4gT25seSBZVjEyLCBJNDIwLCBJNDIyLCBJNDQ0LCBJNDQwLCBOVjEyICIKLSAgICAg
ICAgICAiaW1hZ2VzIGFyZSBzdXBwb3J0ZWQuIik7CisgICAgICAgICAgIkludmFsaWQgaW1hZ2Ug
Zm9ybWF0LiBPbmx5IFlWMTIsIEk0MjAsIEk0MjIsIEk0NDQgaW1hZ2VzIGFyZSAiCisgICAgICAg
ICAgInN1cHBvcnRlZC4iKTsKICAgICAgIGJyZWFrOwogICB9CiAKQEAgLTUzMCw5ICs1MDUsOCBA
QCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IHNldF9lbmNvZGVyX2NvbmZpZygKICAgcmF3X3Rhcmdl
dF9yYXRlID0KICAgICAgICh1bnNpZ25lZCBpbnQpKChpbnQ2NF90KW94Y2YtPndpZHRoICogb3hj
Zi0+aGVpZ2h0ICogb3hjZi0+Yml0X2RlcHRoICogMyAqCiAgICAgICAgICAgICAgICAgICAgICBv
eGNmLT5pbml0X2ZyYW1lcmF0ZSAvIDEwMDApOwotICAvLyBDYXAgdGFyZ2V0IGJpdHJhdGUgdG8g
cmF3IHJhdGUgb3IgMTAwME1icHMsIHdoaWNoZXZlciBpcyBsZXNzCi0gIGNmZy0+cmNfdGFyZ2V0
X2JpdHJhdGUgPQotICAgICAgVlBYTUlOKFZQWE1JTihyYXdfdGFyZ2V0X3JhdGUsIGNmZy0+cmNf
dGFyZ2V0X2JpdHJhdGUpLCAxMDAwMDAwKTsKKyAgLy8gQ2FwIHRhcmdldCBiaXRyYXRlIHRvIHJh
dyByYXRlCisgIGNmZy0+cmNfdGFyZ2V0X2JpdHJhdGUgPSBWUFhNSU4ocmF3X3RhcmdldF9yYXRl
LCBjZmctPnJjX3RhcmdldF9iaXRyYXRlKTsKIAogICAvLyBDb252ZXJ0IHRhcmdldCBiYW5kd2lk
dGggZnJvbSBLYml0L3MgdG8gQml0L3MKICAgb3hjZi0+dGFyZ2V0X2JhbmR3aWR0aCA9IDEwMDAg
KiAoaW50NjRfdCljZmctPnJjX3RhcmdldF9iaXRyYXRlOwpAQCAtNTkxLDYgKzU2NSwxMCBAQCBz
dGF0aWMgdnB4X2NvZGVjX2Vycl90IHNldF9lbmNvZGVyX2NvbmZpZygKIAogICB2cDlfc2V0X2Zp
cnN0X3Bhc3Nfc3RhdHMob3hjZiwgJmNmZy0+cmNfdHdvcGFzc19zdGF0c19pbik7CiAKKyNpZiBD
T05GSUdfRlBfTUJfU1RBVFMKKyAgb3hjZi0+Zmlyc3RwYXNzX21iX3N0YXRzX2luID0gY2ZnLT5y
Y19maXJzdHBhc3NfbWJfc3RhdHNfaW47CisjZW5kaWYKKwogICBveGNmLT5jb2xvcl9zcGFjZSA9
IGV4dHJhX2NmZy0+Y29sb3Jfc3BhY2U7CiAgIG94Y2YtPmNvbG9yX3JhbmdlID0gZXh0cmFfY2Zn
LT5jb2xvcl9yYW5nZTsKICAgb3hjZi0+cmVuZGVyX3dpZHRoID0gZXh0cmFfY2ZnLT5yZW5kZXJf
d2lkdGg7CkBAIC02MzksMTIgKzYxNyw4IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3Qgc2V0X2Vu
Y29kZXJfY29uZmlnKAogCiAgIGZvciAoc2wgPSAwOyBzbCA8IG94Y2YtPnNzX251bWJlcl9sYXll
cnM7ICsrc2wpIHsKICAgICBmb3IgKHRsID0gMDsgdGwgPCBveGNmLT50c19udW1iZXJfbGF5ZXJz
OyArK3RsKSB7Ci0gICAgICBjb25zdCBpbnQgbGF5ZXIgPSBzbCAqIG94Y2YtPnRzX251bWJlcl9s
YXllcnMgKyB0bDsKLSAgICAgIGlmIChjZmctPmxheWVyX3RhcmdldF9iaXRyYXRlW2xheWVyXSA+
IElOVF9NQVggLyAxMDAwKQotICAgICAgICBveGNmLT5sYXllcl90YXJnZXRfYml0cmF0ZVtsYXll
cl0gPSBJTlRfTUFYOwotICAgICAgZWxzZQotICAgICAgICBveGNmLT5sYXllcl90YXJnZXRfYml0
cmF0ZVtsYXllcl0gPQotICAgICAgICAgICAgMTAwMCAqIGNmZy0+bGF5ZXJfdGFyZ2V0X2JpdHJh
dGVbbGF5ZXJdOworICAgICAgb3hjZi0+bGF5ZXJfdGFyZ2V0X2JpdHJhdGVbc2wgKiBveGNmLT50
c19udW1iZXJfbGF5ZXJzICsgdGxdID0KKyAgICAgICAgICAxMDAwICogY2ZnLT5sYXllcl90YXJn
ZXRfYml0cmF0ZVtzbCAqIG94Y2YtPnRzX251bWJlcl9sYXllcnMgKyB0bF07CiAgICAgfQogICB9
CiAgIGlmIChveGNmLT5zc19udW1iZXJfbGF5ZXJzID09IDEgJiYgb3hjZi0+cGFzcyAhPSAwKSB7
CkBAIC02NjAsMTM5ICs2MzQsMTQgQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCBzZXRfZW5jb2Rl
cl9jb25maWcoCiAgIH0KIAogICBpZiAoZ2V0X2xldmVsX2luZGV4KG94Y2YtPnRhcmdldF9sZXZl
bCkgPj0gMCkgY29uZmlnX3RhcmdldF9sZXZlbChveGNmKTsKLSAgb3hjZi0+dXNlX3NpbXBsZV9l
bmNvZGVfYXBpID0gMDsKICAgLy8gdnA5X2R1bXBfZW5jb2Rlcl9jb25maWcob3hjZiwgc3RkZXJy
KTsKICAgcmV0dXJuIFZQWF9DT0RFQ19PSzsKIH0KIAotc3RhdGljIHZweF9jb2RlY19lcnJfdCBz
ZXRfdHdvcGFzc19wYXJhbXNfZnJvbV9jb25maWcoCi0gICAgY29uc3QgdnB4X2NvZGVjX2VuY19j
ZmdfdCAqY29uc3QgY2ZnLCBzdHJ1Y3QgVlA5X0NPTVAgKmNwaSkgewotICBpZiAoIWNmZy0+dXNl
X3Zpemllcl9yY19wYXJhbXMpIHJldHVybiBWUFhfQ09ERUNfT0s7Ci0gIGlmIChjcGkgPT0gTlVM
TCkgcmV0dXJuIFZQWF9DT0RFQ19FUlJPUjsKLQotICBjcGktPnR3b3Bhc3MudXNlX3Zpemllcl9y
Y19wYXJhbXMgPSBjZmctPnVzZV92aXppZXJfcmNfcGFyYW1zOwotCi0gIC8vIFRoZSB2YWx1ZXMg
c2V0IGhlcmUgYXJlIGZhY3RvcnMgdGhhdCB3aWxsIGJlIGFwcGxpZWQgdG8gZGVmYXVsdCB2YWx1
ZXMKLSAgLy8gdG8gZ2V0IHRoZSBmaW5hbCB2YWx1ZSB1c2VkIGluIHRoZSB0d28gcGFzcyBjb2Rl
LiBIZW5jZSAxLjAgd2lsbAotICAvLyBtYXRjaCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgd2hlbiBu
b3QgdXNpbmcgcGFzc2VkIGluIHZhbHVlcy4KLSAgLy8gV2UgYWxzbyBhcHBseSBsaW1pdHMgaGVy
ZSB0byBwcmV2ZW50IHRoZSB1c2VyIGZyb20gYXBwbHlpbmcgc2V0dGluZ3MKLSAgLy8gdGhhdCBt
YWtlIG5vIHNlbnNlLgotICBjcGktPnR3b3Bhc3MuYWN0aXZlX3dxX2ZhY3RvciA9Ci0gICAgICAo
ZG91YmxlKWNmZy0+YWN0aXZlX3dxX2ZhY3Rvci5udW0gLyAoZG91YmxlKWNmZy0+YWN0aXZlX3dx
X2ZhY3Rvci5kZW47Ci0gIGlmIChjcGktPnR3b3Bhc3MuYWN0aXZlX3dxX2ZhY3RvciA8IDAuMjUp
Ci0gICAgY3BpLT50d29wYXNzLmFjdGl2ZV93cV9mYWN0b3IgPSAwLjI1OwotICBlbHNlIGlmIChj
cGktPnR3b3Bhc3MuYWN0aXZlX3dxX2ZhY3RvciA+IDE2LjApCi0gICAgY3BpLT50d29wYXNzLmFj
dGl2ZV93cV9mYWN0b3IgPSAxNi4wOwotCi0gIGNwaS0+dHdvcGFzcy5lcnJfcGVyX21iID0KLSAg
ICAgIChkb3VibGUpY2ZnLT5lcnJfcGVyX21iX2ZhY3Rvci5udW0gLyAoZG91YmxlKWNmZy0+ZXJy
X3Blcl9tYl9mYWN0b3IuZGVuOwotICBpZiAoY3BpLT50d29wYXNzLmVycl9wZXJfbWIgPCAwLjI1
KQotICAgIGNwaS0+dHdvcGFzcy5lcnJfcGVyX21iID0gMC4yNTsKLSAgZWxzZSBpZiAoY3BpLT50
d29wYXNzLmVycl9wZXJfbWIgPiA0LjApCi0gICAgY3BpLT50d29wYXNzLmVycl9wZXJfbWIgPSA0
LjA7Ci0KLSAgY3BpLT50d29wYXNzLnNyX2RlZmF1bHRfZGVjYXlfbGltaXQgPQotICAgICAgKGRv
dWJsZSljZmctPnNyX2RlZmF1bHRfZGVjYXlfbGltaXQubnVtIC8KLSAgICAgIChkb3VibGUpY2Zn
LT5zcl9kZWZhdWx0X2RlY2F5X2xpbWl0LmRlbjsKLSAgaWYgKGNwaS0+dHdvcGFzcy5zcl9kZWZh
dWx0X2RlY2F5X2xpbWl0IDwgMC4yNSkKLSAgICBjcGktPnR3b3Bhc3Muc3JfZGVmYXVsdF9kZWNh
eV9saW1pdCA9IDAuMjU7Ci0gIC8vIElmIHRoZSBkZWZhdWx0IGNoYW5nZXMgdGhpcyB3aWxsIG5l
ZWQgdG8gY2hhbmdlLgotICBlbHNlIGlmIChjcGktPnR3b3Bhc3Muc3JfZGVmYXVsdF9kZWNheV9s
aW1pdCA+IDEuMzMpCi0gICAgY3BpLT50d29wYXNzLnNyX2RlZmF1bHRfZGVjYXlfbGltaXQgPSAx
LjMzOwotCi0gIGNwaS0+dHdvcGFzcy5zcl9kaWZmX2ZhY3RvciA9Ci0gICAgICAoZG91YmxlKWNm
Zy0+c3JfZGlmZl9mYWN0b3IubnVtIC8gKGRvdWJsZSljZmctPnNyX2RpZmZfZmFjdG9yLmRlbjsK
LSAgaWYgKGNwaS0+dHdvcGFzcy5zcl9kaWZmX2ZhY3RvciA8IDAuMjUpCi0gICAgY3BpLT50d29w
YXNzLnNyX2RpZmZfZmFjdG9yID0gMC4yNTsKLSAgZWxzZSBpZiAoY3BpLT50d29wYXNzLnNyX2Rp
ZmZfZmFjdG9yID4gNC4wKQotICAgIGNwaS0+dHdvcGFzcy5zcl9kaWZmX2ZhY3RvciA9IDQuMDsK
LQotICBjcGktPnR3b3Bhc3Mua2ZfZXJyX3Blcl9tYiA9IChkb3VibGUpY2ZnLT5rZl9lcnJfcGVy
X21iX2ZhY3Rvci5udW0gLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkb3VibGUp
Y2ZnLT5rZl9lcnJfcGVyX21iX2ZhY3Rvci5kZW47Ci0gIGlmIChjcGktPnR3b3Bhc3Mua2ZfZXJy
X3Blcl9tYiA8IDAuMjUpCi0gICAgY3BpLT50d29wYXNzLmtmX2Vycl9wZXJfbWIgPSAwLjI1Owot
ICBlbHNlIGlmIChjcGktPnR3b3Bhc3Mua2ZfZXJyX3Blcl9tYiA+IDQuMCkKLSAgICBjcGktPnR3
b3Bhc3Mua2ZfZXJyX3Blcl9tYiA9IDQuMDsKLQotICBjcGktPnR3b3Bhc3Mua2ZfZnJhbWVfbWlu
X2Jvb3N0ID0gKGRvdWJsZSljZmctPmtmX2ZyYW1lX21pbl9ib29zdF9mYWN0b3IubnVtIC8KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkb3VibGUpY2ZnLT5rZl9mcmFtZV9t
aW5fYm9vc3RfZmFjdG9yLmRlbjsKLSAgaWYgKGNwaS0+dHdvcGFzcy5rZl9mcmFtZV9taW5fYm9v
c3QgPCAwLjI1KQotICAgIGNwaS0+dHdvcGFzcy5rZl9mcmFtZV9taW5fYm9vc3QgPSAwLjI1Owot
ICBlbHNlIGlmIChjcGktPnR3b3Bhc3Mua2ZfZnJhbWVfbWluX2Jvb3N0ID4gNC4wKQotICAgIGNw
aS0+dHdvcGFzcy5rZl9mcmFtZV9taW5fYm9vc3QgPSA0LjA7Ci0KLSAgY3BpLT50d29wYXNzLmtm
X2ZyYW1lX21heF9ib29zdF9maXJzdCA9Ci0gICAgICAoZG91YmxlKWNmZy0+a2ZfZnJhbWVfbWF4
X2Jvb3N0X2ZpcnN0X2ZhY3Rvci5udW0gLwotICAgICAgKGRvdWJsZSljZmctPmtmX2ZyYW1lX21h
eF9ib29zdF9maXJzdF9mYWN0b3IuZGVuOwotICBpZiAoY3BpLT50d29wYXNzLmtmX2ZyYW1lX21h
eF9ib29zdF9maXJzdCA8IDAuMjUpCi0gICAgY3BpLT50d29wYXNzLmtmX2ZyYW1lX21heF9ib29z
dF9maXJzdCA9IDAuMjU7Ci0gIGVsc2UgaWYgKGNwaS0+dHdvcGFzcy5rZl9mcmFtZV9tYXhfYm9v
c3RfZmlyc3QgPiA0LjApCi0gICAgY3BpLT50d29wYXNzLmtmX2ZyYW1lX21heF9ib29zdF9maXJz
dCA9IDQuMDsKLQotICBjcGktPnR3b3Bhc3Mua2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnMgPQotICAg
ICAgKGRvdWJsZSljZmctPmtmX2ZyYW1lX21heF9ib29zdF9zdWJzX2ZhY3Rvci5udW0gLwotICAg
ICAgKGRvdWJsZSljZmctPmtmX2ZyYW1lX21heF9ib29zdF9zdWJzX2ZhY3Rvci5kZW47Ci0gIGlm
IChjcGktPnR3b3Bhc3Mua2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnMgPCAwLjI1KQotICAgIGNwaS0+
dHdvcGFzcy5rZl9mcmFtZV9tYXhfYm9vc3Rfc3VicyA9IDAuMjU7Ci0gIGVsc2UgaWYgKGNwaS0+
dHdvcGFzcy5rZl9mcmFtZV9tYXhfYm9vc3Rfc3VicyA+IDQuMCkKLSAgICBjcGktPnR3b3Bhc3Mu
a2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnMgPSA0LjA7Ci0KLSAgY3BpLT50d29wYXNzLmtmX21heF90
b3RhbF9ib29zdCA9IChkb3VibGUpY2ZnLT5rZl9tYXhfdG90YWxfYm9vc3RfZmFjdG9yLm51bSAv
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG91YmxlKWNmZy0+a2ZfbWF4
X3RvdGFsX2Jvb3N0X2ZhY3Rvci5kZW47Ci0gIGlmIChjcGktPnR3b3Bhc3Mua2ZfbWF4X3RvdGFs
X2Jvb3N0IDwgMC4yNSkKLSAgICBjcGktPnR3b3Bhc3Mua2ZfbWF4X3RvdGFsX2Jvb3N0ID0gMC4y
NTsKLSAgZWxzZSBpZiAoY3BpLT50d29wYXNzLmtmX21heF90b3RhbF9ib29zdCA+IDQuMCkKLSAg
ICBjcGktPnR3b3Bhc3Mua2ZfbWF4X3RvdGFsX2Jvb3N0ID0gNC4wOwotCi0gIGNwaS0+dHdvcGFz
cy5nZl9tYXhfdG90YWxfYm9vc3QgPSAoZG91YmxlKWNmZy0+Z2ZfbWF4X3RvdGFsX2Jvb3N0X2Zh
Y3Rvci5udW0gLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvdWJsZSlj
ZmctPmdmX21heF90b3RhbF9ib29zdF9mYWN0b3IuZGVuOwotICBpZiAoY3BpLT50d29wYXNzLmdm
X21heF90b3RhbF9ib29zdCA8IDAuMjUpCi0gICAgY3BpLT50d29wYXNzLmdmX21heF90b3RhbF9i
b29zdCA9IDAuMjU7Ci0gIGVsc2UgaWYgKGNwaS0+dHdvcGFzcy5nZl9tYXhfdG90YWxfYm9vc3Qg
PiA0LjApCi0gICAgY3BpLT50d29wYXNzLmdmX21heF90b3RhbF9ib29zdCA9IDQuMDsKLQotICBj
cGktPnR3b3Bhc3MuZ2ZfZnJhbWVfbWF4X2Jvb3N0ID0gKGRvdWJsZSljZmctPmdmX2ZyYW1lX21h
eF9ib29zdF9mYWN0b3IubnVtIC8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChkb3VibGUpY2ZnLT5nZl9mcmFtZV9tYXhfYm9vc3RfZmFjdG9yLmRlbjsKLSAgaWYgKGNwaS0+
dHdvcGFzcy5nZl9mcmFtZV9tYXhfYm9vc3QgPCAwLjI1KQotICAgIGNwaS0+dHdvcGFzcy5nZl9m
cmFtZV9tYXhfYm9vc3QgPSAwLjI1OwotICBlbHNlIGlmIChjcGktPnR3b3Bhc3MuZ2ZfZnJhbWVf
bWF4X2Jvb3N0ID4gNC4wKQotICAgIGNwaS0+dHdvcGFzcy5nZl9mcmFtZV9tYXhfYm9vc3QgPSA0
LjA7Ci0KLSAgY3BpLT50d29wYXNzLnptX2ZhY3RvciA9Ci0gICAgICAoZG91YmxlKWNmZy0+em1f
ZmFjdG9yLm51bSAvIChkb3VibGUpY2ZnLT56bV9mYWN0b3IuZGVuOwotICBpZiAoY3BpLT50d29w
YXNzLnptX2ZhY3RvciA8IDAuMjUpCi0gICAgY3BpLT50d29wYXNzLnptX2ZhY3RvciA9IDAuMjU7
Ci0gIGVsc2UgaWYgKGNwaS0+dHdvcGFzcy56bV9mYWN0b3IgPiAyLjApCi0gICAgY3BpLT50d29w
YXNzLnptX2ZhY3RvciA9IDIuMDsKLQotICBjcGktPnJkX2N0cmwucmRfbXVsdF9pbnRlcl9xcF9m
YWMgPSAoZG91YmxlKWNmZy0+cmRfbXVsdF9pbnRlcl9xcF9mYWMubnVtIC8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvdWJsZSljZmctPnJkX211bHRfaW50ZXJfcXBf
ZmFjLmRlbjsKLSAgaWYgKGNwaS0+cmRfY3RybC5yZF9tdWx0X2ludGVyX3FwX2ZhYyA8IDAuMjUp
Ci0gICAgY3BpLT5yZF9jdHJsLnJkX211bHRfaW50ZXJfcXBfZmFjID0gMC4yNTsKLSAgZWxzZSBp
ZiAoY3BpLT5yZF9jdHJsLnJkX211bHRfaW50ZXJfcXBfZmFjID4gNC4wKQotICAgIGNwaS0+cmRf
Y3RybC5yZF9tdWx0X2ludGVyX3FwX2ZhYyA9IDQuMDsKLQotICBjcGktPnJkX2N0cmwucmRfbXVs
dF9hcmZfcXBfZmFjID0KLSAgICAgIChkb3VibGUpY2ZnLT5yZF9tdWx0X2FyZl9xcF9mYWMubnVt
IC8gKGRvdWJsZSljZmctPnJkX211bHRfYXJmX3FwX2ZhYy5kZW47Ci0gIGlmIChjcGktPnJkX2N0
cmwucmRfbXVsdF9hcmZfcXBfZmFjIDwgMC4yNSkKLSAgICBjcGktPnJkX2N0cmwucmRfbXVsdF9h
cmZfcXBfZmFjID0gMC4yNTsKLSAgZWxzZSBpZiAoY3BpLT5yZF9jdHJsLnJkX211bHRfYXJmX3Fw
X2ZhYyA+IDQuMCkKLSAgICBjcGktPnJkX2N0cmwucmRfbXVsdF9hcmZfcXBfZmFjID0gNC4wOwot
Ci0gIGNwaS0+cmRfY3RybC5yZF9tdWx0X2tleV9xcF9mYWMgPQotICAgICAgKGRvdWJsZSljZmct
PnJkX211bHRfa2V5X3FwX2ZhYy5udW0gLyAoZG91YmxlKWNmZy0+cmRfbXVsdF9rZXlfcXBfZmFj
LmRlbjsKLSAgaWYgKGNwaS0+cmRfY3RybC5yZF9tdWx0X2tleV9xcF9mYWMgPCAwLjI1KQotICAg
IGNwaS0+cmRfY3RybC5yZF9tdWx0X2tleV9xcF9mYWMgPSAwLjI1OwotICBlbHNlIGlmIChjcGkt
PnJkX2N0cmwucmRfbXVsdF9rZXlfcXBfZmFjID4gNC4wKQotICAgIGNwaS0+cmRfY3RybC5yZF9t
dWx0X2tleV9xcF9mYWMgPSA0LjA7Ci0KLSAgcmV0dXJuIFZQWF9DT0RFQ19PSzsKLX0KLQogc3Rh
dGljIHZweF9jb2RlY19lcnJfdCBlbmNvZGVyX3NldF9jb25maWcodnB4X2NvZGVjX2FsZ19wcml2
X3QgKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHZweF9jb2RlY19lbmNfY2ZnX3QgKmNmZykgewogICB2cHhfY29kZWNfZXJyX3QgcmVzOwotICB2
b2xhdGlsZSBpbnQgZm9yY2Vfa2V5ID0gMDsKKyAgaW50IGZvcmNlX2tleSA9IDA7CiAKICAgaWYg
KGNmZy0+Z193ICE9IGN0eC0+Y2ZnLmdfdyB8fCBjZmctPmdfaCAhPSBjdHgtPmNmZy5nX2gpIHsK
ICAgICBpZiAoY2ZnLT5nX2xhZ19pbl9mcmFtZXMgPiAxIHx8IGNmZy0+Z19wYXNzICE9IFZQWF9S
Q19PTkVfUEFTUykKQEAgLTgxMSwyOSArNjYwLDE4IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3Qg
ZW5jb2Rlcl9zZXRfY29uZmlnKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAgICAgRVJST1Io
IkNhbm5vdCBpbmNyZWFzZSBsYWdfaW5fZnJhbWVzIik7CiAKICAgcmVzID0gdmFsaWRhdGVfY29u
ZmlnKGN0eCwgY2ZnLCAmY3R4LT5leHRyYV9jZmcpOwotICBpZiAocmVzICE9IFZQWF9DT0RFQ19P
SykgcmV0dXJuIHJlczsKIAotICBpZiAoc2V0am1wKGN0eC0+Y3BpLT5jb21tb24uZXJyb3Iuam1w
KSkgewotICAgIGNvbnN0IHZweF9jb2RlY19lcnJfdCBjb2RlY19lcnIgPQotICAgICAgICB1cGRh
dGVfZXJyb3Jfc3RhdGUoY3R4LCAmY3R4LT5jcGktPmNvbW1vbi5lcnJvcik7Ci0gICAgY3R4LT5j
cGktPmNvbW1vbi5lcnJvci5zZXRqbXAgPSAwOwotICAgIHZweF9jbGVhcl9zeXN0ZW1fc3RhdGUo
KTsKLSAgICBhc3NlcnQoY29kZWNfZXJyICE9IFZQWF9DT0RFQ19PSyk7Ci0gICAgcmV0dXJuIGNv
ZGVjX2VycjsKKyAgaWYgKHJlcyA9PSBWUFhfQ09ERUNfT0spIHsKKyAgICBjdHgtPmNmZyA9ICpj
Zmc7CisgICAgc2V0X2VuY29kZXJfY29uZmlnKCZjdHgtPm94Y2YsICZjdHgtPmNmZywgJmN0eC0+
ZXh0cmFfY2ZnKTsKKyAgICAvLyBPbiBwcm9maWxlIGNoYW5nZSwgcmVxdWVzdCBhIGtleSBmcmFt
ZQorICAgIGZvcmNlX2tleSB8PSBjdHgtPmNwaS0+Y29tbW9uLnByb2ZpbGUgIT0gY3R4LT5veGNm
LnByb2ZpbGU7CisgICAgdnA5X2NoYW5nZV9jb25maWcoY3R4LT5jcGksICZjdHgtPm94Y2YpOwog
ICB9Ci0gIGN0eC0+Y3BpLT5jb21tb24uZXJyb3Iuc2V0am1wID0gMTsKLQotICBjdHgtPmNmZyA9
ICpjZmc7Ci0gIHNldF9lbmNvZGVyX2NvbmZpZygmY3R4LT5veGNmLCAmY3R4LT5jZmcsICZjdHgt
PmV4dHJhX2NmZyk7Ci0gIHNldF90d29wYXNzX3BhcmFtc19mcm9tX2NvbmZpZygmY3R4LT5jZmcs
IGN0eC0+Y3BpKTsKLSAgLy8gT24gcHJvZmlsZSBjaGFuZ2UsIHJlcXVlc3QgYSBrZXkgZnJhbWUK
LSAgZm9yY2Vfa2V5IHw9IGN0eC0+Y3BpLT5jb21tb24ucHJvZmlsZSAhPSBjdHgtPm94Y2YucHJv
ZmlsZTsKLSAgdnA5X2NoYW5nZV9jb25maWcoY3R4LT5jcGksICZjdHgtPm94Y2YpOwogCiAgIGlm
IChmb3JjZV9rZXkpIGN0eC0+bmV4dF9mcmFtZV9mbGFncyB8PSBWUFhfRUZMQUdfRk9SQ0VfS0Y7
CiAKLSAgY3R4LT5jcGktPmNvbW1vbi5lcnJvci5zZXRqbXAgPSAwOwotICByZXR1cm4gVlBYX0NP
REVDX09LOworICByZXR1cm4gcmVzOwogfQogCiBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IGN0cmxf
Z2V0X3F1YW50aXplcih2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LApAQCAtODUyLDMyICs2OTAs
MTIgQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCBjdHJsX2dldF9xdWFudGl6ZXI2NCh2cHhfY29k
ZWNfYWxnX3ByaXZfdCAqY3R4LAogICByZXR1cm4gVlBYX0NPREVDX09LOwogfQogCi1zdGF0aWMg
dnB4X2NvZGVjX2Vycl90IGN0cmxfZ2V0X3F1YW50aXplcl9zdmNfbGF5ZXJzKHZweF9jb2RlY19h
bGdfcHJpdl90ICpjdHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhX2xpc3QgYXJncykgewotICBpbnQgKmNvbnN0IGFyZyA9IHZhX2FyZyhh
cmdzLCBpbnQgKik7Ci0gIGludCBpOwotICBpZiAoYXJnID09IE5VTEwpIHJldHVybiBWUFhfQ09E
RUNfSU5WQUxJRF9QQVJBTTsKLSAgZm9yIChpID0gMDsgaSA8IFZQWF9TU19NQVhfTEFZRVJTOyBp
KyspIHsKLSAgICBhcmdbaV0gPSBjdHgtPmNwaS0+c3ZjLmJhc2VfcWluZGV4W2ldOwotICB9Ci0g
IHJldHVybiBWUFhfQ09ERUNfT0s7Ci19Ci0KLXN0YXRpYyB2cHhfY29kZWNfZXJyX3QgY3RybF9n
ZXRfbG9vcGZpbHRlcl9sZXZlbCh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncykgewot
ICBpbnQgKmNvbnN0IGFyZyA9IHZhX2FyZyhhcmdzLCBpbnQgKik7Ci0gIGlmIChhcmcgPT0gTlVM
TCkgcmV0dXJuIFZQWF9DT0RFQ19JTlZBTElEX1BBUkFNOwotICAqYXJnID0gY3R4LT5jcGktPmNv
bW1vbi5sZi5maWx0ZXJfbGV2ZWw7Ci0gIHJldHVybiBWUFhfQ09ERUNfT0s7Ci19Ci0KIHN0YXRp
YyB2cHhfY29kZWNfZXJyX3QgdXBkYXRlX2V4dHJhX2NmZyh2cHhfY29kZWNfYWxnX3ByaXZfdCAq
Y3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj
dCB2cDlfZXh0cmFjZmcgKmV4dHJhX2NmZykgewogICBjb25zdCB2cHhfY29kZWNfZXJyX3QgcmVz
ID0gdmFsaWRhdGVfY29uZmlnKGN0eCwgJmN0eC0+Y2ZnLCBleHRyYV9jZmcpOwogICBpZiAocmVz
ID09IFZQWF9DT0RFQ19PSykgewogICAgIGN0eC0+ZXh0cmFfY2ZnID0gKmV4dHJhX2NmZzsKICAg
ICBzZXRfZW5jb2Rlcl9jb25maWcoJmN0eC0+b3hjZiwgJmN0eC0+Y2ZnLCAmY3R4LT5leHRyYV9j
ZmcpOwotICAgIHNldF90d29wYXNzX3BhcmFtc19mcm9tX2NvbmZpZygmY3R4LT5jZmcsIGN0eC0+
Y3BpKTsKICAgICB2cDlfY2hhbmdlX2NvbmZpZyhjdHgtPmNwaSwgJmN0eC0+b3hjZik7CiAgIH0K
ICAgcmV0dXJuIHJlczsKQEAgLTEwMjMsNyArODQxLDYgQEAgc3RhdGljIHZweF9jb2RlY19lcnJf
dCBjdHJsX3NldF9hcV9tb2RlKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdzKSB7CiAgIHN0cnVjdCB2
cDlfZXh0cmFjZmcgZXh0cmFfY2ZnID0gY3R4LT5leHRyYV9jZmc7CiAgIGV4dHJhX2NmZy5hcV9t
b2RlID0gQ0FTVChWUDlFX1NFVF9BUV9NT0RFLCBhcmdzKTsKLSAgaWYgKGN0eC0+Y3BpLT5maXhl
ZF9xcF9vbmVwYXNzKSBleHRyYV9jZmcuYXFfbW9kZSA9IDA7CiAgIHJldHVybiB1cGRhdGVfZXh0
cmFfY2ZnKGN0eCwgJmV4dHJhX2NmZyk7CiB9CiAKQEAgLTEwNjksMTggKzg4Niw2IEBAIHN0YXRp
YyB2cHhfY29kZWNfZXJyX3QgY3RybF9zZXRfcm93X210KHZweF9jb2RlY19hbGdfcHJpdl90ICpj
dHgsCiAgIHJldHVybiB1cGRhdGVfZXh0cmFfY2ZnKGN0eCwgJmV4dHJhX2NmZyk7CiB9CiAKLXN0
YXRpYyB2cHhfY29kZWNfZXJyX3QgY3RybF9zZXRfcnRjX2V4dGVybmFsX3JhdGVjdHJsKHZweF9j
b2RlY19hbGdfcHJpdl90ICpjdHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ3MpIHsKLSAgVlA5X0NPTVAgKmNvbnN0IGNw
aSA9IGN0eC0+Y3BpOwotICBjb25zdCB1bnNpZ25lZCBpbnQgZGF0YSA9IHZhX2FyZyhhcmdzLCB1
bnNpZ25lZCBpbnQpOwotICBpZiAoZGF0YSkgewotICAgIGNwaS0+Y29tcHV0ZV9mcmFtZV9sb3df
bW90aW9uX29uZXBhc3MgPSAwOwotICAgIGNwaS0+cmMuY29uc3RyYWluX2dmX2tleV9mcmVxX29u
ZXBhc3NfdmJyID0gMDsKLSAgICBjcGktPmN5Y2xpY19yZWZyZXNoLT5jb250ZW50X21vZGUgPSAw
OwotICB9Ci0gIHJldHVybiBWUFhfQ09ERUNfT0s7Ci19Ci0KIHN0YXRpYyB2cHhfY29kZWNfZXJy
X3QgY3RybF9lbmFibGVfbW90aW9uX3ZlY3Rvcl91bml0X3Rlc3QoCiAgICAgdnB4X2NvZGVjX2Fs
Z19wcml2X3QgKmN0eCwgdmFfbGlzdCBhcmdzKSB7CiAgIHN0cnVjdCB2cDlfZXh0cmFjZmcgZXh0
cmFfY2ZnID0gY3R4LT5leHRyYV9jZmc7CkBAIC0xMTE4LDcgKzkyMyw3IEBAIHN0YXRpYyB2cHhf
Y29kZWNfZXJyX3QgZW5jb2Rlcl9pbml0KHZweF9jb2RlY19jdHhfdCAqY3R4LAogICAgIH0KIAog
ICAgIHByaXYtPmV4dHJhX2NmZyA9IGRlZmF1bHRfZXh0cmFfY2ZnOwotICAgIHZwOV9pbml0aWFs
aXplX2VuYygpOworICAgIG9uY2UodnA5X2luaXRpYWxpemVfZW5jKTsKIAogICAgIHJlcyA9IHZh
bGlkYXRlX2NvbmZpZyhwcml2LCAmcHJpdi0+Y2ZnLCAmcHJpdi0+ZXh0cmFfY2ZnKTsKIApAQCAt
MTEzNSw3ICs5NDAsNiBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IGVuY29kZXJfaW5pdCh2cHhf
Y29kZWNfY3R4X3QgKmN0eCwKICNlbmRpZgogICAgICAgcHJpdi0+Y3BpID0gdnA5X2NyZWF0ZV9j
b21wcmVzc29yKCZwcml2LT5veGNmLCBwcml2LT5idWZmZXJfcG9vbCk7CiAgICAgICBpZiAocHJp
di0+Y3BpID09IE5VTEwpIHJlcyA9IFZQWF9DT0RFQ19NRU1fRVJST1I7Ci0gICAgICBzZXRfdHdv
cGFzc19wYXJhbXNfZnJvbV9jb25maWcoJnByaXYtPmNmZywgcHJpdi0+Y3BpKTsKICAgICB9CiAg
IH0KIApAQCAtMTM2Nyw2ICsxMTcxLDggQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCBlbmNvZGVy
X2VuY29kZSh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICAgIHVuc2lnbmVkIGludCBsaWJf
ZmxhZ3MgPSAwOwogICAgIFlWMTJfQlVGRkVSX0NPTkZJRyBzZDsKICAgICBpbnQ2NF90IGRzdF90
aW1lX3N0YW1wID0gdGltZWJhc2VfdW5pdHNfdG9fdGlja3ModGltZXN0YW1wX3JhdGlvLCBwdHMp
OworICAgIGludDY0X3QgZHN0X2VuZF90aW1lX3N0YW1wID0KKyAgICAgICAgdGltZWJhc2VfdW5p
dHNfdG9fdGlja3ModGltZXN0YW1wX3JhdGlvLCBwdHMgKyBkdXJhdGlvbik7CiAgICAgc2l6ZV90
IHNpemUsIGN4X2RhdGFfc3o7CiAgICAgdW5zaWduZWQgY2hhciAqY3hfZGF0YTsKIApAQCAtMTM3
Nyw4ICsxMTgzLDYgQEAgc3RhdGljIHZweF9jb2RlY19lcnJfdCBlbmNvZGVyX2VuY29kZSh2cHhf
Y29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICAgIGlmIChjdHgtPmJhc2UuaW5pdF9mbGFncyAmIFZQ
WF9DT0RFQ19VU0VfUFNOUikgY3BpLT5iX2NhbGN1bGF0ZV9wc25yID0gMTsKIAogICAgIGlmIChp
bWcgIT0gTlVMTCkgewotICAgICAgY29uc3QgaW50NjRfdCBkc3RfZW5kX3RpbWVfc3RhbXAgPQot
ICAgICAgICAgIHRpbWViYXNlX3VuaXRzX3RvX3RpY2tzKHRpbWVzdGFtcF9yYXRpbywgcHRzICsg
ZHVyYXRpb24pOwogICAgICAgcmVzID0gaW1hZ2UyeXV2Y29uZmlnKGltZywgJnNkKTsKIAogICAg
ICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIGZsYWdzIGluIHRvIHRoZSBmcmFtZSBidWZmZXIuIFdp
bGwgZXh0cmFjdCB0aGUKQEAgLTE0MTUsNyArMTIxOSw2IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJy
X3QgZW5jb2Rlcl9lbmNvZGUodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCwKICAgICAgIC8vIGNv
bXB1dGUgZmlyc3QgcGFzcyBzdGF0cwogICAgICAgaWYgKGltZykgewogICAgICAgICBpbnQgcmV0
OwotICAgICAgICBpbnQ2NF90IGRzdF9lbmRfdGltZV9zdGFtcDsKICAgICAgICAgdnB4X2NvZGVj
X2N4X3BrdF90IGZwc19wa3Q7CiAgICAgICAgIEVOQ09ERV9GUkFNRV9SRVNVTFQgZW5jb2RlX2Zy
YW1lX3Jlc3VsdDsKICAgICAgICAgdnA5X2luaXRfZW5jb2RlX2ZyYW1lX3Jlc3VsdCgmZW5jb2Rl
X2ZyYW1lX3Jlc3VsdCk7CkBAIC0xNDQxLDcgKzEyNDQsNiBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vy
cl90IGVuY29kZXJfZW5jb2RlKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAjZW5kaWYgIC8v
ICFDT05GSUdfUkVBTFRJTUVfT05MWQogICAgIH0gZWxzZSB7CiAgICAgICBFTkNPREVfRlJBTUVf
UkVTVUxUIGVuY29kZV9mcmFtZV9yZXN1bHQ7Ci0gICAgICBpbnQ2NF90IGRzdF9lbmRfdGltZV9z
dGFtcDsKICAgICAgIHZwOV9pbml0X2VuY29kZV9mcmFtZV9yZXN1bHQoJmVuY29kZV9mcmFtZV9y
ZXN1bHQpOwogICAgICAgd2hpbGUgKGN4X2RhdGFfc3ogPj0gY3R4LT5jeF9kYXRhX3N6IC8gMiAm
JgogICAgICAgICAgICAgIC0xICE9IHZwOV9nZXRfY29tcHJlc3NlZF9kYXRhKGNwaSwgJmxpYl9m
bGFncywgJnNpemUsIGN4X2RhdGEsCkBAIC0xNTM3LDggKzEzMzksOSBAQCBzdGF0aWMgdnB4X2Nv
ZGVjX2Vycl90IGVuY29kZXJfZW5jb2RlKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAKICAg
ICAgICAgICBjeF9kYXRhICs9IHNpemU7CiAgICAgICAgICAgY3hfZGF0YV9zeiAtPSBzaXplOwot
ICAgICAgICAgIGlmIChpc19vbmVfcGFzc19zdmMoY3BpKSAmJiAoY3BpLT5zdmMuc3BhdGlhbF9s
YXllcl9pZCA9PQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BpLT5z
dmMubnVtYmVyX3NwYXRpYWxfbGF5ZXJzIC0gMSkpIHsKKyAgICAgICAgICBpZiAoaXNfb25lX3Bh
c3NfY2JyX3N2YyhjcGkpICYmCisgICAgICAgICAgICAgIChjcGktPnN2Yy5zcGF0aWFsX2xheWVy
X2lkID09CisgICAgICAgICAgICAgICBjcGktPnN2Yy5udW1iZXJfc3BhdGlhbF9sYXllcnMgLSAx
KSkgewogICAgICAgICAgICAgLy8gRW5jb2RlZCBhbGwgc3BhdGlhbCBsYXllcnM7IGV4aXQgbG9v
cC4KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgIH0KQEAgLTE2NDAsOSArMTQ0MywxMyBA
QCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IGN0cmxfc2V0X3JvaV9tYXAodnB4X2NvZGVjX2FsZ19w
cml2X3QgKmN0eCwKIAogICBpZiAoZGF0YSkgewogICAgIHZweF9yb2lfbWFwX3QgKnJvaSA9ICh2
cHhfcm9pX21hcF90ICopZGF0YTsKLSAgICByZXR1cm4gdnA5X3NldF9yb2lfbWFwKGN0eC0+Y3Bp
LCByb2ktPnJvaV9tYXAsIHJvaS0+cm93cywgcm9pLT5jb2xzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcm9pLT5kZWx0YV9xLCByb2ktPmRlbHRhX2xmLCByb2ktPnNraXAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICByb2ktPnJlZl9mcmFtZSk7CisKKyAgICBpZiAoIXZwOV9zZXRf
cm9pX21hcChjdHgtPmNwaSwgcm9pLT5yb2lfbWFwLCByb2ktPnJvd3MsIHJvaS0+Y29scywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICByb2ktPmRlbHRhX3EsIHJvaS0+ZGVsdGFfbGYsIHJvaS0+
c2tpcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICByb2ktPnJlZl9mcmFtZSkpIHsKKyAgICAg
IHJldHVybiBWUFhfQ09ERUNfT0s7CisgICAgfQorICAgIHJldHVybiBWUFhfQ09ERUNfSU5WQUxJ
RF9QQVJBTTsKICAgfQogICByZXR1cm4gVlBYX0NPREVDX0lOVkFMSURfUEFSQU07CiB9CkBAIC0x
NjgwLDggKzE0ODcsOSBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IGN0cmxfc2V0X3NjYWxlX21v
ZGUodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCwKICAgdnB4X3NjYWxpbmdfbW9kZV90ICpjb25z
dCBtb2RlID0gdmFfYXJnKGFyZ3MsIHZweF9zY2FsaW5nX21vZGVfdCAqKTsKIAogICBpZiAobW9k
ZSkgewotICAgIGNvbnN0IGludCByZXMgPSB2cDlfc2V0X2ludGVybmFsX3NpemUoY3R4LT5jcGks
IG1vZGUtPmhfc2NhbGluZ19tb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbW9kZS0+dl9zY2FsaW5nX21vZGUpOworICAgIGNvbnN0IGludCByZXMgPQorICAg
ICAgICB2cDlfc2V0X2ludGVybmFsX3NpemUoY3R4LT5jcGksIChWUFhfU0NBTElORyltb2RlLT5o
X3NjYWxpbmdfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChWUFhfU0NBTElO
Ryltb2RlLT52X3NjYWxpbmdfbW9kZSk7CiAgICAgcmV0dXJuIChyZXMgPT0gMCkgPyBWUFhfQ09E
RUNfT0sgOiBWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTTsKICAgfQogICByZXR1cm4gVlBYX0NPREVD
X0lOVkFMSURfUEFSQU07CkBAIC0xNzkzLDI0ICsxNjAxLDYgQEAgc3RhdGljIHZweF9jb2RlY19l
cnJfdCBjdHJsX2dldF9zdmNfcmVmX2ZyYW1lX2NvbmZpZyh2cHhfY29kZWNfYWxnX3ByaXZfdCAq
Y3R4LAogICByZXR1cm4gVlBYX0NPREVDX09LOwogfQogCi1zdGF0aWMgdnB4X2NvZGVjX2Vycl90
IGN0cmxfZ2V0X3RwbF9zdGF0cyh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdzKSB7Ci0gIFZQOV9D
T01QICpjb25zdCBjcGkgPSBjdHgtPmNwaTsKLSAgVnB4VHBsR29wU3RhdHMgKmRhdGEgPSB2YV9h
cmcoYXJncywgVnB4VHBsR29wU3RhdHMgKik7Ci0gIFZweFRwbEZyYW1lU3RhdHMgKmZyYW1lX3N0
YXRzX2xpc3QgPSBjcGktPnRwbF9nb3Bfc3RhdHMuZnJhbWVfc3RhdHNfbGlzdDsKLSAgaW50IGk7
Ci0gIGlmIChkYXRhID09IE5VTEwpIHsKLSAgICByZXR1cm4gVlBYX0NPREVDX0lOVkFMSURfUEFS
QU07Ci0gIH0KLSAgZGF0YS0+c2l6ZSA9IGNwaS0+dHBsX2dvcF9zdGF0cy5zaXplOwotCi0gIGZv
ciAoaSA9IDA7IGkgPCBkYXRhLT5zaXplOyBpKyspIHsKLSAgICBkYXRhLT5mcmFtZV9zdGF0c19s
aXN0W2ldID0gZnJhbWVfc3RhdHNfbGlzdFtpXTsKLSAgfQotCi0gIHJldHVybiBWUFhfQ09ERUNf
T0s7Ci19Ci0KIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgY3RybF9zZXRfc3ZjX3JlZl9mcmFtZV9j
b25maWcodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdzKSB7CiAgIFZQOV9DT01Q
ICpjb25zdCBjcGkgPSBjdHgtPmNwaTsKQEAgLTE5NTUsMjggKzE3NDUsMTYgQEAgc3RhdGljIHZw
eF9jb2RlY19lcnJfdCBjdHJsX3NldF9leHRlcm5hbF9yYXRlX2NvbnRyb2wodnB4X2NvZGVjX2Fs
Z19wcml2X3QgKmN0eCwKICAgICBjb25zdCBGUkFNRV9JTkZPICpmcmFtZV9pbmZvID0gJmNwaS0+
ZnJhbWVfaW5mbzsKICAgICB2cHhfcmNfY29uZmlnX3QgcmF0ZWN0cmxfY29uZmlnOwogICAgIHZw
eF9jb2RlY19lcnJfdCBjb2RlY19zdGF0dXM7Ci0gICAgbWVtc2V0KCZyYXRlY3RybF9jb25maWcs
IDAsIHNpemVvZihyYXRlY3RybF9jb25maWcpKTsKIAogICAgIHJhdGVjdHJsX2NvbmZpZy5mcmFt
ZV93aWR0aCA9IGZyYW1lX2luZm8tPmZyYW1lX3dpZHRoOwogICAgIHJhdGVjdHJsX2NvbmZpZy5m
cmFtZV9oZWlnaHQgPSBmcmFtZV9pbmZvLT5mcmFtZV9oZWlnaHQ7CiAgICAgcmF0ZWN0cmxfY29u
ZmlnLnNob3dfZnJhbWVfY291bnQgPSBjcGktPnR3b3Bhc3MuZmlyc3RfcGFzc19pbmZvLm51bV9m
cmFtZXM7Ci0gICAgcmF0ZWN0cmxfY29uZmlnLm1heF9nZl9pbnRlcnZhbCA9IG94Y2YtPm1heF9n
Zl9pbnRlcnZhbDsKLSAgICByYXRlY3RybF9jb25maWcubWluX2dmX2ludGVydmFsID0gb3hjZi0+
bWluX2dmX2ludGVydmFsOworCiAgICAgLy8gVE9ETyhhbmdpZWJpcmQpOiBEb3VibGUgY2hlY2sg
d2hldGhlciB0aGlzIGlzIHRoZSBwcm9wZXIgd2F5IHRvIHNldCB1cAogICAgIC8vIHRhcmdldF9i
aXRyYXRlIGFuZCBmcmFtZV9yYXRlLgogICAgIHJhdGVjdHJsX2NvbmZpZy50YXJnZXRfYml0cmF0
ZV9rYnBzID0gKGludCkob3hjZi0+dGFyZ2V0X2JhbmR3aWR0aCAvIDEwMDApOwogICAgIHJhdGVj
dHJsX2NvbmZpZy5mcmFtZV9yYXRlX251bSA9IG94Y2YtPmdfdGltZWJhc2UuZGVuOwogICAgIHJh
dGVjdHJsX2NvbmZpZy5mcmFtZV9yYXRlX2RlbiA9IG94Y2YtPmdfdGltZWJhc2UubnVtOwotICAg
IHJhdGVjdHJsX2NvbmZpZy5vdmVyc2hvb3RfcGVyY2VudCA9IG94Y2YtPm92ZXJfc2hvb3RfcGN0
OwotICAgIHJhdGVjdHJsX2NvbmZpZy51bmRlcnNob290X3BlcmNlbnQgPSBveGNmLT51bmRlcl9z
aG9vdF9wY3Q7Ci0KLSAgICBpZiAob3hjZi0+cmNfbW9kZSA9PSBWUFhfVkJSKSB7Ci0gICAgICBy
YXRlY3RybF9jb25maWcucmNfbW9kZSA9IFZQWF9SQ19WQlI7Ci0gICAgfSBlbHNlIGlmIChveGNm
LT5yY19tb2RlID09IFZQWF9RKSB7Ci0gICAgICByYXRlY3RybF9jb25maWcucmNfbW9kZSA9IFZQ
WF9SQ19RTU9ERTsKLSAgICB9IGVsc2UgaWYgKG94Y2YtPnJjX21vZGUgPT0gVlBYX0NRKSB7Ci0g
ICAgICByYXRlY3RybF9jb25maWcucmNfbW9kZSA9IFZQWF9SQ19DUTsKLSAgICB9CiAKICAgICBj
b2RlY19zdGF0dXMgPSB2cDlfZXh0cmNfY3JlYXRlKGZ1bmNzLCByYXRlY3RybF9jb25maWcsIGV4
dF9yYXRlY3RybCk7CiAgICAgaWYgKGNvZGVjX3N0YXR1cyAhPSBWUFhfQ09ERUNfT0spIHsKQEAg
LTE5ODYsMjQgKzE3NjQsNiBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IGN0cmxfc2V0X2V4dGVy
bmFsX3JhdGVfY29udHJvbCh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICByZXR1cm4gVlBY
X0NPREVDX09LOwogfQogCi1zdGF0aWMgdnB4X2NvZGVjX2Vycl90IGN0cmxfc2V0X3F1YW50aXpl
cl9vbmVfcGFzcyh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdzKSB7Ci0gIFZQOV9D
T01QICpjb25zdCBjcGkgPSBjdHgtPmNwaTsKLSAgY29uc3QgaW50IHFwID0gdmFfYXJnKGFyZ3Ms
IGludCk7Ci0gIHZweF9jb2RlY19lbmNfY2ZnX3QgKmNmZyA9ICZjdHgtPmNmZzsKLSAgc3RydWN0
IHZwOV9leHRyYWNmZyBleHRyYV9jZmcgPSBjdHgtPmV4dHJhX2NmZzsKLSAgdnB4X2NvZGVjX2Vy
cl90IHJlczsKLQotICBpZiAocXAgPCAwIHx8IHFwID4gNjMpIHJldHVybiBWUFhfQ09ERUNfSU5W
QUxJRF9QQVJBTTsKLQotICBjZmctPnJjX21pbl9xdWFudGl6ZXIgPSBjZmctPnJjX21heF9xdWFu
dGl6ZXIgPSBxcDsKLSAgZXh0cmFfY2ZnLmFxX21vZGUgPSAwOwotICBjcGktPmZpeGVkX3FwX29u
ZXBhc3MgPSAxOwotCi0gIHJlcyA9IHVwZGF0ZV9leHRyYV9jZmcoY3R4LCAmZXh0cmFfY2ZnKTsK
LSAgcmV0dXJuIHJlczsKLX0KLQogc3RhdGljIHZweF9jb2RlY19jdHJsX2ZuX21hcF90IGVuY29k
ZXJfY3RybF9tYXBzW10gPSB7CiAgIHsgVlA4X0NPUFlfUkVGRVJFTkNFLCBjdHJsX2NvcHlfcmVm
ZXJlbmNlIH0sCiAKQEAgLTIwNTYsMjEgKzE4MTYsMTYgQEAgc3RhdGljIHZweF9jb2RlY19jdHJs
X2ZuX21hcF90IGVuY29kZXJfY3RybF9tYXBzW10gPSB7CiAgIHsgVlA5RV9TRVRfU1ZDX1NQQVRJ
QUxfTEFZRVJfU1lOQywgY3RybF9zZXRfc3ZjX3NwYXRpYWxfbGF5ZXJfc3luYyB9LAogICB7IFZQ
OUVfU0VUX0RFTFRBX1FfVVYsIGN0cmxfc2V0X2RlbHRhX3FfdXYgfSwKICAgeyBWUDlFX1NFVF9E
SVNBQkxFX0xPT1BGSUxURVIsIGN0cmxfc2V0X2Rpc2FibGVfbG9vcGZpbHRlciB9LAotICB7IFZQ
OUVfU0VUX1JUQ19FWFRFUk5BTF9SQVRFQ1RSTCwgY3RybF9zZXRfcnRjX2V4dGVybmFsX3JhdGVj
dHJsIH0sCiAgIHsgVlA5RV9TRVRfRVhURVJOQUxfUkFURV9DT05UUk9MLCBjdHJsX3NldF9leHRl
cm5hbF9yYXRlX2NvbnRyb2wgfSwKLSAgeyBWUDlFX1NFVF9RVUFOVElaRVJfT05FX1BBU1MsIGN0
cmxfc2V0X3F1YW50aXplcl9vbmVfcGFzcyB9LAogCiAgIC8vIEdldHRlcnMKICAgeyBWUDhFX0dF
VF9MQVNUX1FVQU5USVpFUiwgY3RybF9nZXRfcXVhbnRpemVyIH0sCiAgIHsgVlA4RV9HRVRfTEFT
VF9RVUFOVElaRVJfNjQsIGN0cmxfZ2V0X3F1YW50aXplcjY0IH0sCi0gIHsgVlA5RV9HRVRfTEFT
VF9RVUFOVElaRVJfU1ZDX0xBWUVSUywgY3RybF9nZXRfcXVhbnRpemVyX3N2Y19sYXllcnMgfSwK
LSAgeyBWUDlFX0dFVF9MT09QRklMVEVSX0xFVkVMLCBjdHJsX2dldF9sb29wZmlsdGVyX2xldmVs
IH0sCiAgIHsgVlA5X0dFVF9SRUZFUkVOQ0UsIGN0cmxfZ2V0X3JlZmVyZW5jZSB9LAogICB7IFZQ
OUVfR0VUX1NWQ19MQVlFUl9JRCwgY3RybF9nZXRfc3ZjX2xheWVyX2lkIH0sCiAgIHsgVlA5RV9H
RVRfQUNUSVZFTUFQLCBjdHJsX2dldF9hY3RpdmVfbWFwIH0sCiAgIHsgVlA5RV9HRVRfTEVWRUws
IGN0cmxfZ2V0X2xldmVsIH0sCiAgIHsgVlA5RV9HRVRfU1ZDX1JFRl9GUkFNRV9DT05GSUcsIGN0
cmxfZ2V0X3N2Y19yZWZfZnJhbWVfY29uZmlnIH0sCi0gIHsgVlA5RV9HRVRfVFBMX1NUQVRTLCBj
dHJsX2dldF90cGxfc3RhdHMgfSwKIAogICB7IC0xLCBOVUxMIH0sCiB9OwpAQCAtMjEwMCw4ICsx
ODU1LDggQEAgc3RhdGljIHZweF9jb2RlY19lbmNfY2ZnX21hcF90IGVuY29kZXJfdXNhZ2VfY2Zn
X21hcFtdID0gewogICAgICAgICAwLCAgIC8vIHJjX3Jlc2l6ZV9hbGxvd2VkCiAgICAgICAgIDAs
ICAgLy8gcmNfc2NhbGVkX3dpZHRoCiAgICAgICAgIDAsICAgLy8gcmNfc2NhbGVkX2hlaWdodAot
ICAgICAgICA2MCwgIC8vIHJjX3Jlc2l6ZV9kb3duX3RocmVzaAotICAgICAgICAzMCwgIC8vIHJj
X3Jlc2l6ZV91cF90aHJlc2gKKyAgICAgICAgNjAsICAvLyByY19yZXNpemVfZG93bl90aHJlc29s
ZAorICAgICAgICAzMCwgIC8vIHJjX3Jlc2l6ZV91cF90aHJlc29sZAogCiAgICAgICAgIFZQWF9W
QlIsICAgICAgLy8gcmNfZW5kX3VzYWdlCiAgICAgICAgIHsgTlVMTCwgMCB9LCAgLy8gcmNfdHdv
cGFzc19zdGF0c19pbgpAQCAtMjEyOCwzMCArMTg4MywxNCBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vu
Y19jZmdfbWFwX3QgZW5jb2Rlcl91c2FnZV9jZmdfbWFwW10gPSB7CiAKICAgICAgICAgVlBYX1NT
X0RFRkFVTFRfTEFZRVJTLCAgLy8gc3NfbnVtYmVyX2xheWVycwogICAgICAgICB7IDAgfSwKLSAg
ICAgICAgeyAwIH0sICAgICAvLyBzc190YXJnZXRfYml0cmF0ZQotICAgICAgICAxLCAgICAgICAg
IC8vIHRzX251bWJlcl9sYXllcnMKLSAgICAgICAgeyAwIH0sICAgICAvLyB0c190YXJnZXRfYml0
cmF0ZQotICAgICAgICB7IDAgfSwgICAgIC8vIHRzX3JhdGVfZGVjaW1hdG9yCi0gICAgICAgIDAs
ICAgICAgICAgLy8gdHNfcGVyaW9kaWNpdHkKLSAgICAgICAgeyAwIH0sICAgICAvLyB0c19sYXll
cl9pZAotICAgICAgICB7IDAgfSwgICAgIC8vIGxheWVyX3RhcmdldF9iaXRyYXRlCi0gICAgICAg
IDAsICAgICAgICAgLy8gdGVtcG9yYWxfbGF5ZXJpbmdfbW9kZQotICAgICAgICAwLCAgICAgICAg
IC8vIHVzZV92aXppZXJfcmNfcGFyYW1zCi0gICAgICAgIHsgMSwgMSB9LCAgLy8gYWN0aXZlX3dx
X2ZhY3RvcgotICAgICAgICB7IDEsIDEgfSwgIC8vIGVycl9wZXJfbWJfZmFjdG9yCi0gICAgICAg
IHsgMSwgMSB9LCAgLy8gc3JfZGVmYXVsdF9kZWNheV9saW1pdAotICAgICAgICB7IDEsIDEgfSwg
IC8vIHNyX2RpZmZfZmFjdG9yCi0gICAgICAgIHsgMSwgMSB9LCAgLy8ga2ZfZXJyX3Blcl9tYl9m
YWN0b3IKLSAgICAgICAgeyAxLCAxIH0sICAvLyBrZl9mcmFtZV9taW5fYm9vc3RfZmFjdG9yCi0g
ICAgICAgIHsgMSwgMSB9LCAgLy8ga2ZfZnJhbWVfbWF4X2Jvb3N0X2ZpcnN0X2ZhY3RvcgotICAg
ICAgICB7IDEsIDEgfSwgIC8vIGtmX2ZyYW1lX21heF9ib29zdF9zdWJzX2ZhY3RvcgotICAgICAg
ICB7IDEsIDEgfSwgIC8vIGtmX21heF90b3RhbF9ib29zdF9mYWN0b3IKLSAgICAgICAgeyAxLCAx
IH0sICAvLyBnZl9tYXhfdG90YWxfYm9vc3RfZmFjdG9yCi0gICAgICAgIHsgMSwgMSB9LCAgLy8g
Z2ZfZnJhbWVfbWF4X2Jvb3N0X2ZhY3RvcgotICAgICAgICB7IDEsIDEgfSwgIC8vIHptX2ZhY3Rv
cgotICAgICAgICB7IDEsIDEgfSwgIC8vIHJkX211bHRfaW50ZXJfcXBfZmFjCi0gICAgICAgIHsg
MSwgMSB9LCAgLy8gcmRfbXVsdF9hcmZfcXBfZmFjCi0gICAgICAgIHsgMSwgMSB9LCAgLy8gcmRf
bXVsdF9rZXlfcXBfZmFjCisgICAgICAgIHsgMCB9LCAgLy8gc3NfdGFyZ2V0X2JpdHJhdGUKKyAg
ICAgICAgMSwgICAgICAvLyB0c19udW1iZXJfbGF5ZXJzCisgICAgICAgIHsgMCB9LCAgLy8gdHNf
dGFyZ2V0X2JpdHJhdGUKKyAgICAgICAgeyAwIH0sICAvLyB0c19yYXRlX2RlY2ltYXRvcgorICAg
ICAgICAwLCAgICAgIC8vIHRzX3BlcmlvZGljaXR5CisgICAgICAgIHsgMCB9LCAgLy8gdHNfbGF5
ZXJfaWQKKyAgICAgICAgeyAwIH0sICAvLyBsYXllcl90YWdldF9iaXRyYXRlCisgICAgICAgIDAg
ICAgICAgLy8gdGVtcG9yYWxfbGF5ZXJpbmdfbW9kZQogICAgIH0gfSwKIH07CiAKQEAgLTIyMTIs
NyArMTk1MSw2IEBAIHN0YXRpYyB2cDlfZXh0cmFjZmcgZ2V0X2V4dHJhX2NmZygpIHsKIFZQOUVu
Y29kZXJDb25maWcgdnA5X2dldF9lbmNvZGVyX2NvbmZpZyhpbnQgZnJhbWVfd2lkdGgsIGludCBm
cmFtZV9oZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnB4
X3JhdGlvbmFsX3QgZnJhbWVfcmF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgdGFyZ2V0X2JpdHJhdGUsIGludCBlbmNvZGVfc3BlZWQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRhcmdldF9sZXZlbCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhfZW5jX3Bhc3MgZW5jX3Bhc3MpIHsK
ICAgLyogVGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRlIHRoZSBzYW1lIFZQOUVuY29kZXJDb25m
aWcgdXNlZCBieSB0aGUKICAgICogdnB4ZW5jIGNvbW1hbmQgZ2l2ZW4gYmVsb3cuCkBAIC0yMjI0
LDcgKzE5NjIsNiBAQCBWUDlFbmNvZGVyQ29uZmlnIHZwOV9nZXRfZW5jb2Rlcl9jb25maWcoaW50
IGZyYW1lX3dpZHRoLCBpbnQgZnJhbWVfaGVpZ2h0LAogICAgKiBGUFM6ICAgICBmcmFtZV9yYXRl
CiAgICAqIEJJVFJBVEU6IHRhcmdldF9iaXRyYXRlCiAgICAqIENQVV9VU0VEOmVuY29kZV9zcGVl
ZAotICAgKiBUQVJHRVRfTEVWRUw6IHRhcmdldF9sZXZlbAogICAgKgogICAgKiBJTlBVVCwgT1VU
UFVULCBMSU1JVCB3aWxsIG5vdCBhZmZlY3QgVlA5RW5jb2RlckNvbmZpZwogICAgKgpAQCAtMjIz
Nyw3ICsxOTc0LDYgQEAgVlA5RW5jb2RlckNvbmZpZyB2cDlfZ2V0X2VuY29kZXJfY29uZmlnKGlu
dCBmcmFtZV93aWR0aCwgaW50IGZyYW1lX2hlaWdodCwKICAgICogRlBTPTMwLzEKICAgICogTElN
SVQ9MTUwCiAgICAqIENQVV9VU0VEPTAKLSAgICogVEFSR0VUX0xFVkVMPTAKICAgICogLi92cHhl
bmMgLS1saW1pdD0kTElNSVQgLS13aWR0aD0kV0lEVEggLS1oZWlnaHQ9JEhFSUdIVCAtLWZwcz0k
RlBTCiAgICAqIC0tbGFnLWluLWZyYW1lcz0yNSBcCiAgICAqICAtLWNvZGVjPXZwOSAtLWdvb2Qg
LS1jcHUtdXNlZD1DUFVfVVNFRCAtLXRocmVhZHM9MCAtLXByb2ZpbGU9MCBcCkBAIC0yMjQ2LDcg
KzE5ODIsNyBAQCBWUDlFbmNvZGVyQ29uZmlnIHZwOV9nZXRfZW5jb2Rlcl9jb25maWcoaW50IGZy
YW1lX3dpZHRoLCBpbnQgZnJhbWVfaGVpZ2h0LAogICAgKiAgLS1taW5zZWN0aW9uLXBjdD0wIC0t
bWF4c2VjdGlvbi1wY3Q9MTUwIC0tYXJuci1tYXhmcmFtZXM9NyAtLXBzbnIgXAogICAgKiAgLS1h
cm5yLXN0cmVuZ3RoPTUgLS1zaGFycG5lc3M9MCAtLXVuZGVyc2hvb3QtcGN0PTEwMCAtLW92ZXJz
aG9vdC1wY3Q9MTAwIFwKICAgICogIC0tZnJhbWUtcGFyYWxsZWw9MCAtLXRpbGUtY29sdW1ucz0w
IC0tY3B1LXVzZWQ9MCAtLWVuZC11c2FnZT12YnIgXAotICAgKiAgLS10YXJnZXQtYml0cmF0ZT0k
QklUUkFURSAtLXRhcmdldC1sZXZlbD0wIC1vICRPVVRQVVQgJElOUFVUCisgICAqICAtLXRhcmdl
dC1iaXRyYXRlPSRCSVRSQVRFIC1vICRPVVRQVVQgJElOUFVUCiAgICAqLwogCiAgIFZQOUVuY29k
ZXJDb25maWcgb3hjZjsKQEAgLTIyNjQsNyArMjAwMCw2IEBAIFZQOUVuY29kZXJDb25maWcgdnA5
X2dldF9lbmNvZGVyX2NvbmZpZyhpbnQgZnJhbWVfd2lkdGgsIGludCBmcmFtZV9oZWlnaHQsCiAg
IG94Y2YuZnJhbWVfcGFyYWxsZWxfZGVjb2RpbmdfbW9kZSA9IDA7CiAgIG94Y2YudHdvX3Bhc3Nf
dmJybWF4X3NlY3Rpb24gPSAxNTA7CiAgIG94Y2Yuc3BlZWQgPSBhYnMoZW5jb2RlX3NwZWVkKTsK
LSAgb3hjZi50YXJnZXRfbGV2ZWwgPSB0YXJnZXRfbGV2ZWw7CiAgIHJldHVybiBveGNmOwogfQog
CkBAIC0yMzc0LDYgKzIxMDksMTEgQEAgdm9pZCB2cDlfZHVtcF9lbmNvZGVyX2NvbmZpZyhjb25z
dCBWUDlFbmNvZGVyQ29uZmlnICpveGNmLCBGSUxFICpmcCkgewogICBEVU1QX1NUUlVDVF9WQUxV
RShmcCwgb3hjZiwgdGFyZ2V0X2xldmVsKTsKIAogICAvLyBUT0RPKGFuZ2llYmlyZCk6IGR1bXAg
dHdvX3Bhc3Nfc3RhdHNfaW4KKworI2lmIENPTkZJR19GUF9NQl9TVEFUUworICAvLyBUT0RPKGFu
Z2llYmlyZCk6IGR1bXAgZmlyc3RwYXNzX21iX3N0YXRzX2luCisjZW5kaWYKKwogICBEVU1QX1NU
UlVDVF9WQUxVRShmcCwgb3hjZiwgdHVuaW5nKTsKICAgRFVNUF9TVFJVQ1RfVkFMVUUoZnAsIG94
Y2YsIGNvbnRlbnQpOwogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICkBAIC0yMzg3LDggKzIx
MjcsNiBAQCB2b2lkIHZwOV9kdW1wX2VuY29kZXJfY29uZmlnKGNvbnN0IFZQOUVuY29kZXJDb25m
aWcgKm94Y2YsIEZJTEUgKmZwKSB7CiAKICAgRFVNUF9TVFJVQ1RfVkFMVUUoZnAsIG94Y2YsIHJv
d19tdCk7CiAgIERVTVBfU1RSVUNUX1ZBTFVFKGZwLCBveGNmLCBtb3Rpb25fdmVjdG9yX3VuaXRf
dGVzdCk7Ci0gIERVTVBfU1RSVUNUX1ZBTFVFKGZwLCBveGNmLCBkZWx0YV9xX3V2KTsKLSAgRFVN
UF9TVFJVQ1RfVkFMVUUoZnAsIG94Y2YsIHVzZV9zaW1wbGVfZW5jb2RlX2FwaSk7CiB9CiAKIEZS
QU1FX0lORk8gdnA5X2dldF9mcmFtZV9pbmZvKGNvbnN0IFZQOUVuY29kZXJDb25maWcgKm94Y2Yp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9jeF9pZmFjZS5oIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cDkvdnA5X2N4X2lmYWNlLmgKaW5kZXggZjJkZTg1MDdmZjBkLi4wMTMzOGFkYjRlMzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L3ZwOV9jeF9pZmFjZS5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnA5L3ZwOV9jeF9pZmFjZS5oCkBAIC0yMCw3ICsyMCw2IEBAIGV4dGVybiAiQyIgewogVlA5RW5j
b2RlckNvbmZpZyB2cDlfZ2V0X2VuY29kZXJfY29uZmlnKGludCBmcmFtZV93aWR0aCwgaW50IGZy
YW1lX2hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cHhf
cmF0aW9uYWxfdCBmcmFtZV9yYXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB0YXJnZXRfYml0cmF0ZSwgaW50IGVuY29kZV9zcGVlZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGFyZ2V0X2xldmVsLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZweF9lbmNfcGFzcyBlbmNfcGFzcyk7CiAK
IHZvaWQgdnA5X2R1bXBfZW5jb2Rlcl9jb25maWcoY29uc3QgVlA5RW5jb2RlckNvbmZpZyAqb3hj
ZiwgRklMRSAqZnApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2R4X2lmYWNlLmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZwOS92cDlfZHhfaWZhY2UuYwppbmRleCBhMjQyYzc3NmNkOTQuLjM1ZWNi
YWZmMzcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5X2R4X2lmYWNlLmMKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cDkvdnA5X2R4X2lmYWNlLmMKQEAgLTIwMSw3ICsyMDEsNyBAQCBzdGF0aWMg
dnB4X2NvZGVjX2Vycl90IHVwZGF0ZV9lcnJvcl9zdGF0ZSgKICAgcmV0dXJuIGVycm9yLT5lcnJv
cl9jb2RlOwogfQogCi1zdGF0aWMgdnB4X2NvZGVjX2Vycl90IGluaXRfYnVmZmVyX2NhbGxiYWNr
cyh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4KSB7CitzdGF0aWMgdm9pZCBpbml0X2J1ZmZlcl9j
YWxsYmFja3ModnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCkgewogICBWUDlfQ09NTU9OICpjb25z
dCBjbSA9ICZjdHgtPnBiaS0+Y29tbW9uOwogICBCdWZmZXJQb29sICpjb25zdCBwb29sID0gY20t
PmJ1ZmZlcl9wb29sOwogCkBAIC0yMTcsMTYgKzIxNywxMiBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vy
cl90IGluaXRfYnVmZmVyX2NhbGxiYWNrcyh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4KSB7CiAg
ICAgcG9vbC0+Z2V0X2ZiX2NiID0gdnA5X2dldF9mcmFtZV9idWZmZXI7CiAgICAgcG9vbC0+cmVs
ZWFzZV9mYl9jYiA9IHZwOV9yZWxlYXNlX2ZyYW1lX2J1ZmZlcjsKIAotICAgIGlmICh2cDlfYWxs
b2NfaW50ZXJuYWxfZnJhbWVfYnVmZmVycygmcG9vbC0+aW50X2ZyYW1lX2J1ZmZlcnMpKSB7Cisg
ICAgaWYgKHZwOV9hbGxvY19pbnRlcm5hbF9mcmFtZV9idWZmZXJzKCZwb29sLT5pbnRfZnJhbWVf
YnVmZmVycykpCiAgICAgICB2cHhfaW50ZXJuYWxfZXJyb3IoJmNtLT5lcnJvciwgVlBYX0NPREVD
X01FTV9FUlJPUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGluaXRpYWxp
emUgaW50ZXJuYWwgZnJhbWUgYnVmZmVycyIpOwotICAgICAgcmV0dXJuIFZQWF9DT0RFQ19NRU1f
RVJST1I7Ci0gICAgfQogCiAgICAgcG9vbC0+Y2JfcHJpdiA9ICZwb29sLT5pbnRfZnJhbWVfYnVm
ZmVyczsKICAgfQotCi0gIHJldHVybiBWUFhfQ09ERUNfT0s7CiB9CiAKIHN0YXRpYyB2b2lkIHNl
dF9kZWZhdWx0X3BwZmxhZ3ModnA4X3Bvc3Rwcm9jX2NmZ190ICpjZmcpIHsKQEAgLTI1Niw3ICsy
NTIsNiBAQCBzdGF0aWMgdm9pZCBzZXRfcHBmbGFncyhjb25zdCB2cHhfY29kZWNfYWxnX3ByaXZf
dCAqY3R4LCB2cDlfcHBmbGFnc190ICpmbGFncykgewogICB9IHdoaWxlICgwKQogCiBzdGF0aWMg
dnB4X2NvZGVjX2Vycl90IGluaXRfZGVjb2Rlcih2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4KSB7
Ci0gIHZweF9jb2RlY19lcnJfdCByZXM7CiAgIGN0eC0+bGFzdF9zaG93X2ZyYW1lID0gLTE7CiAg
IGN0eC0+bmVlZF9yZXN5bmMgPSAxOwogICBjdHgtPmZsdXNoZWQgPSAwOwpAQCAtMjY2LDggKzI2
MSw2IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgaW5pdF9kZWNvZGVyKHZweF9jb2RlY19hbGdf
cHJpdl90ICpjdHgpIHsKIAogICBjdHgtPnBiaSA9IHZwOV9kZWNvZGVyX2NyZWF0ZShjdHgtPmJ1
ZmZlcl9wb29sKTsKICAgaWYgKGN0eC0+cGJpID09IE5VTEwpIHsKLSAgICB2cHhfZnJlZShjdHgt
PmJ1ZmZlcl9wb29sKTsKLSAgICBjdHgtPmJ1ZmZlcl9wb29sID0gTlVMTDsKICAgICBzZXRfZXJy
b3JfZGV0YWlsKGN0eCwgIkZhaWxlZCB0byBhbGxvY2F0ZSBkZWNvZGVyIik7CiAgICAgcmV0dXJu
IFZQWF9DT0RFQ19NRU1fRVJST1I7CiAgIH0KQEAgLTI4NSwxNCArMjc4LDkgQEAgc3RhdGljIHZw
eF9jb2RlY19lcnJfdCBpbml0X2RlY29kZXIodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCkgewog
ICBpZiAoIWN0eC0+cG9zdHByb2NfY2ZnX3NldCAmJiAoY3R4LT5iYXNlLmluaXRfZmxhZ3MgJiBW
UFhfQ09ERUNfVVNFX1BPU1RQUk9DKSkKICAgICBzZXRfZGVmYXVsdF9wcGZsYWdzKCZjdHgtPnBv
c3Rwcm9jX2NmZyk7CiAKLSAgcmVzID0gaW5pdF9idWZmZXJfY2FsbGJhY2tzKGN0eCk7Ci0gIGlm
IChyZXMgIT0gVlBYX0NPREVDX09LKSB7Ci0gICAgdnB4X2ZyZWUoY3R4LT5idWZmZXJfcG9vbCk7
Ci0gICAgY3R4LT5idWZmZXJfcG9vbCA9IE5VTEw7Ci0gICAgdnA5X2RlY29kZXJfcmVtb3ZlKGN0
eC0+cGJpKTsKLSAgICBjdHgtPnBiaSA9IE5VTEw7Ci0gIH0KLSAgcmV0dXJuIHJlczsKKyAgaW5p
dF9idWZmZXJfY2FsbGJhY2tzKGN0eCk7CisKKyAgcmV0dXJuIFZQWF9DT0RFQ19PSzsKIH0KIAog
c3RhdGljIElOTElORSB2b2lkIGNoZWNrX3Jlc3luYyh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY29u
c3QgY3R4LApAQCAtMzQ0LDYgKzMzMiw3IEBAIHN0YXRpYyB2cHhfY29kZWNfZXJyX3QgZGVjb2Rl
cl9kZWNvZGUodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqZGF0YSwgdW5zaWduZWQgaW50IGRhdGFf
c3osCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJfcHJp
diwgbG9uZyBkZWFkbGluZSkgewogICBjb25zdCB1aW50OF90ICpkYXRhX3N0YXJ0ID0gZGF0YTsK
KyAgY29uc3QgdWludDhfdCAqY29uc3QgZGF0YV9lbmQgPSBkYXRhICsgZGF0YV9zejsKICAgdnB4
X2NvZGVjX2Vycl90IHJlczsKICAgdWludDMyX3QgZnJhbWVfc2l6ZXNbOF07CiAgIGludCBmcmFt
ZV9jb3VudDsKQEAgLTM1OCw3ICszNDcsNyBAQCBzdGF0aWMgdnB4X2NvZGVjX2Vycl90IGRlY29k
ZXJfZGVjb2RlKHZweF9jb2RlY19hbGdfcHJpdl90ICpjdHgsCiAKICAgLy8gSW5pdGlhbGl6ZSB0
aGUgZGVjb2RlciBvbiB0aGUgZmlyc3QgZnJhbWUuCiAgIGlmIChjdHgtPnBiaSA9PSBOVUxMKSB7
Ci0gICAgcmVzID0gaW5pdF9kZWNvZGVyKGN0eCk7CisgICAgY29uc3QgdnB4X2NvZGVjX2Vycl90
IHJlcyA9IGluaXRfZGVjb2RlcihjdHgpOwogICAgIGlmIChyZXMgIT0gVlBYX0NPREVDX09LKSBy
ZXR1cm4gcmVzOwogICB9CiAKQEAgLTM3MSwxMiArMzYwLDEyIEBAIHN0YXRpYyB2cHhfY29kZWNf
ZXJyX3QgZGVjb2Rlcl9kZWNvZGUodnB4X2NvZGVjX2FsZ19wcml2X3QgKmN0eCwKIAogICAvLyBE
ZWNvZGUgaW4gc2VyaWFsIG1vZGUuCiAgIGlmIChmcmFtZV9jb3VudCA+IDApIHsKLSAgICBjb25z
dCB1aW50OF90ICpjb25zdCBkYXRhX2VuZCA9IGRhdGEgKyBkYXRhX3N6OwogICAgIGludCBpOwog
CiAgICAgZm9yIChpID0gMDsgaSA8IGZyYW1lX2NvdW50OyArK2kpIHsKICAgICAgIGNvbnN0IHVp
bnQ4X3QgKmRhdGFfc3RhcnRfY29weSA9IGRhdGFfc3RhcnQ7CiAgICAgICBjb25zdCB1aW50MzJf
dCBmcmFtZV9zaXplID0gZnJhbWVfc2l6ZXNbaV07CisgICAgICB2cHhfY29kZWNfZXJyX3QgcmVz
OwogICAgICAgaWYgKGRhdGFfc3RhcnQgPCBkYXRhIHx8IGZyYW1lX3NpemUgPiAodWludDMyX3Qp
KGRhdGFfZW5kIC0gZGF0YV9zdGFydCkpIHsKICAgICAgICAgc2V0X2Vycm9yX2RldGFpbChjdHgs
ICJJbnZhbGlkIGZyYW1lIHNpemUgaW4gaW5kZXgiKTsKICAgICAgICAgcmV0dXJuIFZQWF9DT0RF
Q19DT1JSVVBUX0ZSQU1FOwpAQCAtMzg4LDEwICszNzcsMTAgQEAgc3RhdGljIHZweF9jb2RlY19l
cnJfdCBkZWNvZGVyX2RlY29kZSh2cHhfY29kZWNfYWxnX3ByaXZfdCAqY3R4LAogICAgICAgZGF0
YV9zdGFydCArPSBmcmFtZV9zaXplOwogICAgIH0KICAgfSBlbHNlIHsKLSAgICBjb25zdCB1aW50
OF90ICpjb25zdCBkYXRhX2VuZCA9IGRhdGEgKyBkYXRhX3N6OwogICAgIHdoaWxlIChkYXRhX3N0
YXJ0IDwgZGF0YV9lbmQpIHsKICAgICAgIGNvbnN0IHVpbnQzMl90IGZyYW1lX3NpemUgPSAodWlu
dDMyX3QpKGRhdGFfZW5kIC0gZGF0YV9zdGFydCk7Ci0gICAgICByZXMgPSBkZWNvZGVfb25lKGN0
eCwgJmRhdGFfc3RhcnQsIGZyYW1lX3NpemUsIHVzZXJfcHJpdiwgZGVhZGxpbmUpOworICAgICAg
Y29uc3QgdnB4X2NvZGVjX2Vycl90IHJlcyA9CisgICAgICAgICAgZGVjb2RlX29uZShjdHgsICZk
YXRhX3N0YXJ0LCBmcmFtZV9zaXplLCB1c2VyX3ByaXYsIGRlYWRsaW5lKTsKICAgICAgIGlmIChy
ZXMgIT0gVlBYX0NPREVDX09LKSByZXR1cm4gcmVzOwogCiAgICAgICAvLyBBY2NvdW50IGZvciBz
dWJvcHRpbWFsIHRlcm1pbmF0aW9uIGJ5IHRoZSBlbmNvZGVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cDkvdnA5Y3gubWsgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZwOS92cDljeC5tawppbmRleCA0NDc5MGVm
NmE0OGYuLjM4ZTk5MTY1YWY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cDkvdnA5Y3gubWsK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cDkvdnA5Y3gubWsKQEAgLTQwLDcgKzQwLDYgQEAgVlA5X0NYX1NS
Q1MteWVzICs9IGVuY29kZXIvdnA5X2VuY29kZW1iLmgKIFZQOV9DWF9TUkNTLXllcyArPSBlbmNv
ZGVyL3ZwOV9lbmNvZGVtdi5oCiBWUDlfQ1hfU1JDUy15ZXMgKz0gZW5jb2Rlci92cDlfZXh0ZW5k
LmgKIFZQOV9DWF9TUkNTLXllcyArPSBlbmNvZGVyL3ZwOV9maXJzdHBhc3MuaAotVlA5X0NYX1NS
Q1MteWVzICs9IGVuY29kZXIvdnA5X2ZpcnN0cGFzc19zdGF0cy5oCiBWUDlfQ1hfU1JDUy15ZXMg
Kz0gZW5jb2Rlci92cDlfZnJhbWVfc2NhbGUuYwogVlA5X0NYX1NSQ1MteWVzICs9IGVuY29kZXIv
dnA5X2pvYl9xdWV1ZS5oCiBWUDlfQ1hfU1JDUy15ZXMgKz0gZW5jb2Rlci92cDlfbG9va2FoZWFk
LmMKQEAgLTEwNSwzMiArMTA0LDI5IEBAIFZQOV9DWF9TUkNTLSQoQ09ORklHX0lOVEVSTkFMX1NU
QVRTKSArPSBjb21tb24vdnA5X3Bvc3Rwcm9jLmMKIGVuZGlmCiBWUDlfQ1hfU1JDUy15ZXMgKz0g
ZW5jb2Rlci92cDlfdGVtcG9yYWxfZmlsdGVyLmMKIFZQOV9DWF9TUkNTLXllcyArPSBlbmNvZGVy
L3ZwOV90ZW1wb3JhbF9maWx0ZXIuaAotVlA5X0NYX1NSQ1MteWVzICs9IGVuY29kZXIvdnA5X3Rw
bF9tb2RlbC5jCi1WUDlfQ1hfU1JDUy15ZXMgKz0gZW5jb2Rlci92cDlfdHBsX21vZGVsLmgKIFZQ
OV9DWF9TUkNTLXllcyArPSBlbmNvZGVyL3ZwOV9tYmdyYXBoLmMKIFZQOV9DWF9TUkNTLXllcyAr
PSBlbmNvZGVyL3ZwOV9tYmdyYXBoLmgKIAogVlA5X0NYX1NSQ1MtJChIQVZFX1NTRTRfMSkgKz0g
ZW5jb2Rlci94ODYvdGVtcG9yYWxfZmlsdGVyX3NzZTQuYwotVlA5X0NYX1NSQ1MtJChIQVZFX1NT
RTRfMSkgKz0gZW5jb2Rlci92cDlfdGVtcG9yYWxfZmlsdGVyX2NvbnN0YW50cy5oCi1WUDlfQ1hf
U1JDUy0kKEhBVkVfTkVPTikgKz0gZW5jb2Rlci9hcm0vbmVvbi92cDlfdGVtcG9yYWxfZmlsdGVy
X25lb24uYwotVlA5X0NYX1NSQ1MtJChIQVZFX05FT04pICs9IGVuY29kZXIvdnA5X3RlbXBvcmFs
X2ZpbHRlcl9jb25zdGFudHMuaAorVlA5X0NYX1NSQ1MtJChIQVZFX1NTRTRfMSkgKz0gZW5jb2Rl
ci94ODYvdGVtcG9yYWxfZmlsdGVyX2NvbnN0YW50cy5oCiAKIFZQOV9DWF9TUkNTLSQoSEFWRV9T
U0UyKSArPSBlbmNvZGVyL3g4Ni92cDlfcXVhbnRpemVfc3NlMi5jCi1WUDlfQ1hfU1JDUy0kKEhB
VkVfU1NTRTMpICs9IGVuY29kZXIveDg2L3ZwOV9xdWFudGl6ZV9zc3NlMy5jCiBWUDlfQ1hfU1JD
Uy0kKEhBVkVfQVZYMikgKz0gZW5jb2Rlci94ODYvdnA5X3F1YW50aXplX2F2eDIuYwotVlA5X0NY
X1NSQ1MtJChIQVZFX05FT04pICs9IGVuY29kZXIvYXJtL25lb24vdnA5X2RpYW1vbmRfc2VhcmNo
X3NhZF9uZW9uLmMKK1ZQOV9DWF9TUkNTLSQoSEFWRV9BVlgpICs9IGVuY29kZXIveDg2L3ZwOV9k
aWFtb25kX3NlYXJjaF9zYWRfYXZ4LmMKIGlmZXEgKCQoQ09ORklHX1ZQOV9ISUdIQklUREVQVEgp
LHllcykKIFZQOV9DWF9TUkNTLSQoSEFWRV9TU0UyKSArPSBlbmNvZGVyL3g4Ni92cDlfaGlnaGJk
X2Jsb2NrX2Vycm9yX2ludHJpbl9zc2UyLmMKIFZQOV9DWF9TUkNTLSQoSEFWRV9TU0U0XzEpICs9
IGVuY29kZXIveDg2L2hpZ2hiZF90ZW1wb3JhbF9maWx0ZXJfc3NlNC5jCi1WUDlfQ1hfU1JDUy0k
KEhBVkVfTkVPTikgKz0gZW5jb2Rlci9hcm0vbmVvbi92cDlfaGlnaGJkX3RlbXBvcmFsX2ZpbHRl
cl9uZW9uLmMKIGVuZGlmCiAKIFZQOV9DWF9TUkNTLSQoSEFWRV9TU0UyKSArPSBlbmNvZGVyL3g4
Ni92cDlfZGN0X3NzZTIuYXNtCiBWUDlfQ1hfU1JDUy0kKEhBVkVfU1NFMikgKz0gZW5jb2Rlci94
ODYvdnA5X2Vycm9yX3NzZTIuYXNtCiAKK2lmZXEgKCQoVlBYX0FSQ0hfWDg2XzY0KSx5ZXMpCitW
UDlfQ1hfU1JDUy0kKEhBVkVfU1NTRTMpICs9IGVuY29kZXIveDg2L3ZwOV9xdWFudGl6ZV9zc3Nl
M194ODZfNjQuYXNtCitlbmRpZgorCiBWUDlfQ1hfU1JDUy0kKEhBVkVfU1NFMikgKz0gZW5jb2Rl
ci94ODYvdnA5X2RjdF9pbnRyaW5fc3NlMi5jCiBWUDlfQ1hfU1JDUy0kKEhBVkVfU1NTRTMpICs9
IGVuY29kZXIveDg2L3ZwOV9mcmFtZV9zY2FsZV9zc3NlMy5jCi1WUDlfQ1hfU1JDUy0kKEhBVkVf
TkVPTikgKz0gZW5jb2Rlci9hcm0vbmVvbi92cDlfZGN0X25lb24uYwogCiBpZmVxICgkKENPTkZJ
R19WUDlfVEVNUE9SQUxfREVOT0lTSU5HKSx5ZXMpCiBWUDlfQ1hfU1JDUy0kKEhBVkVfU1NFMikg
Kz0gZW5jb2Rlci94ODYvdnA5X2Rlbm9pc2VyX3NzZTIuYwpAQCAtMTM5LDEyICsxMzUsMTEgQEAg
ZW5kaWYKIAogVlA5X0NYX1NSQ1MtJChIQVZFX0FWWDIpICs9IGVuY29kZXIveDg2L3ZwOV9lcnJv
cl9hdngyLmMKIAoraWZuZXEgKCQoQ09ORklHX1ZQOV9ISUdIQklUREVQVEgpLHllcykKIFZQOV9D
WF9TUkNTLSQoSEFWRV9ORU9OKSArPSBlbmNvZGVyL2FybS9uZW9uL3ZwOV9lcnJvcl9uZW9uLmMK
K2VuZGlmCiBWUDlfQ1hfU1JDUy0kKEhBVkVfTkVPTikgKz0gZW5jb2Rlci9hcm0vbmVvbi92cDlf
ZnJhbWVfc2NhbGVfbmVvbi5jCiBWUDlfQ1hfU1JDUy0kKEhBVkVfTkVPTikgKz0gZW5jb2Rlci9h
cm0vbmVvbi92cDlfcXVhbnRpemVfbmVvbi5jCi1pZmVxICgkKENPTkZJR19WUDlfSElHSEJJVERF
UFRIKSx5ZXMpCi1WUDlfQ1hfU1JDUy0kKEhBVkVfTkVPTikgKz0gZW5jb2Rlci9hcm0vbmVvbi92
cDlfaGlnaGJkX2Vycm9yX25lb24uYwotZW5kaWYKIAogVlA5X0NYX1NSQ1MtJChIQVZFX01TQSkg
Kz0gZW5jb2Rlci9taXBzL21zYS92cDlfZXJyb3JfbXNhLmMKIApAQCAtMTYyLDEwICsxNTcsOCBA
QCBWUDlfQ1hfU1JDU19SRU1PVkUtJChDT05GSUdfUkVBTFRJTUVfT05MWSkgKz0gZW5jb2Rlci92
cDlfZmlyc3RwYXNzLmMKIFZQOV9DWF9TUkNTX1JFTU9WRS0kKENPTkZJR19SRUFMVElNRV9PTkxZ
KSArPSBlbmNvZGVyL3ZwOV9tYmdyYXBoLmMKIFZQOV9DWF9TUkNTX1JFTU9WRS0kKENPTkZJR19S
RUFMVElNRV9PTkxZKSArPSBlbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXIuYwogVlA5X0NYX1NS
Q1NfUkVNT1ZFLSQoQ09ORklHX1JFQUxUSU1FX09OTFkpICs9IGVuY29kZXIveDg2L3RlbXBvcmFs
X2ZpbHRlcl9zc2U0LmMKLVZQOV9DWF9TUkNTX1JFTU9WRS0kKENPTkZJR19SRUFMVElNRV9PTkxZ
KSArPSBlbmNvZGVyL3ZwOV90ZW1wb3JhbF9maWx0ZXJfY29uc3RhbnRzLmgKK1ZQOV9DWF9TUkNT
X1JFTU9WRS0kKENPTkZJR19SRUFMVElNRV9PTkxZKSArPSBlbmNvZGVyL3g4Ni90ZW1wb3JhbF9m
aWx0ZXJfY29uc3RhbnRzLmgKIFZQOV9DWF9TUkNTX1JFTU9WRS0kKENPTkZJR19SRUFMVElNRV9P
TkxZKSArPSBlbmNvZGVyL3g4Ni9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX3NzZTQuYwotVlA5X0NY
X1NSQ1NfUkVNT1ZFLSQoQ09ORklHX1JFQUxUSU1FX09OTFkpICs9IGVuY29kZXIvYXJtL25lb24v
dnA5X3RlbXBvcmFsX2ZpbHRlcl9uZW9uLmMKLVZQOV9DWF9TUkNTX1JFTU9WRS0kKENPTkZJR19S
RUFMVElNRV9PTkxZKSArPSBlbmNvZGVyL2FybS9uZW9uL3ZwOV9oaWdoYmRfdGVtcG9yYWxfZmls
dGVyX25lb24uYwogVlA5X0NYX1NSQ1NfUkVNT1ZFLSQoQ09ORklHX1JFQUxUSU1FX09OTFkpICs9
IGVuY29kZXIvdnA5X2FsdF9yZWZfYXEuaAogVlA5X0NYX1NSQ1NfUkVNT1ZFLSQoQ09ORklHX1JF
QUxUSU1FX09OTFkpICs9IGVuY29kZXIvdnA5X2FsdF9yZWZfYXEuYwogVlA5X0NYX1NSQ1NfUkVN
T1ZFLSQoQ09ORklHX1JFQUxUSU1FX09OTFkpICs9IGVuY29kZXIvdnA5X2FxX3ZhcmlhbmNlLmMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L2V4cG9ydHNfY29tIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgv
ZXhwb3J0c19jb20KaW5kZXggZjBiNDZhYTE3NTcwLi4yYWIwNTA5OWY4MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4L2V4cG9ydHNfY29tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L2V4cG9ydHNf
Y29tCkBAIC0xNCw2ICsxNCwzIEBAIHRleHQgdnB4X2ltZ19mbGlwCiB0ZXh0IHZweF9pbWdfZnJl
ZQogdGV4dCB2cHhfaW1nX3NldF9yZWN0CiB0ZXh0IHZweF9pbWdfd3JhcAotdGV4dCB2cHhfZnJl
ZV90cGxfZ29wX3N0YXRzCi10ZXh0IHZweF9yZWFkX3RwbF9nb3Bfc3RhdHMKLXRleHQgdnB4X3dy
aXRlX3RwbF9nb3Bfc3RhdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L2ludGVybmFsL3Zw
eF9jb2RlY19pbnRlcm5hbC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvaW50ZXJuYWwvdnB4X2NvZGVjX2lu
dGVybmFsLmgKaW5kZXggYWFlMzIxODczODg0Li4wMTFmMjU1ZTEyNDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4L2ludGVybmFsL3ZweF9jb2RlY19pbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4L2ludGVybmFsL3ZweF9jb2RlY19pbnRlcm5hbC5oCkBAIC00OCw4ICs0OCw2IEBACiAj
aW5jbHVkZSAiLi4vdnB4X2VuY29kZXIuaCIKICNpbmNsdWRlIDxzdGRhcmcuaD4KIAotI2luY2x1
ZGUgInZweF9jb25maWcuaCIKLQogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNl
bmRpZgpAQCAtMjg1LDcgKzI4Myw3IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0IHZweF9jb2RlY19l
bmNfY2ZnX21hcCB7CiAgIHZweF9jb2RlY19lbmNfY2ZnX3QgY2ZnOwogfSB2cHhfY29kZWNfZW5j
X2NmZ19tYXBfdDsKIAotLyohXGJyaWVmIERlY29kZXIgYWxnb3JpdGhtIGludGVyZmFjZQorLyoh
XGJyaWVmIERlY29kZXIgYWxnb3JpdGhtIGludGVyZmFjZSBpbnRlcmZhY2UKICAqCiAgKiBBbGwg
ZGVjb2RlcnMgXHJlZiBNVVNUIGV4cG9zZSBhIHZhcmlhYmxlIG9mIHRoaXMgdHlwZS4KICAqLwpA
QCAtNDI5LDI3ICs0MjcsNiBAQCBzdHJ1Y3QgdnB4X2ludGVybmFsX2Vycm9yX2luZm8gewogICBq
bXBfYnVmIGptcDsKIH07CiAKLSNpZiBDT05GSUdfREVCVUcKLSNkZWZpbmUgQ0hFQ0tfTUVNX0VS
Uk9SKGVycm9yLCBsdmFsLCBleHByKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGFzc2VydCgoZXJyb3IpLT5zZXRqbXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAobHZhbCkg
PSAoZXhwcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgaWYgKCEobHZhbCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgdnB4X2ludGVybmFsX2Vycm9y
KGVycm9yLCBWUFhfQ09ERUNfTUVNX0VSUk9SLCAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGFsbG9jYXRlICIgI2x2YWwgIiBhdCAl
czolZCIsIF9fRklMRV9fLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgX19MSU5FX18pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9IHdoaWxlICgwKQot
I2Vsc2UKLSNkZWZpbmUgQ0hFQ0tfTUVNX0VSUk9SKGVycm9yLCBsdmFsLCBleHByKSAgICAgICAg
ICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIGFzc2VydCgoZXJyb3IpLT5zZXRqbXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAobHZhbCkgPSAoZXhwcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgaWYgKCEobHZhbCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgdnB4X2ludGVybmFsX2Vycm9yKGVycm9yLCBWUFhfQ09ERUNfTUVN
X0VSUk9SLCAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGFsbG9jYXRl
ICIgI2x2YWwpOyBcCi0gIH0gd2hpbGUgKDApCi0jZW5kaWYKLQogI2RlZmluZSBDTEFOR19BTkFM
WVpFUl9OT1JFVFVSTgogI2lmIGRlZmluZWQoX19oYXNfZmVhdHVyZSkKICNpZiBfX2hhc19mZWF0
dXJlKGF0dHJpYnV0ZV9hbmFseXplcl9ub3JldHVybikKQEAgLTQ1OCwyMSArNDM1LDE5IEBAIHN0
cnVjdCB2cHhfaW50ZXJuYWxfZXJyb3JfaW5mbyB7CiAjZW5kaWYKICNlbmRpZgogCi0vLyBUZWxs
cyB0aGUgY29tcGlsZXIgdG8gcGVyZm9ybSBgcHJpbnRmYCBmb3JtYXQgc3RyaW5nIGNoZWNraW5n
IGlmIHRoZQotLy8gY29tcGlsZXIgc3VwcG9ydHMgaXQ7IHNlZSB0aGUgJ2Zvcm1hdCcgYXR0cmli
dXRlIGluCi0vLyA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy9Db21tb24tRnVu
Y3Rpb24tQXR0cmlidXRlcy5odG1sPi4KLSNkZWZpbmUgTElCVlBYX0ZPUk1BVF9QUklOVEYoc3Ry
aW5nX2luZGV4LCBmaXJzdF90b19jaGVjaykKLSNpZiBkZWZpbmVkKF9faGFzX2F0dHJpYnV0ZSkK
KyNpZiBkZWZpbmVkKF9fY2xhbmdfXykgfHwgKGRlZmluZWQoX19HTlVDX18pICYmIGRlZmluZWQo
X19oYXNfYXR0cmlidXRlKSkKICNpZiBfX2hhc19hdHRyaWJ1dGUoZm9ybWF0KQotI3VuZGVmIExJ
QlZQWF9GT1JNQVRfUFJJTlRGCi0jZGVmaW5lIExJQlZQWF9GT1JNQVRfUFJJTlRGKHN0cmluZ19p
bmRleCwgZmlyc3RfdG9fY2hlY2spIFwKLSAgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhfX3By
aW50Zl9fLCBzdHJpbmdfaW5kZXgsIGZpcnN0X3RvX2NoZWNrKSkpCisjZGVmaW5lIExJQlZQWF9G
T1JNQVRfUFJJTlRGKGZtdCwgYXJncykgX19hdHRyaWJ1dGVfXygoZm9ybWF0KF9fcHJpbnRmX18s
IGZtdCwgYXJncykpKQorI2Vsc2UKKyNkZWZpbmUgTElCVlBYX0ZPUk1BVF9QUklOVEYoZm10LCBh
cmdzKQogI2VuZGlmCisjZWxzZQorI2RlZmluZSBMSUJWUFhfRk9STUFUX1BSSU5URihmbXQsIGFy
Z3MpCiAjZW5kaWYKIAogdm9pZCB2cHhfaW50ZXJuYWxfZXJyb3Ioc3RydWN0IHZweF9pbnRlcm5h
bF9lcnJvcl9pbmZvICppbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgdnB4X2NvZGVjX2Vy
cl90IGVycm9yLCBjb25zdCBjaGFyICpmbXQsIC4uLikKLSAgICBMSUJWUFhfRk9STUFUX1BSSU5U
RigzLCA0KSBDTEFOR19BTkFMWVpFUl9OT1JFVFVSTjsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHZweF9jb2RlY19lcnJfdCBlcnJvciwgY29uc3QgY2hhciAqZm10LAorICAgICAgICAgICAgICAg
ICAgICAgICAgLi4uKSBMSUJWUFhfRk9STUFUX1BSSU5URigzLCA0KSBDTEFOR19BTkFMWVpFUl9O
T1JFVFVSTjsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmggYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweC9pbnRlcm5hbC92cHhfcmF0ZWN0cmxfcnRjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDMzYzU3ZTIxOWJlMS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
L2ludGVybmFsL3ZweF9yYXRlY3RybF9ydGMuaAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAg
QEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIxIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg
Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFu
IGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91
bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1
dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBv
ZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2lmbmRlZiBWUFhfVlBYX0lOVEVSTkFMX1ZQWF9S
QVRFQ1RSTF9SVENfSF8KLSNkZWZpbmUgVlBYX1ZQWF9JTlRFUk5BTF9WUFhfUkFURUNUUkxfUlRD
X0hfCi0KLSNpbmNsdWRlICJ2cHgvdnB4X2VuY29kZXIuaCIKLQotbmFtZXNwYWNlIGxpYnZweCB7
Ci0KLWVudW0gY2xhc3MgUmNGcmFtZVR5cGUgeyBrS2V5RnJhbWUgPSAwLCBrSW50ZXJGcmFtZSA9
IDEgfTsKLQotc3RydWN0IFZweFJhdGVDb250cm9sUnRjQ29uZmlnIHsKLSBwdWJsaWM6Ci0gIFZw
eFJhdGVDb250cm9sUnRjQ29uZmlnKCkgewotICAgIHdpZHRoID0gMTI4MDsKLSAgICBoZWlnaHQg
PSA3MjA7Ci0gICAgbWF4X3F1YW50aXplciA9IDYzOwotICAgIG1pbl9xdWFudGl6ZXIgPSAyOwot
ICAgIHRhcmdldF9iYW5kd2lkdGggPSAxMDAwOwotICAgIGJ1Zl9pbml0aWFsX3N6ID0gNjAwOwot
ICAgIGJ1Zl9vcHRpbWFsX3N6ID0gNjAwOwotICAgIGJ1Zl9zeiA9IDEwMDA7Ci0gICAgdW5kZXJz
aG9vdF9wY3QgPSBvdmVyc2hvb3RfcGN0ID0gNTA7Ci0gICAgbWF4X2ludHJhX2JpdHJhdGVfcGN0
ID0gNTA7Ci0gICAgbWF4X2ludGVyX2JpdHJhdGVfcGN0ID0gMDsKLSAgICBmcmFtZXJhdGUgPSAz
MC4wOwotICAgIHRzX251bWJlcl9sYXllcnMgPSAxOwotICAgIHJjX21vZGUgPSBWUFhfQ0JSOwot
ICAgIGFxX21vZGUgPSAwOwotICAgIGxheWVyX3RhcmdldF9iaXRyYXRlWzBdID0gc3RhdGljX2Nh
c3Q8aW50Pih0YXJnZXRfYmFuZHdpZHRoKTsKLSAgICB0c19yYXRlX2RlY2ltYXRvclswXSA9IDE7
Ci0gIH0KLQotICBpbnQgd2lkdGg7Ci0gIGludCBoZWlnaHQ7Ci0gIC8vIDAtNjMKLSAgaW50IG1h
eF9xdWFudGl6ZXI7Ci0gIGludCBtaW5fcXVhbnRpemVyOwotICBpbnQ2NF90IHRhcmdldF9iYW5k
d2lkdGg7Ci0gIGludDY0X3QgYnVmX2luaXRpYWxfc3o7Ci0gIGludDY0X3QgYnVmX29wdGltYWxf
c3o7Ci0gIGludDY0X3QgYnVmX3N6OwotICBpbnQgdW5kZXJzaG9vdF9wY3Q7Ci0gIGludCBvdmVy
c2hvb3RfcGN0OwotICBpbnQgbWF4X2ludHJhX2JpdHJhdGVfcGN0OwotICBpbnQgbWF4X2ludGVy
X2JpdHJhdGVfcGN0OwotICBkb3VibGUgZnJhbWVyYXRlOwotICAvLyBOdW1iZXIgb2YgdGVtcG9y
YWwgbGF5ZXJzCi0gIGludCB0c19udW1iZXJfbGF5ZXJzOwotICBpbnQgbGF5ZXJfdGFyZ2V0X2Jp
dHJhdGVbVlBYX01BWF9MQVlFUlNdOwotICBpbnQgdHNfcmF0ZV9kZWNpbWF0b3JbVlBYX1RTX01B
WF9MQVlFUlNdOwotICAvLyB2YnIsIGNicgotICBlbnVtIHZweF9yY19tb2RlIHJjX21vZGU7Ci0g
IGludCBhcV9tb2RlOwotfTsKLX0gIC8vIG5hbWVzcGFjZSBsaWJ2cHgKLSNlbmRpZiAgLy8gVlBY
X1ZQWF9JTlRFUk5BTF9WUFhfUkFURUNUUkxfUlRDX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweC9zcmMvdnB4X2NvZGVjLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2NvZGVjLmMKaW5k
ZXggMjQ1MjhkODYwYTY5Li4xMTRiOTRlMTk0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
L3NyYy92cHhfY29kZWMuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2NvZGVjLmMKQEAg
LTUwLDEyICs1MCwxMiBAQCBjb25zdCBjaGFyICp2cHhfY29kZWNfZXJyX3RvX3N0cmluZyh2cHhf
Y29kZWNfZXJyX3QgZXJyKSB7CiAgIHJldHVybiAiVW5yZWNvZ25pemVkIGVycm9yIGNvZGUiOwog
fQogCi1jb25zdCBjaGFyICp2cHhfY29kZWNfZXJyb3IoY29uc3QgdnB4X2NvZGVjX2N0eF90ICpj
dHgpIHsKK2NvbnN0IGNoYXIgKnZweF9jb2RlY19lcnJvcih2cHhfY29kZWNfY3R4X3QgKmN0eCkg
ewogICByZXR1cm4gKGN0eCkgPyB2cHhfY29kZWNfZXJyX3RvX3N0cmluZyhjdHgtPmVycikKICAg
ICAgICAgICAgICAgIDogdnB4X2NvZGVjX2Vycl90b19zdHJpbmcoVlBYX0NPREVDX0lOVkFMSURf
UEFSQU0pOwogfQogCi1jb25zdCBjaGFyICp2cHhfY29kZWNfZXJyb3JfZGV0YWlsKGNvbnN0IHZw
eF9jb2RlY19jdHhfdCAqY3R4KSB7Citjb25zdCBjaGFyICp2cHhfY29kZWNfZXJyb3JfZGV0YWls
KHZweF9jb2RlY19jdHhfdCAqY3R4KSB7CiAgIGlmIChjdHggJiYgY3R4LT5lcnIpCiAgICAgcmV0
dXJuIGN0eC0+cHJpdiA/IGN0eC0+cHJpdi0+ZXJyX2RldGFpbCA6IGN0eC0+ZXJyX2RldGFpbDsK
IApAQCAtODIsNyArODIsNyBAQCB2cHhfY29kZWNfZXJyX3QgdnB4X2NvZGVjX2Rlc3Ryb3kodnB4
X2NvZGVjX2N0eF90ICpjdHgpIHsKIH0KIAogdnB4X2NvZGVjX2NhcHNfdCB2cHhfY29kZWNfZ2V0
X2NhcHModnB4X2NvZGVjX2lmYWNlX3QgKmlmYWNlKSB7Ci0gIHJldHVybiBpZmFjZSA/IGlmYWNl
LT5jYXBzIDogMDsKKyAgcmV0dXJuIChpZmFjZSkgPyBpZmFjZS0+Y2FwcyA6IDA7CiB9CiAKIHZw
eF9jb2RlY19lcnJfdCB2cHhfY29kZWNfY29udHJvbF8odnB4X2NvZGVjX2N0eF90ICpjdHgsIGlu
dCBjdHJsX2lkLCAuLi4pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92cHhfZW5j
b2Rlci5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF9lbmNvZGVyLmMKaW5kZXggMGQ2ZTQ4MDE1
YThlLi5mNjM2YjU0YTMzNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92cHhfZW5j
b2Rlci5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3NyYy92cHhfZW5jb2Rlci5jCkBAIC01NCwxMCAr
NTQsNiBAQCB2cHhfY29kZWNfZXJyX3QgdnB4X2NvZGVjX2VuY19pbml0X3Zlcih2cHhfY29kZWNf
Y3R4X3QgKmN0eCwKICAgICByZXMgPSBjdHgtPmlmYWNlLT5pbml0KGN0eCwgTlVMTCk7CiAKICAg
ICBpZiAocmVzKSB7Ci0gICAgICAvLyBJTVBPUlRBTlQ6IGN0eC0+cHJpdi0+ZXJyX2RldGFpbCBt
dXN0IGJlIG51bGwgb3IgcG9pbnQgdG8gYSBzdHJpbmcKLSAgICAgIC8vIHRoYXQgcmVtYWlucyB2
YWxpZCBhZnRlciBjdHgtPnByaXYgaXMgZGVzdHJveWVkLCBzdWNoIGFzIGEgQyBzdHJpbmcKLSAg
ICAgIC8vIGxpdGVyYWwuIFRoaXMgbWFrZXMgaXQgc2FmZSB0byBjYWxsIHZweF9jb2RlY19lcnJv
cl9kZXRhaWwoKSBhZnRlcgotICAgICAgLy8gdnB4X2NvZGVjX2VuY19pbml0X3ZlcigpIGZhaWxl
ZC4KICAgICAgIGN0eC0+ZXJyX2RldGFpbCA9IGN0eC0+cHJpdiA/IGN0eC0+cHJpdi0+ZXJyX2Rl
dGFpbCA6IE5VTEw7CiAgICAgICB2cHhfY29kZWNfZGVzdHJveShjdHgpOwogICAgIH0KQEAgLTE3
Nyw3ICsxNzMsNyBAQCB2cHhfY29kZWNfZXJyX3QgdnB4X2NvZGVjX2VuY19jb25maWdfZGVmYXVs
dCh2cHhfY29kZWNfaWZhY2VfdCAqaWZhY2UsCiAjaW5jbHVkZSAidnB4X3BvcnRzL3g4Ni5oIgog
I2RlZmluZSBGTE9BVElOR19QT0lOVF9JTklUKCkgXAogICBkbyB7ICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB1bnNpZ25lZCBzaG9ydCB4ODdfb3JpZ19tb2RlID0geDg3X3NldF9kb3VibGVf
cHJlY2lzaW9uKCkKKyAgICB1bnNpZ25lZCBzaG9ydCB4ODdfb3JpZ19tb2RlID0geDg3X3NldF9k
b3VibGVfcHJlY2lzaW9uKCk7CiAjZGVmaW5lIEZMT0FUSU5HX1BPSU5UX1JFU1RPUkUoKSAgICAg
ICBcCiAgIHg4N19zZXRfY29udHJvbF93b3JkKHg4N19vcmlnX21vZGUpOyBcCiAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eC9zcmMvdnB4X2ltYWdlLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2ltYWdlLmMKaW5kZXgg
ZjlmMGRkNjAyNWQyLi5mZjQ5NmI1ZDM0ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3Ny
Yy92cHhfaW1hZ2UuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC9zcmMvdnB4X2ltYWdlLmMKQEAgLTgs
NyArOCw2IEBACiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBv
ZiB0aGUgc291cmNlIHRyZWUuCiAgKi8KIAotI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUg
PHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCkBAIC0yMyw5ICsyMiw3IEBAIHN0YXRp
YyB2cHhfaW1hZ2VfdCAqaW1nX2FsbG9jX2hlbHBlcih2cHhfaW1hZ2VfdCAqaW1nLCB2cHhfaW1n
X2ZtdF90IGZtdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBjaGFyICppbWdfZGF0YSkgewogICB1bnNpZ25lZCBpbnQgaCwgdywgcywgeGNzLCB5Y3MsIGJw
czsKICAgdW5zaWduZWQgaW50IHN0cmlkZV9pbl9ieXRlczsKLSAgdW5zaWduZWQgaW50IGFsaWdu
OwotCi0gIGlmIChpbWcgIT0gTlVMTCkgbWVtc2V0KGltZywgMCwgc2l6ZW9mKHZweF9pbWFnZV90
KSk7CisgIGludCBhbGlnbjsKIAogICAvKiBUcmVhdCBhbGlnbj09MCBsaWtlIGFsaWduPT0xICov
CiAgIGlmICghYnVmX2FsaWduKSBidWZfYWxpZ24gPSAxOwpAQCAtOTEsNiArODgsOCBAQCBzdGF0
aWMgdnB4X2ltYWdlX3QgKmltZ19hbGxvY19oZWxwZXIodnB4X2ltYWdlX3QgKmltZywgdnB4X2lt
Z19mbXRfdCBmbXQsCiAgICAgaWYgKCFpbWcpIGdvdG8gZmFpbDsKIAogICAgIGltZy0+c2VsZl9h
bGxvY2QgPSAxOworICB9IGVsc2UgeworICAgIG1lbXNldChpbWcsIDAsIHNpemVvZih2cHhfaW1h
Z2VfdCkpOwogICB9CiAKICAgaW1nLT5pbWdfZGF0YSA9IGltZ19kYXRhOwpAQCAtMTUzLDggKzE1
Miw5IEBAIHZweF9pbWFnZV90ICp2cHhfaW1nX3dyYXAodnB4X2ltYWdlX3QgKmltZywgdnB4X2lt
Z19mbXRfdCBmbXQsIHVuc2lnbmVkIGludCBkX3csCiAKIGludCB2cHhfaW1nX3NldF9yZWN0KHZw
eF9pbWFnZV90ICppbWcsIHVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCB3LCB1bnNpZ25lZCBpbnQgaCkgewotICBpZiAoeCA8
PSBVSU5UX01BWCAtIHcgJiYgeCArIHcgPD0gaW1nLT53ICYmIHkgPD0gVUlOVF9NQVggLSBoICYm
Ci0gICAgICB5ICsgaCA8PSBpbWctPmgpIHsKKyAgdW5zaWduZWQgY2hhciAqZGF0YTsKKworICBp
ZiAoeCArIHcgPD0gaW1nLT53ICYmIHkgKyBoIDw9IGltZy0+aCkgewogICAgIGltZy0+ZF93ID0g
dzsKICAgICBpbWctPmRfaCA9IGg7CiAKQEAgLTE2NSw3ICsxNjUsNyBAQCBpbnQgdnB4X2ltZ19z
ZXRfcmVjdCh2cHhfaW1hZ2VfdCAqaW1nLCB1bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHks
CiAgICAgfSBlbHNlIHsKICAgICAgIGNvbnN0IGludCBieXRlc19wZXJfc2FtcGxlID0KICAgICAg
ICAgICAoaW1nLT5mbXQgJiBWUFhfSU1HX0ZNVF9ISUdIQklUREVQVEgpID8gMiA6IDE7Ci0gICAg
ICB1bnNpZ25lZCBjaGFyICpkYXRhID0gaW1nLT5pbWdfZGF0YTsKKyAgICAgIGRhdGEgPSBpbWct
PmltZ19kYXRhOwogCiAgICAgICBpZiAoaW1nLT5mbXQgJiBWUFhfSU1HX0ZNVF9IQVNfQUxQSEEp
IHsKICAgICAgICAgaW1nLT5wbGFuZXNbVlBYX1BMQU5FX0FMUEhBXSA9CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweC9zcmMvdnB4X3RwbC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF90cGwu
YwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjJjMmE5Yzg1NzZkLi4wMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHgvc3JjL3ZweF90cGwuYworKysgL2Rldi9udWxsCkBAIC0x
LDEwNyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMyBUaGUgV2ViTSBwcm9qZWN0
IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBi
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAq
ICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQg
Y2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcg
cHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4g
dGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxzdGRsaWIuaD4K
LQotI2luY2x1ZGUgInZweC92cHhfY29kZWMuaCIKLSNpbmNsdWRlICJ2cHgvdnB4X3RwbC5oIgot
I2luY2x1ZGUgInZweF9tZW0vdnB4X21lbS5oIgotCi0jZGVmaW5lIENIRUNLX0ZQUklOVEZfRVJS
T1IoZXhwcikgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAo
ZXhwciA8IDApIHsgICAgICAgICAgICAgICBcCi0gICAgICByZXR1cm4gVlBYX0NPREVDX0VSUk9S
OyAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAo
MCkKLQotI2RlZmluZSBDSEVDS19GU0NBTkZfRVJST1IoZXhwciwgZXhwZWN0ZWRfdmFsdWUpIFwK
LSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
aWYgKGV4cHIgIT0gZXhwZWN0ZWRfdmFsdWUpIHsgICAgICAgICAgICAgICAgXAotICAgICAgcmV0
dXJuIFZQWF9DT0RFQ19FUlJPUjsgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLXZw
eF9jb2RlY19lcnJfdCB2cHhfd3JpdGVfdHBsX2dvcF9zdGF0cyhGSUxFICp0cGxfZmlsZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWcHhUcGxHb3BTdGF0
cyAqdHBsX2dvcF9zdGF0cykgewotICBpbnQgaTsKLSAgaWYgKHRwbF9maWxlID09IE5VTEwgfHwg
dHBsX2dvcF9zdGF0cyA9PSBOVUxMKSByZXR1cm4gVlBYX0NPREVDX0lOVkFMSURfUEFSQU07Ci0g
IENIRUNLX0ZQUklOVEZfRVJST1IoZnByaW50Zih0cGxfZmlsZSwgIiVkXG4iLCB0cGxfZ29wX3N0
YXRzLT5zaXplKSk7Ci0KLSAgZm9yIChpID0gMDsgaSA8IHRwbF9nb3Bfc3RhdHMtPnNpemU7IGkr
KykgewotICAgIFZweFRwbEZyYW1lU3RhdHMgZnJhbWVfc3RhdHMgPSB0cGxfZ29wX3N0YXRzLT5m
cmFtZV9zdGF0c19saXN0W2ldOwotICAgIGNvbnN0IGludCBudW1fYmxvY2tzID0gZnJhbWVfc3Rh
dHMubnVtX2Jsb2NrczsKLSAgICBpbnQgYmxvY2s7Ci0gICAgQ0hFQ0tfRlBSSU5URl9FUlJPUihm
cHJpbnRmKHRwbF9maWxlLCAiJWQgJWQgJWRcbiIsIGZyYW1lX3N0YXRzLmZyYW1lX3dpZHRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZV9zdGF0cy5mcmFtZV9oZWlnaHQs
IG51bV9ibG9ja3MpKTsKLSAgICBmb3IgKGJsb2NrID0gMDsgYmxvY2sgPCBudW1fYmxvY2tzOyBi
bG9jaysrKSB7Ci0gICAgICBWcHhUcGxCbG9ja1N0YXRzIGJsb2NrX3N0YXRzID0gZnJhbWVfc3Rh
dHMuYmxvY2tfc3RhdHNfbGlzdFtibG9ja107Ci0gICAgICBDSEVDS19GUFJJTlRGX0VSUk9SKAot
ICAgICAgICAgIGZwcmludGYodHBsX2ZpbGUsCi0gICAgICAgICAgICAgICAgICAiJSIgUFJJZDY0
ICIgJSIgUFJJZDY0ICIgJSIgUFJJZDE2ICIgJSIgUFJJZDE2ICIgJSIgUFJJZDY0Ci0gICAgICAg
ICAgICAgICAgICAiICUiIFBSSWQ2NCAiICVkXG4iLAotICAgICAgICAgICAgICAgICAgYmxvY2tf
c3RhdHMuaW50ZXJfY29zdCwgYmxvY2tfc3RhdHMuaW50cmFfY29zdCwKLSAgICAgICAgICAgICAg
ICAgIGJsb2NrX3N0YXRzLm12X2MsIGJsb2NrX3N0YXRzLm12X3IsIGJsb2NrX3N0YXRzLnJlY3Jm
X2Rpc3QsCi0gICAgICAgICAgICAgICAgICBibG9ja19zdGF0cy5yZWNyZl9yYXRlLCBibG9ja19z
dGF0cy5yZWZfZnJhbWVfaW5kZXgpKTsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gVlBYX0NPREVD
X09LOwotfQotCi12cHhfY29kZWNfZXJyX3QgdnB4X3JlYWRfdHBsX2dvcF9zdGF0cyhGSUxFICp0
cGxfZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZweFRwbEdv
cFN0YXRzICp0cGxfZ29wX3N0YXRzKSB7Ci0gIGludCBpLCBmcmFtZV9saXN0X3NpemU7Ci0gIGlm
ICh0cGxfZmlsZSA9PSBOVUxMIHx8IHRwbF9nb3Bfc3RhdHMgPT0gTlVMTCkgcmV0dXJuIFZQWF9D
T0RFQ19JTlZBTElEX1BBUkFNOwotICBDSEVDS19GU0NBTkZfRVJST1IoZnNjYW5mKHRwbF9maWxl
LCAiJWRcbiIsICZmcmFtZV9saXN0X3NpemUpLCAxKTsKLSAgdHBsX2dvcF9zdGF0cy0+c2l6ZSA9
IGZyYW1lX2xpc3Rfc2l6ZTsKLSAgdHBsX2dvcF9zdGF0cy0+ZnJhbWVfc3RhdHNfbGlzdCA9IChW
cHhUcGxGcmFtZVN0YXRzICopdnB4X2NhbGxvYygKLSAgICAgIGZyYW1lX2xpc3Rfc2l6ZSwgc2l6
ZW9mKHRwbF9nb3Bfc3RhdHMtPmZyYW1lX3N0YXRzX2xpc3RbMF0pKTsKLSAgaWYgKHRwbF9nb3Bf
c3RhdHMtPmZyYW1lX3N0YXRzX2xpc3QgPT0gTlVMTCkgewotICAgIHJldHVybiBWUFhfQ09ERUNf
TUVNX0VSUk9SOwotICB9Ci0gIGZvciAoaSA9IDA7IGkgPCBmcmFtZV9saXN0X3NpemU7IGkrKykg
ewotICAgIFZweFRwbEZyYW1lU3RhdHMgKmZyYW1lX3N0YXRzID0gJnRwbF9nb3Bfc3RhdHMtPmZy
YW1lX3N0YXRzX2xpc3RbaV07Ci0gICAgaW50IG51bV9ibG9ja3MsIHdpZHRoLCBoZWlnaHQsIGJs
b2NrOwotICAgIENIRUNLX0ZTQ0FORl9FUlJPUigKLSAgICAgICAgZnNjYW5mKHRwbF9maWxlLCAi
JWQgJWQgJWRcbiIsICZ3aWR0aCwgJmhlaWdodCwgJm51bV9ibG9ja3MpLCAzKTsKLSAgICBmcmFt
ZV9zdGF0cy0+bnVtX2Jsb2NrcyA9IG51bV9ibG9ja3M7Ci0gICAgZnJhbWVfc3RhdHMtPmZyYW1l
X3dpZHRoID0gd2lkdGg7Ci0gICAgZnJhbWVfc3RhdHMtPmZyYW1lX2hlaWdodCA9IGhlaWdodDsK
LSAgICBmcmFtZV9zdGF0cy0+YmxvY2tfc3RhdHNfbGlzdCA9IChWcHhUcGxCbG9ja1N0YXRzICop
dnB4X2NhbGxvYygKLSAgICAgICAgbnVtX2Jsb2Nrcywgc2l6ZW9mKGZyYW1lX3N0YXRzLT5ibG9j
a19zdGF0c19saXN0WzBdKSk7Ci0gICAgaWYgKGZyYW1lX3N0YXRzLT5ibG9ja19zdGF0c19saXN0
ID09IE5VTEwpIHsKLSAgICAgIHZweF9mcmVlX3RwbF9nb3Bfc3RhdHModHBsX2dvcF9zdGF0cyk7
Ci0gICAgICByZXR1cm4gVlBYX0NPREVDX01FTV9FUlJPUjsKLSAgICB9Ci0gICAgZm9yIChibG9j
ayA9IDA7IGJsb2NrIDwgbnVtX2Jsb2NrczsgYmxvY2srKykgewotICAgICAgVnB4VHBsQmxvY2tT
dGF0cyAqYmxvY2tfc3RhdHMgPSAmZnJhbWVfc3RhdHMtPmJsb2NrX3N0YXRzX2xpc3RbYmxvY2td
OwotICAgICAgQ0hFQ0tfRlNDQU5GX0VSUk9SKAotICAgICAgICAgIGZzY2FuZih0cGxfZmlsZSwK
LSAgICAgICAgICAgICAgICAgIiUiIFNDTmQ2NCAiICUiIFNDTmQ2NCAiICUiIFNDTmQxNiAiICUi
IFNDTmQxNiAiICUiIFNDTmQ2NAotICAgICAgICAgICAgICAgICAiICUiIFNDTmQ2NCAiICVkXG4i
LAotICAgICAgICAgICAgICAgICAmYmxvY2tfc3RhdHMtPmludGVyX2Nvc3QsICZibG9ja19zdGF0
cy0+aW50cmFfY29zdCwKLSAgICAgICAgICAgICAgICAgJmJsb2NrX3N0YXRzLT5tdl9jLCAmYmxv
Y2tfc3RhdHMtPm12X3IsCi0gICAgICAgICAgICAgICAgICZibG9ja19zdGF0cy0+cmVjcmZfZGlz
dCwgJmJsb2NrX3N0YXRzLT5yZWNyZl9yYXRlLAotICAgICAgICAgICAgICAgICAmYmxvY2tfc3Rh
dHMtPnJlZl9mcmFtZV9pbmRleCksCi0gICAgICAgICAgNyk7Ci0gICAgfQotICB9Ci0KLSAgcmV0
dXJuIFZQWF9DT0RFQ19PSzsKLX0KLQotdm9pZCB2cHhfZnJlZV90cGxfZ29wX3N0YXRzKFZweFRw
bEdvcFN0YXRzICp0cGxfZ29wX3N0YXRzKSB7Ci0gIGludCBmcmFtZTsKLSAgaWYgKHRwbF9nb3Bf
c3RhdHMgPT0gTlVMTCkgcmV0dXJuOwotICBmb3IgKGZyYW1lID0gMDsgZnJhbWUgPCB0cGxfZ29w
X3N0YXRzLT5zaXplOyBmcmFtZSsrKSB7Ci0gICAgdnB4X2ZyZWUodHBsX2dvcF9zdGF0cy0+ZnJh
bWVfc3RhdHNfbGlzdFtmcmFtZV0uYmxvY2tfc3RhdHNfbGlzdCk7Ci0gIH0KLSAgdnB4X2ZyZWUo
dHBsX2dvcF9zdGF0cy0+ZnJhbWVfc3RhdHNfbGlzdCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweC92cDhjeC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4Y3guaAppbmRleCAzYzAyNzhjODQ4
OGMuLjM3YWQwN2QzM2Q5YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnA4Y3guaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweC92cDhjeC5oCkBAIC0zMywxNSArMzMsNyBAQCBleHRlcm4gIkMiIHsK
ICAqIFRoaXMgaW50ZXJmYWNlIHByb3ZpZGVzIHRoZSBjYXBhYmlsaXR5IHRvIGVuY29kZSByYXcg
VlA4IHN0cmVhbXMuCiAgKiBAewogICovCi0KLS8qIVxicmllZiBBIHNpbmdsZSBpbnN0YW5jZSBv
ZiB0aGUgVlA4IGVuY29kZXIuCi0gKlxkZXByZWNhdGVkIFRoaXMgYWNjZXNzIG1lY2hhbmlzbSBp
cyBwcm92aWRlZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHk7Ci0gKiBwcmVmZXIgdnB4X2Nv
ZGVjX3ZwOF9jeCgpLgotICovCiBleHRlcm4gdnB4X2NvZGVjX2lmYWNlX3QgdnB4X2NvZGVjX3Zw
OF9jeF9hbGdvOwotCi0vKiFcYnJpZWYgVGhlIGludGVyZmFjZSB0byB0aGUgVlA4IGVuY29kZXIu
Ci0gKi8KIGV4dGVybiB2cHhfY29kZWNfaWZhY2VfdCAqdnB4X2NvZGVjX3ZwOF9jeCh2b2lkKTsK
IC8qIUB9IC0gZW5kIGFsZ29yaXRobSBpbnRlcmZhY2UgbWVtYmVyIGdyb3VwKi8KIApAQCAtNTAs
MTUgKzQyLDcgQEAgZXh0ZXJuIHZweF9jb2RlY19pZmFjZV90ICp2cHhfY29kZWNfdnA4X2N4KHZv
aWQpOwogICogVGhpcyBpbnRlcmZhY2UgcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gZW5jb2Rl
IHJhdyBWUDkgc3RyZWFtcy4KICAqIEB7CiAgKi8KLQotLyohXGJyaWVmIEEgc2luZ2xlIGluc3Rh
bmNlIG9mIHRoZSBWUDkgZW5jb2Rlci4KLSAqXGRlcHJlY2F0ZWQgVGhpcyBhY2Nlc3MgbWVjaGFu
aXNtIGlzIHByb3ZpZGVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eTsKLSAqIHByZWZlciB2
cHhfY29kZWNfdnA5X2N4KCkuCi0gKi8KIGV4dGVybiB2cHhfY29kZWNfaWZhY2VfdCB2cHhfY29k
ZWNfdnA5X2N4X2FsZ287Ci0KLS8qIVxicmllZiBUaGUgaW50ZXJmYWNlIHRvIHRoZSBWUDkgZW5j
b2Rlci4KLSAqLwogZXh0ZXJuIHZweF9jb2RlY19pZmFjZV90ICp2cHhfY29kZWNfdnA5X2N4KHZv
aWQpOwogLyohQH0gLSBlbmQgYWxnb3JpdGhtIGludGVyZmFjZSBtZW1iZXIgZ3JvdXAqLwogCkBA
IC0zMDIsNyArMjg2LDcgQEAgZW51bSB2cDhlX2VuY19jb250cm9sX2lkIHsKICAgICogdGhlIGZl
YXR1cmUgaXMgb2ZmLCBpLmUuLCBubyBnb2xkZW4gZnJhbWUgYm9vc3QgaW4gQ0JSIG1vZGUgYW5k
CiAgICAqIGF2ZXJhZ2UgYml0cmF0ZSB0YXJnZXQgaXMgdXNlZC4KICAgICoKLSAgICogRm9yIGV4
YW1wbGUsIHRvIGFsbG93IDEwMCUgbW9yZSBiaXRzLCBpLmUuLCAyWCwgaW4gYSBnb2xkZW4gZnJh
bWUKKyAgICogRm9yIGV4YW1wbGUsIHRvIGFsbG93IDEwMCUgbW9yZSBiaXRzLCBpLmUsIDJYLCBp
biBhIGdvbGRlbiBmcmFtZQogICAgKiB0aGFuIGF2ZXJhZ2UgZnJhbWUsIHNldCB0aGlzIHRvIDEw
MC4KICAgICoKICAgICogU3VwcG9ydGVkIGluIGNvZGVjczogVlA5CkBAIC01MTAsMTMgKzQ5NCwy
NSBAQCBlbnVtIHZwOGVfZW5jX2NvbnRyb2xfaWQgewogICAgKi8KICAgVlA5RV9TRVRfQ09MT1Jf
U1BBQ0UsCiAKKyAgLyohXGJyaWVmIENvZGVjIGNvbnRyb2wgZnVuY3Rpb24gdG8gc2V0IHRlbXBv
cmFsIGxheWVyaW5nIG1vZGUuCisgICAqIFxub3RlIFZhbGlkIHJhbmdlczogMC4uMywgZGVmYXVs
dCBpcyAiMCIKKyAgICogKFZQOUVfVEVNUE9SQUxfTEFZRVJJTkdfTU9ERV9OT0xBWUVSSU5HKS4K
KyAgICogICAgICAgICAgICAgICAgICAgICAwID0gVlA5RV9URU1QT1JBTF9MQVlFUklOR19NT0RF
X05PTEFZRVJJTkcKKyAgICogICAgICAgICAgICAgICAgICAgICAxID0gVlA5RV9URU1QT1JBTF9M
QVlFUklOR19NT0RFX0JZUEFTUworICAgKiAgICAgICAgICAgICAgICAgICAgIDIgPSBWUDlFX1RF
TVBPUkFMX0xBWUVSSU5HX01PREVfMDEwMQorICAgKiAgICAgICAgICAgICAgICAgICAgIDMgPSBW
UDlFX1RFTVBPUkFMX0xBWUVSSU5HX01PREVfMDIxMgorICAgKgorICAgKiBTdXBwb3J0ZWQgaW4g
Y29kZWNzOiBWUDkKKyAgICovCisgIFZQOUVfU0VUX1RFTVBPUkFMX0xBWUVSSU5HX01PREUsCisK
ICAgLyohXGJyaWVmIENvZGVjIGNvbnRyb2wgZnVuY3Rpb24gdG8gc2V0IG1pbmltdW0gaW50ZXJ2
YWwgYmV0d2VlbiBHRi9BUkYgZnJhbWVzCiAgICAqCiAgICAqIEJ5IGRlZmF1bHQgdGhlIHZhbHVl
IGlzIHNldCBhcyA0LgogICAgKgogICAgKiBTdXBwb3J0ZWQgaW4gY29kZWNzOiBWUDkKICAgICov
Ci0gIFZQOUVfU0VUX01JTl9HRl9JTlRFUlZBTCA9IDQ4LAorICBWUDlFX1NFVF9NSU5fR0ZfSU5U
RVJWQUwsCiAKICAgLyohXGJyaWVmIENvZGVjIGNvbnRyb2wgZnVuY3Rpb24gdG8gc2V0IG1pbmlt
dW0gaW50ZXJ2YWwgYmV0d2VlbiBHRi9BUkYgZnJhbWVzCiAgICAqCkBAIC01OTgsNyArNTk0LDcg
QEAgZW51bSB2cDhlX2VuY19jb250cm9sX2lkIHsKICAgICogdGhlIGZlYXR1cmUgaXMgb2ZmLCBp
LmUuLCBubyBnb2xkZW4gZnJhbWUgYm9vc3QgaW4gQ0JSIG1vZGUgYW5kCiAgICAqIGF2ZXJhZ2Ug
Yml0cmF0ZSB0YXJnZXQgaXMgdXNlZC4KICAgICoKLSAgICogRm9yIGV4YW1wbGUsIHRvIGFsbG93
IDEwMCUgbW9yZSBiaXRzLCBpLmUuLCAyWCwgaW4gYSBnb2xkZW4gZnJhbWUKKyAgICogRm9yIGV4
YW1wbGUsIHRvIGFsbG93IDEwMCUgbW9yZSBiaXRzLCBpLmUsIDJYLCBpbiBhIGdvbGRlbiBmcmFt
ZQogICAgKiB0aGFuIGF2ZXJhZ2UgZnJhbWUsIHNldCB0aGlzIHRvIDEwMC4KICAgICoKICAgICog
U3VwcG9ydGVkIGluIGNvZGVjczogVlA4CkBAIC03MTYsNjkgKzcxMiw2IEBAIGVudW0gdnA4ZV9l
bmNfY29udHJvbF9pZCB7CiAgICAqIFN1cHBvcnRlZCBpbiBjb2RlY3M6IFZQOQogICAgKi8KICAg
VlA5RV9TRVRfRVhURVJOQUxfUkFURV9DT05UUk9MLAotCi0gIC8qIVxicmllZiBDb2RlYyBjb250
cm9sIHRvIGRpc2FibGUgaW50ZXJuYWwgZmVhdHVyZXMgaW4gcmF0ZSBjb250cm9sLgotICAgKgot
ICAgKiBUaGlzIHdpbGwgZG8gMyB0aGluZ3MsIG9ubHkgZm9yIDEgcGFzczoKLSAgICogIC0gVHVy
biBvZmYgbG93IG1vdGlvbiBjb21wdXRhdGlvbgotICAgKiAgLSBUdXJuIG9mZiBnZiB1cGRhdGUg
Y29uc3RyYWludCBvbiBrZXkgZnJhbWUgZnJlcXVlbmN5Ci0gICAqICAtIFR1cm4gb2ZmIGNvbnRl
bnQgbW9kZSBmb3IgY3ljbGljIHJlZnJlc2gKLSAgICoKLSAgICogV2l0aCB0aG9zZSwgdGhlIHJh
dGUgY29udHJvbCBpcyBleHBlY3RlZCB0byB3b3JrIGV4YWN0bHkgdGhlIHNhbWUgYXMgdGhlCi0g
ICAqIGludGVyZmFjZSBwcm92aWRlZCBpbiByYXRlY3RybF9ydGMuY2MvaAotICAgKgotICAgKiBT
dXBwb3J0ZWQgaW4gY29kZWNzOiBWUDkKLSAgICovCi0gIFZQOUVfU0VUX1JUQ19FWFRFUk5BTF9S
QVRFQ1RSTCwKLQotICAvKiFcYnJpZWYgQ29kZWMgY29udHJvbCBmdW5jdGlvbiB0byBnZXQgbG9v
cGZpbHRlciBsZXZlbCBpbiB0aGUgZW5jb2Rlci4KLSAgICoKLSAgICogU3VwcG9ydGVkIGluIGNv
ZGVjczogVlA5Ci0gICAqLwotICBWUDlFX0dFVF9MT09QRklMVEVSX0xFVkVMLAotCi0gIC8qIVxi
cmllZiBDb2RlYyBjb250cm9sIHRvIGdldCBsYXN0IHF1YW50aXplcnMgZm9yIGFsbCBzcGF0aWFs
IGxheWVycy4KLSAgICoKLSAgICogUmV0dXJuIHZhbHVlIHVzZXMgYW4gYXJyYXkgb2YgaW50ZXJu
YWwgcXVhbnRpemVycyBzY2FsZSBkZWZpbmVkIGJ5IHRoZQotICAgKiBjb2RlYywgZm9yIGFsbCBz
cGF0aWFsIGxheWVycy4KLSAgICogVGhlIHNpemUgb2YgdGhlIGFycmF5IHBhc3NlZCBpbiBzaG91
bGQgYmUgI1ZQWF9TU19NQVhfTEFZRVJTLgotICAgKgotICAgKiBTdXBwb3J0ZWQgaW4gY29kZWNz
OiBWUDkKLSAgICovCi0gIFZQOUVfR0VUX0xBU1RfUVVBTlRJWkVSX1NWQ19MQVlFUlMsCi0KLSAg
LyohXGJyaWVmIENvZGVjIGNvbnRyb2wgdG8gZGlzYWJsZSBpbnRlcm5hbCBmZWF0dXJlcyBpbiBy
YXRlIGNvbnRyb2wuCi0gICAqCi0gICAqIFRoaXMgd2lsbCB0dXJuIG9mZiBjeWNsaWMgcmVmcmVz
aCBmb3IgdnA4LgotICAgKgotICAgKiBXaXRoIHRoaXMsIHRoZSByYXRlIGNvbnRyb2wgaXMgZXhw
ZWN0ZWQgdG8gd29yayBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZQotICAgKiBpbnRlcmZhY2UgcHJv
dmlkZWQgaW4gdnA4X3JhdGVjdHJsX3J0Yy5jYy9oCi0gICAqCi0gICAqIFN1cHBvcnRlZCBpbiBj
b2RlY3M6IFZQOAotICAgKi8KLSAgVlA4RV9TRVRfUlRDX0VYVEVSTkFMX1JBVEVDVFJMLAotCi0g
IC8qIVxicmllZiBDb2RlYyBjb250cm9sIHRvIHNldCBxdWFudGl6ZXIgZm9yIHRoZSBuZXh0IGZy
YW1lLgotICAgKgotICAgKiBUaGlzIHdpbGwgdHVybiBvZmYgY3ljbGljIHJlZnJlc2guIE9ubHkg
YXBwbGljYWJsZSB0byAxLXBhc3Mgd2l0aG91dAotICAgKiBzcGF0aWFsIGxheWVycy4KLSAgICoK
LSAgICogU3VwcG9ydGVkIGluIGNvZGVjczogVlA5Ci0gICAqCi0gICAqLwotICBWUDlFX1NFVF9R
VUFOVElaRVJfT05FX1BBU1MsCi0KLSAgLyohXGJyaWVmIENvZGVjIGNvbnRyb2wgdG8gZ2V0IFRQ
TCBzdGF0cyBmb3IgdGhlIGN1cnJlbnQgR09QLgotICAgKgotICAgKiBBbGxvY2F0aW9uIGFuZCBm
cmVlIG9mIG1lbW9yeSBvZiBzaXplIE1BWF9BUkZfR09QX1NJWkUgKDUwKSAqCi0gICAqIHNpemVv
ZihWcHhUcGxGcmFtZVN0YXRzKSBzaG91bGQgYmUgZG9uZSBieSBhcHBsaWNhdGlvbnMuCi0gICAq
Ci0gICAqIFZQWF9DT0RFQ19JTlZBTElEX1BBUkFNIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIHBv
aW50ZXIgcGFzc2VkIGluIGlzIE5VTEwuCi0gICAqCi0gICAqIFN1cHBvcnRlZCBpbiBjb2RlY3M6
IFZQOQotICAgKgotICAgKi8KLSAgVlA5RV9HRVRfVFBMX1NUQVRTLAogfTsKIAogLyohXGJyaWVm
IHZweCAxLUQgc2NhbGluZyBtb2RlCkBAIC04MzQsOCArNzY3LDggQEAgdHlwZWRlZiBzdHJ1Y3Qg
dnB4X3JvaV9tYXAgewogICB1bnNpZ25lZCBpbnQgcm93czsgLyoqPCBOdW1iZXIgb2Ygcm93cy4g
Ki8KICAgdW5zaWduZWQgaW50IGNvbHM7IC8qKjwgTnVtYmVyIG9mIGNvbHVtbnMuICovCiAgIC8q
ISBWUDggb25seSB1c2VzIHRoZSBmaXJzdCA0IHNlZ21lbnRzLiBWUDkgdXNlcyA4IHNlZ21lbnRz
LiAqLwotICBpbnQgZGVsdGFfcVs4XTsgIC8qKjwgUXVhbnRpemVyIGRlbHRhcy4gVmFsaWQgcmFu
Z2U6IFstNjMsIDYzXS4qLwotICBpbnQgZGVsdGFfbGZbOF07IC8qKjwgTG9vcCBmaWx0ZXIgZGVs
dGFzLiBWYWxpZCByYW5nZTogWy02MywgNjNdLiovCisgIGludCBkZWx0YV9xWzhdOyAgLyoqPCBR
dWFudGl6ZXIgZGVsdGFzLiAqLworICBpbnQgZGVsdGFfbGZbOF07IC8qKjwgTG9vcCBmaWx0ZXIg
ZGVsdGFzLiAqLwogICAvKiEgc2tpcCBhbmQgcmVmIGZyYW1lIHNlZ21lbnQgaXMgb25seSB1c2Vk
IGluIFZQOS4gKi8KICAgaW50IHNraXBbOF07ICAgICAgLyoqPCBTa2lwIHRoaXMgYmxvY2suICov
CiAgIGludCByZWZfZnJhbWVbOF07IC8qKjwgUmVmZXJlbmNlIGZyYW1lIGZvciB0aGlzIGJsb2Nr
LiAqLwpAQCAtOTc4LDEyICs5MTEsMjggQEAgdHlwZWRlZiBzdHJ1Y3QgdnB4X3N2Y19zcGF0aWFs
X2xheWVyX3N5bmMgewogICoKICAqLwogCitWUFhfQ1RSTF9VU0VfVFlQRShWUDhFX1NFVF9GUkFN
RV9GTEFHUywgaW50KQorI2RlZmluZSBWUFhfQ1RSTF9WUDhFX1NFVF9GUkFNRV9GTEFHUworVlBY
X0NUUkxfVVNFX1RZUEUoVlA4RV9TRVRfVEVNUE9SQUxfTEFZRVJfSUQsIGludCkKKyNkZWZpbmUg
VlBYX0NUUkxfVlA4RV9TRVRfVEVNUE9SQUxfTEFZRVJfSUQKIFZQWF9DVFJMX1VTRV9UWVBFKFZQ
OEVfU0VUX1JPSV9NQVAsIHZweF9yb2lfbWFwX3QgKikKICNkZWZpbmUgVlBYX0NUUkxfVlA4RV9T
RVRfUk9JX01BUAorVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfUk9JX01BUCwgdnB4X3JvaV9t
YXBfdCAqKQorI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9ST0lfTUFQCiBWUFhfQ1RSTF9VU0Vf
VFlQRShWUDhFX1NFVF9BQ1RJVkVNQVAsIHZweF9hY3RpdmVfbWFwX3QgKikKICNkZWZpbmUgVlBY
X0NUUkxfVlA4RV9TRVRfQUNUSVZFTUFQCiBWUFhfQ1RSTF9VU0VfVFlQRShWUDhFX1NFVF9TQ0FM
RU1PREUsIHZweF9zY2FsaW5nX21vZGVfdCAqKQogI2RlZmluZSBWUFhfQ1RSTF9WUDhFX1NFVF9T
Q0FMRU1PREUKKworVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfU1ZDLCBpbnQpCisjZGVmaW5l
IFZQWF9DVFJMX1ZQOUVfU0VUX1NWQworVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfU1ZDX1BB
UkFNRVRFUlMsIHZvaWQgKikKKyNkZWZpbmUgVlBYX0NUUkxfVlA5RV9TRVRfU1ZDX1BBUkFNRVRF
UlMKK1ZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfUkVHSVNURVJfQ1hfQ0FMTEJBQ0ssIHZvaWQgKikK
KyNkZWZpbmUgVlBYX0NUUkxfVlA5RV9SRUdJU1RFUl9DWF9DQUxMQkFDSworVlBYX0NUUkxfVVNF
X1RZUEUoVlA5RV9TRVRfU1ZDX0xBWUVSX0lELCB2cHhfc3ZjX2xheWVyX2lkX3QgKikKKyNkZWZp
bmUgVlBYX0NUUkxfVlA5RV9TRVRfU1ZDX0xBWUVSX0lECisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQ
OEVfU0VUX0NQVVVTRUQsIGludCkKICNkZWZpbmUgVlBYX0NUUkxfVlA4RV9TRVRfQ1BVVVNFRAog
VlBYX0NUUkxfVVNFX1RZUEUoVlA4RV9TRVRfRU5BQkxFQVVUT0FMVFJFRiwgdW5zaWduZWQgaW50
KQpAQCAtOTk2LDEwICs5NDUsNyBAQCBWUFhfQ1RSTF9VU0VfVFlQRShWUDhFX1NFVF9TVEFUSUNf
VEhSRVNIT0xELCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOEVfU0VUX1NUQVRJ
Q19USFJFU0hPTEQKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOEVfU0VUX1RPS0VOX1BBUlRJVElPTlMs
IGludCkgLyogdnA4ZV90b2tlbl9wYXJ0aXRpb25zICovCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOEVf
U0VUX1RPS0VOX1BBUlRJVElPTlMKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOEVfR0VUX0xBU1RfUVVB
TlRJWkVSLCBpbnQgKikKLSNkZWZpbmUgVlBYX0NUUkxfVlA4RV9HRVRfTEFTVF9RVUFOVElaRVIK
LVZQWF9DVFJMX1VTRV9UWVBFKFZQOEVfR0VUX0xBU1RfUVVBTlRJWkVSXzY0LCBpbnQgKikKLSNk
ZWZpbmUgVlBYX0NUUkxfVlA4RV9HRVRfTEFTVF9RVUFOVElaRVJfNjQKKwogVlBYX0NUUkxfVVNF
X1RZUEUoVlA4RV9TRVRfQVJOUl9NQVhGUkFNRVMsIHVuc2lnbmVkIGludCkKICNkZWZpbmUgVlBY
X0NUUkxfVlA4RV9TRVRfQVJOUl9NQVhGUkFNRVMKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOEVfU0VU
X0FSTlJfU1RSRU5HVEgsIHVuc2lnbmVkIGludCkKQEAgLTEwMTAsMTA3ICs5NTYsMTIwIEBAIFZQ
WF9DVFJMX1VTRV9UWVBFKFZQOEVfU0VUX1RVTklORywgaW50KSAvKiB2cDhlX3R1bmluZyAqLwog
I2RlZmluZSBWUFhfQ1RSTF9WUDhFX1NFVF9UVU5JTkcKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOEVf
U0VUX0NRX0xFVkVMLCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOEVfU0VUX0NR
X0xFVkVMCisKK1ZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX1RJTEVfQ09MVU1OUywgaW50KQor
I2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9USUxFX0NPTFVNTlMKK1ZQWF9DVFJMX1VTRV9UWVBF
KFZQOUVfU0VUX1RJTEVfUk9XUywgaW50KQorI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9USUxF
X1JPV1MKKworVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfVFBMLCBpbnQpCisjZGVmaW5lIFZQ
WF9DVFJMX1ZQOUVfU0VUX1RQTAorCitWUFhfQ1RSTF9VU0VfVFlQRShWUDhFX0dFVF9MQVNUX1FV
QU5USVpFUiwgaW50ICopCisjZGVmaW5lIFZQWF9DVFJMX1ZQOEVfR0VUX0xBU1RfUVVBTlRJWkVS
CitWUFhfQ1RSTF9VU0VfVFlQRShWUDhFX0dFVF9MQVNUX1FVQU5USVpFUl82NCwgaW50ICopCisj
ZGVmaW5lIFZQWF9DVFJMX1ZQOEVfR0VUX0xBU1RfUVVBTlRJWkVSXzY0CitWUFhfQ1RSTF9VU0Vf
VFlQRShWUDlFX0dFVF9TVkNfTEFZRVJfSUQsIHZweF9zdmNfbGF5ZXJfaWRfdCAqKQorI2RlZmlu
ZSBWUFhfQ1RSTF9WUDlFX0dFVF9TVkNfTEFZRVJfSUQKKwogVlBYX0NUUkxfVVNFX1RZUEUoVlA4
RV9TRVRfTUFYX0lOVFJBX0JJVFJBVEVfUENULCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIFZQWF9D
VFJMX1ZQOEVfU0VUX01BWF9JTlRSQV9CSVRSQVRFX1BDVAotVlBYX0NUUkxfVVNFX1RZUEUoVlA4
RV9TRVRfRlJBTUVfRkxBR1MsIGludCkKLSNkZWZpbmUgVlBYX0NUUkxfVlA4RV9TRVRfRlJBTUVf
RkxBR1MKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX01BWF9JTlRFUl9CSVRSQVRFX1BDVCwg
dW5zaWduZWQgaW50KQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9NQVhfSU5URVJfQklUUkFU
RV9QQ1QKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX0dGX0NCUl9CT09TVF9QQ1QsIHVuc2ln
bmVkIGludCkKLSNkZWZpbmUgVlBYX0NUUkxfVlA5RV9TRVRfR0ZfQ0JSX0JPT1NUX1BDVAotVlBY
X0NUUkxfVVNFX1RZUEUoVlA4RV9TRVRfVEVNUE9SQUxfTEFZRVJfSUQsIGludCkKLSNkZWZpbmUg
VlBYX0NUUkxfVlA4RV9TRVRfVEVNUE9SQUxfTEFZRVJfSUQKKworVlBYX0NUUkxfVVNFX1RZUEUo
VlA4RV9TRVRfR0ZfQ0JSX0JPT1NUX1BDVCwgdW5zaWduZWQgaW50KQorI2RlZmluZSBWUFhfQ1RS
TF9WUDhFX1NFVF9HRl9DQlJfQk9PU1RfUENUCisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOEVfU0VU
X1NDUkVFTl9DT05URU5UX01PREUsIHVuc2lnbmVkIGludCkKICNkZWZpbmUgVlBYX0NUUkxfVlA4
RV9TRVRfU0NSRUVOX0NPTlRFTlRfTU9ERQorCitWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9H
Rl9DQlJfQk9PU1RfUENULCB1bnNpZ25lZCBpbnQpCisjZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VU
X0dGX0NCUl9CT09TVF9QQ1QKKwogVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfTE9TU0xFU1Ms
IHVuc2lnbmVkIGludCkKICNkZWZpbmUgVlBYX0NUUkxfVlA5RV9TRVRfTE9TU0xFU1MKLVZQWF9D
VFJMX1VTRV9UWVBFKFZQOUVfU0VUX1RJTEVfQ09MVU1OUywgaW50KQotI2RlZmluZSBWUFhfQ1RS
TF9WUDlFX1NFVF9USUxFX0NPTFVNTlMKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX1RJTEVf
Uk9XUywgaW50KQotI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9USUxFX1JPV1MKKwogVlBYX0NU
UkxfVVNFX1RZUEUoVlA5RV9TRVRfRlJBTUVfUEFSQUxMRUxfREVDT0RJTkcsIHVuc2lnbmVkIGlu
dCkKICNkZWZpbmUgVlBYX0NUUkxfVlA5RV9TRVRfRlJBTUVfUEFSQUxMRUxfREVDT0RJTkcKKwog
VlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfQVFfTU9ERSwgdW5zaWduZWQgaW50KQogI2RlZmlu
ZSBWUFhfQ1RSTF9WUDlFX1NFVF9BUV9NT0RFCisKK1ZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VU
X0FMVF9SRUZfQVEsIGludCkKKyNkZWZpbmUgVlBYX0NUUkxfVlA5RV9TRVRfQUxUX1JFRl9BUQor
CiBWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9GUkFNRV9QRVJJT0RJQ19CT09TVCwgdW5zaWdu
ZWQgaW50KQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9GUkFNRV9QRVJJT0RJQ19CT09TVAor
CiBWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9OT0lTRV9TRU5TSVRJVklUWSwgdW5zaWduZWQg
aW50KQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9OT0lTRV9TRU5TSVRJVklUWQotVlBYX0NU
UkxfVVNFX1RZUEUoVlA5RV9TRVRfU1ZDLCBpbnQpCi0jZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VU
X1NWQwotVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfUk9JX01BUCwgdnB4X3JvaV9tYXBfdCAq
KQotI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9ST0lfTUFQCi1WUFhfQ1RSTF9VU0VfVFlQRShW
UDlFX1NFVF9TVkNfUEFSQU1FVEVSUywgdm9pZCAqKQotI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NF
VF9TVkNfUEFSQU1FVEVSUwotVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfU1ZDX0xBWUVSX0lE
LCB2cHhfc3ZjX2xheWVyX2lkX3QgKikKLSNkZWZpbmUgVlBYX0NUUkxfVlA5RV9TRVRfU1ZDX0xB
WUVSX0lECisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX1RVTkVfQ09OVEVOVCwgaW50KSAv
KiB2cDllX3R1bmVfY29udGVudCAqLwogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9UVU5FX0NP
TlRFTlQKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfR0VUX1NWQ19MQVlFUl9JRCwgdnB4X3N2Y19s
YXllcl9pZF90ICopCi0jZGVmaW5lIFZQWF9DVFJMX1ZQOUVfR0VUX1NWQ19MQVlFUl9JRAotVlBY
X0NUUkxfVVNFX1RZUEUoVlA5RV9SRUdJU1RFUl9DWF9DQUxMQkFDSywgdm9pZCAqKQotI2RlZmlu
ZSBWUFhfQ1RSTF9WUDlFX1JFR0lTVEVSX0NYX0NBTExCQUNLCisKIFZQWF9DVFJMX1VTRV9UWVBF
KFZQOUVfU0VUX0NPTE9SX1NQQUNFLCBpbnQpCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VUX0NP
TE9SX1NQQUNFCisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX01JTl9HRl9JTlRFUlZBTCwg
dW5zaWduZWQgaW50KQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9NSU5fR0ZfSU5URVJWQUwK
KwogVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfTUFYX0dGX0lOVEVSVkFMLCB1bnNpZ25lZCBp
bnQpCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VUX01BWF9HRl9JTlRFUlZBTAorCiBWUFhfQ1RS
TF9VU0VfVFlQRShWUDlFX0dFVF9BQ1RJVkVNQVAsIHZweF9hY3RpdmVfbWFwX3QgKikKICNkZWZp
bmUgVlBYX0NUUkxfVlA5RV9HRVRfQUNUSVZFTUFQCisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOUVf
U0VUX0NPTE9SX1JBTkdFLCBpbnQpCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VUX0NPTE9SX1JB
TkdFCisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX1NWQ19SRUZfRlJBTUVfQ09ORklHLCB2
cHhfc3ZjX3JlZl9mcmFtZV9jb25maWdfdCAqKQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9T
VkNfUkVGX0ZSQU1FX0NPTkZJRworCiBWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9SRU5ERVJf
U0laRSwgaW50ICopCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VUX1JFTkRFUl9TSVpFCisKIFZQ
WF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX1RBUkdFVF9MRVZFTCwgdW5zaWduZWQgaW50KQogI2Rl
ZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9UQVJHRVRfTEVWRUwKKwogVlBYX0NUUkxfVVNFX1RZUEUo
VlA5RV9TRVRfUk9XX01ULCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VU
X1JPV19NVAorCiBWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX0dFVF9MRVZFTCwgaW50ICopCiAjZGVm
aW5lIFZQWF9DVFJMX1ZQOUVfR0VUX0xFVkVMCi1WUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9B
TFRfUkVGX0FRLCBpbnQpCi0jZGVmaW5lIFZQWF9DVFJMX1ZQOUVfU0VUX0FMVF9SRUZfQVEKLVZQ
WF9DVFJMX1VTRV9UWVBFKFZQOEVfU0VUX0dGX0NCUl9CT09TVF9QQ1QsIHVuc2lnbmVkIGludCkK
LSNkZWZpbmUgVlBYX0NUUkxfVlA4RV9TRVRfR0ZfQ0JSX0JPT1NUX1BDVAorCiBWUFhfQ1RSTF9V
U0VfVFlQRShWUDlFX0VOQUJMRV9NT1RJT05fVkVDVE9SX1VOSVRfVEVTVCwgdW5zaWduZWQgaW50
KQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX0VOQUJMRV9NT1RJT05fVkVDVE9SX1VOSVRfVEVTVAor
CiBWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9TVkNfSU5URVJfTEFZRVJfUFJFRCwgdW5zaWdu
ZWQgaW50KQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9TVkNfSU5URVJfTEFZRVJfUFJFRAor
CiBWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9TVkNfRlJBTUVfRFJPUF9MQVlFUiwgdnB4X3N2
Y19mcmFtZV9kcm9wX3QgKikKICNkZWZpbmUgVlBYX0NUUkxfVlA5RV9TRVRfU1ZDX0ZSQU1FX0RS
T1BfTEFZRVIKKwogVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9HRVRfU1ZDX1JFRl9GUkFNRV9DT05G
SUcsIHZweF9zdmNfcmVmX2ZyYW1lX2NvbmZpZ190ICopCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOUVf
R0VUX1NWQ19SRUZfRlJBTUVfQ09ORklHCisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX1NW
Q19HRl9URU1QT1JBTF9SRUYsIHVuc2lnbmVkIGludCkKICNkZWZpbmUgVlBYX0NUUkxfVlA5RV9T
RVRfU1ZDX0dGX1RFTVBPUkFMX1JFRgorCiBWUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9TVkNf
U1BBVElBTF9MQVlFUl9TWU5DLAogICAgICAgICAgICAgICAgICAgdnB4X3N2Y19zcGF0aWFsX2xh
eWVyX3N5bmNfdCAqKQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9TVkNfU1BBVElBTF9MQVlF
Ul9TWU5DCi1WUFhfQ1RSTF9VU0VfVFlQRShWUDlFX1NFVF9UUEwsIGludCkKLSNkZWZpbmUgVlBY
X0NUUkxfVlA5RV9TRVRfVFBMCisKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfU0VUX1BPU1RFTkNP
REVfRFJPUCwgdW5zaWduZWQgaW50KQogI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9QT1NURU5D
T0RFX0RST1AKKwogVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfREVMVEFfUV9VViwgaW50KQog
I2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NFVF9ERUxUQV9RX1VWCisKIFZQWF9DVFJMX1VTRV9UWVBF
KFZQOUVfU0VUX0RJU0FCTEVfT1ZFUlNIT09UX01BWFFfQ0JSLCBpbnQpCiAjZGVmaW5lIFZQWF9D
VFJMX1ZQOUVfU0VUX0RJU0FCTEVfT1ZFUlNIT09UX01BWFFfQ0JSCisKIFZQWF9DVFJMX1VTRV9U
WVBFKFZQOUVfU0VUX0RJU0FCTEVfTE9PUEZJTFRFUiwgaW50KQogI2RlZmluZSBWUFhfQ1RSTF9W
UDlFX1NFVF9ESVNBQkxFX0xPT1BGSUxURVIKKwogVlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRf
RVhURVJOQUxfUkFURV9DT05UUk9MLCB2cHhfcmNfZnVuY3NfdCAqKQogI2RlZmluZSBWUFhfQ1RS
TF9WUDlFX1NFVF9FWFRFUk5BTF9SQVRFX0NPTlRST0wKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOUVf
U0VUX1JUQ19FWFRFUk5BTF9SQVRFQ1RSTCwgaW50KQotI2RlZmluZSBWUFhfQ1RSTF9WUDlFX1NF
VF9SVENfRVhURVJOQUxfUkFURUNUUkwKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOUVfR0VUX0xPT1BG
SUxURVJfTEVWRUwsIGludCAqKQotI2RlZmluZSBWUFhfQ1RSTF9WUDlFX0dFVF9MT09QRklMVEVS
X0xFVkVMCi1WUFhfQ1RSTF9VU0VfVFlQRShWUDlFX0dFVF9MQVNUX1FVQU5USVpFUl9TVkNfTEFZ
RVJTLCBpbnQgKikKLSNkZWZpbmUgVlBYX0NUUkxfVlA5RV9HRVRfTEFTVF9RVUFOVElaRVJfU1ZD
X0xBWUVSUwotVlBYX0NUUkxfVVNFX1RZUEUoVlA4RV9TRVRfUlRDX0VYVEVSTkFMX1JBVEVDVFJM
LCBpbnQpCi0jZGVmaW5lIFZQWF9DVFJMX1ZQOEVfU0VUX1JUQ19FWFRFUk5BTF9SQVRFQ1RSTAot
VlBYX0NUUkxfVVNFX1RZUEUoVlA5RV9TRVRfUVVBTlRJWkVSX09ORV9QQVNTLCBpbnQpCi0jZGVm
aW5lIFZQWF9DVFJMX1ZQOUVfU0VUX1FVQU5USVpFUl9PTkVfUEFTUwotVlBYX0NUUkxfVVNFX1RZ
UEUoVlA5RV9HRVRfVFBMX1NUQVRTLCB2b2lkICopCi0jZGVmaW5lIFZQWF9DVFJMX1ZQOUVfR0VU
X1RQTF9TVEFUUwogCiAvKiFcZW5kY29uZCAqLwogLyohIEB9IC0gZW5kIGRlZmdyb3VwIHZwOF9l
bmNvZGVyICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHgvdnA4ZHguaAppbmRleCA4YzEzNjQ5ZjRhMWYuLmFmOTJmMjFhZTMwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHgvdnA4ZHguaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cDhkeC5oCkBA
IC0zMiwxNSArMzIsNyBAQCBleHRlcm4gIkMiIHsKICAqIFRoaXMgaW50ZXJmYWNlIHByb3ZpZGVz
IHRoZSBjYXBhYmlsaXR5IHRvIGRlY29kZSBWUDggc3RyZWFtcy4KICAqIEB7CiAgKi8KLQotLyoh
XGJyaWVmIEEgc2luZ2xlIGluc3RhbmNlIG9mIHRoZSBWUDggZGVjb2Rlci4KLSAqXGRlcHJlY2F0
ZWQgVGhpcyBhY2Nlc3MgbWVjaGFuaXNtIGlzIHByb3ZpZGVkIGZvciBiYWNrd2FyZHMgY29tcGF0
aWJpbGl0eTsKLSAqIHByZWZlciB2cHhfY29kZWNfdnA4X2R4KCkuCi0gKi8KIGV4dGVybiB2cHhf
Y29kZWNfaWZhY2VfdCB2cHhfY29kZWNfdnA4X2R4X2FsZ287Ci0KLS8qIVxicmllZiBUaGUgaW50
ZXJmYWNlIHRvIHRoZSBWUDggZGVjb2Rlci4KLSAqLwogZXh0ZXJuIHZweF9jb2RlY19pZmFjZV90
ICp2cHhfY29kZWNfdnA4X2R4KHZvaWQpOwogLyohQH0gLSBlbmQgYWxnb3JpdGhtIGludGVyZmFj
ZSBtZW1iZXIgZ3JvdXAqLwogCkBAIC00OSwxNSArNDEsNyBAQCBleHRlcm4gdnB4X2NvZGVjX2lm
YWNlX3QgKnZweF9jb2RlY192cDhfZHgodm9pZCk7CiAgKiBUaGlzIGludGVyZmFjZSBwcm92aWRl
cyB0aGUgY2FwYWJpbGl0eSB0byBkZWNvZGUgVlA5IHN0cmVhbXMuCiAgKiBAewogICovCi0KLS8q
IVxicmllZiBBIHNpbmdsZSBpbnN0YW5jZSBvZiB0aGUgVlA5IGRlY29kZXIuCi0gKlxkZXByZWNh
dGVkIFRoaXMgYWNjZXNzIG1lY2hhbmlzbSBpcyBwcm92aWRlZCBmb3IgYmFja3dhcmRzIGNvbXBh
dGliaWxpdHk7Ci0gKiBwcmVmZXIgdnB4X2NvZGVjX3ZwOV9keCgpLgotICovCiBleHRlcm4gdnB4
X2NvZGVjX2lmYWNlX3QgdnB4X2NvZGVjX3ZwOV9keF9hbGdvOwotCi0vKiFcYnJpZWYgVGhlIGlu
dGVyZmFjZSB0byB0aGUgVlA5IGRlY29kZXIuCi0gKi8KIGV4dGVybiB2cHhfY29kZWNfaWZhY2Vf
dCAqdnB4X2NvZGVjX3ZwOV9keCh2b2lkKTsKIC8qIUB9IC0gZW5kIGFsZ29yaXRobSBpbnRlcmZh
Y2UgbWVtYmVyIGdyb3VwKi8KIApAQCAtMTkzLDMwICsxNzcsMjggQEAgVlBYX0NUUkxfVVNFX1RZ
UEUoVlA4RF9HRVRfRlJBTUVfQ09SUlVQVEVELCBpbnQgKikKICNkZWZpbmUgVlBYX0NUUkxfVlA4
RF9HRVRfRlJBTUVfQ09SUlVQVEVECiBWUFhfQ1RSTF9VU0VfVFlQRShWUDhEX0dFVF9MQVNUX1JF
Rl9VU0VELCBpbnQgKikKICNkZWZpbmUgVlBYX0NUUkxfVlA4RF9HRVRfTEFTVF9SRUZfVVNFRAor
VlBYX0NUUkxfVVNFX1RZUEUoVlBYRF9HRVRfTEFTVF9RVUFOVElaRVIsIGludCAqKQorI2RlZmlu
ZSBWUFhfQ1RSTF9WUFhEX0dFVF9MQVNUX1FVQU5USVpFUgogVlBYX0NUUkxfVVNFX1RZUEUoVlBY
RF9TRVRfREVDUllQVE9SLCB2cHhfZGVjcnlwdF9pbml0ICopCiAjZGVmaW5lIFZQWF9DVFJMX1ZQ
WERfU0VUX0RFQ1JZUFRPUgogVlBYX0NUUkxfVVNFX1RZUEUoVlA4RF9TRVRfREVDUllQVE9SLCB2
cHhfZGVjcnlwdF9pbml0ICopCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOERfU0VUX0RFQ1JZUFRPUgot
VlBYX0NUUkxfVVNFX1RZUEUoVlA5RF9HRVRfRlJBTUVfU0laRSwgaW50ICopCi0jZGVmaW5lIFZQ
WF9DVFJMX1ZQOURfR0VUX0ZSQU1FX1NJWkUKIFZQWF9DVFJMX1VTRV9UWVBFKFZQOURfR0VUX0RJ
U1BMQVlfU0laRSwgaW50ICopCiAjZGVmaW5lIFZQWF9DVFJMX1ZQOURfR0VUX0RJU1BMQVlfU0la
RQogVlBYX0NUUkxfVVNFX1RZUEUoVlA5RF9HRVRfQklUX0RFUFRILCB1bnNpZ25lZCBpbnQgKikK
ICNkZWZpbmUgVlBYX0NUUkxfVlA5RF9HRVRfQklUX0RFUFRICi1WUFhfQ1RSTF9VU0VfVFlQRShW
UDlfU0VUX0JZVEVfQUxJR05NRU5ULCBpbnQpCi0jZGVmaW5lIFZQWF9DVFJMX1ZQOV9TRVRfQllU
RV9BTElHTk1FTlQKK1ZQWF9DVFJMX1VTRV9UWVBFKFZQOURfR0VUX0ZSQU1FX1NJWkUsIGludCAq
KQorI2RlZmluZSBWUFhfQ1RSTF9WUDlEX0dFVF9GUkFNRV9TSVpFCiBWUFhfQ1RSTF9VU0VfVFlQ
RShWUDlfSU5WRVJUX1RJTEVfREVDT0RFX09SREVSLCBpbnQpCiAjZGVmaW5lIFZQWF9DVFJMX1ZQ
OV9JTlZFUlRfVElMRV9ERUNPREVfT1JERVIKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOV9TRVRfU0tJ
UF9MT09QX0ZJTFRFUiwgaW50KQotI2RlZmluZSBWUFhfQ1RSTF9WUDlfU0VUX1NLSVBfTE9PUF9G
SUxURVIKLVZQWF9DVFJMX1VTRV9UWVBFKFZQOV9ERUNPREVfU1ZDX1NQQVRJQUxfTEFZRVIsIGlu
dCkKICNkZWZpbmUgVlBYX0NUUkxfVlA5X0RFQ09ERV9TVkNfU1BBVElBTF9MQVlFUgotVlBYX0NU
UkxfVVNFX1RZUEUoVlBYRF9HRVRfTEFTVF9RVUFOVElaRVIsIGludCAqKQotI2RlZmluZSBWUFhf
Q1RSTF9WUFhEX0dFVF9MQVNUX1FVQU5USVpFUgotVlBYX0NUUkxfVVNFX1RZUEUoVlA5RF9TRVRf
Uk9XX01ULCBpbnQpCitWUFhfQ1RSTF9VU0VfVFlQRShWUDlfREVDT0RFX1NWQ19TUEFUSUFMX0xB
WUVSLCBpbnQpCisjZGVmaW5lIFZQWF9DVFJMX1ZQOV9TRVRfU0tJUF9MT09QX0ZJTFRFUgorVlBY
X0NUUkxfVVNFX1RZUEUoVlA5X1NFVF9TS0lQX0xPT1BfRklMVEVSLCBpbnQpCiAjZGVmaW5lIFZQ
WF9DVFJMX1ZQOV9ERUNPREVfU0VUX1JPV19NVAotVlBYX0NUUkxfVVNFX1RZUEUoVlA5RF9TRVRf
TE9PUF9GSUxURVJfT1BULCBpbnQpCitWUFhfQ1RSTF9VU0VfVFlQRShWUDlEX1NFVF9ST1dfTVQs
IGludCkKICNkZWZpbmUgVlBYX0NUUkxfVlA5X1NFVF9MT09QX0ZJTFRFUl9PUFQKK1ZQWF9DVFJM
X1VTRV9UWVBFKFZQOURfU0VUX0xPT1BfRklMVEVSX09QVCwgaW50KQogCiAvKiFcZW5kY29uZCAq
LwogLyohIEB9IC0gZW5kIGRlZmdyb3VwIHZwOF9kZWNvZGVyICovCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweC92cHhfY29kZWMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9jb2RlYy5oCmluZGV4
IDBkNjFiMDczODE4OS4uYjBhOTMxZTAxOTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92
cHhfY29kZWMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfY29kZWMuaApAQCAtMzE4LDIxICsz
MTgsMTkgQEAgY29uc3QgY2hhciAqdnB4X2NvZGVjX2Vycl90b19zdHJpbmcodnB4X2NvZGVjX2Vy
cl90IGVycik7CiAgKiBccGFyYW1baW5dICAgIGN0eCAgICAgUG9pbnRlciB0byB0aGlzIGluc3Rh
bmNlJ3MgY29udGV4dC4KICAqCiAgKi8KLWNvbnN0IGNoYXIgKnZweF9jb2RlY19lcnJvcihjb25z
dCB2cHhfY29kZWNfY3R4X3QgKmN0eCk7Citjb25zdCBjaGFyICp2cHhfY29kZWNfZXJyb3IodnB4
X2NvZGVjX2N0eF90ICpjdHgpOwogCiAvKiFcYnJpZWYgUmV0cmlldmUgZGV0YWlsZWQgZXJyb3Ig
aW5mb3JtYXRpb24gZm9yIGNvZGVjIGNvbnRleHQKICAqCiAgKiBSZXR1cm5zIGEgaHVtYW4gcmVh
ZGFibGUgc3RyaW5nIHByb3ZpZGluZyBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dAotICogdGhl
IGxhc3QgZXJyb3IuIFRoZSByZXR1cm5lZCBzdHJpbmcgaXMgb25seSB2YWxpZCB1bnRpbCB0aGUg
bmV4dAotICogdnB4X2NvZGVjXyogZnVuY3Rpb24gY2FsbCAoZXhjZXB0IHZweF9jb2RlY19lcnJv
ciBhbmQKLSAqIHZweF9jb2RlY19lcnJvcl9kZXRhaWwpIG9uIHRoZSBjb2RlYyBjb250ZXh0Lgor
ICogdGhlIGxhc3QgZXJyb3IuCiAgKgogICogXHBhcmFtW2luXSAgICBjdHggICAgIFBvaW50ZXIg
dG8gdGhpcyBpbnN0YW5jZSdzIGNvbnRleHQuCiAgKgogICogXHJldHZhbCBOVUxMCiAgKiAgICAg
Tm8gZGV0YWlsZWQgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgogICovCi1jb25zdCBjaGFyICp2
cHhfY29kZWNfZXJyb3JfZGV0YWlsKGNvbnN0IHZweF9jb2RlY19jdHhfdCAqY3R4KTsKK2NvbnN0
IGNoYXIgKnZweF9jb2RlY19lcnJvcl9kZXRhaWwodnB4X2NvZGVjX2N0eF90ICpjdHgpOwogCiAv
KiBSRVFVSVJFRCBGVU5DVElPTlMKICAqCkBAIC0zNDcsMTEgKzM0NSw5IEBAIGNvbnN0IGNoYXIg
KnZweF9jb2RlY19lcnJvcl9kZXRhaWwoY29uc3QgdnB4X2NvZGVjX2N0eF90ICpjdHgpOwogICog
XHBhcmFtW2luXSBjdHggICBQb2ludGVyIHRvIHRoaXMgaW5zdGFuY2UncyBjb250ZXh0CiAgKgog
ICogXHJldHZhbCAjVlBYX0NPREVDX09LCi0gKiAgICAgVGhlIGNvZGVjIGluc3RhbmNlIGhhcyBi
ZWVuIGRlc3Ryb3llZC4KLSAqIFxyZXR2YWwgI1ZQWF9DT0RFQ19JTlZBTElEX1BBUkFNCi0gKiAg
ICAgY3R4IGlzIGEgbnVsbCBwb2ludGVyLgotICogXHJldHZhbCAjVlBYX0NPREVDX0VSUk9SCi0g
KiAgICAgQ29kZWMgY29udGV4dCBub3QgaW5pdGlhbGl6ZWQuCisgKiAgICAgVGhlIGNvZGVjIGFs
Z29yaXRobSBpbml0aWFsaXplZC4KKyAqIFxyZXR2YWwgI1ZQWF9DT0RFQ19NRU1fRVJST1IKKyAq
ICAgICBNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgKi8KIHZweF9jb2RlY19lcnJfdCB2cHhf
Y29kZWNfZGVzdHJveSh2cHhfY29kZWNfY3R4X3QgKmN0eCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4L3ZweF9jb2RlYy5tayBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9jb2RlYy5tawppbmRl
eCAyNWM4MTVlZjUxY2YuLjM1MGRjMjQ3YmM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgv
dnB4X2NvZGVjLm1rCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9jb2RlYy5tawpAQCAtMjcsMjEg
KzI3LDE3IEBAIEFQSV9ET0NfU1JDUy15ZXMgKz0gdnB4X2VuY29kZXIuaAogQVBJX0RPQ19TUkNT
LXllcyArPSB2cHhfZXh0X3JhdGVjdHJsLmgKIEFQSV9ET0NfU1JDUy15ZXMgKz0gdnB4X2ZyYW1l
X2J1ZmZlci5oCiBBUElfRE9DX1NSQ1MteWVzICs9IHZweF9pbWFnZS5oCi1BUElfRE9DX1NSQ1Mt
eWVzICs9IHZweF90cGwuaAogCiBBUElfU1JDUy15ZXMgKz0gc3JjL3ZweF9kZWNvZGVyLmMKIEFQ
SV9TUkNTLXllcyArPSB2cHhfZGVjb2Rlci5oCiBBUElfU1JDUy15ZXMgKz0gc3JjL3ZweF9lbmNv
ZGVyLmMKIEFQSV9TUkNTLXllcyArPSB2cHhfZW5jb2Rlci5oCiBBUElfU1JDUy15ZXMgKz0gaW50
ZXJuYWwvdnB4X2NvZGVjX2ludGVybmFsLmgKLUFQSV9TUkNTLXllcyArPSBpbnRlcm5hbC92cHhf
cmF0ZWN0cmxfcnRjLmgKIEFQSV9TUkNTLXllcyArPSBzcmMvdnB4X2NvZGVjLmMKIEFQSV9TUkNT
LXllcyArPSBzcmMvdnB4X2ltYWdlLmMKLUFQSV9TUkNTLXllcyArPSBzcmMvdnB4X3RwbC5jCiBB
UElfU1JDUy15ZXMgKz0gdnB4X2NvZGVjLmgKIEFQSV9TUkNTLXllcyArPSB2cHhfY29kZWMubWsK
IEFQSV9TUkNTLXllcyArPSB2cHhfZnJhbWVfYnVmZmVyLmgKIEFQSV9TUkNTLXllcyArPSB2cHhf
aW1hZ2UuaAogQVBJX1NSQ1MteWVzICs9IHZweF9pbnRlZ2VyLmgKIEFQSV9TUkNTLXllcyArPSB2
cHhfZXh0X3JhdGVjdHJsLmgKLUFQSV9TUkNTLXllcyArPSB2cHhfdHBsLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4L3ZweF9kZWNvZGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfZGVjb2Rl
ci5oCmluZGV4IDk5ZGQ4Y2Y2OTQxNS4uMzllNWY1ODVmNmI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweC92cHhfZGVjb2Rlci5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9kZWNvZGVyLmgK
QEAgLTEyNyw3ICsxMjcsNyBAQCB0eXBlZGVmIHN0cnVjdCB2cHhfY29kZWNfZGVjX2NmZyB7CiAg
KiBccGFyYW1baW5dICAgIHZlciAgICAgQUJJIHZlcnNpb24gbnVtYmVyLiBNdXN0IGJlIHNldCB0
bwogICogICAgICAgICAgICAgICAgICAgICAgIFZQWF9ERUNPREVSX0FCSV9WRVJTSU9OCiAgKiBc
cmV0dmFsICNWUFhfQ09ERUNfT0sKLSAqICAgICBUaGUgZGVjb2RlciBhbGdvcml0aG0gaGFzIGJl
ZW4gaW5pdGlhbGl6ZWQuCisgKiAgICAgVGhlIGRlY29kZXIgYWxnb3JpdGhtIGluaXRpYWxpemVk
LgogICogXHJldHZhbCAjVlBYX0NPREVDX01FTV9FUlJPUgogICogICAgIE1lbW9yeSBhbGxvY2F0
aW9uIGZhaWxlZC4KICAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X2VuY29kZXIu
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9lbmNvZGVyLmgKaW5kZXggYzQ1ZDFhMmJhNWExLi5kYTM2
MDk1Nzc1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9lbmNvZGVyLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHgvdnB4X2VuY29kZXIuaApAQCAtMzEsNyArMzEsNiBAQCBleHRlcm4gIkMi
IHsKIAogI2luY2x1ZGUgIi4vdnB4X2NvZGVjLmgiCiAjaW5jbHVkZSAiLi92cHhfZXh0X3JhdGVj
dHJsLmgiCi0jaW5jbHVkZSAiLi92cHhfdHBsLmgiCiAKIC8qISBUZW1wb3JhbCBTY2FsYWJpbGl0
eTogTWF4aW11bSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlIGRlZmluaW5nIGZyYW1lCiAgKiBsYXll
ciBtZW1iZXJzaGlwCkBAIC01OCw5ICs1Nyw5IEBAIGV4dGVybiAiQyIgewogICogdHlwZXMsIHJl
bW92aW5nIG9yIHJlYXNzaWduaW5nIGVudW1zLCBhZGRpbmcvcmVtb3ZpbmcvcmVhcnJhbmdpbmcK
ICAqIGZpZWxkcyB0byBzdHJ1Y3R1cmVzCiAgKi8KLSNkZWZpbmUgVlBYX0VOQ09ERVJfQUJJX1ZF
UlNJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgKDE2ICsgVlBYX0NPREVD
X0FCSV9WRVJTSU9OICsgVlBYX0VYVF9SQVRFQ1RSTF9BQklfVkVSU0lPTiArIFwKLSAgIFZQWF9U
UExfQUJJX1ZFUlNJT04pIC8qKjxcaGlkZWluaXRpYWxpemVyKi8KKyNkZWZpbmUgVlBYX0VOQ09E
RVJfQUJJX1ZFUlNJT04gXAorICAoMTQgKyBWUFhfQ09ERUNfQUJJX1ZFUlNJT04gKyBcCisgICBW
UFhfRVhUX1JBVEVDVFJMX0FCSV9WRVJTSU9OKSAvKio8XGhpZGVpbml0aWFsaXplciovCiAKIC8q
ISBcYnJpZWYgRW5jb2RlciBjYXBhYmlsaXRpZXMgYml0ZmllbGQKICAqCkBAIC0xMTYsMTQgKzEx
NSwxNCBAQCB0eXBlZGVmIGludDY0X3QgdnB4X2NvZGVjX3B0c190OwogICogc3VwcG9ydCBmcmFt
ZSB0eXBlcyB0aGF0IGFyZSBjb2RlYyBzcGVjaWZpYyAoTVBFRy0xIEQtZnJhbWVzIGZvciBleGFt
cGxlKQogICovCiB0eXBlZGVmIHVpbnQzMl90IHZweF9jb2RlY19mcmFtZV9mbGFnc190OwotI2Rl
ZmluZSBWUFhfRlJBTUVfSVNfS0VZIDB4MXUgLyoqPCBmcmFtZSBpcyB0aGUgc3RhcnQgb2YgYSBH
T1AgKi8KKyNkZWZpbmUgVlBYX0ZSQU1FX0lTX0tFWSAweDEgLyoqPCBmcmFtZSBpcyB0aGUgc3Rh
cnQgb2YgYSBHT1AgKi8KIC8qIVxicmllZiBmcmFtZSBjYW4gYmUgZHJvcHBlZCB3aXRob3V0IGFm
ZmVjdGluZyB0aGUgc3RyZWFtIChubyBmdXR1cmUgZnJhbWUKICAqIGRlcGVuZHMgb24gdGhpcyBv
bmUpICovCi0jZGVmaW5lIFZQWF9GUkFNRV9JU19EUk9QUEFCTEUgMHgydQorI2RlZmluZSBWUFhf
RlJBTUVfSVNfRFJPUFBBQkxFIDB4MgogLyohXGJyaWVmIGZyYW1lIHNob3VsZCBiZSBkZWNvZGVk
IGJ1dCB3aWxsIG5vdCBiZSBzaG93biAqLwotI2RlZmluZSBWUFhfRlJBTUVfSVNfSU5WSVNJQkxF
IDB4NHUKKyNkZWZpbmUgVlBYX0ZSQU1FX0lTX0lOVklTSUJMRSAweDQKIC8qIVxicmllZiB0aGlz
IGlzIGEgZnJhZ21lbnQgb2YgdGhlIGVuY29kZWQgZnJhbWUgKi8KLSNkZWZpbmUgVlBYX0ZSQU1F
X0lTX0ZSQUdNRU5UIDB4OHUKKyNkZWZpbmUgVlBYX0ZSQU1FX0lTX0ZSQUdNRU5UIDB4OAogCiAv
KiFcYnJpZWYgRXJyb3IgUmVzaWxpZW50IGZsYWdzCiAgKgpAQCAtMTMzLDEzICsxMzIsMTIgQEAg
dHlwZWRlZiB1aW50MzJfdCB2cHhfY29kZWNfZnJhbWVfZmxhZ3NfdDsKICAqLwogdHlwZWRlZiB1
aW50MzJfdCB2cHhfY29kZWNfZXJfZmxhZ3NfdDsKIC8qIVxicmllZiBJbXByb3ZlIHJlc2lsaWVu
Y3kgYWdhaW5zdCBsb3NzZXMgb2Ygd2hvbGUgZnJhbWVzICovCi0jZGVmaW5lIFZQWF9FUlJPUl9S
RVNJTElFTlRfREVGQVVMVCAweDF1CisjZGVmaW5lIFZQWF9FUlJPUl9SRVNJTElFTlRfREVGQVVM
VCAweDEKIC8qIVxicmllZiBUaGUgZnJhbWUgcGFydGl0aW9ucyBhcmUgaW5kZXBlbmRlbnRseSBk
ZWNvZGFibGUgYnkgdGhlIGJvb2wgZGVjb2RlciwKICAqIG1lYW5pbmcgdGhhdCBwYXJ0aXRpb25z
IGNhbiBiZSBkZWNvZGVkIGV2ZW4gdGhvdWdoIGVhcmxpZXIgcGFydGl0aW9ucyBoYXZlCiAgKiBi
ZWVuIGxvc3QuIE5vdGUgdGhhdCBpbnRyYSBwcmVkaWN0aW9uIGlzIHN0aWxsIGRvbmUgb3ZlciB0
aGUgcGFydGl0aW9uCi0gKiBib3VuZGFyeS4KLSAqIFxub3RlIFRoaXMgaXMgb25seSBzdXBwb3J0
ZWQgYnkgVlA4LiovCi0jZGVmaW5lIFZQWF9FUlJPUl9SRVNJTElFTlRfUEFSVElUSU9OUyAweDJ1
CisgKiBib3VuZGFyeS4gKi8KKyNkZWZpbmUgVlBYX0VSUk9SX1JFU0lMSUVOVF9QQVJUSVRJT05T
IDB4MgogCiAvKiFcYnJpZWYgRW5jb2RlciBvdXRwdXQgcGFja2V0IHZhcmlhbnRzCiAgKgpAQCAt
NDU5LDcgKzQ1Nyw3IEBAIHR5cGVkZWYgc3RydWN0IHZweF9jb2RlY19lbmNfY2ZnIHsKIAogICAv
KiFcYnJpZWYgVGFyZ2V0IGRhdGEgcmF0ZQogICAgKgotICAgKiBUYXJnZXQgYml0cmF0ZSB0byB1
c2UgZm9yIHRoaXMgc3RyZWFtLCBpbiBraWxvYml0cyBwZXIgc2Vjb25kLgorICAgKiBUYXJnZXQg
YmFuZHdpZHRoIHRvIHVzZSBmb3IgdGhpcyBzdHJlYW0sIGluIGtpbG9iaXRzIHBlciBzZWNvbmQu
CiAgICAqLwogICB1bnNpZ25lZCBpbnQgcmNfdGFyZ2V0X2JpdHJhdGU7CiAKQEAgLTUwMCw3ICs0
OTgsNyBAQCB0eXBlZGVmIHN0cnVjdCB2cHhfY29kZWNfZW5jX2NmZyB7CiAgICAqIHVuZGVyc2hv
b3QgbGV2ZWwgKGN1cnJlbnQgcmF0ZSB2cyB0YXJnZXQpIGJleW9uZCB3aGljaCBtb3JlIGFnZ3Jl
c3NpdmUKICAgICogY29ycmVjdGl2ZSBtZWFzdXJlcyBhcmUgdGFrZW4uCiAgICAqICAgKgotICAg
KiBWYWxpZCB2YWx1ZXMgaW4gdGhlIHJhbmdlIFZQODowLTEwMCBWUDk6IDAtMTAwLgorICAgKiBW
YWxpZCB2YWx1ZXMgaW4gdGhlIHJhbmdlIFZQODowLTEwMDAgVlA5OiAwLTEwMC4KICAgICovCiAg
IHVuc2lnbmVkIGludCByY191bmRlcnNob290X3BjdDsKIApAQCAtNTE1LDcgKzUxMyw3IEBAIHR5
cGVkZWYgc3RydWN0IHZweF9jb2RlY19lbmNfY2ZnIHsKICAgICogb3ZlcnNob290IGxldmVsIChj
dXJyZW50IHJhdGUgdnMgdGFyZ2V0KSBiZXlvbmQgd2hpY2ggbW9yZSBhZ2dyZXNzaXZlCiAgICAq
IGNvcnJlY3RpdmUgbWVhc3VyZXMgYXJlIHRha2VuLgogICAgKgotICAgKiBWYWxpZCB2YWx1ZXMg
aW4gdGhlIHJhbmdlIFZQODowLTEwMCBWUDk6IDAtMTAwLgorICAgKiBWYWxpZCB2YWx1ZXMgaW4g
dGhlIHJhbmdlIFZQODowLTEwMDAgVlA5OiAwLTEwMC4KICAgICovCiAgIHVuc2lnbmVkIGludCBy
Y19vdmVyc2hvb3RfcGN0OwogCkBAIC02OTUsMTUxICs2OTMsNiBAQCB0eXBlZGVmIHN0cnVjdCB2
cHhfY29kZWNfZW5jX2NmZyB7CiAgICAqCiAgICAqLwogICBpbnQgdGVtcG9yYWxfbGF5ZXJpbmdf
bW9kZTsKLQotICAvKiFcYnJpZWYgQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0byB1c2UgZXh0
ZXJuYWwgcmF0ZSBjb250cm9sIHBhcmFtZXRlcnMuCi0gICAqIEJ5IGRlZmF1bHQgaXMgMC4gSWYg
c2V0IHRvIDEsIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyB3aWxsIGJlIHVzZWQgaW4gdGhlCi0g
ICAqIHJhdGUgY29udHJvbCBzeXN0ZW0uCi0gICAqLwotICBpbnQgdXNlX3Zpemllcl9yY19wYXJh
bXM7Ci0KLSAgLyohXGJyaWVmIEFjdGl2ZSB3b3JzdCBxdWFsaXR5IGZhY3Rvci4KLSAgICoKLSAg
ICogUmF0ZSBjb250cm9sIHBhcmFtZXRlcnMsIHNldCBmcm9tIGV4dGVybmFsIGV4cGVyaW1lbnQg
cmVzdWx0cy4KLSAgICogT25seSB3aGVuIHx1c2Vfdml6aWVyX3JjX3BhcmFtc3wgaXMgc2V0IHRv
IDEsIHRoZSBwYXNzIGluIHZhbHVlIHdpbGwgYmUKLSAgICogdXNlZC4gT3RoZXJ3aXNlLCB0aGUg
ZGVmYXVsdCB2YWx1ZSBpcyB1c2VkLgotICAgKgotICAgKi8KLSAgdnB4X3JhdGlvbmFsX3QgYWN0
aXZlX3dxX2ZhY3RvcjsKLQotICAvKiFcYnJpZWYgRXJyb3IgcGVyIG1hY3JvYmxvY2sgYWRqdXN0
bWVudCBmYWN0b3IuCi0gICAqCi0gICAqIFJhdGUgY29udHJvbCBwYXJhbWV0ZXJzLCBzZXQgZnJv
bSBleHRlcm5hbCBleHBlcmltZW50IHJlc3VsdHMuCi0gICAqIE9ubHkgd2hlbiB8dXNlX3Zpemll
cl9yY19wYXJhbXN8IGlzIHNldCB0byAxLCB0aGUgcGFzcyBpbiB2YWx1ZSB3aWxsIGJlCi0gICAq
IHVzZWQuIE90aGVyd2lzZSwgdGhlIGRlZmF1bHQgdmFsdWUgaXMgdXNlZC4KLSAgICoKLSAgICov
Ci0gIHZweF9yYXRpb25hbF90IGVycl9wZXJfbWJfZmFjdG9yOwotCi0gIC8qIVxicmllZiBTZWNv
bmQgcmVmZXJlbmNlIGRlZmF1bHQgZGVjYXkgbGltaXQuCi0gICAqCi0gICAqIFJhdGUgY29udHJv
bCBwYXJhbWV0ZXJzLCBzZXQgZnJvbSBleHRlcm5hbCBleHBlcmltZW50IHJlc3VsdHMuCi0gICAq
IE9ubHkgd2hlbiB8dXNlX3Zpemllcl9yY19wYXJhbXN8IGlzIHNldCB0byAxLCB0aGUgcGFzcyBp
biB2YWx1ZSB3aWxsIGJlCi0gICAqIHVzZWQuIE90aGVyd2lzZSwgdGhlIGRlZmF1bHQgdmFsdWUg
aXMgdXNlZC4KLSAgICoKLSAgICovCi0gIHZweF9yYXRpb25hbF90IHNyX2RlZmF1bHRfZGVjYXlf
bGltaXQ7Ci0KLSAgLyohXGJyaWVmIFNlY29uZCByZWZlcmVuY2UgZGlmZmVyZW5jZSBmYWN0b3Iu
Ci0gICAqCi0gICAqIFJhdGUgY29udHJvbCBwYXJhbWV0ZXJzLCBzZXQgZnJvbSBleHRlcm5hbCBl
eHBlcmltZW50IHJlc3VsdHMuCi0gICAqIE9ubHkgd2hlbiB8dXNlX3Zpemllcl9yY19wYXJhbXN8
IGlzIHNldCB0byAxLCB0aGUgcGFzcyBpbiB2YWx1ZSB3aWxsIGJlCi0gICAqIHVzZWQuIE90aGVy
d2lzZSwgdGhlIGRlZmF1bHQgdmFsdWUgaXMgdXNlZC4KLSAgICoKLSAgICovCi0gIHZweF9yYXRp
b25hbF90IHNyX2RpZmZfZmFjdG9yOwotCi0gIC8qIVxicmllZiBLZXlmcmFtZSBlcnJvciBwZXIg
bWFjcm9ibG9jayBhZGp1c3RtZW50IGZhY3Rvci4KLSAgICoKLSAgICogUmF0ZSBjb250cm9sIHBh
cmFtZXRlcnMsIHNldCBmcm9tIGV4dGVybmFsIGV4cGVyaW1lbnQgcmVzdWx0cy4KLSAgICogT25s
eSB3aGVuIHx1c2Vfdml6aWVyX3JjX3BhcmFtc3wgaXMgc2V0IHRvIDEsIHRoZSBwYXNzIGluIHZh
bHVlIHdpbGwgYmUKLSAgICogdXNlZC4gT3RoZXJ3aXNlLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyB1
c2VkLgotICAgKgotICAgKi8KLSAgdnB4X3JhdGlvbmFsX3Qga2ZfZXJyX3Blcl9tYl9mYWN0b3I7
Ci0KLSAgLyohXGJyaWVmIEtleWZyYW1lIG1pbmltdW0gYm9vc3QgYWRqdXN0bWVudCBmYWN0b3Iu
Ci0gICAqCi0gICAqIFJhdGUgY29udHJvbCBwYXJhbWV0ZXJzLCBzZXQgZnJvbSBleHRlcm5hbCBl
eHBlcmltZW50IHJlc3VsdHMuCi0gICAqIE9ubHkgd2hlbiB8dXNlX3Zpemllcl9yY19wYXJhbXN8
IGlzIHNldCB0byAxLCB0aGUgcGFzcyBpbiB2YWx1ZSB3aWxsIGJlCi0gICAqIHVzZWQuIE90aGVy
d2lzZSwgdGhlIGRlZmF1bHQgdmFsdWUgaXMgdXNlZC4KLSAgICoKLSAgICovCi0gIHZweF9yYXRp
b25hbF90IGtmX2ZyYW1lX21pbl9ib29zdF9mYWN0b3I7Ci0KLSAgLyohXGJyaWVmIEtleWZyYW1l
IG1heGltdW0gYm9vc3QgYWRqdXN0bWVudCBmYWN0b3IsIGZvciB0aGUgZmlyc3Qga2V5ZnJhbWUK
LSAgICogaW4gYSBjaHVuay4KLSAgICoKLSAgICogUmF0ZSBjb250cm9sIHBhcmFtZXRlcnMsIHNl
dCBmcm9tIGV4dGVybmFsIGV4cGVyaW1lbnQgcmVzdWx0cy4KLSAgICogT25seSB3aGVuIHx1c2Vf
dml6aWVyX3JjX3BhcmFtc3wgaXMgc2V0IHRvIDEsIHRoZSBwYXNzIGluIHZhbHVlIHdpbGwgYmUK
LSAgICogdXNlZC4gT3RoZXJ3aXNlLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyB1c2VkLgotICAgKgot
ICAgKi8KLSAgdnB4X3JhdGlvbmFsX3Qga2ZfZnJhbWVfbWF4X2Jvb3N0X2ZpcnN0X2ZhY3RvcjsK
LQotICAvKiFcYnJpZWYgS2V5ZnJhbWUgbWF4aW11bSBib29zdCBhZGp1c3RtZW50IGZhY3Rvciwg
Zm9yIHN1YnNlcXVlbnQga2V5ZnJhbWVzLgotICAgKgotICAgKiBSYXRlIGNvbnRyb2wgcGFyYW1l
dGVycywgc2V0IGZyb20gZXh0ZXJuYWwgZXhwZXJpbWVudCByZXN1bHRzLgotICAgKiBPbmx5IHdo
ZW4gfHVzZV92aXppZXJfcmNfcGFyYW1zfCBpcyBzZXQgdG8gMSwgdGhlIHBhc3MgaW4gdmFsdWUg
d2lsbCBiZQotICAgKiB1c2VkLiBPdGhlcndpc2UsIHRoZSBkZWZhdWx0IHZhbHVlIGlzIHVzZWQu
Ci0gICAqCi0gICAqLwotICB2cHhfcmF0aW9uYWxfdCBrZl9mcmFtZV9tYXhfYm9vc3Rfc3Vic19m
YWN0b3I7Ci0KLSAgLyohXGJyaWVmIEtleWZyYW1lIG1heGltdW0gdG90YWwgYm9vc3QgYWRqdXN0
bWVudCBmYWN0b3IuCi0gICAqCi0gICAqIFJhdGUgY29udHJvbCBwYXJhbWV0ZXJzLCBzZXQgZnJv
bSBleHRlcm5hbCBleHBlcmltZW50IHJlc3VsdHMuCi0gICAqIE9ubHkgd2hlbiB8dXNlX3Zpemll
cl9yY19wYXJhbXN8IGlzIHNldCB0byAxLCB0aGUgcGFzcyBpbiB2YWx1ZSB3aWxsIGJlCi0gICAq
IHVzZWQuIE90aGVyd2lzZSwgdGhlIGRlZmF1bHQgdmFsdWUgaXMgdXNlZC4KLSAgICoKLSAgICov
Ci0gIHZweF9yYXRpb25hbF90IGtmX21heF90b3RhbF9ib29zdF9mYWN0b3I7Ci0KLSAgLyohXGJy
aWVmIEdvbGRlbiBmcmFtZSBtYXhpbXVtIHRvdGFsIGJvb3N0IGFkanVzdG1lbnQgZmFjdG9yLgot
ICAgKgotICAgKiBSYXRlIGNvbnRyb2wgcGFyYW1ldGVycywgc2V0IGZyb20gZXh0ZXJuYWwgZXhw
ZXJpbWVudCByZXN1bHRzLgotICAgKiBPbmx5IHdoZW4gfHVzZV92aXppZXJfcmNfcGFyYW1zfCBp
cyBzZXQgdG8gMSwgdGhlIHBhc3MgaW4gdmFsdWUgd2lsbCBiZQotICAgKiB1c2VkLiBPdGhlcndp
c2UsIHRoZSBkZWZhdWx0IHZhbHVlIGlzIHVzZWQuCi0gICAqCi0gICAqLwotICB2cHhfcmF0aW9u
YWxfdCBnZl9tYXhfdG90YWxfYm9vc3RfZmFjdG9yOwotCi0gIC8qIVxicmllZiBHb2xkZW4gZnJh
bWUgbWF4aW11bSBib29zdCBhZGp1c3RtZW50IGZhY3Rvci4KLSAgICoKLSAgICogUmF0ZSBjb250
cm9sIHBhcmFtZXRlcnMsIHNldCBmcm9tIGV4dGVybmFsIGV4cGVyaW1lbnQgcmVzdWx0cy4KLSAg
ICogT25seSB3aGVuIHx1c2Vfdml6aWVyX3JjX3BhcmFtc3wgaXMgc2V0IHRvIDEsIHRoZSBwYXNz
IGluIHZhbHVlIHdpbGwgYmUKLSAgICogdXNlZC4gT3RoZXJ3aXNlLCB0aGUgZGVmYXVsdCB2YWx1
ZSBpcyB1c2VkLgotICAgKgotICAgKi8KLSAgdnB4X3JhdGlvbmFsX3QgZ2ZfZnJhbWVfbWF4X2Jv
b3N0X2ZhY3RvcjsKLQotICAvKiFcYnJpZWYgWmVybyBtb3Rpb24gcG93ZXIgZmFjdG9yLgotICAg
KgotICAgKiBSYXRlIGNvbnRyb2wgcGFyYW1ldGVycywgc2V0IGZyb20gZXh0ZXJuYWwgZXhwZXJp
bWVudCByZXN1bHRzLgotICAgKiBPbmx5IHdoZW4gfHVzZV92aXppZXJfcmNfcGFyYW1zfCBpcyBz
ZXQgdG8gMSwgdGhlIHBhc3MgaW4gdmFsdWUgd2lsbCBiZQotICAgKiB1c2VkLiBPdGhlcndpc2Us
IHRoZSBkZWZhdWx0IHZhbHVlIGlzIHVzZWQuCi0gICAqCi0gICAqLwotICB2cHhfcmF0aW9uYWxf
dCB6bV9mYWN0b3I7Ci0KLSAgLyohXGJyaWVmIFJhdGUtZGlzdG9ydGlvbiBtdWx0aXBsaWVyIGZv
ciBpbnRlciBmcmFtZXMuCi0gICAqIFRoZSBtdWx0aXBsaWVyIGlzIGEgY3J1Y2lhbCBwYXJhbWV0
ZXIgaW4gdGhlIGNhbGN1bGF0aW9uIG9mIHJhdGUgZGlzdG9ydGlvbgotICAgKiBjb3N0LiBJdCBp
cyBvZnRlbiByZWxhdGVkIHRvIHRoZSBxcCAocWluZGV4KSB2YWx1ZS4KLSAgICogUmF0ZSBjb250
cm9sIHBhcmFtZXRlcnMsIGNvdWxkIGJlIHNldCBmcm9tIGV4dGVybmFsIGV4cGVyaW1lbnQgcmVz
dWx0cy4KLSAgICogT25seSB3aGVuIHx1c2Vfdml6aWVyX3JjX3BhcmFtc3wgaXMgc2V0IHRvIDEs
IHRoZSBwYXNzIGluIHZhbHVlIHdpbGwgYmUKLSAgICogdXNlZC4gT3RoZXJ3aXNlLCB0aGUgZGVm
YXVsdCB2YWx1ZSBpcyB1c2VkLgotICAgKgotICAgKi8KLSAgdnB4X3JhdGlvbmFsX3QgcmRfbXVs
dF9pbnRlcl9xcF9mYWM7Ci0KLSAgLyohXGJyaWVmIFJhdGUtZGlzdG9ydGlvbiBtdWx0aXBsaWVy
IGZvciBhbHQtcmVmIGZyYW1lcy4KLSAgICogVGhlIG11bHRpcGxpZXIgaXMgYSBjcnVjaWFsIHBh
cmFtZXRlciBpbiB0aGUgY2FsY3VsYXRpb24gb2YgcmF0ZSBkaXN0b3J0aW9uCi0gICAqIGNvc3Qu
IEl0IGlzIG9mdGVuIHJlbGF0ZWQgdG8gdGhlIHFwIChxaW5kZXgpIHZhbHVlLgotICAgKiBSYXRl
IGNvbnRyb2wgcGFyYW1ldGVycywgY291bGQgYmUgc2V0IGZyb20gZXh0ZXJuYWwgZXhwZXJpbWVu
dCByZXN1bHRzLgotICAgKiBPbmx5IHdoZW4gfHVzZV92aXppZXJfcmNfcGFyYW1zfCBpcyBzZXQg
dG8gMSwgdGhlIHBhc3MgaW4gdmFsdWUgd2lsbCBiZQotICAgKiB1c2VkLiBPdGhlcndpc2UsIHRo
ZSBkZWZhdWx0IHZhbHVlIGlzIHVzZWQuCi0gICAqCi0gICAqLwotICB2cHhfcmF0aW9uYWxfdCBy
ZF9tdWx0X2FyZl9xcF9mYWM7Ci0KLSAgLyohXGJyaWVmIFJhdGUtZGlzdG9ydGlvbiBtdWx0aXBs
aWVyIGZvciBrZXkgZnJhbWVzLgotICAgKiBUaGUgbXVsdGlwbGllciBpcyBhIGNydWNpYWwgcGFy
YW1ldGVyIGluIHRoZSBjYWxjdWxhdGlvbiBvZiByYXRlIGRpc3RvcnRpb24KLSAgICogY29zdC4g
SXQgaXMgb2Z0ZW4gcmVsYXRlZCB0byB0aGUgcXAgKHFpbmRleCkgdmFsdWUuCi0gICAqIFJhdGUg
Y29udHJvbCBwYXJhbWV0ZXJzLCBjb3VsZCBiZSBzZXQgZnJvbSBleHRlcm5hbCBleHBlcmltZW50
IHJlc3VsdHMuCi0gICAqIE9ubHkgd2hlbiB8dXNlX3Zpemllcl9yY19wYXJhbXN8IGlzIHNldCB0
byAxLCB0aGUgcGFzcyBpbiB2YWx1ZSB3aWxsIGJlCi0gICAqIHVzZWQuIE90aGVyd2lzZSwgdGhl
IGRlZmF1bHQgdmFsdWUgaXMgdXNlZC4KLSAgICoKLSAgICovCi0gIHZweF9yYXRpb25hbF90IHJk
X211bHRfa2V5X3FwX2ZhYzsKIH0gdnB4X2NvZGVjX2VuY19jZmdfdDsgLyoqPCBhbGlhcyBmb3Ig
c3RydWN0IHZweF9jb2RlY19lbmNfY2ZnICovCiAKIC8qIVxicmllZiAgdnA5IHN2YyBleHRyYSBj
b25maWd1cmUgcGFyYW1ldGVycwpAQCAtODU5LDcgKzcxMiw3IEBAIHR5cGVkZWYgc3RydWN0IHZw
eF9zdmNfcGFyYW1ldGVycyB7CiAKIC8qIVxicmllZiBJbml0aWFsaXplIGFuIGVuY29kZXIgaW5z
dGFuY2UKICAqCi0gKiBJbml0aWFsaXplcyBhbiBlbmNvZGVyIGNvbnRleHQgdXNpbmcgdGhlIGdp
dmVuIGludGVyZmFjZS4gQXBwbGljYXRpb25zCisgKiBJbml0aWFsaXplcyBhIGVuY29kZXIgY29u
dGV4dCB1c2luZyB0aGUgZ2l2ZW4gaW50ZXJmYWNlLiBBcHBsaWNhdGlvbnMKICAqIHNob3VsZCBj
YWxsIHRoZSB2cHhfY29kZWNfZW5jX2luaXQgY29udmVuaWVuY2UgbWFjcm8gaW5zdGVhZCBvZiB0
aGlzCiAgKiBmdW5jdGlvbiBkaXJlY3RseSwgdG8gZW5zdXJlIHRoYXQgdGhlIEFCSSB2ZXJzaW9u
IG51bWJlciBwYXJhbWV0ZXIKICAqIGlzIHByb3Blcmx5IGluaXRpYWxpemVkLgpAQCAtODY4LDkg
KzcyMSw2IEBAIHR5cGVkZWYgc3RydWN0IHZweF9zdmNfcGFyYW1ldGVycyB7CiAgKiBpcyBub3Qg
dGhyZWFkIHNhZmUgYW5kIHNob3VsZCBiZSBndWFyZGVkIHdpdGggYSBsb2NrIGlmIGJlaW5nIHVz
ZWQKICAqIGluIGEgbXVsdGl0aHJlYWRlZCBjb250ZXh0LgogICoKLSAqIElmIHZweF9jb2RlY19l
bmNfaW5pdF92ZXIoKSBmYWlscywgaXQgaXMgbm90IG5lY2Vzc2FyeSB0byBjYWxsCi0gKiB2cHhf
Y29kZWNfZGVzdHJveSgpIG9uIHRoZSBlbmNvZGVyIGNvbnRleHQuCi0gKgogICogXHBhcmFtW2lu
XSAgICBjdHggICAgIFBvaW50ZXIgdG8gdGhpcyBpbnN0YW5jZSdzIGNvbnRleHQuCiAgKiBccGFy
YW1baW5dICAgIGlmYWNlICAgUG9pbnRlciB0byB0aGUgYWxnb3JpdGhtIGludGVyZmFjZSB0byB1
c2UuCiAgKiBccGFyYW1baW5dICAgIGNmZyAgICAgQ29uZmlndXJhdGlvbiB0byB1c2UsIGlmIGtu
b3duLiBNYXkgYmUgTlVMTC4KQEAgLTkxMCw3ICs3NjAsNyBAQCB2cHhfY29kZWNfZXJyX3QgdnB4
X2NvZGVjX2VuY19pbml0X3Zlcih2cHhfY29kZWNfY3R4X3QgKmN0eCwKICAqIFxwYXJhbVtpbl0g
ICAgdmVyICAgICBBQkkgdmVyc2lvbiBudW1iZXIuIE11c3QgYmUgc2V0IHRvCiAgKiAgICAgICAg
ICAgICAgICAgICAgICAgVlBYX0VOQ09ERVJfQUJJX1ZFUlNJT04KICAqIFxyZXR2YWwgI1ZQWF9D
T0RFQ19PSwotICogICAgIFRoZSBlbmNvZGVyIGFsZ29yaXRobSBoYXMgYmVlbiBpbml0aWFsaXpl
ZC4KKyAqICAgICBUaGUgZGVjb2RlciBhbGdvcml0aG0gaW5pdGlhbGl6ZWQuCiAgKiBccmV0dmFs
ICNWUFhfQ09ERUNfTUVNX0VSUk9SCiAgKiAgICAgTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkLgog
ICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhfZXh0X3JhdGVjdHJsLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweC92cHhfZXh0X3JhdGVjdHJsLmgKaW5kZXggNDZkMjkwZGZmNDk3Li5kYzRkODU2
YThiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9leHRfcmF0ZWN0cmwuaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweC92cHhfZXh0X3JhdGVjdHJsLmgKQEAgLTE2LDcgKzE2LDYgQEAgZXh0
ZXJuICJDIiB7CiAjZW5kaWYKIAogI2luY2x1ZGUgIi4vdnB4X2ludGVnZXIuaCIKLSNpbmNsdWRl
ICIuL3ZweF90cGwuaCIKIAogLyohXGJyaWVmIEN1cnJlbnQgQUJJIHZlcnNpb24gbnVtYmVyCiAg
KgpAQCAtMjYsMzUgKzI1LDcgQEAgZXh0ZXJuICJDIiB7CiAgKiB0eXBlcywgcmVtb3Zpbmcgb3Ig
cmVhc3NpZ25pbmcgZW51bXMsIGFkZGluZy9yZW1vdmluZy9yZWFycmFuZ2luZwogICogZmllbGRz
IHRvIHN0cnVjdHVyZXMuCiAgKi8KLSNkZWZpbmUgVlBYX0VYVF9SQVRFQ1RSTF9BQklfVkVSU0lP
TiAoNykKLQotLyohXGJyaWVmIFRoZSBjb250cm9sIHR5cGUgb2YgdGhlIGluZmVyZW5jZSBBUEku
Ci0gKiBJbiBWUFhfUkNfUVAgbW9kZSwgdGhlIGV4dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbCBk
ZXRlcm1pbmVzIHRoZQotICogcXVhbnRpemF0aW9uIHBhcmFtZXRlciAoUVApIGZvciBlYWNoIGZy
YW1lLgotICogSW4gVlBYX1JDX0dPUCBtb2RlLCB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1v
ZGVsIGRldGVybWluZXMgdGhlCi0gKiBncm91cCBvZiBwaWN0dXJlIChHT1ApIG9mIHRoZSB2aWRl
byBzZXF1ZW5jZS4KLSAqIEluIFZQWF9SQ19SRE1VTFQgbW9kZSwgdGhlIGV4dGVybmFsIHJhdGUg
Y29udHJvbCBtb2RlbCBkZXRlcm1pbmVzIHRoZQotICogcmF0ZS1kaXN0b3J0aW9uIG11bHRpcGxp
ZXIgKHJkbXVsdCkgZm9yIHRoZSBjdXJyZW50IGZyYW1lLgotICogSW4gVlBYX1JDX0dPUF9RUCBt
b2RlLCB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1vZGVsIGRldGVybWluZXMKLSAqIGJvdGgg
dGhlIFFQIGFuZCB0aGUgR09QLgotICogSW4gVlBYX1JDX0dPUF9RUF9SRE1VTFQgbW9kZSwgdGhl
IGV4dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbCBkZXRlcm1pbmVzCi0gKiB0aGUgUVAsIEdPUCBh
bmQgdGhlIHJkbXVsdC4KLSAqLwotdHlwZWRlZiBlbnVtIHZweF9yY190eXBlIHsKLSAgVlBYX1JD
X1FQID0gMSA8PCAwLAotICBWUFhfUkNfR09QID0gMSA8PCAxLAotICBWUFhfUkNfUkRNVUxUID0g
MSA8PCAyLAotICBWUFhfUkNfR09QX1FQID0gVlBYX1JDX1FQIHwgVlBYX1JDX0dPUCwKLSAgVlBY
X1JDX0dPUF9RUF9SRE1VTFQgPSBWUFhfUkNfUVAgfCBWUFhfUkNfR09QIHwgVlBYX1JDX1JETVVM
VAotfSB2cHhfcmNfdHlwZV90OwotCi0vKiFcYnJpZWYgVGhlIHJhdGUgY29udHJvbCBtb2RlIGZv
ciB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1vZGVsLgotICovCi10eXBlZGVmIGVudW0gdnB4
X2V4dF9yY19tb2RlIHsKLSAgVlBYX1JDX1FNT0RFID0gMCwKLSAgVlBYX1JDX1ZCUiA9IDEsCi0g
IFZQWF9SQ19DUSA9IDIsCi19IHZweF9leHRfcmNfbW9kZV90OworI2RlZmluZSBWUFhfRVhUX1JB
VEVDVFJMX0FCSV9WRVJTSU9OICgxKQogCiAvKiFcYnJpZWYgQWJzdHJhY3QgcmF0ZSBjb250cm9s
IG1vZGVsIGhhbmRsZXIKICAqCkBAIC02MywzNSArMzQsMTMgQEAgdHlwZWRlZiBlbnVtIHZweF9l
eHRfcmNfbW9kZSB7CiAgKi8KIHR5cGVkZWYgdm9pZCAqdnB4X3JjX21vZGVsX3Q7CiAKLS8qIVxi
cmllZiBBIHJlc2VydmVkIHZhbHVlIGZvciB0aGUgcSBpbmRleC4KLSAqIElmIHRoZSBleHRlcm5h
bCByYXRlIGNvbnRyb2wgbW9kZWwgcmV0dXJucyB0aGlzIHZhbHVlLAotICogdGhlIGVuY29kZXIg
d2lsbCB1c2UgdGhlIGRlZmF1bHQgcSBzZWxlY3RlZCBieSBsaWJ2cHgncyByYXRlIGNvbnRyb2wK
LSAqIHN5c3RlbS4KLSAqLwotI2RlZmluZSBWUFhfREVGQVVMVF9RIC0xCi0KLS8qIVxicmllZiBB
IHJlc2VydmVkIHZhbHVlIGZvciB0aGUgcmRtdWx0LgotICogSWYgdGhlIGV4dGVybmFsIHJhdGUg
Y29udHJvbCBtb2RlbCByZXR1cm5zIHRoaXMgdmFsdWUsCi0gKiB0aGUgZW5jb2RlciB3aWxsIHVz
ZSB0aGUgZGVmYXVsdCByZG11bHQgc2VsZWN0ZWQgYnkgbGlidnB4J3MgcmF0ZSBjb250cm9sCi0g
KiBzeXN0ZW0uCi0gKi8KLSNkZWZpbmUgVlBYX0RFRkFVTFRfUkRNVUxUIC0xCi0KIC8qIVxicmll
ZiBFbmNvZGUgZnJhbWUgZGVjaXNpb24gbWFkZSBieSB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9s
IG1vZGVsCiAgKgogICogVGhlIGVuY29kZXIgd2lsbCByZWNlaXZlIHRoZSBkZWNpc2lvbiBmcm9t
IHRoZSBleHRlcm5hbCByYXRlIGNvbnRyb2wgbW9kZWwKICAqIHRocm91Z2ggZ2V0X2VuY29kZWZy
YW1lX2RlY2lzaW9uKCkgZGVmaW5lZCBpbiB2cHhfcmNfZnVuY3NfdC4KLSAqCi0gKiBJZiBxX2lu
ZGV4ID0gVlBYX0RFRkFVTFRfUSwgdGhlIGVuY29kZXIgd2lsbCB1c2UgbGlidnB4J3MgZGVmYXVs
dCBxLgotICoKLSAqIElmIG1heF9mcmFtZV9zaXplID0gMCwgdGhlIGVuY29kaW5nIGlnbm9yZXMg
bWF4IGZyYW1lIHNpemUgbGltaXQuCi0gKiBJZiBtYXhfZnJhbWVfc2l6ZSA9IC0xLCB0aGUgZW5j
b2RpbmcgdXNlcyBWUDkncyBtYXggZnJhbWUgc2l6ZSBhcyB0aGUgbGltaXQuCi0gKiBJZiB0aGUg
ZW5jb2RlZCBmcmFtZSBzaXplIGlzIGxhcmdlciB0aGFuIG1heF9mcmFtZV9zaXplLCB0aGUgZnJh
bWUgaXMKLSAqIHJlY29kZWQgdG8gbWVldCB0aGUgc2l6ZSBsaW1pdCwgZm9sbG93aW5nIFZQOSdz
IHJlY29kaW5nIHByaW5jaXBsZXMuCiAgKi8KIHR5cGVkZWYgc3RydWN0IHZweF9yY19lbmNvZGVm
cmFtZV9kZWNpc2lvbiB7Ci0gIGludCBxX2luZGV4OyAgICAgICAgLyoqPCBRdWFudGl6ZXIgc3Rl
cCBpbmRleCBbMC4uMjU1XSovCi0gIGludCBtYXhfZnJhbWVfc2l6ZTsgLyoqPCBNYXhpbWFsIGZy
YW1lIHNpemUgYWxsb3dlZCB0byBlbmNvZGUgYSBmcmFtZSovCisgIGludCBxX2luZGV4OyAvKio8
IFF1YW50aXplciBzdGVwIGluZGV4IFswLi4yNTVdKi8KIH0gdnB4X3JjX2VuY29kZWZyYW1lX2Rl
Y2lzaW9uX3Q7CiAKIC8qIVxicmllZiBJbmZvcm1hdGlvbiBmb3IgdGhlIGZyYW1lIHRvIGJlIGVu
Y29kZWQuCkBAIC0xMTIsNyArNjEsNyBAQCB0eXBlZGVmIHN0cnVjdCB2cHhfcmNfZW5jb2RlZnJh
bWVfaW5mbyB7CiAgIGludCBzaG93X2luZGV4OyAgIC8qKjwgZGlzcGxheSBpbmRleCwgc3RhcnRz
IGZyb20gemVybyovCiAgIGludCBjb2RpbmdfaW5kZXg7IC8qKjwgY29kaW5nIGluZGV4LCBzdGFy
dHMgZnJvbSB6ZXJvKi8KICAgLyohCi0gICAqIGluZGV4IG9mIHRoZSBjdXJyZW50IGZyYW1lIGlu
IHRoaXMgZ3JvdXAgb2YgcGljdHVyZSwgc3RhcnRzIGZyb20gemVyby4KKyAgICogaW5kZXggaW4g
Z3JvdXAgb2YgcGljdHVyZSwgc3RhcnRzIGZyb20gemVyby4KICAgICovCiAgIGludCBnb3BfaW5k
ZXg7CiAgIGludCByZWZfZnJhbWVfY29kaW5nX2luZGV4ZXNbM107IC8qKjwgdGhyZWUgcmVmZXJl
bmNlIGZyYW1lcycgY29kaW5nIGluZGljZXMqLwpAQCAtMTIyLDE0ICs3MSw2IEBAIHR5cGVkZWYg
c3RydWN0IHZweF9yY19lbmNvZGVmcmFtZV9pbmZvIHsKICAgICogMTogVmFsaWQKICAgICovCiAg
IGludCByZWZfZnJhbWVfdmFsaWRfbGlzdFszXTsKLSAgLyohCi0gICAqIFRoZSBsZW5ndGggb2Yg
dGhlIGN1cnJlbnQgR09QLgotICAgKi8KLSAgaW50IGdvcF9zaXplOwotICAvKiEKLSAgICogV2hl
dGhlciB0aGUgY3VycmVudCBHT1AgdXNlcyBhbiBhbHQgcmVmLgotICAgKi8KLSAgaW50IHVzZV9h
bHRfcmVmOwogfSB2cHhfcmNfZW5jb2RlZnJhbWVfaW5mb190OwogCiAvKiFcYnJpZWYgRnJhbWUg
Y29kaW5nIHJlc3VsdApAQCAtMTQxLDcgKzgyLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgdnB4X3JjX2Vu
Y29kZWZyYW1lX3Jlc3VsdCB7CiAgIGludDY0X3Qgc3NlOyAgICAgICAgIC8qKjwgc3VtIG9mIHNx
dWFyZWQgZXJyb3Igb2YgdGhlIHJlY29uc3RydWN0ZWQgZnJhbWUgKi8KICAgaW50NjRfdCBiaXRf
Y291bnQ7ICAgLyoqPCBudW1iZXIgb2YgYml0cyBzcGVudCBvbiBjb2RpbmcgdGhlIGZyYW1lKi8K
ICAgaW50NjRfdCBwaXhlbF9jb3VudDsgLyoqPCBudW1iZXIgb2YgcGl4ZWxzIGluIFlVViBwbGFu
ZXMgb2YgdGhlIGZyYW1lKi8KLSAgaW50IGFjdHVhbF9lbmNvZGluZ19xaW5kZXg7IC8qKjwgdGhl
IGFjdHVhbCBxaW5kZXggdXNlZCB0byBlbmNvZGUgdGhlIGZyYW1lKi8KIH0gdnB4X3JjX2VuY29k
ZWZyYW1lX3Jlc3VsdF90OwogCiAvKiFcYnJpZWYgU3RhdHVzIHJldHVybmVkIGJ5IHJhdGUgY29u
dHJvbCBjYWxsYmFjayBmdW5jdGlvbnMuCkBAIC0yODAsMTAgKzIyMCw2IEBAIHR5cGVkZWYgc3Ry
dWN0IHZweF9yY19mcmFtZV9zdGF0cyB7CiAgICAqIG51bWJlciBvZiBmcmFtZXMgd2hvc2Ugc3Rh
dHMgYXJlIGFjY3VtdWxhdGVkLgogICAgKi8KICAgZG91YmxlIGNvdW50OwotICAvKiEKLSAgICog
TnVtYmVyIG9mIG5ldyBtdiBpbiBhIGZyYW1lLgotICAgKi8KLSAgZG91YmxlIG5ld19tdl9jb3Vu
dDsKIH0gdnB4X3JjX2ZyYW1lX3N0YXRzX3Q7CiAKIC8qIVxicmllZiBDb2xsZWN0aW9uIG9mIGZp
cnN0IHBhc3MgZnJhbWUgc3RhdHMKQEAgLTMwNywxMTMgKzI0MywyNiBAQCB0eXBlZGVmIHN0cnVj
dCB2cHhfcmNfY29uZmlnIHsKICAgaW50IGZyYW1lX3dpZHRoOyAgICAgIC8qKjwgZnJhbWUgd2lk
dGggKi8KICAgaW50IGZyYW1lX2hlaWdodDsgICAgIC8qKjwgZnJhbWUgaGVpZ2h0ICovCiAgIGlu
dCBzaG93X2ZyYW1lX2NvdW50OyAvKio8IG51bWJlciBvZiB2aXNpYmxlIGZyYW1lcyBpbiB0aGUg
dmlkZW8gKi8KLSAgaW50IG1heF9nZl9pbnRlcnZhbDsgIC8qKjwgbWF4IEdPUCBzaXplIGluIG51
bWJlciBvZiBzaG93IGZyYW1lcyAqLwotICBpbnQgbWluX2dmX2ludGVydmFsOyAgLyoqPCBtaW4g
R09QIHNpemUgaW4gbnVtYmVyIG9mIHNob3cgZnJhbWVzICovCiAgIC8qIQogICAgKiBUYXJnZXQg
Yml0cmF0ZSBpbiBraWxvYnl0ZXMgcGVyIHNlY29uZAogICAgKi8KICAgaW50IHRhcmdldF9iaXRy
YXRlX2ticHM7CiAgIGludCBmcmFtZV9yYXRlX251bTsgLyoqPCBudW1lcmF0b3Igb2YgZnJhbWUg
cmF0ZSAqLwogICBpbnQgZnJhbWVfcmF0ZV9kZW47IC8qKjwgZGVub21pbmF0b3Igb2YgZnJhbWUg
cmF0ZSAqLwotICAvKiEKLSAgICogVGhlIGZvbGxvd2luZyBmaWVsZHMgYXJlIG9ubHkgZm9yIGV4
dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbHMgdGhhdCBzdXBwb3J0Ci0gICAqIGRpZmZlcmVudCBy
YXRlIGNvbnRyb2wgbW9kZXMuCi0gICAqLwotICB2cHhfZXh0X3JjX21vZGVfdCByY19tb2RlOyAv
Kio8IFEgbW9kZSBvciBWQlIgbW9kZSAqLwotICBpbnQgb3ZlcnNob290X3BlcmNlbnQ7ICAgICAv
Kio8IGZvciBWQlIgbW9kZSBvbmx5ICovCi0gIGludCB1bmRlcnNob290X3BlcmNlbnQ7ICAgIC8q
KjwgZm9yIFZCUiBtb2RlIG9ubHkgKi8KIH0gdnB4X3JjX2NvbmZpZ190OwogCi0vKiFcYnJpZWYg
SW5mb3JtYXRpb24gcGFzc2VkIHRvIHRoZSBleHRlcm5hbCByYXRlIGNvbnRyb2wgbW9kZWwgdG8K
LSAqIGhlbHAgbWFrZSBHT1AgZGVjaXNpb25zLgotICovCi10eXBlZGVmIHN0cnVjdCB2cHhfcmNf
Z29wX2luZm8gewotICAvKiEKLSAgICogTWluaW11bSBhbGxvd2VkIGdmIGludGVydmFsLCBmaXhl
ZCBmb3IgdGhlIHdob2xlIGNsaXAuCi0gICAqIE5vdGUgdGhhdCBpdCB3aWxsIGJlIG1vZGlmaWVk
IHRvIG1hdGNoIHZwOSdzIGxldmVsIGNvbnN0cmFpbnRzCi0gICAqIGluIHRoZSBlbmNvZGVyLgot
ICAgKiBUaGUgbGV2ZWwgY29uc3RyYWludCBpcyBkZWZpbmVkIGluIHZwOV9lbmNvZGVyLmM6Ci0g
ICAqIGNvbnN0IFZwOUxldmVsU3BlYyB2cDlfbGV2ZWxfZGVmc1tWUDlfTEVWRUxTXS4KLSAgICov
Ci0gIGludCBtaW5fZ2ZfaW50ZXJ2YWw7Ci0gIC8qIQotICAgKiBNYXhpbXVtIGFsbG93ZWQgZ2Yg
aW50ZXJ2YWwsIGZpeGVkIGZvciB0aGUgd2hvbGUgY2xpcC4KLSAgICovCi0gIGludCBtYXhfZ2Zf
aW50ZXJ2YWw7Ci0gIC8qIQotICAgKiBNaW5pbXVtIGFsbG93ZWQgZ2YgaW50ZXJ2YWwgZm9yIHRo
ZSBjdXJyZW50IEdPUCwgZGV0ZXJtaW5lZAotICAgKiBieSB0aGUgZW5jb2Rlci4KLSAgICovCi0g
IGludCBhY3RpdmVfbWluX2dmX2ludGVydmFsOwotICAvKiEKLSAgICogTWF4aW11bSBhbGxvd2Vk
IGdmIGludGVydmFsIGZvciB0aGUgY3VycmVudCBHT1AsIGRldGVybWluZWQKLSAgICogYnkgdGhl
IGVuY29kZXIuCi0gICAqLwotICBpbnQgYWN0aXZlX21heF9nZl9pbnRlcnZhbDsKLSAgLyohCi0g
ICAqIFdoZXRoZXIgdG8gYWxsb3cgdGhlIHVzZSBvZiBhbHQgcmVmLCBkZXRlcm1pbmVkIGJ5IHRo
ZSBlbmNvZGVyLgotICAgKiBJdCBpcyBmaXhlZCBmb3IgdGhlIGVudGlyZSBlbmNvZGUuCi0gICAq
IFNlZSBmdW5jdGlvbiAiaXNfYWx0cmVmX2VuYWJsZWQiIGluIHZwOV9lbmNvZGVyLmguCi0gICAq
LwotICBpbnQgYWxsb3dfYWx0X3JlZjsKLSAgLyohCi0gICAqIElzIHRoZSBjdXJyZW50IGZyYW1l
IGEga2V5IGZyYW1lLgotICAgKi8KLSAgaW50IGlzX2tleV9mcmFtZTsKLSAgLyohCi0gICAqIERv
ZXMgdGhlIHByZXZpb3VzIGdvcCB1c2UgYWx0IHJlZiBvciBub3QuCi0gICAqLwotICBpbnQgbGFz
dF9nb3BfdXNlX2FsdF9yZWY7Ci0gIC8qIQotICAgKiBDdXJyZW50IGZyYW1lIGRpc3RhbmNlIHRv
IHRoZSBsYXN0IGtleWZyYW1lLCBlLmcuLCBpZiBOdGggZnJhbWUgaXMgYSBrZXksCi0gICAqIHRo
ZW4gdGhlIHZhbHVlIG9mIHRoZSBOKzEgdGggZnJhbWUgaXMgMS4KLSAgICovCi0gIGludCBmcmFt
ZXNfc2luY2Vfa2V5OwotICAvKiEKLSAgICogQ3VycmVudCBmcmFtZSBkaXN0YW5jZSB0byB0aGUg
bmV4dCBrZXlmcmFtZSwgZS5nLiBpZiBOdGggZnJhbWUgaXMgYSBrZXksCi0gICAqIHRoZW4gdGhl
IHZhbHVlIG9mIGZyYW1lIE4gLSAxIGlzIDEuCi0gICAqLwotICBpbnQgZnJhbWVzX3RvX2tleTsK
LSAgLyohCi0gICAqIE51bWJlciBvZiBsb29rYWhlYWQgc291cmNlIGZyYW1lcy4KLSAgICovCi0g
IGludCBsYWdfaW5fZnJhbWVzOwotICAvKiEKLSAgICogRGlzcGxheSBpbmRleCAodGVtcG9yYWwg
c3RhbXApIG9mIHRoaXMgZnJhbWUgaW4gdGhlIHdob2xlIGNsaXAsCi0gICAqIHN0YXJ0cyBmcm9t
IHplcm8uCi0gICAqLwotICBpbnQgc2hvd19pbmRleDsKLSAgLyohCi0gICAqIENvZGluZyBpbmRl
eCBvZiB0aGlzIGZyYW1lIGluIHRoZSB3aG9sZSBjbGlwLCBzdGFydHMgZnJvbSB6ZXJvLgotICAg
Ki8KLSAgaW50IGNvZGluZ19pbmRleDsKLSAgLyohCi0gICAqIFRoZSBpbmRleCBvZiB0aGUgY3Vy
cmVudCBnb3AsIHN0YXJ0cyBmcm9tIHplcm8sIHJlc2V0cyB0byB6ZXJvCi0gICAqIHdoZW4gYSBr
ZXlmcmFtZSBpcyBzZXQuCi0gICAqLwotICBpbnQgZ29wX2dsb2JhbF9pbmRleDsKLX0gdnB4X3Jj
X2dvcF9pbmZvX3Q7Ci0KLS8qIVxicmllZiBUaGUgZGVjaXNpb24gbWFkZSBieSB0aGUgZXh0ZXJu
YWwgcmF0ZSBjb250cm9sIG1vZGVsIHRvIHNldCB0aGUKLSAqIGdyb3VwIG9mIHBpY3R1cmUuCi0g
Ki8KLXR5cGVkZWYgc3RydWN0IHZweF9yY19nb3BfZGVjaXNpb24gewotICBpbnQgZ29wX2NvZGlu
Z19mcmFtZXM7IC8qKjwgVGhlIG51bWJlciBvZiBmcmFtZXMgb2YgdGhpcyBHT1AgKi8KLSAgaW50
IHVzZV9hbHRfcmVmOyAgICAgICAvKio8IFdoZXRoZXIgdG8gdXNlIGFsdCByZWYgZm9yIHRoaXMg
R09QICovCi19IHZweF9yY19nb3BfZGVjaXNpb25fdDsKLQogLyohXGJyaWVmIENyZWF0ZSBhbiBl
eHRlcm5hbCByYXRlIGNvbnRyb2wgbW9kZWwgY2FsbGJhY2sgcHJvdG90eXBlCiAgKgogICogVGhp
cyBjYWxsYmFjayBpcyBpbnZva2VkIGJ5IHRoZSBlbmNvZGVyIHRvIGNyZWF0ZSBhbiBleHRlcm5h
bCByYXRlIGNvbnRyb2wKICAqIG1vZGVsLgogICoKLSAqIFxwYXJhbVtpbl0gIHByaXYgICAgICAg
ICAgICAgICAgQ2FsbGJhY2sncyBwcml2YXRlIGRhdGEKLSAqIFxwYXJhbVtpbl0gIHJhdGVjdHJs
X2NvbmZpZyAgICAgUG9pbnRlciB0byB2cHhfcmNfY29uZmlnX3QKLSAqIFxwYXJhbVtvdXRdIHJh
dGVfY3RybF9tb2RlbF9wdHIgUG9pbnRlciB0byB2cHhfcmNfbW9kZWxfdAorICogXHBhcmFtW2lu
XSAgcHJpdiAgICAgICAgICAgICAgIENhbGxiYWNrJ3MgcHJpdmF0ZSBkYXRhCisgKiBccGFyYW1b
aW5dICByYXRlY3RybF9jb25maWcgICAgUG9pbnRlciB0byB2cHhfcmNfY29uZmlnX3QKKyAqIFxw
YXJhbVtvdXRdIHJhdGVfY3RybF9tb2RlbF9wdCBQb2ludGVyIHRvIHZweF9yY19tb2RlbF90CiAg
Ki8KIHR5cGVkZWYgdnB4X3JjX3N0YXR1c190ICgqdnB4X3JjX2NyZWF0ZV9tb2RlbF9jYl9mbl90
KSgKICAgICB2b2lkICpwcml2LCBjb25zdCB2cHhfcmNfY29uZmlnX3QgKnJhdGVjdHJsX2NvbmZp
ZywKLSAgICB2cHhfcmNfbW9kZWxfdCAqcmF0ZV9jdHJsX21vZGVsX3B0cik7CisgICAgdnB4X3Jj
X21vZGVsX3QgKnJhdGVfY3RybF9tb2RlbF9wdCk7CiAKIC8qIVxicmllZiBTZW5kIGZpcnN0IHBh
c3Mgc3RhdHMgdG8gdGhlIGV4dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbCBjYWxsYmFjawogICog
cHJvdG90eXBlCkBAIC00MjgsMTggKzI3Nyw2IEBAIHR5cGVkZWYgdnB4X3JjX3N0YXR1c190ICgq
dnB4X3JjX3NlbmRfZmlyc3RwYXNzX3N0YXRzX2NiX2ZuX3QpKAogICAgIHZweF9yY19tb2RlbF90
IHJhdGVfY3RybF9tb2RlbCwKICAgICBjb25zdCB2cHhfcmNfZmlyc3RwYXNzX3N0YXRzX3QgKmZp
cnN0X3Bhc3Nfc3RhdHMpOwogCi0vKiFcYnJpZWYgU2VuZCBUUEwgc3RhdHMgZm9yIHRoZSBjdXJy
ZW50IEdPUCB0byB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1vZGVsCi0gKiBjYWxsYmFjayBw
cm90b3R5cGUKLSAqCi0gKiBUaGlzIGNhbGxiYWNrIGlzIGludm9rZWQgYnkgdGhlIGVuY29kZXIg
dG8gc2VuZCBUUEwgc3RhdHMgZm9yIHRoZSBHT1AgdG8gdGhlCi0gKiBleHRlcm5hbCByYXRlIGNv
bnRyb2wgbW9kZWwuCi0gKgotICogXHBhcmFtW2luXSAgcmF0ZV9jdHJsX21vZGVsICByYXRlIGNv
bnRyb2wgbW9kZWwKLSAqIFxwYXJhbVtpbl0gIHRwbF9nb3Bfc3RhdHMgICAgVFBMIHN0YXRzIGZv
ciBjdXJyZW50IEdPUAotICovCi10eXBlZGVmIHZweF9yY19zdGF0dXNfdCAoKnZweF9yY19zZW5k
X3RwbF9nb3Bfc3RhdHNfY2JfZm5fdCkoCi0gICAgdnB4X3JjX21vZGVsX3QgcmF0ZV9jdHJsX21v
ZGVsLCBjb25zdCBWcHhUcGxHb3BTdGF0cyAqdHBsX2dvcF9zdGF0cyk7Ci0KIC8qIVxicmllZiBS
ZWNlaXZlIGVuY29kZSBmcmFtZSBkZWNpc2lvbiBjYWxsYmFjayBwcm90b3R5cGUKICAqCiAgKiBU
aGlzIGNhbGxiYWNrIGlzIGludm9rZWQgYnkgdGhlIGVuY29kZXIgdG8gcmVjZWl2ZSBlbmNvZGUg
ZnJhbWUgZGVjaXNpb24gZnJvbQpAQCAtNDY2LDMyICszMDMsNiBAQCB0eXBlZGVmIHZweF9yY19z
dGF0dXNfdCAoKnZweF9yY191cGRhdGVfZW5jb2RlZnJhbWVfcmVzdWx0X2NiX2ZuX3QpKAogICAg
IHZweF9yY19tb2RlbF90IHJhdGVfY3RybF9tb2RlbCwKICAgICBjb25zdCB2cHhfcmNfZW5jb2Rl
ZnJhbWVfcmVzdWx0X3QgKmVuY29kZV9mcmFtZV9yZXN1bHQpOwogCi0vKiFcYnJpZWYgR2V0IHRo
ZSBHT1Agc3RydWN0dXJlIGZyb20gdGhlIGV4dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbC4KLSAq
Ci0gKiBUaGlzIGNhbGxiYWNrIGlzIGludm9rZWQgYnkgdGhlIGVuY29kZXIgdG8gZ2V0IEdPUCBk
ZWNpc2lvbnMgZnJvbQotICogdGhlIGV4dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbC4KLSAqCi0g
KiBccGFyYW1baW5dICByYXRlX2N0cmxfbW9kZWwgIHJhdGUgY29udHJvbCBtb2RlbAotICogXHBh
cmFtW2luXSAgZ29wX2luZm8gICAgICAgICBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQgZnJvbSB0aGUg
ZW5jb2RlcgotICogXHBhcmFtW291dF0gZ29wX2RlY2lzaW9uICAgICBHT1AgZGVjaXNpb24gZnJv
bSB0aGUgbW9kZWwKLSAqLwotdHlwZWRlZiB2cHhfcmNfc3RhdHVzX3QgKCp2cHhfcmNfZ2V0X2dv
cF9kZWNpc2lvbl9jYl9mbl90KSgKLSAgICB2cHhfcmNfbW9kZWxfdCByYXRlX2N0cmxfbW9kZWws
IGNvbnN0IHZweF9yY19nb3BfaW5mb190ICpnb3BfaW5mbywKLSAgICB2cHhfcmNfZ29wX2RlY2lz
aW9uX3QgKmdvcF9kZWNpc2lvbik7Ci0KLS8qIVxicmllZiBHZXQgdGhlIGZyYW1lIHJkbXVsdCBm
cm9tIHRoZSBleHRlcm5hbCByYXRlIGNvbnRyb2wgbW9kZWwuCi0gKgotICogVGhpcyBjYWxsYmFj
ayBpcyBpbnZva2VkIGJ5IHRoZSBlbmNvZGVyIHRvIGdldCByZG11bHQgZnJvbQotICogdGhlIGV4
dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbC4KLSAqCi0gKiBccGFyYW1baW5dICByYXRlX2N0cmxf
bW9kZWwgIHJhdGUgY29udHJvbCBtb2RlbAotICogXHBhcmFtW2luXSAgZnJhbWVfaW5mbyAgICAg
ICBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQgZnJvbSB0aGUgZW5jb2RlcgotICogXHBhcmFtW291dF0g
cmRtdWx0ICAgICAgICAgICBmcmFtZSByYXRlLWRpc3RvcnRpb24gbXVsdGlwbGllciBmcm9tIHRo
ZSBtb2RlbAotICovCi10eXBlZGVmIHZweF9yY19zdGF0dXNfdCAoKnZweF9yY19nZXRfZnJhbWVf
cmRtdWx0X2NiX2ZuX3QpKAotICAgIHZweF9yY19tb2RlbF90IHJhdGVfY3RybF9tb2RlbCwgY29u
c3QgdnB4X3JjX2VuY29kZWZyYW1lX2luZm9fdCAqZnJhbWVfaW5mbywKLSAgICBpbnQgKnJkbXVs
dCk7Ci0KIC8qIVxicmllZiBEZWxldGUgdGhlIGV4dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbCBj
YWxsYmFjayBwcm90b3R5cGUKICAqCiAgKiBUaGlzIGNhbGxiYWNrIGlzIGludm9rZWQgYnkgdGhl
IGVuY29kZXIgdG8gZGVsZXRlIHRoZSBleHRlcm5hbCByYXRlIGNvbnRyb2wKQEAgLTUwOSwxMCAr
MzIwLDYgQEAgdHlwZWRlZiB2cHhfcmNfc3RhdHVzX3QgKCp2cHhfcmNfZGVsZXRlX21vZGVsX2Ni
X2ZuX3QpKAogICogVlA5RV9TRVRfRVhURVJOQUxfUkFURV9DT05UUk9MLgogICovCiB0eXBlZGVm
IHN0cnVjdCB2cHhfcmNfZnVuY3MgewotICAvKiEKLSAgICogVGhlIHJhdGUgY29udHJvbCB0eXBl
IG9mIHRoaXMgQVBJLgotICAgKi8KLSAgdnB4X3JjX3R5cGVfdCByY190eXBlOwogICAvKiEKICAg
ICogQ3JlYXRlIGFuIGV4dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbC4KICAgICovCkBAIC01MjEs
MTAgKzMyOCw2IEBAIHR5cGVkZWYgc3RydWN0IHZweF9yY19mdW5jcyB7CiAgICAqIFNlbmQgZmly
c3QgcGFzcyBzdGF0cyB0byB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1vZGVsLgogICAgKi8K
ICAgdnB4X3JjX3NlbmRfZmlyc3RwYXNzX3N0YXRzX2NiX2ZuX3Qgc2VuZF9maXJzdHBhc3Nfc3Rh
dHM7Ci0gIC8qIQotICAgKiBTZW5kIFRQTCBzdGF0cyBmb3IgY3VycmVudCBHT1AgdG8gdGhlIGV4
dGVybmFsIHJhdGUgY29udHJvbCBtb2RlbC4KLSAgICovCi0gIHZweF9yY19zZW5kX3RwbF9nb3Bf
c3RhdHNfY2JfZm5fdCBzZW5kX3RwbF9nb3Bfc3RhdHM7CiAgIC8qIQogICAgKiBHZXQgZW5jb2Rl
ZnJhbWUgZGVjaXNpb24gZnJvbSB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1vZGVsLgogICAg
Ki8KQEAgLTUzMywxNCArMzM2LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgdnB4X3JjX2Z1bmNzIHsKICAg
ICogVXBkYXRlIGVuY29kZWZyYW1lIHJlc3VsdCB0byB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9s
IG1vZGVsLgogICAgKi8KICAgdnB4X3JjX3VwZGF0ZV9lbmNvZGVmcmFtZV9yZXN1bHRfY2JfZm5f
dCB1cGRhdGVfZW5jb2RlZnJhbWVfcmVzdWx0OwotICAvKiEKLSAgICogR2V0IEdPUCBkZWNpc2lv
bnMgZnJvbSB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1vZGVsLgotICAgKi8KLSAgdnB4X3Jj
X2dldF9nb3BfZGVjaXNpb25fY2JfZm5fdCBnZXRfZ29wX2RlY2lzaW9uOwotICAvKiEKLSAgICog
R2V0IHJkbXVsdCBmb3IgdGhlIGZyYW1lIGZyb20gdGhlIGV4dGVybmFsIHJhdGUgY29udHJvbCBt
b2RlbC4KLSAgICovCi0gIHZweF9yY19nZXRfZnJhbWVfcmRtdWx0X2NiX2ZuX3QgZ2V0X2ZyYW1l
X3JkbXVsdDsKICAgLyohCiAgICAqIERlbGV0ZSB0aGUgZXh0ZXJuYWwgcmF0ZSBjb250cm9sIG1v
ZGVsLgogICAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9pbWFnZS5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHgvdnB4X2ltYWdlLmgKaW5kZXggMWFkYzliOWQ5ZWI2Li5iYzIzYmU1MGM1OGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4L3ZweF9pbWFnZS5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4L3ZweF9pbWFnZS5oCkBAIC0xNzEsOCArMTcxLDcgQEAgdnB4X2ltYWdlX3QgKnZweF9pbWdf
d3JhcCh2cHhfaW1hZ2VfdCAqaW1nLCB2cHhfaW1nX2ZtdF90IGZtdCwgdW5zaWduZWQgaW50IGRf
dywKIC8qIVxicmllZiBTZXQgdGhlIHJlY3RhbmdsZSBpZGVudGlmeWluZyB0aGUgZGlzcGxheWVk
IHBvcnRpb24gb2YgdGhlIGltYWdlCiAgKgogICogVXBkYXRlcyB0aGUgZGlzcGxheWVkIHJlY3Rh
bmdsZSAoYWthIHZpZXdwb3J0KSBvbiB0aGUgaW1hZ2Ugc3VyZmFjZSB0bwotICogbWF0Y2ggdGhl
IHNwZWNpZmllZCBjb29yZGluYXRlcyBhbmQgc2l6ZS4gU3BlY2lmaWNhbGx5LCBzZXRzIGltZy0+
ZF93LAotICogaW1nLT5kX2gsIGFuZCBlbGVtZW50cyBvZiB0aGUgaW1nLT5wbGFuZXNbXSBhcnJh
eS4KKyAqIG1hdGNoIHRoZSBzcGVjaWZpZWQgY29vcmRpbmF0ZXMgYW5kIHNpemUuCiAgKgogICog
XHBhcmFtW2luXSAgICBpbWcgICAgICAgSW1hZ2UgZGVzY3JpcHRvcgogICogXHBhcmFtW2luXSAg
ICB4ICAgICAgICAgbGVmdG1vc3QgY29sdW1uCkBAIC0xODAsNyArMTc5LDcgQEAgdnB4X2ltYWdl
X3QgKnZweF9pbWdfd3JhcCh2cHhfaW1hZ2VfdCAqaW1nLCB2cHhfaW1nX2ZtdF90IGZtdCwgdW5z
aWduZWQgaW50IGRfdywKICAqIFxwYXJhbVtpbl0gICAgdyAgICAgICAgIHdpZHRoCiAgKiBccGFy
YW1baW5dICAgIGggICAgICAgICBoZWlnaHQKICAqCi0gKiBccmV0dXJuIDAgaWYgdGhlIHJlcXVl
c3RlZCByZWN0YW5nbGUgaXMgdmFsaWQsIG5vbnplcm8gKC0xKSBvdGhlcndpc2UuCisgKiBccmV0
dXJuIDAgaWYgdGhlIHJlcXVlc3RlZCByZWN0YW5nbGUgaXMgdmFsaWQsIG5vbnplcm8gb3RoZXJ3
aXNlLgogICovCiBpbnQgdnB4X2ltZ19zZXRfcmVjdCh2cHhfaW1hZ2VfdCAqaW1nLCB1bnNpZ25l
ZCBpbnQgeCwgdW5zaWduZWQgaW50IHksCiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgdywgdW5zaWduZWQgaW50IGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHgvdnB4X3Rw
bC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHgvdnB4X3RwbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhMjUwYWFkYTYwMWYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweC92cHhf
dHBsLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDIgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQg
KGMpIDIwMjMgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgot
ICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls
ZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0
aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1
YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBB
VEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3Vu
ZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAq
LwotCi0vKiFcZmlsZQotICogXGJyaWVmIERlc2NyaWJlcyB0aGUgVFBMIHN0YXRzIGRlc2NyaXB0
b3IgYW5kIGFzc29jaWF0ZWQgb3BlcmF0aW9ucwotICoKLSAqLwotI2lmbmRlZiBWUFhfVlBYX1ZQ
WF9UUExfSF8KLSNkZWZpbmUgVlBYX1ZQWF9WUFhfVFBMX0hfCi0KLSNpbmNsdWRlIDxzdGRpby5o
PgotCi0jaW5jbHVkZSAiLi92cHhfaW50ZWdlci5oIgotI2luY2x1ZGUgIi4vdnB4X2NvZGVjLmgi
Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQotLyohXGJyaWVm
IEN1cnJlbnQgQUJJIHZlcnNpb24gbnVtYmVyCi0gKgotICogXGludGVybmFsCi0gKiBJZiB0aGlz
IGZpbGUgaXMgYWx0ZXJlZCBpbiBhbnkgd2F5IHRoYXQgY2hhbmdlcyB0aGUgQUJJLCB0aGlzIHZh
bHVlCi0gKiBtdXN0IGJlIGJ1bXBlZC4gIEV4YW1wbGVzIGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxp
bWl0ZWQgdG8sIGNoYW5naW5nCi0gKiB0eXBlcywgcmVtb3Zpbmcgb3IgcmVhc3NpZ25pbmcgZW51
bXMsIGFkZGluZy9yZW1vdmluZy9yZWFycmFuZ2luZwotICogZmllbGRzIHRvIHN0cnVjdHVyZXMK
LSAqLwotI2RlZmluZSBWUFhfVFBMX0FCSV9WRVJTSU9OICgyKSAvKio8XGhpZGVpbml0aWFsaXpl
ciovCi0KLS8qIVxicmllZiBUZW1wb3JhbCBkZXBlbmRlbmN5IG1vZGVsIHN0YXRzIGZvciBlYWNo
IGJsb2NrIGJlZm9yZSBwcm9wYWdhdGlvbiAqLwotdHlwZWRlZiBzdHJ1Y3QgVnB4VHBsQmxvY2tT
dGF0cyB7Ci0gIGludDE2X3Qgcm93OyAgICAgICAgIC8qKjwgUGl4ZWwgcm93IG9mIHRoZSB0b3Ag
bGVmdCBjb3JuZXIgKi8KLSAgaW50MTZfdCBjb2w7ICAgICAgICAgLyoqPCBQaXhlbCBjb2wgb2Yg
dGhlIHRvcCBsZWZ0IGNvcm5lciAqLwotICBpbnQ2NF90IGludHJhX2Nvc3Q7ICAvKio8IEludHJh
IGNvc3QgKi8KLSAgaW50NjRfdCBpbnRlcl9jb3N0OyAgLyoqPCBJbnRlciBjb3N0ICovCi0gIGlu
dDE2X3QgbXZfcjsgICAgICAgIC8qKjwgTW90aW9uIHZlY3RvciByb3cgKi8KLSAgaW50MTZfdCBt
dl9jOyAgICAgICAgLyoqPCBNb3Rpb24gdmVjdG9yIGNvbCAqLwotICBpbnQ2NF90IHJlY3JmX3Jh
dGU7ICAvKio8IFJhdGUgZnJvbSByZWNvbnN0cnVjdGVkIHJlZiBmcmFtZSAqLwotICBpbnQ2NF90
IHJlY3JmX2Rpc3Q7ICAvKio8IERpc3RvcnRpb24gZnJvbSByZWNvbnN0cnVjdGVkIHJlZiBmcmFt
ZSAqLwotICBpbnQgcmVmX2ZyYW1lX2luZGV4OyAvKio8IFJlZiBmcmFtZSBpbmRleCBpbiB0aGUg
cmVmIGZyYW1lIGJ1ZmZlciAqLwotfSBWcHhUcGxCbG9ja1N0YXRzOwotCi0vKiFcYnJpZWYgVGVt
cG9yYWwgZGVwZW5kZW5jeSBtb2RlbCBzdGF0cyBmb3IgZWFjaCBmcmFtZSBiZWZvcmUgcHJvcGFn
YXRpb24gKi8KLXR5cGVkZWYgc3RydWN0IFZweFRwbEZyYW1lU3RhdHMgewotICBpbnQgZnJhbWVf
d2lkdGg7ICAvKio8IEZyYW1lIHdpZHRoICovCi0gIGludCBmcmFtZV9oZWlnaHQ7IC8qKjwgRnJh
bWUgaGVpZ2h0ICovCi0gIGludCBudW1fYmxvY2tzOyAgIC8qKjwgTnVtYmVyIG9mIGJsb2Nrcy4g
U2l6ZSBvZiBibG9ja19zdGF0c19saXN0ICovCi0gIFZweFRwbEJsb2NrU3RhdHMgKmJsb2NrX3N0
YXRzX2xpc3Q7IC8qKjwgTGlzdCBvZiB0cGwgc3RhdHMgZm9yIGVhY2ggYmxvY2sgKi8KLX0gVnB4
VHBsRnJhbWVTdGF0czsKLQotLyohXGJyaWVmIFRlbXBvcmFsIGRlcGVuZGVuY3kgbW9kZWwgc3Rh
dHMgZm9yIGVhY2ggR09QIGJlZm9yZSBwcm9wYWdhdGlvbiAqLwotdHlwZWRlZiBzdHJ1Y3QgVnB4
VHBsR29wU3RhdHMgewotICBpbnQgc2l6ZTsgLyoqPCBHT1Agc2l6ZSwgYWxzbyB0aGUgc2l6ZSBv
ZiBmcmFtZV9zdGF0c19saXN0LiAqLwotICBWcHhUcGxGcmFtZVN0YXRzICpmcmFtZV9zdGF0c19s
aXN0OyAvKio8IExpc3Qgb2YgdHBsIHN0YXRzIGZvciBlYWNoIGZyYW1lICovCi19IFZweFRwbEdv
cFN0YXRzOwotCi0vKiFcYnJpZWYgV3JpdGUgVnB4VHBsR29wU3RhdHMgdG8gZmlsZQotICoKLSAq
IEFjY2VwdHMgYW4gb3BlbmVkIGZpbGUgaGFuZGxlIGFuZCB3cml0ZXMgXHAgdHBsX2dvcF9zdGF0
cy4KLSAqCi0gKiBccGFyYW1baW5dICAgIHRwbF9maWxlICAgICAgIEEgRklMRSBwb2ludGVyIHRo
YXQncyBhbHJlYWR5IGJlZW4gb3BlbmVkLgotICogXHBhcmFtW2luXSAgICB0cGxfZ29wX3N0YXRz
ICBWcHhUcGxHb3BTdGF0cyB0aGF0IGNvbnRhaW5zIFRQTCBzdGF0cyBmb3IgdGhlCi0gKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdob2xlIEdPUC4KLSAqCi0gKiBccmV0dXJuIFZQWF9D
T0RFQ19PSyBpZiBUUEwgc3RhdHMgYXJlIHN1Y2Nlc3NmdWxseSB3cml0dGVuLgotICovCi12cHhf
Y29kZWNfZXJyX3QgdnB4X3dyaXRlX3RwbF9nb3Bfc3RhdHMoRklMRSAqdHBsX2ZpbGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVnB4VHBsR29wU3RhdHMg
KnRwbF9nb3Bfc3RhdHMpOwotCi0vKiFcYnJpZWYgUmVhZCBWcHhUcGxHb3BTdGF0cyBmcm9tIGZp
bGUKLSAqCi0gKiBBY2NlcHRzIGFuIG9wZW5lZCBmaWxlIGhhbmRsZSBhbmQgcmVhZHMgVFBMIHN0
YXRzIGFuZCBzdG9yZXMgdGhlbSBpbnRvCi0gKiBccCB0cGxfZ29wX3N0YXRzLiBBbGxvY2F0ZXMg
bWVtb3J5IGZvciBUUEwgc3RhdHMuCi0gKgotICogXHBhcmFtW2luXSAgICAgdHBsX2ZpbGUgICAg
ICAgQSBGSUxFIHBvaW50ZXIgdGhhdCdzIGFscmVhZHkgYmVlbiBvcGVuZWQuCi0gKiBccGFyYW1b
b3V0XSAgICB0cGxfZ29wX3N0YXRzICBWcHhUcGxHb3BTdGF0cyB0aGF0IGNvbnRhaW5zIFRQTCBz
dGF0cyBmb3IgdGhlCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aG9sZSBHT1Au
Ci0gKgotICogXHJldHVybiBWUFhfQ09ERUNfT0sgaWYgVFBMIHN0YXRzIGFyZSBzdWNjZXNzZnVs
bHkgcmVhZCBmcm9tIGZpbGUuCi0gKi8KLXZweF9jb2RlY19lcnJfdCB2cHhfcmVhZF90cGxfZ29w
X3N0YXRzKEZJTEUgKnRwbF9maWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVnB4VHBsR29wU3RhdHMgKnRwbF9nb3Bfc3RhdHMpOwotCi0vKiFcYnJpZWYgRnJlZSB0
aGUgbWVtb3J5IGFsbG9jYXRlZCBmb3IgVnB4VHBsR29wU3RhdHMKLSAqCi0gKiBccGFyYW1baW5d
ICAgIHRwbF9nb3Bfc3RhdHMgIFZweFRwbEdvcFN0YXRzIHRoYXQgY29udGFpbnMgVFBMIHN0YXRz
IGZvciB0aGUKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hvbGUgR09QLgotICov
Ci12b2lkIHZweF9mcmVlX3RwbF9nb3Bfc3RhdHMoVnB4VHBsR29wU3RhdHMgKnRwbF9nb3Bfc3Rh
dHMpOwotCi0jaWZkZWYgX19jcGx1c3BsdXMKLX0gIC8vIGV4dGVybiAiQyIKLSNlbmRpZgotCi0j
ZW5kaWYgIC8vIFZQWF9WUFhfVlBYX1RQTF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9hdmdfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9hdmdfbmVvbi5jCmlu
ZGV4IDFiMTdhMzI2YjRjNS4uZmE3ZGQwOTYwMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL2F2Z19uZW9uLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9hdmdfbmVv
bi5jCkBAIC0yMiwxMyArMjIsMTUgQEAKIHVpbnQzMl90IHZweF9hdmdfNHg0X25lb24oY29uc3Qg
dWludDhfdCAqYSwgaW50IGFfc3RyaWRlKSB7CiAgIGNvbnN0IHVpbnQ4eDE2X3QgYiA9IGxvYWRf
dW5hbGlnbmVkX3U4cShhLCBhX3N0cmlkZSk7CiAgIGNvbnN0IHVpbnQxNng4X3QgYyA9IHZhZGRs
X3U4KHZnZXRfbG93X3U4KGIpLCB2Z2V0X2hpZ2hfdTgoYikpOwotICByZXR1cm4gKGhvcml6b250
YWxfYWRkX3VpbnQxNng4KGMpICsgKDEgPDwgMykpID4+IDQ7CisgIGNvbnN0IHVpbnQzMngyX3Qg
ZCA9IGhvcml6b250YWxfYWRkX3VpbnQxNng4KGMpOworICByZXR1cm4gdmdldF9sYW5lX3UzMih2
cnNocl9uX3UzMihkLCA0KSwgMCk7CiB9CiAKIHVpbnQzMl90IHZweF9hdmdfOHg4X25lb24oY29u
c3QgdWludDhfdCAqYSwgaW50IGFfc3RyaWRlKSB7CiAgIGludCBpOwogICB1aW50OHg4X3QgYiwg
YzsKICAgdWludDE2eDhfdCBzdW07CisgIHVpbnQzMngyX3QgZDsKICAgYiA9IHZsZDFfdTgoYSk7
CiAgIGEgKz0gYV9zdHJpZGU7CiAgIGMgPSB2bGQxX3U4KGEpOwpAQCAtNDEsOTggKzQzLDEwNCBA
QCB1aW50MzJfdCB2cHhfYXZnXzh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QgKmEsIGludCBhX3N0cmlk
ZSkgewogICAgIHN1bSA9IHZhZGR3X3U4KHN1bSwgZCk7CiAgIH0KIAotICByZXR1cm4gKGhvcml6
b250YWxfYWRkX3VpbnQxNng4KHN1bSkgKyAoMSA8PCA1KSkgPj4gNjsKKyAgZCA9IGhvcml6b250
YWxfYWRkX3VpbnQxNng4KHN1bSk7CisKKyAgcmV0dXJuIHZnZXRfbGFuZV91MzIodnJzaHJfbl91
MzIoZCwgNiksIDApOwogfQogCiAvLyBjb2VmZjogMTYgYml0cywgZHluYW1pYyByYW5nZSBbLTMy
NjQwLCAzMjY0MF0uCiAvLyBsZW5ndGg6IHZhbHVlIHJhbmdlIHsxNiwgNjQsIDI1NiwgMTAyNH0u
Ci0vLyBzYXRkOiAyNiBiaXRzLCBkeW5hbWljIHJhbmdlIFstMzI2NDAgKiAxMDI0LCAzMjY0MCAq
IDEwMjRdCiBpbnQgdnB4X3NhdGRfbmVvbihjb25zdCB0cmFuX2xvd190ICpjb2VmZiwgaW50IGxl
bmd0aCkgewotICBpbnQzMng0X3Qgc3VtX3MzMlsyXSA9IHsgdmR1cHFfbl9zMzIoMCksIHZkdXBx
X25fczMyKDApIH07CisgIGNvbnN0IGludDE2eDRfdCB6ZXJvID0gdmR1cF9uX3MxNigwKTsKKyAg
aW50MzJ4NF90IGFjY3VtID0gdmR1cHFfbl9zMzIoMCk7CiAKICAgZG8gewotICAgIGludDE2eDhf
dCBhYnMwLCBhYnMxOwotICAgIGNvbnN0IGludDE2eDhfdCBzMCA9IGxvYWRfdHJhbl9sb3dfdG9f
czE2cShjb2VmZik7Ci0gICAgY29uc3QgaW50MTZ4OF90IHMxID0gbG9hZF90cmFuX2xvd190b19z
MTZxKGNvZWZmICsgOCk7Ci0KLSAgICBhYnMwID0gdmFic3FfczE2KHMwKTsKLSAgICBzdW1fczMy
WzBdID0gdnBhZGFscV9zMTYoc3VtX3MzMlswXSwgYWJzMCk7Ci0gICAgYWJzMSA9IHZhYnNxX3Mx
NihzMSk7Ci0gICAgc3VtX3MzMlsxXSA9IHZwYWRhbHFfczE2KHN1bV9zMzJbMV0sIGFiczEpOwot
CisgICAgY29uc3QgaW50MTZ4OF90IHNyYzAgPSBsb2FkX3RyYW5fbG93X3RvX3MxNnEoY29lZmYp
OworICAgIGNvbnN0IGludDE2eDhfdCBzcmM4ID0gbG9hZF90cmFuX2xvd190b19zMTZxKGNvZWZm
ICsgOCk7CisgICAgYWNjdW0gPSB2YWJhbF9zMTYoYWNjdW0sIHZnZXRfbG93X3MxNihzcmMwKSwg
emVybyk7CisgICAgYWNjdW0gPSB2YWJhbF9zMTYoYWNjdW0sIHZnZXRfaGlnaF9zMTYoc3JjMCks
IHplcm8pOworICAgIGFjY3VtID0gdmFiYWxfczE2KGFjY3VtLCB2Z2V0X2xvd19zMTYoc3JjOCks
IHplcm8pOworICAgIGFjY3VtID0gdmFiYWxfczE2KGFjY3VtLCB2Z2V0X2hpZ2hfczE2KHNyYzgp
LCB6ZXJvKTsKICAgICBsZW5ndGggLT0gMTY7CiAgICAgY29lZmYgKz0gMTY7CiAgIH0gd2hpbGUg
KGxlbmd0aCAhPSAwKTsKIAotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfaW50MzJ4NCh2YWRkcV9z
MzIoc3VtX3MzMlswXSwgc3VtX3MzMlsxXSkpOworICB7CisgICAgLy8gc2F0ZDogMjYgYml0cywg
ZHluYW1pYyByYW5nZSBbLTMyNjQwICogMTAyNCwgMzI2NDAgKiAxMDI0XQorICAgIGNvbnN0IGlu
dDY0eDJfdCBzMCA9IHZwYWRkbHFfczMyKGFjY3VtKTsgIC8vIGNhc2NhZGluZyBzdW1tYXRpb24g
b2YgJ2FjY3VtJy4KKyAgICBjb25zdCBpbnQzMngyX3QgczEgPSB2YWRkX3MzMih2cmVpbnRlcnBy
ZXRfczMyX3M2NCh2Z2V0X2xvd19zNjQoczApKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2cmVpbnRlcnByZXRfczMyX3M2NCh2Z2V0X2hpZ2hfczY0KHMwKSkpOworICAgIGNv
bnN0IGludCBzYXRkID0gdmdldF9sYW5lX3MzMihzMSwgMCk7CisgICAgcmV0dXJuIHNhdGQ7Cisg
IH0KIH0KIAogdm9pZCB2cHhfaW50X3Byb19yb3dfbmVvbihpbnQxNl90IGhidWZbMTZdLCB1aW50
OF90IGNvbnN0ICpyZWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCByZWZf
c3RyaWRlLCBjb25zdCBpbnQgaGVpZ2h0KSB7CiAgIGludCBpOwotICB1aW50OHgxNl90IHIwLCBy
MSwgcjIsIHIzOwotICB1aW50MTZ4OF90IHN1bV9sb1syXSwgc3VtX2hpWzJdOwotICB1aW50MTZ4
OF90IHRtcF9sb1syXSwgdG1wX2hpWzJdOwotICBpbnQxNng4X3QgYXZnX2xvLCBhdmdfaGk7Cisg
IHVpbnQxNng4X3QgdmVjX3N1bV9sbyA9IHZkdXBxX25fdTE2KDApOworICB1aW50MTZ4OF90IHZl
Y19zdW1faGkgPSB2ZHVwcV9uX3UxNigwKTsKKyAgY29uc3QgaW50IHNoaWZ0X2ZhY3RvciA9ICgo
aGVpZ2h0ID4+IDUpICsgMykgKiAtMTsKKyAgY29uc3QgaW50MTZ4OF90IHZlY19zaGlmdCA9IHZk
dXBxX25fczE2KHNoaWZ0X2ZhY3Rvcik7CiAKLSAgY29uc3QgaW50IG5vcm1fZmFjdG9yID0gKGhl
aWdodCA+PiA1KSArIDM7Ci0gIGNvbnN0IGludDE2eDhfdCBuZWdfbm9ybV9mYWN0b3IgPSB2ZHVw
cV9uX3MxNigtbm9ybV9mYWN0b3IpOworICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyBpICs9IDgp
IHsKKyAgICBjb25zdCB1aW50OHgxNl90IHZlY19yb3cxID0gdmxkMXFfdTgocmVmKTsKKyAgICBj
b25zdCB1aW50OHgxNl90IHZlY19yb3cyID0gdmxkMXFfdTgocmVmICsgcmVmX3N0cmlkZSk7Cisg
ICAgY29uc3QgdWludDh4MTZfdCB2ZWNfcm93MyA9IHZsZDFxX3U4KHJlZiArIHJlZl9zdHJpZGUg
KiAyKTsKKyAgICBjb25zdCB1aW50OHgxNl90IHZlY19yb3c0ID0gdmxkMXFfdTgocmVmICsgcmVm
X3N0cmlkZSAqIDMpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgdmVjX3JvdzUgPSB2bGQxcV91OChy
ZWYgKyByZWZfc3RyaWRlICogNCk7CisgICAgY29uc3QgdWludDh4MTZfdCB2ZWNfcm93NiA9IHZs
ZDFxX3U4KHJlZiArIHJlZl9zdHJpZGUgKiA1KTsKKyAgICBjb25zdCB1aW50OHgxNl90IHZlY19y
b3c3ID0gdmxkMXFfdTgocmVmICsgcmVmX3N0cmlkZSAqIDYpOworICAgIGNvbnN0IHVpbnQ4eDE2
X3QgdmVjX3JvdzggPSB2bGQxcV91OChyZWYgKyByZWZfc3RyaWRlICogNyk7CiAKLSAgYXNzZXJ0
KGhlaWdodCA+PSA0ICYmIGhlaWdodCAlIDQgPT0gMCk7CisgICAgdmVjX3N1bV9sbyA9IHZhZGR3
X3U4KHZlY19zdW1fbG8sIHZnZXRfbG93X3U4KHZlY19yb3cxKSk7CisgICAgdmVjX3N1bV9oaSA9
IHZhZGR3X3U4KHZlY19zdW1faGksIHZnZXRfaGlnaF91OCh2ZWNfcm93MSkpOwogCi0gIHIwID0g
dmxkMXFfdTgocmVmICsgMCAqIHJlZl9zdHJpZGUpOwotICByMSA9IHZsZDFxX3U4KHJlZiArIDEg
KiByZWZfc3RyaWRlKTsKLSAgcjIgPSB2bGQxcV91OChyZWYgKyAyICogcmVmX3N0cmlkZSk7Ci0g
IHIzID0gdmxkMXFfdTgocmVmICsgMyAqIHJlZl9zdHJpZGUpOworICAgIHZlY19zdW1fbG8gPSB2
YWRkd191OCh2ZWNfc3VtX2xvLCB2Z2V0X2xvd191OCh2ZWNfcm93MikpOworICAgIHZlY19zdW1f
aGkgPSB2YWRkd191OCh2ZWNfc3VtX2hpLCB2Z2V0X2hpZ2hfdTgodmVjX3JvdzIpKTsKIAotICBz
dW1fbG9bMF0gPSB2YWRkbF91OCh2Z2V0X2xvd191OChyMCksIHZnZXRfbG93X3U4KHIxKSk7Ci0g
IHN1bV9oaVswXSA9IHZhZGRsX3U4KHZnZXRfaGlnaF91OChyMCksIHZnZXRfaGlnaF91OChyMSkp
OwotICBzdW1fbG9bMV0gPSB2YWRkbF91OCh2Z2V0X2xvd191OChyMiksIHZnZXRfbG93X3U4KHIz
KSk7Ci0gIHN1bV9oaVsxXSA9IHZhZGRsX3U4KHZnZXRfaGlnaF91OChyMiksIHZnZXRfaGlnaF91
OChyMykpOworICAgIHZlY19zdW1fbG8gPSB2YWRkd191OCh2ZWNfc3VtX2xvLCB2Z2V0X2xvd191
OCh2ZWNfcm93MykpOworICAgIHZlY19zdW1faGkgPSB2YWRkd191OCh2ZWNfc3VtX2hpLCB2Z2V0
X2hpZ2hfdTgodmVjX3JvdzMpKTsKIAotICByZWYgKz0gNCAqIHJlZl9zdHJpZGU7CisgICAgdmVj
X3N1bV9sbyA9IHZhZGR3X3U4KHZlY19zdW1fbG8sIHZnZXRfbG93X3U4KHZlY19yb3c0KSk7Cisg
ICAgdmVjX3N1bV9oaSA9IHZhZGR3X3U4KHZlY19zdW1faGksIHZnZXRfaGlnaF91OCh2ZWNfcm93
NCkpOwogCi0gIGZvciAoaSA9IDQ7IGkgPCBoZWlnaHQ7IGkgKz0gNCkgewotICAgIHIwID0gdmxk
MXFfdTgocmVmICsgMCAqIHJlZl9zdHJpZGUpOwotICAgIHIxID0gdmxkMXFfdTgocmVmICsgMSAq
IHJlZl9zdHJpZGUpOwotICAgIHIyID0gdmxkMXFfdTgocmVmICsgMiAqIHJlZl9zdHJpZGUpOwot
ICAgIHIzID0gdmxkMXFfdTgocmVmICsgMyAqIHJlZl9zdHJpZGUpOworICAgIHZlY19zdW1fbG8g
PSB2YWRkd191OCh2ZWNfc3VtX2xvLCB2Z2V0X2xvd191OCh2ZWNfcm93NSkpOworICAgIHZlY19z
dW1faGkgPSB2YWRkd191OCh2ZWNfc3VtX2hpLCB2Z2V0X2hpZ2hfdTgodmVjX3JvdzUpKTsKIAot
ICAgIHRtcF9sb1swXSA9IHZhZGRsX3U4KHZnZXRfbG93X3U4KHIwKSwgdmdldF9sb3dfdTgocjEp
KTsKLSAgICB0bXBfaGlbMF0gPSB2YWRkbF91OCh2Z2V0X2hpZ2hfdTgocjApLCB2Z2V0X2hpZ2hf
dTgocjEpKTsKLSAgICB0bXBfbG9bMV0gPSB2YWRkbF91OCh2Z2V0X2xvd191OChyMiksIHZnZXRf
bG93X3U4KHIzKSk7Ci0gICAgdG1wX2hpWzFdID0gdmFkZGxfdTgodmdldF9oaWdoX3U4KHIyKSwg
dmdldF9oaWdoX3U4KHIzKSk7CisgICAgdmVjX3N1bV9sbyA9IHZhZGR3X3U4KHZlY19zdW1fbG8s
IHZnZXRfbG93X3U4KHZlY19yb3c2KSk7CisgICAgdmVjX3N1bV9oaSA9IHZhZGR3X3U4KHZlY19z
dW1faGksIHZnZXRfaGlnaF91OCh2ZWNfcm93NikpOwogCi0gICAgc3VtX2xvWzBdID0gdmFkZHFf
dTE2KHN1bV9sb1swXSwgdG1wX2xvWzBdKTsKLSAgICBzdW1faGlbMF0gPSB2YWRkcV91MTYoc3Vt
X2hpWzBdLCB0bXBfaGlbMF0pOwotICAgIHN1bV9sb1sxXSA9IHZhZGRxX3UxNihzdW1fbG9bMV0s
IHRtcF9sb1sxXSk7Ci0gICAgc3VtX2hpWzFdID0gdmFkZHFfdTE2KHN1bV9oaVsxXSwgdG1wX2hp
WzFdKTsKKyAgICB2ZWNfc3VtX2xvID0gdmFkZHdfdTgodmVjX3N1bV9sbywgdmdldF9sb3dfdTgo
dmVjX3JvdzcpKTsKKyAgICB2ZWNfc3VtX2hpID0gdmFkZHdfdTgodmVjX3N1bV9oaSwgdmdldF9o
aWdoX3U4KHZlY19yb3c3KSk7CiAKLSAgICByZWYgKz0gNCAqIHJlZl9zdHJpZGU7Ci0gIH0KKyAg
ICB2ZWNfc3VtX2xvID0gdmFkZHdfdTgodmVjX3N1bV9sbywgdmdldF9sb3dfdTgodmVjX3Jvdzgp
KTsKKyAgICB2ZWNfc3VtX2hpID0gdmFkZHdfdTgodmVjX3N1bV9oaSwgdmdldF9oaWdoX3U4KHZl
Y19yb3c4KSk7CiAKLSAgc3VtX2xvWzBdID0gdmFkZHFfdTE2KHN1bV9sb1swXSwgc3VtX2xvWzFd
KTsKLSAgc3VtX2hpWzBdID0gdmFkZHFfdTE2KHN1bV9oaVswXSwgc3VtX2hpWzFdKTsKKyAgICBy
ZWYgKz0gcmVmX3N0cmlkZSAqIDg7CisgIH0KIAotICBhdmdfbG8gPSB2c2hscV9zMTYodnJlaW50
ZXJwcmV0cV9zMTZfdTE2KHN1bV9sb1swXSksIG5lZ19ub3JtX2ZhY3Rvcik7Ci0gIGF2Z19oaSA9
IHZzaGxxX3MxNih2cmVpbnRlcnByZXRxX3MxNl91MTYoc3VtX2hpWzBdKSwgbmVnX25vcm1fZmFj
dG9yKTsKKyAgdmVjX3N1bV9sbyA9IHZzaGxxX3UxNih2ZWNfc3VtX2xvLCB2ZWNfc2hpZnQpOwor
ICB2ZWNfc3VtX2hpID0gdnNobHFfdTE2KHZlY19zdW1faGksIHZlY19zaGlmdCk7CiAKLSAgdnN0
MXFfczE2KGhidWYsIGF2Z19sbyk7Ci0gIHZzdDFxX3MxNihoYnVmICsgOCwgYXZnX2hpKTsKKyAg
dnN0MXFfczE2KGhidWYsIHZyZWludGVycHJldHFfczE2X3UxNih2ZWNfc3VtX2xvKSk7CisgIGhi
dWYgKz0gODsKKyAgdnN0MXFfczE2KGhidWYsIHZyZWludGVycHJldHFfczE2X3UxNih2ZWNfc3Vt
X2hpKSk7CiB9CiAKIGludDE2X3QgdnB4X2ludF9wcm9fY29sX25lb24odWludDhfdCBjb25zdCAq
cmVmLCBjb25zdCBpbnQgd2lkdGgpIHsKLSAgdWludDE2eDhfdCBzdW07CiAgIGludCBpOworICB1
aW50MTZ4OF90IHZlY19zdW0gPSB2ZHVwcV9uX3UxNigwKTsKIAotICBhc3NlcnQod2lkdGggPj0g
MTYgJiYgd2lkdGggJSAxNiA9PSAwKTsKLQotICBzdW0gPSB2cGFkZGxxX3U4KHZsZDFxX3U4KHJl
ZikpOwotICBmb3IgKGkgPSAxNjsgaSA8IHdpZHRoOyBpICs9IDE2KSB7Ci0gICAgc3VtID0gdnBh
ZGFscV91OChzdW0sIHZsZDFxX3U4KHJlZiArIGkpKTsKKyAgZm9yIChpID0gMDsgaSA8IHdpZHRo
OyBpICs9IDE2KSB7CisgICAgY29uc3QgdWludDh4MTZfdCB2ZWNfcm93ID0gdmxkMXFfdTgocmVm
KTsKKyAgICB2ZWNfc3VtID0gdmFkZHdfdTgodmVjX3N1bSwgdmdldF9sb3dfdTgodmVjX3Jvdykp
OworICAgIHZlY19zdW0gPSB2YWRkd191OCh2ZWNfc3VtLCB2Z2V0X2hpZ2hfdTgodmVjX3Jvdykp
OworICAgIHJlZiArPSAxNjsKICAgfQogCi0gIHJldHVybiAoaW50MTZfdClob3Jpem9udGFsX2Fk
ZF91aW50MTZ4OChzdW0pOworICByZXR1cm4gdmdldF9sYW5lX3MxNih2cmVpbnRlcnByZXRfczE2
X3UzMihob3Jpem9udGFsX2FkZF91aW50MTZ4OCh2ZWNfc3VtKSksCisgICAgICAgICAgICAgICAg
ICAgICAgIDApOwogfQogCiAvLyByZWYsIHNyYyA9IFswLCA1MTBdIC0gbWF4IGRpZmYgPSAxNi1i
aXRzCkBAIC0yMTEsMTYgKzIxOSwxMSBAQCB2b2lkIHZweF9taW5tYXhfOHg4X25lb24oY29uc3Qg
dWludDhfdCAqYSwgaW50IGFfc3RyaWRlLCBjb25zdCB1aW50OF90ICpiLAogICBjb25zdCB1aW50
OHgxNl90IGFiMDdfbWF4ID0gdm1heHFfdTgoYWIwMTIzX21heCwgYWI0NTY3X21heCk7CiAgIGNv
bnN0IHVpbnQ4eDE2X3QgYWIwN19taW4gPSB2bWlucV91OChhYjAxMjNfbWluLCBhYjQ1NjdfbWlu
KTsKIAotI2lmIFZQWF9BUkNIX0FBUkNINjQKLSAgKm1pbiA9ICptYXggPSAwOyAgLy8gQ2xlYXIg
aGlnaCBiaXRzCi0gICooKHVpbnQ4X3QgKiltYXgpID0gdm1heHZxX3U4KGFiMDdfbWF4KTsKLSAg
KigodWludDhfdCAqKW1pbikgPSB2bWludnFfdTgoYWIwN19taW4pOwotI2Vsc2UKLSAgLy8gU3Bs
aXQgaW50byA2NC1iaXQgdmVjdG9ycyBhbmQgZXhlY3V0ZSBwYWlyd2lzZSBtaW4vbWF4LgorICAv
LyBTcGxpdCB0byBEIGFuZCBzdGFydCBkb2luZyBwYWlyd2lzZS4KICAgdWludDh4OF90IGFiX21h
eCA9IHZtYXhfdTgodmdldF9oaWdoX3U4KGFiMDdfbWF4KSwgdmdldF9sb3dfdTgoYWIwN19tYXgp
KTsKICAgdWludDh4OF90IGFiX21pbiA9IHZtaW5fdTgodmdldF9oaWdoX3U4KGFiMDdfbWluKSwg
dmdldF9sb3dfdTgoYWIwN19taW4pKTsKIAotICAvLyBFbm91Z2ggcnVucyBvZiB2cG1heC9taW4g
cHJvcGFnYXRlIHRoZSBtYXgvbWluIHZhbHVlcyB0byBldmVyeSBwb3NpdGlvbi4KKyAgLy8gRW5v
dWdoIHJ1bnMgb2YgdnBtYXgvbWluIHByb3BvZ2F0ZSB0aGUgbWF4L21pbiB2YWx1ZXMgdG8gZXZl
cnkgcG9zaXRpb24uCiAgIGFiX21heCA9IHZwbWF4X3U4KGFiX21heCwgYWJfbWF4KTsKICAgYWJf
bWluID0gdnBtaW5fdTgoYWJfbWluLCBhYl9taW4pOwogCkBAIC0yMzQsNSArMjM3LDQgQEAgdm9p
ZCB2cHhfbWlubWF4Xzh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QgKmEsIGludCBhX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqYiwKICAgLy8gU3RvcmUgZGlyZWN0bHkgdG8gYXZvaWQgY29zdGx5IG5lb24t
PmdwciB0cmFuc2Zlci4KICAgdnN0MV9sYW5lX3U4KCh1aW50OF90ICopbWF4LCBhYl9tYXgsIDAp
OwogICB2c3QxX2xhbmVfdTgoKHVpbnQ4X3QgKiltaW4sIGFiX21pbiwgMCk7Ci0jZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDE2eDE2X25lb24uYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDE2eDE2X25lb24uYwppbmRleCBmZGU3MWZmMzBkZjQu
LjZiMmJlYmQwOTdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0MTZ4
MTZfbmVvbi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDE2eDE2X25lb24uYwpA
QCAtMTUsNyArMTUsNiBAQAogI2luY2x1ZGUgInZweF9kc3AvdHhmbV9jb21tb24uaCIKICNpbmNs
dWRlICJ2cHhfZHNwL2FybS9tZW1fbmVvbi5oIgogI2luY2x1ZGUgInZweF9kc3AvYXJtL3RyYW5z
cG9zZV9uZW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0vZmRjdDE2eDE2X25lb24uaCIKIAog
Ly8gU29tZSBidWlsZHMgb2YgZ2NjIDQuOS4yIGFuZCAuMyBoYXZlIHRyb3VibGUgd2l0aCBzb21l
IG9mIHRoZSBpbmxpbmUKIC8vIGZ1bmN0aW9ucy4KQEAgLTI4LDkgKzI3LDIwNSBAQCB2b2lkIHZw
eF9mZGN0MTZ4MTZfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAqb3V0cHV0
LCBpbnQgc3RyaWRlKSB7CiAKICNlbHNlCiAKK3N0YXRpYyBJTkxJTkUgdm9pZCBsb2FkKGNvbnN0
IGludDE2X3QgKmEsIGludCBzdHJpZGUsIGludDE2eDhfdCAqYiAvKlsxNl0qLykgeworICBiWzBd
ID0gdmxkMXFfczE2KGEpOworICBhICs9IHN0cmlkZTsKKyAgYlsxXSA9IHZsZDFxX3MxNihhKTsK
KyAgYSArPSBzdHJpZGU7CisgIGJbMl0gPSB2bGQxcV9zMTYoYSk7CisgIGEgKz0gc3RyaWRlOwor
ICBiWzNdID0gdmxkMXFfczE2KGEpOworICBhICs9IHN0cmlkZTsKKyAgYls0XSA9IHZsZDFxX3Mx
NihhKTsKKyAgYSArPSBzdHJpZGU7CisgIGJbNV0gPSB2bGQxcV9zMTYoYSk7CisgIGEgKz0gc3Ry
aWRlOworICBiWzZdID0gdmxkMXFfczE2KGEpOworICBhICs9IHN0cmlkZTsKKyAgYls3XSA9IHZs
ZDFxX3MxNihhKTsKKyAgYSArPSBzdHJpZGU7CisgIGJbOF0gPSB2bGQxcV9zMTYoYSk7CisgIGEg
Kz0gc3RyaWRlOworICBiWzldID0gdmxkMXFfczE2KGEpOworICBhICs9IHN0cmlkZTsKKyAgYlsx
MF0gPSB2bGQxcV9zMTYoYSk7CisgIGEgKz0gc3RyaWRlOworICBiWzExXSA9IHZsZDFxX3MxNihh
KTsKKyAgYSArPSBzdHJpZGU7CisgIGJbMTJdID0gdmxkMXFfczE2KGEpOworICBhICs9IHN0cmlk
ZTsKKyAgYlsxM10gPSB2bGQxcV9zMTYoYSk7CisgIGEgKz0gc3RyaWRlOworICBiWzE0XSA9IHZs
ZDFxX3MxNihhKTsKKyAgYSArPSBzdHJpZGU7CisgIGJbMTVdID0gdmxkMXFfczE2KGEpOworfQor
CisvLyBTdG9yZSA4IDE2eDggdmFsdWVzLCBhc3N1bWluZyBzdHJpZGUgPT0gMTYuCitzdGF0aWMg
SU5MSU5FIHZvaWQgc3RvcmUodHJhbl9sb3dfdCAqYSwgY29uc3QgaW50MTZ4OF90ICpiIC8qWzhd
Ki8pIHsKKyAgc3RvcmVfczE2cV90b190cmFuX2xvdyhhLCBiWzBdKTsKKyAgYSArPSAxNjsKKyAg
c3RvcmVfczE2cV90b190cmFuX2xvdyhhLCBiWzFdKTsKKyAgYSArPSAxNjsKKyAgc3RvcmVfczE2
cV90b190cmFuX2xvdyhhLCBiWzJdKTsKKyAgYSArPSAxNjsKKyAgc3RvcmVfczE2cV90b190cmFu
X2xvdyhhLCBiWzNdKTsKKyAgYSArPSAxNjsKKyAgc3RvcmVfczE2cV90b190cmFuX2xvdyhhLCBi
WzRdKTsKKyAgYSArPSAxNjsKKyAgc3RvcmVfczE2cV90b190cmFuX2xvdyhhLCBiWzVdKTsKKyAg
YSArPSAxNjsKKyAgc3RvcmVfczE2cV90b190cmFuX2xvdyhhLCBiWzZdKTsKKyAgYSArPSAxNjsK
KyAgc3RvcmVfczE2cV90b190cmFuX2xvdyhhLCBiWzddKTsKK30KKworLy8gTG9hZCBzdGVwIG9m
IGVhY2ggcGFzcy4gQWRkIGFuZCBzdWJ0cmFjdCBjbGVhciBhY3Jvc3MgdGhlIGlucHV0LCByZXF1
aXJpbmcKKy8vIGFsbCAxNiB2YWx1ZXMgdG8gYmUgbG9hZGVkLiBGb3IgdGhlIGZpcnN0IHBhc3Mg
aXQgYWxzbyBtdWx0aXBsaWVzIGJ5IDQuCisKKy8vIFRvIG1heWJlIHJlZHVjZSByZWdpc3RlciB1
c2FnZSB0aGlzIGNvdWxkIGJlIGNvbWJpbmVkIHdpdGggdGhlIGxvYWQoKSBzdGVwIHRvCisvLyBn
ZXQgdGhlIGZpcnN0IDQgYW5kIGxhc3QgNCB2YWx1ZXMsIGNyb3NzIHRob3NlLCB0aGVuIGxvYWQg
dGhlIG1pZGRsZSA4IHZhbHVlcworLy8gYW5kIGNyb3NzIHRoZW0uCitzdGF0aWMgSU5MSU5FIHZv
aWQgY3Jvc3NfaW5wdXQoY29uc3QgaW50MTZ4OF90ICphIC8qWzE2XSovLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqYiAvKlsxNl0qLywgY29uc3QgaW50IHBhc3Mp
IHsKKyAgaWYgKHBhc3MgPT0gMCkgeworICAgIGJbMF0gPSB2c2hscV9uX3MxNih2YWRkcV9zMTYo
YVswXSwgYVsxNV0pLCAyKTsKKyAgICBiWzFdID0gdnNobHFfbl9zMTYodmFkZHFfczE2KGFbMV0s
IGFbMTRdKSwgMik7CisgICAgYlsyXSA9IHZzaGxxX25fczE2KHZhZGRxX3MxNihhWzJdLCBhWzEz
XSksIDIpOworICAgIGJbM10gPSB2c2hscV9uX3MxNih2YWRkcV9zMTYoYVszXSwgYVsxMl0pLCAy
KTsKKyAgICBiWzRdID0gdnNobHFfbl9zMTYodmFkZHFfczE2KGFbNF0sIGFbMTFdKSwgMik7Cisg
ICAgYls1XSA9IHZzaGxxX25fczE2KHZhZGRxX3MxNihhWzVdLCBhWzEwXSksIDIpOworICAgIGJb
Nl0gPSB2c2hscV9uX3MxNih2YWRkcV9zMTYoYVs2XSwgYVs5XSksIDIpOworICAgIGJbN10gPSB2
c2hscV9uX3MxNih2YWRkcV9zMTYoYVs3XSwgYVs4XSksIDIpOworCisgICAgYls4XSA9IHZzaGxx
X25fczE2KHZzdWJxX3MxNihhWzddLCBhWzhdKSwgMik7CisgICAgYls5XSA9IHZzaGxxX25fczE2
KHZzdWJxX3MxNihhWzZdLCBhWzldKSwgMik7CisgICAgYlsxMF0gPSB2c2hscV9uX3MxNih2c3Vi
cV9zMTYoYVs1XSwgYVsxMF0pLCAyKTsKKyAgICBiWzExXSA9IHZzaGxxX25fczE2KHZzdWJxX3Mx
NihhWzRdLCBhWzExXSksIDIpOworICAgIGJbMTJdID0gdnNobHFfbl9zMTYodnN1YnFfczE2KGFb
M10sIGFbMTJdKSwgMik7CisgICAgYlsxM10gPSB2c2hscV9uX3MxNih2c3VicV9zMTYoYVsyXSwg
YVsxM10pLCAyKTsKKyAgICBiWzE0XSA9IHZzaGxxX25fczE2KHZzdWJxX3MxNihhWzFdLCBhWzE0
XSksIDIpOworICAgIGJbMTVdID0gdnNobHFfbl9zMTYodnN1YnFfczE2KGFbMF0sIGFbMTVdKSwg
Mik7CisgIH0gZWxzZSB7CisgICAgYlswXSA9IHZhZGRxX3MxNihhWzBdLCBhWzE1XSk7CisgICAg
YlsxXSA9IHZhZGRxX3MxNihhWzFdLCBhWzE0XSk7CisgICAgYlsyXSA9IHZhZGRxX3MxNihhWzJd
LCBhWzEzXSk7CisgICAgYlszXSA9IHZhZGRxX3MxNihhWzNdLCBhWzEyXSk7CisgICAgYls0XSA9
IHZhZGRxX3MxNihhWzRdLCBhWzExXSk7CisgICAgYls1XSA9IHZhZGRxX3MxNihhWzVdLCBhWzEw
XSk7CisgICAgYls2XSA9IHZhZGRxX3MxNihhWzZdLCBhWzldKTsKKyAgICBiWzddID0gdmFkZHFf
czE2KGFbN10sIGFbOF0pOworCisgICAgYls4XSA9IHZzdWJxX3MxNihhWzddLCBhWzhdKTsKKyAg
ICBiWzldID0gdnN1YnFfczE2KGFbNl0sIGFbOV0pOworICAgIGJbMTBdID0gdnN1YnFfczE2KGFb
NV0sIGFbMTBdKTsKKyAgICBiWzExXSA9IHZzdWJxX3MxNihhWzRdLCBhWzExXSk7CisgICAgYlsx
Ml0gPSB2c3VicV9zMTYoYVszXSwgYVsxMl0pOworICAgIGJbMTNdID0gdnN1YnFfczE2KGFbMl0s
IGFbMTNdKTsKKyAgICBiWzE0XSA9IHZzdWJxX3MxNihhWzFdLCBhWzE0XSk7CisgICAgYlsxNV0g
PSB2c3VicV9zMTYoYVswXSwgYVsxNV0pOworICB9Cit9CisKKy8vIFF1YXJ0ZXIgcm91bmQgYXQg
dGhlIGJlZ2lubmluZyBvZiB0aGUgc2Vjb25kIHBhc3MuIENhbid0IHVzZSB2cnNociAocm91bmRp
bmcpCisvLyBiZWNhdXNlIHRoaXMgb25seSBhZGRzIDEsIG5vdCAxIDw8IDIuCitzdGF0aWMgSU5M
SU5FIHZvaWQgcGFydGlhbF9yb3VuZF9zaGlmdChpbnQxNng4X3QgKmEgLypbMTZdKi8pIHsKKyAg
Y29uc3QgaW50MTZ4OF90IG9uZSA9IHZkdXBxX25fczE2KDEpOworICBhWzBdID0gdnNocnFfbl9z
MTYodmFkZHFfczE2KGFbMF0sIG9uZSksIDIpOworICBhWzFdID0gdnNocnFfbl9zMTYodmFkZHFf
czE2KGFbMV0sIG9uZSksIDIpOworICBhWzJdID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFbMl0s
IG9uZSksIDIpOworICBhWzNdID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFbM10sIG9uZSksIDIp
OworICBhWzRdID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFbNF0sIG9uZSksIDIpOworICBhWzVd
ID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFbNV0sIG9uZSksIDIpOworICBhWzZdID0gdnNocnFf
bl9zMTYodmFkZHFfczE2KGFbNl0sIG9uZSksIDIpOworICBhWzddID0gdnNocnFfbl9zMTYodmFk
ZHFfczE2KGFbN10sIG9uZSksIDIpOworICBhWzhdID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFb
OF0sIG9uZSksIDIpOworICBhWzldID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFbOV0sIG9uZSks
IDIpOworICBhWzEwXSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzEwXSwgb25lKSwgMik7Cisg
IGFbMTFdID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFbMTFdLCBvbmUpLCAyKTsKKyAgYVsxMl0g
PSB2c2hycV9uX3MxNih2YWRkcV9zMTYoYVsxMl0sIG9uZSksIDIpOworICBhWzEzXSA9IHZzaHJx
X25fczE2KHZhZGRxX3MxNihhWzEzXSwgb25lKSwgMik7CisgIGFbMTRdID0gdnNocnFfbl9zMTYo
dmFkZHFfczE2KGFbMTRdLCBvbmUpLCAyKTsKKyAgYVsxNV0gPSB2c2hycV9uX3MxNih2YWRkcV9z
MTYoYVsxNV0sIG9uZSksIDIpOworfQorCisvLyBmZGN0X3JvdW5kX3NoaWZ0KChhICsvLSBiKSAq
IGMpCitzdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X29uZV9jb2VmZihjb25zdCBpbnQxNng4
X3QgYSwgY29uc3QgaW50MTZ4OF90IGIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB0cmFuX2hpZ2hfdCBjLCBpbnQxNng4X3QgKmFkZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqc3ViKSB7CisgIGNvbnN0IGlu
dDMyeDRfdCBhMCA9IHZtdWxsX25fczE2KHZnZXRfbG93X3MxNihhKSwgYyk7CisgIGNvbnN0IGlu
dDMyeDRfdCBhMSA9IHZtdWxsX25fczE2KHZnZXRfaGlnaF9zMTYoYSksIGMpOworICBjb25zdCBp
bnQzMng0X3Qgc3VtMCA9IHZtbGFsX25fczE2KGEwLCB2Z2V0X2xvd19zMTYoYiksIGMpOworICBj
b25zdCBpbnQzMng0X3Qgc3VtMSA9IHZtbGFsX25fczE2KGExLCB2Z2V0X2hpZ2hfczE2KGIpLCBj
KTsKKyAgY29uc3QgaW50MzJ4NF90IGRpZmYwID0gdm1sc2xfbl9zMTYoYTAsIHZnZXRfbG93X3Mx
NihiKSwgYyk7CisgIGNvbnN0IGludDMyeDRfdCBkaWZmMSA9IHZtbHNsX25fczE2KGExLCB2Z2V0
X2hpZ2hfczE2KGIpLCBjKTsKKyAgY29uc3QgaW50MTZ4NF90IHJvdW5kZWQwID0gdnFyc2hybl9u
X3MzMihzdW0wLCAxNCk7CisgIGNvbnN0IGludDE2eDRfdCByb3VuZGVkMSA9IHZxcnNocm5fbl9z
MzIoc3VtMSwgMTQpOworICBjb25zdCBpbnQxNng0X3Qgcm91bmRlZDIgPSB2cXJzaHJuX25fczMy
KGRpZmYwLCAxNCk7CisgIGNvbnN0IGludDE2eDRfdCByb3VuZGVkMyA9IHZxcnNocm5fbl9zMzIo
ZGlmZjEsIDE0KTsKKyAgKmFkZCA9IHZjb21iaW5lX3MxNihyb3VuZGVkMCwgcm91bmRlZDEpOwor
ICAqc3ViID0gdmNvbWJpbmVfczE2KHJvdW5kZWQyLCByb3VuZGVkMyk7Cit9CisKKy8vIGZkY3Rf
cm91bmRfc2hpZnQoYSAqIGMwICsvLSBiICogYzEpCitzdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVy
Zmx5X3R3b19jb2VmZihjb25zdCBpbnQxNng4X3QgYSwgY29uc3QgaW50MTZ4OF90IGIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2NvZWZfdCBjMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5fY29lZl90
IGMxLCBpbnQxNng4X3QgKmFkZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDE2eDhfdCAqc3ViKSB7CisgIGNvbnN0IGludDMyeDRfdCBhMCA9IHZtdWxsX25fczE2
KHZnZXRfbG93X3MxNihhKSwgYzApOworICBjb25zdCBpbnQzMng0X3QgYTEgPSB2bXVsbF9uX3Mx
Nih2Z2V0X2hpZ2hfczE2KGEpLCBjMCk7CisgIGNvbnN0IGludDMyeDRfdCBhMiA9IHZtdWxsX25f
czE2KHZnZXRfbG93X3MxNihhKSwgYzEpOworICBjb25zdCBpbnQzMng0X3QgYTMgPSB2bXVsbF9u
X3MxNih2Z2V0X2hpZ2hfczE2KGEpLCBjMSk7CisgIGNvbnN0IGludDMyeDRfdCBzdW0wID0gdm1s
YWxfbl9zMTYoYTIsIHZnZXRfbG93X3MxNihiKSwgYzApOworICBjb25zdCBpbnQzMng0X3Qgc3Vt
MSA9IHZtbGFsX25fczE2KGEzLCB2Z2V0X2hpZ2hfczE2KGIpLCBjMCk7CisgIGNvbnN0IGludDMy
eDRfdCBkaWZmMCA9IHZtbHNsX25fczE2KGEwLCB2Z2V0X2xvd19zMTYoYiksIGMxKTsKKyAgY29u
c3QgaW50MzJ4NF90IGRpZmYxID0gdm1sc2xfbl9zMTYoYTEsIHZnZXRfaGlnaF9zMTYoYiksIGMx
KTsKKyAgY29uc3QgaW50MTZ4NF90IHJvdW5kZWQwID0gdnFyc2hybl9uX3MzMihzdW0wLCAxNCk7
CisgIGNvbnN0IGludDE2eDRfdCByb3VuZGVkMSA9IHZxcnNocm5fbl9zMzIoc3VtMSwgMTQpOwor
ICBjb25zdCBpbnQxNng0X3Qgcm91bmRlZDIgPSB2cXJzaHJuX25fczMyKGRpZmYwLCAxNCk7Cisg
IGNvbnN0IGludDE2eDRfdCByb3VuZGVkMyA9IHZxcnNocm5fbl9zMzIoZGlmZjEsIDE0KTsKKyAg
KmFkZCA9IHZjb21iaW5lX3MxNihyb3VuZGVkMCwgcm91bmRlZDEpOworICAqc3ViID0gdmNvbWJp
bmVfczE2KHJvdW5kZWQyLCByb3VuZGVkMyk7Cit9CisKKy8vIFRyYW5zcG9zZSA4eDggdG8gYSBu
ZXcgbG9jYXRpb24uIERvbid0IHVzZSB0cmFuc3Bvc2VfbmVvbi5oIGJlY2F1c2UgdGhvc2UKKy8v
IGFyZSBhbGwgaW4tcGxhY2UuCitzdGF0aWMgSU5MSU5FIHZvaWQgdHJhbnNwb3NlXzh4OChjb25z
dCBpbnQxNng4X3QgKmEgLypbOF0qLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludDE2eDhfdCAqYiAvKls4XSovKSB7CisgIC8vIFN3YXAgMTYgYml0IGVsZW1lbnRzLgorICBj
b25zdCBpbnQxNng4eDJfdCBjMCA9IHZ0cm5xX3MxNihhWzBdLCBhWzFdKTsKKyAgY29uc3QgaW50
MTZ4OHgyX3QgYzEgPSB2dHJucV9zMTYoYVsyXSwgYVszXSk7CisgIGNvbnN0IGludDE2eDh4Ml90
IGMyID0gdnRybnFfczE2KGFbNF0sIGFbNV0pOworICBjb25zdCBpbnQxNng4eDJfdCBjMyA9IHZ0
cm5xX3MxNihhWzZdLCBhWzddKTsKKworICAvLyBTd2FwIDMyIGJpdCBlbGVtZW50cy4KKyAgY29u
c3QgaW50MzJ4NHgyX3QgZDAgPSB2dHJucV9zMzIodnJlaW50ZXJwcmV0cV9zMzJfczE2KGMwLnZh
bFswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldHFf
czMyX3MxNihjMS52YWxbMF0pKTsKKyAgY29uc3QgaW50MzJ4NHgyX3QgZDEgPSB2dHJucV9zMzIo
dnJlaW50ZXJwcmV0cV9zMzJfczE2KGMwLnZhbFsxXSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZyZWludGVycHJldHFfczMyX3MxNihjMS52YWxbMV0pKTsKKyAgY29uc3Qg
aW50MzJ4NHgyX3QgZDIgPSB2dHJucV9zMzIodnJlaW50ZXJwcmV0cV9zMzJfczE2KGMyLnZhbFsw
XSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldHFfczMy
X3MxNihjMy52YWxbMF0pKTsKKyAgY29uc3QgaW50MzJ4NHgyX3QgZDMgPSB2dHJucV9zMzIodnJl
aW50ZXJwcmV0cV9zMzJfczE2KGMyLnZhbFsxXSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZyZWludGVycHJldHFfczMyX3MxNihjMy52YWxbMV0pKTsKKworICAvLyBTd2Fw
IDY0IGJpdCBlbGVtZW50cworICBjb25zdCBpbnQxNng4eDJfdCBlMCA9IHZweF92dHJucV9zNjRf
dG9fczE2KGQwLnZhbFswXSwgZDIudmFsWzBdKTsKKyAgY29uc3QgaW50MTZ4OHgyX3QgZTEgPSB2
cHhfdnRybnFfczY0X3RvX3MxNihkMS52YWxbMF0sIGQzLnZhbFswXSk7CisgIGNvbnN0IGludDE2
eDh4Ml90IGUyID0gdnB4X3Z0cm5xX3M2NF90b19zMTYoZDAudmFsWzFdLCBkMi52YWxbMV0pOwor
ICBjb25zdCBpbnQxNng4eDJfdCBlMyA9IHZweF92dHJucV9zNjRfdG9fczE2KGQxLnZhbFsxXSwg
ZDMudmFsWzFdKTsKKworICBiWzBdID0gZTAudmFsWzBdOworICBiWzFdID0gZTEudmFsWzBdOwor
ICBiWzJdID0gZTIudmFsWzBdOworICBiWzNdID0gZTMudmFsWzBdOworICBiWzRdID0gZTAudmFs
WzFdOworICBiWzVdID0gZTEudmFsWzFdOworICBiWzZdID0gZTIudmFsWzFdOworICBiWzddID0g
ZTMudmFsWzFdOworfQorCiAvLyBNYWluIGJvZHkgb2YgZmRjdDE2eDE2Lgotc3RhdGljIHZvaWQg
dnB4X2ZkY3Q4eDE2X2JvZHkoY29uc3QgaW50MTZ4OF90ICppbiAvKlsxNl0qLywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqb3V0IC8qWzE2XSovKSB7CitzdGF0aWMg
dm9pZCBkY3RfYm9keShjb25zdCBpbnQxNng4X3QgKmluIC8qWzE2XSovLCBpbnQxNng4X3QgKm91
dCAvKlsxNl0qLykgewogICBpbnQxNng4X3Qgc1s4XTsKICAgaW50MTZ4OF90IHhbNF07CiAgIGlu
dDE2eDhfdCBzdGVwWzhdOwpAQCAtNTUsMTcgKzI1MCwxNiBAQCBzdGF0aWMgdm9pZCB2cHhfZmRj
dDh4MTZfYm9keShjb25zdCBpbnQxNng4X3QgKmluIC8qWzE2XSovLAogCiAgIC8vIG91dFswXSA9
IGZkY3Rfcm91bmRfc2hpZnQoKHgwICsgeDEpICogY29zcGlfMTZfNjQpCiAgIC8vIG91dFs4XSA9
IGZkY3Rfcm91bmRfc2hpZnQoKHgwIC0geDEpICogY29zcGlfMTZfNjQpCi0gIGJ1dHRlcmZseV9v
bmVfY29lZmZfczE2X3MzMl9mYXN0X25hcnJvdyh4WzBdLCB4WzFdLCBjb3NwaV8xNl82NCwgJm91
dFswXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvdXRbOF0p
OwotICAvLyBvdXRbNF0gID0gZmRjdF9yb3VuZF9zaGlmdCh4MyAqIGNvc3BpXzhfNjQgICsgeDIg
KiBjb3NwaV8yNF82NCk7CisgIGJ1dHRlcmZseV9vbmVfY29lZmYoeFswXSwgeFsxXSwgY29zcGlf
MTZfNjQsICZvdXRbMF0sICZvdXRbOF0pOworICAvLyBvdXRbNF0gPSBmZGN0X3JvdW5kX3NoaWZ0
KHgzICogY29zcGlfOF82NCArIHgyICogY29zcGlfMjRfNjQpOwogICAvLyBvdXRbMTJdID0gZmRj
dF9yb3VuZF9zaGlmdCh4MyAqIGNvc3BpXzI0XzY0IC0geDIgKiBjb3NwaV84XzY0KTsKLSAgYnV0
dGVyZmx5X3R3b19jb2VmZih4WzNdLCB4WzJdLCBjb3NwaV84XzY0LCBjb3NwaV8yNF82NCwgJm91
dFs0XSwgJm91dFsxMl0pOworICBidXR0ZXJmbHlfdHdvX2NvZWZmKHhbM10sIHhbMl0sIGNvc3Bp
XzI0XzY0LCBjb3NwaV84XzY0LCAmb3V0WzRdLCAmb3V0WzEyXSk7CiAKICAgLy8gIFN0YWdlIDIK
ICAgLy8gUmUtdXNpbmcgc291cmNlIHM1L3M2CiAgIC8vIHM1ID0gZmRjdF9yb3VuZF9zaGlmdCgo
czYgLSBzNSkgKiBjb3NwaV8xNl82NCkKICAgLy8gczYgPSBmZGN0X3JvdW5kX3NoaWZ0KChzNiAr
IHM1KSAqIGNvc3BpXzE2XzY0KQotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9mYXN0KHNbNl0s
IHNbNV0sIGNvc3BpXzE2XzY0LCAmc1s2XSwgJnNbNV0pOworICBidXR0ZXJmbHlfb25lX2NvZWZm
KHNbNl0sIHNbNV0sIGNvc3BpXzE2XzY0LCAmc1s2XSwgJnNbNV0pOwogCiAgIC8vICBTdGFnZSAz
CiAgIHhbMF0gPSB2YWRkcV9zMTYoc1s0XSwgc1s1XSk7CkBAIC03NCwxMiArMjY4LDEyIEBAIHN0
YXRpYyB2b2lkIHZweF9mZGN0OHgxNl9ib2R5KGNvbnN0IGludDE2eDhfdCAqaW4gLypbMTZdKi8s
CiAgIHhbM10gPSB2YWRkcV9zMTYoc1s3XSwgc1s2XSk7CiAKICAgLy8gU3RhZ2UgNAotICAvLyBv
dXRbMl0gID0gZmRjdF9yb3VuZF9zaGlmdCh4MyAqIGNvc3BpXzRfNjQgICsgeDAgKiBjb3NwaV8y
OF82NCkKLSAgLy8gb3V0WzE0XSA9IGZkY3Rfcm91bmRfc2hpZnQoeDMgKiBjb3NwaV8yOF82NCAt
IHgwICogY29zcGlfNF82NCkKLSAgYnV0dGVyZmx5X3R3b19jb2VmZih4WzNdLCB4WzBdLCBjb3Nw
aV80XzY0LCBjb3NwaV8yOF82NCwgJm91dFsyXSwgJm91dFsxNF0pOwotICAvLyBvdXRbNl0gID0g
ZmRjdF9yb3VuZF9zaGlmdCh4MiAqIGNvc3BpXzIwXzY0ICsgeDEgKiBjb3NwaV8xMl82NCkKLSAg
Ly8gb3V0WzEwXSA9IGZkY3Rfcm91bmRfc2hpZnQoeDIgKiBjb3NwaV8xMl82NCAtIHgxICogY29z
cGlfMjBfNjQpCi0gIGJ1dHRlcmZseV90d29fY29lZmYoeFsyXSwgeFsxXSwgY29zcGlfMjBfNjQs
IGNvc3BpXzEyXzY0LCAmb3V0WzEwXSwgJm91dFs2XSk7CisgIC8vIG91dFsyXSA9IGZkY3Rfcm91
bmRfc2hpZnQoeDAgKiBjb3NwaV8yOF82NCArIHgzICogY29zcGlfNF82NCkKKyAgLy8gb3V0WzE0
XSA9IGZkY3Rfcm91bmRfc2hpZnQoeDMgKiBjb3NwaV8yOF82NCArIHgwICogLWNvc3BpXzRfNjQp
CisgIGJ1dHRlcmZseV90d29fY29lZmYoeFszXSwgeFswXSwgY29zcGlfMjhfNjQsIGNvc3BpXzRf
NjQsICZvdXRbMl0sICZvdXRbMTRdKTsKKyAgLy8gb3V0WzZdID0gZmRjdF9yb3VuZF9zaGlmdCh4
MSAqIGNvc3BpXzEyXzY0ICsgeDIgKiAgY29zcGlfMjBfNjQpCisgIC8vIG91dFsxMF0gPSBmZGN0
X3JvdW5kX3NoaWZ0KHgyICogY29zcGlfMTJfNjQgKyB4MSAqIC1jb3NwaV8yMF82NCkKKyAgYnV0
dGVyZmx5X3R3b19jb2VmZih4WzJdLCB4WzFdLCBjb3NwaV8xMl82NCwgY29zcGlfMjBfNjQsICZv
dXRbMTBdLCAmb3V0WzZdKTsKIAogICAvLyBzdGVwIDIKICAgLy8gRnJvbSBmd2RfdHhmbS5jOiBX
b3JrIG9uIHRoZSBuZXh0IGVpZ2h0IHZhbHVlczsgc3RlcDEgLT4gb2RkX3Jlc3VsdHMiCkBAIC05
MSw4ICsyODUsOCBAQCBzdGF0aWMgdm9pZCB2cHhfZmRjdDh4MTZfYm9keShjb25zdCBpbnQxNng4
X3QgKmluIC8qWzE2XSovLAogICAvLyBzdGVwMlszXSA9IGZkY3Rfcm91bmRfc2hpZnQoKHN0ZXAx
WzRdIC0gc3RlcDFbM10pICogY29zcGlfMTZfNjQpCiAgIC8vIHN0ZXAyWzRdID0gZmRjdF9yb3Vu
ZF9zaGlmdCgoc3RlcDFbNF0gKyBzdGVwMVszXSkgKiBjb3NwaV8xNl82NCkKICAgLy8gc3RlcDJb
NV0gPSBmZGN0X3JvdW5kX3NoaWZ0KChzdGVwMVs1XSArIHN0ZXAxWzJdKSAqIGNvc3BpXzE2XzY0
KQotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9mYXN0KGluWzEzXSwgaW5bMTBdLCBjb3NwaV8x
Nl82NCwgJnNbNV0sICZzWzJdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfZmFzdChpblsx
Ml0sIGluWzExXSwgY29zcGlfMTZfNjQsICZzWzRdLCAmc1szXSk7CisgIGJ1dHRlcmZseV9vbmVf
Y29lZmYoaW5bMTNdLCBpblsxMF0sIGNvc3BpXzE2XzY0LCAmc1s1XSwgJnNbMl0pOworICBidXR0
ZXJmbHlfb25lX2NvZWZmKGluWzEyXSwgaW5bMTFdLCBjb3NwaV8xNl82NCwgJnNbNF0sICZzWzNd
KTsKIAogICAvLyBzdGVwIDMKICAgc1swXSA9IHZhZGRxX3MxNihpbls4XSwgc1szXSk7CkBAIC0x
MDUsMTUgKzI5OSwxMyBAQCBzdGF0aWMgdm9pZCB2cHhfZmRjdDh4MTZfYm9keShjb25zdCBpbnQx
Nng4X3QgKmluIC8qWzE2XSovLAogICBzWzddID0gdmFkZHFfczE2KGluWzE1XSwgc1s0XSk7CiAK
ICAgLy8gc3RlcCA0Ci0gIC8vIHN0ZXAyWzZdID0gZmRjdF9yb3VuZF9zaGlmdChzdGVwM1s2XSAq
IGNvc3BpXzhfNjQgICsgc3RlcDNbMV0gKgotICAvLyBjb3NwaV8yNF82NCkgc3RlcDJbMV0gPSBm
ZGN0X3JvdW5kX3NoaWZ0KHN0ZXAzWzZdICogY29zcGlfMjRfNjQgLSBzdGVwM1sxXQotICAvLyAq
IGNvc3BpXzhfNjQpCi0gIGJ1dHRlcmZseV90d29fY29lZmYoc1s2XSwgc1sxXSwgY29zcGlfOF82
NCwgY29zcGlfMjRfNjQsICZzWzZdLCAmc1sxXSk7CisgIC8vIHN0ZXAyWzFdID0gZmRjdF9yb3Vu
ZF9zaGlmdChzdGVwM1sxXSAqLWNvc3BpXzhfNjQgKyBzdGVwM1s2XSAqIGNvc3BpXzI0XzY0KQor
ICAvLyBzdGVwMls2XSA9IGZkY3Rfcm91bmRfc2hpZnQoc3RlcDNbMV0gKiBjb3NwaV8yNF82NCAr
IHN0ZXAzWzZdICogY29zcGlfOF82NCkKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihzWzZdLCBzWzFd
LCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgJnNbNl0sICZzWzFdKTsKIAogICAvLyBzdGVwMlsy
XSA9IGZkY3Rfcm91bmRfc2hpZnQoc3RlcDNbMl0gKiBjb3NwaV8yNF82NCArIHN0ZXAzWzVdICog
Y29zcGlfOF82NCkKLSAgLy8gc3RlcDJbNV0gPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAzWzJdICog
Y29zcGlfOF82NCAgLSBzdGVwM1s1XSAqCi0gIC8vIGNvc3BpXzI0XzY0KQotICBidXR0ZXJmbHlf
dHdvX2NvZWZmKHhbMF0sIHhbM10sIGNvc3BpXzI0XzY0LCBjb3NwaV84XzY0LCAmc1syXSwgJnNb
NV0pOworICAvLyBzdGVwMls1XSA9IGZkY3Rfcm91bmRfc2hpZnQoc3RlcDNbMl0gKiBjb3NwaV84
XzY0IC0gc3RlcDNbNV0gKiBjb3NwaV8yNF82NCkKKyAgYnV0dGVyZmx5X3R3b19jb2VmZih4WzBd
LCB4WzNdLCBjb3NwaV84XzY0LCBjb3NwaV8yNF82NCwgJnNbMl0sICZzWzVdKTsKIAogICAvLyBz
dGVwIDUKICAgc3RlcFswXSA9IHZhZGRxX3MxNihzWzBdLCBzWzFdKTsKQEAgLTEyNiwyMyArMzE4
LDIyIEBAIHN0YXRpYyB2b2lkIHZweF9mZGN0OHgxNl9ib2R5KGNvbnN0IGludDE2eDhfdCAqaW4g
LypbMTZdKi8sCiAgIHN0ZXBbN10gPSB2YWRkcV9zMTYoc1s3XSwgc1s2XSk7CiAKICAgLy8gc3Rl
cCA2Ci0gIC8vIG91dFs5XSA9IGZkY3Rfcm91bmRfc2hpZnQoc3RlcDFbNl0gKiBjb3NwaV8xOF82
NCArIHN0ZXAxWzFdICogY29zcGlfMTRfNjQpCi0gIC8vIG91dFs3XSA9IGZkY3Rfcm91bmRfc2hp
ZnQoc3RlcDFbNl0gKiBjb3NwaV8xNF82NCAtIHN0ZXAxWzFdICogY29zcGlfMThfNjQpCi0gIGJ1
dHRlcmZseV90d29fY29lZmYoc3RlcFs2XSwgc3RlcFsxXSwgY29zcGlfMThfNjQsIGNvc3BpXzE0
XzY0LCAmb3V0WzldLAorICAvLyBvdXRbMV0gPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAxWzBdICog
Y29zcGlfMzBfNjQgKyBzdGVwMVs3XSAqIGNvc3BpXzJfNjQpCisgIC8vIG91dFs5XSA9IGZkY3Rf
cm91bmRfc2hpZnQoc3RlcDFbMV0gKiBjb3NwaV8xNF82NCArIHN0ZXAxWzZdICogY29zcGlfMThf
NjQpCisgIC8vIG91dFs1XSA9IGZkY3Rfcm91bmRfc2hpZnQoc3RlcDFbMl0gKiBjb3NwaV8yMl82
NCArIHN0ZXAxWzVdICogY29zcGlfMTBfNjQpCisgIC8vIG91dFsxM10gPSBmZGN0X3JvdW5kX3No
aWZ0KHN0ZXAxWzNdICogY29zcGlfNl82NCArIHN0ZXAxWzRdICogY29zcGlfMjZfNjQpCisgIC8v
IG91dFszXSA9IGZkY3Rfcm91bmRfc2hpZnQoc3RlcDFbM10gKiAtY29zcGlfMjZfNjQgKyBzdGVw
MVs0XSAqIGNvc3BpXzZfNjQpCisgIC8vIG91dFsxMV0gPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAx
WzJdICogLWNvc3BpXzEwXzY0ICsgc3RlcDFbNV0gKgorICAvLyBjb3NwaV8yMl82NCkKKyAgLy8g
b3V0WzddID0gZmRjdF9yb3VuZF9zaGlmdChzdGVwMVsxXSAqIC1jb3NwaV8xOF82NCArIHN0ZXAx
WzZdICogY29zcGlfMTRfNjQpCisgIC8vIG91dFsxNV0gPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAx
WzBdICogLWNvc3BpXzJfNjQgKyBzdGVwMVs3XSAqIGNvc3BpXzMwXzY0KQorICBidXR0ZXJmbHlf
dHdvX2NvZWZmKHN0ZXBbNl0sIHN0ZXBbMV0sIGNvc3BpXzE0XzY0LCBjb3NwaV8xOF82NCwgJm91
dFs5XSwKICAgICAgICAgICAgICAgICAgICAgICAmb3V0WzddKTsKLSAgLy8gb3V0WzFdICA9IGZk
Y3Rfcm91bmRfc2hpZnQoc3RlcDFbN10gKiBjb3NwaV8yXzY0ICArIHN0ZXAxWzBdICogY29zcGlf
MzBfNjQpCi0gIC8vIG91dFsxNV0gPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAxWzddICogY29zcGlf
MzBfNjQgLSBzdGVwMVswXSAqIGNvc3BpXzJfNjQpCi0gIGJ1dHRlcmZseV90d29fY29lZmYoc3Rl
cFs3XSwgc3RlcFswXSwgY29zcGlfMl82NCwgY29zcGlfMzBfNjQsICZvdXRbMV0sCisgIGJ1dHRl
cmZseV90d29fY29lZmYoc3RlcFs3XSwgc3RlcFswXSwgY29zcGlfMzBfNjQsIGNvc3BpXzJfNjQs
ICZvdXRbMV0sCiAgICAgICAgICAgICAgICAgICAgICAgJm91dFsxNV0pOwotCi0gIC8vIG91dFsx
M10gPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAxWzRdICogY29zcGlfMjZfNjQgKyBzdGVwMVszXSAq
IGNvc3BpXzZfNjQpCi0gIC8vIG91dFszXSAgPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAxWzRdICog
Y29zcGlfNl82NCAgLSBzdGVwMVszXSAqIGNvc3BpXzI2XzY0KQotICBidXR0ZXJmbHlfdHdvX2Nv
ZWZmKHN0ZXBbNF0sIHN0ZXBbM10sIGNvc3BpXzI2XzY0LCBjb3NwaV82XzY0LCAmb3V0WzEzXSwK
KyAgYnV0dGVyZmx5X3R3b19jb2VmZihzdGVwWzRdLCBzdGVwWzNdLCBjb3NwaV82XzY0LCBjb3Nw
aV8yNl82NCwgJm91dFsxM10sCiAgICAgICAgICAgICAgICAgICAgICAgJm91dFszXSk7Ci0KLSAg
Ly8gb3V0WzVdICA9IGZkY3Rfcm91bmRfc2hpZnQoc3RlcDFbNV0gKiBjb3NwaV8xMF82NCArIHN0
ZXAxWzJdICogY29zcGlfMjJfNjQpCi0gIC8vIG91dFsxMV0gPSBmZGN0X3JvdW5kX3NoaWZ0KHN0
ZXAxWzVdICogY29zcGlfMjJfNjQgLSBzdGVwMVsyXSAqIGNvc3BpXzEwXzY0KQotICBidXR0ZXJm
bHlfdHdvX2NvZWZmKHN0ZXBbNV0sIHN0ZXBbMl0sIGNvc3BpXzEwXzY0LCBjb3NwaV8yMl82NCwg
Jm91dFs1XSwKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihzdGVwWzVdLCBzdGVwWzJdLCBjb3NwaV8y
Ml82NCwgY29zcGlfMTBfNjQsICZvdXRbNV0sCiAgICAgICAgICAgICAgICAgICAgICAgJm91dFsx
MV0pOwogfQogCkBAIC0xNTMsMjMgKzM0NCwyMiBAQCB2b2lkIHZweF9mZGN0MTZ4MTZfbmVvbihj
b25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAqb3V0cHV0LCBpbnQgc3RyaWRlKSB7CiAg
IGludDE2eDhfdCB0ZW1wM1sxNl07CiAKICAgLy8gTGVmdCBoYWxmLgotICBsb2FkX2Nyb3NzKGlu
cHV0LCBzdHJpZGUsIHRlbXAwKTsKLSAgc2NhbGVfaW5wdXQodGVtcDAsIHRlbXAxKTsKLSAgdnB4
X2ZkY3Q4eDE2X2JvZHkodGVtcDEsIHRlbXAwKTsKKyAgbG9hZChpbnB1dCwgc3RyaWRlLCB0ZW1w
MCk7CisgIGNyb3NzX2lucHV0KHRlbXAwLCB0ZW1wMSwgMCk7CisgIGRjdF9ib2R5KHRlbXAxLCB0
ZW1wMCk7CiAKICAgLy8gUmlnaHQgaGFsZi4KLSAgbG9hZF9jcm9zcyhpbnB1dCArIDgsIHN0cmlk
ZSwgdGVtcDEpOwotICBzY2FsZV9pbnB1dCh0ZW1wMSwgdGVtcDIpOwotICB2cHhfZmRjdDh4MTZf
Ym9keSh0ZW1wMiwgdGVtcDEpOworICBsb2FkKGlucHV0ICsgOCwgc3RyaWRlLCB0ZW1wMSk7Cisg
IGNyb3NzX2lucHV0KHRlbXAxLCB0ZW1wMiwgMCk7CisgIGRjdF9ib2R5KHRlbXAyLCB0ZW1wMSk7
CiAKICAgLy8gVHJhbnNwb3NlIHRvcCBsZWZ0IGFuZCB0b3AgcmlnaHQgcXVhcnRlcnMgaW50byBv
bmUgY29udGlndW91cyBsb2NhdGlvbiB0bwogICAvLyBwcm9jZXNzIHRvIHRoZSB0b3AgaGFsZi4K
LQotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAwWzBdLCAmdGVtcDJbMF0pOwotICB0cmFuc3Bv
c2VfczE2Xzh4OHEoJnRlbXAxWzBdLCAmdGVtcDJbOF0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1w
MFswXSwgJnRlbXAyWzBdKTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDFbMF0sICZ0ZW1wMls4XSk7
CiAgIHBhcnRpYWxfcm91bmRfc2hpZnQodGVtcDIpOwotICBjcm9zc19pbnB1dCh0ZW1wMiwgdGVt
cDMpOwotICB2cHhfZmRjdDh4MTZfYm9keSh0ZW1wMywgdGVtcDIpOworICBjcm9zc19pbnB1dCh0
ZW1wMiwgdGVtcDMsIDEpOworICBkY3RfYm9keSh0ZW1wMywgdGVtcDIpOwogICB0cmFuc3Bvc2Vf
czE2Xzh4OCgmdGVtcDJbMF0sICZ0ZW1wMlsxXSwgJnRlbXAyWzJdLCAmdGVtcDJbM10sICZ0ZW1w
Mls0XSwKICAgICAgICAgICAgICAgICAgICAgJnRlbXAyWzVdLCAmdGVtcDJbNl0sICZ0ZW1wMls3
XSk7CiAgIHRyYW5zcG9zZV9zMTZfOHg4KCZ0ZW1wMls4XSwgJnRlbXAyWzldLCAmdGVtcDJbMTBd
LCAmdGVtcDJbMTFdLCAmdGVtcDJbMTJdLApAQCAtMTgwLDEzICszNzAsMTIgQEAgdm9pZCB2cHhf
ZmRjdDE2eDE2X25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwg
aW50IHN0cmlkZSkgewogCiAgIC8vIFRyYW5zcG9zZSBib3R0b20gbGVmdCBhbmQgYm90dG9tIHJp
Z2h0IHF1YXJ0ZXJzIGludG8gb25lIGNvbnRpZ3VvdXMKICAgLy8gbG9jYXRpb24gdG8gcHJvY2Vz
cyB0byB0aGUgYm90dG9tIGhhbGYuCi0gIHRyYW5zcG9zZV9zMTZfOHg4cSgmdGVtcDBbOF0sICZ0
ZW1wMVswXSk7Ci0KKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDBbOF0sICZ0ZW1wMVswXSk7CiAgIHRy
YW5zcG9zZV9zMTZfOHg4KCZ0ZW1wMVs4XSwgJnRlbXAxWzldLCAmdGVtcDFbMTBdLCAmdGVtcDFb
MTFdLCAmdGVtcDFbMTJdLAogICAgICAgICAgICAgICAgICAgICAmdGVtcDFbMTNdLCAmdGVtcDFb
MTRdLCAmdGVtcDFbMTVdKTsKICAgcGFydGlhbF9yb3VuZF9zaGlmdCh0ZW1wMSk7Ci0gIGNyb3Nz
X2lucHV0KHRlbXAxLCB0ZW1wMCk7Ci0gIHZweF9mZGN0OHgxNl9ib2R5KHRlbXAwLCB0ZW1wMSk7
CisgIGNyb3NzX2lucHV0KHRlbXAxLCB0ZW1wMCwgMSk7CisgIGRjdF9ib2R5KHRlbXAwLCB0ZW1w
MSk7CiAgIHRyYW5zcG9zZV9zMTZfOHg4KCZ0ZW1wMVswXSwgJnRlbXAxWzFdLCAmdGVtcDFbMl0s
ICZ0ZW1wMVszXSwgJnRlbXAxWzRdLAogICAgICAgICAgICAgICAgICAgICAmdGVtcDFbNV0sICZ0
ZW1wMVs2XSwgJnRlbXAxWzddKTsKICAgdHJhbnNwb3NlX3MxNl84eDgoJnRlbXAxWzhdLCAmdGVt
cDFbOV0sICZ0ZW1wMVsxMF0sICZ0ZW1wMVsxMV0sICZ0ZW1wMVsxMl0sCkBAIC0xOTQsMjQ2ICsz
ODMsNSBAQCB2b2lkIHZweF9mZGN0MTZ4MTZfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJh
bl9sb3dfdCAqb3V0cHV0LCBpbnQgc3RyaWRlKSB7CiAgIHN0b3JlKG91dHB1dCwgdGVtcDEpOwog
ICBzdG9yZShvdXRwdXQgKyA4LCB0ZW1wMSArIDgpOwogfQotCi0jaWYgQ09ORklHX1ZQOV9ISUdI
QklUREVQVEgKLQotLy8gTWFpbiBib2R5IG9mIGZkY3Q4eDE2IGNvbHVtbgotc3RhdGljIHZvaWQg
dnB4X2hpZ2hiZF9mZGN0OHgxNl9ib2R5KGludDMyeDRfdCAqbGVmdCAvKlsxNl0qLywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKnJpZ2h0IC8qIFsxNl0g
Ki8pIHsKLSAgaW50MzJ4NF90IHNsWzhdOwotICBpbnQzMng0X3Qgc3JbOF07Ci0gIGludDMyeDRf
dCB4bFs0XTsKLSAgaW50MzJ4NF90IHhyWzRdOwotICBpbnQzMng0X3QgaW5sWzhdOwotICBpbnQz
Mng0X3QgaW5yWzhdOwotICBpbnQzMng0X3Qgc3RlcGxbOF07Ci0gIGludDMyeDRfdCBzdGVwcls4
XTsKLQotICAvLyBzdGFnZSAxCi0gIC8vIEZyb20gZndkX3R4Zm0uYzogV29yayBvbiB0aGUgZmly
c3QgZWlnaHQgdmFsdWVzOyBmZGN0OChpbnB1dCwKLSAgLy8gZXZlbl9yZXN1bHRzKTsiCi0gIHNs
WzBdID0gdmFkZHFfczMyKGxlZnRbMF0sIGxlZnRbN10pOwotICBzclswXSA9IHZhZGRxX3MzMihy
aWdodFswXSwgcmlnaHRbN10pOwotICBzbFsxXSA9IHZhZGRxX3MzMihsZWZ0WzFdLCBsZWZ0WzZd
KTsKLSAgc3JbMV0gPSB2YWRkcV9zMzIocmlnaHRbMV0sIHJpZ2h0WzZdKTsKLSAgc2xbMl0gPSB2
YWRkcV9zMzIobGVmdFsyXSwgbGVmdFs1XSk7Ci0gIHNyWzJdID0gdmFkZHFfczMyKHJpZ2h0WzJd
LCByaWdodFs1XSk7Ci0gIHNsWzNdID0gdmFkZHFfczMyKGxlZnRbM10sIGxlZnRbNF0pOwotICBz
clszXSA9IHZhZGRxX3MzMihyaWdodFszXSwgcmlnaHRbNF0pOwotICBzbFs0XSA9IHZzdWJxX3Mz
MihsZWZ0WzNdLCBsZWZ0WzRdKTsKLSAgc3JbNF0gPSB2c3VicV9zMzIocmlnaHRbM10sIHJpZ2h0
WzRdKTsKLSAgc2xbNV0gPSB2c3VicV9zMzIobGVmdFsyXSwgbGVmdFs1XSk7Ci0gIHNyWzVdID0g
dnN1YnFfczMyKHJpZ2h0WzJdLCByaWdodFs1XSk7Ci0gIHNsWzZdID0gdnN1YnFfczMyKGxlZnRb
MV0sIGxlZnRbNl0pOwotICBzcls2XSA9IHZzdWJxX3MzMihyaWdodFsxXSwgcmlnaHRbNl0pOwot
ICBzbFs3XSA9IHZzdWJxX3MzMihsZWZ0WzBdLCBsZWZ0WzddKTsKLSAgc3JbN10gPSB2c3VicV9z
MzIocmlnaHRbMF0sIHJpZ2h0WzddKTsKLQotICAvLyBDb3B5IHZhbHVlcyA4LTE1IGFzIHdlJ3Jl
IHN0b3JpbmcgaW4tcGxhY2UKLSAgaW5sWzBdID0gbGVmdFs4XTsKLSAgaW5yWzBdID0gcmlnaHRb
OF07Ci0gIGlubFsxXSA9IGxlZnRbOV07Ci0gIGluclsxXSA9IHJpZ2h0WzldOwotICBpbmxbMl0g
PSBsZWZ0WzEwXTsKLSAgaW5yWzJdID0gcmlnaHRbMTBdOwotICBpbmxbM10gPSBsZWZ0WzExXTsK
LSAgaW5yWzNdID0gcmlnaHRbMTFdOwotICBpbmxbNF0gPSBsZWZ0WzEyXTsKLSAgaW5yWzRdID0g
cmlnaHRbMTJdOwotICBpbmxbNV0gPSBsZWZ0WzEzXTsKLSAgaW5yWzVdID0gcmlnaHRbMTNdOwot
ICBpbmxbNl0gPSBsZWZ0WzE0XTsKLSAgaW5yWzZdID0gcmlnaHRbMTRdOwotICBpbmxbN10gPSBs
ZWZ0WzE1XTsKLSAgaW5yWzddID0gcmlnaHRbMTVdOwotCi0gIC8vIGZkY3Q0KHN0ZXAsIHN0ZXAp
OwotICB4bFswXSA9IHZhZGRxX3MzMihzbFswXSwgc2xbM10pOwotICB4clswXSA9IHZhZGRxX3Mz
MihzclswXSwgc3JbM10pOwotICB4bFsxXSA9IHZhZGRxX3MzMihzbFsxXSwgc2xbMl0pOwotICB4
clsxXSA9IHZhZGRxX3MzMihzclsxXSwgc3JbMl0pOwotICB4bFsyXSA9IHZzdWJxX3MzMihzbFsx
XSwgc2xbMl0pOwotICB4clsyXSA9IHZzdWJxX3MzMihzclsxXSwgc3JbMl0pOwotICB4bFszXSA9
IHZzdWJxX3MzMihzbFswXSwgc2xbM10pOwotICB4clszXSA9IHZzdWJxX3MzMihzclswXSwgc3Jb
M10pOwotCi0gIC8vIG91dFswXSA9IGZkY3Rfcm91bmRfc2hpZnQoKHgwICsgeDEpICogY29zcGlf
MTZfNjQpCi0gIC8vIG91dFs4XSA9IGZkY3Rfcm91bmRfc2hpZnQoKHgwIC0geDEpICogY29zcGlf
MTZfNjQpCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX2Zhc3QoeGxbMF0sIHhyWzBdLCB4bFsx
XSwgeHJbMV0sIGNvc3BpXzE2XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZs
ZWZ0WzBdLCAmcmlnaHRbMF0sICZsZWZ0WzhdLCAmcmlnaHRbOF0pOwotCi0gIC8vIG91dFs0XSAg
PSBmZGN0X3JvdW5kX3NoaWZ0KHgzICogY29zcGlfOF82NCAgKyB4MiAqIGNvc3BpXzI0XzY0KTsK
LSAgLy8gb3V0WzEyXSA9IGZkY3Rfcm91bmRfc2hpZnQoeDMgKiBjb3NwaV8yNF82NCAtIHgyICog
Y29zcGlfOF82NCk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coeGxbM10s
IHhyWzNdLCB4bFsyXSwgeHJbMl0sIGNvc3BpXzhfNjQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29zcGlfMjRfNjQsICZsZWZ0WzRdLCAmcmlnaHRbNF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxlZnRbMTJdLCAmcmlnaHRbMTJdKTsKLQot
ICAvLyAgU3RhZ2UgMgotICAvLyBSZS11c2luZyBzb3VyY2UgczUvczYKLSAgLy8gczUgPSBmZGN0
X3JvdW5kX3NoaWZ0KChzNiAtIHM1KSAqIGNvc3BpXzE2XzY0KQotICAvLyBzNiA9IGZkY3Rfcm91
bmRfc2hpZnQoKHM2ICsgczUpICogY29zcGlfMTZfNjQpCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZf
czMyX2Zhc3Qoc2xbNl0sIHNyWzZdLCBzbFs1XSwgc3JbNV0sIGNvc3BpXzE2XzY0LCAmc2xbNl0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNyWzZdLCAmc2xbNV0sICZzcls1XSk7
Ci0KLSAgLy8gIFN0YWdlIDMKLSAgeGxbMF0gPSB2YWRkcV9zMzIoc2xbNF0sIHNsWzVdKTsKLSAg
eHJbMF0gPSB2YWRkcV9zMzIoc3JbNF0sIHNyWzVdKTsKLSAgeGxbMV0gPSB2c3VicV9zMzIoc2xb
NF0sIHNsWzVdKTsKLSAgeHJbMV0gPSB2c3VicV9zMzIoc3JbNF0sIHNyWzVdKTsKLSAgeGxbMl0g
PSB2c3VicV9zMzIoc2xbN10sIHNsWzZdKTsKLSAgeHJbMl0gPSB2c3VicV9zMzIoc3JbN10sIHNy
WzZdKTsKLSAgeGxbM10gPSB2YWRkcV9zMzIoc2xbN10sIHNsWzZdKTsKLSAgeHJbM10gPSB2YWRk
cV9zMzIoc3JbN10sIHNyWzZdKTsKLQotICAvLyBTdGFnZSA0Ci0gIC8vIG91dFsyXSAgPSBmZGN0
X3JvdW5kX3NoaWZ0KHgzICogY29zcGlfNF82NCAgKyB4MCAqIGNvc3BpXzI4XzY0KQotICAvLyBv
dXRbMTRdID0gZmRjdF9yb3VuZF9zaGlmdCh4MyAqIGNvc3BpXzI4XzY0IC0geDAgKiBjb3NwaV80
XzY0KQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KHhsWzNdLCB4clszXSwg
eGxbMF0sIHhyWzBdLCBjb3NwaV80XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvc3BpXzI4XzY0LCAmbGVmdFsyXSwgJnJpZ2h0WzJdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZsZWZ0WzE0XSwgJnJpZ2h0WzE0XSk7Ci0gIC8vIG91dFs2
XSAgPSBmZGN0X3JvdW5kX3NoaWZ0KHgyICogY29zcGlfMjBfNjQgKyB4MSAqIGNvc3BpXzEyXzY0
KQotICAvLyBvdXRbMTBdID0gZmRjdF9yb3VuZF9zaGlmdCh4MiAqIGNvc3BpXzEyXzY0IC0geDEg
KiBjb3NwaV8yMF82NCkKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyh4bFsy
XSwgeHJbMl0sIHhsWzFdLCB4clsxXSwgY29zcGlfMjBfNjQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29zcGlfMTJfNjQsICZsZWZ0WzEwXSwgJnJpZ2h0WzEwXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbGVmdFs2XSwgJnJpZ2h0WzZdKTsK
LQotICAvLyBzdGVwIDIKLSAgLy8gRnJvbSBmd2RfdHhmbS5jOiBXb3JrIG9uIHRoZSBuZXh0IGVp
Z2h0IHZhbHVlczsgc3RlcDEgLT4gb2RkX3Jlc3VsdHMiCi0gIC8vIFRoYXQgZmlsZSBkaXN0aW5n
dWlzaGVkIGJldHdlZW4gImluX2hpZ2giIGFuZCAic3RlcDEiIGJ1dCB0aGUgb25seQotICAvLyBk
aWZmZXJlbmNlIGlzIHRoYXQgImluX2hpZ2giIGlzIHRoZSBmaXJzdCA4IHZhbHVlcyBhbmQgInN0
ZXAgMSIgaXMgdGhlCi0gIC8vIHNlY29uZC4gSGVyZSwgc2luY2UgdGhleSBhcmUgYWxsIGluIG9u
ZSBhcnJheSwgInN0ZXAxIiB2YWx1ZXMgYXJlICs9IDguCi0KLSAgLy8gc3RlcDJbMl0gPSBmZGN0
X3JvdW5kX3NoaWZ0KChzdGVwMVs1XSAtIHN0ZXAxWzJdKSAqIGNvc3BpXzE2XzY0KQotICAvLyBz
dGVwMlszXSA9IGZkY3Rfcm91bmRfc2hpZnQoKHN0ZXAxWzRdIC0gc3RlcDFbM10pICogY29zcGlf
MTZfNjQpCi0gIC8vIHN0ZXAyWzRdID0gZmRjdF9yb3VuZF9zaGlmdCgoc3RlcDFbNF0gKyBzdGVw
MVszXSkgKiBjb3NwaV8xNl82NCkKLSAgLy8gc3RlcDJbNV0gPSBmZGN0X3JvdW5kX3NoaWZ0KChz
dGVwMVs1XSArIHN0ZXAxWzJdKSAqIGNvc3BpXzE2XzY0KQotICBidXR0ZXJmbHlfb25lX2NvZWZm
X3MzMl9mYXN0KGlubFs1XSwgaW5yWzVdLCBpbmxbMl0sIGluclsyXSwgY29zcGlfMTZfNjQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNsWzVdLCAmc3JbNV0sICZzbFsyXSwgJnNy
WzJdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChpbmxbNF0sIGlucls0XSwgaW5s
WzNdLCBpbnJbM10sIGNvc3BpXzE2XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZzbFs0XSwgJnNyWzRdLCAmc2xbM10sICZzclszXSk7Ci0KLSAgLy8gc3RlcCAzCi0gIHNsWzBd
ID0gdmFkZHFfczMyKGlubFswXSwgc2xbM10pOwotICBzclswXSA9IHZhZGRxX3MzMihpbnJbMF0s
IHNyWzNdKTsKLSAgc2xbMV0gPSB2YWRkcV9zMzIoaW5sWzFdLCBzbFsyXSk7Ci0gIHNyWzFdID0g
dmFkZHFfczMyKGluclsxXSwgc3JbMl0pOwotICB4bFswXSA9IHZzdWJxX3MzMihpbmxbMV0sIHNs
WzJdKTsKLSAgeHJbMF0gPSB2c3VicV9zMzIoaW5yWzFdLCBzclsyXSk7Ci0gIHhsWzFdID0gdnN1
YnFfczMyKGlubFswXSwgc2xbM10pOwotICB4clsxXSA9IHZzdWJxX3MzMihpbnJbMF0sIHNyWzNd
KTsKLSAgeGxbMl0gPSB2c3VicV9zMzIoaW5sWzddLCBzbFs0XSk7Ci0gIHhyWzJdID0gdnN1YnFf
czMyKGlucls3XSwgc3JbNF0pOwotICB4bFszXSA9IHZzdWJxX3MzMihpbmxbNl0sIHNsWzVdKTsK
LSAgeHJbM10gPSB2c3VicV9zMzIoaW5yWzZdLCBzcls1XSk7Ci0gIHNsWzZdID0gdmFkZHFfczMy
KGlubFs2XSwgc2xbNV0pOwotICBzcls2XSA9IHZhZGRxX3MzMihpbnJbNl0sIHNyWzVdKTsKLSAg
c2xbN10gPSB2YWRkcV9zMzIoaW5sWzddLCBzbFs0XSk7Ci0gIHNyWzddID0gdmFkZHFfczMyKGlu
cls3XSwgc3JbNF0pOwotCi0gIC8vIHN0ZXAgNAotICAvLyBzdGVwMls2XSA9IGZkY3Rfcm91bmRf
c2hpZnQoc3RlcDNbNl0gKiBjb3NwaV84XzY0ICArIHN0ZXAzWzFdICoKLSAgLy8gY29zcGlfMjRf
NjQpIHN0ZXAyWzFdID0gZmRjdF9yb3VuZF9zaGlmdChzdGVwM1s2XSAqIGNvc3BpXzI0XzY0IC0g
c3RlcDNbMV0KLSAgLy8gKiBjb3NwaV84XzY0KQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9z
NjRfbmFycm93KHNsWzZdLCBzcls2XSwgc2xbMV0sIHNyWzFdLCBjb3NwaV84XzY0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI0XzY0LCAmc2xbNl0sICZzcls2
XSwgJnNsWzFdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzclsxXSk7
Ci0gIC8vIHN0ZXAyWzJdID0gZmRjdF9yb3VuZF9zaGlmdChzdGVwM1syXSAqIGNvc3BpXzI0XzY0
ICsgc3RlcDNbNV0gKiBjb3NwaV84XzY0KQotICAvLyBzdGVwMls1XSA9IGZkY3Rfcm91bmRfc2hp
ZnQoc3RlcDNbMl0gKiBjb3NwaV84XzY0ICAtIHN0ZXAzWzVdICoKLSAgLy8gY29zcGlfMjRfNjQp
Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coeGxbMF0sIHhyWzBdLCB4bFsz
XSwgeHJbM10sIGNvc3BpXzI0XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvc3BpXzhfNjQsICZzbFsyXSwgJnNyWzJdLCAmc2xbNV0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJnNyWzVdKTsKLQotICAvLyBzdGVwIDUKLSAgc3RlcGxbMF0g
PSB2YWRkcV9zMzIoc2xbMF0sIHNsWzFdKTsKLSAgc3RlcHJbMF0gPSB2YWRkcV9zMzIoc3JbMF0s
IHNyWzFdKTsKLSAgc3RlcGxbMV0gPSB2c3VicV9zMzIoc2xbMF0sIHNsWzFdKTsKLSAgc3RlcHJb
MV0gPSB2c3VicV9zMzIoc3JbMF0sIHNyWzFdKTsKLSAgc3RlcGxbMl0gPSB2YWRkcV9zMzIoeGxb
MV0sIHNsWzJdKTsKLSAgc3RlcHJbMl0gPSB2YWRkcV9zMzIoeHJbMV0sIHNyWzJdKTsKLSAgc3Rl
cGxbM10gPSB2c3VicV9zMzIoeGxbMV0sIHNsWzJdKTsKLSAgc3RlcHJbM10gPSB2c3VicV9zMzIo
eHJbMV0sIHNyWzJdKTsKLSAgc3RlcGxbNF0gPSB2c3VicV9zMzIoeGxbMl0sIHNsWzVdKTsKLSAg
c3RlcHJbNF0gPSB2c3VicV9zMzIoeHJbMl0sIHNyWzVdKTsKLSAgc3RlcGxbNV0gPSB2YWRkcV9z
MzIoeGxbMl0sIHNsWzVdKTsKLSAgc3RlcHJbNV0gPSB2YWRkcV9zMzIoeHJbMl0sIHNyWzVdKTsK
LSAgc3RlcGxbNl0gPSB2c3VicV9zMzIoc2xbN10sIHNsWzZdKTsKLSAgc3RlcHJbNl0gPSB2c3Vi
cV9zMzIoc3JbN10sIHNyWzZdKTsKLSAgc3RlcGxbN10gPSB2YWRkcV9zMzIoc2xbN10sIHNsWzZd
KTsKLSAgc3RlcHJbN10gPSB2YWRkcV9zMzIoc3JbN10sIHNyWzZdKTsKLQotICAvLyBzdGVwIDYK
LSAgLy8gb3V0WzldID0gZmRjdF9yb3VuZF9zaGlmdChzdGVwMVs2XSAqIGNvc3BpXzE4XzY0ICsg
c3RlcDFbMV0gKiBjb3NwaV8xNF82NCkKLSAgLy8gb3V0WzddID0gZmRjdF9yb3VuZF9zaGlmdChz
dGVwMVs2XSAqIGNvc3BpXzE0XzY0IC0gc3RlcDFbMV0gKiBjb3NwaV8xOF82NCkKLSAgYnV0dGVy
Zmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhzdGVwbFs2XSwgc3RlcHJbNl0sIHN0ZXBsWzFd
LCBzdGVwclsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8x
OF82NCwgY29zcGlfMTRfNjQsICZsZWZ0WzldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZyaWdodFs5XSwgJmxlZnRbN10sICZyaWdodFs3XSk7Ci0gIC8vIG91dFsxXSAg
PSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAxWzddICogY29zcGlfMl82NCAgKyBzdGVwMVswXSAqIGNv
c3BpXzMwXzY0KQotICAvLyBvdXRbMTVdID0gZmRjdF9yb3VuZF9zaGlmdChzdGVwMVs3XSAqIGNv
c3BpXzMwXzY0IC0gc3RlcDFbMF0gKiBjb3NwaV8yXzY0KQotICBidXR0ZXJmbHlfdHdvX2NvZWZm
X3MzMl9zNjRfbmFycm93KHN0ZXBsWzddLCBzdGVwcls3XSwgc3RlcGxbMF0sIHN0ZXByWzBdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzJfNjQsIGNvc3BpXzMw
XzY0LCAmbGVmdFsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmln
aHRbMV0sICZsZWZ0WzE1XSwgJnJpZ2h0WzE1XSk7Ci0gIC8vIG91dFsxM10gPSBmZGN0X3JvdW5k
X3NoaWZ0KHN0ZXAxWzRdICogY29zcGlfMjZfNjQgKyBzdGVwMVszXSAqIGNvc3BpXzZfNjQpCi0g
IC8vIG91dFszXSAgPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAxWzRdICogY29zcGlfNl82NCAgLSBz
dGVwMVszXSAqIGNvc3BpXzI2XzY0KQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFy
cm93KHN0ZXBsWzRdLCBzdGVwcls0XSwgc3RlcGxbM10sIHN0ZXByWzNdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI2XzY0LCBjb3NwaV82XzY0LCAmbGVmdFsx
M10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJpZ2h0WzEzXSwgJmxl
ZnRbM10sICZyaWdodFszXSk7Ci0gIC8vIG91dFs1XSAgPSBmZGN0X3JvdW5kX3NoaWZ0KHN0ZXAx
WzVdICogY29zcGlfMTBfNjQgKyBzdGVwMVsyXSAqIGNvc3BpXzIyXzY0KQotICAvLyBvdXRbMTFd
ID0gZmRjdF9yb3VuZF9zaGlmdChzdGVwMVs1XSAqIGNvc3BpXzIyXzY0IC0gc3RlcDFbMl0gKiBj
b3NwaV8xMF82NCkKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhzdGVwbFs1
XSwgc3RlcHJbNV0sIHN0ZXBsWzJdLCBzdGVwclsyXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb3NwaV8xMF82NCwgY29zcGlfMjJfNjQsICZsZWZ0WzVdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyaWdodFs1XSwgJmxlZnRbMTFdLCAmcmln
aHRbMTFdKTsKLX0KLQotdm9pZCB2cHhfaGlnaGJkX2ZkY3QxNngxNl9uZW9uKGNvbnN0IGludDE2
X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZSkgewotICBpbnQxNng4X3QgdGVtcDBbMTZdOwotICBpbnQzMng0X3Qg
bGVmdDFbMTZdLCBsZWZ0MlsxNl0sIGxlZnQzWzE2XSwgbGVmdDRbMTZdLCByaWdodDFbMTZdLCBy
aWdodDJbMTZdLAotICAgICAgcmlnaHQzWzE2XSwgcmlnaHQ0WzE2XTsKLQotICAvLyBMZWZ0IGhh
bGYuCi0gIGxvYWRfY3Jvc3MoaW5wdXQsIHN0cmlkZSwgdGVtcDApOwotICBoaWdoYmRfc2NhbGVf
aW5wdXQodGVtcDAsIGxlZnQxLCByaWdodDEpOwotICB2cHhfaGlnaGJkX2ZkY3Q4eDE2X2JvZHko
bGVmdDEsIHJpZ2h0MSk7Ci0KLSAgLy8gcmlnaHQgaGFsZi4KLSAgbG9hZF9jcm9zcyhpbnB1dCAr
IDgsIHN0cmlkZSwgdGVtcDApOwotICBoaWdoYmRfc2NhbGVfaW5wdXQodGVtcDAsIGxlZnQyLCBy
aWdodDIpOwotICB2cHhfaGlnaGJkX2ZkY3Q4eDE2X2JvZHkobGVmdDIsIHJpZ2h0Mik7Ci0KLSAg
Ly8gVHJhbnNwb3NlIHRvcCBsZWZ0IGFuZCB0b3AgcmlnaHQgcXVhcnRlcnMgaW50byBvbmUgY29u
dGlndW91cyBsb2NhdGlvbiB0bwotICAvLyBwcm9jZXNzIHRvIHRoZSB0b3AgaGFsZi4KLQotICB0
cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQxLCByaWdodDEsIGxlZnQzLCByaWdodDMpOwotICB0cmFu
c3Bvc2VfczMyXzh4OF8yKGxlZnQyLCByaWdodDIsIGxlZnQzICsgOCwgcmlnaHQzICsgOCk7Ci0g
IHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDEgKyA4LCByaWdodDEgKyA4LCBsZWZ0NCwgcmlnaHQ0
KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0MiArIDgsIHJpZ2h0MiArIDgsIGxlZnQ0ICsg
OCwgcmlnaHQ0ICsgOCk7Ci0KLSAgaGlnaGJkX3BhcnRpYWxfcm91bmRfc2hpZnQobGVmdDMsIHJp
Z2h0Myk7Ci0gIGhpZ2hiZF9jcm9zc19pbnB1dChsZWZ0MywgcmlnaHQzLCBsZWZ0MSwgcmlnaHQx
KTsKLSAgdnB4X2hpZ2hiZF9mZGN0OHgxNl9ib2R5KGxlZnQxLCByaWdodDEpOwotCi0gIC8vIFRy
YW5zcG9zZSBib3R0b20gbGVmdCBhbmQgYm90dG9tIHJpZ2h0IHF1YXJ0ZXJzIGludG8gb25lIGNv
bnRpZ3VvdXMKLSAgLy8gbG9jYXRpb24gdG8gcHJvY2VzcyB0byB0aGUgYm90dG9tIGhhbGYuCi0K
LSAgaGlnaGJkX3BhcnRpYWxfcm91bmRfc2hpZnQobGVmdDQsIHJpZ2h0NCk7Ci0gIGhpZ2hiZF9j
cm9zc19pbnB1dChsZWZ0NCwgcmlnaHQ0LCBsZWZ0MiwgcmlnaHQyKTsKLSAgdnB4X2hpZ2hiZF9m
ZGN0OHgxNl9ib2R5KGxlZnQyLCByaWdodDIpOwotCi0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVm
dDEsIHJpZ2h0MSwgbGVmdDMsIHJpZ2h0Myk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDIs
IHJpZ2h0MiwgbGVmdDMgKyA4LCByaWdodDMgKyA4KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihs
ZWZ0MSArIDgsIHJpZ2h0MSArIDgsIGxlZnQ0LCByaWdodDQpOwotICB0cmFuc3Bvc2VfczMyXzh4
OF8yKGxlZnQyICsgOCwgcmlnaHQyICsgOCwgbGVmdDQgKyA4LCByaWdodDQgKyA4KTsKLSAgc3Rv
cmUxNl9zMzIob3V0cHV0LCBsZWZ0Myk7Ci0gIG91dHB1dCArPSA0OwotICBzdG9yZTE2X3MzMihv
dXRwdXQsIHJpZ2h0Myk7Ci0gIG91dHB1dCArPSA0OwotCi0gIHN0b3JlMTZfczMyKG91dHB1dCwg
bGVmdDQpOwotICBvdXRwdXQgKz0gNDsKLSAgc3RvcmUxNl9zMzIob3V0cHV0LCByaWdodDQpOwot
fQotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotCiAjZW5kaWYgIC8vICFkZWZp
bmVkKF9fY2xhbmdfXykgJiYgIWRlZmluZWQoX19BTkRST0lEX18pICYmIGRlZmluZWQoX19HTlVD
X18pICYmCiAgICAgICAgIC8vIF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPT0gOSAm
JiBfX0dOVUNfUEFUQ0hMRVZFTF9fIDwgNApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS9mZGN0MTZ4MTZfbmVvbi5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0MTZ4MTZf
bmVvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDU4Njc1Y2E0NGUuLjAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3QxNngxNl9uZW9uLmgKKysr
IC9kZXYvbnVsbApAQCAtMSwzMTggKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMTcg
VGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBV
c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl
Ci0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBv
ZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVy
dHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBB
bGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUg
QVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaWZu
ZGVmIFZQWF9WUFhfRFNQX0FSTV9GRENUMTZYMTZfTkVPTl9IXwotI2RlZmluZSBWUFhfVlBYX0RT
UF9BUk1fRkRDVDE2WDE2X05FT05fSF8KLQotI2luY2x1ZGUgPGFybV9uZW9uLmg+Ci0KLSNpbmNs
dWRlICJmZGN0X25lb24uaCIKLQotc3RhdGljIElOTElORSB2b2lkIGxvYWQoY29uc3QgaW50MTZf
dCAqYSwgaW50IHN0cmlkZSwgaW50MTZ4OF90ICpiIC8qWzE2XSovKSB7Ci0gIGJbMF0gPSB2bGQx
cV9zMTYoYSk7Ci0gIGEgKz0gc3RyaWRlOwotICBiWzFdID0gdmxkMXFfczE2KGEpOwotICBhICs9
IHN0cmlkZTsKLSAgYlsyXSA9IHZsZDFxX3MxNihhKTsKLSAgYSArPSBzdHJpZGU7Ci0gIGJbM10g
PSB2bGQxcV9zMTYoYSk7Ci0gIGEgKz0gc3RyaWRlOwotICBiWzRdID0gdmxkMXFfczE2KGEpOwot
ICBhICs9IHN0cmlkZTsKLSAgYls1XSA9IHZsZDFxX3MxNihhKTsKLSAgYSArPSBzdHJpZGU7Ci0g
IGJbNl0gPSB2bGQxcV9zMTYoYSk7Ci0gIGEgKz0gc3RyaWRlOwotICBiWzddID0gdmxkMXFfczE2
KGEpOwotICBhICs9IHN0cmlkZTsKLSAgYls4XSA9IHZsZDFxX3MxNihhKTsKLSAgYSArPSBzdHJp
ZGU7Ci0gIGJbOV0gPSB2bGQxcV9zMTYoYSk7Ci0gIGEgKz0gc3RyaWRlOwotICBiWzEwXSA9IHZs
ZDFxX3MxNihhKTsKLSAgYSArPSBzdHJpZGU7Ci0gIGJbMTFdID0gdmxkMXFfczE2KGEpOwotICBh
ICs9IHN0cmlkZTsKLSAgYlsxMl0gPSB2bGQxcV9zMTYoYSk7Ci0gIGEgKz0gc3RyaWRlOwotICBi
WzEzXSA9IHZsZDFxX3MxNihhKTsKLSAgYSArPSBzdHJpZGU7Ci0gIGJbMTRdID0gdmxkMXFfczE2
KGEpOwotICBhICs9IHN0cmlkZTsKLSAgYlsxNV0gPSB2bGQxcV9zMTYoYSk7Ci19Ci0KLS8vIFN0
b3JlIDggMTZ4OCB2YWx1ZXMsIGFzc3VtaW5nIHN0cmlkZSA9PSAxNi4KLXN0YXRpYyBJTkxJTkUg
dm9pZCBzdG9yZSh0cmFuX2xvd190ICphLCBjb25zdCBpbnQxNng4X3QgKmIgLypbOF0qLykgewot
ICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGEsIGJbMF0pOwotICBhICs9IDE2OwotICBzdG9yZV9z
MTZxX3RvX3RyYW5fbG93KGEsIGJbMV0pOwotICBhICs9IDE2OwotICBzdG9yZV9zMTZxX3RvX3Ry
YW5fbG93KGEsIGJbMl0pOwotICBhICs9IDE2OwotICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGEs
IGJbM10pOwotICBhICs9IDE2OwotICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGEsIGJbNF0pOwot
ICBhICs9IDE2OwotICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGEsIGJbNV0pOwotICBhICs9IDE2
OwotICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGEsIGJbNl0pOwotICBhICs9IDE2OwotICBzdG9y
ZV9zMTZxX3RvX3RyYW5fbG93KGEsIGJbN10pOwotfQotCi0vLyBMb2FkIHN0ZXAgb2YgZWFjaCBw
YXNzLiBBZGQgYW5kIHN1YnRyYWN0IGNsZWFyIGFjcm9zcyB0aGUgaW5wdXQsIHJlcXVpcmluZwot
Ly8gYWxsIDE2IHZhbHVlcyB0byBiZSBsb2FkZWQuIEZvciB0aGUgZmlyc3QgcGFzcyBpdCBhbHNv
IG11bHRpcGxpZXMgYnkgNC4KLQotLy8gVG8gbWF5YmUgcmVkdWNlIHJlZ2lzdGVyIHVzYWdlIHRo
aXMgY291bGQgYmUgY29tYmluZWQgd2l0aCB0aGUgbG9hZCgpIHN0ZXAgdG8KLS8vIGdldCB0aGUg
Zmlyc3QgNCBhbmQgbGFzdCA0IHZhbHVlcywgY3Jvc3MgdGhvc2UsIHRoZW4gbG9hZCB0aGUgbWlk
ZGxlIDggdmFsdWVzCi0vLyBhbmQgY3Jvc3MgdGhlbS4KLXN0YXRpYyBJTkxJTkUgdm9pZCBzY2Fs
ZV9pbnB1dChjb25zdCBpbnQxNng4X3QgKmEgLypbMTZdKi8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MTZ4OF90ICpiIC8qWzE2XSovKSB7Ci0gIGJbMF0gPSB2c2hscV9uX3Mx
NihhWzBdLCAyKTsKLSAgYlsxXSA9IHZzaGxxX25fczE2KGFbMV0sIDIpOwotICBiWzJdID0gdnNo
bHFfbl9zMTYoYVsyXSwgMik7Ci0gIGJbM10gPSB2c2hscV9uX3MxNihhWzNdLCAyKTsKLSAgYls0
XSA9IHZzaGxxX25fczE2KGFbNF0sIDIpOwotICBiWzVdID0gdnNobHFfbl9zMTYoYVs1XSwgMik7
Ci0gIGJbNl0gPSB2c2hscV9uX3MxNihhWzZdLCAyKTsKLSAgYls3XSA9IHZzaGxxX25fczE2KGFb
N10sIDIpOwotCi0gIGJbOF0gPSB2c2hscV9uX3MxNihhWzhdLCAyKTsKLSAgYls5XSA9IHZzaGxx
X25fczE2KGFbOV0sIDIpOwotICBiWzEwXSA9IHZzaGxxX25fczE2KGFbMTBdLCAyKTsKLSAgYlsx
MV0gPSB2c2hscV9uX3MxNihhWzExXSwgMik7Ci0gIGJbMTJdID0gdnNobHFfbl9zMTYoYVsxMl0s
IDIpOwotICBiWzEzXSA9IHZzaGxxX25fczE2KGFbMTNdLCAyKTsKLSAgYlsxNF0gPSB2c2hscV9u
X3MxNihhWzE0XSwgMik7Ci0gIGJbMTVdID0gdnNobHFfbl9zMTYoYVsxNV0sIDIpOwotfQotCi1z
dGF0aWMgSU5MSU5FIHZvaWQgY3Jvc3NfaW5wdXQoY29uc3QgaW50MTZ4OF90ICphIC8qWzE2XSov
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqYiAvKlsxNl0qLykg
ewotICBiWzBdID0gdmFkZHFfczE2KGFbMF0sIGFbMTVdKTsKLSAgYlsxXSA9IHZhZGRxX3MxNihh
WzFdLCBhWzE0XSk7Ci0gIGJbMl0gPSB2YWRkcV9zMTYoYVsyXSwgYVsxM10pOwotICBiWzNdID0g
dmFkZHFfczE2KGFbM10sIGFbMTJdKTsKLSAgYls0XSA9IHZhZGRxX3MxNihhWzRdLCBhWzExXSk7
Ci0gIGJbNV0gPSB2YWRkcV9zMTYoYVs1XSwgYVsxMF0pOwotICBiWzZdID0gdmFkZHFfczE2KGFb
Nl0sIGFbOV0pOwotICBiWzddID0gdmFkZHFfczE2KGFbN10sIGFbOF0pOwotCi0gIGJbOF0gPSB2
c3VicV9zMTYoYVs3XSwgYVs4XSk7Ci0gIGJbOV0gPSB2c3VicV9zMTYoYVs2XSwgYVs5XSk7Ci0g
IGJbMTBdID0gdnN1YnFfczE2KGFbNV0sIGFbMTBdKTsKLSAgYlsxMV0gPSB2c3VicV9zMTYoYVs0
XSwgYVsxMV0pOwotICBiWzEyXSA9IHZzdWJxX3MxNihhWzNdLCBhWzEyXSk7Ci0gIGJbMTNdID0g
dnN1YnFfczE2KGFbMl0sIGFbMTNdKTsKLSAgYlsxNF0gPSB2c3VicV9zMTYoYVsxXSwgYVsxNF0p
OwotICBiWzE1XSA9IHZzdWJxX3MxNihhWzBdLCBhWzE1XSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUg
dm9pZCBsb2FkX2Nyb3NzKGNvbnN0IGludDE2X3QgKmEsIGludCBzdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQxNng4X3QgKmIgLypbMTZdKi8pIHsKLSAgYlswXSA9IHZh
ZGRxX3MxNih2bGQxcV9zMTYoYSArIDAgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDE1ICogc3Ry
aWRlKSk7Ci0gIGJbMV0gPSB2YWRkcV9zMTYodmxkMXFfczE2KGEgKyAxICogc3RyaWRlKSwgdmxk
MXFfczE2KGEgKyAxNCAqIHN0cmlkZSkpOwotICBiWzJdID0gdmFkZHFfczE2KHZsZDFxX3MxNihh
ICsgMiAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMTMgKiBzdHJpZGUpKTsKLSAgYlszXSA9IHZh
ZGRxX3MxNih2bGQxcV9zMTYoYSArIDMgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDEyICogc3Ry
aWRlKSk7Ci0gIGJbNF0gPSB2YWRkcV9zMTYodmxkMXFfczE2KGEgKyA0ICogc3RyaWRlKSwgdmxk
MXFfczE2KGEgKyAxMSAqIHN0cmlkZSkpOwotICBiWzVdID0gdmFkZHFfczE2KHZsZDFxX3MxNihh
ICsgNSAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMTAgKiBzdHJpZGUpKTsKLSAgYls2XSA9IHZh
ZGRxX3MxNih2bGQxcV9zMTYoYSArIDYgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDkgKiBzdHJp
ZGUpKTsKLSAgYls3XSA9IHZhZGRxX3MxNih2bGQxcV9zMTYoYSArIDcgKiBzdHJpZGUpLCB2bGQx
cV9zMTYoYSArIDggKiBzdHJpZGUpKTsKLQotICBiWzhdID0gdnN1YnFfczE2KHZsZDFxX3MxNihh
ICsgNyAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgOCAqIHN0cmlkZSkpOwotICBiWzldID0gdnN1
YnFfczE2KHZsZDFxX3MxNihhICsgNiAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgOSAqIHN0cmlk
ZSkpOwotICBiWzEwXSA9IHZzdWJxX3MxNih2bGQxcV9zMTYoYSArIDUgKiBzdHJpZGUpLCB2bGQx
cV9zMTYoYSArIDEwICogc3RyaWRlKSk7Ci0gIGJbMTFdID0gdnN1YnFfczE2KHZsZDFxX3MxNihh
ICsgNCAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMTEgKiBzdHJpZGUpKTsKLSAgYlsxMl0gPSB2
c3VicV9zMTYodmxkMXFfczE2KGEgKyAzICogc3RyaWRlKSwgdmxkMXFfczE2KGEgKyAxMiAqIHN0
cmlkZSkpOwotICBiWzEzXSA9IHZzdWJxX3MxNih2bGQxcV9zMTYoYSArIDIgKiBzdHJpZGUpLCB2
bGQxcV9zMTYoYSArIDEzICogc3RyaWRlKSk7Ci0gIGJbMTRdID0gdnN1YnFfczE2KHZsZDFxX3Mx
NihhICsgMSAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMTQgKiBzdHJpZGUpKTsKLSAgYlsxNV0g
PSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyAwICogc3RyaWRlKSwgdmxkMXFfczE2KGEgKyAxNSAq
IHN0cmlkZSkpOwotfQotCi0vLyBRdWFydGVyIHJvdW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhl
IHNlY29uZCBwYXNzLiBDYW4ndCB1c2UgdnJzaHIgKHJvdW5kaW5nKQotLy8gYmVjYXVzZSB0aGlz
IG9ubHkgYWRkcyAxLCBub3QgMSA8PCAyLgotc3RhdGljIElOTElORSB2b2lkIHBhcnRpYWxfcm91
bmRfc2hpZnQoaW50MTZ4OF90ICphIC8qWzE2XSovKSB7Ci0gIGNvbnN0IGludDE2eDhfdCBvbmUg
PSB2ZHVwcV9uX3MxNigxKTsKLSAgYVswXSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzBdLCBv
bmUpLCAyKTsKLSAgYVsxXSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzFdLCBvbmUpLCAyKTsK
LSAgYVsyXSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzJdLCBvbmUpLCAyKTsKLSAgYVszXSA9
IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzNdLCBvbmUpLCAyKTsKLSAgYVs0XSA9IHZzaHJxX25f
czE2KHZhZGRxX3MxNihhWzRdLCBvbmUpLCAyKTsKLSAgYVs1XSA9IHZzaHJxX25fczE2KHZhZGRx
X3MxNihhWzVdLCBvbmUpLCAyKTsKLSAgYVs2XSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzZd
LCBvbmUpLCAyKTsKLSAgYVs3XSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzddLCBvbmUpLCAy
KTsKLSAgYVs4XSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzhdLCBvbmUpLCAyKTsKLSAgYVs5
XSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzldLCBvbmUpLCAyKTsKLSAgYVsxMF0gPSB2c2hy
cV9uX3MxNih2YWRkcV9zMTYoYVsxMF0sIG9uZSksIDIpOwotICBhWzExXSA9IHZzaHJxX25fczE2
KHZhZGRxX3MxNihhWzExXSwgb25lKSwgMik7Ci0gIGFbMTJdID0gdnNocnFfbl9zMTYodmFkZHFf
czE2KGFbMTJdLCBvbmUpLCAyKTsKLSAgYVsxM10gPSB2c2hycV9uX3MxNih2YWRkcV9zMTYoYVsx
M10sIG9uZSksIDIpOwotICBhWzE0XSA9IHZzaHJxX25fczE2KHZhZGRxX3MxNihhWzE0XSwgb25l
KSwgMik7Ci0gIGFbMTVdID0gdnNocnFfbl9zMTYodmFkZHFfczE2KGFbMTVdLCBvbmUpLCAyKTsK
LX0KLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLXN0YXRpYyBJTkxJTkUgdm9pZCBo
aWdoYmRfc2NhbGVfaW5wdXQoY29uc3QgaW50MTZ4OF90ICphIC8qWzE2XSovLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKmxlZnQgLypbMTZdKi8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyeDRfdCAqcmlnaHQgLyog
WzE2XSAqLykgewotICBsZWZ0WzBdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMF0pLCAy
KTsKLSAgbGVmdFsxXSA9IHZzaGxsX25fczE2KHZnZXRfbG93X3MxNihhWzFdKSwgMik7Ci0gIGxl
ZnRbMl0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoYVsyXSksIDIpOwotICBsZWZ0WzNdID0g
dnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbM10pLCAyKTsKLSAgbGVmdFs0XSA9IHZzaGxsX25f
czE2KHZnZXRfbG93X3MxNihhWzRdKSwgMik7Ci0gIGxlZnRbNV0gPSB2c2hsbF9uX3MxNih2Z2V0
X2xvd19zMTYoYVs1XSksIDIpOwotICBsZWZ0WzZdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2
KGFbNl0pLCAyKTsKLSAgbGVmdFs3XSA9IHZzaGxsX25fczE2KHZnZXRfbG93X3MxNihhWzddKSwg
Mik7Ci0gIGxlZnRbOF0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoYVs4XSksIDIpOwotICBs
ZWZ0WzldID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbOV0pLCAyKTsKLSAgbGVmdFsxMF0g
PSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoYVsxMF0pLCAyKTsKLSAgbGVmdFsxMV0gPSB2c2hs
bF9uX3MxNih2Z2V0X2xvd19zMTYoYVsxMV0pLCAyKTsKLSAgbGVmdFsxMl0gPSB2c2hsbF9uX3Mx
Nih2Z2V0X2xvd19zMTYoYVsxMl0pLCAyKTsKLSAgbGVmdFsxM10gPSB2c2hsbF9uX3MxNih2Z2V0
X2xvd19zMTYoYVsxM10pLCAyKTsKLSAgbGVmdFsxNF0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19z
MTYoYVsxNF0pLCAyKTsKLSAgbGVmdFsxNV0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoYVsx
NV0pLCAyKTsKLQotICByaWdodFswXSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVswXSks
IDIpOwotICByaWdodFsxXSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVsxXSksIDIpOwot
ICByaWdodFsyXSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVsyXSksIDIpOwotICByaWdo
dFszXSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVszXSksIDIpOwotICByaWdodFs0XSA9
IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVs0XSksIDIpOwotICByaWdodFs1XSA9IHZzaGxs
X25fczE2KHZnZXRfaGlnaF9zMTYoYVs1XSksIDIpOwotICByaWdodFs2XSA9IHZzaGxsX25fczE2
KHZnZXRfaGlnaF9zMTYoYVs2XSksIDIpOwotICByaWdodFs3XSA9IHZzaGxsX25fczE2KHZnZXRf
aGlnaF9zMTYoYVs3XSksIDIpOwotICByaWdodFs4XSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9z
MTYoYVs4XSksIDIpOwotICByaWdodFs5XSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVs5
XSksIDIpOwotICByaWdodFsxMF0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbMTBdKSwg
Mik7Ci0gIHJpZ2h0WzExXSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVsxMV0pLCAyKTsK
LSAgcmlnaHRbMTJdID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihhWzEyXSksIDIpOwotICBy
aWdodFsxM10gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbMTNdKSwgMik7Ci0gIHJpZ2h0
WzE0XSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVsxNF0pLCAyKTsKLSAgcmlnaHRbMTVd
ID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihhWzE1XSksIDIpOwotfQotCi1zdGF0aWMgSU5M
SU5FIHZvaWQgaGlnaGJkX2Nyb3NzX2lucHV0KGNvbnN0IGludDMyeDRfdCAqYV9sZWZ0IC8qWzE2
XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKmFf
cmlnaHQgLypbMTZdKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dDMyeDRfdCAqYl9sZWZ0IC8qWzE2XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMng0X3QgKmJfcmlnaHQgLypbMTZdKi8pIHsKLSAgYl9sZWZ0WzBdID0gdmFk
ZHFfczMyKGFfbGVmdFswXSwgYV9sZWZ0WzE1XSk7Ci0gIGJfbGVmdFsxXSA9IHZhZGRxX3MzMihh
X2xlZnRbMV0sIGFfbGVmdFsxNF0pOwotICBiX2xlZnRbMl0gPSB2YWRkcV9zMzIoYV9sZWZ0WzJd
LCBhX2xlZnRbMTNdKTsKLSAgYl9sZWZ0WzNdID0gdmFkZHFfczMyKGFfbGVmdFszXSwgYV9sZWZ0
WzEyXSk7Ci0gIGJfbGVmdFs0XSA9IHZhZGRxX3MzMihhX2xlZnRbNF0sIGFfbGVmdFsxMV0pOwot
ICBiX2xlZnRbNV0gPSB2YWRkcV9zMzIoYV9sZWZ0WzVdLCBhX2xlZnRbMTBdKTsKLSAgYl9sZWZ0
WzZdID0gdmFkZHFfczMyKGFfbGVmdFs2XSwgYV9sZWZ0WzldKTsKLSAgYl9sZWZ0WzddID0gdmFk
ZHFfczMyKGFfbGVmdFs3XSwgYV9sZWZ0WzhdKTsKLQotICBiX3JpZ2h0WzBdID0gdmFkZHFfczMy
KGFfcmlnaHRbMF0sIGFfcmlnaHRbMTVdKTsKLSAgYl9yaWdodFsxXSA9IHZhZGRxX3MzMihhX3Jp
Z2h0WzFdLCBhX3JpZ2h0WzE0XSk7Ci0gIGJfcmlnaHRbMl0gPSB2YWRkcV9zMzIoYV9yaWdodFsy
XSwgYV9yaWdodFsxM10pOwotICBiX3JpZ2h0WzNdID0gdmFkZHFfczMyKGFfcmlnaHRbM10sIGFf
cmlnaHRbMTJdKTsKLSAgYl9yaWdodFs0XSA9IHZhZGRxX3MzMihhX3JpZ2h0WzRdLCBhX3JpZ2h0
WzExXSk7Ci0gIGJfcmlnaHRbNV0gPSB2YWRkcV9zMzIoYV9yaWdodFs1XSwgYV9yaWdodFsxMF0p
OwotICBiX3JpZ2h0WzZdID0gdmFkZHFfczMyKGFfcmlnaHRbNl0sIGFfcmlnaHRbOV0pOwotICBi
X3JpZ2h0WzddID0gdmFkZHFfczMyKGFfcmlnaHRbN10sIGFfcmlnaHRbOF0pOwotCi0gIGJfbGVm
dFs4XSA9IHZzdWJxX3MzMihhX2xlZnRbN10sIGFfbGVmdFs4XSk7Ci0gIGJfbGVmdFs5XSA9IHZz
dWJxX3MzMihhX2xlZnRbNl0sIGFfbGVmdFs5XSk7Ci0gIGJfbGVmdFsxMF0gPSB2c3VicV9zMzIo
YV9sZWZ0WzVdLCBhX2xlZnRbMTBdKTsKLSAgYl9sZWZ0WzExXSA9IHZzdWJxX3MzMihhX2xlZnRb
NF0sIGFfbGVmdFsxMV0pOwotICBiX2xlZnRbMTJdID0gdnN1YnFfczMyKGFfbGVmdFszXSwgYV9s
ZWZ0WzEyXSk7Ci0gIGJfbGVmdFsxM10gPSB2c3VicV9zMzIoYV9sZWZ0WzJdLCBhX2xlZnRbMTNd
KTsKLSAgYl9sZWZ0WzE0XSA9IHZzdWJxX3MzMihhX2xlZnRbMV0sIGFfbGVmdFsxNF0pOwotICBi
X2xlZnRbMTVdID0gdnN1YnFfczMyKGFfbGVmdFswXSwgYV9sZWZ0WzE1XSk7Ci0KLSAgYl9yaWdo
dFs4XSA9IHZzdWJxX3MzMihhX3JpZ2h0WzddLCBhX3JpZ2h0WzhdKTsKLSAgYl9yaWdodFs5XSA9
IHZzdWJxX3MzMihhX3JpZ2h0WzZdLCBhX3JpZ2h0WzldKTsKLSAgYl9yaWdodFsxMF0gPSB2c3Vi
cV9zMzIoYV9yaWdodFs1XSwgYV9yaWdodFsxMF0pOwotICBiX3JpZ2h0WzExXSA9IHZzdWJxX3Mz
MihhX3JpZ2h0WzRdLCBhX3JpZ2h0WzExXSk7Ci0gIGJfcmlnaHRbMTJdID0gdnN1YnFfczMyKGFf
cmlnaHRbM10sIGFfcmlnaHRbMTJdKTsKLSAgYl9yaWdodFsxM10gPSB2c3VicV9zMzIoYV9yaWdo
dFsyXSwgYV9yaWdodFsxM10pOwotICBiX3JpZ2h0WzE0XSA9IHZzdWJxX3MzMihhX3JpZ2h0WzFd
LCBhX3JpZ2h0WzE0XSk7Ci0gIGJfcmlnaHRbMTVdID0gdnN1YnFfczMyKGFfcmlnaHRbMF0sIGFf
cmlnaHRbMTVdKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9wYXJ0aWFsX3JvdW5k
X3NoaWZ0KGludDMyeDRfdCAqbGVmdCAvKlsxNl0qLywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKnJpZ2h0IC8qIFsxNl0gKi8pIHsKLSAg
Y29uc3QgaW50MzJ4NF90IG9uZSA9IHZkdXBxX25fczMyKDEpOwotICBsZWZ0WzBdID0gdnNocnFf
bl9zMzIodmFkZHFfczMyKGxlZnRbMF0sIG9uZSksIDIpOwotICBsZWZ0WzFdID0gdnNocnFfbl9z
MzIodmFkZHFfczMyKGxlZnRbMV0sIG9uZSksIDIpOwotICBsZWZ0WzJdID0gdnNocnFfbl9zMzIo
dmFkZHFfczMyKGxlZnRbMl0sIG9uZSksIDIpOwotICBsZWZ0WzNdID0gdnNocnFfbl9zMzIodmFk
ZHFfczMyKGxlZnRbM10sIG9uZSksIDIpOwotICBsZWZ0WzRdID0gdnNocnFfbl9zMzIodmFkZHFf
czMyKGxlZnRbNF0sIG9uZSksIDIpOwotICBsZWZ0WzVdID0gdnNocnFfbl9zMzIodmFkZHFfczMy
KGxlZnRbNV0sIG9uZSksIDIpOwotICBsZWZ0WzZdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKGxl
ZnRbNl0sIG9uZSksIDIpOwotICBsZWZ0WzddID0gdnNocnFfbl9zMzIodmFkZHFfczMyKGxlZnRb
N10sIG9uZSksIDIpOwotICBsZWZ0WzhdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKGxlZnRbOF0s
IG9uZSksIDIpOwotICBsZWZ0WzldID0gdnNocnFfbl9zMzIodmFkZHFfczMyKGxlZnRbOV0sIG9u
ZSksIDIpOwotICBsZWZ0WzEwXSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihsZWZ0WzEwXSwgb25l
KSwgMik7Ci0gIGxlZnRbMTFdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKGxlZnRbMTFdLCBvbmUp
LCAyKTsKLSAgbGVmdFsxMl0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIobGVmdFsxMl0sIG9uZSks
IDIpOwotICBsZWZ0WzEzXSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihsZWZ0WzEzXSwgb25lKSwg
Mik7Ci0gIGxlZnRbMTRdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKGxlZnRbMTRdLCBvbmUpLCAy
KTsKLSAgbGVmdFsxNV0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIobGVmdFsxNV0sIG9uZSksIDIp
OwotCi0gIHJpZ2h0WzBdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKHJpZ2h0WzBdLCBvbmUpLCAy
KTsKLSAgcmlnaHRbMV0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIocmlnaHRbMV0sIG9uZSksIDIp
OwotICByaWdodFsyXSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihyaWdodFsyXSwgb25lKSwgMik7
Ci0gIHJpZ2h0WzNdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKHJpZ2h0WzNdLCBvbmUpLCAyKTsK
LSAgcmlnaHRbNF0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIocmlnaHRbNF0sIG9uZSksIDIpOwot
ICByaWdodFs1XSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihyaWdodFs1XSwgb25lKSwgMik7Ci0g
IHJpZ2h0WzZdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKHJpZ2h0WzZdLCBvbmUpLCAyKTsKLSAg
cmlnaHRbN10gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIocmlnaHRbN10sIG9uZSksIDIpOwotICBy
aWdodFs4XSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihyaWdodFs4XSwgb25lKSwgMik7Ci0gIHJp
Z2h0WzldID0gdnNocnFfbl9zMzIodmFkZHFfczMyKHJpZ2h0WzldLCBvbmUpLCAyKTsKLSAgcmln
aHRbMTBdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKHJpZ2h0WzEwXSwgb25lKSwgMik7Ci0gIHJp
Z2h0WzExXSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihyaWdodFsxMV0sIG9uZSksIDIpOwotICBy
aWdodFsxMl0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIocmlnaHRbMTJdLCBvbmUpLCAyKTsKLSAg
cmlnaHRbMTNdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKHJpZ2h0WzEzXSwgb25lKSwgMik7Ci0g
IHJpZ2h0WzE0XSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihyaWdodFsxNF0sIG9uZSksIDIpOwot
ICByaWdodFsxNV0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIocmlnaHRbMTVdLCBvbmUpLCAyKTsK
LX0KLQotLy8gU3RvcmUgMTYgMzJ4NCB2ZWN0b3JzLCBhc3N1bWluZyBzdHJpZGUgPT0gMTYuCi1z
dGF0aWMgSU5MSU5FIHZvaWQgc3RvcmUxNl9zMzIodHJhbl9sb3dfdCAqYSwgY29uc3QgaW50MzJ4
NF90ICpiIC8qWzMyXSovKSB7Ci0gIHZzdDFxX3MzMihhLCBiWzBdKTsKLSAgYSArPSAxNjsKLSAg
dnN0MXFfczMyKGEsIGJbMV0pOwotICBhICs9IDE2OwotICB2c3QxcV9zMzIoYSwgYlsyXSk7Ci0g
IGEgKz0gMTY7Ci0gIHZzdDFxX3MzMihhLCBiWzNdKTsKLSAgYSArPSAxNjsKLSAgdnN0MXFfczMy
KGEsIGJbNF0pOwotICBhICs9IDE2OwotICB2c3QxcV9zMzIoYSwgYls1XSk7Ci0gIGEgKz0gMTY7
Ci0gIHZzdDFxX3MzMihhLCBiWzZdKTsKLSAgYSArPSAxNjsKLSAgdnN0MXFfczMyKGEsIGJbN10p
OwotICBhICs9IDE2OwotICB2c3QxcV9zMzIoYSwgYls4XSk7Ci0gIGEgKz0gMTY7Ci0gIHZzdDFx
X3MzMihhLCBiWzldKTsKLSAgYSArPSAxNjsKLSAgdnN0MXFfczMyKGEsIGJbMTBdKTsKLSAgYSAr
PSAxNjsKLSAgdnN0MXFfczMyKGEsIGJbMTFdKTsKLSAgYSArPSAxNjsKLSAgdnN0MXFfczMyKGEs
IGJbMTJdKTsKLSAgYSArPSAxNjsKLSAgdnN0MXFfczMyKGEsIGJbMTNdKTsKLSAgYSArPSAxNjsK
LSAgdnN0MXFfczMyKGEsIGJbMTRdKTsKLSAgYSArPSAxNjsKLSAgdnN0MXFfczMyKGEsIGJbMTVd
KTsKLX0KLQotI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotCi0jZW5kaWYgIC8v
IFZQWF9WUFhfRFNQX0FSTV9GRENUMTZYMTZfTkVPTl9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9mZGN0MzJ4MzJfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9m
ZGN0MzJ4MzJfbmVvbi5jCmluZGV4IGE5MTczMGNlOGJmOC4uZTljZDM0OTA0YjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3QzMngzMl9uZW9uLmMKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9mZGN0MzJ4MzJfbmVvbi5jCkBAIC0xNSw4ICsxNSw2IEBACiAjaW5j
bHVkZSAidnB4X2RzcC90eGZtX2NvbW1vbi5oIgogI2luY2x1ZGUgInZweF9kc3AvYXJtL21lbV9u
ZW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC9hcm0vdHJhbnNwb3NlX25lb24uaCIKLSNpbmNsdWRl
ICJ2cHhfZHNwL2FybS9mZGN0X25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9mZGN0MzJ4
MzJfbmVvbi5oIgogCiAvLyBNb3N0IGdjYyA0LjkgZGlzdHJpYnV0aW9ucyBvdXRzaWRlIG9mIEFu
ZHJvaWQgZG8gbm90IGdlbmVyYXRlIGNvcnJlY3QgY29kZQogLy8gZm9yIHRoaXMgZnVuY3Rpb24u
CkBAIC0zNCw2ICszMiwxMjg5IEBAIHZvaWQgdnB4X2ZkY3QzMngzMl9yZF9uZW9uKGNvbnN0IGlu
dDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsCiAKICNlbHNlCiAKKyNkZWZpbmUgTE9B
RF9JTkNSRU1FTlQoc3JjLCBzdHJpZGUsIGRlc3QsIGluZGV4KSBcCisgIGRvIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGRlc3RbaW5kZXhdID0gdmxk
MXFfczE2KHNyYyk7ICAgICAgICAgICAgICAgIFwKKyAgICBzcmMgKz0gc3RyaWRlOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgQUREX1Mx
NihzcmMsIGluZGV4MCwgaW5kZXgxLCBkZXN0LCBpbmRleDMpICAgICAgXAorICBkbyB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZGVzdFtp
bmRleDNdID0gdmFkZHFfczE2KHNyY1tpbmRleDBdLCBzcmNbaW5kZXgxXSk7IFwKKyAgfSB3aGls
ZSAoMCkKKworI2RlZmluZSBBRERfU0hJRlRfUzE2KHNyYywgaW5kZXgwLCBpbmRleDEpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzcmNbaW5kZXgx
XSA9IHZzaGxxX25fczE2KHZzdWJxX3MxNihzcmNbaW5kZXgwXSwgc3JjW2luZGV4MV0pLCAyKTsg
XAorICB9IHdoaWxlICgwKQorCisvLyBMb2FkLCBjcm9zcywgYW5kIG11bHRpcGx5IGJ5IDQuIExv
YWQgdGhlIGZpcnN0IDggYW5kIGxhc3QgOCwgdGhlbiB0aGUKKy8vIG1pZGRsZQorLy8gMTYuIERv
aW5nIHNldHMgb2YgMTYgYXQgYSB0aW1lLiBNYXliZSBzZXRzIG9mIDggd291bGQgYmUgYmV0dGVy
Pworc3RhdGljIElOTElORSB2b2lkIGxvYWQoY29uc3QgaW50MTZfdCAqYSwgaW50IHN0cmlkZSwg
aW50MTZ4OF90ICpiKSB7CisgIGNvbnN0IGludDE2X3QgKmFfZW5kID0gYSArIDI0ICogc3RyaWRl
OworICBpbnQxNng4X3QgY1s4XTsKKworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDAp
OworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDEpOworICBMT0FEX0lOQ1JFTUVOVChh
LCBzdHJpZGUsIGIsIDIpOworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDMpOworICBM
T0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDQpOworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJp
ZGUsIGIsIDUpOworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDYpOworICBMT0FEX0lO
Q1JFTUVOVChhLCBzdHJpZGUsIGIsIDcpOworCisgIExPQURfSU5DUkVNRU5UKGFfZW5kLCBzdHJp
ZGUsIGIsIDI0KTsKKyAgTE9BRF9JTkNSRU1FTlQoYV9lbmQsIHN0cmlkZSwgYiwgMjUpOworICBM
T0FEX0lOQ1JFTUVOVChhX2VuZCwgc3RyaWRlLCBiLCAyNik7CisgIExPQURfSU5DUkVNRU5UKGFf
ZW5kLCBzdHJpZGUsIGIsIDI3KTsKKyAgTE9BRF9JTkNSRU1FTlQoYV9lbmQsIHN0cmlkZSwgYiwg
MjgpOworICBMT0FEX0lOQ1JFTUVOVChhX2VuZCwgc3RyaWRlLCBiLCAyOSk7CisgIExPQURfSU5D
UkVNRU5UKGFfZW5kLCBzdHJpZGUsIGIsIDMwKTsKKyAgTE9BRF9JTkNSRU1FTlQoYV9lbmQsIHN0
cmlkZSwgYiwgMzEpOworCisgIEFERF9TMTYoYiwgMCwgMzEsIGMsIDApOworICBBRERfUzE2KGIs
IDEsIDMwLCBjLCAxKTsKKyAgQUREX1MxNihiLCAyLCAyOSwgYywgMik7CisgIEFERF9TMTYoYiwg
MywgMjgsIGMsIDMpOworICBBRERfUzE2KGIsIDQsIDI3LCBjLCA0KTsKKyAgQUREX1MxNihiLCA1
LCAyNiwgYywgNSk7CisgIEFERF9TMTYoYiwgNiwgMjUsIGMsIDYpOworICBBRERfUzE2KGIsIDcs
IDI0LCBjLCA3KTsKKworICBBRERfU0hJRlRfUzE2KGIsIDcsIDI0KTsKKyAgQUREX1NISUZUX1Mx
NihiLCA2LCAyNSk7CisgIEFERF9TSElGVF9TMTYoYiwgNSwgMjYpOworICBBRERfU0hJRlRfUzE2
KGIsIDQsIDI3KTsKKyAgQUREX1NISUZUX1MxNihiLCAzLCAyOCk7CisgIEFERF9TSElGVF9TMTYo
YiwgMiwgMjkpOworICBBRERfU0hJRlRfUzE2KGIsIDEsIDMwKTsKKyAgQUREX1NISUZUX1MxNihi
LCAwLCAzMSk7CisKKyAgYlswXSA9IHZzaGxxX25fczE2KGNbMF0sIDIpOworICBiWzFdID0gdnNo
bHFfbl9zMTYoY1sxXSwgMik7CisgIGJbMl0gPSB2c2hscV9uX3MxNihjWzJdLCAyKTsKKyAgYlsz
XSA9IHZzaGxxX25fczE2KGNbM10sIDIpOworICBiWzRdID0gdnNobHFfbl9zMTYoY1s0XSwgMik7
CisgIGJbNV0gPSB2c2hscV9uX3MxNihjWzVdLCAyKTsKKyAgYls2XSA9IHZzaGxxX25fczE2KGNb
Nl0sIDIpOworICBiWzddID0gdnNobHFfbl9zMTYoY1s3XSwgMik7CisKKyAgTE9BRF9JTkNSRU1F
TlQoYSwgc3RyaWRlLCBiLCA4KTsKKyAgTE9BRF9JTkNSRU1FTlQoYSwgc3RyaWRlLCBiLCA5KTsK
KyAgTE9BRF9JTkNSRU1FTlQoYSwgc3RyaWRlLCBiLCAxMCk7CisgIExPQURfSU5DUkVNRU5UKGEs
IHN0cmlkZSwgYiwgMTEpOworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDEyKTsKKyAg
TE9BRF9JTkNSRU1FTlQoYSwgc3RyaWRlLCBiLCAxMyk7CisgIExPQURfSU5DUkVNRU5UKGEsIHN0
cmlkZSwgYiwgMTQpOworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDE1KTsKKyAgTE9B
RF9JTkNSRU1FTlQoYSwgc3RyaWRlLCBiLCAxNik7CisgIExPQURfSU5DUkVNRU5UKGEsIHN0cmlk
ZSwgYiwgMTcpOworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDE4KTsKKyAgTE9BRF9J
TkNSRU1FTlQoYSwgc3RyaWRlLCBiLCAxOSk7CisgIExPQURfSU5DUkVNRU5UKGEsIHN0cmlkZSwg
YiwgMjApOworICBMT0FEX0lOQ1JFTUVOVChhLCBzdHJpZGUsIGIsIDIxKTsKKyAgTE9BRF9JTkNS
RU1FTlQoYSwgc3RyaWRlLCBiLCAyMik7CisgIExPQURfSU5DUkVNRU5UKGEsIHN0cmlkZSwgYiwg
MjMpOworCisgIEFERF9TMTYoYiwgOCwgMjMsIGMsIDApOworICBBRERfUzE2KGIsIDksIDIyLCBj
LCAxKTsKKyAgQUREX1MxNihiLCAxMCwgMjEsIGMsIDIpOworICBBRERfUzE2KGIsIDExLCAyMCwg
YywgMyk7CisgIEFERF9TMTYoYiwgMTIsIDE5LCBjLCA0KTsKKyAgQUREX1MxNihiLCAxMywgMTgs
IGMsIDUpOworICBBRERfUzE2KGIsIDE0LCAxNywgYywgNik7CisgIEFERF9TMTYoYiwgMTUsIDE2
LCBjLCA3KTsKKworICBBRERfU0hJRlRfUzE2KGIsIDE1LCAxNik7CisgIEFERF9TSElGVF9TMTYo
YiwgMTQsIDE3KTsKKyAgQUREX1NISUZUX1MxNihiLCAxMywgMTgpOworICBBRERfU0hJRlRfUzE2
KGIsIDEyLCAxOSk7CisgIEFERF9TSElGVF9TMTYoYiwgMTEsIDIwKTsKKyAgQUREX1NISUZUX1Mx
NihiLCAxMCwgMjEpOworICBBRERfU0hJRlRfUzE2KGIsIDksIDIyKTsKKyAgQUREX1NISUZUX1Mx
NihiLCA4LCAyMyk7CisKKyAgYls4XSA9IHZzaGxxX25fczE2KGNbMF0sIDIpOworICBiWzldID0g
dnNobHFfbl9zMTYoY1sxXSwgMik7CisgIGJbMTBdID0gdnNobHFfbl9zMTYoY1syXSwgMik7Cisg
IGJbMTFdID0gdnNobHFfbl9zMTYoY1szXSwgMik7CisgIGJbMTJdID0gdnNobHFfbl9zMTYoY1s0
XSwgMik7CisgIGJbMTNdID0gdnNobHFfbl9zMTYoY1s1XSwgMik7CisgIGJbMTRdID0gdnNobHFf
bl9zMTYoY1s2XSwgMik7CisgIGJbMTVdID0gdnNobHFfbl9zMTYoY1s3XSwgMik7Cit9CisKKyN1
bmRlZiBMT0FEX0lOQ1JFTUVOVAorI3VuZGVmIEFERF9TMTYKKyN1bmRlZiBBRERfU0hJRlRfUzE2
CisKKyNkZWZpbmUgU1RPUkVfUzE2KHNyYywgaW5kZXgsIGRlc3QpICAgICAgICAgICBcCisgIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0b3JlX3Mx
NnFfdG9fdHJhbl9sb3coZGVzdCwgc3JjW2luZGV4XSk7IFwKKyAgICBkZXN0ICs9IDg7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0gd2hpbGUgKDApOworCisvLyBTdG9yZSAz
MiAxNng4IHZhbHVlcywgYXNzdW1pbmcgc3RyaWRlID09IDMyLgorLy8gU2xpZ2h0IHR3aXN0OiBz
dG9yZSBob3Jpem9udGFsbHkgaW4gYmxvY2tzIG9mIDguCitzdGF0aWMgSU5MSU5FIHZvaWQgc3Rv
cmUodHJhbl9sb3dfdCAqYSwgY29uc3QgaW50MTZ4OF90ICpiKSB7CisgIFNUT1JFX1MxNihiLCAw
LCBhKTsKKyAgU1RPUkVfUzE2KGIsIDgsIGEpOworICBTVE9SRV9TMTYoYiwgMTYsIGEpOworICBT
VE9SRV9TMTYoYiwgMjQsIGEpOworICBTVE9SRV9TMTYoYiwgMSwgYSk7CisgIFNUT1JFX1MxNihi
LCA5LCBhKTsKKyAgU1RPUkVfUzE2KGIsIDE3LCBhKTsKKyAgU1RPUkVfUzE2KGIsIDI1LCBhKTsK
KyAgU1RPUkVfUzE2KGIsIDIsIGEpOworICBTVE9SRV9TMTYoYiwgMTAsIGEpOworICBTVE9SRV9T
MTYoYiwgMTgsIGEpOworICBTVE9SRV9TMTYoYiwgMjYsIGEpOworICBTVE9SRV9TMTYoYiwgMywg
YSk7CisgIFNUT1JFX1MxNihiLCAxMSwgYSk7CisgIFNUT1JFX1MxNihiLCAxOSwgYSk7CisgIFNU
T1JFX1MxNihiLCAyNywgYSk7CisgIFNUT1JFX1MxNihiLCA0LCBhKTsKKyAgU1RPUkVfUzE2KGIs
IDEyLCBhKTsKKyAgU1RPUkVfUzE2KGIsIDIwLCBhKTsKKyAgU1RPUkVfUzE2KGIsIDI4LCBhKTsK
KyAgU1RPUkVfUzE2KGIsIDUsIGEpOworICBTVE9SRV9TMTYoYiwgMTMsIGEpOworICBTVE9SRV9T
MTYoYiwgMjEsIGEpOworICBTVE9SRV9TMTYoYiwgMjksIGEpOworICBTVE9SRV9TMTYoYiwgNiwg
YSk7CisgIFNUT1JFX1MxNihiLCAxNCwgYSk7CisgIFNUT1JFX1MxNihiLCAyMiwgYSk7CisgIFNU
T1JFX1MxNihiLCAzMCwgYSk7CisgIFNUT1JFX1MxNihiLCA3LCBhKTsKKyAgU1RPUkVfUzE2KGIs
IDE1LCBhKTsKKyAgU1RPUkVfUzE2KGIsIDIzLCBhKTsKKyAgU1RPUkVfUzE2KGIsIDMxLCBhKTsK
K30KKworI3VuZGVmIFNUT1JFX1MxNgorCisvLyBmZGN0X3JvdW5kX3NoaWZ0KChhICsvLSBiKSAq
IGMpCitzdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X29uZV9jb2VmZihjb25zdCBpbnQxNng4
X3QgYSwgY29uc3QgaW50MTZ4OF90IGIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB0cmFuX2hpZ2hfdCBjb25zdGFudCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqYWRkLCBpbnQxNng4X3QgKnN1YikgeworICBj
b25zdCBpbnQzMng0X3QgYTAgPSB2bXVsbF9uX3MxNih2Z2V0X2xvd19zMTYoYSksIGNvbnN0YW50
KTsKKyAgY29uc3QgaW50MzJ4NF90IGExID0gdm11bGxfbl9zMTYodmdldF9oaWdoX3MxNihhKSwg
Y29uc3RhbnQpOworICBjb25zdCBpbnQzMng0X3Qgc3VtMCA9IHZtbGFsX25fczE2KGEwLCB2Z2V0
X2xvd19zMTYoYiksIGNvbnN0YW50KTsKKyAgY29uc3QgaW50MzJ4NF90IHN1bTEgPSB2bWxhbF9u
X3MxNihhMSwgdmdldF9oaWdoX3MxNihiKSwgY29uc3RhbnQpOworICBjb25zdCBpbnQzMng0X3Qg
ZGlmZjAgPSB2bWxzbF9uX3MxNihhMCwgdmdldF9sb3dfczE2KGIpLCBjb25zdGFudCk7CisgIGNv
bnN0IGludDMyeDRfdCBkaWZmMSA9IHZtbHNsX25fczE2KGExLCB2Z2V0X2hpZ2hfczE2KGIpLCBj
b25zdGFudCk7CisgIGNvbnN0IGludDE2eDRfdCByb3VuZGVkMCA9IHZxcnNocm5fbl9zMzIoc3Vt
MCwgRENUX0NPTlNUX0JJVFMpOworICBjb25zdCBpbnQxNng0X3Qgcm91bmRlZDEgPSB2cXJzaHJu
X25fczMyKHN1bTEsIERDVF9DT05TVF9CSVRTKTsKKyAgY29uc3QgaW50MTZ4NF90IHJvdW5kZWQy
ID0gdnFyc2hybl9uX3MzMihkaWZmMCwgRENUX0NPTlNUX0JJVFMpOworICBjb25zdCBpbnQxNng0
X3Qgcm91bmRlZDMgPSB2cXJzaHJuX25fczMyKGRpZmYxLCBEQ1RfQ09OU1RfQklUUyk7CisgICph
ZGQgPSB2Y29tYmluZV9zMTYocm91bmRlZDAsIHJvdW5kZWQxKTsKKyAgKnN1YiA9IHZjb21iaW5l
X3MxNihyb3VuZGVkMiwgcm91bmRlZDMpOworfQorCisvLyBmZGN0X3JvdW5kX3NoaWZ0KGEgKiBj
MCArLy0gYiAqIGMxKQorc3RhdGljIElOTElORSB2b2lkIGJ1dHRlcmZseV90d29fY29lZmYoY29u
c3QgaW50MTZ4OF90IGEsIGNvbnN0IGludDE2eDhfdCBiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQx
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZ4OF90ICphZGQs
IGludDE2eDhfdCAqc3ViKSB7CisgIGNvbnN0IGludDMyeDRfdCBhMCA9IHZtdWxsX25fczE2KHZn
ZXRfbG93X3MxNihhKSwgY29uc3RhbnQwKTsKKyAgY29uc3QgaW50MzJ4NF90IGExID0gdm11bGxf
bl9zMTYodmdldF9oaWdoX3MxNihhKSwgY29uc3RhbnQwKTsKKyAgY29uc3QgaW50MzJ4NF90IGEy
ID0gdm11bGxfbl9zMTYodmdldF9sb3dfczE2KGEpLCBjb25zdGFudDEpOworICBjb25zdCBpbnQz
Mng0X3QgYTMgPSB2bXVsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGEpLCBjb25zdGFudDEpOworICBj
b25zdCBpbnQzMng0X3Qgc3VtMCA9IHZtbGFsX25fczE2KGEyLCB2Z2V0X2xvd19zMTYoYiksIGNv
bnN0YW50MCk7CisgIGNvbnN0IGludDMyeDRfdCBzdW0xID0gdm1sYWxfbl9zMTYoYTMsIHZnZXRf
aGlnaF9zMTYoYiksIGNvbnN0YW50MCk7CisgIGNvbnN0IGludDMyeDRfdCBkaWZmMCA9IHZtbHNs
X25fczE2KGEwLCB2Z2V0X2xvd19zMTYoYiksIGNvbnN0YW50MSk7CisgIGNvbnN0IGludDMyeDRf
dCBkaWZmMSA9IHZtbHNsX25fczE2KGExLCB2Z2V0X2hpZ2hfczE2KGIpLCBjb25zdGFudDEpOwor
ICBjb25zdCBpbnQxNng0X3Qgcm91bmRlZDAgPSB2cXJzaHJuX25fczMyKHN1bTAsIERDVF9DT05T
VF9CSVRTKTsKKyAgY29uc3QgaW50MTZ4NF90IHJvdW5kZWQxID0gdnFyc2hybl9uX3MzMihzdW0x
LCBEQ1RfQ09OU1RfQklUUyk7CisgIGNvbnN0IGludDE2eDRfdCByb3VuZGVkMiA9IHZxcnNocm5f
bl9zMzIoZGlmZjAsIERDVF9DT05TVF9CSVRTKTsKKyAgY29uc3QgaW50MTZ4NF90IHJvdW5kZWQz
ID0gdnFyc2hybl9uX3MzMihkaWZmMSwgRENUX0NPTlNUX0JJVFMpOworICAqYWRkID0gdmNvbWJp
bmVfczE2KHJvdW5kZWQwLCByb3VuZGVkMSk7CisgICpzdWIgPSB2Y29tYmluZV9zMTYocm91bmRl
ZDIsIHJvdW5kZWQzKTsKK30KKworLy8gQWRkIDIgaWYgcG9zaXRpdmUsIDEgaWYgbmVnYXRpdmUs
IGFuZCBzaGlmdCBieSAyLgorLy8gSW4gcHJhY3RpY2UsIHN1YnRyYWN0IHRoZSBzaWduIGJpdCwg
dGhlbiBzaGlmdCB3aXRoIHJvdW5kaW5nLgorc3RhdGljIElOTElORSBpbnQxNng4X3Qgc3ViX3Jv
dW5kX3NoaWZ0KGNvbnN0IGludDE2eDhfdCBhKSB7CisgIGNvbnN0IHVpbnQxNng4X3QgYV91MTYg
PSB2cmVpbnRlcnByZXRxX3UxNl9zMTYoYSk7CisgIGNvbnN0IHVpbnQxNng4X3QgYV9zaWduX3Ux
NiA9IHZzaHJxX25fdTE2KGFfdTE2LCAxNSk7CisgIGNvbnN0IGludDE2eDhfdCBhX3NpZ25fczE2
ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KGFfc2lnbl91MTYpOworICByZXR1cm4gdnJzaHJxX25f
czE2KHZzdWJxX3MxNihhLCBhX3NpZ25fczE2KSwgMik7Cit9CisKK3N0YXRpYyB2b2lkIGRjdF9i
b2R5X2ZpcnN0X3Bhc3MoY29uc3QgaW50MTZ4OF90ICppbiwgaW50MTZ4OF90ICpvdXQpIHsKKyAg
aW50MTZ4OF90IGFbMzJdOworICBpbnQxNng4X3QgYlszMl07CisKKyAgLy8gU3RhZ2UgMTogRG9u
ZSBhcyBwYXJ0IG9mIHRoZSBsb2FkLgorCisgIC8vIFN0YWdlIDIuCisgIC8vIE1pbmkgY3Jvc3Mu
IFggdGhlIGZpcnN0IDE2IHZhbHVlcyBhbmQgdGhlIG1pZGRsZSA4IG9mIHRoZSBzZWNvbmQgaGFs
Zi4KKyAgYVswXSA9IHZhZGRxX3MxNihpblswXSwgaW5bMTVdKTsKKyAgYVsxXSA9IHZhZGRxX3Mx
NihpblsxXSwgaW5bMTRdKTsKKyAgYVsyXSA9IHZhZGRxX3MxNihpblsyXSwgaW5bMTNdKTsKKyAg
YVszXSA9IHZhZGRxX3MxNihpblszXSwgaW5bMTJdKTsKKyAgYVs0XSA9IHZhZGRxX3MxNihpbls0
XSwgaW5bMTFdKTsKKyAgYVs1XSA9IHZhZGRxX3MxNihpbls1XSwgaW5bMTBdKTsKKyAgYVs2XSA9
IHZhZGRxX3MxNihpbls2XSwgaW5bOV0pOworICBhWzddID0gdmFkZHFfczE2KGluWzddLCBpbls4
XSk7CisKKyAgYVs4XSA9IHZzdWJxX3MxNihpbls3XSwgaW5bOF0pOworICBhWzldID0gdnN1YnFf
czE2KGluWzZdLCBpbls5XSk7CisgIGFbMTBdID0gdnN1YnFfczE2KGluWzVdLCBpblsxMF0pOwor
ICBhWzExXSA9IHZzdWJxX3MxNihpbls0XSwgaW5bMTFdKTsKKyAgYVsxMl0gPSB2c3VicV9zMTYo
aW5bM10sIGluWzEyXSk7CisgIGFbMTNdID0gdnN1YnFfczE2KGluWzJdLCBpblsxM10pOworICBh
WzE0XSA9IHZzdWJxX3MxNihpblsxXSwgaW5bMTRdKTsKKyAgYVsxNV0gPSB2c3VicV9zMTYoaW5b
MF0sIGluWzE1XSk7CisKKyAgYVsxNl0gPSBpblsxNl07CisgIGFbMTddID0gaW5bMTddOworICBh
WzE4XSA9IGluWzE4XTsKKyAgYVsxOV0gPSBpblsxOV07CisKKyAgYnV0dGVyZmx5X29uZV9jb2Vm
ZihpblsyN10sIGluWzIwXSwgY29zcGlfMTZfNjQsICZhWzI3XSwgJmFbMjBdKTsKKyAgYnV0dGVy
Zmx5X29uZV9jb2VmZihpblsyNl0sIGluWzIxXSwgY29zcGlfMTZfNjQsICZhWzI2XSwgJmFbMjFd
KTsKKyAgYnV0dGVyZmx5X29uZV9jb2VmZihpblsyNV0sIGluWzIyXSwgY29zcGlfMTZfNjQsICZh
WzI1XSwgJmFbMjJdKTsKKyAgYnV0dGVyZmx5X29uZV9jb2VmZihpblsyNF0sIGluWzIzXSwgY29z
cGlfMTZfNjQsICZhWzI0XSwgJmFbMjNdKTsKKworICBhWzI4XSA9IGluWzI4XTsKKyAgYVsyOV0g
PSBpblsyOV07CisgIGFbMzBdID0gaW5bMzBdOworICBhWzMxXSA9IGluWzMxXTsKKworICAvLyBT
dGFnZSAzLgorICBiWzBdID0gdmFkZHFfczE2KGFbMF0sIGFbN10pOworICBiWzFdID0gdmFkZHFf
czE2KGFbMV0sIGFbNl0pOworICBiWzJdID0gdmFkZHFfczE2KGFbMl0sIGFbNV0pOworICBiWzNd
ID0gdmFkZHFfczE2KGFbM10sIGFbNF0pOworCisgIGJbNF0gPSB2c3VicV9zMTYoYVszXSwgYVs0
XSk7CisgIGJbNV0gPSB2c3VicV9zMTYoYVsyXSwgYVs1XSk7CisgIGJbNl0gPSB2c3VicV9zMTYo
YVsxXSwgYVs2XSk7CisgIGJbN10gPSB2c3VicV9zMTYoYVswXSwgYVs3XSk7CisKKyAgYls4XSA9
IGFbOF07CisgIGJbOV0gPSBhWzldOworCisgIGJ1dHRlcmZseV9vbmVfY29lZmYoYVsxM10sIGFb
MTBdLCBjb3NwaV8xNl82NCwgJmJbMTNdLCAmYlsxMF0pOworICBidXR0ZXJmbHlfb25lX2NvZWZm
KGFbMTJdLCBhWzExXSwgY29zcGlfMTZfNjQsICZiWzEyXSwgJmJbMTFdKTsKKworICBiWzE0XSA9
IGFbMTRdOworICBiWzE1XSA9IGFbMTVdOworCisgIGJbMTZdID0gdmFkZHFfczE2KGluWzE2XSwg
YVsyM10pOworICBiWzE3XSA9IHZhZGRxX3MxNihpblsxN10sIGFbMjJdKTsKKyAgYlsxOF0gPSB2
YWRkcV9zMTYoaW5bMThdLCBhWzIxXSk7CisgIGJbMTldID0gdmFkZHFfczE2KGluWzE5XSwgYVsy
MF0pOworCisgIGJbMjBdID0gdnN1YnFfczE2KGluWzE5XSwgYVsyMF0pOworICBiWzIxXSA9IHZz
dWJxX3MxNihpblsxOF0sIGFbMjFdKTsKKyAgYlsyMl0gPSB2c3VicV9zMTYoaW5bMTddLCBhWzIy
XSk7CisgIGJbMjNdID0gdnN1YnFfczE2KGluWzE2XSwgYVsyM10pOworCisgIGJbMjRdID0gdnN1
YnFfczE2KGluWzMxXSwgYVsyNF0pOworICBiWzI1XSA9IHZzdWJxX3MxNihpblszMF0sIGFbMjVd
KTsKKyAgYlsyNl0gPSB2c3VicV9zMTYoaW5bMjldLCBhWzI2XSk7CisgIGJbMjddID0gdnN1YnFf
czE2KGluWzI4XSwgYVsyN10pOworCisgIGJbMjhdID0gdmFkZHFfczE2KGluWzI4XSwgYVsyN10p
OworICBiWzI5XSA9IHZhZGRxX3MxNihpblsyOV0sIGFbMjZdKTsKKyAgYlszMF0gPSB2YWRkcV9z
MTYoaW5bMzBdLCBhWzI1XSk7CisgIGJbMzFdID0gdmFkZHFfczE2KGluWzMxXSwgYVsyNF0pOwor
CisgIC8vIFN0YWdlIDQuCisgIGFbMF0gPSB2YWRkcV9zMTYoYlswXSwgYlszXSk7CisgIGFbMV0g
PSB2YWRkcV9zMTYoYlsxXSwgYlsyXSk7CisgIGFbMl0gPSB2c3VicV9zMTYoYlsxXSwgYlsyXSk7
CisgIGFbM10gPSB2c3VicV9zMTYoYlswXSwgYlszXSk7CisKKyAgYVs0XSA9IGJbNF07CisKKyAg
YnV0dGVyZmx5X29uZV9jb2VmZihiWzZdLCBiWzVdLCBjb3NwaV8xNl82NCwgJmFbNl0sICZhWzVd
KTsKKworICBhWzddID0gYls3XTsKKworICBhWzhdID0gdmFkZHFfczE2KGJbOF0sIGJbMTFdKTsK
KyAgYVs5XSA9IHZhZGRxX3MxNihiWzldLCBiWzEwXSk7CisgIGFbMTBdID0gdnN1YnFfczE2KGJb
OV0sIGJbMTBdKTsKKyAgYVsxMV0gPSB2c3VicV9zMTYoYls4XSwgYlsxMV0pOworICBhWzEyXSA9
IHZzdWJxX3MxNihiWzE1XSwgYlsxMl0pOworICBhWzEzXSA9IHZzdWJxX3MxNihiWzE0XSwgYlsx
M10pOworICBhWzE0XSA9IHZhZGRxX3MxNihiWzE0XSwgYlsxM10pOworICBhWzE1XSA9IHZhZGRx
X3MxNihiWzE1XSwgYlsxMl0pOworCisgIGFbMTZdID0gYlsxNl07CisgIGFbMTddID0gYlsxN107
CisKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI5XSwgYlsxOF0sIGNvc3BpXzI0XzY0LCBjb3Nw
aV84XzY0LCAmYVsyOV0sICZhWzE4XSk7CisgIGJ1dHRlcmZseV90d29fY29lZmYoYlsyOF0sIGJb
MTldLCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgJmFbMjhdLCAmYVsxOV0pOworICBidXR0ZXJm
bHlfdHdvX2NvZWZmKGJbMjddLCBiWzIwXSwgLWNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LCAmYVsy
N10sICZhWzIwXSk7CisgIGJ1dHRlcmZseV90d29fY29lZmYoYlsyNl0sIGJbMjFdLCAtY29zcGlf
OF82NCwgY29zcGlfMjRfNjQsICZhWzI2XSwgJmFbMjFdKTsKKworICBhWzIyXSA9IGJbMjJdOwor
ICBhWzIzXSA9IGJbMjNdOworICBhWzI0XSA9IGJbMjRdOworICBhWzI1XSA9IGJbMjVdOworCisg
IGFbMzBdID0gYlszMF07CisgIGFbMzFdID0gYlszMV07CisKKyAgLy8gU3RhZ2UgNS4KKyAgYnV0
dGVyZmx5X29uZV9jb2VmZihhWzBdLCBhWzFdLCBjb3NwaV8xNl82NCwgJmJbMF0sICZiWzFdKTsK
KyAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzNdLCBhWzJdLCBjb3NwaV8yNF82NCwgY29zcGlfOF82
NCwgJmJbMl0sICZiWzNdKTsKKworICBiWzRdID0gdmFkZHFfczE2KGFbNF0sIGFbNV0pOworICBi
WzVdID0gdnN1YnFfczE2KGFbNF0sIGFbNV0pOworICBiWzZdID0gdnN1YnFfczE2KGFbN10sIGFb
Nl0pOworICBiWzddID0gdmFkZHFfczE2KGFbN10sIGFbNl0pOworCisgIGJbOF0gPSBhWzhdOwor
CisgIGJ1dHRlcmZseV90d29fY29lZmYoYVsxNF0sIGFbOV0sIGNvc3BpXzI0XzY0LCBjb3NwaV84
XzY0LCAmYlsxNF0sICZiWzldKTsKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzEzXSwgYVsxMF0s
IC1jb3NwaV84XzY0LCBjb3NwaV8yNF82NCwgJmJbMTNdLCAmYlsxMF0pOworCisgIGJbMTFdID0g
YVsxMV07CisgIGJbMTJdID0gYVsxMl07CisKKyAgYlsxNV0gPSBhWzE1XTsKKworICBiWzE2XSA9
IHZhZGRxX3MxNihhWzE5XSwgYVsxNl0pOworICBiWzE3XSA9IHZhZGRxX3MxNihhWzE4XSwgYVsx
N10pOworICBiWzE4XSA9IHZzdWJxX3MxNihhWzE3XSwgYVsxOF0pOworICBiWzE5XSA9IHZzdWJx
X3MxNihhWzE2XSwgYVsxOV0pOworICBiWzIwXSA9IHZzdWJxX3MxNihhWzIzXSwgYVsyMF0pOwor
ICBiWzIxXSA9IHZzdWJxX3MxNihhWzIyXSwgYVsyMV0pOworICBiWzIyXSA9IHZhZGRxX3MxNihh
WzIxXSwgYVsyMl0pOworICBiWzIzXSA9IHZhZGRxX3MxNihhWzIwXSwgYVsyM10pOworICBiWzI0
XSA9IHZhZGRxX3MxNihhWzI3XSwgYVsyNF0pOworICBiWzI1XSA9IHZhZGRxX3MxNihhWzI2XSwg
YVsyNV0pOworICBiWzI2XSA9IHZzdWJxX3MxNihhWzI1XSwgYVsyNl0pOworICBiWzI3XSA9IHZz
dWJxX3MxNihhWzI0XSwgYVsyN10pOworICBiWzI4XSA9IHZzdWJxX3MxNihhWzMxXSwgYVsyOF0p
OworICBiWzI5XSA9IHZzdWJxX3MxNihhWzMwXSwgYVsyOV0pOworICBiWzMwXSA9IHZhZGRxX3Mx
NihhWzI5XSwgYVszMF0pOworICBiWzMxXSA9IHZhZGRxX3MxNihhWzI4XSwgYVszMV0pOworCisg
IC8vIFN0YWdlIDYuCisgIGFbMF0gPSBiWzBdOworICBhWzFdID0gYlsxXTsKKyAgYVsyXSA9IGJb
Ml07CisgIGFbM10gPSBiWzNdOworCisgIGJ1dHRlcmZseV90d29fY29lZmYoYls3XSwgYls0XSwg
Y29zcGlfMjhfNjQsIGNvc3BpXzRfNjQsICZhWzRdLCAmYVs3XSk7CisgIGJ1dHRlcmZseV90d29f
Y29lZmYoYls2XSwgYls1XSwgY29zcGlfMTJfNjQsIGNvc3BpXzIwXzY0LCAmYVs1XSwgJmFbNl0p
OworCisgIGFbOF0gPSB2YWRkcV9zMTYoYls4XSwgYls5XSk7CisgIGFbOV0gPSB2c3VicV9zMTYo
Yls4XSwgYls5XSk7CisgIGFbMTBdID0gdnN1YnFfczE2KGJbMTFdLCBiWzEwXSk7CisgIGFbMTFd
ID0gdmFkZHFfczE2KGJbMTFdLCBiWzEwXSk7CisgIGFbMTJdID0gdmFkZHFfczE2KGJbMTJdLCBi
WzEzXSk7CisgIGFbMTNdID0gdnN1YnFfczE2KGJbMTJdLCBiWzEzXSk7CisgIGFbMTRdID0gdnN1
YnFfczE2KGJbMTVdLCBiWzE0XSk7CisgIGFbMTVdID0gdmFkZHFfczE2KGJbMTVdLCBiWzE0XSk7
CisKKyAgYVsxNl0gPSBiWzE2XTsKKyAgYVsxOV0gPSBiWzE5XTsKKyAgYVsyMF0gPSBiWzIwXTsK
KyAgYVsyM10gPSBiWzIzXTsKKyAgYVsyNF0gPSBiWzI0XTsKKyAgYVsyN10gPSBiWzI3XTsKKyAg
YVsyOF0gPSBiWzI4XTsKKyAgYVszMV0gPSBiWzMxXTsKKworICBidXR0ZXJmbHlfdHdvX2NvZWZm
KGJbMzBdLCBiWzE3XSwgY29zcGlfMjhfNjQsIGNvc3BpXzRfNjQsICZhWzMwXSwgJmFbMTddKTsK
KyAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI5XSwgYlsxOF0sIC1jb3NwaV80XzY0LCBjb3NwaV8y
OF82NCwgJmFbMjldLCAmYVsxOF0pOworCisgIGJ1dHRlcmZseV90d29fY29lZmYoYlsyNl0sIGJb
MjFdLCBjb3NwaV8xMl82NCwgY29zcGlfMjBfNjQsICZhWzI2XSwgJmFbMjFdKTsKKyAgYnV0dGVy
Zmx5X3R3b19jb2VmZihiWzI1XSwgYlsyMl0sIC1jb3NwaV8yMF82NCwgY29zcGlfMTJfNjQsICZh
WzI1XSwgJmFbMjJdKTsKKworICAvLyBTdGFnZSA3LgorICBiWzBdID0gYVswXTsKKyAgYlsxXSA9
IGFbMV07CisgIGJbMl0gPSBhWzJdOworICBiWzNdID0gYVszXTsKKyAgYls0XSA9IGFbNF07Cisg
IGJbNV0gPSBhWzVdOworICBiWzZdID0gYVs2XTsKKyAgYls3XSA9IGFbN107CisKKyAgYnV0dGVy
Zmx5X3R3b19jb2VmZihhWzE1XSwgYVs4XSwgY29zcGlfMzBfNjQsIGNvc3BpXzJfNjQsICZiWzhd
LCAmYlsxNV0pOworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMTRdLCBhWzldLCBjb3NwaV8xNF82
NCwgY29zcGlfMThfNjQsICZiWzldLCAmYlsxNF0pOworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFb
MTNdLCBhWzEwXSwgY29zcGlfMjJfNjQsIGNvc3BpXzEwXzY0LCAmYlsxMF0sICZiWzEzXSk7Cisg
IGJ1dHRlcmZseV90d29fY29lZmYoYVsxMl0sIGFbMTFdLCBjb3NwaV82XzY0LCBjb3NwaV8yNl82
NCwgJmJbMTFdLCAmYlsxMl0pOworCisgIGJbMTZdID0gdmFkZHFfczE2KGFbMTZdLCBhWzE3XSk7
CisgIGJbMTddID0gdnN1YnFfczE2KGFbMTZdLCBhWzE3XSk7CisgIGJbMThdID0gdnN1YnFfczE2
KGFbMTldLCBhWzE4XSk7CisgIGJbMTldID0gdmFkZHFfczE2KGFbMTldLCBhWzE4XSk7CisgIGJb
MjBdID0gdmFkZHFfczE2KGFbMjBdLCBhWzIxXSk7CisgIGJbMjFdID0gdnN1YnFfczE2KGFbMjBd
LCBhWzIxXSk7CisgIGJbMjJdID0gdnN1YnFfczE2KGFbMjNdLCBhWzIyXSk7CisgIGJbMjNdID0g
dmFkZHFfczE2KGFbMjNdLCBhWzIyXSk7CisgIGJbMjRdID0gdmFkZHFfczE2KGFbMjRdLCBhWzI1
XSk7CisgIGJbMjVdID0gdnN1YnFfczE2KGFbMjRdLCBhWzI1XSk7CisgIGJbMjZdID0gdnN1YnFf
czE2KGFbMjddLCBhWzI2XSk7CisgIGJbMjddID0gdmFkZHFfczE2KGFbMjddLCBhWzI2XSk7Cisg
IGJbMjhdID0gdmFkZHFfczE2KGFbMjhdLCBhWzI5XSk7CisgIGJbMjldID0gdnN1YnFfczE2KGFb
MjhdLCBhWzI5XSk7CisgIGJbMzBdID0gdnN1YnFfczE2KGFbMzFdLCBhWzMwXSk7CisgIGJbMzFd
ID0gdmFkZHFfczE2KGFbMzFdLCBhWzMwXSk7CisKKyAgLy8gRmluYWwgc3RhZ2UuCisgIC8vIEFs
c28gY29tcHV0ZSBwYXJ0aWFsIHJvdW5kaW5nIHNoaWZ0OgorICAvLyBvdXRwdXRbaiAqIDMyICsg
aV0gPSAodGVtcF9vdXRbal0gKyAxICsgKHRlbXBfb3V0W2pdID4gMCkpID4+IDI7CisgIG91dFsw
XSA9IHN1Yl9yb3VuZF9zaGlmdChiWzBdKTsKKyAgb3V0WzE2XSA9IHN1Yl9yb3VuZF9zaGlmdChi
WzFdKTsKKyAgb3V0WzhdID0gc3ViX3JvdW5kX3NoaWZ0KGJbMl0pOworICBvdXRbMjRdID0gc3Vi
X3JvdW5kX3NoaWZ0KGJbM10pOworICBvdXRbNF0gPSBzdWJfcm91bmRfc2hpZnQoYls0XSk7Cisg
IG91dFsyMF0gPSBzdWJfcm91bmRfc2hpZnQoYls1XSk7CisgIG91dFsxMl0gPSBzdWJfcm91bmRf
c2hpZnQoYls2XSk7CisgIG91dFsyOF0gPSBzdWJfcm91bmRfc2hpZnQoYls3XSk7CisgIG91dFsy
XSA9IHN1Yl9yb3VuZF9zaGlmdChiWzhdKTsKKyAgb3V0WzE4XSA9IHN1Yl9yb3VuZF9zaGlmdChi
WzldKTsKKyAgb3V0WzEwXSA9IHN1Yl9yb3VuZF9zaGlmdChiWzEwXSk7CisgIG91dFsyNl0gPSBz
dWJfcm91bmRfc2hpZnQoYlsxMV0pOworICBvdXRbNl0gPSBzdWJfcm91bmRfc2hpZnQoYlsxMl0p
OworICBvdXRbMjJdID0gc3ViX3JvdW5kX3NoaWZ0KGJbMTNdKTsKKyAgb3V0WzE0XSA9IHN1Yl9y
b3VuZF9zaGlmdChiWzE0XSk7CisgIG91dFszMF0gPSBzdWJfcm91bmRfc2hpZnQoYlsxNV0pOwor
CisgIGJ1dHRlcmZseV90d29fY29lZmYoYlszMV0sIGJbMTZdLCBjb3NwaV8zMV82NCwgY29zcGlf
MV82NCwgJmFbMV0sICZhWzMxXSk7CisgIG91dFsxXSA9IHN1Yl9yb3VuZF9zaGlmdChhWzFdKTsK
KyAgb3V0WzMxXSA9IHN1Yl9yb3VuZF9zaGlmdChhWzMxXSk7CisKKyAgYnV0dGVyZmx5X3R3b19j
b2VmZihiWzMwXSwgYlsxN10sIGNvc3BpXzE1XzY0LCBjb3NwaV8xN182NCwgJmFbMTddLCAmYVsx
NV0pOworICBvdXRbMTddID0gc3ViX3JvdW5kX3NoaWZ0KGFbMTddKTsKKyAgb3V0WzE1XSA9IHN1
Yl9yb3VuZF9zaGlmdChhWzE1XSk7CisKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI5XSwgYlsx
OF0sIGNvc3BpXzIzXzY0LCBjb3NwaV85XzY0LCAmYVs5XSwgJmFbMjNdKTsKKyAgb3V0WzldID0g
c3ViX3JvdW5kX3NoaWZ0KGFbOV0pOworICBvdXRbMjNdID0gc3ViX3JvdW5kX3NoaWZ0KGFbMjNd
KTsKKworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMjhdLCBiWzE5XSwgY29zcGlfN182NCwgY29z
cGlfMjVfNjQsICZhWzI1XSwgJmFbN10pOworICBvdXRbMjVdID0gc3ViX3JvdW5kX3NoaWZ0KGFb
MjVdKTsKKyAgb3V0WzddID0gc3ViX3JvdW5kX3NoaWZ0KGFbN10pOworCisgIGJ1dHRlcmZseV90
d29fY29lZmYoYlsyN10sIGJbMjBdLCBjb3NwaV8yN182NCwgY29zcGlfNV82NCwgJmFbNV0sICZh
WzI3XSk7CisgIG91dFs1XSA9IHN1Yl9yb3VuZF9zaGlmdChhWzVdKTsKKyAgb3V0WzI3XSA9IHN1
Yl9yb3VuZF9zaGlmdChhWzI3XSk7CisKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI2XSwgYlsy
MV0sIGNvc3BpXzExXzY0LCBjb3NwaV8yMV82NCwgJmFbMjFdLCAmYVsxMV0pOworICBvdXRbMjFd
ID0gc3ViX3JvdW5kX3NoaWZ0KGFbMjFdKTsKKyAgb3V0WzExXSA9IHN1Yl9yb3VuZF9zaGlmdChh
WzExXSk7CisKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI1XSwgYlsyMl0sIGNvc3BpXzE5XzY0
LCBjb3NwaV8xM182NCwgJmFbMTNdLCAmYVsxOV0pOworICBvdXRbMTNdID0gc3ViX3JvdW5kX3No
aWZ0KGFbMTNdKTsKKyAgb3V0WzE5XSA9IHN1Yl9yb3VuZF9zaGlmdChhWzE5XSk7CisKKyAgYnV0
dGVyZmx5X3R3b19jb2VmZihiWzI0XSwgYlsyM10sIGNvc3BpXzNfNjQsIGNvc3BpXzI5XzY0LCAm
YVsyOV0sICZhWzNdKTsKKyAgb3V0WzI5XSA9IHN1Yl9yb3VuZF9zaGlmdChhWzI5XSk7CisgIG91
dFszXSA9IHN1Yl9yb3VuZF9zaGlmdChhWzNdKTsKK30KKworI2RlZmluZSBQQVNTX1RIUk9VR0go
c3JjLCBkc3QsIGVsZW1lbnQpICAgIFwKKyAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgZHN0IyNfbG9bZWxlbWVudF0gPSBzcmMjI19sb1tlbGVtZW50XTsg
XAorICAgIGRzdCMjX2hpW2VsZW1lbnRdID0gc3JjIyNfaGlbZWxlbWVudF07IFwKKyAgfSB3aGls
ZSAoMCkKKworI2RlZmluZSBBRERfUzE2X1MzMihhLCBsZWZ0X2luZGV4LCByaWdodF9pbmRleCwg
YiwgYl9pbmRleCkgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGIjI19sb1tiX2luZGV4XSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB2YWRkbF9zMTYodmdldF9sb3dfczE2KGFb
bGVmdF9pbmRleF0pLCB2Z2V0X2xvd19zMTYoYVtyaWdodF9pbmRleF0pKTsgXAorICAgIGIjI19o
aVtiX2luZGV4XSA9IHZhZGRsX3MxNih2Z2V0X2hpZ2hfczE2KGFbbGVmdF9pbmRleF0pLCAgICAg
ICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2Z2V0X2hpZ2hf
czE2KGFbcmlnaHRfaW5kZXhdKSk7ICAgICAgICAgICAgICAgXAorICB9IHdoaWxlICgwKQorCisj
ZGVmaW5lIFNVQl9TMTZfUzMyKGEsIGxlZnRfaW5kZXgsIHJpZ2h0X2luZGV4LCBiLCBiX2luZGV4
KSAgICAgICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYiMjX2xv
W2JfaW5kZXhdID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgIHZzdWJsX3MxNih2Z2V0X2xvd19zMTYoYVtsZWZ0X2luZGV4
XSksIHZnZXRfbG93X3MxNihhW3JpZ2h0X2luZGV4XSkpOyBcCisgICAgYiMjX2hpW2JfaW5kZXhd
ID0gdnN1YmxfczE2KHZnZXRfaGlnaF9zMTYoYVtsZWZ0X2luZGV4XSksICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZnZXRfaGlnaF9zMTYoYVtyaWdo
dF9pbmRleF0pKTsgICAgICAgICAgICAgICBcCisgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgQURE
V19TMTZfUzMyKGEsIGFfaW5kZXgsIGIsIGJfaW5kZXgsIGMsIGNfaW5kZXgpICAgICAgICAgICAg
ICAgICAgICAgXAorICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYyMjX2xvW2NfaW5kZXhdID0g
dmFkZHdfczE2KGEjI19sb1thX2luZGV4XSwgdmdldF9sb3dfczE2KGJbYl9pbmRleF0pKTsgIFwK
KyAgICBjIyNfaGlbY19pbmRleF0gPSB2YWRkd19zMTYoYSMjX2hpW2FfaW5kZXhdLCB2Z2V0X2hp
Z2hfczE2KGJbYl9pbmRleF0pKTsgXAorICB9IHdoaWxlICgwKQorCisjZGVmaW5lIFNVQldfUzE2
X1MzMihhLCBhX2luZGV4LCBiLCBiX2luZGV4LCB0ZW1wLCB0ZW1wX2luZGV4LCBjLCBjX2luZGV4
KSBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdGVtcCMjX2xvW3RlbXBfaW5kZXhdID0gdm1v
dmxfczE2KHZnZXRfbG93X3MxNihhW2FfaW5kZXhdKSk7ICAgICAgICAgICBcCisgICAgdGVtcCMj
X2hpW3RlbXBfaW5kZXhdID0gdm1vdmxfczE2KHZnZXRfaGlnaF9zMTYoYVthX2luZGV4XSkpOyAg
ICAgICAgICBcCisgICAgYyMjX2xvW2NfaW5kZXhdID0gdnN1YnFfczMyKHRlbXAjI19sb1t0ZW1w
X2luZGV4XSwgYiMjX2xvW2JfaW5kZXhdKTsgICBcCisgICAgYyMjX2hpW2NfaW5kZXhdID0gdnN1
YnFfczMyKHRlbXAjI19oaVt0ZW1wX2luZGV4XSwgYiMjX2hpW2JfaW5kZXhdKTsgICBcCisgIH0g
d2hpbGUgKDApCisKKyNkZWZpbmUgQUREX1MzMihhLCBsZWZ0X2luZGV4LCByaWdodF9pbmRleCwg
YiwgYl9pbmRleCkgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
YiMjX2xvW2JfaW5kZXhdID0gdmFkZHFfczMyKGEjI19sb1tsZWZ0X2luZGV4XSwgYSMjX2xvW3Jp
Z2h0X2luZGV4XSk7IFwKKyAgICBiIyNfaGlbYl9pbmRleF0gPSB2YWRkcV9zMzIoYSMjX2hpW2xl
ZnRfaW5kZXhdLCBhIyNfaGlbcmlnaHRfaW5kZXhdKTsgXAorICB9IHdoaWxlICgwKQorCisjZGVm
aW5lIFNVQl9TMzIoYSwgbGVmdF9pbmRleCwgcmlnaHRfaW5kZXgsIGIsIGJfaW5kZXgpICAgICAg
ICAgICAgICAgICAgIFwKKyAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGIjI19sb1tiX2luZGV4XSA9
IHZzdWJxX3MzMihhIyNfbG9bbGVmdF9pbmRleF0sIGEjI19sb1tyaWdodF9pbmRleF0pOyBcCisg
ICAgYiMjX2hpW2JfaW5kZXhdID0gdnN1YnFfczMyKGEjI19oaVtsZWZ0X2luZGV4XSwgYSMjX2hp
W3JpZ2h0X2luZGV4XSk7IFwKKyAgfSB3aGlsZSAoMCkKKworLy8gTGlrZSBidXR0ZXJmbHlfb25l
X2NvZWZmLCBidXQgZG9uJ3QgbmFycm93IHJlc3VsdHMuCitzdGF0aWMgSU5MSU5FIHZvaWQgYnV0
dGVyZmx5X29uZV9jb2VmZl9zMTZfczMyKAorICAgIGNvbnN0IGludDE2eDhfdCBhLCBjb25zdCBp
bnQxNng4X3QgYiwgY29uc3QgdHJhbl9oaWdoX3QgY29uc3RhbnQsCisgICAgaW50MzJ4NF90ICph
ZGRfbG8sIGludDMyeDRfdCAqYWRkX2hpLCBpbnQzMng0X3QgKnN1Yl9sbywKKyAgICBpbnQzMng0
X3QgKnN1Yl9oaSkgeworICBjb25zdCBpbnQzMng0X3QgYTAgPSB2bXVsbF9uX3MxNih2Z2V0X2xv
d19zMTYoYSksIGNvbnN0YW50KTsKKyAgY29uc3QgaW50MzJ4NF90IGExID0gdm11bGxfbl9zMTYo
dmdldF9oaWdoX3MxNihhKSwgY29uc3RhbnQpOworICBjb25zdCBpbnQzMng0X3Qgc3VtMCA9IHZt
bGFsX25fczE2KGEwLCB2Z2V0X2xvd19zMTYoYiksIGNvbnN0YW50KTsKKyAgY29uc3QgaW50MzJ4
NF90IHN1bTEgPSB2bWxhbF9uX3MxNihhMSwgdmdldF9oaWdoX3MxNihiKSwgY29uc3RhbnQpOwor
ICBjb25zdCBpbnQzMng0X3QgZGlmZjAgPSB2bWxzbF9uX3MxNihhMCwgdmdldF9sb3dfczE2KGIp
LCBjb25zdGFudCk7CisgIGNvbnN0IGludDMyeDRfdCBkaWZmMSA9IHZtbHNsX25fczE2KGExLCB2
Z2V0X2hpZ2hfczE2KGIpLCBjb25zdGFudCk7CisgICphZGRfbG8gPSB2cnNocnFfbl9zMzIoc3Vt
MCwgRENUX0NPTlNUX0JJVFMpOworICAqYWRkX2hpID0gdnJzaHJxX25fczMyKHN1bTEsIERDVF9D
T05TVF9CSVRTKTsKKyAgKnN1Yl9sbyA9IHZyc2hycV9uX3MzMihkaWZmMCwgRENUX0NPTlNUX0JJ
VFMpOworICAqc3ViX2hpID0gdnJzaHJxX25fczMyKGRpZmYxLCBEQ1RfQ09OU1RfQklUUyk7Cit9
CisKKyNkZWZpbmUgQlVUVEVSRkxZX09ORV9TMTZfUzMyKGEsIGxlZnRfaW5kZXgsIHJpZ2h0X2lu
ZGV4LCBjb25zdGFudCwgYiwgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRf
aW5kZXgsIHN1Yl9pbmRleCkgICAgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzIoYVtsZWZ0X2luZGV4XSwgYVtyaWdo
dF9pbmRleF0sIGNvbnN0YW50LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZi
IyNfbG9bYWRkX2luZGV4XSwgJmIjI19oaVthZGRfaW5kZXhdLCAgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmYiMjX2xvW3N1Yl9pbmRleF0sICZiIyNfaGlbc3ViX2luZGV4XSk7
IFwKKyAgfSB3aGlsZSAoMCkKKworLy8gTGlrZSBidXR0ZXJmbHlfb25lX2NvZWZmLCBidXQgd2l0
aCBzMzIuCitzdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzIoCisgICAg
Y29uc3QgaW50MzJ4NF90IGFfbG8sIGNvbnN0IGludDMyeDRfdCBhX2hpLCBjb25zdCBpbnQzMng0
X3QgYl9sbywKKyAgICBjb25zdCBpbnQzMng0X3QgYl9oaSwgY29uc3QgaW50MzJfdCBjb25zdGFu
dCwgaW50MzJ4NF90ICphZGRfbG8sCisgICAgaW50MzJ4NF90ICphZGRfaGksIGludDMyeDRfdCAq
c3ViX2xvLCBpbnQzMng0X3QgKnN1Yl9oaSkgeworICBjb25zdCBpbnQzMng0X3QgYV9sb18wID0g
dm11bHFfbl9zMzIoYV9sbywgY29uc3RhbnQpOworICBjb25zdCBpbnQzMng0X3QgYV9oaV8wID0g
dm11bHFfbl9zMzIoYV9oaSwgY29uc3RhbnQpOworICBjb25zdCBpbnQzMng0X3Qgc3VtMCA9IHZt
bGFxX25fczMyKGFfbG9fMCwgYl9sbywgY29uc3RhbnQpOworICBjb25zdCBpbnQzMng0X3Qgc3Vt
MSA9IHZtbGFxX25fczMyKGFfaGlfMCwgYl9oaSwgY29uc3RhbnQpOworICBjb25zdCBpbnQzMng0
X3QgZGlmZjAgPSB2bWxzcV9uX3MzMihhX2xvXzAsIGJfbG8sIGNvbnN0YW50KTsKKyAgY29uc3Qg
aW50MzJ4NF90IGRpZmYxID0gdm1sc3Ffbl9zMzIoYV9oaV8wLCBiX2hpLCBjb25zdGFudCk7Cisg
ICphZGRfbG8gPSB2cnNocnFfbl9zMzIoc3VtMCwgRENUX0NPTlNUX0JJVFMpOworICAqYWRkX2hp
ID0gdnJzaHJxX25fczMyKHN1bTEsIERDVF9DT05TVF9CSVRTKTsKKyAgKnN1Yl9sbyA9IHZyc2hy
cV9uX3MzMihkaWZmMCwgRENUX0NPTlNUX0JJVFMpOworICAqc3ViX2hpID0gdnJzaHJxX25fczMy
KGRpZmYxLCBEQ1RfQ09OU1RfQklUUyk7Cit9CisKKyNkZWZpbmUgQlVUVEVSRkxZX09ORV9TMzIo
YSwgbGVmdF9pbmRleCwgcmlnaHRfaW5kZXgsIGNvbnN0YW50LCBiLCBhZGRfaW5kZXgsIFwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3ViX2luZGV4KSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBidXR0ZXJm
bHlfb25lX2NvZWZmX3MzMihhIyNfbG9bbGVmdF9pbmRleF0sIGEjI19oaVtsZWZ0X2luZGV4XSwg
ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIyNfbG9bcmlnaHRfaW5k
ZXhdLCBhIyNfaGlbcmlnaHRfaW5kZXhdLCAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdGFudCwgJmIjI19sb1thZGRfaW5kZXhdLCAmYiMjX2hpW2FkZF9pbmRleF0s
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYiMjX2xvW3N1Yl9pbmRleF0sICZiIyNf
aGlbc3ViX2luZGV4XSk7ICAgICAgICAgIFwKKyAgfSB3aGlsZSAoMCkKKworLy8gTGlrZSBidXR0
ZXJmbHlfdHdvX2NvZWZmLCBidXQgd2l0aCBzMzIuCitzdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVy
Zmx5X3R3b19jb2VmZl9zMzIoCisgICAgY29uc3QgaW50MzJ4NF90IGFfbG8sIGNvbnN0IGludDMy
eDRfdCBhX2hpLCBjb25zdCBpbnQzMng0X3QgYl9sbywKKyAgICBjb25zdCBpbnQzMng0X3QgYl9o
aSwgY29uc3QgaW50MzJfdCBjb25zdGFudDAsIGNvbnN0IGludDMyX3QgY29uc3RhbnQxLAorICAg
IGludDMyeDRfdCAqYWRkX2xvLCBpbnQzMng0X3QgKmFkZF9oaSwgaW50MzJ4NF90ICpzdWJfbG8s
CisgICAgaW50MzJ4NF90ICpzdWJfaGkpIHsKKyAgY29uc3QgaW50MzJ4NF90IGEwID0gdm11bHFf
bl9zMzIoYV9sbywgY29uc3RhbnQwKTsKKyAgY29uc3QgaW50MzJ4NF90IGExID0gdm11bHFfbl9z
MzIoYV9oaSwgY29uc3RhbnQwKTsKKyAgY29uc3QgaW50MzJ4NF90IGEyID0gdm11bHFfbl9zMzIo
YV9sbywgY29uc3RhbnQxKTsKKyAgY29uc3QgaW50MzJ4NF90IGEzID0gdm11bHFfbl9zMzIoYV9o
aSwgY29uc3RhbnQxKTsKKyAgY29uc3QgaW50MzJ4NF90IHN1bTAgPSB2bWxhcV9uX3MzMihhMiwg
Yl9sbywgY29uc3RhbnQwKTsKKyAgY29uc3QgaW50MzJ4NF90IHN1bTEgPSB2bWxhcV9uX3MzMihh
MywgYl9oaSwgY29uc3RhbnQwKTsKKyAgY29uc3QgaW50MzJ4NF90IGRpZmYwID0gdm1sc3Ffbl9z
MzIoYTAsIGJfbG8sIGNvbnN0YW50MSk7CisgIGNvbnN0IGludDMyeDRfdCBkaWZmMSA9IHZtbHNx
X25fczMyKGExLCBiX2hpLCBjb25zdGFudDEpOworICAqYWRkX2xvID0gdnJzaHJxX25fczMyKHN1
bTAsIERDVF9DT05TVF9CSVRTKTsKKyAgKmFkZF9oaSA9IHZyc2hycV9uX3MzMihzdW0xLCBEQ1Rf
Q09OU1RfQklUUyk7CisgICpzdWJfbG8gPSB2cnNocnFfbl9zMzIoZGlmZjAsIERDVF9DT05TVF9C
SVRTKTsKKyAgKnN1Yl9oaSA9IHZyc2hycV9uX3MzMihkaWZmMSwgRENUX0NPTlNUX0JJVFMpOwor
fQorCisjZGVmaW5lIEJVVFRFUkZMWV9UV09fUzMyKGEsIGxlZnRfaW5kZXgsIHJpZ2h0X2luZGV4
LCBsZWZ0X2NvbnN0YW50LCAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICBy
aWdodF9jb25zdGFudCwgYiwgYWRkX2luZGV4LCBzdWJfaW5kZXgpICAgICAgICAgICAgIFwKKyAg
ZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzIoYSMjX2xv
W2xlZnRfaW5kZXhdLCBhIyNfaGlbbGVmdF9pbmRleF0sICAgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGEjI19sb1tyaWdodF9pbmRleF0sIGEjI19oaVtyaWdodF9pbmRl
eF0sICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0X2NvbnN0YW50
LCByaWdodF9jb25zdGFudCwgJmIjI19sb1thZGRfaW5kZXhdLCBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmIjI19oaVthZGRfaW5kZXhdLCAmYiMjX2xvW3N1Yl9pbmRleF0sICAgICAg
ICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZiIyNfaGlbc3ViX2luZGV4XSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfSB3aGlsZSAoMCkKKworLy8gQWRk
IDEgaWYgcG9zaXRpdmUsIDIgaWYgbmVnYXRpdmUsIGFuZCBzaGlmdCBieSAyLgorLy8gSW4gcHJh
Y3RpY2UsIGFkZCAxLCB0aGVuIGFkZCB0aGUgc2lnbiBiaXQsIHRoZW4gc2hpZnQgd2l0aG91dCBy
b3VuZGluZy4KK3N0YXRpYyBJTkxJTkUgaW50MTZ4OF90IGFkZF9yb3VuZF9zaGlmdF9zMzIoY29u
c3QgaW50MzJ4NF90IGFfbG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDMyeDRfdCBhX2hpKSB7CisgIGNvbnN0IGludDMyeDRfdCBvbmUgPSB2
ZHVwcV9uX3MzMigxKTsKKyAgY29uc3QgdWludDMyeDRfdCBhX2xvX3UzMiA9IHZyZWludGVycHJl
dHFfdTMyX3MzMihhX2xvKTsKKyAgY29uc3QgdWludDMyeDRfdCBhX2xvX3NpZ25fdTMyID0gdnNo
cnFfbl91MzIoYV9sb191MzIsIDMxKTsKKyAgY29uc3QgaW50MzJ4NF90IGFfbG9fc2lnbl9zMzIg
PSB2cmVpbnRlcnByZXRxX3MzMl91MzIoYV9sb19zaWduX3UzMik7CisgIGNvbnN0IGludDE2eDRf
dCBiX2xvID0KKyAgICAgIHZzaHJuX25fczMyKHZxYWRkcV9zMzIodnFhZGRxX3MzMihhX2xvLCBh
X2xvX3NpZ25fczMyKSwgb25lKSwgMik7CisgIGNvbnN0IHVpbnQzMng0X3QgYV9oaV91MzIgPSB2
cmVpbnRlcnByZXRxX3UzMl9zMzIoYV9oaSk7CisgIGNvbnN0IHVpbnQzMng0X3QgYV9oaV9zaWdu
X3UzMiA9IHZzaHJxX25fdTMyKGFfaGlfdTMyLCAzMSk7CisgIGNvbnN0IGludDMyeDRfdCBhX2hp
X3NpZ25fczMyID0gdnJlaW50ZXJwcmV0cV9zMzJfdTMyKGFfaGlfc2lnbl91MzIpOworICBjb25z
dCBpbnQxNng0X3QgYl9oaSA9CisgICAgICB2c2hybl9uX3MzMih2cWFkZHFfczMyKHZxYWRkcV9z
MzIoYV9oaSwgYV9oaV9zaWduX3MzMiksIG9uZSksIDIpOworICByZXR1cm4gdmNvbWJpbmVfczE2
KGJfbG8sIGJfaGkpOworfQorCitzdGF0aWMgdm9pZCBkY3RfYm9keV9zZWNvbmRfcGFzcyhjb25z
dCBpbnQxNng4X3QgKmluLCBpbnQxNng4X3QgKm91dCkgeworICBpbnQxNng4X3QgYVszMl07Cisg
IGludDE2eDhfdCBiWzMyXTsKKyAgaW50MzJ4NF90IGNfbG9bMzJdOworICBpbnQzMng0X3QgY19o
aVszMl07CisgIGludDMyeDRfdCBkX2xvWzMyXTsKKyAgaW50MzJ4NF90IGRfaGlbMzJdOworCisg
IC8vIFN0YWdlIDEuIERvbmUgYXMgcGFydCBvZiB0aGUgbG9hZCBmb3IgdGhlIGZpcnN0IHBhc3Mu
CisgIGFbMF0gPSB2YWRkcV9zMTYoaW5bMF0sIGluWzMxXSk7CisgIGFbMV0gPSB2YWRkcV9zMTYo
aW5bMV0sIGluWzMwXSk7CisgIGFbMl0gPSB2YWRkcV9zMTYoaW5bMl0sIGluWzI5XSk7CisgIGFb
M10gPSB2YWRkcV9zMTYoaW5bM10sIGluWzI4XSk7CisgIGFbNF0gPSB2YWRkcV9zMTYoaW5bNF0s
IGluWzI3XSk7CisgIGFbNV0gPSB2YWRkcV9zMTYoaW5bNV0sIGluWzI2XSk7CisgIGFbNl0gPSB2
YWRkcV9zMTYoaW5bNl0sIGluWzI1XSk7CisgIGFbN10gPSB2YWRkcV9zMTYoaW5bN10sIGluWzI0
XSk7CisgIGFbOF0gPSB2YWRkcV9zMTYoaW5bOF0sIGluWzIzXSk7CisgIGFbOV0gPSB2YWRkcV9z
MTYoaW5bOV0sIGluWzIyXSk7CisgIGFbMTBdID0gdmFkZHFfczE2KGluWzEwXSwgaW5bMjFdKTsK
KyAgYVsxMV0gPSB2YWRkcV9zMTYoaW5bMTFdLCBpblsyMF0pOworICBhWzEyXSA9IHZhZGRxX3Mx
NihpblsxMl0sIGluWzE5XSk7CisgIGFbMTNdID0gdmFkZHFfczE2KGluWzEzXSwgaW5bMThdKTsK
KyAgYVsxNF0gPSB2YWRkcV9zMTYoaW5bMTRdLCBpblsxN10pOworICBhWzE1XSA9IHZhZGRxX3Mx
NihpblsxNV0sIGluWzE2XSk7CisgIGFbMTZdID0gdnN1YnFfczE2KGluWzE1XSwgaW5bMTZdKTsK
KyAgYVsxN10gPSB2c3VicV9zMTYoaW5bMTRdLCBpblsxN10pOworICBhWzE4XSA9IHZzdWJxX3Mx
NihpblsxM10sIGluWzE4XSk7CisgIGFbMTldID0gdnN1YnFfczE2KGluWzEyXSwgaW5bMTldKTsK
KyAgYVsyMF0gPSB2c3VicV9zMTYoaW5bMTFdLCBpblsyMF0pOworICBhWzIxXSA9IHZzdWJxX3Mx
NihpblsxMF0sIGluWzIxXSk7CisgIGFbMjJdID0gdnN1YnFfczE2KGluWzldLCBpblsyMl0pOwor
ICBhWzIzXSA9IHZzdWJxX3MxNihpbls4XSwgaW5bMjNdKTsKKyAgYVsyNF0gPSB2c3VicV9zMTYo
aW5bN10sIGluWzI0XSk7CisgIGFbMjVdID0gdnN1YnFfczE2KGluWzZdLCBpblsyNV0pOworICBh
WzI2XSA9IHZzdWJxX3MxNihpbls1XSwgaW5bMjZdKTsKKyAgYVsyN10gPSB2c3VicV9zMTYoaW5b
NF0sIGluWzI3XSk7CisgIGFbMjhdID0gdnN1YnFfczE2KGluWzNdLCBpblsyOF0pOworICBhWzI5
XSA9IHZzdWJxX3MxNihpblsyXSwgaW5bMjldKTsKKyAgYVszMF0gPSB2c3VicV9zMTYoaW5bMV0s
IGluWzMwXSk7CisgIGFbMzFdID0gdnN1YnFfczE2KGluWzBdLCBpblszMV0pOworCisgIC8vIFN0
YWdlIDIuCisgIGJbMF0gPSB2YWRkcV9zMTYoYVswXSwgYVsxNV0pOworICBiWzFdID0gdmFkZHFf
czE2KGFbMV0sIGFbMTRdKTsKKyAgYlsyXSA9IHZhZGRxX3MxNihhWzJdLCBhWzEzXSk7CisgIGJb
M10gPSB2YWRkcV9zMTYoYVszXSwgYVsxMl0pOworICBiWzRdID0gdmFkZHFfczE2KGFbNF0sIGFb
MTFdKTsKKyAgYls1XSA9IHZhZGRxX3MxNihhWzVdLCBhWzEwXSk7CisgIGJbNl0gPSB2YWRkcV9z
MTYoYVs2XSwgYVs5XSk7CisgIGJbN10gPSB2YWRkcV9zMTYoYVs3XSwgYVs4XSk7CisKKyAgYls4
XSA9IHZzdWJxX3MxNihhWzddLCBhWzhdKTsKKyAgYls5XSA9IHZzdWJxX3MxNihhWzZdLCBhWzld
KTsKKyAgYlsxMF0gPSB2c3VicV9zMTYoYVs1XSwgYVsxMF0pOworICBiWzExXSA9IHZzdWJxX3Mx
NihhWzRdLCBhWzExXSk7CisgIGJbMTJdID0gdnN1YnFfczE2KGFbM10sIGFbMTJdKTsKKyAgYlsx
M10gPSB2c3VicV9zMTYoYVsyXSwgYVsxM10pOworICBiWzE0XSA9IHZzdWJxX3MxNihhWzFdLCBh
WzE0XSk7CisgIGJbMTVdID0gdnN1YnFfczE2KGFbMF0sIGFbMTVdKTsKKworICBiWzE2XSA9IGFb
MTZdOworICBiWzE3XSA9IGFbMTddOworICBiWzE4XSA9IGFbMThdOworICBiWzE5XSA9IGFbMTld
OworCisgIGJ1dHRlcmZseV9vbmVfY29lZmYoYVsyN10sIGFbMjBdLCBjb3NwaV8xNl82NCwgJmJb
MjddLCAmYlsyMF0pOworICBidXR0ZXJmbHlfb25lX2NvZWZmKGFbMjZdLCBhWzIxXSwgY29zcGlf
MTZfNjQsICZiWzI2XSwgJmJbMjFdKTsKKyAgYnV0dGVyZmx5X29uZV9jb2VmZihhWzI1XSwgYVsy
Ml0sIGNvc3BpXzE2XzY0LCAmYlsyNV0sICZiWzIyXSk7CisgIGJ1dHRlcmZseV9vbmVfY29lZmYo
YVsyNF0sIGFbMjNdLCBjb3NwaV8xNl82NCwgJmJbMjRdLCAmYlsyM10pOworCisgIGJbMjhdID0g
YVsyOF07CisgIGJbMjldID0gYVsyOV07CisgIGJbMzBdID0gYVszMF07CisgIGJbMzFdID0gYVsz
MV07CisKKyAgLy8gU3RhZ2UgMy4gV2l0aCBleHRyZW1lIHZhbHVlcyBmb3IgaW5wdXQgdGhpcyBj
YWxjdWxhdGlvbiByb2xscyBvdmVyIGludDE2X3QuCisgIC8vIFRoZSBzb3VyY2VzIGZvciBiWzBd
IGdldCBhZGRlZCBtdWx0aXBsZSB0aW1lcyBhbmQsIHRocm91Z2ggdGVzdGluZywgaGF2ZQorICAv
LyBiZWVuIHNob3duIHRvIG92ZXJmbG93IHN0YXJ0aW5nIGhlcmUuCisgIEFERF9TMTZfUzMyKGIs
IDAsIDcsIGMsIDApOworICBBRERfUzE2X1MzMihiLCAxLCA2LCBjLCAxKTsKKyAgQUREX1MxNl9T
MzIoYiwgMiwgNSwgYywgMik7CisgIEFERF9TMTZfUzMyKGIsIDMsIDQsIGMsIDMpOworICBTVUJf
UzE2X1MzMihiLCAzLCA0LCBjLCA0KTsKKyAgU1VCX1MxNl9TMzIoYiwgMiwgNSwgYywgNSk7Cisg
IFNVQl9TMTZfUzMyKGIsIDEsIDYsIGMsIDYpOworICBTVUJfUzE2X1MzMihiLCAwLCA3LCBjLCA3
KTsKKworICBhWzhdID0gYls4XTsKKyAgYVs5XSA9IGJbOV07CisKKyAgQlVUVEVSRkxZX09ORV9T
MTZfUzMyKGIsIDEzLCAxMCwgY29zcGlfMTZfNjQsIGMsIDEzLCAxMCk7CisgIEJVVFRFUkZMWV9P
TkVfUzE2X1MzMihiLCAxMiwgMTEsIGNvc3BpXzE2XzY0LCBjLCAxMiwgMTEpOworCisgIGFbMTRd
ID0gYlsxNF07CisgIGFbMTVdID0gYlsxNV07CisKKyAgQUREX1MxNl9TMzIoYiwgMTYsIDIzLCBj
LCAxNik7CisgIEFERF9TMTZfUzMyKGIsIDE3LCAyMiwgYywgMTcpOworICBBRERfUzE2X1MzMihi
LCAxOCwgMjEsIGMsIDE4KTsKKyAgQUREX1MxNl9TMzIoYiwgMTksIDIwLCBjLCAxOSk7CisgIFNV
Ql9TMTZfUzMyKGIsIDE5LCAyMCwgYywgMjApOworICBTVUJfUzE2X1MzMihiLCAxOCwgMjEsIGMs
IDIxKTsKKyAgU1VCX1MxNl9TMzIoYiwgMTcsIDIyLCBjLCAyMik7CisgIFNVQl9TMTZfUzMyKGIs
IDE2LCAyMywgYywgMjMpOworICBTVUJfUzE2X1MzMihiLCAzMSwgMjQsIGMsIDI0KTsKKyAgU1VC
X1MxNl9TMzIoYiwgMzAsIDI1LCBjLCAyNSk7CisgIFNVQl9TMTZfUzMyKGIsIDI5LCAyNiwgYywg
MjYpOworICBTVUJfUzE2X1MzMihiLCAyOCwgMjcsIGMsIDI3KTsKKyAgQUREX1MxNl9TMzIoYiwg
MjgsIDI3LCBjLCAyOCk7CisgIEFERF9TMTZfUzMyKGIsIDI5LCAyNiwgYywgMjkpOworICBBRERf
UzE2X1MzMihiLCAzMCwgMjUsIGMsIDMwKTsKKyAgQUREX1MxNl9TMzIoYiwgMzEsIDI0LCBjLCAz
MSk7CisKKyAgLy8gU3RhZ2UgNC4KKyAgQUREX1MzMihjLCAwLCAzLCBkLCAwKTsKKyAgQUREX1Mz
MihjLCAxLCAyLCBkLCAxKTsKKyAgU1VCX1MzMihjLCAxLCAyLCBkLCAyKTsKKyAgU1VCX1MzMihj
LCAwLCAzLCBkLCAzKTsKKworICBQQVNTX1RIUk9VR0goYywgZCwgNCk7CisKKyAgQlVUVEVSRkxZ
X09ORV9TMzIoYywgNiwgNSwgY29zcGlfMTZfNjQsIGQsIDYsIDUpOworCisgIFBBU1NfVEhST1VH
SChjLCBkLCA3KTsKKworICBBRERXX1MxNl9TMzIoYywgMTEsIGEsIDgsIGQsIDgpOworICBBRERX
X1MxNl9TMzIoYywgMTAsIGEsIDksIGQsIDkpOworICBTVUJXX1MxNl9TMzIoYSwgOSwgYywgMTAs
IGMsIDksIGQsIDEwKTsKKyAgU1VCV19TMTZfUzMyKGEsIDgsIGMsIDExLCBjLCA4LCBkLCAxMSk7
CisgIFNVQldfUzE2X1MzMihhLCAxNSwgYywgMTIsIGMsIDE1LCBkLCAxMik7CisgIFNVQldfUzE2
X1MzMihhLCAxNCwgYywgMTMsIGMsIDE0LCBkLCAxMyk7CisgIEFERFdfUzE2X1MzMihjLCAxMywg
YiwgMTQsIGQsIDE0KTsKKyAgQUREV19TMTZfUzMyKGMsIDEyLCBiLCAxNSwgZCwgMTUpOworCisg
IFBBU1NfVEhST1VHSChjLCBkLCAxNik7CisgIFBBU1NfVEhST1VHSChjLCBkLCAxNyk7CisKKyAg
QlVUVEVSRkxZX1RXT19TMzIoYywgMjksIDE4LCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgZCwg
MjksIDE4KTsKKyAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjgsIDE5LCBjb3NwaV8yNF82NCwgY29z
cGlfOF82NCwgZCwgMjgsIDE5KTsKKyAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjcsIDIwLCAtY29z
cGlfOF82NCwgY29zcGlfMjRfNjQsIGQsIDI3LCAyMCk7CisgIEJVVFRFUkZMWV9UV09fUzMyKGMs
IDI2LCAyMSwgLWNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LCBkLCAyNiwgMjEpOworCisgIFBBU1Nf
VEhST1VHSChjLCBkLCAyMik7CisgIFBBU1NfVEhST1VHSChjLCBkLCAyMyk7CisgIFBBU1NfVEhS
T1VHSChjLCBkLCAyNCk7CisgIFBBU1NfVEhST1VHSChjLCBkLCAyNSk7CisKKyAgUEFTU19USFJP
VUdIKGMsIGQsIDMwKTsKKyAgUEFTU19USFJPVUdIKGMsIGQsIDMxKTsKKworICAvLyBTdGFnZSA1
LgorICBCVVRURVJGTFlfT05FX1MzMihkLCAwLCAxLCBjb3NwaV8xNl82NCwgYywgMCwgMSk7Cisg
IEJVVFRFUkZMWV9UV09fUzMyKGQsIDMsIDIsIGNvc3BpXzI0XzY0LCBjb3NwaV84XzY0LCBjLCAy
LCAzKTsKKworICBBRERfUzMyKGQsIDQsIDUsIGMsIDQpOworICBTVUJfUzMyKGQsIDQsIDUsIGMs
IDUpOworICBTVUJfUzMyKGQsIDcsIDYsIGMsIDYpOworICBBRERfUzMyKGQsIDcsIDYsIGMsIDcp
OworCisgIFBBU1NfVEhST1VHSChkLCBjLCA4KTsKKworICBCVVRURVJGTFlfVFdPX1MzMihkLCAx
NCwgOSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIGMsIDE0LCA5KTsKKyAgQlVUVEVSRkxZX1RX
T19TMzIoZCwgMTMsIDEwLCAtY29zcGlfOF82NCwgY29zcGlfMjRfNjQsIGMsIDEzLCAxMCk7CisK
KyAgUEFTU19USFJPVUdIKGQsIGMsIDExKTsKKyAgUEFTU19USFJPVUdIKGQsIGMsIDEyKTsKKyAg
UEFTU19USFJPVUdIKGQsIGMsIDE1KTsKKworICBBRERfUzMyKGQsIDE2LCAxOSwgYywgMTYpOwor
ICBBRERfUzMyKGQsIDE3LCAxOCwgYywgMTcpOworICBTVUJfUzMyKGQsIDE3LCAxOCwgYywgMTgp
OworICBTVUJfUzMyKGQsIDE2LCAxOSwgYywgMTkpOworICBTVUJfUzMyKGQsIDIzLCAyMCwgYywg
MjApOworICBTVUJfUzMyKGQsIDIyLCAyMSwgYywgMjEpOworICBBRERfUzMyKGQsIDIyLCAyMSwg
YywgMjIpOworICBBRERfUzMyKGQsIDIzLCAyMCwgYywgMjMpOworICBBRERfUzMyKGQsIDI0LCAy
NywgYywgMjQpOworICBBRERfUzMyKGQsIDI1LCAyNiwgYywgMjUpOworICBTVUJfUzMyKGQsIDI1
LCAyNiwgYywgMjYpOworICBTVUJfUzMyKGQsIDI0LCAyNywgYywgMjcpOworICBTVUJfUzMyKGQs
IDMxLCAyOCwgYywgMjgpOworICBTVUJfUzMyKGQsIDMwLCAyOSwgYywgMjkpOworICBBRERfUzMy
KGQsIDMwLCAyOSwgYywgMzApOworICBBRERfUzMyKGQsIDMxLCAyOCwgYywgMzEpOworCisgIC8v
IFN0YWdlIDYuCisgIFBBU1NfVEhST1VHSChjLCBkLCAwKTsKKyAgUEFTU19USFJPVUdIKGMsIGQs
IDEpOworICBQQVNTX1RIUk9VR0goYywgZCwgMik7CisgIFBBU1NfVEhST1VHSChjLCBkLCAzKTsK
KworICBCVVRURVJGTFlfVFdPX1MzMihjLCA3LCA0LCBjb3NwaV8yOF82NCwgY29zcGlfNF82NCwg
ZCwgNCwgNyk7CisgIEJVVFRFUkZMWV9UV09fUzMyKGMsIDYsIDUsIGNvc3BpXzEyXzY0LCBjb3Nw
aV8yMF82NCwgZCwgNSwgNik7CisKKyAgQUREX1MzMihjLCA4LCA5LCBkLCA4KTsKKyAgU1VCX1Mz
MihjLCA4LCA5LCBkLCA5KTsKKyAgU1VCX1MzMihjLCAxMSwgMTAsIGQsIDEwKTsKKyAgQUREX1Mz
MihjLCAxMSwgMTAsIGQsIDExKTsKKyAgQUREX1MzMihjLCAxMiwgMTMsIGQsIDEyKTsKKyAgU1VC
X1MzMihjLCAxMiwgMTMsIGQsIDEzKTsKKyAgU1VCX1MzMihjLCAxNSwgMTQsIGQsIDE0KTsKKyAg
QUREX1MzMihjLCAxNSwgMTQsIGQsIDE1KTsKKworICBQQVNTX1RIUk9VR0goYywgZCwgMTYpOwor
ICBQQVNTX1RIUk9VR0goYywgZCwgMTkpOworICBQQVNTX1RIUk9VR0goYywgZCwgMjApOworICBQ
QVNTX1RIUk9VR0goYywgZCwgMjMpOworICBQQVNTX1RIUk9VR0goYywgZCwgMjQpOworICBQQVNT
X1RIUk9VR0goYywgZCwgMjcpOworICBQQVNTX1RIUk9VR0goYywgZCwgMjgpOworICBQQVNTX1RI
Uk9VR0goYywgZCwgMzEpOworCisgIEJVVFRFUkZMWV9UV09fUzMyKGMsIDMwLCAxNywgY29zcGlf
MjhfNjQsIGNvc3BpXzRfNjQsIGQsIDMwLCAxNyk7CisgIEJVVFRFUkZMWV9UV09fUzMyKGMsIDI5
LCAxOCwgLWNvc3BpXzRfNjQsIGNvc3BpXzI4XzY0LCBkLCAyOSwgMTgpOworICBCVVRURVJGTFlf
VFdPX1MzMihjLCAyNiwgMjEsIGNvc3BpXzEyXzY0LCBjb3NwaV8yMF82NCwgZCwgMjYsIDIxKTsK
KyAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjUsIDIyLCAtY29zcGlfMjBfNjQsIGNvc3BpXzEyXzY0
LCBkLCAyNSwgMjIpOworCisgIC8vIFN0YWdlIDcuCisgIFBBU1NfVEhST1VHSChkLCBjLCAwKTsK
KyAgUEFTU19USFJPVUdIKGQsIGMsIDEpOworICBQQVNTX1RIUk9VR0goZCwgYywgMik7CisgIFBB
U1NfVEhST1VHSChkLCBjLCAzKTsKKyAgUEFTU19USFJPVUdIKGQsIGMsIDQpOworICBQQVNTX1RI
Uk9VR0goZCwgYywgNSk7CisgIFBBU1NfVEhST1VHSChkLCBjLCA2KTsKKyAgUEFTU19USFJPVUdI
KGQsIGMsIDcpOworCisgIEJVVFRFUkZMWV9UV09fUzMyKGQsIDE1LCA4LCBjb3NwaV8zMF82NCwg
Y29zcGlfMl82NCwgYywgOCwgMTUpOworICBCVVRURVJGTFlfVFdPX1MzMihkLCAxNCwgOSwgY29z
cGlfMTRfNjQsIGNvc3BpXzE4XzY0LCBjLCA5LCAxNCk7CisgIEJVVFRFUkZMWV9UV09fUzMyKGQs
IDEzLCAxMCwgY29zcGlfMjJfNjQsIGNvc3BpXzEwXzY0LCBjLCAxMCwgMTMpOworICBCVVRURVJG
TFlfVFdPX1MzMihkLCAxMiwgMTEsIGNvc3BpXzZfNjQsIGNvc3BpXzI2XzY0LCBjLCAxMSwgMTIp
OworCisgIEFERF9TMzIoZCwgMTYsIDE3LCBjLCAxNik7CisgIFNVQl9TMzIoZCwgMTYsIDE3LCBj
LCAxNyk7CisgIFNVQl9TMzIoZCwgMTksIDE4LCBjLCAxOCk7CisgIEFERF9TMzIoZCwgMTksIDE4
LCBjLCAxOSk7CisgIEFERF9TMzIoZCwgMjAsIDIxLCBjLCAyMCk7CisgIFNVQl9TMzIoZCwgMjAs
IDIxLCBjLCAyMSk7CisgIFNVQl9TMzIoZCwgMjMsIDIyLCBjLCAyMik7CisgIEFERF9TMzIoZCwg
MjMsIDIyLCBjLCAyMyk7CisgIEFERF9TMzIoZCwgMjQsIDI1LCBjLCAyNCk7CisgIFNVQl9TMzIo
ZCwgMjQsIDI1LCBjLCAyNSk7CisgIFNVQl9TMzIoZCwgMjcsIDI2LCBjLCAyNik7CisgIEFERF9T
MzIoZCwgMjcsIDI2LCBjLCAyNyk7CisgIEFERF9TMzIoZCwgMjgsIDI5LCBjLCAyOCk7CisgIFNV
Ql9TMzIoZCwgMjgsIDI5LCBjLCAyOSk7CisgIFNVQl9TMzIoZCwgMzEsIDMwLCBjLCAzMCk7Cisg
IEFERF9TMzIoZCwgMzEsIDMwLCBjLCAzMSk7CisKKyAgLy8gRmluYWwgc3RhZ2UuCisgIC8vIFJv
bGwgcm91bmRpbmcgaW50byB0aGlzIGZ1bmN0aW9uIHNvIHdlIGNhbiBwYXNzIGJhY2sgaW50MTZ4
OC4KKworICBvdXRbMF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGNfbG9bMF0sIGNfaGlbMF0pOwor
ICBvdXRbMTZdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihjX2xvWzFdLCBjX2hpWzFdKTsKKworICBv
dXRbOF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGNfbG9bMl0sIGNfaGlbMl0pOworICBvdXRbMjRd
ID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihjX2xvWzNdLCBjX2hpWzNdKTsKKyAgb3V0WzRdID0gYWRk
X3JvdW5kX3NoaWZ0X3MzMihjX2xvWzRdLCBjX2hpWzRdKTsKKyAgb3V0WzIwXSA9IGFkZF9yb3Vu
ZF9zaGlmdF9zMzIoY19sb1s1XSwgY19oaVs1XSk7CisgIG91dFsxMl0gPSBhZGRfcm91bmRfc2hp
ZnRfczMyKGNfbG9bNl0sIGNfaGlbNl0pOworCisgIG91dFsyOF0gPSBhZGRfcm91bmRfc2hpZnRf
czMyKGNfbG9bN10sIGNfaGlbN10pOworICBvdXRbMl0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGNf
bG9bOF0sIGNfaGlbOF0pOworICBvdXRbMThdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihjX2xvWzld
LCBjX2hpWzldKTsKKyAgb3V0WzEwXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIoY19sb1sxMF0sIGNf
aGlbMTBdKTsKKworICBvdXRbMjZdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihjX2xvWzExXSwgY19o
aVsxMV0pOworICBvdXRbNl0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGNfbG9bMTJdLCBjX2hpWzEy
XSk7CisgIG91dFsyMl0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGNfbG9bMTNdLCBjX2hpWzEzXSk7
CisgIG91dFsxNF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGNfbG9bMTRdLCBjX2hpWzE0XSk7Cisg
IG91dFszMF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGNfbG9bMTVdLCBjX2hpWzE1XSk7CisKKyAg
QlVUVEVSRkxZX1RXT19TMzIoYywgMzEsIDE2LCBjb3NwaV8zMV82NCwgY29zcGlfMV82NCwgZCwg
MSwgMzEpOworICBvdXRbMV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGRfbG9bMV0sIGRfaGlbMV0p
OworICBvdXRbMzFdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihkX2xvWzMxXSwgZF9oaVszMV0pOwor
CisgIEJVVFRFUkZMWV9UV09fUzMyKGMsIDMwLCAxNywgY29zcGlfMTVfNjQsIGNvc3BpXzE3XzY0
LCBkLCAxNywgMTUpOworICBvdXRbMTddID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihkX2xvWzE3XSwg
ZF9oaVsxN10pOworICBvdXRbMTVdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihkX2xvWzE1XSwgZF9o
aVsxNV0pOworCisgIEJVVFRFUkZMWV9UV09fUzMyKGMsIDI5LCAxOCwgY29zcGlfMjNfNjQsIGNv
c3BpXzlfNjQsIGQsIDksIDIzKTsKKyAgb3V0WzldID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihkX2xv
WzldLCBkX2hpWzldKTsKKyAgb3V0WzIzXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIoZF9sb1syM10s
IGRfaGlbMjNdKTsKKworICBCVVRURVJGTFlfVFdPX1MzMihjLCAyOCwgMTksIGNvc3BpXzdfNjQs
IGNvc3BpXzI1XzY0LCBkLCAyNSwgNyk7CisgIG91dFsyNV0gPSBhZGRfcm91bmRfc2hpZnRfczMy
KGRfbG9bMjVdLCBkX2hpWzI1XSk7CisgIG91dFs3XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIoZF9s
b1s3XSwgZF9oaVs3XSk7CisKKyAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjcsIDIwLCBjb3NwaV8y
N182NCwgY29zcGlfNV82NCwgZCwgNSwgMjcpOworICBvdXRbNV0gPSBhZGRfcm91bmRfc2hpZnRf
czMyKGRfbG9bNV0sIGRfaGlbNV0pOworICBvdXRbMjddID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihk
X2xvWzI3XSwgZF9oaVsyN10pOworCisgIEJVVFRFUkZMWV9UV09fUzMyKGMsIDI2LCAyMSwgY29z
cGlfMTFfNjQsIGNvc3BpXzIxXzY0LCBkLCAyMSwgMTEpOworICBvdXRbMjFdID0gYWRkX3JvdW5k
X3NoaWZ0X3MzMihkX2xvWzIxXSwgZF9oaVsyMV0pOworICBvdXRbMTFdID0gYWRkX3JvdW5kX3No
aWZ0X3MzMihkX2xvWzExXSwgZF9oaVsxMV0pOworCisgIEJVVFRFUkZMWV9UV09fUzMyKGMsIDI1
LCAyMiwgY29zcGlfMTlfNjQsIGNvc3BpXzEzXzY0LCBkLCAxMywgMTkpOworICBvdXRbMTNdID0g
YWRkX3JvdW5kX3NoaWZ0X3MzMihkX2xvWzEzXSwgZF9oaVsxM10pOworICBvdXRbMTldID0gYWRk
X3JvdW5kX3NoaWZ0X3MzMihkX2xvWzE5XSwgZF9oaVsxOV0pOworCisgIEJVVFRFUkZMWV9UV09f
UzMyKGMsIDI0LCAyMywgY29zcGlfM182NCwgY29zcGlfMjlfNjQsIGQsIDI5LCAzKTsKKyAgb3V0
WzI5XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIoZF9sb1syOV0sIGRfaGlbMjldKTsKKyAgb3V0WzNd
ID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihkX2xvWzNdLCBkX2hpWzNdKTsKK30KKworLy8gQWRkIDEg
aWYgcG9zaXRpdmUsIDIgaWYgbmVnYXRpdmUsIGFuZCBzaGlmdCBieSAyLgorLy8gSW4gcHJhY3Rp
Y2UsIGFkZCAxLCB0aGVuIGFkZCB0aGUgc2lnbiBiaXQsIHRoZW4gc2hpZnQgd2l0aG91dCByb3Vu
ZGluZy4KK3N0YXRpYyBJTkxJTkUgaW50MTZ4OF90IGFkZF9yb3VuZF9zaGlmdF9zMTYoY29uc3Qg
aW50MTZ4OF90IGEpIHsKKyAgY29uc3QgaW50MTZ4OF90IG9uZSA9IHZkdXBxX25fczE2KDEpOwor
ICBjb25zdCB1aW50MTZ4OF90IGFfdTE2ID0gdnJlaW50ZXJwcmV0cV91MTZfczE2KGEpOworICBj
b25zdCB1aW50MTZ4OF90IGFfc2lnbl91MTYgPSB2c2hycV9uX3UxNihhX3UxNiwgMTUpOworICBj
b25zdCBpbnQxNng4X3QgYV9zaWduX3MxNiA9IHZyZWludGVycHJldHFfczE2X3UxNihhX3NpZ25f
dTE2KTsKKyAgcmV0dXJuIHZzaHJxX25fczE2KHZhZGRxX3MxNih2YWRkcV9zMTYoYSwgYV9zaWdu
X3MxNiksIG9uZSksIDIpOworfQorCitzdGF0aWMgdm9pZCBkY3RfYm9keV9zZWNvbmRfcGFzc19y
ZChjb25zdCBpbnQxNng4X3QgKmluLCBpbnQxNng4X3QgKm91dCkgeworICBpbnQxNng4X3QgYVsz
Ml07CisgIGludDE2eDhfdCBiWzMyXTsKKworICAvLyBTdGFnZSAxLiBEb25lIGFzIHBhcnQgb2Yg
dGhlIGxvYWQgZm9yIHRoZSBmaXJzdCBwYXNzLgorICBhWzBdID0gdmFkZHFfczE2KGluWzBdLCBp
blszMV0pOworICBhWzFdID0gdmFkZHFfczE2KGluWzFdLCBpblszMF0pOworICBhWzJdID0gdmFk
ZHFfczE2KGluWzJdLCBpblsyOV0pOworICBhWzNdID0gdmFkZHFfczE2KGluWzNdLCBpblsyOF0p
OworICBhWzRdID0gdmFkZHFfczE2KGluWzRdLCBpblsyN10pOworICBhWzVdID0gdmFkZHFfczE2
KGluWzVdLCBpblsyNl0pOworICBhWzZdID0gdmFkZHFfczE2KGluWzZdLCBpblsyNV0pOworICBh
WzddID0gdmFkZHFfczE2KGluWzddLCBpblsyNF0pOworICBhWzhdID0gdmFkZHFfczE2KGluWzhd
LCBpblsyM10pOworICBhWzldID0gdmFkZHFfczE2KGluWzldLCBpblsyMl0pOworICBhWzEwXSA9
IHZhZGRxX3MxNihpblsxMF0sIGluWzIxXSk7CisgIGFbMTFdID0gdmFkZHFfczE2KGluWzExXSwg
aW5bMjBdKTsKKyAgYVsxMl0gPSB2YWRkcV9zMTYoaW5bMTJdLCBpblsxOV0pOworICBhWzEzXSA9
IHZhZGRxX3MxNihpblsxM10sIGluWzE4XSk7CisgIGFbMTRdID0gdmFkZHFfczE2KGluWzE0XSwg
aW5bMTddKTsKKyAgYVsxNV0gPSB2YWRkcV9zMTYoaW5bMTVdLCBpblsxNl0pOworICBhWzE2XSA9
IHZzdWJxX3MxNihpblsxNV0sIGluWzE2XSk7CisgIGFbMTddID0gdnN1YnFfczE2KGluWzE0XSwg
aW5bMTddKTsKKyAgYVsxOF0gPSB2c3VicV9zMTYoaW5bMTNdLCBpblsxOF0pOworICBhWzE5XSA9
IHZzdWJxX3MxNihpblsxMl0sIGluWzE5XSk7CisgIGFbMjBdID0gdnN1YnFfczE2KGluWzExXSwg
aW5bMjBdKTsKKyAgYVsyMV0gPSB2c3VicV9zMTYoaW5bMTBdLCBpblsyMV0pOworICBhWzIyXSA9
IHZzdWJxX3MxNihpbls5XSwgaW5bMjJdKTsKKyAgYVsyM10gPSB2c3VicV9zMTYoaW5bOF0sIGlu
WzIzXSk7CisgIGFbMjRdID0gdnN1YnFfczE2KGluWzddLCBpblsyNF0pOworICBhWzI1XSA9IHZz
dWJxX3MxNihpbls2XSwgaW5bMjVdKTsKKyAgYVsyNl0gPSB2c3VicV9zMTYoaW5bNV0sIGluWzI2
XSk7CisgIGFbMjddID0gdnN1YnFfczE2KGluWzRdLCBpblsyN10pOworICBhWzI4XSA9IHZzdWJx
X3MxNihpblszXSwgaW5bMjhdKTsKKyAgYVsyOV0gPSB2c3VicV9zMTYoaW5bMl0sIGluWzI5XSk7
CisgIGFbMzBdID0gdnN1YnFfczE2KGluWzFdLCBpblszMF0pOworICBhWzMxXSA9IHZzdWJxX3Mx
NihpblswXSwgaW5bMzFdKTsKKworICAvLyBTdGFnZSAyLgorICAvLyBGb3IgdGhlICJyZCIgdmVy
c2lvbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIHJvdW5kZWQgZG93biBhZnRlciBzdGFnZSAyIHRvIGtl
ZXAKKyAgLy8gdGhlIHZhbHVlcyBpbiAxNiBiaXRzLgorICBiWzBdID0gYWRkX3JvdW5kX3NoaWZ0
X3MxNih2YWRkcV9zMTYoYVswXSwgYVsxNV0pKTsKKyAgYlsxXSA9IGFkZF9yb3VuZF9zaGlmdF9z
MTYodmFkZHFfczE2KGFbMV0sIGFbMTRdKSk7CisgIGJbMl0gPSBhZGRfcm91bmRfc2hpZnRfczE2
KHZhZGRxX3MxNihhWzJdLCBhWzEzXSkpOworICBiWzNdID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2
YWRkcV9zMTYoYVszXSwgYVsxMl0pKTsKKyAgYls0XSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYodmFk
ZHFfczE2KGFbNF0sIGFbMTFdKSk7CisgIGJbNV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZhZGRx
X3MxNihhWzVdLCBhWzEwXSkpOworICBiWzZdID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2YWRkcV9z
MTYoYVs2XSwgYVs5XSkpOworICBiWzddID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2YWRkcV9zMTYo
YVs3XSwgYVs4XSkpOworCisgIGJbOF0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihh
WzddLCBhWzhdKSk7CisgIGJbOV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihhWzZd
LCBhWzldKSk7CisgIGJbMTBdID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2c3VicV9zMTYoYVs1XSwg
YVsxMF0pKTsKKyAgYlsxMV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihhWzRdLCBh
WzExXSkpOworICBiWzEyXSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYodnN1YnFfczE2KGFbM10sIGFb
MTJdKSk7CisgIGJbMTNdID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2c3VicV9zMTYoYVsyXSwgYVsx
M10pKTsKKyAgYlsxNF0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihhWzFdLCBhWzE0
XSkpOworICBiWzE1XSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYodnN1YnFfczE2KGFbMF0sIGFbMTVd
KSk7CisKKyAgYlsxNl0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGFbMTZdKTsKKyAgYlsxN10gPSBh
ZGRfcm91bmRfc2hpZnRfczE2KGFbMTddKTsKKyAgYlsxOF0gPSBhZGRfcm91bmRfc2hpZnRfczE2
KGFbMThdKTsKKyAgYlsxOV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGFbMTldKTsKKworICBidXR0
ZXJmbHlfb25lX2NvZWZmKGFbMjddLCBhWzIwXSwgY29zcGlfMTZfNjQsICZiWzI3XSwgJmJbMjBd
KTsKKyAgYnV0dGVyZmx5X29uZV9jb2VmZihhWzI2XSwgYVsyMV0sIGNvc3BpXzE2XzY0LCAmYlsy
Nl0sICZiWzIxXSk7CisgIGJ1dHRlcmZseV9vbmVfY29lZmYoYVsyNV0sIGFbMjJdLCBjb3NwaV8x
Nl82NCwgJmJbMjVdLCAmYlsyMl0pOworICBidXR0ZXJmbHlfb25lX2NvZWZmKGFbMjRdLCBhWzIz
XSwgY29zcGlfMTZfNjQsICZiWzI0XSwgJmJbMjNdKTsKKyAgYlsyMF0gPSBhZGRfcm91bmRfc2hp
ZnRfczE2KGJbMjBdKTsKKyAgYlsyMV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjFdKTsKKyAg
YlsyMl0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjJdKTsKKyAgYlsyM10gPSBhZGRfcm91bmRf
c2hpZnRfczE2KGJbMjNdKTsKKyAgYlsyNF0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjRdKTsK
KyAgYlsyNV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjVdKTsKKyAgYlsyNl0gPSBhZGRfcm91
bmRfc2hpZnRfczE2KGJbMjZdKTsKKyAgYlsyN10gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjdd
KTsKKworICBiWzI4XSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYoYVsyOF0pOworICBiWzI5XSA9IGFk
ZF9yb3VuZF9zaGlmdF9zMTYoYVsyOV0pOworICBiWzMwXSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYo
YVszMF0pOworICBiWzMxXSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYoYVszMV0pOworCisgIC8vIFN0
YWdlIDMuCisgIGFbMF0gPSB2YWRkcV9zMTYoYlswXSwgYls3XSk7CisgIGFbMV0gPSB2YWRkcV9z
MTYoYlsxXSwgYls2XSk7CisgIGFbMl0gPSB2YWRkcV9zMTYoYlsyXSwgYls1XSk7CisgIGFbM10g
PSB2YWRkcV9zMTYoYlszXSwgYls0XSk7CisKKyAgYVs0XSA9IHZzdWJxX3MxNihiWzNdLCBiWzRd
KTsKKyAgYVs1XSA9IHZzdWJxX3MxNihiWzJdLCBiWzVdKTsKKyAgYVs2XSA9IHZzdWJxX3MxNihi
WzFdLCBiWzZdKTsKKyAgYVs3XSA9IHZzdWJxX3MxNihiWzBdLCBiWzddKTsKKworICBhWzhdID0g
Yls4XTsKKyAgYVs5XSA9IGJbOV07CisKKyAgYnV0dGVyZmx5X29uZV9jb2VmZihiWzEzXSwgYlsx
MF0sIGNvc3BpXzE2XzY0LCAmYVsxM10sICZhWzEwXSk7CisgIGJ1dHRlcmZseV9vbmVfY29lZmYo
YlsxMl0sIGJbMTFdLCBjb3NwaV8xNl82NCwgJmFbMTJdLCAmYVsxMV0pOworCisgIGFbMTRdID0g
YlsxNF07CisgIGFbMTVdID0gYlsxNV07CisKKyAgYVsxNl0gPSB2YWRkcV9zMTYoYlsxNl0sIGJb
MjNdKTsKKyAgYVsxN10gPSB2YWRkcV9zMTYoYlsxN10sIGJbMjJdKTsKKyAgYVsxOF0gPSB2YWRk
cV9zMTYoYlsxOF0sIGJbMjFdKTsKKyAgYVsxOV0gPSB2YWRkcV9zMTYoYlsxOV0sIGJbMjBdKTsK
KworICBhWzIwXSA9IHZzdWJxX3MxNihiWzE5XSwgYlsyMF0pOworICBhWzIxXSA9IHZzdWJxX3Mx
NihiWzE4XSwgYlsyMV0pOworICBhWzIyXSA9IHZzdWJxX3MxNihiWzE3XSwgYlsyMl0pOworICBh
WzIzXSA9IHZzdWJxX3MxNihiWzE2XSwgYlsyM10pOworCisgIGFbMjRdID0gdnN1YnFfczE2KGJb
MzFdLCBiWzI0XSk7CisgIGFbMjVdID0gdnN1YnFfczE2KGJbMzBdLCBiWzI1XSk7CisgIGFbMjZd
ID0gdnN1YnFfczE2KGJbMjldLCBiWzI2XSk7CisgIGFbMjddID0gdnN1YnFfczE2KGJbMjhdLCBi
WzI3XSk7CisKKyAgYVsyOF0gPSB2YWRkcV9zMTYoYlsyOF0sIGJbMjddKTsKKyAgYVsyOV0gPSB2
YWRkcV9zMTYoYlsyOV0sIGJbMjZdKTsKKyAgYVszMF0gPSB2YWRkcV9zMTYoYlszMF0sIGJbMjVd
KTsKKyAgYVszMV0gPSB2YWRkcV9zMTYoYlszMV0sIGJbMjRdKTsKKworICAvLyBTdGFnZSA0Lgor
ICBiWzBdID0gdmFkZHFfczE2KGFbMF0sIGFbM10pOworICBiWzFdID0gdmFkZHFfczE2KGFbMV0s
IGFbMl0pOworICBiWzJdID0gdnN1YnFfczE2KGFbMV0sIGFbMl0pOworICBiWzNdID0gdnN1YnFf
czE2KGFbMF0sIGFbM10pOworCisgIGJbNF0gPSBhWzRdOworCisgIGJ1dHRlcmZseV9vbmVfY29l
ZmYoYVs2XSwgYVs1XSwgY29zcGlfMTZfNjQsICZiWzZdLCAmYls1XSk7CisKKyAgYls3XSA9IGFb
N107CisKKyAgYls4XSA9IHZhZGRxX3MxNihhWzhdLCBhWzExXSk7CisgIGJbOV0gPSB2YWRkcV9z
MTYoYVs5XSwgYVsxMF0pOworICBiWzEwXSA9IHZzdWJxX3MxNihhWzldLCBhWzEwXSk7CisgIGJb
MTFdID0gdnN1YnFfczE2KGFbOF0sIGFbMTFdKTsKKyAgYlsxMl0gPSB2c3VicV9zMTYoYVsxNV0s
IGFbMTJdKTsKKyAgYlsxM10gPSB2c3VicV9zMTYoYVsxNF0sIGFbMTNdKTsKKyAgYlsxNF0gPSB2
YWRkcV9zMTYoYVsxNF0sIGFbMTNdKTsKKyAgYlsxNV0gPSB2YWRkcV9zMTYoYVsxNV0sIGFbMTJd
KTsKKworICBiWzE2XSA9IGFbMTZdOworICBiWzE3XSA9IGFbMTddOworCisgIGJ1dHRlcmZseV90
d29fY29lZmYoYVsyOV0sIGFbMThdLCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgJmJbMjldLCAm
YlsxOF0pOworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjhdLCBhWzE5XSwgY29zcGlfMjRfNjQs
IGNvc3BpXzhfNjQsICZiWzI4XSwgJmJbMTldKTsKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzI3
XSwgYVsyMF0sIC1jb3NwaV84XzY0LCBjb3NwaV8yNF82NCwgJmJbMjddLCAmYlsyMF0pOworICBi
dXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjZdLCBhWzIxXSwgLWNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0
LCAmYlsyNl0sICZiWzIxXSk7CisKKyAgYlsyMl0gPSBhWzIyXTsKKyAgYlsyM10gPSBhWzIzXTsK
KyAgYlsyNF0gPSBhWzI0XTsKKyAgYlsyNV0gPSBhWzI1XTsKKworICBiWzMwXSA9IGFbMzBdOwor
ICBiWzMxXSA9IGFbMzFdOworCisgIC8vIFN0YWdlIDUuCisgIGJ1dHRlcmZseV9vbmVfY29lZmYo
YlswXSwgYlsxXSwgY29zcGlfMTZfNjQsICZhWzBdLCAmYVsxXSk7CisgIGJ1dHRlcmZseV90d29f
Y29lZmYoYlszXSwgYlsyXSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsICZhWzJdLCAmYVszXSk7
CisKKyAgYVs0XSA9IHZhZGRxX3MxNihiWzRdLCBiWzVdKTsKKyAgYVs1XSA9IHZzdWJxX3MxNihi
WzRdLCBiWzVdKTsKKyAgYVs2XSA9IHZzdWJxX3MxNihiWzddLCBiWzZdKTsKKyAgYVs3XSA9IHZh
ZGRxX3MxNihiWzddLCBiWzZdKTsKKworICBhWzhdID0gYls4XTsKKworICBidXR0ZXJmbHlfdHdv
X2NvZWZmKGJbMTRdLCBiWzldLCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgJmFbMTRdLCAmYVs5
XSk7CisgIGJ1dHRlcmZseV90d29fY29lZmYoYlsxM10sIGJbMTBdLCAtY29zcGlfOF82NCwgY29z
cGlfMjRfNjQsICZhWzEzXSwgJmFbMTBdKTsKKworICBhWzExXSA9IGJbMTFdOworICBhWzEyXSA9
IGJbMTJdOworCisgIGFbMTVdID0gYlsxNV07CisKKyAgYVsxNl0gPSB2YWRkcV9zMTYoYlsxOV0s
IGJbMTZdKTsKKyAgYVsxN10gPSB2YWRkcV9zMTYoYlsxOF0sIGJbMTddKTsKKyAgYVsxOF0gPSB2
c3VicV9zMTYoYlsxN10sIGJbMThdKTsKKyAgYVsxOV0gPSB2c3VicV9zMTYoYlsxNl0sIGJbMTld
KTsKKyAgYVsyMF0gPSB2c3VicV9zMTYoYlsyM10sIGJbMjBdKTsKKyAgYVsyMV0gPSB2c3VicV9z
MTYoYlsyMl0sIGJbMjFdKTsKKyAgYVsyMl0gPSB2YWRkcV9zMTYoYlsyMV0sIGJbMjJdKTsKKyAg
YVsyM10gPSB2YWRkcV9zMTYoYlsyMF0sIGJbMjNdKTsKKyAgYVsyNF0gPSB2YWRkcV9zMTYoYlsy
N10sIGJbMjRdKTsKKyAgYVsyNV0gPSB2YWRkcV9zMTYoYlsyNl0sIGJbMjVdKTsKKyAgYVsyNl0g
PSB2c3VicV9zMTYoYlsyNV0sIGJbMjZdKTsKKyAgYVsyN10gPSB2c3VicV9zMTYoYlsyNF0sIGJb
MjddKTsKKyAgYVsyOF0gPSB2c3VicV9zMTYoYlszMV0sIGJbMjhdKTsKKyAgYVsyOV0gPSB2c3Vi
cV9zMTYoYlszMF0sIGJbMjldKTsKKyAgYVszMF0gPSB2YWRkcV9zMTYoYlsyOV0sIGJbMzBdKTsK
KyAgYVszMV0gPSB2YWRkcV9zMTYoYlsyOF0sIGJbMzFdKTsKKworICAvLyBTdGFnZSA2LgorICBi
WzBdID0gYVswXTsKKyAgYlsxXSA9IGFbMV07CisgIGJbMl0gPSBhWzJdOworICBiWzNdID0gYVsz
XTsKKworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbN10sIGFbNF0sIGNvc3BpXzI4XzY0LCBjb3Nw
aV80XzY0LCAmYls0XSwgJmJbN10pOworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbNl0sIGFbNV0s
IGNvc3BpXzEyXzY0LCBjb3NwaV8yMF82NCwgJmJbNV0sICZiWzZdKTsKKworICBiWzhdID0gdmFk
ZHFfczE2KGFbOF0sIGFbOV0pOworICBiWzldID0gdnN1YnFfczE2KGFbOF0sIGFbOV0pOworICBi
WzEwXSA9IHZzdWJxX3MxNihhWzExXSwgYVsxMF0pOworICBiWzExXSA9IHZhZGRxX3MxNihhWzEx
XSwgYVsxMF0pOworICBiWzEyXSA9IHZhZGRxX3MxNihhWzEyXSwgYVsxM10pOworICBiWzEzXSA9
IHZzdWJxX3MxNihhWzEyXSwgYVsxM10pOworICBiWzE0XSA9IHZzdWJxX3MxNihhWzE1XSwgYVsx
NF0pOworICBiWzE1XSA9IHZhZGRxX3MxNihhWzE1XSwgYVsxNF0pOworCisgIGJbMTZdID0gYVsx
Nl07CisgIGJbMTldID0gYVsxOV07CisgIGJbMjBdID0gYVsyMF07CisgIGJbMjNdID0gYVsyM107
CisgIGJbMjRdID0gYVsyNF07CisgIGJbMjddID0gYVsyN107CisgIGJbMjhdID0gYVsyOF07Cisg
IGJbMzFdID0gYVszMV07CisKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzMwXSwgYVsxN10sIGNv
c3BpXzI4XzY0LCBjb3NwaV80XzY0LCAmYlszMF0sICZiWzE3XSk7CisgIGJ1dHRlcmZseV90d29f
Y29lZmYoYVsyOV0sIGFbMThdLCAtY29zcGlfNF82NCwgY29zcGlfMjhfNjQsICZiWzI5XSwgJmJb
MThdKTsKKworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjZdLCBhWzIxXSwgY29zcGlfMTJfNjQs
IGNvc3BpXzIwXzY0LCAmYlsyNl0sICZiWzIxXSk7CisgIGJ1dHRlcmZseV90d29fY29lZmYoYVsy
NV0sIGFbMjJdLCAtY29zcGlfMjBfNjQsIGNvc3BpXzEyXzY0LCAmYlsyNV0sICZiWzIyXSk7CisK
KyAgLy8gU3RhZ2UgNy4KKyAgYVswXSA9IGJbMF07CisgIGFbMV0gPSBiWzFdOworICBhWzJdID0g
YlsyXTsKKyAgYVszXSA9IGJbM107CisgIGFbNF0gPSBiWzRdOworICBhWzVdID0gYls1XTsKKyAg
YVs2XSA9IGJbNl07CisgIGFbN10gPSBiWzddOworCisgIGJ1dHRlcmZseV90d29fY29lZmYoYlsx
NV0sIGJbOF0sIGNvc3BpXzMwXzY0LCBjb3NwaV8yXzY0LCAmYVs4XSwgJmFbMTVdKTsKKyAgYnV0
dGVyZmx5X3R3b19jb2VmZihiWzE0XSwgYls5XSwgY29zcGlfMTRfNjQsIGNvc3BpXzE4XzY0LCAm
YVs5XSwgJmFbMTRdKTsKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzEzXSwgYlsxMF0sIGNvc3Bp
XzIyXzY0LCBjb3NwaV8xMF82NCwgJmFbMTBdLCAmYVsxM10pOworICBidXR0ZXJmbHlfdHdvX2Nv
ZWZmKGJbMTJdLCBiWzExXSwgY29zcGlfNl82NCwgY29zcGlfMjZfNjQsICZhWzExXSwgJmFbMTJd
KTsKKworICBhWzE2XSA9IHZhZGRxX3MxNihiWzE2XSwgYlsxN10pOworICBhWzE3XSA9IHZzdWJx
X3MxNihiWzE2XSwgYlsxN10pOworICBhWzE4XSA9IHZzdWJxX3MxNihiWzE5XSwgYlsxOF0pOwor
ICBhWzE5XSA9IHZhZGRxX3MxNihiWzE5XSwgYlsxOF0pOworICBhWzIwXSA9IHZhZGRxX3MxNihi
WzIwXSwgYlsyMV0pOworICBhWzIxXSA9IHZzdWJxX3MxNihiWzIwXSwgYlsyMV0pOworICBhWzIy
XSA9IHZzdWJxX3MxNihiWzIzXSwgYlsyMl0pOworICBhWzIzXSA9IHZhZGRxX3MxNihiWzIzXSwg
YlsyMl0pOworICBhWzI0XSA9IHZhZGRxX3MxNihiWzI0XSwgYlsyNV0pOworICBhWzI1XSA9IHZz
dWJxX3MxNihiWzI0XSwgYlsyNV0pOworICBhWzI2XSA9IHZzdWJxX3MxNihiWzI3XSwgYlsyNl0p
OworICBhWzI3XSA9IHZhZGRxX3MxNihiWzI3XSwgYlsyNl0pOworICBhWzI4XSA9IHZhZGRxX3Mx
NihiWzI4XSwgYlsyOV0pOworICBhWzI5XSA9IHZzdWJxX3MxNihiWzI4XSwgYlsyOV0pOworICBh
WzMwXSA9IHZzdWJxX3MxNihiWzMxXSwgYlszMF0pOworICBhWzMxXSA9IHZhZGRxX3MxNihiWzMx
XSwgYlszMF0pOworCisgIC8vIEZpbmFsIHN0YWdlLgorICBvdXRbMF0gPSBhWzBdOworICBvdXRb
MTZdID0gYVsxXTsKKyAgb3V0WzhdID0gYVsyXTsKKyAgb3V0WzI0XSA9IGFbM107CisgIG91dFs0
XSA9IGFbNF07CisgIG91dFsyMF0gPSBhWzVdOworICBvdXRbMTJdID0gYVs2XTsKKyAgb3V0WzI4
XSA9IGFbN107CisgIG91dFsyXSA9IGFbOF07CisgIG91dFsxOF0gPSBhWzldOworICBvdXRbMTBd
ID0gYVsxMF07CisgIG91dFsyNl0gPSBhWzExXTsKKyAgb3V0WzZdID0gYVsxMl07CisgIG91dFsy
Ml0gPSBhWzEzXTsKKyAgb3V0WzE0XSA9IGFbMTRdOworICBvdXRbMzBdID0gYVsxNV07CisKKyAg
YnV0dGVyZmx5X3R3b19jb2VmZihhWzMxXSwgYVsxNl0sIGNvc3BpXzMxXzY0LCBjb3NwaV8xXzY0
LCAmb3V0WzFdLCAmb3V0WzMxXSk7CisgIGJ1dHRlcmZseV90d29fY29lZmYoYVszMF0sIGFbMTdd
LCBjb3NwaV8xNV82NCwgY29zcGlfMTdfNjQsICZvdXRbMTddLAorICAgICAgICAgICAgICAgICAg
ICAgICZvdXRbMTVdKTsKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzI5XSwgYVsxOF0sIGNvc3Bp
XzIzXzY0LCBjb3NwaV85XzY0LCAmb3V0WzldLCAmb3V0WzIzXSk7CisgIGJ1dHRlcmZseV90d29f
Y29lZmYoYVsyOF0sIGFbMTldLCBjb3NwaV83XzY0LCBjb3NwaV8yNV82NCwgJm91dFsyNV0sICZv
dXRbN10pOworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjddLCBhWzIwXSwgY29zcGlfMjdfNjQs
IGNvc3BpXzVfNjQsICZvdXRbNV0sICZvdXRbMjddKTsKKyAgYnV0dGVyZmx5X3R3b19jb2VmZihh
WzI2XSwgYVsyMV0sIGNvc3BpXzExXzY0LCBjb3NwaV8yMV82NCwgJm91dFsyMV0sCisgICAgICAg
ICAgICAgICAgICAgICAgJm91dFsxMV0pOworICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjVdLCBh
WzIyXSwgY29zcGlfMTlfNjQsIGNvc3BpXzEzXzY0LCAmb3V0WzEzXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAmb3V0WzE5XSk7CisgIGJ1dHRlcmZseV90d29fY29lZmYoYVsyNF0sIGFbMjNdLCBj
b3NwaV8zXzY0LCBjb3NwaV8yOV82NCwgJm91dFsyOV0sICZvdXRbM10pOworfQorCisjdW5kZWYg
UEFTU19USFJPVUdICisjdW5kZWYgQUREX1MxNl9TMzIKKyN1bmRlZiBTVUJfUzE2X1MzMgorI3Vu
ZGVmIEFERFdfUzE2X1MzMgorI3VuZGVmIFNVQldfUzE2X1MzMgorI3VuZGVmIEFERF9TMzIKKyN1
bmRlZiBTVUJfUzMyCisjdW5kZWYgQlVUVEVSRkxZX09ORV9TMTZfUzMyCisjdW5kZWYgQlVUVEVS
RkxZX09ORV9TMzIKKyN1bmRlZiBCVVRURVJGTFlfVFdPX1MzMgorCisvLyBUcmFuc3Bvc2UgOHg4
IHRvIGEgbmV3IGxvY2F0aW9uLiBEb24ndCB1c2UgdHJhbnNwb3NlX25lb24uaCBiZWNhdXNlIHRo
b3NlCisvLyBhcmUgYWxsIGluLXBsYWNlLgorLy8gVE9ETyhqb2hhbm5rb2VuaWcpOiBzaGFyZSB3
aXRoIG90aGVyIGZkY3RzLgorc3RhdGljIElOTElORSB2b2lkIHRyYW5zcG9zZV84eDgoY29uc3Qg
aW50MTZ4OF90ICphLCBpbnQxNng4X3QgKmIpIHsKKyAgLy8gU3dhcCAxNiBiaXQgZWxlbWVudHMu
CisgIGNvbnN0IGludDE2eDh4Ml90IGMwID0gdnRybnFfczE2KGFbMF0sIGFbMV0pOworICBjb25z
dCBpbnQxNng4eDJfdCBjMSA9IHZ0cm5xX3MxNihhWzJdLCBhWzNdKTsKKyAgY29uc3QgaW50MTZ4
OHgyX3QgYzIgPSB2dHJucV9zMTYoYVs0XSwgYVs1XSk7CisgIGNvbnN0IGludDE2eDh4Ml90IGMz
ID0gdnRybnFfczE2KGFbNl0sIGFbN10pOworCisgIC8vIFN3YXAgMzIgYml0IGVsZW1lbnRzLgor
ICBjb25zdCBpbnQzMng0eDJfdCBkMCA9IHZ0cm5xX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYo
YzAudmFsWzBdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJw
cmV0cV9zMzJfczE2KGMxLnZhbFswXSkpOworICBjb25zdCBpbnQzMng0eDJfdCBkMSA9IHZ0cm5x
X3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYoYzAudmFsWzFdKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0cV9zMzJfczE2KGMxLnZhbFsxXSkpOworICBj
b25zdCBpbnQzMng0eDJfdCBkMiA9IHZ0cm5xX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYoYzIu
dmFsWzBdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0
cV9zMzJfczE2KGMzLnZhbFswXSkpOworICBjb25zdCBpbnQzMng0eDJfdCBkMyA9IHZ0cm5xX3Mz
Mih2cmVpbnRlcnByZXRxX3MzMl9zMTYoYzIudmFsWzFdKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0cV9zMzJfczE2KGMzLnZhbFsxXSkpOworCisgIC8v
IFN3YXAgNjQgYml0IGVsZW1lbnRzCisgIGNvbnN0IGludDE2eDh4Ml90IGUwID0gdnB4X3Z0cm5x
X3M2NF90b19zMTYoZDAudmFsWzBdLCBkMi52YWxbMF0pOworICBjb25zdCBpbnQxNng4eDJfdCBl
MSA9IHZweF92dHJucV9zNjRfdG9fczE2KGQxLnZhbFswXSwgZDMudmFsWzBdKTsKKyAgY29uc3Qg
aW50MTZ4OHgyX3QgZTIgPSB2cHhfdnRybnFfczY0X3RvX3MxNihkMC52YWxbMV0sIGQyLnZhbFsx
XSk7CisgIGNvbnN0IGludDE2eDh4Ml90IGUzID0gdnB4X3Z0cm5xX3M2NF90b19zMTYoZDEudmFs
WzFdLCBkMy52YWxbMV0pOworCisgIGJbMF0gPSBlMC52YWxbMF07CisgIGJbMV0gPSBlMS52YWxb
MF07CisgIGJbMl0gPSBlMi52YWxbMF07CisgIGJbM10gPSBlMy52YWxbMF07CisgIGJbNF0gPSBl
MC52YWxbMV07CisgIGJbNV0gPSBlMS52YWxbMV07CisgIGJbNl0gPSBlMi52YWxbMV07CisgIGJb
N10gPSBlMy52YWxbMV07Cit9CisKIHZvaWQgdnB4X2ZkY3QzMngzMl9uZW9uKGNvbnN0IGludDE2
X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUpIHsKICAgaW50MTZ4OF90
IHRlbXAwWzMyXTsKICAgaW50MTZ4OF90IHRlbXAxWzMyXTsKQEAgLTQzLDI3ICsxMzI0LDIzIEBA
IHZvaWQgdnB4X2ZkY3QzMngzMl9uZW9uKGNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190
ICpvdXRwdXQsIGludCBzdHJpZGUpIHsKICAgaW50MTZ4OF90IHRlbXA1WzMyXTsKIAogICAvLyBQ
cm9jZXNzIGluIDh4MzIgY29sdW1ucy4KLSAgbG9hZF9jcm9zcyhpbnB1dCwgc3RyaWRlLCB0ZW1w
MCk7Ci0gIHNjYWxlX2lucHV0KHRlbXAwLCB0ZW1wNSk7Ci0gIGRjdF9ib2R5X2ZpcnN0X3Bhc3Mo
dGVtcDUsIHRlbXAxKTsKKyAgbG9hZChpbnB1dCwgc3RyaWRlLCB0ZW1wMCk7CisgIGRjdF9ib2R5
X2ZpcnN0X3Bhc3ModGVtcDAsIHRlbXAxKTsKIAotICBsb2FkX2Nyb3NzKGlucHV0ICsgOCwgc3Ry
aWRlLCB0ZW1wMCk7Ci0gIHNjYWxlX2lucHV0KHRlbXAwLCB0ZW1wNSk7Ci0gIGRjdF9ib2R5X2Zp
cnN0X3Bhc3ModGVtcDUsIHRlbXAyKTsKKyAgbG9hZChpbnB1dCArIDgsIHN0cmlkZSwgdGVtcDAp
OworICBkY3RfYm9keV9maXJzdF9wYXNzKHRlbXAwLCB0ZW1wMik7CiAKLSAgbG9hZF9jcm9zcyhp
bnB1dCArIDE2LCBzdHJpZGUsIHRlbXAwKTsKLSAgc2NhbGVfaW5wdXQodGVtcDAsIHRlbXA1KTsK
LSAgZGN0X2JvZHlfZmlyc3RfcGFzcyh0ZW1wNSwgdGVtcDMpOworICBsb2FkKGlucHV0ICsgMTYs
IHN0cmlkZSwgdGVtcDApOworICBkY3RfYm9keV9maXJzdF9wYXNzKHRlbXAwLCB0ZW1wMyk7CiAK
LSAgbG9hZF9jcm9zcyhpbnB1dCArIDI0LCBzdHJpZGUsIHRlbXAwKTsKLSAgc2NhbGVfaW5wdXQo
dGVtcDAsIHRlbXA1KTsKLSAgZGN0X2JvZHlfZmlyc3RfcGFzcyh0ZW1wNSwgdGVtcDQpOworICBs
b2FkKGlucHV0ICsgMjQsIHN0cmlkZSwgdGVtcDApOworICBkY3RfYm9keV9maXJzdF9wYXNzKHRl
bXAwLCB0ZW1wNCk7CiAKICAgLy8gR2VuZXJhdGUgdGhlIHRvcCByb3cgYnkgbXVuZ2luZyB0aGUg
Zmlyc3Qgc2V0IG9mIDggZnJvbSBlYWNoIG9uZSB0b2dldGhlci4KLSAgdHJhbnNwb3NlX3MxNl84
eDhxKCZ0ZW1wMVswXSwgJnRlbXAwWzBdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0ZW1wMlsw
XSwgJnRlbXAwWzhdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0ZW1wM1swXSwgJnRlbXAwWzE2
XSk7Ci0gIHRyYW5zcG9zZV9zMTZfOHg4cSgmdGVtcDRbMF0sICZ0ZW1wMFsyNF0pOworICB0cmFu
c3Bvc2VfOHg4KCZ0ZW1wMVswXSwgJnRlbXAwWzBdKTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDJb
MF0sICZ0ZW1wMFs4XSk7CisgIHRyYW5zcG9zZV84eDgoJnRlbXAzWzBdLCAmdGVtcDBbMTZdKTsK
KyAgdHJhbnNwb3NlXzh4OCgmdGVtcDRbMF0sICZ0ZW1wMFsyNF0pOwogCiAgIGRjdF9ib2R5X3Nl
Y29uZF9wYXNzKHRlbXAwLCB0ZW1wNSk7CiAKQEAgLTc4LDEwICsxMzU1LDEwIEBAIHZvaWQgdnB4
X2ZkY3QzMngzMl9uZW9uKGNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQs
IGludCBzdHJpZGUpIHsKICAgc3RvcmUob3V0cHV0LCB0ZW1wNSk7CiAKICAgLy8gU2Vjb25kIHJv
dyBvZiA4eDMyLgotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAxWzhdLCAmdGVtcDBbMF0pOwot
ICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAyWzhdLCAmdGVtcDBbOF0pOwotICB0cmFuc3Bvc2Vf
czE2Xzh4OHEoJnRlbXAzWzhdLCAmdGVtcDBbMTZdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0
ZW1wNFs4XSwgJnRlbXAwWzI0XSk7CisgIHRyYW5zcG9zZV84eDgoJnRlbXAxWzhdLCAmdGVtcDBb
MF0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wMls4XSwgJnRlbXAwWzhdKTsKKyAgdHJhbnNwb3Nl
Xzh4OCgmdGVtcDNbOF0sICZ0ZW1wMFsxNl0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wNFs4XSwg
JnRlbXAwWzI0XSk7CiAKICAgZGN0X2JvZHlfc2Vjb25kX3Bhc3ModGVtcDAsIHRlbXA1KTsKIApA
QCAtOTYsMTAgKzEzNzMsMTAgQEAgdm9pZCB2cHhfZmRjdDMyeDMyX25lb24oY29uc3QgaW50MTZf
dCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50IHN0cmlkZSkgewogICBzdG9yZShvdXRw
dXQgKyA4ICogMzIsIHRlbXA1KTsKIAogICAvLyBUaGlyZCByb3cgb2YgOHgzMgotICB0cmFuc3Bv
c2VfczE2Xzh4OHEoJnRlbXAxWzE2XSwgJnRlbXAwWzBdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhx
KCZ0ZW1wMlsxNl0sICZ0ZW1wMFs4XSk7Ci0gIHRyYW5zcG9zZV9zMTZfOHg4cSgmdGVtcDNbMTZd
LCAmdGVtcDBbMTZdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0ZW1wNFsxNl0sICZ0ZW1wMFsy
NF0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wMVsxNl0sICZ0ZW1wMFswXSk7CisgIHRyYW5zcG9z
ZV84eDgoJnRlbXAyWzE2XSwgJnRlbXAwWzhdKTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDNbMTZd
LCAmdGVtcDBbMTZdKTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDRbMTZdLCAmdGVtcDBbMjRdKTsK
IAogICBkY3RfYm9keV9zZWNvbmRfcGFzcyh0ZW1wMCwgdGVtcDUpOwogCkBAIC0xMTQsMTAgKzEz
OTEsMTAgQEAgdm9pZCB2cHhfZmRjdDMyeDMyX25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRy
YW5fbG93X3QgKm91dHB1dCwgaW50IHN0cmlkZSkgewogICBzdG9yZShvdXRwdXQgKyAxNiAqIDMy
LCB0ZW1wNSk7CiAKICAgLy8gRmluYWwgcm93IG9mIDh4MzIuCi0gIHRyYW5zcG9zZV9zMTZfOHg4
cSgmdGVtcDFbMjRdLCAmdGVtcDBbMF0pOwotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAyWzI0
XSwgJnRlbXAwWzhdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0ZW1wM1syNF0sICZ0ZW1wMFsx
Nl0pOwotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXA0WzI0XSwgJnRlbXAwWzI0XSk7CisgIHRy
YW5zcG9zZV84eDgoJnRlbXAxWzI0XSwgJnRlbXAwWzBdKTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVt
cDJbMjRdLCAmdGVtcDBbOF0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wM1syNF0sICZ0ZW1wMFsx
Nl0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wNFsyNF0sICZ0ZW1wMFsyNF0pOwogCiAgIGRjdF9i
b2R5X3NlY29uZF9wYXNzKHRlbXAwLCB0ZW1wNSk7CiAKQEAgLTE0MiwyNyArMTQxOSwyMyBAQCB2
b2lkIHZweF9mZGN0MzJ4MzJfcmRfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3df
dCAqb3V0cHV0LAogICBpbnQxNng4X3QgdGVtcDVbMzJdOwogCiAgIC8vIFByb2Nlc3MgaW4gOHgz
MiBjb2x1bW5zLgotICBsb2FkX2Nyb3NzKGlucHV0LCBzdHJpZGUsIHRlbXAwKTsKLSAgc2NhbGVf
aW5wdXQodGVtcDAsIHRlbXA1KTsKLSAgZGN0X2JvZHlfZmlyc3RfcGFzcyh0ZW1wNSwgdGVtcDEp
OworICBsb2FkKGlucHV0LCBzdHJpZGUsIHRlbXAwKTsKKyAgZGN0X2JvZHlfZmlyc3RfcGFzcyh0
ZW1wMCwgdGVtcDEpOwogCi0gIGxvYWRfY3Jvc3MoaW5wdXQgKyA4LCBzdHJpZGUsIHRlbXAwKTsK
LSAgc2NhbGVfaW5wdXQodGVtcDAsIHRlbXA1KTsKLSAgZGN0X2JvZHlfZmlyc3RfcGFzcyh0ZW1w
NSwgdGVtcDIpOworICBsb2FkKGlucHV0ICsgOCwgc3RyaWRlLCB0ZW1wMCk7CisgIGRjdF9ib2R5
X2ZpcnN0X3Bhc3ModGVtcDAsIHRlbXAyKTsKIAotICBsb2FkX2Nyb3NzKGlucHV0ICsgMTYsIHN0
cmlkZSwgdGVtcDApOwotICBzY2FsZV9pbnB1dCh0ZW1wMCwgdGVtcDUpOwotICBkY3RfYm9keV9m
aXJzdF9wYXNzKHRlbXA1LCB0ZW1wMyk7CisgIGxvYWQoaW5wdXQgKyAxNiwgc3RyaWRlLCB0ZW1w
MCk7CisgIGRjdF9ib2R5X2ZpcnN0X3Bhc3ModGVtcDAsIHRlbXAzKTsKIAotICBsb2FkX2Nyb3Nz
KGlucHV0ICsgMjQsIHN0cmlkZSwgdGVtcDApOwotICBzY2FsZV9pbnB1dCh0ZW1wMCwgdGVtcDUp
OwotICBkY3RfYm9keV9maXJzdF9wYXNzKHRlbXA1LCB0ZW1wNCk7CisgIGxvYWQoaW5wdXQgKyAy
NCwgc3RyaWRlLCB0ZW1wMCk7CisgIGRjdF9ib2R5X2ZpcnN0X3Bhc3ModGVtcDAsIHRlbXA0KTsK
IAogICAvLyBHZW5lcmF0ZSB0aGUgdG9wIHJvdyBieSBtdW5naW5nIHRoZSBmaXJzdCBzZXQgb2Yg
OCBmcm9tIGVhY2ggb25lIHRvZ2V0aGVyLgotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAxWzBd
LCAmdGVtcDBbMF0pOwotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAyWzBdLCAmdGVtcDBbOF0p
OwotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAzWzBdLCAmdGVtcDBbMTZdKTsKLSAgdHJhbnNw
b3NlX3MxNl84eDhxKCZ0ZW1wNFswXSwgJnRlbXAwWzI0XSk7CisgIHRyYW5zcG9zZV84eDgoJnRl
bXAxWzBdLCAmdGVtcDBbMF0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wMlswXSwgJnRlbXAwWzhd
KTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDNbMF0sICZ0ZW1wMFsxNl0pOworICB0cmFuc3Bvc2Vf
OHg4KCZ0ZW1wNFswXSwgJnRlbXAwWzI0XSk7CiAKICAgZGN0X2JvZHlfc2Vjb25kX3Bhc3NfcmQo
dGVtcDAsIHRlbXA1KTsKIApAQCAtMTc3LDEwICsxNDUwLDEwIEBAIHZvaWQgdnB4X2ZkY3QzMngz
Ml9yZF9uZW9uKGNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsCiAgIHN0
b3JlKG91dHB1dCwgdGVtcDUpOwogCiAgIC8vIFNlY29uZCByb3cgb2YgOHgzMi4KLSAgdHJhbnNw
b3NlX3MxNl84eDhxKCZ0ZW1wMVs4XSwgJnRlbXAwWzBdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhx
KCZ0ZW1wMls4XSwgJnRlbXAwWzhdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0ZW1wM1s4XSwg
JnRlbXAwWzE2XSk7Ci0gIHRyYW5zcG9zZV9zMTZfOHg4cSgmdGVtcDRbOF0sICZ0ZW1wMFsyNF0p
OworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wMVs4XSwgJnRlbXAwWzBdKTsKKyAgdHJhbnNwb3NlXzh4
OCgmdGVtcDJbOF0sICZ0ZW1wMFs4XSk7CisgIHRyYW5zcG9zZV84eDgoJnRlbXAzWzhdLCAmdGVt
cDBbMTZdKTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDRbOF0sICZ0ZW1wMFsyNF0pOwogCiAgIGRj
dF9ib2R5X3NlY29uZF9wYXNzX3JkKHRlbXAwLCB0ZW1wNSk7CiAKQEAgLTE5NSwxMCArMTQ2OCwx
MCBAQCB2b2lkIHZweF9mZGN0MzJ4MzJfcmRfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJh
bl9sb3dfdCAqb3V0cHV0LAogICBzdG9yZShvdXRwdXQgKyA4ICogMzIsIHRlbXA1KTsKIAogICAv
LyBUaGlyZCByb3cgb2YgOHgzMgotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAxWzE2XSwgJnRl
bXAwWzBdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0ZW1wMlsxNl0sICZ0ZW1wMFs4XSk7Ci0g
IHRyYW5zcG9zZV9zMTZfOHg4cSgmdGVtcDNbMTZdLCAmdGVtcDBbMTZdKTsKLSAgdHJhbnNwb3Nl
X3MxNl84eDhxKCZ0ZW1wNFsxNl0sICZ0ZW1wMFsyNF0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1w
MVsxNl0sICZ0ZW1wMFswXSk7CisgIHRyYW5zcG9zZV84eDgoJnRlbXAyWzE2XSwgJnRlbXAwWzhd
KTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDNbMTZdLCAmdGVtcDBbMTZdKTsKKyAgdHJhbnNwb3Nl
Xzh4OCgmdGVtcDRbMTZdLCAmdGVtcDBbMjRdKTsKIAogICBkY3RfYm9keV9zZWNvbmRfcGFzc19y
ZCh0ZW1wMCwgdGVtcDUpOwogCkBAIC0yMTMsMTAgKzE0ODYsMTAgQEAgdm9pZCB2cHhfZmRjdDMy
eDMyX3JkX25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwKICAg
c3RvcmUob3V0cHV0ICsgMTYgKiAzMiwgdGVtcDUpOwogCiAgIC8vIEZpbmFsIHJvdyBvZiA4eDMy
LgotICB0cmFuc3Bvc2VfczE2Xzh4OHEoJnRlbXAxWzI0XSwgJnRlbXAwWzBdKTsKLSAgdHJhbnNw
b3NlX3MxNl84eDhxKCZ0ZW1wMlsyNF0sICZ0ZW1wMFs4XSk7Ci0gIHRyYW5zcG9zZV9zMTZfOHg4
cSgmdGVtcDNbMjRdLCAmdGVtcDBbMTZdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDhxKCZ0ZW1wNFsy
NF0sICZ0ZW1wMFsyNF0pOworICB0cmFuc3Bvc2VfOHg4KCZ0ZW1wMVsyNF0sICZ0ZW1wMFswXSk7
CisgIHRyYW5zcG9zZV84eDgoJnRlbXAyWzI0XSwgJnRlbXAwWzhdKTsKKyAgdHJhbnNwb3NlXzh4
OCgmdGVtcDNbMjRdLCAmdGVtcDBbMTZdKTsKKyAgdHJhbnNwb3NlXzh4OCgmdGVtcDRbMjRdLCAm
dGVtcDBbMjRdKTsKIAogICBkY3RfYm9keV9zZWNvbmRfcGFzc19yZCh0ZW1wMCwgdGVtcDUpOwog
CkBAIC0yMzAsMTkwICsxNTAzLDUgQEAgdm9pZCB2cHhfZmRjdDMyeDMyX3JkX25lb24oY29uc3Qg
aW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwKICAgICAgICAgICAgICAgICAgICAg
JnRlbXA1WzI5XSwgJnRlbXA1WzMwXSwgJnRlbXA1WzMxXSk7CiAgIHN0b3JlKG91dHB1dCArIDI0
ICogMzIsIHRlbXA1KTsKIH0KLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLXZvaWQg
dnB4X2hpZ2hiZF9mZGN0MzJ4MzJfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3df
dCAqb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpIHsK
LSAgaW50MTZ4OF90IHRlbXAwWzMyXTsKLSAgaW50MzJ4NF90IGxlZnQxWzMyXSwgbGVmdDJbMzJd
LCBsZWZ0M1szMl0sIGxlZnQ0WzMyXSwgcmlnaHQxWzMyXSwgcmlnaHQyWzMyXSwKLSAgICAgIHJp
Z2h0M1szMl0sIHJpZ2h0NFszMl07Ci0gIGludDMyeDRfdCBsZWZ0NVszMl0sIHJpZ2h0NVszMl0s
IGxlZnQ2WzMyXSwgcmlnaHQ2WzMyXSwgbGVmdDdbMzJdLCByaWdodDdbMzJdLAotICAgICAgbGVm
dDhbMzJdLCByaWdodDhbMzJdOwotICBpbnQzMng0X3QgdGVtcDFbMzJdLCB0ZW1wMlszMl07Ci0K
LSAgLy8gUHJvY2VzcyBpbiA4eDMyIGNvbHVtbnMuCi0gIGxvYWRfY3Jvc3MoaW5wdXQsIHN0cmlk
ZSwgdGVtcDApOwotICBoaWdoYmRfc2NhbGVfaW5wdXQodGVtcDAsIGxlZnQxLCByaWdodDEpOwot
ICBoaWdoYmRfZGN0OHgzMl9ib2R5X2ZpcnN0X3Bhc3MobGVmdDEsIHJpZ2h0MSk7Ci0gIGhpZ2hi
ZF9wYXJ0aWFsX3N1Yl9yb3VuZF9zaGlmdChsZWZ0MSwgcmlnaHQxKTsKLQotICBsb2FkX2Nyb3Nz
KGlucHV0ICsgOCwgc3RyaWRlLCB0ZW1wMCk7Ci0gIGhpZ2hiZF9zY2FsZV9pbnB1dCh0ZW1wMCwg
bGVmdDIsIHJpZ2h0Mik7Ci0gIGhpZ2hiZF9kY3Q4eDMyX2JvZHlfZmlyc3RfcGFzcyhsZWZ0Miwg
cmlnaHQyKTsKLSAgaGlnaGJkX3BhcnRpYWxfc3ViX3JvdW5kX3NoaWZ0KGxlZnQyLCByaWdodDIp
OwotCi0gIGxvYWRfY3Jvc3MoaW5wdXQgKyAxNiwgc3RyaWRlLCB0ZW1wMCk7Ci0gIGhpZ2hiZF9z
Y2FsZV9pbnB1dCh0ZW1wMCwgbGVmdDMsIHJpZ2h0Myk7Ci0gIGhpZ2hiZF9kY3Q4eDMyX2JvZHlf
Zmlyc3RfcGFzcyhsZWZ0MywgcmlnaHQzKTsKLSAgaGlnaGJkX3BhcnRpYWxfc3ViX3JvdW5kX3No
aWZ0KGxlZnQzLCByaWdodDMpOwotCi0gIGxvYWRfY3Jvc3MoaW5wdXQgKyAyNCwgc3RyaWRlLCB0
ZW1wMCk7Ci0gIGhpZ2hiZF9zY2FsZV9pbnB1dCh0ZW1wMCwgbGVmdDQsIHJpZ2h0NCk7Ci0gIGhp
Z2hiZF9kY3Q4eDMyX2JvZHlfZmlyc3RfcGFzcyhsZWZ0NCwgcmlnaHQ0KTsKLSAgaGlnaGJkX3Bh
cnRpYWxfc3ViX3JvdW5kX3NoaWZ0KGxlZnQ0LCByaWdodDQpOwotCi0gIC8vIEdlbmVyYXRlIHRo
ZSB0b3Agcm93IGJ5IG11bmdpbmcgdGhlIGZpcnN0IHNldCBvZiA4IGZyb20gZWFjaCBvbmUgdG9n
ZXRoZXIuCi0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDEsIHJpZ2h0MSwgdGVtcDEsIHRlbXAy
KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0MiwgcmlnaHQyLCB0ZW1wMSArIDgsIHRlbXAy
ICsgOCk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDMsIHJpZ2h0MywgdGVtcDEgKyAxNiwg
dGVtcDIgKyAxNik7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDQsIHJpZ2h0NCwgdGVtcDEg
KyAyNCwgdGVtcDIgKyAyNCk7Ci0KLSAgaGlnaGJkX2Nyb3NzX2lucHV0KHRlbXAxLCB0ZW1wMiwg
bGVmdDUsIHJpZ2h0NSk7Ci0gIGhpZ2hiZF9kY3Q4eDMyX2JvZHlfc2Vjb25kX3Bhc3MobGVmdDUs
IHJpZ2h0NSk7Ci0gIGhpZ2hiZF9wYXJ0aWFsX2FkZF9yb3VuZF9zaGlmdChsZWZ0NSwgcmlnaHQ1
KTsKLQotICAvLyBTZWNvbmQgcm93IG9mIDh4MzIuCi0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVm
dDEgKyA4LCByaWdodDEgKyA4LCB0ZW1wMSwgdGVtcDIpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8y
KGxlZnQyICsgOCwgcmlnaHQyICsgOCwgdGVtcDEgKyA4LCB0ZW1wMiArIDgpOwotICB0cmFuc3Bv
c2VfczMyXzh4OF8yKGxlZnQzICsgOCwgcmlnaHQzICsgOCwgdGVtcDEgKyAxNiwgdGVtcDIgKyAx
Nik7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDQgKyA4LCByaWdodDQgKyA4LCB0ZW1wMSAr
IDI0LCB0ZW1wMiArIDI0KTsKLQotICBoaWdoYmRfY3Jvc3NfaW5wdXQodGVtcDEsIHRlbXAyLCBs
ZWZ0NiwgcmlnaHQ2KTsKLSAgaGlnaGJkX2RjdDh4MzJfYm9keV9zZWNvbmRfcGFzcyhsZWZ0Niwg
cmlnaHQ2KTsKLSAgaGlnaGJkX3BhcnRpYWxfYWRkX3JvdW5kX3NoaWZ0KGxlZnQ2LCByaWdodDYp
OwotCi0gIC8vIFRoaXJkIHJvdyBvZiA4eDMyCi0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDEg
KyAxNiwgcmlnaHQxICsgMTYsIHRlbXAxLCB0ZW1wMik7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIo
bGVmdDIgKyAxNiwgcmlnaHQyICsgMTYsIHRlbXAxICsgOCwgdGVtcDIgKyA4KTsKLSAgdHJhbnNw
b3NlX3MzMl84eDhfMihsZWZ0MyArIDE2LCByaWdodDMgKyAxNiwgdGVtcDEgKyAxNiwgdGVtcDIg
KyAxNik7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDQgKyAxNiwgcmlnaHQ0ICsgMTYsIHRl
bXAxICsgMjQsIHRlbXAyICsgMjQpOwotCi0gIGhpZ2hiZF9jcm9zc19pbnB1dCh0ZW1wMSwgdGVt
cDIsIGxlZnQ3LCByaWdodDcpOwotICBoaWdoYmRfZGN0OHgzMl9ib2R5X3NlY29uZF9wYXNzKGxl
ZnQ3LCByaWdodDcpOwotICBoaWdoYmRfcGFydGlhbF9hZGRfcm91bmRfc2hpZnQobGVmdDcsIHJp
Z2h0Nyk7Ci0KLSAgLy8gRmluYWwgcm93IG9mIDh4MzIuCi0gIHRyYW5zcG9zZV9zMzJfOHg4XzIo
bGVmdDEgKyAyNCwgcmlnaHQxICsgMjQsIHRlbXAxLCB0ZW1wMik7Ci0gIHRyYW5zcG9zZV9zMzJf
OHg4XzIobGVmdDIgKyAyNCwgcmlnaHQyICsgMjQsIHRlbXAxICsgOCwgdGVtcDIgKyA4KTsKLSAg
dHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0MyArIDI0LCByaWdodDMgKyAyNCwgdGVtcDEgKyAxNiwg
dGVtcDIgKyAxNik7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDQgKyAyNCwgcmlnaHQ0ICsg
MjQsIHRlbXAxICsgMjQsIHRlbXAyICsgMjQpOwotCi0gIGhpZ2hiZF9jcm9zc19pbnB1dCh0ZW1w
MSwgdGVtcDIsIGxlZnQ4LCByaWdodDgpOwotICBoaWdoYmRfZGN0OHgzMl9ib2R5X3NlY29uZF9w
YXNzKGxlZnQ4LCByaWdodDgpOwotICBoaWdoYmRfcGFydGlhbF9hZGRfcm91bmRfc2hpZnQobGVm
dDgsIHJpZ2h0OCk7Ci0KLSAgLy8gRmluYWwgdHJhbnNwb3NlCi0gIHRyYW5zcG9zZV9zMzJfOHg4
XzIobGVmdDUsIHJpZ2h0NSwgbGVmdDEsIHJpZ2h0MSk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIo
bGVmdDUgKyA4LCByaWdodDUgKyA4LCBsZWZ0MiwgcmlnaHQyKTsKLSAgdHJhbnNwb3NlX3MzMl84
eDhfMihsZWZ0NSArIDE2LCByaWdodDUgKyAxNiwgbGVmdDMsIHJpZ2h0Myk7Ci0gIHRyYW5zcG9z
ZV9zMzJfOHg4XzIobGVmdDUgKyAyNCwgcmlnaHQ1ICsgMjQsIGxlZnQ0LCByaWdodDQpOwotICB0
cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ2LCByaWdodDYsIGxlZnQxICsgOCwgcmlnaHQxICsgOCk7
Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDYgKyA4LCByaWdodDYgKyA4LCBsZWZ0MiArIDgs
IHJpZ2h0MiArIDgpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ2ICsgMTYsIHJpZ2h0NiAr
IDE2LCBsZWZ0MyArIDgsIHJpZ2h0MyArIDgpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ2
ICsgMjQsIHJpZ2h0NiArIDI0LCBsZWZ0NCArIDgsIHJpZ2h0NCArIDgpOwotICB0cmFuc3Bvc2Vf
czMyXzh4OF8yKGxlZnQ3LCByaWdodDcsIGxlZnQxICsgMTYsIHJpZ2h0MSArIDE2KTsKLSAgdHJh
bnNwb3NlX3MzMl84eDhfMihsZWZ0NyArIDgsIHJpZ2h0NyArIDgsIGxlZnQyICsgMTYsIHJpZ2h0
MiArIDE2KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0NyArIDE2LCByaWdodDcgKyAxNiwg
bGVmdDMgKyAxNiwgcmlnaHQzICsgMTYpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ3ICsg
MjQsIHJpZ2h0NyArIDI0LCBsZWZ0NCArIDE2LCByaWdodDQgKyAxNik7Ci0gIHRyYW5zcG9zZV9z
MzJfOHg4XzIobGVmdDgsIHJpZ2h0OCwgbGVmdDEgKyAyNCwgcmlnaHQxICsgMjQpOwotICB0cmFu
c3Bvc2VfczMyXzh4OF8yKGxlZnQ4ICsgOCwgcmlnaHQ4ICsgOCwgbGVmdDIgKyAyNCwgcmlnaHQy
ICsgMjQpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ4ICsgMTYsIHJpZ2h0OCArIDE2LCBs
ZWZ0MyArIDI0LCByaWdodDMgKyAyNCk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDggKyAy
NCwgcmlnaHQ4ICsgMjQsIGxlZnQ0ICsgMjQsIHJpZ2h0NCArIDI0KTsKLQotICBzdG9yZTMyeDMy
X3MzMihvdXRwdXQsIGxlZnQxLCByaWdodDEsIGxlZnQyLCByaWdodDIsIGxlZnQzLCByaWdodDMs
IGxlZnQ0LAotICAgICAgICAgICAgICAgICByaWdodDQpOwotfQotCi12b2lkIHZweF9oaWdoYmRf
ZmRjdDMyeDMyX3JkX25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKSB7Ci0gIGlu
dDE2eDhfdCB0ZW1wMFszMl07Ci0gIGludDMyeDRfdCBsZWZ0MVszMl0sIGxlZnQyWzMyXSwgbGVm
dDNbMzJdLCBsZWZ0NFszMl0sIHJpZ2h0MVszMl0sIHJpZ2h0MlszMl0sCi0gICAgICByaWdodDNb
MzJdLCByaWdodDRbMzJdOwotICBpbnQzMng0X3QgbGVmdDVbMzJdLCByaWdodDVbMzJdLCBsZWZ0
NlszMl0sIHJpZ2h0NlszMl0sIGxlZnQ3WzMyXSwgcmlnaHQ3WzMyXSwKLSAgICAgIGxlZnQ4WzMy
XSwgcmlnaHQ4WzMyXTsKLSAgaW50MzJ4NF90IHRlbXAxWzMyXSwgdGVtcDJbMzJdOwotCi0gIC8v
IFByb2Nlc3MgaW4gOHgzMiBjb2x1bW5zLgotICBsb2FkX2Nyb3NzKGlucHV0LCBzdHJpZGUsIHRl
bXAwKTsKLSAgaGlnaGJkX3NjYWxlX2lucHV0KHRlbXAwLCBsZWZ0MSwgcmlnaHQxKTsKLSAgaGln
aGJkX2RjdDh4MzJfYm9keV9maXJzdF9wYXNzKGxlZnQxLCByaWdodDEpOwotICBoaWdoYmRfcGFy
dGlhbF9zdWJfcm91bmRfc2hpZnQobGVmdDEsIHJpZ2h0MSk7Ci0KLSAgbG9hZF9jcm9zcyhpbnB1
dCArIDgsIHN0cmlkZSwgdGVtcDApOwotICBoaWdoYmRfc2NhbGVfaW5wdXQodGVtcDAsIGxlZnQy
LCByaWdodDIpOwotICBoaWdoYmRfZGN0OHgzMl9ib2R5X2ZpcnN0X3Bhc3MobGVmdDIsIHJpZ2h0
Mik7Ci0gIGhpZ2hiZF9wYXJ0aWFsX3N1Yl9yb3VuZF9zaGlmdChsZWZ0MiwgcmlnaHQyKTsKLQot
ICBsb2FkX2Nyb3NzKGlucHV0ICsgMTYsIHN0cmlkZSwgdGVtcDApOwotICBoaWdoYmRfc2NhbGVf
aW5wdXQodGVtcDAsIGxlZnQzLCByaWdodDMpOwotICBoaWdoYmRfZGN0OHgzMl9ib2R5X2ZpcnN0
X3Bhc3MobGVmdDMsIHJpZ2h0Myk7Ci0gIGhpZ2hiZF9wYXJ0aWFsX3N1Yl9yb3VuZF9zaGlmdChs
ZWZ0MywgcmlnaHQzKTsKLQotICBsb2FkX2Nyb3NzKGlucHV0ICsgMjQsIHN0cmlkZSwgdGVtcDAp
OwotICBoaWdoYmRfc2NhbGVfaW5wdXQodGVtcDAsIGxlZnQ0LCByaWdodDQpOwotICBoaWdoYmRf
ZGN0OHgzMl9ib2R5X2ZpcnN0X3Bhc3MobGVmdDQsIHJpZ2h0NCk7Ci0gIGhpZ2hiZF9wYXJ0aWFs
X3N1Yl9yb3VuZF9zaGlmdChsZWZ0NCwgcmlnaHQ0KTsKLQotICAvLyBHZW5lcmF0ZSB0aGUgdG9w
IHJvdyBieSBtdW5naW5nIHRoZSBmaXJzdCBzZXQgb2YgOCBmcm9tIGVhY2ggb25lIHRvZ2V0aGVy
LgotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQxLCByaWdodDEsIHRlbXAxLCB0ZW1wMik7Ci0g
IHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDIsIHJpZ2h0MiwgdGVtcDEgKyA4LCB0ZW1wMiArIDgp
OwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQzLCByaWdodDMsIHRlbXAxICsgMTYsIHRlbXAy
ICsgMTYpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ0LCByaWdodDQsIHRlbXAxICsgMjQs
IHRlbXAyICsgMjQpOwotCi0gIGhpZ2hiZF9jcm9zc19pbnB1dCh0ZW1wMSwgdGVtcDIsIGxlZnQ1
LCByaWdodDUpOwotICBoaWdoYmRfZGN0OHgzMl9ib2R5X3NlY29uZF9wYXNzX3JkKGxlZnQ1LCBy
aWdodDUpOwotCi0gIC8vIFNlY29uZCByb3cgb2YgOHgzMi4KLSAgdHJhbnNwb3NlX3MzMl84eDhf
MihsZWZ0MSArIDgsIHJpZ2h0MSArIDgsIHRlbXAxLCB0ZW1wMik7Ci0gIHRyYW5zcG9zZV9zMzJf
OHg4XzIobGVmdDIgKyA4LCByaWdodDIgKyA4LCB0ZW1wMSArIDgsIHRlbXAyICsgOCk7Ci0gIHRy
YW5zcG9zZV9zMzJfOHg4XzIobGVmdDMgKyA4LCByaWdodDMgKyA4LCB0ZW1wMSArIDE2LCB0ZW1w
MiArIDE2KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0NCArIDgsIHJpZ2h0NCArIDgsIHRl
bXAxICsgMjQsIHRlbXAyICsgMjQpOwotCi0gIGhpZ2hiZF9jcm9zc19pbnB1dCh0ZW1wMSwgdGVt
cDIsIGxlZnQ2LCByaWdodDYpOwotICBoaWdoYmRfZGN0OHgzMl9ib2R5X3NlY29uZF9wYXNzX3Jk
KGxlZnQ2LCByaWdodDYpOwotCi0gIC8vIFRoaXJkIHJvdyBvZiA4eDMyCi0gIHRyYW5zcG9zZV9z
MzJfOHg4XzIobGVmdDEgKyAxNiwgcmlnaHQxICsgMTYsIHRlbXAxLCB0ZW1wMik7Ci0gIHRyYW5z
cG9zZV9zMzJfOHg4XzIobGVmdDIgKyAxNiwgcmlnaHQyICsgMTYsIHRlbXAxICsgOCwgdGVtcDIg
KyA4KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0MyArIDE2LCByaWdodDMgKyAxNiwgdGVt
cDEgKyAxNiwgdGVtcDIgKyAxNik7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDQgKyAxNiwg
cmlnaHQ0ICsgMTYsIHRlbXAxICsgMjQsIHRlbXAyICsgMjQpOwotCi0gIGhpZ2hiZF9jcm9zc19p
bnB1dCh0ZW1wMSwgdGVtcDIsIGxlZnQ3LCByaWdodDcpOwotICBoaWdoYmRfZGN0OHgzMl9ib2R5
X3NlY29uZF9wYXNzX3JkKGxlZnQ3LCByaWdodDcpOwotCi0gIC8vIEZpbmFsIHJvdyBvZiA4eDMy
LgotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQxICsgMjQsIHJpZ2h0MSArIDI0LCB0ZW1wMSwg
dGVtcDIpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQyICsgMjQsIHJpZ2h0MiArIDI0LCB0
ZW1wMSArIDgsIHRlbXAyICsgOCk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDMgKyAyNCwg
cmlnaHQzICsgMjQsIHRlbXAxICsgMTYsIHRlbXAyICsgMTYpOwotICB0cmFuc3Bvc2VfczMyXzh4
OF8yKGxlZnQ0ICsgMjQsIHJpZ2h0NCArIDI0LCB0ZW1wMSArIDI0LCB0ZW1wMiArIDI0KTsKLQot
ICBoaWdoYmRfY3Jvc3NfaW5wdXQodGVtcDEsIHRlbXAyLCBsZWZ0OCwgcmlnaHQ4KTsKLSAgaGln
aGJkX2RjdDh4MzJfYm9keV9zZWNvbmRfcGFzc19yZChsZWZ0OCwgcmlnaHQ4KTsKLQotICAvLyBG
aW5hbCB0cmFuc3Bvc2UKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0NSwgcmlnaHQ1LCBsZWZ0
MSwgcmlnaHQxKTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0NSArIDgsIHJpZ2h0NSArIDgs
IGxlZnQyLCByaWdodDIpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ1ICsgMTYsIHJpZ2h0
NSArIDE2LCBsZWZ0MywgcmlnaHQzKTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0NSArIDI0
LCByaWdodDUgKyAyNCwgbGVmdDQsIHJpZ2h0NCk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVm
dDYsIHJpZ2h0NiwgbGVmdDEgKyA4LCByaWdodDEgKyA4KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhf
MihsZWZ0NiArIDgsIHJpZ2h0NiArIDgsIGxlZnQyICsgOCwgcmlnaHQyICsgOCk7Ci0gIHRyYW5z
cG9zZV9zMzJfOHg4XzIobGVmdDYgKyAxNiwgcmlnaHQ2ICsgMTYsIGxlZnQzICsgOCwgcmlnaHQz
ICsgOCk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDYgKyAyNCwgcmlnaHQ2ICsgMjQsIGxl
ZnQ0ICsgOCwgcmlnaHQ0ICsgOCk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDcsIHJpZ2h0
NywgbGVmdDEgKyAxNiwgcmlnaHQxICsgMTYpOwotICB0cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQ3
ICsgOCwgcmlnaHQ3ICsgOCwgbGVmdDIgKyAxNiwgcmlnaHQyICsgMTYpOwotICB0cmFuc3Bvc2Vf
czMyXzh4OF8yKGxlZnQ3ICsgMTYsIHJpZ2h0NyArIDE2LCBsZWZ0MyArIDE2LCByaWdodDMgKyAx
Nik7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDcgKyAyNCwgcmlnaHQ3ICsgMjQsIGxlZnQ0
ICsgMTYsIHJpZ2h0NCArIDE2KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0OCwgcmlnaHQ4
LCBsZWZ0MSArIDI0LCByaWdodDEgKyAyNCk7Ci0gIHRyYW5zcG9zZV9zMzJfOHg4XzIobGVmdDgg
KyA4LCByaWdodDggKyA4LCBsZWZ0MiArIDI0LCByaWdodDIgKyAyNCk7Ci0gIHRyYW5zcG9zZV9z
MzJfOHg4XzIobGVmdDggKyAxNiwgcmlnaHQ4ICsgMTYsIGxlZnQzICsgMjQsIHJpZ2h0MyArIDI0
KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0OCArIDI0LCByaWdodDggKyAyNCwgbGVmdDQg
KyAyNCwgcmlnaHQ0ICsgMjQpOwotCi0gIHN0b3JlMzJ4MzJfczMyKG91dHB1dCwgbGVmdDEsIHJp
Z2h0MSwgbGVmdDIsIHJpZ2h0MiwgbGVmdDMsIHJpZ2h0MywgbGVmdDQsCi0gICAgICAgICAgICAg
ICAgIHJpZ2h0NCk7Ci19Ci0KLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLQog
I2VuZGlmICAvLyAhZGVmaW5lZChfX2NsYW5nX18pICYmICFkZWZpbmVkKF9fQU5EUk9JRF9fKSAm
JiBkZWZpbmVkKF9fR05VQ19fKSAmJgogICAgICAgICAvLyBfX0dOVUNfXyA9PSA0ICYmIF9fR05V
Q19NSU5PUl9fIDw9IDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDMy
eDMyX25lb24uaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDMyeDMyX25lb24uaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I5ZTY0YzZkZjk4Li4wMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0MzJ4MzJfbmVvbi5oCisrKyAvZGV2L251bGwK
QEAgLTEsMjkxOSArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBw
cm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlz
IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0
IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3Vy
Y2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMg
Z3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmli
dXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpZm5kZWYgVlBYX1ZQ
WF9EU1BfQVJNX0ZEQ1QzMlgzMl9ORU9OX0hfCi0jZGVmaW5lIFZQWF9WUFhfRFNQX0FSTV9GRENU
MzJYMzJfTkVPTl9IXwotCi0jaW5jbHVkZSA8YXJtX25lb24uaD4KLQotI2luY2x1ZGUgIi4vdnB4
X2NvbmZpZy5oIgotI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAidnB4X2Rz
cC90eGZtX2NvbW1vbi5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCi0jaW5j
bHVkZSAidnB4X2RzcC9hcm0vdHJhbnNwb3NlX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2Fy
bS9mZGN0X25lb24uaCIKLQotLy8gTG9hZCAmIGNyb3NzIHRoZSBmaXJzdCA4IGFuZCBsYXN0IDgs
IHRoZW4gdGhlIG1pZGRsZQotc3RhdGljIElOTElORSB2b2lkIGxvYWRfY3Jvc3MoY29uc3QgaW50
MTZfdCAqYSwgaW50IHN0cmlkZSwgaW50MTZ4OF90ICpiKSB7Ci0gIGJbMF0gPSB2YWRkcV9zMTYo
dmxkMXFfczE2KGEgKyAwICogc3RyaWRlKSwgdmxkMXFfczE2KGEgKyAzMSAqIHN0cmlkZSkpOwot
ICBiWzFdID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgMSAqIHN0cmlkZSksIHZsZDFxX3MxNihh
ICsgMzAgKiBzdHJpZGUpKTsKLSAgYlsyXSA9IHZhZGRxX3MxNih2bGQxcV9zMTYoYSArIDIgKiBz
dHJpZGUpLCB2bGQxcV9zMTYoYSArIDI5ICogc3RyaWRlKSk7Ci0gIGJbM10gPSB2YWRkcV9zMTYo
dmxkMXFfczE2KGEgKyAzICogc3RyaWRlKSwgdmxkMXFfczE2KGEgKyAyOCAqIHN0cmlkZSkpOwot
ICBiWzRdID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgNCAqIHN0cmlkZSksIHZsZDFxX3MxNihh
ICsgMjcgKiBzdHJpZGUpKTsKLSAgYls1XSA9IHZhZGRxX3MxNih2bGQxcV9zMTYoYSArIDUgKiBz
dHJpZGUpLCB2bGQxcV9zMTYoYSArIDI2ICogc3RyaWRlKSk7Ci0gIGJbNl0gPSB2YWRkcV9zMTYo
dmxkMXFfczE2KGEgKyA2ICogc3RyaWRlKSwgdmxkMXFfczE2KGEgKyAyNSAqIHN0cmlkZSkpOwot
ICBiWzddID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgNyAqIHN0cmlkZSksIHZsZDFxX3MxNihh
ICsgMjQgKiBzdHJpZGUpKTsKLQotICBiWzI0XSA9IHZzdWJxX3MxNih2bGQxcV9zMTYoYSArIDcg
KiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDI0ICogc3RyaWRlKSk7Ci0gIGJbMjVdID0gdnN1YnFf
czE2KHZsZDFxX3MxNihhICsgNiAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMjUgKiBzdHJpZGUp
KTsKLSAgYlsyNl0gPSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyA1ICogc3RyaWRlKSwgdmxkMXFf
czE2KGEgKyAyNiAqIHN0cmlkZSkpOwotICBiWzI3XSA9IHZzdWJxX3MxNih2bGQxcV9zMTYoYSAr
IDQgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDI3ICogc3RyaWRlKSk7Ci0gIGJbMjhdID0gdnN1
YnFfczE2KHZsZDFxX3MxNihhICsgMyAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMjggKiBzdHJp
ZGUpKTsKLSAgYlsyOV0gPSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyAyICogc3RyaWRlKSwgdmxk
MXFfczE2KGEgKyAyOSAqIHN0cmlkZSkpOwotICBiWzMwXSA9IHZzdWJxX3MxNih2bGQxcV9zMTYo
YSArIDEgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDMwICogc3RyaWRlKSk7Ci0gIGJbMzFdID0g
dnN1YnFfczE2KHZsZDFxX3MxNihhICsgMCAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMzEgKiBz
dHJpZGUpKTsKLQotICBiWzhdID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgOCAqIHN0cmlkZSks
IHZsZDFxX3MxNihhICsgMjMgKiBzdHJpZGUpKTsKLSAgYls5XSA9IHZhZGRxX3MxNih2bGQxcV9z
MTYoYSArIDkgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDIyICogc3RyaWRlKSk7Ci0gIGJbMTBd
ID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgMTAgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDIx
ICogc3RyaWRlKSk7Ci0gIGJbMTFdID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgMTEgKiBzdHJp
ZGUpLCB2bGQxcV9zMTYoYSArIDIwICogc3RyaWRlKSk7Ci0gIGJbMTJdID0gdmFkZHFfczE2KHZs
ZDFxX3MxNihhICsgMTIgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDE5ICogc3RyaWRlKSk7Ci0g
IGJbMTNdID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgMTMgKiBzdHJpZGUpLCB2bGQxcV9zMTYo
YSArIDE4ICogc3RyaWRlKSk7Ci0gIGJbMTRdID0gdmFkZHFfczE2KHZsZDFxX3MxNihhICsgMTQg
KiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDE3ICogc3RyaWRlKSk7Ci0gIGJbMTVdID0gdmFkZHFf
czE2KHZsZDFxX3MxNihhICsgMTUgKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDE2ICogc3RyaWRl
KSk7Ci0KLSAgYlsxNl0gPSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyAxNSAqIHN0cmlkZSksIHZs
ZDFxX3MxNihhICsgMTYgKiBzdHJpZGUpKTsKLSAgYlsxN10gPSB2c3VicV9zMTYodmxkMXFfczE2
KGEgKyAxNCAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMTcgKiBzdHJpZGUpKTsKLSAgYlsxOF0g
PSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyAxMyAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMTgg
KiBzdHJpZGUpKTsKLSAgYlsxOV0gPSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyAxMiAqIHN0cmlk
ZSksIHZsZDFxX3MxNihhICsgMTkgKiBzdHJpZGUpKTsKLSAgYlsyMF0gPSB2c3VicV9zMTYodmxk
MXFfczE2KGEgKyAxMSAqIHN0cmlkZSksIHZsZDFxX3MxNihhICsgMjAgKiBzdHJpZGUpKTsKLSAg
YlsyMV0gPSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyAxMCAqIHN0cmlkZSksIHZsZDFxX3MxNihh
ICsgMjEgKiBzdHJpZGUpKTsKLSAgYlsyMl0gPSB2c3VicV9zMTYodmxkMXFfczE2KGEgKyA5ICog
c3RyaWRlKSwgdmxkMXFfczE2KGEgKyAyMiAqIHN0cmlkZSkpOwotICBiWzIzXSA9IHZzdWJxX3Mx
Nih2bGQxcV9zMTYoYSArIDggKiBzdHJpZGUpLCB2bGQxcV9zMTYoYSArIDIzICogc3RyaWRlKSk7
Ci19Ci0KLSNkZWZpbmUgU1RPUkVfUzE2KHNyYywgaW5kZXgsIGRlc3QpICAgICAgICAgICBcCi0g
IGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHN0b3Jl
X3MxNnFfdG9fdHJhbl9sb3coZGVzdCwgc3JjW2luZGV4XSk7IFwKLSAgICBkZXN0ICs9IDg7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLS8vIFN0b3Jl
IDMyIDE2eDggdmFsdWVzLCBhc3N1bWluZyBzdHJpZGUgPT0gMzIuCi0vLyBTbGlnaHQgdHdpc3Q6
IHN0b3JlIGhvcml6b250YWxseSBpbiBibG9ja3Mgb2YgOC4KLXN0YXRpYyBJTkxJTkUgdm9pZCBz
dG9yZSh0cmFuX2xvd190ICphLCBjb25zdCBpbnQxNng4X3QgKmIpIHsKLSAgU1RPUkVfUzE2KGIs
IDAsIGEpOwotICBTVE9SRV9TMTYoYiwgOCwgYSk7Ci0gIFNUT1JFX1MxNihiLCAxNiwgYSk7Ci0g
IFNUT1JFX1MxNihiLCAyNCwgYSk7Ci0gIFNUT1JFX1MxNihiLCAxLCBhKTsKLSAgU1RPUkVfUzE2
KGIsIDksIGEpOwotICBTVE9SRV9TMTYoYiwgMTcsIGEpOwotICBTVE9SRV9TMTYoYiwgMjUsIGEp
OwotICBTVE9SRV9TMTYoYiwgMiwgYSk7Ci0gIFNUT1JFX1MxNihiLCAxMCwgYSk7Ci0gIFNUT1JF
X1MxNihiLCAxOCwgYSk7Ci0gIFNUT1JFX1MxNihiLCAyNiwgYSk7Ci0gIFNUT1JFX1MxNihiLCAz
LCBhKTsKLSAgU1RPUkVfUzE2KGIsIDExLCBhKTsKLSAgU1RPUkVfUzE2KGIsIDE5LCBhKTsKLSAg
U1RPUkVfUzE2KGIsIDI3LCBhKTsKLSAgU1RPUkVfUzE2KGIsIDQsIGEpOwotICBTVE9SRV9TMTYo
YiwgMTIsIGEpOwotICBTVE9SRV9TMTYoYiwgMjAsIGEpOwotICBTVE9SRV9TMTYoYiwgMjgsIGEp
OwotICBTVE9SRV9TMTYoYiwgNSwgYSk7Ci0gIFNUT1JFX1MxNihiLCAxMywgYSk7Ci0gIFNUT1JF
X1MxNihiLCAyMSwgYSk7Ci0gIFNUT1JFX1MxNihiLCAyOSwgYSk7Ci0gIFNUT1JFX1MxNihiLCA2
LCBhKTsKLSAgU1RPUkVfUzE2KGIsIDE0LCBhKTsKLSAgU1RPUkVfUzE2KGIsIDIyLCBhKTsKLSAg
U1RPUkVfUzE2KGIsIDMwLCBhKTsKLSAgU1RPUkVfUzE2KGIsIDcsIGEpOwotICBTVE9SRV9TMTYo
YiwgMTUsIGEpOwotICBTVE9SRV9TMTYoYiwgMjMsIGEpOwotICBTVE9SRV9TMTYoYiwgMzEsIGEp
OwotfQotCi0jdW5kZWYgU1RPUkVfUzE2Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBzY2FsZV9pbnB1
dChjb25zdCBpbnQxNng4X3QgKmluIC8qMzIqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQxNng4X3QgKm91dCAvKjMyKi8pIHsKLSAgb3V0WzBdID0gdnNobHFfbl9zMTYoaW5b
MF0sIDIpOwotICBvdXRbMV0gPSB2c2hscV9uX3MxNihpblsxXSwgMik7Ci0gIG91dFsyXSA9IHZz
aGxxX25fczE2KGluWzJdLCAyKTsKLSAgb3V0WzNdID0gdnNobHFfbl9zMTYoaW5bM10sIDIpOwot
ICBvdXRbNF0gPSB2c2hscV9uX3MxNihpbls0XSwgMik7Ci0gIG91dFs1XSA9IHZzaGxxX25fczE2
KGluWzVdLCAyKTsKLSAgb3V0WzZdID0gdnNobHFfbl9zMTYoaW5bNl0sIDIpOwotICBvdXRbN10g
PSB2c2hscV9uX3MxNihpbls3XSwgMik7Ci0KLSAgb3V0WzhdID0gdnNobHFfbl9zMTYoaW5bOF0s
IDIpOwotICBvdXRbOV0gPSB2c2hscV9uX3MxNihpbls5XSwgMik7Ci0gIG91dFsxMF0gPSB2c2hs
cV9uX3MxNihpblsxMF0sIDIpOwotICBvdXRbMTFdID0gdnNobHFfbl9zMTYoaW5bMTFdLCAyKTsK
LSAgb3V0WzEyXSA9IHZzaGxxX25fczE2KGluWzEyXSwgMik7Ci0gIG91dFsxM10gPSB2c2hscV9u
X3MxNihpblsxM10sIDIpOwotICBvdXRbMTRdID0gdnNobHFfbl9zMTYoaW5bMTRdLCAyKTsKLSAg
b3V0WzE1XSA9IHZzaGxxX25fczE2KGluWzE1XSwgMik7Ci0KLSAgb3V0WzE2XSA9IHZzaGxxX25f
czE2KGluWzE2XSwgMik7Ci0gIG91dFsxN10gPSB2c2hscV9uX3MxNihpblsxN10sIDIpOwotICBv
dXRbMThdID0gdnNobHFfbl9zMTYoaW5bMThdLCAyKTsKLSAgb3V0WzE5XSA9IHZzaGxxX25fczE2
KGluWzE5XSwgMik7Ci0gIG91dFsyMF0gPSB2c2hscV9uX3MxNihpblsyMF0sIDIpOwotICBvdXRb
MjFdID0gdnNobHFfbl9zMTYoaW5bMjFdLCAyKTsKLSAgb3V0WzIyXSA9IHZzaGxxX25fczE2KGlu
WzIyXSwgMik7Ci0gIG91dFsyM10gPSB2c2hscV9uX3MxNihpblsyM10sIDIpOwotCi0gIG91dFsy
NF0gPSB2c2hscV9uX3MxNihpblsyNF0sIDIpOwotICBvdXRbMjVdID0gdnNobHFfbl9zMTYoaW5b
MjVdLCAyKTsKLSAgb3V0WzI2XSA9IHZzaGxxX25fczE2KGluWzI2XSwgMik7Ci0gIG91dFsyN10g
PSB2c2hscV9uX3MxNihpblsyN10sIDIpOwotICBvdXRbMjhdID0gdnNobHFfbl9zMTYoaW5bMjhd
LCAyKTsKLSAgb3V0WzI5XSA9IHZzaGxxX25fczE2KGluWzI5XSwgMik7Ci0gIG91dFszMF0gPSB2
c2hscV9uX3MxNihpblszMF0sIDIpOwotICBvdXRbMzFdID0gdnNobHFfbl9zMTYoaW5bMzFdLCAy
KTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGRjdF9ib2R5X2ZpcnN0X3Bhc3MoY29uc3QgaW50
MTZ4OF90ICppbiwgaW50MTZ4OF90ICpvdXQpIHsKLSAgaW50MTZ4OF90IGFbMzJdOwotICBpbnQx
Nng4X3QgYlszMl07Ci0KLSAgLy8gU3RhZ2UgMTogRG9uZSBhcyBwYXJ0IG9mIHRoZSBsb2FkLgot
Ci0gIC8vIFN0YWdlIDIuCi0gIC8vIE1pbmkgY3Jvc3MuIFggdGhlIGZpcnN0IDE2IHZhbHVlcyBh
bmQgdGhlIG1pZGRsZSA4IG9mIHRoZSBzZWNvbmQgaGFsZi4KLSAgYVswXSA9IHZhZGRxX3MxNihp
blswXSwgaW5bMTVdKTsKLSAgYVsxXSA9IHZhZGRxX3MxNihpblsxXSwgaW5bMTRdKTsKLSAgYVsy
XSA9IHZhZGRxX3MxNihpblsyXSwgaW5bMTNdKTsKLSAgYVszXSA9IHZhZGRxX3MxNihpblszXSwg
aW5bMTJdKTsKLSAgYVs0XSA9IHZhZGRxX3MxNihpbls0XSwgaW5bMTFdKTsKLSAgYVs1XSA9IHZh
ZGRxX3MxNihpbls1XSwgaW5bMTBdKTsKLSAgYVs2XSA9IHZhZGRxX3MxNihpbls2XSwgaW5bOV0p
OwotICBhWzddID0gdmFkZHFfczE2KGluWzddLCBpbls4XSk7Ci0KLSAgYVs4XSA9IHZzdWJxX3Mx
Nihpbls3XSwgaW5bOF0pOwotICBhWzldID0gdnN1YnFfczE2KGluWzZdLCBpbls5XSk7Ci0gIGFb
MTBdID0gdnN1YnFfczE2KGluWzVdLCBpblsxMF0pOwotICBhWzExXSA9IHZzdWJxX3MxNihpbls0
XSwgaW5bMTFdKTsKLSAgYVsxMl0gPSB2c3VicV9zMTYoaW5bM10sIGluWzEyXSk7Ci0gIGFbMTNd
ID0gdnN1YnFfczE2KGluWzJdLCBpblsxM10pOwotICBhWzE0XSA9IHZzdWJxX3MxNihpblsxXSwg
aW5bMTRdKTsKLSAgYVsxNV0gPSB2c3VicV9zMTYoaW5bMF0sIGluWzE1XSk7Ci0KLSAgYVsxNl0g
PSBpblsxNl07Ci0gIGFbMTddID0gaW5bMTddOwotICBhWzE4XSA9IGluWzE4XTsKLSAgYVsxOV0g
PSBpblsxOV07Ci0KLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfczMyX25hcnJvdyhpblsyN10s
IGluWzIwXSwgY29zcGlfMTZfNjQsICZhWzI3XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmYVsyMF0pOwotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzJfbmFycm93
KGluWzI2XSwgaW5bMjFdLCBjb3NwaV8xNl82NCwgJmFbMjZdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZhWzIxXSk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczE2X3Mz
Ml9uYXJyb3coaW5bMjVdLCBpblsyMl0sIGNvc3BpXzE2XzY0LCAmYVsyNV0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFbMjJdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2Vm
Zl9zMTZfczMyX25hcnJvdyhpblsyNF0sIGluWzIzXSwgY29zcGlfMTZfNjQsICZhWzI0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYVsyM10pOwotCi0gIGFbMjhdID0g
aW5bMjhdOwotICBhWzI5XSA9IGluWzI5XTsKLSAgYVszMF0gPSBpblszMF07Ci0gIGFbMzFdID0g
aW5bMzFdOwotCi0gIC8vIFN0YWdlIDMuCi0gIGJbMF0gPSB2YWRkcV9zMTYoYVswXSwgYVs3XSk7
Ci0gIGJbMV0gPSB2YWRkcV9zMTYoYVsxXSwgYVs2XSk7Ci0gIGJbMl0gPSB2YWRkcV9zMTYoYVsy
XSwgYVs1XSk7Ci0gIGJbM10gPSB2YWRkcV9zMTYoYVszXSwgYVs0XSk7Ci0KLSAgYls0XSA9IHZz
dWJxX3MxNihhWzNdLCBhWzRdKTsKLSAgYls1XSA9IHZzdWJxX3MxNihhWzJdLCBhWzVdKTsKLSAg
Yls2XSA9IHZzdWJxX3MxNihhWzFdLCBhWzZdKTsKLSAgYls3XSA9IHZzdWJxX3MxNihhWzBdLCBh
WzddKTsKLQotICBiWzhdID0gYVs4XTsKLSAgYls5XSA9IGFbOV07Ci0KLSAgYnV0dGVyZmx5X29u
ZV9jb2VmZl9zMTZfczMyX25hcnJvdyhhWzEzXSwgYVsxMF0sIGNvc3BpXzE2XzY0LCAmYlsxM10s
ICZiWzEwXSk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczE2X3MzMl9uYXJyb3coYVsxMl0sIGFb
MTFdLCBjb3NwaV8xNl82NCwgJmJbMTJdLCAmYlsxMV0pOwotCi0gIGJbMTRdID0gYVsxNF07Ci0g
IGJbMTVdID0gYVsxNV07Ci0KLSAgYlsxNl0gPSB2YWRkcV9zMTYoaW5bMTZdLCBhWzIzXSk7Ci0g
IGJbMTddID0gdmFkZHFfczE2KGluWzE3XSwgYVsyMl0pOwotICBiWzE4XSA9IHZhZGRxX3MxNihp
blsxOF0sIGFbMjFdKTsKLSAgYlsxOV0gPSB2YWRkcV9zMTYoaW5bMTldLCBhWzIwXSk7Ci0KLSAg
YlsyMF0gPSB2c3VicV9zMTYoaW5bMTldLCBhWzIwXSk7Ci0gIGJbMjFdID0gdnN1YnFfczE2KGlu
WzE4XSwgYVsyMV0pOwotICBiWzIyXSA9IHZzdWJxX3MxNihpblsxN10sIGFbMjJdKTsKLSAgYlsy
M10gPSB2c3VicV9zMTYoaW5bMTZdLCBhWzIzXSk7Ci0KLSAgYlsyNF0gPSB2c3VicV9zMTYoaW5b
MzFdLCBhWzI0XSk7Ci0gIGJbMjVdID0gdnN1YnFfczE2KGluWzMwXSwgYVsyNV0pOwotICBiWzI2
XSA9IHZzdWJxX3MxNihpblsyOV0sIGFbMjZdKTsKLSAgYlsyN10gPSB2c3VicV9zMTYoaW5bMjhd
LCBhWzI3XSk7Ci0KLSAgYlsyOF0gPSB2YWRkcV9zMTYoaW5bMjhdLCBhWzI3XSk7Ci0gIGJbMjld
ID0gdmFkZHFfczE2KGluWzI5XSwgYVsyNl0pOwotICBiWzMwXSA9IHZhZGRxX3MxNihpblszMF0s
IGFbMjVdKTsKLSAgYlszMV0gPSB2YWRkcV9zMTYoaW5bMzFdLCBhWzI0XSk7Ci0KLSAgLy8gU3Rh
Z2UgNC4KLSAgYVswXSA9IHZhZGRxX3MxNihiWzBdLCBiWzNdKTsKLSAgYVsxXSA9IHZhZGRxX3Mx
NihiWzFdLCBiWzJdKTsKLSAgYVsyXSA9IHZzdWJxX3MxNihiWzFdLCBiWzJdKTsKLSAgYVszXSA9
IHZzdWJxX3MxNihiWzBdLCBiWzNdKTsKLQotICBhWzRdID0gYls0XTsKLQotICBidXR0ZXJmbHlf
b25lX2NvZWZmX3MxNl9zMzJfbmFycm93KGJbNl0sIGJbNV0sIGNvc3BpXzE2XzY0LCAmYVs2XSwg
JmFbNV0pOwotCi0gIGFbN10gPSBiWzddOwotCi0gIGFbOF0gPSB2YWRkcV9zMTYoYls4XSwgYlsx
MV0pOwotICBhWzldID0gdmFkZHFfczE2KGJbOV0sIGJbMTBdKTsKLSAgYVsxMF0gPSB2c3VicV9z
MTYoYls5XSwgYlsxMF0pOwotICBhWzExXSA9IHZzdWJxX3MxNihiWzhdLCBiWzExXSk7Ci0gIGFb
MTJdID0gdnN1YnFfczE2KGJbMTVdLCBiWzEyXSk7Ci0gIGFbMTNdID0gdnN1YnFfczE2KGJbMTRd
LCBiWzEzXSk7Ci0gIGFbMTRdID0gdmFkZHFfczE2KGJbMTRdLCBiWzEzXSk7Ci0gIGFbMTVdID0g
dmFkZHFfczE2KGJbMTVdLCBiWzEyXSk7Ci0KLSAgYVsxNl0gPSBiWzE2XTsKLSAgYVsxN10gPSBi
WzE3XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMjldLCBiWzE4XSwgY29zcGlfOF82NCwg
Y29zcGlfMjRfNjQsICZhWzI5XSwgJmFbMThdKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI4
XSwgYlsxOV0sIGNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LCAmYVsyOF0sICZhWzE5XSk7Ci0gIGJ1
dHRlcmZseV90d29fY29lZmYoYlsyN10sIGJbMjBdLCBjb3NwaV8yNF82NCwgLWNvc3BpXzhfNjQs
ICZhWzI3XSwgJmFbMjBdKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI2XSwgYlsyMV0sIGNv
c3BpXzI0XzY0LCAtY29zcGlfOF82NCwgJmFbMjZdLCAmYVsyMV0pOwotCi0gIGFbMjJdID0gYlsy
Ml07Ci0gIGFbMjNdID0gYlsyM107Ci0gIGFbMjRdID0gYlsyNF07Ci0gIGFbMjVdID0gYlsyNV07
Ci0KLSAgYVszMF0gPSBiWzMwXTsKLSAgYVszMV0gPSBiWzMxXTsKLQotICAvLyBTdGFnZSA1Lgot
ICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9mYXN0KGFbMF0sIGFbMV0sIGNvc3BpXzE2XzY0LCAm
YlswXSwgJmJbMV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbM10sIGFbMl0sIGNvc3BpXzhf
NjQsIGNvc3BpXzI0XzY0LCAmYlsyXSwgJmJbM10pOwotCi0gIGJbNF0gPSB2YWRkcV9zMTYoYVs0
XSwgYVs1XSk7Ci0gIGJbNV0gPSB2c3VicV9zMTYoYVs0XSwgYVs1XSk7Ci0gIGJbNl0gPSB2c3Vi
cV9zMTYoYVs3XSwgYVs2XSk7Ci0gIGJbN10gPSB2YWRkcV9zMTYoYVs3XSwgYVs2XSk7Ci0KLSAg
Yls4XSA9IGFbOF07Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzE0XSwgYVs5XSwgY29zcGlf
OF82NCwgY29zcGlfMjRfNjQsICZiWzE0XSwgJmJbOV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZm
KGFbMTNdLCBhWzEwXSwgY29zcGlfMjRfNjQsIC1jb3NwaV84XzY0LCAmYlsxM10sICZiWzEwXSk7
Ci0KLSAgYlsxMV0gPSBhWzExXTsKLSAgYlsxMl0gPSBhWzEyXTsKLQotICBiWzE1XSA9IGFbMTVd
OwotCi0gIGJbMTZdID0gdmFkZHFfczE2KGFbMTldLCBhWzE2XSk7Ci0gIGJbMTddID0gdmFkZHFf
czE2KGFbMThdLCBhWzE3XSk7Ci0gIGJbMThdID0gdnN1YnFfczE2KGFbMTddLCBhWzE4XSk7Ci0g
IGJbMTldID0gdnN1YnFfczE2KGFbMTZdLCBhWzE5XSk7Ci0gIGJbMjBdID0gdnN1YnFfczE2KGFb
MjNdLCBhWzIwXSk7Ci0gIGJbMjFdID0gdnN1YnFfczE2KGFbMjJdLCBhWzIxXSk7Ci0gIGJbMjJd
ID0gdmFkZHFfczE2KGFbMjFdLCBhWzIyXSk7Ci0gIGJbMjNdID0gdmFkZHFfczE2KGFbMjBdLCBh
WzIzXSk7Ci0gIGJbMjRdID0gdmFkZHFfczE2KGFbMjddLCBhWzI0XSk7Ci0gIGJbMjVdID0gdmFk
ZHFfczE2KGFbMjZdLCBhWzI1XSk7Ci0gIGJbMjZdID0gdnN1YnFfczE2KGFbMjVdLCBhWzI2XSk7
Ci0gIGJbMjddID0gdnN1YnFfczE2KGFbMjRdLCBhWzI3XSk7Ci0gIGJbMjhdID0gdnN1YnFfczE2
KGFbMzFdLCBhWzI4XSk7Ci0gIGJbMjldID0gdnN1YnFfczE2KGFbMzBdLCBhWzI5XSk7Ci0gIGJb
MzBdID0gdmFkZHFfczE2KGFbMjldLCBhWzMwXSk7Ci0gIGJbMzFdID0gdmFkZHFfczE2KGFbMjhd
LCBhWzMxXSk7Ci0KLSAgLy8gU3RhZ2UgNi4KLSAgYVswXSA9IGJbMF07Ci0gIGFbMV0gPSBiWzFd
OwotICBhWzJdID0gYlsyXTsKLSAgYVszXSA9IGJbM107Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2Vm
ZihiWzddLCBiWzRdLCBjb3NwaV80XzY0LCBjb3NwaV8yOF82NCwgJmFbNF0sICZhWzddKTsKLSAg
YnV0dGVyZmx5X3R3b19jb2VmZihiWzZdLCBiWzVdLCBjb3NwaV8yMF82NCwgY29zcGlfMTJfNjQs
ICZhWzVdLCAmYVs2XSk7Ci0KLSAgYVs4XSA9IHZhZGRxX3MxNihiWzhdLCBiWzldKTsKLSAgYVs5
XSA9IHZzdWJxX3MxNihiWzhdLCBiWzldKTsKLSAgYVsxMF0gPSB2c3VicV9zMTYoYlsxMV0sIGJb
MTBdKTsKLSAgYVsxMV0gPSB2YWRkcV9zMTYoYlsxMV0sIGJbMTBdKTsKLSAgYVsxMl0gPSB2YWRk
cV9zMTYoYlsxMl0sIGJbMTNdKTsKLSAgYVsxM10gPSB2c3VicV9zMTYoYlsxMl0sIGJbMTNdKTsK
LSAgYVsxNF0gPSB2c3VicV9zMTYoYlsxNV0sIGJbMTRdKTsKLSAgYVsxNV0gPSB2YWRkcV9zMTYo
YlsxNV0sIGJbMTRdKTsKLQotICBhWzE2XSA9IGJbMTZdOwotICBhWzE5XSA9IGJbMTldOwotICBh
WzIwXSA9IGJbMjBdOwotICBhWzIzXSA9IGJbMjNdOwotICBhWzI0XSA9IGJbMjRdOwotICBhWzI3
XSA9IGJbMjddOwotICBhWzI4XSA9IGJbMjhdOwotICBhWzMxXSA9IGJbMzFdOwotCi0gIGJ1dHRl
cmZseV90d29fY29lZmYoYlszMF0sIGJbMTddLCBjb3NwaV80XzY0LCBjb3NwaV8yOF82NCwgJmFb
MzBdLCAmYVsxN10pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMjldLCBiWzE4XSwgY29zcGlf
MjhfNjQsIC1jb3NwaV80XzY0LCAmYVsyOV0sICZhWzE4XSk7Ci0KLSAgYnV0dGVyZmx5X3R3b19j
b2VmZihiWzI2XSwgYlsyMV0sIGNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCwgJmFbMjZdLCAmYVsy
MV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMjVdLCBiWzIyXSwgY29zcGlfMTJfNjQsIC1j
b3NwaV8yMF82NCwgJmFbMjVdLCAmYVsyMl0pOwotCi0gIC8vIFN0YWdlIDcuCi0gIGJbMF0gPSBh
WzBdOwotICBiWzFdID0gYVsxXTsKLSAgYlsyXSA9IGFbMl07Ci0gIGJbM10gPSBhWzNdOwotICBi
WzRdID0gYVs0XTsKLSAgYls1XSA9IGFbNV07Ci0gIGJbNl0gPSBhWzZdOwotICBiWzddID0gYVs3
XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMTVdLCBhWzhdLCBjb3NwaV8yXzY0LCBjb3Nw
aV8zMF82NCwgJmJbOF0sICZiWzE1XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmYoYVsxNF0sIGFb
OV0sIGNvc3BpXzE4XzY0LCBjb3NwaV8xNF82NCwgJmJbOV0sICZiWzE0XSk7Ci0gIGJ1dHRlcmZs
eV90d29fY29lZmYoYVsxM10sIGFbMTBdLCBjb3NwaV8xMF82NCwgY29zcGlfMjJfNjQsICZiWzEw
XSwgJmJbMTNdKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzEyXSwgYVsxMV0sIGNvc3BpXzI2
XzY0LCBjb3NwaV82XzY0LCAmYlsxMV0sICZiWzEyXSk7Ci0KLSAgYlsxNl0gPSB2YWRkcV9zMTYo
YVsxNl0sIGFbMTddKTsKLSAgYlsxN10gPSB2c3VicV9zMTYoYVsxNl0sIGFbMTddKTsKLSAgYlsx
OF0gPSB2c3VicV9zMTYoYVsxOV0sIGFbMThdKTsKLSAgYlsxOV0gPSB2YWRkcV9zMTYoYVsxOV0s
IGFbMThdKTsKLSAgYlsyMF0gPSB2YWRkcV9zMTYoYVsyMF0sIGFbMjFdKTsKLSAgYlsyMV0gPSB2
c3VicV9zMTYoYVsyMF0sIGFbMjFdKTsKLSAgYlsyMl0gPSB2c3VicV9zMTYoYVsyM10sIGFbMjJd
KTsKLSAgYlsyM10gPSB2YWRkcV9zMTYoYVsyM10sIGFbMjJdKTsKLSAgYlsyNF0gPSB2YWRkcV9z
MTYoYVsyNF0sIGFbMjVdKTsKLSAgYlsyNV0gPSB2c3VicV9zMTYoYVsyNF0sIGFbMjVdKTsKLSAg
YlsyNl0gPSB2c3VicV9zMTYoYVsyN10sIGFbMjZdKTsKLSAgYlsyN10gPSB2YWRkcV9zMTYoYVsy
N10sIGFbMjZdKTsKLSAgYlsyOF0gPSB2YWRkcV9zMTYoYVsyOF0sIGFbMjldKTsKLSAgYlsyOV0g
PSB2c3VicV9zMTYoYVsyOF0sIGFbMjldKTsKLSAgYlszMF0gPSB2c3VicV9zMTYoYVszMV0sIGFb
MzBdKTsKLSAgYlszMV0gPSB2YWRkcV9zMTYoYVszMV0sIGFbMzBdKTsKLQotICAvLyBGaW5hbCBz
dGFnZS4KLSAgLy8gQWxzbyBjb21wdXRlIHBhcnRpYWwgcm91bmRpbmcgc2hpZnQ6Ci0gIC8vIG91
dHB1dFtqICogMzIgKyBpXSA9ICh0ZW1wX291dFtqXSArIDEgKyAodGVtcF9vdXRbal0gPiAwKSkg
Pj4gMjsKLSAgb3V0WzBdID0gc3ViX3JvdW5kX3NoaWZ0X3MxNihiWzBdKTsKLSAgb3V0WzE2XSA9
IHN1Yl9yb3VuZF9zaGlmdF9zMTYoYlsxXSk7Ci0gIG91dFs4XSA9IHN1Yl9yb3VuZF9zaGlmdF9z
MTYoYlsyXSk7Ci0gIG91dFsyNF0gPSBzdWJfcm91bmRfc2hpZnRfczE2KGJbM10pOwotICBvdXRb
NF0gPSBzdWJfcm91bmRfc2hpZnRfczE2KGJbNF0pOwotICBvdXRbMjBdID0gc3ViX3JvdW5kX3No
aWZ0X3MxNihiWzVdKTsKLSAgb3V0WzEyXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMTYoYls2XSk7Ci0g
IG91dFsyOF0gPSBzdWJfcm91bmRfc2hpZnRfczE2KGJbN10pOwotICBvdXRbMl0gPSBzdWJfcm91
bmRfc2hpZnRfczE2KGJbOF0pOwotICBvdXRbMThdID0gc3ViX3JvdW5kX3NoaWZ0X3MxNihiWzld
KTsKLSAgb3V0WzEwXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMTYoYlsxMF0pOwotICBvdXRbMjZdID0g
c3ViX3JvdW5kX3NoaWZ0X3MxNihiWzExXSk7Ci0gIG91dFs2XSA9IHN1Yl9yb3VuZF9zaGlmdF9z
MTYoYlsxMl0pOwotICBvdXRbMjJdID0gc3ViX3JvdW5kX3NoaWZ0X3MxNihiWzEzXSk7Ci0gIG91
dFsxNF0gPSBzdWJfcm91bmRfc2hpZnRfczE2KGJbMTRdKTsKLSAgb3V0WzMwXSA9IHN1Yl9yb3Vu
ZF9zaGlmdF9zMTYoYlsxNV0pOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmYoYlszMV0sIGJbMTZd
LCBjb3NwaV8xXzY0LCBjb3NwaV8zMV82NCwgJmFbMV0sICZhWzMxXSk7Ci0gIG91dFsxXSA9IHN1
Yl9yb3VuZF9zaGlmdF9zMTYoYVsxXSk7Ci0gIG91dFszMV0gPSBzdWJfcm91bmRfc2hpZnRfczE2
KGFbMzFdKTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMzBdLCBiWzE3XSwgY29zcGlfMTdf
NjQsIGNvc3BpXzE1XzY0LCAmYVsxN10sICZhWzE1XSk7Ci0gIG91dFsxN10gPSBzdWJfcm91bmRf
c2hpZnRfczE2KGFbMTddKTsKLSAgb3V0WzE1XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMTYoYVsxNV0p
OwotCi0gIGJ1dHRlcmZseV90d29fY29lZmYoYlsyOV0sIGJbMThdLCBjb3NwaV85XzY0LCBjb3Nw
aV8yM182NCwgJmFbOV0sICZhWzIzXSk7Ci0gIG91dFs5XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMTYo
YVs5XSk7Ci0gIG91dFsyM10gPSBzdWJfcm91bmRfc2hpZnRfczE2KGFbMjNdKTsKLQotICBidXR0
ZXJmbHlfdHdvX2NvZWZmKGJbMjhdLCBiWzE5XSwgY29zcGlfMjVfNjQsIGNvc3BpXzdfNjQsICZh
WzI1XSwgJmFbN10pOwotICBvdXRbMjVdID0gc3ViX3JvdW5kX3NoaWZ0X3MxNihhWzI1XSk7Ci0g
IG91dFs3XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMTYoYVs3XSk7Ci0KLSAgYnV0dGVyZmx5X3R3b19j
b2VmZihiWzI3XSwgYlsyMF0sIGNvc3BpXzVfNjQsIGNvc3BpXzI3XzY0LCAmYVs1XSwgJmFbMjdd
KTsKLSAgb3V0WzVdID0gc3ViX3JvdW5kX3NoaWZ0X3MxNihhWzVdKTsKLSAgb3V0WzI3XSA9IHN1
Yl9yb3VuZF9zaGlmdF9zMTYoYVsyN10pOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmYoYlsyNl0s
IGJbMjFdLCBjb3NwaV8yMV82NCwgY29zcGlfMTFfNjQsICZhWzIxXSwgJmFbMTFdKTsKLSAgb3V0
WzIxXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMTYoYVsyMV0pOwotICBvdXRbMTFdID0gc3ViX3JvdW5k
X3NoaWZ0X3MxNihhWzExXSk7Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzI1XSwgYlsyMl0s
IGNvc3BpXzEzXzY0LCBjb3NwaV8xOV82NCwgJmFbMTNdLCAmYVsxOV0pOwotICBvdXRbMTNdID0g
c3ViX3JvdW5kX3NoaWZ0X3MxNihhWzEzXSk7Ci0gIG91dFsxOV0gPSBzdWJfcm91bmRfc2hpZnRf
czE2KGFbMTldKTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMjRdLCBiWzIzXSwgY29zcGlf
MjlfNjQsIGNvc3BpXzNfNjQsICZhWzI5XSwgJmFbM10pOwotICBvdXRbMjldID0gc3ViX3JvdW5k
X3NoaWZ0X3MxNihhWzI5XSk7Ci0gIG91dFszXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMTYoYVszXSk7
Ci19Ci0KLSNkZWZpbmUgUEFTU19USFJPVUdIKHNyYywgZHN0LCBlbGVtZW50KSAgICBcCi0gIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRzdCMjX2xvW2Vs
ZW1lbnRdID0gc3JjIyNfbG9bZWxlbWVudF07IFwKLSAgICBkc3QjI19oaVtlbGVtZW50XSA9IHNy
YyMjX2hpW2VsZW1lbnRdOyBcCi0gIH0gd2hpbGUgKDApCi0KLSNkZWZpbmUgQUREX1MxNl9TMzIo
YSwgbGVmdF9pbmRleCwgcmlnaHRfaW5kZXgsIGIsIGJfaW5kZXgpICAgICAgICAgICAgICAgICAg
IFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBiIyNfbG9bYl9pbmRleF0gPSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgdmFkZGxfczE2KHZnZXRfbG93X3MxNihhW2xlZnRfaW5kZXhdKSwgdmdldF9sb3dfczE2KGFb
cmlnaHRfaW5kZXhdKSk7IFwKLSAgICBiIyNfaGlbYl9pbmRleF0gPSB2YWRkbF9zMTYodmdldF9o
aWdoX3MxNihhW2xlZnRfaW5kZXhdKSwgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmdldF9oaWdoX3MxNihhW3JpZ2h0X2luZGV4XSkpOyAgICAgICAg
ICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBTVUJfUzE2X1MzMihhLCBsZWZ0X2lu
ZGV4LCByaWdodF9pbmRleCwgYiwgYl9pbmRleCkgICAgICAgICAgICAgICAgICAgXAotICBkbyB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGIjI19sb1tiX2luZGV4XSA9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB2c3VibF9z
MTYodmdldF9sb3dfczE2KGFbbGVmdF9pbmRleF0pLCB2Z2V0X2xvd19zMTYoYVtyaWdodF9pbmRl
eF0pKTsgXAotICAgIGIjI19oaVtiX2luZGV4XSA9IHZzdWJsX3MxNih2Z2V0X2hpZ2hfczE2KGFb
bGVmdF9pbmRleF0pLCAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2Z2V0X2hpZ2hfczE2KGFbcmlnaHRfaW5kZXhdKSk7ICAgICAgICAgICAgICAgXAot
ICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIEFERFdfUzE2X1MzMihhLCBhX2luZGV4LCBiLCBiX2lu
ZGV4LCBjLCBjX2luZGV4KSAgICAgICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGMjI19sb1tjX2luZGV4XSA9IHZhZGR3X3MxNihhIyNfbG9bYV9pbmRleF0sIHZn
ZXRfbG93X3MxNihiW2JfaW5kZXhdKSk7ICBcCi0gICAgYyMjX2hpW2NfaW5kZXhdID0gdmFkZHdf
czE2KGEjI19oaVthX2luZGV4XSwgdmdldF9oaWdoX3MxNihiW2JfaW5kZXhdKSk7IFwKLSAgfSB3
aGlsZSAoMCkKLQotI2RlZmluZSBTVUJXX1MxNl9TMzIoYSwgYV9pbmRleCwgYiwgYl9pbmRleCwg
dGVtcCwgdGVtcF9pbmRleCwgYywgY19pbmRleCkgXAotICBkbyB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHRlbXAjI19sb1t0ZW1wX2luZGV4XSA9IHZtb3ZsX3MxNih2Z2V0X2xvd19zMTYoYVthX2luZGV4
XSkpOyAgICAgICAgICAgXAotICAgIHRlbXAjI19oaVt0ZW1wX2luZGV4XSA9IHZtb3ZsX3MxNih2
Z2V0X2hpZ2hfczE2KGFbYV9pbmRleF0pKTsgICAgICAgICAgXAotICAgIGMjI19sb1tjX2luZGV4
XSA9IHZzdWJxX3MzMih0ZW1wIyNfbG9bdGVtcF9pbmRleF0sIGIjI19sb1tiX2luZGV4XSk7ICAg
XAotICAgIGMjI19oaVtjX2luZGV4XSA9IHZzdWJxX3MzMih0ZW1wIyNfaGlbdGVtcF9pbmRleF0s
IGIjI19oaVtiX2luZGV4XSk7ICAgXAotICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIEFERF9TMzIo
YSwgbGVmdF9pbmRleCwgcmlnaHRfaW5kZXgsIGIsIGJfaW5kZXgpICAgICAgICAgICAgICAgICAg
IFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGIjI19sb1tiX2luZGV4XSA9IHZhZGRxX3MzMihh
IyNfbG9bbGVmdF9pbmRleF0sIGEjI19sb1tyaWdodF9pbmRleF0pOyBcCi0gICAgYiMjX2hpW2Jf
aW5kZXhdID0gdmFkZHFfczMyKGEjI19oaVtsZWZ0X2luZGV4XSwgYSMjX2hpW3JpZ2h0X2luZGV4
XSk7IFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBTVUJfUzMyKGEsIGxlZnRfaW5kZXgsIHJp
Z2h0X2luZGV4LCBiLCBiX2luZGV4KSAgICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBiIyNfbG9bYl9pbmRleF0gPSB2c3VicV9zMzIoYSMjX2xvW2xlZnRfaW5kZXhd
LCBhIyNfbG9bcmlnaHRfaW5kZXhdKTsgXAotICAgIGIjI19oaVtiX2luZGV4XSA9IHZzdWJxX3Mz
MihhIyNfaGlbbGVmdF9pbmRleF0sIGEjI19oaVtyaWdodF9pbmRleF0pOyBcCi0gIH0gd2hpbGUg
KDApCi0KLSNkZWZpbmUgQlVUVEVSRkxZX09ORV9TMTZfUzMyKGEsIGxlZnRfaW5kZXgsIHJpZ2h0
X2luZGV4LCBjb25zdGFudCwgYiwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
ZGRfaW5kZXgsIHN1Yl9pbmRleCkgICAgICAgICAgICAgICAgICAgICAgXAotICBkbyB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzIoYVtsZWZ0X2luZGV4XSwgYVty
aWdodF9pbmRleF0sIGNvbnN0YW50LCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZiIyNfbG9bYWRkX2luZGV4XSwgJmIjI19oaVthZGRfaW5kZXhdLCAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmYiMjX2xvW3N1Yl9pbmRleF0sICZiIyNfaGlbc3ViX2luZGV4
XSk7IFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBCVVRURVJGTFlfT05FX1MzMihhLCBsZWZ0
X2luZGV4LCByaWdodF9pbmRleCwgY29uc3RhbnQsIGIsIGFkZF9pbmRleCwgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3ViX2luZGV4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGJ1dHRlcmZseV9v
bmVfY29lZmZfczMyX2Zhc3QoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgYSMjX2xvW2xlZnRfaW5kZXhdLCBhIyNfaGlbbGVmdF9pbmRleF0s
IGEjI19sb1tyaWdodF9pbmRleF0sICAgICAgICAgICBcCi0gICAgICAgIGEjI19oaVtyaWdodF9p
bmRleF0sIGNvbnN0YW50LCAmYiMjX2xvW2FkZF9pbmRleF0sICZiIyNfaGlbYWRkX2luZGV4XSwg
XAotICAgICAgICAmYiMjX2xvW3N1Yl9pbmRleF0sICZiIyNfaGlbc3ViX2luZGV4XSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBCVVRU
RVJGTFlfVFdPX1MzMihhLCBsZWZ0X2luZGV4LCByaWdodF9pbmRleCwgbGVmdF9jb25zdGFudCwg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHRfY29uc3RhbnQsIGIs
IGFkZF9pbmRleCwgc3ViX2luZGV4KSAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGJ1dHRlcmZseV90d29fY29lZmZfczMyKGEjI19sb1tsZWZ0X2luZGV4XSwgYSMj
X2hpW2xlZnRfaW5kZXhdLCAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhIyNfbG9bcmlnaHRfaW5kZXhdLCBhIyNfaGlbcmlnaHRfaW5kZXhdLCAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdF9jb25zdGFudCwgcmlnaHRfY29uc3RhbnQs
ICZiIyNfbG9bYWRkX2luZGV4XSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZiIyNf
aGlbYWRkX2luZGV4XSwgJmIjI19sb1tzdWJfaW5kZXhdLCAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmYiMjX2hpW3N1Yl9pbmRleF0pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLXN0YXRpYyBJTkxJTkUgdm9pZCBkY3Rf
Ym9keV9zZWNvbmRfcGFzcyhjb25zdCBpbnQxNng4X3QgKmluLCBpbnQxNng4X3QgKm91dCkgewot
ICBpbnQxNng4X3QgYVszMl07Ci0gIGludDE2eDhfdCBiWzMyXTsKLSAgaW50MzJ4NF90IGNfbG9b
MzJdOwotICBpbnQzMng0X3QgY19oaVszMl07Ci0gIGludDMyeDRfdCBkX2xvWzMyXTsKLSAgaW50
MzJ4NF90IGRfaGlbMzJdOwotCi0gIC8vIFN0YWdlIDEuIERvbmUgYXMgcGFydCBvZiB0aGUgbG9h
ZCBmb3IgdGhlIGZpcnN0IHBhc3MuCi0gIGFbMF0gPSB2YWRkcV9zMTYoaW5bMF0sIGluWzMxXSk7
Ci0gIGFbMV0gPSB2YWRkcV9zMTYoaW5bMV0sIGluWzMwXSk7Ci0gIGFbMl0gPSB2YWRkcV9zMTYo
aW5bMl0sIGluWzI5XSk7Ci0gIGFbM10gPSB2YWRkcV9zMTYoaW5bM10sIGluWzI4XSk7Ci0gIGFb
NF0gPSB2YWRkcV9zMTYoaW5bNF0sIGluWzI3XSk7Ci0gIGFbNV0gPSB2YWRkcV9zMTYoaW5bNV0s
IGluWzI2XSk7Ci0gIGFbNl0gPSB2YWRkcV9zMTYoaW5bNl0sIGluWzI1XSk7Ci0gIGFbN10gPSB2
YWRkcV9zMTYoaW5bN10sIGluWzI0XSk7Ci0gIGFbOF0gPSB2YWRkcV9zMTYoaW5bOF0sIGluWzIz
XSk7Ci0gIGFbOV0gPSB2YWRkcV9zMTYoaW5bOV0sIGluWzIyXSk7Ci0gIGFbMTBdID0gdmFkZHFf
czE2KGluWzEwXSwgaW5bMjFdKTsKLSAgYVsxMV0gPSB2YWRkcV9zMTYoaW5bMTFdLCBpblsyMF0p
OwotICBhWzEyXSA9IHZhZGRxX3MxNihpblsxMl0sIGluWzE5XSk7Ci0gIGFbMTNdID0gdmFkZHFf
czE2KGluWzEzXSwgaW5bMThdKTsKLSAgYVsxNF0gPSB2YWRkcV9zMTYoaW5bMTRdLCBpblsxN10p
OwotICBhWzE1XSA9IHZhZGRxX3MxNihpblsxNV0sIGluWzE2XSk7Ci0gIGFbMTZdID0gdnN1YnFf
czE2KGluWzE1XSwgaW5bMTZdKTsKLSAgYVsxN10gPSB2c3VicV9zMTYoaW5bMTRdLCBpblsxN10p
OwotICBhWzE4XSA9IHZzdWJxX3MxNihpblsxM10sIGluWzE4XSk7Ci0gIGFbMTldID0gdnN1YnFf
czE2KGluWzEyXSwgaW5bMTldKTsKLSAgYVsyMF0gPSB2c3VicV9zMTYoaW5bMTFdLCBpblsyMF0p
OwotICBhWzIxXSA9IHZzdWJxX3MxNihpblsxMF0sIGluWzIxXSk7Ci0gIGFbMjJdID0gdnN1YnFf
czE2KGluWzldLCBpblsyMl0pOwotICBhWzIzXSA9IHZzdWJxX3MxNihpbls4XSwgaW5bMjNdKTsK
LSAgYVsyNF0gPSB2c3VicV9zMTYoaW5bN10sIGluWzI0XSk7Ci0gIGFbMjVdID0gdnN1YnFfczE2
KGluWzZdLCBpblsyNV0pOwotICBhWzI2XSA9IHZzdWJxX3MxNihpbls1XSwgaW5bMjZdKTsKLSAg
YVsyN10gPSB2c3VicV9zMTYoaW5bNF0sIGluWzI3XSk7Ci0gIGFbMjhdID0gdnN1YnFfczE2KGlu
WzNdLCBpblsyOF0pOwotICBhWzI5XSA9IHZzdWJxX3MxNihpblsyXSwgaW5bMjldKTsKLSAgYVsz
MF0gPSB2c3VicV9zMTYoaW5bMV0sIGluWzMwXSk7Ci0gIGFbMzFdID0gdnN1YnFfczE2KGluWzBd
LCBpblszMV0pOwotCi0gIC8vIFN0YWdlIDIuCi0gIGJbMF0gPSB2YWRkcV9zMTYoYVswXSwgYVsx
NV0pOwotICBiWzFdID0gdmFkZHFfczE2KGFbMV0sIGFbMTRdKTsKLSAgYlsyXSA9IHZhZGRxX3Mx
NihhWzJdLCBhWzEzXSk7Ci0gIGJbM10gPSB2YWRkcV9zMTYoYVszXSwgYVsxMl0pOwotICBiWzRd
ID0gdmFkZHFfczE2KGFbNF0sIGFbMTFdKTsKLSAgYls1XSA9IHZhZGRxX3MxNihhWzVdLCBhWzEw
XSk7Ci0gIGJbNl0gPSB2YWRkcV9zMTYoYVs2XSwgYVs5XSk7Ci0gIGJbN10gPSB2YWRkcV9zMTYo
YVs3XSwgYVs4XSk7Ci0KLSAgYls4XSA9IHZzdWJxX3MxNihhWzddLCBhWzhdKTsKLSAgYls5XSA9
IHZzdWJxX3MxNihhWzZdLCBhWzldKTsKLSAgYlsxMF0gPSB2c3VicV9zMTYoYVs1XSwgYVsxMF0p
OwotICBiWzExXSA9IHZzdWJxX3MxNihhWzRdLCBhWzExXSk7Ci0gIGJbMTJdID0gdnN1YnFfczE2
KGFbM10sIGFbMTJdKTsKLSAgYlsxM10gPSB2c3VicV9zMTYoYVsyXSwgYVsxM10pOwotICBiWzE0
XSA9IHZzdWJxX3MxNihhWzFdLCBhWzE0XSk7Ci0gIGJbMTVdID0gdnN1YnFfczE2KGFbMF0sIGFb
MTVdKTsKLQotICBiWzE2XSA9IGFbMTZdOwotICBiWzE3XSA9IGFbMTddOwotICBiWzE4XSA9IGFb
MThdOwotICBiWzE5XSA9IGFbMTldOwotCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczE2X3MzMl9u
YXJyb3coYVsyN10sIGFbMjBdLCBjb3NwaV8xNl82NCwgJmJbMjddLCAmYlsyMF0pOwotICBidXR0
ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzJfbmFycm93KGFbMjZdLCBhWzIxXSwgY29zcGlfMTZfNjQs
ICZiWzI2XSwgJmJbMjFdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfczMyX25hcnJvdyhh
WzI1XSwgYVsyMl0sIGNvc3BpXzE2XzY0LCAmYlsyNV0sICZiWzIyXSk7Ci0gIGJ1dHRlcmZseV9v
bmVfY29lZmZfczE2X3MzMl9uYXJyb3coYVsyNF0sIGFbMjNdLCBjb3NwaV8xNl82NCwgJmJbMjRd
LCAmYlsyM10pOwotCi0gIGJbMjhdID0gYVsyOF07Ci0gIGJbMjldID0gYVsyOV07Ci0gIGJbMzBd
ID0gYVszMF07Ci0gIGJbMzFdID0gYVszMV07Ci0KLSAgLy8gU3RhZ2UgMy4gV2l0aCBleHRyZW1l
IHZhbHVlcyBmb3IgaW5wdXQgdGhpcyBjYWxjdWxhdGlvbiByb2xscyBvdmVyIGludDE2X3QuCi0g
IC8vIFRoZSBzb3VyY2VzIGZvciBiWzBdIGdldCBhZGRlZCBtdWx0aXBsZSB0aW1lcyBhbmQsIHRo
cm91Z2ggdGVzdGluZywgaGF2ZQotICAvLyBiZWVuIHNob3duIHRvIG92ZXJmbG93IHN0YXJ0aW5n
IGhlcmUuCi0gIEFERF9TMTZfUzMyKGIsIDAsIDcsIGMsIDApOwotICBBRERfUzE2X1MzMihiLCAx
LCA2LCBjLCAxKTsKLSAgQUREX1MxNl9TMzIoYiwgMiwgNSwgYywgMik7Ci0gIEFERF9TMTZfUzMy
KGIsIDMsIDQsIGMsIDMpOwotICBTVUJfUzE2X1MzMihiLCAzLCA0LCBjLCA0KTsKLSAgU1VCX1Mx
Nl9TMzIoYiwgMiwgNSwgYywgNSk7Ci0gIFNVQl9TMTZfUzMyKGIsIDEsIDYsIGMsIDYpOwotICBT
VUJfUzE2X1MzMihiLCAwLCA3LCBjLCA3KTsKLQotICBhWzhdID0gYls4XTsKLSAgYVs5XSA9IGJb
OV07Ci0KLSAgQlVUVEVSRkxZX09ORV9TMTZfUzMyKGIsIDEzLCAxMCwgY29zcGlfMTZfNjQsIGMs
IDEzLCAxMCk7Ci0gIEJVVFRFUkZMWV9PTkVfUzE2X1MzMihiLCAxMiwgMTEsIGNvc3BpXzE2XzY0
LCBjLCAxMiwgMTEpOwotCi0gIGFbMTRdID0gYlsxNF07Ci0gIGFbMTVdID0gYlsxNV07Ci0KLSAg
QUREX1MxNl9TMzIoYiwgMTYsIDIzLCBjLCAxNik7Ci0gIEFERF9TMTZfUzMyKGIsIDE3LCAyMiwg
YywgMTcpOwotICBBRERfUzE2X1MzMihiLCAxOCwgMjEsIGMsIDE4KTsKLSAgQUREX1MxNl9TMzIo
YiwgMTksIDIwLCBjLCAxOSk7Ci0gIFNVQl9TMTZfUzMyKGIsIDE5LCAyMCwgYywgMjApOwotICBT
VUJfUzE2X1MzMihiLCAxOCwgMjEsIGMsIDIxKTsKLSAgU1VCX1MxNl9TMzIoYiwgMTcsIDIyLCBj
LCAyMik7Ci0gIFNVQl9TMTZfUzMyKGIsIDE2LCAyMywgYywgMjMpOwotICBTVUJfUzE2X1MzMihi
LCAzMSwgMjQsIGMsIDI0KTsKLSAgU1VCX1MxNl9TMzIoYiwgMzAsIDI1LCBjLCAyNSk7Ci0gIFNV
Ql9TMTZfUzMyKGIsIDI5LCAyNiwgYywgMjYpOwotICBTVUJfUzE2X1MzMihiLCAyOCwgMjcsIGMs
IDI3KTsKLSAgQUREX1MxNl9TMzIoYiwgMjgsIDI3LCBjLCAyOCk7Ci0gIEFERF9TMTZfUzMyKGIs
IDI5LCAyNiwgYywgMjkpOwotICBBRERfUzE2X1MzMihiLCAzMCwgMjUsIGMsIDMwKTsKLSAgQURE
X1MxNl9TMzIoYiwgMzEsIDI0LCBjLCAzMSk7Ci0KLSAgLy8gU3RhZ2UgNC4KLSAgQUREX1MzMihj
LCAwLCAzLCBkLCAwKTsKLSAgQUREX1MzMihjLCAxLCAyLCBkLCAxKTsKLSAgU1VCX1MzMihjLCAx
LCAyLCBkLCAyKTsKLSAgU1VCX1MzMihjLCAwLCAzLCBkLCAzKTsKLQotICBQQVNTX1RIUk9VR0go
YywgZCwgNCk7Ci0KLSAgQlVUVEVSRkxZX09ORV9TMzIoYywgNiwgNSwgY29zcGlfMTZfNjQsIGQs
IDYsIDUpOwotCi0gIFBBU1NfVEhST1VHSChjLCBkLCA3KTsKLQotICBBRERXX1MxNl9TMzIoYywg
MTEsIGEsIDgsIGQsIDgpOwotICBBRERXX1MxNl9TMzIoYywgMTAsIGEsIDksIGQsIDkpOwotICBT
VUJXX1MxNl9TMzIoYSwgOSwgYywgMTAsIGMsIDksIGQsIDEwKTsKLSAgU1VCV19TMTZfUzMyKGEs
IDgsIGMsIDExLCBjLCA4LCBkLCAxMSk7Ci0gIFNVQldfUzE2X1MzMihhLCAxNSwgYywgMTIsIGMs
IDE1LCBkLCAxMik7Ci0gIFNVQldfUzE2X1MzMihhLCAxNCwgYywgMTMsIGMsIDE0LCBkLCAxMyk7
Ci0gIEFERFdfUzE2X1MzMihjLCAxMywgYiwgMTQsIGQsIDE0KTsKLSAgQUREV19TMTZfUzMyKGMs
IDEyLCBiLCAxNSwgZCwgMTUpOwotCi0gIFBBU1NfVEhST1VHSChjLCBkLCAxNik7Ci0gIFBBU1Nf
VEhST1VHSChjLCBkLCAxNyk7Ci0KLSAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjksIDE4LCBjb3Nw
aV84XzY0LCBjb3NwaV8yNF82NCwgZCwgMjksIDE4KTsKLSAgQlVUVEVSRkxZX1RXT19TMzIoYywg
MjgsIDE5LCBjb3NwaV84XzY0LCBjb3NwaV8yNF82NCwgZCwgMjgsIDE5KTsKLSAgQlVUVEVSRkxZ
X1RXT19TMzIoYywgMjcsIDIwLCBjb3NwaV8yNF82NCwgLWNvc3BpXzhfNjQsIGQsIDI3LCAyMCk7
Ci0gIEJVVFRFUkZMWV9UV09fUzMyKGMsIDI2LCAyMSwgY29zcGlfMjRfNjQsIC1jb3NwaV84XzY0
LCBkLCAyNiwgMjEpOwotCi0gIFBBU1NfVEhST1VHSChjLCBkLCAyMik7Ci0gIFBBU1NfVEhST1VH
SChjLCBkLCAyMyk7Ci0gIFBBU1NfVEhST1VHSChjLCBkLCAyNCk7Ci0gIFBBU1NfVEhST1VHSChj
LCBkLCAyNSk7Ci0KLSAgUEFTU19USFJPVUdIKGMsIGQsIDMwKTsKLSAgUEFTU19USFJPVUdIKGMs
IGQsIDMxKTsKLQotICAvLyBTdGFnZSA1LgotICBCVVRURVJGTFlfT05FX1MzMihkLCAwLCAxLCBj
b3NwaV8xNl82NCwgYywgMCwgMSk7Ci0gIEJVVFRFUkZMWV9UV09fUzMyKGQsIDMsIDIsIGNvc3Bp
XzhfNjQsIGNvc3BpXzI0XzY0LCBjLCAyLCAzKTsKLQotICBBRERfUzMyKGQsIDQsIDUsIGMsIDQp
OwotICBTVUJfUzMyKGQsIDQsIDUsIGMsIDUpOwotICBTVUJfUzMyKGQsIDcsIDYsIGMsIDYpOwot
ICBBRERfUzMyKGQsIDcsIDYsIGMsIDcpOwotCi0gIFBBU1NfVEhST1VHSChkLCBjLCA4KTsKLQot
ICBCVVRURVJGTFlfVFdPX1MzMihkLCAxNCwgOSwgY29zcGlfOF82NCwgY29zcGlfMjRfNjQsIGMs
IDE0LCA5KTsKLSAgQlVUVEVSRkxZX1RXT19TMzIoZCwgMTMsIDEwLCBjb3NwaV8yNF82NCwgLWNv
c3BpXzhfNjQsIGMsIDEzLCAxMCk7Ci0KLSAgUEFTU19USFJPVUdIKGQsIGMsIDExKTsKLSAgUEFT
U19USFJPVUdIKGQsIGMsIDEyKTsKLSAgUEFTU19USFJPVUdIKGQsIGMsIDE1KTsKLQotICBBRERf
UzMyKGQsIDE2LCAxOSwgYywgMTYpOwotICBBRERfUzMyKGQsIDE3LCAxOCwgYywgMTcpOwotICBT
VUJfUzMyKGQsIDE3LCAxOCwgYywgMTgpOwotICBTVUJfUzMyKGQsIDE2LCAxOSwgYywgMTkpOwot
ICBTVUJfUzMyKGQsIDIzLCAyMCwgYywgMjApOwotICBTVUJfUzMyKGQsIDIyLCAyMSwgYywgMjEp
OwotICBBRERfUzMyKGQsIDIyLCAyMSwgYywgMjIpOwotICBBRERfUzMyKGQsIDIzLCAyMCwgYywg
MjMpOwotICBBRERfUzMyKGQsIDI0LCAyNywgYywgMjQpOwotICBBRERfUzMyKGQsIDI1LCAyNiwg
YywgMjUpOwotICBTVUJfUzMyKGQsIDI1LCAyNiwgYywgMjYpOwotICBTVUJfUzMyKGQsIDI0LCAy
NywgYywgMjcpOwotICBTVUJfUzMyKGQsIDMxLCAyOCwgYywgMjgpOwotICBTVUJfUzMyKGQsIDMw
LCAyOSwgYywgMjkpOwotICBBRERfUzMyKGQsIDMwLCAyOSwgYywgMzApOwotICBBRERfUzMyKGQs
IDMxLCAyOCwgYywgMzEpOwotCi0gIC8vIFN0YWdlIDYuCi0gIFBBU1NfVEhST1VHSChjLCBkLCAw
KTsKLSAgUEFTU19USFJPVUdIKGMsIGQsIDEpOwotICBQQVNTX1RIUk9VR0goYywgZCwgMik7Ci0g
IFBBU1NfVEhST1VHSChjLCBkLCAzKTsKLQotICBCVVRURVJGTFlfVFdPX1MzMihjLCA3LCA0LCBj
b3NwaV80XzY0LCBjb3NwaV8yOF82NCwgZCwgNCwgNyk7Ci0gIEJVVFRFUkZMWV9UV09fUzMyKGMs
IDYsIDUsIGNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCwgZCwgNSwgNik7Ci0KLSAgQUREX1MzMihj
LCA4LCA5LCBkLCA4KTsKLSAgU1VCX1MzMihjLCA4LCA5LCBkLCA5KTsKLSAgU1VCX1MzMihjLCAx
MSwgMTAsIGQsIDEwKTsKLSAgQUREX1MzMihjLCAxMSwgMTAsIGQsIDExKTsKLSAgQUREX1MzMihj
LCAxMiwgMTMsIGQsIDEyKTsKLSAgU1VCX1MzMihjLCAxMiwgMTMsIGQsIDEzKTsKLSAgU1VCX1Mz
MihjLCAxNSwgMTQsIGQsIDE0KTsKLSAgQUREX1MzMihjLCAxNSwgMTQsIGQsIDE1KTsKLQotICBQ
QVNTX1RIUk9VR0goYywgZCwgMTYpOwotICBQQVNTX1RIUk9VR0goYywgZCwgMTkpOwotICBQQVNT
X1RIUk9VR0goYywgZCwgMjApOwotICBQQVNTX1RIUk9VR0goYywgZCwgMjMpOwotICBQQVNTX1RI
Uk9VR0goYywgZCwgMjQpOwotICBQQVNTX1RIUk9VR0goYywgZCwgMjcpOwotICBQQVNTX1RIUk9V
R0goYywgZCwgMjgpOwotICBQQVNTX1RIUk9VR0goYywgZCwgMzEpOwotCi0gIEJVVFRFUkZMWV9U
V09fUzMyKGMsIDMwLCAxNywgY29zcGlfNF82NCwgY29zcGlfMjhfNjQsIGQsIDMwLCAxNyk7Ci0g
IEJVVFRFUkZMWV9UV09fUzMyKGMsIDI5LCAxOCwgY29zcGlfMjhfNjQsIC1jb3NwaV80XzY0LCBk
LCAyOSwgMTgpOwotICBCVVRURVJGTFlfVFdPX1MzMihjLCAyNiwgMjEsIGNvc3BpXzIwXzY0LCBj
b3NwaV8xMl82NCwgZCwgMjYsIDIxKTsKLSAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjUsIDIyLCBj
b3NwaV8xMl82NCwgLWNvc3BpXzIwXzY0LCBkLCAyNSwgMjIpOwotCi0gIC8vIFN0YWdlIDcuCi0g
IFBBU1NfVEhST1VHSChkLCBjLCAwKTsKLSAgUEFTU19USFJPVUdIKGQsIGMsIDEpOwotICBQQVNT
X1RIUk9VR0goZCwgYywgMik7Ci0gIFBBU1NfVEhST1VHSChkLCBjLCAzKTsKLSAgUEFTU19USFJP
VUdIKGQsIGMsIDQpOwotICBQQVNTX1RIUk9VR0goZCwgYywgNSk7Ci0gIFBBU1NfVEhST1VHSChk
LCBjLCA2KTsKLSAgUEFTU19USFJPVUdIKGQsIGMsIDcpOwotCi0gIEJVVFRFUkZMWV9UV09fUzMy
KGQsIDE1LCA4LCBjb3NwaV8yXzY0LCBjb3NwaV8zMF82NCwgYywgOCwgMTUpOwotICBCVVRURVJG
TFlfVFdPX1MzMihkLCAxNCwgOSwgY29zcGlfMThfNjQsIGNvc3BpXzE0XzY0LCBjLCA5LCAxNCk7
Ci0gIEJVVFRFUkZMWV9UV09fUzMyKGQsIDEzLCAxMCwgY29zcGlfMTBfNjQsIGNvc3BpXzIyXzY0
LCBjLCAxMCwgMTMpOwotICBCVVRURVJGTFlfVFdPX1MzMihkLCAxMiwgMTEsIGNvc3BpXzI2XzY0
LCBjb3NwaV82XzY0LCBjLCAxMSwgMTIpOwotCi0gIEFERF9TMzIoZCwgMTYsIDE3LCBjLCAxNik7
Ci0gIFNVQl9TMzIoZCwgMTYsIDE3LCBjLCAxNyk7Ci0gIFNVQl9TMzIoZCwgMTksIDE4LCBjLCAx
OCk7Ci0gIEFERF9TMzIoZCwgMTksIDE4LCBjLCAxOSk7Ci0gIEFERF9TMzIoZCwgMjAsIDIxLCBj
LCAyMCk7Ci0gIFNVQl9TMzIoZCwgMjAsIDIxLCBjLCAyMSk7Ci0gIFNVQl9TMzIoZCwgMjMsIDIy
LCBjLCAyMik7Ci0gIEFERF9TMzIoZCwgMjMsIDIyLCBjLCAyMyk7Ci0gIEFERF9TMzIoZCwgMjQs
IDI1LCBjLCAyNCk7Ci0gIFNVQl9TMzIoZCwgMjQsIDI1LCBjLCAyNSk7Ci0gIFNVQl9TMzIoZCwg
MjcsIDI2LCBjLCAyNik7Ci0gIEFERF9TMzIoZCwgMjcsIDI2LCBjLCAyNyk7Ci0gIEFERF9TMzIo
ZCwgMjgsIDI5LCBjLCAyOCk7Ci0gIFNVQl9TMzIoZCwgMjgsIDI5LCBjLCAyOSk7Ci0gIFNVQl9T
MzIoZCwgMzEsIDMwLCBjLCAzMCk7Ci0gIEFERF9TMzIoZCwgMzEsIDMwLCBjLCAzMSk7Ci0KLSAg
Ly8gRmluYWwgc3RhZ2UuCi0gIC8vIFJvbGwgcm91bmRpbmcgaW50byB0aGlzIGZ1bmN0aW9uIHNv
IHdlIGNhbiBwYXNzIGJhY2sgaW50MTZ4OC4KLQotICBvdXRbMF0gPSBhZGRfcm91bmRfc2hpZnRf
czMyX25hcnJvdyhjX2xvWzBdLCBjX2hpWzBdKTsKLSAgb3V0WzE2XSA9IGFkZF9yb3VuZF9zaGlm
dF9zMzJfbmFycm93KGNfbG9bMV0sIGNfaGlbMV0pOwotCi0gIG91dFs4XSA9IGFkZF9yb3VuZF9z
aGlmdF9zMzJfbmFycm93KGNfbG9bMl0sIGNfaGlbMl0pOwotICBvdXRbMjRdID0gYWRkX3JvdW5k
X3NoaWZ0X3MzMl9uYXJyb3coY19sb1szXSwgY19oaVszXSk7Ci0gIG91dFs0XSA9IGFkZF9yb3Vu
ZF9zaGlmdF9zMzJfbmFycm93KGNfbG9bNF0sIGNfaGlbNF0pOwotICBvdXRbMjBdID0gYWRkX3Jv
dW5kX3NoaWZ0X3MzMl9uYXJyb3coY19sb1s1XSwgY19oaVs1XSk7Ci0gIG91dFsxMl0gPSBhZGRf
cm91bmRfc2hpZnRfczMyX25hcnJvdyhjX2xvWzZdLCBjX2hpWzZdKTsKLQotICBvdXRbMjhdID0g
YWRkX3JvdW5kX3NoaWZ0X3MzMl9uYXJyb3coY19sb1s3XSwgY19oaVs3XSk7Ci0gIG91dFsyXSA9
IGFkZF9yb3VuZF9zaGlmdF9zMzJfbmFycm93KGNfbG9bOF0sIGNfaGlbOF0pOwotICBvdXRbMThd
ID0gYWRkX3JvdW5kX3NoaWZ0X3MzMl9uYXJyb3coY19sb1s5XSwgY19oaVs5XSk7Ci0gIG91dFsx
MF0gPSBhZGRfcm91bmRfc2hpZnRfczMyX25hcnJvdyhjX2xvWzEwXSwgY19oaVsxMF0pOwotCi0g
IG91dFsyNl0gPSBhZGRfcm91bmRfc2hpZnRfczMyX25hcnJvdyhjX2xvWzExXSwgY19oaVsxMV0p
OwotICBvdXRbNl0gPSBhZGRfcm91bmRfc2hpZnRfczMyX25hcnJvdyhjX2xvWzEyXSwgY19oaVsx
Ml0pOwotICBvdXRbMjJdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMl9uYXJyb3coY19sb1sxM10sIGNf
aGlbMTNdKTsKLSAgb3V0WzE0XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzJfbmFycm93KGNfbG9bMTRd
LCBjX2hpWzE0XSk7Ci0gIG91dFszMF0gPSBhZGRfcm91bmRfc2hpZnRfczMyX25hcnJvdyhjX2xv
WzE1XSwgY19oaVsxNV0pOwotCi0gIEJVVFRFUkZMWV9UV09fUzMyKGMsIDMxLCAxNiwgY29zcGlf
MV82NCwgY29zcGlfMzFfNjQsIGQsIDEsIDMxKTsKLSAgb3V0WzFdID0gYWRkX3JvdW5kX3NoaWZ0
X3MzMl9uYXJyb3coZF9sb1sxXSwgZF9oaVsxXSk7Ci0gIG91dFszMV0gPSBhZGRfcm91bmRfc2hp
ZnRfczMyX25hcnJvdyhkX2xvWzMxXSwgZF9oaVszMV0pOwotCi0gIEJVVFRFUkZMWV9UV09fUzMy
KGMsIDMwLCAxNywgY29zcGlfMTdfNjQsIGNvc3BpXzE1XzY0LCBkLCAxNywgMTUpOwotICBvdXRb
MTddID0gYWRkX3JvdW5kX3NoaWZ0X3MzMl9uYXJyb3coZF9sb1sxN10sIGRfaGlbMTddKTsKLSAg
b3V0WzE1XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzJfbmFycm93KGRfbG9bMTVdLCBkX2hpWzE1XSk7
Ci0KLSAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjksIDE4LCBjb3NwaV85XzY0LCBjb3NwaV8yM182
NCwgZCwgOSwgMjMpOwotICBvdXRbOV0gPSBhZGRfcm91bmRfc2hpZnRfczMyX25hcnJvdyhkX2xv
WzldLCBkX2hpWzldKTsKLSAgb3V0WzIzXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzJfbmFycm93KGRf
bG9bMjNdLCBkX2hpWzIzXSk7Ci0KLSAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjgsIDE5LCBjb3Nw
aV8yNV82NCwgY29zcGlfN182NCwgZCwgMjUsIDcpOwotICBvdXRbMjVdID0gYWRkX3JvdW5kX3No
aWZ0X3MzMl9uYXJyb3coZF9sb1syNV0sIGRfaGlbMjVdKTsKLSAgb3V0WzddID0gYWRkX3JvdW5k
X3NoaWZ0X3MzMl9uYXJyb3coZF9sb1s3XSwgZF9oaVs3XSk7Ci0KLSAgQlVUVEVSRkxZX1RXT19T
MzIoYywgMjcsIDIwLCBjb3NwaV81XzY0LCBjb3NwaV8yN182NCwgZCwgNSwgMjcpOwotICBvdXRb
NV0gPSBhZGRfcm91bmRfc2hpZnRfczMyX25hcnJvdyhkX2xvWzVdLCBkX2hpWzVdKTsKLSAgb3V0
WzI3XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzJfbmFycm93KGRfbG9bMjddLCBkX2hpWzI3XSk7Ci0K
LSAgQlVUVEVSRkxZX1RXT19TMzIoYywgMjYsIDIxLCBjb3NwaV8yMV82NCwgY29zcGlfMTFfNjQs
IGQsIDIxLCAxMSk7Ci0gIG91dFsyMV0gPSBhZGRfcm91bmRfc2hpZnRfczMyX25hcnJvdyhkX2xv
WzIxXSwgZF9oaVsyMV0pOwotICBvdXRbMTFdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMl9uYXJyb3co
ZF9sb1sxMV0sIGRfaGlbMTFdKTsKLQotICBCVVRURVJGTFlfVFdPX1MzMihjLCAyNSwgMjIsIGNv
c3BpXzEzXzY0LCBjb3NwaV8xOV82NCwgZCwgMTMsIDE5KTsKLSAgb3V0WzEzXSA9IGFkZF9yb3Vu
ZF9zaGlmdF9zMzJfbmFycm93KGRfbG9bMTNdLCBkX2hpWzEzXSk7Ci0gIG91dFsxOV0gPSBhZGRf
cm91bmRfc2hpZnRfczMyX25hcnJvdyhkX2xvWzE5XSwgZF9oaVsxOV0pOwotCi0gIEJVVFRFUkZM
WV9UV09fUzMyKGMsIDI0LCAyMywgY29zcGlfMjlfNjQsIGNvc3BpXzNfNjQsIGQsIDI5LCAzKTsK
LSAgb3V0WzI5XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzJfbmFycm93KGRfbG9bMjldLCBkX2hpWzI5
XSk7Ci0gIG91dFszXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzJfbmFycm93KGRfbG9bM10sIGRfaGlb
M10pOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgZGN0X2JvZHlfc2Vjb25kX3Bhc3NfcmQoY29u
c3QgaW50MTZ4OF90ICppbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQxNng4X3QgKm91dCkgewotICBpbnQxNng4X3QgYVszMl07Ci0gIGludDE2eDhfdCBi
WzMyXTsKLQotICAvLyBTdGFnZSAxLiBEb25lIGFzIHBhcnQgb2YgdGhlIGxvYWQgZm9yIHRoZSBm
aXJzdCBwYXNzLgotICBhWzBdID0gdmFkZHFfczE2KGluWzBdLCBpblszMV0pOwotICBhWzFdID0g
dmFkZHFfczE2KGluWzFdLCBpblszMF0pOwotICBhWzJdID0gdmFkZHFfczE2KGluWzJdLCBpblsy
OV0pOwotICBhWzNdID0gdmFkZHFfczE2KGluWzNdLCBpblsyOF0pOwotICBhWzRdID0gdmFkZHFf
czE2KGluWzRdLCBpblsyN10pOwotICBhWzVdID0gdmFkZHFfczE2KGluWzVdLCBpblsyNl0pOwot
ICBhWzZdID0gdmFkZHFfczE2KGluWzZdLCBpblsyNV0pOwotICBhWzddID0gdmFkZHFfczE2KGlu
WzddLCBpblsyNF0pOwotICBhWzhdID0gdmFkZHFfczE2KGluWzhdLCBpblsyM10pOwotICBhWzld
ID0gdmFkZHFfczE2KGluWzldLCBpblsyMl0pOwotICBhWzEwXSA9IHZhZGRxX3MxNihpblsxMF0s
IGluWzIxXSk7Ci0gIGFbMTFdID0gdmFkZHFfczE2KGluWzExXSwgaW5bMjBdKTsKLSAgYVsxMl0g
PSB2YWRkcV9zMTYoaW5bMTJdLCBpblsxOV0pOwotICBhWzEzXSA9IHZhZGRxX3MxNihpblsxM10s
IGluWzE4XSk7Ci0gIGFbMTRdID0gdmFkZHFfczE2KGluWzE0XSwgaW5bMTddKTsKLSAgYVsxNV0g
PSB2YWRkcV9zMTYoaW5bMTVdLCBpblsxNl0pOwotICBhWzE2XSA9IHZzdWJxX3MxNihpblsxNV0s
IGluWzE2XSk7Ci0gIGFbMTddID0gdnN1YnFfczE2KGluWzE0XSwgaW5bMTddKTsKLSAgYVsxOF0g
PSB2c3VicV9zMTYoaW5bMTNdLCBpblsxOF0pOwotICBhWzE5XSA9IHZzdWJxX3MxNihpblsxMl0s
IGluWzE5XSk7Ci0gIGFbMjBdID0gdnN1YnFfczE2KGluWzExXSwgaW5bMjBdKTsKLSAgYVsyMV0g
PSB2c3VicV9zMTYoaW5bMTBdLCBpblsyMV0pOwotICBhWzIyXSA9IHZzdWJxX3MxNihpbls5XSwg
aW5bMjJdKTsKLSAgYVsyM10gPSB2c3VicV9zMTYoaW5bOF0sIGluWzIzXSk7Ci0gIGFbMjRdID0g
dnN1YnFfczE2KGluWzddLCBpblsyNF0pOwotICBhWzI1XSA9IHZzdWJxX3MxNihpbls2XSwgaW5b
MjVdKTsKLSAgYVsyNl0gPSB2c3VicV9zMTYoaW5bNV0sIGluWzI2XSk7Ci0gIGFbMjddID0gdnN1
YnFfczE2KGluWzRdLCBpblsyN10pOwotICBhWzI4XSA9IHZzdWJxX3MxNihpblszXSwgaW5bMjhd
KTsKLSAgYVsyOV0gPSB2c3VicV9zMTYoaW5bMl0sIGluWzI5XSk7Ci0gIGFbMzBdID0gdnN1YnFf
czE2KGluWzFdLCBpblszMF0pOwotICBhWzMxXSA9IHZzdWJxX3MxNihpblswXSwgaW5bMzFdKTsK
LQotICAvLyBTdGFnZSAyLgotICAvLyBGb3IgdGhlICJyZCIgdmVyc2lvbiwgYWxsIHRoZSB2YWx1
ZXMgYXJlIHJvdW5kZWQgZG93biBhZnRlciBzdGFnZSAyIHRvIGtlZXAKLSAgLy8gdGhlIHZhbHVl
cyBpbiAxNiBiaXRzLgotICBiWzBdID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2YWRkcV9zMTYoYVsw
XSwgYVsxNV0pKTsKLSAgYlsxXSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYodmFkZHFfczE2KGFbMV0s
IGFbMTRdKSk7Ci0gIGJbMl0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZhZGRxX3MxNihhWzJdLCBh
WzEzXSkpOwotICBiWzNdID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2YWRkcV9zMTYoYVszXSwgYVsx
Ml0pKTsKLSAgYls0XSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYodmFkZHFfczE2KGFbNF0sIGFbMTFd
KSk7Ci0gIGJbNV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZhZGRxX3MxNihhWzVdLCBhWzEwXSkp
OwotICBiWzZdID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2YWRkcV9zMTYoYVs2XSwgYVs5XSkpOwot
ICBiWzddID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2YWRkcV9zMTYoYVs3XSwgYVs4XSkpOwotCi0g
IGJbOF0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihhWzddLCBhWzhdKSk7Ci0gIGJb
OV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihhWzZdLCBhWzldKSk7Ci0gIGJbMTBd
ID0gYWRkX3JvdW5kX3NoaWZ0X3MxNih2c3VicV9zMTYoYVs1XSwgYVsxMF0pKTsKLSAgYlsxMV0g
PSBhZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihhWzRdLCBhWzExXSkpOwotICBiWzEyXSA9
IGFkZF9yb3VuZF9zaGlmdF9zMTYodnN1YnFfczE2KGFbM10sIGFbMTJdKSk7Ci0gIGJbMTNdID0g
YWRkX3JvdW5kX3NoaWZ0X3MxNih2c3VicV9zMTYoYVsyXSwgYVsxM10pKTsKLSAgYlsxNF0gPSBh
ZGRfcm91bmRfc2hpZnRfczE2KHZzdWJxX3MxNihhWzFdLCBhWzE0XSkpOwotICBiWzE1XSA9IGFk
ZF9yb3VuZF9zaGlmdF9zMTYodnN1YnFfczE2KGFbMF0sIGFbMTVdKSk7Ci0KLSAgYlsxNl0gPSBh
ZGRfcm91bmRfc2hpZnRfczE2KGFbMTZdKTsKLSAgYlsxN10gPSBhZGRfcm91bmRfc2hpZnRfczE2
KGFbMTddKTsKLSAgYlsxOF0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGFbMThdKTsKLSAgYlsxOV0g
PSBhZGRfcm91bmRfc2hpZnRfczE2KGFbMTldKTsKLQotICBidXR0ZXJmbHlfb25lX2NvZWZmX3Mx
Nl9zMzJfbmFycm93KGFbMjddLCBhWzIwXSwgY29zcGlfMTZfNjQsICZiWzI3XSwgJmJbMjBdKTsK
LSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfczMyX25hcnJvdyhhWzI2XSwgYVsyMV0sIGNvc3Bp
XzE2XzY0LCAmYlsyNl0sICZiWzIxXSk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczE2X3MzMl9u
YXJyb3coYVsyNV0sIGFbMjJdLCBjb3NwaV8xNl82NCwgJmJbMjVdLCAmYlsyMl0pOwotICBidXR0
ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzJfbmFycm93KGFbMjRdLCBhWzIzXSwgY29zcGlfMTZfNjQs
ICZiWzI0XSwgJmJbMjNdKTsKLSAgYlsyMF0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjBdKTsK
LSAgYlsyMV0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjFdKTsKLSAgYlsyMl0gPSBhZGRfcm91
bmRfc2hpZnRfczE2KGJbMjJdKTsKLSAgYlsyM10gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjNd
KTsKLSAgYlsyNF0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjRdKTsKLSAgYlsyNV0gPSBhZGRf
cm91bmRfc2hpZnRfczE2KGJbMjVdKTsKLSAgYlsyNl0gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJb
MjZdKTsKLSAgYlsyN10gPSBhZGRfcm91bmRfc2hpZnRfczE2KGJbMjddKTsKLQotICBiWzI4XSA9
IGFkZF9yb3VuZF9zaGlmdF9zMTYoYVsyOF0pOwotICBiWzI5XSA9IGFkZF9yb3VuZF9zaGlmdF9z
MTYoYVsyOV0pOwotICBiWzMwXSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYoYVszMF0pOwotICBiWzMx
XSA9IGFkZF9yb3VuZF9zaGlmdF9zMTYoYVszMV0pOwotCi0gIC8vIFN0YWdlIDMuCi0gIGFbMF0g
PSB2YWRkcV9zMTYoYlswXSwgYls3XSk7Ci0gIGFbMV0gPSB2YWRkcV9zMTYoYlsxXSwgYls2XSk7
Ci0gIGFbMl0gPSB2YWRkcV9zMTYoYlsyXSwgYls1XSk7Ci0gIGFbM10gPSB2YWRkcV9zMTYoYlsz
XSwgYls0XSk7Ci0KLSAgYVs0XSA9IHZzdWJxX3MxNihiWzNdLCBiWzRdKTsKLSAgYVs1XSA9IHZz
dWJxX3MxNihiWzJdLCBiWzVdKTsKLSAgYVs2XSA9IHZzdWJxX3MxNihiWzFdLCBiWzZdKTsKLSAg
YVs3XSA9IHZzdWJxX3MxNihiWzBdLCBiWzddKTsKLQotICBhWzhdID0gYls4XTsKLSAgYVs5XSA9
IGJbOV07Ci0KLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfczMyX25hcnJvdyhiWzEzXSwgYlsx
MF0sIGNvc3BpXzE2XzY0LCAmYVsxM10sICZhWzEwXSk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZf
czE2X3MzMl9uYXJyb3coYlsxMl0sIGJbMTFdLCBjb3NwaV8xNl82NCwgJmFbMTJdLCAmYVsxMV0p
OwotCi0gIGFbMTRdID0gYlsxNF07Ci0gIGFbMTVdID0gYlsxNV07Ci0KLSAgYVsxNl0gPSB2YWRk
cV9zMTYoYlsxNl0sIGJbMjNdKTsKLSAgYVsxN10gPSB2YWRkcV9zMTYoYlsxN10sIGJbMjJdKTsK
LSAgYVsxOF0gPSB2YWRkcV9zMTYoYlsxOF0sIGJbMjFdKTsKLSAgYVsxOV0gPSB2YWRkcV9zMTYo
YlsxOV0sIGJbMjBdKTsKLQotICBhWzIwXSA9IHZzdWJxX3MxNihiWzE5XSwgYlsyMF0pOwotICBh
WzIxXSA9IHZzdWJxX3MxNihiWzE4XSwgYlsyMV0pOwotICBhWzIyXSA9IHZzdWJxX3MxNihiWzE3
XSwgYlsyMl0pOwotICBhWzIzXSA9IHZzdWJxX3MxNihiWzE2XSwgYlsyM10pOwotCi0gIGFbMjRd
ID0gdnN1YnFfczE2KGJbMzFdLCBiWzI0XSk7Ci0gIGFbMjVdID0gdnN1YnFfczE2KGJbMzBdLCBi
WzI1XSk7Ci0gIGFbMjZdID0gdnN1YnFfczE2KGJbMjldLCBiWzI2XSk7Ci0gIGFbMjddID0gdnN1
YnFfczE2KGJbMjhdLCBiWzI3XSk7Ci0KLSAgYVsyOF0gPSB2YWRkcV9zMTYoYlsyOF0sIGJbMjdd
KTsKLSAgYVsyOV0gPSB2YWRkcV9zMTYoYlsyOV0sIGJbMjZdKTsKLSAgYVszMF0gPSB2YWRkcV9z
MTYoYlszMF0sIGJbMjVdKTsKLSAgYVszMV0gPSB2YWRkcV9zMTYoYlszMV0sIGJbMjRdKTsKLQot
ICAvLyBTdGFnZSA0LgotICBiWzBdID0gdmFkZHFfczE2KGFbMF0sIGFbM10pOwotICBiWzFdID0g
dmFkZHFfczE2KGFbMV0sIGFbMl0pOwotICBiWzJdID0gdnN1YnFfczE2KGFbMV0sIGFbMl0pOwot
ICBiWzNdID0gdnN1YnFfczE2KGFbMF0sIGFbM10pOwotCi0gIGJbNF0gPSBhWzRdOwotCi0gIGJ1
dHRlcmZseV9vbmVfY29lZmZfczE2X3MzMl9uYXJyb3coYVs2XSwgYVs1XSwgY29zcGlfMTZfNjQs
ICZiWzZdLCAmYls1XSk7Ci0KLSAgYls3XSA9IGFbN107Ci0KLSAgYls4XSA9IHZhZGRxX3MxNihh
WzhdLCBhWzExXSk7Ci0gIGJbOV0gPSB2YWRkcV9zMTYoYVs5XSwgYVsxMF0pOwotICBiWzEwXSA9
IHZzdWJxX3MxNihhWzldLCBhWzEwXSk7Ci0gIGJbMTFdID0gdnN1YnFfczE2KGFbOF0sIGFbMTFd
KTsKLSAgYlsxMl0gPSB2c3VicV9zMTYoYVsxNV0sIGFbMTJdKTsKLSAgYlsxM10gPSB2c3VicV9z
MTYoYVsxNF0sIGFbMTNdKTsKLSAgYlsxNF0gPSB2YWRkcV9zMTYoYVsxNF0sIGFbMTNdKTsKLSAg
YlsxNV0gPSB2YWRkcV9zMTYoYVsxNV0sIGFbMTJdKTsKLQotICBiWzE2XSA9IGFbMTZdOwotICBi
WzE3XSA9IGFbMTddOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmYoYVsyOV0sIGFbMThdLCBjb3Nw
aV84XzY0LCBjb3NwaV8yNF82NCwgJmJbMjldLCAmYlsxOF0pOwotICBidXR0ZXJmbHlfdHdvX2Nv
ZWZmKGFbMjhdLCBhWzE5XSwgY29zcGlfOF82NCwgY29zcGlfMjRfNjQsICZiWzI4XSwgJmJbMTld
KTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzI3XSwgYVsyMF0sIGNvc3BpXzI0XzY0LCAtY29z
cGlfOF82NCwgJmJbMjddLCAmYlsyMF0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjZdLCBh
WzIxXSwgY29zcGlfMjRfNjQsIC1jb3NwaV84XzY0LCAmYlsyNl0sICZiWzIxXSk7Ci0KLSAgYlsy
Ml0gPSBhWzIyXTsKLSAgYlsyM10gPSBhWzIzXTsKLSAgYlsyNF0gPSBhWzI0XTsKLSAgYlsyNV0g
PSBhWzI1XTsKLQotICBiWzMwXSA9IGFbMzBdOwotICBiWzMxXSA9IGFbMzFdOwotCi0gIC8vIFN0
YWdlIDUuCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczE2X3MzMl9uYXJyb3coYlswXSwgYlsxXSwg
Y29zcGlfMTZfNjQsICZhWzBdLCAmYVsxXSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmYoYlszXSwg
YlsyXSwgY29zcGlfOF82NCwgY29zcGlfMjRfNjQsICZhWzJdLCAmYVszXSk7Ci0KLSAgYVs0XSA9
IHZhZGRxX3MxNihiWzRdLCBiWzVdKTsKLSAgYVs1XSA9IHZzdWJxX3MxNihiWzRdLCBiWzVdKTsK
LSAgYVs2XSA9IHZzdWJxX3MxNihiWzddLCBiWzZdKTsKLSAgYVs3XSA9IHZhZGRxX3MxNihiWzdd
LCBiWzZdKTsKLQotICBhWzhdID0gYls4XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMTRd
LCBiWzldLCBjb3NwaV84XzY0LCBjb3NwaV8yNF82NCwgJmFbMTRdLCAmYVs5XSk7Ci0gIGJ1dHRl
cmZseV90d29fY29lZmYoYlsxM10sIGJbMTBdLCBjb3NwaV8yNF82NCwgLWNvc3BpXzhfNjQsICZh
WzEzXSwgJmFbMTBdKTsKLQotICBhWzExXSA9IGJbMTFdOwotICBhWzEyXSA9IGJbMTJdOwotCi0g
IGFbMTVdID0gYlsxNV07Ci0KLSAgYVsxNl0gPSB2YWRkcV9zMTYoYlsxOV0sIGJbMTZdKTsKLSAg
YVsxN10gPSB2YWRkcV9zMTYoYlsxOF0sIGJbMTddKTsKLSAgYVsxOF0gPSB2c3VicV9zMTYoYlsx
N10sIGJbMThdKTsKLSAgYVsxOV0gPSB2c3VicV9zMTYoYlsxNl0sIGJbMTldKTsKLSAgYVsyMF0g
PSB2c3VicV9zMTYoYlsyM10sIGJbMjBdKTsKLSAgYVsyMV0gPSB2c3VicV9zMTYoYlsyMl0sIGJb
MjFdKTsKLSAgYVsyMl0gPSB2YWRkcV9zMTYoYlsyMV0sIGJbMjJdKTsKLSAgYVsyM10gPSB2YWRk
cV9zMTYoYlsyMF0sIGJbMjNdKTsKLSAgYVsyNF0gPSB2YWRkcV9zMTYoYlsyN10sIGJbMjRdKTsK
LSAgYVsyNV0gPSB2YWRkcV9zMTYoYlsyNl0sIGJbMjVdKTsKLSAgYVsyNl0gPSB2c3VicV9zMTYo
YlsyNV0sIGJbMjZdKTsKLSAgYVsyN10gPSB2c3VicV9zMTYoYlsyNF0sIGJbMjddKTsKLSAgYVsy
OF0gPSB2c3VicV9zMTYoYlszMV0sIGJbMjhdKTsKLSAgYVsyOV0gPSB2c3VicV9zMTYoYlszMF0s
IGJbMjldKTsKLSAgYVszMF0gPSB2YWRkcV9zMTYoYlsyOV0sIGJbMzBdKTsKLSAgYVszMV0gPSB2
YWRkcV9zMTYoYlsyOF0sIGJbMzFdKTsKLQotICAvLyBTdGFnZSA2LgotICBiWzBdID0gYVswXTsK
LSAgYlsxXSA9IGFbMV07Ci0gIGJbMl0gPSBhWzJdOwotICBiWzNdID0gYVszXTsKLQotICBidXR0
ZXJmbHlfdHdvX2NvZWZmKGFbN10sIGFbNF0sIGNvc3BpXzRfNjQsIGNvc3BpXzI4XzY0LCAmYls0
XSwgJmJbN10pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbNl0sIGFbNV0sIGNvc3BpXzIwXzY0
LCBjb3NwaV8xMl82NCwgJmJbNV0sICZiWzZdKTsKLQotICBiWzhdID0gdmFkZHFfczE2KGFbOF0s
IGFbOV0pOwotICBiWzldID0gdnN1YnFfczE2KGFbOF0sIGFbOV0pOwotICBiWzEwXSA9IHZzdWJx
X3MxNihhWzExXSwgYVsxMF0pOwotICBiWzExXSA9IHZhZGRxX3MxNihhWzExXSwgYVsxMF0pOwot
ICBiWzEyXSA9IHZhZGRxX3MxNihhWzEyXSwgYVsxM10pOwotICBiWzEzXSA9IHZzdWJxX3MxNihh
WzEyXSwgYVsxM10pOwotICBiWzE0XSA9IHZzdWJxX3MxNihhWzE1XSwgYVsxNF0pOwotICBiWzE1
XSA9IHZhZGRxX3MxNihhWzE1XSwgYVsxNF0pOwotCi0gIGJbMTZdID0gYVsxNl07Ci0gIGJbMTld
ID0gYVsxOV07Ci0gIGJbMjBdID0gYVsyMF07Ci0gIGJbMjNdID0gYVsyM107Ci0gIGJbMjRdID0g
YVsyNF07Ci0gIGJbMjddID0gYVsyN107Ci0gIGJbMjhdID0gYVsyOF07Ci0gIGJbMzFdID0gYVsz
MV07Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzMwXSwgYVsxN10sIGNvc3BpXzRfNjQsIGNv
c3BpXzI4XzY0LCAmYlszMF0sICZiWzE3XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmYoYVsyOV0s
IGFbMThdLCBjb3NwaV8yOF82NCwgLWNvc3BpXzRfNjQsICZiWzI5XSwgJmJbMThdKTsKLQotICBi
dXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjZdLCBhWzIxXSwgY29zcGlfMjBfNjQsIGNvc3BpXzEyXzY0
LCAmYlsyNl0sICZiWzIxXSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmYoYVsyNV0sIGFbMjJdLCBj
b3NwaV8xMl82NCwgLWNvc3BpXzIwXzY0LCAmYlsyNV0sICZiWzIyXSk7Ci0KLSAgLy8gU3RhZ2Ug
Ny4KLSAgYVswXSA9IGJbMF07Ci0gIGFbMV0gPSBiWzFdOwotICBhWzJdID0gYlsyXTsKLSAgYVsz
XSA9IGJbM107Ci0gIGFbNF0gPSBiWzRdOwotICBhWzVdID0gYls1XTsKLSAgYVs2XSA9IGJbNl07
Ci0gIGFbN10gPSBiWzddOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmYoYlsxNV0sIGJbOF0sIGNv
c3BpXzJfNjQsIGNvc3BpXzMwXzY0LCAmYVs4XSwgJmFbMTVdKTsKLSAgYnV0dGVyZmx5X3R3b19j
b2VmZihiWzE0XSwgYls5XSwgY29zcGlfMThfNjQsIGNvc3BpXzE0XzY0LCAmYVs5XSwgJmFbMTRd
KTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZihiWzEzXSwgYlsxMF0sIGNvc3BpXzEwXzY0LCBjb3Nw
aV8yMl82NCwgJmFbMTBdLCAmYVsxM10pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGJbMTJdLCBi
WzExXSwgY29zcGlfMjZfNjQsIGNvc3BpXzZfNjQsICZhWzExXSwgJmFbMTJdKTsKLQotICBhWzE2
XSA9IHZhZGRxX3MxNihiWzE2XSwgYlsxN10pOwotICBhWzE3XSA9IHZzdWJxX3MxNihiWzE2XSwg
YlsxN10pOwotICBhWzE4XSA9IHZzdWJxX3MxNihiWzE5XSwgYlsxOF0pOwotICBhWzE5XSA9IHZh
ZGRxX3MxNihiWzE5XSwgYlsxOF0pOwotICBhWzIwXSA9IHZhZGRxX3MxNihiWzIwXSwgYlsyMV0p
OwotICBhWzIxXSA9IHZzdWJxX3MxNihiWzIwXSwgYlsyMV0pOwotICBhWzIyXSA9IHZzdWJxX3Mx
NihiWzIzXSwgYlsyMl0pOwotICBhWzIzXSA9IHZhZGRxX3MxNihiWzIzXSwgYlsyMl0pOwotICBh
WzI0XSA9IHZhZGRxX3MxNihiWzI0XSwgYlsyNV0pOwotICBhWzI1XSA9IHZzdWJxX3MxNihiWzI0
XSwgYlsyNV0pOwotICBhWzI2XSA9IHZzdWJxX3MxNihiWzI3XSwgYlsyNl0pOwotICBhWzI3XSA9
IHZhZGRxX3MxNihiWzI3XSwgYlsyNl0pOwotICBhWzI4XSA9IHZhZGRxX3MxNihiWzI4XSwgYlsy
OV0pOwotICBhWzI5XSA9IHZzdWJxX3MxNihiWzI4XSwgYlsyOV0pOwotICBhWzMwXSA9IHZzdWJx
X3MxNihiWzMxXSwgYlszMF0pOwotICBhWzMxXSA9IHZhZGRxX3MxNihiWzMxXSwgYlszMF0pOwot
Ci0gIC8vIEZpbmFsIHN0YWdlLgotICBvdXRbMF0gPSBhWzBdOwotICBvdXRbMTZdID0gYVsxXTsK
LSAgb3V0WzhdID0gYVsyXTsKLSAgb3V0WzI0XSA9IGFbM107Ci0gIG91dFs0XSA9IGFbNF07Ci0g
IG91dFsyMF0gPSBhWzVdOwotICBvdXRbMTJdID0gYVs2XTsKLSAgb3V0WzI4XSA9IGFbN107Ci0g
IG91dFsyXSA9IGFbOF07Ci0gIG91dFsxOF0gPSBhWzldOwotICBvdXRbMTBdID0gYVsxMF07Ci0g
IG91dFsyNl0gPSBhWzExXTsKLSAgb3V0WzZdID0gYVsxMl07Ci0gIG91dFsyMl0gPSBhWzEzXTsK
LSAgb3V0WzE0XSA9IGFbMTRdOwotICBvdXRbMzBdID0gYVsxNV07Ci0KLSAgYnV0dGVyZmx5X3R3
b19jb2VmZihhWzMxXSwgYVsxNl0sIGNvc3BpXzFfNjQsIGNvc3BpXzMxXzY0LCAmb3V0WzFdLCAm
b3V0WzMxXSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmYoYVszMF0sIGFbMTddLCBjb3NwaV8xN182
NCwgY29zcGlfMTVfNjQsICZvdXRbMTddLAotICAgICAgICAgICAgICAgICAgICAgICZvdXRbMTVd
KTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzI5XSwgYVsxOF0sIGNvc3BpXzlfNjQsIGNvc3Bp
XzIzXzY0LCAmb3V0WzldLCAmb3V0WzIzXSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmYoYVsyOF0s
IGFbMTldLCBjb3NwaV8yNV82NCwgY29zcGlfN182NCwgJm91dFsyNV0sICZvdXRbN10pOwotICBi
dXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjddLCBhWzIwXSwgY29zcGlfNV82NCwgY29zcGlfMjdfNjQs
ICZvdXRbNV0sICZvdXRbMjddKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZihhWzI2XSwgYVsyMV0s
IGNvc3BpXzIxXzY0LCBjb3NwaV8xMV82NCwgJm91dFsyMV0sCi0gICAgICAgICAgICAgICAgICAg
ICAgJm91dFsxMV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmKGFbMjVdLCBhWzIyXSwgY29zcGlf
MTNfNjQsIGNvc3BpXzE5XzY0LCAmb3V0WzEzXSwKLSAgICAgICAgICAgICAgICAgICAgICAmb3V0
WzE5XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmYoYVsyNF0sIGFbMjNdLCBjb3NwaV8yOV82NCwg
Y29zcGlfM182NCwgJm91dFsyOV0sICZvdXRbM10pOwotfQotCi0jdW5kZWYgUEFTU19USFJPVUdI
Ci0jdW5kZWYgQUREX1MxNl9TMzIKLSN1bmRlZiBTVUJfUzE2X1MzMgotI3VuZGVmIEFERFdfUzE2
X1MzMgotI3VuZGVmIFNVQldfUzE2X1MzMgotI3VuZGVmIEFERF9TMzIKLSN1bmRlZiBTVUJfUzMy
Ci0jdW5kZWYgQlVUVEVSRkxZX09ORV9TMTZfUzMyCi0jdW5kZWYgQlVUVEVSRkxZX09ORV9TMzIK
LSN1bmRlZiBCVVRURVJGTFlfVFdPX1MzMgotCi0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgK
LQotLy8gU3RvcmUgMzIgMzJ4NCB2ZWN0b3JzLCBhc3N1bWluZyBzdHJpZGUgPT0gMzIuCi1zdGF0
aWMgSU5MSU5FIHZvaWQgc3RvcmUzMngzMl9zMzIoCi0gICAgdHJhbl9sb3dfdCAqYSwgY29uc3Qg
aW50MzJ4NF90ICpsMSAvKlsxNl0qLywgY29uc3QgaW50MzJ4NF90ICpyMSAvKlsxNl0qLywKLSAg
ICBjb25zdCBpbnQzMng0X3QgKmwyIC8qWzE2XSovLCBjb25zdCBpbnQzMng0X3QgKnIyIC8qWzE2
XSovLAotICAgIGNvbnN0IGludDMyeDRfdCAqbDMgLypbMTZdKi8sIGNvbnN0IGludDMyeDRfdCAq
cjMgLypbMTZdKi8sCi0gICAgY29uc3QgaW50MzJ4NF90ICpsNCAvKlsxNl0qLywgY29uc3QgaW50
MzJ4NF90ICpyNCAvKlsxNl0qLykgewotICBpbnQgaTsKLSAgZm9yIChpID0gMDsgaSA8IDMyOyBp
KyspIHsKLSAgICB2c3QxcV9zMzIoYSwgbDFbaV0pOwotICAgIHZzdDFxX3MzMihhICsgNCwgcjFb
aV0pOwotICAgIHZzdDFxX3MzMihhICsgOCwgbDJbaV0pOwotICAgIHZzdDFxX3MzMihhICsgMTIs
IHIyW2ldKTsKLSAgICB2c3QxcV9zMzIoYSArIDE2LCBsM1tpXSk7Ci0gICAgdnN0MXFfczMyKGEg
KyAyMCwgcjNbaV0pOwotICAgIHZzdDFxX3MzMihhICsgMjQsIGw0W2ldKTsKLSAgICB2c3QxcV9z
MzIoYSArIDI4LCByNFtpXSk7Ci0gICAgYSArPSAzMjsKLSAgfQotfQotCi1zdGF0aWMgSU5MSU5F
IHZvaWQgaGlnaGJkX3NjYWxlX2lucHV0KGNvbnN0IGludDE2eDhfdCAqYSAvKlszMl0qLywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICpsZWZ0IC8qWzMy
XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKnJp
Z2h0IC8qIFszMl0gKi8pIHsKLSAgbGVmdFswXSA9IHZzaGxsX25fczE2KHZnZXRfbG93X3MxNihh
WzBdKSwgMik7Ci0gIGxlZnRbMV0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoYVsxXSksIDIp
OwotICBsZWZ0WzJdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMl0pLCAyKTsKLSAgbGVm
dFszXSA9IHZzaGxsX25fczE2KHZnZXRfbG93X3MxNihhWzNdKSwgMik7Ci0gIGxlZnRbNF0gPSB2
c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoYVs0XSksIDIpOwotICBsZWZ0WzVdID0gdnNobGxfbl9z
MTYodmdldF9sb3dfczE2KGFbNV0pLCAyKTsKLSAgbGVmdFs2XSA9IHZzaGxsX25fczE2KHZnZXRf
bG93X3MxNihhWzZdKSwgMik7Ci0gIGxlZnRbN10gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYo
YVs3XSksIDIpOwotICBsZWZ0WzhdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbOF0pLCAy
KTsKLSAgbGVmdFs5XSA9IHZzaGxsX25fczE2KHZnZXRfbG93X3MxNihhWzldKSwgMik7Ci0gIGxl
ZnRbMTBdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMTBdKSwgMik7Ci0gIGxlZnRbMTFd
ID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMTFdKSwgMik7Ci0gIGxlZnRbMTJdID0gdnNo
bGxfbl9zMTYodmdldF9sb3dfczE2KGFbMTJdKSwgMik7Ci0gIGxlZnRbMTNdID0gdnNobGxfbl9z
MTYodmdldF9sb3dfczE2KGFbMTNdKSwgMik7Ci0gIGxlZnRbMTRdID0gdnNobGxfbl9zMTYodmdl
dF9sb3dfczE2KGFbMTRdKSwgMik7Ci0gIGxlZnRbMTVdID0gdnNobGxfbl9zMTYodmdldF9sb3df
czE2KGFbMTVdKSwgMik7Ci0gIGxlZnRbMTZdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFb
MTZdKSwgMik7Ci0gIGxlZnRbMTddID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMTddKSwg
Mik7Ci0gIGxlZnRbMThdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMThdKSwgMik7Ci0g
IGxlZnRbMTldID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMTldKSwgMik7Ci0gIGxlZnRb
MjBdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMjBdKSwgMik7Ci0gIGxlZnRbMjFdID0g
dnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMjFdKSwgMik7Ci0gIGxlZnRbMjJdID0gdnNobGxf
bl9zMTYodmdldF9sb3dfczE2KGFbMjJdKSwgMik7Ci0gIGxlZnRbMjNdID0gdnNobGxfbl9zMTYo
dmdldF9sb3dfczE2KGFbMjNdKSwgMik7Ci0gIGxlZnRbMjRdID0gdnNobGxfbl9zMTYodmdldF9s
b3dfczE2KGFbMjRdKSwgMik7Ci0gIGxlZnRbMjVdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2
KGFbMjVdKSwgMik7Ci0gIGxlZnRbMjZdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMjZd
KSwgMik7Ci0gIGxlZnRbMjddID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMjddKSwgMik7
Ci0gIGxlZnRbMjhdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMjhdKSwgMik7Ci0gIGxl
ZnRbMjldID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMjldKSwgMik7Ci0gIGxlZnRbMzBd
ID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGFbMzBdKSwgMik7Ci0gIGxlZnRbMzFdID0gdnNo
bGxfbl9zMTYodmdldF9sb3dfczE2KGFbMzFdKSwgMik7Ci0KLSAgcmlnaHRbMF0gPSB2c2hsbF9u
X3MxNih2Z2V0X2hpZ2hfczE2KGFbMF0pLCAyKTsKLSAgcmlnaHRbMV0gPSB2c2hsbF9uX3MxNih2
Z2V0X2hpZ2hfczE2KGFbMV0pLCAyKTsKLSAgcmlnaHRbMl0gPSB2c2hsbF9uX3MxNih2Z2V0X2hp
Z2hfczE2KGFbMl0pLCAyKTsKLSAgcmlnaHRbM10gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2
KGFbM10pLCAyKTsKLSAgcmlnaHRbNF0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbNF0p
LCAyKTsKLSAgcmlnaHRbNV0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbNV0pLCAyKTsK
LSAgcmlnaHRbNl0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbNl0pLCAyKTsKLSAgcmln
aHRbN10gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbN10pLCAyKTsKLSAgcmlnaHRbOF0g
PSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbOF0pLCAyKTsKLSAgcmlnaHRbOV0gPSB2c2hs
bF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbOV0pLCAyKTsKLSAgcmlnaHRbMTBdID0gdnNobGxfbl9z
MTYodmdldF9oaWdoX3MxNihhWzEwXSksIDIpOwotICByaWdodFsxMV0gPSB2c2hsbF9uX3MxNih2
Z2V0X2hpZ2hfczE2KGFbMTFdKSwgMik7Ci0gIHJpZ2h0WzEyXSA9IHZzaGxsX25fczE2KHZnZXRf
aGlnaF9zMTYoYVsxMl0pLCAyKTsKLSAgcmlnaHRbMTNdID0gdnNobGxfbl9zMTYodmdldF9oaWdo
X3MxNihhWzEzXSksIDIpOwotICByaWdodFsxNF0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2
KGFbMTRdKSwgMik7Ci0gIHJpZ2h0WzE1XSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVsx
NV0pLCAyKTsKLSAgcmlnaHRbMTZdID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihhWzE2XSks
IDIpOwotICByaWdodFsxN10gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbMTddKSwgMik7
Ci0gIHJpZ2h0WzE4XSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVsxOF0pLCAyKTsKLSAg
cmlnaHRbMTldID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihhWzE5XSksIDIpOwotICByaWdo
dFsyMF0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbMjBdKSwgMik7Ci0gIHJpZ2h0WzIx
XSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVsyMV0pLCAyKTsKLSAgcmlnaHRbMjJdID0g
dnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihhWzIyXSksIDIpOwotICByaWdodFsyM10gPSB2c2hs
bF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFbMjNdKSwgMik7Ci0gIHJpZ2h0WzI0XSA9IHZzaGxsX25f
czE2KHZnZXRfaGlnaF9zMTYoYVsyNF0pLCAyKTsKLSAgcmlnaHRbMjVdID0gdnNobGxfbl9zMTYo
dmdldF9oaWdoX3MxNihhWzI1XSksIDIpOwotICByaWdodFsyNl0gPSB2c2hsbF9uX3MxNih2Z2V0
X2hpZ2hfczE2KGFbMjZdKSwgMik7Ci0gIHJpZ2h0WzI3XSA9IHZzaGxsX25fczE2KHZnZXRfaGln
aF9zMTYoYVsyN10pLCAyKTsKLSAgcmlnaHRbMjhdID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3Mx
NihhWzI4XSksIDIpOwotICByaWdodFsyOV0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KGFb
MjldKSwgMik7Ci0gIHJpZ2h0WzMwXSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoYVszMF0p
LCAyKTsKLSAgcmlnaHRbMzFdID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihhWzMxXSksIDIp
OwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX2Nyb3NzX2lucHV0KGNvbnN0IGludDMy
eDRfdCAqYV9sZWZ0IC8qWzMyXSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQzMng0X3QgKmFfcmlnaHQgLypbMzJdKi8sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludDMyeDRfdCAqYl9sZWZ0IC8qWzMyXSovLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKmJfcmlnaHQgLypbMzJdKi8pIHsK
LSAgLy8gU3RhZ2UgMS4gRG9uZSBhcyBwYXJ0IG9mIHRoZSBsb2FkIGZvciB0aGUgZmlyc3QgcGFz
cy4KLSAgYl9sZWZ0WzBdID0gdmFkZHFfczMyKGFfbGVmdFswXSwgYV9sZWZ0WzMxXSk7Ci0gIGJf
bGVmdFsxXSA9IHZhZGRxX3MzMihhX2xlZnRbMV0sIGFfbGVmdFszMF0pOwotICBiX2xlZnRbMl0g
PSB2YWRkcV9zMzIoYV9sZWZ0WzJdLCBhX2xlZnRbMjldKTsKLSAgYl9sZWZ0WzNdID0gdmFkZHFf
czMyKGFfbGVmdFszXSwgYV9sZWZ0WzI4XSk7Ci0gIGJfbGVmdFs0XSA9IHZhZGRxX3MzMihhX2xl
ZnRbNF0sIGFfbGVmdFsyN10pOwotICBiX2xlZnRbNV0gPSB2YWRkcV9zMzIoYV9sZWZ0WzVdLCBh
X2xlZnRbMjZdKTsKLSAgYl9sZWZ0WzZdID0gdmFkZHFfczMyKGFfbGVmdFs2XSwgYV9sZWZ0WzI1
XSk7Ci0gIGJfbGVmdFs3XSA9IHZhZGRxX3MzMihhX2xlZnRbN10sIGFfbGVmdFsyNF0pOwotICBi
X2xlZnRbOF0gPSB2YWRkcV9zMzIoYV9sZWZ0WzhdLCBhX2xlZnRbMjNdKTsKLSAgYl9sZWZ0Wzld
ID0gdmFkZHFfczMyKGFfbGVmdFs5XSwgYV9sZWZ0WzIyXSk7Ci0gIGJfbGVmdFsxMF0gPSB2YWRk
cV9zMzIoYV9sZWZ0WzEwXSwgYV9sZWZ0WzIxXSk7Ci0gIGJfbGVmdFsxMV0gPSB2YWRkcV9zMzIo
YV9sZWZ0WzExXSwgYV9sZWZ0WzIwXSk7Ci0gIGJfbGVmdFsxMl0gPSB2YWRkcV9zMzIoYV9sZWZ0
WzEyXSwgYV9sZWZ0WzE5XSk7Ci0gIGJfbGVmdFsxM10gPSB2YWRkcV9zMzIoYV9sZWZ0WzEzXSwg
YV9sZWZ0WzE4XSk7Ci0gIGJfbGVmdFsxNF0gPSB2YWRkcV9zMzIoYV9sZWZ0WzE0XSwgYV9sZWZ0
WzE3XSk7Ci0gIGJfbGVmdFsxNV0gPSB2YWRkcV9zMzIoYV9sZWZ0WzE1XSwgYV9sZWZ0WzE2XSk7
Ci0KLSAgYl9yaWdodFswXSA9IHZhZGRxX3MzMihhX3JpZ2h0WzBdLCBhX3JpZ2h0WzMxXSk7Ci0g
IGJfcmlnaHRbMV0gPSB2YWRkcV9zMzIoYV9yaWdodFsxXSwgYV9yaWdodFszMF0pOwotICBiX3Jp
Z2h0WzJdID0gdmFkZHFfczMyKGFfcmlnaHRbMl0sIGFfcmlnaHRbMjldKTsKLSAgYl9yaWdodFsz
XSA9IHZhZGRxX3MzMihhX3JpZ2h0WzNdLCBhX3JpZ2h0WzI4XSk7Ci0gIGJfcmlnaHRbNF0gPSB2
YWRkcV9zMzIoYV9yaWdodFs0XSwgYV9yaWdodFsyN10pOwotICBiX3JpZ2h0WzVdID0gdmFkZHFf
czMyKGFfcmlnaHRbNV0sIGFfcmlnaHRbMjZdKTsKLSAgYl9yaWdodFs2XSA9IHZhZGRxX3MzMihh
X3JpZ2h0WzZdLCBhX3JpZ2h0WzI1XSk7Ci0gIGJfcmlnaHRbN10gPSB2YWRkcV9zMzIoYV9yaWdo
dFs3XSwgYV9yaWdodFsyNF0pOwotICBiX3JpZ2h0WzhdID0gdmFkZHFfczMyKGFfcmlnaHRbOF0s
IGFfcmlnaHRbMjNdKTsKLSAgYl9yaWdodFs5XSA9IHZhZGRxX3MzMihhX3JpZ2h0WzldLCBhX3Jp
Z2h0WzIyXSk7Ci0gIGJfcmlnaHRbMTBdID0gdmFkZHFfczMyKGFfcmlnaHRbMTBdLCBhX3JpZ2h0
WzIxXSk7Ci0gIGJfcmlnaHRbMTFdID0gdmFkZHFfczMyKGFfcmlnaHRbMTFdLCBhX3JpZ2h0WzIw
XSk7Ci0gIGJfcmlnaHRbMTJdID0gdmFkZHFfczMyKGFfcmlnaHRbMTJdLCBhX3JpZ2h0WzE5XSk7
Ci0gIGJfcmlnaHRbMTNdID0gdmFkZHFfczMyKGFfcmlnaHRbMTNdLCBhX3JpZ2h0WzE4XSk7Ci0g
IGJfcmlnaHRbMTRdID0gdmFkZHFfczMyKGFfcmlnaHRbMTRdLCBhX3JpZ2h0WzE3XSk7Ci0gIGJf
cmlnaHRbMTVdID0gdmFkZHFfczMyKGFfcmlnaHRbMTVdLCBhX3JpZ2h0WzE2XSk7Ci0KLSAgYl9s
ZWZ0WzE2XSA9IHZzdWJxX3MzMihhX2xlZnRbMTVdLCBhX2xlZnRbMTZdKTsKLSAgYl9sZWZ0WzE3
XSA9IHZzdWJxX3MzMihhX2xlZnRbMTRdLCBhX2xlZnRbMTddKTsKLSAgYl9sZWZ0WzE4XSA9IHZz
dWJxX3MzMihhX2xlZnRbMTNdLCBhX2xlZnRbMThdKTsKLSAgYl9sZWZ0WzE5XSA9IHZzdWJxX3Mz
MihhX2xlZnRbMTJdLCBhX2xlZnRbMTldKTsKLSAgYl9sZWZ0WzIwXSA9IHZzdWJxX3MzMihhX2xl
ZnRbMTFdLCBhX2xlZnRbMjBdKTsKLSAgYl9sZWZ0WzIxXSA9IHZzdWJxX3MzMihhX2xlZnRbMTBd
LCBhX2xlZnRbMjFdKTsKLSAgYl9sZWZ0WzIyXSA9IHZzdWJxX3MzMihhX2xlZnRbOV0sIGFfbGVm
dFsyMl0pOwotICBiX2xlZnRbMjNdID0gdnN1YnFfczMyKGFfbGVmdFs4XSwgYV9sZWZ0WzIzXSk7
Ci0gIGJfbGVmdFsyNF0gPSB2c3VicV9zMzIoYV9sZWZ0WzddLCBhX2xlZnRbMjRdKTsKLSAgYl9s
ZWZ0WzI1XSA9IHZzdWJxX3MzMihhX2xlZnRbNl0sIGFfbGVmdFsyNV0pOwotICBiX2xlZnRbMjZd
ID0gdnN1YnFfczMyKGFfbGVmdFs1XSwgYV9sZWZ0WzI2XSk7Ci0gIGJfbGVmdFsyN10gPSB2c3Vi
cV9zMzIoYV9sZWZ0WzRdLCBhX2xlZnRbMjddKTsKLSAgYl9sZWZ0WzI4XSA9IHZzdWJxX3MzMihh
X2xlZnRbM10sIGFfbGVmdFsyOF0pOwotICBiX2xlZnRbMjldID0gdnN1YnFfczMyKGFfbGVmdFsy
XSwgYV9sZWZ0WzI5XSk7Ci0gIGJfbGVmdFszMF0gPSB2c3VicV9zMzIoYV9sZWZ0WzFdLCBhX2xl
ZnRbMzBdKTsKLSAgYl9sZWZ0WzMxXSA9IHZzdWJxX3MzMihhX2xlZnRbMF0sIGFfbGVmdFszMV0p
OwotCi0gIGJfcmlnaHRbMTZdID0gdnN1YnFfczMyKGFfcmlnaHRbMTVdLCBhX3JpZ2h0WzE2XSk7
Ci0gIGJfcmlnaHRbMTddID0gdnN1YnFfczMyKGFfcmlnaHRbMTRdLCBhX3JpZ2h0WzE3XSk7Ci0g
IGJfcmlnaHRbMThdID0gdnN1YnFfczMyKGFfcmlnaHRbMTNdLCBhX3JpZ2h0WzE4XSk7Ci0gIGJf
cmlnaHRbMTldID0gdnN1YnFfczMyKGFfcmlnaHRbMTJdLCBhX3JpZ2h0WzE5XSk7Ci0gIGJfcmln
aHRbMjBdID0gdnN1YnFfczMyKGFfcmlnaHRbMTFdLCBhX3JpZ2h0WzIwXSk7Ci0gIGJfcmlnaHRb
MjFdID0gdnN1YnFfczMyKGFfcmlnaHRbMTBdLCBhX3JpZ2h0WzIxXSk7Ci0gIGJfcmlnaHRbMjJd
ID0gdnN1YnFfczMyKGFfcmlnaHRbOV0sIGFfcmlnaHRbMjJdKTsKLSAgYl9yaWdodFsyM10gPSB2
c3VicV9zMzIoYV9yaWdodFs4XSwgYV9yaWdodFsyM10pOwotICBiX3JpZ2h0WzI0XSA9IHZzdWJx
X3MzMihhX3JpZ2h0WzddLCBhX3JpZ2h0WzI0XSk7Ci0gIGJfcmlnaHRbMjVdID0gdnN1YnFfczMy
KGFfcmlnaHRbNl0sIGFfcmlnaHRbMjVdKTsKLSAgYl9yaWdodFsyNl0gPSB2c3VicV9zMzIoYV9y
aWdodFs1XSwgYV9yaWdodFsyNl0pOwotICBiX3JpZ2h0WzI3XSA9IHZzdWJxX3MzMihhX3JpZ2h0
WzRdLCBhX3JpZ2h0WzI3XSk7Ci0gIGJfcmlnaHRbMjhdID0gdnN1YnFfczMyKGFfcmlnaHRbM10s
IGFfcmlnaHRbMjhdKTsKLSAgYl9yaWdodFsyOV0gPSB2c3VicV9zMzIoYV9yaWdodFsyXSwgYV9y
aWdodFsyOV0pOwotICBiX3JpZ2h0WzMwXSA9IHZzdWJxX3MzMihhX3JpZ2h0WzFdLCBhX3JpZ2h0
WzMwXSk7Ci0gIGJfcmlnaHRbMzFdID0gdnN1YnFfczMyKGFfcmlnaHRbMF0sIGFfcmlnaHRbMzFd
KTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9wYXJ0aWFsX2FkZF9yb3VuZF9zaGlm
dChpbnQzMng0X3QgKmxlZnQgLypbMzJdKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDMyeDRfdCAqcmlnaHQgLyogWzMyXSAqLykgewotICAv
LyBBbHNvIGNvbXB1dGUgcGFydGlhbCByb3VuZGluZyBzaGlmdDoKLSAgLy8gb3V0cHV0W2ogKiAz
MiArIGldID0gKHRlbXBfb3V0W2pdICsgMSArICh0ZW1wX291dFtqXSA+IDApKSA+PiAyOwotCi0g
IGxlZnRbMF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGxlZnRbMF0pOwotICBsZWZ0WzFdID0gYWRk
X3JvdW5kX3NoaWZ0X3MzMihsZWZ0WzFdKTsKLSAgbGVmdFsyXSA9IGFkZF9yb3VuZF9zaGlmdF9z
MzIobGVmdFsyXSk7Ci0gIGxlZnRbM10gPSBhZGRfcm91bmRfc2hpZnRfczMyKGxlZnRbM10pOwot
ICBsZWZ0WzRdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihsZWZ0WzRdKTsKLSAgbGVmdFs1XSA9IGFk
ZF9yb3VuZF9zaGlmdF9zMzIobGVmdFs1XSk7Ci0gIGxlZnRbNl0gPSBhZGRfcm91bmRfc2hpZnRf
czMyKGxlZnRbNl0pOwotICBsZWZ0WzddID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihsZWZ0WzddKTsK
LSAgbGVmdFs4XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFs4XSk7Ci0gIGxlZnRbOV0gPSBh
ZGRfcm91bmRfc2hpZnRfczMyKGxlZnRbOV0pOwotICBsZWZ0WzEwXSA9IGFkZF9yb3VuZF9zaGlm
dF9zMzIobGVmdFsxMF0pOwotICBsZWZ0WzExXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsx
MV0pOwotICBsZWZ0WzEyXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsxMl0pOwotICBsZWZ0
WzEzXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsxM10pOwotICBsZWZ0WzE0XSA9IGFkZF9y
b3VuZF9zaGlmdF9zMzIobGVmdFsxNF0pOwotICBsZWZ0WzE1XSA9IGFkZF9yb3VuZF9zaGlmdF9z
MzIobGVmdFsxNV0pOwotICBsZWZ0WzE2XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsxNl0p
OwotICBsZWZ0WzE3XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsxN10pOwotICBsZWZ0WzE4
XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsxOF0pOwotICBsZWZ0WzE5XSA9IGFkZF9yb3Vu
ZF9zaGlmdF9zMzIobGVmdFsxOV0pOwotICBsZWZ0WzIwXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIo
bGVmdFsyMF0pOwotICBsZWZ0WzIxXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyMV0pOwot
ICBsZWZ0WzIyXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyMl0pOwotICBsZWZ0WzIzXSA9
IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyM10pOwotICBsZWZ0WzI0XSA9IGFkZF9yb3VuZF9z
aGlmdF9zMzIobGVmdFsyNF0pOwotICBsZWZ0WzI1XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVm
dFsyNV0pOwotICBsZWZ0WzI2XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyNl0pOwotICBs
ZWZ0WzI3XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyN10pOwotICBsZWZ0WzI4XSA9IGFk
ZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyOF0pOwotICBsZWZ0WzI5XSA9IGFkZF9yb3VuZF9zaGlm
dF9zMzIobGVmdFsyOV0pOwotICBsZWZ0WzMwXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsz
MF0pOwotICBsZWZ0WzMxXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFszMV0pOwotCi0gIHJp
Z2h0WzBdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFswXSk7Ci0gIHJpZ2h0WzFdID0gYWRk
X3JvdW5kX3NoaWZ0X3MzMihyaWdodFsxXSk7Ci0gIHJpZ2h0WzJdID0gYWRkX3JvdW5kX3NoaWZ0
X3MzMihyaWdodFsyXSk7Ci0gIHJpZ2h0WzNdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsz
XSk7Ci0gIHJpZ2h0WzRdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs0XSk7Ci0gIHJpZ2h0
WzVdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs1XSk7Ci0gIHJpZ2h0WzZdID0gYWRkX3Jv
dW5kX3NoaWZ0X3MzMihyaWdodFs2XSk7Ci0gIHJpZ2h0WzddID0gYWRkX3JvdW5kX3NoaWZ0X3Mz
MihyaWdodFs3XSk7Ci0gIHJpZ2h0WzhdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs4XSk7
Ci0gIHJpZ2h0WzldID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs5XSk7Ci0gIHJpZ2h0WzEw
XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMTBdKTsKLSAgcmlnaHRbMTFdID0gYWRkX3Jv
dW5kX3NoaWZ0X3MzMihyaWdodFsxMV0pOwotICByaWdodFsxMl0gPSBhZGRfcm91bmRfc2hpZnRf
czMyKHJpZ2h0WzEyXSk7Ci0gIHJpZ2h0WzEzXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIocmlnaHRb
MTNdKTsKLSAgcmlnaHRbMTRdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsxNF0pOwotICBy
aWdodFsxNV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzE1XSk7Ci0gIHJpZ2h0WzE2XSA9
IGFkZF9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMTZdKTsKLSAgcmlnaHRbMTddID0gYWRkX3JvdW5k
X3NoaWZ0X3MzMihyaWdodFsxN10pOwotICByaWdodFsxOF0gPSBhZGRfcm91bmRfc2hpZnRfczMy
KHJpZ2h0WzE4XSk7Ci0gIHJpZ2h0WzE5XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMTld
KTsKLSAgcmlnaHRbMjBdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsyMF0pOwotICByaWdo
dFsyMV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzIxXSk7Ci0gIHJpZ2h0WzIyXSA9IGFk
ZF9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMjJdKTsKLSAgcmlnaHRbMjNdID0gYWRkX3JvdW5kX3No
aWZ0X3MzMihyaWdodFsyM10pOwotICByaWdodFsyNF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHJp
Z2h0WzI0XSk7Ci0gIHJpZ2h0WzI1XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMjVdKTsK
LSAgcmlnaHRbMjZdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsyNl0pOwotICByaWdodFsy
N10gPSBhZGRfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzI3XSk7Ci0gIHJpZ2h0WzI4XSA9IGFkZF9y
b3VuZF9zaGlmdF9zMzIocmlnaHRbMjhdKTsKLSAgcmlnaHRbMjldID0gYWRkX3JvdW5kX3NoaWZ0
X3MzMihyaWdodFsyOV0pOwotICByaWdodFszMF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHJpZ2h0
WzMwXSk7Ci0gIHJpZ2h0WzMxXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMzFdKTsKLX0K
LQotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9wYXJ0aWFsX3N1Yl9yb3VuZF9zaGlmdChpbnQz
Mng0X3QgKmxlZnQgLypbMzJdKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludDMyeDRfdCAqcmlnaHQgLyogWzMyXSAqLykgewotICAvLyBBbHNv
IGNvbXB1dGUgcGFydGlhbCByb3VuZGluZyBzaGlmdDoKLSAgLy8gb3V0cHV0W2ogKiAzMiArIGld
ID0gKHRlbXBfb3V0W2pdICsgMSArICh0ZW1wX291dFtqXSA+IDApKSA+PiAyOwotCi0gIGxlZnRb
MF0gPSBzdWJfcm91bmRfc2hpZnRfczMyKGxlZnRbMF0pOwotICBsZWZ0WzFdID0gc3ViX3JvdW5k
X3NoaWZ0X3MzMihsZWZ0WzFdKTsKLSAgbGVmdFsyXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVm
dFsyXSk7Ci0gIGxlZnRbM10gPSBzdWJfcm91bmRfc2hpZnRfczMyKGxlZnRbM10pOwotICBsZWZ0
WzRdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihsZWZ0WzRdKTsKLSAgbGVmdFs1XSA9IHN1Yl9yb3Vu
ZF9zaGlmdF9zMzIobGVmdFs1XSk7Ci0gIGxlZnRbNl0gPSBzdWJfcm91bmRfc2hpZnRfczMyKGxl
ZnRbNl0pOwotICBsZWZ0WzddID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihsZWZ0WzddKTsKLSAgbGVm
dFs4XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFs4XSk7Ci0gIGxlZnRbOV0gPSBzdWJfcm91
bmRfc2hpZnRfczMyKGxlZnRbOV0pOwotICBsZWZ0WzEwXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIo
bGVmdFsxMF0pOwotICBsZWZ0WzExXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsxMV0pOwot
ICBsZWZ0WzEyXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsxMl0pOwotICBsZWZ0WzEzXSA9
IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsxM10pOwotICBsZWZ0WzE0XSA9IHN1Yl9yb3VuZF9z
aGlmdF9zMzIobGVmdFsxNF0pOwotICBsZWZ0WzE1XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVm
dFsxNV0pOwotICBsZWZ0WzE2XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsxNl0pOwotICBs
ZWZ0WzE3XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsxN10pOwotICBsZWZ0WzE4XSA9IHN1
Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsxOF0pOwotICBsZWZ0WzE5XSA9IHN1Yl9yb3VuZF9zaGlm
dF9zMzIobGVmdFsxOV0pOwotICBsZWZ0WzIwXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsy
MF0pOwotICBsZWZ0WzIxXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsyMV0pOwotICBsZWZ0
WzIyXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsyMl0pOwotICBsZWZ0WzIzXSA9IHN1Yl9y
b3VuZF9zaGlmdF9zMzIobGVmdFsyM10pOwotICBsZWZ0WzI0XSA9IHN1Yl9yb3VuZF9zaGlmdF9z
MzIobGVmdFsyNF0pOwotICBsZWZ0WzI1XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsyNV0p
OwotICBsZWZ0WzI2XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsyNl0pOwotICBsZWZ0WzI3
XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFsyN10pOwotICBsZWZ0WzI4XSA9IHN1Yl9yb3Vu
ZF9zaGlmdF9zMzIobGVmdFsyOF0pOwotICBsZWZ0WzI5XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIo
bGVmdFsyOV0pOwotICBsZWZ0WzMwXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFszMF0pOwot
ICBsZWZ0WzMxXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIobGVmdFszMV0pOwotCi0gIHJpZ2h0WzBd
ID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFswXSk7Ci0gIHJpZ2h0WzFdID0gc3ViX3JvdW5k
X3NoaWZ0X3MzMihyaWdodFsxXSk7Ci0gIHJpZ2h0WzJdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihy
aWdodFsyXSk7Ci0gIHJpZ2h0WzNdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFszXSk7Ci0g
IHJpZ2h0WzRdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs0XSk7Ci0gIHJpZ2h0WzVdID0g
c3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs1XSk7Ci0gIHJpZ2h0WzZdID0gc3ViX3JvdW5kX3No
aWZ0X3MzMihyaWdodFs2XSk7Ci0gIHJpZ2h0WzddID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdo
dFs3XSk7Ci0gIHJpZ2h0WzhdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs4XSk7Ci0gIHJp
Z2h0WzldID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFs5XSk7Ci0gIHJpZ2h0WzEwXSA9IHN1
Yl9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMTBdKTsKLSAgcmlnaHRbMTFdID0gc3ViX3JvdW5kX3No
aWZ0X3MzMihyaWdodFsxMV0pOwotICByaWdodFsxMl0gPSBzdWJfcm91bmRfc2hpZnRfczMyKHJp
Z2h0WzEyXSk7Ci0gIHJpZ2h0WzEzXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMTNdKTsK
LSAgcmlnaHRbMTRdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsxNF0pOwotICByaWdodFsx
NV0gPSBzdWJfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzE1XSk7Ci0gIHJpZ2h0WzE2XSA9IHN1Yl9y
b3VuZF9zaGlmdF9zMzIocmlnaHRbMTZdKTsKLSAgcmlnaHRbMTddID0gc3ViX3JvdW5kX3NoaWZ0
X3MzMihyaWdodFsxN10pOwotICByaWdodFsxOF0gPSBzdWJfcm91bmRfc2hpZnRfczMyKHJpZ2h0
WzE4XSk7Ci0gIHJpZ2h0WzE5XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMTldKTsKLSAg
cmlnaHRbMjBdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsyMF0pOwotICByaWdodFsyMV0g
PSBzdWJfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzIxXSk7Ci0gIHJpZ2h0WzIyXSA9IHN1Yl9yb3Vu
ZF9zaGlmdF9zMzIocmlnaHRbMjJdKTsKLSAgcmlnaHRbMjNdID0gc3ViX3JvdW5kX3NoaWZ0X3Mz
MihyaWdodFsyM10pOwotICByaWdodFsyNF0gPSBzdWJfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzI0
XSk7Ci0gIHJpZ2h0WzI1XSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMjVdKTsKLSAgcmln
aHRbMjZdID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsyNl0pOwotICByaWdodFsyN10gPSBz
dWJfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzI3XSk7Ci0gIHJpZ2h0WzI4XSA9IHN1Yl9yb3VuZF9z
aGlmdF9zMzIocmlnaHRbMjhdKTsKLSAgcmlnaHRbMjldID0gc3ViX3JvdW5kX3NoaWZ0X3MzMihy
aWdodFsyOV0pOwotICByaWdodFszMF0gPSBzdWJfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzMwXSk7
Ci0gIHJpZ2h0WzMxXSA9IHN1Yl9yb3VuZF9zaGlmdF9zMzIocmlnaHRbMzFdKTsKLX0KLQotc3Rh
dGljIElOTElORSB2b2lkIGhpZ2hiZF9kY3Q4eDMyX2JvZHlfZmlyc3RfcGFzcyhpbnQzMng0X3Qg
KmxlZnQgLyozMiovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMng0X3QgKnJpZ2h0IC8qMzIqLykgewotICBpbnQzMng0X3QgYWxbMzJdLCBh
clszMl07Ci0gIGludDMyeDRfdCBibFszMl0sIGJyWzMyXTsKLQotICAvLyBTdGFnZSAxOiBEb25l
IGFzIHBhcnQgb2YgdGhlIGxvYWQuCi0KLSAgLy8gU3RhZ2UgMi4KLSAgLy8gTWluaSBjcm9zcy4g
WCB0aGUgZmlyc3QgMTYgdmFsdWVzIGFuZCB0aGUgbWlkZGxlIDggb2YgdGhlIHNlY29uZCBoYWxm
LgotICBhbFswXSA9IHZhZGRxX3MzMihsZWZ0WzBdLCBsZWZ0WzE1XSk7Ci0gIGFyWzBdID0gdmFk
ZHFfczMyKHJpZ2h0WzBdLCByaWdodFsxNV0pOwotICBhbFsxXSA9IHZhZGRxX3MzMihsZWZ0WzFd
LCBsZWZ0WzE0XSk7Ci0gIGFyWzFdID0gdmFkZHFfczMyKHJpZ2h0WzFdLCByaWdodFsxNF0pOwot
ICBhbFsyXSA9IHZhZGRxX3MzMihsZWZ0WzJdLCBsZWZ0WzEzXSk7Ci0gIGFyWzJdID0gdmFkZHFf
czMyKHJpZ2h0WzJdLCByaWdodFsxM10pOwotICBhbFszXSA9IHZhZGRxX3MzMihsZWZ0WzNdLCBs
ZWZ0WzEyXSk7Ci0gIGFyWzNdID0gdmFkZHFfczMyKHJpZ2h0WzNdLCByaWdodFsxMl0pOwotICBh
bFs0XSA9IHZhZGRxX3MzMihsZWZ0WzRdLCBsZWZ0WzExXSk7Ci0gIGFyWzRdID0gdmFkZHFfczMy
KHJpZ2h0WzRdLCByaWdodFsxMV0pOwotICBhbFs1XSA9IHZhZGRxX3MzMihsZWZ0WzVdLCBsZWZ0
WzEwXSk7Ci0gIGFyWzVdID0gdmFkZHFfczMyKHJpZ2h0WzVdLCByaWdodFsxMF0pOwotICBhbFs2
XSA9IHZhZGRxX3MzMihsZWZ0WzZdLCBsZWZ0WzldKTsKLSAgYXJbNl0gPSB2YWRkcV9zMzIocmln
aHRbNl0sIHJpZ2h0WzldKTsKLSAgYWxbN10gPSB2YWRkcV9zMzIobGVmdFs3XSwgbGVmdFs4XSk7
Ci0gIGFyWzddID0gdmFkZHFfczMyKHJpZ2h0WzddLCByaWdodFs4XSk7Ci0KLSAgYWxbOF0gPSB2
c3VicV9zMzIobGVmdFs3XSwgbGVmdFs4XSk7Ci0gIGFyWzhdID0gdnN1YnFfczMyKHJpZ2h0Wzdd
LCByaWdodFs4XSk7Ci0gIGFsWzldID0gdnN1YnFfczMyKGxlZnRbNl0sIGxlZnRbOV0pOwotICBh
cls5XSA9IHZzdWJxX3MzMihyaWdodFs2XSwgcmlnaHRbOV0pOwotICBhbFsxMF0gPSB2c3VicV9z
MzIobGVmdFs1XSwgbGVmdFsxMF0pOwotICBhclsxMF0gPSB2c3VicV9zMzIocmlnaHRbNV0sIHJp
Z2h0WzEwXSk7Ci0gIGFsWzExXSA9IHZzdWJxX3MzMihsZWZ0WzRdLCBsZWZ0WzExXSk7Ci0gIGFy
WzExXSA9IHZzdWJxX3MzMihyaWdodFs0XSwgcmlnaHRbMTFdKTsKLSAgYWxbMTJdID0gdnN1YnFf
czMyKGxlZnRbM10sIGxlZnRbMTJdKTsKLSAgYXJbMTJdID0gdnN1YnFfczMyKHJpZ2h0WzNdLCBy
aWdodFsxMl0pOwotICBhbFsxM10gPSB2c3VicV9zMzIobGVmdFsyXSwgbGVmdFsxM10pOwotICBh
clsxM10gPSB2c3VicV9zMzIocmlnaHRbMl0sIHJpZ2h0WzEzXSk7Ci0gIGFsWzE0XSA9IHZzdWJx
X3MzMihsZWZ0WzFdLCBsZWZ0WzE0XSk7Ci0gIGFyWzE0XSA9IHZzdWJxX3MzMihyaWdodFsxXSwg
cmlnaHRbMTRdKTsKLSAgYWxbMTVdID0gdnN1YnFfczMyKGxlZnRbMF0sIGxlZnRbMTVdKTsKLSAg
YXJbMTVdID0gdnN1YnFfczMyKHJpZ2h0WzBdLCByaWdodFsxNV0pOwotCi0gIGFsWzE2XSA9IGxl
ZnRbMTZdOwotICBhclsxNl0gPSByaWdodFsxNl07Ci0gIGFsWzE3XSA9IGxlZnRbMTddOwotICBh
clsxN10gPSByaWdodFsxN107Ci0gIGFsWzE4XSA9IGxlZnRbMThdOwotICBhclsxOF0gPSByaWdo
dFsxOF07Ci0gIGFsWzE5XSA9IGxlZnRbMTldOwotICBhclsxOV0gPSByaWdodFsxOV07Ci0KLSAg
YnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChsZWZ0WzI3XSwgcmlnaHRbMjddLCBsZWZ0WzIw
XSwgcmlnaHRbMjBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzE2XzY0
LCAmYWxbMjddLCAmYXJbMjddLCAmYWxbMjBdLCAmYXJbMjBdKTsKLSAgYnV0dGVyZmx5X29uZV9j
b2VmZl9zMzJfZmFzdChsZWZ0WzI2XSwgcmlnaHRbMjZdLCBsZWZ0WzIxXSwgcmlnaHRbMjFdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzE2XzY0LCAmYWxbMjZdLCAmYXJb
MjZdLCAmYWxbMjFdLCAmYXJbMjFdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChs
ZWZ0WzI1XSwgcmlnaHRbMjVdLCBsZWZ0WzIyXSwgcmlnaHRbMjJdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvc3BpXzE2XzY0LCAmYWxbMjVdLCAmYXJbMjVdLCAmYWxbMjJdLCAm
YXJbMjJdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChsZWZ0WzI0XSwgcmlnaHRb
MjRdLCBsZWZ0WzIzXSwgcmlnaHRbMjNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvc3BpXzE2XzY0LCAmYWxbMjRdLCAmYXJbMjRdLCAmYWxbMjNdLCAmYXJbMjNdKTsKLQotICBh
bFsyOF0gPSBsZWZ0WzI4XTsKLSAgYXJbMjhdID0gcmlnaHRbMjhdOwotICBhbFsyOV0gPSBsZWZ0
WzI5XTsKLSAgYXJbMjldID0gcmlnaHRbMjldOwotICBhbFszMF0gPSBsZWZ0WzMwXTsKLSAgYXJb
MzBdID0gcmlnaHRbMzBdOwotICBhbFszMV0gPSBsZWZ0WzMxXTsKLSAgYXJbMzFdID0gcmlnaHRb
MzFdOwotCi0gIC8vIFN0YWdlIDMuCi0gIGJsWzBdID0gdmFkZHFfczMyKGFsWzBdLCBhbFs3XSk7
Ci0gIGJyWzBdID0gdmFkZHFfczMyKGFyWzBdLCBhcls3XSk7Ci0gIGJsWzFdID0gdmFkZHFfczMy
KGFsWzFdLCBhbFs2XSk7Ci0gIGJyWzFdID0gdmFkZHFfczMyKGFyWzFdLCBhcls2XSk7Ci0gIGJs
WzJdID0gdmFkZHFfczMyKGFsWzJdLCBhbFs1XSk7Ci0gIGJyWzJdID0gdmFkZHFfczMyKGFyWzJd
LCBhcls1XSk7Ci0gIGJsWzNdID0gdmFkZHFfczMyKGFsWzNdLCBhbFs0XSk7Ci0gIGJyWzNdID0g
dmFkZHFfczMyKGFyWzNdLCBhcls0XSk7Ci0KLSAgYmxbNF0gPSB2c3VicV9zMzIoYWxbM10sIGFs
WzRdKTsKLSAgYnJbNF0gPSB2c3VicV9zMzIoYXJbM10sIGFyWzRdKTsKLSAgYmxbNV0gPSB2c3Vi
cV9zMzIoYWxbMl0sIGFsWzVdKTsKLSAgYnJbNV0gPSB2c3VicV9zMzIoYXJbMl0sIGFyWzVdKTsK
LSAgYmxbNl0gPSB2c3VicV9zMzIoYWxbMV0sIGFsWzZdKTsKLSAgYnJbNl0gPSB2c3VicV9zMzIo
YXJbMV0sIGFyWzZdKTsKLSAgYmxbN10gPSB2c3VicV9zMzIoYWxbMF0sIGFsWzddKTsKLSAgYnJb
N10gPSB2c3VicV9zMzIoYXJbMF0sIGFyWzddKTsKLQotICBibFs4XSA9IGFsWzhdOwotICBicls4
XSA9IGFyWzhdOwotICBibFs5XSA9IGFsWzldOwotICBicls5XSA9IGFyWzldOwotCi0gIGJ1dHRl
cmZseV9vbmVfY29lZmZfczMyX2Zhc3QoYWxbMTNdLCBhclsxM10sIGFsWzEwXSwgYXJbMTBdLCBj
b3NwaV8xNl82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYmxbMTNdLCAmYnJb
MTNdLCAmYmxbMTBdLCAmYnJbMTBdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChh
bFsxMl0sIGFyWzEyXSwgYWxbMTFdLCBhclsxMV0sIGNvc3BpXzE2XzY0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZibFsxMl0sICZiclsxMl0sICZibFsxMV0sICZiclsxMV0pOwot
Ci0gIGJsWzE0XSA9IGFsWzE0XTsKLSAgYnJbMTRdID0gYXJbMTRdOwotICBibFsxNV0gPSBhbFsx
NV07Ci0gIGJyWzE1XSA9IGFyWzE1XTsKLQotICBibFsxNl0gPSB2YWRkcV9zMzIobGVmdFsxNl0s
IGFsWzIzXSk7Ci0gIGJyWzE2XSA9IHZhZGRxX3MzMihyaWdodFsxNl0sIGFyWzIzXSk7Ci0gIGJs
WzE3XSA9IHZhZGRxX3MzMihsZWZ0WzE3XSwgYWxbMjJdKTsKLSAgYnJbMTddID0gdmFkZHFfczMy
KHJpZ2h0WzE3XSwgYXJbMjJdKTsKLSAgYmxbMThdID0gdmFkZHFfczMyKGxlZnRbMThdLCBhbFsy
MV0pOwotICBiclsxOF0gPSB2YWRkcV9zMzIocmlnaHRbMThdLCBhclsyMV0pOwotICBibFsxOV0g
PSB2YWRkcV9zMzIobGVmdFsxOV0sIGFsWzIwXSk7Ci0gIGJyWzE5XSA9IHZhZGRxX3MzMihyaWdo
dFsxOV0sIGFyWzIwXSk7Ci0KLSAgYmxbMjBdID0gdnN1YnFfczMyKGxlZnRbMTldLCBhbFsyMF0p
OwotICBiclsyMF0gPSB2c3VicV9zMzIocmlnaHRbMTldLCBhclsyMF0pOwotICBibFsyMV0gPSB2
c3VicV9zMzIobGVmdFsxOF0sIGFsWzIxXSk7Ci0gIGJyWzIxXSA9IHZzdWJxX3MzMihyaWdodFsx
OF0sIGFyWzIxXSk7Ci0gIGJsWzIyXSA9IHZzdWJxX3MzMihsZWZ0WzE3XSwgYWxbMjJdKTsKLSAg
YnJbMjJdID0gdnN1YnFfczMyKHJpZ2h0WzE3XSwgYXJbMjJdKTsKLSAgYmxbMjNdID0gdnN1YnFf
czMyKGxlZnRbMTZdLCBhbFsyM10pOwotICBiclsyM10gPSB2c3VicV9zMzIocmlnaHRbMTZdLCBh
clsyM10pOwotCi0gIGJsWzI0XSA9IHZzdWJxX3MzMihsZWZ0WzMxXSwgYWxbMjRdKTsKLSAgYnJb
MjRdID0gdnN1YnFfczMyKHJpZ2h0WzMxXSwgYXJbMjRdKTsKLSAgYmxbMjVdID0gdnN1YnFfczMy
KGxlZnRbMzBdLCBhbFsyNV0pOwotICBiclsyNV0gPSB2c3VicV9zMzIocmlnaHRbMzBdLCBhclsy
NV0pOwotICBibFsyNl0gPSB2c3VicV9zMzIobGVmdFsyOV0sIGFsWzI2XSk7Ci0gIGJyWzI2XSA9
IHZzdWJxX3MzMihyaWdodFsyOV0sIGFyWzI2XSk7Ci0gIGJsWzI3XSA9IHZzdWJxX3MzMihsZWZ0
WzI4XSwgYWxbMjddKTsKLSAgYnJbMjddID0gdnN1YnFfczMyKHJpZ2h0WzI4XSwgYXJbMjddKTsK
LQotICBibFsyOF0gPSB2YWRkcV9zMzIobGVmdFsyOF0sIGFsWzI3XSk7Ci0gIGJyWzI4XSA9IHZh
ZGRxX3MzMihyaWdodFsyOF0sIGFyWzI3XSk7Ci0gIGJsWzI5XSA9IHZhZGRxX3MzMihsZWZ0WzI5
XSwgYWxbMjZdKTsKLSAgYnJbMjldID0gdmFkZHFfczMyKHJpZ2h0WzI5XSwgYXJbMjZdKTsKLSAg
YmxbMzBdID0gdmFkZHFfczMyKGxlZnRbMzBdLCBhbFsyNV0pOwotICBiclszMF0gPSB2YWRkcV9z
MzIocmlnaHRbMzBdLCBhclsyNV0pOwotICBibFszMV0gPSB2YWRkcV9zMzIobGVmdFszMV0sIGFs
WzI0XSk7Ci0gIGJyWzMxXSA9IHZhZGRxX3MzMihyaWdodFszMV0sIGFyWzI0XSk7Ci0KLSAgLy8g
U3RhZ2UgNC4KLSAgYWxbMF0gPSB2YWRkcV9zMzIoYmxbMF0sIGJsWzNdKTsKLSAgYXJbMF0gPSB2
YWRkcV9zMzIoYnJbMF0sIGJyWzNdKTsKLSAgYWxbMV0gPSB2YWRkcV9zMzIoYmxbMV0sIGJsWzJd
KTsKLSAgYXJbMV0gPSB2YWRkcV9zMzIoYnJbMV0sIGJyWzJdKTsKLSAgYWxbMl0gPSB2c3VicV9z
MzIoYmxbMV0sIGJsWzJdKTsKLSAgYXJbMl0gPSB2c3VicV9zMzIoYnJbMV0sIGJyWzJdKTsKLSAg
YWxbM10gPSB2c3VicV9zMzIoYmxbMF0sIGJsWzNdKTsKLSAgYXJbM10gPSB2c3VicV9zMzIoYnJb
MF0sIGJyWzNdKTsKLQotICBhbFs0XSA9IGJsWzRdOwotICBhcls0XSA9IGJyWzRdOwotCi0gIGJ1
dHRlcmZseV9vbmVfY29lZmZfczMyX2Zhc3QoYmxbNl0sIGJyWzZdLCBibFs1XSwgYnJbNV0sIGNv
c3BpXzE2XzY0LCAmYWxbNl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyWzZd
LCAmYWxbNV0sICZhcls1XSk7Ci0KLSAgYWxbN10gPSBibFs3XTsKLSAgYXJbN10gPSBicls3XTsK
LQotICBhbFs4XSA9IHZhZGRxX3MzMihibFs4XSwgYmxbMTFdKTsKLSAgYXJbOF0gPSB2YWRkcV9z
MzIoYnJbOF0sIGJyWzExXSk7Ci0gIGFsWzldID0gdmFkZHFfczMyKGJsWzldLCBibFsxMF0pOwot
ICBhcls5XSA9IHZhZGRxX3MzMihicls5XSwgYnJbMTBdKTsKLSAgYWxbMTBdID0gdnN1YnFfczMy
KGJsWzldLCBibFsxMF0pOwotICBhclsxMF0gPSB2c3VicV9zMzIoYnJbOV0sIGJyWzEwXSk7Ci0g
IGFsWzExXSA9IHZzdWJxX3MzMihibFs4XSwgYmxbMTFdKTsKLSAgYXJbMTFdID0gdnN1YnFfczMy
KGJyWzhdLCBiclsxMV0pOwotICBhbFsxMl0gPSB2c3VicV9zMzIoYmxbMTVdLCBibFsxMl0pOwot
ICBhclsxMl0gPSB2c3VicV9zMzIoYnJbMTVdLCBiclsxMl0pOwotICBhbFsxM10gPSB2c3VicV9z
MzIoYmxbMTRdLCBibFsxM10pOwotICBhclsxM10gPSB2c3VicV9zMzIoYnJbMTRdLCBiclsxM10p
OwotICBhbFsxNF0gPSB2YWRkcV9zMzIoYmxbMTRdLCBibFsxM10pOwotICBhclsxNF0gPSB2YWRk
cV9zMzIoYnJbMTRdLCBiclsxM10pOwotICBhbFsxNV0gPSB2YWRkcV9zMzIoYmxbMTVdLCBibFsx
Ml0pOwotICBhclsxNV0gPSB2YWRkcV9zMzIoYnJbMTVdLCBiclsxMl0pOwotCi0gIGFsWzE2XSA9
IGJsWzE2XTsKLSAgYXJbMTZdID0gYnJbMTZdOwotICBhbFsxN10gPSBibFsxN107Ci0gIGFyWzE3
XSA9IGJyWzE3XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGJsWzI5
XSwgYnJbMjldLCBibFsxOF0sIGJyWzE4XSwgY29zcGlfOF82NCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb3NwaV8yNF82NCwgJmFsWzI5XSwgJmFyWzI5XSwgJmFsWzE4
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJbMThdKTsKLSAgYnV0
dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFsyOF0sIGJyWzI4XSwgYmxbMTldLCBi
clsxOV0sIGNvc3BpXzhfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29zcGlfMjRfNjQsICZhbFsyOF0sICZhclsyOF0sICZhbFsxOV0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJmFyWzE5XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMy
X3M2NF9uYXJyb3coYmxbMjddLCBiclsyN10sIGJsWzIwXSwgYnJbMjBdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI0XzY0LCAtY29zcGlfOF82NCwgJmFsWzI3
XSwgJmFyWzI3XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYWxbMjBd
LCAmYXJbMjBdKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFsyNl0s
IGJyWzI2XSwgYmxbMjFdLCBiclsyMV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29zcGlfMjRfNjQsIC1jb3NwaV84XzY0LCAmYWxbMjZdLCAmYXJbMjZdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbFsyMV0sICZhclsyMV0pOwotCi0gIGFs
WzIyXSA9IGJsWzIyXTsKLSAgYXJbMjJdID0gYnJbMjJdOwotICBhbFsyM10gPSBibFsyM107Ci0g
IGFyWzIzXSA9IGJyWzIzXTsKLSAgYWxbMjRdID0gYmxbMjRdOwotICBhclsyNF0gPSBiclsyNF07
Ci0gIGFsWzI1XSA9IGJsWzI1XTsKLSAgYXJbMjVdID0gYnJbMjVdOwotCi0gIGFsWzMwXSA9IGJs
WzMwXTsKLSAgYXJbMzBdID0gYnJbMzBdOwotICBhbFszMV0gPSBibFszMV07Ci0gIGFyWzMxXSA9
IGJyWzMxXTsKLQotICAvLyBTdGFnZSA1LgotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MzMl9mYXN0
KGFsWzBdLCBhclswXSwgYWxbMV0sIGFyWzFdLCBjb3NwaV8xNl82NCwgJmJsWzBdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZiclswXSwgJmJsWzFdLCAmYnJbMV0pOwotICBidXR0
ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGFsWzNdLCBhclszXSwgYWxbMl0sIGFyWzJd
LCBjb3NwaV84XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3Bp
XzI0XzY0LCAmYmxbMl0sICZiclsyXSwgJmJsWzNdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZiclszXSk7Ci0KLSAgYmxbNF0gPSB2YWRkcV9zMzIoYWxbNF0sIGFsWzVd
KTsKLSAgYnJbNF0gPSB2YWRkcV9zMzIoYXJbNF0sIGFyWzVdKTsKLSAgYmxbNV0gPSB2c3VicV9z
MzIoYWxbNF0sIGFsWzVdKTsKLSAgYnJbNV0gPSB2c3VicV9zMzIoYXJbNF0sIGFyWzVdKTsKLSAg
YmxbNl0gPSB2c3VicV9zMzIoYWxbN10sIGFsWzZdKTsKLSAgYnJbNl0gPSB2c3VicV9zMzIoYXJb
N10sIGFyWzZdKTsKLSAgYmxbN10gPSB2YWRkcV9zMzIoYWxbN10sIGFsWzZdKTsKLSAgYnJbN10g
PSB2YWRkcV9zMzIoYXJbN10sIGFyWzZdKTsKLQotICBibFs4XSA9IGFsWzhdOwotICBicls4XSA9
IGFyWzhdOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYWxbMTRdLCBh
clsxNF0sIGFsWzldLCBhcls5XSwgY29zcGlfOF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb3NwaV8yNF82NCwgJmJsWzE0XSwgJmJyWzE0XSwgJmJsWzldLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZicls5XSk7Ci0gIGJ1dHRlcmZseV90
d29fY29lZmZfczMyX3M2NF9uYXJyb3coYWxbMTNdLCBhclsxM10sIGFsWzEwXSwgYXJbMTBdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI0XzY0LCAtY29zcGlf
OF82NCwgJmJsWzEzXSwgJmJyWzEzXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmYmxbMTBdLCAmYnJbMTBdKTsKLQotICBibFsxMV0gPSBhbFsxMV07Ci0gIGJyWzExXSA9
IGFyWzExXTsKLSAgYmxbMTJdID0gYWxbMTJdOwotICBiclsxMl0gPSBhclsxMl07Ci0KLSAgYmxb
MTVdID0gYWxbMTVdOwotICBiclsxNV0gPSBhclsxNV07Ci0KLSAgYmxbMTZdID0gdmFkZHFfczMy
KGFsWzE5XSwgYWxbMTZdKTsKLSAgYnJbMTZdID0gdmFkZHFfczMyKGFyWzE5XSwgYXJbMTZdKTsK
LSAgYmxbMTddID0gdmFkZHFfczMyKGFsWzE4XSwgYWxbMTddKTsKLSAgYnJbMTddID0gdmFkZHFf
czMyKGFyWzE4XSwgYXJbMTddKTsKLSAgYmxbMThdID0gdnN1YnFfczMyKGFsWzE3XSwgYWxbMThd
KTsKLSAgYnJbMThdID0gdnN1YnFfczMyKGFyWzE3XSwgYXJbMThdKTsKLSAgYmxbMTldID0gdnN1
YnFfczMyKGFsWzE2XSwgYWxbMTldKTsKLSAgYnJbMTldID0gdnN1YnFfczMyKGFyWzE2XSwgYXJb
MTldKTsKLSAgYmxbMjBdID0gdnN1YnFfczMyKGFsWzIzXSwgYWxbMjBdKTsKLSAgYnJbMjBdID0g
dnN1YnFfczMyKGFyWzIzXSwgYXJbMjBdKTsKLSAgYmxbMjFdID0gdnN1YnFfczMyKGFsWzIyXSwg
YWxbMjFdKTsKLSAgYnJbMjFdID0gdnN1YnFfczMyKGFyWzIyXSwgYXJbMjFdKTsKLSAgYmxbMjJd
ID0gdmFkZHFfczMyKGFsWzIxXSwgYWxbMjJdKTsKLSAgYnJbMjJdID0gdmFkZHFfczMyKGFyWzIx
XSwgYXJbMjJdKTsKLSAgYmxbMjNdID0gdmFkZHFfczMyKGFsWzIwXSwgYWxbMjNdKTsKLSAgYnJb
MjNdID0gdmFkZHFfczMyKGFyWzIwXSwgYXJbMjNdKTsKLSAgYmxbMjRdID0gdmFkZHFfczMyKGFs
WzI3XSwgYWxbMjRdKTsKLSAgYnJbMjRdID0gdmFkZHFfczMyKGFyWzI3XSwgYXJbMjRdKTsKLSAg
YmxbMjVdID0gdmFkZHFfczMyKGFsWzI2XSwgYWxbMjVdKTsKLSAgYnJbMjVdID0gdmFkZHFfczMy
KGFyWzI2XSwgYXJbMjVdKTsKLSAgYmxbMjZdID0gdnN1YnFfczMyKGFsWzI1XSwgYWxbMjZdKTsK
LSAgYnJbMjZdID0gdnN1YnFfczMyKGFyWzI1XSwgYXJbMjZdKTsKLSAgYmxbMjddID0gdnN1YnFf
czMyKGFsWzI0XSwgYWxbMjddKTsKLSAgYnJbMjddID0gdnN1YnFfczMyKGFyWzI0XSwgYXJbMjdd
KTsKLSAgYmxbMjhdID0gdnN1YnFfczMyKGFsWzMxXSwgYWxbMjhdKTsKLSAgYnJbMjhdID0gdnN1
YnFfczMyKGFyWzMxXSwgYXJbMjhdKTsKLSAgYmxbMjldID0gdnN1YnFfczMyKGFsWzMwXSwgYWxb
MjldKTsKLSAgYnJbMjldID0gdnN1YnFfczMyKGFyWzMwXSwgYXJbMjldKTsKLSAgYmxbMzBdID0g
dmFkZHFfczMyKGFsWzI5XSwgYWxbMzBdKTsKLSAgYnJbMzBdID0gdmFkZHFfczMyKGFyWzI5XSwg
YXJbMzBdKTsKLSAgYmxbMzFdID0gdmFkZHFfczMyKGFsWzI4XSwgYWxbMzFdKTsKLSAgYnJbMzFd
ID0gdmFkZHFfczMyKGFyWzI4XSwgYXJbMzFdKTsKLQotICAvLyBTdGFnZSA2LgotICBhbFswXSA9
IGJsWzBdOwotICBhclswXSA9IGJyWzBdOwotICBhbFsxXSA9IGJsWzFdOwotICBhclsxXSA9IGJy
WzFdOwotICBhbFsyXSA9IGJsWzJdOwotICBhclsyXSA9IGJyWzJdOwotICBhbFszXSA9IGJsWzNd
OwotICBhclszXSA9IGJyWzNdOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJy
b3coYmxbN10sIGJyWzddLCBibFs0XSwgYnJbNF0sIGNvc3BpXzRfNjQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMjhfNjQsICZhbFs0XSwgJmFyWzRdLCAmYWxb
N10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyWzddKTsKLSAgYnV0
dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFs2XSwgYnJbNl0sIGJsWzVdLCBicls1
XSwgY29zcGlfMjBfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29z
cGlfMTJfNjQsICZhbFs1XSwgJmFyWzVdLCAmYWxbNl0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmFyWzZdKTsKLQotICBhbFs4XSA9IHZhZGRxX3MzMihibFs4XSwgYmxb
OV0pOwotICBhcls4XSA9IHZhZGRxX3MzMihicls4XSwgYnJbOV0pOwotICBhbFs5XSA9IHZzdWJx
X3MzMihibFs4XSwgYmxbOV0pOwotICBhcls5XSA9IHZzdWJxX3MzMihicls4XSwgYnJbOV0pOwot
ICBhbFsxMF0gPSB2c3VicV9zMzIoYmxbMTFdLCBibFsxMF0pOwotICBhclsxMF0gPSB2c3VicV9z
MzIoYnJbMTFdLCBiclsxMF0pOwotICBhbFsxMV0gPSB2YWRkcV9zMzIoYmxbMTFdLCBibFsxMF0p
OwotICBhclsxMV0gPSB2YWRkcV9zMzIoYnJbMTFdLCBiclsxMF0pOwotICBhbFsxMl0gPSB2YWRk
cV9zMzIoYmxbMTJdLCBibFsxM10pOwotICBhclsxMl0gPSB2YWRkcV9zMzIoYnJbMTJdLCBiclsx
M10pOwotICBhbFsxM10gPSB2c3VicV9zMzIoYmxbMTJdLCBibFsxM10pOwotICBhclsxM10gPSB2
c3VicV9zMzIoYnJbMTJdLCBiclsxM10pOwotICBhbFsxNF0gPSB2c3VicV9zMzIoYmxbMTVdLCBi
bFsxNF0pOwotICBhclsxNF0gPSB2c3VicV9zMzIoYnJbMTVdLCBiclsxNF0pOwotICBhbFsxNV0g
PSB2YWRkcV9zMzIoYmxbMTVdLCBibFsxNF0pOwotICBhclsxNV0gPSB2YWRkcV9zMzIoYnJbMTVd
LCBiclsxNF0pOwotCi0gIGFsWzE2XSA9IGJsWzE2XTsKLSAgYXJbMTZdID0gYnJbMTZdOwotICBh
bFsxOV0gPSBibFsxOV07Ci0gIGFyWzE5XSA9IGJyWzE5XTsKLSAgYWxbMjBdID0gYmxbMjBdOwot
ICBhclsyMF0gPSBiclsyMF07Ci0gIGFsWzIzXSA9IGJsWzIzXTsKLSAgYXJbMjNdID0gYnJbMjNd
OwotICBhbFsyNF0gPSBibFsyNF07Ci0gIGFyWzI0XSA9IGJyWzI0XTsKLSAgYWxbMjddID0gYmxb
MjddOwotICBhclsyN10gPSBiclsyN107Ci0gIGFsWzI4XSA9IGJsWzI4XTsKLSAgYXJbMjhdID0g
YnJbMjhdOwotICBhbFszMV0gPSBibFszMV07Ci0gIGFyWzMxXSA9IGJyWzMxXTsKLQotICBidXR0
ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGJsWzMwXSwgYnJbMzBdLCBibFsxN10sIGJy
WzE3XSwgY29zcGlfNF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b3NwaV8yOF82NCwgJmFsWzMwXSwgJmFyWzMwXSwgJmFsWzE3XSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmYXJbMTddKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJf
czY0X25hcnJvdyhibFsyOV0sIGJyWzI5XSwgYmxbMThdLCBiclsxOF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMjhfNjQsIC1jb3NwaV80XzY0LCAmYWxbMjld
LCAmYXJbMjldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbFsxOF0s
ICZhclsxOF0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGJsWzI2XSwg
YnJbMjZdLCBibFsyMV0sIGJyWzIxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb3NwaV8yMF82NCwgY29zcGlfMTJfNjQsICZhbFsyNl0sICZhclsyNl0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFsWzIxXSwgJmFyWzIxXSk7Ci0gIGJ1dHRl
cmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYmxbMjVdLCBiclsyNV0sIGJsWzIyXSwgYnJb
MjJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzEyXzY0LCAt
Y29zcGlfMjBfNjQsICZhbFsyNV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmFyWzI1XSwgJmFsWzIyXSwgJmFyWzIyXSk7Ci0KLSAgLy8gU3RhZ2UgNy4KLSAgYmxbMF0g
PSBhbFswXTsKLSAgYnJbMF0gPSBhclswXTsKLSAgYmxbMV0gPSBhbFsxXTsKLSAgYnJbMV0gPSBh
clsxXTsKLSAgYmxbMl0gPSBhbFsyXTsKLSAgYnJbMl0gPSBhclsyXTsKLSAgYmxbM10gPSBhbFsz
XTsKLSAgYnJbM10gPSBhclszXTsKLSAgYmxbNF0gPSBhbFs0XTsKLSAgYnJbNF0gPSBhcls0XTsK
LSAgYmxbNV0gPSBhbFs1XTsKLSAgYnJbNV0gPSBhcls1XTsKLSAgYmxbNl0gPSBhbFs2XTsKLSAg
YnJbNl0gPSBhcls2XTsKLSAgYmxbN10gPSBhbFs3XTsKLSAgYnJbN10gPSBhcls3XTsKLQotICBi
dXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGFsWzE1XSwgYXJbMTVdLCBhbFs4XSwg
YXJbOF0sIGNvc3BpXzJfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29zcGlfMzBfNjQsICZibFs4XSwgJmJyWzhdLCAmYmxbMTVdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZiclsxNV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9z
NjRfbmFycm93KGFsWzE0XSwgYXJbMTRdLCBhbFs5XSwgYXJbOV0sIGNvc3BpXzE4XzY0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzE0XzY0LCAmYmxbOV0sICZi
cls5XSwgJmJsWzE0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYnJb
MTRdKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhhbFsxM10sIGFyWzEz
XSwgYWxbMTBdLCBhclsxMF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29zcGlfMTBfNjQsIGNvc3BpXzIyXzY0LCAmYmxbMTBdLCAmYnJbMTBdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZibFsxM10sICZiclsxM10pOwotICBidXR0ZXJmbHlf
dHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGFsWzEyXSwgYXJbMTJdLCBhbFsxMV0sIGFyWzExXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8yNl82NCwgY29zcGlf
Nl82NCwgJmJsWzExXSwgJmJyWzExXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmYmxbMTJdLCAmYnJbMTJdKTsKLQotICBibFsxNl0gPSB2YWRkcV9zMzIoYWxbMTZdLCBh
bFsxN10pOwotICBiclsxNl0gPSB2YWRkcV9zMzIoYXJbMTZdLCBhclsxN10pOwotICBibFsxN10g
PSB2c3VicV9zMzIoYWxbMTZdLCBhbFsxN10pOwotICBiclsxN10gPSB2c3VicV9zMzIoYXJbMTZd
LCBhclsxN10pOwotICBibFsxOF0gPSB2c3VicV9zMzIoYWxbMTldLCBhbFsxOF0pOwotICBiclsx
OF0gPSB2c3VicV9zMzIoYXJbMTldLCBhclsxOF0pOwotICBibFsxOV0gPSB2YWRkcV9zMzIoYWxb
MTldLCBhbFsxOF0pOwotICBiclsxOV0gPSB2YWRkcV9zMzIoYXJbMTldLCBhclsxOF0pOwotICBi
bFsyMF0gPSB2YWRkcV9zMzIoYWxbMjBdLCBhbFsyMV0pOwotICBiclsyMF0gPSB2YWRkcV9zMzIo
YXJbMjBdLCBhclsyMV0pOwotICBibFsyMV0gPSB2c3VicV9zMzIoYWxbMjBdLCBhbFsyMV0pOwot
ICBiclsyMV0gPSB2c3VicV9zMzIoYXJbMjBdLCBhclsyMV0pOwotICBibFsyMl0gPSB2c3VicV9z
MzIoYWxbMjNdLCBhbFsyMl0pOwotICBiclsyMl0gPSB2c3VicV9zMzIoYXJbMjNdLCBhclsyMl0p
OwotICBibFsyM10gPSB2YWRkcV9zMzIoYWxbMjNdLCBhbFsyMl0pOwotICBiclsyM10gPSB2YWRk
cV9zMzIoYXJbMjNdLCBhclsyMl0pOwotICBibFsyNF0gPSB2YWRkcV9zMzIoYWxbMjRdLCBhbFsy
NV0pOwotICBiclsyNF0gPSB2YWRkcV9zMzIoYXJbMjRdLCBhclsyNV0pOwotICBibFsyNV0gPSB2
c3VicV9zMzIoYWxbMjRdLCBhbFsyNV0pOwotICBiclsyNV0gPSB2c3VicV9zMzIoYXJbMjRdLCBh
clsyNV0pOwotICBibFsyNl0gPSB2c3VicV9zMzIoYWxbMjddLCBhbFsyNl0pOwotICBiclsyNl0g
PSB2c3VicV9zMzIoYXJbMjddLCBhclsyNl0pOwotICBibFsyN10gPSB2YWRkcV9zMzIoYWxbMjdd
LCBhbFsyNl0pOwotICBiclsyN10gPSB2YWRkcV9zMzIoYXJbMjddLCBhclsyNl0pOwotICBibFsy
OF0gPSB2YWRkcV9zMzIoYWxbMjhdLCBhbFsyOV0pOwotICBiclsyOF0gPSB2YWRkcV9zMzIoYXJb
MjhdLCBhclsyOV0pOwotICBibFsyOV0gPSB2c3VicV9zMzIoYWxbMjhdLCBhbFsyOV0pOwotICBi
clsyOV0gPSB2c3VicV9zMzIoYXJbMjhdLCBhclsyOV0pOwotICBibFszMF0gPSB2c3VicV9zMzIo
YWxbMzFdLCBhbFszMF0pOwotICBiclszMF0gPSB2c3VicV9zMzIoYXJbMzFdLCBhclszMF0pOwot
ICBibFszMV0gPSB2YWRkcV9zMzIoYWxbMzFdLCBhbFszMF0pOwotICBiclszMV0gPSB2YWRkcV9z
MzIoYXJbMzFdLCBhclszMF0pOwotCi0gIC8vIEZpbmFsIHN0YWdlLgotCi0gIGxlZnRbMF0gPSBi
bFswXTsKLSAgcmlnaHRbMF0gPSBiclswXTsKLSAgbGVmdFsxNl0gPSBibFsxXTsKLSAgcmlnaHRb
MTZdID0gYnJbMV07Ci0gIGxlZnRbOF0gPSBibFsyXTsKLSAgcmlnaHRbOF0gPSBiclsyXTsKLSAg
bGVmdFsyNF0gPSBibFszXTsKLSAgcmlnaHRbMjRdID0gYnJbM107Ci0gIGxlZnRbNF0gPSBibFs0
XTsKLSAgcmlnaHRbNF0gPSBicls0XTsKLSAgbGVmdFsyMF0gPSBibFs1XTsKLSAgcmlnaHRbMjBd
ID0gYnJbNV07Ci0gIGxlZnRbMTJdID0gYmxbNl07Ci0gIHJpZ2h0WzEyXSA9IGJyWzZdOwotICBs
ZWZ0WzI4XSA9IGJsWzddOwotICByaWdodFsyOF0gPSBicls3XTsKLSAgbGVmdFsyXSA9IGJsWzhd
OwotICByaWdodFsyXSA9IGJyWzhdOwotICBsZWZ0WzE4XSA9IGJsWzldOwotICByaWdodFsxOF0g
PSBicls5XTsKLSAgbGVmdFsxMF0gPSBibFsxMF07Ci0gIHJpZ2h0WzEwXSA9IGJyWzEwXTsKLSAg
bGVmdFsyNl0gPSBibFsxMV07Ci0gIHJpZ2h0WzI2XSA9IGJyWzExXTsKLSAgbGVmdFs2XSA9IGJs
WzEyXTsKLSAgcmlnaHRbNl0gPSBiclsxMl07Ci0gIGxlZnRbMjJdID0gYmxbMTNdOwotICByaWdo
dFsyMl0gPSBiclsxM107Ci0gIGxlZnRbMTRdID0gYmxbMTRdOwotICByaWdodFsxNF0gPSBiclsx
NF07Ci0gIGxlZnRbMzBdID0gYmxbMTVdOwotICByaWdodFszMF0gPSBiclsxNV07Ci0KLSAgYnV0
dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFszMV0sIGJyWzMxXSwgYmxbMTZdLCBi
clsxNl0sIGNvc3BpXzFfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29zcGlfMzFfNjQsICZhbFsxXSwgJmFyWzFdLCAmYWxbMzFdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZhclszMV0pOwotICBsZWZ0WzFdID0gYWxbMV07Ci0gIHJpZ2h0
WzFdID0gYXJbMV07Ci0gIGxlZnRbMzFdID0gYWxbMzFdOwotICByaWdodFszMV0gPSBhclszMV07
Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFszMF0sIGJyWzMwXSwg
YmxbMTddLCBiclsxN10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29z
cGlfMTdfNjQsIGNvc3BpXzE1XzY0LCAmYWxbMTddLCAmYXJbMTddLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZhbFsxNV0sICZhclsxNV0pOwotICBsZWZ0WzE3XSA9IGFs
WzE3XTsKLSAgcmlnaHRbMTddID0gYXJbMTddOwotICBsZWZ0WzE1XSA9IGFsWzE1XTsKLSAgcmln
aHRbMTVdID0gYXJbMTVdOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3co
YmxbMjldLCBiclsyOV0sIGJsWzE4XSwgYnJbMThdLCBjb3NwaV85XzY0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzIzXzY0LCAmYWxbOV0sICZhcls5XSwgJmFs
WzIzXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJbMjNdKTsKLSAg
bGVmdFs5XSA9IGFsWzldOwotICByaWdodFs5XSA9IGFyWzldOwotICBsZWZ0WzIzXSA9IGFsWzIz
XTsKLSAgcmlnaHRbMjNdID0gYXJbMjNdOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2
NF9uYXJyb3coYmxbMjhdLCBiclsyOF0sIGJsWzE5XSwgYnJbMTldLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI1XzY0LCBjb3NwaV83XzY0LCAmYWxbMjVdLCAm
YXJbMjVdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbFs3XSwgJmFy
WzddKTsKLSAgbGVmdFsyNV0gPSBhbFsyNV07Ci0gIHJpZ2h0WzI1XSA9IGFyWzI1XTsKLSAgbGVm
dFs3XSA9IGFsWzddOwotICByaWdodFs3XSA9IGFyWzddOwotCi0gIGJ1dHRlcmZseV90d29fY29l
ZmZfczMyX3M2NF9uYXJyb3coYmxbMjddLCBiclsyN10sIGJsWzIwXSwgYnJbMjBdLCBjb3NwaV81
XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI3XzY0LCAm
YWxbNV0sICZhcls1XSwgJmFsWzI3XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmYXJbMjddKTsKLSAgbGVmdFs1XSA9IGFsWzVdOwotICByaWdodFs1XSA9IGFyWzVdOwot
ICBsZWZ0WzI3XSA9IGFsWzI3XTsKLSAgcmlnaHRbMjddID0gYXJbMjddOwotCi0gIGJ1dHRlcmZs
eV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYmxbMjZdLCBiclsyNl0sIGJsWzIxXSwgYnJbMjFd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzIxXzY0LCBjb3Nw
aV8xMV82NCwgJmFsWzIxXSwgJmFyWzIxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmYWxbMTFdLCAmYXJbMTFdKTsKLSAgbGVmdFsyMV0gPSBhbFsyMV07Ci0gIHJpZ2h0
WzIxXSA9IGFyWzIxXTsKLSAgbGVmdFsxMV0gPSBhbFsxMV07Ci0gIHJpZ2h0WzExXSA9IGFyWzEx
XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGJsWzI1XSwgYnJbMjVd
LCBibFsyMl0sIGJyWzIyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b3NwaV8xM182NCwgY29zcGlfMTlfNjQsICZhbFsxM10sICZhclsxM10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJmFsWzE5XSwgJmFyWzE5XSk7Ci0gIGxlZnRbMTNdID0g
YWxbMTNdOwotICByaWdodFsxM10gPSBhclsxM107Ci0gIGxlZnRbMTldID0gYWxbMTldOwotICBy
aWdodFsxOV0gPSBhclsxOV07Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJv
dyhibFsyNF0sIGJyWzI0XSwgYmxbMjNdLCBiclsyM10sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29zcGlfMjlfNjQsIGNvc3BpXzNfNjQsICZhbFsyOV0sICZhclsyOV0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFsWzNdLCAmYXJbM10pOwot
ICBsZWZ0WzI5XSA9IGFsWzI5XTsKLSAgcmlnaHRbMjldID0gYXJbMjldOwotICBsZWZ0WzNdID0g
YWxbM107Ci0gIHJpZ2h0WzNdID0gYXJbM107Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdo
YmRfZGN0OHgzMl9ib2R5X3NlY29uZF9wYXNzKGludDMyeDRfdCAqbGVmdCAvKjMyKi8sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3Qg
KnJpZ2h0IC8qMzIqLykgewotICBpbnQzMng0X3QgYWxbMzJdLCBhclszMl07Ci0gIGludDMyeDRf
dCBibFszMl0sIGJyWzMyXTsKLQotICAvLyBTdGFnZSAxOiBEb25lIGFzIHBhcnQgb2YgdGhlIGxv
YWQuCi0KLSAgLy8gU3RhZ2UgMi4KLSAgLy8gTWluaSBjcm9zcy4gWCB0aGUgZmlyc3QgMTYgdmFs
dWVzIGFuZCB0aGUgbWlkZGxlIDggb2YgdGhlIHNlY29uZCBoYWxmLgotICBhbFswXSA9IHZhZGRx
X3MzMihsZWZ0WzBdLCBsZWZ0WzE1XSk7Ci0gIGFyWzBdID0gdmFkZHFfczMyKHJpZ2h0WzBdLCBy
aWdodFsxNV0pOwotICBhbFsxXSA9IHZhZGRxX3MzMihsZWZ0WzFdLCBsZWZ0WzE0XSk7Ci0gIGFy
WzFdID0gdmFkZHFfczMyKHJpZ2h0WzFdLCByaWdodFsxNF0pOwotICBhbFsyXSA9IHZhZGRxX3Mz
MihsZWZ0WzJdLCBsZWZ0WzEzXSk7Ci0gIGFyWzJdID0gdmFkZHFfczMyKHJpZ2h0WzJdLCByaWdo
dFsxM10pOwotICBhbFszXSA9IHZhZGRxX3MzMihsZWZ0WzNdLCBsZWZ0WzEyXSk7Ci0gIGFyWzNd
ID0gdmFkZHFfczMyKHJpZ2h0WzNdLCByaWdodFsxMl0pOwotICBhbFs0XSA9IHZhZGRxX3MzMihs
ZWZ0WzRdLCBsZWZ0WzExXSk7Ci0gIGFyWzRdID0gdmFkZHFfczMyKHJpZ2h0WzRdLCByaWdodFsx
MV0pOwotICBhbFs1XSA9IHZhZGRxX3MzMihsZWZ0WzVdLCBsZWZ0WzEwXSk7Ci0gIGFyWzVdID0g
dmFkZHFfczMyKHJpZ2h0WzVdLCByaWdodFsxMF0pOwotICBhbFs2XSA9IHZhZGRxX3MzMihsZWZ0
WzZdLCBsZWZ0WzldKTsKLSAgYXJbNl0gPSB2YWRkcV9zMzIocmlnaHRbNl0sIHJpZ2h0WzldKTsK
LSAgYWxbN10gPSB2YWRkcV9zMzIobGVmdFs3XSwgbGVmdFs4XSk7Ci0gIGFyWzddID0gdmFkZHFf
czMyKHJpZ2h0WzddLCByaWdodFs4XSk7Ci0KLSAgYWxbOF0gPSB2c3VicV9zMzIobGVmdFs3XSwg
bGVmdFs4XSk7Ci0gIGFyWzhdID0gdnN1YnFfczMyKHJpZ2h0WzddLCByaWdodFs4XSk7Ci0gIGFs
WzldID0gdnN1YnFfczMyKGxlZnRbNl0sIGxlZnRbOV0pOwotICBhcls5XSA9IHZzdWJxX3MzMihy
aWdodFs2XSwgcmlnaHRbOV0pOwotICBhbFsxMF0gPSB2c3VicV9zMzIobGVmdFs1XSwgbGVmdFsx
MF0pOwotICBhclsxMF0gPSB2c3VicV9zMzIocmlnaHRbNV0sIHJpZ2h0WzEwXSk7Ci0gIGFsWzEx
XSA9IHZzdWJxX3MzMihsZWZ0WzRdLCBsZWZ0WzExXSk7Ci0gIGFyWzExXSA9IHZzdWJxX3MzMihy
aWdodFs0XSwgcmlnaHRbMTFdKTsKLSAgYWxbMTJdID0gdnN1YnFfczMyKGxlZnRbM10sIGxlZnRb
MTJdKTsKLSAgYXJbMTJdID0gdnN1YnFfczMyKHJpZ2h0WzNdLCByaWdodFsxMl0pOwotICBhbFsx
M10gPSB2c3VicV9zMzIobGVmdFsyXSwgbGVmdFsxM10pOwotICBhclsxM10gPSB2c3VicV9zMzIo
cmlnaHRbMl0sIHJpZ2h0WzEzXSk7Ci0gIGFsWzE0XSA9IHZzdWJxX3MzMihsZWZ0WzFdLCBsZWZ0
WzE0XSk7Ci0gIGFyWzE0XSA9IHZzdWJxX3MzMihyaWdodFsxXSwgcmlnaHRbMTRdKTsKLSAgYWxb
MTVdID0gdnN1YnFfczMyKGxlZnRbMF0sIGxlZnRbMTVdKTsKLSAgYXJbMTVdID0gdnN1YnFfczMy
KHJpZ2h0WzBdLCByaWdodFsxNV0pOwotCi0gIGFsWzE2XSA9IGxlZnRbMTZdOwotICBhclsxNl0g
PSByaWdodFsxNl07Ci0gIGFsWzE3XSA9IGxlZnRbMTddOwotICBhclsxN10gPSByaWdodFsxN107
Ci0gIGFsWzE4XSA9IGxlZnRbMThdOwotICBhclsxOF0gPSByaWdodFsxOF07Ci0gIGFsWzE5XSA9
IGxlZnRbMTldOwotICBhclsxOV0gPSByaWdodFsxOV07Ci0KLSAgYnV0dGVyZmx5X29uZV9jb2Vm
Zl9zMzJfZmFzdChsZWZ0WzI3XSwgcmlnaHRbMjddLCBsZWZ0WzIwXSwgcmlnaHRbMjBdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzE2XzY0LCAmYWxbMjddLCAmYXJbMjdd
LCAmYWxbMjBdLCAmYXJbMjBdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChsZWZ0
WzI2XSwgcmlnaHRbMjZdLCBsZWZ0WzIxXSwgcmlnaHRbMjFdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvc3BpXzE2XzY0LCAmYWxbMjZdLCAmYXJbMjZdLCAmYWxbMjFdLCAmYXJb
MjFdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChsZWZ0WzI1XSwgcmlnaHRbMjVd
LCBsZWZ0WzIyXSwgcmlnaHRbMjJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
c3BpXzE2XzY0LCAmYWxbMjVdLCAmYXJbMjVdLCAmYWxbMjJdLCAmYXJbMjJdKTsKLSAgYnV0dGVy
Zmx5X29uZV9jb2VmZl9zMzJfZmFzdChsZWZ0WzI0XSwgcmlnaHRbMjRdLCBsZWZ0WzIzXSwgcmln
aHRbMjNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzE2XzY0LCAmYWxb
MjRdLCAmYXJbMjRdLCAmYWxbMjNdLCAmYXJbMjNdKTsKLQotICBhbFsyOF0gPSBsZWZ0WzI4XTsK
LSAgYXJbMjhdID0gcmlnaHRbMjhdOwotICBhbFsyOV0gPSBsZWZ0WzI5XTsKLSAgYXJbMjldID0g
cmlnaHRbMjldOwotICBhbFszMF0gPSBsZWZ0WzMwXTsKLSAgYXJbMzBdID0gcmlnaHRbMzBdOwot
ICBhbFszMV0gPSBsZWZ0WzMxXTsKLSAgYXJbMzFdID0gcmlnaHRbMzFdOwotCi0gIC8vIFN0YWdl
IDMuCi0gIGJsWzBdID0gdmFkZHFfczMyKGFsWzBdLCBhbFs3XSk7Ci0gIGJyWzBdID0gdmFkZHFf
czMyKGFyWzBdLCBhcls3XSk7Ci0gIGJsWzFdID0gdmFkZHFfczMyKGFsWzFdLCBhbFs2XSk7Ci0g
IGJyWzFdID0gdmFkZHFfczMyKGFyWzFdLCBhcls2XSk7Ci0gIGJsWzJdID0gdmFkZHFfczMyKGFs
WzJdLCBhbFs1XSk7Ci0gIGJyWzJdID0gdmFkZHFfczMyKGFyWzJdLCBhcls1XSk7Ci0gIGJsWzNd
ID0gdmFkZHFfczMyKGFsWzNdLCBhbFs0XSk7Ci0gIGJyWzNdID0gdmFkZHFfczMyKGFyWzNdLCBh
cls0XSk7Ci0KLSAgYmxbNF0gPSB2c3VicV9zMzIoYWxbM10sIGFsWzRdKTsKLSAgYnJbNF0gPSB2
c3VicV9zMzIoYXJbM10sIGFyWzRdKTsKLSAgYmxbNV0gPSB2c3VicV9zMzIoYWxbMl0sIGFsWzVd
KTsKLSAgYnJbNV0gPSB2c3VicV9zMzIoYXJbMl0sIGFyWzVdKTsKLSAgYmxbNl0gPSB2c3VicV9z
MzIoYWxbMV0sIGFsWzZdKTsKLSAgYnJbNl0gPSB2c3VicV9zMzIoYXJbMV0sIGFyWzZdKTsKLSAg
YmxbN10gPSB2c3VicV9zMzIoYWxbMF0sIGFsWzddKTsKLSAgYnJbN10gPSB2c3VicV9zMzIoYXJb
MF0sIGFyWzddKTsKLQotICBibFs4XSA9IGFsWzhdOwotICBicls4XSA9IGFyWzhdOwotICBibFs5
XSA9IGFsWzldOwotICBicls5XSA9IGFyWzldOwotCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMy
X2Zhc3QoYWxbMTNdLCBhclsxM10sIGFsWzEwXSwgYXJbMTBdLCBjb3NwaV8xNl82NCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmYmxbMTNdLCAmYnJbMTNdLCAmYmxbMTBdLCAmYnJb
MTBdKTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChhbFsxMl0sIGFyWzEyXSwgYWxb
MTFdLCBhclsxMV0sIGNvc3BpXzE2XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZibFsxMl0sICZiclsxMl0sICZibFsxMV0sICZiclsxMV0pOwotCi0gIGJsWzE0XSA9IGFsWzE0
XTsKLSAgYnJbMTRdID0gYXJbMTRdOwotICBibFsxNV0gPSBhbFsxNV07Ci0gIGJyWzE1XSA9IGFy
WzE1XTsKLQotICBibFsxNl0gPSB2YWRkcV9zMzIobGVmdFsxNl0sIGFsWzIzXSk7Ci0gIGJyWzE2
XSA9IHZhZGRxX3MzMihyaWdodFsxNl0sIGFyWzIzXSk7Ci0gIGJsWzE3XSA9IHZhZGRxX3MzMihs
ZWZ0WzE3XSwgYWxbMjJdKTsKLSAgYnJbMTddID0gdmFkZHFfczMyKHJpZ2h0WzE3XSwgYXJbMjJd
KTsKLSAgYmxbMThdID0gdmFkZHFfczMyKGxlZnRbMThdLCBhbFsyMV0pOwotICBiclsxOF0gPSB2
YWRkcV9zMzIocmlnaHRbMThdLCBhclsyMV0pOwotICBibFsxOV0gPSB2YWRkcV9zMzIobGVmdFsx
OV0sIGFsWzIwXSk7Ci0gIGJyWzE5XSA9IHZhZGRxX3MzMihyaWdodFsxOV0sIGFyWzIwXSk7Ci0K
LSAgYmxbMjBdID0gdnN1YnFfczMyKGxlZnRbMTldLCBhbFsyMF0pOwotICBiclsyMF0gPSB2c3Vi
cV9zMzIocmlnaHRbMTldLCBhclsyMF0pOwotICBibFsyMV0gPSB2c3VicV9zMzIobGVmdFsxOF0s
IGFsWzIxXSk7Ci0gIGJyWzIxXSA9IHZzdWJxX3MzMihyaWdodFsxOF0sIGFyWzIxXSk7Ci0gIGJs
WzIyXSA9IHZzdWJxX3MzMihsZWZ0WzE3XSwgYWxbMjJdKTsKLSAgYnJbMjJdID0gdnN1YnFfczMy
KHJpZ2h0WzE3XSwgYXJbMjJdKTsKLSAgYmxbMjNdID0gdnN1YnFfczMyKGxlZnRbMTZdLCBhbFsy
M10pOwotICBiclsyM10gPSB2c3VicV9zMzIocmlnaHRbMTZdLCBhclsyM10pOwotCi0gIGJsWzI0
XSA9IHZzdWJxX3MzMihsZWZ0WzMxXSwgYWxbMjRdKTsKLSAgYnJbMjRdID0gdnN1YnFfczMyKHJp
Z2h0WzMxXSwgYXJbMjRdKTsKLSAgYmxbMjVdID0gdnN1YnFfczMyKGxlZnRbMzBdLCBhbFsyNV0p
OwotICBiclsyNV0gPSB2c3VicV9zMzIocmlnaHRbMzBdLCBhclsyNV0pOwotICBibFsyNl0gPSB2
c3VicV9zMzIobGVmdFsyOV0sIGFsWzI2XSk7Ci0gIGJyWzI2XSA9IHZzdWJxX3MzMihyaWdodFsy
OV0sIGFyWzI2XSk7Ci0gIGJsWzI3XSA9IHZzdWJxX3MzMihsZWZ0WzI4XSwgYWxbMjddKTsKLSAg
YnJbMjddID0gdnN1YnFfczMyKHJpZ2h0WzI4XSwgYXJbMjddKTsKLQotICBibFsyOF0gPSB2YWRk
cV9zMzIobGVmdFsyOF0sIGFsWzI3XSk7Ci0gIGJyWzI4XSA9IHZhZGRxX3MzMihyaWdodFsyOF0s
IGFyWzI3XSk7Ci0gIGJsWzI5XSA9IHZhZGRxX3MzMihsZWZ0WzI5XSwgYWxbMjZdKTsKLSAgYnJb
MjldID0gdmFkZHFfczMyKHJpZ2h0WzI5XSwgYXJbMjZdKTsKLSAgYmxbMzBdID0gdmFkZHFfczMy
KGxlZnRbMzBdLCBhbFsyNV0pOwotICBiclszMF0gPSB2YWRkcV9zMzIocmlnaHRbMzBdLCBhclsy
NV0pOwotICBibFszMV0gPSB2YWRkcV9zMzIobGVmdFszMV0sIGFsWzI0XSk7Ci0gIGJyWzMxXSA9
IHZhZGRxX3MzMihyaWdodFszMV0sIGFyWzI0XSk7Ci0KLSAgLy8gU3RhZ2UgNC4KLSAgYWxbMF0g
PSB2YWRkcV9zMzIoYmxbMF0sIGJsWzNdKTsKLSAgYXJbMF0gPSB2YWRkcV9zMzIoYnJbMF0sIGJy
WzNdKTsKLSAgYWxbMV0gPSB2YWRkcV9zMzIoYmxbMV0sIGJsWzJdKTsKLSAgYXJbMV0gPSB2YWRk
cV9zMzIoYnJbMV0sIGJyWzJdKTsKLSAgYWxbMl0gPSB2c3VicV9zMzIoYmxbMV0sIGJsWzJdKTsK
LSAgYXJbMl0gPSB2c3VicV9zMzIoYnJbMV0sIGJyWzJdKTsKLSAgYWxbM10gPSB2c3VicV9zMzIo
YmxbMF0sIGJsWzNdKTsKLSAgYXJbM10gPSB2c3VicV9zMzIoYnJbMF0sIGJyWzNdKTsKLQotICBh
bFs0XSA9IGJsWzRdOwotICBhcls0XSA9IGJyWzRdOwotCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZf
czMyX2Zhc3QoYmxbNl0sIGJyWzZdLCBibFs1XSwgYnJbNV0sIGNvc3BpXzE2XzY0LCAmYWxbNl0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyWzZdLCAmYWxbNV0sICZhcls1XSk7
Ci0KLSAgYWxbN10gPSBibFs3XTsKLSAgYXJbN10gPSBicls3XTsKLQotICBhbFs4XSA9IHZhZGRx
X3MzMihibFs4XSwgYmxbMTFdKTsKLSAgYXJbOF0gPSB2YWRkcV9zMzIoYnJbOF0sIGJyWzExXSk7
Ci0gIGFsWzldID0gdmFkZHFfczMyKGJsWzldLCBibFsxMF0pOwotICBhcls5XSA9IHZhZGRxX3Mz
Mihicls5XSwgYnJbMTBdKTsKLSAgYWxbMTBdID0gdnN1YnFfczMyKGJsWzldLCBibFsxMF0pOwot
ICBhclsxMF0gPSB2c3VicV9zMzIoYnJbOV0sIGJyWzEwXSk7Ci0gIGFsWzExXSA9IHZzdWJxX3Mz
MihibFs4XSwgYmxbMTFdKTsKLSAgYXJbMTFdID0gdnN1YnFfczMyKGJyWzhdLCBiclsxMV0pOwot
ICBhbFsxMl0gPSB2c3VicV9zMzIoYmxbMTVdLCBibFsxMl0pOwotICBhclsxMl0gPSB2c3VicV9z
MzIoYnJbMTVdLCBiclsxMl0pOwotICBhbFsxM10gPSB2c3VicV9zMzIoYmxbMTRdLCBibFsxM10p
OwotICBhclsxM10gPSB2c3VicV9zMzIoYnJbMTRdLCBiclsxM10pOwotICBhbFsxNF0gPSB2YWRk
cV9zMzIoYmxbMTRdLCBibFsxM10pOwotICBhclsxNF0gPSB2YWRkcV9zMzIoYnJbMTRdLCBiclsx
M10pOwotICBhbFsxNV0gPSB2YWRkcV9zMzIoYmxbMTVdLCBibFsxMl0pOwotICBhclsxNV0gPSB2
YWRkcV9zMzIoYnJbMTVdLCBiclsxMl0pOwotCi0gIGFsWzE2XSA9IGJsWzE2XTsKLSAgYXJbMTZd
ID0gYnJbMTZdOwotICBhbFsxN10gPSBibFsxN107Ci0gIGFyWzE3XSA9IGJyWzE3XTsKLQotICBi
dXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGJsWzI5XSwgYnJbMjldLCBibFsxOF0s
IGJyWzE4XSwgY29zcGlfOF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb3NwaV8yNF82NCwgJmFsWzI5XSwgJmFyWzI5XSwgJmFsWzE4XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmYXJbMThdKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9z
MzJfczY0X25hcnJvdyhibFsyOF0sIGJyWzI4XSwgYmxbMTldLCBiclsxOV0sIGNvc3BpXzhfNjQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMjRfNjQsICZhbFsy
OF0sICZhclsyOF0sICZhbFsxOV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmFyWzE5XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYmxbMjdd
LCBiclsyN10sIGJsWzIwXSwgYnJbMjBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvc3BpXzI0XzY0LCAtY29zcGlfOF82NCwgJmFsWzI3XSwgJmFyWzI3XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYWxbMjBdLCAmYXJbMjBdKTsKLSAgYnV0
dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFsyNl0sIGJyWzI2XSwgYmxbMjFdLCBi
clsyMV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMjRfNjQs
IC1jb3NwaV84XzY0LCAmYWxbMjZdLCAmYXJbMjZdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZhbFsyMV0sICZhclsyMV0pOwotCi0gIGFsWzIyXSA9IGJsWzIyXTsKLSAg
YXJbMjJdID0gYnJbMjJdOwotICBhbFsyM10gPSBibFsyM107Ci0gIGFyWzIzXSA9IGJyWzIzXTsK
LSAgYWxbMjRdID0gYmxbMjRdOwotICBhclsyNF0gPSBiclsyNF07Ci0gIGFsWzI1XSA9IGJsWzI1
XTsKLSAgYXJbMjVdID0gYnJbMjVdOwotCi0gIGFsWzMwXSA9IGJsWzMwXTsKLSAgYXJbMzBdID0g
YnJbMzBdOwotICBhbFszMV0gPSBibFszMV07Ci0gIGFyWzMxXSA9IGJyWzMxXTsKLQotICAvLyBT
dGFnZSA1LgotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MzMl9mYXN0KGFsWzBdLCBhclswXSwgYWxb
MV0sIGFyWzFdLCBjb3NwaV8xNl82NCwgJmJsWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZiclswXSwgJmJsWzFdLCAmYnJbMV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3Mz
Ml9zNjRfbmFycm93KGFsWzNdLCBhclszXSwgYWxbMl0sIGFyWzJdLCBjb3NwaV84XzY0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI0XzY0LCAmYmxbMl0sICZi
clsyXSwgJmJsWzNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZiclsz
XSk7Ci0KLSAgYmxbNF0gPSB2YWRkcV9zMzIoYWxbNF0sIGFsWzVdKTsKLSAgYnJbNF0gPSB2YWRk
cV9zMzIoYXJbNF0sIGFyWzVdKTsKLSAgYmxbNV0gPSB2c3VicV9zMzIoYWxbNF0sIGFsWzVdKTsK
LSAgYnJbNV0gPSB2c3VicV9zMzIoYXJbNF0sIGFyWzVdKTsKLSAgYmxbNl0gPSB2c3VicV9zMzIo
YWxbN10sIGFsWzZdKTsKLSAgYnJbNl0gPSB2c3VicV9zMzIoYXJbN10sIGFyWzZdKTsKLSAgYmxb
N10gPSB2YWRkcV9zMzIoYWxbN10sIGFsWzZdKTsKLSAgYnJbN10gPSB2YWRkcV9zMzIoYXJbN10s
IGFyWzZdKTsKLQotICBibFs4XSA9IGFsWzhdOwotICBicls4XSA9IGFyWzhdOwotCi0gIGJ1dHRl
cmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYWxbMTRdLCBhclsxNF0sIGFsWzldLCBhcls5
XSwgY29zcGlfOF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3Nw
aV8yNF82NCwgJmJsWzE0XSwgJmJyWzE0XSwgJmJsWzldLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZicls5XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9u
YXJyb3coYWxbMTNdLCBhclsxM10sIGFsWzEwXSwgYXJbMTBdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvc3BpXzI0XzY0LCAtY29zcGlfOF82NCwgJmJsWzEzXSwgJmJy
WzEzXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYmxbMTBdLCAmYnJb
MTBdKTsKLQotICBibFsxMV0gPSBhbFsxMV07Ci0gIGJyWzExXSA9IGFyWzExXTsKLSAgYmxbMTJd
ID0gYWxbMTJdOwotICBiclsxMl0gPSBhclsxMl07Ci0KLSAgYmxbMTVdID0gYWxbMTVdOwotICBi
clsxNV0gPSBhclsxNV07Ci0KLSAgYmxbMTZdID0gdmFkZHFfczMyKGFsWzE5XSwgYWxbMTZdKTsK
LSAgYnJbMTZdID0gdmFkZHFfczMyKGFyWzE5XSwgYXJbMTZdKTsKLSAgYmxbMTddID0gdmFkZHFf
czMyKGFsWzE4XSwgYWxbMTddKTsKLSAgYnJbMTddID0gdmFkZHFfczMyKGFyWzE4XSwgYXJbMTdd
KTsKLSAgYmxbMThdID0gdnN1YnFfczMyKGFsWzE3XSwgYWxbMThdKTsKLSAgYnJbMThdID0gdnN1
YnFfczMyKGFyWzE3XSwgYXJbMThdKTsKLSAgYmxbMTldID0gdnN1YnFfczMyKGFsWzE2XSwgYWxb
MTldKTsKLSAgYnJbMTldID0gdnN1YnFfczMyKGFyWzE2XSwgYXJbMTldKTsKLSAgYmxbMjBdID0g
dnN1YnFfczMyKGFsWzIzXSwgYWxbMjBdKTsKLSAgYnJbMjBdID0gdnN1YnFfczMyKGFyWzIzXSwg
YXJbMjBdKTsKLSAgYmxbMjFdID0gdnN1YnFfczMyKGFsWzIyXSwgYWxbMjFdKTsKLSAgYnJbMjFd
ID0gdnN1YnFfczMyKGFyWzIyXSwgYXJbMjFdKTsKLSAgYmxbMjJdID0gdmFkZHFfczMyKGFsWzIx
XSwgYWxbMjJdKTsKLSAgYnJbMjJdID0gdmFkZHFfczMyKGFyWzIxXSwgYXJbMjJdKTsKLSAgYmxb
MjNdID0gdmFkZHFfczMyKGFsWzIwXSwgYWxbMjNdKTsKLSAgYnJbMjNdID0gdmFkZHFfczMyKGFy
WzIwXSwgYXJbMjNdKTsKLSAgYmxbMjRdID0gdmFkZHFfczMyKGFsWzI3XSwgYWxbMjRdKTsKLSAg
YnJbMjRdID0gdmFkZHFfczMyKGFyWzI3XSwgYXJbMjRdKTsKLSAgYmxbMjVdID0gdmFkZHFfczMy
KGFsWzI2XSwgYWxbMjVdKTsKLSAgYnJbMjVdID0gdmFkZHFfczMyKGFyWzI2XSwgYXJbMjVdKTsK
LSAgYmxbMjZdID0gdnN1YnFfczMyKGFsWzI1XSwgYWxbMjZdKTsKLSAgYnJbMjZdID0gdnN1YnFf
czMyKGFyWzI1XSwgYXJbMjZdKTsKLSAgYmxbMjddID0gdnN1YnFfczMyKGFsWzI0XSwgYWxbMjdd
KTsKLSAgYnJbMjddID0gdnN1YnFfczMyKGFyWzI0XSwgYXJbMjddKTsKLSAgYmxbMjhdID0gdnN1
YnFfczMyKGFsWzMxXSwgYWxbMjhdKTsKLSAgYnJbMjhdID0gdnN1YnFfczMyKGFyWzMxXSwgYXJb
MjhdKTsKLSAgYmxbMjldID0gdnN1YnFfczMyKGFsWzMwXSwgYWxbMjldKTsKLSAgYnJbMjldID0g
dnN1YnFfczMyKGFyWzMwXSwgYXJbMjldKTsKLSAgYmxbMzBdID0gdmFkZHFfczMyKGFsWzI5XSwg
YWxbMzBdKTsKLSAgYnJbMzBdID0gdmFkZHFfczMyKGFyWzI5XSwgYXJbMzBdKTsKLSAgYmxbMzFd
ID0gdmFkZHFfczMyKGFsWzI4XSwgYWxbMzFdKTsKLSAgYnJbMzFdID0gdmFkZHFfczMyKGFyWzI4
XSwgYXJbMzFdKTsKLQotICAvLyBTdGFnZSA2LgotICBhbFswXSA9IGJsWzBdOwotICBhclswXSA9
IGJyWzBdOwotICBhbFsxXSA9IGJsWzFdOwotICBhclsxXSA9IGJyWzFdOwotICBhbFsyXSA9IGJs
WzJdOwotICBhclsyXSA9IGJyWzJdOwotICBhbFszXSA9IGJsWzNdOwotICBhclszXSA9IGJyWzNd
OwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYmxbN10sIGJyWzddLCBi
bFs0XSwgYnJbNF0sIGNvc3BpXzRfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29zcGlfMjhfNjQsICZhbFs0XSwgJmFyWzRdLCAmYWxbN10sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJmFyWzddKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9z
MzJfczY0X25hcnJvdyhibFs2XSwgYnJbNl0sIGJsWzVdLCBicls1XSwgY29zcGlfMjBfNjQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMTJfNjQsICZhbFs1XSwg
JmFyWzVdLCAmYWxbNl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFy
WzZdKTsKLQotICBhbFs4XSA9IHZhZGRxX3MzMihibFs4XSwgYmxbOV0pOwotICBhcls4XSA9IHZh
ZGRxX3MzMihicls4XSwgYnJbOV0pOwotICBhbFs5XSA9IHZzdWJxX3MzMihibFs4XSwgYmxbOV0p
OwotICBhcls5XSA9IHZzdWJxX3MzMihicls4XSwgYnJbOV0pOwotICBhbFsxMF0gPSB2c3VicV9z
MzIoYmxbMTFdLCBibFsxMF0pOwotICBhclsxMF0gPSB2c3VicV9zMzIoYnJbMTFdLCBiclsxMF0p
OwotICBhbFsxMV0gPSB2YWRkcV9zMzIoYmxbMTFdLCBibFsxMF0pOwotICBhclsxMV0gPSB2YWRk
cV9zMzIoYnJbMTFdLCBiclsxMF0pOwotICBhbFsxMl0gPSB2YWRkcV9zMzIoYmxbMTJdLCBibFsx
M10pOwotICBhclsxMl0gPSB2YWRkcV9zMzIoYnJbMTJdLCBiclsxM10pOwotICBhbFsxM10gPSB2
c3VicV9zMzIoYmxbMTJdLCBibFsxM10pOwotICBhclsxM10gPSB2c3VicV9zMzIoYnJbMTJdLCBi
clsxM10pOwotICBhbFsxNF0gPSB2c3VicV9zMzIoYmxbMTVdLCBibFsxNF0pOwotICBhclsxNF0g
PSB2c3VicV9zMzIoYnJbMTVdLCBiclsxNF0pOwotICBhbFsxNV0gPSB2YWRkcV9zMzIoYmxbMTVd
LCBibFsxNF0pOwotICBhclsxNV0gPSB2YWRkcV9zMzIoYnJbMTVdLCBiclsxNF0pOwotCi0gIGFs
WzE2XSA9IGJsWzE2XTsKLSAgYXJbMTZdID0gYnJbMTZdOwotICBhbFsxOV0gPSBibFsxOV07Ci0g
IGFyWzE5XSA9IGJyWzE5XTsKLSAgYWxbMjBdID0gYmxbMjBdOwotICBhclsyMF0gPSBiclsyMF07
Ci0gIGFsWzIzXSA9IGJsWzIzXTsKLSAgYXJbMjNdID0gYnJbMjNdOwotICBhbFsyNF0gPSBibFsy
NF07Ci0gIGFyWzI0XSA9IGJyWzI0XTsKLSAgYWxbMjddID0gYmxbMjddOwotICBhclsyN10gPSBi
clsyN107Ci0gIGFsWzI4XSA9IGJsWzI4XTsKLSAgYXJbMjhdID0gYnJbMjhdOwotICBhbFszMV0g
PSBibFszMV07Ci0gIGFyWzMxXSA9IGJyWzMxXTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3Mz
Ml9zNjRfbmFycm93KGJsWzMwXSwgYnJbMzBdLCBibFsxN10sIGJyWzE3XSwgY29zcGlfNF82NCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8yOF82NCwgJmFsWzMw
XSwgJmFyWzMwXSwgJmFsWzE3XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmYXJbMTddKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFsyOV0s
IGJyWzI5XSwgYmxbMThdLCBiclsxOF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29zcGlfMjhfNjQsIC1jb3NwaV80XzY0LCAmYWxbMjldLCAmYXJbMjldLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbFsxOF0sICZhclsxOF0pOwotICBidXR0
ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGJsWzI2XSwgYnJbMjZdLCBibFsyMV0sIGJy
WzIxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8yMF82NCwg
Y29zcGlfMTJfNjQsICZhbFsyNl0sICZhclsyNl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmFsWzIxXSwgJmFyWzIxXSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMy
X3M2NF9uYXJyb3coYmxbMjVdLCBiclsyNV0sIGJsWzIyXSwgYnJbMjJdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzEyXzY0LCAtY29zcGlfMjBfNjQsICZhbFsy
NV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyWzI1XSwgJmFsWzIy
XSwgJmFyWzIyXSk7Ci0KLSAgLy8gU3RhZ2UgNy4KLSAgYmxbMF0gPSBhbFswXTsKLSAgYnJbMF0g
PSBhclswXTsKLSAgYmxbMV0gPSBhbFsxXTsKLSAgYnJbMV0gPSBhclsxXTsKLSAgYmxbMl0gPSBh
bFsyXTsKLSAgYnJbMl0gPSBhclsyXTsKLSAgYmxbM10gPSBhbFszXTsKLSAgYnJbM10gPSBhclsz
XTsKLSAgYmxbNF0gPSBhbFs0XTsKLSAgYnJbNF0gPSBhcls0XTsKLSAgYmxbNV0gPSBhbFs1XTsK
LSAgYnJbNV0gPSBhcls1XTsKLSAgYmxbNl0gPSBhbFs2XTsKLSAgYnJbNl0gPSBhcls2XTsKLSAg
YmxbN10gPSBhbFs3XTsKLSAgYnJbN10gPSBhcls3XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZm
X3MzMl9zNjRfbmFycm93KGFsWzE1XSwgYXJbMTVdLCBhbFs4XSwgYXJbOF0sIGNvc3BpXzJfNjQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMzBfNjQsICZibFs4
XSwgJmJyWzhdLCAmYmxbMTVdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZiclsxNV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGFsWzE0XSwg
YXJbMTRdLCBhbFs5XSwgYXJbOV0sIGNvc3BpXzE4XzY0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvc3BpXzE0XzY0LCAmYmxbOV0sICZicls5XSwgJmJsWzE0XSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYnJbMTRdKTsKLSAgYnV0dGVyZmx5
X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhhbFsxM10sIGFyWzEzXSwgYWxbMTBdLCBhclsxMF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMTBfNjQsIGNvc3Bp
XzIyXzY0LCAmYmxbMTBdLCAmYnJbMTBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZibFsxM10sICZiclsxM10pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRf
bmFycm93KGFsWzEyXSwgYXJbMTJdLCBhbFsxMV0sIGFyWzExXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb3NwaV8yNl82NCwgY29zcGlfNl82NCwgJmJsWzExXSwgJmJy
WzExXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYmxbMTJdLCAmYnJb
MTJdKTsKLQotICBibFsxNl0gPSB2YWRkcV9zMzIoYWxbMTZdLCBhbFsxN10pOwotICBiclsxNl0g
PSB2YWRkcV9zMzIoYXJbMTZdLCBhclsxN10pOwotICBibFsxN10gPSB2c3VicV9zMzIoYWxbMTZd
LCBhbFsxN10pOwotICBiclsxN10gPSB2c3VicV9zMzIoYXJbMTZdLCBhclsxN10pOwotICBibFsx
OF0gPSB2c3VicV9zMzIoYWxbMTldLCBhbFsxOF0pOwotICBiclsxOF0gPSB2c3VicV9zMzIoYXJb
MTldLCBhclsxOF0pOwotICBibFsxOV0gPSB2YWRkcV9zMzIoYWxbMTldLCBhbFsxOF0pOwotICBi
clsxOV0gPSB2YWRkcV9zMzIoYXJbMTldLCBhclsxOF0pOwotICBibFsyMF0gPSB2YWRkcV9zMzIo
YWxbMjBdLCBhbFsyMV0pOwotICBiclsyMF0gPSB2YWRkcV9zMzIoYXJbMjBdLCBhclsyMV0pOwot
ICBibFsyMV0gPSB2c3VicV9zMzIoYWxbMjBdLCBhbFsyMV0pOwotICBiclsyMV0gPSB2c3VicV9z
MzIoYXJbMjBdLCBhclsyMV0pOwotICBibFsyMl0gPSB2c3VicV9zMzIoYWxbMjNdLCBhbFsyMl0p
OwotICBiclsyMl0gPSB2c3VicV9zMzIoYXJbMjNdLCBhclsyMl0pOwotICBibFsyM10gPSB2YWRk
cV9zMzIoYWxbMjNdLCBhbFsyMl0pOwotICBiclsyM10gPSB2YWRkcV9zMzIoYXJbMjNdLCBhclsy
Ml0pOwotICBibFsyNF0gPSB2YWRkcV9zMzIoYWxbMjRdLCBhbFsyNV0pOwotICBiclsyNF0gPSB2
YWRkcV9zMzIoYXJbMjRdLCBhclsyNV0pOwotICBibFsyNV0gPSB2c3VicV9zMzIoYWxbMjRdLCBh
bFsyNV0pOwotICBiclsyNV0gPSB2c3VicV9zMzIoYXJbMjRdLCBhclsyNV0pOwotICBibFsyNl0g
PSB2c3VicV9zMzIoYWxbMjddLCBhbFsyNl0pOwotICBiclsyNl0gPSB2c3VicV9zMzIoYXJbMjdd
LCBhclsyNl0pOwotICBibFsyN10gPSB2YWRkcV9zMzIoYWxbMjddLCBhbFsyNl0pOwotICBiclsy
N10gPSB2YWRkcV9zMzIoYXJbMjddLCBhclsyNl0pOwotICBibFsyOF0gPSB2YWRkcV9zMzIoYWxb
MjhdLCBhbFsyOV0pOwotICBiclsyOF0gPSB2YWRkcV9zMzIoYXJbMjhdLCBhclsyOV0pOwotICBi
bFsyOV0gPSB2c3VicV9zMzIoYWxbMjhdLCBhbFsyOV0pOwotICBiclsyOV0gPSB2c3VicV9zMzIo
YXJbMjhdLCBhclsyOV0pOwotICBibFszMF0gPSB2c3VicV9zMzIoYWxbMzFdLCBhbFszMF0pOwot
ICBiclszMF0gPSB2c3VicV9zMzIoYXJbMzFdLCBhclszMF0pOwotICBibFszMV0gPSB2YWRkcV9z
MzIoYWxbMzFdLCBhbFszMF0pOwotICBiclszMV0gPSB2YWRkcV9zMzIoYXJbMzFdLCBhclszMF0p
OwotCi0gIC8vIEZpbmFsIHN0YWdlLgotCi0gIGxlZnRbMF0gPSBibFswXTsKLSAgcmlnaHRbMF0g
PSBiclswXTsKLSAgbGVmdFsxNl0gPSBibFsxXTsKLSAgcmlnaHRbMTZdID0gYnJbMV07Ci0gIGxl
ZnRbOF0gPSBibFsyXTsKLSAgcmlnaHRbOF0gPSBiclsyXTsKLSAgbGVmdFsyNF0gPSBibFszXTsK
LSAgcmlnaHRbMjRdID0gYnJbM107Ci0gIGxlZnRbNF0gPSBibFs0XTsKLSAgcmlnaHRbNF0gPSBi
cls0XTsKLSAgbGVmdFsyMF0gPSBibFs1XTsKLSAgcmlnaHRbMjBdID0gYnJbNV07Ci0gIGxlZnRb
MTJdID0gYmxbNl07Ci0gIHJpZ2h0WzEyXSA9IGJyWzZdOwotICBsZWZ0WzI4XSA9IGJsWzddOwot
ICByaWdodFsyOF0gPSBicls3XTsKLSAgbGVmdFsyXSA9IGJsWzhdOwotICByaWdodFsyXSA9IGJy
WzhdOwotICBsZWZ0WzE4XSA9IGJsWzldOwotICByaWdodFsxOF0gPSBicls5XTsKLSAgbGVmdFsx
MF0gPSBibFsxMF07Ci0gIHJpZ2h0WzEwXSA9IGJyWzEwXTsKLSAgbGVmdFsyNl0gPSBibFsxMV07
Ci0gIHJpZ2h0WzI2XSA9IGJyWzExXTsKLSAgbGVmdFs2XSA9IGJsWzEyXTsKLSAgcmlnaHRbNl0g
PSBiclsxMl07Ci0gIGxlZnRbMjJdID0gYmxbMTNdOwotICByaWdodFsyMl0gPSBiclsxM107Ci0g
IGxlZnRbMTRdID0gYmxbMTRdOwotICByaWdodFsxNF0gPSBiclsxNF07Ci0gIGxlZnRbMzBdID0g
YmxbMTVdOwotICByaWdodFszMF0gPSBiclsxNV07Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9z
MzJfczY0X25hcnJvdyhibFszMV0sIGJyWzMxXSwgYmxbMTZdLCBiclsxNl0sIGNvc3BpXzFfNjQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMzFfNjQsICZhbFsx
XSwgJmFyWzFdLCAmYWxbMzFdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZhclszMV0pOwotICBsZWZ0WzFdID0gYWxbMV07Ci0gIHJpZ2h0WzFdID0gYXJbMV07Ci0gIGxl
ZnRbMzFdID0gYWxbMzFdOwotICByaWdodFszMV0gPSBhclszMV07Ci0KLSAgYnV0dGVyZmx5X3R3
b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFszMF0sIGJyWzMwXSwgYmxbMTddLCBiclsxN10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMTdfNjQsIGNvc3BpXzE1
XzY0LCAmYWxbMTddLCAmYXJbMTddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZhbFsxNV0sICZhclsxNV0pOwotICBsZWZ0WzE3XSA9IGFsWzE3XTsKLSAgcmlnaHRbMTdd
ID0gYXJbMTddOwotICBsZWZ0WzE1XSA9IGFsWzE1XTsKLSAgcmlnaHRbMTVdID0gYXJbMTVdOwot
Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYmxbMjldLCBiclsyOV0sIGJs
WzE4XSwgYnJbMThdLCBjb3NwaV85XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvc3BpXzIzXzY0LCAmYWxbOV0sICZhcls5XSwgJmFsWzIzXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJbMjNdKTsKLSAgbGVmdFs5XSA9IGFsWzldOwot
ICByaWdodFs5XSA9IGFyWzldOwotICBsZWZ0WzIzXSA9IGFsWzIzXTsKLSAgcmlnaHRbMjNdID0g
YXJbMjNdOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3coYmxbMjhdLCBi
clsyOF0sIGJsWzE5XSwgYnJbMTldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvc3BpXzI1XzY0LCBjb3NwaV83XzY0LCAmYWxbMjVdLCAmYXJbMjVdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbFs3XSwgJmFyWzddKTsKLSAgbGVmdFsyNV0g
PSBhbFsyNV07Ci0gIHJpZ2h0WzI1XSA9IGFyWzI1XTsKLSAgbGVmdFs3XSA9IGFsWzddOwotICBy
aWdodFs3XSA9IGFyWzddOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3co
YmxbMjddLCBiclsyN10sIGJsWzIwXSwgYnJbMjBdLCBjb3NwaV81XzY0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI3XzY0LCAmYWxbNV0sICZhcls1XSwgJmFs
WzI3XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJbMjddKTsKLSAg
bGVmdFs1XSA9IGFsWzVdOwotICByaWdodFs1XSA9IGFyWzVdOwotICBsZWZ0WzI3XSA9IGFsWzI3
XTsKLSAgcmlnaHRbMjddID0gYXJbMjddOwotCi0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2
NF9uYXJyb3coYmxbMjZdLCBiclsyNl0sIGJsWzIxXSwgYnJbMjFdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzIxXzY0LCBjb3NwaV8xMV82NCwgJmFsWzIxXSwg
JmFyWzIxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYWxbMTFdLCAm
YXJbMTFdKTsKLSAgbGVmdFsyMV0gPSBhbFsyMV07Ci0gIHJpZ2h0WzIxXSA9IGFyWzIxXTsKLSAg
bGVmdFsxMV0gPSBhbFsxMV07Ci0gIHJpZ2h0WzExXSA9IGFyWzExXTsKLQotICBidXR0ZXJmbHlf
dHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KGJsWzI1XSwgYnJbMjVdLCBibFsyMl0sIGJyWzIyXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8xM182NCwgY29zcGlf
MTlfNjQsICZhbFsxM10sICZhclsxM10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJmFsWzE5XSwgJmFyWzE5XSk7Ci0gIGxlZnRbMTNdID0gYWxbMTNdOwotICByaWdodFsx
M10gPSBhclsxM107Ci0gIGxlZnRbMTldID0gYWxbMTldOwotICByaWdodFsxOV0gPSBhclsxOV07
Ci0KLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdyhibFsyNF0sIGJyWzI0XSwg
YmxbMjNdLCBiclsyM10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29z
cGlfMjlfNjQsIGNvc3BpXzNfNjQsICZhbFsyOV0sICZhclsyOV0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJmFsWzNdLCAmYXJbM10pOwotICBsZWZ0WzI5XSA9IGFsWzI5
XTsKLSAgcmlnaHRbMjldID0gYXJbMjldOwotICBsZWZ0WzNdID0gYWxbM107Ci0gIHJpZ2h0WzNd
ID0gYXJbM107Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfZGN0OHgzMl9ib2R5X3Nl
Y29uZF9wYXNzX3JkKGludDMyeDRfdCAqbGVmdCAvKjMyKi8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKnJpZ2h0IC8qMzIq
LykgewotICBpbnQzMng0X3QgYWxbMzJdLCBhclszMl07Ci0gIGludDMyeDRfdCBibFszMl0sIGJy
WzMyXTsKLQotICAvLyBTdGFnZSAxOiBEb25lIGFzIHBhcnQgb2YgdGhlIGxvYWQuCi0KLSAgLy8g
U3RhZ2UgMi4KLSAgLy8gRm9yIHRoZSAicmQiIHZlcnNpb24sIGFsbCB0aGUgdmFsdWVzIGFyZSBy
b3VuZGVkIGRvd24gYWZ0ZXIgc3RhZ2UgMiB0byBrZWVwCi0gIC8vIHRoZSB2YWx1ZXMgaW4gMTYg
Yml0cy4KLSAgYWxbMF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZhZGRxX3MzMihsZWZ0WzBdLCBs
ZWZ0WzE1XSkpOwotICBhclswXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIodmFkZHFfczMyKHJpZ2h0
WzBdLCByaWdodFsxNV0pKTsKLSAgYWxbMV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZhZGRxX3Mz
MihsZWZ0WzFdLCBsZWZ0WzE0XSkpOwotICBhclsxXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIodmFk
ZHFfczMyKHJpZ2h0WzFdLCByaWdodFsxNF0pKTsKLSAgYWxbMl0gPSBhZGRfcm91bmRfc2hpZnRf
czMyKHZhZGRxX3MzMihsZWZ0WzJdLCBsZWZ0WzEzXSkpOwotICBhclsyXSA9IGFkZF9yb3VuZF9z
aGlmdF9zMzIodmFkZHFfczMyKHJpZ2h0WzJdLCByaWdodFsxM10pKTsKLSAgYWxbM10gPSBhZGRf
cm91bmRfc2hpZnRfczMyKHZhZGRxX3MzMihsZWZ0WzNdLCBsZWZ0WzEyXSkpOwotICBhclszXSA9
IGFkZF9yb3VuZF9zaGlmdF9zMzIodmFkZHFfczMyKHJpZ2h0WzNdLCByaWdodFsxMl0pKTsKLSAg
YWxbNF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZhZGRxX3MzMihsZWZ0WzRdLCBsZWZ0WzExXSkp
OwotICBhcls0XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIodmFkZHFfczMyKHJpZ2h0WzRdLCByaWdo
dFsxMV0pKTsKLSAgYWxbNV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZhZGRxX3MzMihsZWZ0WzVd
LCBsZWZ0WzEwXSkpOwotICBhcls1XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIodmFkZHFfczMyKHJp
Z2h0WzVdLCByaWdodFsxMF0pKTsKLSAgYWxbNl0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZhZGRx
X3MzMihsZWZ0WzZdLCBsZWZ0WzldKSk7Ci0gIGFyWzZdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMih2
YWRkcV9zMzIocmlnaHRbNl0sIHJpZ2h0WzldKSk7Ci0gIGFsWzddID0gYWRkX3JvdW5kX3NoaWZ0
X3MzMih2YWRkcV9zMzIobGVmdFs3XSwgbGVmdFs4XSkpOwotICBhcls3XSA9IGFkZF9yb3VuZF9z
aGlmdF9zMzIodmFkZHFfczMyKHJpZ2h0WzddLCByaWdodFs4XSkpOwotCi0gIGFsWzhdID0gYWRk
X3JvdW5kX3NoaWZ0X3MzMih2c3VicV9zMzIobGVmdFs3XSwgbGVmdFs4XSkpOwotICBhcls4XSA9
IGFkZF9yb3VuZF9zaGlmdF9zMzIodnN1YnFfczMyKHJpZ2h0WzddLCByaWdodFs4XSkpOwotICBh
bFs5XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIodnN1YnFfczMyKGxlZnRbNl0sIGxlZnRbOV0pKTsK
LSAgYXJbOV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZzdWJxX3MzMihyaWdodFs2XSwgcmlnaHRb
OV0pKTsKLSAgYWxbMTBdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMih2c3VicV9zMzIobGVmdFs1XSwg
bGVmdFsxMF0pKTsKLSAgYXJbMTBdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMih2c3VicV9zMzIocmln
aHRbNV0sIHJpZ2h0WzEwXSkpOwotICBhbFsxMV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZzdWJx
X3MzMihsZWZ0WzRdLCBsZWZ0WzExXSkpOwotICBhclsxMV0gPSBhZGRfcm91bmRfc2hpZnRfczMy
KHZzdWJxX3MzMihyaWdodFs0XSwgcmlnaHRbMTFdKSk7Ci0gIGFsWzEyXSA9IGFkZF9yb3VuZF9z
aGlmdF9zMzIodnN1YnFfczMyKGxlZnRbM10sIGxlZnRbMTJdKSk7Ci0gIGFyWzEyXSA9IGFkZF9y
b3VuZF9zaGlmdF9zMzIodnN1YnFfczMyKHJpZ2h0WzNdLCByaWdodFsxMl0pKTsKLSAgYWxbMTNd
ID0gYWRkX3JvdW5kX3NoaWZ0X3MzMih2c3VicV9zMzIobGVmdFsyXSwgbGVmdFsxM10pKTsKLSAg
YXJbMTNdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMih2c3VicV9zMzIocmlnaHRbMl0sIHJpZ2h0WzEz
XSkpOwotICBhbFsxNF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZzdWJxX3MzMihsZWZ0WzFdLCBs
ZWZ0WzE0XSkpOwotICBhclsxNF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHZzdWJxX3MzMihyaWdo
dFsxXSwgcmlnaHRbMTRdKSk7Ci0gIGFsWzE1XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIodnN1YnFf
czMyKGxlZnRbMF0sIGxlZnRbMTVdKSk7Ci0gIGFyWzE1XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIo
dnN1YnFfczMyKHJpZ2h0WzBdLCByaWdodFsxNV0pKTsKLQotICBhbFsxNl0gPSBhZGRfcm91bmRf
c2hpZnRfczMyKGxlZnRbMTZdKTsKLSAgYXJbMTZdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdo
dFsxNl0pOwotICBhbFsxN10gPSBhZGRfcm91bmRfc2hpZnRfczMyKGxlZnRbMTddKTsKLSAgYXJb
MTddID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsxN10pOwotICBhbFsxOF0gPSBhZGRfcm91
bmRfc2hpZnRfczMyKGxlZnRbMThdKTsKLSAgYXJbMThdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihy
aWdodFsxOF0pOwotICBhbFsxOV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGxlZnRbMTldKTsKLSAg
YXJbMTldID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihyaWdodFsxOV0pOwotCi0gIGJ1dHRlcmZseV9v
bmVfY29lZmZfczMyX2Zhc3QobGVmdFsyN10sIHJpZ2h0WzI3XSwgbGVmdFsyMF0sIHJpZ2h0WzIw
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8xNl82NCwgJmFsWzI3XSwg
JmFyWzI3XSwgJmFsWzIwXSwgJmFyWzIwXSk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX2Zh
c3QobGVmdFsyNl0sIHJpZ2h0WzI2XSwgbGVmdFsyMV0sIHJpZ2h0WzIxXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb3NwaV8xNl82NCwgJmFsWzI2XSwgJmFyWzI2XSwgJmFsWzIx
XSwgJmFyWzIxXSk7Ci0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX2Zhc3QobGVmdFsyNV0sIHJp
Z2h0WzI1XSwgbGVmdFsyMl0sIHJpZ2h0WzIyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb3NwaV8xNl82NCwgJmFsWzI1XSwgJmFyWzI1XSwgJmFsWzIyXSwgJmFyWzIyXSk7Ci0g
IGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX2Zhc3QobGVmdFsyNF0sIHJpZ2h0WzI0XSwgbGVmdFsy
M10sIHJpZ2h0WzIzXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8xNl82
NCwgJmFsWzI0XSwgJmFyWzI0XSwgJmFsWzIzXSwgJmFyWzIzXSk7Ci0KLSAgYWxbMjBdID0gYWRk
X3JvdW5kX3NoaWZ0X3MzMihhbFsyMF0pOwotICBhclsyMF0gPSBhZGRfcm91bmRfc2hpZnRfczMy
KGFyWzIwXSk7Ci0gIGFsWzIxXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIoYWxbMjFdKTsKLSAgYXJb
MjFdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihhclsyMV0pOwotICBhbFsyMl0gPSBhZGRfcm91bmRf
c2hpZnRfczMyKGFsWzIyXSk7Ci0gIGFyWzIyXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIoYXJbMjJd
KTsKLSAgYWxbMjNdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihhbFsyM10pOwotICBhclsyM10gPSBh
ZGRfcm91bmRfc2hpZnRfczMyKGFyWzIzXSk7Ci0gIGFsWzI0XSA9IGFkZF9yb3VuZF9zaGlmdF9z
MzIoYWxbMjRdKTsKLSAgYXJbMjRdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihhclsyNF0pOwotICBh
bFsyNV0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGFsWzI1XSk7Ci0gIGFyWzI1XSA9IGFkZF9yb3Vu
ZF9zaGlmdF9zMzIoYXJbMjVdKTsKLSAgYWxbMjZdID0gYWRkX3JvdW5kX3NoaWZ0X3MzMihhbFsy
Nl0pOwotICBhclsyNl0gPSBhZGRfcm91bmRfc2hpZnRfczMyKGFyWzI2XSk7Ci0gIGFsWzI3XSA9
IGFkZF9yb3VuZF9zaGlmdF9zMzIoYWxbMjddKTsKLSAgYXJbMjddID0gYWRkX3JvdW5kX3NoaWZ0
X3MzMihhclsyN10pOwotCi0gIGFsWzI4XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyOF0p
OwotICBhclsyOF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzI4XSk7Ci0gIGFsWzI5XSA9
IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsyOV0pOwotICBhclsyOV0gPSBhZGRfcm91bmRfc2hp
ZnRfczMyKHJpZ2h0WzI5XSk7Ci0gIGFsWzMwXSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFsz
MF0pOwotICBhclszMF0gPSBhZGRfcm91bmRfc2hpZnRfczMyKHJpZ2h0WzMwXSk7Ci0gIGFsWzMx
XSA9IGFkZF9yb3VuZF9zaGlmdF9zMzIobGVmdFszMV0pOwotICBhclszMV0gPSBhZGRfcm91bmRf
c2hpZnRfczMyKHJpZ2h0WzMxXSk7Ci0KLSAgLy8gU3RhZ2UgMy4KLSAgYmxbMF0gPSB2YWRkcV9z
MzIoYWxbMF0sIGFsWzddKTsKLSAgYnJbMF0gPSB2YWRkcV9zMzIoYXJbMF0sIGFyWzddKTsKLSAg
YmxbMV0gPSB2YWRkcV9zMzIoYWxbMV0sIGFsWzZdKTsKLSAgYnJbMV0gPSB2YWRkcV9zMzIoYXJb
MV0sIGFyWzZdKTsKLSAgYmxbMl0gPSB2YWRkcV9zMzIoYWxbMl0sIGFsWzVdKTsKLSAgYnJbMl0g
PSB2YWRkcV9zMzIoYXJbMl0sIGFyWzVdKTsKLSAgYmxbM10gPSB2YWRkcV9zMzIoYWxbM10sIGFs
WzRdKTsKLSAgYnJbM10gPSB2YWRkcV9zMzIoYXJbM10sIGFyWzRdKTsKLQotICBibFs0XSA9IHZz
dWJxX3MzMihhbFszXSwgYWxbNF0pOwotICBicls0XSA9IHZzdWJxX3MzMihhclszXSwgYXJbNF0p
OwotICBibFs1XSA9IHZzdWJxX3MzMihhbFsyXSwgYWxbNV0pOwotICBicls1XSA9IHZzdWJxX3Mz
MihhclsyXSwgYXJbNV0pOwotICBibFs2XSA9IHZzdWJxX3MzMihhbFsxXSwgYWxbNl0pOwotICBi
cls2XSA9IHZzdWJxX3MzMihhclsxXSwgYXJbNl0pOwotICBibFs3XSA9IHZzdWJxX3MzMihhbFsw
XSwgYWxbN10pOwotICBicls3XSA9IHZzdWJxX3MzMihhclswXSwgYXJbN10pOwotCi0gIGJsWzhd
ID0gYWxbOF07Ci0gIGJyWzhdID0gYXJbOF07Ci0gIGJsWzldID0gYWxbOV07Ci0gIGJyWzldID0g
YXJbOV07Ci0KLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdChhbFsxM10sIGFyWzEzXSwg
YWxbMTBdLCBhclsxMF0sIGNvc3BpXzE2XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZibFsxM10sICZiclsxM10sICZibFsxMF0sICZiclsxMF0pOwotICBidXR0ZXJmbHlfb25l
X2NvZWZmX3MzMl9mYXN0KGFsWzEyXSwgYXJbMTJdLCBhbFsxMV0sIGFyWzExXSwgY29zcGlfMTZf
NjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJsWzEyXSwgJmJyWzEyXSwgJmJs
WzExXSwgJmJyWzExXSk7Ci0KLSAgYmxbMTRdID0gYWxbMTRdOwotICBiclsxNF0gPSBhclsxNF07
Ci0gIGJsWzE1XSA9IGFsWzE1XTsKLSAgYnJbMTVdID0gYXJbMTVdOwotCi0gIGJsWzE2XSA9IHZh
ZGRxX3MzMihhbFsxNl0sIGFsWzIzXSk7Ci0gIGJyWzE2XSA9IHZhZGRxX3MzMihhclsxNl0sIGFy
WzIzXSk7Ci0gIGJsWzE3XSA9IHZhZGRxX3MzMihhbFsxN10sIGFsWzIyXSk7Ci0gIGJyWzE3XSA9
IHZhZGRxX3MzMihhclsxN10sIGFyWzIyXSk7Ci0gIGJsWzE4XSA9IHZhZGRxX3MzMihhbFsxOF0s
IGFsWzIxXSk7Ci0gIGJyWzE4XSA9IHZhZGRxX3MzMihhclsxOF0sIGFyWzIxXSk7Ci0gIGJsWzE5
XSA9IHZhZGRxX3MzMihhbFsxOV0sIGFsWzIwXSk7Ci0gIGJyWzE5XSA9IHZhZGRxX3MzMihhclsx
OV0sIGFyWzIwXSk7Ci0KLSAgYmxbMjBdID0gdnN1YnFfczMyKGFsWzE5XSwgYWxbMjBdKTsKLSAg
YnJbMjBdID0gdnN1YnFfczMyKGFyWzE5XSwgYXJbMjBdKTsKLSAgYmxbMjFdID0gdnN1YnFfczMy
KGFsWzE4XSwgYWxbMjFdKTsKLSAgYnJbMjFdID0gdnN1YnFfczMyKGFyWzE4XSwgYXJbMjFdKTsK
LSAgYmxbMjJdID0gdnN1YnFfczMyKGFsWzE3XSwgYWxbMjJdKTsKLSAgYnJbMjJdID0gdnN1YnFf
czMyKGFyWzE3XSwgYXJbMjJdKTsKLSAgYmxbMjNdID0gdnN1YnFfczMyKGFsWzE2XSwgYWxbMjNd
KTsKLSAgYnJbMjNdID0gdnN1YnFfczMyKGFyWzE2XSwgYXJbMjNdKTsKLQotICBibFsyNF0gPSB2
c3VicV9zMzIoYWxbMzFdLCBhbFsyNF0pOwotICBiclsyNF0gPSB2c3VicV9zMzIoYXJbMzFdLCBh
clsyNF0pOwotICBibFsyNV0gPSB2c3VicV9zMzIoYWxbMzBdLCBhbFsyNV0pOwotICBiclsyNV0g
PSB2c3VicV9zMzIoYXJbMzBdLCBhclsyNV0pOwotICBibFsyNl0gPSB2c3VicV9zMzIoYWxbMjld
LCBhbFsyNl0pOwotICBiclsyNl0gPSB2c3VicV9zMzIoYXJbMjldLCBhclsyNl0pOwotICBibFsy
N10gPSB2c3VicV9zMzIoYWxbMjhdLCBhbFsyN10pOwotICBiclsyN10gPSB2c3VicV9zMzIoYXJb
MjhdLCBhclsyN10pOwotCi0gIGJsWzI4XSA9IHZhZGRxX3MzMihhbFsyOF0sIGFsWzI3XSk7Ci0g
IGJyWzI4XSA9IHZhZGRxX3MzMihhclsyOF0sIGFyWzI3XSk7Ci0gIGJsWzI5XSA9IHZhZGRxX3Mz
MihhbFsyOV0sIGFsWzI2XSk7Ci0gIGJyWzI5XSA9IHZhZGRxX3MzMihhclsyOV0sIGFyWzI2XSk7
Ci0gIGJsWzMwXSA9IHZhZGRxX3MzMihhbFszMF0sIGFsWzI1XSk7Ci0gIGJyWzMwXSA9IHZhZGRx
X3MzMihhclszMF0sIGFyWzI1XSk7Ci0gIGJsWzMxXSA9IHZhZGRxX3MzMihhbFszMV0sIGFsWzI0
XSk7Ci0gIGJyWzMxXSA9IHZhZGRxX3MzMihhclszMV0sIGFyWzI0XSk7Ci0KLSAgLy8gU3RhZ2Ug
NC4KLSAgYWxbMF0gPSB2YWRkcV9zMzIoYmxbMF0sIGJsWzNdKTsKLSAgYXJbMF0gPSB2YWRkcV9z
MzIoYnJbMF0sIGJyWzNdKTsKLSAgYWxbMV0gPSB2YWRkcV9zMzIoYmxbMV0sIGJsWzJdKTsKLSAg
YXJbMV0gPSB2YWRkcV9zMzIoYnJbMV0sIGJyWzJdKTsKLSAgYWxbMl0gPSB2c3VicV9zMzIoYmxb
MV0sIGJsWzJdKTsKLSAgYXJbMl0gPSB2c3VicV9zMzIoYnJbMV0sIGJyWzJdKTsKLSAgYWxbM10g
PSB2c3VicV9zMzIoYmxbMF0sIGJsWzNdKTsKLSAgYXJbM10gPSB2c3VicV9zMzIoYnJbMF0sIGJy
WzNdKTsKLQotICBhbFs0XSA9IGJsWzRdOwotICBhcls0XSA9IGJyWzRdOwotCi0gIGJ1dHRlcmZs
eV9vbmVfY29lZmZfczMyX2Zhc3QoYmxbNl0sIGJyWzZdLCBibFs1XSwgYnJbNV0sIGNvc3BpXzE2
XzY0LCAmYWxbNl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyWzZdLCAmYWxb
NV0sICZhcls1XSk7Ci0KLSAgYWxbN10gPSBibFs3XTsKLSAgYXJbN10gPSBicls3XTsKLQotICBh
bFs4XSA9IHZhZGRxX3MzMihibFs4XSwgYmxbMTFdKTsKLSAgYXJbOF0gPSB2YWRkcV9zMzIoYnJb
OF0sIGJyWzExXSk7Ci0gIGFsWzldID0gdmFkZHFfczMyKGJsWzldLCBibFsxMF0pOwotICBhcls5
XSA9IHZhZGRxX3MzMihicls5XSwgYnJbMTBdKTsKLSAgYWxbMTBdID0gdnN1YnFfczMyKGJsWzld
LCBibFsxMF0pOwotICBhclsxMF0gPSB2c3VicV9zMzIoYnJbOV0sIGJyWzEwXSk7Ci0gIGFsWzEx
XSA9IHZzdWJxX3MzMihibFs4XSwgYmxbMTFdKTsKLSAgYXJbMTFdID0gdnN1YnFfczMyKGJyWzhd
LCBiclsxMV0pOwotICBhbFsxMl0gPSB2c3VicV9zMzIoYmxbMTVdLCBibFsxMl0pOwotICBhclsx
Ml0gPSB2c3VicV9zMzIoYnJbMTVdLCBiclsxMl0pOwotICBhbFsxM10gPSB2c3VicV9zMzIoYmxb
MTRdLCBibFsxM10pOwotICBhclsxM10gPSB2c3VicV9zMzIoYnJbMTRdLCBiclsxM10pOwotICBh
bFsxNF0gPSB2YWRkcV9zMzIoYmxbMTRdLCBibFsxM10pOwotICBhclsxNF0gPSB2YWRkcV9zMzIo
YnJbMTRdLCBiclsxM10pOwotICBhbFsxNV0gPSB2YWRkcV9zMzIoYmxbMTVdLCBibFsxMl0pOwot
ICBhclsxNV0gPSB2YWRkcV9zMzIoYnJbMTVdLCBiclsxMl0pOwotCi0gIGFsWzE2XSA9IGJsWzE2
XTsKLSAgYXJbMTZdID0gYnJbMTZdOwotICBhbFsxN10gPSBibFsxN107Ci0gIGFyWzE3XSA9IGJy
WzE3XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihibFsyOV0sIGJyWzI5XSwgYmxbMThd
LCBiclsxOF0sIGNvc3BpXzhfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI0
XzY0LCAmYWxbMjldLCAmYXJbMjldLCAmYWxbMThdLCAmYXJbMThdKTsKLSAgYnV0dGVyZmx5X3R3
b19jb2VmZl9zMzIoYmxbMjhdLCBiclsyOF0sIGJsWzE5XSwgYnJbMTldLCBjb3NwaV84XzY0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8yNF82NCwgJmFsWzI4XSwgJmFyWzI4XSwg
JmFsWzE5XSwgJmFyWzE5XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyKGJsWzI3XSwgYnJb
MjddLCBibFsyMF0sIGJyWzIwXSwgY29zcGlfMjRfNjQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIC1jb3NwaV84XzY0LCAmYWxbMjddLCAmYXJbMjddLCAmYWxbMjBdLCAmYXJbMjBdKTsKLSAg
YnV0dGVyZmx5X3R3b19jb2VmZl9zMzIoYmxbMjZdLCBiclsyNl0sIGJsWzIxXSwgYnJbMjFdLCBj
b3NwaV8yNF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgLWNvc3BpXzhfNjQsICZhbFsy
Nl0sICZhclsyNl0sICZhbFsyMV0sICZhclsyMV0pOwotCi0gIGFsWzIyXSA9IGJsWzIyXTsKLSAg
YXJbMjJdID0gYnJbMjJdOwotICBhbFsyM10gPSBibFsyM107Ci0gIGFyWzIzXSA9IGJyWzIzXTsK
LSAgYWxbMjRdID0gYmxbMjRdOwotICBhclsyNF0gPSBiclsyNF07Ci0gIGFsWzI1XSA9IGJsWzI1
XTsKLSAgYXJbMjVdID0gYnJbMjVdOwotCi0gIGFsWzMwXSA9IGJsWzMwXTsKLSAgYXJbMzBdID0g
YnJbMzBdOwotICBhbFszMV0gPSBibFszMV07Ci0gIGFyWzMxXSA9IGJyWzMxXTsKLQotICAvLyBT
dGFnZSA1LgotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MzMl9mYXN0KGFsWzBdLCBhclswXSwgYWxb
MV0sIGFyWzFdLCBjb3NwaV8xNl82NCwgJmJsWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZiclswXSwgJmJsWzFdLCAmYnJbMV0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3Mz
MihhbFszXSwgYXJbM10sIGFsWzJdLCBhclsyXSwgY29zcGlfOF82NCwgY29zcGlfMjRfNjQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICZibFsyXSwgJmJyWzJdLCAmYmxbM10sICZiclszXSk7
Ci0KLSAgYmxbNF0gPSB2YWRkcV9zMzIoYWxbNF0sIGFsWzVdKTsKLSAgYnJbNF0gPSB2YWRkcV9z
MzIoYXJbNF0sIGFyWzVdKTsKLSAgYmxbNV0gPSB2c3VicV9zMzIoYWxbNF0sIGFsWzVdKTsKLSAg
YnJbNV0gPSB2c3VicV9zMzIoYXJbNF0sIGFyWzVdKTsKLSAgYmxbNl0gPSB2c3VicV9zMzIoYWxb
N10sIGFsWzZdKTsKLSAgYnJbNl0gPSB2c3VicV9zMzIoYXJbN10sIGFyWzZdKTsKLSAgYmxbN10g
PSB2YWRkcV9zMzIoYWxbN10sIGFsWzZdKTsKLSAgYnJbN10gPSB2YWRkcV9zMzIoYXJbN10sIGFy
WzZdKTsKLQotICBibFs4XSA9IGFsWzhdOwotICBicls4XSA9IGFyWzhdOwotCi0gIGJ1dHRlcmZs
eV90d29fY29lZmZfczMyKGFsWzE0XSwgYXJbMTRdLCBhbFs5XSwgYXJbOV0sIGNvc3BpXzhfNjQs
IGNvc3BpXzI0XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAmYmxbMTRdLCAmYnJbMTRd
LCAmYmxbOV0sICZicls5XSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyKGFsWzEzXSwgYXJb
MTNdLCBhbFsxMF0sIGFyWzEwXSwgY29zcGlfMjRfNjQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIC1jb3NwaV84XzY0LCAmYmxbMTNdLCAmYnJbMTNdLCAmYmxbMTBdLCAmYnJbMTBdKTsKLQot
ICBibFsxMV0gPSBhbFsxMV07Ci0gIGJyWzExXSA9IGFyWzExXTsKLSAgYmxbMTJdID0gYWxbMTJd
OwotICBiclsxMl0gPSBhclsxMl07Ci0KLSAgYmxbMTVdID0gYWxbMTVdOwotICBiclsxNV0gPSBh
clsxNV07Ci0KLSAgYmxbMTZdID0gdmFkZHFfczMyKGFsWzE5XSwgYWxbMTZdKTsKLSAgYnJbMTZd
ID0gdmFkZHFfczMyKGFyWzE5XSwgYXJbMTZdKTsKLSAgYmxbMTddID0gdmFkZHFfczMyKGFsWzE4
XSwgYWxbMTddKTsKLSAgYnJbMTddID0gdmFkZHFfczMyKGFyWzE4XSwgYXJbMTddKTsKLSAgYmxb
MThdID0gdnN1YnFfczMyKGFsWzE3XSwgYWxbMThdKTsKLSAgYnJbMThdID0gdnN1YnFfczMyKGFy
WzE3XSwgYXJbMThdKTsKLSAgYmxbMTldID0gdnN1YnFfczMyKGFsWzE2XSwgYWxbMTldKTsKLSAg
YnJbMTldID0gdnN1YnFfczMyKGFyWzE2XSwgYXJbMTldKTsKLSAgYmxbMjBdID0gdnN1YnFfczMy
KGFsWzIzXSwgYWxbMjBdKTsKLSAgYnJbMjBdID0gdnN1YnFfczMyKGFyWzIzXSwgYXJbMjBdKTsK
LSAgYmxbMjFdID0gdnN1YnFfczMyKGFsWzIyXSwgYWxbMjFdKTsKLSAgYnJbMjFdID0gdnN1YnFf
czMyKGFyWzIyXSwgYXJbMjFdKTsKLSAgYmxbMjJdID0gdmFkZHFfczMyKGFsWzIxXSwgYWxbMjJd
KTsKLSAgYnJbMjJdID0gdmFkZHFfczMyKGFyWzIxXSwgYXJbMjJdKTsKLSAgYmxbMjNdID0gdmFk
ZHFfczMyKGFsWzIwXSwgYWxbMjNdKTsKLSAgYnJbMjNdID0gdmFkZHFfczMyKGFyWzIwXSwgYXJb
MjNdKTsKLSAgYmxbMjRdID0gdmFkZHFfczMyKGFsWzI3XSwgYWxbMjRdKTsKLSAgYnJbMjRdID0g
dmFkZHFfczMyKGFyWzI3XSwgYXJbMjRdKTsKLSAgYmxbMjVdID0gdmFkZHFfczMyKGFsWzI2XSwg
YWxbMjVdKTsKLSAgYnJbMjVdID0gdmFkZHFfczMyKGFyWzI2XSwgYXJbMjVdKTsKLSAgYmxbMjZd
ID0gdnN1YnFfczMyKGFsWzI1XSwgYWxbMjZdKTsKLSAgYnJbMjZdID0gdnN1YnFfczMyKGFyWzI1
XSwgYXJbMjZdKTsKLSAgYmxbMjddID0gdnN1YnFfczMyKGFsWzI0XSwgYWxbMjddKTsKLSAgYnJb
MjddID0gdnN1YnFfczMyKGFyWzI0XSwgYXJbMjddKTsKLSAgYmxbMjhdID0gdnN1YnFfczMyKGFs
WzMxXSwgYWxbMjhdKTsKLSAgYnJbMjhdID0gdnN1YnFfczMyKGFyWzMxXSwgYXJbMjhdKTsKLSAg
YmxbMjldID0gdnN1YnFfczMyKGFsWzMwXSwgYWxbMjldKTsKLSAgYnJbMjldID0gdnN1YnFfczMy
KGFyWzMwXSwgYXJbMjldKTsKLSAgYmxbMzBdID0gdmFkZHFfczMyKGFsWzI5XSwgYWxbMzBdKTsK
LSAgYnJbMzBdID0gdmFkZHFfczMyKGFyWzI5XSwgYXJbMzBdKTsKLSAgYmxbMzFdID0gdmFkZHFf
czMyKGFsWzI4XSwgYWxbMzFdKTsKLSAgYnJbMzFdID0gdmFkZHFfczMyKGFyWzI4XSwgYXJbMzFd
KTsKLQotICAvLyBTdGFnZSA2LgotICBhbFswXSA9IGJsWzBdOwotICBhclswXSA9IGJyWzBdOwot
ICBhbFsxXSA9IGJsWzFdOwotICBhclsxXSA9IGJyWzFdOwotICBhbFsyXSA9IGJsWzJdOwotICBh
clsyXSA9IGJyWzJdOwotICBhbFszXSA9IGJsWzNdOwotICBhclszXSA9IGJyWzNdOwotCi0gIGJ1
dHRlcmZseV90d29fY29lZmZfczMyKGJsWzddLCBicls3XSwgYmxbNF0sIGJyWzRdLCBjb3NwaV80
XzY0LCBjb3NwaV8yOF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmFsWzRdLCAmYXJb
NF0sICZhbFs3XSwgJmFyWzddKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzIoYmxbNl0sIGJy
WzZdLCBibFs1XSwgYnJbNV0sIGNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmFsWzVdLCAmYXJbNV0sICZhbFs2XSwgJmFyWzZdKTsKLQotICBhbFs4
XSA9IHZhZGRxX3MzMihibFs4XSwgYmxbOV0pOwotICBhcls4XSA9IHZhZGRxX3MzMihicls4XSwg
YnJbOV0pOwotICBhbFs5XSA9IHZzdWJxX3MzMihibFs4XSwgYmxbOV0pOwotICBhcls5XSA9IHZz
dWJxX3MzMihicls4XSwgYnJbOV0pOwotICBhbFsxMF0gPSB2c3VicV9zMzIoYmxbMTFdLCBibFsx
MF0pOwotICBhclsxMF0gPSB2c3VicV9zMzIoYnJbMTFdLCBiclsxMF0pOwotICBhbFsxMV0gPSB2
YWRkcV9zMzIoYmxbMTFdLCBibFsxMF0pOwotICBhclsxMV0gPSB2YWRkcV9zMzIoYnJbMTFdLCBi
clsxMF0pOwotICBhbFsxMl0gPSB2YWRkcV9zMzIoYmxbMTJdLCBibFsxM10pOwotICBhclsxMl0g
PSB2YWRkcV9zMzIoYnJbMTJdLCBiclsxM10pOwotICBhbFsxM10gPSB2c3VicV9zMzIoYmxbMTJd
LCBibFsxM10pOwotICBhclsxM10gPSB2c3VicV9zMzIoYnJbMTJdLCBiclsxM10pOwotICBhbFsx
NF0gPSB2c3VicV9zMzIoYmxbMTVdLCBibFsxNF0pOwotICBhclsxNF0gPSB2c3VicV9zMzIoYnJb
MTVdLCBiclsxNF0pOwotICBhbFsxNV0gPSB2YWRkcV9zMzIoYmxbMTVdLCBibFsxNF0pOwotICBh
clsxNV0gPSB2YWRkcV9zMzIoYnJbMTVdLCBiclsxNF0pOwotCi0gIGFsWzE2XSA9IGJsWzE2XTsK
LSAgYXJbMTZdID0gYnJbMTZdOwotICBhbFsxOV0gPSBibFsxOV07Ci0gIGFyWzE5XSA9IGJyWzE5
XTsKLSAgYWxbMjBdID0gYmxbMjBdOwotICBhclsyMF0gPSBiclsyMF07Ci0gIGFsWzIzXSA9IGJs
WzIzXTsKLSAgYXJbMjNdID0gYnJbMjNdOwotICBhbFsyNF0gPSBibFsyNF07Ci0gIGFyWzI0XSA9
IGJyWzI0XTsKLSAgYWxbMjddID0gYmxbMjddOwotICBhclsyN10gPSBiclsyN107Ci0gIGFsWzI4
XSA9IGJsWzI4XTsKLSAgYXJbMjhdID0gYnJbMjhdOwotICBhbFszMV0gPSBibFszMV07Ci0gIGFy
WzMxXSA9IGJyWzMxXTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihibFszMF0sIGJyWzMw
XSwgYmxbMTddLCBiclsxN10sIGNvc3BpXzRfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGNvc3BpXzI4XzY0LCAmYWxbMzBdLCAmYXJbMzBdLCAmYWxbMTddLCAmYXJbMTddKTsKLSAgYnV0
dGVyZmx5X3R3b19jb2VmZl9zMzIoYmxbMjldLCBiclsyOV0sIGJsWzE4XSwgYnJbMThdLCBjb3Nw
aV8yOF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgLWNvc3BpXzRfNjQsICZhbFsyOV0s
ICZhclsyOV0sICZhbFsxOF0sICZhclsxOF0pOwotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihi
bFsyNl0sIGJyWzI2XSwgYmxbMjFdLCBiclsyMV0sIGNvc3BpXzIwXzY0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb3NwaV8xMl82NCwgJmFsWzI2XSwgJmFyWzI2XSwgJmFsWzIxXSwgJmFy
WzIxXSk7Ci0gIGJ1dHRlcmZseV90d29fY29lZmZfczMyKGJsWzI1XSwgYnJbMjVdLCBibFsyMl0s
IGJyWzIyXSwgY29zcGlfMTJfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIC1jb3NwaV8y
MF82NCwgJmFsWzI1XSwgJmFyWzI1XSwgJmFsWzIyXSwgJmFyWzIyXSk7Ci0KLSAgLy8gU3RhZ2Ug
Ny4KLSAgYmxbMF0gPSBhbFswXTsKLSAgYnJbMF0gPSBhclswXTsKLSAgYmxbMV0gPSBhbFsxXTsK
LSAgYnJbMV0gPSBhclsxXTsKLSAgYmxbMl0gPSBhbFsyXTsKLSAgYnJbMl0gPSBhclsyXTsKLSAg
YmxbM10gPSBhbFszXTsKLSAgYnJbM10gPSBhclszXTsKLSAgYmxbNF0gPSBhbFs0XTsKLSAgYnJb
NF0gPSBhcls0XTsKLSAgYmxbNV0gPSBhbFs1XTsKLSAgYnJbNV0gPSBhcls1XTsKLSAgYmxbNl0g
PSBhbFs2XTsKLSAgYnJbNl0gPSBhcls2XTsKLSAgYmxbN10gPSBhbFs3XTsKLSAgYnJbN10gPSBh
cls3XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihhbFsxNV0sIGFyWzE1XSwgYWxbOF0s
IGFyWzhdLCBjb3NwaV8yXzY0LCBjb3NwaV8zMF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmJsWzhdLCAmYnJbOF0sICZibFsxNV0sICZiclsxNV0pOwotICBidXR0ZXJmbHlfdHdvX2Nv
ZWZmX3MzMihhbFsxNF0sIGFyWzE0XSwgYWxbOV0sIGFyWzldLCBjb3NwaV8xOF82NCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29zcGlfMTRfNjQsICZibFs5XSwgJmJyWzldLCAmYmxbMTRd
LCAmYnJbMTRdKTsKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzIoYWxbMTNdLCBhclsxM10sIGFs
WzEwXSwgYXJbMTBdLCBjb3NwaV8xMF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29z
cGlfMjJfNjQsICZibFsxMF0sICZiclsxMF0sICZibFsxM10sICZiclsxM10pOwotICBidXR0ZXJm
bHlfdHdvX2NvZWZmX3MzMihhbFsxMl0sIGFyWzEyXSwgYWxbMTFdLCBhclsxMV0sIGNvc3BpXzI2
XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV82XzY0LCAmYmxbMTFdLCAmYnJb
MTFdLCAmYmxbMTJdLCAmYnJbMTJdKTsKLQotICBibFsxNl0gPSB2YWRkcV9zMzIoYWxbMTZdLCBh
bFsxN10pOwotICBiclsxNl0gPSB2YWRkcV9zMzIoYXJbMTZdLCBhclsxN10pOwotICBibFsxN10g
PSB2c3VicV9zMzIoYWxbMTZdLCBhbFsxN10pOwotICBiclsxN10gPSB2c3VicV9zMzIoYXJbMTZd
LCBhclsxN10pOwotICBibFsxOF0gPSB2c3VicV9zMzIoYWxbMTldLCBhbFsxOF0pOwotICBiclsx
OF0gPSB2c3VicV9zMzIoYXJbMTldLCBhclsxOF0pOwotICBibFsxOV0gPSB2YWRkcV9zMzIoYWxb
MTldLCBhbFsxOF0pOwotICBiclsxOV0gPSB2YWRkcV9zMzIoYXJbMTldLCBhclsxOF0pOwotICBi
bFsyMF0gPSB2YWRkcV9zMzIoYWxbMjBdLCBhbFsyMV0pOwotICBiclsyMF0gPSB2YWRkcV9zMzIo
YXJbMjBdLCBhclsyMV0pOwotICBibFsyMV0gPSB2c3VicV9zMzIoYWxbMjBdLCBhbFsyMV0pOwot
ICBiclsyMV0gPSB2c3VicV9zMzIoYXJbMjBdLCBhclsyMV0pOwotICBibFsyMl0gPSB2c3VicV9z
MzIoYWxbMjNdLCBhbFsyMl0pOwotICBiclsyMl0gPSB2c3VicV9zMzIoYXJbMjNdLCBhclsyMl0p
OwotICBibFsyM10gPSB2YWRkcV9zMzIoYWxbMjNdLCBhbFsyMl0pOwotICBiclsyM10gPSB2YWRk
cV9zMzIoYXJbMjNdLCBhclsyMl0pOwotICBibFsyNF0gPSB2YWRkcV9zMzIoYWxbMjRdLCBhbFsy
NV0pOwotICBiclsyNF0gPSB2YWRkcV9zMzIoYXJbMjRdLCBhclsyNV0pOwotICBibFsyNV0gPSB2
c3VicV9zMzIoYWxbMjRdLCBhbFsyNV0pOwotICBiclsyNV0gPSB2c3VicV9zMzIoYXJbMjRdLCBh
clsyNV0pOwotICBibFsyNl0gPSB2c3VicV9zMzIoYWxbMjddLCBhbFsyNl0pOwotICBiclsyNl0g
PSB2c3VicV9zMzIoYXJbMjddLCBhclsyNl0pOwotICBibFsyN10gPSB2YWRkcV9zMzIoYWxbMjdd
LCBhbFsyNl0pOwotICBiclsyN10gPSB2YWRkcV9zMzIoYXJbMjddLCBhclsyNl0pOwotICBibFsy
OF0gPSB2YWRkcV9zMzIoYWxbMjhdLCBhbFsyOV0pOwotICBiclsyOF0gPSB2YWRkcV9zMzIoYXJb
MjhdLCBhclsyOV0pOwotICBibFsyOV0gPSB2c3VicV9zMzIoYWxbMjhdLCBhbFsyOV0pOwotICBi
clsyOV0gPSB2c3VicV9zMzIoYXJbMjhdLCBhclsyOV0pOwotICBibFszMF0gPSB2c3VicV9zMzIo
YWxbMzFdLCBhbFszMF0pOwotICBiclszMF0gPSB2c3VicV9zMzIoYXJbMzFdLCBhclszMF0pOwot
ICBibFszMV0gPSB2YWRkcV9zMzIoYWxbMzFdLCBhbFszMF0pOwotICBiclszMV0gPSB2YWRkcV9z
MzIoYXJbMzFdLCBhclszMF0pOwotCi0gIC8vIEZpbmFsIHN0YWdlLgotICBsZWZ0WzBdID0gYmxb
MF07Ci0gIHJpZ2h0WzBdID0gYnJbMF07Ci0gIGxlZnRbMTZdID0gYmxbMV07Ci0gIHJpZ2h0WzE2
XSA9IGJyWzFdOwotICBsZWZ0WzhdID0gYmxbMl07Ci0gIHJpZ2h0WzhdID0gYnJbMl07Ci0gIGxl
ZnRbMjRdID0gYmxbM107Ci0gIHJpZ2h0WzI0XSA9IGJyWzNdOwotICBsZWZ0WzRdID0gYmxbNF07
Ci0gIHJpZ2h0WzRdID0gYnJbNF07Ci0gIGxlZnRbMjBdID0gYmxbNV07Ci0gIHJpZ2h0WzIwXSA9
IGJyWzVdOwotICBsZWZ0WzEyXSA9IGJsWzZdOwotICByaWdodFsxMl0gPSBicls2XTsKLSAgbGVm
dFsyOF0gPSBibFs3XTsKLSAgcmlnaHRbMjhdID0gYnJbN107Ci0gIGxlZnRbMl0gPSBibFs4XTsK
LSAgcmlnaHRbMl0gPSBicls4XTsKLSAgbGVmdFsxOF0gPSBibFs5XTsKLSAgcmlnaHRbMThdID0g
YnJbOV07Ci0gIGxlZnRbMTBdID0gYmxbMTBdOwotICByaWdodFsxMF0gPSBiclsxMF07Ci0gIGxl
ZnRbMjZdID0gYmxbMTFdOwotICByaWdodFsyNl0gPSBiclsxMV07Ci0gIGxlZnRbNl0gPSBibFsx
Ml07Ci0gIHJpZ2h0WzZdID0gYnJbMTJdOwotICBsZWZ0WzIyXSA9IGJsWzEzXTsKLSAgcmlnaHRb
MjJdID0gYnJbMTNdOwotICBsZWZ0WzE0XSA9IGJsWzE0XTsKLSAgcmlnaHRbMTRdID0gYnJbMTRd
OwotICBsZWZ0WzMwXSA9IGJsWzE1XTsKLSAgcmlnaHRbMzBdID0gYnJbMTVdOwotCi0gIGJ1dHRl
cmZseV90d29fY29lZmZfczMyKGJsWzMxXSwgYnJbMzFdLCBibFsxNl0sIGJyWzE2XSwgY29zcGlf
MV82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMzFfNjQsICZhbFsxXSwgJmFy
WzFdLCAmYWxbMzFdLCAmYXJbMzFdKTsKLSAgbGVmdFsxXSA9IGFsWzFdOwotICByaWdodFsxXSA9
IGFyWzFdOwotICBsZWZ0WzMxXSA9IGFsWzMxXTsKLSAgcmlnaHRbMzFdID0gYXJbMzFdOwotCi0g
IGJ1dHRlcmZseV90d29fY29lZmZfczMyKGJsWzMwXSwgYnJbMzBdLCBibFsxN10sIGJyWzE3XSwg
Y29zcGlfMTdfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzE1XzY0LCAmYWxb
MTddLCAmYXJbMTddLCAmYWxbMTVdLCAmYXJbMTVdKTsKLSAgbGVmdFsxN10gPSBhbFsxN107Ci0g
IHJpZ2h0WzE3XSA9IGFyWzE3XTsKLSAgbGVmdFsxNV0gPSBhbFsxNV07Ci0gIHJpZ2h0WzE1XSA9
IGFyWzE1XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihibFsyOV0sIGJyWzI5XSwgYmxb
MThdLCBiclsxOF0sIGNvc3BpXzlfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3Bp
XzIzXzY0LCAmYWxbOV0sICZhcls5XSwgJmFsWzIzXSwgJmFyWzIzXSk7Ci0gIGxlZnRbOV0gPSBh
bFs5XTsKLSAgcmlnaHRbOV0gPSBhcls5XTsKLSAgbGVmdFsyM10gPSBhbFsyM107Ci0gIHJpZ2h0
WzIzXSA9IGFyWzIzXTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihibFsyOF0sIGJyWzI4
XSwgYmxbMTldLCBiclsxOV0sIGNvc3BpXzI1XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb3NwaV83XzY0LCAmYWxbMjVdLCAmYXJbMjVdLCAmYWxbN10sICZhcls3XSk7Ci0gIGxlZnRb
MjVdID0gYWxbMjVdOwotICByaWdodFsyNV0gPSBhclsyNV07Ci0gIGxlZnRbN10gPSBhbFs3XTsK
LSAgcmlnaHRbN10gPSBhcls3XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihibFsyN10s
IGJyWzI3XSwgYmxbMjBdLCBiclsyMF0sIGNvc3BpXzVfNjQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvc3BpXzI3XzY0LCAmYWxbNV0sICZhcls1XSwgJmFsWzI3XSwgJmFyWzI3XSk7Ci0g
IGxlZnRbNV0gPSBhbFs1XTsKLSAgcmlnaHRbNV0gPSBhcls1XTsKLSAgbGVmdFsyN10gPSBhbFsy
N107Ci0gIHJpZ2h0WzI3XSA9IGFyWzI3XTsKLQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMihi
bFsyNl0sIGJyWzI2XSwgYmxbMjFdLCBiclsyMV0sIGNvc3BpXzIxXzY0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb3NwaV8xMV82NCwgJmFsWzIxXSwgJmFyWzIxXSwgJmFsWzExXSwgJmFy
WzExXSk7Ci0gIGxlZnRbMjFdID0gYWxbMjFdOwotICByaWdodFsyMV0gPSBhclsyMV07Ci0gIGxl
ZnRbMTFdID0gYWxbMTFdOwotICByaWdodFsxMV0gPSBhclsxMV07Ci0KLSAgYnV0dGVyZmx5X3R3
b19jb2VmZl9zMzIoYmxbMjVdLCBiclsyNV0sIGJsWzIyXSwgYnJbMjJdLCBjb3NwaV8xM182NCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgY29zcGlfMTlfNjQsICZhbFsxM10sICZhclsxM10s
ICZhbFsxOV0sICZhclsxOV0pOwotICBsZWZ0WzEzXSA9IGFsWzEzXTsKLSAgcmlnaHRbMTNdID0g
YXJbMTNdOwotICBsZWZ0WzE5XSA9IGFsWzE5XTsKLSAgcmlnaHRbMTldID0gYXJbMTldOwotCi0g
IGJ1dHRlcmZseV90d29fY29lZmZfczMyKGJsWzI0XSwgYnJbMjRdLCBibFsyM10sIGJyWzIzXSwg
Y29zcGlfMjlfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzNfNjQsICZhbFsy
OV0sICZhclsyOV0sICZhbFszXSwgJmFyWzNdKTsKLSAgbGVmdFsyOV0gPSBhbFsyOV07Ci0gIHJp
Z2h0WzI5XSA9IGFyWzI5XTsKLSAgbGVmdFszXSA9IGFsWzNdOwotICByaWdodFszXSA9IGFyWzNd
OwotfQotCi0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0KLSNlbmRpZiAgLy8g
VlBYX1ZQWF9EU1BfQVJNX0ZEQ1QzMlgzMl9ORU9OX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvYXJtL2ZkY3Q0eDRfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0
NHg0X25lb24uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJjOTY4ZWNiYWYwLi4w
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0NHg0X25lb24uYwor
KysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDE3
IFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAg
VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z
ZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qg
b2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3Bl
cnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAg
QWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhl
IEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2lu
Y2x1ZGUgPGFybV9uZW9uLmg+Ci0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRl
ICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9kc3AvdHhmbV9jb21tb24uaCIKLSNp
bmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0v
aWRjdF9uZW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0vZmRjdF9uZW9uLmgiCi0jaW5jbHVk
ZSAidnB4X2RzcC9hcm0vbWVtX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS90cmFuc3Bv
c2VfbmVvbi5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL2ZkY3Q0eDRfbmVvbi5oIgotCi12b2lk
IHZweF9mZGN0NHg0X25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKmZpbmFs
X291dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKSB7Ci0gIC8vIGlucHV0
W00gKiBzdHJpZGVdICogMTYKLSAgaW50MTZ4NF90IGluWzRdOwotICBpblswXSA9IHZzaGxfbl9z
MTYodmxkMV9zMTYoaW5wdXQgKyAwICogc3RyaWRlKSwgNCk7Ci0gIGluWzFdID0gdnNobF9uX3Mx
Nih2bGQxX3MxNihpbnB1dCArIDEgKiBzdHJpZGUpLCA0KTsKLSAgaW5bMl0gPSB2c2hsX25fczE2
KHZsZDFfczE2KGlucHV0ICsgMiAqIHN0cmlkZSksIDQpOwotICBpblszXSA9IHZzaGxfbl9zMTYo
dmxkMV9zMTYoaW5wdXQgKyAzICogc3RyaWRlKSwgNCk7Ci0KLSAgLy8gSWYgdGhlIHZlcnkgZmly
c3QgdmFsdWUgIT0gMCwgdGhlbiBhZGQgMS4KLSAgaWYgKGlucHV0WzBdICE9IDApIHsKLSAgICBj
b25zdCBpbnQxNng0X3Qgb25lID0gdnJlaW50ZXJwcmV0X3MxNl9zNjQodmR1cF9uX3M2NCgxKSk7
Ci0gICAgaW5bMF0gPSB2YWRkX3MxNihpblswXSwgb25lKTsKLSAgfQotICB2cHhfZmRjdDR4NF9w
YXNzMV9uZW9uKGluKTsKLSAgdnB4X2ZkY3Q0eDRfcGFzczJfbmVvbihpbik7Ci0gIHsKLSAgICAv
LyBOb3QgcXVpdGUgYSByb3VuZGluZyBzaGlmdC4gT25seSBhZGQgMSBkZXNwaXRlIHNoaWZ0aW5n
IGJ5IDIuCi0gICAgY29uc3QgaW50MTZ4OF90IG9uZSA9IHZkdXBxX25fczE2KDEpOwotICAgIGlu
dDE2eDhfdCBvdXRfMDEgPSB2Y29tYmluZV9zMTYoaW5bMF0sIGluWzFdKTsKLSAgICBpbnQxNng4
X3Qgb3V0XzIzID0gdmNvbWJpbmVfczE2KGluWzJdLCBpblszXSk7Ci0gICAgb3V0XzAxID0gdnNo
cnFfbl9zMTYodmFkZHFfczE2KG91dF8wMSwgb25lKSwgMik7Ci0gICAgb3V0XzIzID0gdnNocnFf
bl9zMTYodmFkZHFfczE2KG91dF8yMywgb25lKSwgMik7Ci0gICAgc3RvcmVfczE2cV90b190cmFu
X2xvdyhmaW5hbF9vdXRwdXQgKyAwICogOCwgb3V0XzAxKTsKLSAgICBzdG9yZV9zMTZxX3RvX3Ry
YW5fbG93KGZpbmFsX291dHB1dCArIDEgKiA4LCBvdXRfMjMpOwotICB9Ci19Ci0KLSNpZiBDT05G
SUdfVlA5X0hJR0hCSVRERVBUSAotCi12b2lkIHZweF9oaWdoYmRfZmRjdDR4NF9uZW9uKGNvbnN0
IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpmaW5hbF9vdXRwdXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGUpIHsKLSAgY29uc3QgaW50MzJ4NF90IGNvbnN0X29u
ZSA9IHZkdXBxX25fczMyKDEpOwotCi0gIC8vIGlucHV0W00gKiBzdHJpZGVdICogMTYKLSAgaW50
MzJ4NF90IGluWzRdOwotICBpblswXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMCAq
IHN0cmlkZSksIDQpOwotICBpblsxXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMSAq
IHN0cmlkZSksIDQpOwotICBpblsyXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMiAq
IHN0cmlkZSksIDQpOwotICBpblszXSA9IHZzaGxsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMyAq
IHN0cmlkZSksIDQpOwotCi0gIC8vIElmIHRoZSB2ZXJ5IGZpcnN0IHZhbHVlICE9IDAsIHRoZW4g
YWRkIDEuCi0gIGlmIChpbnB1dFswXSAhPSAwKSB7Ci0gICAgc3RhdGljIGNvbnN0IGludDMyX3Qg
azEwMDBbNF0gPSB7IDEsIDAsIDAsIDAgfTsKLSAgICBpblswXSA9IHZhZGRxX3MzMihpblswXSwg
dmxkMXFfczMyKGsxMDAwKSk7Ci0gIH0KLQotICB2cHhfaGlnaGJkX2ZkY3Q0eDRfcGFzczFfbmVv
bihpbik7Ci0gIHZweF9oaWdoYmRfZmRjdDR4NF9wYXNzMV9uZW9uKGluKTsKLSAgewotICAgIC8v
IE5vdCBxdWl0ZSBhIHJvdW5kaW5nIHNoaWZ0LiBPbmx5IGFkZCAxIGRlc3BpdGUgc2hpZnRpbmcg
YnkgMi4KLSAgICBpblswXSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihpblswXSwgY29uc3Rfb25l
KSwgMik7Ci0gICAgaW5bMV0gPSB2c2hycV9uX3MzMih2YWRkcV9zMzIoaW5bMV0sIGNvbnN0X29u
ZSksIDIpOwotICAgIGluWzJdID0gdnNocnFfbl9zMzIodmFkZHFfczMyKGluWzJdLCBjb25zdF9v
bmUpLCAyKTsKLSAgICBpblszXSA9IHZzaHJxX25fczMyKHZhZGRxX3MzMihpblszXSwgY29uc3Rf
b25lKSwgMik7Ci0KLSAgICB2c3QxcV9zMzIoZmluYWxfb3V0cHV0LCBpblswXSk7Ci0gICAgdnN0
MXFfczMyKGZpbmFsX291dHB1dCArIDQsIGluWzFdKTsKLSAgICB2c3QxcV9zMzIoZmluYWxfb3V0
cHV0ICsgOCwgaW5bMl0pOwotICAgIHZzdDFxX3MzMihmaW5hbF9vdXRwdXQgKyAxMiwgaW5bM10p
OwotICB9Ci19Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3Q0eDRfbmVvbi5oIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9mZGN0NHg0X25lb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGUz
ZGI5Nzc0YzY2Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0
NHg0X25lb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0vKgotICogIENvcHly
aWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
IGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVs
bGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZp
bGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJl
IGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVl
LgotICovCi0KLSNpZm5kZWYgVlBYX1ZQWF9EU1BfQVJNX0ZEQ1Q0WDRfTkVPTl9IXwotI2RlZmlu
ZSBWUFhfVlBYX0RTUF9BUk1fRkRDVDRYNF9ORU9OX0hfCi0KLSNpbmNsdWRlIDxhcm1fbmVvbi5o
PgotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdnB4X2ZkY3Q0eDRfcGFzczFfbmVvbihpbnQxNng0X3Qg
KmluKSB7Ci0gIGludDE2eDRfdCBvdXRbNF07Ci0KLSAgY29uc3QgaW50MTZ4OF90IGlucHV0XzAx
ID0gdmNvbWJpbmVfczE2KGluWzBdLCBpblsxXSk7Ci0gIGNvbnN0IGludDE2eDhfdCBpbnB1dF8z
MiA9IHZjb21iaW5lX3MxNihpblszXSwgaW5bMl0pOwotCi0gIC8vIGluXzAgKy8tIGluXzMsIGlu
XzEgKy8tIGluXzIKLSAgY29uc3QgaW50MTZ4OF90IHNfMDEgPSB2YWRkcV9zMTYoaW5wdXRfMDEs
IGlucHV0XzMyKTsKLSAgY29uc3QgaW50MTZ4OF90IHNfMzIgPSB2c3VicV9zMTYoaW5wdXRfMDEs
IGlucHV0XzMyKTsKLQotICAvLyBzdGVwXzAgKy8tIHN0ZXBfMSwgc3RlcF8yICsvLSBzdGVwXzMK
LSAgY29uc3QgaW50MTZ4NF90IHNfMCA9IHZnZXRfbG93X3MxNihzXzAxKTsKLSAgY29uc3QgaW50
MTZ4NF90IHNfMSA9IHZnZXRfaGlnaF9zMTYoc18wMSk7Ci0gIGNvbnN0IGludDE2eDRfdCBzXzIg
PSB2Z2V0X2hpZ2hfczE2KHNfMzIpOwotICBjb25zdCBpbnQxNng0X3Qgc18zID0gdmdldF9sb3df
czE2KHNfMzIpOwotCi0gIC8vIGZkY3Rfcm91bmRfc2hpZnQoc18wICsvLSBzXzEpICogY29zcGlf
MTZfNjQKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfZmFzdF9oYWxmKHNfMCwgc18xLCBjb3Nw
aV8xNl82NCwgJm91dFswXSwgJm91dFsyXSk7Ci0KLSAgLy8gc18zICogY29zcGlfOF82NCArIHNf
MiAqIGNvc3BpXzI0XzY0Ci0gIC8vIHNfMyAqIGNvc3BpXzI0XzY0IC0gc18yICogY29zcGlfOF82
NAotICBidXR0ZXJmbHlfdHdvX2NvZWZmX2hhbGYoc18zLCBzXzIsIGNvc3BpXzhfNjQsIGNvc3Bp
XzI0XzY0LCAmb3V0WzFdLCAmb3V0WzNdKTsKLQotICB0cmFuc3Bvc2VfczE2XzR4NGQoJm91dFsw
XSwgJm91dFsxXSwgJm91dFsyXSwgJm91dFszXSk7Ci0KLSAgaW5bMF0gPSBvdXRbMF07Ci0gIGlu
WzFdID0gb3V0WzFdOwotICBpblsyXSA9IG91dFsyXTsKLSAgaW5bM10gPSBvdXRbM107Ci19Ci0K
LXN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfZmRjdDR4NF9wYXNzMl9uZW9uKGludDE2eDRfdCAqaW4p
IHsKLSAgaW50MTZ4NF90IG91dFs0XTsKLQotICBjb25zdCBpbnQxNng4X3QgaW5wdXRfMDEgPSB2
Y29tYmluZV9zMTYoaW5bMF0sIGluWzFdKTsKLSAgY29uc3QgaW50MTZ4OF90IGlucHV0XzMyID0g
dmNvbWJpbmVfczE2KGluWzNdLCBpblsyXSk7Ci0KLSAgLy8gaW5fMCArLy0gaW5fMywgaW5fMSAr
Ly0gaW5fMgotICBjb25zdCBpbnQxNng4X3Qgc18wMSA9IHZhZGRxX3MxNihpbnB1dF8wMSwgaW5w
dXRfMzIpOwotICBjb25zdCBpbnQxNng4X3Qgc18zMiA9IHZzdWJxX3MxNihpbnB1dF8wMSwgaW5w
dXRfMzIpOwotCi0gIC8vIHN0ZXBfMCArLy0gc3RlcF8xLCBzdGVwXzIgKy8tIHN0ZXBfMwotICBj
b25zdCBpbnQxNng0X3Qgc18wID0gdmdldF9sb3dfczE2KHNfMDEpOwotICBjb25zdCBpbnQxNng0
X3Qgc18xID0gdmdldF9oaWdoX3MxNihzXzAxKTsKLSAgY29uc3QgaW50MTZ4NF90IHNfMiA9IHZn
ZXRfaGlnaF9zMTYoc18zMik7Ci0gIGNvbnN0IGludDE2eDRfdCBzXzMgPSB2Z2V0X2xvd19zMTYo
c18zMik7Ci0KLSAgLy8gZmRjdF9yb3VuZF9zaGlmdChzXzAgKy8tIHNfMSkgKiBjb3NwaV8xNl82
NAotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzJfZmFzdF9uYXJyb3dfaGFsZihzXzAsIHNf
MSwgY29zcGlfMTZfNjQsICZvdXRbMF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZvdXRbMl0pOwotCi0gIC8vIHNfMyAqIGNvc3BpXzhfNjQgKyBzXzIg
KiBjb3NwaV8yNF82NAotICAvLyBzXzMgKiBjb3NwaV8yNF82NCAtIHNfMiAqIGNvc3BpXzhfNjQK
LSAgYnV0dGVyZmx5X3R3b19jb2VmZl9oYWxmKHNfMywgc18yLCBjb3NwaV84XzY0LCBjb3NwaV8y
NF82NCwgJm91dFsxXSwgJm91dFszXSk7Ci0KLSAgdHJhbnNwb3NlX3MxNl80eDRkKCZvdXRbMF0s
ICZvdXRbMV0sICZvdXRbMl0sICZvdXRbM10pOwotCi0gIGluWzBdID0gb3V0WzBdOwotICBpblsx
XSA9IG91dFsxXTsKLSAgaW5bMl0gPSBvdXRbMl07Ci0gIGluWzNdID0gb3V0WzNdOwotfQotCi0j
aWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLQotc3RhdGljIElOTElORSB2b2lkIHZweF9oaWdo
YmRfZmRjdDR4NF9wYXNzMV9uZW9uKGludDMyeDRfdCAqaW4pIHsKLSAgaW50MzJ4NF90IG91dFs0
XTsKLSAgLy8gaW5fMCArLy0gaW5fMywgaW5fMSArLy0gaW5fMgotICBjb25zdCBpbnQzMng0X3Qg
c18wID0gdmFkZHFfczMyKGluWzBdLCBpblszXSk7Ci0gIGNvbnN0IGludDMyeDRfdCBzXzEgPSB2
YWRkcV9zMzIoaW5bMV0sIGluWzJdKTsKLSAgY29uc3QgaW50MzJ4NF90IHNfMiA9IHZzdWJxX3Mz
MihpblsxXSwgaW5bMl0pOwotICBjb25zdCBpbnQzMng0X3Qgc18zID0gdnN1YnFfczMyKGluWzBd
LCBpblszXSk7Ci0KLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdF9oYWxmKHNfMCwgc18x
LCBjb3NwaV8xNl82NCwgJm91dFswXSwgJm91dFsyXSk7Ci0KLSAgLy8gb3V0WzFdID0gc18zICog
Y29zcGlfOF82NCArIHNfMiAqIGNvc3BpXzI0XzY0Ci0gIC8vIG91dFszXSA9IHNfMyAqIGNvc3Bp
XzI0XzY0IC0gc18yICogY29zcGlfOF82NAotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRf
bmFycm93X2hhbGYoc18zLCBzXzIsIGNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm91dFsxXSwgJm91dFszXSk7Ci0KLSAg
dHJhbnNwb3NlX3MzMl80eDQoJm91dFswXSwgJm91dFsxXSwgJm91dFsyXSwgJm91dFszXSk7Ci0K
LSAgaW5bMF0gPSBvdXRbMF07Ci0gIGluWzFdID0gb3V0WzFdOwotICBpblsyXSA9IG91dFsyXTsK
LSAgaW5bM10gPSBvdXRbM107Ci19Ci0KLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQ
VEgKLSNlbmRpZiAgLy8gVlBYX1ZQWF9EU1BfQVJNX0ZEQ1Q0WDRfTkVPTl9IXwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0OHg4X25lb24uYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vZmRjdDh4OF9uZW9uLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1
ZWU2ZjIyMzA2ZS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRj
dDh4OF9uZW9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAqICBDb3B5
cmlnaHQgKGMpIDIwMTUgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJT
RC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRl
bGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBm
aWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBi
ZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJl
ZS4KLSAqLwotCi0jaW5jbHVkZSA8YXJtX25lb24uaD4KLQotI2luY2x1ZGUgIi4vdnB4X2NvbmZp
Zy5oIgotI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAidnB4X2RzcC90eGZt
X2NvbW1vbi5oIgotI2luY2x1ZGUgInZweF9kc3AvdnB4X2RzcF9jb21tb24uaCIKLSNpbmNsdWRl
ICJ2cHhfZHNwL2FybS9pZGN0X25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9mZGN0X25l
b24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9tZW1fbmVvbi5oIgotI2luY2x1ZGUgInZweF9k
c3AvYXJtL2ZkY3Q4eDhfbmVvbi5oIgotCi12b2lkIHZweF9mZGN0OHg4X25lb24oY29uc3QgaW50
MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKmZpbmFsX291dHB1dCwKLSAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3RyaWRlKSB7Ci0gIC8vIHN0YWdlIDEKLSAgaW50MTZ4OF90IGluWzhdOwotICBp
blswXSA9IHZzaGxxX25fczE2KHZsZDFxX3MxNigmaW5wdXRbMCAqIHN0cmlkZV0pLCAyKTsKLSAg
aW5bMV0gPSB2c2hscV9uX3MxNih2bGQxcV9zMTYoJmlucHV0WzEgKiBzdHJpZGVdKSwgMik7Ci0g
IGluWzJdID0gdnNobHFfbl9zMTYodmxkMXFfczE2KCZpbnB1dFsyICogc3RyaWRlXSksIDIpOwot
ICBpblszXSA9IHZzaGxxX25fczE2KHZsZDFxX3MxNigmaW5wdXRbMyAqIHN0cmlkZV0pLCAyKTsK
LSAgaW5bNF0gPSB2c2hscV9uX3MxNih2bGQxcV9zMTYoJmlucHV0WzQgKiBzdHJpZGVdKSwgMik7
Ci0gIGluWzVdID0gdnNobHFfbl9zMTYodmxkMXFfczE2KCZpbnB1dFs1ICogc3RyaWRlXSksIDIp
OwotICBpbls2XSA9IHZzaGxxX25fczE2KHZsZDFxX3MxNigmaW5wdXRbNiAqIHN0cmlkZV0pLCAy
KTsKLSAgaW5bN10gPSB2c2hscV9uX3MxNih2bGQxcV9zMTYoJmlucHV0WzcgKiBzdHJpZGVdKSwg
Mik7Ci0KLSAgdnB4X2ZkY3Q4eDhfcGFzczFfbmVvbihpbik7Ci0gIHZweF9mZGN0OHg4X3Bhc3My
X25lb24oaW4pOwotICB7Ci0gICAgLy8gZnJvbSB2cHhfZGN0X3NzZTIuYwotICAgIC8vIFBvc3Qt
Y29uZGl0aW9uIChkaXZpc2lvbiBieSB0d28pCi0gICAgLy8gICAgZGl2aXNpb24gb2YgdHdvIDE2
IGJpdHMgc2lnbmVkIG51bWJlcnMgdXNpbmcgc2hpZnRzCi0gICAgLy8gICAgbiAvIDIgPSAobiAt
IChuID4+IDE1KSkgPj4gMQotICAgIGNvbnN0IGludDE2eDhfdCBzaWduX2luMCA9IHZzaHJxX25f
czE2KGluWzBdLCAxNSk7Ci0gICAgY29uc3QgaW50MTZ4OF90IHNpZ25faW4xID0gdnNocnFfbl9z
MTYoaW5bMV0sIDE1KTsKLSAgICBjb25zdCBpbnQxNng4X3Qgc2lnbl9pbjIgPSB2c2hycV9uX3Mx
NihpblsyXSwgMTUpOwotICAgIGNvbnN0IGludDE2eDhfdCBzaWduX2luMyA9IHZzaHJxX25fczE2
KGluWzNdLCAxNSk7Ci0gICAgY29uc3QgaW50MTZ4OF90IHNpZ25faW40ID0gdnNocnFfbl9zMTYo
aW5bNF0sIDE1KTsKLSAgICBjb25zdCBpbnQxNng4X3Qgc2lnbl9pbjUgPSB2c2hycV9uX3MxNihp
bls1XSwgMTUpOwotICAgIGNvbnN0IGludDE2eDhfdCBzaWduX2luNiA9IHZzaHJxX25fczE2KGlu
WzZdLCAxNSk7Ci0gICAgY29uc3QgaW50MTZ4OF90IHNpZ25faW43ID0gdnNocnFfbl9zMTYoaW5b
N10sIDE1KTsKLSAgICBpblswXSA9IHZoc3VicV9zMTYoaW5bMF0sIHNpZ25faW4wKTsKLSAgICBp
blsxXSA9IHZoc3VicV9zMTYoaW5bMV0sIHNpZ25faW4xKTsKLSAgICBpblsyXSA9IHZoc3VicV9z
MTYoaW5bMl0sIHNpZ25faW4yKTsKLSAgICBpblszXSA9IHZoc3VicV9zMTYoaW5bM10sIHNpZ25f
aW4zKTsKLSAgICBpbls0XSA9IHZoc3VicV9zMTYoaW5bNF0sIHNpZ25faW40KTsKLSAgICBpbls1
XSA9IHZoc3VicV9zMTYoaW5bNV0sIHNpZ25faW41KTsKLSAgICBpbls2XSA9IHZoc3VicV9zMTYo
aW5bNl0sIHNpZ25faW42KTsKLSAgICBpbls3XSA9IHZoc3VicV9zMTYoaW5bN10sIHNpZ25faW43
KTsKLSAgICAvLyBzdG9yZSByZXN1bHRzCi0gICAgc3RvcmVfczE2cV90b190cmFuX2xvdyhmaW5h
bF9vdXRwdXQgKyAwICogOCwgaW5bMF0pOwotICAgIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3coZmlu
YWxfb3V0cHV0ICsgMSAqIDgsIGluWzFdKTsKLSAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZp
bmFsX291dHB1dCArIDIgKiA4LCBpblsyXSk7Ci0gICAgc3RvcmVfczE2cV90b190cmFuX2xvdyhm
aW5hbF9vdXRwdXQgKyAzICogOCwgaW5bM10pOwotICAgIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3co
ZmluYWxfb3V0cHV0ICsgNCAqIDgsIGluWzRdKTsKLSAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93
KGZpbmFsX291dHB1dCArIDUgKiA4LCBpbls1XSk7Ci0gICAgc3RvcmVfczE2cV90b190cmFuX2xv
dyhmaW5hbF9vdXRwdXQgKyA2ICogOCwgaW5bNl0pOwotICAgIHN0b3JlX3MxNnFfdG9fdHJhbl9s
b3coZmluYWxfb3V0cHV0ICsgNyAqIDgsIGluWzddKTsKLSAgfQotfQotCi0jaWYgQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEgKLQotdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhfbmVvbihjb25zdCBpbnQx
Nl90ICppbnB1dCwgdHJhbl9sb3dfdCAqZmluYWxfb3V0cHV0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3RyaWRlKSB7Ci0gIC8vIGlucHV0W00gKiBzdHJpZGVdICogMTYKLSAg
aW50MzJ4NF90IGxlZnRbOF0sIHJpZ2h0WzhdOwotICBpbnQxNng4X3QgaW5bOF07Ci0gIGluWzBd
ID0gdmxkMXFfczE2KGlucHV0ICsgMCAqIHN0cmlkZSk7Ci0gIGluWzFdID0gdmxkMXFfczE2KGlu
cHV0ICsgMSAqIHN0cmlkZSk7Ci0gIGluWzJdID0gdmxkMXFfczE2KGlucHV0ICsgMiAqIHN0cmlk
ZSk7Ci0gIGluWzNdID0gdmxkMXFfczE2KGlucHV0ICsgMyAqIHN0cmlkZSk7Ci0gIGluWzRdID0g
dmxkMXFfczE2KGlucHV0ICsgNCAqIHN0cmlkZSk7Ci0gIGluWzVdID0gdmxkMXFfczE2KGlucHV0
ICsgNSAqIHN0cmlkZSk7Ci0gIGluWzZdID0gdmxkMXFfczE2KGlucHV0ICsgNiAqIHN0cmlkZSk7
Ci0gIGluWzddID0gdmxkMXFfczE2KGlucHV0ICsgNyAqIHN0cmlkZSk7Ci0KLSAgbGVmdFswXSA9
IHZzaGxsX25fczE2KHZnZXRfbG93X3MxNihpblswXSksIDIpOwotICBsZWZ0WzFdID0gdnNobGxf
bl9zMTYodmdldF9sb3dfczE2KGluWzFdKSwgMik7Ci0gIGxlZnRbMl0gPSB2c2hsbF9uX3MxNih2
Z2V0X2xvd19zMTYoaW5bMl0pLCAyKTsKLSAgbGVmdFszXSA9IHZzaGxsX25fczE2KHZnZXRfbG93
X3MxNihpblszXSksIDIpOwotICBsZWZ0WzRdID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGlu
WzRdKSwgMik7Ci0gIGxlZnRbNV0gPSB2c2hsbF9uX3MxNih2Z2V0X2xvd19zMTYoaW5bNV0pLCAy
KTsKLSAgbGVmdFs2XSA9IHZzaGxsX25fczE2KHZnZXRfbG93X3MxNihpbls2XSksIDIpOwotICBs
ZWZ0WzddID0gdnNobGxfbl9zMTYodmdldF9sb3dfczE2KGluWzddKSwgMik7Ci0gIHJpZ2h0WzBd
ID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihpblswXSksIDIpOwotICByaWdodFsxXSA9IHZz
aGxsX25fczE2KHZnZXRfaGlnaF9zMTYoaW5bMV0pLCAyKTsKLSAgcmlnaHRbMl0gPSB2c2hsbF9u
X3MxNih2Z2V0X2hpZ2hfczE2KGluWzJdKSwgMik7Ci0gIHJpZ2h0WzNdID0gdnNobGxfbl9zMTYo
dmdldF9oaWdoX3MxNihpblszXSksIDIpOwotICByaWdodFs0XSA9IHZzaGxsX25fczE2KHZnZXRf
aGlnaF9zMTYoaW5bNF0pLCAyKTsKLSAgcmlnaHRbNV0gPSB2c2hsbF9uX3MxNih2Z2V0X2hpZ2hf
czE2KGluWzVdKSwgMik7Ci0gIHJpZ2h0WzZdID0gdnNobGxfbl9zMTYodmdldF9oaWdoX3MxNihp
bls2XSksIDIpOwotICByaWdodFs3XSA9IHZzaGxsX25fczE2KHZnZXRfaGlnaF9zMTYoaW5bN10p
LCAyKTsKLQotICB2cHhfaGlnaGJkX2ZkY3Q4eDhfcGFzczFfbmVvbihsZWZ0LCByaWdodCk7Ci0g
IHZweF9oaWdoYmRfZmRjdDh4OF9wYXNzMl9uZW9uKGxlZnQsIHJpZ2h0KTsKLSAgewotICAgIGxl
ZnRbMF0gPSBhZGRfcm91bmRfc2hpZnRfaGFsZl9zMzIobGVmdFswXSk7Ci0gICAgbGVmdFsxXSA9
IGFkZF9yb3VuZF9zaGlmdF9oYWxmX3MzMihsZWZ0WzFdKTsKLSAgICBsZWZ0WzJdID0gYWRkX3Jv
dW5kX3NoaWZ0X2hhbGZfczMyKGxlZnRbMl0pOwotICAgIGxlZnRbM10gPSBhZGRfcm91bmRfc2hp
ZnRfaGFsZl9zMzIobGVmdFszXSk7Ci0gICAgbGVmdFs0XSA9IGFkZF9yb3VuZF9zaGlmdF9oYWxm
X3MzMihsZWZ0WzRdKTsKLSAgICBsZWZ0WzVdID0gYWRkX3JvdW5kX3NoaWZ0X2hhbGZfczMyKGxl
ZnRbNV0pOwotICAgIGxlZnRbNl0gPSBhZGRfcm91bmRfc2hpZnRfaGFsZl9zMzIobGVmdFs2XSk7
Ci0gICAgbGVmdFs3XSA9IGFkZF9yb3VuZF9zaGlmdF9oYWxmX3MzMihsZWZ0WzddKTsKLSAgICBy
aWdodFswXSA9IGFkZF9yb3VuZF9zaGlmdF9oYWxmX3MzMihyaWdodFswXSk7Ci0gICAgcmlnaHRb
MV0gPSBhZGRfcm91bmRfc2hpZnRfaGFsZl9zMzIocmlnaHRbMV0pOwotICAgIHJpZ2h0WzJdID0g
YWRkX3JvdW5kX3NoaWZ0X2hhbGZfczMyKHJpZ2h0WzJdKTsKLSAgICByaWdodFszXSA9IGFkZF9y
b3VuZF9zaGlmdF9oYWxmX3MzMihyaWdodFszXSk7Ci0gICAgcmlnaHRbNF0gPSBhZGRfcm91bmRf
c2hpZnRfaGFsZl9zMzIocmlnaHRbNF0pOwotICAgIHJpZ2h0WzVdID0gYWRkX3JvdW5kX3NoaWZ0
X2hhbGZfczMyKHJpZ2h0WzVdKTsKLSAgICByaWdodFs2XSA9IGFkZF9yb3VuZF9zaGlmdF9oYWxm
X3MzMihyaWdodFs2XSk7Ci0gICAgcmlnaHRbN10gPSBhZGRfcm91bmRfc2hpZnRfaGFsZl9zMzIo
cmlnaHRbN10pOwotCi0gICAgLy8gc3RvcmUgcmVzdWx0cwotICAgIHZzdDFxX3MzMihmaW5hbF9v
dXRwdXQsIGxlZnRbMF0pOwotICAgIHZzdDFxX3MzMihmaW5hbF9vdXRwdXQgKyA0LCByaWdodFsw
XSk7Ci0gICAgdnN0MXFfczMyKGZpbmFsX291dHB1dCArIDgsIGxlZnRbMV0pOwotICAgIHZzdDFx
X3MzMihmaW5hbF9vdXRwdXQgKyAxMiwgcmlnaHRbMV0pOwotICAgIHZzdDFxX3MzMihmaW5hbF9v
dXRwdXQgKyAxNiwgbGVmdFsyXSk7Ci0gICAgdnN0MXFfczMyKGZpbmFsX291dHB1dCArIDIwLCBy
aWdodFsyXSk7Ci0gICAgdnN0MXFfczMyKGZpbmFsX291dHB1dCArIDI0LCBsZWZ0WzNdKTsKLSAg
ICB2c3QxcV9zMzIoZmluYWxfb3V0cHV0ICsgMjgsIHJpZ2h0WzNdKTsKLSAgICB2c3QxcV9zMzIo
ZmluYWxfb3V0cHV0ICsgMzIsIGxlZnRbNF0pOwotICAgIHZzdDFxX3MzMihmaW5hbF9vdXRwdXQg
KyAzNiwgcmlnaHRbNF0pOwotICAgIHZzdDFxX3MzMihmaW5hbF9vdXRwdXQgKyA0MCwgbGVmdFs1
XSk7Ci0gICAgdnN0MXFfczMyKGZpbmFsX291dHB1dCArIDQ0LCByaWdodFs1XSk7Ci0gICAgdnN0
MXFfczMyKGZpbmFsX291dHB1dCArIDQ4LCBsZWZ0WzZdKTsKLSAgICB2c3QxcV9zMzIoZmluYWxf
b3V0cHV0ICsgNTIsIHJpZ2h0WzZdKTsKLSAgICB2c3QxcV9zMzIoZmluYWxfb3V0cHV0ICsgNTYs
IGxlZnRbN10pOwotICAgIHZzdDFxX3MzMihmaW5hbF9vdXRwdXQgKyA2MCwgcmlnaHRbN10pOwot
ICB9Ci19Ci0KLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdDh4OF9uZW9uLmggYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL2ZkY3Q4eDhfbmVvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzY1
MTU3NDMwMTAuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3Q4
eDhfbmVvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMzA3ICswLDAgQEAKLS8qCi0gKiAgQ29weXJp
Z2h0IChjKSAyMDIyIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt
c3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxs
ZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmls
ZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUg
Zm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUu
Ci0gKi8KLQotI2lmbmRlZiBWUFhfVlBYX0RTUF9BUk1fRkRDVDhYOF9ORU9OX0hfCi0jZGVmaW5l
IFZQWF9WUFhfRFNQX0FSTV9GRENUOFg4X05FT05fSF8KLQotI2luY2x1ZGUgPGFybV9uZW9uLmg+
Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfZmRjdDh4OF9wYXNzMV9ub3RyYW5zcG9zZV9uZW9u
KGludDE2eDhfdCAqaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQxNng4X3QgKm91dCkgewotICBpbnQxNng4X3Qgc1s4XSwgeFs0XSwg
dFsyXTsKLQotICBzWzBdID0gdmFkZHFfczE2KGluWzBdLCBpbls3XSk7Ci0gIHNbMV0gPSB2YWRk
cV9zMTYoaW5bMV0sIGluWzZdKTsKLSAgc1syXSA9IHZhZGRxX3MxNihpblsyXSwgaW5bNV0pOwot
ICBzWzNdID0gdmFkZHFfczE2KGluWzNdLCBpbls0XSk7Ci0gIHNbNF0gPSB2c3VicV9zMTYoaW5b
M10sIGluWzRdKTsKLSAgc1s1XSA9IHZzdWJxX3MxNihpblsyXSwgaW5bNV0pOwotICBzWzZdID0g
dnN1YnFfczE2KGluWzFdLCBpbls2XSk7Ci0gIHNbN10gPSB2c3VicV9zMTYoaW5bMF0sIGluWzdd
KTsKLSAgLy8gZmRjdDQoc3RlcCwgc3RlcCk7Ci0gIHhbMF0gPSB2YWRkcV9zMTYoc1swXSwgc1sz
XSk7Ci0gIHhbMV0gPSB2YWRkcV9zMTYoc1sxXSwgc1syXSk7Ci0gIHhbMl0gPSB2c3VicV9zMTYo
c1sxXSwgc1syXSk7Ci0gIHhbM10gPSB2c3VicV9zMTYoc1swXSwgc1szXSk7Ci0KLSAgLy8gZmRj
dDQoc3RlcCwgc3RlcCk7Ci0gIC8vIG91dFswXSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hp
ZnQoKHgwICsgeDEpICogY29zcGlfMTZfNjQpCi0gIC8vIG91dFs0XSA9ICh0cmFuX2xvd190KWZk
Y3Rfcm91bmRfc2hpZnQoKHgwIC0geDEpICogY29zcGlfMTZfNjQpCi0gIGJ1dHRlcmZseV9vbmVf
Y29lZmZfczE2X2Zhc3QoeFswXSwgeFsxXSwgY29zcGlfMTZfNjQsICZvdXRbMF0sICZvdXRbNF0p
OwotICAvLyBvdXRbMl0gPSAodHJhbl9sb3dfdClmZGN0X3JvdW5kX3NoaWZ0KHgyICogY29zcGlf
MjRfNjQgKyB4MyAqIGNvc3BpXzhfNjQpCi0gIC8vIG91dFs2XSA9ICh0cmFuX2xvd190KWZkY3Rf
cm91bmRfc2hpZnQoLXgyICogY29zcGlfOF82NCArIHgzICogY29zcGlfMjRfNjQpCi0gIGJ1dHRl
cmZseV90d29fY29lZmYoeFszXSwgeFsyXSwgY29zcGlfOF82NCwgY29zcGlfMjRfNjQsICZvdXRb
Ml0sICZvdXRbNl0pOwotCi0gIC8vIFN0YWdlIDIKLSAgLy8gdDAgPSAoczYgLSBzNSkgKiBjb3Nw
aV8xNl82NDsKLSAgLy8gdDEgPSAoczYgKyBzNSkgKiBjb3NwaV8xNl82NDsKLSAgYnV0dGVyZmx5
X29uZV9jb2VmZl9zMTZfZmFzdChzWzZdLCBzWzVdLCBjb3NwaV8xNl82NCwgJnRbMV0sICZ0WzBd
KTsKLQotICAvLyBTdGFnZSAzCi0gIHhbMF0gPSB2YWRkcV9zMTYoc1s0XSwgdFswXSk7Ci0gIHhb
MV0gPSB2c3VicV9zMTYoc1s0XSwgdFswXSk7Ci0gIHhbMl0gPSB2c3VicV9zMTYoc1s3XSwgdFsx
XSk7Ci0gIHhbM10gPSB2YWRkcV9zMTYoc1s3XSwgdFsxXSk7Ci0KLSAgLy8gU3RhZ2UgNAotICAv
LyBvdXRbMV0gPSAodHJhbl9sb3dfdClmZGN0X3JvdW5kX3NoaWZ0KHgwICogY29zcGlfMjhfNjQg
KyB4MyAqIGNvc3BpXzRfNjQpCi0gIC8vIG91dFs3XSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRf
c2hpZnQoeDMgKiBjb3NwaV8yOF82NCArIHgwICogLWNvc3BpXzRfNjQpCi0gIGJ1dHRlcmZseV90
d29fY29lZmYoeFszXSwgeFswXSwgY29zcGlfNF82NCwgY29zcGlfMjhfNjQsICZvdXRbMV0sICZv
dXRbN10pOwotCi0gIC8vIG91dFs1XSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoeDEg
KiBjb3NwaV8xMl82NCArIHgyICogY29zcGlfMjBfNjQpCi0gIC8vIG91dFszXSA9ICh0cmFuX2xv
d190KWZkY3Rfcm91bmRfc2hpZnQoeDIgKiBjb3NwaV8xMl82NCArIHgxICogLWNvc3BpXzIwXzY0
KQotICBidXR0ZXJmbHlfdHdvX2NvZWZmKHhbMl0sIHhbMV0sIGNvc3BpXzIwXzY0LCBjb3NwaV8x
Ml82NCwgJm91dFs1XSwgJm91dFszXSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfZmRj
dDh4OF9wYXNzMl9ub3RyYW5zcG9zZV9uZW9uKGludDE2eDhfdCAqaW4sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNng4X3QgKm91dCkg
ewotICBpbnQxNng4X3Qgc1s4XSwgeFs0XSwgdFsyXTsKLQotICBzWzBdID0gdmFkZHFfczE2KGlu
WzBdLCBpbls3XSk7Ci0gIHNbMV0gPSB2YWRkcV9zMTYoaW5bMV0sIGluWzZdKTsKLSAgc1syXSA9
IHZhZGRxX3MxNihpblsyXSwgaW5bNV0pOwotICBzWzNdID0gdmFkZHFfczE2KGluWzNdLCBpbls0
XSk7Ci0gIHNbNF0gPSB2c3VicV9zMTYoaW5bM10sIGluWzRdKTsKLSAgc1s1XSA9IHZzdWJxX3Mx
NihpblsyXSwgaW5bNV0pOwotICBzWzZdID0gdnN1YnFfczE2KGluWzFdLCBpbls2XSk7Ci0gIHNb
N10gPSB2c3VicV9zMTYoaW5bMF0sIGluWzddKTsKLSAgLy8gZmRjdDQoc3RlcCwgc3RlcCk7Ci0g
IHhbMF0gPSB2YWRkcV9zMTYoc1swXSwgc1szXSk7Ci0gIHhbMV0gPSB2YWRkcV9zMTYoc1sxXSwg
c1syXSk7Ci0gIHhbMl0gPSB2c3VicV9zMTYoc1sxXSwgc1syXSk7Ci0gIHhbM10gPSB2c3VicV9z
MTYoc1swXSwgc1szXSk7Ci0KLSAgLy8gZmRjdDQoc3RlcCwgc3RlcCk7Ci0gIC8vIG91dFswXSA9
ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoKHgwICsgeDEpICogY29zcGlfMTZfNjQpCi0g
IC8vIG91dFs0XSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoKHgwIC0geDEpICogY29z
cGlfMTZfNjQpCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczE2X3MzMl9mYXN0X25hcnJvdyh4WzBd
LCB4WzFdLCBjb3NwaV8xNl82NCwgJm91dFswXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZvdXRbNF0pOwotICAvLyBvdXRbMl0gPSAodHJhbl9sb3dfdClmZGN0
X3JvdW5kX3NoaWZ0KHgyICogY29zcGlfMjRfNjQgKyB4MyAqIGNvc3BpXzhfNjQpCi0gIC8vIG91
dFs2XSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoLXgyICogY29zcGlfOF82NCArIHgz
ICogY29zcGlfMjRfNjQpCi0gIGJ1dHRlcmZseV90d29fY29lZmYoeFszXSwgeFsyXSwgY29zcGlf
OF82NCwgY29zcGlfMjRfNjQsICZvdXRbMl0sICZvdXRbNl0pOwotCi0gIC8vIFN0YWdlIDIKLSAg
Ly8gdDAgPSAoczYgLSBzNSkgKiBjb3NwaV8xNl82NDsKLSAgLy8gdDEgPSAoczYgKyBzNSkgKiBj
b3NwaV8xNl82NDsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfczMyX2Zhc3RfbmFycm93KHNb
Nl0sIHNbNV0sIGNvc3BpXzE2XzY0LCAmdFsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZ0WzBdKTsKLQotICAvLyBTdGFnZSAzCi0gIHhbMF0gPSB2YWRkcV9z
MTYoc1s0XSwgdFswXSk7Ci0gIHhbMV0gPSB2c3VicV9zMTYoc1s0XSwgdFswXSk7Ci0gIHhbMl0g
PSB2c3VicV9zMTYoc1s3XSwgdFsxXSk7Ci0gIHhbM10gPSB2YWRkcV9zMTYoc1s3XSwgdFsxXSk7
Ci0KLSAgLy8gU3RhZ2UgNAotICAvLyBvdXRbMV0gPSAodHJhbl9sb3dfdClmZGN0X3JvdW5kX3No
aWZ0KHgwICogY29zcGlfMjhfNjQgKyB4MyAqIGNvc3BpXzRfNjQpCi0gIC8vIG91dFs3XSA9ICh0
cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoeDMgKiBjb3NwaV8yOF82NCArIHgwICogLWNvc3Bp
XzRfNjQpCi0gIGJ1dHRlcmZseV90d29fY29lZmYoeFszXSwgeFswXSwgY29zcGlfNF82NCwgY29z
cGlfMjhfNjQsICZvdXRbMV0sICZvdXRbN10pOwotCi0gIC8vIG91dFs1XSA9ICh0cmFuX2xvd190
KWZkY3Rfcm91bmRfc2hpZnQoeDEgKiBjb3NwaV8xMl82NCArIHgyICogY29zcGlfMjBfNjQpCi0g
IC8vIG91dFszXSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoeDIgKiBjb3NwaV8xMl82
NCArIHgxICogLWNvc3BpXzIwXzY0KQotICBidXR0ZXJmbHlfdHdvX2NvZWZmKHhbMl0sIHhbMV0s
IGNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCwgJm91dFs1XSwgJm91dFszXSk7Ci19Ci0KLXN0YXRp
YyBJTkxJTkUgdm9pZCB2cHhfZmRjdDh4OF9wYXNzMV9uZW9uKGludDE2eDhfdCAqaW4pIHsKLSAg
aW50MTZ4OF90IG91dFs4XTsKLSAgdnB4X2ZkY3Q4eDhfcGFzczFfbm90cmFuc3Bvc2VfbmVvbihp
biwgb3V0KTsKLSAgLy8gdHJhbnNwb3NlIDh4OAotICB0cmFuc3Bvc2VfczE2Xzh4OCgmb3V0WzBd
LCAmb3V0WzFdLCAmb3V0WzJdLCAmb3V0WzNdLCAmb3V0WzRdLCAmb3V0WzVdLAotICAgICAgICAg
ICAgICAgICAgICAmb3V0WzZdLCAmb3V0WzddKTsKLSAgaW5bMF0gPSBvdXRbMF07Ci0gIGluWzFd
ID0gb3V0WzFdOwotICBpblsyXSA9IG91dFsyXTsKLSAgaW5bM10gPSBvdXRbM107Ci0gIGluWzRd
ID0gb3V0WzRdOwotICBpbls1XSA9IG91dFs1XTsKLSAgaW5bNl0gPSBvdXRbNl07Ci0gIGluWzdd
ID0gb3V0WzddOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdnB4X2ZkY3Q4eDhfcGFzczJfbmVv
bihpbnQxNng4X3QgKmluKSB7Ci0gIGludDE2eDhfdCBvdXRbOF07Ci0gIHZweF9mZGN0OHg4X3Bh
c3MyX25vdHJhbnNwb3NlX25lb24oaW4sIG91dCk7Ci0gIC8vIHRyYW5zcG9zZSA4eDgKLSAgdHJh
bnNwb3NlX3MxNl84eDgoJm91dFswXSwgJm91dFsxXSwgJm91dFsyXSwgJm91dFszXSwgJm91dFs0
XSwgJm91dFs1XSwKLSAgICAgICAgICAgICAgICAgICAgJm91dFs2XSwgJm91dFs3XSk7Ci0gIGlu
WzBdID0gb3V0WzBdOwotICBpblsxXSA9IG91dFsxXTsKLSAgaW5bMl0gPSBvdXRbMl07Ci0gIGlu
WzNdID0gb3V0WzNdOwotICBpbls0XSA9IG91dFs0XTsKLSAgaW5bNV0gPSBvdXRbNV07Ci0gIGlu
WzZdID0gb3V0WzZdOwotICBpbls3XSA9IG91dFs3XTsKLX0KLQotI2lmIENPTkZJR19WUDlfSElH
SEJJVERFUFRICi1zdGF0aWMgSU5MSU5FIHZvaWQgdnB4X2hpZ2hiZF9mZGN0OHg4X3Bhc3MxX25v
dHJhbnNwb3NlX25lb24oaW50MzJ4NF90ICpsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyeDRfdCAqcmlnaHQpIHsK
LSAgaW50MzJ4NF90IHNsWzhdLCBzcls4XSwgeGxbNF0sIHhyWzRdLCB0bFs0XSwgdHJbNF07Ci0K
LSAgc2xbMF0gPSB2YWRkcV9zMzIobGVmdFswXSwgbGVmdFs3XSk7Ci0gIHNsWzFdID0gdmFkZHFf
czMyKGxlZnRbMV0sIGxlZnRbNl0pOwotICBzbFsyXSA9IHZhZGRxX3MzMihsZWZ0WzJdLCBsZWZ0
WzVdKTsKLSAgc2xbM10gPSB2YWRkcV9zMzIobGVmdFszXSwgbGVmdFs0XSk7Ci0gIHNsWzRdID0g
dnN1YnFfczMyKGxlZnRbM10sIGxlZnRbNF0pOwotICBzbFs1XSA9IHZzdWJxX3MzMihsZWZ0WzJd
LCBsZWZ0WzVdKTsKLSAgc2xbNl0gPSB2c3VicV9zMzIobGVmdFsxXSwgbGVmdFs2XSk7Ci0gIHNs
WzddID0gdnN1YnFfczMyKGxlZnRbMF0sIGxlZnRbN10pOwotICBzclswXSA9IHZhZGRxX3MzMihy
aWdodFswXSwgcmlnaHRbN10pOwotICBzclsxXSA9IHZhZGRxX3MzMihyaWdodFsxXSwgcmlnaHRb
Nl0pOwotICBzclsyXSA9IHZhZGRxX3MzMihyaWdodFsyXSwgcmlnaHRbNV0pOwotICBzclszXSA9
IHZhZGRxX3MzMihyaWdodFszXSwgcmlnaHRbNF0pOwotICBzcls0XSA9IHZzdWJxX3MzMihyaWdo
dFszXSwgcmlnaHRbNF0pOwotICBzcls1XSA9IHZzdWJxX3MzMihyaWdodFsyXSwgcmlnaHRbNV0p
OwotICBzcls2XSA9IHZzdWJxX3MzMihyaWdodFsxXSwgcmlnaHRbNl0pOwotICBzcls3XSA9IHZz
dWJxX3MzMihyaWdodFswXSwgcmlnaHRbN10pOwotCi0gIC8vIGZkY3Q0KHN0ZXAsIHN0ZXApOwot
ICAvLyB4MCA9IHMwICsgczM7Ci0gIHhsWzBdID0gdmFkZHFfczMyKHNsWzBdLCBzbFszXSk7Ci0g
IHhyWzBdID0gdmFkZHFfczMyKHNyWzBdLCBzclszXSk7Ci0gIC8vIHgxID0gczEgKyBzMjsKLSAg
eGxbMV0gPSB2YWRkcV9zMzIoc2xbMV0sIHNsWzJdKTsKLSAgeHJbMV0gPSB2YWRkcV9zMzIoc3Jb
MV0sIHNyWzJdKTsKLSAgLy8geDIgPSBzMSAtIHMyOwotICB4bFsyXSA9IHZzdWJxX3MzMihzbFsx
XSwgc2xbMl0pOwotICB4clsyXSA9IHZzdWJxX3MzMihzclsxXSwgc3JbMl0pOwotICAvLyB4MyA9
IHMwIC0gczM7Ci0gIHhsWzNdID0gdnN1YnFfczMyKHNsWzBdLCBzbFszXSk7Ci0gIHhyWzNdID0g
dnN1YnFfczMyKHNyWzBdLCBzclszXSk7Ci0KLSAgLy8gZmRjdDQoc3RlcCwgc3RlcCk7Ci0gIC8v
IG91dFswXSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoKHgwICsgeDEpICogY29zcGlf
MTZfNjQpCi0gIC8vIG91dFs0XSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoKHgwIC0g
eDEpICogY29zcGlfMTZfNjQpCi0gIGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX2Zhc3QoeGxbMF0s
IHhyWzBdLCB4bFsxXSwgeHJbMV0sIGNvc3BpXzE2XzY0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZsZWZ0WzBdLCAmcmlnaHRbMF0sICZsZWZ0WzRdLCAmcmlnaHRbNF0pOwotICAv
LyBvdXRbMl0gPSAodHJhbl9sb3dfdClmZGN0X3JvdW5kX3NoaWZ0KHgyICogY29zcGlfMjRfNjQg
KyB4MyAqIGNvc3BpXzhfNjQpCi0gIC8vIG91dFs2XSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRf
c2hpZnQoLXgyICogY29zcGlfOF82NCArIHgzICogY29zcGlfMjRfNjQpCi0gIGJ1dHRlcmZseV90
d29fY29lZmZfczMyKHhsWzNdLCB4clszXSwgeGxbMl0sIHhyWzJdLCBjb3NwaV84XzY0LCBjb3Nw
aV8yNF82NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmxlZnRbMl0sICZyaWdodFsyXSwg
JmxlZnRbNl0sICZyaWdodFs2XSk7Ci0KLSAgLy8gU3RhZ2UgMgotICAvLyB0MCA9IChzNiAtIHM1
KSAqIGNvc3BpXzE2XzY0OwotICAvLyB0MSA9IChzNiArIHM1KSAqIGNvc3BpXzE2XzY0OwotICBi
dXR0ZXJmbHlfb25lX2NvZWZmX3MzMl9mYXN0KHNsWzZdLCBzcls2XSwgc2xbNV0sIHNyWzVdLCBj
b3NwaV8xNl82NCwgJnRsWzFdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0clsx
XSwgJnRsWzBdLCAmdHJbMF0pOwotCi0gIC8vIFN0YWdlIDMKLSAgeGxbMF0gPSB2YWRkcV9zMzIo
c2xbNF0sIHRsWzBdKTsKLSAgeHJbMF0gPSB2YWRkcV9zMzIoc3JbNF0sIHRyWzBdKTsKLSAgeGxb
MV0gPSB2c3VicV9zMzIoc2xbNF0sIHRsWzBdKTsKLSAgeHJbMV0gPSB2c3VicV9zMzIoc3JbNF0s
IHRyWzBdKTsKLSAgeGxbMl0gPSB2c3VicV9zMzIoc2xbN10sIHRsWzFdKTsKLSAgeHJbMl0gPSB2
c3VicV9zMzIoc3JbN10sIHRyWzFdKTsKLSAgeGxbM10gPSB2YWRkcV9zMzIoc2xbN10sIHRsWzFd
KTsKLSAgeHJbM10gPSB2YWRkcV9zMzIoc3JbN10sIHRyWzFdKTsKLQotICAvLyBTdGFnZSA0Ci0g
IC8vIG91dFsxXSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoeDAgKiBjb3NwaV8yOF82
NCArIHgzICogY29zcGlfNF82NCkKLSAgLy8gb3V0WzddID0gKHRyYW5fbG93X3QpZmRjdF9yb3Vu
ZF9zaGlmdCh4MyAqIGNvc3BpXzI4XzY0ICsgeDAgKiAtY29zcGlfNF82NCkKLSAgYnV0dGVyZmx5
X3R3b19jb2VmZl9zMzIoeGxbM10sIHhyWzNdLCB4bFswXSwgeHJbMF0sIGNvc3BpXzRfNjQsIGNv
c3BpXzI4XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAmbGVmdFsxXSwgJnJpZ2h0WzFd
LCAmbGVmdFs3XSwgJnJpZ2h0WzddKTsKLQotICAvLyBvdXRbNV0gPSAodHJhbl9sb3dfdClmZGN0
X3JvdW5kX3NoaWZ0KHgxICogY29zcGlfMTJfNjQgKyB4MiAqIGNvc3BpXzIwXzY0KQotICAvLyBv
dXRbM10gPSAodHJhbl9sb3dfdClmZGN0X3JvdW5kX3NoaWZ0KHgyICogY29zcGlfMTJfNjQgKyB4
MSAqIC1jb3NwaV8yMF82NCkKLSAgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzIoeGxbMl0sIHhyWzJd
LCB4bFsxXSwgeHJbMV0sIGNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmxlZnRbNV0sICZyaWdodFs1XSwgJmxlZnRbM10sICZyaWdodFszXSk7Ci19
Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfaGlnaGJkX2ZkY3Q4eDhfcGFzczJfbm90cmFuc3Bv
c2VfbmVvbihpbnQzMng0X3QgKmxlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICpyaWdodCkgewotICBpbnQz
Mng0X3Qgc2xbOF0sIHNyWzhdLCB4bFs0XSwgeHJbNF0sIHRsWzRdLCB0cls0XTsKLQotICBzbFsw
XSA9IHZhZGRxX3MzMihsZWZ0WzBdLCBsZWZ0WzddKTsKLSAgc2xbMV0gPSB2YWRkcV9zMzIobGVm
dFsxXSwgbGVmdFs2XSk7Ci0gIHNsWzJdID0gdmFkZHFfczMyKGxlZnRbMl0sIGxlZnRbNV0pOwot
ICBzbFszXSA9IHZhZGRxX3MzMihsZWZ0WzNdLCBsZWZ0WzRdKTsKLSAgc2xbNF0gPSB2c3VicV9z
MzIobGVmdFszXSwgbGVmdFs0XSk7Ci0gIHNsWzVdID0gdnN1YnFfczMyKGxlZnRbMl0sIGxlZnRb
NV0pOwotICBzbFs2XSA9IHZzdWJxX3MzMihsZWZ0WzFdLCBsZWZ0WzZdKTsKLSAgc2xbN10gPSB2
c3VicV9zMzIobGVmdFswXSwgbGVmdFs3XSk7Ci0gIHNyWzBdID0gdmFkZHFfczMyKHJpZ2h0WzBd
LCByaWdodFs3XSk7Ci0gIHNyWzFdID0gdmFkZHFfczMyKHJpZ2h0WzFdLCByaWdodFs2XSk7Ci0g
IHNyWzJdID0gdmFkZHFfczMyKHJpZ2h0WzJdLCByaWdodFs1XSk7Ci0gIHNyWzNdID0gdmFkZHFf
czMyKHJpZ2h0WzNdLCByaWdodFs0XSk7Ci0gIHNyWzRdID0gdnN1YnFfczMyKHJpZ2h0WzNdLCBy
aWdodFs0XSk7Ci0gIHNyWzVdID0gdnN1YnFfczMyKHJpZ2h0WzJdLCByaWdodFs1XSk7Ci0gIHNy
WzZdID0gdnN1YnFfczMyKHJpZ2h0WzFdLCByaWdodFs2XSk7Ci0gIHNyWzddID0gdnN1YnFfczMy
KHJpZ2h0WzBdLCByaWdodFs3XSk7Ci0KLSAgLy8gZmRjdDQoc3RlcCwgc3RlcCk7Ci0gIC8vIHgw
ID0gczAgKyBzMzsKLSAgeGxbMF0gPSB2YWRkcV9zMzIoc2xbMF0sIHNsWzNdKTsKLSAgeHJbMF0g
PSB2YWRkcV9zMzIoc3JbMF0sIHNyWzNdKTsKLSAgLy8geDEgPSBzMSArIHMyOwotICB4bFsxXSA9
IHZhZGRxX3MzMihzbFsxXSwgc2xbMl0pOwotICB4clsxXSA9IHZhZGRxX3MzMihzclsxXSwgc3Jb
Ml0pOwotICAvLyB4MiA9IHMxIC0gczI7Ci0gIHhsWzJdID0gdnN1YnFfczMyKHNsWzFdLCBzbFsy
XSk7Ci0gIHhyWzJdID0gdnN1YnFfczMyKHNyWzFdLCBzclsyXSk7Ci0gIC8vIHgzID0gczAgLSBz
MzsKLSAgeGxbM10gPSB2c3VicV9zMzIoc2xbMF0sIHNsWzNdKTsKLSAgeHJbM10gPSB2c3VicV9z
MzIoc3JbMF0sIHNyWzNdKTsKLQotICAvLyBmZGN0NChzdGVwLCBzdGVwKTsKLSAgLy8gb3V0WzBd
ID0gKHRyYW5fbG93X3QpZmRjdF9yb3VuZF9zaGlmdCgoeDAgKyB4MSkgKiBjb3NwaV8xNl82NCkK
LSAgLy8gb3V0WzRdID0gKHRyYW5fbG93X3QpZmRjdF9yb3VuZF9zaGlmdCgoeDAgLSB4MSkgKiBj
b3NwaV8xNl82NCkKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMzJfZmFzdCh4bFswXSwgeHJbMF0s
IHhsWzFdLCB4clsxXSwgY29zcGlfMTZfNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmxlZnRbMF0sICZyaWdodFswXSwgJmxlZnRbNF0sICZyaWdodFs0XSk7Ci0gIC8vIG91dFsy
XSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoeDIgKiBjb3NwaV8yNF82NCArIHgzICog
Y29zcGlfOF82NCkKLSAgLy8gb3V0WzZdID0gKHRyYW5fbG93X3QpZmRjdF9yb3VuZF9zaGlmdCgt
eDIgKiBjb3NwaV84XzY0ICsgeDMgKiBjb3NwaV8yNF82NCkKLSAgYnV0dGVyZmx5X3R3b19jb2Vm
Zl9zMzJfczY0X25hcnJvdyh4bFszXSwgeHJbM10sIHhsWzJdLCB4clsyXSwgY29zcGlfOF82NCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3NwaV8yNF82NCwgJmxlZnRb
Ml0sICZyaWdodFsyXSwgJmxlZnRbNl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJnJpZ2h0WzZdKTsKLQotICAvLyBTdGFnZSAyCi0gIC8vIHQwID0gKHM2IC0gczUpICog
Y29zcGlfMTZfNjQ7Ci0gIC8vIHQxID0gKHM2ICsgczUpICogY29zcGlfMTZfNjQ7Ci0gIGJ1dHRl
cmZseV9vbmVfY29lZmZfczMyX2Zhc3Qoc2xbNl0sIHNyWzZdLCBzbFs1XSwgc3JbNV0sIGNvc3Bp
XzE2XzY0LCAmdGxbMV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRyWzFdLCAm
dGxbMF0sICZ0clswXSk7Ci0KLSAgLy8gU3RhZ2UgMwotICB4bFswXSA9IHZhZGRxX3MzMihzbFs0
XSwgdGxbMF0pOwotICB4clswXSA9IHZhZGRxX3MzMihzcls0XSwgdHJbMF0pOwotICB4bFsxXSA9
IHZzdWJxX3MzMihzbFs0XSwgdGxbMF0pOwotICB4clsxXSA9IHZzdWJxX3MzMihzcls0XSwgdHJb
MF0pOwotICB4bFsyXSA9IHZzdWJxX3MzMihzbFs3XSwgdGxbMV0pOwotICB4clsyXSA9IHZzdWJx
X3MzMihzcls3XSwgdHJbMV0pOwotICB4bFszXSA9IHZhZGRxX3MzMihzbFs3XSwgdGxbMV0pOwot
ICB4clszXSA9IHZhZGRxX3MzMihzcls3XSwgdHJbMV0pOwotCi0gIC8vIFN0YWdlIDQKLSAgLy8g
b3V0WzFdID0gKHRyYW5fbG93X3QpZmRjdF9yb3VuZF9zaGlmdCh4MCAqIGNvc3BpXzI4XzY0ICsg
eDMgKiBjb3NwaV80XzY0KQotICAvLyBvdXRbN10gPSAodHJhbl9sb3dfdClmZGN0X3JvdW5kX3No
aWZ0KHgzICogY29zcGlfMjhfNjQgKyB4MCAqIC1jb3NwaV80XzY0KQotICBidXR0ZXJmbHlfdHdv
X2NvZWZmX3MzMl9zNjRfbmFycm93KHhsWzNdLCB4clszXSwgeGxbMF0sIHhyWzBdLCBjb3NwaV80
XzY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3BpXzI4XzY0LCAm
bGVmdFsxXSwgJnJpZ2h0WzFdLCAmbGVmdFs3XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmcmlnaHRbN10pOwotCi0gIC8vIG91dFs1XSA9ICh0cmFuX2xvd190KWZkY3Rf
cm91bmRfc2hpZnQoeDEgKiBjb3NwaV8xMl82NCArIHgyICogY29zcGlfMjBfNjQpCi0gIC8vIG91
dFszXSA9ICh0cmFuX2xvd190KWZkY3Rfcm91bmRfc2hpZnQoeDIgKiBjb3NwaV8xMl82NCArIHgx
ICogLWNvc3BpXzIwXzY0KQotICBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbmFycm93KHhs
WzJdLCB4clsyXSwgeGxbMV0sIHhyWzFdLCBjb3NwaV8yMF82NCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb3NwaV8xMl82NCwgJmxlZnRbNV0sICZyaWdodFs1XSwgJmxl
ZnRbM10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJpZ2h0WzNdKTsK
LX0KLQotc3RhdGljIElOTElORSB2b2lkIHZweF9oaWdoYmRfZmRjdDh4OF9wYXNzMV9uZW9uKGlu
dDMyeDRfdCAqbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMng0X3QgKnJpZ2h0KSB7Ci0gIHZweF9oaWdoYmRfZmRjdDh4OF9wYXNzMV9u
b3RyYW5zcG9zZV9uZW9uKGxlZnQsIHJpZ2h0KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0
LCByaWdodCwgbGVmdCwgcmlnaHQpOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdnB4X2hpZ2hi
ZF9mZGN0OHg4X3Bhc3MyX25lb24oaW50MzJ4NF90ICpsZWZ0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyeDRfdCAqcmlnaHQpIHsKLSAgdnB4
X2hpZ2hiZF9mZGN0OHg4X3Bhc3MyX25vdHJhbnNwb3NlX25lb24obGVmdCwgcmlnaHQpOwotICB0
cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQsIHJpZ2h0LCBsZWZ0LCByaWdodCk7Ci19Ci0KLSNlbmRp
ZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSNlbmRpZiAgLy8gVlBYX1ZQWF9EU1BfQVJN
X0ZEQ1Q4WDhfTkVPTl9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0
X25lb24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdF9uZW9uLmMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zNzA4Y2JiMTFmZTkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ZkY3RfbmVvbi5jCkBAIC0wLDAgKzEsOTEgQEAK
Ky8qCisgKiAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQorICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorICogIHRyZWUuIEFuIGFk
ZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQK
KyAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhv
cnMgbWF5CisgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0
aGUgc291cmNlIHRyZWUuCisgKi8KKworI2luY2x1ZGUgPGFybV9uZW9uLmg+CisKKyNpbmNsdWRl
ICIuL3ZweF9jb25maWcuaCIKKyNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgorI2luY2x1ZGUg
InZweF9kc3AvdHhmbV9jb21tb24uaCIKKyNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9u
LmgiCisjaW5jbHVkZSAidnB4X2RzcC9hcm0vaWRjdF9uZW9uLmgiCisjaW5jbHVkZSAidnB4X2Rz
cC9hcm0vbWVtX25lb24uaCIKKyNpbmNsdWRlICJ2cHhfZHNwL2FybS90cmFuc3Bvc2VfbmVvbi5o
IgorCit2b2lkIHZweF9mZGN0NHg0X25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93
X3QgKmZpbmFsX291dHB1dCwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlKSB7Cisg
IGludCBpOworICAvLyBpbnB1dFtNICogc3RyaWRlXSAqIDE2CisgIGludDE2eDRfdCBpbnB1dF8w
ID0gdnNobF9uX3MxNih2bGQxX3MxNihpbnB1dCArIDAgKiBzdHJpZGUpLCA0KTsKKyAgaW50MTZ4
NF90IGlucHV0XzEgPSB2c2hsX25fczE2KHZsZDFfczE2KGlucHV0ICsgMSAqIHN0cmlkZSksIDQp
OworICBpbnQxNng0X3QgaW5wdXRfMiA9IHZzaGxfbl9zMTYodmxkMV9zMTYoaW5wdXQgKyAyICog
c3RyaWRlKSwgNCk7CisgIGludDE2eDRfdCBpbnB1dF8zID0gdnNobF9uX3MxNih2bGQxX3MxNihp
bnB1dCArIDMgKiBzdHJpZGUpLCA0KTsKKworICAvLyBJZiB0aGUgdmVyeSBmaXJzdCB2YWx1ZSAh
PSAwLCB0aGVuIGFkZCAxLgorICBpZiAoaW5wdXRbMF0gIT0gMCkgeworICAgIGNvbnN0IGludDE2
eDRfdCBvbmUgPSB2cmVpbnRlcnByZXRfczE2X3M2NCh2ZHVwX25fczY0KDEpKTsKKyAgICBpbnB1
dF8wID0gdmFkZF9zMTYoaW5wdXRfMCwgb25lKTsKKyAgfQorCisgIGZvciAoaSA9IDA7IGkgPCAy
OyArK2kpIHsKKyAgICBjb25zdCBpbnQxNng4X3QgaW5wdXRfMDEgPSB2Y29tYmluZV9zMTYoaW5w
dXRfMCwgaW5wdXRfMSk7CisgICAgY29uc3QgaW50MTZ4OF90IGlucHV0XzMyID0gdmNvbWJpbmVf
czE2KGlucHV0XzMsIGlucHV0XzIpOworCisgICAgLy8gaW5fMCArLy0gaW5fMywgaW5fMSArLy0g
aW5fMgorICAgIGNvbnN0IGludDE2eDhfdCBzXzAxID0gdmFkZHFfczE2KGlucHV0XzAxLCBpbnB1
dF8zMik7CisgICAgY29uc3QgaW50MTZ4OF90IHNfMzIgPSB2c3VicV9zMTYoaW5wdXRfMDEsIGlu
cHV0XzMyKTsKKworICAgIC8vIHN0ZXBfMCArLy0gc3RlcF8xLCBzdGVwXzIgKy8tIHN0ZXBfMwor
ICAgIGNvbnN0IGludDE2eDRfdCBzXzAgPSB2Z2V0X2xvd19zMTYoc18wMSk7CisgICAgY29uc3Qg
aW50MTZ4NF90IHNfMSA9IHZnZXRfaGlnaF9zMTYoc18wMSk7CisgICAgY29uc3QgaW50MTZ4NF90
IHNfMiA9IHZnZXRfaGlnaF9zMTYoc18zMik7CisgICAgY29uc3QgaW50MTZ4NF90IHNfMyA9IHZn
ZXRfbG93X3MxNihzXzMyKTsKKworICAgIC8vIChzXzAgKy8tIHNfMSkgKiBjb3NwaV8xNl82NAor
ICAgIC8vIE11c3QgZXhwYW5kIGFsbCBlbGVtZW50cyB0byBzMzIuIFNlZSAnbmVlZHMzMicgY29t
bWVudCBpbiBmd2RfdHhmbS5jLgorICAgIGNvbnN0IGludDMyeDRfdCBzXzBfcF9zXzEgPSB2YWRk
bF9zMTYoc18wLCBzXzEpOworICAgIGNvbnN0IGludDMyeDRfdCBzXzBfbV9zXzEgPSB2c3VibF9z
MTYoc18wLCBzXzEpOworICAgIGNvbnN0IGludDMyeDRfdCB0ZW1wMSA9IHZtdWxxX25fczMyKHNf
MF9wX3NfMSwgY29zcGlfMTZfNjQpOworICAgIGNvbnN0IGludDMyeDRfdCB0ZW1wMiA9IHZtdWxx
X25fczMyKHNfMF9tX3NfMSwgY29zcGlfMTZfNjQpOworCisgICAgLy8gZmRjdF9yb3VuZF9zaGlm
dAorICAgIGludDE2eDRfdCBvdXRfMCA9IHZyc2hybl9uX3MzMih0ZW1wMSwgRENUX0NPTlNUX0JJ
VFMpOworICAgIGludDE2eDRfdCBvdXRfMiA9IHZyc2hybl9uX3MzMih0ZW1wMiwgRENUX0NPTlNU
X0JJVFMpOworCisgICAgLy8gc18zICogY29zcGlfOF82NCArIHNfMiAqIGNvc3BpXzI0XzY0Cisg
ICAgLy8gc18zICogY29zcGlfMjRfNjQgLSBzXzIgKiBjb3NwaV84XzY0CisgICAgY29uc3QgaW50
MzJ4NF90IHNfM19jb3NwaV84XzY0ID0gdm11bGxfbl9zMTYoc18zLCBjb3NwaV84XzY0KTsKKyAg
ICBjb25zdCBpbnQzMng0X3Qgc18zX2Nvc3BpXzI0XzY0ID0gdm11bGxfbl9zMTYoc18zLCBjb3Nw
aV8yNF82NCk7CisKKyAgICBjb25zdCBpbnQzMng0X3QgdGVtcDMgPSB2bWxhbF9uX3MxNihzXzNf
Y29zcGlfOF82NCwgc18yLCBjb3NwaV8yNF82NCk7CisgICAgY29uc3QgaW50MzJ4NF90IHRlbXA0
ID0gdm1sc2xfbl9zMTYoc18zX2Nvc3BpXzI0XzY0LCBzXzIsIGNvc3BpXzhfNjQpOworCisgICAg
Ly8gZmRjdF9yb3VuZF9zaGlmdAorICAgIGludDE2eDRfdCBvdXRfMSA9IHZyc2hybl9uX3MzMih0
ZW1wMywgRENUX0NPTlNUX0JJVFMpOworICAgIGludDE2eDRfdCBvdXRfMyA9IHZyc2hybl9uX3Mz
Mih0ZW1wNCwgRENUX0NPTlNUX0JJVFMpOworCisgICAgdHJhbnNwb3NlX3MxNl80eDRkKCZvdXRf
MCwgJm91dF8xLCAmb3V0XzIsICZvdXRfMyk7CisKKyAgICBpbnB1dF8wID0gb3V0XzA7CisgICAg
aW5wdXRfMSA9IG91dF8xOworICAgIGlucHV0XzIgPSBvdXRfMjsKKyAgICBpbnB1dF8zID0gb3V0
XzM7CisgIH0KKworICB7CisgICAgLy8gTm90IHF1aXRlIGEgcm91bmRpbmcgc2hpZnQuIE9ubHkg
YWRkIDEgZGVzcGl0ZSBzaGlmdGluZyBieSAyLgorICAgIGNvbnN0IGludDE2eDhfdCBvbmUgPSB2
ZHVwcV9uX3MxNigxKTsKKyAgICBpbnQxNng4X3Qgb3V0XzAxID0gdmNvbWJpbmVfczE2KGlucHV0
XzAsIGlucHV0XzEpOworICAgIGludDE2eDhfdCBvdXRfMjMgPSB2Y29tYmluZV9zMTYoaW5wdXRf
MiwgaW5wdXRfMyk7CisgICAgb3V0XzAxID0gdnNocnFfbl9zMTYodmFkZHFfczE2KG91dF8wMSwg
b25lKSwgMik7CisgICAgb3V0XzIzID0gdnNocnFfbl9zMTYodmFkZHFfczE2KG91dF8yMywgb25l
KSwgMik7CisgICAgc3RvcmVfczE2cV90b190cmFuX2xvdyhmaW5hbF9vdXRwdXQgKyAwICogOCwg
b3V0XzAxKTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291dHB1dCArIDEgKiA4
LCBvdXRfMjMpOworICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2Zk
Y3RfbmVvbi5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0X25lb24uaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMTZmNWM1ZmMwZTY0Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9mZGN0X25lb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDU0MiAr
MCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhv
cnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl
IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVl
LiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJl
IGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVj
dCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJv
b3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpZm5kZWYgVlBYX1ZQWF9EU1BfQVJNX0ZE
Q1RfTkVPTl9IXwotI2RlZmluZSBWUFhfVlBYX0RTUF9BUk1fRkRDVF9ORU9OX0hfCi0KLSNpbmNs
dWRlIDxhcm1fbmVvbi5oPgotCi0vLyBmZGN0X3JvdW5kX3NoaWZ0KChhICsvLSBiKSAqIGMpCi0v
LyBWYXJpYW50IHRoYXQgcGVyZm9ybXMgZmFzdCB2cXJkbXVsaF9zMTYgb3BlcmF0aW9uIG9uIGhh
bGYgdmVjdG9yCi0vLyBjYW4gYmUgc2xpZ2h0bHkgbGVzcyBhY2N1cmF0ZSwgYWRlcXVhdGUgZm9y
IHBhc3MxCi1zdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfZmFzdF9o
YWxmKGNvbnN0IGludDE2eDRfdCBhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNng0X3QgYiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9jb2VmX3QgY29u
c3RhbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDE2eDRfdCAqYWRkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQxNng0X3QgKnN1YikgewotICBpbnQxNng0X3QgYyA9IHZkdXBf
bl9zMTYoMiAqIGNvbnN0YW50KTsKLSAgKmFkZCA9IHZxcmRtdWxoX3MxNih2YWRkX3MxNihhLCBi
KSwgYyk7Ci0gICpzdWIgPSB2cXJkbXVsaF9zMTYodnN1Yl9zMTYoYSwgYiksIGMpOwotfQotCi0v
LyBmZGN0X3JvdW5kX3NoaWZ0KChhICsvLSBiKSAqIGMpCi0vLyBWYXJpYW50IHRoYXQgcGVyZm9y
bXMgZmFzdCB2cXJkbXVsaF9zMTYgb3BlcmF0aW9uIG9uIGZ1bGwgdmVjdG9yCi0vLyBjYW4gYmUg
c2xpZ2h0bHkgbGVzcyBhY2N1cmF0ZSwgYWRlcXVhdGUgZm9yIHBhc3MxCi1zdGF0aWMgSU5MSU5F
IHZvaWQgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfZmFzdChjb25zdCBpbnQxNng4X3QgYSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
eDhfdCBiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQxNng4X3QgKmFkZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqc3ViKSB7Ci0gIGludDE2eDhf
dCBjID0gdmR1cHFfbl9zMTYoMiAqIGNvbnN0YW50KTsKLSAgKmFkZCA9IHZxcmRtdWxocV9zMTYo
dmFkZHFfczE2KGEsIGIpLCBjKTsKLSAgKnN1YiA9IHZxcmRtdWxocV9zMTYodnN1YnFfczE2KGEs
IGIpLCBjKTsKLX0KLQotLy8gZmRjdF9yb3VuZF9zaGlmdCgoYSArLy0gYikgKiBjKQotLy8gVmFy
aWFudCB0aGF0IHBlcmZvcm1zIGZhc3QgdnFyZG11bGhxX3MzMiBvcGVyYXRpb24gb24gZnVsbCB2
ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUgZG9lcyAzMi1iaXQgcHJvY2Vzc2luZywgdGFrZXMgMTYt
Yml0IGlucHV0IHZhbHVlcywKLS8vIHJldHVybnMgZnVsbCAzMi1iaXQgdmFsdWVzLCBoaWdoL2xv
dwotc3RhdGljIElOTElORSB2b2lkIGJ1dHRlcmZseV9vbmVfY29lZmZfczE2X3MzMl9mYXN0KAot
ICAgIGNvbnN0IGludDE2eDhfdCBhLCBjb25zdCBpbnQxNng4X3QgYiwgY29uc3QgdHJhbl9jb2Vm
X3QgY29uc3RhbnQsCi0gICAgaW50MzJ4NF90ICphZGRfbG8sIGludDMyeDRfdCAqYWRkX2hpLCBp
bnQzMng0X3QgKnN1Yl9sbywKLSAgICBpbnQzMng0X3QgKnN1Yl9oaSkgewotICBpbnQzMng0X3Qg
YyA9IHZkdXBxX25fczMyKGNvbnN0YW50IDw8IDE3KTsKLSAgY29uc3QgaW50MTZ4NF90IGFfbG8g
PSB2Z2V0X2xvd19zMTYoYSk7Ci0gIGNvbnN0IGludDE2eDRfdCBhX2hpID0gdmdldF9oaWdoX3Mx
NihhKTsKLSAgY29uc3QgaW50MTZ4NF90IGJfbG8gPSB2Z2V0X2xvd19zMTYoYik7Ci0gIGNvbnN0
IGludDE2eDRfdCBiX2hpID0gdmdldF9oaWdoX3MxNihiKTsKLSAgKmFkZF9sbyA9IHZxcmRtdWxo
cV9zMzIodmFkZGxfczE2KGFfbG8sIGJfbG8pLCBjKTsKLSAgKmFkZF9oaSA9IHZxcmRtdWxocV9z
MzIodmFkZGxfczE2KGFfaGksIGJfaGkpLCBjKTsKLSAgKnN1Yl9sbyA9IHZxcmRtdWxocV9zMzIo
dnN1YmxfczE2KGFfbG8sIGJfbG8pLCBjKTsKLSAgKnN1Yl9oaSA9IHZxcmRtdWxocV9zMzIodnN1
YmxfczE2KGFfaGksIGJfaGkpLCBjKTsKLX0KLQotLy8gZmRjdF9yb3VuZF9zaGlmdCgoYSArLy0g
YikgKiBjKQotLy8gVmFyaWFudCB0aGF0IHBlcmZvcm1zIGZhc3QgdnFyZG11bGhxX3MzMiBvcGVy
YXRpb24gb24gZnVsbCB2ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUgZG9lcyAzMi1iaXQgcHJvY2Vz
c2luZywgdGFrZXMgMTYtYml0IGlucHV0IHZhbHVlcywKLS8vIHJldHVybnMgZnVsbCAzMi1iaXQg
dmFsdWVzLCBoaWdoL2xvdwotc3RhdGljIElOTElORSB2b2lkIGJ1dHRlcmZseV9vbmVfY29lZmZf
czE2X3MzMl9mYXN0X25hcnJvdygKLSAgICBjb25zdCBpbnQxNng4X3QgYSwgY29uc3QgaW50MTZ4
OF90IGIsIGNvbnN0IHRyYW5fY29lZl90IGNvbnN0YW50LAotICAgIGludDE2eDhfdCAqYWRkLCBp
bnQxNng4X3QgKnN1YikgewotICBpbnQzMng0X3QgYWRkX2xvLCBhZGRfaGksIHN1Yl9sbywgc3Vi
X2hpOwotICBidXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzJfZmFzdChhLCBiLCBjb25zdGFudCwg
JmFkZF9sbywgJmFkZF9oaSwgJnN1Yl9sbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJnN1Yl9oaSk7Ci0gICphZGQgPSB2Y29tYmluZV9zMTYodm1vdm5fczMyKGFkZF9sbyks
IHZtb3ZuX3MzMihhZGRfaGkpKTsKLSAgKnN1YiA9IHZjb21iaW5lX3MxNih2bW92bl9zMzIoc3Vi
X2xvKSwgdm1vdm5fczMyKHN1Yl9oaSkpOwotfQotCi0vLyBmZGN0X3JvdW5kX3NoaWZ0KChhICsv
LSBiKSAqIGMpCi0vLyBWYXJpYW50IHRoYXQgcGVyZm9ybXMgZmFzdCB2cXJkbXVsaHFfczMyIG9w
ZXJhdGlvbiBvbiBmdWxsIHZlY3RvcgotLy8gbW9yZSBhY2N1cmF0ZSBkb2VzIDMyLWJpdCBwcm9j
ZXNzaW5nLCB0YWtlcyAxNi1iaXQgaW5wdXQgdmFsdWVzLAotLy8gcmV0dXJucyBmdWxsIDMyLWJp
dCB2YWx1ZXMsIGhpZ2gvbG93Ci1zdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X29uZV9jb2Vm
Zl9zMTZfczMyX2Zhc3RfaGFsZigKLSAgICBjb25zdCBpbnQxNng0X3QgYSwgY29uc3QgaW50MTZ4
NF90IGIsIGNvbnN0IHRyYW5fY29lZl90IGNvbnN0YW50LAotICAgIGludDMyeDRfdCAqYWRkLCBp
bnQzMng0X3QgKnN1YikgewotICBpbnQzMng0X3QgYyA9IHZkdXBxX25fczMyKGNvbnN0YW50IDw8
IDE3KTsKLSAgKmFkZCA9IHZxcmRtdWxocV9zMzIodmFkZGxfczE2KGEsIGIpLCBjKTsKLSAgKnN1
YiA9IHZxcmRtdWxocV9zMzIodnN1YmxfczE2KGEsIGIpLCBjKTsKLX0KLQotLy8gZmRjdF9yb3Vu
ZF9zaGlmdCgoYSArLy0gYikgKiBjKQotLy8gVmFyaWFudCB0aGF0IHBlcmZvcm1zIGZhc3QgdnFy
ZG11bGhxX3MzMiBvcGVyYXRpb24gb24gaGFsZiB2ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUgZG9l
cyAzMi1iaXQgcHJvY2Vzc2luZywgdGFrZXMgMTYtYml0IGlucHV0IHZhbHVlcywKLS8vIHJldHVy
bnMgbmFycm93ZWQgZG93biAxNi1iaXQgdmFsdWVzCi1zdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVy
Zmx5X29uZV9jb2VmZl9zMTZfczMyX2Zhc3RfbmFycm93X2hhbGYoCi0gICAgY29uc3QgaW50MTZ4
NF90IGEsIGNvbnN0IGludDE2eDRfdCBiLCBjb25zdCB0cmFuX2NvZWZfdCBjb25zdGFudCwKLSAg
ICBpbnQxNng0X3QgKmFkZCwgaW50MTZ4NF90ICpzdWIpIHsKLSAgaW50MzJ4NF90IGFkZDMyLCBz
dWIzMjsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfczMyX2Zhc3RfaGFsZihhLCBiLCBjb25z
dGFudCwgJmFkZDMyLCAmc3ViMzIpOwotICAqYWRkID0gdm1vdm5fczMyKGFkZDMyKTsKLSAgKnN1
YiA9IHZtb3ZuX3MzMihzdWIzMik7Ci19Ci0KLS8vIGZkY3Rfcm91bmRfc2hpZnQoKGEgKy8tIGIp
ICogYykKLS8vIE9yaWdpbmFsIFZhcmlhbnQgdGhhdCBwZXJmb3JtcyBub3JtYWwgaW1wbGVtZW50
YXRpb24gb24gZnVsbCB2ZWN0b3IKLS8vIGZ1bGx5IGFjY3VyYXRlIGRvZXMgMzItYml0IHByb2Nl
c3NpbmcsIHRha2VzIDE2LWJpdCB2YWx1ZXMKLXN0YXRpYyBJTkxJTkUgdm9pZCBidXR0ZXJmbHlf
b25lX2NvZWZmX3MxNl9zMzIoCi0gICAgY29uc3QgaW50MTZ4OF90IGEsIGNvbnN0IGludDE2eDhf
dCBiLCBjb25zdCB0cmFuX2NvZWZfdCBjb25zdGFudCwKLSAgICBpbnQzMng0X3QgKmFkZF9sbywg
aW50MzJ4NF90ICphZGRfaGksIGludDMyeDRfdCAqc3ViX2xvLAotICAgIGludDMyeDRfdCAqc3Vi
X2hpKSB7Ci0gIGNvbnN0IGludDMyeDRfdCBhMCA9IHZtdWxsX25fczE2KHZnZXRfbG93X3MxNihh
KSwgY29uc3RhbnQpOwotICBjb25zdCBpbnQzMng0X3QgYTEgPSB2bXVsbF9uX3MxNih2Z2V0X2hp
Z2hfczE2KGEpLCBjb25zdGFudCk7Ci0gIGNvbnN0IGludDMyeDRfdCBzdW0wID0gdm1sYWxfbl9z
MTYoYTAsIHZnZXRfbG93X3MxNihiKSwgY29uc3RhbnQpOwotICBjb25zdCBpbnQzMng0X3Qgc3Vt
MSA9IHZtbGFsX25fczE2KGExLCB2Z2V0X2hpZ2hfczE2KGIpLCBjb25zdGFudCk7Ci0gIGNvbnN0
IGludDMyeDRfdCBkaWZmMCA9IHZtbHNsX25fczE2KGEwLCB2Z2V0X2xvd19zMTYoYiksIGNvbnN0
YW50KTsKLSAgY29uc3QgaW50MzJ4NF90IGRpZmYxID0gdm1sc2xfbl9zMTYoYTEsIHZnZXRfaGln
aF9zMTYoYiksIGNvbnN0YW50KTsKLSAgKmFkZF9sbyA9IHZyc2hycV9uX3MzMihzdW0wLCBEQ1Rf
Q09OU1RfQklUUyk7Ci0gICphZGRfaGkgPSB2cnNocnFfbl9zMzIoc3VtMSwgRENUX0NPTlNUX0JJ
VFMpOwotICAqc3ViX2xvID0gdnJzaHJxX25fczMyKGRpZmYwLCBEQ1RfQ09OU1RfQklUUyk7Ci0g
ICpzdWJfaGkgPSB2cnNocnFfbl9zMzIoZGlmZjEsIERDVF9DT05TVF9CSVRTKTsKLX0KLQotLy8g
ZmRjdF9yb3VuZF9zaGlmdCgoYSArLy0gYikgKiBjKQotLy8gT3JpZ2luYWwgVmFyaWFudCB0aGF0
IHBlcmZvcm1zIG5vcm1hbCBpbXBsZW1lbnRhdGlvbiBvbiBmdWxsIHZlY3RvcgotLy8gZnVsbHkg
YWNjdXJhdGUgZG9lcyAzMi1iaXQgcHJvY2Vzc2luZywgdGFrZXMgMTYtYml0IHZhbHVlcwotLy8g
cmV0dXJucyBuYXJyb3dlZCBkb3duIDE2LWJpdCB2YWx1ZXMKLXN0YXRpYyBJTkxJTkUgdm9pZCBi
dXR0ZXJmbHlfb25lX2NvZWZmX3MxNl9zMzJfbmFycm93KAotICAgIGNvbnN0IGludDE2eDhfdCBh
LCBjb25zdCBpbnQxNng4X3QgYiwgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQsCi0gICAgaW50
MTZ4OF90ICphZGQsIGludDE2eDhfdCAqc3ViKSB7Ci0gIGludDMyeDRfdCBhZGQzMl9sbywgYWRk
MzJfaGksIHN1YjMyX2xvLCBzdWIzMl9oaTsKLSAgYnV0dGVyZmx5X29uZV9jb2VmZl9zMTZfczMy
KGEsIGIsIGNvbnN0YW50LCAmYWRkMzJfbG8sICZhZGQzMl9oaSwgJnN1YjMyX2xvLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnN1YjMyX2hpKTsKLSAgKmFkZCA9IHZjb21iaW5lX3Mx
Nih2bW92bl9zMzIoYWRkMzJfbG8pLCB2bW92bl9zMzIoYWRkMzJfaGkpKTsKLSAgKnN1YiA9IHZj
b21iaW5lX3MxNih2bW92bl9zMzIoc3ViMzJfbG8pLCB2bW92bl9zMzIoc3ViMzJfaGkpKTsKLX0K
LQotLy8gZmRjdF9yb3VuZF9zaGlmdCgoYSArLy0gYikgKiBjKQotLy8gVmFyaWFudCB0aGF0IHBl
cmZvcm1zIGZhc3QgdnFyZG11bGhxX3MzMiBvcGVyYXRpb24gb24gZnVsbCB2ZWN0b3IKLS8vIG1v
cmUgYWNjdXJhdGUgZG9lcyAzMi1iaXQgcHJvY2Vzc2luZywgdGFrZXMgYW5kIHJldHVybnMgMzIt
Yml0IHZhbHVlcywKLS8vIGhpZ2gvbG93Ci1zdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X29u
ZV9jb2VmZl9zMzJfbm9yb3VuZCgKLSAgICBjb25zdCBpbnQzMng0X3QgYV9sbywgY29uc3QgaW50
MzJ4NF90IGFfaGksIGNvbnN0IGludDMyeDRfdCBiX2xvLAotICAgIGNvbnN0IGludDMyeDRfdCBi
X2hpLCBjb25zdCB0cmFuX2NvZWZfdCBjb25zdGFudCwgaW50MzJ4NF90ICphZGRfbG8sCi0gICAg
aW50MzJ4NF90ICphZGRfaGksIGludDMyeDRfdCAqc3ViX2xvLCBpbnQzMng0X3QgKnN1Yl9oaSkg
ewotICBjb25zdCBpbnQzMng0X3QgYTEgPSB2bXVscV9uX3MzMihhX2xvLCBjb25zdGFudCk7Ci0g
IGNvbnN0IGludDMyeDRfdCBhMiA9IHZtdWxxX25fczMyKGFfaGksIGNvbnN0YW50KTsKLSAgY29u
c3QgaW50MzJ4NF90IGEzID0gdm11bHFfbl9zMzIoYV9sbywgY29uc3RhbnQpOwotICBjb25zdCBp
bnQzMng0X3QgYTQgPSB2bXVscV9uX3MzMihhX2hpLCBjb25zdGFudCk7Ci0gICphZGRfbG8gPSB2
bWxhcV9uX3MzMihhMSwgYl9sbywgY29uc3RhbnQpOwotICAqYWRkX2hpID0gdm1sYXFfbl9zMzIo
YTIsIGJfaGksIGNvbnN0YW50KTsKLSAgKnN1Yl9sbyA9IHZtbHNxX25fczMyKGEzLCBiX2xvLCBj
b25zdGFudCk7Ci0gICpzdWJfaGkgPSB2bWxzcV9uX3MzMihhNCwgYl9oaSwgY29uc3RhbnQpOwot
fQotCi0vLyBmZGN0X3JvdW5kX3NoaWZ0KChhICsvLSBiKSAqIGMpCi0vLyBWYXJpYW50IHRoYXQg
cGVyZm9ybXMgZmFzdCB2cXJkbXVsaHFfczMyIG9wZXJhdGlvbiBvbiBmdWxsIHZlY3RvcgotLy8g
bW9yZSBhY2N1cmF0ZSBkb2VzIDMyLWJpdCBwcm9jZXNzaW5nLCB0YWtlcyBhbmQgcmV0dXJucyAz
Mi1iaXQgdmFsdWVzLAotLy8gaGlnaC9sb3cKLXN0YXRpYyBJTkxJTkUgdm9pZCBidXR0ZXJmbHlf
b25lX2NvZWZmX3MzMl9mYXN0X2hhbGYoY29uc3QgaW50MzJ4NF90IGEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyeDRfdCBi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB0cmFuX2NvZWZfdCBjb25zdGFudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICphZGQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyeDRfdCAqc3ViKSB7Ci0g
IGNvbnN0IGludDMyeDRfdCBjID0gdmR1cHFfbl9zMzIoY29uc3RhbnQgPDwgMTcpOwotICAqYWRk
ID0gdnFyZG11bGhxX3MzMih2YWRkcV9zMzIoYSwgYiksIGMpOwotICAqc3ViID0gdnFyZG11bGhx
X3MzMih2c3VicV9zMzIoYSwgYiksIGMpOwotfQotCi0vLyBmZGN0X3JvdW5kX3NoaWZ0KChhICsv
LSBiKSAqIGMpCi0vLyBWYXJpYW50IHRoYXQgcGVyZm9ybXMgZmFzdCB2cXJkbXVsaHFfczMyIG9w
ZXJhdGlvbiBvbiBmdWxsIHZlY3RvcgotLy8gbW9yZSBhY2N1cmF0ZSBkb2VzIDMyLWJpdCBwcm9j
ZXNzaW5nLCB0YWtlcyBhbmQgcmV0dXJucyAzMi1iaXQgdmFsdWVzLAotLy8gaGlnaC9sb3cKLXN0
YXRpYyBJTkxJTkUgdm9pZCBidXR0ZXJmbHlfb25lX2NvZWZmX3MzMl9mYXN0KAotICAgIGNvbnN0
IGludDMyeDRfdCBhX2xvLCBjb25zdCBpbnQzMng0X3QgYV9oaSwgY29uc3QgaW50MzJ4NF90IGJf
bG8sCi0gICAgY29uc3QgaW50MzJ4NF90IGJfaGksIGNvbnN0IHRyYW5fY29lZl90IGNvbnN0YW50
LCBpbnQzMng0X3QgKmFkZF9sbywKLSAgICBpbnQzMng0X3QgKmFkZF9oaSwgaW50MzJ4NF90ICpz
dWJfbG8sIGludDMyeDRfdCAqc3ViX2hpKSB7Ci0gIGNvbnN0IGludDMyeDRfdCBjID0gdmR1cHFf
bl9zMzIoY29uc3RhbnQgPDwgMTcpOwotICAqYWRkX2xvID0gdnFyZG11bGhxX3MzMih2YWRkcV9z
MzIoYV9sbywgYl9sbyksIGMpOwotICAqYWRkX2hpID0gdnFyZG11bGhxX3MzMih2YWRkcV9zMzIo
YV9oaSwgYl9oaSksIGMpOwotICAqc3ViX2xvID0gdnFyZG11bGhxX3MzMih2c3VicV9zMzIoYV9s
bywgYl9sbyksIGMpOwotICAqc3ViX2hpID0gdnFyZG11bGhxX3MzMih2c3VicV9zMzIoYV9oaSwg
Yl9oaSksIGMpOwotfQotCi0vLyBmZGN0X3JvdW5kX3NoaWZ0KChhICsvLSBiKSAqIGMpCi0vLyBW
YXJpYW50IHRoYXQgcGVyZm9ybXMgbm9ybWFsIGltcGxlbWVudGF0aW9uIG9uIGZ1bGwgdmVjdG9y
Ci0vLyBtb3JlIGFjY3VyYXRlIGRvZXMgNjQtYml0IHByb2Nlc3NpbmcsIHRha2VzIGFuZCByZXR1
cm5zIDMyLWJpdCB2YWx1ZXMKLS8vIHJldHVybnMgbmFycm93ZWQgcmVzdWx0cwotc3RhdGljIElO
TElORSB2b2lkIGJ1dHRlcmZseV9vbmVfY29lZmZfczMyX3M2NF9uYXJyb3coCi0gICAgY29uc3Qg
aW50MzJ4NF90IGFfbG8sIGNvbnN0IGludDMyeDRfdCBhX2hpLCBjb25zdCBpbnQzMng0X3QgYl9s
bywKLSAgICBjb25zdCBpbnQzMng0X3QgYl9oaSwgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQs
IGludDMyeDRfdCAqYWRkX2xvLAotICAgIGludDMyeDRfdCAqYWRkX2hpLCBpbnQzMng0X3QgKnN1
Yl9sbywgaW50MzJ4NF90ICpzdWJfaGkpIHsKLSAgLy8gYWMgaG9sZHMgdGhlIGZvbGxvd2luZyB2
YWx1ZXM6Ci0gIC8vIGFjOiB2Z2V0X2xvd19zMzIoYV9sbykgKiBjLCB2Z2V0X2hpZ2hfczMyKGFf
bG8pICogYywKLSAgLy8gICAgIHZnZXRfbG93X3MzMihhX2hpKSAqIGMsIHZnZXRfaGlnaF9zMzIo
YV9oaSkgKiBjCi0gIGludDY0eDJfdCBhY1s0XTsKLSAgaW50NjR4Ml90IHN1bVs0XTsKLSAgaW50
NjR4Ml90IGRpZmZbNF07Ci0KLSAgYWNbMF0gPSB2bXVsbF9uX3MzMih2Z2V0X2xvd19zMzIoYV9s
byksIGNvbnN0YW50KTsKLSAgYWNbMV0gPSB2bXVsbF9uX3MzMih2Z2V0X2hpZ2hfczMyKGFfbG8p
LCBjb25zdGFudCk7Ci0gIGFjWzJdID0gdm11bGxfbl9zMzIodmdldF9sb3dfczMyKGFfaGkpLCBj
b25zdGFudCk7Ci0gIGFjWzNdID0gdm11bGxfbl9zMzIodmdldF9oaWdoX3MzMihhX2hpKSwgY29u
c3RhbnQpOwotCi0gIHN1bVswXSA9IHZtbGFsX25fczMyKGFjWzBdLCB2Z2V0X2xvd19zMzIoYl9s
byksIGNvbnN0YW50KTsKLSAgc3VtWzFdID0gdm1sYWxfbl9zMzIoYWNbMV0sIHZnZXRfaGlnaF9z
MzIoYl9sbyksIGNvbnN0YW50KTsKLSAgc3VtWzJdID0gdm1sYWxfbl9zMzIoYWNbMl0sIHZnZXRf
bG93X3MzMihiX2hpKSwgY29uc3RhbnQpOwotICBzdW1bM10gPSB2bWxhbF9uX3MzMihhY1szXSwg
dmdldF9oaWdoX3MzMihiX2hpKSwgY29uc3RhbnQpOwotICAqYWRkX2xvID0gdmNvbWJpbmVfczMy
KHZyc2hybl9uX3M2NChzdW1bMF0sIERDVF9DT05TVF9CSVRTKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICB2cnNocm5fbl9zNjQoc3VtWzFdLCBEQ1RfQ09OU1RfQklUUykpOwotICAqYWRkX2hp
ID0gdmNvbWJpbmVfczMyKHZyc2hybl9uX3M2NChzdW1bMl0sIERDVF9DT05TVF9CSVRTKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICB2cnNocm5fbl9zNjQoc3VtWzNdLCBEQ1RfQ09OU1RfQklU
UykpOwotCi0gIGRpZmZbMF0gPSB2bWxzbF9uX3MzMihhY1swXSwgdmdldF9sb3dfczMyKGJfbG8p
LCBjb25zdGFudCk7Ci0gIGRpZmZbMV0gPSB2bWxzbF9uX3MzMihhY1sxXSwgdmdldF9oaWdoX3Mz
MihiX2xvKSwgY29uc3RhbnQpOwotICBkaWZmWzJdID0gdm1sc2xfbl9zMzIoYWNbMl0sIHZnZXRf
bG93X3MzMihiX2hpKSwgY29uc3RhbnQpOwotICBkaWZmWzNdID0gdm1sc2xfbl9zMzIoYWNbM10s
IHZnZXRfaGlnaF9zMzIoYl9oaSksIGNvbnN0YW50KTsKLSAgKnN1Yl9sbyA9IHZjb21iaW5lX3Mz
Mih2cnNocm5fbl9zNjQoZGlmZlswXSwgRENUX0NPTlNUX0JJVFMpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHZyc2hybl9uX3M2NChkaWZmWzFdLCBEQ1RfQ09OU1RfQklUUykpOwotICAqc3Vi
X2hpID0gdmNvbWJpbmVfczMyKHZyc2hybl9uX3M2NChkaWZmWzJdLCBEQ1RfQ09OU1RfQklUUyks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdnJzaHJuX25fczY0KGRpZmZbM10sIERDVF9DT05T
VF9CSVRTKSk7Ci19Ci0KLS8vIGZkY3Rfcm91bmRfc2hpZnQoYSAqIGMxICsvLSBiICogYzIpCi0v
LyBWYXJpYW50IHRoYXQgcGVyZm9ybXMgbm9ybWFsIGltcGxlbWVudGF0aW9uIG9uIGhhbGYgdmVj
dG9yCi0vLyBtb3JlIGFjY3VyYXRlIGRvZXMgNjQtYml0IHByb2Nlc3NpbmcsIHRha2VzIGFuZCBy
ZXR1cm5zIDMyLWJpdCB2YWx1ZXMKLS8vIHJldHVybnMgbmFycm93ZWQgcmVzdWx0cwotc3RhdGlj
IElOTElORSB2b2lkIGJ1dHRlcmZseV90d29fY29lZmZfczMyX3M2NF9uYXJyb3dfaGFsZigKLSAg
ICBjb25zdCBpbnQzMng0X3QgYSwgY29uc3QgaW50MzJ4NF90IGIsIGNvbnN0IHRyYW5fY29lZl90
IGNvbnN0YW50MSwKLSAgICBjb25zdCB0cmFuX2NvZWZfdCBjb25zdGFudDIsIGludDMyeDRfdCAq
YWRkLCBpbnQzMng0X3QgKnN1YikgewotICBjb25zdCBpbnQzMngyX3QgYV9sbyA9IHZnZXRfbG93
X3MzMihhKTsKLSAgY29uc3QgaW50MzJ4Ml90IGFfaGkgPSB2Z2V0X2hpZ2hfczMyKGEpOwotICBj
b25zdCBpbnQzMngyX3QgYl9sbyA9IHZnZXRfbG93X3MzMihiKTsKLSAgY29uc3QgaW50MzJ4Ml90
IGJfaGkgPSB2Z2V0X2hpZ2hfczMyKGIpOwotCi0gIGNvbnN0IGludDY0eDJfdCBheGMwXzY0X2xv
ID0gdm11bGxfbl9zMzIoYV9sbywgY29uc3RhbnQxKTsKLSAgY29uc3QgaW50NjR4Ml90IGF4YzBf
NjRfaGkgPSB2bXVsbF9uX3MzMihhX2hpLCBjb25zdGFudDEpOwotICBjb25zdCBpbnQ2NHgyX3Qg
YXhjMV82NF9sbyA9IHZtdWxsX25fczMyKGFfbG8sIGNvbnN0YW50Mik7Ci0gIGNvbnN0IGludDY0
eDJfdCBheGMxXzY0X2hpID0gdm11bGxfbl9zMzIoYV9oaSwgY29uc3RhbnQyKTsKLQotICBjb25z
dCBpbnQ2NHgyX3Qgc3VtX2xvID0gdm1sYWxfbl9zMzIoYXhjMF82NF9sbywgYl9sbywgY29uc3Rh
bnQyKTsKLSAgY29uc3QgaW50NjR4Ml90IHN1bV9oaSA9IHZtbGFsX25fczMyKGF4YzBfNjRfaGks
IGJfaGksIGNvbnN0YW50Mik7Ci0gIGNvbnN0IGludDY0eDJfdCBkaWZmX2xvID0gdm1sc2xfbl9z
MzIoYXhjMV82NF9sbywgYl9sbywgY29uc3RhbnQxKTsKLSAgY29uc3QgaW50NjR4Ml90IGRpZmZf
aGkgPSB2bWxzbF9uX3MzMihheGMxXzY0X2hpLCBiX2hpLCBjb25zdGFudDEpOwotCi0gICphZGQg
PSB2Y29tYmluZV9zMzIodnJzaHJuX25fczY0KHN1bV9sbywgRENUX0NPTlNUX0JJVFMpLAotICAg
ICAgICAgICAgICAgICAgICAgIHZyc2hybl9uX3M2NChzdW1faGksIERDVF9DT05TVF9CSVRTKSk7
Ci0gICpzdWIgPSB2Y29tYmluZV9zMzIodnJzaHJuX25fczY0KGRpZmZfbG8sIERDVF9DT05TVF9C
SVRTKSwKLSAgICAgICAgICAgICAgICAgICAgICB2cnNocm5fbl9zNjQoZGlmZl9oaSwgRENUX0NP
TlNUX0JJVFMpKTsKLX0KLQotLy8gZmRjdF9yb3VuZF9zaGlmdChhICogYzEgKy8tIGIgKiBjMikK
LS8vIFZhcmlhbnQgdGhhdCBwZXJmb3JtcyBub3JtYWwgaW1wbGVtZW50YXRpb24gb24gZnVsbCB2
ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUgZG9lcyA2NC1iaXQgcHJvY2Vzc2luZywgdGFrZXMgYW5k
IHJldHVybnMgNjQtYml0IHZhbHVlcwotLy8gcmV0dXJucyByZXN1bHRzIHdpdGhvdXQgcm91bmRp
bmcKLXN0YXRpYyBJTkxJTkUgdm9pZCBidXR0ZXJmbHlfdHdvX2NvZWZmX3MzMl9zNjRfbm9yb3Vu
ZCgKLSAgICBjb25zdCBpbnQzMng0X3QgYV9sbywgY29uc3QgaW50MzJ4NF90IGFfaGksIGNvbnN0
IGludDMyeDRfdCBiX2xvLAotICAgIGNvbnN0IGludDMyeDRfdCBiX2hpLCBjb25zdCB0cmFuX2Nv
ZWZfdCBjb25zdGFudDEsCi0gICAgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQyLCBpbnQ2NHgy
X3QgKmFkZF9sbyAvKlsyXSovLAotICAgIGludDY0eDJfdCAqYWRkX2hpIC8qWzJdKi8sIGludDY0
eDJfdCAqc3ViX2xvIC8qWzJdKi8sCi0gICAgaW50NjR4Ml90ICpzdWJfaGkgLypbMl0qLykgewot
ICAvLyBhYzEvYWMyIGhvbGQgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gIC8vIGFjMTogdmdldF9s
b3dfczMyKGFfbG8pICogYzEsIHZnZXRfaGlnaF9zMzIoYV9sbykgKiBjMSwKLSAgLy8gICAgICB2
Z2V0X2xvd19zMzIoYV9oaSkgKiBjMSwgdmdldF9oaWdoX3MzMihhX2hpKSAqIGMxCi0gIC8vIGFj
MjogdmdldF9sb3dfczMyKGFfbG8pICogYzIsIHZnZXRfaGlnaF9zMzIoYV9sbykgKiBjMiwKLSAg
Ly8gICAgICB2Z2V0X2xvd19zMzIoYV9oaSkgKiBjMiwgdmdldF9oaWdoX3MzMihhX2hpKSAqIGMy
Ci0gIGludDY0eDJfdCBhYzFbNF07Ci0gIGludDY0eDJfdCBhYzJbNF07Ci0KLSAgYWMxWzBdID0g
dm11bGxfbl9zMzIodmdldF9sb3dfczMyKGFfbG8pLCBjb25zdGFudDEpOwotICBhYzFbMV0gPSB2
bXVsbF9uX3MzMih2Z2V0X2hpZ2hfczMyKGFfbG8pLCBjb25zdGFudDEpOwotICBhYzFbMl0gPSB2
bXVsbF9uX3MzMih2Z2V0X2xvd19zMzIoYV9oaSksIGNvbnN0YW50MSk7Ci0gIGFjMVszXSA9IHZt
dWxsX25fczMyKHZnZXRfaGlnaF9zMzIoYV9oaSksIGNvbnN0YW50MSk7Ci0gIGFjMlswXSA9IHZt
dWxsX25fczMyKHZnZXRfbG93X3MzMihhX2xvKSwgY29uc3RhbnQyKTsKLSAgYWMyWzFdID0gdm11
bGxfbl9zMzIodmdldF9oaWdoX3MzMihhX2xvKSwgY29uc3RhbnQyKTsKLSAgYWMyWzJdID0gdm11
bGxfbl9zMzIodmdldF9sb3dfczMyKGFfaGkpLCBjb25zdGFudDIpOwotICBhYzJbM10gPSB2bXVs
bF9uX3MzMih2Z2V0X2hpZ2hfczMyKGFfaGkpLCBjb25zdGFudDIpOwotCi0gIGFkZF9sb1swXSA9
IHZtbGFsX25fczMyKGFjMVswXSwgdmdldF9sb3dfczMyKGJfbG8pLCBjb25zdGFudDIpOwotICBh
ZGRfbG9bMV0gPSB2bWxhbF9uX3MzMihhYzFbMV0sIHZnZXRfaGlnaF9zMzIoYl9sbyksIGNvbnN0
YW50Mik7Ci0gIGFkZF9oaVswXSA9IHZtbGFsX25fczMyKGFjMVsyXSwgdmdldF9sb3dfczMyKGJf
aGkpLCBjb25zdGFudDIpOwotICBhZGRfaGlbMV0gPSB2bWxhbF9uX3MzMihhYzFbM10sIHZnZXRf
aGlnaF9zMzIoYl9oaSksIGNvbnN0YW50Mik7Ci0KLSAgc3ViX2xvWzBdID0gdm1sc2xfbl9zMzIo
YWMyWzBdLCB2Z2V0X2xvd19zMzIoYl9sbyksIGNvbnN0YW50MSk7Ci0gIHN1Yl9sb1sxXSA9IHZt
bHNsX25fczMyKGFjMlsxXSwgdmdldF9oaWdoX3MzMihiX2xvKSwgY29uc3RhbnQxKTsKLSAgc3Vi
X2hpWzBdID0gdm1sc2xfbl9zMzIoYWMyWzJdLCB2Z2V0X2xvd19zMzIoYl9oaSksIGNvbnN0YW50
MSk7Ci0gIHN1Yl9oaVsxXSA9IHZtbHNsX25fczMyKGFjMlszXSwgdmdldF9oaWdoX3MzMihiX2hp
KSwgY29uc3RhbnQxKTsKLX0KLQotLy8gZmRjdF9yb3VuZF9zaGlmdChhICogYzEgKy8tIGIgKiBj
MikKLS8vIFZhcmlhbnQgdGhhdCBwZXJmb3JtcyBub3JtYWwgaW1wbGVtZW50YXRpb24gb24gZnVs
bCB2ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUgZG9lcyA2NC1iaXQgcHJvY2Vzc2luZywgdGFrZXMg
YW5kIHJldHVybnMgMzItYml0IHZhbHVlcwotLy8gcmV0dXJucyBuYXJyb3dlZCByZXN1bHRzCi1z
dGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfczY0X25hcnJvdygKLSAg
ICBjb25zdCBpbnQzMng0X3QgYV9sbywgY29uc3QgaW50MzJ4NF90IGFfaGksIGNvbnN0IGludDMy
eDRfdCBiX2xvLAotICAgIGNvbnN0IGludDMyeDRfdCBiX2hpLCBjb25zdCB0cmFuX2NvZWZfdCBj
b25zdGFudDEsCi0gICAgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQyLCBpbnQzMng0X3QgKmFk
ZF9sbywgaW50MzJ4NF90ICphZGRfaGksCi0gICAgaW50MzJ4NF90ICpzdWJfbG8sIGludDMyeDRf
dCAqc3ViX2hpKSB7Ci0gIC8vIGFjMS9hYzIgaG9sZCB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAg
Ly8gYWMxOiB2Z2V0X2xvd19zMzIoYV9sbykgKiBjMSwgdmdldF9oaWdoX3MzMihhX2xvKSAqIGMx
LAotICAvLyAgICAgIHZnZXRfbG93X3MzMihhX2hpKSAqIGMxLCB2Z2V0X2hpZ2hfczMyKGFfaGkp
ICogYzEKLSAgLy8gYWMyOiB2Z2V0X2xvd19zMzIoYV9sbykgKiBjMiwgdmdldF9oaWdoX3MzMihh
X2xvKSAqIGMyLAotICAvLyAgICAgIHZnZXRfbG93X3MzMihhX2hpKSAqIGMyLCB2Z2V0X2hpZ2hf
czMyKGFfaGkpICogYzIKLSAgaW50NjR4Ml90IGFjMVs0XTsKLSAgaW50NjR4Ml90IGFjMls0XTsK
LSAgaW50NjR4Ml90IHN1bVs0XTsKLSAgaW50NjR4Ml90IGRpZmZbNF07Ci0KLSAgYWMxWzBdID0g
dm11bGxfbl9zMzIodmdldF9sb3dfczMyKGFfbG8pLCBjb25zdGFudDEpOwotICBhYzFbMV0gPSB2
bXVsbF9uX3MzMih2Z2V0X2hpZ2hfczMyKGFfbG8pLCBjb25zdGFudDEpOwotICBhYzFbMl0gPSB2
bXVsbF9uX3MzMih2Z2V0X2xvd19zMzIoYV9oaSksIGNvbnN0YW50MSk7Ci0gIGFjMVszXSA9IHZt
dWxsX25fczMyKHZnZXRfaGlnaF9zMzIoYV9oaSksIGNvbnN0YW50MSk7Ci0gIGFjMlswXSA9IHZt
dWxsX25fczMyKHZnZXRfbG93X3MzMihhX2xvKSwgY29uc3RhbnQyKTsKLSAgYWMyWzFdID0gdm11
bGxfbl9zMzIodmdldF9oaWdoX3MzMihhX2xvKSwgY29uc3RhbnQyKTsKLSAgYWMyWzJdID0gdm11
bGxfbl9zMzIodmdldF9sb3dfczMyKGFfaGkpLCBjb25zdGFudDIpOwotICBhYzJbM10gPSB2bXVs
bF9uX3MzMih2Z2V0X2hpZ2hfczMyKGFfaGkpLCBjb25zdGFudDIpOwotCi0gIHN1bVswXSA9IHZt
bGFsX25fczMyKGFjMVswXSwgdmdldF9sb3dfczMyKGJfbG8pLCBjb25zdGFudDIpOwotICBzdW1b
MV0gPSB2bWxhbF9uX3MzMihhYzFbMV0sIHZnZXRfaGlnaF9zMzIoYl9sbyksIGNvbnN0YW50Mik7
Ci0gIHN1bVsyXSA9IHZtbGFsX25fczMyKGFjMVsyXSwgdmdldF9sb3dfczMyKGJfaGkpLCBjb25z
dGFudDIpOwotICBzdW1bM10gPSB2bWxhbF9uX3MzMihhYzFbM10sIHZnZXRfaGlnaF9zMzIoYl9o
aSksIGNvbnN0YW50Mik7Ci0gICphZGRfbG8gPSB2Y29tYmluZV9zMzIodnJzaHJuX25fczY0KHN1
bVswXSwgRENUX0NPTlNUX0JJVFMpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHZyc2hybl9u
X3M2NChzdW1bMV0sIERDVF9DT05TVF9CSVRTKSk7Ci0gICphZGRfaGkgPSB2Y29tYmluZV9zMzIo
dnJzaHJuX25fczY0KHN1bVsyXSwgRENUX0NPTlNUX0JJVFMpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHZyc2hybl9uX3M2NChzdW1bM10sIERDVF9DT05TVF9CSVRTKSk7Ci0KLSAgZGlmZlsw
XSA9IHZtbHNsX25fczMyKGFjMlswXSwgdmdldF9sb3dfczMyKGJfbG8pLCBjb25zdGFudDEpOwot
ICBkaWZmWzFdID0gdm1sc2xfbl9zMzIoYWMyWzFdLCB2Z2V0X2hpZ2hfczMyKGJfbG8pLCBjb25z
dGFudDEpOwotICBkaWZmWzJdID0gdm1sc2xfbl9zMzIoYWMyWzJdLCB2Z2V0X2xvd19zMzIoYl9o
aSksIGNvbnN0YW50MSk7Ci0gIGRpZmZbM10gPSB2bWxzbF9uX3MzMihhYzJbM10sIHZnZXRfaGln
aF9zMzIoYl9oaSksIGNvbnN0YW50MSk7Ci0gICpzdWJfbG8gPSB2Y29tYmluZV9zMzIodnJzaHJu
X25fczY0KGRpZmZbMF0sIERDVF9DT05TVF9CSVRTKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB2cnNocm5fbl9zNjQoZGlmZlsxXSwgRENUX0NPTlNUX0JJVFMpKTsKLSAgKnN1Yl9oaSA9IHZj
b21iaW5lX3MzMih2cnNocm5fbl9zNjQoZGlmZlsyXSwgRENUX0NPTlNUX0JJVFMpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIHZyc2hybl9uX3M2NChkaWZmWzNdLCBEQ1RfQ09OU1RfQklUUykp
OwotfQotCi0vLyBmZGN0X3JvdW5kX3NoaWZ0KGEgKiBjMSArLy0gYiAqIGMyKQotLy8gT3JpZ2lu
YWwgVmFyaWFudCB0aGF0IHBlcmZvcm1zIG5vcm1hbCBpbXBsZW1lbnRhdGlvbiBvbiBmdWxsIHZl
Y3RvcgotLy8gbW9yZSBhY2N1cmF0ZSBkb2VzIDMyLWJpdCBwcm9jZXNzaW5nLCB0YWtlcyBhbmQg
cmV0dXJucyAzMi1iaXQgdmFsdWVzCi0vLyByZXR1cm5zIG5hcnJvd2VkIHJlc3VsdHMKLXN0YXRp
YyBJTkxJTkUgdm9pZCBidXR0ZXJmbHlfdHdvX2NvZWZmX3MxNl9zMzJfbm9yb3VuZCgKLSAgICBj
b25zdCBpbnQxNng0X3QgYV9sbywgY29uc3QgaW50MTZ4NF90IGFfaGksIGNvbnN0IGludDE2eDRf
dCBiX2xvLAotICAgIGNvbnN0IGludDE2eDRfdCBiX2hpLCBjb25zdCB0cmFuX2NvZWZfdCBjb25z
dGFudDEsCi0gICAgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQyLCBpbnQzMng0X3QgKmFkZF9s
bywgaW50MzJ4NF90ICphZGRfaGksCi0gICAgaW50MzJ4NF90ICpzdWJfbG8sIGludDMyeDRfdCAq
c3ViX2hpKSB7Ci0gIGNvbnN0IGludDMyeDRfdCBhMSA9IHZtdWxsX25fczE2KGFfbG8sIGNvbnN0
YW50MSk7Ci0gIGNvbnN0IGludDMyeDRfdCBhMiA9IHZtdWxsX25fczE2KGFfaGksIGNvbnN0YW50
MSk7Ci0gIGNvbnN0IGludDMyeDRfdCBhMyA9IHZtdWxsX25fczE2KGFfbG8sIGNvbnN0YW50Mik7
Ci0gIGNvbnN0IGludDMyeDRfdCBhNCA9IHZtdWxsX25fczE2KGFfaGksIGNvbnN0YW50Mik7Ci0g
ICphZGRfbG8gPSB2bWxhbF9uX3MxNihhMSwgYl9sbywgY29uc3RhbnQyKTsKLSAgKmFkZF9oaSA9
IHZtbGFsX25fczE2KGEyLCBiX2hpLCBjb25zdGFudDIpOwotICAqc3ViX2xvID0gdm1sc2xfbl9z
MTYoYTMsIGJfbG8sIGNvbnN0YW50MSk7Ci0gICpzdWJfaGkgPSB2bWxzbF9uX3MxNihhNCwgYl9o
aSwgY29uc3RhbnQxKTsKLX0KLQotLy8gZmRjdF9yb3VuZF9zaGlmdChhICogYzEgKy8tIGIgKiBj
MikKLS8vIE9yaWdpbmFsIFZhcmlhbnQgdGhhdCBwZXJmb3JtcyBub3JtYWwgaW1wbGVtZW50YXRp
b24gb24gZnVsbCB2ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUgZG9lcyAzMi1iaXQgcHJvY2Vzc2lu
ZywgdGFrZXMgYW5kIHJldHVybnMgMzItYml0IHZhbHVlcwotLy8gcmV0dXJucyBuYXJyb3dlZCBy
ZXN1bHRzCi1zdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X3R3b19jb2VmZl9zMzJfbm9yb3Vu
ZCgKLSAgICBjb25zdCBpbnQzMng0X3QgYV9sbywgY29uc3QgaW50MzJ4NF90IGFfaGksIGNvbnN0
IGludDMyeDRfdCBiX2xvLAotICAgIGNvbnN0IGludDMyeDRfdCBiX2hpLCBjb25zdCB0cmFuX2Nv
ZWZfdCBjb25zdGFudDEsCi0gICAgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQyLCBpbnQzMng0
X3QgKmFkZF9sbywgaW50MzJ4NF90ICphZGRfaGksCi0gICAgaW50MzJ4NF90ICpzdWJfbG8sIGlu
dDMyeDRfdCAqc3ViX2hpKSB7Ci0gIGNvbnN0IGludDMyeDRfdCBhMSA9IHZtdWxxX25fczMyKGFf
bG8sIGNvbnN0YW50MSk7Ci0gIGNvbnN0IGludDMyeDRfdCBhMiA9IHZtdWxxX25fczMyKGFfaGks
IGNvbnN0YW50MSk7Ci0gIGNvbnN0IGludDMyeDRfdCBhMyA9IHZtdWxxX25fczMyKGFfbG8sIGNv
bnN0YW50Mik7Ci0gIGNvbnN0IGludDMyeDRfdCBhNCA9IHZtdWxxX25fczMyKGFfaGksIGNvbnN0
YW50Mik7Ci0gICphZGRfbG8gPSB2bWxhcV9uX3MzMihhMSwgYl9sbywgY29uc3RhbnQyKTsKLSAg
KmFkZF9oaSA9IHZtbGFxX25fczMyKGEyLCBiX2hpLCBjb25zdGFudDIpOwotICAqc3ViX2xvID0g
dm1sc3Ffbl9zMzIoYTMsIGJfbG8sIGNvbnN0YW50MSk7Ci0gICpzdWJfaGkgPSB2bWxzcV9uX3Mz
MihhNCwgYl9oaSwgY29uc3RhbnQxKTsKLX0KLQotLy8gZmRjdF9yb3VuZF9zaGlmdChhICogYzEg
Ky8tIGIgKiBjMikKLS8vIFZhcmlhbnQgdGhhdCBwZXJmb3JtcyBub3JtYWwgaW1wbGVtZW50YXRp
b24gb24gaGFsZiB2ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUgZG9lcyAzMi1iaXQgcHJvY2Vzc2lu
ZywgdGFrZXMgYW5kIHJldHVybnMgMTYtYml0IHZhbHVlcwotLy8gcmV0dXJucyBuYXJyb3dlZCBy
ZXN1bHRzCi1zdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5X3R3b19jb2VmZl9oYWxmKGNvbnN0
IGludDE2eDRfdCBhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNng0X3QgYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuX2NvZWZfdCBjb25zdGFudDIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2eDRfdCAqYWRk
LCBpbnQxNng0X3QgKnN1YikgewotICBjb25zdCBpbnQzMng0X3QgYTEgPSB2bXVsbF9uX3MxNihh
LCBjb25zdGFudDEpOwotICBjb25zdCBpbnQzMng0X3QgYTIgPSB2bXVsbF9uX3MxNihhLCBjb25z
dGFudDIpOwotICBjb25zdCBpbnQzMng0X3Qgc3VtID0gdm1sYWxfbl9zMTYoYTEsIGIsIGNvbnN0
YW50Mik7Ci0gIGNvbnN0IGludDMyeDRfdCBkaWZmID0gdm1sc2xfbl9zMTYoYTIsIGIsIGNvbnN0
YW50MSk7Ci0gICphZGQgPSB2cXJzaHJuX25fczMyKHN1bSwgRENUX0NPTlNUX0JJVFMpOwotICAq
c3ViID0gdnFyc2hybl9uX3MzMihkaWZmLCBEQ1RfQ09OU1RfQklUUyk7Ci19Ci0KLS8vIGZkY3Rf
cm91bmRfc2hpZnQoYSAqIGMxICsvLSBiICogYzIpCi0vLyBPcmlnaW5hbCBWYXJpYW50IHRoYXQg
cGVyZm9ybXMgbm9ybWFsIGltcGxlbWVudGF0aW9uIG9uIGZ1bGwgdmVjdG9yCi0vLyBtb3JlIGFj
Y3VyYXRlIGRvZXMgMzItYml0IHByb2Nlc3NpbmcsIHRha2VzIGFuZCByZXR1cm5zIDE2LWJpdCB2
YWx1ZXMKLS8vIHJldHVybnMgbmFycm93ZWQgcmVzdWx0cwotc3RhdGljIElOTElORSB2b2lkIGJ1
dHRlcmZseV90d29fY29lZmYoY29uc3QgaW50MTZ4OF90IGEsIGNvbnN0IGludDE2eDhfdCBiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbl9jb2VmX3Qg
Y29uc3RhbnQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dHJhbl9jb2VmX3QgY29uc3RhbnQyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50MTZ4OF90ICphZGQsIGludDE2eDhfdCAqc3ViKSB7Ci0gIGNvbnN0IGludDMyeDRf
dCBhMSA9IHZtdWxsX25fczE2KHZnZXRfbG93X3MxNihhKSwgY29uc3RhbnQxKTsKLSAgY29uc3Qg
aW50MzJ4NF90IGEyID0gdm11bGxfbl9zMTYodmdldF9oaWdoX3MxNihhKSwgY29uc3RhbnQxKTsK
LSAgY29uc3QgaW50MzJ4NF90IGEzID0gdm11bGxfbl9zMTYodmdldF9sb3dfczE2KGEpLCBjb25z
dGFudDIpOwotICBjb25zdCBpbnQzMng0X3QgYTQgPSB2bXVsbF9uX3MxNih2Z2V0X2hpZ2hfczE2
KGEpLCBjb25zdGFudDIpOwotICBjb25zdCBpbnQzMng0X3Qgc3VtMCA9IHZtbGFsX25fczE2KGEx
LCB2Z2V0X2xvd19zMTYoYiksIGNvbnN0YW50Mik7Ci0gIGNvbnN0IGludDMyeDRfdCBzdW0xID0g
dm1sYWxfbl9zMTYoYTIsIHZnZXRfaGlnaF9zMTYoYiksIGNvbnN0YW50Mik7Ci0gIGNvbnN0IGlu
dDMyeDRfdCBkaWZmMCA9IHZtbHNsX25fczE2KGEzLCB2Z2V0X2xvd19zMTYoYiksIGNvbnN0YW50
MSk7Ci0gIGNvbnN0IGludDMyeDRfdCBkaWZmMSA9IHZtbHNsX25fczE2KGE0LCB2Z2V0X2hpZ2hf
czE2KGIpLCBjb25zdGFudDEpOwotICBjb25zdCBpbnQxNng0X3Qgcm91bmRlZDAgPSB2cXJzaHJu
X25fczMyKHN1bTAsIERDVF9DT05TVF9CSVRTKTsKLSAgY29uc3QgaW50MTZ4NF90IHJvdW5kZWQx
ID0gdnFyc2hybl9uX3MzMihzdW0xLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIGNvbnN0IGludDE2eDRf
dCByb3VuZGVkMiA9IHZxcnNocm5fbl9zMzIoZGlmZjAsIERDVF9DT05TVF9CSVRTKTsKLSAgY29u
c3QgaW50MTZ4NF90IHJvdW5kZWQzID0gdnFyc2hybl9uX3MzMihkaWZmMSwgRENUX0NPTlNUX0JJ
VFMpOwotICAqYWRkID0gdmNvbWJpbmVfczE2KHJvdW5kZWQwLCByb3VuZGVkMSk7Ci0gICpzdWIg
PSB2Y29tYmluZV9zMTYocm91bmRlZDIsIHJvdW5kZWQzKTsKLX0KLQotLy8gZmRjdF9yb3VuZF9z
aGlmdChhICogYzEgKy8tIGIgKiBjMikKLS8vIE9yaWdpbmFsIFZhcmlhbnQgdGhhdCBwZXJmb3Jt
cyBub3JtYWwgaW1wbGVtZW50YXRpb24gb24gZnVsbCB2ZWN0b3IKLS8vIG1vcmUgYWNjdXJhdGUg
ZG9lcyAzMi1iaXQgcHJvY2Vzc2luZywgdGFrZXMgYW5kIHJldHVybnMgMzItYml0IHZhbHVlcwot
Ly8gcmV0dXJucyBuYXJyb3dlZCByZXN1bHRzCi1zdGF0aWMgSU5MSU5FIHZvaWQgYnV0dGVyZmx5
X3R3b19jb2VmZl9zMzIoCi0gICAgY29uc3QgaW50MzJ4NF90IGFfbG8sIGNvbnN0IGludDMyeDRf
dCBhX2hpLCBjb25zdCBpbnQzMng0X3QgYl9sbywKLSAgICBjb25zdCBpbnQzMng0X3QgYl9oaSwg
Y29uc3QgdHJhbl9jb2VmX3QgY29uc3RhbnQxLAotICAgIGNvbnN0IHRyYW5fY29lZl90IGNvbnN0
YW50MiwgaW50MzJ4NF90ICphZGRfbG8sIGludDMyeDRfdCAqYWRkX2hpLAotICAgIGludDMyeDRf
dCAqc3ViX2xvLCBpbnQzMng0X3QgKnN1Yl9oaSkgewotICBjb25zdCBpbnQzMng0X3QgYTEgPSB2
bXVscV9uX3MzMihhX2xvLCBjb25zdGFudDEpOwotICBjb25zdCBpbnQzMng0X3QgYTIgPSB2bXVs
cV9uX3MzMihhX2hpLCBjb25zdGFudDEpOwotICBjb25zdCBpbnQzMng0X3QgYTMgPSB2bXVscV9u
X3MzMihhX2xvLCBjb25zdGFudDIpOwotICBjb25zdCBpbnQzMng0X3QgYTQgPSB2bXVscV9uX3Mz
MihhX2hpLCBjb25zdGFudDIpOwotICBjb25zdCBpbnQzMng0X3Qgc3VtMCA9IHZtbGFxX25fczMy
KGExLCBiX2xvLCBjb25zdGFudDIpOwotICBjb25zdCBpbnQzMng0X3Qgc3VtMSA9IHZtbGFxX25f
czMyKGEyLCBiX2hpLCBjb25zdGFudDIpOwotICBjb25zdCBpbnQzMng0X3QgZGlmZjAgPSB2bWxz
cV9uX3MzMihhMywgYl9sbywgY29uc3RhbnQxKTsKLSAgY29uc3QgaW50MzJ4NF90IGRpZmYxID0g
dm1sc3Ffbl9zMzIoYTQsIGJfaGksIGNvbnN0YW50MSk7Ci0gICphZGRfbG8gPSB2cnNocnFfbl9z
MzIoc3VtMCwgRENUX0NPTlNUX0JJVFMpOwotICAqYWRkX2hpID0gdnJzaHJxX25fczMyKHN1bTEs
IERDVF9DT05TVF9CSVRTKTsKLSAgKnN1Yl9sbyA9IHZyc2hycV9uX3MzMihkaWZmMCwgRENUX0NP
TlNUX0JJVFMpOwotICAqc3ViX2hpID0gdnJzaHJxX25fczMyKGRpZmYxLCBEQ1RfQ09OU1RfQklU
Uyk7Ci19Ci0KLS8vIEFkZCAxIGlmIHBvc2l0aXZlLCAyIGlmIG5lZ2F0aXZlLCBhbmQgc2hpZnQg
YnkgMi4KLS8vIEluIHByYWN0aWNlLCBhZGQgMSwgdGhlbiBhZGQgdGhlIHNpZ24gYml0LCB0aGVu
IHNoaWZ0IHdpdGhvdXQgcm91bmRpbmcuCi1zdGF0aWMgSU5MSU5FIGludDE2eDhfdCBhZGRfcm91
bmRfc2hpZnRfczE2KGNvbnN0IGludDE2eDhfdCBhKSB7Ci0gIGNvbnN0IGludDE2eDhfdCBvbmUg
PSB2ZHVwcV9uX3MxNigxKTsKLSAgY29uc3QgdWludDE2eDhfdCBhX3UxNiA9IHZyZWludGVycHJl
dHFfdTE2X3MxNihhKTsKLSAgY29uc3QgdWludDE2eDhfdCBhX3NpZ25fdTE2ID0gdnNocnFfbl91
MTYoYV91MTYsIDE1KTsKLSAgY29uc3QgaW50MTZ4OF90IGFfc2lnbl9zMTYgPSB2cmVpbnRlcnBy
ZXRxX3MxNl91MTYoYV9zaWduX3UxNik7Ci0gIHJldHVybiB2c2hycV9uX3MxNih2YWRkcV9zMTYo
dmFkZHFfczE2KGEsIGFfc2lnbl9zMTYpLCBvbmUpLCAyKTsKLX0KLQotLy8gQWRkIDEgaWYgcG9z
aXRpdmUsIDIgaWYgbmVnYXRpdmUsIGFuZCBzaGlmdCBieSAyLgotLy8gSW4gcHJhY3RpY2UsIGFk
ZCAxLCB0aGVuIGFkZCB0aGUgc2lnbiBiaXQsIHRoZW4gc2hpZnQgYW5kIHJvdW5kLAotLy8gcmV0
dXJuIG5hcnJvd2VkIHJlc3VsdHMKLXN0YXRpYyBJTkxJTkUgaW50MTZ4OF90IGFkZF9yb3VuZF9z
aGlmdF9zMzJfbmFycm93KGNvbnN0IGludDMyeDRfdCBhX2xvLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MzJ4NF90IGFfaGkpIHsK
LSAgY29uc3QgaW50MzJ4NF90IG9uZSA9IHZkdXBxX25fczMyKDEpOwotICBjb25zdCB1aW50MzJ4
NF90IGFfbG9fdTMyID0gdnJlaW50ZXJwcmV0cV91MzJfczMyKGFfbG8pOwotICBjb25zdCB1aW50
MzJ4NF90IGFfbG9fc2lnbl91MzIgPSB2c2hycV9uX3UzMihhX2xvX3UzMiwgMzEpOwotICBjb25z
dCBpbnQzMng0X3QgYV9sb19zaWduX3MzMiA9IHZyZWludGVycHJldHFfczMyX3UzMihhX2xvX3Np
Z25fdTMyKTsKLSAgY29uc3QgaW50MTZ4NF90IGJfbG8gPQotICAgICAgdnNocm5fbl9zMzIodnFh
ZGRxX3MzMih2cWFkZHFfczMyKGFfbG8sIGFfbG9fc2lnbl9zMzIpLCBvbmUpLCAyKTsKLSAgY29u
c3QgdWludDMyeDRfdCBhX2hpX3UzMiA9IHZyZWludGVycHJldHFfdTMyX3MzMihhX2hpKTsKLSAg
Y29uc3QgdWludDMyeDRfdCBhX2hpX3NpZ25fdTMyID0gdnNocnFfbl91MzIoYV9oaV91MzIsIDMx
KTsKLSAgY29uc3QgaW50MzJ4NF90IGFfaGlfc2lnbl9zMzIgPSB2cmVpbnRlcnByZXRxX3MzMl91
MzIoYV9oaV9zaWduX3UzMik7Ci0gIGNvbnN0IGludDE2eDRfdCBiX2hpID0KLSAgICAgIHZzaHJu
X25fczMyKHZxYWRkcV9zMzIodnFhZGRxX3MzMihhX2hpLCBhX2hpX3NpZ25fczMyKSwgb25lKSwg
Mik7Ci0gIHJldHVybiB2Y29tYmluZV9zMTYoYl9sbywgYl9oaSk7Ci19Ci0KLS8vIEFkZCAxIGlm
IG5lZ2F0aXZlLCBhbmQgc2hpZnQgYnkgMS4KLS8vIEluIHByYWN0aWNlLCBhZGQgdGhlIHNpZ24g
Yml0LCB0aGVuIHNoaWZ0IGFuZCByb3VuZAotc3RhdGljIElOTElORSBpbnQzMng0X3QgYWRkX3Jv
dW5kX3NoaWZ0X2hhbGZfczMyKGNvbnN0IGludDMyeDRfdCBhKSB7Ci0gIGNvbnN0IHVpbnQzMng0
X3QgYV91MzIgPSB2cmVpbnRlcnByZXRxX3UzMl9zMzIoYSk7Ci0gIGNvbnN0IHVpbnQzMng0X3Qg
YV9zaWduX3UzMiA9IHZzaHJxX25fdTMyKGFfdTMyLCAzMSk7Ci0gIGNvbnN0IGludDMyeDRfdCBh
X3NpZ25fczMyID0gdnJlaW50ZXJwcmV0cV9zMzJfdTMyKGFfc2lnbl91MzIpOwotICByZXR1cm4g
dnNocnFfbl9zMzIodmFkZHFfczMyKGEsIGFfc2lnbl9zMzIpLCAxKTsKLX0KLQotLy8gQWRkIDEg
aWYgcG9zaXRpdmUsIDIgaWYgbmVnYXRpdmUsIGFuZCBzaGlmdCBieSAyLgotLy8gSW4gcHJhY3Rp
Y2UsIGFkZCAxLCB0aGVuIGFkZCB0aGUgc2lnbiBiaXQsIHRoZW4gc2hpZnQgd2l0aG91dCByb3Vu
ZGluZy4KLXN0YXRpYyBJTkxJTkUgaW50MzJ4NF90IGFkZF9yb3VuZF9zaGlmdF9zMzIoY29uc3Qg
aW50MzJ4NF90IGEpIHsKLSAgY29uc3QgaW50MzJ4NF90IG9uZSA9IHZkdXBxX25fczMyKDEpOwot
ICBjb25zdCB1aW50MzJ4NF90IGFfdTMyID0gdnJlaW50ZXJwcmV0cV91MzJfczMyKGEpOwotICBj
b25zdCB1aW50MzJ4NF90IGFfc2lnbl91MzIgPSB2c2hycV9uX3UzMihhX3UzMiwgMzEpOwotICBj
b25zdCBpbnQzMng0X3QgYV9zaWduX3MzMiA9IHZyZWludGVycHJldHFfczMyX3UzMihhX3NpZ25f
dTMyKTsKLSAgcmV0dXJuIHZzaHJxX25fczMyKHZhZGRxX3MzMih2YWRkcV9zMzIoYSwgYV9zaWdu
X3MzMiksIG9uZSksIDIpOwotfQotCi0vLyBBZGQgMiBpZiBwb3NpdGl2ZSwgMSBpZiBuZWdhdGl2
ZSwgYW5kIHNoaWZ0IGJ5IDIuCi0vLyBJbiBwcmFjdGljZSwgc3VidHJhY3QgdGhlIHNpZ24gYml0
LCB0aGVuIHNoaWZ0IHdpdGggcm91bmRpbmcuCi1zdGF0aWMgSU5MSU5FIGludDE2eDhfdCBzdWJf
cm91bmRfc2hpZnRfczE2KGNvbnN0IGludDE2eDhfdCBhKSB7Ci0gIGNvbnN0IHVpbnQxNng4X3Qg
YV91MTYgPSB2cmVpbnRlcnByZXRxX3UxNl9zMTYoYSk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgYV9z
aWduX3UxNiA9IHZzaHJxX25fdTE2KGFfdTE2LCAxNSk7Ci0gIGNvbnN0IGludDE2eDhfdCBhX3Np
Z25fczE2ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KGFfc2lnbl91MTYpOwotICByZXR1cm4gdnJz
aHJxX25fczE2KHZzdWJxX3MxNihhLCBhX3NpZ25fczE2KSwgMik7Ci19Ci0KLS8vIEFkZCAyIGlm
IHBvc2l0aXZlLCAxIGlmIG5lZ2F0aXZlLCBhbmQgc2hpZnQgYnkgMi4KLS8vIEluIHByYWN0aWNl
LCBzdWJ0cmFjdCB0aGUgc2lnbiBiaXQsIHRoZW4gc2hpZnQgd2l0aCByb3VuZGluZy4KLXN0YXRp
YyBJTkxJTkUgaW50MzJ4NF90IHN1Yl9yb3VuZF9zaGlmdF9zMzIoY29uc3QgaW50MzJ4NF90IGEp
IHsKLSAgY29uc3QgdWludDMyeDRfdCBhX3UzMiA9IHZyZWludGVycHJldHFfdTMyX3MzMihhKTsK
LSAgY29uc3QgdWludDMyeDRfdCBhX3NpZ25fdTMyID0gdnNocnFfbl91MzIoYV91MzIsIDMxKTsK
LSAgY29uc3QgaW50MzJ4NF90IGFfc2lnbl9zMzIgPSB2cmVpbnRlcnByZXRxX3MzMl91MzIoYV9z
aWduX3UzMik7Ci0gIHJldHVybiB2cnNocnFfbl9zMzIodnN1YnFfczMyKGEsIGFfc2lnbl9zMzIp
LCAyKTsKLX0KLQotc3RhdGljIElOTElORSBpbnQzMng0X3QgYWRkX3M2NF9yb3VuZF9uYXJyb3co
Y29uc3QgaW50NjR4Ml90ICphIC8qWzJdKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQ2NHgyX3QgKmIgLypbMl0qLykgewotICBpbnQ2NHgy
X3QgcmVzdWx0WzJdOwotICByZXN1bHRbMF0gPSB2YWRkcV9zNjQoYVswXSwgYlswXSk7Ci0gIHJl
c3VsdFsxXSA9IHZhZGRxX3M2NChhWzFdLCBiWzFdKTsKLSAgcmV0dXJuIHZjb21iaW5lX3MzMih2
cnNocm5fbl9zNjQocmVzdWx0WzBdLCBEQ1RfQ09OU1RfQklUUyksCi0gICAgICAgICAgICAgICAg
ICAgICAgdnJzaHJuX25fczY0KHJlc3VsdFsxXSwgRENUX0NPTlNUX0JJVFMpKTsKLX0KLQotc3Rh
dGljIElOTElORSBpbnQzMng0X3Qgc3ViX3M2NF9yb3VuZF9uYXJyb3coY29uc3QgaW50NjR4Ml90
ICphIC8qWzJdKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQ2NHgyX3QgKmIgLypbMl0qLykgewotICBpbnQ2NHgyX3QgcmVzdWx0WzJdOwot
ICByZXN1bHRbMF0gPSB2c3VicV9zNjQoYVswXSwgYlswXSk7Ci0gIHJlc3VsdFsxXSA9IHZzdWJx
X3M2NChhWzFdLCBiWzFdKTsKLSAgcmV0dXJuIHZjb21iaW5lX3MzMih2cnNocm5fbl9zNjQocmVz
dWx0WzBdLCBEQ1RfQ09OU1RfQklUUyksCi0gICAgICAgICAgICAgICAgICAgICAgdnJzaHJuX25f
czY0KHJlc3VsdFsxXSwgRENUX0NPTlNUX0JJVFMpKTsKLX0KLQotc3RhdGljIElOTElORSBpbnQz
Mng0X3QgYWRkX3MzMl9zNjRfbmFycm93KGNvbnN0IGludDMyeDRfdCBhLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyeDRfdCBiKSB7Ci0gIGlu
dDY0eDJfdCBhNjRbMl0sIGI2NFsyXSwgcmVzdWx0WzJdOwotICBhNjRbMF0gPSB2bW92bF9zMzIo
dmdldF9sb3dfczMyKGEpKTsKLSAgYTY0WzFdID0gdm1vdmxfczMyKHZnZXRfaGlnaF9zMzIoYSkp
OwotICBiNjRbMF0gPSB2bW92bF9zMzIodmdldF9sb3dfczMyKGIpKTsKLSAgYjY0WzFdID0gdm1v
dmxfczMyKHZnZXRfaGlnaF9zMzIoYikpOwotICByZXN1bHRbMF0gPSB2YWRkcV9zNjQoYTY0WzBd
LCBiNjRbMF0pOwotICByZXN1bHRbMV0gPSB2YWRkcV9zNjQoYTY0WzFdLCBiNjRbMV0pOwotICBy
ZXR1cm4gdmNvbWJpbmVfczMyKHZtb3ZuX3M2NChyZXN1bHRbMF0pLCB2bW92bl9zNjQocmVzdWx0
WzFdKSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgaW50MzJ4NF90IHN1Yl9zMzJfczY0X25hcnJvdyhj
b25zdCBpbnQzMng0X3QgYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQzMng0X3QgYikgewotICBpbnQ2NHgyX3QgYTY0WzJdLCBiNjRbMl0sIHJl
c3VsdFsyXTsKLSAgYTY0WzBdID0gdm1vdmxfczMyKHZnZXRfbG93X3MzMihhKSk7Ci0gIGE2NFsx
XSA9IHZtb3ZsX3MzMih2Z2V0X2hpZ2hfczMyKGEpKTsKLSAgYjY0WzBdID0gdm1vdmxfczMyKHZn
ZXRfbG93X3MzMihiKSk7Ci0gIGI2NFsxXSA9IHZtb3ZsX3MzMih2Z2V0X2hpZ2hfczMyKGIpKTsK
LSAgcmVzdWx0WzBdID0gdnN1YnFfczY0KGE2NFswXSwgYjY0WzBdKTsKLSAgcmVzdWx0WzFdID0g
dnN1YnFfczY0KGE2NFsxXSwgYjY0WzFdKTsKLSAgcmV0dXJuIHZjb21iaW5lX3MzMih2bW92bl9z
NjQocmVzdWx0WzBdKSwgdm1vdm5fczY0KHJlc3VsdFsxXSkpOwotfQotCi0jZW5kaWYgIC8vIFZQ
WF9WUFhfRFNQX0FSTV9GRENUX05FT05fSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9hcm0vZmRjdF9wYXJ0aWFsX25lb24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZmRjdF9w
YXJ0aWFsX25lb24uYwppbmRleCBkZjBkYTU0M2NlNGYuLmU3M2RlNDFkNzc1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9mZGN0X3BhcnRpYWxfbmVvbi5jCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vZmRjdF9wYXJ0aWFsX25lb24uYwpAQCAtMTUsMTAgKzE1LDE5IEBA
CiAjaW5jbHVkZSAidnB4X2RzcC9hcm0vbWVtX25lb24uaCIKICNpbmNsdWRlICJ2cHhfZHNwL2Fy
bS9zdW1fbmVvbi5oIgogCitzdGF0aWMgSU5MSU5FIHRyYW5fbG93X3QgZ2V0X2xhbmUoY29uc3Qg
aW50MzJ4Ml90IGEpIHsKKyNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAorICByZXR1cm4gdmdl
dF9sYW5lX3MzMihhLCAwKTsKKyNlbHNlCisgIHJldHVybiB2Z2V0X2xhbmVfczE2KHZyZWludGVy
cHJldF9zMTZfczMyKGEpLCAwKTsKKyNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVUUEgK
K30KKwogdm9pZCB2cHhfZmRjdDR4NF8xX25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5f
bG93X3QgKm91dHB1dCwgaW50IHN0cmlkZSkgewogICBpbnQxNng0X3QgYTAsIGExLCBhMiwgYTM7
CiAgIGludDE2eDhfdCBiMCwgYjE7CiAgIGludDE2eDhfdCBjOworICBpbnQzMngyX3QgZDsKIAog
ICBhMCA9IHZsZDFfczE2KGlucHV0KTsKICAgaW5wdXQgKz0gc3RyaWRlOwpAQCAtMzMsMTkgKzQy
LDEyIEBAIHZvaWQgdnB4X2ZkY3Q0eDRfMV9uZW9uKGNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFu
X2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUpIHsKIAogICBjID0gdmFkZHFfczE2KGIwLCBiMSk7
CiAKLSAgb3V0cHV0WzBdID0gKHRyYW5fbG93X3QpKGhvcml6b250YWxfYWRkX2ludDE2eDgoYykg
PDwgMSk7CisgIGQgPSBob3Jpem9udGFsX2FkZF9pbnQxNng4KGMpOworCisgIG91dHB1dFswXSA9
IGdldF9sYW5lKHZzaGxfbl9zMzIoZCwgMSkpOwogICBvdXRwdXRbMV0gPSAwOwogfQogCi0vLyBW
aXN1YWwgU3R1ZGlvIDIwMjIgKGNsLmV4ZSkgdGFyZ2V0aW5nIEFBcmNoNjQgd2l0aCBvcHRpbWl6
YXRpb25zIGVuYWJsZWQKLS8vIHdpbGwgZmFpbCB3aXRoIGFuIGludGVybmFsIGNvbXBpbGVyIGVy
cm9yLgotLy8gU2VlOgotLy8gaHR0cHM6Ly9kZXZlbG9wZXJjb21tdW5pdHkudmlzdWFsc3R1ZGlv
LmNvbS90L0NvbXBpbGVyLWNyYXNoLUMxMDAxLXdoZW4tYnVpbGRpbmctYS1mb3IvMTAzNDYxMTAK
LS8vIFRPRE8oanplcm4pOiBjaGVjayB0aGUgY29tcGlsZXIgdmVyc2lvbiBhZnRlciBhIGZpeCBm
b3IgdGhlIGlzc3VlIGlzCi0vLyByZWxlYXNlZC4KLSNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBk
ZWZpbmVkKF9NX0FSTTY0KSAmJiAhZGVmaW5lZChfX2NsYW5nX18pCi0jcHJhZ21hIG9wdGltaXpl
KCIiLCBvZmYpCi0jZW5kaWYKIHZvaWQgdnB4X2ZkY3Q4eDhfMV9uZW9uKGNvbnN0IGludDE2X3Qg
KmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUpIHsKICAgaW50IHI7CiAgIGlu
dDE2eDhfdCBzdW0gPSB2bGQxcV9zMTYoJmlucHV0WzBdKTsKQEAgLTU1LDE5ICs1NywxNiBAQCB2
b2lkIHZweF9mZGN0OHg4XzFfbmVvbihjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAq
b3V0cHV0LCBpbnQgc3RyaWRlKSB7CiAgICAgc3VtID0gdmFkZHFfczE2KHN1bSwgaW5wdXRfMDAp
OwogICB9CiAKLSAgb3V0cHV0WzBdID0gKHRyYW5fbG93X3QpaG9yaXpvbnRhbF9hZGRfaW50MTZ4
OChzdW0pOworICBvdXRwdXRbMF0gPSBnZXRfbGFuZShob3Jpem9udGFsX2FkZF9pbnQxNng4KHN1
bSkpOwogICBvdXRwdXRbMV0gPSAwOwogfQotI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIGRlZmlu
ZWQoX01fQVJNNjQpICYmICFkZWZpbmVkKF9fY2xhbmdfXykKLSNwcmFnbWEgb3B0aW1pemUoIiIs
IG9uKQotI2VuZGlmCiAKIHZvaWQgdnB4X2ZkY3QxNngxNl8xX25lb24oY29uc3QgaW50MTZfdCAq
aW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHN0cmlkZSkgewogICBpbnQgcjsKICAgaW50MTZ4OF90IGxlZnQgPSB2bGQxcV9zMTYoaW5wdXQp
OwogICBpbnQxNng4X3QgcmlnaHQgPSB2bGQxcV9zMTYoaW5wdXQgKyA4KTsKLSAgaW50MzJfdCBz
dW07CisgIGludDMyeDJfdCBzdW07CiAgIGlucHV0ICs9IHN0cmlkZTsKIAogICBmb3IgKHIgPSAx
OyByIDwgMTY7ICsrcikgewpAQCAtNzgsOSArNzcsOSBAQCB2b2lkIHZweF9mZGN0MTZ4MTZfMV9u
ZW9uKGNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsCiAgICAgcmlnaHQg
PSB2YWRkcV9zMTYocmlnaHQsIGIpOwogICB9CiAKLSAgc3VtID0gaG9yaXpvbnRhbF9hZGRfaW50
MTZ4OChsZWZ0KSArIGhvcml6b250YWxfYWRkX2ludDE2eDgocmlnaHQpOworICBzdW0gPSB2YWRk
X3MzMihob3Jpem9udGFsX2FkZF9pbnQxNng4KGxlZnQpLCBob3Jpem9udGFsX2FkZF9pbnQxNng4
KHJpZ2h0KSk7CiAKLSAgb3V0cHV0WzBdID0gKHRyYW5fbG93X3QpKHN1bSA+PiAxKTsKKyAgb3V0
cHV0WzBdID0gZ2V0X2xhbmUodnNocl9uX3MzMihzdW0sIDEpKTsKICAgb3V0cHV0WzFdID0gMDsK
IH0KIApAQCAtOTEsNyArOTAsNyBAQCB2b2lkIHZweF9mZGN0MzJ4MzJfMV9uZW9uKGNvbnN0IGlu
dDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsCiAgIGludDE2eDhfdCBhMSA9IHZsZDFx
X3MxNihpbnB1dCArIDgpOwogICBpbnQxNng4X3QgYTIgPSB2bGQxcV9zMTYoaW5wdXQgKyAxNik7
CiAgIGludDE2eDhfdCBhMyA9IHZsZDFxX3MxNihpbnB1dCArIDI0KTsKLSAgaW50MzJfdCBzdW07
CisgIGludDMyeDJfdCBzdW07CiAgIGlucHV0ICs9IHN0cmlkZTsKIAogICBmb3IgKHIgPSAxOyBy
IDwgMzI7ICsrcikgewpAQCAtMTA2LDc1ICsxMDUsOSBAQCB2b2lkIHZweF9mZGN0MzJ4MzJfMV9u
ZW9uKGNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsCiAgICAgYTMgPSB2
YWRkcV9zMTYoYTMsIGIzKTsKICAgfQogCi0gIHN1bSA9IGhvcml6b250YWxfYWRkX2ludDE2eDgo
YTApOwotICBzdW0gKz0gaG9yaXpvbnRhbF9hZGRfaW50MTZ4OChhMSk7Ci0gIHN1bSArPSBob3Jp
em9udGFsX2FkZF9pbnQxNng4KGEyKTsKLSAgc3VtICs9IGhvcml6b250YWxfYWRkX2ludDE2eDgo
YTMpOwotICBvdXRwdXRbMF0gPSAodHJhbl9sb3dfdCkoc3VtID4+IDMpOwotICBvdXRwdXRbMV0g
PSAwOwotfQotCi0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLQotdm9pZCB2cHhfaGlnaGJk
X2ZkY3QxNngxNl8xX25lb24oY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpIHsKLSAgaW50
MzJ4NF90IHBhcnRpYWxfc3VtWzRdID0geyB2ZHVwcV9uX3MzMigwKSwgdmR1cHFfbl9zMzIoMCks
IHZkdXBxX25fczMyKDApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkdXBxX25f
czMyKDApIH07Ci0gIGludDMyX3Qgc3VtOwotCi0gIGludCByID0gMDsKLSAgZG8gewotICAgIGNv
bnN0IGludDE2eDhfdCBhID0gdmxkMXFfczE2KGlucHV0KTsKLSAgICBjb25zdCBpbnQxNng4X3Qg
YiA9IHZsZDFxX3MxNihpbnB1dCArIDgpOwotICAgIGlucHV0ICs9IHN0cmlkZTsKLSAgICBwYXJ0
aWFsX3N1bVswXSA9IHZhZGR3X3MxNihwYXJ0aWFsX3N1bVswXSwgdmdldF9sb3dfczE2KGEpKTsK
LSAgICBwYXJ0aWFsX3N1bVsxXSA9IHZhZGR3X3MxNihwYXJ0aWFsX3N1bVsxXSwgdmdldF9oaWdo
X3MxNihhKSk7Ci0gICAgcGFydGlhbF9zdW1bMl0gPSB2YWRkd19zMTYocGFydGlhbF9zdW1bMl0s
IHZnZXRfbG93X3MxNihiKSk7Ci0gICAgcGFydGlhbF9zdW1bM10gPSB2YWRkd19zMTYocGFydGlh
bF9zdW1bM10sIHZnZXRfaGlnaF9zMTYoYikpOwotICAgIHIrKzsKLSAgfSB3aGlsZSAociA8IDE2
KTsKLQotICBwYXJ0aWFsX3N1bVswXSA9IHZhZGRxX3MzMihwYXJ0aWFsX3N1bVswXSwgcGFydGlh
bF9zdW1bMV0pOwotICBwYXJ0aWFsX3N1bVsyXSA9IHZhZGRxX3MzMihwYXJ0aWFsX3N1bVsyXSwg
cGFydGlhbF9zdW1bM10pOwotICBwYXJ0aWFsX3N1bVswXSA9IHZhZGRxX3MzMihwYXJ0aWFsX3N1
bVswXSwgcGFydGlhbF9zdW1bMl0pOwotICBzdW0gPSBob3Jpem9udGFsX2FkZF9pbnQzMng0KHBh
cnRpYWxfc3VtWzBdKTsKLQotICBvdXRwdXRbMF0gPSAodHJhbl9sb3dfdCkoc3VtID4+IDEpOwot
ICBvdXRwdXRbMV0gPSAwOwotfQotCi12b2lkIHZweF9oaWdoYmRfZmRjdDMyeDMyXzFfbmVvbihj
b25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3dfdCAqb3V0cHV0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSkgewotICBpbnQzMng0X3QgcGFydGlhbF9zdW1b
NF0gPSB7IHZkdXBxX25fczMyKDApLCB2ZHVwcV9uX3MzMigwKSwgdmR1cHFfbl9zMzIoMCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFfbl9zMzIoMCkgfTsKLQotICBpbnQz
Ml90IHN1bTsKLQotICBpbnQgciA9IDA7Ci0gIGRvIHsKLSAgICBjb25zdCBpbnQxNng4X3QgYTAg
PSB2bGQxcV9zMTYoaW5wdXQpOwotICAgIGNvbnN0IGludDE2eDhfdCBhMSA9IHZsZDFxX3MxNihp
bnB1dCArIDgpOwotICAgIGNvbnN0IGludDE2eDhfdCBhMiA9IHZsZDFxX3MxNihpbnB1dCArIDE2
KTsKLSAgICBjb25zdCBpbnQxNng4X3QgYTMgPSB2bGQxcV9zMTYoaW5wdXQgKyAyNCk7Ci0gICAg
aW5wdXQgKz0gc3RyaWRlOwotICAgIHBhcnRpYWxfc3VtWzBdID0gdmFkZHdfczE2KHBhcnRpYWxf
c3VtWzBdLCB2Z2V0X2xvd19zMTYoYTApKTsKLSAgICBwYXJ0aWFsX3N1bVswXSA9IHZhZGR3X3Mx
NihwYXJ0aWFsX3N1bVswXSwgdmdldF9oaWdoX3MxNihhMCkpOwotICAgIHBhcnRpYWxfc3VtWzFd
ID0gdmFkZHdfczE2KHBhcnRpYWxfc3VtWzFdLCB2Z2V0X2xvd19zMTYoYTEpKTsKLSAgICBwYXJ0
aWFsX3N1bVsxXSA9IHZhZGR3X3MxNihwYXJ0aWFsX3N1bVsxXSwgdmdldF9oaWdoX3MxNihhMSkp
OwotICAgIHBhcnRpYWxfc3VtWzJdID0gdmFkZHdfczE2KHBhcnRpYWxfc3VtWzJdLCB2Z2V0X2xv
d19zMTYoYTIpKTsKLSAgICBwYXJ0aWFsX3N1bVsyXSA9IHZhZGR3X3MxNihwYXJ0aWFsX3N1bVsy
XSwgdmdldF9oaWdoX3MxNihhMikpOwotICAgIHBhcnRpYWxfc3VtWzNdID0gdmFkZHdfczE2KHBh
cnRpYWxfc3VtWzNdLCB2Z2V0X2xvd19zMTYoYTMpKTsKLSAgICBwYXJ0aWFsX3N1bVszXSA9IHZh
ZGR3X3MxNihwYXJ0aWFsX3N1bVszXSwgdmdldF9oaWdoX3MxNihhMykpOwotICAgIHIrKzsKLSAg
fSB3aGlsZSAociA8IDMyKTsKLQotICBwYXJ0aWFsX3N1bVswXSA9IHZhZGRxX3MzMihwYXJ0aWFs
X3N1bVswXSwgcGFydGlhbF9zdW1bMV0pOwotICBwYXJ0aWFsX3N1bVsyXSA9IHZhZGRxX3MzMihw
YXJ0aWFsX3N1bVsyXSwgcGFydGlhbF9zdW1bM10pOwotICBwYXJ0aWFsX3N1bVswXSA9IHZhZGRx
X3MzMihwYXJ0aWFsX3N1bVswXSwgcGFydGlhbF9zdW1bMl0pOwotICBzdW0gPSBob3Jpem9udGFs
X2FkZF9pbnQzMng0KHBhcnRpYWxfc3VtWzBdKTsKLQotICBvdXRwdXRbMF0gPSAodHJhbl9sb3df
dCkoc3VtID4+IDMpOworICBzdW0gPSB2YWRkX3MzMihob3Jpem9udGFsX2FkZF9pbnQxNng4KGEw
KSwgaG9yaXpvbnRhbF9hZGRfaW50MTZ4OChhMSkpOworICBzdW0gPSB2YWRkX3MzMihzdW0sIGhv
cml6b250YWxfYWRkX2ludDE2eDgoYTIpKTsKKyAgc3VtID0gdmFkZF9zMzIoc3VtLCBob3Jpem9u
dGFsX2FkZF9pbnQxNng4KGEzKSk7CisgIG91dHB1dFswXSA9IGdldF9sYW5lKHZzaHJfbl9zMzIo
c3VtLCAzKSk7CiAgIG91dHB1dFsxXSA9IDA7CiB9Ci0KLSNlbmRpZiAgLy8gQ09ORklHX1ZQOV9I
SUdIQklUREVQVEgKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vZndkX3R4Zm1f
bmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9md2RfdHhmbV9uZW9uLmMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zNzRhMjYyYjkzZTcKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2Z3ZF90eGZtX25lb24uYwpAQCAtMCwwICsx
LDIxMCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFdlYk0gcHJvamVjdCBhdXRo
b3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCisgKiAgdGhhdCBjYW4gYmUgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCisgKiAgdHJl
ZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBi
ZSBmb3VuZAorICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2pl
Y3QgYXV0aG9ycyBtYXkKKyAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKyAqLworCisjaW5jbHVkZSA8YXJtX25lb24uaD4KKwor
I2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgorI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCisj
aW5jbHVkZSAidnB4X2RzcC90eGZtX2NvbW1vbi5oIgorI2luY2x1ZGUgInZweF9kc3AvdnB4X2Rz
cF9jb21tb24uaCIKKyNpbmNsdWRlICJ2cHhfZHNwL2FybS9pZGN0X25lb24uaCIKKyNpbmNsdWRl
ICJ2cHhfZHNwL2FybS9tZW1fbmVvbi5oIgorCit2b2lkIHZweF9mZGN0OHg4X25lb24oY29uc3Qg
aW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKmZpbmFsX291dHB1dCwKKyAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3RyaWRlKSB7CisgIGludCBpOworICAvLyBzdGFnZSAxCisgIGludDE2eDhf
dCBpbnB1dF8wID0gdnNobHFfbl9zMTYodmxkMXFfczE2KCZpbnB1dFswICogc3RyaWRlXSksIDIp
OworICBpbnQxNng4X3QgaW5wdXRfMSA9IHZzaGxxX25fczE2KHZsZDFxX3MxNigmaW5wdXRbMSAq
IHN0cmlkZV0pLCAyKTsKKyAgaW50MTZ4OF90IGlucHV0XzIgPSB2c2hscV9uX3MxNih2bGQxcV9z
MTYoJmlucHV0WzIgKiBzdHJpZGVdKSwgMik7CisgIGludDE2eDhfdCBpbnB1dF8zID0gdnNobHFf
bl9zMTYodmxkMXFfczE2KCZpbnB1dFszICogc3RyaWRlXSksIDIpOworICBpbnQxNng4X3QgaW5w
dXRfNCA9IHZzaGxxX25fczE2KHZsZDFxX3MxNigmaW5wdXRbNCAqIHN0cmlkZV0pLCAyKTsKKyAg
aW50MTZ4OF90IGlucHV0XzUgPSB2c2hscV9uX3MxNih2bGQxcV9zMTYoJmlucHV0WzUgKiBzdHJp
ZGVdKSwgMik7CisgIGludDE2eDhfdCBpbnB1dF82ID0gdnNobHFfbl9zMTYodmxkMXFfczE2KCZp
bnB1dFs2ICogc3RyaWRlXSksIDIpOworICBpbnQxNng4X3QgaW5wdXRfNyA9IHZzaGxxX25fczE2
KHZsZDFxX3MxNigmaW5wdXRbNyAqIHN0cmlkZV0pLCAyKTsKKyAgZm9yIChpID0gMDsgaSA8IDI7
ICsraSkgeworICAgIGludDE2eDhfdCBvdXRfMCwgb3V0XzEsIG91dF8yLCBvdXRfMywgb3V0XzQs
IG91dF81LCBvdXRfNiwgb3V0Xzc7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczAgPSB2YWRkcV9z
MTYoaW5wdXRfMCwgaW5wdXRfNyk7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczEgPSB2YWRkcV9z
MTYoaW5wdXRfMSwgaW5wdXRfNik7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczIgPSB2YWRkcV9z
MTYoaW5wdXRfMiwgaW5wdXRfNSk7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczMgPSB2YWRkcV9z
MTYoaW5wdXRfMywgaW5wdXRfNCk7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczQgPSB2c3VicV9z
MTYoaW5wdXRfMywgaW5wdXRfNCk7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczUgPSB2c3VicV9z
MTYoaW5wdXRfMiwgaW5wdXRfNSk7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczYgPSB2c3VicV9z
MTYoaW5wdXRfMSwgaW5wdXRfNik7CisgICAgY29uc3QgaW50MTZ4OF90IHZfczcgPSB2c3VicV9z
MTYoaW5wdXRfMCwgaW5wdXRfNyk7CisgICAgLy8gZmRjdDQoc3RlcCwgc3RlcCk7CisgICAgaW50
MTZ4OF90IHZfeDAgPSB2YWRkcV9zMTYodl9zMCwgdl9zMyk7CisgICAgaW50MTZ4OF90IHZfeDEg
PSB2YWRkcV9zMTYodl9zMSwgdl9zMik7CisgICAgaW50MTZ4OF90IHZfeDIgPSB2c3VicV9zMTYo
dl9zMSwgdl9zMik7CisgICAgaW50MTZ4OF90IHZfeDMgPSB2c3VicV9zMTYodl9zMCwgdl9zMyk7
CisgICAgLy8gZmRjdDQoc3RlcCwgc3RlcCk7CisgICAgaW50MzJ4NF90IHZfdDBfbG8gPSB2YWRk
bF9zMTYodmdldF9sb3dfczE2KHZfeDApLCB2Z2V0X2xvd19zMTYodl94MSkpOworICAgIGludDMy
eDRfdCB2X3QwX2hpID0gdmFkZGxfczE2KHZnZXRfaGlnaF9zMTYodl94MCksIHZnZXRfaGlnaF9z
MTYodl94MSkpOworICAgIGludDMyeDRfdCB2X3QxX2xvID0gdnN1YmxfczE2KHZnZXRfbG93X3Mx
Nih2X3gwKSwgdmdldF9sb3dfczE2KHZfeDEpKTsKKyAgICBpbnQzMng0X3Qgdl90MV9oaSA9IHZz
dWJsX3MxNih2Z2V0X2hpZ2hfczE2KHZfeDApLCB2Z2V0X2hpZ2hfczE2KHZfeDEpKTsKKyAgICBp
bnQzMng0X3Qgdl90Ml9sbyA9IHZtdWxsX25fczE2KHZnZXRfbG93X3MxNih2X3gyKSwgY29zcGlf
MjRfNjQpOworICAgIGludDMyeDRfdCB2X3QyX2hpID0gdm11bGxfbl9zMTYodmdldF9oaWdoX3Mx
Nih2X3gyKSwgY29zcGlfMjRfNjQpOworICAgIGludDMyeDRfdCB2X3QzX2xvID0gdm11bGxfbl9z
MTYodmdldF9sb3dfczE2KHZfeDMpLCBjb3NwaV8yNF82NCk7CisgICAgaW50MzJ4NF90IHZfdDNf
aGkgPSB2bXVsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KHZfeDMpLCBjb3NwaV8yNF82NCk7CisgICAg
dl90Ml9sbyA9IHZtbGFsX25fczE2KHZfdDJfbG8sIHZnZXRfbG93X3MxNih2X3gzKSwgY29zcGlf
OF82NCk7CisgICAgdl90Ml9oaSA9IHZtbGFsX25fczE2KHZfdDJfaGksIHZnZXRfaGlnaF9zMTYo
dl94MyksIGNvc3BpXzhfNjQpOworICAgIHZfdDNfbG8gPSB2bWxzbF9uX3MxNih2X3QzX2xvLCB2
Z2V0X2xvd19zMTYodl94MiksIGNvc3BpXzhfNjQpOworICAgIHZfdDNfaGkgPSB2bWxzbF9uX3Mx
Nih2X3QzX2hpLCB2Z2V0X2hpZ2hfczE2KHZfeDIpLCBjb3NwaV84XzY0KTsKKyAgICB2X3QwX2xv
ID0gdm11bHFfbl9zMzIodl90MF9sbywgY29zcGlfMTZfNjQpOworICAgIHZfdDBfaGkgPSB2bXVs
cV9uX3MzMih2X3QwX2hpLCBjb3NwaV8xNl82NCk7CisgICAgdl90MV9sbyA9IHZtdWxxX25fczMy
KHZfdDFfbG8sIGNvc3BpXzE2XzY0KTsKKyAgICB2X3QxX2hpID0gdm11bHFfbl9zMzIodl90MV9o
aSwgY29zcGlfMTZfNjQpOworICAgIHsKKyAgICAgIGNvbnN0IGludDE2eDRfdCBhID0gdnJzaHJu
X25fczMyKHZfdDBfbG8sIERDVF9DT05TVF9CSVRTKTsKKyAgICAgIGNvbnN0IGludDE2eDRfdCBi
ID0gdnJzaHJuX25fczMyKHZfdDBfaGksIERDVF9DT05TVF9CSVRTKTsKKyAgICAgIGNvbnN0IGlu
dDE2eDRfdCBjID0gdnJzaHJuX25fczMyKHZfdDFfbG8sIERDVF9DT05TVF9CSVRTKTsKKyAgICAg
IGNvbnN0IGludDE2eDRfdCBkID0gdnJzaHJuX25fczMyKHZfdDFfaGksIERDVF9DT05TVF9CSVRT
KTsKKyAgICAgIGNvbnN0IGludDE2eDRfdCBlID0gdnJzaHJuX25fczMyKHZfdDJfbG8sIERDVF9D
T05TVF9CSVRTKTsKKyAgICAgIGNvbnN0IGludDE2eDRfdCBmID0gdnJzaHJuX25fczMyKHZfdDJf
aGksIERDVF9DT05TVF9CSVRTKTsKKyAgICAgIGNvbnN0IGludDE2eDRfdCBnID0gdnJzaHJuX25f
czMyKHZfdDNfbG8sIERDVF9DT05TVF9CSVRTKTsKKyAgICAgIGNvbnN0IGludDE2eDRfdCBoID0g
dnJzaHJuX25fczMyKHZfdDNfaGksIERDVF9DT05TVF9CSVRTKTsKKyAgICAgIG91dF8wID0gdmNv
bWJpbmVfczE2KGEsIGMpOyAgLy8gMDAgMDEgMDIgMDMgNDAgNDEgNDIgNDMKKyAgICAgIG91dF8y
ID0gdmNvbWJpbmVfczE2KGUsIGcpOyAgLy8gMjAgMjEgMjIgMjMgNjAgNjEgNjIgNjMKKyAgICAg
IG91dF80ID0gdmNvbWJpbmVfczE2KGIsIGQpOyAgLy8gMDQgMDUgMDYgMDcgNDQgNDUgNDYgNDcK
KyAgICAgIG91dF82ID0gdmNvbWJpbmVfczE2KGYsIGgpOyAgLy8gMjQgMjUgMjYgMjcgNjQgNjUg
NjYgNjcKKyAgICB9CisgICAgLy8gU3RhZ2UgMgorICAgIHZfeDAgPSB2c3VicV9zMTYodl9zNiwg
dl9zNSk7CisgICAgdl94MSA9IHZhZGRxX3MxNih2X3M2LCB2X3M1KTsKKyAgICB2X3QwX2xvID0g
dm11bGxfbl9zMTYodmdldF9sb3dfczE2KHZfeDApLCBjb3NwaV8xNl82NCk7CisgICAgdl90MF9o
aSA9IHZtdWxsX25fczE2KHZnZXRfaGlnaF9zMTYodl94MCksIGNvc3BpXzE2XzY0KTsKKyAgICB2
X3QxX2xvID0gdm11bGxfbl9zMTYodmdldF9sb3dfczE2KHZfeDEpLCBjb3NwaV8xNl82NCk7Cisg
ICAgdl90MV9oaSA9IHZtdWxsX25fczE2KHZnZXRfaGlnaF9zMTYodl94MSksIGNvc3BpXzE2XzY0
KTsKKyAgICB7CisgICAgICBjb25zdCBpbnQxNng0X3QgYSA9IHZyc2hybl9uX3MzMih2X3QwX2xv
LCBEQ1RfQ09OU1RfQklUUyk7CisgICAgICBjb25zdCBpbnQxNng0X3QgYiA9IHZyc2hybl9uX3Mz
Mih2X3QwX2hpLCBEQ1RfQ09OU1RfQklUUyk7CisgICAgICBjb25zdCBpbnQxNng0X3QgYyA9IHZy
c2hybl9uX3MzMih2X3QxX2xvLCBEQ1RfQ09OU1RfQklUUyk7CisgICAgICBjb25zdCBpbnQxNng0
X3QgZCA9IHZyc2hybl9uX3MzMih2X3QxX2hpLCBEQ1RfQ09OU1RfQklUUyk7CisgICAgICBjb25z
dCBpbnQxNng4X3QgYWIgPSB2Y29tYmluZV9zMTYoYSwgYik7CisgICAgICBjb25zdCBpbnQxNng4
X3QgY2QgPSB2Y29tYmluZV9zMTYoYywgZCk7CisgICAgICAvLyBTdGFnZSAzCisgICAgICB2X3gw
ID0gdmFkZHFfczE2KHZfczQsIGFiKTsKKyAgICAgIHZfeDEgPSB2c3VicV9zMTYodl9zNCwgYWIp
OworICAgICAgdl94MiA9IHZzdWJxX3MxNih2X3M3LCBjZCk7CisgICAgICB2X3gzID0gdmFkZHFf
czE2KHZfczcsIGNkKTsKKyAgICB9CisgICAgLy8gU3RhZ2UgNAorICAgIHZfdDBfbG8gPSB2bXVs
bF9uX3MxNih2Z2V0X2xvd19zMTYodl94MyksIGNvc3BpXzRfNjQpOworICAgIHZfdDBfaGkgPSB2
bXVsbF9uX3MxNih2Z2V0X2hpZ2hfczE2KHZfeDMpLCBjb3NwaV80XzY0KTsKKyAgICB2X3QwX2xv
ID0gdm1sYWxfbl9zMTYodl90MF9sbywgdmdldF9sb3dfczE2KHZfeDApLCBjb3NwaV8yOF82NCk7
CisgICAgdl90MF9oaSA9IHZtbGFsX25fczE2KHZfdDBfaGksIHZnZXRfaGlnaF9zMTYodl94MCks
IGNvc3BpXzI4XzY0KTsKKyAgICB2X3QxX2xvID0gdm11bGxfbl9zMTYodmdldF9sb3dfczE2KHZf
eDEpLCBjb3NwaV8xMl82NCk7CisgICAgdl90MV9oaSA9IHZtdWxsX25fczE2KHZnZXRfaGlnaF9z
MTYodl94MSksIGNvc3BpXzEyXzY0KTsKKyAgICB2X3QxX2xvID0gdm1sYWxfbl9zMTYodl90MV9s
bywgdmdldF9sb3dfczE2KHZfeDIpLCBjb3NwaV8yMF82NCk7CisgICAgdl90MV9oaSA9IHZtbGFs
X25fczE2KHZfdDFfaGksIHZnZXRfaGlnaF9zMTYodl94MiksIGNvc3BpXzIwXzY0KTsKKyAgICB2
X3QyX2xvID0gdm11bGxfbl9zMTYodmdldF9sb3dfczE2KHZfeDIpLCBjb3NwaV8xMl82NCk7Cisg
ICAgdl90Ml9oaSA9IHZtdWxsX25fczE2KHZnZXRfaGlnaF9zMTYodl94MiksIGNvc3BpXzEyXzY0
KTsKKyAgICB2X3QyX2xvID0gdm1sc2xfbl9zMTYodl90Ml9sbywgdmdldF9sb3dfczE2KHZfeDEp
LCBjb3NwaV8yMF82NCk7CisgICAgdl90Ml9oaSA9IHZtbHNsX25fczE2KHZfdDJfaGksIHZnZXRf
aGlnaF9zMTYodl94MSksIGNvc3BpXzIwXzY0KTsKKyAgICB2X3QzX2xvID0gdm11bGxfbl9zMTYo
dmdldF9sb3dfczE2KHZfeDMpLCBjb3NwaV8yOF82NCk7CisgICAgdl90M19oaSA9IHZtdWxsX25f
czE2KHZnZXRfaGlnaF9zMTYodl94MyksIGNvc3BpXzI4XzY0KTsKKyAgICB2X3QzX2xvID0gdm1s
c2xfbl9zMTYodl90M19sbywgdmdldF9sb3dfczE2KHZfeDApLCBjb3NwaV80XzY0KTsKKyAgICB2
X3QzX2hpID0gdm1sc2xfbl9zMTYodl90M19oaSwgdmdldF9oaWdoX3MxNih2X3gwKSwgY29zcGlf
NF82NCk7CisgICAgeworICAgICAgY29uc3QgaW50MTZ4NF90IGEgPSB2cnNocm5fbl9zMzIodl90
MF9sbywgRENUX0NPTlNUX0JJVFMpOworICAgICAgY29uc3QgaW50MTZ4NF90IGIgPSB2cnNocm5f
bl9zMzIodl90MF9oaSwgRENUX0NPTlNUX0JJVFMpOworICAgICAgY29uc3QgaW50MTZ4NF90IGMg
PSB2cnNocm5fbl9zMzIodl90MV9sbywgRENUX0NPTlNUX0JJVFMpOworICAgICAgY29uc3QgaW50
MTZ4NF90IGQgPSB2cnNocm5fbl9zMzIodl90MV9oaSwgRENUX0NPTlNUX0JJVFMpOworICAgICAg
Y29uc3QgaW50MTZ4NF90IGUgPSB2cnNocm5fbl9zMzIodl90Ml9sbywgRENUX0NPTlNUX0JJVFMp
OworICAgICAgY29uc3QgaW50MTZ4NF90IGYgPSB2cnNocm5fbl9zMzIodl90Ml9oaSwgRENUX0NP
TlNUX0JJVFMpOworICAgICAgY29uc3QgaW50MTZ4NF90IGcgPSB2cnNocm5fbl9zMzIodl90M19s
bywgRENUX0NPTlNUX0JJVFMpOworICAgICAgY29uc3QgaW50MTZ4NF90IGggPSB2cnNocm5fbl9z
MzIodl90M19oaSwgRENUX0NPTlNUX0JJVFMpOworICAgICAgb3V0XzEgPSB2Y29tYmluZV9zMTYo
YSwgYyk7ICAvLyAxMCAxMSAxMiAxMyA1MCA1MSA1MiA1MworICAgICAgb3V0XzMgPSB2Y29tYmlu
ZV9zMTYoZSwgZyk7ICAvLyAzMCAzMSAzMiAzMyA3MCA3MSA3MiA3MworICAgICAgb3V0XzUgPSB2
Y29tYmluZV9zMTYoYiwgZCk7ICAvLyAxNCAxNSAxNiAxNyA1NCA1NSA1NiA1NworICAgICAgb3V0
XzcgPSB2Y29tYmluZV9zMTYoZiwgaCk7ICAvLyAzNCAzNSAzNiAzNyA3NCA3NSA3NiA3NworICAg
IH0KKyAgICAvLyB0cmFuc3Bvc2UgOHg4CisgICAgLy8gQ2FuJ3QgdXNlIHRyYW5zcG9zZV9zMTZf
OHg4KCkgYmVjYXVzZSB0aGUgdmFsdWVzIGFyZSBhcnJhbmdlZCBpbiB0d28gNHg4CisgICAgLy8g
Y29sdW1ucy4KKyAgICB7CisgICAgICAvLyAwMCAwMSAwMiAwMyA0MCA0MSA0MiA0MworICAgICAg
Ly8gMTAgMTEgMTIgMTMgNTAgNTEgNTIgNTMKKyAgICAgIC8vIDIwIDIxIDIyIDIzIDYwIDYxIDYy
IDYzCisgICAgICAvLyAzMCAzMSAzMiAzMyA3MCA3MSA3MiA3MworICAgICAgLy8gMDQgMDUgMDYg
MDcgNDQgNDUgNDYgNDcKKyAgICAgIC8vIDE0IDE1IDE2IDE3IDU0IDU1IDU2IDU3CisgICAgICAv
LyAyNCAyNSAyNiAyNyA2NCA2NSA2NiA2NworICAgICAgLy8gMzQgMzUgMzYgMzcgNzQgNzUgNzYg
NzcKKyAgICAgIGNvbnN0IGludDMyeDR4Ml90IHIwMl9zMzIgPQorICAgICAgICAgIHZ0cm5xX3Mz
Mih2cmVpbnRlcnByZXRxX3MzMl9zMTYob3V0XzApLCB2cmVpbnRlcnByZXRxX3MzMl9zMTYob3V0
XzIpKTsKKyAgICAgIGNvbnN0IGludDMyeDR4Ml90IHIxM19zMzIgPQorICAgICAgICAgIHZ0cm5x
X3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYob3V0XzEpLCB2cmVpbnRlcnByZXRxX3MzMl9zMTYo
b3V0XzMpKTsKKyAgICAgIGNvbnN0IGludDMyeDR4Ml90IHI0Nl9zMzIgPQorICAgICAgICAgIHZ0
cm5xX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYob3V0XzQpLCB2cmVpbnRlcnByZXRxX3MzMl9z
MTYob3V0XzYpKTsKKyAgICAgIGNvbnN0IGludDMyeDR4Ml90IHI1N19zMzIgPQorICAgICAgICAg
IHZ0cm5xX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYob3V0XzUpLCB2cmVpbnRlcnByZXRxX3Mz
Ml9zMTYob3V0XzcpKTsKKyAgICAgIGNvbnN0IGludDE2eDh4Ml90IHIwMV9zMTYgPQorICAgICAg
ICAgIHZ0cm5xX3MxNih2cmVpbnRlcnByZXRxX3MxNl9zMzIocjAyX3MzMi52YWxbMF0pLAorICAg
ICAgICAgICAgICAgICAgICB2cmVpbnRlcnByZXRxX3MxNl9zMzIocjEzX3MzMi52YWxbMF0pKTsK
KyAgICAgIGNvbnN0IGludDE2eDh4Ml90IHIyM19zMTYgPQorICAgICAgICAgIHZ0cm5xX3MxNih2
cmVpbnRlcnByZXRxX3MxNl9zMzIocjAyX3MzMi52YWxbMV0pLAorICAgICAgICAgICAgICAgICAg
ICB2cmVpbnRlcnByZXRxX3MxNl9zMzIocjEzX3MzMi52YWxbMV0pKTsKKyAgICAgIGNvbnN0IGlu
dDE2eDh4Ml90IHI0NV9zMTYgPQorICAgICAgICAgIHZ0cm5xX3MxNih2cmVpbnRlcnByZXRxX3Mx
Nl9zMzIocjQ2X3MzMi52YWxbMF0pLAorICAgICAgICAgICAgICAgICAgICB2cmVpbnRlcnByZXRx
X3MxNl9zMzIocjU3X3MzMi52YWxbMF0pKTsKKyAgICAgIGNvbnN0IGludDE2eDh4Ml90IHI2N19z
MTYgPQorICAgICAgICAgIHZ0cm5xX3MxNih2cmVpbnRlcnByZXRxX3MxNl9zMzIocjQ2X3MzMi52
YWxbMV0pLAorICAgICAgICAgICAgICAgICAgICB2cmVpbnRlcnByZXRxX3MxNl9zMzIocjU3X3Mz
Mi52YWxbMV0pKTsKKyAgICAgIGlucHV0XzAgPSByMDFfczE2LnZhbFswXTsKKyAgICAgIGlucHV0
XzEgPSByMDFfczE2LnZhbFsxXTsKKyAgICAgIGlucHV0XzIgPSByMjNfczE2LnZhbFswXTsKKyAg
ICAgIGlucHV0XzMgPSByMjNfczE2LnZhbFsxXTsKKyAgICAgIGlucHV0XzQgPSByNDVfczE2LnZh
bFswXTsKKyAgICAgIGlucHV0XzUgPSByNDVfczE2LnZhbFsxXTsKKyAgICAgIGlucHV0XzYgPSBy
NjdfczE2LnZhbFswXTsKKyAgICAgIGlucHV0XzcgPSByNjdfczE2LnZhbFsxXTsKKyAgICAgIC8v
IDAwIDEwIDIwIDMwIDQwIDUwIDYwIDcwCisgICAgICAvLyAwMSAxMSAyMSAzMSA0MSA1MSA2MSA3
MQorICAgICAgLy8gMDIgMTIgMjIgMzIgNDIgNTIgNjIgNzIKKyAgICAgIC8vIDAzIDEzIDIzIDMz
IDQzIDUzIDYzIDczCisgICAgICAvLyAwNCAxNCAyNCAzNCA0NCA1NCA2NCA3NAorICAgICAgLy8g
MDUgMTUgMjUgMzUgNDUgNTUgNjUgNzUKKyAgICAgIC8vIDA2IDE2IDI2IDM2IDQ2IDU2IDY2IDc2
CisgICAgICAvLyAwNyAxNyAyNyAzNyA0NyA1NyA2NyA3NworICAgIH0KKyAgfSAgLy8gZm9yCisg
IHsKKyAgICAvLyBmcm9tIHZweF9kY3Rfc3NlMi5jCisgICAgLy8gUG9zdC1jb25kaXRpb24gKGRp
dmlzaW9uIGJ5IHR3bykKKyAgICAvLyAgICBkaXZpc2lvbiBvZiB0d28gMTYgYml0cyBzaWduZWQg
bnVtYmVycyB1c2luZyBzaGlmdHMKKyAgICAvLyAgICBuIC8gMiA9IChuIC0gKG4gPj4gMTUpKSA+
PiAxCisgICAgY29uc3QgaW50MTZ4OF90IHNpZ25faW4wID0gdnNocnFfbl9zMTYoaW5wdXRfMCwg
MTUpOworICAgIGNvbnN0IGludDE2eDhfdCBzaWduX2luMSA9IHZzaHJxX25fczE2KGlucHV0XzEs
IDE1KTsKKyAgICBjb25zdCBpbnQxNng4X3Qgc2lnbl9pbjIgPSB2c2hycV9uX3MxNihpbnB1dF8y
LCAxNSk7CisgICAgY29uc3QgaW50MTZ4OF90IHNpZ25faW4zID0gdnNocnFfbl9zMTYoaW5wdXRf
MywgMTUpOworICAgIGNvbnN0IGludDE2eDhfdCBzaWduX2luNCA9IHZzaHJxX25fczE2KGlucHV0
XzQsIDE1KTsKKyAgICBjb25zdCBpbnQxNng4X3Qgc2lnbl9pbjUgPSB2c2hycV9uX3MxNihpbnB1
dF81LCAxNSk7CisgICAgY29uc3QgaW50MTZ4OF90IHNpZ25faW42ID0gdnNocnFfbl9zMTYoaW5w
dXRfNiwgMTUpOworICAgIGNvbnN0IGludDE2eDhfdCBzaWduX2luNyA9IHZzaHJxX25fczE2KGlu
cHV0XzcsIDE1KTsKKyAgICBpbnB1dF8wID0gdmhzdWJxX3MxNihpbnB1dF8wLCBzaWduX2luMCk7
CisgICAgaW5wdXRfMSA9IHZoc3VicV9zMTYoaW5wdXRfMSwgc2lnbl9pbjEpOworICAgIGlucHV0
XzIgPSB2aHN1YnFfczE2KGlucHV0XzIsIHNpZ25faW4yKTsKKyAgICBpbnB1dF8zID0gdmhzdWJx
X3MxNihpbnB1dF8zLCBzaWduX2luMyk7CisgICAgaW5wdXRfNCA9IHZoc3VicV9zMTYoaW5wdXRf
NCwgc2lnbl9pbjQpOworICAgIGlucHV0XzUgPSB2aHN1YnFfczE2KGlucHV0XzUsIHNpZ25faW41
KTsKKyAgICBpbnB1dF82ID0gdmhzdWJxX3MxNihpbnB1dF82LCBzaWduX2luNik7CisgICAgaW5w
dXRfNyA9IHZoc3VicV9zMTYoaW5wdXRfNywgc2lnbl9pbjcpOworICAgIC8vIHN0b3JlIHJlc3Vs
dHMKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291dHB1dCArIDAgKiA4LCBpbnB1
dF8wKTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291dHB1dCArIDEgKiA4LCBp
bnB1dF8xKTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291dHB1dCArIDIgKiA4
LCBpbnB1dF8yKTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291dHB1dCArIDMg
KiA4LCBpbnB1dF8zKTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291dHB1dCAr
IDQgKiA4LCBpbnB1dF80KTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291dHB1
dCArIDUgKiA4LCBpbnB1dF81KTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFsX291
dHB1dCArIDYgKiA4LCBpbnB1dF82KTsKKyAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGZpbmFs
X291dHB1dCArIDcgKiA4LCBpbnB1dF83KTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9oYWRhbWFyZF9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hh
ZGFtYXJkX25lb24uYwppbmRleCBmNWEwNDRiZTRkYTQuLjUyM2E2M2M2ZjczZSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oYWRhbWFyZF9uZW9uLmMKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9oYWRhbWFyZF9uZW9uLmMKQEAgLTExNCw0NSArMTE0LDMgQEAgdm9pZCB2
cHhfaGFkYW1hcmRfMTZ4MTZfbmVvbihjb25zdCBpbnQxNl90ICpzcmNfZGlmZiwgcHRyZGlmZl90
IHNyY19zdHJpZGUsCiAgICAgY29lZmYgKz0gODsKICAgfQogfQotCi12b2lkIHZweF9oYWRhbWFy
ZF8zMngzMl9uZW9uKGNvbnN0IGludDE2X3QgKnNyY19kaWZmLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqY29lZmYpIHsKLSAg
aW50IGk7Ci0KLSAgLyogUmVhcnJhbmdlIDMyeDMyIHRvIDE2eDY0IGFuZCByZW1vdmUgc3RyaWRl
LgotICAgKiBUb3AgbGVmdCBmaXJzdC4gKi8KLSAgdnB4X2hhZGFtYXJkXzE2eDE2X25lb24oc3Jj
X2RpZmYgKyAwICsgMCAqIHNyY19zdHJpZGUsIHNyY19zdHJpZGUsIGNvZWZmICsgMCk7Ci0gIC8q
IFRvcCByaWdodC4gKi8KLSAgdnB4X2hhZGFtYXJkXzE2eDE2X25lb24oc3JjX2RpZmYgKyAxNiAr
IDAgKiBzcmNfc3RyaWRlLCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBj
b2VmZiArIDI1Nik7Ci0gIC8qIEJvdHRvbSBsZWZ0LiAqLwotICB2cHhfaGFkYW1hcmRfMTZ4MTZf
bmVvbihzcmNfZGlmZiArIDAgKyAxNiAqIHNyY19zdHJpZGUsIHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvZWZmICsgNTEyKTsKLSAgLyogQm90dG9tIHJpZ2h0LiAqLwot
ICB2cHhfaGFkYW1hcmRfMTZ4MTZfbmVvbihzcmNfZGlmZiArIDE2ICsgMTYgKiBzcmNfc3RyaWRl
LCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb2VmZiArIDc2OCk7Ci0K
LSAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSArPSA4KSB7Ci0gICAgY29uc3QgaW50MTZ4OF90IGEw
ID0gbG9hZF90cmFuX2xvd190b19zMTZxKGNvZWZmICsgMCk7Ci0gICAgY29uc3QgaW50MTZ4OF90
IGExID0gbG9hZF90cmFuX2xvd190b19zMTZxKGNvZWZmICsgMjU2KTsKLSAgICBjb25zdCBpbnQx
Nng4X3QgYTIgPSBsb2FkX3RyYW5fbG93X3RvX3MxNnEoY29lZmYgKyA1MTIpOwotICAgIGNvbnN0
IGludDE2eDhfdCBhMyA9IGxvYWRfdHJhbl9sb3dfdG9fczE2cShjb2VmZiArIDc2OCk7Ci0KLSAg
ICBjb25zdCBpbnQxNng4X3QgYjAgPSB2c2hycV9uX3MxNih2aGFkZHFfczE2KGEwLCBhMSksIDEp
OwotICAgIGNvbnN0IGludDE2eDhfdCBiMSA9IHZzaHJxX25fczE2KHZoc3VicV9zMTYoYTAsIGEx
KSwgMSk7Ci0gICAgY29uc3QgaW50MTZ4OF90IGIyID0gdnNocnFfbl9zMTYodmhhZGRxX3MxNihh
MiwgYTMpLCAxKTsKLSAgICBjb25zdCBpbnQxNng4X3QgYjMgPSB2c2hycV9uX3MxNih2aHN1YnFf
czE2KGEyLCBhMyksIDEpOwotCi0gICAgY29uc3QgaW50MTZ4OF90IGMwID0gdmFkZHFfczE2KGIw
LCBiMik7Ci0gICAgY29uc3QgaW50MTZ4OF90IGMxID0gdmFkZHFfczE2KGIxLCBiMyk7Ci0gICAg
Y29uc3QgaW50MTZ4OF90IGMyID0gdnN1YnFfczE2KGIwLCBiMik7Ci0gICAgY29uc3QgaW50MTZ4
OF90IGMzID0gdnN1YnFfczE2KGIxLCBiMyk7Ci0KLSAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93
KGNvZWZmICsgMCwgYzApOwotICAgIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3coY29lZmYgKyAyNTYs
IGMxKTsKLSAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KGNvZWZmICsgNTEyLCBjMik7Ci0gICAg
c3RvcmVfczE2cV90b190cmFuX2xvdyhjb2VmZiArIDc2OCwgYzMpOwotCi0gICAgY29lZmYgKz0g
ODsKLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfYXZn
X25lb24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2F2Z19uZW9uLmMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyNjU1OTZjOGNhNy4uMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2F2Z19uZW9uLmMKKysrIC9kZXYvbnVsbApA
QCAtMSwxNDAgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjMgVGhlIFdlYk0gcHJv
amVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBj
YW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl
Ci0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdy
YW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0
aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxl
IGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSA8YXJtX25l
b24uaD4KLQotI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAiLi92cHhfY29u
ZmlnLmgiCi0KLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9tZW1fbmVvbi5oIgotI2luY2x1ZGUgInZw
eF9kc3AvYXJtL3N1bV9uZW9uLmgiCi0KLXVpbnQzMl90IHZweF9oaWdoYmRfYXZnXzR4NF9uZW9u
KGNvbnN0IHVpbnQ4X3QgKnM4LCBpbnQgcCkgewotICBjb25zdCB1aW50MTZfdCAqYV9wdHIgPSBD
T05WRVJUX1RPX1NIT1JUUFRSKHM4KTsKLSAgY29uc3QgdWludDE2eDhfdCBhMCA9IGxvYWRfdW5h
bGlnbmVkX3UxNnEoYV9wdHIgKyAwICogcCwgcCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgYTEgPSBs
b2FkX3VuYWxpZ25lZF91MTZxKGFfcHRyICsgMiAqIHAsIHApOwotICByZXR1cm4gKGhvcml6b250
YWxfYWRkX3VpbnQxNng4KHZhZGRxX3UxNihhMCwgYTEpKSArICgxIDw8IDMpKSA+PiA0OwotfQot
Ci11aW50MzJfdCB2cHhfaGlnaGJkX2F2Z184eDhfbmVvbihjb25zdCB1aW50OF90ICpzOCwgaW50
IHApIHsKLSAgY29uc3QgdWludDE2X3QgKmFfcHRyID0gQ09OVkVSVF9UT19TSE9SVFBUUihzOCk7
Ci0gIHVpbnQxNng4X3Qgc3VtLCBhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTc7Ci0KLSAg
bG9hZF91MTZfOHg4KGFfcHRyLCBwLCAmYTAsICZhMSwgJmEyLCAmYTMsICZhNCwgJmE1LCAmYTYs
ICZhNyk7Ci0KLSAgc3VtID0gdmFkZHFfdTE2KGEwLCBhMSk7Ci0gIHN1bSA9IHZhZGRxX3UxNihz
dW0sIGEyKTsKLSAgc3VtID0gdmFkZHFfdTE2KHN1bSwgYTMpOwotICBzdW0gPSB2YWRkcV91MTYo
c3VtLCBhNCk7Ci0gIHN1bSA9IHZhZGRxX3UxNihzdW0sIGE1KTsKLSAgc3VtID0gdmFkZHFfdTE2
KHN1bSwgYTYpOwotICBzdW0gPSB2YWRkcV91MTYoc3VtLCBhNyk7Ci0KLSAgcmV0dXJuIChob3Jp
em9udGFsX2FkZF91aW50MTZ4OChzdW0pICsgKDEgPDwgNSkpID4+IDY7Ci19Ci0KLS8vIGNvZWZm
OiAzMiBiaXRzLCBkeW5hbWljIHJhbmdlIFstMjE0NzQ4MzY0OCwgMjE0NzQ4MzY0N10uCi0vLyBs
ZW5ndGg6IHZhbHVlIHJhbmdlIHsxNiwgNjQsIDI1NiwgMTAyNH0uCi0vLyBzYXRkOiA0MiBiaXRz
LCBkeW5hbWljIHJhbmdlIFstMjE0NzQ4MzY0OCAqIDEwMjQsIDIxNDc0ODM2NDcgKiAxMDI0XQot
aW50IHZweF9oaWdoYmRfc2F0ZF9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmLCBpbnQgbGVu
Z3RoKSB7Ci0gIGludDY0eDJfdCBzdW1fczY0WzJdID0geyB2ZHVwcV9uX3M2NCgwKSwgdmR1cHFf
bl9zNjQoMCkgfTsKLQotICBkbyB7Ci0gICAgaW50MzJ4NF90IGFiczAsIGFiczE7Ci0gICAgY29u
c3QgaW50MzJ4NF90IHMwID0gbG9hZF90cmFuX2xvd190b19zMzJxKGNvZWZmKTsKLSAgICBjb25z
dCBpbnQzMng0X3QgczEgPSBsb2FkX3RyYW5fbG93X3RvX3MzMnEoY29lZmYgKyA0KTsKLQotICAg
IGFiczAgPSB2YWJzcV9zMzIoczApOwotICAgIHN1bV9zNjRbMF0gPSB2cGFkYWxxX3MzMihzdW1f
czY0WzBdLCBhYnMwKTsKLSAgICBhYnMxID0gdmFic3FfczMyKHMxKTsKLSAgICBzdW1fczY0WzFd
ID0gdnBhZGFscV9zMzIoc3VtX3M2NFsxXSwgYWJzMSk7Ci0KLSAgICBsZW5ndGggLT0gODsKLSAg
ICBjb2VmZiArPSA4OwotICB9IHdoaWxlIChsZW5ndGggIT0gMCk7Ci0KLSAgcmV0dXJuIChpbnQp
aG9yaXpvbnRhbF9hZGRfaW50NjR4Mih2YWRkcV9zNjQoc3VtX3M2NFswXSwgc3VtX3M2NFsxXSkp
OwotfQotCi12b2lkIHZweF9oaWdoYmRfbWlubWF4Xzh4OF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnM4
LCBpbnQgcCwgY29uc3QgdWludDhfdCAqZDgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkcCwgaW50ICptaW4sIGludCAqbWF4KSB7Ci0gIGNvbnN0IHVpbnQxNl90ICphX3B0
ciA9IENPTlZFUlRfVE9fU0hPUlRQVFIoczgpOwotICBjb25zdCB1aW50MTZfdCAqYl9wdHIgPSBD
T05WRVJUX1RPX1NIT1JUUFRSKGQ4KTsKLQotICBjb25zdCB1aW50MTZ4OF90IGEwID0gdmxkMXFf
dTE2KGFfcHRyICsgMCAqIHApOwotICBjb25zdCB1aW50MTZ4OF90IGExID0gdmxkMXFfdTE2KGFf
cHRyICsgMSAqIHApOwotICBjb25zdCB1aW50MTZ4OF90IGEyID0gdmxkMXFfdTE2KGFfcHRyICsg
MiAqIHApOwotICBjb25zdCB1aW50MTZ4OF90IGEzID0gdmxkMXFfdTE2KGFfcHRyICsgMyAqIHAp
OwotICBjb25zdCB1aW50MTZ4OF90IGE0ID0gdmxkMXFfdTE2KGFfcHRyICsgNCAqIHApOwotICBj
b25zdCB1aW50MTZ4OF90IGE1ID0gdmxkMXFfdTE2KGFfcHRyICsgNSAqIHApOwotICBjb25zdCB1
aW50MTZ4OF90IGE2ID0gdmxkMXFfdTE2KGFfcHRyICsgNiAqIHApOwotICBjb25zdCB1aW50MTZ4
OF90IGE3ID0gdmxkMXFfdTE2KGFfcHRyICsgNyAqIHApOwotCi0gIGNvbnN0IHVpbnQxNng4X3Qg
YjAgPSB2bGQxcV91MTYoYl9wdHIgKyAwICogZHApOwotICBjb25zdCB1aW50MTZ4OF90IGIxID0g
dmxkMXFfdTE2KGJfcHRyICsgMSAqIGRwKTsKLSAgY29uc3QgdWludDE2eDhfdCBiMiA9IHZsZDFx
X3UxNihiX3B0ciArIDIgKiBkcCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgYjMgPSB2bGQxcV91MTYo
Yl9wdHIgKyAzICogZHApOwotICBjb25zdCB1aW50MTZ4OF90IGI0ID0gdmxkMXFfdTE2KGJfcHRy
ICsgNCAqIGRwKTsKLSAgY29uc3QgdWludDE2eDhfdCBiNSA9IHZsZDFxX3UxNihiX3B0ciArIDUg
KiBkcCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgYjYgPSB2bGQxcV91MTYoYl9wdHIgKyA2ICogZHAp
OwotICBjb25zdCB1aW50MTZ4OF90IGI3ID0gdmxkMXFfdTE2KGJfcHRyICsgNyAqIGRwKTsKLQot
ICBjb25zdCB1aW50MTZ4OF90IGFic19kaWZmMCA9IHZhYmRxX3UxNihhMCwgYjApOwotICBjb25z
dCB1aW50MTZ4OF90IGFic19kaWZmMSA9IHZhYmRxX3UxNihhMSwgYjEpOwotICBjb25zdCB1aW50
MTZ4OF90IGFic19kaWZmMiA9IHZhYmRxX3UxNihhMiwgYjIpOwotICBjb25zdCB1aW50MTZ4OF90
IGFic19kaWZmMyA9IHZhYmRxX3UxNihhMywgYjMpOwotICBjb25zdCB1aW50MTZ4OF90IGFic19k
aWZmNCA9IHZhYmRxX3UxNihhNCwgYjQpOwotICBjb25zdCB1aW50MTZ4OF90IGFic19kaWZmNSA9
IHZhYmRxX3UxNihhNSwgYjUpOwotICBjb25zdCB1aW50MTZ4OF90IGFic19kaWZmNiA9IHZhYmRx
X3UxNihhNiwgYjYpOwotICBjb25zdCB1aW50MTZ4OF90IGFic19kaWZmNyA9IHZhYmRxX3UxNihh
NywgYjcpOwotCi0gIGNvbnN0IHVpbnQxNng4X3QgbWF4MDEgPSB2bWF4cV91MTYoYWJzX2RpZmYw
LCBhYnNfZGlmZjEpOwotICBjb25zdCB1aW50MTZ4OF90IG1heDIzID0gdm1heHFfdTE2KGFic19k
aWZmMiwgYWJzX2RpZmYzKTsKLSAgY29uc3QgdWludDE2eDhfdCBtYXg0NSA9IHZtYXhxX3UxNihh
YnNfZGlmZjQsIGFic19kaWZmNSk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgbWF4NjcgPSB2bWF4cV91
MTYoYWJzX2RpZmY2LCBhYnNfZGlmZjcpOwotCi0gIGNvbnN0IHVpbnQxNng4X3QgbWF4MDEyMyA9
IHZtYXhxX3UxNihtYXgwMSwgbWF4MjMpOwotICBjb25zdCB1aW50MTZ4OF90IG1heDQ1NjcgPSB2
bWF4cV91MTYobWF4NDUsIG1heDY3KTsKLSAgY29uc3QgdWludDE2eDhfdCBtYXgwNyA9IHZtYXhx
X3UxNihtYXgwMTIzLCBtYXg0NTY3KTsKLQotICBjb25zdCB1aW50MTZ4OF90IG1pbjAxID0gdm1p
bnFfdTE2KGFic19kaWZmMCwgYWJzX2RpZmYxKTsKLSAgY29uc3QgdWludDE2eDhfdCBtaW4yMyA9
IHZtaW5xX3UxNihhYnNfZGlmZjIsIGFic19kaWZmMyk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgbWlu
NDUgPSB2bWlucV91MTYoYWJzX2RpZmY0LCBhYnNfZGlmZjUpOwotICBjb25zdCB1aW50MTZ4OF90
IG1pbjY3ID0gdm1pbnFfdTE2KGFic19kaWZmNiwgYWJzX2RpZmY3KTsKLQotICBjb25zdCB1aW50
MTZ4OF90IG1pbjAxMjMgPSB2bWlucV91MTYobWluMDEsIG1pbjIzKTsKLSAgY29uc3QgdWludDE2
eDhfdCBtaW40NTY3ID0gdm1pbnFfdTE2KG1pbjQ1LCBtaW42Nyk7Ci0gIGNvbnN0IHVpbnQxNng4
X3QgbWluMDcgPSB2bWlucV91MTYobWluMDEyMywgbWluNDU2Nyk7Ci0KLSNpZiBWUFhfQVJDSF9B
QVJDSDY0Ci0gICptaW4gPSAqbWF4ID0gMDsgIC8vIENsZWFyIGhpZ2ggYml0cwotICAqKCh1aW50
MTZfdCAqKW1heCkgPSB2bWF4dnFfdTE2KG1heDA3KTsKLSAgKigodWludDE2X3QgKiltaW4pID0g
dm1pbnZxX3UxNihtaW4wNyk7Ci0jZWxzZQotICAvLyBTcGxpdCBpbnRvIDY0LWJpdCB2ZWN0b3Jz
IGFuZCBleGVjdXRlIHBhaXJ3aXNlIG1pbi9tYXguCi0gIHVpbnQxNng0X3QgYWJfbWF4ID0gdm1h
eF91MTYodmdldF9oaWdoX3UxNihtYXgwNyksIHZnZXRfbG93X3UxNihtYXgwNykpOwotICB1aW50
MTZ4NF90IGFiX21pbiA9IHZtaW5fdTE2KHZnZXRfaGlnaF91MTYobWluMDcpLCB2Z2V0X2xvd191
MTYobWluMDcpKTsKLQotICAvLyBFbm91Z2ggcnVucyBvZiB2cG1heC9taW4gcHJvcGFnYXRlIHRo
ZSBtYXgvbWluIHZhbHVlcyB0byBldmVyeSBwb3NpdGlvbi4KLSAgYWJfbWF4ID0gdnBtYXhfdTE2
KGFiX21heCwgYWJfbWF4KTsKLSAgYWJfbWluID0gdnBtaW5fdTE2KGFiX21pbiwgYWJfbWluKTsK
LQotICBhYl9tYXggPSB2cG1heF91MTYoYWJfbWF4LCBhYl9tYXgpOwotICBhYl9taW4gPSB2cG1p
bl91MTYoYWJfbWluLCBhYl9taW4pOwotCi0gIGFiX21heCA9IHZwbWF4X3UxNihhYl9tYXgsIGFi
X21heCk7Ci0gIGFiX21pbiA9IHZwbWluX3UxNihhYl9taW4sIGFiX21pbik7Ci0KLSAgKm1pbiA9
ICptYXggPSAwOyAgLy8gQ2xlYXIgaGlnaCBiaXRzCi0gIC8vIFN0b3JlIGRpcmVjdGx5IHRvIGF2
b2lkIGNvc3RseSBuZW9uLT5ncHIgdHJhbnNmZXIuCi0gIHZzdDFfbGFuZV91MTYoKHVpbnQxNl90
ICopbWF4LCBhYl9tYXgsIDApOwotICB2c3QxX2xhbmVfdTE2KCh1aW50MTZfdCAqKW1pbiwgYWJf
bWluLCAwKTsKLSNlbmRpZgotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9o
aWdoYmRfYXZnX3ByZWRfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfYXZn
X3ByZWRfbmVvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDYzYWNiYjNlM2Yu
LjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9hdmdfcHJl
ZF9uZW9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogIENvcHlyaWdo
dCAoYykgMjAyMyBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0
eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGlu
IHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVj
dHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUg
UEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZv
dW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgot
ICovCi0KLSNpbmNsdWRlIDxhcm1fbmVvbi5oPgotI2luY2x1ZGUgPGFzc2VydC5oPgotCi0jaW5j
bHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLQotdm9p
ZCB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWRfbmVvbih1aW50MTZfdCAqY29tcF9wcmVkLCBjb25z
dCB1aW50MTZfdCAqcHJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoLCBpbnQgaGVpZ2h0LCBjb25zdCB1aW50MTZfdCAqcmVmLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSkgewotICBpbnQgaSA9IGhlaWdodDsK
LSAgaWYgKHdpZHRoID4gOCkgewotICAgIGRvIHsKLSAgICAgIGludCBqID0gMDsKLSAgICAgIGRv
IHsKLSAgICAgICAgY29uc3QgdWludDE2eDhfdCBwID0gdmxkMXFfdTE2KHByZWQgKyBqKTsKLSAg
ICAgICAgY29uc3QgdWludDE2eDhfdCByID0gdmxkMXFfdTE2KHJlZiArIGopOwotCi0gICAgICAg
IHVpbnQxNng4X3QgYXZnID0gdnJoYWRkcV91MTYocCwgcik7Ci0gICAgICAgIHZzdDFxX3UxNihj
b21wX3ByZWQgKyBqLCBhdmcpOwotCi0gICAgICAgIGogKz0gODsKLSAgICAgIH0gd2hpbGUgKGog
PCB3aWR0aCk7Ci0KLSAgICAgIGNvbXBfcHJlZCArPSB3aWR0aDsKLSAgICAgIHByZWQgKz0gd2lk
dGg7Ci0gICAgICByZWYgKz0gcmVmX3N0cmlkZTsKLSAgICB9IHdoaWxlICgtLWkgIT0gMCk7Ci0g
IH0gZWxzZSBpZiAod2lkdGggPT0gOCkgewotICAgIGRvIHsKLSAgICAgIGNvbnN0IHVpbnQxNng4
X3QgcCA9IHZsZDFxX3UxNihwcmVkKTsKLSAgICAgIGNvbnN0IHVpbnQxNng4X3QgciA9IHZsZDFx
X3UxNihyZWYpOwotCi0gICAgICB1aW50MTZ4OF90IGF2ZyA9IHZyaGFkZHFfdTE2KHAsIHIpOwot
ICAgICAgdnN0MXFfdTE2KGNvbXBfcHJlZCwgYXZnKTsKLQotICAgICAgY29tcF9wcmVkICs9IHdp
ZHRoOwotICAgICAgcHJlZCArPSB3aWR0aDsKLSAgICAgIHJlZiArPSByZWZfc3RyaWRlOwotICAg
IH0gd2hpbGUgKC0taSAhPSAwKTsKLSAgfSBlbHNlIHsKLSAgICBhc3NlcnQod2lkdGggPT0gNCk7
Ci0gICAgZG8gewotICAgICAgY29uc3QgdWludDE2eDRfdCBwID0gdmxkMV91MTYocHJlZCk7Ci0g
ICAgICBjb25zdCB1aW50MTZ4NF90IHIgPSB2bGQxX3UxNihyZWYpOwotCi0gICAgICB1aW50MTZ4
NF90IGF2ZyA9IHZyaGFkZF91MTYocCwgcik7Ci0gICAgICB2c3QxX3UxNihjb21wX3ByZWQsIGF2
Zyk7Ci0KLSAgICAgIGNvbXBfcHJlZCArPSB3aWR0aDsKLSAgICAgIHByZWQgKz0gd2lkdGg7Ci0g
ICAgICByZWYgKz0gcmVmX3N0cmlkZTsKLSAgICB9IHdoaWxlICgtLWkgIT0gMCk7Ci0gIH0KLX0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2hhZGFtYXJkX25lb24u
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2hhZGFtYXJkX25lb24uYwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JlODhmNmJjYjA0Li4wMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfaGFkYW1hcmRfbmVvbi5jCisrKyAvZGV2L251
bGwKQEAgLTEsMjE1ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBXZWJN
IHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRo
YXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNv
dXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0
cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRy
aWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMg
ZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGFy
bV9uZW9uLmg+Ci0KLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgIi4vdnB4
X2NvbmZpZy5oIgotCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0vbWVtX25lb24uaCIKLSNpbmNsdWRl
ICJ2cHhfZHNwL2FybS90cmFuc3Bvc2VfbmVvbi5oIgotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGFk
YW1hcmRfaGlnaGJkX2NvbDhfZmlyc3RfcGFzcyhpbnQxNng4X3QgKmEwLCBpbnQxNng4X3QgKmEx
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MTZ4OF90ICphMiwgaW50MTZ4OF90ICphMywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqYTQsIGludDE2eDhfdCAqYTUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNng4X3Qg
KmE2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MTZ4OF90ICphNykgewotICBpbnQxNng4X3QgYjAgPSB2YWRkcV9zMTYoKmEwLCAqYTEpOwot
ICBpbnQxNng4X3QgYjEgPSB2c3VicV9zMTYoKmEwLCAqYTEpOwotICBpbnQxNng4X3QgYjIgPSB2
YWRkcV9zMTYoKmEyLCAqYTMpOwotICBpbnQxNng4X3QgYjMgPSB2c3VicV9zMTYoKmEyLCAqYTMp
OwotICBpbnQxNng4X3QgYjQgPSB2YWRkcV9zMTYoKmE0LCAqYTUpOwotICBpbnQxNng4X3QgYjUg
PSB2c3VicV9zMTYoKmE0LCAqYTUpOwotICBpbnQxNng4X3QgYjYgPSB2YWRkcV9zMTYoKmE2LCAq
YTcpOwotICBpbnQxNng4X3QgYjcgPSB2c3VicV9zMTYoKmE2LCAqYTcpOwotCi0gIGludDE2eDhf
dCBjMCA9IHZhZGRxX3MxNihiMCwgYjIpOwotICBpbnQxNng4X3QgYzIgPSB2c3VicV9zMTYoYjAs
IGIyKTsKLSAgaW50MTZ4OF90IGMxID0gdmFkZHFfczE2KGIxLCBiMyk7Ci0gIGludDE2eDhfdCBj
MyA9IHZzdWJxX3MxNihiMSwgYjMpOwotICBpbnQxNng4X3QgYzQgPSB2YWRkcV9zMTYoYjQsIGI2
KTsKLSAgaW50MTZ4OF90IGM2ID0gdnN1YnFfczE2KGI0LCBiNik7Ci0gIGludDE2eDhfdCBjNSA9
IHZhZGRxX3MxNihiNSwgYjcpOwotICBpbnQxNng4X3QgYzcgPSB2c3VicV9zMTYoYjUsIGI3KTsK
LQotICAqYTAgPSB2YWRkcV9zMTYoYzAsIGM0KTsKLSAgKmEyID0gdnN1YnFfczE2KGMwLCBjNCk7
Ci0gICphNyA9IHZhZGRxX3MxNihjMSwgYzUpOwotICAqYTYgPSB2c3VicV9zMTYoYzEsIGM1KTsK
LSAgKmEzID0gdmFkZHFfczE2KGMyLCBjNik7Ci0gICphMSA9IHZzdWJxX3MxNihjMiwgYzYpOwot
ICAqYTQgPSB2YWRkcV9zMTYoYzMsIGM3KTsKLSAgKmE1ID0gdnN1YnFfczE2KGMzLCBjNyk7Ci19
Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoYWRhbWFyZF9oaWdoYmRfY29sNF9zZWNvbmRfcGFzcyhp
bnQxNng0X3QgYTAsIGludDE2eDRfdCBhMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQxNng0X3QgYTIsIGludDE2eDRfdCBhMywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNng0X3Qg
YTQsIGludDE2eDRfdCBhNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQxNng0X3QgYTYsIGludDE2eDRfdCBhNywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpjb2VmZikg
ewotICBpbnQzMng0X3QgYjAgPSB2YWRkbF9zMTYoYTAsIGExKTsKLSAgaW50MzJ4NF90IGIxID0g
dnN1YmxfczE2KGEwLCBhMSk7Ci0gIGludDMyeDRfdCBiMiA9IHZhZGRsX3MxNihhMiwgYTMpOwot
ICBpbnQzMng0X3QgYjMgPSB2c3VibF9zMTYoYTIsIGEzKTsKLSAgaW50MzJ4NF90IGI0ID0gdmFk
ZGxfczE2KGE0LCBhNSk7Ci0gIGludDMyeDRfdCBiNSA9IHZzdWJsX3MxNihhNCwgYTUpOwotICBp
bnQzMng0X3QgYjYgPSB2YWRkbF9zMTYoYTYsIGE3KTsKLSAgaW50MzJ4NF90IGI3ID0gdnN1Ymxf
czE2KGE2LCBhNyk7Ci0KLSAgaW50MzJ4NF90IGMwID0gdmFkZHFfczMyKGIwLCBiMik7Ci0gIGlu
dDMyeDRfdCBjMiA9IHZzdWJxX3MzMihiMCwgYjIpOwotICBpbnQzMng0X3QgYzEgPSB2YWRkcV9z
MzIoYjEsIGIzKTsKLSAgaW50MzJ4NF90IGMzID0gdnN1YnFfczMyKGIxLCBiMyk7Ci0gIGludDMy
eDRfdCBjNCA9IHZhZGRxX3MzMihiNCwgYjYpOwotICBpbnQzMng0X3QgYzYgPSB2c3VicV9zMzIo
YjQsIGI2KTsKLSAgaW50MzJ4NF90IGM1ID0gdmFkZHFfczMyKGI1LCBiNyk7Ci0gIGludDMyeDRf
dCBjNyA9IHZzdWJxX3MzMihiNSwgYjcpOwotCi0gIGludDMyeDRfdCBkMCA9IHZhZGRxX3MzMihj
MCwgYzQpOwotICBpbnQzMng0X3QgZDIgPSB2c3VicV9zMzIoYzAsIGM0KTsKLSAgaW50MzJ4NF90
IGQ3ID0gdmFkZHFfczMyKGMxLCBjNSk7Ci0gIGludDMyeDRfdCBkNiA9IHZzdWJxX3MzMihjMSwg
YzUpOwotICBpbnQzMng0X3QgZDMgPSB2YWRkcV9zMzIoYzIsIGM2KTsKLSAgaW50MzJ4NF90IGQx
ID0gdnN1YnFfczMyKGMyLCBjNik7Ci0gIGludDMyeDRfdCBkNCA9IHZhZGRxX3MzMihjMywgYzcp
OwotICBpbnQzMng0X3QgZDUgPSB2c3VicV9zMzIoYzMsIGM3KTsKLQotICBzdG9yZV9zMzJxX3Rv
X3RyYW5fbG93KGNvZWZmICsgMCwgZDApOwotICBzdG9yZV9zMzJxX3RvX3RyYW5fbG93KGNvZWZm
ICsgNCwgZDEpOwotICBzdG9yZV9zMzJxX3RvX3RyYW5fbG93KGNvZWZmICsgOCwgZDIpOwotICBz
dG9yZV9zMzJxX3RvX3RyYW5fbG93KGNvZWZmICsgMTIsIGQzKTsKLSAgc3RvcmVfczMycV90b190
cmFuX2xvdyhjb2VmZiArIDE2LCBkNCk7Ci0gIHN0b3JlX3MzMnFfdG9fdHJhbl9sb3coY29lZmYg
KyAyMCwgZDUpOwotICBzdG9yZV9zMzJxX3RvX3RyYW5fbG93KGNvZWZmICsgMjQsIGQ2KTsKLSAg
c3RvcmVfczMycV90b190cmFuX2xvdyhjb2VmZiArIDI4LCBkNyk7Ci19Ci0KLXZvaWQgdnB4X2hp
Z2hiZF9oYWRhbWFyZF84eDhfbmVvbihjb25zdCBpbnQxNl90ICpzcmNfZGlmZiwgcHRyZGlmZl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCAqY29lZmYpIHsKLSAgaW50MTZ4NF90IGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNzsK
LQotICBpbnQxNng4X3QgczAgPSB2bGQxcV9zMTYoc3JjX2RpZmYgKyAwICogc3JjX3N0cmlkZSk7
Ci0gIGludDE2eDhfdCBzMSA9IHZsZDFxX3MxNihzcmNfZGlmZiArIDEgKiBzcmNfc3RyaWRlKTsK
LSAgaW50MTZ4OF90IHMyID0gdmxkMXFfczE2KHNyY19kaWZmICsgMiAqIHNyY19zdHJpZGUpOwot
ICBpbnQxNng4X3QgczMgPSB2bGQxcV9zMTYoc3JjX2RpZmYgKyAzICogc3JjX3N0cmlkZSk7Ci0g
IGludDE2eDhfdCBzNCA9IHZsZDFxX3MxNihzcmNfZGlmZiArIDQgKiBzcmNfc3RyaWRlKTsKLSAg
aW50MTZ4OF90IHM1ID0gdmxkMXFfczE2KHNyY19kaWZmICsgNSAqIHNyY19zdHJpZGUpOwotICBp
bnQxNng4X3QgczYgPSB2bGQxcV9zMTYoc3JjX2RpZmYgKyA2ICogc3JjX3N0cmlkZSk7Ci0gIGlu
dDE2eDhfdCBzNyA9IHZsZDFxX3MxNihzcmNfZGlmZiArIDcgKiBzcmNfc3RyaWRlKTsKLQotICAv
LyBGb3IgdGhlIGZpcnN0IHBhc3Mgd2UgY2FuIHN0YXkgaW4gMTYtYml0IGVsZW1lbnRzICg0MDk1
KjggPSAzMjc2MCkuCi0gIGhhZGFtYXJkX2hpZ2hiZF9jb2w4X2ZpcnN0X3Bhc3MoJnMwLCAmczEs
ICZzMiwgJnMzLCAmczQsICZzNSwgJnM2LCAmczcpOwotCi0gIHRyYW5zcG9zZV9zMTZfOHg4KCZz
MCwgJnMxLCAmczIsICZzMywgJnM0LCAmczUsICZzNiwgJnM3KTsKLQotICAvLyBGb3IgdGhlIHNl
Y29uZCBwYXNzIHdlIG5lZWQgdG8gd2lkZW4gdG8gMzItYml0IGVsZW1lbnRzLCBzbyB3ZSdyZQot
ICAvLyBwcm9jZXNzaW5nIDQgY29sdW1ucyBhdCBhIHRpbWUuCi0gIC8vIFNraXAgdGhlIHNlY29u
ZCB0cmFuc3Bvc2UgYmVjYXVzZSBpdCBpcyBub3QgcmVxdWlyZWQuCi0KLSAgYjAgPSB2Z2V0X2xv
d19zMTYoczApOwotICBiMSA9IHZnZXRfbG93X3MxNihzMSk7Ci0gIGIyID0gdmdldF9sb3dfczE2
KHMyKTsKLSAgYjMgPSB2Z2V0X2xvd19zMTYoczMpOwotICBiNCA9IHZnZXRfbG93X3MxNihzNCk7
Ci0gIGI1ID0gdmdldF9sb3dfczE2KHM1KTsKLSAgYjYgPSB2Z2V0X2xvd19zMTYoczYpOwotICBi
NyA9IHZnZXRfbG93X3MxNihzNyk7Ci0KLSAgaGFkYW1hcmRfaGlnaGJkX2NvbDRfc2Vjb25kX3Bh
c3MoYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBjb2VmZik7Ci0KLSAgYjAgPSB2Z2V0
X2hpZ2hfczE2KHMwKTsKLSAgYjEgPSB2Z2V0X2hpZ2hfczE2KHMxKTsKLSAgYjIgPSB2Z2V0X2hp
Z2hfczE2KHMyKTsKLSAgYjMgPSB2Z2V0X2hpZ2hfczE2KHMzKTsKLSAgYjQgPSB2Z2V0X2hpZ2hf
czE2KHM0KTsKLSAgYjUgPSB2Z2V0X2hpZ2hfczE2KHM1KTsKLSAgYjYgPSB2Z2V0X2hpZ2hfczE2
KHM2KTsKLSAgYjcgPSB2Z2V0X2hpZ2hfczE2KHM3KTsKLQotICBoYWRhbWFyZF9oaWdoYmRfY29s
NF9zZWNvbmRfcGFzcyhiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGNvZWZmICsgMzIp
OwotfQotCi12b2lkIHZweF9oaWdoYmRfaGFkYW1hcmRfMTZ4MTZfbmVvbihjb25zdCBpbnQxNl90
ICpzcmNfZGlmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLCB0cmFuX2xvd190ICpjb2VmZikgewotICBpbnQgaSA9IDA7Ci0KLSAgLy8g
UmVhcnJhbmdlIDE2eDE2IHRvIDh4MzIgYW5kIHJlbW92ZSBzdHJpZGUuCi0gIC8vIFRvcCBsZWZ0
IGZpcnN0LgotICB2cHhfaGlnaGJkX2hhZGFtYXJkXzh4OF9uZW9uKHNyY19kaWZmLCBzcmNfc3Ry
aWRlLCBjb2VmZik7Ci0gIC8vIFRvcCByaWdodC4KLSAgdnB4X2hpZ2hiZF9oYWRhbWFyZF84eDhf
bmVvbihzcmNfZGlmZiArIDgsIHNyY19zdHJpZGUsIGNvZWZmICsgNjQpOwotICAvLyBCb3R0b20g
bGVmdC4KLSAgdnB4X2hpZ2hiZF9oYWRhbWFyZF84eDhfbmVvbihzcmNfZGlmZiArIDggKiBzcmNf
c3RyaWRlLCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZWZm
ICsgMTI4KTsKLSAgLy8gQm90dG9tIHJpZ2h0LgotICB2cHhfaGlnaGJkX2hhZGFtYXJkXzh4OF9u
ZW9uKHNyY19kaWZmICsgOCAqIHNyY19zdHJpZGUgKyA4LCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvZWZmICsgMTkyKTsKLQotICBkbyB7Ci0gICAgaW50MzJ4
NF90IGEwID0gbG9hZF90cmFuX2xvd190b19zMzJxKGNvZWZmICsgNCAqIGkpOwotICAgIGludDMy
eDRfdCBhMSA9IGxvYWRfdHJhbl9sb3dfdG9fczMycShjb2VmZiArIDQgKiBpICsgNjQpOwotICAg
IGludDMyeDRfdCBhMiA9IGxvYWRfdHJhbl9sb3dfdG9fczMycShjb2VmZiArIDQgKiBpICsgMTI4
KTsKLSAgICBpbnQzMng0X3QgYTMgPSBsb2FkX3RyYW5fbG93X3RvX3MzMnEoY29lZmYgKyA0ICog
aSArIDE5Mik7Ci0KLSAgICBpbnQzMng0X3QgYjAgPSB2aGFkZHFfczMyKGEwLCBhMSk7Ci0gICAg
aW50MzJ4NF90IGIxID0gdmhzdWJxX3MzMihhMCwgYTEpOwotICAgIGludDMyeDRfdCBiMiA9IHZo
YWRkcV9zMzIoYTIsIGEzKTsKLSAgICBpbnQzMng0X3QgYjMgPSB2aHN1YnFfczMyKGEyLCBhMyk7
Ci0KLSAgICBpbnQzMng0X3QgYzAgPSB2YWRkcV9zMzIoYjAsIGIyKTsKLSAgICBpbnQzMng0X3Qg
YzEgPSB2YWRkcV9zMzIoYjEsIGIzKTsKLSAgICBpbnQzMng0X3QgYzIgPSB2c3VicV9zMzIoYjAs
IGIyKTsKLSAgICBpbnQzMng0X3QgYzMgPSB2c3VicV9zMzIoYjEsIGIzKTsKLQotICAgIHN0b3Jl
X3MzMnFfdG9fdHJhbl9sb3coY29lZmYgKyA0ICogaSwgYzApOwotICAgIHN0b3JlX3MzMnFfdG9f
dHJhbl9sb3coY29lZmYgKyA0ICogaSArIDY0LCBjMSk7Ci0gICAgc3RvcmVfczMycV90b190cmFu
X2xvdyhjb2VmZiArIDQgKiBpICsgMTI4LCBjMik7Ci0gICAgc3RvcmVfczMycV90b190cmFuX2xv
dyhjb2VmZiArIDQgKiBpICsgMTkyLCBjMyk7Ci0gIH0gd2hpbGUgKCsraSA8IDE2KTsKLX0KLQot
dm9pZCB2cHhfaGlnaGJkX2hhZGFtYXJkXzMyeDMyX25lb24oY29uc3QgaW50MTZfdCAqc3JjX2Rp
ZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwgdHJhbl9sb3dfdCAqY29lZmYpIHsKLSAgaW50IGkgPSAwOwotCi0gIC8vIFJlYXJyYW5n
ZSAzMngzMiB0byAxNng2NCBhbmQgcmVtb3ZlIHN0cmlkZS4KLSAgLy8gVG9wIGxlZnQgZmlyc3Qu
Ci0gIHZweF9oaWdoYmRfaGFkYW1hcmRfMTZ4MTZfbmVvbihzcmNfZGlmZiwgc3JjX3N0cmlkZSwg
Y29lZmYpOwotICAvLyBUb3AgcmlnaHQuCi0gIHZweF9oaWdoYmRfaGFkYW1hcmRfMTZ4MTZfbmVv
bihzcmNfZGlmZiArIDE2LCBzcmNfc3RyaWRlLCBjb2VmZiArIDI1Nik7Ci0gIC8vIEJvdHRvbSBs
ZWZ0LgotICB2cHhfaGlnaGJkX2hhZGFtYXJkXzE2eDE2X25lb24oc3JjX2RpZmYgKyAxNiAqIHNy
Y19zdHJpZGUsIHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b2VmZiArIDUxMik7Ci0gIC8vIEJvdHRvbSByaWdodC4KLSAgdnB4X2hpZ2hiZF9oYWRhbWFyZF8x
NngxNl9uZW9uKHNyY19kaWZmICsgMTYgKiBzcmNfc3RyaWRlICsgMTYsIHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2VmZiArIDc2OCk7Ci0KLSAgZG8gewot
ICAgIGludDMyeDRfdCBhMCA9IGxvYWRfdHJhbl9sb3dfdG9fczMycShjb2VmZiArIDQgKiBpKTsK
LSAgICBpbnQzMng0X3QgYTEgPSBsb2FkX3RyYW5fbG93X3RvX3MzMnEoY29lZmYgKyA0ICogaSAr
IDI1Nik7Ci0gICAgaW50MzJ4NF90IGEyID0gbG9hZF90cmFuX2xvd190b19zMzJxKGNvZWZmICsg
NCAqIGkgKyA1MTIpOwotICAgIGludDMyeDRfdCBhMyA9IGxvYWRfdHJhbl9sb3dfdG9fczMycShj
b2VmZiArIDQgKiBpICsgNzY4KTsKLQotICAgIGludDMyeDRfdCBiMCA9IHZzaHJxX25fczMyKHZh
ZGRxX3MzMihhMCwgYTEpLCAyKTsKLSAgICBpbnQzMng0X3QgYjEgPSB2c2hycV9uX3MzMih2c3Vi
cV9zMzIoYTAsIGExKSwgMik7Ci0gICAgaW50MzJ4NF90IGIyID0gdnNocnFfbl9zMzIodmFkZHFf
czMyKGEyLCBhMyksIDIpOwotICAgIGludDMyeDRfdCBiMyA9IHZzaHJxX25fczMyKHZzdWJxX3Mz
MihhMiwgYTMpLCAyKTsKLQotICAgIGludDMyeDRfdCBjMCA9IHZhZGRxX3MzMihiMCwgYjIpOwot
ICAgIGludDMyeDRfdCBjMSA9IHZhZGRxX3MzMihiMSwgYjMpOwotICAgIGludDMyeDRfdCBjMiA9
IHZzdWJxX3MzMihiMCwgYjIpOwotICAgIGludDMyeDRfdCBjMyA9IHZzdWJxX3MzMihiMSwgYjMp
OwotCi0gICAgc3RvcmVfczMycV90b190cmFuX2xvdyhjb2VmZiArIDQgKiBpLCBjMCk7Ci0gICAg
c3RvcmVfczMycV90b190cmFuX2xvdyhjb2VmZiArIDQgKiBpICsgMjU2LCBjMSk7Ci0gICAgc3Rv
cmVfczMycV90b190cmFuX2xvdyhjb2VmZiArIDQgKiBpICsgNTEyLCBjMik7Ci0gICAgc3RvcmVf
czMycV90b190cmFuX2xvdyhjb2VmZiArIDQgKiBpICsgNzY4LCBjMyk7Ci0gIH0gd2hpbGUgKCsr
aSA8IDY0KTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2lu
dHJhcHJlZF9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pbnRyYXByZWRf
bmVvbi5jCmluZGV4IDIzNWNiNWI5OTY4YS4uNmY3ZTVkYTc2Mjc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9pbnRyYXByZWRfbmVvbi5jCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vaGlnaGJkX2ludHJhcHJlZF9uZW9uLmMKQEAgLTEyLDIyICsxMiwyMyBA
QAogCiAjaW5jbHVkZSAiLi92cHhfY29uZmlnLmgiCiAjaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2Qu
aCIKLSNpbmNsdWRlICJzdW1fbmVvbi5oIgogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgog
CiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gREMgNHg0CiAKLXN0YXRpYyBJTkxJTkUgdWlu
dDE2X3QgZGNfc3VtXzQoY29uc3QgdWludDE2X3QgKnJlZikgeworc3RhdGljIElOTElORSB1aW50
MTZ4NF90IGRjX3N1bV80KGNvbnN0IHVpbnQxNl90ICpyZWYpIHsKICAgY29uc3QgdWludDE2eDRf
dCByZWZfdTE2ID0gdmxkMV91MTYocmVmKTsKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQx
Nng0KHJlZl91MTYpOworICBjb25zdCB1aW50MTZ4NF90IHAwID0gdnBhZGRfdTE2KHJlZl91MTYs
IHJlZl91MTYpOworICByZXR1cm4gdnBhZGRfdTE2KHAwLCBwMCk7CiB9CiAKIHN0YXRpYyBJTkxJ
TkUgdm9pZCBkY19zdG9yZV80eDQodWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2eDRfdCBkYykgeworICBj
b25zdCB1aW50MTZ4NF90IGRjX2R1cCA9IHZkdXBfbGFuZV91MTYoZGMsIDApOwogICBpbnQgaTsK
ICAgZm9yIChpID0gMDsgaSA8IDQ7ICsraSwgZHN0ICs9IHN0cmlkZSkgewotICAgIHZzdDFfdTE2
KGRzdCwgZGMpOworICAgIHZzdDFfdTE2KGRzdCwgZGNfZHVwKTsKICAgfQogfQogCkBAIC0zNiwx
NyArMzcsMjEgQEAgdm9pZCB2cHhfaGlnaGJkX2RjX3ByZWRpY3Rvcl80eDRfbmVvbih1aW50MTZf
dCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7CiAgIGNvbnN0IHVpbnQxNng0
X3QgYSA9IHZsZDFfdTE2KGFib3ZlKTsKICAgY29uc3QgdWludDE2eDRfdCBsID0gdmxkMV91MTYo
bGVmdCk7Ci0gIGNvbnN0IHVpbnQxNl90IHN1bSA9IGhvcml6b250YWxfYWRkX3VpbnQxNng0KHZh
ZGRfdTE2KGEsIGwpKTsKLSAgY29uc3QgdWludDE2eDRfdCBkYyA9IHZyc2hyX25fdTE2KHZkdXBf
bl91MTYoc3VtKSwgMyk7CisgIHVpbnQxNng0X3Qgc3VtOworICB1aW50MTZ4NF90IGRjOwogICAo
dm9pZCliZDsKKyAgc3VtID0gdmFkZF91MTYoYSwgbCk7CisgIHN1bSA9IHZwYWRkX3UxNihzdW0s
IHN1bSk7CisgIHN1bSA9IHZwYWRkX3UxNihzdW0sIHN1bSk7CisgIGRjID0gdnJzaHJfbl91MTYo
c3VtLCAzKTsKICAgZGNfc3RvcmVfNHg0KGRzdCwgc3RyaWRlLCBkYyk7CiB9CiAKIHZvaWQgdnB4
X2hpZ2hiZF9kY19sZWZ0X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZm
X3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90ICphYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIGNvbnN0IHVpbnQxNl90
IHN1bSA9IGRjX3N1bV80KGxlZnQpOwotICBjb25zdCB1aW50MTZ4NF90IGRjID0gdnJzaHJfbl91
MTYodmR1cF9uX3UxNihzdW0pLCAyKTsKKyAgY29uc3QgdWludDE2eDRfdCBzdW0gPSBkY19zdW1f
NChsZWZ0KTsKKyAgY29uc3QgdWludDE2eDRfdCBkYyA9IHZyc2hyX25fdTE2KHN1bSwgMik7CiAg
ICh2b2lkKWFib3ZlOwogICAodm9pZCliZDsKICAgZGNfc3RvcmVfNHg0KGRzdCwgc3RyaWRlLCBk
Yyk7CkBAIC01NSw4ICs2MCw4IEBAIHZvaWQgdnB4X2hpZ2hiZF9kY19sZWZ0X3ByZWRpY3Rvcl80
eDRfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogdm9pZCB2cHhfaGlnaGJk
X2RjX3RvcF9wcmVkaWN0b3JfNHg0X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlk
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90ICphYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgY29uc3QgdWludDE2X3Qgc3VtID0gZGNf
c3VtXzQoYWJvdmUpOwotICBjb25zdCB1aW50MTZ4NF90IGRjID0gdnJzaHJfbl91MTYodmR1cF9u
X3UxNihzdW0pLCAyKTsKKyAgY29uc3QgdWludDE2eDRfdCBzdW0gPSBkY19zdW1fNChhYm92ZSk7
CisgIGNvbnN0IHVpbnQxNng0X3QgZGMgPSB2cnNocl9uX3UxNihzdW0sIDIpOwogICAodm9pZCls
ZWZ0OwogICAodm9pZCliZDsKICAgZGNfc3RvcmVfNHg0KGRzdCwgc3RyaWRlLCBkYyk7CkBAIC03
NCwxNiArNzksMTkgQEAgdm9pZCB2cHhfaGlnaGJkX2RjXzEyOF9wcmVkaWN0b3JfNHg0X25lb24o
dWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAvLyBEQyA4eDgKIAotc3RhdGljIElOTElORSB1aW50MTZfdCBkY19zdW1fOChjb25zdCB1aW50
MTZfdCAqcmVmKSB7CitzdGF0aWMgSU5MSU5FIHVpbnQxNng0X3QgZGNfc3VtXzgoY29uc3QgdWlu
dDE2X3QgKnJlZikgewogICBjb25zdCB1aW50MTZ4OF90IHJlZl91MTYgPSB2bGQxcV91MTYocmVm
KTsKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQxNng4KHJlZl91MTYpOworICB1aW50MTZ4
NF90IHN1bSA9IHZhZGRfdTE2KHZnZXRfbG93X3UxNihyZWZfdTE2KSwgdmdldF9oaWdoX3UxNihy
ZWZfdTE2KSk7CisgIHN1bSA9IHZwYWRkX3UxNihzdW0sIHN1bSk7CisgIHJldHVybiB2cGFkZF91
MTYoc3VtLCBzdW0pOwogfQogCiBzdGF0aWMgSU5MSU5FIHZvaWQgZGNfc3RvcmVfOHg4KHVpbnQx
Nl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNng4X3QgZGMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2eDRfdCBkYykgeworICBjb25zdCB1aW50MTZ4OF90IGRjX2R1cCA9IHZk
dXBxX2xhbmVfdTE2KGRjLCAwKTsKICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkgPCA4OyArK2ks
IGRzdCArPSBzdHJpZGUpIHsKLSAgICB2c3QxcV91MTYoZHN0LCBkYyk7CisgICAgdnN0MXFfdTE2
KGRzdCwgZGNfZHVwKTsKICAgfQogfQogCkBAIC05MywxNyArMTAxLDIwIEBAIHZvaWQgdnB4X2hp
Z2hiZF9kY19wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlk
ZSwKICAgY29uc3QgdWludDE2eDhfdCBhYm92ZV91MTYgPSB2bGQxcV91MTYoYWJvdmUpOwogICBj
b25zdCB1aW50MTZ4OF90IGxlZnRfdTE2ID0gdmxkMXFfdTE2KGxlZnQpOwogICBjb25zdCB1aW50
MTZ4OF90IHAwID0gdmFkZHFfdTE2KGFib3ZlX3UxNiwgbGVmdF91MTYpOwotICBjb25zdCB1aW50
MTZfdCBzdW0gPSBob3Jpem9udGFsX2FkZF91aW50MTZ4OChwMCk7Ci0gIGNvbnN0IHVpbnQxNng4
X3QgZGMgPSB2cnNocnFfbl91MTYodmR1cHFfbl91MTYoc3VtKSwgNCk7CisgIHVpbnQxNng0X3Qg
c3VtID0gdmFkZF91MTYodmdldF9sb3dfdTE2KHAwKSwgdmdldF9oaWdoX3UxNihwMCkpOworICB1
aW50MTZ4NF90IGRjOwogICAodm9pZCliZDsKKyAgc3VtID0gdnBhZGRfdTE2KHN1bSwgc3VtKTsK
KyAgc3VtID0gdnBhZGRfdTE2KHN1bSwgc3VtKTsKKyAgZGMgPSB2cnNocl9uX3UxNihzdW0sIDQp
OwogICBkY19zdG9yZV84eDgoZHN0LCBzdHJpZGUsIGRjKTsKIH0KIAogdm9pZCB2cHhfaGlnaGJk
X2RjX2xlZnRfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2X3QgKmFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgY29uc3QgdWludDE2X3Qgc3VtID0g
ZGNfc3VtXzgobGVmdCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgZGMgPSB2cnNocnFfbl91MTYodmR1
cHFfbl91MTYoc3VtKSwgMyk7CisgIGNvbnN0IHVpbnQxNng0X3Qgc3VtID0gZGNfc3VtXzgobGVm
dCk7CisgIGNvbnN0IHVpbnQxNng0X3QgZGMgPSB2cnNocl9uX3UxNihzdW0sIDMpOwogICAodm9p
ZClhYm92ZTsKICAgKHZvaWQpYmQ7CiAgIGRjX3N0b3JlXzh4OChkc3QsIHN0cmlkZSwgZGMpOwpA
QCAtMTEyLDggKzEyMyw4IEBAIHZvaWQgdnB4X2hpZ2hiZF9kY19sZWZ0X3ByZWRpY3Rvcl84eDhf
bmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogdm9pZCB2cHhfaGlnaGJkX2Rj
X3RvcF9wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90
ICphYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgY29uc3QgdWludDE2X3Qgc3VtID0gZGNfc3Vt
XzgoYWJvdmUpOwotICBjb25zdCB1aW50MTZ4OF90IGRjID0gdnJzaHJxX25fdTE2KHZkdXBxX25f
dTE2KHN1bSksIDMpOworICBjb25zdCB1aW50MTZ4NF90IHN1bSA9IGRjX3N1bV84KGFib3ZlKTsK
KyAgY29uc3QgdWludDE2eDRfdCBkYyA9IHZyc2hyX25fdTE2KHN1bSwgMyk7CiAgICh2b2lkKWxl
ZnQ7CiAgICh2b2lkKWJkOwogICBkY19zdG9yZV84eDgoZHN0LCBzdHJpZGUsIGRjKTsKQEAgLTEy
Miw3ICsxMzMsNyBAQCB2b2lkIHZweF9oaWdoYmRfZGNfdG9wX3ByZWRpY3Rvcl84eDhfbmVvbih1
aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogdm9pZCB2cHhfaGlnaGJkX2RjXzEyOF9w
cmVkaWN0b3JfOHg4X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICphYm92
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgY29uc3QgdWludDE2eDhfdCBkYyA9IHZkdXBxX25fdTE2
KDEgPDwgKGJkIC0gMSkpOworICBjb25zdCB1aW50MTZ4NF90IGRjID0gdmR1cF9uX3UxNigxIDw8
IChiZCAtIDEpKTsKICAgKHZvaWQpYWJvdmU7CiAgICh2b2lkKWxlZnQ7CiAgIGRjX3N0b3JlXzh4
OChkc3QsIHN0cmlkZSwgZGMpOwpAQCAtMTMxLDQzICsxNDIsNDcgQEAgdm9pZCB2cHhfaGlnaGJk
X2RjXzEyOF9wcmVkaWN0b3JfOHg4X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlk
ZSwKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBEQyAxNngxNgogCi1zdGF0aWMgSU5MSU5F
IHVpbnQxNl90IGRjX3N1bV8xNihjb25zdCB1aW50MTZfdCAqcmVmKSB7Ci0gIGNvbnN0IHVpbnQx
Nng4X3QgcmVmX3UxNl8wID0gdmxkMXFfdTE2KHJlZiArIDApOwotICBjb25zdCB1aW50MTZ4OF90
IHJlZl91MTZfMSA9IHZsZDFxX3UxNihyZWYgKyA4KTsKLSAgY29uc3QgdWludDE2eDhfdCBwMCA9
IHZhZGRxX3UxNihyZWZfdTE2XzAsIHJlZl91MTZfMSk7Ci0gIHJldHVybiBob3Jpem9udGFsX2Fk
ZF91aW50MTZ4OChwMCk7CitzdGF0aWMgSU5MSU5FIHVpbnQxNng0X3QgZGNfc3VtXzE2KGNvbnN0
IHVpbnQxNl90ICpyZWYpIHsKKyAgY29uc3QgdWludDE2eDh4Ml90IHJlZl91MTYgPSB2bGQycV91
MTYocmVmKTsKKyAgY29uc3QgdWludDE2eDhfdCBwMCA9IHZhZGRxX3UxNihyZWZfdTE2LnZhbFsw
XSwgcmVmX3UxNi52YWxbMV0pOworICB1aW50MTZ4NF90IHN1bSA9IHZhZGRfdTE2KHZnZXRfbG93
X3UxNihwMCksIHZnZXRfaGlnaF91MTYocDApKTsKKyAgc3VtID0gdnBhZGRfdTE2KHN1bSwgc3Vt
KTsKKyAgcmV0dXJuIHZwYWRkX3UxNihzdW0sIHN1bSk7CiB9CiAKIHN0YXRpYyBJTkxJTkUgdm9p
ZCBkY19zdG9yZV8xNngxNih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNng4X3QgZGMpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZ4NF90IGRjKSB7CisgIHVp
bnQxNng4eDJfdCBkY19kdXA7CiAgIGludCBpOworICBkY19kdXAudmFsWzBdID0gZGNfZHVwLnZh
bFsxXSA9IHZkdXBxX2xhbmVfdTE2KGRjLCAwKTsKICAgZm9yIChpID0gMDsgaSA8IDE2OyArK2ks
IGRzdCArPSBzdHJpZGUpIHsKLSAgICB2c3QxcV91MTYoZHN0ICsgMCwgZGMpOwotICAgIHZzdDFx
X3UxNihkc3QgKyA4LCBkYyk7CisgICAgdnN0MnFfdTE2KGRzdCwgZGNfZHVwKTsKICAgfQogfQog
CiB2b2lkIHZweF9oaWdoYmRfZGNfcHJlZGljdG9yXzE2eDE2X25lb24odWludDE2X3QgKmRzdCwg
cHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCkgewotICBjb25zdCB1aW50MTZ4
OF90IGEwID0gdmxkMXFfdTE2KGFib3ZlICsgMCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgYTEgPSB2
bGQxcV91MTYoYWJvdmUgKyA4KTsKLSAgY29uc3QgdWludDE2eDhfdCBsMCA9IHZsZDFxX3UxNihs
ZWZ0ICsgMCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgbDEgPSB2bGQxcV91MTYobGVmdCArIDgpOwot
ICBjb25zdCB1aW50MTZ4OF90IHBhID0gdmFkZHFfdTE2KGEwLCBhMSk7Ci0gIGNvbnN0IHVpbnQx
Nng4X3QgcGwgPSB2YWRkcV91MTYobDAsIGwxKTsKKyAgY29uc3QgdWludDE2eDh4Ml90IGEgPSB2
bGQycV91MTYoYWJvdmUpOworICBjb25zdCB1aW50MTZ4OHgyX3QgbCA9IHZsZDJxX3UxNihsZWZ0
KTsKKyAgY29uc3QgdWludDE2eDhfdCBwYSA9IHZhZGRxX3UxNihhLnZhbFswXSwgYS52YWxbMV0p
OworICBjb25zdCB1aW50MTZ4OF90IHBsID0gdmFkZHFfdTE2KGwudmFsWzBdLCBsLnZhbFsxXSk7
CiAgIGNvbnN0IHVpbnQxNng4X3QgcGFsMCA9IHZhZGRxX3UxNihwYSwgcGwpOwotICBjb25zdCB1
aW50MzJfdCBzdW0gPSBob3Jpem9udGFsX2FkZF91aW50MTZ4OChwYWwwKTsKLSAgY29uc3QgdWlu
dDE2eDhfdCBkYyA9IHZkdXBxX2xhbmVfdTE2KHZyc2hybl9uX3UzMih2ZHVwcV9uX3UzMihzdW0p
LCA1KSwgMCk7CisgIHVpbnQxNng0X3QgcGFsMSA9IHZhZGRfdTE2KHZnZXRfbG93X3UxNihwYWww
KSwgdmdldF9oaWdoX3UxNihwYWwwKSk7CisgIHVpbnQzMngyX3Qgc3VtOworICB1aW50MTZ4NF90
IGRjOwogICAodm9pZCliZDsKKyAgcGFsMSA9IHZwYWRkX3UxNihwYWwxLCBwYWwxKTsKKyAgc3Vt
ID0gdnBhZGRsX3UxNihwYWwxKTsKKyAgZGMgPSB2cmVpbnRlcnByZXRfdTE2X3UzMih2cnNocl9u
X3UzMihzdW0sIDUpKTsKICAgZGNfc3RvcmVfMTZ4MTYoZHN0LCBzdHJpZGUsIGRjKTsKIH0KIAog
dm9pZCB2cHhfaGlnaGJkX2RjX2xlZnRfcHJlZGljdG9yXzE2eDE2X25lb24odWludDE2X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICphYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAg
Y29uc3QgdWludDE2X3Qgc3VtID0gZGNfc3VtXzE2KGxlZnQpOwotICBjb25zdCB1aW50MTZ4OF90
IGRjID0gdnJzaHJxX25fdTE2KHZkdXBxX25fdTE2KHN1bSksIDQpOworICBjb25zdCB1aW50MTZ4
NF90IHN1bSA9IGRjX3N1bV8xNihsZWZ0KTsKKyAgY29uc3QgdWludDE2eDRfdCBkYyA9IHZyc2hy
X25fdTE2KHN1bSwgNCk7CiAgICh2b2lkKWFib3ZlOwogICAodm9pZCliZDsKICAgZGNfc3RvcmVf
MTZ4MTYoZHN0LCBzdHJpZGUsIGRjKTsKQEAgLTE3Niw4ICsxOTEsOCBAQCB2b2lkIHZweF9oaWdo
YmRfZGNfbGVmdF9wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qg
c3RyaWRlLAogdm9pZCB2cHhfaGlnaGJkX2RjX3RvcF9wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50
MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQp
IHsKLSAgY29uc3QgdWludDE2X3Qgc3VtID0gZGNfc3VtXzE2KGFib3ZlKTsKLSAgY29uc3QgdWlu
dDE2eDhfdCBkYyA9IHZyc2hycV9uX3UxNih2ZHVwcV9uX3UxNihzdW0pLCA0KTsKKyAgY29uc3Qg
dWludDE2eDRfdCBzdW0gPSBkY19zdW1fMTYoYWJvdmUpOworICBjb25zdCB1aW50MTZ4NF90IGRj
ID0gdnJzaHJfbl91MTYoc3VtLCA0KTsKICAgKHZvaWQpbGVmdDsKICAgKHZvaWQpYmQ7CiAgIGRj
X3N0b3JlXzE2eDE2KGRzdCwgc3RyaWRlLCBkYyk7CkBAIC0xODYsNyArMjAxLDcgQEAgdm9pZCB2
cHhfaGlnaGJkX2RjX3RvcF9wcmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJk
aWZmX3Qgc3RyaWRlLAogdm9pZCB2cHhfaGlnaGJkX2RjXzEyOF9wcmVkaWN0b3JfMTZ4MTZfbmVv
bih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBp
bnQgYmQpIHsKLSAgY29uc3QgdWludDE2eDhfdCBkYyA9IHZkdXBxX25fdTE2KDEgPDwgKGJkIC0g
MSkpOworICBjb25zdCB1aW50MTZ4NF90IGRjID0gdmR1cF9uX3UxNigxIDw8IChiZCAtIDEpKTsK
ICAgKHZvaWQpYWJvdmU7CiAgICh2b2lkKWxlZnQ7CiAgIGRjX3N0b3JlXzE2eDE2KGRzdCwgc3Ry
aWRlLCBkYyk7CkBAIC0xOTUsNTggKzIxMCw1NiBAQCB2b2lkIHZweF9oaWdoYmRfZGNfMTI4X3By
ZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAvLy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gREMgMzJ4MzIKIAotc3RhdGljIElOTElORSB1aW50MzJf
dCBkY19zdW1fMzIoY29uc3QgdWludDE2X3QgKnJlZikgewotICBjb25zdCB1aW50MTZ4OF90IHIw
ID0gdmxkMXFfdTE2KHJlZiArIDApOwotICBjb25zdCB1aW50MTZ4OF90IHIxID0gdmxkMXFfdTE2
KHJlZiArIDgpOwotICBjb25zdCB1aW50MTZ4OF90IHIyID0gdmxkMXFfdTE2KHJlZiArIDE2KTsK
LSAgY29uc3QgdWludDE2eDhfdCByMyA9IHZsZDFxX3UxNihyZWYgKyAyNCk7Ci0gIGNvbnN0IHVp
bnQxNng4X3QgcDAgPSB2YWRkcV91MTYocjAsIHIxKTsKLSAgY29uc3QgdWludDE2eDhfdCBwMSA9
IHZhZGRxX3UxNihyMiwgcjMpOworc3RhdGljIElOTElORSB1aW50MzJ4Ml90IGRjX3N1bV8zMihj
b25zdCB1aW50MTZfdCAqcmVmKSB7CisgIGNvbnN0IHVpbnQxNng4eDRfdCByID0gdmxkNHFfdTE2
KHJlZik7CisgIGNvbnN0IHVpbnQxNng4X3QgcDAgPSB2YWRkcV91MTYoci52YWxbMF0sIHIudmFs
WzFdKTsKKyAgY29uc3QgdWludDE2eDhfdCBwMSA9IHZhZGRxX3UxNihyLnZhbFsyXSwgci52YWxb
M10pOwogICBjb25zdCB1aW50MTZ4OF90IHAyID0gdmFkZHFfdTE2KHAwLCBwMSk7Ci0gIHJldHVy
biBob3Jpem9udGFsX2FkZF91aW50MTZ4OChwMik7CisgIHVpbnQxNng0X3Qgc3VtID0gdmFkZF91
MTYodmdldF9sb3dfdTE2KHAyKSwgdmdldF9oaWdoX3UxNihwMikpOworICBzdW0gPSB2cGFkZF91
MTYoc3VtLCBzdW0pOworICByZXR1cm4gdnBhZGRsX3UxNihzdW0pOwogfQogCiBzdGF0aWMgSU5M
SU5FIHZvaWQgZGNfc3RvcmVfMzJ4MzIodWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZ4OF90IGRjKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2eDRfdCBkYykg
eworICB1aW50MTZ4OHgyX3QgZGNfZHVwOwogICBpbnQgaTsKKyAgZGNfZHVwLnZhbFswXSA9IGRj
X2R1cC52YWxbMV0gPSB2ZHVwcV9sYW5lX3UxNihkYywgMCk7CisKICAgZm9yIChpID0gMDsgaSA8
IDMyOyArK2kpIHsKLSAgICB2c3QxcV91MTYoZHN0ICsgMCwgZGMpOwotICAgIHZzdDFxX3UxNihk
c3QgKyA4LCBkYyk7Ci0gICAgdnN0MXFfdTE2KGRzdCArIDE2LCBkYyk7Ci0gICAgdnN0MXFfdTE2
KGRzdCArIDI0LCBkYyk7Ci0gICAgZHN0ICs9IHN0cmlkZTsKKyAgICB2c3QycV91MTYoZHN0LCBk
Y19kdXApOworICAgIGRzdCArPSAxNjsKKyAgICB2c3QycV91MTYoZHN0LCBkY19kdXApOworICAg
IGRzdCArPSBzdHJpZGUgLSAxNjsKICAgfQogfQogCiB2b2lkIHZweF9oaWdoYmRfZGNfcHJlZGlj
dG9yXzMyeDMyX25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmxl
ZnQsIGludCBiZCkgewotICBjb25zdCB1aW50MTZ4OF90IGEwID0gdmxkMXFfdTE2KGFib3ZlICsg
MCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgYTEgPSB2bGQxcV91MTYoYWJvdmUgKyA4KTsKLSAgY29u
c3QgdWludDE2eDhfdCBhMiA9IHZsZDFxX3UxNihhYm92ZSArIDE2KTsKLSAgY29uc3QgdWludDE2
eDhfdCBhMyA9IHZsZDFxX3UxNihhYm92ZSArIDI0KTsKLSAgY29uc3QgdWludDE2eDhfdCBsMCA9
IHZsZDFxX3UxNihsZWZ0ICsgMCk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgbDEgPSB2bGQxcV91MTYo
bGVmdCArIDgpOwotICBjb25zdCB1aW50MTZ4OF90IGwyID0gdmxkMXFfdTE2KGxlZnQgKyAxNik7
Ci0gIGNvbnN0IHVpbnQxNng4X3QgbDMgPSB2bGQxcV91MTYobGVmdCArIDI0KTsKLSAgY29uc3Qg
dWludDE2eDhfdCBwYTAgPSB2YWRkcV91MTYoYTAsIGExKTsKLSAgY29uc3QgdWludDE2eDhfdCBw
YTEgPSB2YWRkcV91MTYoYTIsIGEzKTsKLSAgY29uc3QgdWludDE2eDhfdCBwbDAgPSB2YWRkcV91
MTYobDAsIGwxKTsKLSAgY29uc3QgdWludDE2eDhfdCBwbDEgPSB2YWRkcV91MTYobDIsIGwzKTsK
KyAgY29uc3QgdWludDE2eDh4NF90IGEgPSB2bGQ0cV91MTYoYWJvdmUpOworICBjb25zdCB1aW50
MTZ4OHg0X3QgbCA9IHZsZDRxX3UxNihsZWZ0KTsKKyAgY29uc3QgdWludDE2eDhfdCBwYTAgPSB2
YWRkcV91MTYoYS52YWxbMF0sIGEudmFsWzFdKTsKKyAgY29uc3QgdWludDE2eDhfdCBwYTEgPSB2
YWRkcV91MTYoYS52YWxbMl0sIGEudmFsWzNdKTsKKyAgY29uc3QgdWludDE2eDhfdCBwbDAgPSB2
YWRkcV91MTYobC52YWxbMF0sIGwudmFsWzFdKTsKKyAgY29uc3QgdWludDE2eDhfdCBwbDEgPSB2
YWRkcV91MTYobC52YWxbMl0sIGwudmFsWzNdKTsKICAgY29uc3QgdWludDE2eDhfdCBwYSA9IHZh
ZGRxX3UxNihwYTAsIHBhMSk7CiAgIGNvbnN0IHVpbnQxNng4X3QgcGwgPSB2YWRkcV91MTYocGww
LCBwbDEpOwogICBjb25zdCB1aW50MTZ4OF90IHBhbDAgPSB2YWRkcV91MTYocGEsIHBsKTsKLSAg
Y29uc3QgdWludDMyX3Qgc3VtID0gaG9yaXpvbnRhbF9hZGRfdWludDE2eDgocGFsMCk7Ci0gIGNv
bnN0IHVpbnQxNng4X3QgZGMgPSB2ZHVwcV9sYW5lX3UxNih2cnNocm5fbl91MzIodmR1cHFfbl91
MzIoc3VtKSwgNiksIDApOworICBjb25zdCB1aW50MTZ4NF90IHBhbDEgPSB2YWRkX3UxNih2Z2V0
X2xvd191MTYocGFsMCksIHZnZXRfaGlnaF91MTYocGFsMCkpOworICB1aW50MzJ4Ml90IHN1bSA9
IHZwYWRkbF91MTYocGFsMSk7CisgIHVpbnQxNng0X3QgZGM7CiAgICh2b2lkKWJkOworICBzdW0g
PSB2cGFkZF91MzIoc3VtLCBzdW0pOworICBkYyA9IHZyZWludGVycHJldF91MTZfdTMyKHZyc2hy
X25fdTMyKHN1bSwgNikpOwogICBkY19zdG9yZV8zMngzMihkc3QsIHN0cmlkZSwgZGMpOwogfQog
CiB2b2lkIHZweF9oaWdoYmRfZGNfbGVmdF9wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZfdCAq
ZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmFib3ZlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCkgewot
ICBjb25zdCB1aW50MzJfdCBzdW0gPSBkY19zdW1fMzIobGVmdCk7Ci0gIGNvbnN0IHVpbnQxNng4
X3QgZGMgPSB2ZHVwcV9sYW5lX3UxNih2cnNocm5fbl91MzIodmR1cHFfbl91MzIoc3VtKSwgNSks
IDApOworICBjb25zdCB1aW50MzJ4Ml90IHN1bSA9IGRjX3N1bV8zMihsZWZ0KTsKKyAgY29uc3Qg
dWludDE2eDRfdCBkYyA9IHZyZWludGVycHJldF91MTZfdTMyKHZyc2hyX25fdTMyKHN1bSwgNSkp
OwogICAodm9pZClhYm92ZTsKICAgKHZvaWQpYmQ7CiAgIGRjX3N0b3JlXzMyeDMyKGRzdCwgc3Ry
aWRlLCBkYyk7CkBAIC0yNTUsOCArMjY4LDggQEAgdm9pZCB2cHhfaGlnaGJkX2RjX2xlZnRfcHJl
ZGljdG9yXzMyeDMyX25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKIHZvaWQg
dnB4X2hpZ2hiZF9kY190b3BfcHJlZGljdG9yXzMyeDMyX25lb24odWludDE2X3QgKmRzdCwgcHRy
ZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QgKmFib3ZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIGNvbnN0IHVp
bnQzMl90IHN1bSA9IGRjX3N1bV8zMihhYm92ZSk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgZGMgPSB2
ZHVwcV9sYW5lX3UxNih2cnNocm5fbl91MzIodmR1cHFfbl91MzIoc3VtKSwgNSksIDApOworICBj
b25zdCB1aW50MzJ4Ml90IHN1bSA9IGRjX3N1bV8zMihhYm92ZSk7CisgIGNvbnN0IHVpbnQxNng0
X3QgZGMgPSB2cmVpbnRlcnByZXRfdTE2X3UzMih2cnNocl9uX3UzMihzdW0sIDUpKTsKICAgKHZv
aWQpbGVmdDsKICAgKHZvaWQpYmQ7CiAgIGRjX3N0b3JlXzMyeDMyKGRzdCwgc3RyaWRlLCBkYyk7
CkBAIC0yNjUsNyArMjc4LDcgQEAgdm9pZCB2cHhfaGlnaGJkX2RjX3RvcF9wcmVkaWN0b3JfMzJ4
MzJfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogdm9pZCB2cHhfaGlnaGJk
X2RjXzEyOF9wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50MTZfdCAqYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgY29uc3QgdWludDE2eDhfdCBk
YyA9IHZkdXBxX25fdTE2KDEgPDwgKGJkIC0gMSkpOworICBjb25zdCB1aW50MTZ4NF90IGRjID0g
dmR1cF9uX3UxNigxIDw8IChiZCAtIDEpKTsKICAgKHZvaWQpYWJvdmU7CiAgICh2b2lkKWxlZnQ7
CiAgIGRjX3N0b3JlXzMyeDMyKGRzdCwgc3RyaWRlLCBkYyk7CkBAIC0yNzYsMTMwNCArMjg5LDE2
NiBAQCB2b2lkIHZweF9oaWdoYmRfZGNfMTI4X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90
ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiB2b2lkIHZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl80
eDRfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmFib3ZlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBi
ZCkgewotICB1aW50MTZ4OF90IGEwLCBhMSwgYTIsIGQwOwotICB1aW50MTZfdCBhNzsKKyAgY29u
c3QgdWludDE2eDhfdCBBQkNERUZHSCA9IHZsZDFxX3UxNihhYm92ZSk7CisgIGNvbnN0IHVpbnQx
Nng4X3QgQkNERUZHSDAgPSB2bGQxcV91MTYoYWJvdmUgKyAxKTsKKyAgY29uc3QgdWludDE2eDhf
dCBDREVGR0gwMCA9IHZsZDFxX3UxNihhYm92ZSArIDIpOworICBjb25zdCB1aW50MTZ4OF90IGF2
ZzEgPSB2aGFkZHFfdTE2KEFCQ0RFRkdILCBDREVGR0gwMCk7CisgIGNvbnN0IHVpbnQxNng4X3Qg
YXZnMiA9IHZyaGFkZHFfdTE2KGF2ZzEsIEJDREVGR0gwKTsKKyAgY29uc3QgdWludDE2eDRfdCBh
dmcyX2xvdyA9IHZnZXRfbG93X3UxNihhdmcyKTsKKyAgY29uc3QgdWludDE2eDRfdCBhdmcyX2hp
Z2ggPSB2Z2V0X2hpZ2hfdTE2KGF2ZzIpOworICBjb25zdCB1aW50MTZ4NF90IHIxID0gdmV4dF91
MTYoYXZnMl9sb3csIGF2ZzJfaGlnaCwgMSk7CisgIGNvbnN0IHVpbnQxNng0X3QgcjIgPSB2ZXh0
X3UxNihhdmcyX2xvdywgYXZnMl9oaWdoLCAyKTsKKyAgY29uc3QgdWludDE2eDRfdCByMyA9IHZl
eHRfdTE2KGF2ZzJfbG93LCBhdmcyX2hpZ2gsIDMpOwogICAodm9pZClsZWZ0OwogICAodm9pZCli
ZDsKKyAgdnN0MV91MTYoZHN0LCBhdmcyX2xvdyk7CisgIGRzdCArPSBzdHJpZGU7CisgIHZzdDFf
dTE2KGRzdCwgcjEpOworICBkc3QgKz0gc3RyaWRlOworICB2c3QxX3UxNihkc3QsIHIyKTsKKyAg
ZHN0ICs9IHN0cmlkZTsKKyAgdnN0MV91MTYoZHN0LCByMyk7CisgIHZzdDFxX2xhbmVfdTE2KGRz
dCArIDMsIEFCQ0RFRkdILCA3KTsKK30KIAotICBhMCA9IHZsZDFxX3UxNihhYm92ZSk7Ci0gIGE3
ID0gYWJvdmVbN107Ci0KLSAgLy8gWyBhYm92ZVsxXSwgLi4uLCBhYm92ZVs2XSwgeCwgeCBdCi0g
IGExID0gdmV4dHFfdTE2KGEwLCBhMCwgMSk7Ci0gIC8vIFsgYWJvdmVbMl0sIC4uLiwgYWJvdmVb
N10sIHgsIHggXQotICBhMiA9IHZleHRxX3UxNihhMCwgYTAsIDIpOwotCi0gIC8vIGQwWzBdID0g
QVZHMyhhYm92ZVswXSwgYWJvdmVbMV0sIGFib3ZlWzJdKTsKLSAgLy8gLi4uCi0gIC8vIGQwWzVd
ID0gQVZHMyhhYm92ZVs1XSwgYWJvdmVbNl0sIGFib3ZlWzddKTsKLSAgLy8gZDBbNl0gPSB4IChk
b24ndCBjYXJlKQotICAvLyBkMFs3XSA9IHggKGRvbid0IGNhcmUpCi0gIGQwID0gdnJoYWRkcV91
MTYodmhhZGRxX3UxNihhMCwgYTIpLCBhMSk7Ci0KLSAgLy8gV2Ugd2FudDoKLSAgLy8gc3RyaWRl
PTAgWyBkMFswXSwgZDBbMV0sIGQwWzJdLCAgICBkMFszXSBdCi0gIC8vIHN0cmlkZT0xIFsgZDBb
MV0sIGQwWzJdLCBkMFszXSwgICAgZDBbNF0gXQotICAvLyBzdHJpZGU9MiBbIGQwWzJdLCBkMFsz
XSwgZDBbNF0sICAgIGQwWzVdIF0KLSAgLy8gc3RyaWRlPTIgWyBkMFszXSwgZDBbNF0sIGQwWzVd
LCBhYm92ZVs3XSBdCi0gIHZzdDFfdTE2KGRzdCArIDAgKiBzdHJpZGUsIHZnZXRfbG93X3UxNihk
MCkpOwotICB2c3QxX3UxNihkc3QgKyAxICogc3RyaWRlLCB2Z2V0X2xvd191MTYodmV4dHFfdTE2
KGQwLCBkMCwgMSkpKTsKLSAgdnN0MV91MTYoZHN0ICsgMiAqIHN0cmlkZSwgdmdldF9sb3dfdTE2
KHZleHRxX3UxNihkMCwgZDAsIDIpKSk7Ci0gIHZzdDFfdTE2KGRzdCArIDMgKiBzdHJpZGUsIHZn
ZXRfbG93X3UxNih2ZXh0cV91MTYoZDAsIGQwLCAzKSkpOwotCi0gIC8vIFdlIHN0b3JlZCBkMFs2
XSBhYm92ZSwgc28gZml4dXAgaW50byBhYm92ZVs3XS4KLSAgZHN0WzMgKiBzdHJpZGUgKyAzXSA9
IGE3Oworc3RhdGljIElOTElORSB2b2lkIGQ0NV9zdG9yZV84KHVpbnQxNl90ICoqZHN0LCBjb25z
dCBwdHJkaWZmX3Qgc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNng4X3QgYWJvdmVfcmlnaHQsIHVpbnQxNng4X3QgKnJvdykgeworICAqcm93ID0gdmV4
dHFfdTE2KCpyb3csIGFib3ZlX3JpZ2h0LCAxKTsKKyAgdnN0MXFfdTE2KCpkc3QsICpyb3cpOwor
ICAqZHN0ICs9IHN0cmlkZTsKIH0KIAogdm9pZCB2cHhfaGlnaGJkX2Q0NV9wcmVkaWN0b3JfOHg4
X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICphYm92ZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQp
IHsKLSAgdWludDE2eDhfdCBheDAsIGEwLCBhMSwgYTcsIGQwOworICBjb25zdCB1aW50MTZ4OF90
IEEwID0gdmxkMXFfdTE2KGFib3ZlKTsKKyAgY29uc3QgdWludDE2eDhfdCBhYm92ZV9yaWdodCA9
IHZkdXBxX2xhbmVfdTE2KHZnZXRfaGlnaF91MTYoQTApLCAzKTsKKyAgY29uc3QgdWludDE2eDhf
dCBBMSA9IHZsZDFxX3UxNihhYm92ZSArIDEpOworICBjb25zdCB1aW50MTZ4OF90IEEyID0gdmxk
MXFfdTE2KGFib3ZlICsgMik7CisgIGNvbnN0IHVpbnQxNng4X3QgYXZnMSA9IHZoYWRkcV91MTYo
QTAsIEEyKTsKKyAgdWludDE2eDhfdCByb3cgPSB2cmhhZGRxX3UxNihhdmcxLCBBMSk7CiAgICh2
b2lkKWxlZnQ7CiAgICh2b2lkKWJkOwogCi0gIGEwID0gdmxkMXFfdTE2KGFib3ZlICsgMCk7Ci0g
IGExID0gdmxkMXFfdTE2KGFib3ZlICsgMSk7Ci0gIGE3ID0gdmxkMXFfZHVwX3UxNihhYm92ZSAr
IDcpOwotCi0gIC8vIFdlIHdhbnQgdG8gY2FsY3VsYXRlIHRoZSBBVkczIHJlc3VsdCBpbiBsYW5l
cyAxLTcgaW5jbHVzaXZlIHNvIHdlIGNhbgotICAvLyBzaGlmdCBpbiBhYm92ZVs3XSBsYXRlciwg
c28gc2hpZnQgYTAgYWNyb3NzIGJ5IG9uZSB0byBnZXQgdGhlIHJpZ2h0Ci0gIC8vIGlucHV0czoK
LSAgLy8gWyB4LCBhYm92ZVswXSwgLi4uICwgYWJvdmVbNl0gXQotICBheDAgPSB2ZXh0cV91MTYo
YTAsIGEwLCA3KTsKLQotICAvLyBkMFswXSA9IHggKGRvbid0IGNhcmUpCi0gIC8vIGQwWzFdID0g
QVZHMyhhYm92ZVswXSwgYWJvdmVbMV0sIGFib3ZlWzJdKTsKLSAgLy8gLi4uCi0gIC8vIGQwWzdd
ID0gQVZHMyhhYm92ZVs2XSwgYWJvdmVbN10sIGFib3ZlWzhdKTsKLSAgZDAgPSB2cmhhZGRxX3Ux
Nih2aGFkZHFfdTE2KGF4MCwgYTEpLCBhMCk7Ci0KLSAgLy8gVW5kbyB0aGUgZWFybGllciBleHQs
IGluY3JlbWVudGFsbHkgc2hpZnQgaW4gZHVwbGljYXRlcyBvZiBhYm92ZVs3XS4KLSAgdnN0MXFf
dTE2KGRzdCArIDAgKiBzdHJpZGUsIHZleHRxX3UxNihkMCwgYTcsIDEpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDEgKiBzdHJpZGUsIHZleHRxX3UxNihkMCwgYTcsIDIpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDIgKiBzdHJpZGUsIHZleHRxX3UxNihkMCwgYTcsIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDMgKiBzdHJpZGUsIHZleHRxX3UxNihkMCwgYTcsIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDQg
KiBzdHJpZGUsIHZleHRxX3UxNihkMCwgYTcsIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDUgKiBz
dHJpZGUsIHZleHRxX3UxNihkMCwgYTcsIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDYgKiBzdHJp
ZGUsIHZleHRxX3UxNihkMCwgYTcsIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDcgKiBzdHJpZGUs
IGE3KTsKKyAgdnN0MXFfdTE2KGRzdCwgcm93KTsKKyAgZHN0ICs9IHN0cmlkZTsKKyAgZDQ1X3N0
b3JlXzgoJmRzdCwgc3RyaWRlLCBhYm92ZV9yaWdodCwgJnJvdyk7CisgIGQ0NV9zdG9yZV84KCZk
c3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3cpOworICBkNDVfc3RvcmVfOCgmZHN0LCBzdHJp
ZGUsIGFib3ZlX3JpZ2h0LCAmcm93KTsKKyAgZDQ1X3N0b3JlXzgoJmRzdCwgc3RyaWRlLCBhYm92
ZV9yaWdodCwgJnJvdyk7CisgIGQ0NV9zdG9yZV84KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQs
ICZyb3cpOworICBkNDVfc3RvcmVfOCgmZHN0LCBzdHJpZGUsIGFib3ZlX3JpZ2h0LCAmcm93KTsK
KyAgdnN0MXFfdTE2KGRzdCwgYWJvdmVfcmlnaHQpOworfQorCitzdGF0aWMgSU5MSU5FIHZvaWQg
ZDQ1X3N0b3JlXzE2KHVpbnQxNl90ICoqZHN0LCBjb25zdCBwdHJkaWZmX3Qgc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZ4OF90IGFib3ZlX3JpZ2h0
LCB1aW50MTZ4OF90ICpyb3dfMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDE2eDhfdCAqcm93XzEpIHsKKyAgKnJvd18wID0gdmV4dHFfdTE2KCpyb3dfMCwgKnJvd18xLCAx
KTsKKyAgKnJvd18xID0gdmV4dHFfdTE2KCpyb3dfMSwgYWJvdmVfcmlnaHQsIDEpOworICB2c3Qx
cV91MTYoKmRzdCwgKnJvd18wKTsKKyAgKmRzdCArPSA4OworICB2c3QxcV91MTYoKmRzdCwgKnJv
d18xKTsKKyAgKmRzdCArPSBzdHJpZGUgLSA4OwogfQogCiB2b2lkIHZweF9oaWdoYmRfZDQ1X3By
ZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICphYm92
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2
X3QgKmxlZnQsIGludCBiZCkgewotICB1aW50MTZ4OF90IGF4MCwgYTAsIGExLCBhNywgYTgsIGE5
LCBhMTUsIGQwWzJdOworICBjb25zdCB1aW50MTZ4OF90IEEwXzAgPSB2bGQxcV91MTYoYWJvdmUp
OworICBjb25zdCB1aW50MTZ4OF90IEEwXzEgPSB2bGQxcV91MTYoYWJvdmUgKyA4KTsKKyAgY29u
c3QgdWludDE2eDhfdCBhYm92ZV9yaWdodCA9IHZkdXBxX2xhbmVfdTE2KHZnZXRfaGlnaF91MTYo
QTBfMSksIDMpOworICBjb25zdCB1aW50MTZ4OF90IEExXzAgPSB2bGQxcV91MTYoYWJvdmUgKyAx
KTsKKyAgY29uc3QgdWludDE2eDhfdCBBMV8xID0gdmxkMXFfdTE2KGFib3ZlICsgOSk7CisgIGNv
bnN0IHVpbnQxNng4X3QgQTJfMCA9IHZsZDFxX3UxNihhYm92ZSArIDIpOworICBjb25zdCB1aW50
MTZ4OF90IEEyXzEgPSB2bGQxcV91MTYoYWJvdmUgKyAxMCk7CisgIGNvbnN0IHVpbnQxNng4X3Qg
YXZnXzAgPSB2aGFkZHFfdTE2KEEwXzAsIEEyXzApOworICBjb25zdCB1aW50MTZ4OF90IGF2Z18x
ID0gdmhhZGRxX3UxNihBMF8xLCBBMl8xKTsKKyAgdWludDE2eDhfdCByb3dfMCA9IHZyaGFkZHFf
dTE2KGF2Z18wLCBBMV8wKTsKKyAgdWludDE2eDhfdCByb3dfMSA9IHZyaGFkZHFfdTE2KGF2Z18x
LCBBMV8xKTsKICAgKHZvaWQpbGVmdDsKICAgKHZvaWQpYmQ7CiAKLSAgYTAgPSB2bGQxcV91MTYo
YWJvdmUgKyAwKTsKLSAgYTEgPSB2bGQxcV91MTYoYWJvdmUgKyAxKTsKLSAgYTcgPSB2bGQxcV91
MTYoYWJvdmUgKyA3KTsKLSAgYTggPSB2bGQxcV91MTYoYWJvdmUgKyA4KTsKLSAgYTkgPSB2bGQx
cV91MTYoYWJvdmUgKyA5KTsKLSAgYTE1ID0gdmxkMXFfZHVwX3UxNihhYm92ZSArIDE1KTsKLQot
ICAvLyBbIHgsIGFib3ZlWzBdLCAuLi4gLCBhYm92ZVs2XSBdCi0gIGF4MCA9IHZleHRxX3UxNihh
MCwgYTAsIDcpOwotCi0gIC8vIFdlIGhhdmUgb25lIHVudXNlZCBsYW5lIGhlcmUgdG8gbGVhdmUg
cm9vbSB0byBzaGlmdCBpbiBhYm92ZVsxNV0gaW4gdGhlCi0gIC8vIGxhc3QgbGFuZToKLSAgLy8g
ZDBbMF1bMV0gPSB4IChkb24ndCBjYXJlKQotICAvLyBkMFswXVsxXSA9IEFWRzMoYWJvdmVbMF0s
IGFib3ZlWzFdLCBhYm92ZVsyXSk7Ci0gIC8vIC4uLgotICAvLyBkMFswXVs3XSA9IEFWRzMoYWJv
dmVbNl0sIGFib3ZlWzddLCBhYm92ZVs4XSk7Ci0gIC8vIGQwWzFdWzBdID0gQVZHMyhhYm92ZVs3
XSwgYWJvdmVbOF0sIGFib3ZlWzldKTsKLSAgLy8gLi4uCi0gIC8vIGQwWzFdWzddID0gQVZHMyhh
Ym92ZVsxNF0sIGFib3ZlWzE1XSwgYWJvdmVbMTZdKTsKLSAgZDBbMF0gPSB2cmhhZGRxX3UxNih2
aGFkZHFfdTE2KGF4MCwgYTEpLCBhMCk7Ci0gIGQwWzFdID0gdnJoYWRkcV91MTYodmhhZGRxX3Ux
NihhNywgYTkpLCBhOCk7Ci0KLSAgLy8gSW5jcmVtZW50YWxseSBzaGlmdCBpbiBkdXBsaWNhdGVz
IG9mIGFib3ZlWzE1XS4KLSAgdnN0MXFfdTE2KGRzdCArIDAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
MTYoZDBbMF0sIGQwWzFdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRlICsgOCwg
dmV4dHFfdTE2KGQwWzFdLCBhMTUsIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxICog
c3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzFdLCBhMTUsIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDIgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCAzKSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAyICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzFdLCBhMTUsIDMpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDMgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCA0KSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzFdLCBhMTUs
IDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDQgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMF0s
IGQwWzFdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA0ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2
KGQwWzFdLCBhMTUsIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDUgKiBzdHJpZGUgKyAwLCB2ZXh0
cV91MTYoZDBbMF0sIGQwWzFdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA1ICogc3RyaWRlICsg
OCwgdmV4dHFfdTE2KGQwWzFdLCBhMTUsIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDYgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA2
ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzFdLCBhMTUsIDcpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDcgKiBzdHJpZGUgKyAwLCBkMFsxXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRl
ICsgOCwgYTE1KTsKLQotICB2c3QxcV91MTYoZHN0ICsgOCAqIHN0cmlkZSArIDAsIHZleHRxX3Ux
NihkMFsxXSwgYTE1LCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA4ICogc3RyaWRlICsgOCwgYTE1
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDkgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMV0sIGEx
NSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlkZSArIDgsIGExNSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAxMCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFsxXSwgYTE1LCAzKSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAxMCAqIHN0cmlkZSArIDgsIGExNSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAxMSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFsxXSwgYTE1LCA0KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxMSAqIHN0cmlkZSArIDgsIGExNSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMiAqIHN0
cmlkZSArIDAsIHZleHRxX3UxNihkMFsxXSwgYTE1LCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAx
MiAqIHN0cmlkZSArIDgsIGExNSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSArIDAs
IHZleHRxX3UxNihkMFsxXSwgYTE1LCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlk
ZSArIDgsIGExNSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNCAqIHN0cmlkZSArIDAsIHZleHRxX3Ux
NihkMFsxXSwgYTE1LCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNCAqIHN0cmlkZSArIDgsIGEx
NSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNSAqIHN0cmlkZSArIDAsIGExNSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxNSAqIHN0cmlkZSArIDgsIGExNSk7CisgIHZzdDFxX3UxNihkc3QsIHJvd18wKTsK
KyAgdnN0MXFfdTE2KGRzdCArIDgsIHJvd18xKTsKKyAgZHN0ICs9IHN0cmlkZTsKKyAgZDQ1X3N0
b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3dfMCwgJnJvd18xKTsKKyAgZDQ1
X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3dfMCwgJnJvd18xKTsKKyAg
ZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3dfMCwgJnJvd18xKTsK
KyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3dfMCwgJnJvd18x
KTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3dfMCwgJnJv
d18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3dfMCwg
JnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3df
MCwgJnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZy
b3dfMCwgJnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQs
ICZyb3dfMCwgJnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmln
aHQsICZyb3dfMCwgJnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVf
cmlnaHQsICZyb3dfMCwgJnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJv
dmVfcmlnaHQsICZyb3dfMCwgJnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwg
YWJvdmVfcmlnaHQsICZyb3dfMCwgJnJvd18xKTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlk
ZSwgYWJvdmVfcmlnaHQsICZyb3dfMCwgJnJvd18xKTsKKyAgdnN0MXFfdTE2KGRzdCwgYWJvdmVf
cmlnaHQpOworICB2c3QxcV91MTYoZHN0ICsgOCwgYWJvdmVfcmlnaHQpOwogfQogCiB2b2lkIHZw
eF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZf
dCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90ICphYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCkgewotICB1aW50MTZ4OF90IGF4MCwgYTAs
IGExLCBhNywgYTgsIGE5LCBhMTUsIGExNiwgYTE3LCBhMjMsIGEyNCwgYTI1LCBhMzEsIGQwWzRd
OworICBjb25zdCB1aW50MTZ4OF90IEEwXzAgPSB2bGQxcV91MTYoYWJvdmUpOworICBjb25zdCB1
aW50MTZ4OF90IEEwXzEgPSB2bGQxcV91MTYoYWJvdmUgKyA4KTsKKyAgY29uc3QgdWludDE2eDhf
dCBBMF8yID0gdmxkMXFfdTE2KGFib3ZlICsgMTYpOworICBjb25zdCB1aW50MTZ4OF90IEEwXzMg
PSB2bGQxcV91MTYoYWJvdmUgKyAyNCk7CisgIGNvbnN0IHVpbnQxNng4X3QgYWJvdmVfcmlnaHQg
PSB2ZHVwcV9sYW5lX3UxNih2Z2V0X2hpZ2hfdTE2KEEwXzMpLCAzKTsKKyAgY29uc3QgdWludDE2
eDhfdCBBMV8wID0gdmxkMXFfdTE2KGFib3ZlICsgMSk7CisgIGNvbnN0IHVpbnQxNng4X3QgQTFf
MSA9IHZsZDFxX3UxNihhYm92ZSArIDkpOworICBjb25zdCB1aW50MTZ4OF90IEExXzIgPSB2bGQx
cV91MTYoYWJvdmUgKyAxNyk7CisgIGNvbnN0IHVpbnQxNng4X3QgQTFfMyA9IHZsZDFxX3UxNihh
Ym92ZSArIDI1KTsKKyAgY29uc3QgdWludDE2eDhfdCBBMl8wID0gdmxkMXFfdTE2KGFib3ZlICsg
Mik7CisgIGNvbnN0IHVpbnQxNng4X3QgQTJfMSA9IHZsZDFxX3UxNihhYm92ZSArIDEwKTsKKyAg
Y29uc3QgdWludDE2eDhfdCBBMl8yID0gdmxkMXFfdTE2KGFib3ZlICsgMTgpOworICBjb25zdCB1
aW50MTZ4OF90IEEyXzMgPSB2bGQxcV91MTYoYWJvdmUgKyAyNik7CisgIGNvbnN0IHVpbnQxNng4
X3QgYXZnXzAgPSB2aGFkZHFfdTE2KEEwXzAsIEEyXzApOworICBjb25zdCB1aW50MTZ4OF90IGF2
Z18xID0gdmhhZGRxX3UxNihBMF8xLCBBMl8xKTsKKyAgY29uc3QgdWludDE2eDhfdCBhdmdfMiA9
IHZoYWRkcV91MTYoQTBfMiwgQTJfMik7CisgIGNvbnN0IHVpbnQxNng4X3QgYXZnXzMgPSB2aGFk
ZHFfdTE2KEEwXzMsIEEyXzMpOworICB1aW50MTZ4OF90IHJvd18wID0gdnJoYWRkcV91MTYoYXZn
XzAsIEExXzApOworICB1aW50MTZ4OF90IHJvd18xID0gdnJoYWRkcV91MTYoYXZnXzEsIEExXzEp
OworICB1aW50MTZ4OF90IHJvd18yID0gdnJoYWRkcV91MTYoYXZnXzIsIEExXzIpOworICB1aW50
MTZ4OF90IHJvd18zID0gdnJoYWRkcV91MTYoYXZnXzMsIEExXzMpOwogICBpbnQgaTsKICAgKHZv
aWQpbGVmdDsKICAgKHZvaWQpYmQ7CiAKLSAgYTAgPSB2bGQxcV91MTYoYWJvdmUgKyAwKTsKLSAg
YTEgPSB2bGQxcV91MTYoYWJvdmUgKyAxKTsKLSAgYTcgPSB2bGQxcV91MTYoYWJvdmUgKyA3KTsK
LSAgYTggPSB2bGQxcV91MTYoYWJvdmUgKyA4KTsKLSAgYTkgPSB2bGQxcV91MTYoYWJvdmUgKyA5
KTsKLSAgYTE1ID0gdmxkMXFfdTE2KGFib3ZlICsgMTUpOwotICBhMTYgPSB2bGQxcV91MTYoYWJv
dmUgKyAxNik7Ci0gIGExNyA9IHZsZDFxX3UxNihhYm92ZSArIDE3KTsKLSAgYTIzID0gdmxkMXFf
dTE2KGFib3ZlICsgMjMpOwotICBhMjQgPSB2bGQxcV91MTYoYWJvdmUgKyAyNCk7Ci0gIGEyNSA9
IHZsZDFxX3UxNihhYm92ZSArIDI1KTsKLSAgYTMxID0gdmxkMXFfZHVwX3UxNihhYm92ZSArIDMx
KTsKLQotICAvLyBbIHgsIGFib3ZlWzBdLCAuLi4gLCBhYm92ZVs2XSBdCi0gIGF4MCA9IHZleHRx
X3UxNihhMCwgYTAsIDcpOwotCi0gIGQwWzBdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihheDAs
IGExKSwgYTApOwotICBkMFsxXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYoYTcsIGE5KSwgYTgp
OwotICBkMFsyXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYoYTE1LCBhMTcpLCBhMTYpOwotICBk
MFszXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYoYTIzLCBhMjUpLCBhMjQpOwotCi0gIGZvciAo
aSA9IDA7IGkgPCAzMjsgKytpKSB7Ci0gICAgZDBbMF0gPSB2ZXh0cV91MTYoZDBbMF0sIGQwWzFd
LCAxKTsKLSAgICBkMFsxXSA9IHZleHRxX3UxNihkMFsxXSwgZDBbMl0sIDEpOwotICAgIGQwWzJd
ID0gdmV4dHFfdTE2KGQwWzJdLCBkMFszXSwgMSk7Ci0gICAgZDBbM10gPSB2ZXh0cV91MTYoZDBb
M10sIGEzMSwgMSk7Ci0gICAgdnN0MXFfdTE2KGRzdCArIDAsIGQwWzBdKTsKLSAgICB2c3QxcV91
MTYoZHN0ICsgOCwgZDBbMV0pOwotICAgIHZzdDFxX3UxNihkc3QgKyAxNiwgZDBbMl0pOwotICAg
IHZzdDFxX3UxNihkc3QgKyAyNCwgZDBbM10pOwotICAgIGRzdCArPSBzdHJpZGU7CisgIHZzdDFx
X3UxNihkc3QsIHJvd18wKTsKKyAgZHN0ICs9IDg7CisgIHZzdDFxX3UxNihkc3QsIHJvd18xKTsK
KyAgZHN0ICs9IDg7CisgIHZzdDFxX3UxNihkc3QsIHJvd18yKTsKKyAgZHN0ICs9IDg7CisgIHZz
dDFxX3UxNihkc3QsIHJvd18zKTsKKyAgZHN0ICs9IHN0cmlkZSAtIDI0OworCisgIGZvciAoaSA9
IDA7IGkgPCAzMDsgKytpKSB7CisgICAgcm93XzAgPSB2ZXh0cV91MTYocm93XzAsIHJvd18xLCAx
KTsKKyAgICByb3dfMSA9IHZleHRxX3UxNihyb3dfMSwgcm93XzIsIDEpOworICAgIHJvd18yID0g
dmV4dHFfdTE2KHJvd18yLCByb3dfMywgMSk7CisgICAgcm93XzMgPSB2ZXh0cV91MTYocm93XzMs
IGFib3ZlX3JpZ2h0LCAxKTsKKyAgICB2c3QxcV91MTYoZHN0LCByb3dfMCk7CisgICAgZHN0ICs9
IDg7CisgICAgdnN0MXFfdTE2KGRzdCwgcm93XzEpOworICAgIGRzdCArPSA4OworICAgIHZzdDFx
X3UxNihkc3QsIHJvd18yKTsKKyAgICBkc3QgKz0gODsKKyAgICB2c3QxcV91MTYoZHN0LCByb3df
Myk7CisgICAgZHN0ICs9IHN0cmlkZSAtIDI0OwogICB9Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0KLXZvaWQgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQxNl90
ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIHVpbnQxNng0
X3QgYTAsIGExLCBhMiwgYTMsIGQwLCBkMSwgZDIsIGQzOwotICAodm9pZClsZWZ0OwotICAodm9p
ZCliZDsKLQotICBhMCA9IHZsZDFfdTE2KGFib3ZlICsgMCk7Ci0gIGExID0gdmxkMV91MTYoYWJv
dmUgKyAxKTsKLSAgYTIgPSB2bGQxX3UxNihhYm92ZSArIDIpOwotICBhMyA9IHZsZDFfdTE2KGFi
b3ZlICsgMyk7Ci0KLSAgZDAgPSB2cmhhZGRfdTE2KGEwLCBhMSk7Ci0gIGQxID0gdnJoYWRkX3Ux
Nih2aGFkZF91MTYoYTAsIGEyKSwgYTEpOwotICBkMiA9IHZyaGFkZF91MTYoYTEsIGEyKTsKLSAg
ZDMgPSB2cmhhZGRfdTE2KHZoYWRkX3UxNihhMSwgYTMpLCBhMik7Ci0KLSAgLy8gTm90ZSB0aGF0
IGhlcmUgd2UgYXJlIHBlcmZvcm1pbmcgYSBmdWxsIGF2ZyBjYWxjdWxhdGlvbiBmb3IgdGhlIGZp
bmFsCi0gIC8vIGVsZW1lbnRzIHJhdGhlciB0aGFuIHN0b3JpbmcgYSBkdXBsaWNhdGUgb2YgYWJv
dmVbM10sIHdoaWNoIGRpZmZlcnMKLSAgLy8gKGNvcnJlY3RseSkgZnJvbSB0aGUgZ2VuZXJhbCBz
Y2hlbWUgZW1wbG95ZWQgYnkgdGhlIGJzPXs4LDE2LDMyfQotICAvLyBpbXBsZW1lbnRhdGlvbnMg
aW4gb3JkZXIgdG8gbWF0Y2ggdGhlIG9yaWdpbmFsIEMgaW1wbGVtZW50YXRpb24uCi0gIHZzdDFf
dTE2KGRzdCArIDAgKiBzdHJpZGUsIGQwKTsKLSAgdnN0MV91MTYoZHN0ICsgMSAqIHN0cmlkZSwg
ZDEpOwotICB2c3QxX3UxNihkc3QgKyAyICogc3RyaWRlLCBkMik7Ci0gIHZzdDFfdTE2KGRzdCAr
IDMgKiBzdHJpZGUsIGQzKTsKLX0KLQotdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfOHg4
X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICphYm92ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQp
IHsKLSAgdWludDE2eDhfdCBhMCwgYTEsIGEyLCBhNywgZDAsIGQxLCBkMF9leHQsIGQxX2V4dDsK
LSAgKHZvaWQpbGVmdDsKLSAgKHZvaWQpYmQ7Ci0KLSAgYTAgPSB2bGQxcV91MTYoYWJvdmUgKyAw
KTsKLSAgYTEgPSB2bGQxcV91MTYoYWJvdmUgKyAxKTsKLSAgYTIgPSB2bGQxcV91MTYoYWJvdmUg
KyAyKTsKLSAgYTcgPSB2bGQxcV9kdXBfdTE2KGFib3ZlICsgNyk7Ci0KLSAgZDAgPSB2cmhhZGRx
X3UxNihhMCwgYTEpOwotICBkMSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYoYTAsIGEyKSwgYTEp
OwotCi0gIC8vIFdlIHdhbnQgdG8gc3RvcmU6Ci0gIC8vIHN0cmlkZT0wIFsgZDBbMF0sIGQwWzFd
LCBkMFsyXSwgZDBbM10sIGQwWzRdLCBkMFs1XSwgZDBbNl0sIGQwWzddIF0KLSAgLy8gc3RyaWRl
PTEgWyBkMVswXSwgZDFbMV0sIGQxWzJdLCBkMVszXSwgZDFbNF0sIGQxWzVdLCBkMVs2XSwgZDFb
N10gXQotICAvLyBzdHJpZGU9MiBbIGQwWzFdLCBkMFsyXSwgZDBbM10sIGQwWzRdLCBkMFs1XSwg
ZDBbNl0sICBhWzddLCAgYVs3XSBdCi0gIC8vIHN0cmlkZT0zIFsgZDFbMV0sIGQxWzJdLCBkMVsz
XSwgZDFbNF0sIGQxWzVdLCBkMVs2XSwgIGFbN10sICBhWzddIF0KLSAgLy8gc3RyaWRlPTQgWyBk
MFsyXSwgZDBbM10sIGQwWzRdLCBkMFs1XSwgZDBbNl0sICBhWzddLCAgYVs3XSwgIGFbN10gXQot
ICAvLyBzdHJpZGU9NSBbIGQxWzJdLCBkMVszXSwgZDFbNF0sIGQxWzVdLCBkMVs2XSwgIGFbN10s
ICBhWzddLCAgYVs3XSBdCi0gIC8vIHN0cmlkZT02IFsgZDBbM10sIGQwWzRdLCBkMFs1XSwgZDBb
Nl0sICBhWzddLCAgYVs3XSwgIGFbN10sICBhWzddIF0KLSAgLy8gc3RyaWRlPTcgWyBkMVszXSwg
ZDFbNF0sIGQxWzVdLCBkMVs2XSwgIGFbN10sICBhWzddLCAgYVs3XSwgIGFbN10gXQotICAvLyBO
b3RlIGluIHBhcnRpY3VsYXIgdGhhdCBkMFs3XSBhbmQgZDFbN10gYXJlIG9ubHkgZXZlciByZWZl
cmVuY2VkIGluIHRoZQotICAvLyBzdHJpZGU9MCBhbmQgc3RyaWRlPTEgY2FzZXMgcmVzcGVjdGl2
ZWx5LCBhbmQgaW4gbGF0ZXIgc3RyaWRlcyBhcmUKLSAgLy8gcmVwbGFjZWQgYnkgYSBjb3B5IG9m
IGFib3ZlWzddLiBUaGVzZSBhcmUgZXF1aXZhbGVudCBpZiBmb3IgaT43LAotICAvLyBhYm92ZVtp
XT09YWJvdmVbN10sIGhvd2V2ZXIgdGhhdCBpcyBub3QgYWx3YXlzIHRoZSBjYXNlLgotCi0gIC8v
IFN0cmlwIG91dCBkMFs3XSBhbmQgZDFbN10gc28gdGhhdCB3ZSBjYW4gcmVwbGFjZSBpdCB3aXRo
IGFuIGFkZGl0aW9uYWwKLSAgLy8gY29weSBvZiBhYm92ZVs3XSwgdGhlIGZpcnN0IHZlY3RvciBo
ZXJlIGRvZXNuJ3QgbWF0dGVyIHNvIGp1c3QgcmV1c2UKLSAgLy8gZDAvZDEuCi0gIGQwX2V4dCA9
IHZleHRxX3UxNihkMCwgZDAsIDcpOwotICBkMV9leHQgPSB2ZXh0cV91MTYoZDEsIGQxLCA3KTsK
LQotICAvLyBTaHVmZmxlIGluIGR1cGxpY2F0ZXMgb2YgYWJvdmVbN10gYW5kIHN0b3JlLgotICB2
c3QxcV91MTYoZHN0ICsgMCAqIHN0cmlkZSwgZDApOwotICB2c3QxcV91MTYoZHN0ICsgMSAqIHN0
cmlkZSwgZDEpOwotICB2c3QxcV91MTYoZHN0ICsgMiAqIHN0cmlkZSwgdmV4dHFfdTE2KGQwX2V4
dCwgYTcsIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMgKiBzdHJpZGUsIHZleHRxX3UxNihkMV9l
eHQsIGE3LCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA0ICogc3RyaWRlLCB2ZXh0cV91MTYoZDBf
ZXh0LCBhNywgMykpOwotICB2c3QxcV91MTYoZHN0ICsgNSAqIHN0cmlkZSwgdmV4dHFfdTE2KGQx
X2V4dCwgYTcsIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDYgKiBzdHJpZGUsIHZleHRxX3UxNihk
MF9leHQsIGE3LCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlLCB2ZXh0cV91MTYo
ZDFfZXh0LCBhNywgNCkpOwotfQotCi12b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl8xNngx
Nl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICphYm92ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmxlZnQsIGlu
dCBiZCkgewotICAvLyBTZWUgdnB4X2hpZ2hiZF9kNjNfcHJlZGljdG9yXzh4OF9uZW9uIGZvciBk
ZXRhaWxzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAgdWludDE2eDhfdCBhMCwgYTEsIGEyLCBh
OCwgYTksIGExMCwgYTE1LCBkMFsyXSwgZDFbMl0sIGQwX2V4dCwgZDFfZXh0OwotICAodm9pZCls
ZWZ0OwotICAodm9pZCliZDsKLQotICBhMCA9IHZsZDFxX3UxNihhYm92ZSArIDApOwotICBhMSA9
IHZsZDFxX3UxNihhYm92ZSArIDEpOwotICBhMiA9IHZsZDFxX3UxNihhYm92ZSArIDIpOwotICBh
OCA9IHZsZDFxX3UxNihhYm92ZSArIDgpOwotICBhOSA9IHZsZDFxX3UxNihhYm92ZSArIDkpOwot
ICBhMTAgPSB2bGQxcV91MTYoYWJvdmUgKyAxMCk7Ci0gIGExNSA9IHZsZDFxX2R1cF91MTYoYWJv
dmUgKyAxNSk7Ci0KLSAgZDBbMF0gPSB2cmhhZGRxX3UxNihhMCwgYTEpOwotICBkMFsxXSA9IHZy
aGFkZHFfdTE2KGE4LCBhOSk7Ci0gIGQxWzBdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihhMCwg
YTIpLCBhMSk7Ci0gIGQxWzFdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihhOCwgYTEwKSwgYTkp
OwotCi0gIC8vIFN0cmlwIG91dCB0aGUgZmluYWwgZWxlbWVudCBvZiBkMC9kMSBzbyB0aGF0IHdl
IGNhbiByZXBsYWNlIGl0IHdpdGggYW4KLSAgLy8gYWRkaXRpb25hbCBjb3B5IG9mIGFib3ZlWzdd
LCB0aGUgZmlyc3QgdmVjdG9yIGhlcmUgZG9lc24ndCBtYXR0ZXIgc28ganVzdAotICAvLyByZXVz
ZSB0aGUgc2FtZSB2ZWN0b3IuCi0gIGQwX2V4dCA9IHZleHRxX3UxNihkMFsxXSwgZDBbMV0sIDcp
OwotICBkMV9leHQgPSB2ZXh0cV91MTYoZDFbMV0sIGQxWzFdLCA3KTsKLQotICAvLyBTaHVmZmxl
IGluIGR1cGxpY2F0ZXMgb2YgYWJvdmVbN10gYW5kIHN0b3JlLiBOb3RlIHRoYXQgY2FzZXMgaW52
b2x2aW5nCi0gIC8vIHtkMCxkMX1fZXh0IHJlcXVpcmUgYW4gZXh0cmEgc2hpZnQgdG8gdW5kbyB0
aGUgc2hpZnRpbmcgb3V0IG9mIHRoZSBmaW5hbAotICAvLyBlbGVtZW50IGZyb20gYWJvdmUuCi0g
IHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRlICsgMCwgZDBbMF0pOwotICB2c3QxcV91MTYoZHN0
ICsgMCAqIHN0cmlkZSArIDgsIGQwWzFdKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEgKiBzdHJpZGUg
KyAwLCBkMVswXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxICogc3RyaWRlICsgOCwgZDFbMV0pOwot
ICB2c3QxcV91MTYoZHN0ICsgMiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0s
IDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDBfZXh0
LCBhMTUsIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYo
ZDFbMF0sIGQxWzFdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsgOCwgdmV4
dHFfdTE2KGQxX2V4dCwgYTE1LCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA0ICogc3RyaWRlICsg
MCwgdmV4dHFfdTE2KGQwWzBdLCBkMFsxXSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgNCAqIHN0
cmlkZSArIDgsIHZleHRxX3UxNihkMF9leHQsIGExNSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsg
NSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDIpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDUgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDFfZXh0LCBhMTUsIDMpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCAzKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyA2ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwX2V4dCwgYTE1
LCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzBd
LCBkMVsxXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSArIDgsIHZleHRxX3Ux
NihkMV9leHQsIGExNSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgOCAqIHN0cmlkZSArIDAsIHZl
eHRxX3UxNihkMFswXSwgZDBbMV0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDggKiBzdHJpZGUg
KyA4LCB2ZXh0cV91MTYoZDBfZXh0LCBhMTUsIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDkgKiBz
dHJpZGUgKyAwLCB2ZXh0cV91MTYoZDFbMF0sIGQxWzFdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyA5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxX2V4dCwgYTE1LCA1KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxMCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDUpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDEwICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwX2V4dCwgYTE1LCA2
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMVswXSwg
ZDFbMV0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDExICogc3RyaWRlICsgOCwgdmV4dHFfdTE2
KGQxX2V4dCwgYTE1LCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMiAqIHN0cmlkZSArIDAsIHZl
eHRxX3UxNihkMFswXSwgZDBbMV0sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEyICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGQwX2V4dCwgYTE1LCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAq
IHN0cmlkZSArIDAsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDYpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDEzICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxX2V4dCwgYTE1LCA3KSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAxNCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDcpKTsK
LSAgdnN0MXFfdTE2KGRzdCArIDE0ICogc3RyaWRlICsgOCwgYTE1KTsKLSAgdnN0MXFfdTE2KGRz
dCArIDE1ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgNykpOwotICB2c3Qx
cV91MTYoZHN0ICsgMTUgKiBzdHJpZGUgKyA4LCBhMTUpOwotfQotCi12b2lkIHZweF9oaWdoYmRf
ZDYzX3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90
ICphYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2X3QgKmxlZnQsIGludCBiZCkgewotICAvLyBTZWUgdnB4X2hpZ2hiZF9kNjNfcHJlZGlj
dG9yXzh4OF9uZW9uIGZvciBkZXRhaWxzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAgdWludDE2
eDhfdCBhMCwgYTEsIGEyLCBhOCwgYTksIGExMCwgYTE2LCBhMTcsIGExOCwgYTI0LCBhMjUsIGEy
NiwgYTMxLCBkMFs0XSwKLSAgICAgIGQxWzRdLCBkMF9leHQsIGQxX2V4dDsKLSAgKHZvaWQpbGVm
dDsKLSAgKHZvaWQpYmQ7Ci0KLSAgYTAgPSB2bGQxcV91MTYoYWJvdmUgKyAwKTsKLSAgYTEgPSB2
bGQxcV91MTYoYWJvdmUgKyAxKTsKLSAgYTIgPSB2bGQxcV91MTYoYWJvdmUgKyAyKTsKLSAgYTgg
PSB2bGQxcV91MTYoYWJvdmUgKyA4KTsKLSAgYTkgPSB2bGQxcV91MTYoYWJvdmUgKyA5KTsKLSAg
YTEwID0gdmxkMXFfdTE2KGFib3ZlICsgMTApOwotICBhMTYgPSB2bGQxcV91MTYoYWJvdmUgKyAx
Nik7Ci0gIGExNyA9IHZsZDFxX3UxNihhYm92ZSArIDE3KTsKLSAgYTE4ID0gdmxkMXFfdTE2KGFi
b3ZlICsgMTgpOwotICBhMjQgPSB2bGQxcV91MTYoYWJvdmUgKyAyNCk7Ci0gIGEyNSA9IHZsZDFx
X3UxNihhYm92ZSArIDI1KTsKLSAgYTI2ID0gdmxkMXFfdTE2KGFib3ZlICsgMjYpOwotICBhMzEg
PSB2bGQxcV9kdXBfdTE2KGFib3ZlICsgMzEpOwotCi0gIGQwWzBdID0gdnJoYWRkcV91MTYoYTAs
IGExKTsKLSAgZDBbMV0gPSB2cmhhZGRxX3UxNihhOCwgYTkpOwotICBkMFsyXSA9IHZyaGFkZHFf
dTE2KGExNiwgYTE3KTsKLSAgZDBbM10gPSB2cmhhZGRxX3UxNihhMjQsIGEyNSk7Ci0gIGQxWzBd
ID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihhMCwgYTIpLCBhMSk7Ci0gIGQxWzFdID0gdnJoYWRk
cV91MTYodmhhZGRxX3UxNihhOCwgYTEwKSwgYTkpOwotICBkMVsyXSA9IHZyaGFkZHFfdTE2KHZo
YWRkcV91MTYoYTE2LCBhMTgpLCBhMTcpOwotICBkMVszXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91
MTYoYTI0LCBhMjYpLCBhMjUpOwotCi0gIC8vIFN0cmlwIG91dCB0aGUgZmluYWwgZWxlbWVudCBv
ZiBkMC9kMSBzbyB0aGF0IHdlIGNhbiByZXBsYWNlIGl0IHdpdGggYW4KLSAgLy8gYWRkaXRpb25h
bCBjb3B5IG9mIGFib3ZlWzddLCB0aGUgZmlyc3QgdmVjdG9yIGhlcmUgZG9lc24ndCBtYXR0ZXIg
c28ganVzdAotICAvLyByZXVzZSB0aGUgc2FtZSB2ZWN0b3IuCi0gIGQwX2V4dCA9IHZleHRxX3Ux
NihkMFszXSwgZDBbM10sIDcpOwotICBkMV9leHQgPSB2ZXh0cV91MTYoZDFbM10sIGQxWzNdLCA3
KTsKLQotICAvLyBTaHVmZmxlIGluIGR1cGxpY2F0ZXMgb2YgYWJvdmVbN10gYW5kIHN0b3JlLiBO
b3RlIHRoYXQgY2FzZXMgaW52b2x2aW5nCi0gIC8vIHtkMCxkMX1fZXh0IHJlcXVpcmUgYW4gZXh0
cmEgc2hpZnQgdG8gdW5kbyB0aGUgc2hpZnRpbmcgb3V0IG9mIHRoZSBmaW5hbAotICAvLyBlbGVt
ZW50IGZyb20gYWJvdmUuCi0KLSAgdnN0MXFfdTE2KGRzdCArIDAgKiBzdHJpZGUgKyAwLCBkMFsw
XSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRlICsgOCwgZDBbMV0pOwotICB2c3QxcV91
MTYoZHN0ICsgMCAqIHN0cmlkZSArIDE2LCBkMFsyXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICog
c3RyaWRlICsgMjQsIGQwWzNdKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEgKiBzdHJpZGUgKyAwLCBk
MVswXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxICogc3RyaWRlICsgOCwgZDFbMV0pOwotICB2c3Qx
cV91MTYoZHN0ICsgMSAqIHN0cmlkZSArIDE2LCBkMVsyXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAx
ICogc3RyaWRlICsgMjQsIGQxWzNdKTsKLQotICB2c3QxcV91MTYoZHN0ICsgMiAqIHN0cmlkZSAr
IDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIgKiBz
dHJpZGUgKyA4LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAyICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDEpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDIgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQwX2V4dCwgYTMxLCAyKSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwg
MSkpOwotICB2c3QxcV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMVsxXSwg
ZDFbMl0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2
KGQxWzJdLCBkMVszXSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDI0LCB2
ZXh0cV91MTYoZDFfZXh0LCBhMzEsIDIpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgNCAqIHN0cmlk
ZSArIDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDQg
KiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCAyKSk7Ci0gIHZzdDFxX3UxNihk
c3QgKyA0ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDIpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDQgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQwX2V4dCwgYTMxLCAzKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyA1ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsx
XSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgNSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMVsx
XSwgZDFbMl0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDUgKiBzdHJpZGUgKyAxNiwgdmV4dHFf
dTE2KGQxWzJdLCBkMVszXSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgNSAqIHN0cmlkZSArIDI0
LCB2ZXh0cV91MTYoZDFfZXh0LCBhMzEsIDMpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgNiAqIHN0
cmlkZSArIDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDYgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCAzKSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyA2ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDMpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDYgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQwX2V4dCwgYTMxLCA0
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzBdLCBk
MVsxXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihk
MVsxXSwgZDFbMl0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDcgKiBzdHJpZGUgKyAxNiwgdmV4
dHFfdTE2KGQxWzJdLCBkMVszXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSAr
IDI0LCB2ZXh0cV91MTYoZDFfZXh0LCBhMzEsIDQpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgOCAq
IHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDQpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDggKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCA0KSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyA4ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDQpKTsK
LSAgdnN0MXFfdTE2KGRzdCArIDggKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQwX2V4dCwgYTMx
LCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA5ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzBd
LCBkMVsxXSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlkZSArIDgsIHZleHRxX3Ux
NihkMVsxXSwgZDFbMl0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDkgKiBzdHJpZGUgKyAxNiwg
dmV4dHFfdTE2KGQxWzJdLCBkMVszXSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlk
ZSArIDI0LCB2ZXh0cV91MTYoZDFfZXh0LCBhMzEsIDUpKTsKLQotICB2c3QxcV91MTYoZHN0ICsg
MTAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCA1KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxMCAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMFsxXSwgZDBbMl0sIDUpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDEwICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMFsyXSwgZDBbM10s
IDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEwICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMF9l
eHQsIGEzMSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMTEgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
MTYoZDFbMF0sIGQxWzFdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMSAqIHN0cmlkZSArIDgs
IHZleHRxX3UxNihkMVsxXSwgZDFbMl0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDExICogc3Ry
aWRlICsgMTYsIHZleHRxX3UxNihkMVsyXSwgZDFbM10sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDExICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMV9leHQsIGEzMSwgNikpOwotCi0gIHZzdDFx
X3UxNihkc3QgKyAxMiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDYpKTsK
LSAgdnN0MXFfdTE2KGRzdCArIDEyICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzFdLCBkMFsy
XSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMTIgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQw
WzJdLCBkMFszXSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMTIgKiBzdHJpZGUgKyAyNCwgdmV4
dHFfdTE2KGQwX2V4dCwgYTMxLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSAr
IDAsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEzICog
c3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgNikpOwotICB2c3QxcV91MTYoZHN0
ICsgMTMgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQxWzJdLCBkMVszXSwgNikpOwotICB2c3Qx
cV91MTYoZHN0ICsgMTMgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxX2V4dCwgYTMxLCA3KSk7
Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDE0ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQwWzBdLCBk
MFsxXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMTQgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYo
ZDBbMV0sIGQwWzJdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNCAqIHN0cmlkZSArIDE2LCB2
ZXh0cV91MTYoZDBbMl0sIGQwWzNdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNCAqIHN0cmlk
ZSArIDI0LCBhMzEpOwotICB2c3QxcV91MTYoZHN0ICsgMTUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
MTYoZDFbMF0sIGQxWzFdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNSAqIHN0cmlkZSArIDgs
IHZleHRxX3UxNihkMVsxXSwgZDFbMl0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE1ICogc3Ry
aWRlICsgMTYsIHZleHRxX3UxNihkMVsyXSwgZDFbM10sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDE1ICogc3RyaWRlICsgMjQsIGEzMSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDE2ICogc3RyaWRl
ICsgMCwgZDBbMV0pOwotICB2c3QxcV91MTYoZHN0ICsgMTYgKiBzdHJpZGUgKyA4LCBkMFsyXSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAxNiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDBfZXh0LCBh
MzEsIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE2ICogc3RyaWRlICsgMjQsIGEzMSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAxNyAqIHN0cmlkZSArIDAsIGQxWzFdKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDE3ICogc3RyaWRlICsgOCwgZDFbMl0pOwotICB2c3QxcV91MTYoZHN0ICsgMTcgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTE2KGQxX2V4dCwgYTMxLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNyAq
IHN0cmlkZSArIDI0LCBhMzEpOwotCi0gIHZzdDFxX3UxNihkc3QgKyAxOCAqIHN0cmlkZSArIDAs
IHZleHRxX3UxNihkMFsxXSwgZDBbMl0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE4ICogc3Ry
aWRlICsgOCwgdmV4dHFfdTE2KGQwWzJdLCBkMFszXSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsg
MTggKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQwX2V4dCwgYTMxLCAyKSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxOCAqIHN0cmlkZSArIDI0LCBhMzEpOwotICB2c3QxcV91MTYoZHN0ICsgMTkgKiBz
dHJpZGUgKyAwLCB2ZXh0cV91MTYoZDFbMV0sIGQxWzJdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAxOSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMVsyXSwgZDFbM10sIDEpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDE5ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMV9leHQsIGEzMSwgMikpOwot
ICB2c3QxcV91MTYoZHN0ICsgMTkgKiBzdHJpZGUgKyAyNCwgYTMxKTsKLQotICB2c3QxcV91MTYo
ZHN0ICsgMjAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCAyKSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAyMCAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDIp
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDIwICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMF9leHQs
IGEzMSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMjAgKiBzdHJpZGUgKyAyNCwgYTMxKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDIxICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwg
MikpOwotICB2c3QxcV91MTYoZHN0ICsgMjEgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDFbMl0s
IGQxWzNdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
MTYoZDFfZXh0LCBhMzEsIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIxICogc3RyaWRlICsgMjQs
IGEzMSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDIyICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQw
WzFdLCBkMFsyXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMjIgKiBzdHJpZGUgKyA4LCB2ZXh0
cV91MTYoZDBbMl0sIGQwWzNdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMiAqIHN0cmlkZSAr
IDE2LCB2ZXh0cV91MTYoZDBfZXh0LCBhMzEsIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIyICog
c3RyaWRlICsgMjQsIGEzMSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMyAqIHN0cmlkZSArIDAsIHZl
eHRxX3UxNihkMVsxXSwgZDFbMl0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIzICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGQxWzJdLCBkMVszXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMjMg
KiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQxX2V4dCwgYTMxLCA0KSk7Ci0gIHZzdDFxX3UxNihk
c3QgKyAyMyAqIHN0cmlkZSArIDI0LCBhMzEpOwotCi0gIHZzdDFxX3UxNihkc3QgKyAyNCAqIHN0
cmlkZSArIDAsIHZleHRxX3UxNihkMFsxXSwgZDBbMl0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDI0ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzJdLCBkMFszXSwgNCkpOwotICB2c3QxcV91
MTYoZHN0ICsgMjQgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQwX2V4dCwgYTMxLCA1KSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAyNCAqIHN0cmlkZSArIDI0LCBhMzEpOwotICB2c3QxcV91MTYoZHN0
ICsgMjUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDFbMV0sIGQxWzJdLCA0KSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAyNSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMVsyXSwgZDFbM10sIDQpKTsK
LSAgdnN0MXFfdTE2KGRzdCArIDI1ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMV9leHQsIGEz
MSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMjUgKiBzdHJpZGUgKyAyNCwgYTMxKTsKLQotICB2
c3QxcV91MTYoZHN0ICsgMjYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCA1
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNiAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMFsyXSwg
ZDBbM10sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI2ICogc3RyaWRlICsgMTYsIHZleHRxX3Ux
NihkMF9leHQsIGEzMSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMjYgKiBzdHJpZGUgKyAyNCwg
YTMxKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI3ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQxWzFd
LCBkMVsyXSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMjcgKiBzdHJpZGUgKyA4LCB2ZXh0cV91
MTYoZDFbMl0sIGQxWzNdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNyAqIHN0cmlkZSArIDE2
LCB2ZXh0cV91MTYoZDFfZXh0LCBhMzEsIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI3ICogc3Ry
aWRlICsgMjQsIGEzMSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDI4ICogc3RyaWRlICsgMCwgdmV4
dHFfdTE2KGQwWzFdLCBkMFsyXSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMjggKiBzdHJpZGUg
KyA4LCB2ZXh0cV91MTYoZDBbMl0sIGQwWzNdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOCAq
IHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDBfZXh0LCBhMzEsIDcpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDI4ICogc3RyaWRlICsgMjQsIGEzMSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOSAqIHN0cmlk
ZSArIDAsIHZleHRxX3UxNihkMVsxXSwgZDFbMl0sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI5
ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzJdLCBkMVszXSwgNikpOwotICB2c3QxcV91MTYo
ZHN0ICsgMjkgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQxX2V4dCwgYTMxLCA3KSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAyOSAqIHN0cmlkZSArIDI0LCBhMzEpOwotCi0gIHZzdDFxX3UxNihkc3Qg
KyAzMCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMFsxXSwgZDBbMl0sIDcpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDMwICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzJdLCBkMFszXSwgNykpOwot
ICB2c3QxcV91MTYoZHN0ICsgMzAgKiBzdHJpZGUgKyAxNiwgYTMxKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDMwICogc3RyaWRlICsgMjQsIGEzMSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzMSAqIHN0cmlk
ZSArIDAsIHZleHRxX3UxNihkMVsxXSwgZDFbMl0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMx
ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzJdLCBkMVszXSwgNykpOwotICB2c3QxcV91MTYo
ZHN0ICsgMzEgKiBzdHJpZGUgKyAxNiwgYTMxKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMxICogc3Ry
aWRlICsgMjQsIGEzMSk7Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLXZvaWQgdnB4
X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl80eDRfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qg
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNl90ICphYm92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIHVpbnQxNng0X3QgYXosIGEwLCBsMGF6
LCBsMCwgbDEsIGF6bDAsIGNvbDAsIGNvbDBfZXZlbiwgY29sMF9vZGQsIGQwLCBkMTsKLSAgKHZv
aWQpYmQ7Ci0KLSAgYXogPSB2bGQxX3UxNihhYm92ZSAtIDEpOwotICBhMCA9IHZsZDFfdTE2KGFi
b3ZlICsgMCk7Ci0gIC8vIFsgbGVmdFswXSwgYWJvdmVbLTFdLCBhYm92ZVswXSwgYWJvdmVbMV0g
XQotICBsMGF6ID0gdmV4dF91MTYodmxkMV9kdXBfdTE2KGxlZnQpLCBheiwgMyk7Ci0KLSAgbDAg
PSB2bGQxX3UxNihsZWZ0ICsgMCk7Ci0gIC8vIFRoZSBsYXN0IGxhbmUgaGVyZSBpcyB1bnVzZWQs
IHJlYWRpbmcgbGVmdFs0XSBjb3VsZCBjYXVzZSBhIGJ1ZmZlcgotICAvLyBvdmVyLXJlYWQsIHNv
IGp1c3QgZmlsbCB3aXRoIGEgZHVwbGljYXRlIG9mIGxlZnRbMF0gdG8gYXZvaWQgbmVlZGluZyB0
bwotICAvLyBtYXRlcmlhbGl6ZSBhIHplcm86Ci0gIC8vIFsgbGVmdFsxXSwgbGVmdFsyXSwgbGVm
dFszXSwgeCBdCi0gIGwxID0gdmV4dF91MTYobDAsIGwwLCAxKTsKLSAgLy8gWyBhYm92ZVstMV0s
IGxlZnRbMF0sIGxlZnRbMV0sIGxlZnRbMl0gXQotICBhemwwID0gdmV4dF91MTYodmxkMV9kdXBf
dTE2KGFib3ZlIC0gMSksIGwwLCAzKTsKLQotICBkMCA9IHZyaGFkZF91MTYoYXosIGEwKTsKLSAg
ZDEgPSB2cmhhZGRfdTE2KHZoYWRkX3UxNihsMGF6LCBhMCksIGF6KTsKLQotICBjb2wwID0gdnJo
YWRkX3UxNih2aGFkZF91MTYoYXpsMCwgbDEpLCBsMCk7Ci0gIGNvbDBfZXZlbiA9IHZkdXBfbGFu
ZV91MTYoY29sMCwgMCk7Ci0gIGNvbDBfb2RkID0gdmR1cF9sYW5lX3UxNihjb2wwLCAxKTsKLQot
ICB2c3QxX3UxNihkc3QgKyAwICogc3RyaWRlLCBkMCk7Ci0gIHZzdDFfdTE2KGRzdCArIDEgKiBz
dHJpZGUsIGQxKTsKLSAgdnN0MV91MTYoZHN0ICsgMiAqIHN0cmlkZSwgdmV4dF91MTYoY29sMF9l
dmVuLCBkMCwgMykpOwotICB2c3QxX3UxNihkc3QgKyAzICogc3RyaWRlLCB2ZXh0X3UxNihjb2ww
X29kZCwgZDEsIDMpKTsKLX0KLQotdm9pZCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9yXzh4OF9u
ZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmFib3ZlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQp
IHsKLSAgdWludDE2eDhfdCBheiwgYTAsIGwwYXosIGwwLCBsMSwgYXpsMCwgY29sMCwgY29sMF9l
dmVuLCBjb2wwX29kZCwgZDAsIGQxOwotICAodm9pZCliZDsKLQotICBheiA9IHZsZDFxX3UxNihh
Ym92ZSAtIDEpOwotICBhMCA9IHZsZDFxX3UxNihhYm92ZSArIDApOwotICAvLyBbIGxlZnRbMF0s
IGFib3ZlWy0xXSwgLi4uLCBsZWZ0WzVdIF0KLSAgbDBheiA9IHZleHRxX3UxNih2bGQxcV9kdXBf
dTE2KGxlZnQpLCBheiwgNyk7Ci0KLSAgbDAgPSB2bGQxcV91MTYobGVmdCArIDApOwotICAvLyBU
aGUgbGFzdCBsYW5lIGhlcmUgaXMgdW51c2VkLCByZWFkaW5nIGxlZnRbOF0gY291bGQgY2F1c2Ug
YSBidWZmZXIKLSAgLy8gb3Zlci1yZWFkLCBzbyBqdXN0IGZpbGwgd2l0aCBhIGR1cGxpY2F0ZSBv
ZiBsZWZ0WzBdIHRvIGF2b2lkIG5lZWRpbmcgdG8KLSAgLy8gbWF0ZXJpYWxpemUgYSB6ZXJvOgot
ICAvLyBbIGxlZnRbMV0sIC4uLiAsIGxlZnRbN10sIHggXQotICBsMSA9IHZleHRxX3UxNihsMCwg
bDAsIDEpOwotICAvLyBbIGFib3ZlWy0xXSwgbGVmdFswXSwgLi4uLCBsZWZ0WzZdIF0KLSAgYXps
MCA9IHZleHRxX3UxNih2bGQxcV9kdXBfdTE2KGFib3ZlIC0gMSksIGwwLCA3KTsKLQotICAvLyBk
MFswXSA9IEFWRzIoYWJvdmVbLTFdLCBhYm92ZVswXSkKLSAgLy8gLi4uCi0gIC8vIGQwWzddID0g
QVZHMihhYm92ZVs2XSwgYWJvdmVbN10pCi0gIGQwID0gdnJoYWRkcV91MTYoYXosIGEwKTsKLQot
ICAvLyBkMVswXSA9IEFWRzMobGVmdFswXSwgYWJvdmVbLTFdLCBhYm92ZVswXSkKLSAgLy8gZDFb
MV0gPSBBVkczKGFib3ZlWy0xXSwgYWJvdmVbMF0sIGFib3ZlWzFdKQotICAvLyAuLi4KLSAgLy8g
ZDFbN10gPSBBVkczKGFib3ZlWzVdLCBhYm92ZVs2XSwgYWJvdmVbN10pCi0gIGQxID0gdnJoYWRk
cV91MTYodmhhZGRxX3UxNihsMGF6LCBhMCksIGF6KTsKLQotICAvLyBUaGUgZXh0IGluc3RydWN0
aW9uIHNoaWZ0cyBlbGVtZW50cyBpbiBmcm9tIHRoZSBlbmQgb2YgdGhlIHZlY3RvciByYXRoZXIK
LSAgLy8gdGhhbiB0aGUgc3RhcnQsIHNvIHJldmVyc2UgdGhlIHZlY3RvciB0byBwdXQgdGhlIGVs
ZW1lbnRzIHRvIGJlIHNoaWZ0ZWQgaW4KLSAgLy8gYXQgdGhlIGVuZDoKLSAgLy8gY29sMFs3XSA9
IEFWRzMoYWJvdmVbLTFdLCBsZWZ0WzBdLCBsZWZ0WzFdKQotICAvLyBjb2wwWzZdID0gQVZHMyhs
ZWZ0WzBdLCBsZWZ0WzFdLCBsZWZ0WzJdKQotICAvLyAuLi4KLSAgLy8gY29sMFswXSA9IEFWRzMo
bGVmdFs2XSwgbGVmdFs3XSwgbGVmdFs4XSkKLSAgY29sMCA9IHZyaGFkZHFfdTE2KHZoYWRkcV91
MTYoYXpsMCwgbDEpLCBsMCk7Ci0gIGNvbDAgPSB2cmV2NjRxX3UxNih2ZXh0cV91MTYoY29sMCwg
Y29sMCwgNCkpOwotCi0gIC8vIFdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIGZpcnN0IHBhcmFtZXRl
ciB0byB0aGlzIHV6cCBzaW5jZSB3ZSBvbmx5IGV2ZXIgdXNlCi0gIC8vIHRoZSBoaWdoIHRocmVl
IGVsZW1lbnRzLCB3ZSBqdXN0IHVzZSBjb2wwIGFnYWluIHNpbmNlIGl0IGlzIGFscmVhZHkKLSAg
Ly8gYXZhaWxhYmxlOgotICAvLyBjb2wwX2V2ZW4gPSBbIHgsIHgsIHgsIHgsIHgsIGNvbDBbM10s
IGNvbDBbNV0sIGNvbDBbN10gXQotICAvLyBjb2wwX29kZCA9IFsgeCwgeCwgeCwgeCwgeCwgY29s
MFsyXSwgY29sMFs0XSwgY29sMFs2XSBdCi0gIGNvbDBfZXZlbiA9IHZ1enBxX3UxNihjb2wwLCBj
b2wwKS52YWxbMV07Ci0gIGNvbDBfb2RkID0gdnV6cHFfdTE2KGNvbDAsIGNvbDApLnZhbFswXTsK
LQotICAvLyBJbmNyZW1lbnRhbGx5IHNoaWZ0IG1vcmUgZWxlbWVudHMgZnJvbSBjb2wwIGludG8g
ZDAvMToKLSAgLy8gc3RyaWRlPTAgWyBkMFswXSwgICBkMFsxXSwgICBkMFsyXSwgICBkMFszXSwg
ZDBbNF0sIGQwWzVdLCBkMFs2XSwgZDBbN10gXQotICAvLyBzdHJpZGU9MSBbIGQxWzBdLCAgIGQx
WzFdLCAgIGQxWzJdLCAgIGQxWzNdLCBkMVs0XSwgZDFbNV0sIGQxWzZdLCBkMVs3XSBdCi0gIC8v
IHN0cmlkZT0yIFsgY29sMFs3XSwgZDBbMF0sICAgZDBbMV0sICAgZDBbMl0sIGQwWzNdLCBkMFs0
XSwgZDBbNV0sIGQwWzZdIF0KLSAgLy8gc3RyaWRlPTMgWyBjb2wwWzZdLCBkMVswXSwgICBkMVsx
XSwgICBkMVsyXSwgZDFbM10sIGQxWzRdLCBkMVs1XSwgZDFbNl0gXQotICAvLyBzdHJpZGU9NCBb
IGNvbDBbNV0sIGNvbDBbN10sIGQwWzBdLCAgIGQwWzFdLCBkMFsyXSwgZDBbM10sIGQwWzRdLCBk
MFs1XSBdCi0gIC8vIHN0cmlkZT01IFsgY29sMFs0XSwgY29sMFs2XSwgZDFbMF0sICAgZDFbMV0s
IGQxWzJdLCBkMVszXSwgZDFbNF0sIGQxWzVdIF0KLSAgLy8gc3RyaWRlPTYgWyBjb2wwWzNdLCBj
b2wwWzVdLCBjb2wwWzddLCBkMFswXSwgZDBbMV0sIGQwWzJdLCBkMFszXSwgZDBbNF0gXQotICAv
LyBzdHJpZGU9NyBbIGNvbDBbMl0sIGNvbDBbNF0sIGNvbDBbNl0sIGQxWzBdLCBkMVsxXSwgZDFb
Ml0sIGQxWzNdLCBkMVs0XSBdCi0gIHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRlLCBkMCk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAxICogc3RyaWRlLCBkMSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyICog
c3RyaWRlLCB2ZXh0cV91MTYoY29sMF9ldmVuLCBkMCwgNykpOwotICB2c3QxcV91MTYoZHN0ICsg
MyAqIHN0cmlkZSwgdmV4dHFfdTE2KGNvbDBfb2RkLCBkMSwgNykpOwotICB2c3QxcV91MTYoZHN0
ICsgNCAqIHN0cmlkZSwgdmV4dHFfdTE2KGNvbDBfZXZlbiwgZDAsIDYpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDUgKiBzdHJpZGUsIHZleHRxX3UxNihjb2wwX29kZCwgZDEsIDYpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDYgKiBzdHJpZGUsIHZleHRxX3UxNihjb2wwX2V2ZW4sIGQwLCA1KSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyA3ICogc3RyaWRlLCB2ZXh0cV91MTYoY29sMF9vZGQsIGQxLCA1KSk7Ci19
Ci0KLXZvaWQgdnB4X2hpZ2hiZF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90ICpk
c3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIHVpbnQx
Nng4X3QgYXosIGEwLCBhNiwgYTcsIGE4LCBsMGF6LCBsMCwgbDEsIGw3LCBsOCwgbDksIGF6bDAs
IGNvbDBfbG8sCi0gICAgICBjb2wwX2hpLCBjb2wwX2V2ZW4sIGNvbDBfb2RkLCBkMF9sbywgZDBf
aGksIGQxX2xvLCBkMV9oaTsKLSAgKHZvaWQpYmQ7CiAKLSAgYXogPSB2bGQxcV91MTYoYWJvdmUg
LSAxKTsKLSAgYTAgPSB2bGQxcV91MTYoYWJvdmUgKyAwKTsKLSAgYTYgPSB2bGQxcV91MTYoYWJv
dmUgKyA2KTsKLSAgYTcgPSB2bGQxcV91MTYoYWJvdmUgKyA3KTsKLSAgYTggPSB2bGQxcV91MTYo
YWJvdmUgKyA4KTsKLSAgLy8gWyBsZWZ0WzBdLCBhYm92ZVstMV0sIC4uLiwgbGVmdFs1XSBdCi0g
IGwwYXogPSB2ZXh0cV91MTYodmxkMXFfZHVwX3UxNihsZWZ0KSwgYXosIDcpOwotCi0gIGwwID0g
dmxkMXFfdTE2KGxlZnQgKyAwKTsKLSAgbDEgPSB2bGQxcV91MTYobGVmdCArIDEpOwotICBsNyA9
IHZsZDFxX3UxNihsZWZ0ICsgNyk7Ci0gIGw4ID0gdmxkMXFfdTE2KGxlZnQgKyA4KTsKLSAgLy8g
VGhlIGxhc3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVhZGluZyBsZWZ0WzE2XSBjb3VsZCBjYXVz
ZSBhIGJ1ZmZlcgotICAvLyBvdmVyLXJlYWQsIHNvIGp1c3QgZmlsbCB3aXRoIGEgZHVwbGljYXRl
IG9mIGxlZnRbOF0gdG8gYXZvaWQgbmVlZGluZyB0bwotICAvLyBtYXRlcmlhbGl6ZSBhIHplcm86
Ci0gIC8vIFsgbGVmdFs5XSwgLi4uICwgbGVmdFsxNV0sIHggXQotICBsOSA9IHZleHRxX3UxNihs
OCwgbDgsIDEpOwotICAvLyBbIGFib3ZlWy0xXSwgbGVmdFswXSwgLi4uLCBsZWZ0WzZdIF0KLSAg
YXpsMCA9IHZleHRxX3UxNih2bGQxcV9kdXBfdTE2KGFib3ZlIC0gMSksIGwwLCA3KTsKLQotICBk
MF9sbyA9IHZyaGFkZHFfdTE2KGF6LCBhMCk7Ci0gIGQwX2hpID0gdnJoYWRkcV91MTYoYTcsIGE4
KTsKLSAgZDFfbG8gPSB2cmhhZGRxX3UxNih2aGFkZHFfdTE2KGwwYXosIGEwKSwgYXopOwotICBk
MV9oaSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYoYTYsIGE4KSwgYTcpOwotCi0gIGNvbDBfbG8g
PSB2cmhhZGRxX3UxNih2aGFkZHFfdTE2KGF6bDAsIGwxKSwgbDApOwotICBjb2wwX2hpID0gdnJo
YWRkcV91MTYodmhhZGRxX3UxNihsNywgbDkpLCBsOCk7Ci0KLSAgLy8gUmV2ZXJzZSB3aXRoaW4g
ZWFjaCB2ZWN0b3IsIHRoZW4gc3dhcCB0aGUgYXJyYXkgaW5kaWNlcyBpbiB0aGUgdXpwIHRvCi0g
IC8vIGNvbXBsZXRlIHRoZSByZXZlcnNhbCBhY3Jvc3MgYWxsIDE2IGVsZW1lbnRzLgotICBjb2ww
X2xvID0gdnJldjY0cV91MTYodmV4dHFfdTE2KGNvbDBfbG8sIGNvbDBfbG8sIDQpKTsKLSAgY29s
MF9oaSA9IHZyZXY2NHFfdTE2KHZleHRxX3UxNihjb2wwX2hpLCBjb2wwX2hpLCA0KSk7Ci0gIGNv
bDBfZXZlbiA9IHZ1enBxX3UxNihjb2wwX2hpLCBjb2wwX2xvKS52YWxbMV07Ci0gIGNvbDBfb2Rk
ID0gdnV6cHFfdTE2KGNvbDBfaGksIGNvbDBfbG8pLnZhbFswXTsKLQotICB2c3QxcV91MTYoZHN0
ICsgMCAqIHN0cmlkZSArIDAsIGQwX2xvKTsKLSAgdnN0MXFfdTE2KGRzdCArIDAgKiBzdHJpZGUg
KyA4LCBkMF9oaSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxICogc3RyaWRlICsgMCwgZDFfbG8pOwot
ICB2c3QxcV91MTYoZHN0ICsgMSAqIHN0cmlkZSArIDgsIGQxX2hpKTsKLQotICB2c3QxcV91MTYo
ZHN0ICsgMiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX2V2ZW4sIGQwX2xvLCA3KSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAyICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwX2xvLCBkMF9oaSwg
NykpOwotICB2c3QxcV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX29k
ZCwgZDFfbG8sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMgKiBzdHJpZGUgKyA4LCB2ZXh0cV91
MTYoZDFfbG8sIGQxX2hpLCA3KSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDQgKiBzdHJpZGUgKyAw
LCB2ZXh0cV91MTYoY29sMF9ldmVuLCBkMF9sbywgNikpOwotICB2c3QxcV91MTYoZHN0ICsgNCAq
IHN0cmlkZSArIDgsIHZleHRxX3UxNihkMF9sbywgZDBfaGksIDYpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9vZGQsIGQxX2xvLCA2KSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyA1ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxX2xvLCBkMV9oaSwgNikp
OwotCi0gIHZzdDFxX3UxNihkc3QgKyA2ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGNvbDBfZXZl
biwgZDBfbG8sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDYgKiBzdHJpZGUgKyA4LCB2ZXh0cV91
MTYoZDBfbG8sIGQwX2hpLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgMCwg
dmV4dHFfdTE2KGNvbDBfb2RkLCBkMV9sbywgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0
cmlkZSArIDgsIHZleHRxX3UxNihkMV9sbywgZDFfaGksIDUpKTsKLQotICB2c3QxcV91MTYoZHN0
ICsgOCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX2V2ZW4sIGQwX2xvLCA0KSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyA4ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwX2xvLCBkMF9oaSwgNCkp
OwotICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX29kZCwg
ZDFfbG8sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDkgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYo
ZDFfbG8sIGQxX2hpLCA0KSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDEwICogc3RyaWRlICsgMCwg
dmV4dHFfdTE2KGNvbDBfZXZlbiwgZDBfbG8sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEwICog
c3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwX2xvLCBkMF9oaSwgMykpOwotICB2c3QxcV91MTYoZHN0
ICsgMTEgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9vZGQsIGQxX2xvLCAzKSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAxMSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMV9sbywgZDFfaGksIDMp
KTsKLQotICB2c3QxcV91MTYoZHN0ICsgMTIgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9l
dmVuLCBkMF9sbywgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMTIgKiBzdHJpZGUgKyA4LCB2ZXh0
cV91MTYoZDBfbG8sIGQwX2hpLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSAr
IDAsIHZleHRxX3UxNihjb2wwX29kZCwgZDFfbG8sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEz
ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxX2xvLCBkMV9oaSwgMikpOwotCi0gIHZzdDFxX3Ux
Nihkc3QgKyAxNCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX2V2ZW4sIGQwX2xvLCAxKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAxNCAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMF9sbywgZDBf
aGksIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE1ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGNv
bDBfb2RkLCBkMV9sbywgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTUgKiBzdHJpZGUgKyA4LCB2
ZXh0cV91MTYoZDFfbG8sIGQxX2hpLCAxKSk7Ci19Ci0KLXZvaWQgdnB4X2hpZ2hiZF9kMTE3X3By
ZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJv
dmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIHVpbnQxNng4X3QgYXosIGEwLCBhNiwgYTcsIGE4LCBh
MTQsIGExNSwgYTE2LCBhMjIsIGEyMywgYTI0LCBsMGF6LCBsMCwgbDEsIGw3LAotICAgICAgbDgs
IGw5LCBsMTUsIGwxNiwgbDE3LCBsMjMsIGwyNCwgbDI1LCBhemwwLCBkMFs0XSwgZDFbNF0sIGNv
bDBbNF0sCi0gICAgICBjb2wwX2V2ZW5bMl0sIGNvbDBfb2RkWzJdOwotICAodm9pZCliZDsKLQot
ICBheiA9IHZsZDFxX3UxNihhYm92ZSAtIDEpOwotICBhMCA9IHZsZDFxX3UxNihhYm92ZSArIDAp
OwotICBhNiA9IHZsZDFxX3UxNihhYm92ZSArIDYpOwotICBhNyA9IHZsZDFxX3UxNihhYm92ZSAr
IDcpOwotICBhOCA9IHZsZDFxX3UxNihhYm92ZSArIDgpOwotICBhMTQgPSB2bGQxcV91MTYoYWJv
dmUgKyAxNCk7Ci0gIGExNSA9IHZsZDFxX3UxNihhYm92ZSArIDE1KTsKLSAgYTE2ID0gdmxkMXFf
dTE2KGFib3ZlICsgMTYpOwotICBhMjIgPSB2bGQxcV91MTYoYWJvdmUgKyAyMik7Ci0gIGEyMyA9
IHZsZDFxX3UxNihhYm92ZSArIDIzKTsKLSAgYTI0ID0gdmxkMXFfdTE2KGFib3ZlICsgMjQpOwot
ICAvLyBbIGxlZnRbMF0sIGFib3ZlWy0xXSwgLi4uLCBsZWZ0WzVdIF0KLSAgbDBheiA9IHZleHRx
X3UxNih2bGQxcV9kdXBfdTE2KGxlZnQpLCBheiwgNyk7Ci0KLSAgbDAgPSB2bGQxcV91MTYobGVm
dCArIDApOwotICBsMSA9IHZsZDFxX3UxNihsZWZ0ICsgMSk7Ci0gIGw3ID0gdmxkMXFfdTE2KGxl
ZnQgKyA3KTsKLSAgbDggPSB2bGQxcV91MTYobGVmdCArIDgpOwotICBsOSA9IHZsZDFxX3UxNihs
ZWZ0ICsgOSk7Ci0gIGwxNSA9IHZsZDFxX3UxNihsZWZ0ICsgMTUpOwotICBsMTYgPSB2bGQxcV91
MTYobGVmdCArIDE2KTsKLSAgbDE3ID0gdmxkMXFfdTE2KGxlZnQgKyAxNyk7Ci0gIGwyMyA9IHZs
ZDFxX3UxNihsZWZ0ICsgMjMpOwotICBsMjQgPSB2bGQxcV91MTYobGVmdCArIDI0KTsKLSAgbDI1
ID0gdmxkMXFfdTE2KGxlZnQgKyAyNSk7Ci0gIC8vIFRoZSBsYXN0IGxhbmUgaGVyZSBpcyB1bnVz
ZWQsIHJlYWRpbmcgbGVmdFszMl0gY291bGQgY2F1c2UgYSBidWZmZXIKLSAgLy8gb3Zlci1yZWFk
LCBzbyBqdXN0IGZpbGwgd2l0aCBhIGR1cGxpY2F0ZSBvZiBsZWZ0WzI0XSB0byBhdm9pZCBuZWVk
aW5nIHRvCi0gIC8vIG1hdGVyaWFsaXplIGEgemVybzoKLSAgLy8gWyBsZWZ0WzI1XSwgLi4uICwg
bGVmdFszMV0sIHggXQotICBsMjUgPSB2ZXh0cV91MTYobDI0LCBsMjQsIDEpOwotICAvLyBbIGFi
b3ZlWy0xXSwgbGVmdFswXSwgLi4uLCBsZWZ0WzZdIF0KLSAgYXpsMCA9IHZleHRxX3UxNih2bGQx
cV9kdXBfdTE2KGFib3ZlIC0gMSksIGwwLCA3KTsKLQotICBkMFswXSA9IHZyaGFkZHFfdTE2KGF6
LCBhMCk7Ci0gIGQwWzFdID0gdnJoYWRkcV91MTYoYTcsIGE4KTsKLSAgZDBbMl0gPSB2cmhhZGRx
X3UxNihhMTUsIGExNik7Ci0gIGQwWzNdID0gdnJoYWRkcV91MTYoYTIzLCBhMjQpOwotICBkMVsw
XSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYobDBheiwgYTApLCBheik7Ci0gIGQxWzFdID0gdnJo
YWRkcV91MTYodmhhZGRxX3UxNihhNiwgYTgpLCBhNyk7Ci0gIGQxWzJdID0gdnJoYWRkcV91MTYo
dmhhZGRxX3UxNihhMTQsIGExNiksIGExNSk7Ci0gIGQxWzNdID0gdnJoYWRkcV91MTYodmhhZGRx
X3UxNihhMjIsIGEyNCksIGEyMyk7Ci0KLSAgY29sMFswXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91
MTYoYXpsMCwgbDEpLCBsMCk7Ci0gIGNvbDBbMV0gPSB2cmhhZGRxX3UxNih2aGFkZHFfdTE2KGw3
LCBsOSksIGw4KTsKLSAgY29sMFsyXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYobDE1LCBsMTcp
LCBsMTYpOwotICBjb2wwWzNdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihsMjMsIGwyNSksIGwy
NCk7Ci0KLSAgLy8gUmV2ZXJzZSB3aXRoaW4gZWFjaCB2ZWN0b3IsIHRoZW4gc3dhcCB0aGUgYXJy
YXkgaW5kaWNlcyBpbiBib3RoIHRoZSB1enAKLSAgLy8gYW5kIHRoZSBjb2wwX3tldmVuLG9kZH0g
YXNzaWdubWVudCB0byBjb21wbGV0ZSB0aGUgcmV2ZXJzYWwgYWNyb3NzIGFsbAotICAvLyAzMi1l
bGVtZW50cy4KLSAgY29sMFswXSA9IHZyZXY2NHFfdTE2KHZleHRxX3UxNihjb2wwWzBdLCBjb2ww
WzBdLCA0KSk7Ci0gIGNvbDBbMV0gPSB2cmV2NjRxX3UxNih2ZXh0cV91MTYoY29sMFsxXSwgY29s
MFsxXSwgNCkpOwotICBjb2wwWzJdID0gdnJldjY0cV91MTYodmV4dHFfdTE2KGNvbDBbMl0sIGNv
bDBbMl0sIDQpKTsKLSAgY29sMFszXSA9IHZyZXY2NHFfdTE2KHZleHRxX3UxNihjb2wwWzNdLCBj
b2wwWzNdLCA0KSk7Ci0KLSAgY29sMF9ldmVuWzFdID0gdnV6cHFfdTE2KGNvbDBbMV0sIGNvbDBb
MF0pLnZhbFsxXTsKLSAgY29sMF9ldmVuWzBdID0gdnV6cHFfdTE2KGNvbDBbM10sIGNvbDBbMl0p
LnZhbFsxXTsKLSAgY29sMF9vZGRbMV0gPSB2dXpwcV91MTYoY29sMFsxXSwgY29sMFswXSkudmFs
WzBdOwotICBjb2wwX29kZFswXSA9IHZ1enBxX3UxNihjb2wwWzNdLCBjb2wwWzJdKS52YWxbMF07
Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDAgKiBzdHJpZGUgKyAwLCBkMFswXSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAwICogc3RyaWRlICsgOCwgZDBbMV0pOwotICB2c3QxcV91MTYoZHN0ICsgMCAqIHN0
cmlkZSArIDE2LCBkMFsyXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRlICsgMjQsIGQw
WzNdKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEgKiBzdHJpZGUgKyAwLCBkMVswXSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAxICogc3RyaWRlICsgOCwgZDFbMV0pOwotICB2c3QxcV91MTYoZHN0ICsgMSAq
IHN0cmlkZSArIDE2LCBkMVsyXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxICogc3RyaWRlICsgMjQs
IGQxWzNdKTsKLQotICB2c3QxcV91MTYoZHN0ICsgMiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihj
b2wwX2V2ZW5bMV0sIGQwWzBdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyICogc3RyaWRlICsg
OCwgdmV4dHFfdTE2KGQwWzBdLCBkMFsxXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMiAqIHN0
cmlkZSArIDE2LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAyICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDcpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDMgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9vZGRbMV0sIGQxWzBdLCA3
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzBdLCBk
MVsxXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYo
ZDFbMV0sIGQxWzJdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsgMjQsIHZl
eHRxX3UxNihkMVsyXSwgZDFbM10sIDcpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgNCAqIHN0cmlk
ZSArIDAsIHZleHRxX3UxNihjb2wwX2V2ZW5bMV0sIGQwWzBdLCA2KSk7Ci0gIHZzdDFxX3UxNihk
c3QgKyA0ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzBdLCBkMFsxXSwgNikpOwotICB2c3Qx
cV91MTYoZHN0ICsgNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCA2KSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyA0ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMFsyXSwgZDBb
M10sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29s
MF9vZGRbMV0sIGQxWzBdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA1ICogc3RyaWRlICsgOCwg
dmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgNSAqIHN0cmlk
ZSArIDE2LCB2ZXh0cV91MTYoZDFbMV0sIGQxWzJdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA1
ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMVsyXSwgZDFbM10sIDYpKTsKLQotICB2c3QxcV91
MTYoZHN0ICsgNiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX2V2ZW5bMV0sIGQwWzBdLCA1
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA2ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzBdLCBk
MFsxXSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgNiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYo
ZDBbMV0sIGQwWzJdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA2ICogc3RyaWRlICsgMjQsIHZl
eHRxX3UxNihkMFsyXSwgZDBbM10sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDcgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91MTYoY29sMF9vZGRbMV0sIGQxWzBdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyA3ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgNSkpOwotICB2c3QxcV91
MTYoZHN0ICsgNyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDFbMV0sIGQxWzJdLCA1KSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMVsyXSwgZDFbM10s
IDUpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgOCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2ww
X2V2ZW5bMV0sIGQwWzBdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA4ICogc3RyaWRlICsgOCwg
dmV4dHFfdTE2KGQwWzBdLCBkMFsxXSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgOCAqIHN0cmlk
ZSArIDE2LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA4
ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDQpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDkgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9vZGRbMV0sIGQxWzBdLCA0KSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyA5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsx
XSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDFb
MV0sIGQxWzJdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA5ICogc3RyaWRlICsgMjQsIHZleHRx
X3UxNihkMVsyXSwgZDFbM10sIDQpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgMTAgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91MTYoY29sMF9ldmVuWzFdLCBkMFswXSwgMykpOwotICB2c3QxcV91MTYoZHN0
ICsgMTAgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCAzKSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAxMCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCAzKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAxMCAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDBbMl0sIGQw
WzNdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihj
b2wwX29kZFsxXSwgZDFbMF0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDExICogc3RyaWRlICsg
OCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMTEgKiBz
dHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgMykpOwotICB2c3QxcV91MTYoZHN0
ICsgMTEgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxWzJdLCBkMVszXSwgMykpOwotCi0gIHZz
dDFxX3UxNihkc3QgKyAxMiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX2V2ZW5bMV0sIGQw
WzBdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMiAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihk
MFswXSwgZDBbMV0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEyICogc3RyaWRlICsgMTYsIHZl
eHRxX3UxNihkMFsxXSwgZDBbMl0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEyICogc3RyaWRl
ICsgMjQsIHZleHRxX3UxNihkMFsyXSwgZDBbM10sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEz
ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGNvbDBfb2RkWzFdLCBkMVswXSwgMikpOwotICB2c3Qx
cV91MTYoZHN0ICsgMTMgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDFbMF0sIGQxWzFdLCAyKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDFbMV0sIGQx
WzJdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYo
ZDFbMl0sIGQxWzNdLCAyKSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDE0ICogc3RyaWRlICsgMCwg
dmV4dHFfdTE2KGNvbDBfZXZlblsxXSwgZDBbMF0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE0
ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQwWzBdLCBkMFsxXSwgMSkpOwotICB2c3QxcV91MTYo
ZHN0ICsgMTQgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQwWzFdLCBkMFsyXSwgMSkpOwotICB2
c3QxcV91MTYoZHN0ICsgMTQgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQwWzJdLCBkMFszXSwg
MSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9v
ZGRbMV0sIGQxWzBdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNSAqIHN0cmlkZSArIDgsIHZl
eHRxX3UxNihkMVswXSwgZDFbMV0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE1ICogc3RyaWRl
ICsgMTYsIHZleHRxX3UxNihkMVsxXSwgZDFbMl0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE1
ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMVsyXSwgZDFbM10sIDEpKTsKLQotICB2c3QxcV91
MTYoZHN0ICsgMTYgKiBzdHJpZGUgKyAwLCBjb2wwX2V2ZW5bMV0pOwotICB2c3QxcV91MTYoZHN0
ICsgMTYgKiBzdHJpZGUgKyA4LCBkMFswXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNiAqIHN0cmlk
ZSArIDE2LCBkMFsxXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNiAqIHN0cmlkZSArIDI0LCBkMFsy
XSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNyAqIHN0cmlkZSArIDAsIGNvbDBfb2RkWzFdKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDE3ICogc3RyaWRlICsgOCwgZDFbMF0pOwotICB2c3QxcV91MTYoZHN0
ICsgMTcgKiBzdHJpZGUgKyAxNiwgZDFbMV0pOwotICB2c3QxcV91MTYoZHN0ICsgMTcgKiBzdHJp
ZGUgKyAyNCwgZDFbMl0pOwotCi0gIHZzdDFxX3UxNihkc3QgKyAxOCAqIHN0cmlkZSArIDAsIHZl
eHRxX3UxNihjb2wwX2V2ZW5bMF0sIGNvbDBfZXZlblsxXSwgNykpOwotICB2c3QxcV91MTYoZHN0
ICsgMTggKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoY29sMF9ldmVuWzFdLCBkMFswXSwgNykpOwot
ICB2c3QxcV91MTYoZHN0ICsgMTggKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQwWzBdLCBkMFsx
XSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMTggKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQw
WzFdLCBkMFsyXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMTkgKiBzdHJpZGUgKyAwLCB2ZXh0
cV91MTYoY29sMF9vZGRbMF0sIGNvbDBfb2RkWzFdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAx
OSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihjb2wwX29kZFsxXSwgZDFbMF0sIDcpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDE5ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDcp
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDE5ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMVsxXSwg
ZDFbMl0sIDcpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgMjAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
MTYoY29sMF9ldmVuWzBdLCBjb2wwX2V2ZW5bMV0sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIw
ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGNvbDBfZXZlblsxXSwgZDBbMF0sIDYpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDIwICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDYp
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDIwICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMFsxXSwg
ZDBbMl0sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIxICogc3RyaWRlICsgMCwgdmV4dHFfdTE2
KGNvbDBfb2RkWzBdLCBjb2wwX29kZFsxXSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMjEgKiBz
dHJpZGUgKyA4LCB2ZXh0cV91MTYoY29sMF9vZGRbMV0sIGQxWzBdLCA2KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAyMSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDFbMF0sIGQxWzFdLCA2KSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAyMSAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDFbMV0sIGQxWzJd
LCA2KSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDIyICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGNv
bDBfZXZlblswXSwgY29sMF9ldmVuWzFdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMiAqIHN0
cmlkZSArIDgsIHZleHRxX3UxNihjb2wwX2V2ZW5bMV0sIGQwWzBdLCA1KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAyMiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCA1KSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAyMiAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJd
LCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMyAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2ww
X29kZFswXSwgY29sMF9vZGRbMV0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIzICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGNvbDBfb2RkWzFdLCBkMVswXSwgNSkpOwotICB2c3QxcV91MTYoZHN0
ICsgMjMgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgNSkpOwotICB2c3Qx
cV91MTYoZHN0ICsgMjMgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgNSkp
OwotCi0gIHZzdDFxX3UxNihkc3QgKyAyNCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX2V2
ZW5bMF0sIGNvbDBfZXZlblsxXSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgMjQgKiBzdHJpZGUg
KyA4LCB2ZXh0cV91MTYoY29sMF9ldmVuWzFdLCBkMFswXSwgNCkpOwotICB2c3QxcV91MTYoZHN0
ICsgMjQgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQwWzBdLCBkMFsxXSwgNCkpOwotICB2c3Qx
cV91MTYoZHN0ICsgMjQgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQwWzFdLCBkMFsyXSwgNCkp
OwotICB2c3QxcV91MTYoZHN0ICsgMjUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9vZGRb
MF0sIGNvbDBfb2RkWzFdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNSAqIHN0cmlkZSArIDgs
IHZleHRxX3UxNihjb2wwX29kZFsxXSwgZDFbMF0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI1
ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDQpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDI1ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMVsxXSwgZDFbMl0sIDQpKTsKLQot
ICB2c3QxcV91MTYoZHN0ICsgMjYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9ldmVuWzBd
LCBjb2wwX2V2ZW5bMV0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI2ICogc3RyaWRlICsgOCwg
dmV4dHFfdTE2KGNvbDBfZXZlblsxXSwgZDBbMF0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI2
ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMFswXSwgZDBbMV0sIDMpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDI2ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMFsxXSwgZDBbMl0sIDMpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDI3ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGNvbDBfb2RkWzBdLCBj
b2wwX29kZFsxXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMjcgKiBzdHJpZGUgKyA4LCB2ZXh0
cV91MTYoY29sMF9vZGRbMV0sIGQxWzBdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNyAqIHN0
cmlkZSArIDE2LCB2ZXh0cV91MTYoZDFbMF0sIGQxWzFdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAyNyAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDFbMV0sIGQxWzJdLCAzKSk7Ci0KLSAgdnN0
MXFfdTE2KGRzdCArIDI4ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGNvbDBfZXZlblswXSwgY29s
MF9ldmVuWzFdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOCAqIHN0cmlkZSArIDgsIHZleHRx
X3UxNihjb2wwX2V2ZW5bMV0sIGQwWzBdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOCAqIHN0
cmlkZSArIDE2LCB2ZXh0cV91MTYoZDBbMF0sIGQwWzFdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAyOCAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDBbMV0sIGQwWzJdLCAyKSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAyOSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX29kZFswXSwgY29sMF9v
ZGRbMV0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2
KGNvbDBfb2RkWzFdLCBkMVswXSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMjkgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMjkg
KiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgMikpOwotCi0gIHZzdDFxX3Ux
Nihkc3QgKyAzMCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjb2wwX2V2ZW5bMF0sIGNvbDBfZXZl
blsxXSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMzAgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYo
Y29sMF9ldmVuWzFdLCBkMFswXSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMzAgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTE2KGQwWzBdLCBkMFsxXSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMzAg
KiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQwWzFdLCBkMFsyXSwgMSkpOwotICB2c3QxcV91MTYo
ZHN0ICsgMzEgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoY29sMF9vZGRbMF0sIGNvbDBfb2RkWzFd
LCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzMSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihjb2ww
X29kZFsxXSwgZDFbMF0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMxICogc3RyaWRlICsgMTYs
IHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMxICogc3Ry
aWRlICsgMjQsIHZleHRxX3UxNihkMVsxXSwgZDFbMl0sIDEpKTsKLX0KLQotLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLQotdm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzR4NF9uZW9uKHVp
bnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmFib3ZlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAg
Ly8gU2VlIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfOHg4X25lb24gZm9yIGRldGFpbHMgb24g
dGhlIGltcGxlbWVudGF0aW9uLgotICB1aW50MTZ4NF90IGF6LCBhMCwgbDBheiwgbDAsIGwxLCBh
emwwLCBkMCwgZDEsIGQyLCBkMjBfbG8sIGQyMF9oaTsKLSAgKHZvaWQpYmQ7Ci0KLSAgYXogPSB2
bGQxX3UxNihhYm92ZSAtIDEpOwotICBhMCA9IHZsZDFfdTE2KGFib3ZlICsgMCk7Ci0gIC8vIFsg
bGVmdFswXSwgYWJvdmVbLTFdLCBhYm92ZVswXSwgYWJvdmVbMV0gXQotICBsMGF6ID0gdmV4dF91
MTYodmxkMV9kdXBfdTE2KGxlZnQpLCBheiwgMyk7Ci0KLSAgbDAgPSB2bGQxX3UxNihsZWZ0KTsK
LSAgLy8gVGhlIGxhc3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVhZGluZyBsZWZ0WzRdIGNvdWxk
IGNhdXNlIGEgYnVmZmVyCi0gIC8vIG92ZXItcmVhZCwgc28ganVzdCBmaWxsIHdpdGggYSBkdXBs
aWNhdGUgb2YgbGVmdFswXSB0byBhdm9pZCBuZWVkaW5nIHRvCi0gIC8vIG1hdGVyaWFsaXplIGEg
emVybzoKLSAgLy8gWyBsZWZ0WzFdLCBsZWZ0WzJdLCBsZWZ0WzNdLCB4IF0KLSAgbDEgPSB2ZXh0
X3UxNihsMCwgbDAsIDEpOwotICAvLyBbIGFib3ZlWy0xXSwgbGVmdFswXSwgbGVmdFsxXSwgbGVm
dFsyXSBdCi0gIGF6bDAgPSB2ZXh0X3UxNih2bGQxX2R1cF91MTYoYWJvdmUgLSAxKSwgbDAsIDMp
OwotCi0gIGQwID0gdnJoYWRkX3UxNihhemwwLCBsMCk7Ci0gIGQxID0gdnJoYWRkX3UxNih2aGFk
ZF91MTYobDBheiwgYTApLCBheik7Ci0gIGQyID0gdnJoYWRkX3UxNih2aGFkZF91MTYoYXpsMCwg
bDEpLCBsMCk7Ci0KLSAgZDIwX2xvID0gdnppcF91MTYodnJldjY0X3UxNihkMiksIHZyZXY2NF91
MTYoZDApKS52YWxbMF07Ci0gIGQyMF9oaSA9IHZ6aXBfdTE2KHZyZXY2NF91MTYoZDIpLCB2cmV2
NjRfdTE2KGQwKSkudmFsWzFdOwotCi0gIC8vIEluY3JlbWVudGFsbHkgc2hpZnQgbW9yZSBlbGVt
ZW50cyBmcm9tIGQwL2QyIHJldmVyc2VkIGludG8gZDE6Ci0gIC8vIHN0cmlkZT0wIFsgZDBbMF0s
IGQxWzBdLCBkMVsxXSwgZDFbMl0gXQotICAvLyBzdHJpZGU9MSBbIGQwWzFdLCBkMlswXSwgZDBb
MF0sIGQxWzBdIF0KLSAgLy8gc3RyaWRlPTIgWyBkMFsyXSwgZDJbMV0sIGQwWzFdLCBkMlswXSBd
Ci0gIC8vIHN0cmlkZT0zIFsgZDBbM10sIGQyWzJdLCBkMFsyXSwgZDJbMV0gXQotICB2c3QxX3Ux
Nihkc3QgKyAwICogc3RyaWRlLCB2ZXh0X3UxNihkMjBfaGksIGQxLCAzKSk7Ci0gIHZzdDFfdTE2
KGRzdCArIDEgKiBzdHJpZGUsIHZleHRfdTE2KGQyMF9oaSwgZDEsIDEpKTsKLSAgdnN0MV91MTYo
ZHN0ICsgMiAqIHN0cmlkZSwgdmV4dF91MTYoZDIwX2xvLCBkMjBfaGksIDMpKTsKLSAgdnN0MV91
MTYoZHN0ICsgMyAqIHN0cmlkZSwgdmV4dF91MTYoZDIwX2xvLCBkMjBfaGksIDEpKTsKLX0KLQot
dm9pZCB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQxNl90ICpkc3QsIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2X3QgKmFib3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgdWludDE2eDhfdCBheiwg
YTAsIGwwYXosIGwwLCBsMSwgYXpsMCwgZDAsIGQxLCBkMiwgZDBfcmV2LCBkMl9yZXYsIGQyMF9s
bywKLSAgICAgIGQyMF9oaTsKLSAgKHZvaWQpYmQ7Ci0KLSAgYXogPSB2bGQxcV91MTYoYWJvdmUg
LSAxKTsKLSAgYTAgPSB2bGQxcV91MTYoYWJvdmUgKyAwKTsKLSAgLy8gWyBsZWZ0WzBdLCBhYm92
ZVstMV0sIC4uLiAsIGFib3ZlWzVdIF0KLSAgbDBheiA9IHZleHRxX3UxNih2bGQxcV9kdXBfdTE2
KGxlZnQpLCBheiwgNyk7Ci0KLSAgbDAgPSB2bGQxcV91MTYobGVmdCk7Ci0gIC8vIFRoZSBsYXN0
IGxhbmUgaGVyZSBpcyB1bnVzZWQsIHJlYWRpbmcgbGVmdFs4XSBjb3VsZCBjYXVzZSBhIGJ1ZmZl
cgotICAvLyBvdmVyLXJlYWQsIHNvIGp1c3QgZmlsbCB3aXRoIGEgZHVwbGljYXRlIG9mIGxlZnRb
MF0gdG8gYXZvaWQgbmVlZGluZyB0bwotICAvLyBtYXRlcmlhbGl6ZSBhIHplcm86Ci0gIC8vIFsg
bGVmdFsxXSwgLi4uICwgbGVmdFs3XSwgeCBdCi0gIGwxID0gdmV4dHFfdTE2KGwwLCBsMCwgMSk7
Ci0gIC8vIFsgYWJvdmVbLTFdLCBsZWZ0WzBdLCAuLi4gLCBsZWZ0WzZdIF0KLSAgYXpsMCA9IHZl
eHRxX3UxNih2bGQxcV9kdXBfdTE2KGFib3ZlIC0gMSksIGwwLCA3KTsKLQotICAvLyBkMFswXSA9
IEFWRzIoYWJvdmVbLTFdLCBsZWZ0WzBdKQotICAvLyBkMFsxXSA9IEFWRzIobGVmdFswXSwgbGVm
dFsxXSkKLSAgLy8gLi4uCi0gIC8vIGQwWzddID0gQVZHMihsZWZ0WzZdLCBsZWZ0WzddKQotICBk
MCA9IHZyaGFkZHFfdTE2KGF6bDAsIGwwKTsKLQotICAvLyBkMVswXSA9IEFWRzMobGVmdFswXSwg
YWJvdmVbLTFdLCBhYm92ZVswXSkKLSAgLy8gZDFbMV0gPSBBVkczKGFib3ZlWy0xXSwgYWJvdmVb
MF0sIGFib3ZlWzFdKQotICAvLyAuLi4KLSAgLy8gZDFbN10gPSBBVkczKGFib3ZlWzVdLCBhYm92
ZVs2XSwgYWJvdmVbN10pCi0gIGQxID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihsMGF6LCBhMCks
IGF6KTsKLQotICAvLyBkMlswXSA9IEFWRzMoYWJvdmVbLTFdLCBsZWZ0WzBdLCBsZWZ0WzFdKQot
ICAvLyBkMlsxXSA9IEFWRzMobGVmdFswXSwgbGVmdFsxXSwgbGVmdFsyXSkKLSAgLy8gLi4uCi0g
IC8vIGQyWzddID0gQVZHMyhsZWZ0WzZdLCBsZWZ0WzddLCBsZWZ0WzhdKQotICBkMiA9IHZyaGFk
ZHFfdTE2KHZoYWRkcV91MTYoYXpsMCwgbDEpLCBsMCk7Ci0KLSAgLy8gVGhlIGV4dCBpbnN0cnVj
dGlvbiBzaGlmdHMgZWxlbWVudHMgaW4gZnJvbSB0aGUgZW5kIG9mIHRoZSB2ZWN0b3IgcmF0aGVy
Ci0gIC8vIHRoYW4gdGhlIHN0YXJ0LCBzbyByZXZlcnNlIHRoZSB2ZWN0b3JzIHRvIHB1dCB0aGUg
ZWxlbWVudHMgdG8gYmUgc2hpZnRlZAotICAvLyBpbiBhdCB0aGUgZW5kOgotICBkMF9yZXYgPSB2
cmV2NjRxX3UxNih2ZXh0cV91MTYoZDAsIGQwLCA0KSk7Ci0gIGQyX3JldiA9IHZyZXY2NHFfdTE2
KHZleHRxX3UxNihkMiwgZDIsIDQpKTsKLQotICBkMjBfbG8gPSB2emlwcV91MTYoZDJfcmV2LCBk
MF9yZXYpLnZhbFswXTsKLSAgZDIwX2hpID0gdnppcHFfdTE2KGQyX3JldiwgZDBfcmV2KS52YWxb
MV07Ci0KLSAgLy8gSW5jcmVtZW50YWxseSBzaGlmdCBtb3JlIGVsZW1lbnRzIGZyb20gZDAvZDIg
cmV2ZXJzZWQgaW50byBkMToKLSAgLy8gc3RyaWRlPTAgWyBkMFswXSwgZDFbMF0sIGQxWzFdLCBk
MVsyXSwgZDFbM10sIGQxWzRdLCBkMVs1XSwgZDFbNl0gXQotICAvLyBzdHJpZGU9MSBbIGQwWzFd
LCBkMlswXSwgZDBbMF0sIGQxWzBdLCBkMVsxXSwgZDFbMl0sIGQxWzNdLCBkMVs0XSBdCi0gIC8v
IHN0cmlkZT0yIFsgZDBbMl0sIGQyWzFdLCBkMFsxXSwgZDJbMF0sIGQwWzBdLCBkMVswXSwgZDFb
MV0sIGQxWzJdIF0KLSAgLy8gc3RyaWRlPTMgWyBkMFszXSwgZDJbMl0sIGQwWzJdLCBkMlsxXSwg
ZDBbMV0sIGQyWzBdLCBkMFswXSwgZDFbMF0gXQotICAvLyBzdHJpZGU9NCBbIGQwWzRdLCBkMlsz
XSwgZDBbM10sIGQyWzJdLCBkMFsyXSwgZDJbMV0sIGQwWzFdLCBkMlswXSBdCi0gIC8vIHN0cmlk
ZT01IFsgZDBbNV0sIGQyWzRdLCBkMFs0XSwgZDJbM10sIGQwWzNdLCBkMlsyXSwgZDBbMl0sIGQy
WzFdIF0KLSAgLy8gc3RyaWRlPTYgWyBkMFs2XSwgZDJbNV0sIGQwWzVdLCBkMls0XSwgZDBbNF0s
IGQyWzNdLCBkMFszXSwgZDJbMl0gXQotICAvLyBzdHJpZGU9NyBbIGQwWzddLCBkMls2XSwgZDBb
Nl0sIGQyWzVdLCBkMFs1XSwgZDJbNF0sIGQwWzRdLCBkMlszXSBdCi0gIHZzdDFxX3UxNihkc3Qg
KyAwICogc3RyaWRlLCB2ZXh0cV91MTYoZDIwX2hpLCBkMSwgNykpOwotICB2c3QxcV91MTYoZHN0
ICsgMSAqIHN0cmlkZSwgdmV4dHFfdTE2KGQyMF9oaSwgZDEsIDUpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDIgKiBzdHJpZGUsIHZleHRxX3UxNihkMjBfaGksIGQxLCAzKSk7Ci0gIHZzdDFxX3UxNihk
c3QgKyAzICogc3RyaWRlLCB2ZXh0cV91MTYoZDIwX2hpLCBkMSwgMSkpOwotICB2c3QxcV91MTYo
ZHN0ICsgNCAqIHN0cmlkZSwgdmV4dHFfdTE2KGQyMF9sbywgZDIwX2hpLCA3KSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyA1ICogc3RyaWRlLCB2ZXh0cV91MTYoZDIwX2xvLCBkMjBfaGksIDUpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDYgKiBzdHJpZGUsIHZleHRxX3UxNihkMjBfbG8sIGQyMF9oaSwgMykp
OwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSwgdmV4dHFfdTE2KGQyMF9sbywgZDIwX2hp
LCAxKSk7Ci19Ci0KLXZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVp
bnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7
Ci0gIC8vIFNlZSB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzh4OF9uZW9uIGZvciBkZXRhaWxz
IG9uIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAgdWludDE2eDhfdCBheiwgYTAsIGE2LCBhNywgYTgs
IGwwYXosIGwwLCBsMSwgbDcsIGw4LCBsOSwgYXpsMCwgZDBbMl0sIGQxWzJdLAotICAgICAgZDJb
Ml0sIGQyMFs0XTsKLSAgKHZvaWQpYmQ7Ci0KLSAgYXogPSB2bGQxcV91MTYoYWJvdmUgLSAxKTsK
LSAgYTAgPSB2bGQxcV91MTYoYWJvdmUgKyAwKTsKLSAgYTYgPSB2bGQxcV91MTYoYWJvdmUgKyA2
KTsKLSAgYTcgPSB2bGQxcV91MTYoYWJvdmUgKyA3KTsKLSAgYTggPSB2bGQxcV91MTYoYWJvdmUg
KyA4KTsKLSAgLy8gWyBsZWZ0WzBdLCBhYm92ZVstMV0sIC4uLiAsIGFib3ZlWzEzXSBdCi0gIGww
YXogPSB2ZXh0cV91MTYodmxkMXFfZHVwX3UxNihsZWZ0KSwgYXosIDcpOwotCi0gIGwwID0gdmxk
MXFfdTE2KGxlZnQgKyAwKTsKLSAgbDEgPSB2bGQxcV91MTYobGVmdCArIDEpOwotICBsNyA9IHZs
ZDFxX3UxNihsZWZ0ICsgNyk7Ci0gIGw4ID0gdmxkMXFfdTE2KGxlZnQgKyA4KTsKLSAgLy8gVGhl
IGxhc3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVhZGluZyBsZWZ0WzE2XSBjb3VsZCBjYXVzZSBh
IGJ1ZmZlcgotICAvLyBvdmVyLXJlYWQsIHNvIGp1c3QgZmlsbCB3aXRoIGEgZHVwbGljYXRlIG9m
IGxlZnRbOF0gdG8gYXZvaWQgbmVlZGluZyB0bwotICAvLyBtYXRlcmlhbGl6ZSBhIHplcm86Ci0g
IC8vIFsgbGVmdFs5XSwgLi4uICwgbGVmdFsxNV0sIHggXQotICBsOSA9IHZleHRxX3UxNihsOCwg
bDgsIDEpOwotICAvLyBbIGFib3ZlWy0xXSwgbGVmdFswXSwgLi4uICwgbGVmdFsxNF0gXQotICBh
emwwID0gdmV4dHFfdTE2KHZsZDFxX2R1cF91MTYoYWJvdmUgLSAxKSwgbDAsIDcpOwotCi0gIGQw
WzBdID0gdnJoYWRkcV91MTYoYXpsMCwgbDApOwotICBkMFsxXSA9IHZyaGFkZHFfdTE2KGw3LCBs
OCk7Ci0gIGQxWzBdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihsMGF6LCBhMCksIGF6KTsKLSAg
ZDFbMV0gPSB2cmhhZGRxX3UxNih2aGFkZHFfdTE2KGE2LCBhOCksIGE3KTsKLSAgZDJbMF0gPSB2
cmhhZGRxX3UxNih2aGFkZHFfdTE2KGF6bDAsIGwxKSwgbDApOwotICBkMlsxXSA9IHZyaGFkZHFf
dTE2KHZoYWRkcV91MTYobDcsIGw5KSwgbDgpOwotCi0gIGQwWzBdID0gdnJldjY0cV91MTYodmV4
dHFfdTE2KGQwWzBdLCBkMFswXSwgNCkpOwotICBkMFsxXSA9IHZyZXY2NHFfdTE2KHZleHRxX3Ux
NihkMFsxXSwgZDBbMV0sIDQpKTsKLSAgZDJbMF0gPSB2cmV2NjRxX3UxNih2ZXh0cV91MTYoZDJb
MF0sIGQyWzBdLCA0KSk7Ci0gIGQyWzFdID0gdnJldjY0cV91MTYodmV4dHFfdTE2KGQyWzFdLCBk
MlsxXSwgNCkpOwotCi0gIGQyMFswXSA9IHZ6aXBxX3UxNihkMlsxXSwgZDBbMV0pLnZhbFswXTsK
LSAgZDIwWzFdID0gdnppcHFfdTE2KGQyWzFdLCBkMFsxXSkudmFsWzFdOwotICBkMjBbMl0gPSB2
emlwcV91MTYoZDJbMF0sIGQwWzBdKS52YWxbMF07Ci0gIGQyMFszXSA9IHZ6aXBxX3UxNihkMlsw
XSwgZDBbMF0pLnZhbFsxXTsKLQotICB2c3QxcV91MTYoZHN0ICsgMCAqIHN0cmlkZSArIDAsIHZl
eHRxX3UxNihkMjBbM10sIGQxWzBdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMSAq
IHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbM10sIGQxWzBdLCA1KSk7Ci0gIHZzdDFxX3UxNihk
c3QgKyAxICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgNSkpOwotICB2c3Qx
cV91MTYoZHN0ICsgMiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbM10sIGQxWzBdLCAzKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAyICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsx
XSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBb
M10sIGQxWzBdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsgOCwgdmV4dHFf
dTE2KGQxWzBdLCBkMVsxXSwgMSkpOwotCi0gIHZzdDFxX3UxNihkc3QgKyA0ICogc3RyaWRlICsg
MCwgdmV4dHFfdTE2KGQyMFsyXSwgZDIwWzNdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA0ICog
c3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFszXSwgZDFbMF0sIDcpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzJdLCBkMjBbM10sIDUpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDUgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDIwWzNdLCBkMVswXSwgNSkp
OwotICB2c3QxcV91MTYoZHN0ICsgNiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbMl0sIGQy
MFszXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgNiAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihk
MjBbM10sIGQxWzBdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgMCwgdmV4
dHFfdTE2KGQyMFsyXSwgZDIwWzNdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGQyMFszXSwgZDFbMF0sIDEpKTsKLQotICB2c3QxcV91MTYoZHN0ICsg
OCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbMV0sIGQyMFsyXSwgNykpOwotICB2c3QxcV91
MTYoZHN0ICsgOCAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBbMl0sIGQyMFszXSwgNykpOwot
ICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbMV0sIGQyMFsy
XSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBb
Ml0sIGQyMFszXSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTAgKiBzdHJpZGUgKyAwLCB2ZXh0
cV91MTYoZDIwWzFdLCBkMjBbMl0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEwICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGQyMFsyXSwgZDIwWzNdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAx
MSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbMV0sIGQyMFsyXSwgMSkpOwotICB2c3QxcV91
MTYoZHN0ICsgMTEgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDIwWzJdLCBkMjBbM10sIDEpKTsK
LQotICB2c3QxcV91MTYoZHN0ICsgMTIgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzBdLCBk
MjBbMV0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEyICogc3RyaWRlICsgOCwgdmV4dHFfdTE2
KGQyMFsxXSwgZDIwWzJdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSArIDAs
IHZleHRxX3UxNihkMjBbMF0sIGQyMFsxXSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTMgKiBz
dHJpZGUgKyA4LCB2ZXh0cV91MTYoZDIwWzFdLCBkMjBbMl0sIDUpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDE0ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQyMFswXSwgZDIwWzFdLCAzKSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAxNCAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBbMV0sIGQyMFsyXSwg
MykpOwotICB2c3QxcV91MTYoZHN0ICsgMTUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzBd
LCBkMjBbMV0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE1ICogc3RyaWRlICsgOCwgdmV4dHFf
dTE2KGQyMFsxXSwgZDIwWzJdLCAxKSk7Ci19Ci0KLXZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRp
Y3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJvdmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZf
dCAqbGVmdCwgaW50IGJkKSB7Ci0gIC8vIFNlZSB2cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzh4
OF9uZW9uIGZvciBkZXRhaWxzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAgdWludDE2eDhfdCBh
eiwgYTAsIGE2LCBhNywgYTgsIGExNCwgYTE1LCBhMTYsIGEyMiwgYTIzLCBhMjQsIGwwYXosIGww
LCBsMSwgbDcsCi0gICAgICBsOCwgbDksIGwxNSwgbDE2LCBsMTcsIGwyMywgbDI0LCBsMjUsIGF6
bDAsIGQwWzRdLCBkMVs0XSwgZDJbNF0sIGQyMFs4XTsKLSAgKHZvaWQpYmQ7Ci0KLSAgYXogPSB2
bGQxcV91MTYoYWJvdmUgLSAxKTsKLSAgYTAgPSB2bGQxcV91MTYoYWJvdmUgKyAwKTsKLSAgYTYg
PSB2bGQxcV91MTYoYWJvdmUgKyA2KTsKLSAgYTcgPSB2bGQxcV91MTYoYWJvdmUgKyA3KTsKLSAg
YTggPSB2bGQxcV91MTYoYWJvdmUgKyA4KTsKLSAgYTE0ID0gdmxkMXFfdTE2KGFib3ZlICsgMTQp
OwotICBhMTUgPSB2bGQxcV91MTYoYWJvdmUgKyAxNSk7Ci0gIGExNiA9IHZsZDFxX3UxNihhYm92
ZSArIDE2KTsKLSAgYTIyID0gdmxkMXFfdTE2KGFib3ZlICsgMjIpOwotICBhMjMgPSB2bGQxcV91
MTYoYWJvdmUgKyAyMyk7Ci0gIGEyNCA9IHZsZDFxX3UxNihhYm92ZSArIDI0KTsKLSAgLy8gWyBs
ZWZ0WzBdLCBhYm92ZVstMV0sIC4uLiAsIGFib3ZlWzEzXSBdCi0gIGwwYXogPSB2ZXh0cV91MTYo
dmxkMXFfZHVwX3UxNihsZWZ0KSwgYXosIDcpOwotCi0gIGwwID0gdmxkMXFfdTE2KGxlZnQgKyAw
KTsKLSAgbDEgPSB2bGQxcV91MTYobGVmdCArIDEpOwotICBsNyA9IHZsZDFxX3UxNihsZWZ0ICsg
Nyk7Ci0gIGw4ID0gdmxkMXFfdTE2KGxlZnQgKyA4KTsKLSAgbDkgPSB2bGQxcV91MTYobGVmdCAr
IDkpOwotICBsMTUgPSB2bGQxcV91MTYobGVmdCArIDE1KTsKLSAgbDE2ID0gdmxkMXFfdTE2KGxl
ZnQgKyAxNik7Ci0gIGwxNyA9IHZsZDFxX3UxNihsZWZ0ICsgMTcpOwotICBsMjMgPSB2bGQxcV91
MTYobGVmdCArIDIzKTsKLSAgbDI0ID0gdmxkMXFfdTE2KGxlZnQgKyAyNCk7Ci0gIC8vIFRoZSBs
YXN0IGxhbmUgaGVyZSBpcyB1bnVzZWQsIHJlYWRpbmcgbGVmdFszMl0gY291bGQgY2F1c2UgYSBi
dWZmZXIKLSAgLy8gb3Zlci1yZWFkLCBzbyBqdXN0IGZpbGwgd2l0aCBhIGR1cGxpY2F0ZSBvZiBs
ZWZ0WzI0XSB0byBhdm9pZCBuZWVkaW5nIHRvCi0gIC8vIG1hdGVyaWFsaXplIGEgemVybzoKLSAg
Ly8gWyBsZWZ0WzI1XSwgLi4uICwgbGVmdFszMV0sIHggXQotICBsMjUgPSB2ZXh0cV91MTYobDI0
LCBsMjQsIDEpOwotICAvLyBbIGFib3ZlWy0xXSwgbGVmdFswXSwgLi4uICwgbGVmdFsxNF0gXQot
ICBhemwwID0gdmV4dHFfdTE2KHZsZDFxX2R1cF91MTYoYWJvdmUgLSAxKSwgbDAsIDcpOwotCi0g
IGQwWzBdID0gdnJoYWRkcV91MTYoYXpsMCwgbDApOwotICBkMFsxXSA9IHZyaGFkZHFfdTE2KGw3
LCBsOCk7Ci0gIGQwWzJdID0gdnJoYWRkcV91MTYobDE1LCBsMTYpOwotICBkMFszXSA9IHZyaGFk
ZHFfdTE2KGwyMywgbDI0KTsKLQotICBkMVswXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYobDBh
eiwgYTApLCBheik7Ci0gIGQxWzFdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihhNiwgYTgpLCBh
Nyk7Ci0gIGQxWzJdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihhMTQsIGExNiksIGExNSk7Ci0g
IGQxWzNdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihhMjIsIGEyNCksIGEyMyk7Ci0KLSAgZDJb
MF0gPSB2cmhhZGRxX3UxNih2aGFkZHFfdTE2KGF6bDAsIGwxKSwgbDApOwotICBkMlsxXSA9IHZy
aGFkZHFfdTE2KHZoYWRkcV91MTYobDcsIGw5KSwgbDgpOwotICBkMlsyXSA9IHZyaGFkZHFfdTE2
KHZoYWRkcV91MTYobDE1LCBsMTcpLCBsMTYpOwotICBkMlszXSA9IHZyaGFkZHFfdTE2KHZoYWRk
cV91MTYobDIzLCBsMjUpLCBsMjQpOwotCi0gIGQwWzBdID0gdnJldjY0cV91MTYodmV4dHFfdTE2
KGQwWzBdLCBkMFswXSwgNCkpOwotICBkMFsxXSA9IHZyZXY2NHFfdTE2KHZleHRxX3UxNihkMFsx
XSwgZDBbMV0sIDQpKTsKLSAgZDBbMl0gPSB2cmV2NjRxX3UxNih2ZXh0cV91MTYoZDBbMl0sIGQw
WzJdLCA0KSk7Ci0gIGQwWzNdID0gdnJldjY0cV91MTYodmV4dHFfdTE2KGQwWzNdLCBkMFszXSwg
NCkpOwotICBkMlswXSA9IHZyZXY2NHFfdTE2KHZleHRxX3UxNihkMlswXSwgZDJbMF0sIDQpKTsK
LSAgZDJbMV0gPSB2cmV2NjRxX3UxNih2ZXh0cV91MTYoZDJbMV0sIGQyWzFdLCA0KSk7Ci0gIGQy
WzJdID0gdnJldjY0cV91MTYodmV4dHFfdTE2KGQyWzJdLCBkMlsyXSwgNCkpOwotICBkMlszXSA9
IHZyZXY2NHFfdTE2KHZleHRxX3UxNihkMlszXSwgZDJbM10sIDQpKTsKLQotICBkMjBbMF0gPSB2
emlwcV91MTYoZDJbM10sIGQwWzNdKS52YWxbMF07Ci0gIGQyMFsxXSA9IHZ6aXBxX3UxNihkMlsz
XSwgZDBbM10pLnZhbFsxXTsKLSAgZDIwWzJdID0gdnppcHFfdTE2KGQyWzJdLCBkMFsyXSkudmFs
WzBdOwotICBkMjBbM10gPSB2emlwcV91MTYoZDJbMl0sIGQwWzJdKS52YWxbMV07Ci0gIGQyMFs0
XSA9IHZ6aXBxX3UxNihkMlsxXSwgZDBbMV0pLnZhbFswXTsKLSAgZDIwWzVdID0gdnppcHFfdTE2
KGQyWzFdLCBkMFsxXSkudmFsWzFdOwotICBkMjBbNl0gPSB2emlwcV91MTYoZDJbMF0sIGQwWzBd
KS52YWxbMF07Ci0gIGQyMFs3XSA9IHZ6aXBxX3UxNihkMlswXSwgZDBbMF0pLnZhbFsxXTsKLQot
ICB2c3QxcV91MTYoZHN0ICsgMCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbN10sIGQxWzBd
LCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzBd
LCBkMVsxXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
MTYoZDFbMV0sIGQxWzJdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICogc3RyaWRlICsgMjQs
IHZleHRxX3UxNihkMVsyXSwgZDFbM10sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzddLCBkMVswXSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsg
MSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDUpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDEgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgNSkpOwotICB2
c3QxcV91MTYoZHN0ICsgMSAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDFbMl0sIGQxWzNdLCA1
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQyMFs3XSwg
ZDFbMF0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYo
ZDFbMF0sIGQxWzFdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyICogc3RyaWRlICsgMTYsIHZl
eHRxX3UxNihkMVsxXSwgZDFbMl0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIgKiBzdHJpZGUg
KyAyNCwgdmV4dHFfdTE2KGQxWzJdLCBkMVszXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMyAq
IHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbN10sIGQxWzBdLCAxKSk7Ci0gIHZzdDFxX3UxNihk
c3QgKyAzICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgMSkpOwotICB2c3Qx
cV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDFbMV0sIGQxWzJdLCAxKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMVsyXSwgZDFb
M10sIDEpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgNCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihk
MjBbNl0sIGQyMFs3XSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgNCAqIHN0cmlkZSArIDgsIHZl
eHRxX3UxNihkMjBbN10sIGQxWzBdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA0ICogc3RyaWRl
ICsgMTYsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDQg
KiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgNykpOwotICB2c3QxcV91MTYo
ZHN0ICsgNSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbNl0sIGQyMFs3XSwgNSkpOwotICB2
c3QxcV91MTYoZHN0ICsgNSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBbN10sIGQxWzBdLCA1
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA1ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMVswXSwg
ZDFbMV0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDUgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2
KGQxWzFdLCBkMVsyXSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgNiAqIHN0cmlkZSArIDAsIHZl
eHRxX3UxNihkMjBbNl0sIGQyMFs3XSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgNiAqIHN0cmlk
ZSArIDgsIHZleHRxX3UxNihkMjBbN10sIGQxWzBdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA2
ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMVswXSwgZDFbMV0sIDMpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDYgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgMykpOwotICB2
c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbNl0sIGQyMFs3XSwg
MSkpOwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBbN10s
IGQxWzBdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgMTYsIHZleHRxX3Ux
NihkMVswXSwgZDFbMV0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDcgKiBzdHJpZGUgKyAyNCwg
dmV4dHFfdTE2KGQxWzFdLCBkMVsyXSwgMSkpOwotCi0gIHZzdDFxX3UxNihkc3QgKyA4ICogc3Ry
aWRlICsgMCwgdmV4dHFfdTE2KGQyMFs1XSwgZDIwWzZdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyA4ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFs2XSwgZDIwWzddLCA3KSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyA4ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMjBbN10sIGQxWzBdLCA3KSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyA4ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMVswXSwgZDFb
MV0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDkgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIw
WzVdLCBkMjBbNl0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDkgKiBzdHJpZGUgKyA4LCB2ZXh0
cV91MTYoZDIwWzZdLCBkMjBbN10sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDkgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTE2KGQyMFs3XSwgZDFbMF0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDkg
KiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsxXSwgNSkpOwotICB2c3QxcV91MTYo
ZHN0ICsgMTAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzVdLCBkMjBbNl0sIDMpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDEwICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFs2XSwgZDIwWzdd
LCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIw
WzddLCBkMVswXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMTAgKiBzdHJpZGUgKyAyNCwgdmV4
dHFfdTE2KGQxWzBdLCBkMVsxXSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMTEgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91MTYoZDIwWzVdLCBkMjBbNl0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEx
ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFs2XSwgZDIwWzddLCAxKSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxMSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIwWzddLCBkMVswXSwgMSkpOwot
ICB2c3QxcV91MTYoZHN0ICsgMTEgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQxWzBdLCBkMVsx
XSwgMSkpOwotCi0gIHZzdDFxX3UxNihkc3QgKyAxMiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihk
MjBbNF0sIGQyMFs1XSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMTIgKiBzdHJpZGUgKyA4LCB2
ZXh0cV91MTYoZDIwWzVdLCBkMjBbNl0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEyICogc3Ry
aWRlICsgMTYsIHZleHRxX3UxNihkMjBbNl0sIGQyMFs3XSwgNykpOwotICB2c3QxcV91MTYoZHN0
ICsgMTIgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQyMFs3XSwgZDFbMF0sIDcpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDEzICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQyMFs0XSwgZDIwWzVdLCA1
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBbNV0s
IGQyMFs2XSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTMgKiBzdHJpZGUgKyAxNiwgdmV4dHFf
dTE2KGQyMFs2XSwgZDIwWzddLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSAr
IDI0LCB2ZXh0cV91MTYoZDIwWzddLCBkMVswXSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTQg
KiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzRdLCBkMjBbNV0sIDMpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDE0ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFs1XSwgZDIwWzZdLCAzKSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAxNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIwWzZdLCBkMjBb
N10sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE0ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihk
MjBbN10sIGQxWzBdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNSAqIHN0cmlkZSArIDAsIHZl
eHRxX3UxNihkMjBbNF0sIGQyMFs1XSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTUgKiBzdHJp
ZGUgKyA4LCB2ZXh0cV91MTYoZDIwWzVdLCBkMjBbNl0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDE1ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMjBbNl0sIGQyMFs3XSwgMSkpOwotICB2c3Qx
cV91MTYoZHN0ICsgMTUgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQyMFs3XSwgZDFbMF0sIDEp
KTsKLQotICB2c3QxcV91MTYoZHN0ICsgMTYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzNd
LCBkMjBbNF0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE2ICogc3RyaWRlICsgOCwgdmV4dHFf
dTE2KGQyMFs0XSwgZDIwWzVdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNiAqIHN0cmlkZSAr
IDE2LCB2ZXh0cV91MTYoZDIwWzVdLCBkMjBbNl0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE2
ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMjBbNl0sIGQyMFs3XSwgNykpOwotICB2c3QxcV91
MTYoZHN0ICsgMTcgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzNdLCBkMjBbNF0sIDUpKTsK
LSAgdnN0MXFfdTE2KGRzdCArIDE3ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFs0XSwgZDIw
WzVdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYo
ZDIwWzVdLCBkMjBbNl0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE3ICogc3RyaWRlICsgMjQs
IHZleHRxX3UxNihkMjBbNl0sIGQyMFs3XSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMTggKiBz
dHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzNdLCBkMjBbNF0sIDMpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDE4ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFs0XSwgZDIwWzVdLCAzKSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAxOCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIwWzVdLCBkMjBbNl0s
IDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE4ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMjBb
Nl0sIGQyMFs3XSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMTkgKiBzdHJpZGUgKyAwLCB2ZXh0
cV91MTYoZDIwWzNdLCBkMjBbNF0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE5ICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGQyMFs0XSwgZDIwWzVdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAx
OSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIwWzVdLCBkMjBbNl0sIDEpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDE5ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMjBbNl0sIGQyMFs3XSwgMSkp
OwotCi0gIHZzdDFxX3UxNihkc3QgKyAyMCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbMl0s
IGQyMFszXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMjAgKiBzdHJpZGUgKyA4LCB2ZXh0cV91
MTYoZDIwWzNdLCBkMjBbNF0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIwICogc3RyaWRlICsg
MTYsIHZleHRxX3UxNihkMjBbNF0sIGQyMFs1XSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMjAg
KiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQyMFs1XSwgZDIwWzZdLCA3KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAyMSAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihkMjBbMl0sIGQyMFszXSwgNSkpOwot
ICB2c3QxcV91MTYoZHN0ICsgMjEgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDIwWzNdLCBkMjBb
NF0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIxICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihk
MjBbNF0sIGQyMFs1XSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMjEgKiBzdHJpZGUgKyAyNCwg
dmV4dHFfdTE2KGQyMFs1XSwgZDIwWzZdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMiAqIHN0
cmlkZSArIDAsIHZleHRxX3UxNihkMjBbMl0sIGQyMFszXSwgMykpOwotICB2c3QxcV91MTYoZHN0
ICsgMjIgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoZDIwWzNdLCBkMjBbNF0sIDMpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDIyICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMjBbNF0sIGQyMFs1XSwg
MykpOwotICB2c3QxcV91MTYoZHN0ICsgMjIgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQyMFs1
XSwgZDIwWzZdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMyAqIHN0cmlkZSArIDAsIHZleHRx
X3UxNihkMjBbMl0sIGQyMFszXSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMjMgKiBzdHJpZGUg
KyA4LCB2ZXh0cV91MTYoZDIwWzNdLCBkMjBbNF0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIz
ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihkMjBbNF0sIGQyMFs1XSwgMSkpOwotICB2c3QxcV91
MTYoZHN0ICsgMjMgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGQyMFs1XSwgZDIwWzZdLCAxKSk7
Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDI0ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQyMFsxXSwg
ZDIwWzJdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNCAqIHN0cmlkZSArIDgsIHZleHRxX3Ux
NihkMjBbMl0sIGQyMFszXSwgNykpOwotICB2c3QxcV91MTYoZHN0ICsgMjQgKiBzdHJpZGUgKyAx
NiwgdmV4dHFfdTE2KGQyMFszXSwgZDIwWzRdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNCAq
IHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDIwWzRdLCBkMjBbNV0sIDcpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDI1ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGQyMFsxXSwgZDIwWzJdLCA1KSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAyNSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBbMl0sIGQyMFsz
XSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMjUgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQy
MFszXSwgZDIwWzRdLCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNSAqIHN0cmlkZSArIDI0LCB2
ZXh0cV91MTYoZDIwWzRdLCBkMjBbNV0sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI2ICogc3Ry
aWRlICsgMCwgdmV4dHFfdTE2KGQyMFsxXSwgZDIwWzJdLCAzKSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAyNiAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihkMjBbMl0sIGQyMFszXSwgMykpOwotICB2c3Qx
cV91MTYoZHN0ICsgMjYgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQyMFszXSwgZDIwWzRdLCAz
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNiAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDIwWzRd
LCBkMjBbNV0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI3ICogc3RyaWRlICsgMCwgdmV4dHFf
dTE2KGQyMFsxXSwgZDIwWzJdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNyAqIHN0cmlkZSAr
IDgsIHZleHRxX3UxNihkMjBbMl0sIGQyMFszXSwgMSkpOwotICB2c3QxcV91MTYoZHN0ICsgMjcg
KiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGQyMFszXSwgZDIwWzRdLCAxKSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAyNyAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoZDIwWzRdLCBkMjBbNV0sIDEpKTsK
LQotICB2c3QxcV91MTYoZHN0ICsgMjggKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzBdLCBk
MjBbMV0sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI4ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2
KGQyMFsxXSwgZDIwWzJdLCA3KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOCAqIHN0cmlkZSArIDE2
LCB2ZXh0cV91MTYoZDIwWzJdLCBkMjBbM10sIDcpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI4ICog
c3RyaWRlICsgMjQsIHZleHRxX3UxNihkMjBbM10sIGQyMFs0XSwgNykpOwotICB2c3QxcV91MTYo
ZHN0ICsgMjkgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzBdLCBkMjBbMV0sIDUpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDI5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFsxXSwgZDIwWzJd
LCA1KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIw
WzJdLCBkMjBbM10sIDUpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI5ICogc3RyaWRlICsgMjQsIHZl
eHRxX3UxNihkMjBbM10sIGQyMFs0XSwgNSkpOwotICB2c3QxcV91MTYoZHN0ICsgMzAgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91MTYoZDIwWzBdLCBkMjBbMV0sIDMpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDMwICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGQyMFsxXSwgZDIwWzJdLCAzKSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAzMCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIwWzJdLCBkMjBbM10sIDMp
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDMwICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMjBbM10s
IGQyMFs0XSwgMykpOwotICB2c3QxcV91MTYoZHN0ICsgMzEgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
MTYoZDIwWzBdLCBkMjBbMV0sIDEpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMxICogc3RyaWRlICsg
OCwgdmV4dHFfdTE2KGQyMFsxXSwgZDIwWzJdLCAxKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzMSAq
IHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoZDIwWzJdLCBkMjBbM10sIDEpKTsKLSAgdnN0MXFfdTE2
KGRzdCArIDMxICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihkMjBbM10sIGQyMFs0XSwgMSkpOwor
ICB2c3QxcV91MTYoZHN0LCBhYm92ZV9yaWdodCk7CisgIGRzdCArPSA4OworICB2c3QxcV91MTYo
ZHN0LCBhYm92ZV9yaWdodCk7CisgIGRzdCArPSA4OworICB2c3QxcV91MTYoZHN0LCBhYm92ZV9y
aWdodCk7CisgIGRzdCArPSA4OworICB2c3QxcV91MTYoZHN0LCBhYm92ZV9yaWdodCk7CiB9CiAK
IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xODIxLDMxMSArNjk2LDYgQEAgdm9pZCB2cHhf
aGlnaGJkX2QxMzVfcHJlZGljdG9yXzMyeDMyX25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90
IHN0cmlkZSwKIAogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotdm9pZCB2cHhfaGlnaGJkX2Qy
MDdfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmFi
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Nl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgdWludDE2eDRfdCBsMCwgbDEsIGwyLCBsMywgYzAsIGMx
LCBjMDFfbG8sIGMwMV9oaTsKLSAgKHZvaWQpYWJvdmU7Ci0gICh2b2lkKWJkOwotCi0gIGwwID0g
dmxkMV91MTYobGVmdCArIDApOwotICBsMyA9IHZsZDFfZHVwX3UxNihsZWZ0ICsgMyk7Ci0KLSAg
Ly8gWyBsZWZ0WzFdLCBsZWZ0WzJdLCBsZWZ0WzNdLCBsZWZ0WzNdIF0KLSAgbDEgPSB2ZXh0X3Ux
NihsMCwgbDMsIDEpOwotICAvLyBbIGxlZnRbMl0sIGxlZnRbM10sIGxlZnRbM10sIGxlZnRbM10g
XQotICBsMiA9IHZleHRfdTE2KGwwLCBsMywgMik7Ci0KLSAgYzAgPSB2cmhhZGRfdTE2KGwwLCBs
MSk7Ci0gIGMxID0gdnJoYWRkX3UxNih2aGFkZF91MTYobDAsIGwyKSwgbDEpOwotCi0gIGMwMV9s
byA9IHZ6aXBfdTE2KGMwLCBjMSkudmFsWzBdOwotICBjMDFfaGkgPSB2emlwX3UxNihjMCwgYzEp
LnZhbFsxXTsKLQotICAvLyBzdHJpZGU9MCBbIGMwWzBdLCBjMVswXSwgICBjMFsxXSwgICBjMVsx
XSBdCi0gIC8vIHN0cmlkZT0xIFsgYzBbMV0sIGMxWzFdLCAgIGMwWzJdLCAgIGMxWzJdIF0KLSAg
Ly8gc3RyaWRlPTIgWyBjMFsyXSwgYzFbMl0sICAgYzBbM10sICAgYzFbM10gXQotICAvLyBzdHJp
ZGU9MyBbIGMwWzNdLCBjMVszXSwgbGVmdFszXSwgbGVmdFszXSBdCi0gIHZzdDFfdTE2KGRzdCAr
IDAgKiBzdHJpZGUsIGMwMV9sbyk7Ci0gIHZzdDFfdTE2KGRzdCArIDEgKiBzdHJpZGUsIHZleHRf
dTE2KGMwMV9sbywgYzAxX2hpLCAyKSk7Ci0gIHZzdDFfdTE2KGRzdCArIDIgKiBzdHJpZGUsIGMw
MV9oaSk7Ci0gIHZzdDFfdTE2KGRzdCArIDMgKiBzdHJpZGUsIHZleHRfdTE2KGMwMV9oaSwgbDMs
IDIpKTsKLX0KLQotdm9pZCB2cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQx
Nl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKmFib3ZlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgdWlu
dDE2eDhfdCBsMCwgbDEsIGwyLCBsNywgYzAsIGMxLCBjMDFfbG8sIGMwMV9oaTsKLSAgKHZvaWQp
YWJvdmU7Ci0gICh2b2lkKWJkOwotCi0gIGwwID0gdmxkMXFfdTE2KGxlZnQgKyAwKTsKLSAgbDcg
PSB2bGQxcV9kdXBfdTE2KGxlZnQgKyA3KTsKLQotICAvLyBbIGxlZnRbMV0sIGxlZnRbMl0sIGxl
ZnRbM10sIGxlZnRbNF0sIGxlZnRbNV0sIGxlZnRbNl0sIGxlZnRbN10sIGxlZnRbN10gXQotICBs
MSA9IHZleHRxX3UxNihsMCwgbDcsIDEpOwotICAvLyBbIGxlZnRbMl0sIGxlZnRbM10sIGxlZnRb
NF0sIGxlZnRbNV0sIGxlZnRbNl0sIGxlZnRbN10sIGxlZnRbN10sIGxlZnRbN10gXQotICBsMiA9
IHZleHRxX3UxNihsMCwgbDcsIDIpOwotCi0gIGMwID0gdnJoYWRkcV91MTYobDAsIGwxKTsKLSAg
YzEgPSB2cmhhZGRxX3UxNih2aGFkZHFfdTE2KGwwLCBsMiksIGwxKTsKLQotICBjMDFfbG8gPSB2
emlwcV91MTYoYzAsIGMxKS52YWxbMF07Ci0gIGMwMV9oaSA9IHZ6aXBxX3UxNihjMCwgYzEpLnZh
bFsxXTsKLQotICB2c3QxcV91MTYoZHN0ICsgMCAqIHN0cmlkZSwgYzAxX2xvKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDEgKiBzdHJpZGUsIHZleHRxX3UxNihjMDFfbG8sIGMwMV9oaSwgMikpOwotICB2
c3QxcV91MTYoZHN0ICsgMiAqIHN0cmlkZSwgdmV4dHFfdTE2KGMwMV9sbywgYzAxX2hpLCA0KSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlLCB2ZXh0cV91MTYoYzAxX2xvLCBjMDFfaGks
IDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDQgKiBzdHJpZGUsIGMwMV9oaSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyA1ICogc3RyaWRlLCB2ZXh0cV91MTYoYzAxX2hpLCBsNywgMikpOwotICB2c3QxcV91
MTYoZHN0ICsgNiAqIHN0cmlkZSwgdmV4dHFfdTE2KGMwMV9oaSwgbDcsIDQpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDcgKiBzdHJpZGUsIHZleHRxX3UxNihjMDFfaGksIGw3LCA2KSk7Ci19Ci0KLXZv
aWQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIHVpbnQxNng4X3Qg
bDAsIGwxLCBsMiwgbDgsIGw5LCBsMTAsIGwxNSwgYzBbMl0sIGMxWzJdLCBjMDFbNF07Ci0gICh2
b2lkKWFib3ZlOwotICAodm9pZCliZDsKLQotICBsMCA9IHZsZDFxX3UxNihsZWZ0ICsgMCk7Ci0g
IGwxID0gdmxkMXFfdTE2KGxlZnQgKyAxKTsKLSAgbDIgPSB2bGQxcV91MTYobGVmdCArIDIpOwot
ICBsOCA9IHZsZDFxX3UxNihsZWZ0ICsgOCk7Ci0gIGwxNSA9IHZsZDFxX2R1cF91MTYobGVmdCAr
IDE1KTsKLQotICBsOSA9IHZleHRxX3UxNihsOCwgbDE1LCAxKTsKLSAgbDEwID0gdmV4dHFfdTE2
KGw4LCBsMTUsIDIpOwotCi0gIGMwWzBdID0gdnJoYWRkcV91MTYobDAsIGwxKTsKLSAgYzBbMV0g
PSB2cmhhZGRxX3UxNihsOCwgbDkpOwotICBjMVswXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYo
bDAsIGwyKSwgbDEpOwotICBjMVsxXSA9IHZyaGFkZHFfdTE2KHZoYWRkcV91MTYobDgsIGwxMCks
IGw5KTsKLQotICBjMDFbMF0gPSB2emlwcV91MTYoYzBbMF0sIGMxWzBdKS52YWxbMF07Ci0gIGMw
MVsxXSA9IHZ6aXBxX3UxNihjMFswXSwgYzFbMF0pLnZhbFsxXTsKLSAgYzAxWzJdID0gdnppcHFf
dTE2KGMwWzFdLCBjMVsxXSkudmFsWzBdOwotICBjMDFbM10gPSB2emlwcV91MTYoYzBbMV0sIGMx
WzFdKS52YWxbMV07Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDAgKiBzdHJpZGUgKyAwLCBjMDFbMF0p
OwotICB2c3QxcV91MTYoZHN0ICsgMCAqIHN0cmlkZSArIDgsIGMwMVsxXSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVswXSwgYzAxWzFdLCAyKSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyAxICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVsxXSwgYzAxWzJd
LCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVsw
XSwgYzAxWzFdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyICogc3RyaWRlICsgOCwgdmV4dHFf
dTE2KGMwMVsxXSwgYzAxWzJdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzICogc3RyaWRlICsg
MCwgdmV4dHFfdTE2KGMwMVswXSwgYzAxWzFdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAzICog
c3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVsxXSwgYzAxWzJdLCA2KSk7Ci0KLSAgdnN0MXFfdTE2
KGRzdCArIDQgKiBzdHJpZGUgKyAwLCBjMDFbMV0pOwotICB2c3QxcV91MTYoZHN0ICsgNCAqIHN0
cmlkZSArIDgsIGMwMVsyXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA1ICogc3RyaWRlICsgMCwgdmV4
dHFfdTE2KGMwMVsxXSwgYzAxWzJdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA1ICogc3RyaWRl
ICsgOCwgdmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA2
ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVsxXSwgYzAxWzJdLCA0KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyA2ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCA0KSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVsxXSwgYzAxWzJd
LCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA3ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVsy
XSwgYzAxWzNdLCA2KSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDggKiBzdHJpZGUgKyAwLCBjMDFb
Ml0pOwotICB2c3QxcV91MTYoZHN0ICsgOCAqIHN0cmlkZSArIDgsIGMwMVszXSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyA5ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCAyKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyA5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVszXSwgbDE1
LCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjMDFb
Ml0sIGMwMVszXSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgMTAgKiBzdHJpZGUgKyA4LCB2ZXh0
cV91MTYoYzAxWzNdLCBsMTUsIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDExICogc3RyaWRlICsg
MCwgdmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMSAq
IHN0cmlkZSArIDgsIHZleHRxX3UxNihjMDFbM10sIGwxNSwgNikpOwotCi0gIHZzdDFxX3UxNihk
c3QgKyAxMiAqIHN0cmlkZSArIDAsIGMwMVszXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMiAqIHN0
cmlkZSArIDgsIGwxNSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSArIDAsIHZleHRx
X3UxNihjMDFbM10sIGwxNSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMTMgKiBzdHJpZGUgKyA4
LCBsMTUpOwotICB2c3QxcV91MTYoZHN0ICsgMTQgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoYzAx
WzNdLCBsMTUsIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE0ICogc3RyaWRlICsgOCwgbDE1KTsK
LSAgdnN0MXFfdTE2KGRzdCArIDE1ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVszXSwgbDE1
LCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNSAqIHN0cmlkZSArIDgsIGwxNSk7Ci19Ci0KLXZv
aWQgdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQxNl90ICpkc3QsIHB0
cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MTZfdCAqYWJvdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkKSB7Ci0gIHVpbnQxNng4X3Qg
bDAsIGwxLCBsMiwgbDgsIGw5LCBsMTAsIGwxNiwgbDE3LCBsMTgsIGwyNCwgbDI1LCBsMjYsIGwz
MSwgYzBbNF0sCi0gICAgICBjMVs0XSwgYzAxWzhdOwotICAodm9pZClhYm92ZTsKLSAgKHZvaWQp
YmQ7Ci0KLSAgbDAgPSB2bGQxcV91MTYobGVmdCArIDApOwotICBsMSA9IHZsZDFxX3UxNihsZWZ0
ICsgMSk7Ci0gIGwyID0gdmxkMXFfdTE2KGxlZnQgKyAyKTsKLSAgbDggPSB2bGQxcV91MTYobGVm
dCArIDgpOwotICBsOSA9IHZsZDFxX3UxNihsZWZ0ICsgOSk7Ci0gIGwxMCA9IHZsZDFxX3UxNihs
ZWZ0ICsgMTApOwotICBsMTYgPSB2bGQxcV91MTYobGVmdCArIDE2KTsKLSAgbDE3ID0gdmxkMXFf
dTE2KGxlZnQgKyAxNyk7Ci0gIGwxOCA9IHZsZDFxX3UxNihsZWZ0ICsgMTgpOwotICBsMjQgPSB2
bGQxcV91MTYobGVmdCArIDI0KTsKLSAgbDMxID0gdmxkMXFfZHVwX3UxNihsZWZ0ICsgMzEpOwot
Ci0gIGwyNSA9IHZleHRxX3UxNihsMjQsIGwzMSwgMSk7Ci0gIGwyNiA9IHZleHRxX3UxNihsMjQs
IGwzMSwgMik7Ci0KLSAgYzBbMF0gPSB2cmhhZGRxX3UxNihsMCwgbDEpOwotICBjMFsxXSA9IHZy
aGFkZHFfdTE2KGw4LCBsOSk7Ci0gIGMwWzJdID0gdnJoYWRkcV91MTYobDE2LCBsMTcpOwotICBj
MFszXSA9IHZyaGFkZHFfdTE2KGwyNCwgbDI1KTsKLSAgYzFbMF0gPSB2cmhhZGRxX3UxNih2aGFk
ZHFfdTE2KGwwLCBsMiksIGwxKTsKLSAgYzFbMV0gPSB2cmhhZGRxX3UxNih2aGFkZHFfdTE2KGw4
LCBsMTApLCBsOSk7Ci0gIGMxWzJdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihsMTYsIGwxOCks
IGwxNyk7Ci0gIGMxWzNdID0gdnJoYWRkcV91MTYodmhhZGRxX3UxNihsMjQsIGwyNiksIGwyNSk7
Ci0KLSAgYzAxWzBdID0gdnppcHFfdTE2KGMwWzBdLCBjMVswXSkudmFsWzBdOwotICBjMDFbMV0g
PSB2emlwcV91MTYoYzBbMF0sIGMxWzBdKS52YWxbMV07Ci0gIGMwMVsyXSA9IHZ6aXBxX3UxNihj
MFsxXSwgYzFbMV0pLnZhbFswXTsKLSAgYzAxWzNdID0gdnppcHFfdTE2KGMwWzFdLCBjMVsxXSku
dmFsWzFdOwotICBjMDFbNF0gPSB2emlwcV91MTYoYzBbMl0sIGMxWzJdKS52YWxbMF07Ci0gIGMw
MVs1XSA9IHZ6aXBxX3UxNihjMFsyXSwgYzFbMl0pLnZhbFsxXTsKLSAgYzAxWzZdID0gdnppcHFf
dTE2KGMwWzNdLCBjMVszXSkudmFsWzBdOwotICBjMDFbN10gPSB2emlwcV91MTYoYzBbM10sIGMx
WzNdKS52YWxbMV07Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDAgKiBzdHJpZGUgKyAwLCBjMDFbMF0p
OwotICB2c3QxcV91MTYoZHN0ICsgMCAqIHN0cmlkZSArIDgsIGMwMVsxXSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAwICogc3RyaWRlICsgMTYsIGMwMVsyXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAwICog
c3RyaWRlICsgMjQsIGMwMVszXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxICogc3RyaWRlICsgMCwg
dmV4dHFfdTE2KGMwMVswXSwgYzAxWzFdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxICogc3Ry
aWRlICsgOCwgdmV4dHFfdTE2KGMwMVsxXSwgYzAxWzJdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAxICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihjMDFbMl0sIGMwMVszXSwgMikpOwotICB2c3Qx
cV91MTYoZHN0ICsgMSAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoYzAxWzNdLCBjMDFbNF0sIDIp
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDIgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoYzAxWzBdLCBj
MDFbMV0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYo
YzAxWzFdLCBjMDFbMl0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIgKiBzdHJpZGUgKyAxNiwg
dmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyICogc3Ry
aWRlICsgMjQsIHZleHRxX3UxNihjMDFbM10sIGMwMVs0XSwgNCkpOwotICB2c3QxcV91MTYoZHN0
ICsgMyAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjMDFbMF0sIGMwMVsxXSwgNikpOwotICB2c3Qx
cV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihjMDFbMV0sIGMwMVsyXSwgNikp
OwotICB2c3QxcV91MTYoZHN0ICsgMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoYzAxWzJdLCBj
MDFbM10sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2
KGMwMVszXSwgYzAxWzRdLCA2KSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDQgKiBzdHJpZGUgKyAw
LCBjMDFbMV0pOwotICB2c3QxcV91MTYoZHN0ICsgNCAqIHN0cmlkZSArIDgsIGMwMVsyXSk7Ci0g
IHZzdDFxX3UxNihkc3QgKyA0ICogc3RyaWRlICsgMTYsIGMwMVszXSk7Ci0gIHZzdDFxX3UxNihk
c3QgKyA0ICogc3RyaWRlICsgMjQsIGMwMVs0XSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA1ICogc3Ry
aWRlICsgMCwgdmV4dHFfdTE2KGMwMVsxXSwgYzAxWzJdLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyA1ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCAyKSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyA1ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihjMDFbM10sIGMwMVs0XSwgMikp
OwotICB2c3QxcV91MTYoZHN0ICsgNSAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoYzAxWzRdLCBj
MDFbNV0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYo
YzAxWzFdLCBjMDFbMl0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDYgKiBzdHJpZGUgKyA4LCB2
ZXh0cV91MTYoYzAxWzJdLCBjMDFbM10sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDYgKiBzdHJp
ZGUgKyAxNiwgdmV4dHFfdTE2KGMwMVszXSwgYzAxWzRdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyA2ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihjMDFbNF0sIGMwMVs1XSwgNCkpOwotICB2c3Qx
cV91MTYoZHN0ICsgNyAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjMDFbMV0sIGMwMVsyXSwgNikp
OwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihjMDFbMl0sIGMw
MVszXSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgNyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYo
YzAxWzNdLCBjMDFbNF0sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDcgKiBzdHJpZGUgKyAyNCwg
dmV4dHFfdTE2KGMwMVs0XSwgYzAxWzVdLCA2KSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDggKiBz
dHJpZGUgKyAwLCBjMDFbMl0pOwotICB2c3QxcV91MTYoZHN0ICsgOCAqIHN0cmlkZSArIDgsIGMw
MVszXSk7Ci0gIHZzdDFxX3UxNihkc3QgKyA4ICogc3RyaWRlICsgMTYsIGMwMVs0XSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyA4ICogc3RyaWRlICsgMjQsIGMwMVs1XSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyA5ICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCAyKSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyA5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVszXSwgYzAxWzRdLCAyKSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyA5ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihjMDFbNF0sIGMw
MVs1XSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgOSAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYo
YzAxWzVdLCBjMDFbNl0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEwICogc3RyaWRlICsgMCwg
dmV4dHFfdTE2KGMwMVsyXSwgYzAxWzNdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMCAqIHN0
cmlkZSArIDgsIHZleHRxX3UxNihjMDFbM10sIGMwMVs0XSwgNCkpOwotICB2c3QxcV91MTYoZHN0
ICsgMTAgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGMwMVs0XSwgYzAxWzVdLCA0KSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAxMCAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoYzAxWzVdLCBjMDFbNl0s
IDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDExICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVsy
XSwgYzAxWzNdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMSAqIHN0cmlkZSArIDgsIHZleHRx
X3UxNihjMDFbM10sIGMwMVs0XSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMTEgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTE2KGMwMVs0XSwgYzAxWzVdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAx
MSAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYoYzAxWzVdLCBjMDFbNl0sIDYpKTsKLQotICB2c3Qx
cV91MTYoZHN0ICsgMTIgKiBzdHJpZGUgKyAwLCBjMDFbM10pOwotICB2c3QxcV91MTYoZHN0ICsg
MTIgKiBzdHJpZGUgKyA4LCBjMDFbNF0pOwotICB2c3QxcV91MTYoZHN0ICsgMTIgKiBzdHJpZGUg
KyAxNiwgYzAxWzVdKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEyICogc3RyaWRlICsgMjQsIGMwMVs2
XSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxMyAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjMDFbM10s
IGMwMVs0XSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMTMgKiBzdHJpZGUgKyA4LCB2ZXh0cV91
MTYoYzAxWzRdLCBjMDFbNV0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDEzICogc3RyaWRlICsg
MTYsIHZleHRxX3UxNihjMDFbNV0sIGMwMVs2XSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMTMg
KiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGMwMVs2XSwgYzAxWzddLCAyKSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAxNCAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjMDFbM10sIGMwMVs0XSwgNCkpOwot
ICB2c3QxcV91MTYoZHN0ICsgMTQgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoYzAxWzRdLCBjMDFb
NV0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE0ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihj
MDFbNV0sIGMwMVs2XSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgMTQgKiBzdHJpZGUgKyAyNCwg
dmV4dHFfdTE2KGMwMVs2XSwgYzAxWzddLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxNSAqIHN0
cmlkZSArIDAsIHZleHRxX3UxNihjMDFbM10sIGMwMVs0XSwgNikpOwotICB2c3QxcV91MTYoZHN0
ICsgMTUgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoYzAxWzRdLCBjMDFbNV0sIDYpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDE1ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihjMDFbNV0sIGMwMVs2XSwg
NikpOwotICB2c3QxcV91MTYoZHN0ICsgMTUgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGMwMVs2
XSwgYzAxWzddLCA2KSk7Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDE2ICogc3RyaWRlICsgMCwgYzAx
WzRdKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE2ICogc3RyaWRlICsgOCwgYzAxWzVdKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDE2ICogc3RyaWRlICsgMTYsIGMwMVs2XSk7Ci0gIHZzdDFxX3UxNihkc3Qg
KyAxNiAqIHN0cmlkZSArIDI0LCBjMDFbN10pOwotICB2c3QxcV91MTYoZHN0ICsgMTcgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91MTYoYzAxWzRdLCBjMDFbNV0sIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCAr
IDE3ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVs1XSwgYzAxWzZdLCAyKSk7Ci0gIHZzdDFx
X3UxNihkc3QgKyAxNyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYoYzAxWzZdLCBjMDFbN10sIDIp
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDE3ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihjMDFbN10s
IGwzMSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMTggKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYo
YzAxWzRdLCBjMDFbNV0sIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE4ICogc3RyaWRlICsgOCwg
dmV4dHFfdTE2KGMwMVs1XSwgYzAxWzZdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxOCAqIHN0
cmlkZSArIDE2LCB2ZXh0cV91MTYoYzAxWzZdLCBjMDFbN10sIDQpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDE4ICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihjMDFbN10sIGwzMSwgNCkpOwotICB2c3Qx
cV91MTYoZHN0ICsgMTkgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoYzAxWzRdLCBjMDFbNV0sIDYp
KTsKLSAgdnN0MXFfdTE2KGRzdCArIDE5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGMwMVs1XSwg
YzAxWzZdLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAxOSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
MTYoYzAxWzZdLCBjMDFbN10sIDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDE5ICogc3RyaWRlICsg
MjQsIHZleHRxX3UxNihjMDFbN10sIGwzMSwgNikpOwotCi0gIHZzdDFxX3UxNihkc3QgKyAyMCAq
IHN0cmlkZSArIDAsIGMwMVs1XSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMCAqIHN0cmlkZSArIDgs
IGMwMVs2XSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMCAqIHN0cmlkZSArIDE2LCBjMDFbN10pOwot
ICB2c3QxcV91MTYoZHN0ICsgMjAgKiBzdHJpZGUgKyAyNCwgbDMxKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDIxICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVs1XSwgYzAxWzZdLCAyKSk7Ci0gIHZz
dDFxX3UxNihkc3QgKyAyMSAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihjMDFbNl0sIGMwMVs3XSwg
MikpOwotICB2c3QxcV91MTYoZHN0ICsgMjEgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGMwMVs3
XSwgbDMxLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMSAqIHN0cmlkZSArIDI0LCB2ZXh0cV91
MTYobDMxLCBsMzEsIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDIyICogc3RyaWRlICsgMCwgdmV4
dHFfdTE2KGMwMVs1XSwgYzAxWzZdLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMiAqIHN0cmlk
ZSArIDgsIHZleHRxX3UxNihjMDFbNl0sIGMwMVs3XSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsg
MjIgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTE2KGMwMVs3XSwgbDMxLCA0KSk7Ci0gIHZzdDFxX3Ux
Nihkc3QgKyAyMiAqIHN0cmlkZSArIDI0LCB2ZXh0cV91MTYobDMxLCBsMzEsIDQpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDIzICogc3RyaWRlICsgMCwgdmV4dHFfdTE2KGMwMVs1XSwgYzAxWzZdLCA2
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMyAqIHN0cmlkZSArIDgsIHZleHRxX3UxNihjMDFbNl0s
IGMwMVs3XSwgNikpOwotICB2c3QxcV91MTYoZHN0ICsgMjMgKiBzdHJpZGUgKyAxNiwgdmV4dHFf
dTE2KGMwMVs3XSwgbDMxLCA2KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyMyAqIHN0cmlkZSArIDI0
LCB2ZXh0cV91MTYobDMxLCBsMzEsIDYpKTsKLQotICB2c3QxcV91MTYoZHN0ICsgMjQgKiBzdHJp
ZGUgKyAwLCBjMDFbNl0pOwotICB2c3QxcV91MTYoZHN0ICsgMjQgKiBzdHJpZGUgKyA4LCBjMDFb
N10pOwotICB2c3QxcV91MTYoZHN0ICsgMjQgKiBzdHJpZGUgKyAxNiwgbDMxKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDI0ICogc3RyaWRlICsgMjQsIGwzMSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNSAq
IHN0cmlkZSArIDAsIHZleHRxX3UxNihjMDFbNl0sIGMwMVs3XSwgMikpOwotICB2c3QxcV91MTYo
ZHN0ICsgMjUgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoYzAxWzddLCBsMzEsIDIpKTsKLSAgdnN0
MXFfdTE2KGRzdCArIDI1ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihsMzEsIGwzMSwgMikpOwot
ICB2c3QxcV91MTYoZHN0ICsgMjUgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGwzMSwgbDMxLCAy
KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNiAqIHN0cmlkZSArIDAsIHZleHRxX3UxNihjMDFbNl0s
IGMwMVs3XSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgMjYgKiBzdHJpZGUgKyA4LCB2ZXh0cV91
MTYoYzAxWzddLCBsMzEsIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI2ICogc3RyaWRlICsgMTYs
IHZleHRxX3UxNihsMzEsIGwzMSwgNCkpOwotICB2c3QxcV91MTYoZHN0ICsgMjYgKiBzdHJpZGUg
KyAyNCwgdmV4dHFfdTE2KGwzMSwgbDMxLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyNyAqIHN0
cmlkZSArIDAsIHZleHRxX3UxNihjMDFbNl0sIGMwMVs3XSwgNikpOwotICB2c3QxcV91MTYoZHN0
ICsgMjcgKiBzdHJpZGUgKyA4LCB2ZXh0cV91MTYoYzAxWzddLCBsMzEsIDYpKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDI3ICogc3RyaWRlICsgMTYsIHZleHRxX3UxNihsMzEsIGwzMSwgNikpOwotICB2
c3QxcV91MTYoZHN0ICsgMjcgKiBzdHJpZGUgKyAyNCwgdmV4dHFfdTE2KGwzMSwgbDMxLCA2KSk7
Ci0KLSAgdnN0MXFfdTE2KGRzdCArIDI4ICogc3RyaWRlICsgMCwgYzAxWzddKTsKLSAgdnN0MXFf
dTE2KGRzdCArIDI4ICogc3RyaWRlICsgOCwgbDMxKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI4ICog
c3RyaWRlICsgMTYsIGwzMSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOCAqIHN0cmlkZSArIDI0LCBs
MzEpOwotICB2c3QxcV91MTYoZHN0ICsgMjkgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoYzAxWzdd
LCBsMzEsIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI5ICogc3RyaWRlICsgOCwgdmV4dHFfdTE2
KGwzMSwgbDMxLCAyKSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAyOSAqIHN0cmlkZSArIDE2LCB2ZXh0
cV91MTYobDMxLCBsMzEsIDIpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDI5ICogc3RyaWRlICsgMjQs
IHZleHRxX3UxNihsMzEsIGwzMSwgMikpOwotICB2c3QxcV91MTYoZHN0ICsgMzAgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91MTYoYzAxWzddLCBsMzEsIDQpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMwICog
c3RyaWRlICsgOCwgdmV4dHFfdTE2KGwzMSwgbDMxLCA0KSk7Ci0gIHZzdDFxX3UxNihkc3QgKyAz
MCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYobDMxLCBsMzEsIDQpKTsKLSAgdnN0MXFfdTE2KGRz
dCArIDMwICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihsMzEsIGwzMSwgNCkpOwotICB2c3QxcV91
MTYoZHN0ICsgMzEgKiBzdHJpZGUgKyAwLCB2ZXh0cV91MTYoYzAxWzddLCBsMzEsIDYpKTsKLSAg
dnN0MXFfdTE2KGRzdCArIDMxICogc3RyaWRlICsgOCwgdmV4dHFfdTE2KGwzMSwgbDMxLCA2KSk7
Ci0gIHZzdDFxX3UxNihkc3QgKyAzMSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91MTYobDMxLCBsMzEs
IDYpKTsKLSAgdnN0MXFfdTE2KGRzdCArIDMxICogc3RyaWRlICsgMjQsIHZleHRxX3UxNihsMzEs
IGwzMSwgNikpOwotfQotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCiB2b2lkIHZweF9oaWdo
YmRfdl9wcmVkaWN0b3JfNHg0X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqYWJv
dmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qg
KmxlZnQsIGludCBiZCkgewpAQCAtMjE1NSwzNiArNzI1LDMwIEBAIHZvaWQgdnB4X2hpZ2hiZF92
X3ByZWRpY3Rvcl84eDhfbmVvbih1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogdm9p
ZCB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzE2eDE2X25lb24odWludDE2X3QgKmRzdCwgcHRyZGlm
Zl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90ICphYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgY29uc3QgdWludDE2eDhfdCByb3cw
ID0gdmxkMXFfdTE2KGFib3ZlICsgMCk7Ci0gIGNvbnN0IHVpbnQxNng4X3Qgcm93MSA9IHZsZDFx
X3UxNihhYm92ZSArIDgpOworICBjb25zdCB1aW50MTZ4OHgyX3Qgcm93ID0gdmxkMnFfdTE2KGFi
b3ZlKTsKICAgaW50IGk7CiAgICh2b2lkKWxlZnQ7CiAgICh2b2lkKWJkOwogCi0gIGZvciAoaSA9
IDA7IGkgPCAxNjsgaSsrKSB7Ci0gICAgdnN0MXFfdTE2KGRzdCArIDAsIHJvdzApOwotICAgIHZz
dDFxX3UxNihkc3QgKyA4LCByb3cxKTsKLSAgICBkc3QgKz0gc3RyaWRlOworICBmb3IgKGkgPSAw
OyBpIDwgMTY7IGkrKywgZHN0ICs9IHN0cmlkZSkgeworICAgIHZzdDJxX3UxNihkc3QsIHJvdyk7
CiAgIH0KIH0KIAogdm9pZCB2cHhfaGlnaGJkX3ZfcHJlZGljdG9yXzMyeDMyX25lb24odWludDE2
X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICphYm92ZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQpIHsKLSAgY29uc3Qg
dWludDE2eDhfdCByb3cwID0gdmxkMXFfdTE2KGFib3ZlICsgMCk7Ci0gIGNvbnN0IHVpbnQxNng4
X3Qgcm93MSA9IHZsZDFxX3UxNihhYm92ZSArIDgpOwotICBjb25zdCB1aW50MTZ4OF90IHJvdzIg
PSB2bGQxcV91MTYoYWJvdmUgKyAxNik7Ci0gIGNvbnN0IHVpbnQxNng4X3Qgcm93MyA9IHZsZDFx
X3UxNihhYm92ZSArIDI0KTsKKyAgY29uc3QgdWludDE2eDh4Ml90IHJvdzAgPSB2bGQycV91MTYo
YWJvdmUpOworICBjb25zdCB1aW50MTZ4OHgyX3Qgcm93MSA9IHZsZDJxX3UxNihhYm92ZSArIDE2
KTsKICAgaW50IGk7CiAgICh2b2lkKWxlZnQ7CiAgICh2b2lkKWJkOwogCiAgIGZvciAoaSA9IDA7
IGkgPCAzMjsgaSsrKSB7Ci0gICAgdnN0MXFfdTE2KGRzdCArIDAsIHJvdzApOwotICAgIHZzdDFx
X3UxNihkc3QgKyA4LCByb3cxKTsKLSAgICB2c3QxcV91MTYoZHN0ICsgMTYsIHJvdzIpOwotICAg
IHZzdDFxX3UxNihkc3QgKyAyNCwgcm93Myk7Ci0gICAgZHN0ICs9IHN0cmlkZTsKKyAgICB2c3Qy
cV91MTYoZHN0LCByb3cwKTsKKyAgICBkc3QgKz0gMTY7CisgICAgdnN0MnFfdTE2KGRzdCwgcm93
MSk7CisgICAgZHN0ICs9IHN0cmlkZSAtIDE2OwogICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3F1YW50aXplX25lb24uYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vaGlnaGJkX3F1YW50aXplX25lb24uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzJhZDM0YTY5NTYzLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS9oaWdoYmRfcXVhbnRpemVfbmVvbi5jCisrKyAvZGV2L251bGwKQEAgLTEsMzAwICswLDAg
QEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIyIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg
Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFu
IGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91
bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1
dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBv
ZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGFybV9uZW9uLmg+Ci0KLSNpbmNs
dWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1
ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCi0jaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfc2Nh
bi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9ibG9jay5oIgotCi1zdGF0aWMgVlBYX0ZP
UkNFX0lOTElORSB2b2lkIGhpZ2hiZF9jYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmUoCi0gICAg
Y29uc3QgaW50MzJ4NF90IGRxY29lZmZfMCwgY29uc3QgaW50MzJ4NF90IGRxY29lZmZfMSwKLSAg
ICB0cmFuX2xvd190ICpkcWNvZWZmX3B0cikgewotICB2c3QxcV9zMzIoZHFjb2VmZl9wdHIsIGRx
Y29lZmZfMCk7Ci0gIHZzdDFxX3MzMihkcWNvZWZmX3B0ciArIDQsIGRxY29lZmZfMSk7Ci19Ci0K
LXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQgaGlnaGJkX3F1YW50aXplXzhfbmVvbigKLSAg
ICBjb25zdCBpbnQzMng0X3QgY29lZmZfMCwgY29uc3QgaW50MzJ4NF90IGNvZWZmXzEsIGNvbnN0
IGludDMyeDRfdCB6YmluLAotICAgIGNvbnN0IGludDMyeDRfdCByb3VuZCwgY29uc3QgaW50MzJ4
NF90IHF1YW50LCBjb25zdCBpbnQzMng0X3QgcXVhbnRfc2hpZnQsCi0gICAgaW50MzJ4NF90ICpx
Y29lZmZfMCwgaW50MzJ4NF90ICpxY29lZmZfMSkgewotICAvLyBMb2FkIGNvZWZmcyBhcyAyIHZl
Y3RvcnMgb2YgNCB4IDMyLWJpdCBpbnRzIGVhY2gsIHRha2Ugc2lnbiBhbmQgYWJzIHZhbHVlcwot
ICBjb25zdCBpbnQzMng0X3QgY29lZmZfMF9zaWduID0gdnNocnFfbl9zMzIoY29lZmZfMCwgMzEp
OwotICBjb25zdCBpbnQzMng0X3QgY29lZmZfMV9zaWduID0gdnNocnFfbl9zMzIoY29lZmZfMSwg
MzEpOwotICBjb25zdCBpbnQzMng0X3QgY29lZmZfMF9hYnMgPSB2YWJzcV9zMzIoY29lZmZfMCk7
Ci0gIGNvbnN0IGludDMyeDRfdCBjb2VmZl8xX2FicyA9IHZhYnNxX3MzMihjb2VmZl8xKTsKLQot
ICAvLyBDYWxjdWxhdGUgMiBtYXNrcyBvZiBlbGVtZW50cyBvdXRzaWRlIHRoZSBiaW4KLSAgY29u
c3QgaW50MzJ4NF90IHpiaW5fbWFza18wID0KLSAgICAgIHZyZWludGVycHJldHFfczMyX3UzMih2
Y2dlcV9zMzIoY29lZmZfMF9hYnMsIHpiaW4pKTsKLSAgY29uc3QgaW50MzJ4NF90IHpiaW5fbWFz
a18xID0gdnJlaW50ZXJwcmV0cV9zMzJfdTMyKAotICAgICAgdmNnZXFfczMyKGNvZWZmXzFfYWJz
LCB2ZHVwcV9sYW5lX3MzMih2Z2V0X2xvd19zMzIoemJpbiksIDEpKSk7Ci0KLSAgLy8gR2V0IHRo
ZSByb3VuZGVkIHZhbHVlcwotICBjb25zdCBpbnQzMng0X3Qgcm91bmRlZF8wID0gdmFkZHFfczMy
KGNvZWZmXzBfYWJzLCByb3VuZCk7Ci0gIGNvbnN0IGludDMyeDRfdCByb3VuZGVkXzEgPQotICAg
ICAgdmFkZHFfczMyKGNvZWZmXzFfYWJzLCB2ZHVwcV9sYW5lX3MzMih2Z2V0X2xvd19zMzIocm91
bmQpLCAxKSk7Ci0KLSAgLy8gKHJvdW5kICogKHF1YW50IDw8IDE1KSAqIDIpID4+IDE2ID09IChy
b3VuZCAqIHF1YW50KQotICBpbnQzMng0X3QgcWNvZWZmX3RtcF8wID0gdnFkbXVsaHFfczMyKHJv
dW5kZWRfMCwgcXVhbnQpOwotICBpbnQzMng0X3QgcWNvZWZmX3RtcF8xID0KLSAgICAgIHZxZG11
bGhxX3MzMihyb3VuZGVkXzEsIHZkdXBxX2xhbmVfczMyKHZnZXRfbG93X3MzMihxdWFudCksIDEp
KTsKLQotICAvLyBBZGQgcm91bmRlZCB2YWx1ZXMKLSAgcWNvZWZmX3RtcF8wID0gdmFkZHFfczMy
KHFjb2VmZl90bXBfMCwgcm91bmRlZF8wKTsKLSAgcWNvZWZmX3RtcF8xID0gdmFkZHFfczMyKHFj
b2VmZl90bXBfMSwgcm91bmRlZF8xKTsKLQotICAvLyAocm91bmQgKiAocXVhbnRfc2hpZnQgPDwg
MTUpICogMikgPj4gMTYgPT0gKHJvdW5kICogcXVhbnRfc2hpZnQpCi0gIHFjb2VmZl90bXBfMCA9
IHZxZG11bGhxX3MzMihxY29lZmZfdG1wXzAsIHF1YW50X3NoaWZ0KTsKLSAgcWNvZWZmX3RtcF8x
ID0KLSAgICAgIHZxZG11bGhxX3MzMihxY29lZmZfdG1wXzEsIHZkdXBxX2xhbmVfczMyKHZnZXRf
bG93X3MzMihxdWFudF9zaGlmdCksIDEpKTsKLQotICAvLyBSZXN0b3JlIHRoZSBzaWduIGJpdC4K
LSAgcWNvZWZmX3RtcF8wID0gdmVvcnFfczMyKHFjb2VmZl90bXBfMCwgY29lZmZfMF9zaWduKTsK
LSAgcWNvZWZmX3RtcF8xID0gdmVvcnFfczMyKHFjb2VmZl90bXBfMSwgY29lZmZfMV9zaWduKTsK
LSAgcWNvZWZmX3RtcF8wID0gdnN1YnFfczMyKHFjb2VmZl90bXBfMCwgY29lZmZfMF9zaWduKTsK
LSAgcWNvZWZmX3RtcF8xID0gdnN1YnFfczMyKHFjb2VmZl90bXBfMSwgY29lZmZfMV9zaWduKTsK
LQotICAvLyBPbmx5IGtlZXAgdGhlIHJlbGV2YW50IGNvZWZmcwotICAqcWNvZWZmXzAgPSB2YW5k
cV9zMzIocWNvZWZmX3RtcF8wLCB6YmluX21hc2tfMCk7Ci0gICpxY29lZmZfMSA9IHZhbmRxX3Mz
MihxY29lZmZfdG1wXzEsIHpiaW5fbWFza18xKTsKLX0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJ
TkUgaW50MTZ4OF90Ci1oaWdoYmRfcXVhbnRpemVfYl9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNv
ZWZmX3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
dHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGludDMyeDRfdCB6YmluLAotICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQzMng0X3Qgcm91bmQsIGNvbnN0IGludDMyeDRfdCBxdWFu
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MzJ4NF90IHF1YW50X3NoaWZ0LCBj
b25zdCBpbnQzMng0X3QgZGVxdWFudCkgewotICBpbnQzMng0X3QgcWNvZWZmXzAsIHFjb2VmZl8x
LCBkcWNvZWZmXzAsIGRxY29lZmZfMTsKLQotICAvLyBMb2FkIGNvZWZmcyBhcyAyIHZlY3RvcnMg
b2YgNCB4IDMyLWJpdCBpbnRzIGVhY2gsIHRha2Ugc2lnbiBhbmQgYWJzIHZhbHVlcwotICBjb25z
dCBpbnQzMng0X3QgY29lZmZfMCA9IHZsZDFxX3MzMihjb2VmZl9wdHIpOwotICBjb25zdCBpbnQz
Mng0X3QgY29lZmZfMSA9IHZsZDFxX3MzMihjb2VmZl9wdHIgKyA0KTsKLSAgaGlnaGJkX3F1YW50
aXplXzhfbmVvbihjb2VmZl8wLCBjb2VmZl8xLCB6YmluLCByb3VuZCwgcXVhbnQsIHF1YW50X3No
aWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICZxY29lZmZfMCwgJnFjb2VmZl8xKTsKLQot
ICAvLyBTdG9yZSB0aGUgMzItYml0IHFjb2VmZnMKLSAgdnN0MXFfczMyKHFjb2VmZl9wdHIsIHFj
b2VmZl8wKTsKLSAgdnN0MXFfczMyKHFjb2VmZl9wdHIgKyA0LCBxY29lZmZfMSk7Ci0KLSAgLy8g
Q2FsY3VsYXRlIGFuZCBzdG9yZSB0aGUgZHFjb2VmZnMKLSAgZHFjb2VmZl8wID0gdm11bHFfczMy
KHFjb2VmZl8wLCBkZXF1YW50KTsKLSAgZHFjb2VmZl8xID0gdm11bHFfczMyKHFjb2VmZl8xLCB2
ZHVwcV9sYW5lX3MzMih2Z2V0X2xvd19zMzIoZGVxdWFudCksIDEpKTsKLQotICBoaWdoYmRfY2Fs
Y3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlKGRxY29lZmZfMCwgZHFjb2VmZl8xLCBkcWNvZWZmX3B0
cik7Ci0KLSAgcmV0dXJuIHZjb21iaW5lX3MxNih2bW92bl9zMzIocWNvZWZmXzApLCB2bW92bl9z
MzIocWNvZWZmXzEpKTsKLX0KLQotdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2JfbmVvbihjb25z
dCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3Qg
bWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKnFj
b2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIg
KmNvbnN0IHNjYW5fb3JkZXIpIHsKLSAgY29uc3QgaW50MTZ4OF90IG5lZ19vbmUgPSB2ZHVwcV9u
X3MxNigtMSk7Ci0gIHVpbnQxNng4X3QgZW9iX21heDsKLSAgY29uc3QgaW50MTZfdCAqaXNjYW4g
PSBzY2FuX29yZGVyLT5pc2NhbjsKLQotICAvLyBPbmx5IHRoZSBmaXJzdCBlbGVtZW50IG9mIGVh
Y2ggdmVjdG9yIGlzIERDLgotICAvLyBIaWdoIGhhbGYgaGFzIGlkZW50aWNhbCBlbGVtZW50cywg
YnV0IHdlIGNhbiByZWNvbnN0cnVjdCBpdCBmcm9tIHRoZSBsb3cKLSAgLy8gaGFsZiBieSBkdXBs
aWNhdGluZyB0aGUgMm5kIGVsZW1lbnQuIFNvIHdlIG9ubHkgbmVlZCB0byBwYXNzIGEgNHgzMi1i
aXQKLSAgLy8gdmVjdG9yCi0gIGludDMyeDRfdCB6YmluID0gdm1vdmxfczE2KHZsZDFfczE2KG1i
X3BsYW5lLT56YmluKSk7Ci0gIGludDMyeDRfdCByb3VuZCA9IHZtb3ZsX3MxNih2bGQxX3MxNiht
Yl9wbGFuZS0+cm91bmQpKTsKLSAgLy8gRXh0ZW5kIHRoZSBxdWFudCwgcXVhbnRfc2hpZnQgdmVj
dG9ycyB0byBvbmVzIG9mIDMyLWJpdCBlbGVtZW50cwotICAvLyBzY2FsZSB0byBoaWdoLWhhbGYs
IHNvIHdlIGNhbiB1c2UgdnFkbXVsaHFfczMyCi0gIGludDMyeDRfdCBxdWFudCA9IHZzaGxxX25f
czMyKHZtb3ZsX3MxNih2bGQxX3MxNihtYl9wbGFuZS0+cXVhbnQpKSwgMTUpOwotICBpbnQzMng0
X3QgcXVhbnRfc2hpZnQgPQotICAgICAgdnNobHFfbl9zMzIodm1vdmxfczE2KHZsZDFfczE2KG1i
X3BsYW5lLT5xdWFudF9zaGlmdCkpLCAxNSk7Ci0gIGludDMyeDRfdCBkZXF1YW50ID0gdm1vdmxf
czE2KHZsZDFfczE2KGRlcXVhbnRfcHRyKSk7Ci0KLSAgLy8gUHJvY2VzcyBmaXJzdCA4IHZhbHVl
cyB3aGljaCBpbmNsdWRlIGEgZGMgY29tcG9uZW50LgotICB7Ci0gICAgY29uc3QgdWludDE2eDhf
dCB2X2lzY2FuID0gdnJlaW50ZXJwcmV0cV91MTZfczE2KHZsZDFxX3MxNihpc2NhbikpOwotCi0g
ICAgY29uc3QgaW50MTZ4OF90IHFjb2VmZiA9Ci0gICAgICAgIGhpZ2hiZF9xdWFudGl6ZV9iX25l
b24oY29lZmZfcHRyLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0ciwgemJpbiwgcm91bmQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVhbnQsIHF1YW50X3NoaWZ0LCBkZXF1YW50KTsK
LQotICAgIC8vIFNldCBub24temVybyBlbGVtZW50cyB0byAtMSBhbmQgdXNlIHRoYXQgdG8gZXh0
cmFjdCB2YWx1ZXMgZm9yIGVvYi4KLSAgICBlb2JfbWF4ID0gdmFuZHFfdTE2KHZ0c3RxX3MxNihx
Y29lZmYsIG5lZ19vbmUpLCB2X2lzY2FuKTsKLQotICAgIF9fYnVpbHRpbl9wcmVmZXRjaChjb2Vm
Zl9wdHIgKyA2NCk7Ci0KLSAgICBjb2VmZl9wdHIgKz0gODsKLSAgICBpc2NhbiArPSA4OwotICAg
IHFjb2VmZl9wdHIgKz0gODsKLSAgICBkcWNvZWZmX3B0ciArPSA4OwotICB9Ci0KLSAgbl9jb2Vm
ZnMgLT0gODsKLQotICB7Ci0gICAgemJpbiA9IHZkdXBxX2xhbmVfczMyKHZnZXRfbG93X3MzMih6
YmluKSwgMSk7Ci0gICAgcm91bmQgPSB2ZHVwcV9sYW5lX3MzMih2Z2V0X2xvd19zMzIocm91bmQp
LCAxKTsKLSAgICBxdWFudCA9IHZkdXBxX2xhbmVfczMyKHZnZXRfbG93X3MzMihxdWFudCksIDEp
OwotICAgIHF1YW50X3NoaWZ0ID0gdmR1cHFfbGFuZV9zMzIodmdldF9sb3dfczMyKHF1YW50X3No
aWZ0KSwgMSk7Ci0gICAgZGVxdWFudCA9IHZkdXBxX2xhbmVfczMyKHZnZXRfbG93X3MzMihkZXF1
YW50KSwgMSk7Ci0KLSAgICBkbyB7Ci0gICAgICBjb25zdCB1aW50MTZ4OF90IHZfaXNjYW4gPSB2
cmVpbnRlcnByZXRxX3UxNl9zMTYodmxkMXFfczE2KGlzY2FuKSk7Ci0KLSAgICAgIGNvbnN0IGlu
dDE2eDhfdCBxY29lZmYgPQotICAgICAgICAgIGhpZ2hiZF9xdWFudGl6ZV9iX25lb24oY29lZmZf
cHRyLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0ciwgemJpbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJvdW5kLCBxdWFudCwgcXVhbnRfc2hpZnQsIGRlcXVhbnQpOwotCi0gICAg
ICAvLyBTZXQgbm9uLXplcm8gZWxlbWVudHMgdG8gLTEgYW5kIHVzZSB0aGF0IHRvIGV4dHJhY3Qg
dmFsdWVzIGZvciBlb2IuCi0gICAgICBlb2JfbWF4ID0KLSAgICAgICAgICB2bWF4cV91MTYoZW9i
X21heCwgdmFuZHFfdTE2KHZ0c3RxX3MxNihxY29lZmYsIG5lZ19vbmUpLCB2X2lzY2FuKSk7Ci0K
LSAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChjb2VmZl9wdHIgKyA2NCk7Ci0gICAgICBjb2VmZl9w
dHIgKz0gODsKLSAgICAgIGlzY2FuICs9IDg7Ci0gICAgICBxY29lZmZfcHRyICs9IDg7Ci0gICAg
ICBkcWNvZWZmX3B0ciArPSA4OwotICAgICAgbl9jb2VmZnMgLT0gODsKLSAgICB9IHdoaWxlIChu
X2NvZWZmcyA+IDApOwotICB9Ci0KLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gICplb2JfcHRyID0g
dm1heHZxX3UxNihlb2JfbWF4KTsKLSNlbHNlCi0gIHsKLSAgICBjb25zdCB1aW50MTZ4NF90IGVv
Yl9tYXhfMCA9Ci0gICAgICAgIHZtYXhfdTE2KHZnZXRfbG93X3UxNihlb2JfbWF4KSwgdmdldF9o
aWdoX3UxNihlb2JfbWF4KSk7Ci0gICAgY29uc3QgdWludDE2eDRfdCBlb2JfbWF4XzEgPSB2cG1h
eF91MTYoZW9iX21heF8wLCBlb2JfbWF4XzApOwotICAgIGNvbnN0IHVpbnQxNng0X3QgZW9iX21h
eF8yID0gdnBtYXhfdTE2KGVvYl9tYXhfMSwgZW9iX21heF8xKTsKLSAgICB2c3QxX2xhbmVfdTE2
KGVvYl9wdHIsIGVvYl9tYXhfMiwgMCk7Ci0gIH0KLSNlbmRpZiAgLy8gVlBYX0FSQ0hfQUFSQ0g2
NAotfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSBpbnQzMng0X3QgZXh0cmFjdF9zaWduX2Jp
dChpbnQzMng0X3QgYSkgewotICByZXR1cm4gdnJlaW50ZXJwcmV0cV9zMzJfdTMyKHZzaHJxX25f
dTMyKHZyZWludGVycHJldHFfdTMyX3MzMihhKSwgMzEpKTsKLX0KLQotc3RhdGljIFZQWF9GT1JD
RV9JTkxJTkUgdm9pZCBoaWdoYmRfY2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlXzMyeDMyKAot
ICAgIGludDMyeDRfdCBkcWNvZWZmXzAsIGludDMyeDRfdCBkcWNvZWZmXzEsIHRyYW5fbG93X3Qg
KmRxY29lZmZfcHRyKSB7Ci0gIC8vIEFkZCAxIGlmIG5lZ2F0aXZlIHRvIHJvdW5kIHRvd2FyZHMg
emVybyBiZWNhdXNlIHRoZSBDIHVzZXMgZGl2aXNpb24uCi0gIGRxY29lZmZfMCA9IHZhZGRxX3Mz
MihkcWNvZWZmXzAsIGV4dHJhY3Rfc2lnbl9iaXQoZHFjb2VmZl8wKSk7Ci0gIGRxY29lZmZfMSA9
IHZhZGRxX3MzMihkcWNvZWZmXzEsIGV4dHJhY3Rfc2lnbl9iaXQoZHFjb2VmZl8xKSk7Ci0KLSAg
ZHFjb2VmZl8wID0gdnNocnFfbl9zMzIoZHFjb2VmZl8wLCAxKTsKLSAgZHFjb2VmZl8xID0gdnNo
cnFfbl9zMzIoZHFjb2VmZl8xLCAxKTsKLSAgdnN0MXFfczMyKGRxY29lZmZfcHRyLCBkcWNvZWZm
XzApOwotICB2c3QxcV9zMzIoZHFjb2VmZl9wdHIgKyA0LCBkcWNvZWZmXzEpOwotfQotCi1zdGF0
aWMgVlBYX0ZPUkNFX0lOTElORSBpbnQxNng4X3QgaGlnaGJkX3F1YW50aXplX2JfMzJ4MzJfbmVv
bigKLSAgICBjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9w
dHIsCi0gICAgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGludDMyeDRfdCB6YmluLCBj
b25zdCBpbnQzMng0X3Qgcm91bmQsCi0gICAgY29uc3QgaW50MzJ4NF90IHF1YW50LCBjb25zdCBp
bnQzMng0X3QgcXVhbnRfc2hpZnQsCi0gICAgY29uc3QgaW50MzJ4NF90IGRlcXVhbnQpIHsKLSAg
aW50MzJ4NF90IHFjb2VmZl8wLCBxY29lZmZfMSwgZHFjb2VmZl8wLCBkcWNvZWZmXzE7Ci0KLSAg
Ly8gTG9hZCBjb2VmZnMgYXMgMiB2ZWN0b3JzIG9mIDQgeCAzMi1iaXQgaW50cyBlYWNoLCB0YWtl
IHNpZ24gYW5kIGFicyB2YWx1ZXMKLSAgY29uc3QgaW50MzJ4NF90IGNvZWZmXzAgPSB2bGQxcV9z
MzIoY29lZmZfcHRyKTsKLSAgY29uc3QgaW50MzJ4NF90IGNvZWZmXzEgPSB2bGQxcV9zMzIoY29l
ZmZfcHRyICsgNCk7Ci0gIGhpZ2hiZF9xdWFudGl6ZV84X25lb24oY29lZmZfMCwgY29lZmZfMSwg
emJpbiwgcm91bmQsIHF1YW50LCBxdWFudF9zaGlmdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAmcWNvZWZmXzAsICZxY29lZmZfMSk7Ci0KLSAgLy8gU3RvcmUgdGhlIDMyLWJpdCBxY29lZmZz
Ci0gIHZzdDFxX3MzMihxY29lZmZfcHRyLCBxY29lZmZfMCk7Ci0gIHZzdDFxX3MzMihxY29lZmZf
cHRyICsgNCwgcWNvZWZmXzEpOwotCi0gIC8vIENhbGN1bGF0ZSBhbmQgc3RvcmUgdGhlIGRxY29l
ZmZzCi0gIGRxY29lZmZfMCA9IHZtdWxxX3MzMihxY29lZmZfMCwgZGVxdWFudCk7Ci0gIGRxY29l
ZmZfMSA9IHZtdWxxX3MzMihxY29lZmZfMSwgdmR1cHFfbGFuZV9zMzIodmdldF9sb3dfczMyKGRl
cXVhbnQpLCAxKSk7Ci0KLSAgaGlnaGJkX2NhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZV8zMngz
MihkcWNvZWZmXzAsIGRxY29lZmZfMSwgZHFjb2VmZl9wdHIpOwotCi0gIHJldHVybiB2Y29tYmlu
ZV9zMTYodm1vdm5fczMyKHFjb2VmZl8wKSwgdm1vdm5fczMyKHFjb2VmZl8xKSk7Ci19Ci0KLXZv
aWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX25lb24oCi0gICAgY29uc3QgdHJhbl9sb3df
dCAqY29lZmZfcHRyLCBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxh
bmUsCi0gICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIs
IGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90ICplb2JfcHRyLCBjb25z
dCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7Ci0gIGNvbnN0IGludDE2eDhf
dCBuZWdfb25lID0gdmR1cHFfbl9zMTYoLTEpOwotICB1aW50MTZ4OF90IGVvYl9tYXg7Ci0gIGlu
dCBpOwotICBjb25zdCBpbnQxNl90ICppc2NhbiA9IHNjYW5fb3JkZXItPmlzY2FuOwotCi0gIC8v
IE9ubHkgdGhlIGZpcnN0IGVsZW1lbnQgb2YgZWFjaCB2ZWN0b3IgaXMgREMuCi0gIC8vIEhpZ2gg
aGFsZiBoYXMgaWRlbnRpY2FsIGVsZW1lbnRzLCBidXQgd2UgY2FuIHJlY29uc3RydWN0IGl0IGZy
b20gdGhlIGxvdwotICAvLyBoYWxmIGJ5IGR1cGxpY2F0aW5nIHRoZSAybmQgZWxlbWVudC4gU28g
d2Ugb25seSBuZWVkIHRvIHBhc3MgYSA0eDMyLWJpdAotICAvLyB2ZWN0b3IKLSAgaW50MzJ4NF90
IHpiaW4gPSB2cnNocnFfbl9zMzIodm1vdmxfczE2KHZsZDFfczE2KG1iX3BsYW5lLT56YmluKSks
IDEpOwotICBpbnQzMng0X3Qgcm91bmQgPSB2cnNocnFfbl9zMzIodm1vdmxfczE2KHZsZDFfczE2
KG1iX3BsYW5lLT5yb3VuZCkpLCAxKTsKLSAgLy8gRXh0ZW5kIHRoZSBxdWFudCwgcXVhbnRfc2hp
ZnQgdmVjdG9ycyB0byBvbmVzIG9mIDMyLWJpdCBlbGVtZW50cwotICAvLyBzY2FsZSB0byBoaWdo
LWhhbGYsIHNvIHdlIGNhbiB1c2UgdnFkbXVsaHFfczMyCi0gIGludDMyeDRfdCBxdWFudCA9IHZz
aGxxX25fczMyKHZtb3ZsX3MxNih2bGQxX3MxNihtYl9wbGFuZS0+cXVhbnQpKSwgMTUpOwotICBp
bnQzMng0X3QgcXVhbnRfc2hpZnQgPQotICAgICAgdnNobHFfbl9zMzIodm1vdmxfczE2KHZsZDFf
czE2KG1iX3BsYW5lLT5xdWFudF9zaGlmdCkpLCAxNik7Ci0gIGludDMyeDRfdCBkZXF1YW50ID0g
dm1vdmxfczE2KHZsZDFfczE2KGRlcXVhbnRfcHRyKSk7Ci0KLSAgLy8gUHJvY2VzcyBmaXJzdCA4
IHZhbHVlcyB3aGljaCBpbmNsdWRlIGEgZGMgY29tcG9uZW50LgotICB7Ci0gICAgY29uc3QgdWlu
dDE2eDhfdCB2X2lzY2FuID0gdnJlaW50ZXJwcmV0cV91MTZfczE2KHZsZDFxX3MxNihpc2Nhbikp
OwotCi0gICAgY29uc3QgaW50MTZ4OF90IHFjb2VmZiA9Ci0gICAgICAgIGhpZ2hiZF9xdWFudGl6
ZV9iXzMyeDMyX25lb24oY29lZmZfcHRyLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0ciwgemJpbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZCwgcXVhbnQsIHF1YW50
X3NoaWZ0LCBkZXF1YW50KTsKLQotICAgIC8vIFNldCBub24temVybyBlbGVtZW50cyB0byAtMSBh
bmQgdXNlIHRoYXQgdG8gZXh0cmFjdCB2YWx1ZXMgZm9yIGVvYi4KLSAgICBlb2JfbWF4ID0gdmFu
ZHFfdTE2KHZ0c3RxX3MxNihxY29lZmYsIG5lZ19vbmUpLCB2X2lzY2FuKTsKLQotICAgIF9fYnVp
bHRpbl9wcmVmZXRjaChjb2VmZl9wdHIgKyA2NCk7Ci0gICAgY29lZmZfcHRyICs9IDg7Ci0gICAg
aXNjYW4gKz0gODsKLSAgICBxY29lZmZfcHRyICs9IDg7Ci0gICAgZHFjb2VmZl9wdHIgKz0gODsK
LSAgfQotCi0gIHsKLSAgICB6YmluID0gdmR1cHFfbGFuZV9zMzIodmdldF9sb3dfczMyKHpiaW4p
LCAxKTsKLSAgICByb3VuZCA9IHZkdXBxX2xhbmVfczMyKHZnZXRfbG93X3MzMihyb3VuZCksIDEp
OwotICAgIHF1YW50ID0gdmR1cHFfbGFuZV9zMzIodmdldF9sb3dfczMyKHF1YW50KSwgMSk7Ci0g
ICAgcXVhbnRfc2hpZnQgPSB2ZHVwcV9sYW5lX3MzMih2Z2V0X2xvd19zMzIocXVhbnRfc2hpZnQp
LCAxKTsKLSAgICBkZXF1YW50ID0gdmR1cHFfbGFuZV9zMzIodmdldF9sb3dfczMyKGRlcXVhbnQp
LCAxKTsKLQotICAgIGZvciAoaSA9IDE7IGkgPCAzMiAqIDMyIC8gODsgKytpKSB7Ci0gICAgICBj
b25zdCB1aW50MTZ4OF90IHZfaXNjYW4gPSB2cmVpbnRlcnByZXRxX3UxNl9zMTYodmxkMXFfczE2
KGlzY2FuKSk7Ci0KLSAgICAgIGNvbnN0IGludDE2eDhfdCBxY29lZmYgPQotICAgICAgICAgIGhp
Z2hiZF9xdWFudGl6ZV9iXzMyeDMyX25lb24oY29lZmZfcHRyLCBxY29lZmZfcHRyLCBkcWNvZWZm
X3B0ciwgemJpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5k
LCBxdWFudCwgcXVhbnRfc2hpZnQsIGRlcXVhbnQpOwotCi0gICAgICAvLyBTZXQgbm9uLXplcm8g
ZWxlbWVudHMgdG8gLTEgYW5kIHVzZSB0aGF0IHRvIGV4dHJhY3QgdmFsdWVzIGZvciBlb2IuCi0g
ICAgICBlb2JfbWF4ID0KLSAgICAgICAgICB2bWF4cV91MTYoZW9iX21heCwgdmFuZHFfdTE2KHZ0
c3RxX3MxNihxY29lZmYsIG5lZ19vbmUpLCB2X2lzY2FuKSk7Ci0KLSAgICAgIF9fYnVpbHRpbl9w
cmVmZXRjaChjb2VmZl9wdHIgKyA2NCk7Ci0gICAgICBjb2VmZl9wdHIgKz0gODsKLSAgICAgIGlz
Y2FuICs9IDg7Ci0gICAgICBxY29lZmZfcHRyICs9IDg7Ci0gICAgICBkcWNvZWZmX3B0ciArPSA4
OwotICAgIH0KLSAgfQotCi0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICAqZW9iX3B0ciA9IHZtYXh2
cV91MTYoZW9iX21heCk7Ci0jZWxzZQotICB7Ci0gICAgY29uc3QgdWludDE2eDRfdCBlb2JfbWF4
XzAgPQotICAgICAgICB2bWF4X3UxNih2Z2V0X2xvd191MTYoZW9iX21heCksIHZnZXRfaGlnaF91
MTYoZW9iX21heCkpOwotICAgIGNvbnN0IHVpbnQxNng0X3QgZW9iX21heF8xID0gdnBtYXhfdTE2
KGVvYl9tYXhfMCwgZW9iX21heF8wKTsKLSAgICBjb25zdCB1aW50MTZ4NF90IGVvYl9tYXhfMiA9
IHZwbWF4X3UxNihlb2JfbWF4XzEsIGVvYl9tYXhfMSk7Ci0gICAgdnN0MV9sYW5lX3UxNihlb2Jf
cHRyLCBlb2JfbWF4XzIsIDApOwotICB9Ci0jZW5kaWYgIC8vIFZQWF9BUkNIX0FBUkNINjQKLX0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3NhZDRkX25lb24uYyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3NhZDRkX25lb24uYwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYTY2ODRiMDUzNGQ3Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9oaWdoYmRfc2FkNGRfbmVvbi5jCisrKyAvZGV2L251bGwKQEAgLTEs
MjczICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBXZWJNIHByb2plY3Qg
YXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNl
IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICog
IHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBj
YW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBw
cm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0
aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGFybV9uZW9uLmg+
Ci0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5o
IgotCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0v
bWVtX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9zdW1fbmVvbi5oIgotCi1zdGF0aWMg
SU5MSU5FIHZvaWQgaGlnaGJkX3NhZDR4aHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfcHRyWzRdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgcmVzWzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCkgewotICBjb25zdCB1
aW50MTZfdCAqc3JjMTZfcHRyID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsKLSAgY29u
c3QgdWludDE2X3QgKnJlZjE2X3B0cjAgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl9wdHJbMF0p
OwotICBjb25zdCB1aW50MTZfdCAqcmVmMTZfcHRyMSA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVm
X3B0clsxXSk7Ci0gIGNvbnN0IHVpbnQxNl90ICpyZWYxNl9wdHIyID0gQ09OVkVSVF9UT19TSE9S
VFBUUihyZWZfcHRyWzJdKTsKLSAgY29uc3QgdWludDE2X3QgKnJlZjE2X3B0cjMgPSBDT05WRVJU
X1RPX1NIT1JUUFRSKHJlZl9wdHJbM10pOwotCi0gIHVpbnQzMng0X3Qgc3VtWzRdID0geyB2ZHVw
cV9uX3UzMigwKSwgdmR1cHFfbl91MzIoMCksIHZkdXBxX25fdTMyKDApLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdmR1cHFfbl91MzIoMCkgfTsKLQotICBpbnQgaSA9IDA7Ci0gIGRvIHsKLSAg
ICB1aW50MTZ4NF90IHMgPSB2bGQxX3UxNihzcmMxNl9wdHIgKyBpICogc3JjX3N0cmlkZSk7Ci0g
ICAgdWludDE2eDRfdCByMCA9IHZsZDFfdTE2KHJlZjE2X3B0cjAgKyBpICogcmVmX3N0cmlkZSk7
Ci0gICAgdWludDE2eDRfdCByMSA9IHZsZDFfdTE2KHJlZjE2X3B0cjEgKyBpICogcmVmX3N0cmlk
ZSk7Ci0gICAgdWludDE2eDRfdCByMiA9IHZsZDFfdTE2KHJlZjE2X3B0cjIgKyBpICogcmVmX3N0
cmlkZSk7Ci0gICAgdWludDE2eDRfdCByMyA9IHZsZDFfdTE2KHJlZjE2X3B0cjMgKyBpICogcmVm
X3N0cmlkZSk7Ci0KLSAgICBzdW1bMF0gPSB2YWJhbF91MTYoc3VtWzBdLCBzLCByMCk7Ci0gICAg
c3VtWzFdID0gdmFiYWxfdTE2KHN1bVsxXSwgcywgcjEpOwotICAgIHN1bVsyXSA9IHZhYmFsX3Ux
NihzdW1bMl0sIHMsIHIyKTsKLSAgICBzdW1bM10gPSB2YWJhbF91MTYoc3VtWzNdLCBzLCByMyk7
Ci0KLSAgfSB3aGlsZSAoKytpIDwgaCk7Ci0KLSAgdnN0MXFfdTMyKHJlcywgaG9yaXpvbnRhbF9h
ZGRfNGRfdWludDMyeDQoc3VtKSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfc2Fk
OHhoeDRkX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0
IHJlZl9wdHJbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByZWZfc3RyaWRlLCB1aW50MzJfdCByZXNbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBoKSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMxNl9wdHIgPSBD
T05WRVJUX1RPX1NIT1JUUFRSKHNyY19wdHIpOwotICBjb25zdCB1aW50MTZfdCAqcmVmMTZfcHRy
MCA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0clswXSk7Ci0gIGNvbnN0IHVpbnQxNl90ICpy
ZWYxNl9wdHIxID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyWzFdKTsKLSAgY29uc3QgdWlu
dDE2X3QgKnJlZjE2X3B0cjIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl9wdHJbMl0pOwotICBj
b25zdCB1aW50MTZfdCAqcmVmMTZfcHRyMyA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0clsz
XSk7Ci0KLSAgdWludDE2eDhfdCBzdW1bNF0gPSB7IHZkdXBxX25fdTE2KDApLCB2ZHVwcV9uX3Ux
NigwKSwgdmR1cHFfbl91MTYoMCksCi0gICAgICAgICAgICAgICAgICAgICAgICB2ZHVwcV9uX3Ux
NigwKSB9OwotICB1aW50MzJ4NF90IHN1bV91MzJbNF07Ci0KLSAgaW50IGkgPSAwOwotICBkbyB7
Ci0gICAgdWludDE2eDhfdCBzID0gdmxkMXFfdTE2KHNyYzE2X3B0ciArIGkgKiBzcmNfc3RyaWRl
KTsKLQotICAgIHN1bVswXSA9IHZhYmFxX3UxNihzdW1bMF0sIHMsIHZsZDFxX3UxNihyZWYxNl9w
dHIwICsgaSAqIHJlZl9zdHJpZGUpKTsKLSAgICBzdW1bMV0gPSB2YWJhcV91MTYoc3VtWzFdLCBz
LCB2bGQxcV91MTYocmVmMTZfcHRyMSArIGkgKiByZWZfc3RyaWRlKSk7Ci0gICAgc3VtWzJdID0g
dmFiYXFfdTE2KHN1bVsyXSwgcywgdmxkMXFfdTE2KHJlZjE2X3B0cjIgKyBpICogcmVmX3N0cmlk
ZSkpOwotICAgIHN1bVszXSA9IHZhYmFxX3UxNihzdW1bM10sIHMsIHZsZDFxX3UxNihyZWYxNl9w
dHIzICsgaSAqIHJlZl9zdHJpZGUpKTsKLQotICB9IHdoaWxlICgrK2kgPCBoKTsKLQotICBzdW1f
dTMyWzBdID0gdnBhZGRscV91MTYoc3VtWzBdKTsKLSAgc3VtX3UzMlsxXSA9IHZwYWRkbHFfdTE2
KHN1bVsxXSk7Ci0gIHN1bV91MzJbMl0gPSB2cGFkZGxxX3UxNihzdW1bMl0pOwotICBzdW1fdTMy
WzNdID0gdnBhZGRscV91MTYoc3VtWzNdKTsKLSAgdnN0MXFfdTMyKHJlcywgaG9yaXpvbnRhbF9h
ZGRfNGRfdWludDMyeDQoc3VtX3UzMikpOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgc2FkOF9u
ZW9uKHVpbnQxNng4X3Qgc3JjLCB1aW50MTZ4OF90IHJlZiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyeDRfdCAqY29uc3Qgc2FkX3N1bSkgewotICB1aW50MTZ4OF90IGFic19k
aWZmID0gdmFiZHFfdTE2KHNyYywgcmVmKTsKLSAgKnNhZF9zdW0gPSB2cGFkYWxxX3UxNigqc2Fk
X3N1bSwgYWJzX2RpZmYpOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX3NhZDE2eGh4
NGRfbmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfcHRyWzRdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVp
bnQzMl90IHJlc1s0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBoKSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMxNl9wdHIgPSBDT05WRVJUX1RPX1NIT1JU
UFRSKHNyY19wdHIpOwotICBjb25zdCB1aW50MTZfdCAqcmVmMTZfcHRyMCA9IENPTlZFUlRfVE9f
U0hPUlRQVFIocmVmX3B0clswXSk7Ci0gIGNvbnN0IHVpbnQxNl90ICpyZWYxNl9wdHIxID0gQ09O
VkVSVF9UT19TSE9SVFBUUihyZWZfcHRyWzFdKTsKLSAgY29uc3QgdWludDE2X3QgKnJlZjE2X3B0
cjIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl9wdHJbMl0pOwotICBjb25zdCB1aW50MTZfdCAq
cmVmMTZfcHRyMyA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0clszXSk7Ci0KLSAgdWludDMy
eDRfdCBzdW1fbG9bNF0gPSB7IHZkdXBxX25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSwgdmR1cHFf
bl91MzIoMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB2ZHVwcV9uX3UzMigwKSB9Owot
ICB1aW50MzJ4NF90IHN1bV9oaVs0XSA9IHsgdmR1cHFfbl91MzIoMCksIHZkdXBxX25fdTMyKDAp
LCB2ZHVwcV9uX3UzMigwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkdXBxX25fdTMy
KDApIH07Ci0gIHVpbnQzMng0X3Qgc3VtWzRdOwotCi0gIGludCBpID0gMDsKLSAgZG8gewotICAg
IHVpbnQxNng4X3QgczAsIHMxOwotCi0gICAgczAgPSB2bGQxcV91MTYoc3JjMTZfcHRyICsgaSAq
IHNyY19zdHJpZGUpOwotICAgIHNhZDhfbmVvbihzMCwgdmxkMXFfdTE2KHJlZjE2X3B0cjAgKyBp
ICogcmVmX3N0cmlkZSksICZzdW1fbG9bMF0pOwotICAgIHNhZDhfbmVvbihzMCwgdmxkMXFfdTE2
KHJlZjE2X3B0cjEgKyBpICogcmVmX3N0cmlkZSksICZzdW1fbG9bMV0pOwotICAgIHNhZDhfbmVv
bihzMCwgdmxkMXFfdTE2KHJlZjE2X3B0cjIgKyBpICogcmVmX3N0cmlkZSksICZzdW1fbG9bMl0p
OwotICAgIHNhZDhfbmVvbihzMCwgdmxkMXFfdTE2KHJlZjE2X3B0cjMgKyBpICogcmVmX3N0cmlk
ZSksICZzdW1fbG9bM10pOwotCi0gICAgczEgPSB2bGQxcV91MTYoc3JjMTZfcHRyICsgaSAqIHNy
Y19zdHJpZGUgKyA4KTsKLSAgICBzYWQ4X25lb24oczEsIHZsZDFxX3UxNihyZWYxNl9wdHIwICsg
aSAqIHJlZl9zdHJpZGUgKyA4KSwgJnN1bV9oaVswXSk7Ci0gICAgc2FkOF9uZW9uKHMxLCB2bGQx
cV91MTYocmVmMTZfcHRyMSArIGkgKiByZWZfc3RyaWRlICsgOCksICZzdW1faGlbMV0pOwotICAg
IHNhZDhfbmVvbihzMSwgdmxkMXFfdTE2KHJlZjE2X3B0cjIgKyBpICogcmVmX3N0cmlkZSArIDgp
LCAmc3VtX2hpWzJdKTsKLSAgICBzYWQ4X25lb24oczEsIHZsZDFxX3UxNihyZWYxNl9wdHIzICsg
aSAqIHJlZl9zdHJpZGUgKyA4KSwgJnN1bV9oaVszXSk7Ci0KLSAgfSB3aGlsZSAoKytpIDwgaCk7
Ci0KLSAgc3VtWzBdID0gdmFkZHFfdTMyKHN1bV9sb1swXSwgc3VtX2hpWzBdKTsKLSAgc3VtWzFd
ID0gdmFkZHFfdTMyKHN1bV9sb1sxXSwgc3VtX2hpWzFdKTsKLSAgc3VtWzJdID0gdmFkZHFfdTMy
KHN1bV9sb1syXSwgc3VtX2hpWzJdKTsKLSAgc3VtWzNdID0gdmFkZHFfdTMyKHN1bV9sb1szXSwg
c3VtX2hpWzNdKTsKLQotICB2c3QxcV91MzIocmVzLCBob3Jpem9udGFsX2FkZF80ZF91aW50MzJ4
NChzdW0pKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9zYWR3eGh4NGRfbmVvbihj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX3B0cls0XSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
IHVpbnQzMl90IHJlc1s0XSwgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBoKSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMxNl9wdHIgPSBDT05WRVJU
X1RPX1NIT1JUUFRSKHNyY19wdHIpOwotICBjb25zdCB1aW50MTZfdCAqcmVmMTZfcHRyMCA9IENP
TlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0clswXSk7Ci0gIGNvbnN0IHVpbnQxNl90ICpyZWYxNl9w
dHIxID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyWzFdKTsKLSAgY29uc3QgdWludDE2X3Qg
KnJlZjE2X3B0cjIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl9wdHJbMl0pOwotICBjb25zdCB1
aW50MTZfdCAqcmVmMTZfcHRyMyA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0clszXSk7Ci0K
LSAgdWludDMyeDRfdCBzdW1fbG9bNF0gPSB7IHZkdXBxX25fdTMyKDApLCB2ZHVwcV9uX3UzMigw
KSwgdmR1cHFfbl91MzIoMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB2ZHVwcV9uX3Uz
MigwKSB9OwotICB1aW50MzJ4NF90IHN1bV9oaVs0XSA9IHsgdmR1cHFfbl91MzIoMCksIHZkdXBx
X25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZk
dXBxX25fdTMyKDApIH07Ci0gIHVpbnQzMng0X3Qgc3VtWzRdOwotCi0gIGludCBpID0gMDsKLSAg
ZG8gewotICAgIGludCBqID0gMDsKLSAgICBkbyB7Ci0gICAgICB1aW50MTZ4OF90IHMwLCBzMSwg
czIsIHMzOwotCi0gICAgICBzMCA9IHZsZDFxX3UxNihzcmMxNl9wdHIgKyBpICogc3JjX3N0cmlk
ZSArIGopOwotICAgICAgc2FkOF9uZW9uKHMwLCB2bGQxcV91MTYocmVmMTZfcHRyMCArIGkgKiBy
ZWZfc3RyaWRlICsgaiksICZzdW1fbG9bMF0pOwotICAgICAgc2FkOF9uZW9uKHMwLCB2bGQxcV91
MTYocmVmMTZfcHRyMSArIGkgKiByZWZfc3RyaWRlICsgaiksICZzdW1fbG9bMV0pOwotICAgICAg
c2FkOF9uZW9uKHMwLCB2bGQxcV91MTYocmVmMTZfcHRyMiArIGkgKiByZWZfc3RyaWRlICsgaiks
ICZzdW1fbG9bMl0pOwotICAgICAgc2FkOF9uZW9uKHMwLCB2bGQxcV91MTYocmVmMTZfcHRyMyAr
IGkgKiByZWZfc3RyaWRlICsgaiksICZzdW1fbG9bM10pOwotCi0gICAgICBzMSA9IHZsZDFxX3Ux
NihzcmMxNl9wdHIgKyBpICogc3JjX3N0cmlkZSArIGogKyA4KTsKLSAgICAgIHNhZDhfbmVvbihz
MSwgdmxkMXFfdTE2KHJlZjE2X3B0cjAgKyBpICogcmVmX3N0cmlkZSArIGogKyA4KSwgJnN1bV9o
aVswXSk7Ci0gICAgICBzYWQ4X25lb24oczEsIHZsZDFxX3UxNihyZWYxNl9wdHIxICsgaSAqIHJl
Zl9zdHJpZGUgKyBqICsgOCksICZzdW1faGlbMV0pOwotICAgICAgc2FkOF9uZW9uKHMxLCB2bGQx
cV91MTYocmVmMTZfcHRyMiArIGkgKiByZWZfc3RyaWRlICsgaiArIDgpLCAmc3VtX2hpWzJdKTsK
LSAgICAgIHNhZDhfbmVvbihzMSwgdmxkMXFfdTE2KHJlZjE2X3B0cjMgKyBpICogcmVmX3N0cmlk
ZSArIGogKyA4KSwgJnN1bV9oaVszXSk7Ci0KLSAgICAgIHMyID0gdmxkMXFfdTE2KHNyYzE2X3B0
ciArIGkgKiBzcmNfc3RyaWRlICsgaiArIDE2KTsKLSAgICAgIHNhZDhfbmVvbihzMiwgdmxkMXFf
dTE2KHJlZjE2X3B0cjAgKyBpICogcmVmX3N0cmlkZSArIGogKyAxNiksCi0gICAgICAgICAgICAg
ICAgJnN1bV9sb1swXSk7Ci0gICAgICBzYWQ4X25lb24oczIsIHZsZDFxX3UxNihyZWYxNl9wdHIx
ICsgaSAqIHJlZl9zdHJpZGUgKyBqICsgMTYpLAotICAgICAgICAgICAgICAgICZzdW1fbG9bMV0p
OwotICAgICAgc2FkOF9uZW9uKHMyLCB2bGQxcV91MTYocmVmMTZfcHRyMiArIGkgKiByZWZfc3Ry
aWRlICsgaiArIDE2KSwKLSAgICAgICAgICAgICAgICAmc3VtX2xvWzJdKTsKLSAgICAgIHNhZDhf
bmVvbihzMiwgdmxkMXFfdTE2KHJlZjE2X3B0cjMgKyBpICogcmVmX3N0cmlkZSArIGogKyAxNiks
Ci0gICAgICAgICAgICAgICAgJnN1bV9sb1szXSk7Ci0KLSAgICAgIHMzID0gdmxkMXFfdTE2KHNy
YzE2X3B0ciArIGkgKiBzcmNfc3RyaWRlICsgaiArIDI0KTsKLSAgICAgIHNhZDhfbmVvbihzMywg
dmxkMXFfdTE2KHJlZjE2X3B0cjAgKyBpICogcmVmX3N0cmlkZSArIGogKyAyNCksCi0gICAgICAg
ICAgICAgICAgJnN1bV9oaVswXSk7Ci0gICAgICBzYWQ4X25lb24oczMsIHZsZDFxX3UxNihyZWYx
Nl9wdHIxICsgaSAqIHJlZl9zdHJpZGUgKyBqICsgMjQpLAotICAgICAgICAgICAgICAgICZzdW1f
aGlbMV0pOwotICAgICAgc2FkOF9uZW9uKHMzLCB2bGQxcV91MTYocmVmMTZfcHRyMiArIGkgKiBy
ZWZfc3RyaWRlICsgaiArIDI0KSwKLSAgICAgICAgICAgICAgICAmc3VtX2hpWzJdKTsKLSAgICAg
IHNhZDhfbmVvbihzMywgdmxkMXFfdTE2KHJlZjE2X3B0cjMgKyBpICogcmVmX3N0cmlkZSArIGog
KyAyNCksCi0gICAgICAgICAgICAgICAgJnN1bV9oaVszXSk7Ci0KLSAgICAgIGogKz0gMzI7Ci0g
ICAgfSB3aGlsZSAoaiA8IHcpOwotCi0gIH0gd2hpbGUgKCsraSA8IGgpOwotCi0gIHN1bVswXSA9
IHZhZGRxX3UzMihzdW1fbG9bMF0sIHN1bV9oaVswXSk7Ci0gIHN1bVsxXSA9IHZhZGRxX3UzMihz
dW1fbG9bMV0sIHN1bV9oaVsxXSk7Ci0gIHN1bVsyXSA9IHZhZGRxX3UzMihzdW1fbG9bMl0sIHN1
bV9oaVsyXSk7Ci0gIHN1bVszXSA9IHZhZGRxX3UzMihzdW1fbG9bM10sIHN1bV9oaVszXSk7Ci0K
LSAgdnN0MXFfdTMyKHJlcywgaG9yaXpvbnRhbF9hZGRfNGRfdWludDMyeDQoc3VtKSk7Ci19Ci0K
LXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfc2FkNjR4aHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9wdHJbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgcmVzWzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpIHsKLSAgaGlnaGJkX3Nh
ZHd4aHg0ZF9uZW9uKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJpZGUsIHJl
cywgNjQsIGgpOwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX3NhZDMyeGh4NGRfbmVv
bihjb25zdCB1aW50OF90ICpzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfcHRyWzRdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90
IHJlc1s0XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBo
KSB7Ci0gIGhpZ2hiZF9zYWR3eGh4NGRfbmVvbihzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRy
LCByZWZfc3RyaWRlLCByZXMsIDMyLCBoKTsKLX0KLQotI2RlZmluZSBIQkRfU0FEX1dYSF80RF9O
RU9OKHcsIGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IHZvaWQgdnB4X2hpZ2hiZF9zYWQjI3cjI3gjI2gjI3g0ZF9uZW9uKCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgXAotICAgICAgaW50IHJl
Zl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSkgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgaGlnaGJkX3NhZCMjdyMjeGh4NGRfbmVvbihzcmMsIHNyY19zdHJpZGUs
IHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNhZF9hcnJheSwgKGgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB9Ci0KLUhCRF9TQURfV1hIXzREX05FT04oNCwgNCkKLUhCRF9TQURfV1hIXzREX05FT04oNCwg
OCkKLQotSEJEX1NBRF9XWEhfNERfTkVPTig4LCA0KQotSEJEX1NBRF9XWEhfNERfTkVPTig4LCA4
KQotSEJEX1NBRF9XWEhfNERfTkVPTig4LCAxNikKLQotSEJEX1NBRF9XWEhfNERfTkVPTigxNiwg
OCkKLUhCRF9TQURfV1hIXzREX05FT04oMTYsIDE2KQotSEJEX1NBRF9XWEhfNERfTkVPTigxNiwg
MzIpCi0KLUhCRF9TQURfV1hIXzREX05FT04oMzIsIDE2KQotSEJEX1NBRF9XWEhfNERfTkVPTigz
MiwgMzIpCi1IQkRfU0FEX1dYSF80RF9ORU9OKDMyLCA2NCkKLQotSEJEX1NBRF9XWEhfNERfTkVP
Tig2NCwgMzIpCi1IQkRfU0FEX1dYSF80RF9ORU9OKDY0LCA2NCkKLQotI3VuZGVmIEhCRF9TQURf
V1hIXzREX05FT04KLQotI2RlZmluZSBIQkRfU0FEX1NLSVBfV1hIXzREX05FT04odywgaCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB2b2lkIHZweF9oaWdoYmRf
c2FkX3NraXBfIyN3IyN4IyNoIyN4NGRfbmVvbiggICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWlu
dDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCAgXAotICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQz
Ml90IHNhZF9hcnJheVs0XSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGhpZ2hiZF9zYWQjI3cjI3hoeDRkX25lb24oc3JjLCAyICogc3JjX3N0cmlkZSwgcmVmX2FycmF5
LCAyICogcmVmX3N0cmlkZSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FkX2Fy
cmF5LCAoKGgpID4+IDEpKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNhZF9hcnJh
eVswXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHNhZF9hcnJheVsxXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNhZF9hcnJheVsyXSA8PD0g
MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIHNhZF9hcnJheVszXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLUhCRF9TQURfU0tJUF9XWEhfNERfTkVP
Tig0LCA0KQotSEJEX1NBRF9TS0lQX1dYSF80RF9ORU9OKDQsIDgpCi0KLUhCRF9TQURfU0tJUF9X
WEhfNERfTkVPTig4LCA0KQotSEJEX1NBRF9TS0lQX1dYSF80RF9ORU9OKDgsIDgpCi1IQkRfU0FE
X1NLSVBfV1hIXzREX05FT04oOCwgMTYpCi0KLUhCRF9TQURfU0tJUF9XWEhfNERfTkVPTigxNiwg
OCkKLUhCRF9TQURfU0tJUF9XWEhfNERfTkVPTigxNiwgMTYpCi1IQkRfU0FEX1NLSVBfV1hIXzRE
X05FT04oMTYsIDMyKQotCi1IQkRfU0FEX1NLSVBfV1hIXzREX05FT04oMzIsIDE2KQotSEJEX1NB
RF9TS0lQX1dYSF80RF9ORU9OKDMyLCAzMikKLUhCRF9TQURfU0tJUF9XWEhfNERfTkVPTigzMiwg
NjQpCi0KLUhCRF9TQURfU0tJUF9XWEhfNERfTkVPTig2NCwgMzIpCi1IQkRfU0FEX1NLSVBfV1hI
XzREX05FT04oNjQsIDY0KQotCi0jdW5kZWYgSEJEX1NBRF9TS0lQX1dYSF80RF9ORU9OCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9zYWRfbmVvbi5jIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9oaWdoYmRfc2FkX25lb24uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjk5YmFjNjZjZDZkLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9oaWdoYmRfc2FkX25lb24uYworKysgL2Rldi9udWxsCkBAIC0xLDQwOCArMCwwIEBA
Ci0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBh
ZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5k
Ci0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRo
b3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2Yg
dGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxhcm1fbmVvbi5oPgotCi0jaW5jbHVk
ZSAiLi92cHhfY29uZmlnLmgiCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLQotI2luY2x1
ZGUgInZweC92cHhfaW50ZWdlci5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgi
Ci0jaW5jbHVkZSAidnB4X2RzcC9hcm0vc3VtX25lb24uaCIKLQotc3RhdGljIElOTElORSB1aW50
MzJfdCBoaWdoYmRfc2FkNHhoX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3Ry
aWRlLCBpbnQgaCkgewotICBjb25zdCB1aW50MTZfdCAqc3JjMTZfcHRyID0gQ09OVkVSVF9UT19T
SE9SVFBUUihzcmNfcHRyKTsKLSAgY29uc3QgdWludDE2X3QgKnJlZjE2X3B0ciA9IENPTlZFUlRf
VE9fU0hPUlRQVFIocmVmX3B0cik7Ci0gIHVpbnQzMng0X3Qgc3VtID0gdmR1cHFfbl91MzIoMCk7
Ci0KLSAgaW50IGkgPSBoOwotICBkbyB7Ci0gICAgdWludDE2eDRfdCBzID0gdmxkMV91MTYoc3Jj
MTZfcHRyKTsKLSAgICB1aW50MTZ4NF90IHIgPSB2bGQxX3UxNihyZWYxNl9wdHIpOwotICAgIHN1
bSA9IHZhYmFsX3UxNihzdW0sIHMsIHIpOwotCi0gICAgc3JjMTZfcHRyICs9IHNyY19zdHJpZGU7
Ci0gICAgcmVmMTZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQot
ICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWludDMyeDQoc3VtKTsKLX0KLQotc3RhdGljIElOTElO
RSB1aW50MzJfdCBoaWdoYmRfc2FkOHhoX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAq
cmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLCBpbnQgaCkgewotICBjb25zdCB1aW50MTZfdCAqc3JjMTZfcHRyID0gQ09OVkVS
VF9UT19TSE9SVFBUUihzcmNfcHRyKTsKLSAgY29uc3QgdWludDE2X3QgKnJlZjE2X3B0ciA9IENP
TlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0cik7Ci0gIHVpbnQxNng4X3Qgc3VtID0gdmR1cHFfbl91
MTYoMCk7Ci0KLSAgaW50IGkgPSBoOwotICBkbyB7Ci0gICAgdWludDE2eDhfdCBzID0gdmxkMXFf
dTE2KHNyYzE2X3B0cik7Ci0gICAgdWludDE2eDhfdCByID0gdmxkMXFfdTE2KHJlZjE2X3B0cik7
Ci0gICAgc3VtID0gdmFiYXFfdTE2KHN1bSwgcywgcik7Ci0KLSAgICBzcmMxNl9wdHIgKz0gc3Jj
X3N0cmlkZTsKLSAgICByZWYxNl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgfSB3aGlsZSAoLS1pICE9
IDApOwotCi0gIHJldHVybiBob3Jpem9udGFsX2FkZF91aW50MTZ4OChzdW0pOwotfQotCi1zdGF0
aWMgSU5MSU5FIHVpbnQzMl90IGhpZ2hiZF9zYWQxNnhoX25lb24oY29uc3QgdWludDhfdCAqc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgaCkgewotICBjb25zdCB1aW50MTZfdCAqc3JjMTZf
cHRyID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsKLSAgY29uc3QgdWludDE2X3QgKnJl
ZjE2X3B0ciA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0cik7Ci0gIHVpbnQzMng0X3Qgc3Vt
WzJdID0geyB2ZHVwcV9uX3UzMigwKSwgdmR1cHFfbl91MzIoMCkgfTsKLQotICBpbnQgaSA9IGg7
Ci0gIGRvIHsKLSAgICB1aW50MTZ4OF90IHMwLCBzMSwgcjAsIHIxOwotICAgIHVpbnQxNng4X3Qg
ZGlmZjAsIGRpZmYxOwotCi0gICAgczAgPSB2bGQxcV91MTYoc3JjMTZfcHRyKTsKLSAgICByMCA9
IHZsZDFxX3UxNihyZWYxNl9wdHIpOwotICAgIGRpZmYwID0gdmFiZHFfdTE2KHMwLCByMCk7Ci0g
ICAgc3VtWzBdID0gdnBhZGFscV91MTYoc3VtWzBdLCBkaWZmMCk7Ci0KLSAgICBzMSA9IHZsZDFx
X3UxNihzcmMxNl9wdHIgKyA4KTsKLSAgICByMSA9IHZsZDFxX3UxNihyZWYxNl9wdHIgKyA4KTsK
LSAgICBkaWZmMSA9IHZhYmRxX3UxNihzMSwgcjEpOwotICAgIHN1bVsxXSA9IHZwYWRhbHFfdTE2
KHN1bVsxXSwgZGlmZjEpOwotCi0gICAgc3JjMTZfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcmVm
MTZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICBzdW1bMF0g
PSB2YWRkcV91MzIoc3VtWzBdLCBzdW1bMV0pOwotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWlu
dDMyeDQoc3VtWzBdKTsKLX0KLQotc3RhdGljIElOTElORSB1aW50MzJfdCBoaWdoYmRfc2Fkd3ho
X25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgdywgaW50IGgp
IHsKLSAgY29uc3QgdWludDE2X3QgKnNyYzE2X3B0ciA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3Jj
X3B0cik7Ci0gIGNvbnN0IHVpbnQxNl90ICpyZWYxNl9wdHIgPSBDT05WRVJUX1RPX1NIT1JUUFRS
KHJlZl9wdHIpOwotICB1aW50MzJ4NF90IHN1bVs0XSA9IHsgdmR1cHFfbl91MzIoMCksIHZkdXBx
X25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHZkdXBx
X25fdTMyKDApIH07Ci0KLSAgaW50IGkgPSBoOwotICBkbyB7Ci0gICAgaW50IGogPSAwOwotICAg
IGRvIHsKLSAgICAgIHVpbnQxNng4X3QgczAsIHMxLCBzMiwgczMsIHIwLCByMSwgcjIsIHIzOwot
ICAgICAgdWludDE2eDhfdCBkaWZmMCwgZGlmZjEsIGRpZmYyLCBkaWZmMzsKLQotICAgICAgczAg
PSB2bGQxcV91MTYoc3JjMTZfcHRyICsgaik7Ci0gICAgICByMCA9IHZsZDFxX3UxNihyZWYxNl9w
dHIgKyBqKTsKLSAgICAgIGRpZmYwID0gdmFiZHFfdTE2KHMwLCByMCk7Ci0gICAgICBzdW1bMF0g
PSB2cGFkYWxxX3UxNihzdW1bMF0sIGRpZmYwKTsKLQotICAgICAgczEgPSB2bGQxcV91MTYoc3Jj
MTZfcHRyICsgaiArIDgpOwotICAgICAgcjEgPSB2bGQxcV91MTYocmVmMTZfcHRyICsgaiArIDgp
OwotICAgICAgZGlmZjEgPSB2YWJkcV91MTYoczEsIHIxKTsKLSAgICAgIHN1bVsxXSA9IHZwYWRh
bHFfdTE2KHN1bVsxXSwgZGlmZjEpOwotCi0gICAgICBzMiA9IHZsZDFxX3UxNihzcmMxNl9wdHIg
KyBqICsgMTYpOwotICAgICAgcjIgPSB2bGQxcV91MTYocmVmMTZfcHRyICsgaiArIDE2KTsKLSAg
ICAgIGRpZmYyID0gdmFiZHFfdTE2KHMyLCByMik7Ci0gICAgICBzdW1bMl0gPSB2cGFkYWxxX3Ux
NihzdW1bMl0sIGRpZmYyKTsKLQotICAgICAgczMgPSB2bGQxcV91MTYoc3JjMTZfcHRyICsgaiAr
IDI0KTsKLSAgICAgIHIzID0gdmxkMXFfdTE2KHJlZjE2X3B0ciArIGogKyAyNCk7Ci0gICAgICBk
aWZmMyA9IHZhYmRxX3UxNihzMywgcjMpOwotICAgICAgc3VtWzNdID0gdnBhZGFscV91MTYoc3Vt
WzNdLCBkaWZmMyk7Ci0KLSAgICAgIGogKz0gMzI7Ci0gICAgfSB3aGlsZSAoaiA8IHcpOwotCi0g
ICAgc3JjMTZfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcmVmMTZfcHRyICs9IHJlZl9zdHJpZGU7
Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICBzdW1bMF0gPSB2YWRkcV91MzIoc3VtWzBdLCBz
dW1bMV0pOwotICBzdW1bMl0gPSB2YWRkcV91MzIoc3VtWzJdLCBzdW1bM10pOwotICBzdW1bMF0g
PSB2YWRkcV91MzIoc3VtWzBdLCBzdW1bMl0pOwotCi0gIHJldHVybiBob3Jpem9udGFsX2FkZF91
aW50MzJ4NChzdW1bMF0pOwotfQotCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBoaWdoYmRf
c2FkNjR4aF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwgaW50IGgpIHsKLSAgcmV0dXJuIGhpZ2hiZF9zYWR3eGhfbmVvbihzcmNfcHRyLCBz
cmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3RyaWRlLCA2NCwgaCk7Ci19Ci0KLXN0YXRpYyBJTkxJ
TkUgdW5zaWduZWQgaW50IGhpZ2hiZF9zYWQzMnhoX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgaCkgewotICByZXR1cm4gaGlnaGJk
X3NhZHd4aF9uZW9uKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJpZGUsIDMy
LCBoKTsKLX0KLQotI2RlZmluZSBIQkRfU0FEX1dYSF9ORU9OKHcsIGgpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X3NhZCMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwg
ICAgICAgICAgICAgXAotICAgICAgaW50IHJlZl9zdHJpZGUpIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcmV0dXJuIGhpZ2hiZF9zYWQj
I3cjI3hoX25lb24oc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIChoKSk7IFwKLSAg
fQotCi1IQkRfU0FEX1dYSF9ORU9OKDQsIDQpCi1IQkRfU0FEX1dYSF9ORU9OKDQsIDgpCi0KLUhC
RF9TQURfV1hIX05FT04oOCwgNCkKLUhCRF9TQURfV1hIX05FT04oOCwgOCkKLUhCRF9TQURfV1hI
X05FT04oOCwgMTYpCi0KLUhCRF9TQURfV1hIX05FT04oMTYsIDgpCi1IQkRfU0FEX1dYSF9ORU9O
KDE2LCAxNikKLUhCRF9TQURfV1hIX05FT04oMTYsIDMyKQotCi1IQkRfU0FEX1dYSF9ORU9OKDMy
LCAxNikKLUhCRF9TQURfV1hIX05FT04oMzIsIDMyKQotSEJEX1NBRF9XWEhfTkVPTigzMiwgNjQp
Ci0KLUhCRF9TQURfV1hIX05FT04oNjQsIDMyKQotSEJEX1NBRF9XWEhfTkVPTig2NCwgNjQpCi0K
LSN1bmRlZiBIQkRfU0FEX1dYSF9ORU9OCi0KLSNkZWZpbmUgSEJEX1NBRF9TS0lQX1dYSF9ORU9O
KHcsIGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2cHhf
aGlnaGJkX3NhZF9za2lwXyMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgXAotICAgICAgY29u
c3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmLCAgIFwK
LSAgICAgIGludCByZWZfc3RyaWRlKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgcmV0dXJuIDIgKiBoaWdoYmRfc2FkIyN3IyN4aF9uZW9uKHNyYywgMiAq
IHNyY19zdHJpZGUsIHJlZiwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyICogcmVmX3N0cmlkZSwgKGgpIC8gMik7IFwKLSAgfQotCi1IQkRfU0FEX1NLSVBfV1hIX05F
T04oNCwgNCkKLUhCRF9TQURfU0tJUF9XWEhfTkVPTig0LCA4KQotCi1IQkRfU0FEX1NLSVBfV1hI
X05FT04oOCwgNCkKLUhCRF9TQURfU0tJUF9XWEhfTkVPTig4LCA4KQotSEJEX1NBRF9TS0lQX1dY
SF9ORU9OKDgsIDE2KQotCi1IQkRfU0FEX1NLSVBfV1hIX05FT04oMTYsIDgpCi1IQkRfU0FEX1NL
SVBfV1hIX05FT04oMTYsIDE2KQotSEJEX1NBRF9TS0lQX1dYSF9ORU9OKDE2LCAzMikKLQotSEJE
X1NBRF9TS0lQX1dYSF9ORU9OKDMyLCAxNikKLUhCRF9TQURfU0tJUF9XWEhfTkVPTigzMiwgMzIp
Ci1IQkRfU0FEX1NLSVBfV1hIX05FT04oMzIsIDY0KQotCi1IQkRfU0FEX1NLSVBfV1hIX05FT04o
NjQsIDMyKQotSEJEX1NBRF9TS0lQX1dYSF9ORU9OKDY0LCA2NCkKLQotI3VuZGVmIEhCRF9TQURf
U0tJUF9XWEhfTkVPTgotCi1zdGF0aWMgSU5MSU5FIHVpbnQzMl90IGhpZ2hiZF9zYWQ0eGhfYXZn
X25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBp
bnQgaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpzZWNvbmRfcHJlZCkgewotICBjb25zdCB1aW50MTZfdCAqc3JjMTZfcHRyID0g
Q09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsKLSAgY29uc3QgdWludDE2X3QgKnJlZjE2X3B0
ciA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0cik7Ci0gIGNvbnN0IHVpbnQxNl90ICpwcmVk
MTZfcHRyID0gQ09OVkVSVF9UT19TSE9SVFBUUihzZWNvbmRfcHJlZCk7Ci0gIHVpbnQzMng0X3Qg
c3VtID0gdmR1cHFfbl91MzIoMCk7Ci0KLSAgaW50IGkgPSBoOwotICBkbyB7Ci0gICAgdWludDE2
eDRfdCBzID0gdmxkMV91MTYoc3JjMTZfcHRyKTsKLSAgICB1aW50MTZ4NF90IHIgPSB2bGQxX3Ux
NihyZWYxNl9wdHIpOwotICAgIHVpbnQxNng0X3QgcCA9IHZsZDFfdTE2KHByZWQxNl9wdHIpOwot
Ci0gICAgdWludDE2eDRfdCBhdmcgPSB2cmhhZGRfdTE2KHIsIHApOwotICAgIHN1bSA9IHZhYmFs
X3UxNihzdW0sIHMsIGF2Zyk7Ci0KLSAgICBzcmMxNl9wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICBy
ZWYxNl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICBwcmVkMTZfcHRyICs9IDQ7Ci0gIH0gd2hpbGUg
KC0taSAhPSAwKTsKLQotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWludDMyeDQoc3VtKTsKLX0K
LQotc3RhdGljIElOTElORSB1aW50MzJfdCBoaWdoYmRfc2FkOHhoX2F2Z19uZW9uKGNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vj
b25kX3ByZWQpIHsKLSAgY29uc3QgdWludDE2X3QgKnNyYzE2X3B0ciA9IENPTlZFUlRfVE9fU0hP
UlRQVFIoc3JjX3B0cik7Ci0gIGNvbnN0IHVpbnQxNl90ICpyZWYxNl9wdHIgPSBDT05WRVJUX1RP
X1NIT1JUUFRSKHJlZl9wdHIpOwotICBjb25zdCB1aW50MTZfdCAqcHJlZDE2X3B0ciA9IENPTlZF
UlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpOwotICB1aW50MzJ4NF90IHN1bSA9IHZkdXBxX25f
dTMyKDApOwotCi0gIGludCBpID0gaDsKLSAgZG8gewotICAgIHVpbnQxNng4X3QgcyA9IHZsZDFx
X3UxNihzcmMxNl9wdHIpOwotICAgIHVpbnQxNng4X3QgciA9IHZsZDFxX3UxNihyZWYxNl9wdHIp
OwotICAgIHVpbnQxNng4X3QgcCA9IHZsZDFxX3UxNihwcmVkMTZfcHRyKTsKLQotICAgIHVpbnQx
Nng4X3QgYXZnID0gdnJoYWRkcV91MTYociwgcCk7Ci0gICAgdWludDE2eDhfdCBkaWZmID0gdmFi
ZHFfdTE2KHMsIGF2Zyk7Ci0gICAgc3VtID0gdnBhZGFscV91MTYoc3VtLCBkaWZmKTsKLQotICAg
IHNyYzE2X3B0ciArPSBzcmNfc3RyaWRlOwotICAgIHJlZjE2X3B0ciArPSByZWZfc3RyaWRlOwot
ICAgIHByZWQxNl9wdHIgKz0gODsKLSAgfSB3aGlsZSAoLS1pICE9IDApOwotCi0gIHJldHVybiBo
b3Jpem9udGFsX2FkZF91aW50MzJ4NChzdW0pOwotfQotCi1zdGF0aWMgSU5MSU5FIHVpbnQzMl90
IGhpZ2hiZF9zYWQxNnhoX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkKSB7Ci0gIGNvbnN0
IHVpbnQxNl90ICpzcmMxNl9wdHIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyY19wdHIpOwotICBj
b25zdCB1aW50MTZfdCAqcmVmMTZfcHRyID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsK
LSAgY29uc3QgdWludDE2X3QgKnByZWQxNl9wdHIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNlY29u
ZF9wcmVkKTsKLSAgdWludDMyeDRfdCBzdW1bMl0gPSB7IHZkdXBxX25fdTMyKDApLCB2ZHVwcV9u
X3UzMigwKSB9OwotCi0gIGludCBpID0gaDsKLSAgZG8gewotICAgIHVpbnQxNng4X3QgczAsIHMx
LCByMCwgcjEsIHAwLCBwMTsKLSAgICB1aW50MTZ4OF90IGF2ZzAsIGF2ZzEsIGRpZmYwLCBkaWZm
MTsKLQotICAgIHMwID0gdmxkMXFfdTE2KHNyYzE2X3B0cik7Ci0gICAgcjAgPSB2bGQxcV91MTYo
cmVmMTZfcHRyKTsKLSAgICBwMCA9IHZsZDFxX3UxNihwcmVkMTZfcHRyKTsKLSAgICBhdmcwID0g
dnJoYWRkcV91MTYocjAsIHAwKTsKLSAgICBkaWZmMCA9IHZhYmRxX3UxNihzMCwgYXZnMCk7Ci0g
ICAgc3VtWzBdID0gdnBhZGFscV91MTYoc3VtWzBdLCBkaWZmMCk7Ci0KLSAgICBzMSA9IHZsZDFx
X3UxNihzcmMxNl9wdHIgKyA4KTsKLSAgICByMSA9IHZsZDFxX3UxNihyZWYxNl9wdHIgKyA4KTsK
LSAgICBwMSA9IHZsZDFxX3UxNihwcmVkMTZfcHRyICsgOCk7Ci0gICAgYXZnMSA9IHZyaGFkZHFf
dTE2KHIxLCBwMSk7Ci0gICAgZGlmZjEgPSB2YWJkcV91MTYoczEsIGF2ZzEpOwotICAgIHN1bVsx
XSA9IHZwYWRhbHFfdTE2KHN1bVsxXSwgZGlmZjEpOwotCi0gICAgc3JjMTZfcHRyICs9IHNyY19z
dHJpZGU7Ci0gICAgcmVmMTZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgcHJlZDE2X3B0ciArPSAx
NjsKLSAgfSB3aGlsZSAoLS1pICE9IDApOwotCi0gIHN1bVswXSA9IHZhZGRxX3UzMihzdW1bMF0s
IHN1bVsxXSk7Ci0gIHJldHVybiBob3Jpem9udGFsX2FkZF91aW50MzJ4NChzdW1bMF0pOwotfQot
Ci1zdGF0aWMgSU5MSU5FIHVpbnQzMl90IGhpZ2hiZF9zYWR3eGhfYXZnX25lb24oY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgdywgaW50IGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqc2Vjb25kX3ByZWQpIHsKLSAgY29uc3QgdWludDE2X3QgKnNyYzE2X3B0ciA9IENPTlZFUlRf
VE9fU0hPUlRQVFIoc3JjX3B0cik7Ci0gIGNvbnN0IHVpbnQxNl90ICpyZWYxNl9wdHIgPSBDT05W
RVJUX1RPX1NIT1JUUFRSKHJlZl9wdHIpOwotICBjb25zdCB1aW50MTZfdCAqcHJlZDE2X3B0ciA9
IENPTlZFUlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpOwotICB1aW50MzJ4NF90IHN1bVs0XSA9
IHsgdmR1cHFfbl91MzIoMCksIHZkdXBxX25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHZkdXBxX25fdTMyKDApIH07Ci0KLSAgaW50IGkgPSBoOwotICBk
byB7Ci0gICAgaW50IGogPSAwOwotICAgIGRvIHsKLSAgICAgIHVpbnQxNng4X3QgczAsIHMxLCBz
MiwgczMsIHIwLCByMSwgcjIsIHIzLCBwMCwgcDEsIHAyLCBwMzsKLSAgICAgIHVpbnQxNng4X3Qg
YXZnMCwgYXZnMSwgYXZnMiwgYXZnMywgZGlmZjAsIGRpZmYxLCBkaWZmMiwgZGlmZjM7Ci0KLSAg
ICAgIHMwID0gdmxkMXFfdTE2KHNyYzE2X3B0ciArIGopOwotICAgICAgcjAgPSB2bGQxcV91MTYo
cmVmMTZfcHRyICsgaik7Ci0gICAgICBwMCA9IHZsZDFxX3UxNihwcmVkMTZfcHRyICsgaik7Ci0g
ICAgICBhdmcwID0gdnJoYWRkcV91MTYocjAsIHAwKTsKLSAgICAgIGRpZmYwID0gdmFiZHFfdTE2
KHMwLCBhdmcwKTsKLSAgICAgIHN1bVswXSA9IHZwYWRhbHFfdTE2KHN1bVswXSwgZGlmZjApOwot
Ci0gICAgICBzMSA9IHZsZDFxX3UxNihzcmMxNl9wdHIgKyBqICsgOCk7Ci0gICAgICByMSA9IHZs
ZDFxX3UxNihyZWYxNl9wdHIgKyBqICsgOCk7Ci0gICAgICBwMSA9IHZsZDFxX3UxNihwcmVkMTZf
cHRyICsgaiArIDgpOwotICAgICAgYXZnMSA9IHZyaGFkZHFfdTE2KHIxLCBwMSk7Ci0gICAgICBk
aWZmMSA9IHZhYmRxX3UxNihzMSwgYXZnMSk7Ci0gICAgICBzdW1bMV0gPSB2cGFkYWxxX3UxNihz
dW1bMV0sIGRpZmYxKTsKLQotICAgICAgczIgPSB2bGQxcV91MTYoc3JjMTZfcHRyICsgaiArIDE2
KTsKLSAgICAgIHIyID0gdmxkMXFfdTE2KHJlZjE2X3B0ciArIGogKyAxNik7Ci0gICAgICBwMiA9
IHZsZDFxX3UxNihwcmVkMTZfcHRyICsgaiArIDE2KTsKLSAgICAgIGF2ZzIgPSB2cmhhZGRxX3Ux
NihyMiwgcDIpOwotICAgICAgZGlmZjIgPSB2YWJkcV91MTYoczIsIGF2ZzIpOwotICAgICAgc3Vt
WzJdID0gdnBhZGFscV91MTYoc3VtWzJdLCBkaWZmMik7Ci0KLSAgICAgIHMzID0gdmxkMXFfdTE2
KHNyYzE2X3B0ciArIGogKyAyNCk7Ci0gICAgICByMyA9IHZsZDFxX3UxNihyZWYxNl9wdHIgKyBq
ICsgMjQpOwotICAgICAgcDMgPSB2bGQxcV91MTYocHJlZDE2X3B0ciArIGogKyAyNCk7Ci0gICAg
ICBhdmczID0gdnJoYWRkcV91MTYocjMsIHAzKTsKLSAgICAgIGRpZmYzID0gdmFiZHFfdTE2KHMz
LCBhdmczKTsKLSAgICAgIHN1bVszXSA9IHZwYWRhbHFfdTE2KHN1bVszXSwgZGlmZjMpOwotCi0g
ICAgICBqICs9IDMyOwotICAgIH0gd2hpbGUgKGogPCB3KTsKLQotICAgIHNyYzE2X3B0ciArPSBz
cmNfc3RyaWRlOwotICAgIHJlZjE2X3B0ciArPSByZWZfc3RyaWRlOwotICAgIHByZWQxNl9wdHIg
Kz0gdzsKLSAgfSB3aGlsZSAoLS1pICE9IDApOwotCi0gIHN1bVswXSA9IHZhZGRxX3UzMihzdW1b
MF0sIHN1bVsxXSk7Ci0gIHN1bVsyXSA9IHZhZGRxX3UzMihzdW1bMl0sIHN1bVszXSk7Ci0gIHN1
bVswXSA9IHZhZGRxX3UzMihzdW1bMF0sIHN1bVsyXSk7Ci0KLSAgcmV0dXJuIGhvcml6b250YWxf
YWRkX3VpbnQzMng0KHN1bVswXSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdW5zaWduZWQgaW50IGhp
Z2hiZF9zYWQ2NHhoX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJl
ZCkgewotICByZXR1cm4gaGlnaGJkX3NhZHd4aF9hdmdfbmVvbihzcmNfcHRyLCBzcmNfc3RyaWRl
LCByZWZfcHRyLCByZWZfc3RyaWRlLCA2NCwgaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2Vjb25kX3ByZWQpOwotfQotCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBoaWdo
YmRfc2FkMzJ4aF9hdmdfbmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIGludCBoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQp
IHsKLSAgcmV0dXJuIGhpZ2hiZF9zYWR3eGhfYXZnX25lb24oc3JjX3B0ciwgc3JjX3N0cmlkZSwg
cmVmX3B0ciwgcmVmX3N0cmlkZSwgMzIsIGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlY29uZF9wcmVkKTsKLX0KLQotI2RlZmluZSBIQkRfU0FEX1dYSF9BVkdfTkVPTih3LCBo
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50MzJf
dCB2cHhfaGlnaGJkX3NhZCMjdyMjeCMjaCMjX2F2Z19uZW9uKCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqcmVmLCBpbnQgcmVmX3N0cmlkZSwgXAotICAgICAgY29uc3QgdWludDhf
dCAqc2Vjb25kX3ByZWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIHJldHVybiBoaWdoYmRfc2FkIyN3IyN4aF9hdmdfbmVvbihzcmMsIHNyY19zdHJp
ZGUsIHJlZiwgcmVmX3N0cmlkZSwgKGgpLCAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWNvbmRfcHJlZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9
Ci0KLUhCRF9TQURfV1hIX0FWR19ORU9OKDQsIDQpCi1IQkRfU0FEX1dYSF9BVkdfTkVPTig0LCA4
KQotCi1IQkRfU0FEX1dYSF9BVkdfTkVPTig4LCA0KQotSEJEX1NBRF9XWEhfQVZHX05FT04oOCwg
OCkKLUhCRF9TQURfV1hIX0FWR19ORU9OKDgsIDE2KQotCi1IQkRfU0FEX1dYSF9BVkdfTkVPTigx
NiwgOCkKLUhCRF9TQURfV1hIX0FWR19ORU9OKDE2LCAxNikKLUhCRF9TQURfV1hIX0FWR19ORU9O
KDE2LCAzMikKLQotSEJEX1NBRF9XWEhfQVZHX05FT04oMzIsIDE2KQotSEJEX1NBRF9XWEhfQVZH
X05FT04oMzIsIDMyKQotSEJEX1NBRF9XWEhfQVZHX05FT04oMzIsIDY0KQotCi1IQkRfU0FEX1dY
SF9BVkdfTkVPTig2NCwgMzIpCi1IQkRfU0FEX1dYSF9BVkdfTkVPTig2NCwgNjQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF9zdWJwZWxfdmFyaWFuY2VfbmVvbi5j
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfc3VicGVsX3ZhcmlhbmNlX25lb24uYwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgzZGY1Nzk3YWIxLi4wMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9oaWdoYmRfc3VicGVsX3ZhcmlhbmNlX25lb24u
YworKysgL2Rldi9udWxsCkBAIC0xLDU4NiArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykg
MjAyMyBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgot
ICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBw
cm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5U
Uy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGlu
IHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0K
LSNpbmNsdWRlIDxhcm1fbmVvbi5oPgotI2luY2x1ZGUgPGFzc2VydC5oPgotCi0jaW5jbHVkZSAi
Li92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLQotI2luY2x1ZGUg
InZweC92cHhfaW50ZWdlci5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCi0K
LS8vIFRoZSBiaWxpbmVhciBmaWx0ZXJzIGxvb2sgbGlrZSB0aGlzOgotLy8KLS8vIHt7IDEyOCwg
IDAgfSwgeyAxMTIsIDE2IH0sIHsgOTYsIDMyIH0sIHsgODAsICA0OCB9LAotLy8gIHsgIDY0LCA2
NCB9LCB7ICA0OCwgODAgfSwgeyAzMiwgOTYgfSwgeyAxNiwgMTEyIH19Ci0vLwotLy8gV2UgY2Fu
IGZhY3RvciBvdXQgdGhlIGhpZ2hlc3QgY29tbW9uIG11bHRpcGxlLCBzdWNoIHRoYXQgdGhlIHN1
bSBvZiBib3RoCi0vLyB3ZWlnaHRzIHdpbGwgYmUgOCBpbnN0ZWFkIG9mIDEyOC4gVGhlIGJlbmVm
aXRzIG9mIHRoaXMgYXJlIHR3by1mb2xkOgotLy8KLS8vIDEpIFdlIGNhbiBpbmZlciB0aGUgZmls
dGVyIHZhbHVlcyBmcm9tIHRoZSBmaWx0ZXJfb2Zmc2V0IHBhcmFtZXRlciBpbiB0aGUKLS8vIGJp
bGluZWFyIGZpbHRlciBmdW5jdGlvbnMgYmVsb3cgLSB3ZSBkb24ndCBoYXZlIHRvIGFjdHVhbGx5
IGxvYWQgdGhlIHZhbHVlcwotLy8gZnJvbSBtZW1vcnk6Ci0vLyBmMCA9IDggLSBmaWx0ZXJfb2Zm
c2V0Ci0vLyBmMSA9IGZpbHRlcl9vZmZzZXQKLS8vCi0vLyAyKSBTY2FsaW5nIHRoZSBwaXhlbCB2
YWx1ZXMgYnkgOCwgaW5zdGVhZCBvZiAxMjggZW5hYmxlcyB1cyB0byBvcGVyYXRlIG9uCi0vLyAx
Ni1iaXQgZGF0YSB0eXBlcyBhdCBhbGwgdGltZXMsIHJhdGhlciB0aGFuIHdpZGVuaW5nIG91dCB0
byAzMi1iaXQgYW5kCi0vLyByZXF1aXJpbmcgZG91YmxlIHRoZSBudW1iZXIgb2YgZGF0YSBwcm9j
ZXNzaW5nIGluc3RydWN0aW9ucy4gKDEyLWJpdCAqIDggPQotLy8gMTUtYml0LikKLQotLy8gUHJv
Y2VzcyBhIGJsb2NrIGV4YWN0bHkgNCB3aWRlIGFuZCBhbnkgaGVpZ2h0Lgotc3RhdGljIHZvaWQg
aGlnaGJkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzQoY29uc3QgdWludDE2X3QgKnNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAq
ZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcGl4ZWxfc3RlcCwgaW50IGRzdF9oZWlnaHQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmlsdGVyX29mZnNldCkgewot
ICBjb25zdCB1aW50MTZ4NF90IGYwID0gdmR1cF9uX3UxNig4IC0gZmlsdGVyX29mZnNldCk7Ci0g
IGNvbnN0IHVpbnQxNng0X3QgZjEgPSB2ZHVwX25fdTE2KGZpbHRlcl9vZmZzZXQpOwotCi0gIGlu
dCBpID0gZHN0X2hlaWdodDsKLSAgZG8gewotICAgIHVpbnQxNng0X3QgczAgPSBsb2FkX3VuYWxp
Z25lZF91MTYoc3JjX3B0cik7Ci0gICAgdWludDE2eDRfdCBzMSA9IGxvYWRfdW5hbGlnbmVkX3Ux
NihzcmNfcHRyICsgcGl4ZWxfc3RlcCk7Ci0KLSAgICB1aW50MTZ4NF90IGJsZW5kID0gdm11bF91
MTYoczAsIGYwKTsKLSAgICBibGVuZCA9IHZtbGFfdTE2KGJsZW5kLCBzMSwgZjEpOwotICAgIGJs
ZW5kID0gdnJzaHJfbl91MTYoYmxlbmQsIDMpOwotCi0gICAgdnN0MV91MTYoZHN0X3B0ciwgYmxl
bmQpOwotCi0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIGRzdF9wdHIgKz0gNDsKLSAg
fSB3aGlsZSAoLS1pICE9IDApOwotfQotCi0vLyBQcm9jZXNzIGEgYmxvY2sgd2hpY2ggaXMgYSBt
dWx0aXBsZSBvZiA4IGFuZCBhbnkgaGVpZ2h0Lgotc3RhdGljIHZvaWQgaGlnaGJkX3Zhcl9maWx0
ZXJfYmxvY2syZF9iaWxfbGFyZ2UoY29uc3QgdWludDE2X3QgKnNyY19wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqZHN0X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLCBpbnQgcGl4ZWxfc3RlcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZpbHRlcl9vZmZzZXQp
IHsKLSAgY29uc3QgdWludDE2eDhfdCBmMCA9IHZkdXBxX25fdTE2KDggLSBmaWx0ZXJfb2Zmc2V0
KTsKLSAgY29uc3QgdWludDE2eDhfdCBmMSA9IHZkdXBxX25fdTE2KGZpbHRlcl9vZmZzZXQpOwot
Ci0gIGludCBpID0gZHN0X2hlaWdodDsKLSAgZG8gewotICAgIGludCBqID0gMDsKLSAgICBkbyB7
Ci0gICAgICB1aW50MTZ4OF90IHMwID0gdmxkMXFfdTE2KHNyY19wdHIgKyBqKTsKLSAgICAgIHVp
bnQxNng4X3QgczEgPSB2bGQxcV91MTYoc3JjX3B0ciArIGogKyBwaXhlbF9zdGVwKTsKLQotICAg
ICAgdWludDE2eDhfdCBibGVuZCA9IHZtdWxxX3UxNihzMCwgZjApOwotICAgICAgYmxlbmQgPSB2
bWxhcV91MTYoYmxlbmQsIHMxLCBmMSk7Ci0gICAgICBibGVuZCA9IHZyc2hycV9uX3UxNihibGVu
ZCwgMyk7Ci0KLSAgICAgIHZzdDFxX3UxNihkc3RfcHRyICsgaiwgYmxlbmQpOwotCi0gICAgICBq
ICs9IDg7Ci0gICAgfSB3aGlsZSAoaiA8IGRzdF93aWR0aCk7Ci0KLSAgICBzcmNfcHRyICs9IHNy
Y19zdHJpZGU7Ci0gICAgZHN0X3B0ciArPSBkc3Rfd2lkdGg7Ci0gIH0gd2hpbGUgKC0taSAhPSAw
KTsKLX0KLQotc3RhdGljIHZvaWQgaGlnaGJkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzgoY29u
c3QgdWludDE2X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MTZfdCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl4ZWxfc3RlcCwgaW50IGRz
dF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZmlsdGVyX29mZnNldCkgewotICBoaWdoYmRfdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF9sYXJn
ZShzcmNfcHRyLCBkc3RfcHRyLCBzcmNfc3RyaWRlLCBwaXhlbF9zdGVwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA4LCBkc3RfaGVpZ2h0LCBmaWx0ZXJfb2Zmc2V0KTsK
LX0KLXN0YXRpYyB2b2lkIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cxNihjb25zdCB1
aW50MTZfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpeGVsX3N0ZXAsIGludCBkc3Rf
aGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBmaWx0ZXJfb2Zmc2V0KSB7Ci0gIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX2xhcmdl
KHNyY19wdHIsIGRzdF9wdHIsIHNyY19zdHJpZGUsIHBpeGVsX3N0ZXAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDE2LCBkc3RfaGVpZ2h0LCBmaWx0ZXJfb2Zmc2V0KTsK
LX0KLXN0YXRpYyB2b2lkIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3czMihjb25zdCB1
aW50MTZfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpeGVsX3N0ZXAsIGludCBkc3Rf
aGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBmaWx0ZXJfb2Zmc2V0KSB7Ci0gIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX2xhcmdl
KHNyY19wdHIsIGRzdF9wdHIsIHNyY19zdHJpZGUsIHBpeGVsX3N0ZXAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMyLCBkc3RfaGVpZ2h0LCBmaWx0ZXJfb2Zmc2V0KTsK
LX0KLXN0YXRpYyB2b2lkIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3c2NChjb25zdCB1
aW50MTZfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTZfdCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpeGVsX3N0ZXAsIGludCBkc3Rf
aGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBmaWx0ZXJfb2Zmc2V0KSB7Ci0gIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX2xhcmdl
KHNyY19wdHIsIGRzdF9wdHIsIHNyY19zdHJpZGUsIHBpeGVsX3N0ZXAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDY0LCBkc3RfaGVpZ2h0LCBmaWx0ZXJfb2Zmc2V0KTsK
LX0KLQotc3RhdGljIHZvaWQgaGlnaGJkX3Zhcl9maWx0ZXJfYmxvY2syZF9hdmcoY29uc3QgdWlu
dDE2X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGl4ZWxfc3RlcCwgaW50IGRzdF93aWR0aCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0KSB7
Ci0gIGludCBpID0gZHN0X2hlaWdodDsKLQotICAvLyBXZSBvbmx5IHNwZWNpYWxpemUgb24gdGhl
IGZpbHRlciB2YWx1ZXMgZm9yIGxhcmdlIGJsb2NrIHNpemVzICg+PSAxNngxNi4pCi0gIGFzc2Vy
dChkc3Rfd2lkdGggPj0gMTYgJiYgZHN0X3dpZHRoICUgMTYgPT0gMCk7Ci0KLSAgZG8gewotICAg
IGludCBqID0gMDsKLSAgICBkbyB7Ci0gICAgICB1aW50MTZ4OF90IHMwID0gdmxkMXFfdTE2KHNy
Y19wdHIgKyBqKTsKLSAgICAgIHVpbnQxNng4X3QgczEgPSB2bGQxcV91MTYoc3JjX3B0ciArIGog
KyBwaXhlbF9zdGVwKTsKLSAgICAgIHVpbnQxNng4X3QgYXZnID0gdnJoYWRkcV91MTYoczAsIHMx
KTsKLSAgICAgIHZzdDFxX3UxNihkc3RfcHRyICsgaiwgYXZnKTsKLQotICAgICAgaiArPSA4Owot
ICAgIH0gd2hpbGUgKGogPCBkc3Rfd2lkdGgpOwotCi0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRl
OwotICAgIGRzdF9wdHIgKz0gZHN0X3dpZHRoOwotICB9IHdoaWxlICgtLWkgIT0gMCk7Ci19Ci0K
LSNkZWZpbmUgSEJEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTihiaXRkZXB0aCwgdywgaCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkXyMjYml0
ZGVwdGgjI19zdWJfcGl4ZWxfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgXAotICAgICAg
Y29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhvZmZzZXQsIGludCB5b2Zm
c2V0LCAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJp
ZGUsIHVpbnQzMl90ICpzc2UpIHsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDE2X3Qg
dG1wMFt3ICogKGggKyAxKV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHVpbnQxNl90IHRtcDFbdyAqIGhdOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50MTZfdCAqc3JjX3B0
ciA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2Nr
MmRfYmlsX3cjI3coc3JjX3B0ciwgdG1wMCwgc3JjX3N0cmlkZSwgMSwgKGggKyAxKSwgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhvZmZzZXQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgaGlnaGJkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxf
dyMjdyh0bXAwLCB0bXAxLCB3LCB3LCBoLCB5b2Zmc2V0KTsgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFyaWFu
Y2UjI3cjI3gjI2goQ09OVkVSVF9UT19CWVRFUFRSKHRtcDEpLCBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHcsIHJlZiwgcmVmX3N0cmlkZSwg
c3NlKTsgXAotICB9Ci0KLSNkZWZpbmUgSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9X
WEhfTkVPTihiaXRkZXB0aCwgdywgaCkgICAgICAgICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2
cHhfaGlnaGJkXyMjYml0ZGVwdGgjI19zdWJfcGl4ZWxfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9u
KCAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhv
ZmZzZXQsIGludCB5b2Zmc2V0LCAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnJl
ZiwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlKSB7ICAgICAgICAgICAgICAgICBc
Ci0gICAgdWludDE2X3QgKnNyY19wdHIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyYyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBp
ZiAoeG9mZnNldCA9PSAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAoeW9mZnNldCA9PSAwKSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICByZXR1
cm4gdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgIENPTlZFUlRfVE9fQllURVBUUihzcmNfcHRyKSwgc3Jj
X3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICBcCi0gICAgICB9IGVsc2UgaWYgKHlv
ZmZzZXQgPT0gNCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICB1aW50MTZfdCB0bXBbdyAqIGhdOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaGlnaGJkX3Zhcl9maWx0ZXJf
YmxvY2syZF9hdmcoc3JjX3B0ciwgdG1wLCBzcmNfc3RyaWRlLCBzcmNfc3RyaWRlLCB3LCBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICByZXR1cm4gdnB4X2hpZ2hiZF8jI2JpdGRl
cHRoIyNfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgIENPTlZFUlRfVE9fQllURVBUUih0bXApLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAg
ICAgICAgICAgICAgICBcCi0gICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB1aW50MTZf
dCB0bXBbdyAqIGhdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgaGlnaGJkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdyMjdyhzcmNf
cHRyLCB0bXAsIHNyY19zdHJpZGUsICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgaCwgeW9mZnNldCk7ICAgICAgICAgICAg
XAotICAgICAgICByZXR1cm4gdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFyaWFuY2UjI3cjI3gj
I2gjI19uZW9uKCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIENPTlZFUlRfVE9fQllURVBU
Uih0bXApLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICAgICAgICBcCi0gICAg
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIH0gZWxzZSBpZiAoeG9mZnNldCA9PSA0KSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHVpbnQx
Nl90IHRtcDBbdyAqIChoICsgMSldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBpZiAoeW9mZnNldCA9PSAwKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBoaWdoYmRfdmFy
X2ZpbHRlcl9ibG9jazJkX2F2ZyhzcmNfcHRyLCB0bXAwLCBzcmNfc3RyaWRlLCAxLCB3LCBoKTsg
ICAgIFwKLSAgICAgICAgcmV0dXJuIHZweF9oaWdoYmRfIyNiaXRkZXB0aCMjX3ZhcmlhbmNlIyN3
IyN4IyNoIyNfbmVvbiggICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBDT05WRVJUX1RPX0JZ
VEVQVFIodG1wMCksIHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAgICAgICAgXAot
ICAgICAgfSBlbHNlIGlmICh5b2Zmc2V0ID09IDQpIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdWludDE2X3QgdG1wMVt3ICogKGggKyAx
KV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
IGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYXZnKHNyY19wdHIsIHRtcDAsIHNyY19zdHJpZGUs
IDEsIHcsICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
aCArIDEpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaGlnaGJk
X3Zhcl9maWx0ZXJfYmxvY2syZF9hdmcodG1wMCwgdG1wMSwgdywgdywgdywgaCk7ICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgIHJldHVybiB2cHhfaGlnaGJkXyMjYml0ZGVwdGgjI192YXJpYW5j
ZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgQ09OVkVSVF9U
T19CWVRFUFRSKHRtcDEpLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICAgICAg
IFwKLSAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHVpbnQxNl90IHRtcDFbdyAqICho
ICsgMSldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICBoaWdoYmRfdmFyX2ZpbHRlcl9ibG9jazJkX2F2ZyhzcmNfcHRyLCB0bXAwLCBzcmNfc3Ry
aWRlLCAxLCB3LCAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGggKyAxKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGhp
Z2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cjI3codG1wMCwgdG1wMSwgdywgdywgaCwgeW9m
ZnNldCk7ICAgICAgXAotICAgICAgICByZXR1cm4gdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFy
aWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIENPTlZF
UlRfVE9fQllURVBUUih0bXAxKSwgdywgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgICAg
ICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gZWxzZSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIHVpbnQxNl90IHRtcDBbdyAqIChoICsgMSldOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAoeW9mZnNldCA9PSAwKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICBoaWdoYmRfdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93IyN3KHNyY19wdHIsIHRtcDAsIHNyY19z
dHJpZGUsIDEsIGgsICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB4b2Zmc2V0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHJldHVy
biB2cHhfaGlnaGJkXyMjYml0ZGVwdGgjI192YXJpYW5jZSMjdyMjeCMjaCMjX25lb24oICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgQ09OVkVSVF9UT19CWVRFUFRSKHRtcDApLCB3LCByZWYs
IHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gZWxzZSBpZiAoeW9m
ZnNldCA9PSA0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgIHVpbnQxNl90IHRtcDFbdyAqIGhdOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBoaWdoYmRfdmFyX2ZpbHRlcl9i
bG9jazJkX2JpbF93IyN3KHNyY19wdHIsIHRtcDAsIHNyY19zdHJpZGUsIDEsICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaCArIDEpLCB4b2Zmc2V0
KTsgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGhpZ2hiZF92YXJfZmlsdGVyX2Jsb2NrMmRf
YXZnKHRtcDAsIHRtcDEsIHcsIHcsIHcsIGgpOyAgICAgICAgICAgICAgICAgXAotICAgICAgICBy
ZXR1cm4gdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9uKCAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIENPTlZFUlRfVE9fQllURVBUUih0bXAxKSwgdywg
cmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgICAgICAgICBcCi0gICAgICB9IGVsc2UgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICB1aW50MTZfdCB0bXAxW3cgKiBoXTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaGlnaGJkX3Zhcl9maWx0
ZXJfYmxvY2syZF9iaWxfdyMjdyhzcmNfcHRyLCB0bXAwLCBzcmNfc3RyaWRlLCAxLCAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGggKyAxKSwgeG9m
ZnNldCk7ICAgICAgICAgICAgICAgICAgXAotICAgICAgICBoaWdoYmRfdmFyX2ZpbHRlcl9ibG9j
azJkX2JpbF93IyN3KHRtcDAsIHRtcDEsIHcsIHcsIGgsIHlvZmZzZXQpOyAgICAgIFwKLSAgICAg
ICAgcmV0dXJuIHZweF9oaWdoYmRfIyNiaXRkZXB0aCMjX3ZhcmlhbmNlIyN3IyN4IyNoIyNfbmVv
biggICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBDT05WRVJUX1RPX0JZVEVQVFIodG1wMSks
IHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotLy8gOC1iaXQKLUhC
RF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04oOCwgNCwgNCkKLUhCRF9TVUJQRUxfVkFSSUFOQ0Vf
V1hIX05FT04oOCwgNCwgOCkKLQotSEJEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTig4LCA4LCA0
KQotSEJEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTig4LCA4LCA4KQotSEJEX1NVQlBFTF9WQVJJ
QU5DRV9XWEhfTkVPTig4LCA4LCAxNikKLQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5D
RV9XWEhfTkVPTig4LCAxNiwgOCkKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfVkFSSUFOQ0VfV1hI
X05FT04oOCwgMTYsIDE2KQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVP
Tig4LCAxNiwgMzIpCi0KLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04o
OCwgMzIsIDE2KQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTig4LCAz
MiwgMzIpCi1IQkRfU1BFQ0lBTElaRURfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDgsIDMyLCA2
NCkKLQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTig4LCA2NCwgMzIp
Ci1IQkRfU1BFQ0lBTElaRURfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDgsIDY0LCA2NCkKLQot
Ly8gMTAtYml0Ci1IQkRfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEwLCA0LCA0KQotSEJEX1NV
QlBFTF9WQVJJQU5DRV9XWEhfTkVPTigxMCwgNCwgOCkKLQotSEJEX1NVQlBFTF9WQVJJQU5DRV9X
WEhfTkVPTigxMCwgOCwgNCkKLUhCRF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04oMTAsIDgsIDgp
Ci1IQkRfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEwLCA4LCAxNikKLQotSEJEX1NQRUNJQUxJ
WkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTigxMCwgMTYsIDgpCi1IQkRfU1BFQ0lBTElaRURf
U1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEwLCAxNiwgMTYpCi1IQkRfU1BFQ0lBTElaRURfU1VC
UEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEwLCAxNiwgMzIpCi0KLUhCRF9TUEVDSUFMSVpFRF9TVUJQ
RUxfVkFSSUFOQ0VfV1hIX05FT04oMTAsIDMyLCAxNikKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxf
VkFSSUFOQ0VfV1hIX05FT04oMTAsIDMyLCAzMikKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfVkFS
SUFOQ0VfV1hIX05FT04oMTAsIDMyLCA2NCkKLQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJ
QU5DRV9XWEhfTkVPTigxMCwgNjQsIDMyKQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5D
RV9XWEhfTkVPTigxMCwgNjQsIDY0KQotCi0vLyAxMi1iaXQKLUhCRF9TVUJQRUxfVkFSSUFOQ0Vf
V1hIX05FT04oMTIsIDQsIDQpCi1IQkRfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCA0LCA4
KQotCi1IQkRfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCA4LCA0KQotSEJEX1NVQlBFTF9W
QVJJQU5DRV9XWEhfTkVPTigxMiwgOCwgOCkKLUhCRF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04o
MTIsIDgsIDE2KQotCi1IQkRfU1BFQ0lBTElaRURfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEy
LCAxNiwgOCkKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04oMTIsIDE2
LCAxNikKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04oMTIsIDE2LCAz
MikKLQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTigxMiwgMzIsIDE2
KQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTigxMiwgMzIsIDMyKQot
SEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTigxMiwgMzIsIDY0KQotCi1I
QkRfU1BFQ0lBTElaRURfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCA2NCwgMzIpCi1IQkRf
U1BFQ0lBTElaRURfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCA2NCwgNjQpCi0KLS8vIENv
bWJpbmUgYmlsaW5lYXIgZmlsdGVyIHdpdGggdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkIGZvciBi
bG9ja3MgaGF2aW5nCi0vLyB3aWR0aCA0Lgotc3RhdGljIHZvaWQgaGlnaGJkX2F2Z19wcmVkX3Zh
cl9maWx0ZXJfYmxvY2syZF9iaWxfdzQoCi0gICAgY29uc3QgdWludDE2X3QgKnNyY19wdHIsIHVp
bnQxNl90ICpkc3RfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHBpeGVsX3N0ZXAsCi0gICAgaW50
IGRzdF9oZWlnaHQsIGludCBmaWx0ZXJfb2Zmc2V0LCBjb25zdCB1aW50MTZfdCAqc2Vjb25kX3By
ZWQpIHsKLSAgY29uc3QgdWludDE2eDRfdCBmMCA9IHZkdXBfbl91MTYoOCAtIGZpbHRlcl9vZmZz
ZXQpOwotICBjb25zdCB1aW50MTZ4NF90IGYxID0gdmR1cF9uX3UxNihmaWx0ZXJfb2Zmc2V0KTsK
LQotICBpbnQgaSA9IGRzdF9oZWlnaHQ7Ci0gIGRvIHsKLSAgICB1aW50MTZ4NF90IHMwID0gbG9h
ZF91bmFsaWduZWRfdTE2KHNyY19wdHIpOwotICAgIHVpbnQxNng0X3QgczEgPSBsb2FkX3VuYWxp
Z25lZF91MTYoc3JjX3B0ciArIHBpeGVsX3N0ZXApOwotICAgIHVpbnQxNng0X3QgcCA9IHZsZDFf
dTE2KHNlY29uZF9wcmVkKTsKLQotICAgIHVpbnQxNng0X3QgYmxlbmQgPSB2bXVsX3UxNihzMCwg
ZjApOwotICAgIGJsZW5kID0gdm1sYV91MTYoYmxlbmQsIHMxLCBmMSk7Ci0gICAgYmxlbmQgPSB2
cnNocl9uX3UxNihibGVuZCwgMyk7Ci0KLSAgICB2c3QxX3UxNihkc3RfcHRyLCB2cmhhZGRfdTE2
KGJsZW5kLCBwKSk7Ci0KLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgZHN0X3B0ciAr
PSA0OwotICAgIHNlY29uZF9wcmVkICs9IDQ7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLX0KLQot
Ly8gQ29tYmluZSBiaWxpbmVhciBmaWx0ZXIgd2l0aCB2cHhfaGlnaGJkX2NvbXBfYXZnX3ByZWQg
Zm9yIGxhcmdlIGJsb2Nrcy4KLXN0YXRpYyB2b2lkIGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVy
X2Jsb2NrMmRfYmlsX2xhcmdlKAotICAgIGNvbnN0IHVpbnQxNl90ICpzcmNfcHRyLCB1aW50MTZf
dCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsIGludCBwaXhlbF9zdGVwLAotICAgIGludCBkc3Rf
d2lkdGgsIGludCBkc3RfaGVpZ2h0LCBpbnQgZmlsdGVyX29mZnNldCwKLSAgICBjb25zdCB1aW50
MTZfdCAqc2Vjb25kX3ByZWQpIHsKLSAgY29uc3QgdWludDE2eDhfdCBmMCA9IHZkdXBxX25fdTE2
KDggLSBmaWx0ZXJfb2Zmc2V0KTsKLSAgY29uc3QgdWludDE2eDhfdCBmMSA9IHZkdXBxX25fdTE2
KGZpbHRlcl9vZmZzZXQpOwotCi0gIGludCBpID0gZHN0X2hlaWdodDsKLSAgZG8gewotICAgIGlu
dCBqID0gMDsKLSAgICBkbyB7Ci0gICAgICB1aW50MTZ4OF90IHMwID0gdmxkMXFfdTE2KHNyY19w
dHIgKyBqKTsKLSAgICAgIHVpbnQxNng4X3QgczEgPSB2bGQxcV91MTYoc3JjX3B0ciArIGogKyBw
aXhlbF9zdGVwKTsKLSAgICAgIHVpbnQxNng4X3QgcCA9IHZsZDFxX3UxNihzZWNvbmRfcHJlZCk7
Ci0KLSAgICAgIHVpbnQxNng4X3QgYmxlbmQgPSB2bXVscV91MTYoczAsIGYwKTsKLSAgICAgIGJs
ZW5kID0gdm1sYXFfdTE2KGJsZW5kLCBzMSwgZjEpOwotICAgICAgYmxlbmQgPSB2cnNocnFfbl91
MTYoYmxlbmQsIDMpOwotCi0gICAgICB2c3QxcV91MTYoZHN0X3B0ciArIGosIHZyaGFkZHFfdTE2
KGJsZW5kLCBwKSk7Ci0KLSAgICAgIGogKz0gODsKLSAgICAgIHNlY29uZF9wcmVkICs9IDg7Ci0g
ICAgfSB3aGlsZSAoaiA8IGRzdF93aWR0aCk7Ci0KLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7
Ci0gICAgZHN0X3B0ciArPSBkc3Rfd2lkdGg7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLX0KLQot
c3RhdGljIHZvaWQgaGlnaGJkX2F2Z19wcmVkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzgoCi0g
ICAgY29uc3QgdWludDE2X3QgKnNyY19wdHIsIHVpbnQxNl90ICpkc3RfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgaW50IHBpeGVsX3N0ZXAsCi0gICAgaW50IGRzdF9oZWlnaHQsIGludCBmaWx0ZXJfb2Zm
c2V0LCBjb25zdCB1aW50MTZfdCAqc2Vjb25kX3ByZWQpIHsKLSAgaGlnaGJkX2F2Z19wcmVkX3Zh
cl9maWx0ZXJfYmxvY2syZF9iaWxfbGFyZ2Uoc3JjX3B0ciwgZHN0X3B0ciwgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGl4ZWxfc3Rl
cCwgOCwgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsdGVyX29mZnNldCwgc2Vjb25kX3ByZWQpOwotfQotc3RhdGljIHZvaWQgaGln
aGJkX2F2Z19wcmVkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzE2KAotICAgIGNvbnN0IHVpbnQx
Nl90ICpzcmNfcHRyLCB1aW50MTZfdCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsIGludCBwaXhl
bF9zdGVwLAotICAgIGludCBkc3RfaGVpZ2h0LCBpbnQgZmlsdGVyX29mZnNldCwgY29uc3QgdWlu
dDE2X3QgKnNlY29uZF9wcmVkKSB7Ci0gIGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVyX2Jsb2Nr
MmRfYmlsX2xhcmdlKHNyY19wdHIsIGRzdF9wdHIsIHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpeGVsX3N0ZXAsIDE2LCBkc3RfaGVp
Z2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0
ZXJfb2Zmc2V0LCBzZWNvbmRfcHJlZCk7Ci19Ci1zdGF0aWMgdm9pZCBoaWdoYmRfYXZnX3ByZWRf
dmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93MzIoCi0gICAgY29uc3QgdWludDE2X3QgKnNyY19wdHIs
IHVpbnQxNl90ICpkc3RfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHBpeGVsX3N0ZXAsCi0gICAg
aW50IGRzdF9oZWlnaHQsIGludCBmaWx0ZXJfb2Zmc2V0LCBjb25zdCB1aW50MTZfdCAqc2Vjb25k
X3ByZWQpIHsKLSAgaGlnaGJkX2F2Z19wcmVkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfbGFyZ2Uo
c3JjX3B0ciwgZHN0X3B0ciwgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGl4ZWxfc3RlcCwgMzIsIGRzdF9oZWlnaHQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl9vZmZzZXQsIHNl
Y29uZF9wcmVkKTsKLX0KLXN0YXRpYyB2b2lkIGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVyX2Js
b2NrMmRfYmlsX3c2NCgKLSAgICBjb25zdCB1aW50MTZfdCAqc3JjX3B0ciwgdWludDE2X3QgKmRz
dF9wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgcGl4ZWxfc3RlcCwKLSAgICBpbnQgZHN0X2hlaWdo
dCwgaW50IGZpbHRlcl9vZmZzZXQsIGNvbnN0IHVpbnQxNl90ICpzZWNvbmRfcHJlZCkgewotICBo
aWdoYmRfYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF9sYXJnZShzcmNfcHRyLCBkc3Rf
cHRyLCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwaXhlbF9zdGVwLCA2NCwgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyX29mZnNldCwgc2Vjb25kX3ByZWQpOwot
fQotCi0vLyBDb21iaW5lIGF2ZXJhZ2luZyBzdWJwZWwgZmlsdGVyIHdpdGggdnB4X2hpZ2hiZF9j
b21wX2F2Z19wcmVkLgotc3RhdGljIHZvaWQgaGlnaGJkX2F2Z19wcmVkX3Zhcl9maWx0ZXJfYmxv
Y2syZF9hdmcoCi0gICAgY29uc3QgdWludDE2X3QgKnNyY19wdHIsIHVpbnQxNl90ICpkc3RfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgaW50IHBpeGVsX3N0ZXAsCi0gICAgaW50IGRzdF93aWR0aCwgaW50
IGRzdF9oZWlnaHQsIGNvbnN0IHVpbnQxNl90ICpzZWNvbmRfcHJlZCkgewotICBpbnQgaSA9IGRz
dF9oZWlnaHQ7Ci0KLSAgLy8gV2Ugb25seSBzcGVjaWFsaXplIG9uIHRoZSBmaWx0ZXIgdmFsdWVz
IGZvciBsYXJnZSBibG9jayBzaXplcyAoPj0gMTZ4MTYuKQotICBhc3NlcnQoZHN0X3dpZHRoID49
IDE2ICYmIGRzdF93aWR0aCAlIDE2ID09IDApOwotCi0gIGRvIHsKLSAgICBpbnQgaiA9IDA7Ci0g
ICAgZG8gewotICAgICAgdWludDE2eDhfdCBzMCA9IHZsZDFxX3UxNihzcmNfcHRyICsgaik7Ci0g
ICAgICB1aW50MTZ4OF90IHMxID0gdmxkMXFfdTE2KHNyY19wdHIgKyBqICsgcGl4ZWxfc3RlcCk7
Ci0gICAgICB1aW50MTZ4OF90IGF2ZyA9IHZyaGFkZHFfdTE2KHMwLCBzMSk7Ci0KLSAgICAgIHVp
bnQxNng4X3QgcCA9IHZsZDFxX3UxNihzZWNvbmRfcHJlZCk7Ci0gICAgICBhdmcgPSB2cmhhZGRx
X3UxNihhdmcsIHApOwotCi0gICAgICB2c3QxcV91MTYoZHN0X3B0ciArIGosIGF2Zyk7Ci0KLSAg
ICAgIGogKz0gODsKLSAgICAgIHNlY29uZF9wcmVkICs9IDg7Ci0gICAgfSB3aGlsZSAoaiA8IGRz
dF93aWR0aCk7Ci0KLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgZHN0X3B0ciArPSBk
c3Rfd2lkdGg7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLX0KLQotLy8gSW1wbGVtZW50YXRpb24g
b2YgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkIGZvciBibG9ja3MgaGF2aW5nIHdpZHRoID49IDE2
Lgotc3RhdGljIHZvaWQgaGlnaGJkX2F2Z19wcmVkKGNvbnN0IHVpbnQxNl90ICpzcmNfcHRyLCB1
aW50MTZfdCAqZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2X3QgKnNlY29uZF9wcmVkKSB7Ci0gIGludCBpID0gZHN0X2hl
aWdodDsKLQotICAvLyBXZSBvbmx5IHNwZWNpYWxpemUgb24gdGhlIGZpbHRlciB2YWx1ZXMgZm9y
IGxhcmdlIGJsb2NrIHNpemVzICg+PSAxNngxNi4pCi0gIGFzc2VydChkc3Rfd2lkdGggPj0gMTYg
JiYgZHN0X3dpZHRoICUgMTYgPT0gMCk7Ci0KLSAgZG8gewotICAgIGludCBqID0gMDsKLSAgICBk
byB7Ci0gICAgICB1aW50MTZ4OF90IHMgPSB2bGQxcV91MTYoc3JjX3B0ciArIGopOwotICAgICAg
dWludDE2eDhfdCBwID0gdmxkMXFfdTE2KHNlY29uZF9wcmVkKTsKLQotICAgICAgdWludDE2eDhf
dCBhdmcgPSB2cmhhZGRxX3UxNihzLCBwKTsKLQotICAgICAgdnN0MXFfdTE2KGRzdF9wdHIgKyBq
LCBhdmcpOwotCi0gICAgICBqICs9IDg7Ci0gICAgICBzZWNvbmRfcHJlZCArPSA4OwotICAgIH0g
d2hpbGUgKGogPCBkc3Rfd2lkdGgpOwotCi0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAg
IGRzdF9wdHIgKz0gZHN0X3dpZHRoOwotICB9IHdoaWxlICgtLWkgIT0gMCk7Ci19Ci0KLSNkZWZp
bmUgSEJEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oYml0ZGVwdGgsIHcsIGgpICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgdWludDMyX3QgdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZSMjdyMjeCMjaCMjX25lb24oICAgIFwKLSAgICAgIGNvbnN0IHVp
bnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIGludCB4b2Zmc2V0LCBpbnQgeW9mZnNldCwgICAg
ICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJpZGUsIHVpbnQz
Ml90ICpzc2UsICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNl
Y29uZF9wcmVkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB1aW50MTZfdCB0bXAwW3cgKiAoaCArIDEpXTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50MTZfdCB0bXAxW3cgKiBoXTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50
MTZfdCAqc3JjX3B0ciA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBoaWdoYmRfdmFyX2Zp
bHRlcl9ibG9jazJkX2JpbF93IyN3KHNyY19wdHIsIHRtcDAsIHNyY19zdHJpZGUsIDEsIChoICsg
MSksIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhvZmZzZXQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBoaWdoYmRfYXZnX3ByZWRfdmFyX2Zp
bHRlcl9ibG9jazJkX2JpbF93IyN3KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgdG1wMCwgdG1wMSwgdywgdywgaCwgeW9mZnNldCwgQ09OVkVSVF9UT19TSE9SVFBUUihz
ZWNvbmRfcHJlZCkpOyAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4g
dnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgQ09OVkVSVF9UT19CWVRFUFRSKHRtcDEpLCB3LCByZWYsIHJl
Zl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIEhCRF9T
UEVDSUFMSVpFRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKGJpdGRlcHRoLCB3LCBoKSAg
ICAgICAgICAgXAotICB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfc3ViX3Bp
eGVsX2F2Z192YXJpYW5jZSMjdyMjeCMjaCMjX25lb24oIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnNyYywgaW50IHNvdXJjZV9zdHJpZGUsIGludCB4b2Zmc2V0LCBpbnQgeW9mZnNldCwgICAgICAg
ICBcCi0gICAgICBjb25zdCB1aW50OF90ICpyZWYsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBp
bnQgKnNzZSwgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25k
X3ByZWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICB1aW50MTZfdCAqc3JjX3B0ciA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmICh4
b2Zmc2V0ID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIHVpbnQxNl90IHRtcFt3ICogaF07ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAoeW9mZnNl
dCA9PSAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICBoaWdoYmRfYXZnX3ByZWQoc3JjX3B0ciwgdG1wLCBzb3VyY2Vfc3Ry
aWRlLCB3LCBoLCAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
IENPTlZFUlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpKTsgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIHJldHVybiB2cHhfaGlnaGJkXyMjYml0ZGVwdGgjI192YXJpYW5jZSMjdyMjeCMj
aCMjX25lb24oICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgQ09OVkVSVF9UT19CWVRFUFRS
KHRtcCksIHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAgICAgICAgIFwKLSAgICAg
IH0gZWxzZSBpZiAoeW9mZnNldCA9PSA0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVyX2Js
b2NrMmRfYXZnKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
c3JjX3B0ciwgdG1wLCBzb3VyY2Vfc3RyaWRlLCBzb3VyY2Vfc3RyaWRlLCB3LCBoLCAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgIENPTlZFUlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQp
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHJldHVybiB2cHhf
aGlnaGJkXyMjYml0ZGVwdGgjI192YXJpYW5jZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgQ09OVkVSVF9UT19CWVRFUFRSKHRtcCksIHcsIHJlZiwgcmVmX3N0
cmlkZSwgc3NlKTsgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gZWxzZSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgIGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cjI3coICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgc3JjX3B0ciwgdG1wLCBzb3VyY2Vf
c3RyaWRlLCBzb3VyY2Vfc3RyaWRlLCBoLCB5b2Zmc2V0LCAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgIENPTlZFUlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgIHJldHVybiB2cHhfaGlnaGJkXyMjYml0ZGVwdGgjI192
YXJpYW5jZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgQ09O
VkVSVF9UT19CWVRFUFRSKHRtcCksIHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSBlbHNlIGlmICh4b2Zmc2V0
ID09IDQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgdWludDE2X3QgdG1wMFt3ICogKGggKyAxKV07ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmICh5b2Zmc2V0ID09IDApIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgIGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVyX2Jsb2NrMmRfYXZnKCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgc3JjX3B0ciwgdG1wMCwgc291cmNlX3N0
cmlkZSwgMSwgdywgaCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
IENPTlZFUlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgIHJldHVybiB2cHhfaGlnaGJkXyMjYml0ZGVwdGgjI192YXJp
YW5jZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgQ09OVkVS
VF9UT19CWVRFUFRSKHRtcDApLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICAg
ICAgIFwKLSAgICAgIH0gZWxzZSBpZiAoeW9mZnNldCA9PSA0KSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHVpbnQxNl90IHRtcDFbdyAq
IChoICsgMSldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICBoaWdoYmRfdmFyX2ZpbHRlcl9ibG9jazJkX2F2ZyhzcmNfcHRyLCB0bXAwLCBzb3Vy
Y2Vfc3RyaWRlLCAxLCB3LCAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGggKyAxKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
IGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVyX2Jsb2NrMmRfYXZnKCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgdG1wMCwgdG1wMSwgdywgdywgdywgaCwgQ09O
VkVSVF9UT19TSE9SVFBUUihzZWNvbmRfcHJlZCkpOyAgICAgICAgIFwKLSAgICAgICAgcmV0dXJu
IHZweF9oaWdoYmRfIyNiaXRkZXB0aCMjX3ZhcmlhbmNlIyN3IyN4IyNoIyNfbmVvbiggICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICBDT05WRVJUX1RPX0JZVEVQVFIodG1wMSksIHcsIHJlZiwg
cmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAgICAgICAgXAotICAgICAgfSBlbHNlIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgdWludDE2X3QgdG1wMVt3ICogKGggKyAxKV07ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGhpZ2hiZF92YXJfZmlsdGVyX2Js
b2NrMmRfYXZnKHNyY19wdHIsIHRtcDAsIHNvdXJjZV9zdHJpZGUsIDEsIHcsICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaCArIDEpKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaGlnaGJkX2F2Z19wcmVkX3Zhcl9maWx0ZXJf
YmxvY2syZF9iaWxfdyMjdyggICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICB0bXAwLCB0bXAxLCB3LCB3LCBoLCB5b2Zmc2V0LCBDT05WRVJUX1RPX1NIT1JUUFRSKHNlY29u
ZF9wcmVkKSk7ICAgXAotICAgICAgICByZXR1cm4gdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFy
aWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIENPTlZF
UlRfVE9fQllURVBUUih0bXAxKSwgdywgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgICAg
ICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gZWxzZSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIHVpbnQxNl90IHRtcDBbdyAqIChoICsgMSldOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAoeW9mZnNldCA9PSAwKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICBoaWdoYmRfYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93IyN3KCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIHNyY19wdHIsIHRtcDAsIHNvdXJjZV9zdHJp
ZGUsIDEsIGgsIHhvZmZzZXQsICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBD
T05WRVJUX1RPX1NIT1JUUFRSKHNlY29uZF9wcmVkKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICByZXR1cm4gdnB4X2hpZ2hiZF8jI2JpdGRlcHRoIyNfdmFyaWFu
Y2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIENPTlZFUlRf
VE9fQllURVBUUih0bXAwKSwgdywgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgICAgICAg
ICBcCi0gICAgICB9IGVsc2UgaWYgKHlvZmZzZXQgPT0gNCkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB1aW50MTZfdCB0bXAxW3cgKiBo
XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgaGlnaGJkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdyMjdyhzcmNfcHRyLCB0bXAwLCBz
b3VyY2Vfc3RyaWRlLCAxLCAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGggKyAxKSwgeG9mZnNldCk7ICAgICAgICAgICAgICAgICAgXAotICAgICAgICBo
aWdoYmRfYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9jazJkX2F2ZyggICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIHRtcDAsIHRtcDEsIHcsIHcsIHcsIGgsIENPTlZF
UlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpKTsgICAgICAgICBcCi0gICAgICAgIHJldHVybiB2
cHhfaGlnaGJkXyMjYml0ZGVwdGgjI192YXJpYW5jZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgQ09OVkVSVF9UT19CWVRFUFRSKHRtcDEpLCB3LCByZWYsIHJl
Zl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gZWxzZSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIHVpbnQxNl90IHRtcDFbdyAqIGhdOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBoaWdoYmRfdmFyX2ZpbHRlcl9ibG9j
azJkX2JpbF93IyN3KHNyY19wdHIsIHRtcDAsIHNvdXJjZV9zdHJpZGUsIDEsICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaCArIDEpLCB4b2Zmc2V0KTsg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGhpZ2hiZF9hdmdfcHJlZF92YXJfZmlsdGVyX2Js
b2NrMmRfYmlsX3cjI3coICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
dG1wMCwgdG1wMSwgdywgdywgaCwgeW9mZnNldCwgQ09OVkVSVF9UT19TSE9SVFBUUihzZWNvbmRf
cHJlZCkpOyAgIFwKLSAgICAgICAgcmV0dXJuIHZweF9oaWdoYmRfIyNiaXRkZXB0aCMjX3Zhcmlh
bmNlIyN3IyN4IyNoIyNfbmVvbiggICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBDT05WRVJU
X1RPX0JZVEVQVFIodG1wMSksIHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAgICAg
ICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IH0KLQotLy8gOC1iaXQKLUhCRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDgsIDQsIDQp
Ci1IQkRfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTig4LCA0LCA4KQotCi1IQkRfU1VCUEVM
X0FWR19WQVJJQU5DRV9XWEhfTkVPTig4LCA4LCA0KQotSEJEX1NVQlBFTF9BVkdfVkFSSUFOQ0Vf
V1hIX05FT04oOCwgOCwgOCkKLUhCRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDgsIDgs
IDE2KQotCi1IQkRfU1BFQ0lBTElaRURfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTig4LCAx
NiwgOCkKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDgsIDE2
LCAxNikKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDgsIDE2
LCAzMikKLQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oOCwg
MzIsIDE2KQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oOCwg
MzIsIDMyKQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oOCwg
MzIsIDY0KQotCi1IQkRfU1BFQ0lBTElaRURfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTig4
LCA2NCwgMzIpCi1IQkRfU1BFQ0lBTElaRURfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTig4
LCA2NCwgNjQpCi0KLS8vIDEwLWJpdAotSEJEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04o
MTAsIDQsIDQpCi1IQkRfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTigxMCwgNCwgOCkKLQot
SEJEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMTAsIDgsIDQpCi1IQkRfU1VCUEVMX0FW
R19WQVJJQU5DRV9XWEhfTkVPTigxMCwgOCwgOCkKLUhCRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dY
SF9ORU9OKDEwLCA4LCAxNikKLQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0Vf
V1hIX05FT04oMTAsIDE2LCA4KQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0Vf
V1hIX05FT04oMTAsIDE2LCAxNikKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfQVZHX1ZBUklBTkNF
X1dYSF9ORU9OKDEwLCAxNiwgMzIpCi0KLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfQVZHX1ZBUklB
TkNFX1dYSF9ORU9OKDEwLCAzMiwgMTYpCi1IQkRfU1BFQ0lBTElaRURfU1VCUEVMX0FWR19WQVJJ
QU5DRV9XWEhfTkVPTigxMCwgMzIsIDMyKQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFS
SUFOQ0VfV1hIX05FT04oMTAsIDMyLCA2NCkKLQotSEJEX1NQRUNJQUxJWkVEX1NVQlBFTF9BVkdf
VkFSSUFOQ0VfV1hIX05FT04oMTAsIDY0LCAzMikKLUhCRF9TUEVDSUFMSVpFRF9TVUJQRUxfQVZH
X1ZBUklBTkNFX1dYSF9ORU9OKDEwLCA2NCwgNjQpCi0KLS8vIDEyLWJpdAotSEJEX1NVQlBFTF9B
VkdfVkFSSUFOQ0VfV1hIX05FT04oMTIsIDQsIDQpCi1IQkRfU1VCUEVMX0FWR19WQVJJQU5DRV9X
WEhfTkVPTigxMiwgNCwgOCkKLQotSEJEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMTIs
IDgsIDQpCi1IQkRfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTigxMiwgOCwgOCkKLUhCRF9T
VUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCA4LCAxNikKLQotSEJEX1NQRUNJQUxJWkVE
X1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMTIsIDE2LCA4KQotSEJEX1NQRUNJQUxJWkVE
X1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMTIsIDE2LCAxNikKLUhCRF9TUEVDSUFMSVpF
RF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCAxNiwgMzIpCi0KLUhCRF9TUEVDSUFM
SVpFRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCAzMiwgMTYpCi1IQkRfU1BFQ0lB
TElaRURfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTigxMiwgMzIsIDMyKQotSEJEX1NQRUNJ
QUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMTIsIDMyLCA2NCkKLQotSEJEX1NQ
RUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMTIsIDY0LCAzMikKLUhCRF9T
UEVDSUFMSVpFRF9TVUJQRUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDEyLCA2NCwgNjQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92YXJpYW5jZV9uZW9uLmMgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92YXJpYW5jZV9uZW9uLmMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDMwOWFlN2ZkMzU2My4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZhcmlhbmNlX25lb24uYworKysgL2Rldi9udWxsCkBA
IC0xLDQzNiArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNh
biBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UK
LSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3Jh
bnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRp
bmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxhcm1fbmVv
bi5oPgotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICIuL3ZweF9jb25m
aWcuaCIKLQotI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgotI2luY2x1ZGUgInZweF9kc3Av
YXJtL21lbV9uZW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0vc3VtX25lb24uaCIKLSNpbmNs
dWRlICJ2cHhfcG9ydHMvbWVtLmgiCi0KLS8vIFByb2Nlc3MgYSBibG9jayBvZiB3aWR0aCA0IHR3
byByb3dzIGF0IGEgdGltZS4KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfdmFyaWFuY2VfNHho
X25lb24oY29uc3QgdWludDE2X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIGludCBo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAq
c3NlLCBpbnQ2NF90ICpzdW0pIHsKLSAgaW50MTZ4OF90IHN1bV9zMTYgPSB2ZHVwcV9uX3MxNigw
KTsKLSAgaW50MzJ4NF90IHNzZV9zMzIgPSB2ZHVwcV9uX3MzMigwKTsKLQotICBpbnQgaSA9IGg7
Ci0gIGRvIHsKLSAgICBjb25zdCB1aW50MTZ4OF90IHMgPSBsb2FkX3VuYWxpZ25lZF91MTZxKHNy
Y19wdHIsIHNyY19zdHJpZGUpOwotICAgIGNvbnN0IHVpbnQxNng4X3QgciA9IGxvYWRfdW5hbGln
bmVkX3UxNnEocmVmX3B0ciwgcmVmX3N0cmlkZSk7Ci0KLSAgICBpbnQxNng4X3QgZGlmZiA9IHZy
ZWludGVycHJldHFfczE2X3UxNih2c3VicV91MTYocywgcikpOwotICAgIHN1bV9zMTYgPSB2YWRk
cV9zMTYoc3VtX3MxNiwgZGlmZik7Ci0KLSAgICBzc2VfczMyID0gdm1sYWxfczE2KHNzZV9zMzIs
IHZnZXRfbG93X3MxNihkaWZmKSwgdmdldF9sb3dfczE2KGRpZmYpKTsKLSAgICBzc2VfczMyID0g
dm1sYWxfczE2KHNzZV9zMzIsIHZnZXRfaGlnaF9zMTYoZGlmZiksIHZnZXRfaGlnaF9zMTYoZGlm
ZikpOwotCi0gICAgc3JjX3B0ciArPSAyICogc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IDIg
KiByZWZfc3RyaWRlOwotICAgIGkgLT0gMjsKLSAgfSB3aGlsZSAoaSAhPSAwKTsKLQotICAqc3Vt
ID0gaG9yaXpvbnRhbF9hZGRfaW50MTZ4OChzdW1fczE2KTsKLSAgKnNzZSA9IGhvcml6b250YWxf
YWRkX2ludDMyeDQoc3NlX3MzMik7Ci19Ci0KLS8vIEZvciA4LWJpdCBhbmQgMTAtYml0IGRhdGEs
IHNpbmNlIHdlJ3JlIHVzaW5nIHR3byBpbnQzMng0IGFjY3VtdWxhdG9ycywgYWxsCi0vLyBibG9j
ayBzaXplcyBjYW4gYmUgcHJvY2Vzc2VkIGluIDMyLWJpdCBlbGVtZW50cyAoMTAyMyoxMDIzKjY0
KjE2ID0gMTA3MTY0NTY5NgotLy8gZm9yIGEgNjR4NjQgYmxvY2spLgotc3RhdGljIElOTElORSB2
b2lkIGhpZ2hiZF92YXJpYW5jZV9sYXJnZV9uZW9uKGNvbnN0IHVpbnQxNl90ICpzcmNfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgdywgaW50IGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKnNzZSwgaW50NjRfdCAqc3Vt
KSB7Ci0gIGludDMyeDRfdCBzdW1fczMyID0gdmR1cHFfbl9zMzIoMCk7Ci0gIGludDMyeDRfdCBz
c2VfczMyWzJdID0geyB2ZHVwcV9uX3MzMigwKSwgdmR1cHFfbl9zMzIoMCkgfTsKLQotICBpbnQg
aSA9IGg7Ci0gIGRvIHsKLSAgICBpbnQgaiA9IDA7Ci0gICAgZG8gewotICAgICAgY29uc3QgdWlu
dDE2eDhfdCBzID0gdmxkMXFfdTE2KHNyY19wdHIgKyBqKTsKLSAgICAgIGNvbnN0IHVpbnQxNng4
X3QgciA9IHZsZDFxX3UxNihyZWZfcHRyICsgaik7Ci0KLSAgICAgIGNvbnN0IGludDE2eDhfdCBk
aWZmID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZzdWJxX3UxNihzLCByKSk7Ci0gICAgICBzdW1f
czMyID0gdnBhZGFscV9zMTYoc3VtX3MzMiwgZGlmZik7Ci0KLSAgICAgIHNzZV9zMzJbMF0gPQot
ICAgICAgICAgIHZtbGFsX3MxNihzc2VfczMyWzBdLCB2Z2V0X2xvd19zMTYoZGlmZiksIHZnZXRf
bG93X3MxNihkaWZmKSk7Ci0gICAgICBzc2VfczMyWzFdID0KLSAgICAgICAgICB2bWxhbF9zMTYo
c3NlX3MzMlsxXSwgdmdldF9oaWdoX3MxNihkaWZmKSwgdmdldF9oaWdoX3MxNihkaWZmKSk7Ci0K
LSAgICAgIGogKz0gODsKLSAgICB9IHdoaWxlIChqIDwgdyk7Ci0KLSAgICBzcmNfcHRyICs9IHNy
Y19zdHJpZGU7Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICB9IHdoaWxlICgtLWkgIT0g
MCk7Ci0KLSAgKnN1bSA9IGhvcml6b250YWxfYWRkX2ludDMyeDQoc3VtX3MzMik7Ci0gICpzc2Ug
PSBob3Jpem9udGFsX2xvbmdfYWRkX3VpbnQzMng0KHZhZGRxX3UzMigKLSAgICAgIHZyZWludGVy
cHJldHFfdTMyX3MzMihzc2VfczMyWzBdKSwgdnJlaW50ZXJwcmV0cV91MzJfczMyKHNzZV9zMzJb
MV0pKSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfdmFyaWFuY2VfOHhoX25lb24o
Y29uc3QgdWludDE2X3QgKnNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpyZWYsIGludCByZWZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCwg
dWludDY0X3QgKnNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50NjRfdCAqc3VtKSB7Ci0gIGhpZ2hiZF92YXJpYW5jZV9sYXJnZV9uZW9uKHNyYywgc3Jj
X3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCA4LCBoLCBzc2UsIHN1bSk7Ci19Ci0KLXN0YXRpYyBJ
TkxJTkUgdm9pZCBoaWdoYmRfdmFyaWFuY2VfMTZ4aF9uZW9uKGNvbnN0IHVpbnQxNl90ICpzcmMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90ICpyZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50NjRfdCAqc3NlLCBpbnQ2NF90ICpzdW0pIHsKLSAgaGlnaGJk
X3ZhcmlhbmNlX2xhcmdlX25lb24oc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIDE2
LCBoLCBzc2UsIHN1bSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfdmFyaWFuY2Vf
MzJ4aF9uZW9uKGNvbnN0IHVpbnQxNl90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpyZWYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAq
c3NlLCBpbnQ2NF90ICpzdW0pIHsKLSAgaGlnaGJkX3ZhcmlhbmNlX2xhcmdlX25lb24oc3JjLCBz
cmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIDMyLCBoLCBzc2UsIHN1bSk7Ci19Ci0KLXN0YXRp
YyBJTkxJTkUgdm9pZCBoaWdoYmRfdmFyaWFuY2VfNjR4aF9uZW9uKGNvbnN0IHVpbnQxNl90ICpz
cmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90ICpyZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqc3NlLCBpbnQ2NF90ICpzdW0pIHsKLSAgaGln
aGJkX3ZhcmlhbmNlX2xhcmdlX25lb24oc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUs
IDY0LCBoLCBzc2UsIHN1bSk7Ci19Ci0KLS8vIEZvciAxMi1iaXQgZGF0YSwgd2UgY2FuIG9ubHkg
YWNjdW11bGF0ZSB1cCB0byAxMjggZWxlbWVudHMgaW4gdGhlIHN1bSBvZgotLy8gc3F1YXJlcyAo
NDA5NSo0MDk1KjEyOCA9IDIxNDY0MzUyMDApLCBhbmQgYmVjYXVzZSB3ZSdyZSB1c2luZyB0d28g
aW50MzJ4NAotLy8gYWNjdW11bGF0b3JzLCB3ZSBjYW4gb25seSBwcm9jZXNzIHVwIHRvIDMyIDMy
LWVsZW1lbnQgcm93cyAoMzIqMzIvOCA9IDEyOCkKLS8vIG9yIDE2IDY0LWVsZW1lbnQgcm93cyBi
ZWZvcmUgd2UgaGF2ZSB0byBhY2N1bXVsYXRlIGludG8gNjQtYml0IGVsZW1lbnRzLgotLy8gVGhl
cmVmb3JlIGJsb2NrcyBvZiBzaXplIDMyeDY0LCA2NHgzMiBhbmQgNjR4NjQgYXJlIHByb2Nlc3Nl
ZCBpbiBhIGRpZmZlcmVudAotLy8gaGVscGVyIGZ1bmN0aW9uLgotCi0vLyBQcm9jZXNzIGEgYmxv
Y2sgb2YgYW55IHNpemUgd2hlcmUgdGhlIHdpZHRoIGlzIGRpdmlzaWJsZSBieSA4LCB3aXRoCi0v
LyBhY2N1bXVsYXRpb24gaW50byA2NC1iaXQgZWxlbWVudHMuCi1zdGF0aWMgSU5MSU5FIHZvaWQg
aGlnaGJkX3ZhcmlhbmNlX3hsYXJnZV9uZW9uKAotICAgIGNvbnN0IHVpbnQxNl90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDE2X3QgKnJlZl9wdHIsCi0gICAgaW50IHJlZl9z
dHJpZGUsIGludCB3LCBpbnQgaCwgaW50IGhfbGltaXQsIHVpbnQ2NF90ICpzc2UsIGludDY0X3Qg
KnN1bSkgewotICBpbnQzMng0X3Qgc3VtX3MzMiA9IHZkdXBxX25fczMyKDApOwotICBpbnQ2NHgy
X3Qgc3NlX3M2NCA9IHZkdXBxX25fczY0KDApOwotCi0gIC8vICdoX2xpbWl0JyBpcyB0aGUgbnVt
YmVyIG9mICd3Jy13aWR0aCByb3dzIHdlIGNhbiBwcm9jZXNzIGJlZm9yZSBvdXIgMzItYml0Ci0g
IC8vIGFjY3VtdWxhdG9yIG92ZXJmbG93cy4gQWZ0ZXIgaGl0dGluZyB0aGlzIGxpbWl0IHdlIGFj
Y3VtdWxhdGUgaW50byA2NC1iaXQKLSAgLy8gZWxlbWVudHMuCi0gIGludCBoX3RtcCA9IGggPiBo
X2xpbWl0ID8gaF9saW1pdCA6IGg7Ci0KLSAgaW50IGkgPSAwOwotICBkbyB7Ci0gICAgaW50MzJ4
NF90IHNzZV9zMzJbMl0gPSB7IHZkdXBxX25fczMyKDApLCB2ZHVwcV9uX3MzMigwKSB9OwotICAg
IGRvIHsKLSAgICAgIGludCBqID0gMDsKLSAgICAgIGRvIHsKLSAgICAgICAgY29uc3QgdWludDE2
eDhfdCBzMCA9IHZsZDFxX3UxNihzcmNfcHRyICsgaik7Ci0gICAgICAgIGNvbnN0IHVpbnQxNng4
X3QgcjAgPSB2bGQxcV91MTYocmVmX3B0ciArIGopOwotCi0gICAgICAgIGNvbnN0IGludDE2eDhf
dCBkaWZmID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZzdWJxX3UxNihzMCwgcjApKTsKLSAgICAg
ICAgc3VtX3MzMiA9IHZwYWRhbHFfczE2KHN1bV9zMzIsIGRpZmYpOwotCi0gICAgICAgIHNzZV9z
MzJbMF0gPQotICAgICAgICAgICAgdm1sYWxfczE2KHNzZV9zMzJbMF0sIHZnZXRfbG93X3MxNihk
aWZmKSwgdmdldF9sb3dfczE2KGRpZmYpKTsKLSAgICAgICAgc3NlX3MzMlsxXSA9Ci0gICAgICAg
ICAgICB2bWxhbF9zMTYoc3NlX3MzMlsxXSwgdmdldF9oaWdoX3MxNihkaWZmKSwgdmdldF9oaWdo
X3MxNihkaWZmKSk7Ci0KLSAgICAgICAgaiArPSA4OwotICAgICAgfSB3aGlsZSAoaiA8IHcpOwot
Ci0gICAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgICByZWZfcHRyICs9IHJlZl9zdHJp
ZGU7Ci0gICAgICBpKys7Ci0gICAgfSB3aGlsZSAoaSA8IGhfdG1wKTsKLQotICAgIHNzZV9zNjQg
PSB2cGFkYWxxX3MzMihzc2VfczY0LCBzc2VfczMyWzBdKTsKLSAgICBzc2VfczY0ID0gdnBhZGFs
cV9zMzIoc3NlX3M2NCwgc3NlX3MzMlsxXSk7Ci0gICAgaF90bXAgKz0gaF9saW1pdDsKLSAgfSB3
aGlsZSAoaSA8IGgpOwotCi0gICpzdW0gPSBob3Jpem9udGFsX2FkZF9pbnQzMng0KHN1bV9zMzIp
OwotICAqc3NlID0gKHVpbnQ2NF90KWhvcml6b250YWxfYWRkX2ludDY0eDIoc3NlX3M2NCk7Ci19
Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfdmFyaWFuY2VfMzJ4aF94bGFyZ2VfbmVvbigK
LSAgICBjb25zdCB1aW50MTZfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDE2X3Qg
KnJlZiwgaW50IHJlZl9zdHJpZGUsCi0gICAgaW50IGgsIHVpbnQ2NF90ICpzc2UsIGludDY0X3Qg
KnN1bSkgewotICBoaWdoYmRfdmFyaWFuY2VfeGxhcmdlX25lb24oc3JjLCBzcmNfc3RyaWRlLCBy
ZWYsIHJlZl9zdHJpZGUsIDMyLCBoLCAzMiwgc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3VtKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF92YXJpYW5jZV82NHho
X3hsYXJnZV9uZW9uKAotICAgIGNvbnN0IHVpbnQxNl90ICpzcmMsIGludCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50MTZfdCAqcmVmLCBpbnQgcmVmX3N0cmlkZSwKLSAgICBpbnQgaCwgdWludDY0X3Qg
KnNzZSwgaW50NjRfdCAqc3VtKSB7Ci0gIGhpZ2hiZF92YXJpYW5jZV94bGFyZ2VfbmVvbihzcmMs
IHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgNjQsIGgsIDE2LCBzc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdW0pOwotfQotCi0jZGVmaW5lIEhCRF9WQVJJQU5DRV9XWEhf
OF9ORU9OKHcsIGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50MzJf
dCB2cHhfaGlnaGJkXzhfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25z
dCB1aW50OF90ICpyZWZfcHRyLCBcCi0gICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNz
ZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludCBzdW07ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICB1aW50NjRfdCBzc2VfbG9uZyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgaW50NjRfdCBzdW1fbG9uZyA9IDA7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQxNl90ICpzcmMgPSBDT05WRVJU
X1RPX1NIT1JUUFRSKHNyY19wdHIpOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50MTZf
dCAqcmVmID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgaGlnaGJkX3ZhcmlhbmNlXyMjdyMjeGhfbmVvbihzcmMsIHNyY19zdHJpZGUsIHJl
ZiwgcmVmX3N0cmlkZSwgaCwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNz
ZV9sb25nLCAmc3VtX2xvbmcpOyAgICAgICAgICAgICAgIFwKLSAgICAqc3NlID0gKHVpbnQzMl90
KXNzZV9sb25nOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
c3VtID0gKGludClzdW1fbG9uZzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHJldHVybiAqc3NlIC0gKHVpbnQzMl90KSgoKGludDY0X3Qpc3VtICog
c3VtKSAvICh3ICogaCkpOyAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIEhCRF9WQVJJQU5DRV9X
WEhfMTBfTkVPTih3LCBoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50
MzJfdCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlIyN3IyN4IyNoIyNfbmVvbiggICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICpyZWZfcHRyLCBcCi0gICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qg
KnNzZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludCBzdW07ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBpbnQ2NF90IHZhcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgdWludDY0X3Qgc3NlX2xvbmcgPSAwOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludDY0X3Qgc3VtX2xvbmcgPSAw
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50
MTZfdCAqc3JjID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgdWludDE2X3QgKnJlZiA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0cik7
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGhpZ2hiZF92YXJpYW5jZV8jI3cjI3hoX25lb24o
c3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIGgsIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZzc2VfbG9uZywgJnN1bV9sb25nKTsgICAgICAgICAgICAgICBcCi0g
ICAgKnNzZSA9ICh1aW50MzJfdClST1VORF9QT1dFUl9PRl9UV08oc3NlX2xvbmcsIDQpOyAgICAg
ICAgICAgICAgICAgXAotICAgIHN1bSA9IChpbnQpUk9VTkRfUE9XRVJfT0ZfVFdPKHN1bV9sb25n
LCAyKTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2YXIgPSAoaW50NjRfdCkoKnNzZSkg
LSAoKChpbnQ2NF90KXN1bSAqIHN1bSkgLyAodyAqIGgpKTsgICAgICAgICBcCi0gICAgcmV0dXJu
ICh2YXIgPj0gMCkgPyAodWludDMyX3QpdmFyIDogMDsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICB9Ci0KLSNkZWZpbmUgSEJEX1ZBUklBTkNFX1dYSF8xMl9ORU9OKHcsIGgpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfdmFy
aWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIs
IFwKLSAgICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlKSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgaW50IHN1bTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludDY0X3QgdmFyOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1
aW50NjRfdCBzc2VfbG9uZyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgaW50NjRfdCBzdW1fbG9uZyA9IDA7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQxNl90ICpzcmMgPSBDT05WRVJUX1RP
X1NIT1JUUFRSKHNyY19wdHIpOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50MTZfdCAq
cmVmID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgaGlnaGJkX3ZhcmlhbmNlXyMjdyMjeGhfbmVvbihzcmMsIHNyY19zdHJpZGUsIHJlZiwg
cmVmX3N0cmlkZSwgaCwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNzZV9s
b25nLCAmc3VtX2xvbmcpOyAgICAgICAgICAgICAgIFwKLSAgICAqc3NlID0gKHVpbnQzMl90KVJP
VU5EX1BPV0VSX09GX1RXTyhzc2VfbG9uZywgOCk7ICAgICAgICAgICAgICAgICBcCi0gICAgc3Vt
ID0gKGludClST1VORF9QT1dFUl9PRl9UV08oc3VtX2xvbmcsIDQpOyAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHZhciA9IChpbnQ2NF90KSgqc3NlKSAtICgoKGludDY0X3Qpc3VtICogc3Vt
KSAvICh3ICogaCkpOyAgICAgICAgIFwKLSAgICByZXR1cm4gKHZhciA+PSAwKSA/ICh1aW50MzJf
dCl2YXIgOiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotI2RlZmluZSBI
QkRfVkFSSUFOQ0VfV1hIXzEyX1hMQVJHRV9ORU9OKHcsIGgpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UjI3cjI3gjI2gj
I19uZW9uKCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCAgICAgICAg
XAotICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW50IHN1bTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQ2
NF90IHZhcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIHVpbnQ2NF90IHNzZV9sb25nID0gMDsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW50NjRfdCBzdW1fbG9u
ZyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICB1aW50MTZfdCAqc3JjID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQxNl90ICpyZWYgPSBDT05WRVJUX1RP
X1NIT1JUUFRSKHJlZl9wdHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaGln
aGJkX3ZhcmlhbmNlXyMjdyMjeGhfeGxhcmdlX25lb24oc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJl
Zl9zdHJpZGUsIGgsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
c3NlX2xvbmcsICZzdW1fbG9uZyk7ICAgICAgICAgICAgICAgXAotICAgICpzc2UgPSAodWludDMy
X3QpUk9VTkRfUE9XRVJfT0ZfVFdPKHNzZV9sb25nLCA4KTsgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgc3VtID0gKGludClST1VORF9QT1dFUl9PRl9UV08oc3VtX2xvbmcsIDQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2YXIgPSAoaW50NjRfdCkoKnNzZSkgLSAo
KChpbnQ2NF90KXN1bSAqIHN1bSkgLyAodyAqIGgpKTsgICAgICAgICAgICAgICAgXAotICAgIHJl
dHVybiAodmFyID49IDApID8gKHVpbnQzMl90KXZhciA6IDA7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIH0KLQotLy8gOC1iaXQKLUhCRF9WQVJJQU5DRV9XWEhfOF9ORU9O
KDQsIDQpCi1IQkRfVkFSSUFOQ0VfV1hIXzhfTkVPTig0LCA4KQotCi1IQkRfVkFSSUFOQ0VfV1hI
XzhfTkVPTig4LCA0KQotSEJEX1ZBUklBTkNFX1dYSF84X05FT04oOCwgOCkKLUhCRF9WQVJJQU5D
RV9XWEhfOF9ORU9OKDgsIDE2KQotCi1IQkRfVkFSSUFOQ0VfV1hIXzhfTkVPTigxNiwgOCkKLUhC
RF9WQVJJQU5DRV9XWEhfOF9ORU9OKDE2LCAxNikKLUhCRF9WQVJJQU5DRV9XWEhfOF9ORU9OKDE2
LCAzMikKLQotSEJEX1ZBUklBTkNFX1dYSF84X05FT04oMzIsIDE2KQotSEJEX1ZBUklBTkNFX1dY
SF84X05FT04oMzIsIDMyKQotSEJEX1ZBUklBTkNFX1dYSF84X05FT04oMzIsIDY0KQotCi1IQkRf
VkFSSUFOQ0VfV1hIXzhfTkVPTig2NCwgMzIpCi1IQkRfVkFSSUFOQ0VfV1hIXzhfTkVPTig2NCwg
NjQpCi0KLS8vIDEwLWJpdAotSEJEX1ZBUklBTkNFX1dYSF8xMF9ORU9OKDQsIDQpCi1IQkRfVkFS
SUFOQ0VfV1hIXzEwX05FT04oNCwgOCkKLQotSEJEX1ZBUklBTkNFX1dYSF8xMF9ORU9OKDgsIDQp
Ci1IQkRfVkFSSUFOQ0VfV1hIXzEwX05FT04oOCwgOCkKLUhCRF9WQVJJQU5DRV9XWEhfMTBfTkVP
Tig4LCAxNikKLQotSEJEX1ZBUklBTkNFX1dYSF8xMF9ORU9OKDE2LCA4KQotSEJEX1ZBUklBTkNF
X1dYSF8xMF9ORU9OKDE2LCAxNikKLUhCRF9WQVJJQU5DRV9XWEhfMTBfTkVPTigxNiwgMzIpCi0K
LUhCRF9WQVJJQU5DRV9XWEhfMTBfTkVPTigzMiwgMTYpCi1IQkRfVkFSSUFOQ0VfV1hIXzEwX05F
T04oMzIsIDMyKQotSEJEX1ZBUklBTkNFX1dYSF8xMF9ORU9OKDMyLCA2NCkKLQotSEJEX1ZBUklB
TkNFX1dYSF8xMF9ORU9OKDY0LCAzMikKLUhCRF9WQVJJQU5DRV9XWEhfMTBfTkVPTig2NCwgNjQp
Ci0KLS8vIDEyLWJpdAotSEJEX1ZBUklBTkNFX1dYSF8xMl9ORU9OKDQsIDQpCi1IQkRfVkFSSUFO
Q0VfV1hIXzEyX05FT04oNCwgOCkKLQotSEJEX1ZBUklBTkNFX1dYSF8xMl9ORU9OKDgsIDQpCi1I
QkRfVkFSSUFOQ0VfV1hIXzEyX05FT04oOCwgOCkKLUhCRF9WQVJJQU5DRV9XWEhfMTJfTkVPTig4
LCAxNikKLQotSEJEX1ZBUklBTkNFX1dYSF8xMl9ORU9OKDE2LCA4KQotSEJEX1ZBUklBTkNFX1dY
SF8xMl9ORU9OKDE2LCAxNikKLUhCRF9WQVJJQU5DRV9XWEhfMTJfTkVPTigxNiwgMzIpCi0KLUhC
RF9WQVJJQU5DRV9XWEhfMTJfTkVPTigzMiwgMTYpCi1IQkRfVkFSSUFOQ0VfV1hIXzEyX05FT04o
MzIsIDMyKQotSEJEX1ZBUklBTkNFX1dYSF8xMl9YTEFSR0VfTkVPTigzMiwgNjQpCi0KLUhCRF9W
QVJJQU5DRV9XWEhfMTJfWExBUkdFX05FT04oNjQsIDMyKQotSEJEX1ZBUklBTkNFX1dYSF8xMl9Y
TEFSR0VfTkVPTig2NCwgNjQpCi0KLSNkZWZpbmUgSElHSEJEX0dFVF9WQVIoUykgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHZvaWQgdnB4X2hpZ2hiZF84
X2dldCMjUyMjeCMjUyMjdmFyX25lb24oICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9wdHIsIFwKLSAgICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBpbnQgKnN1
bSkgeyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDY0X3Qgc3NlX2xvbmcgPSAwOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludDY0X3Qg
c3VtX2xvbmcgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICB1aW50MTZfdCAqc3JjID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgdWludDE2X3QgKnJlZiA9IENPTlZFUlRfVE9fU0hPUlRQ
VFIocmVmX3B0cik7ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGhpZ2hiZF92YXJpYW5jZV8j
I1MjI3hoX25lb24oc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIFMsIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzc2VfbG9uZywgJnN1bV9sb25nKTsgICAgICAg
ICAgICAgICBcCi0gICAgKnNzZSA9ICh1aW50MzJfdClzc2VfbG9uZzsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICpzdW0gPSAoaW50KXN1bV9sb25nOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICB2b2lkIHZweF9oaWdoYmRfMTBfZ2V0IyNTIyN4IyNTIyN2YXJf
bmVvbiggICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBcCi0gICAgICBp
bnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgaW50ICpzdW0pIHsgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHVpbnQ2NF90IHNzZV9sb25nID0gMDsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQ2NF90IHN1bV9sb25nID0gMDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDE2X3QgKnNy
YyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjX3B0cik7ICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHVpbnQxNl90ICpyZWYgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl9wdHIpOyAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBoaWdoYmRfdmFyaWFuY2VfIyNTIyN4aF9uZW9uKHNyYywgc3Jj
X3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBTLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmc3NlX2xvbmcsICZzdW1fbG9uZyk7ICAgICAgICAgICAgICAgXAotICAgICpzc2Ug
PSAodWludDMyX3QpUk9VTkRfUE9XRVJfT0ZfVFdPKHNzZV9sb25nLCA0KTsgICAgICAgICAgICAg
ICAgIFwKLSAgICAqc3VtID0gKGludClST1VORF9QT1dFUl9PRl9UV08oc3VtX2xvbmcsIDIpOyAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
dm9pZCB2cHhfaGlnaGJkXzEyX2dldCMjUyMjeCMjUyMjdmFyX25lb24oICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgXAotICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQz
Ml90ICpzc2UsIGludCAqc3VtKSB7ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50NjRf
dCBzc2VfbG9uZyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgaW50NjRfdCBzdW1fbG9uZyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQxNl90ICpzcmMgPSBDT05WRVJUX1RPX1NIT1JU
UFRSKHNyY19wdHIpOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50MTZfdCAqcmVmID0g
Q09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
aGlnaGJkX3ZhcmlhbmNlXyMjUyMjeGhfbmVvbihzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0
cmlkZSwgUywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNzZV9sb25nLCAm
c3VtX2xvbmcpOyAgICAgICAgICAgICAgIFwKLSAgICAqc3NlID0gKHVpbnQzMl90KVJPVU5EX1BP
V0VSX09GX1RXTyhzc2VfbG9uZywgOCk7ICAgICAgICAgICAgICAgICBcCi0gICAgKnN1bSA9IChp
bnQpUk9VTkRfUE9XRVJfT0ZfVFdPKHN1bV9sb25nLCA0KTsgICAgICAgICAgICAgICAgICAgICAg
XAotICB9Ci0KLUhJR0hCRF9HRVRfVkFSKDgpCi1ISUdIQkRfR0VUX1ZBUigxNikKLQotc3RhdGlj
IElOTElORSB1aW50MzJfdCBoaWdoYmRfbXNlX3d4aF9uZW9uKGNvbnN0IHVpbnQxNl90ICpzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNl90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgdywgaW50IGgpIHsKLSAgdWludDMyeDRfdCBzc2Vf
dTMyWzJdID0geyB2ZHVwcV9uX3UzMigwKSwgdmR1cHFfbl91MzIoMCkgfTsKLQotICBpbnQgaSA9
IGg7Ci0gIGRvIHsKLSAgICBpbnQgaiA9IDA7Ci0gICAgZG8gewotICAgICAgdWludDE2eDhfdCBz
ID0gdmxkMXFfdTE2KHNyY19wdHIgKyBqKTsKLSAgICAgIHVpbnQxNng4X3QgciA9IHZsZDFxX3Ux
NihyZWZfcHRyICsgaik7Ci0KLSAgICAgIHVpbnQxNng4X3QgZGlmZiA9IHZhYmRxX3UxNihzLCBy
KTsKLQotICAgICAgc3NlX3UzMlswXSA9Ci0gICAgICAgICAgdm1sYWxfdTE2KHNzZV91MzJbMF0s
IHZnZXRfbG93X3UxNihkaWZmKSwgdmdldF9sb3dfdTE2KGRpZmYpKTsKLSAgICAgIHNzZV91MzJb
MV0gPQotICAgICAgICAgIHZtbGFsX3UxNihzc2VfdTMyWzFdLCB2Z2V0X2hpZ2hfdTE2KGRpZmYp
LCB2Z2V0X2hpZ2hfdTE2KGRpZmYpKTsKLQotICAgICAgaiArPSA4OwotICAgIH0gd2hpbGUgKGog
PCB3KTsKLQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IHJlZl9z
dHJpZGU7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRf
dWludDMyeDQodmFkZHFfdTMyKHNzZV91MzJbMF0sIHNzZV91MzJbMV0pKTsKLX0KLQotc3RhdGlj
IElOTElORSB1aW50MzJfdCBoaWdoYmRfbXNlOF84eGhfbmVvbihjb25zdCB1aW50MTZfdCAqc3Jj
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQxNl90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgpIHsKLSAgcmV0dXJuIGhpZ2hiZF9tc2Vf
d3hoX25lb24oc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgOCwgaCk7
Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdWludDMyX3QgaGlnaGJkX21zZThfMTZ4aF9uZW9uKGNvbnN0
IHVpbnQxNl90ICpzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgaCkgewotICBy
ZXR1cm4gaGlnaGJkX21zZV93eGhfbmVvbihzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRyLCBy
ZWZfc3RyaWRlLCAxNiwgaCk7Ci19Ci0KLSNkZWZpbmUgSElHSEJEX01TRV9XWEhfTkVPTih3LCBo
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50MzJfdCB2
cHhfaGlnaGJkXzhfbXNlIyN3IyN4IyNoIyNfbmVvbiggICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqcmVmX3B0ciwgICAgIFwKLSAgICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJf
dCAqc3NlKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQx
Nl90ICpzcmMgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyY19wdHIpOyAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgdWludDE2X3QgKnJlZiA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0
cik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAqc3NlID0gaGlnaGJkX21zZThfIyN3
IyN4aF9uZW9uKHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoKTsgXAotICAgIHJl
dHVybiAqc3NlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1
aW50MzJfdCB2cHhfaGlnaGJkXzEwX21zZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgICAgIFwKLSAgICAgIGludCByZWZfc3RyaWRl
LCB1aW50MzJfdCAqc3NlKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHVpbnQxNl90ICpzcmMgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyY19wdHIpOyAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgdWludDE2X3QgKnJlZiA9IENPTlZFUlRfVE9fU0hPUlRQ
VFIocmVmX3B0cik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAqc3NlID0gaGlnaGJk
X21zZV93eGhfbmVvbihzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgdywgaCk7ICAg
XAotICAgICpzc2UgPSBST1VORF9QT1dFUl9PRl9UV08oKnNzZSwgNCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgcmV0dXJuICpzc2U7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVpbnQzMl90IHZweF9oaWdoYmRfMTJfbXNlIyN3
IyN4IyNoIyNfbmVvbiggICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCAgICAgXAotICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UpIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDE2X3QgKnNyYyA9IENPTlZFUlRf
VE9fU0hPUlRQVFIoc3JjX3B0cik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50
MTZfdCAqcmVmID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICpzc2UgPSBoaWdoYmRfbXNlX3d4aF9uZW9uKHNyYywgc3JjX3N0cmlk
ZSwgcmVmLCByZWZfc3RyaWRlLCB3LCBoKTsgICBcCi0gICAgKnNzZSA9IFJPVU5EX1BPV0VSX09G
X1RXTygqc3NlLCA4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBy
ZXR1cm4gKnNzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICB9Ci0KLUhJR0hCRF9NU0VfV1hIX05FT04oMTYsIDE2KQotSElHSEJE
X01TRV9XWEhfTkVPTigxNiwgOCkKLUhJR0hCRF9NU0VfV1hIX05FT04oOCwgMTYpCi1ISUdIQkRf
TVNFX1dYSF9ORU9OKDgsIDgpCi0KLSN1bmRlZiBISUdIQkRfTVNFX1dYSF9ORU9OCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92YXJpYW5jZV9uZW9uX2RvdHByb2Qu
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZhcmlhbmNlX25lb25fZG90cHJvZC5j
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTg4NzIwMTcyMzMuLjAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92YXJpYW5jZV9uZW9uX2RvdHBy
b2QuYworKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChj
KSAyMDIyIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAq
Ci0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
bGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhl
IHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFs
IHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRF
TlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQg
aW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8K
LQotI2luY2x1ZGUgPGFybV9uZW9uLmg+Ci0KLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgot
I2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgotCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgi
Ci0jaW5jbHVkZSAidnB4X2RzcC9hcm0vbWVtX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2Fy
bS9zdW1fbmVvbi5oIgotI2luY2x1ZGUgInZweF9wb3J0cy9tZW0uaCIKLQotc3RhdGljIElOTElO
RSB1aW50MzJfdCBoaWdoYmRfbXNlOF84eGhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQxNl90ICpz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQg
aCkgewotICB1aW50MzJ4NF90IHNzZV91MzIgPSB2ZHVwcV9uX3UzMigwKTsKLQotICBpbnQgaSA9
IGggLyAyOwotICBkbyB7Ci0gICAgdWludDE2eDhfdCBzMCwgczEsIHIwLCByMTsKLSAgICB1aW50
OHgxNl90IHMsIHIsIGRpZmY7Ci0KLSAgICBzMCA9IHZsZDFxX3UxNihzcmNfcHRyKTsKLSAgICBz
cmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgczEgPSB2bGQxcV91MTYoc3JjX3B0cik7Ci0gICAg
c3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIHIwID0gdmxkMXFfdTE2KHJlZl9wdHIpOwotICAg
IHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICByMSA9IHZsZDFxX3UxNihyZWZfcHRyKTsKLSAg
ICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0KLSAgICBzID0gdmNvbWJpbmVfdTgodm1vdm5fdTE2
KHMwKSwgdm1vdm5fdTE2KHMxKSk7Ci0gICAgciA9IHZjb21iaW5lX3U4KHZtb3ZuX3UxNihyMCks
IHZtb3ZuX3UxNihyMSkpOwotCi0gICAgZGlmZiA9IHZhYmRxX3U4KHMsIHIpOwotICAgIHNzZV91
MzIgPSB2ZG90cV91MzIoc3NlX3UzMiwgZGlmZiwgZGlmZik7Ci0gIH0gd2hpbGUgKC0taSAhPSAw
KTsKLQotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWludDMyeDQoc3NlX3UzMik7Ci19Ci0KLXN0
YXRpYyBJTkxJTkUgdWludDMyX3QgaGlnaGJkX21zZThfMTZ4aF9uZW9uX2RvdHByb2QoY29uc3Qg
dWludDE2X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsIGludCBoKSB7Ci0gIHVpbnQzMng0X3Qgc3NlX3UzMiA9IHZkdXBxX25fdTMyKDAp
OwotCi0gIGludCBpID0gaDsKLSAgZG8gewotICAgIHVpbnQxNng4X3QgczAsIHMxLCByMCwgcjE7
Ci0gICAgdWludDh4MTZfdCBzLCByLCBkaWZmOwotCi0gICAgczAgPSB2bGQxcV91MTYoc3JjX3B0
cik7Ci0gICAgczEgPSB2bGQxcV91MTYoc3JjX3B0ciArIDgpOwotICAgIHIwID0gdmxkMXFfdTE2
KHJlZl9wdHIpOwotICAgIHIxID0gdmxkMXFfdTE2KHJlZl9wdHIgKyA4KTsKLQotICAgIHMgPSB2
Y29tYmluZV91OCh2bW92bl91MTYoczApLCB2bW92bl91MTYoczEpKTsKLSAgICByID0gdmNvbWJp
bmVfdTgodm1vdm5fdTE2KHIwKSwgdm1vdm5fdTE2KHIxKSk7Ci0KLSAgICBkaWZmID0gdmFiZHFf
dTgocywgcik7Ci0gICAgc3NlX3UzMiA9IHZkb3RxX3UzMihzc2VfdTMyLCBkaWZmLCBkaWZmKTsK
LQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7
Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWludDMy
eDQoc3NlX3UzMik7Ci19Ci0KLSNkZWZpbmUgSElHSEJEX01TRV9XWEhfTkVPTl9ET1RQUk9EKHcs
IGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVpbnQzMl90IHZw
eF9oaWdoYmRfOF9tc2UjI3cjI3gjI2gjI19uZW9uX2RvdHByb2QoICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUs
IGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsICAgICAgICAgIFwKLSAgICAgIGludCByZWZfc3RyaWRl
LCB1aW50MzJfdCAqc3NlKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgdWludDE2X3QgKnNyYyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjX3B0cik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQxNl90ICpyZWYgPSBDT05WRVJU
X1RPX1NIT1JUUFRSKHJlZl9wdHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAqc3NlID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGhpZ2hiZF9tc2U4XyMjdyMjeGhfbmVvbl9k
b3Rwcm9kKHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoKTsgXAotICAgIHJldHVy
biAqc3NlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgfQotCi1ISUdIQkRfTVNFX1dYSF9ORU9OX0RPVFBST0QoMTYsIDE2
KQotSElHSEJEX01TRV9XWEhfTkVPTl9ET1RQUk9EKDE2LCA4KQotSElHSEJEX01TRV9XWEhfTkVP
Tl9ET1RQUk9EKDgsIDE2KQotSElHSEJEX01TRV9XWEhfTkVPTl9ET1RQUk9EKDgsIDgpCi0KLSN1
bmRlZiBISUdIQkRfTVNFX1dYSF9ORU9OX0RPVFBST0QKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9jb252b2x2ZThfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9oaWdoYmRfdnB4X2NvbnZvbHZlOF9uZW9uLmMKaW5kZXggNDc2ODQ0NzNjYWI2Li5j
NDZjMDE2MzEyNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3Zw
eF9jb252b2x2ZThfbmVvbi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3Zw
eF9jb252b2x2ZThfbmVvbi5jCkBAIC0zNTUsNiArMzU1LDcgQEAgdm9pZCB2cHhfaGlnaGJkX2Nv
bnZvbHZlOF9hdmdfaG9yaXpfbmVvbihjb25zdCB1aW50MTZfdCAqc3JjLAogICB9IGVsc2Ugewog
ICAgIGNvbnN0IGludDE2eDhfdCBmaWx0ZXJzID0gdmxkMXFfczE2KGZpbHRlclt4MF9xNF0pOwog
ICAgIGNvbnN0IHVpbnQxNng4X3QgbWF4ID0gdmR1cHFfbl91MTYoKDEgPDwgYmQpIC0gMSk7Cisg
ICAgdWludDE2eDhfdCB0MCwgdDEsIHQyLCB0MzsKIAogICAgIGFzc2VydCghKChpbnRwdHJfdClk
c3QgJiAzKSk7CiAgICAgYXNzZXJ0KCEoZHN0X3N0cmlkZSAmIDMpKTsKQEAgLTM2NCw3ICszNjUs
NiBAQCB2b2lkIHZweF9oaWdoYmRfY29udm9sdmU4X2F2Z19ob3Jpel9uZW9uKGNvbnN0IHVpbnQx
Nl90ICpzcmMsCiAgICAgaWYgKGggPT0gNCkgewogICAgICAgaW50MTZ4NF90IHMwLCBzMSwgczIs
IHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTA7CiAgICAgICBpbnQzMng0X3QgZDAsIGQx
LCBkMiwgZDM7Ci0gICAgICB1aW50MTZ4OF90IHQwLCB0MSwgdDIsIHQzOwogICAgICAgdWludDE2
eDhfdCBkMDEsIGQyMywgdDAxLCB0MjM7CiAKICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMg
KyAwICogc3JjX3N0cmlkZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hp
Z2hiZF92cHhfY29udm9sdmVfY29weV9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hp
Z2hiZF92cHhfY29udm9sdmVfY29weV9uZW9uLmMKaW5kZXggNzc1MTA4MjA4M2YzLi45ZDI3NTJl
MDk3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vaGlnaGJkX3ZweF9jb252
b2x2ZV9jb3B5X25lb24uYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2hpZ2hiZF92cHhf
Y29udm9sdmVfY29weV9uZW9uLmMKQEAgLTI2LDg4ICsyNiw3NiBAQCB2b2lkIHZweF9oaWdoYmRf
Y29udm9sdmVfY29weV9uZW9uKGNvbnN0IHVpbnQxNl90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAogICAodm9pZCliZDsKIAogICBpZiAodyA8IDgpIHsgIC8vIGNvcHk0Ci0gICAgdWludDE2
eDRfdCBzMCwgczE7CiAgICAgZG8gewotICAgICAgczAgPSB2bGQxX3UxNihzcmMpOworICAgICAg
dnN0MV91MTYoZHN0LCB2bGQxX3UxNihzcmMpKTsKICAgICAgIHNyYyArPSBzcmNfc3RyaWRlOwot
ICAgICAgczEgPSB2bGQxX3UxNihzcmMpOwotICAgICAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAg
ICAgIHZzdDFfdTE2KGRzdCwgczApOwogICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICB2
c3QxX3UxNihkc3QsIHMxKTsKKyAgICAgIHZzdDFfdTE2KGRzdCwgdmxkMV91MTYoc3JjKSk7Cisg
ICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwogICAgICAg
aCAtPSAyOwotICAgIH0gd2hpbGUgKGggIT0gMCk7CisgICAgfSB3aGlsZSAoaCA+IDApOwogICB9
IGVsc2UgaWYgKHcgPT0gOCkgeyAgLy8gY29weTgKLSAgICB1aW50MTZ4OF90IHMwLCBzMTsKICAg
ICBkbyB7Ci0gICAgICBzMCA9IHZsZDFxX3UxNihzcmMpOwotICAgICAgc3JjICs9IHNyY19zdHJp
ZGU7Ci0gICAgICBzMSA9IHZsZDFxX3UxNihzcmMpOworICAgICAgdnN0MXFfdTE2KGRzdCwgdmxk
MXFfdTE2KHNyYykpOwogICAgICAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAgICAgIHZzdDFxX3Ux
Nihkc3QsIHMwKTsKICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgdnN0MXFfdTE2KGRz
dCwgczEpOworICAgICAgdnN0MXFfdTE2KGRzdCwgdmxkMXFfdTE2KHNyYykpOworICAgICAgc3Jj
ICs9IHNyY19zdHJpZGU7CiAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKICAgICAgIGggLT0gMjsK
LSAgICB9IHdoaWxlIChoICE9IDApOworICAgIH0gd2hpbGUgKGggPiAwKTsKICAgfSBlbHNlIGlm
ICh3IDwgMzIpIHsgIC8vIGNvcHkxNgotICAgIHVpbnQxNng4X3QgczAsIHMxLCBzMiwgczM7CiAg
ICAgZG8gewotICAgICAgczAgPSB2bGQxcV91MTYoc3JjKTsKLSAgICAgIHMxID0gdmxkMXFfdTE2
KHNyYyArIDgpOworICAgICAgdnN0MnFfdTE2KGRzdCwgdmxkMnFfdTE2KHNyYykpOworICAgICAg
c3JjICs9IHNyY19zdHJpZGU7CisgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAgICAgIHZzdDJx
X3UxNihkc3QsIHZsZDJxX3UxNihzcmMpKTsKICAgICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAg
ICAgczIgPSB2bGQxcV91MTYoc3JjKTsKLSAgICAgIHMzID0gdmxkMXFfdTE2KHNyYyArIDgpOwor
ICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7CisgICAgICB2c3QycV91MTYoZHN0LCB2bGQycV91MTYo
c3JjKSk7CiAgICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICAgICAgdnN0MXFfdTE2KGRzdCwg
czApOwotICAgICAgdnN0MXFfdTE2KGRzdCArIDgsIHMxKTsKICAgICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotICAgICAgdnN0MXFfdTE2KGRzdCwgczIpOwotICAgICAgdnN0MXFfdTE2KGRzdCArIDgs
IHMzKTsKKyAgICAgIHZzdDJxX3UxNihkc3QsIHZsZDJxX3UxNihzcmMpKTsKKyAgICAgIHNyYyAr
PSBzcmNfc3RyaWRlOwogICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBoIC09IDI7Ci0g
ICAgfSB3aGlsZSAoaCAhPSAwKTsKKyAgICAgIGggLT0gNDsKKyAgICB9IHdoaWxlIChoID4gMCk7
CiAgIH0gZWxzZSBpZiAodyA9PSAzMikgeyAgLy8gY29weTMyCi0gICAgdWludDE2eDhfdCBzMCwg
czEsIHMyLCBzMzsKICAgICBkbyB7Ci0gICAgICBzMCA9IHZsZDFxX3UxNihzcmMpOwotICAgICAg
czEgPSB2bGQxcV91MTYoc3JjICsgOCk7Ci0gICAgICBzMiA9IHZsZDFxX3UxNihzcmMgKyAxNik7
Ci0gICAgICBzMyA9IHZsZDFxX3UxNihzcmMgKyAyNCk7CisgICAgICB2c3Q0cV91MTYoZHN0LCB2
bGQ0cV91MTYoc3JjKSk7CiAgICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICAgICAgdnN0MXFf
dTE2KGRzdCwgczApOwotICAgICAgdnN0MXFfdTE2KGRzdCArIDgsIHMxKTsKLSAgICAgIHZzdDFx
X3UxNihkc3QgKyAxNiwgczIpOwotICAgICAgdnN0MXFfdTE2KGRzdCArIDI0LCBzMyk7CiAgICAg
ICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICB9IHdoaWxlICgtLWggIT0gMCk7CisgICAgICB2c3Q0
cV91MTYoZHN0LCB2bGQ0cV91MTYoc3JjKSk7CisgICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAg
ICAgIGRzdCArPSBkc3Rfc3RyaWRlOworICAgICAgdnN0NHFfdTE2KGRzdCwgdmxkNHFfdTE2KHNy
YykpOworICAgICAgc3JjICs9IHNyY19zdHJpZGU7CisgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsK
KyAgICAgIHZzdDRxX3UxNihkc3QsIHZsZDRxX3UxNihzcmMpKTsKKyAgICAgIHNyYyArPSBzcmNf
c3RyaWRlOworICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7CisgICAgICBoIC09IDQ7CisgICAgfSB3
aGlsZSAoaCA+IDApOwogICB9IGVsc2UgeyAgLy8gY29weTY0Ci0gICAgdWludDE2eDhfdCBzMCwg
czEsIHMyLCBzMywgczQsIHM1LCBzNiwgczc7CiAgICAgZG8gewotICAgICAgczAgPSB2bGQxcV91
MTYoc3JjKTsKLSAgICAgIHMxID0gdmxkMXFfdTE2KHNyYyArIDgpOwotICAgICAgczIgPSB2bGQx
cV91MTYoc3JjICsgMTYpOwotICAgICAgczMgPSB2bGQxcV91MTYoc3JjICsgMjQpOwotICAgICAg
czQgPSB2bGQxcV91MTYoc3JjICsgMzIpOwotICAgICAgczUgPSB2bGQxcV91MTYoc3JjICsgNDAp
OwotICAgICAgczYgPSB2bGQxcV91MTYoc3JjICsgNDgpOwotICAgICAgczcgPSB2bGQxcV91MTYo
c3JjICsgNTYpOworICAgICAgdnN0NHFfdTE2KGRzdCwgdmxkNHFfdTE2KHNyYykpOworICAgICAg
dnN0NHFfdTE2KGRzdCArIDMyLCB2bGQ0cV91MTYoc3JjICsgMzIpKTsKICAgICAgIHNyYyArPSBz
cmNfc3RyaWRlOwotCi0gICAgICB2c3QxcV91MTYoZHN0LCBzMCk7Ci0gICAgICB2c3QxcV91MTYo
ZHN0ICsgOCwgczEpOwotICAgICAgdnN0MXFfdTE2KGRzdCArIDE2LCBzMik7Ci0gICAgICB2c3Qx
cV91MTYoZHN0ICsgMjQsIHMzKTsKLSAgICAgIHZzdDFxX3UxNihkc3QgKyAzMiwgczQpOwotICAg
ICAgdnN0MXFfdTE2KGRzdCArIDQwLCBzNSk7Ci0gICAgICB2c3QxcV91MTYoZHN0ICsgNDgsIHM2
KTsKLSAgICAgIHZzdDFxX3UxNihkc3QgKyA1NiwgczcpOwotICAgICAgZHN0ICs9IGRzdF9zdHJp
ZGU7Ci0gICAgfSB3aGlsZSAoLS1oICE9IDApOworICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Cisg
ICAgICB2c3Q0cV91MTYoZHN0LCB2bGQ0cV91MTYoc3JjKSk7CisgICAgICB2c3Q0cV91MTYoZHN0
ICsgMzIsIHZsZDRxX3UxNihzcmMgKyAzMikpOworICAgICAgc3JjICs9IHNyY19zdHJpZGU7Cisg
ICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAgICAgIHZzdDRxX3UxNihkc3QsIHZsZDRxX3UxNihz
cmMpKTsKKyAgICAgIHZzdDRxX3UxNihkc3QgKyAzMiwgdmxkNHFfdTE2KHNyYyArIDMyKSk7Cisg
ICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOworICAgICAg
dnN0NHFfdTE2KGRzdCwgdmxkNHFfdTE2KHNyYykpOworICAgICAgdnN0NHFfdTE2KGRzdCArIDMy
LCB2bGQ0cV91MTYoc3JjICsgMzIpKTsKKyAgICAgIHNyYyArPSBzcmNfc3RyaWRlOworICAgICAg
ZHN0ICs9IGRzdF9zdHJpZGU7CisgICAgICBoIC09IDQ7CisgICAgfSB3aGlsZSAoaCA+IDApOwog
ICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2lkY3Q0eDRfYWRkX25l
b24uYXNtIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pZGN0NHg0X2FkZF9uZW9uLmFzbQppbmRl
eCAxNzViYTdmYmMyNzQuLjE4NGQyMTg5NDFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9pZGN0NHg0X2FkZF9uZW9uLmFzbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJt
L2lkY3Q0eDRfYWRkX25lb24uYXNtCkBAIC0xNyw3ICsxNyw3IEBACiAKICAgICBJTkNMVURFIHZw
eF9kc3AvYXJtL2lkY3RfbmVvbi5hc20uUwogCi0gICAgQVJFQSAgICAgQmxvY2ssIENPREUsIFJF
QURPTkxZCisgICAgQVJFQSAgICAgQmxvY2ssIENPREUsIFJFQURPTkxZIDsgbmFtZSB0aGlzIGJs
b2NrIG9mIGNvZGUKIDt2b2lkIHZweF9pZGN0NHg0XzE2X2FkZF9uZW9uKGludDE2X3QgKmlucHV0
LCB1aW50OF90ICpkZXN0LCBpbnQgc3RyaWRlKQogOwogOyByMCAgaW50MTZfdCBpbnB1dApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pbnRyYXByZWRfbmVvbi5jIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS9pbnRyYXByZWRfbmVvbi5jCmluZGV4IDRmOTA5ZTQ5MzU1OS4uMzhl
Mjc1ODM0YjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL2ludHJhcHJlZF9u
ZW9uLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9pbnRyYXByZWRfbmVvbi5jCkBAIC0x
Miw0NyArMTIsNTEgQEAKIAogI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgogI2luY2x1ZGUgIi4v
dnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAibWVtX25lb24uaCIKLSNpbmNsdWRlICJzdW1fbmVv
bi5oIgogI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgogCiAvLy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogLy8gREMgNHg0CiAKLXN0YXRpYyBJTkxJTkUgdWludDE2X3QgZGNfc3VtXzQoY29uc3Qg
dWludDhfdCAqcmVmKSB7Ci0gIHJldHVybiBob3Jpem9udGFsX2FkZF91aW50OHg0KGxvYWRfdW5h
bGlnbmVkX3U4XzR4MShyZWYpKTsKK3N0YXRpYyBJTkxJTkUgdWludDE2eDRfdCBkY19zdW1fNChj
b25zdCB1aW50OF90ICpyZWYpIHsKKyAgY29uc3QgdWludDh4OF90IHJlZl91OCA9IHZsZDFfdTgo
cmVmKTsKKyAgY29uc3QgdWludDE2eDRfdCBwMCA9IHZwYWRkbF91OChyZWZfdTgpOworICByZXR1
cm4gdnBhZGRfdTE2KHAwLCBwMCk7CiB9CiAKIHN0YXRpYyBJTkxJTkUgdm9pZCBkY19zdG9yZV80
eDQodWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OHg4X3QgZGMpIHsKKyAgY29uc3QgdWludDh4OF90IGRjX2R1
cCA9IHZkdXBfbGFuZV91OChkYywgMCk7CiAgIGludCBpOwogICBmb3IgKGkgPSAwOyBpIDwgNDsg
KytpLCBkc3QgKz0gc3RyaWRlKSB7Ci0gICAgdnN0MV9sYW5lX3UzMigodWludDMyX3QgKilkc3Qs
IHZyZWludGVycHJldF91MzJfdTgoZGMpLCAwKTsKKyAgICB2c3QxX2xhbmVfdTMyKCh1aW50MzJf
dCAqKWRzdCwgdnJlaW50ZXJwcmV0X3UzMl91OChkY19kdXApLCAwKTsKICAgfQogfQogCiB2b2lk
IHZweF9kY19wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBj
b25zdCB1aW50OF90ICpsZWZ0KSB7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBhID0gbG9hZF91bmFsaWdu
ZWRfdThfNHgxKGFib3ZlKTsKLSAgY29uc3QgdWludDh4OF90IGwgPSBsb2FkX3VuYWxpZ25lZF91
OF80eDEobGVmdCk7Ci0gIGNvbnN0IHVpbnQxNng0X3QgYWwgPSB2Z2V0X2xvd191MTYodmFkZGxf
dTgoYSwgbCkpOwotICBjb25zdCB1aW50MTZfdCBzdW0gPSBob3Jpem9udGFsX2FkZF91aW50MTZ4
NChhbCk7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBkYyA9IHZyc2hybl9uX3UxNih2ZHVwcV9uX3UxNihz
dW0pLCAzKTsKKyAgY29uc3QgdWludDh4OF90IGEgPSB2bGQxX3U4KGFib3ZlKTsKKyAgY29uc3Qg
dWludDh4OF90IGwgPSB2bGQxX3U4KGxlZnQpOworICBjb25zdCB1aW50MTZ4OF90IGFsID0gdmFk
ZGxfdTgoYSwgbCk7CisgIHVpbnQxNng0X3Qgc3VtOworICB1aW50OHg4X3QgZGM7CisgIHN1bSA9
IHZwYWRkX3UxNih2Z2V0X2xvd191MTYoYWwpLCB2Z2V0X2xvd191MTYoYWwpKTsKKyAgc3VtID0g
dnBhZGRfdTE2KHN1bSwgc3VtKTsKKyAgZGMgPSB2cmVpbnRlcnByZXRfdThfdTE2KHZyc2hyX25f
dTE2KHN1bSwgMykpOwogICBkY19zdG9yZV80eDQoZHN0LCBzdHJpZGUsIGRjKTsKIH0KIAogdm9p
ZCB2cHhfZGNfbGVmdF9wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qg
c3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsKLSAgY29uc3QgdWludDE2X3Qgc3VtID0g
ZGNfc3VtXzQobGVmdCk7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBkYyA9IHZyc2hybl9uX3UxNih2ZHVw
cV9uX3UxNihzdW0pLCAyKTsKKyAgY29uc3QgdWludDE2eDRfdCBzdW0gPSBkY19zdW1fNChsZWZ0
KTsKKyAgY29uc3QgdWludDh4OF90IGRjID0gdnJlaW50ZXJwcmV0X3U4X3UxNih2cnNocl9uX3Ux
NihzdW0sIDIpKTsKICAgKHZvaWQpYWJvdmU7CiAgIGRjX3N0b3JlXzR4NChkc3QsIHN0cmlkZSwg
ZGMpOwogfQogCiB2b2lkIHZweF9kY190b3BfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsKLSAgY29uc3QgdWlu
dDE2X3Qgc3VtID0gZGNfc3VtXzQoYWJvdmUpOwotICBjb25zdCB1aW50OHg4X3QgZGMgPSB2cnNo
cm5fbl91MTYodmR1cHFfbl91MTYoc3VtKSwgMik7CisgIGNvbnN0IHVpbnQxNng0X3Qgc3VtID0g
ZGNfc3VtXzQoYWJvdmUpOworICBjb25zdCB1aW50OHg4X3QgZGMgPSB2cmVpbnRlcnByZXRfdThf
dTE2KHZyc2hyX25fdTE2KHN1bSwgMikpOwogICAodm9pZClsZWZ0OwogICBkY19zdG9yZV80eDQo
ZHN0LCBzdHJpZGUsIGRjKTsKIH0KQEAgLTY4LDE1ICs3MiwxOSBAQCB2b2lkIHZweF9kY18xMjhf
cHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKIC8vLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBEQyA4eDgKIAotc3RhdGljIElOTElORSB1aW50MTZfdCBk
Y19zdW1fOChjb25zdCB1aW50OF90ICpyZWYpIHsKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3Vp
bnQ4eDgodmxkMV91OChyZWYpKTsKK3N0YXRpYyBJTkxJTkUgdWludDE2eDRfdCBkY19zdW1fOChj
b25zdCB1aW50OF90ICpyZWYpIHsKKyAgY29uc3QgdWludDh4OF90IHJlZl91OCA9IHZsZDFfdTgo
cmVmKTsKKyAgdWludDE2eDRfdCBzdW0gPSB2cGFkZGxfdTgocmVmX3U4KTsKKyAgc3VtID0gdnBh
ZGRfdTE2KHN1bSwgc3VtKTsKKyAgcmV0dXJuIHZwYWRkX3UxNihzdW0sIHN1bSk7CiB9CiAKIHN0
YXRpYyBJTkxJTkUgdm9pZCBkY19zdG9yZV84eDgodWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHg4X3QgZGMp
IHsKKyAgY29uc3QgdWludDh4OF90IGRjX2R1cCA9IHZkdXBfbGFuZV91OChkYywgMCk7CiAgIGlu
dCBpOwogICBmb3IgKGkgPSAwOyBpIDwgODsgKytpLCBkc3QgKz0gc3RyaWRlKSB7Ci0gICAgdnN0
MV91OChkc3QsIGRjKTsKKyAgICB2c3QxX3U4KGRzdCwgZGNfZHVwKTsKICAgfQogfQogCkBAIC04
NCwyNCArOTIsMjggQEAgdm9pZCB2cHhfZGNfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCkgewogICBjb25zdCB1aW50OHg4
X3QgYWJvdmVfdTggPSB2bGQxX3U4KGFib3ZlKTsKICAgY29uc3QgdWludDh4OF90IGxlZnRfdTgg
PSB2bGQxX3U4KGxlZnQpOwotICBjb25zdCB1aW50MTZ4OF90IGFsID0gdmFkZGxfdTgoYWJvdmVf
dTgsIGxlZnRfdTgpOwotICBjb25zdCB1aW50MTZfdCBzdW0gPSBob3Jpem9udGFsX2FkZF91aW50
MTZ4OChhbCk7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBkYyA9IHZyc2hybl9uX3UxNih2ZHVwcV9uX3Ux
NihzdW0pLCA0KTsKKyAgY29uc3QgdWludDh4MTZfdCBhYm92ZV9hbmRfbGVmdCA9IHZjb21iaW5l
X3U4KGFib3ZlX3U4LCBsZWZ0X3U4KTsKKyAgY29uc3QgdWludDE2eDhfdCBwMCA9IHZwYWRkbHFf
dTgoYWJvdmVfYW5kX2xlZnQpOworICB1aW50MTZ4NF90IHN1bSA9IHZhZGRfdTE2KHZnZXRfbG93
X3UxNihwMCksIHZnZXRfaGlnaF91MTYocDApKTsKKyAgdWludDh4OF90IGRjOworICBzdW0gPSB2
cGFkZF91MTYoc3VtLCBzdW0pOworICBzdW0gPSB2cGFkZF91MTYoc3VtLCBzdW0pOworICBkYyA9
IHZyZWludGVycHJldF91OF91MTYodnJzaHJfbl91MTYoc3VtLCA0KSk7CiAgIGRjX3N0b3JlXzh4
OChkc3QsIHN0cmlkZSwgZGMpOwogfQogCiB2b2lkIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl84eDhf
bmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVm
dCkgewotICBjb25zdCB1aW50MTZfdCBzdW0gPSBkY19zdW1fOChsZWZ0KTsKLSAgY29uc3QgdWlu
dDh4OF90IGRjID0gdnJzaHJuX25fdTE2KHZkdXBxX25fdTE2KHN1bSksIDMpOworICBjb25zdCB1
aW50MTZ4NF90IHN1bSA9IGRjX3N1bV84KGxlZnQpOworICBjb25zdCB1aW50OHg4X3QgZGMgPSB2
cmVpbnRlcnByZXRfdThfdTE2KHZyc2hyX25fdTE2KHN1bSwgMykpOwogICAodm9pZClhYm92ZTsK
ICAgZGNfc3RvcmVfOHg4KGRzdCwgc3RyaWRlLCBkYyk7CiB9CiAKIHZvaWQgdnB4X2RjX3RvcF9w
cmVkaWN0b3JfOHg4X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3Qg
dWludDhfdCAqbGVmdCkgewotICBjb25zdCB1aW50MTZfdCBzdW0gPSBkY19zdW1fOChhYm92ZSk7
Ci0gIGNvbnN0IHVpbnQ4eDhfdCBkYyA9IHZyc2hybl9uX3UxNih2ZHVwcV9uX3UxNihzdW0pLCAz
KTsKKyAgY29uc3QgdWludDE2eDRfdCBzdW0gPSBkY19zdW1fOChhYm92ZSk7CisgIGNvbnN0IHVp
bnQ4eDhfdCBkYyA9IHZyZWludGVycHJldF91OF91MTYodnJzaHJfbl91MTYoc3VtLCAzKSk7CiAg
ICh2b2lkKWxlZnQ7CiAgIGRjX3N0b3JlXzh4OChkc3QsIHN0cmlkZSwgZGMpOwogfQpAQCAtMTE3
LDE1ICsxMjksMjAgQEAgdm9pZCB2cHhfZGNfMTI4X3ByZWRpY3Rvcl84eDhfbmVvbih1aW50OF90
ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gREMg
MTZ4MTYKIAotc3RhdGljIElOTElORSB1aW50MTZfdCBkY19zdW1fMTYoY29uc3QgdWludDhfdCAq
cmVmKSB7Ci0gIHJldHVybiBob3Jpem9udGFsX2FkZF91aW50OHgxNih2bGQxcV91OChyZWYpKTsK
K3N0YXRpYyBJTkxJTkUgdWludDE2eDRfdCBkY19zdW1fMTYoY29uc3QgdWludDhfdCAqcmVmKSB7
CisgIGNvbnN0IHVpbnQ4eDE2X3QgcmVmX3U4ID0gdmxkMXFfdTgocmVmKTsKKyAgY29uc3QgdWlu
dDE2eDhfdCBwMCA9IHZwYWRkbHFfdTgocmVmX3U4KTsKKyAgdWludDE2eDRfdCBzdW0gPSB2YWRk
X3UxNih2Z2V0X2xvd191MTYocDApLCB2Z2V0X2hpZ2hfdTE2KHAwKSk7CisgIHN1bSA9IHZwYWRk
X3UxNihzdW0sIHN1bSk7CisgIHJldHVybiB2cGFkZF91MTYoc3VtLCBzdW0pOwogfQogCiBzdGF0
aWMgSU5MSU5FIHZvaWQgZGNfc3RvcmVfMTZ4MTYodWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDE2X3Qg
ZGMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHg4X3Qg
ZGMpIHsKKyAgY29uc3QgdWludDh4MTZfdCBkY19kdXAgPSB2ZHVwcV9sYW5lX3U4KGRjLCAwKTsK
ICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkgPCAxNjsgKytpLCBkc3QgKz0gc3RyaWRlKSB7Ci0g
ICAgdnN0MXFfdTgoZHN0ICsgMCwgZGMpOworICAgIHZzdDFxX3U4KGRzdCwgZGNfZHVwKTsKICAg
fQogfQogCkBAIC0xMzMsMTkgKzE1MCwyMiBAQCB2b2lkIHZweF9kY19wcmVkaWN0b3JfMTZ4MTZf
bmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCkg
ewogICBjb25zdCB1aW50OHgxNl90IHJlZjAgPSB2bGQxcV91OChhYm92ZSk7CiAgIGNvbnN0IHVp
bnQ4eDE2X3QgcmVmMSA9IHZsZDFxX3U4KGxlZnQpOwotICBjb25zdCB1aW50MTZ4OF90IGEgPSB2
cGFkZGxxX3U4KHJlZjApOwotICBjb25zdCB1aW50MTZ4OF90IGwgPSB2cGFkZGxxX3U4KHJlZjEp
OwotICBjb25zdCB1aW50MTZ4OF90IGFsID0gdmFkZHFfdTE2KGEsIGwpOwotICBjb25zdCB1aW50
MTZfdCBzdW0gPSBob3Jpem9udGFsX2FkZF91aW50MTZ4OChhbCk7Ci0gIGNvbnN0IHVpbnQ4eDE2
X3QgZGMgPSB2ZHVwcV9sYW5lX3U4KHZyc2hybl9uX3UxNih2ZHVwcV9uX3UxNihzdW0pLCA1KSwg
MCk7CisgIGNvbnN0IHVpbnQxNng4X3QgcDAgPSB2cGFkZGxxX3U4KHJlZjApOworICBjb25zdCB1
aW50MTZ4OF90IHAxID0gdnBhZGRscV91OChyZWYxKTsKKyAgY29uc3QgdWludDE2eDhfdCBwMiA9
IHZhZGRxX3UxNihwMCwgcDEpOworICB1aW50MTZ4NF90IHN1bSA9IHZhZGRfdTE2KHZnZXRfbG93
X3UxNihwMiksIHZnZXRfaGlnaF91MTYocDIpKTsKKyAgdWludDh4OF90IGRjOworICBzdW0gPSB2
cGFkZF91MTYoc3VtLCBzdW0pOworICBzdW0gPSB2cGFkZF91MTYoc3VtLCBzdW0pOworICBkYyA9
IHZyZWludGVycHJldF91OF91MTYodnJzaHJfbl91MTYoc3VtLCA1KSk7CiAgIGRjX3N0b3JlXzE2
eDE2KGRzdCwgc3RyaWRlLCBkYyk7CiB9CiAKIHZvaWQgdnB4X2RjX2xlZnRfcHJlZGljdG9yXzE2
eDE2X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqbGVmdCkgewotICBjb25z
dCB1aW50MTZfdCBzdW0gPSBkY19zdW1fMTYobGVmdCk7Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgZGMg
PSB2ZHVwcV9sYW5lX3U4KHZyc2hybl9uX3UxNih2ZHVwcV9uX3UxNihzdW0pLCA0KSwgMCk7Cisg
IGNvbnN0IHVpbnQxNng0X3Qgc3VtID0gZGNfc3VtXzE2KGxlZnQpOworICBjb25zdCB1aW50OHg4
X3QgZGMgPSB2cmVpbnRlcnByZXRfdThfdTE2KHZyc2hyX25fdTE2KHN1bSwgNCkpOwogICAodm9p
ZClhYm92ZTsKICAgZGNfc3RvcmVfMTZ4MTYoZHN0LCBzdHJpZGUsIGRjKTsKIH0KQEAgLTE1Myw4
ICsxNzMsOCBAQCB2b2lkIHZweF9kY19sZWZ0X3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQ4X3Qg
KmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKIHZvaWQgdnB4X2RjX3RvcF9wcmVkaWN0b3JfMTZ4MTZf
bmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYWJvdmUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqbGVmdCkgewotICBjb25zdCB1aW50
MTZfdCBzdW0gPSBkY19zdW1fMTYoYWJvdmUpOwotICBjb25zdCB1aW50OHgxNl90IGRjID0gdmR1
cHFfbGFuZV91OCh2cnNocm5fbl91MTYodmR1cHFfbl91MTYoc3VtKSwgNCksIDApOworICBjb25z
dCB1aW50MTZ4NF90IHN1bSA9IGRjX3N1bV8xNihhYm92ZSk7CisgIGNvbnN0IHVpbnQ4eDhfdCBk
YyA9IHZyZWludGVycHJldF91OF91MTYodnJzaHJfbl91MTYoc3VtLCA0KSk7CiAgICh2b2lkKWxl
ZnQ7CiAgIGRjX3N0b3JlXzE2eDE2KGRzdCwgc3RyaWRlLCBkYyk7CiB9CkBAIC0xNjIsNyArMTgy
LDcgQEAgdm9pZCB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8xNngxNl9uZW9uKHVpbnQ4X3QgKmRzdCwg
cHRyZGlmZl90IHN0cmlkZSwKIHZvaWQgdnB4X2RjXzEyOF9wcmVkaWN0b3JfMTZ4MTZfbmVvbih1
aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYWJvdmUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqbGVmdCkgewotICBjb25zdCB1aW50OHgxNl90
IGRjID0gdmR1cHFfbl91OCgweDgwKTsKKyAgY29uc3QgdWludDh4OF90IGRjID0gdmR1cF9uX3U4
KDB4ODApOwogICAodm9pZClhYm92ZTsKICAgKHZvaWQpbGVmdDsKICAgZGNfc3RvcmVfMTZ4MTYo
ZHN0LCBzdHJpZGUsIGRjKTsKQEAgLTE3MSw0MSArMTkxLDUxIEBAIHZvaWQgdnB4X2RjXzEyOF9w
cmVkaWN0b3JfMTZ4MTZfbmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAvLy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gREMgMzJ4MzIKIAotc3RhdGljIElOTElORSB1aW50MTZf
dCBkY19zdW1fMzIoY29uc3QgdWludDhfdCAqcmVmKSB7Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgcjAg
PSB2bGQxcV91OChyZWYgKyAwKTsKLSAgY29uc3QgdWludDh4MTZfdCByMSA9IHZsZDFxX3U4KHJl
ZiArIDE2KTsKLSAgY29uc3QgdWludDE2eDhfdCByMDEgPSB2YWRkcV91MTYodnBhZGRscV91OChy
MCksIHZwYWRkbHFfdTgocjEpKTsKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQxNng4KHIw
MSk7CitzdGF0aWMgSU5MSU5FIHVpbnQxNng0X3QgZGNfc3VtXzMyKGNvbnN0IHVpbnQ4X3QgKnJl
ZikgeworICBjb25zdCB1aW50OHgxNngyX3QgciA9IHZsZDJxX3U4KHJlZik7CisgIGNvbnN0IHVp
bnQxNng4X3QgcDAgPSB2cGFkZGxxX3U4KHIudmFsWzBdKTsKKyAgY29uc3QgdWludDE2eDhfdCBw
MSA9IHZwYWRkbHFfdTgoci52YWxbMV0pOworICBjb25zdCB1aW50MTZ4OF90IHAyID0gdmFkZHFf
dTE2KHAwLCBwMSk7CisgIHVpbnQxNng0X3Qgc3VtID0gdmFkZF91MTYodmdldF9sb3dfdTE2KHAy
KSwgdmdldF9oaWdoX3UxNihwMikpOworICBzdW0gPSB2cGFkZF91MTYoc3VtLCBzdW0pOworICBy
ZXR1cm4gdnBhZGRfdTE2KHN1bSwgc3VtKTsKIH0KIAogc3RhdGljIElOTElORSB2b2lkIGRjX3N0
b3JlXzMyeDMyKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHgxNl90IGRjKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4OF90IGRjKSB7CisgIHVpbnQ4eDE2eDJf
dCBkY19kdXA7CiAgIGludCBpOworICBkY19kdXAudmFsWzBdID0gZGNfZHVwLnZhbFsxXSA9IHZk
dXBxX2xhbmVfdTgoZGMsIDApOworCiAgIGZvciAoaSA9IDA7IGkgPCAzMjsgKytpLCBkc3QgKz0g
c3RyaWRlKSB7Ci0gICAgdnN0MXFfdTgoZHN0ICsgMCwgZGMpOwotICAgIHZzdDFxX3U4KGRzdCAr
IDE2LCBkYyk7CisgICAgdnN0MnFfdTgoZHN0LCBkY19kdXApOwogICB9CiB9CiAKIHZvaWQgdnB4
X2RjX3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBj
b25zdCB1aW50OF90ICpsZWZ0KSB7Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgYTAgPSB2bGQxcV91OChh
Ym92ZSArIDApOwotICBjb25zdCB1aW50OHgxNl90IGExID0gdmxkMXFfdTgoYWJvdmUgKyAxNik7
Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgbDAgPSB2bGQxcV91OChsZWZ0ICsgMCk7Ci0gIGNvbnN0IHVp
bnQ4eDE2X3QgbDEgPSB2bGQxcV91OChsZWZ0ICsgMTYpOwotICBjb25zdCB1aW50MTZ4OF90IGEw
MSA9IHZhZGRxX3UxNih2cGFkZGxxX3U4KGEwKSwgdnBhZGRscV91OChhMSkpOwotICBjb25zdCB1
aW50MTZ4OF90IGwwMSA9IHZhZGRxX3UxNih2cGFkZGxxX3U4KGwwKSwgdnBhZGRscV91OChsMSkp
OwotICBjb25zdCB1aW50MTZ4OF90IGFsID0gdmFkZHFfdTE2KGEwMSwgbDAxKTsKLSAgY29uc3Qg
dWludDE2X3Qgc3VtID0gaG9yaXpvbnRhbF9hZGRfdWludDE2eDgoYWwpOwotICBjb25zdCB1aW50
OHgxNl90IGRjID0gdmR1cHFfbGFuZV91OCh2cnNocm5fbl91MTYodmR1cHFfbl91MTYoc3VtKSwg
NiksIDApOworICBjb25zdCB1aW50OHgxNngyX3QgYSA9IHZsZDJxX3U4KGFib3ZlKTsKKyAgY29u
c3QgdWludDh4MTZ4Ml90IGwgPSB2bGQycV91OChsZWZ0KTsKKyAgY29uc3QgdWludDE2eDhfdCBw
YTAgPSB2cGFkZGxxX3U4KGEudmFsWzBdKTsKKyAgY29uc3QgdWludDE2eDhfdCBwbDAgPSB2cGFk
ZGxxX3U4KGwudmFsWzBdKTsKKyAgY29uc3QgdWludDE2eDhfdCBwYTEgPSB2cGFkZGxxX3U4KGEu
dmFsWzFdKTsKKyAgY29uc3QgdWludDE2eDhfdCBwbDEgPSB2cGFkZGxxX3U4KGwudmFsWzFdKTsK
KyAgY29uc3QgdWludDE2eDhfdCBwYSA9IHZhZGRxX3UxNihwYTAsIHBhMSk7CisgIGNvbnN0IHVp
bnQxNng4X3QgcGwgPSB2YWRkcV91MTYocGwwLCBwbDEpOworICBjb25zdCB1aW50MTZ4OF90IHBh
bCA9IHZhZGRxX3UxNihwYSwgcGwpOworICB1aW50MTZ4NF90IHN1bSA9IHZhZGRfdTE2KHZnZXRf
bG93X3UxNihwYWwpLCB2Z2V0X2hpZ2hfdTE2KHBhbCkpOworICB1aW50OHg4X3QgZGM7CisgIHN1
bSA9IHZwYWRkX3UxNihzdW0sIHN1bSk7CisgIHN1bSA9IHZwYWRkX3UxNihzdW0sIHN1bSk7Cisg
IGRjID0gdnJlaW50ZXJwcmV0X3U4X3UxNih2cnNocl9uX3UxNihzdW0sIDYpKTsKICAgZGNfc3Rv
cmVfMzJ4MzIoZHN0LCBzdHJpZGUsIGRjKTsKIH0KIAogdm9pZCB2cHhfZGNfbGVmdF9wcmVkaWN0
b3JfMzJ4MzJfbmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsZWZ0KSB7Ci0g
IGNvbnN0IHVpbnQxNl90IHN1bSA9IGRjX3N1bV8zMihsZWZ0KTsKLSAgY29uc3QgdWludDh4MTZf
dCBkYyA9IHZkdXBxX2xhbmVfdTgodnJzaHJuX25fdTE2KHZkdXBxX25fdTE2KHN1bSksIDUpLCAw
KTsKKyAgY29uc3QgdWludDE2eDRfdCBzdW0gPSBkY19zdW1fMzIobGVmdCk7CisgIGNvbnN0IHVp
bnQ4eDhfdCBkYyA9IHZyZWludGVycHJldF91OF91MTYodnJzaHJfbl91MTYoc3VtLCA1KSk7CiAg
ICh2b2lkKWFib3ZlOwogICBkY19zdG9yZV8zMngzMihkc3QsIHN0cmlkZSwgZGMpOwogfQpAQCAt
MjEzLDggKzI0Myw4IEBAIHZvaWQgdnB4X2RjX2xlZnRfcHJlZGljdG9yXzMyeDMyX25lb24odWlu
dDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogdm9pZCB2cHhfZGNfdG9wX3ByZWRpY3Rvcl8z
MngzMl9uZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsZWZ0KSB7Ci0gIGNvbnN0
IHVpbnQxNl90IHN1bSA9IGRjX3N1bV8zMihhYm92ZSk7Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgZGMg
PSB2ZHVwcV9sYW5lX3U4KHZyc2hybl9uX3UxNih2ZHVwcV9uX3UxNihzdW0pLCA1KSwgMCk7Cisg
IGNvbnN0IHVpbnQxNng0X3Qgc3VtID0gZGNfc3VtXzMyKGFib3ZlKTsKKyAgY29uc3QgdWludDh4
OF90IGRjID0gdnJlaW50ZXJwcmV0X3U4X3UxNih2cnNocl9uX3UxNihzdW0sIDUpKTsKICAgKHZv
aWQpbGVmdDsKICAgZGNfc3RvcmVfMzJ4MzIoZHN0LCBzdHJpZGUsIGRjKTsKIH0KQEAgLTIyMiw3
ICsyNTIsNyBAQCB2b2lkIHZweF9kY190b3BfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCAq
ZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogdm9pZCB2cHhfZGNfMTI4X3ByZWRpY3Rvcl8zMngzMl9u
ZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsZWZ0KSB7Ci0gIGNvbnN0IHVpbnQ4
eDE2X3QgZGMgPSB2ZHVwcV9uX3U4KDB4ODApOworICBjb25zdCB1aW50OHg4X3QgZGMgPSB2ZHVw
X25fdTgoMHg4MCk7CiAgICh2b2lkKWFib3ZlOwogICAodm9pZClsZWZ0OwogICBkY19zdG9yZV8z
MngzMihkc3QsIHN0cmlkZSwgZGMpOwpAQCAtMjMyLDYyOSArMjYyLDEyMyBAQCB2b2lkIHZweF9k
Y18xMjhfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRl
LAogCiB2b2lkIHZweF9kNDVfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlm
Zl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsKLSAgdWludDh4OF90IGEwLCBhMSwgYTIs
IGQwOwotICB1aW50OF90IGE3OworICBjb25zdCB1aW50OHg4X3QgQUJDREVGR0ggPSB2bGQxX3U4
KGFib3ZlKTsKKyAgY29uc3QgdWludDY0eDFfdCBBMSA9IHZzaHJfbl91NjQodnJlaW50ZXJwcmV0
X3U2NF91OChBQkNERUZHSCksIDgpOworICBjb25zdCB1aW50NjR4MV90IEEyID0gdnNocl9uX3U2
NCh2cmVpbnRlcnByZXRfdTY0X3U4KEFCQ0RFRkdIKSwgMTYpOworICBjb25zdCB1aW50OHg4X3Qg
QkNERUZHSDAgPSB2cmVpbnRlcnByZXRfdThfdTY0KEExKTsKKyAgY29uc3QgdWludDh4OF90IENE
RUZHSDAwID0gdnJlaW50ZXJwcmV0X3U4X3U2NChBMik7CisgIGNvbnN0IHVpbnQ4eDhfdCBhdmcx
ID0gdmhhZGRfdTgoQUJDREVGR0gsIENERUZHSDAwKTsKKyAgY29uc3QgdWludDh4OF90IGF2ZzIg
PSB2cmhhZGRfdTgoYXZnMSwgQkNERUZHSDApOworICBjb25zdCB1aW50NjR4MV90IGF2ZzJfdTY0
ID0gdnJlaW50ZXJwcmV0X3U2NF91OChhdmcyKTsKKyAgY29uc3QgdWludDMyeDJfdCByMCA9IHZy
ZWludGVycHJldF91MzJfdTgoYXZnMik7CisgIGNvbnN0IHVpbnQzMngyX3QgcjEgPSB2cmVpbnRl
cnByZXRfdTMyX3U2NCh2c2hyX25fdTY0KGF2ZzJfdTY0LCA4KSk7CisgIGNvbnN0IHVpbnQzMngy
X3QgcjIgPSB2cmVpbnRlcnByZXRfdTMyX3U2NCh2c2hyX25fdTY0KGF2ZzJfdTY0LCAxNikpOwor
ICBjb25zdCB1aW50MzJ4Ml90IHIzID0gdnJlaW50ZXJwcmV0X3UzMl91NjQodnNocl9uX3U2NChh
dmcyX3U2NCwgMjQpKTsKICAgKHZvaWQpbGVmdDsKKyAgdnN0MV9sYW5lX3UzMigodWludDMyX3Qg
KikoZHN0ICsgMCAqIHN0cmlkZSksIHIwLCAwKTsKKyAgdnN0MV9sYW5lX3UzMigodWludDMyX3Qg
KikoZHN0ICsgMSAqIHN0cmlkZSksIHIxLCAwKTsKKyAgdnN0MV9sYW5lX3UzMigodWludDMyX3Qg
KikoZHN0ICsgMiAqIHN0cmlkZSksIHIyLCAwKTsKKyAgdnN0MV9sYW5lX3UzMigodWludDMyX3Qg
KikoZHN0ICsgMyAqIHN0cmlkZSksIHIzLCAwKTsKKyAgdnN0MV9sYW5lX3U4KGRzdCArIDMgKiBz
dHJpZGUgKyAzLCBBQkNERUZHSCwgNyk7Cit9CiAKLSAgYTAgPSB2bGQxX3U4KGFib3ZlKTsKLSAg
YTcgPSBhYm92ZVs3XTsKLQotICAvLyBbIGFib3ZlWzFdLCAuLi4sIGFib3ZlWzZdLCB4LCB4IF0K
LSAgYTEgPSB2ZXh0X3U4KGEwLCBhMCwgMSk7Ci0gIC8vIFsgYWJvdmVbMl0sIC4uLiwgYWJvdmVb
N10sIHgsIHggXQotICBhMiA9IHZleHRfdTgoYTAsIGEwLCAyKTsKLQotICAvLyBkMFswXSA9IEFW
RzMoYWJvdmVbMF0sIGFib3ZlWzFdLCBhYm92ZVsyXSk7Ci0gIC8vIC4uLgotICAvLyBkMFs1XSA9
IEFWRzMoYWJvdmVbNV0sIGFib3ZlWzZdLCBhYm92ZVs3XSk7Ci0gIC8vIGQwWzZdID0geCAoZG9u
J3QgY2FyZSkKLSAgLy8gZDBbN10gPSB4IChkb24ndCBjYXJlKQotICBkMCA9IHZyaGFkZF91OCh2
aGFkZF91OChhMCwgYTIpLCBhMSk7Ci0KLSAgLy8gV2Ugd2FudDoKLSAgLy8gc3RyaWRlPTAgWyBk
MFswXSwgZDBbMV0sIGQwWzJdLCAgICBkMFszXSBdCi0gIC8vIHN0cmlkZT0xIFsgZDBbMV0sIGQw
WzJdLCBkMFszXSwgICAgZDBbNF0gXQotICAvLyBzdHJpZGU9MiBbIGQwWzJdLCBkMFszXSwgZDBb
NF0sICAgIGQwWzVdIF0KLSAgLy8gc3RyaWRlPTIgWyBkMFszXSwgZDBbNF0sIGQwWzVdLCBhYm92
ZVs3XSBdCi0gIHN0b3JlX3U4XzR4MShkc3QgKyAwICogc3RyaWRlLCBkMCk7Ci0gIHN0b3JlX3U4
XzR4MShkc3QgKyAxICogc3RyaWRlLCB2ZXh0X3U4KGQwLCBkMCwgMSkpOwotICBzdG9yZV91OF80
eDEoZHN0ICsgMiAqIHN0cmlkZSwgdmV4dF91OChkMCwgZDAsIDIpKTsKLSAgc3RvcmVfdThfNHgx
KGRzdCArIDMgKiBzdHJpZGUsIHZleHRfdTgoZDAsIGQwLCAzKSk7Ci0KLSAgLy8gV2Ugc3RvcmVk
IGQwWzZdIGFib3ZlLCBzbyBmaXh1cCBpbnRvIGFib3ZlWzddLgotICBkc3RbMyAqIHN0cmlkZSAr
IDNdID0gYTc7CitzdGF0aWMgSU5MSU5FIHZvaWQgZDQ1X3N0b3JlXzgodWludDhfdCAqKmRzdCwg
Y29uc3QgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OHg4X3QgYWJvdmVfcmlnaHQsIHVpbnQ4eDhfdCAqcm93KSB7CisgICpyb3cgPSB2
ZXh0X3U4KCpyb3csIGFib3ZlX3JpZ2h0LCAxKTsKKyAgdnN0MV91OCgqZHN0LCAqcm93KTsKKyAg
KmRzdCArPSBzdHJpZGU7CiB9CiAKIHZvaWQgdnB4X2Q0NV9wcmVkaWN0b3JfOHg4X25lb24odWlu
dDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCkgewotICB1aW50
OHg4X3QgYXgwLCBhMCwgYTEsIGE3LCBkMDsKKyAgY29uc3QgdWludDh4OF90IEEwID0gdmxkMV91
OChhYm92ZSk7CisgIGNvbnN0IHVpbnQ4eDhfdCBhYm92ZV9yaWdodCA9IHZkdXBfbGFuZV91OChB
MCwgNyk7CisgIGNvbnN0IHVpbnQ4eDhfdCBBMSA9IHZleHRfdTgoQTAsIGFib3ZlX3JpZ2h0LCAx
KTsKKyAgY29uc3QgdWludDh4OF90IEEyID0gdmV4dF91OChBMCwgYWJvdmVfcmlnaHQsIDIpOwor
ICBjb25zdCB1aW50OHg4X3QgYXZnMSA9IHZoYWRkX3U4KEEwLCBBMik7CisgIHVpbnQ4eDhfdCBy
b3cgPSB2cmhhZGRfdTgoYXZnMSwgQTEpOwogICAodm9pZClsZWZ0OwogCi0gIGEwID0gdmxkMV91
OChhYm92ZSArIDApOwotICBhMSA9IHZsZDFfdTgoYWJvdmUgKyAxKTsKLSAgYTcgPSB2bGQxX2R1
cF91OChhYm92ZSArIDcpOwotCi0gIC8vIFdlIHdhbnQgdG8gY2FsY3VsYXRlIHRoZSBBVkczIHJl
c3VsdCBpbiBsYW5lcyAxLTcgaW5jbHVzaXZlIHNvIHdlIGNhbgotICAvLyBzaGlmdCBpbiBhYm92
ZVs3XSBsYXRlciwgc28gc2hpZnQgYTAgYWNyb3NzIGJ5IG9uZSB0byBnZXQgdGhlIHJpZ2h0Ci0g
IC8vIGlucHV0czoKLSAgLy8gWyB4LCBhYm92ZVswXSwgLi4uICwgYWJvdmVbNl0gXQotICBheDAg
PSB2ZXh0X3U4KGEwLCBhMCwgNyk7Ci0KLSAgLy8gZDBbMF0gPSB4IChkb24ndCBjYXJlKQotICAv
LyBkMFsxXSA9IEFWRzMoYWJvdmVbMF0sIGFib3ZlWzFdLCBhYm92ZVsyXSk7Ci0gIC8vIC4uLgot
ICAvLyBkMFs3XSA9IEFWRzMoYWJvdmVbNl0sIGFib3ZlWzddLCBhYm92ZVs4XSk7Ci0gIGQwID0g
dnJoYWRkX3U4KHZoYWRkX3U4KGF4MCwgYTEpLCBhMCk7Ci0KLSAgLy8gVW5kbyB0aGUgZWFybGll
ciBleHQsIGluY3JlbWVudGFsbHkgc2hpZnQgaW4gZHVwbGljYXRlcyBvZiBhYm92ZVs3XS4KLSAg
dnN0MV91OChkc3QgKyAwICogc3RyaWRlLCB2ZXh0X3U4KGQwLCBhNywgMSkpOwotICB2c3QxX3U4
KGRzdCArIDEgKiBzdHJpZGUsIHZleHRfdTgoZDAsIGE3LCAyKSk7Ci0gIHZzdDFfdTgoZHN0ICsg
MiAqIHN0cmlkZSwgdmV4dF91OChkMCwgYTcsIDMpKTsKLSAgdnN0MV91OChkc3QgKyAzICogc3Ry
aWRlLCB2ZXh0X3U4KGQwLCBhNywgNCkpOwotICB2c3QxX3U4KGRzdCArIDQgKiBzdHJpZGUsIHZl
eHRfdTgoZDAsIGE3LCA1KSk7Ci0gIHZzdDFfdTgoZHN0ICsgNSAqIHN0cmlkZSwgdmV4dF91OChk
MCwgYTcsIDYpKTsKLSAgdnN0MV91OChkc3QgKyA2ICogc3RyaWRlLCB2ZXh0X3U4KGQwLCBhNywg
NykpOwotICB2c3QxX3U4KGRzdCArIDcgKiBzdHJpZGUsIGE3KTsKKyAgdnN0MV91OChkc3QsIHJv
dyk7CisgIGRzdCArPSBzdHJpZGU7CisgIGQ0NV9zdG9yZV84KCZkc3QsIHN0cmlkZSwgYWJvdmVf
cmlnaHQsICZyb3cpOworICBkNDVfc3RvcmVfOCgmZHN0LCBzdHJpZGUsIGFib3ZlX3JpZ2h0LCAm
cm93KTsKKyAgZDQ1X3N0b3JlXzgoJmRzdCwgc3RyaWRlLCBhYm92ZV9yaWdodCwgJnJvdyk7Cisg
IGQ0NV9zdG9yZV84KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3cpOworICBkNDVfc3Rv
cmVfOCgmZHN0LCBzdHJpZGUsIGFib3ZlX3JpZ2h0LCAmcm93KTsKKyAgZDQ1X3N0b3JlXzgoJmRz
dCwgc3RyaWRlLCBhYm92ZV9yaWdodCwgJnJvdyk7CisgIHZzdDFfdTgoZHN0LCBhYm92ZV9yaWdo
dCk7Cit9CisKK3N0YXRpYyBJTkxJTkUgdm9pZCBkNDVfc3RvcmVfMTYodWludDhfdCAqKmRzdCwg
Y29uc3QgcHRyZGlmZl90IHN0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDh4MTZfdCBhYm92ZV9yaWdodCwgdWludDh4MTZfdCAqcm93KSB7CisgICpyb3cg
PSB2ZXh0cV91OCgqcm93LCBhYm92ZV9yaWdodCwgMSk7CisgIHZzdDFxX3U4KCpkc3QsICpyb3cp
OworICAqZHN0ICs9IHN0cmlkZTsKIH0KIAogdm9pZCB2cHhfZDQ1X3ByZWRpY3Rvcl8xNngxNl9u
ZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCkg
ewotICB1aW50OHgxNl90IGF4MCwgYTAsIGExLCBhMTUsIGQwOworICBjb25zdCB1aW50OHgxNl90
IEEwID0gdmxkMXFfdTgoYWJvdmUpOworICBjb25zdCB1aW50OHgxNl90IGFib3ZlX3JpZ2h0ID0g
dmR1cHFfbGFuZV91OCh2Z2V0X2hpZ2hfdTgoQTApLCA3KTsKKyAgY29uc3QgdWludDh4MTZfdCBB
MSA9IHZleHRxX3U4KEEwLCBhYm92ZV9yaWdodCwgMSk7CisgIGNvbnN0IHVpbnQ4eDE2X3QgQTIg
PSB2ZXh0cV91OChBMCwgYWJvdmVfcmlnaHQsIDIpOworICBjb25zdCB1aW50OHgxNl90IGF2ZzEg
PSB2aGFkZHFfdTgoQTAsIEEyKTsKKyAgdWludDh4MTZfdCByb3cgPSB2cmhhZGRxX3U4KGF2ZzEs
IEExKTsKICAgKHZvaWQpbGVmdDsKIAotICBhMCA9IHZsZDFxX3U4KGFib3ZlICsgMCk7Ci0gIGEx
ID0gdmxkMXFfdTgoYWJvdmUgKyAxKTsKLSAgYTE1ID0gdmxkMXFfZHVwX3U4KGFib3ZlICsgMTUp
OwotCi0gIC8vIFdlIHdhbnQgdG8gY2FsY3VsYXRlIHRoZSBBVkczIHJlc3VsdCBpbiBsYW5lcyAx
LTE1IGluY2x1c2l2ZSBzbyB3ZSBjYW4KLSAgLy8gc2hpZnQgaW4gYWJvdmVbMTVdIGxhdGVyLCBz
byBzaGlmdCBhMCBhY3Jvc3MgYnkgb25lIHRvIGdldCB0aGUgcmlnaHQKLSAgLy8gaW5wdXRzOgot
ICAvLyBbIHgsIGFib3ZlWzBdLCAuLi4gLCBhYm92ZVsxNF0gXQotICBheDAgPSB2ZXh0cV91OChh
MCwgYTAsIDE1KTsKLQotICAvLyBkMFswXSA9IHggKGRvbid0IGNhcmUpCi0gIC8vIGQwWzFdID0g
QVZHMyhhYm92ZVswXSwgYWJvdmVbMV0sIGFib3ZlWzJdKTsKLSAgLy8gLi4uCi0gIC8vIGQwWzE1
XSA9IEFWRzMoYWJvdmVbMTRdLCBhYm92ZVsxNV0sIGFib3ZlWzE2XSk7Ci0gIGQwID0gdnJoYWRk
cV91OCh2aGFkZHFfdTgoYXgwLCBhMSksIGEwKTsKLQotICAvLyBVbmRvIHRoZSBlYXJsaWVyIGV4
dCwgaW5jcmVtZW50YWxseSBzaGlmdCBpbiBkdXBsaWNhdGVzIG9mIGFib3ZlWzE1XS4KLSAgdnN0
MXFfdTgoZHN0ICsgMCAqIHN0cmlkZSwgdmV4dHFfdTgoZDAsIGExNSwgMSkpOwotICB2c3QxcV91
OChkc3QgKyAxICogc3RyaWRlLCB2ZXh0cV91OChkMCwgYTE1LCAyKSk7Ci0gIHZzdDFxX3U4KGRz
dCArIDIgKiBzdHJpZGUsIHZleHRxX3U4KGQwLCBhMTUsIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsg
MyAqIHN0cmlkZSwgdmV4dHFfdTgoZDAsIGExNSwgNCkpOwotICB2c3QxcV91OChkc3QgKyA0ICog
c3RyaWRlLCB2ZXh0cV91OChkMCwgYTE1LCA1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDUgKiBzdHJp
ZGUsIHZleHRxX3U4KGQwLCBhMTUsIDYpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNiAqIHN0cmlkZSwg
dmV4dHFfdTgoZDAsIGExNSwgNykpOwotICB2c3QxcV91OChkc3QgKyA3ICogc3RyaWRlLCB2ZXh0
cV91OChkMCwgYTE1LCA4KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDggKiBzdHJpZGUsIHZleHRxX3U4
KGQwLCBhMTUsIDkpKTsKLSAgdnN0MXFfdTgoZHN0ICsgOSAqIHN0cmlkZSwgdmV4dHFfdTgoZDAs
IGExNSwgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTAgKiBzdHJpZGUsIHZleHRxX3U4KGQwLCBh
MTUsIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDExICogc3RyaWRlLCB2ZXh0cV91OChkMCwgYTE1
LCAxMikpOwotICB2c3QxcV91OChkc3QgKyAxMiAqIHN0cmlkZSwgdmV4dHFfdTgoZDAsIGExNSwg
MTMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTMgKiBzdHJpZGUsIHZleHRxX3U4KGQwLCBhMTUsIDE0
KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE0ICogc3RyaWRlLCB2ZXh0cV91OChkMCwgYTE1LCAxNSkp
OwotICB2c3QxcV91OChkc3QgKyAxNSAqIHN0cmlkZSwgYTE1KTsKKyAgdnN0MXFfdTgoZHN0LCBy
b3cpOworICBkc3QgKz0gc3RyaWRlOworICBkNDVfc3RvcmVfMTYoJmRzdCwgc3RyaWRlLCBhYm92
ZV9yaWdodCwgJnJvdyk7CisgIGQ0NV9zdG9yZV8xNigmZHN0LCBzdHJpZGUsIGFib3ZlX3JpZ2h0
LCAmcm93KTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3cp
OworICBkNDVfc3RvcmVfMTYoJmRzdCwgc3RyaWRlLCBhYm92ZV9yaWdodCwgJnJvdyk7CisgIGQ0
NV9zdG9yZV8xNigmZHN0LCBzdHJpZGUsIGFib3ZlX3JpZ2h0LCAmcm93KTsKKyAgZDQ1X3N0b3Jl
XzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3cpOworICBkNDVfc3RvcmVfMTYoJmRz
dCwgc3RyaWRlLCBhYm92ZV9yaWdodCwgJnJvdyk7CisgIGQ0NV9zdG9yZV8xNigmZHN0LCBzdHJp
ZGUsIGFib3ZlX3JpZ2h0LCAmcm93KTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJv
dmVfcmlnaHQsICZyb3cpOworICBkNDVfc3RvcmVfMTYoJmRzdCwgc3RyaWRlLCBhYm92ZV9yaWdo
dCwgJnJvdyk7CisgIGQ0NV9zdG9yZV8xNigmZHN0LCBzdHJpZGUsIGFib3ZlX3JpZ2h0LCAmcm93
KTsKKyAgZDQ1X3N0b3JlXzE2KCZkc3QsIHN0cmlkZSwgYWJvdmVfcmlnaHQsICZyb3cpOworICBk
NDVfc3RvcmVfMTYoJmRzdCwgc3RyaWRlLCBhYm92ZV9yaWdodCwgJnJvdyk7CisgIGQ0NV9zdG9y
ZV8xNigmZHN0LCBzdHJpZGUsIGFib3ZlX3JpZ2h0LCAmcm93KTsKKyAgdnN0MXFfdTgoZHN0LCBh
Ym92ZV9yaWdodCk7CiB9CiAKIHZvaWQgdnB4X2Q0NV9wcmVkaWN0b3JfMzJ4MzJfbmVvbih1aW50
OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsKLSAgdWlu
dDh4MTZfdCBheDAsIGEwLCBhMSwgYTE1LCBhMTYsIGExNywgYTMxLCBkMFsyXTsKLSAgKHZvaWQp
bGVmdDsKLQotICBhMCA9IHZsZDFxX3U4KGFib3ZlICsgMCk7Ci0gIGExID0gdmxkMXFfdTgoYWJv
dmUgKyAxKTsKLSAgYTE1ID0gdmxkMXFfdTgoYWJvdmUgKyAxNSk7Ci0gIGExNiA9IHZsZDFxX3U4
KGFib3ZlICsgMTYpOwotICBhMTcgPSB2bGQxcV91OChhYm92ZSArIDE3KTsKLSAgYTMxID0gdmxk
MXFfZHVwX3U4KGFib3ZlICsgMzEpOwotCi0gIC8vIFdlIHdhbnQgdG8gY2FsY3VsYXRlIHRoZSBB
VkczIHJlc3VsdCBpbiBsYW5lcyAxLTE1IGluY2x1c2l2ZSBzbyB3ZSBjYW4KLSAgLy8gc2hpZnQg
aW4gYWJvdmVbMTVdIGxhdGVyLCBzbyBzaGlmdCBhMCBhY3Jvc3MgYnkgb25lIHRvIGdldCB0aGUg
cmlnaHQKLSAgLy8gaW5wdXRzOgotICAvLyBbIHgsIGFib3ZlWzBdLCAuLi4gLCBhYm92ZVsxNF0g
XQotICBheDAgPSB2ZXh0cV91OChhMCwgYTAsIDE1KTsKLQotICAvLyBkMFswXSA9IHggKGRvbid0
IGNhcmUpCi0gIC8vIGQwWzFdID0gQVZHMyhhYm92ZVswXSwgYWJvdmVbMV0sIGFib3ZlWzJdKTsK
LSAgLy8gLi4uCi0gIC8vIGQwWzE1XSA9IEFWRzMoYWJvdmVbMTRdLCBhYm92ZVsxNV0sIGFib3Zl
WzE2XSk7Ci0gIGQwWzBdID0gdnJoYWRkcV91OCh2aGFkZHFfdTgoYXgwLCBhMSksIGEwKTsKLSAg
ZDBbMV0gPSB2cmhhZGRxX3U4KHZoYWRkcV91OChhMTUsIGExNyksIGExNik7Ci0KLSAgLy8gVW5k
byB0aGUgZWFybGllciBleHQsIGluY3JlbWVudGFsbHkgc2hpZnQgaW4gZHVwbGljYXRlcyBvZiBh
Ym92ZVsxNV0uCi0gIHZzdDFxX3U4KGRzdCArIDAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFsw
XSwgZDBbMV0sIDEpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
OChkMFsxXSwgYTMxLCAxKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEgKiBzdHJpZGUgKyAwLCB2ZXh0
cV91OChkMFswXSwgZDBbMV0sIDIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMSAqIHN0cmlkZSArIDE2
LCB2ZXh0cV91OChkMFsxXSwgYTMxLCAyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMiAqIHN0
cmlkZSArIDE2LCB2ZXh0cV91OChkMFsxXSwgYTMxLCAzKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDMg
KiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDQpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMFsxXSwgYTMxLCA0KSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDQgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDUpKTsKLSAgdnN0
MXFfdTgoZHN0ICsgNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMFsxXSwgYTMxLCA1KSk7Ci0g
IHZzdDFxX3U4KGRzdCArIDUgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDYp
KTsKLSAgdnN0MXFfdTgoZHN0ICsgNSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMFsxXSwgYTMx
LCA2KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFswXSwg
ZDBbMV0sIDcpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChk
MFsxXSwgYTMxLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDcgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
OChkMFswXSwgZDBbMV0sIDgpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNyAqIHN0cmlkZSArIDE2LCB2
ZXh0cV91OChkMFsxXSwgYTMxLCA4KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDggKiBzdHJpZGUgKyAw
LCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDkpKTsKLSAgdnN0MXFfdTgoZHN0ICsgOCAqIHN0cmlk
ZSArIDE2LCB2ZXh0cV91OChkMFsxXSwgYTMxLCA5KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDkgKiBz
dHJpZGUgKyAwLCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDEwKSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDkgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBbMV0sIGEzMSwgMTApKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgMTAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDExKSk7Ci0gIHZz
dDFxX3U4KGRzdCArIDEwICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwWzFdLCBhMzEsIDExKSk7
Ci0gIHZzdDFxX3U4KGRzdCArIDExICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDBbMF0sIGQwWzFd
LCAxMikpOwotICB2c3QxcV91OChkc3QgKyAxMSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMFsx
XSwgYTMxLCAxMikpOwotICB2c3QxcV91OChkc3QgKyAxMiAqIHN0cmlkZSArIDAsIHZleHRxX3U4
KGQwWzBdLCBkMFsxXSwgMTMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTIgKiBzdHJpZGUgKyAxNiwg
dmV4dHFfdTgoZDBbMV0sIGEzMSwgMTMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTMgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91OChkMFswXSwgZDBbMV0sIDE0KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEzICog
c3RyaWRlICsgMTYsIHZleHRxX3U4KGQwWzFdLCBhMzEsIDE0KSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDE0ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDBbMF0sIGQwWzFdLCAxNSkpOwotICB2c3QxcV91
OChkc3QgKyAxNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMFsxXSwgYTMxLCAxNSkpOwotICB2
c3QxcV91OChkc3QgKyAxNSAqIHN0cmlkZSArIDAsIGQwWzFdKTsKLSAgdnN0MXFfdTgoZHN0ICsg
MTUgKiBzdHJpZGUgKyAxNiwgYTMxKTsKLQotICB2c3QxcV91OChkc3QgKyAxNiAqIHN0cmlkZSAr
IDAsIHZleHRxX3U4KGQwWzFdLCBhMzEsIDEpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTYgKiBzdHJp
ZGUgKyAxNiwgYTMxKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTcgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
OChkMFsxXSwgYTMxLCAyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE3ICogc3RyaWRlICsgMTYsIGEz
MSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE4ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDBbMV0sIGEz
MSwgMykpOwotICB2c3QxcV91OChkc3QgKyAxOCAqIHN0cmlkZSArIDE2LCBhMzEpOwotICB2c3Qx
cV91OChkc3QgKyAxOSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwWzFdLCBhMzEsIDQpKTsKLSAg
dnN0MXFfdTgoZHN0ICsgMTkgKiBzdHJpZGUgKyAxNiwgYTMxKTsKLSAgdnN0MXFfdTgoZHN0ICsg
MjAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFsxXSwgYTMxLCA1KSk7Ci0gIHZzdDFxX3U4KGRz
dCArIDIwICogc3RyaWRlICsgMTYsIGEzMSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIxICogc3RyaWRl
ICsgMCwgdmV4dHFfdTgoZDBbMV0sIGEzMSwgNikpOwotICB2c3QxcV91OChkc3QgKyAyMSAqIHN0
cmlkZSArIDE2LCBhMzEpOwotICB2c3QxcV91OChkc3QgKyAyMiAqIHN0cmlkZSArIDAsIHZleHRx
X3U4KGQwWzFdLCBhMzEsIDcpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjIgKiBzdHJpZGUgKyAxNiwg
YTMxKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjMgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFsxXSwg
YTMxLCA4KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIzICogc3RyaWRlICsgMTYsIGEzMSk7Ci0gIHZz
dDFxX3U4KGRzdCArIDI0ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDBbMV0sIGEzMSwgOSkpOwot
ICB2c3QxcV91OChkc3QgKyAyNCAqIHN0cmlkZSArIDE2LCBhMzEpOwotICB2c3QxcV91OChkc3Qg
KyAyNSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwWzFdLCBhMzEsIDEwKSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDI1ICogc3RyaWRlICsgMTYsIGEzMSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI2ICogc3Ry
aWRlICsgMCwgdmV4dHFfdTgoZDBbMV0sIGEzMSwgMTEpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjYg
KiBzdHJpZGUgKyAxNiwgYTMxKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjcgKiBzdHJpZGUgKyAwLCB2
ZXh0cV91OChkMFsxXSwgYTMxLCAxMikpOwotICB2c3QxcV91OChkc3QgKyAyNyAqIHN0cmlkZSAr
IDE2LCBhMzEpOwotICB2c3QxcV91OChkc3QgKyAyOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQw
WzFdLCBhMzEsIDEzKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI4ICogc3RyaWRlICsgMTYsIGEzMSk7
Ci0gIHZzdDFxX3U4KGRzdCArIDI5ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDBbMV0sIGEzMSwg
MTQpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjkgKiBzdHJpZGUgKyAxNiwgYTMxKTsKLSAgdnN0MXFf
dTgoZHN0ICsgMzAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMFsxXSwgYTMxLCAxNSkpOwotICB2
c3QxcV91OChkc3QgKyAzMCAqIHN0cmlkZSArIDE2LCBhMzEpOwotICB2c3QxcV91OChkc3QgKyAz
MSAqIHN0cmlkZSArIDAsIGEzMSk7Ci0gIHZzdDFxX3U4KGRzdCArIDMxICogc3RyaWRlICsgMTYs
IGEzMSk7Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLXZvaWQgdnB4X2Q2M19wcmVk
aWN0b3JfNHg0X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhf
dCAqbGVmdCkgewotICB1aW50OHg4X3QgYTAsIGExLCBhMiwgYTMsIGQwLCBkMSwgZDIsIGQzOwot
ICAodm9pZClsZWZ0OwotCi0gIGEwID0gbG9hZF91bmFsaWduZWRfdThfNHgxKGFib3ZlICsgMCk7
Ci0gIGExID0gbG9hZF91bmFsaWduZWRfdThfNHgxKGFib3ZlICsgMSk7Ci0gIGEyID0gbG9hZF91
bmFsaWduZWRfdThfNHgxKGFib3ZlICsgMik7Ci0gIGEzID0gbG9hZF91bmFsaWduZWRfdThfNHgx
KGFib3ZlICsgMyk7Ci0KLSAgZDAgPSB2cmhhZGRfdTgoYTAsIGExKTsKLSAgZDEgPSB2cmhhZGRf
dTgodmhhZGRfdTgoYTAsIGEyKSwgYTEpOwotICBkMiA9IHZyaGFkZF91OChhMSwgYTIpOwotICBk
MyA9IHZyaGFkZF91OCh2aGFkZF91OChhMSwgYTMpLCBhMik7Ci0KLSAgc3RvcmVfdThfNHgxKGRz
dCArIDAgKiBzdHJpZGUsIGQwKTsKLSAgc3RvcmVfdThfNHgxKGRzdCArIDEgKiBzdHJpZGUsIGQx
KTsKLSAgc3RvcmVfdThfNHgxKGRzdCArIDIgKiBzdHJpZGUsIGQyKTsKLSAgc3RvcmVfdThfNHgx
KGRzdCArIDMgKiBzdHJpZGUsIGQzKTsKLX0KLQotdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl84eDhf
bmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0KSB7
Ci0gIHVpbnQ4eDhfdCBhMCwgYTEsIGEyLCBhNywgZDAsIGQxOwotICAodm9pZClsZWZ0OwotCi0g
IGEwID0gdmxkMV91OChhYm92ZSArIDApOwotICBhMSA9IHZsZDFfdTgoYWJvdmUgKyAxKTsKLSAg
YTIgPSB2bGQxX3U4KGFib3ZlICsgMik7Ci0gIGE3ID0gdmxkMV9kdXBfdTgoYWJvdmUgKyA3KTsK
LQotICBkMCA9IHZyaGFkZF91OChhMCwgYTEpOwotICBkMSA9IHZyaGFkZF91OCh2aGFkZF91OChh
MCwgYTIpLCBhMSk7Ci0KLSAgdnN0MV91OChkc3QgKyAwICogc3RyaWRlLCBkMCk7Ci0gIHZzdDFf
dTgoZHN0ICsgMSAqIHN0cmlkZSwgZDEpOwotCi0gIGQwID0gdmV4dF91OChkMCwgZDAsIDcpOwot
ICBkMSA9IHZleHRfdTgoZDEsIGQxLCA3KTsKLQotICB2c3QxX3U4KGRzdCArIDIgKiBzdHJpZGUs
IHZleHRfdTgoZDAsIGE3LCAyKSk7Ci0gIHZzdDFfdTgoZHN0ICsgMyAqIHN0cmlkZSwgdmV4dF91
OChkMSwgYTcsIDIpKTsKLSAgdnN0MV91OChkc3QgKyA0ICogc3RyaWRlLCB2ZXh0X3U4KGQwLCBh
NywgMykpOwotICB2c3QxX3U4KGRzdCArIDUgKiBzdHJpZGUsIHZleHRfdTgoZDEsIGE3LCAzKSk7
Ci0gIHZzdDFfdTgoZHN0ICsgNiAqIHN0cmlkZSwgdmV4dF91OChkMCwgYTcsIDQpKTsKLSAgdnN0
MV91OChkc3QgKyA3ICogc3RyaWRlLCB2ZXh0X3U4KGQxLCBhNywgNCkpOwotfQotCi12b2lkIHZw
eF9kNjNfcHJlZGljdG9yXzE2eDE2X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3Zl
LCBjb25zdCB1aW50OF90ICpsZWZ0KSB7Ci0gIHVpbnQ4eDE2X3QgYTAsIGExLCBhMiwgYTE1LCBk
MCwgZDE7Ci0gICh2b2lkKWxlZnQ7Ci0KLSAgYTAgPSB2bGQxcV91OChhYm92ZSArIDApOwotICBh
MSA9IHZsZDFxX3U4KGFib3ZlICsgMSk7Ci0gIGEyID0gdmxkMXFfdTgoYWJvdmUgKyAyKTsKLSAg
YTE1ID0gdmxkMXFfZHVwX3U4KGFib3ZlICsgMTUpOwotCi0gIGQwID0gdnJoYWRkcV91OChhMCwg
YTEpOwotICBkMSA9IHZyaGFkZHFfdTgodmhhZGRxX3U4KGEwLCBhMiksIGExKTsKLQotICB2c3Qx
cV91OChkc3QgKyAwICogc3RyaWRlLCBkMCk7Ci0gIHZzdDFxX3U4KGRzdCArIDEgKiBzdHJpZGUs
IGQxKTsKLQotICBkMCA9IHZleHRxX3U4KGQwLCBkMCwgMTUpOwotICBkMSA9IHZleHRxX3U4KGQx
LCBkMSwgMTUpOwotCi0gIHZzdDFxX3U4KGRzdCArIDIgKiBzdHJpZGUsIHZleHRxX3U4KGQwLCBh
MTUsIDIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMyAqIHN0cmlkZSwgdmV4dHFfdTgoZDEsIGExNSwg
MikpOwotICB2c3QxcV91OChkc3QgKyA0ICogc3RyaWRlLCB2ZXh0cV91OChkMCwgYTE1LCAzKSk7
Ci0gIHZzdDFxX3U4KGRzdCArIDUgKiBzdHJpZGUsIHZleHRxX3U4KGQxLCBhMTUsIDMpKTsKLSAg
dnN0MXFfdTgoZHN0ICsgNiAqIHN0cmlkZSwgdmV4dHFfdTgoZDAsIGExNSwgNCkpOwotICB2c3Qx
cV91OChkc3QgKyA3ICogc3RyaWRlLCB2ZXh0cV91OChkMSwgYTE1LCA0KSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDggKiBzdHJpZGUsIHZleHRxX3U4KGQwLCBhMTUsIDUpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgOSAqIHN0cmlkZSwgdmV4dHFfdTgoZDEsIGExNSwgNSkpOwotICB2c3QxcV91OChkc3QgKyAx
MCAqIHN0cmlkZSwgdmV4dHFfdTgoZDAsIGExNSwgNikpOwotICB2c3QxcV91OChkc3QgKyAxMSAq
IHN0cmlkZSwgdmV4dHFfdTgoZDEsIGExNSwgNikpOwotICB2c3QxcV91OChkc3QgKyAxMiAqIHN0
cmlkZSwgdmV4dHFfdTgoZDAsIGExNSwgNykpOwotICB2c3QxcV91OChkc3QgKyAxMyAqIHN0cmlk
ZSwgdmV4dHFfdTgoZDEsIGExNSwgNykpOwotICB2c3QxcV91OChkc3QgKyAxNCAqIHN0cmlkZSwg
dmV4dHFfdTgoZDAsIGExNSwgOCkpOwotICB2c3QxcV91OChkc3QgKyAxNSAqIHN0cmlkZSwgdmV4
dHFfdTgoZDEsIGExNSwgOCkpOwotfQotCi12b2lkIHZweF9kNjNfcHJlZGljdG9yXzMyeDMyX25l
b24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0KSB7
Ci0gIHVpbnQ4eDE2X3QgYTAsIGExLCBhMiwgYTE2LCBhMTcsIGExOCwgYTMxLCBkMF9sbywgZDBf
aGksIGQxX2xvLCBkMV9oaTsKKyAgY29uc3QgdWludDh4MTZfdCBBMF8wID0gdmxkMXFfdTgoYWJv
dmUpOworICBjb25zdCB1aW50OHgxNl90IEEwXzEgPSB2bGQxcV91OChhYm92ZSArIDE2KTsKKyAg
Y29uc3QgdWludDh4MTZfdCBhYm92ZV9yaWdodCA9IHZkdXBxX2xhbmVfdTgodmdldF9oaWdoX3U4
KEEwXzEpLCA3KTsKKyAgY29uc3QgdWludDh4MTZfdCBBMV8wID0gdmxkMXFfdTgoYWJvdmUgKyAx
KTsKKyAgY29uc3QgdWludDh4MTZfdCBBMV8xID0gdmxkMXFfdTgoYWJvdmUgKyAxNyk7CisgIGNv
bnN0IHVpbnQ4eDE2X3QgQTJfMCA9IHZsZDFxX3U4KGFib3ZlICsgMik7CisgIGNvbnN0IHVpbnQ4
eDE2X3QgQTJfMSA9IHZsZDFxX3U4KGFib3ZlICsgMTgpOworICBjb25zdCB1aW50OHgxNl90IGF2
Z18wID0gdmhhZGRxX3U4KEEwXzAsIEEyXzApOworICBjb25zdCB1aW50OHgxNl90IGF2Z18xID0g
dmhhZGRxX3U4KEEwXzEsIEEyXzEpOworICB1aW50OHgxNl90IHJvd18wID0gdnJoYWRkcV91OChh
dmdfMCwgQTFfMCk7CisgIHVpbnQ4eDE2X3Qgcm93XzEgPSB2cmhhZGRxX3U4KGF2Z18xLCBBMV8x
KTsKKyAgaW50IGk7CiAgICh2b2lkKWxlZnQ7CiAKLSAgYTAgPSB2bGQxcV91OChhYm92ZSArIDAp
OwotICBhMSA9IHZsZDFxX3U4KGFib3ZlICsgMSk7Ci0gIGEyID0gdmxkMXFfdTgoYWJvdmUgKyAy
KTsKLSAgYTE2ID0gdmxkMXFfdTgoYWJvdmUgKyAxNik7Ci0gIGExNyA9IHZsZDFxX3U4KGFib3Zl
ICsgMTcpOwotICBhMTggPSB2bGQxcV91OChhYm92ZSArIDE4KTsKLSAgYTMxID0gdmxkMXFfZHVw
X3U4KGFib3ZlICsgMzEpOwotCi0gIGQwX2xvID0gdnJoYWRkcV91OChhMCwgYTEpOwotICBkMF9o
aSA9IHZyaGFkZHFfdTgoYTE2LCBhMTcpOwotICBkMV9sbyA9IHZyaGFkZHFfdTgodmhhZGRxX3U4
KGEwLCBhMiksIGExKTsKLSAgZDFfaGkgPSB2cmhhZGRxX3U4KHZoYWRkcV91OChhMTYsIGExOCks
IGExNyk7Ci0KLSAgdnN0MXFfdTgoZHN0ICsgMCAqIHN0cmlkZSArIDAsIGQwX2xvKTsKLSAgdnN0
MXFfdTgoZHN0ICsgMCAqIHN0cmlkZSArIDE2LCBkMF9oaSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEg
KiBzdHJpZGUgKyAwLCBkMV9sbyk7Ci0gIHZzdDFxX3U4KGRzdCArIDEgKiBzdHJpZGUgKyAxNiwg
ZDFfaGkpOwotCi0gIGQwX2hpID0gdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCAxNSk7Ci0gIGQwX2xv
ID0gdmV4dHFfdTgoZDBfbG8sIGQwX2xvLCAxNSk7Ci0gIGQxX2hpID0gdmV4dHFfdTgoZDFfbG8s
IGQxX2hpLCAxNSk7Ci0gIGQxX2xvID0gdmV4dHFfdTgoZDFfbG8sIGQxX2xvLCAxNSk7Ci0KLSAg
dnN0MXFfdTgoZHN0ICsgMiAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwX2xvLCBkMF9oaSwgMikp
OwotICB2c3QxcV91OChkc3QgKyAyICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwX2hpLCBhMzEs
IDIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMyAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQxX2xvLCBk
MV9oaSwgMikpOwotICB2c3QxcV91OChkc3QgKyAzICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQx
X2hpLCBhMzEsIDIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNCAqIHN0cmlkZSArIDAsIHZleHRxX3U4
KGQwX2xvLCBkMF9oaSwgMykpOwotICB2c3QxcV91OChkc3QgKyA0ICogc3RyaWRlICsgMTYsIHZl
eHRxX3U4KGQwX2hpLCBhMzEsIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNSAqIHN0cmlkZSArIDAs
IHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgMykpOwotICB2c3QxcV91OChkc3QgKyA1ICogc3RyaWRl
ICsgMTYsIHZleHRxX3U4KGQxX2hpLCBhMzEsIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNiAqIHN0
cmlkZSArIDAsIHZleHRxX3U4KGQwX2xvLCBkMF9oaSwgNCkpOwotICB2c3QxcV91OChkc3QgKyA2
ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwX2hpLCBhMzEsIDQpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgNyAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgNCkpOwotICB2c3QxcV91
OChkc3QgKyA3ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2hpLCBhMzEsIDQpKTsKLSAgdnN0
MXFfdTgoZHN0ICsgOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwX2xvLCBkMF9oaSwgNSkpOwot
ICB2c3QxcV91OChkc3QgKyA4ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwX2hpLCBhMzEsIDUp
KTsKLSAgdnN0MXFfdTgoZHN0ICsgOSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQxX2xvLCBkMV9o
aSwgNSkpOwotICB2c3QxcV91OChkc3QgKyA5ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2hp
LCBhMzEsIDUpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChk
MF9sbywgZDBfaGksIDYpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTAgKiBzdHJpZGUgKyAxNiwgdmV4
dHFfdTgoZDBfaGksIGEzMSwgNikpOwotICB2c3QxcV91OChkc3QgKyAxMSAqIHN0cmlkZSArIDAs
IHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgNikpOwotICB2c3QxcV91OChkc3QgKyAxMSAqIHN0cmlk
ZSArIDE2LCB2ZXh0cV91OChkMV9oaSwgYTMxLCA2KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEyICog
c3RyaWRlICsgMCwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDEyICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwX2hpLCBhMzEsIDcpKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgMTMgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMV9sbywgZDFfaGksIDcpKTsKLSAgdnN0
MXFfdTgoZHN0ICsgMTMgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDFfaGksIGEzMSwgNykpOwot
ICB2c3QxcV91OChkc3QgKyAxNCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwX2xvLCBkMF9oaSwg
OCkpOwotICB2c3QxcV91OChkc3QgKyAxNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMF9oaSwg
YTMxLCA4KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE1ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDFf
bG8sIGQxX2hpLCA4KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE1ICogc3RyaWRlICsgMTYsIHZleHRx
X3U4KGQxX2hpLCBhMzEsIDgpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTYgKiBzdHJpZGUgKyAwLCB2
ZXh0cV91OChkMF9sbywgZDBfaGksIDkpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTYgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTgoZDBfaGksIGEzMSwgOSkpOwotICB2c3QxcV91OChkc3QgKyAxNyAqIHN0
cmlkZSArIDAsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgOSkpOwotICB2c3QxcV91OChkc3QgKyAx
NyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMV9oaSwgYTMxLCA5KSk7Ci0gIHZzdDFxX3U4KGRz
dCArIDE4ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCAxMCkpOwotICB2c3Qx
cV91OChkc3QgKyAxOCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMF9oaSwgYTMxLCAxMCkpOwot
ICB2c3QxcV91OChkc3QgKyAxOSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwg
MTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTkgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDFfaGks
IGEzMSwgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChk
MF9sbywgZDBfaGksIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIwICogc3RyaWRlICsgMTYsIHZl
eHRxX3U4KGQwX2hpLCBhMzEsIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIxICogc3RyaWRlICsg
MCwgdmV4dHFfdTgoZDFfbG8sIGQxX2hpLCAxMSkpOwotICB2c3QxcV91OChkc3QgKyAyMSAqIHN0
cmlkZSArIDE2LCB2ZXh0cV91OChkMV9oaSwgYTMxLCAxMSkpOwotICB2c3QxcV91OChkc3QgKyAy
MiAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwX2xvLCBkMF9oaSwgMTIpKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgMjIgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfaGksIGEzMSwgMTIpKTsKLSAgdnN0
MXFfdTgoZHN0ICsgMjMgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMV9sbywgZDFfaGksIDEyKSk7
Ci0gIHZzdDFxX3U4KGRzdCArIDIzICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2hpLCBhMzEs
IDEyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI0ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDBfbG8s
IGQwX2hpLCAxMykpOwotICB2c3QxcV91OChkc3QgKyAyNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
OChkMF9oaSwgYTMxLCAxMykpOwotICB2c3QxcV91OChkc3QgKyAyNSAqIHN0cmlkZSArIDAsIHZl
eHRxX3U4KGQxX2xvLCBkMV9oaSwgMTMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjUgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTgoZDFfaGksIGEzMSwgMTMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjYgKiBz
dHJpZGUgKyAwLCB2ZXh0cV91OChkMF9sbywgZDBfaGksIDE0KSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDI2ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwX2hpLCBhMzEsIDE0KSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDI3ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDFfbG8sIGQxX2hpLCAxNCkpOwotICB2
c3QxcV91OChkc3QgKyAyNyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMV9oaSwgYTMxLCAxNCkp
OwotICB2c3QxcV91OChkc3QgKyAyOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwX2xvLCBkMF9o
aSwgMTUpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjggKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBf
aGksIGEzMSwgMTUpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjkgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
OChkMV9sbywgZDFfaGksIDE1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI5ICogc3RyaWRlICsgMTYs
IHZleHRxX3U4KGQxX2hpLCBhMzEsIDE1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDMwICogc3RyaWRl
ICsgMCwgZDBfaGkpOwotICB2c3QxcV91OChkc3QgKyAzMCAqIHN0cmlkZSArIDE2LCBhMzEpOwot
ICB2c3QxcV91OChkc3QgKyAzMSAqIHN0cmlkZSArIDAsIGQxX2hpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgMzEgKiBzdHJpZGUgKyAxNiwgYTMxKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LQotdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfNHg0X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZm
X3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsKLSAgLy8gU2VlIHZweF9kMTE3X3ByZWRp
Y3Rvcl84eDhfbmVvbiBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAg
dWludDh4OF90IGF6LCBhMCwgbDBheiwgZDAsIGQxLCBkMiwgZDMsIGNvbDAsIGNvbDE7Ci0KLSAg
YXogPSBsb2FkX3VuYWxpZ25lZF91OF80eDEoYWJvdmUgLSAxKTsKLSAgYTAgPSBsb2FkX3VuYWxp
Z25lZF91OF80eDEoYWJvdmUgKyAwKTsKLSAgLy8gWyBsZWZ0WzBdLCBhYm92ZVstMV0sIGFib3Zl
WzBdLCBhYm92ZVsxXSwgeCwgeCwgeCwgeCBdCi0gIGwwYXogPSB2ZXh0X3U4KHZsZDFfZHVwX3U4
KGxlZnQpLCBheiwgNyk7Ci0KLSAgY29sMCA9IHZkdXBfbl91OCgoYWJvdmVbLTFdICsgMiAqIGxl
ZnRbMF0gKyBsZWZ0WzFdICsgMikgPj4gMik7Ci0gIGNvbDEgPSB2ZHVwX25fdTgoKGxlZnRbMF0g
KyAyICogbGVmdFsxXSArIGxlZnRbMl0gKyAyKSA+PiAyKTsKLQotICBkMCA9IHZyaGFkZF91OChh
eiwgYTApOwotICBkMSA9IHZyaGFkZF91OCh2aGFkZF91OChsMGF6LCBhMCksIGF6KTsKLSAgZDIg
PSB2ZXh0X3U4KGNvbDAsIGQwLCA3KTsKLSAgZDMgPSB2ZXh0X3U4KGNvbDEsIGQxLCA3KTsKLQot
ICBzdG9yZV91OF80eDEoZHN0ICsgMCAqIHN0cmlkZSwgZDApOwotICBzdG9yZV91OF80eDEoZHN0
ICsgMSAqIHN0cmlkZSwgZDEpOwotICBzdG9yZV91OF80eDEoZHN0ICsgMiAqIHN0cmlkZSwgZDIp
OwotICBzdG9yZV91OF80eDEoZHN0ICsgMyAqIHN0cmlkZSwgZDMpOwotfQotCi12b2lkIHZweF9k
MTE3X3ByZWRpY3Rvcl84eDhfbmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29u
c3QgdWludDhfdCAqbGVmdCkgewotICB1aW50OHg4X3QgYXosIGEwLCBsMGF6LCBkMCwgZDEsIGww
LCBsMSwgYXpsMCwgY29sMCwgY29sMF9ldmVuLCBjb2wwX29kZDsKLQotICBheiA9IHZsZDFfdTgo
YWJvdmUgLSAxKTsKLSAgYTAgPSB2bGQxX3U4KGFib3ZlICsgMCk7Ci0gIC8vIFsgbGVmdFswXSwg
YWJvdmVbLTFdLCAuLi4gLCBhYm92ZVs1XSBdCi0gIGwwYXogPSB2ZXh0X3U4KHZsZDFfZHVwX3U4
KGxlZnQpLCBheiwgNyk7Ci0KLSAgbDAgPSB2bGQxX3U4KGxlZnQgKyAwKTsKLSAgLy8gVGhlIGxh
c3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVhZGluZyBsZWZ0WzhdIGNvdWxkIGNhdXNlIGEgYnVm
ZmVyCi0gIC8vIG92ZXItcmVhZCwgc28ganVzdCBmaWxsIHdpdGggYSBkdXBsaWNhdGUgb2YgbGVm
dFswXSB0byBhdm9pZCBuZWVkaW5nIHRvCi0gIC8vIG1hdGVyaWFsaXplIGEgemVybzoKLSAgLy8g
WyBsZWZ0WzFdLCAuLi4gLCBsZWZ0WzddLCB4IF0KLSAgbDEgPSB2ZXh0X3U4KGwwLCBsMCwgMSk7
Ci0gIC8vIFsgYWJvdmVbLTFdLCBsZWZ0WzBdLCAuLi4gLCBsZWZ0WzZdIF0KLSAgYXpsMCA9IHZl
eHRfdTgodmxkMV9kdXBfdTgoYWJvdmUgLSAxKSwgbDAsIDcpOwotCi0gIC8vIGQwWzBdID0gQVZH
MihhYm92ZVstMV0sIGFib3ZlWzBdKQotICAvLyBkMFsxXSA9IEFWRzIoYWJvdmVbMF0sIGFib3Zl
WzFdKQotICAvLyAuLi4KLSAgLy8gZDBbN10gPSBBVkcyKGFib3ZlWzZdLCBhYm92ZVs3XSkKLSAg
ZDAgPSB2cmhhZGRfdTgoYXosIGEwKTsKLQotICAvLyBkMVswXSA9IEFWRzMobGVmdFswXSwgYWJv
dmVbLTFdLCBhYm92ZVswXSkKLSAgLy8gZDFbMV0gPSBBVkczKGFib3ZlWy0xXSwgYWJvdmVbMF0s
IGFib3ZlWzFdKQotICAvLyAuLi4KLSAgLy8gZDFbN10gPSBBVkczKGFib3ZlWzVdLCBhYm92ZVs2
XSwgYWJvdmVbN10pCi0gIGQxID0gdnJoYWRkX3U4KHZoYWRkX3U4KGwwYXosIGEwKSwgYXopOwot
Ci0gIC8vIFRoZSBleHQgaW5zdHJ1Y3Rpb24gc2hpZnRzIGVsZW1lbnRzIGluIGZyb20gdGhlIGVu
ZCBvZiB0aGUgdmVjdG9yIHJhdGhlcgotICAvLyB0aGFuIHRoZSBzdGFydCwgc28gcmV2ZXJzZSB0
aGUgdmVjdG9yIHRvIHB1dCB0aGUgZWxlbWVudHMgdG8gYmUgc2hpZnRlZCBpbgotICAvLyBhdCB0
aGUgZW5kLiBUaGUgbG93ZXN0IHR3byBsYW5lcyBoZXJlIGFyZSB1bnVzZWQ6Ci0gIC8vIGNvbDBb
N10gPSBBVkczKGFib3ZlWy0xXSwgbGVmdFswXSwgbGVmdFsxXSkKLSAgLy8gY29sMFs2XSA9IEFW
RzMobGVmdFswXSwgbGVmdFsxXSwgbGVmdFsyXSkKLSAgLy8gLi4uCi0gIC8vIGNvbDBbMl0gPSBB
VkczKGxlZnRbNF0sIGxlZnRbNV0sIGxlZnRbNl0pCi0gIC8vIGNvbDBbMV0gPSB4IChkb24ndCBj
YXJlKQotICAvLyBjb2wwWzBdID0geCAoZG9uJ3QgY2FyZSkKLSAgY29sMCA9IHZyZXY2NF91OCh2
cmhhZGRfdTgodmhhZGRfdTgoYXpsMCwgbDEpLCBsMCkpOwotCi0gIC8vIFdlIGRvbid0IGNhcmUg
YWJvdXQgdGhlIGZpcnN0IHBhcmFtZXRlciB0byB0aGlzIHV6cCBzaW5jZSB3ZSBvbmx5IGV2ZXIg
dXNlCi0gIC8vIHRoZSBoaWdoIHRocmVlIGVsZW1lbnRzLCB3ZSBqdXN0IHVzZSBjb2wwIGFnYWlu
IHNpbmNlIGl0IGlzIGFscmVhZHkKLSAgLy8gYXZhaWxhYmxlOgotICAvLyBjb2wwX2V2ZW4gPSBb
IHgsIHgsIHgsIHgsIHgsIGNvbDBbM10sIGNvbDBbNV0sIGNvbDBbN10gXQotICAvLyBjb2wwX29k
ZCA9IFsgeCwgeCwgeCwgeCwgeCwgY29sMFsyXSwgY29sMFs0XSwgY29sMFs2XSBdCi0gIGNvbDBf
ZXZlbiA9IHZ1enBfdTgoY29sMCwgY29sMCkudmFsWzFdOwotICBjb2wwX29kZCA9IHZ1enBfdTgo
Y29sMCwgY29sMCkudmFsWzBdOwotCi0gIC8vIEluY3JlbWVudGFsbHkgc2hpZnQgbW9yZSBlbGVt
ZW50cyBmcm9tIGNvbDAgaW50byBkMC8xOgotICAvLyBzdHJpZGU9MCBbIGQwWzBdLCAgIGQwWzFd
LCAgIGQwWzJdLCAgIGQwWzNdLCBkMFs0XSwgZDBbNV0sIGQwWzZdLCBkMFs3XSBdCi0gIC8vIHN0
cmlkZT0xIFsgZDFbMF0sICAgZDFbMV0sICAgZDFbMl0sICAgZDFbM10sIGQxWzRdLCBkMVs1XSwg
ZDFbNl0sIGQxWzddIF0KLSAgLy8gc3RyaWRlPTIgWyBjb2wwWzddLCBkMFswXSwgICBkMFsxXSwg
ICBkMFsyXSwgZDBbM10sIGQwWzRdLCBkMFs1XSwgZDBbNl0gXQotICAvLyBzdHJpZGU9MyBbIGNv
bDBbNl0sIGQxWzBdLCAgIGQxWzFdLCAgIGQxWzJdLCBkMVszXSwgZDFbNF0sIGQxWzVdLCBkMVs2
XSBdCi0gIC8vIHN0cmlkZT00IFsgY29sMFs1XSwgY29sMFs3XSwgZDBbMF0sICAgZDBbMV0sIGQw
WzJdLCBkMFszXSwgZDBbNF0sIGQwWzVdIF0KLSAgLy8gc3RyaWRlPTUgWyBjb2wwWzRdLCBjb2ww
WzZdLCBkMVswXSwgICBkMVsxXSwgZDFbMl0sIGQxWzNdLCBkMVs0XSwgZDFbNV0gXQotICAvLyBz
dHJpZGU9NiBbIGNvbDBbM10sIGNvbDBbNV0sIGNvbDBbN10sIGQwWzBdLCBkMFsxXSwgZDBbMl0s
IGQwWzNdLCBkMFs0XSBdCi0gIC8vIHN0cmlkZT03IFsgY29sMFsyXSwgY29sMFs0XSwgY29sMFs2
XSwgZDFbMF0sIGQxWzFdLCBkMVsyXSwgZDFbM10sIGQxWzRdIF0KLSAgdnN0MV91OChkc3QgKyAw
ICogc3RyaWRlLCBkMCk7Ci0gIHZzdDFfdTgoZHN0ICsgMSAqIHN0cmlkZSwgZDEpOwotICB2c3Qx
X3U4KGRzdCArIDIgKiBzdHJpZGUsIHZleHRfdTgoY29sMF9ldmVuLCBkMCwgNykpOwotICB2c3Qx
X3U4KGRzdCArIDMgKiBzdHJpZGUsIHZleHRfdTgoY29sMF9vZGQsIGQxLCA3KSk7Ci0gIHZzdDFf
dTgoZHN0ICsgNCAqIHN0cmlkZSwgdmV4dF91OChjb2wwX2V2ZW4sIGQwLCA2KSk7Ci0gIHZzdDFf
dTgoZHN0ICsgNSAqIHN0cmlkZSwgdmV4dF91OChjb2wwX29kZCwgZDEsIDYpKTsKLSAgdnN0MV91
OChkc3QgKyA2ICogc3RyaWRlLCB2ZXh0X3U4KGNvbDBfZXZlbiwgZDAsIDUpKTsKLSAgdnN0MV91
OChkc3QgKyA3ICogc3RyaWRlLCB2ZXh0X3U4KGNvbDBfb2RkLCBkMSwgNSkpOwotfQorICB2c3Qx
cV91OChkc3QsIHJvd18wKTsKKyAgZHN0ICs9IDE2OworICB2c3QxcV91OChkc3QsIHJvd18xKTsK
KyAgZHN0ICs9IHN0cmlkZSAtIDE2OwogCi12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNl9u
ZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQp
IHsKLSAgLy8gU2VlIHZweF9kMTE3X3ByZWRpY3Rvcl84eDhfbmVvbiBmb3IgbW9yZSBkZXRhaWxz
IG9uIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAgdWludDh4MTZfdCBheiwgYTAsIGwwYXosIGQwLCBk
MSwgbDAsIGwxLCBhemwwLCBjb2wwLCBjb2wwX2V2ZW4sIGNvbDBfb2RkOwotCi0gIGF6ID0gdmxk
MXFfdTgoYWJvdmUgLSAxKTsKLSAgYTAgPSB2bGQxcV91OChhYm92ZSArIDApOwotICAvLyBbIGxl
ZnRbMF0sIGFib3ZlWy0xXSwgLi4uICwgYWJvdmVbMTNdIF0KLSAgbDBheiA9IHZleHRxX3U4KHZs
ZDFxX2R1cF91OChsZWZ0KSwgYXosIDE1KTsKLQotICBsMCA9IHZsZDFxX3U4KGxlZnQgKyAwKTsK
LSAgLy8gVGhlIGxhc3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVhZGluZyBsZWZ0WzE2XSBjb3Vs
ZCBjYXVzZSBhIGJ1ZmZlcgotICAvLyBvdmVyLXJlYWQsIHNvIGp1c3QgZmlsbCB3aXRoIGEgZHVw
bGljYXRlIG9mIGxlZnRbMF0gdG8gYXZvaWQgbmVlZGluZyB0bwotICAvLyBtYXRlcmlhbGl6ZSBh
IHplcm86Ci0gIC8vIFsgbGVmdFsxXSwgLi4uICwgbGVmdFsxNV0sIHggXQotICBsMSA9IHZleHRx
X3U4KGwwLCBsMCwgMSk7Ci0gIC8vIFsgYWJvdmVbLTFdLCBsZWZ0WzBdLCAuLi4gLCBsZWZ0WzE0
XSBdCi0gIGF6bDAgPSB2ZXh0cV91OCh2bGQxcV9kdXBfdTgoYWJvdmUgLSAxKSwgbDAsIDE1KTsK
LQotICBkMCA9IHZyaGFkZHFfdTgoYXosIGEwKTsKLSAgZDEgPSB2cmhhZGRxX3U4KHZoYWRkcV91
OChsMGF6LCBhMCksIGF6KTsKLQotICBjb2wwID0gdnJoYWRkcV91OCh2aGFkZHFfdTgoYXpsMCwg
bDEpLCBsMCk7Ci0gIGNvbDAgPSB2cmV2NjRxX3U4KHZleHRxX3U4KGNvbDAsIGNvbDAsIDgpKTsK
LQotICAvLyBUaGUgbG93IG5pbmUgbGFuZXMgaGVyZSBhcmUgdW51c2VkIHNvIHRoZSBmaXJzdCBp
bnB1dCB0byB0aGUgdXpwIGlzCi0gIC8vIHVudXNlZCwgc28ganVzdCB1c2UgYSBkdXBsaWNhdGUg
b2YgY29sMCBzaW5jZSB3ZSBoYXZlIGl0IGFscmVhZHkuIFRoaXMKLSAgLy8gYWxzbyBtZWFucyB0
aGF0IHRoZSBsb3dlc3QgbGFuZSBvZiBjb2wwIGhlcmUgaXMgdW51c2VkLgotICBjb2wwX2V2ZW4g
PSB2dXpwcV91OChjb2wwLCBjb2wwKS52YWxbMV07Ci0gIGNvbDBfb2RkID0gdnV6cHFfdTgoY29s
MCwgY29sMCkudmFsWzBdOwotCi0gIHZzdDFxX3U4KGRzdCArIDAgKiBzdHJpZGUsIGQwKTsKLSAg
dnN0MXFfdTgoZHN0ICsgMSAqIHN0cmlkZSwgZDEpOwotICB2c3QxcV91OChkc3QgKyAyICogc3Ry
aWRlLCB2ZXh0cV91OChjb2wwX2V2ZW4sIGQwLCAxNSkpOwotICB2c3QxcV91OChkc3QgKyAzICog
c3RyaWRlLCB2ZXh0cV91OChjb2wwX29kZCwgZDEsIDE1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDQg
KiBzdHJpZGUsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDAsIDE0KSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDUgKiBzdHJpZGUsIHZleHRxX3U4KGNvbDBfb2RkLCBkMSwgMTQpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgNiAqIHN0cmlkZSwgdmV4dHFfdTgoY29sMF9ldmVuLCBkMCwgMTMpKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgNyAqIHN0cmlkZSwgdmV4dHFfdTgoY29sMF9vZGQsIGQxLCAxMykpOwotICB2c3QxcV91
OChkc3QgKyA4ICogc3RyaWRlLCB2ZXh0cV91OChjb2wwX2V2ZW4sIGQwLCAxMikpOwotICB2c3Qx
cV91OChkc3QgKyA5ICogc3RyaWRlLCB2ZXh0cV91OChjb2wwX29kZCwgZDEsIDEyKSk7Ci0gIHZz
dDFxX3U4KGRzdCArIDEwICogc3RyaWRlLCB2ZXh0cV91OChjb2wwX2V2ZW4sIGQwLCAxMSkpOwot
ICB2c3QxcV91OChkc3QgKyAxMSAqIHN0cmlkZSwgdmV4dHFfdTgoY29sMF9vZGQsIGQxLCAxMSkp
OwotICB2c3QxcV91OChkc3QgKyAxMiAqIHN0cmlkZSwgdmV4dHFfdTgoY29sMF9ldmVuLCBkMCwg
MTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTMgKiBzdHJpZGUsIHZleHRxX3U4KGNvbDBfb2RkLCBk
MSwgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTQgKiBzdHJpZGUsIHZleHRxX3U4KGNvbDBfZXZl
biwgZDAsIDkpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTUgKiBzdHJpZGUsIHZleHRxX3U4KGNvbDBf
b2RkLCBkMSwgOSkpOwotfQorICBmb3IgKGkgPSAwOyBpIDwgMzA7ICsraSkgeworICAgIHJvd18w
ID0gdmV4dHFfdTgocm93XzAsIHJvd18xLCAxKTsKKyAgICByb3dfMSA9IHZleHRxX3U4KHJvd18x
LCBhYm92ZV9yaWdodCwgMSk7CisgICAgdnN0MXFfdTgoZHN0LCByb3dfMCk7CisgICAgZHN0ICs9
IDE2OworICAgIHZzdDFxX3U4KGRzdCwgcm93XzEpOworICAgIGRzdCArPSBzdHJpZGUgLSAxNjsK
KyAgfQogCi12b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMl9uZW9uKHVpbnQ4X3QgKmRzdCwg
cHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsKLSAgLy8gU2VlIHZweF9k
MTE3X3ByZWRpY3Rvcl84eDhfbmVvbiBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBpbXBsZW1lbnRh
dGlvbi4KLSAgdWludDh4MTZfdCBheiwgYTAsIGExNCwgYTE1LCBhMTYsIGwwYXosIGQwX2xvLCBk
MF9oaSwgZDFfbG8sIGQxX2hpLCBsMCwgbDEsCi0gICAgICBsMTUsIGwxNiwgbDE3LCBhemwwLCBj
b2wwX2xvLCBjb2wwX2hpLCBjb2wwX2V2ZW4sIGNvbDBfb2RkOwotCi0gIGF6ID0gdmxkMXFfdTgo
YWJvdmUgLSAxKTsKLSAgYTAgPSB2bGQxcV91OChhYm92ZSArIDApOwotICBhMTQgPSB2bGQxcV91
OChhYm92ZSArIDE0KTsKLSAgYTE1ID0gdmxkMXFfdTgoYWJvdmUgKyAxNSk7Ci0gIGExNiA9IHZs
ZDFxX3U4KGFib3ZlICsgMTYpOwotICAvLyBbIGxlZnRbMF0sIGFib3ZlWy0xXSwgLi4uICwgYWJv
dmVbMTNdIF0KLSAgbDBheiA9IHZleHRxX3U4KHZsZDFxX2R1cF91OChsZWZ0KSwgYXosIDE1KTsK
LQotICBsMCA9IHZsZDFxX3U4KGxlZnQgKyAwKTsKLSAgbDEgPSB2bGQxcV91OChsZWZ0ICsgMSk7
Ci0gIGwxNSA9IHZsZDFxX3U4KGxlZnQgKyAxNSk7Ci0gIGwxNiA9IHZsZDFxX3U4KGxlZnQgKyAx
Nik7Ci0gIC8vIFRoZSBsYXN0IGxhbmUgaGVyZSBpcyB1bnVzZWQsIHJlYWRpbmcgbGVmdFszMl0g
d291bGQgY2F1c2UgYSBidWZmZXIKLSAgLy8gb3Zlci1yZWFkIChvYnNlcnZlZCBhcyBhbiBhZGRy
ZXNzLXNhbml0aXplciBmYWlsdXJlKSwgc28ganVzdCBmaWxsIHdpdGggYQotICAvLyBkdXBsaWNh
dGUgb2YgbGVmdFsxNl0gdG8gYXZvaWQgbmVlZGluZyB0byBtYXRlcmlhbGl6ZSBhIHplcm86Ci0g
IC8vIFsgbGVmdFsxN10sIC4uLiAsIGxlZnRbMzFdLCB4IF0KLSAgbDE3ID0gdmV4dHFfdTgobDE2
LCBsMTYsIDEpOwotICAvLyBbIGFib3ZlWy0xXSwgbGVmdFswXSwgLi4uICwgbGVmdFsxNF0gXQot
ICBhemwwID0gdmV4dHFfdTgodmxkMXFfZHVwX3U4KGFib3ZlIC0gMSksIGwwLCAxNSk7Ci0KLSAg
ZDBfbG8gPSB2cmhhZGRxX3U4KGF6LCBhMCk7Ci0gIGQwX2hpID0gdnJoYWRkcV91OChhMTUsIGEx
Nik7Ci0gIGQxX2xvID0gdnJoYWRkcV91OCh2aGFkZHFfdTgobDBheiwgYTApLCBheik7Ci0gIGQx
X2hpID0gdnJoYWRkcV91OCh2aGFkZHFfdTgoYTE0LCBhMTYpLCBhMTUpOwotCi0gIC8vIFRoZSBs
YXN0IGxhbmUgb2YgY29sMF9oaSBpcyB1bnVzZWQgaGVyZS4KLSAgY29sMF9sbyA9IHZyaGFkZHFf
dTgodmhhZGRxX3U4KGF6bDAsIGwxKSwgbDApOwotICBjb2wwX2hpID0gdnJoYWRkcV91OCh2aGFk
ZHFfdTgobDE1LCBsMTcpLCBsMTYpOwotCi0gIGNvbDBfbG8gPSB2cmV2NjRxX3U4KHZleHRxX3U4
KGNvbDBfbG8sIGNvbDBfbG8sIDgpKTsKLSAgY29sMF9oaSA9IHZyZXY2NHFfdTgodmV4dHFfdTgo
Y29sMF9oaSwgY29sMF9oaSwgOCkpOwotCi0gIC8vIFRoZSBmaXJzdCBsYW5lIG9mIHRoZXNlIGFy
ZSB1bnVzZWQgc2luY2UgdGhleSBhcmUgb25seSBldmVyIGNhbGxlZCBhcwotICAvLyBleHQoY29s
MCwgXywgaSkgd2hlcmUgaSA+PSAxLgotICBjb2wwX2V2ZW4gPSB2dXpwcV91OChjb2wwX2hpLCBj
b2wwX2xvKS52YWxbMV07Ci0gIGNvbDBfb2RkID0gdnV6cHFfdTgoY29sMF9oaSwgY29sMF9sbyku
dmFsWzBdOwotCi0gIHZzdDFxX3U4KGRzdCArIDAgKiBzdHJpZGUgKyAwLCBkMF9sbyk7Ci0gIHZz
dDFxX3U4KGRzdCArIDAgKiBzdHJpZGUgKyAxNiwgZDBfaGkpOwotICB2c3QxcV91OChkc3QgKyAx
ICogc3RyaWRlICsgMCwgZDFfbG8pOwotICB2c3QxcV91OChkc3QgKyAxICogc3RyaWRlICsgMTYs
IGQxX2hpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMiAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBf
ZXZlbiwgZDBfbG8sIDE1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIgKiBzdHJpZGUgKyAxNiwgdmV4
dHFfdTgoZDBfbG8sIGQwX2hpLCAxNSkpOwotICB2c3QxcV91OChkc3QgKyAzICogc3RyaWRlICsg
MCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCAxNSkpOwotICB2c3QxcV91OChkc3QgKyAzICog
c3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgMTUpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgNCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDE0KSk7Ci0gIHZz
dDFxX3U4KGRzdCArIDQgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCAxNCkp
OwotICB2c3QxcV91OChkc3QgKyA1ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQx
X2xvLCAxNCkpOwotICB2c3QxcV91OChkc3QgKyA1ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQx
X2xvLCBkMV9oaSwgMTQpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNiAqIHN0cmlkZSArIDAsIHZleHRx
X3U4KGNvbDBfZXZlbiwgZDBfbG8sIDEzKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDYgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCAxMykpOwotICB2c3QxcV91OChkc3QgKyA3ICog
c3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCAxMykpOwotICB2c3QxcV91OChk
c3QgKyA3ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgMTMpKTsKLSAgdnN0
MXFfdTgoZHN0ICsgOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDEy
KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDggKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQw
X2hpLCAxMikpOwotICB2c3QxcV91OChkc3QgKyA5ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29s
MF9vZGQsIGQxX2xvLCAxMikpOwotICB2c3QxcV91OChkc3QgKyA5ICogc3RyaWRlICsgMTYsIHZl
eHRxX3U4KGQxX2xvLCBkMV9oaSwgMTIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTAgKiBzdHJpZGUg
KyAwLCB2ZXh0cV91OChjb2wwX2V2ZW4sIGQwX2xvLCAxMSkpOwotICB2c3QxcV91OChkc3QgKyAx
MCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMF9sbywgZDBfaGksIDExKSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDExICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCAxMSkpOwot
ICB2c3QxcV91OChkc3QgKyAxMSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMV9sbywgZDFfaGks
IDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEyICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9l
dmVuLCBkMF9sbywgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTIgKiBzdHJpZGUgKyAxNiwgdmV4
dHFfdTgoZDBfbG8sIGQwX2hpLCAxMCkpOwotICB2c3QxcV91OChkc3QgKyAxMyAqIHN0cmlkZSAr
IDAsIHZleHRxX3U4KGNvbDBfb2RkLCBkMV9sbywgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTMg
KiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDFfbG8sIGQxX2hpLCAxMCkpOwotICB2c3QxcV91OChk
c3QgKyAxNCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDkpKTsKLSAg
dnN0MXFfdTgoZHN0ICsgMTQgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCA5
KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE1ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQs
IGQxX2xvLCA5KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE1ICogc3RyaWRlICsgMTYsIHZleHRxX3U4
KGQxX2xvLCBkMV9oaSwgOSkpOwotICB2c3QxcV91OChkc3QgKyAxNiAqIHN0cmlkZSArIDAsIHZl
eHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDgpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTYgKiBzdHJp
ZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCA4KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE3
ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCA4KSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDE3ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgOCkpOwotICB2
c3QxcV91OChkc3QgKyAxOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8s
IDcpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTggKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8s
IGQwX2hpLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE5ICogc3RyaWRlICsgMCwgdmV4dHFfdTgo
Y29sMF9vZGQsIGQxX2xvLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE5ICogc3RyaWRlICsgMTYs
IHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgNykpOwotICB2c3QxcV91OChkc3QgKyAyMCAqIHN0cmlk
ZSArIDAsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDYpKTsKLSAgdnN0MXFfdTgoZHN0ICsg
MjAgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCA2KSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDIxICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCA2KSk7Ci0g
IHZzdDFxX3U4KGRzdCArIDIxICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwg
NikpOwotICB2c3QxcV91OChkc3QgKyAyMiAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBfZXZl
biwgZDBfbG8sIDUpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjIgKiBzdHJpZGUgKyAxNiwgdmV4dHFf
dTgoZDBfbG8sIGQwX2hpLCA1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIzICogc3RyaWRlICsgMCwg
dmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCA1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIzICogc3Ry
aWRlICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgNSkpOwotICB2c3QxcV91OChkc3QgKyAy
NCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDQpKTsKLSAgdnN0MXFf
dTgoZHN0ICsgMjQgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCA0KSk7Ci0g
IHZzdDFxX3U4KGRzdCArIDI1ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xv
LCA0KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI1ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2xv
LCBkMV9oaSwgNCkpOwotICB2c3QxcV91OChkc3QgKyAyNiAqIHN0cmlkZSArIDAsIHZleHRxX3U4
KGNvbDBfZXZlbiwgZDBfbG8sIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjYgKiBzdHJpZGUgKyAx
NiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCAzKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI3ICogc3Ry
aWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCAzKSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDI3ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgMykpOwotICB2c3QxcV91
OChkc3QgKyAyOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDIpKTsK
LSAgdnN0MXFfdTgoZHN0ICsgMjggKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hp
LCAyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI5ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9v
ZGQsIGQxX2xvLCAyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI5ICogc3RyaWRlICsgMTYsIHZleHRx
X3U4KGQxX2xvLCBkMV9oaSwgMikpOwotICB2c3QxcV91OChkc3QgKyAzMCAqIHN0cmlkZSArIDAs
IHZleHRxX3U4KGNvbDBfZXZlbiwgZDBfbG8sIDEpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMzAgKiBz
dHJpZGUgKyAxNiwgdmV4dHFfdTgoZDBfbG8sIGQwX2hpLCAxKSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDMxICogc3RyaWRlICsgMCwgdmV4dHFfdTgoY29sMF9vZGQsIGQxX2xvLCAxKSk7Ci0gIHZzdDFx
X3U4KGRzdCArIDMxICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgMSkpOwor
ICB2c3QxcV91OChkc3QsIGFib3ZlX3JpZ2h0KTsKKyAgZHN0ICs9IDE2OworICB2c3QxcV91OChk
c3QsIHJvd18xKTsKIH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTg2NiwxNCArMzkw
LDIyIEBAIHZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzR4NF9uZW9uKHVpbnQ4X3QgKmRzdCwgcHRy
ZGlmZl90IHN0cmlkZSwKICAgY29uc3QgdWludDh4OF90IEwzMjEwID0gdnJldjY0X3U4KEwwMTIz
KTsKICAgY29uc3QgdWludDh4OF90IEwzMjEwWEEwMTIgPSB2ZXh0X3U4KEwzMjEwLCBYQTAxMjMs
IDQpOwogICBjb25zdCB1aW50OHg4X3QgTDIxMFhBMDEyMyA9IHZleHRfdTgoTDMyMTAsIFhBMDEy
MywgNSk7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBMMTBYQTAxMjNfID0gdmV4dF91OChMMjEwWEEwMTIz
LCBMMjEwWEEwMTIzLCAxKTsKKyAgY29uc3QgdWludDh4OF90IEwxMFhBMDEyM18gPQorICAgICAg
dnJlaW50ZXJwcmV0X3U4X3U2NCh2c2hyX25fdTY0KHZyZWludGVycHJldF91NjRfdTgoTDIxMFhB
MDEyMyksIDgpKTsKICAgY29uc3QgdWludDh4OF90IGF2ZzEgPSB2aGFkZF91OChMMTBYQTAxMjNf
LCBMMzIxMFhBMDEyKTsKICAgY29uc3QgdWludDh4OF90IGF2ZzIgPSB2cmhhZGRfdTgoYXZnMSwg
TDIxMFhBMDEyMyk7Ci0KLSAgc3RvcmVfdThfNHgxKGRzdCArIDAgKiBzdHJpZGUsIHZleHRfdTgo
YXZnMiwgYXZnMiwgMykpOwotICBzdG9yZV91OF80eDEoZHN0ICsgMSAqIHN0cmlkZSwgdmV4dF91
OChhdmcyLCBhdmcyLCAyKSk7Ci0gIHN0b3JlX3U4XzR4MShkc3QgKyAyICogc3RyaWRlLCB2ZXh0
X3U4KGF2ZzIsIGF2ZzIsIDEpKTsKLSAgc3RvcmVfdThfNHgxKGRzdCArIDMgKiBzdHJpZGUsIGF2
ZzIpOworICBjb25zdCB1aW50NjR4MV90IGF2ZzJfdTY0ID0gdnJlaW50ZXJwcmV0X3U2NF91OChh
dmcyKTsKKyAgY29uc3QgdWludDMyeDJfdCByMyA9IHZyZWludGVycHJldF91MzJfdTgoYXZnMik7
CisgIGNvbnN0IHVpbnQzMngyX3QgcjIgPSB2cmVpbnRlcnByZXRfdTMyX3U2NCh2c2hyX25fdTY0
KGF2ZzJfdTY0LCA4KSk7CisgIGNvbnN0IHVpbnQzMngyX3QgcjEgPSB2cmVpbnRlcnByZXRfdTMy
X3U2NCh2c2hyX25fdTY0KGF2ZzJfdTY0LCAxNikpOworICBjb25zdCB1aW50MzJ4Ml90IHIwID0g
dnJlaW50ZXJwcmV0X3UzMl91NjQodnNocl9uX3U2NChhdmcyX3U2NCwgMjQpKTsKKyAgdnN0MV9s
YW5lX3UzMigodWludDMyX3QgKilkc3QsIHIwLCAwKTsKKyAgZHN0ICs9IHN0cmlkZTsKKyAgdnN0
MV9sYW5lX3UzMigodWludDMyX3QgKilkc3QsIHIxLCAwKTsKKyAgZHN0ICs9IHN0cmlkZTsKKyAg
dnN0MV9sYW5lX3UzMigodWludDMyX3QgKilkc3QsIHIyLCAwKTsKKyAgZHN0ICs9IHN0cmlkZTsK
KyAgdnN0MV9sYW5lX3UzMigodWludDMyX3QgKilkc3QsIHIzLCAwKTsKIH0KIAogdm9pZCB2cHhf
ZDEzNV9wcmVkaWN0b3JfOHg4X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLApA
QCAtODkwLDE1ICs0MjIsMzEgQEAgdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfOHg4X25lb24odWlu
dDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICBjb25zdCB1aW50OHgxNl90IEw1NDMyMTBY
QTAxMjM0NTY3XyA9IHZjb21iaW5lX3U4KEw1NDMyMTBYQTAsIEExMjM0NTY3Xyk7CiAgIGNvbnN0
IHVpbnQ4eDE2X3QgYXZnID0gdmhhZGRxX3U4KEw3NjU0MzIxMFhBMDEyMzQ1NiwgTDU0MzIxMFhB
MDEyMzQ1NjdfKTsKICAgY29uc3QgdWludDh4MTZfdCByb3cgPSB2cmhhZGRxX3U4KGF2ZywgTDY1
NDMyMTBYQTAxMjM0NTY3KTsKLQotICB2c3QxX3U4KGRzdCArIDAgKiBzdHJpZGUsIHZnZXRfbG93
X3U4KHZleHRxX3U4KHJvdywgcm93LCA3KSkpOwotICB2c3QxX3U4KGRzdCArIDEgKiBzdHJpZGUs
IHZnZXRfbG93X3U4KHZleHRxX3U4KHJvdywgcm93LCA2KSkpOwotICB2c3QxX3U4KGRzdCArIDIg
KiBzdHJpZGUsIHZnZXRfbG93X3U4KHZleHRxX3U4KHJvdywgcm93LCA1KSkpOwotICB2c3QxX3U4
KGRzdCArIDMgKiBzdHJpZGUsIHZnZXRfbG93X3U4KHZleHRxX3U4KHJvdywgcm93LCA0KSkpOwot
ICB2c3QxX3U4KGRzdCArIDQgKiBzdHJpZGUsIHZnZXRfbG93X3U4KHZleHRxX3U4KHJvdywgcm93
LCAzKSkpOwotICB2c3QxX3U4KGRzdCArIDUgKiBzdHJpZGUsIHZnZXRfbG93X3U4KHZleHRxX3U4
KHJvdywgcm93LCAyKSkpOwotICB2c3QxX3U4KGRzdCArIDYgKiBzdHJpZGUsIHZnZXRfbG93X3U4
KHZleHRxX3U4KHJvdywgcm93LCAxKSkpOwotICB2c3QxX3U4KGRzdCArIDcgKiBzdHJpZGUsIHZn
ZXRfbG93X3U4KHJvdykpOworICBjb25zdCB1aW50OHg4X3Qgcm93XzAgPSB2Z2V0X2xvd191OChy
b3cpOworICBjb25zdCB1aW50OHg4X3Qgcm93XzEgPSB2Z2V0X2hpZ2hfdTgocm93KTsKKyAgY29u
c3QgdWludDh4OF90IHIwID0gdmV4dF91OChyb3dfMCwgcm93XzEsIDcpOworICBjb25zdCB1aW50
OHg4X3QgcjEgPSB2ZXh0X3U4KHJvd18wLCByb3dfMSwgNik7CisgIGNvbnN0IHVpbnQ4eDhfdCBy
MiA9IHZleHRfdTgocm93XzAsIHJvd18xLCA1KTsKKyAgY29uc3QgdWludDh4OF90IHIzID0gdmV4
dF91OChyb3dfMCwgcm93XzEsIDQpOworICBjb25zdCB1aW50OHg4X3QgcjQgPSB2ZXh0X3U4KHJv
d18wLCByb3dfMSwgMyk7CisgIGNvbnN0IHVpbnQ4eDhfdCByNSA9IHZleHRfdTgocm93XzAsIHJv
d18xLCAyKTsKKyAgY29uc3QgdWludDh4OF90IHI2ID0gdmV4dF91OChyb3dfMCwgcm93XzEsIDEp
OworCisgIHZzdDFfdTgoZHN0LCByMCk7CisgIGRzdCArPSBzdHJpZGU7CisgIHZzdDFfdTgoZHN0
LCByMSk7CisgIGRzdCArPSBzdHJpZGU7CisgIHZzdDFfdTgoZHN0LCByMik7CisgIGRzdCArPSBz
dHJpZGU7CisgIHZzdDFfdTgoZHN0LCByMyk7CisgIGRzdCArPSBzdHJpZGU7CisgIHZzdDFfdTgo
ZHN0LCByNCk7CisgIGRzdCArPSBzdHJpZGU7CisgIHZzdDFfdTgoZHN0LCByNSk7CisgIGRzdCAr
PSBzdHJpZGU7CisgIHZzdDFfdTgoZHN0LCByNik7CisgIGRzdCArPSBzdHJpZGU7CisgIHZzdDFf
dTgoZHN0LCByb3dfMCk7CiB9CiAKIHN0YXRpYyBJTkxJTkUgdm9pZCBkMTM1X3N0b3JlXzE2eDgo
CkBAIC05NDEsNyArNDg5LDYgQEAgdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfMTZ4MTZfbmVvbih1
aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCiAgIGNvbnN0IHVpbnQ4eDE2X3QgYXZnXzEg
PSB2aGFkZHFfdTgoWEEwMTIzNDU2Nzg5YWJjZGUsIEExMjM0NTY3ODlhYmNkZWZfKTsKICAgY29u
c3QgdWludDh4MTZfdCByb3dfMCA9IHZyaGFkZHFfdTgoYXZnXzAsIExlZGNiYTk4NzY1NDMyMTBY
KTsKICAgY29uc3QgdWludDh4MTZfdCByb3dfMSA9IHZyaGFkZHFfdTgoYXZnXzEsIEEwMTIzNDU2
Nzg5YWJjZGVmKTsKLQogICBjb25zdCB1aW50OHgxNl90IHJfMCA9IHZleHRxX3U4KHJvd18wLCBy
b3dfMSwgMTUpOwogICBjb25zdCB1aW50OHgxNl90IHJfMSA9IHZleHRxX3U4KHJvd18wLCByb3df
MSwgMTQpOwogICBjb25zdCB1aW50OHgxNl90IHJfMiA9IHZleHRxX3U4KHJvd18wLCByb3dfMSwg
MTMpOwpAQCAtOTQ5LDcgKzQ5Niw3IEBAIHZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzE2eDE2X25l
b24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAogICBjb25zdCB1aW50OHgxNl90IHJf
NCA9IHZleHRxX3U4KHJvd18wLCByb3dfMSwgMTEpOwogICBjb25zdCB1aW50OHgxNl90IHJfNSA9
IHZleHRxX3U4KHJvd18wLCByb3dfMSwgMTApOwogICBjb25zdCB1aW50OHgxNl90IHJfNiA9IHZl
eHRxX3U4KHJvd18wLCByb3dfMSwgOSk7Ci0gIGNvbnN0IHVpbnQ4eDE2X3Qgcl83ID0gdmV4dHFf
dTgocm93XzAsIHJvd18xLCA4KTsKKyAgY29uc3QgdWludDh4MTZfdCByXzcgPSB2Y29tYmluZV91
OCh2Z2V0X2hpZ2hfdTgocm93XzApLCB2Z2V0X2xvd191OChyb3dfMSkpOwogICBjb25zdCB1aW50
OHgxNl90IHJfOCA9IHZleHRxX3U4KHJvd18wLCByb3dfMSwgNyk7CiAgIGNvbnN0IHVpbnQ4eDE2
X3Qgcl85ID0gdmV4dHFfdTgocm93XzAsIHJvd18xLCA2KTsKICAgY29uc3QgdWludDh4MTZfdCBy
X2EgPSB2ZXh0cV91OChyb3dfMCwgcm93XzEsIDUpOwpAQCAtMTEyMCw0NTQgKzY2Nyw2IEBAIHZv
aWQgdnB4X2QxMzVfcHJlZGljdG9yXzMyeDMyX25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qg
c3RyaWRlLAogICBkMTM1X3N0b3JlXzMyeDIoJmRzdCwgc3RyaWRlLCByb3dfMCwgcm93XzEsIHJv
d18yKTsKIH0KIAotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotdm9pZCB2cHhfZDE1M19wcmVk
aWN0b3JfNHg0X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4
X3QgKmxlZnQpIHsKLSAgLy8gU2VlIHZweF9kMTUzX3ByZWRpY3Rvcl84eDhfbmVvbiBmb3IgbW9y
ZSBkZXRhaWxzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAgdWludDh4OF90IGF6LCBhMCwgbDBh
eiwgbDAsIGwxLCBhemwwLCBkMCwgZDEsIGQyLCBkMDI7Ci0KLSAgYXogPSBsb2FkX3VuYWxpZ25l
ZF91OF80eDEoYWJvdmUgLSAxKTsKLSAgYTAgPSBsb2FkX3VuYWxpZ25lZF91OF80eDEoYWJvdmUg
KyAwKTsKLSAgLy8gWyBsZWZ0WzBdLCBhYm92ZVstMV0sIGFib3ZlWzBdLCBhYm92ZVsxXSwgeCwg
eCwgeCwgeCBdCi0gIGwwYXogPSB2ZXh0X3U4KHZsZDFfZHVwX3U4KGxlZnQpLCBheiwgNyk7Ci0K
LSAgbDAgPSBsb2FkX3VuYWxpZ25lZF91OF80eDEobGVmdCArIDApOwotICBsMSA9IGxvYWRfdW5h
bGlnbmVkX3U4XzR4MShsZWZ0ICsgMSk7Ci0gIC8vIFsgYWJvdmVbLTFdLCBsZWZ0WzBdLCBsZWZ0
WzFdLCBsZWZ0WzJdLCB4LCB4LCB4LCB4IF0KLSAgYXpsMCA9IHZleHRfdTgodmxkMV9kdXBfdTgo
YWJvdmUgLSAxKSwgbDAsIDcpOwotCi0gIGQwID0gdnJoYWRkX3U4KGF6bDAsIGwwKTsKLSAgZDEg
PSB2cmhhZGRfdTgodmhhZGRfdTgobDBheiwgYTApLCBheik7Ci0gIGQyID0gdnJoYWRkX3U4KHZo
YWRkX3U4KGF6bDAsIGwxKSwgbDApOwotCi0gIGQwMiA9IHZyZXY2NF91OCh2emlwX3U4KGQwLCBk
MikudmFsWzBdKTsKLQotICBzdG9yZV91OF80eDEoZHN0ICsgMCAqIHN0cmlkZSwgdmV4dF91OChk
MDIsIGQxLCA3KSk7Ci0gIHN0b3JlX3U4XzR4MShkc3QgKyAxICogc3RyaWRlLCB2ZXh0X3U4KGQw
MiwgZDEsIDUpKTsKLSAgc3RvcmVfdThfNHgxKGRzdCArIDIgKiBzdHJpZGUsIHZleHRfdTgoZDAy
LCBkMSwgMykpOwotICBzdG9yZV91OF80eDEoZHN0ICsgMyAqIHN0cmlkZSwgdmV4dF91OChkMDIs
IGQxLCAxKSk7Ci19Ci0KLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzh4OF9uZW9uKHVpbnQ4X3Qg
KmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0KSB7Ci0gIHVpbnQ4eDhf
dCBheiwgYTAsIGwwYXosIGwwLCBsMSwgYXpsMCwgZDAsIGQxLCBkMiwgZDAyX2xvLCBkMDJfaGk7
Ci0KLSAgYXogPSB2bGQxX3U4KGFib3ZlIC0gMSk7Ci0gIGEwID0gdmxkMV91OChhYm92ZSArIDAp
OwotICAvLyBbIGxlZnRbMF0sIGFib3ZlWy0xXSwgLi4uICwgYWJvdmVbNV0gXQotICBsMGF6ID0g
dmV4dF91OCh2bGQxX2R1cF91OChsZWZ0KSwgYXosIDcpOwotCi0gIGwwID0gdmxkMV91OChsZWZ0
KTsKLSAgLy8gVGhlIGxhc3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVhZGluZyBsZWZ0WzhdIGNv
dWxkIGNhdXNlIGEgYnVmZmVyCi0gIC8vIG92ZXItcmVhZCwgc28ganVzdCBmaWxsIHdpdGggYSBk
dXBsaWNhdGUgb2YgbGVmdFswXSB0byBhdm9pZCBuZWVkaW5nIHRvCi0gIC8vIG1hdGVyaWFsaXpl
IGEgemVybzoKLSAgLy8gWyBsZWZ0WzFdLCAuLi4gLCBsZWZ0WzddLCB4IF0KLSAgbDEgPSB2ZXh0
X3U4KGwwLCBsMCwgMSk7Ci0gIC8vIFsgYWJvdmVbLTFdLCBsZWZ0WzBdLCAuLi4gLCBsZWZ0WzZd
IF0KLSAgYXpsMCA9IHZleHRfdTgodmxkMV9kdXBfdTgoYWJvdmUgLSAxKSwgbDAsIDcpOwotCi0g
IC8vIGQwWzBdID0gQVZHMihhYm92ZVstMV0sIGxlZnRbMF0pCi0gIC8vIGQwWzFdID0gQVZHMihs
ZWZ0WzBdLCBsZWZ0WzFdKQotICAvLyAuLi4KLSAgLy8gZDBbN10gPSBBVkcyKGxlZnRbNl0sIGxl
ZnRbN10pCi0gIGQwID0gdnJoYWRkX3U4KGF6bDAsIGwwKTsKLQotICAvLyBkMVswXSA9IEFWRzMo
bGVmdFswXSwgYWJvdmVbLTFdLCBhYm92ZVswXSkKLSAgLy8gZDFbMV0gPSBBVkczKGFib3ZlWy0x
XSwgYWJvdmVbMF0sIGFib3ZlWzFdKQotICAvLyAuLi4KLSAgLy8gZDFbN10gPSBBVkczKGFib3Zl
WzVdLCBhYm92ZVs2XSwgYWJvdmVbN10pCi0gIGQxID0gdnJoYWRkX3U4KHZoYWRkX3U4KGwwYXos
IGEwKSwgYXopOwotCi0gIC8vIGQyWzBdID0gQVZHMyhhYm92ZVstMV0sIGxlZnRbMF0sIGxlZnRb
MV0pCi0gIC8vIGQyWzFdID0gQVZHMyhsZWZ0WzBdLCBsZWZ0WzFdLCBsZWZ0WzJdKQotICAvLyAu
Li4KLSAgLy8gZDJbNl0gPSBBVkczKGxlZnRbNV0sIGxlZnRbNl0sIGxlZnRbN10pCi0gIC8vIGQy
WzddID0geCAoZG9uJ3QgY2FyZSkKLSAgZDIgPSB2cmhhZGRfdTgodmhhZGRfdTgoYXpsMCwgbDEp
LCBsMCk7Ci0KLSAgLy8gVGhlIGV4dCBpbnN0cnVjdGlvbiBzaGlmdHMgZWxlbWVudHMgaW4gZnJv
bSB0aGUgZW5kIG9mIHRoZSB2ZWN0b3IgcmF0aGVyCi0gIC8vIHRoYW4gdGhlIHN0YXJ0LCBzbyBy
ZXZlcnNlIHRoZSB2ZWN0b3JzIHRvIHB1dCB0aGUgZWxlbWVudHMgdG8gYmUgc2hpZnRlZAotICAv
LyBpbiBhdCB0aGUgZW5kLiBUaGUgbG93ZXN0IGxhbmUgb2YgZDAyX2xvIGlzIHVudXNlZC4KLSAg
ZDAyX2xvID0gdnppcF91OCh2cmV2NjRfdTgoZDIpLCB2cmV2NjRfdTgoZDApKS52YWxbMF07Ci0g
IGQwMl9oaSA9IHZ6aXBfdTgodnJldjY0X3U4KGQyKSwgdnJldjY0X3U4KGQwKSkudmFsWzFdOwot
Ci0gIC8vIEluY3JlbWVudGFsbHkgc2hpZnQgbW9yZSBlbGVtZW50cyBmcm9tIGQwL2QyIHJldmVy
c2VkIGludG8gZDE6Ci0gIC8vIHN0cmlkZT0wIFsgZDBbMF0sIGQxWzBdLCBkMVsxXSwgZDFbMl0s
IGQxWzNdLCBkMVs0XSwgZDFbNV0sIGQxWzZdIF0KLSAgLy8gc3RyaWRlPTEgWyBkMFsxXSwgZDJb
MF0sIGQwWzBdLCBkMVswXSwgZDFbMV0sIGQxWzJdLCBkMVszXSwgZDFbNF0gXQotICAvLyBzdHJp
ZGU9MiBbIGQwWzJdLCBkMlsxXSwgZDBbMV0sIGQyWzBdLCBkMFswXSwgZDFbMF0sIGQxWzFdLCBk
MVsyXSBdCi0gIC8vIHN0cmlkZT0zIFsgZDBbM10sIGQyWzJdLCBkMFsyXSwgZDJbMV0sIGQwWzFd
LCBkMlswXSwgZDBbMF0sIGQxWzBdIF0KLSAgLy8gc3RyaWRlPTQgWyBkMFs0XSwgZDJbM10sIGQw
WzNdLCBkMlsyXSwgZDBbMl0sIGQyWzFdLCBkMFsxXSwgZDJbMF0gXQotICAvLyBzdHJpZGU9NSBb
IGQwWzVdLCBkMls0XSwgZDBbNF0sIGQyWzNdLCBkMFszXSwgZDJbMl0sIGQwWzJdLCBkMlsxXSBd
Ci0gIC8vIHN0cmlkZT02IFsgZDBbNl0sIGQyWzVdLCBkMFs1XSwgZDJbNF0sIGQwWzRdLCBkMlsz
XSwgZDBbM10sIGQyWzJdIF0KLSAgLy8gc3RyaWRlPTcgWyBkMFs3XSwgZDJbNl0sIGQwWzZdLCBk
Mls1XSwgZDBbNV0sIGQyWzRdLCBkMFs0XSwgZDJbM10gXQotICB2c3QxX3U4KGRzdCArIDAgKiBz
dHJpZGUsIHZleHRfdTgoZDAyX2hpLCBkMSwgNykpOwotICB2c3QxX3U4KGRzdCArIDEgKiBzdHJp
ZGUsIHZleHRfdTgoZDAyX2hpLCBkMSwgNSkpOwotICB2c3QxX3U4KGRzdCArIDIgKiBzdHJpZGUs
IHZleHRfdTgoZDAyX2hpLCBkMSwgMykpOwotICB2c3QxX3U4KGRzdCArIDMgKiBzdHJpZGUsIHZl
eHRfdTgoZDAyX2hpLCBkMSwgMSkpOwotICB2c3QxX3U4KGRzdCArIDQgKiBzdHJpZGUsIHZleHRf
dTgoZDAyX2xvLCBkMDJfaGksIDcpKTsKLSAgdnN0MV91OChkc3QgKyA1ICogc3RyaWRlLCB2ZXh0
X3U4KGQwMl9sbywgZDAyX2hpLCA1KSk7Ci0gIHZzdDFfdTgoZHN0ICsgNiAqIHN0cmlkZSwgdmV4
dF91OChkMDJfbG8sIGQwMl9oaSwgMykpOwotICB2c3QxX3U4KGRzdCArIDcgKiBzdHJpZGUsIHZl
eHRfdTgoZDAyX2xvLCBkMDJfaGksIDEpKTsKLX0KLQotdm9pZCB2cHhfZDE1M19wcmVkaWN0b3Jf
MTZ4MTZfbmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90
ICpsZWZ0KSB7Ci0gIC8vIFNlZSB2cHhfZDE1M19wcmVkaWN0b3JfOHg4X25lb24gZm9yIG1vcmUg
ZGV0YWlscyBvbiB0aGUgaW1wbGVtZW50YXRpb24uCi0gIHVpbnQ4eDE2X3QgYXosIGEwLCBsMGF6
LCBsMCwgbDEsIGF6bDAsIGQwLCBkMSwgZDIsIGQwMl9sbywgZDAyX2hpOwotCi0gIGF6ID0gdmxk
MXFfdTgoYWJvdmUgLSAxKTsKLSAgYTAgPSB2bGQxcV91OChhYm92ZSArIDApOwotICAvLyBbIGxl
ZnRbMF0sIGFib3ZlWy0xXSwgLi4uICwgYWJvdmVbMTNdIF0KLSAgbDBheiA9IHZleHRxX3U4KHZs
ZDFxX2R1cF91OChsZWZ0KSwgYXosIDE1KTsKLQotICBsMCA9IHZsZDFxX3U4KGxlZnQgKyAwKTsK
LSAgLy8gVGhlIGxhc3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVhZGluZyBsZWZ0WzE2XSBjb3Vs
ZCBjYXVzZSBhIGJ1ZmZlcgotICAvLyBvdmVyLXJlYWQsIHNvIGp1c3QgZmlsbCB3aXRoIGEgZHVw
bGljYXRlIG9mIGxlZnRbMF0gdG8gYXZvaWQgbmVlZGluZyB0bwotICAvLyBtYXRlcmlhbGl6ZSBh
IHplcm86Ci0gIC8vIFsgbGVmdFsxXSwgLi4uICwgbGVmdFsxNV0sIHggXQotICBsMSA9IHZleHRx
X3U4KGwwLCBsMCwgMSk7Ci0gIC8vIFsgYWJvdmVbLTFdLCBsZWZ0WzBdLCAuLi4gLCBsZWZ0WzE0
XSBdCi0gIGF6bDAgPSB2ZXh0cV91OCh2bGQxcV9kdXBfdTgoYWJvdmUgLSAxKSwgbDAsIDE1KTsK
LQotICBkMCA9IHZyaGFkZHFfdTgoYXpsMCwgbDApOwotICBkMSA9IHZyaGFkZHFfdTgodmhhZGRx
X3U4KGwwYXosIGEwKSwgYXopOwotICBkMiA9IHZyaGFkZHFfdTgodmhhZGRxX3U4KGF6bDAsIGwx
KSwgbDApOwotCi0gIGQwID0gdnJldjY0cV91OCh2ZXh0cV91OChkMCwgZDAsIDgpKTsKLSAgZDIg
PSB2cmV2NjRxX3U4KHZleHRxX3U4KGQyLCBkMiwgOCkpOwotCi0gIC8vIFRoZSBsb3dlc3QgbGFu
ZSBvZiBkMDJfbG8gaXMgdW51c2VkLgotICBkMDJfbG8gPSB2emlwcV91OChkMiwgZDApLnZhbFsw
XTsKLSAgZDAyX2hpID0gdnppcHFfdTgoZDIsIGQwKS52YWxbMV07Ci0KLSAgdnN0MXFfdTgoZHN0
ICsgMCAqIHN0cmlkZSwgdmV4dHFfdTgoZDAyX2hpLCBkMSwgMTUpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgMSAqIHN0cmlkZSwgdmV4dHFfdTgoZDAyX2hpLCBkMSwgMTMpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgMiAqIHN0cmlkZSwgdmV4dHFfdTgoZDAyX2hpLCBkMSwgMTEpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgMyAqIHN0cmlkZSwgdmV4dHFfdTgoZDAyX2hpLCBkMSwgOSkpOwotICB2c3QxcV91OChkc3Qg
KyA0ICogc3RyaWRlLCB2ZXh0cV91OChkMDJfaGksIGQxLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDUgKiBzdHJpZGUsIHZleHRxX3U4KGQwMl9oaSwgZDEsIDUpKTsKLSAgdnN0MXFfdTgoZHN0ICsg
NiAqIHN0cmlkZSwgdmV4dHFfdTgoZDAyX2hpLCBkMSwgMykpOwotICB2c3QxcV91OChkc3QgKyA3
ICogc3RyaWRlLCB2ZXh0cV91OChkMDJfaGksIGQxLCAxKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDgg
KiBzdHJpZGUsIHZleHRxX3U4KGQwMl9sbywgZDAyX2hpLCAxNSkpOwotICB2c3QxcV91OChkc3Qg
KyA5ICogc3RyaWRlLCB2ZXh0cV91OChkMDJfbG8sIGQwMl9oaSwgMTMpKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgMTAgKiBzdHJpZGUsIHZleHRxX3U4KGQwMl9sbywgZDAyX2hpLCAxMSkpOwotICB2c3Qx
cV91OChkc3QgKyAxMSAqIHN0cmlkZSwgdmV4dHFfdTgoZDAyX2xvLCBkMDJfaGksIDkpKTsKLSAg
dnN0MXFfdTgoZHN0ICsgMTIgKiBzdHJpZGUsIHZleHRxX3U4KGQwMl9sbywgZDAyX2hpLCA3KSk7
Ci0gIHZzdDFxX3U4KGRzdCArIDEzICogc3RyaWRlLCB2ZXh0cV91OChkMDJfbG8sIGQwMl9oaSwg
NSkpOwotICB2c3QxcV91OChkc3QgKyAxNCAqIHN0cmlkZSwgdmV4dHFfdTgoZDAyX2xvLCBkMDJf
aGksIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTUgKiBzdHJpZGUsIHZleHRxX3U4KGQwMl9sbywg
ZDAyX2hpLCAxKSk7Ci19Ci0KLXZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyX25lb24odWlu
dDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCkgewotICAv
LyBTZWUgdnB4X2QxNTNfcHJlZGljdG9yXzh4OF9uZW9uIGZvciBtb3JlIGRldGFpbHMgb24gdGhl
IGltcGxlbWVudGF0aW9uLgotICB1aW50OHgxNl90IGF6LCBhMCwgYTE0LCBhMTUsIGExNiwgbDBh
eiwgbDAsIGwxLCBsMTUsIGwxNiwgbDE3LCBhemwwLCBkMF9sbywKLSAgICAgIGQwX2hpLCBkMV9s
bywgZDFfaGksIGQyX2xvLCBkMl9oaTsKLSAgdWludDh4MTZ4Ml90IGQwMl9oaSwgZDAyX2xvOwot
Ci0gIGF6ID0gdmxkMXFfdTgoYWJvdmUgLSAxKTsKLSAgYTAgPSB2bGQxcV91OChhYm92ZSArIDAp
OwotICBhMTQgPSB2bGQxcV91OChhYm92ZSArIDE0KTsKLSAgYTE1ID0gdmxkMXFfdTgoYWJvdmUg
KyAxNSk7Ci0gIGExNiA9IHZsZDFxX3U4KGFib3ZlICsgMTYpOwotICAvLyBbIGxlZnRbMF0sIGFi
b3ZlWy0xXSwgLi4uICwgYWJvdmVbMTNdIF0KLSAgbDBheiA9IHZleHRxX3U4KHZsZDFxX2R1cF91
OChsZWZ0KSwgYXosIDE1KTsKLQotICBsMCA9IHZsZDFxX3U4KGxlZnQpOwotICBsMSA9IHZsZDFx
X3U4KGxlZnQgKyAxKTsKLSAgbDE1ID0gdmxkMXFfdTgobGVmdCArIDE1KTsKLSAgbDE2ID0gdmxk
MXFfdTgobGVmdCArIDE2KTsKLSAgLy8gVGhlIGxhc3QgbGFuZSBoZXJlIGlzIHVudXNlZCwgcmVh
ZGluZyBsZWZ0WzMyXSB3b3VsZCBjYXVzZSBhIGJ1ZmZlcgotICAvLyBvdmVyLXJlYWQgKG9ic2Vy
dmVkIGFzIGFuIGFkZHJlc3Mtc2FuaXRpemVyIGZhaWx1cmUpLCBzbyBqdXN0IGZpbGwgd2l0aCBh
Ci0gIC8vIGR1cGxpY2F0ZSBvZiBsZWZ0WzE2XSB0byBhdm9pZCBuZWVkaW5nIHRvIG1hdGVyaWFs
aXplIGEgemVybzoKLSAgLy8gWyBsZWZ0WzE3XSwgLi4uICwgbGVmdFszMV0sIHggXQotICBsMTcg
PSB2ZXh0cV91OChsMTYsIGwxNiwgMSk7Ci0gIC8vIFsgYWJvdmVbLTFdLCBsZWZ0WzBdLCAuLi4g
LCBsZWZ0WzE0XSBdCi0gIGF6bDAgPSB2ZXh0cV91OCh2bGQxcV9kdXBfdTgoYWJvdmUgLSAxKSwg
bDAsIDE1KTsKLQotICBkMF9sbyA9IHZyaGFkZHFfdTgoYXpsMCwgbDApOwotICBkMF9oaSA9IHZy
aGFkZHFfdTgobDE1LCBsMTYpOwotCi0gIGQxX2xvID0gdnJoYWRkcV91OCh2aGFkZHFfdTgobDBh
eiwgYTApLCBheik7Ci0gIGQxX2hpID0gdnJoYWRkcV91OCh2aGFkZHFfdTgoYTE0LCBhMTYpLCBh
MTUpOwotCi0gIC8vIFRoZSBoaWdoZXN0IGxhbmUgb2YgZDJfaGkgaXMgdW51c2VkLgotICBkMl9s
byA9IHZyaGFkZHFfdTgodmhhZGRxX3U4KGF6bDAsIGwxKSwgbDApOwotICBkMl9oaSA9IHZyaGFk
ZHFfdTgodmhhZGRxX3U4KGwxNSwgbDE3KSwgbDE2KTsKLQotICBkMF9sbyA9IHZyZXY2NHFfdTgo
dmV4dHFfdTgoZDBfbG8sIGQwX2xvLCA4KSk7Ci0gIGQwX2hpID0gdnJldjY0cV91OCh2ZXh0cV91
OChkMF9oaSwgZDBfaGksIDgpKTsKLQotICBkMl9sbyA9IHZyZXY2NHFfdTgodmV4dHFfdTgoZDJf
bG8sIGQyX2xvLCA4KSk7Ci0gIGQyX2hpID0gdnJldjY0cV91OCh2ZXh0cV91OChkMl9oaSwgZDJf
aGksIDgpKTsKLQotICAvLyBkMDJfaGkudmFsWzBdWzBdIGlzIHVudXNlZCBoZXJlLgotICBkMDJf
aGkgPSB2emlwcV91OChkMl9oaSwgZDBfaGkpOwotICBkMDJfbG8gPSB2emlwcV91OChkMl9sbywg
ZDBfbG8pOwotCi0gIHZzdDFxX3U4KGRzdCArIDAgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMDJf
bG8udmFsWzFdLCBkMV9sbywgMTUpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMCAqIHN0cmlkZSArIDE2
LCB2ZXh0cV91OChkMV9sbywgZDFfaGksIDE1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91OChkMDJfbG8udmFsWzFdLCBkMV9sbywgMTMpKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgMSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMV9sbywgZDFfaGksIDEzKSk7Ci0gIHZz
dDFxX3U4KGRzdCArIDIgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMDJfbG8udmFsWzFdLCBkMV9s
bywgMTEpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMV9s
bywgZDFfaGksIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDMgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
OChkMDJfbG8udmFsWzFdLCBkMV9sbywgOSkpOwotICB2c3QxcV91OChkc3QgKyAzICogc3RyaWRl
ICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgOSkpOwotICB2c3QxcV91OChkc3QgKyA0ICog
c3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2xvLnZhbFsxXSwgZDFfbG8sIDcpKTsKLSAgdnN0MXFf
dTgoZHN0ICsgNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMV9sbywgZDFfaGksIDcpKTsKLSAg
dnN0MXFfdTgoZHN0ICsgNSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwMl9sby52YWxbMV0sIGQx
X2xvLCA1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDUgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDFf
bG8sIGQxX2hpLCA1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91
OChkMDJfbG8udmFsWzFdLCBkMV9sbywgMykpOwotICB2c3QxcV91OChkc3QgKyA2ICogc3RyaWRl
ICsgMTYsIHZleHRxX3U4KGQxX2xvLCBkMV9oaSwgMykpOwotICB2c3QxcV91OChkc3QgKyA3ICog
c3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2xvLnZhbFsxXSwgZDFfbG8sIDEpKTsKLSAgdnN0MXFf
dTgoZHN0ICsgNyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMV9sbywgZDFfaGksIDEpKTsKLSAg
dnN0MXFfdTgoZHN0ICsgOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwMl9sby52YWxbMF0sIGQw
Ml9sby52YWxbMV0sIDE1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDggKiBzdHJpZGUgKyAxNiwgdmV4
dHFfdTgoZDAyX2xvLnZhbFsxXSwgZDFfbG8sIDE1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDkgKiBz
dHJpZGUgKyAwLCB2ZXh0cV91OChkMDJfbG8udmFsWzBdLCBkMDJfbG8udmFsWzFdLCAxMykpOwot
ICB2c3QxcV91OChkc3QgKyA5ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwMl9sby52YWxbMV0s
IGQxX2xvLCAxMykpOwotICB2c3QxcV91OChkc3QgKyAxMCAqIHN0cmlkZSArIDAsIHZleHRxX3U4
KGQwMl9sby52YWxbMF0sIGQwMl9sby52YWxbMV0sIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEw
ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwMl9sby52YWxbMV0sIGQxX2xvLCAxMSkpOwotICB2
c3QxcV91OChkc3QgKyAxMSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwMl9sby52YWxbMF0sIGQw
Ml9sby52YWxbMV0sIDkpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTEgKiBzdHJpZGUgKyAxNiwgdmV4
dHFfdTgoZDAyX2xvLnZhbFsxXSwgZDFfbG8sIDkpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTIgKiBz
dHJpZGUgKyAwLCB2ZXh0cV91OChkMDJfbG8udmFsWzBdLCBkMDJfbG8udmFsWzFdLCA3KSk7Ci0g
IHZzdDFxX3U4KGRzdCArIDEyICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwMl9sby52YWxbMV0s
IGQxX2xvLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEzICogc3RyaWRlICsgMCwgdmV4dHFfdTgo
ZDAyX2xvLnZhbFswXSwgZDAyX2xvLnZhbFsxXSwgNSkpOwotICB2c3QxcV91OChkc3QgKyAxMyAq
IHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfbG8udmFsWzFdLCBkMV9sbywgNSkpOwotICB2c3Qx
cV91OChkc3QgKyAxNCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwMl9sby52YWxbMF0sIGQwMl9s
by52YWxbMV0sIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTQgKiBzdHJpZGUgKyAxNiwgdmV4dHFf
dTgoZDAyX2xvLnZhbFsxXSwgZDFfbG8sIDMpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTUgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91OChkMDJfbG8udmFsWzBdLCBkMDJfbG8udmFsWzFdLCAxKSk7Ci0gIHZz
dDFxX3U4KGRzdCArIDE1ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwMl9sby52YWxbMV0sIGQx
X2xvLCAxKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE2ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDAy
X2hpLnZhbFsxXSwgZDAyX2xvLnZhbFswXSwgMTUpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTYgKiBz
dHJpZGUgKyAxNiwgdmV4dHFfdTgoZDAyX2xvLnZhbFswXSwgZDAyX2xvLnZhbFsxXSwgMTUpKTsK
LSAgdnN0MXFfdTgoZHN0ICsgMTcgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChkMDJfaGkudmFsWzFd
LCBkMDJfbG8udmFsWzBdLCAxMykpOwotICB2c3QxcV91OChkc3QgKyAxNyAqIHN0cmlkZSArIDE2
LCB2ZXh0cV91OChkMDJfbG8udmFsWzBdLCBkMDJfbG8udmFsWzFdLCAxMykpOwotICB2c3QxcV91
OChkc3QgKyAxOCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGQwMl9oaS52YWxbMV0sIGQwMl9sby52
YWxbMF0sIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE4ICogc3RyaWRlICsgMTYsIHZleHRxX3U4
KGQwMl9sby52YWxbMF0sIGQwMl9sby52YWxbMV0sIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE5
ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2hpLnZhbFsxXSwgZDAyX2xvLnZhbFswXSwgOSkp
OwotICB2c3QxcV91OChkc3QgKyAxOSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfbG8udmFs
WzBdLCBkMDJfbG8udmFsWzFdLCA5KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIwICogc3RyaWRlICsg
MCwgdmV4dHFfdTgoZDAyX2hpLnZhbFsxXSwgZDAyX2xvLnZhbFswXSwgNykpOwotICB2c3QxcV91
OChkc3QgKyAyMCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfbG8udmFsWzBdLCBkMDJfbG8u
dmFsWzFdLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIxICogc3RyaWRlICsgMCwgdmV4dHFfdTgo
ZDAyX2hpLnZhbFsxXSwgZDAyX2xvLnZhbFswXSwgNSkpOwotICB2c3QxcV91OChkc3QgKyAyMSAq
IHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfbG8udmFsWzBdLCBkMDJfbG8udmFsWzFdLCA1KSk7
Ci0gIHZzdDFxX3U4KGRzdCArIDIyICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2hpLnZhbFsx
XSwgZDAyX2xvLnZhbFswXSwgMykpOwotICB2c3QxcV91OChkc3QgKyAyMiAqIHN0cmlkZSArIDE2
LCB2ZXh0cV91OChkMDJfbG8udmFsWzBdLCBkMDJfbG8udmFsWzFdLCAzKSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDIzICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2hpLnZhbFsxXSwgZDAyX2xvLnZh
bFswXSwgMSkpOwotICB2c3QxcV91OChkc3QgKyAyMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChk
MDJfbG8udmFsWzBdLCBkMDJfbG8udmFsWzFdLCAxKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI0ICog
c3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2hpLnZhbFswXSwgZDAyX2hpLnZhbFsxXSwgMTUpKTsK
LSAgdnN0MXFfdTgoZHN0ICsgMjQgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoZDAyX2hpLnZhbFsx
XSwgZDAyX2xvLnZhbFswXSwgMTUpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjUgKiBzdHJpZGUgKyAw
LCB2ZXh0cV91OChkMDJfaGkudmFsWzBdLCBkMDJfaGkudmFsWzFdLCAxMykpOwotICB2c3QxcV91
OChkc3QgKyAyNSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfaGkudmFsWzFdLCBkMDJfbG8u
dmFsWzBdLCAxMykpOwotICB2c3QxcV91OChkc3QgKyAyNiAqIHN0cmlkZSArIDAsIHZleHRxX3U4
KGQwMl9oaS52YWxbMF0sIGQwMl9oaS52YWxbMV0sIDExKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI2
ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGQwMl9oaS52YWxbMV0sIGQwMl9sby52YWxbMF0sIDEx
KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI3ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2hpLnZh
bFswXSwgZDAyX2hpLnZhbFsxXSwgOSkpOwotICB2c3QxcV91OChkc3QgKyAyNyAqIHN0cmlkZSAr
IDE2LCB2ZXh0cV91OChkMDJfaGkudmFsWzFdLCBkMDJfbG8udmFsWzBdLCA5KSk7Ci0gIHZzdDFx
X3U4KGRzdCArIDI4ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2hpLnZhbFswXSwgZDAyX2hp
LnZhbFsxXSwgNykpOwotICB2c3QxcV91OChkc3QgKyAyOCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
OChkMDJfaGkudmFsWzFdLCBkMDJfbG8udmFsWzBdLCA3KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI5
ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoZDAyX2hpLnZhbFswXSwgZDAyX2hpLnZhbFsxXSwgNSkp
OwotICB2c3QxcV91OChkc3QgKyAyOSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfaGkudmFs
WzFdLCBkMDJfbG8udmFsWzBdLCA1KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDMwICogc3RyaWRlICsg
MCwgdmV4dHFfdTgoZDAyX2hpLnZhbFswXSwgZDAyX2hpLnZhbFsxXSwgMykpOwotICB2c3QxcV91
OChkc3QgKyAzMCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfaGkudmFsWzFdLCBkMDJfbG8u
dmFsWzBdLCAzKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDMxICogc3RyaWRlICsgMCwgdmV4dHFfdTgo
ZDAyX2hpLnZhbFswXSwgZDAyX2hpLnZhbFsxXSwgMSkpOwotICB2c3QxcV91OChkc3QgKyAzMSAq
IHN0cmlkZSArIDE2LCB2ZXh0cV91OChkMDJfaGkudmFsWzFdLCBkMDJfbG8udmFsWzBdLCAxKSk7
Ci19Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLXZvaWQgdnB4X2QyMDdfcHJlZGljdG9y
XzR4NF9uZW9uKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICps
ZWZ0KSB7Ci0gIHVpbnQ4eDhfdCBsMCwgbDMsIGwxLCBsMiwgYzAsIGMxLCBjMDEsIGQwLCBkMTsK
LSAgKHZvaWQpYWJvdmU7Ci0KLSAgLy8gV2UgbmVlZCB0aGUgbG93IGhhbGYgbGFuZXMgaGVyZSBm
b3IgdGhlIGMwL2MxIGFyaXRobWV0aWMgYnV0IHRoZSBoaWdoIGhhbGYKLSAgLy8gbGFuZXMgZm9y
IHRoZSBleHQ6Ci0gIC8vIFsgbGVmdFswXSwgbGVmdFsxXSwgbGVmdFsyXSwgbGVmdFszXSwgbGVm
dFswXSwgbGVmdFsxXSwgbGVmdFsyXSwgbGVmdFszXSBdCi0gIGwwID0gbG9hZF9yZXBsaWNhdGVf
dThfNHgxKGxlZnQgKyAwKTsKLSAgbDMgPSB2bGQxX2R1cF91OChsZWZ0ICsgMyk7Ci0KLSAgLy8g
WyBsZWZ0WzFdLCBsZWZ0WzJdLCBsZWZ0WzNdLCBsZWZ0WzNdLCB4LCB4LCB4LCB4IF0KLSAgbDEg
PSB2ZXh0X3U4KGwwLCBsMywgNSk7Ci0gIC8vIFsgbGVmdFsyXSwgbGVmdFszXSwgbGVmdFszXSwg
bGVmdFszXSwgeCwgeCwgeCwgeCBdCi0gIGwyID0gdmV4dF91OChsMCwgbDMsIDYpOwotCi0gIGMw
ID0gdnJoYWRkX3U4KGwwLCBsMSk7Ci0gIGMxID0gdnJoYWRkX3U4KHZoYWRkX3U4KGwwLCBsMiks
IGwxKTsKLQotICAvLyBbIGMwWzBdLCBjMVswXSwgYzBbMV0sIGMxWzFdLCBjMFsyXSwgYzFbMl0s
IGMwWzNdLCBjMVszXSBdCi0gIGMwMSA9IHZ6aXBfdTgoYzAsIGMxKS52YWxbMF07Ci0KLSAgZDAg
PSBjMDE7Ci0gIGQxID0gdmV4dF91OChjMDEsIGwzLCAyKTsKLQotICAvLyBTdG9yZSB0aGUgaGln
aCBoYWxmIG9mIHRoZSB2ZWN0b3IgZm9yIHN0cmlkZT17MiwzfSB0byBhdm9pZCBuZWVkaW5nCi0g
IC8vIGFkZGl0aW9uYWwgZXh0IGluc3RydWN0aW9uczoKLSAgLy8gc3RyaWRlPTAgWyBjMFswXSwg
YzFbMF0sICAgYzBbMV0sICAgYzFbMV0gXQotICAvLyBzdHJpZGU9MSBbIGMwWzFdLCBjMVsxXSwg
ICBjMFsyXSwgICBjMVsyXSBdCi0gIC8vIHN0cmlkZT0yIFsgYzBbMl0sIGMxWzJdLCAgIGMwWzNd
LCAgIGMxWzNdIF0KLSAgLy8gc3RyaWRlPTMgWyBjMFszXSwgYzFbM10sIGxlZnRbM10sIGxlZnRb
M10gXQotICBzdG9yZV91OF80eDEoZHN0ICsgMCAqIHN0cmlkZSwgZDApOwotICBzdG9yZV91OF80
eDEoZHN0ICsgMSAqIHN0cmlkZSwgZDEpOwotICBzdG9yZV91OF80eDFfaGlnaChkc3QgKyAyICog
c3RyaWRlLCBkMCk7Ci0gIHN0b3JlX3U4XzR4MV9oaWdoKGRzdCArIDMgKiBzdHJpZGUsIGQxKTsK
LX0KLQotdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfOHg4X25lb24odWludDhfdCAqZHN0LCBwdHJk
aWZmX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsKLSAgdWludDh4OF90IGw3LCBsMCwg
bDEsIGwyLCBjMCwgYzEsIGMwMV9sbywgYzAxX2hpOwotICAodm9pZClhYm92ZTsKLQotICBsMCA9
IHZsZDFfdTgobGVmdCArIDApOwotICBsNyA9IHZsZDFfZHVwX3U4KGxlZnQgKyA3KTsKLQotICAv
LyBbIGxlZnRbMV0sIGxlZnRbMl0sIGxlZnRbM10sIGxlZnRbNF0sIGxlZnRbNV0sIGxlZnRbNl0s
IGxlZnRbN10sIGxlZnRbN10gXQotICBsMSA9IHZleHRfdTgobDAsIGw3LCAxKTsKLSAgLy8gWyBs
ZWZ0WzJdLCBsZWZ0WzNdLCBsZWZ0WzRdLCBsZWZ0WzVdLCBsZWZ0WzZdLCBsZWZ0WzddLCBsZWZ0
WzddLCBsZWZ0WzddIF0KLSAgbDIgPSB2ZXh0X3U4KGwwLCBsNywgMik7Ci0KLSAgYzAgPSB2cmhh
ZGRfdTgobDAsIGwxKTsKLSAgYzEgPSB2cmhhZGRfdTgodmhhZGRfdTgobDAsIGwyKSwgbDEpOwot
Ci0gIGMwMV9sbyA9IHZ6aXBfdTgoYzAsIGMxKS52YWxbMF07Ci0gIGMwMV9oaSA9IHZ6aXBfdTgo
YzAsIGMxKS52YWxbMV07Ci0KLSAgdnN0MV91OChkc3QgKyAwICogc3RyaWRlLCBjMDFfbG8pOwot
ICB2c3QxX3U4KGRzdCArIDEgKiBzdHJpZGUsIHZleHRfdTgoYzAxX2xvLCBjMDFfaGksIDIpKTsK
LSAgdnN0MV91OChkc3QgKyAyICogc3RyaWRlLCB2ZXh0X3U4KGMwMV9sbywgYzAxX2hpLCA0KSk7
Ci0gIHZzdDFfdTgoZHN0ICsgMyAqIHN0cmlkZSwgdmV4dF91OChjMDFfbG8sIGMwMV9oaSwgNikp
OwotICB2c3QxX3U4KGRzdCArIDQgKiBzdHJpZGUsIGMwMV9oaSk7Ci0gIHZzdDFfdTgoZHN0ICsg
NSAqIHN0cmlkZSwgdmV4dF91OChjMDFfaGksIGw3LCAyKSk7Ci0gIHZzdDFfdTgoZHN0ICsgNiAq
IHN0cmlkZSwgdmV4dF91OChjMDFfaGksIGw3LCA0KSk7Ci0gIHZzdDFfdTgoZHN0ICsgNyAqIHN0
cmlkZSwgdmV4dF91OChjMDFfaGksIGw3LCA2KSk7Ci19Ci0KLXZvaWQgdnB4X2QyMDdfcHJlZGlj
dG9yXzE2eDE2X25lb24odWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWlu
dDhfdCAqbGVmdCkgewotICB1aW50OHgxNl90IGwxNSwgbDAsIGwxLCBsMiwgYzAsIGMxLCBjMDFf
bG8sIGMwMV9oaTsKLSAgKHZvaWQpYWJvdmU7Ci0KLSAgbDAgPSB2bGQxcV91OChsZWZ0ICsgMCk7
Ci0gIGwxNSA9IHZsZDFxX2R1cF91OChsZWZ0ICsgMTUpOwotCi0gIGwxID0gdmV4dHFfdTgobDAs
IGwxNSwgMSk7Ci0gIGwyID0gdmV4dHFfdTgobDAsIGwxNSwgMik7Ci0KLSAgYzAgPSB2cmhhZGRx
X3U4KGwwLCBsMSk7Ci0gIGMxID0gdnJoYWRkcV91OCh2aGFkZHFfdTgobDAsIGwyKSwgbDEpOwot
Ci0gIGMwMV9sbyA9IHZ6aXBxX3U4KGMwLCBjMSkudmFsWzBdOwotICBjMDFfaGkgPSB2emlwcV91
OChjMCwgYzEpLnZhbFsxXTsKLQotICB2c3QxcV91OChkc3QgKyAwICogc3RyaWRlLCBjMDFfbG8p
OwotICB2c3QxcV91OChkc3QgKyAxICogc3RyaWRlLCB2ZXh0cV91OChjMDFfbG8sIGMwMV9oaSwg
MikpOwotICB2c3QxcV91OChkc3QgKyAyICogc3RyaWRlLCB2ZXh0cV91OChjMDFfbG8sIGMwMV9o
aSwgNCkpOwotICB2c3QxcV91OChkc3QgKyAzICogc3RyaWRlLCB2ZXh0cV91OChjMDFfbG8sIGMw
MV9oaSwgNikpOwotICB2c3QxcV91OChkc3QgKyA0ICogc3RyaWRlLCB2ZXh0cV91OChjMDFfbG8s
IGMwMV9oaSwgOCkpOwotICB2c3QxcV91OChkc3QgKyA1ICogc3RyaWRlLCB2ZXh0cV91OChjMDFf
bG8sIGMwMV9oaSwgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgNiAqIHN0cmlkZSwgdmV4dHFfdTgo
YzAxX2xvLCBjMDFfaGksIDEyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDcgKiBzdHJpZGUsIHZleHRx
X3U4KGMwMV9sbywgYzAxX2hpLCAxNCkpOwotICB2c3QxcV91OChkc3QgKyA4ICogc3RyaWRlLCBj
MDFfaGkpOwotICB2c3QxcV91OChkc3QgKyA5ICogc3RyaWRlLCB2ZXh0cV91OChjMDFfaGksIGwx
NSwgMikpOwotICB2c3QxcV91OChkc3QgKyAxMCAqIHN0cmlkZSwgdmV4dHFfdTgoYzAxX2hpLCBs
MTUsIDQpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTEgKiBzdHJpZGUsIHZleHRxX3U4KGMwMV9oaSwg
bDE1LCA2KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEyICogc3RyaWRlLCB2ZXh0cV91OChjMDFfaGks
IGwxNSwgOCkpOwotICB2c3QxcV91OChkc3QgKyAxMyAqIHN0cmlkZSwgdmV4dHFfdTgoYzAxX2hp
LCBsMTUsIDEwKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE0ICogc3RyaWRlLCB2ZXh0cV91OChjMDFf
aGksIGwxNSwgMTIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTUgKiBzdHJpZGUsIHZleHRxX3U4KGMw
MV9oaSwgbDE1LCAxNCkpOwotfQotCi12b2lkIHZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMl9uZW9u
KHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQpIHsK
LSAgdWludDh4MTZfdCBsMF9sbywgbDBfaGksIGwxX2xvLCBsMV9oaSwgbDJfbG8sIGwyX2hpLCBs
MzEsIGMwX2xvLCBjMF9oaSwgYzFfbG8sCi0gICAgICBjMV9oaSwgYzAxWzRdOwotICAodm9pZClh
Ym92ZTsKLQotICBsMF9sbyA9IHZsZDFxX3U4KGxlZnQgKyAwKTsKLSAgbDBfaGkgPSB2bGQxcV91
OChsZWZ0ICsgMTYpOwotICBsMzEgPSB2bGQxcV9kdXBfdTgobGVmdCArIDMxKTsKLQotICBsMV9s
byA9IHZleHRxX3U4KGwwX2xvLCBsMF9oaSwgMSk7Ci0gIGwxX2hpID0gdmV4dHFfdTgobDBfaGks
IGwzMSwgMSk7Ci0gIGwyX2xvID0gdmV4dHFfdTgobDBfbG8sIGwwX2hpLCAyKTsKLSAgbDJfaGkg
PSB2ZXh0cV91OChsMF9oaSwgbDMxLCAyKTsKLQotICBjMF9sbyA9IHZyaGFkZHFfdTgobDBfbG8s
IGwxX2xvKTsKLSAgYzBfaGkgPSB2cmhhZGRxX3U4KGwwX2hpLCBsMV9oaSk7Ci0gIGMxX2xvID0g
dnJoYWRkcV91OCh2aGFkZHFfdTgobDBfbG8sIGwyX2xvKSwgbDFfbG8pOwotICBjMV9oaSA9IHZy
aGFkZHFfdTgodmhhZGRxX3U4KGwwX2hpLCBsMl9oaSksIGwxX2hpKTsKLQotICBjMDFbMF0gPSB2
emlwcV91OChjMF9sbywgYzFfbG8pLnZhbFswXTsKLSAgYzAxWzFdID0gdnppcHFfdTgoYzBfbG8s
IGMxX2xvKS52YWxbMV07Ci0gIGMwMVsyXSA9IHZ6aXBxX3U4KGMwX2hpLCBjMV9oaSkudmFsWzBd
OwotICBjMDFbM10gPSB2emlwcV91OChjMF9oaSwgYzFfaGkpLnZhbFsxXTsKLQotICB2c3QxcV91
OChkc3QgKyAwICogc3RyaWRlICsgMCwgYzAxWzBdKTsKLSAgdnN0MXFfdTgoZHN0ICsgMCAqIHN0
cmlkZSArIDE2LCBjMDFbMV0pOwotICB2c3QxcV91OChkc3QgKyAxICogc3RyaWRlICsgMCwgdmV4
dHFfdTgoYzAxWzBdLCBjMDFbMV0sIDIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMSAqIHN0cmlkZSAr
IDE2LCB2ZXh0cV91OChjMDFbMV0sIGMwMVsyXSwgMikpOwotICB2c3QxcV91OChkc3QgKyAyICog
c3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzBdLCBjMDFbMV0sIDQpKTsKLSAgdnN0MXFfdTgoZHN0
ICsgMiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChjMDFbMV0sIGMwMVsyXSwgNCkpOwotICB2c3Qx
cV91OChkc3QgKyAzICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzBdLCBjMDFbMV0sIDYpKTsK
LSAgdnN0MXFfdTgoZHN0ICsgMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChjMDFbMV0sIGMwMVsy
XSwgNikpOwotICB2c3QxcV91OChkc3QgKyA0ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzBd
LCBjMDFbMV0sIDgpKTsKLSAgdnN0MXFfdTgoZHN0ICsgNCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
OChjMDFbMV0sIGMwMVsyXSwgOCkpOwotICB2c3QxcV91OChkc3QgKyA1ICogc3RyaWRlICsgMCwg
dmV4dHFfdTgoYzAxWzBdLCBjMDFbMV0sIDEwKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDUgKiBzdHJp
ZGUgKyAxNiwgdmV4dHFfdTgoYzAxWzFdLCBjMDFbMl0sIDEwKSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDYgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChjMDFbMF0sIGMwMVsxXSwgMTIpKTsKLSAgdnN0MXFf
dTgoZHN0ICsgNiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChjMDFbMV0sIGMwMVsyXSwgMTIpKTsK
LSAgdnN0MXFfdTgoZHN0ICsgNyAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGMwMVswXSwgYzAxWzFd
LCAxNCkpOwotICB2c3QxcV91OChkc3QgKyA3ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGMwMVsx
XSwgYzAxWzJdLCAxNCkpOwotICB2c3QxcV91OChkc3QgKyA4ICogc3RyaWRlICsgMCwgYzAxWzFd
KTsKLSAgdnN0MXFfdTgoZHN0ICsgOCAqIHN0cmlkZSArIDE2LCBjMDFbMl0pOwotICB2c3QxcV91
OChkc3QgKyA5ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzFdLCBjMDFbMl0sIDIpKTsKLSAg
dnN0MXFfdTgoZHN0ICsgOSAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChjMDFbMl0sIGMwMVszXSwg
MikpOwotICB2c3QxcV91OChkc3QgKyAxMCAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGMwMVsxXSwg
YzAxWzJdLCA0KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDEwICogc3RyaWRlICsgMTYsIHZleHRxX3U4
KGMwMVsyXSwgYzAxWzNdLCA0KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDExICogc3RyaWRlICsgMCwg
dmV4dHFfdTgoYzAxWzFdLCBjMDFbMl0sIDYpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTEgKiBzdHJp
ZGUgKyAxNiwgdmV4dHFfdTgoYzAxWzJdLCBjMDFbM10sIDYpKTsKLSAgdnN0MXFfdTgoZHN0ICsg
MTIgKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChjMDFbMV0sIGMwMVsyXSwgOCkpOwotICB2c3QxcV91
OChkc3QgKyAxMiAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChjMDFbMl0sIGMwMVszXSwgOCkpOwot
ICB2c3QxcV91OChkc3QgKyAxMyAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGMwMVsxXSwgYzAxWzJd
LCAxMCkpOwotICB2c3QxcV91OChkc3QgKyAxMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChjMDFb
Ml0sIGMwMVszXSwgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTQgKiBzdHJpZGUgKyAwLCB2ZXh0
cV91OChjMDFbMV0sIGMwMVsyXSwgMTIpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMTQgKiBzdHJpZGUg
KyAxNiwgdmV4dHFfdTgoYzAxWzJdLCBjMDFbM10sIDEyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE1
ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzFdLCBjMDFbMl0sIDE0KSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDE1ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGMwMVsyXSwgYzAxWzNdLCAxNCkpOwot
ICB2c3QxcV91OChkc3QgKyAxNiAqIHN0cmlkZSArIDAsIGMwMVsyXSk7Ci0gIHZzdDFxX3U4KGRz
dCArIDE2ICogc3RyaWRlICsgMTYsIGMwMVszXSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE3ICogc3Ry
aWRlICsgMCwgdmV4dHFfdTgoYzAxWzJdLCBjMDFbM10sIDIpKTsKLSAgdnN0MXFfdTgoZHN0ICsg
MTcgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoYzAxWzNdLCBsMzEsIDIpKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgMTggKiBzdHJpZGUgKyAwLCB2ZXh0cV91OChjMDFbMl0sIGMwMVszXSwgNCkpOwotICB2
c3QxcV91OChkc3QgKyAxOCAqIHN0cmlkZSArIDE2LCB2ZXh0cV91OChjMDFbM10sIGwzMSwgNCkp
OwotICB2c3QxcV91OChkc3QgKyAxOSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGMwMVsyXSwgYzAx
WzNdLCA2KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDE5ICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGMw
MVszXSwgbDMxLCA2KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDIwICogc3RyaWRlICsgMCwgdmV4dHFf
dTgoYzAxWzJdLCBjMDFbM10sIDgpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjAgKiBzdHJpZGUgKyAx
NiwgdmV4dHFfdTgoYzAxWzNdLCBsMzEsIDgpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjEgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91OChjMDFbMl0sIGMwMVszXSwgMTApKTsKLSAgdnN0MXFfdTgoZHN0ICsg
MjEgKiBzdHJpZGUgKyAxNiwgdmV4dHFfdTgoYzAxWzNdLCBsMzEsIDEwKSk7Ci0gIHZzdDFxX3U4
KGRzdCArIDIyICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzJdLCBjMDFbM10sIDEyKSk7Ci0g
IHZzdDFxX3U4KGRzdCArIDIyICogc3RyaWRlICsgMTYsIHZleHRxX3U4KGMwMVszXSwgbDMxLCAx
MikpOwotICB2c3QxcV91OChkc3QgKyAyMyAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGMwMVsyXSwg
YzAxWzNdLCAxNCkpOwotICB2c3QxcV91OChkc3QgKyAyMyAqIHN0cmlkZSArIDE2LCB2ZXh0cV91
OChjMDFbM10sIGwzMSwgMTQpKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjQgKiBzdHJpZGUgKyAwLCBj
MDFbM10pOwotICB2c3QxcV91OChkc3QgKyAyNCAqIHN0cmlkZSArIDE2LCBsMzEpOwotICB2c3Qx
cV91OChkc3QgKyAyNSAqIHN0cmlkZSArIDAsIHZleHRxX3U4KGMwMVszXSwgbDMxLCAyKSk7Ci0g
IHZzdDFxX3U4KGRzdCArIDI1ICogc3RyaWRlICsgMTYsIGwzMSk7Ci0gIHZzdDFxX3U4KGRzdCAr
IDI2ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzNdLCBsMzEsIDQpKTsKLSAgdnN0MXFfdTgo
ZHN0ICsgMjYgKiBzdHJpZGUgKyAxNiwgbDMxKTsKLSAgdnN0MXFfdTgoZHN0ICsgMjcgKiBzdHJp
ZGUgKyAwLCB2ZXh0cV91OChjMDFbM10sIGwzMSwgNikpOwotICB2c3QxcV91OChkc3QgKyAyNyAq
IHN0cmlkZSArIDE2LCBsMzEpOwotICB2c3QxcV91OChkc3QgKyAyOCAqIHN0cmlkZSArIDAsIHZl
eHRxX3U4KGMwMVszXSwgbDMxLCA4KSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI4ICogc3RyaWRlICsg
MTYsIGwzMSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI5ICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAx
WzNdLCBsMzEsIDEwKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDI5ICogc3RyaWRlICsgMTYsIGwzMSk7
Ci0gIHZzdDFxX3U4KGRzdCArIDMwICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzNdLCBsMzEs
IDEyKSk7Ci0gIHZzdDFxX3U4KGRzdCArIDMwICogc3RyaWRlICsgMTYsIGwzMSk7Ci0gIHZzdDFx
X3U4KGRzdCArIDMxICogc3RyaWRlICsgMCwgdmV4dHFfdTgoYzAxWzNdLCBsMzEsIDE0KSk7Ci0g
IHZzdDFxX3U4KGRzdCArIDMxICogc3RyaWRlICsgMTYsIGwzMSk7Ci19Ci0KLS8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0KICNpZiAhSEFWRV9ORU9OX0FTTQogCiB2b2lkIHZweF92X3ByZWRpY3Rv
cl80eDRfbmVvbih1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL21lbV9uZW9uLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJt
L21lbV9uZW9uLmgKaW5kZXggNTg2YmZiODVhZmQ0Li45NDM4NjViM2MyODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vbWVtX25lb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvYXJtL21lbV9uZW9uLmgKQEAgLTE5LDI0ICsxOSw2IEBACiAjaW5jbHVkZSAidnB4L3ZweF9p
bnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgogCi0vLyBTdXBw
b3J0IGZvciB0aGVzZSB4TiBpbnRyaW5zaWNzIGlzIGxhY2tpbmcgaW4gb2xkZXIgdmVyc2lvbnMg
b2YgR0NDLgotI2lmIGRlZmluZWQoX19HTlVDX18pICYmICFkZWZpbmVkKF9fY2xhbmdfXykKLSNp
ZiBfX0dOVUNfXyA8IDggfHwgZGVmaW5lZChfX2FybV9fKQotc3RhdGljIElOTElORSB1aW50OHgx
NngyX3QgdmxkMXFfdThfeDIodWludDhfdCBjb25zdCAqcHRyKSB7Ci0gIHVpbnQ4eDE2eDJfdCBy
ZXMgPSB7IHsgdmxkMXFfdTgocHRyICsgMCAqIDE2KSwgdmxkMXFfdTgocHRyICsgMSAqIDE2KSB9
IH07Ci0gIHJldHVybiByZXM7Ci19Ci0jZW5kaWYKLQotI2lmIF9fR05VQ19fIDwgOSB8fCBkZWZp
bmVkKF9fYXJtX18pCi1zdGF0aWMgSU5MSU5FIHVpbnQ4eDE2eDNfdCB2bGQxcV91OF94Myh1aW50
OF90IGNvbnN0ICpwdHIpIHsKLSAgdWludDh4MTZ4M190IHJlcyA9IHsgeyB2bGQxcV91OChwdHIg
KyAwICogMTYpLCB2bGQxcV91OChwdHIgKyAxICogMTYpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIHZsZDFxX3U4KHB0ciArIDIgKiAxNikgfSB9OwotICByZXR1cm4gcmVzOwotfQotI2VuZGlm
Ci0jZW5kaWYKLQogc3RhdGljIElOTElORSBpbnQxNng0X3QgY3JlYXRlX3MxNng0X25lb24oY29u
c3QgaW50MTZfdCBjMCwgY29uc3QgaW50MTZfdCBjMSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgYzIsIGNvbnN0IGludDE2X3QgYzMpIHsK
ICAgcmV0dXJuIHZjcmVhdGVfczE2KCh1aW50MTZfdCljMCB8ICgodWludDMyX3QpYzEgPDwgMTYp
IHwKQEAgLTEwMiwxNiArODQsNiBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgc3RvcmVfczE2cV90b190
cmFuX2xvdyh0cmFuX2xvd190ICpidWYsIGNvbnN0IGludDE2eDhfdCBhKSB7CiAjZW5kaWYKIH0K
IAotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi1zdGF0aWMgSU5MSU5FIHZvaWQgc3RvcmVf
czMycV90b190cmFuX2xvdyh0cmFuX2xvd190ICpidWYsIGNvbnN0IGludDMyeDRfdCBhKSB7Ci0g
IHZzdDFxX3MzMihidWYsIGEpOwotfQotCi1zdGF0aWMgSU5MSU5FIGludDMyeDRfdCBsb2FkX3Ry
YW5fbG93X3RvX3MzMnEoY29uc3QgdHJhbl9sb3dfdCAqYnVmKSB7Ci0gIHJldHVybiB2bGQxcV9z
MzIoYnVmKTsKLX0KLSNlbmRpZgotCiAvLyBQcm9wYWdhdGUgdHlwZSBpbmZvcm1hdGlvbiB0byB0
aGUgY29tcGlsZXIuIFdpdGhvdXQgdGhpcyB0aGUgY29tcGlsZXIgbWF5CiAvLyBhc3N1bWUgdGhl
IHJlcXVpcmVkIGFsaWdubWVudCBvZiB1aW50MzJfdCAoNCBieXRlcykgYW5kIGFkZCBhbGlnbm1l
bnQgaGludHMKIC8vIHRvIHRoZSBtZW1vcnkgYWNjZXNzLgpAQCAtMTIyLDczICs5NCwyMSBAQCBz
dGF0aWMgSU5MSU5FIHZvaWQgdWludDMyX3RvX21lbSh1aW50OF90ICpidWYsIHVpbnQzMl90IGEp
IHsKICAgbWVtY3B5KGJ1ZiwgJmEsIDQpOwogfQogCi0vLyBMb2FkIDQgY29udGlndW91cyBieXRl
cyB3aGVuIGFsaWdubWVudCBpcyBub3QgZ3VhcmFudGVlZC4KLXN0YXRpYyBJTkxJTkUgdWludDh4
OF90IGxvYWRfdW5hbGlnbmVkX3U4XzR4MShjb25zdCB1aW50OF90ICpidWYpIHsKLSAgdWludDMy
X3QgYTsKLSAgdWludDMyeDJfdCBhX3UzMjsKLSAgbWVtY3B5KCZhLCBidWYsIDQpOwotICBhX3Uz
MiA9IHZkdXBfbl91MzIoMCk7Ci0gIGFfdTMyID0gdnNldF9sYW5lX3UzMihhLCBhX3UzMiwgMCk7
Ci0gIHJldHVybiB2cmVpbnRlcnByZXRfdThfdTMyKGFfdTMyKTsKLX0KLQotLy8gTG9hZCA0IGNv
bnRpZ3VvdXMgYnl0ZXMgYW5kIHJlcGxpY2F0ZSBhY3Jvc3MgYSB2ZWN0b3Igd2hlbiBhbGlnbm1l
bnQgaXMgbm90Ci0vLyBndWFyYW50ZWVkLgotc3RhdGljIElOTElORSB1aW50OHg4X3QgbG9hZF9y
ZXBsaWNhdGVfdThfNHgxKGNvbnN0IHVpbnQ4X3QgKmJ1ZikgewotICB1aW50MzJfdCBhOwotICBt
ZW1jcHkoJmEsIGJ1ZiwgNCk7Ci0gIHJldHVybiB2cmVpbnRlcnByZXRfdThfdTMyKHZkdXBfbl91
MzIoYSkpOwotfQotCi0vLyBTdG9yZSA0IGNvbnRpZ3VvdXMgYnl0ZXMgZnJvbSB0aGUgbG93IGhh
bGYgb2YgYW4gOHg4IHZlY3Rvci4KLXN0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV91OF80eDEodWlu
dDhfdCAqYnVmLCB1aW50OHg4X3QgYSkgewotICB2c3QxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWJ1
ZiwgdnJlaW50ZXJwcmV0X3UzMl91OChhKSwgMCk7Ci19Ci0KLS8vIFN0b3JlIDQgY29udGlndW91
cyBieXRlcyBmcm9tIHRoZSBoaWdoIGhhbGYgb2YgYW4gOHg4IHZlY3Rvci4KLXN0YXRpYyBJTkxJ
TkUgdm9pZCBzdG9yZV91OF80eDFfaGlnaCh1aW50OF90ICpidWYsIHVpbnQ4eDhfdCBhKSB7Ci0g
IHZzdDFfbGFuZV91MzIoKHVpbnQzMl90ICopYnVmLCB2cmVpbnRlcnByZXRfdTMyX3U4KGEpLCAx
KTsKLX0KLQogLy8gTG9hZCAyIHNldHMgb2YgNCBieXRlcyB3aGVuIGFsaWdubWVudCBpcyBub3Qg
Z3VhcmFudGVlZC4KLXN0YXRpYyBJTkxJTkUgdWludDh4OF90IGxvYWRfdW5hbGlnbmVkX3U4KGNv
bnN0IHVpbnQ4X3QgKmJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzdHJpZGUpIHsKK3N0YXRpYyBJTkxJTkUgdWludDh4OF90IGxvYWRfdW5h
bGlnbmVkX3U4KGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IHN0cmlkZSkgewogICB1aW50MzJfdCBh
OwotICB1aW50MzJ4Ml90IGFfdTMyOworICB1aW50MzJ4Ml90IGFfdTMyID0gdmR1cF9uX3UzMigw
KTsKICAgaWYgKHN0cmlkZSA9PSA0KSByZXR1cm4gdmxkMV91OChidWYpOwogICBtZW1jcHkoJmEs
IGJ1ZiwgNCk7CiAgIGJ1ZiArPSBzdHJpZGU7Ci0gIGFfdTMyID0gdmR1cF9uX3UzMihhKTsKKyAg
YV91MzIgPSB2c2V0X2xhbmVfdTMyKGEsIGFfdTMyLCAwKTsKICAgbWVtY3B5KCZhLCBidWYsIDQp
OwogICBhX3UzMiA9IHZzZXRfbGFuZV91MzIoYSwgYV91MzIsIDEpOwogICByZXR1cm4gdnJlaW50
ZXJwcmV0X3U4X3UzMihhX3UzMik7CiB9CiAKLS8vIExvYWQgOCBieXRlcyB3aGVuIGFsaWdubWVu
dCBpcyBub3QgZ3VhcmFudGVlZC4KLXN0YXRpYyBJTkxJTkUgdWludDE2eDRfdCBsb2FkX3VuYWxp
Z25lZF91MTYoY29uc3QgdWludDE2X3QgKmJ1ZikgewotICB1aW50NjRfdCBhOwotICB1aW50NjR4
MV90IGFfdTY0ID0gdmR1cF9uX3U2NCgwKTsKLSAgbWVtY3B5KCZhLCBidWYsIDgpOwotICBhX3U2
NCA9IHZzZXRfbGFuZV91NjQoYSwgYV91NjQsIDApOwotICByZXR1cm4gdnJlaW50ZXJwcmV0X3Ux
Nl91NjQoYV91NjQpOwotfQotCi0vLyBMb2FkIDIgc2V0cyBvZiA4IGJ5dGVzIHdoZW4gYWxpZ25t
ZW50IGlzIG5vdCBndWFyYW50ZWVkLgotc3RhdGljIElOTElORSB1aW50MTZ4OF90IGxvYWRfdW5h
bGlnbmVkX3UxNnEoY29uc3QgdWludDE2X3QgKmJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUpIHsKLSAgdWludDY0X3QgYTsK
LSAgdWludDY0eDJfdCBhX3U2NDsKLSAgaWYgKHN0cmlkZSA9PSA0KSByZXR1cm4gdmxkMXFfdTE2
KGJ1Zik7Ci0gIG1lbWNweSgmYSwgYnVmLCA4KTsKLSAgYnVmICs9IHN0cmlkZTsKLSAgYV91NjQg
PSB2ZHVwcV9uX3U2NChhKTsKLSAgbWVtY3B5KCZhLCBidWYsIDgpOwotICBhX3U2NCA9IHZzZXRx
X2xhbmVfdTY0KGEsIGFfdTY0LCAxKTsKLSAgcmV0dXJuIHZyZWludGVycHJldHFfdTE2X3U2NChh
X3U2NCk7Ci19Ci0KIC8vIFN0b3JlIDIgc2V0cyBvZiA0IGJ5dGVzIHdoZW4gYWxpZ25tZW50IGlz
IG5vdCBndWFyYW50ZWVkLgotc3RhdGljIElOTElORSB2b2lkIHN0b3JlX3VuYWxpZ25lZF91OCh1
aW50OF90ICpidWYsIHB0cmRpZmZfdCBzdHJpZGUsCitzdGF0aWMgSU5MSU5FIHZvaWQgc3RvcmVf
dW5hbGlnbmVkX3U4KHVpbnQ4X3QgKmJ1ZiwgaW50IHN0cmlkZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4OF90IGEpIHsKICAgY29uc3QgdWludDMy
eDJfdCBhX3UzMiA9IHZyZWludGVycHJldF91MzJfdTgoYSk7CiAgIGlmIChzdHJpZGUgPT0gNCkg
ewpAQCAtMjAxLDE0ICsxMjEsMTMgQEAgc3RhdGljIElOTElORSB2b2lkIHN0b3JlX3VuYWxpZ25l
ZF91OCh1aW50OF90ICpidWYsIHB0cmRpZmZfdCBzdHJpZGUsCiB9CiAKIC8vIExvYWQgNCBzZXRz
IG9mIDQgYnl0ZXMgd2hlbiBhbGlnbm1lbnQgaXMgbm90IGd1YXJhbnRlZWQuCi1zdGF0aWMgSU5M
SU5FIHVpbnQ4eDE2X3QgbG9hZF91bmFsaWduZWRfdThxKGNvbnN0IHVpbnQ4X3QgKmJ1ZiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHN0cmlk
ZSkgeworc3RhdGljIElOTElORSB1aW50OHgxNl90IGxvYWRfdW5hbGlnbmVkX3U4cShjb25zdCB1
aW50OF90ICpidWYsIGludCBzdHJpZGUpIHsKICAgdWludDMyX3QgYTsKLSAgdWludDMyeDRfdCBh
X3UzMjsKKyAgdWludDMyeDRfdCBhX3UzMiA9IHZkdXBxX25fdTMyKDApOwogICBpZiAoc3RyaWRl
ID09IDQpIHJldHVybiB2bGQxcV91OChidWYpOwogICBtZW1jcHkoJmEsIGJ1ZiwgNCk7CiAgIGJ1
ZiArPSBzdHJpZGU7Ci0gIGFfdTMyID0gdmR1cHFfbl91MzIoYSk7CisgIGFfdTMyID0gdnNldHFf
bGFuZV91MzIoYSwgYV91MzIsIDApOwogICBtZW1jcHkoJmEsIGJ1ZiwgNCk7CiAgIGJ1ZiArPSBz
dHJpZGU7CiAgIGFfdTMyID0gdnNldHFfbGFuZV91MzIoYSwgYV91MzIsIDEpOwpAQCAtMjIyLDcg
KzE0MSw3IEBAIHN0YXRpYyBJTkxJTkUgdWludDh4MTZfdCBsb2FkX3VuYWxpZ25lZF91OHEoY29u
c3QgdWludDhfdCAqYnVmLAogfQogCiAvLyBTdG9yZSA0IHNldHMgb2YgNCBieXRlcyB3aGVuIGFs
aWdubWVudCBpcyBub3QgZ3VhcmFudGVlZC4KLXN0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV91bmFs
aWduZWRfdThxKHVpbnQ4X3QgKmJ1ZiwgcHRyZGlmZl90IHN0cmlkZSwKK3N0YXRpYyBJTkxJTkUg
dm9pZCBzdG9yZV91bmFsaWduZWRfdThxKHVpbnQ4X3QgKmJ1ZiwgaW50IHN0cmlkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDE2X3QgYSkgewog
ICBjb25zdCB1aW50MzJ4NF90IGFfdTMyID0gdnJlaW50ZXJwcmV0cV91MzJfdTgoYSk7CiAgIGlm
IChzdHJpZGUgPT0gNCkgewpAQCAtMjM5LDcgKzE1OCw3IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBz
dG9yZV91bmFsaWduZWRfdThxKHVpbnQ4X3QgKmJ1ZiwgcHRyZGlmZl90IHN0cmlkZSwKIH0KIAog
Ly8gTG9hZCAyIHNldHMgb2YgNCBieXRlcyB3aGVuIGFsaWdubWVudCBpcyBndWFyYW50ZWVkLgot
c3RhdGljIElOTElORSB1aW50OHg4X3QgbG9hZF91OChjb25zdCB1aW50OF90ICpidWYsIHB0cmRp
ZmZfdCBzdHJpZGUpIHsKK3N0YXRpYyBJTkxJTkUgdWludDh4OF90IGxvYWRfdTgoY29uc3QgdWlu
dDhfdCAqYnVmLCBpbnQgc3RyaWRlKSB7CiAgIHVpbnQzMngyX3QgYSA9IHZkdXBfbl91MzIoMCk7
CiAKICAgYXNzZXJ0KCEoKGludHB0cl90KWJ1ZiAlIHNpemVvZih1aW50MzJfdCkpKTsKQEAgLTI1
Miw3ICsxNzEsNyBAQCBzdGF0aWMgSU5MSU5FIHVpbnQ4eDhfdCBsb2FkX3U4KGNvbnN0IHVpbnQ4
X3QgKmJ1ZiwgcHRyZGlmZl90IHN0cmlkZSkgewogfQogCiAvLyBTdG9yZSAyIHNldHMgb2YgNCBi
eXRlcyB3aGVuIGFsaWdubWVudCBpcyBndWFyYW50ZWVkLgotc3RhdGljIElOTElORSB2b2lkIHN0
b3JlX3U4KHVpbnQ4X3QgKmJ1ZiwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDh4OF90IGEp
IHsKK3N0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV91OCh1aW50OF90ICpidWYsIGludCBzdHJpZGUs
IGNvbnN0IHVpbnQ4eDhfdCBhKSB7CiAgIHVpbnQzMngyX3QgYV91MzIgPSB2cmVpbnRlcnByZXRf
dTMyX3U4KGEpOwogCiAgIGFzc2VydCghKChpbnRwdHJfdClidWYgJSBzaXplb2YodWludDMyX3Qp
KSk7CkBAIC0yNjIsMjAyICsxODEsNCBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgc3RvcmVfdTgodWlu
dDhfdCAqYnVmLCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50OHg4X3QgYSkgewogICBidWYg
Kz0gc3RyaWRlOwogICB2c3QxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWJ1ZiwgYV91MzIsIDEpOwog
fQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgc3RvcmVfdThfOHgzKHVpbnQ4X3QgKnMsIGNvbnN0IHB0
cmRpZmZfdCBwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHg4
X3QgczAsIGNvbnN0IHVpbnQ4eDhfdCBzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDh4OF90IHMyKSB7Ci0gIHZzdDFfdTgocywgczApOwotICBzICs9IHA7Ci0g
IHZzdDFfdTgocywgczEpOwotICBzICs9IHA7Ci0gIHZzdDFfdTgocywgczIpOwotfQotCi1zdGF0
aWMgSU5MSU5FIHZvaWQgbG9hZF91OF84eDQoY29uc3QgdWludDhfdCAqcywgY29uc3QgcHRyZGlm
Zl90IHAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4OF90ICpjb25zdCBz
MCwgdWludDh4OF90ICpjb25zdCBzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OHg4X3QgKmNvbnN0IHMyLCB1aW50OHg4X3QgKmNvbnN0IHMzKSB7Ci0gICpzMCA9IHZsZDFf
dTgocyk7Ci0gIHMgKz0gcDsKLSAgKnMxID0gdmxkMV91OChzKTsKLSAgcyArPSBwOwotICAqczIg
PSB2bGQxX3U4KHMpOwotICBzICs9IHA7Ci0gICpzMyA9IHZsZDFfdTgocyk7Ci19Ci0KLXN0YXRp
YyBJTkxJTkUgdm9pZCBzdG9yZV91OF84eDQodWludDhfdCAqcywgY29uc3QgcHRyZGlmZl90IHAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDhfdCBzMCwgY29u
c3QgdWludDh4OF90IHMxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OHg4X3QgczIsIGNvbnN0IHVpbnQ4eDhfdCBzMykgewotICB2c3QxX3U4KHMsIHMwKTsKLSAg
cyArPSBwOwotICB2c3QxX3U4KHMsIHMxKTsKLSAgcyArPSBwOwotICB2c3QxX3U4KHMsIHMyKTsK
LSAgcyArPSBwOwotICB2c3QxX3U4KHMsIHMzKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGxv
YWRfdThfMTZ4Myhjb25zdCB1aW50OF90ICpzLCBjb25zdCBwdHJkaWZmX3QgcCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4MTZfdCAqY29uc3QgczAsIHVpbnQ4eDE2X3Qg
KmNvbnN0IHMxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OHgxNl90ICpj
b25zdCBzMikgewotICAqczAgPSB2bGQxcV91OChzKTsKLSAgcyArPSBwOwotICAqczEgPSB2bGQx
cV91OChzKTsKLSAgcyArPSBwOwotICAqczIgPSB2bGQxcV91OChzKTsKLX0KLQotc3RhdGljIElO
TElORSB2b2lkIGxvYWRfdThfMTZ4NChjb25zdCB1aW50OF90ICpzLCBjb25zdCBwdHJkaWZmX3Qg
cCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4MTZfdCAqY29uc3QgczAs
IHVpbnQ4eDE2X3QgKmNvbnN0IHMxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OHgxNl90ICpjb25zdCBzMiwgdWludDh4MTZfdCAqY29uc3QgczMpIHsKLSAgKnMwID0gdmxk
MXFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnMxID0gdmxkMXFfdTgocyk7Ci0gIHMgKz0gcDsKLSAg
KnMyID0gdmxkMXFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnMzID0gdmxkMXFfdTgocyk7Ci19Ci0K
LXN0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV91OF8xNng0KHVpbnQ4X3QgKnMsIGNvbnN0IHB0cmRp
ZmZfdCBwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4MTZf
dCBzMCwgY29uc3QgdWludDh4MTZfdCBzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4eDE2X3QgczIsIGNvbnN0IHVpbnQ4eDE2X3QgczMpIHsKLSAgdnN0MXFf
dTgocywgczApOwotICBzICs9IHA7Ci0gIHZzdDFxX3U4KHMsIHMxKTsKLSAgcyArPSBwOwotICB2
c3QxcV91OChzLCBzMik7Ci0gIHMgKz0gcDsKLSAgdnN0MXFfdTgocywgczMpOwotfQotCi1zdGF0
aWMgSU5MSU5FIHZvaWQgbG9hZF91OF84eDcoY29uc3QgdWludDhfdCAqcywgY29uc3QgcHRyZGlm
Zl90IHAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4OF90ICpjb25zdCBz
MCwgdWludDh4OF90ICpjb25zdCBzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OHg4X3QgKmNvbnN0IHMyLCB1aW50OHg4X3QgKmNvbnN0IHMzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4eDhfdCAqY29uc3QgczQsIHVpbnQ4eDhfdCAqY29uc3QgczUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4OF90ICpjb25zdCBzNikgewot
ICAqczAgPSB2bGQxX3U4KHMpOwotICBzICs9IHA7Ci0gICpzMSA9IHZsZDFfdTgocyk7Ci0gIHMg
Kz0gcDsKLSAgKnMyID0gdmxkMV91OChzKTsKLSAgcyArPSBwOwotICAqczMgPSB2bGQxX3U4KHMp
OwotICBzICs9IHA7Ci0gICpzNCA9IHZsZDFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnM1ID0gdmxk
MV91OChzKTsKLSAgcyArPSBwOwotICAqczYgPSB2bGQxX3U4KHMpOwotfQotCi1zdGF0aWMgSU5M
SU5FIHZvaWQgbG9hZF91OF84eDgoY29uc3QgdWludDhfdCAqcywgY29uc3QgcHRyZGlmZl90IHAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4OF90ICpjb25zdCBzMCwgdWlu
dDh4OF90ICpjb25zdCBzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OHg4
X3QgKmNvbnN0IHMyLCB1aW50OHg4X3QgKmNvbnN0IHMzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4eDhfdCAqY29uc3QgczQsIHVpbnQ4eDhfdCAqY29uc3QgczUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4OF90ICpjb25zdCBzNiwgdWludDh4OF90
ICpjb25zdCBzNykgewotICAqczAgPSB2bGQxX3U4KHMpOwotICBzICs9IHA7Ci0gICpzMSA9IHZs
ZDFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnMyID0gdmxkMV91OChzKTsKLSAgcyArPSBwOwotICAq
czMgPSB2bGQxX3U4KHMpOwotICBzICs9IHA7Ci0gICpzNCA9IHZsZDFfdTgocyk7Ci0gIHMgKz0g
cDsKLSAgKnM1ID0gdmxkMV91OChzKTsKLSAgcyArPSBwOwotICAqczYgPSB2bGQxX3U4KHMpOwot
ICBzICs9IHA7Ci0gICpzNyA9IHZsZDFfdTgocyk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBz
dG9yZV91OF84eDgodWludDhfdCAqcywgY29uc3QgcHRyZGlmZl90IHAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDhfdCBzMCwgY29uc3QgdWludDh4OF90IHMx
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHg4X3QgczIsIGNv
bnN0IHVpbnQ4eDhfdCBzMywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDh4OF90IHM0LCBjb25zdCB1aW50OHg4X3QgczUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4eDhfdCBzNiwgY29uc3QgdWludDh4OF90IHM3KSB7Ci0gIHZz
dDFfdTgocywgczApOwotICBzICs9IHA7Ci0gIHZzdDFfdTgocywgczEpOwotICBzICs9IHA7Ci0g
IHZzdDFfdTgocywgczIpOwotICBzICs9IHA7Ci0gIHZzdDFfdTgocywgczMpOwotICBzICs9IHA7
Ci0gIHZzdDFfdTgocywgczQpOwotICBzICs9IHA7Ci0gIHZzdDFfdTgocywgczUpOwotICBzICs9
IHA7Ci0gIHZzdDFfdTgocywgczYpOwotICBzICs9IHA7Ci0gIHZzdDFfdTgocywgczcpOwotfQot
Ci1zdGF0aWMgSU5MSU5FIHZvaWQgbG9hZF91OF8xNng4KGNvbnN0IHVpbnQ4X3QgKnMsIGNvbnN0
IHB0cmRpZmZfdCBwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OHgxNl90
ICpjb25zdCBzMCwgdWludDh4MTZfdCAqY29uc3QgczEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4eDE2X3QgKmNvbnN0IHMyLCB1aW50OHgxNl90ICpjb25zdCBzMywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4MTZfdCAqY29uc3QgczQsIHVpbnQ4
eDE2X3QgKmNvbnN0IHM1LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OHgx
Nl90ICpjb25zdCBzNiwgdWludDh4MTZfdCAqY29uc3QgczcpIHsKLSAgKnMwID0gdmxkMXFfdTgo
cyk7Ci0gIHMgKz0gcDsKLSAgKnMxID0gdmxkMXFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnMyID0g
dmxkMXFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnMzID0gdmxkMXFfdTgocyk7Ci0gIHMgKz0gcDsK
LSAgKnM0ID0gdmxkMXFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnM1ID0gdmxkMXFfdTgocyk7Ci0g
IHMgKz0gcDsKLSAgKnM2ID0gdmxkMXFfdTgocyk7Ci0gIHMgKz0gcDsKLSAgKnM3ID0gdmxkMXFf
dTgocyk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV91OF8xNng4KHVpbnQ4X3QgKnMs
IGNvbnN0IHB0cmRpZmZfdCBwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDh4MTZfdCBzMCwgY29uc3QgdWludDh4MTZfdCBzMSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDE2X3QgczIsIGNvbnN0IHVpbnQ4eDE2X3QgczMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHgxNl90IHM0LCBj
b25zdCB1aW50OHgxNl90IHM1LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDh4MTZfdCBzNiwgY29uc3QgdWludDh4MTZfdCBzNykgewotICB2c3QxcV91OChzLCBz
MCk7Ci0gIHMgKz0gcDsKLSAgdnN0MXFfdTgocywgczEpOwotICBzICs9IHA7Ci0gIHZzdDFxX3U4
KHMsIHMyKTsKLSAgcyArPSBwOwotICB2c3QxcV91OChzLCBzMyk7Ci0gIHMgKz0gcDsKLSAgdnN0
MXFfdTgocywgczQpOwotICBzICs9IHA7Ci0gIHZzdDFxX3U4KHMsIHM1KTsKLSAgcyArPSBwOwot
ICB2c3QxcV91OChzLCBzNik7Ci0gIHMgKz0gcDsKLSAgdnN0MXFfdTgocywgczcpOwotfQotCi1z
dGF0aWMgSU5MSU5FIHZvaWQgbG9hZF91MTZfOHg4KGNvbnN0IHVpbnQxNl90ICpzLCBjb25zdCBw
dHJkaWZmX3QgcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2eDhfdCAq
czAsIHVpbnQxNng4X3QgKnMxLCB1aW50MTZ4OF90ICpzMiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDE2eDhfdCAqczMsIHVpbnQxNng4X3QgKnM0LCB1aW50MTZ4OF90ICpz
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2eDhfdCAqczYsIHVpbnQx
Nng4X3QgKnM3KSB7Ci0gICpzMCA9IHZsZDFxX3UxNihzKTsKLSAgcyArPSBwOwotICAqczEgPSB2
bGQxcV91MTYocyk7Ci0gIHMgKz0gcDsKLSAgKnMyID0gdmxkMXFfdTE2KHMpOwotICBzICs9IHA7
Ci0gICpzMyA9IHZsZDFxX3UxNihzKTsKLSAgcyArPSBwOwotICAqczQgPSB2bGQxcV91MTYocyk7
Ci0gIHMgKz0gcDsKLSAgKnM1ID0gdmxkMXFfdTE2KHMpOwotICBzICs9IHA7Ci0gICpzNiA9IHZs
ZDFxX3UxNihzKTsKLSAgcyArPSBwOwotICAqczcgPSB2bGQxcV91MTYocyk7Ci19Ci0KICNlbmRp
ZiAgLy8gVlBYX1ZQWF9EU1BfQVJNX01FTV9ORU9OX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvYXJtL3F1YW50aXplX25lb24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vcXVh
bnRpemVfbmVvbi5jCmluZGV4IGUyMzUxZmEyY2M2Ny4uYWRlZjVmNmUxNTE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3F1YW50aXplX25lb24uYworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvYXJtL3F1YW50aXplX25lb24uYwpAQCAtMTQsMTI2ICsxNCwxNDAgQEAKICNpbmNs
dWRlICIuL3ZweF9jb25maWcuaCIKICNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgogI2luY2x1
ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCi0jaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfc2Nh
bi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9ibG9jay5oIgogCiBzdGF0aWMgSU5MSU5F
IHZvaWQgY2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlKGNvbnN0IGludDE2eDhfdCBxY29lZmYs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2eDhfdCBkZXF1YW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0cikgewotI2lmIENPTkZJR19WUDlfSElHSEJJ
VERFUFRICisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QgKmRxY29lZmYpIHsKICAgY29uc3QgaW50MzJ4NF90IGRxY29lZmZfMCA9CiAgICAg
ICB2bXVsbF9zMTYodmdldF9sb3dfczE2KHFjb2VmZiksIHZnZXRfbG93X3MxNihkZXF1YW50KSk7
CiAgIGNvbnN0IGludDMyeDRfdCBkcWNvZWZmXzEgPQogICAgICAgdm11bGxfczE2KHZnZXRfaGln
aF9zMTYocWNvZWZmKSwgdmdldF9oaWdoX3MxNihkZXF1YW50KSk7CiAKLSAgdnN0MXFfczMyKGRx
Y29lZmZfcHRyLCBkcWNvZWZmXzApOwotICB2c3QxcV9zMzIoZHFjb2VmZl9wdHIgKyA0LCBkcWNv
ZWZmXzEpOworI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICisgIHZzdDFxX3MzMihkcWNvZWZm
LCBkcWNvZWZmXzApOworICB2c3QxcV9zMzIoZHFjb2VmZiArIDQsIGRxY29lZmZfMSk7CiAjZWxz
ZQotICB2c3QxcV9zMTYoZHFjb2VmZl9wdHIsIHZtdWxxX3MxNihxY29lZmYsIGRlcXVhbnQpKTsK
KyAgdnN0MXFfczE2KGRxY29lZmYsIHZjb21iaW5lX3MxNih2bW92bl9zMzIoZHFjb2VmZl8wKSwg
dm1vdm5fczMyKGRxY29lZmZfMSkpKTsKICNlbmRpZiAgLy8gQ09ORklHX1ZQOV9ISUdIQklUREVQ
VEgKIH0KIAotc3RhdGljIElOTElORSBpbnQxNng4X3QKLXF1YW50aXplX2JfbmVvbihjb25zdCB0
cmFuX2xvd190ICpjb2VmZl9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsCi0gICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGludDE2eDhfdCB6YmluLAotICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2eDhfdCByb3VuZCwgY29uc3QgaW50MTZ4OF90IHF1YW50
LAotICAgICAgICAgICAgICAgIGNvbnN0IGludDE2eDhfdCBxdWFudF9zaGlmdCwgY29uc3QgaW50
MTZ4OF90IGRlcXVhbnQpIHsKLSAgLy8gTG9hZCBjb2VmZnMgYXMgOCB4IDE2LWJpdCBpbnRzLCB0
YWtlIHNpZ24gYW5kIGFicyB2YWx1ZXMKLSAgY29uc3QgaW50MTZ4OF90IGNvZWZmID0gbG9hZF90
cmFuX2xvd190b19zMTZxKGNvZWZmX3B0cik7Ci0gIGNvbnN0IGludDE2eDhfdCBjb2VmZl9zaWdu
ID0gdnNocnFfbl9zMTYoY29lZmYsIDE1KTsKLSAgY29uc3QgaW50MTZ4OF90IGNvZWZmX2FicyA9
IHZhYnNxX3MxNihjb2VmZik7Ci0KLSAgLy8gQ2FsY3VsYXRlIG1hc2sgb2YgZWxlbWVudHMgb3V0
c2lkZSB0aGUgYmluCi0gIGNvbnN0IGludDE2eDhfdCB6YmluX21hc2sgPSB2cmVpbnRlcnByZXRx
X3MxNl91MTYodmNnZXFfczE2KGNvZWZmX2FicywgemJpbikpOwotCi0gIC8vIEdldCB0aGUgcm91
bmRlZCB2YWx1ZXMKLSAgY29uc3QgaW50MTZ4OF90IHJvdW5kZWQgPSB2cWFkZHFfczE2KGNvZWZm
X2Ficywgcm91bmQpOwotCi0gIC8vIChyb3VuZCAqIHF1YW50ICogMikgPj4gMTYgPj4gMSA9PSAo
cm91bmQgKiBxdWFudCkgPj4gMTYKLSAgaW50MTZ4OF90IHFjb2VmZiA9IHZzaHJxX25fczE2KHZx
ZG11bGhxX3MxNihyb3VuZGVkLCBxdWFudCksIDEpOwotCi0gIHFjb2VmZiA9IHZhZGRxX3MxNihx
Y29lZmYsIHJvdW5kZWQpOwordm9pZCB2cHhfcXVhbnRpemVfYl9uZW9uKGNvbnN0IHRyYW5fbG93
X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNraXBfYmxvY2ssIGNvbnN0IGludDE2X3QgKnpiaW5fcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50MTZfdCAqcXVh
bnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnF1YW50X3No
aWZ0X3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3Qg
KnNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqaXNjYW4pIHsK
KyAgY29uc3QgaW50MTZ4OF90IG9uZSA9IHZkdXBxX25fczE2KDEpOworICBjb25zdCBpbnQxNng4
X3QgbmVnX29uZSA9IHZkdXBxX25fczE2KC0xKTsKKyAgdWludDE2eDhfdCBlb2JfbWF4OworICAo
dm9pZClzY2FuOworICAodm9pZClza2lwX2Jsb2NrOworICBhc3NlcnQoIXNraXBfYmxvY2spOwog
Ci0gIC8vIChxY29lZmYgKiBxdWFudF9zaGlmdCAqIDIpID4+IDE2ID4+IDEgPT0gKHFjb2VmZiAq
IHF1YW50X3NoaWZ0KSA+PiAxNgotICBxY29lZmYgPSB2c2hycV9uX3MxNih2cWRtdWxocV9zMTYo
cWNvZWZmLCBxdWFudF9zaGlmdCksIDEpOworICAvLyBQcm9jZXNzIGZpcnN0IDggdmFsdWVzIHdo
aWNoIGluY2x1ZGUgYSBkYyBjb21wb25lbnQuCisgIHsKKyAgICAvLyBPbmx5IHRoZSBmaXJzdCBl
bGVtZW50IG9mIGVhY2ggdmVjdG9yIGlzIERDLgorICAgIGNvbnN0IGludDE2eDhfdCB6YmluID0g
dmxkMXFfczE2KHpiaW5fcHRyKTsKKyAgICBjb25zdCBpbnQxNng4X3Qgcm91bmQgPSB2bGQxcV9z
MTYocm91bmRfcHRyKTsKKyAgICBjb25zdCBpbnQxNng4X3QgcXVhbnQgPSB2bGQxcV9zMTYocXVh
bnRfcHRyKTsKKyAgICBjb25zdCBpbnQxNng4X3QgcXVhbnRfc2hpZnQgPSB2bGQxcV9zMTYocXVh
bnRfc2hpZnRfcHRyKTsKKyAgICBjb25zdCBpbnQxNng4X3QgZGVxdWFudCA9IHZsZDFxX3MxNihk
ZXF1YW50X3B0cik7CisgICAgLy8gQWRkIG9uZSBiZWNhdXNlIHRoZSBlb2IgZG9lcyBub3QgaW5k
ZXggZnJvbSAwLgorICAgIGNvbnN0IHVpbnQxNng4X3Qgdl9pc2NhbiA9CisgICAgICAgIHZyZWlu
dGVycHJldHFfdTE2X3MxNih2YWRkcV9zMTYodmxkMXFfczE2KGlzY2FuKSwgb25lKSk7CiAKLSAg
Ly8gUmVzdG9yZSB0aGUgc2lnbiBiaXQuCi0gIHFjb2VmZiA9IHZlb3JxX3MxNihxY29lZmYsIGNv
ZWZmX3NpZ24pOwotICBxY29lZmYgPSB2c3VicV9zMTYocWNvZWZmLCBjb2VmZl9zaWduKTsKKyAg
ICBjb25zdCBpbnQxNng4X3QgY29lZmYgPSBsb2FkX3RyYW5fbG93X3RvX3MxNnEoY29lZmZfcHRy
KTsKKyAgICBjb25zdCBpbnQxNng4X3QgY29lZmZfc2lnbiA9IHZzaHJxX25fczE2KGNvZWZmLCAx
NSk7CisgICAgY29uc3QgaW50MTZ4OF90IGNvZWZmX2FicyA9IHZhYnNxX3MxNihjb2VmZik7CiAK
LSAgLy8gT25seSBrZWVwIHRoZSByZWxldmFudCBjb2VmZnMKLSAgcWNvZWZmID0gdmFuZHFfczE2
KHFjb2VmZiwgemJpbl9tYXNrKTsKLSAgc3RvcmVfczE2cV90b190cmFuX2xvdyhxY29lZmZfcHRy
LCBxY29lZmYpOworICAgIGNvbnN0IGludDE2eDhfdCB6YmluX21hc2sgPQorICAgICAgICB2cmVp
bnRlcnByZXRxX3MxNl91MTYodmNnZXFfczE2KGNvZWZmX2FicywgemJpbikpOwogCi0gIGNhbGN1
bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZShxY29lZmYsIGRlcXVhbnQsIGRxY29lZmZfcHRyKTsKKyAg
ICBjb25zdCBpbnQxNng4X3Qgcm91bmRlZCA9IHZxYWRkcV9zMTYoY29lZmZfYWJzLCByb3VuZCk7
CiAKLSAgcmV0dXJuIHFjb2VmZjsKLX0KKyAgICAvLyAocm91bmQgKiBxdWFudCAqIDIpID4+IDE2
ID4+IDEgPT0gKHJvdW5kICogcXVhbnQpID4+IDE2CisgICAgaW50MTZ4OF90IHFjb2VmZiA9IHZz
aHJxX25fczE2KHZxZG11bGhxX3MxNihyb3VuZGVkLCBxdWFudCksIDEpOwogCi12b2lkIHZweF9x
dWFudGl6ZV9iX25lb24oY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2Nv
ZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSAqY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3df
dCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNj
YW5fb3JkZXIpIHsKLSAgY29uc3QgaW50MTZ4OF90IG5lZ19vbmUgPSB2ZHVwcV9uX3MxNigtMSk7
Ci0gIHVpbnQxNng4X3QgZW9iX21heDsKLSAgaW50MTZfdCBjb25zdCAqaXNjYW4gPSBzY2FuX29y
ZGVyLT5pc2NhbjsKKyAgICBxY29lZmYgPSB2YWRkcV9zMTYocWNvZWZmLCByb3VuZGVkKTsKIAot
ICAvLyBPbmx5IHRoZSBmaXJzdCBlbGVtZW50IG9mIGVhY2ggdmVjdG9yIGlzIERDLgotICBpbnQx
Nng4X3QgemJpbiA9IHZsZDFxX3MxNihtYl9wbGFuZS0+emJpbik7Ci0gIGludDE2eDhfdCByb3Vu
ZCA9IHZsZDFxX3MxNihtYl9wbGFuZS0+cm91bmQpOwotICBpbnQxNng4X3QgcXVhbnQgPSB2bGQx
cV9zMTYobWJfcGxhbmUtPnF1YW50KTsKLSAgaW50MTZ4OF90IHF1YW50X3NoaWZ0ID0gdmxkMXFf
czE2KG1iX3BsYW5lLT5xdWFudF9zaGlmdCk7Ci0gIGludDE2eDhfdCBkZXF1YW50ID0gdmxkMXFf
czE2KGRlcXVhbnRfcHRyKTsKKyAgICAvLyAocWNvZWZmICogcXVhbnRfc2hpZnQgKiAyKSA+PiAx
NiA+PiAxID09IChxY29lZmYgKiBxdWFudF9zaGlmdCkgPj4gMTYKKyAgICBxY29lZmYgPSB2c2hy
cV9uX3MxNih2cWRtdWxocV9zMTYocWNvZWZmLCBxdWFudF9zaGlmdCksIDEpOwogCi0gIC8vIFBy
b2Nlc3MgZmlyc3QgOCB2YWx1ZXMgd2hpY2ggaW5jbHVkZSBhIGRjIGNvbXBvbmVudC4KLSAgewot
ICAgIGNvbnN0IHVpbnQxNng4X3Qgdl9pc2NhbiA9IHZyZWludGVycHJldHFfdTE2X3MxNih2bGQx
cV9zMTYoaXNjYW4pKTsKKyAgICAvLyBSZXN0b3JlIHRoZSBzaWduIGJpdC4KKyAgICBxY29lZmYg
PSB2ZW9ycV9zMTYocWNvZWZmLCBjb2VmZl9zaWduKTsKKyAgICBxY29lZmYgPSB2c3VicV9zMTYo
cWNvZWZmLCBjb2VmZl9zaWduKTsKIAotICAgIGNvbnN0IGludDE2eDhfdCBxY29lZmYgPQotICAg
ICAgICBxdWFudGl6ZV9iX25lb24oY29lZmZfcHRyLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0ciwg
emJpbiwgcm91bmQsIHF1YW50LAotICAgICAgICAgICAgICAgICAgICAgICAgcXVhbnRfc2hpZnQs
IGRlcXVhbnQpOworICAgIHFjb2VmZiA9IHZhbmRxX3MxNihxY29lZmYsIHpiaW5fbWFzayk7CiAK
ICAgICAvLyBTZXQgbm9uLXplcm8gZWxlbWVudHMgdG8gLTEgYW5kIHVzZSB0aGF0IHRvIGV4dHJh
Y3QgdmFsdWVzIGZvciBlb2IuCiAgICAgZW9iX21heCA9IHZhbmRxX3UxNih2dHN0cV9zMTYocWNv
ZWZmLCBuZWdfb25lKSwgdl9pc2Nhbik7CiAKLSAgICBfX2J1aWx0aW5fcHJlZmV0Y2goY29lZmZf
cHRyICsgNjQpOwogICAgIGNvZWZmX3B0ciArPSA4OwogICAgIGlzY2FuICs9IDg7CisKKyAgICBz
dG9yZV9zMTZxX3RvX3RyYW5fbG93KHFjb2VmZl9wdHIsIHFjb2VmZik7CiAgICAgcWNvZWZmX3B0
ciArPSA4OworCisgICAgY2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlKHFjb2VmZiwgZGVxdWFu
dCwgZHFjb2VmZl9wdHIpOwogICAgIGRxY29lZmZfcHRyICs9IDg7CiAgIH0KIAogICBuX2NvZWZm
cyAtPSA4OwogCiAgIHsKLSAgICB6YmluID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KHpi
aW4pLCAxKTsKLSAgICByb3VuZCA9IHZkdXBxX2xhbmVfczE2KHZnZXRfbG93X3MxNihyb3VuZCks
IDEpOwotICAgIHF1YW50ID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KHF1YW50KSwgMSk7
Ci0gICAgcXVhbnRfc2hpZnQgPSB2ZHVwcV9sYW5lX3MxNih2Z2V0X2xvd19zMTYocXVhbnRfc2hp
ZnQpLCAxKTsKLSAgICBkZXF1YW50ID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KGRlcXVh
bnQpLCAxKTsKKyAgICBjb25zdCBpbnQxNng4X3QgemJpbiA9IHZkdXBxX25fczE2KHpiaW5fcHRy
WzFdKTsKKyAgICBjb25zdCBpbnQxNng4X3Qgcm91bmQgPSB2ZHVwcV9uX3MxNihyb3VuZF9wdHJb
MV0pOworICAgIGNvbnN0IGludDE2eDhfdCBxdWFudCA9IHZkdXBxX25fczE2KHF1YW50X3B0clsx
XSk7CisgICAgY29uc3QgaW50MTZ4OF90IHF1YW50X3NoaWZ0ID0gdmR1cHFfbl9zMTYocXVhbnRf
c2hpZnRfcHRyWzFdKTsKKyAgICBjb25zdCBpbnQxNng4X3QgZGVxdWFudCA9IHZkdXBxX25fczE2
KGRlcXVhbnRfcHRyWzFdKTsKIAogICAgIGRvIHsKLSAgICAgIGNvbnN0IHVpbnQxNng4X3Qgdl9p
c2NhbiA9IHZyZWludGVycHJldHFfdTE2X3MxNih2bGQxcV9zMTYoaXNjYW4pKTsKKyAgICAgIC8v
IEFkZCBvbmUgYmVjYXVzZSB0aGUgZW9iIGlzIG5vdCBpdHMgaW5kZXguCisgICAgICBjb25zdCB1
aW50MTZ4OF90IHZfaXNjYW4gPQorICAgICAgICAgIHZyZWludGVycHJldHFfdTE2X3MxNih2YWRk
cV9zMTYodmxkMXFfczE2KGlzY2FuKSwgb25lKSk7CisKKyAgICAgIGNvbnN0IGludDE2eDhfdCBj
b2VmZiA9IGxvYWRfdHJhbl9sb3dfdG9fczE2cShjb2VmZl9wdHIpOworICAgICAgY29uc3QgaW50
MTZ4OF90IGNvZWZmX3NpZ24gPSB2c2hycV9uX3MxNihjb2VmZiwgMTUpOworICAgICAgY29uc3Qg
aW50MTZ4OF90IGNvZWZmX2FicyA9IHZhYnNxX3MxNihjb2VmZik7CisKKyAgICAgIGNvbnN0IGlu
dDE2eDhfdCB6YmluX21hc2sgPQorICAgICAgICAgIHZyZWludGVycHJldHFfczE2X3UxNih2Y2dl
cV9zMTYoY29lZmZfYWJzLCB6YmluKSk7CisKKyAgICAgIGNvbnN0IGludDE2eDhfdCByb3VuZGVk
ID0gdnFhZGRxX3MxNihjb2VmZl9hYnMsIHJvdW5kKTsKKworICAgICAgLy8gKHJvdW5kICogcXVh
bnQgKiAyKSA+PiAxNiA+PiAxID09IChyb3VuZCAqIHF1YW50KSA+PiAxNgorICAgICAgaW50MTZ4
OF90IHFjb2VmZiA9IHZzaHJxX25fczE2KHZxZG11bGhxX3MxNihyb3VuZGVkLCBxdWFudCksIDEp
OwogCi0gICAgICBjb25zdCBpbnQxNng4X3QgcWNvZWZmID0KLSAgICAgICAgICBxdWFudGl6ZV9i
X25lb24oY29lZmZfcHRyLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0ciwgemJpbiwgcm91bmQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50LCBxdWFudF9zaGlmdCwgZGVxdWFudCk7Cisg
ICAgICBxY29lZmYgPSB2YWRkcV9zMTYocWNvZWZmLCByb3VuZGVkKTsKKworICAgICAgLy8gKHFj
b2VmZiAqIHF1YW50X3NoaWZ0ICogMikgPj4gMTYgPj4gMSA9PSAocWNvZWZmICogcXVhbnRfc2hp
ZnQpID4+IDE2CisgICAgICBxY29lZmYgPSB2c2hycV9uX3MxNih2cWRtdWxocV9zMTYocWNvZWZm
LCBxdWFudF9zaGlmdCksIDEpOworCisgICAgICAvLyBSZXN0b3JlIHRoZSBzaWduIGJpdC4KKyAg
ICAgIHFjb2VmZiA9IHZlb3JxX3MxNihxY29lZmYsIGNvZWZmX3NpZ24pOworICAgICAgcWNvZWZm
ID0gdnN1YnFfczE2KHFjb2VmZiwgY29lZmZfc2lnbik7CisKKyAgICAgIHFjb2VmZiA9IHZhbmRx
X3MxNihxY29lZmYsIHpiaW5fbWFzayk7CiAKICAgICAgIC8vIFNldCBub24temVybyBlbGVtZW50
cyB0byAtMSBhbmQgdXNlIHRoYXQgdG8gZXh0cmFjdCB2YWx1ZXMgZm9yIGVvYi4KICAgICAgIGVv
Yl9tYXggPQogICAgICAgICAgIHZtYXhxX3UxNihlb2JfbWF4LCB2YW5kcV91MTYodnRzdHFfczE2
KHFjb2VmZiwgbmVnX29uZSksIHZfaXNjYW4pKTsKIAotICAgICAgX19idWlsdGluX3ByZWZldGNo
KGNvZWZmX3B0ciArIDY0KTsKICAgICAgIGNvZWZmX3B0ciArPSA4OwogICAgICAgaXNjYW4gKz0g
ODsKKworICAgICAgc3RvcmVfczE2cV90b190cmFuX2xvdyhxY29lZmZfcHRyLCBxY29lZmYpOwog
ICAgICAgcWNvZWZmX3B0ciArPSA4OworCisgICAgICBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3Rv
cmUocWNvZWZmLCBkZXF1YW50LCBkcWNvZWZmX3B0cik7CiAgICAgICBkcWNvZWZmX3B0ciArPSA4
OworCiAgICAgICBuX2NvZWZmcyAtPSA4OwogICAgIH0gd2hpbGUgKG5fY29lZmZzID4gMCk7CiAg
IH0KIAotI2lmIFZQWF9BUkNIX0FBUkNINjQKKyNpZmRlZiBfX2FhcmNoNjRfXwogICAqZW9iX3B0
ciA9IHZtYXh2cV91MTYoZW9iX21heCk7CiAjZWxzZQogICB7CkBAIC0xNDMsNyArMTU3LDcgQEAg
dm9pZCB2cHhfcXVhbnRpemVfYl9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50
cHRyX3Qgbl9jb2VmZnMsCiAgICAgY29uc3QgdWludDE2eDRfdCBlb2JfbWF4XzIgPSB2cG1heF91
MTYoZW9iX21heF8xLCBlb2JfbWF4XzEpOwogICAgIHZzdDFfbGFuZV91MTYoZW9iX3B0ciwgZW9i
X21heF8yLCAwKTsKICAgfQotI2VuZGlmICAvLyBWUFhfQVJDSF9BQVJDSDY0CisjZW5kaWYgIC8v
IF9fYWFyY2g2NF9fCiB9CiAKIHN0YXRpYyBJTkxJTkUgaW50MzJ4NF90IGV4dHJhY3Rfc2lnbl9i
aXQoaW50MzJ4NF90IGEpIHsKQEAgLTE1Miw3ICsxNjYsNyBAQCBzdGF0aWMgSU5MSU5FIGludDMy
eDRfdCBleHRyYWN0X3NpZ25fYml0KGludDMyeDRfdCBhKSB7CiAKIHN0YXRpYyBJTkxJTkUgdm9p
ZCBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmVfMzJ4MzIoY29uc3QgaW50MTZ4OF90IHFjb2Vm
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZ4OF90IGRlcXVhbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qg
KmRxY29lZmYpIHsKICAgaW50MzJ4NF90IGRxY29lZmZfMCA9IHZtdWxsX3MxNih2Z2V0X2xvd19z
MTYocWNvZWZmKSwgdmdldF9sb3dfczE2KGRlcXVhbnQpKTsKICAgaW50MzJ4NF90IGRxY29lZmZf
MSA9CiAgICAgICB2bXVsbF9zMTYodmdldF9oaWdoX3MxNihxY29lZmYpLCB2Z2V0X2hpZ2hfczE2
KGRlcXVhbnQpKTsKQEAgLTE2NCwxMTUgKzE3OCwxMzIgQEAgc3RhdGljIElOTElORSB2b2lkIGNh
bGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZV8zMngzMihjb25zdCBpbnQxNng4X3QgcWNvZWZmLAog
I2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICiAgIGRxY29lZmZfMCA9IHZzaHJxX25fczMyKGRx
Y29lZmZfMCwgMSk7CiAgIGRxY29lZmZfMSA9IHZzaHJxX25fczMyKGRxY29lZmZfMSwgMSk7Ci0g
IHZzdDFxX3MzMihkcWNvZWZmX3B0ciwgZHFjb2VmZl8wKTsKLSAgdnN0MXFfczMyKGRxY29lZmZf
cHRyICsgNCwgZHFjb2VmZl8xKTsKKyAgdnN0MXFfczMyKGRxY29lZmYsIGRxY29lZmZfMCk7Cisg
IHZzdDFxX3MzMihkcWNvZWZmICsgNCwgZHFjb2VmZl8xKTsKICNlbHNlCi0gIHZzdDFxX3MxNihk
cWNvZWZmX3B0ciwKKyAgdnN0MXFfczE2KGRxY29lZmYsCiAgICAgICAgICAgICB2Y29tYmluZV9z
MTYodnNocm5fbl9zMzIoZHFjb2VmZl8wLCAxKSwgdnNocm5fbl9zMzIoZHFjb2VmZl8xLCAxKSkp
OwogI2VuZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogfQogCi1zdGF0aWMgSU5MSU5F
IGludDE2eDhfdAotcXVhbnRpemVfYl8zMngzMl9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZm
X3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190ICpkcWNvZWZmX3B0ciwgY29uc3QgaW50MTZ4OF90IHpiaW4sCi0gICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZ4OF90IHJvdW5kLCBjb25zdCBpbnQxNng4X3QgcXVhbnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZ4OF90IHF1YW50X3NoaWZ0LCBjb25zdCBp
bnQxNng4X3QgZGVxdWFudCkgewotICAvLyBMb2FkIGNvZWZmcyBhcyA4IHggMTYtYml0IGludHMs
IHRha2Ugc2lnbiBhbmQgYWJzIHZhbHVlcwotICBjb25zdCBpbnQxNng4X3QgY29lZmYgPSBsb2Fk
X3RyYW5fbG93X3RvX3MxNnEoY29lZmZfcHRyKTsKLSAgY29uc3QgaW50MTZ4OF90IGNvZWZmX3Np
Z24gPSB2c2hycV9uX3MxNihjb2VmZiwgMTUpOwotICBjb25zdCBpbnQxNng4X3QgY29lZmZfYWJz
ID0gdmFic3FfczE2KGNvZWZmKTsKLQotICAvLyBDYWxjdWxhdGUgbWFzayBvZiBlbGVtZW50cyBv
dXRzaWRlIHRoZSBiaW4KLSAgY29uc3QgaW50MTZ4OF90IHpiaW5fbWFzayA9IHZyZWludGVycHJl
dHFfczE2X3UxNih2Y2dlcV9zMTYoY29lZmZfYWJzLCB6YmluKSk7Ci0KLSAgLy8gR2V0IHRoZSBy
b3VuZGVkIHZhbHVlcwotICBjb25zdCBpbnQxNng4X3Qgcm91bmRlZCA9IHZxYWRkcV9zMTYoY29l
ZmZfYWJzLCByb3VuZCk7Ci0KLSAgLy8gKHJvdW5kICogcXVhbnQgKiAyKSA+PiAxNiA+PiAxID09
IChyb3VuZCAqIHF1YW50KSA+PiAxNgotICBpbnQxNng4X3QgcWNvZWZmID0gdnNocnFfbl9zMTYo
dnFkbXVsaHFfczE2KHJvdW5kZWQsIHF1YW50KSwgMSk7Ci0KLSAgcWNvZWZmID0gdmFkZHFfczE2
KHFjb2VmZiwgcm91bmRlZCk7Ci0KLSAgLy8gKHFjb2VmZiAqIHF1YW50X3NoaWZ0ICogMikgPj4g
MTYgPT0gKHFjb2VmZiAqIHF1YW50X3NoaWZ0KSA+PiAxNQotICBxY29lZmYgPSB2cWRtdWxocV9z
MTYocWNvZWZmLCBxdWFudF9zaGlmdCk7Ci0KLSAgLy8gUmVzdG9yZSB0aGUgc2lnbiBiaXQuCi0g
IHFjb2VmZiA9IHZlb3JxX3MxNihxY29lZmYsIGNvZWZmX3NpZ24pOwotICBxY29lZmYgPSB2c3Vi
cV9zMTYocWNvZWZmLCBjb2VmZl9zaWduKTsKLQotICAvLyBPbmx5IGtlZXAgdGhlIHJlbGV2YW50
IGNvZWZmcwotICBxY29lZmYgPSB2YW5kcV9zMTYocWNvZWZmLCB6YmluX21hc2spOwotICBzdG9y
ZV9zMTZxX3RvX3RyYW5fbG93KHFjb2VmZl9wdHIsIHFjb2VmZik7Ci0KLSAgY2FsY3VsYXRlX2Rx
Y29lZmZfYW5kX3N0b3JlXzMyeDMyKHFjb2VmZiwgZGVxdWFudCwgZHFjb2VmZl9wdHIpOwotCi0g
IHJldHVybiBxY29lZmY7Ci19Ci0KIC8vIE1haW4gZGlmZmVyZW5jZSBpcyB0aGF0IHpiaW4gdmFs
dWVzIGFyZSBoYWx2ZWQgYmVmb3JlIGNvbXBhcmlzb24gYW5kIGRxY29lZmYKIC8vIHZhbHVlcyBh
cmUgZGl2aWRlZCBieSAyLiB6YmluIGlzIHJvdW5kZWQgYnV0IGRxY29lZmYgaXMgbm90Lgotdm9p
ZCB2cHhfcXVhbnRpemVfYl8zMngzMl9uZW9uKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19w
bGFuZSAqbWJfcGxhbmUsCit2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX25lb24oY29uc3QgdHJh
bl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqemJpbl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnF1YW50X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9zaGlm
dF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZm
X3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0
IHNjYW5fb3JkZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90ICpzY2FuLCBjb25zdCBpbnQxNl90ICppc2NhbikgeworICBjb25zdCBpbnQxNng4X3Qgb25l
ID0gdmR1cHFfbl9zMTYoMSk7CiAgIGNvbnN0IGludDE2eDhfdCBuZWdfb25lID0gdmR1cHFfbl9z
MTYoLTEpOwogICB1aW50MTZ4OF90IGVvYl9tYXg7CiAgIGludCBpOwotICBjb25zdCBpbnQxNl90
ICppc2NhbiA9IHNjYW5fb3JkZXItPmlzY2FuOwotCi0gIC8vIE9ubHkgdGhlIGZpcnN0IGVsZW1l
bnQgb2YgZWFjaCB2ZWN0b3IgaXMgREMuCi0gIGludDE2eDhfdCB6YmluID0gdnJzaHJxX25fczE2
KHZsZDFxX3MxNihtYl9wbGFuZS0+emJpbiksIDEpOwotICBpbnQxNng4X3Qgcm91bmQgPSB2cnNo
cnFfbl9zMTYodmxkMXFfczE2KG1iX3BsYW5lLT5yb3VuZCksIDEpOwotICBpbnQxNng4X3QgcXVh
bnQgPSB2bGQxcV9zMTYobWJfcGxhbmUtPnF1YW50KTsKLSAgaW50MTZ4OF90IHF1YW50X3NoaWZ0
ID0gdmxkMXFfczE2KG1iX3BsYW5lLT5xdWFudF9zaGlmdCk7Ci0gIGludDE2eDhfdCBkZXF1YW50
ID0gdmxkMXFfczE2KGRlcXVhbnRfcHRyKTsKKyAgKHZvaWQpc2NhbjsKKyAgKHZvaWQpbl9jb2Vm
ZnM7ICAvLyBCZWNhdXNlIHdlIHdpbGwgYWx3YXlzIGNhbGN1bGF0ZSAzMiozMi4KKyAgKHZvaWQp
c2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICAvLyBQcm9jZXNzIGZpcnN0
IDggdmFsdWVzIHdoaWNoIGluY2x1ZGUgYSBkYyBjb21wb25lbnQuCiAgIHsKLSAgICBjb25zdCB1
aW50MTZ4OF90IHZfaXNjYW4gPSB2cmVpbnRlcnByZXRxX3UxNl9zMTYodmxkMXFfczE2KGlzY2Fu
KSk7CisgICAgLy8gT25seSB0aGUgZmlyc3QgZWxlbWVudCBvZiBlYWNoIHZlY3RvciBpcyBEQy4K
KyAgICBjb25zdCBpbnQxNng4X3QgemJpbiA9IHZyc2hycV9uX3MxNih2bGQxcV9zMTYoemJpbl9w
dHIpLCAxKTsKKyAgICBjb25zdCBpbnQxNng4X3Qgcm91bmQgPSB2cnNocnFfbl9zMTYodmxkMXFf
czE2KHJvdW5kX3B0ciksIDEpOworICAgIGNvbnN0IGludDE2eDhfdCBxdWFudCA9IHZsZDFxX3Mx
NihxdWFudF9wdHIpOworICAgIGNvbnN0IGludDE2eDhfdCBxdWFudF9zaGlmdCA9IHZsZDFxX3Mx
NihxdWFudF9zaGlmdF9wdHIpOworICAgIGNvbnN0IGludDE2eDhfdCBkZXF1YW50ID0gdmxkMXFf
czE2KGRlcXVhbnRfcHRyKTsKKyAgICAvLyBBZGQgb25lIGJlY2F1c2UgdGhlIGVvYiBkb2VzIG5v
dCBpbmRleCBmcm9tIDAuCisgICAgY29uc3QgdWludDE2eDhfdCB2X2lzY2FuID0KKyAgICAgICAg
dnJlaW50ZXJwcmV0cV91MTZfczE2KHZhZGRxX3MxNih2bGQxcV9zMTYoaXNjYW4pLCBvbmUpKTsK
KworICAgIGNvbnN0IGludDE2eDhfdCBjb2VmZiA9IGxvYWRfdHJhbl9sb3dfdG9fczE2cShjb2Vm
Zl9wdHIpOworICAgIGNvbnN0IGludDE2eDhfdCBjb2VmZl9zaWduID0gdnNocnFfbl9zMTYoY29l
ZmYsIDE1KTsKKyAgICBjb25zdCBpbnQxNng4X3QgY29lZmZfYWJzID0gdmFic3FfczE2KGNvZWZm
KTsKKworICAgIGNvbnN0IGludDE2eDhfdCB6YmluX21hc2sgPQorICAgICAgICB2cmVpbnRlcnBy
ZXRxX3MxNl91MTYodmNnZXFfczE2KGNvZWZmX2FicywgemJpbikpOworCisgICAgY29uc3QgaW50
MTZ4OF90IHJvdW5kZWQgPSB2cWFkZHFfczE2KGNvZWZmX2Ficywgcm91bmQpOworCisgICAgLy8g
KHJvdW5kICogcXVhbnQgKiAyKSA+PiAxNiA+PiAxID09IChyb3VuZCAqIHF1YW50KSA+PiAxNgor
ICAgIGludDE2eDhfdCBxY29lZmYgPSB2c2hycV9uX3MxNih2cWRtdWxocV9zMTYocm91bmRlZCwg
cXVhbnQpLCAxKTsKIAotICAgIGNvbnN0IGludDE2eDhfdCBxY29lZmYgPQotICAgICAgICBxdWFu
dGl6ZV9iXzMyeDMyX25lb24oY29lZmZfcHRyLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0ciwgemJp
biwgcm91bmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWFudCwgcXVhbnRfc2hp
ZnQsIGRlcXVhbnQpOworICAgIHFjb2VmZiA9IHZhZGRxX3MxNihxY29lZmYsIHJvdW5kZWQpOwor
CisgICAgLy8gKHFjb2VmZiAqIHF1YW50X3NoaWZ0ICogMikgPj4gMTYgPT0gKHFjb2VmZiAqIHF1
YW50X3NoaWZ0KSA+PiAxNQorICAgIHFjb2VmZiA9IHZxZG11bGhxX3MxNihxY29lZmYsIHF1YW50
X3NoaWZ0KTsKKworICAgIC8vIFJlc3RvcmUgdGhlIHNpZ24gYml0LgorICAgIHFjb2VmZiA9IHZl
b3JxX3MxNihxY29lZmYsIGNvZWZmX3NpZ24pOworICAgIHFjb2VmZiA9IHZzdWJxX3MxNihxY29l
ZmYsIGNvZWZmX3NpZ24pOworCisgICAgcWNvZWZmID0gdmFuZHFfczE2KHFjb2VmZiwgemJpbl9t
YXNrKTsKIAogICAgIC8vIFNldCBub24temVybyBlbGVtZW50cyB0byAtMSBhbmQgdXNlIHRoYXQg
dG8gZXh0cmFjdCB2YWx1ZXMgZm9yIGVvYi4KICAgICBlb2JfbWF4ID0gdmFuZHFfdTE2KHZ0c3Rx
X3MxNihxY29lZmYsIG5lZ19vbmUpLCB2X2lzY2FuKTsKIAotICAgIF9fYnVpbHRpbl9wcmVmZXRj
aChjb2VmZl9wdHIgKyA2NCk7CiAgICAgY29lZmZfcHRyICs9IDg7CiAgICAgaXNjYW4gKz0gODsK
KworICAgIHN0b3JlX3MxNnFfdG9fdHJhbl9sb3cocWNvZWZmX3B0ciwgcWNvZWZmKTsKICAgICBx
Y29lZmZfcHRyICs9IDg7CisKKyAgICBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmVfMzJ4MzIo
cWNvZWZmLCBkZXF1YW50LCBkcWNvZWZmX3B0cik7CiAgICAgZHFjb2VmZl9wdHIgKz0gODsKICAg
fQogCiAgIHsKLSAgICB6YmluID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KHpiaW4pLCAx
KTsKLSAgICByb3VuZCA9IHZkdXBxX2xhbmVfczE2KHZnZXRfbG93X3MxNihyb3VuZCksIDEpOwot
ICAgIHF1YW50ID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KHF1YW50KSwgMSk7Ci0gICAg
cXVhbnRfc2hpZnQgPSB2ZHVwcV9sYW5lX3MxNih2Z2V0X2xvd19zMTYocXVhbnRfc2hpZnQpLCAx
KTsKLSAgICBkZXF1YW50ID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KGRlcXVhbnQpLCAx
KTsKKyAgICBjb25zdCBpbnQxNng4X3QgemJpbiA9IHZyc2hycV9uX3MxNih2ZHVwcV9uX3MxNih6
YmluX3B0clsxXSksIDEpOworICAgIGNvbnN0IGludDE2eDhfdCByb3VuZCA9IHZyc2hycV9uX3Mx
Nih2ZHVwcV9uX3MxNihyb3VuZF9wdHJbMV0pLCAxKTsKKyAgICBjb25zdCBpbnQxNng4X3QgcXVh
bnQgPSB2ZHVwcV9uX3MxNihxdWFudF9wdHJbMV0pOworICAgIGNvbnN0IGludDE2eDhfdCBxdWFu
dF9zaGlmdCA9IHZkdXBxX25fczE2KHF1YW50X3NoaWZ0X3B0clsxXSk7CisgICAgY29uc3QgaW50
MTZ4OF90IGRlcXVhbnQgPSB2ZHVwcV9uX3MxNihkZXF1YW50X3B0clsxXSk7CiAKICAgICBmb3Ig
KGkgPSAxOyBpIDwgMzIgKiAzMiAvIDg7ICsraSkgewotICAgICAgY29uc3QgdWludDE2eDhfdCB2
X2lzY2FuID0gdnJlaW50ZXJwcmV0cV91MTZfczE2KHZsZDFxX3MxNihpc2NhbikpOworICAgICAg
Ly8gQWRkIG9uZSBiZWNhdXNlIHRoZSBlb2IgaXMgbm90IGl0cyBpbmRleC4KKyAgICAgIGNvbnN0
IHVpbnQxNng4X3Qgdl9pc2NhbiA9CisgICAgICAgICAgdnJlaW50ZXJwcmV0cV91MTZfczE2KHZh
ZGRxX3MxNih2bGQxcV9zMTYoaXNjYW4pLCBvbmUpKTsKKworICAgICAgY29uc3QgaW50MTZ4OF90
IGNvZWZmID0gbG9hZF90cmFuX2xvd190b19zMTZxKGNvZWZmX3B0cik7CisgICAgICBjb25zdCBp
bnQxNng4X3QgY29lZmZfc2lnbiA9IHZzaHJxX25fczE2KGNvZWZmLCAxNSk7CisgICAgICBjb25z
dCBpbnQxNng4X3QgY29lZmZfYWJzID0gdmFic3FfczE2KGNvZWZmKTsKKworICAgICAgY29uc3Qg
aW50MTZ4OF90IHpiaW5fbWFzayA9CisgICAgICAgICAgdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZj
Z2VxX3MxNihjb2VmZl9hYnMsIHpiaW4pKTsKIAotICAgICAgY29uc3QgaW50MTZ4OF90IHFjb2Vm
ZiA9Ci0gICAgICAgICAgcXVhbnRpemVfYl8zMngzMl9uZW9uKGNvZWZmX3B0ciwgcWNvZWZmX3B0
ciwgZHFjb2VmZl9wdHIsIHpiaW4sIHJvdW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBxdWFudCwgcXVhbnRfc2hpZnQsIGRlcXVhbnQpOworICAgICAgY29uc3QgaW50MTZ4OF90
IHJvdW5kZWQgPSB2cWFkZHFfczE2KGNvZWZmX2Ficywgcm91bmQpOworCisgICAgICAvLyAocm91
bmQgKiBxdWFudCAqIDIpID4+IDE2ID4+IDEgPT0gKHJvdW5kICogcXVhbnQpID4+IDE2CisgICAg
ICBpbnQxNng4X3QgcWNvZWZmID0gdnNocnFfbl9zMTYodnFkbXVsaHFfczE2KHJvdW5kZWQsIHF1
YW50KSwgMSk7CisKKyAgICAgIHFjb2VmZiA9IHZhZGRxX3MxNihxY29lZmYsIHJvdW5kZWQpOwor
CisgICAgICAvLyAocWNvZWZmICogcXVhbnRfc2hpZnQgKiAyKSA+PiAxNiA9PSAocWNvZWZmICog
cXVhbnRfc2hpZnQpID4+IDE1CisgICAgICBxY29lZmYgPSB2cWRtdWxocV9zMTYocWNvZWZmLCBx
dWFudF9zaGlmdCk7CisKKyAgICAgIC8vIFJlc3RvcmUgdGhlIHNpZ24gYml0LgorICAgICAgcWNv
ZWZmID0gdmVvcnFfczE2KHFjb2VmZiwgY29lZmZfc2lnbik7CisgICAgICBxY29lZmYgPSB2c3Vi
cV9zMTYocWNvZWZmLCBjb2VmZl9zaWduKTsKKworICAgICAgcWNvZWZmID0gdmFuZHFfczE2KHFj
b2VmZiwgemJpbl9tYXNrKTsKIAogICAgICAgLy8gU2V0IG5vbi16ZXJvIGVsZW1lbnRzIHRvIC0x
IGFuZCB1c2UgdGhhdCB0byBleHRyYWN0IHZhbHVlcyBmb3IgZW9iLgogICAgICAgZW9iX21heCA9
CiAgICAgICAgICAgdm1heHFfdTE2KGVvYl9tYXgsIHZhbmRxX3UxNih2dHN0cV9zMTYocWNvZWZm
LCBuZWdfb25lKSwgdl9pc2NhbikpOwogCi0gICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goY29lZmZf
cHRyICsgNjQpOwogICAgICAgY29lZmZfcHRyICs9IDg7CiAgICAgICBpc2NhbiArPSA4OworCisg
ICAgICBzdG9yZV9zMTZxX3RvX3RyYW5fbG93KHFjb2VmZl9wdHIsIHFjb2VmZik7CiAgICAgICBx
Y29lZmZfcHRyICs9IDg7CisKKyAgICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZV8zMngz
MihxY29lZmYsIGRlcXVhbnQsIGRxY29lZmZfcHRyKTsKICAgICAgIGRxY29lZmZfcHRyICs9IDg7
CiAgICAgfQogICB9CiAKLSNpZiBWUFhfQVJDSF9BQVJDSDY0CisjaWZkZWYgX19hYXJjaDY0X18K
ICAgKmVvYl9wdHIgPSB2bWF4dnFfdTE2KGVvYl9tYXgpOwogI2Vsc2UKICAgewpAQCAtMjgyLDUg
KzMxMyw1IEBAIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfbmVvbihjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsCiAgICAgY29uc3QgdWludDE2eDRfdCBlb2JfbWF4XzIgPSB2cG1heF91MTYo
ZW9iX21heF8xLCBlb2JfbWF4XzEpOwogICAgIHZzdDFfbGFuZV91MTYoZW9iX3B0ciwgZW9iX21h
eF8yLCAwKTsKICAgfQotI2VuZGlmICAvLyBWUFhfQVJDSF9BQVJDSDY0CisjZW5kaWYgIC8vIF9f
YWFyY2g2NF9fCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3NhZDRkX25l
b24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2FkNGRfbmVvbi5jCmluZGV4IDcxM2VlYzdh
OTJhYi4uMDY0NDNjNjk5NTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Nh
ZDRkX25lb24uYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3NhZDRkX25lb24uYwpAQCAt
MTcsMjEyICsxNywzNjQgQEAKICNpbmNsdWRlICJ2cHhfZHNwL2FybS9tZW1fbmVvbi5oIgogI2lu
Y2x1ZGUgInZweF9kc3AvYXJtL3N1bV9uZW9uLmgiCiAKLXN0YXRpYyBJTkxJTkUgdm9pZCBzYWQx
Nl9uZW9uKHVpbnQ4eDE2X3Qgc3JjLCB1aW50OHgxNl90IHJlZiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQxNng4X3QgKmNvbnN0IHNhZF9zdW0pIHsKLSAgdWludDh4MTZfdCBh
YnNfZGlmZiA9IHZhYmRxX3U4KHNyYywgcmVmKTsKLSAgKnNhZF9zdW0gPSB2cGFkYWxxX3U4KCpz
YWRfc3VtLCBhYnNfZGlmZik7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBzYWQ2NHhoeDRkX25l
b24oY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmWzRdLCBpbnQgcmVmX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmVzWzRd
LCBpbnQgaCkgewotICB1aW50MTZ4OF90IHN1bV9sb1s0XSA9IHsgdmR1cHFfbl91MTYoMCksIHZk
dXBxX25fdTE2KDApLCB2ZHVwcV9uX3UxNigwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZkdXBxX25fdTE2KDApIH07Ci0gIHVpbnQxNng4X3Qgc3VtX2hpWzRdID0geyB2ZHVwcV9uX3Ux
NigwKSwgdmR1cHFfbl91MTYoMCksIHZkdXBxX25fdTE2KDApLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmR1cHFfbl91MTYoMCkgfTsKLQotICBpbnQgaSA9IDA7Ci0gIGRvIHsKLSAgICB1
aW50OHgxNl90IHMwLCBzMSwgczIsIHMzOwotCi0gICAgczAgPSB2bGQxcV91OChzcmMgKyBpICog
c3JjX3N0cmlkZSk7Ci0gICAgc2FkMTZfbmVvbihzMCwgdmxkMXFfdTgocmVmWzBdICsgaSAqIHJl
Zl9zdHJpZGUpLCAmc3VtX2xvWzBdKTsKLSAgICBzYWQxNl9uZW9uKHMwLCB2bGQxcV91OChyZWZb
MV0gKyBpICogcmVmX3N0cmlkZSksICZzdW1fbG9bMV0pOwotICAgIHNhZDE2X25lb24oczAsIHZs
ZDFxX3U4KHJlZlsyXSArIGkgKiByZWZfc3RyaWRlKSwgJnN1bV9sb1syXSk7Ci0gICAgc2FkMTZf
bmVvbihzMCwgdmxkMXFfdTgocmVmWzNdICsgaSAqIHJlZl9zdHJpZGUpLCAmc3VtX2xvWzNdKTsK
LQotICAgIHMxID0gdmxkMXFfdTgoc3JjICsgaSAqIHNyY19zdHJpZGUgKyAxNik7Ci0gICAgc2Fk
MTZfbmVvbihzMSwgdmxkMXFfdTgocmVmWzBdICsgaSAqIHJlZl9zdHJpZGUgKyAxNiksICZzdW1f
aGlbMF0pOwotICAgIHNhZDE2X25lb24oczEsIHZsZDFxX3U4KHJlZlsxXSArIGkgKiByZWZfc3Ry
aWRlICsgMTYpLCAmc3VtX2hpWzFdKTsKLSAgICBzYWQxNl9uZW9uKHMxLCB2bGQxcV91OChyZWZb
Ml0gKyBpICogcmVmX3N0cmlkZSArIDE2KSwgJnN1bV9oaVsyXSk7Ci0gICAgc2FkMTZfbmVvbihz
MSwgdmxkMXFfdTgocmVmWzNdICsgaSAqIHJlZl9zdHJpZGUgKyAxNiksICZzdW1faGlbM10pOwot
Ci0gICAgczIgPSB2bGQxcV91OChzcmMgKyBpICogc3JjX3N0cmlkZSArIDMyKTsKLSAgICBzYWQx
Nl9uZW9uKHMyLCB2bGQxcV91OChyZWZbMF0gKyBpICogcmVmX3N0cmlkZSArIDMyKSwgJnN1bV9s
b1swXSk7Ci0gICAgc2FkMTZfbmVvbihzMiwgdmxkMXFfdTgocmVmWzFdICsgaSAqIHJlZl9zdHJp
ZGUgKyAzMiksICZzdW1fbG9bMV0pOwotICAgIHNhZDE2X25lb24oczIsIHZsZDFxX3U4KHJlZlsy
XSArIGkgKiByZWZfc3RyaWRlICsgMzIpLCAmc3VtX2xvWzJdKTsKLSAgICBzYWQxNl9uZW9uKHMy
LCB2bGQxcV91OChyZWZbM10gKyBpICogcmVmX3N0cmlkZSArIDMyKSwgJnN1bV9sb1szXSk7Ci0K
LSAgICBzMyA9IHZsZDFxX3U4KHNyYyArIGkgKiBzcmNfc3RyaWRlICsgNDgpOwotICAgIHNhZDE2
X25lb24oczMsIHZsZDFxX3U4KHJlZlswXSArIGkgKiByZWZfc3RyaWRlICsgNDgpLCAmc3VtX2hp
WzBdKTsKLSAgICBzYWQxNl9uZW9uKHMzLCB2bGQxcV91OChyZWZbMV0gKyBpICogcmVmX3N0cmlk
ZSArIDQ4KSwgJnN1bV9oaVsxXSk7Ci0gICAgc2FkMTZfbmVvbihzMywgdmxkMXFfdTgocmVmWzJd
ICsgaSAqIHJlZl9zdHJpZGUgKyA0OCksICZzdW1faGlbMl0pOwotICAgIHNhZDE2X25lb24oczMs
IHZsZDFxX3U4KHJlZlszXSArIGkgKiByZWZfc3RyaWRlICsgNDgpLCAmc3VtX2hpWzNdKTsKLQot
ICAgIGkrKzsKLSAgfSB3aGlsZSAoaSA8IGgpOwotCi0gIHZzdDFxX3UzMihyZXMsIGhvcml6b250
YWxfbG9uZ19hZGRfNGRfdWludDE2eDgoc3VtX2xvLCBzdW1faGkpKTsKLX0KLQotc3RhdGljIElO
TElORSB2b2lkIHNhZDMyeGh4NGRfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpj
b25zdCByZWZbNF0sIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MzJfdCByZXNbNF0sIGludCBoKSB7Ci0gIHVpbnQxNng4X3Qgc3VtX2xvWzRd
ID0geyB2ZHVwcV9uX3UxNigwKSwgdmR1cHFfbl91MTYoMCksIHZkdXBxX25fdTE2KDApLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFfbl91MTYoMCkgfTsKLSAgdWludDE2eDhfdCBz
dW1faGlbNF0gPSB7IHZkdXBxX25fdTE2KDApLCB2ZHVwcV9uX3UxNigwKSwgdmR1cHFfbl91MTYo
MCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB2ZHVwcV9uX3UxNigwKSB9OwotCi0gIGlu
dCBpID0gMDsKLSAgZG8gewotICAgIHVpbnQ4eDE2X3QgczAsIHMxOwotCi0gICAgczAgPSB2bGQx
cV91OChzcmMgKyBpICogc3JjX3N0cmlkZSk7Ci0gICAgc2FkMTZfbmVvbihzMCwgdmxkMXFfdTgo
cmVmWzBdICsgaSAqIHJlZl9zdHJpZGUpLCAmc3VtX2xvWzBdKTsKLSAgICBzYWQxNl9uZW9uKHMw
LCB2bGQxcV91OChyZWZbMV0gKyBpICogcmVmX3N0cmlkZSksICZzdW1fbG9bMV0pOwotICAgIHNh
ZDE2X25lb24oczAsIHZsZDFxX3U4KHJlZlsyXSArIGkgKiByZWZfc3RyaWRlKSwgJnN1bV9sb1sy
XSk7Ci0gICAgc2FkMTZfbmVvbihzMCwgdmxkMXFfdTgocmVmWzNdICsgaSAqIHJlZl9zdHJpZGUp
LCAmc3VtX2xvWzNdKTsKLQotICAgIHMxID0gdmxkMXFfdTgoc3JjICsgaSAqIHNyY19zdHJpZGUg
KyAxNik7Ci0gICAgc2FkMTZfbmVvbihzMSwgdmxkMXFfdTgocmVmWzBdICsgaSAqIHJlZl9zdHJp
ZGUgKyAxNiksICZzdW1faGlbMF0pOwotICAgIHNhZDE2X25lb24oczEsIHZsZDFxX3U4KHJlZlsx
XSArIGkgKiByZWZfc3RyaWRlICsgMTYpLCAmc3VtX2hpWzFdKTsKLSAgICBzYWQxNl9uZW9uKHMx
LCB2bGQxcV91OChyZWZbMl0gKyBpICogcmVmX3N0cmlkZSArIDE2KSwgJnN1bV9oaVsyXSk7Ci0g
ICAgc2FkMTZfbmVvbihzMSwgdmxkMXFfdTgocmVmWzNdICsgaSAqIHJlZl9zdHJpZGUgKyAxNiks
ICZzdW1faGlbM10pOwotCi0gICAgaSsrOwotICB9IHdoaWxlIChpIDwgaCk7Ci0KLSAgdnN0MXFf
dTMyKHJlcywgaG9yaXpvbnRhbF9sb25nX2FkZF80ZF91aW50MTZ4OChzdW1fbG8sIHN1bV9oaSkp
OwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgc2FkMTZ4aHg0ZF9uZW9uKGNvbnN0IHVpbnQ4X3Qg
KnNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZls0XSwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJlc1s0XSwgaW50IGgpIHsKLSAgdWlu
dDE2eDhfdCBzdW1bNF0gPSB7IHZkdXBxX25fdTE2KDApLCB2ZHVwcV9uX3UxNigwKSwgdmR1cHFf
bl91MTYoMCksCi0gICAgICAgICAgICAgICAgICAgICAgICB2ZHVwcV9uX3UxNigwKSB9Oworc3Rh
dGljIElOTElORSB1aW50OHg4X3QgbG9hZF91bmFsaWduZWRfMl9idWZmZXJzKGNvbnN0IHZvaWQg
KmNvbnN0IGJ1ZjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgdm9pZCAqY29uc3QgYnVmMSkgeworICB1aW50MzJfdCBhOworICB1aW50MzJ4
Ml90IGFhID0gdmR1cF9uX3UzMigwKTsKKyAgbWVtY3B5KCZhLCBidWYwLCA0KTsKKyAgYWEgPSB2
c2V0X2xhbmVfdTMyKGEsIGFhLCAwKTsKKyAgbWVtY3B5KCZhLCBidWYxLCA0KTsKKyAgYWEgPSB2
c2V0X2xhbmVfdTMyKGEsIGFhLCAxKTsKKyAgcmV0dXJuIHZyZWludGVycHJldF91OF91MzIoYWEp
OworfQorCitzdGF0aWMgSU5MSU5FIHZvaWQgc2FkNHhfNGQoY29uc3QgdWludDhfdCAqY29uc3Qg
c3JjX3B0ciwgY29uc3QgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludCByZWZfc3RyaWRlLCBjb25zdCBpbnQgaGVpZ2h0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjb25zdCByZXMpIHsKKyAgaW50IGk7Cisg
IHVpbnQxNng4X3QgYWJzWzJdID0geyB2ZHVwcV9uX3UxNigwKSwgdmR1cHFfbl91MTYoMCkgfTsK
KyAgdWludDE2eDRfdCBhWzJdOworICB1aW50MzJ4NF90IHI7CisKKyAgYXNzZXJ0KCEoKGludHB0
cl90KXNyY19wdHIgJSBzaXplb2YodWludDMyX3QpKSk7CisgIGFzc2VydCghKHNyY19zdHJpZGUg
JSBzaXplb2YodWludDMyX3QpKSk7CisKKyAgZm9yIChpID0gMDsgaSA8IGhlaWdodDsgKytpKSB7
CisgICAgY29uc3QgdWludDh4OF90IHMgPSB2cmVpbnRlcnByZXRfdThfdTMyKAorICAgICAgICB2
bGQxX2R1cF91MzIoKGNvbnN0IHVpbnQzMl90ICopKHNyY19wdHIgKyBpICogc3JjX3N0cmlkZSkp
KTsKKyAgICBjb25zdCB1aW50OHg4X3QgcmVmMDEgPSBsb2FkX3VuYWxpZ25lZF8yX2J1ZmZlcnMo
CisgICAgICAgIHJlZl9hcnJheVswXSArIGkgKiByZWZfc3RyaWRlLCByZWZfYXJyYXlbMV0gKyBp
ICogcmVmX3N0cmlkZSk7CisgICAgY29uc3QgdWludDh4OF90IHJlZjIzID0gbG9hZF91bmFsaWdu
ZWRfMl9idWZmZXJzKAorICAgICAgICByZWZfYXJyYXlbMl0gKyBpICogcmVmX3N0cmlkZSwgcmVm
X2FycmF5WzNdICsgaSAqIHJlZl9zdHJpZGUpOworICAgIGFic1swXSA9IHZhYmFsX3U4KGFic1sw
XSwgcywgcmVmMDEpOworICAgIGFic1sxXSA9IHZhYmFsX3U4KGFic1sxXSwgcywgcmVmMjMpOwor
ICB9CisKKyAgYVswXSA9IHZwYWRkX3UxNih2Z2V0X2xvd191MTYoYWJzWzBdKSwgdmdldF9oaWdo
X3UxNihhYnNbMF0pKTsKKyAgYVsxXSA9IHZwYWRkX3UxNih2Z2V0X2xvd191MTYoYWJzWzFdKSwg
dmdldF9oaWdoX3UxNihhYnNbMV0pKTsKKyAgciA9IHZwYWRkbHFfdTE2KHZjb21iaW5lX3UxNihh
WzBdLCBhWzFdKSk7CisgIHZzdDFxX3UzMihyZXMsIHIpOworfQorCit2b2lkIHZweF9zYWQ0eDR4
NGRfbmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJl
Zl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcmVzKSB7CisgIHNh
ZDR4XzRkKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgNCwgcmVz
KTsKK30KKwordm9pZCB2cHhfc2FkNHg4eDRkX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpj
b25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QgKnJlcykgeworICBzYWQ0eF80ZChzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZf
YXJyYXksIHJlZl9zdHJpZGUsIDgsIHJlcyk7Cit9CiAKLSAgaW50IGkgPSAwOwotICBkbyB7Ci0g
ICAgY29uc3QgdWludDh4MTZfdCBzID0gdmxkMXFfdTgoc3JjICsgaSAqIHNyY19zdHJpZGUpOwot
ICAgIHNhZDE2X25lb24ocywgdmxkMXFfdTgocmVmWzBdICsgaSAqIHJlZl9zdHJpZGUpLCAmc3Vt
WzBdKTsKLSAgICBzYWQxNl9uZW9uKHMsIHZsZDFxX3U4KHJlZlsxXSArIGkgKiByZWZfc3RyaWRl
KSwgJnN1bVsxXSk7Ci0gICAgc2FkMTZfbmVvbihzLCB2bGQxcV91OChyZWZbMl0gKyBpICogcmVm
X3N0cmlkZSksICZzdW1bMl0pOwotICAgIHNhZDE2X25lb24ocywgdmxkMXFfdTgocmVmWzNdICsg
aSAqIHJlZl9zdHJpZGUpLCAmc3VtWzNdKTsKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKy8v
IENhbiBoYW5kbGUgNTEyIHBpeGVscycgc2FkIHN1bSAoc3VjaCBhcyAxNngzMiBvciAzMngxNikK
K3N0YXRpYyBJTkxJTkUgdm9pZCBzYWRfNTEyX3BlbF9maW5hbF9uZW9uKGNvbnN0IHVpbnQxNng4
X3QgKnN1bSAvKls0XSovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QgKmNvbnN0IHJlcykgeworICBjb25zdCB1aW50MTZ4NF90IGEwID0gdmFkZF91
MTYodmdldF9sb3dfdTE2KHN1bVswXSksIHZnZXRfaGlnaF91MTYoc3VtWzBdKSk7CisgIGNvbnN0
IHVpbnQxNng0X3QgYTEgPSB2YWRkX3UxNih2Z2V0X2xvd191MTYoc3VtWzFdKSwgdmdldF9oaWdo
X3UxNihzdW1bMV0pKTsKKyAgY29uc3QgdWludDE2eDRfdCBhMiA9IHZhZGRfdTE2KHZnZXRfbG93
X3UxNihzdW1bMl0pLCB2Z2V0X2hpZ2hfdTE2KHN1bVsyXSkpOworICBjb25zdCB1aW50MTZ4NF90
IGEzID0gdmFkZF91MTYodmdldF9sb3dfdTE2KHN1bVszXSksIHZnZXRfaGlnaF91MTYoc3VtWzNd
KSk7CisgIGNvbnN0IHVpbnQxNng0X3QgYjAgPSB2cGFkZF91MTYoYTAsIGExKTsKKyAgY29uc3Qg
dWludDE2eDRfdCBiMSA9IHZwYWRkX3UxNihhMiwgYTMpOworICBjb25zdCB1aW50MzJ4NF90IHIg
PSB2cGFkZGxxX3UxNih2Y29tYmluZV91MTYoYjAsIGIxKSk7CisgIHZzdDFxX3UzMihyZXMsIHIp
OworfQogCi0gICAgaSsrOwotICB9IHdoaWxlIChpIDwgaCk7CisvLyBDYW4gaGFuZGxlIDEwMjQg
cGl4ZWxzJyBzYWQgc3VtIChzdWNoIGFzIDMyeDMyKQorc3RhdGljIElOTElORSB2b2lkIHNhZF8x
MDI0X3BlbF9maW5hbF9uZW9uKGNvbnN0IHVpbnQxNng4X3QgKnN1bSAvKls0XSovLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjb25zdCByZXMp
IHsKKyAgY29uc3QgdWludDE2eDRfdCBhMCA9IHZwYWRkX3UxNih2Z2V0X2xvd191MTYoc3VtWzBd
KSwgdmdldF9oaWdoX3UxNihzdW1bMF0pKTsKKyAgY29uc3QgdWludDE2eDRfdCBhMSA9IHZwYWRk
X3UxNih2Z2V0X2xvd191MTYoc3VtWzFdKSwgdmdldF9oaWdoX3UxNihzdW1bMV0pKTsKKyAgY29u
c3QgdWludDE2eDRfdCBhMiA9IHZwYWRkX3UxNih2Z2V0X2xvd191MTYoc3VtWzJdKSwgdmdldF9o
aWdoX3UxNihzdW1bMl0pKTsKKyAgY29uc3QgdWludDE2eDRfdCBhMyA9IHZwYWRkX3UxNih2Z2V0
X2xvd191MTYoc3VtWzNdKSwgdmdldF9oaWdoX3UxNihzdW1bM10pKTsKKyAgY29uc3QgdWludDMy
eDRfdCBiMCA9IHZwYWRkbHFfdTE2KHZjb21iaW5lX3UxNihhMCwgYTEpKTsKKyAgY29uc3QgdWlu
dDMyeDRfdCBiMSA9IHZwYWRkbHFfdTE2KHZjb21iaW5lX3UxNihhMiwgYTMpKTsKKyAgY29uc3Qg
dWludDMyeDJfdCBjMCA9IHZwYWRkX3UzMih2Z2V0X2xvd191MzIoYjApLCB2Z2V0X2hpZ2hfdTMy
KGIwKSk7CisgIGNvbnN0IHVpbnQzMngyX3QgYzEgPSB2cGFkZF91MzIodmdldF9sb3dfdTMyKGIx
KSwgdmdldF9oaWdoX3UzMihiMSkpOworICB2c3QxcV91MzIocmVzLCB2Y29tYmluZV91MzIoYzAs
IGMxKSk7Cit9CiAKLSAgdnN0MXFfdTMyKHJlcywgaG9yaXpvbnRhbF9hZGRfNGRfdWludDE2eDgo
c3VtKSk7CisvLyBDYW4gaGFuZGxlIDIwNDggcGl4ZWxzJyBzYWQgc3VtIChzdWNoIGFzIDMyeDY0
IG9yIDY0eDMyKQorc3RhdGljIElOTElORSB2b2lkIHNhZF8yMDQ4X3BlbF9maW5hbF9uZW9uKGNv
bnN0IHVpbnQxNng4X3QgKnN1bSAvKls0XSovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjb25zdCByZXMpIHsKKyAgY29uc3QgdWludDMyeDRf
dCBhMCA9IHZwYWRkbHFfdTE2KHN1bVswXSk7CisgIGNvbnN0IHVpbnQzMng0X3QgYTEgPSB2cGFk
ZGxxX3UxNihzdW1bMV0pOworICBjb25zdCB1aW50MzJ4NF90IGEyID0gdnBhZGRscV91MTYoc3Vt
WzJdKTsKKyAgY29uc3QgdWludDMyeDRfdCBhMyA9IHZwYWRkbHFfdTE2KHN1bVszXSk7CisgIGNv
bnN0IHVpbnQzMngyX3QgYjAgPSB2YWRkX3UzMih2Z2V0X2xvd191MzIoYTApLCB2Z2V0X2hpZ2hf
dTMyKGEwKSk7CisgIGNvbnN0IHVpbnQzMngyX3QgYjEgPSB2YWRkX3UzMih2Z2V0X2xvd191MzIo
YTEpLCB2Z2V0X2hpZ2hfdTMyKGExKSk7CisgIGNvbnN0IHVpbnQzMngyX3QgYjIgPSB2YWRkX3Uz
Mih2Z2V0X2xvd191MzIoYTIpLCB2Z2V0X2hpZ2hfdTMyKGEyKSk7CisgIGNvbnN0IHVpbnQzMngy
X3QgYjMgPSB2YWRkX3UzMih2Z2V0X2xvd191MzIoYTMpLCB2Z2V0X2hpZ2hfdTMyKGEzKSk7Cisg
IGNvbnN0IHVpbnQzMngyX3QgYzAgPSB2cGFkZF91MzIoYjAsIGIxKTsKKyAgY29uc3QgdWludDMy
eDJfdCBjMSA9IHZwYWRkX3UzMihiMiwgYjMpOworICB2c3QxcV91MzIocmVzLCB2Y29tYmluZV91
MzIoYzAsIGMxKSk7CiB9CiAKLXN0YXRpYyBJTkxJTkUgdm9pZCBzYWQ4X25lb24odWludDh4OF90
IHNyYywgdWludDh4OF90IHJlZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2
eDhfdCAqY29uc3Qgc2FkX3N1bSkgewotICB1aW50OHg4X3QgYWJzX2RpZmYgPSB2YWJkX3U4KHNy
YywgcmVmKTsKLSAgKnNhZF9zdW0gPSB2YWRkd191OCgqc2FkX3N1bSwgYWJzX2RpZmYpOworLy8g
Q2FuIGhhbmRsZSA0MDk2IHBpeGVscycgc2FkIHN1bSAoc3VjaCBhcyA2NHg2NCkKK3N0YXRpYyBJ
TkxJTkUgdm9pZCBzYWRfNDA5Nl9wZWxfZmluYWxfbmVvbihjb25zdCB1aW50MTZ4OF90ICpzdW0g
LypbOF0qLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCAqY29uc3QgcmVzKSB7CisgIGNvbnN0IHVpbnQzMng0X3QgYTAgPSB2cGFkZGxxX3UxNihz
dW1bMF0pOworICBjb25zdCB1aW50MzJ4NF90IGExID0gdnBhZGRscV91MTYoc3VtWzFdKTsKKyAg
Y29uc3QgdWludDMyeDRfdCBhMiA9IHZwYWRkbHFfdTE2KHN1bVsyXSk7CisgIGNvbnN0IHVpbnQz
Mng0X3QgYTMgPSB2cGFkZGxxX3UxNihzdW1bM10pOworICBjb25zdCB1aW50MzJ4NF90IGE0ID0g
dnBhZGRscV91MTYoc3VtWzRdKTsKKyAgY29uc3QgdWludDMyeDRfdCBhNSA9IHZwYWRkbHFfdTE2
KHN1bVs1XSk7CisgIGNvbnN0IHVpbnQzMng0X3QgYTYgPSB2cGFkZGxxX3UxNihzdW1bNl0pOwor
ICBjb25zdCB1aW50MzJ4NF90IGE3ID0gdnBhZGRscV91MTYoc3VtWzddKTsKKyAgY29uc3QgdWlu
dDMyeDRfdCBiMCA9IHZhZGRxX3UzMihhMCwgYTEpOworICBjb25zdCB1aW50MzJ4NF90IGIxID0g
dmFkZHFfdTMyKGEyLCBhMyk7CisgIGNvbnN0IHVpbnQzMng0X3QgYjIgPSB2YWRkcV91MzIoYTQs
IGE1KTsKKyAgY29uc3QgdWludDMyeDRfdCBiMyA9IHZhZGRxX3UzMihhNiwgYTcpOworICBjb25z
dCB1aW50MzJ4Ml90IGMwID0gdmFkZF91MzIodmdldF9sb3dfdTMyKGIwKSwgdmdldF9oaWdoX3Uz
MihiMCkpOworICBjb25zdCB1aW50MzJ4Ml90IGMxID0gdmFkZF91MzIodmdldF9sb3dfdTMyKGIx
KSwgdmdldF9oaWdoX3UzMihiMSkpOworICBjb25zdCB1aW50MzJ4Ml90IGMyID0gdmFkZF91MzIo
dmdldF9sb3dfdTMyKGIyKSwgdmdldF9oaWdoX3UzMihiMikpOworICBjb25zdCB1aW50MzJ4Ml90
IGMzID0gdmFkZF91MzIodmdldF9sb3dfdTMyKGIzKSwgdmdldF9oaWdoX3UzMihiMykpOworICBj
b25zdCB1aW50MzJ4Ml90IGQwID0gdnBhZGRfdTMyKGMwLCBjMSk7CisgIGNvbnN0IHVpbnQzMngy
X3QgZDEgPSB2cGFkZF91MzIoYzIsIGMzKTsKKyAgdnN0MXFfdTMyKHJlcywgdmNvbWJpbmVfdTMy
KGQwLCBkMSkpOwogfQogCi1zdGF0aWMgSU5MSU5FIHZvaWQgc2FkOHhoeDRkX25lb24oY29uc3Qg
dWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZbNF0sIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJlc1s0XSwgaW50IGgpIHsK
K3N0YXRpYyBJTkxJTkUgdm9pZCBzYWQ4eF80ZChjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpj
b25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90ICpyZXMsIGNvbnN0IGludCBoZWlnaHQpIHsKKyAgaW50IGksIGo7Cisg
IGNvbnN0IHVpbnQ4X3QgKnJlZl9sb29wWzRdID0geyByZWZfYXJyYXlbMF0sIHJlZl9hcnJheVsx
XSwgcmVmX2FycmF5WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmX2Fy
cmF5WzNdIH07CiAgIHVpbnQxNng4X3Qgc3VtWzRdID0geyB2ZHVwcV9uX3UxNigwKSwgdmR1cHFf
bl91MTYoMCksIHZkdXBxX25fdTE2KDApLAogICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFf
bl91MTYoMCkgfTsKIAotICBpbnQgaSA9IDA7Ci0gIGRvIHsKLSAgICBjb25zdCB1aW50OHg4X3Qg
cyA9IHZsZDFfdTgoc3JjICsgaSAqIHNyY19zdHJpZGUpOwotICAgIHNhZDhfbmVvbihzLCB2bGQx
X3U4KHJlZlswXSArIGkgKiByZWZfc3RyaWRlKSwgJnN1bVswXSk7Ci0gICAgc2FkOF9uZW9uKHMs
IHZsZDFfdTgocmVmWzFdICsgaSAqIHJlZl9zdHJpZGUpLCAmc3VtWzFdKTsKLSAgICBzYWQ4X25l
b24ocywgdmxkMV91OChyZWZbMl0gKyBpICogcmVmX3N0cmlkZSksICZzdW1bMl0pOwotICAgIHNh
ZDhfbmVvbihzLCB2bGQxX3U4KHJlZlszXSArIGkgKiByZWZfc3RyaWRlKSwgJnN1bVszXSk7Cisg
IGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7ICsraSkgeworICAgIGNvbnN0IHVpbnQ4eDhfdCBzID0g
dmxkMV91OChzcmNfcHRyKTsKKyAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7CisgICAgZm9yIChq
ID0gMDsgaiA8IDQ7ICsraikgeworICAgICAgY29uc3QgdWludDh4OF90IGJfdTggPSB2bGQxX3U4
KHJlZl9sb29wW2pdKTsKKyAgICAgIHJlZl9sb29wW2pdICs9IHJlZl9zdHJpZGU7CisgICAgICBz
dW1bal0gPSB2YWJhbF91OChzdW1bal0sIHMsIGJfdTgpOworICAgIH0KKyAgfQorCisgIHNhZF81
MTJfcGVsX2ZpbmFsX25lb24oc3VtLCByZXMpOworfQorCit2b2lkIHZweF9zYWQ4eDR4NGRfbmVv
bihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcmVzKSB7CisgIHNhZDh4XzRk
KHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgcmVzLCA0KTsKK30K
Kwordm9pZCB2cHhfc2FkOHg4eDRkX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCBy
ZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDMyX3QgKnJlcykgeworICBzYWQ4eF80ZChzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfYXJyYXks
IHJlZl9zdHJpZGUsIHJlcywgOCk7Cit9CisKK3ZvaWQgdnB4X3NhZDh4MTZ4NGRfbmVvbihjb25z
dCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpyZXMpIHsKKyAgc2FkOHhfNGQoc3Jj
X3B0ciwgc3JjX3N0cmlkZSwgcmVmX2FycmF5LCByZWZfc3RyaWRlLCByZXMsIDE2KTsKK30KIAot
ICAgIGkrKzsKLSAgfSB3aGlsZSAoaSA8IGgpOworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAot
ICB2c3QxcV91MzIocmVzLCBob3Jpem9udGFsX2FkZF80ZF91aW50MTZ4OChzdW0pKTsKK3N0YXRp
YyBJTkxJTkUgdm9pZCBzYWQxNl9uZW9uKGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGNvbnN0IHVp
bnQ4eDE2X3Qgc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNng4
X3QgKmNvbnN0IHN1bSkgeworICBjb25zdCB1aW50OHgxNl90IHIgPSB2bGQxcV91OChyZWZfcHRy
KTsKKyAgKnN1bSA9IHZhYmFsX3U4KCpzdW0sIHZnZXRfbG93X3U4KHNyY19wdHIpLCB2Z2V0X2xv
d191OChyKSk7CisgICpzdW0gPSB2YWJhbF91OCgqc3VtLCB2Z2V0X2hpZ2hfdTgoc3JjX3B0ciks
IHZnZXRfaGlnaF91OChyKSk7CiB9CiAKLXN0YXRpYyBJTkxJTkUgdm9pZCBzYWQ0eGh4NGRfbmVv
bihjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZls0XSwgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmVzWzRdLCBp
bnQgaCkgeworc3RhdGljIElOTElORSB2b2lkIHNhZDE2eF80ZChjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnJlcywgY29uc3QgaW50IGhlaWdodCkgeworICBp
bnQgaSwgajsKKyAgY29uc3QgdWludDhfdCAqcmVmX2xvb3BbNF0gPSB7IHJlZl9hcnJheVswXSwg
cmVmX2FycmF5WzFdLCByZWZfYXJyYXlbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZWZfYXJyYXlbM10gfTsKICAgdWludDE2eDhfdCBzdW1bNF0gPSB7IHZkdXBxX25fdTE2
KDApLCB2ZHVwcV9uX3UxNigwKSwgdmR1cHFfbl91MTYoMCksCiAgICAgICAgICAgICAgICAgICAg
ICAgICB2ZHVwcV9uX3UxNigwKSB9OwogCi0gIGludCBpID0gMDsKLSAgZG8gewotICAgIHVpbnQ4
eDhfdCBzID0gbG9hZF91bmFsaWduZWRfdTgoc3JjICsgaSAqIHNyY19zdHJpZGUsIHNyY19zdHJp
ZGUpOwotICAgIHVpbnQ4eDhfdCByMCA9IGxvYWRfdW5hbGlnbmVkX3U4KHJlZlswXSArIGkgKiBy
ZWZfc3RyaWRlLCByZWZfc3RyaWRlKTsKLSAgICB1aW50OHg4X3QgcjEgPSBsb2FkX3VuYWxpZ25l
ZF91OChyZWZbMV0gKyBpICogcmVmX3N0cmlkZSwgcmVmX3N0cmlkZSk7Ci0gICAgdWludDh4OF90
IHIyID0gbG9hZF91bmFsaWduZWRfdTgocmVmWzJdICsgaSAqIHJlZl9zdHJpZGUsIHJlZl9zdHJp
ZGUpOwotICAgIHVpbnQ4eDhfdCByMyA9IGxvYWRfdW5hbGlnbmVkX3U4KHJlZlszXSArIGkgKiBy
ZWZfc3RyaWRlLCByZWZfc3RyaWRlKTsKKyAgZm9yIChpID0gMDsgaSA8IGhlaWdodDsgKytpKSB7
CisgICAgY29uc3QgdWludDh4MTZfdCBzID0gdmxkMXFfdTgoc3JjX3B0cik7CisgICAgc3JjX3B0
ciArPSBzcmNfc3RyaWRlOworICAgIGZvciAoaiA9IDA7IGogPCA0OyArK2opIHsKKyAgICAgIHNh
ZDE2X25lb24ocmVmX2xvb3Bbal0sIHMsICZzdW1bal0pOworICAgICAgcmVmX2xvb3Bbal0gKz0g
cmVmX3N0cmlkZTsKKyAgICB9CisgIH0KKworICBzYWRfNTEyX3BlbF9maW5hbF9uZW9uKHN1bSwg
cmVzKTsKK30KIAotICAgIHNhZDhfbmVvbihzLCByMCwgJnN1bVswXSk7Ci0gICAgc2FkOF9uZW9u
KHMsIHIxLCAmc3VtWzFdKTsKLSAgICBzYWQ4X25lb24ocywgcjIsICZzdW1bMl0pOwotICAgIHNh
ZDhfbmVvbihzLCByMywgJnN1bVszXSk7Cit2b2lkIHZweF9zYWQxNng4eDRkX25lb24oY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcmVzKSB7CisgIHNhZDE2eF80ZChzcmNf
cHRyLCBzcmNfc3RyaWRlLCByZWZfYXJyYXksIHJlZl9zdHJpZGUsIHJlcywgOCk7Cit9CiAKLSAg
ICBpICs9IDI7Ci0gIH0gd2hpbGUgKGkgPCBoKTsKK3ZvaWQgdnB4X3NhZDE2eDE2eDRkX25lb24o
Y29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpyZXMpIHsKKyAgc2FkMTZ4
XzRkKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgcmVzLCAxNik7
Cit9CiAKLSAgdnN0MXFfdTMyKHJlcywgaG9yaXpvbnRhbF9hZGRfNGRfdWludDE2eDgoc3VtKSk7
Cit2b2lkIHZweF9zYWQxNngzMng0ZF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25z
dCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MzJfdCAqcmVzKSB7CisgIHNhZDE2eF80ZChzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZf
YXJyYXksIHJlZl9zdHJpZGUsIHJlcywgMzIpOwogfQogCi0jZGVmaW5lIFNBRF9XWEhfNERfTkVP
Tih3LCBoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIHZvaWQgdnB4X3NhZCMjdyMjeCMjaCMjeDRkX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9h
cnJheVs0XSkgeyAgICBcCi0gICAgc2FkIyN3IyN4aHg0ZF9uZW9uKHNyY19wdHIsIHNyY19zdHJp
ZGUsIHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgc2FkX2FycmF5LCBcCi0gICAgICAgICAgICAgICAg
ICAgICAgIChoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitzdGF0aWMgSU5MSU5FIHZvaWQgc2Fk
MzJ4XzRkKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVp
Z2h0LCB1aW50MTZ4OF90ICpjb25zdCBzdW0pIHsKKyAgaW50IGk7CisgIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9sb29wWzRdID0geyByZWZfYXJyYXlbMF0sIHJlZl9hcnJheVsxXSwgcmVmX2FycmF5WzJd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmX2FycmF5WzNdIH07CisKKyAg
c3VtWzBdID0gc3VtWzFdID0gc3VtWzJdID0gc3VtWzNdID0gdmR1cHFfbl91MTYoMCk7CisKKyAg
Zm9yIChpID0gMDsgaSA8IGhlaWdodDsgKytpKSB7CisgICAgdWludDh4MTZfdCBzOworCisgICAg
cyA9IHZsZDFxX3U4KHNyY19wdHIgKyAwICogMTYpOworICAgIHNhZDE2X25lb24ocmVmX2xvb3Bb
MF0gKyAwICogMTYsIHMsICZzdW1bMF0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMV0gKyAw
ICogMTYsIHMsICZzdW1bMV0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMl0gKyAwICogMTYs
IHMsICZzdW1bMl0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbM10gKyAwICogMTYsIHMsICZz
dW1bM10pOworCisgICAgcyA9IHZsZDFxX3U4KHNyY19wdHIgKyAxICogMTYpOworICAgIHNhZDE2
X25lb24ocmVmX2xvb3BbMF0gKyAxICogMTYsIHMsICZzdW1bMF0pOworICAgIHNhZDE2X25lb24o
cmVmX2xvb3BbMV0gKyAxICogMTYsIHMsICZzdW1bMV0pOworICAgIHNhZDE2X25lb24ocmVmX2xv
b3BbMl0gKyAxICogMTYsIHMsICZzdW1bMl0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbM10g
KyAxICogMTYsIHMsICZzdW1bM10pOworCisgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOworICAg
IHJlZl9sb29wWzBdICs9IHJlZl9zdHJpZGU7CisgICAgcmVmX2xvb3BbMV0gKz0gcmVmX3N0cmlk
ZTsKKyAgICByZWZfbG9vcFsyXSArPSByZWZfc3RyaWRlOworICAgIHJlZl9sb29wWzNdICs9IHJl
Zl9zdHJpZGU7CiAgIH0KK30KIAotU0FEX1dYSF80RF9ORU9OKDQsIDQpCi1TQURfV1hIXzREX05F
T04oNCwgOCkKLQotU0FEX1dYSF80RF9ORU9OKDgsIDQpCi1TQURfV1hIXzREX05FT04oOCwgOCkK
LVNBRF9XWEhfNERfTkVPTig4LCAxNikKLQotU0FEX1dYSF80RF9ORU9OKDE2LCA4KQotU0FEX1dY
SF80RF9ORU9OKDE2LCAxNikKLVNBRF9XWEhfNERfTkVPTigxNiwgMzIpCi0KLVNBRF9XWEhfNERf
TkVPTigzMiwgMTYpCi1TQURfV1hIXzREX05FT04oMzIsIDMyKQotU0FEX1dYSF80RF9ORU9OKDMy
LCA2NCkKLQotU0FEX1dYSF80RF9ORU9OKDY0LCAzMikKLVNBRF9XWEhfNERfTkVPTig2NCwgNjQp
Ci0KLSN1bmRlZiBTQURfV1hIXzREX05FT04KLQotI2RlZmluZSBTQURfU0tJUF9XWEhfNERfTkVP
Tih3LCBoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB2b2lk
IHZweF9zYWRfc2tpcF8jI3cjI3gjI2gjI3g0ZF9uZW9uKCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJp
ZGUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAq
Y29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHNhZCMjdyMjeGh4NGRfbmVvbihzcmNfcHRyLCAyICog
c3JjX3N0cmlkZSwgcmVmX2FycmF5LCAyICogcmVmX3N0cmlkZSwgXAotICAgICAgICAgICAgICAg
ICAgICAgICBzYWRfYXJyYXksICgoaCkgPj4gMSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIHNhZF9hcnJheVswXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNhZF9hcnJheVsxXSA8PD0gMTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNhZF9h
cnJheVsyXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHNhZF9hcnJheVszXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9Cit2b2lkIHZweF9zYWQzMngxNng0
ZF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCBy
ZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcmVzKSB7Cisg
IHVpbnQxNng4X3Qgc3VtWzRdOworICBzYWQzMnhfNGQoc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVm
X2FycmF5LCByZWZfc3RyaWRlLCAxNiwgc3VtKTsKKyAgc2FkXzUxMl9wZWxfZmluYWxfbmVvbihz
dW0sIHJlcyk7Cit9CiAKLVNBRF9TS0lQX1dYSF80RF9ORU9OKDQsIDQpCi1TQURfU0tJUF9XWEhf
NERfTkVPTig0LCA4KQordm9pZCB2cHhfc2FkMzJ4MzJ4NGRfbmVvbihjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QgKnJlcykgeworICB1aW50MTZ4OF90IHN1bVs0XTsKKyAg
c2FkMzJ4XzRkKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgMzIs
IHN1bSk7CisgIHNhZF8xMDI0X3BlbF9maW5hbF9uZW9uKHN1bSwgcmVzKTsKK30KKwordm9pZCB2
cHhfc2FkMzJ4NjR4NGRfbmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2Fy
cmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgKnJlcykgeworICB1aW50MTZ4OF90IHN1bVs0XTsKKyAgc2FkMzJ4XzRkKHNyY19wdHIsIHNy
Y19zdHJpZGUsIHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgNjQsIHN1bSk7CisgIHNhZF8yMDQ4X3Bl
bF9maW5hbF9uZW9uKHN1bSwgcmVzKTsKK30KIAotU0FEX1NLSVBfV1hIXzREX05FT04oOCwgNCkK
LVNBRF9TS0lQX1dYSF80RF9ORU9OKDgsIDgpCi1TQURfU0tJUF9XWEhfNERfTkVPTig4LCAxNikK
Ky8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK3ZvaWQgdnB4X3NhZDY0eDMyeDRkX25lb24oY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpyZXMpIHsKKyAgaW50IGk7Cisg
IGNvbnN0IHVpbnQ4X3QgKnJlZl9sb29wWzRdID0geyByZWZfYXJyYXlbMF0sIHJlZl9hcnJheVsx
XSwgcmVmX2FycmF5WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmX2Fy
cmF5WzNdIH07CisgIHVpbnQxNng4X3Qgc3VtWzRdID0geyB2ZHVwcV9uX3UxNigwKSwgdmR1cHFf
bl91MTYoMCksIHZkdXBxX25fdTE2KDApLAorICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFf
bl91MTYoMCkgfTsKIAotU0FEX1NLSVBfV1hIXzREX05FT04oMTYsIDgpCi1TQURfU0tJUF9XWEhf
NERfTkVPTigxNiwgMTYpCi1TQURfU0tJUF9XWEhfNERfTkVPTigxNiwgMzIpCisgIGZvciAoaSA9
IDA7IGkgPCAzMjsgKytpKSB7CisgICAgdWludDh4MTZfdCBzOworCisgICAgcyA9IHZsZDFxX3U4
KHNyY19wdHIgKyAwICogMTYpOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMF0gKyAwICogMTYs
IHMsICZzdW1bMF0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMV0gKyAwICogMTYsIHMsICZz
dW1bMV0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMl0gKyAwICogMTYsIHMsICZzdW1bMl0p
OworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbM10gKyAwICogMTYsIHMsICZzdW1bM10pOworCisg
ICAgcyA9IHZsZDFxX3U4KHNyY19wdHIgKyAxICogMTYpOworICAgIHNhZDE2X25lb24ocmVmX2xv
b3BbMF0gKyAxICogMTYsIHMsICZzdW1bMF0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMV0g
KyAxICogMTYsIHMsICZzdW1bMV0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMl0gKyAxICog
MTYsIHMsICZzdW1bMl0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbM10gKyAxICogMTYsIHMs
ICZzdW1bM10pOworCisgICAgcyA9IHZsZDFxX3U4KHNyY19wdHIgKyAyICogMTYpOworICAgIHNh
ZDE2X25lb24ocmVmX2xvb3BbMF0gKyAyICogMTYsIHMsICZzdW1bMF0pOworICAgIHNhZDE2X25l
b24ocmVmX2xvb3BbMV0gKyAyICogMTYsIHMsICZzdW1bMV0pOworICAgIHNhZDE2X25lb24ocmVm
X2xvb3BbMl0gKyAyICogMTYsIHMsICZzdW1bMl0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3Bb
M10gKyAyICogMTYsIHMsICZzdW1bM10pOworCisgICAgcyA9IHZsZDFxX3U4KHNyY19wdHIgKyAz
ICogMTYpOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMF0gKyAzICogMTYsIHMsICZzdW1bMF0p
OworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMV0gKyAzICogMTYsIHMsICZzdW1bMV0pOworICAg
IHNhZDE2X25lb24ocmVmX2xvb3BbMl0gKyAzICogMTYsIHMsICZzdW1bMl0pOworICAgIHNhZDE2
X25lb24ocmVmX2xvb3BbM10gKyAzICogMTYsIHMsICZzdW1bM10pOworCisgICAgc3JjX3B0ciAr
PSBzcmNfc3RyaWRlOworICAgIHJlZl9sb29wWzBdICs9IHJlZl9zdHJpZGU7CisgICAgcmVmX2xv
b3BbMV0gKz0gcmVmX3N0cmlkZTsKKyAgICByZWZfbG9vcFsyXSArPSByZWZfc3RyaWRlOworICAg
IHJlZl9sb29wWzNdICs9IHJlZl9zdHJpZGU7CisgIH0KIAotU0FEX1NLSVBfV1hIXzREX05FT04o
MzIsIDE2KQotU0FEX1NLSVBfV1hIXzREX05FT04oMzIsIDMyKQotU0FEX1NLSVBfV1hIXzREX05F
T04oMzIsIDY0KQorICBzYWRfMjA0OF9wZWxfZmluYWxfbmVvbihzdW0sIHJlcyk7Cit9CiAKLVNB
RF9TS0lQX1dYSF80RF9ORU9OKDY0LCAzMikKLVNBRF9TS0lQX1dYSF80RF9ORU9OKDY0LCA2NCkK
K3ZvaWQgdnB4X3NhZDY0eDY0eDRkX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0
IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQzMl90ICpyZXMpIHsKKyAgaW50IGk7CisgIGNvbnN0IHVpbnQ4X3QgKnJlZl9sb29wWzRd
ID0geyByZWZfYXJyYXlbMF0sIHJlZl9hcnJheVsxXSwgcmVmX2FycmF5WzJdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVmX2FycmF5WzNdIH07CisgIHVpbnQxNng4X3Qgc3Vt
WzhdID0geyB2ZHVwcV9uX3UxNigwKSwgdmR1cHFfbl91MTYoMCksIHZkdXBxX25fdTE2KDApLAor
ICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFfbl91MTYoMCksIHZkdXBxX25fdTE2KDApLCB2
ZHVwcV9uX3UxNigwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZkdXBxX25fdTE2KDApLCB2
ZHVwcV9uX3UxNigwKSB9OworCisgIGZvciAoaSA9IDA7IGkgPCA2NDsgKytpKSB7CisgICAgdWlu
dDh4MTZfdCBzOworCisgICAgcyA9IHZsZDFxX3U4KHNyY19wdHIgKyAwICogMTYpOworICAgIHNh
ZDE2X25lb24ocmVmX2xvb3BbMF0gKyAwICogMTYsIHMsICZzdW1bMF0pOworICAgIHNhZDE2X25l
b24ocmVmX2xvb3BbMV0gKyAwICogMTYsIHMsICZzdW1bMl0pOworICAgIHNhZDE2X25lb24ocmVm
X2xvb3BbMl0gKyAwICogMTYsIHMsICZzdW1bNF0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3Bb
M10gKyAwICogMTYsIHMsICZzdW1bNl0pOworCisgICAgcyA9IHZsZDFxX3U4KHNyY19wdHIgKyAx
ICogMTYpOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMF0gKyAxICogMTYsIHMsICZzdW1bMF0p
OworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMV0gKyAxICogMTYsIHMsICZzdW1bMl0pOworICAg
IHNhZDE2X25lb24ocmVmX2xvb3BbMl0gKyAxICogMTYsIHMsICZzdW1bNF0pOworICAgIHNhZDE2
X25lb24ocmVmX2xvb3BbM10gKyAxICogMTYsIHMsICZzdW1bNl0pOworCisgICAgcyA9IHZsZDFx
X3U4KHNyY19wdHIgKyAyICogMTYpOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMF0gKyAyICog
MTYsIHMsICZzdW1bMV0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMV0gKyAyICogMTYsIHMs
ICZzdW1bM10pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMl0gKyAyICogMTYsIHMsICZzdW1b
NV0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbM10gKyAyICogMTYsIHMsICZzdW1bN10pOwor
CisgICAgcyA9IHZsZDFxX3U4KHNyY19wdHIgKyAzICogMTYpOworICAgIHNhZDE2X25lb24ocmVm
X2xvb3BbMF0gKyAzICogMTYsIHMsICZzdW1bMV0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3Bb
MV0gKyAzICogMTYsIHMsICZzdW1bM10pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbMl0gKyAz
ICogMTYsIHMsICZzdW1bNV0pOworICAgIHNhZDE2X25lb24ocmVmX2xvb3BbM10gKyAzICogMTYs
IHMsICZzdW1bN10pOworCisgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOworICAgIHJlZl9sb29w
WzBdICs9IHJlZl9zdHJpZGU7CisgICAgcmVmX2xvb3BbMV0gKz0gcmVmX3N0cmlkZTsKKyAgICBy
ZWZfbG9vcFsyXSArPSByZWZfc3RyaWRlOworICAgIHJlZl9sb29wWzNdICs9IHJlZl9zdHJpZGU7
CisgIH0KIAotI3VuZGVmIFNBRF9TS0lQX1dYSF80RF9ORU9OCisgIHNhZF80MDk2X3BlbF9maW5h
bF9uZW9uKHN1bSwgcmVzKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
c2FkNGRfbmVvbl9kb3Rwcm9kLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3NhZDRkX25lb25f
ZG90cHJvZC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MzNmYzQ4YjhjYWQuLjAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3NhZDRkX25lb25fZG90cHJv
ZC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTc2ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChj
KSAyMDIxIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAq
Ci0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
bGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhl
IHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFs
IHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRF
TlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQg
aW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8K
LQotI2luY2x1ZGUgPGFybV9uZW9uLmg+Ci0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0KLSNpbmNsdWRl
ICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUg
InZweC92cHhfaW50ZWdlci5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCi0j
aW5jbHVkZSAidnB4X2RzcC9hcm0vc3VtX25lb24uaCIKLQotc3RhdGljIElOTElORSB2b2lkIHNh
ZDE2X25lb24odWludDh4MTZfdCBzcmMsIHVpbnQ4eDE2X3QgcmVmLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyeDRfdCAqY29uc3Qgc2FkX3N1bSkgewotICB1aW50OHgxNl90
IGFic19kaWZmID0gdmFiZHFfdTgoc3JjLCByZWYpOwotICAqc2FkX3N1bSA9IHZkb3RxX3UzMigq
c2FkX3N1bSwgYWJzX2RpZmYsIHZkdXBxX25fdTgoMSkpOwotfQotCi1zdGF0aWMgSU5MSU5FIHZv
aWQgc2FkNjR4aHg0ZF9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90ICpjb25zdCByZWZbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHJlc1s0XSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCkgewotICB1aW50MzJ4NF90IHN1bV9s
b1s0XSA9IHsgdmR1cHFfbl91MzIoMCksIHZkdXBxX25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkdXBxX25fdTMyKDApIH07Ci0gIHVpbnQzMng0
X3Qgc3VtX2hpWzRdID0geyB2ZHVwcV9uX3UzMigwKSwgdmR1cHFfbl91MzIoMCksIHZkdXBxX25f
dTMyKDApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFfbl91MzIoMCkgfTsKLSAg
dWludDMyeDRfdCBzdW1bNF07Ci0KLSAgaW50IGkgPSAwOwotICBkbyB7Ci0gICAgdWludDh4MTZf
dCBzMCwgczEsIHMyLCBzMzsKLQotICAgIHMwID0gdmxkMXFfdTgoc3JjICsgaSAqIHNyY19zdHJp
ZGUpOwotICAgIHNhZDE2X25lb24oczAsIHZsZDFxX3U4KHJlZlswXSArIGkgKiByZWZfc3RyaWRl
KSwgJnN1bV9sb1swXSk7Ci0gICAgc2FkMTZfbmVvbihzMCwgdmxkMXFfdTgocmVmWzFdICsgaSAq
IHJlZl9zdHJpZGUpLCAmc3VtX2xvWzFdKTsKLSAgICBzYWQxNl9uZW9uKHMwLCB2bGQxcV91OChy
ZWZbMl0gKyBpICogcmVmX3N0cmlkZSksICZzdW1fbG9bMl0pOwotICAgIHNhZDE2X25lb24oczAs
IHZsZDFxX3U4KHJlZlszXSArIGkgKiByZWZfc3RyaWRlKSwgJnN1bV9sb1szXSk7Ci0KLSAgICBz
MSA9IHZsZDFxX3U4KHNyYyArIGkgKiBzcmNfc3RyaWRlICsgMTYpOwotICAgIHNhZDE2X25lb24o
czEsIHZsZDFxX3U4KHJlZlswXSArIGkgKiByZWZfc3RyaWRlICsgMTYpLCAmc3VtX2hpWzBdKTsK
LSAgICBzYWQxNl9uZW9uKHMxLCB2bGQxcV91OChyZWZbMV0gKyBpICogcmVmX3N0cmlkZSArIDE2
KSwgJnN1bV9oaVsxXSk7Ci0gICAgc2FkMTZfbmVvbihzMSwgdmxkMXFfdTgocmVmWzJdICsgaSAq
IHJlZl9zdHJpZGUgKyAxNiksICZzdW1faGlbMl0pOwotICAgIHNhZDE2X25lb24oczEsIHZsZDFx
X3U4KHJlZlszXSArIGkgKiByZWZfc3RyaWRlICsgMTYpLCAmc3VtX2hpWzNdKTsKLQotICAgIHMy
ID0gdmxkMXFfdTgoc3JjICsgaSAqIHNyY19zdHJpZGUgKyAzMik7Ci0gICAgc2FkMTZfbmVvbihz
MiwgdmxkMXFfdTgocmVmWzBdICsgaSAqIHJlZl9zdHJpZGUgKyAzMiksICZzdW1fbG9bMF0pOwot
ICAgIHNhZDE2X25lb24oczIsIHZsZDFxX3U4KHJlZlsxXSArIGkgKiByZWZfc3RyaWRlICsgMzIp
LCAmc3VtX2xvWzFdKTsKLSAgICBzYWQxNl9uZW9uKHMyLCB2bGQxcV91OChyZWZbMl0gKyBpICog
cmVmX3N0cmlkZSArIDMyKSwgJnN1bV9sb1syXSk7Ci0gICAgc2FkMTZfbmVvbihzMiwgdmxkMXFf
dTgocmVmWzNdICsgaSAqIHJlZl9zdHJpZGUgKyAzMiksICZzdW1fbG9bM10pOwotCi0gICAgczMg
PSB2bGQxcV91OChzcmMgKyBpICogc3JjX3N0cmlkZSArIDQ4KTsKLSAgICBzYWQxNl9uZW9uKHMz
LCB2bGQxcV91OChyZWZbMF0gKyBpICogcmVmX3N0cmlkZSArIDQ4KSwgJnN1bV9oaVswXSk7Ci0g
ICAgc2FkMTZfbmVvbihzMywgdmxkMXFfdTgocmVmWzFdICsgaSAqIHJlZl9zdHJpZGUgKyA0OCks
ICZzdW1faGlbMV0pOwotICAgIHNhZDE2X25lb24oczMsIHZsZDFxX3U4KHJlZlsyXSArIGkgKiBy
ZWZfc3RyaWRlICsgNDgpLCAmc3VtX2hpWzJdKTsKLSAgICBzYWQxNl9uZW9uKHMzLCB2bGQxcV91
OChyZWZbM10gKyBpICogcmVmX3N0cmlkZSArIDQ4KSwgJnN1bV9oaVszXSk7Ci0KLSAgfSB3aGls
ZSAoKytpIDwgaCk7Ci0KLSAgc3VtWzBdID0gdmFkZHFfdTMyKHN1bV9sb1swXSwgc3VtX2hpWzBd
KTsKLSAgc3VtWzFdID0gdmFkZHFfdTMyKHN1bV9sb1sxXSwgc3VtX2hpWzFdKTsKLSAgc3VtWzJd
ID0gdmFkZHFfdTMyKHN1bV9sb1syXSwgc3VtX2hpWzJdKTsKLSAgc3VtWzNdID0gdmFkZHFfdTMy
KHN1bV9sb1szXSwgc3VtX2hpWzNdKTsKLQotICB2c3QxcV91MzIocmVzLCBob3Jpem9udGFsX2Fk
ZF80ZF91aW50MzJ4NChzdW0pKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIHNhZDMyeGh4NGRf
bmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3Qg
cmVmWzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy
ZWZfc3RyaWRlLCB1aW50MzJfdCByZXNbNF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGgpIHsKLSAgdWludDMyeDRfdCBzdW1fbG9bNF0gPSB7IHZkdXBx
X25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSwgdmR1cHFfbl91MzIoMCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZHVwcV9uX3UzMigwKSB9OwotICB1aW50MzJ4NF90IHN1bV9oaVs0XSA9
IHsgdmR1cHFfbl91MzIoMCksIHZkdXBxX25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZkdXBxX25fdTMyKDApIH07Ci0gIHVpbnQzMng0X3Qgc3Vt
WzRdOwotCi0gIGludCBpID0gMDsKLSAgZG8gewotICAgIHVpbnQ4eDE2X3QgczAsIHMxOwotCi0g
ICAgczAgPSB2bGQxcV91OChzcmMgKyBpICogc3JjX3N0cmlkZSk7Ci0gICAgc2FkMTZfbmVvbihz
MCwgdmxkMXFfdTgocmVmWzBdICsgaSAqIHJlZl9zdHJpZGUpLCAmc3VtX2xvWzBdKTsKLSAgICBz
YWQxNl9uZW9uKHMwLCB2bGQxcV91OChyZWZbMV0gKyBpICogcmVmX3N0cmlkZSksICZzdW1fbG9b
MV0pOwotICAgIHNhZDE2X25lb24oczAsIHZsZDFxX3U4KHJlZlsyXSArIGkgKiByZWZfc3RyaWRl
KSwgJnN1bV9sb1syXSk7Ci0gICAgc2FkMTZfbmVvbihzMCwgdmxkMXFfdTgocmVmWzNdICsgaSAq
IHJlZl9zdHJpZGUpLCAmc3VtX2xvWzNdKTsKLQotICAgIHMxID0gdmxkMXFfdTgoc3JjICsgaSAq
IHNyY19zdHJpZGUgKyAxNik7Ci0gICAgc2FkMTZfbmVvbihzMSwgdmxkMXFfdTgocmVmWzBdICsg
aSAqIHJlZl9zdHJpZGUgKyAxNiksICZzdW1faGlbMF0pOwotICAgIHNhZDE2X25lb24oczEsIHZs
ZDFxX3U4KHJlZlsxXSArIGkgKiByZWZfc3RyaWRlICsgMTYpLCAmc3VtX2hpWzFdKTsKLSAgICBz
YWQxNl9uZW9uKHMxLCB2bGQxcV91OChyZWZbMl0gKyBpICogcmVmX3N0cmlkZSArIDE2KSwgJnN1
bV9oaVsyXSk7Ci0gICAgc2FkMTZfbmVvbihzMSwgdmxkMXFfdTgocmVmWzNdICsgaSAqIHJlZl9z
dHJpZGUgKyAxNiksICZzdW1faGlbM10pOwotCi0gIH0gd2hpbGUgKCsraSA8IGgpOwotCi0gIHN1
bVswXSA9IHZhZGRxX3UzMihzdW1fbG9bMF0sIHN1bV9oaVswXSk7Ci0gIHN1bVsxXSA9IHZhZGRx
X3UzMihzdW1fbG9bMV0sIHN1bV9oaVsxXSk7Ci0gIHN1bVsyXSA9IHZhZGRxX3UzMihzdW1fbG9b
Ml0sIHN1bV9oaVsyXSk7Ci0gIHN1bVszXSA9IHZhZGRxX3UzMihzdW1fbG9bM10sIHN1bV9oaVsz
XSk7Ci0KLSAgdnN0MXFfdTMyKHJlcywgaG9yaXpvbnRhbF9hZGRfNGRfdWludDMyeDQoc3VtKSk7
Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBzYWQxNnhoeDRkX25lb25fZG90cHJvZChjb25zdCB1
aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZls0XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qg
cmVzWzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBo
KSB7Ci0gIHVpbnQzMng0X3Qgc3VtWzRdID0geyB2ZHVwcV9uX3UzMigwKSwgdmR1cHFfbl91MzIo
MCksIHZkdXBxX25fdTMyKDApLAotICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFfbl91MzIo
MCkgfTsKLQotICBpbnQgaSA9IDA7Ci0gIGRvIHsKLSAgICBjb25zdCB1aW50OHgxNl90IHMgPSB2
bGQxcV91OChzcmMgKyBpICogc3JjX3N0cmlkZSk7Ci0gICAgc2FkMTZfbmVvbihzLCB2bGQxcV91
OChyZWZbMF0gKyBpICogcmVmX3N0cmlkZSksICZzdW1bMF0pOwotICAgIHNhZDE2X25lb24ocywg
dmxkMXFfdTgocmVmWzFdICsgaSAqIHJlZl9zdHJpZGUpLCAmc3VtWzFdKTsKLSAgICBzYWQxNl9u
ZW9uKHMsIHZsZDFxX3U4KHJlZlsyXSArIGkgKiByZWZfc3RyaWRlKSwgJnN1bVsyXSk7Ci0gICAg
c2FkMTZfbmVvbihzLCB2bGQxcV91OChyZWZbM10gKyBpICogcmVmX3N0cmlkZSksICZzdW1bM10p
OwotCi0gIH0gd2hpbGUgKCsraSA8IGgpOwotCi0gIHZzdDFxX3UzMihyZXMsIGhvcml6b250YWxf
YWRkXzRkX3VpbnQzMng0KHN1bSkpOwotfQotCi0jZGVmaW5lIFNBRF9XWEhfNERfTkVPTl9ET1RQ
Uk9EKHcsIGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHZvaWQg
dnB4X3NhZCMjdyMjeCMjaCMjeDRkX25lb25fZG90cHJvZCggICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpj
b25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICB1aW50MzJfdCBzYWRfYXJyYXlbNF0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgc2FkIyN3IyN4aHg0ZF9uZW9uX2RvdHByb2Qoc3JjX3B0
ciwgc3JjX3N0cmlkZSwgcmVmX2FycmF5LCByZWZfc3RyaWRlLCBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2FkX2FycmF5LCAoaCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIH0KLQotU0FEX1dYSF80RF9ORU9OX0RPVFBST0QoMTYsIDgpCi1TQURfV1hIXzREX05F
T05fRE9UUFJPRCgxNiwgMTYpCi1TQURfV1hIXzREX05FT05fRE9UUFJPRCgxNiwgMzIpCi0KLVNB
RF9XWEhfNERfTkVPTl9ET1RQUk9EKDMyLCAxNikKLVNBRF9XWEhfNERfTkVPTl9ET1RQUk9EKDMy
LCAzMikKLVNBRF9XWEhfNERfTkVPTl9ET1RQUk9EKDMyLCA2NCkKLQotU0FEX1dYSF80RF9ORU9O
X0RPVFBST0QoNjQsIDMyKQotU0FEX1dYSF80RF9ORU9OX0RPVFBST0QoNjQsIDY0KQotCi0jdW5k
ZWYgU0FEX1dYSF80RF9ORU9OX0RPVFBST0QKLQotI2RlZmluZSBTQURfU0tJUF9XWEhfNERfTkVP
Tl9ET1RQUk9EKHcsIGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHZvaWQgdnB4
X3NhZF9za2lwXyMjdyMjeCMjaCMjeDRkX25lb25fZG90cHJvZCggICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2Fy
cmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgICAgICAgICAgICAgICBcCi0gICAgICB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBzYWQjI3cjI3hoeDRkX25lb25fZG90cHJvZChzcmNfcHRyLCAyICogc3JjX3N0cmlkZSwg
cmVmX2FycmF5LCAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgKiByZWZf
c3RyaWRlLCBzYWRfYXJyYXksICgoaCkgPj4gMSkpOyBcCi0gICAgc2FkX2FycmF5WzBdIDw8PSAx
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBz
YWRfYXJyYXlbMV0gPDw9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHNhZF9hcnJheVsyXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc2FkX2FycmF5WzNdIDw8PSAxOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi1TQURf
U0tJUF9XWEhfNERfTkVPTl9ET1RQUk9EKDE2LCA4KQotU0FEX1NLSVBfV1hIXzREX05FT05fRE9U
UFJPRCgxNiwgMTYpCi1TQURfU0tJUF9XWEhfNERfTkVPTl9ET1RQUk9EKDE2LCAzMikKLQotU0FE
X1NLSVBfV1hIXzREX05FT05fRE9UUFJPRCgzMiwgMTYpCi1TQURfU0tJUF9XWEhfNERfTkVPTl9E
T1RQUk9EKDMyLCAzMikKLVNBRF9TS0lQX1dYSF80RF9ORU9OX0RPVFBST0QoMzIsIDY0KQotCi1T
QURfU0tJUF9XWEhfNERfTkVPTl9ET1RQUk9EKDY0LCAzMikKLVNBRF9TS0lQX1dYSF80RF9ORU9O
X0RPVFBST0QoNjQsIDY0KQotCi0jdW5kZWYgU0FEX1NLSVBfV1hIXzREX05FT05fRE9UUFJPRApk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWRfbmVvbi5jIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS9zYWRfbmVvbi5jCmluZGV4IDRkZDg3ZGRjMGZhMy4uYzRhNDllMzY2ZDUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3NhZF9uZW9uLmMKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS9zYWRfbmVvbi5jCkBAIC0xNywzNzUgKzE3LDMzNyBAQAogI2lu
Y2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCiAjaW5jbHVkZSAidnB4X2RzcC9hcm0vc3Vt
X25lb24uaCIKIAotc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgc2FkNjR4aF9uZW9uKGNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7Ci0gIHVp
bnQxNng4X3Qgc3VtWzRdID0geyB2ZHVwcV9uX3UxNigwKSwgdmR1cHFfbl91MTYoMCksIHZkdXBx
X25fdTE2KDApLAotICAgICAgICAgICAgICAgICAgICAgICAgdmR1cHFfbl91MTYoMCkgfTsKLSAg
dWludDMyeDRfdCBzdW1fdTMyOwotCi0gIGludCBpID0gaDsKLSAgZG8gewotICAgIHVpbnQ4eDE2
X3QgczAsIHMxLCBzMiwgczMsIHIwLCByMSwgcjIsIHIzOwotICAgIHVpbnQ4eDE2X3QgZGlmZjAs
IGRpZmYxLCBkaWZmMiwgZGlmZjM7Ci0KLSAgICBzMCA9IHZsZDFxX3U4KHNyY19wdHIpOwotICAg
IHIwID0gdmxkMXFfdTgocmVmX3B0cik7Ci0gICAgZGlmZjAgPSB2YWJkcV91OChzMCwgcjApOwot
ICAgIHN1bVswXSA9IHZwYWRhbHFfdTgoc3VtWzBdLCBkaWZmMCk7Ci0KLSAgICBzMSA9IHZsZDFx
X3U4KHNyY19wdHIgKyAxNik7Ci0gICAgcjEgPSB2bGQxcV91OChyZWZfcHRyICsgMTYpOwotICAg
IGRpZmYxID0gdmFiZHFfdTgoczEsIHIxKTsKLSAgICBzdW1bMV0gPSB2cGFkYWxxX3U4KHN1bVsx
XSwgZGlmZjEpOwotCi0gICAgczIgPSB2bGQxcV91OChzcmNfcHRyICsgMzIpOwotICAgIHIyID0g
dmxkMXFfdTgocmVmX3B0ciArIDMyKTsKLSAgICBkaWZmMiA9IHZhYmRxX3U4KHMyLCByMik7Ci0g
ICAgc3VtWzJdID0gdnBhZGFscV91OChzdW1bMl0sIGRpZmYyKTsKLQotICAgIHMzID0gdmxkMXFf
dTgoc3JjX3B0ciArIDQ4KTsKLSAgICByMyA9IHZsZDFxX3U4KHJlZl9wdHIgKyA0OCk7Ci0gICAg
ZGlmZjMgPSB2YWJkcV91OChzMywgcjMpOwotICAgIHN1bVszXSA9IHZwYWRhbHFfdTgoc3VtWzNd
LCBkaWZmMyk7Cit1aW50MzJfdCB2cHhfc2FkNHg0X25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUpIHsKKyAgY29uc3QgdWludDh4MTZfdCBzcmNfdTgg
PSBsb2FkX3VuYWxpZ25lZF91OHEoc3JjX3B0ciwgc3JjX3N0cmlkZSk7CisgIGNvbnN0IHVpbnQ4
eDE2X3QgcmVmX3U4ID0gbG9hZF91bmFsaWduZWRfdThxKHJlZl9wdHIsIHJlZl9zdHJpZGUpOwor
ICB1aW50MTZ4OF90IGFicyA9IHZhYmRsX3U4KHZnZXRfbG93X3U4KHNyY191OCksIHZnZXRfbG93
X3U4KHJlZl91OCkpOworICBhYnMgPSB2YWJhbF91OChhYnMsIHZnZXRfaGlnaF91OChzcmNfdTgp
LCB2Z2V0X2hpZ2hfdTgocmVmX3U4KSk7CisgIHJldHVybiB2Z2V0X2xhbmVfdTMyKGhvcml6b250
YWxfYWRkX3VpbnQxNng4KGFicyksIDApOworfQogCi0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRl
OwotICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgfSB3aGlsZSAoLS1pICE9IDApOwordWlu
dDMyX3QgdnB4X3NhZDR4NF9hdmdfbmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVm
X3B0ciwgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnNlY29uZF9wcmVkKSB7CisgIGNvbnN0IHVpbnQ4eDE2X3Qgc3JjX3U4ID0gbG9h
ZF91bmFsaWduZWRfdThxKHNyY19wdHIsIHNyY19zdHJpZGUpOworICBjb25zdCB1aW50OHgxNl90
IHJlZl91OCA9IGxvYWRfdW5hbGlnbmVkX3U4cShyZWZfcHRyLCByZWZfc3RyaWRlKTsKKyAgY29u
c3QgdWludDh4MTZfdCBzZWNvbmRfcHJlZF91OCA9IHZsZDFxX3U4KHNlY29uZF9wcmVkKTsKKyAg
Y29uc3QgdWludDh4MTZfdCBhdmcgPSB2cmhhZGRxX3U4KHJlZl91OCwgc2Vjb25kX3ByZWRfdTgp
OworICB1aW50MTZ4OF90IGFicyA9IHZhYmRsX3U4KHZnZXRfbG93X3U4KHNyY191OCksIHZnZXRf
bG93X3U4KGF2ZykpOworICBhYnMgPSB2YWJhbF91OChhYnMsIHZnZXRfaGlnaF91OChzcmNfdTgp
LCB2Z2V0X2hpZ2hfdTgoYXZnKSk7CisgIHJldHVybiB2Z2V0X2xhbmVfdTMyKGhvcml6b250YWxf
YWRkX3VpbnQxNng4KGFicyksIDApOworfQogCi0gIHN1bV91MzIgPSB2cGFkZGxxX3UxNihzdW1b
MF0pOwotICBzdW1fdTMyID0gdnBhZGFscV91MTYoc3VtX3UzMiwgc3VtWzFdKTsKLSAgc3VtX3Uz
MiA9IHZwYWRhbHFfdTE2KHN1bV91MzIsIHN1bVsyXSk7Ci0gIHN1bV91MzIgPSB2cGFkYWxxX3Ux
NihzdW1fdTMyLCBzdW1bM10pOwordWludDMyX3QgdnB4X3NhZDR4OF9uZW9uKGNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlKSB7CisgIGludCBpOworICB1aW50
MTZ4OF90IGFicyA9IHZkdXBxX25fdTE2KDApOworICBmb3IgKGkgPSAwOyBpIDwgODsgaSArPSA0
KSB7CisgICAgY29uc3QgdWludDh4MTZfdCBzcmNfdTggPSBsb2FkX3VuYWxpZ25lZF91OHEoc3Jj
X3B0ciwgc3JjX3N0cmlkZSk7CisgICAgY29uc3QgdWludDh4MTZfdCByZWZfdTggPSBsb2FkX3Vu
YWxpZ25lZF91OHEocmVmX3B0ciwgcmVmX3N0cmlkZSk7CisgICAgc3JjX3B0ciArPSA0ICogc3Jj
X3N0cmlkZTsKKyAgICByZWZfcHRyICs9IDQgKiByZWZfc3RyaWRlOworICAgIGFicyA9IHZhYmFs
X3U4KGFicywgdmdldF9sb3dfdTgoc3JjX3U4KSwgdmdldF9sb3dfdTgocmVmX3U4KSk7CisgICAg
YWJzID0gdmFiYWxfdTgoYWJzLCB2Z2V0X2hpZ2hfdTgoc3JjX3U4KSwgdmdldF9oaWdoX3U4KHJl
Zl91OCkpOworICB9CiAKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQzMng0KHN1bV91MzIp
OworICByZXR1cm4gdmdldF9sYW5lX3UzMihob3Jpem9udGFsX2FkZF91aW50MTZ4OChhYnMpLCAw
KTsKIH0KIAotc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgc2FkMzJ4aF9uZW9uKGNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7Ci0gIHVpbnQz
Mng0X3Qgc3VtID0gdmR1cHFfbl91MzIoMCk7Ci0KLSAgaW50IGkgPSBoOwotICBkbyB7Ci0gICAg
dWludDh4MTZfdCBzMCA9IHZsZDFxX3U4KHNyY19wdHIpOwotICAgIHVpbnQ4eDE2X3QgcjAgPSB2
bGQxcV91OChyZWZfcHRyKTsKLSAgICB1aW50OHgxNl90IGRpZmYwID0gdmFiZHFfdTgoczAsIHIw
KTsKLSAgICB1aW50MTZ4OF90IHN1bTAgPSB2cGFkZGxxX3U4KGRpZmYwKTsKK3VpbnQzMl90IHZw
eF9zYWQ0eDhfYXZnX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
ICpzZWNvbmRfcHJlZCkgeworICBpbnQgaTsKKyAgdWludDE2eDhfdCBhYnMgPSB2ZHVwcV9uX3Ux
NigwKTsKKyAgZm9yIChpID0gMDsgaSA8IDg7IGkgKz0gNCkgeworICAgIGNvbnN0IHVpbnQ4eDE2
X3Qgc3JjX3U4ID0gbG9hZF91bmFsaWduZWRfdThxKHNyY19wdHIsIHNyY19zdHJpZGUpOworICAg
IGNvbnN0IHVpbnQ4eDE2X3QgcmVmX3U4ID0gbG9hZF91bmFsaWduZWRfdThxKHJlZl9wdHIsIHJl
Zl9zdHJpZGUpOworICAgIGNvbnN0IHVpbnQ4eDE2X3Qgc2Vjb25kX3ByZWRfdTggPSB2bGQxcV91
OChzZWNvbmRfcHJlZCk7CisgICAgY29uc3QgdWludDh4MTZfdCBhdmcgPSB2cmhhZGRxX3U4KHJl
Zl91OCwgc2Vjb25kX3ByZWRfdTgpOworICAgIHNyY19wdHIgKz0gNCAqIHNyY19zdHJpZGU7Cisg
ICAgcmVmX3B0ciArPSA0ICogcmVmX3N0cmlkZTsKKyAgICBzZWNvbmRfcHJlZCArPSAxNjsKKyAg
ICBhYnMgPSB2YWJhbF91OChhYnMsIHZnZXRfbG93X3U4KHNyY191OCksIHZnZXRfbG93X3U4KGF2
ZykpOworICAgIGFicyA9IHZhYmFsX3U4KGFicywgdmdldF9oaWdoX3U4KHNyY191OCksIHZnZXRf
aGlnaF91OChhdmcpKTsKKyAgfQogCi0gICAgdWludDh4MTZfdCBzMSA9IHZsZDFxX3U4KHNyY19w
dHIgKyAxNik7Ci0gICAgdWludDh4MTZfdCByMSA9IHZsZDFxX3U4KHJlZl9wdHIgKyAxNik7Ci0g
ICAgdWludDh4MTZfdCBkaWZmMSA9IHZhYmRxX3U4KHMxLCByMSk7Ci0gICAgdWludDE2eDhfdCBz
dW0xID0gdnBhZGRscV91OChkaWZmMSk7CisgIHJldHVybiB2Z2V0X2xhbmVfdTMyKGhvcml6b250
YWxfYWRkX3VpbnQxNng4KGFicyksIDApOworfQogCi0gICAgc3VtID0gdnBhZGFscV91MTYoc3Vt
LCBzdW0wKTsKLSAgICBzdW0gPSB2cGFkYWxxX3UxNihzdW0sIHN1bTEpOworc3RhdGljIElOTElO
RSB1aW50MTZ4OF90IHNhZDh4KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIs
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dCBoZWlnaHQpIHsKKyAgaW50IGk7CisgIHVpbnQxNng4X3QgYWJzID0gdmR1cHFfbl91MTYoMCk7
CiAKKyAgZm9yIChpID0gMDsgaSA8IGhlaWdodDsgKytpKSB7CisgICAgY29uc3QgdWludDh4OF90
IGFfdTggPSB2bGQxX3U4KHNyY19wdHIpOworICAgIGNvbnN0IHVpbnQ4eDhfdCBiX3U4ID0gdmxk
MV91OChyZWZfcHRyKTsKICAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7CiAgICAgcmVmX3B0ciAr
PSByZWZfc3RyaWRlOwotICB9IHdoaWxlICgtLWkgIT0gMCk7Ci0KLSAgcmV0dXJuIGhvcml6b250
YWxfYWRkX3VpbnQzMng0KHN1bSk7CisgICAgYWJzID0gdmFiYWxfdTgoYWJzLCBhX3U4LCBiX3U4
KTsKKyAgfQorICByZXR1cm4gYWJzOwogfQogCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBz
YWQxNnhoX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0
ciwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGgpIHsKLSAgdWludDE2eDhfdCBzdW0gPSB2ZHVwcV9uX3UxNigwKTsKLQotICBpbnQg
aSA9IGg7Ci0gIGRvIHsKLSAgICB1aW50OHgxNl90IHMgPSB2bGQxcV91OChzcmNfcHRyKTsKLSAg
ICB1aW50OHgxNl90IHIgPSB2bGQxcV91OChyZWZfcHRyKTsKLQotICAgIHVpbnQ4eDE2X3QgZGlm
ZiA9IHZhYmRxX3U4KHMsIHIpOwotICAgIHN1bSA9IHZwYWRhbHFfdTgoc3VtLCBkaWZmKTsKLQor
c3RhdGljIElOTElORSB1aW50MTZ4OF90IHNhZDh4X2F2Zyhjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KSB7CisgIGludCBpOworICB1
aW50MTZ4OF90IGFicyA9IHZkdXBxX25fdTE2KDApOworCisgIGZvciAoaSA9IDA7IGkgPCBoZWln
aHQ7ICsraSkgeworICAgIGNvbnN0IHVpbnQ4eDhfdCBhX3U4ID0gdmxkMV91OChzcmNfcHRyKTsK
KyAgICBjb25zdCB1aW50OHg4X3QgYl91OCA9IHZsZDFfdTgocmVmX3B0cik7CisgICAgY29uc3Qg
dWludDh4OF90IGNfdTggPSB2bGQxX3U4KHNlY29uZF9wcmVkKTsKKyAgICBjb25zdCB1aW50OHg4
X3QgYXZnID0gdnJoYWRkX3U4KGJfdTgsIGNfdTgpOwogICAgIHNyY19wdHIgKz0gc3JjX3N0cmlk
ZTsKICAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQot
ICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWludDE2eDgoc3VtKTsKKyAgICBzZWNvbmRfcHJlZCAr
PSA4OworICAgIGFicyA9IHZhYmFsX3U4KGFicywgYV91OCwgYXZnKTsKKyAgfQorICByZXR1cm4g
YWJzOwogfQogCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBzYWQ4eGhfbmVvbihjb25zdCB1
aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpIHsKLSAgdWludDE2
eDhfdCBzdW0gPSB2ZHVwcV9uX3UxNigwKTsKKyNkZWZpbmUgc2FkOHhOKG4pICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVp
bnQzMl90IHZweF9zYWQ4eCMjbiMjX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlKSB7ICAgICAgIFwKKyAgICBjb25zdCB1
aW50MTZ4OF90IGFicyA9IHNhZDh4KHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9z
dHJpZGUsIG4pOyBcCisgICAgcmV0dXJuIHZnZXRfbGFuZV91MzIoaG9yaXpvbnRhbF9hZGRfdWlu
dDE2eDgoYWJzKSwgMCk7ICAgICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90IHZweF9zYWQ4eCMjbiMj
X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCAgICAgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSwgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsgICAgICAgICAgICAgICBcCisgICAgY29u
c3QgdWludDE2eDhfdCBhYnMgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgICAgICBzYWQ4eF9hdmcoc3JjX3B0ciwgc3JjX3N0cmlkZSwg
cmVmX3B0ciwgcmVmX3N0cmlkZSwgc2Vjb25kX3ByZWQsIG4pOyAgIFwKKyAgICByZXR1cm4gdmdl
dF9sYW5lX3UzMihob3Jpem9udGFsX2FkZF91aW50MTZ4OChhYnMpLCAwKTsgICAgICAgICAgICAg
ICAgICAgICBcCisgIH0KIAotICBpbnQgaSA9IGg7Ci0gIGRvIHsKLSAgICB1aW50OHg4X3QgcyA9
IHZsZDFfdTgoc3JjX3B0cik7Ci0gICAgdWludDh4OF90IHIgPSB2bGQxX3U4KHJlZl9wdHIpOwor
c2FkOHhOKDQpOworc2FkOHhOKDgpOworc2FkOHhOKDE2KTsKIAotICAgIHN1bSA9IHZhYmFsX3U4
KHN1bSwgcywgcik7CitzdGF0aWMgSU5MSU5FIHVpbnQxNng4X3Qgc2FkMTZ4KGNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCkgeworICBpbnQgaTsKKyAgdWlu
dDE2eDhfdCBhYnMgPSB2ZHVwcV9uX3UxNigwKTsKIAorICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0
OyArK2kpIHsKKyAgICBjb25zdCB1aW50OHgxNl90IGFfdTggPSB2bGQxcV91OChzcmNfcHRyKTsK
KyAgICBjb25zdCB1aW50OHgxNl90IGJfdTggPSB2bGQxcV91OChyZWZfcHRyKTsKICAgICBzcmNf
cHRyICs9IHNyY19zdHJpZGU7CiAgICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICB9IHdoaWxl
ICgtLWkgIT0gMCk7Ci0KLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQxNng4KHN1bSk7Ci19
Ci0KLXN0YXRpYyBJTkxJTkUgdW5zaWduZWQgaW50IHNhZDR4aF9uZW9uKGNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCkgewotICB1aW50MTZ4OF90IHN1
bSA9IHZkdXBxX25fdTE2KDApOwotCi0gIGludCBpID0gaCAvIDI7Ci0gIGRvIHsKLSAgICB1aW50
OHg4X3QgcyA9IGxvYWRfdW5hbGlnbmVkX3U4KHNyY19wdHIsIHNyY19zdHJpZGUpOwotICAgIHVp
bnQ4eDhfdCByID0gbG9hZF91bmFsaWduZWRfdTgocmVmX3B0ciwgcmVmX3N0cmlkZSk7Ci0KLSAg
ICBzdW0gPSB2YWJhbF91OChzdW0sIHMsIHIpOwotCi0gICAgc3JjX3B0ciArPSAyICogc3JjX3N0
cmlkZTsKLSAgICByZWZfcHRyICs9IDIgKiByZWZfc3RyaWRlOwotICB9IHdoaWxlICgtLWkgIT0g
MCk7Ci0KLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQxNng4KHN1bSk7CisgICAgYWJzID0g
dmFiYWxfdTgoYWJzLCB2Z2V0X2xvd191OChhX3U4KSwgdmdldF9sb3dfdTgoYl91OCkpOworICAg
IGFicyA9IHZhYmFsX3U4KGFicywgdmdldF9oaWdoX3U4KGFfdTgpLCB2Z2V0X2hpZ2hfdTgoYl91
OCkpOworICB9CisgIHJldHVybiBhYnM7CiB9CiAKLSNkZWZpbmUgU0FEX1dYSF9ORU9OKHcsIGgp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1
bnNpZ25lZCBpbnQgdnB4X3NhZCMjdyMjeCMjaCMjX25lb24oY29uc3QgdWludDhfdCAqc3JjLCBp
bnQgc3JjX3N0cmlkZSwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90ICpyZWYsIGludCByZWZfc3RyaWRlKSB7IFwKLSAgICByZXR1cm4gc2Fk
IyN3IyN4aF9uZW9uKHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCAoaCkpOyAgICAg
ICAgICAgXAorc3RhdGljIElOTElORSB1aW50MTZ4OF90IHNhZDE2eF9hdmcoY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCkgewor
ICBpbnQgaTsKKyAgdWludDE2eDhfdCBhYnMgPSB2ZHVwcV9uX3UxNigwKTsKKworICBmb3IgKGkg
PSAwOyBpIDwgaGVpZ2h0OyArK2kpIHsKKyAgICBjb25zdCB1aW50OHgxNl90IGFfdTggPSB2bGQx
cV91OChzcmNfcHRyKTsKKyAgICBjb25zdCB1aW50OHgxNl90IGJfdTggPSB2bGQxcV91OChyZWZf
cHRyKTsKKyAgICBjb25zdCB1aW50OHgxNl90IGNfdTggPSB2bGQxcV91OChzZWNvbmRfcHJlZCk7
CisgICAgY29uc3QgdWludDh4MTZfdCBhdmcgPSB2cmhhZGRxX3U4KGJfdTgsIGNfdTgpOworICAg
IHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKKyAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7CisgICAg
c2Vjb25kX3ByZWQgKz0gMTY7CisgICAgYWJzID0gdmFiYWxfdTgoYWJzLCB2Z2V0X2xvd191OChh
X3U4KSwgdmdldF9sb3dfdTgoYXZnKSk7CisgICAgYWJzID0gdmFiYWxfdTgoYWJzLCB2Z2V0X2hp
Z2hfdTgoYV91OCksIHZnZXRfaGlnaF91OChhdmcpKTsKICAgfQorICByZXR1cm4gYWJzOworfQog
Ci1TQURfV1hIX05FT04oNCwgNCkKLVNBRF9XWEhfTkVPTig0LCA4KQotCi1TQURfV1hIX05FT04o
OCwgNCkKLVNBRF9XWEhfTkVPTig4LCA4KQotU0FEX1dYSF9ORU9OKDgsIDE2KQotCi1TQURfV1hI
X05FT04oMTYsIDgpCi1TQURfV1hIX05FT04oMTYsIDE2KQotU0FEX1dYSF9ORU9OKDE2LCAzMikK
LQotU0FEX1dYSF9ORU9OKDMyLCAxNikKLVNBRF9XWEhfTkVPTigzMiwgMzIpCi1TQURfV1hIX05F
T04oMzIsIDY0KQotCi1TQURfV1hIX05FT04oNjQsIDMyKQotU0FEX1dYSF9ORU9OKDY0LCA2NCkK
LQotI3VuZGVmIFNBRF9XWEhfTkVPTgotCi0jZGVmaW5lIFNBRF9TS0lQX1dYSF9ORU9OKHcsIGgp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1bnNp
Z25lZCBpbnQgdnB4X3NhZF9za2lwXyMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJp
ZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgcmVm
X3N0cmlkZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHJldHVybiAyICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgc2FkIyN3IyN4
aF9uZW9uKHNyYywgMiAqIHNyY19zdHJpZGUsIHJlZiwgMiAqIHJlZl9zdHJpZGUsIChoKSAvIDIp
OyBcCisjZGVmaW5lIHNhZDE2eE4obikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90IHZweF9zYWQxNngjI24jI19u
ZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCBy
ZWZfc3RyaWRlKSB7ICAgICBcCisgICAgY29uc3QgdWludDE2eDhfdCBhYnMgPSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNhZDE2
eChzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3RyaWRlLCBuKTsgICAgICAgICAg
ICAgICAgICBcCisgICAgcmV0dXJuIHZnZXRfbGFuZV91MzIoaG9yaXpvbnRhbF9hZGRfdWludDE2
eDgoYWJzKSwgMCk7ICAgICAgICAgICAgICAgICAgICBcCisgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90IHZweF9zYWQxNngjI24jI19hdmdf
bmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgICBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQg
cmVmX3N0cmlkZSwgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpzZWNvbmRfcHJlZCkgeyAgICAgICAgICAgICBcCisgICAgY29uc3QgdWludDE2
eDhfdCBhYnMgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgIHNhZDE2eF9hdmcoc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwg
cmVmX3N0cmlkZSwgc2Vjb25kX3ByZWQsIG4pOyBcCisgICAgcmV0dXJuIHZnZXRfbGFuZV91MzIo
aG9yaXpvbnRhbF9hZGRfdWludDE2eDgoYWJzKSwgMCk7ICAgICAgICAgICAgICAgICAgICBcCiAg
IH0KIAotU0FEX1NLSVBfV1hIX05FT04oNCwgNCkKLVNBRF9TS0lQX1dYSF9ORU9OKDQsIDgpCi0K
LVNBRF9TS0lQX1dYSF9ORU9OKDgsIDQpCi1TQURfU0tJUF9XWEhfTkVPTig4LCA4KQotU0FEX1NL
SVBfV1hIX05FT04oOCwgMTYpCi0KLVNBRF9TS0lQX1dYSF9ORU9OKDE2LCA4KQotU0FEX1NLSVBf
V1hIX05FT04oMTYsIDE2KQotU0FEX1NLSVBfV1hIX05FT04oMTYsIDMyKQotCi1TQURfU0tJUF9X
WEhfTkVPTigzMiwgMTYpCi1TQURfU0tJUF9XWEhfTkVPTigzMiwgMzIpCi1TQURfU0tJUF9XWEhf
TkVPTigzMiwgNjQpCi0KLVNBRF9TS0lQX1dYSF9ORU9OKDY0LCAzMikKLVNBRF9TS0lQX1dYSF9O
RU9OKDY0LCA2NCkKLQotI3VuZGVmIFNBRF9TS0lQX1dYSF9ORU9OCi0KLXN0YXRpYyBJTkxJTkUg
dW5zaWduZWQgaW50IHNhZDY0eGhfYXZnX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QgKnJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByZWZfc3RyaWRlLCBpbnQgaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsKLSAgdWludDE2eDhfdCBz
dW1bNF0gPSB7IHZkdXBxX25fdTE2KDApLCB2ZHVwcV9uX3UxNigwKSwgdmR1cHFfbl91MTYoMCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICB2ZHVwcV9uX3UxNigwKSB9OwotICB1aW50MzJ4NF90
IHN1bV91MzI7Ci0KLSAgaW50IGkgPSBoOwotICBkbyB7Ci0gICAgdWludDh4MTZfdCBzMCwgczEs
IHMyLCBzMywgcjAsIHIxLCByMiwgcjMsIHAwLCBwMSwgcDIsIHAzOwotICAgIHVpbnQ4eDE2X3Qg
YXZnMCwgYXZnMSwgYXZnMiwgYXZnMywgZGlmZjAsIGRpZmYxLCBkaWZmMiwgZGlmZjM7Ci0KLSAg
ICBzMCA9IHZsZDFxX3U4KHNyY19wdHIpOwotICAgIHIwID0gdmxkMXFfdTgocmVmX3B0cik7Ci0g
ICAgcDAgPSB2bGQxcV91OChzZWNvbmRfcHJlZCk7Ci0gICAgYXZnMCA9IHZyaGFkZHFfdTgocjAs
IHAwKTsKLSAgICBkaWZmMCA9IHZhYmRxX3U4KHMwLCBhdmcwKTsKLSAgICBzdW1bMF0gPSB2cGFk
YWxxX3U4KHN1bVswXSwgZGlmZjApOwotCi0gICAgczEgPSB2bGQxcV91OChzcmNfcHRyICsgMTYp
OwotICAgIHIxID0gdmxkMXFfdTgocmVmX3B0ciArIDE2KTsKLSAgICBwMSA9IHZsZDFxX3U4KHNl
Y29uZF9wcmVkICsgMTYpOwotICAgIGF2ZzEgPSB2cmhhZGRxX3U4KHIxLCBwMSk7Ci0gICAgZGlm
ZjEgPSB2YWJkcV91OChzMSwgYXZnMSk7Ci0gICAgc3VtWzFdID0gdnBhZGFscV91OChzdW1bMV0s
IGRpZmYxKTsKLQotICAgIHMyID0gdmxkMXFfdTgoc3JjX3B0ciArIDMyKTsKLSAgICByMiA9IHZs
ZDFxX3U4KHJlZl9wdHIgKyAzMik7Ci0gICAgcDIgPSB2bGQxcV91OChzZWNvbmRfcHJlZCArIDMy
KTsKLSAgICBhdmcyID0gdnJoYWRkcV91OChyMiwgcDIpOwotICAgIGRpZmYyID0gdmFiZHFfdTgo
czIsIGF2ZzIpOwotICAgIHN1bVsyXSA9IHZwYWRhbHFfdTgoc3VtWzJdLCBkaWZmMik7Ci0KLSAg
ICBzMyA9IHZsZDFxX3U4KHNyY19wdHIgKyA0OCk7Ci0gICAgcjMgPSB2bGQxcV91OChyZWZfcHRy
ICsgNDgpOwotICAgIHAzID0gdmxkMXFfdTgoc2Vjb25kX3ByZWQgKyA0OCk7Ci0gICAgYXZnMyA9
IHZyaGFkZHFfdTgocjMsIHAzKTsKLSAgICBkaWZmMyA9IHZhYmRxX3U4KHMzLCBhdmczKTsKLSAg
ICBzdW1bM10gPSB2cGFkYWxxX3U4KHN1bVszXSwgZGlmZjMpOwotCitzYWQxNnhOKDgpOworc2Fk
MTZ4TigxNik7CitzYWQxNnhOKDMyKTsKKworc3RhdGljIElOTElORSB1aW50MTZ4OF90IHNhZDMy
eChjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBoZWlnaHQpIHsKKyAg
aW50IGk7CisgIHVpbnQxNng4X3QgYWJzID0gdmR1cHFfbl91MTYoMCk7CisKKyAgZm9yIChpID0g
MDsgaSA8IGhlaWdodDsgKytpKSB7CisgICAgY29uc3QgdWludDh4MTZfdCBhX2xvID0gdmxkMXFf
dTgoc3JjX3B0cik7CisgICAgY29uc3QgdWludDh4MTZfdCBhX2hpID0gdmxkMXFfdTgoc3JjX3B0
ciArIDE2KTsKKyAgICBjb25zdCB1aW50OHgxNl90IGJfbG8gPSB2bGQxcV91OChyZWZfcHRyKTsK
KyAgICBjb25zdCB1aW50OHgxNl90IGJfaGkgPSB2bGQxcV91OChyZWZfcHRyICsgMTYpOwogICAg
IHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKICAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAg
c2Vjb25kX3ByZWQgKz0gNjQ7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICBzdW1fdTMyID0g
dnBhZGRscV91MTYoc3VtWzBdKTsKLSAgc3VtX3UzMiA9IHZwYWRhbHFfdTE2KHN1bV91MzIsIHN1
bVsxXSk7Ci0gIHN1bV91MzIgPSB2cGFkYWxxX3UxNihzdW1fdTMyLCBzdW1bMl0pOwotICBzdW1f
dTMyID0gdnBhZGFscV91MTYoc3VtX3UzMiwgc3VtWzNdKTsKLQotICByZXR1cm4gaG9yaXpvbnRh
bF9hZGRfdWludDMyeDQoc3VtX3UzMik7CisgICAgYWJzID0gdmFiYWxfdTgoYWJzLCB2Z2V0X2xv
d191OChhX2xvKSwgdmdldF9sb3dfdTgoYl9sbykpOworICAgIGFicyA9IHZhYmFsX3U4KGFicywg
dmdldF9oaWdoX3U4KGFfbG8pLCB2Z2V0X2hpZ2hfdTgoYl9sbykpOworICAgIGFicyA9IHZhYmFs
X3U4KGFicywgdmdldF9sb3dfdTgoYV9oaSksIHZnZXRfbG93X3U4KGJfaGkpKTsKKyAgICBhYnMg
PSB2YWJhbF91OChhYnMsIHZnZXRfaGlnaF91OChhX2hpKSwgdmdldF9oaWdoX3U4KGJfaGkpKTsK
KyAgfQorICByZXR1cm4gYWJzOwogfQogCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBzYWQz
MnhoX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwg
aW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnNlY29uZF9wcmVkKSB7Ci0gIHVpbnQzMng0X3Qgc3VtID0gdmR1cHFfbl91MzIo
MCk7Ci0KLSAgaW50IGkgPSBoOwotICBkbyB7Ci0gICAgdWludDh4MTZfdCBzMCA9IHZsZDFxX3U4
KHNyY19wdHIpOwotICAgIHVpbnQ4eDE2X3QgcjAgPSB2bGQxcV91OChyZWZfcHRyKTsKLSAgICB1
aW50OHgxNl90IHAwID0gdmxkMXFfdTgoc2Vjb25kX3ByZWQpOwotICAgIHVpbnQ4eDE2X3QgYXZn
MCA9IHZyaGFkZHFfdTgocjAsIHAwKTsKLSAgICB1aW50OHgxNl90IGRpZmYwID0gdmFiZHFfdTgo
czAsIGF2ZzApOwotICAgIHVpbnQxNng4X3Qgc3VtMCA9IHZwYWRkbHFfdTgoZGlmZjApOwotCi0g
ICAgdWludDh4MTZfdCBzMSA9IHZsZDFxX3U4KHNyY19wdHIgKyAxNik7Ci0gICAgdWludDh4MTZf
dCByMSA9IHZsZDFxX3U4KHJlZl9wdHIgKyAxNik7Ci0gICAgdWludDh4MTZfdCBwMSA9IHZsZDFx
X3U4KHNlY29uZF9wcmVkICsgMTYpOwotICAgIHVpbnQ4eDE2X3QgYXZnMSA9IHZyaGFkZHFfdTgo
cjEsIHAxKTsKLSAgICB1aW50OHgxNl90IGRpZmYxID0gdmFiZHFfdTgoczEsIGF2ZzEpOwotICAg
IHVpbnQxNng4X3Qgc3VtMSA9IHZwYWRkbHFfdTgoZGlmZjEpOwotCi0gICAgc3VtID0gdnBhZGFs
cV91MTYoc3VtLCBzdW0wKTsKLSAgICBzdW0gPSB2cGFkYWxxX3UxNihzdW0sIHN1bTEpOwotCitz
dGF0aWMgSU5MSU5FIHVpbnQxNng4X3Qgc2FkMzJ4X2F2Zyhjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaGVpZ2h0KSB7CisgIGludCBpOwor
ICB1aW50MTZ4OF90IGFicyA9IHZkdXBxX25fdTE2KDApOworCisgIGZvciAoaSA9IDA7IGkgPCBo
ZWlnaHQ7ICsraSkgeworICAgIGNvbnN0IHVpbnQ4eDE2X3QgYV9sbyA9IHZsZDFxX3U4KHNyY19w
dHIpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgYV9oaSA9IHZsZDFxX3U4KHNyY19wdHIgKyAxNik7
CisgICAgY29uc3QgdWludDh4MTZfdCBiX2xvID0gdmxkMXFfdTgocmVmX3B0cik7CisgICAgY29u
c3QgdWludDh4MTZfdCBiX2hpID0gdmxkMXFfdTgocmVmX3B0ciArIDE2KTsKKyAgICBjb25zdCB1
aW50OHgxNl90IGNfbG8gPSB2bGQxcV91OChzZWNvbmRfcHJlZCk7CisgICAgY29uc3QgdWludDh4
MTZfdCBjX2hpID0gdmxkMXFfdTgoc2Vjb25kX3ByZWQgKyAxNik7CisgICAgY29uc3QgdWludDh4
MTZfdCBhdmdfbG8gPSB2cmhhZGRxX3U4KGJfbG8sIGNfbG8pOworICAgIGNvbnN0IHVpbnQ4eDE2
X3QgYXZnX2hpID0gdnJoYWRkcV91OChiX2hpLCBjX2hpKTsKICAgICBzcmNfcHRyICs9IHNyY19z
dHJpZGU7CiAgICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwogICAgIHNlY29uZF9wcmVkICs9IDMy
OwotICB9IHdoaWxlICgtLWkgIT0gMCk7Ci0KLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQz
Mng0KHN1bSk7CisgICAgYWJzID0gdmFiYWxfdTgoYWJzLCB2Z2V0X2xvd191OChhX2xvKSwgdmdl
dF9sb3dfdTgoYXZnX2xvKSk7CisgICAgYWJzID0gdmFiYWxfdTgoYWJzLCB2Z2V0X2hpZ2hfdTgo
YV9sbyksIHZnZXRfaGlnaF91OChhdmdfbG8pKTsKKyAgICBhYnMgPSB2YWJhbF91OChhYnMsIHZn
ZXRfbG93X3U4KGFfaGkpLCB2Z2V0X2xvd191OChhdmdfaGkpKTsKKyAgICBhYnMgPSB2YWJhbF91
OChhYnMsIHZnZXRfaGlnaF91OChhX2hpKSwgdmdldF9oaWdoX3U4KGF2Z19oaSkpOworICB9Cisg
IHJldHVybiBhYnM7CiB9CiAKLXN0YXRpYyBJTkxJTkUgdW5zaWduZWQgaW50IHNhZDE2eGhfYXZn
X25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgaCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqc2Vjb25kX3ByZWQpIHsKLSAgdWludDE2eDhfdCBzdW0gPSB2ZHVwcV9uX3UxNigwKTsKLQot
ICBpbnQgaSA9IGg7Ci0gIGRvIHsKLSAgICB1aW50OHgxNl90IHMgPSB2bGQxcV91OChzcmNfcHRy
KTsKLSAgICB1aW50OHgxNl90IHIgPSB2bGQxcV91OChyZWZfcHRyKTsKLSAgICB1aW50OHgxNl90
IHAgPSB2bGQxcV91OChzZWNvbmRfcHJlZCk7Ci0KLSAgICB1aW50OHgxNl90IGF2ZyA9IHZyaGFk
ZHFfdTgociwgcCk7Ci0gICAgdWludDh4MTZfdCBkaWZmID0gdmFiZHFfdTgocywgYXZnKTsKLSAg
ICBzdW0gPSB2cGFkYWxxX3U4KHN1bSwgZGlmZik7CisjZGVmaW5lIHNhZDMyeE4obikgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
IHVpbnQzMl90IHZweF9zYWQzMngjI24jI19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlKSB7ICAgICBcCisgICAgY29uc3Qg
dWludDE2eDhfdCBhYnMgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgIHNhZDMyeChzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRy
LCByZWZfc3RyaWRlLCBuKTsgICAgICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIHZnZXRfbGFu
ZV91MzIoaG9yaXpvbnRhbF9hZGRfdWludDE2eDgoYWJzKSwgMCk7ICAgICAgICAgICAgICAgICAg
ICBcCisgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVp
bnQzMl90IHZweF9zYWQzMngjI24jI19hdmdfbmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBp
bnQgc3JjX3N0cmlkZSwgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCkgeyAgICAg
ICAgICAgICBcCisgICAgY29uc3QgdWludDE2eDhfdCBhYnMgPSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNhZDMyeF9hdmcoc3Jj
X3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgc2Vjb25kX3ByZWQsIG4pOyBc
CisgICAgcmV0dXJuIHZnZXRfbGFuZV91MzIoaG9yaXpvbnRhbF9hZGRfdWludDE2eDgoYWJzKSwg
MCk7ICAgICAgICAgICAgICAgICAgICBcCisgIH0KIAorc2FkMzJ4TigxNik7CitzYWQzMnhOKDMy
KTsKK3NhZDMyeE4oNjQpOworCitzdGF0aWMgSU5MSU5FIHVpbnQzMng0X3Qgc2FkNjR4KGNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCkgeworICBpbnQgaTsK
KyAgdWludDE2eDhfdCBhYnNfMCA9IHZkdXBxX25fdTE2KDApOworICB1aW50MTZ4OF90IGFic18x
ID0gdmR1cHFfbl91MTYoMCk7CisKKyAgZm9yIChpID0gMDsgaSA8IGhlaWdodDsgKytpKSB7Cisg
ICAgY29uc3QgdWludDh4MTZfdCBhXzAgPSB2bGQxcV91OChzcmNfcHRyKTsKKyAgICBjb25zdCB1
aW50OHgxNl90IGFfMSA9IHZsZDFxX3U4KHNyY19wdHIgKyAxNik7CisgICAgY29uc3QgdWludDh4
MTZfdCBhXzIgPSB2bGQxcV91OChzcmNfcHRyICsgMzIpOworICAgIGNvbnN0IHVpbnQ4eDE2X3Qg
YV8zID0gdmxkMXFfdTgoc3JjX3B0ciArIDQ4KTsKKyAgICBjb25zdCB1aW50OHgxNl90IGJfMCA9
IHZsZDFxX3U4KHJlZl9wdHIpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgYl8xID0gdmxkMXFfdTgo
cmVmX3B0ciArIDE2KTsKKyAgICBjb25zdCB1aW50OHgxNl90IGJfMiA9IHZsZDFxX3U4KHJlZl9w
dHIgKyAzMik7CisgICAgY29uc3QgdWludDh4MTZfdCBiXzMgPSB2bGQxcV91OChyZWZfcHRyICsg
NDgpOwogICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKICAgICByZWZfcHRyICs9IHJlZl9zdHJp
ZGU7Ci0gICAgc2Vjb25kX3ByZWQgKz0gMTY7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKKyAgICBh
YnNfMCA9IHZhYmFsX3U4KGFic18wLCB2Z2V0X2xvd191OChhXzApLCB2Z2V0X2xvd191OChiXzAp
KTsKKyAgICBhYnNfMCA9IHZhYmFsX3U4KGFic18wLCB2Z2V0X2hpZ2hfdTgoYV8wKSwgdmdldF9o
aWdoX3U4KGJfMCkpOworICAgIGFic18wID0gdmFiYWxfdTgoYWJzXzAsIHZnZXRfbG93X3U4KGFf
MSksIHZnZXRfbG93X3U4KGJfMSkpOworICAgIGFic18wID0gdmFiYWxfdTgoYWJzXzAsIHZnZXRf
aGlnaF91OChhXzEpLCB2Z2V0X2hpZ2hfdTgoYl8xKSk7CisgICAgYWJzXzEgPSB2YWJhbF91OChh
YnNfMSwgdmdldF9sb3dfdTgoYV8yKSwgdmdldF9sb3dfdTgoYl8yKSk7CisgICAgYWJzXzEgPSB2
YWJhbF91OChhYnNfMSwgdmdldF9oaWdoX3U4KGFfMiksIHZnZXRfaGlnaF91OChiXzIpKTsKKyAg
ICBhYnNfMSA9IHZhYmFsX3U4KGFic18xLCB2Z2V0X2xvd191OChhXzMpLCB2Z2V0X2xvd191OChi
XzMpKTsKKyAgICBhYnNfMSA9IHZhYmFsX3U4KGFic18xLCB2Z2V0X2hpZ2hfdTgoYV8zKSwgdmdl
dF9oaWdoX3U4KGJfMykpOworICB9CiAKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQxNng4
KHN1bSk7CisgIHsKKyAgICBjb25zdCB1aW50MzJ4NF90IHN1bSA9IHZwYWRkbHFfdTE2KGFic18w
KTsKKyAgICByZXR1cm4gdnBhZGFscV91MTYoc3VtLCBhYnNfMSk7CisgIH0KIH0KIAotc3RhdGlj
IElOTElORSB1bnNpZ25lZCBpbnQgc2FkOHhoX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsKLSAgdWludDE2eDhf
dCBzdW0gPSB2ZHVwcV9uX3UxNigwKTsKLQotICBpbnQgaSA9IGg7Ci0gIGRvIHsKLSAgICB1aW50
OHg4X3QgcyA9IHZsZDFfdTgoc3JjX3B0cik7Ci0gICAgdWludDh4OF90IHIgPSB2bGQxX3U4KHJl
Zl9wdHIpOwotICAgIHVpbnQ4eDhfdCBwID0gdmxkMV91OChzZWNvbmRfcHJlZCk7Ci0KLSAgICB1
aW50OHg4X3QgYXZnID0gdnJoYWRkX3U4KHIsIHApOwotICAgIHN1bSA9IHZhYmFsX3U4KHN1bSwg
cywgYXZnKTsKLQorc3RhdGljIElOTElORSB1aW50MzJ4NF90IHNhZDY0eF9hdmcoY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGhlaWdodCkg
eworICBpbnQgaTsKKyAgdWludDE2eDhfdCBhYnNfMCA9IHZkdXBxX25fdTE2KDApOworICB1aW50
MTZ4OF90IGFic18xID0gdmR1cHFfbl91MTYoMCk7CisKKyAgZm9yIChpID0gMDsgaSA8IGhlaWdo
dDsgKytpKSB7CisgICAgY29uc3QgdWludDh4MTZfdCBhXzAgPSB2bGQxcV91OChzcmNfcHRyKTsK
KyAgICBjb25zdCB1aW50OHgxNl90IGFfMSA9IHZsZDFxX3U4KHNyY19wdHIgKyAxNik7CisgICAg
Y29uc3QgdWludDh4MTZfdCBhXzIgPSB2bGQxcV91OChzcmNfcHRyICsgMzIpOworICAgIGNvbnN0
IHVpbnQ4eDE2X3QgYV8zID0gdmxkMXFfdTgoc3JjX3B0ciArIDQ4KTsKKyAgICBjb25zdCB1aW50
OHgxNl90IGJfMCA9IHZsZDFxX3U4KHJlZl9wdHIpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgYl8x
ID0gdmxkMXFfdTgocmVmX3B0ciArIDE2KTsKKyAgICBjb25zdCB1aW50OHgxNl90IGJfMiA9IHZs
ZDFxX3U4KHJlZl9wdHIgKyAzMik7CisgICAgY29uc3QgdWludDh4MTZfdCBiXzMgPSB2bGQxcV91
OChyZWZfcHRyICsgNDgpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgY18wID0gdmxkMXFfdTgoc2Vj
b25kX3ByZWQpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgY18xID0gdmxkMXFfdTgoc2Vjb25kX3By
ZWQgKyAxNik7CisgICAgY29uc3QgdWludDh4MTZfdCBjXzIgPSB2bGQxcV91OChzZWNvbmRfcHJl
ZCArIDMyKTsKKyAgICBjb25zdCB1aW50OHgxNl90IGNfMyA9IHZsZDFxX3U4KHNlY29uZF9wcmVk
ICsgNDgpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgYXZnXzAgPSB2cmhhZGRxX3U4KGJfMCwgY18w
KTsKKyAgICBjb25zdCB1aW50OHgxNl90IGF2Z18xID0gdnJoYWRkcV91OChiXzEsIGNfMSk7Cisg
ICAgY29uc3QgdWludDh4MTZfdCBhdmdfMiA9IHZyaGFkZHFfdTgoYl8yLCBjXzIpOworICAgIGNv
bnN0IHVpbnQ4eDE2X3QgYXZnXzMgPSB2cmhhZGRxX3U4KGJfMywgY18zKTsKICAgICBzcmNfcHRy
ICs9IHNyY19zdHJpZGU7CiAgICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAgIHNlY29uZF9w
cmVkICs9IDg7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICByZXR1cm4gaG9yaXpvbnRhbF9h
ZGRfdWludDE2eDgoc3VtKTsKLX0KLQotc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgc2FkNHho
X2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqc2Vjb25kX3ByZWQpIHsKLSAgdWludDE2eDhfdCBzdW0gPSB2ZHVwcV9uX3UxNigwKTsKLQot
ICBpbnQgaSA9IGggLyAyOwotICBkbyB7Ci0gICAgdWludDh4OF90IHMgPSBsb2FkX3VuYWxpZ25l
ZF91OChzcmNfcHRyLCBzcmNfc3RyaWRlKTsKLSAgICB1aW50OHg4X3QgciA9IGxvYWRfdW5hbGln
bmVkX3U4KHJlZl9wdHIsIHJlZl9zdHJpZGUpOwotICAgIHVpbnQ4eDhfdCBwID0gdmxkMV91OChz
ZWNvbmRfcHJlZCk7Ci0KLSAgICB1aW50OHg4X3QgYXZnID0gdnJoYWRkX3U4KHIsIHApOwotICAg
IHN1bSA9IHZhYmFsX3U4KHN1bSwgcywgYXZnKTsKLQotICAgIHNyY19wdHIgKz0gMiAqIHNyY19z
dHJpZGU7Ci0gICAgcmVmX3B0ciArPSAyICogcmVmX3N0cmlkZTsKLSAgICBzZWNvbmRfcHJlZCAr
PSA4OwotICB9IHdoaWxlICgtLWkgIT0gMCk7CisgICAgc2Vjb25kX3ByZWQgKz0gNjQ7CisgICAg
YWJzXzAgPSB2YWJhbF91OChhYnNfMCwgdmdldF9sb3dfdTgoYV8wKSwgdmdldF9sb3dfdTgoYXZn
XzApKTsKKyAgICBhYnNfMCA9IHZhYmFsX3U4KGFic18wLCB2Z2V0X2hpZ2hfdTgoYV8wKSwgdmdl
dF9oaWdoX3U4KGF2Z18wKSk7CisgICAgYWJzXzAgPSB2YWJhbF91OChhYnNfMCwgdmdldF9sb3df
dTgoYV8xKSwgdmdldF9sb3dfdTgoYXZnXzEpKTsKKyAgICBhYnNfMCA9IHZhYmFsX3U4KGFic18w
LCB2Z2V0X2hpZ2hfdTgoYV8xKSwgdmdldF9oaWdoX3U4KGF2Z18xKSk7CisgICAgYWJzXzEgPSB2
YWJhbF91OChhYnNfMSwgdmdldF9sb3dfdTgoYV8yKSwgdmdldF9sb3dfdTgoYXZnXzIpKTsKKyAg
ICBhYnNfMSA9IHZhYmFsX3U4KGFic18xLCB2Z2V0X2hpZ2hfdTgoYV8yKSwgdmdldF9oaWdoX3U4
KGF2Z18yKSk7CisgICAgYWJzXzEgPSB2YWJhbF91OChhYnNfMSwgdmdldF9sb3dfdTgoYV8zKSwg
dmdldF9sb3dfdTgoYXZnXzMpKTsKKyAgICBhYnNfMSA9IHZhYmFsX3U4KGFic18xLCB2Z2V0X2hp
Z2hfdTgoYV8zKSwgdmdldF9oaWdoX3U4KGF2Z18zKSk7CisgIH0KIAotICByZXR1cm4gaG9yaXpv
bnRhbF9hZGRfdWludDE2eDgoc3VtKTsKKyAgeworICAgIGNvbnN0IHVpbnQzMng0X3Qgc3VtID0g
dnBhZGRscV91MTYoYWJzXzApOworICAgIHJldHVybiB2cGFkYWxxX3UxNihzdW0sIGFic18xKTsK
KyAgfQogfQogCi0jZGVmaW5lIFNBRF9XWEhfQVZHX05FT04odywgaCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVpbnQzMl90IHZweF9zYWQjI3cjI3gj
I2gjI19hdmdfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLCBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWYsIGlu
dCByZWZfc3RyaWRlLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCkgeyAgICAgICBcCi0gICAgcmV0dXJuIHNhZCMjdyMj
eGhfYXZnX25lb24oc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIChoKSwgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kX3ByZWQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIHNhZDY0eE4obikgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90
IHZweF9zYWQ2NHgjI24jI19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlKSB7ICAgICBcCisgICAgY29uc3QgdWludDMyeDRf
dCBhYnMgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgIHNhZDY0eChzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3Ry
aWRlLCBuKTsgICAgICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIHZnZXRfbGFuZV91MzIoaG9y
aXpvbnRhbF9hZGRfdWludDMyeDQoYWJzKSwgMCk7ICAgICAgICAgICAgICAgICAgICBcCisgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90IHZw
eF9zYWQ2NHgjI24jI19hdmdfbmVvbihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgICBcCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCkgeyAgICAgICAgICAgICBc
CisgICAgY29uc3QgdWludDMyeDRfdCBhYnMgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNhZDY0eF9hdmcoc3JjX3B0ciwgc3Jj
X3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgc2Vjb25kX3ByZWQsIG4pOyBcCisgICAgcmV0
dXJuIHZnZXRfbGFuZV91MzIoaG9yaXpvbnRhbF9hZGRfdWludDMyeDQoYWJzKSwgMCk7ICAgICAg
ICAgICAgICAgICAgICBcCiAgIH0KIAotU0FEX1dYSF9BVkdfTkVPTig0LCA0KQotU0FEX1dYSF9B
VkdfTkVPTig0LCA4KQotCi1TQURfV1hIX0FWR19ORU9OKDgsIDQpCi1TQURfV1hIX0FWR19ORU9O
KDgsIDgpCi1TQURfV1hIX0FWR19ORU9OKDgsIDE2KQotCi1TQURfV1hIX0FWR19ORU9OKDE2LCA4
KQotU0FEX1dYSF9BVkdfTkVPTigxNiwgMTYpCi1TQURfV1hIX0FWR19ORU9OKDE2LCAzMikKLQot
U0FEX1dYSF9BVkdfTkVPTigzMiwgMTYpCi1TQURfV1hIX0FWR19ORU9OKDMyLCAzMikKLVNBRF9X
WEhfQVZHX05FT04oMzIsIDY0KQotCi1TQURfV1hIX0FWR19ORU9OKDY0LCAzMikKLVNBRF9XWEhf
QVZHX05FT04oNjQsIDY0KQotCi0jdW5kZWYgU0FEX1dYSF9BVkdfTkVPTgorc2FkNjR4TigzMik7
CitzYWQ2NHhOKDY0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2FkX25l
b25fZG90cHJvZC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zYWRfbmVvbl9kb3Rwcm9kLmMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiYzBiOGQ3NWY4Mi4uMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc2FkX25lb25fZG90cHJvZC5jCisrKyAvZGV2
L251bGwKQEAgLTEsMjQ3ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIxIFRoZSBX
ZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICog
IHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJp
Z2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNv
bnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhP
UlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUg
PGFybV9uZW9uLmg+Ci0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICIuL3Zw
eF9kc3BfcnRjZC5oIgotCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0jaW5jbHVkZSAi
dnB4X2RzcC9hcm0vbWVtX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9zdW1fbmVvbi5o
IgotCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBzYWR3eGhfbmVvbl9kb3Rwcm9kKGNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IHcsIGlu
dCBoKSB7Ci0gIC8vIE9ubHkgdHdvIGFjY3VtdWxhdG9ycyBhcmUgcmVxdWlyZWQgZm9yIG9wdGlt
YWwgaW5zdHJ1Y3Rpb24gdGhyb3VnaHB1dCBvZgotICAvLyB0aGUgQUJELCBVRE9UIHNlcXVlbmNl
IG9uIENQVXMgd2l0aCBlaXRoZXIgMiBvciA0IE5lb24gcGlwZXMuCi0gIHVpbnQzMng0X3Qgc3Vt
WzJdID0geyB2ZHVwcV9uX3UzMigwKSwgdmR1cHFfbl91MzIoMCkgfTsKLQotICBpbnQgaSA9IGg7
Ci0gIGRvIHsKLSAgICBpbnQgaiA9IDA7Ci0gICAgZG8gewotICAgICAgdWludDh4MTZfdCBzMCwg
czEsIHIwLCByMSwgZGlmZjAsIGRpZmYxOwotCi0gICAgICBzMCA9IHZsZDFxX3U4KHNyY19wdHIg
KyBqKTsKLSAgICAgIHIwID0gdmxkMXFfdTgocmVmX3B0ciArIGopOwotICAgICAgZGlmZjAgPSB2
YWJkcV91OChzMCwgcjApOwotICAgICAgc3VtWzBdID0gdmRvdHFfdTMyKHN1bVswXSwgZGlmZjAs
IHZkdXBxX25fdTgoMSkpOwotCi0gICAgICBzMSA9IHZsZDFxX3U4KHNyY19wdHIgKyBqICsgMTYp
OwotICAgICAgcjEgPSB2bGQxcV91OChyZWZfcHRyICsgaiArIDE2KTsKLSAgICAgIGRpZmYxID0g
dmFiZHFfdTgoczEsIHIxKTsKLSAgICAgIHN1bVsxXSA9IHZkb3RxX3UzMihzdW1bMV0sIGRpZmYx
LCB2ZHVwcV9uX3U4KDEpKTsKLQotICAgICAgaiArPSAzMjsKLSAgICB9IHdoaWxlIChqIDwgdyk7
Ci0KLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRl
OwotICB9IHdoaWxlICgtLWkgIT0gMCk7Ci0KLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQz
Mng0KHZhZGRxX3UzMihzdW1bMF0sIHN1bVsxXSkpOwotfQotCi1zdGF0aWMgSU5MSU5FIHVuc2ln
bmVkIGludCBzYWQ2NHhoX25lb25fZG90cHJvZChjb25zdCB1aW50OF90ICpzcmNfcHRyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpyZWZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIGludCBoKSB7Ci0gIHJldHVybiBzYWR3eGhfbmVv
bl9kb3Rwcm9kKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJpZGUsIDY0LCBo
KTsKLX0KLQotc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgc2FkMzJ4aF9uZW9uX2RvdHByb2Qo
Y29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBp
bnQgaCkgewotICByZXR1cm4gc2Fkd3hoX25lb25fZG90cHJvZChzcmNfcHRyLCBzcmNfc3RyaWRl
LCByZWZfcHRyLCByZWZfc3RyaWRlLCAzMiwgaCk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdW5zaWdu
ZWQgaW50IHNhZDE2eGhfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgpIHsKLSAgdWludDMyeDRfdCBzdW1bMl0g
PSB7IHZkdXBxX25fdTMyKDApLCB2ZHVwcV9uX3UzMigwKSB9OwotCi0gIGludCBpID0gaCAvIDI7
Ci0gIGRvIHsKLSAgICB1aW50OHgxNl90IHMwLCBzMSwgcjAsIHIxLCBkaWZmMCwgZGlmZjE7Ci0K
LSAgICBzMCA9IHZsZDFxX3U4KHNyY19wdHIpOwotICAgIHIwID0gdmxkMXFfdTgocmVmX3B0cik7
Ci0gICAgZGlmZjAgPSB2YWJkcV91OChzMCwgcjApOwotICAgIHN1bVswXSA9IHZkb3RxX3UzMihz
dW1bMF0sIGRpZmYwLCB2ZHVwcV9uX3U4KDEpKTsKLQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlk
ZTsKLSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0KLSAgICBzMSA9IHZsZDFxX3U4KHNyY19w
dHIpOwotICAgIHIxID0gdmxkMXFfdTgocmVmX3B0cik7Ci0gICAgZGlmZjEgPSB2YWJkcV91OChz
MSwgcjEpOwotICAgIHN1bVsxXSA9IHZkb3RxX3UzMihzdW1bMV0sIGRpZmYxLCB2ZHVwcV9uX3U4
KDEpKTsKLQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IHJlZl9z
dHJpZGU7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRf
dWludDMyeDQodmFkZHFfdTMyKHN1bVswXSwgc3VtWzFdKSk7Ci19Ci0KLSNkZWZpbmUgU0FEX1dY
SF9ORU9OX0RPVFBST0QodywgaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9zYWQjI3cjI3gjI2gjI19uZW9uX2RvdHByb2QoICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50
IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgICAgICAgICAgICAgIFwKLSAgICAgIGlu
dCByZWZfc3RyaWRlKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICByZXR1cm4gc2FkIyN3IyN4aF9uZW9uX2RvdHByb2Qoc3JjLCBzcmNf
c3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIChoKSk7IFwKLSAgfQotCi1TQURfV1hIX05FT05fRE9U
UFJPRCgxNiwgOCkKLVNBRF9XWEhfTkVPTl9ET1RQUk9EKDE2LCAxNikKLVNBRF9XWEhfTkVPTl9E
T1RQUk9EKDE2LCAzMikKLQotU0FEX1dYSF9ORU9OX0RPVFBST0QoMzIsIDE2KQotU0FEX1dYSF9O
RU9OX0RPVFBST0QoMzIsIDMyKQotU0FEX1dYSF9ORU9OX0RPVFBST0QoMzIsIDY0KQotCi1TQURf
V1hIX05FT05fRE9UUFJPRCg2NCwgMzIpCi1TQURfV1hIX05FT05fRE9UUFJPRCg2NCwgNjQpCi0K
LSN1bmRlZiBTQURfV1hIX05FT05fRE9UUFJPRAotCi0jZGVmaW5lIFNBRF9TS0lQX1dYSF9ORU9O
X0RPVFBST0QodywgaCkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50
IHZweF9zYWRfc2tpcF8jI3cjI3gjI2gjI19uZW9uX2RvdHByb2QoICAgICAgICAgICAgXAotICAg
ICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVm
LCAgICBcCi0gICAgICBpbnQgcmVmX3N0cmlkZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gMiAqIHNhZCMjdyMjeGhfbmVvbl9kb3Rwcm9k
KHNyYywgMiAqIHNyY19zdHJpZGUsIHJlZiwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMiAqIHJlZl9zdHJpZGUsIChoKSAvIDIpOyBcCi0gIH0KLQotU0FEX1NLSVBf
V1hIX05FT05fRE9UUFJPRCgxNiwgOCkKLVNBRF9TS0lQX1dYSF9ORU9OX0RPVFBST0QoMTYsIDE2
KQotU0FEX1NLSVBfV1hIX05FT05fRE9UUFJPRCgxNiwgMzIpCi0KLVNBRF9TS0lQX1dYSF9ORU9O
X0RPVFBST0QoMzIsIDE2KQotU0FEX1NLSVBfV1hIX05FT05fRE9UUFJPRCgzMiwgMzIpCi1TQURf
U0tJUF9XWEhfTkVPTl9ET1RQUk9EKDMyLCA2NCkKLQotU0FEX1NLSVBfV1hIX05FT05fRE9UUFJP
RCg2NCwgMzIpCi1TQURfU0tJUF9XWEhfTkVPTl9ET1RQUk9EKDY0LCA2NCkKLQotI3VuZGVmIFNB
RF9TS0lQX1dYSF9ORU9OX0RPVFBST0QKLQotc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgc2Fk
d3hoX2F2Z19uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgdywgaW50IGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzZWNv
bmRfcHJlZCkgewotICAvLyBPbmx5IHR3byBhY2N1bXVsYXRvcnMgYXJlIHJlcXVpcmVkIGZvciBv
cHRpbWFsIGluc3RydWN0aW9uIHRocm91Z2hwdXQgb2YKLSAgLy8gdGhlIEFCRCwgVURPVCBzZXF1
ZW5jZSBvbiBDUFVzIHdpdGggZWl0aGVyIDIgb3IgNCBOZW9uIHBpcGVzLgotICB1aW50MzJ4NF90
IHN1bVsyXSA9IHsgdmR1cHFfbl91MzIoMCksIHZkdXBxX25fdTMyKDApIH07Ci0KLSAgaW50IGkg
PSBoOwotICBkbyB7Ci0gICAgaW50IGogPSAwOwotICAgIGRvIHsKLSAgICAgIHVpbnQ4eDE2X3Qg
czAsIHMxLCByMCwgcjEsIHAwLCBwMSwgYXZnMCwgYXZnMSwgZGlmZjAsIGRpZmYxOwotCi0gICAg
ICBzMCA9IHZsZDFxX3U4KHNyY19wdHIgKyBqKTsKLSAgICAgIHIwID0gdmxkMXFfdTgocmVmX3B0
ciArIGopOwotICAgICAgcDAgPSB2bGQxcV91OChzZWNvbmRfcHJlZCk7Ci0gICAgICBhdmcwID0g
dnJoYWRkcV91OChyMCwgcDApOwotICAgICAgZGlmZjAgPSB2YWJkcV91OChzMCwgYXZnMCk7Ci0g
ICAgICBzdW1bMF0gPSB2ZG90cV91MzIoc3VtWzBdLCBkaWZmMCwgdmR1cHFfbl91OCgxKSk7Ci0K
LSAgICAgIHMxID0gdmxkMXFfdTgoc3JjX3B0ciArIGogKyAxNik7Ci0gICAgICByMSA9IHZsZDFx
X3U4KHJlZl9wdHIgKyBqICsgMTYpOwotICAgICAgcDEgPSB2bGQxcV91OChzZWNvbmRfcHJlZCAr
IDE2KTsKLSAgICAgIGF2ZzEgPSB2cmhhZGRxX3U4KHIxLCBwMSk7Ci0gICAgICBkaWZmMSA9IHZh
YmRxX3U4KHMxLCBhdmcxKTsKLSAgICAgIHN1bVsxXSA9IHZkb3RxX3UzMihzdW1bMV0sIGRpZmYx
LCB2ZHVwcV9uX3U4KDEpKTsKLQotICAgICAgaiArPSAzMjsKLSAgICAgIHNlY29uZF9wcmVkICs9
IDMyOwotICAgIH0gd2hpbGUgKGogPCB3KTsKLQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsK
LSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICBy
ZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWludDMyeDQodmFkZHFfdTMyKHN1bVswXSwgc3VtWzFdKSk7
Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdW5zaWduZWQgaW50IHNhZDY0eGhfYXZnX25lb25fZG90cHJv
ZCgKLSAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWlu
dDhfdCAqcmVmX3B0ciwKLSAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsIGNvbnN0IHVpbnQ4X3Qg
KnNlY29uZF9wcmVkKSB7Ci0gIHJldHVybiBzYWR3eGhfYXZnX25lb25fZG90cHJvZChzcmNfcHRy
LCBzcmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3RyaWRlLCA2NCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGgsIHNlY29uZF9wcmVkKTsKLX0KLQotc3RhdGljIElOTElORSB1bnNp
Z25lZCBpbnQgc2FkMzJ4aF9hdmdfbmVvbl9kb3Rwcm9kKAotICAgIGNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLAotICAgIGludCBy
ZWZfc3RyaWRlLCBpbnQgaCwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsKLSAgcmV0dXJu
IHNhZHd4aF9hdmdfbmVvbl9kb3Rwcm9kKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJl
Zl9zdHJpZGUsIDMyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaCwgc2Vjb25k
X3ByZWQpOwotfQotCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBzYWQxNnhoX2F2Z19uZW9u
X2RvdHByb2QoCi0gICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsCi0gICAgaW50IHJlZl9zdHJpZGUsIGludCBoLCBjb25zdCB1
aW50OF90ICpzZWNvbmRfcHJlZCkgewotICB1aW50MzJ4NF90IHN1bVsyXSA9IHsgdmR1cHFfbl91
MzIoMCksIHZkdXBxX25fdTMyKDApIH07Ci0KLSAgaW50IGkgPSBoIC8gMjsKLSAgZG8gewotICAg
IHVpbnQ4eDE2X3QgczAsIHMxLCByMCwgcjEsIHAwLCBwMSwgYXZnMCwgYXZnMSwgZGlmZjAsIGRp
ZmYxOwotCi0gICAgczAgPSB2bGQxcV91OChzcmNfcHRyKTsKLSAgICByMCA9IHZsZDFxX3U4KHJl
Zl9wdHIpOwotICAgIHAwID0gdmxkMXFfdTgoc2Vjb25kX3ByZWQpOwotICAgIGF2ZzAgPSB2cmhh
ZGRxX3U4KHIwLCBwMCk7Ci0gICAgZGlmZjAgPSB2YWJkcV91OChzMCwgYXZnMCk7Ci0gICAgc3Vt
WzBdID0gdmRvdHFfdTMyKHN1bVswXSwgZGlmZjAsIHZkdXBxX25fdTgoMSkpOwotCi0gICAgc3Jj
X3B0ciArPSBzcmNfc3RyaWRlOwotICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICBzZWNv
bmRfcHJlZCArPSAxNjsKLQotICAgIHMxID0gdmxkMXFfdTgoc3JjX3B0cik7Ci0gICAgcjEgPSB2
bGQxcV91OChyZWZfcHRyKTsKLSAgICBwMSA9IHZsZDFxX3U4KHNlY29uZF9wcmVkKTsKLSAgICBh
dmcxID0gdnJoYWRkcV91OChyMSwgcDEpOwotICAgIGRpZmYxID0gdmFiZHFfdTgoczEsIGF2ZzEp
OwotICAgIHN1bVsxXSA9IHZkb3RxX3UzMihzdW1bMV0sIGRpZmYxLCB2ZHVwcV9uX3U4KDEpKTsK
LQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7
Ci0gICAgc2Vjb25kX3ByZWQgKz0gMTY7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICByZXR1
cm4gaG9yaXpvbnRhbF9hZGRfdWludDMyeDQodmFkZHFfdTMyKHN1bVswXSwgc3VtWzFdKSk7Ci19
Ci0KLSNkZWZpbmUgU0FEX1dYSF9BVkdfTkVPTl9ET1RQUk9EKHcsIGgpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdWludDMyX3QgdnB4X3NhZCMjdyMjeCMjaCMj
X2F2Z19uZW9uX2RvdHByb2QoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwg
aW50IHJlZl9zdHJpZGUsIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkKSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gc2Fk
IyN3IyN4aF9hdmdfbmVvbl9kb3Rwcm9kKHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRl
LCAoaCksIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZF9w
cmVkKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi1TQURfV1hIX0FWR19ORU9O
X0RPVFBST0QoMTYsIDgpCi1TQURfV1hIX0FWR19ORU9OX0RPVFBST0QoMTYsIDE2KQotU0FEX1dY
SF9BVkdfTkVPTl9ET1RQUk9EKDE2LCAzMikKLQotU0FEX1dYSF9BVkdfTkVPTl9ET1RQUk9EKDMy
LCAxNikKLVNBRF9XWEhfQVZHX05FT05fRE9UUFJPRCgzMiwgMzIpCi1TQURfV1hIX0FWR19ORU9O
X0RPVFBST0QoMzIsIDY0KQotCi1TQURfV1hIX0FWR19ORU9OX0RPVFBST0QoNjQsIDMyKQotU0FE
X1dYSF9BVkdfTkVPTl9ET1RQUk9EKDY0LCA2NCkKLQotI3VuZGVmIFNBRF9XWEhfQVZHX05FT05f
RE9UUFJPRApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdWJwZWxfdmFyaWFu
Y2VfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdWJwZWxfdmFyaWFuY2VfbmVvbi5j
CmluZGV4IGQ5MmYxNjE1ZDdlOC4uMzdiZmQxY2QxZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvYXJtL3N1YnBlbF92YXJpYW5jZV9uZW9uLmMKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2FybS9zdWJwZWxfdmFyaWFuY2VfbmVvbi5jCkBAIC0xNyw0NzMgKzE3LDE2OCBAQAogI2lu
Y2x1ZGUgInZweF9kc3AvdmFyaWFuY2UuaCIKICNpbmNsdWRlICJ2cHhfZHNwL2FybS9tZW1fbmVv
bi5oIgogCi0vLyBQcm9jZXNzIGEgYmxvY2sgZXhhY3RseSA0IHdpZGUgYW5kIGEgbXVsdGlwbGUg
b2YgMiBoaWdoLgotc3RhdGljIHZvaWQgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93NChjb25zdCB1
aW50OF90ICpzcmNfcHRyLCB1aW50OF90ICpkc3RfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwgaW50IHBpeGVsX3N0ZXAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LCBpbnQgZmlsdGVy
X29mZnNldCkgewotICBjb25zdCB1aW50OHg4X3QgZjAgPSB2ZHVwX25fdTgoOCAtIGZpbHRlcl9v
ZmZzZXQpOwotICBjb25zdCB1aW50OHg4X3QgZjEgPSB2ZHVwX25fdTgoZmlsdGVyX29mZnNldCk7
Ci0KLSAgaW50IGkgPSBkc3RfaGVpZ2h0OwotICBkbyB7Ci0gICAgdWludDh4OF90IHMwID0gbG9h
ZF91bmFsaWduZWRfdTgoc3JjX3B0ciwgc3JjX3N0cmlkZSk7Ci0gICAgdWludDh4OF90IHMxID0g
bG9hZF91bmFsaWduZWRfdTgoc3JjX3B0ciArIHBpeGVsX3N0ZXAsIHNyY19zdHJpZGUpOwotICAg
IHVpbnQxNng4X3QgYmxlbmQgPSB2bWxhbF91OCh2bXVsbF91OChzMCwgZjApLCBzMSwgZjEpOwot
ICAgIHVpbnQ4eDhfdCBibGVuZF91OCA9IHZyc2hybl9uX3UxNihibGVuZCwgMyk7Ci0gICAgdnN0
MV91OChkc3RfcHRyLCBibGVuZF91OCk7CitzdGF0aWMgY29uc3QgdWludDhfdCBiaWxpbmVhcl9m
aWx0ZXJzWzhdWzJdID0geworICB7IDEyOCwgMCB9LCB7IDExMiwgMTYgfSwgeyA5NiwgMzIgfSwg
eyA4MCwgNDggfSwKKyAgeyA2NCwgNjQgfSwgeyA0OCwgODAgfSwgIHsgMzIsIDk2IH0sIHsgMTYs
IDExMiB9LAorfTsKIAotICAgIHNyY19wdHIgKz0gMiAqIHNyY19zdHJpZGU7Ci0gICAgZHN0X3B0
ciArPSAyICogNDsKLSAgICBpIC09IDI7Ci0gIH0gd2hpbGUgKGkgIT0gMCk7CisvLyBQcm9jZXNz
IGEgYmxvY2sgZXhhY3RseSA0IHdpZGUgYW5kIGEgbXVsdGlwbGUgb2YgMiBoaWdoLgorc3RhdGlj
IHZvaWQgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93NChjb25zdCB1aW50OF90ICpzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpvdXRwdXRfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3Jj
X3BpeGVsc19wZXJfbGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHBpeGVsX3N0ZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBvdXRwdXRfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICpmaWx0ZXIpIHsKKyAgY29uc3QgdWludDh4OF90IGYwID0g
dmR1cF9uX3U4KGZpbHRlclswXSk7CisgIGNvbnN0IHVpbnQ4eDhfdCBmMSA9IHZkdXBfbl91OChm
aWx0ZXJbMV0pOworICB1bnNpZ25lZCBpbnQgaTsKKyAgZm9yIChpID0gMDsgaSA8IG91dHB1dF9o
ZWlnaHQ7IGkgKz0gMikgeworICAgIGNvbnN0IHVpbnQ4eDhfdCBzcmNfMCA9IGxvYWRfdW5hbGln
bmVkX3U4KHNyY19wdHIsIHNyY19waXhlbHNfcGVyX2xpbmUpOworICAgIGNvbnN0IHVpbnQ4eDhf
dCBzcmNfMSA9CisgICAgICAgIGxvYWRfdW5hbGlnbmVkX3U4KHNyY19wdHIgKyBwaXhlbF9zdGVw
LCBzcmNfcGl4ZWxzX3Blcl9saW5lKTsKKyAgICBjb25zdCB1aW50MTZ4OF90IGEgPSB2bXVsbF91
OChzcmNfMCwgZjApOworICAgIGNvbnN0IHVpbnQxNng4X3QgYiA9IHZtbGFsX3U4KGEsIHNyY18x
LCBmMSk7CisgICAgY29uc3QgdWludDh4OF90IG91dCA9IHZyc2hybl9uX3UxNihiLCBGSUxURVJf
QklUUyk7CisgICAgdnN0MV91OChvdXRwdXRfcHRyLCBvdXQpOworICAgIHNyY19wdHIgKz0gMiAq
IHNyY19waXhlbHNfcGVyX2xpbmU7CisgICAgb3V0cHV0X3B0ciArPSA4OworICB9CiB9CiAKIC8v
IFByb2Nlc3MgYSBibG9jayBleGFjdGx5IDggd2lkZSBhbmQgYW55IGhlaWdodC4KLXN0YXRpYyB2
b2lkIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzgoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgdWlu
dDhfdCAqZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsIGludCBwaXhlbF9zdGVwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwgaW50IGZpbHRlcl9vZmZzZXQpIHsKLSAgY29uc3Qg
dWludDh4OF90IGYwID0gdmR1cF9uX3U4KDggLSBmaWx0ZXJfb2Zmc2V0KTsKLSAgY29uc3QgdWlu
dDh4OF90IGYxID0gdmR1cF9uX3U4KGZpbHRlcl9vZmZzZXQpOwotCi0gIGludCBpID0gZHN0X2hl
aWdodDsKLSAgZG8gewotICAgIHVpbnQ4eDhfdCBzMCA9IHZsZDFfdTgoc3JjX3B0cik7Ci0gICAg
dWludDh4OF90IHMxID0gdmxkMV91OChzcmNfcHRyICsgcGl4ZWxfc3RlcCk7Ci0gICAgdWludDE2
eDhfdCBibGVuZCA9IHZtbGFsX3U4KHZtdWxsX3U4KHMwLCBmMCksIHMxLCBmMSk7Ci0gICAgdWlu
dDh4OF90IGJsZW5kX3U4ID0gdnJzaHJuX25fdTE2KGJsZW5kLCAzKTsKLSAgICB2c3QxX3U4KGRz
dF9wdHIsIGJsZW5kX3U4KTsKLQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICBkc3Rf
cHRyICs9IDg7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKK3N0YXRpYyB2b2lkIHZhcl9maWx0ZXJf
YmxvY2syZF9iaWxfdzgoY29uc3QgdWludDhfdCAqc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqb3V0cHV0X3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHNyY19waXhlbHNfcGVyX2xpbmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXhlbF9zdGVwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb3V0cHV0
X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCAqZmlsdGVyKSB7CisgIGNvbnN0IHVpbnQ4eDhfdCBmMCA9IHZkdXBfbl91OChmaWx0ZXJb
MF0pOworICBjb25zdCB1aW50OHg4X3QgZjEgPSB2ZHVwX25fdTgoZmlsdGVyWzFdKTsKKyAgdW5z
aWduZWQgaW50IGk7CisgIGZvciAoaSA9IDA7IGkgPCBvdXRwdXRfaGVpZ2h0OyArK2kpIHsKKyAg
ICBjb25zdCB1aW50OHg4X3Qgc3JjXzAgPSB2bGQxX3U4KCZzcmNfcHRyWzBdKTsKKyAgICBjb25z
dCB1aW50OHg4X3Qgc3JjXzEgPSB2bGQxX3U4KCZzcmNfcHRyW3BpeGVsX3N0ZXBdKTsKKyAgICBj
b25zdCB1aW50MTZ4OF90IGEgPSB2bXVsbF91OChzcmNfMCwgZjApOworICAgIGNvbnN0IHVpbnQx
Nng4X3QgYiA9IHZtbGFsX3U4KGEsIHNyY18xLCBmMSk7CisgICAgY29uc3QgdWludDh4OF90IG91
dCA9IHZyc2hybl9uX3UxNihiLCBGSUxURVJfQklUUyk7CisgICAgdnN0MV91OChvdXRwdXRfcHRy
LCBvdXQpOworICAgIHNyY19wdHIgKz0gc3JjX3BpeGVsc19wZXJfbGluZTsKKyAgICBvdXRwdXRf
cHRyICs9IDg7CisgIH0KIH0KIAogLy8gUHJvY2VzcyBhIGJsb2NrIHdoaWNoIGlzIGEgbXV0aXBs
ZSBvZiAxNiB3aWRlIGFuZCBhbnkgaGVpZ2h0Lgotc3RhdGljIHZvaWQgdmFyX2ZpbHRlcl9ibG9j
azJkX2JpbF9sYXJnZShjb25zdCB1aW50OF90ICpzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3RfcHRyLCBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpeGVsX3N0ZXAs
IGludCBkc3Rfd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3RfaGVpZ2h0LCBpbnQgZmlsdGVyX29mZnNldCkgewotICBjb25zdCB1aW50OHg4X3Qg
ZjAgPSB2ZHVwX25fdTgoOCAtIGZpbHRlcl9vZmZzZXQpOwotICBjb25zdCB1aW50OHg4X3QgZjEg
PSB2ZHVwX25fdTgoZmlsdGVyX29mZnNldCk7Ci0KLSAgaW50IGkgPSBkc3RfaGVpZ2h0OwotICBk
byB7Ci0gICAgaW50IGogPSAwOwotICAgIGRvIHsKLSAgICAgIHVpbnQ4eDE2X3QgczAgPSB2bGQx
cV91OChzcmNfcHRyICsgaik7Ci0gICAgICB1aW50OHgxNl90IHMxID0gdmxkMXFfdTgoc3JjX3B0
ciArIGogKyBwaXhlbF9zdGVwKTsKLSAgICAgIHVpbnQxNng4X3QgYmxlbmRfbCA9Ci0gICAgICAg
ICAgdm1sYWxfdTgodm11bGxfdTgodmdldF9sb3dfdTgoczApLCBmMCksIHZnZXRfbG93X3U4KHMx
KSwgZjEpOwotICAgICAgdWludDE2eDhfdCBibGVuZF9oID0KLSAgICAgICAgICB2bWxhbF91OCh2
bXVsbF91OCh2Z2V0X2hpZ2hfdTgoczApLCBmMCksIHZnZXRfaGlnaF91OChzMSksIGYxKTsKLSAg
ICAgIHVpbnQ4eDhfdCBvdXRfbG8gPSB2cnNocm5fbl91MTYoYmxlbmRfbCwgMyk7Ci0gICAgICB1
aW50OHg4X3Qgb3V0X2hpID0gdnJzaHJuX25fdTE2KGJsZW5kX2gsIDMpOwotICAgICAgdnN0MXFf
dTgoZHN0X3B0ciArIGosIHZjb21iaW5lX3U4KG91dF9sbywgb3V0X2hpKSk7Ci0KLSAgICAgIGog
Kz0gMTY7Ci0gICAgfSB3aGlsZSAoaiA8IGRzdF93aWR0aCk7Ci0KLSAgICBzcmNfcHRyICs9IHNy
Y19zdHJpZGU7Ci0gICAgZHN0X3B0ciArPSBkc3Rfd2lkdGg7Ci0gIH0gd2hpbGUgKC0taSAhPSAw
KTsKLX0KLQotc3RhdGljIHZvaWQgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93MTYoY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgdWludDhfdCAqZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgcGl4ZWxfc3RlcCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LCBpbnQgZmlsdGVy
X29mZnNldCkgewotICB2YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX2xhcmdlKHNyY19wdHIsIGRzdF9w
dHIsIHNyY19zdHJpZGUsIHBpeGVsX3N0ZXAsIDE2LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRzdF9oZWlnaHQsIGZpbHRlcl9vZmZzZXQpOwotfQotc3RhdGljIHZvaWQgdmFyX2Zp
bHRlcl9ibG9jazJkX2JpbF93MzIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgdWludDhfdCAqZHN0
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLCBpbnQgcGl4ZWxfc3RlcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3RfaGVpZ2h0LCBpbnQgZmlsdGVyX29mZnNldCkgewotICB2YXJfZmlsdGVyX2Js
b2NrMmRfYmlsX2xhcmdlKHNyY19wdHIsIGRzdF9wdHIsIHNyY19zdHJpZGUsIHBpeGVsX3N0ZXAs
IDMyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9oZWlnaHQsIGZpbHRlcl9v
ZmZzZXQpOwotfQotc3RhdGljIHZvaWQgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93NjQoY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgdWludDhfdCAqZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgcGl4ZWxfc3RlcCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LCBpbnQgZmls
dGVyX29mZnNldCkgewotICB2YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX2xhcmdlKHNyY19wdHIsIGRz
dF9wdHIsIHNyY19zdHJpZGUsIHBpeGVsX3N0ZXAsIDY0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRzdF9oZWlnaHQsIGZpbHRlcl9vZmZzZXQpOwotfQotCi1zdGF0aWMgdm9pZCB2
YXJfZmlsdGVyX2Jsb2NrMmRfYXZnKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIHVpbnQ4X3QgKmRz
dF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LCBpbnQgcGl4ZWxfc3RlcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQpIHsKLSAgaW50IGkgPSBkc3RfaGVpZ2h0OwotCi0g
IC8vIFdlIG9ubHkgc3BlY2lhbGl6ZSBvbiB0aGUgZmlsdGVyIHZhbHVlcyBmb3IgbGFyZ2UgYmxv
Y2sgc2l6ZXMgKD49IDE2eDE2LikKLSAgYXNzZXJ0KGRzdF93aWR0aCA+PSAxNiAmJiBkc3Rfd2lk
dGggJSAxNiA9PSAwKTsKLQotICBkbyB7Ci0gICAgaW50IGogPSAwOwotICAgIGRvIHsKLSAgICAg
IHVpbnQ4eDE2X3QgczAgPSB2bGQxcV91OChzcmNfcHRyICsgaik7Ci0gICAgICB1aW50OHgxNl90
IHMxID0gdmxkMXFfdTgoc3JjX3B0ciArIGogKyBwaXhlbF9zdGVwKTsKLSAgICAgIHVpbnQ4eDE2
X3QgYXZnID0gdnJoYWRkcV91OChzMCwgczEpOwotICAgICAgdnN0MXFfdTgoZHN0X3B0ciArIGos
IGF2Zyk7Ci0KLSAgICAgIGogKz0gMTY7Ci0gICAgfSB3aGlsZSAoaiA8IGRzdF93aWR0aCk7Ci0K
LSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgZHN0X3B0ciArPSBkc3Rfd2lkdGg7Ci0g
IH0gd2hpbGUgKC0taSAhPSAwKTsKLX0KLQotI2RlZmluZSBTVUJQRUxfVkFSSUFOQ0VfV1hIX05F
T04odywgaCwgcGFkZGluZykgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQg
aW50IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UjI3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLCBpbnQgeG9m
ZnNldCwgaW50IHlvZmZzZXQsICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqcmVmLCBpbnQg
cmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSkgeyAgICAgICAgICAgICAgIFwKLSAgICB1aW50OF90
IHRtcDBbdyAqIChoICsgcGFkZGluZyldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgdWludDhfdCB0bXAxW3cgKiBoXTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxfdyMj
dyhzcmMsIHRtcDAsIHNyY19zdHJpZGUsIDEsIChoICsgcGFkZGluZyksIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgeG9mZnNldCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93IyN3KHRtcDAsIHRtcDEsIHcsIHcs
IGgsIHlvZmZzZXQpOyAgICAgICAgICAgXAotICAgIHJldHVybiB2cHhfdmFyaWFuY2UjI3cjI3gj
I2godG1wMSwgdywgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgIFwKLSAgfQotCi0jZGVm
aW5lIFNQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTih3LCBoLCBwYWRkaW5nKSAg
ICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2Uj
I3cjI3gjI2gjI19uZW9uKCAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWlu
dDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhvZmZzZXQsIGludCB5b2Zmc2V0LCAgICAg
ICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpyZWYsIGludCByZWZfc3RyaWRlLCB1bnNpZ25l
ZCBpbnQgKnNzZSkgeyAgICAgICAgICAgICAgIFwKLSAgICBpZiAoeG9mZnNldCA9PSAwKSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgaWYgKHlvZmZzZXQgPT0gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHJldHVybiB2cHhfdmFyaWFuY2UjI3cjI3gjI2go
c3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7IFwKLSAgICAgIH0gZWxzZSBp
ZiAoeW9mZnNldCA9PSA0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICB1aW50OF90IHRtcFt3ICogaF07ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHZhcl9maWx0ZXJfYmxvY2sy
ZF9hdmcoc3JjLCB0bXAsIHNyY19zdHJpZGUsIHNyY19zdHJpZGUsIHcsIGgpOyAgICAgIFwKLSAg
ICAgICAgcmV0dXJuIHZweF92YXJpYW5jZSMjdyMjeCMjaCh0bXAsIHcsIHJlZiwgcmVmX3N0cmlk
ZSwgc3NlKTsgICAgICAgICAgXAotICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHVpbnQ4
X3QgdG1wW3cgKiBoXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93IyN3KHNyYywgdG1wLCBz
cmNfc3RyaWRlLCBzcmNfc3RyaWRlLCBoLCAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgeW9mZnNldCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgIHJldHVybiB2cHhfdmFyaWFuY2UjI3cjI3gjI2godG1wLCB3LCByZWYsIHJlZl9zdHJp
ZGUsIHNzZSk7ICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gZWxzZSBp
ZiAoeG9mZnNldCA9PSA0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICB1aW50OF90IHRtcDBbdyAqIChoICsgcGFkZGluZyldOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmICh5b2Zmc2V0ID09IDAp
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICB2YXJfZmlsdGVyX2Jsb2NrMmRfYXZnKHNyYywgdG1wMCwgc3JjX3N0cmlkZSwgMSwg
dywgaCk7ICAgICAgICAgICAgICBcCi0gICAgICAgIHJldHVybiB2cHhfdmFyaWFuY2UjI3cjI3gj
I2godG1wMCwgdywgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgIFwKLSAgICAgIH0gZWxz
ZSBpZiAoeW9mZnNldCA9PSA0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICB1aW50OF90IHRtcDFbdyAqIChoICsgcGFkZGluZyldOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHZhcl9maWx0ZXJfYmxv
Y2syZF9hdmcoc3JjLCB0bXAwLCBzcmNfc3RyaWRlLCAxLCB3LCAoaCArIHBhZGRpbmcpKTsgIFwK
LSAgICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2F2Zyh0bXAwLCB0bXAxLCB3LCB3LCB3LCBoKTsg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICByZXR1cm4gdnB4X3ZhcmlhbmNlIyN3IyN4
IyNoKHRtcDEsIHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICBcCi0gICAgICB9IGVs
c2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgdWludDhfdCB0bXAxW3cgKiAoaCArIHBhZGRpbmcpXTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB2YXJfZmlsdGVyX2Js
b2NrMmRfYXZnKHNyYywgdG1wMCwgc3JjX3N0cmlkZSwgMSwgdywgKGggKyBwYWRkaW5nKSk7ICBc
Ci0gICAgICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxfdyMjdyh0bXAwLCB0bXAxLCB3LCB3LCBo
LCB5b2Zmc2V0KTsgICAgICAgICAgIFwKLSAgICAgICAgcmV0dXJuIHZweF92YXJpYW5jZSMjdyMj
eCMjaCh0bXAxLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgXAotICAgICAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHVpbnQ4X3QgdG1wMFt3
ICogKGggKyBwYWRkaW5nKV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgaWYgKHlvZmZzZXQgPT0gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxf
dyMjdyhzcmMsIHRtcDAsIHNyY19zdHJpZGUsIDEsIGgsIHhvZmZzZXQpOyAgIFwKLSAgICAgICAg
cmV0dXJuIHZweF92YXJpYW5jZSMjdyMjeCMjaCh0bXAwLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNz
ZSk7ICAgICAgICAgXAotICAgICAgfSBlbHNlIGlmICh5b2Zmc2V0ID09IDQpIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHVpbnQ4X3QgdG1w
MVt3ICogaF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93IyN3KHNyYywgdG1wMCwgc3JjX3N0
cmlkZSwgMSwgKGggKyBwYWRkaW5nKSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeG9mZnNldCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
IHZhcl9maWx0ZXJfYmxvY2syZF9hdmcodG1wMCwgdG1wMSwgdywgdywgdywgaCk7ICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgcmV0dXJuIHZweF92YXJpYW5jZSMjdyMjeCMjaCh0bXAx
LCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgXAotICAgICAgfSBlbHNlIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgIHVpbnQ4X3QgdG1wMVt3ICogaF07ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2Jp
bF93IyN3KHNyYywgdG1wMCwgc3JjX3N0cmlkZSwgMSwgKGggKyBwYWRkaW5nKSwgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG9mZnNldCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxfdyMjdyh0bXAw
LCB0bXAxLCB3LCB3LCBoLCB5b2Zmc2V0KTsgICAgICAgICAgIFwKLSAgICAgICAgcmV0dXJuIHZw
eF92YXJpYW5jZSMjdyMjeCMjaCh0bXAxLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAg
ICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK3N0YXRp
YyB2b2lkIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzE2KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpvdXRwdXRf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
IHNyY19waXhlbHNfcGVyX2xpbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcGl4ZWxfc3RlcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBvdXRwdXRfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG91dHB1dF93aWR0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmZpbHRlcikgeworICBjb25z
dCB1aW50OHg4X3QgZjAgPSB2ZHVwX25fdTgoZmlsdGVyWzBdKTsKKyAgY29uc3QgdWludDh4OF90
IGYxID0gdmR1cF9uX3U4KGZpbHRlclsxXSk7CisgIHVuc2lnbmVkIGludCBpLCBqOworICBmb3Ig
KGkgPSAwOyBpIDwgb3V0cHV0X2hlaWdodDsgKytpKSB7CisgICAgZm9yIChqID0gMDsgaiA8IG91
dHB1dF93aWR0aDsgaiArPSAxNikgeworICAgICAgY29uc3QgdWludDh4MTZfdCBzcmNfMCA9IHZs
ZDFxX3U4KCZzcmNfcHRyW2pdKTsKKyAgICAgIGNvbnN0IHVpbnQ4eDE2X3Qgc3JjXzEgPSB2bGQx
cV91OCgmc3JjX3B0cltqICsgcGl4ZWxfc3RlcF0pOworICAgICAgY29uc3QgdWludDE2eDhfdCBh
ID0gdm11bGxfdTgodmdldF9sb3dfdTgoc3JjXzApLCBmMCk7CisgICAgICBjb25zdCB1aW50MTZ4
OF90IGIgPSB2bWxhbF91OChhLCB2Z2V0X2xvd191OChzcmNfMSksIGYxKTsKKyAgICAgIGNvbnN0
IHVpbnQ4eDhfdCBvdXRfbG8gPSB2cnNocm5fbl91MTYoYiwgRklMVEVSX0JJVFMpOworICAgICAg
Y29uc3QgdWludDE2eDhfdCBjID0gdm11bGxfdTgodmdldF9oaWdoX3U4KHNyY18wKSwgZjApOwor
ICAgICAgY29uc3QgdWludDE2eDhfdCBkID0gdm1sYWxfdTgoYywgdmdldF9oaWdoX3U4KHNyY18x
KSwgZjEpOworICAgICAgY29uc3QgdWludDh4OF90IG91dF9oaSA9IHZyc2hybl9uX3UxNihkLCBG
SUxURVJfQklUUyk7CisgICAgICB2c3QxcV91OChvdXRwdXRfcHRyICsgaiwgdmNvbWJpbmVfdTgo
b3V0X2xvLCBvdXRfaGkpKTsKKyAgICB9CisgICAgc3JjX3B0ciArPSBzcmNfcGl4ZWxzX3Blcl9s
aW5lOworICAgIG91dHB1dF9wdHIgKz0gb3V0cHV0X3dpZHRoOwogICB9Ci0KLS8vIDR4PGg+IGJs
b2NrcyBhcmUgcHJvY2Vzc2VkIHR3byByb3dzIGF0IGEgdGltZSwgc28gcmVxdWlyZSBhbiBleHRy
YSByb3cgb2YKLS8vIHBhZGRpbmcuCi1TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04oNCwgNCwgMikK
LVNVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTig0LCA4LCAyKQotCi1TVUJQRUxfVkFSSUFOQ0VfV1hI
X05FT04oOCwgNCwgMSkKLVNVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTig4LCA4LCAxKQotU1VCUEVM
X1ZBUklBTkNFX1dYSF9ORU9OKDgsIDE2LCAxKQotCi1TUEVDSUFMSVpFRF9TVUJQRUxfVkFSSUFO
Q0VfV1hIX05FT04oMTYsIDgsIDEpCi1TUEVDSUFMSVpFRF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05F
T04oMTYsIDE2LCAxKQotU1BFQ0lBTElaRURfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDE2LCAz
MiwgMSkKLQotU1BFQ0lBTElaRURfU1VCUEVMX1ZBUklBTkNFX1dYSF9ORU9OKDMyLCAxNiwgMSkK
LVNQRUNJQUxJWkVEX1NVQlBFTF9WQVJJQU5DRV9XWEhfTkVPTigzMiwgMzIsIDEpCi1TUEVDSUFM
SVpFRF9TVUJQRUxfVkFSSUFOQ0VfV1hIX05FT04oMzIsIDY0LCAxKQotCi1TUEVDSUFMSVpFRF9T
VUJQRUxfVkFSSUFOQ0VfV1hIX05FT04oNjQsIDMyLCAxKQotU1BFQ0lBTElaRURfU1VCUEVMX1ZB
UklBTkNFX1dYSF9ORU9OKDY0LCA2NCwgMSkKLQotLy8gQ29tYmluZSBiaWxpbmVhciBmaWx0ZXIg
d2l0aCB2cHhfY29tcF9hdmdfcHJlZCBmb3IgYmxvY2tzIGhhdmluZyB3aWR0aCA0Lgotc3RhdGlj
IHZvaWQgYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93NChjb25zdCB1aW50OF90ICpz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90ICpkc3RfcHRyLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBpeGVsX3N0ZXAsIGludCBkc3RfaGVpZ2h0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmlsdGVy
X29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsKLSAgY29uc3QgdWludDh4OF90IGYwID0gdmR1
cF9uX3U4KDggLSBmaWx0ZXJfb2Zmc2V0KTsKLSAgY29uc3QgdWludDh4OF90IGYxID0gdmR1cF9u
X3U4KGZpbHRlcl9vZmZzZXQpOwotCi0gIGludCBpID0gZHN0X2hlaWdodDsKLSAgZG8gewotICAg
IHVpbnQ4eDhfdCBzMCA9IGxvYWRfdW5hbGlnbmVkX3U4KHNyY19wdHIsIHNyY19zdHJpZGUpOwot
ICAgIHVpbnQ4eDhfdCBzMSA9IGxvYWRfdW5hbGlnbmVkX3U4KHNyY19wdHIgKyBwaXhlbF9zdGVw
LCBzcmNfc3RyaWRlKTsKLSAgICB1aW50MTZ4OF90IGJsZW5kID0gdm1sYWxfdTgodm11bGxfdTgo
czAsIGYwKSwgczEsIGYxKTsKLSAgICB1aW50OHg4X3QgYmxlbmRfdTggPSB2cnNocm5fbl91MTYo
YmxlbmQsIDMpOwotCi0gICAgdWludDh4OF90IHAgPSB2bGQxX3U4KHNlY29uZF9wcmVkKTsKLSAg
ICB1aW50OHg4X3QgYXZnID0gdnJoYWRkX3U4KGJsZW5kX3U4LCBwKTsKLQotICAgIHZzdDFfdTgo
ZHN0X3B0ciwgYXZnKTsKLQotICAgIHNyY19wdHIgKz0gMiAqIHNyY19zdHJpZGU7Ci0gICAgZHN0
X3B0ciArPSAyICogNDsKLSAgICBzZWNvbmRfcHJlZCArPSAyICogNDsKLSAgICBpIC09IDI7Ci0g
IH0gd2hpbGUgKGkgIT0gMCk7CiB9CiAKLS8vIENvbWJpbmUgYmlsaW5lYXIgZmlsdGVyIHdpdGgg
dnB4X2NvbXBfYXZnX3ByZWQgZm9yIGJsb2NrcyBoYXZpbmcgd2lkdGggOC4KLXN0YXRpYyB2b2lk
IGF2Z19wcmVkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzgoY29uc3QgdWludDhfdCAqc3JjX3B0
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf
dCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBwaXhlbF9zdGVwLCBpbnQgZHN0X2hlaWdodCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZpbHRlcl9vZmZz
ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnNlY29uZF9wcmVkKSB7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBmMCA9IHZkdXBfbl91
OCg4IC0gZmlsdGVyX29mZnNldCk7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBmMSA9IHZkdXBfbl91OChm
aWx0ZXJfb2Zmc2V0KTsKLQotICBpbnQgaSA9IGRzdF9oZWlnaHQ7Ci0gIGRvIHsKLSAgICB1aW50
OHg4X3QgczAgPSB2bGQxX3U4KHNyY19wdHIpOwotICAgIHVpbnQ4eDhfdCBzMSA9IHZsZDFfdTgo
c3JjX3B0ciArIHBpeGVsX3N0ZXApOwotICAgIHVpbnQxNng4X3QgYmxlbmQgPSB2bWxhbF91OCh2
bXVsbF91OChzMCwgZjApLCBzMSwgZjEpOwotICAgIHVpbnQ4eDhfdCBibGVuZF91OCA9IHZyc2hy
bl9uX3UxNihibGVuZCwgMyk7Ci0KLSAgICB1aW50OHg4X3QgcCA9IHZsZDFfdTgoc2Vjb25kX3By
ZWQpOwotICAgIHVpbnQ4eDhfdCBhdmcgPSB2cmhhZGRfdTgoYmxlbmRfdTgsIHApOwotCi0gICAg
dnN0MV91OChkc3RfcHRyLCBhdmcpOwotCi0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAg
IGRzdF9wdHIgKz0gODsKLSAgICBzZWNvbmRfcHJlZCArPSA4OwotICB9IHdoaWxlICgtLWkgPiAw
KTsKLX0KLQotLy8gQ29tYmluZSBiaWxpbmVhciBmaWx0ZXIgd2l0aCB2cHhfY29tcF9hdmdfcHJl
ZCBmb3IgbGFyZ2UgYmxvY2tzLgotc3RhdGljIHZvaWQgYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9j
azJkX2JpbF9sYXJnZSgKLSAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCB1aW50OF90ICpkc3Rf
cHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHBpeGVsX3N0ZXAsCi0gICAgaW50IGRzdF93aWR0aCwg
aW50IGRzdF9oZWlnaHQsIGludCBmaWx0ZXJfb2Zmc2V0LAotICAgIGNvbnN0IHVpbnQ4X3QgKnNl
Y29uZF9wcmVkKSB7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBmMCA9IHZkdXBfbl91OCg4IC0gZmlsdGVy
X29mZnNldCk7Ci0gIGNvbnN0IHVpbnQ4eDhfdCBmMSA9IHZkdXBfbl91OChmaWx0ZXJfb2Zmc2V0
KTsKLQotICBpbnQgaSA9IGRzdF9oZWlnaHQ7Ci0gIGRvIHsKLSAgICBpbnQgaiA9IDA7Ci0gICAg
ZG8gewotICAgICAgdWludDh4MTZfdCBzMCA9IHZsZDFxX3U4KHNyY19wdHIgKyBqKTsKLSAgICAg
IHVpbnQ4eDE2X3QgczEgPSB2bGQxcV91OChzcmNfcHRyICsgaiArIHBpeGVsX3N0ZXApOwotICAg
ICAgdWludDE2eDhfdCBibGVuZF9sID0KLSAgICAgICAgICB2bWxhbF91OCh2bXVsbF91OCh2Z2V0
X2xvd191OChzMCksIGYwKSwgdmdldF9sb3dfdTgoczEpLCBmMSk7Ci0gICAgICB1aW50MTZ4OF90
IGJsZW5kX2ggPQotICAgICAgICAgIHZtbGFsX3U4KHZtdWxsX3U4KHZnZXRfaGlnaF91OChzMCks
IGYwKSwgdmdldF9oaWdoX3U4KHMxKSwgZjEpOwotICAgICAgdWludDh4MTZfdCBibGVuZF91OCA9
Ci0gICAgICAgICAgdmNvbWJpbmVfdTgodnJzaHJuX25fdTE2KGJsZW5kX2wsIDMpLCB2cnNocm5f
bl91MTYoYmxlbmRfaCwgMykpOwotCi0gICAgICB1aW50OHgxNl90IHAgPSB2bGQxcV91OChzZWNv
bmRfcHJlZCk7Ci0gICAgICB1aW50OHgxNl90IGF2ZyA9IHZyaGFkZHFfdTgoYmxlbmRfdTgsIHAp
OwotCi0gICAgICB2c3QxcV91OChkc3RfcHRyICsgaiwgYXZnKTsKLQotICAgICAgaiArPSAxNjsK
LSAgICAgIHNlY29uZF9wcmVkICs9IDE2OwotICAgIH0gd2hpbGUgKGogPCBkc3Rfd2lkdGgpOwot
Ci0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIGRzdF9wdHIgKz0gZHN0X3dpZHRoOwot
ICB9IHdoaWxlICgtLWkgIT0gMCk7Ci19Ci0KLS8vIENvbWJpbmUgYmlsaW5lYXIgZmlsdGVyIHdp
dGggdnB4X2NvbXBfYXZnX3ByZWQgZm9yIGJsb2NrcyBoYXZpbmcgd2lkdGggMTYuCi1zdGF0aWMg
dm9pZCBhdmdfcHJlZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cxNigKLSAgICBjb25zdCB1aW50
OF90ICpzcmNfcHRyLCB1aW50OF90ICpkc3RfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHBpeGVs
X3N0ZXAsCi0gICAgaW50IGRzdF9oZWlnaHQsIGludCBmaWx0ZXJfb2Zmc2V0LCBjb25zdCB1aW50
OF90ICpzZWNvbmRfcHJlZCkgewotICBhdmdfcHJlZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX2xh
cmdlKHNyY19wdHIsIGRzdF9wdHIsIHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGl4ZWxfc3RlcCwgMTYsIGRzdF9oZWlnaHQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyX29mZnNldCwgc2Vjb25kX3ByZWQp
OwotfQotCi0vLyBDb21iaW5lIGJpbGluZWFyIGZpbHRlciB3aXRoIHZweF9jb21wX2F2Z19wcmVk
IGZvciBibG9ja3MgaGF2aW5nIHdpZHRoIDMyLgotc3RhdGljIHZvaWQgYXZnX3ByZWRfdmFyX2Zp
bHRlcl9ibG9jazJkX2JpbF93MzIoCi0gICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgdWludDhf
dCAqZHN0X3B0ciwgaW50IHNyY19zdHJpZGUsIGludCBwaXhlbF9zdGVwLAotICAgIGludCBkc3Rf
aGVpZ2h0LCBpbnQgZmlsdGVyX29mZnNldCwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsK
LSAgYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF9sYXJnZShzcmNfcHRyLCBkc3RfcHRy
LCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBp
eGVsX3N0ZXAsIDMyLCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbHRlcl9vZmZzZXQsIHNlY29uZF9wcmVkKTsKLX0KLQotLy8gQ29tYmluZSBi
aWxpbmVhciBmaWx0ZXIgd2l0aCB2cHhfY29tcF9hdmdfcHJlZCBmb3IgYmxvY2tzIGhhdmluZyB3
aWR0aCA2NC4KLXN0YXRpYyB2b2lkIGF2Z19wcmVkX3Zhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzY0
KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIHVpbnQ4X3QgKmRzdF9wdHIsIGludCBzcmNf
c3RyaWRlLCBpbnQgcGl4ZWxfc3RlcCwKLSAgICBpbnQgZHN0X2hlaWdodCwgaW50IGZpbHRlcl9v
ZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkKSB7Ci0gIGF2Z19wcmVkX3Zhcl9maWx0
ZXJfYmxvY2syZF9iaWxfbGFyZ2Uoc3JjX3B0ciwgZHN0X3B0ciwgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXhlbF9zdGVwLCA2NCwgZHN0X2hl
aWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJfb2Zm
c2V0LCBzZWNvbmRfcHJlZCk7Ci19Ci0KLS8vIENvbWJpbmUgYXZlcmFnaW5nIHN1YnBlbCBmaWx0
ZXIgd2l0aCB2cHhfY29tcF9hdmdfcHJlZC4KLXN0YXRpYyB2b2lkIGF2Z19wcmVkX3Zhcl9maWx0
ZXJfYmxvY2syZF9hdmcoY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0X3B0ciwgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXhl
bF9zdGVwLCBpbnQgZHN0X3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsKLSAgaW50IGkgPSBk
c3RfaGVpZ2h0OwotCi0gIC8vIFdlIG9ubHkgc3BlY2lhbGl6ZSBvbiB0aGUgZmlsdGVyIHZhbHVl
cyBmb3IgbGFyZ2UgYmxvY2sgc2l6ZXMgKD49IDE2eDE2LikKLSAgYXNzZXJ0KGRzdF93aWR0aCA+
PSAxNiAmJiBkc3Rfd2lkdGggJSAxNiA9PSAwKTsKLQotICBkbyB7Ci0gICAgaW50IGogPSAwOwot
ICAgIGRvIHsKLSAgICAgIHVpbnQ4eDE2X3QgczAgPSB2bGQxcV91OChzcmNfcHRyICsgaik7Ci0g
ICAgICB1aW50OHgxNl90IHMxID0gdmxkMXFfdTgoc3JjX3B0ciArIGogKyBwaXhlbF9zdGVwKTsK
LSAgICAgIHVpbnQ4eDE2X3QgYXZnID0gdnJoYWRkcV91OChzMCwgczEpOwotCi0gICAgICB1aW50
OHgxNl90IHAgPSB2bGQxcV91OChzZWNvbmRfcHJlZCk7Ci0gICAgICBhdmcgPSB2cmhhZGRxX3U4
KGF2ZywgcCk7Ci0KLSAgICAgIHZzdDFxX3U4KGRzdF9wdHIgKyBqLCBhdmcpOwotCi0gICAgICBq
ICs9IDE2OwotICAgICAgc2Vjb25kX3ByZWQgKz0gMTY7Ci0gICAgfSB3aGlsZSAoaiA8IGRzdF93
aWR0aCk7Ci0KLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgZHN0X3B0ciArPSBkc3Rf
d2lkdGg7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLX0KLQotLy8gSW1wbGVtZW50YXRpb24gb2Yg
dnB4X2NvbXBfYXZnX3ByZWQgZm9yIGJsb2NrcyBoYXZpbmcgd2lkdGggPj0gMTYuCi1zdGF0aWMg
dm9pZCBhdmdfcHJlZChjb25zdCB1aW50OF90ICpzcmNfcHRyLCB1aW50OF90ICpkc3RfcHRyLCBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBk
c3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3By
ZWQpIHsKLSAgaW50IGkgPSBkc3RfaGVpZ2h0OwotCi0gIC8vIFdlIG9ubHkgc3BlY2lhbGl6ZSBv
biB0aGUgZmlsdGVyIHZhbHVlcyBmb3IgbGFyZ2UgYmxvY2sgc2l6ZXMgKD49IDE2eDE2LikKLSAg
YXNzZXJ0KGRzdF93aWR0aCA+PSAxNiAmJiBkc3Rfd2lkdGggJSAxNiA9PSAwKTsKLQotICBkbyB7
Ci0gICAgaW50IGogPSAwOwotICAgIGRvIHsKLSAgICAgIHVpbnQ4eDE2X3QgcyA9IHZsZDFxX3U4
KHNyY19wdHIgKyBqKTsKLSAgICAgIHVpbnQ4eDE2X3QgcCA9IHZsZDFxX3U4KHNlY29uZF9wcmVk
KTsKLQotICAgICAgdWludDh4MTZfdCBhdmcgPSB2cmhhZGRxX3U4KHMsIHApOwotCi0gICAgICB2
c3QxcV91OChkc3RfcHRyICsgaiwgYXZnKTsKLQotICAgICAgaiArPSAxNjsKLSAgICAgIHNlY29u
ZF9wcmVkICs9IDE2OwotICAgIH0gd2hpbGUgKGogPCBkc3Rfd2lkdGgpOwotCi0gICAgc3JjX3B0
ciArPSBzcmNfc3RyaWRlOwotICAgIGRzdF9wdHIgKz0gZHN0X3dpZHRoOwotICB9IHdoaWxlICgt
LWkgIT0gMCk7Ci19Ci0KLSNkZWZpbmUgU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTih3LCBo
LCBwYWRkaW5nKSAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2cHhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAgICAg
XAotICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc291cmNlX3N0cmlkZSwgaW50IHhvZmZz
ZXQsIGludCB5b2Zmc2V0LCAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJl
Zl9zdHJpZGUsIHVpbnQzMl90ICpzc2UsICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25z
dCB1aW50OF90ICpzZWNvbmRfcHJlZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHVpbnQ4X3QgdG1wMFt3ICogKGggKyBwYWRkaW5nKV07ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50OF90IHRtcDFbdyAqIGhd
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93IyN3KHNyYywgdG1wMCwgc291cmNlX3N0cmlkZSwg
MSwgKGggKyBwYWRkaW5nKSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4b2Zm
c2V0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBhdmdfcHJlZF92
YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cjI3codG1wMCwgdG1wMSwgdywgdywgaCwgeW9mZnNldCwg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZF9w
cmVkKTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHJldHVybiB2cHhfdmFyaWFuY2UjI3cj
I3gjI2godG1wMSwgdywgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgICAgIFwKKy8vIDR4
TSBmaWx0ZXIgd3JpdGVzIGFuIGV4dHJhIHJvdyB0byBmZGF0YSBiZWNhdXNlIGl0IHByb2Nlc3Nl
cyB0d28gcm93cyBhdCBhCisvLyB0aW1lLgorI2RlZmluZSBzdWJfcGl4ZWxfdmFyaWFuY2VOeE0o
biwgbSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdWludDMy
X3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZSMjbiMjeCMjbSMjX25lb24oICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsICAgXAorICAgICAgY29uc3QgdWludDhfdCAq
cmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UpIHsgICAgICAgICAgICAgIFwK
KyAgICB1aW50OF90IHRlbXAwW24gKiAobSArIChuID09IDQgPyAyIDogMSkpXTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgdWludDhfdCB0ZW1wMVtuICogbV07ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBpZiAobiA9PSA0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2YXJfZmlsdGVyX2Jsb2NrMmRf
YmlsX3c0KHNyY19wdHIsIHRlbXAwLCBzcmNfc3RyaWRlLCAxLCAobSArIDIpLCAgICAgXAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxpbmVhcl9maWx0ZXJzW3hfb2Zmc2V0XSk7
ICAgICAgICAgICAgICAgIFwKKyAgICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzQodGVtcDAs
IHRlbXAxLCBuLCBuLCBtLCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJpbGluZWFyX2ZpbHRlcnNbeV9vZmZzZXRdKTsgICAgICAgICAgICAg
ICAgXAorICAgIH0gZWxzZSBpZiAobiA9PSA4KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxf
dzgoc3JjX3B0ciwgdGVtcDAsIHNyY19zdHJpZGUsIDEsIChtICsgMSksICAgICBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGluZWFyX2ZpbHRlcnNbeF9vZmZzZXRdKTsgICAg
ICAgICAgICAgICAgXAorICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93OCh0ZW1wMCwgdGVt
cDEsIG4sIG4sIG0sICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYmlsaW5lYXJfZmlsdGVyc1t5X29mZnNldF0pOyAgICAgICAgICAgICAgICBc
CisgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93MTYo
c3JjX3B0ciwgdGVtcDAsIHNyY19zdHJpZGUsIDEsIChtICsgMSksIG4sIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJpbGluZWFyX2ZpbHRlcnNbeF9vZmZzZXRdKTsgICAgICAg
ICAgICAgICBcCisgICAgICB2YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cxNih0ZW1wMCwgdGVtcDEs
IG4sIG4sIG0sIG4sICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYmlsaW5lYXJfZmlsdGVyc1t5X29mZnNldF0pOyAgICAgICAgICAgICAgIFwKKyAg
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIHZweF92YXJpYW5jZSMjbiMjeCMjbSh0ZW1w
MSwgbiwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgXAogICB9CiAKLSNkZWZpbmUg
U1BFQ0lBTElaRURfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTih3LCBoLCBwYWRkaW5nKSAg
ICAgICAgICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZSMjdyMjeCMjaCMjX25lb24oICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWlu
dDhfdCAqc3JjLCBpbnQgc291cmNlX3N0cmlkZSwgaW50IHhvZmZzZXQsIGludCB5b2Zmc2V0LCAg
ICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJpZGUsIHVuc2ln
bmVkIGludCAqc3NlLCAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpz
ZWNvbmRfcHJlZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIGlmICh4b2Zmc2V0ID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHVpbnQ4X3QgdG1wW3cgKiBoXTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICBpZiAoeW9mZnNldCA9PSAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICBhdmdfcHJlZChzcmMsIHRtcCwgc291cmNlX3N0
cmlkZSwgdywgaCwgc2Vjb25kX3ByZWQpOyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgcmV0
dXJuIHZweF92YXJpYW5jZSMjdyMjeCMjaCh0bXAsIHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsg
ICAgICAgICAgICBcCi0gICAgICB9IGVsc2UgaWYgKHlvZmZzZXQgPT0gNCkgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBhdmdfcHJlZF92
YXJfZmlsdGVyX2Jsb2NrMmRfYXZnKHNyYywgdG1wLCBzb3VyY2Vfc3RyaWRlLCAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Vfc3Ry
aWRlLCB3LCBoLCBzZWNvbmRfcHJlZCk7ICAgICBcCi0gICAgICAgIHJldHVybiB2cHhfdmFyaWFu
Y2UjI3cjI3gjI2godG1wLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICAgXAot
ICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9j
azJkX2JpbF93IyN3KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICBzcmMsIHRtcCwgc291cmNlX3N0cmlkZSwgc291cmNlX3N0cmlkZSwgaCwgeW9mZnNldCwg
c2Vjb25kX3ByZWQpOyAgXAotICAgICAgICByZXR1cm4gdnB4X3ZhcmlhbmNlIyN3IyN4IyNoKHRt
cCwgdywgcmVmLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgfSBlbHNlIGlmICh4b2Zmc2V0ID09IDQpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgdWludDhfdCB0bXAwW3cg
KiAoaCArIHBhZGRpbmcpXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIGlmICh5b2Zmc2V0ID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGF2Z19wcmVkX3Zhcl9maWx0ZXJf
YmxvY2syZF9hdmcoc3JjLCB0bXAwLCBzb3VyY2Vfc3RyaWRlLCAxLCB3LCBoLCAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZF9wcmVkKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgcmV0dXJuIHZweF92YXJpYW5jZSMjdyMjeCMj
aCh0bXAwLCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICBcCi0gICAgICB9IGVs
c2UgaWYgKHlvZmZzZXQgPT0gNCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICB1aW50OF90IHRtcDFbdyAqIChoICsgcGFkZGluZyldOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdmFyX2ZpbHRl
cl9ibG9jazJkX2F2ZyhzcmMsIHRtcDAsIHNvdXJjZV9zdHJpZGUsIDEsIHcsIChoICsgcGFkZGlu
ZykpOyBcCi0gICAgICAgIGF2Z19wcmVkX3Zhcl9maWx0ZXJfYmxvY2syZF9hdmcodG1wMCwgdG1w
MSwgdywgdywgdywgaCwgc2Vjb25kX3ByZWQpOyAgXAotICAgICAgICByZXR1cm4gdnB4X3Zhcmlh
bmNlIyN3IyN4IyNoKHRtcDEsIHcsIHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAgIFwK
LSAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHVpbnQ4X3QgdG1wMVt3ICogKGggKyBw
YWRkaW5nKV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICB2YXJfZmlsdGVyX2Jsb2NrMmRfYXZnKHNyYywgdG1wMCwgc291cmNlX3N0cmlkZSwgMSwgdywg
KGggKyBwYWRkaW5nKSk7IFwKLSAgICAgICAgYXZnX3ByZWRfdmFyX2ZpbHRlcl9ibG9jazJkX2Jp
bF93IyN3KHRtcDAsIHRtcDEsIHcsIHcsIGgsIHlvZmZzZXQsICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRfcHJlZCk7ICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICByZXR1cm4gdnB4X3ZhcmlhbmNlIyN3IyN4IyNoKHRtcDEsIHcs
IHJlZiwgcmVmX3N0cmlkZSwgc3NlKTsgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgdWludDhfdCB0bXAwW3cgKiAoaCAr
IHBhZGRpbmcpXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgIGlmICh5b2Zmc2V0ID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGF2Z19wcmVkX3Zhcl9maWx0ZXJfYmxvY2sy
ZF9iaWxfdyMjdyhzcmMsIHRtcDAsIHNvdXJjZV9zdHJpZGUsIDEsIGgsICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG9mZnNldCwgc2Vjb25kX3ByZWQp
OyAgICAgICAgICAgIFwKLSAgICAgICAgcmV0dXJuIHZweF92YXJpYW5jZSMjdyMjeCMjaCh0bXAw
LCB3LCByZWYsIHJlZl9zdHJpZGUsIHNzZSk7ICAgICAgICAgICBcCi0gICAgICB9IGVsc2UgaWYg
KHlvZmZzZXQgPT0gNCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICB1aW50OF90IHRtcDFbdyAqIGhdOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdmFyX2ZpbHRlcl9ibG9j
azJkX2JpbF93IyN3KHNyYywgdG1wMCwgc291cmNlX3N0cmlkZSwgMSwgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaCArIHBhZGRpbmcpLCB4b2Zm
c2V0KTsgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBhdmdfcHJlZF92YXJfZmlsdGVyX2Js
b2NrMmRfYXZnKHRtcDAsIHRtcDEsIHcsIHcsIHcsIGgsIHNlY29uZF9wcmVkKTsgIFwKLSAgICAg
ICAgcmV0dXJuIHZweF92YXJpYW5jZSMjdyMjeCMjaCh0bXAxLCB3LCByZWYsIHJlZl9zdHJpZGUs
IHNzZSk7ICAgICAgICAgICBcCi0gICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB1aW50
OF90IHRtcDFbdyAqIGhdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93IyN3KHNyYywgdG1w
MCwgc291cmNlX3N0cmlkZSwgMSwgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoaCArIHBhZGRpbmcpLCB4b2Zmc2V0KTsgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICBhdmdfcHJlZF92YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cjI3codG1wMCwg
dG1wMSwgdywgdywgaCwgeW9mZnNldCwgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlY29uZF9wcmVkKTsgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgIHJldHVybiB2cHhfdmFyaWFuY2UjI3cjI3gjI2godG1wMSwgdywgcmVmLCByZWZfc3Ry
aWRlLCBzc2UpOyAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCitzdWJfcGl4ZWxfdmFyaWFuY2VOeE0oNCwgNCk7CitzdWJfcGl4ZWxf
dmFyaWFuY2VOeE0oNCwgOCk7CitzdWJfcGl4ZWxfdmFyaWFuY2VOeE0oOCwgNCk7CitzdWJfcGl4
ZWxfdmFyaWFuY2VOeE0oOCwgOCk7CitzdWJfcGl4ZWxfdmFyaWFuY2VOeE0oOCwgMTYpOworc3Vi
X3BpeGVsX3ZhcmlhbmNlTnhNKDE2LCA4KTsKK3N1Yl9waXhlbF92YXJpYW5jZU54TSgxNiwgMTYp
Oworc3ViX3BpeGVsX3ZhcmlhbmNlTnhNKDE2LCAzMik7CitzdWJfcGl4ZWxfdmFyaWFuY2VOeE0o
MzIsIDE2KTsKK3N1Yl9waXhlbF92YXJpYW5jZU54TSgzMiwgMzIpOworc3ViX3BpeGVsX3Zhcmlh
bmNlTnhNKDMyLCA2NCk7CitzdWJfcGl4ZWxfdmFyaWFuY2VOeE0oNjQsIDMyKTsKK3N1Yl9waXhl
bF92YXJpYW5jZU54TSg2NCwgNjQpOworCisvLyA0eE0gZmlsdGVyIHdyaXRlcyBhbiBleHRyYSBy
b3cgdG8gZmRhdGEgYmVjYXVzZSBpdCBwcm9jZXNzZXMgdHdvIHJvd3MgYXQgYQorLy8gdGltZS4K
KyNkZWZpbmUgc3ViX3BpeGVsX2F2Z192YXJpYW5jZU54TShuLCBtKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQzMl90IHZweF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlIyNuIyN4IyNtIyNfbmVvbiggICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zm
c2V0LCAgIFwKKyAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1
aW50MzJfdCAqc3NlLCAgICAgICAgICAgICAgICBcCisgICAgICBjb25zdCB1aW50OF90ICpzZWNv
bmRfcHJlZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IHVpbnQ4X3QgdGVtcDBbbiAqIChtICsgKG4gPT0gNCA/IDIgOiAxKSldOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OF90IHRlbXAxW24gKiBtXTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIGlmIChuID09IDQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxf
dzQoc3JjX3B0ciwgdGVtcDAsIHNyY19zdHJpZGUsIDEsIChtICsgMiksICAgICBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGluZWFyX2ZpbHRlcnNbeF9vZmZzZXRdKTsgICAg
ICAgICAgICAgICAgXAorICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93NCh0ZW1wMCwgdGVt
cDEsIG4sIG4sIG0sICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYmlsaW5lYXJfZmlsdGVyc1t5X29mZnNldF0pOyAgICAgICAgICAgICAgICBc
CisgICAgfSBlbHNlIGlmIChuID09IDgpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF93OChz
cmNfcHRyLCB0ZW1wMCwgc3JjX3N0cmlkZSwgMSwgKG0gKyAxKSwgICAgIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYmlsaW5lYXJfZmlsdGVyc1t4X29mZnNldF0pOyAgICAgICAg
ICAgICAgICBcCisgICAgICB2YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3c4KHRlbXAwLCB0ZW1wMSwg
biwgbiwgbSwgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBiaWxpbmVhcl9maWx0ZXJzW3lfb2Zmc2V0XSk7ICAgICAgICAgICAgICAgIFwKKyAg
ICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICB2YXJfZmlsdGVyX2Jsb2NrMmRfYmlsX3cxNihzcmNf
cHRyLCB0ZW1wMCwgc3JjX3N0cmlkZSwgMSwgKG0gKyAxKSwgbiwgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmlsaW5lYXJfZmlsdGVyc1t4X29mZnNldF0pOyAgICAgICAgICAg
ICAgIFwKKyAgICAgIHZhcl9maWx0ZXJfYmxvY2syZF9iaWxfdzE2KHRlbXAwLCB0ZW1wMSwgbiwg
biwgbSwgbiwgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBiaWxpbmVhcl9maWx0ZXJzW3lfb2Zmc2V0XSk7ICAgICAgICAgICAgICAgXAorICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdnB4X2NvbXBfYXZnX3By
ZWQodGVtcDAsIHNlY29uZF9wcmVkLCBuLCBtLCB0ZW1wMSwgbik7ICAgICAgICAgICAgICAgICAg
XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZXR1cm4gdnB4X3ZhcmlhbmNlIyNuIyN4IyNt
KHRlbXAwLCBuLCByZWZfcHRyLCByZWZfc3RyaWRlLCBzc2UpOyAgICAgICBcCiAgIH0KIAotLy8g
NHg8aD4gYmxvY2tzIGFyZSBwcm9jZXNzZWQgdHdvIHJvd3MgYXQgYSB0aW1lLCBzbyByZXF1aXJl
IGFuIGV4dHJhIHJvdyBvZgotLy8gcGFkZGluZy4KLVNVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05F
T04oNCwgNCwgMikKLVNVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oNCwgOCwgMikKLQotU1VC
UEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTig4LCA0LCAxKQotU1VCUEVMX0FWR19WQVJJQU5DRV9X
WEhfTkVPTig4LCA4LCAxKQotU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTig4LCAxNiwgMSkK
LQotU1BFQ0lBTElaRURfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTigxNiwgOCwgMSkKLVNQ
RUNJQUxJWkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMTYsIDE2LCAxKQotU1BFQ0lB
TElaRURfU1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTigxNiwgMzIsIDEpCi0KLVNQRUNJQUxJ
WkVEX1NVQlBFTF9BVkdfVkFSSUFOQ0VfV1hIX05FT04oMzIsIDE2LCAxKQotU1BFQ0lBTElaRURf
U1VCUEVMX0FWR19WQVJJQU5DRV9XWEhfTkVPTigzMiwgMzIsIDEpCi1TUEVDSUFMSVpFRF9TVUJQ
RUxfQVZHX1ZBUklBTkNFX1dYSF9ORU9OKDMyLCA2NCwgMSkKLQotU1BFQ0lBTElaRURfU1VCUEVM
X0FWR19WQVJJQU5DRV9XWEhfTkVPTig2NCwgMzIsIDEpCi1TUEVDSUFMSVpFRF9TVUJQRUxfQVZH
X1ZBUklBTkNFX1dYSF9ORU9OKDY0LCA2NCwgMSkKK3N1Yl9waXhlbF9hdmdfdmFyaWFuY2VOeE0o
NCwgNCk7CitzdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlTnhNKDQsIDgpOworc3ViX3BpeGVsX2F2Z192
YXJpYW5jZU54TSg4LCA0KTsKK3N1Yl9waXhlbF9hdmdfdmFyaWFuY2VOeE0oOCwgOCk7CitzdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlTnhNKDgsIDE2KTsKK3N1Yl9waXhlbF9hdmdfdmFyaWFuY2VOeE0o
MTYsIDgpOworc3ViX3BpeGVsX2F2Z192YXJpYW5jZU54TSgxNiwgMTYpOworc3ViX3BpeGVsX2F2
Z192YXJpYW5jZU54TSgxNiwgMzIpOworc3ViX3BpeGVsX2F2Z192YXJpYW5jZU54TSgzMiwgMTYp
Oworc3ViX3BpeGVsX2F2Z192YXJpYW5jZU54TSgzMiwgMzIpOworc3ViX3BpeGVsX2F2Z192YXJp
YW5jZU54TSgzMiwgNjQpOworc3ViX3BpeGVsX2F2Z192YXJpYW5jZU54TSg2NCwgMzIpOworc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZU54TSg2NCwgNjQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS9zdWJ0cmFjdF9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3N1YnRy
YWN0X25lb24uYwppbmRleCAyYzAwOGU0OGFiMjkuLjYxMjg5N2UyNDdjMiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdWJ0cmFjdF9uZW9uLmMKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS9zdWJ0cmFjdF9uZW9uLmMKQEAgLTc5LDU5ICs3OSwzIEBAIHZvaWQgdnB4X3N1
YnRyYWN0X2Jsb2NrX25lb24oaW50IHJvd3MsIGludCBjb2xzLCBpbnQxNl90ICpkaWZmLAogICAg
IH0gd2hpbGUgKHIpOwogICB9CiB9Ci0KLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotdm9p
ZCB2cHhfaGlnaGJkX3N1YnRyYWN0X2Jsb2NrX25lb24oaW50IHJvd3MsIGludCBjb2xzLCBpbnQx
Nl90ICpkaWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBkaWZmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKnNyYzhfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpwcmVkOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3QgcHJlZF9zdHJpZGUsIGludCBiZCkgewotICBpbnQgciA9IHJv
d3MsIGM7Ci0gIHVpbnQxNl90ICpzcmMgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyYzhfcHRyKTsK
LSAgdWludDE2X3QgKnByZWQgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHByZWQ4X3B0cik7Ci0gICh2
b2lkKWJkOwotCi0gIGlmIChjb2xzID49IDE2KSB7Ci0gICAgZG8gewotICAgICAgZm9yIChjID0g
MDsgYyA8IGNvbHM7IGMgKz0gMTYpIHsKLSAgICAgICAgY29uc3QgdWludDE2eDhfdCBzMCA9IHZs
ZDFxX3UxNigmc3JjW2MgKyAwXSk7Ci0gICAgICAgIGNvbnN0IHVpbnQxNng4X3QgczEgPSB2bGQx
cV91MTYoJnNyY1tjICsgOF0pOwotICAgICAgICBjb25zdCB1aW50MTZ4OF90IHAwID0gdmxkMXFf
dTE2KCZwcmVkW2MgKyAwXSk7Ci0gICAgICAgIGNvbnN0IHVpbnQxNng4X3QgcDEgPSB2bGQxcV91
MTYoJnByZWRbYyArIDhdKTsKLSAgICAgICAgY29uc3QgdWludDE2eDhfdCBkMCA9IHZzdWJxX3Ux
NihzMCwgcDApOwotICAgICAgICBjb25zdCB1aW50MTZ4OF90IGQxID0gdnN1YnFfdTE2KHMxLCBw
MSk7Ci0gICAgICAgIHZzdDFxX3MxNigmZGlmZl9wdHJbYyArIDBdLCB2cmVpbnRlcnByZXRxX3Mx
Nl91MTYoZDApKTsKLSAgICAgICAgdnN0MXFfczE2KCZkaWZmX3B0cltjICsgOF0sIHZyZWludGVy
cHJldHFfczE2X3UxNihkMSkpOwotICAgICAgfQotICAgICAgZGlmZl9wdHIgKz0gZGlmZl9zdHJp
ZGU7Ci0gICAgICBwcmVkICs9IHByZWRfc3RyaWRlOwotICAgICAgc3JjICs9IHNyY19zdHJpZGU7
Ci0gICAgfSB3aGlsZSAoLS1yKTsKLSAgfSBlbHNlIGlmIChjb2xzID49IDgpIHsKLSAgICBkbyB7
Ci0gICAgICBmb3IgKGMgPSAwOyBjIDwgY29sczsgYyArPSA4KSB7Ci0gICAgICAgIGNvbnN0IHVp
bnQxNng4X3QgcyA9IHZsZDFxX3UxNigmc3JjW2NdKTsKLSAgICAgICAgY29uc3QgdWludDE2eDhf
dCBwID0gdmxkMXFfdTE2KCZwcmVkW2NdKTsKLSAgICAgICAgY29uc3QgdWludDE2eDhfdCBkMCA9
IHZzdWJxX3UxNihzLCBwKTsKLSAgICAgICAgdnN0MXFfczE2KCZkaWZmX3B0cltjXSwgdnJlaW50
ZXJwcmV0cV9zMTZfdTE2KGQwKSk7Ci0gICAgICB9Ci0gICAgICBkaWZmX3B0ciArPSBkaWZmX3N0
cmlkZTsKLSAgICAgIHByZWQgKz0gcHJlZF9zdHJpZGU7Ci0gICAgICBzcmMgKz0gc3JjX3N0cmlk
ZTsKLSAgICB9IHdoaWxlICgtLXIpOwotICB9IGVsc2UgaWYgKGNvbHMgPj0gNCkgewotICAgIGRv
IHsKLSAgICAgIGZvciAoYyA9IDA7IGMgPCBjb2xzOyBjICs9IDQpIHsKLSAgICAgICAgY29uc3Qg
dWludDE2eDRfdCBzID0gdmxkMV91MTYoJnNyY1tjXSk7Ci0gICAgICAgIGNvbnN0IHVpbnQxNng0
X3QgcCA9IHZsZDFfdTE2KCZwcmVkW2NdKTsKLSAgICAgICAgY29uc3QgdWludDE2eDRfdCB2X2Rp
ZmYgPSB2c3ViX3UxNihzLCBwKTsKLSAgICAgICAgdnN0MV9zMTYoJmRpZmZfcHRyW2NdLCB2cmVp
bnRlcnByZXRfczE2X3UxNih2X2RpZmYpKTsKLSAgICAgIH0KLSAgICAgIGRpZmZfcHRyICs9IGRp
ZmZfc3RyaWRlOwotICAgICAgcHJlZCArPSBwcmVkX3N0cmlkZTsKLSAgICAgIHNyYyArPSBzcmNf
c3RyaWRlOwotICAgIH0gd2hpbGUgKC0tcik7Ci0gIH0KLX0KLSNlbmRpZiAgLy8gQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEgKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX25l
b24uaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX25lb24uaAppbmRleCA3NWMxNzBkZjYw
MzQuLjllNjgzM2FhZDNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdW1f
bmVvbi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX25lb24uaApAQCAtMTYsMjA5
ICsxNiwyMyBAQAogI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgogI2luY2x1ZGUgInZweC92cHhf
aW50ZWdlci5oIgogCi1zdGF0aWMgSU5MSU5FIHVpbnQxNl90IGhvcml6b250YWxfYWRkX3VpbnQ4
eDQoY29uc3QgdWludDh4OF90IGEpIHsKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gIHJldHVybiB2
YWRkbHZfdTgoYSk7Ci0jZWxzZQotICBjb25zdCB1aW50MTZ4NF90IGIgPSB2cGFkZGxfdTgoYSk7
Ci0gIGNvbnN0IHVpbnQxNng0X3QgYyA9IHZwYWRkX3UxNihiLCBiKTsKLSAgcmV0dXJuIHZnZXRf
bGFuZV91MTYoYywgMCk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIElOTElORSB1aW50MTZfdCBob3Jp
em9udGFsX2FkZF91aW50OHg4KGNvbnN0IHVpbnQ4eDhfdCBhKSB7Ci0jaWYgVlBYX0FSQ0hfQUFS
Q0g2NAotICByZXR1cm4gdmFkZGx2X3U4KGEpOwotI2Vsc2UKLSAgY29uc3QgdWludDE2eDRfdCBi
ID0gdnBhZGRsX3U4KGEpOwotICBjb25zdCB1aW50MTZ4NF90IGMgPSB2cGFkZF91MTYoYiwgYik7
Ci0gIGNvbnN0IHVpbnQxNng0X3QgZCA9IHZwYWRkX3UxNihjLCBjKTsKLSAgcmV0dXJuIHZnZXRf
bGFuZV91MTYoZCwgMCk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIElOTElORSB1aW50MTZfdCBob3Jp
em9udGFsX2FkZF91aW50OHgxNihjb25zdCB1aW50OHgxNl90IGEpIHsKLSNpZiBWUFhfQVJDSF9B
QVJDSDY0Ci0gIHJldHVybiB2YWRkbHZxX3U4KGEpOwotI2Vsc2UKLSAgY29uc3QgdWludDE2eDhf
dCBiID0gdnBhZGRscV91OChhKTsKLSAgY29uc3QgdWludDE2eDRfdCBjID0gdmFkZF91MTYodmdl
dF9sb3dfdTE2KGIpLCB2Z2V0X2hpZ2hfdTE2KGIpKTsKLSAgY29uc3QgdWludDE2eDRfdCBkID0g
dnBhZGRfdTE2KGMsIGMpOwotICBjb25zdCB1aW50MTZ4NF90IGUgPSB2cGFkZF91MTYoZCwgZCk7
Ci0gIHJldHVybiB2Z2V0X2xhbmVfdTE2KGUsIDApOwotI2VuZGlmCi19Ci0KLXN0YXRpYyBJTkxJ
TkUgdWludDE2X3QgaG9yaXpvbnRhbF9hZGRfdWludDE2eDQoY29uc3QgdWludDE2eDRfdCBhKSB7
Ci0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICByZXR1cm4gdmFkZHZfdTE2KGEpOwotI2Vsc2UKLSAg
Y29uc3QgdWludDE2eDRfdCBiID0gdnBhZGRfdTE2KGEsIGEpOwotICBjb25zdCB1aW50MTZ4NF90
IGMgPSB2cGFkZF91MTYoYiwgYik7Ci0gIHJldHVybiB2Z2V0X2xhbmVfdTE2KGMsIDApOwotI2Vu
ZGlmCi19Ci0KLXN0YXRpYyBJTkxJTkUgaW50MzJfdCBob3Jpem9udGFsX2FkZF9pbnQxNng4KGNv
bnN0IGludDE2eDhfdCBhKSB7Ci0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICByZXR1cm4gdmFkZGx2
cV9zMTYoYSk7Ci0jZWxzZQorc3RhdGljIElOTElORSBpbnQzMngyX3QgaG9yaXpvbnRhbF9hZGRf
aW50MTZ4OChjb25zdCBpbnQxNng4X3QgYSkgewogICBjb25zdCBpbnQzMng0X3QgYiA9IHZwYWRk
bHFfczE2KGEpOwogICBjb25zdCBpbnQ2NHgyX3QgYyA9IHZwYWRkbHFfczMyKGIpOwotICBjb25z
dCBpbnQzMngyX3QgZCA9IHZhZGRfczMyKHZyZWludGVycHJldF9zMzJfczY0KHZnZXRfbG93X3M2
NChjKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3MzMl9z
NjQodmdldF9oaWdoX3M2NChjKSkpOwotICByZXR1cm4gdmdldF9sYW5lX3MzMihkLCAwKTsKLSNl
bmRpZgorICByZXR1cm4gdmFkZF9zMzIodnJlaW50ZXJwcmV0X3MzMl9zNjQodmdldF9sb3dfczY0
KGMpKSwKKyAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldF9zMzJfczY0KHZnZXRfaGlnaF9z
NjQoYykpKTsKIH0KIAotc3RhdGljIElOTElORSB1aW50MzJfdCBob3Jpem9udGFsX2FkZF91aW50
MTZ4OChjb25zdCB1aW50MTZ4OF90IGEpIHsKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gIHJldHVy
biB2YWRkbHZxX3UxNihhKTsKLSNlbHNlCitzdGF0aWMgSU5MSU5FIHVpbnQzMngyX3QgaG9yaXpv
bnRhbF9hZGRfdWludDE2eDgoY29uc3QgdWludDE2eDhfdCBhKSB7CiAgIGNvbnN0IHVpbnQzMng0
X3QgYiA9IHZwYWRkbHFfdTE2KGEpOwogICBjb25zdCB1aW50NjR4Ml90IGMgPSB2cGFkZGxxX3Uz
MihiKTsKLSAgY29uc3QgdWludDMyeDJfdCBkID0gdmFkZF91MzIodnJlaW50ZXJwcmV0X3UzMl91
NjQodmdldF9sb3dfdTY0KGMpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJl
aW50ZXJwcmV0X3UzMl91NjQodmdldF9oaWdoX3U2NChjKSkpOwotICByZXR1cm4gdmdldF9sYW5l
X3UzMihkLCAwKTsKLSNlbmRpZgorICByZXR1cm4gdmFkZF91MzIodnJlaW50ZXJwcmV0X3UzMl91
NjQodmdldF9sb3dfdTY0KGMpKSwKKyAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldF91MzJf
dTY0KHZnZXRfaGlnaF91NjQoYykpKTsKIH0KIAotc3RhdGljIElOTElORSB1aW50MzJ4NF90IGhv
cml6b250YWxfYWRkXzRkX3VpbnQxNng4KGNvbnN0IHVpbnQxNng4X3Qgc3VtWzRdKSB7Ci0jaWYg
VlBYX0FSQ0hfQUFSQ0g2NAotICBjb25zdCB1aW50MTZ4OF90IGEwID0gdnBhZGRxX3UxNihzdW1b
MF0sIHN1bVsxXSk7Ci0gIGNvbnN0IHVpbnQxNng4X3QgYTEgPSB2cGFkZHFfdTE2KHN1bVsyXSwg
c3VtWzNdKTsKLSAgY29uc3QgdWludDE2eDhfdCBiMCA9IHZwYWRkcV91MTYoYTAsIGExKTsKLSAg
cmV0dXJuIHZwYWRkbHFfdTE2KGIwKTsKLSNlbHNlCi0gIGNvbnN0IHVpbnQxNng0X3QgYTAgPSB2
YWRkX3UxNih2Z2V0X2xvd191MTYoc3VtWzBdKSwgdmdldF9oaWdoX3UxNihzdW1bMF0pKTsKLSAg
Y29uc3QgdWludDE2eDRfdCBhMSA9IHZhZGRfdTE2KHZnZXRfbG93X3UxNihzdW1bMV0pLCB2Z2V0
X2hpZ2hfdTE2KHN1bVsxXSkpOwotICBjb25zdCB1aW50MTZ4NF90IGEyID0gdmFkZF91MTYodmdl
dF9sb3dfdTE2KHN1bVsyXSksIHZnZXRfaGlnaF91MTYoc3VtWzJdKSk7Ci0gIGNvbnN0IHVpbnQx
Nng0X3QgYTMgPSB2YWRkX3UxNih2Z2V0X2xvd191MTYoc3VtWzNdKSwgdmdldF9oaWdoX3UxNihz
dW1bM10pKTsKLSAgY29uc3QgdWludDE2eDRfdCBiMCA9IHZwYWRkX3UxNihhMCwgYTEpOwotICBj
b25zdCB1aW50MTZ4NF90IGIxID0gdnBhZGRfdTE2KGEyLCBhMyk7Ci0gIHJldHVybiB2cGFkZGxx
X3UxNih2Y29tYmluZV91MTYoYjAsIGIxKSk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIElOTElORSB1
aW50MzJfdCBob3Jpem9udGFsX2xvbmdfYWRkX3VpbnQxNng4KGNvbnN0IHVpbnQxNng4X3QgdmVj
X2xvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNng4X3QgdmVjX2hpKSB7Ci0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICByZXR1
cm4gdmFkZGx2cV91MTYodmVjX2xvKSArIHZhZGRsdnFfdTE2KHZlY19oaSk7Ci0jZWxzZQotICBj
b25zdCB1aW50MzJ4NF90IHZlY19sX2xvID0KLSAgICAgIHZhZGRsX3UxNih2Z2V0X2xvd191MTYo
dmVjX2xvKSwgdmdldF9oaWdoX3UxNih2ZWNfbG8pKTsKLSAgY29uc3QgdWludDMyeDRfdCB2ZWNf
bF9oaSA9Ci0gICAgICB2YWRkbF91MTYodmdldF9sb3dfdTE2KHZlY19oaSksIHZnZXRfaGlnaF91
MTYodmVjX2hpKSk7Ci0gIGNvbnN0IHVpbnQzMng0X3QgYSA9IHZhZGRxX3UzMih2ZWNfbF9sbywg
dmVjX2xfaGkpOworc3RhdGljIElOTElORSB1aW50MzJ4Ml90IGhvcml6b250YWxfYWRkX3VpbnQz
Mng0KGNvbnN0IHVpbnQzMng0X3QgYSkgewogICBjb25zdCB1aW50NjR4Ml90IGIgPSB2cGFkZGxx
X3UzMihhKTsKLSAgY29uc3QgdWludDMyeDJfdCBjID0gdmFkZF91MzIodnJlaW50ZXJwcmV0X3Uz
Ml91NjQodmdldF9sb3dfdTY0KGIpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dnJlaW50ZXJwcmV0X3UzMl91NjQodmdldF9oaWdoX3U2NChiKSkpOwotICByZXR1cm4gdmdldF9s
YW5lX3UzMihjLCAwKTsKLSNlbmRpZgotfQotCi1zdGF0aWMgSU5MSU5FIHVpbnQzMng0X3QgaG9y
aXpvbnRhbF9sb25nX2FkZF80ZF91aW50MTZ4OCgKLSAgICBjb25zdCB1aW50MTZ4OF90IHN1bV9s
b1s0XSwgY29uc3QgdWludDE2eDhfdCBzdW1faGlbNF0pIHsKLSAgY29uc3QgdWludDMyeDRfdCBh
MCA9IHZwYWRkbHFfdTE2KHN1bV9sb1swXSk7Ci0gIGNvbnN0IHVpbnQzMng0X3QgYTEgPSB2cGFk
ZGxxX3UxNihzdW1fbG9bMV0pOwotICBjb25zdCB1aW50MzJ4NF90IGEyID0gdnBhZGRscV91MTYo
c3VtX2xvWzJdKTsKLSAgY29uc3QgdWludDMyeDRfdCBhMyA9IHZwYWRkbHFfdTE2KHN1bV9sb1sz
XSk7Ci0gIGNvbnN0IHVpbnQzMng0X3QgYjAgPSB2cGFkYWxxX3UxNihhMCwgc3VtX2hpWzBdKTsK
LSAgY29uc3QgdWludDMyeDRfdCBiMSA9IHZwYWRhbHFfdTE2KGExLCBzdW1faGlbMV0pOwotICBj
b25zdCB1aW50MzJ4NF90IGIyID0gdnBhZGFscV91MTYoYTIsIHN1bV9oaVsyXSk7Ci0gIGNvbnN0
IHVpbnQzMng0X3QgYjMgPSB2cGFkYWxxX3UxNihhMywgc3VtX2hpWzNdKTsKLSNpZiBWUFhfQVJD
SF9BQVJDSDY0Ci0gIGNvbnN0IHVpbnQzMng0X3QgYzAgPSB2cGFkZHFfdTMyKGIwLCBiMSk7Ci0g
IGNvbnN0IHVpbnQzMng0X3QgYzEgPSB2cGFkZHFfdTMyKGIyLCBiMyk7Ci0gIHJldHVybiB2cGFk
ZHFfdTMyKGMwLCBjMSk7Ci0jZWxzZQotICBjb25zdCB1aW50MzJ4Ml90IGMwID0gdmFkZF91MzIo
dmdldF9sb3dfdTMyKGIwKSwgdmdldF9oaWdoX3UzMihiMCkpOwotICBjb25zdCB1aW50MzJ4Ml90
IGMxID0gdmFkZF91MzIodmdldF9sb3dfdTMyKGIxKSwgdmdldF9oaWdoX3UzMihiMSkpOwotICBj
b25zdCB1aW50MzJ4Ml90IGMyID0gdmFkZF91MzIodmdldF9sb3dfdTMyKGIyKSwgdmdldF9oaWdo
X3UzMihiMikpOwotICBjb25zdCB1aW50MzJ4Ml90IGMzID0gdmFkZF91MzIodmdldF9sb3dfdTMy
KGIzKSwgdmdldF9oaWdoX3UzMihiMykpOwotICBjb25zdCB1aW50MzJ4Ml90IGQwID0gdnBhZGRf
dTMyKGMwLCBjMSk7Ci0gIGNvbnN0IHVpbnQzMngyX3QgZDEgPSB2cGFkZF91MzIoYzIsIGMzKTsK
LSAgcmV0dXJuIHZjb21iaW5lX3UzMihkMCwgZDEpOwotI2VuZGlmCi19Ci0KLXN0YXRpYyBJTkxJ
TkUgaW50MzJfdCBob3Jpem9udGFsX2FkZF9pbnQzMngyKGNvbnN0IGludDMyeDJfdCBhKSB7Ci0j
aWYgVlBYX0FSQ0hfQUFSQ0g2NAotICByZXR1cm4gdmFkZHZfczMyKGEpOwotI2Vsc2UKLSAgcmV0
dXJuIHZnZXRfbGFuZV9zMzIoYSwgMCkgKyB2Z2V0X2xhbmVfczMyKGEsIDEpOwotI2VuZGlmCi19
Ci0KLXN0YXRpYyBJTkxJTkUgdWludDMyX3QgaG9yaXpvbnRhbF9hZGRfdWludDMyeDIoY29uc3Qg
dWludDMyeDJfdCBhKSB7Ci0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICByZXR1cm4gdmFkZHZfdTMy
KGEpOwotI2Vsc2UKLSAgY29uc3QgdWludDY0eDFfdCBiID0gdnBhZGRsX3UzMihhKTsKLSAgcmV0
dXJuIHZnZXRfbGFuZV91MzIodnJlaW50ZXJwcmV0X3UzMl91NjQoYiksIDApOwotI2VuZGlmCisg
IHJldHVybiB2YWRkX3UzMih2cmVpbnRlcnByZXRfdTMyX3U2NCh2Z2V0X2xvd191NjQoYikpLAor
ICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3UzMl91NjQodmdldF9oaWdoX3U2NChiKSkp
OwogfQotCi1zdGF0aWMgSU5MSU5FIGludDMyX3QgaG9yaXpvbnRhbF9hZGRfaW50MzJ4NChjb25z
dCBpbnQzMng0X3QgYSkgewotI2lmIFZQWF9BUkNIX0FBUkNINjQKLSAgcmV0dXJuIHZhZGR2cV9z
MzIoYSk7Ci0jZWxzZQotICBjb25zdCBpbnQ2NHgyX3QgYiA9IHZwYWRkbHFfczMyKGEpOwotICBj
b25zdCBpbnQzMngyX3QgYyA9IHZhZGRfczMyKHZyZWludGVycHJldF9zMzJfczY0KHZnZXRfbG93
X3M2NChiKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3Mz
Ml9zNjQodmdldF9oaWdoX3M2NChiKSkpOwotICByZXR1cm4gdmdldF9sYW5lX3MzMihjLCAwKTsK
LSNlbmRpZgotfQotCi1zdGF0aWMgSU5MSU5FIHVpbnQzMl90IGhvcml6b250YWxfYWRkX3VpbnQz
Mng0KGNvbnN0IHVpbnQzMng0X3QgYSkgewotI2lmIFZQWF9BUkNIX0FBUkNINjQKLSAgcmV0dXJu
IHZhZGR2cV91MzIoYSk7Ci0jZWxzZQotICBjb25zdCB1aW50NjR4Ml90IGIgPSB2cGFkZGxxX3Uz
MihhKTsKLSAgY29uc3QgdWludDMyeDJfdCBjID0gdmFkZF91MzIodnJlaW50ZXJwcmV0X3UzMl91
NjQodmdldF9sb3dfdTY0KGIpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJl
aW50ZXJwcmV0X3UzMl91NjQodmdldF9oaWdoX3U2NChiKSkpOwotICByZXR1cm4gdmdldF9sYW5l
X3UzMihjLCAwKTsKLSNlbmRpZgotfQotCi1zdGF0aWMgSU5MSU5FIHVpbnQzMng0X3QgaG9yaXpv
bnRhbF9hZGRfNGRfdWludDMyeDQoY29uc3QgdWludDMyeDRfdCBzdW1bNF0pIHsKLSNpZiBWUFhf
QVJDSF9BQVJDSDY0Ci0gIHVpbnQzMng0X3QgcmVzMDEgPSB2cGFkZHFfdTMyKHN1bVswXSwgc3Vt
WzFdKTsKLSAgdWludDMyeDRfdCByZXMyMyA9IHZwYWRkcV91MzIoc3VtWzJdLCBzdW1bM10pOwot
ICByZXR1cm4gdnBhZGRxX3UzMihyZXMwMSwgcmVzMjMpOwotI2Vsc2UKLSAgdWludDMyeDRfdCBy
ZXMgPSB2ZHVwcV9uX3UzMigwKTsKLSAgcmVzID0gdnNldHFfbGFuZV91MzIoaG9yaXpvbnRhbF9h
ZGRfdWludDMyeDQoc3VtWzBdKSwgcmVzLCAwKTsKLSAgcmVzID0gdnNldHFfbGFuZV91MzIoaG9y
aXpvbnRhbF9hZGRfdWludDMyeDQoc3VtWzFdKSwgcmVzLCAxKTsKLSAgcmVzID0gdnNldHFfbGFu
ZV91MzIoaG9yaXpvbnRhbF9hZGRfdWludDMyeDQoc3VtWzJdKSwgcmVzLCAyKTsKLSAgcmVzID0g
dnNldHFfbGFuZV91MzIoaG9yaXpvbnRhbF9hZGRfdWludDMyeDQoc3VtWzNdKSwgcmVzLCAzKTsK
LSAgcmV0dXJuIHJlczsKLSNlbmRpZgotfQotCi1zdGF0aWMgSU5MSU5FIHVpbnQ2NF90IGhvcml6
b250YWxfbG9uZ19hZGRfdWludDMyeDQoY29uc3QgdWludDMyeDRfdCBhKSB7Ci0jaWYgVlBYX0FS
Q0hfQUFSQ0g2NAotICByZXR1cm4gdmFkZGx2cV91MzIoYSk7Ci0jZWxzZQotICBjb25zdCB1aW50
NjR4Ml90IGIgPSB2cGFkZGxxX3UzMihhKTsKLSAgcmV0dXJuIHZnZXRxX2xhbmVfdTY0KGIsIDAp
ICsgdmdldHFfbGFuZV91NjQoYiwgMSk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIElOTElORSBpbnQ2
NF90IGhvcml6b250YWxfYWRkX2ludDY0eDIoY29uc3QgaW50NjR4Ml90IGEpIHsKLSNpZiBWUFhf
QVJDSF9BQVJDSDY0Ci0gIHJldHVybiB2YWRkdnFfczY0KGEpOwotI2Vsc2UKLSAgcmV0dXJuIHZn
ZXRxX2xhbmVfczY0KGEsIDApICsgdmdldHFfbGFuZV9zNjQoYSwgMSk7Ci0jZW5kaWYKLX0KLQot
c3RhdGljIElOTElORSB1aW50NjRfdCBob3Jpem9udGFsX2FkZF91aW50NjR4Mihjb25zdCB1aW50
NjR4Ml90IGEpIHsKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gIHJldHVybiB2YWRkdnFfdTY0KGEp
OwotI2Vsc2UKLSAgcmV0dXJuIHZnZXRxX2xhbmVfdTY0KGEsIDApICsgdmdldHFfbGFuZV91NjQo
YSwgMSk7Ci0jZW5kaWYKLX0KLQogI2VuZGlmICAvLyBWUFhfVlBYX0RTUF9BUk1fU1VNX05FT05f
SF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX3NxdWFyZXNfbmVvbi5j
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2FybS9zdW1fc3F1YXJlc19uZW9uLmMKaW5kZXggMDc0YWZl
MzI1ODNiLi5jZmVmYWQ5OTM4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0v
c3VtX3NxdWFyZXNfbmVvbi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vc3VtX3NxdWFy
ZXNfbmVvbi5jCkBAIC05LDkyICs5LDc3IEBACiAgKi8KIAogI2luY2x1ZGUgPGFybV9uZW9uLmg+
Ci0jaW5jbHVkZSA8YXNzZXJ0Lmg+CiAKKyNpbmNsdWRlIDxhc3NlcnQuaD4KICNpbmNsdWRlICIu
L3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL3N1bV9uZW9uLmgiCiAKIHVp
bnQ2NF90IHZweF9zdW1fc3F1YXJlc18yZF9pMTZfbmVvbihjb25zdCBpbnQxNl90ICpzcmMsIGlu
dCBzdHJpZGUsIGludCBzaXplKSB7CisgIHVpbnQ2NHgxX3QgczI7CisKICAgaWYgKHNpemUgPT0g
NCkgewogICAgIGludDE2eDRfdCBzWzRdOwotICAgIGludDMyeDRfdCBzdW1fczMyOworICAgIGlu
dDMyeDRfdCBzMDsKKyAgICB1aW50MzJ4Ml90IHMxOwogCiAgICAgc1swXSA9IHZsZDFfczE2KHNy
YyArIDAgKiBzdHJpZGUpOwogICAgIHNbMV0gPSB2bGQxX3MxNihzcmMgKyAxICogc3RyaWRlKTsK
ICAgICBzWzJdID0gdmxkMV9zMTYoc3JjICsgMiAqIHN0cmlkZSk7CiAgICAgc1szXSA9IHZsZDFf
czE2KHNyYyArIDMgKiBzdHJpZGUpOwotCi0gICAgc3VtX3MzMiA9IHZtdWxsX3MxNihzWzBdLCBz
WzBdKTsKLSAgICBzdW1fczMyID0gdm1sYWxfczE2KHN1bV9zMzIsIHNbMV0sIHNbMV0pOwotICAg
IHN1bV9zMzIgPSB2bWxhbF9zMTYoc3VtX3MzMiwgc1syXSwgc1syXSk7Ci0gICAgc3VtX3MzMiA9
IHZtbGFsX3MxNihzdW1fczMyLCBzWzNdLCBzWzNdKTsKLQotICAgIHJldHVybiBob3Jpem9udGFs
X2xvbmdfYWRkX3VpbnQzMng0KHZyZWludGVycHJldHFfdTMyX3MzMihzdW1fczMyKSk7CisgICAg
czAgPSB2bXVsbF9zMTYoc1swXSwgc1swXSk7CisgICAgczAgPSB2bWxhbF9zMTYoczAsIHNbMV0s
IHNbMV0pOworICAgIHMwID0gdm1sYWxfczE2KHMwLCBzWzJdLCBzWzJdKTsKKyAgICBzMCA9IHZt
bGFsX3MxNihzMCwgc1szXSwgc1szXSk7CisgICAgczEgPSB2cGFkZF91MzIodmdldF9sb3dfdTMy
KHZyZWludGVycHJldHFfdTMyX3MzMihzMCkpLAorICAgICAgICAgICAgICAgICAgIHZnZXRfaGln
aF91MzIodnJlaW50ZXJwcmV0cV91MzJfczMyKHMwKSkpOworICAgIHMyID0gdnBhZGRsX3UzMihz
MSk7CiAgIH0gZWxzZSB7Ci0gICAgdWludDY0eDJfdCBzdW1fdTY0ID0gdmR1cHFfbl91NjQoMCk7
Ci0gICAgaW50IHJvd3MgPSBzaXplOworICAgIGludCByID0gc2l6ZTsKKyAgICB1aW50NjR4Ml90
IHMxID0gdmR1cHFfbl91NjQoMCk7CiAKICAgICBkbyB7Ci0gICAgICBjb25zdCBpbnQxNl90ICpz
cmNfcHRyID0gc3JjOwotICAgICAgaW50MzJ4NF90IHN1bV9zMzJbMl0gPSB7IHZkdXBxX25fczMy
KDApLCB2ZHVwcV9uX3MzMigwKSB9OwotICAgICAgaW50IGNvbHMgPSBzaXplOworICAgICAgaW50
IGMgPSBzaXplOworICAgICAgaW50MzJ4NF90IHMwID0gdmR1cHFfbl9zMzIoMCk7CisgICAgICBj
b25zdCBpbnQxNl90ICpzcmNfdCA9IHNyYzsKIAogICAgICAgZG8gewogICAgICAgICBpbnQxNng4
X3Qgc1s4XTsKIAotICAgICAgICBzWzBdID0gdmxkMXFfczE2KHNyY19wdHIgKyAwICogc3RyaWRl
KTsKLSAgICAgICAgc1sxXSA9IHZsZDFxX3MxNihzcmNfcHRyICsgMSAqIHN0cmlkZSk7Ci0gICAg
ICAgIHNbMl0gPSB2bGQxcV9zMTYoc3JjX3B0ciArIDIgKiBzdHJpZGUpOwotICAgICAgICBzWzNd
ID0gdmxkMXFfczE2KHNyY19wdHIgKyAzICogc3RyaWRlKTsKLSAgICAgICAgc1s0XSA9IHZsZDFx
X3MxNihzcmNfcHRyICsgNCAqIHN0cmlkZSk7Ci0gICAgICAgIHNbNV0gPSB2bGQxcV9zMTYoc3Jj
X3B0ciArIDUgKiBzdHJpZGUpOwotICAgICAgICBzWzZdID0gdmxkMXFfczE2KHNyY19wdHIgKyA2
ICogc3RyaWRlKTsKLSAgICAgICAgc1s3XSA9IHZsZDFxX3MxNihzcmNfcHRyICsgNyAqIHN0cmlk
ZSk7CisgICAgICAgIHNbMF0gPSB2bGQxcV9zMTYoc3JjX3QgKyAwICogc3RyaWRlKTsKKyAgICAg
ICAgc1sxXSA9IHZsZDFxX3MxNihzcmNfdCArIDEgKiBzdHJpZGUpOworICAgICAgICBzWzJdID0g
dmxkMXFfczE2KHNyY190ICsgMiAqIHN0cmlkZSk7CisgICAgICAgIHNbM10gPSB2bGQxcV9zMTYo
c3JjX3QgKyAzICogc3RyaWRlKTsKKyAgICAgICAgc1s0XSA9IHZsZDFxX3MxNihzcmNfdCArIDQg
KiBzdHJpZGUpOworICAgICAgICBzWzVdID0gdmxkMXFfczE2KHNyY190ICsgNSAqIHN0cmlkZSk7
CisgICAgICAgIHNbNl0gPSB2bGQxcV9zMTYoc3JjX3QgKyA2ICogc3RyaWRlKTsKKyAgICAgICAg
c1s3XSA9IHZsZDFxX3MxNihzcmNfdCArIDcgKiBzdHJpZGUpOworICAgICAgICBzMCA9IHZtbGFs
X3MxNihzMCwgdmdldF9sb3dfczE2KHNbMF0pLCB2Z2V0X2xvd19zMTYoc1swXSkpOworICAgICAg
ICBzMCA9IHZtbGFsX3MxNihzMCwgdmdldF9sb3dfczE2KHNbMV0pLCB2Z2V0X2xvd19zMTYoc1sx
XSkpOworICAgICAgICBzMCA9IHZtbGFsX3MxNihzMCwgdmdldF9sb3dfczE2KHNbMl0pLCB2Z2V0
X2xvd19zMTYoc1syXSkpOworICAgICAgICBzMCA9IHZtbGFsX3MxNihzMCwgdmdldF9sb3dfczE2
KHNbM10pLCB2Z2V0X2xvd19zMTYoc1szXSkpOworICAgICAgICBzMCA9IHZtbGFsX3MxNihzMCwg
dmdldF9sb3dfczE2KHNbNF0pLCB2Z2V0X2xvd19zMTYoc1s0XSkpOworICAgICAgICBzMCA9IHZt
bGFsX3MxNihzMCwgdmdldF9sb3dfczE2KHNbNV0pLCB2Z2V0X2xvd19zMTYoc1s1XSkpOworICAg
ICAgICBzMCA9IHZtbGFsX3MxNihzMCwgdmdldF9sb3dfczE2KHNbNl0pLCB2Z2V0X2xvd19zMTYo
c1s2XSkpOworICAgICAgICBzMCA9IHZtbGFsX3MxNihzMCwgdmdldF9sb3dfczE2KHNbN10pLCB2
Z2V0X2xvd19zMTYoc1s3XSkpOworICAgICAgICBzMCA9IHZtbGFsX3MxNihzMCwgdmdldF9oaWdo
X3MxNihzWzBdKSwgdmdldF9oaWdoX3MxNihzWzBdKSk7CisgICAgICAgIHMwID0gdm1sYWxfczE2
KHMwLCB2Z2V0X2hpZ2hfczE2KHNbMV0pLCB2Z2V0X2hpZ2hfczE2KHNbMV0pKTsKKyAgICAgICAg
czAgPSB2bWxhbF9zMTYoczAsIHZnZXRfaGlnaF9zMTYoc1syXSksIHZnZXRfaGlnaF9zMTYoc1sy
XSkpOworICAgICAgICBzMCA9IHZtbGFsX3MxNihzMCwgdmdldF9oaWdoX3MxNihzWzNdKSwgdmdl
dF9oaWdoX3MxNihzWzNdKSk7CisgICAgICAgIHMwID0gdm1sYWxfczE2KHMwLCB2Z2V0X2hpZ2hf
czE2KHNbNF0pLCB2Z2V0X2hpZ2hfczE2KHNbNF0pKTsKKyAgICAgICAgczAgPSB2bWxhbF9zMTYo
czAsIHZnZXRfaGlnaF9zMTYoc1s1XSksIHZnZXRfaGlnaF9zMTYoc1s1XSkpOworICAgICAgICBz
MCA9IHZtbGFsX3MxNihzMCwgdmdldF9oaWdoX3MxNihzWzZdKSwgdmdldF9oaWdoX3MxNihzWzZd
KSk7CisgICAgICAgIHMwID0gdm1sYWxfczE2KHMwLCB2Z2V0X2hpZ2hfczE2KHNbN10pLCB2Z2V0
X2hpZ2hfczE2KHNbN10pKTsKKyAgICAgICAgc3JjX3QgKz0gODsKKyAgICAgICAgYyAtPSA4Owor
ICAgICAgfSB3aGlsZSAoYyk7CiAKLSAgICAgICAgc3VtX3MzMlswXSA9Ci0gICAgICAgICAgICB2
bWxhbF9zMTYoc3VtX3MzMlswXSwgdmdldF9sb3dfczE2KHNbMF0pLCB2Z2V0X2xvd19zMTYoc1sw
XSkpOwotICAgICAgICBzdW1fczMyWzBdID0KLSAgICAgICAgICAgIHZtbGFsX3MxNihzdW1fczMy
WzBdLCB2Z2V0X2xvd19zMTYoc1sxXSksIHZnZXRfbG93X3MxNihzWzFdKSk7Ci0gICAgICAgIHN1
bV9zMzJbMF0gPQotICAgICAgICAgICAgdm1sYWxfczE2KHN1bV9zMzJbMF0sIHZnZXRfbG93X3Mx
NihzWzJdKSwgdmdldF9sb3dfczE2KHNbMl0pKTsKLSAgICAgICAgc3VtX3MzMlswXSA9Ci0gICAg
ICAgICAgICB2bWxhbF9zMTYoc3VtX3MzMlswXSwgdmdldF9sb3dfczE2KHNbM10pLCB2Z2V0X2xv
d19zMTYoc1szXSkpOwotICAgICAgICBzdW1fczMyWzBdID0KLSAgICAgICAgICAgIHZtbGFsX3Mx
NihzdW1fczMyWzBdLCB2Z2V0X2xvd19zMTYoc1s0XSksIHZnZXRfbG93X3MxNihzWzRdKSk7Ci0g
ICAgICAgIHN1bV9zMzJbMF0gPQotICAgICAgICAgICAgdm1sYWxfczE2KHN1bV9zMzJbMF0sIHZn
ZXRfbG93X3MxNihzWzVdKSwgdmdldF9sb3dfczE2KHNbNV0pKTsKLSAgICAgICAgc3VtX3MzMlsw
XSA9Ci0gICAgICAgICAgICB2bWxhbF9zMTYoc3VtX3MzMlswXSwgdmdldF9sb3dfczE2KHNbNl0p
LCB2Z2V0X2xvd19zMTYoc1s2XSkpOwotICAgICAgICBzdW1fczMyWzBdID0KLSAgICAgICAgICAg
IHZtbGFsX3MxNihzdW1fczMyWzBdLCB2Z2V0X2xvd19zMTYoc1s3XSksIHZnZXRfbG93X3MxNihz
WzddKSk7Ci0KLSAgICAgICAgc3VtX3MzMlsxXSA9Ci0gICAgICAgICAgICB2bWxhbF9zMTYoc3Vt
X3MzMlsxXSwgdmdldF9oaWdoX3MxNihzWzBdKSwgdmdldF9oaWdoX3MxNihzWzBdKSk7Ci0gICAg
ICAgIHN1bV9zMzJbMV0gPQotICAgICAgICAgICAgdm1sYWxfczE2KHN1bV9zMzJbMV0sIHZnZXRf
aGlnaF9zMTYoc1sxXSksIHZnZXRfaGlnaF9zMTYoc1sxXSkpOwotICAgICAgICBzdW1fczMyWzFd
ID0KLSAgICAgICAgICAgIHZtbGFsX3MxNihzdW1fczMyWzFdLCB2Z2V0X2hpZ2hfczE2KHNbMl0p
LCB2Z2V0X2hpZ2hfczE2KHNbMl0pKTsKLSAgICAgICAgc3VtX3MzMlsxXSA9Ci0gICAgICAgICAg
ICB2bWxhbF9zMTYoc3VtX3MzMlsxXSwgdmdldF9oaWdoX3MxNihzWzNdKSwgdmdldF9oaWdoX3Mx
NihzWzNdKSk7Ci0gICAgICAgIHN1bV9zMzJbMV0gPQotICAgICAgICAgICAgdm1sYWxfczE2KHN1
bV9zMzJbMV0sIHZnZXRfaGlnaF9zMTYoc1s0XSksIHZnZXRfaGlnaF9zMTYoc1s0XSkpOwotICAg
ICAgICBzdW1fczMyWzFdID0KLSAgICAgICAgICAgIHZtbGFsX3MxNihzdW1fczMyWzFdLCB2Z2V0
X2hpZ2hfczE2KHNbNV0pLCB2Z2V0X2hpZ2hfczE2KHNbNV0pKTsKLSAgICAgICAgc3VtX3MzMlsx
XSA9Ci0gICAgICAgICAgICB2bWxhbF9zMTYoc3VtX3MzMlsxXSwgdmdldF9oaWdoX3MxNihzWzZd
KSwgdmdldF9oaWdoX3MxNihzWzZdKSk7Ci0gICAgICAgIHN1bV9zMzJbMV0gPQotICAgICAgICAg
ICAgdm1sYWxfczE2KHN1bV9zMzJbMV0sIHZnZXRfaGlnaF9zMTYoc1s3XSksIHZnZXRfaGlnaF9z
MTYoc1s3XSkpOwotCi0gICAgICAgIHNyY19wdHIgKz0gODsKLSAgICAgICAgY29scyAtPSA4Owot
ICAgICAgfSB3aGlsZSAoY29scyk7Ci0KLSAgICAgIHN1bV91NjQgPSB2cGFkYWxxX3UzMihzdW1f
dTY0LCB2cmVpbnRlcnByZXRxX3UzMl9zMzIoc3VtX3MzMlswXSkpOwotICAgICAgc3VtX3U2NCA9
IHZwYWRhbHFfdTMyKHN1bV91NjQsIHZyZWludGVycHJldHFfdTMyX3MzMihzdW1fczMyWzFdKSk7
CisgICAgICBzMSA9IHZhZGR3X3UzMihzMSwgdmdldF9sb3dfdTMyKHZyZWludGVycHJldHFfdTMy
X3MzMihzMCkpKTsKKyAgICAgIHMxID0gdmFkZHdfdTMyKHMxLCB2Z2V0X2hpZ2hfdTMyKHZyZWlu
dGVycHJldHFfdTMyX3MzMihzMCkpKTsKICAgICAgIHNyYyArPSA4ICogc3RyaWRlOwotICAgICAg
cm93cyAtPSA4OwotICAgIH0gd2hpbGUgKHJvd3MpOworICAgICAgciAtPSA4OworICAgIH0gd2hp
bGUgKHIpOwogCi0gICAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQ2NHgyKHN1bV91NjQpOwor
ICAgIHMyID0gdmFkZF91NjQodmdldF9sb3dfdTY0KHMxKSwgdmdldF9oaWdoX3U2NChzMSkpOwog
ICB9CisKKyAgcmV0dXJuIHZnZXRfbGFuZV91NjQoczIsIDApOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2FybS90cmFuc3Bvc2VfbmVvbi5oIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS90cmFuc3Bvc2VfbmVvbi5oCmluZGV4IDc0Zjg1YTZiYjY3YS4uNzUyMzA4MTYwZGM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3RyYW5zcG9zZV9uZW9uLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2FybS90cmFuc3Bvc2VfbmVvbi5oCkBAIC0yMyw3NyArMjMsNDQg
QEAKIC8vIGIwLnZhbFsxXTogMDQgMDUgMDYgMDcgMjAgMjEgMjIgMjMKIHN0YXRpYyBJTkxJTkUg
aW50MTZ4OHgyX3QgdnB4X3Z0cm5xX3M2NF90b19zMTYoaW50MzJ4NF90IGEwLCBpbnQzMng0X3Qg
YTEpIHsKICAgaW50MTZ4OHgyX3QgYjA7Ci0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICBiMC52YWxb
MF0gPSB2cmVpbnRlcnByZXRxX3MxNl9zNjQoCi0gICAgICB2dHJuMXFfczY0KHZyZWludGVycHJl
dHFfczY0X3MzMihhMCksIHZyZWludGVycHJldHFfczY0X3MzMihhMSkpKTsKLSAgYjAudmFsWzFd
ID0gdnJlaW50ZXJwcmV0cV9zMTZfczY0KAotICAgICAgdnRybjJxX3M2NCh2cmVpbnRlcnByZXRx
X3M2NF9zMzIoYTApLCB2cmVpbnRlcnByZXRxX3M2NF9zMzIoYTEpKSk7Ci0jZWxzZQogICBiMC52
YWxbMF0gPSB2Y29tYmluZV9zMTYodnJlaW50ZXJwcmV0X3MxNl9zMzIodmdldF9sb3dfczMyKGEw
KSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2cmVpbnRlcnByZXRfczE2X3MzMih2Z2V0
X2xvd19zMzIoYTEpKSk7CiAgIGIwLnZhbFsxXSA9IHZjb21iaW5lX3MxNih2cmVpbnRlcnByZXRf
czE2X3MzMih2Z2V0X2hpZ2hfczMyKGEwKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
cmVpbnRlcnByZXRfczE2X3MzMih2Z2V0X2hpZ2hfczMyKGExKSkpOwotI2VuZGlmCiAgIHJldHVy
biBiMDsKIH0KIAogc3RhdGljIElOTElORSBpbnQzMng0eDJfdCB2cHhfdnRybnFfczY0X3RvX3Mz
MihpbnQzMng0X3QgYTAsIGludDMyeDRfdCBhMSkgewogICBpbnQzMng0eDJfdCBiMDsKLSNpZiBW
UFhfQVJDSF9BQVJDSDY0Ci0gIGIwLnZhbFswXSA9IHZyZWludGVycHJldHFfczMyX3M2NCgKLSAg
ICAgIHZ0cm4xcV9zNjQodnJlaW50ZXJwcmV0cV9zNjRfczMyKGEwKSwgdnJlaW50ZXJwcmV0cV9z
NjRfczMyKGExKSkpOwotICBiMC52YWxbMV0gPSB2cmVpbnRlcnByZXRxX3MzMl9zNjQoCi0gICAg
ICB2dHJuMnFfczY0KHZyZWludGVycHJldHFfczY0X3MzMihhMCksIHZyZWludGVycHJldHFfczY0
X3MzMihhMSkpKTsKLSNlbHNlCiAgIGIwLnZhbFswXSA9IHZjb21iaW5lX3MzMih2Z2V0X2xvd19z
MzIoYTApLCB2Z2V0X2xvd19zMzIoYTEpKTsKICAgYjAudmFsWzFdID0gdmNvbWJpbmVfczMyKHZn
ZXRfaGlnaF9zMzIoYTApLCB2Z2V0X2hpZ2hfczMyKGExKSk7Ci0jZW5kaWYKICAgcmV0dXJuIGIw
OwogfQogCiBzdGF0aWMgSU5MSU5FIGludDY0eDJ4Ml90IHZweF92dHJucV9zNjQoaW50MzJ4NF90
IGEwLCBpbnQzMng0X3QgYTEpIHsKICAgaW50NjR4MngyX3QgYjA7Ci0jaWYgVlBYX0FSQ0hfQUFS
Q0g2NAotICBiMC52YWxbMF0gPSB2dHJuMXFfczY0KHZyZWludGVycHJldHFfczY0X3MzMihhMCks
IHZyZWludGVycHJldHFfczY0X3MzMihhMSkpOwotICBiMC52YWxbMV0gPSB2dHJuMnFfczY0KHZy
ZWludGVycHJldHFfczY0X3MzMihhMCksIHZyZWludGVycHJldHFfczY0X3MzMihhMSkpOwotI2Vs
c2UKICAgYjAudmFsWzBdID0gdmNvbWJpbmVfczY0KHZyZWludGVycHJldF9zNjRfczMyKHZnZXRf
bG93X3MzMihhMCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3M2
NF9zMzIodmdldF9sb3dfczMyKGExKSkpOwogICBiMC52YWxbMV0gPSB2Y29tYmluZV9zNjQodnJl
aW50ZXJwcmV0X3M2NF9zMzIodmdldF9oaWdoX3MzMihhMCkpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdnJlaW50ZXJwcmV0X3M2NF9zMzIodmdldF9oaWdoX3MzMihhMSkpKTsKLSNlbmRp
ZgogICByZXR1cm4gYjA7CiB9CiAKIHN0YXRpYyBJTkxJTkUgdWludDh4MTZ4Ml90IHZweF92dHJu
cV91NjRfdG9fdTgodWludDMyeDRfdCBhMCwgdWludDMyeDRfdCBhMSkgewogICB1aW50OHgxNngy
X3QgYjA7Ci0jaWYgVlBYX0FSQ0hfQUFSQ0g2NAotICBiMC52YWxbMF0gPSB2cmVpbnRlcnByZXRx
X3U4X3U2NCgKLSAgICAgIHZ0cm4xcV91NjQodnJlaW50ZXJwcmV0cV91NjRfdTMyKGEwKSwgdnJl
aW50ZXJwcmV0cV91NjRfdTMyKGExKSkpOwotICBiMC52YWxbMV0gPSB2cmVpbnRlcnByZXRxX3U4
X3U2NCgKLSAgICAgIHZ0cm4ycV91NjQodnJlaW50ZXJwcmV0cV91NjRfdTMyKGEwKSwgdnJlaW50
ZXJwcmV0cV91NjRfdTMyKGExKSkpOwotI2Vsc2UKICAgYjAudmFsWzBdID0gdmNvbWJpbmVfdTgo
dnJlaW50ZXJwcmV0X3U4X3UzMih2Z2V0X2xvd191MzIoYTApKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdnJlaW50ZXJwcmV0X3U4X3UzMih2Z2V0X2xvd191MzIoYTEpKSk7CiAgIGIwLnZh
bFsxXSA9IHZjb21iaW5lX3U4KHZyZWludGVycHJldF91OF91MzIodmdldF9oaWdoX3UzMihhMCkp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICB2cmVpbnRlcnByZXRfdThfdTMyKHZnZXRfaGln
aF91MzIoYTEpKSk7Ci0jZW5kaWYKICAgcmV0dXJuIGIwOwogfQogCiBzdGF0aWMgSU5MSU5FIHVp
bnQxNng4eDJfdCB2cHhfdnRybnFfdTY0X3RvX3UxNih1aW50MzJ4NF90IGEwLCB1aW50MzJ4NF90
IGExKSB7CiAgIHVpbnQxNng4eDJfdCBiMDsKLSNpZiBWUFhfQVJDSF9BQVJDSDY0Ci0gIGIwLnZh
bFswXSA9IHZyZWludGVycHJldHFfdTE2X3U2NCgKLSAgICAgIHZ0cm4xcV91NjQodnJlaW50ZXJw
cmV0cV91NjRfdTMyKGEwKSwgdnJlaW50ZXJwcmV0cV91NjRfdTMyKGExKSkpOwotICBiMC52YWxb
MV0gPSB2cmVpbnRlcnByZXRxX3UxNl91NjQoCi0gICAgICB2dHJuMnFfdTY0KHZyZWludGVycHJl
dHFfdTY0X3UzMihhMCksIHZyZWludGVycHJldHFfdTY0X3UzMihhMSkpKTsKLSNlbHNlCiAgIGIw
LnZhbFswXSA9IHZjb21iaW5lX3UxNih2cmVpbnRlcnByZXRfdTE2X3UzMih2Z2V0X2xvd191MzIo
YTApKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldF91MTZfdTMyKHZn
ZXRfbG93X3UzMihhMSkpKTsKICAgYjAudmFsWzFdID0gdmNvbWJpbmVfdTE2KHZyZWludGVycHJl
dF91MTZfdTMyKHZnZXRfaGlnaF91MzIoYTApKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZyZWludGVycHJldF91MTZfdTMyKHZnZXRfaGlnaF91MzIoYTEpKSk7Ci0jZW5kaWYKICAgcmV0
dXJuIGIwOwogfQogCkBAIC0xNzQsMTMgKzE0MSwxNyBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgdHJh
bnNwb3NlX3MxNl80eDRxKGludDE2eDhfdCAqYTAsIGludDE2eDhfdCAqYTEpIHsKICAgLy8gYzA6
IDAwIDAxIDIwIDIxICAwMiAwMyAyMiAyMwogICAvLyBjMTogMTAgMTEgMzAgMzEgIDEyIDEzIDMy
IDMzCiAKLSAgY29uc3QgaW50MTZ4OHgyX3QgYzAgPSB2cHhfdnRybnFfczY0X3RvX3MxNihiMC52
YWxbMF0sIGIwLnZhbFsxXSk7CisgIGNvbnN0IGludDMyeDRfdCBjMCA9CisgICAgICB2Y29tYmlu
ZV9zMzIodmdldF9sb3dfczMyKGIwLnZhbFswXSksIHZnZXRfbG93X3MzMihiMC52YWxbMV0pKTsK
KyAgY29uc3QgaW50MzJ4NF90IGMxID0KKyAgICAgIHZjb21iaW5lX3MzMih2Z2V0X2hpZ2hfczMy
KGIwLnZhbFswXSksIHZnZXRfaGlnaF9zMzIoYjAudmFsWzFdKSk7CiAKICAgLy8gU3dhcCAxNiBi
aXQgZWxlbWVudHMgcmVzdWx0aW5nIGluOgogICAvLyBkMC52YWxbMF06IDAwIDEwIDIwIDMwICAw
MiAxMiAyMiAzMgogICAvLyBkMC52YWxbMV06IDAxIDExIDIxIDMxICAwMyAxMyAyMyAzMwogCi0g
IGNvbnN0IGludDE2eDh4Ml90IGQwID0gdnRybnFfczE2KGMwLnZhbFswXSwgYzAudmFsWzFdKTsK
KyAgY29uc3QgaW50MTZ4OHgyX3QgZDAgPQorICAgICAgdnRybnFfczE2KHZyZWludGVycHJldHFf
czE2X3MzMihjMCksIHZyZWludGVycHJldHFfczE2X3MzMihjMSkpOwogCiAgICphMCA9IGQwLnZh
bFswXTsKICAgKmExID0gZDAudmFsWzFdOwpAQCAtMjAxLDEzICsxNzIsMTcgQEAgc3RhdGljIElO
TElORSB2b2lkIHRyYW5zcG9zZV91MTZfNHg0cSh1aW50MTZ4OF90ICphMCwgdWludDE2eDhfdCAq
YTEpIHsKICAgLy8gYzA6IDAwIDAxIDIwIDIxICAwMiAwMyAyMiAyMwogICAvLyBjMTogMTAgMTEg
MzAgMzEgIDEyIDEzIDMyIDMzCiAKLSAgY29uc3QgdWludDE2eDh4Ml90IGMwID0gdnB4X3Z0cm5x
X3U2NF90b191MTYoYjAudmFsWzBdLCBiMC52YWxbMV0pOworICBjb25zdCB1aW50MzJ4NF90IGMw
ID0KKyAgICAgIHZjb21iaW5lX3UzMih2Z2V0X2xvd191MzIoYjAudmFsWzBdKSwgdmdldF9sb3df
dTMyKGIwLnZhbFsxXSkpOworICBjb25zdCB1aW50MzJ4NF90IGMxID0KKyAgICAgIHZjb21iaW5l
X3UzMih2Z2V0X2hpZ2hfdTMyKGIwLnZhbFswXSksIHZnZXRfaGlnaF91MzIoYjAudmFsWzFdKSk7
CiAKICAgLy8gU3dhcCAxNiBiaXQgZWxlbWVudHMgcmVzdWx0aW5nIGluOgogICAvLyBkMC52YWxb
MF06IDAwIDEwIDIwIDMwICAwMiAxMiAyMiAzMgogICAvLyBkMC52YWxbMV06IDAxIDExIDIxIDMx
ICAwMyAxMyAyMyAzMwogCi0gIGNvbnN0IHVpbnQxNng4eDJfdCBkMCA9IHZ0cm5xX3UxNihjMC52
YWxbMF0sIGMwLnZhbFsxXSk7CisgIGNvbnN0IHVpbnQxNng4eDJfdCBkMCA9CisgICAgICB2dHJu
cV91MTYodnJlaW50ZXJwcmV0cV91MTZfdTMyKGMwKSwgdnJlaW50ZXJwcmV0cV91MTZfdTMyKGMx
KSk7CiAKICAgKmEwID0gZDAudmFsWzBdOwogICAqYTEgPSBkMC52YWxbMV07CkBAIC0zMDYsNyAr
MjgxLDcgQEAgc3RhdGljIElOTElORSB2b2lkIHRyYW5zcG9zZV9zMTZfNHg4KGNvbnN0IGludDE2
eDRfdCBhMCwgY29uc3QgaW50MTZ4NF90IGExLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2eDRfdCBhNiwgY29uc3QgaW50MTZ4NF90IGE3LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqY29uc3QgbzAsIGludDE2
eDhfdCAqY29uc3QgbzEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MTZ4OF90ICpjb25zdCBvMiwgaW50MTZ4OF90ICpjb25zdCBvMykgewotICAvLyBDb21iaW5lIHJv
d3MuIEdvZXMgZnJvbToKKyAgLy8gU3dhcCAxNiBiaXQgZWxlbWVudHMuIEdvZXMgZnJvbToKICAg
Ly8gYTA6IDAwIDAxIDAyIDAzCiAgIC8vIGExOiAxMCAxMSAxMiAxMwogICAvLyBhMjogMjAgMjEg
MjIgMjMKQEAgLTMxNiw0MCArMjkxLDUzIEBAIHN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2Vf
czE2XzR4OChjb25zdCBpbnQxNng0X3QgYTAsIGNvbnN0IGludDE2eDRfdCBhMSwKICAgLy8gYTY6
IDYwIDYxIDYyIDYzCiAgIC8vIGE3OiA3MCA3MSA3MiA3MwogICAvLyB0bzoKLSAgLy8gYjA6IDAw
IDAxIDAyIDAzIDQwIDQxIDQyIDQzCi0gIC8vIGIxOiAxMCAxMSAxMiAxMyA1MCA1MSA1MiA1Mwot
ICAvLyBiMjogMjAgMjEgMjIgMjMgNjAgNjEgNjIgNjMKLSAgLy8gYjM6IDMwIDMxIDMyIDMzIDcw
IDcxIDcyIDczCi0KLSAgY29uc3QgaW50MTZ4OF90IGIwID0gdmNvbWJpbmVfczE2KGEwLCBhNCk7
Ci0gIGNvbnN0IGludDE2eDhfdCBiMSA9IHZjb21iaW5lX3MxNihhMSwgYTUpOwotICBjb25zdCBp
bnQxNng4X3QgYjIgPSB2Y29tYmluZV9zMTYoYTIsIGE2KTsKLSAgY29uc3QgaW50MTZ4OF90IGIz
ID0gdmNvbWJpbmVfczE2KGEzLCBhNyk7Ci0KLSAgLy8gU3dhcCAxNiBiaXQgZWxlbWVudHMgcmVz
dWx0aW5nIGluOgotICAvLyBjMC52YWxbMF06IDAwIDEwIDAyIDEyIDQwIDUwIDQyIDUyCi0gIC8v
IGMwLnZhbFsxXTogMDEgMTEgMDMgMTMgNDEgNTEgNDMgNTMKLSAgLy8gYzEudmFsWzBdOiAyMCAz
MCAyMiAzMiA2MCA3MCA2MiA3MgotICAvLyBjMS52YWxbMV06IDIxIDMxIDIzIDMzIDYxIDcxIDYz
IDczCisgIC8vIGIwLnZhbFswXTogMDAgMTAgMDIgMTIKKyAgLy8gYjAudmFsWzFdOiAwMSAxMSAw
MyAxMworICAvLyBiMS52YWxbMF06IDIwIDMwIDIyIDMyCisgIC8vIGIxLnZhbFsxXTogMjEgMzEg
MjMgMzMKKyAgLy8gYjIudmFsWzBdOiA0MCA1MCA0MiA1MgorICAvLyBiMi52YWxbMV06IDQxIDUx
IDQzIDUzCisgIC8vIGIzLnZhbFswXTogNjAgNzAgNjIgNzIKKyAgLy8gYjMudmFsWzFdOiA2MSA3
MSA2MyA3MwogCi0gIGNvbnN0IGludDE2eDh4Ml90IGMwID0gdnRybnFfczE2KGIwLCBiMSk7Ci0g
IGNvbnN0IGludDE2eDh4Ml90IGMxID0gdnRybnFfczE2KGIyLCBiMyk7CisgIGNvbnN0IGludDE2
eDR4Ml90IGIwID0gdnRybl9zMTYoYTAsIGExKTsKKyAgY29uc3QgaW50MTZ4NHgyX3QgYjEgPSB2
dHJuX3MxNihhMiwgYTMpOworICBjb25zdCBpbnQxNng0eDJfdCBiMiA9IHZ0cm5fczE2KGE0LCBh
NSk7CisgIGNvbnN0IGludDE2eDR4Ml90IGIzID0gdnRybl9zMTYoYTYsIGE3KTsKIAogICAvLyBT
d2FwIDMyIGJpdCBlbGVtZW50cyByZXN1bHRpbmcgaW46Ci0gIC8vIGQwLnZhbFswXTogMDAgMTAg
MjAgMzAgNDAgNTAgNjAgNzAKLSAgLy8gZDAudmFsWzFdOiAwMiAxMiAyMiAzMiA0MiA1MiA2MiA3
MgotICAvLyBkMS52YWxbMF06IDAxIDExIDIxIDMxIDQxIDUxIDYxIDcxCi0gIC8vIGQxLnZhbFsx
XTogMDMgMTMgMjMgMzMgNDMgNTMgNjMgNzMKKyAgLy8gYzAudmFsWzBdOiAwMCAxMCAyMCAzMAor
ICAvLyBjMC52YWxbMV06IDAyIDEyIDIyIDMyCisgIC8vIGMxLnZhbFswXTogMDEgMTEgMjEgMzEK
KyAgLy8gYzEudmFsWzFdOiAwMyAxMyAyMyAzMworICAvLyBjMi52YWxbMF06IDQwIDUwIDYwIDcw
CisgIC8vIGMyLnZhbFsxXTogNDIgNTIgNjIgNzIKKyAgLy8gYzMudmFsWzBdOiA0MSA1MSA2MSA3
MQorICAvLyBjMy52YWxbMV06IDQzIDUzIDYzIDczCiAKLSAgY29uc3QgaW50MzJ4NHgyX3QgZDAg
PSB2dHJucV9zMzIodnJlaW50ZXJwcmV0cV9zMzJfczE2KGMwLnZhbFswXSksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldHFfczMyX3MxNihjMS52YWxbMF0p
KTsKLSAgY29uc3QgaW50MzJ4NHgyX3QgZDEgPSB2dHJucV9zMzIodnJlaW50ZXJwcmV0cV9zMzJf
czE2KGMwLnZhbFsxXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZyZWlu
dGVycHJldHFfczMyX3MxNihjMS52YWxbMV0pKTsKKyAgY29uc3QgaW50MzJ4MngyX3QgYzAgPSB2
dHJuX3MzMih2cmVpbnRlcnByZXRfczMyX3MxNihiMC52YWxbMF0pLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldF9zMzJfczE2KGIxLnZhbFswXSkpOworICBj
b25zdCBpbnQzMngyeDJfdCBjMSA9IHZ0cm5fczMyKHZyZWludGVycHJldF9zMzJfczE2KGIwLnZh
bFsxXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3Mz
Ml9zMTYoYjEudmFsWzFdKSk7CisgIGNvbnN0IGludDMyeDJ4Ml90IGMyID0gdnRybl9zMzIodnJl
aW50ZXJwcmV0X3MzMl9zMTYoYjIudmFsWzBdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2cmVpbnRlcnByZXRfczMyX3MxNihiMy52YWxbMF0pKTsKKyAgY29uc3QgaW50MzJ4
MngyX3QgYzMgPSB2dHJuX3MzMih2cmVpbnRlcnByZXRfczMyX3MxNihiMi52YWxbMV0pLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZyZWludGVycHJldF9zMzJfczE2KGIzLnZh
bFsxXSkpOwogCi0gICpvMCA9IHZyZWludGVycHJldHFfczE2X3MzMihkMC52YWxbMF0pOwotICAq
bzEgPSB2cmVpbnRlcnByZXRxX3MxNl9zMzIoZDEudmFsWzBdKTsKLSAgKm8yID0gdnJlaW50ZXJw
cmV0cV9zMTZfczMyKGQwLnZhbFsxXSk7Ci0gICpvMyA9IHZyZWludGVycHJldHFfczE2X3MzMihk
MS52YWxbMV0pOworICAvLyBTd2FwIDY0IGJpdCBlbGVtZW50cyByZXN1bHRpbmcgaW46CisgIC8v
IG8wOiAwMCAxMCAyMCAzMCA0MCA1MCA2MCA3MAorICAvLyBvMTogMDEgMTEgMjEgMzEgNDEgNTEg
NjEgNzEKKyAgLy8gbzI6IDAyIDEyIDIyIDMyIDQyIDUyIDYyIDcyCisgIC8vIG8zOiAwMyAxMyAy
MyAzMyA0MyA1MyA2MyA3MworCisgICpvMCA9IHZjb21iaW5lX3MxNih2cmVpbnRlcnByZXRfczE2
X3MzMihjMC52YWxbMF0pLAorICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3MxNl9z
MzIoYzIudmFsWzBdKSk7CisgICpvMSA9IHZjb21iaW5lX3MxNih2cmVpbnRlcnByZXRfczE2X3Mz
MihjMS52YWxbMF0pLAorICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3MxNl9zMzIo
YzMudmFsWzBdKSk7CisgICpvMiA9IHZjb21iaW5lX3MxNih2cmVpbnRlcnByZXRfczE2X3MzMihj
MC52YWxbMV0pLAorICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3MxNl9zMzIoYzIu
dmFsWzFdKSk7CisgICpvMyA9IHZjb21iaW5lX3MxNih2cmVpbnRlcnByZXRfczE2X3MzMihjMS52
YWxbMV0pLAorICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0X3MxNl9zMzIoYzMudmFs
WzFdKSk7CiB9CiAKIHN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2VfczMyXzR4OChpbnQzMng0
X3QgKmNvbnN0IGEwLCBpbnQzMng0X3QgKmNvbnN0IGExLApAQCAtNTgwLDc2ICs1NjgsNiBAQCBz
dGF0aWMgSU5MSU5FIHZvaWQgdHJhbnNwb3NlX3U4Xzh4OCh1aW50OHg4X3QgKmEwLCB1aW50OHg4
X3QgKmExLCB1aW50OHg4X3QgKmEyLAogICAqYTcgPSB2cmVpbnRlcnByZXRfdThfdTMyKHZnZXRf
aGlnaF91MzIoZDEudmFsWzFdKSk7CiB9CiAKLS8vIFRyYW5zcG9zZSA4eDggdG8gYSBuZXcgbG9j
YXRpb24uCi1zdGF0aWMgSU5MSU5FIHZvaWQgdHJhbnNwb3NlX3MxNl84eDhxKGludDE2eDhfdCAq
YSwgaW50MTZ4OF90ICpvdXQpIHsKLSAgLy8gU3dhcCAxNiBiaXQgZWxlbWVudHMuIEdvZXMgZnJv
bToKLSAgLy8gYTA6IDAwIDAxIDAyIDAzIDA0IDA1IDA2IDA3Ci0gIC8vIGExOiAxMCAxMSAxMiAx
MyAxNCAxNSAxNiAxNwotICAvLyBhMjogMjAgMjEgMjIgMjMgMjQgMjUgMjYgMjcKLSAgLy8gYTM6
IDMwIDMxIDMyIDMzIDM0IDM1IDM2IDM3Ci0gIC8vIGE0OiA0MCA0MSA0MiA0MyA0NCA0NSA0NiA0
NwotICAvLyBhNTogNTAgNTEgNTIgNTMgNTQgNTUgNTYgNTcKLSAgLy8gYTY6IDYwIDYxIDYyIDYz
IDY0IDY1IDY2IDY3Ci0gIC8vIGE3OiA3MCA3MSA3MiA3MyA3NCA3NSA3NiA3NwotICAvLyB0bzoK
LSAgLy8gYjAudmFsWzBdOiAwMCAxMCAwMiAxMiAwNCAxNCAwNiAxNgotICAvLyBiMC52YWxbMV06
IDAxIDExIDAzIDEzIDA1IDE1IDA3IDE3Ci0gIC8vIGIxLnZhbFswXTogMjAgMzAgMjIgMzIgMjQg
MzQgMjYgMzYKLSAgLy8gYjEudmFsWzFdOiAyMSAzMSAyMyAzMyAyNSAzNSAyNyAzNwotICAvLyBi
Mi52YWxbMF06IDQwIDUwIDQyIDUyIDQ0IDU0IDQ2IDU2Ci0gIC8vIGIyLnZhbFsxXTogNDEgNTEg
NDMgNTMgNDUgNTUgNDcgNTcKLSAgLy8gYjMudmFsWzBdOiA2MCA3MCA2MiA3MiA2NCA3NCA2NiA3
NgotICAvLyBiMy52YWxbMV06IDYxIDcxIDYzIDczIDY1IDc1IDY3IDc3Ci0KLSAgY29uc3QgaW50
MTZ4OHgyX3QgYjAgPSB2dHJucV9zMTYoYVswXSwgYVsxXSk7Ci0gIGNvbnN0IGludDE2eDh4Ml90
IGIxID0gdnRybnFfczE2KGFbMl0sIGFbM10pOwotICBjb25zdCBpbnQxNng4eDJfdCBiMiA9IHZ0
cm5xX3MxNihhWzRdLCBhWzVdKTsKLSAgY29uc3QgaW50MTZ4OHgyX3QgYjMgPSB2dHJucV9zMTYo
YVs2XSwgYVs3XSk7Ci0KLSAgLy8gU3dhcCAzMiBiaXQgZWxlbWVudHMgcmVzdWx0aW5nIGluOgot
ICAvLyBjMC52YWxbMF06IDAwIDEwIDIwIDMwIDA0IDE0IDI0IDM0Ci0gIC8vIGMwLnZhbFsxXTog
MDIgMTIgMjIgMzIgMDYgMTYgMjYgMzYKLSAgLy8gYzEudmFsWzBdOiAwMSAxMSAyMSAzMSAwNSAx
NSAyNSAzNQotICAvLyBjMS52YWxbMV06IDAzIDEzIDIzIDMzIDA3IDE3IDI3IDM3Ci0gIC8vIGMy
LnZhbFswXTogNDAgNTAgNjAgNzAgNDQgNTQgNjQgNzQKLSAgLy8gYzIudmFsWzFdOiA0MiA1MiA2
MiA3MiA0NiA1NiA2NiA3NgotICAvLyBjMy52YWxbMF06IDQxIDUxIDYxIDcxIDQ1IDU1IDY1IDc1
Ci0gIC8vIGMzLnZhbFsxXTogNDMgNTMgNjMgNzMgNDcgNTcgNjcgNzcKLQotICBjb25zdCBpbnQz
Mng0eDJfdCBjMCA9IHZ0cm5xX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYoYjAudmFsWzBdKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0cV9zMzJfczE2
KGIxLnZhbFswXSkpOwotICBjb25zdCBpbnQzMng0eDJfdCBjMSA9IHZ0cm5xX3MzMih2cmVpbnRl
cnByZXRxX3MzMl9zMTYoYjAudmFsWzFdKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdnJlaW50ZXJwcmV0cV9zMzJfczE2KGIxLnZhbFsxXSkpOwotICBjb25zdCBpbnQzMng0
eDJfdCBjMiA9IHZ0cm5xX3MzMih2cmVpbnRlcnByZXRxX3MzMl9zMTYoYjIudmFsWzBdKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnJlaW50ZXJwcmV0cV9zMzJfczE2KGIz
LnZhbFswXSkpOwotICBjb25zdCBpbnQzMng0eDJfdCBjMyA9IHZ0cm5xX3MzMih2cmVpbnRlcnBy
ZXRxX3MzMl9zMTYoYjIudmFsWzFdKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdnJlaW50ZXJwcmV0cV9zMzJfczE2KGIzLnZhbFsxXSkpOwotCi0gIC8vIFN3YXAgNjQgYml0
IGVsZW1lbnRzIHJlc3VsdGluZyBpbjoKLSAgLy8gZDAudmFsWzBdOiAwMCAxMCAyMCAzMCA0MCA1
MCA2MCA3MAotICAvLyBkMC52YWxbMV06IDA0IDE0IDI0IDM0IDQ0IDU0IDY0IDc0Ci0gIC8vIGQx
LnZhbFswXTogMDEgMTEgMjEgMzEgNDEgNTEgNjEgNzEKLSAgLy8gZDEudmFsWzFdOiAwNSAxNSAy
NSAzNSA0NSA1NSA2NSA3NQotICAvLyBkMi52YWxbMF06IDAyIDEyIDIyIDMyIDQyIDUyIDYyIDcy
Ci0gIC8vIGQyLnZhbFsxXTogMDYgMTYgMjYgMzYgNDYgNTYgNjYgNzYKLSAgLy8gZDMudmFsWzBd
OiAwMyAxMyAyMyAzMyA0MyA1MyA2MyA3MwotICAvLyBkMy52YWxbMV06IDA3IDE3IDI3IDM3IDQ3
IDU3IDY3IDc3Ci0KLSAgY29uc3QgaW50MTZ4OHgyX3QgZDAgPSB2cHhfdnRybnFfczY0X3RvX3Mx
NihjMC52YWxbMF0sIGMyLnZhbFswXSk7Ci0gIGNvbnN0IGludDE2eDh4Ml90IGQxID0gdnB4X3Z0
cm5xX3M2NF90b19zMTYoYzEudmFsWzBdLCBjMy52YWxbMF0pOwotICBjb25zdCBpbnQxNng4eDJf
dCBkMiA9IHZweF92dHJucV9zNjRfdG9fczE2KGMwLnZhbFsxXSwgYzIudmFsWzFdKTsKLSAgY29u
c3QgaW50MTZ4OHgyX3QgZDMgPSB2cHhfdnRybnFfczY0X3RvX3MxNihjMS52YWxbMV0sIGMzLnZh
bFsxXSk7Ci0KLSAgb3V0WzBdID0gZDAudmFsWzBdOwotICBvdXRbMV0gPSBkMS52YWxbMF07Ci0g
IG91dFsyXSA9IGQyLnZhbFswXTsKLSAgb3V0WzNdID0gZDMudmFsWzBdOwotICBvdXRbNF0gPSBk
MC52YWxbMV07Ci0gIG91dFs1XSA9IGQxLnZhbFsxXTsKLSAgb3V0WzZdID0gZDIudmFsWzFdOwot
ICBvdXRbN10gPSBkMy52YWxbMV07Ci19Ci0KIHN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2Vf
czE2Xzh4OChpbnQxNng4X3QgKmEwLCBpbnQxNng4X3QgKmExLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDE2eDhfdCAqYTIsIGludDE2eDhfdCAqYTMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZ4OF90ICphNCwgaW50MTZ4OF90ICph
NSwKQEAgLTcwNiw3ICs2MjQsNiBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgdHJhbnNwb3NlX3MxNl84
eDgoaW50MTZ4OF90ICphMCwgaW50MTZ4OF90ICphMSwKICAgLy8gZDIudmFsWzFdOiAwNiAxNiAy
NiAzNiA0NiA1NiA2NiA3NgogICAvLyBkMy52YWxbMF06IDAzIDEzIDIzIDMzIDQzIDUzIDYzIDcz
CiAgIC8vIGQzLnZhbFsxXTogMDcgMTcgMjcgMzcgNDcgNTcgNjcgNzcKLQogICBjb25zdCBpbnQx
Nng4eDJfdCBkMCA9IHZweF92dHJucV9zNjRfdG9fczE2KGMwLnZhbFswXSwgYzIudmFsWzBdKTsK
ICAgY29uc3QgaW50MTZ4OHgyX3QgZDEgPSB2cHhfdnRybnFfczY0X3RvX3MxNihjMS52YWxbMF0s
IGMzLnZhbFswXSk7CiAgIGNvbnN0IGludDE2eDh4Ml90IGQyID0gdnB4X3Z0cm5xX3M2NF90b19z
MTYoYzAudmFsWzFdLCBjMi52YWxbMV0pOwpAQCAtNzc4LDcgKzY5NSw2IEBAIHN0YXRpYyBJTkxJ
TkUgdm9pZCB0cmFuc3Bvc2VfdTE2Xzh4OCh1aW50MTZ4OF90ICphMCwgdWludDE2eDhfdCAqYTEs
CiAgIC8vIGQyLnZhbFsxXTogMDYgMTYgMjYgMzYgNDYgNTYgNjYgNzYKICAgLy8gZDMudmFsWzBd
OiAwMyAxMyAyMyAzMyA0MyA1MyA2MyA3MwogICAvLyBkMy52YWxbMV06IDA3IDE3IDI3IDM3IDQ3
IDU3IDY3IDc3Ci0KICAgY29uc3QgdWludDE2eDh4Ml90IGQwID0gdnB4X3Z0cm5xX3U2NF90b191
MTYoYzAudmFsWzBdLCBjMi52YWxbMF0pOwogICBjb25zdCB1aW50MTZ4OHgyX3QgZDEgPSB2cHhf
dnRybnFfdTY0X3RvX3UxNihjMS52YWxbMF0sIGMzLnZhbFswXSk7CiAgIGNvbnN0IHVpbnQxNng4
eDJfdCBkMiA9IHZweF92dHJucV91NjRfdG9fdTE2KGMwLnZhbFsxXSwgYzIudmFsWzFdKTsKQEAg
LTg3MSwxMTMgKzc4Nyw2IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2VfczMyXzh4OChp
bnQzMng0eDJfdCAqYTAsIGludDMyeDR4Ml90ICphMSwKICAgYTctPnZhbFsxXSA9IGM3LnZhbFsx
XTsKIH0KIAotLy8gSGVscGVyIHRyYW5zcG9zZSBmdW5jdGlvbiBmb3IgaGlnaGJkIEZEQ1QgdmFy
aWFudHMKLXN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2VfczMyXzh4OF8yKGludDMyeDRfdCAq
bGVmdCAvKls4XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MzJ4NF90ICpyaWdodCAvKls4XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50MzJ4NF90ICpvdXRfbGVmdCAvKls4XSovLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50MzJ4NF90ICpvdXRfcmlnaHQgLypbOF0qLykgewotICBpbnQz
Mng0eDJfdCBvdXRbOF07Ci0KLSAgb3V0WzBdLnZhbFswXSA9IGxlZnRbMF07Ci0gIG91dFswXS52
YWxbMV0gPSByaWdodFswXTsKLSAgb3V0WzFdLnZhbFswXSA9IGxlZnRbMV07Ci0gIG91dFsxXS52
YWxbMV0gPSByaWdodFsxXTsKLSAgb3V0WzJdLnZhbFswXSA9IGxlZnRbMl07Ci0gIG91dFsyXS52
YWxbMV0gPSByaWdodFsyXTsKLSAgb3V0WzNdLnZhbFswXSA9IGxlZnRbM107Ci0gIG91dFszXS52
YWxbMV0gPSByaWdodFszXTsKLSAgb3V0WzRdLnZhbFswXSA9IGxlZnRbNF07Ci0gIG91dFs0XS52
YWxbMV0gPSByaWdodFs0XTsKLSAgb3V0WzVdLnZhbFswXSA9IGxlZnRbNV07Ci0gIG91dFs1XS52
YWxbMV0gPSByaWdodFs1XTsKLSAgb3V0WzZdLnZhbFswXSA9IGxlZnRbNl07Ci0gIG91dFs2XS52
YWxbMV0gPSByaWdodFs2XTsKLSAgb3V0WzddLnZhbFswXSA9IGxlZnRbN107Ci0gIG91dFs3XS52
YWxbMV0gPSByaWdodFs3XTsKLQotICB0cmFuc3Bvc2VfczMyXzh4OCgmb3V0WzBdLCAmb3V0WzFd
LCAmb3V0WzJdLCAmb3V0WzNdLCAmb3V0WzRdLCAmb3V0WzVdLAotICAgICAgICAgICAgICAgICAg
ICAmb3V0WzZdLCAmb3V0WzddKTsKLQotICBvdXRfbGVmdFswXSA9IG91dFswXS52YWxbMF07Ci0g
IG91dF9sZWZ0WzFdID0gb3V0WzFdLnZhbFswXTsKLSAgb3V0X2xlZnRbMl0gPSBvdXRbMl0udmFs
WzBdOwotICBvdXRfbGVmdFszXSA9IG91dFszXS52YWxbMF07Ci0gIG91dF9sZWZ0WzRdID0gb3V0
WzRdLnZhbFswXTsKLSAgb3V0X2xlZnRbNV0gPSBvdXRbNV0udmFsWzBdOwotICBvdXRfbGVmdFs2
XSA9IG91dFs2XS52YWxbMF07Ci0gIG91dF9sZWZ0WzddID0gb3V0WzddLnZhbFswXTsKLSAgb3V0
X3JpZ2h0WzBdID0gb3V0WzBdLnZhbFsxXTsKLSAgb3V0X3JpZ2h0WzFdID0gb3V0WzFdLnZhbFsx
XTsKLSAgb3V0X3JpZ2h0WzJdID0gb3V0WzJdLnZhbFsxXTsKLSAgb3V0X3JpZ2h0WzNdID0gb3V0
WzNdLnZhbFsxXTsKLSAgb3V0X3JpZ2h0WzRdID0gb3V0WzRdLnZhbFsxXTsKLSAgb3V0X3JpZ2h0
WzVdID0gb3V0WzVdLnZhbFsxXTsKLSAgb3V0X3JpZ2h0WzZdID0gb3V0WzZdLnZhbFsxXTsKLSAg
b3V0X3JpZ2h0WzddID0gb3V0WzddLnZhbFsxXTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIHRy
YW5zcG9zZV9zMzJfMTZ4MTYoaW50MzJ4NF90ICpsZWZ0MSwgaW50MzJ4NF90ICpyaWdodDEsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMng0X3QgKmxlZnQyLCBp
bnQzMng0X3QgKnJpZ2h0MikgewotICBpbnQzMng0X3QgdGxbMTZdLCB0clsxNl07Ci0KLSAgLy8g
dHJhbnNwb3NlIHRoZSA0IDh4OCBxdWFkcmFudHMgc2VwYXJhdGVseSBidXQgZmlyc3Qgc3dhcCBx
dWFkcmFudHMgMiBhbmQgMy4KLSAgdGxbMF0gPSBsZWZ0MVs4XTsKLSAgdGxbMV0gPSBsZWZ0MVs5
XTsKLSAgdGxbMl0gPSBsZWZ0MVsxMF07Ci0gIHRsWzNdID0gbGVmdDFbMTFdOwotICB0bFs0XSA9
IGxlZnQxWzEyXTsKLSAgdGxbNV0gPSBsZWZ0MVsxM107Ci0gIHRsWzZdID0gbGVmdDFbMTRdOwot
ICB0bFs3XSA9IGxlZnQxWzE1XTsKLSAgdHJbMF0gPSByaWdodDFbOF07Ci0gIHRyWzFdID0gcmln
aHQxWzldOwotICB0clsyXSA9IHJpZ2h0MVsxMF07Ci0gIHRyWzNdID0gcmlnaHQxWzExXTsKLSAg
dHJbNF0gPSByaWdodDFbMTJdOwotICB0cls1XSA9IHJpZ2h0MVsxM107Ci0gIHRyWzZdID0gcmln
aHQxWzE0XTsKLSAgdHJbN10gPSByaWdodDFbMTVdOwotCi0gIGxlZnQxWzhdID0gbGVmdDJbMF07
Ci0gIGxlZnQxWzldID0gbGVmdDJbMV07Ci0gIGxlZnQxWzEwXSA9IGxlZnQyWzJdOwotICBsZWZ0
MVsxMV0gPSBsZWZ0MlszXTsKLSAgbGVmdDFbMTJdID0gbGVmdDJbNF07Ci0gIGxlZnQxWzEzXSA9
IGxlZnQyWzVdOwotICBsZWZ0MVsxNF0gPSBsZWZ0Mls2XTsKLSAgbGVmdDFbMTVdID0gbGVmdDJb
N107Ci0gIHJpZ2h0MVs4XSA9IHJpZ2h0MlswXTsKLSAgcmlnaHQxWzldID0gcmlnaHQyWzFdOwot
ICByaWdodDFbMTBdID0gcmlnaHQyWzJdOwotICByaWdodDFbMTFdID0gcmlnaHQyWzNdOwotICBy
aWdodDFbMTJdID0gcmlnaHQyWzRdOwotICByaWdodDFbMTNdID0gcmlnaHQyWzVdOwotICByaWdo
dDFbMTRdID0gcmlnaHQyWzZdOwotICByaWdodDFbMTVdID0gcmlnaHQyWzddOwotCi0gIGxlZnQy
WzBdID0gdGxbMF07Ci0gIGxlZnQyWzFdID0gdGxbMV07Ci0gIGxlZnQyWzJdID0gdGxbMl07Ci0g
IGxlZnQyWzNdID0gdGxbM107Ci0gIGxlZnQyWzRdID0gdGxbNF07Ci0gIGxlZnQyWzVdID0gdGxb
NV07Ci0gIGxlZnQyWzZdID0gdGxbNl07Ci0gIGxlZnQyWzddID0gdGxbN107Ci0gIHJpZ2h0Mlsw
XSA9IHRyWzBdOwotICByaWdodDJbMV0gPSB0clsxXTsKLSAgcmlnaHQyWzJdID0gdHJbMl07Ci0g
IHJpZ2h0MlszXSA9IHRyWzNdOwotICByaWdodDJbNF0gPSB0cls0XTsKLSAgcmlnaHQyWzVdID0g
dHJbNV07Ci0gIHJpZ2h0Mls2XSA9IHRyWzZdOwotICByaWdodDJbN10gPSB0cls3XTsKLQotICB0
cmFuc3Bvc2VfczMyXzh4OF8yKGxlZnQxLCByaWdodDEsIGxlZnQxLCByaWdodDEpOwotICB0cmFu
c3Bvc2VfczMyXzh4OF8yKGxlZnQyLCByaWdodDIsIGxlZnQyLCByaWdodDIpOwotICB0cmFuc3Bv
c2VfczMyXzh4OF8yKGxlZnQxICsgOCwgcmlnaHQxICsgOCwgbGVmdDEgKyA4LCByaWdodDEgKyA4
KTsKLSAgdHJhbnNwb3NlX3MzMl84eDhfMihsZWZ0MiArIDgsIHJpZ2h0MiArIDgsIGxlZnQyICsg
OCwgcmlnaHQyICsgOCk7Ci19Ci0KIHN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2VfdThfMTZ4
OCgKICAgICBjb25zdCB1aW50OHgxNl90IGkwLCBjb25zdCB1aW50OHgxNl90IGkxLCBjb25zdCB1
aW50OHgxNl90IGkyLAogICAgIGNvbnN0IHVpbnQ4eDE2X3QgaTMsIGNvbnN0IHVpbnQ4eDE2X3Qg
aTQsIGNvbnN0IHVpbnQ4eDE2X3QgaTUsCkBAIC0xMzc1LDQ1ICsxMTg0LDYgQEAgc3RhdGljIElO
TElORSB2b2lkIHRyYW5zcG9zZV91OF8xNngxNigKICAgKm8xNSA9IGU3LnZhbFsxXTsKIH0KIAot
c3RhdGljIElOTElORSB2b2lkIHRyYW5zcG9zZV9zMTZfMTZ4MTYoaW50MTZ4OF90ICppbjAsIGlu
dDE2eDhfdCAqaW4xKSB7Ci0gIGludDE2eDhfdCB0WzhdOwotCi0gIC8vIHRyYW5zcG9zZSB0aGUg
NCA4eDggcXVhZHJhbnRzIHNlcGFyYXRlbHkgYnV0IGZpcnN0IHN3YXAgcXVhZHJhbnRzIDIgYW5k
IDMuCi0gIHRbMF0gPSBpbjBbOF07Ci0gIHRbMV0gPSBpbjBbOV07Ci0gIHRbMl0gPSBpbjBbMTBd
OwotICB0WzNdID0gaW4wWzExXTsKLSAgdFs0XSA9IGluMFsxMl07Ci0gIHRbNV0gPSBpbjBbMTNd
OwotICB0WzZdID0gaW4wWzE0XTsKLSAgdFs3XSA9IGluMFsxNV07Ci0gIGluMFs4XSA9IGluMVsw
XTsKLSAgaW4wWzldID0gaW4xWzFdOwotICBpbjBbMTBdID0gaW4xWzJdOwotICBpbjBbMTFdID0g
aW4xWzNdOwotICBpbjBbMTJdID0gaW4xWzRdOwotICBpbjBbMTNdID0gaW4xWzVdOwotICBpbjBb
MTRdID0gaW4xWzZdOwotICBpbjBbMTVdID0gaW4xWzddOwotICBpbjFbMF0gPSB0WzBdOwotICBp
bjFbMV0gPSB0WzFdOwotICBpbjFbMl0gPSB0WzJdOwotICBpbjFbM10gPSB0WzNdOwotICBpbjFb
NF0gPSB0WzRdOwotICBpbjFbNV0gPSB0WzVdOwotICBpbjFbNl0gPSB0WzZdOwotICBpbjFbN10g
PSB0WzddOwotCi0gIHRyYW5zcG9zZV9zMTZfOHg4KCZpbjBbMF0sICZpbjBbMV0sICZpbjBbMl0s
ICZpbjBbM10sICZpbjBbNF0sICZpbjBbNV0sCi0gICAgICAgICAgICAgICAgICAgICZpbjBbNl0s
ICZpbjBbN10pOwotICB0cmFuc3Bvc2VfczE2Xzh4OCgmaW4wWzhdLCAmaW4wWzldLCAmaW4wWzEw
XSwgJmluMFsxMV0sICZpbjBbMTJdLCAmaW4wWzEzXSwKLSAgICAgICAgICAgICAgICAgICAgJmlu
MFsxNF0sICZpbjBbMTVdKTsKLSAgdHJhbnNwb3NlX3MxNl84eDgoJmluMVswXSwgJmluMVsxXSwg
JmluMVsyXSwgJmluMVszXSwgJmluMVs0XSwgJmluMVs1XSwKLSAgICAgICAgICAgICAgICAgICAg
JmluMVs2XSwgJmluMVs3XSk7Ci0gIHRyYW5zcG9zZV9zMTZfOHg4KCZpbjFbOF0sICZpbjFbOV0s
ICZpbjFbMTBdLCAmaW4xWzExXSwgJmluMVsxMl0sICZpbjFbMTNdLAotICAgICAgICAgICAgICAg
ICAgICAmaW4xWzE0XSwgJmluMVsxNV0pOwotfQotCiBzdGF0aWMgSU5MSU5FIHZvaWQgbG9hZF9h
bmRfdHJhbnNwb3NlX3U4XzR4OChjb25zdCB1aW50OF90ICphLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGFfc3RyaWRlLCB1aW50OHg4X3Qg
KmEwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4
OF90ICphMSwgdWludDh4OF90ICphMiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9h
cm0vdmFyaWFuY2VfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92YXJpYW5jZV9uZW9u
LmMKaW5kZXggZWZiMmMxZDhkYTc5Li43N2IxMDE1Yjc0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vdmFyaWFuY2VfbmVvbi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9h
cm0vdmFyaWFuY2VfbmVvbi5jCkBAIC0xOSwzMTQgKzE5LDM2MiBAQAogI2luY2x1ZGUgInZweF9k
c3AvYXJtL3N1bV9uZW9uLmgiCiAjaW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgogCi0vLyBQcm9j
ZXNzIGEgYmxvY2sgb2Ygd2lkdGggNCB0d28gcm93cyBhdCBhIHRpbWUuCi1zdGF0aWMgSU5MSU5F
IHZvaWQgdmFyaWFuY2VfNHhoX25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGgsIHVpbnQzMl90ICpzc2UsIGludCAqc3VtKSB7CisvLyBUaGUgdmFyaWFu
Y2UgaGVscGVyIGZ1bmN0aW9ucyB1c2UgaW50MTZfdCBmb3Igc3VtLiA4IHZhbHVlcyBhcmUgYWNj
dW11bGF0ZWQKKy8vIGFuZCB0aGVuIGFkZGVkIChhdCB3aGljaCBwb2ludCB0aGV5IGV4cGFuZCB1
cCB0byBpbnQzMl90KS4gVG8gYXZvaWQgb3ZlcmZsb3csCisvLyB0aGVyZSBjYW4gYmUgbm8gbW9y
ZSB0aGFuIDMyNzY3IC8gMjU1IH49IDEyOCB2YWx1ZXMgYWNjdW11bGF0ZWQgaW4gZWFjaAorLy8g
Y29sdW1uLiBGb3IgYSAzMngzMiBidWZmZXIsIHRoaXMgcmVzdWx0cyBpbiAzMiAvIDggPSA0IHZh
bHVlcyBwZXIgcm93ICogMzIKKy8vIHJvd3MgPSAxMjguIEFzc2VydHMgaGF2ZSBiZWVuIGFkZGVk
IHRvIGVhY2ggZnVuY3Rpb24gdG8gd2FybiBhZ2FpbnN0IHJlYWNoaW5nCisvLyB0aGlzIGxpbWl0
LgorCisvLyBQcm9jZXNzIGEgYmxvY2sgb2Ygd2lkdGggNCBmb3VyIHJvd3MgYXQgYSB0aW1lLgor
c3RhdGljIHZvaWQgdmFyaWFuY2VfbmVvbl93NHg0KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCBpbnQgaCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCAqc3NlLCBpbnQgKnN1bSkgeworICBpbnQgaTsKICAgaW50MTZ4
OF90IHN1bV9zMTYgPSB2ZHVwcV9uX3MxNigwKTsKLSAgaW50MzJ4NF90IHNzZV9zMzIgPSB2ZHVw
cV9uX3MzMigwKTsKLSAgaW50IGkgPSBoOworICBpbnQzMng0X3Qgc3NlX2xvX3MzMiA9IHZkdXBx
X25fczMyKDApOworICBpbnQzMng0X3Qgc3NlX2hpX3MzMiA9IHZkdXBxX25fczMyKDApOwogCi0g
IC8vIE51bWJlciBvZiByb3dzIHdlIGNhbiBwcm9jZXNzIGJlZm9yZSAnc3VtX3MxNicgb3ZlcmZs
b3dzOgotICAvLyAzMjc2NyAvIDI1NSB+PSAxMjgsIGJ1dCB3ZSB1c2UgYW4gOC13aWRlIGFjY3Vt
dWxhdG9yOyBzbyAyNTYgNC13aWRlIHJvd3MuCisgIC8vIFNpbmNlIHdpZHRoIGlzIG9ubHkgNCwg
c3VtX3MxNiBvbmx5IGxvYWRzIGEgaGFsZiByb3cgcGVyIGxvb3AuCiAgIGFzc2VydChoIDw9IDI1
Nik7CiAKLSAgZG8gewotICAgIGNvbnN0IHVpbnQ4eDhfdCBzID0gbG9hZF91bmFsaWduZWRfdTgo
c3JjX3B0ciwgc3JjX3N0cmlkZSk7Ci0gICAgY29uc3QgdWludDh4OF90IHIgPSBsb2FkX3VuYWxp
Z25lZF91OChyZWZfcHRyLCByZWZfc3RyaWRlKTsKLSAgICBjb25zdCBpbnQxNng4X3QgZGlmZiA9
IHZyZWludGVycHJldHFfczE2X3UxNih2c3VibF91OChzLCByKSk7Ci0KLSAgICBzdW1fczE2ID0g
dmFkZHFfczE2KHN1bV9zMTYsIGRpZmYpOworICBmb3IgKGkgPSAwOyBpIDwgaDsgaSArPSA0KSB7
CisgICAgY29uc3QgdWludDh4MTZfdCBhX3U4ID0gbG9hZF91bmFsaWduZWRfdThxKHNyY19wdHIs
IHNyY19zdHJpZGUpOworICAgIGNvbnN0IHVpbnQ4eDE2X3QgYl91OCA9IGxvYWRfdW5hbGlnbmVk
X3U4cShyZWZfcHRyLCByZWZfc3RyaWRlKTsKKyAgICBjb25zdCB1aW50MTZ4OF90IGRpZmZfbG9f
dTE2ID0KKyAgICAgICAgdnN1YmxfdTgodmdldF9sb3dfdTgoYV91OCksIHZnZXRfbG93X3U4KGJf
dTgpKTsKKyAgICBjb25zdCB1aW50MTZ4OF90IGRpZmZfaGlfdTE2ID0KKyAgICAgICAgdnN1Ymxf
dTgodmdldF9oaWdoX3U4KGFfdTgpLCB2Z2V0X2hpZ2hfdTgoYl91OCkpOwogCi0gICAgc3NlX3Mz
MiA9IHZtbGFsX3MxNihzc2VfczMyLCB2Z2V0X2xvd19zMTYoZGlmZiksIHZnZXRfbG93X3MxNihk
aWZmKSk7Ci0gICAgc3NlX3MzMiA9IHZtbGFsX3MxNihzc2VfczMyLCB2Z2V0X2hpZ2hfczE2KGRp
ZmYpLCB2Z2V0X2hpZ2hfczE2KGRpZmYpKTsKKyAgICBjb25zdCBpbnQxNng4X3QgZGlmZl9sb19z
MTYgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYoZGlmZl9sb191MTYpOworICAgIGNvbnN0IGludDE2
eDhfdCBkaWZmX2hpX3MxNiA9IHZyZWludGVycHJldHFfczE2X3UxNihkaWZmX2hpX3UxNik7CiAK
LSAgICBzcmNfcHRyICs9IDIgKiBzcmNfc3RyaWRlOwotICAgIHJlZl9wdHIgKz0gMiAqIHJlZl9z
dHJpZGU7Ci0gICAgaSAtPSAyOwotICB9IHdoaWxlIChpICE9IDApOworICAgIHN1bV9zMTYgPSB2
YWRkcV9zMTYoc3VtX3MxNiwgZGlmZl9sb19zMTYpOworICAgIHN1bV9zMTYgPSB2YWRkcV9zMTYo
c3VtX3MxNiwgZGlmZl9oaV9zMTYpOwogCi0gICpzdW0gPSBob3Jpem9udGFsX2FkZF9pbnQxNng4
KHN1bV9zMTYpOwotICAqc3NlID0gKHVpbnQzMl90KWhvcml6b250YWxfYWRkX2ludDMyeDQoc3Nl
X3MzMik7Ci19CisgICAgc3NlX2xvX3MzMiA9IHZtbGFsX3MxNihzc2VfbG9fczMyLCB2Z2V0X2xv
d19zMTYoZGlmZl9sb19zMTYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdldF9sb3df
czE2KGRpZmZfbG9fczE2KSk7CisgICAgc3NlX2xvX3MzMiA9IHZtbGFsX3MxNihzc2VfbG9fczMy
LCB2Z2V0X2hpZ2hfczE2KGRpZmZfbG9fczE2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZnZXRfaGlnaF9zMTYoZGlmZl9sb19zMTYpKTsKIAotLy8gUHJvY2VzcyBhIGJsb2NrIG9mIHdp
ZHRoIDggb25lIHJvdyBhdCBhIHRpbWUuCi1zdGF0aWMgSU5MSU5FIHZvaWQgdmFyaWFuY2VfOHho
X25lb24oY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgsIHVp
bnQzMl90ICpzc2UsIGludCAqc3VtKSB7Ci0gIGludDE2eDhfdCBzdW1fczE2ID0gdmR1cHFfbl9z
MTYoMCk7Ci0gIGludDMyeDRfdCBzc2VfczMyWzJdID0geyB2ZHVwcV9uX3MzMigwKSwgdmR1cHFf
bl9zMzIoMCkgfTsKLSAgaW50IGkgPSBoOworICAgIHNzZV9oaV9zMzIgPSB2bWxhbF9zMTYoc3Nl
X2hpX3MzMiwgdmdldF9sb3dfczE2KGRpZmZfaGlfczE2KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZnZXRfbG93X3MxNihkaWZmX2hpX3MxNikpOworICAgIHNzZV9oaV9zMzIgPSB2bWxh
bF9zMTYoc3NlX2hpX3MzMiwgdmdldF9oaWdoX3MxNihkaWZmX2hpX3MxNiksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2Z2V0X2hpZ2hfczE2KGRpZmZfaGlfczE2KSk7CiAKLSAgLy8gTnVt
YmVyIG9mIHJvd3Mgd2UgY2FuIHByb2Nlc3MgYmVmb3JlICdzdW1fczE2JyBvdmVyZmxvd3M6Ci0g
IC8vIDMyNzY3IC8gMjU1IH49IDEyOAotICBhc3NlcnQoaCA8PSAxMjgpOwotCi0gIGRvIHsKLSAg
ICBjb25zdCB1aW50OHg4X3QgcyA9IHZsZDFfdTgoc3JjX3B0cik7Ci0gICAgY29uc3QgdWludDh4
OF90IHIgPSB2bGQxX3U4KHJlZl9wdHIpOwotICAgIGNvbnN0IGludDE2eDhfdCBkaWZmID0gdnJl
aW50ZXJwcmV0cV9zMTZfdTE2KHZzdWJsX3U4KHMsIHIpKTsKLQotICAgIHN1bV9zMTYgPSB2YWRk
cV9zMTYoc3VtX3MxNiwgZGlmZik7CisgICAgc3JjX3B0ciArPSA0ICogc3JjX3N0cmlkZTsKKyAg
ICByZWZfcHRyICs9IDQgKiByZWZfc3RyaWRlOworICB9CiAKLSAgICBzc2VfczMyWzBdID0gdm1s
YWxfczE2KHNzZV9zMzJbMF0sIHZnZXRfbG93X3MxNihkaWZmKSwgdmdldF9sb3dfczE2KGRpZmYp
KTsKLSAgICBzc2VfczMyWzFdID0KLSAgICAgICAgdm1sYWxfczE2KHNzZV9zMzJbMV0sIHZnZXRf
aGlnaF9zMTYoZGlmZiksIHZnZXRfaGlnaF9zMTYoZGlmZikpOworICAqc3VtID0gdmdldF9sYW5l
X3MzMihob3Jpem9udGFsX2FkZF9pbnQxNng4KHN1bV9zMTYpLCAwKTsKKyAgKnNzZSA9IHZnZXRf
bGFuZV91MzIoaG9yaXpvbnRhbF9hZGRfdWludDMyeDQodnJlaW50ZXJwcmV0cV91MzJfczMyKAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFkZHFfczMyKHNzZV9sb19zMzIsIHNzZV9oaV9z
MzIpKSksCisgICAgICAgICAgICAgICAgICAgICAgIDApOworfQogCisvLyBQcm9jZXNzIGEgYmxv
Y2sgb2YgYW55IHNpemUgd2hlcmUgdGhlIHdpZHRoIGlzIGRpdmlzaWJsZSBieSAxNi4KK3N0YXRp
YyB2b2lkIHZhcmlhbmNlX25lb25fdzE2KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVm
X3B0ciwgaW50IHJlZl9zdHJpZGUsIGludCB3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGgsIHVpbnQzMl90ICpzc2UsIGludCAqc3VtKSB7CisgIGludCBpLCBqOworICBpbnQx
Nng4X3Qgc3VtX3MxNiA9IHZkdXBxX25fczE2KDApOworICBpbnQzMng0X3Qgc3NlX2xvX3MzMiA9
IHZkdXBxX25fczMyKDApOworICBpbnQzMng0X3Qgc3NlX2hpX3MzMiA9IHZkdXBxX25fczMyKDAp
OworCisgIC8vIFRoZSBsb29wIGxvYWRzIDE2IHZhbHVlcyBhdCBhIHRpbWUgYnV0IGRvdWJsZXMg
dGhlbSB1cCB3aGVuIGFjY3VtdWxhdGluZworICAvLyBpbnRvIHN1bV9zMTYuCisgIGFzc2VydCh3
IC8gOCAqIGggPD0gMTI4KTsKKworICBmb3IgKGkgPSAwOyBpIDwgaDsgKytpKSB7CisgICAgZm9y
IChqID0gMDsgaiA8IHc7IGogKz0gMTYpIHsKKyAgICAgIGNvbnN0IHVpbnQ4eDE2X3QgYV91OCA9
IHZsZDFxX3U4KHNyY19wdHIgKyBqKTsKKyAgICAgIGNvbnN0IHVpbnQ4eDE2X3QgYl91OCA9IHZs
ZDFxX3U4KHJlZl9wdHIgKyBqKTsKKworICAgICAgY29uc3QgdWludDE2eDhfdCBkaWZmX2xvX3Ux
NiA9CisgICAgICAgICAgdnN1YmxfdTgodmdldF9sb3dfdTgoYV91OCksIHZnZXRfbG93X3U4KGJf
dTgpKTsKKyAgICAgIGNvbnN0IHVpbnQxNng4X3QgZGlmZl9oaV91MTYgPQorICAgICAgICAgIHZz
dWJsX3U4KHZnZXRfaGlnaF91OChhX3U4KSwgdmdldF9oaWdoX3U4KGJfdTgpKTsKKworICAgICAg
Y29uc3QgaW50MTZ4OF90IGRpZmZfbG9fczE2ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KGRpZmZf
bG9fdTE2KTsKKyAgICAgIGNvbnN0IGludDE2eDhfdCBkaWZmX2hpX3MxNiA9IHZyZWludGVycHJl
dHFfczE2X3UxNihkaWZmX2hpX3UxNik7CisKKyAgICAgIHN1bV9zMTYgPSB2YWRkcV9zMTYoc3Vt
X3MxNiwgZGlmZl9sb19zMTYpOworICAgICAgc3VtX3MxNiA9IHZhZGRxX3MxNihzdW1fczE2LCBk
aWZmX2hpX3MxNik7CisKKyAgICAgIHNzZV9sb19zMzIgPSB2bWxhbF9zMTYoc3NlX2xvX3MzMiwg
dmdldF9sb3dfczE2KGRpZmZfbG9fczE2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmdldF9sb3dfczE2KGRpZmZfbG9fczE2KSk7CisgICAgICBzc2VfbG9fczMyID0gdm1sYWxfczE2
KHNzZV9sb19zMzIsIHZnZXRfaGlnaF9zMTYoZGlmZl9sb19zMTYpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2Z2V0X2hpZ2hfczE2KGRpZmZfbG9fczE2KSk7CisKKyAgICAgIHNzZV9o
aV9zMzIgPSB2bWxhbF9zMTYoc3NlX2hpX3MzMiwgdmdldF9sb3dfczE2KGRpZmZfaGlfczE2KSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdldF9sb3dfczE2KGRpZmZfaGlfczE2KSk7
CisgICAgICBzc2VfaGlfczMyID0gdm1sYWxfczE2KHNzZV9oaV9zMzIsIHZnZXRfaGlnaF9zMTYo
ZGlmZl9oaV9zMTYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2Z2V0X2hpZ2hfczE2
KGRpZmZfaGlfczE2KSk7CisgICAgfQogICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKICAgICBy
ZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKKyAgfQogCi0gICpz
dW0gPSBob3Jpem9udGFsX2FkZF9pbnQxNng4KHN1bV9zMTYpOwotICAqc3NlID0gKHVpbnQzMl90
KWhvcml6b250YWxfYWRkX2ludDMyeDQodmFkZHFfczMyKHNzZV9zMzJbMF0sIHNzZV9zMzJbMV0p
KTsKKyAgKnN1bSA9IHZnZXRfbGFuZV9zMzIoaG9yaXpvbnRhbF9hZGRfaW50MTZ4OChzdW1fczE2
KSwgMCk7CisgICpzc2UgPSB2Z2V0X2xhbmVfdTMyKGhvcml6b250YWxfYWRkX3VpbnQzMng0KHZy
ZWludGVycHJldHFfdTMyX3MzMigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhZGRxX3Mz
Mihzc2VfbG9fczMyLCBzc2VfaGlfczMyKSkpLAorICAgICAgICAgICAgICAgICAgICAgICAwKTsK
IH0KIAotLy8gUHJvY2VzcyBhIGJsb2NrIG9mIHdpZHRoIDE2IG9uZSByb3cgYXQgYSB0aW1lLgot
c3RhdGljIElOTElORSB2b2lkIHZhcmlhbmNlXzE2eGhfbmVvbihjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoLCB1aW50MzJfdCAqc3NlLCBpbnQgKnN1bSkg
ewotICBpbnQxNng4X3Qgc3VtX3MxNlsyXSA9IHsgdmR1cHFfbl9zMTYoMCksIHZkdXBxX25fczE2
KDApIH07Ci0gIGludDMyeDRfdCBzc2VfczMyWzJdID0geyB2ZHVwcV9uX3MzMigwKSwgdmR1cHFf
bl9zMzIoMCkgfTsKLSAgaW50IGkgPSBoOworLy8gUHJvY2VzcyBhIGJsb2NrIG9mIHdpZHRoIDgg
dHdvIHJvd3MgYXQgYSB0aW1lLgorc3RhdGljIHZvaWQgdmFyaWFuY2VfbmVvbl93OHgyKGNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCBpbnQgaCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc3NlLCBpbnQgKnN1bSkg
eworICBpbnQgaSA9IDA7CisgIGludDE2eDhfdCBzdW1fczE2ID0gdmR1cHFfbl9zMTYoMCk7Cisg
IGludDMyeDRfdCBzc2VfbG9fczMyID0gdmR1cHFfbl9zMzIoMCk7CisgIGludDMyeDRfdCBzc2Vf
aGlfczMyID0gdmR1cHFfbl9zMzIoMCk7CiAKLSAgLy8gTnVtYmVyIG9mIHJvd3Mgd2UgY2FuIHBy
b2Nlc3MgYmVmb3JlICdzdW1fczE2JyBhY2N1bXVsYXRvcnMgb3ZlcmZsb3c6Ci0gIC8vIDMyNzY3
IC8gMjU1IH49IDEyOCwgc28gMTI4IDE2LXdpZGUgcm93cy4KKyAgLy8gRWFjaCBjb2x1bW4gaGFz
IGl0J3Mgb3duIGFjY3VtdWxhdG9yIGVudHJ5IGluIHN1bV9zMTYuCiAgIGFzc2VydChoIDw9IDEy
OCk7CiAKICAgZG8gewotICAgIGNvbnN0IHVpbnQ4eDE2X3QgcyA9IHZsZDFxX3U4KHNyY19wdHIp
OwotICAgIGNvbnN0IHVpbnQ4eDE2X3QgciA9IHZsZDFxX3U4KHJlZl9wdHIpOwotCi0gICAgY29u
c3QgaW50MTZ4OF90IGRpZmZfbCA9Ci0gICAgICAgIHZyZWludGVycHJldHFfczE2X3UxNih2c3Vi
bF91OCh2Z2V0X2xvd191OChzKSwgdmdldF9sb3dfdTgocikpKTsKLSAgICBjb25zdCBpbnQxNng4
X3QgZGlmZl9oID0KLSAgICAgICAgdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZzdWJsX3U4KHZnZXRf
aGlnaF91OChzKSwgdmdldF9oaWdoX3U4KHIpKSk7Ci0KLSAgICBzdW1fczE2WzBdID0gdmFkZHFf
czE2KHN1bV9zMTZbMF0sIGRpZmZfbCk7Ci0gICAgc3VtX3MxNlsxXSA9IHZhZGRxX3MxNihzdW1f
czE2WzFdLCBkaWZmX2gpOwotCi0gICAgc3NlX3MzMlswXSA9Ci0gICAgICAgIHZtbGFsX3MxNihz
c2VfczMyWzBdLCB2Z2V0X2xvd19zMTYoZGlmZl9sKSwgdmdldF9sb3dfczE2KGRpZmZfbCkpOwot
ICAgIHNzZV9zMzJbMV0gPQotICAgICAgICB2bWxhbF9zMTYoc3NlX3MzMlsxXSwgdmdldF9oaWdo
X3MxNihkaWZmX2wpLCB2Z2V0X2hpZ2hfczE2KGRpZmZfbCkpOwotICAgIHNzZV9zMzJbMF0gPQot
ICAgICAgICB2bWxhbF9zMTYoc3NlX3MzMlswXSwgdmdldF9sb3dfczE2KGRpZmZfaCksIHZnZXRf
bG93X3MxNihkaWZmX2gpKTsKLSAgICBzc2VfczMyWzFdID0KLSAgICAgICAgdm1sYWxfczE2KHNz
ZV9zMzJbMV0sIHZnZXRfaGlnaF9zMTYoZGlmZl9oKSwgdmdldF9oaWdoX3MxNihkaWZmX2gpKTsK
LQotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7
Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICAqc3VtID0gaG9yaXpvbnRhbF9hZGRfaW50MTZ4
OCh2YWRkcV9zMTYoc3VtX3MxNlswXSwgc3VtX3MxNlsxXSkpOwotICAqc3NlID0gKHVpbnQzMl90
KWhvcml6b250YWxfYWRkX2ludDMyeDQodmFkZHFfczMyKHNzZV9zMzJbMF0sIHNzZV9zMzJbMV0p
KTsKLX0KLQotLy8gUHJvY2VzcyBhIGJsb2NrIG9mIGFueSBzaXplIHdoZXJlIHRoZSB3aWR0aCBp
cyBkaXZpc2libGUgYnkgMTYuCi1zdGF0aWMgSU5MSU5FIHZvaWQgdmFyaWFuY2VfbGFyZ2VfbmVv
bihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsIGlu
dCBoLCBpbnQgaF9saW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCAqc3NlLCBpbnQgKnN1bSkgewotICBpbnQzMng0X3Qgc3VtX3MzMiA9IHZk
dXBxX25fczMyKDApOwotICBpbnQzMng0X3Qgc3NlX3MzMlsyXSA9IHsgdmR1cHFfbl9zMzIoMCks
IHZkdXBxX25fczMyKDApIH07Ci0KLSAgLy8gJ2hfbGltaXQnIGlzIHRoZSBudW1iZXIgb2YgJ3cn
LXdpZHRoIHJvd3Mgd2UgY2FuIHByb2Nlc3MgYmVmb3JlIG91ciAxNi1iaXQKLSAgLy8gYWNjdW11
bGF0b3Igb3ZlcmZsb3dzLiBBZnRlciBoaXR0aW5nIHRoaXMgbGltaXQgd2UgYWNjdW11bGF0ZSBp
bnRvIDMyLWJpdAotICAvLyBlbGVtZW50cy4KLSAgaW50IGhfdG1wID0gaCA+IGhfbGltaXQgPyBo
X2xpbWl0IDogaDsKLQotICBpbnQgaSA9IDA7Ci0gIGRvIHsKLSAgICBpbnQxNng4X3Qgc3VtX3Mx
NlsyXSA9IHsgdmR1cHFfbl9zMTYoMCksIHZkdXBxX25fczE2KDApIH07Ci0gICAgZG8gewotICAg
ICAgaW50IGogPSAwOwotICAgICAgZG8gewotICAgICAgICBjb25zdCB1aW50OHgxNl90IHMgPSB2
bGQxcV91OChzcmNfcHRyICsgaik7Ci0gICAgICAgIGNvbnN0IHVpbnQ4eDE2X3QgciA9IHZsZDFx
X3U4KHJlZl9wdHIgKyBqKTsKLQotICAgICAgICBjb25zdCBpbnQxNng4X3QgZGlmZl9sID0KLSAg
ICAgICAgICAgIHZyZWludGVycHJldHFfczE2X3UxNih2c3VibF91OCh2Z2V0X2xvd191OChzKSwg
dmdldF9sb3dfdTgocikpKTsKLSAgICAgICAgY29uc3QgaW50MTZ4OF90IGRpZmZfaCA9Ci0gICAg
ICAgICAgICB2cmVpbnRlcnByZXRxX3MxNl91MTYodnN1YmxfdTgodmdldF9oaWdoX3U4KHMpLCB2
Z2V0X2hpZ2hfdTgocikpKTsKLQotICAgICAgICBzdW1fczE2WzBdID0gdmFkZHFfczE2KHN1bV9z
MTZbMF0sIGRpZmZfbCk7Ci0gICAgICAgIHN1bV9zMTZbMV0gPSB2YWRkcV9zMTYoc3VtX3MxNlsx
XSwgZGlmZl9oKTsKLQotICAgICAgICBzc2VfczMyWzBdID0KLSAgICAgICAgICAgIHZtbGFsX3Mx
Nihzc2VfczMyWzBdLCB2Z2V0X2xvd19zMTYoZGlmZl9sKSwgdmdldF9sb3dfczE2KGRpZmZfbCkp
OwotICAgICAgICBzc2VfczMyWzFdID0KLSAgICAgICAgICAgIHZtbGFsX3MxNihzc2VfczMyWzFd
LCB2Z2V0X2hpZ2hfczE2KGRpZmZfbCksIHZnZXRfaGlnaF9zMTYoZGlmZl9sKSk7Ci0gICAgICAg
IHNzZV9zMzJbMF0gPQotICAgICAgICAgICAgdm1sYWxfczE2KHNzZV9zMzJbMF0sIHZnZXRfbG93
X3MxNihkaWZmX2gpLCB2Z2V0X2xvd19zMTYoZGlmZl9oKSk7Ci0gICAgICAgIHNzZV9zMzJbMV0g
PQotICAgICAgICAgICAgdm1sYWxfczE2KHNzZV9zMzJbMV0sIHZnZXRfaGlnaF9zMTYoZGlmZl9o
KSwgdmdldF9oaWdoX3MxNihkaWZmX2gpKTsKLQotICAgICAgICBqICs9IDE2OwotICAgICAgfSB3
aGlsZSAoaiA8IHcpOwotCi0gICAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgICByZWZf
cHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgICBpKys7Ci0gICAgfSB3aGlsZSAoaSA8IGhfdG1wKTsK
LQotICAgIHN1bV9zMzIgPSB2cGFkYWxxX3MxNihzdW1fczMyLCBzdW1fczE2WzBdKTsKLSAgICBz
dW1fczMyID0gdnBhZGFscV9zMTYoc3VtX3MzMiwgc3VtX3MxNlsxXSk7Ci0KLSAgICBoX3RtcCAr
PSBoX2xpbWl0OworICAgIGNvbnN0IHVpbnQ4eDhfdCBhXzBfdTggPSB2bGQxX3U4KHNyY19wdHIp
OworICAgIGNvbnN0IHVpbnQ4eDhfdCBhXzFfdTggPSB2bGQxX3U4KHNyY19wdHIgKyBzcmNfc3Ry
aWRlKTsKKyAgICBjb25zdCB1aW50OHg4X3QgYl8wX3U4ID0gdmxkMV91OChyZWZfcHRyKTsKKyAg
ICBjb25zdCB1aW50OHg4X3QgYl8xX3U4ID0gdmxkMV91OChyZWZfcHRyICsgcmVmX3N0cmlkZSk7
CisgICAgY29uc3QgdWludDE2eDhfdCBkaWZmXzBfdTE2ID0gdnN1YmxfdTgoYV8wX3U4LCBiXzBf
dTgpOworICAgIGNvbnN0IHVpbnQxNng4X3QgZGlmZl8xX3UxNiA9IHZzdWJsX3U4KGFfMV91OCwg
Yl8xX3U4KTsKKyAgICBjb25zdCBpbnQxNng4X3QgZGlmZl8wX3MxNiA9IHZyZWludGVycHJldHFf
czE2X3UxNihkaWZmXzBfdTE2KTsKKyAgICBjb25zdCBpbnQxNng4X3QgZGlmZl8xX3MxNiA9IHZy
ZWludGVycHJldHFfczE2X3UxNihkaWZmXzFfdTE2KTsKKyAgICBzdW1fczE2ID0gdmFkZHFfczE2
KHN1bV9zMTYsIGRpZmZfMF9zMTYpOworICAgIHN1bV9zMTYgPSB2YWRkcV9zMTYoc3VtX3MxNiwg
ZGlmZl8xX3MxNik7CisgICAgc3NlX2xvX3MzMiA9IHZtbGFsX3MxNihzc2VfbG9fczMyLCB2Z2V0
X2xvd19zMTYoZGlmZl8wX3MxNiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2Z2V0X2xv
d19zMTYoZGlmZl8wX3MxNikpOworICAgIHNzZV9sb19zMzIgPSB2bWxhbF9zMTYoc3NlX2xvX3Mz
MiwgdmdldF9sb3dfczE2KGRpZmZfMV9zMTYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmdldF9sb3dfczE2KGRpZmZfMV9zMTYpKTsKKyAgICBzc2VfaGlfczMyID0gdm1sYWxfczE2KHNz
ZV9oaV9zMzIsIHZnZXRfaGlnaF9zMTYoZGlmZl8wX3MxNiksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2Z2V0X2hpZ2hfczE2KGRpZmZfMF9zMTYpKTsKKyAgICBzc2VfaGlfczMyID0gdm1s
YWxfczE2KHNzZV9oaV9zMzIsIHZnZXRfaGlnaF9zMTYoZGlmZl8xX3MxNiksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2Z2V0X2hpZ2hfczE2KGRpZmZfMV9zMTYpKTsKKyAgICBzcmNfcHRy
ICs9IHNyY19zdHJpZGUgKyBzcmNfc3RyaWRlOworICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZSAr
IHJlZl9zdHJpZGU7CisgICAgaSArPSAyOwogICB9IHdoaWxlIChpIDwgaCk7CiAKLSAgKnN1bSA9
IGhvcml6b250YWxfYWRkX2ludDMyeDQoc3VtX3MzMik7Ci0gICpzc2UgPSAodWludDMyX3QpaG9y
aXpvbnRhbF9hZGRfaW50MzJ4NCh2YWRkcV9zMzIoc3NlX3MzMlswXSwgc3NlX3MzMlsxXSkpOwot
fQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdmFyaWFuY2VfMzJ4aF9uZW9uKGNvbnN0IHVpbnQ4X3Qg
KnNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJpZGUsIGludCBoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc3NlLCBpbnQgKnN1bSkgewot
ICB2YXJpYW5jZV9sYXJnZV9uZW9uKHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCAz
MiwgaCwgNjQsIHNzZSwgc3VtKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIHZhcmlhbmNlXzY0
eGhfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWYsIGludCByZWZfc3Ry
aWRlLCBpbnQgaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgKnNzZSwgaW50ICpzdW0pIHsKLSAgdmFyaWFuY2VfbGFyZ2VfbmVvbihzcmMsIHNyY19zdHJp
ZGUsIHJlZiwgcmVmX3N0cmlkZSwgNjQsIGgsIDMyLCBzc2UsIHN1bSk7CisgICpzdW0gPSB2Z2V0
X2xhbmVfczMyKGhvcml6b250YWxfYWRkX2ludDE2eDgoc3VtX3MxNiksIDApOworICAqc3NlID0g
dmdldF9sYW5lX3UzMihob3Jpem9udGFsX2FkZF91aW50MzJ4NCh2cmVpbnRlcnByZXRxX3UzMl9z
MzIoCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWRkcV9zMzIoc3NlX2xvX3MzMiwgc3Nl
X2hpX3MzMikpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgMCk7CiB9CiAKIHZvaWQgdnB4X2dl
dDh4OHZhcl9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnNzZSwgaW50ICpzdW0p
IHsKLSAgdmFyaWFuY2VfOHhoX25lb24oc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVm
X3N0cmlkZSwgOCwgc3NlLCBzdW0pOworICB2YXJpYW5jZV9uZW9uX3c4eDIoc3JjX3B0ciwgc3Jj
X3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgOCwgc3NlLCBzdW0pOwogfQogCiB2b2lkIHZw
eF9nZXQxNngxNnZhcl9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQg
cmVmX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpzc2Us
IGludCAqc3VtKSB7Ci0gIHZhcmlhbmNlXzE2eGhfbmVvbihzcmNfcHRyLCBzcmNfc3RyaWRlLCBy
ZWZfcHRyLCByZWZfc3RyaWRlLCAxNiwgc3NlLCBzdW0pOworICB2YXJpYW5jZV9uZW9uX3cxNihz
cmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3RyaWRlLCAxNiwgMTYsIHNzZSwgc3Vt
KTsKIH0KIAotI2RlZmluZSBWQVJJQU5DRV9XWEhfTkVPTih3LCBoLCBzaGlmdCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1bnNpZ25lZCBpbnQgdnB4X3Zhcmlh
bmNlIyN3IyN4IyNoIyNfbmVvbiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAq
cmVmLCBpbnQgcmVmX3N0cmlkZSwgXAotICAgICAgdW5zaWduZWQgaW50ICpzc2UpIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludCBz
dW07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIHZhcmlhbmNlXyMjdyMjeGhfbmVvbihzcmMsIHNyY19zdHJpZGUs
IHJlZiwgcmVmX3N0cmlkZSwgaCwgc3NlLCAmc3VtKTsgICAgXAotICAgIHJldHVybiAqc3NlIC0g
KHVpbnQzMl90KSgoKGludDY0X3Qpc3VtICogc3VtKSA+PiBzaGlmdCk7ICAgICAgICAgICAgICAg
ICAgXAorI2RlZmluZSB2YXJpYW5jZU54TShuLCBtLCBzaGlmdCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2Uj
I24jI3gjI20jI19uZW9uKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
IGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpy
ZWZfcHRyLCAgICAgICAgXAorICAgICAgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3Nl
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IHN1bTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBpZiAobiA9PSA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdmFyaWFuY2VfbmVvbl93NHg0KHNy
Y19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJpZGUsIG0sIHNzZSwgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgJnN1bSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBlbHNlIGlmIChuID09IDgpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdmFyaWFuY2Vf
bmVvbl93OHgyKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJpZGUsIG0sIHNz
ZSwgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJnN1bSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBlbHNlICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgdmFyaWFuY2VfbmVvbl93MTYoc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0
cmlkZSwgbiwgbSwgc3NlLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAmc3VtKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAobiAqIG0g
PCAxNiAqIDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgcmV0dXJuICpzc2UgLSAoKHN1bSAqIHN1bSkgPj4gc2hpZnQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZWxzZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgIHJldHVybiAqc3NlIC0gKHVpbnQzMl90KSgoKGludDY0X3Qpc3VtICogc3VtKSA+PiBzaGlm
dCk7ICAgICAgICAgICAgICAgXAogICB9CiAKLVZBUklBTkNFX1dYSF9ORU9OKDQsIDQsIDQpCi1W
QVJJQU5DRV9XWEhfTkVPTig0LCA4LCA1KQotCi1WQVJJQU5DRV9XWEhfTkVPTig4LCA0LCA1KQot
VkFSSUFOQ0VfV1hIX05FT04oOCwgOCwgNikKLVZBUklBTkNFX1dYSF9ORU9OKDgsIDE2LCA3KQot
Ci1WQVJJQU5DRV9XWEhfTkVPTigxNiwgOCwgNykKLVZBUklBTkNFX1dYSF9ORU9OKDE2LCAxNiwg
OCkKLVZBUklBTkNFX1dYSF9ORU9OKDE2LCAzMiwgOSkKLQotVkFSSUFOQ0VfV1hIX05FT04oMzIs
IDE2LCA5KQotVkFSSUFOQ0VfV1hIX05FT04oMzIsIDMyLCAxMCkKLVZBUklBTkNFX1dYSF9ORU9O
KDMyLCA2NCwgMTEpCi0KLVZBUklBTkNFX1dYSF9ORU9OKDY0LCAzMiwgMTEpCi1WQVJJQU5DRV9X
WEhfTkVPTig2NCwgNjQsIDEyKQotCi0jdW5kZWYgVkFSSUFOQ0VfV1hIX05FT04KK3ZhcmlhbmNl
TnhNKDQsIDQsIDQpOwordmFyaWFuY2VOeE0oNCwgOCwgNSk7Cit2YXJpYW5jZU54TSg4LCA0LCA1
KTsKK3ZhcmlhbmNlTnhNKDgsIDgsIDYpOwordmFyaWFuY2VOeE0oOCwgMTYsIDcpOwordmFyaWFu
Y2VOeE0oMTYsIDgsIDcpOwordmFyaWFuY2VOeE0oMTYsIDE2LCA4KTsKK3ZhcmlhbmNlTnhNKDE2
LCAzMiwgOSk7Cit2YXJpYW5jZU54TSgzMiwgMTYsIDkpOwordmFyaWFuY2VOeE0oMzIsIDMyLCAx
MCk7CisKK3Vuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMng2NF9uZW9uKGNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnNzZSkgeworICBpbnQgc3Vt
MSwgc3VtMjsKKyAgdWludDMyX3Qgc3NlMSwgc3NlMjsKKyAgdmFyaWFuY2VfbmVvbl93MTYoc3Jj
X3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgMzIsIDMyLCAmc3NlMSwKKyAg
ICAgICAgICAgICAgICAgICAgJnN1bTEpOworICB2YXJpYW5jZV9uZW9uX3cxNihzcmNfcHRyICsg
KDMyICogc3JjX3N0cmlkZSksIHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHJlZl9w
dHIgKyAoMzIgKiByZWZfc3RyaWRlKSwgcmVmX3N0cmlkZSwgMzIsIDMyLCAmc3NlMiwKKyAgICAg
ICAgICAgICAgICAgICAgJnN1bTIpOworICAqc3NlID0gc3NlMSArIHNzZTI7CisgIHN1bTEgKz0g
c3VtMjsKKyAgcmV0dXJuICpzc2UgLSAodW5zaWduZWQgaW50KSgoKGludDY0X3Qpc3VtMSAqIHN1
bTEpID4+IDExKTsKK30KIAotc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgdnB4X21zZTh4aF9u
ZW9uKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcmVmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwg
aW50IGgpIHsKLSAgdWludDMyeDRfdCBzc2VfdTMyWzJdID0geyB2ZHVwcV9uX3UzMigwKSwgdmR1
cHFfbl91MzIoMCkgfTsKK3Vuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHgzMl9uZW9uKGNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnNzZSkgewor
ICBpbnQgc3VtMSwgc3VtMjsKKyAgdWludDMyX3Qgc3NlMSwgc3NlMjsKKyAgdmFyaWFuY2VfbmVv
bl93MTYoc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgNjQsIDE2LCAm
c3NlMSwKKyAgICAgICAgICAgICAgICAgICAgJnN1bTEpOworICB2YXJpYW5jZV9uZW9uX3cxNihz
cmNfcHRyICsgKDE2ICogc3JjX3N0cmlkZSksIHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgIHJlZl9wdHIgKyAoMTYgKiByZWZfc3RyaWRlKSwgcmVmX3N0cmlkZSwgNjQsIDE2LCAmc3Nl
MiwKKyAgICAgICAgICAgICAgICAgICAgJnN1bTIpOworICAqc3NlID0gc3NlMSArIHNzZTI7Cisg
IHN1bTEgKz0gc3VtMjsKKyAgcmV0dXJuICpzc2UgLSAodW5zaWduZWQgaW50KSgoKGludDY0X3Qp
c3VtMSAqIHN1bTEpID4+IDExKTsKK30KIAotICBpbnQgaSA9IGggLyAyOwotICBkbyB7Ci0gICAg
dWludDh4OF90IHMwLCBzMSwgcjAsIHIxLCBkaWZmMCwgZGlmZjE7Ci0gICAgdWludDE2eDhfdCBz
c2UwLCBzc2UxOwordW5zaWduZWQgaW50IHZweF92YXJpYW5jZTY0eDY0X25lb24oY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqc3NlKSB7CisgIGlu
dCBzdW0xLCBzdW0yOworICB1aW50MzJfdCBzc2UxLCBzc2UyOworCisgIHZhcmlhbmNlX25lb25f
dzE2KHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJpZGUsIDY0LCAxNiwgJnNz
ZTEsCisgICAgICAgICAgICAgICAgICAgICZzdW0xKTsKKyAgdmFyaWFuY2VfbmVvbl93MTYoc3Jj
X3B0ciArICgxNiAqIHNyY19zdHJpZGUpLCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICByZWZfcHRyICsgKDE2ICogcmVmX3N0cmlkZSksIHJlZl9zdHJpZGUsIDY0LCAxNiwgJnNzZTIs
CisgICAgICAgICAgICAgICAgICAgICZzdW0yKTsKKyAgc3NlMSArPSBzc2UyOworICBzdW0xICs9
IHN1bTI7CisKKyAgdmFyaWFuY2VfbmVvbl93MTYoc3JjX3B0ciArICgxNiAqIDIgKiBzcmNfc3Ry
aWRlKSwgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgcmVmX3B0ciArICgxNiAqIDIg
KiByZWZfc3RyaWRlKSwgcmVmX3N0cmlkZSwgNjQsIDE2LCAmc3NlMiwKKyAgICAgICAgICAgICAg
ICAgICAgJnN1bTIpOworICBzc2UxICs9IHNzZTI7CisgIHN1bTEgKz0gc3VtMjsKKworICB2YXJp
YW5jZV9uZW9uX3cxNihzcmNfcHRyICsgKDE2ICogMyAqIHNyY19zdHJpZGUpLCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICByZWZfcHRyICsgKDE2ICogMyAqIHJlZl9zdHJpZGUpLCBy
ZWZfc3RyaWRlLCA2NCwgMTYsICZzc2UyLAorICAgICAgICAgICAgICAgICAgICAmc3VtMik7Cisg
ICpzc2UgPSBzc2UxICsgc3NlMjsKKyAgc3VtMSArPSBzdW0yOworICByZXR1cm4gKnNzZSAtICh1
bnNpZ25lZCBpbnQpKCgoaW50NjRfdClzdW0xICogc3VtMSkgPj4gMTIpOworfQogCi0gICAgczAg
PSB2bGQxX3U4KHNyY19wdHIpOwordW5zaWduZWQgaW50IHZweF9tc2UxNngxNl9uZW9uKGNvbnN0
IHVuc2lnbmVkIGNoYXIgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlZl9wdHIsIGludCByZWZfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqc3NlKSB7
CisgIGludCBpOworICBpbnQxNng0X3QgZDIyczE2LCBkMjNzMTYsIGQyNHMxNiwgZDI1czE2LCBk
MjZzMTYsIGQyN3MxNiwgZDI4czE2LCBkMjlzMTY7CisgIGludDY0eDFfdCBkMHM2NDsKKyAgdWlu
dDh4MTZfdCBxMHU4LCBxMXU4LCBxMnU4LCBxM3U4OworICBpbnQzMng0X3QgcTdzMzIsIHE4czMy
LCBxOXMzMiwgcTEwczMyOworICB1aW50MTZ4OF90IHExMXUxNiwgcTEydTE2LCBxMTN1MTYsIHEx
NHUxNjsKKyAgaW50NjR4Ml90IHExczY0OworCisgIHE3czMyID0gdmR1cHFfbl9zMzIoMCk7Cisg
IHE4czMyID0gdmR1cHFfbl9zMzIoMCk7CisgIHE5czMyID0gdmR1cHFfbl9zMzIoMCk7CisgIHEx
MHMzMiA9IHZkdXBxX25fczMyKDApOworCisgIGZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsgIC8v
IG1zZTE2eDE2X25lb25fbG9vcAorICAgIHEwdTggPSB2bGQxcV91OChzcmNfcHRyKTsKICAgICBz
cmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgczEgPSB2bGQxX3U4KHNyY19wdHIpOworICAgIHEx
dTggPSB2bGQxcV91OChzcmNfcHRyKTsKICAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAg
cjAgPSB2bGQxX3U4KHJlZl9wdHIpOworICAgIHEydTggPSB2bGQxcV91OChyZWZfcHRyKTsKICAg
ICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgcjEgPSB2bGQxX3U4KHJlZl9wdHIpOworICAg
IHEzdTggPSB2bGQxcV91OChyZWZfcHRyKTsKICAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7CiAK
LSAgICBkaWZmMCA9IHZhYmRfdTgoczAsIHIwKTsKLSAgICBkaWZmMSA9IHZhYmRfdTgoczEsIHIx
KTsKLQotICAgIHNzZTAgPSB2bXVsbF91OChkaWZmMCwgZGlmZjApOwotICAgIHNzZV91MzJbMF0g
PSB2cGFkYWxxX3UxNihzc2VfdTMyWzBdLCBzc2UwKTsKLSAgICBzc2UxID0gdm11bGxfdTgoZGlm
ZjEsIGRpZmYxKTsKLSAgICBzc2VfdTMyWzFdID0gdnBhZGFscV91MTYoc3NlX3UzMlsxXSwgc3Nl
MSk7Ci0gIH0gd2hpbGUgKC0taSAhPSAwKTsKLQotICByZXR1cm4gaG9yaXpvbnRhbF9hZGRfdWlu
dDMyeDQodmFkZHFfdTMyKHNzZV91MzJbMF0sIHNzZV91MzJbMV0pKTsKLX0KLQotc3RhdGljIElO
TElORSB1bnNpZ25lZCBpbnQgdnB4X21zZTE2eGhfbmVvbihjb25zdCB1bnNpZ25lZCBjaGFyICpz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdW5zaWduZWQgY2hhciAqcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIGludCBoKSB7Ci0gIHVpbnQzMng0X3Qg
c3NlX3UzMlsyXSA9IHsgdmR1cHFfbl91MzIoMCksIHZkdXBxX25fdTMyKDApIH07Ci0KLSAgaW50
IGkgPSBoOwotICBkbyB7Ci0gICAgdWludDh4MTZfdCBzLCByLCBkaWZmOwotICAgIHVpbnQxNng4
X3Qgc3NlMCwgc3NlMTsKLQotICAgIHMgPSB2bGQxcV91OChzcmNfcHRyKTsKLSAgICBzcmNfcHRy
ICs9IHNyY19zdHJpZGU7Ci0gICAgciA9IHZsZDFxX3U4KHJlZl9wdHIpOwotICAgIHJlZl9wdHIg
Kz0gcmVmX3N0cmlkZTsKKyAgICBxMTF1MTYgPSB2c3VibF91OCh2Z2V0X2xvd191OChxMHU4KSwg
dmdldF9sb3dfdTgocTJ1OCkpOworICAgIHExMnUxNiA9IHZzdWJsX3U4KHZnZXRfaGlnaF91OChx
MHU4KSwgdmdldF9oaWdoX3U4KHEydTgpKTsKKyAgICBxMTN1MTYgPSB2c3VibF91OCh2Z2V0X2xv
d191OChxMXU4KSwgdmdldF9sb3dfdTgocTN1OCkpOworICAgIHExNHUxNiA9IHZzdWJsX3U4KHZn
ZXRfaGlnaF91OChxMXU4KSwgdmdldF9oaWdoX3U4KHEzdTgpKTsKKworICAgIGQyMnMxNiA9IHZy
ZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNihxMTF1MTYpKTsKKyAgICBkMjNzMTYgPSB2
cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2hpZ2hfdTE2KHExMXUxNikpOworICAgIHE3czMyID0g
dm1sYWxfczE2KHE3czMyLCBkMjJzMTYsIGQyMnMxNik7CisgICAgcThzMzIgPSB2bWxhbF9zMTYo
cThzMzIsIGQyM3MxNiwgZDIzczE2KTsKKworICAgIGQyNHMxNiA9IHZyZWludGVycHJldF9zMTZf
dTE2KHZnZXRfbG93X3UxNihxMTJ1MTYpKTsKKyAgICBkMjVzMTYgPSB2cmVpbnRlcnByZXRfczE2
X3UxNih2Z2V0X2hpZ2hfdTE2KHExMnUxNikpOworICAgIHE5czMyID0gdm1sYWxfczE2KHE5czMy
LCBkMjRzMTYsIGQyNHMxNik7CisgICAgcTEwczMyID0gdm1sYWxfczE2KHExMHMzMiwgZDI1czE2
LCBkMjVzMTYpOworCisgICAgZDI2czE2ID0gdnJlaW50ZXJwcmV0X3MxNl91MTYodmdldF9sb3df
dTE2KHExM3UxNikpOworICAgIGQyN3MxNiA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfaGln
aF91MTYocTEzdTE2KSk7CisgICAgcTdzMzIgPSB2bWxhbF9zMTYocTdzMzIsIGQyNnMxNiwgZDI2
czE2KTsKKyAgICBxOHMzMiA9IHZtbGFsX3MxNihxOHMzMiwgZDI3czE2LCBkMjdzMTYpOworCisg
ICAgZDI4czE2ID0gdnJlaW50ZXJwcmV0X3MxNl91MTYodmdldF9sb3dfdTE2KHExNHUxNikpOwor
ICAgIGQyOXMxNiA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfaGlnaF91MTYocTE0dTE2KSk7
CisgICAgcTlzMzIgPSB2bWxhbF9zMTYocTlzMzIsIGQyOHMxNiwgZDI4czE2KTsKKyAgICBxMTBz
MzIgPSB2bWxhbF9zMTYocTEwczMyLCBkMjlzMTYsIGQyOXMxNik7CisgIH0KIAotICAgIGRpZmYg
PSB2YWJkcV91OChzLCByKTsKKyAgcTdzMzIgPSB2YWRkcV9zMzIocTdzMzIsIHE4czMyKTsKKyAg
cTlzMzIgPSB2YWRkcV9zMzIocTlzMzIsIHExMHMzMik7CisgIHExMHMzMiA9IHZhZGRxX3MzMihx
N3MzMiwgcTlzMzIpOwogCi0gICAgc3NlMCA9IHZtdWxsX3U4KHZnZXRfbG93X3U4KGRpZmYpLCB2
Z2V0X2xvd191OChkaWZmKSk7Ci0gICAgc3NlX3UzMlswXSA9IHZwYWRhbHFfdTE2KHNzZV91MzJb
MF0sIHNzZTApOwotICAgIHNzZTEgPSB2bXVsbF91OCh2Z2V0X2hpZ2hfdTgoZGlmZiksIHZnZXRf
aGlnaF91OChkaWZmKSk7Ci0gICAgc3NlX3UzMlsxXSA9IHZwYWRhbHFfdTE2KHNzZV91MzJbMV0s
IHNzZTEpOwotICB9IHdoaWxlICgtLWkgIT0gMCk7CisgIHExczY0ID0gdnBhZGRscV9zMzIocTEw
czMyKTsKKyAgZDBzNjQgPSB2YWRkX3M2NCh2Z2V0X2xvd19zNjQocTFzNjQpLCB2Z2V0X2hpZ2hf
czY0KHExczY0KSk7CiAKLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQzMng0KHZhZGRxX3Uz
Mihzc2VfdTMyWzBdLCBzc2VfdTMyWzFdKSk7CisgIHZzdDFfbGFuZV91MzIoKHVpbnQzMl90ICop
c3NlLCB2cmVpbnRlcnByZXRfdTMyX3M2NChkMHM2NCksIDApOworICByZXR1cm4gdmdldF9sYW5l
X3UzMih2cmVpbnRlcnByZXRfdTMyX3M2NChkMHM2NCksIDApOwogfQogCiB1bnNpZ25lZCBpbnQg
dnB4X2dldDR4NHNzZV9jc19uZW9uKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNp
Z25lZCBjaGFyICpyZWZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSkgewotICB1aW50OHg4X3Qgc1syXSwgclsyXTsKLSAgdWludDE2eDhfdCBh
YnNfZGlmZlsyXTsKLSAgdWludDMyeDRfdCBzc2U7Ci0KLSAgc1swXSA9IGxvYWRfdTgoc3JjX3B0
ciwgc3JjX3N0cmlkZSk7Ci0gIHJbMF0gPSBsb2FkX3U4KHJlZl9wdHIsIHJlZl9zdHJpZGUpOwot
ICBzcmNfcHRyICs9IDIgKiBzcmNfc3RyaWRlOwotICByZWZfcHRyICs9IDIgKiByZWZfc3RyaWRl
OwotICBzWzFdID0gbG9hZF91OChzcmNfcHRyLCBzcmNfc3RyaWRlKTsKLSAgclsxXSA9IGxvYWRf
dTgocmVmX3B0ciwgcmVmX3N0cmlkZSk7Ci0KLSAgYWJzX2RpZmZbMF0gPSB2YWJkbF91OChzWzBd
LCByWzBdKTsKLSAgYWJzX2RpZmZbMV0gPSB2YWJkbF91OChzWzFdLCByWzFdKTsKLQotICBzc2Ug
PSB2bXVsbF91MTYodmdldF9sb3dfdTE2KGFic19kaWZmWzBdKSwgdmdldF9sb3dfdTE2KGFic19k
aWZmWzBdKSk7Ci0gIHNzZSA9IHZtbGFsX3UxNihzc2UsIHZnZXRfaGlnaF91MTYoYWJzX2RpZmZb
MF0pLCB2Z2V0X2hpZ2hfdTE2KGFic19kaWZmWzBdKSk7Ci0gIHNzZSA9IHZtbGFsX3UxNihzc2Us
IHZnZXRfbG93X3UxNihhYnNfZGlmZlsxXSksIHZnZXRfbG93X3UxNihhYnNfZGlmZlsxXSkpOwot
ICBzc2UgPSB2bWxhbF91MTYoc3NlLCB2Z2V0X2hpZ2hfdTE2KGFic19kaWZmWzFdKSwgdmdldF9o
aWdoX3UxNihhYnNfZGlmZlsxXSkpOwotCi0gIHJldHVybiBob3Jpem9udGFsX2FkZF91aW50MzJ4
NChzc2UpOworICBpbnQxNng0X3QgZDIyczE2LCBkMjRzMTYsIGQyNnMxNiwgZDI4czE2OworICBp
bnQ2NHgxX3QgZDBzNjQ7CisgIHVpbnQ4eDhfdCBkMHU4LCBkMXU4LCBkMnU4LCBkM3U4LCBkNHU4
LCBkNXU4LCBkNnU4LCBkN3U4OworICBpbnQzMng0X3QgcTdzMzIsIHE4czMyLCBxOXMzMiwgcTEw
czMyOworICB1aW50MTZ4OF90IHExMXUxNiwgcTEydTE2LCBxMTN1MTYsIHExNHUxNjsKKyAgaW50
NjR4Ml90IHExczY0OworCisgIGQwdTggPSB2bGQxX3U4KHNyY19wdHIpOworICBzcmNfcHRyICs9
IHNyY19zdHJpZGU7CisgIGQ0dTggPSB2bGQxX3U4KHJlZl9wdHIpOworICByZWZfcHRyICs9IHJl
Zl9zdHJpZGU7CisgIGQxdTggPSB2bGQxX3U4KHNyY19wdHIpOworICBzcmNfcHRyICs9IHNyY19z
dHJpZGU7CisgIGQ1dTggPSB2bGQxX3U4KHJlZl9wdHIpOworICByZWZfcHRyICs9IHJlZl9zdHJp
ZGU7CisgIGQydTggPSB2bGQxX3U4KHNyY19wdHIpOworICBzcmNfcHRyICs9IHNyY19zdHJpZGU7
CisgIGQ2dTggPSB2bGQxX3U4KHJlZl9wdHIpOworICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Cisg
IGQzdTggPSB2bGQxX3U4KHNyY19wdHIpOworICBzcmNfcHRyICs9IHNyY19zdHJpZGU7CisgIGQ3
dTggPSB2bGQxX3U4KHJlZl9wdHIpOworICByZWZfcHRyICs9IHJlZl9zdHJpZGU7CisKKyAgcTEx
dTE2ID0gdnN1YmxfdTgoZDB1OCwgZDR1OCk7CisgIHExMnUxNiA9IHZzdWJsX3U4KGQxdTgsIGQ1
dTgpOworICBxMTN1MTYgPSB2c3VibF91OChkMnU4LCBkNnU4KTsKKyAgcTE0dTE2ID0gdnN1Ymxf
dTgoZDN1OCwgZDd1OCk7CisKKyAgZDIyczE2ID0gdmdldF9sb3dfczE2KHZyZWludGVycHJldHFf
czE2X3UxNihxMTF1MTYpKTsKKyAgZDI0czE2ID0gdmdldF9sb3dfczE2KHZyZWludGVycHJldHFf
czE2X3UxNihxMTJ1MTYpKTsKKyAgZDI2czE2ID0gdmdldF9sb3dfczE2KHZyZWludGVycHJldHFf
czE2X3UxNihxMTN1MTYpKTsKKyAgZDI4czE2ID0gdmdldF9sb3dfczE2KHZyZWludGVycHJldHFf
czE2X3UxNihxMTR1MTYpKTsKKworICBxN3MzMiA9IHZtdWxsX3MxNihkMjJzMTYsIGQyMnMxNik7
CisgIHE4czMyID0gdm11bGxfczE2KGQyNHMxNiwgZDI0czE2KTsKKyAgcTlzMzIgPSB2bXVsbF9z
MTYoZDI2czE2LCBkMjZzMTYpOworICBxMTBzMzIgPSB2bXVsbF9zMTYoZDI4czE2LCBkMjhzMTYp
OworCisgIHE3czMyID0gdmFkZHFfczMyKHE3czMyLCBxOHMzMik7CisgIHE5czMyID0gdmFkZHFf
czMyKHE5czMyLCBxMTBzMzIpOworICBxOXMzMiA9IHZhZGRxX3MzMihxN3MzMiwgcTlzMzIpOwor
CisgIHExczY0ID0gdnBhZGRscV9zMzIocTlzMzIpOworICBkMHM2NCA9IHZhZGRfczY0KHZnZXRf
bG93X3M2NChxMXM2NCksIHZnZXRfaGlnaF9zNjQocTFzNjQpKTsKKworICByZXR1cm4gdmdldF9s
YW5lX3UzMih2cmVpbnRlcnByZXRfdTMyX3M2NChkMHM2NCksIDApOwogfQotCi0jZGVmaW5lIFZQ
WF9NU0VfV1hIX05FT04odywgaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9tc2UjI3cjI3gjI2gjI19uZW9uKCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3QgdW5zaWduZWQg
Y2hhciAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5z
aWduZWQgaW50ICpzc2UpIHsgICAgIFwKLSAgICAqc3NlID0gdnB4X21zZSMjdyMjeGhfbmVvbihz
cmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3RyaWRlLCBoKTsgXAotICAgIHJldHVy
biAqc3NlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIH0KLQotVlBYX01TRV9XWEhfTkVPTig4LCA4KQotVlBYX01TRV9XWEhf
TkVPTig4LCAxNikKLVZQWF9NU0VfV1hIX05FT04oMTYsIDgpCi1WUFhfTVNFX1dYSF9ORU9OKDE2
LCAxNikKLQotI3VuZGVmIFZQWF9NU0VfV1hIX05FT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vdmFyaWFuY2VfbmVvbl9kb3Rwcm9kLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
YXJtL3ZhcmlhbmNlX25lb25fZG90cHJvZC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhYjg0M2U5ZmNhMjUuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJt
L3ZhcmlhbmNlX25lb25fZG90cHJvZC5jCisrKyAvZGV2L251bGwKQEAgLTEsMjk4ICswLDAgQEAK
LS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIxIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFk
ZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQK
LSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhv
cnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0
aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGFybV9uZW9uLmg+Ci0jaW5jbHVkZSA8
YXNzZXJ0Lmg+Ci0KLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgIi4vdnB4
X2NvbmZpZy5oIgotCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0jaW5jbHVkZSAidnB4
X2RzcC9hcm0vbWVtX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS9zdW1fbmVvbi5oIgot
I2luY2x1ZGUgInZweF9wb3J0cy9tZW0uaCIKLQotLy8gUHJvY2VzcyBhIGJsb2NrIG9mIHdpZHRo
IDQgZm91ciByb3dzIGF0IGEgdGltZS4KLXN0YXRpYyBJTkxJTkUgdm9pZCB2YXJpYW5jZV80eGhf
bmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlk
ZSwgaW50IGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCAqc3NlLCBpbnQgKnN1bSkgewotICB1aW50MzJ4NF90IHNyY19zdW0gPSB2ZHVwcV9u
X3UzMigwKTsKLSAgdWludDMyeDRfdCByZWZfc3VtID0gdmR1cHFfbl91MzIoMCk7Ci0gIHVpbnQz
Mng0X3Qgc3NlX3UzMiA9IHZkdXBxX25fdTMyKDApOwotCi0gIGludCBpID0gaDsKLSAgZG8gewot
ICAgIGNvbnN0IHVpbnQ4eDE2X3QgcyA9IGxvYWRfdW5hbGlnbmVkX3U4cShzcmNfcHRyLCBzcmNf
c3RyaWRlKTsKLSAgICBjb25zdCB1aW50OHgxNl90IHIgPSBsb2FkX3VuYWxpZ25lZF91OHEocmVm
X3B0ciwgcmVmX3N0cmlkZSk7Ci0KLSAgICBjb25zdCB1aW50OHgxNl90IGFic19kaWZmID0gdmFi
ZHFfdTgocywgcik7Ci0gICAgc3NlX3UzMiA9IHZkb3RxX3UzMihzc2VfdTMyLCBhYnNfZGlmZiwg
YWJzX2RpZmYpOwotCi0gICAgc3JjX3N1bSA9IHZkb3RxX3UzMihzcmNfc3VtLCBzLCB2ZHVwcV9u
X3U4KDEpKTsKLSAgICByZWZfc3VtID0gdmRvdHFfdTMyKHJlZl9zdW0sIHIsIHZkdXBxX25fdTgo
MSkpOwotCi0gICAgc3JjX3B0ciArPSA0ICogc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IDQg
KiByZWZfc3RyaWRlOwotICAgIGkgLT0gNDsKLSAgfSB3aGlsZSAoaSAhPSAwKTsKLQotICAqc3Vt
ID0gaG9yaXpvbnRhbF9hZGRfaW50MzJ4NCgKLSAgICAgIHZyZWludGVycHJldHFfczMyX3UzMih2
c3VicV91MzIoc3JjX3N1bSwgcmVmX3N1bSkpKTsKLSAgKnNzZSA9IGhvcml6b250YWxfYWRkX3Vp
bnQzMng0KHNzZV91MzIpOwotfQotCi0vLyBQcm9jZXNzIGEgYmxvY2sgb2Ygd2lkdGggOCB0d28g
cm93cyBhdCBhIHRpbWUuCi1zdGF0aWMgSU5MSU5FIHZvaWQgdmFyaWFuY2VfOHhoX25lb25fZG90
cHJvZChjb25zdCB1aW50OF90ICpzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIGludCBo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
KnNzZSwgaW50ICpzdW0pIHsKLSAgdWludDMyeDRfdCBzcmNfc3VtID0gdmR1cHFfbl91MzIoMCk7
Ci0gIHVpbnQzMng0X3QgcmVmX3N1bSA9IHZkdXBxX25fdTMyKDApOwotICB1aW50MzJ4NF90IHNz
ZV91MzIgPSB2ZHVwcV9uX3UzMigwKTsKLQotICBpbnQgaSA9IGg7Ci0gIGRvIHsKLSAgICBjb25z
dCB1aW50OHgxNl90IHMgPQotICAgICAgICB2Y29tYmluZV91OCh2bGQxX3U4KHNyY19wdHIpLCB2
bGQxX3U4KHNyY19wdHIgKyBzcmNfc3RyaWRlKSk7Ci0gICAgY29uc3QgdWludDh4MTZfdCByID0K
LSAgICAgICAgdmNvbWJpbmVfdTgodmxkMV91OChyZWZfcHRyKSwgdmxkMV91OChyZWZfcHRyICsg
cmVmX3N0cmlkZSkpOwotCi0gICAgY29uc3QgdWludDh4MTZfdCBhYnNfZGlmZiA9IHZhYmRxX3U4
KHMsIHIpOwotICAgIHNzZV91MzIgPSB2ZG90cV91MzIoc3NlX3UzMiwgYWJzX2RpZmYsIGFic19k
aWZmKTsKLQotICAgIHNyY19zdW0gPSB2ZG90cV91MzIoc3JjX3N1bSwgcywgdmR1cHFfbl91OCgx
KSk7Ci0gICAgcmVmX3N1bSA9IHZkb3RxX3UzMihyZWZfc3VtLCByLCB2ZHVwcV9uX3U4KDEpKTsK
LQotICAgIHNyY19wdHIgKz0gMiAqIHNyY19zdHJpZGU7Ci0gICAgcmVmX3B0ciArPSAyICogcmVm
X3N0cmlkZTsKLSAgICBpIC09IDI7Ci0gIH0gd2hpbGUgKGkgIT0gMCk7Ci0KLSAgKnN1bSA9IGhv
cml6b250YWxfYWRkX2ludDMyeDQoCi0gICAgICB2cmVpbnRlcnByZXRxX3MzMl91MzIodnN1YnFf
dTMyKHNyY19zdW0sIHJlZl9zdW0pKSk7Ci0gICpzc2UgPSBob3Jpem9udGFsX2FkZF91aW50MzJ4
NChzc2VfdTMyKTsKLX0KLQotLy8gUHJvY2VzcyBhIGJsb2NrIG9mIHdpZHRoIDE2IG9uZSByb3cg
YXQgYSB0aW1lLgotc3RhdGljIElOTElORSB2b2lkIHZhcmlhbmNlXzE2eGhfbmVvbl9kb3Rwcm9k
KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
KnNzZSwgaW50ICpzdW0pIHsKLSAgdWludDMyeDRfdCBzcmNfc3VtID0gdmR1cHFfbl91MzIoMCk7
Ci0gIHVpbnQzMng0X3QgcmVmX3N1bSA9IHZkdXBxX25fdTMyKDApOwotICB1aW50MzJ4NF90IHNz
ZV91MzIgPSB2ZHVwcV9uX3UzMigwKTsKLQotICBpbnQgaSA9IGg7Ci0gIGRvIHsKLSAgICBjb25z
dCB1aW50OHgxNl90IHMgPSB2bGQxcV91OChzcmNfcHRyKTsKLSAgICBjb25zdCB1aW50OHgxNl90
IHIgPSB2bGQxcV91OChyZWZfcHRyKTsKLQotICAgIGNvbnN0IHVpbnQ4eDE2X3QgYWJzX2RpZmYg
PSB2YWJkcV91OChzLCByKTsKLSAgICBzc2VfdTMyID0gdmRvdHFfdTMyKHNzZV91MzIsIGFic19k
aWZmLCBhYnNfZGlmZik7Ci0KLSAgICBzcmNfc3VtID0gdmRvdHFfdTMyKHNyY19zdW0sIHMsIHZk
dXBxX25fdTgoMSkpOwotICAgIHJlZl9zdW0gPSB2ZG90cV91MzIocmVmX3N1bSwgciwgdmR1cHFf
bl91OCgxKSk7Ci0KLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcmVmX3B0ciArPSBy
ZWZfc3RyaWRlOwotICB9IHdoaWxlICgtLWkgIT0gMCk7Ci0KLSAgKnN1bSA9IGhvcml6b250YWxf
YWRkX2ludDMyeDQoCi0gICAgICB2cmVpbnRlcnByZXRxX3MzMl91MzIodnN1YnFfdTMyKHNyY19z
dW0sIHJlZl9zdW0pKSk7Ci0gICpzc2UgPSBob3Jpem9udGFsX2FkZF91aW50MzJ4NChzc2VfdTMy
KTsKLX0KLQotLy8gUHJvY2VzcyBhIGJsb2NrIG9mIGFueSBzaXplIHdoZXJlIHRoZSB3aWR0aCBp
cyBkaXZpc2libGUgYnkgMTYuCi1zdGF0aWMgSU5MSU5FIHZvaWQgdmFyaWFuY2VfbGFyZ2VfbmVv
bl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0
cmlkZSwgaW50IHcsIGludCBoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MzJfdCAqc3NlLCBpbnQgKnN1bSkgewotICB1aW50MzJ4NF90IHNyY19z
dW0gPSB2ZHVwcV9uX3UzMigwKTsKLSAgdWludDMyeDRfdCByZWZfc3VtID0gdmR1cHFfbl91MzIo
MCk7Ci0gIHVpbnQzMng0X3Qgc3NlX3UzMiA9IHZkdXBxX25fdTMyKDApOwotCi0gIGludCBpID0g
aDsKLSAgZG8gewotICAgIGludCBqID0gMDsKLSAgICBkbyB7Ci0gICAgICBjb25zdCB1aW50OHgx
Nl90IHMgPSB2bGQxcV91OChzcmNfcHRyICsgaik7Ci0gICAgICBjb25zdCB1aW50OHgxNl90IHIg
PSB2bGQxcV91OChyZWZfcHRyICsgaik7Ci0KLSAgICAgIGNvbnN0IHVpbnQ4eDE2X3QgYWJzX2Rp
ZmYgPSB2YWJkcV91OChzLCByKTsKLSAgICAgIHNzZV91MzIgPSB2ZG90cV91MzIoc3NlX3UzMiwg
YWJzX2RpZmYsIGFic19kaWZmKTsKLQotICAgICAgc3JjX3N1bSA9IHZkb3RxX3UzMihzcmNfc3Vt
LCBzLCB2ZHVwcV9uX3U4KDEpKTsKLSAgICAgIHJlZl9zdW0gPSB2ZG90cV91MzIocmVmX3N1bSwg
ciwgdmR1cHFfbl91OCgxKSk7Ci0KLSAgICAgIGogKz0gMTY7Ci0gICAgfSB3aGlsZSAoaiA8IHcp
OwotCi0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlk
ZTsKLSAgfSB3aGlsZSAoLS1pICE9IDApOwotCi0gICpzdW0gPSBob3Jpem9udGFsX2FkZF9pbnQz
Mng0KAotICAgICAgdnJlaW50ZXJwcmV0cV9zMzJfdTMyKHZzdWJxX3UzMihzcmNfc3VtLCByZWZf
c3VtKSkpOwotICAqc3NlID0gaG9yaXpvbnRhbF9hZGRfdWludDMyeDQoc3NlX3UzMik7Ci19Ci0K
LXN0YXRpYyBJTkxJTkUgdm9pZCB2YXJpYW5jZV8zMnhoX25lb25fZG90cHJvZChjb25zdCB1aW50
OF90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgaCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc3NlLCBpbnQgKnN1bSkgewot
ICB2YXJpYW5jZV9sYXJnZV9uZW9uX2RvdHByb2Qoc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9z
dHJpZGUsIDMyLCBoLCBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW0pOwot
fQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdmFyaWFuY2VfNjR4aF9uZW9uX2RvdHByb2QoY29uc3Qg
dWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnNzZSwgaW50ICpzdW0p
IHsKLSAgdmFyaWFuY2VfbGFyZ2VfbmVvbl9kb3Rwcm9kKHNyYywgc3JjX3N0cmlkZSwgcmVmLCBy
ZWZfc3RyaWRlLCA2NCwgaCwgc3NlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vt
KTsKLX0KLQotdm9pZCB2cHhfZ2V0OHg4dmFyX25lb25fZG90cHJvZChjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqc3NlLCBpbnQgKnN1bSkgewotICB2YXJpYW5j
ZV84eGhfbmVvbl9kb3Rwcm9kKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJp
ZGUsIDgsIHNzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW0pOwotfQotCi12b2lk
IHZweF9nZXQxNngxNnZhcl9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50ICpzc2UsIGludCAqc3VtKSB7Ci0gIHZhcmlhbmNlXzE2eGhf
bmVvbl9kb3Rwcm9kKHNyY19wdHIsIHNyY19zdHJpZGUsIHJlZl9wdHIsIHJlZl9zdHJpZGUsIDE2
LCBzc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bSk7Ci19Ci0KLSNkZWZpbmUg
VkFSSUFOQ0VfV1hIX05FT05fRE9UUFJPRCh3LCBoLCBzaGlmdCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF92YXJpYW5jZSMjdyMjeCMjaCMjX25l
b25fZG90cHJvZCggICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4
X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJp
ZGUsIFwKLSAgICAgIHVuc2lnbmVkIGludCAqc3NlKSB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgc3VtOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICB2YXJpYW5jZV8jI3cjI3hoX25lb25fZG90cHJvZChzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVm
X3N0cmlkZSwgaCwgc3NlLCAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
c3VtKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4g
KnNzZSAtICh1aW50MzJfdCkoKChpbnQ2NF90KXN1bSAqIHN1bSkgPj4gc2hpZnQpOyAgICAgICAg
ICAgICAgICAgIFwKLSAgfQotCi1WQVJJQU5DRV9XWEhfTkVPTl9ET1RQUk9EKDQsIDQsIDQpCi1W
QVJJQU5DRV9XWEhfTkVPTl9ET1RQUk9EKDQsIDgsIDUpCi0KLVZBUklBTkNFX1dYSF9ORU9OX0RP
VFBST0QoOCwgNCwgNSkKLVZBUklBTkNFX1dYSF9ORU9OX0RPVFBST0QoOCwgOCwgNikKLVZBUklB
TkNFX1dYSF9ORU9OX0RPVFBST0QoOCwgMTYsIDcpCi0KLVZBUklBTkNFX1dYSF9ORU9OX0RPVFBS
T0QoMTYsIDgsIDcpCi1WQVJJQU5DRV9XWEhfTkVPTl9ET1RQUk9EKDE2LCAxNiwgOCkKLVZBUklB
TkNFX1dYSF9ORU9OX0RPVFBST0QoMTYsIDMyLCA5KQotCi1WQVJJQU5DRV9XWEhfTkVPTl9ET1RQ
Uk9EKDMyLCAxNiwgOSkKLVZBUklBTkNFX1dYSF9ORU9OX0RPVFBST0QoMzIsIDMyLCAxMCkKLVZB
UklBTkNFX1dYSF9ORU9OX0RPVFBST0QoMzIsIDY0LCAxMSkKLQotVkFSSUFOQ0VfV1hIX05FT05f
RE9UUFJPRCg2NCwgMzIsIDExKQotVkFSSUFOQ0VfV1hIX05FT05fRE9UUFJPRCg2NCwgNjQsIDEy
KQotCi0jdW5kZWYgVkFSSUFOQ0VfV1hIX05FT05fRE9UUFJPRAotCi1zdGF0aWMgSU5MSU5FIHVu
c2lnbmVkIGludCB2cHhfbXNlOHhoX25lb25fZG90cHJvZChjb25zdCB1bnNpZ25lZCBjaGFyICpz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpyZWZfcHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIGlu
dCBoKSB7Ci0gIHVpbnQzMngyX3Qgc3NlX3UzMlsyXSA9IHsgdmR1cF9uX3UzMigwKSwgdmR1cF9u
X3UzMigwKSB9OwotCi0gIGludCBpID0gaCAvIDI7Ci0gIGRvIHsKLSAgICB1aW50OHg4X3QgczAs
IHMxLCByMCwgcjEsIGRpZmYwLCBkaWZmMTsKLQotICAgIHMwID0gdmxkMV91OChzcmNfcHRyKTsK
LSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgczEgPSB2bGQxX3U4KHNyY19wdHIpOwot
ICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByMCA9IHZsZDFfdTgocmVmX3B0cik7Ci0g
ICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAgIHIxID0gdmxkMV91OChyZWZfcHRyKTsKLSAg
ICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0KLSAgICBkaWZmMCA9IHZhYmRfdTgoczAsIHIwKTsK
LSAgICBkaWZmMSA9IHZhYmRfdTgoczEsIHIxKTsKLQotICAgIHNzZV91MzJbMF0gPSB2ZG90X3Uz
Mihzc2VfdTMyWzBdLCBkaWZmMCwgZGlmZjApOwotICAgIHNzZV91MzJbMV0gPSB2ZG90X3UzMihz
c2VfdTMyWzFdLCBkaWZmMSwgZGlmZjEpOwotICB9IHdoaWxlICgtLWkgIT0gMCk7Ci0KLSAgcmV0
dXJuIGhvcml6b250YWxfYWRkX3VpbnQzMngyKHZhZGRfdTMyKHNzZV91MzJbMF0sIHNzZV91MzJb
MV0pKTsKLX0KLQotc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgdnB4X21zZTE2eGhfbmVvbl9k
b3Rwcm9kKAotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1bnNpZ25lZCBjaGFyICpyZWZfcHRyLAotICAgIGludCByZWZfc3RyaWRlLCBpbnQg
aCkgewotICB1aW50MzJ4NF90IHNzZV91MzJbMl0gPSB7IHZkdXBxX25fdTMyKDApLCB2ZHVwcV9u
X3UzMigwKSB9OwotCi0gIGludCBpID0gaCAvIDI7Ci0gIGRvIHsKLSAgICB1aW50OHgxNl90IHMw
LCBzMSwgcjAsIHIxLCBkaWZmMCwgZGlmZjE7Ci0KLSAgICBzMCA9IHZsZDFxX3U4KHNyY19wdHIp
OwotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICBzMSA9IHZsZDFxX3U4KHNyY19wdHIp
OwotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByMCA9IHZsZDFxX3U4KHJlZl9wdHIp
OwotICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICByMSA9IHZsZDFxX3U4KHJlZl9wdHIp
OwotICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKLQotICAgIGRpZmYwID0gdmFiZHFfdTgoczAs
IHIwKTsKLSAgICBkaWZmMSA9IHZhYmRxX3U4KHMxLCByMSk7Ci0KLSAgICBzc2VfdTMyWzBdID0g
dmRvdHFfdTMyKHNzZV91MzJbMF0sIGRpZmYwLCBkaWZmMCk7Ci0gICAgc3NlX3UzMlsxXSA9IHZk
b3RxX3UzMihzc2VfdTMyWzFdLCBkaWZmMSwgZGlmZjEpOwotICB9IHdoaWxlICgtLWkgIT0gMCk7
Ci0KLSAgcmV0dXJuIGhvcml6b250YWxfYWRkX3VpbnQzMng0KHZhZGRxX3UzMihzc2VfdTMyWzBd
LCBzc2VfdTMyWzFdKSk7Ci19Ci0KLXVuc2lnbmVkIGludCB2cHhfZ2V0NHg0c3NlX2NzX25lb25f
ZG90cHJvZChjb25zdCB1bnNpZ25lZCBjaGFyICpzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlZl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJp
ZGUpIHsKLSAgdWludDh4MTZfdCBzID0gbG9hZF91bmFsaWduZWRfdThxKHNyY19wdHIsIHNyY19z
dHJpZGUpOwotICB1aW50OHgxNl90IHIgPSBsb2FkX3VuYWxpZ25lZF91OHEocmVmX3B0ciwgcmVm
X3N0cmlkZSk7Ci0KLSAgdWludDh4MTZfdCBhYnNfZGlmZiA9IHZhYmRxX3U4KHMsIHIpOwotCi0g
IHVpbnQzMng0X3Qgc3NlID0gdmRvdHFfdTMyKHZkdXBxX25fdTMyKDApLCBhYnNfZGlmZiwgYWJz
X2RpZmYpOwotCi0gIHJldHVybiBob3Jpem9udGFsX2FkZF91aW50MzJ4NChzc2UpOwotfQotCi0j
ZGVmaW5lIFZQWF9NU0VfV1hIX05FT05fRE9UUFJPRCh3LCBoKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICB1bnNpZ25lZCBpbnQgdnB4X21zZSMjdyMjeCMjaCMjX25lb25f
ZG90cHJvZCggICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVuc2lnbmVk
IGNoYXIgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWdu
ZWQgaW50ICpzc2UpIHsgXAotICAgICpzc2UgPSB2cHhfbXNlIyN3IyN4aF9uZW9uX2RvdHByb2Qo
c3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZl9zdHJpZGUsIGgpOyAgICAgICAgICAgICAgICAgICBcCi0g
ICAgcmV0dXJuICpzc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICB9Ci0KLVZQWF9NU0VfV1hIX05FT05fRE9UUFJPRCg4LCA4KQot
VlBYX01TRV9XWEhfTkVPTl9ET1RQUk9EKDgsIDE2KQotVlBYX01TRV9XWEhfTkVPTl9ET1RQUk9E
KDE2LCA4KQotVlBYX01TRV9XWEhfTkVPTl9ET1RQUk9EKDE2LCAxNikKLQotI3VuZGVmIFZQWF9N
U0VfV1hIX05FT05fRE9UUFJPRApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92
cHhfY29udm9sdmU4X25lb24uYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZl
OF9uZW9uLmMKaW5kZXggOGI4OTg2MmJhOTQ4Li4wOGFlMTdkYmFiZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uLmMKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb24uYwpAQCAtMTQsMTAgKzE0LDggQEAKICNp
bmNsdWRlICIuL3ZweF9jb25maWcuaCIKICNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgogI2lu
Y2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9u
LmgiCiAjaW5jbHVkZSAidnB4X2RzcC9hcm0vdHJhbnNwb3NlX25lb24uaCIKICNpbmNsdWRlICJ2
cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL3ZweF9m
aWx0ZXIuaCIKICNpbmNsdWRlICJ2cHhfcG9ydHMvbWVtLmgiCiAKIC8vIE5vdGU6CkBAIC0zMiw2
ICszMCwyOCBAQAogLy8gaW5zdHJ1Y3Rpb25zLiBUaGlzIG9wdGltaXphdGlvbiBpcyBtdWNoIGZh
c3RlciBpbiBzcGVlZCB1bml0IHRlc3QsIGJ1dCBzbG93ZWQKIC8vIGRvd24gdGhlIHdob2xlIGRl
Y29kZXIgYnkgNSUuCiAKK3N0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV91OF84eDgodWludDhfdCAq
cywgY29uc3QgcHRyZGlmZl90IHAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4eDhfdCBzMCwgY29uc3QgdWludDh4OF90IHMxLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OHg4X3QgczIsIGNvbnN0IHVpbnQ4eDhfdCBzMywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4OF90IHM0LCBjb25zdCB1
aW50OHg4X3QgczUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
eDhfdCBzNiwgY29uc3QgdWludDh4OF90IHM3KSB7CisgIHZzdDFfdTgocywgczApOworICBzICs9
IHA7CisgIHZzdDFfdTgocywgczEpOworICBzICs9IHA7CisgIHZzdDFfdTgocywgczIpOworICBz
ICs9IHA7CisgIHZzdDFfdTgocywgczMpOworICBzICs9IHA7CisgIHZzdDFfdTgocywgczQpOwor
ICBzICs9IHA7CisgIHZzdDFfdTgocywgczUpOworICBzICs9IHA7CisgIHZzdDFfdTgocywgczYp
OworICBzICs9IHA7CisgIHZzdDFfdTgocywgczcpOworfQorCiB2b2lkIHZweF9jb252b2x2ZThf
aG9yaXpfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBwdHJkaWZmX3QgZHN0X3N0
cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCAq
ZmlsdGVyLCBpbnQgeDBfcTQsCkBAIC00MCw4ICs2MCw4IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9o
b3Jpel9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgIGNv
bnN0IGludDE2eDhfdCBmaWx0ZXJzID0gdmxkMXFfczE2KGZpbHRlclt4MF9xNF0pOwogICB1aW50
OHg4X3QgdDAsIHQxLCB0MiwgdDM7CiAKLSAgYXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0ID09IDAp
OwotICBhc3NlcnQoZHN0X3N0cmlkZSAlIDQgPT0gMCk7CisgIGFzc2VydCghKChpbnRwdHJfdClk
c3QgJiAzKSk7CisgIGFzc2VydCghKGRzdF9zdHJpZGUgJiAzKSk7CiAgIGFzc2VydCh4X3N0ZXBf
cTQgPT0gMTYpOwogCiAgICh2b2lkKXhfc3RlcF9xNDsKQEAgLTUyLDIzICs3MiwyOSBAQCB2b2lk
IHZweF9jb252b2x2ZThfaG9yaXpfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAogCiAgIGlmIChoID09IDQpIHsKICAgICB1aW50OHg4X3QgZDAxLCBkMjM7Ci0g
ICAgaW50MTZ4NF90IHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAs
IGQwLCBkMSwgZDIsIGQzOworICAgIGludDE2eDRfdCBmaWx0ZXIzLCBmaWx0ZXI0LCBzMCwgczEs
IHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgczEwLCBkMCwKKyAgICAgICAgZDEsIGQy
LCBkMzsKKyAgICBpbnQxNng4X3QgdHQwLCB0dDEsIHR0MiwgdHQzOwogCiAgICAgX19idWlsdGlu
X3ByZWZldGNoKHNyYyArIDAgKiBzcmNfc3RyaWRlKTsKICAgICBfX2J1aWx0aW5fcHJlZmV0Y2go
c3JjICsgMSAqIHNyY19zdHJpZGUpOwogICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyAyICog
c3JjX3N0cmlkZSk7CiAgICAgX19idWlsdGluX3ByZWZldGNoKHNyYyArIDMgKiBzcmNfc3RyaWRl
KTsKLQorICAgIGZpbHRlcjMgPSB2ZHVwX2xhbmVfczE2KHZnZXRfbG93X3MxNihmaWx0ZXJzKSwg
Myk7CisgICAgZmlsdGVyNCA9IHZkdXBfbGFuZV9zMTYodmdldF9oaWdoX3MxNihmaWx0ZXJzKSwg
MCk7CiAgICAgbG9hZF91OF84eDQoc3JjLCBzcmNfc3RyaWRlLCAmdDAsICZ0MSwgJnQyLCAmdDMp
OwogICAgIHRyYW5zcG9zZV91OF84eDQoJnQwLCAmdDEsICZ0MiwgJnQzKTsKLSAgICBzMCA9IHZn
ZXRfbG93X3MxNih2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDApKSk7Ci0gICAgczEg
PSB2Z2V0X2xvd19zMTYodnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQxKSkpOwotICAg
IHMyID0gdmdldF9sb3dfczE2KHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MikpKTsK
LSAgICBzMyA9IHZnZXRfbG93X3MxNih2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDMp
KSk7Ci0gICAgczQgPSB2Z2V0X2hpZ2hfczE2KHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91
OCh0MCkpKTsKLSAgICBzNSA9IHZnZXRfaGlnaF9zMTYodnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZt
b3ZsX3U4KHQxKSkpOwotICAgIHM2ID0gdmdldF9oaWdoX3MxNih2cmVpbnRlcnByZXRxX3MxNl91
MTYodm1vdmxfdTgodDIpKSk7Ci0KKyAgICB0dDAgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1v
dmxfdTgodDApKTsKKyAgICB0dDEgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDEp
KTsKKyAgICB0dDIgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDIpKTsKKyAgICB0
dDMgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDMpKTsKKyAgICBzMCA9IHZnZXRf
bG93X3MxNih0dDApOworICAgIHMxID0gdmdldF9sb3dfczE2KHR0MSk7CisgICAgczIgPSB2Z2V0
X2xvd19zMTYodHQyKTsKKyAgICBzMyA9IHZnZXRfbG93X3MxNih0dDMpOworICAgIHM0ID0gdmdl
dF9oaWdoX3MxNih0dDApOworICAgIHM1ID0gdmdldF9oaWdoX3MxNih0dDEpOworICAgIHM2ID0g
dmdldF9oaWdoX3MxNih0dDIpOwogICAgIF9fYnVpbHRpbl9wcmVmZXRjaChkc3QgKyAwICogZHN0
X3N0cmlkZSk7CiAgICAgX19idWlsdGluX3ByZWZldGNoKGRzdCArIDEgKiBkc3Rfc3RyaWRlKTsK
ICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goZHN0ICsgMiAqIGRzdF9zdHJpZGUpOwpAQCAtNzgsMjIg
KzEwNCwzNiBAQCB2b2lkIHZweF9jb252b2x2ZThfaG9yaXpfbmVvbihjb25zdCB1aW50OF90ICpz
cmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgIGRvIHsKICAgICAgIGxvYWRfdThfOHg0KHNy
Yywgc3JjX3N0cmlkZSwgJnQwLCAmdDEsICZ0MiwgJnQzKTsKICAgICAgIHRyYW5zcG9zZV91OF84
eDQoJnQwLCAmdDEsICZ0MiwgJnQzKTsKLSAgICAgIHM3ID0gdmdldF9sb3dfczE2KHZyZWludGVy
cHJldHFfczE2X3UxNih2bW92bF91OCh0MCkpKTsKLSAgICAgIHM4ID0gdmdldF9sb3dfczE2KHZy
ZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MSkpKTsKLSAgICAgIHM5ID0gdmdldF9sb3df
czE2KHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MikpKTsKLSAgICAgIHMxMCA9IHZn
ZXRfbG93X3MxNih2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDMpKSk7Ci0KLSAgICAg
IGQwID0gY29udm9sdmU4XzQoczAsIHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBmaWx0ZXJz
KTsKLSAgICAgIGQxID0gY29udm9sdmU4XzQoczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4
LCBmaWx0ZXJzKTsKLSAgICAgIGQyID0gY29udm9sdmU4XzQoczIsIHMzLCBzNCwgczUsIHM2LCBz
NywgczgsIHM5LCBmaWx0ZXJzKTsKLSAgICAgIGQzID0gY29udm9sdmU4XzQoczMsIHM0LCBzNSwg
czYsIHM3LCBzOCwgczksIHMxMCwgZmlsdGVycyk7Ci0gICAgICBkMDEgPSB2cXJzaHJ1bl9uX3Mx
Nih2Y29tYmluZV9zMTYoZDAsIGQxKSwgRklMVEVSX0JJVFMpOwotICAgICAgZDIzID0gdnFyc2hy
dW5fbl9zMTYodmNvbWJpbmVfczE2KGQyLCBkMyksIEZJTFRFUl9CSVRTKTsKLQorICAgICAgdHQw
ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQwKSk7CisgICAgICB0dDEgPSB2cmVp
bnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDEpKTsKKyAgICAgIHR0MiA9IHZyZWludGVycHJl
dHFfczE2X3UxNih2bW92bF91OCh0MikpOworICAgICAgdHQzID0gdnJlaW50ZXJwcmV0cV9zMTZf
dTE2KHZtb3ZsX3U4KHQzKSk7CisgICAgICBzNyA9IHZnZXRfbG93X3MxNih0dDApOworICAgICAg
czggPSB2Z2V0X2xvd19zMTYodHQxKTsKKyAgICAgIHM5ID0gdmdldF9sb3dfczE2KHR0Mik7Cisg
ICAgICBzMTAgPSB2Z2V0X2xvd19zMTYodHQzKTsKKworICAgICAgZDAgPSBjb252b2x2ZThfNChz
MCwgczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAg
ICAgICAgICAgICAgICAgIGZpbHRlcjQpOworICAgICAgZDEgPSBjb252b2x2ZThfNChzMSwgczIs
IHMzLCBzNCwgczUsIHM2LCBzNywgczgsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAg
ICAgICAgICAgIGZpbHRlcjQpOworICAgICAgZDIgPSBjb252b2x2ZThfNChzMiwgczMsIHM0LCBz
NSwgczYsIHM3LCBzOCwgczksIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHRlcjQpOworICAgICAgZDMgPSBjb252b2x2ZThfNChzMywgczQsIHM1LCBzNiwgczcs
IHM4LCBzOSwgczEwLCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICBm
aWx0ZXI0KTsKKworICAgICAgZDAxID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KGQwLCBk
MSksIDcpOworICAgICAgZDIzID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KGQyLCBkMyks
IDcpOwogICAgICAgdHJhbnNwb3NlX3U4XzR4NCgmZDAxLCAmZDIzKTsKIAotICAgICAgc3RvcmVf
dTgoZHN0ICsgMCAqIGRzdF9zdHJpZGUsIDIgKiBkc3Rfc3RyaWRlLCBkMDEpOwotICAgICAgc3Rv
cmVfdTgoZHN0ICsgMSAqIGRzdF9zdHJpZGUsIDIgKiBkc3Rfc3RyaWRlLCBkMjMpOworICAgICAg
dnN0MV9sYW5lX3UzMigodWludDMyX3QgKikoZHN0ICsgMCAqIGRzdF9zdHJpZGUpLAorICAgICAg
ICAgICAgICAgICAgICB2cmVpbnRlcnByZXRfdTMyX3U4KGQwMSksIDApOworICAgICAgdnN0MV9s
YW5lX3UzMigodWludDMyX3QgKikoZHN0ICsgMSAqIGRzdF9zdHJpZGUpLAorICAgICAgICAgICAg
ICAgICAgICB2cmVpbnRlcnByZXRfdTMyX3U4KGQyMyksIDApOworICAgICAgdnN0MV9sYW5lX3Uz
MigodWludDMyX3QgKikoZHN0ICsgMiAqIGRzdF9zdHJpZGUpLAorICAgICAgICAgICAgICAgICAg
ICB2cmVpbnRlcnByZXRfdTMyX3U4KGQwMSksIDEpOworICAgICAgdnN0MV9sYW5lX3UzMigodWlu
dDMyX3QgKikoZHN0ICsgMyAqIGRzdF9zdHJpZGUpLAorICAgICAgICAgICAgICAgICAgICB2cmVp
bnRlcnByZXRfdTMyX3U4KGQyMyksIDEpOwogCiAgICAgICBzMCA9IHM0OwogICAgICAgczEgPSBz
NTsKQEAgLTEwNSwxMSArMTQ1LDEzIEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9ob3Jpel9uZW9uKGNv
bnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICBzcmMgKz0gNDsK
ICAgICAgIGRzdCArPSA0OwogICAgICAgdyAtPSA0OwotICAgIH0gd2hpbGUgKHcgIT0gMCk7Cisg
ICAgfSB3aGlsZSAodyA+IDApOwogICB9IGVsc2UgeworICAgIGNvbnN0IGludDE2eDhfdCBmaWx0
ZXIzID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KGZpbHRlcnMpLCAzKTsKKyAgICBjb25z
dCBpbnQxNng4X3QgZmlsdGVyNCA9IHZkdXBxX2xhbmVfczE2KHZnZXRfaGlnaF9zMTYoZmlsdGVy
cyksIDApOwogICAgIGludCB3aWR0aDsKICAgICBjb25zdCB1aW50OF90ICpzOwotICAgIHVpbnQ4
eDhfdCB0NCwgdDUsIHQ2LCB0NywgZDA0LCBkMTUsIGQyNiwgZDM3OworICAgIHVpbnQ4eDhfdCB0
NCwgdDUsIHQ2LCB0NzsKICAgICBpbnQxNng4X3QgczAsIHMxLCBzMiwgczMsIHM0LCBzNSwgczYs
IHM3LCBzOCwgczksIHMxMDsKIAogICAgIGlmICh3ID09IDQpIHsKQEAgLTE0OSwyNCArMTkxLDM2
IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9ob3Jpel9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyA1ICog
c3JjX3N0cmlkZSk7CiAgICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyA2ICogc3JjX3N0
cmlkZSk7CiAgICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyA3ICogc3JjX3N0cmlkZSk7
Ci0gICAgICAgIGQwNCA9IGNvbnZvbHZlOF84KHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBz
NywgZmlsdGVycyk7Ci0gICAgICAgIGQxNSA9IGNvbnZvbHZlOF84KHMxLCBzMiwgczMsIHM0LCBz
NSwgczYsIHM3LCBzOCwgZmlsdGVycyk7Ci0gICAgICAgIGQyNiA9IGNvbnZvbHZlOF84KHMyLCBz
MywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgZmlsdGVycyk7Ci0gICAgICAgIGQzNyA9IGNvbnZv
bHZlOF84KHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIGZpbHRlcnMpOwotCi0gICAg
ICAgIHRyYW5zcG9zZV91OF84eDQoJmQwNCwgJmQxNSwgJmQyNiwgJmQzNyk7Ci0KLSAgICAgICAg
c3RvcmVfdTgoZHN0ICsgMCAqIGRzdF9zdHJpZGUsIDQgKiBkc3Rfc3RyaWRlLCBkMDQpOwotICAg
ICAgICBzdG9yZV91OChkc3QgKyAxICogZHN0X3N0cmlkZSwgNCAqIGRzdF9zdHJpZGUsIGQxNSk7
Ci0gICAgICAgIHN0b3JlX3U4KGRzdCArIDIgKiBkc3Rfc3RyaWRlLCA0ICogZHN0X3N0cmlkZSwg
ZDI2KTsKLSAgICAgICAgc3RvcmVfdTgoZHN0ICsgMyAqIGRzdF9zdHJpZGUsIDQgKiBkc3Rfc3Ry
aWRlLCBkMzcpOwotCi0gICAgICAgIGRzdCArPSA4ICogZHN0X3N0cmlkZTsKKyAgICAgICAgdDAg
PSBjb252b2x2ZThfOChzMCwgczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIGZpbHRlcnMsIGZp
bHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICAgIHQxID0g
Y29udm9sdmU4XzgoczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBmaWx0ZXJzLCBmaWx0
ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjQpOworICAgICAgICB0MiA9IGNv
bnZvbHZlOF84KHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgZmlsdGVycywgZmlsdGVy
MywKKyAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI0KTsKKyAgICAgICAgdDMgPSBjb252
b2x2ZThfOChzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgczEwLCBmaWx0ZXJzLCBmaWx0ZXIz
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjQpOworCisgICAgICAgIHRyYW5zcG9z
ZV91OF84eDQoJnQwLCAmdDEsICZ0MiwgJnQzKTsKKyAgICAgICAgdnN0MV9sYW5lX3UzMigodWlu
dDMyX3QgKilkc3QsIHZyZWludGVycHJldF91MzJfdTgodDApLCAwKTsKKyAgICAgICAgZHN0ICs9
IGRzdF9zdHJpZGU7CisgICAgICAgIHZzdDFfbGFuZV91MzIoKHVpbnQzMl90ICopZHN0LCB2cmVp
bnRlcnByZXRfdTMyX3U4KHQxKSwgMCk7CisgICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOworICAg
ICAgICB2c3QxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgdnJlaW50ZXJwcmV0X3UzMl91OCh0
MiksIDApOworICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAgICAgICAgdnN0MV9sYW5lX3Uz
MigodWludDMyX3QgKilkc3QsIHZyZWludGVycHJldF91MzJfdTgodDMpLCAwKTsKKyAgICAgICAg
ZHN0ICs9IGRzdF9zdHJpZGU7CisgICAgICAgIHZzdDFfbGFuZV91MzIoKHVpbnQzMl90ICopZHN0
LCB2cmVpbnRlcnByZXRfdTMyX3U4KHQwKSwgMSk7CisgICAgICAgIGRzdCArPSBkc3Rfc3RyaWRl
OworICAgICAgICB2c3QxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgdnJlaW50ZXJwcmV0X3Uz
Ml91OCh0MSksIDEpOworICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAgICAgICAgdnN0MV9s
YW5lX3UzMigodWludDMyX3QgKilkc3QsIHZyZWludGVycHJldF91MzJfdTgodDIpLCAxKTsKKyAg
ICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7CisgICAgICAgIHZzdDFfbGFuZV91MzIoKHVpbnQzMl90
ICopZHN0LCB2cmVpbnRlcnByZXRfdTMyX3U4KHQzKSwgMSk7CisgICAgICAgIGRzdCArPSBkc3Rf
c3RyaWRlOwogICAgICAgICBoIC09IDg7CiAgICAgICB9IHdoaWxlIChoID4gMCk7CiAgICAgfSBl
bHNlIHsKICAgICAgIHVpbnQ4X3QgKmQ7Ci0gICAgICB1aW50OHg4X3QgZDAsIGQxLCBkMiwgZDMs
IGQ0LCBkNSwgZDYsIGQ3OwogICAgICAgaW50MTZ4OF90IHMxMSwgczEyLCBzMTMsIHMxNDsKIAog
ICAgICAgZG8gewpAQCAtMjEyLDE4ICsyNjYsMjUgQEAgdm9pZCB2cHhfY29udm9sdmU4X2hvcml6
X25lb24oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAg
ICBzMTMgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDYpKTsKICAgICAgICAgICBz
MTQgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDcpKTsKIAotICAgICAgICAgIGQw
ID0gY29udm9sdmU4XzgoczAsIHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBmaWx0ZXJzKTsK
LSAgICAgICAgICBkMSA9IGNvbnZvbHZlOF84KHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBz
OCwgZmlsdGVycyk7Ci0gICAgICAgICAgZDIgPSBjb252b2x2ZThfOChzMiwgczMsIHM0LCBzNSwg
czYsIHM3LCBzOCwgczksIGZpbHRlcnMpOwotICAgICAgICAgIGQzID0gY29udm9sdmU4XzgoczMs
IHM0LCBzNSwgczYsIHM3LCBzOCwgczksIHMxMCwgZmlsdGVycyk7Ci0gICAgICAgICAgZDQgPSBj
b252b2x2ZThfOChzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgZmlsdGVycyk7Ci0g
ICAgICAgICAgZDUgPSBjb252b2x2ZThfOChzNSwgczYsIHM3LCBzOCwgczksIHMxMCwgczExLCBz
MTIsIGZpbHRlcnMpOwotICAgICAgICAgIGQ2ID0gY29udm9sdmU4XzgoczYsIHM3LCBzOCwgczks
IHMxMCwgczExLCBzMTIsIHMxMywgZmlsdGVycyk7Ci0gICAgICAgICAgZDcgPSBjb252b2x2ZThf
OChzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBzMTMsIHMxNCwgZmlsdGVycyk7Ci0KLSAgICAg
ICAgICB0cmFuc3Bvc2VfdThfOHg4KCZkMCwgJmQxLCAmZDIsICZkMywgJmQ0LCAmZDUsICZkNiwg
JmQ3KTsKKyAgICAgICAgICB0MCA9IGNvbnZvbHZlOF84KHMwLCBzMSwgczIsIHMzLCBzNCwgczUs
IHM2LCBzNywgZmlsdGVycywgZmlsdGVyMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp
bHRlcjQpOworICAgICAgICAgIHQxID0gY29udm9sdmU4XzgoczEsIHMyLCBzMywgczQsIHM1LCBz
NiwgczcsIHM4LCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmlsdGVyNCk7CisgICAgICAgICAgdDIgPSBjb252b2x2ZThfOChzMiwgczMsIHM0LCBzNSwgczYs
IHM3LCBzOCwgczksIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWx0ZXI0KTsKKyAgICAgICAgICB0MyA9IGNvbnZvbHZlOF84KHMzLCBzNCwgczUsIHM2LCBz
NywgczgsIHM5LCBzMTAsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaWx0ZXI0KTsKKyAgICAgICAgICB0NCA9IGNvbnZvbHZlOF84KHM0LCBzNSwgczYsIHM3
LCBzOCwgczksIHMxMCwgczExLCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsdGVyNCk7CisgICAgICAgICAgdDUgPSBjb252b2x2ZThfOChzNSwgczYsIHM3
LCBzOCwgczksIHMxMCwgczExLCBzMTIsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0ZXI0KTsKKyAgICAgICAgICB0NiA9IGNvbnZvbHZlOF84KHM2LCBz
NywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBzMTMsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWx0ZXI0KTsKKyAgICAgICAgICB0NyA9IGNvbnZvbHZlOF84
KHM3LCBzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBmaWx0ZXJzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmlsdGVyMywgZmlsdGVyNCk7CiAKLSAgICAgICAgICBzdG9yZV91
OF84eDgoZCwgZHN0X3N0cmlkZSwgZDAsIGQxLCBkMiwgZDMsIGQ0LCBkNSwgZDYsIGQ3KTsKKyAg
ICAgICAgICB0cmFuc3Bvc2VfdThfOHg4KCZ0MCwgJnQxLCAmdDIsICZ0MywgJnQ0LCAmdDUsICZ0
NiwgJnQ3KTsKKyAgICAgICAgICBzdG9yZV91OF84eDgoZCwgZHN0X3N0cmlkZSwgdDAsIHQxLCB0
MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3KTsKIAogICAgICAgICAgIHMwID0gczg7CiAgICAgICAgICAg
czEgPSBzOTsKQEAgLTIzNSw3ICsyOTYsNyBAQCB2b2lkIHZweF9jb252b2x2ZThfaG9yaXpfbmVv
bihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgIHMg
Kz0gODsKICAgICAgICAgICBkICs9IDg7CiAgICAgICAgICAgd2lkdGggLT0gODsKLSAgICAgICAg
fSB3aGlsZSAod2lkdGggIT0gMCk7CisgICAgICAgIH0gd2hpbGUgKHdpZHRoID4gMCk7CiAgICAg
ICAgIHNyYyArPSA4ICogc3JjX3N0cmlkZTsKICAgICAgICAgZHN0ICs9IDggKiBkc3Rfc3RyaWRl
OwogICAgICAgICBoIC09IDg7CkBAIC0yNTIsOCArMzEzLDggQEAgdm9pZCB2cHhfY29udm9sdmU4
X2F2Z19ob3Jpel9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUs
CiAgIGNvbnN0IGludDE2eDhfdCBmaWx0ZXJzID0gdmxkMXFfczE2KGZpbHRlclt4MF9xNF0pOwog
ICB1aW50OHg4X3QgdDAsIHQxLCB0MiwgdDM7CiAKLSAgYXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0
ID09IDApOwotICBhc3NlcnQoZHN0X3N0cmlkZSAlIDQgPT0gMCk7CisgIGFzc2VydCghKChpbnRw
dHJfdClkc3QgJiAzKSk7CisgIGFzc2VydCghKGRzdF9zdHJpZGUgJiAzKSk7CiAgIGFzc2VydCh4
X3N0ZXBfcTQgPT0gMTYpOwogCiAgICh2b2lkKXhfc3RlcF9xNDsKQEAgLTI2MywyMyArMzI0LDMx
IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbmVvbihjb25zdCB1aW50OF90ICpzcmMs
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICBzcmMgLT0gMzsKIAogICBpZiAoaCA9PSA0KSB7Ci0g
ICAgdWludDh4OF90IGQwMSwgZDIzLCBkZDAxLCBkZDIzOwotICAgIGludDE2eDRfdCBzMCwgczEs
IHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgczEwLCBkMCwgZDEsIGQyLCBkMzsKKyAg
ICB1aW50OHg4X3QgZDAxLCBkMjM7CisgICAgaW50MTZ4NF90IGZpbHRlcjMsIGZpbHRlcjQsIHMw
LCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIGQwLAorICAgICAgICBk
MSwgZDIsIGQzOworICAgIGludDE2eDhfdCB0dDAsIHR0MSwgdHQyLCB0dDM7CisgICAgdWludDMy
eDRfdCBkMDEyMyA9IHZkdXBxX25fdTMyKDApOwogCiAgICAgX19idWlsdGluX3ByZWZldGNoKHNy
YyArIDAgKiBzcmNfc3RyaWRlKTsKICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goc3JjICsgMSAqIHNy
Y19zdHJpZGUpOwogICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyAyICogc3JjX3N0cmlkZSk7
CiAgICAgX19idWlsdGluX3ByZWZldGNoKHNyYyArIDMgKiBzcmNfc3RyaWRlKTsKKyAgICBmaWx0
ZXIzID0gdmR1cF9sYW5lX3MxNih2Z2V0X2xvd19zMTYoZmlsdGVycyksIDMpOworICAgIGZpbHRl
cjQgPSB2ZHVwX2xhbmVfczE2KHZnZXRfaGlnaF9zMTYoZmlsdGVycyksIDApOwogICAgIGxvYWRf
dThfOHg0KHNyYywgc3JjX3N0cmlkZSwgJnQwLCAmdDEsICZ0MiwgJnQzKTsKICAgICB0cmFuc3Bv
c2VfdThfOHg0KCZ0MCwgJnQxLCAmdDIsICZ0Myk7Ci0gICAgczAgPSB2Z2V0X2xvd19zMTYodnJl
aW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQwKSkpOwotICAgIHMxID0gdmdldF9sb3dfczE2
KHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MSkpKTsKLSAgICBzMiA9IHZnZXRfbG93
X3MxNih2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDIpKSk7Ci0gICAgczMgPSB2Z2V0
X2xvd19zMTYodnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQzKSkpOwotICAgIHM0ID0g
dmdldF9oaWdoX3MxNih2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDApKSk7Ci0gICAg
czUgPSB2Z2V0X2hpZ2hfczE2KHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MSkpKTsK
LSAgICBzNiA9IHZnZXRfaGlnaF9zMTYodnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQy
KSkpOwotCisgICAgdHQwID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQwKSk7Cisg
ICAgdHQxID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQxKSk7CisgICAgdHQyID0g
dnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQyKSk7CisgICAgdHQzID0gdnJlaW50ZXJw
cmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQzKSk7CisgICAgczAgPSB2Z2V0X2xvd19zMTYodHQwKTsK
KyAgICBzMSA9IHZnZXRfbG93X3MxNih0dDEpOworICAgIHMyID0gdmdldF9sb3dfczE2KHR0Mik7
CisgICAgczMgPSB2Z2V0X2xvd19zMTYodHQzKTsKKyAgICBzNCA9IHZnZXRfaGlnaF9zMTYodHQw
KTsKKyAgICBzNSA9IHZnZXRfaGlnaF9zMTYodHQxKTsKKyAgICBzNiA9IHZnZXRfaGlnaF9zMTYo
dHQyKTsKICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goZHN0ICsgMCAqIGRzdF9zdHJpZGUpOwogICAg
IF9fYnVpbHRpbl9wcmVmZXRjaChkc3QgKyAxICogZHN0X3N0cmlkZSk7CiAgICAgX19idWlsdGlu
X3ByZWZldGNoKGRzdCArIDIgKiBkc3Rfc3RyaWRlKTsKQEAgLTI4OSwyOCArMzU4LDM5IEBAIHZv
aWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAogICAgIGRvIHsKICAgICAgIGxvYWRfdThfOHg0KHNyYywgc3JjX3N0
cmlkZSwgJnQwLCAmdDEsICZ0MiwgJnQzKTsKICAgICAgIHRyYW5zcG9zZV91OF84eDQoJnQwLCAm
dDEsICZ0MiwgJnQzKTsKLSAgICAgIHM3ID0gdmdldF9sb3dfczE2KHZyZWludGVycHJldHFfczE2
X3UxNih2bW92bF91OCh0MCkpKTsKLSAgICAgIHM4ID0gdmdldF9sb3dfczE2KHZyZWludGVycHJl
dHFfczE2X3UxNih2bW92bF91OCh0MSkpKTsKLSAgICAgIHM5ID0gdmdldF9sb3dfczE2KHZyZWlu
dGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MikpKTsKLSAgICAgIHMxMCA9IHZnZXRfbG93X3Mx
Nih2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDMpKSk7Ci0KLSAgICAgIGQwID0gY29u
dm9sdmU4XzQoczAsIHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBmaWx0ZXJzKTsKLSAgICAg
IGQxID0gY29udm9sdmU4XzQoczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBmaWx0ZXJz
KTsKLSAgICAgIGQyID0gY29udm9sdmU4XzQoczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5
LCBmaWx0ZXJzKTsKLSAgICAgIGQzID0gY29udm9sdmU4XzQoczMsIHM0LCBzNSwgczYsIHM3LCBz
OCwgczksIHMxMCwgZmlsdGVycyk7Ci0gICAgICBkMDEgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmlu
ZV9zMTYoZDAsIGQxKSwgRklMVEVSX0JJVFMpOwotICAgICAgZDIzID0gdnFyc2hydW5fbl9zMTYo
dmNvbWJpbmVfczE2KGQyLCBkMyksIEZJTFRFUl9CSVRTKTsKLQorICAgICAgdHQwID0gdnJlaW50
ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQwKSk7CisgICAgICB0dDEgPSB2cmVpbnRlcnByZXRx
X3MxNl91MTYodm1vdmxfdTgodDEpKTsKKyAgICAgIHR0MiA9IHZyZWludGVycHJldHFfczE2X3Ux
Nih2bW92bF91OCh0MikpOworICAgICAgdHQzID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3Zs
X3U4KHQzKSk7CisgICAgICBzNyA9IHZnZXRfbG93X3MxNih0dDApOworICAgICAgczggPSB2Z2V0
X2xvd19zMTYodHQxKTsKKyAgICAgIHM5ID0gdmdldF9sb3dfczE2KHR0Mik7CisgICAgICBzMTAg
PSB2Z2V0X2xvd19zMTYodHQzKTsKKworICAgICAgZDAgPSBjb252b2x2ZThfNChzMCwgczEsIHMy
LCBzMywgczQsIHM1LCBzNiwgczcsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRlcjQpOworICAgICAgZDEgPSBjb252b2x2ZThfNChzMSwgczIsIHMzLCBzNCwg
czUsIHM2LCBzNywgczgsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAg
IGZpbHRlcjQpOworICAgICAgZDIgPSBjb252b2x2ZThfNChzMiwgczMsIHM0LCBzNSwgczYsIHM3
LCBzOCwgczksIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
cjQpOworICAgICAgZDMgPSBjb252b2x2ZThfNChzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwg
czEwLCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI0KTsK
KworICAgICAgZDAxID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KGQwLCBkMSksIDcpOwor
ICAgICAgZDIzID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KGQyLCBkMyksIDcpOwogICAg
ICAgdHJhbnNwb3NlX3U4XzR4NCgmZDAxLCAmZDIzKTsKIAotICAgICAgZGQwMSA9IGxvYWRfdTgo
ZHN0ICsgMCAqIGRzdF9zdHJpZGUsIDIgKiBkc3Rfc3RyaWRlKTsKLSAgICAgIGRkMjMgPSBsb2Fk
X3U4KGRzdCArIDEgKiBkc3Rfc3RyaWRlLCAyICogZHN0X3N0cmlkZSk7CisgICAgICBkMDEyMyA9
IHZsZDFxX2xhbmVfdTMyKCh1aW50MzJfdCAqKShkc3QgKyAwICogZHN0X3N0cmlkZSksIGQwMTIz
LCAwKTsKKyAgICAgIGQwMTIzID0gdmxkMXFfbGFuZV91MzIoKHVpbnQzMl90ICopKGRzdCArIDEg
KiBkc3Rfc3RyaWRlKSwgZDAxMjMsIDIpOworICAgICAgZDAxMjMgPSB2bGQxcV9sYW5lX3UzMigo
dWludDMyX3QgKikoZHN0ICsgMiAqIGRzdF9zdHJpZGUpLCBkMDEyMywgMSk7CisgICAgICBkMDEy
MyA9IHZsZDFxX2xhbmVfdTMyKCh1aW50MzJfdCAqKShkc3QgKyAzICogZHN0X3N0cmlkZSksIGQw
MTIzLCAzKTsKKyAgICAgIGQwMTIzID0gdnJlaW50ZXJwcmV0cV91MzJfdTgoCisgICAgICAgICAg
dnJoYWRkcV91OCh2cmVpbnRlcnByZXRxX3U4X3UzMihkMDEyMyksIHZjb21iaW5lX3U4KGQwMSwg
ZDIzKSkpOwogCi0gICAgICBkMDEgPSB2cmhhZGRfdTgoZDAxLCBkZDAxKTsKLSAgICAgIGQyMyA9
IHZyaGFkZF91OChkMjMsIGRkMjMpOwotCi0gICAgICBzdG9yZV91OChkc3QgKyAwICogZHN0X3N0
cmlkZSwgMiAqIGRzdF9zdHJpZGUsIGQwMSk7Ci0gICAgICBzdG9yZV91OChkc3QgKyAxICogZHN0
X3N0cmlkZSwgMiAqIGRzdF9zdHJpZGUsIGQyMyk7CisgICAgICB2c3QxcV9sYW5lX3UzMigodWlu
dDMyX3QgKikoZHN0ICsgMCAqIGRzdF9zdHJpZGUpLCBkMDEyMywgMCk7CisgICAgICB2c3QxcV9s
YW5lX3UzMigodWludDMyX3QgKikoZHN0ICsgMSAqIGRzdF9zdHJpZGUpLCBkMDEyMywgMik7Cisg
ICAgICB2c3QxcV9sYW5lX3UzMigodWludDMyX3QgKikoZHN0ICsgMiAqIGRzdF9zdHJpZGUpLCBk
MDEyMywgMSk7CisgICAgICB2c3QxcV9sYW5lX3UzMigodWludDMyX3QgKikoZHN0ICsgMyAqIGRz
dF9zdHJpZGUpLCBkMDEyMywgMyk7CiAKICAgICAgIHMwID0gczQ7CiAgICAgICBzMSA9IHM1OwpA
QCAtMzIyLDE2ICs0MDIsMTggQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9uZW9uKGNv
bnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICBzcmMgKz0gNDsK
ICAgICAgIGRzdCArPSA0OwogICAgICAgdyAtPSA0OwotICAgIH0gd2hpbGUgKHcgIT0gMCk7Cisg
ICAgfSB3aGlsZSAodyA+IDApOwogICB9IGVsc2UgeworICAgIGNvbnN0IGludDE2eDhfdCBmaWx0
ZXIzID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KGZpbHRlcnMpLCAzKTsKKyAgICBjb25z
dCBpbnQxNng4X3QgZmlsdGVyNCA9IHZkdXBxX2xhbmVfczE2KHZnZXRfaGlnaF9zMTYoZmlsdGVy
cyksIDApOwogICAgIGludCB3aWR0aDsKICAgICBjb25zdCB1aW50OF90ICpzOwogICAgIHVpbnQ4
eDhfdCB0NCwgdDUsIHQ2LCB0NzsKICAgICBpbnQxNng4X3QgczAsIHMxLCBzMiwgczMsIHM0LCBz
NSwgczYsIHM3LCBzOCwgczksIHMxMDsKIAogICAgIGlmICh3ID09IDQpIHsKLSAgICAgIHVpbnQ4
eDhfdCBkMDQsIGQxNSwgZDI2LCBkMzcsIGRkMDQsIGRkMTUsIGRkMjYsIGRkMzc7Ci0KKyAgICAg
IHVpbnQzMng0X3QgZDA0MTUgPSB2ZHVwcV9uX3UzMigwKTsKKyAgICAgIHVpbnQzMng0X3QgZDI2
MzcgPSB2ZHVwcV9uX3UzMigwKTsKICAgICAgIGRvIHsKICAgICAgICAgbG9hZF91OF84eDgoc3Jj
LCBzcmNfc3RyaWRlLCAmdDAsICZ0MSwgJnQyLCAmdDMsICZ0NCwgJnQ1LCAmdDYsICZ0Nyk7CiAg
ICAgICAgIHRyYW5zcG9zZV91OF84eDgoJnQwLCAmdDEsICZ0MiwgJnQzLCAmdDQsICZ0NSwgJnQ2
LCAmdDcpOwpAQCAtMzY4LDM1ICs0NTAsNTIgQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jp
el9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAg
IF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyA1ICogc3JjX3N0cmlkZSk7CiAgICAgICAgIF9fYnVp
bHRpbl9wcmVmZXRjaChzcmMgKyA2ICogc3JjX3N0cmlkZSk7CiAgICAgICAgIF9fYnVpbHRpbl9w
cmVmZXRjaChzcmMgKyA3ICogc3JjX3N0cmlkZSk7Ci0gICAgICAgIGQwNCA9IGNvbnZvbHZlOF84
KHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgZmlsdGVycyk7Ci0gICAgICAgIGQxNSA9
IGNvbnZvbHZlOF84KHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgZmlsdGVycyk7Ci0g
ICAgICAgIGQyNiA9IGNvbnZvbHZlOF84KHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwg
ZmlsdGVycyk7Ci0gICAgICAgIGQzNyA9IGNvbnZvbHZlOF84KHMzLCBzNCwgczUsIHM2LCBzNywg
czgsIHM5LCBzMTAsIGZpbHRlcnMpOwotCi0gICAgICAgIHRyYW5zcG9zZV91OF84eDQoJmQwNCwg
JmQxNSwgJmQyNiwgJmQzNyk7Ci0KLSAgICAgICAgZGQwNCA9IGxvYWRfdTgoZHN0ICsgMCAqIGRz
dF9zdHJpZGUsIDQgKiBkc3Rfc3RyaWRlKTsKLSAgICAgICAgZGQxNSA9IGxvYWRfdTgoZHN0ICsg
MSAqIGRzdF9zdHJpZGUsIDQgKiBkc3Rfc3RyaWRlKTsKLSAgICAgICAgZGQyNiA9IGxvYWRfdTgo
ZHN0ICsgMiAqIGRzdF9zdHJpZGUsIDQgKiBkc3Rfc3RyaWRlKTsKLSAgICAgICAgZGQzNyA9IGxv
YWRfdTgoZHN0ICsgMyAqIGRzdF9zdHJpZGUsIDQgKiBkc3Rfc3RyaWRlKTsKLQotICAgICAgICBk
MDQgPSB2cmhhZGRfdTgoZDA0LCBkZDA0KTsKLSAgICAgICAgZDE1ID0gdnJoYWRkX3U4KGQxNSwg
ZGQxNSk7Ci0gICAgICAgIGQyNiA9IHZyaGFkZF91OChkMjYsIGRkMjYpOwotICAgICAgICBkMzcg
PSB2cmhhZGRfdTgoZDM3LCBkZDM3KTsKLQotICAgICAgICBzdG9yZV91OChkc3QgKyAwICogZHN0
X3N0cmlkZSwgNCAqIGRzdF9zdHJpZGUsIGQwNCk7Ci0gICAgICAgIHN0b3JlX3U4KGRzdCArIDEg
KiBkc3Rfc3RyaWRlLCA0ICogZHN0X3N0cmlkZSwgZDE1KTsKLSAgICAgICAgc3RvcmVfdTgoZHN0
ICsgMiAqIGRzdF9zdHJpZGUsIDQgKiBkc3Rfc3RyaWRlLCBkMjYpOwotICAgICAgICBzdG9yZV91
OChkc3QgKyAzICogZHN0X3N0cmlkZSwgNCAqIGRzdF9zdHJpZGUsIGQzNyk7Ci0KLSAgICAgICAg
ZHN0ICs9IDggKiBkc3Rfc3RyaWRlOworICAgICAgICB0MCA9IGNvbnZvbHZlOF84KHMwLCBzMSwg
czIsIHMzLCBzNCwgczUsIHM2LCBzNywgZmlsdGVycywgZmlsdGVyMywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBmaWx0ZXI0KTsKKyAgICAgICAgdDEgPSBjb252b2x2ZThfOChzMSwgczIsIHMz
LCBzNCwgczUsIHM2LCBzNywgczgsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsdGVyNCk7CisgICAgICAgIHQyID0gY29udm9sdmU4XzgoczIsIHMzLCBzNCwg
czUsIHM2LCBzNywgczgsIHM5LCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRlcjQpOworICAgICAgICB0MyA9IGNvbnZvbHZlOF84KHMzLCBzNCwgczUsIHM2
LCBzNywgczgsIHM5LCBzMTAsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgZmlsdGVyNCk7CisKKyAgICAgICAgdHJhbnNwb3NlX3U4Xzh4NCgmdDAsICZ0MSwgJnQy
LCAmdDMpOworCisgICAgICAgIGQwNDE1ID0gdmxkMXFfbGFuZV91MzIoKHVpbnQzMl90ICopKGRz
dCArIDAgKiBkc3Rfc3RyaWRlKSwgZDA0MTUsIDApOworICAgICAgICBkMDQxNSA9IHZsZDFxX2xh
bmVfdTMyKCh1aW50MzJfdCAqKShkc3QgKyAxICogZHN0X3N0cmlkZSksIGQwNDE1LCAyKTsKKyAg
ICAgICAgZDI2MzcgPSB2bGQxcV9sYW5lX3UzMigodWludDMyX3QgKikoZHN0ICsgMiAqIGRzdF9z
dHJpZGUpLCBkMjYzNywgMCk7CisgICAgICAgIGQyNjM3ID0gdmxkMXFfbGFuZV91MzIoKHVpbnQz
Ml90ICopKGRzdCArIDMgKiBkc3Rfc3RyaWRlKSwgZDI2MzcsIDIpOworICAgICAgICBkMDQxNSA9
IHZsZDFxX2xhbmVfdTMyKCh1aW50MzJfdCAqKShkc3QgKyA0ICogZHN0X3N0cmlkZSksIGQwNDE1
LCAxKTsKKyAgICAgICAgZDA0MTUgPSB2bGQxcV9sYW5lX3UzMigodWludDMyX3QgKikoZHN0ICsg
NSAqIGRzdF9zdHJpZGUpLCBkMDQxNSwgMyk7CisgICAgICAgIGQyNjM3ID0gdmxkMXFfbGFuZV91
MzIoKHVpbnQzMl90ICopKGRzdCArIDYgKiBkc3Rfc3RyaWRlKSwgZDI2MzcsIDEpOworICAgICAg
ICBkMjYzNyA9IHZsZDFxX2xhbmVfdTMyKCh1aW50MzJfdCAqKShkc3QgKyA3ICogZHN0X3N0cmlk
ZSksIGQyNjM3LCAzKTsKKyAgICAgICAgZDA0MTUgPSB2cmVpbnRlcnByZXRxX3UzMl91OCgKKyAg
ICAgICAgICAgIHZyaGFkZHFfdTgodnJlaW50ZXJwcmV0cV91OF91MzIoZDA0MTUpLCB2Y29tYmlu
ZV91OCh0MCwgdDEpKSk7CisgICAgICAgIGQyNjM3ID0gdnJlaW50ZXJwcmV0cV91MzJfdTgoCisg
ICAgICAgICAgICB2cmhhZGRxX3U4KHZyZWludGVycHJldHFfdThfdTMyKGQyNjM3KSwgdmNvbWJp
bmVfdTgodDIsIHQzKSkpOworCisgICAgICAgIHZzdDFxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWRz
dCwgZDA0MTUsIDApOworICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAgICAgICAgdnN0MXFf
bGFuZV91MzIoKHVpbnQzMl90ICopZHN0LCBkMDQxNSwgMik7CisgICAgICAgIGRzdCArPSBkc3Rf
c3RyaWRlOworICAgICAgICB2c3QxcV9sYW5lX3UzMigodWludDMyX3QgKilkc3QsIGQyNjM3LCAw
KTsKKyAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7CisgICAgICAgIHZzdDFxX2xhbmVfdTMyKCh1
aW50MzJfdCAqKWRzdCwgZDI2MzcsIDIpOworICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAg
ICAgICAgdnN0MXFfbGFuZV91MzIoKHVpbnQzMl90ICopZHN0LCBkMDQxNSwgMSk7CisgICAgICAg
IGRzdCArPSBkc3Rfc3RyaWRlOworICAgICAgICB2c3QxcV9sYW5lX3UzMigodWludDMyX3QgKilk
c3QsIGQwNDE1LCAzKTsKKyAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7CisgICAgICAgIHZzdDFx
X2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgZDI2MzcsIDEpOworICAgICAgICBkc3QgKz0gZHN0
X3N0cmlkZTsKKyAgICAgICAgdnN0MXFfbGFuZV91MzIoKHVpbnQzMl90ICopZHN0LCBkMjYzNywg
Myk7CisgICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwogICAgICAgICBoIC09IDg7Ci0gICAgICB9
IHdoaWxlIChoICE9IDApOworICAgICAgfSB3aGlsZSAoaCA+IDApOwogICAgIH0gZWxzZSB7CiAg
ICAgICB1aW50OF90ICpkOwotICAgICAgdWludDh4OF90IGQwLCBkMSwgZDIsIGQzLCBkNCwgZDUs
IGQ2LCBkNzsKICAgICAgIGludDE2eDhfdCBzMTEsIHMxMiwgczEzLCBzMTQ7CisgICAgICB1aW50
OHgxNl90IGQwMSwgZDIzLCBkNDUsIGQ2NzsKIAogICAgICAgZG8gewogICAgICAgICBfX2J1aWx0
aW5fcHJlZmV0Y2goc3JjICsgMCAqIHNyY19zdHJpZGUpOwpAQCAtNDQxLDI3ICs1NDAsNDEgQEAg
dm9pZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgczEzID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2
KHZtb3ZsX3U4KHQ2KSk7CiAgICAgICAgICAgczE0ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZt
b3ZsX3U4KHQ3KSk7CiAKLSAgICAgICAgICBkMCA9IGNvbnZvbHZlOF84KHMwLCBzMSwgczIsIHMz
LCBzNCwgczUsIHM2LCBzNywgZmlsdGVycyk7Ci0gICAgICAgICAgZDEgPSBjb252b2x2ZThfOChz
MSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIGZpbHRlcnMpOwotICAgICAgICAgIGQyID0g
Y29udm9sdmU4XzgoczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBmaWx0ZXJzKTsKLSAg
ICAgICAgICBkMyA9IGNvbnZvbHZlOF84KHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAs
IGZpbHRlcnMpOwotICAgICAgICAgIGQ0ID0gY29udm9sdmU4XzgoczQsIHM1LCBzNiwgczcsIHM4
LCBzOSwgczEwLCBzMTEsIGZpbHRlcnMpOwotICAgICAgICAgIGQ1ID0gY29udm9sdmU4XzgoczUs
IHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBmaWx0ZXJzKTsKLSAgICAgICAgICBkNiA9
IGNvbnZvbHZlOF84KHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBzMTMsIGZpbHRlcnMp
OwotICAgICAgICAgIGQ3ID0gY29udm9sdmU4XzgoczcsIHM4LCBzOSwgczEwLCBzMTEsIHMxMiwg
czEzLCBzMTQsIGZpbHRlcnMpOwotCi0gICAgICAgICAgdHJhbnNwb3NlX3U4Xzh4OCgmZDAsICZk
MSwgJmQyLCAmZDMsICZkNCwgJmQ1LCAmZDYsICZkNyk7CisgICAgICAgICAgdDAgPSBjb252b2x2
ZThfOChzMCwgczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIGZpbHRlcnMsIGZpbHRlcjMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI0KTsKKyAgICAgICAgICB0MSA9IGNvbnZv
bHZlOF84KHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgZmlsdGVycywgZmlsdGVyMywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjQpOworICAgICAgICAgIHQyID0gY29u
dm9sdmU4XzgoczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBmaWx0ZXJzLCBmaWx0ZXIz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICAgICAgdDMgPSBj
b252b2x2ZThfOChzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgczEwLCBmaWx0ZXJzLCBmaWx0
ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICAgICAgdDQg
PSBjb252b2x2ZThfOChzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgZmlsdGVycywg
ZmlsdGVyMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjQpOworICAgICAgICAg
IHQ1ID0gY29udm9sdmU4XzgoczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBmaWx0
ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAg
ICAgICAgdDYgPSBjb252b2x2ZThfOChzNiwgczcsIHM4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEz
LCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7
CisgICAgICAgICAgdDcgPSBjb252b2x2ZThfOChzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBz
MTMsIHMxNCwgZmlsdGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjMsIGZp
bHRlcjQpOwogCi0gICAgICAgICAgZDAgPSB2cmhhZGRfdTgoZDAsIHZsZDFfdTgoZCArIDAgKiBk
c3Rfc3RyaWRlKSk7Ci0gICAgICAgICAgZDEgPSB2cmhhZGRfdTgoZDEsIHZsZDFfdTgoZCArIDEg
KiBkc3Rfc3RyaWRlKSk7Ci0gICAgICAgICAgZDIgPSB2cmhhZGRfdTgoZDIsIHZsZDFfdTgoZCAr
IDIgKiBkc3Rfc3RyaWRlKSk7Ci0gICAgICAgICAgZDMgPSB2cmhhZGRfdTgoZDMsIHZsZDFfdTgo
ZCArIDMgKiBkc3Rfc3RyaWRlKSk7Ci0gICAgICAgICAgZDQgPSB2cmhhZGRfdTgoZDQsIHZsZDFf
dTgoZCArIDQgKiBkc3Rfc3RyaWRlKSk7Ci0gICAgICAgICAgZDUgPSB2cmhhZGRfdTgoZDUsIHZs
ZDFfdTgoZCArIDUgKiBkc3Rfc3RyaWRlKSk7Ci0gICAgICAgICAgZDYgPSB2cmhhZGRfdTgoZDYs
IHZsZDFfdTgoZCArIDYgKiBkc3Rfc3RyaWRlKSk7Ci0gICAgICAgICAgZDcgPSB2cmhhZGRfdTgo
ZDcsIHZsZDFfdTgoZCArIDcgKiBkc3Rfc3RyaWRlKSk7CisgICAgICAgICAgdHJhbnNwb3NlX3U4
Xzh4OCgmdDAsICZ0MSwgJnQyLCAmdDMsICZ0NCwgJnQ1LCAmdDYsICZ0Nyk7CiAKLSAgICAgICAg
ICBzdG9yZV91OF84eDgoZCwgZHN0X3N0cmlkZSwgZDAsIGQxLCBkMiwgZDMsIGQ0LCBkNSwgZDYs
IGQ3KTsKKyAgICAgICAgICBkMDEgPSB2Y29tYmluZV91OCh2bGQxX3U4KGQgKyAwICogZHN0X3N0
cmlkZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmxkMV91OChkICsgMSAqIGRzdF9z
dHJpZGUpKTsKKyAgICAgICAgICBkMjMgPSB2Y29tYmluZV91OCh2bGQxX3U4KGQgKyAyICogZHN0
X3N0cmlkZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmxkMV91OChkICsgMyAqIGRz
dF9zdHJpZGUpKTsKKyAgICAgICAgICBkNDUgPSB2Y29tYmluZV91OCh2bGQxX3U4KGQgKyA0ICog
ZHN0X3N0cmlkZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmxkMV91OChkICsgNSAq
IGRzdF9zdHJpZGUpKTsKKyAgICAgICAgICBkNjcgPSB2Y29tYmluZV91OCh2bGQxX3U4KGQgKyA2
ICogZHN0X3N0cmlkZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmxkMV91OChkICsg
NyAqIGRzdF9zdHJpZGUpKTsKKyAgICAgICAgICBkMDEgPSB2cmhhZGRxX3U4KGQwMSwgdmNvbWJp
bmVfdTgodDAsIHQxKSk7CisgICAgICAgICAgZDIzID0gdnJoYWRkcV91OChkMjMsIHZjb21iaW5l
X3U4KHQyLCB0MykpOworICAgICAgICAgIGQ0NSA9IHZyaGFkZHFfdTgoZDQ1LCB2Y29tYmluZV91
OCh0NCwgdDUpKTsKKyAgICAgICAgICBkNjcgPSB2cmhhZGRxX3U4KGQ2NywgdmNvbWJpbmVfdTgo
dDYsIHQ3KSk7CisKKyAgICAgICAgICBzdG9yZV91OF84eDgoZCwgZHN0X3N0cmlkZSwgdmdldF9s
b3dfdTgoZDAxKSwgdmdldF9oaWdoX3U4KGQwMSksCisgICAgICAgICAgICAgICAgICAgICAgIHZn
ZXRfbG93X3U4KGQyMyksIHZnZXRfaGlnaF91OChkMjMpLCB2Z2V0X2xvd191OChkNDUpLAorICAg
ICAgICAgICAgICAgICAgICAgICB2Z2V0X2hpZ2hfdTgoZDQ1KSwgdmdldF9sb3dfdTgoZDY3KSwg
dmdldF9oaWdoX3U4KGQ2NykpOwogCiAgICAgICAgICAgczAgPSBzODsKICAgICAgICAgICBzMSA9
IHM5OwpAQCAtNDczLDExICs1ODYsMTEgQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9u
ZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAg
cyArPSA4OwogICAgICAgICAgIGQgKz0gODsKICAgICAgICAgICB3aWR0aCAtPSA4OwotICAgICAg
ICB9IHdoaWxlICh3aWR0aCAhPSAwKTsKKyAgICAgICAgfSB3aGlsZSAod2lkdGggPiAwKTsKICAg
ICAgICAgc3JjICs9IDggKiBzcmNfc3RyaWRlOwogICAgICAgICBkc3QgKz0gOCAqIGRzdF9zdHJp
ZGU7CiAgICAgICAgIGggLT0gODsKLSAgICAgIH0gd2hpbGUgKGggIT0gMCk7CisgICAgICB9IHdo
aWxlIChoID4gMCk7CiAgICAgfQogICB9CiB9CkBAIC00ODksOCArNjAyLDggQEAgdm9pZCB2cHhf
Y29udm9sdmU4X3ZlcnRfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaCkgewogICBjb25zdCBpbnQx
Nng4X3QgZmlsdGVycyA9IHZsZDFxX3MxNihmaWx0ZXJbeTBfcTRdKTsKIAotICBhc3NlcnQoKGlu
dHB0cl90KWRzdCAlIDQgPT0gMCk7Ci0gIGFzc2VydChkc3Rfc3RyaWRlICUgNCA9PSAwKTsKKyAg
YXNzZXJ0KCEoKGludHB0cl90KWRzdCAmIDMpKTsKKyAgYXNzZXJ0KCEoZHN0X3N0cmlkZSAmIDMp
KTsKICAgYXNzZXJ0KHlfc3RlcF9xNCA9PSAxNik7CiAKICAgKHZvaWQpeDBfcTQ7CkBAIC01MDAs
MjYgKzYxMywzNSBAQCB2b2lkIHZweF9jb252b2x2ZThfdmVydF9uZW9uKGNvbnN0IHVpbnQ4X3Qg
KnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgIHNyYyAtPSAzICogc3JjX3N0cmlkZTsKIAog
ICBpZiAodyA9PSA0KSB7Ci0gICAgdWludDh4OF90IHQwLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2
LCBkMDEsIGQyMzsKKyAgICBjb25zdCBpbnQxNng0X3QgZmlsdGVyMyA9IHZkdXBfbGFuZV9zMTYo
dmdldF9sb3dfczE2KGZpbHRlcnMpLCAzKTsKKyAgICBjb25zdCBpbnQxNng0X3QgZmlsdGVyNCA9
IHZkdXBfbGFuZV9zMTYodmdldF9oaWdoX3MxNihmaWx0ZXJzKSwgMCk7CisgICAgdWludDh4OF90
IGQwMSwgZDIzOwogICAgIGludDE2eDRfdCBzMCwgczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcs
IHM4LCBzOSwgczEwLCBkMCwgZDEsIGQyLCBkMzsKIAotICAgIGxvYWRfdThfOHg3KHNyYywgc3Jj
X3N0cmlkZSwgJnQwLCAmdDEsICZ0MiwgJnQzLCAmdDQsICZ0NSwgJnQ2KTsKLSAgICBzMCA9IHZy
ZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0MCkpKTsKLSAgICBzMSA9
IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0MSkpKTsKLSAgICBz
MiA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0MikpKTsKLSAg
ICBzMyA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0MykpKTsK
LSAgICBzNCA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0NCkp
KTsKLSAgICBzNSA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0
NSkpKTsKLSAgICBzNiA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91
OCh0NikpKTsKLQotICAgIHNyYyArPSA3ICogc3JjX3N0cmlkZTsKKyAgICBzMCA9IHZyZWludGVy
cHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykpKSk7CisgICAg
c3JjICs9IHNyY19zdHJpZGU7CisgICAgczEgPSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xv
d191MTYodm1vdmxfdTgodmxkMV91OChzcmMpKSkpOworICAgIHNyYyArPSBzcmNfc3RyaWRlOwor
ICAgIHMyID0gdnJlaW50ZXJwcmV0X3MxNl91MTYodmdldF9sb3dfdTE2KHZtb3ZsX3U4KHZsZDFf
dTgoc3JjKSkpKTsKKyAgICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAgICBzMyA9IHZyZWludGVycHJl
dF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykpKSk7CisgICAgc3Jj
ICs9IHNyY19zdHJpZGU7CisgICAgczQgPSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191
MTYodm1vdmxfdTgodmxkMV91OChzcmMpKSkpOworICAgIHNyYyArPSBzcmNfc3RyaWRlOworICAg
IHM1ID0gdnJlaW50ZXJwcmV0X3MxNl91MTYodmdldF9sb3dfdTE2KHZtb3ZsX3U4KHZsZDFfdTgo
c3JjKSkpKTsKKyAgICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAgICBzNiA9IHZyZWludGVycHJldF9z
MTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykpKSk7CisgICAgc3JjICs9
IHNyY19zdHJpZGU7CiAKICAgICBkbyB7Ci0gICAgICBsb2FkX3U4Xzh4NChzcmMsIHNyY19zdHJp
ZGUsICZ0MCwgJnQxLCAmdDIsICZ0Myk7Ci0gICAgICBzNyA9IHZyZWludGVycHJldF9zMTZfdTE2
KHZnZXRfbG93X3UxNih2bW92bF91OCh0MCkpKTsKLSAgICAgIHM4ID0gdnJlaW50ZXJwcmV0X3Mx
Nl91MTYodmdldF9sb3dfdTE2KHZtb3ZsX3U4KHQxKSkpOwotICAgICAgczkgPSB2cmVpbnRlcnBy
ZXRfczE2X3UxNih2Z2V0X2xvd191MTYodm1vdmxfdTgodDIpKSk7Ci0gICAgICBzMTAgPSB2cmVp
bnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191MTYodm1vdmxfdTgodDMpKSk7CisgICAgICBzNyA9
IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykp
KSk7CisgICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAgICAgIHM4ID0gdnJlaW50ZXJwcmV0X3Mx
Nl91MTYodmdldF9sb3dfdTE2KHZtb3ZsX3U4KHZsZDFfdTgoc3JjKSkpKTsKKyAgICAgIHNyYyAr
PSBzcmNfc3RyaWRlOworICAgICAgczkgPSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191
MTYodm1vdmxfdTgodmxkMV91OChzcmMpKSkpOworICAgICAgc3JjICs9IHNyY19zdHJpZGU7Cisg
ICAgICBzMTAgPSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191MTYodm1vdmxfdTgodmxk
MV91OChzcmMpKSkpOworICAgICAgc3JjICs9IHNyY19zdHJpZGU7CiAKICAgICAgIF9fYnVpbHRp
bl9wcmVmZXRjaChkc3QgKyAwICogZHN0X3N0cmlkZSk7CiAgICAgICBfX2J1aWx0aW5fcHJlZmV0
Y2goZHN0ICsgMSAqIGRzdF9zdHJpZGUpOwpAQCAtNTI5LDE2ICs2NTEsMjUgQEAgdm9pZCB2cHhf
Y29udm9sdmU4X3ZlcnRfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAogICAgICAgX19idWlsdGluX3ByZWZldGNoKHNyYyArIDEgKiBzcmNfc3RyaWRlKTsKICAg
ICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyAyICogc3JjX3N0cmlkZSk7CiAgICAgICBfX2J1
aWx0aW5fcHJlZmV0Y2goc3JjICsgMyAqIHNyY19zdHJpZGUpOwotCi0gICAgICBkMCA9IGNvbnZv
bHZlOF80KHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgZmlsdGVycyk7Ci0gICAgICBk
MSA9IGNvbnZvbHZlOF80KHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgZmlsdGVycyk7
Ci0gICAgICBkMiA9IGNvbnZvbHZlOF80KHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwg
ZmlsdGVycyk7Ci0gICAgICBkMyA9IGNvbnZvbHZlOF80KHMzLCBzNCwgczUsIHM2LCBzNywgczgs
IHM5LCBzMTAsIGZpbHRlcnMpOwotICAgICAgZDAxID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVf
czE2KGQwLCBkMSksIEZJTFRFUl9CSVRTKTsKLSAgICAgIGQyMyA9IHZxcnNocnVuX25fczE2KHZj
b21iaW5lX3MxNihkMiwgZDMpLCBGSUxURVJfQklUUyk7Ci0KLSAgICAgIHN0b3JlX3U4KGRzdCAr
IDAgKiBkc3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCBkMDEpOwotICAgICAgc3RvcmVfdTgoZHN0ICsg
MiAqIGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUsIGQyMyk7CisgICAgICBkMCA9IGNvbnZvbHZlOF80
KHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgZmlsdGVycywgZmlsdGVyMywKKyAgICAg
ICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICBkMSA9IGNvbnZvbHZlOF80KHMxLCBz
MiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgZmlsdGVycywgZmlsdGVyMywKKyAgICAgICAgICAg
ICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICBkMiA9IGNvbnZvbHZlOF80KHMyLCBzMywgczQs
IHM1LCBzNiwgczcsIHM4LCBzOSwgZmlsdGVycywgZmlsdGVyMywKKyAgICAgICAgICAgICAgICAg
ICAgICAgZmlsdGVyNCk7CisgICAgICBkMyA9IGNvbnZvbHZlOF80KHMzLCBzNCwgczUsIHM2LCBz
NywgczgsIHM5LCBzMTAsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAg
IGZpbHRlcjQpOworCisgICAgICBkMDEgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDAs
IGQxKSwgNyk7CisgICAgICBkMjMgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDIsIGQz
KSwgNyk7CisgICAgICB2c3QxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgdnJlaW50ZXJwcmV0
X3UzMl91OChkMDEpLCAwKTsKKyAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOworICAgICAgdnN0MV9s
YW5lX3UzMigodWludDMyX3QgKilkc3QsIHZyZWludGVycHJldF91MzJfdTgoZDAxKSwgMSk7Cisg
ICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAgICAgIHZzdDFfbGFuZV91MzIoKHVpbnQzMl90ICop
ZHN0LCB2cmVpbnRlcnByZXRfdTMyX3U4KGQyMyksIDApOworICAgICAgZHN0ICs9IGRzdF9zdHJp
ZGU7CisgICAgICB2c3QxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgdnJlaW50ZXJwcmV0X3Uz
Ml91OChkMjMpLCAxKTsKKyAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwogCiAgICAgICBzMCA9IHM0
OwogICAgICAgczEgPSBzNTsKQEAgLTU0NywxNSArNjc4LDE1IEBAIHZvaWQgdnB4X2NvbnZvbHZl
OF92ZXJ0X25lb24oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAg
ICAgIHM0ID0gczg7CiAgICAgICBzNSA9IHM5OwogICAgICAgczYgPSBzMTA7Ci0gICAgICBzcmMg
Kz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICBkc3QgKz0gNCAqIGRzdF9zdHJpZGU7CiAgICAgICBo
IC09IDQ7Ci0gICAgfSB3aGlsZSAoaCAhPSAwKTsKKyAgICB9IHdoaWxlIChoID4gMCk7CiAgIH0g
ZWxzZSB7CisgICAgY29uc3QgaW50MTZ4OF90IGZpbHRlcjMgPSB2ZHVwcV9sYW5lX3MxNih2Z2V0
X2xvd19zMTYoZmlsdGVycyksIDMpOworICAgIGNvbnN0IGludDE2eDhfdCBmaWx0ZXI0ID0gdmR1
cHFfbGFuZV9zMTYodmdldF9oaWdoX3MxNihmaWx0ZXJzKSwgMCk7CiAgICAgaW50IGhlaWdodDsK
ICAgICBjb25zdCB1aW50OF90ICpzOwogICAgIHVpbnQ4X3QgKmQ7Ci0gICAgdWludDh4OF90IHQw
LCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCBkMCwgZDEsIGQyLCBkMzsKKyAgICB1aW50OHg4X3Qg
dDAsIHQxLCB0MiwgdDM7CiAgICAgaW50MTZ4OF90IHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2
LCBzNywgczgsIHM5LCBzMTA7CiAKICAgICBkbyB7CkBAIC01NjYsMjYgKzY5NywzMyBAQCB2b2lk
IHZweF9jb252b2x2ZThfdmVydF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCiAgICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goc3JjICsgNCAqIHNyY19zdHJpZGUp
OwogICAgICAgX19idWlsdGluX3ByZWZldGNoKHNyYyArIDUgKiBzcmNfc3RyaWRlKTsKICAgICAg
IF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyA2ICogc3JjX3N0cmlkZSk7Ci0KLSAgICAgIGxvYWRf
dThfOHg3KHNyYywgc3JjX3N0cmlkZSwgJnQwLCAmdDEsICZ0MiwgJnQzLCAmdDQsICZ0NSwgJnQ2
KTsKLSAgICAgIHMwID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQwKSk7Ci0gICAg
ICBzMSA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MSkpOwotICAgICAgczIgPSB2
cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDIpKTsKLSAgICAgIHMzID0gdnJlaW50ZXJw
cmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQzKSk7Ci0gICAgICBzNCA9IHZyZWludGVycHJldHFfczE2
X3UxNih2bW92bF91OCh0NCkpOwotICAgICAgczUgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1v
dmxfdTgodDUpKTsKLSAgICAgIHM2ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQ2
KSk7Ci0KLSAgICAgIHMgPSBzcmMgKyA3ICogc3JjX3N0cmlkZTsKKyAgICAgIHMgPSBzcmM7Cisg
ICAgICBzMCA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7Cisg
ICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBzMSA9IHZyZWludGVycHJldHFfczE2X3UxNih2
bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBzMiA9
IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9
IHNyY19zdHJpZGU7CisgICAgICBzMyA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh2
bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBzNCA9IHZyZWludGVy
cHJldHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJp
ZGU7CisgICAgICBzNSA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMp
KSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBzNiA9IHZyZWludGVycHJldHFfczE2
X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7CiAgICAg
ICBkID0gZHN0OwogICAgICAgaGVpZ2h0ID0gaDsKIAogICAgICAgZG8gewotICAgICAgICBsb2Fk
X3U4Xzh4NChzLCBzcmNfc3RyaWRlLCAmdDAsICZ0MSwgJnQyLCAmdDMpOwotICAgICAgICBzNyA9
IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MCkpOwotICAgICAgICBzOCA9IHZyZWlu
dGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MSkpOwotICAgICAgICBzOSA9IHZyZWludGVycHJl
dHFfczE2X3UxNih2bW92bF91OCh0MikpOwotICAgICAgICBzMTAgPSB2cmVpbnRlcnByZXRxX3Mx
Nl91MTYodm1vdmxfdTgodDMpKTsKKyAgICAgICAgczcgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYo
dm1vdmxfdTgodmxkMV91OChzKSkpOworICAgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICAg
IHM4ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHZsZDFfdTgocykpKTsKKyAgICAg
ICAgcyArPSBzcmNfc3RyaWRlOworICAgICAgICBzOSA9IHZyZWludGVycHJldHFfczE2X3UxNih2
bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICAgIHMgKz0gc3JjX3N0cmlkZTsKKyAgICAgICAg
czEwID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHZsZDFfdTgocykpKTsKKyAgICAg
ICAgcyArPSBzcmNfc3RyaWRlOwogCiAgICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChkICsgMCAq
IGRzdF9zdHJpZGUpOwogICAgICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goZCArIDEgKiBkc3Rfc3Ry
aWRlKTsKQEAgLTU5NSwxMyArNzMzLDIzIEBAIHZvaWQgdnB4X2NvbnZvbHZlOF92ZXJ0X25lb24o
Y29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgX19idWls
dGluX3ByZWZldGNoKHMgKyAxICogc3JjX3N0cmlkZSk7CiAgICAgICAgIF9fYnVpbHRpbl9wcmVm
ZXRjaChzICsgMiAqIHNyY19zdHJpZGUpOwogICAgICAgICBfX2J1aWx0aW5fcHJlZmV0Y2gocyAr
IDMgKiBzcmNfc3RyaWRlKTsKLQotICAgICAgICBkMCA9IGNvbnZvbHZlOF84KHMwLCBzMSwgczIs
IHMzLCBzNCwgczUsIHM2LCBzNywgZmlsdGVycyk7Ci0gICAgICAgIGQxID0gY29udm9sdmU4Xzgo
czEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBmaWx0ZXJzKTsKLSAgICAgICAgZDIgPSBj
b252b2x2ZThfOChzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgczksIGZpbHRlcnMpOwotICAg
ICAgICBkMyA9IGNvbnZvbHZlOF84KHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIGZp
bHRlcnMpOwotCi0gICAgICAgIHN0b3JlX3U4Xzh4NChkLCBkc3Rfc3RyaWRlLCBkMCwgZDEsIGQy
LCBkMyk7CisgICAgICAgIHQwID0gY29udm9sdmU4XzgoczAsIHMxLCBzMiwgczMsIHM0LCBzNSwg
czYsIHM3LCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
cjQpOworICAgICAgICB0MSA9IGNvbnZvbHZlOF84KHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3
LCBzOCwgZmlsdGVycywgZmlsdGVyMywKKyAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI0
KTsKKyAgICAgICAgdDIgPSBjb252b2x2ZThfOChzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwg
czksIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7
CisgICAgICAgIHQzID0gY29udm9sdmU4XzgoczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgczksIHMx
MCwgZmlsdGVycywgZmlsdGVyMywKKyAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI0KTsK
KworICAgICAgICB2c3QxX3U4KGQsIHQwKTsKKyAgICAgICAgZCArPSBkc3Rfc3RyaWRlOworICAg
ICAgICB2c3QxX3U4KGQsIHQxKTsKKyAgICAgICAgZCArPSBkc3Rfc3RyaWRlOworICAgICAgICB2
c3QxX3U4KGQsIHQyKTsKKyAgICAgICAgZCArPSBkc3Rfc3RyaWRlOworICAgICAgICB2c3QxX3U4
KGQsIHQzKTsKKyAgICAgICAgZCArPSBkc3Rfc3RyaWRlOwogCiAgICAgICAgIHMwID0gczQ7CiAg
ICAgICAgIHMxID0gczU7CkBAIC02MTAsMTQgKzc1OCwxMiBAQCB2b2lkIHZweF9jb252b2x2ZThf
dmVydF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAg
ICAgIHM0ID0gczg7CiAgICAgICAgIHM1ID0gczk7CiAgICAgICAgIHM2ID0gczEwOwotICAgICAg
ICBzICs9IDQgKiBzcmNfc3RyaWRlOwotICAgICAgICBkICs9IDQgKiBkc3Rfc3RyaWRlOwogICAg
ICAgICBoZWlnaHQgLT0gNDsKLSAgICAgIH0gd2hpbGUgKGhlaWdodCAhPSAwKTsKKyAgICAgIH0g
d2hpbGUgKGhlaWdodCA+IDApOwogICAgICAgc3JjICs9IDg7CiAgICAgICBkc3QgKz0gODsKICAg
ICAgIHcgLT0gODsKLSAgICB9IHdoaWxlICh3ICE9IDApOworICAgIH0gd2hpbGUgKHcgPiAwKTsK
ICAgfQogfQogCkBAIC02MjgsOCArNzc0LDggQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0
X25lb24oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7CiAgIGNvbnN0IGludDE2eDhfdCBmaWx0
ZXJzID0gdmxkMXFfczE2KGZpbHRlclt5MF9xNF0pOwogCi0gIGFzc2VydCgoaW50cHRyX3QpZHN0
ICUgNCA9PSAwKTsKLSAgYXNzZXJ0KGRzdF9zdHJpZGUgJSA0ID09IDApOworICBhc3NlcnQoISgo
aW50cHRyX3QpZHN0ICYgMykpOworICBhc3NlcnQoIShkc3Rfc3RyaWRlICYgMykpOwogICBhc3Nl
cnQoeV9zdGVwX3E0ID09IDE2KTsKIAogICAodm9pZCl4MF9xNDsKQEAgLTYzOSwyNiArNzg1LDM2
IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywg
cHRyZGlmZl90IHNyY19zdHJpZGUsCiAgIHNyYyAtPSAzICogc3JjX3N0cmlkZTsKIAogICBpZiAo
dyA9PSA0KSB7Ci0gICAgdWludDh4OF90IHQwLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCBkMDEs
IGQyMywgZGQwMSwgZGQyMzsKKyAgICBjb25zdCBpbnQxNng0X3QgZmlsdGVyMyA9IHZkdXBfbGFu
ZV9zMTYodmdldF9sb3dfczE2KGZpbHRlcnMpLCAzKTsKKyAgICBjb25zdCBpbnQxNng0X3QgZmls
dGVyNCA9IHZkdXBfbGFuZV9zMTYodmdldF9oaWdoX3MxNihmaWx0ZXJzKSwgMCk7CisgICAgdWlu
dDh4OF90IGQwMSwgZDIzOwogICAgIGludDE2eDRfdCBzMCwgczEsIHMyLCBzMywgczQsIHM1LCBz
NiwgczcsIHM4LCBzOSwgczEwLCBkMCwgZDEsIGQyLCBkMzsKLQotICAgIGxvYWRfdThfOHg3KHNy
Yywgc3JjX3N0cmlkZSwgJnQwLCAmdDEsICZ0MiwgJnQzLCAmdDQsICZ0NSwgJnQ2KTsKLSAgICBz
MCA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0MCkpKTsKLSAg
ICBzMSA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0MSkpKTsK
LSAgICBzMiA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0Mikp
KTsKLSAgICBzMyA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh0
MykpKTsKLSAgICBzNCA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91
OCh0NCkpKTsKLSAgICBzNSA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92
bF91OCh0NSkpKTsKLSAgICBzNiA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2
bW92bF91OCh0NikpKTsKLQotICAgIHNyYyArPSA3ICogc3JjX3N0cmlkZTsKKyAgICB1aW50MzJ4
NF90IGQwMTIzID0gdmR1cHFfbl91MzIoMCk7CisKKyAgICBzMCA9IHZyZWludGVycHJldF9zMTZf
dTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykpKSk7CisgICAgc3JjICs9IHNy
Y19zdHJpZGU7CisgICAgczEgPSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191MTYodm1v
dmxfdTgodmxkMV91OChzcmMpKSkpOworICAgIHNyYyArPSBzcmNfc3RyaWRlOworICAgIHMyID0g
dnJlaW50ZXJwcmV0X3MxNl91MTYodmdldF9sb3dfdTE2KHZtb3ZsX3U4KHZsZDFfdTgoc3JjKSkp
KTsKKyAgICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAgICBzMyA9IHZyZWludGVycHJldF9zMTZfdTE2
KHZnZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykpKSk7CisgICAgc3JjICs9IHNyY19z
dHJpZGU7CisgICAgczQgPSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191MTYodm1vdmxf
dTgodmxkMV91OChzcmMpKSkpOworICAgIHNyYyArPSBzcmNfc3RyaWRlOworICAgIHM1ID0gdnJl
aW50ZXJwcmV0X3MxNl91MTYodmdldF9sb3dfdTE2KHZtb3ZsX3U4KHZsZDFfdTgoc3JjKSkpKTsK
KyAgICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAgICBzNiA9IHZyZWludGVycHJldF9zMTZfdTE2KHZn
ZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykpKSk7CisgICAgc3JjICs9IHNyY19zdHJp
ZGU7CiAKICAgICBkbyB7Ci0gICAgICBsb2FkX3U4Xzh4NChzcmMsIHNyY19zdHJpZGUsICZ0MCwg
JnQxLCAmdDIsICZ0Myk7Ci0gICAgICBzNyA9IHZyZWludGVycHJldF9zMTZfdTE2KHZnZXRfbG93
X3UxNih2bW92bF91OCh0MCkpKTsKLSAgICAgIHM4ID0gdnJlaW50ZXJwcmV0X3MxNl91MTYodmdl
dF9sb3dfdTE2KHZtb3ZsX3U4KHQxKSkpOwotICAgICAgczkgPSB2cmVpbnRlcnByZXRfczE2X3Ux
Nih2Z2V0X2xvd191MTYodm1vdmxfdTgodDIpKSk7Ci0gICAgICBzMTAgPSB2cmVpbnRlcnByZXRf
czE2X3UxNih2Z2V0X2xvd191MTYodm1vdmxfdTgodDMpKSk7CisgICAgICBzNyA9IHZyZWludGVy
cHJldF9zMTZfdTE2KHZnZXRfbG93X3UxNih2bW92bF91OCh2bGQxX3U4KHNyYykpKSk7CisgICAg
ICBzcmMgKz0gc3JjX3N0cmlkZTsKKyAgICAgIHM4ID0gdnJlaW50ZXJwcmV0X3MxNl91MTYodmdl
dF9sb3dfdTE2KHZtb3ZsX3U4KHZsZDFfdTgoc3JjKSkpKTsKKyAgICAgIHNyYyArPSBzcmNfc3Ry
aWRlOworICAgICAgczkgPSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191MTYodm1vdmxf
dTgodmxkMV91OChzcmMpKSkpOworICAgICAgc3JjICs9IHNyY19zdHJpZGU7CisgICAgICBzMTAg
PSB2cmVpbnRlcnByZXRfczE2X3UxNih2Z2V0X2xvd191MTYodm1vdmxfdTgodmxkMV91OChzcmMp
KSkpOworICAgICAgc3JjICs9IHNyY19zdHJpZGU7CiAKICAgICAgIF9fYnVpbHRpbl9wcmVmZXRj
aChkc3QgKyAwICogZHN0X3N0cmlkZSk7CiAgICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goZHN0ICsg
MSAqIGRzdF9zdHJpZGUpOwpAQCAtNjY4LDIyICs4MjQsMzMgQEAgdm9pZCB2cHhfY29udm9sdmU4
X2F2Z192ZXJ0X25lb24oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
ICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyAxICogc3JjX3N0cmlkZSk7CiAgICAgICBf
X2J1aWx0aW5fcHJlZmV0Y2goc3JjICsgMiAqIHNyY19zdHJpZGUpOwogICAgICAgX19idWlsdGlu
X3ByZWZldGNoKHNyYyArIDMgKiBzcmNfc3RyaWRlKTsKLQotICAgICAgZDAgPSBjb252b2x2ZThf
NChzMCwgczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIGZpbHRlcnMpOwotICAgICAgZDEgPSBj
b252b2x2ZThfNChzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIGZpbHRlcnMpOwotICAg
ICAgZDIgPSBjb252b2x2ZThfNChzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgczksIGZpbHRl
cnMpOwotICAgICAgZDMgPSBjb252b2x2ZThfNChzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwg
czEwLCBmaWx0ZXJzKTsKLSAgICAgIGQwMSA9IHZxcnNocnVuX25fczE2KHZjb21iaW5lX3MxNihk
MCwgZDEpLCBGSUxURVJfQklUUyk7Ci0gICAgICBkMjMgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmlu
ZV9zMTYoZDIsIGQzKSwgRklMVEVSX0JJVFMpOwotCi0gICAgICBkZDAxID0gbG9hZF91OChkc3Qg
KyAwICogZHN0X3N0cmlkZSwgZHN0X3N0cmlkZSk7Ci0gICAgICBkZDIzID0gbG9hZF91OChkc3Qg
KyAyICogZHN0X3N0cmlkZSwgZHN0X3N0cmlkZSk7Ci0KLSAgICAgIGQwMSA9IHZyaGFkZF91OChk
MDEsIGRkMDEpOwotICAgICAgZDIzID0gdnJoYWRkX3U4KGQyMywgZGQyMyk7Ci0KLSAgICAgIHN0
b3JlX3U4KGRzdCArIDAgKiBkc3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCBkMDEpOwotICAgICAgc3Rv
cmVfdTgoZHN0ICsgMiAqIGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUsIGQyMyk7CisgICAgICBkMCA9
IGNvbnZvbHZlOF80KHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgZmlsdGVycywgZmls
dGVyMywKKyAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICBkMSA9IGNvbnZv
bHZlOF80KHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgZmlsdGVycywgZmlsdGVyMywK
KyAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICBkMiA9IGNvbnZvbHZlOF80
KHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgZmlsdGVycywgZmlsdGVyMywKKyAgICAg
ICAgICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICBkMyA9IGNvbnZvbHZlOF80KHMzLCBz
NCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAg
ICAgICAgICAgICAgIGZpbHRlcjQpOworCisgICAgICBkMDEgPSB2cXJzaHJ1bl9uX3MxNih2Y29t
YmluZV9zMTYoZDAsIGQxKSwgNyk7CisgICAgICBkMjMgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmlu
ZV9zMTYoZDIsIGQzKSwgNyk7CisKKyAgICAgIGQwMTIzID0gdmxkMXFfbGFuZV91MzIoKHVpbnQz
Ml90ICopKGRzdCArIDAgKiBkc3Rfc3RyaWRlKSwgZDAxMjMsIDApOworICAgICAgZDAxMjMgPSB2
bGQxcV9sYW5lX3UzMigodWludDMyX3QgKikoZHN0ICsgMSAqIGRzdF9zdHJpZGUpLCBkMDEyMywg
MSk7CisgICAgICBkMDEyMyA9IHZsZDFxX2xhbmVfdTMyKCh1aW50MzJfdCAqKShkc3QgKyAyICog
ZHN0X3N0cmlkZSksIGQwMTIzLCAyKTsKKyAgICAgIGQwMTIzID0gdmxkMXFfbGFuZV91MzIoKHVp
bnQzMl90ICopKGRzdCArIDMgKiBkc3Rfc3RyaWRlKSwgZDAxMjMsIDMpOworICAgICAgZDAxMjMg
PSB2cmVpbnRlcnByZXRxX3UzMl91OCgKKyAgICAgICAgICB2cmhhZGRxX3U4KHZyZWludGVycHJl
dHFfdThfdTMyKGQwMTIzKSwgdmNvbWJpbmVfdTgoZDAxLCBkMjMpKSk7CisKKyAgICAgIHZzdDFx
X2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgZDAxMjMsIDApOworICAgICAgZHN0ICs9IGRzdF9z
dHJpZGU7CisgICAgICB2c3QxcV9sYW5lX3UzMigodWludDMyX3QgKilkc3QsIGQwMTIzLCAxKTsK
KyAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOworICAgICAgdnN0MXFfbGFuZV91MzIoKHVpbnQzMl90
ICopZHN0LCBkMDEyMywgMik7CisgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKKyAgICAgIHZzdDFx
X2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgZDAxMjMsIDMpOworICAgICAgZHN0ICs9IGRzdF9z
dHJpZGU7CiAKICAgICAgIHMwID0gczQ7CiAgICAgICBzMSA9IHM1OwpAQCAtNjkyLDE1ICs4NTks
MTYgQEAgdm9pZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X25lb24oY29uc3QgdWludDhfdCAqc3Jj
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgIHM0ID0gczg7CiAgICAgICBzNSA9IHM5Owog
ICAgICAgczYgPSBzMTA7Ci0gICAgICBzcmMgKz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICBkc3Qg
Kz0gNCAqIGRzdF9zdHJpZGU7CiAgICAgICBoIC09IDQ7Ci0gICAgfSB3aGlsZSAoaCAhPSAwKTsK
KyAgICB9IHdoaWxlIChoID4gMCk7CiAgIH0gZWxzZSB7CisgICAgY29uc3QgaW50MTZ4OF90IGZp
bHRlcjMgPSB2ZHVwcV9sYW5lX3MxNih2Z2V0X2xvd19zMTYoZmlsdGVycyksIDMpOworICAgIGNv
bnN0IGludDE2eDhfdCBmaWx0ZXI0ID0gdmR1cHFfbGFuZV9zMTYodmdldF9oaWdoX3MxNihmaWx0
ZXJzKSwgMCk7CiAgICAgaW50IGhlaWdodDsKICAgICBjb25zdCB1aW50OF90ICpzOwogICAgIHVp
bnQ4X3QgKmQ7Ci0gICAgdWludDh4OF90IHQwLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCBkMCwg
ZDEsIGQyLCBkMzsKKyAgICB1aW50OHg4X3QgdDAsIHQxLCB0MiwgdDM7CisgICAgdWludDh4MTZf
dCBkMDEsIGQyMywgZGQwMSwgZGQyMzsKICAgICBpbnQxNng4X3QgczAsIHMxLCBzMiwgczMsIHM0
LCBzNSwgczYsIHM3LCBzOCwgczksIHMxMDsKIAogICAgIGRvIHsKQEAgLTcxMSwyNiArODc5LDMz
IEBAIHZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywg
cHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goc3JjICsgNCAq
IHNyY19zdHJpZGUpOwogICAgICAgX19idWlsdGluX3ByZWZldGNoKHNyYyArIDUgKiBzcmNfc3Ry
aWRlKTsKICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzcmMgKyA2ICogc3JjX3N0cmlkZSk7Ci0K
LSAgICAgIGxvYWRfdThfOHg3KHNyYywgc3JjX3N0cmlkZSwgJnQwLCAmdDEsICZ0MiwgJnQzLCAm
dDQsICZ0NSwgJnQ2KTsKLSAgICAgIHMwID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4
KHQwKSk7Ci0gICAgICBzMSA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MSkpOwot
ICAgICAgczIgPSB2cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDIpKTsKLSAgICAgIHMz
ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHQzKSk7Ci0gICAgICBzNCA9IHZyZWlu
dGVycHJldHFfczE2X3UxNih2bW92bF91OCh0NCkpOwotICAgICAgczUgPSB2cmVpbnRlcnByZXRx
X3MxNl91MTYodm1vdmxfdTgodDUpKTsKLSAgICAgIHM2ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2
KHZtb3ZsX3U4KHQ2KSk7Ci0KLSAgICAgIHMgPSBzcmMgKyA3ICogc3JjX3N0cmlkZTsKKyAgICAg
IHMgPSBzcmM7CisgICAgICBzMCA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh2bGQx
X3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBzMSA9IHZyZWludGVycHJl
dHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7
CisgICAgICBzMiA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7
CisgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBzMyA9IHZyZWludGVycHJldHFfczE2X3Ux
Nih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBz
NCA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBz
ICs9IHNyY19zdHJpZGU7CisgICAgICBzNSA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91
OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19zdHJpZGU7CisgICAgICBzNiA9IHZyZWlu
dGVycHJldHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICBzICs9IHNyY19z
dHJpZGU7CiAgICAgICBkID0gZHN0OwogICAgICAgaGVpZ2h0ID0gaDsKIAogICAgICAgZG8gewot
ICAgICAgICBsb2FkX3U4Xzh4NChzLCBzcmNfc3RyaWRlLCAmdDAsICZ0MSwgJnQyLCAmdDMpOwot
ICAgICAgICBzNyA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MCkpOwotICAgICAg
ICBzOCA9IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MSkpOwotICAgICAgICBzOSA9
IHZyZWludGVycHJldHFfczE2X3UxNih2bW92bF91OCh0MikpOwotICAgICAgICBzMTAgPSB2cmVp
bnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgodDMpKTsKKyAgICAgICAgczcgPSB2cmVpbnRlcnBy
ZXRxX3MxNl91MTYodm1vdmxfdTgodmxkMV91OChzKSkpOworICAgICAgICBzICs9IHNyY19zdHJp
ZGU7CisgICAgICAgIHM4ID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHZsZDFfdTgo
cykpKTsKKyAgICAgICAgcyArPSBzcmNfc3RyaWRlOworICAgICAgICBzOSA9IHZyZWludGVycHJl
dHFfczE2X3UxNih2bW92bF91OCh2bGQxX3U4KHMpKSk7CisgICAgICAgIHMgKz0gc3JjX3N0cmlk
ZTsKKyAgICAgICAgczEwID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHZsZDFfdTgo
cykpKTsKKyAgICAgICAgcyArPSBzcmNfc3RyaWRlOwogCiAgICAgICAgIF9fYnVpbHRpbl9wcmVm
ZXRjaChkICsgMCAqIGRzdF9zdHJpZGUpOwogICAgICAgICBfX2J1aWx0aW5fcHJlZmV0Y2goZCAr
IDEgKiBkc3Rfc3RyaWRlKTsKQEAgLTc0MCwxOCArOTE1LDMyIEBAIHZvaWQgdnB4X2NvbnZvbHZl
OF9hdmdfdmVydF9uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUs
CiAgICAgICAgIF9fYnVpbHRpbl9wcmVmZXRjaChzICsgMSAqIHNyY19zdHJpZGUpOwogICAgICAg
ICBfX2J1aWx0aW5fcHJlZmV0Y2gocyArIDIgKiBzcmNfc3RyaWRlKTsKICAgICAgICAgX19idWls
dGluX3ByZWZldGNoKHMgKyAzICogc3JjX3N0cmlkZSk7Ci0KLSAgICAgICAgZDAgPSBjb252b2x2
ZThfOChzMCwgczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIGZpbHRlcnMpOwotICAgICAgICBk
MSA9IGNvbnZvbHZlOF84KHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgZmlsdGVycyk7
Ci0gICAgICAgIGQyID0gY29udm9sdmU4XzgoczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5
LCBmaWx0ZXJzKTsKLSAgICAgICAgZDMgPSBjb252b2x2ZThfOChzMywgczQsIHM1LCBzNiwgczcs
IHM4LCBzOSwgczEwLCBmaWx0ZXJzKTsKLQotICAgICAgICBkMCA9IHZyaGFkZF91OChkMCwgdmxk
MV91OChkICsgMCAqIGRzdF9zdHJpZGUpKTsKLSAgICAgICAgZDEgPSB2cmhhZGRfdTgoZDEsIHZs
ZDFfdTgoZCArIDEgKiBkc3Rfc3RyaWRlKSk7Ci0gICAgICAgIGQyID0gdnJoYWRkX3U4KGQyLCB2
bGQxX3U4KGQgKyAyICogZHN0X3N0cmlkZSkpOwotICAgICAgICBkMyA9IHZyaGFkZF91OChkMywg
dmxkMV91OChkICsgMyAqIGRzdF9zdHJpZGUpKTsKLQotICAgICAgICBzdG9yZV91OF84eDQoZCwg
ZHN0X3N0cmlkZSwgZDAsIGQxLCBkMiwgZDMpOworICAgICAgICB0MCA9IGNvbnZvbHZlOF84KHMw
LCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgZmlsdGVycywgZmlsdGVyMywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBmaWx0ZXI0KTsKKyAgICAgICAgdDEgPSBjb252b2x2ZThfOChzMSwg
czIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgZmlsdGVyNCk7CisgICAgICAgIHQyID0gY29udm9sdmU4XzgoczIsIHMz
LCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBmaWx0ZXJzLCBmaWx0ZXIzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbHRlcjQpOworICAgICAgICB0MyA9IGNvbnZvbHZlOF84KHMzLCBzNCwg
czUsIHM2LCBzNywgczgsIHM5LCBzMTAsIGZpbHRlcnMsIGZpbHRlcjMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsdGVyNCk7CisKKyAgICAgICAgZDAxID0gdmNvbWJpbmVfdTgodDAsIHQx
KTsKKyAgICAgICAgZDIzID0gdmNvbWJpbmVfdTgodDIsIHQzKTsKKyAgICAgICAgZGQwMSA9IHZj
b21iaW5lX3U4KHZsZDFfdTgoZCArIDAgKiBkc3Rfc3RyaWRlKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZsZDFfdTgoZCArIDEgKiBkc3Rfc3RyaWRlKSk7CisgICAgICAgIGRkMjMgPSB2
Y29tYmluZV91OCh2bGQxX3U4KGQgKyAyICogZHN0X3N0cmlkZSksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2bGQxX3U4KGQgKyAzICogZHN0X3N0cmlkZSkpOworICAgICAgICBkZDAxID0g
dnJoYWRkcV91OChkZDAxLCBkMDEpOworICAgICAgICBkZDIzID0gdnJoYWRkcV91OChkZDIzLCBk
MjMpOworCisgICAgICAgIHZzdDFfdTgoZCwgdmdldF9sb3dfdTgoZGQwMSkpOworICAgICAgICBk
ICs9IGRzdF9zdHJpZGU7CisgICAgICAgIHZzdDFfdTgoZCwgdmdldF9oaWdoX3U4KGRkMDEpKTsK
KyAgICAgICAgZCArPSBkc3Rfc3RyaWRlOworICAgICAgICB2c3QxX3U4KGQsIHZnZXRfbG93X3U4
KGRkMjMpKTsKKyAgICAgICAgZCArPSBkc3Rfc3RyaWRlOworICAgICAgICB2c3QxX3U4KGQsIHZn
ZXRfaGlnaF91OChkZDIzKSk7CisgICAgICAgIGQgKz0gZHN0X3N0cmlkZTsKIAogICAgICAgICBz
MCA9IHM0OwogICAgICAgICBzMSA9IHM1OwpAQCAtNzYxLDEyICs5NTAsMTAgQEAgdm9pZCB2cHhf
Y29udm9sdmU4X2F2Z192ZXJ0X25lb24oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKICAgICAgICAgczUgPSBzOTsKICAgICAgICAgczYgPSBzMTA7CiAgICAgICAgIGhl
aWdodCAtPSA0OwotICAgICAgICBzICs9IDQgKiBzcmNfc3RyaWRlOwotICAgICAgICBkICs9IDQg
KiBkc3Rfc3RyaWRlOwotICAgICAgfSB3aGlsZSAoaGVpZ2h0ICE9IDApOworICAgICAgfSB3aGls
ZSAoaGVpZ2h0ID4gMCk7CiAgICAgICBzcmMgKz0gODsKICAgICAgIGRzdCArPSA4OwogICAgICAg
dyAtPSA4OwotICAgIH0gd2hpbGUgKHcgIT0gMCk7CisgICAgfSB3aGlsZSAodyA+IDApOwogICB9
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVv
bi5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb24uaAppbmRleCAw
MjVlOTQzY2M0NDkuLjRmMjdkYTlkMmY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2FybS92cHhfY29udm9sdmU4X25lb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3Zw
eF9jb252b2x2ZThfbmVvbi5oCkBAIC0xNSwyMTEgKzE1LDcwIEBACiAKICNpbmNsdWRlICIuL3Zw
eF9jb25maWcuaCIKICNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9k
c3AvdnB4X2ZpbHRlci5oIgogCi0jaWYgVlBYX0FSQ0hfQUFSQ0g2NCAmJiBkZWZpbmVkKF9fQVJN
X0ZFQVRVUkVfRE9UUFJPRCkKLQotdm9pZCB2cHhfY29udm9sdmU4XzJkX2hvcml6X25lb25fZG90
cHJvZChjb25zdCB1aW50OF90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwg
KmZpbHRlciwgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeF9zdGVwX3E0LCBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsIGludCB3LCBpbnQgaCk7Ci0KLXN0YXRpYyBJ
TkxJTkUgaW50MTZ4NF90IGNvbnZvbHZlOF80X3Nkb3RfcGFydGlhbChjb25zdCBpbnQ4eDE2X3Qg
c2FtcGxlc19sbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQ4eDE2X3Qgc2FtcGxlc19oaSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQzMng0X3QgY29ycmVjdGlvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4
eDhfdCBmaWx0ZXJzKSB7Ci0gIC8qIFNhbXBsZSByYW5nZS1jbGFtcGluZyBhbmQgcGVybXV0YXRp
b24gYXJlIHBlcmZvcm1lZCBieSB0aGUgY2FsbGVyLiAqLwotICBpbnQzMng0X3Qgc3VtOwotCi0g
IC8qIEFjY3VtdWxhdGUgZG90IHByb2R1Y3QgaW50byAnY29ycmVjdGlvbicgdG8gYWNjb3VudCBm
b3IgcmFuZ2UgY2xhbXAuICovCi0gIHN1bSA9IHZkb3RxX2xhbmVfczMyKGNvcnJlY3Rpb24sIHNh
bXBsZXNfbG8sIGZpbHRlcnMsIDApOwotICBzdW0gPSB2ZG90cV9sYW5lX3MzMihzdW0sIHNhbXBs
ZXNfaGksIGZpbHRlcnMsIDEpOwotCi0gIC8qIEZ1cnRoZXIgbmFycm93aW5nIGFuZCBwYWNraW5n
IGlzIHBlcmZvcm1lZCBieSB0aGUgY2FsbGVyLiAqLwotICByZXR1cm4gdnFtb3ZuX3MzMihzdW0p
OwotfQotCi1zdGF0aWMgSU5MSU5FIGludDE2eDRfdCBjb252b2x2ZThfNF9zZG90KHVpbnQ4eDE2
X3Qgc2FtcGxlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50OHg4X3QgZmlsdGVycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MzJ4NF90IGNvcnJlY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDE2X3QgcmFuZ2VfbGltaXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDE2eDJfdCBwZXJt
dXRlX3RibCkgewotICBpbnQ4eDE2X3QgY2xhbXBlZF9zYW1wbGVzLCBwZXJtdXRlZF9zYW1wbGVz
WzJdOwotICBpbnQzMng0X3Qgc3VtOwotCi0gIC8qIENsYW1wIHNhbXBsZSByYW5nZSB0byBbLTEy
OCwgMTI3XSBmb3IgOC1iaXQgc2lnbmVkIGRvdCBwcm9kdWN0LiAqLwotICBjbGFtcGVkX3NhbXBs
ZXMgPSB2cmVpbnRlcnByZXRxX3M4X3U4KHZzdWJxX3U4KHNhbXBsZXMsIHJhbmdlX2xpbWl0KSk7
Ci0KLSAgLyogUGVybXV0ZSBzYW1wbGVzIHJlYWR5IGZvciBkb3QgcHJvZHVjdC4gKi8KLSAgLyog
eyAwLCAgMSwgIDIsICAzLCAgMSwgIDIsICAzLCAgNCwgIDIsICAzLCAgNCwgIDUsICAzLCAgNCwg
IDUsICA2IH0gKi8KLSAgcGVybXV0ZWRfc2FtcGxlc1swXSA9IHZxdGJsMXFfczgoY2xhbXBlZF9z
YW1wbGVzLCBwZXJtdXRlX3RibC52YWxbMF0pOwotICAvKiB7IDQsICA1LCAgNiwgIDcsICA1LCAg
NiwgIDcsICA4LCAgNiwgIDcsICA4LCAgOSwgIDcsICA4LCAgOSwgMTAgfSAqLwotICBwZXJtdXRl
ZF9zYW1wbGVzWzFdID0gdnF0YmwxcV9zOChjbGFtcGVkX3NhbXBsZXMsIHBlcm11dGVfdGJsLnZh
bFsxXSk7Ci0KLSAgLyogQWNjdW11bGF0ZSBkb3QgcHJvZHVjdCBpbnRvICdjb3JyZWN0aW9uJyB0
byBhY2NvdW50IGZvciByYW5nZSBjbGFtcC4gKi8KLSAgc3VtID0gdmRvdHFfbGFuZV9zMzIoY29y
cmVjdGlvbiwgcGVybXV0ZWRfc2FtcGxlc1swXSwgZmlsdGVycywgMCk7Ci0gIHN1bSA9IHZkb3Rx
X2xhbmVfczMyKHN1bSwgcGVybXV0ZWRfc2FtcGxlc1sxXSwgZmlsdGVycywgMSk7Ci0KLSAgLyog
RnVydGhlciBuYXJyb3dpbmcgYW5kIHBhY2tpbmcgaXMgcGVyZm9ybWVkIGJ5IHRoZSBjYWxsZXIu
ICovCi0gIHJldHVybiB2cW1vdm5fczMyKHN1bSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdWludDh4
OF90IGNvbnZvbHZlOF84X3Nkb3RfcGFydGlhbChjb25zdCBpbnQ4eDE2X3Qgc2FtcGxlczBfbG8s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50OHgxNl90IHNhbXBsZXMwX2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDh4MTZfdCBzYW1wbGVzMV9sbywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4eDE2X3Qgc2Ft
cGxlczFfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MzJ4NF90IGNvcnJlY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OHg4X3QgZmlsdGVycykgewotICAvKiBT
YW1wbGUgcmFuZ2UtY2xhbXBpbmcgYW5kIHBlcm11dGF0aW9uIGFyZSBwZXJmb3JtZWQgYnkgdGhl
IGNhbGxlci4gKi8KLSAgaW50MzJ4NF90IHN1bTAsIHN1bTE7Ci0gIGludDE2eDhfdCBzdW07Ci0K
LSAgLyogQWNjdW11bGF0ZSBkb3QgcHJvZHVjdCBpbnRvICdjb3JyZWN0aW9uJyB0byBhY2NvdW50
IGZvciByYW5nZSBjbGFtcC4gKi8KLSAgLyogRmlyc3QgNCBvdXRwdXQgdmFsdWVzLiAqLwotICBz
dW0wID0gdmRvdHFfbGFuZV9zMzIoY29ycmVjdGlvbiwgc2FtcGxlczBfbG8sIGZpbHRlcnMsIDAp
OwotICBzdW0wID0gdmRvdHFfbGFuZV9zMzIoc3VtMCwgc2FtcGxlczBfaGksIGZpbHRlcnMsIDEp
OwotICAvKiBTZWNvbmQgNCBvdXRwdXQgdmFsdWVzLiAqLwotICBzdW0xID0gdmRvdHFfbGFuZV9z
MzIoY29ycmVjdGlvbiwgc2FtcGxlczFfbG8sIGZpbHRlcnMsIDApOwotICBzdW0xID0gdmRvdHFf
bGFuZV9zMzIoc3VtMSwgc2FtcGxlczFfaGksIGZpbHRlcnMsIDEpOwotCi0gIC8qIE5hcnJvdyBh
bmQgcmUtcGFjay4gKi8KLSAgc3VtID0gdmNvbWJpbmVfczE2KHZxbW92bl9zMzIoc3VtMCksIHZx
bW92bl9zMzIoc3VtMSkpOwotICByZXR1cm4gdnFyc2hydW5fbl9zMTYoc3VtLCBGSUxURVJfQklU
Uyk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdWludDh4OF90IGNvbnZvbHZlOF84X3Nkb3QodWludDh4
MTZfdCBzYW1wbGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQ4eDhfdCBmaWx0ZXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQzMng0X3QgY29ycmVjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4MTZfdCByYW5nZV9saW1pdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4MTZ4M190IHBl
cm11dGVfdGJsKSB7Ci0gIGludDh4MTZfdCBjbGFtcGVkX3NhbXBsZXMsIHBlcm11dGVkX3NhbXBs
ZXNbM107Ci0gIGludDMyeDRfdCBzdW0wLCBzdW0xOwotICBpbnQxNng4X3Qgc3VtOwotCi0gIC8q
IENsYW1wIHNhbXBsZSByYW5nZSB0byBbLTEyOCwgMTI3XSBmb3IgOC1iaXQgc2lnbmVkIGRvdCBw
cm9kdWN0LiAqLwotICBjbGFtcGVkX3NhbXBsZXMgPSB2cmVpbnRlcnByZXRxX3M4X3U4KHZzdWJx
X3U4KHNhbXBsZXMsIHJhbmdlX2xpbWl0KSk7Ci0KLSAgLyogUGVybXV0ZSBzYW1wbGVzIHJlYWR5
IGZvciBkb3QgcHJvZHVjdC4gKi8KLSAgLyogeyAwLCAgMSwgIDIsICAzLCAgMSwgIDIsICAzLCAg
NCwgIDIsICAzLCAgNCwgIDUsICAzLCAgNCwgIDUsICA2IH0gKi8KLSAgcGVybXV0ZWRfc2FtcGxl
c1swXSA9IHZxdGJsMXFfczgoY2xhbXBlZF9zYW1wbGVzLCBwZXJtdXRlX3RibC52YWxbMF0pOwot
ICAvKiB7IDQsICA1LCAgNiwgIDcsICA1LCAgNiwgIDcsICA4LCAgNiwgIDcsICA4LCAgOSwgIDcs
ICA4LCAgOSwgMTAgfSAqLwotICBwZXJtdXRlZF9zYW1wbGVzWzFdID0gdnF0YmwxcV9zOChjbGFt
cGVkX3NhbXBsZXMsIHBlcm11dGVfdGJsLnZhbFsxXSk7Ci0gIC8qIHsgOCwgIDksIDEwLCAxMSwg
IDksIDEwLCAxMSwgMTIsIDEwLCAxMSwgMTIsIDEzLCAxMSwgMTIsIDEzLCAxNCB9ICovCi0gIHBl
cm11dGVkX3NhbXBsZXNbMl0gPSB2cXRibDFxX3M4KGNsYW1wZWRfc2FtcGxlcywgcGVybXV0ZV90
YmwudmFsWzJdKTsKLQotICAvKiBBY2N1bXVsYXRlIGRvdCBwcm9kdWN0IGludG8gJ2NvcnJlY3Rp
b24nIHRvIGFjY291bnQgZm9yIHJhbmdlIGNsYW1wLiAqLwotICAvKiBGaXJzdCA0IG91dHB1dCB2
YWx1ZXMuICovCi0gIHN1bTAgPSB2ZG90cV9sYW5lX3MzMihjb3JyZWN0aW9uLCBwZXJtdXRlZF9z
YW1wbGVzWzBdLCBmaWx0ZXJzLCAwKTsKLSAgc3VtMCA9IHZkb3RxX2xhbmVfczMyKHN1bTAsIHBl
cm11dGVkX3NhbXBsZXNbMV0sIGZpbHRlcnMsIDEpOwotICAvKiBTZWNvbmQgNCBvdXRwdXQgdmFs
dWVzLiAqLwotICBzdW0xID0gdmRvdHFfbGFuZV9zMzIoY29ycmVjdGlvbiwgcGVybXV0ZWRfc2Ft
cGxlc1sxXSwgZmlsdGVycywgMCk7Ci0gIHN1bTEgPSB2ZG90cV9sYW5lX3MzMihzdW0xLCBwZXJt
dXRlZF9zYW1wbGVzWzJdLCBmaWx0ZXJzLCAxKTsKLQotICAvKiBOYXJyb3cgYW5kIHJlLXBhY2su
ICovCi0gIHN1bSA9IHZjb21iaW5lX3MxNih2cW1vdm5fczMyKHN1bTApLCB2cW1vdm5fczMyKHN1
bTEpKTsKLSAgcmV0dXJuIHZxcnNocnVuX25fczE2KHN1bSwgRklMVEVSX0JJVFMpOworc3RhdGlj
IElOTElORSB2b2lkIGxvYWRfdThfOHg0KGNvbnN0IHVpbnQ4X3QgKnMsIGNvbnN0IHB0cmRpZmZf
dCBwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4eDhfdCAqY29uc3QgczAs
IHVpbnQ4eDhfdCAqY29uc3QgczEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDh4OF90ICpjb25zdCBzMiwgdWludDh4OF90ICpjb25zdCBzMykgeworICAqczAgPSB2bGQxX3U4
KHMpOworICBzICs9IHA7CisgICpzMSA9IHZsZDFfdTgocyk7CisgIHMgKz0gcDsKKyAgKnMyID0g
dmxkMV91OChzKTsKKyAgcyArPSBwOworICAqczMgPSB2bGQxX3U4KHMpOwogfQogCi0jZW5kaWYg
IC8vIFZQWF9BUkNIX0FBUkNINjQgJiYgZGVmaW5lZChfX0FSTV9GRUFUVVJFX0RPVFBST0QpCi0K
LSNpZiBWUFhfQVJDSF9BQVJDSDY0ICYmIGRlZmluZWQoX19BUk1fRkVBVFVSRV9NQVRNVUxfSU5U
OCkKLQotdm9pZCB2cHhfY29udm9sdmU4XzJkX2hvcml6X25lb25faThtbShjb25zdCB1aW50OF90
ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwg
aW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9z
dGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3LCBpbnQgaCk7Ci0KLXN0YXRpYyBJTkxJTkUgaW50MTZ4NF90
IGNvbnZvbHZlOF80X3VzZG90X3BhcnRpYWwoY29uc3QgdWludDh4MTZfdCBzYW1wbGVzX2xvLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OHgxNl90IHNhbXBsZXNfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDh4OF90IGZpbHRlcnMpIHsKLSAgLyogU2FtcGxlIHBl
cm11dGF0aW9uIGlzIHBlcmZvcm1lZCBieSB0aGUgY2FsbGVyLiAqLwotICBpbnQzMng0X3Qgc3Vt
OwotCi0gIHN1bSA9IHZ1c2RvdHFfbGFuZV9zMzIodmR1cHFfbl9zMzIoMCksIHNhbXBsZXNfbG8s
IGZpbHRlcnMsIDApOwotICBzdW0gPSB2dXNkb3RxX2xhbmVfczMyKHN1bSwgc2FtcGxlc19oaSwg
ZmlsdGVycywgMSk7Ci0KLSAgLyogRnVydGhlciBuYXJyb3dpbmcgYW5kIHBhY2tpbmcgaXMgcGVy
Zm9ybWVkIGJ5IHRoZSBjYWxsZXIuICovCi0gIHJldHVybiB2cW1vdm5fczMyKHN1bSk7CitzdGF0
aWMgSU5MSU5FIHZvaWQgbG9hZF91OF84eDgoY29uc3QgdWludDhfdCAqcywgY29uc3QgcHRyZGlm
Zl90IHAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4OF90ICpjb25zdCBz
MCwgdWludDh4OF90ICpjb25zdCBzMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OHg4X3QgKmNvbnN0IHMyLCB1aW50OHg4X3QgKmNvbnN0IHMzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4eDhfdCAqY29uc3QgczQsIHVpbnQ4eDhfdCAqY29uc3QgczUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4OF90ICpjb25zdCBzNiwgdWlu
dDh4OF90ICpjb25zdCBzNykgeworICAqczAgPSB2bGQxX3U4KHMpOworICBzICs9IHA7CisgICpz
MSA9IHZsZDFfdTgocyk7CisgIHMgKz0gcDsKKyAgKnMyID0gdmxkMV91OChzKTsKKyAgcyArPSBw
OworICAqczMgPSB2bGQxX3U4KHMpOworICBzICs9IHA7CisgICpzNCA9IHZsZDFfdTgocyk7Cisg
IHMgKz0gcDsKKyAgKnM1ID0gdmxkMV91OChzKTsKKyAgcyArPSBwOworICAqczYgPSB2bGQxX3U4
KHMpOworICBzICs9IHA7CisgICpzNyA9IHZsZDFfdTgocyk7CiB9CiAKLXN0YXRpYyBJTkxJTkUg
aW50MTZ4NF90IGNvbnZvbHZlOF80X3VzZG90KHVpbnQ4eDE2X3Qgc2FtcGxlcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDh4OF90IGZpbHRlcnMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHgx
NngyX3QgcGVybXV0ZV90YmwpIHsKLSAgdWludDh4MTZfdCBwZXJtdXRlZF9zYW1wbGVzWzJdOwot
ICBpbnQzMng0X3Qgc3VtOwotCi0gIC8qIFBlcm11dGUgc2FtcGxlcyByZWFkeSBmb3IgZG90IHBy
b2R1Y3QuICovCi0gIC8qIHsgMCwgIDEsICAyLCAgMywgIDEsICAyLCAgMywgIDQsICAyLCAgMywg
IDQsICA1LCAgMywgIDQsICA1LCAgNiB9ICovCi0gIHBlcm11dGVkX3NhbXBsZXNbMF0gPSB2cXRi
bDFxX3U4KHNhbXBsZXMsIHBlcm11dGVfdGJsLnZhbFswXSk7Ci0gIC8qIHsgNCwgIDUsICA2LCAg
NywgIDUsICA2LCAgNywgIDgsICA2LCAgNywgIDgsICA5LCAgNywgIDgsICA5LCAxMCB9ICovCi0g
IHBlcm11dGVkX3NhbXBsZXNbMV0gPSB2cXRibDFxX3U4KHNhbXBsZXMsIHBlcm11dGVfdGJsLnZh
bFsxXSk7Ci0KLSAgLyogQWNjdW11bGF0ZSBkb3QgcHJvZHVjdCBpbnRvICdjb3JyZWN0aW9uJyB0
byBhY2NvdW50IGZvciByYW5nZSBjbGFtcC4gKi8KLSAgc3VtID0gdnVzZG90cV9sYW5lX3MzMih2
ZHVwcV9uX3MzMigwKSwgcGVybXV0ZWRfc2FtcGxlc1swXSwgZmlsdGVycywgMCk7Ci0gIHN1bSA9
IHZ1c2RvdHFfbGFuZV9zMzIoc3VtLCBwZXJtdXRlZF9zYW1wbGVzWzFdLCBmaWx0ZXJzLCAxKTsK
LQotICAvKiBGdXJ0aGVyIG5hcnJvd2luZyBhbmQgcGFja2luZyBpcyBwZXJmb3JtZWQgYnkgdGhl
IGNhbGxlci4gKi8KLSAgcmV0dXJuIHZxbW92bl9zMzIoc3VtKTsKK3N0YXRpYyBJTkxJTkUgdm9p
ZCBsb2FkX3U4XzE2eDgoY29uc3QgdWludDhfdCAqcywgY29uc3QgcHRyZGlmZl90IHAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4eDE2X3QgKmNvbnN0IHMwLCB1aW50OHgx
Nl90ICpjb25zdCBzMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDh4MTZf
dCAqY29uc3QgczIsIHVpbnQ4eDE2X3QgKmNvbnN0IHMzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OHgxNl90ICpjb25zdCBzNCwgdWludDh4MTZfdCAqY29uc3QgczUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4eDE2X3QgKmNvbnN0IHM2LCB1aW50
OHgxNl90ICpjb25zdCBzNykgeworICAqczAgPSB2bGQxcV91OChzKTsKKyAgcyArPSBwOworICAq
czEgPSB2bGQxcV91OChzKTsKKyAgcyArPSBwOworICAqczIgPSB2bGQxcV91OChzKTsKKyAgcyAr
PSBwOworICAqczMgPSB2bGQxcV91OChzKTsKKyAgcyArPSBwOworICAqczQgPSB2bGQxcV91OChz
KTsKKyAgcyArPSBwOworICAqczUgPSB2bGQxcV91OChzKTsKKyAgcyArPSBwOworICAqczYgPSB2
bGQxcV91OChzKTsKKyAgcyArPSBwOworICAqczcgPSB2bGQxcV91OChzKTsKIH0KIAotc3RhdGlj
IElOTElORSB1aW50OHg4X3QgY29udm9sdmU4XzhfdXNkb3RfcGFydGlhbChjb25zdCB1aW50OHgx
Nl90IHNhbXBsZXMwX2xvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OHgxNl90IHNhbXBsZXMwX2hpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OHgxNl90IHNhbXBs
ZXMxX2xvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OHgxNl90IHNhbXBsZXMxX2hpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4eDhfdCBmaWx0ZXJzKSB7Ci0gIC8q
IFNhbXBsZSBwZXJtdXRhdGlvbiBpcyBwZXJmb3JtZWQgYnkgdGhlIGNhbGxlci4gKi8KLSAgaW50
MzJ4NF90IHN1bTAsIHN1bTE7Ci0gIGludDE2eDhfdCBzdW07Ci0KLSAgLyogRmlyc3QgNCBvdXRw
dXQgdmFsdWVzLiAqLwotICBzdW0wID0gdnVzZG90cV9sYW5lX3MzMih2ZHVwcV9uX3MzMigwKSwg
c2FtcGxlczBfbG8sIGZpbHRlcnMsIDApOwotICBzdW0wID0gdnVzZG90cV9sYW5lX3MzMihzdW0w
LCBzYW1wbGVzMF9oaSwgZmlsdGVycywgMSk7Ci0gIC8qIFNlY29uZCA0IG91dHB1dCB2YWx1ZXMu
ICovCi0gIHN1bTEgPSB2dXNkb3RxX2xhbmVfczMyKHZkdXBxX25fczMyKDApLCBzYW1wbGVzMV9s
bywgZmlsdGVycywgMCk7Ci0gIHN1bTEgPSB2dXNkb3RxX2xhbmVfczMyKHN1bTEsIHNhbXBsZXMx
X2hpLCBmaWx0ZXJzLCAxKTsKLQotICAvKiBOYXJyb3cgYW5kIHJlLXBhY2suICovCi0gIHN1bSA9
IHZjb21iaW5lX3MxNih2cW1vdm5fczMyKHN1bTApLCB2cW1vdm5fczMyKHN1bTEpKTsKLSAgcmV0
dXJuIHZxcnNocnVuX25fczE2KHN1bSwgRklMVEVSX0JJVFMpOwotfQotCi1zdGF0aWMgSU5MSU5F
IHVpbnQ4eDhfdCBjb252b2x2ZThfOF91c2RvdCh1aW50OHgxNl90IHNhbXBsZXMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4eDhfdCBmaWx0ZXJz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4
MTZ4M190IHBlcm11dGVfdGJsKSB7Ci0gIHVpbnQ4eDE2X3QgcGVybXV0ZWRfc2FtcGxlc1szXTsK
LSAgaW50MzJ4NF90IHN1bTAsIHN1bTE7Ci0gIGludDE2eDhfdCBzdW07Ci0KLSAgLyogUGVybXV0
ZSBzYW1wbGVzIHJlYWR5IGZvciBkb3QgcHJvZHVjdC4gKi8KLSAgLyogeyAwLCAgMSwgIDIsICAz
LCAgMSwgIDIsICAzLCAgNCwgIDIsICAzLCAgNCwgIDUsICAzLCAgNCwgIDUsICA2IH0gKi8KLSAg
cGVybXV0ZWRfc2FtcGxlc1swXSA9IHZxdGJsMXFfdTgoc2FtcGxlcywgcGVybXV0ZV90YmwudmFs
WzBdKTsKLSAgLyogeyA0LCAgNSwgIDYsICA3LCAgNSwgIDYsICA3LCAgOCwgIDYsICA3LCAgOCwg
IDksICA3LCAgOCwgIDksIDEwIH0gKi8KLSAgcGVybXV0ZWRfc2FtcGxlc1sxXSA9IHZxdGJsMXFf
dTgoc2FtcGxlcywgcGVybXV0ZV90YmwudmFsWzFdKTsKLSAgLyogeyA4LCAgOSwgMTAsIDExLCAg
OSwgMTAsIDExLCAxMiwgMTAsIDExLCAxMiwgMTMsIDExLCAxMiwgMTMsIDE0IH0gKi8KLSAgcGVy
bXV0ZWRfc2FtcGxlc1syXSA9IHZxdGJsMXFfdTgoc2FtcGxlcywgcGVybXV0ZV90YmwudmFsWzJd
KTsKLQotICAvKiBGaXJzdCA0IG91dHB1dCB2YWx1ZXMuICovCi0gIHN1bTAgPSB2dXNkb3RxX2xh
bmVfczMyKHZkdXBxX25fczMyKDApLCBwZXJtdXRlZF9zYW1wbGVzWzBdLCBmaWx0ZXJzLCAwKTsK
LSAgc3VtMCA9IHZ1c2RvdHFfbGFuZV9zMzIoc3VtMCwgcGVybXV0ZWRfc2FtcGxlc1sxXSwgZmls
dGVycywgMSk7Ci0gIC8qIFNlY29uZCA0IG91dHB1dCB2YWx1ZXMuICovCi0gIHN1bTEgPSB2dXNk
b3RxX2xhbmVfczMyKHZkdXBxX25fczMyKDApLCBwZXJtdXRlZF9zYW1wbGVzWzFdLCBmaWx0ZXJz
LCAwKTsKLSAgc3VtMSA9IHZ1c2RvdHFfbGFuZV9zMzIoc3VtMSwgcGVybXV0ZWRfc2FtcGxlc1sy
XSwgZmlsdGVycywgMSk7Ci0KLSAgLyogTmFycm93IGFuZCByZS1wYWNrLiAqLwotICBzdW0gPSB2
Y29tYmluZV9zMTYodnFtb3ZuX3MzMihzdW0wKSwgdnFtb3ZuX3MzMihzdW0xKSk7Ci0gIHJldHVy
biB2cXJzaHJ1bl9uX3MxNihzdW0sIEZJTFRFUl9CSVRTKTsKLX0KLQotI2VuZGlmICAvLyBWUFhf
QVJDSF9BQVJDSDY0ICYmIGRlZmluZWQoX19BUk1fRkVBVFVSRV9NQVRNVUxfSU5UOCkKLQogc3Rh
dGljIElOTElORSBpbnQxNng0X3QgY29udm9sdmU4XzQoY29uc3QgaW50MTZ4NF90IHMwLCBjb25z
dCBpbnQxNng0X3QgczEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNng0X3QgczIsIGNvbnN0IGludDE2eDRfdCBzMywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2eDRfdCBzNCwgY29uc3QgaW50MTZ4NF90IHM1LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZ4NF90IHM2LCBj
b25zdCBpbnQxNng0X3QgczcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNng4X3QgZmlsdGVycykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MTZ4OF90IGZpbHRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNng0X3QgZmlsdGVyMywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGludDE2eDRfdCBmaWx0ZXI0KSB7CiAgIGNvbnN0IGludDE2
eDRfdCBmaWx0ZXJzX2xvID0gdmdldF9sb3dfczE2KGZpbHRlcnMpOwogICBjb25zdCBpbnQxNng0
X3QgZmlsdGVyc19oaSA9IHZnZXRfaGlnaF9zMTYoZmlsdGVycyk7CiAgIGludDE2eDRfdCBzdW07
CkBAIC0yMzAsOCArODksOCBAQCBzdGF0aWMgSU5MSU5FIGludDE2eDRfdCBjb252b2x2ZThfNChj
b25zdCBpbnQxNng0X3QgczAsIGNvbnN0IGludDE2eDRfdCBzMSwKICAgc3VtID0gdm1sYV9sYW5l
X3MxNihzdW0sIHM1LCBmaWx0ZXJzX2hpLCAxKTsKICAgc3VtID0gdm1sYV9sYW5lX3MxNihzdW0s
IHM2LCBmaWx0ZXJzX2hpLCAyKTsKICAgc3VtID0gdm1sYV9sYW5lX3MxNihzdW0sIHM3LCBmaWx0
ZXJzX2hpLCAzKTsKLSAgc3VtID0gdnFhZGRfczE2KHN1bSwgdm11bF9sYW5lX3MxNihzMywgZmls
dGVyc19sbywgMykpOwotICBzdW0gPSB2cWFkZF9zMTYoc3VtLCB2bXVsX2xhbmVfczE2KHM0LCBm
aWx0ZXJzX2hpLCAwKSk7CisgIHN1bSA9IHZxYWRkX3MxNihzdW0sIHZtdWxfczE2KHMzLCBmaWx0
ZXIzKSk7CisgIHN1bSA9IHZxYWRkX3MxNihzdW0sIHZtdWxfczE2KHM0LCBmaWx0ZXI0KSk7CiAg
IHJldHVybiBzdW07CiB9CiAKQEAgLTIzOSw3ICs5OCw5IEBAIHN0YXRpYyBJTkxJTkUgdWludDh4
OF90IGNvbnZvbHZlOF84KGNvbnN0IGludDE2eDhfdCBzMCwgY29uc3QgaW50MTZ4OF90IHMxLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZ4OF90IHMyLCBj
b25zdCBpbnQxNng4X3QgczMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNng4X3QgczQsIGNvbnN0IGludDE2eDhfdCBzNSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2eDhfdCBzNiwgY29uc3QgaW50MTZ4OF90IHM3
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZ4OF90IGZp
bHRlcnMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
eDhfdCBmaWx0ZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZ4OF90IGZpbHRlcjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBpbnQxNng4X3QgZmlsdGVyNCkgewogICBjb25zdCBpbnQxNng0X3QgZmlsdGVyc19sbyA9
IHZnZXRfbG93X3MxNihmaWx0ZXJzKTsKICAgY29uc3QgaW50MTZ4NF90IGZpbHRlcnNfaGkgPSB2
Z2V0X2hpZ2hfczE2KGZpbHRlcnMpOwogICBpbnQxNng4X3Qgc3VtOwpAQCAtMjUwLDEzICsxMTEs
MTUgQEAgc3RhdGljIElOTElORSB1aW50OHg4X3QgY29udm9sdmU4XzgoY29uc3QgaW50MTZ4OF90
IHMwLCBjb25zdCBpbnQxNng4X3QgczEsCiAgIHN1bSA9IHZtbGFxX2xhbmVfczE2KHN1bSwgczUs
IGZpbHRlcnNfaGksIDEpOwogICBzdW0gPSB2bWxhcV9sYW5lX3MxNihzdW0sIHM2LCBmaWx0ZXJz
X2hpLCAyKTsKICAgc3VtID0gdm1sYXFfbGFuZV9zMTYoc3VtLCBzNywgZmlsdGVyc19oaSwgMyk7
Ci0gIHN1bSA9IHZxYWRkcV9zMTYoc3VtLCB2bXVscV9sYW5lX3MxNihzMywgZmlsdGVyc19sbywg
MykpOwotICBzdW0gPSB2cWFkZHFfczE2KHN1bSwgdm11bHFfbGFuZV9zMTYoczQsIGZpbHRlcnNf
aGksIDApKTsKLSAgcmV0dXJuIHZxcnNocnVuX25fczE2KHN1bSwgRklMVEVSX0JJVFMpOworICBz
dW0gPSB2cWFkZHFfczE2KHN1bSwgdm11bHFfczE2KHMzLCBmaWx0ZXIzKSk7CisgIHN1bSA9IHZx
YWRkcV9zMTYoc3VtLCB2bXVscV9zMTYoczQsIGZpbHRlcjQpKTsKKyAgcmV0dXJuIHZxcnNocnVu
X25fczE2KHN1bSwgNyk7CiB9CiAKIHN0YXRpYyBJTkxJTkUgdWludDh4OF90IHNjYWxlX2ZpbHRl
cl84KGNvbnN0IHVpbnQ4eDhfdCAqY29uc3QgcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2eDhfdCBmaWx0ZXJzKSB7CisgIGNvbnN0IGludDE2eDhf
dCBmaWx0ZXIzID0gdmR1cHFfbGFuZV9zMTYodmdldF9sb3dfczE2KGZpbHRlcnMpLCAzKTsKKyAg
Y29uc3QgaW50MTZ4OF90IGZpbHRlcjQgPSB2ZHVwcV9sYW5lX3MxNih2Z2V0X2hpZ2hfczE2KGZp
bHRlcnMpLCAwKTsKICAgaW50MTZ4OF90IHNzWzhdOwogCiAgIHNzWzBdID0gdnJlaW50ZXJwcmV0
cV9zMTZfdTE2KHZtb3ZsX3U4KHNbMF0pKTsKQEAgLTI2OSw3ICsxMzIsNyBAQCBzdGF0aWMgSU5M
SU5FIHVpbnQ4eDhfdCBzY2FsZV9maWx0ZXJfOChjb25zdCB1aW50OHg4X3QgKmNvbnN0IHMsCiAg
IHNzWzddID0gdnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHNbN10pKTsKIAogICByZXR1
cm4gY29udm9sdmU4Xzgoc3NbMF0sIHNzWzFdLCBzc1syXSwgc3NbM10sIHNzWzRdLCBzc1s1XSwg
c3NbNl0sIHNzWzddLAotICAgICAgICAgICAgICAgICAgICAgZmlsdGVycyk7CisgICAgICAgICAg
ICAgICAgICAgICBmaWx0ZXJzLCBmaWx0ZXIzLCBmaWx0ZXI0KTsKIH0KIAogI2VuZGlmICAvLyBW
UFhfVlBYX0RTUF9BUk1fVlBYX0NPTlZPTFZFOF9ORU9OX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbl9hc20uYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uX2FzbS5jCmluZGV4IGM0MTc3YzUzODUyNS4uNDQ3
MGIyOGI4ODQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2
ZThfbmVvbl9hc20uYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThf
bmVvbl9hc20uYwpAQCAtMzUsNyArMzUsNyBAQAogICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0K
IAotREVGSU5FX0ZJTFRFUihob3JpeikKLURFRklORV9GSUxURVIoYXZnX2hvcml6KQotREVGSU5F
X0ZJTFRFUih2ZXJ0KQotREVGSU5FX0ZJTFRFUihhdmdfdmVydCkKK0RFRklORV9GSUxURVIoaG9y
aXopOworREVGSU5FX0ZJTFRFUihhdmdfaG9yaXopOworREVGSU5FX0ZJTFRFUih2ZXJ0KTsKK0RF
RklORV9GSUxURVIoYXZnX3ZlcnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Fy
bS92cHhfY29udm9sdmU4X25lb25fYXNtLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9j
b252b2x2ZThfbmVvbl9hc20uaAppbmRleCBmMWM3ZDYyZWQwNDUuLmIxMjNkMWNiMDgwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb25fYXNtLmgK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb25fYXNtLmgKQEAg
LTE3LDEzICsxNywxMyBAQAogICAgICAgcHRyZGlmZl90IGRzdF9zdHJpZGUsIGNvbnN0IEludGVy
cEtlcm5lbCAqZmlsdGVyLCBpbnQgeDBfcTQsIFwKICAgICAgIGludCB4X3N0ZXBfcTQsIGludCB5
MF9xNCwgaW50IHlfc3RlcF9xNCwgaW50IHcsIGludCBoKTsKIAotREVDTEFSRV9GSUxURVIoaG9y
aXosIHR5cGUxKQotREVDTEFSRV9GSUxURVIoYXZnX2hvcml6LCB0eXBlMSkKLURFQ0xBUkVfRklM
VEVSKGhvcml6LCB0eXBlMikKLURFQ0xBUkVfRklMVEVSKGF2Z19ob3JpeiwgdHlwZTIpCi1ERUNM
QVJFX0ZJTFRFUih2ZXJ0LCB0eXBlMSkKLURFQ0xBUkVfRklMVEVSKGF2Z192ZXJ0LCB0eXBlMSkK
LURFQ0xBUkVfRklMVEVSKHZlcnQsIHR5cGUyKQotREVDTEFSRV9GSUxURVIoYXZnX3ZlcnQsIHR5
cGUyKQorREVDTEFSRV9GSUxURVIoaG9yaXosIHR5cGUxKTsKK0RFQ0xBUkVfRklMVEVSKGF2Z19o
b3JpeiwgdHlwZTEpOworREVDTEFSRV9GSUxURVIoaG9yaXosIHR5cGUyKTsKK0RFQ0xBUkVfRklM
VEVSKGF2Z19ob3JpeiwgdHlwZTIpOworREVDTEFSRV9GSUxURVIodmVydCwgdHlwZTEpOworREVD
TEFSRV9GSUxURVIoYXZnX3ZlcnQsIHR5cGUxKTsKK0RFQ0xBUkVfRklMVEVSKHZlcnQsIHR5cGUy
KTsKK0RFQ0xBUkVfRklMVEVSKGF2Z192ZXJ0LCB0eXBlMik7CiAKICNlbmRpZiAgLy8gVlBYX1ZQ
WF9EU1BfQVJNX1ZQWF9DT05WT0xWRThfTkVPTl9BU01fSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uX2RvdHByb2QuYyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlOF9uZW9uX2RvdHByb2QuYwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYmYwMTM2NGNmNzRjLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb25fZG90cHJvZC5jCisrKyAvZGV2L251bGwK
QEAgLTEsNzc3ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIxIFRoZSBXZWJNIHBy
b2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQg
Y2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJj
ZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBn
cmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1
dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmls
ZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGFybV9u
ZW9uLmg+Ci0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIK
LSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweC92cHhfaW50ZWdlci5o
IgotI2luY2x1ZGUgInZweF9kc3AvYXJtL21lbV9uZW9uLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9h
cm0vdHJhbnNwb3NlX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS92cHhfY29udm9sdmU4
X25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL3ZweF9maWx0ZXIuaCIKLSNpbmNsdWRlICJ2cHhf
cG9ydHMvbWVtLmgiCi0KLURFQ0xBUkVfQUxJR05FRCgxNiwgc3RhdGljIGNvbnN0IHVpbnQ4X3Qs
IGRvdF9wcm9kX3Blcm11dGVfdGJsWzQ4XSkgPSB7Ci0gIDAsIDEsIDIsICAzLCAgMSwgMiwgIDMs
ICA0LCAgMiwgIDMsICA0LCAgNSwgIDMsICA0LCAgNSwgIDYsCi0gIDQsIDUsIDYsICA3LCAgNSwg
NiwgIDcsICA4LCAgNiwgIDcsICA4LCAgOSwgIDcsICA4LCAgOSwgIDEwLAotICA4LCA5LCAxMCwg
MTEsIDksIDEwLCAxMSwgMTIsIDEwLCAxMSwgMTIsIDEzLCAxMSwgMTIsIDEzLCAxNAotfTsKLQot
REVDTEFSRV9BTElHTkVEKDE2LCBzdGF0aWMgY29uc3QgdWludDhfdCwgZG90X3Byb2RfdHJhbl9j
b25jYXRfdGJsWzMyXSkgPSB7Ci0gIDAsIDgsICAxNiwgMjQsIDEsIDksICAxNywgMjUsIDIsIDEw
LCAxOCwgMjYsIDMsIDExLCAxOSwgMjcsCi0gIDQsIDEyLCAyMCwgMjgsIDUsIDEzLCAyMSwgMjks
IDYsIDE0LCAyMiwgMzAsIDcsIDE1LCAyMywgMzEKLX07Ci0KLURFQ0xBUkVfQUxJR05FRCgxNiwg
c3RhdGljIGNvbnN0IHVpbnQ4X3QsIGRvdF9wcm9kX21lcmdlX2Jsb2NrX3RibFs0OF0pID0gewot
ICAvKiBTaGlmdCBsZWZ0IGFuZCBpbnNlcnQgbmV3IGxhc3QgY29sdW1uIGluIHRyYW5zcG9zZWQg
NHg0IGJsb2NrLiAqLwotICAxLCAyLCAzLCAxNiwgNSwgNiwgNywgMjAsIDksIDEwLCAxMSwgMjQs
IDEzLCAxNCwgMTUsIDI4LAotICAvKiBTaGlmdCBsZWZ0IGFuZCBpbnNlcnQgdHdvIG5ldyBjb2x1
bW5zIGluIHRyYW5zcG9zZWQgNHg0IGJsb2NrLiAqLwotICAyLCAzLCAxNiwgMTcsIDYsIDcsIDIw
LCAyMSwgMTAsIDExLCAyNCwgMjUsIDE0LCAxNSwgMjgsIDI5LAotICAvKiBTaGlmdCBsZWZ0IGFu
ZCBpbnNlcnQgdGhyZWUgbmV3IGNvbHVtbnMgaW4gdHJhbnNwb3NlZCA0eDQgYmxvY2suICovCi0g
IDMsIDE2LCAxNywgMTgsIDcsIDIwLCAyMSwgMjIsIDExLCAyNCwgMjUsIDI2LCAxNSwgMjgsIDI5
LCAzMAotfTsKLQotdm9pZCB2cHhfY29udm9sdmU4XzJkX2hvcml6X25lb25fZG90cHJvZChjb25z
dCB1aW50OF90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwg
aW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eF9zdGVwX3E0LCBpbnQgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB5X3N0ZXBfcTQsIGludCB3LCBpbnQgaCkgewotICBjb25zdCBpbnQ4eDhfdCBm
aWx0ZXJzID0gdm1vdm5fczE2KHZsZDFxX3MxNihmaWx0ZXJbeDBfcTRdKSk7Ci0gIGNvbnN0IGlu
dDE2eDhfdCBjb3JyZWN0X3RtcCA9IHZtdWxxX25fczE2KHZsZDFxX3MxNihmaWx0ZXJbeDBfcTRd
KSwgMTI4KTsKLSAgY29uc3QgaW50MzJ4NF90IGNvcnJlY3Rpb24gPSB2ZHVwcV9uX3MzMigoaW50
MzJfdCl2YWRkdnFfczE2KGNvcnJlY3RfdG1wKSk7Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgcmFuZ2Vf
bGltaXQgPSB2ZHVwcV9uX3U4KDEyOCk7Ci0gIHVpbnQ4eDE2X3QgczAsIHMxLCBzMiwgczM7Ci0K
LSAgYXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0ID09IDApOwotICBhc3NlcnQoZHN0X3N0cmlkZSAl
IDQgPT0gMCk7Ci0gIGFzc2VydCh4X3N0ZXBfcTQgPT0gMTYpOwotICBhc3NlcnQoaCAlIDQgPT0g
Myk7Ci0KLSAgKHZvaWQpeF9zdGVwX3E0OwotICAodm9pZCl5MF9xNDsKLSAgKHZvaWQpeV9zdGVw
X3E0OwotCi0gIHNyYyAtPSAzOwotCi0gIGlmICh3ID09IDQpIHsKLSAgICBjb25zdCB1aW50OHgx
NngyX3QgcGVybV90YmwgPSB2bGQxcV91OF94Mihkb3RfcHJvZF9wZXJtdXRlX3RibCk7Ci0gICAg
aW50MTZ4NF90IGQwLCBkMSwgZDIsIGQzOwotICAgIHVpbnQ4eDhfdCBkMDEsIGQyMzsKLQotICAg
IGRvIHsKLSAgICAgIGxvYWRfdThfMTZ4NChzcmMsIHNyY19zdHJpZGUsICZzMCwgJnMxLCAmczIs
ICZzMyk7Ci0KLSAgICAgIGQwID0gY29udm9sdmU4XzRfc2RvdChzMCwgZmlsdGVycywgY29ycmVj
dGlvbiwgcmFuZ2VfbGltaXQsIHBlcm1fdGJsKTsKLSAgICAgIGQxID0gY29udm9sdmU4XzRfc2Rv
dChzMSwgZmlsdGVycywgY29ycmVjdGlvbiwgcmFuZ2VfbGltaXQsIHBlcm1fdGJsKTsKLSAgICAg
IGQyID0gY29udm9sdmU4XzRfc2RvdChzMiwgZmlsdGVycywgY29ycmVjdGlvbiwgcmFuZ2VfbGlt
aXQsIHBlcm1fdGJsKTsKLSAgICAgIGQzID0gY29udm9sdmU4XzRfc2RvdChzMywgZmlsdGVycywg
Y29ycmVjdGlvbiwgcmFuZ2VfbGltaXQsIHBlcm1fdGJsKTsKLSAgICAgIGQwMSA9IHZxcnNocnVu
X25fczE2KHZjb21iaW5lX3MxNihkMCwgZDEpLCBGSUxURVJfQklUUyk7Ci0gICAgICBkMjMgPSB2
cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDIsIGQzKSwgRklMVEVSX0JJVFMpOwotCi0gICAg
ICBzdG9yZV91OChkc3QgKyAwICogZHN0X3N0cmlkZSwgZHN0X3N0cmlkZSwgZDAxKTsKLSAgICAg
IHN0b3JlX3U4KGRzdCArIDIgKiBkc3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCBkMjMpOwotCi0gICAg
ICBzcmMgKz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICBkc3QgKz0gNCAqIGRzdF9zdHJpZGU7Ci0g
ICAgICBoIC09IDQ7Ci0gICAgfSB3aGlsZSAoaCA+IDMpOwotCi0gICAgLyogUHJvY2VzcyBmaW5h
bCB0aHJlZSByb3dzIChoICUgNCA9PSAzKS4gU2VlIHZweF9jb252b2x2ZV9uZW9uLmMgZm9yCi0g
ICAgICogZnVydGhlciBkZXRhaWxzIG9uIHBvc3NpYmxlIHZhbHVlcyBvZiBibG9jayBoZWlnaHQu
ICovCi0gICAgbG9hZF91OF8xNngzKHNyYywgc3JjX3N0cmlkZSwgJnMwLCAmczEsICZzMik7Ci0K
LSAgICBkMCA9IGNvbnZvbHZlOF80X3Nkb3QoczAsIGZpbHRlcnMsIGNvcnJlY3Rpb24sIHJhbmdl
X2xpbWl0LCBwZXJtX3RibCk7Ci0gICAgZDEgPSBjb252b2x2ZThfNF9zZG90KHMxLCBmaWx0ZXJz
LCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotICAgIGQyID0gY29udm9sdmU4
XzRfc2RvdChzMiwgZmlsdGVycywgY29ycmVjdGlvbiwgcmFuZ2VfbGltaXQsIHBlcm1fdGJsKTsK
LSAgICBkMDEgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDAsIGQxKSwgRklMVEVSX0JJ
VFMpOwotICAgIGQyMyA9IHZxcnNocnVuX25fczE2KHZjb21iaW5lX3MxNihkMiwgdmR1cF9uX3Mx
NigwKSksIEZJTFRFUl9CSVRTKTsKLQotICAgIHN0b3JlX3U4KGRzdCArIDAgKiBkc3Rfc3RyaWRl
LCBkc3Rfc3RyaWRlLCBkMDEpOwotICAgIHN0b3JlX3U4XzR4MShkc3QgKyAyICogZHN0X3N0cmlk
ZSwgZDIzKTsKLSAgfSBlbHNlIHsKLSAgICBjb25zdCB1aW50OHgxNngzX3QgcGVybV90YmwgPSB2
bGQxcV91OF94Myhkb3RfcHJvZF9wZXJtdXRlX3RibCk7Ci0gICAgY29uc3QgdWludDhfdCAqczsK
LSAgICB1aW50OF90ICpkOwotICAgIGludCB3aWR0aDsKLSAgICB1aW50OHg4X3QgZDAsIGQxLCBk
MiwgZDM7Ci0KLSAgICBkbyB7Ci0gICAgICB3aWR0aCA9IHc7Ci0gICAgICBzID0gc3JjOwotICAg
ICAgZCA9IGRzdDsKLSAgICAgIGRvIHsKLSAgICAgICAgbG9hZF91OF8xNng0KHMsIHNyY19zdHJp
ZGUsICZzMCwgJnMxLCAmczIsICZzMyk7Ci0KLSAgICAgICAgZDAgPSBjb252b2x2ZThfOF9zZG90
KHMwLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotICAgICAg
ICBkMSA9IGNvbnZvbHZlOF84X3Nkb3QoczEsIGZpbHRlcnMsIGNvcnJlY3Rpb24sIHJhbmdlX2xp
bWl0LCBwZXJtX3RibCk7Ci0gICAgICAgIGQyID0gY29udm9sdmU4Xzhfc2RvdChzMiwgZmlsdGVy
cywgY29ycmVjdGlvbiwgcmFuZ2VfbGltaXQsIHBlcm1fdGJsKTsKLSAgICAgICAgZDMgPSBjb252
b2x2ZThfOF9zZG90KHMzLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90
YmwpOwotCi0gICAgICAgIHN0b3JlX3U4Xzh4NChkLCBkc3Rfc3RyaWRlLCBkMCwgZDEsIGQyLCBk
Myk7Ci0KLSAgICAgICAgcyArPSA4OwotICAgICAgICBkICs9IDg7Ci0gICAgICAgIHdpZHRoIC09
IDg7Ci0gICAgICB9IHdoaWxlICh3aWR0aCAhPSAwKTsKLSAgICAgIHNyYyArPSA0ICogc3JjX3N0
cmlkZTsKLSAgICAgIGRzdCArPSA0ICogZHN0X3N0cmlkZTsKLSAgICAgIGggLT0gNDsKLSAgICB9
IHdoaWxlIChoID4gMyk7Ci0KLSAgICAvKiBQcm9jZXNzIGZpbmFsIHRocmVlIHJvd3MgKGggJSA0
ID09IDMpLiBTZWUgdnB4X2NvbnZvbHZlX25lb24uYyBmb3IKLSAgICAgKiBmdXJ0aGVyIGRldGFp
bHMgb24gcG9zc2libGUgdmFsdWVzIG9mIGJsb2NrIGhlaWdodC4gKi8KLSAgICB3aWR0aCA9IHc7
Ci0gICAgcyA9IHNyYzsKLSAgICBkID0gZHN0OwotICAgIGRvIHsKLSAgICAgIGxvYWRfdThfMTZ4
MyhzLCBzcmNfc3RyaWRlLCAmczAsICZzMSwgJnMyKTsKLQotICAgICAgZDAgPSBjb252b2x2ZThf
OF9zZG90KHMwLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwot
ICAgICAgZDEgPSBjb252b2x2ZThfOF9zZG90KHMxLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5n
ZV9saW1pdCwgcGVybV90YmwpOwotICAgICAgZDIgPSBjb252b2x2ZThfOF9zZG90KHMyLCBmaWx0
ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotCi0gICAgICBzdG9yZV91
OF84eDMoZCwgZHN0X3N0cmlkZSwgZDAsIGQxLCBkMik7Ci0KLSAgICAgIHMgKz0gODsKLSAgICAg
IGQgKz0gODsKLSAgICAgIHdpZHRoIC09IDg7Ci0gICAgfSB3aGlsZSAod2lkdGggIT0gMCk7Ci0g
IH0KLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X2hvcml6X25lb25fZG90cHJvZChjb25zdCB1aW50
OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRl
ciwgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3LCBpbnQgaCkgewotICBjb25zdCBpbnQ4eDhfdCBmaWx0
ZXJzID0gdm1vdm5fczE2KHZsZDFxX3MxNihmaWx0ZXJbeDBfcTRdKSk7Ci0gIGNvbnN0IGludDE2
eDhfdCBjb3JyZWN0X3RtcCA9IHZtdWxxX25fczE2KHZsZDFxX3MxNihmaWx0ZXJbeDBfcTRdKSwg
MTI4KTsKLSAgY29uc3QgaW50MzJ4NF90IGNvcnJlY3Rpb24gPSB2ZHVwcV9uX3MzMigoaW50MzJf
dCl2YWRkdnFfczE2KGNvcnJlY3RfdG1wKSk7Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgcmFuZ2VfbGlt
aXQgPSB2ZHVwcV9uX3U4KDEyOCk7Ci0gIHVpbnQ4eDE2X3QgczAsIHMxLCBzMiwgczM7Ci0KLSAg
YXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0ID09IDApOwotICBhc3NlcnQoZHN0X3N0cmlkZSAlIDQg
PT0gMCk7Ci0gIGFzc2VydCh4X3N0ZXBfcTQgPT0gMTYpOwotCi0gICh2b2lkKXhfc3RlcF9xNDsK
LSAgKHZvaWQpeTBfcTQ7Ci0gICh2b2lkKXlfc3RlcF9xNDsKLQotICBzcmMgLT0gMzsKLQotICBp
ZiAodyA9PSA0KSB7Ci0gICAgY29uc3QgdWludDh4MTZ4Ml90IHBlcm1fdGJsID0gdmxkMXFfdThf
eDIoZG90X3Byb2RfcGVybXV0ZV90YmwpOwotICAgIGRvIHsKLSAgICAgIGludDE2eDRfdCB0MCwg
dDEsIHQyLCB0MzsKLSAgICAgIHVpbnQ4eDhfdCBkMDEsIGQyMzsKLQotICAgICAgbG9hZF91OF8x
Nng0KHNyYywgc3JjX3N0cmlkZSwgJnMwLCAmczEsICZzMiwgJnMzKTsKLQotICAgICAgdDAgPSBj
b252b2x2ZThfNF9zZG90KHMwLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVy
bV90YmwpOwotICAgICAgdDEgPSBjb252b2x2ZThfNF9zZG90KHMxLCBmaWx0ZXJzLCBjb3JyZWN0
aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotICAgICAgdDIgPSBjb252b2x2ZThfNF9zZG90
KHMyLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotICAgICAg
dDMgPSBjb252b2x2ZThfNF9zZG90KHMzLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1p
dCwgcGVybV90YmwpOwotICAgICAgZDAxID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KHQw
LCB0MSksIEZJTFRFUl9CSVRTKTsKLSAgICAgIGQyMyA9IHZxcnNocnVuX25fczE2KHZjb21iaW5l
X3MxNih0MiwgdDMpLCBGSUxURVJfQklUUyk7Ci0KLSAgICAgIHN0b3JlX3U4KGRzdCArIDAgKiBk
c3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCBkMDEpOwotICAgICAgc3RvcmVfdTgoZHN0ICsgMiAqIGRz
dF9zdHJpZGUsIGRzdF9zdHJpZGUsIGQyMyk7Ci0KLSAgICAgIHNyYyArPSA0ICogc3JjX3N0cmlk
ZTsKLSAgICAgIGRzdCArPSA0ICogZHN0X3N0cmlkZTsKLSAgICAgIGggLT0gNDsKLSAgICB9IHdo
aWxlIChoICE9IDApOwotICB9IGVsc2UgewotICAgIGNvbnN0IHVpbnQ4eDE2eDNfdCBwZXJtX3Ri
bCA9IHZsZDFxX3U4X3gzKGRvdF9wcm9kX3Blcm11dGVfdGJsKTsKLSAgICBjb25zdCB1aW50OF90
ICpzOwotICAgIHVpbnQ4X3QgKmQ7Ci0gICAgaW50IHdpZHRoOwotICAgIHVpbnQ4eDhfdCBkMCwg
ZDEsIGQyLCBkMzsKLQotICAgIGRvIHsKLSAgICAgIHdpZHRoID0gdzsKLSAgICAgIHMgPSBzcmM7
Ci0gICAgICBkID0gZHN0OwotICAgICAgZG8gewotICAgICAgICBsb2FkX3U4XzE2eDQocywgc3Jj
X3N0cmlkZSwgJnMwLCAmczEsICZzMiwgJnMzKTsKLQotICAgICAgICBkMCA9IGNvbnZvbHZlOF84
X3Nkb3QoczAsIGZpbHRlcnMsIGNvcnJlY3Rpb24sIHJhbmdlX2xpbWl0LCBwZXJtX3RibCk7Ci0g
ICAgICAgIGQxID0gY29udm9sdmU4Xzhfc2RvdChzMSwgZmlsdGVycywgY29ycmVjdGlvbiwgcmFu
Z2VfbGltaXQsIHBlcm1fdGJsKTsKLSAgICAgICAgZDIgPSBjb252b2x2ZThfOF9zZG90KHMyLCBm
aWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotICAgICAgICBkMyA9
IGNvbnZvbHZlOF84X3Nkb3QoczMsIGZpbHRlcnMsIGNvcnJlY3Rpb24sIHJhbmdlX2xpbWl0LCBw
ZXJtX3RibCk7Ci0KLSAgICAgICAgc3RvcmVfdThfOHg0KGQsIGRzdF9zdHJpZGUsIGQwLCBkMSwg
ZDIsIGQzKTsKLQotICAgICAgICBzICs9IDg7Ci0gICAgICAgIGQgKz0gODsKLSAgICAgICAgd2lk
dGggLT0gODsKLSAgICAgIH0gd2hpbGUgKHdpZHRoICE9IDApOwotICAgICAgc3JjICs9IDQgKiBz
cmNfc3RyaWRlOwotICAgICAgZHN0ICs9IDQgKiBkc3Rfc3RyaWRlOwotICAgICAgaCAtPSA0Owot
ICAgIH0gd2hpbGUgKGggIT0gMCk7Ci0gIH0KLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X2F2Z19o
b3Jpel9uZW9uX2RvdHByb2QoY29uc3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgSW50ZXJwS2VybmVsICpmaWx0ZXIsIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsIGludCB5MF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsIGludCB3LCBp
bnQgaCkgewotICBjb25zdCBpbnQ4eDhfdCBmaWx0ZXJzID0gdm1vdm5fczE2KHZsZDFxX3MxNihm
aWx0ZXJbeDBfcTRdKSk7Ci0gIGNvbnN0IGludDE2eDhfdCBjb3JyZWN0X3RtcCA9IHZtdWxxX25f
czE2KHZsZDFxX3MxNihmaWx0ZXJbeDBfcTRdKSwgMTI4KTsKLSAgY29uc3QgaW50MzJ4NF90IGNv
cnJlY3Rpb24gPSB2ZHVwcV9uX3MzMigoaW50MzJfdCl2YWRkdnFfczE2KGNvcnJlY3RfdG1wKSk7
Ci0gIGNvbnN0IHVpbnQ4eDE2X3QgcmFuZ2VfbGltaXQgPSB2ZHVwcV9uX3U4KDEyOCk7Ci0gIHVp
bnQ4eDE2X3QgczAsIHMxLCBzMiwgczM7Ci0KLSAgYXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0ID09
IDApOwotICBhc3NlcnQoZHN0X3N0cmlkZSAlIDQgPT0gMCk7Ci0gIGFzc2VydCh4X3N0ZXBfcTQg
PT0gMTYpOwotCi0gICh2b2lkKXhfc3RlcF9xNDsKLSAgKHZvaWQpeTBfcTQ7Ci0gICh2b2lkKXlf
c3RlcF9xNDsKLQotICBzcmMgLT0gMzsKLQotICBpZiAodyA9PSA0KSB7Ci0gICAgY29uc3QgdWlu
dDh4MTZ4Ml90IHBlcm1fdGJsID0gdmxkMXFfdThfeDIoZG90X3Byb2RfcGVybXV0ZV90YmwpOwot
ICAgIGRvIHsKLSAgICAgIGludDE2eDRfdCB0MCwgdDEsIHQyLCB0MzsKLSAgICAgIHVpbnQ4eDhf
dCBkMDEsIGQyMywgZGQwMSwgZGQyMzsKLQotICAgICAgbG9hZF91OF8xNng0KHNyYywgc3JjX3N0
cmlkZSwgJnMwLCAmczEsICZzMiwgJnMzKTsKLQotICAgICAgdDAgPSBjb252b2x2ZThfNF9zZG90
KHMwLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotICAgICAg
dDEgPSBjb252b2x2ZThfNF9zZG90KHMxLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1p
dCwgcGVybV90YmwpOwotICAgICAgdDIgPSBjb252b2x2ZThfNF9zZG90KHMyLCBmaWx0ZXJzLCBj
b3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotICAgICAgdDMgPSBjb252b2x2ZThf
NF9zZG90KHMzLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwot
ICAgICAgZDAxID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KHQwLCB0MSksIEZJTFRFUl9C
SVRTKTsKLSAgICAgIGQyMyA9IHZxcnNocnVuX25fczE2KHZjb21iaW5lX3MxNih0MiwgdDMpLCBG
SUxURVJfQklUUyk7Ci0KLSAgICAgIGRkMDEgPSBsb2FkX3U4KGRzdCArIDAgKiBkc3Rfc3RyaWRl
LCBkc3Rfc3RyaWRlKTsKLSAgICAgIGRkMjMgPSBsb2FkX3U4KGRzdCArIDIgKiBkc3Rfc3RyaWRl
LCBkc3Rfc3RyaWRlKTsKLQotICAgICAgZDAxID0gdnJoYWRkX3U4KGQwMSwgZGQwMSk7Ci0gICAg
ICBkMjMgPSB2cmhhZGRfdTgoZDIzLCBkZDIzKTsKLQotICAgICAgc3RvcmVfdTgoZHN0ICsgMCAq
IGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUsIGQwMSk7Ci0gICAgICBzdG9yZV91OChkc3QgKyAyICog
ZHN0X3N0cmlkZSwgZHN0X3N0cmlkZSwgZDIzKTsKLQotICAgICAgc3JjICs9IDQgKiBzcmNfc3Ry
aWRlOwotICAgICAgZHN0ICs9IDQgKiBkc3Rfc3RyaWRlOwotICAgICAgaCAtPSA0OwotICAgIH0g
d2hpbGUgKGggIT0gMCk7Ci0gIH0gZWxzZSB7Ci0gICAgY29uc3QgdWludDh4MTZ4M190IHBlcm1f
dGJsID0gdmxkMXFfdThfeDMoZG90X3Byb2RfcGVybXV0ZV90YmwpOwotICAgIGNvbnN0IHVpbnQ4
X3QgKnM7Ci0gICAgdWludDhfdCAqZDsKLSAgICBpbnQgd2lkdGg7Ci0gICAgdWludDh4OF90IGQw
LCBkMSwgZDIsIGQzLCBkZDAsIGRkMSwgZGQyLCBkZDM7Ci0KLSAgICBkbyB7Ci0gICAgICB3aWR0
aCA9IHc7Ci0gICAgICBzID0gc3JjOwotICAgICAgZCA9IGRzdDsKLSAgICAgIGRvIHsKLSAgICAg
ICAgbG9hZF91OF8xNng0KHMsIHNyY19zdHJpZGUsICZzMCwgJnMxLCAmczIsICZzMyk7Ci0KLSAg
ICAgICAgZDAgPSBjb252b2x2ZThfOF9zZG90KHMwLCBmaWx0ZXJzLCBjb3JyZWN0aW9uLCByYW5n
ZV9saW1pdCwgcGVybV90YmwpOwotICAgICAgICBkMSA9IGNvbnZvbHZlOF84X3Nkb3QoczEsIGZp
bHRlcnMsIGNvcnJlY3Rpb24sIHJhbmdlX2xpbWl0LCBwZXJtX3RibCk7Ci0gICAgICAgIGQyID0g
Y29udm9sdmU4Xzhfc2RvdChzMiwgZmlsdGVycywgY29ycmVjdGlvbiwgcmFuZ2VfbGltaXQsIHBl
cm1fdGJsKTsKLSAgICAgICAgZDMgPSBjb252b2x2ZThfOF9zZG90KHMzLCBmaWx0ZXJzLCBjb3Jy
ZWN0aW9uLCByYW5nZV9saW1pdCwgcGVybV90YmwpOwotCi0gICAgICAgIGxvYWRfdThfOHg0KGQs
IGRzdF9zdHJpZGUsICZkZDAsICZkZDEsICZkZDIsICZkZDMpOwotCi0gICAgICAgIGQwID0gdnJo
YWRkX3U4KGQwLCBkZDApOwotICAgICAgICBkMSA9IHZyaGFkZF91OChkMSwgZGQxKTsKLSAgICAg
ICAgZDIgPSB2cmhhZGRfdTgoZDIsIGRkMik7Ci0gICAgICAgIGQzID0gdnJoYWRkX3U4KGQzLCBk
ZDMpOwotCi0gICAgICAgIHN0b3JlX3U4Xzh4NChkLCBkc3Rfc3RyaWRlLCBkMCwgZDEsIGQyLCBk
Myk7Ci0KLSAgICAgICAgcyArPSA4OwotICAgICAgICBkICs9IDg7Ci0gICAgICAgIHdpZHRoIC09
IDg7Ci0gICAgICB9IHdoaWxlICh3aWR0aCAhPSAwKTsKLSAgICAgIHNyYyArPSA0ICogc3JjX3N0
cmlkZTsKLSAgICAgIGRzdCArPSA0ICogZHN0X3N0cmlkZTsKLSAgICAgIGggLT0gNDsKLSAgICB9
IHdoaWxlIChoICE9IDApOwotICB9Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2Vf
Y29uY2F0XzR4NChpbnQ4eDhfdCBhMCwgaW50OHg4X3QgYTEsIGludDh4OF90IGEyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDh4OF90IGEzLCBpbnQ4eDE2X3Qg
KmIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4
MTZfdCBwZXJtdXRlX3RibCkgewotICAvKiBUcmFuc3Bvc2UgOC1iaXQgZWxlbWVudHMgYW5kIGNv
bmNhdGVuYXRlIHJlc3VsdCByb3dzIGFzIGZvbGxvd3M6Ci0gICAqIGEwOiAwMCwgMDEsIDAyLCAw
MywgWFgsIFhYLCBYWCwgWFgKLSAgICogYTE6IDEwLCAxMSwgMTIsIDEzLCBYWCwgWFgsIFhYLCBY
WAotICAgKiBhMjogMjAsIDIxLCAyMiwgMjMsIFhYLCBYWCwgWFgsIFhYCi0gICAqIGEzOiAzMCwg
MzEsIDMyLCAzMywgWFgsIFhYLCBYWCwgWFgKLSAgICoKLSAgICogYjogMDAsIDEwLCAyMCwgMzAs
IDAxLCAxMSwgMjEsIDMxLCAwMiwgMTIsIDIyLCAzMiwgMDMsIDEzLCAyMywgMzMKLSAgICoKLSAg
ICogVGhlICdwZXJtdXRlX3RibCcgaXMgYWx3YXlzICdkb3RfcHJvZF90cmFuX2NvbmNhdF90Ymwn
IGFib3ZlLiBQYXNzaW5nIGl0Ci0gICAqIGFzIGFuIGFyZ3VtZW50IGlzIHByZWZlcmFibGUgdG8g
bG9hZGluZyBpdCBkaXJlY3RseSBmcm9tIG1lbW9yeSBhcyB0aGlzCi0gICAqIGlubGluZSBoZWxw
ZXIgaXMgY2FsbGVkIG1hbnkgdGltZXMgZnJvbSB0aGUgc2FtZSBwYXJlbnQgZnVuY3Rpb24uCi0g
ICAqLwotCi0gIGludDh4MTZ4Ml90IHNhbXBsZXMgPSB7IHsgdmNvbWJpbmVfczgoYTAsIGExKSwg
dmNvbWJpbmVfczgoYTIsIGEzKSB9IH07Ci0gICpiID0gdnF0YmwycV9zOChzYW1wbGVzLCBwZXJt
dXRlX3RibCk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCB0cmFuc3Bvc2VfY29uY2F0Xzh4NChp
bnQ4eDhfdCBhMCwgaW50OHg4X3QgYTEsIGludDh4OF90IGEyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDh4OF90IGEzLCBpbnQ4eDE2X3QgKmIwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDh4MTZfdCAqYjEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4MTZ4Ml90IHBlcm11
dGVfdGJsKSB7Ci0gIC8qIFRyYW5zcG9zZSA4LWJpdCBlbGVtZW50cyBhbmQgY29uY2F0ZW5hdGUg
cmVzdWx0IHJvd3MgYXMgZm9sbG93czoKLSAgICogYTA6IDAwLCAwMSwgMDIsIDAzLCAwNCwgMDUs
IDA2LCAwNwotICAgKiBhMTogMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3Ci0gICAqIGEy
OiAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcKLSAgICogYTM6IDMwLCAzMSwgMzIsIDMz
LCAzNCwgMzUsIDM2LCAzNwotICAgKgotICAgKiBiMDogMDAsIDEwLCAyMCwgMzAsIDAxLCAxMSwg
MjEsIDMxLCAwMiwgMTIsIDIyLCAzMiwgMDMsIDEzLCAyMywgMzMKLSAgICogYjE6IDA0LCAxNCwg
MjQsIDM0LCAwNSwgMTUsIDI1LCAzNSwgMDYsIDE2LCAyNiwgMzYsIDA3LCAxNywgMjcsIDM3Ci0g
ICAqCi0gICAqIFRoZSAncGVybXV0ZV90YmwnIGlzIGFsd2F5cyAnZG90X3Byb2RfdHJhbl9jb25j
YXRfdGJsJyBhYm92ZS4gUGFzc2luZyBpdAotICAgKiBhcyBhbiBhcmd1bWVudCBpcyBwcmVmZXJh
YmxlIHRvIGxvYWRpbmcgaXQgZGlyZWN0bHkgZnJvbSBtZW1vcnkgYXMgdGhpcwotICAgKiBpbmxp
bmUgaGVscGVyIGlzIGNhbGxlZCBtYW55IHRpbWVzIGZyb20gdGhlIHNhbWUgcGFyZW50IGZ1bmN0
aW9uLgotICAgKi8KLQotICBpbnQ4eDE2eDJfdCBzYW1wbGVzID0geyB7IHZjb21iaW5lX3M4KGEw
LCBhMSksIHZjb21iaW5lX3M4KGEyLCBhMykgfSB9OwotICAqYjAgPSB2cXRibDJxX3M4KHNhbXBs
ZXMsIHBlcm11dGVfdGJsLnZhbFswXSk7Ci0gICpiMSA9IHZxdGJsMnFfczgoc2FtcGxlcywgcGVy
bXV0ZV90YmwudmFsWzFdKTsKLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X3ZlcnRfbmVvbl9kb3Rw
cm9kKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBwdHJkaWZmX3QgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBL
ZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4X3N0ZXBfcTQsIGludCB5MF9xNCwgaW50IHlfc3RlcF9xNCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywgaW50IGgpIHsKLSAgY29uc3QgaW50
OHg4X3QgZmlsdGVycyA9IHZtb3ZuX3MxNih2bGQxcV9zMTYoZmlsdGVyW3kwX3E0XSkpOwotICBj
b25zdCBpbnQxNng4X3QgY29ycmVjdF90bXAgPSB2bXVscV9uX3MxNih2bGQxcV9zMTYoZmlsdGVy
W3kwX3E0XSksIDEyOCk7Ci0gIGNvbnN0IGludDMyeDRfdCBjb3JyZWN0aW9uID0gdmR1cHFfbl9z
MzIoKGludDMyX3QpdmFkZHZxX3MxNihjb3JyZWN0X3RtcCkpOwotICBjb25zdCB1aW50OHg4X3Qg
cmFuZ2VfbGltaXQgPSB2ZHVwX25fdTgoMTI4KTsKLSAgY29uc3QgdWludDh4MTZ4M190IG1lcmdl
X2Jsb2NrX3RibCA9IHZsZDFxX3U4X3gzKGRvdF9wcm9kX21lcmdlX2Jsb2NrX3RibCk7Ci0gIHVp
bnQ4eDhfdCB0MCwgdDEsIHQyLCB0MywgdDQsIHQ1LCB0NjsKLSAgaW50OHg4X3QgczAsIHMxLCBz
MiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgczksIHMxMDsKLSAgaW50OHgxNngyX3Qgc2FtcGxl
c19MVVQ7Ci0KLSAgYXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0ID09IDApOwotICBhc3NlcnQoZHN0
X3N0cmlkZSAlIDQgPT0gMCk7Ci0gIGFzc2VydCh5X3N0ZXBfcTQgPT0gMTYpOwotCi0gICh2b2lk
KXgwX3E0OwotICAodm9pZCl4X3N0ZXBfcTQ7Ci0gICh2b2lkKXlfc3RlcF9xNDsKLQotICBzcmMg
LT0gMyAqIHNyY19zdHJpZGU7Ci0KLSAgaWYgKHcgPT0gNCkgewotICAgIGNvbnN0IHVpbnQ4eDE2
X3QgdHJhbl9jb25jYXRfdGJsID0gdmxkMXFfdTgoZG90X3Byb2RfdHJhbl9jb25jYXRfdGJsKTsK
LSAgICBpbnQ4eDE2X3QgczAxMjMsIHMxMjM0LCBzMjM0NSwgczM0NTYsIHM0NTY3LCBzNTY3OCwg
czY3ODksIHM3ODkxMDsKLSAgICBpbnQxNng0X3QgZDAsIGQxLCBkMiwgZDM7Ci0gICAgdWludDh4
OF90IGQwMSwgZDIzOwotCi0gICAgbG9hZF91OF84eDcoc3JjLCBzcmNfc3RyaWRlLCAmdDAsICZ0
MSwgJnQyLCAmdDMsICZ0NCwgJnQ1LCAmdDYpOwotICAgIHNyYyArPSA3ICogc3JjX3N0cmlkZTsK
LQotICAgIC8qIENsYW1wIHNhbXBsZSByYW5nZSB0byBbLTEyOCwgMTI3XSBmb3IgOC1iaXQgc2ln
bmVkIGRvdCBwcm9kdWN0LiAqLwotICAgIHMwID0gdnJlaW50ZXJwcmV0X3M4X3U4KHZzdWJfdTgo
dDAsIHJhbmdlX2xpbWl0KSk7Ci0gICAgczEgPSB2cmVpbnRlcnByZXRfczhfdTgodnN1Yl91OCh0
MSwgcmFuZ2VfbGltaXQpKTsKLSAgICBzMiA9IHZyZWludGVycHJldF9zOF91OCh2c3ViX3U4KHQy
LCByYW5nZV9saW1pdCkpOwotICAgIHMzID0gdnJlaW50ZXJwcmV0X3M4X3U4KHZzdWJfdTgodDMs
IHJhbmdlX2xpbWl0KSk7Ci0gICAgczQgPSB2cmVpbnRlcnByZXRfczhfdTgodnN1Yl91OCh0NCwg
cmFuZ2VfbGltaXQpKTsKLSAgICBzNSA9IHZyZWludGVycHJldF9zOF91OCh2c3ViX3U4KHQ1LCBy
YW5nZV9saW1pdCkpOwotICAgIHM2ID0gdnJlaW50ZXJwcmV0X3M4X3U4KHZzdWJfdTgodDYsIHJh
bmdlX2xpbWl0KSk7Ci0gICAgczcgPSB2ZHVwX25fczgoMCk7Ci0gICAgczggPSB2ZHVwX25fczgo
MCk7Ci0gICAgczkgPSB2ZHVwX25fczgoMCk7Ci0KLSAgICAvKiBUaGlzIG9wZXJhdGlvbiBjb21i
aW5lcyBhIGNvbnZlbnRpb25hbCB0cmFuc3Bvc2UgYW5kIHRoZSBzYW1wbGUgcGVybXV0ZQotICAg
ICAqIChzZWUgaG9yaXpvbnRhbCBjYXNlKSByZXF1aXJlZCBiZWZvcmUgY29tcHV0aW5nIHRoZSBk
b3QgcHJvZHVjdC4KLSAgICAgKi8KLSAgICB0cmFuc3Bvc2VfY29uY2F0XzR4NChzMCwgczEsIHMy
LCBzMywgJnMwMTIzLCB0cmFuX2NvbmNhdF90YmwpOwotICAgIHRyYW5zcG9zZV9jb25jYXRfNHg0
KHMxLCBzMiwgczMsIHM0LCAmczEyMzQsIHRyYW5fY29uY2F0X3RibCk7Ci0gICAgdHJhbnNwb3Nl
X2NvbmNhdF80eDQoczIsIHMzLCBzNCwgczUsICZzMjM0NSwgdHJhbl9jb25jYXRfdGJsKTsKLSAg
ICB0cmFuc3Bvc2VfY29uY2F0XzR4NChzMywgczQsIHM1LCBzNiwgJnMzNDU2LCB0cmFuX2NvbmNh
dF90YmwpOwotICAgIHRyYW5zcG9zZV9jb25jYXRfNHg0KHM0LCBzNSwgczYsIHM3LCAmczQ1Njcs
IHRyYW5fY29uY2F0X3RibCk7Ci0gICAgdHJhbnNwb3NlX2NvbmNhdF80eDQoczUsIHM2LCBzNywg
czgsICZzNTY3OCwgdHJhbl9jb25jYXRfdGJsKTsKLSAgICB0cmFuc3Bvc2VfY29uY2F0XzR4NChz
NiwgczcsIHM4LCBzOSwgJnM2Nzg5LCB0cmFuX2NvbmNhdF90YmwpOwotCi0gICAgZG8gewotICAg
ICAgdWludDh4OF90IHQ3LCB0OCwgdDksIHQxMDsKLQotICAgICAgbG9hZF91OF84eDQoc3JjLCBz
cmNfc3RyaWRlLCAmdDcsICZ0OCwgJnQ5LCAmdDEwKTsKLQotICAgICAgczcgPSB2cmVpbnRlcnBy
ZXRfczhfdTgodnN1Yl91OCh0NywgcmFuZ2VfbGltaXQpKTsKLSAgICAgIHM4ID0gdnJlaW50ZXJw
cmV0X3M4X3U4KHZzdWJfdTgodDgsIHJhbmdlX2xpbWl0KSk7Ci0gICAgICBzOSA9IHZyZWludGVy
cHJldF9zOF91OCh2c3ViX3U4KHQ5LCByYW5nZV9saW1pdCkpOwotICAgICAgczEwID0gdnJlaW50
ZXJwcmV0X3M4X3U4KHZzdWJfdTgodDEwLCByYW5nZV9saW1pdCkpOwotCi0gICAgICB0cmFuc3Bv
c2VfY29uY2F0XzR4NChzNywgczgsIHM5LCBzMTAsICZzNzg5MTAsIHRyYW5fY29uY2F0X3RibCk7
Ci0KLSAgICAgIC8qIE1lcmdlIG5ldyBkYXRhIGludG8gYmxvY2sgZnJvbSBwcmV2aW91cyBpdGVy
YXRpb24uICovCi0gICAgICBzYW1wbGVzX0xVVC52YWxbMF0gPSBzMzQ1NjsKLSAgICAgIHNhbXBs
ZXNfTFVULnZhbFsxXSA9IHM3ODkxMDsKLSAgICAgIHM0NTY3ID0gdnF0YmwycV9zOChzYW1wbGVz
X0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZhbFswXSk7Ci0gICAgICBzNTY3OCA9IHZxdGJsMnFfczgo
c2FtcGxlc19MVVQsIG1lcmdlX2Jsb2NrX3RibC52YWxbMV0pOwotICAgICAgczY3ODkgPSB2cXRi
bDJxX3M4KHNhbXBsZXNfTFVULCBtZXJnZV9ibG9ja190YmwudmFsWzJdKTsKLQotICAgICAgZDAg
PSBjb252b2x2ZThfNF9zZG90X3BhcnRpYWwoczAxMjMsIHM0NTY3LCBjb3JyZWN0aW9uLCBmaWx0
ZXJzKTsKLSAgICAgIGQxID0gY29udm9sdmU4XzRfc2RvdF9wYXJ0aWFsKHMxMjM0LCBzNTY3OCwg
Y29ycmVjdGlvbiwgZmlsdGVycyk7Ci0gICAgICBkMiA9IGNvbnZvbHZlOF80X3Nkb3RfcGFydGlh
bChzMjM0NSwgczY3ODksIGNvcnJlY3Rpb24sIGZpbHRlcnMpOwotICAgICAgZDMgPSBjb252b2x2
ZThfNF9zZG90X3BhcnRpYWwoczM0NTYsIHM3ODkxMCwgY29ycmVjdGlvbiwgZmlsdGVycyk7Ci0g
ICAgICBkMDEgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDAsIGQxKSwgRklMVEVSX0JJ
VFMpOwotICAgICAgZDIzID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KGQyLCBkMyksIEZJ
TFRFUl9CSVRTKTsKLQotICAgICAgc3RvcmVfdTgoZHN0ICsgMCAqIGRzdF9zdHJpZGUsIGRzdF9z
dHJpZGUsIGQwMSk7Ci0gICAgICBzdG9yZV91OChkc3QgKyAyICogZHN0X3N0cmlkZSwgZHN0X3N0
cmlkZSwgZDIzKTsKLQotICAgICAgLyogUHJlcGFyZSBibG9jayBmb3IgbmV4dCBpdGVyYXRpb24g
LSByZS11c2luZyBhcyBtdWNoIGFzIHBvc3NpYmxlLiAqLwotICAgICAgLyogU2h1ZmZsZSBldmVy
eXRoaW5nIHVwIGZvdXIgcm93cy4gKi8KLSAgICAgIHMwMTIzID0gczQ1Njc7Ci0gICAgICBzMTIz
NCA9IHM1Njc4OwotICAgICAgczIzNDUgPSBzNjc4OTsKLSAgICAgIHMzNDU2ID0gczc4OTEwOwot
Ci0gICAgICBzcmMgKz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICBkc3QgKz0gNCAqIGRzdF9zdHJp
ZGU7Ci0gICAgICBoIC09IDQ7Ci0gICAgfSB3aGlsZSAoaCAhPSAwKTsKLSAgfSBlbHNlIHsKLSAg
ICBjb25zdCB1aW50OHgxNngyX3QgdHJhbl9jb25jYXRfdGJsID0gdmxkMXFfdThfeDIoZG90X3By
b2RfdHJhbl9jb25jYXRfdGJsKTsKLSAgICBpbnQ4eDE2X3QgczAxMjNfbG8sIHMwMTIzX2hpLCBz
MTIzNF9sbywgczEyMzRfaGksIHMyMzQ1X2xvLCBzMjM0NV9oaSwKLSAgICAgICAgczM0NTZfbG8s
IHMzNDU2X2hpLCBzNDU2N19sbywgczQ1NjdfaGksIHM1Njc4X2xvLCBzNTY3OF9oaSwgczY3ODlf
bG8sCi0gICAgICAgIHM2Nzg5X2hpLCBzNzg5MTBfbG8sIHM3ODkxMF9oaTsKLSAgICB1aW50OHg4
X3QgZDAsIGQxLCBkMiwgZDM7Ci0gICAgY29uc3QgdWludDhfdCAqczsKLSAgICB1aW50OF90ICpk
OwotICAgIGludCBoZWlnaHQ7Ci0KLSAgICBkbyB7Ci0gICAgICBoZWlnaHQgPSBoOwotICAgICAg
cyA9IHNyYzsKLSAgICAgIGQgPSBkc3Q7Ci0KLSAgICAgIGxvYWRfdThfOHg3KHMsIHNyY19zdHJp
ZGUsICZ0MCwgJnQxLCAmdDIsICZ0MywgJnQ0LCAmdDUsICZ0Nik7Ci0gICAgICBzICs9IDcgKiBz
cmNfc3RyaWRlOwotCi0gICAgICAvKiBDbGFtcCBzYW1wbGUgcmFuZ2UgdG8gWy0xMjgsIDEyN10g
Zm9yIDgtYml0IHNpZ25lZCBkb3QgcHJvZHVjdC4gKi8KLSAgICAgIHMwID0gdnJlaW50ZXJwcmV0
X3M4X3U4KHZzdWJfdTgodDAsIHJhbmdlX2xpbWl0KSk7Ci0gICAgICBzMSA9IHZyZWludGVycHJl
dF9zOF91OCh2c3ViX3U4KHQxLCByYW5nZV9saW1pdCkpOwotICAgICAgczIgPSB2cmVpbnRlcnBy
ZXRfczhfdTgodnN1Yl91OCh0MiwgcmFuZ2VfbGltaXQpKTsKLSAgICAgIHMzID0gdnJlaW50ZXJw
cmV0X3M4X3U4KHZzdWJfdTgodDMsIHJhbmdlX2xpbWl0KSk7Ci0gICAgICBzNCA9IHZyZWludGVy
cHJldF9zOF91OCh2c3ViX3U4KHQ0LCByYW5nZV9saW1pdCkpOwotICAgICAgczUgPSB2cmVpbnRl
cnByZXRfczhfdTgodnN1Yl91OCh0NSwgcmFuZ2VfbGltaXQpKTsKLSAgICAgIHM2ID0gdnJlaW50
ZXJwcmV0X3M4X3U4KHZzdWJfdTgodDYsIHJhbmdlX2xpbWl0KSk7Ci0gICAgICBzNyA9IHZkdXBf
bl9zOCgwKTsKLSAgICAgIHM4ID0gdmR1cF9uX3M4KDApOwotICAgICAgczkgPSB2ZHVwX25fczgo
MCk7Ci0KLSAgICAgIC8qIFRoaXMgb3BlcmF0aW9uIGNvbWJpbmVzIGEgY29udmVudGlvbmFsIHRy
YW5zcG9zZSBhbmQgdGhlIHNhbXBsZSBwZXJtdXRlCi0gICAgICAgKiAoc2VlIGhvcml6b250YWwg
Y2FzZSkgcmVxdWlyZWQgYmVmb3JlIGNvbXB1dGluZyB0aGUgZG90IHByb2R1Y3QuCi0gICAgICAg
Ki8KLSAgICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHMwLCBzMSwgczIsIHMzLCAmczAxMjNfbG8s
ICZzMDEyM19oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3RibCk7
Ci0gICAgICB0cmFuc3Bvc2VfY29uY2F0Xzh4NChzMSwgczIsIHMzLCBzNCwgJnMxMjM0X2xvLCAm
czEyMzRfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwot
ICAgICAgdHJhbnNwb3NlX2NvbmNhdF84eDQoczIsIHMzLCBzNCwgczUsICZzMjM0NV9sbywgJnMy
MzQ1X2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRfdGJsKTsKLSAg
ICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHMzLCBzNCwgczUsIHM2LCAmczM0NTZfbG8sICZzMzQ1
Nl9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3RibCk7Ci0gICAg
ICB0cmFuc3Bvc2VfY29uY2F0Xzh4NChzNCwgczUsIHM2LCBzNywgJnM0NTY3X2xvLCAmczQ1Njdf
aGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwotICAgICAg
dHJhbnNwb3NlX2NvbmNhdF84eDQoczUsIHM2LCBzNywgczgsICZzNTY3OF9sbywgJnM1Njc4X2hp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRfdGJsKTsKLSAgICAgIHRy
YW5zcG9zZV9jb25jYXRfOHg0KHM2LCBzNywgczgsIHM5LCAmczY3ODlfbG8sICZzNjc4OV9oaSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3RibCk7Ci0KLSAgICAgIGRv
IHsKLSAgICAgICAgdWludDh4OF90IHQ3LCB0OCwgdDksIHQxMDsKLQotICAgICAgICBsb2FkX3U4
Xzh4NChzLCBzcmNfc3RyaWRlLCAmdDcsICZ0OCwgJnQ5LCAmdDEwKTsKLQotICAgICAgICBzNyA9
IHZyZWludGVycHJldF9zOF91OCh2c3ViX3U4KHQ3LCByYW5nZV9saW1pdCkpOwotICAgICAgICBz
OCA9IHZyZWludGVycHJldF9zOF91OCh2c3ViX3U4KHQ4LCByYW5nZV9saW1pdCkpOwotICAgICAg
ICBzOSA9IHZyZWludGVycHJldF9zOF91OCh2c3ViX3U4KHQ5LCByYW5nZV9saW1pdCkpOwotICAg
ICAgICBzMTAgPSB2cmVpbnRlcnByZXRfczhfdTgodnN1Yl91OCh0MTAsIHJhbmdlX2xpbWl0KSk7
Ci0KLSAgICAgICAgdHJhbnNwb3NlX2NvbmNhdF84eDQoczcsIHM4LCBzOSwgczEwLCAmczc4OTEw
X2xvLCAmczc4OTEwX2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNh
dF90YmwpOwotCi0gICAgICAgIC8qIE1lcmdlIG5ldyBkYXRhIGludG8gYmxvY2sgZnJvbSBwcmV2
aW91cyBpdGVyYXRpb24uICovCi0gICAgICAgIHNhbXBsZXNfTFVULnZhbFswXSA9IHMzNDU2X2xv
OwotICAgICAgICBzYW1wbGVzX0xVVC52YWxbMV0gPSBzNzg5MTBfbG87Ci0gICAgICAgIHM0NTY3
X2xvID0gdnF0YmwycV9zOChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZhbFswXSk7Ci0g
ICAgICAgIHM1Njc4X2xvID0gdnF0YmwycV9zOChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxvY2tfdGJs
LnZhbFsxXSk7Ci0gICAgICAgIHM2Nzg5X2xvID0gdnF0YmwycV9zOChzYW1wbGVzX0xVVCwgbWVy
Z2VfYmxvY2tfdGJsLnZhbFsyXSk7Ci0KLSAgICAgICAgc2FtcGxlc19MVVQudmFsWzBdID0gczM0
NTZfaGk7Ci0gICAgICAgIHNhbXBsZXNfTFVULnZhbFsxXSA9IHM3ODkxMF9oaTsKLSAgICAgICAg
czQ1NjdfaGkgPSB2cXRibDJxX3M4KHNhbXBsZXNfTFVULCBtZXJnZV9ibG9ja190YmwudmFsWzBd
KTsKLSAgICAgICAgczU2NzhfaGkgPSB2cXRibDJxX3M4KHNhbXBsZXNfTFVULCBtZXJnZV9ibG9j
a190YmwudmFsWzFdKTsKLSAgICAgICAgczY3ODlfaGkgPSB2cXRibDJxX3M4KHNhbXBsZXNfTFVU
LCBtZXJnZV9ibG9ja190YmwudmFsWzJdKTsKLQotICAgICAgICBkMCA9IGNvbnZvbHZlOF84X3Nk
b3RfcGFydGlhbChzMDEyM19sbywgczQ1NjdfbG8sIHMwMTIzX2hpLCBzNDU2N19oaSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdGlvbiwgZmlsdGVycyk7Ci0g
ICAgICAgIGQxID0gY29udm9sdmU4Xzhfc2RvdF9wYXJ0aWFsKHMxMjM0X2xvLCBzNTY3OF9sbywg
czEyMzRfaGksIHM1Njc4X2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb3JyZWN0aW9uLCBmaWx0ZXJzKTsKLSAgICAgICAgZDIgPSBjb252b2x2ZThfOF9zZG90X3Bh
cnRpYWwoczIzNDVfbG8sIHM2Nzg5X2xvLCBzMjM0NV9oaSwgczY3ODlfaGksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3Rpb24sIGZpbHRlcnMpOwotICAgICAg
ICBkMyA9IGNvbnZvbHZlOF84X3Nkb3RfcGFydGlhbChzMzQ1Nl9sbywgczc4OTEwX2xvLCBzMzQ1
Nl9oaSwgczc4OTEwX2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b3JyZWN0aW9uLCBmaWx0ZXJzKTsKLQotICAgICAgICBzdG9yZV91OF84eDQoZCwgZHN0X3N0cmlk
ZSwgZDAsIGQxLCBkMiwgZDMpOwotCi0gICAgICAgIC8qIFByZXBhcmUgYmxvY2sgZm9yIG5leHQg
aXRlcmF0aW9uIC0gcmUtdXNpbmcgYXMgbXVjaCBhcyBwb3NzaWJsZS4gKi8KLSAgICAgICAgLyog
U2h1ZmZsZSBldmVyeXRoaW5nIHVwIGZvdXIgcm93cy4gKi8KLSAgICAgICAgczAxMjNfbG8gPSBz
NDU2N19sbzsKLSAgICAgICAgczAxMjNfaGkgPSBzNDU2N19oaTsKLSAgICAgICAgczEyMzRfbG8g
PSBzNTY3OF9sbzsKLSAgICAgICAgczEyMzRfaGkgPSBzNTY3OF9oaTsKLSAgICAgICAgczIzNDVf
bG8gPSBzNjc4OV9sbzsKLSAgICAgICAgczIzNDVfaGkgPSBzNjc4OV9oaTsKLSAgICAgICAgczM0
NTZfbG8gPSBzNzg5MTBfbG87Ci0gICAgICAgIHMzNDU2X2hpID0gczc4OTEwX2hpOwotCi0gICAg
ICAgIHMgKz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICAgIGQgKz0gNCAqIGRzdF9zdHJpZGU7Ci0g
ICAgICAgIGhlaWdodCAtPSA0OwotICAgICAgfSB3aGlsZSAoaGVpZ2h0ICE9IDApOwotICAgICAg
c3JjICs9IDg7Ci0gICAgICBkc3QgKz0gODsKLSAgICAgIHcgLT0gODsKLSAgICB9IHdoaWxlICh3
ICE9IDApOwotICB9Ci19Ci0KLXZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uX2RvdHBy
b2QoY29uc3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2VybmVsICpm
aWx0ZXIsIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHhfc3RlcF9xNCwgaW50IHkwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LCBpbnQgdywgaW50IGgpIHsKLSAgY29uc3QgaW50
OHg4X3QgZmlsdGVycyA9IHZtb3ZuX3MxNih2bGQxcV9zMTYoZmlsdGVyW3kwX3E0XSkpOwotICBj
b25zdCBpbnQxNng4X3QgY29ycmVjdF90bXAgPSB2bXVscV9uX3MxNih2bGQxcV9zMTYoZmlsdGVy
W3kwX3E0XSksIDEyOCk7Ci0gIGNvbnN0IGludDMyeDRfdCBjb3JyZWN0aW9uID0gdmR1cHFfbl9z
MzIoKGludDMyX3QpdmFkZHZxX3MxNihjb3JyZWN0X3RtcCkpOwotICBjb25zdCB1aW50OHg4X3Qg
cmFuZ2VfbGltaXQgPSB2ZHVwX25fdTgoMTI4KTsKLSAgY29uc3QgdWludDh4MTZ4M190IG1lcmdl
X2Jsb2NrX3RibCA9IHZsZDFxX3U4X3gzKGRvdF9wcm9kX21lcmdlX2Jsb2NrX3RibCk7Ci0gIHVp
bnQ4eDhfdCB0MCwgdDEsIHQyLCB0MywgdDQsIHQ1LCB0NjsKLSAgaW50OHg4X3QgczAsIHMxLCBz
MiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgczksIHMxMDsKLSAgaW50OHgxNngyX3Qgc2FtcGxl
c19MVVQ7Ci0KLSAgYXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0ID09IDApOwotICBhc3NlcnQoZHN0
X3N0cmlkZSAlIDQgPT0gMCk7Ci0gIGFzc2VydCh5X3N0ZXBfcTQgPT0gMTYpOwotCi0gICh2b2lk
KXgwX3E0OwotICAodm9pZCl4X3N0ZXBfcTQ7Ci0gICh2b2lkKXlfc3RlcF9xNDsKLQotICBzcmMg
LT0gMyAqIHNyY19zdHJpZGU7Ci0KLSAgaWYgKHcgPT0gNCkgewotICAgIGNvbnN0IHVpbnQ4eDE2
X3QgdHJhbl9jb25jYXRfdGJsID0gdmxkMXFfdTgoZG90X3Byb2RfdHJhbl9jb25jYXRfdGJsKTsK
LSAgICBpbnQ4eDE2X3QgczAxMjMsIHMxMjM0LCBzMjM0NSwgczM0NTYsIHM0NTY3LCBzNTY3OCwg
czY3ODksIHM3ODkxMDsKLSAgICBpbnQxNng0X3QgZDAsIGQxLCBkMiwgZDM7Ci0gICAgdWludDh4
OF90IGQwMSwgZDIzLCBkZDAxLCBkZDIzOwotCi0gICAgbG9hZF91OF84eDcoc3JjLCBzcmNfc3Ry
aWRlLCAmdDAsICZ0MSwgJnQyLCAmdDMsICZ0NCwgJnQ1LCAmdDYpOwotICAgIHNyYyArPSA3ICog
c3JjX3N0cmlkZTsKLQotICAgIC8qIENsYW1wIHNhbXBsZSByYW5nZSB0byBbLTEyOCwgMTI3XSBm
b3IgOC1iaXQgc2lnbmVkIGRvdCBwcm9kdWN0LiAqLwotICAgIHMwID0gdnJlaW50ZXJwcmV0X3M4
X3U4KHZzdWJfdTgodDAsIHJhbmdlX2xpbWl0KSk7Ci0gICAgczEgPSB2cmVpbnRlcnByZXRfczhf
dTgodnN1Yl91OCh0MSwgcmFuZ2VfbGltaXQpKTsKLSAgICBzMiA9IHZyZWludGVycHJldF9zOF91
OCh2c3ViX3U4KHQyLCByYW5nZV9saW1pdCkpOwotICAgIHMzID0gdnJlaW50ZXJwcmV0X3M4X3U4
KHZzdWJfdTgodDMsIHJhbmdlX2xpbWl0KSk7Ci0gICAgczQgPSB2cmVpbnRlcnByZXRfczhfdTgo
dnN1Yl91OCh0NCwgcmFuZ2VfbGltaXQpKTsKLSAgICBzNSA9IHZyZWludGVycHJldF9zOF91OCh2
c3ViX3U4KHQ1LCByYW5nZV9saW1pdCkpOwotICAgIHM2ID0gdnJlaW50ZXJwcmV0X3M4X3U4KHZz
dWJfdTgodDYsIHJhbmdlX2xpbWl0KSk7Ci0gICAgczcgPSB2ZHVwX25fczgoMCk7Ci0gICAgczgg
PSB2ZHVwX25fczgoMCk7Ci0gICAgczkgPSB2ZHVwX25fczgoMCk7Ci0KLSAgICAvKiBUaGlzIG9w
ZXJhdGlvbiBjb21iaW5lcyBhIGNvbnZlbnRpb25hbCB0cmFuc3Bvc2UgYW5kIHRoZSBzYW1wbGUg
cGVybXV0ZQotICAgICAqIChzZWUgaG9yaXpvbnRhbCBjYXNlKSByZXF1aXJlZCBiZWZvcmUgY29t
cHV0aW5nIHRoZSBkb3QgcHJvZHVjdC4KLSAgICAgKi8KLSAgICB0cmFuc3Bvc2VfY29uY2F0XzR4
NChzMCwgczEsIHMyLCBzMywgJnMwMTIzLCB0cmFuX2NvbmNhdF90YmwpOwotICAgIHRyYW5zcG9z
ZV9jb25jYXRfNHg0KHMxLCBzMiwgczMsIHM0LCAmczEyMzQsIHRyYW5fY29uY2F0X3RibCk7Ci0g
ICAgdHJhbnNwb3NlX2NvbmNhdF80eDQoczIsIHMzLCBzNCwgczUsICZzMjM0NSwgdHJhbl9jb25j
YXRfdGJsKTsKLSAgICB0cmFuc3Bvc2VfY29uY2F0XzR4NChzMywgczQsIHM1LCBzNiwgJnMzNDU2
LCB0cmFuX2NvbmNhdF90YmwpOwotICAgIHRyYW5zcG9zZV9jb25jYXRfNHg0KHM0LCBzNSwgczYs
IHM3LCAmczQ1NjcsIHRyYW5fY29uY2F0X3RibCk7Ci0gICAgdHJhbnNwb3NlX2NvbmNhdF80eDQo
czUsIHM2LCBzNywgczgsICZzNTY3OCwgdHJhbl9jb25jYXRfdGJsKTsKLSAgICB0cmFuc3Bvc2Vf
Y29uY2F0XzR4NChzNiwgczcsIHM4LCBzOSwgJnM2Nzg5LCB0cmFuX2NvbmNhdF90YmwpOwotCi0g
ICAgZG8gewotICAgICAgdWludDh4OF90IHQ3LCB0OCwgdDksIHQxMDsKLQotICAgICAgbG9hZF91
OF84eDQoc3JjLCBzcmNfc3RyaWRlLCAmdDcsICZ0OCwgJnQ5LCAmdDEwKTsKLQotICAgICAgczcg
PSB2cmVpbnRlcnByZXRfczhfdTgodnN1Yl91OCh0NywgcmFuZ2VfbGltaXQpKTsKLSAgICAgIHM4
ID0gdnJlaW50ZXJwcmV0X3M4X3U4KHZzdWJfdTgodDgsIHJhbmdlX2xpbWl0KSk7Ci0gICAgICBz
OSA9IHZyZWludGVycHJldF9zOF91OCh2c3ViX3U4KHQ5LCByYW5nZV9saW1pdCkpOwotICAgICAg
czEwID0gdnJlaW50ZXJwcmV0X3M4X3U4KHZzdWJfdTgodDEwLCByYW5nZV9saW1pdCkpOwotCi0g
ICAgICB0cmFuc3Bvc2VfY29uY2F0XzR4NChzNywgczgsIHM5LCBzMTAsICZzNzg5MTAsIHRyYW5f
Y29uY2F0X3RibCk7Ci0KLSAgICAgIC8qIE1lcmdlIG5ldyBkYXRhIGludG8gYmxvY2sgZnJvbSBw
cmV2aW91cyBpdGVyYXRpb24uICovCi0gICAgICBzYW1wbGVzX0xVVC52YWxbMF0gPSBzMzQ1NjsK
LSAgICAgIHNhbXBsZXNfTFVULnZhbFsxXSA9IHM3ODkxMDsKLSAgICAgIHM0NTY3ID0gdnF0Ymwy
cV9zOChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZhbFswXSk7Ci0gICAgICBzNTY3OCA9
IHZxdGJsMnFfczgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2NrX3RibC52YWxbMV0pOwotICAgICAg
czY3ODkgPSB2cXRibDJxX3M4KHNhbXBsZXNfTFVULCBtZXJnZV9ibG9ja190YmwudmFsWzJdKTsK
LQotICAgICAgZDAgPSBjb252b2x2ZThfNF9zZG90X3BhcnRpYWwoczAxMjMsIHM0NTY3LCBjb3Jy
ZWN0aW9uLCBmaWx0ZXJzKTsKLSAgICAgIGQxID0gY29udm9sdmU4XzRfc2RvdF9wYXJ0aWFsKHMx
MjM0LCBzNTY3OCwgY29ycmVjdGlvbiwgZmlsdGVycyk7Ci0gICAgICBkMiA9IGNvbnZvbHZlOF80
X3Nkb3RfcGFydGlhbChzMjM0NSwgczY3ODksIGNvcnJlY3Rpb24sIGZpbHRlcnMpOwotICAgICAg
ZDMgPSBjb252b2x2ZThfNF9zZG90X3BhcnRpYWwoczM0NTYsIHM3ODkxMCwgY29ycmVjdGlvbiwg
ZmlsdGVycyk7Ci0gICAgICBkMDEgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDAsIGQx
KSwgRklMVEVSX0JJVFMpOwotICAgICAgZDIzID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2
KGQyLCBkMyksIEZJTFRFUl9CSVRTKTsKLQotICAgICAgZGQwMSA9IGxvYWRfdTgoZHN0ICsgMCAq
IGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUpOwotICAgICAgZGQyMyA9IGxvYWRfdTgoZHN0ICsgMiAq
IGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUpOwotCi0gICAgICBkMDEgPSB2cmhhZGRfdTgoZDAxLCBk
ZDAxKTsKLSAgICAgIGQyMyA9IHZyaGFkZF91OChkMjMsIGRkMjMpOwotCi0gICAgICBzdG9yZV91
OChkc3QgKyAwICogZHN0X3N0cmlkZSwgZHN0X3N0cmlkZSwgZDAxKTsKLSAgICAgIHN0b3JlX3U4
KGRzdCArIDIgKiBkc3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCBkMjMpOwotCi0gICAgICAvKiBQcmVw
YXJlIGJsb2NrIGZvciBuZXh0IGl0ZXJhdGlvbiAtIHJlLXVzaW5nIGFzIG11Y2ggYXMgcG9zc2li
bGUuICovCi0gICAgICAvKiBTaHVmZmxlIGV2ZXJ5dGhpbmcgdXAgZm91ciByb3dzLiAqLwotICAg
ICAgczAxMjMgPSBzNDU2NzsKLSAgICAgIHMxMjM0ID0gczU2Nzg7Ci0gICAgICBzMjM0NSA9IHM2
Nzg5OwotICAgICAgczM0NTYgPSBzNzg5MTA7Ci0KLSAgICAgIHNyYyArPSA0ICogc3JjX3N0cmlk
ZTsKLSAgICAgIGRzdCArPSA0ICogZHN0X3N0cmlkZTsKLSAgICAgIGggLT0gNDsKLSAgICB9IHdo
aWxlIChoICE9IDApOwotICB9IGVsc2UgewotICAgIGNvbnN0IHVpbnQ4eDE2eDJfdCB0cmFuX2Nv
bmNhdF90YmwgPSB2bGQxcV91OF94Mihkb3RfcHJvZF90cmFuX2NvbmNhdF90YmwpOwotICAgIGlu
dDh4MTZfdCBzMDEyM19sbywgczAxMjNfaGksIHMxMjM0X2xvLCBzMTIzNF9oaSwgczIzNDVfbG8s
IHMyMzQ1X2hpLAotICAgICAgICBzMzQ1Nl9sbywgczM0NTZfaGksIHM0NTY3X2xvLCBzNDU2N19o
aSwgczU2NzhfbG8sIHM1Njc4X2hpLCBzNjc4OV9sbywKLSAgICAgICAgczY3ODlfaGksIHM3ODkx
MF9sbywgczc4OTEwX2hpOwotICAgIHVpbnQ4eDhfdCBkMCwgZDEsIGQyLCBkMywgZGQwLCBkZDEs
IGRkMiwgZGQzOwotICAgIGNvbnN0IHVpbnQ4X3QgKnM7Ci0gICAgdWludDhfdCAqZDsKLSAgICBp
bnQgaGVpZ2h0OwotCi0gICAgZG8gewotICAgICAgaGVpZ2h0ID0gaDsKLSAgICAgIHMgPSBzcmM7
Ci0gICAgICBkID0gZHN0OwotCi0gICAgICBsb2FkX3U4Xzh4NyhzLCBzcmNfc3RyaWRlLCAmdDAs
ICZ0MSwgJnQyLCAmdDMsICZ0NCwgJnQ1LCAmdDYpOwotICAgICAgcyArPSA3ICogc3JjX3N0cmlk
ZTsKLQotICAgICAgLyogQ2xhbXAgc2FtcGxlIHJhbmdlIHRvIFstMTI4LCAxMjddIGZvciA4LWJp
dCBzaWduZWQgZG90IHByb2R1Y3QuICovCi0gICAgICBzMCA9IHZyZWludGVycHJldF9zOF91OCh2
c3ViX3U4KHQwLCByYW5nZV9saW1pdCkpOwotICAgICAgczEgPSB2cmVpbnRlcnByZXRfczhfdTgo
dnN1Yl91OCh0MSwgcmFuZ2VfbGltaXQpKTsKLSAgICAgIHMyID0gdnJlaW50ZXJwcmV0X3M4X3U4
KHZzdWJfdTgodDIsIHJhbmdlX2xpbWl0KSk7Ci0gICAgICBzMyA9IHZyZWludGVycHJldF9zOF91
OCh2c3ViX3U4KHQzLCByYW5nZV9saW1pdCkpOwotICAgICAgczQgPSB2cmVpbnRlcnByZXRfczhf
dTgodnN1Yl91OCh0NCwgcmFuZ2VfbGltaXQpKTsKLSAgICAgIHM1ID0gdnJlaW50ZXJwcmV0X3M4
X3U4KHZzdWJfdTgodDUsIHJhbmdlX2xpbWl0KSk7Ci0gICAgICBzNiA9IHZyZWludGVycHJldF9z
OF91OCh2c3ViX3U4KHQ2LCByYW5nZV9saW1pdCkpOwotICAgICAgczcgPSB2ZHVwX25fczgoMCk7
Ci0gICAgICBzOCA9IHZkdXBfbl9zOCgwKTsKLSAgICAgIHM5ID0gdmR1cF9uX3M4KDApOwotCi0g
ICAgICAvKiBUaGlzIG9wZXJhdGlvbiBjb21iaW5lcyBhIGNvbnZlbnRpb25hbCB0cmFuc3Bvc2Ug
YW5kIHRoZSBzYW1wbGUgcGVybXV0ZQotICAgICAgICogKHNlZSBob3Jpem9udGFsIGNhc2UpIHJl
cXVpcmVkIGJlZm9yZSBjb21wdXRpbmcgdGhlIGRvdCBwcm9kdWN0LgotICAgICAgICovCi0gICAg
ICB0cmFuc3Bvc2VfY29uY2F0Xzh4NChzMCwgczEsIHMyLCBzMywgJnMwMTIzX2xvLCAmczAxMjNf
aGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwotICAgICAg
dHJhbnNwb3NlX2NvbmNhdF84eDQoczEsIHMyLCBzMywgczQsICZzMTIzNF9sbywgJnMxMjM0X2hp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRfdGJsKTsKLSAgICAgIHRy
YW5zcG9zZV9jb25jYXRfOHg0KHMyLCBzMywgczQsIHM1LCAmczIzNDVfbG8sICZzMjM0NV9oaSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3RibCk7Ci0gICAgICB0cmFu
c3Bvc2VfY29uY2F0Xzh4NChzMywgczQsIHM1LCBzNiwgJnMzNDU2X2xvLCAmczM0NTZfaGksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwotICAgICAgdHJhbnNw
b3NlX2NvbmNhdF84eDQoczQsIHM1LCBzNiwgczcsICZzNDU2N19sbywgJnM0NTY3X2hpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRfdGJsKTsKLSAgICAgIHRyYW5zcG9z
ZV9jb25jYXRfOHg0KHM1LCBzNiwgczcsIHM4LCAmczU2NzhfbG8sICZzNTY3OF9oaSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3RibCk7Ci0gICAgICB0cmFuc3Bvc2Vf
Y29uY2F0Xzh4NChzNiwgczcsIHM4LCBzOSwgJnM2Nzg5X2xvLCAmczY3ODlfaGksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwotCi0gICAgICBkbyB7Ci0gICAg
ICAgIHVpbnQ4eDhfdCB0NywgdDgsIHQ5LCB0MTA7Ci0KLSAgICAgICAgbG9hZF91OF84eDQocywg
c3JjX3N0cmlkZSwgJnQ3LCAmdDgsICZ0OSwgJnQxMCk7Ci0KLSAgICAgICAgczcgPSB2cmVpbnRl
cnByZXRfczhfdTgodnN1Yl91OCh0NywgcmFuZ2VfbGltaXQpKTsKLSAgICAgICAgczggPSB2cmVp
bnRlcnByZXRfczhfdTgodnN1Yl91OCh0OCwgcmFuZ2VfbGltaXQpKTsKLSAgICAgICAgczkgPSB2
cmVpbnRlcnByZXRfczhfdTgodnN1Yl91OCh0OSwgcmFuZ2VfbGltaXQpKTsKLSAgICAgICAgczEw
ID0gdnJlaW50ZXJwcmV0X3M4X3U4KHZzdWJfdTgodDEwLCByYW5nZV9saW1pdCkpOwotCi0gICAg
ICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHM3LCBzOCwgczksIHMxMCwgJnM3ODkxMF9sbywgJnM3
ODkxMF9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRfdGJsKTsK
LQotICAgICAgICAvKiBNZXJnZSBuZXcgZGF0YSBpbnRvIGJsb2NrIGZyb20gcHJldmlvdXMgaXRl
cmF0aW9uLiAqLwotICAgICAgICBzYW1wbGVzX0xVVC52YWxbMF0gPSBzMzQ1Nl9sbzsKLSAgICAg
ICAgc2FtcGxlc19MVVQudmFsWzFdID0gczc4OTEwX2xvOwotICAgICAgICBzNDU2N19sbyA9IHZx
dGJsMnFfczgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2NrX3RibC52YWxbMF0pOwotICAgICAgICBz
NTY3OF9sbyA9IHZxdGJsMnFfczgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2NrX3RibC52YWxbMV0p
OwotICAgICAgICBzNjc4OV9sbyA9IHZxdGJsMnFfczgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2Nr
X3RibC52YWxbMl0pOwotCi0gICAgICAgIHNhbXBsZXNfTFVULnZhbFswXSA9IHMzNDU2X2hpOwot
ICAgICAgICBzYW1wbGVzX0xVVC52YWxbMV0gPSBzNzg5MTBfaGk7Ci0gICAgICAgIHM0NTY3X2hp
ID0gdnF0YmwycV9zOChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZhbFswXSk7Ci0gICAg
ICAgIHM1Njc4X2hpID0gdnF0YmwycV9zOChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZh
bFsxXSk7Ci0gICAgICAgIHM2Nzg5X2hpID0gdnF0YmwycV9zOChzYW1wbGVzX0xVVCwgbWVyZ2Vf
YmxvY2tfdGJsLnZhbFsyXSk7Ci0KLSAgICAgICAgZDAgPSBjb252b2x2ZThfOF9zZG90X3BhcnRp
YWwoczAxMjNfbG8sIHM0NTY3X2xvLCBzMDEyM19oaSwgczQ1NjdfaGksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3Rpb24sIGZpbHRlcnMpOwotICAgICAgICBk
MSA9IGNvbnZvbHZlOF84X3Nkb3RfcGFydGlhbChzMTIzNF9sbywgczU2NzhfbG8sIHMxMjM0X2hp
LCBzNTY3OF9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVj
dGlvbiwgZmlsdGVycyk7Ci0gICAgICAgIGQyID0gY29udm9sdmU4Xzhfc2RvdF9wYXJ0aWFsKHMy
MzQ1X2xvLCBzNjc4OV9sbywgczIzNDVfaGksIHM2Nzg5X2hpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb3JyZWN0aW9uLCBmaWx0ZXJzKTsKLSAgICAgICAgZDMgPSBj
b252b2x2ZThfOF9zZG90X3BhcnRpYWwoczM0NTZfbG8sIHM3ODkxMF9sbywgczM0NTZfaGksIHM3
ODkxMF9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdGlv
biwgZmlsdGVycyk7Ci0KLSAgICAgICAgbG9hZF91OF84eDQoZCwgZHN0X3N0cmlkZSwgJmRkMCwg
JmRkMSwgJmRkMiwgJmRkMyk7Ci0KLSAgICAgICAgZDAgPSB2cmhhZGRfdTgoZDAsIGRkMCk7Ci0g
ICAgICAgIGQxID0gdnJoYWRkX3U4KGQxLCBkZDEpOwotICAgICAgICBkMiA9IHZyaGFkZF91OChk
MiwgZGQyKTsKLSAgICAgICAgZDMgPSB2cmhhZGRfdTgoZDMsIGRkMyk7Ci0KLSAgICAgICAgc3Rv
cmVfdThfOHg0KGQsIGRzdF9zdHJpZGUsIGQwLCBkMSwgZDIsIGQzKTsKLQotICAgICAgICAvKiBQ
cmVwYXJlIGJsb2NrIGZvciBuZXh0IGl0ZXJhdGlvbiAtIHJlLXVzaW5nIGFzIG11Y2ggYXMgcG9z
c2libGUuICovCi0gICAgICAgIC8qIFNodWZmbGUgZXZlcnl0aGluZyB1cCBmb3VyIHJvd3MuICov
Ci0gICAgICAgIHMwMTIzX2xvID0gczQ1NjdfbG87Ci0gICAgICAgIHMwMTIzX2hpID0gczQ1Njdf
aGk7Ci0gICAgICAgIHMxMjM0X2xvID0gczU2NzhfbG87Ci0gICAgICAgIHMxMjM0X2hpID0gczU2
NzhfaGk7Ci0gICAgICAgIHMyMzQ1X2xvID0gczY3ODlfbG87Ci0gICAgICAgIHMyMzQ1X2hpID0g
czY3ODlfaGk7Ci0gICAgICAgIHMzNDU2X2xvID0gczc4OTEwX2xvOwotICAgICAgICBzMzQ1Nl9o
aSA9IHM3ODkxMF9oaTsKLQotICAgICAgICBzICs9IDQgKiBzcmNfc3RyaWRlOwotICAgICAgICBk
ICs9IDQgKiBkc3Rfc3RyaWRlOwotICAgICAgICBoZWlnaHQgLT0gNDsKLSAgICAgIH0gd2hpbGUg
KGhlaWdodCAhPSAwKTsKLSAgICAgIHNyYyArPSA4OwotICAgICAgZHN0ICs9IDg7Ci0gICAgICB3
IC09IDg7Ci0gICAgfSB3aGlsZSAodyAhPSAwKTsKLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb25faThtbS5jIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2FybS92cHhfY29udm9sdmU4X25lb25faThtbS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlMGU0ODJlM2Y1MWYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbl9pOG1tLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2
OTggKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjMgVGhlIFdlYk0gcHJvamVjdCBh
dXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUg
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAg
dHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNh
biBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHBy
b2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRo
ZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSA8YXJtX25lb24uaD4K
LSNpbmNsdWRlIDxhc3NlcnQuaD4KLQotI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgotI2luY2x1
ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0jaW5j
bHVkZSAidnB4X2RzcC9hcm0vbWVtX25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS90cmFu
c3Bvc2VfbmVvbi5oIgotI2luY2x1ZGUgInZweF9kc3AvYXJtL3ZweF9jb252b2x2ZThfbmVvbi5o
IgotI2luY2x1ZGUgInZweF9kc3AvdnB4X2ZpbHRlci5oIgotI2luY2x1ZGUgInZweF9wb3J0cy9t
ZW0uaCIKLQotREVDTEFSRV9BTElHTkVEKDE2LCBzdGF0aWMgY29uc3QgdWludDhfdCwgZG90X3By
b2RfcGVybXV0ZV90YmxbNDhdKSA9IHsKLSAgMCwgMSwgMiwgIDMsICAxLCAyLCAgMywgIDQsICAy
LCAgMywgIDQsICA1LCAgMywgIDQsICA1LCAgNiwKLSAgNCwgNSwgNiwgIDcsICA1LCA2LCAgNywg
IDgsICA2LCAgNywgIDgsICA5LCAgNywgIDgsICA5LCAgMTAsCi0gIDgsIDksIDEwLCAxMSwgOSwg
MTAsIDExLCAxMiwgMTAsIDExLCAxMiwgMTMsIDExLCAxMiwgMTMsIDE0Ci19OwotCi1ERUNMQVJF
X0FMSUdORUQoMTYsIHN0YXRpYyBjb25zdCB1aW50OF90LCBkb3RfcHJvZF90cmFuX2NvbmNhdF90
YmxbMzJdKSA9IHsKLSAgMCwgOCwgIDE2LCAyNCwgMSwgOSwgIDE3LCAyNSwgMiwgMTAsIDE4LCAy
NiwgMywgMTEsIDE5LCAyNywKLSAgNCwgMTIsIDIwLCAyOCwgNSwgMTMsIDIxLCAyOSwgNiwgMTQs
IDIyLCAzMCwgNywgMTUsIDIzLCAzMQotfTsKLQotREVDTEFSRV9BTElHTkVEKDE2LCBzdGF0aWMg
Y29uc3QgdWludDhfdCwgZG90X3Byb2RfbWVyZ2VfYmxvY2tfdGJsWzQ4XSkgPSB7Ci0gIC8qIFNo
aWZ0IGxlZnQgYW5kIGluc2VydCBuZXcgbGFzdCBjb2x1bW4gaW4gdHJhbnNwb3NlZCA0eDQgYmxv
Y2suICovCi0gIDEsIDIsIDMsIDE2LCA1LCA2LCA3LCAyMCwgOSwgMTAsIDExLCAyNCwgMTMsIDE0
LCAxNSwgMjgsCi0gIC8qIFNoaWZ0IGxlZnQgYW5kIGluc2VydCB0d28gbmV3IGNvbHVtbnMgaW4g
dHJhbnNwb3NlZCA0eDQgYmxvY2suICovCi0gIDIsIDMsIDE2LCAxNywgNiwgNywgMjAsIDIxLCAx
MCwgMTEsIDI0LCAyNSwgMTQsIDE1LCAyOCwgMjksCi0gIC8qIFNoaWZ0IGxlZnQgYW5kIGluc2Vy
dCB0aHJlZSBuZXcgY29sdW1ucyBpbiB0cmFuc3Bvc2VkIDR4NCBibG9jay4gKi8KLSAgMywgMTYs
IDE3LCAxOCwgNywgMjAsIDIxLCAyMiwgMTEsIDI0LCAyNSwgMjYsIDE1LCAyOCwgMjksIDMwCi19
OwotCi12b2lkIHZweF9jb252b2x2ZThfMmRfaG9yaXpfbmVvbl9pOG1tKGNvbnN0IHVpbnQ4X3Qg
KnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCAqZmlsdGVyLCBp
bnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0
ZXBfcTQsIGludCB5MF9xNCwgaW50IHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHcsIGludCBoKSB7Ci0gIGNvbnN0IGludDh4OF90IGZpbHRlcnMg
PSB2bW92bl9zMTYodmxkMXFfczE2KGZpbHRlclt4MF9xNF0pKTsKLSAgdWludDh4MTZfdCBzMCwg
czEsIHMyLCBzMzsKLQotICBhc3NlcnQoKGludHB0cl90KWRzdCAlIDQgPT0gMCk7Ci0gIGFzc2Vy
dChkc3Rfc3RyaWRlICUgNCA9PSAwKTsKLSAgYXNzZXJ0KHhfc3RlcF9xNCA9PSAxNik7Ci0gIGFz
c2VydChoICUgNCA9PSAzKTsKLQotICAodm9pZCl4X3N0ZXBfcTQ7Ci0gICh2b2lkKXkwX3E0Owot
ICAodm9pZCl5X3N0ZXBfcTQ7Ci0KLSAgc3JjIC09IDM7Ci0KLSAgaWYgKHcgPT0gNCkgewotICAg
IGNvbnN0IHVpbnQ4eDE2eDJfdCBwZXJtX3RibCA9IHZsZDFxX3U4X3gyKGRvdF9wcm9kX3Blcm11
dGVfdGJsKTsKLSAgICBpbnQxNng0X3QgZDAsIGQxLCBkMiwgZDM7Ci0gICAgdWludDh4OF90IGQw
MSwgZDIzOwotCi0gICAgZG8gewotICAgICAgbG9hZF91OF8xNng0KHNyYywgc3JjX3N0cmlkZSwg
JnMwLCAmczEsICZzMiwgJnMzKTsKLQotICAgICAgZDAgPSBjb252b2x2ZThfNF91c2RvdChzMCwg
ZmlsdGVycywgcGVybV90YmwpOwotICAgICAgZDEgPSBjb252b2x2ZThfNF91c2RvdChzMSwgZmls
dGVycywgcGVybV90YmwpOwotICAgICAgZDIgPSBjb252b2x2ZThfNF91c2RvdChzMiwgZmlsdGVy
cywgcGVybV90YmwpOwotICAgICAgZDMgPSBjb252b2x2ZThfNF91c2RvdChzMywgZmlsdGVycywg
cGVybV90YmwpOwotICAgICAgZDAxID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KGQwLCBk
MSksIEZJTFRFUl9CSVRTKTsKLSAgICAgIGQyMyA9IHZxcnNocnVuX25fczE2KHZjb21iaW5lX3Mx
NihkMiwgZDMpLCBGSUxURVJfQklUUyk7Ci0KLSAgICAgIHN0b3JlX3U4KGRzdCArIDAgKiBkc3Rf
c3RyaWRlLCBkc3Rfc3RyaWRlLCBkMDEpOwotICAgICAgc3RvcmVfdTgoZHN0ICsgMiAqIGRzdF9z
dHJpZGUsIGRzdF9zdHJpZGUsIGQyMyk7Ci0KLSAgICAgIHNyYyArPSA0ICogc3JjX3N0cmlkZTsK
LSAgICAgIGRzdCArPSA0ICogZHN0X3N0cmlkZTsKLSAgICAgIGggLT0gNDsKLSAgICB9IHdoaWxl
IChoID4gMyk7Ci0KLSAgICAvKiBQcm9jZXNzIGZpbmFsIHRocmVlIHJvd3MgKGggJSA0ID09IDMp
LiBTZWUgdnB4X2NvbnZvbHZlX25lb24uYyBmb3IKLSAgICAgKiBmdXJ0aGVyIGRldGFpbHMgb24g
cG9zc2libGUgdmFsdWVzIG9mIGJsb2NrIGhlaWdodC4gKi8KLSAgICBsb2FkX3U4XzE2eDMoc3Jj
LCBzcmNfc3RyaWRlLCAmczAsICZzMSwgJnMyKTsKLQotICAgIGQwID0gY29udm9sdmU4XzRfdXNk
b3QoczAsIGZpbHRlcnMsIHBlcm1fdGJsKTsKLSAgICBkMSA9IGNvbnZvbHZlOF80X3VzZG90KHMx
LCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0gICAgZDIgPSBjb252b2x2ZThfNF91c2RvdChzMiwgZmls
dGVycywgcGVybV90YmwpOwotICAgIGQwMSA9IHZxcnNocnVuX25fczE2KHZjb21iaW5lX3MxNihk
MCwgZDEpLCBGSUxURVJfQklUUyk7Ci0gICAgZDIzID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVf
czE2KGQyLCB2ZHVwX25fczE2KDApKSwgRklMVEVSX0JJVFMpOwotCi0gICAgc3RvcmVfdTgoZHN0
ICsgMCAqIGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUsIGQwMSk7Ci0gICAgc3RvcmVfdThfNHgxKGRz
dCArIDIgKiBkc3Rfc3RyaWRlLCBkMjMpOwotICB9IGVsc2UgewotICAgIGNvbnN0IHVpbnQ4eDE2
eDNfdCBwZXJtX3RibCA9IHZsZDFxX3U4X3gzKGRvdF9wcm9kX3Blcm11dGVfdGJsKTsKLSAgICBj
b25zdCB1aW50OF90ICpzOwotICAgIHVpbnQ4X3QgKmQ7Ci0gICAgaW50IHdpZHRoOwotICAgIHVp
bnQ4eDhfdCBkMCwgZDEsIGQyLCBkMzsKLQotICAgIGRvIHsKLSAgICAgIHdpZHRoID0gdzsKLSAg
ICAgIHMgPSBzcmM7Ci0gICAgICBkID0gZHN0OwotICAgICAgZG8gewotICAgICAgICBsb2FkX3U4
XzE2eDQocywgc3JjX3N0cmlkZSwgJnMwLCAmczEsICZzMiwgJnMzKTsKLQotICAgICAgICBkMCA9
IGNvbnZvbHZlOF84X3VzZG90KHMwLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0gICAgICAgIGQxID0g
Y29udm9sdmU4XzhfdXNkb3QoczEsIGZpbHRlcnMsIHBlcm1fdGJsKTsKLSAgICAgICAgZDIgPSBj
b252b2x2ZThfOF91c2RvdChzMiwgZmlsdGVycywgcGVybV90YmwpOwotICAgICAgICBkMyA9IGNv
bnZvbHZlOF84X3VzZG90KHMzLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0KLSAgICAgICAgc3RvcmVf
dThfOHg0KGQsIGRzdF9zdHJpZGUsIGQwLCBkMSwgZDIsIGQzKTsKLQotICAgICAgICBzICs9IDg7
Ci0gICAgICAgIGQgKz0gODsKLSAgICAgICAgd2lkdGggLT0gODsKLSAgICAgIH0gd2hpbGUgKHdp
ZHRoID4gMCk7Ci0gICAgICBzcmMgKz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICBkc3QgKz0gNCAq
IGRzdF9zdHJpZGU7Ci0gICAgICBoIC09IDQ7Ci0gICAgfSB3aGlsZSAoaCA+IDMpOwotCi0gICAg
LyogUHJvY2VzcyBmaW5hbCB0aHJlZSByb3dzIChoICUgNCA9PSAzKS4gU2VlIHZweF9jb252b2x2
ZV9uZW9uLmMgZm9yCi0gICAgICogZnVydGhlciBkZXRhaWxzIG9uIHBvc3NpYmxlIHZhbHVlcyBv
ZiBibG9jayBoZWlnaHQuICovCi0gICAgd2lkdGggPSB3OwotICAgIHMgPSBzcmM7Ci0gICAgZCA9
IGRzdDsKLSAgICBkbyB7Ci0gICAgICBsb2FkX3U4XzE2eDMocywgc3JjX3N0cmlkZSwgJnMwLCAm
czEsICZzMik7Ci0KLSAgICAgIGQwID0gY29udm9sdmU4XzhfdXNkb3QoczAsIGZpbHRlcnMsIHBl
cm1fdGJsKTsKLSAgICAgIGQxID0gY29udm9sdmU4XzhfdXNkb3QoczEsIGZpbHRlcnMsIHBlcm1f
dGJsKTsKLSAgICAgIGQyID0gY29udm9sdmU4XzhfdXNkb3QoczIsIGZpbHRlcnMsIHBlcm1fdGJs
KTsKLQotICAgICAgc3RvcmVfdThfOHgzKGQsIGRzdF9zdHJpZGUsIGQwLCBkMSwgZDIpOwotCi0g
ICAgICBzICs9IDg7Ci0gICAgICBkICs9IDg7Ci0gICAgICB3aWR0aCAtPSA4OwotICAgIH0gd2hp
bGUgKHdpZHRoID4gMCk7Ci0gIH0KLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X2hvcml6X25lb25f
aThtbShjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJu
ZWwgKmZpbHRlciwgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3LCBpbnQgaCkgewotICBjb25zdCBpbnQ4eDhfdCBm
aWx0ZXJzID0gdm1vdm5fczE2KHZsZDFxX3MxNihmaWx0ZXJbeDBfcTRdKSk7Ci0gIHVpbnQ4eDE2
X3QgczAsIHMxLCBzMiwgczM7Ci0KLSAgYXNzZXJ0KChpbnRwdHJfdClkc3QgJSA0ID09IDApOwot
ICBhc3NlcnQoZHN0X3N0cmlkZSAlIDQgPT0gMCk7Ci0gIGFzc2VydCh4X3N0ZXBfcTQgPT0gMTYp
OwotCi0gICh2b2lkKXhfc3RlcF9xNDsKLSAgKHZvaWQpeTBfcTQ7Ci0gICh2b2lkKXlfc3RlcF9x
NDsKLQotICBzcmMgLT0gMzsKLQotICBpZiAodyA9PSA0KSB7Ci0gICAgY29uc3QgdWludDh4MTZ4
Ml90IHBlcm1fdGJsID0gdmxkMXFfdThfeDIoZG90X3Byb2RfcGVybXV0ZV90YmwpOwotICAgIGRv
IHsKLSAgICAgIGludDE2eDRfdCB0MCwgdDEsIHQyLCB0MzsKLSAgICAgIHVpbnQ4eDhfdCBkMDEs
IGQyMzsKLQotICAgICAgbG9hZF91OF8xNng0KHNyYywgc3JjX3N0cmlkZSwgJnMwLCAmczEsICZz
MiwgJnMzKTsKLQotICAgICAgdDAgPSBjb252b2x2ZThfNF91c2RvdChzMCwgZmlsdGVycywgcGVy
bV90YmwpOwotICAgICAgdDEgPSBjb252b2x2ZThfNF91c2RvdChzMSwgZmlsdGVycywgcGVybV90
YmwpOwotICAgICAgdDIgPSBjb252b2x2ZThfNF91c2RvdChzMiwgZmlsdGVycywgcGVybV90Ymwp
OwotICAgICAgdDMgPSBjb252b2x2ZThfNF91c2RvdChzMywgZmlsdGVycywgcGVybV90YmwpOwot
ICAgICAgZDAxID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KHQwLCB0MSksIEZJTFRFUl9C
SVRTKTsKLSAgICAgIGQyMyA9IHZxcnNocnVuX25fczE2KHZjb21iaW5lX3MxNih0MiwgdDMpLCBG
SUxURVJfQklUUyk7Ci0KLSAgICAgIHN0b3JlX3U4KGRzdCArIDAgKiBkc3Rfc3RyaWRlLCBkc3Rf
c3RyaWRlLCBkMDEpOwotICAgICAgc3RvcmVfdTgoZHN0ICsgMiAqIGRzdF9zdHJpZGUsIGRzdF9z
dHJpZGUsIGQyMyk7Ci0KLSAgICAgIHNyYyArPSA0ICogc3JjX3N0cmlkZTsKLSAgICAgIGRzdCAr
PSA0ICogZHN0X3N0cmlkZTsKLSAgICAgIGggLT0gNDsKLSAgICB9IHdoaWxlIChoICE9IDApOwot
ICB9IGVsc2UgewotICAgIGNvbnN0IHVpbnQ4eDE2eDNfdCBwZXJtX3RibCA9IHZsZDFxX3U4X3gz
KGRvdF9wcm9kX3Blcm11dGVfdGJsKTsKLSAgICBjb25zdCB1aW50OF90ICpzOwotICAgIHVpbnQ4
X3QgKmQ7Ci0gICAgaW50IHdpZHRoOwotICAgIHVpbnQ4eDhfdCBkMCwgZDEsIGQyLCBkMzsKLQot
ICAgIGRvIHsKLSAgICAgIHdpZHRoID0gdzsKLSAgICAgIHMgPSBzcmM7Ci0gICAgICBkID0gZHN0
OwotICAgICAgZG8gewotICAgICAgICBsb2FkX3U4XzE2eDQocywgc3JjX3N0cmlkZSwgJnMwLCAm
czEsICZzMiwgJnMzKTsKLQotICAgICAgICBkMCA9IGNvbnZvbHZlOF84X3VzZG90KHMwLCBmaWx0
ZXJzLCBwZXJtX3RibCk7Ci0gICAgICAgIGQxID0gY29udm9sdmU4XzhfdXNkb3QoczEsIGZpbHRl
cnMsIHBlcm1fdGJsKTsKLSAgICAgICAgZDIgPSBjb252b2x2ZThfOF91c2RvdChzMiwgZmlsdGVy
cywgcGVybV90YmwpOwotICAgICAgICBkMyA9IGNvbnZvbHZlOF84X3VzZG90KHMzLCBmaWx0ZXJz
LCBwZXJtX3RibCk7Ci0KLSAgICAgICAgc3RvcmVfdThfOHg0KGQsIGRzdF9zdHJpZGUsIGQwLCBk
MSwgZDIsIGQzKTsKLQotICAgICAgICBzICs9IDg7Ci0gICAgICAgIGQgKz0gODsKLSAgICAgICAg
d2lkdGggLT0gODsKLSAgICAgIH0gd2hpbGUgKHdpZHRoICE9IDApOwotICAgICAgc3JjICs9IDQg
KiBzcmNfc3RyaWRlOwotICAgICAgZHN0ICs9IDQgKiBkc3Rfc3RyaWRlOwotICAgICAgaCAtPSA0
OwotICAgIH0gd2hpbGUgKGggIT0gMCk7Ci0gIH0KLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X2F2
Z19ob3Jpel9uZW9uX2k4bW0oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwg
cHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwgaW50IHkwX3E0LCBpbnQg
eV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcs
IGludCBoKSB7Ci0gIGNvbnN0IGludDh4OF90IGZpbHRlcnMgPSB2bW92bl9zMTYodmxkMXFfczE2
KGZpbHRlclt4MF9xNF0pKTsKLSAgdWludDh4MTZfdCBzMCwgczEsIHMyLCBzMzsKLQotICBhc3Nl
cnQoKGludHB0cl90KWRzdCAlIDQgPT0gMCk7Ci0gIGFzc2VydChkc3Rfc3RyaWRlICUgNCA9PSAw
KTsKLSAgYXNzZXJ0KHhfc3RlcF9xNCA9PSAxNik7Ci0KLSAgKHZvaWQpeF9zdGVwX3E0OwotICAo
dm9pZCl5MF9xNDsKLSAgKHZvaWQpeV9zdGVwX3E0OwotCi0gIHNyYyAtPSAzOwotCi0gIGlmICh3
ID09IDQpIHsKLSAgICBjb25zdCB1aW50OHgxNngyX3QgcGVybV90YmwgPSB2bGQxcV91OF94Mihk
b3RfcHJvZF9wZXJtdXRlX3RibCk7Ci0gICAgZG8gewotICAgICAgaW50MTZ4NF90IHQwLCB0MSwg
dDIsIHQzOwotICAgICAgdWludDh4OF90IGQwMSwgZDIzLCBkZDAxLCBkZDIzOwotCi0gICAgICBs
b2FkX3U4XzE2eDQoc3JjLCBzcmNfc3RyaWRlLCAmczAsICZzMSwgJnMyLCAmczMpOwotCi0gICAg
ICB0MCA9IGNvbnZvbHZlOF80X3VzZG90KHMwLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0gICAgICB0
MSA9IGNvbnZvbHZlOF80X3VzZG90KHMxLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0gICAgICB0MiA9
IGNvbnZvbHZlOF80X3VzZG90KHMyLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0gICAgICB0MyA9IGNv
bnZvbHZlOF80X3VzZG90KHMzLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0gICAgICBkMDEgPSB2cXJz
aHJ1bl9uX3MxNih2Y29tYmluZV9zMTYodDAsIHQxKSwgRklMVEVSX0JJVFMpOwotICAgICAgZDIz
ID0gdnFyc2hydW5fbl9zMTYodmNvbWJpbmVfczE2KHQyLCB0MyksIEZJTFRFUl9CSVRTKTsKLQot
ICAgICAgZGQwMSA9IGxvYWRfdTgoZHN0ICsgMCAqIGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUpOwot
ICAgICAgZGQyMyA9IGxvYWRfdTgoZHN0ICsgMiAqIGRzdF9zdHJpZGUsIGRzdF9zdHJpZGUpOwot
Ci0gICAgICBkMDEgPSB2cmhhZGRfdTgoZDAxLCBkZDAxKTsKLSAgICAgIGQyMyA9IHZyaGFkZF91
OChkMjMsIGRkMjMpOwotCi0gICAgICBzdG9yZV91OChkc3QgKyAwICogZHN0X3N0cmlkZSwgZHN0
X3N0cmlkZSwgZDAxKTsKLSAgICAgIHN0b3JlX3U4KGRzdCArIDIgKiBkc3Rfc3RyaWRlLCBkc3Rf
c3RyaWRlLCBkMjMpOwotCi0gICAgICBzcmMgKz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICBkc3Qg
Kz0gNCAqIGRzdF9zdHJpZGU7Ci0gICAgICBoIC09IDQ7Ci0gICAgfSB3aGlsZSAoaCAhPSAwKTsK
LSAgfSBlbHNlIHsKLSAgICBjb25zdCB1aW50OHgxNngzX3QgcGVybV90YmwgPSB2bGQxcV91OF94
Myhkb3RfcHJvZF9wZXJtdXRlX3RibCk7Ci0gICAgY29uc3QgdWludDhfdCAqczsKLSAgICB1aW50
OF90ICpkOwotICAgIGludCB3aWR0aDsKLSAgICB1aW50OHg4X3QgZDAsIGQxLCBkMiwgZDMsIGRk
MCwgZGQxLCBkZDIsIGRkMzsKLQotICAgIGRvIHsKLSAgICAgIHdpZHRoID0gdzsKLSAgICAgIHMg
PSBzcmM7Ci0gICAgICBkID0gZHN0OwotICAgICAgZG8gewotICAgICAgICBsb2FkX3U4XzE2eDQo
cywgc3JjX3N0cmlkZSwgJnMwLCAmczEsICZzMiwgJnMzKTsKLQotICAgICAgICBkMCA9IGNvbnZv
bHZlOF84X3VzZG90KHMwLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0gICAgICAgIGQxID0gY29udm9s
dmU4XzhfdXNkb3QoczEsIGZpbHRlcnMsIHBlcm1fdGJsKTsKLSAgICAgICAgZDIgPSBjb252b2x2
ZThfOF91c2RvdChzMiwgZmlsdGVycywgcGVybV90YmwpOwotICAgICAgICBkMyA9IGNvbnZvbHZl
OF84X3VzZG90KHMzLCBmaWx0ZXJzLCBwZXJtX3RibCk7Ci0KLSAgICAgICAgbG9hZF91OF84eDQo
ZCwgZHN0X3N0cmlkZSwgJmRkMCwgJmRkMSwgJmRkMiwgJmRkMyk7Ci0KLSAgICAgICAgZDAgPSB2
cmhhZGRfdTgoZDAsIGRkMCk7Ci0gICAgICAgIGQxID0gdnJoYWRkX3U4KGQxLCBkZDEpOwotICAg
ICAgICBkMiA9IHZyaGFkZF91OChkMiwgZGQyKTsKLSAgICAgICAgZDMgPSB2cmhhZGRfdTgoZDMs
IGRkMyk7Ci0KLSAgICAgICAgc3RvcmVfdThfOHg0KGQsIGRzdF9zdHJpZGUsIGQwLCBkMSwgZDIs
IGQzKTsKLQotICAgICAgICBzICs9IDg7Ci0gICAgICAgIGQgKz0gODsKLSAgICAgICAgd2lkdGgg
LT0gODsKLSAgICAgIH0gd2hpbGUgKHdpZHRoICE9IDApOwotICAgICAgc3JjICs9IDQgKiBzcmNf
c3RyaWRlOwotICAgICAgZHN0ICs9IDQgKiBkc3Rfc3RyaWRlOwotICAgICAgaCAtPSA0OwotICAg
IH0gd2hpbGUgKGggIT0gMCk7Ci0gIH0KLX0KLQotc3RhdGljIElOTElORSB2b2lkIHRyYW5zcG9z
ZV9jb25jYXRfNHg0KHVpbnQ4eDhfdCBhMCwgdWludDh4OF90IGExLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4eDhfdCBhMiwgdWludDh4OF90IGEzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4eDE2X3QgKmIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDh4MTZfdCBwZXJt
dXRlX3RibCkgewotICAvKiBUcmFuc3Bvc2UgOC1iaXQgZWxlbWVudHMgYW5kIGNvbmNhdGVuYXRl
IHJlc3VsdCByb3dzIGFzIGZvbGxvd3M6Ci0gICAqIGEwOiAwMCwgMDEsIDAyLCAwMywgWFgsIFhY
LCBYWCwgWFgKLSAgICogYTE6IDEwLCAxMSwgMTIsIDEzLCBYWCwgWFgsIFhYLCBYWAotICAgKiBh
MjogMjAsIDIxLCAyMiwgMjMsIFhYLCBYWCwgWFgsIFhYCi0gICAqIGEzOiAzMCwgMzEsIDMyLCAz
MywgWFgsIFhYLCBYWCwgWFgKLSAgICoKLSAgICogYjogMDAsIDEwLCAyMCwgMzAsIDAxLCAxMSwg
MjEsIDMxLCAwMiwgMTIsIDIyLCAzMiwgMDMsIDEzLCAyMywgMzMKLSAgICoKLSAgICogVGhlICdw
ZXJtdXRlX3RibCcgaXMgYWx3YXlzICdkb3RfcHJvZF90cmFuX2NvbmNhdF90YmwnIGFib3ZlLiBQ
YXNzaW5nIGl0Ci0gICAqIGFzIGFuIGFyZ3VtZW50IGlzIHByZWZlcmFibGUgdG8gbG9hZGluZyBp
dCBkaXJlY3RseSBmcm9tIG1lbW9yeSBhcyB0aGlzCi0gICAqIGlubGluZSBoZWxwZXIgaXMgY2Fs
bGVkIG1hbnkgdGltZXMgZnJvbSB0aGUgc2FtZSBwYXJlbnQgZnVuY3Rpb24uCi0gICAqLwotCi0g
IHVpbnQ4eDE2eDJfdCBzYW1wbGVzID0geyB7IHZjb21iaW5lX3U4KGEwLCBhMSksIHZjb21iaW5l
X3U4KGEyLCBhMykgfSB9OwotICAqYiA9IHZxdGJsMnFfdTgoc2FtcGxlcywgcGVybXV0ZV90Ymwp
OwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdHJhbnNwb3NlX2NvbmNhdF84eDQodWludDh4OF90
IGEwLCB1aW50OHg4X3QgYTEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDh4OF90IGEyLCB1aW50OHg4X3QgYTMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDh4MTZfdCAqYjAsIHVpbnQ4eDE2X3QgKmIxLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4eDE2eDJfdCBwZXJtdXRl
X3RibCkgewotICAvKiBUcmFuc3Bvc2UgOC1iaXQgZWxlbWVudHMgYW5kIGNvbmNhdGVuYXRlIHJl
c3VsdCByb3dzIGFzIGZvbGxvd3M6Ci0gICAqIGEwOiAwMCwgMDEsIDAyLCAwMywgMDQsIDA1LCAw
NiwgMDcKLSAgICogYTE6IDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNwotICAgKiBhMjog
MjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3Ci0gICAqIGEzOiAzMCwgMzEsIDMyLCAzMywg
MzQsIDM1LCAzNiwgMzcKLSAgICoKLSAgICogYjA6IDAwLCAxMCwgMjAsIDMwLCAwMSwgMTEsIDIx
LCAzMSwgMDIsIDEyLCAyMiwgMzIsIDAzLCAxMywgMjMsIDMzCi0gICAqIGIxOiAwNCwgMTQsIDI0
LCAzNCwgMDUsIDE1LCAyNSwgMzUsIDA2LCAxNiwgMjYsIDM2LCAwNywgMTcsIDI3LCAzNwotICAg
KgotICAgKiBUaGUgJ3Blcm11dGVfdGJsJyBpcyBhbHdheXMgJ2RvdF9wcm9kX3RyYW5fY29uY2F0
X3RibCcgYWJvdmUuIFBhc3NpbmcgaXQKLSAgICogYXMgYW4gYXJndW1lbnQgaXMgcHJlZmVyYWJs
ZSB0byBsb2FkaW5nIGl0IGRpcmVjdGx5IGZyb20gbWVtb3J5IGFzIHRoaXMKLSAgICogaW5saW5l
IGhlbHBlciBpcyBjYWxsZWQgbWFueSB0aW1lcyBmcm9tIHRoZSBzYW1lIHBhcmVudCBmdW5jdGlv
bi4KLSAgICovCi0KLSAgdWludDh4MTZ4Ml90IHNhbXBsZXMgPSB7IHsgdmNvbWJpbmVfdTgoYTAs
IGExKSwgdmNvbWJpbmVfdTgoYTIsIGEzKSB9IH07Ci0gICpiMCA9IHZxdGJsMnFfdTgoc2FtcGxl
cywgcGVybXV0ZV90YmwudmFsWzBdKTsKLSAgKmIxID0gdnF0YmwycV91OChzYW1wbGVzLCBwZXJt
dXRlX3RibC52YWxbMV0pOwotfQotCi12b2lkIHZweF9jb252b2x2ZThfdmVydF9uZW9uX2k4bW0o
Y29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCAqZmls
dGVyLCBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHhf
c3RlcF9xNCwgaW50IHkwX3E0LCBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3LCBpbnQgaCkgewotICBjb25zdCBpbnQ4eDhfdCBmaWx0ZXJzID0g
dm1vdm5fczE2KHZsZDFxX3MxNihmaWx0ZXJbeTBfcTRdKSk7Ci0gIGNvbnN0IHVpbnQ4eDE2eDNf
dCBtZXJnZV9ibG9ja190YmwgPSB2bGQxcV91OF94Myhkb3RfcHJvZF9tZXJnZV9ibG9ja190Ymwp
OwotICB1aW50OHg4X3QgczAsIHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgczksIHMx
MDsKLSAgdWludDh4MTZ4Ml90IHNhbXBsZXNfTFVUOwotCi0gIGFzc2VydCgoaW50cHRyX3QpZHN0
ICUgNCA9PSAwKTsKLSAgYXNzZXJ0KGRzdF9zdHJpZGUgJSA0ID09IDApOwotICBhc3NlcnQoeV9z
dGVwX3E0ID09IDE2KTsKLQotICAodm9pZCl4MF9xNDsKLSAgKHZvaWQpeF9zdGVwX3E0OwotICAo
dm9pZCl5X3N0ZXBfcTQ7Ci0KLSAgc3JjIC09IDMgKiBzcmNfc3RyaWRlOwotCi0gIGlmICh3ID09
IDQpIHsKLSAgICBjb25zdCB1aW50OHgxNl90IHRyYW5fY29uY2F0X3RibCA9IHZsZDFxX3U4KGRv
dF9wcm9kX3RyYW5fY29uY2F0X3RibCk7Ci0gICAgdWludDh4MTZfdCBzMDEyMywgczEyMzQsIHMy
MzQ1LCBzMzQ1NiwgczQ1NjcsIHM1Njc4LCBzNjc4OSwgczc4OTEwOwotICAgIGludDE2eDRfdCBk
MCwgZDEsIGQyLCBkMzsKLSAgICB1aW50OHg4X3QgZDAxLCBkMjM7Ci0KLSAgICBsb2FkX3U4Xzh4
NyhzcmMsIHNyY19zdHJpZGUsICZzMCwgJnMxLCAmczIsICZzMywgJnM0LCAmczUsICZzNik7Ci0g
ICAgc3JjICs9IDcgKiBzcmNfc3RyaWRlOwotCi0gICAgczcgPSB2ZHVwX25fdTgoMCk7Ci0gICAg
czggPSB2ZHVwX25fdTgoMCk7Ci0gICAgczkgPSB2ZHVwX25fdTgoMCk7Ci0KLSAgICAvKiBUaGlz
IG9wZXJhdGlvbiBjb21iaW5lcyBhIGNvbnZlbnRpb25hbCB0cmFuc3Bvc2UgYW5kIHRoZSBzYW1w
bGUgcGVybXV0ZQotICAgICAqIChzZWUgaG9yaXpvbnRhbCBjYXNlKSByZXF1aXJlZCBiZWZvcmUg
Y29tcHV0aW5nIHRoZSBkb3QgcHJvZHVjdC4KLSAgICAgKi8KLSAgICB0cmFuc3Bvc2VfY29uY2F0
XzR4NChzMCwgczEsIHMyLCBzMywgJnMwMTIzLCB0cmFuX2NvbmNhdF90YmwpOwotICAgIHRyYW5z
cG9zZV9jb25jYXRfNHg0KHMxLCBzMiwgczMsIHM0LCAmczEyMzQsIHRyYW5fY29uY2F0X3RibCk7
Ci0gICAgdHJhbnNwb3NlX2NvbmNhdF80eDQoczIsIHMzLCBzNCwgczUsICZzMjM0NSwgdHJhbl9j
b25jYXRfdGJsKTsKLSAgICB0cmFuc3Bvc2VfY29uY2F0XzR4NChzMywgczQsIHM1LCBzNiwgJnMz
NDU2LCB0cmFuX2NvbmNhdF90YmwpOwotICAgIHRyYW5zcG9zZV9jb25jYXRfNHg0KHM0LCBzNSwg
czYsIHM3LCAmczQ1NjcsIHRyYW5fY29uY2F0X3RibCk7Ci0gICAgdHJhbnNwb3NlX2NvbmNhdF80
eDQoczUsIHM2LCBzNywgczgsICZzNTY3OCwgdHJhbl9jb25jYXRfdGJsKTsKLSAgICB0cmFuc3Bv
c2VfY29uY2F0XzR4NChzNiwgczcsIHM4LCBzOSwgJnM2Nzg5LCB0cmFuX2NvbmNhdF90YmwpOwot
Ci0gICAgZG8gewotICAgICAgbG9hZF91OF84eDQoc3JjLCBzcmNfc3RyaWRlLCAmczcsICZzOCwg
JnM5LCAmczEwKTsKLQotICAgICAgdHJhbnNwb3NlX2NvbmNhdF80eDQoczcsIHM4LCBzOSwgczEw
LCAmczc4OTEwLCB0cmFuX2NvbmNhdF90YmwpOwotCi0gICAgICAvKiBNZXJnZSBuZXcgZGF0YSBp
bnRvIGJsb2NrIGZyb20gcHJldmlvdXMgaXRlcmF0aW9uLiAqLwotICAgICAgc2FtcGxlc19MVVQu
dmFsWzBdID0gczM0NTY7Ci0gICAgICBzYW1wbGVzX0xVVC52YWxbMV0gPSBzNzg5MTA7Ci0gICAg
ICBzNDU2NyA9IHZxdGJsMnFfdTgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2NrX3RibC52YWxbMF0p
OwotICAgICAgczU2NzggPSB2cXRibDJxX3U4KHNhbXBsZXNfTFVULCBtZXJnZV9ibG9ja190Ymwu
dmFsWzFdKTsKLSAgICAgIHM2Nzg5ID0gdnF0YmwycV91OChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxv
Y2tfdGJsLnZhbFsyXSk7Ci0KLSAgICAgIGQwID0gY29udm9sdmU4XzRfdXNkb3RfcGFydGlhbChz
MDEyMywgczQ1NjcsIGZpbHRlcnMpOwotICAgICAgZDEgPSBjb252b2x2ZThfNF91c2RvdF9wYXJ0
aWFsKHMxMjM0LCBzNTY3OCwgZmlsdGVycyk7Ci0gICAgICBkMiA9IGNvbnZvbHZlOF80X3VzZG90
X3BhcnRpYWwoczIzNDUsIHM2Nzg5LCBmaWx0ZXJzKTsKLSAgICAgIGQzID0gY29udm9sdmU4XzRf
dXNkb3RfcGFydGlhbChzMzQ1Niwgczc4OTEwLCBmaWx0ZXJzKTsKLSAgICAgIGQwMSA9IHZxcnNo
cnVuX25fczE2KHZjb21iaW5lX3MxNihkMCwgZDEpLCBGSUxURVJfQklUUyk7Ci0gICAgICBkMjMg
PSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDIsIGQzKSwgRklMVEVSX0JJVFMpOwotCi0g
ICAgICBzdG9yZV91OChkc3QgKyAwICogZHN0X3N0cmlkZSwgZHN0X3N0cmlkZSwgZDAxKTsKLSAg
ICAgIHN0b3JlX3U4KGRzdCArIDIgKiBkc3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCBkMjMpOwotCi0g
ICAgICAvKiBQcmVwYXJlIGJsb2NrIGZvciBuZXh0IGl0ZXJhdGlvbiAtIHJlLXVzaW5nIGFzIG11
Y2ggYXMgcG9zc2libGUuICovCi0gICAgICAvKiBTaHVmZmxlIGV2ZXJ5dGhpbmcgdXAgZm91ciBy
b3dzLiAqLwotICAgICAgczAxMjMgPSBzNDU2NzsKLSAgICAgIHMxMjM0ID0gczU2Nzg7Ci0gICAg
ICBzMjM0NSA9IHM2Nzg5OwotICAgICAgczM0NTYgPSBzNzg5MTA7Ci0KLSAgICAgIHNyYyArPSA0
ICogc3JjX3N0cmlkZTsKLSAgICAgIGRzdCArPSA0ICogZHN0X3N0cmlkZTsKLSAgICAgIGggLT0g
NDsKLSAgICB9IHdoaWxlIChoICE9IDApOwotICB9IGVsc2UgewotICAgIGNvbnN0IHVpbnQ4eDE2
eDJfdCB0cmFuX2NvbmNhdF90YmwgPSB2bGQxcV91OF94Mihkb3RfcHJvZF90cmFuX2NvbmNhdF90
YmwpOwotICAgIHVpbnQ4eDE2X3QgczAxMjNfbG8sIHMwMTIzX2hpLCBzMTIzNF9sbywgczEyMzRf
aGksIHMyMzQ1X2xvLCBzMjM0NV9oaSwKLSAgICAgICAgczM0NTZfbG8sIHMzNDU2X2hpLCBzNDU2
N19sbywgczQ1NjdfaGksIHM1Njc4X2xvLCBzNTY3OF9oaSwgczY3ODlfbG8sCi0gICAgICAgIHM2
Nzg5X2hpLCBzNzg5MTBfbG8sIHM3ODkxMF9oaTsKLSAgICB1aW50OHg4X3QgZDAsIGQxLCBkMiwg
ZDM7Ci0gICAgY29uc3QgdWludDhfdCAqczsKLSAgICB1aW50OF90ICpkOwotICAgIGludCBoZWln
aHQ7Ci0KLSAgICBkbyB7Ci0gICAgICBoZWlnaHQgPSBoOwotICAgICAgcyA9IHNyYzsKLSAgICAg
IGQgPSBkc3Q7Ci0KLSAgICAgIGxvYWRfdThfOHg3KHMsIHNyY19zdHJpZGUsICZzMCwgJnMxLCAm
czIsICZzMywgJnM0LCAmczUsICZzNik7Ci0gICAgICBzICs9IDcgKiBzcmNfc3RyaWRlOwotCi0g
ICAgICBzNyA9IHZkdXBfbl91OCgwKTsKLSAgICAgIHM4ID0gdmR1cF9uX3U4KDApOwotICAgICAg
czkgPSB2ZHVwX25fdTgoMCk7Ci0KLSAgICAgIC8qIFRoaXMgb3BlcmF0aW9uIGNvbWJpbmVzIGEg
Y29udmVudGlvbmFsIHRyYW5zcG9zZSBhbmQgdGhlIHNhbXBsZSBwZXJtdXRlCi0gICAgICAgKiAo
c2VlIGhvcml6b250YWwgY2FzZSkgcmVxdWlyZWQgYmVmb3JlIGNvbXB1dGluZyB0aGUgZG90IHBy
b2R1Y3QuCi0gICAgICAgKi8KLSAgICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHMwLCBzMSwgczIs
IHMzLCAmczAxMjNfbG8sICZzMDEyM19oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fY29uY2F0X3RibCk7Ci0gICAgICB0cmFuc3Bvc2VfY29uY2F0Xzh4NChzMSwgczIsIHMzLCBz
NCwgJnMxMjM0X2xvLCAmczEyMzRfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2NvbmNhdF90YmwpOwotICAgICAgdHJhbnNwb3NlX2NvbmNhdF84eDQoczIsIHMzLCBzNCwgczUs
ICZzMjM0NV9sbywgJnMyMzQ1X2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9j
b25jYXRfdGJsKTsKLSAgICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHMzLCBzNCwgczUsIHM2LCAm
czM0NTZfbG8sICZzMzQ1Nl9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29u
Y2F0X3RibCk7Ci0gICAgICB0cmFuc3Bvc2VfY29uY2F0Xzh4NChzNCwgczUsIHM2LCBzNywgJnM0
NTY3X2xvLCAmczQ1NjdfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNh
dF90YmwpOwotICAgICAgdHJhbnNwb3NlX2NvbmNhdF84eDQoczUsIHM2LCBzNywgczgsICZzNTY3
OF9sbywgJnM1Njc4X2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRf
dGJsKTsKLSAgICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHM2LCBzNywgczgsIHM5LCAmczY3ODlf
bG8sICZzNjc4OV9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3Ri
bCk7Ci0KLSAgICAgIGRvIHsKLSAgICAgICAgbG9hZF91OF84eDQocywgc3JjX3N0cmlkZSwgJnM3
LCAmczgsICZzOSwgJnMxMCk7Ci0KLSAgICAgICAgdHJhbnNwb3NlX2NvbmNhdF84eDQoczcsIHM4
LCBzOSwgczEwLCAmczc4OTEwX2xvLCAmczc4OTEwX2hpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwotCi0gICAgICAgIC8qIE1lcmdlIG5ldyBkYXRhIGlu
dG8gYmxvY2sgZnJvbSBwcmV2aW91cyBpdGVyYXRpb24uICovCi0gICAgICAgIHNhbXBsZXNfTFVU
LnZhbFswXSA9IHMzNDU2X2xvOwotICAgICAgICBzYW1wbGVzX0xVVC52YWxbMV0gPSBzNzg5MTBf
bG87Ci0gICAgICAgIHM0NTY3X2xvID0gdnF0YmwycV91OChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxv
Y2tfdGJsLnZhbFswXSk7Ci0gICAgICAgIHM1Njc4X2xvID0gdnF0YmwycV91OChzYW1wbGVzX0xV
VCwgbWVyZ2VfYmxvY2tfdGJsLnZhbFsxXSk7Ci0gICAgICAgIHM2Nzg5X2xvID0gdnF0YmwycV91
OChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZhbFsyXSk7Ci0KLSAgICAgICAgc2FtcGxl
c19MVVQudmFsWzBdID0gczM0NTZfaGk7Ci0gICAgICAgIHNhbXBsZXNfTFVULnZhbFsxXSA9IHM3
ODkxMF9oaTsKLSAgICAgICAgczQ1NjdfaGkgPSB2cXRibDJxX3U4KHNhbXBsZXNfTFVULCBtZXJn
ZV9ibG9ja190YmwudmFsWzBdKTsKLSAgICAgICAgczU2NzhfaGkgPSB2cXRibDJxX3U4KHNhbXBs
ZXNfTFVULCBtZXJnZV9ibG9ja190YmwudmFsWzFdKTsKLSAgICAgICAgczY3ODlfaGkgPSB2cXRi
bDJxX3U4KHNhbXBsZXNfTFVULCBtZXJnZV9ibG9ja190YmwudmFsWzJdKTsKLQotICAgICAgICBk
MCA9IGNvbnZvbHZlOF84X3VzZG90X3BhcnRpYWwoczAxMjNfbG8sIHM0NTY3X2xvLCBzMDEyM19o
aSwgczQ1NjdfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0
ZXJzKTsKLSAgICAgICAgZDEgPSBjb252b2x2ZThfOF91c2RvdF9wYXJ0aWFsKHMxMjM0X2xvLCBz
NTY3OF9sbywgczEyMzRfaGksIHM1Njc4X2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsdGVycyk7Ci0gICAgICAgIGQyID0gY29udm9sdmU4XzhfdXNkb3RfcGFy
dGlhbChzMjM0NV9sbywgczY3ODlfbG8sIHMyMzQ1X2hpLCBzNjc4OV9oaSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnMpOwotICAgICAgICBkMyA9IGNvbnZv
bHZlOF84X3VzZG90X3BhcnRpYWwoczM0NTZfbG8sIHM3ODkxMF9sbywgczM0NTZfaGksIHM3ODkx
MF9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnMpOwot
Ci0gICAgICAgIHN0b3JlX3U4Xzh4NChkLCBkc3Rfc3RyaWRlLCBkMCwgZDEsIGQyLCBkMyk7Ci0K
LSAgICAgICAgLyogUHJlcGFyZSBibG9jayBmb3IgbmV4dCBpdGVyYXRpb24gLSByZS11c2luZyBh
cyBtdWNoIGFzIHBvc3NpYmxlLiAqLwotICAgICAgICAvKiBTaHVmZmxlIGV2ZXJ5dGhpbmcgdXAg
Zm91ciByb3dzLiAqLwotICAgICAgICBzMDEyM19sbyA9IHM0NTY3X2xvOwotICAgICAgICBzMDEy
M19oaSA9IHM0NTY3X2hpOwotICAgICAgICBzMTIzNF9sbyA9IHM1Njc4X2xvOwotICAgICAgICBz
MTIzNF9oaSA9IHM1Njc4X2hpOwotICAgICAgICBzMjM0NV9sbyA9IHM2Nzg5X2xvOwotICAgICAg
ICBzMjM0NV9oaSA9IHM2Nzg5X2hpOwotICAgICAgICBzMzQ1Nl9sbyA9IHM3ODkxMF9sbzsKLSAg
ICAgICAgczM0NTZfaGkgPSBzNzg5MTBfaGk7Ci0KLSAgICAgICAgcyArPSA0ICogc3JjX3N0cmlk
ZTsKLSAgICAgICAgZCArPSA0ICogZHN0X3N0cmlkZTsKLSAgICAgICAgaGVpZ2h0IC09IDQ7Ci0g
ICAgICB9IHdoaWxlIChoZWlnaHQgIT0gMCk7Ci0gICAgICBzcmMgKz0gODsKLSAgICAgIGRzdCAr
PSA4OwotICAgICAgdyAtPSA4OwotICAgIH0gd2hpbGUgKHcgIT0gMCk7Ci0gIH0KLX0KLQotdm9p
ZCB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X25lb25faThtbShjb25zdCB1aW50OF90ICpzcmMsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeF9zdGVwX3E0LCBp
bnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3LCBpbnQgaCkgewotICBjb25zdCBpbnQ4eDhfdCBmaWx0ZXJzID0gdm1vdm5f
czE2KHZsZDFxX3MxNihmaWx0ZXJbeTBfcTRdKSk7Ci0gIGNvbnN0IHVpbnQ4eDE2eDNfdCBtZXJn
ZV9ibG9ja190YmwgPSB2bGQxcV91OF94Myhkb3RfcHJvZF9tZXJnZV9ibG9ja190YmwpOwotICB1
aW50OHg4X3QgczAsIHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3LCBzOCwgczksIHMxMDsKLSAg
dWludDh4MTZ4Ml90IHNhbXBsZXNfTFVUOwotCi0gIGFzc2VydCgoaW50cHRyX3QpZHN0ICUgNCA9
PSAwKTsKLSAgYXNzZXJ0KGRzdF9zdHJpZGUgJSA0ID09IDApOwotICBhc3NlcnQoeV9zdGVwX3E0
ID09IDE2KTsKLQotICAodm9pZCl4MF9xNDsKLSAgKHZvaWQpeF9zdGVwX3E0OwotICAodm9pZCl5
X3N0ZXBfcTQ7Ci0KLSAgc3JjIC09IDMgKiBzcmNfc3RyaWRlOwotCi0gIGlmICh3ID09IDQpIHsK
LSAgICBjb25zdCB1aW50OHgxNl90IHRyYW5fY29uY2F0X3RibCA9IHZsZDFxX3U4KGRvdF9wcm9k
X3RyYW5fY29uY2F0X3RibCk7Ci0gICAgdWludDh4MTZfdCBzMDEyMywgczEyMzQsIHMyMzQ1LCBz
MzQ1NiwgczQ1NjcsIHM1Njc4LCBzNjc4OSwgczc4OTEwOwotICAgIGludDE2eDRfdCBkMCwgZDEs
IGQyLCBkMzsKLSAgICB1aW50OHg4X3QgZDAxLCBkMjMsIGRkMDEsIGRkMjM7Ci0KLSAgICBsb2Fk
X3U4Xzh4NyhzcmMsIHNyY19zdHJpZGUsICZzMCwgJnMxLCAmczIsICZzMywgJnM0LCAmczUsICZz
Nik7Ci0gICAgc3JjICs9IDcgKiBzcmNfc3RyaWRlOwotCi0gICAgczcgPSB2ZHVwX25fdTgoMCk7
Ci0gICAgczggPSB2ZHVwX25fdTgoMCk7Ci0gICAgczkgPSB2ZHVwX25fdTgoMCk7Ci0KLSAgICAv
KiBUaGlzIG9wZXJhdGlvbiBjb21iaW5lcyBhIGNvbnZlbnRpb25hbCB0cmFuc3Bvc2UgYW5kIHRo
ZSBzYW1wbGUgcGVybXV0ZQotICAgICAqIChzZWUgaG9yaXpvbnRhbCBjYXNlKSByZXF1aXJlZCBi
ZWZvcmUgY29tcHV0aW5nIHRoZSBkb3QgcHJvZHVjdC4KLSAgICAgKi8KLSAgICB0cmFuc3Bvc2Vf
Y29uY2F0XzR4NChzMCwgczEsIHMyLCBzMywgJnMwMTIzLCB0cmFuX2NvbmNhdF90YmwpOwotICAg
IHRyYW5zcG9zZV9jb25jYXRfNHg0KHMxLCBzMiwgczMsIHM0LCAmczEyMzQsIHRyYW5fY29uY2F0
X3RibCk7Ci0gICAgdHJhbnNwb3NlX2NvbmNhdF80eDQoczIsIHMzLCBzNCwgczUsICZzMjM0NSwg
dHJhbl9jb25jYXRfdGJsKTsKLSAgICB0cmFuc3Bvc2VfY29uY2F0XzR4NChzMywgczQsIHM1LCBz
NiwgJnMzNDU2LCB0cmFuX2NvbmNhdF90YmwpOwotICAgIHRyYW5zcG9zZV9jb25jYXRfNHg0KHM0
LCBzNSwgczYsIHM3LCAmczQ1NjcsIHRyYW5fY29uY2F0X3RibCk7Ci0gICAgdHJhbnNwb3NlX2Nv
bmNhdF80eDQoczUsIHM2LCBzNywgczgsICZzNTY3OCwgdHJhbl9jb25jYXRfdGJsKTsKLSAgICB0
cmFuc3Bvc2VfY29uY2F0XzR4NChzNiwgczcsIHM4LCBzOSwgJnM2Nzg5LCB0cmFuX2NvbmNhdF90
YmwpOwotCi0gICAgZG8gewotICAgICAgbG9hZF91OF84eDQoc3JjLCBzcmNfc3RyaWRlLCAmczcs
ICZzOCwgJnM5LCAmczEwKTsKLQotICAgICAgdHJhbnNwb3NlX2NvbmNhdF80eDQoczcsIHM4LCBz
OSwgczEwLCAmczc4OTEwLCB0cmFuX2NvbmNhdF90YmwpOwotCi0gICAgICAvKiBNZXJnZSBuZXcg
ZGF0YSBpbnRvIGJsb2NrIGZyb20gcHJldmlvdXMgaXRlcmF0aW9uLiAqLwotICAgICAgc2FtcGxl
c19MVVQudmFsWzBdID0gczM0NTY7Ci0gICAgICBzYW1wbGVzX0xVVC52YWxbMV0gPSBzNzg5MTA7
Ci0gICAgICBzNDU2NyA9IHZxdGJsMnFfdTgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2NrX3RibC52
YWxbMF0pOwotICAgICAgczU2NzggPSB2cXRibDJxX3U4KHNhbXBsZXNfTFVULCBtZXJnZV9ibG9j
a190YmwudmFsWzFdKTsKLSAgICAgIHM2Nzg5ID0gdnF0YmwycV91OChzYW1wbGVzX0xVVCwgbWVy
Z2VfYmxvY2tfdGJsLnZhbFsyXSk7Ci0KLSAgICAgIGQwID0gY29udm9sdmU4XzRfdXNkb3RfcGFy
dGlhbChzMDEyMywgczQ1NjcsIGZpbHRlcnMpOwotICAgICAgZDEgPSBjb252b2x2ZThfNF91c2Rv
dF9wYXJ0aWFsKHMxMjM0LCBzNTY3OCwgZmlsdGVycyk7Ci0gICAgICBkMiA9IGNvbnZvbHZlOF80
X3VzZG90X3BhcnRpYWwoczIzNDUsIHM2Nzg5LCBmaWx0ZXJzKTsKLSAgICAgIGQzID0gY29udm9s
dmU4XzRfdXNkb3RfcGFydGlhbChzMzQ1Niwgczc4OTEwLCBmaWx0ZXJzKTsKLSAgICAgIGQwMSA9
IHZxcnNocnVuX25fczE2KHZjb21iaW5lX3MxNihkMCwgZDEpLCBGSUxURVJfQklUUyk7Ci0gICAg
ICBkMjMgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYoZDIsIGQzKSwgRklMVEVSX0JJVFMp
OwotCi0gICAgICBkZDAxID0gbG9hZF91OChkc3QgKyAwICogZHN0X3N0cmlkZSwgZHN0X3N0cmlk
ZSk7Ci0gICAgICBkZDIzID0gbG9hZF91OChkc3QgKyAyICogZHN0X3N0cmlkZSwgZHN0X3N0cmlk
ZSk7Ci0KLSAgICAgIGQwMSA9IHZyaGFkZF91OChkMDEsIGRkMDEpOwotICAgICAgZDIzID0gdnJo
YWRkX3U4KGQyMywgZGQyMyk7Ci0KLSAgICAgIHN0b3JlX3U4KGRzdCArIDAgKiBkc3Rfc3RyaWRl
LCBkc3Rfc3RyaWRlLCBkMDEpOwotICAgICAgc3RvcmVfdTgoZHN0ICsgMiAqIGRzdF9zdHJpZGUs
IGRzdF9zdHJpZGUsIGQyMyk7Ci0KLSAgICAgIC8qIFByZXBhcmUgYmxvY2sgZm9yIG5leHQgaXRl
cmF0aW9uIC0gcmUtdXNpbmcgYXMgbXVjaCBhcyBwb3NzaWJsZS4gKi8KLSAgICAgIC8qIFNodWZm
bGUgZXZlcnl0aGluZyB1cCBmb3VyIHJvd3MuICovCi0gICAgICBzMDEyMyA9IHM0NTY3OwotICAg
ICAgczEyMzQgPSBzNTY3ODsKLSAgICAgIHMyMzQ1ID0gczY3ODk7Ci0gICAgICBzMzQ1NiA9IHM3
ODkxMDsKLQotICAgICAgc3JjICs9IDQgKiBzcmNfc3RyaWRlOwotICAgICAgZHN0ICs9IDQgKiBk
c3Rfc3RyaWRlOwotICAgICAgaCAtPSA0OwotICAgIH0gd2hpbGUgKGggIT0gMCk7Ci0gIH0gZWxz
ZSB7Ci0gICAgY29uc3QgdWludDh4MTZ4Ml90IHRyYW5fY29uY2F0X3RibCA9IHZsZDFxX3U4X3gy
KGRvdF9wcm9kX3RyYW5fY29uY2F0X3RibCk7Ci0gICAgdWludDh4MTZfdCBzMDEyM19sbywgczAx
MjNfaGksIHMxMjM0X2xvLCBzMTIzNF9oaSwgczIzNDVfbG8sIHMyMzQ1X2hpLAotICAgICAgICBz
MzQ1Nl9sbywgczM0NTZfaGksIHM0NTY3X2xvLCBzNDU2N19oaSwgczU2NzhfbG8sIHM1Njc4X2hp
LCBzNjc4OV9sbywKLSAgICAgICAgczY3ODlfaGksIHM3ODkxMF9sbywgczc4OTEwX2hpOwotICAg
IHVpbnQ4eDhfdCBkMCwgZDEsIGQyLCBkMywgZGQwLCBkZDEsIGRkMiwgZGQzOwotICAgIGNvbnN0
IHVpbnQ4X3QgKnM7Ci0gICAgdWludDhfdCAqZDsKLSAgICBpbnQgaGVpZ2h0OwotCi0gICAgZG8g
ewotICAgICAgaGVpZ2h0ID0gaDsKLSAgICAgIHMgPSBzcmM7Ci0gICAgICBkID0gZHN0OwotCi0g
ICAgICBsb2FkX3U4Xzh4NyhzLCBzcmNfc3RyaWRlLCAmczAsICZzMSwgJnMyLCAmczMsICZzNCwg
JnM1LCAmczYpOwotICAgICAgcyArPSA3ICogc3JjX3N0cmlkZTsKLQotICAgICAgczcgPSB2ZHVw
X25fdTgoMCk7Ci0gICAgICBzOCA9IHZkdXBfbl91OCgwKTsKLSAgICAgIHM5ID0gdmR1cF9uX3U4
KDApOwotCi0gICAgICAvKiBUaGlzIG9wZXJhdGlvbiBjb21iaW5lcyBhIGNvbnZlbnRpb25hbCB0
cmFuc3Bvc2UgYW5kIHRoZSBzYW1wbGUgcGVybXV0ZQotICAgICAgICogKHNlZSBob3Jpem9udGFs
IGNhc2UpIHJlcXVpcmVkIGJlZm9yZSBjb21wdXRpbmcgdGhlIGRvdCBwcm9kdWN0LgotICAgICAg
ICovCi0gICAgICB0cmFuc3Bvc2VfY29uY2F0Xzh4NChzMCwgczEsIHMyLCBzMywgJnMwMTIzX2xv
LCAmczAxMjNfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90Ymwp
OwotICAgICAgdHJhbnNwb3NlX2NvbmNhdF84eDQoczEsIHMyLCBzMywgczQsICZzMTIzNF9sbywg
JnMxMjM0X2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRfdGJsKTsK
LSAgICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHMyLCBzMywgczQsIHM1LCAmczIzNDVfbG8sICZz
MjM0NV9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3RibCk7Ci0g
ICAgICB0cmFuc3Bvc2VfY29uY2F0Xzh4NChzMywgczQsIHM1LCBzNiwgJnMzNDU2X2xvLCAmczM0
NTZfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwotICAg
ICAgdHJhbnNwb3NlX2NvbmNhdF84eDQoczQsIHM1LCBzNiwgczcsICZzNDU2N19sbywgJnM0NTY3
X2hpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9jb25jYXRfdGJsKTsKLSAgICAg
IHRyYW5zcG9zZV9jb25jYXRfOHg0KHM1LCBzNiwgczcsIHM4LCAmczU2NzhfbG8sICZzNTY3OF9o
aSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fY29uY2F0X3RibCk7Ci0gICAgICB0
cmFuc3Bvc2VfY29uY2F0Xzh4NChzNiwgczcsIHM4LCBzOSwgJnM2Nzg5X2xvLCAmczY3ODlfaGks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2NvbmNhdF90YmwpOwotCi0gICAgICBk
byB7Ci0gICAgICAgIGxvYWRfdThfOHg0KHMsIHNyY19zdHJpZGUsICZzNywgJnM4LCAmczksICZz
MTApOwotCi0gICAgICAgIHRyYW5zcG9zZV9jb25jYXRfOHg0KHM3LCBzOCwgczksIHMxMCwgJnM3
ODkxMF9sbywgJnM3ODkxMF9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9j
b25jYXRfdGJsKTsKLQotICAgICAgICAvKiBNZXJnZSBuZXcgZGF0YSBpbnRvIGJsb2NrIGZyb20g
cHJldmlvdXMgaXRlcmF0aW9uLiAqLwotICAgICAgICBzYW1wbGVzX0xVVC52YWxbMF0gPSBzMzQ1
Nl9sbzsKLSAgICAgICAgc2FtcGxlc19MVVQudmFsWzFdID0gczc4OTEwX2xvOwotICAgICAgICBz
NDU2N19sbyA9IHZxdGJsMnFfdTgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2NrX3RibC52YWxbMF0p
OwotICAgICAgICBzNTY3OF9sbyA9IHZxdGJsMnFfdTgoc2FtcGxlc19MVVQsIG1lcmdlX2Jsb2Nr
X3RibC52YWxbMV0pOwotICAgICAgICBzNjc4OV9sbyA9IHZxdGJsMnFfdTgoc2FtcGxlc19MVVQs
IG1lcmdlX2Jsb2NrX3RibC52YWxbMl0pOwotCi0gICAgICAgIHNhbXBsZXNfTFVULnZhbFswXSA9
IHMzNDU2X2hpOwotICAgICAgICBzYW1wbGVzX0xVVC52YWxbMV0gPSBzNzg5MTBfaGk7Ci0gICAg
ICAgIHM0NTY3X2hpID0gdnF0YmwycV91OChzYW1wbGVzX0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZh
bFswXSk7Ci0gICAgICAgIHM1Njc4X2hpID0gdnF0YmwycV91OChzYW1wbGVzX0xVVCwgbWVyZ2Vf
YmxvY2tfdGJsLnZhbFsxXSk7Ci0gICAgICAgIHM2Nzg5X2hpID0gdnF0YmwycV91OChzYW1wbGVz
X0xVVCwgbWVyZ2VfYmxvY2tfdGJsLnZhbFsyXSk7Ci0KLSAgICAgICAgZDAgPSBjb252b2x2ZThf
OF91c2RvdF9wYXJ0aWFsKHMwMTIzX2xvLCBzNDU2N19sbywgczAxMjNfaGksIHM0NTY3X2hpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycyk7Ci0gICAgICAg
IGQxID0gY29udm9sdmU4XzhfdXNkb3RfcGFydGlhbChzMTIzNF9sbywgczU2NzhfbG8sIHMxMjM0
X2hpLCBzNTY3OF9oaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp
bHRlcnMpOwotICAgICAgICBkMiA9IGNvbnZvbHZlOF84X3VzZG90X3BhcnRpYWwoczIzNDVfbG8s
IHM2Nzg5X2xvLCBzMjM0NV9oaSwgczY3ODlfaGksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0ZXJzKTsKLSAgICAgICAgZDMgPSBjb252b2x2ZThfOF91c2RvdF9w
YXJ0aWFsKHMzNDU2X2xvLCBzNzg5MTBfbG8sIHMzNDU2X2hpLCBzNzg5MTBfaGksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzKTsKLQotICAgICAgICBsb2Fk
X3U4Xzh4NChkLCBkc3Rfc3RyaWRlLCAmZGQwLCAmZGQxLCAmZGQyLCAmZGQzKTsKLQotICAgICAg
ICBkMCA9IHZyaGFkZF91OChkMCwgZGQwKTsKLSAgICAgICAgZDEgPSB2cmhhZGRfdTgoZDEsIGRk
MSk7Ci0gICAgICAgIGQyID0gdnJoYWRkX3U4KGQyLCBkZDIpOwotICAgICAgICBkMyA9IHZyaGFk
ZF91OChkMywgZGQzKTsKLQotICAgICAgICBzdG9yZV91OF84eDQoZCwgZHN0X3N0cmlkZSwgZDAs
IGQxLCBkMiwgZDMpOwotCi0gICAgICAgIC8qIFByZXBhcmUgYmxvY2sgZm9yIG5leHQgaXRlcmF0
aW9uIC0gcmUtdXNpbmcgYXMgbXVjaCBhcyBwb3NzaWJsZS4gKi8KLSAgICAgICAgLyogU2h1ZmZs
ZSBldmVyeXRoaW5nIHVwIGZvdXIgcm93cy4gKi8KLSAgICAgICAgczAxMjNfbG8gPSBzNDU2N19s
bzsKLSAgICAgICAgczAxMjNfaGkgPSBzNDU2N19oaTsKLSAgICAgICAgczEyMzRfbG8gPSBzNTY3
OF9sbzsKLSAgICAgICAgczEyMzRfaGkgPSBzNTY3OF9oaTsKLSAgICAgICAgczIzNDVfbG8gPSBz
Njc4OV9sbzsKLSAgICAgICAgczIzNDVfaGkgPSBzNjc4OV9oaTsKLSAgICAgICAgczM0NTZfbG8g
PSBzNzg5MTBfbG87Ci0gICAgICAgIHMzNDU2X2hpID0gczc4OTEwX2hpOwotCi0gICAgICAgIHMg
Kz0gNCAqIHNyY19zdHJpZGU7Ci0gICAgICAgIGQgKz0gNCAqIGRzdF9zdHJpZGU7Ci0gICAgICAg
IGhlaWdodCAtPSA0OwotICAgICAgfSB3aGlsZSAoaGVpZ2h0ICE9IDApOwotICAgICAgc3JjICs9
IDg7Ci0gICAgICBkc3QgKz0gODsKLSAgICAgIHcgLT0gODsKLSAgICB9IHdoaWxlICh3ICE9IDAp
OwotICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2
ZV9hdmdfbmVvbi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfYXZnX25l
b24uYwppbmRleCA4ZTNlZTU5OWY0ZmUuLjA3MzQ5ZDAzYWU1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfYXZnX25lb24uYworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9hdmdfbmVvbi5jCkBAIC00Myw3ICs0Myw3IEBAIHZv
aWQgdnB4X2NvbnZvbHZlX2F2Z19uZW9uKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCiAgICAgICB2c3QxX2xhbmVfdTMyKCh1aW50MzJfdCAqKWRzdCwgdnJlaW50ZXJw
cmV0X3UzMl91OChkZDApLCAxKTsKICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwogICAgICAgaCAt
PSAyOwotICAgIH0gd2hpbGUgKGggIT0gMCk7CisgICAgfSB3aGlsZSAoaCA+IDApOwogICB9IGVs
c2UgaWYgKHcgPT0gOCkgeyAgLy8gYXZnOAogICAgIHVpbnQ4eDhfdCBzMCwgczEsIGQwLCBkMTsK
ICAgICB1aW50OHgxNl90IHMwMSwgZDAxOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIHZweF9jb252
b2x2ZV9hdmdfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAog
ICAgICAgdnN0MV91OChkc3QsIHZnZXRfaGlnaF91OChkMDEpKTsKICAgICAgIGRzdCArPSBkc3Rf
c3RyaWRlOwogICAgICAgaCAtPSAyOwotICAgIH0gd2hpbGUgKGggIT0gMCk7CisgICAgfSB3aGls
ZSAoaCA+IDApOwogICB9IGVsc2UgaWYgKHcgPCAzMikgeyAgLy8gYXZnMTYKICAgICB1aW50OHgx
Nl90IHMwLCBzMSwgZDAsIGQxOwogICAgIGRvIHsKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCB2cHhf
Y29udm9sdmVfYXZnX25lb24oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKICAgICAgIHZzdDFxX3U4KGRzdCwgZDEpOwogICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7CiAg
ICAgICBoIC09IDI7Ci0gICAgfSB3aGlsZSAoaCAhPSAwKTsKKyAgICB9IHdoaWxlIChoID4gMCk7
CiAgIH0gZWxzZSBpZiAodyA9PSAzMikgeyAgLy8gYXZnMzIKICAgICB1aW50OHgxNl90IHMwLCBz
MSwgczIsIHMzLCBkMCwgZDEsIGQyLCBkMzsKICAgICBkbyB7CkBAIC0xMTAsNyArMTEwLDcgQEAg
dm9pZCB2cHhfY29udm9sdmVfYXZnX25lb24oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKICAgICAgIHZzdDFxX3U4KGRzdCArIDE2LCBkMyk7CiAgICAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKICAgICAgIGggLT0gMjsKLSAgICB9IHdoaWxlIChoICE9IDApOworICAgIH0g
d2hpbGUgKGggPiAwKTsKICAgfSBlbHNlIHsgIC8vIGF2ZzY0CiAgICAgdWludDh4MTZfdCBzMCwg
czEsIHMyLCBzMywgZDAsIGQxLCBkMiwgZDM7CiAgICAgZG8gewpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVfY29weV9uZW9uLmMgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXJtL3ZweF9jb252b2x2ZV9jb3B5X25lb24uYwppbmRleCBiZWE3Yzk4NDM3NDAuLjdh
YmVkNjdhNDA4MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9s
dmVfY29weV9uZW9uLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2FybS92cHhfY29udm9sdmVf
Y29weV9uZW9uLmMKQEAgLTksNyArOSw2IEBACiAgKi8KIAogI2luY2x1ZGUgPGFybV9uZW9uLmg+
Ci0jaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgogI2lu
Y2x1ZGUgInZweC92cHhfaW50ZWdlci5oIgpAQCAtMjcsMTQgKzI2LDE0IEBAIHZvaWQgdnB4X2Nv
bnZvbHZlX2NvcHlfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAogCiAgIGlmICh3IDwgOCkgeyAgLy8gY29weTQKICAgICBkbyB7Ci0gICAgICBtZW1jcHkoZHN0
LCBzcmMsIDQpOworICAgICAgKih1aW50MzJfdCAqKWRzdCA9ICooY29uc3QgdWludDMyX3QgKilz
cmM7CiAgICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwot
ICAgICAgbWVtY3B5KGRzdCwgc3JjLCA0KTsKKyAgICAgICoodWludDMyX3QgKilkc3QgPSAqKGNv
bnN0IHVpbnQzMl90ICopc3JjOwogICAgICAgc3JjICs9IHNyY19zdHJpZGU7CiAgICAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKICAgICAgIGggLT0gMjsKLSAgICB9IHdoaWxlIChoICE9IDApOworICAg
IH0gd2hpbGUgKGggPiAwKTsKICAgfSBlbHNlIGlmICh3ID09IDgpIHsgIC8vIGNvcHk4CiAgICAg
dWludDh4OF90IHMwLCBzMTsKICAgICBkbyB7CkBAIC00OCw3ICs0Nyw3IEBAIHZvaWQgdnB4X2Nv
bnZvbHZlX2NvcHlfbmVvbihjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAogICAgICAgdnN0MV91OChkc3QsIHMxKTsKICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwogICAg
ICAgaCAtPSAyOwotICAgIH0gd2hpbGUgKGggIT0gMCk7CisgICAgfSB3aGlsZSAoaCA+IDApOwog
ICB9IGVsc2UgaWYgKHcgPCAzMikgeyAgLy8gY29weTE2CiAgICAgdWludDh4MTZfdCBzMCwgczE7
CiAgICAgZG8gewpAQCAtNjIsNyArNjEsNyBAQCB2b2lkIHZweF9jb252b2x2ZV9jb3B5X25lb24o
Y29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgIHZzdDFxX3U4
KGRzdCwgczEpOwogICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7CiAgICAgICBoIC09IDI7Ci0gICAg
fSB3aGlsZSAoaCAhPSAwKTsKKyAgICB9IHdoaWxlIChoID4gMCk7CiAgIH0gZWxzZSBpZiAodyA9
PSAzMikgeyAgLy8gY29weTMyCiAgICAgdWludDh4MTZfdCBzMCwgczEsIHMyLCBzMzsKICAgICBk
byB7CkBAIC04MCw3ICs3OSw3IEBAIHZvaWQgdnB4X2NvbnZvbHZlX2NvcHlfbmVvbihjb25zdCB1
aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgdnN0MXFfdTgoZHN0ICsg
MTYsIHMzKTsKICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwogICAgICAgaCAtPSAyOwotICAgIH0g
d2hpbGUgKGggIT0gMCk7CisgICAgfSB3aGlsZSAoaCA+IDApOwogICB9IGVsc2UgeyAgLy8gY29w
eTY0CiAgICAgdWludDh4MTZfdCBzMCwgczEsIHMyLCBzMzsKICAgICBkbyB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9uZW9uX2RvdHByb2QuYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX25lb25fZG90cHJvZC5jCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDBlMjZiMzBhOTEuLjAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9uZW9uX2RvdHByb2QuYworKysgL2Rl
di9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBX
ZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICog
IHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJp
Z2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNv
bnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhP
UlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUg
PGFzc2VydC5oPgotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhf
ZHNwL2FybS92cHhfY29udm9sdmU4X25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3Bf
Y29tbW9uLmgiCi0jaW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgotCi12b2lkIHZweF9jb252b2x2
ZThfbmVvbl9kb3Rwcm9kKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90
IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVy
cEtlcm5lbCAqZmlsdGVyLCBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB4X3N0ZXBfcTQsIGludCB5MF9xNCwgaW50IHlfc3RlcF9xNCwgaW50IHcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7Ci0gIC8qIEdpdmVuIG91ciBjb25z
dHJhaW50czogdyA8PSA2NCwgaCA8PSA2NCwgdGFwcyA9PSA4IHdlIGNhbiByZWR1Y2UgdGhlCi0g
ICAqIG1heGltdW0gYnVmZmVyIHNpemUgdG8gNjQgKiAoNjQgKyA3KS4gKi8KLSAgdWludDhfdCB0
ZW1wWzY0ICogNzFdOwotCi0gIC8qIEFjY291bnQgZm9yIHRoZSB2ZXJ0aWNhbCBwaGFzZSBuZWVk
aW5nIDMgbGluZXMgcHJpb3IgYW5kIDQgbGluZXMgcG9zdC4gKi8KLSAgY29uc3QgaW50IGludGVy
bWVkaWF0ZV9oZWlnaHQgPSBoICsgNzsKLQotICBhc3NlcnQoeV9zdGVwX3E0ID09IDE2KTsKLSAg
YXNzZXJ0KHhfc3RlcF9xNCA9PSAxNik7Ci0KLSAgLyogRmlsdGVyIHN0YXJ0aW5nIDMgbGluZXMg
YmFjay4gKi8KLSAgdnB4X2NvbnZvbHZlOF8yZF9ob3Jpel9uZW9uX2RvdHByb2Qoc3JjIC0gc3Jj
X3N0cmlkZSAqIDMsIHNyY19zdHJpZGUsIHRlbXAsIHcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbHRlciwgeDBfcTQsIHhfc3RlcF9xNCwgeTBfcTQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlfc3RlcF9xNCwgdywgaW50ZXJtZWRpYXRl
X2hlaWdodCk7Ci0KLSAgLyogU3RlcCBpbnRvIHRoZSB0ZW1wIGJ1ZmZlciAzIGxpbmVzIHRvIGdl
dCB0aGUgYWN0dWFsIGZyYW1lIGRhdGEuICovCi0gIHZweF9jb252b2x2ZThfdmVydF9uZW9uX2Rv
dHByb2QodGVtcCArIHcgKiAzLCB3LCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB4MF9xNCwgeF9zdGVwX3E0LCB5MF9xNCwgeV9zdGVw
X3E0LCB3LCBoKTsKLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X2F2Z19uZW9uX2RvdHByb2QoY29u
c3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZp
bHRlciwgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHhfc3RlcF9xNCwgaW50IHkwX3E0LCBpbnQgeV9zdGVwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHcsIGludCBoKSB7Ci0gIHVpbnQ4X3QgdGVtcFs2NCAqIDcx
XTsKLSAgY29uc3QgaW50IGludGVybWVkaWF0ZV9oZWlnaHQgPSBoICsgNzsKLQotICBhc3NlcnQo
eV9zdGVwX3E0ID09IDE2KTsKLSAgYXNzZXJ0KHhfc3RlcF9xNCA9PSAxNik7Ci0KLSAgdnB4X2Nv
bnZvbHZlOF8yZF9ob3Jpel9uZW9uX2RvdHByb2Qoc3JjIC0gc3JjX3N0cmlkZSAqIDMsIHNyY19z
dHJpZGUsIHRlbXAsIHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp
bHRlciwgeDBfcTQsIHhfc3RlcF9xNCwgeTBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHlfc3RlcF9xNCwgdywgaW50ZXJtZWRpYXRlX2hlaWdodCk7Ci0KLSAgdnB4
X2NvbnZvbHZlOF9hdmdfdmVydF9uZW9uX2RvdHByb2QodGVtcCArIHcgKiAzLCB3LCBkc3QsIGRz
dF9zdHJpZGUsIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eDBfcTQsIHhfc3RlcF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwgdywgaCk7Ci19CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9uZW9uX2k4bW0uYyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9hcm0vdnB4X2NvbnZvbHZlX25lb25faThtbS5jCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0ZDk0YmI3OWI3ZDcuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvYXJtL3ZweF9jb252b2x2ZV9uZW9uX2k4bW0uYworKysgL2Rldi9udWxsCkBA
IC0xLDYwICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBXZWJNIHByb2pl
Y3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2Fu
IGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQot
ICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFu
dCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGlu
ZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBp
biB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPGFzc2VydC5o
PgotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2FybS92
cHhfY29udm9sdmU4X25lb24uaCIKLSNpbmNsdWRlICJ2cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgi
Ci0jaW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgotCi12b2lkIHZweF9jb252b2x2ZThfbmVvbl9p
OG1tKGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCAqZmlsdGVyLCBp
bnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsIGlu
dCB5MF9xNCwgaW50IHlfc3RlcF9xNCwgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBoKSB7Ci0gIC8qIEdpdmVuIG91ciBjb25zdHJhaW50czogdyA8PSA2NCwgaCA8PSA2
NCwgdGFwcyA9PSA4IHdlIGNhbiByZWR1Y2UgdGhlCi0gICAqIG1heGltdW0gYnVmZmVyIHNpemUg
dG8gNjQgKiAoNjQgKyA3KS4gKi8KLSAgdWludDhfdCB0ZW1wWzY0ICogNzFdOwotCi0gIC8qIEFj
Y291bnQgZm9yIHRoZSB2ZXJ0aWNhbCBwaGFzZSBuZWVkaW5nIDMgbGluZXMgcHJpb3IgYW5kIDQg
bGluZXMgcG9zdC4gKi8KLSAgY29uc3QgaW50IGludGVybWVkaWF0ZV9oZWlnaHQgPSBoICsgNzsK
LQotICBhc3NlcnQoeV9zdGVwX3E0ID09IDE2KTsKLSAgYXNzZXJ0KHhfc3RlcF9xNCA9PSAxNik7
Ci0KLSAgLyogRmlsdGVyIHN0YXJ0aW5nIDMgbGluZXMgYmFjay4gKi8KLSAgdnB4X2NvbnZvbHZl
OF8yZF9ob3Jpel9uZW9uX2k4bW0oc3JjIC0gc3JjX3N0cmlkZSAqIDMsIHNyY19zdHJpZGUsIHRl
bXAsIHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciwgeDBfcTQs
IHhfc3RlcF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdywgaW50ZXJtZWRpYXRlX2hlaWdodCk7Ci0KLSAgLyogU3RlcCBpbnRvIHRoZSB0
ZW1wIGJ1ZmZlciAzIGxpbmVzIHRvIGdldCB0aGUgYWN0dWFsIGZyYW1lIGRhdGEuICovCi0gIHZw
eF9jb252b2x2ZThfdmVydF9uZW9uX2k4bW0odGVtcCArIHcgKiAzLCB3LCBkc3QsIGRzdF9zdHJp
ZGUsIGZpbHRlciwgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeF9zdGVw
X3E0LCB5MF9xNCwgeV9zdGVwX3E0LCB3LCBoKTsKLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X2F2
Z19uZW9uX2k4bW0oY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRz
dF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBL
ZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHhfc3RlcF9xNCwgaW50IHkwX3E0LCBpbnQgeV9zdGVwX3E0LCBpbnQgdywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7Ci0gIHVpbnQ4X3QgdGVtcFs2NCAq
IDcxXTsKLSAgY29uc3QgaW50IGludGVybWVkaWF0ZV9oZWlnaHQgPSBoICsgNzsKLQotICBhc3Nl
cnQoeV9zdGVwX3E0ID09IDE2KTsKLSAgYXNzZXJ0KHhfc3RlcF9xNCA9PSAxNik7Ci0KLSAgdnB4
X2NvbnZvbHZlOF8yZF9ob3Jpel9uZW9uX2k4bW0oc3JjIC0gc3JjX3N0cmlkZSAqIDMsIHNyY19z
dHJpZGUsIHRlbXAsIHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
ciwgeDBfcTQsIHhfc3RlcF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdywgaW50ZXJtZWRpYXRlX2hlaWdodCk7Ci0KLSAgdnB4X2NvbnZv
bHZlOF9hdmdfdmVydF9uZW9uX2k4bW0odGVtcCArIHcgKiAzLCB3LCBkc3QsIGRzdF9zdHJpZGUs
IGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDBfcTQsIHhfc3Rl
cF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwgdywgaCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvYXJtL3ZweF9zY2FsZWRfY29udm9sdmU4X25lb24uYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9hcm0vdnB4X3NjYWxlZF9jb252b2x2ZThfbmVvbi5jCmluZGV4IGI4ZTNjNWU1NDA5NC4u
OGVkZjhhNjZlNmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9zY2Fs
ZWRfY29udm9sdmU4X25lb24uYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvYXJtL3ZweF9zY2Fs
ZWRfY29udm9sdmU4X25lb24uYwpAQCAtMTUsNyArMTUsNiBAQAogI2luY2x1ZGUgIi4vdnB4X2Nv
bmZpZy5oIgogI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCiAjaW5jbHVkZSAidnB4L3ZweF9p
bnRlZ2VyLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9hcm0vbWVtX25lb24uaCIKICNpbmNsdWRlICJ2
cHhfZHNwL2FybS90cmFuc3Bvc2VfbmVvbi5oIgogI2luY2x1ZGUgInZweF9kc3AvYXJtL3ZweF9j
b252b2x2ZThfbmVvbi5oIgogI2luY2x1ZGUgInZweF9wb3J0cy9tZW0uaCIKQEAgLTM5LDYgKzM4
LDggQEAgc3RhdGljIElOTElORSB2b2lkIHNjYWxlZGNvbnZvbHZlX2hvcml6X3c0KAogICAgICAg
ICBjb25zdCB1aW50OF90ICpjb25zdCBzcmNfeCA9ICZzcmNbeF9xNCA+PiBTVUJQRUxfQklUU107
CiAgICAgICAgIGlmICh4X3E0ICYgU1VCUEVMX01BU0spIHsKICAgICAgICAgICBjb25zdCBpbnQx
Nng4X3QgZmlsdGVycyA9IHZsZDFxX3MxNih4X2ZpbHRlcnNbeF9xNCAmIFNVQlBFTF9NQVNLXSk7
CisgICAgICAgICAgY29uc3QgaW50MTZ4NF90IGZpbHRlcjMgPSB2ZHVwX2xhbmVfczE2KHZnZXRf
bG93X3MxNihmaWx0ZXJzKSwgMyk7CisgICAgICAgICAgY29uc3QgaW50MTZ4NF90IGZpbHRlcjQg
PSB2ZHVwX2xhbmVfczE2KHZnZXRfaGlnaF9zMTYoZmlsdGVycyksIDApOwogICAgICAgICAgIHVp
bnQ4eDhfdCBzWzhdLCBkOwogICAgICAgICAgIGludDE2eDhfdCBzc1s0XTsKICAgICAgICAgICBp
bnQxNng0X3QgdFs4XSwgdHQ7CkBAIC02MCw3ICs2MSw3IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBz
Y2FsZWRjb252b2x2ZV9ob3Jpel93NCgKICAgICAgICAgICB0WzddID0gdmdldF9oaWdoX3MxNihz
c1szXSk7CiAKICAgICAgICAgICB0dCA9IGNvbnZvbHZlOF80KHRbMF0sIHRbMV0sIHRbMl0sIHRb
M10sIHRbNF0sIHRbNV0sIHRbNl0sIHRbN10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBm
aWx0ZXJzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnMsIGZpbHRlcjMsIGZp
bHRlcjQpOwogICAgICAgICAgIGQgPSB2cXJzaHJ1bl9uX3MxNih2Y29tYmluZV9zMTYodHQsIHR0
KSwgNyk7CiAgICAgICAgICAgdnN0MV9sYW5lX3UzMigodWludDMyX3QgKikmdGVtcFs0ICogel0s
IHZyZWludGVycHJldF91MzJfdTgoZCksIDApOwogICAgICAgICB9IGVsc2UgewpAQCAtMTY2LDYg
KzE2Nyw4IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBzY2FsZWRjb252b2x2ZV92ZXJ0X3c0KAogCiAg
ICAgaWYgKHlfcTQgJiBTVUJQRUxfTUFTSykgewogICAgICAgY29uc3QgaW50MTZ4OF90IGZpbHRl
cnMgPSB2bGQxcV9zMTYoeV9maWx0ZXJzW3lfcTQgJiBTVUJQRUxfTUFTS10pOworICAgICAgY29u
c3QgaW50MTZ4NF90IGZpbHRlcjMgPSB2ZHVwX2xhbmVfczE2KHZnZXRfbG93X3MxNihmaWx0ZXJz
KSwgMyk7CisgICAgICBjb25zdCBpbnQxNng0X3QgZmlsdGVyNCA9IHZkdXBfbGFuZV9zMTYodmdl
dF9oaWdoX3MxNihmaWx0ZXJzKSwgMCk7CiAgICAgICB1aW50OHg4X3Qgc1s4XSwgZDsKICAgICAg
IGludDE2eDRfdCB0WzhdLCB0dDsKIApAQCAtMTgwLDcgKzE4Myw4IEBAIHN0YXRpYyBJTkxJTkUg
dm9pZCBzY2FsZWRjb252b2x2ZV92ZXJ0X3c0KAogICAgICAgdFs2XSA9IHZnZXRfbG93X3MxNih2
cmVpbnRlcnByZXRxX3MxNl91MTYodm1vdmxfdTgoc1s2XSkpKTsKICAgICAgIHRbN10gPSB2Z2V0
X2xvd19zMTYodnJlaW50ZXJwcmV0cV9zMTZfdTE2KHZtb3ZsX3U4KHNbN10pKSk7CiAKLSAgICAg
IHR0ID0gY29udm9sdmU4XzQodFswXSwgdFsxXSwgdFsyXSwgdFszXSwgdFs0XSwgdFs1XSwgdFs2
XSwgdFs3XSwgZmlsdGVycyk7CisgICAgICB0dCA9IGNvbnZvbHZlOF80KHRbMF0sIHRbMV0sIHRb
Ml0sIHRbM10sIHRbNF0sIHRbNV0sIHRbNl0sIHRbN10sIGZpbHRlcnMsCisgICAgICAgICAgICAg
ICAgICAgICAgIGZpbHRlcjMsIGZpbHRlcjQpOwogICAgICAgZCA9IHZxcnNocnVuX25fczE2KHZj
b21iaW5lX3MxNih0dCwgdHQpLCA3KTsKICAgICAgIHZzdDFfbGFuZV91MzIoKHVpbnQzMl90ICop
ZHN0LCB2cmVpbnRlcnByZXRfdTMyX3U4KGQpLCAwKTsKICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2F2Zy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2F2Zy5jCmlu
ZGV4IGE4ZGNhYjdkYWVmZS4uMWM0NWU4YTczZGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvYXZnLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2F2Zy5jCkBAIC03LDggKzcsNiBA
QAogICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0
aG9ycyBtYXkKICAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9m
IHRoZSBzb3VyY2UgdHJlZS4KICAqLwotCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+CiAjaW5jbHVkZSA8
c3RkbGliLmg+CiAKICNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgpAQCAtMjk1LDE5ICsyOTMs
MTkgQEAgdm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzJfYyhjb25zdCBpbnQxNl90ICpzcmNfZGlmZiwg
cHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgdnB4X2hhZGFtYXJkXzE2eDE2X2Moc3JjX3B0ciwg
c3JjX3N0cmlkZSwgY29lZmYgKyBpZHggKiAyNTYpOwogICB9CiAKLSAgLy8gY29lZmY6IDE2IGJp
dCwgZHluYW1pYyByYW5nZSBbLTMyNzY4LCAzMjc2N10KKyAgLy8gY29lZmY6IDE1IGJpdCwgZHlu
YW1pYyByYW5nZSBbLTE2MzIwLCAxNjMyMF0KICAgZm9yIChpZHggPSAwOyBpZHggPCAyNTY7ICsr
aWR4KSB7CiAgICAgdHJhbl9sb3dfdCBhMCA9IGNvZWZmWzBdOwogICAgIHRyYW5fbG93X3QgYTEg
PSBjb2VmZlsyNTZdOwogICAgIHRyYW5fbG93X3QgYTIgPSBjb2VmZls1MTJdOwogICAgIHRyYW5f
bG93X3QgYTMgPSBjb2VmZls3NjhdOwogCi0gICAgdHJhbl9sb3dfdCBiMCA9IChhMCArIGExKSA+
PiAyOyAgLy8gKGEwICsgYTEpOiAxNyBiaXQsIFstNjU1MzYsIDY1NTM1XQorICAgIHRyYW5fbG93
X3QgYjAgPSAoYTAgKyBhMSkgPj4gMjsgIC8vIChhMCArIGExKTogMTYgYml0LCBbLTMyNjQwLCAz
MjY0MF0KICAgICB0cmFuX2xvd190IGIxID0gKGEwIC0gYTEpID4+IDI7ICAvLyBiMC1iMzogMTUg
Yml0LCBkeW5hbWljIHJhbmdlCi0gICAgdHJhbl9sb3dfdCBiMiA9IChhMiArIGEzKSA+PiAyOyAg
Ly8gWy0xNjM4NCwgMTYzODNdCisgICAgdHJhbl9sb3dfdCBiMiA9IChhMiArIGEzKSA+PiAyOyAg
Ly8gWy0xNjMyMCwgMTYzMjBdCiAgICAgdHJhbl9sb3dfdCBiMyA9IChhMiAtIGEzKSA+PiAyOwog
Ci0gICAgY29lZmZbMF0gPSBiMCArIGIyOyAgLy8gMTYgYml0LCBbLTMyNzY4LCAzMjc2N10KKyAg
ICBjb2VmZlswXSA9IGIwICsgYjI7ICAvLyAxNiBiaXQsIFstMzI2NDAsIDMyNjQwXQogICAgIGNv
ZWZmWzI1Nl0gPSBiMSArIGIzOwogICAgIGNvZWZmWzUxMl0gPSBiMCAtIGIyOwogICAgIGNvZWZm
Wzc2OF0gPSBiMSAtIGIzOwpAQCAtMzQ2LDcgKzM0NCw2IEBAIHZvaWQgdnB4X2ludF9wcm9fcm93
X2MoaW50MTZfdCBoYnVmWzE2XSwgY29uc3QgdWludDhfdCAqcmVmLAogICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgaW50IGhlaWdodCkgewogICBpbnQg
aWR4OwogICBjb25zdCBpbnQgbm9ybV9mYWN0b3IgPSBoZWlnaHQgPj4gMTsKLSAgYXNzZXJ0KGhl
aWdodCA+PSAyKTsKICAgZm9yIChpZHggPSAwOyBpZHggPCAxNjsgKytpZHgpIHsKICAgICBpbnQg
aTsKICAgICBoYnVmW2lkeF0gPSAwOwpAQCAtNDI4LDcgKzQyNSw3IEBAIHZvaWQgdnB4X2hpZ2hi
ZF9taW5tYXhfOHg4X2MoY29uc3QgdWludDhfdCAqczgsIGludCBwLCBjb25zdCB1aW50OF90ICpk
OCwKICAgaW50IGksIGo7CiAgIGNvbnN0IHVpbnQxNl90ICpzID0gQ09OVkVSVF9UT19TSE9SVFBU
UihzOCk7CiAgIGNvbnN0IHVpbnQxNl90ICpkID0gQ09OVkVSVF9UT19TSE9SVFBUUihkOCk7Ci0g
ICptaW4gPSA2NTUzNTsKKyAgKm1pbiA9IDI1NTsKICAgKm1heCA9IDA7CiAgIGZvciAoaSA9IDA7
IGkgPCA4OyArK2ksIHMgKz0gcCwgZCArPSBkcCkgewogICAgIGZvciAoaiA9IDA7IGogPCA4OyAr
K2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXIuaCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXIuaAppbmRleCA1ZjFlZTY5ZWMyMDYuLjA0MDg0YWY4ZjI1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2JpdHdyaXRlci5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9iaXR3cml0ZXIuaApAQCAtMTMsNyArMTMsNiBAQAogCiAjaW5jbHVkZSA8
c3RkaW8uaD4KIAotI2luY2x1ZGUgInZweF9wb3J0cy9jb21waWxlcl9hdHRyaWJ1dGVzLmgiCiAj
aW5jbHVkZSAidnB4X3BvcnRzL21lbS5oIgogCiAjaW5jbHVkZSAidnB4X2RzcC9wcm9iLmgiCkBA
IC0zNiw5ICszNSw3IEBAIHR5cGVkZWYgc3RydWN0IHZweF93cml0ZXIgewogdm9pZCB2cHhfc3Rh
cnRfZW5jb2RlKHZweF93cml0ZXIgKmJyLCB1aW50OF90ICpzb3VyY2UpOwogdm9pZCB2cHhfc3Rv
cF9lbmNvZGUodnB4X3dyaXRlciAqYnIpOwogCi1zdGF0aWMgSU5MSU5FIFZQWF9OT19VTlNJR05F
RF9TSElGVF9DSEVDSyB2b2lkIHZweF93cml0ZSh2cHhfd3JpdGVyICpiciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiaXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcHJvYmFiaWxpdHkpIHsKK3N0YXRpYyBJTkxJTkUgdm9pZCB2cHhfd3JpdGUodnB4X3dyaXRl
ciAqYnIsIGludCBiaXQsIGludCBwcm9iYWJpbGl0eSkgewogICB1bnNpZ25lZCBpbnQgc3BsaXQ7
CiAgIGludCBjb3VudCA9IGJyLT5jb3VudDsKICAgdW5zaWduZWQgaW50IHJhbmdlID0gYnItPnJh
bmdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Zhc3Rzc2ltLmMgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvZmFzdHNzaW0uYwppbmRleCA0ZDMyYTAyYTU1NTQuLjZhYjZmNTU3ZTI1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2Zhc3Rzc2ltLmMKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2Zhc3Rzc2ltLmMKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RydWN0IGZzX2N0eCB7CiAg
IHVuc2lnbmVkICpjb2xfYnVmOwogfTsKIAotc3RhdGljIGludCBmc19jdHhfaW5pdChmc19jdHgg
Kl9jdHgsIGludCBfdywgaW50IF9oLCBpbnQgX25sZXZlbHMpIHsKK3N0YXRpYyB2b2lkIGZzX2N0
eF9pbml0KGZzX2N0eCAqX2N0eCwgaW50IF93LCBpbnQgX2gsIGludCBfbmxldmVscykgewogICB1
bnNpZ25lZCBjaGFyICpkYXRhOwogICBzaXplX3QgZGF0YV9zaXplOwogICBpbnQgbHc7CkBAIC03
MSw3ICs3MSw2IEBAIHN0YXRpYyBpbnQgZnNfY3R4X2luaXQoZnNfY3R4ICpfY3R4LCBpbnQgX3cs
IGludCBfaCwgaW50IF9ubGV2ZWxzKSB7CiAgICAgbGggPSAobGggKyAxKSA+PiAxOwogICB9CiAg
IGRhdGEgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYyhkYXRhX3NpemUpOwotICBpZiAoIWRhdGEp
IHJldHVybiAtMTsKICAgX2N0eC0+bGV2ZWwgPSAoZnNfbGV2ZWwgKilkYXRhOwogICBfY3R4LT5u
bGV2ZWxzID0gX25sZXZlbHM7CiAgIGRhdGEgKz0gX25sZXZlbHMgKiBzaXplb2YoKl9jdHgtPmxl
dmVsKTsKQEAgLTk2LDcgKzk1LDYgQEAgc3RhdGljIGludCBmc19jdHhfaW5pdChmc19jdHggKl9j
dHgsIGludCBfdywgaW50IF9oLCBpbnQgX25sZXZlbHMpIHsKICAgICBsaCA9IChsaCArIDEpID4+
IDE7CiAgIH0KICAgX2N0eC0+Y29sX2J1ZiA9ICh1bnNpZ25lZCAqKWRhdGE7Ci0gIHJldHVybiAw
OwogfQogCiBzdGF0aWMgdm9pZCBmc19jdHhfY2xlYXIoZnNfY3R4ICpfY3R4KSB7IGZyZWUoX2N0
eC0+bGV2ZWwpOyB9CkBAIC00NTgsNyArNDU2LDcgQEAgc3RhdGljIGRvdWJsZSBjYWxjX3NzaW0o
Y29uc3QgdWludDhfdCAqX3NyYywgaW50IF9zeXN0cmlkZSwgY29uc3QgdWludDhfdCAqX2RzdCwK
ICAgZG91YmxlIHJldDsKICAgaW50IGw7CiAgIHJldCA9IDE7Ci0gIGlmIChmc19jdHhfaW5pdCgm
Y3R4LCBfdywgX2gsIEZTX05MRVZFTFMpKSByZXR1cm4gOTkuMDsKKyAgZnNfY3R4X2luaXQoJmN0
eCwgX3csIF9oLCBGU19OTEVWRUxTKTsKICAgZnNfZG93bnNhbXBsZV9sZXZlbDAoJmN0eCwgX3Ny
YywgX3N5c3RyaWRlLCBfZHN0LCBfZHlzdHJpZGUsIF93LCBfaCwgX2JkLAogICAgICAgICAgICAg
ICAgICAgICAgICBfc2hpZnQpOwogICBmb3IgKGwgPSAwOyBsIDwgRlNfTkxFVkVMUyAtIDE7IGwr
KykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9hdmdfbHN4LmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2F2Z19sc3guYwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzUwYzlkZTI5ZmM4Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2xvb25nYXJjaC9hdmdfbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCww
IEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz
IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBB
biBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZv
dW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBh
dXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qg
b2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLQotI2luY2x1
ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9sb29uZ2FyY2gvYml0ZGVw
dGhfY29udmVyc2lvbl9sc3guaCIKLQotdm9pZCB2cHhfaGFkYW1hcmRfOHg4X2xzeChjb25zdCBp
bnQxNl90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuX2xvd190ICpkc3QpIHsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
LCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3OwotICBfX20xMjhpIHRtcDAsIHRtcDEsIHRtcDIsIHRt
cDMsIHRtcDQsIHRtcDUsIHRtcDYsIHRtcDc7Ci0gIHB0cmRpZmZfdCBzcmNfc3RyaWRlMiA9IHNy
Y19zdHJpZGUgPDwgMTsKLSAgcHRyZGlmZl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBz
cmNfc3RyaWRlOwotICBwdHJkaWZmX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwot
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZTYgPSBzcmNfc3RyaWRlMyA8PCAxOwotCi0gIGludDE2X3Qg
KnNyY190bXAgPSAoaW50MTZfdCAqKXNyYzsKLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmNfdG1wLCAw
KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHNyY19zdHJpZGUyLCBzcmNfdG1w
LCBzcmNfc3RyaWRlNCwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KHNyY190bXAs
IHNyY19zdHJpZGU2KTsKLSAgc3JjX3RtcCArPSBzcmNfc3RyaWRlNDsKLSAgc3JjNCA9IF9fbHN4
X3ZsZChzcmNfdG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHNyY19z
dHJpZGUyLCBzcmNfdG1wLCBzcmNfc3RyaWRlNCwgc3JjNSwgc3JjNik7Ci0gIHNyYzcgPSBfX2xz
eF92bGR4KHNyY190bXAsIHNyY19zdHJpZGU2KTsKLQotICBMU1hfQlVUVEVSRkxZXzhfSChzcmMw
LCBzcmMyLCBzcmM0LCBzcmM2LCBzcmM3LCBzcmM1LCBzcmMzLCBzcmMxLCB0bXAwLCB0bXAyLAot
ICAgICAgICAgICAgICAgICAgICB0bXA0LCB0bXA2LCB0bXA3LCB0bXA1LCB0bXAzLCB0bXAxKTsK
LSAgTFNYX0JVVFRFUkZMWV84X0godG1wMCwgdG1wMSwgdG1wNCwgdG1wNSwgdG1wNywgdG1wNiwg
dG1wMywgdG1wMiwgc3JjMCwgc3JjMSwKLSAgICAgICAgICAgICAgICAgICAgc3JjNCwgc3JjNSwg
c3JjNywgc3JjNiwgc3JjMywgc3JjMik7Ci0gIExTWF9CVVRURVJGTFlfOF9IKHNyYzAsIHNyYzEs
IHNyYzIsIHNyYzMsIHNyYzcsIHNyYzYsIHNyYzUsIHNyYzQsIHRtcDAsIHRtcDcsCi0gICAgICAg
ICAgICAgICAgICAgIHRtcDMsIHRtcDQsIHRtcDUsIHRtcDEsIHRtcDYsIHRtcDIpOwotICBMU1hf
VFJBTlNQT1NFOHg4X0godG1wMCwgdG1wMSwgdG1wMiwgdG1wMywgdG1wNCwgdG1wNSwgdG1wNiwg
dG1wNywgc3JjMCwgc3JjMSwKLSAgICAgICAgICAgICAgICAgICAgIHNyYzIsIHNyYzMsIHNyYzQs
IHNyYzUsIHNyYzYsIHNyYzcpOwotICBMU1hfQlVUVEVSRkxZXzhfSChzcmMwLCBzcmMyLCBzcmM0
LCBzcmM2LCBzcmM3LCBzcmM1LCBzcmMzLCBzcmMxLCB0bXAwLCB0bXAyLAotICAgICAgICAgICAg
ICAgICAgICB0bXA0LCB0bXA2LCB0bXA3LCB0bXA1LCB0bXAzLCB0bXAxKTsKLSAgTFNYX0JVVFRF
UkZMWV84X0godG1wMCwgdG1wMSwgdG1wNCwgdG1wNSwgdG1wNywgdG1wNiwgdG1wMywgdG1wMiwg
c3JjMCwgc3JjMSwKLSAgICAgICAgICAgICAgICAgICAgc3JjNCwgc3JjNSwgc3JjNywgc3JjNiwg
c3JjMywgc3JjMik7Ci0gIExTWF9CVVRURVJGTFlfOF9IKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMs
IHNyYzcsIHNyYzYsIHNyYzUsIHNyYzQsIHRtcDAsIHRtcDcsCi0gICAgICAgICAgICAgICAgICAg
IHRtcDMsIHRtcDQsIHRtcDUsIHRtcDEsIHRtcDYsIHRtcDIpOwotICBzdG9yZV90cmFuX2xvdyh0
bXAwLCBkc3QsIDApOwotICBzdG9yZV90cmFuX2xvdyh0bXAxLCBkc3QsIDgpOwotICBzdG9yZV90
cmFuX2xvdyh0bXAyLCBkc3QsIDE2KTsKLSAgc3RvcmVfdHJhbl9sb3codG1wMywgZHN0LCAyNCk7
Ci0gIHN0b3JlX3RyYW5fbG93KHRtcDQsIGRzdCwgMzIpOwotICBzdG9yZV90cmFuX2xvdyh0bXA1
LCBkc3QsIDQwKTsKLSAgc3RvcmVfdHJhbl9sb3codG1wNiwgZHN0LCA0OCk7Ci0gIHN0b3JlX3Ry
YW5fbG93KHRtcDcsIGRzdCwgNTYpOwotfQotCi12b2lkIHZweF9oYWRhbWFyZF8xNngxNl9sc3go
Y29uc3QgaW50MTZfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cmFuX2xvd190ICpkc3QpIHsKLSAgaW50IGk7Ci0gIF9fbTEyOGkgYTAs
IGExLCBhMiwgYTMsIGIwLCBiMSwgYjIsIGIzOwotCi0gIC8qIFJlYXJyYW5nZSAxNngxNiB0byA4
eDMyIGFuZCByZW1vdmUgc3RyaWRlLgotICAgKiBUb3AgbGVmdCBmaXJzdC4gKi8KLSAgdnB4X2hh
ZGFtYXJkXzh4OF9sc3goc3JjICsgMCArIDAgKiBzcmNfc3RyaWRlLCBzcmNfc3RyaWRlLCBkc3Qg
KyAwKTsKLSAgLyogVG9wIHJpZ2h0LiAqLwotICB2cHhfaGFkYW1hcmRfOHg4X2xzeChzcmMgKyA4
ICsgMCAqIHNyY19zdHJpZGUsIHNyY19zdHJpZGUsIGRzdCArIDY0KTsKLSAgLyogQm90dG9tIGxl
ZnQuICovCi0gIHZweF9oYWRhbWFyZF84eDhfbHN4KHNyYyArIDAgKyA4ICogc3JjX3N0cmlkZSwg
c3JjX3N0cmlkZSwgZHN0ICsgMTI4KTsKLSAgLyogQm90dG9tIHJpZ2h0LiAqLwotICB2cHhfaGFk
YW1hcmRfOHg4X2xzeChzcmMgKyA4ICsgOCAqIHNyY19zdHJpZGUsIHNyY19zdHJpZGUsIGRzdCAr
IDE5Mik7Ci0KLSAgZm9yIChpID0gMDsgaSA8IDY0OyBpICs9IDgpIHsKLSAgICBhMCA9IGxvYWRf
dHJhbl9sb3coZHN0KTsKLSAgICBhMSA9IGxvYWRfdHJhbl9sb3coZHN0ICsgNjQpOwotICAgIGEy
ID0gbG9hZF90cmFuX2xvdyhkc3QgKyAxMjgpOwotICAgIGEzID0gbG9hZF90cmFuX2xvdyhkc3Qg
KyAxOTIpOwotCi0gICAgTFNYX0JVVFRFUkZMWV80X0goYTAsIGEyLCBhMywgYTEsIGIwLCBiMiwg
YjMsIGIxKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnNyYWlfaCwgYjAsIDEsIGIxLCAxLCBiMiwg
MSwgYjMsIDEsIGIwLCBiMSwgYjIsIGIzKTsKLSAgICBMU1hfQlVUVEVSRkxZXzRfSChiMCwgYjEs
IGIzLCBiMiwgYTAsIGExLCBhMywgYTIpOwotCi0gICAgc3RvcmVfdHJhbl9sb3coYTAsIGRzdCwg
MCk7Ci0gICAgc3RvcmVfdHJhbl9sb3coYTEsIGRzdCwgNjQpOwotICAgIHN0b3JlX3RyYW5fbG93
KGEyLCBkc3QsIDEyOCk7Ci0gICAgc3RvcmVfdHJhbl9sb3coYTMsIGRzdCwgMTkyKTsKLQotICAg
IGRzdCArPSA4OwotICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdh
cmNoL2F2Z19wcmVkX2xzeC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9hdmdfcHJl
ZF9sc3guYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDgyNjI2MDgwYTE1Li4wMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9hdmdfcHJlZF9sc3gu
YworKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAy
MDIyIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0g
KiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJv
b3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHBy
b3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRT
LiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4g
dGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQot
I2luY2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVk
ZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0jaW5jbHVkZSAidnB4X3V0aWwvbG9vbmdzb25faW50cmlu
c2ljcy5oIgotCi12b2lkIHZweF9jb21wX2F2Z19wcmVkX2xzeCh1aW50OF90ICpjb21wX3ByZWQs
IGNvbnN0IHVpbnQ4X3QgKnByZWQsIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBoZWlnaHQsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJpZGUpIHsKLSAg
Ly8gd2lkdGggPiA4IHx8IHdpZHRoID09IDggfHwgd2lkdGggPT0gNAotICBpZiAod2lkdGggPiA4
KSB7Ci0gICAgaW50IGksIGo7Ci0gICAgZm9yIChpID0gMDsgaSA8IGhlaWdodDsgKytpKSB7Ci0g
ICAgICBmb3IgKGogPSAwOyBqIDwgd2lkdGg7IGogKz0gMTYpIHsKLSAgICAgICAgX19tMTI4aSBw
LCByLCBhdmc7Ci0KLSAgICAgICAgcCA9IF9fbHN4X3ZsZChwcmVkICsgaiwgMCk7Ci0gICAgICAg
IHIgPSBfX2xzeF92bGQocmVmICsgaiwgMCk7Ci0gICAgICAgIGF2ZyA9IF9fbHN4X3ZhdmdyX2J1
KHAsIHIpOwotICAgICAgICBfX2xzeF92c3QoYXZnLCBjb21wX3ByZWQgKyBqLCAwKTsKLSAgICAg
IH0KLSAgICAgIGNvbXBfcHJlZCArPSB3aWR0aDsKLSAgICAgIHByZWQgKz0gd2lkdGg7Ci0gICAg
ICByZWYgKz0gcmVmX3N0cmlkZTsKLSAgICB9Ci0gIH0gZWxzZSBpZiAod2lkdGggPT0gOCkgewot
ICAgIGludCBpID0gaGVpZ2h0ICogd2lkdGg7Ci0gICAgZG8gewotICAgICAgX19tMTI4aSBwLCBy
LCByXzAsIHJfMTsKLQotICAgICAgcCA9IF9fbHN4X3ZsZChwcmVkLCAwKTsKLSAgICAgIHJfMCA9
IF9fbHN4X3ZsZChyZWYsIDApOwotICAgICAgcmVmICs9IHJlZl9zdHJpZGU7Ci0gICAgICByXzEg
PSBfX2xzeF92bGQocmVmLCAwKTsKLSAgICAgIHJlZiArPSByZWZfc3RyaWRlOwotICAgICAgciA9
IF9fbHN4X3ZpbHZsX2Qocl8xLCByXzApOwotICAgICAgciA9IF9fbHN4X3ZhdmdyX2J1KHAsIHIp
OwotCi0gICAgICBfX2xzeF92c3QociwgY29tcF9wcmVkLCAwKTsKLQotICAgICAgcHJlZCArPSAx
NjsKLSAgICAgIGNvbXBfcHJlZCArPSAxNjsKLSAgICAgIGkgLT0gMTY7Ci0gICAgfSB3aGlsZSAo
aSk7Ci0gIH0gZWxzZSB7ICAvLyB3aWR0aCA9IDQKLSAgICBpbnQgaSA9IGhlaWdodCAqIHdpZHRo
OwotICAgIGFzc2VydCh3aWR0aCA9PSA0KTsKLSAgICBkbyB7Ci0gICAgICBfX20xMjhpIHAsIHIs
IHJfMCwgcl8xLCByXzIsIHJfMzsKLSAgICAgIHAgPSBfX2xzeF92bGQocHJlZCwgMCk7Ci0KLSAg
ICAgIGlmICh3aWR0aCA9PSByZWZfc3RyaWRlKSB7Ci0gICAgICAgIHIgPSBfX2xzeF92bGQocmVm
LCAwKTsKLSAgICAgICAgcmVmICs9IDE2OwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgcl8wID0g
X19sc3hfdmxkKHJlZiwgMCk7Ci0gICAgICAgIHJlZiArPSByZWZfc3RyaWRlOwotICAgICAgICBy
XzEgPSBfX2xzeF92bGQocmVmLCAwKTsKLSAgICAgICAgcmVmICs9IHJlZl9zdHJpZGU7Ci0gICAg
ICAgIHJfMiA9IF9fbHN4X3ZsZChyZWYsIDApOwotICAgICAgICByZWYgKz0gcmVmX3N0cmlkZTsK
LSAgICAgICAgcl8zID0gX19sc3hfdmxkKHJlZiwgMCk7Ci0gICAgICAgIHJlZiArPSByZWZfc3Ry
aWRlOwotICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfdywgcl8xLCByXzAsIHJfMywgcl8y
LCByXzAsIHJfMik7Ci0gICAgICAgIHIgPSBfX2xzeF92aWx2bF9kKHJfMiwgcl8wKTsKLSAgICAg
IH0KLSAgICAgIHIgPSBfX2xzeF92YXZncl9idShwLCByKTsKLQotICAgICAgX19sc3hfdnN0KHIs
IGNvbXBfcHJlZCwgMCk7Ci0gICAgICBjb21wX3ByZWQgKz0gMTY7Ci0gICAgICBwcmVkICs9IDE2
OwotICAgICAgaSAtPSAxNjsKLSAgICB9IHdoaWxlIChpKTsKLSAgfQotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9iaXRkZXB0aF9jb252ZXJzaW9uX2xzeC5oIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9iaXRkZXB0aF9jb252ZXJzaW9uX2xzeC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMGRiMWU5OWM1MjQuLjAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2JpdGRlcHRoX2NvbnZlcnNpb25fbHN4
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykg
MjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgot
ICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBw
cm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5U
Uy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGlu
IHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0K
LSNpZm5kZWYgVlBYX1ZQWF9EU1BfTE9PTkdBUkNIX0JJVERFUFRIX0NPTlZFUlNJT05fTFNYX0hf
Ci0jZGVmaW5lIFZQWF9WUFhfRFNQX0xPT05HQVJDSF9CSVRERVBUSF9DT05WRVJTSU9OX0xTWF9I
XwotCi0jaW5jbHVkZSAiLi92cHhfY29uZmlnLmgiCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2Vy
LmgiCi0jaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgotI2luY2x1ZGUgInZweF91
dGlsL2xvb25nc29uX2ludHJpbnNpY3MuaCIKLQotc3RhdGljIElOTElORSBfX20xMjhpIGxvYWRf
dHJhbl9sb3coY29uc3QgdHJhbl9sb3dfdCAqcykgewotI2lmIENPTkZJR19WUDlfSElHSEJJVERF
UFRICi0gIF9fbTEyOGkgdjBfbSA9IF9fbHN4X3ZsZChzLCAwKTsKLSAgX19tMTI4aSB2MV9tID0g
X19sc3hfdmxkKHMgKyA0LCAwKTsKLSAgcmV0dXJuIF9fbHN4X3ZzcmxuaV9oX3codjBfbSwgdjFf
bSwgMCk7Ci0jZWxzZQotICByZXR1cm4gX19sc3hfdmxkKHMsIDApOwotI2VuZGlmCi19Ci0KLXN0
YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV90cmFuX2xvdyhfX20xMjhpIHYsIHRyYW5fbG93X3QgKnMs
IGludDMyX3QgYykgewotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gIF9fbTEyOGkgdjBf
bSwgdjFfbTsKLSAgdjFfbSA9IF9fbHN4X3ZleHRoX3dfaCh2KTsKLSAgdjBfbSA9IF9fbHN4X3Zz
bGx3aWxfd19oKHYsIDApOwotICBfX2xzeF92c3QodjBfbSwgcyArIGMsIDApOwotICBfX2xzeF92
c3QodjFfbSwgcyArIGMgKyA0LCAwKTsKLSNlbHNlCi0gIF9fbHN4X3ZzdCh2LCBzICsgYywgMCk7
Ci0jZW5kaWYKLX0KLQotI2VuZGlmICAvLyBWUFhfVlBYX0RTUF9MT09OR0FSQ0hfQklUREVQVEhf
Q09OVkVSU0lPTl9MU1hfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2Fy
Y2gvZndkX2RjdDMyeDMyX2xzeC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9md2Rf
ZGN0MzJ4MzJfbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliYjM4NzcyMTI0
ZC4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvZndkX2Rj
dDMyeDMyX2xzeC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTE3NiArMCwwIEBACi0vKgotICogIENv
cHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVz
ZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGlu
dGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhl
IGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICog
IGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0
cmVlLgotICovCi0KLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9k
c3AvbG9vbmdhcmNoL2Z3ZF90eGZtX2xzeC5oIgotI2luY2x1ZGUgInZweF9kc3AvZndkX3R4Zm0u
aCIKLQotI2RlZmluZSBVTlBDS19TSF9TVyhpbiwgb3V0MCwgb3V0MSkgIFwKLSAgZG8geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgb3V0MCA9IF9fbHN4X3ZzbGx3aWxfd19o
KGluLCAwKTsgXAotICAgIG91dDEgPSBfX2xzeF92ZXh0aF93X2goaW4pOyAgICAgIFwKLSAgfSB3
aGlsZSAoMCkKLQotc3RhdGljIHZvaWQgZmRjdDh4MzJfMWRfY29sdW1uX2xvYWRfYnV0dGVyZmx5
KGNvbnN0IGludDE2X3QgKmlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90ICp0ZW1wX2J1ZmYpIHsKLSAgX19tMTI4aSBp
bjAsIGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBpbjYsIGluNzsKLSAgX19tMTI4aSBzdGVwMCwg
c3RlcDEsIHN0ZXAyLCBzdGVwMzsKLSAgX19tMTI4aSBpbjBfMSwgaW4xXzEsIGluMl8xLCBpbjNf
MSwgaW40XzEsIGluNV8xLCBpbjZfMSwgaW43XzE7Ci0gIF9fbTEyOGkgc3RlcDBfMSwgc3RlcDFf
MSwgc3RlcDJfMSwgc3RlcDNfMTsKLQotICBpbnQzMl90IHN0cmlkZSA9IHNyY19zdHJpZGUgPDwg
MTsKLSAgaW50MzJfdCBzdHJpZGUyID0gc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3RyaWRlMyA9
IHN0cmlkZTIgKyBzdHJpZGU7Ci0gIGNvbnN0IGludDE2X3QgKmlucHV0X3RtcCA9IChpbnQxNl90
ICopaW5wdXQ7Ci0KLSAgaW4wID0gX19sc3hfdmxkKGlucHV0X3RtcCwgMCk7Ci0gIERVUDJfQVJH
MihfX2xzeF92bGR4LCBpbnB1dF90bXAsIHN0cmlkZSwgaW5wdXRfdG1wLCBzdHJpZGUyLCBpbjEs
IGluMik7Ci0gIGluMyA9IF9fbHN4X3ZsZHgoaW5wdXRfdG1wLCBzdHJpZGUzKTsKLQotICBpbnB1
dF90bXAgKz0gc3RyaWRlMjsKLSAgaW4wXzEgPSBfX2xzeF92bGQoaW5wdXRfdG1wLCAwKTsKLSAg
RFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGlucHV0X3RtcCwgc3RyaWRlLCBpbnB1dF90bXAsIHN0cmlk
ZTIsIGluMV8xLCBpbjJfMSk7Ci0gIGluM18xID0gX19sc3hfdmxkeChpbnB1dF90bXAsIHN0cmlk
ZTMpOwotCi0gIGlucHV0X3RtcCA9IGlucHV0ICsgKHNyY19zdHJpZGUgKiAyNCk7Ci0gIGluNF8x
ID0gX19sc3hfdmxkKGlucHV0X3RtcCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBpbnB1
dF90bXAsIHN0cmlkZSwgaW5wdXRfdG1wLCBzdHJpZGUyLCBpbjVfMSwgaW42XzEpOwotICBpbjdf
MSA9IF9fbHN4X3ZsZHgoaW5wdXRfdG1wLCBzdHJpZGUzKTsKLQotICBpbnB1dF90bXAgKz0gc3Ry
aWRlMjsKLSAgaW40ID0gX19sc3hfdmxkKGlucHV0X3RtcCwgMCk7Ci0gIERVUDJfQVJHMihfX2xz
eF92bGR4LCBpbnB1dF90bXAsIHN0cmlkZSwgaW5wdXRfdG1wLCBzdHJpZGUyLCBpbjUsIGluNik7
Ci0gIGluNyA9IF9fbHN4X3ZsZHgoaW5wdXRfdG1wLCBzdHJpZGUzKTsKLQotICBEVVA0X0FSRzIo
X19sc3hfdnNsbGlfaCwgaW4wLCAyLCBpbjEsIDIsIGluMiwgMiwgaW4zLCAyLCBpbjAsIGluMSwg
aW4yLCBpbjMpOwotICBEVVA0X0FSRzIoX19sc3hfdnNsbGlfaCwgaW40LCAyLCBpbjUsIDIsIGlu
NiwgMiwgaW43LCAyLCBpbjQsIGluNSwgaW42LCBpbjcpOwotICBEVVA0X0FSRzIoX19sc3hfdnNs
bGlfaCwgaW4wXzEsIDIsIGluMV8xLCAyLCBpbjJfMSwgMiwgaW4zXzEsIDIsIGluMF8xLCBpbjFf
MSwKLSAgICAgICAgICAgIGluMl8xLCBpbjNfMSk7Ci0gIERVUDRfQVJHMihfX2xzeF92c2xsaV9o
LCBpbjRfMSwgMiwgaW41XzEsIDIsIGluNl8xLCAyLCBpbjdfMSwgMiwgaW40XzEsIGluNV8xLAot
ICAgICAgICAgICAgaW42XzEsIGluN18xKTsKLSAgTFNYX0JVVFRFUkZMWV84X0goaW4wLCBpbjEs
IGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBpbjcsIHN0ZXAwLCBzdGVwMSwgc3RlcDIsCi0gICAg
ICAgICAgICAgICAgICAgIHN0ZXAzLCBpbjQsIGluNSwgaW42LCBpbjcpOwotICBMU1hfQlVUVEVS
RkxZXzhfSChpbjBfMSwgaW4xXzEsIGluMl8xLCBpbjNfMSwgaW40XzEsIGluNV8xLCBpbjZfMSwg
aW43XzEsCi0gICAgICAgICAgICAgICAgICAgIHN0ZXAwXzEsIHN0ZXAxXzEsIHN0ZXAyXzEsIHN0
ZXAzXzEsIGluNF8xLCBpbjVfMSwgaW42XzEsCi0gICAgICAgICAgICAgICAgICAgIGluN18xKTsK
LQotICBfX2xzeF92c3Qoc3RlcDAsIHRlbXBfYnVmZiwgMCk7Ci0gIF9fbHN4X3ZzdChzdGVwMSwg
dGVtcF9idWZmLCAxNik7Ci0gIF9fbHN4X3ZzdChzdGVwMiwgdGVtcF9idWZmLCAzMik7Ci0gIF9f
bHN4X3ZzdChzdGVwMywgdGVtcF9idWZmLCA0OCk7Ci0KLSAgX19sc3hfdnN0KGluNCwgdGVtcF9i
dWZmLCA0NDgpOwotICBfX2xzeF92c3QoaW41LCB0ZW1wX2J1ZmYsIDQ2NCk7Ci0gIF9fbHN4X3Zz
dChpbjYsIHRlbXBfYnVmZiwgNDgwKTsKLSAgX19sc3hfdnN0KGluNywgdGVtcF9idWZmLCA0OTYp
OwotCi0gIF9fbHN4X3ZzdChzdGVwMF8xLCB0ZW1wX2J1ZmYsIDY0KTsKLSAgX19sc3hfdnN0KHN0
ZXAxXzEsIHRlbXBfYnVmZiwgODApOwotICBfX2xzeF92c3Qoc3RlcDJfMSwgdGVtcF9idWZmLCA5
Nik7Ci0gIF9fbHN4X3ZzdChzdGVwM18xLCB0ZW1wX2J1ZmYsIDExMik7Ci0KLSAgX19sc3hfdnN0
KGluNF8xLCB0ZW1wX2J1ZmYsIDM4NCk7Ci0gIF9fbHN4X3ZzdChpbjVfMSwgdGVtcF9idWZmLCA0
MDApOwotICBfX2xzeF92c3QoaW42XzEsIHRlbXBfYnVmZiwgNDE2KTsKLSAgX19sc3hfdnN0KGlu
N18xLCB0ZW1wX2J1ZmYsIDQzMik7Ci0KLSAgLyogM3JkIGFuZCA0dGggc2V0ICovCi0gIGlucHV0
X3RtcCA9IGlucHV0ICsgKHNyY19zdHJpZGUgKiA4KTsKLSAgaW4wID0gX19sc3hfdmxkKGlucHV0
X3RtcCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBpbnB1dF90bXAsIHN0cmlkZSwgaW5w
dXRfdG1wLCBzdHJpZGUyLCBpbjEsIGluMik7Ci0gIGluMyA9IF9fbHN4X3ZsZHgoaW5wdXRfdG1w
LCBzdHJpZGUzKTsKLQotICBpbnB1dF90bXAgKz0gc3RyaWRlMjsKLSAgaW4wXzEgPSBfX2xzeF92
bGQoaW5wdXRfdG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGlucHV0X3RtcCwgc3Ry
aWRlLCBpbnB1dF90bXAsIHN0cmlkZTIsIGluMV8xLCBpbjJfMSk7Ci0gIGluM18xID0gX19sc3hf
dmxkeChpbnB1dF90bXAsIHN0cmlkZTMpOwotCi0gIGlucHV0X3RtcCArPSBzdHJpZGUyOwotICBp
bjRfMSA9IF9fbHN4X3ZsZChpbnB1dF90bXAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwg
aW5wdXRfdG1wLCBzdHJpZGUsIGlucHV0X3RtcCwgc3RyaWRlMiwgaW41XzEsIGluNl8xKTsKLSAg
aW43XzEgPSBfX2xzeF92bGR4KGlucHV0X3RtcCwgc3RyaWRlMyk7Ci0KLSAgaW5wdXRfdG1wICs9
IHN0cmlkZTI7Ci0gIGluNCA9IF9fbHN4X3ZsZChpbnB1dF90bXAsIDApOwotICBEVVAyX0FSRzIo
X19sc3hfdmxkeCwgaW5wdXRfdG1wLCBzdHJpZGUsIGlucHV0X3RtcCwgc3RyaWRlMiwgaW41LCBp
bjYpOwotICBpbjcgPSBfX2xzeF92bGR4KGlucHV0X3RtcCwgc3RyaWRlMyk7Ci0gIERVUDRfQVJH
MihfX2xzeF92c2xsaV9oLCBpbjAsIDIsIGluMSwgMiwgaW4yLCAyLCBpbjMsIDIsIGluMCwgaW4x
LCBpbjIsIGluMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92c2xsaV9oLCBpbjQsIDIsIGluNSwgMiwg
aW42LCAyLCBpbjcsIDIsIGluNCwgaW41LCBpbjYsIGluNyk7Ci0gIERVUDRfQVJHMihfX2xzeF92
c2xsaV9oLCBpbjBfMSwgMiwgaW4xXzEsIDIsIGluMl8xLCAyLCBpbjNfMSwgMiwgaW4wXzEsIGlu
MV8xLAotICAgICAgICAgICAgaW4yXzEsIGluM18xKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzbGxp
X2gsIGluNF8xLCAyLCBpbjVfMSwgMiwgaW42XzEsIDIsIGluN18xLCAyLCBpbjRfMSwgaW41XzEs
Ci0gICAgICAgICAgICBpbjZfMSwgaW43XzEpOwotCi0gIExTWF9CVVRURVJGTFlfOF9IKGluMCwg
aW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGluNiwgaW43LCBzdGVwMCwgc3RlcDEsIHN0ZXAyLAot
ICAgICAgICAgICAgICAgICAgICBzdGVwMywgaW40LCBpbjUsIGluNiwgaW43KTsKLSAgTFNYX0JV
VFRFUkZMWV84X0goaW4wXzEsIGluMV8xLCBpbjJfMSwgaW4zXzEsIGluNF8xLCBpbjVfMSwgaW42
XzEsIGluN18xLAotICAgICAgICAgICAgICAgICAgICBzdGVwMF8xLCBzdGVwMV8xLCBzdGVwMl8x
LCBzdGVwM18xLCBpbjRfMSwgaW41XzEsIGluNl8xLAotICAgICAgICAgICAgICAgICAgICBpbjdf
MSk7Ci0KLSAgX19sc3hfdnN0KHN0ZXAwLCB0ZW1wX2J1ZmYsIDEyOCk7Ci0gIF9fbHN4X3ZzdChz
dGVwMSwgdGVtcF9idWZmLCAxNDQpOwotICBfX2xzeF92c3Qoc3RlcDIsIHRlbXBfYnVmZiwgMTYw
KTsKLSAgX19sc3hfdnN0KHN0ZXAzLCB0ZW1wX2J1ZmYsIDE3Nik7Ci0KLSAgX19sc3hfdnN0KGlu
NCwgdGVtcF9idWZmLCAzMjApOwotICBfX2xzeF92c3QoaW41LCB0ZW1wX2J1ZmYsIDMzNik7Ci0g
IF9fbHN4X3ZzdChpbjYsIHRlbXBfYnVmZiwgMzUyKTsKLSAgX19sc3hfdnN0KGluNywgdGVtcF9i
dWZmLCAzNjgpOwotCi0gIF9fbHN4X3ZzdChzdGVwMF8xLCB0ZW1wX2J1ZmYsIDE5Mik7Ci0gIF9f
bHN4X3ZzdChzdGVwMV8xLCB0ZW1wX2J1ZmYsIDIwOCk7Ci0gIF9fbHN4X3ZzdChzdGVwMl8xLCB0
ZW1wX2J1ZmYsIDIyNCk7Ci0gIF9fbHN4X3ZzdChzdGVwM18xLCB0ZW1wX2J1ZmYsIDI0MCk7Ci0K
LSAgX19sc3hfdnN0KGluNF8xLCB0ZW1wX2J1ZmYsIDI1Nik7Ci0gIF9fbHN4X3ZzdChpbjVfMSwg
dGVtcF9idWZmLCAyNzIpOwotICBfX2xzeF92c3QoaW42XzEsIHRlbXBfYnVmZiwgMjg4KTsKLSAg
X19sc3hfdnN0KGluN18xLCB0ZW1wX2J1ZmYsIDMwNCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGZkY3Q4
eDMyXzFkX2NvbHVtbl9ldmVuX3N0b3JlKGludDE2X3QgKmlucHV0LCBpbnQxNl90ICp0ZW1wKSB7
Ci0gIF9fbTEyOGkgaW4wLCBpbjEsIGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBpbjc7Ci0gIF9f
bTEyOGkgaW44LCBpbjksIGluMTAsIGluMTEsIGluMTIsIGluMTMsIGluMTQsIGluMTU7Ci0gIF9f
bTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNzsKLSAg
X19tMTI4aSB0ZW1wMCwgdGVtcDE7Ci0KLSAgLyogZmRjdCBldmVuICovCi0gIERVUDRfQVJHMihf
X2xzeF92bGQsIGlucHV0LCAwLCBpbnB1dCwgMTYsIGlucHV0LCAzMiwgaW5wdXQsIDQ4LCBpbjAs
IGluMSwgaW4yLAotICAgICAgICAgICAgaW4zKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgaW5w
dXQsIDE5MiwgaW5wdXQsIDIwOCwgaW5wdXQsIDIyNCwgaW5wdXQsIDI0MCwgaW4xMiwKLSAgICAg
ICAgICAgIGluMTMsIGluMTQsIGluMTUpOwotICBMU1hfQlVUVEVSRkxZXzhfSChpbjAsIGluMSwg
aW4yLCBpbjMsIGluMTIsIGluMTMsIGluMTQsIGluMTUsIHZlYzAsIHZlYzEsCi0gICAgICAgICAg
ICAgICAgICAgIHZlYzIsIHZlYzMsIGluMTIsIGluMTMsIGluMTQsIGluMTUpOwotICBEVVA0X0FS
RzIoX19sc3hfdmxkLCBpbnB1dCwgNjQsIGlucHV0LCA4MCwgaW5wdXQsIDk2LCBpbnB1dCwgMTEy
LCBpbjQsIGluNSwKLSAgICAgICAgICAgIGluNiwgaW43KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgaW5wdXQsIDEyOCwgaW5wdXQsIDE0NCwgaW5wdXQsIDE2MCwgaW5wdXQsIDE3NiwgaW44LCBp
bjksCi0gICAgICAgICAgICBpbjEwLCBpbjExKTsKLSAgTFNYX0JVVFRFUkZMWV84X0goaW40LCBp
bjUsIGluNiwgaW43LCBpbjgsIGluOSwgaW4xMCwgaW4xMSwgdmVjNCwgdmVjNSwgdmVjNiwKLSAg
ICAgICAgICAgICAgICAgICAgdmVjNywgaW44LCBpbjksIGluMTAsIGluMTEpOwotCi0gIC8qIFN0
YWdlIDMgKi8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgdmVjMCwgdmVjNywgdmVjMSwgdmVj
NiwgdmVjMiwgdmVjNSwgdmVjMywgdmVjNCwgaW4wLAotICAgICAgICAgICAgaW4xLCBpbjIsIGlu
Myk7Ci0gIExTWF9CVVRURVJGTFlfNF9IKGluMCwgaW4xLCBpbjIsIGluMywgdGVtcDAsIGluNCwg
aW4xLCBpbjApOwotICBET1RQX0NPTlNUX1BBSVIodGVtcDAsIGluNCwgY29zcGlfMTZfNjQsIGNv
c3BpXzE2XzY0LCB0ZW1wMSwgdGVtcDApOwotICBGRENUMzJfUE9TVFBST0NfMlZfUE9TX0godGVt
cDAsIHRlbXAxKTsKLSAgX19sc3hfdnN0KHRlbXAwLCB0ZW1wLCAwKTsKLSAgX19sc3hfdnN0KHRl
bXAxLCB0ZW1wLCAxMDI0KTsKLQotICBET1RQX0NPTlNUX1BBSVIoaW4wLCBpbjEsIGNvc3BpXzI0
XzY0LCBjb3NwaV84XzY0LCB0ZW1wMSwgdGVtcDApOwotICBGRENUMzJfUE9TVFBST0NfMlZfUE9T
X0godGVtcDAsIHRlbXAxKTsKLSAgX19sc3hfdnN0KHRlbXAwLCB0ZW1wLCA1MTIpOwotICBfX2xz
eF92c3QodGVtcDEsIHRlbXAsIDE1MzYpOwotCi0gIERVUDRfQVJHMihfX2xzeF92c3ViX2gsIHZl
YzAsIHZlYzcsIHZlYzEsIHZlYzYsIHZlYzIsIHZlYzUsIHZlYzMsIHZlYzQsIHZlYzcsCi0gICAg
ICAgICAgICB2ZWM2LCB2ZWM1LCB2ZWM0KTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzYsIHZlYzUs
IGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgdmVjNSwgdmVjNik7Ci0gIERVUDJfQVJHMihfX2xz
eF92YWRkX2gsIHZlYzQsIHZlYzUsIHZlYzcsIHZlYzYsIHZlYzAsIHZlYzEpOwotICBET1RQX0NP
TlNUX1BBSVIodmVjMSwgdmVjMCwgY29zcGlfMjhfNjQsIGNvc3BpXzRfNjQsIHRlbXAxLCB0ZW1w
MCk7Ci0gIEZEQ1QzMl9QT1NUUFJPQ18yVl9QT1NfSCh0ZW1wMCwgdGVtcDEpOwotICBfX2xzeF92
c3QodGVtcDAsIHRlbXAsIDI1Nik7Ci0gIF9fbHN4X3ZzdCh0ZW1wMSwgdGVtcCwgMTc5Mik7Ci0K
LSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgdmVjNCwgdmVjNSwgdmVjNywgdmVjNiwgdmVjNCwg
dmVjNyk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWM3LCB2ZWM0LCBjb3NwaV8xMl82NCwgY29zcGlf
MjBfNjQsIHRlbXAxLCB0ZW1wMCk7Ci0gIEZEQ1QzMl9QT1NUUFJPQ18yVl9QT1NfSCh0ZW1wMCwg
dGVtcDEpOwotICBfX2xzeF92c3QodGVtcDAsIHRlbXAsIDEyODApOwotICBfX2xzeF92c3QodGVt
cDEsIHRlbXAsIDc2OCk7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKGluMTMsIGluMTAsIGNvc3BpXzE2
XzY0LCBjb3NwaV8xNl82NCwgdmVjMiwgdmVjNSk7Ci0gIERPVFBfQ09OU1RfUEFJUihpbjEyLCBp
bjExLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIHZlYzMsIHZlYzQpOwotICBEVVA0X0FSRzIo
X19sc3hfdmFkZF9oLCBpbjgsIHZlYzMsIGluOSwgdmVjMiwgaW4xNCwgdmVjNSwgaW4xNSwgdmVj
NCwgaW4wLAotICAgICAgICAgICAgdmVjMSwgdmVjNiwgaW4yKTsKLSAgRE9UUF9DT05TVF9QQUlS
KHZlYzYsIHZlYzEsIGNvc3BpXzI0XzY0LCBjb3NwaV84XzY0LCBpbjEsIGluMyk7Ci0gIERVUDJf
QVJHMihfX2xzeF92YWRkX2gsIGluMCwgaW4xLCBpbjIsIGluMywgdmVjMCwgdmVjNyk7Ci0gIERP
VFBfQ09OU1RfUEFJUih2ZWM3LCB2ZWMwLCBjb3NwaV8zMF82NCwgY29zcGlfMl82NCwgdGVtcDEs
IHRlbXAwKTsKLSAgRkRDVDMyX1BPU1RQUk9DXzJWX1BPU19IKHRlbXAwLCB0ZW1wMSk7Ci0gIF9f
bHN4X3ZzdCh0ZW1wMCwgdGVtcCwgMTI4KTsKLSAgX19sc3hfdnN0KHRlbXAxLCB0ZW1wLCAxOTIw
KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnN1Yl9oLCBpbjAsIGluMSwgaW4yLCBpbjMsIGluMCwg
aW4yKTsKLSAgRE9UUF9DT05TVF9QQUlSKGluMiwgaW4wLCBjb3NwaV8xNF82NCwgY29zcGlfMThf
NjQsIHRlbXAxLCB0ZW1wMCk7Ci0gIEZEQ1QzMl9QT1NUUFJPQ18yVl9QT1NfSCh0ZW1wMCwgdGVt
cDEpOwotICBfX2xzeF92c3QodGVtcDAsIHRlbXAsIDExNTIpOwotICBfX2xzeF92c3QodGVtcDEs
IHRlbXAsIDg5Nik7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgaW45LCB2ZWMyLCBpbjE0
LCB2ZWM1LCB2ZWMyLCB2ZWM1KTsKLSAgdGVtcDAgPSBfX2xzeF92bmVnX2godmVjMik7Ci0gIERP
VFBfQ09OU1RfUEFJUih0ZW1wMCwgdmVjNSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIGluMiwg
aW4xKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzdWJfaCwgaW44LCB2ZWMzLCBpbjE1LCB2ZWM0LCBp
bjMsIGluMiwgaW4wLCBpbjEsIGluMywgaW4wLAotICAgICAgICAgICAgdmVjMiwgdmVjNSk7Ci0g
IERPVFBfQ09OU1RfUEFJUih2ZWM1LCB2ZWMyLCBjb3NwaV8yMl82NCwgY29zcGlfMTBfNjQsIHRl
bXAxLCB0ZW1wMCk7Ci0gIEZEQ1QzMl9QT1NUUFJPQ18yVl9QT1NfSCh0ZW1wMCwgdGVtcDEpOwot
ICBfX2xzeF92c3QodGVtcDAsIHRlbXAsIDY0MCk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMSwgdGVtcCwg
MTQwOCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRfaCwgaW4zLCBpbjIsIGluMCwgaW4xLCB2
ZWMzLCB2ZWM0KTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzQsIHZlYzMsIGNvc3BpXzZfNjQsIGNv
c3BpXzI2XzY0LCB0ZW1wMCwgdGVtcDEpOwotICBGRENUMzJfUE9TVFBST0NfMlZfUE9TX0godGVt
cDAsIHRlbXAxKTsKLSAgX19sc3hfdnN0KHRlbXAwLCB0ZW1wLCAzODQpOwotICBfX2xzeF92c3Qo
dGVtcDEsIHRlbXAsIDE2NjQpOwotfQotCi1zdGF0aWMgdm9pZCBmZGN0OHgzMl8xZF9jb2x1bW5f
b2RkX3N0b3JlKGludDE2X3QgKmlucHV0LCBpbnQxNl90ICp0ZW1wX3B0cikgewotICBfX20xMjhp
IGluMTYsIGluMTcsIGluMTgsIGluMTksIGluMjAsIGluMjEsIGluMjIsIGluMjM7Ci0gIF9fbTEy
OGkgaW4yNCwgaW4yNSwgaW4yNiwgaW4yNywgaW4yOCwgaW4yOSwgaW4zMCwgaW4zMSwgdmVjNCwg
dmVjNTsKLSAgX19tMTI4aSB0bXAwLCB0bXAxOwotCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIGlu
cHV0LCA2NCwgaW5wdXQsIDgwLCBpbnB1dCwgMTYwLCBpbnB1dCwgMTc2LCBpbjIwLCBpbjIxLAot
ICAgICAgICAgICAgaW4yNiwgaW4yNyk7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKGluMjcsIGluMjAs
IGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgaW4yMCwgaW4yNyk7Ci0gIERPVFBfQ09OU1RfUEFJ
UihpbjI2LCBpbjIxLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIGluMjEsIGluMjYpOwotCi0g
IERVUDRfQVJHMihfX2xzeF92bGQsIGlucHV0LCAzMiwgaW5wdXQsIDQ4LCBpbnB1dCwgMTkyLCBp
bnB1dCwgMjA4LCBpbjE4LCBpbjE5LAotICAgICAgICAgICAgaW4yOCwgaW4yOSk7Ci0KLSAgdmVj
NCA9IF9fbHN4X3ZzdWJfaChpbjE5LCBpbjIwKTsKLSAgX19sc3hfdnN0KHZlYzQsIGlucHV0LCA2
NCk7Ci0gIHZlYzQgPSBfX2xzeF92c3ViX2goaW4xOCwgaW4yMSk7Ci0gIF9fbHN4X3ZzdCh2ZWM0
LCBpbnB1dCwgODApOwotICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGluMjksIGluMjYpOwotICBfX2xz
eF92c3QodmVjNCwgaW5wdXQsIDE2MCk7Ci0gIHZlYzQgPSBfX2xzeF92c3ViX2goaW4yOCwgaW4y
Nyk7Ci0gIF9fbHN4X3ZzdCh2ZWM0LCBpbnB1dCwgMTc2KTsKLQotICBpbjIxID0gX19sc3hfdmFk
ZF9oKGluMTgsIGluMjEpOwotICBpbjIwID0gX19sc3hfdmFkZF9oKGluMTksIGluMjApOwotICBp
bjI3ID0gX19sc3hfdmFkZF9oKGluMjgsIGluMjcpOwotICBpbjI2ID0gX19sc3hfdmFkZF9oKGlu
MjksIGluMjYpOwotCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIGlucHV0LCA5NiwgaW5wdXQsIDEx
MiwgaW5wdXQsIDEyOCwgaW5wdXQsIDE0NCwgaW4yMiwKLSAgICAgICAgICAgIGluMjMsIGluMjQs
IGluMjUpOwotICBET1RQX0NPTlNUX1BBSVIoaW4yNSwgaW4yMiwgY29zcGlfMTZfNjQsIGNvc3Bp
XzE2XzY0LCBpbjIyLCBpbjI1KTsKLSAgRE9UUF9DT05TVF9QQUlSKGluMjQsIGluMjMsIGNvc3Bp
XzE2XzY0LCBjb3NwaV8xNl82NCwgaW4yMywgaW4yNCk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgaW5wdXQsIDAsIGlucHV0LCAxNiwgaW5wdXQsIDIyNCwgaW5wdXQsIDI0MCwgaW4xNiwgaW4x
NywKLSAgICAgICAgICAgIGluMzAsIGluMzEpOwotCi0gIHZlYzQgPSBfX2xzeF92c3ViX2goaW4x
NywgaW4yMik7Ci0gIF9fbHN4X3ZzdCh2ZWM0LCBpbnB1dCwgMzIpOwotICB2ZWM0ID0gX19sc3hf
dnN1Yl9oKGluMTYsIGluMjMpOwotICBfX2xzeF92c3QodmVjNCwgaW5wdXQsIDQ4KTsKLSAgdmVj
NCA9IF9fbHN4X3ZzdWJfaChpbjMxLCBpbjI0KTsKLSAgX19sc3hfdnN0KHZlYzQsIGlucHV0LCAx
OTIpOwotICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGluMzAsIGluMjUpOwotICBfX2xzeF92c3QodmVj
NCwgaW5wdXQsIDIwOCk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgaW4xNiwgaW4yMywg
aW4xNywgaW4yMiwgaW4zMCwgaW4yNSwgaW4zMSwgaW4yNCwgaW4xNiwKLSAgICAgICAgICAgIGlu
MTcsIGluMzAsIGluMzEpOwotICBET1RQX0NPTlNUX1BBSVIoaW4yNiwgaW4yMSwgY29zcGlfMjRf
NjQsIGNvc3BpXzhfNjQsIGluMTgsIGluMjkpOwotICBET1RQX0NPTlNUX1BBSVIoaW4yNywgaW4y
MCwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIGluMTksIGluMjgpOwotICBEVVA0X0FSRzIoX19s
c3hfdmFkZF9oLCBpbjE2LCBpbjE5LCBpbjE3LCBpbjE4LCBpbjMwLCBpbjI5LCBpbjMxLCBpbjI4
LCBpbjI3LAotICAgICAgICAgICAgaW4yMiwgaW4yMSwgaW4yNSk7Ci0gIERPVFBfQ09OU1RfUEFJ
UihpbjIxLCBpbjIyLCBjb3NwaV8yOF82NCwgY29zcGlfNF82NCwgaW4yNiwgaW4yNCk7Ci0gIERV
UDJfQVJHMihfX2xzeF92YWRkX2gsIGluMjcsIGluMjYsIGluMjUsIGluMjQsIGluMjMsIGluMjAp
OwotICBET1RQX0NPTlNUX1BBSVIoaW4yMCwgaW4yMywgY29zcGlfMzFfNjQsIGNvc3BpXzFfNjQs
IHZlYzQsIHZlYzUpOwotICBGRENUMzJfUE9TVFBST0NfMlZfUE9TX0godmVjNSwgdmVjNCk7Ci0g
IF9fbHN4X3ZzdCh2ZWM1LCB0ZW1wX3B0ciwgMCk7Ci0gIF9fbHN4X3ZzdCh2ZWM0LCB0ZW1wX3B0
ciwgMTkyMCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgaW4yNywgaW4yNiwgaW4yNSwg
aW4yNCwgaW4yMiwgaW4yMSk7Ci0gIERPVFBfQ09OU1RfUEFJUihpbjIxLCBpbjIyLCBjb3NwaV8x
NV82NCwgY29zcGlfMTdfNjQsIHZlYzUsIHZlYzQpOwotICBGRENUMzJfUE9TVFBST0NfMlZfUE9T
X0godmVjNSwgdmVjNCk7Ci0gIF9fbHN4X3ZzdCh2ZWM1LCB0ZW1wX3B0ciwgODk2KTsKLSAgX19s
c3hfdnN0KHZlYzQsIHRlbXBfcHRyLCAxMDI0KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdnN1Yl9o
LCBpbjE3LCBpbjE4LCBpbjE2LCBpbjE5LCBpbjMxLCBpbjI4LCBpbjMwLCBpbjI5LCBpbjIzLAot
ICAgICAgICAgICAgaW4yNiwgaW4yNCwgaW4yMCk7Ci0gIHRtcDAgPSBfX2xzeF92bmVnX2goaW4y
Myk7Ci0gIERPVFBfQ09OU1RfUEFJUih0bXAwLCBpbjIwLCBjb3NwaV8yOF82NCwgY29zcGlfNF82
NCwgaW4yNywgaW4yNSk7Ci0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluMjYsIGluMjcsIGlu
MjQsIGluMjUsIGluMjMsIGluMjApOwotICBET1RQX0NPTlNUX1BBSVIoaW4yMCwgaW4yMywgY29z
cGlfMjNfNjQsIGNvc3BpXzlfNjQsIHZlYzQsIHZlYzUpOwotICBGRENUMzJfUE9TVFBST0NfMlZf
UE9TX0godmVjNSwgdmVjNCk7Ci0gIF9fbHN4X3ZzdCh2ZWM0LCB0ZW1wX3B0ciwgMTQwOCk7Ci0g
IF9fbHN4X3ZzdCh2ZWM1LCB0ZW1wX3B0ciwgNTEyKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmFk
ZF9oLCBpbjI2LCBpbjI3LCBpbjI0LCBpbjI1LCBpbjIyLCBpbjIxKTsKLSAgRE9UUF9DT05TVF9Q
QUlSKGluMjEsIGluMjIsIGNvc3BpXzdfNjQsIGNvc3BpXzI1XzY0LCB2ZWM0LCB2ZWM1KTsKLSAg
RkRDVDMyX1BPU1RQUk9DXzJWX1BPU19IKHZlYzUsIHZlYzQpOwotICBfX2xzeF92c3QodmVjNCwg
dGVtcF9wdHIsIDM4NCk7Ci0gIF9fbHN4X3ZzdCh2ZWM1LCB0ZW1wX3B0ciwgMTUzNik7Ci0KLSAg
RFVQNF9BUkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDMyLCBpbnB1dCwgNDgsIGlucHV0LCA2NCwgaW5w
dXQsIDgwLCBpbjIyLCBpbjIzLAotICAgICAgICAgICAgaW4yMCwgaW4yMSk7Ci0gIERVUDRfQVJH
MihfX2xzeF92bGQsIGlucHV0LCAxNjAsIGlucHV0LCAxNzYsIGlucHV0LCAxOTIsIGlucHV0LCAy
MDgsIGluMjYsCi0gICAgICAgICAgICBpbjI3LCBpbjI0LCBpbjI1KTsKLSAgaW4xNiA9IGluMjA7
Ci0gIGluMTcgPSBpbjIxOwotICBEVVAyX0FSRzEoX19sc3hfdm5lZ19oLCBpbjE2LCBpbjE3LCB0
bXAwLCB0bXAxKTsKLSAgRE9UUF9DT05TVF9QQUlSKHRtcDAsIGluMjcsIGNvc3BpXzI0XzY0LCBj
b3NwaV84XzY0LCBpbjIwLCBpbjI3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHRtcDEsIGluMjYsIGNv
c3BpXzI0XzY0LCBjb3NwaV84XzY0LCBpbjIxLCBpbjI2KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zz
dWJfaCwgaW4yMywgaW4yMCwgaW4yMiwgaW4yMSwgaW4yNSwgaW4yNiwgaW4yNCwgaW4yNywgaW4y
OCwKLSAgICAgICAgICAgIGluMTcsIGluMTgsIGluMzEpOwotICBET1RQX0NPTlNUX1BBSVIoaW4x
OCwgaW4xNywgY29zcGlfMTJfNjQsIGNvc3BpXzIwXzY0LCBpbjI5LCBpbjMwKTsKLSAgRFVQMl9B
UkcyKF9fbHN4X3ZhZGRfaCwgaW4yOCwgaW4yOSwgaW4zMSwgaW4zMCwgaW4xNiwgaW4xOSk7Ci0g
IERPVFBfQ09OU1RfUEFJUihpbjE5LCBpbjE2LCBjb3NwaV8yN182NCwgY29zcGlfNV82NCwgdmVj
NSwgdmVjNCk7Ci0gIEZEQ1QzMl9QT1NUUFJPQ18yVl9QT1NfSCh2ZWM1LCB2ZWM0KTsKLSAgX19s
c3hfdnN0KHZlYzUsIHRlbXBfcHRyLCAxNjY0KTsKLSAgX19sc3hfdnN0KHZlYzQsIHRlbXBfcHRy
LCAyNTYpOwotCi0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluMjgsIGluMjksIGluMzEsIGlu
MzAsIGluMTcsIGluMTgpOwotICBET1RQX0NPTlNUX1BBSVIoaW4xOCwgaW4xNywgY29zcGlfMTFf
NjQsIGNvc3BpXzIxXzY0LCB2ZWM1LCB2ZWM0KTsKLSAgRkRDVDMyX1BPU1RQUk9DXzJWX1BPU19I
KHZlYzUsIHZlYzQpOwotICBfX2xzeF92c3QodmVjNSwgdGVtcF9wdHIsIDY0MCk7Ci0gIF9fbHN4
X3ZzdCh2ZWM0LCB0ZW1wX3B0ciwgMTI4MCk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwg
aW4yMiwgaW4yMSwgaW4yMywgaW4yMCwgaW4yNCwgaW4yNywgaW4yNSwgaW4yNiwgaW4xNiwKLSAg
ICAgICAgICAgIGluMjksIGluMzAsIGluMTkpOwotICB0bXAwID0gX19sc3hfdm5lZ19oKGluMTYp
OwotICBET1RQX0NPTlNUX1BBSVIodG1wMCwgaW4xOSwgY29zcGlfMTJfNjQsIGNvc3BpXzIwXzY0
LCBpbjI4LCBpbjMxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgaW4yOSwgaW4yOCwgaW4z
MCwgaW4zMSwgaW4xNiwgaW4xOSk7Ci0gIERPVFBfQ09OU1RfUEFJUihpbjE5LCBpbjE2LCBjb3Nw
aV8xOV82NCwgY29zcGlfMTNfNjQsIHZlYzUsIHZlYzQpOwotICBGRENUMzJfUE9TVFBST0NfMlZf
UE9TX0godmVjNSwgdmVjNCk7Ci0gIF9fbHN4X3ZzdCh2ZWM1LCB0ZW1wX3B0ciwgMTE1Mik7Ci0g
IF9fbHN4X3ZzdCh2ZWM0LCB0ZW1wX3B0ciwgNzY4KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmFk
ZF9oLCBpbjI5LCBpbjI4LCBpbjMwLCBpbjMxLCBpbjE3LCBpbjE4KTsKLSAgRE9UUF9DT05TVF9Q
QUlSKGluMTgsIGluMTcsIGNvc3BpXzNfNjQsIGNvc3BpXzI5XzY0LCB2ZWM1LCB2ZWM0KTsKLSAg
RkRDVDMyX1BPU1RQUk9DXzJWX1BPU19IKHZlYzUsIHZlYzQpOwotICBfX2xzeF92c3QodmVjNSwg
dGVtcF9wdHIsIDEyOCk7Ci0gIF9fbHN4X3ZzdCh2ZWM0LCB0ZW1wX3B0ciwgMTc5Mik7Ci19Ci0K
LXN0YXRpYyB2b2lkIGZkY3Q4eDMyXzFkX2NvbHVtbihjb25zdCBpbnQxNl90ICppbnB1dCwgaW50
MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3Qg
KnRtcF9idWYsIGludDE2X3QgKnRtcF9idWZfYmlnKSB7Ci0gIGZkY3Q4eDMyXzFkX2NvbHVtbl9s
b2FkX2J1dHRlcmZseShpbnB1dCwgc3JjX3N0cmlkZSwgdG1wX2J1Zik7Ci0gIGZkY3Q4eDMyXzFk
X2NvbHVtbl9ldmVuX3N0b3JlKHRtcF9idWYsIHRtcF9idWZfYmlnKTsKLSAgZmRjdDh4MzJfMWRf
Y29sdW1uX29kZF9zdG9yZSh0bXBfYnVmICsgMTI4LCAodG1wX2J1Zl9iaWcgKyAzMikpOwotfQot
Ci1zdGF0aWMgdm9pZCBmZGN0OHgzMl8xZF9yb3dfbG9hZF9idXR0ZXJmbHkoaW50MTZfdCAqdGVt
cF9idWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2
X3QgKm91dHB1dCkgewotICBfX20xMjhpIGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGlu
NiwgaW43OwotICBfX20xMjhpIGluOCwgaW45LCBpbjEwLCBpbjExLCBpbjEyLCBpbjEzLCBpbjE0
LCBpbjE1OwotICBfX20xMjhpIHN0ZXAwLCBzdGVwMSwgc3RlcDIsIHN0ZXAzLCBzdGVwNCwgc3Rl
cDUsIHN0ZXA2LCBzdGVwNzsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0ZW1wX2J1ZmYsIDAs
IHRlbXBfYnVmZiwgNjQsIHRlbXBfYnVmZiwgMTI4LCB0ZW1wX2J1ZmYsCi0gICAgICAgICAgICAx
OTIsIGluMCwgaW4xLCBpbjIsIGluMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRlbXBfYnVm
ZiwgMjU2LCB0ZW1wX2J1ZmYsIDMyMCwgdGVtcF9idWZmLCAzODQsCi0gICAgICAgICAgICB0ZW1w
X2J1ZmYsIDQ0OCwgaW40LCBpbjUsIGluNiwgaW43KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwg
dGVtcF9idWZmLCA0OCwgdGVtcF9idWZmLCAxMTIsIHRlbXBfYnVmZiwgMTc2LCB0ZW1wX2J1ZmYs
Ci0gICAgICAgICAgICAyNDAsIGluOCwgaW45LCBpbjEwLCBpbjExKTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3ZsZCwgdGVtcF9idWZmLCAzMDQsIHRlbXBfYnVmZiwgMzY4LCB0ZW1wX2J1ZmYsIDQzMiwK
LSAgICAgICAgICAgIHRlbXBfYnVmZiwgNDk2LCBpbjEyLCBpbjEzLCBpbjE0LCBpbjE1KTsKLSAg
TFNYX1RSQU5TUE9TRTh4OF9IKGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGluNiwgaW43
LCBpbjAsIGluMSwgaW4yLCBpbjMsCi0gICAgICAgICAgICAgICAgICAgICBpbjQsIGluNSwgaW42
LCBpbjcpOwotICBMU1hfVFJBTlNQT1NFOHg4X0goaW44LCBpbjksIGluMTAsIGluMTEsIGluMTIs
IGluMTMsIGluMTQsIGluMTUsIGluOCwgaW45LAotICAgICAgICAgICAgICAgICAgICAgaW4xMCwg
aW4xMSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNSk7Ci0gIExTWF9CVVRURVJGTFlfMTZfSChpbjAs
IGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBpbjYsIGluNywgaW44LCBpbjksIGluMTAsCi0gICAg
ICAgICAgICAgICAgICAgICBpbjExLCBpbjEyLCBpbjEzLCBpbjE0LCBpbjE1LCBzdGVwMCwgc3Rl
cDEsIHN0ZXAyLCBzdGVwMywKLSAgICAgICAgICAgICAgICAgICAgIHN0ZXA0LCBzdGVwNSwgc3Rl
cDYsIHN0ZXA3LCBpbjgsIGluOSwgaW4xMCwgaW4xMSwgaW4xMiwKLSAgICAgICAgICAgICAgICAg
ICAgIGluMTMsIGluMTQsIGluMTUpOwotCi0gIF9fbHN4X3ZzdChzdGVwMCwgb3V0cHV0LCAwKTsK
LSAgX19sc3hfdnN0KHN0ZXAxLCBvdXRwdXQsIDE2KTsKLSAgX19sc3hfdnN0KHN0ZXAyLCBvdXRw
dXQsIDMyKTsKLSAgX19sc3hfdnN0KHN0ZXAzLCBvdXRwdXQsIDQ4KTsKLSAgX19sc3hfdnN0KHN0
ZXA0LCBvdXRwdXQsIDY0KTsKLSAgX19sc3hfdnN0KHN0ZXA1LCBvdXRwdXQsIDgwKTsKLSAgX19s
c3hfdnN0KHN0ZXA2LCBvdXRwdXQsIDk2KTsKLSAgX19sc3hfdnN0KHN0ZXA3LCBvdXRwdXQsIDEx
Mik7Ci0KLSAgX19sc3hfdnN0KGluOCwgb3V0cHV0LCAzODQpOwotICBfX2xzeF92c3QoaW45LCBv
dXRwdXQsIDQwMCk7Ci0gIF9fbHN4X3ZzdChpbjEwLCBvdXRwdXQsIDQxNik7Ci0gIF9fbHN4X3Zz
dChpbjExLCBvdXRwdXQsIDQzMik7Ci0gIF9fbHN4X3ZzdChpbjEyLCBvdXRwdXQsIDQ0OCk7Ci0g
IF9fbHN4X3ZzdChpbjEzLCBvdXRwdXQsIDQ2NCk7Ci0gIF9fbHN4X3ZzdChpbjE0LCBvdXRwdXQs
IDQ4MCk7Ci0gIF9fbHN4X3ZzdChpbjE1LCBvdXRwdXQsIDQ5Nik7Ci0KLSAgLyogMm5kIHNldCAq
LwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0ZW1wX2J1ZmYsIDE2LCB0ZW1wX2J1ZmYsIDgwLCB0
ZW1wX2J1ZmYsIDE0NCwgdGVtcF9idWZmLAotICAgICAgICAgICAgMjA4LCBpbjAsIGluMSwgaW4y
LCBpbjMpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0ZW1wX2J1ZmYsIDI3MiwgdGVtcF9idWZm
LCAzMzYsIHRlbXBfYnVmZiwgNDAwLAotICAgICAgICAgICAgdGVtcF9idWZmLCA0NjQsIGluNCwg
aW41LCBpbjYsIGluNyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRlbXBfYnVmZiwgMzIsIHRl
bXBfYnVmZiwgOTYsIHRlbXBfYnVmZiwgMTYwLCB0ZW1wX2J1ZmYsCi0gICAgICAgICAgICAyMjQs
IGluOCwgaW45LCBpbjEwLCBpbjExKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdGVtcF9idWZm
LCAyODgsIHRlbXBfYnVmZiwgMzUyLCB0ZW1wX2J1ZmYsIDQxNiwKLSAgICAgICAgICAgIHRlbXBf
YnVmZiwgNDgwLCBpbjEyLCBpbjEzLCBpbjE0LCBpbjE1KTsKLSAgTFNYX1RSQU5TUE9TRTh4OF9I
KGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGluNiwgaW43LCBpbjAsIGluMSwgaW4yLCBp
bjMsCi0gICAgICAgICAgICAgICAgICAgICBpbjQsIGluNSwgaW42LCBpbjcpOwotICBMU1hfVFJB
TlNQT1NFOHg4X0goaW44LCBpbjksIGluMTAsIGluMTEsIGluMTIsIGluMTMsIGluMTQsIGluMTUs
IGluOCwgaW45LAotICAgICAgICAgICAgICAgICAgICAgaW4xMCwgaW4xMSwgaW4xMiwgaW4xMywg
aW4xNCwgaW4xNSk7Ci0gIExTWF9CVVRURVJGTFlfMTZfSChpbjAsIGluMSwgaW4yLCBpbjMsIGlu
NCwgaW41LCBpbjYsIGluNywgaW44LCBpbjksIGluMTAsCi0gICAgICAgICAgICAgICAgICAgICBp
bjExLCBpbjEyLCBpbjEzLCBpbjE0LCBpbjE1LCBzdGVwMCwgc3RlcDEsIHN0ZXAyLCBzdGVwMywK
LSAgICAgICAgICAgICAgICAgICAgIHN0ZXA0LCBzdGVwNSwgc3RlcDYsIHN0ZXA3LCBpbjgsIGlu
OSwgaW4xMCwgaW4xMSwgaW4xMiwKLSAgICAgICAgICAgICAgICAgICAgIGluMTMsIGluMTQsIGlu
MTUpOwotCi0gIF9fbHN4X3ZzdChzdGVwMCwgb3V0cHV0LCAxMjgpOwotICBfX2xzeF92c3Qoc3Rl
cDEsIG91dHB1dCwgMTQ0KTsKLSAgX19sc3hfdnN0KHN0ZXAyLCBvdXRwdXQsIDE2MCk7Ci0gIF9f
bHN4X3ZzdChzdGVwMywgb3V0cHV0LCAxNzYpOwotICBfX2xzeF92c3Qoc3RlcDQsIG91dHB1dCwg
MTkyKTsKLSAgX19sc3hfdnN0KHN0ZXA1LCBvdXRwdXQsIDIwOCk7Ci0gIF9fbHN4X3ZzdChzdGVw
Niwgb3V0cHV0LCAyMjQpOwotICBfX2xzeF92c3Qoc3RlcDcsIG91dHB1dCwgMjQwKTsKLQotICBf
X2xzeF92c3QoaW44LCBvdXRwdXQsIDI1Nik7Ci0gIF9fbHN4X3ZzdChpbjksIG91dHB1dCwgMjcy
KTsKLSAgX19sc3hfdnN0KGluMTAsIG91dHB1dCwgMjg4KTsKLSAgX19sc3hfdnN0KGluMTEsIG91
dHB1dCwgMzA0KTsKLSAgX19sc3hfdnN0KGluMTIsIG91dHB1dCwgMzIwKTsKLSAgX19sc3hfdnN0
KGluMTMsIG91dHB1dCwgMzM2KTsKLSAgX19sc3hfdnN0KGluMTQsIG91dHB1dCwgMzUyKTsKLSAg
X19sc3hfdnN0KGluMTUsIG91dHB1dCwgMzY4KTsKLX0KLQotc3RhdGljIHZvaWQgZmRjdDh4MzJf
MWRfcm93X2V2ZW5fNHgoaW50MTZfdCAqaW5wdXQsIGludDE2X3QgKmludGVybV9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90ICpvdXQpIHsKLSAgX19tMTI4
aSBpbjAsIGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBpbjYsIGluNzsKLSAgX19tMTI4aSBpbjgs
IGluOSwgaW4xMCwgaW4xMSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNTsKLSAgX19tMTI4aSB2ZWMw
LCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OwotICBfX20xMjhpIHZl
YzBfbCwgdmVjMV9sLCB2ZWMyX2wsIHZlYzNfbCwgdmVjNF9sLCB2ZWM1X2wsIHZlYzZfbCwgdmVj
N19sOwotICBfX20xMjhpIHZlYzBfciwgdmVjMV9yLCB2ZWMyX3IsIHZlYzNfciwgdmVjNF9yLCB2
ZWM1X3IsIHZlYzZfciwgdmVjN19yOwotICBfX20xMjhpIHRtcDBfdywgdG1wMV93LCB0bXAyX3cs
IHRtcDNfdzsKLQotICAvKiBmZGN0MzIgZXZlbiAqLwotICAvKiBzdGFnZSAyICovCi0gIERVUDRf
QVJHMihfX2xzeF92bGQsIGlucHV0LCAwLCBpbnB1dCwgMTYsIGlucHV0LCAzMiwgaW5wdXQsIDQ4
LCBpbjAsIGluMSwgaW4yLAotICAgICAgICAgICAgaW4zKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgaW5wdXQsIDY0LCBpbnB1dCwgODAsIGlucHV0LCA5NiwgaW5wdXQsIDExMiwgaW40LCBpbjUs
Ci0gICAgICAgICAgICBpbjYsIGluNyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIGlucHV0LCAx
MjgsIGlucHV0LCAxNDQsIGlucHV0LCAxNjAsIGlucHV0LCAxNzYsIGluOCwgaW45LAotICAgICAg
ICAgICAgaW4xMCwgaW4xMSk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIGlucHV0LCAxOTIsIGlu
cHV0LCAyMDgsIGlucHV0LCAyMjQsIGlucHV0LCAyNDAsIGluMTIsCi0gICAgICAgICAgICBpbjEz
LCBpbjE0LCBpbjE1KTsKLQotICBMU1hfQlVUVEVSRkxZXzE2X0goaW4wLCBpbjEsIGluMiwgaW4z
LCBpbjQsIGluNSwgaW42LCBpbjcsIGluOCwgaW45LCBpbjEwLAotICAgICAgICAgICAgICAgICAg
ICAgaW4xMSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNSwgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywg
dmVjNCwKLSAgICAgICAgICAgICAgICAgICAgIHZlYzUsIHZlYzYsIHZlYzcsIGluOCwgaW45LCBp
bjEwLCBpbjExLCBpbjEyLCBpbjEzLCBpbjE0LAotICAgICAgICAgICAgICAgICAgICAgaW4xNSk7
Ci0KLSAgX19sc3hfdnN0KHZlYzAsIGludGVybV9wdHIsIDApOwotICBfX2xzeF92c3QodmVjMSwg
aW50ZXJtX3B0ciwgMTYpOwotICBfX2xzeF92c3QodmVjMiwgaW50ZXJtX3B0ciwgMzIpOwotICBf
X2xzeF92c3QodmVjMywgaW50ZXJtX3B0ciwgNDgpOwotICBfX2xzeF92c3QodmVjNCwgaW50ZXJt
X3B0ciwgNjQpOwotICBfX2xzeF92c3QodmVjNSwgaW50ZXJtX3B0ciwgODApOwotICBfX2xzeF92
c3QodmVjNiwgaW50ZXJtX3B0ciwgOTYpOwotICBfX2xzeF92c3QodmVjNywgaW50ZXJtX3B0ciwg
MTEyKTsKLQotICBfX2xzeF92c3QoaW44LCBpbnRlcm1fcHRyLCAxMjgpOwotICBfX2xzeF92c3Qo
aW45LCBpbnRlcm1fcHRyLCAxNDQpOwotICBfX2xzeF92c3QoaW4xMCwgaW50ZXJtX3B0ciwgMTYw
KTsKLSAgX19sc3hfdnN0KGluMTEsIGludGVybV9wdHIsIDE3Nik7Ci0gIF9fbHN4X3ZzdChpbjEy
LCBpbnRlcm1fcHRyLCAxOTIpOwotICBfX2xzeF92c3QoaW4xMywgaW50ZXJtX3B0ciwgMjA4KTsK
LSAgX19sc3hfdnN0KGluMTQsIGludGVybV9wdHIsIDIyNCk7Ci0gIF9fbHN4X3ZzdChpbjE1LCBp
bnRlcm1fcHRyLCAyNDApOwotCi0gIC8qIFN0YWdlIDMgKi8KLSAgVU5QQ0tfU0hfU1codmVjMCwg
dmVjMF9sLCB2ZWMwX3IpOwotICBVTlBDS19TSF9TVyh2ZWMxLCB2ZWMxX2wsIHZlYzFfcik7Ci0g
IFVOUENLX1NIX1NXKHZlYzIsIHZlYzJfbCwgdmVjMl9yKTsKLSAgVU5QQ0tfU0hfU1codmVjMywg
dmVjM19sLCB2ZWMzX3IpOwotICBVTlBDS19TSF9TVyh2ZWM0LCB2ZWM0X2wsIHZlYzRfcik7Ci0g
IFVOUENLX1NIX1NXKHZlYzUsIHZlYzVfbCwgdmVjNV9yKTsKLSAgVU5QQ0tfU0hfU1codmVjNiwg
dmVjNl9sLCB2ZWM2X3IpOwotICBVTlBDS19TSF9TVyh2ZWM3LCB2ZWM3X2wsIHZlYzdfcik7Ci0g
IERVUDRfQVJHMihfX2xzeF92YWRkX3csIHZlYzBfciwgdmVjN19yLCB2ZWMxX3IsIHZlYzZfciwg
dmVjMl9yLCB2ZWM1X3IsCi0gICAgICAgICAgICB2ZWMzX3IsIHZlYzRfciwgdG1wMF93LCB0bXAx
X3csIHRtcDJfdywgdG1wM193KTsKLSAgTFNYX0JVVFRFUkZMWV80X1codG1wMF93LCB0bXAxX3cs
IHRtcDJfdywgdG1wM193LCB2ZWM0X3IsIHZlYzZfciwgdmVjN19yLAotICAgICAgICAgICAgICAg
ICAgICB2ZWM1X3IpOwotICBEVVA0X0FSRzIoX19sc3hfdmFkZF93LCB2ZWMwX2wsIHZlYzdfbCwg
dmVjMV9sLCB2ZWM2X2wsIHZlYzJfbCwgdmVjNV9sLAotICAgICAgICAgICAgdmVjM19sLCB2ZWM0
X2wsIHZlYzBfciwgdmVjMV9yLCB2ZWMyX3IsIHZlYzNfcik7Ci0KLSAgdG1wM193ID0gX19sc3hf
dmFkZF93KHZlYzBfciwgdmVjM19yKTsKLSAgdmVjMF9yID0gX19sc3hfdnN1Yl93KHZlYzBfciwg
dmVjM19yKTsKLSAgdmVjM19yID0gX19sc3hfdmFkZF93KHZlYzFfciwgdmVjMl9yKTsKLSAgdmVj
MV9yID0gX19sc3hfdnN1Yl93KHZlYzFfciwgdmVjMl9yKTsKLQotICBET1RQX0NPTlNUX1BBSVJf
Vyh2ZWM0X3IsIHZlYzZfciwgdG1wM193LCB2ZWMzX3IsIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82
NCwKLSAgICAgICAgICAgICAgICAgICAgdmVjNF9yLCB0bXAzX3csIHZlYzZfciwgdmVjM19yKTsK
LSAgRkRDVDMyX1BPU1RQUk9DX05FR19XKHZlYzRfcik7Ci0gIEZEQ1QzMl9QT1NUUFJPQ19ORUdf
Vyh0bXAzX3cpOwotICBGRENUMzJfUE9TVFBST0NfTkVHX1codmVjNl9yKTsKLSAgRkRDVDMyX1BP
U1RQUk9DX05FR19XKHZlYzNfcik7Ci0gIERVUDJfQVJHMihfX2xzeF92cGlja2V2X2gsIHZlYzRf
ciwgdG1wM193LCB2ZWM2X3IsIHZlYzNfciwgdmVjNCwgdmVjNSk7Ci0gIF9fbHN4X3ZzdCh2ZWM1
LCBvdXQsIDApOwotICBfX2xzeF92c3QodmVjNCwgb3V0LCAxNik7Ci0KLSAgRE9UUF9DT05TVF9Q
QUlSX1codmVjNV9yLCB2ZWM3X3IsIHZlYzBfciwgdmVjMV9yLCBjb3NwaV8yNF82NCwgY29zcGlf
OF82NCwKLSAgICAgICAgICAgICAgICAgICAgdmVjNF9yLCB0bXAzX3csIHZlYzZfciwgdmVjM19y
KTsKLSAgRkRDVDMyX1BPU1RQUk9DX05FR19XKHZlYzRfcik7Ci0gIEZEQ1QzMl9QT1NUUFJPQ19O
RUdfVyh0bXAzX3cpOwotICBGRENUMzJfUE9TVFBST0NfTkVHX1codmVjNl9yKTsKLSAgRkRDVDMy
X1BPU1RQUk9DX05FR19XKHZlYzNfcik7Ci0gIERVUDJfQVJHMihfX2xzeF92cGlja2V2X2gsIHZl
YzRfciwgdG1wM193LCB2ZWM2X3IsIHZlYzNfciwgdmVjNCwgdmVjNSk7Ci0gIF9fbHN4X3ZzdCh2
ZWM1LCBvdXQsIDMyKTsKLSAgX19sc3hfdnN0KHZlYzQsIG91dCwgNDgpOwotCi0gIERVUDRfQVJH
MihfX2xzeF92bGQsIGludGVybV9wdHIsIDAsIGludGVybV9wdHIsIDE2LCBpbnRlcm1fcHRyLCAz
MiwKLSAgICAgICAgICAgIGludGVybV9wdHIsIDQ4LCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsK
LSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgaW50ZXJtX3B0ciwgNjQsIGludGVybV9wdHIsIDgwLCBp
bnRlcm1fcHRyLCA5NiwKLSAgICAgICAgICAgIGludGVybV9wdHIsIDExMiwgdmVjNCwgdmVjNSwg
dmVjNiwgdmVjNyk7Ci0gIERVUDRfQVJHMihfX2xzeF92c3ViX2gsIHZlYzMsIHZlYzQsIHZlYzIs
IHZlYzUsIHZlYzEsIHZlYzYsIHZlYzAsIHZlYzcsIHZlYzQsCi0gICAgICAgICAgICB2ZWM1LCB2
ZWM2LCB2ZWM3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzYsIHZlYzUsIGNvc3BpXzE2XzY0LCBj
b3NwaV8xNl82NCwgdmVjNSwgdmVjNik7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkX2gsIHZlYzQs
IHZlYzUsIHZlYzcsIHZlYzYsIHZlYzAsIHZlYzEpOwotICBET1RQX0NPTlNUX1BBSVIodmVjMSwg
dmVjMCwgY29zcGlfMjhfNjQsIGNvc3BpXzRfNjQsIGluNSwgaW40KTsKLSAgRkRDVF9QT1NUUFJP
Q18yVl9ORUdfSChpbjQsIGluNSk7Ci0gIF9fbHN4X3ZzdChpbjQsIG91dCwgNjQpOwotICBfX2xz
eF92c3QoaW41LCBvdXQsIDExMik7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgdmVjNCwg
dmVjNSwgdmVjNywgdmVjNiwgdmVjNCwgdmVjNyk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWM3LCB2
ZWM0LCBjb3NwaV8xMl82NCwgY29zcGlfMjBfNjQsIGluNSwgaW40KTsKLSAgRkRDVF9QT1NUUFJP
Q18yVl9ORUdfSChpbjQsIGluNSk7Ci0gIF9fbHN4X3ZzdChpbjQsIG91dCwgODApOwotICBfX2xz
eF92c3QoaW41LCBvdXQsIDk2KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxkLCBpbnRlcm1fcHRy
LCAxMjgsIGludGVybV9wdHIsIDE0NCwgaW50ZXJtX3B0ciwgMTYwLAotICAgICAgICAgICAgaW50
ZXJtX3B0ciwgMTc2LCBpbjgsIGluOSwgaW4xMCwgaW4xMSk7Ci0gIERVUDRfQVJHMihfX2xzeF92
bGQsIGludGVybV9wdHIsIDE5MiwgaW50ZXJtX3B0ciwgMjA4LCBpbnRlcm1fcHRyLCAyMjQsCi0g
ICAgICAgICAgICBpbnRlcm1fcHRyLCAyNDAsIGluMTIsIGluMTMsIGluMTQsIGluMTUpOwotICBE
T1RQX0NPTlNUX1BBSVIoaW4xMywgaW4xMCwgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCB2ZWMy
LCB2ZWM1KTsKLSAgRE9UUF9DT05TVF9QQUlSKGluMTIsIGluMTEsIGNvc3BpXzE2XzY0LCBjb3Nw
aV8xNl82NCwgdmVjMywgdmVjNCk7Ci0gIERVUDRfQVJHMihfX2xzeF92YWRkX2gsIGluOCwgdmVj
MywgaW45LCB2ZWMyLCBpbjE0LCB2ZWM1LCBpbjE1LCB2ZWM0LCBpbjAsCi0gICAgICAgICAgICB2
ZWMxLCB2ZWM2LCBpbjIpOwotICBET1RQX0NPTlNUX1BBSVIodmVjNiwgdmVjMSwgY29zcGlfMjRf
NjQsIGNvc3BpXzhfNjQsIGluMSwgaW4zKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRfaCwgaW4w
LCBpbjEsIGluMiwgaW4zLCB2ZWMwLCB2ZWM3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzcsIHZl
YzAsIGNvc3BpXzMwXzY0LCBjb3NwaV8yXzY0LCBpbjUsIGluNCk7Ci0gIEZEQ1RfUE9TVFBST0Nf
MlZfTkVHX0goaW40LCBpbjUpOwotICBfX2xzeF92c3QoaW40LCBvdXQsIDEyOCk7Ci0gIF9fbHN4
X3ZzdChpbjUsIG91dCwgMjQwKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnN1Yl9oLCBpbjAsIGlu
MSwgaW4yLCBpbjMsIGluMCwgaW4yKTsKLSAgRE9UUF9DT05TVF9QQUlSKGluMiwgaW4wLCBjb3Nw
aV8xNF82NCwgY29zcGlfMThfNjQsIGluNSwgaW40KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdf
SChpbjQsIGluNSk7Ci0gIF9fbHN4X3ZzdChpbjQsIG91dCwgMTQ0KTsKLSAgX19sc3hfdnN0KGlu
NSwgb3V0LCAyMjQpOwotCi0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluOSwgdmVjMiwgaW4x
NCwgdmVjNSwgdmVjMiwgdmVjNSk7Ci0gIHRtcDBfdyA9IF9fbHN4X3ZuZWdfaCh2ZWMyKTsKLSAg
RE9UUF9DT05TVF9QQUlSKHRtcDBfdywgdmVjNSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIGlu
MiwgaW4xKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzdWJfaCwgaW44LCB2ZWMzLCBpbjE1LCB2ZWM0
LCBpbjMsIGluMiwgaW4wLCBpbjEsIGluMywgaW4wLAotICAgICAgICAgICAgdmVjMiwgdmVjNSk7
Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWM1LCB2ZWMyLCBjb3NwaV8yMl82NCwgY29zcGlfMTBfNjQs
IGluNSwgaW40KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdfSChpbjQsIGluNSk7Ci0gIF9fbHN4
X3ZzdChpbjQsIG91dCwgMTYwKTsKLSAgX19sc3hfdnN0KGluNSwgb3V0LCAyMDgpOwotCi0gIERV
UDJfQVJHMihfX2xzeF92YWRkX2gsIGluMywgaW4yLCBpbjAsIGluMSwgdmVjMywgdmVjNCk7Ci0g
IERPVFBfQ09OU1RfUEFJUih2ZWM0LCB2ZWMzLCBjb3NwaV82XzY0LCBjb3NwaV8yNl82NCwgaW40
LCBpbjUpOwotICBGRENUX1BPU1RQUk9DXzJWX05FR19IKGluNCwgaW41KTsKLSAgX19sc3hfdnN0
KGluNCwgb3V0LCAxOTIpOwotICBfX2xzeF92c3QoaW41LCBvdXQsIDE3Nik7Ci19Ci0KLXN0YXRp
YyB2b2lkIGZkY3Q4eDMyXzFkX3Jvd19ldmVuKGludDE2X3QgKnRlbXAsIGludDE2X3QgKm91dCkg
ewotICBfX20xMjhpIGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGluNiwgaW43OwotICBf
X20xMjhpIGluOCwgaW45LCBpbjEwLCBpbjExLCBpbjEyLCBpbjEzLCBpbjE0LCBpbjE1OwotICBf
X20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzcsIHRl
bXAwLCB0ZW1wMTsKLQotICAvKiBmZGN0MzIgZXZlbiAqLwotICAvKiBzdGFnZSAyICovCi0gIERV
UDRfQVJHMihfX2xzeF92bGQsIHRlbXAsIDAsIHRlbXAsIDE2LCB0ZW1wLCAzMiwgdGVtcCwgNDgs
IGluMCwgaW4xLCBpbjIsCi0gICAgICAgICAgICBpbjMpOwotICBEVVA0X0FSRzIoX19sc3hfdmxk
LCB0ZW1wLCA2NCwgdGVtcCwgODAsIHRlbXAsIDk2LCB0ZW1wLCAxMTIsIGluNCwgaW41LCBpbjYs
Ci0gICAgICAgICAgICBpbjcpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0ZW1wLCAxMjgsIHRl
bXAsIDE0NCwgdGVtcCwgMTYwLCB0ZW1wLCAxNzYsIGluOCwgaW45LAotICAgICAgICAgICAgaW4x
MCwgaW4xMSk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRlbXAsIDE5MiwgdGVtcCwgMjA4LCB0
ZW1wLCAyMjQsIHRlbXAsIDI0MCwgaW4xMiwgaW4xMywKLSAgICAgICAgICAgIGluMTQsIGluMTUp
OwotCi0gIExTWF9CVVRURVJGTFlfMTZfSChpbjAsIGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBp
bjYsIGluNywgaW44LCBpbjksIGluMTAsCi0gICAgICAgICAgICAgICAgICAgICBpbjExLCBpbjEy
LCBpbjEzLCBpbjE0LCBpbjE1LCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LAotICAgICAg
ICAgICAgICAgICAgICAgdmVjNSwgdmVjNiwgdmVjNywgaW44LCBpbjksIGluMTAsIGluMTEsIGlu
MTIsIGluMTMsIGluMTQsCi0gICAgICAgICAgICAgICAgICAgICBpbjE1KTsKLSAgLyogU3RhZ2Ug
MyAqLwotICBEVVA0X0FSRzIoX19sc3hfdmFkZF9oLCB2ZWMwLCB2ZWM3LCB2ZWMxLCB2ZWM2LCB2
ZWMyLCB2ZWM1LCB2ZWMzLCB2ZWM0LCBpbjAsCi0gICAgICAgICAgICBpbjEsIGluMiwgaW4zKTsK
LSAgTFNYX0JVVFRFUkZMWV80X0goaW4wLCBpbjEsIGluMiwgaW4zLCB0ZW1wMCwgaW40LCBpbjEs
IGluMCk7Ci0gIERPVFBfQ09OU1RfUEFJUih0ZW1wMCwgaW40LCBjb3NwaV8xNl82NCwgY29zcGlf
MTZfNjQsIHRlbXAxLCB0ZW1wMCk7Ci0gIEZEQ1RfUE9TVFBST0NfMlZfTkVHX0godGVtcDAsIHRl
bXAxKTsKLSAgX19sc3hfdnN0KHRlbXAwLCBvdXQsIDApOwotICBfX2xzeF92c3QodGVtcDEsIG91
dCwgMTYpOwotCi0gIERPVFBfQ09OU1RfUEFJUihpbjAsIGluMSwgY29zcGlfMjRfNjQsIGNvc3Bp
XzhfNjQsIHRlbXAxLCB0ZW1wMCk7Ci0gIEZEQ1RfUE9TVFBST0NfMlZfTkVHX0godGVtcDAsIHRl
bXAxKTsKLSAgX19sc3hfdnN0KHRlbXAwLCBvdXQsIDMyKTsKLSAgX19sc3hfdnN0KHRlbXAxLCBv
dXQsIDQ4KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdnN1Yl9oLCB2ZWMzLCB2ZWM0LCB2ZWMyLCB2
ZWM1LCB2ZWMxLCB2ZWM2LCB2ZWMwLCB2ZWM3LCB2ZWM0LAotICAgICAgICAgICAgdmVjNSwgdmVj
NiwgdmVjNyk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWM2LCB2ZWM1LCBjb3NwaV8xNl82NCwgY29z
cGlfMTZfNjQsIHZlYzUsIHZlYzYpOwotICBEVVAyX0FSRzIoX19sc3hfdmFkZF9oLCB2ZWM0LCB2
ZWM1LCB2ZWM3LCB2ZWM2LCB2ZWMwLCB2ZWMxKTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzEsIHZl
YzAsIGNvc3BpXzI4XzY0LCBjb3NwaV80XzY0LCB0ZW1wMSwgdGVtcDApOwotICBGRENUX1BPU1RQ
Uk9DXzJWX05FR19IKHRlbXAwLCB0ZW1wMSk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMCwgb3V0LCA2NCk7
Ci0gIF9fbHN4X3ZzdCh0ZW1wMSwgb3V0LCAxMTIpOwotCi0gIERVUDJfQVJHMihfX2xzeF92c3Vi
X2gsIHZlYzQsIHZlYzUsIHZlYzcsIHZlYzYsIHZlYzQsIHZlYzcpOwotICBET1RQX0NPTlNUX1BB
SVIodmVjNywgdmVjNCwgY29zcGlfMTJfNjQsIGNvc3BpXzIwXzY0LCB0ZW1wMSwgdGVtcDApOwot
ICBGRENUX1BPU1RQUk9DXzJWX05FR19IKHRlbXAwLCB0ZW1wMSk7Ci0gIF9fbHN4X3ZzdCh0ZW1w
MCwgb3V0LCA4MCk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMSwgb3V0LCA5Nik7Ci0KLSAgRE9UUF9DT05T
VF9QQUlSKGluMTMsIGluMTAsIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgdmVjMiwgdmVjNSk7
Ci0gIERPVFBfQ09OU1RfUEFJUihpbjEyLCBpbjExLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQs
IHZlYzMsIHZlYzQpOwotICBEVVA0X0FSRzIoX19sc3hfdmFkZF9oLCBpbjgsIHZlYzMsIGluOSwg
dmVjMiwgaW4xNCwgdmVjNSwgaW4xNSwgdmVjNCwgaW4wLAotICAgICAgICAgICAgdmVjMSwgdmVj
NiwgaW4yKTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzYsIHZlYzEsIGNvc3BpXzI0XzY0LCBjb3Nw
aV84XzY0LCBpbjEsIGluMyk7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkX2gsIGluMCwgaW4xLCBp
bjIsIGluMywgdmVjMCwgdmVjNyk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWM3LCB2ZWMwLCBjb3Nw
aV8zMF82NCwgY29zcGlfMl82NCwgdGVtcDEsIHRlbXAwKTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9O
RUdfSCh0ZW1wMCwgdGVtcDEpOwotICBfX2xzeF92c3QodGVtcDAsIG91dCwgMTI4KTsKLSAgX19s
c3hfdnN0KHRlbXAxLCBvdXQsIDI0MCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgaW4w
LCBpbjEsIGluMiwgaW4zLCBpbjAsIGluMik7Ci0gIERPVFBfQ09OU1RfUEFJUihpbjIsIGluMCwg
Y29zcGlfMTRfNjQsIGNvc3BpXzE4XzY0LCB0ZW1wMSwgdGVtcDApOwotICBGRENUX1BPU1RQUk9D
XzJWX05FR19IKHRlbXAwLCB0ZW1wMSk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMCwgb3V0LCAxNDQpOwot
ICBfX2xzeF92c3QodGVtcDEsIG91dCwgMjI0KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnN1Yl9o
LCBpbjksIHZlYzIsIGluMTQsIHZlYzUsIHZlYzIsIHZlYzUpOwotICB0ZW1wMCA9IF9fbHN4X3Zu
ZWdfaCh2ZWMyKTsKLSAgRE9UUF9DT05TVF9QQUlSKHRlbXAwLCB2ZWM1LCBjb3NwaV8yNF82NCwg
Y29zcGlfOF82NCwgaW4yLCBpbjEpOwotICBEVVA0X0FSRzIoX19sc3hfdnN1Yl9oLCBpbjgsIHZl
YzMsIGluMTUsIHZlYzQsIGluMywgaW4yLCBpbjAsIGluMSwgaW4zLCBpbjAsCi0gICAgICAgICAg
ICB2ZWMyLCB2ZWM1KQotICBET1RQX0NPTlNUX1BBSVIodmVjNSwgdmVjMiwgY29zcGlfMjJfNjQs
IGNvc3BpXzEwXzY0LCB0ZW1wMSwgdGVtcDApOwotICBGRENUX1BPU1RQUk9DXzJWX05FR19IKHRl
bXAwLCB0ZW1wMSk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMCwgb3V0LCAxNjApOwotICBfX2xzeF92c3Qo
dGVtcDEsIG91dCwgMjA4KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmFkZF9oLCBpbjMsIGluMiwg
aW4wLCBpbjEsIHZlYzMsIHZlYzQpOwotICBET1RQX0NPTlNUX1BBSVIodmVjNCwgdmVjMywgY29z
cGlfNl82NCwgY29zcGlfMjZfNjQsIHRlbXAwLCB0ZW1wMSk7Ci0gIEZEQ1RfUE9TVFBST0NfMlZf
TkVHX0godGVtcDAsIHRlbXAxKTsKLSAgX19sc3hfdnN0KHRlbXAwLCBvdXQsIDE5Mik7Ci0gIF9f
bHN4X3ZzdCh0ZW1wMSwgb3V0LCAxNzYpOwotfQotCi1zdGF0aWMgdm9pZCBmZGN0OHgzMl8xZF9y
b3dfb2RkKGludDE2X3QgKnRlbXAsIGludDE2X3QgKmludGVybV9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDE2X3QgKm91dCkgewotICBfX20xMjhpIGluMTYsIGluMTcs
IGluMTgsIGluMTksIGluMjAsIGluMjEsIGluMjIsIGluMjM7Ci0gIF9fbTEyOGkgaW4yNCwgaW4y
NSwgaW4yNiwgaW4yNywgaW4yOCwgaW4yOSwgaW4zMCwgaW4zMSwgdmVjNCwgdmVjNTsKLSAgX19t
MTI4aSB0bXAwLCB0bXAxOwotCi0gIGluMjAgPSBfX2xzeF92bGQodGVtcCwgNjQpOwotICBpbjIx
ID0gX19sc3hfdmxkKHRlbXAsIDgwKTsKLSAgaW4yNiA9IF9fbHN4X3ZsZCh0ZW1wLCAxNjApOwot
ICBpbjI3ID0gX19sc3hfdmxkKHRlbXAsIDE3Nik7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKGluMjcs
IGluMjAsIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgaW4yMCwgaW4yNyk7Ci0gIERPVFBfQ09O
U1RfUEFJUihpbjI2LCBpbjIxLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIGluMjEsIGluMjYp
OwotCi0gIGluMTggPSBfX2xzeF92bGQodGVtcCwgMzIpOwotICBpbjE5ID0gX19sc3hfdmxkKHRl
bXAsIDQ4KTsKLSAgaW4yOCA9IF9fbHN4X3ZsZCh0ZW1wLCAxOTIpOwotICBpbjI5ID0gX19sc3hf
dmxkKHRlbXAsIDIwOCk7Ci0KLSAgdmVjNCA9IF9fbHN4X3ZzdWJfaChpbjE5LCBpbjIwKTsKLSAg
X19sc3hfdnN0KHZlYzQsIGludGVybV9wdHIsIDY0KTsKLSAgdmVjNCA9IF9fbHN4X3ZzdWJfaChp
bjE4LCBpbjIxKTsKLSAgX19sc3hfdnN0KHZlYzQsIGludGVybV9wdHIsIDE3Nik7Ci0gIHZlYzQg
PSBfX2xzeF92c3ViX2goaW4yOCwgaW4yNyk7Ci0gIF9fbHN4X3ZzdCh2ZWM0LCBpbnRlcm1fcHRy
LCAxMTIpOwotICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGluMjksIGluMjYpOwotICBfX2xzeF92c3Qo
dmVjNCwgaW50ZXJtX3B0ciwgMTI4KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmFkZF9oLCBpbjE4
LCBpbjIxLCBpbjE5LCBpbjIwLCBpbjI4LCBpbjI3LCBpbjI5LCBpbjI2LCBpbjIxLAotICAgICAg
ICAgICAgaW4yMCwgaW4yNywgaW4yNik7Ci0KLSAgaW4yMiA9IF9fbHN4X3ZsZCh0ZW1wLCA5Nik7
Ci0gIGluMjMgPSBfX2xzeF92bGQodGVtcCwgMTEyKTsKLSAgaW4yNCA9IF9fbHN4X3ZsZCh0ZW1w
LCAxMjgpOwotICBpbjI1ID0gX19sc3hfdmxkKHRlbXAsIDE0NCk7Ci0KLSAgRE9UUF9DT05TVF9Q
QUlSKGluMjUsIGluMjIsIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgaW4yMiwgaW4yNSk7Ci0g
IERPVFBfQ09OU1RfUEFJUihpbjI0LCBpbjIzLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIGlu
MjMsIGluMjQpOwotCi0gIGluMTYgPSBfX2xzeF92bGQodGVtcCwgMCk7Ci0gIGluMTcgPSBfX2xz
eF92bGQodGVtcCwgMTYpOwotICBpbjMwID0gX19sc3hfdmxkKHRlbXAsIDIyNCk7Ci0gIGluMzEg
PSBfX2xzeF92bGQodGVtcCwgMjQwKTsKLQotICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGluMTcsIGlu
MjIpOwotICBfX2xzeF92c3QodmVjNCwgaW50ZXJtX3B0ciwgODApOwotICB2ZWM0ID0gX19sc3hf
dnN1Yl9oKGluMzAsIGluMjUpOwotICBfX2xzeF92c3QodmVjNCwgaW50ZXJtX3B0ciwgOTYpOwot
ICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGluMzEsIGluMjQpOwotICBfX2xzeF92c3QodmVjNCwgaW50
ZXJtX3B0ciwgMTQ0KTsKLSAgdmVjNCA9IF9fbHN4X3ZzdWJfaChpbjE2LCBpbjIzKTsKLSAgX19s
c3hfdnN0KHZlYzQsIGludGVybV9wdHIsIDE2MCk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRf
aCwgaW4xNiwgaW4yMywgaW4xNywgaW4yMiwgaW4zMCwgaW4yNSwgaW4zMSwgaW4yNCwgaW4xNiwK
LSAgICAgICAgICAgIGluMTcsIGluMzAsIGluMzEpOwotICBET1RQX0NPTlNUX1BBSVIoaW4yNiwg
aW4yMSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIGluMTgsIGluMjkpOwotICBET1RQX0NPTlNU
X1BBSVIoaW4yNywgaW4yMCwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIGluMTksIGluMjgpOwot
Ci0gIERVUDRfQVJHMihfX2xzeF92YWRkX2gsIGluMTYsIGluMTksIGluMTcsIGluMTgsIGluMzAs
IGluMjksIGluMzEsIGluMjgsIGluMjcsCi0gICAgICAgICAgICBpbjIyLCBpbjIxLCBpbjI1KTsK
LSAgRE9UUF9DT05TVF9QQUlSKGluMjEsIGluMjIsIGNvc3BpXzI4XzY0LCBjb3NwaV80XzY0LCBp
bjI2LCBpbjI0KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRfaCwgaW4yNywgaW4yNiwgaW4yNSwg
aW4yNCwgaW4yMywgaW4yMCk7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKGluMjAsIGluMjMsIGNvc3Bp
XzMxXzY0LCBjb3NwaV8xXzY0LCB2ZWM0LCB2ZWM1KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdf
SCh2ZWM1LCB2ZWM0KTsKLSAgX19sc3hfdnN0KHZlYzUsIG91dCwgMCk7Ci0gIF9fbHN4X3ZzdCh2
ZWM0LCBvdXQsIDI0MCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgaW4yNywgaW4yNiwg
aW4yNSwgaW4yNCwgaW4yMiwgaW4yMSk7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKGluMjEsIGluMjIs
IGNvc3BpXzE1XzY0LCBjb3NwaV8xN182NCwgdmVjNSwgdmVjNCk7Ci0gIEZEQ1RfUE9TVFBST0Nf
MlZfTkVHX0godmVjNSwgdmVjNCk7Ci0gIF9fbHN4X3ZzdCh2ZWM1LCBvdXQsIDIyNCk7Ci0gIF9f
bHN4X3ZzdCh2ZWM0LCBvdXQsIDE2KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdnN1Yl9oLCBpbjE3
LCBpbjE4LCBpbjE2LCBpbjE5LCBpbjMxLCBpbjI4LCBpbjMwLCBpbjI5LCBpbjIzLAotICAgICAg
ICAgICAgaW4yNiwgaW4yNCwgaW4yMCk7Ci0gIHRtcDAgPSBfX2xzeF92bmVnX2goaW4yMyk7Ci0g
IERPVFBfQ09OU1RfUEFJUih0bXAwLCBpbjIwLCBjb3NwaV8yOF82NCwgY29zcGlfNF82NCwgaW4y
NywgaW4yNSk7Ci0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluMjYsIGluMjcsIGluMjQsIGlu
MjUsIGluMjMsIGluMjApOwotCi0gIERPVFBfQ09OU1RfUEFJUihpbjIwLCBpbjIzLCBjb3NwaV8y
M182NCwgY29zcGlfOV82NCwgdmVjNCwgdmVjNSk7Ci0gIEZEQ1RfUE9TVFBST0NfMlZfTkVHX0go
dmVjNSwgdmVjNCk7Ci0gIF9fbHN4X3ZzdCh2ZWM0LCBvdXQsIDMyKTsKLSAgX19sc3hfdnN0KHZl
YzUsIG91dCwgMjA4KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmFkZF9oLCBpbjI2LCBpbjI3LCBp
bjI0LCBpbjI1LCBpbjIyLCBpbjIxKTsKLSAgRE9UUF9DT05TVF9QQUlSKGluMjEsIGluMjIsIGNv
c3BpXzdfNjQsIGNvc3BpXzI1XzY0LCB2ZWM0LCB2ZWM1KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9O
RUdfSCh2ZWM1LCB2ZWM0KTsKLSAgX19sc3hfdnN0KHZlYzQsIG91dCwgNDgpOwotICBfX2xzeF92
c3QodmVjNSwgb3V0LCAxOTIpOwotCi0gIGluMjAgPSBfX2xzeF92bGQoaW50ZXJtX3B0ciwgNjQp
OwotICBpbjIxID0gX19sc3hfdmxkKGludGVybV9wdHIsIDE3Nik7Ci0gIGluMjcgPSBfX2xzeF92
bGQoaW50ZXJtX3B0ciwgMTEyKTsKLSAgaW4yNiA9IF9fbHN4X3ZsZChpbnRlcm1fcHRyLCAxMjgp
OwotCi0gIGluMTYgPSBpbjIwOwotICBpbjE3ID0gaW4yMTsKLSAgRFVQMl9BUkcxKF9fbHN4X3Zu
ZWdfaCwgaW4xNiwgaW4xNywgdG1wMCwgdG1wMSk7Ci0gIERPVFBfQ09OU1RfUEFJUih0bXAwLCBp
bjI3LCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgaW4yMCwgaW4yNyk7Ci0gIERPVFBfQ09OU1Rf
UEFJUih0bXAxLCBpbjI2LCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgaW4yMSwgaW4yNik7Ci0K
LSAgaW4yMiA9IF9fbHN4X3ZsZChpbnRlcm1fcHRyLCA4MCk7Ci0gIGluMjUgPSBfX2xzeF92bGQo
aW50ZXJtX3B0ciwgOTYpOwotICBpbjI0ID0gX19sc3hfdmxkKGludGVybV9wdHIsIDE0NCk7Ci0g
IGluMjMgPSBfX2xzeF92bGQoaW50ZXJtX3B0ciwgMTYwKTsKLQotICBEVVA0X0FSRzIoX19sc3hf
dnN1Yl9oLCBpbjIzLCBpbjIwLCBpbjIyLCBpbjIxLCBpbjI1LCBpbjI2LCBpbjI0LCBpbjI3LCBp
bjI4LAotICAgICAgICAgICAgaW4xNywgaW4xOCwgaW4zMSk7Ci0gIERPVFBfQ09OU1RfUEFJUihp
bjE4LCBpbjE3LCBjb3NwaV8xMl82NCwgY29zcGlfMjBfNjQsIGluMjksIGluMzApOwotICBEVVAy
X0FSRzIoX19sc3hfdmFkZF9oLCBpbjI4LCBpbjI5LCBpbjMxLCBpbjMwLCBpbjE2LCBpbjE5KTsK
LSAgRE9UUF9DT05TVF9QQUlSKGluMTksIGluMTYsIGNvc3BpXzI3XzY0LCBjb3NwaV81XzY0LCB2
ZWM1LCB2ZWM0KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdfSCh2ZWM1LCB2ZWM0KTsKLSAgX19s
c3hfdnN0KHZlYzUsIG91dCwgNjQpOwotICBfX2xzeF92c3QodmVjNCwgb3V0LCAxNzYpOwotCi0g
IERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluMjgsIGluMjksIGluMzEsIGluMzAsIGluMTcsIGlu
MTgpOwotICBET1RQX0NPTlNUX1BBSVIoaW4xOCwgaW4xNywgY29zcGlfMTFfNjQsIGNvc3BpXzIx
XzY0LCB2ZWM1LCB2ZWM0KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdfSCh2ZWM1LCB2ZWM0KTsK
LSAgX19sc3hfdnN0KHZlYzUsIG91dCwgODApOwotICBfX2xzeF92c3QodmVjNCwgb3V0LCAxNjAp
OwotCi0gIERVUDRfQVJHMihfX2xzeF92YWRkX2gsIGluMjIsIGluMjEsIGluMjMsIGluMjAsIGlu
MjQsIGluMjcsIGluMjUsIGluMjYsIGluMTYsCi0gICAgICAgICAgICBpbjI5LCBpbjMwLCBpbjE5
KTsKLSAgdG1wMCA9IF9fbHN4X3ZuZWdfaChpbjE2KTsKLSAgRE9UUF9DT05TVF9QQUlSKHRtcDAs
IGluMTksIGNvc3BpXzEyXzY0LCBjb3NwaV8yMF82NCwgaW4yOCwgaW4zMSk7Ci0gIERVUDJfQVJH
MihfX2xzeF92c3ViX2gsIGluMjksIGluMjgsIGluMzAsIGluMzEsIGluMTYsIGluMTkpOwotCi0g
IERPVFBfQ09OU1RfUEFJUihpbjE5LCBpbjE2LCBjb3NwaV8xOV82NCwgY29zcGlfMTNfNjQsIHZl
YzUsIHZlYzQpOwotICBGRENUX1BPU1RQUk9DXzJWX05FR19IKHZlYzUsIHZlYzQpOwotICBfX2xz
eF92c3QodmVjNSwgb3V0LCAxNDQpOwotICBfX2xzeF92c3QodmVjNCwgb3V0LCA5Nik7Ci0KLSAg
RFVQMl9BUkcyKF9fbHN4X3ZhZGRfaCwgaW4yOSwgaW4yOCwgaW4zMCwgaW4zMSwgaW4xNywgaW4x
OCk7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKGluMTgsIGluMTcsIGNvc3BpXzNfNjQsIGNvc3BpXzI5
XzY0LCB2ZWM1LCB2ZWM0KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdfSCh2ZWM1LCB2ZWM0KTsK
LSAgX19sc3hfdnN0KHZlYzQsIG91dCwgMTEyKTsKLSAgX19sc3hfdnN0KHZlYzUsIG91dCwgMTI4
KTsKLX0KLQotc3RhdGljIHZvaWQgZmRjdDh4MzJfMWRfcm93X3RyYW5zcG9zZV9zdG9yZShpbnQx
Nl90ICp0ZW1wLCBpbnQxNl90ICpvdXRwdXQpIHsKLSAgX19tMTI4aSBpbjAsIGluMSwgaW4yLCBp
bjMsIGluNCwgaW41LCBpbjYsIGluNzsKLSAgX19tMTI4aSBpbjBfMSwgaW4xXzEsIGluMl8xLCBp
bjNfMSwgaW40XzEsIGluNV8xLCBpbjZfMSwgaW43XzE7Ci0KLSAgLyogMXN0IHNldCAqLwotICBp
bjAgPSBfX2xzeF92bGQodGVtcCwgMCk7Ci0gIGluNCA9IF9fbHN4X3ZsZCh0ZW1wLCA2NCk7Ci0g
IGluMiA9IF9fbHN4X3ZsZCh0ZW1wLCAxMjgpOwotICBpbjYgPSBfX2xzeF92bGQodGVtcCwgMTky
KTsKLSAgaW4xID0gX19sc3hfdmxkKHRlbXAsIDI1Nik7Ci0gIGluNyA9IF9fbHN4X3ZsZCh0ZW1w
LCAzMDQpOwotICBpbjMgPSBfX2xzeF92bGQodGVtcCwgMzg0KTsKLSAgaW41ID0gX19sc3hfdmxk
KHRlbXAsIDQzMik7Ci0KLSAgTFNYX1RSQU5TUE9TRTh4OF9IKGluMCwgaW4xLCBpbjIsIGluMywg
aW40LCBpbjUsIGluNiwgaW43LCBpbjAsIGluMSwgaW4yLCBpbjMsCi0gICAgICAgICAgICAgICAg
ICAgICBpbjQsIGluNSwgaW42LCBpbjcpOwotCi0gIC8qIDJuZCBzZXQgKi8KLSAgaW4wXzEgPSBf
X2xzeF92bGQodGVtcCwgMzIpOwotICBpbjFfMSA9IF9fbHN4X3ZsZCh0ZW1wLCA0NjQpOwotICBp
bjJfMSA9IF9fbHN4X3ZsZCh0ZW1wLCAxNjApOwotICBpbjNfMSA9IF9fbHN4X3ZsZCh0ZW1wLCAz
MzYpOwotICBpbjRfMSA9IF9fbHN4X3ZsZCh0ZW1wLCA5Nik7Ci0gIGluNV8xID0gX19sc3hfdmxk
KHRlbXAsIDM1Mik7Ci0gIGluNl8xID0gX19sc3hfdmxkKHRlbXAsIDIyNCk7Ci0gIGluN18xID0g
X19sc3hfdmxkKHRlbXAsIDQ4MCk7Ci0KLSAgX19sc3hfdnN0KGluMCwgb3V0cHV0LCAwKTsKLSAg
X19sc3hfdnN0KGluMSwgb3V0cHV0LCA2NCk7Ci0gIF9fbHN4X3ZzdChpbjIsIG91dHB1dCwgMTI4
KTsKLSAgX19sc3hfdnN0KGluMywgb3V0cHV0LCAxOTIpOwotICBfX2xzeF92c3QoaW40LCBvdXRw
dXQsIDI1Nik7Ci0gIF9fbHN4X3ZzdChpbjUsIG91dHB1dCwgMzIwKTsKLSAgX19sc3hfdnN0KGlu
Niwgb3V0cHV0LCAzODQpOwotICBfX2xzeF92c3QoaW43LCBvdXRwdXQsIDQ0OCk7Ci0KLSAgTFNY
X1RSQU5TUE9TRTh4OF9IKGluMF8xLCBpbjFfMSwgaW4yXzEsIGluM18xLCBpbjRfMSwgaW41XzEs
IGluNl8xLCBpbjdfMSwKLSAgICAgICAgICAgICAgICAgICAgIGluMF8xLCBpbjFfMSwgaW4yXzEs
IGluM18xLCBpbjRfMSwgaW41XzEsIGluNl8xLCBpbjdfMSk7Ci0KLSAgLyogM3JkIHNldCAqLwot
ICBpbjAgPSBfX2xzeF92bGQodGVtcCwgMTYpOwotICBpbjEgPSBfX2xzeF92bGQodGVtcCwgMjcy
KTsKLSAgaW4yID0gX19sc3hfdmxkKHRlbXAsIDE0NCk7Ci0gIGluMyA9IF9fbHN4X3ZsZCh0ZW1w
LCA0MDApOwotICBpbjQgPSBfX2xzeF92bGQodGVtcCwgODApOwotICBpbjUgPSBfX2xzeF92bGQo
dGVtcCwgNDE2KTsKLSAgaW42ID0gX19sc3hfdmxkKHRlbXAsIDIwOCk7Ci0gIGluNyA9IF9fbHN4
X3ZsZCh0ZW1wLCAyODgpOwotCi0gIF9fbHN4X3ZzdChpbjBfMSwgb3V0cHV0LCAxNik7Ci0gIF9f
bHN4X3ZzdChpbjFfMSwgb3V0cHV0LCA4MCk7Ci0gIF9fbHN4X3ZzdChpbjJfMSwgb3V0cHV0LCAx
NDQpOwotICBfX2xzeF92c3QoaW4zXzEsIG91dHB1dCwgMjA4KTsKLSAgX19sc3hfdnN0KGluNF8x
LCBvdXRwdXQsIDI3Mik7Ci0gIF9fbHN4X3ZzdChpbjVfMSwgb3V0cHV0LCAzMzYpOwotICBfX2xz
eF92c3QoaW42XzEsIG91dHB1dCwgNDAwKTsKLSAgX19sc3hfdnN0KGluN18xLCBvdXRwdXQsIDQ2
NCk7Ci0KLSAgTFNYX1RSQU5TUE9TRTh4OF9IKGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUs
IGluNiwgaW43LCBpbjAsIGluMSwgaW4yLCBpbjMsCi0gICAgICAgICAgICAgICAgICAgICBpbjQs
IGluNSwgaW42LCBpbjcpOwotCi0gIF9fbHN4X3ZzdChpbjAsIG91dHB1dCwgMzIpOwotICBfX2xz
eF92c3QoaW4xLCBvdXRwdXQsIDk2KTsKLSAgX19sc3hfdnN0KGluMiwgb3V0cHV0LCAxNjApOwot
ICBfX2xzeF92c3QoaW4zLCBvdXRwdXQsIDIyNCk7Ci0gIF9fbHN4X3ZzdChpbjQsIG91dHB1dCwg
Mjg4KTsKLSAgX19sc3hfdnN0KGluNSwgb3V0cHV0LCAzNTIpOwotICBfX2xzeF92c3QoaW42LCBv
dXRwdXQsIDQxNik7Ci0gIF9fbHN4X3ZzdChpbjcsIG91dHB1dCwgNDgwKTsKLQotICAvKiA0dGgg
c2V0ICovCi0gIGluMF8xID0gX19sc3hfdmxkKHRlbXAsIDQ4KTsKLSAgaW4xXzEgPSBfX2xzeF92
bGQodGVtcCwgNDQ4KTsKLSAgaW4yXzEgPSBfX2xzeF92bGQodGVtcCwgMTc2KTsKLSAgaW4zXzEg
PSBfX2xzeF92bGQodGVtcCwgMzIwKTsKLSAgaW40XzEgPSBfX2xzeF92bGQodGVtcCwgMTEyKTsK
LSAgaW41XzEgPSBfX2xzeF92bGQodGVtcCwgMzY4KTsKLSAgaW42XzEgPSBfX2xzeF92bGQodGVt
cCwgMjQwKTsKLSAgaW43XzEgPSBfX2xzeF92bGQodGVtcCwgNDk2KTsKLQotICBMU1hfVFJBTlNQ
T1NFOHg4X0goaW4wXzEsIGluMV8xLCBpbjJfMSwgaW4zXzEsIGluNF8xLCBpbjVfMSwgaW42XzEs
IGluN18xLAotICAgICAgICAgICAgICAgICAgICAgaW4wXzEsIGluMV8xLCBpbjJfMSwgaW4zXzEs
IGluNF8xLCBpbjVfMSwgaW42XzEsIGluN18xKTsKLQotICBfX2xzeF92c3QoaW4wXzEsIG91dHB1
dCwgNDgpOwotICBfX2xzeF92c3QoaW4xXzEsIG91dHB1dCwgMTEyKTsKLSAgX19sc3hfdnN0KGlu
Ml8xLCBvdXRwdXQsIDE3Nik7Ci0gIF9fbHN4X3ZzdChpbjNfMSwgb3V0cHV0LCAyNDApOwotICBf
X2xzeF92c3QoaW40XzEsIG91dHB1dCwgMzA0KTsKLSAgX19sc3hfdnN0KGluNV8xLCBvdXRwdXQs
IDM2OCk7Ci0gIF9fbHN4X3ZzdChpbjZfMSwgb3V0cHV0LCA0MzIpOwotICBfX2xzeF92c3QoaW43
XzEsIG91dHB1dCwgNDk2KTsKLX0KLQotc3RhdGljIHZvaWQgZmRjdDMyeDhfMWRfcm93KGludDE2
X3QgKnRlbXAsIGludDE2X3QgKnRlbXBfYnVmLCBpbnQxNl90ICpvdXRwdXQpIHsKLSAgZmRjdDh4
MzJfMWRfcm93X2xvYWRfYnV0dGVyZmx5KHRlbXAsIHRlbXBfYnVmKTsKLSAgZmRjdDh4MzJfMWRf
cm93X2V2ZW4odGVtcF9idWYsIHRlbXBfYnVmKTsKLSAgZmRjdDh4MzJfMWRfcm93X29kZCh0ZW1w
X2J1ZiArIDEyOCwgdGVtcCwgdGVtcF9idWYgKyAxMjgpOwotICBmZGN0OHgzMl8xZF9yb3dfdHJh
bnNwb3NlX3N0b3JlKHRlbXBfYnVmLCBvdXRwdXQpOwotfQotCi1zdGF0aWMgdm9pZCBmZGN0MzJ4
OF8xZF9yb3dfNHgoaW50MTZfdCAqdG1wX2J1Zl9iaWcsIGludDE2X3QgKnRtcF9idWYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCAqb3V0cHV0KSB7Ci0gIGZkY3Q4eDMy
XzFkX3Jvd19sb2FkX2J1dHRlcmZseSh0bXBfYnVmX2JpZywgdG1wX2J1Zik7Ci0gIGZkY3Q4eDMy
XzFkX3Jvd19ldmVuXzR4KHRtcF9idWYsIHRtcF9idWZfYmlnLCB0bXBfYnVmKTsKLSAgZmRjdDh4
MzJfMWRfcm93X29kZCh0bXBfYnVmICsgMTI4LCB0bXBfYnVmX2JpZywgdG1wX2J1ZiArIDEyOCk7
Ci0gIGZkY3Q4eDMyXzFkX3Jvd190cmFuc3Bvc2Vfc3RvcmUodG1wX2J1Ziwgb3V0cHV0KTsKLX0K
LQotdm9pZCB2cHhfZmRjdDMyeDMyX2xzeChjb25zdCBpbnQxNl90ICppbnB1dCwgaW50MTZfdCAq
b3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUpIHsKLSAg
aW50IGk7Ci0gIERFQ0xBUkVfQUxJR05FRCgzMiwgaW50MTZfdCwgdG1wX2J1Zl9iaWdbMTAyNF0p
OwotICBERUNMQVJFX0FMSUdORUQoMzIsIGludDE2X3QsIHRtcF9idWZbMjU2XSk7Ci0KLSAgLyog
Y29sdW1uIHRyYW5zZm9ybSAqLwotICBmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0gICAgZmRj
dDh4MzJfMWRfY29sdW1uKGlucHV0ICsgKDggKiBpKSwgc3JjX3N0cmlkZSwgdG1wX2J1ZiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgdG1wX2J1Zl9iaWcgKyAoOCAqIGkpKTsKLSAgfQotCi0gIC8q
IHJvdyB0cmFuc2Zvcm0gKi8KLSAgZmRjdDMyeDhfMWRfcm93XzR4KHRtcF9idWZfYmlnLCB0bXBf
YnVmLCBvdXRwdXQpOwotCi0gIC8qIHJvdyB0cmFuc2Zvcm0gKi8KLSAgZm9yIChpID0gMTsgaSA8
IDQ7ICsraSkgewotICAgIGZkY3QzMng4XzFkX3Jvdyh0bXBfYnVmX2JpZyArIChpICogMjU2KSwg
dG1wX2J1Ziwgb3V0cHV0ICsgKGkgKiAyNTYpKTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBmZGN0
OHgzMl8xZF9yb3dfZXZlbl9yZChpbnQxNl90ICp0ZW1wLCBpbnQxNl90ICpvdXQpIHsKLSAgX19t
MTI4aSBpbjAsIGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBpbjYsIGluNzsKLSAgX19tMTI4aSBp
bjgsIGluOSwgaW4xMCwgaW4xMSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNTsKLSAgX19tMTI4aSB2
ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3LCB0ZW1wMCwgdGVt
cDE7Ci0KLSAgLyogZmRjdDMyIGV2ZW4gKi8KLSAgLyogc3RhZ2UgMiAqLwotICBEVVA0X0FSRzIo
X19sc3hfdmxkLCB0ZW1wLCAwLCB0ZW1wLCAxNiwgdGVtcCwgMzIsIHRlbXAsIDQ4LCBpbjAsIGlu
MSwgaW4yLAotICAgICAgICAgICAgaW4zKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdGVtcCwg
NjQsIHRlbXAsIDgwLCB0ZW1wLCA5NiwgdGVtcCwgMTEyLCBpbjQsIGluNSwgaW42LAotICAgICAg
ICAgICAgaW43KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdGVtcCwgMTI4LCB0ZW1wLCAxNDQs
IHRlbXAsIDE2MCwgdGVtcCwgMTc2LCBpbjgsIGluOSwKLSAgICAgICAgICAgIGluMTAsIGluMTEp
OwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0ZW1wLCAxOTIsIHRlbXAsIDIwOCwgdGVtcCwgMjI0
LCB0ZW1wLCAyNDAsIGluMTIsIGluMTMsCi0gICAgICAgICAgICBpbjE0LCBpbjE1KTsKLSAgTFNY
X0JVVFRFUkZMWV8xNl9IKGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGluNiwgaW43LCBp
bjgsIGluOSwgaW4xMCwKLSAgICAgICAgICAgICAgICAgICAgIGluMTEsIGluMTIsIGluMTMsIGlu
MTQsIGluMTUsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsCi0gICAgICAgICAgICAgICAg
ICAgICB2ZWM1LCB2ZWM2LCB2ZWM3LCBpbjgsIGluOSwgaW4xMCwgaW4xMSwgaW4xMiwgaW4xMywg
aW4xNCwKLSAgICAgICAgICAgICAgICAgICAgIGluMTUpOwotCi0gIEZEQ1RfUE9TVFBST0NfMlZf
TkVHX0godmVjMCwgdmVjMSk7Ci0gIEZEQ1RfUE9TVFBST0NfMlZfTkVHX0godmVjMiwgdmVjMyk7
Ci0gIEZEQ1RfUE9TVFBST0NfMlZfTkVHX0godmVjNCwgdmVjNSk7Ci0gIEZEQ1RfUE9TVFBST0Nf
MlZfTkVHX0godmVjNiwgdmVjNyk7Ci0gIEZEQ1RfUE9TVFBST0NfMlZfTkVHX0goaW44LCBpbjkp
OwotICBGRENUX1BPU1RQUk9DXzJWX05FR19IKGluMTAsIGluMTEpOwotICBGRENUX1BPU1RQUk9D
XzJWX05FR19IKGluMTIsIGluMTMpOwotICBGRENUX1BPU1RQUk9DXzJWX05FR19IKGluMTQsIGlu
MTUpOwotCi0gIC8qIFN0YWdlIDMgKi8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgdmVjMCwg
dmVjNywgdmVjMSwgdmVjNiwgdmVjMiwgdmVjNSwgdmVjMywgdmVjNCwgaW4wLAotICAgICAgICAg
ICAgaW4xLCBpbjIsIGluMyk7Ci0KLSAgdGVtcDAgPSBfX2xzeF92YWRkX2goaW4wLCBpbjMpOwot
ICBpbjAgPSBfX2xzeF92c3ViX2goaW4wLCBpbjMpOwotICBpbjMgPSBfX2xzeF92YWRkX2goaW4x
LCBpbjIpOwotICBpbjEgPSBfX2xzeF92c3ViX2goaW4xLCBpbjIpOwotCi0gIERPVFBfQ09OU1Rf
UEFJUih0ZW1wMCwgaW4zLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIHRlbXAxLCB0ZW1wMCk7
Ci0gIF9fbHN4X3ZzdCh0ZW1wMCwgb3V0LCAwKTsKLSAgX19sc3hfdnN0KHRlbXAxLCBvdXQsIDE2
KTsKLQotICBET1RQX0NPTlNUX1BBSVIoaW4wLCBpbjEsIGNvc3BpXzI0XzY0LCBjb3NwaV84XzY0
LCB0ZW1wMSwgdGVtcDApOwotICBfX2xzeF92c3QodGVtcDAsIG91dCwgMzIpOwotICBfX2xzeF92
c3QodGVtcDEsIG91dCwgNDgpOwotCi0gIERVUDRfQVJHMihfX2xzeF92c3ViX2gsIHZlYzMsIHZl
YzQsIHZlYzIsIHZlYzUsIHZlYzEsIHZlYzYsIHZlYzAsIHZlYzcsIHZlYzQsCi0gICAgICAgICAg
ICB2ZWM1LCB2ZWM2LCB2ZWM3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzYsIHZlYzUsIGNvc3Bp
XzE2XzY0LCBjb3NwaV8xNl82NCwgdmVjNSwgdmVjNik7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRk
X2gsIHZlYzQsIHZlYzUsIHZlYzcsIHZlYzYsIHZlYzAsIHZlYzEpOwotICBET1RQX0NPTlNUX1BB
SVIodmVjMSwgdmVjMCwgY29zcGlfMjhfNjQsIGNvc3BpXzRfNjQsIHRlbXAxLCB0ZW1wMCk7Ci0g
IF9fbHN4X3ZzdCh0ZW1wMCwgb3V0LCA2NCk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMSwgb3V0LCAxMTIp
OwotCi0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIHZlYzQsIHZlYzUsIHZlYzcsIHZlYzYsIHZl
YzQsIHZlYzcpOwotICBET1RQX0NPTlNUX1BBSVIodmVjNywgdmVjNCwgY29zcGlfMTJfNjQsIGNv
c3BpXzIwXzY0LCB0ZW1wMSwgdGVtcDApOwotICBfX2xzeF92c3QodGVtcDAsIG91dCwgODApOwot
ICBfX2xzeF92c3QodGVtcDEsIG91dCwgOTYpOwotCi0gIERPVFBfQ09OU1RfUEFJUihpbjEzLCBp
bjEwLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIHZlYzIsIHZlYzUpOwotICBET1RQX0NPTlNU
X1BBSVIoaW4xMiwgaW4xMSwgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCB2ZWMzLCB2ZWM0KTsK
LSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgaW44LCB2ZWMzLCBpbjksIHZlYzIsIGluMTQsIHZl
YzUsIGluMTUsIHZlYzQsIGluMCwKLSAgICAgICAgICAgIHZlYzEsIHZlYzYsIGluMik7Ci0gIERP
VFBfQ09OU1RfUEFJUih2ZWM2LCB2ZWMxLCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgaW4xLCBp
bjMpOwotICBEVVAyX0FSRzIoX19sc3hfdmFkZF9oLCBpbjAsIGluMSwgaW4yLCBpbjMsIHZlYzAs
IHZlYzcpOwotICBET1RQX0NPTlNUX1BBSVIodmVjNywgdmVjMCwgY29zcGlfMzBfNjQsIGNvc3Bp
XzJfNjQsIHRlbXAxLCB0ZW1wMCk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMCwgb3V0LCAxMjgpOwotICBf
X2xzeF92c3QodGVtcDEsIG91dCwgMjQwKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnN1Yl9oLCBp
bjAsIGluMSwgaW4yLCBpbjMsIGluMCwgaW4yKTsKLSAgRE9UUF9DT05TVF9QQUlSKGluMiwgaW4w
LCBjb3NwaV8xNF82NCwgY29zcGlfMThfNjQsIHRlbXAxLCB0ZW1wMCk7Ci0gIF9fbHN4X3ZzdCh0
ZW1wMCwgb3V0LCAxNDQpOwotICBfX2xzeF92c3QodGVtcDEsIG91dCwgMjI0KTsKLQotICBEVVAy
X0FSRzIoX19sc3hfdnN1Yl9oLCBpbjksIHZlYzIsIGluMTQsIHZlYzUsIHZlYzIsIHZlYzUpOwot
ICB0ZW1wMCA9IF9fbHN4X3ZuZWdfaCh2ZWMyKTsKLSAgRE9UUF9DT05TVF9QQUlSKHRlbXAwLCB2
ZWM1LCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgaW4yLCBpbjEpOwotICBEVVA0X0FSRzIoX19s
c3hfdnN1Yl9oLCBpbjgsIHZlYzMsIGluMTUsIHZlYzQsIGluMywgaW4yLCBpbjAsIGluMSwgaW4z
LCBpbjAsCi0gICAgICAgICAgICB2ZWMyLCB2ZWM1KTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzUs
IHZlYzIsIGNvc3BpXzIyXzY0LCBjb3NwaV8xMF82NCwgdGVtcDEsIHRlbXAwKTsKLSAgX19sc3hf
dnN0KHRlbXAwLCBvdXQsIDE2MCk7Ci0gIF9fbHN4X3ZzdCh0ZW1wMSwgb3V0LCAyMDgpOwotCi0g
IERVUDJfQVJHMihfX2xzeF92YWRkX2gsIGluMywgaW4yLCBpbjAsIGluMSwgdmVjMywgdmVjNCk7
Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWM0LCB2ZWMzLCBjb3NwaV82XzY0LCBjb3NwaV8yNl82NCwg
dGVtcDAsIHRlbXAxKTsKLSAgX19sc3hfdnN0KHRlbXAwLCBvdXQsIDE5Mik7Ci0gIF9fbHN4X3Zz
dCh0ZW1wMSwgb3V0LCAxNzYpOwotfQotCi1zdGF0aWMgdm9pZCBmZGN0OHgzMl8xZF9yb3dfb2Rk
X3JkKGludDE2X3QgKnRlbXAsIGludDE2X3QgKmludGVybV9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDE2X3QgKm91dCkgewotICBfX20xMjhpIGluMTYsIGluMTcs
IGluMTgsIGluMTksIGluMjAsIGluMjEsIGluMjIsIGluMjM7Ci0gIF9fbTEyOGkgaW4yNCwgaW4y
NSwgaW4yNiwgaW4yNywgaW4yOCwgaW4yOSwgaW4zMCwgaW4zMTsKLSAgX19tMTI4aSB2ZWM0LCB2
ZWM1LCB0bXAwLCB0bXAxOwotCi0gIGluMjAgPSBfX2xzeF92bGQodGVtcCwgNjQpOwotICBpbjIx
ID0gX19sc3hfdmxkKHRlbXAsIDgwKTsKLSAgaW4yNiA9IF9fbHN4X3ZsZCh0ZW1wLCAxNjApOwot
ICBpbjI3ID0gX19sc3hfdmxkKHRlbXAsIDE3Nik7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKGluMjcs
IGluMjAsIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgaW4yMCwgaW4yNyk7Ci0gIERPVFBfQ09O
U1RfUEFJUihpbjI2LCBpbjIxLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIGluMjEsIGluMjYp
OwotCi0gIEZEQ1RfUE9TVFBST0NfMlZfTkVHX0goaW4yMCwgaW4yMSk7Ci0gIEZEQ1RfUE9TVFBS
T0NfMlZfTkVHX0goaW4yNiwgaW4yNyk7Ci0KLSAgaW4xOCA9IF9fbHN4X3ZsZCh0ZW1wLCAzMik7
Ci0gIGluMTkgPSBfX2xzeF92bGQodGVtcCwgNDgpOwotICBpbjI4ID0gX19sc3hfdmxkKHRlbXAs
IDE5Mik7Ci0gIGluMjkgPSBfX2xzeF92bGQodGVtcCwgMjA4KTsKLQotICBGRENUX1BPU1RQUk9D
XzJWX05FR19IKGluMTgsIGluMTkpOwotICBGRENUX1BPU1RQUk9DXzJWX05FR19IKGluMjgsIGlu
MjkpOwotCi0gIHZlYzQgPSBfX2xzeF92c3ViX2goaW4xOSwgaW4yMCk7Ci0gIF9fbHN4X3ZzdCh2
ZWM0LCBpbnRlcm1fcHRyLCA2NCk7Ci0gIHZlYzQgPSBfX2xzeF92c3ViX2goaW4xOCwgaW4yMSk7
Ci0gIF9fbHN4X3ZzdCh2ZWM0LCBpbnRlcm1fcHRyLCAxNzYpOwotICB2ZWM0ID0gX19sc3hfdnN1
Yl9oKGluMjksIGluMjYpOwotICBfX2xzeF92c3QodmVjNCwgaW50ZXJtX3B0ciwgMTI4KTsKLSAg
dmVjNCA9IF9fbHN4X3ZzdWJfaChpbjI4LCBpbjI3KTsKLSAgX19sc3hfdnN0KHZlYzQsIGludGVy
bV9wdHIsIDExMik7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgaW4xOCwgaW4yMSwgaW4x
OSwgaW4yMCwgaW4yOCwgaW4yNywgaW4yOSwgaW4yNiwgaW4yMSwKLSAgICAgICAgICAgIGluMjAs
IGluMjcsIGluMjYpOwotCi0gIGluMjIgPSBfX2xzeF92bGQodGVtcCwgOTYpOwotICBpbjIzID0g
X19sc3hfdmxkKHRlbXAsIDExMik7Ci0gIGluMjQgPSBfX2xzeF92bGQodGVtcCwgMTI4KTsKLSAg
aW4yNSA9IF9fbHN4X3ZsZCh0ZW1wLCAxNDQpOwotCi0gIERPVFBfQ09OU1RfUEFJUihpbjI1LCBp
bjIyLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIGluMjIsIGluMjUpOwotICBET1RQX0NPTlNU
X1BBSVIoaW4yNCwgaW4yMywgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCBpbjIzLCBpbjI0KTsK
LSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdfSChpbjIyLCBpbjIzKTsKLSAgRkRDVF9QT1NUUFJPQ18y
Vl9ORUdfSChpbjI0LCBpbjI1KTsKLQotICBpbjE2ID0gX19sc3hfdmxkKHRlbXAsIDApOwotICBp
bjE3ID0gX19sc3hfdmxkKHRlbXAsIDE2KTsKLSAgaW4zMCA9IF9fbHN4X3ZsZCh0ZW1wLCAyMjQp
OwotICBpbjMxID0gX19sc3hfdmxkKHRlbXAsIDI0MCk7Ci0KLSAgRkRDVF9QT1NUUFJPQ18yVl9O
RUdfSChpbjE2LCBpbjE3KTsKLSAgRkRDVF9QT1NUUFJPQ18yVl9ORUdfSChpbjMwLCBpbjMxKTsK
LQotICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGluMTcsIGluMjIpOwotICBfX2xzeF92c3QodmVjNCwg
aW50ZXJtX3B0ciwgODApOwotICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGluMzAsIGluMjUpOwotICBf
X2xzeF92c3QodmVjNCwgaW50ZXJtX3B0ciwgOTYpOwotICB2ZWM0ID0gX19sc3hfdnN1Yl9oKGlu
MzEsIGluMjQpOwotICBfX2xzeF92c3QodmVjNCwgaW50ZXJtX3B0ciwgMTQ0KTsKLSAgdmVjNCA9
IF9fbHN4X3ZzdWJfaChpbjE2LCBpbjIzKTsKLSAgX19sc3hfdnN0KHZlYzQsIGludGVybV9wdHIs
IDE2MCk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgaW4xNiwgaW4yMywgaW4xNywgaW4y
MiwgaW4zMCwgaW4yNSwgaW4zMSwgaW4yNCwgaW4xNiwKLSAgICAgICAgICAgIGluMTcsIGluMzAs
IGluMzEpOwotICBET1RQX0NPTlNUX1BBSVIoaW4yNiwgaW4yMSwgY29zcGlfMjRfNjQsIGNvc3Bp
XzhfNjQsIGluMTgsIGluMjkpOwotICBET1RQX0NPTlNUX1BBSVIoaW4yNywgaW4yMCwgY29zcGlf
MjRfNjQsIGNvc3BpXzhfNjQsIGluMTksIGluMjgpOwotICBEVVA0X0FSRzIoX19sc3hfdmFkZF9o
LCBpbjE2LCBpbjE5LCBpbjE3LCBpbjE4LCBpbjMwLCBpbjI5LCBpbjMxLCBpbjI4LCBpbjI3LAot
ICAgICAgICAgICAgaW4yMiwgaW4yMSwgaW4yNSk7Ci0gIERPVFBfQ09OU1RfUEFJUihpbjIxLCBp
bjIyLCBjb3NwaV8yOF82NCwgY29zcGlfNF82NCwgaW4yNiwgaW4yNCk7Ci0gIERVUDJfQVJHMihf
X2xzeF92YWRkX2gsIGluMjcsIGluMjYsIGluMjUsIGluMjQsIGluMjMsIGluMjApOwotICBET1RQ
X0NPTlNUX1BBSVIoaW4yMCwgaW4yMywgY29zcGlfMzFfNjQsIGNvc3BpXzFfNjQsIHZlYzQsIHZl
YzUpOwotICBfX2xzeF92c3QodmVjNSwgb3V0LCAwKTsKLSAgX19sc3hfdnN0KHZlYzQsIG91dCwg
MjQwKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnN1Yl9oLCBpbjI3LCBpbjI2LCBpbjI1LCBpbjI0
LCBpbjIyLCBpbjIxKTsKLSAgRE9UUF9DT05TVF9QQUlSKGluMjEsIGluMjIsIGNvc3BpXzE1XzY0
LCBjb3NwaV8xN182NCwgdmVjNSwgdmVjNCk7Ci0gIF9fbHN4X3ZzdCh2ZWM1LCBvdXQsIDIyNCk7
Ci0gIF9fbHN4X3ZzdCh2ZWM0LCBvdXQsIDE2KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdnN1Yl9o
LCBpbjE3LCBpbjE4LCBpbjE2LCBpbjE5LCBpbjMxLCBpbjI4LCBpbjMwLCBpbjI5LCBpbjIzLAot
ICAgICAgICAgICAgaW4yNiwgaW4yNCwgaW4yMCk7Ci0gIHRtcDAgPSBfX2xzeF92bmVnX2goaW4y
Myk7Ci0gIERPVFBfQ09OU1RfUEFJUih0bXAwLCBpbjIwLCBjb3NwaV8yOF82NCwgY29zcGlfNF82
NCwgaW4yNywgaW4yNSk7Ci0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluMjYsIGluMjcsIGlu
MjQsIGluMjUsIGluMjMsIGluMjApOwotICBET1RQX0NPTlNUX1BBSVIoaW4yMCwgaW4yMywgY29z
cGlfMjNfNjQsIGNvc3BpXzlfNjQsIHZlYzQsIHZlYzUpOwotICBfX2xzeF92c3QodmVjNCwgb3V0
LCAzMik7Ci0gIF9fbHN4X3ZzdCh2ZWM1LCBvdXQsIDIwOCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4
X3ZhZGRfaCwgaW4yNiwgaW4yNywgaW4yNCwgaW4yNSwgaW4yMiwgaW4yMSk7Ci0gIERPVFBfQ09O
U1RfUEFJUihpbjIxLCBpbjIyLCBjb3NwaV83XzY0LCBjb3NwaV8yNV82NCwgdmVjNCwgdmVjNSk7
Ci0gIF9fbHN4X3ZzdCh2ZWM0LCBvdXQsIDQ4KTsKLSAgX19sc3hfdnN0KHZlYzUsIG91dCwgMTky
KTsKLQotICBpbjIwID0gX19sc3hfdmxkKGludGVybV9wdHIsIDY0KTsKLSAgaW4yMSA9IF9fbHN4
X3ZsZChpbnRlcm1fcHRyLCAxNzYpOwotICBpbjI3ID0gX19sc3hfdmxkKGludGVybV9wdHIsIDEx
Mik7Ci0gIGluMjYgPSBfX2xzeF92bGQoaW50ZXJtX3B0ciwgMTI4KTsKLQotICBpbjE2ID0gaW4y
MDsKLSAgaW4xNyA9IGluMjE7Ci0gIERVUDJfQVJHMShfX2xzeF92bmVnX2gsIGluMTYsIGluMTcs
IHRtcDAsIHRtcDEpOwotICBET1RQX0NPTlNUX1BBSVIodG1wMCwgaW4yNywgY29zcGlfMjRfNjQs
IGNvc3BpXzhfNjQsIGluMjAsIGluMjcpOwotICBET1RQX0NPTlNUX1BBSVIodG1wMSwgaW4yNiwg
Y29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIGluMjEsIGluMjYpOwotCi0gIGluMjIgPSBfX2xzeF92
bGQoaW50ZXJtX3B0ciwgODApOwotICBpbjI1ID0gX19sc3hfdmxkKGludGVybV9wdHIsIDk2KTsK
LSAgaW4yNCA9IF9fbHN4X3ZsZChpbnRlcm1fcHRyLCAxNDQpOwotICBpbjIzID0gX19sc3hfdmxk
KGludGVybV9wdHIsIDE2MCk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZzdWJfaCwgaW4yMywgaW4y
MCwgaW4yMiwgaW4yMSwgaW4yNSwgaW4yNiwgaW4yNCwgaW4yNywgaW4yOCwKLSAgICAgICAgICAg
IGluMTcsIGluMTgsIGluMzEpOwotICBET1RQX0NPTlNUX1BBSVIoaW4xOCwgaW4xNywgY29zcGlf
MTJfNjQsIGNvc3BpXzIwXzY0LCBpbjI5LCBpbjMwKTsKLSAgaW4xNiA9IF9fbHN4X3ZhZGRfaChp
bjI4LCBpbjI5KTsKLSAgaW4xOSA9IF9fbHN4X3ZhZGRfaChpbjMxLCBpbjMwKTsKLSAgRE9UUF9D
T05TVF9QQUlSKGluMTksIGluMTYsIGNvc3BpXzI3XzY0LCBjb3NwaV81XzY0LCB2ZWM1LCB2ZWM0
KTsKLSAgX19sc3hfdnN0KHZlYzUsIG91dCwgNjQpOwotICBfX2xzeF92c3QodmVjNCwgb3V0LCAx
NzYpOwotCi0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluMjgsIGluMjksIGluMzEsIGluMzAs
IGluMTcsIGluMTgpOwotICBET1RQX0NPTlNUX1BBSVIoaW4xOCwgaW4xNywgY29zcGlfMTFfNjQs
IGNvc3BpXzIxXzY0LCB2ZWM1LCB2ZWM0KTsKLSAgX19sc3hfdnN0KHZlYzUsIG91dCwgODApOwot
ICBfX2xzeF92c3QodmVjNCwgb3V0LCAxNjApOwotCi0gIERVUDRfQVJHMihfX2xzeF92YWRkX2gs
IGluMjIsIGluMjEsIGluMjMsIGluMjAsIGluMjQsIGluMjcsIGluMjUsIGluMjYsIGluMTYsCi0g
ICAgICAgICAgICBpbjI5LCBpbjMwLCBpbjE5KTsKLSAgdG1wMCA9IF9fbHN4X3ZuZWdfaChpbjE2
KTsKLSAgRE9UUF9DT05TVF9QQUlSKHRtcDAsIGluMTksIGNvc3BpXzEyXzY0LCBjb3NwaV8yMF82
NCwgaW4yOCwgaW4zMSk7Ci0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIGluMjksIGluMjgsIGlu
MzAsIGluMzEsIGluMTYsIGluMTkpOwotICBET1RQX0NPTlNUX1BBSVIoaW4xOSwgaW4xNiwgY29z
cGlfMTlfNjQsIGNvc3BpXzEzXzY0LCB2ZWM1LCB2ZWM0KTsKLSAgX19sc3hfdnN0KHZlYzUsIG91
dCwgMTQ0KTsKLSAgX19sc3hfdnN0KHZlYzQsIG91dCwgOTYpOwotCi0gIERVUDJfQVJHMihfX2xz
eF92YWRkX2gsIGluMjksIGluMjgsIGluMzAsIGluMzEsIGluMTcsIGluMTgpOwotICBET1RQX0NP
TlNUX1BBSVIoaW4xOCwgaW4xNywgY29zcGlfM182NCwgY29zcGlfMjlfNjQsIHZlYzUsIHZlYzQp
OwotICBfX2xzeF92c3QodmVjNCwgb3V0LCAxMTIpOwotICBfX2xzeF92c3QodmVjNSwgb3V0LCAx
MjgpOwotfQotCi1zdGF0aWMgdm9pZCBmZGN0MzJ4OF8xZF9yb3dfcmQoaW50MTZfdCAqdG1wX2J1
Zl9iaWcsIGludDE2X3QgKnRtcF9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MTZfdCAqb3V0cHV0KSB7Ci0gIGZkY3Q4eDMyXzFkX3Jvd19sb2FkX2J1dHRlcmZseSh0bXBf
YnVmX2JpZywgdG1wX2J1Zik7Ci0gIGZkY3Q4eDMyXzFkX3Jvd19ldmVuX3JkKHRtcF9idWYsIHRt
cF9idWYpOwotICBmZGN0OHgzMl8xZF9yb3dfb2RkX3JkKCh0bXBfYnVmICsgMTI4KSwgdG1wX2J1
Zl9iaWcsICh0bXBfYnVmICsgMTI4KSk7Ci0gIGZkY3Q4eDMyXzFkX3Jvd190cmFuc3Bvc2Vfc3Rv
cmUodG1wX2J1Ziwgb3V0cHV0KTsKLX0KLQotdm9pZCB2cHhfZmRjdDMyeDMyX3JkX2xzeChjb25z
dCBpbnQxNl90ICppbnB1dCwgaW50MTZfdCAqb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQzMl90IHNyY19zdHJpZGUpIHsKLSAgaW50MzJfdCBpOwotICBERUNMQVJFX0FMSUdORUQo
MzIsIGludDE2X3QsIHRtcF9idWZfYmlnWzEwMjRdKTsKLSAgREVDTEFSRV9BTElHTkVEKDMyLCBp
bnQxNl90LCB0bXBfYnVmWzI1Nl0pOwotCi0gIC8qIGNvbHVtbiB0cmFuc2Zvcm0gKi8KLSAgZm9y
IChpID0gMDsgaSA8IDQ7ICsraSkgewotICAgIGZkY3Q4eDMyXzFkX2NvbHVtbihpbnB1dCArICg4
ICogaSksIHNyY19zdHJpZGUsICZ0bXBfYnVmWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAm
dG1wX2J1Zl9iaWdbMF0gKyAoOCAqIGkpKTsKLSAgfQotICAvKiByb3cgdHJhbnNmb3JtICovCi0g
IGZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKLSAgICBmZGN0MzJ4OF8xZF9yb3dfcmQoJnRtcF9i
dWZfYmlnWzBdICsgKDggKiBpICogMzIpLCAmdG1wX2J1ZlswXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgb3V0ICsgKDggKiBpICogMzIpKTsKLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2xvb25nYXJjaC9md2RfdHhmbV9sc3guYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9s
b29uZ2FyY2gvZndkX3R4Zm1fbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUw
ODUzMmI5ZDg2Zi4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2Fy
Y2gvZndkX3R4Zm1fbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSwzNTAgKzAsMCBAQAotLyoKLSAq
ICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi
eSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25h
bCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGlu
IHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkK
LSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3Vy
Y2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2
cHhfZHNwL2xvb25nYXJjaC9md2RfdHhmbV9sc3guaCIKLQotI2RlZmluZSBMU1hfVFJBTlNQT1NF
NHg0X0goX2luMCwgX2luMSwgX2luMiwgX2luMywgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMp
IFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBfczAsIF9zMSwgX3MyLCBf
czMsIF90MCwgX3QxLCBfdDIsIF90MzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfaCwgX2luMiwg
X2luMCwgX2luMywgX2luMSwgX3MwLCBfczEpOyAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZpbHZoX2gsIF9pbjIsIF9pbjAsIF9pbjMsIF9pbjEsIF9zMiwgX3MzKTsgICAg
ICAgICAgICAgICAgXAotICAgIF90MCA9IF9fbHN4X3ZpbHZsX2goX3MxLCBfczApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdDEgPSBfX2xzeF92
aWx2aF9oKF9zMSwgX3MwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX3QyID0gX19sc3hfdmlsdmxfaChfczMsIF9zMik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90MyA9IF9fbHN4X3ZpbHZoX2go
X3MzLCBfczIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9kLCBfdDIsIF90MCwgX3QzLCBfdDEsIF9vdXQw
LCBfb3V0Mik7ICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrb2RfZCwg
X3QyLCBfdDAsIF90MywgX3QxLCBfb3V0MSwgX291dDMpOyAgICAgICAgICAgICAgXAotICB9IHdo
aWxlICgwKQotCi0jaWYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICi12b2lkIGZkY3Q4eDE2XzFk
X2NvbHVtbihjb25zdCBpbnQxNl90ICppbnB1dCwgaW50MTZfdCAqdG1wX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSkgewotICBfX20xMjhpIHRtcDAsIHRt
cDEsIHRtcDIsIHRtcDMsIHRtcDQsIHRtcDUsIHRtcDYsIHRtcDc7Ci0gIF9fbTEyOGkgaW4wLCBp
bjEsIGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBpbjc7Ci0gIF9fbTEyOGkgaW44LCBpbjksIGlu
MTAsIGluMTEsIGluMTIsIGluMTMsIGluMTQsIGluMTU7Ci0gIF9fbTEyOGkgc3RwMjEsIHN0cDIy
LCBzdHAyMywgc3RwMjQsIHN0cDI1LCBzdHAyNiwgc3RwMzA7Ci0gIF9fbTEyOGkgc3RwMzEsIHN0
cDMyLCBzdHAzMywgc3RwMzQsIHN0cDM1LCBzdHAzNiwgc3RwMzc7Ci0gIF9fbTEyOGkgdmVjMCwg
dmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwgY25zdDAsIGNuc3QxLCBjbnN0NCwgY25zdDU7
Ci0gIF9fbTEyOGkgY29lZmYgPSB7IDB4MTg3ZTNiMjFkMmJmMmQ0MSwgMHgyMzhlMzUzN2U3ODJj
NGRmIH07Ci0gIF9fbTEyOGkgY29lZmYxID0geyAweDI4OWEzMTc5MDY0NjNmYjEsIDB4MTI5NDNk
M2YxZTJiMzg3MSB9OwotICBfX20xMjhpIGNvZWZmMiA9IHsgMHhlZDZjZDc2NmM3OGZjMDRmLCAw
eDAgfTsKLQotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQz
Ml90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRl
NiA9IHNyY19zdHJpZGU0ICsgc3JjX3N0cmlkZTI7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTggPSBz
cmNfc3RyaWRlNCA8PCAxOwotICBpbnQxNl90ICppbnB1dF90bXAgPSAoaW50MTZfdCAqKWlucHV0
OwotICBpbjAgPSBfX2xzeF92bGQoaW5wdXRfdG1wLCAwKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZHgsIGlucHV0X3RtcCwgc3JjX3N0cmlkZTIsIGlucHV0X3RtcCwgc3JjX3N0cmlkZTQsCi0gICAg
ICAgICAgICBpbnB1dF90bXAsIHNyY19zdHJpZGU2LCBpbnB1dF90bXAsIHNyY19zdHJpZGU4LCBp
bjEsIGluMiwgaW4zLCBpbjQpOwotICBpbnB1dF90bXAgKz0gc3JjX3N0cmlkZTQ7Ci0gIERVUDRf
QVJHMihfX2xzeF92bGR4LCBpbnB1dF90bXAsIHNyY19zdHJpZGUyLCBpbnB1dF90bXAsIHNyY19z
dHJpZGU0LAotICAgICAgICAgICAgaW5wdXRfdG1wLCBzcmNfc3RyaWRlNiwgaW5wdXRfdG1wLCBz
cmNfc3RyaWRlOCwgaW41LCBpbjYsIGluNywgaW44KTsKLSAgaW5wdXRfdG1wICs9IHNyY19zdHJp
ZGU0OwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgaW5wdXRfdG1wLCBzcmNfc3RyaWRlMiwgaW5w
dXRfdG1wLCBzcmNfc3RyaWRlNCwKLSAgICAgICAgICAgIGlucHV0X3RtcCwgc3JjX3N0cmlkZTYs
IGlucHV0X3RtcCwgc3JjX3N0cmlkZTgsIGluOSwgaW4xMCwgaW4xMSwKLSAgICAgICAgICAgIGlu
MTIpOwotICBpbnB1dF90bXAgKz0gc3JjX3N0cmlkZTQ7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4
LCBpbnB1dF90bXAsIHNyY19zdHJpZGUyLCBpbnB1dF90bXAsIHNyY19zdHJpZGU0LCBpbjEzLAot
ICAgICAgICAgICAgaW4xNCk7Ci0gIGlucHV0X3RtcCArPSBzcmNfc3RyaWRlMjsKLSAgaW4xNSA9
IF9fbHN4X3ZsZHgoaW5wdXRfdG1wLCBzcmNfc3RyaWRlMik7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4
X3ZzbGxpX2gsIGluMCwgMiwgaW4xLCAyLCBpbjIsIDIsIGluMywgMiwgaW4wLCBpbjEsIGluMiwg
aW4zKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzbGxpX2gsIGluNCwgMiwgaW41LCAyLCBpbjYsIDIs
IGluNywgMiwgaW40LCBpbjUsIGluNiwgaW43KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzbGxpX2gs
IGluOCwgMiwgaW45LCAyLCBpbjEwLCAyLCBpbjExLCAyLCBpbjgsIGluOSwgaW4xMCwKLSAgICAg
ICAgICAgIGluMTEpOwotICBEVVA0X0FSRzIoX19sc3hfdnNsbGlfaCwgaW4xMiwgMiwgaW4xMywg
MiwgaW4xNCwgMiwgaW4xNSwgMiwgaW4xMiwgaW4xMywgaW4xNCwKLSAgICAgICAgICAgIGluMTUp
OwotICBEVVA0X0FSRzIoX19sc3hfdmFkZF9oLCBpbjAsIGluMTUsIGluMSwgaW4xNCwgaW4yLCBp
bjEzLCBpbjMsIGluMTIsIHRtcDAsCi0gICAgICAgICAgICB0bXAxLCB0bXAyLCB0bXAzKTsKLSAg
RFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgaW40LCBpbjExLCBpbjUsIGluMTAsIGluNiwgaW45LCBp
bjcsIGluOCwgdG1wNCwgdG1wNSwKLSAgICAgICAgICAgIHRtcDYsIHRtcDcpOwotICBGRENUOHgx
Nl9FVkVOKHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMsIHRtcDQsIHRtcDUsIHRtcDYsIHRtcDcsIHRt
cDAsIHRtcDEsCi0gICAgICAgICAgICAgICAgdG1wMiwgdG1wMywgdG1wNCwgdG1wNSwgdG1wNiwg
dG1wNyk7Ci0gIF9fbHN4X3ZzdCh0bXAwLCB0bXBfcHRyLCAwKTsKLSAgX19sc3hfdnN0KHRtcDEs
IHRtcF9wdHIsIDY0KTsKLSAgX19sc3hfdnN0KHRtcDIsIHRtcF9wdHIsIDEyOCk7Ci0gIF9fbHN4
X3ZzdCh0bXAzLCB0bXBfcHRyLCAxOTIpOwotICBfX2xzeF92c3QodG1wNCwgdG1wX3B0ciwgMjU2
KTsKLSAgX19sc3hfdnN0KHRtcDUsIHRtcF9wdHIsIDMyMCk7Ci0gIF9fbHN4X3ZzdCh0bXA2LCB0
bXBfcHRyLCAzODQpOwotICBfX2xzeF92c3QodG1wNywgdG1wX3B0ciwgNDQ4KTsKLSAgRFVQNF9B
UkcyKF9fbHN4X3ZzdWJfaCwgaW4wLCBpbjE1LCBpbjEsIGluMTQsIGluMiwgaW4xMywgaW4zLCBp
bjEyLCBpbjE1LAotICAgICAgICAgICAgaW4xNCwgaW4xMywgaW4xMik7Ci0gIERVUDRfQVJHMihf
X2xzeF92c3ViX2gsIGluNCwgaW4xMSwgaW41LCBpbjEwLCBpbjYsIGluOSwgaW43LCBpbjgsIGlu
MTEsIGluMTAsCi0gICAgICAgICAgICBpbjksIGluOCk7Ci0KLSAgdG1wX3B0ciArPSAxNjsKLQot
ICAvKiBzdHAgMSAqLwotICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfaCwgaW4xMCwgaW4xMywgaW4x
MSwgaW4xMiwgdmVjMiwgdmVjNCk7Ci0gIERVUDJfQVJHMihfX2xzeF92aWx2bF9oLCBpbjEwLCBp
bjEzLCBpbjExLCBpbjEyLCB2ZWMzLCB2ZWM1KTsKLQotICBjbnN0NCA9IF9fbHN4X3ZyZXBsdmVp
X2goY29lZmYsIDApOwotICBET1RfU0hJRlRfUklHSFRfUENLX0godmVjMiwgdmVjMywgY25zdDQs
IHN0cDI1KTsKLQotICBjbnN0NSA9IF9fbHN4X3ZyZXBsdmVpX2goY29lZmYsIDEpOwotICBjbnN0
NSA9IF9fbHN4X3ZwYWNrZXZfaChjbnN0NSwgY25zdDQpOwotICBET1RfU0hJRlRfUklHSFRfUENL
X0godmVjMiwgdmVjMywgY25zdDUsIHN0cDIyKTsKLSAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHZl
YzQsIHZlYzUsIGNuc3Q0LCBzdHAyNCk7Ci0gIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWM0LCB2
ZWM1LCBjbnN0NSwgc3RwMjMpOwotCi0gIC8qIHN0cDIgKi8KLSAgTFNYX0JVVFRFUkZMWV80X0go
aW44LCBpbjksIHN0cDIyLCBzdHAyMywgc3RwMzAsIHN0cDMxLCBzdHAzMiwgc3RwMzMpOwotICBM
U1hfQlVUVEVSRkxZXzRfSChpbjE1LCBpbjE0LCBzdHAyNSwgc3RwMjQsIHN0cDM3LCBzdHAzNiwg
c3RwMzUsIHN0cDM0KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2gsIHN0cDM2LCBzdHAzMSwg
c3RwMzUsIHN0cDMyLCB2ZWMyLCB2ZWM0KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIHN0
cDM2LCBzdHAzMSwgc3RwMzUsIHN0cDMyLCB2ZWMzLCB2ZWM1KTsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZyZXBsdmVpX2gsIGNvZWZmLCAyLCBjb2VmZiwgMywgY25zdDAsIGNuc3QxKTsKLSAgY25zdDAg
PSBfX2xzeF92cGFja2V2X2goY25zdDAsIGNuc3QxKTsKLSAgRE9UX1NISUZUX1JJR0hUX1BDS19I
KHZlYzIsIHZlYzMsIGNuc3QwLCBzdHAyNik7Ci0KLSAgY25zdDAgPSBfX2xzeF92cmVwbHZlaV9o
KGNvZWZmLCA0KTsKLSAgY25zdDEgPSBfX2xzeF92cGFja2V2X2goY25zdDEsIGNuc3QwKTsKLSAg
RE9UX1NISUZUX1JJR0hUX1BDS19IKHZlYzIsIHZlYzMsIGNuc3QxLCBzdHAyMSk7Ci0KLSAgTFNY
X0JVVFRFUkZMWV80X0goc3RwMzAsIHN0cDM3LCBzdHAyNiwgc3RwMjEsIGluOCwgaW4xNSwgaW4x
NCwgaW45KTsKLSAgdmVjMSA9IF9fbHN4X3ZpbHZsX2goaW4xNSwgaW44KTsKLSAgdmVjMCA9IF9f
bHN4X3ZpbHZoX2goaW4xNSwgaW44KTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwg
Y29lZmYxLCAwLCBjb2VmZjEsIDEsIGNuc3QwLCBjbnN0MSk7Ci0gIGNuc3QwID0gX19sc3hfdnBh
Y2tldl9oKGNuc3QwLCBjbnN0MSk7Ci0KLSAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHZlYzAsIHZl
YzEsIGNuc3QwLCBpbjgpOwotICBfX2xzeF92c3QoaW44LCB0bXBfcHRyLCAwKTsKLQotICBjbnN0
MCA9IF9fbHN4X3ZyZXBsdmVpX2goY29lZmYyLCAwKTsKLSAgY25zdDAgPSBfX2xzeF92cGFja2V2
X2goY25zdDEsIGNuc3QwKTsKLSAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHZlYzAsIHZlYzEsIGNu
c3QwLCBpbjgpOwotICBfX2xzeF92c3QoaW44LCB0bXBfcHRyLCA0NDgpOwotCi0gIHZlYzEgPSBf
X2xzeF92aWx2bF9oKGluMTQsIGluOSk7Ci0gIHZlYzAgPSBfX2xzeF92aWx2aF9oKGluMTQsIGlu
OSk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZjEsIDIsIGNvZWZmMSwgMywg
Y25zdDAsIGNuc3QxKTsKLSAgY25zdDEgPSBfX2xzeF92cGFja2V2X2goY25zdDEsIGNuc3QwKTsK
LQotICBET1RfU0hJRlRfUklHSFRfUENLX0godmVjMCwgdmVjMSwgY25zdDEsIGluOCk7Ci0gIF9f
bHN4X3ZzdChpbjgsIHRtcF9wdHIsIDI1Nik7Ci0KLSAgY25zdDEgPSBfX2xzeF92cmVwbHZlaV9o
KGNvZWZmMiwgMik7Ci0gIGNuc3QwID0gX19sc3hfdnBhY2tldl9oKGNuc3QwLCBjbnN0MSk7Ci0g
IERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMwLCB2ZWMxLCBjbnN0MCwgaW44KTsKLSAgX19sc3hf
dnN0KGluOCwgdG1wX3B0ciwgMTkyKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwg
Y29lZmYsIDIsIGNvZWZmLCA1LCBjbnN0MCwgY25zdDEpOwotICBjbnN0MSA9IF9fbHN4X3ZwYWNr
ZXZfaChjbnN0MSwgY25zdDApOwotICBET1RfU0hJRlRfUklHSFRfUENLX0godmVjNCwgdmVjNSwg
Y25zdDEsIHN0cDI1KTsKLQotICBjbnN0MSA9IF9fbHN4X3ZyZXBsdmVpX2goY29lZmYsIDMpOwot
ICBjbnN0MSA9IF9fbHN4X3ZwYWNrZXZfaChjbnN0MCwgY25zdDEpOwotICBET1RfU0hJRlRfUklH
SFRfUENLX0godmVjNCwgdmVjNSwgY25zdDEsIHN0cDIyKTsKLQotICAvKiBzdHA0ICovCi0gIERV
UDJfQVJHMihfX2xzeF92YWRkX2gsIHN0cDM0LCBzdHAyNSwgc3RwMzMsIHN0cDIyLCBpbjEzLCBp
bjEwKTsKLQotICB2ZWMxID0gX19sc3hfdmlsdmxfaChpbjEzLCBpbjEwKTsKLSAgdmVjMCA9IF9f
bHN4X3ZpbHZoX2goaW4xMywgaW4xMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBj
b2VmZjEsIDQsIGNvZWZmMSwgNSwgY25zdDAsIGNuc3QxKTsKLSAgY25zdDAgPSBfX2xzeF92cGFj
a2V2X2goY25zdDAsIGNuc3QxKTsKLSAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHZlYzAsIHZlYzEs
IGNuc3QwLCBpbjgpOwotICBfX2xzeF92c3QoaW44LCB0bXBfcHRyLCAxMjgpOwotCi0gIGNuc3Qw
ID0gX19sc3hfdnJlcGx2ZWlfaChjb2VmZjIsIDEpOwotICBjbnN0MCA9IF9fbHN4X3ZwYWNrZXZf
aChjbnN0MSwgY25zdDApOwotICBET1RfU0hJRlRfUklHSFRfUENLX0godmVjMCwgdmVjMSwgY25z
dDAsIGluOCk7Ci0gIF9fbHN4X3ZzdChpbjgsIHRtcF9wdHIsIDMyMCk7Ci0KLSAgRFVQMl9BUkcy
KF9fbHN4X3ZzdWJfaCwgc3RwMzQsIHN0cDI1LCBzdHAzMywgc3RwMjIsIGluMTIsIGluMTEpOwot
ICB2ZWMxID0gX19sc3hfdmlsdmxfaChpbjEyLCBpbjExKTsKLSAgdmVjMCA9IF9fbHN4X3ZpbHZo
X2goaW4xMiwgaW4xMSk7Ci0gIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZjEsIDYs
IGNvZWZmMSwgNywgY25zdDAsIGNuc3QxKTsKLSAgY25zdDEgPSBfX2xzeF92cGFja2V2X2goY25z
dDEsIGNuc3QwKTsKLQotICBET1RfU0hJRlRfUklHSFRfUENLX0godmVjMCwgdmVjMSwgY25zdDEs
IGluOCk7Ci0gIF9fbHN4X3ZzdChpbjgsIHRtcF9wdHIsIDM4NCk7Ci0KLSAgY25zdDEgPSBfX2xz
eF92cmVwbHZlaV9oKGNvZWZmMiwgMyk7Ci0gIGNuc3QwID0gX19sc3hfdnBhY2tldl9oKGNuc3Qw
LCBjbnN0MSk7Ci0gIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMwLCB2ZWMxLCBjbnN0MCwgaW44
KTsKLSAgX19sc3hfdnN0KGluOCwgdG1wX3B0ciwgNjQpOwotfQotCi12b2lkIGZkY3QxNng4XzFk
X3JvdyhpbnQxNl90ICppbnB1dCwgaW50MTZfdCAqb3V0cHV0KSB7Ci0gIF9fbTEyOGkgdG1wMCwg
dG1wMSwgdG1wMiwgdG1wMywgdG1wNCwgdG1wNSwgdG1wNiwgdG1wNzsKLSAgX19tMTI4aSBpbjAs
IGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBpbjYsIGluNzsKLSAgX19tMTI4aSBpbjgsIGluOSwg
aW4xMCwgaW4xMSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNTsKLSAgaW50MTZfdCAqaW5wdXRfdG1w
ID0gaW5wdXQ7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDAsIGlucHV0LCAzMiwg
aW5wdXQsIDY0LCBpbnB1dCwgOTYsIGluMCwgaW4xLCBpbjIsCi0gICAgICAgICAgICBpbjMpOwot
ICBEVVA0X0FSRzIoX19sc3hfdmxkLCBpbnB1dCwgMTI4LCBpbnB1dCwgMTYwLCBpbnB1dCwgMTky
LCBpbnB1dCwgMjI0LCBpbjQsIGluNSwKLSAgICAgICAgICAgIGluNiwgaW43KTsKLSAgRFVQNF9B
UkcyKF9fbHN4X3ZsZCwgaW5wdXRfdG1wLCAxNiwgaW5wdXRfdG1wLCA0OCwgaW5wdXRfdG1wLCA4
MCwgaW5wdXRfdG1wLAotICAgICAgICAgICAgMTEyLCBpbjgsIGluOSwgaW4xMCwgaW4xMSk7Ci0g
IERVUDRfQVJHMihfX2xzeF92bGQsIGlucHV0X3RtcCwgMTQ0LCBpbnB1dF90bXAsIDE3NiwgaW5w
dXRfdG1wLCAyMDgsCi0gICAgICAgICAgICBpbnB1dF90bXAsIDI0MCwgaW4xMiwgaW4xMywgaW4x
NCwgaW4xNSk7Ci0KLSAgTFNYX1RSQU5TUE9TRTh4OF9IKGluMCwgaW4xLCBpbjIsIGluMywgaW40
LCBpbjUsIGluNiwgaW43LCBpbjAsIGluMSwgaW4yLCBpbjMsCi0gICAgICAgICAgICAgICAgICAg
ICBpbjQsIGluNSwgaW42LCBpbjcpOwotICBMU1hfVFJBTlNQT1NFOHg4X0goaW44LCBpbjksIGlu
MTAsIGluMTEsIGluMTIsIGluMTMsIGluMTQsIGluMTUsIGluOCwgaW45LAotICAgICAgICAgICAg
ICAgICAgICAgaW4xMCwgaW4xMSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNSk7Ci0gIERVUDRfQVJH
MihfX2xzeF92YWRkaV9odSwgaW4wLCAxLCBpbjEsIDEsIGluMiwgMSwgaW4zLCAxLCBpbjAsIGlu
MSwgaW4yLCBpbjMpOwotICBEVVA0X0FSRzIoX19sc3hfdmFkZGlfaHUsIGluNCwgMSwgaW41LCAx
LCBpbjYsIDEsIGluNywgMSwgaW40LCBpbjUsIGluNiwgaW43KTsKLSAgRFVQNF9BUkcyKF9fbHN4
X3ZhZGRpX2h1LCBpbjgsIDEsIGluOSwgMSwgaW4xMCwgMSwgaW4xMSwgMSwgaW44LCBpbjksIGlu
MTAsCi0gICAgICAgICAgICBpbjExKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRpX2h1LCBpbjEy
LCAxLCBpbjEzLCAxLCBpbjE0LCAxLCBpbjE1LCAxLCBpbjEyLCBpbjEzLAotICAgICAgICAgICAg
aW4xNCwgaW4xNSk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZzcmFpX2gsIGluMCwgMiwgaW4xLCAy
LCBpbjIsIDIsIGluMywgMiwgaW4wLCBpbjEsIGluMiwgaW4zKTsKLSAgRFVQNF9BUkcyKF9fbHN4
X3ZzcmFpX2gsIGluNCwgMiwgaW41LCAyLCBpbjYsIDIsIGluNywgMiwgaW40LCBpbjUsIGluNiwg
aW43KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzcmFpX2gsIGluOCwgMiwgaW45LCAyLCBpbjEwLCAy
LCBpbjExLCAyLCBpbjgsIGluOSwgaW4xMCwKLSAgICAgICAgICAgIGluMTEpOwotICBEVVA0X0FS
RzIoX19sc3hfdnNyYWlfaCwgaW4xMiwgMiwgaW4xMywgMiwgaW4xNCwgMiwgaW4xNSwgMiwgaW4x
MiwgaW4xMywgaW4xNCwKLSAgICAgICAgICAgIGluMTUpOwotICBMU1hfQlVUVEVSRkxZXzE2X0go
aW4wLCBpbjEsIGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBpbjcsIGluOCwgaW45LCBpbjEwLAot
ICAgICAgICAgICAgICAgICAgICAgaW4xMSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNSwgdG1wMCwg
dG1wMSwgdG1wMiwgdG1wMywgdG1wNCwKLSAgICAgICAgICAgICAgICAgICAgIHRtcDUsIHRtcDYs
IHRtcDcsIGluOCwgaW45LCBpbjEwLCBpbjExLCBpbjEyLCBpbjEzLCBpbjE0LAotICAgICAgICAg
ICAgICAgICAgICAgaW4xNSk7Ci0gIF9fbHN4X3ZzdChpbjgsIGlucHV0LCAwKTsKLSAgX19sc3hf
dnN0KGluOSwgaW5wdXQsIDMyKTsKLSAgX19sc3hfdnN0KGluMTAsIGlucHV0LCA2NCk7Ci0gIF9f
bHN4X3ZzdChpbjExLCBpbnB1dCwgOTYpOwotICBfX2xzeF92c3QoaW4xMiwgaW5wdXQsIDEyOCk7
Ci0gIF9fbHN4X3ZzdChpbjEzLCBpbnB1dCwgMTYwKTsKLSAgX19sc3hfdnN0KGluMTQsIGlucHV0
LCAxOTIpOwotICBfX2xzeF92c3QoaW4xNSwgaW5wdXQsIDIyNCk7Ci0KLSAgRkRDVDh4MTZfRVZF
Tih0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0bXA0LCB0bXA1LCB0bXA2LCB0bXA3LCB0bXAwLCB0
bXAxLAotICAgICAgICAgICAgICAgIHRtcDIsIHRtcDMsIHRtcDQsIHRtcDUsIHRtcDYsIHRtcDcp
OwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCBpbnB1dCwgMCwgaW5wdXQsIDMyLCBpbnB1dCwgNjQs
IGlucHV0LCA5NiwgaW44LCBpbjksCi0gICAgICAgICAgICBpbjEwLCBpbjExKTsKLSAgRFVQNF9B
UkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDEyOCwgaW5wdXQsIDE2MCwgaW5wdXQsIDE5MiwgaW5wdXQs
IDIyNCwgaW4xMiwKLSAgICAgICAgICAgIGluMTMsIGluMTQsIGluMTUpOwotICBGRENUOHgxNl9P
REQoaW44LCBpbjksIGluMTAsIGluMTEsIGluMTIsIGluMTMsIGluMTQsIGluMTUsIGluMCwgaW4x
LCBpbjIsIGluMywKLSAgICAgICAgICAgICAgIGluNCwgaW41LCBpbjYsIGluNyk7Ci0gIExTWF9U
UkFOU1BPU0U4eDhfSCh0bXAwLCBpbjAsIHRtcDEsIGluMSwgdG1wMiwgaW4yLCB0bXAzLCBpbjMs
IHRtcDAsIGluMCwKLSAgICAgICAgICAgICAgICAgICAgIHRtcDEsIGluMSwgdG1wMiwgaW4yLCB0
bXAzLCBpbjMpOwotICBfX2xzeF92c3QodG1wMCwgb3V0cHV0LCAwKTsKLSAgX19sc3hfdnN0KGlu
MCwgb3V0cHV0LCAzMik7Ci0gIF9fbHN4X3ZzdCh0bXAxLCBvdXRwdXQsIDY0KTsKLSAgX19sc3hf
dnN0KGluMSwgb3V0cHV0LCA5Nik7Ci0gIF9fbHN4X3ZzdCh0bXAyLCBvdXRwdXQsIDEyOCk7Ci0g
IF9fbHN4X3ZzdChpbjIsIG91dHB1dCwgMTYwKTsKLSAgX19sc3hfdnN0KHRtcDMsIG91dHB1dCwg
MTkyKTsKLSAgX19sc3hfdnN0KGluMywgb3V0cHV0LCAyMjQpOwotCi0gIExTWF9UUkFOU1BPU0U4
eDhfSCh0bXA0LCBpbjQsIHRtcDUsIGluNSwgdG1wNiwgaW42LCB0bXA3LCBpbjcsIHRtcDQsIGlu
NCwKLSAgICAgICAgICAgICAgICAgICAgIHRtcDUsIGluNSwgdG1wNiwgaW42LCB0bXA3LCBpbjcp
OwotICBfX2xzeF92c3QodG1wNCwgb3V0cHV0LCAxNik7Ci0gIF9fbHN4X3ZzdChpbjQsIG91dHB1
dCwgNDgpOwotICBfX2xzeF92c3QodG1wNSwgb3V0cHV0LCA4MCk7Ci0gIF9fbHN4X3ZzdChpbjUs
IG91dHB1dCwgMTEyKTsKLSAgX19sc3hfdnN0KHRtcDYsIG91dHB1dCwgMTQ0KTsKLSAgX19sc3hf
dnN0KGluNiwgb3V0cHV0LCAxNzYpOwotICBfX2xzeF92c3QodG1wNywgb3V0cHV0LCAyMDgpOwot
ICBfX2xzeF92c3QoaW43LCBvdXRwdXQsIDI0MCk7Ci19Ci0KLXZvaWQgdnB4X2ZkY3Q0eDRfbHN4
KGNvbnN0IGludDE2X3QgKmlucHV0LCBpbnQxNl90ICpvdXRwdXQsCi0gICAgICAgICAgICAgICAg
ICAgICBpbnQzMl90IHNyY19zdHJpZGUpIHsKLSAgX19tMTI4aSBpbjAsIGluMSwgaW4yLCBpbjM7
Ci0KLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBz
cmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTYgPSBz
cmNfc3RyaWRlNCArIHNyY19zdHJpZGUyOwotCi0gIGluMCA9IF9fbHN4X3ZsZChpbnB1dCwgMCk7
Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBpbnB1dCwgc3JjX3N0cmlkZTIsIGlucHV0LCBzcmNf
c3RyaWRlNCwgaW4xLCBpbjIpOwotICBpbjMgPSBfX2xzeF92bGR4KGlucHV0LCBzcmNfc3RyaWRl
Nik7Ci0KLSAgLyogZmRjdDQgcHJlLXByb2Nlc3MgKi8KLSAgewotICAgIF9fbTEyOGkgdmVjLCBt
YXNrOwotICAgIF9fbTEyOGkgemVybyA9IF9fbHN4X3ZsZGkoMCk7Ci0KLSAgICBtYXNrID0gX19s
c3hfdmluc2dyMnZyX2IoemVybywgMSwgMCk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZzbGxpX2gs
IGluMCwgNCwgaW4xLCA0LCBpbjIsIDQsIGluMywgNCwgaW4wLCBpbjEsIGluMiwKLSAgICAgICAg
ICAgICAgaW4zKTsKLSAgICB2ZWMgPSBfX2xzeF92c2VxaV9oKGluMCwgMCk7Ci0gICAgdmVjID0g
X19sc3hfdnhvcmlfYih2ZWMsIDI1NSk7Ci0gICAgdmVjID0gX19sc3hfdmFuZF92KG1hc2ssIHZl
Yyk7Ci0gICAgaW4wID0gX19sc3hfdmFkZF9oKGluMCwgdmVjKTsKLSAgfQotCi0gIFZQOV9GRENU
NChpbjAsIGluMSwgaW4yLCBpbjMsIGluMCwgaW4xLCBpbjIsIGluMyk7Ci0gIExTWF9UUkFOU1BP
U0U0eDRfSChpbjAsIGluMSwgaW4yLCBpbjMsIGluMCwgaW4xLCBpbjIsIGluMyk7Ci0gIFZQOV9G
RENUNChpbjAsIGluMSwgaW4yLCBpbjMsIGluMCwgaW4xLCBpbjIsIGluMyk7Ci0gIExTWF9UUkFO
U1BPU0U0eDRfSChpbjAsIGluMSwgaW4yLCBpbjMsIGluMCwgaW4xLCBpbjIsIGluMyk7Ci0gIERV
UDRfQVJHMihfX2xzeF92YWRkaV9odSwgaW4wLCAxLCBpbjEsIDEsIGluMiwgMSwgaW4zLCAxLCBp
bjAsIGluMSwgaW4yLCBpbjMpOwotICBEVVA0X0FSRzIoX19sc3hfdnNyYWlfaCwgaW4wLCAyLCBp
bjEsIDIsIGluMiwgMiwgaW4zLCAyLCBpbjAsIGluMSwgaW4yLCBpbjMpOwotICBEVVAyX0FSRzIo
X19sc3hfdnBpY2tldl9kLCBpbjEsIGluMCwgaW4zLCBpbjIsIGluMCwgaW4yKTsKLSAgX19sc3hf
dnN0KGluMCwgb3V0cHV0LCAwKTsKLSAgX19sc3hfdnN0KGluMiwgb3V0cHV0LCAxNik7Ci19Ci0K
LXZvaWQgdnB4X2ZkY3Q4eDhfbHN4KGNvbnN0IGludDE2X3QgKmlucHV0LCBpbnQxNl90ICpvdXRw
dXQsCi0gICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUpIHsKLSAgX19tMTI4
aSBpbjAsIGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBpbjYsIGluNzsKLSAgaW50MzJfdCBzcmNf
c3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19z
dHJpZGUyIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTYgPSBzcmNfc3RyaWRlNCArIHNyY19z
dHJpZGUyOwotICBpbnQxNl90ICppbnB1dF90bXAgPSAoaW50MTZfdCAqKWlucHV0OwotCi0gIGlu
MCA9IF9fbHN4X3ZsZChpbnB1dF90bXAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgaW5w
dXRfdG1wLCBzcmNfc3RyaWRlMiwgaW5wdXRfdG1wLCBzcmNfc3RyaWRlNCwgaW4xLAotICAgICAg
ICAgICAgaW4yKTsKLSAgaW4zID0gX19sc3hfdmxkeChpbnB1dF90bXAsIHNyY19zdHJpZGU2KTsK
LSAgaW5wdXRfdG1wICs9IHNyY19zdHJpZGU0OwotICBpbjQgPSBfX2xzeF92bGQoaW5wdXRfdG1w
LCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGlucHV0X3RtcCwgc3JjX3N0cmlkZTIsIGlu
cHV0X3RtcCwgc3JjX3N0cmlkZTQsIGluNSwKLSAgICAgICAgICAgIGluNik7Ci0gIGluNyA9IF9f
bHN4X3ZsZHgoaW5wdXRfdG1wLCBzcmNfc3RyaWRlNik7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3Zz
bGxpX2gsIGluMCwgMiwgaW4xLCAyLCBpbjIsIDIsIGluMywgMiwgaW4wLCBpbjEsIGluMiwgaW4z
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzbGxpX2gsIGluNCwgMiwgaW41LCAyLCBpbjYsIDIsIGlu
NywgMiwgaW40LCBpbjUsIGluNiwgaW43KTsKLQotICBWUDlfRkRDVDgoaW4wLCBpbjEsIGluMiwg
aW4zLCBpbjQsIGluNSwgaW42LCBpbjcsIGluMCwgaW4xLCBpbjIsIGluMywgaW40LAotICAgICAg
ICAgICAgaW41LCBpbjYsIGluNyk7Ci0gIExTWF9UUkFOU1BPU0U4eDhfSChpbjAsIGluMSwgaW4y
LCBpbjMsIGluNCwgaW41LCBpbjYsIGluNywgaW4wLCBpbjEsIGluMiwgaW4zLAotICAgICAgICAg
ICAgICAgICAgICAgaW40LCBpbjUsIGluNiwgaW43KTsKLSAgVlA5X0ZEQ1Q4KGluMCwgaW4xLCBp
bjIsIGluMywgaW40LCBpbjUsIGluNiwgaW43LCBpbjAsIGluMSwgaW4yLCBpbjMsIGluNCwKLSAg
ICAgICAgICAgIGluNSwgaW42LCBpbjcpOwotICBMU1hfVFJBTlNQT1NFOHg4X0goaW4wLCBpbjEs
IGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBpbjcsIGluMCwgaW4xLCBpbjIsIGluMywKLSAgICAg
ICAgICAgICAgICAgICAgIGluNCwgaW41LCBpbjYsIGluNyk7Ci0gIFNSTElfQVZFX1NfNFZfSChp
bjAsIGluMSwgaW4yLCBpbjMsIGluNCwgaW41LCBpbjYsIGluNyk7Ci0KLSAgX19sc3hfdnN0KGlu
MCwgb3V0cHV0LCAwKTsKLSAgX19sc3hfdnN0KGluMSwgb3V0cHV0LCAxNik7Ci0gIF9fbHN4X3Zz
dChpbjIsIG91dHB1dCwgMzIpOwotICBfX2xzeF92c3QoaW4zLCBvdXRwdXQsIDQ4KTsKLSAgX19s
c3hfdnN0KGluNCwgb3V0cHV0LCA2NCk7Ci0gIF9fbHN4X3ZzdChpbjUsIG91dHB1dCwgODApOwot
ICBfX2xzeF92c3QoaW42LCBvdXRwdXQsIDk2KTsKLSAgX19sc3hfdnN0KGluNywgb3V0cHV0LCAx
MTIpOwotfQotCi12b2lkIHZweF9mZGN0MTZ4MTZfbHN4KGNvbnN0IGludDE2X3QgKmlucHV0LCBp
bnQxNl90ICpvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlk
ZSkgewotICBpbnQzMl90IGk7Ci0gIERFQ0xBUkVfQUxJR05FRCgzMiwgaW50MTZfdCwgdG1wX2J1
ZlsxNiAqIDE2XSk7Ci0KLSAgLyogY29sdW1uIHRyYW5zZm9ybSAqLwotICBmb3IgKGkgPSAwOyBp
IDwgMjsgKytpKSB7Ci0gICAgZmRjdDh4MTZfMWRfY29sdW1uKChpbnB1dCArIDggKiBpKSwgKCZ0
bXBfYnVmWzBdICsgOCAqIGkpLCBzcmNfc3RyaWRlKTsKLSAgfQotCi0gIC8qIHJvdyB0cmFuc2Zv
cm0gKi8KLSAgZm9yIChpID0gMDsgaSA8IDI7ICsraSkgewotICAgIGZkY3QxNng4XzFkX3Jvdygo
JnRtcF9idWZbMF0gKyAoMTI4ICogaSkpLCAob3V0cHV0ICsgKDEyOCAqIGkpKSk7Ci0gIH0KLX0K
LSNlbmRpZiAgLy8gIUNPTkZJR19WUDlfSElHSEJJVERFUFRICmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvbG9vbmdhcmNoL2Z3ZF90eGZtX2xzeC5oIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L2xvb25nYXJjaC9md2RfdHhmbV9sc3guaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NGE5ZmNlOWEzZGM0Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25n
YXJjaC9md2RfdHhmbV9sc3guaAorKysgL2Rldi9udWxsCkBAIC0xLDM4MSArMCwwIEBACi0vKgot
ICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlv
bmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAg
aW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1h
eQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNv
dXJjZSB0cmVlLgotICovCi0KLSNpZm5kZWYgVlBYX1ZQWF9EU1BfTE9PTkdBUkNIX0ZXRF9UWEZN
X0xTWF9IXwotI2RlZmluZSBWUFhfVlBYX0RTUF9MT09OR0FSQ0hfRldEX1RYRk1fTFNYX0hfCi0K
LSNpbmNsdWRlICJ2cHhfZHNwL2xvb25nYXJjaC90eGZtX21hY3Jvc19sc3guaCIKLSNpbmNsdWRl
ICJ2cHhfZHNwL3R4Zm1fY29tbW9uLmgiCi0KLSNkZWZpbmUgVlA5X0ZEQ1Q0KGluMCwgaW4xLCBp
bjIsIGluMywgb3V0MCwgb3V0MSwgb3V0Miwgb3V0MykgICAgICAgICAgICAgICAgIFwKLSAgZG8g
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIGNuc3QwX20sIGNuc3QxX20sIGNuc3QyX20s
IGNuc3QzX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHZl
YzBfbSwgdmVjMV9tLCB2ZWMyX20sIHZlYzNfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfX20xMjhpIHZlYzRfbSwgdmVjNV9tLCB2ZWM2X20sIHZlYzdfbTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIGNvZWZmX20gPSB7
IDB4MTg3ZTNiMjFkMmJmMmQ0MSwgMHgwMDAwMDAwMDAwMDBjNGRmIH07ICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBMU1hfQlVUVEVSRkxZXzRfSChpbjAsIGluMSwg
aW4yLCBpbjMsIHZlYzBfbSwgdmVjMV9tLCB2ZWMyX20sIHZlYzNfbSk7ICAgIFwKLSAgICBEVVAy
X0FSRzIoX19sc3hfdmlsdmxfaCwgdmVjMV9tLCB2ZWMwX20sIHZlYzNfbSwgdmVjMl9tLCB2ZWMw
X20sIHZlYzJfbSk7IFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwgY29lZmZfbSwg
MCwgY29lZmZfbSwgMSwgY25zdDBfbSwgY25zdDFfbSk7ICAgIFwKLSAgICBjbnN0MV9tID0gX19s
c3hfdnBhY2tldl9oKGNuc3QxX20sIGNuc3QwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICB2ZWM1X20gPSBfX2xzeF92ZHAyX3dfaCh2ZWMwX20sIGNuc3QxX20pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdnJlcGx2
ZWlfaCwgY29lZmZfbSwgNCwgY29lZmZfbSwgMywgY25zdDJfbSwgY25zdDNfbSk7ICAgIFwKLSAg
ICBjbnN0Ml9tID0gX19sc3hfdnBhY2tldl9oKGNuc3QzX20sIGNuc3QyX20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB2ZWM3X20gPSBfX2xzeF92ZHAyX3dfaCh2ZWMyX20s
IGNuc3QyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICB2ZWM0X20gPSBfX2xzeF92ZHAyX3dfaCh2ZWMwX20sIGNuc3QwX20p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjbnN0Ml9tID0gX19sc3hf
dnJlcGx2ZWlfaChjb2VmZl9tLCAyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBjbnN0Ml9tID0gX19sc3hfdnBhY2tldl9oKGNuc3QyX20sIGNuc3QzX20pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2ZWM2X20gPSBfX2xzeF92ZHAyX3dfaCh2
ZWMyX20sIGNuc3QyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBEVVA0X0FSRzMoX19sc3hfdnNzcmFybmlfaF93LCB2ZWM0
X20sIHZlYzRfbSwgRENUX0NPTlNUX0JJVFMsIHZlYzVfbSwgICAgIFwKLSAgICAgICAgICAgICAg
dmVjNV9tLCBEQ1RfQ09OU1RfQklUUywgdmVjNl9tLCB2ZWM2X20sIERDVF9DT05TVF9CSVRTLCB2
ZWM3X20sIFwKLSAgICAgICAgICAgICAgdmVjN19tLCBEQ1RfQ09OU1RfQklUUywgb3V0MCwgb3V0
Miwgb3V0MSwgb3V0Myk7ICAgICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmlu
ZSBWUDlfRkRDVDgoaW4wLCBpbjEsIGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBpbjcsIG91dDAs
IG91dDEsIG91dDIsIFwKLSAgICAgICAgICAgICAgICAgIG91dDMsIG91dDQsIG91dDUsIG91dDYs
IG91dDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9fbTEyOGkgczBfbSwgczFfbSwgczJfbSwgczNfbSwgczRfbSwgczVfbSwgczZfbTsg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHM3X20sIHgwX20sIHgxX20sIHgy
X20sIHgzX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4
aSBjb2VmZl9tID0geyAweDE4N2UzYjIxZDJiZjJkNDEsIDB4MjM4ZTM1MzcwYzdjM2VjNSB9OyAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAvKiBGRENUIHN0YWdlMSAqLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgTFNYX0JVVFRFUkZMWV84X0goaW4wLCBpbjEsIGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBp
bjcsIHMwX20sIHMxX20sICAgXAotICAgICAgICAgICAgICAgICAgICAgIHMyX20sIHMzX20sIHM0
X20sIHM1X20sIHM2X20sIHM3X20pOyAgICAgICAgICAgICAgICAgIFwKLSAgICBMU1hfQlVUVEVS
RkxZXzRfSChzMF9tLCBzMV9tLCBzMl9tLCBzM19tLCB4MF9tLCB4MV9tLCB4Ml9tLCB4M19tKTsg
ICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2gsIHgxX20sIHgwX20sIHgzX20sIHgy
X20sIHMwX20sIHMyX20pOyAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9o
LCB4MV9tLCB4MF9tLCB4M19tLCB4Ml9tLCBzMV9tLCBzM19tKTsgICAgICAgICAgIFwKLSAgICBE
VVAyX0FSRzIoX19sc3hfdnJlcGx2ZWlfaCwgY29lZmZfbSwgMCwgY29lZmZfbSwgMSwgeDBfbSwg
eDFfbSk7ICAgICAgICBcCi0gICAgeDFfbSA9IF9fbHN4X3ZwYWNrZXZfaCh4MV9tLCB4MF9tKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdI
VF9QQ0tfSChzMF9tLCBzMV9tLCB4MV9tLCBvdXQ0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZyZXBsdmVpX2gs
IGNvZWZmX20sIDIsIGNvZWZmX20sIDMsIHgyX20sIHgzX20pOyAgICAgICAgXAotICAgIHgyX20g
PSBfX2xzeF92bmVnX2goeDJfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICB4Ml9tID0gX19sc3hfdnBhY2tldl9oKHgzX20sIHgyX20pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRE9UX1NISUZUX1JJR0hUX1BD
S19IKHMyX20sIHMzX20sIHgyX20sIG91dDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBET1RfU0hJRlRfUklHSFRfUENLX0goczBfbSwgczFf
bSwgeDBfbSwgb3V0MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeDJfbSA9IF9f
bHN4X3ZyZXBsdmVpX2goY29lZmZfbSwgMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHgyX20gPSBfX2xzeF92cGFja2V2X2goeDJfbSwgeDNfbSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBET1RfU0hJRlRfUklHSFRfUENLX0go
czJfbSwgczNfbSwgeDJfbSwgb3V0Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIC8qIHN0YWdlMiAqLyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzMV9tID0gX19sc3hf
dmlsdmxfaChzNV9tLCBzNl9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgczBfbSA9IF9fbHN4X3ZpbHZoX2goczVfbSwgczZfbSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBET1Rf
U0hJRlRfUklHSFRfUENLX0goczBfbSwgczFfbSwgeDBfbSwgczZfbSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHMwX20sIHMxX20sIHgxX20s
IHM1X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAvKiBzdGFnZTMgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgTFNYX0JVVFRFUkZMWV80X0goczRfbSwgczdfbSwg
czZfbSwgczVfbSwgeDBfbSwgeDNfbSwgeDJfbSwgeDFfbSk7ICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAvKiBzdGFnZTQgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZo
X2gsIHgzX20sIHgwX20sIHgyX20sIHgxX20sIHM0X20sIHM2X20pOyAgICAgICAgICAgXAotICAg
IERVUDJfQVJHMihfX2xzeF92aWx2bF9oLCB4M19tLCB4MF9tLCB4Ml9tLCB4MV9tLCBzNV9tLCBz
N19tKTsgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZyZXBsdmVpX2gsIGNvZWZmX20sIDQsIGNvZWZmX20sIDUsIHgwX20sIHgxX20pOyAgICAg
ICAgXAotICAgIHgxX20gPSBfX2xzeF92cGFja2V2X2goeDBfbSwgeDFfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBET1RfU0hJRlRfUklHSFRfUENLX0goczRf
bSwgczVfbSwgeDFfbSwgb3V0MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZl9tLCA2
LCBjb2VmZl9tLCA3LCB4Ml9tLCB4M19tKTsgICAgICAgIFwKLSAgICB4Ml9tID0gX19sc3hfdnBh
Y2tldl9oKHgzX20sIHgyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHM2X20sIHM3X20sIHgyX20sIG91dDUpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4MV9tID0g
X19sc3hfdnJlcGx2ZWlfaChjb2VmZl9tLCA1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgeDBfbSA9IF9fbHN4X3ZuZWdfaCh4MF9tKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHgwX20gPSBfX2xzeF92cGFja2V2
X2goeDFfbSwgeDBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBET1RfU0hJRlRfUklHSFRfUENLX0goczRfbSwgczVfbSwgeDBfbSwgb3V0Nyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgeDJfbSA9IF9fbHN4X3ZyZXBsdmVpX2goY29lZmZfbSwg
Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHgzX20gPSBfX2xz
eF92bmVnX2goeDNfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICB4Ml9tID0gX19sc3hfdnBhY2tldl9oKHgyX20sIHgzX20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHM2
X20sIHM3X20sIHgyX20sIG91dDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9IHdo
aWxlICgwKQotCi0jZGVmaW5lIFNSTElfQVZFX1NfNFZfSChpbjAsIGluMSwgaW4yLCBpbjMsIGlu
NCwgaW41LCBpbjYsIGluNykgICAgICAgICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfX20xMjhpIHZlYzBfbSwgdmVjMV9tLCB2ZWMyX20sIHZlYzNfbSwgdmVjNF9tLCB2ZWM1X20s
IHZlYzZfbSwgdmVjN19tOyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDRfQVJHMihf
X2xzeF92c3JsaV9oLCBpbjAsIDE1LCBpbjEsIDE1LCBpbjIsIDE1LCBpbjMsIDE1LCB2ZWMwX20s
ICAgIFwKLSAgICAgICAgICAgICAgdmVjMV9tLCB2ZWMyX20sIHZlYzNfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZzcmxpX2gs
IGluNCwgMTUsIGluNSwgMTUsIGluNiwgMTUsIGluNywgMTUsIHZlYzRfbSwgICAgXAotICAgICAg
ICAgICAgICB2ZWM1X20sIHZlYzZfbSwgdmVjN19tKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBEVVA0X0FSRzIoX19sc3hfdmF2Z19oLCB2ZWMwX20sIGluMCwg
dmVjMV9tLCBpbjEsIHZlYzJfbSwgaW4yLCB2ZWMzX20sICBcCi0gICAgICAgICAgICAgIGluMywg
aW4wLCBpbjEsIGluMiwgaW4zKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIERVUDRfQVJHMihfX2xzeF92YXZnX2gsIHZlYzRfbSwgaW40LCB2ZWM1X20sIGluNSwg
dmVjNl9tLCBpbjYsIHZlYzdfbSwgIFwKLSAgICAgICAgICAgICAgaW43LCBpbjQsIGluNSwgaW42
LCBpbjcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUg
KDApCi0KLSNkZWZpbmUgRkRDVDMyX1BPU1RQUk9DXzJWX1BPU19IKHZlYzAsIHZlYzEpIFwKLSAg
ZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhp
IHRwMF9tLCB0cDFfbTsgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIG9uZSA9IF9f
bHN4X3ZyZXBsZ3IydnJfaCgxKTsgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICB0cDBfbSA9IF9fbHN4X3ZzbGVpX2godmVjMCwgMCk7ICAg
ICAgICAgIFwKLSAgICB0cDFfbSA9IF9fbHN4X3ZzbGVpX2godmVjMSwgMCk7ICAgICAgICAgIFwK
LSAgICB0cDBfbSA9IF9fbHN4X3Z4b3JpX2IodHAwX20sIDI1NSk7ICAgICAgIFwKLSAgICB0cDFf
bSA9IF9fbHN4X3Z4b3JpX2IodHAxX20sIDI1NSk7ICAgICAgIFwKLSAgICB2ZWMwID0gX19sc3hf
dmFkZF9oKHZlYzAsIG9uZSk7ICAgICAgICAgIFwKLSAgICB2ZWMxID0gX19sc3hfdmFkZF9oKHZl
YzEsIG9uZSk7ICAgICAgICAgIFwKLSAgICB0cDBfbSA9IF9fbHN4X3ZhbmRfdihvbmUsIHRwMF9t
KTsgICAgICAgIFwKLSAgICB0cDFfbSA9IF9fbHN4X3ZhbmRfdihvbmUsIHRwMV9tKTsgICAgICAg
IFwKLSAgICB2ZWMwID0gX19sc3hfdmFkZF9oKHZlYzAsIHRwMF9tKTsgICAgICAgIFwKLSAgICB2
ZWMxID0gX19sc3hfdmFkZF9oKHZlYzEsIHRwMV9tKTsgICAgICAgIFwKLSAgICB2ZWMwID0gX19s
c3hfdnNyYWlfaCh2ZWMwLCAyKTsgICAgICAgICAgIFwKLSAgICB2ZWMxID0gX19sc3hfdnNyYWlf
aCh2ZWMxLCAyKTsgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBGRENUX1BP
U1RQUk9DXzJWX05FR19IKHZlYzAsIHZlYzEpIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSB0cDBfbSwgdHAxX207ICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fbTEyOGkgb25lX20gPSBfX2xzeF92bGRpKDB4NDAxKTsgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdHAwX20gPSBf
X2xzeF92c2x0aV9oKHZlYzAsIDApOyAgICAgICAgXAotICAgIHRwMV9tID0gX19sc3hfdnNsdGlf
aCh2ZWMxLCAwKTsgICAgICAgIFwKLSAgICB2ZWMwID0gX19sc3hfdmFkZF9oKHZlYzAsIG9uZV9t
KTsgICAgICBcCi0gICAgdmVjMSA9IF9fbHN4X3ZhZGRfaCh2ZWMxLCBvbmVfbSk7ICAgICAgXAot
ICAgIHRwMF9tID0gX19sc3hfdmFuZF92KG9uZV9tLCB0cDBfbSk7ICAgIFwKLSAgICB0cDFfbSA9
IF9fbHN4X3ZhbmRfdihvbmVfbSwgdHAxX20pOyAgICBcCi0gICAgdmVjMCA9IF9fbHN4X3ZhZGRf
aCh2ZWMwLCB0cDBfbSk7ICAgICAgXAotICAgIHZlYzEgPSBfX2xzeF92YWRkX2godmVjMSwgdHAx
X20pOyAgICAgIFwKLSAgICB2ZWMwID0gX19sc3hfdnNyYWlfaCh2ZWMwLCAyKTsgICAgICAgICBc
Ci0gICAgdmVjMSA9IF9fbHN4X3ZzcmFpX2godmVjMSwgMik7ICAgICAgICAgXAotICB9IHdoaWxl
ICgwKQotCi0jZGVmaW5lIEZEQ1QzMl9QT1NUUFJPQ19ORUdfVyh2ZWMpICAgICAgICAgXAotICBk
byB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHRl
bXBfbTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBvbmVfbSA9IF9fbHN4
X3ZyZXBsZ3IydnJfdygxKTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICB0ZW1wX20gPSBfX2xzeF92c2x0aV93KHZlYywgMCk7ICAgICAgICBcCi0g
ICAgdmVjID0gX19sc3hfdmFkZF93KHZlYywgb25lX20pOyAgICAgICAgXAotICAgIHRlbXBfbSA9
IF9fbHN4X3ZhbmRfdihvbmVfbSwgdGVtcF9tKTsgIFwKLSAgICB2ZWMgPSBfX2xzeF92YWRkX3co
dmVjLCB0ZW1wX20pOyAgICAgICBcCi0gICAgdmVjID0gX19sc3hfdnNyYWlfdyh2ZWMsIDIpOyAg
ICAgICAgICAgXAotICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIERPVFBfQ09OU1RfUEFJUl9XKHJl
ZzBfbGVmdCwgcmVnMV9sZWZ0LCByZWcwX3JpZ2h0LCByZWcxX3JpZ2h0LCAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0MCwgY29uc3QxLCBvdXQwLCBvdXQxLCBvdXQyLCBv
dXQzKSAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBz
MF9tLCBzMV9tLCBzMl9tLCBzM19tLCBzNF9tLCBzNV9tLCBzNl9tLCBzN19tOyAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX19tMTI4aSB0cDBfbSwgdHAxX20sIHRwMl9tLCB0cDNfbSwgX3RtcDAs
IF90bXAxOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBrMF9tID0gX19s
c3hfdnJlcGxncjJ2cl93KChpbnQzMl90KWNvbnN0MCk7ICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgczBfbSA9IF9fbHN4X3ZyZXBsZ3IydnJfdygo
aW50MzJfdCljb25zdDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgazBf
bSA9IF9fbHN4X3ZwYWNrZXZfdyhzMF9tLCBrMF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcxKF9f
bHN4X3ZuZWdfdywgcmVnMV9sZWZ0LCByZWcxX3JpZ2h0LCBfdG1wMCwgX3RtcDEpOyAgICAgICAg
ICAgICBcCi0gICAgczFfbSA9IF9fbHN4X3ZpbHZsX3coX3RtcDAsIHJlZzBfbGVmdCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgczBfbSA9IF9fbHN4X3ZpbHZoX3co
X3RtcDAsIHJlZzBfbGVmdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgczNfbSA9IF9fbHN4X3ZpbHZsX3cocmVnMF9sZWZ0LCByZWcxX2xlZnQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgczJfbSA9IF9fbHN4X3ZpbHZoX3cocmVnMF9sZWZ0
LCByZWcxX2xlZnQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgczVfbSA9
IF9fbHN4X3ZpbHZsX3coX3RtcDEsIHJlZzBfcmlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgczRfbSA9IF9fbHN4X3ZpbHZoX3coX3RtcDEsIHJlZzBfcmlnaHQp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgczdfbSA9IF9fbHN4X3Zp
bHZsX3cocmVnMF9yaWdodCwgcmVnMV9yaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgczZfbSA9IF9fbHN4X3ZpbHZoX3cocmVnMF9yaWdodCwgcmVnMV9yaWdodCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfZF93
LCBzMF9tLCBrMF9tLCBzMV9tLCBrMF9tLCB0cDBfbSwgdHAxX20pOyAgICAgICAgICBcCi0gICAg
RFVQMl9BUkcyKF9fbHN4X3ZkcDJfZF93LCBzNF9tLCBrMF9tLCBzNV9tLCBrMF9tLCB0cDJfbSwg
dHAzX20pOyAgICAgICAgICBcCi0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX3dfZCwgdHAw
X20sIHRwMV9tLCBEQ1RfQ09OU1RfQklUUywgdHAyX20sIHRwM19tLCBcCi0gICAgICAgICAgICAg
IERDVF9DT05TVF9CSVRTLCBvdXQwLCBvdXQxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfZF93LCBzMl9tLCBrMF9tLCBzM19t
LCBrMF9tLCB0cDBfbSwgdHAxX20pOyAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3Zk
cDJfZF93LCBzNl9tLCBrMF9tLCBzN19tLCBrMF9tLCB0cDJfbSwgdHAzX20pOyAgICAgICAgICBc
Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX3dfZCwgdHAwX20sIHRwMV9tLCBEQ1RfQ09O
U1RfQklUUywgdHAyX20sIHRwM19tLCBcCi0gICAgICAgICAgICAgIERDVF9DT05TVF9CSVRTLCBv
dXQyLCBvdXQzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hp
bGUgKDApCi0KLSNkZWZpbmUgVlA5X0FEREJMS19TVDh4NF9VQihkc3QsIF9zdHJpZGUsIF9zdHJp
ZGUyLCBfc3RyaWRlMywgaW4wLCBpbjEsIGluMiwgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIGRzdDBfbSwgZHN0MV9tLCBk
c3QyX20sIGRzdDNfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X19tMTI4aSB0bXAwX20sIHRtcDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgcmVzMF9tLCByZXMxX20sIHJlczJfbSwg
cmVzM19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgZHN0MF9tID0gX19sc3hfdmxkKGRzdCwgMCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xz
eF92bGR4LCBkc3QsIF9zdHJpZGUsIGRzdCwgX3N0cmlkZTIsIGRzdDFfbSwgZHN0Ml9tKTsgICAg
ICAgIFwKLSAgICBkc3QzX20gPSBfX2xzeF92bGR4KGRzdCwgX3N0cmlkZTMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZzbGx3
aWxfaHVfYnUsIGRzdDBfbSwgMCwgZHN0MV9tLCAwLCBkc3QyX20sIDAsIGRzdDNfbSwgMCwgXAot
ICAgICAgICAgICAgICByZXMwX20sIHJlczFfbSwgcmVzMl9tLCByZXMzX20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVA0X0FSRzIoX19sc3hfdmFkZF9oLCByZXMw
X20sIGluMCwgcmVzMV9tLCBpbjEsIHJlczJfbSwgaW4yLCByZXMzX20sICAgICBcCi0gICAgICAg
ICAgICAgIGluMywgcmVzMF9tLCByZXMxX20sIHJlczJfbSwgcmVzM19tKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCByZXMx
X20sIHJlczBfbSwgMCwgcmVzM19tLCByZXMyX20sIDAsICAgICAgIFwKLSAgICAgICAgICAgICAg
dG1wMF9tLCB0bXAxX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX19sc3hfdnN0ZWxtX2QodG1wMF9tLCBkc3QsIDAsIDApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbHN4X3ZzdGVsbV9kKHRt
cDBfbSwgZHN0ICsgX3N0cmlkZSwgMCwgMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfX2xzeF92c3RlbG1fZCh0bXAxX20sIGRzdCArIF9zdHJpZGUyLCAwLCAwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19sc3hfdnN0ZWxtX2QodG1wMV9tLCBk
c3QgKyBfc3RyaWRlMywgMCwgMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9
IHdoaWxlICgwKQotCi0jZGVmaW5lIEZEQ1Q4eDE2X0VWRU4oaW4wLCBpbjEsIGluMiwgaW4zLCBp
bjQsIGluNSwgaW42LCBpbjcsIG91dDAsIG91dDEsIFwKLSAgICAgICAgICAgICAgICAgICAgICBv
dXQyLCBvdXQzLCBvdXQ0LCBvdXQ1LCBvdXQ2LCBvdXQ3KSAgICAgICAgICAgICAgICAgXAotICBk
byB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBzMF9tLCBzMV9tLCBzMl9tLCBzM19tLCBzNF9t
LCBzNV9tLCBzNl9tLCBzN19tOyAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHgwX20sIHgx
X20sIHgyX20sIHgzX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9fbTEyOGkgY29lZmZfbSA9IHsgMHgxODdlM2IyMWQyYmYyZDQxLCAweDIzOGUzNTM3MGM3
YzNlYzUgfTsgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAvKiBGRENUIHN0YWdl
MSAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIExTWF9CVVRURVJGTFlfOF9IKGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGlu
NiwgaW43LCBzMF9tLCBzMV9tLCBcCi0gICAgICAgICAgICAgICAgICAgICAgczJfbSwgczNfbSwg
czRfbSwgczVfbSwgczZfbSwgczdfbSk7ICAgICAgICAgICAgICAgIFwKLSAgICBMU1hfQlVUVEVS
RkxZXzRfSChzMF9tLCBzMV9tLCBzMl9tLCBzM19tLCB4MF9tLCB4MV9tLCB4Ml9tLCB4M19tKTsg
ICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9oLCB4MV9tLCB4MF9tLCB4M19tLCB4Ml9t
LCBzMF9tLCBzMl9tKTsgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIHgx
X20sIHgwX20sIHgzX20sIHgyX20sIHMxX20sIHMzX20pOyAgICAgICAgIFwKLSAgICBEVVAyX0FS
RzIoX19sc3hfdnJlcGx2ZWlfaCwgY29lZmZfbSwgMCwgY29lZmZfbSwgMSwgeDBfbSwgeDFfbSk7
ICAgICAgXAotICAgIHgxX20gPSBfX2xzeF92cGFja2V2X2goeDFfbSwgeDBfbSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHMw
X20sIHMxX20sIHgxX20sIG91dDQpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZl9tLCAyLCBj
b2VmZl9tLCAzLCB4Ml9tLCB4M19tKTsgICAgICBcCi0gICAgeDJfbSA9IF9fbHN4X3ZuZWdfaCh4
Ml9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4
Ml9tID0gX19sc3hfdnBhY2tldl9oKHgzX20sIHgyX20pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSChzMl9tLCBzM19tLCB4Ml9t
LCBvdXQ2KTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBET1RfU0hJRlRfUklHSFRfUENLX0goczBfbSwgczFfbSwgeDBfbSwgb3V0MCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIHgyX20gPSBfX2xzeF92cmVwbHZlaV9oKGNvZWZmX20sIDIp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeDJfbSA9IF9fbHN4X3Zw
YWNrZXZfaCh4Ml9tLCB4M19tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBET1RfU0hJRlRfUklHSFRfUENLX0goczJfbSwgczNfbSwgeDJfbSwgb3V0Mik7ICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgLyogc3RhZ2UyICov
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBzMV9tID0gX19sc3hfdmlsdmxfaChzNV9tLCBzNl9tKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIHMwX20gPSBfX2xzeF92aWx2aF9oKHM1X20sIHM2
X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBET1RfU0hJRlRfUklHSFRfUENLX0goczBfbSwgczFfbSwgeDBfbSwgczZfbSk7
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSChzMF9t
LCBzMV9tLCB4MV9tLCBzNV9tKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAvKiBzdGFnZTMgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIExTWF9CVVRURVJGTFlfNF9IKHM0X20s
IHM3X20sIHM2X20sIHM1X20sIHgwX20sIHgzX20sIHgyX20sIHgxX20pOyAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAvKiBzdGFnZTQgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2
aF9oLCB4M19tLCB4MF9tLCB4Ml9tLCB4MV9tLCBzNF9tLCBzNl9tKTsgICAgICAgICBcCi0gICAg
RFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIHgzX20sIHgwX20sIHgyX20sIHgxX20sIHM1X20sIHM3
X20pOyAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92
cmVwbHZlaV9oLCBjb2VmZl9tLCA0LCBjb2VmZl9tLCA1LCB4MF9tLCB4MV9tKTsgICAgICBcCi0g
ICAgeDFfbSA9IF9fbHN4X3ZwYWNrZXZfaCh4MF9tLCB4MV9tKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBET1RfU0hJRlRfUklHSFRfUENLX0goczRfbSwgczVfbSwg
eDFfbSwgb3V0MSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZyZXBsdmVpX2gsIGNvZWZmX20sIDYsIGNvZWZmX20sIDcs
IHgyX20sIHgzX20pOyAgICAgIFwKLSAgICB4Ml9tID0gX19sc3hfdnBhY2tldl9oKHgzX20sIHgy
X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9S
SUdIVF9QQ0tfSChzNl9tLCBzN19tLCB4Ml9tLCBvdXQ1KTsgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4MV9tID0gX19sc3hfdnJlcGx2ZWlfaChjb2Vm
Zl9tLCA1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHgwX20gPSBf
X2xzeF92bmVnX2goeDBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgeDBfbSA9IF9fbHN4X3ZwYWNrZXZfaCh4MV9tLCB4MF9tKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBET1RfU0hJRlRfUklHSFRfUENLX0goczRf
bSwgczVfbSwgeDBfbSwgb3V0Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgeDJfbSA9IF9fbHN4X3ZyZXBsdmVpX2goY29lZmZfbSwgNik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4M19tID0gX19sc3hfdm5lZ19oKHgz
X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHgy
X20gPSBfX2xzeF92cGFja2V2X2goeDJfbSwgeDNfbSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRE9UX1NISUZUX1JJR0hUX1BDS19IKHM2X20sIHM3X20sIHgyX20s
IG91dDMpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmlu
ZSBGRENUOHgxNl9PREQoaW5wdXQwLCBpbnB1dDEsIGlucHV0MiwgaW5wdXQzLCBpbnB1dDQsIGlu
cHV0NSwgaW5wdXQ2LCAgXAotICAgICAgICAgICAgICAgICAgICAgaW5wdXQ3LCBvdXQxLCBvdXQz
LCBvdXQ1LCBvdXQ3LCBvdXQ5LCBvdXQxMSwgb3V0MTMsICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgb3V0MTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgc3RwMjFfbSwgc3Rw
MjJfbSwgc3RwMjNfbSwgc3RwMjRfbSwgc3RwMjVfbSwgc3RwMjZfbTsgICAgICAgICAgICAgXAot
ICAgIF9fbTEyOGkgc3RwMzBfbSwgc3RwMzFfbSwgc3RwMzJfbSwgc3RwMzNfbSwgc3RwMzRfbSwg
c3RwMzVfbTsgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgc3RwMzZfbSwgc3RwMzdfbSwgdmVj
MF9tLCB2ZWMxX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEy
OGkgdmVjMl9tLCB2ZWMzX20sIHZlYzRfbSwgdmVjNV9tLCB2ZWM2X207ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgY25zdDBfbSwgY25zdDFfbSwgY25zdDRfbSwgY25z
dDVfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgY29lZmZf
bSA9IHsgMHgxODdlM2IyMWQyYmYyZDQxLCAweDIzOGUzNTM3ZTc4MmM0ZGYgfTsgICAgICAgICAg
ICAgXAotICAgIF9fbTEyOGkgY29lZmYxX20gPSB7IDB4Mjg5YTMxNzkwNjQ2M2ZiMSwgMHgxMjk0
M2QzZjFlMmIzODcxIH07ICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgY29lZmYyX20gPSB7IDB4
ZWQ2Y2Q3NjZjNzhmYzA0ZiwgMHgwIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIC8qIHN0cCAxICovICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJH
MihfX2xzeF92aWx2aF9oLCBpbnB1dDIsIGlucHV0NSwgaW5wdXQzLCBpbnB1dDQsIHZlYzJfbSwg
dmVjNF9tKTsgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9oLCBpbnB1dDIsIGlucHV0NSwg
aW5wdXQzLCBpbnB1dDQsIHZlYzNfbSwgdmVjNV9tKTsgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIGNuc3Q0X20gPSBfX2xzeF92cmVwbHZlaV9oKGNvZWZmX20sIDApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMy
X20sIHZlYzNfbSwgY25zdDRfbSwgc3RwMjVfbSk7ICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGNuc3Q1X20gPSBfX2xzeF92cmVwbHZlaV9oKGNvZWZmX20s
IDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNuc3Q1X20gPSBf
X2xzeF92cGFja2V2X2goY25zdDVfbSwgY25zdDRfbSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMyX20sIHZlYzNfbSwgY25zdDVf
bSwgc3RwMjJfbSk7ICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tf
SCh2ZWM0X20sIHZlYzVfbSwgY25zdDRfbSwgc3RwMjRfbSk7ICAgICAgICAgICAgICAgICAgXAot
ICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWM0X20sIHZlYzVfbSwgY25zdDVfbSwgc3RwMjNf
bSk7ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC8qIHN0
cDIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIExTWF9CVVRURVJGTFlfNF9IKGlucHV0MCwgaW5wdXQxLCBzdHAy
Ml9tLCBzdHAyM19tLCBzdHAzMF9tLCBzdHAzMV9tLCAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgIHN0cDMyX20sIHN0cDMzX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIExTWF9CVVRURVJGTFlfNF9IKGlucHV0NywgaW5wdXQ2LCBzdHAyNV9tLCBzdHAy
NF9tLCBzdHAzN19tLCBzdHAzNl9tLCAgICAgXAotICAgICAgICAgICAgICAgICAgICAgIHN0cDM1
X20sIHN0cDM0X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9oLCBzdHAzNl9t
LCBzdHAzMV9tLCBzdHAzNV9tLCBzdHAzMl9tLCB2ZWMyX20sICAgICAgXAotICAgICAgICAgICAg
ICB2ZWM0X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9oLCBzdHAzNl9tLCBzdHAzMV9t
LCBzdHAzNV9tLCBzdHAzMl9tLCB2ZWMzX20sICAgICAgXAotICAgICAgICAgICAgICB2ZWM1X20p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9o
LCBjb2VmZl9tLCAyLCBjb2VmZl9tLCAzLCBjbnN0MF9tLCBjbnN0MV9tKTsgICAgXAotICAgIGNu
c3QwX20gPSBfX2xzeF92cGFja2V2X2goY25zdDBfbSwgY25zdDFfbSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMyX20sIHZlYzNf
bSwgY25zdDBfbSwgc3RwMjZfbSk7ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIGNuc3QwX20gPSBfX2xzeF92cmVwbHZlaV9oKGNvZWZmX20sIDQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNuc3QxX20gPSBfX2xzeF92cGFj
a2V2X2goY25zdDFfbSwgY25zdDBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMyX20sIHZlYzNfbSwgY25zdDFfbSwgc3RwMjFf
bSk7ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJf
QVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZl9tLCA1LCBjb2VmZl9tLCAyLCBjbnN0MF9tLCBj
bnN0MV9tKTsgICAgXAotICAgIGNuc3QxX20gPSBfX2xzeF92cGFja2V2X2goY25zdDBfbSwgY25z
dDFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdI
VF9QQ0tfSCh2ZWM0X20sIHZlYzVfbSwgY25zdDFfbSwgc3RwMjVfbSk7ICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNuc3QwX20gPSBfX2xzeF92cmVwbHZl
aV9oKGNvZWZmX20sIDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGNuc3QxX20gPSBfX2xzeF92cGFja2V2X2goY25zdDFfbSwgY25zdDBfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWM0X20sIHZl
YzVfbSwgY25zdDFfbSwgc3RwMjJfbSk7ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIC8qIHN0cDQgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIExTWF9CVVRURVJGTFlfNF9I
KHN0cDMwX20sIHN0cDM3X20sIHN0cDI2X20sIHN0cDIxX20sIHZlYzZfbSwgdmVjMl9tLCAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgIHZlYzRfbSwgdmVjNV9tKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIExTWF9CVVRURVJGTFlfNF9IKHN0cDMzX20s
IHN0cDM0X20sIHN0cDI1X20sIHN0cDIyX20sIHN0cDIxX20sIHN0cDIzX20sICAgXAotICAgICAg
ICAgICAgICAgICAgICAgIHN0cDI0X20sIHN0cDMxX20pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZlYzFfbSA9IF9f
bHN4X3ZpbHZsX2godmVjMl9tLCB2ZWM2X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHZlYzBfbSA9IF9fbHN4X3ZpbHZoX2godmVjMl9tLCB2ZWM2X20pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92cmVw
bHZlaV9oLCBjb2VmZjFfbSwgMCwgY29lZmYxX20sIDEsIGNuc3QwX20sIGNuc3QxX20pOyAgXAot
ICAgIGNuc3QwX20gPSBfX2xzeF92cGFja2V2X2goY25zdDBfbSwgY25zdDFfbSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9T
SElGVF9SSUdIVF9QQ0tfSCh2ZWMwX20sIHZlYzFfbSwgY25zdDBfbSwgb3V0MSk7ICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNuc3QwX20gPSBfX2xz
eF92cmVwbHZlaV9oKGNvZWZmMl9tLCAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGNuc3QwX20gPSBfX2xzeF92cGFja2V2X2goY25zdDFfbSwgY25zdDBfbSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2
ZWMwX20sIHZlYzFfbSwgY25zdDBfbSwgb3V0MTUpOyAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHZlYzFfbSA9IF9fbHN4X3ZpbHZsX2godmVjNF9tLCB2
ZWM1X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZlYzBfbSA9
IF9fbHN4X3ZpbHZoX2godmVjNF9tLCB2ZWM1X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZjFfbSwgMiwg
Y29lZmYxX20sIDMsIGNuc3QwX20sIGNuc3QxX20pOyAgXAotICAgIGNuc3QxX20gPSBfX2xzeF92
cGFja2V2X2goY25zdDFfbSwgY25zdDBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMw
X20sIHZlYzFfbSwgY25zdDFfbSwgb3V0OSk7ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGNuc3QxX20gPSBfX2xzeF92cmVwbHZlaV9oKGNvZWZmMl9t
LCAyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNuc3QwX20gPSBf
X2xzeF92cGFja2V2X2goY25zdDBfbSwgY25zdDFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMwX20sIHZlYzFfbSwgY25zdDBf
bSwgb3V0Nyk7ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHZlYzFfbSA9IF9fbHN4X3ZpbHZsX2goc3RwMjNfbSwgc3RwMjFfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZlYzBfbSA9IF9fbHN4X3ZpbHZoX2goc3RwMjNf
bSwgc3RwMjFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJf
QVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZjFfbSwgNCwgY29lZmYxX20sIDUsIGNuc3QwX20s
IGNuc3QxX20pOyAgXAotICAgIGNuc3QwX20gPSBfX2xzeF92cGFja2V2X2goY25zdDBfbSwgY25z
dDFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdI
VF9QQ0tfSCh2ZWMwX20sIHZlYzFfbSwgY25zdDBfbSwgb3V0NSk7ICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNuc3QwX20gPSBfX2xzeF92cmVwbHZl
aV9oKGNvZWZmMl9tLCAxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGNuc3QwX20gPSBfX2xzeF92cGFja2V2X2goY25zdDFfbSwgY25zdDBfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMwX20sIHZl
YzFfbSwgY25zdDBfbSwgb3V0MTEpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHZlYzFfbSA9IF9fbHN4X3ZpbHZsX2goc3RwMjRfbSwgc3RwMzFfbSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZlYzBfbSA9IF9fbHN4X3Zp
bHZoX2goc3RwMjRfbSwgc3RwMzFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV9oLCBjb2VmZjFfbSwgNiwgY29lZmYxX20s
IDcsIGNuc3QwX20sIGNuc3QxX20pOyAgXAotICAgIGNuc3QxX20gPSBfX2xzeF92cGFja2V2X2go
Y25zdDFfbSwgY25zdDBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMwX20sIHZlYzFf
bSwgY25zdDFfbSwgb3V0MTMpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIGNuc3QxX20gPSBfX2xzeF92cmVwbHZlaV9oKGNvZWZmMl9tLCAzKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNuc3QwX20gPSBfX2xzeF92cGFj
a2V2X2goY25zdDBfbSwgY25zdDFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIERPVF9TSElGVF9SSUdIVF9QQ0tfSCh2ZWMwX20sIHZlYzFfbSwgY25zdDBfbSwgb3V0Myk7
ICAgICAgICAgICAgICAgICAgICAgXAotICB9IHdoaWxlICgwKQotCi12b2lkIGZkY3Q4eDE2XzFk
X2NvbHVtbihjb25zdCBpbnQxNl90ICppbnB1dCwgaW50MTZfdCAqdG1wX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSk7Ci12b2lkIGZkY3QxNng4XzFkX3Jv
dyhpbnQxNl90ICppbnB1dCwgaW50MTZfdCAqb3V0cHV0KTsKLSNlbmRpZiAgLy8gVlBYX1ZQWF9E
U1BfTE9PTkdBUkNIX0ZXRF9UWEZNX0xTWF9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2xvb25nYXJjaC9pZGN0MzJ4MzJfbHN4LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdh
cmNoL2lkY3QzMngzMl9sc3guYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWMwN2Y1
N2Q5MDVjLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9p
ZGN0MzJ4MzJfbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSw4MzQgKzAsMCBAQAotLyoKLSAqICBD
b3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBp
bnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRo
ZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAq
ICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2Ug
dHJlZS4KLSAqLwotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhf
ZHNwL2xvb25nYXJjaC9md2RfdHhmbV9sc3guaCIKLQotI2RlZmluZSBVTlBDS19VQl9TSChfaW4s
IF9vdXQwLCBfb3V0MSkgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBfb3V0MCA9IF9fbHN4X3ZzbGx3aWxfaHVfYnUoX2luLCAwKTsgXAotICAgIF9v
dXQxID0gX19sc3hfdmV4dGhfaHVfYnUoX2luKTsgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLXN0
YXRpYyB2b2lkIGlkY3QzMng4X3Jvd190cmFuc3Bvc2Vfc3RvcmUoY29uc3QgaW50MTZfdCAqaW5w
dXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QgKnRt
cF9idWYpIHsKLSAgX19tMTI4aSBtMCwgbTEsIG0yLCBtMywgbTQsIG01LCBtNiwgbTc7Ci0gIF9f
bTEyOGkgbjAsIG4xLCBuMiwgbjMsIG40LCBuNSwgbjYsIG43OwotCi0gIC8qIDFzdCAmIDJuZCA4
eDggKi8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDAsIGlucHV0LCA2NCwgaW5wdXQs
IDEyOCwgaW5wdXQsIDE5MiwgbTAsIG4wLCBtMSwKLSAgICAgICAgICAgIG4xKTsKLSAgRFVQNF9B
UkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDI1NiwgaW5wdXQsIDMyMCwgaW5wdXQsIDM4NCwgaW5wdXQs
IDQ0OCwgbTIsIG4yLAotICAgICAgICAgICAgbTMsIG4zKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgaW5wdXQsIDE2LCBpbnB1dCwgODAsIGlucHV0LCAxNDQsIGlucHV0LCAyMDgsIG00LCBuNCwg
bTUsCi0gICAgICAgICAgICBuNSk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIGlucHV0LCAyNzIs
IGlucHV0LCAzMzYsIGlucHV0LCA0MDAsIGlucHV0LCA0NjQsIG02LCBuNiwKLSAgICAgICAgICAg
IG03LCBuNyk7Ci0KLSAgTFNYX1RSQU5TUE9TRTh4OF9IKG0wLCBuMCwgbTEsIG4xLCBtMiwgbjIs
IG0zLCBuMywgbTAsIG4wLCBtMSwgbjEsIG0yLCBuMiwgbTMsCi0gICAgICAgICAgICAgICAgICAg
ICBuMyk7Ci0gIExTWF9UUkFOU1BPU0U4eDhfSChtNCwgbjQsIG01LCBuNSwgbTYsIG42LCBtNywg
bjcsIG00LCBuNCwgbTUsIG41LCBtNiwgbjYsIG03LAotICAgICAgICAgICAgICAgICAgICAgbjcp
OwotCi0gIF9fbHN4X3ZzdChtMCwgdG1wX2J1ZiwgMCk7Ci0gIF9fbHN4X3ZzdChuMCwgdG1wX2J1
ZiwgMTYpOwotICBfX2xzeF92c3QobTEsIHRtcF9idWYsIDMyKTsKLSAgX19sc3hfdnN0KG4xLCB0
bXBfYnVmLCA0OCk7Ci0gIF9fbHN4X3ZzdChtMiwgdG1wX2J1ZiwgNjQpOwotICBfX2xzeF92c3Qo
bjIsIHRtcF9idWYsIDgwKTsKLSAgX19sc3hfdnN0KG0zLCB0bXBfYnVmLCA5Nik7Ci0gIF9fbHN4
X3ZzdChuMywgdG1wX2J1ZiwgMTEyKTsKLSAgX19sc3hfdnN0KG00LCB0bXBfYnVmLCAxMjgpOwot
ICBfX2xzeF92c3QobjQsIHRtcF9idWYsIDE0NCk7Ci0gIF9fbHN4X3ZzdChtNSwgdG1wX2J1Ziwg
MTYwKTsKLSAgX19sc3hfdnN0KG41LCB0bXBfYnVmLCAxNzYpOwotICBfX2xzeF92c3QobTYsIHRt
cF9idWYsIDE5Mik7Ci0gIF9fbHN4X3ZzdChuNiwgdG1wX2J1ZiwgMjA4KTsKLSAgX19sc3hfdnN0
KG03LCB0bXBfYnVmLCAyMjQpOwotICBfX2xzeF92c3QobjcsIHRtcF9idWYsIDI0MCk7Ci0KLSAg
LyogM3JkICYgNHRoIDh4OCAqLwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCBpbnB1dCwgMzIsIGlu
cHV0LCA5NiwgaW5wdXQsIDE2MCwgaW5wdXQsIDIyNCwgbTAsIG4wLCBtMSwKLSAgICAgICAgICAg
IG4xKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDI4OCwgaW5wdXQsIDM1MiwgaW5w
dXQsIDQxNiwgaW5wdXQsIDQ4MCwgbTIsIG4yLAotICAgICAgICAgICAgbTMsIG4zKTsKLSAgRFVQ
NF9BUkcyKF9fbHN4X3ZsZCwgaW5wdXQsIDQ4LCBpbnB1dCwgMTEyLCBpbnB1dCwgMTc2LCBpbnB1
dCwgMjQwLCBtNCwgbjQsCi0gICAgICAgICAgICBtNSwgbjUpOwotICBEVVA0X0FSRzIoX19sc3hf
dmxkLCBpbnB1dCwgMzA0LCBpbnB1dCwgMzY4LCBpbnB1dCwgNDMyLCBpbnB1dCwgNDk2LCBtNiwg
bjYsCi0gICAgICAgICAgICBtNywgbjcpOwotCi0gIExTWF9UUkFOU1BPU0U4eDhfSChtMCwgbjAs
IG0xLCBuMSwgbTIsIG4yLCBtMywgbjMsIG0wLCBuMCwgbTEsIG4xLCBtMiwgbjIsIG0zLAotICAg
ICAgICAgICAgICAgICAgICAgbjMpOwotICBMU1hfVFJBTlNQT1NFOHg4X0gobTQsIG40LCBtNSwg
bjUsIG02LCBuNiwgbTcsIG43LCBtNCwgbjQsIG01LCBuNSwgbTYsIG42LCBtNywKLSAgICAgICAg
ICAgICAgICAgICAgIG43KTsKLQotICBfX2xzeF92c3QobTAsIHRtcF9idWYsIDI1Nik7Ci0gIF9f
bHN4X3ZzdChuMCwgdG1wX2J1ZiwgMjcyKTsKLSAgX19sc3hfdnN0KG0xLCB0bXBfYnVmLCAyODgp
OwotICBfX2xzeF92c3QobjEsIHRtcF9idWYsIDMwNCk7Ci0gIF9fbHN4X3ZzdChtMiwgdG1wX2J1
ZiwgMzIwKTsKLSAgX19sc3hfdnN0KG4yLCB0bXBfYnVmLCAzMzYpOwotICBfX2xzeF92c3QobTMs
IHRtcF9idWYsIDM1Mik7Ci0gIF9fbHN4X3ZzdChuMywgdG1wX2J1ZiwgMzY4KTsKLSAgX19sc3hf
dnN0KG00LCB0bXBfYnVmLCAzODQpOwotICBfX2xzeF92c3QobjQsIHRtcF9idWYsIDQwMCk7Ci0g
IF9fbHN4X3ZzdChtNSwgdG1wX2J1ZiwgNDE2KTsKLSAgX19sc3hfdnN0KG41LCB0bXBfYnVmLCA0
MzIpOwotICBfX2xzeF92c3QobTYsIHRtcF9idWYsIDQ0OCk7Ci0gIF9fbHN4X3ZzdChuNiwgdG1w
X2J1ZiwgNDY0KTsKLSAgX19sc3hfdnN0KG03LCB0bXBfYnVmLCA0ODApOwotICBfX2xzeF92c3Qo
bjcsIHRtcF9idWYsIDQ5Nik7Ci19Ci0KLXN0YXRpYyB2b2lkIGlkY3QzMng4X3Jvd19ldmVuX3By
b2Nlc3Nfc3RvcmUoaW50MTZfdCAqdG1wX2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50MTZfdCAqdG1wX2V2ZV9idWYpIHsKLSAgX19tMTI4aSB2ZWMw
LCB2ZWMxLCB2ZWMyLCB2ZWMzLCBsb2MwLCBsb2MxLCBsb2MyLCBsb2MzOwotICBfX20xMjhpIHJl
ZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzUsIHJlZzYsIHJlZzc7Ci0gIF9fbTEyOGkg
c3RwMCwgc3RwMSwgc3RwMiwgc3RwMywgc3RwNCwgc3RwNSwgc3RwNiwgc3RwNzsKLSAgX19tMTI4
aSB0bXAwOwotCi0gIC8qIEV2ZW4gc3RhZ2UgMSAqLwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0
bXBfYnVmLCAwLCB0bXBfYnVmLCA2NCwgdG1wX2J1ZiwgMTI4LCB0bXBfYnVmLCAxOTIsCi0gICAg
ICAgICAgICByZWcwLCByZWcxLCByZWcyLCByZWczKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwg
dG1wX2J1ZiwgMjU2LCB0bXBfYnVmLCAzMjAsIHRtcF9idWYsIDM4NCwgdG1wX2J1ZiwgNDQ4LAot
ICAgICAgICAgICAgcmVnNCwgcmVnNSwgcmVnNiwgcmVnNyk7Ci0KLSAgRE9UUF9DT05TVF9QQUlS
KHJlZzEsIHJlZzcsIGNvc3BpXzI4XzY0LCBjb3NwaV80XzY0LCByZWcxLCByZWc3KTsKLSAgRE9U
UF9DT05TVF9QQUlSKHJlZzUsIHJlZzMsIGNvc3BpXzEyXzY0LCBjb3NwaV8yMF82NCwgcmVnNSwg
cmVnMyk7Ci0gIExTWF9CVVRURVJGTFlfNF9IKHJlZzEsIHJlZzcsIHJlZzMsIHJlZzUsIHZlYzEs
IHZlYzMsIHZlYzIsIHZlYzApOwotICBET1RQX0NPTlNUX1BBSVIodmVjMiwgdmVjMCwgY29zcGlf
MTZfNjQsIGNvc3BpXzE2XzY0LCBsb2MyLCBsb2MzKTsKLQotICBsb2MxID0gdmVjMzsKLSAgbG9j
MCA9IHZlYzE7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKHJlZzAsIHJlZzQsIGNvc3BpXzE2XzY0LCBj
b3NwaV8xNl82NCwgcmVnMCwgcmVnNCk7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWcyLCByZWc2LCBj
b3NwaV8yNF82NCwgY29zcGlfOF82NCwgcmVnMiwgcmVnNik7Ci0gIExTWF9CVVRURVJGTFlfNF9I
KHJlZzQsIHJlZzAsIHJlZzIsIHJlZzYsIHZlYzEsIHZlYzMsIHZlYzIsIHZlYzApOwotICBMU1hf
QlVUVEVSRkxZXzRfSCh2ZWMwLCB2ZWMxLCBsb2MxLCBsb2MwLCBzdHAzLCBzdHAwLCBzdHA3LCBz
dHA0KTsKLSAgTFNYX0JVVFRFUkZMWV80X0godmVjMiwgdmVjMywgbG9jMywgbG9jMiwgc3RwMiwg
c3RwMSwgc3RwNiwgc3RwNSk7Ci0KLSAgLyogRXZlbiBzdGFnZSAyICovCi0gIERVUDRfQVJHMihf
X2xzeF92bGQsIHRtcF9idWYsIDMyLCB0bXBfYnVmLCA5NiwgdG1wX2J1ZiwgMTYwLCB0bXBfYnVm
LCAyMjQsCi0gICAgICAgICAgICByZWcwLCByZWcxLCByZWcyLCByZWczKTsKLSAgRFVQNF9BUkcy
KF9fbHN4X3ZsZCwgdG1wX2J1ZiwgMjg4LCB0bXBfYnVmLCAzNTIsIHRtcF9idWYsIDQxNiwgdG1w
X2J1ZiwgNDgwLAotICAgICAgICAgICAgcmVnNCwgcmVnNSwgcmVnNiwgcmVnNyk7Ci0gIERPVFBf
Q09OU1RfUEFJUihyZWcwLCByZWc3LCBjb3NwaV8zMF82NCwgY29zcGlfMl82NCwgcmVnMCwgcmVn
Nyk7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc0LCByZWczLCBjb3NwaV8xNF82NCwgY29zcGlfMThf
NjQsIHJlZzQsIHJlZzMpOwotICBET1RQX0NPTlNUX1BBSVIocmVnMiwgcmVnNSwgY29zcGlfMjJf
NjQsIGNvc3BpXzEwXzY0LCByZWcyLCByZWc1KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJlZzYsIHJl
ZzEsIGNvc3BpXzZfNjQsIGNvc3BpXzI2XzY0LCByZWc2LCByZWcxKTsKLQotICB2ZWMwID0gX19s
c3hfdmFkZF9oKHJlZzAsIHJlZzQpOwotICByZWcwID0gX19sc3hfdnN1Yl9oKHJlZzAsIHJlZzQp
OwotICByZWc0ID0gX19sc3hfdmFkZF9oKHJlZzYsIHJlZzIpOwotICByZWc2ID0gX19sc3hfdnN1
Yl9oKHJlZzYsIHJlZzIpOwotICByZWcyID0gX19sc3hfdmFkZF9oKHJlZzEsIHJlZzUpOwotICBy
ZWcxID0gX19sc3hfdnN1Yl9oKHJlZzEsIHJlZzUpOwotICByZWc1ID0gX19sc3hfdmFkZF9oKHJl
ZzcsIHJlZzMpOwotICByZWc3ID0gX19sc3hfdnN1Yl9oKHJlZzcsIHJlZzMpOwotICByZWczID0g
dmVjMDsKLQotICB2ZWMxID0gcmVnMjsKLSAgcmVnMiA9IF9fbHN4X3ZhZGRfaChyZWczLCByZWc0
KTsKLSAgcmVnMyA9IF9fbHN4X3ZzdWJfaChyZWczLCByZWc0KTsKLSAgcmVnNCA9IF9fbHN4X3Zz
dWJfaChyZWc1LCB2ZWMxKTsKLSAgcmVnNSA9IF9fbHN4X3ZhZGRfaChyZWc1LCB2ZWMxKTsKLQot
ICB0bXAwID0gX19sc3hfdm5lZ19oKHJlZzYpOwotICBET1RQX0NPTlNUX1BBSVIocmVnNywgcmVn
MCwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIHJlZzAsIHJlZzcpOwotICBET1RQX0NPTlNUX1BB
SVIodG1wMCwgcmVnMSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsIHJlZzYsIHJlZzEpOwotCi0g
IHZlYzAgPSBfX2xzeF92c3ViX2gocmVnMCwgcmVnNik7Ci0gIHJlZzAgPSBfX2xzeF92YWRkX2go
cmVnMCwgcmVnNik7Ci0gIHZlYzEgPSBfX2xzeF92c3ViX2gocmVnNywgcmVnMSk7Ci0gIHJlZzcg
PSBfX2xzeF92YWRkX2gocmVnNywgcmVnMSk7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKHZlYzEsIHZl
YzAsIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgcmVnNiwgcmVnMSk7Ci0gIERPVFBfQ09OU1Rf
UEFJUihyZWc0LCByZWczLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIHJlZzMsIHJlZzQpOwot
Ci0gIC8qIEV2ZW4gc3RhZ2UgMyA6IERlcGVuZGVuY3kgb24gRXZlbiBzdGFnZSAxICYgRXZlbiBz
dGFnZSAyICovCi0gIExTWF9CVVRURVJGTFlfNF9IKHN0cDAsIHN0cDEsIHJlZzcsIHJlZzUsIGxv
YzEsIGxvYzMsIGxvYzIsIGxvYzApOwotICBfX2xzeF92c3QobG9jMCwgdG1wX2V2ZV9idWYsIDI0
MCk7Ci0gIF9fbHN4X3ZzdChsb2MxLCB0bXBfZXZlX2J1ZiwgMCk7Ci0gIF9fbHN4X3ZzdChsb2My
LCB0bXBfZXZlX2J1ZiwgMjI0KTsKLSAgX19sc3hfdnN0KGxvYzMsIHRtcF9ldmVfYnVmLCAxNik7
Ci0KLSAgTFNYX0JVVFRFUkZMWV80X0goc3RwMiwgc3RwMywgcmVnNCwgcmVnMSwgbG9jMSwgbG9j
MywgbG9jMiwgbG9jMCk7Ci0gIF9fbHN4X3ZzdChsb2MwLCB0bXBfZXZlX2J1ZiwgMjA4KTsKLSAg
X19sc3hfdnN0KGxvYzEsIHRtcF9ldmVfYnVmLCAzMik7Ci0gIF9fbHN4X3ZzdChsb2MyLCB0bXBf
ZXZlX2J1ZiwgMTkyKTsKLSAgX19sc3hfdnN0KGxvYzMsIHRtcF9ldmVfYnVmLCA0OCk7Ci0KLSAg
LyogU3RvcmUgOCAqLwotICBMU1hfQlVUVEVSRkxZXzRfSChzdHA0LCBzdHA1LCByZWc2LCByZWcz
LCBsb2MxLCBsb2MzLCBsb2MyLCBsb2MwKTsKLSAgX19sc3hfdnN0KGxvYzAsIHRtcF9ldmVfYnVm
LCAxNzYpOwotICBfX2xzeF92c3QobG9jMSwgdG1wX2V2ZV9idWYsIDY0KTsKLSAgX19sc3hfdnN0
KGxvYzIsIHRtcF9ldmVfYnVmLCAxNjApOwotICBfX2xzeF92c3QobG9jMywgdG1wX2V2ZV9idWYs
IDgwKTsKLQotICBMU1hfQlVUVEVSRkxZXzRfSChzdHA2LCBzdHA3LCByZWcyLCByZWcwLCBsb2Mx
LCBsb2MzLCBsb2MyLCBsb2MwKTsKLSAgX19sc3hfdnN0KGxvYzAsIHRtcF9ldmVfYnVmLCAxNDQp
OwotICBfX2xzeF92c3QobG9jMSwgdG1wX2V2ZV9idWYsIDk2KTsKLSAgX19sc3hfdnN0KGxvYzIs
IHRtcF9ldmVfYnVmLCAxMjgpOwotICBfX2xzeF92c3QobG9jMywgdG1wX2V2ZV9idWYsIDExMik7
Ci19Ci0KLXN0YXRpYyB2b2lkIGlkY3QzMng4X3Jvd19vZGRfcHJvY2Vzc19zdG9yZShpbnQxNl90
ICp0bXBfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dDE2X3QgKnRtcF9vZGRfYnVmKSB7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywg
bG9jMCwgbG9jMSwgbG9jMiwgbG9jMzsKLSAgX19tMTI4aSByZWcwLCByZWcxLCByZWcyLCByZWcz
LCByZWc0LCByZWc1LCByZWc2LCByZWc3OwotCi0gIC8qIE9kZCBzdGFnZSAxICovCi0gIERVUDRf
QVJHMihfX2xzeF92bGQsIHRtcF9idWYsIDE2LCB0bXBfYnVmLCAxMTIsIHRtcF9idWYsIDE0NCwg
dG1wX2J1ZiwgMjQwLAotICAgICAgICAgICAgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMyk7Ci0gIERV
UDRfQVJHMihfX2xzeF92bGQsIHRtcF9idWYsIDI3MiwgdG1wX2J1ZiwgMzY4LCB0bXBfYnVmLCA0
MDAsIHRtcF9idWYsIDQ5NiwKLSAgICAgICAgICAgIHJlZzQsIHJlZzUsIHJlZzYsIHJlZzcpOwot
Ci0gIERPVFBfQ09OU1RfUEFJUihyZWcwLCByZWc3LCBjb3NwaV8zMV82NCwgY29zcGlfMV82NCwg
cmVnMCwgcmVnNyk7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc0LCByZWczLCBjb3NwaV8xNV82NCwg
Y29zcGlfMTdfNjQsIHJlZzMsIHJlZzQpOwotICBET1RQX0NPTlNUX1BBSVIocmVnMiwgcmVnNSwg
Y29zcGlfMjNfNjQsIGNvc3BpXzlfNjQsIHJlZzIsIHJlZzUpOwotICBET1RQX0NPTlNUX1BBSVIo
cmVnNiwgcmVnMSwgY29zcGlfN182NCwgY29zcGlfMjVfNjQsIHJlZzEsIHJlZzYpOwotCi0gIHZl
YzAgPSBfX2xzeF92YWRkX2gocmVnMCwgcmVnMyk7Ci0gIHJlZzAgPSBfX2xzeF92c3ViX2gocmVn
MCwgcmVnMyk7Ci0gIHJlZzMgPSBfX2xzeF92YWRkX2gocmVnNywgcmVnNCk7Ci0gIHJlZzcgPSBf
X2xzeF92c3ViX2gocmVnNywgcmVnNCk7Ci0gIHJlZzQgPSBfX2xzeF92YWRkX2gocmVnMSwgcmVn
Mik7Ci0gIHJlZzEgPSBfX2xzeF92c3ViX2gocmVnMSwgcmVnMik7Ci0gIHJlZzIgPSBfX2xzeF92
YWRkX2gocmVnNiwgcmVnNSk7Ci0gIHJlZzYgPSBfX2xzeF92c3ViX2gocmVnNiwgcmVnNSk7Ci0g
IHJlZzUgPSB2ZWMwOwotCi0gIC8qIDQgU3RvcmVzICovCi0gIERVUDJfQVJHMihfX2xzeF92YWRk
X2gsIHJlZzUsIHJlZzQsIHJlZzMsIHJlZzIsIHZlYzAsIHZlYzEpOwotICBfX2xzeF92c3QodmVj
MCwgdG1wX29kZF9idWYsIDY0KTsKLSAgX19sc3hfdnN0KHZlYzEsIHRtcF9vZGRfYnVmLCA4MCk7
Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgcmVnNSwgcmVnNCwgcmVnMywgcmVnMiwgdmVj
MCwgdmVjMSk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWMxLCB2ZWMwLCBjb3NwaV8yNF82NCwgY29z
cGlfOF82NCwgdmVjMCwgdmVjMSk7Ci0gIF9fbHN4X3ZzdCh2ZWMwLCB0bXBfb2RkX2J1ZiwgMCk7
Ci0gIF9fbHN4X3ZzdCh2ZWMxLCB0bXBfb2RkX2J1ZiwgMTYpOwotCi0gIC8qIDQgU3RvcmVzICov
Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc3LCByZWcwLCBjb3NwaV8yOF82NCwgY29zcGlfNF82NCwg
cmVnMCwgcmVnNyk7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc2LCByZWcxLCAtY29zcGlfNF82NCwg
Y29zcGlfMjhfNjQsIHJlZzEsIHJlZzYpOwotICBMU1hfQlVUVEVSRkxZXzRfSChyZWcwLCByZWc3
LCByZWc2LCByZWcxLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgX19sc3hfdnN0KHZlYzAs
IHRtcF9vZGRfYnVmLCA5Nik7Ci0gIF9fbHN4X3ZzdCh2ZWMxLCB0bXBfb2RkX2J1ZiwgMTEyKTsK
LQotICBET1RQX0NPTlNUX1BBSVIodmVjMiwgdmVjMywgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQs
IHZlYzIsIHZlYzMpOwotICBfX2xzeF92c3QodmVjMiwgdG1wX29kZF9idWYsIDMyKTsKLSAgX19s
c3hfdnN0KHZlYzMsIHRtcF9vZGRfYnVmLCA0OCk7Ci0KLSAgLyogT2RkIHN0YWdlIDIgKi8KLSAg
LyogOCBsb2FkcyAqLwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfYnVmLCA0OCwgdG1wX2J1
ZiwgODAsIHRtcF9idWYsIDE3NiwgdG1wX2J1ZiwgMjA4LAotICAgICAgICAgICAgcmVnMCwgcmVn
MSwgcmVnMiwgcmVnMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9idWYsIDMwNCwgdG1w
X2J1ZiwgMzM2LCB0bXBfYnVmLCA0MzIsIHRtcF9idWYsIDQ2NCwKLSAgICAgICAgICAgIHJlZzQs
IHJlZzUsIHJlZzYsIHJlZzcpOwotCi0gIERPVFBfQ09OU1RfUEFJUihyZWcxLCByZWc2LCBjb3Nw
aV8yN182NCwgY29zcGlfNV82NCwgcmVnMSwgcmVnNik7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc1
LCByZWcyLCBjb3NwaV8xMV82NCwgY29zcGlfMjFfNjQsIHJlZzIsIHJlZzUpOwotICBET1RQX0NP
TlNUX1BBSVIocmVnMywgcmVnNCwgY29zcGlfMTlfNjQsIGNvc3BpXzEzXzY0LCByZWczLCByZWc0
KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJlZzcsIHJlZzAsIGNvc3BpXzNfNjQsIGNvc3BpXzI5XzY0
LCByZWcwLCByZWc3KTsKLQotICAvKiA0IFN0b3JlcyAqLwotICBEVVA0X0FSRzIoX19sc3hfdnN1
Yl9oLCByZWcxLCByZWcyLCByZWc2LCByZWc1LCByZWcwLCByZWczLCByZWc3LCByZWc0LCB2ZWMw
LAotICAgICAgICAgICAgdmVjMSwgdmVjMiwgdmVjMyk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWMx
LCB2ZWMwLCBjb3NwaV8xMl82NCwgY29zcGlfMjBfNjQsIGxvYzAsIGxvYzEpOwotICBET1RQX0NP
TlNUX1BBSVIodmVjMywgdmVjMiwgLWNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCwgbG9jMiwgbG9j
Myk7Ci0KLSAgTFNYX0JVVFRFUkZMWV80X0gobG9jMywgbG9jMiwgbG9jMCwgbG9jMSwgdmVjMSwg
dmVjMCwgdmVjMiwgdmVjMyk7Ci0gIF9fbHN4X3ZzdCh2ZWMwLCB0bXBfb2RkX2J1ZiwgMTkyKTsK
LSAgX19sc3hfdnN0KHZlYzEsIHRtcF9vZGRfYnVmLCAyNDApOwotCi0gIERPVFBfQ09OU1RfUEFJ
Uih2ZWMzLCB2ZWMyLCAtY29zcGlfOF82NCwgY29zcGlfMjRfNjQsIHZlYzAsIHZlYzEpOwotICBf
X2xzeF92c3QodmVjMCwgdG1wX29kZF9idWYsIDE2MCk7Ci0gIF9fbHN4X3ZzdCh2ZWMxLCB0bXBf
b2RkX2J1ZiwgMTc2KTsKLQotICAvKiA0IFN0b3JlcyAqLwotICBEVVA0X0FSRzIoX19sc3hfdmFk
ZF9oLCByZWcxLCByZWcyLCByZWc2LCByZWc1LCByZWcwLCByZWczLCByZWc3LCByZWc0LCB2ZWMx
LAotICAgICAgICAgICAgdmVjMiwgdmVjMCwgdmVjMyk7Ci0gIExTWF9CVVRURVJGTFlfNF9IKHZl
YzAsIHZlYzMsIHZlYzIsIHZlYzEsIHJlZzAsIHJlZzEsIHJlZzMsIHJlZzIpOwotICBfX2xzeF92
c3QocmVnMCwgdG1wX29kZF9idWYsIDIwOCk7Ci0gIF9fbHN4X3ZzdChyZWcxLCB0bXBfb2RkX2J1
ZiwgMjI0KTsKLQotICBET1RQX0NPTlNUX1BBSVIocmVnMywgcmVnMiwgLWNvc3BpXzhfNjQsIGNv
c3BpXzI0XzY0LCByZWcwLCByZWcxKTsKLSAgX19sc3hfdnN0KHJlZzAsIHRtcF9vZGRfYnVmLCAx
MjgpOwotICBfX2xzeF92c3QocmVnMSwgdG1wX29kZF9idWYsIDE0NCk7Ci0KLSAgLyogT2RkIHN0
YWdlIDMgOiBEZXBlbmRlbmN5IG9uIE9kZCBzdGFnZSAxICYgT2RkIHN0YWdlIDIgKi8KLQotICAv
KiBMb2FkIDggJiBTdG9yZSA4ICovCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9vZGRfYnVm
LCAwLCB0bXBfb2RkX2J1ZiwgMTYsIHRtcF9vZGRfYnVmLCAzMiwKLSAgICAgICAgICAgIHRtcF9v
ZGRfYnVmLCA0OCwgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92
bGQsIHRtcF9vZGRfYnVmLCAxMjgsIHRtcF9vZGRfYnVmLCAxNDQsIHRtcF9vZGRfYnVmLCAxNjAs
Ci0gICAgICAgICAgICB0bXBfb2RkX2J1ZiwgMTc2LCByZWc0LCByZWc1LCByZWc2LCByZWc3KTsK
LSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgcmVnMCwgcmVnNCwgcmVnMSwgcmVnNSwgcmVnMiwg
cmVnNiwgcmVnMywgcmVnNywgbG9jMCwKLSAgICAgICAgICAgIGxvYzEsIGxvYzIsIGxvYzMpOwot
ICBfX2xzeF92c3QobG9jMCwgdG1wX29kZF9idWYsIDApOwotICBfX2xzeF92c3QobG9jMSwgdG1w
X29kZF9idWYsIDE2KTsKLSAgX19sc3hfdnN0KGxvYzIsIHRtcF9vZGRfYnVmLCAzMik7Ci0gIF9f
bHN4X3ZzdChsb2MzLCB0bXBfb2RkX2J1ZiwgNDgpOwotCi0gIERVUDJfQVJHMihfX2xzeF92c3Vi
X2gsIHJlZzAsIHJlZzQsIHJlZzEsIHJlZzUsIHZlYzAsIHZlYzEpOwotICBET1RQX0NPTlNUX1BB
SVIodmVjMSwgdmVjMCwgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCBsb2MwLCBsb2MxKTsKLQot
ICBEVVAyX0FSRzIoX19sc3hfdnN1Yl9oLCByZWcyLCByZWc2LCByZWczLCByZWc3LCB2ZWMwLCB2
ZWMxKTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzEsIHZlYzAsIGNvc3BpXzE2XzY0LCBjb3NwaV8x
Nl82NCwgbG9jMiwgbG9jMyk7Ci0gIF9fbHN4X3ZzdChsb2MwLCB0bXBfb2RkX2J1ZiwgMTI4KTsK
LSAgX19sc3hfdnN0KGxvYzEsIHRtcF9vZGRfYnVmLCAxNDQpOwotICBfX2xzeF92c3QobG9jMiwg
dG1wX29kZF9idWYsIDE2MCk7Ci0gIF9fbHN4X3ZzdChsb2MzLCB0bXBfb2RkX2J1ZiwgMTc2KTsK
LQotICAvKiBMb2FkIDggJiBTdG9yZSA4ICovCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9v
ZGRfYnVmLCA2NCwgdG1wX29kZF9idWYsIDgwLCB0bXBfb2RkX2J1ZiwgOTYsCi0gICAgICAgICAg
ICB0bXBfb2RkX2J1ZiwgMTEyLCByZWcxLCByZWcyLCByZWcwLCByZWczKTsKLSAgRFVQNF9BUkcy
KF9fbHN4X3ZsZCwgdG1wX29kZF9idWYsIDE5MiwgdG1wX29kZF9idWYsIDIwOCwgdG1wX29kZF9i
dWYsIDIyNCwKLSAgICAgICAgICAgIHRtcF9vZGRfYnVmLCAyNDAsIHJlZzQsIHJlZzUsIHJlZzYs
IHJlZzcpOwotCi0gIERVUDRfQVJHMihfX2xzeF92YWRkX2gsIHJlZzAsIHJlZzQsIHJlZzEsIHJl
ZzUsIHJlZzIsIHJlZzYsIHJlZzMsIHJlZzcsIGxvYzAsCi0gICAgICAgICAgICBsb2MxLCBsb2My
LCBsb2MzKTsKLSAgX19sc3hfdnN0KGxvYzAsIHRtcF9vZGRfYnVmLCA2NCk7Ci0gIF9fbHN4X3Zz
dChsb2MxLCB0bXBfb2RkX2J1ZiwgODApOwotICBfX2xzeF92c3QobG9jMiwgdG1wX29kZF9idWYs
IDk2KTsKLSAgX19sc3hfdnN0KGxvYzMsIHRtcF9vZGRfYnVmLCAxMTIpOwotCi0gIERVUDJfQVJH
MihfX2xzeF92c3ViX2gsIHJlZzAsIHJlZzQsIHJlZzMsIHJlZzcsIHZlYzAsIHZlYzEpOwotICBE
T1RQX0NPTlNUX1BBSVIodmVjMSwgdmVjMCwgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCBsb2Mw
LCBsb2MxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgcmVnMSwgcmVnNSwgcmVnMiwgcmVn
NiwgdmVjMCwgdmVjMSk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWMxLCB2ZWMwLCBjb3NwaV8xNl82
NCwgY29zcGlfMTZfNjQsIGxvYzIsIGxvYzMpOwotICBfX2xzeF92c3QobG9jMCwgdG1wX29kZF9i
dWYsIDE5Mik7Ci0gIF9fbHN4X3ZzdChsb2MxLCB0bXBfb2RkX2J1ZiwgMjA4KTsKLSAgX19sc3hf
dnN0KGxvYzIsIHRtcF9vZGRfYnVmLCAyMjQpOwotICBfX2xzeF92c3QobG9jMywgdG1wX29kZF9i
dWYsIDI0MCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGlkY3RfYnV0dGVyZmx5X3RyYW5zcG9zZV9zdG9y
ZShpbnQxNl90ICp0bXBfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDE2X3QgKnRtcF9ldmVfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludDE2X3QgKnRtcF9vZGRfYnVmLCBpbnQxNl90ICpkc3QpIHsKLSAg
X19tMTI4aSB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCBsb2MwLCBsb2MxLCBsb2MyLCBsb2MzOwot
ICBfX20xMjhpIG0wLCBtMSwgbTIsIG0zLCBtNCwgbTUsIG02LCBtNzsKLSAgX19tMTI4aSBuMCwg
bjEsIG4yLCBuMywgbjQsIG41LCBuNiwgbjc7Ci0gIF9fbTEyOGkgcmVnMCwgcmVnMSwgcmVnMiwg
cmVnMzsKLQotICAvKiBGSU5BTCBCVVRURVJGTFkgOiBEZXBlbmRlbmN5IG9uIEV2ZW4gJiBPZGQg
Ki8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdG1wX29kZF9idWYsIDAsIHRtcF9vZGRfYnVmLCAx
NDQsIHRtcF9vZGRfYnVmLCAyMjQsCi0gICAgICAgICAgICB0bXBfb2RkX2J1ZiwgOTYsIHZlYzAs
IHZlYzEsIHZlYzIsIHZlYzMpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfZXZlX2J1Ziwg
MCwgdG1wX2V2ZV9idWYsIDEyOCwgdG1wX2V2ZV9idWYsIDY0LAotICAgICAgICAgICAgdG1wX2V2
ZV9idWYsIDE5MiwgbG9jMCwgbG9jMSwgbG9jMiwgbG9jMyk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4
X3ZhZGRfaCwgbG9jMCwgdmVjMywgbG9jMSwgdmVjMiwgbG9jMiwgdmVjMSwgbG9jMywgdmVjMCwg
bTAsCi0gICAgICAgICAgICBtNCwgbTIsIG02KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzdWJfaCwg
bG9jMCwgdmVjMywgbG9jMSwgdmVjMiwgbG9jMiwgdmVjMSwgbG9jMywgdmVjMCwgcmVnMCwKLSAg
ICAgICAgICAgIHJlZzEsIHJlZzIsIHJlZzMpOwotICBfX2xzeF92c3QocmVnMCwgdG1wX2J1Ziwg
NDk2KTsKLSAgX19sc3hfdnN0KHJlZzEsIHRtcF9idWYsIDM2OCk7Ci0gIF9fbHN4X3ZzdChyZWcy
LCB0bXBfYnVmLCA0MzIpOwotICBfX2xzeF92c3QocmVnMywgdG1wX2J1ZiwgMzA0KTsKLQotICAv
KiBMb2FkIDggJiBTdG9yZSA4ICovCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9vZGRfYnVm
LCA2NCwgdG1wX29kZF9idWYsIDIwOCwgdG1wX29kZF9idWYsIDE2MCwKLSAgICAgICAgICAgIHRt
cF9vZGRfYnVmLCA0OCwgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7Ci0gIERVUDRfQVJHMihfX2xz
eF92bGQsIHRtcF9ldmVfYnVmLCAzMiwgdG1wX2V2ZV9idWYsIDE2MCwgdG1wX2V2ZV9idWYsIDk2
LAotICAgICAgICAgICAgdG1wX2V2ZV9idWYsIDIyNCwgbG9jMCwgbG9jMSwgbG9jMiwgbG9jMyk7
Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgbG9jMCwgdmVjMywgbG9jMSwgdmVjMiwgbG9j
MiwgdmVjMSwgbG9jMywgdmVjMCwgbTEsCi0gICAgICAgICAgICBtNSwgbTMsIG03KTsKLSAgRFVQ
NF9BUkcyKF9fbHN4X3ZzdWJfaCwgbG9jMCwgdmVjMywgbG9jMSwgdmVjMiwgbG9jMiwgdmVjMSwg
bG9jMywgdmVjMCwgcmVnMCwKLSAgICAgICAgICAgIHJlZzEsIHJlZzIsIHJlZzMpOwotICBfX2xz
eF92c3QocmVnMCwgdG1wX2J1ZiwgNDY0KTsKLSAgX19sc3hfdnN0KHJlZzEsIHRtcF9idWYsIDMz
Nik7Ci0gIF9fbHN4X3ZzdChyZWcyLCB0bXBfYnVmLCA0MDApOwotICBfX2xzeF92c3QocmVnMywg
dG1wX2J1ZiwgMjcyKTsKLQotICAvKiBMb2FkIDggJiBTdG9yZSA4ICovCi0gIERVUDRfQVJHMihf
X2xzeF92bGQsIHRtcF9vZGRfYnVmLCAzMiwgdG1wX29kZF9idWYsIDE3NiwgdG1wX29kZF9idWYs
IDE5MiwKLSAgICAgICAgICAgIHRtcF9vZGRfYnVmLCAxMTIsIHZlYzAsIHZlYzEsIHZlYzIsIHZl
YzMpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfZXZlX2J1ZiwgMTYsIHRtcF9ldmVfYnVm
LCAxNDQsIHRtcF9ldmVfYnVmLCA4MCwKLSAgICAgICAgICAgIHRtcF9ldmVfYnVmLCAyMDgsIGxv
YzAsIGxvYzEsIGxvYzIsIGxvYzMpOwotCi0gIERVUDRfQVJHMihfX2xzeF92YWRkX2gsIGxvYzAs
IHZlYzMsIGxvYzEsIHZlYzIsIGxvYzIsIHZlYzEsIGxvYzMsIHZlYzAsIG4wLAotICAgICAgICAg
ICAgbjQsIG4yLCBuNik7Ci0gIERVUDRfQVJHMihfX2xzeF92c3ViX2gsIGxvYzAsIHZlYzMsIGxv
YzEsIHZlYzIsIGxvYzIsIHZlYzEsIGxvYzMsIHZlYzAsIHJlZzAsCi0gICAgICAgICAgICByZWcx
LCByZWcyLCByZWczKTsKLSAgX19sc3hfdnN0KHJlZzAsIHRtcF9idWYsIDQ4MCk7Ci0gIF9fbHN4
X3ZzdChyZWcxLCB0bXBfYnVmLCAzNTIpOwotICBfX2xzeF92c3QocmVnMiwgdG1wX2J1ZiwgNDE2
KTsKLSAgX19sc3hfdnN0KHJlZzMsIHRtcF9idWYsIDI4OCk7Ci0KLSAgLyogTG9hZCA4ICYgU3Rv
cmUgOCAqLwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfb2RkX2J1ZiwgODAsIHRtcF9vZGRf
YnVmLCAyNDAsIHRtcF9vZGRfYnVmLCAxMjgsCi0gICAgICAgICAgICB0bXBfb2RkX2J1ZiwgMTYs
IHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfZXZl
X2J1ZiwgNDgsIHRtcF9ldmVfYnVmLCAxNzYsIHRtcF9ldmVfYnVmLCAxMTIsCi0gICAgICAgICAg
ICB0bXBfZXZlX2J1ZiwgMjQwLCBsb2MwLCBsb2MxLCBsb2MyLCBsb2MzKTsKLSAgRFVQNF9BUkcy
KF9fbHN4X3ZhZGRfaCwgbG9jMCwgdmVjMywgbG9jMSwgdmVjMiwgbG9jMiwgdmVjMSwgbG9jMywg
dmVjMCwgbjEsCi0gICAgICAgICAgICBuNSwgbjMsIG43KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zz
dWJfaCwgbG9jMCwgdmVjMywgbG9jMSwgdmVjMiwgbG9jMiwgdmVjMSwgbG9jMywgdmVjMCwgcmVn
MCwKLSAgICAgICAgICAgIHJlZzEsIHJlZzIsIHJlZzMpOwotICBfX2xzeF92c3QocmVnMCwgdG1w
X2J1ZiwgNDQ4KTsKLSAgX19sc3hfdnN0KHJlZzEsIHRtcF9idWYsIDMyMCk7Ci0gIF9fbHN4X3Zz
dChyZWcyLCB0bXBfYnVmLCAzODQpOwotICBfX2xzeF92c3QocmVnMywgdG1wX2J1ZiwgMjU2KTsK
LQotICAvKiBUcmFuc3Bvc2UgOiAxNiB2ZWN0b3JzICovCi0gIC8qIDFzdCAmIDJuZCA4eDggKi8K
LSAgTFNYX1RSQU5TUE9TRTh4OF9IKG0wLCBuMCwgbTEsIG4xLCBtMiwgbjIsIG0zLCBuMywgbTAs
IG4wLCBtMSwgbjEsIG0yLCBuMiwgbTMsCi0gICAgICAgICAgICAgICAgICAgICBuMyk7Ci0gIF9f
bHN4X3ZzdChtMCwgZHN0LCAwKTsKLSAgX19sc3hfdnN0KG4wLCBkc3QsIDY0KTsKLSAgX19sc3hf
dnN0KG0xLCBkc3QsIDEyOCk7Ci0gIF9fbHN4X3ZzdChuMSwgZHN0LCAxOTIpOwotICBfX2xzeF92
c3QobTIsIGRzdCwgMjU2KTsKLSAgX19sc3hfdnN0KG4yLCBkc3QsIDMyMCk7Ci0gIF9fbHN4X3Zz
dChtMywgZHN0LCAzODQpOwotICBfX2xzeF92c3QobjMsIGRzdCwgNDQ4KTsKLQotICBMU1hfVFJB
TlNQT1NFOHg4X0gobTQsIG40LCBtNSwgbjUsIG02LCBuNiwgbTcsIG43LCBtNCwgbjQsIG01LCBu
NSwgbTYsIG42LCBtNywKLSAgICAgICAgICAgICAgICAgICAgIG43KTsKLSAgX19sc3hfdnN0KG00
LCBkc3QsIDE2KTsKLSAgX19sc3hfdnN0KG40LCBkc3QsIDgwKTsKLSAgX19sc3hfdnN0KG01LCBk
c3QsIDE0NCk7Ci0gIF9fbHN4X3ZzdChuNSwgZHN0LCAyMDgpOwotICBfX2xzeF92c3QobTYsIGRz
dCwgMjcyKTsKLSAgX19sc3hfdnN0KG42LCBkc3QsIDMzNik7Ci0gIF9fbHN4X3ZzdChtNywgZHN0
LCA0MDApOwotICBfX2xzeF92c3QobjcsIGRzdCwgNDY0KTsKLQotICAvKiAzcmQgJiA0dGggOHg4
ICovCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9idWYsIDI1NiwgdG1wX2J1ZiwgMjcyLCB0
bXBfYnVmLCAyODgsIHRtcF9idWYsIDMwNCwKLSAgICAgICAgICAgIG0wLCBuMCwgbTEsIG4xKTsK
LSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdG1wX2J1ZiwgMzIwLCB0bXBfYnVmLCAzMzYsIHRtcF9i
dWYsIDM1MiwgdG1wX2J1ZiwgMzY4LAotICAgICAgICAgICAgbTIsIG4yLCBtMywgbjMpOwotICBE
VVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfYnVmLCAzODQsIHRtcF9idWYsIDQwMCwgdG1wX2J1Ziwg
NDE2LCB0bXBfYnVmLCA0MzIsCi0gICAgICAgICAgICBtNCwgbjQsIG01LCBuNSk7Ci0gIERVUDRf
QVJHMihfX2xzeF92bGQsIHRtcF9idWYsIDQ0OCwgdG1wX2J1ZiwgNDY0LCB0bXBfYnVmLCA0ODAs
IHRtcF9idWYsIDQ5NiwKLSAgICAgICAgICAgIG02LCBuNiwgbTcsIG43KTsKLSAgTFNYX1RSQU5T
UE9TRTh4OF9IKG0wLCBuMCwgbTEsIG4xLCBtMiwgbjIsIG0zLCBuMywgbTAsIG4wLCBtMSwgbjEs
IG0yLCBuMiwgbTMsCi0gICAgICAgICAgICAgICAgICAgICBuMyk7Ci0gIExTWF9UUkFOU1BPU0U4
eDhfSChtNCwgbjQsIG01LCBuNSwgbTYsIG42LCBtNywgbjcsIG00LCBuNCwgbTUsIG41LCBtNiwg
bjYsIG03LAotICAgICAgICAgICAgICAgICAgICAgbjcpOwotICBfX2xzeF92c3QobTAsIGRzdCwg
MzIpOwotICBfX2xzeF92c3QobjAsIGRzdCwgOTYpOwotICBfX2xzeF92c3QobTEsIGRzdCwgMTYw
KTsKLSAgX19sc3hfdnN0KG4xLCBkc3QsIDIyNCk7Ci0gIF9fbHN4X3ZzdChtMiwgZHN0LCAyODgp
OwotICBfX2xzeF92c3QobjIsIGRzdCwgMzUyKTsKLSAgX19sc3hfdnN0KG0zLCBkc3QsIDQxNik7
Ci0gIF9fbHN4X3ZzdChuMywgZHN0LCA0ODApOwotICBfX2xzeF92c3QobTQsIGRzdCwgNDgpOwot
ICBfX2xzeF92c3QobjQsIGRzdCwgMTEyKTsKLSAgX19sc3hfdnN0KG01LCBkc3QsIDE3Nik7Ci0g
IF9fbHN4X3ZzdChuNSwgZHN0LCAyNDApOwotICBfX2xzeF92c3QobTYsIGRzdCwgMzA0KTsKLSAg
X19sc3hfdnN0KG42LCBkc3QsIDM2OCk7Ci0gIF9fbHN4X3ZzdChtNywgZHN0LCA0MzIpOwotICBf
X2xzeF92c3QobjcsIGRzdCwgNDk2KTsKLX0KLQotc3RhdGljIHZvaWQgaWRjdDMyeDhfMWRfcm93
c19sc3goY29uc3QgaW50MTZfdCAqaW5wdXQsIGludDE2X3QgKm91dHB1dCkgewotICBERUNMQVJF
X0FMSUdORUQoMzIsIGludDE2X3QsIHRtcF9idWZbOCAqIDMyXSk7Ci0gIERFQ0xBUkVfQUxJR05F
RCgzMiwgaW50MTZfdCwgdG1wX29kZF9idWZbMTYgKiA4XSk7Ci0gIERFQ0xBUkVfQUxJR05FRCgz
MiwgaW50MTZfdCwgdG1wX2V2ZV9idWZbMTYgKiA4XSk7Ci0KLSAgaWRjdDMyeDhfcm93X3RyYW5z
cG9zZV9zdG9yZShpbnB1dCwgJnRtcF9idWZbMF0pOwotICBpZGN0MzJ4OF9yb3dfZXZlbl9wcm9j
ZXNzX3N0b3JlKCZ0bXBfYnVmWzBdLCAmdG1wX2V2ZV9idWZbMF0pOwotICBpZGN0MzJ4OF9yb3df
b2RkX3Byb2Nlc3Nfc3RvcmUoJnRtcF9idWZbMF0sICZ0bXBfb2RkX2J1ZlswXSk7Ci0gIGlkY3Rf
YnV0dGVyZmx5X3RyYW5zcG9zZV9zdG9yZSgmdG1wX2J1ZlswXSwgJnRtcF9ldmVfYnVmWzBdLCAm
dG1wX29kZF9idWZbMF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQp
OwotfQotCi1zdGF0aWMgdm9pZCBpZGN0OHgzMl9jb2x1bW5fZXZlbl9wcm9jZXNzX3N0b3JlKGlu
dDE2X3QgKnRtcF9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDE2X3QgKnRtcF9ldmVfYnVmKSB7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVj
MiwgdmVjMywgbG9jMCwgbG9jMSwgbG9jMiwgbG9jMzsKLSAgX19tMTI4aSByZWcwLCByZWcxLCBy
ZWcyLCByZWczLCByZWc0LCByZWc1LCByZWc2LCByZWc3OwotICBfX20xMjhpIHN0cDAsIHN0cDEs
IHN0cDIsIHN0cDMsIHN0cDQsIHN0cDUsIHN0cDYsIHN0cDc7Ci0gIF9fbTEyOGkgdG1wMDsKLQot
ICAvKiBFdmVuIHN0YWdlIDEgKi8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdG1wX2J1ZiwgMCwg
dG1wX2J1ZiwgMjU2LCB0bXBfYnVmLCA1MTIsIHRtcF9idWYsIDc2OCwKLSAgICAgICAgICAgIHJl
ZzAsIHJlZzEsIHJlZzIsIHJlZzMpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfYnVmLCAx
MDI0LCB0bXBfYnVmLCAxMjgwLCB0bXBfYnVmLCAxNTM2LCB0bXBfYnVmLAotICAgICAgICAgICAg
MTc5MiwgcmVnNCwgcmVnNSwgcmVnNiwgcmVnNyk7Ci0gIHRtcF9idWYgKz0gNjQ7Ci0KLSAgRE9U
UF9DT05TVF9QQUlSKHJlZzEsIHJlZzcsIGNvc3BpXzI4XzY0LCBjb3NwaV80XzY0LCByZWcxLCBy
ZWc3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJlZzUsIHJlZzMsIGNvc3BpXzEyXzY0LCBjb3NwaV8y
MF82NCwgcmVnNSwgcmVnMyk7Ci0gIExTWF9CVVRURVJGTFlfNF9IKHJlZzEsIHJlZzcsIHJlZzMs
IHJlZzUsIHZlYzEsIHZlYzMsIHZlYzIsIHZlYzApOwotICBET1RQX0NPTlNUX1BBSVIodmVjMiwg
dmVjMCwgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCBsb2MyLCBsb2MzKTsKLQotICBsb2MxID0g
dmVjMzsKLSAgbG9jMCA9IHZlYzE7Ci0KLSAgRE9UUF9DT05TVF9QQUlSKHJlZzAsIHJlZzQsIGNv
c3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgcmVnMCwgcmVnNCk7Ci0gIERPVFBfQ09OU1RfUEFJUihy
ZWcyLCByZWc2LCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgcmVnMiwgcmVnNik7Ci0gIExTWF9C
VVRURVJGTFlfNF9IKHJlZzQsIHJlZzAsIHJlZzIsIHJlZzYsIHZlYzEsIHZlYzMsIHZlYzIsIHZl
YzApOwotICBMU1hfQlVUVEVSRkxZXzRfSCh2ZWMwLCB2ZWMxLCBsb2MxLCBsb2MwLCBzdHAzLCBz
dHAwLCBzdHA3LCBzdHA0KTsKLSAgTFNYX0JVVFRFUkZMWV80X0godmVjMiwgdmVjMywgbG9jMywg
bG9jMiwgc3RwMiwgc3RwMSwgc3RwNiwgc3RwNSk7Ci0KLSAgLyogRXZlbiBzdGFnZSAyICovCi0g
IC8qIExvYWQgOCAqLwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfYnVmLCAwLCB0bXBfYnVm
LCAyNTYsIHRtcF9idWYsIDUxMiwgdG1wX2J1ZiwgNzY4LAotICAgICAgICAgICAgcmVnMCwgcmVn
MSwgcmVnMiwgcmVnMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9idWYsIDEwMjQsIHRt
cF9idWYsIDEyODAsIHRtcF9idWYsIDE1MzYsIHRtcF9idWYsCi0gICAgICAgICAgICAxNzkyLCBy
ZWc0LCByZWc1LCByZWc2LCByZWc3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJlZzAsIHJlZzcsIGNv
c3BpXzMwXzY0LCBjb3NwaV8yXzY0LCByZWcwLCByZWc3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJl
ZzQsIHJlZzMsIGNvc3BpXzE0XzY0LCBjb3NwaV8xOF82NCwgcmVnNCwgcmVnMyk7Ci0gIERPVFBf
Q09OU1RfUEFJUihyZWcyLCByZWc1LCBjb3NwaV8yMl82NCwgY29zcGlfMTBfNjQsIHJlZzIsIHJl
ZzUpOwotICBET1RQX0NPTlNUX1BBSVIocmVnNiwgcmVnMSwgY29zcGlfNl82NCwgY29zcGlfMjZf
NjQsIHJlZzYsIHJlZzEpOwotCi0gIHZlYzAgPSBfX2xzeF92YWRkX2gocmVnMCwgcmVnNCk7Ci0g
IHJlZzAgPSBfX2xzeF92c3ViX2gocmVnMCwgcmVnNCk7Ci0gIHJlZzQgPSBfX2xzeF92YWRkX2go
cmVnNiwgcmVnMik7Ci0gIHJlZzYgPSBfX2xzeF92c3ViX2gocmVnNiwgcmVnMik7Ci0gIHJlZzIg
PSBfX2xzeF92YWRkX2gocmVnMSwgcmVnNSk7Ci0gIHJlZzEgPSBfX2xzeF92c3ViX2gocmVnMSwg
cmVnNSk7Ci0gIHJlZzUgPSBfX2xzeF92YWRkX2gocmVnNywgcmVnMyk7Ci0gIHJlZzcgPSBfX2xz
eF92c3ViX2gocmVnNywgcmVnMyk7Ci0gIHJlZzMgPSB2ZWMwOwotCi0gIHZlYzEgPSByZWcyOwot
ICByZWcyID0gX19sc3hfdmFkZF9oKHJlZzMsIHJlZzQpOwotICByZWczID0gX19sc3hfdnN1Yl9o
KHJlZzMsIHJlZzQpOwotICByZWc0ID0gX19sc3hfdnN1Yl9oKHJlZzUsIHZlYzEpOwotICByZWc1
ID0gX19sc3hfdmFkZF9oKHJlZzUsIHZlYzEpOwotCi0gIHRtcDAgPSBfX2xzeF92bmVnX2gocmVn
Nik7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc3LCByZWcwLCBjb3NwaV8yNF82NCwgY29zcGlfOF82
NCwgcmVnMCwgcmVnNyk7Ci0gIERPVFBfQ09OU1RfUEFJUih0bXAwLCByZWcxLCBjb3NwaV8yNF82
NCwgY29zcGlfOF82NCwgcmVnNiwgcmVnMSk7Ci0KLSAgdmVjMCA9IF9fbHN4X3ZzdWJfaChyZWcw
LCByZWc2KTsKLSAgcmVnMCA9IF9fbHN4X3ZhZGRfaChyZWcwLCByZWc2KTsKLSAgdmVjMSA9IF9f
bHN4X3ZzdWJfaChyZWc3LCByZWcxKTsKLSAgcmVnNyA9IF9fbHN4X3ZhZGRfaChyZWc3LCByZWcx
KTsKLQotICBET1RQX0NPTlNUX1BBSVIodmVjMSwgdmVjMCwgY29zcGlfMTZfNjQsIGNvc3BpXzE2
XzY0LCByZWc2LCByZWcxKTsKLSAgRE9UUF9DT05TVF9QQUlSKHJlZzQsIHJlZzMsIGNvc3BpXzE2
XzY0LCBjb3NwaV8xNl82NCwgcmVnMywgcmVnNCk7Ci0KLSAgLyogRXZlbiBzdGFnZSAzIDogRGVw
ZW5kZW5jeSBvbiBFdmVuIHN0YWdlIDEgJiBFdmVuIHN0YWdlIDIgKi8KLSAgLyogU3RvcmUgOCAq
LwotICBMU1hfQlVUVEVSRkxZXzRfSChzdHAwLCBzdHAxLCByZWc3LCByZWc1LCBsb2MxLCBsb2Mz
LCBsb2MyLCBsb2MwKTsKLSAgX19sc3hfdnN0KGxvYzEsIHRtcF9ldmVfYnVmLCAwKTsKLSAgX19s
c3hfdnN0KGxvYzMsIHRtcF9ldmVfYnVmLCAxNik7Ci0gIF9fbHN4X3ZzdChsb2MyLCB0bXBfZXZl
X2J1ZiwgMjI0KTsKLSAgX19sc3hfdnN0KGxvYzAsIHRtcF9ldmVfYnVmLCAyNDApOwotCi0gIExT
WF9CVVRURVJGTFlfNF9IKHN0cDIsIHN0cDMsIHJlZzQsIHJlZzEsIGxvYzEsIGxvYzMsIGxvYzIs
IGxvYzApOwotICBfX2xzeF92c3QobG9jMSwgdG1wX2V2ZV9idWYsIDMyKTsKLSAgX19sc3hfdnN0
KGxvYzMsIHRtcF9ldmVfYnVmLCA0OCk7Ci0gIF9fbHN4X3ZzdChsb2MyLCB0bXBfZXZlX2J1Ziwg
MTkyKTsKLSAgX19sc3hfdnN0KGxvYzAsIHRtcF9ldmVfYnVmLCAyMDgpOwotCi0gIC8qIFN0b3Jl
IDggKi8KLSAgTFNYX0JVVFRFUkZMWV80X0goc3RwNCwgc3RwNSwgcmVnNiwgcmVnMywgbG9jMSwg
bG9jMywgbG9jMiwgbG9jMCk7Ci0gIF9fbHN4X3ZzdChsb2MxLCB0bXBfZXZlX2J1ZiwgNjQpOwot
ICBfX2xzeF92c3QobG9jMywgdG1wX2V2ZV9idWYsIDgwKTsKLSAgX19sc3hfdnN0KGxvYzIsIHRt
cF9ldmVfYnVmLCAxNjApOwotICBfX2xzeF92c3QobG9jMCwgdG1wX2V2ZV9idWYsIDE3Nik7Ci0K
LSAgTFNYX0JVVFRFUkZMWV80X0goc3RwNiwgc3RwNywgcmVnMiwgcmVnMCwgbG9jMSwgbG9jMywg
bG9jMiwgbG9jMCk7Ci0gIF9fbHN4X3ZzdChsb2MxLCB0bXBfZXZlX2J1ZiwgOTYpOwotICBfX2xz
eF92c3QobG9jMywgdG1wX2V2ZV9idWYsIDExMik7Ci0gIF9fbHN4X3ZzdChsb2MyLCB0bXBfZXZl
X2J1ZiwgMTI4KTsKLSAgX19sc3hfdnN0KGxvYzAsIHRtcF9ldmVfYnVmLCAxNDQpOwotfQotCi1z
dGF0aWMgdm9pZCBpZGN0OHgzMl9jb2x1bW5fb2RkX3Byb2Nlc3Nfc3RvcmUoaW50MTZfdCAqdG1w
X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQx
Nl90ICp0bXBfb2RkX2J1ZikgewotICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIGxv
YzAsIGxvYzEsIGxvYzIsIGxvYzM7Ci0gIF9fbTEyOGkgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMywg
cmVnNCwgcmVnNSwgcmVnNiwgcmVnNzsKLQotICAvKiBPZGQgc3RhZ2UgMSAqLwotICBEVVA0X0FS
RzIoX19sc3hfdmxkLCB0bXBfYnVmLCA2NCwgdG1wX2J1ZiwgNDQ4LCB0bXBfYnVmLCA1NzYsIHRt
cF9idWYsIDk2MCwKLSAgICAgICAgICAgIHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMpOwotICBEVVA0
X0FSRzIoX19sc3hfdmxkLCB0bXBfYnVmLCAxMDg4LCB0bXBfYnVmLCAxNDcyLCB0bXBfYnVmLCAx
NjAwLCB0bXBfYnVmLAotICAgICAgICAgICAgMTk4NCwgcmVnNCwgcmVnNSwgcmVnNiwgcmVnNyk7
Ci0KLSAgRE9UUF9DT05TVF9QQUlSKHJlZzAsIHJlZzcsIGNvc3BpXzMxXzY0LCBjb3NwaV8xXzY0
LCByZWcwLCByZWc3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJlZzQsIHJlZzMsIGNvc3BpXzE1XzY0
LCBjb3NwaV8xN182NCwgcmVnMywgcmVnNCk7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWcyLCByZWc1
LCBjb3NwaV8yM182NCwgY29zcGlfOV82NCwgcmVnMiwgcmVnNSk7Ci0gIERPVFBfQ09OU1RfUEFJ
UihyZWc2LCByZWcxLCBjb3NwaV83XzY0LCBjb3NwaV8yNV82NCwgcmVnMSwgcmVnNik7Ci0KLSAg
dmVjMCA9IF9fbHN4X3ZhZGRfaChyZWcwLCByZWczKTsKLSAgcmVnMCA9IF9fbHN4X3ZzdWJfaChy
ZWcwLCByZWczKTsKLSAgcmVnMyA9IF9fbHN4X3ZhZGRfaChyZWc3LCByZWc0KTsKLSAgcmVnNyA9
IF9fbHN4X3ZzdWJfaChyZWc3LCByZWc0KTsKLSAgcmVnNCA9IF9fbHN4X3ZhZGRfaChyZWcxLCBy
ZWcyKTsKLSAgcmVnMSA9IF9fbHN4X3ZzdWJfaChyZWcxLCByZWcyKTsKLSAgcmVnMiA9IF9fbHN4
X3ZhZGRfaChyZWc2LCByZWc1KTsKLSAgcmVnNiA9IF9fbHN4X3ZzdWJfaChyZWc2LCByZWc1KTsK
LSAgcmVnNSA9IHZlYzA7Ci0KLSAgLyogNCBTdG9yZXMgKi8KLSAgRFVQMl9BUkcyKF9fbHN4X3Zh
ZGRfaCwgcmVnNSwgcmVnNCwgcmVnMywgcmVnMiwgdmVjMCwgdmVjMSk7Ci0gIF9fbHN4X3ZzdCh2
ZWMwLCB0bXBfb2RkX2J1ZiwgNjQpOwotICBfX2xzeF92c3QodmVjMSwgdG1wX29kZF9idWYsIDgw
KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZzdWJfaCwgcmVnNSwgcmVnNCwgcmVnMywgcmVnMiwgdmVj
MCwgdmVjMSk7Ci0gIERPVFBfQ09OU1RfUEFJUih2ZWMxLCB2ZWMwLCBjb3NwaV8yNF82NCwgY29z
cGlfOF82NCwgdmVjMCwgdmVjMSk7Ci0gIF9fbHN4X3ZzdCh2ZWMwLCB0bXBfb2RkX2J1ZiwgMCk7
Ci0gIF9fbHN4X3ZzdCh2ZWMxLCB0bXBfb2RkX2J1ZiwgMTYpOwotCi0gIC8qIDQgU3RvcmVzICov
Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc3LCByZWcwLCBjb3NwaV8yOF82NCwgY29zcGlfNF82NCwg
cmVnMCwgcmVnNyk7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWc2LCByZWcxLCAtY29zcGlfNF82NCwg
Y29zcGlfMjhfNjQsIHJlZzEsIHJlZzYpOwotICBMU1hfQlVUVEVSRkxZXzRfSChyZWcwLCByZWc3
LCByZWc2LCByZWcxLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRE9UUF9DT05TVF9QQUlS
KHZlYzIsIHZlYzMsIGNvc3BpXzI0XzY0LCBjb3NwaV84XzY0LCB2ZWMyLCB2ZWMzKTsKLSAgX19s
c3hfdnN0KHZlYzAsIHRtcF9vZGRfYnVmLCA5Nik7Ci0gIF9fbHN4X3ZzdCh2ZWMxLCB0bXBfb2Rk
X2J1ZiwgMTEyKTsKLSAgX19sc3hfdnN0KHZlYzIsIHRtcF9vZGRfYnVmLCAzMik7Ci0gIF9fbHN4
X3ZzdCh2ZWMzLCB0bXBfb2RkX2J1ZiwgNDgpOwotCi0gIC8qIE9kZCBzdGFnZSAyICovCi0gIC8q
IDggbG9hZHMgKi8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdG1wX2J1ZiwgMTkyLCB0bXBfYnVm
LCAzMjAsIHRtcF9idWYsIDcwNCwgdG1wX2J1ZiwgODMyLAotICAgICAgICAgICAgcmVnMCwgcmVn
MSwgcmVnMiwgcmVnMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9idWYsIDEyMTYsIHRt
cF9idWYsIDEzNDQsIHRtcF9idWYsIDE3MjgsIHRtcF9idWYsCi0gICAgICAgICAgICAxODU2LCBy
ZWc0LCByZWc1LCByZWc2LCByZWc3KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJlZzEsIHJlZzYsIGNv
c3BpXzI3XzY0LCBjb3NwaV81XzY0LCByZWcxLCByZWc2KTsKLSAgRE9UUF9DT05TVF9QQUlSKHJl
ZzUsIHJlZzIsIGNvc3BpXzExXzY0LCBjb3NwaV8yMV82NCwgcmVnMiwgcmVnNSk7Ci0gIERPVFBf
Q09OU1RfUEFJUihyZWczLCByZWc0LCBjb3NwaV8xOV82NCwgY29zcGlfMTNfNjQsIHJlZzMsIHJl
ZzQpOwotICBET1RQX0NPTlNUX1BBSVIocmVnNywgcmVnMCwgY29zcGlfM182NCwgY29zcGlfMjlf
NjQsIHJlZzAsIHJlZzcpOwotCi0gIC8qIDQgU3RvcmVzICovCi0gIERVUDRfQVJHMihfX2xzeF92
c3ViX2gsIHJlZzEsIHJlZzIsIHJlZzYsIHJlZzUsIHJlZzAsIHJlZzMsIHJlZzcsIHJlZzQsIHZl
YzAsCi0gICAgICAgICAgICB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRE9UUF9DT05TVF9QQUlSKHZl
YzEsIHZlYzAsIGNvc3BpXzEyXzY0LCBjb3NwaV8yMF82NCwgbG9jMCwgbG9jMSk7Ci0gIERPVFBf
Q09OU1RfUEFJUih2ZWMzLCB2ZWMyLCAtY29zcGlfMjBfNjQsIGNvc3BpXzEyXzY0LCBsb2MyLCBs
b2MzKTsKLSAgTFNYX0JVVFRFUkZMWV80X0gobG9jMiwgbG9jMywgbG9jMSwgbG9jMCwgdmVjMCwg
dmVjMSwgdmVjMywgdmVjMik7Ci0gIF9fbHN4X3ZzdCh2ZWMwLCB0bXBfb2RkX2J1ZiwgMTkyKTsK
LSAgX19sc3hfdnN0KHZlYzEsIHRtcF9vZGRfYnVmLCAyNDApOwotICBET1RQX0NPTlNUX1BBSVIo
dmVjMywgdmVjMiwgLWNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LCB2ZWMwLCB2ZWMxKTsKLSAgX19s
c3hfdnN0KHZlYzAsIHRtcF9vZGRfYnVmLCAxNjApOwotICBfX2xzeF92c3QodmVjMSwgdG1wX29k
ZF9idWYsIDE3Nik7Ci0KLSAgLyogNCBTdG9yZXMgKi8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRf
aCwgcmVnMCwgcmVnMywgcmVnMSwgcmVnMiwgcmVnNSwgcmVnNiwgcmVnNCwgcmVnNywgdmVjMCwK
LSAgICAgICAgICAgIHZlYzEsIHZlYzIsIHZlYzMpOwotICBMU1hfQlVUVEVSRkxZXzRfSCh2ZWMw
LCB2ZWMzLCB2ZWMyLCB2ZWMxLCByZWcwLCByZWcxLCByZWczLCByZWcyKTsKLSAgX19sc3hfdnN0
KHJlZzAsIHRtcF9vZGRfYnVmLCAyMDgpOwotICBfX2xzeF92c3QocmVnMSwgdG1wX29kZF9idWYs
IDIyNCk7Ci0gIERPVFBfQ09OU1RfUEFJUihyZWczLCByZWcyLCAtY29zcGlfOF82NCwgY29zcGlf
MjRfNjQsIHJlZzAsIHJlZzEpOwotICBfX2xzeF92c3QocmVnMCwgdG1wX29kZF9idWYsIDEyOCk7
Ci0gIF9fbHN4X3ZzdChyZWcxLCB0bXBfb2RkX2J1ZiwgMTQ0KTsKLQotICAvKiBPZGQgc3RhZ2Ug
MyA6IERlcGVuZGVuY3kgb24gT2RkIHN0YWdlIDEgJiBPZGQgc3RhZ2UgMiAqLwotICAvKiBMb2Fk
IDggJiBTdG9yZSA4ICovCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9vZGRfYnVmLCAwLCB0
bXBfb2RkX2J1ZiwgMTYsIHRtcF9vZGRfYnVmLCAzMiwKLSAgICAgICAgICAgIHRtcF9vZGRfYnVm
LCA0OCwgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRt
cF9vZGRfYnVmLCAxMjgsIHRtcF9vZGRfYnVmLCAxNDQsIHRtcF9vZGRfYnVmLCAxNjAsCi0gICAg
ICAgICAgICB0bXBfb2RkX2J1ZiwgMTc2LCByZWc0LCByZWc1LCByZWc2LCByZWc3KTsKLSAgRFVQ
NF9BUkcyKF9fbHN4X3ZhZGRfaCwgcmVnMCwgcmVnNCwgcmVnMSwgcmVnNSwgcmVnMiwgcmVnNiwg
cmVnMywgcmVnNywgbG9jMCwKLSAgICAgICAgICAgIGxvYzEsIGxvYzIsIGxvYzMpOwotICBfX2xz
eF92c3QobG9jMCwgdG1wX29kZF9idWYsIDApOwotICBfX2xzeF92c3QobG9jMSwgdG1wX29kZF9i
dWYsIDE2KTsKLSAgX19sc3hfdnN0KGxvYzIsIHRtcF9vZGRfYnVmLCAzMik7Ci0gIF9fbHN4X3Zz
dChsb2MzLCB0bXBfb2RkX2J1ZiwgNDgpOwotCi0gIERVUDJfQVJHMihfX2xzeF92c3ViX2gsIHJl
ZzAsIHJlZzQsIHJlZzEsIHJlZzUsIHZlYzAsIHZlYzEpOwotICBET1RQX0NPTlNUX1BBSVIodmVj
MSwgdmVjMCwgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCBsb2MwLCBsb2MxKTsKLSAgRFVQMl9B
UkcyKF9fbHN4X3ZzdWJfaCwgcmVnMiwgcmVnNiwgcmVnMywgcmVnNywgdmVjMCwgdmVjMSk7Ci0g
IERPVFBfQ09OU1RfUEFJUih2ZWMxLCB2ZWMwLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIGxv
YzIsIGxvYzMpOwotICBfX2xzeF92c3QobG9jMCwgdG1wX29kZF9idWYsIDEyOCk7Ci0gIF9fbHN4
X3ZzdChsb2MxLCB0bXBfb2RkX2J1ZiwgMTQ0KTsKLSAgX19sc3hfdnN0KGxvYzIsIHRtcF9vZGRf
YnVmLCAxNjApOwotICBfX2xzeF92c3QobG9jMywgdG1wX29kZF9idWYsIDE3Nik7Ci0KLSAgLyog
TG9hZCA4ICYgU3RvcmUgOCAqLwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfb2RkX2J1Ziwg
NjQsIHRtcF9vZGRfYnVmLCA4MCwgdG1wX29kZF9idWYsIDk2LAotICAgICAgICAgICAgdG1wX29k
ZF9idWYsIDExMiwgcmVnMSwgcmVnMiwgcmVnMCwgcmVnMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92
bGQsIHRtcF9vZGRfYnVmLCAxOTIsIHRtcF9vZGRfYnVmLCAyMDgsIHRtcF9vZGRfYnVmLCAyMjQs
Ci0gICAgICAgICAgICB0bXBfb2RkX2J1ZiwgMjQwLCByZWc0LCByZWc1LCByZWc2LCByZWc3KTsK
LSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgcmVnMCwgcmVnNCwgcmVnMSwgcmVnNSwgcmVnMiwg
cmVnNiwgcmVnMywgcmVnNywgbG9jMCwKLSAgICAgICAgICAgIGxvYzEsIGxvYzIsIGxvYzMpOwot
ICBfX2xzeF92c3QobG9jMCwgdG1wX29kZF9idWYsIDY0KTsKLSAgX19sc3hfdnN0KGxvYzEsIHRt
cF9vZGRfYnVmLCA4MCk7Ci0gIF9fbHN4X3ZzdChsb2MyLCB0bXBfb2RkX2J1ZiwgOTYpOwotICBf
X2xzeF92c3QobG9jMywgdG1wX29kZF9idWYsIDExMik7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3Zz
dWJfaCwgcmVnMCwgcmVnNCwgcmVnMywgcmVnNywgdmVjMCwgdmVjMSk7Ci0gIERPVFBfQ09OU1Rf
UEFJUih2ZWMxLCB2ZWMwLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsIGxvYzAsIGxvYzEpOwot
ICBEVVAyX0FSRzIoX19sc3hfdnN1Yl9oLCByZWcxLCByZWc1LCByZWcyLCByZWc2LCB2ZWMwLCB2
ZWMxKTsKLSAgRE9UUF9DT05TVF9QQUlSKHZlYzEsIHZlYzAsIGNvc3BpXzE2XzY0LCBjb3NwaV8x
Nl82NCwgbG9jMiwgbG9jMyk7Ci0gIF9fbHN4X3ZzdChsb2MwLCB0bXBfb2RkX2J1ZiwgMTkyKTsK
LSAgX19sc3hfdnN0KGxvYzEsIHRtcF9vZGRfYnVmLCAyMDgpOwotICBfX2xzeF92c3QobG9jMiwg
dG1wX29kZF9idWYsIDIyNCk7Ci0gIF9fbHN4X3ZzdChsb2MzLCB0bXBfb2RkX2J1ZiwgMjQwKTsK
LX0KLQotc3RhdGljIHZvaWQgaWRjdDh4MzJfY29sdW1uX2J1dHRlcmZseV9hZGRibGsoaW50MTZf
dCAqdG1wX2V2ZV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQxNl90ICp0bXBfb2RkX2J1ZiwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlKSB7Ci0gIF9f
bTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgbG9jMCwgbG9jMSwgbG9jMiwgbG9jMzsKLSAg
X19tMTI4aSBtMCwgbTEsIG0yLCBtMywgbTQsIG01LCBtNiwgbTc7Ci0gIF9fbTEyOGkgbjAsIG4x
LCBuMiwgbjMsIG40LCBuNSwgbjYsIG43OwotICBpbnQzMl90IHN0cmlkZSA9IGRzdF9zdHJpZGUg
PDwgMjsKLSAgaW50MzJfdCBzdHJpZGUyID0gc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3RyaWRl
MyA9IHN0cmlkZSArIHN0cmlkZTI7Ci0KLSAgLyogRklOQUwgQlVUVEVSRkxZIDogRGVwZW5kZW5j
eSBvbiBFdmVuICYgT2RkICovCi0gIERVUDRfQVJHMihfX2xzeF92bGQsIHRtcF9vZGRfYnVmLCAw
LCB0bXBfb2RkX2J1ZiwgMTQ0LCB0bXBfb2RkX2J1ZiwgMjI0LAotICAgICAgICAgICAgdG1wX29k
ZF9idWYsIDk2LCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgdG1wX2V2ZV9idWYsIDAsIHRtcF9ldmVfYnVmLCAxMjgsIHRtcF9ldmVfYnVmLCA2NCwKLSAg
ICAgICAgICAgIHRtcF9ldmVfYnVmLCAxOTIsIGxvYzAsIGxvYzEsIGxvYzIsIGxvYzMpOwotCi0g
IERVUDRfQVJHMihfX2xzeF92YWRkX2gsIGxvYzAsIHZlYzMsIGxvYzEsIHZlYzIsIGxvYzIsIHZl
YzEsIGxvYzMsIHZlYzAsIG0wLAotICAgICAgICAgICAgbTQsIG0yLCBtNik7Ci0gIERVUDRfQVJH
MihfX2xzeF92c3JhcmlfaCwgbTAsIDYsIG0yLCA2LCBtNCwgNiwgbTYsIDYsIG0wLCBtMiwgbTQs
IG02KTsKLSAgVlA5X0FEREJMS19TVDh4NF9VQihkc3QsIHN0cmlkZSwgc3RyaWRlMiwgc3RyaWRl
MywgbTAsIG0yLCBtNCwgbTYpOwotICBEVVA0X0FSRzIoX19sc3hfdnN1Yl9oLCBsb2MwLCB2ZWMz
LCBsb2MxLCB2ZWMyLCBsb2MyLCB2ZWMxLCBsb2MzLCB2ZWMwLCBtNiwKLSAgICAgICAgICAgIG0y
LCBtNCwgbTApOwotICBEVVA0X0FSRzIoX19sc3hfdnNyYXJpX2gsIG0wLCA2LCBtMiwgNiwgbTQs
IDYsIG02LCA2LCBtMCwgbTIsIG00LCBtNik7Ci0gIFZQOV9BRERCTEtfU1Q4eDRfVUIoKGRzdCAr
IDE5ICogZHN0X3N0cmlkZSksIHN0cmlkZSwgc3RyaWRlMiwgc3RyaWRlMywgbTAsIG0yLAotICAg
ICAgICAgICAgICAgICAgICAgIG00LCBtNik7Ci0KLSAgLyogTG9hZCA4ICYgU3RvcmUgOCAqLwot
ICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfb2RkX2J1ZiwgNjQsIHRtcF9vZGRfYnVmLCAyMDgs
IHRtcF9vZGRfYnVmLCAxNjAsCi0gICAgICAgICAgICB0bXBfb2RkX2J1ZiwgNDgsIHZlYzAsIHZl
YzEsIHZlYzIsIHZlYzMpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfZXZlX2J1ZiwgMzIs
IHRtcF9ldmVfYnVmLCAxNjAsIHRtcF9ldmVfYnVmLCA5NiwKLSAgICAgICAgICAgIHRtcF9ldmVf
YnVmLCAyMjQsIGxvYzAsIGxvYzEsIGxvYzIsIGxvYzMpOwotCi0gIERVUDRfQVJHMihfX2xzeF92
YWRkX2gsIGxvYzAsIHZlYzMsIGxvYzEsIHZlYzIsIGxvYzIsIHZlYzEsIGxvYzMsIHZlYzAsIG0x
LAotICAgICAgICAgICAgbTUsIG0zLCBtNyk7Ci0gIERVUDRfQVJHMihfX2xzeF92c3JhcmlfaCwg
bTEsIDYsIG0zLCA2LCBtNSwgNiwgbTcsIDYsIG0xLCBtMywgbTUsIG03KTsKLSAgVlA5X0FEREJM
S19TVDh4NF9VQigoZHN0ICsgMiAqIGRzdF9zdHJpZGUpLCBzdHJpZGUsIHN0cmlkZTIsIHN0cmlk
ZTMsIG0xLCBtMywKLSAgICAgICAgICAgICAgICAgICAgICBtNSwgbTcpOwotICBEVVA0X0FSRzIo
X19sc3hfdnN1Yl9oLCBsb2MwLCB2ZWMzLCBsb2MxLCB2ZWMyLCBsb2MyLCB2ZWMxLCBsb2MzLCB2
ZWMwLCBtNywKLSAgICAgICAgICAgIG0zLCBtNSwgbTEpOwotICBEVVA0X0FSRzIoX19sc3hfdnNy
YXJpX2gsIG0xLCA2LCBtMywgNiwgbTUsIDYsIG03LCA2LCBtMSwgbTMsIG01LCBtNyk7Ci0gIFZQ
OV9BRERCTEtfU1Q4eDRfVUIoKGRzdCArIDE3ICogZHN0X3N0cmlkZSksIHN0cmlkZSwgc3RyaWRl
Miwgc3RyaWRlMywgbTEsIG0zLAotICAgICAgICAgICAgICAgICAgICAgIG01LCBtNyk7Ci0KLSAg
LyogTG9hZCA4ICYgU3RvcmUgOCAqLwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCB0bXBfb2RkX2J1
ZiwgMzIsIHRtcF9vZGRfYnVmLCAxNzYsIHRtcF9vZGRfYnVmLCAxOTIsCi0gICAgICAgICAgICB0
bXBfb2RkX2J1ZiwgMTEyLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3ZsZCwgdG1wX2V2ZV9idWYsIDE2LCB0bXBfZXZlX2J1ZiwgMTQ0LCB0bXBfZXZlX2J1Ziwg
ODAsCi0gICAgICAgICAgICB0bXBfZXZlX2J1ZiwgMjA4LCBsb2MwLCBsb2MxLCBsb2MyLCBsb2Mz
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRfaCwgbG9jMCwgdmVjMywgbG9jMSwgdmVjMiwgbG9j
MiwgdmVjMSwgbG9jMywgdmVjMCwgbjAsCi0gICAgICAgICAgICBuNCwgbjIsIG42KTsKLSAgRFVQ
NF9BUkcyKF9fbHN4X3ZzcmFyaV9oLCBuMCwgNiwgbjIsIDYsIG40LCA2LCBuNiwgNiwgbjAsIG4y
LCBuNCwgbjYpOwotICBWUDlfQUREQkxLX1NUOHg0X1VCKChkc3QgKyBkc3Rfc3RyaWRlKSwgc3Ry
aWRlLCBzdHJpZGUyLCBzdHJpZGUzLCBuMCwgbjIsIG40LAotICAgICAgICAgICAgICAgICAgICAg
IG42KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzdWJfaCwgbG9jMCwgdmVjMywgbG9jMSwgdmVjMiwg
bG9jMiwgdmVjMSwgbG9jMywgdmVjMCwgbjYsCi0gICAgICAgICAgICBuMiwgbjQsIG4wKTsKLSAg
RFVQNF9BUkcyKF9fbHN4X3ZzcmFyaV9oLCBuMCwgNiwgbjIsIDYsIG40LCA2LCBuNiwgNiwgbjAs
IG4yLCBuNCwgbjYpOwotICBWUDlfQUREQkxLX1NUOHg0X1VCKChkc3QgKyAxOCAqIGRzdF9zdHJp
ZGUpLCBzdHJpZGUsIHN0cmlkZTIsIHN0cmlkZTMsIG4wLCBuMiwKLSAgICAgICAgICAgICAgICAg
ICAgICBuNCwgbjYpOwotCi0gIC8qIExvYWQgOCAmIFN0b3JlIDggKi8KLSAgRFVQNF9BUkcyKF9f
bHN4X3ZsZCwgdG1wX29kZF9idWYsIDgwLCB0bXBfb2RkX2J1ZiwgMjQwLCB0bXBfb2RkX2J1Ziwg
MTI4LAotICAgICAgICAgICAgdG1wX29kZF9idWYsIDE2LCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMz
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgdG1wX2V2ZV9idWYsIDQ4LCB0bXBfZXZlX2J1Ziwg
MTc2LCB0bXBfZXZlX2J1ZiwgMTEyLAotICAgICAgICAgICAgdG1wX2V2ZV9idWYsIDI0MCwgbG9j
MCwgbG9jMSwgbG9jMiwgbG9jMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92YWRkX2gsIGxvYzAsIHZl
YzMsIGxvYzEsIHZlYzIsIGxvYzIsIHZlYzEsIGxvYzMsIHZlYzAsIG4xLAotICAgICAgICAgICAg
bjUsIG4zLCBuNyk7Ci0gIERVUDRfQVJHMihfX2xzeF92c3JhcmlfaCwgbjEsIDYsIG4zLCA2LCBu
NSwgNiwgbjcsIDYsIG4xLCBuMywgbjUsIG43KTsKLSAgVlA5X0FEREJMS19TVDh4NF9VQigoZHN0
ICsgMyAqIGRzdF9zdHJpZGUpLCBzdHJpZGUsIHN0cmlkZTIsIHN0cmlkZTMsIG4xLCBuMywKLSAg
ICAgICAgICAgICAgICAgICAgICBuNSwgbjcpOwotICBEVVA0X0FSRzIoX19sc3hfdnN1Yl9oLCBs
b2MwLCB2ZWMzLCBsb2MxLCB2ZWMyLCBsb2MyLCB2ZWMxLCBsb2MzLCB2ZWMwLCBuNywKLSAgICAg
ICAgICAgIG4zLCBuNSwgbjEpOwotICBEVVA0X0FSRzIoX19sc3hfdnNyYXJpX2gsIG4xLCA2LCBu
MywgNiwgbjUsIDYsIG43LCA2LCBuMSwgbjMsIG41LCBuNyk7Ci0gIFZQOV9BRERCTEtfU1Q4eDRf
VUIoKGRzdCArIDE2ICogZHN0X3N0cmlkZSksIHN0cmlkZSwgc3RyaWRlMiwgc3RyaWRlMywgbjEs
IG4zLAotICAgICAgICAgICAgICAgICAgICAgIG41LCBuNyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGlk
Y3Q4eDMyXzFkX2NvbHVtbnNfYWRkYmxrX2xzeChpbnQxNl90ICppbnB1dCwgdWludDhfdCAqZHN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0
X3N0cmlkZSkgewotICBERUNMQVJFX0FMSUdORUQoMzIsIGludDE2X3QsIHRtcF9vZGRfYnVmWzE2
ICogOF0pOwotICBERUNMQVJFX0FMSUdORUQoMzIsIGludDE2X3QsIHRtcF9ldmVfYnVmWzE2ICog
OF0pOwotCi0gIGlkY3Q4eDMyX2NvbHVtbl9ldmVuX3Byb2Nlc3Nfc3RvcmUoaW5wdXQsICZ0bXBf
ZXZlX2J1ZlswXSk7Ci0gIGlkY3Q4eDMyX2NvbHVtbl9vZGRfcHJvY2Vzc19zdG9yZShpbnB1dCwg
JnRtcF9vZGRfYnVmWzBdKTsKLSAgaWRjdDh4MzJfY29sdW1uX2J1dHRlcmZseV9hZGRibGsoJnRt
cF9ldmVfYnVmWzBdLCAmdG1wX29kZF9idWZbMF0sIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZHN0X3N0cmlkZSk7Ci19Ci0KLXZvaWQgdnB4X2lkY3QzMngzMl8xMDI0
X2FkZF9sc3goY29uc3QgaW50MTZfdCAqaW5wdXQsIHVpbnQ4X3QgKmRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlKSB7Ci0gIGludDMyX3QgaTsK
LSAgREVDTEFSRV9BTElHTkVEKDMyLCBpbnQxNl90LCBvdXRfYXJyWzMyICogMzJdKTsKLSAgaW50
MTZfdCAqb3V0X3B0ciA9IG91dF9hcnI7Ci0KLSAgLyogdHJhbnNmb3JtIHJvd3MgKi8KLSAgZm9y
IChpID0gMDsgaSA8IDQ7ICsraSkgewotICAgIC8qIHByb2Nlc3MgMzIgKiA4IGJsb2NrICovCi0g
ICAgaWRjdDMyeDhfMWRfcm93c19sc3goKGlucHV0ICsgKGkgPDwgOCkpLCAob3V0X3B0ciArIChp
IDw8IDgpKSk7Ci0gIH0KLQotICBmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0gICAgLyogcHJv
Y2VzcyA4ICogMzIgYmxvY2sgKi8KLSAgICBpZGN0OHgzMl8xZF9jb2x1bW5zX2FkZGJsa19sc3go
KG91dF9wdHIgKyAoaSA8PCAzKSksIChkc3QgKyAoaSA8PCAzKSksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRzdF9zdHJpZGUpOwotICB9Ci19Ci0KLXZvaWQgdnB4X2lkY3Qz
MngzMl8zNF9hZGRfbHN4KGNvbnN0IGludDE2X3QgKmlucHV0LCB1aW50OF90ICpkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUpIHsKLSAgaW50MzJf
dCBpOwotICBERUNMQVJFX0FMSUdORUQoMzIsIGludDE2X3QsIG91dF9hcnJbMzIgKiAzMl0pOwot
ICBpbnQxNl90ICpvdXRfcHRyID0gb3V0X2FycjsKLSAgX19tMTI4aSB6ZXJvID0gX19sc3hfdmxk
aSgwKTsKLQotICBmb3IgKGkgPSAzMjsgaS0tOykgewotICAgIF9fbHN4X3ZzdCh6ZXJvLCBvdXRf
cHRyLCAwKTsKLSAgICBfX2xzeF92c3QoemVybywgb3V0X3B0ciwgMTYpOwotICAgIF9fbHN4X3Zz
dCh6ZXJvLCBvdXRfcHRyLCAzMik7Ci0gICAgX19sc3hfdnN0KHplcm8sIG91dF9wdHIsIDQ4KTsK
LSAgICBvdXRfcHRyICs9IDMyOwotICB9Ci0KLSAgb3V0X3B0ciA9IG91dF9hcnI7Ci0KLSAgLyog
cm93czogb25seSB1cHBlci1sZWZ0IDh4OCBoYXMgbm9uLXplcm8gY29lZmYgKi8KLSAgaWRjdDMy
eDhfMWRfcm93c19sc3goaW5wdXQsIG91dF9wdHIpOwotCi0gIC8qIHRyYW5zZm9ybSBjb2x1bW5z
ICovCi0gIGZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKLSAgICAvKiBwcm9jZXNzIDggKiAzMiBi
bG9jayAqLwotICAgIGlkY3Q4eDMyXzFkX2NvbHVtbnNfYWRkYmxrX2xzeCgob3V0X3B0ciArIChp
IDw8IDMpKSwgKGRzdCArIChpIDw8IDMpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZHN0X3N0cmlkZSk7Ci0gIH0KLX0KLQotdm9pZCB2cHhfaWRjdDMyeDMyXzFfYWRkX2xz
eChjb25zdCBpbnQxNl90ICppbnB1dCwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUpIHsKLSAgaW50MzJfdCBpOwotICBpbnQxNl90
IG91dDsKLSAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCB0bXAwLCB0bXAxLCB0bXAy
LCB0bXAzOwotICBfX20xMjhpIHJlczAsIHJlczEsIHJlczIsIHJlczMsIHJlczQsIHJlczUsIHJl
czYsIHJlczcsIHZlYzsKLQotICBvdXQgPSBST1VORF9QT1dFUl9PRl9UV08oKGlucHV0WzBdICog
Y29zcGlfMTZfNjQpLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIG91dCA9IFJPVU5EX1BPV0VSX09GX1RX
Tygob3V0ICogY29zcGlfMTZfNjQpLCBEQ1RfQ09OU1RfQklUUyk7Ci0gIG91dCA9IFJPVU5EX1BP
V0VSX09GX1RXTyhvdXQsIDYpOwotCi0gIHZlYyA9IF9fbHN4X3ZyZXBsZ3IydnJfaChvdXQpOwot
Ci0gIGZvciAoaSA9IDE2OyBpLS07KSB7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgZHN0LCAw
LCBkc3QsIDE2LCBkc3QwLCBkc3QxKTsKLSAgICBkc3QyID0gX19sc3hfdmxkeChkc3QsIGRzdF9z
dHJpZGUpOwotICAgIGRzdDMgPSBfX2xzeF92bGR4KGRzdCArIDE2LCBkc3Rfc3RyaWRlKTsKLQot
ICAgIFVOUENLX1VCX1NIKGRzdDAsIHJlczAsIHJlczQpOwotICAgIFVOUENLX1VCX1NIKGRzdDEs
IHJlczEsIHJlczUpOwotICAgIFVOUENLX1VCX1NIKGRzdDIsIHJlczIsIHJlczYpOwotICAgIFVO
UENLX1VCX1NIKGRzdDMsIHJlczMsIHJlczcpOwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZhZGRf
aCwgcmVzMCwgdmVjLCByZXMxLCB2ZWMsIHJlczIsIHZlYywgcmVzMywgdmVjLCByZXMwLAotICAg
ICAgICAgICAgICByZXMxLCByZXMyLCByZXMzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmFkZF9o
LCByZXM0LCB2ZWMsIHJlczUsIHZlYywgcmVzNiwgdmVjLCByZXM3LCB2ZWMsIHJlczQsCi0gICAg
ICAgICAgICAgIHJlczUsIHJlczYsIHJlczcpOwotICAgIERVUDRfQVJHMyhfX2xzeF92c3NyYXJu
aV9idV9oLCByZXM0LCByZXMwLCAwLCByZXM1LCByZXMxLCAwLCByZXM2LCByZXMyLCAwLAotICAg
ICAgICAgICAgICByZXM3LCByZXMzLCAwLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBf
X2xzeF92c3QodG1wMCwgZHN0LCAwKTsKLSAgICBfX2xzeF92c3QodG1wMSwgZHN0LCAxNik7Ci0g
ICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0KHRtcDIsIGRzdCwgMCk7Ci0gICAg
X19sc3hfdnN0KHRtcDMsIGRzdCwgMTYpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICB9Ci19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2ludHJhcHJlZF9sc3gu
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvaW50cmFwcmVkX2xzeC5jCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTkwMjExNzkxOTcuLjAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2ludHJhcHJlZF9sc3guYworKysgL2Rldi9udWxs
CkBAIC0xLDk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMjEgTG9vbmdzb24gVGVj
aG5vbG9neSBDb3Jwb3JhdGlvbiBMaW1pdGVkCi0gKiBDb250cmlidXRlZCBieSBMdSBXYW5nIDx3
YW5nbHVAbG9vbmdzb24uY24+Ci0gKgotICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiB0cmVlLiBBbiBhZGRp
dGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0g
KiBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMg
bWF5Ci0gKiBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBz
b3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRl
ICJ2cHhfdXRpbC9sb29uZ3Nvbl9pbnRyaW5zaWNzLmgiCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBp
bnRyYV9wcmVkaWN0X2RjXzh4OF9sc3goY29uc3QgdWludDhfdCAqc3JjX3RvcCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc3JjX2xl
ZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
KmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlKSB7Ci0gIHVpbnQ2NF90IHZhbDAsIHZhbDE7Ci0gIGlu
dDMyX3QgZHN0X3N0cmlkZV94MiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3Ry
aWRlX3gzID0gZHN0X3N0cmlkZV94MiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlk
ZV94NCA9IGRzdF9zdHJpZGUgPDwgMjsKLSAgX19tMTI4aSBzdG9yZSwgc3VtX2gsIHN1bV93LCBz
dW1fZDsKLSAgX19tMTI4aSBzcmMgPSB7IDAgfTsKLQotICB2YWwwID0gKihjb25zdCB1aW50NjRf
dCAqKXNyY190b3A7Ci0gIHZhbDEgPSAqKGNvbnN0IHVpbnQ2NF90ICopc3JjX2xlZnQ7Ci0gIERV
UDJfQVJHMyhfX2xzeF92aW5zZ3IydnJfZCwgc3JjLCB2YWwwLCAwLCBzcmMsIHZhbDEsIDEsIHNy
Yywgc3JjKTsKLSAgc3VtX2ggPSBfX2xzeF92aGFkZHdfaHVfYnUoc3JjLCBzcmMpOwotICBzdW1f
dyA9IF9fbHN4X3ZoYWRkd193dV9odShzdW1faCwgc3VtX2gpOwotICBzdW1fZCA9IF9fbHN4X3Zo
YWRkd19kdV93dShzdW1fdywgc3VtX3cpOwotICBzdW1fdyA9IF9fbHN4X3ZwaWNrZXZfdyhzdW1f
ZCwgc3VtX2QpOwotICBzdW1fZCA9IF9fbHN4X3ZoYWRkd19kdV93dShzdW1fdywgc3VtX3cpOwot
ICBzdW1fdyA9IF9fbHN4X3ZzcmFyaV93KHN1bV9kLCA0KTsKLSAgc3RvcmUgPSBfX2xzeF92cmVw
bHZlaV9iKHN1bV93LCAwKTsKLQotICBfX2xzeF92c3RlbG1fZChzdG9yZSwgZHN0LCAwLCAwKTsK
LSAgX19sc3hfdnN0ZWxtX2Qoc3RvcmUsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDApOwotICBfX2xz
eF92c3RlbG1fZChzdG9yZSwgZHN0ICsgZHN0X3N0cmlkZV94MiwgMCwgMCk7Ci0gIF9fbHN4X3Zz
dGVsbV9kKHN0b3JlLCBkc3QgKyBkc3Rfc3RyaWRlX3gzLCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9z
dHJpZGVfeDQ7Ci0gIF9fbHN4X3ZzdGVsbV9kKHN0b3JlLCBkc3QsIDAsIDApOwotICBfX2xzeF92
c3RlbG1fZChzdG9yZSwgZHN0ICsgZHN0X3N0cmlkZSwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9k
KHN0b3JlLCBkc3QgKyBkc3Rfc3RyaWRlX3gyLCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX2Qoc3Rv
cmUsIGRzdCArIGRzdF9zdHJpZGVfeDMsIDAsIDApOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQg
aW50cmFfcHJlZGljdF9kY18xNngxNl9sc3goY29uc3QgdWludDhfdCAqc3JjX3RvcCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpz
cmNfbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MzJfdCBkc3Rfc3RyaWRlKSB7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94MiA9IGRzdF9z
dHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlX3gzID0gZHN0X3N0cmlkZV94MiArIGRz
dF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlkZV94NCA9IGRzdF9zdHJpZGUgPDwgMjsKLSAg
X19tMTI4aSB0b3AsIGxlZnQsIG91dDsKLSAgX19tMTI4aSBzdW1faCwgc3VtX3RvcCwgc3VtX2xl
ZnQ7Ci0gIF9fbTEyOGkgc3VtX3c7Ci0gIF9fbTEyOGkgc3VtX2Q7Ci0KLSAgRFVQMl9BUkcyKF9f
bHN4X3ZsZCwgc3JjX3RvcCwgMCwgc3JjX2xlZnQsIDAsIHRvcCwgbGVmdCk7Ci0gIERVUDJfQVJH
MihfX2xzeF92aGFkZHdfaHVfYnUsIHRvcCwgdG9wLCBsZWZ0LCBsZWZ0LCBzdW1fdG9wLCBzdW1f
bGVmdCk7Ci0gIHN1bV9oID0gX19sc3hfdmFkZF9oKHN1bV90b3AsIHN1bV9sZWZ0KTsKLSAgc3Vt
X3cgPSBfX2xzeF92aGFkZHdfd3VfaHUoc3VtX2gsIHN1bV9oKTsKLSAgc3VtX2QgPSBfX2xzeF92
aGFkZHdfZHVfd3Uoc3VtX3csIHN1bV93KTsKLSAgc3VtX3cgPSBfX2xzeF92cGlja2V2X3coc3Vt
X2QsIHN1bV9kKTsKLSAgc3VtX2QgPSBfX2xzeF92aGFkZHdfZHVfd3Uoc3VtX3csIHN1bV93KTsK
LSAgc3VtX3cgPSBfX2xzeF92c3JhcmlfdyhzdW1fZCwgNSk7Ci0gIG91dCA9IF9fbHN4X3ZyZXBs
dmVpX2Ioc3VtX3csIDApOwotCi0gIF9fbHN4X3ZzdHgob3V0LCBkc3QsIDApOwotICBfX2xzeF92
c3R4KG91dCwgZHN0LCBkc3Rfc3RyaWRlKTsKLSAgX19sc3hfdnN0eChvdXQsIGRzdCwgZHN0X3N0
cmlkZV94Mik7Ci0gIF9fbHN4X3ZzdHgob3V0LCBkc3QsIGRzdF9zdHJpZGVfeDMpOwotICBkc3Qg
Kz0gZHN0X3N0cmlkZV94NDsKLSAgX19sc3hfdnN0eChvdXQsIGRzdCwgMCk7Ci0gIF9fbHN4X3Zz
dHgob3V0LCBkc3QsIGRzdF9zdHJpZGUpOwotICBfX2xzeF92c3R4KG91dCwgZHN0LCBkc3Rfc3Ry
aWRlX3gyKTsKLSAgX19sc3hfdnN0eChvdXQsIGRzdCwgZHN0X3N0cmlkZV94Myk7Ci0gIGRzdCAr
PSBkc3Rfc3RyaWRlX3g0OwotICBfX2xzeF92c3R4KG91dCwgZHN0LCAwKTsKLSAgX19sc3hfdnN0
eChvdXQsIGRzdCwgZHN0X3N0cmlkZSk7Ci0gIF9fbHN4X3ZzdHgob3V0LCBkc3QsIGRzdF9zdHJp
ZGVfeDIpOwotICBfX2xzeF92c3R4KG91dCwgZHN0LCBkc3Rfc3RyaWRlX3gzKTsKLSAgZHN0ICs9
IGRzdF9zdHJpZGVfeDQ7Ci0gIF9fbHN4X3ZzdHgob3V0LCBkc3QsIDApOwotICBfX2xzeF92c3R4
KG91dCwgZHN0LCBkc3Rfc3RyaWRlKTsKLSAgX19sc3hfdnN0eChvdXQsIGRzdCwgZHN0X3N0cmlk
ZV94Mik7Ci0gIF9fbHN4X3ZzdHgob3V0LCBkc3QsIGRzdF9zdHJpZGVfeDMpOwotfQotCi12b2lk
IHZweF9kY19wcmVkaWN0b3JfOHg4X2xzeCh1aW50OF90ICpkc3QsIHB0cmRpZmZfdCB5X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBj
b25zdCB1aW50OF90ICpsZWZ0KSB7Ci0gIGludHJhX3ByZWRpY3RfZGNfOHg4X2xzeChhYm92ZSwg
bGVmdCwgZHN0LCB5X3N0cmlkZSk7Ci19Ci0KLXZvaWQgdnB4X2RjX3ByZWRpY3Rvcl8xNngxNl9s
c3godWludDhfdCAqZHN0LCBwdHJkaWZmX3QgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0KSB7
Ci0gIGludHJhX3ByZWRpY3RfZGNfMTZ4MTZfbHN4KGFib3ZlLCBsZWZ0LCBkc3QsIHlfc3RyaWRl
KTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvbG9vcGZpbHRl
cl8xNl9sc3guYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvbG9vcGZpbHRlcl8xNl9s
c3guYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUwM2RmOTk2NmUwLi4wMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9sb29wZmlsdGVyXzE2X2xz
eC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTMyMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChj
KSAyMDIyIExvb25nc29uIFRlY2hub2xvZ3kgQ29ycG9yYXRpb24gTGltaXRlZAotICogQ29udHJp
YnV0ZWQgYnkgSGVjYWkgWXVhbiA8eXVhbmhlY2FpQGxvb25nc29uLmNuPgotICoKLSAqIFVzZSBv
ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAq
IHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZQotICogdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmln
aHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250
cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMg
ZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgIi4v
dnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAidnB4X2RzcC9sb29uZ2FyY2gvbG9vcGZpbHRlcl9s
c3guaCIKLSNpbmNsdWRlICJ2cHhfcG9ydHMvbWVtLmgiCi0KLSNkZWZpbmUgTFNYX0xEXzgoX3Ny
YywgX3N0cmlkZSwgX3N0cmlkZTIsIF9zdHJpZGUzLCBfc3RyaWRlNCwgX2luMCwgX2luMSwgXAot
ICAgICAgICAgICAgICAgICBfaW4yLCBfaW4zLCBfaW40LCBfaW41LCBfaW42LCBfaW43KSAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfaW4wID0gX19sc3hf
dmxkKF9zcmMsIDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9pbjEgPSBfX2xzeF92bGR4KF9zcmMsIF9zdHJpZGUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX2luMiA9IF9fbHN4X3ZsZHgoX3NyYywgX3N0cmlk
ZTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfaW4zID0gX19s
c3hfdmxkeChfc3JjLCBfc3RyaWRlMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF9zcmMgKz0gX3N0cmlkZTQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX2luNCA9IF9fbHN4X3ZsZChfc3JjLCAwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfaW41ID0g
X19sc3hfdmxkeChfc3JjLCBfc3RyaWRlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9pbjYgPSBfX2xzeF92bGR4KF9zcmMsIF9zdHJpZGUyKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX2luNyA9IF9fbHN4X3ZsZHgoX3NyYywg
X3N0cmlkZTMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSB3aGls
ZSAoMCkKLQotI2RlZmluZSBMU1hfU1RfOChfZHN0MCwgX2RzdDEsIF9kc3QyLCBfZHN0MywgX2Rz
dDQsIF9kc3Q1LCBfZHN0NiwgX2RzdDcsIF9kc3QsIFwKLSAgICAgICAgICAgICAgICAgX3N0cmlk
ZSwgX3N0cmlkZTIsIF9zdHJpZGUzLCBfc3RyaWRlNCkgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbHN4X3ZzdChfZHN0MCwgX2RzdCwgMCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
X2xzeF92c3R4KF9kc3QxLCBfZHN0LCBfc3RyaWRlKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19sc3hfdnN0eChfZHN0MiwgX2RzdCwgX3N0cmlkZTIp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbHN4X3Zz
dHgoX2RzdDMsIF9kc3QsIF9zdHJpZGUzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfZHN0ICs9IF9zdHJpZGU0OyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19sc3hfdnN0KF9kc3Q0
LCBfZHN0LCAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF9fbHN4X3ZzdHgoX2RzdDUsIF9kc3QsIF9zdHJpZGUpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2xzeF92c3R4KF9kc3Q2LCBfZHN0
LCBfc3RyaWRlMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX19sc3hfdnN0eChfZHN0NywgX2RzdCwgX3N0cmlkZTMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICB9IHdoaWxlICgwKQotCi1zdGF0aWMgaW50MzJfdCBo
el9scGZfdDRfYW5kX3Q4XzE2dyh1aW50OF90ICpkc3QsIGludDMyX3Qgc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZmlsdGVyNDgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiX2xpbWl0X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmxpbWl0
X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnRocmVzaF9wdHIpIHsKLSAgX19tMTI4aSBwMywgcDIsIHAxLCBwMCwgcTMsIHEyLCBxMSwgcTA7
Ci0gIF9fbTEyOGkgcDJfb3V0LCBwMV9vdXQsIHAwX291dCwgcTBfb3V0LCBxMV9vdXQsIHEyX291
dDsKLSAgX19tMTI4aSBmbGF0LCBtYXNrLCBoZXYsIHRocmVzaCwgYl9saW1pdCwgbGltaXQ7Ci0g
IF9fbTEyOGkgcDNfbCwgcDJfbCwgcDFfbCwgcDBfbCwgcTBfbCwgcTFfbCwgcTJfbCwgcTNfbDsK
LSAgX19tMTI4aSBwM19oLCBwMl9oLCBwMV9oLCBwMF9oLCBxMF9oLCBxMV9oLCBxMl9oLCBxM19o
OwotICBfX20xMjhpIHAyX2ZpbHQ4X2wsIHAxX2ZpbHQ4X2wsIHAwX2ZpbHQ4X2w7Ci0gIF9fbTEy
OGkgcTBfZmlsdDhfbCwgcTFfZmlsdDhfbCwgcTJfZmlsdDhfbDsKLSAgX19tMTI4aSBwMl9maWx0
OF9oLCBwMV9maWx0OF9oLCBwMF9maWx0OF9oOwotICBfX20xMjhpIHEwX2ZpbHQ4X2gsIHExX2Zp
bHQ4X2gsIHEyX2ZpbHQ4X2g7Ci0KLSAgaW50MzJfdCBzdHJpZGUyID0gc3RyaWRlIDw8IDE7Ci0g
IGludDMyX3Qgc3RyaWRlMyA9IHN0cmlkZTIgKyBzdHJpZGU7Ci0gIGludDMyX3Qgc3RyaWRlNCA9
IHN0cmlkZTIgPDwgMTsKLQotICAvKiBsb2FkIHZlY3RvciBlbGVtZW50cyAqLwotICBEVVA0X0FS
RzIoX19sc3hfdmxkeCwgZHN0LCAtc3RyaWRlNCwgZHN0LCAtc3RyaWRlMywgZHN0LCAtc3RyaWRl
MiwgZHN0LAotICAgICAgICAgICAgLXN0cmlkZSwgcDMsIHAyLCBwMSwgcDApOwotCi0gIHEwID0g
X19sc3hfdmxkKGRzdCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3QsIHN0cmlkZSwg
ZHN0LCBzdHJpZGUyLCBxMSwgcTIpOwotICBxMyA9IF9fbHN4X3ZsZHgoZHN0LCBzdHJpZGUzKTsK
LQotICB0aHJlc2ggPSBfX2xzeF92bGRyZXBsX2IodGhyZXNoX3B0ciwgMCk7Ci0gIGJfbGltaXQg
PSBfX2xzeF92bGRyZXBsX2IoYl9saW1pdF9wdHIsIDApOwotICBsaW1pdCA9IF9fbHN4X3ZsZHJl
cGxfYihsaW1pdF9wdHIsIDApOwotICAvKiBtYXNrIGFuZCBoZXYgKi8KLSAgTFBGX01BU0tfSEVW
KHAzLCBwMiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQsIGJfbGltaXQsIHRocmVzaCwg
aGV2LAotICAgICAgICAgICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQOV9GTEFUNChwMywgcDIsIHAw
LCBxMCwgcTIsIHEzLCBmbGF0KTsKLSAgVlA5X0xQRl9GSUxURVI0XzRXKHAxLCBwMCwgcTAsIHEx
LCBtYXNrLCBoZXYsIHAxX291dCwgcDBfb3V0LCBxMF9vdXQsIHExX291dCk7Ci0KLSAgaWYgKF9f
bHN4X2J6X3YoZmxhdCkpIHsKLSAgICBfX2xzeF92c3R4KHAxX291dCwgZHN0LCAtc3RyaWRlMik7
Ci0gICAgX19sc3hfdnN0eChwMF9vdXQsIGRzdCwgLXN0cmlkZSk7Ci0gICAgX19sc3hfdnN0KHEw
X291dCwgZHN0LCAwKTsKLSAgICBfX2xzeF92c3R4KHExX291dCwgZHN0LCBzdHJpZGUpOwotCi0g
ICAgcmV0dXJuIDE7Ci0gIH0KLQotICBEVVA0X0FSRzIoX19sc3hfdnNsbHdpbF9odV9idSwgcDMs
IDAsIHAyLCAwLCBwMSwgMCwgcDAsIDAsIHAzX2wsIHAyX2wsIHAxX2wsCi0gICAgICAgICAgICBw
MF9sKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzbGx3aWxfaHVfYnUsIHEwLCAwLCBxMSwgMCwgcTIs
IDAsIHEzLCAwLCBxMF9sLCBxMV9sLCBxMl9sLAotICAgICAgICAgICAgcTNfbCk7Ci0KLSAgVlA5
X0ZJTFRFUjgocDNfbCwgcDJfbCwgcDFfbCwgcDBfbCwgcTBfbCwgcTFfbCwgcTJfbCwgcTNfbCwg
cDJfZmlsdDhfbCwKLSAgICAgICAgICAgICAgcDFfZmlsdDhfbCwgcDBfZmlsdDhfbCwgcTBfZmls
dDhfbCwgcTFfZmlsdDhfbCwgcTJfZmlsdDhfbCk7Ci0KLSAgRFVQNF9BUkcxKF9fbHN4X3ZleHRo
X2h1X2J1LCBwMywgcDIsIHAxLCBwMCwgcDNfaCwgcDJfaCwgcDFfaCwgcDBfaCk7Ci0gIERVUDRf
QVJHMShfX2xzeF92ZXh0aF9odV9idSwgcTAsIHExLCBxMiwgcTMsIHEwX2gsIHExX2gsIHEyX2gs
IHEzX2gpOwotICBWUDlfRklMVEVSOChwM19oLCBwMl9oLCBwMV9oLCBwMF9oLCBxMF9oLCBxMV9o
LCBxMl9oLCBxM19oLCBwMl9maWx0OF9oLAotICAgICAgICAgICAgICBwMV9maWx0OF9oLCBwMF9m
aWx0OF9oLCBxMF9maWx0OF9oLCBxMV9maWx0OF9oLCBxMl9maWx0OF9oKTsKLQotICAvKiBjb252
ZXJ0IDE2IGJpdCBvdXRwdXQgZGF0YSBpbnRvIDggYml0ICovCi0gIERVUDRfQVJHMihfX2xzeF92
cGlja2V2X2IsIHAyX2ZpbHQ4X2gsIHAyX2ZpbHQ4X2wsIHAxX2ZpbHQ4X2gsIHAxX2ZpbHQ4X2ws
Ci0gICAgICAgICAgICBwMF9maWx0OF9oLCBwMF9maWx0OF9sLCBxMF9maWx0OF9oLCBxMF9maWx0
OF9sLCBwMl9maWx0OF9sLAotICAgICAgICAgICAgcDFfZmlsdDhfbCwgcDBfZmlsdDhfbCwgcTBf
ZmlsdDhfbCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cGlja2V2X2IsIHExX2ZpbHQ4X2gsIHExX2Zp
bHQ4X2wsIHEyX2ZpbHQ4X2gsIHEyX2ZpbHQ4X2wsCi0gICAgICAgICAgICBxMV9maWx0OF9sLCBx
Ml9maWx0OF9sKTsKLQotICAvKiBzdG9yZSBwaXhlbCB2YWx1ZXMgKi8KLSAgRFVQNF9BUkczKF9f
bHN4X3ZiaXRzZWxfdiwgcDIsIHAyX2ZpbHQ4X2wsIGZsYXQsIHAxX291dCwgcDFfZmlsdDhfbCwg
ZmxhdCwKLSAgICAgICAgICAgIHAwX291dCwgcDBfZmlsdDhfbCwgZmxhdCwgcTBfb3V0LCBxMF9m
aWx0OF9sLCBmbGF0LCBwMl9vdXQsIHAxX291dCwKLSAgICAgICAgICAgIHAwX291dCwgcTBfb3V0
KTsKLSAgRFVQMl9BUkczKF9fbHN4X3ZiaXRzZWxfdiwgcTFfb3V0LCBxMV9maWx0OF9sLCBmbGF0
LCBxMiwgcTJfZmlsdDhfbCwgZmxhdCwKLSAgICAgICAgICAgIHExX291dCwgcTJfb3V0KTsKLQot
ICBfX2xzeF92c3QocDJfb3V0LCBmaWx0ZXI0OCwgMCk7Ci0gIF9fbHN4X3ZzdChwMV9vdXQsIGZp
bHRlcjQ4LCAxNik7Ci0gIF9fbHN4X3ZzdChwMF9vdXQsIGZpbHRlcjQ4LCAzMik7Ci0gIF9fbHN4
X3ZzdChxMF9vdXQsIGZpbHRlcjQ4LCA0OCk7Ci0gIF9fbHN4X3ZzdChxMV9vdXQsIGZpbHRlcjQ4
LCA2NCk7Ci0gIF9fbHN4X3ZzdChxMl9vdXQsIGZpbHRlcjQ4LCA4MCk7Ci0gIF9fbHN4X3ZzdChm
bGF0LCBmaWx0ZXI0OCwgOTYpOwotCi0gIHJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBoel9s
cGZfdDE2XzE2dyh1aW50OF90ICpkc3QsIGludDMyX3Qgc3RyaWRlLCB1aW50OF90ICpmaWx0ZXI0
OCkgewotICBpbnQzMl90IHN0cmlkZTIgPSBzdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzdHJpZGUz
ID0gc3RyaWRlMiArIHN0cmlkZTsKLSAgaW50MzJfdCBzdHJpZGU0ID0gc3RyaWRlMiA8PCAxOwot
ICB1aW50OF90ICpkc3RfdG1wMCA9IGRzdCAtIHN0cmlkZTQ7Ci0gIHVpbnQ4X3QgKmRzdF90bXAx
ID0gZHN0ICsgc3RyaWRlNDsKLQotICBfX20xMjhpIGZsYXQsIGZsYXQyLCBmaWx0ZXI4OwotICBf
X20xMjhpIHA3LCBwNiwgcDUsIHA0LCBwMywgcDIsIHAxLCBwMCwgcTAsIHExLCBxMiwgcTMsIHE0
LCBxNSwgcTYsIHE3OwotICBfX20xMjhpIG91dF9oLCBvdXRfbDsKLSAgdjh1MTYgcDdfbF9pbiwg
cDZfbF9pbiwgcDVfbF9pbiwgcDRfbF9pbjsKLSAgdjh1MTYgcDNfbF9pbiwgcDJfbF9pbiwgcDFf
bF9pbiwgcDBfbF9pbjsKLSAgdjh1MTYgcTdfbF9pbiwgcTZfbF9pbiwgcTVfbF9pbiwgcTRfbF9p
bjsKLSAgdjh1MTYgcTNfbF9pbiwgcTJfbF9pbiwgcTFfbF9pbiwgcTBfbF9pbjsKLSAgdjh1MTYg
cDdfaF9pbiwgcDZfaF9pbiwgcDVfaF9pbiwgcDRfaF9pbjsKLSAgdjh1MTYgcDNfaF9pbiwgcDJf
aF9pbiwgcDFfaF9pbiwgcDBfaF9pbjsKLSAgdjh1MTYgcTdfaF9pbiwgcTZfaF9pbiwgcTVfaF9p
biwgcTRfaF9pbjsKLSAgdjh1MTYgcTNfaF9pbiwgcTJfaF9pbiwgcTFfaF9pbiwgcTBfaF9pbjsK
LSAgdjh1MTYgdG1wMF9sLCB0bXAxX2wsIHRtcDBfaCwgdG1wMV9oOwotCi0gIGZsYXQgPSBfX2xz
eF92bGQoZmlsdGVyNDgsIDk2KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgZHN0X3RtcDAs
IC1zdHJpZGU0LCBkc3RfdG1wMCwgLXN0cmlkZTMsIGRzdF90bXAwLAotICAgICAgICAgICAgLXN0
cmlkZTIsIGRzdF90bXAwLCAtc3RyaWRlLCBwNywgcDYsIHA1LCBwNCk7Ci0KLSAgcDMgPSBfX2xz
eF92bGQoZHN0X3RtcDAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgZHN0X3RtcDAsIHN0
cmlkZSwgZHN0X3RtcDAsIHN0cmlkZTIsIHAyLCBwMSk7Ci0gIHAwID0gX19sc3hfdmxkeChkc3Rf
dG1wMCwgc3RyaWRlMyk7Ci0KLSAgcTAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgRFVQMl9BUkcy
KF9fbHN4X3ZsZHgsIGRzdCwgc3RyaWRlLCBkc3QsIHN0cmlkZTIsIHExLCBxMik7Ci0gIHEzID0g
X19sc3hfdmxkeChkc3QsIHN0cmlkZTMpOwotCi0gIHE0ID0gX19sc3hfdmxkKGRzdF90bXAxLCAw
KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGRzdF90bXAxLCBzdHJpZGUsIGRzdF90bXAxLCBz
dHJpZGUyLCBxNSwgcTYpOwotICBxNyA9IF9fbHN4X3ZsZHgoZHN0X3RtcDEsIHN0cmlkZTMpOwot
Ci0gIFZQOV9GTEFUNShwNywgcDYsIHA1LCBwNCwgcDAsIHEwLCBxNCwgcTUsIHE2LCBxNywgZmxh
dCwgZmxhdDIpOwotCi0gIGlmIChfX2xzeF9iel92KGZsYXQyKSkgewotICAgIERVUDRfQVJHMihf
X2xzeF92bGQsIGZpbHRlcjQ4LCAwLCBmaWx0ZXI0OCwgMTYsIGZpbHRlcjQ4LCAzMiwgZmlsdGVy
NDgsIDQ4LAotICAgICAgICAgICAgICBwMiwgcDEsIHAwLCBxMCk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZsZCwgZmlsdGVyNDgsIDY0LCBmaWx0ZXI0OCwgODAsIHExLCBxMik7Ci0gICAgX19sc3hf
dnN0eChwMiwgZHN0LCAtc3RyaWRlMyk7Ci0gICAgX19sc3hfdnN0eChwMSwgZHN0LCAtc3RyaWRl
Mik7Ci0gICAgX19sc3hfdnN0eChwMCwgZHN0LCAtc3RyaWRlKTsKLSAgICBfX2xzeF92c3QocTAs
IGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0eChxMSwgZHN0LCBzdHJpZGUpOwotICAgIF9fbHN4X3Zz
dHgocTIsIGRzdCwgc3RyaWRlMik7Ci0gIH0gZWxzZSB7Ci0gICAgZHN0ID0gZHN0X3RtcDAgLSBz
dHJpZGUzOwotCi0gICAgcDdfbF9pbiA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHA3LCAw
KTsKLSAgICBwNl9sX2luID0gKHY4dTE2KV9fbHN4X3ZzbGx3aWxfaHVfYnUocDYsIDApOwotICAg
IHA1X2xfaW4gPSAodjh1MTYpX19sc3hfdnNsbHdpbF9odV9idShwNSwgMCk7Ci0gICAgcDRfbF9p
biA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHA0LCAwKTsKLSAgICBwM19sX2luID0gKHY4
dTE2KV9fbHN4X3ZzbGx3aWxfaHVfYnUocDMsIDApOwotICAgIHAyX2xfaW4gPSAodjh1MTYpX19s
c3hfdnNsbHdpbF9odV9idShwMiwgMCk7Ci0gICAgcDFfbF9pbiA9ICh2OHUxNilfX2xzeF92c2xs
d2lsX2h1X2J1KHAxLCAwKTsKLSAgICBwMF9sX2luID0gKHY4dTE2KV9fbHN4X3ZzbGx3aWxfaHVf
YnUocDAsIDApOwotICAgIHEwX2xfaW4gPSAodjh1MTYpX19sc3hfdnNsbHdpbF9odV9idShxMCwg
MCk7Ci0KLSAgICB0bXAwX2wgPSBwN19sX2luIDw8IDM7Ci0gICAgdG1wMF9sIC09IHA3X2xfaW47
Ci0gICAgdG1wMF9sICs9IHA2X2xfaW47Ci0gICAgdG1wMF9sICs9IHEwX2xfaW47Ci0gICAgdG1w
MV9sID0gcDZfbF9pbiArIHA1X2xfaW47Ci0gICAgdG1wMV9sICs9IHA0X2xfaW47Ci0gICAgdG1w
MV9sICs9IHAzX2xfaW47Ci0gICAgdG1wMV9sICs9IHAyX2xfaW47Ci0gICAgdG1wMV9sICs9IHAx
X2xfaW47Ci0gICAgdG1wMV9sICs9IHAwX2xfaW47Ci0gICAgdG1wMV9sICs9IHRtcDBfbDsKLQot
ICAgIG91dF9sID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9sLCA0KTsKLQotICAgIHA3
X2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhfaHVfYnUocDcpOwotICAgIHA2X2hfaW4gPSAodjh1
MTYpX19sc3hfdmV4dGhfaHVfYnUocDYpOwotICAgIHA1X2hfaW4gPSAodjh1MTYpX19sc3hfdmV4
dGhfaHVfYnUocDUpOwotICAgIHA0X2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhfaHVfYnUocDQp
OwotICAgIHAzX2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhfaHVfYnUocDMpOwotICAgIHAyX2hf
aW4gPSAodjh1MTYpX19sc3hfdmV4dGhfaHVfYnUocDIpOwotICAgIHAxX2hfaW4gPSAodjh1MTYp
X19sc3hfdmV4dGhfaHVfYnUocDEpOwotICAgIHAwX2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhf
aHVfYnUocDApOwotICAgIHEwX2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhfaHVfYnUocTApOwot
Ci0gICAgdG1wMF9oID0gcDdfaF9pbiA8PCAzOwotICAgIHRtcDBfaCAtPSBwN19oX2luOwotICAg
IHRtcDBfaCArPSBwNl9oX2luOwotICAgIHRtcDBfaCArPSBxMF9oX2luOwotICAgIHRtcDFfaCA9
IHA2X2hfaW4gKyBwNV9oX2luOwotICAgIHRtcDFfaCArPSBwNF9oX2luOwotICAgIHRtcDFfaCAr
PSBwM19oX2luOwotICAgIHRtcDFfaCArPSBwMl9oX2luOwotICAgIHRtcDFfaCArPSBwMV9oX2lu
OwotICAgIHRtcDFfaCArPSBwMF9oX2luOwotICAgIHRtcDFfaCArPSB0bXAwX2g7Ci0KLSAgICBv
dXRfaCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfaCwgNCk7Ci0KLSAgICBvdXRfbCA9
IF9fbHN4X3ZwaWNrZXZfYihvdXRfaCwgb3V0X2wpOwotICAgIHA2ID0gX19sc3hfdmJpdHNlbF92
KHA2LCBvdXRfbCwgZmxhdDIpOwotICAgIF9fbHN4X3ZzdChwNiwgZHN0LCAwKTsKLSAgICBkc3Qg
Kz0gc3RyaWRlOwotCi0gICAgLyogcDUgKi8KLSAgICBxMV9sX2luID0gKHY4dTE2KV9fbHN4X3Zz
bGx3aWxfaHVfYnUocTEsIDApOwotICAgIHRtcDBfbCA9IHA1X2xfaW4gLSBwNl9sX2luOwotICAg
IHRtcDBfbCArPSBxMV9sX2luOwotICAgIHRtcDBfbCAtPSBwN19sX2luOwotICAgIHRtcDFfbCAr
PSB0bXAwX2w7Ci0gICAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2wsIDQp
OwotCi0gICAgcTFfaF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9odV9idShxMSk7Ci0gICAgdG1w
MF9oID0gcDVfaF9pbiAtIHA2X2hfaW47Ci0gICAgdG1wMF9oICs9IHExX2hfaW47Ci0gICAgdG1w
MF9oIC09IHA3X2hfaW47Ci0gICAgdG1wMV9oICs9IHRtcDBfaDsKLSAgICBvdXRfaCA9IF9fbHN4
X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfaCwgNCk7Ci0KLSAgICBvdXRfbCA9IF9fbHN4X3ZwaWNr
ZXZfYihvdXRfaCwgb3V0X2wpOwotICAgIHA1ID0gX19sc3hfdmJpdHNlbF92KHA1LCBvdXRfbCwg
ZmxhdDIpOwotICAgIF9fbHN4X3ZzdChwNSwgZHN0LCAwKTsKLSAgICBkc3QgKz0gc3RyaWRlOwot
Ci0gICAgLyogcDQgKi8KLSAgICBxMl9sX2luID0gKHY4dTE2KV9fbHN4X3ZzbGx3aWxfaHVfYnUo
cTIsIDApOwotICAgIHRtcDBfbCA9IHA0X2xfaW4gLSBwNV9sX2luOwotICAgIHRtcDBfbCArPSBx
Ml9sX2luOwotICAgIHRtcDBfbCAtPSBwN19sX2luOwotICAgIHRtcDFfbCArPSB0bXAwX2w7Ci0g
ICAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2wsIDQpOwotCi0gICAgcTJf
aF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9odV9idShxMik7Ci0gICAgdG1wMF9oID0gcDRfaF9p
biAtIHA1X2hfaW47Ci0gICAgdG1wMF9oICs9IHEyX2hfaW47Ci0gICAgdG1wMF9oIC09IHA3X2hf
aW47Ci0gICAgdG1wMV9oICs9IHRtcDBfaDsKLSAgICBvdXRfaCA9IF9fbHN4X3ZzcmFyaV9oKChf
X20xMjhpKXRtcDFfaCwgNCk7Ci0KLSAgICBvdXRfbCA9IF9fbHN4X3ZwaWNrZXZfYihvdXRfaCwg
b3V0X2wpOwotICAgIHA0ID0gX19sc3hfdmJpdHNlbF92KHA0LCBvdXRfbCwgZmxhdDIpOwotICAg
IF9fbHN4X3ZzdChwNCwgZHN0LCAwKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotCi0gICAgLyogcDMg
Ki8KLSAgICBxM19sX2luID0gKHY4dTE2KV9fbHN4X3ZzbGx3aWxfaHVfYnUocTMsIDApOwotICAg
IHRtcDBfbCA9IHAzX2xfaW4gLSBwNF9sX2luOwotICAgIHRtcDBfbCArPSBxM19sX2luOwotICAg
IHRtcDBfbCAtPSBwN19sX2luOwotICAgIHRtcDFfbCArPSB0bXAwX2w7Ci0gICAgb3V0X2wgPSBf
X2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2wsIDQpOwotCi0gICAgcTNfaF9pbiA9ICh2OHUx
NilfX2xzeF92ZXh0aF9odV9idShxMyk7Ci0gICAgdG1wMF9oID0gcDNfaF9pbiAtIHA0X2hfaW47
Ci0gICAgdG1wMF9oICs9IHEzX2hfaW47Ci0gICAgdG1wMF9oIC09IHA3X2hfaW47Ci0gICAgdG1w
MV9oICs9IHRtcDBfaDsKLSAgICBvdXRfaCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFf
aCwgNCk7Ci0KLSAgICBvdXRfbCA9IF9fbHN4X3ZwaWNrZXZfYihvdXRfaCwgb3V0X2wpOwotICAg
IHAzID0gX19sc3hfdmJpdHNlbF92KHAzLCBvdXRfbCwgZmxhdDIpOwotICAgIF9fbHN4X3ZzdChw
MywgZHN0LCAwKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotCi0gICAgLyogcDIgKi8KLSAgICBxNF9s
X2luID0gKHY4dTE2KV9fbHN4X3ZzbGx3aWxfaHVfYnUocTQsIDApOwotICAgIGZpbHRlcjggPSBf
X2xzeF92bGQoZmlsdGVyNDgsIDApOwotICAgIHRtcDBfbCA9IHAyX2xfaW4gLSBwM19sX2luOwot
ICAgIHRtcDBfbCArPSBxNF9sX2luOwotICAgIHRtcDBfbCAtPSBwN19sX2luOwotICAgIHRtcDFf
bCArPSB0bXAwX2w7Ci0gICAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2ws
IDQpOwotCi0gICAgcTRfaF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9odV9idShxNCk7Ci0gICAg
dG1wMF9oID0gcDJfaF9pbiAtIHAzX2hfaW47Ci0gICAgdG1wMF9oICs9IHE0X2hfaW47Ci0gICAg
dG1wMF9oIC09IHA3X2hfaW47Ci0gICAgdG1wMV9oICs9IHRtcDBfaDsKLSAgICBvdXRfaCA9IF9f
bHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfaCwgNCk7Ci0KLSAgICBvdXRfbCA9IF9fbHN4X3Zw
aWNrZXZfYihvdXRfaCwgb3V0X2wpOwotICAgIGZpbHRlcjggPSBfX2xzeF92Yml0c2VsX3YoZmls
dGVyOCwgb3V0X2wsIGZsYXQyKTsKLSAgICBfX2xzeF92c3QoZmlsdGVyOCwgZHN0LCAwKTsKLSAg
ICBkc3QgKz0gc3RyaWRlOwotCi0gICAgLyogcDEgKi8KLSAgICBxNV9sX2luID0gKHY4dTE2KV9f
bHN4X3ZzbGx3aWxfaHVfYnUocTUsIDApOwotICAgIGZpbHRlcjggPSBfX2xzeF92bGQoZmlsdGVy
NDgsIDE2KTsKLSAgICB0bXAwX2wgPSBwMV9sX2luIC0gcDJfbF9pbjsKLSAgICB0bXAwX2wgKz0g
cTVfbF9pbjsKLSAgICB0bXAwX2wgLT0gcDdfbF9pbjsKLSAgICB0bXAxX2wgKz0gdG1wMF9sOwot
ICAgIG91dF9sID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9sLCA0KTsKLQotICAgIHE1
X2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhfaHVfYnUocTUpOwotICAgIHRtcDBfaCA9IHAxX2hf
aW4gLSBwMl9oX2luOwotICAgIHRtcDBfaCArPSBxNV9oX2luOwotICAgIHRtcDBfaCAtPSBwN19o
X2luOwotICAgIHRtcDFfaCArPSB0bXAwX2g7Ci0gICAgb3V0X2ggPSBfX2xzeF92c3JhcmlfaCgo
X19tMTI4aSl0bXAxX2gsIDQpOwotCi0gICAgb3V0X2wgPSBfX2xzeF92cGlja2V2X2Iob3V0X2gs
IG91dF9sKTsKLSAgICBmaWx0ZXI4ID0gX19sc3hfdmJpdHNlbF92KGZpbHRlcjgsIG91dF9sLCBm
bGF0Mik7Ci0gICAgX19sc3hfdnN0KGZpbHRlcjgsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IHN0cmlk
ZTsKLQotICAgIC8qIHAwICovCi0gICAgcTZfbF9pbiA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1
X2J1KHE2LCAwKTsKLSAgICBmaWx0ZXI4ID0gX19sc3hfdmxkKGZpbHRlcjQ4LCAzMik7Ci0gICAg
dG1wMF9sID0gcDBfbF9pbiAtIHAxX2xfaW47Ci0gICAgdG1wMF9sICs9IHE2X2xfaW47Ci0gICAg
dG1wMF9sIC09IHA3X2xfaW47Ci0gICAgdG1wMV9sICs9IHRtcDBfbDsKLSAgICBvdXRfbCA9IF9f
bHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfbCwgNCk7Ci0KLSAgICBxNl9oX2luID0gKHY4dTE2
KV9fbHN4X3ZleHRoX2h1X2J1KHE2KTsKLSAgICB0bXAwX2ggPSBwMF9oX2luIC0gcDFfaF9pbjsK
LSAgICB0bXAwX2ggKz0gcTZfaF9pbjsKLSAgICB0bXAwX2ggLT0gcDdfaF9pbjsKLSAgICB0bXAx
X2ggKz0gdG1wMF9oOwotICAgIG91dF9oID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9o
LCA0KTsKLQotICAgIG91dF9sID0gX19sc3hfdnBpY2tldl9iKG91dF9oLCBvdXRfbCk7Ci0gICAg
ZmlsdGVyOCA9IF9fbHN4X3ZiaXRzZWxfdihmaWx0ZXI4LCBvdXRfbCwgZmxhdDIpOwotICAgIF9f
bHN4X3ZzdChmaWx0ZXI4LCBkc3QsIDApOwotICAgIGRzdCArPSBzdHJpZGU7Ci0KLSAgICAvKiBx
MCAqLwotICAgIHE3X2xfaW4gPSAodjh1MTYpX19sc3hfdnNsbHdpbF9odV9idShxNywgMCk7Ci0g
ICAgZmlsdGVyOCA9IF9fbHN4X3ZsZChmaWx0ZXI0OCwgNDgpOwotICAgIHRtcDBfbCA9IHE3X2xf
aW4gLSBwMF9sX2luOwotICAgIHRtcDBfbCArPSBxMF9sX2luOwotICAgIHRtcDBfbCAtPSBwN19s
X2luOwotICAgIHRtcDFfbCArPSB0bXAwX2w7Ci0gICAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgo
X19tMTI4aSl0bXAxX2wsIDQpOwotCi0gICAgcTdfaF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9o
dV9idShxNyk7Ci0gICAgdG1wMF9oID0gcTdfaF9pbiAtIHAwX2hfaW47Ci0gICAgdG1wMF9oICs9
IHEwX2hfaW47Ci0gICAgdG1wMF9oIC09IHA3X2hfaW47Ci0gICAgdG1wMV9oICs9IHRtcDBfaDsK
LSAgICBvdXRfaCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfaCwgNCk7Ci0KLSAgICBv
dXRfbCA9IF9fbHN4X3ZwaWNrZXZfYihvdXRfaCwgb3V0X2wpOwotICAgIGZpbHRlcjggPSBfX2xz
eF92Yml0c2VsX3YoZmlsdGVyOCwgb3V0X2wsIGZsYXQyKTsKLSAgICBfX2xzeF92c3QoZmlsdGVy
OCwgZHN0LCAwKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotCi0gICAgLyogcTEgKi8KLSAgICBmaWx0
ZXI4ID0gX19sc3hfdmxkKGZpbHRlcjQ4LCA2NCk7Ci0gICAgdG1wMF9sID0gcTdfbF9pbiAtIHEw
X2xfaW47Ci0gICAgdG1wMF9sICs9IHExX2xfaW47Ci0gICAgdG1wMF9sIC09IHA2X2xfaW47Ci0g
ICAgdG1wMV9sICs9IHRtcDBfbDsKLSAgICBvdXRfbCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhp
KXRtcDFfbCwgNCk7Ci0KLSAgICB0bXAwX2ggPSBxN19oX2luIC0gcTBfaF9pbjsKLSAgICB0bXAw
X2ggKz0gcTFfaF9pbjsKLSAgICB0bXAwX2ggLT0gcDZfaF9pbjsKLSAgICB0bXAxX2ggKz0gdG1w
MF9oOwotICAgIG91dF9oID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLQot
ICAgIG91dF9sID0gX19sc3hfdnBpY2tldl9iKG91dF9oLCBvdXRfbCk7Ci0gICAgZmlsdGVyOCA9
IF9fbHN4X3ZiaXRzZWxfdihmaWx0ZXI4LCBvdXRfbCwgZmxhdDIpOwotICAgIF9fbHN4X3ZzdChm
aWx0ZXI4LCBkc3QsIDApOwotICAgIGRzdCArPSBzdHJpZGU7Ci0KLSAgICAvKiBxMiAqLwotICAg
IGZpbHRlcjggPSBfX2xzeF92bGQoZmlsdGVyNDgsIDgwKTsKLSAgICB0bXAwX2wgPSBxN19sX2lu
IC0gcTFfbF9pbjsKLSAgICB0bXAwX2wgKz0gcTJfbF9pbjsKLSAgICB0bXAwX2wgLT0gcDVfbF9p
bjsKLSAgICB0bXAxX2wgKz0gdG1wMF9sOwotICAgIG91dF9sID0gX19sc3hfdnNyYXJpX2goKF9f
bTEyOGkpdG1wMV9sLCA0KTsKLQotICAgIHRtcDBfaCA9IHE3X2hfaW4gLSBxMV9oX2luOwotICAg
IHRtcDBfaCArPSBxMl9oX2luOwotICAgIHRtcDBfaCAtPSBwNV9oX2luOwotICAgIHRtcDFfaCAr
PSB0bXAwX2g7Ci0gICAgb3V0X2ggPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2gsIDQp
OwotCi0gICAgb3V0X2wgPSBfX2xzeF92cGlja2V2X2Iob3V0X2gsIG91dF9sKTsKLSAgICBmaWx0
ZXI4ID0gX19sc3hfdmJpdHNlbF92KGZpbHRlcjgsIG91dF9sLCBmbGF0Mik7Ci0gICAgX19sc3hf
dnN0KGZpbHRlcjgsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IHN0cmlkZTsKLQotICAgIC8qIHEzICov
Ci0gICAgdG1wMF9sID0gcTdfbF9pbiAtIHEyX2xfaW47Ci0gICAgdG1wMF9sICs9IHEzX2xfaW47
Ci0gICAgdG1wMF9sIC09IHA0X2xfaW47Ci0gICAgdG1wMV9sICs9IHRtcDBfbDsKLSAgICBvdXRf
bCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfbCwgNCk7Ci0KLSAgICB0bXAwX2ggPSBx
N19oX2luIC0gcTJfaF9pbjsKLSAgICB0bXAwX2ggKz0gcTNfaF9pbjsKLSAgICB0bXAwX2ggLT0g
cDRfaF9pbjsKLSAgICB0bXAxX2ggKz0gdG1wMF9oOwotICAgIG91dF9oID0gX19sc3hfdnNyYXJp
X2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLQotICAgIG91dF9sID0gX19sc3hfdnBpY2tldl9iKG91
dF9oLCBvdXRfbCk7Ci0gICAgcTMgPSBfX2xzeF92Yml0c2VsX3YocTMsIG91dF9sLCBmbGF0Mik7
Ci0gICAgX19sc3hfdnN0KHEzLCBkc3QsIDApOwotICAgIGRzdCArPSBzdHJpZGU7Ci0KLSAgICAv
KiBxNCAqLwotICAgIHRtcDBfbCA9IHE3X2xfaW4gLSBxM19sX2luOwotICAgIHRtcDBfbCArPSBx
NF9sX2luOwotICAgIHRtcDBfbCAtPSBwM19sX2luOwotICAgIHRtcDFfbCArPSB0bXAwX2w7Ci0g
ICAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2wsIDQpOwotCi0gICAgdG1w
MF9oID0gcTdfaF9pbiAtIHEzX2hfaW47Ci0gICAgdG1wMF9oICs9IHE0X2hfaW47Ci0gICAgdG1w
MF9oIC09IHAzX2hfaW47Ci0gICAgdG1wMV9oICs9IHRtcDBfaDsKLSAgICBvdXRfaCA9IF9fbHN4
X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfaCwgNCk7Ci0KLSAgICBvdXRfbCA9IF9fbHN4X3ZwaWNr
ZXZfYihvdXRfaCwgb3V0X2wpOwotICAgIHE0ID0gX19sc3hfdmJpdHNlbF92KHE0LCBvdXRfbCwg
ZmxhdDIpOwotICAgIF9fbHN4X3ZzdChxNCwgZHN0LCAwKTsKLSAgICBkc3QgKz0gc3RyaWRlOwot
Ci0gICAgLyogcTUgKi8KLSAgICB0bXAwX2wgPSBxN19sX2luIC0gcTRfbF9pbjsKLSAgICB0bXAw
X2wgKz0gcTVfbF9pbjsKLSAgICB0bXAwX2wgLT0gcDJfbF9pbjsKLSAgICB0bXAxX2wgKz0gdG1w
MF9sOwotICAgIG91dF9sID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9sLCA0KTsKLQot
ICAgIHRtcDBfaCA9IHE3X2hfaW4gLSBxNF9oX2luOwotICAgIHRtcDBfaCArPSBxNV9oX2luOwot
ICAgIHRtcDBfaCAtPSBwMl9oX2luOwotICAgIHRtcDFfaCArPSB0bXAwX2g7Ci0gICAgb3V0X2gg
PSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2gsIDQpOwotCi0gICAgb3V0X2wgPSBfX2xz
eF92cGlja2V2X2Iob3V0X2gsIG91dF9sKTsKLSAgICBxNSA9IF9fbHN4X3ZiaXRzZWxfdihxNSwg
b3V0X2wsIGZsYXQyKTsKLSAgICBfX2xzeF92c3QocTUsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IHN0
cmlkZTsKLQotICAgIC8qIHE2ICovCi0gICAgdG1wMF9sID0gcTdfbF9pbiAtIHE1X2xfaW47Ci0g
ICAgdG1wMF9sICs9IHE2X2xfaW47Ci0gICAgdG1wMF9sIC09IHAxX2xfaW47Ci0gICAgdG1wMV9s
ICs9IHRtcDBfbDsKLSAgICBvdXRfbCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfbCwg
NCk7Ci0KLSAgICB0bXAwX2ggPSBxN19oX2luIC0gcTVfaF9pbjsKLSAgICB0bXAwX2ggKz0gcTZf
aF9pbjsKLSAgICB0bXAwX2ggLT0gcDFfaF9pbjsKLSAgICB0bXAxX2ggKz0gdG1wMF9oOwotICAg
IG91dF9oID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLQotICAgIG91dF9s
ID0gX19sc3hfdnBpY2tldl9iKG91dF9oLCBvdXRfbCk7Ci0gICAgcTYgPSBfX2xzeF92Yml0c2Vs
X3YocTYsIG91dF9sLCBmbGF0Mik7Ci0gICAgX19sc3hfdnN0KHE2LCBkc3QsIDApOwotICB9Ci19
Ci0KLXN0YXRpYyB2b2lkIG1iX2xwZl9ob3Jpem9udGFsX2VkZ2VfZHVhbCh1aW50OF90ICpkc3Qs
IGludDMyX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKmJfbGltaXRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmxpbWl0X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICp0aHJlc2hfcHRyKSB7Ci0gIERF
Q0xBUkVfQUxJR05FRCgxNiwgdWludDhfdCwgZmlsdGVyNDhbMTYgKiA4XSk7Ci0gIHVpbnQ4X3Qg
ZWFybHlfZXhpdCA9IDA7Ci0KLSAgZWFybHlfZXhpdCA9IGh6X2xwZl90NF9hbmRfdDhfMTZ3KGRz
dCwgc3RyaWRlLCAmZmlsdGVyNDhbMF0sIGJfbGltaXRfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGltaXRfcHRyLCB0aHJlc2hfcHRyKTsKLQotICBpZiAoZWFybHlf
ZXhpdCA9PSAwKSB7Ci0gICAgaHpfbHBmX3QxNl8xNncoZHN0LCBzdHJpZGUsIGZpbHRlcjQ4KTsK
LSAgfQotfQotCi1zdGF0aWMgdm9pZCBtYl9scGZfaG9yaXpvbnRhbF9lZGdlKHVpbnQ4X3QgKmRz
dCwgaW50MzJfdCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKmJfbGltaXRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpsaW1pdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnRocmVzaF9wdHIsIGludDMyX3QgY291bnQpIHsKLSAg
aWYgKGNvdW50ID09IDEpIHsKLSAgICBfX20xMjhpIGZsYXQyLCBtYXNrLCBoZXYsIGZsYXQsIHRo
cmVzaCwgYl9saW1pdCwgbGltaXQ7Ci0gICAgX19tMTI4aSBwMywgcDIsIHAxLCBwMCwgcTMsIHEy
LCBxMSwgcTAsIHA3LCBwNiwgcDUsIHA0LCBxNCwgcTUsIHE2LCBxNzsKLSAgICBfX20xMjhpIHAy
X291dCwgcDFfb3V0LCBwMF9vdXQsIHEwX291dCwgcTFfb3V0LCBxMl9vdXQ7Ci0gICAgX19tMTI4
aSBwMF9maWx0ZXIxNiwgcDFfZmlsdGVyMTY7Ci0gICAgX19tMTI4aSBwMl9maWx0ZXI4LCBwMV9m
aWx0ZXI4LCBwMF9maWx0ZXI4OwotICAgIF9fbTEyOGkgcTBfZmlsdGVyOCwgcTFfZmlsdGVyOCwg
cTJfZmlsdGVyODsKLSAgICBfX20xMjhpIHA3X2wsIHA2X2wsIHA1X2wsIHA0X2wsIHE3X2wsIHE2
X2wsIHE1X2wsIHE0X2w7Ci0gICAgX19tMTI4aSBwM19sLCBwMl9sLCBwMV9sLCBwMF9sLCBxM19s
LCBxMl9sLCBxMV9sLCBxMF9sOwotICAgIF9fbTEyOGkgemVybyA9IF9fbHN4X3ZsZGkoMCk7Ci0g
ICAgX19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyOwotCi0gICAgaW50MzJfdCBzdHJpZGUyID0gc3Ry
aWRlIDw8IDE7Ci0gICAgaW50MzJfdCBzdHJpZGUzID0gMiArIHN0cmlkZTsKLSAgICBpbnQzMl90
IHN0cmlkZTQgPSBzdHJpZGUgPDwgMjsKLSAgICB1aW50OF90ICpkc3RfdG1wMCA9IGRzdCAtIHN0
cmlkZTQ7Ci0gICAgdWludDhfdCAqZHN0X3RtcDEgPSBkc3QgKyBzdHJpZGU0OwotCi0gICAgLyog
bG9hZCB2ZWN0b3IgZWxlbWVudHMgKi8KLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgZHN0LCAt
c3RyaWRlNCwgZHN0LCAtc3RyaWRlMywgZHN0LCAtc3RyaWRlMiwgZHN0LAotICAgICAgICAgICAg
ICAtc3RyaWRlLCBwMywgcDIsIHAxLCBwMCk7Ci0gICAgcTAgPSBfX2xzeF92bGQoZHN0LCAwKTsK
LSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgZHN0LCBzdHJpZGUsIGRzdCwgc3RyaWRlMiwgcTEs
IHEyKTsKLSAgICBxMyA9IF9fbHN4X3ZsZHgoZHN0LCBzdHJpZGUzKTsKLQotICAgIHRocmVzaCA9
IF9fbHN4X3ZsZHJlcGxfYih0aHJlc2hfcHRyLCAwKTsKLSAgICBiX2xpbWl0ID0gX19sc3hfdmxk
cmVwbF9iKGJfbGltaXRfcHRyLCAwKTsKLSAgICBsaW1pdCA9IF9fbHN4X3ZsZHJlcGxfYihsaW1p
dF9wdHIsIDApOwotCi0gICAgLyogZmlsdGVyX21hc2sqICovCi0gICAgTFBGX01BU0tfSEVWKHAz
LCBwMiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQsIGJfbGltaXQsIHRocmVzaCwgaGV2
LAotICAgICAgICAgICAgICAgICBtYXNrLCBmbGF0KTsKLSAgICBWUDlfRkxBVDQocDMsIHAyLCBw
MCwgcTAsIHEyLCBxMywgZmxhdCk7Ci0gICAgVlA5X0xQRl9GSUxURVI0XzRXKHAxLCBwMCwgcTAs
IHExLCBtYXNrLCBoZXYsIHAxX291dCwgcDBfb3V0LCBxMF9vdXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHExX291dCk7Ci0gICAgZmxhdCA9IF9fbHN4X3ZpbHZsX2QoemVybywgZmxhdCk7Ci0g
ICAgaWYgKF9fbHN4X2J6X3YoZmxhdCkpIHsKLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHAxX291dCwg
ZHN0IC0gc3RyaWRlMiwgMCwgMCk7Ci0gICAgICBfX2xzeF92c3RlbG1fZChwMF9vdXQsIGRzdCAt
IHN0cmlkZSwgMCwgMCk7Ci0gICAgICBfX2xzeF92c3RlbG1fZChxMF9vdXQsIGRzdCwgMCwgMCk7
Ci0gICAgICBfX2xzeF92c3RlbG1fZChxMV9vdXQsIGRzdCArIHN0cmlkZSwgMCwgMCk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgIC8qIGNvbnZlcnQgOCBiaXQgaW5wdXQgZGF0YSBpbnRvIDE2IGJpdCAq
LwotICAgICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHplcm8sIHAzLCB6ZXJvLCBwMiwgemVy
bywgcDEsIHplcm8sIHAwLCBwM19sLAotICAgICAgICAgICAgICAgIHAyX2wsIHAxX2wsIHAwX2wp
OwotICAgICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHplcm8sIHEwLCB6ZXJvLCBxMSwgemVy
bywgcTIsIHplcm8sIHEzLCBxMF9sLAotICAgICAgICAgICAgICAgIHExX2wsIHEyX2wsIHEzX2wp
OwotICAgICAgVlA5X0ZJTFRFUjgocDNfbCwgcDJfbCwgcDFfbCwgcDBfbCwgcTBfbCwgcTFfbCwg
cTJfbCwgcTNfbCwgcDJfZmlsdGVyOCwKLSAgICAgICAgICAgICAgICAgIHAxX2ZpbHRlcjgsIHAw
X2ZpbHRlcjgsIHEwX2ZpbHRlcjgsIHExX2ZpbHRlcjgsIHEyX2ZpbHRlcjgpOwotCi0gICAgICAv
KiBjb252ZXJ0IDE2IGJpdCBvdXRwdXQgZGF0YSBpbnRvIDggYml0ICovCi0gICAgICBEVVA0X0FS
RzIoX19sc3hfdnBpY2tldl9iLCB6ZXJvLCBwMl9maWx0ZXI4LCB6ZXJvLCBwMV9maWx0ZXI4LCB6
ZXJvLAotICAgICAgICAgICAgICAgIHAwX2ZpbHRlcjgsIHplcm8sIHEwX2ZpbHRlcjgsIHAyX2Zp
bHRlcjgsIHAxX2ZpbHRlcjgsCi0gICAgICAgICAgICAgICAgcDBfZmlsdGVyOCwgcTBfZmlsdGVy
OCk7Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9iLCB6ZXJvLCBxMV9maWx0ZXI4LCB6
ZXJvLCBxMl9maWx0ZXI4LCBxMV9maWx0ZXI4LAotICAgICAgICAgICAgICAgIHEyX2ZpbHRlcjgp
OwotCi0gICAgICAvKiBzdG9yZSBwaXhlbCB2YWx1ZXMgKi8KLSAgICAgIHAyX291dCA9IF9fbHN4
X3ZiaXRzZWxfdihwMiwgcDJfZmlsdGVyOCwgZmxhdCk7Ci0gICAgICBwMV9vdXQgPSBfX2xzeF92
Yml0c2VsX3YocDFfb3V0LCBwMV9maWx0ZXI4LCBmbGF0KTsKLSAgICAgIHAwX291dCA9IF9fbHN4
X3ZiaXRzZWxfdihwMF9vdXQsIHAwX2ZpbHRlcjgsIGZsYXQpOwotICAgICAgcTBfb3V0ID0gX19s
c3hfdmJpdHNlbF92KHEwX291dCwgcTBfZmlsdGVyOCwgZmxhdCk7Ci0gICAgICBxMV9vdXQgPSBf
X2xzeF92Yml0c2VsX3YocTFfb3V0LCBxMV9maWx0ZXI4LCBmbGF0KTsKLSAgICAgIHEyX291dCA9
IF9fbHN4X3ZiaXRzZWxfdihxMiwgcTJfZmlsdGVyOCwgZmxhdCk7Ci0KLSAgICAgIC8qIGxvYWQg
MTYgdmVjdG9yIGVsZW1lbnRzICovCi0gICAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgZHN0X3Rt
cDAsIC1zdHJpZGU0LCBkc3RfdG1wMCwgLXN0cmlkZTMsIGRzdF90bXAwLAotICAgICAgICAgICAg
ICAgIC1zdHJpZGUyLCBkc3RfdG1wMCwgLXN0cmlkZSwgcDcsIHA2LCBwNSwgcDQpOwotICAgICAg
cTQgPSBfX2xzeF92bGQoZHN0X3RtcDEsIDApOwotICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgs
IGRzdF90bXAxLCBzdHJpZGUsIGRzdF90bXAxLCBzdHJpZGUyLCBxNSwgcTYpOwotICAgICAgcTcg
PSBfX2xzeF92bGR4KGRzdF90bXAxLCBzdHJpZGUzKTsKLQotICAgICAgVlA5X0ZMQVQ1KHA3LCBw
NiwgcDUsIHA0LCBwMCwgcTAsIHE0LCBxNSwgcTYsIHE3LCBmbGF0LCBmbGF0Mik7Ci0KLSAgICAg
IGlmIChfX2xzeF9iel92KGZsYXQyKSkgewotICAgICAgICBkc3QgLT0gc3RyaWRlMzsKLSAgICAg
ICAgX19sc3hfdnN0ZWxtX2QocDJfb3V0LCBkc3QsIDAsIDApOwotICAgICAgICBkc3QgKz0gc3Ry
aWRlOwotICAgICAgICBfX2xzeF92c3RlbG1fZChwMV9vdXQsIGRzdCwgMCwgMCk7Ci0gICAgICAg
IGRzdCArPSBzdHJpZGU7Ci0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHAwX291dCwgZHN0LCAwLCAw
KTsKLSAgICAgICAgZHN0ICs9IHN0cmlkZTsKLSAgICAgICAgX19sc3hfdnN0ZWxtX2QocTBfb3V0
LCBkc3QsIDAsIDApOwotICAgICAgICBkc3QgKz0gc3RyaWRlOwotICAgICAgICBfX2xzeF92c3Rl
bG1fZChxMV9vdXQsIGRzdCwgMCwgMCk7Ci0gICAgICAgIGRzdCArPSBzdHJpZGU7Ci0gICAgICAg
IF9fbHN4X3ZzdGVsbV9kKHEyX291dCwgZHN0LCAwLCAwKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgIC8qIExTQihyaWdodCkgOCBwaXhlbCBvcGVyYXRpb24gKi8KLSAgICAgICAgRFVQNF9BUkcy
KF9fbHN4X3ZpbHZsX2IsIHplcm8sIHA3LCB6ZXJvLCBwNiwgemVybywgcDUsIHplcm8sIHA0LCBw
N19sLAotICAgICAgICAgICAgICAgICAgcDZfbCwgcDVfbCwgcDRfbCk7Ci0gICAgICAgIERVUDRf
QVJHMihfX2xzeF92aWx2bF9iLCB6ZXJvLCBxNCwgemVybywgcTUsIHplcm8sIHE2LCB6ZXJvLCBx
NywgcTRfbCwKLSAgICAgICAgICAgICAgICAgIHE1X2wsIHE2X2wsIHE3X2wpOwotCi0gICAgICAg
IHRtcDAgPSBfX2xzeF92c2xsaV9oKHA3X2wsIDMpOwotICAgICAgICB0bXAwID0gX19sc3hfdnN1
Yl9oKHRtcDAsIHA3X2wpOwotICAgICAgICB0bXAwID0gX19sc3hfdmFkZF9oKHRtcDAsIHA2X2wp
OwotICAgICAgICB0bXAwID0gX19sc3hfdmFkZF9oKHRtcDAsIHEwX2wpOwotCi0gICAgICAgIGRz
dCA9IGRzdF90bXAwIC0gc3RyaWRlMzsKLQotICAgICAgICAvKiBjYWxjdWxhdGlvbiBvZiBwNiBh
bmQgcDUgKi8KLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaChwNl9sLCBwNV9sKTsKLSAgICAg
ICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCBwNF9sKTsKLSAgICAgICAgdG1wMSA9IF9fbHN4
X3ZhZGRfaCh0bXAxLCBwM19sKTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCBw
Ml9sKTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCBwMV9sKTsKLSAgICAgICAg
dG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCBwMF9sKTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3Zh
ZGRfaCh0bXAxLCB0bXAwKTsKLSAgICAgICAgcDBfZmlsdGVyMTYgPSBfX2xzeF92c3JhcmlfaCh0
bXAxLCA0KTsKLSAgICAgICAgdG1wMCA9IF9fbHN4X3ZzdWJfaChwNV9sLCBwNl9sKTsKLSAgICAg
ICAgdG1wMCA9IF9fbHN4X3ZhZGRfaCh0bXAwLCBxMV9sKTsKLSAgICAgICAgdG1wMCA9IF9fbHN4
X3ZzdWJfaCh0bXAwLCBwN19sKTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCB0
bXAwKTsKLSAgICAgICAgcDFfZmlsdGVyMTYgPSBfX2xzeF92c3JhcmlfaCh0bXAxLCA0KTsKLSAg
ICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfYiwgemVybywgcDBfZmlsdGVyMTYsIHplcm8s
IHAxX2ZpbHRlcjE2LAotICAgICAgICAgICAgICAgICAgcDBfZmlsdGVyMTYsIHAxX2ZpbHRlcjE2
KTsKLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZiaXRzZWxfdiwgcDYsIHAwX2ZpbHRlcjE2LCBm
bGF0MiwgcDUsIHAxX2ZpbHRlcjE2LAotICAgICAgICAgICAgICAgICAgZmxhdDIsIHAwX2ZpbHRl
cjE2LCBwMV9maWx0ZXIxNik7Ci0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHAwX2ZpbHRlcjE2LCBk
c3QsIDAsIDApOwotICAgICAgICBkc3QgKz0gc3RyaWRlOwotICAgICAgICBfX2xzeF92c3RlbG1f
ZChwMV9maWx0ZXIxNiwgZHN0LCAwLCAwKTsKLSAgICAgICAgZHN0ICs9IHN0cmlkZTsKLQotICAg
ICAgICAvKiBjYWxjdWxhdGlvbiBvZiBwNCBhbmQgcDMgKi8KLSAgICAgICAgdG1wMCA9IF9fbHN4
X3ZzdWJfaChwNF9sLCBwNV9sKTsKLSAgICAgICAgdG1wMCA9IF9fbHN4X3ZhZGRfaCh0bXAwLCBx
Ml9sKTsKLSAgICAgICAgdG1wMCA9IF9fbHN4X3ZzdWJfaCh0bXAwLCBwN19sKTsKLSAgICAgICAg
dG1wMiA9IF9fbHN4X3ZzdWJfaChwM19sLCBwNF9sKTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3Zh
ZGRfaCh0bXAyLCBxM19sKTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3ZzdWJfaCh0bXAyLCBwN19s
KTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCB0bXAwKTsKLSAgICAgICAgcDBf
ZmlsdGVyMTYgPSBfX2xzeF92c3JhcmlfaCh0bXAxLCA0KTsKLSAgICAgICAgdG1wMSA9IF9fbHN4
X3ZhZGRfaCh0bXAxLCB0bXAyKTsKLSAgICAgICAgcDFfZmlsdGVyMTYgPSBfX2xzeF92c3Jhcmlf
aCh0bXAxLCA0KTsKLSAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfYiwgemVybywgcDBf
ZmlsdGVyMTYsIHplcm8sIHAxX2ZpbHRlcjE2LAotICAgICAgICAgICAgICAgICAgcDBfZmlsdGVy
MTYsIHAxX2ZpbHRlcjE2KTsKLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZiaXRzZWxfdiwgcDQs
IHAwX2ZpbHRlcjE2LCBmbGF0MiwgcDMsIHAxX2ZpbHRlcjE2LAotICAgICAgICAgICAgICAgICAg
ZmxhdDIsIHAwX2ZpbHRlcjE2LCBwMV9maWx0ZXIxNik7Ci0gICAgICAgIF9fbHN4X3ZzdGVsbV9k
KHAwX2ZpbHRlcjE2LCBkc3QsIDAsIDApOwotICAgICAgICBkc3QgKz0gc3RyaWRlOwotICAgICAg
ICBfX2xzeF92c3RlbG1fZChwMV9maWx0ZXIxNiwgZHN0LCAwLCAwKTsKLSAgICAgICAgZHN0ICs9
IHN0cmlkZTsKLQotICAgICAgICAvKiBjYWxjdWxhdGlvbiBvZiBwMiBhbmQgcDEgKi8KLSAgICAg
ICAgdG1wMCA9IF9fbHN4X3ZzdWJfaChwMl9sLCBwM19sKTsKLSAgICAgICAgdG1wMCA9IF9fbHN4
X3ZhZGRfaCh0bXAwLCBxNF9sKTsKLSAgICAgICAgdG1wMCA9IF9fbHN4X3ZzdWJfaCh0bXAwLCBw
N19sKTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3ZzdWJfaChwMV9sLCBwMl9sKTsKLSAgICAgICAg
dG1wMiA9IF9fbHN4X3ZhZGRfaCh0bXAyLCBxNV9sKTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3Zz
dWJfaCh0bXAyLCBwN19sKTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCB0bXAw
KTsKLSAgICAgICAgcDBfZmlsdGVyMTYgPSBfX2xzeF92c3JhcmlfaCh0bXAxLCA0KTsKLSAgICAg
ICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCB0bXAyKTsKLSAgICAgICAgcDFfZmlsdGVyMTYg
PSBfX2xzeF92c3JhcmlfaCh0bXAxLCA0KTsKLSAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNr
ZXZfYiwgemVybywgcDBfZmlsdGVyMTYsIHplcm8sIHAxX2ZpbHRlcjE2LAotICAgICAgICAgICAg
ICAgICAgcDBfZmlsdGVyMTYsIHAxX2ZpbHRlcjE2KTsKLSAgICAgICAgRFVQMl9BUkczKF9fbHN4
X3ZiaXRzZWxfdiwgcDJfb3V0LCBwMF9maWx0ZXIxNiwgZmxhdDIsIHAxX291dCwKLSAgICAgICAg
ICAgICAgICAgIHAxX2ZpbHRlcjE2LCBmbGF0MiwgcDBfZmlsdGVyMTYsIHAxX2ZpbHRlcjE2KTsK
LSAgICAgICAgX19sc3hfdnN0ZWxtX2QocDBfZmlsdGVyMTYsIGRzdCwgMCwgMCk7Ci0gICAgICAg
IGRzdCArPSBzdHJpZGU7Ci0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHAxX2ZpbHRlcjE2LCBkc3Qs
IDAsIDApOwotICAgICAgICBkc3QgKz0gc3RyaWRlOwotCi0gICAgICAgIC8qIGNhbGN1bGF0aW9u
IG9mIHAwIGFuZCBxMCAqLwotICAgICAgICB0bXAwID0gX19sc3hfdnN1Yl9oKHAwX2wsIHAxX2wp
OwotICAgICAgICB0bXAwID0gX19sc3hfdmFkZF9oKHRtcDAsIHE2X2wpOwotICAgICAgICB0bXAw
ID0gX19sc3hfdnN1Yl9oKHRtcDAsIHA3X2wpOwotICAgICAgICB0bXAyID0gX19sc3hfdnN1Yl9o
KHE3X2wsIHAwX2wpOwotICAgICAgICB0bXAyID0gX19sc3hfdmFkZF9oKHRtcDIsIHEwX2wpOwot
ICAgICAgICB0bXAyID0gX19sc3hfdnN1Yl9oKHRtcDIsIHA3X2wpOwotICAgICAgICB0bXAxID0g
X19sc3hfdmFkZF9oKHRtcDEsIHRtcDApOwotICAgICAgICBwMF9maWx0ZXIxNiA9IF9fbHN4X3Zz
cmFyaV9oKHRtcDEsIDQpOwotICAgICAgICB0bXAxID0gX19sc3hfdmFkZF9oKHRtcDEsIHRtcDIp
OwotICAgICAgICBwMV9maWx0ZXIxNiA9IF9fbHN4X3ZzcmFyaV9oKHRtcDEsIDQpOwotICAgICAg
ICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9iLCB6ZXJvLCBwMF9maWx0ZXIxNiwgemVybywgcDFf
ZmlsdGVyMTYsCi0gICAgICAgICAgICAgICAgICBwMF9maWx0ZXIxNiwgcDFfZmlsdGVyMTYpOwot
ICAgICAgICBEVVAyX0FSRzMoX19sc3hfdmJpdHNlbF92LCBwMF9vdXQsIHAwX2ZpbHRlcjE2LCBm
bGF0MiwgcTBfb3V0LAotICAgICAgICAgICAgICAgICAgcDFfZmlsdGVyMTYsIGZsYXQyLCBwMF9m
aWx0ZXIxNiwgcDFfZmlsdGVyMTYpOwotICAgICAgICBfX2xzeF92c3RlbG1fZChwMF9maWx0ZXIx
NiwgZHN0LCAwLCAwKTsKLSAgICAgICAgZHN0ICs9IHN0cmlkZTsKLSAgICAgICAgX19sc3hfdnN0
ZWxtX2QocDFfZmlsdGVyMTYsIGRzdCwgMCwgMCk7Ci0gICAgICAgIGRzdCArPSBzdHJpZGU7Ci0K
LSAgICAgICAgLyogY2FsY3VsYXRpb24gb2YgcTEgYW5kIHEyICovCi0gICAgICAgIHRtcDAgPSBf
X2xzeF92c3ViX2gocTdfbCwgcTBfbCk7Ci0gICAgICAgIHRtcDAgPSBfX2xzeF92YWRkX2godG1w
MCwgcTFfbCk7Ci0gICAgICAgIHRtcDAgPSBfX2xzeF92c3ViX2godG1wMCwgcDZfbCk7Ci0gICAg
ICAgIHRtcDIgPSBfX2xzeF92c3ViX2gocTdfbCwgcTFfbCk7Ci0gICAgICAgIHRtcDIgPSBfX2xz
eF92YWRkX2godG1wMiwgcTJfbCk7Ci0gICAgICAgIHRtcDIgPSBfX2xzeF92c3ViX2godG1wMiwg
cDVfbCk7Ci0gICAgICAgIHRtcDEgPSBfX2xzeF92YWRkX2godG1wMSwgdG1wMCk7Ci0gICAgICAg
IHAwX2ZpbHRlcjE2ID0gX19sc3hfdnNyYXJpX2godG1wMSwgNCk7Ci0gICAgICAgIHRtcDEgPSBf
X2xzeF92YWRkX2godG1wMSwgdG1wMik7Ci0gICAgICAgIHAxX2ZpbHRlcjE2ID0gX19sc3hfdnNy
YXJpX2godG1wMSwgNCk7Ci0gICAgICAgIERVUDJfQVJHMihfX2xzeF92cGlja2V2X2IsIHplcm8s
IHAwX2ZpbHRlcjE2LCB6ZXJvLCBwMV9maWx0ZXIxNiwKLSAgICAgICAgICAgICAgICAgIHAwX2Zp
bHRlcjE2LCBwMV9maWx0ZXIxNik7Ci0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92Yml0c2VsX3Ys
IHExX291dCwgcDBfZmlsdGVyMTYsIGZsYXQyLCBxMl9vdXQsCi0gICAgICAgICAgICAgICAgICBw
MV9maWx0ZXIxNiwgZmxhdDIsIHAwX2ZpbHRlcjE2LCBwMV9maWx0ZXIxNik7Ci0gICAgICAgIF9f
bHN4X3ZzdGVsbV9kKHAwX2ZpbHRlcjE2LCBkc3QsIDAsIDApOwotICAgICAgICBkc3QgKz0gc3Ry
aWRlOwotICAgICAgICBfX2xzeF92c3RlbG1fZChwMV9maWx0ZXIxNiwgZHN0LCAwLCAwKTsKLSAg
ICAgICAgZHN0ICs9IHN0cmlkZTsKLQotICAgICAgICAvKiBjYWxjdWxhdGlvbiBvZiBxMyBhbmQg
cTQgKi8KLSAgICAgICAgdG1wMCA9IF9fbHN4X3ZzdWJfaChxN19sLCBxMl9sKTsKLSAgICAgICAg
dG1wMCA9IF9fbHN4X3ZhZGRfaCh0bXAwLCBxM19sKTsKLSAgICAgICAgdG1wMCA9IF9fbHN4X3Zz
dWJfaCh0bXAwLCBwNF9sKTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3ZzdWJfaChxN19sLCBxM19s
KTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3ZhZGRfaCh0bXAyLCBxNF9sKTsKLSAgICAgICAgdG1w
MiA9IF9fbHN4X3ZzdWJfaCh0bXAyLCBwM19sKTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRf
aCh0bXAxLCB0bXAwKTsKLSAgICAgICAgcDBfZmlsdGVyMTYgPSBfX2xzeF92c3JhcmlfaCh0bXAx
LCA0KTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCB0bXAyKTsKLSAgICAgICAg
cDFfZmlsdGVyMTYgPSBfX2xzeF92c3JhcmlfaCh0bXAxLCA0KTsKLSAgICAgICAgRFVQMl9BUkcy
KF9fbHN4X3ZwaWNrZXZfYiwgemVybywgcDBfZmlsdGVyMTYsIHplcm8sIHAxX2ZpbHRlcjE2LAot
ICAgICAgICAgICAgICAgICAgcDBfZmlsdGVyMTYsIHAxX2ZpbHRlcjE2KTsKLSAgICAgICAgRFVQ
Ml9BUkczKF9fbHN4X3ZiaXRzZWxfdiwgcTMsIHAwX2ZpbHRlcjE2LCBmbGF0MiwgcTQsIHAxX2Zp
bHRlcjE2LAotICAgICAgICAgICAgICAgICAgZmxhdDIsIHAwX2ZpbHRlcjE2LCBwMV9maWx0ZXIx
Nik7Ci0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHAwX2ZpbHRlcjE2LCBkc3QsIDAsIDApOwotICAg
ICAgICBkc3QgKz0gc3RyaWRlOwotICAgICAgICBfX2xzeF92c3RlbG1fZChwMV9maWx0ZXIxNiwg
ZHN0LCAwLCAwKTsKLSAgICAgICAgZHN0ICs9IHN0cmlkZTsKLQotICAgICAgICAvKiBjYWxjdWxh
dGlvbiBvZiBxNSBhbmQgcTYgKi8KLSAgICAgICAgdG1wMCA9IF9fbHN4X3ZzdWJfaChxN19sLCBx
NF9sKTsKLSAgICAgICAgdG1wMCA9IF9fbHN4X3ZhZGRfaCh0bXAwLCBxNV9sKTsKLSAgICAgICAg
dG1wMCA9IF9fbHN4X3ZzdWJfaCh0bXAwLCBwMl9sKTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3Zz
dWJfaChxN19sLCBxNV9sKTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3ZhZGRfaCh0bXAyLCBxNl9s
KTsKLSAgICAgICAgdG1wMiA9IF9fbHN4X3ZzdWJfaCh0bXAyLCBwMV9sKTsKLSAgICAgICAgdG1w
MSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCB0bXAwKTsKLSAgICAgICAgcDBfZmlsdGVyMTYgPSBfX2xz
eF92c3JhcmlfaCh0bXAxLCA0KTsKLSAgICAgICAgdG1wMSA9IF9fbHN4X3ZhZGRfaCh0bXAxLCB0
bXAyKTsKLSAgICAgICAgcDFfZmlsdGVyMTYgPSBfX2xzeF92c3JhcmlfaCh0bXAxLCA0KTsKLSAg
ICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfYiwgemVybywgcDBfZmlsdGVyMTYsIHplcm8s
IHAxX2ZpbHRlcjE2LAotICAgICAgICAgICAgICAgICAgcDBfZmlsdGVyMTYsIHAxX2ZpbHRlcjE2
KTsKLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZiaXRzZWxfdiwgcTUsIHAwX2ZpbHRlcjE2LCBm
bGF0MiwgcTYsIHAxX2ZpbHRlcjE2LAotICAgICAgICAgICAgICAgICAgZmxhdDIsIHAwX2ZpbHRl
cjE2LCBwMV9maWx0ZXIxNik7Ci0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHAwX2ZpbHRlcjE2LCBk
c3QsIDAsIDApOwotICAgICAgICBkc3QgKz0gc3RyaWRlOwotICAgICAgICBfX2xzeF92c3RlbG1f
ZChwMV9maWx0ZXIxNiwgZHN0LCAwLCAwKTsKLSAgICAgIH0KLSAgICB9Ci0gIH0gZWxzZSB7Ci0g
ICAgbWJfbHBmX2hvcml6b250YWxfZWRnZV9kdWFsKGRzdCwgc3RyaWRlLCBiX2xpbWl0X3B0ciwg
bGltaXRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlc2hfcHRyKTsK
LSAgfQotfQotCi12b2lkIHZweF9scGZfaG9yaXpvbnRhbF8xNl9kdWFsX2xzeCh1aW50OF90ICpk
c3QsIGludDMyX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCAqYl9saW1pdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICpsaW1pdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICp0aHJlc2hfcHRyKSB7Ci0gIG1iX2xwZl9ob3Jp
em9udGFsX2VkZ2UoZHN0LCBzdHJpZGUsIGJfbGltaXRfcHRyLCBsaW1pdF9wdHIsIHRocmVzaF9w
dHIsIDIpOwotfQotCi1zdGF0aWMgdm9pZCB0cmFuc3Bvc2VfMTZ4MTYodWludDhfdCAqaW5wdXQs
IGludDMyX3QgaW5fc3RyaWRlLCB1aW50OF90ICpvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MzJfdCBvdXRfc3RyaWRlKSB7Ci0gIF9fbTEyOGkgcm93MCwgcm93MSwgcm93
Miwgcm93Mywgcm93NCwgcm93NSwgcm93Niwgcm93NzsKLSAgX19tMTI4aSByb3c4LCByb3c5LCBy
b3cxMCwgcm93MTEsIHJvdzEyLCByb3cxMywgcm93MTQsIHJvdzE1OwotICBfX20xMjhpIHRtcDAs
IHRtcDEsIHRtcDQsIHRtcDUsIHRtcDYsIHRtcDc7Ci0gIF9fbTEyOGkgdG1wMiwgdG1wMzsKLSAg
X19tMTI4aSBwNywgcDYsIHA1LCBwNCwgcDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzLCBx
NCwgcTUsIHE2LCBxNzsKLSAgaW50MzJfdCBpbl9zdHJpZGUyID0gaW5fc3RyaWRlIDw8IDE7Ci0g
IGludDMyX3QgaW5fc3RyaWRlMyA9IGluX3N0cmlkZTIgKyBpbl9zdHJpZGU7Ci0gIGludDMyX3Qg
aW5fc3RyaWRlNCA9IGluX3N0cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBvdXRfc3RyaWRlMiA9IG91
dF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBvdXRfc3RyaWRlMyA9IG91dF9zdHJpZGUyICsgb3V0
X3N0cmlkZTsKLSAgaW50MzJfdCBvdXRfc3RyaWRlNCA9IG91dF9zdHJpZGUyIDw8IDE7Ci0KLSAg
TFNYX0xEXzgoaW5wdXQsIGluX3N0cmlkZSwgaW5fc3RyaWRlMiwgaW5fc3RyaWRlMywgaW5fc3Ry
aWRlNCwgcm93MCwgcm93MSwKLSAgICAgICAgICAgcm93Miwgcm93Mywgcm93NCwgcm93NSwgcm93
Niwgcm93Nyk7Ci0gIGlucHV0ICs9IGluX3N0cmlkZTQ7Ci0gIExTWF9MRF84KGlucHV0LCBpbl9z
dHJpZGUsIGluX3N0cmlkZTIsIGluX3N0cmlkZTMsIGluX3N0cmlkZTQsIHJvdzgsIHJvdzksCi0g
ICAgICAgICAgIHJvdzEwLCByb3cxMSwgcm93MTIsIHJvdzEzLCByb3cxNCwgcm93MTUpOwotCi0g
IExTWF9UUkFOU1BPU0UxNng4X0Iocm93MCwgcm93MSwgcm93Miwgcm93Mywgcm93NCwgcm93NSwg
cm93Niwgcm93Nywgcm93OCwKLSAgICAgICAgICAgICAgICAgICAgICByb3c5LCByb3cxMCwgcm93
MTEsIHJvdzEyLCByb3cxMywgcm93MTQsIHJvdzE1LCBwNywgcDYsCi0gICAgICAgICAgICAgICAg
ICAgICAgcDUsIHA0LCBwMywgcDIsIHAxLCBwMCk7Ci0KLSAgLyogdHJhbnNwb3NlIDE2eDggbWF0
cml4IGludG8gOHgxNiAqLwotICAvKiB0b3RhbCA4IGludGVybWVkaWF0ZSByZWdpc3RlciBhbmQg
MzIgaW5zdHJ1Y3Rpb25zICovCi0gIHE3ID0gX19sc3hfdnBhY2tvZF9kKHJvdzgsIHJvdzApOwot
ICBxNiA9IF9fbHN4X3ZwYWNrb2RfZChyb3c5LCByb3cxKTsKLSAgcTUgPSBfX2xzeF92cGFja29k
X2Qocm93MTAsIHJvdzIpOwotICBxNCA9IF9fbHN4X3ZwYWNrb2RfZChyb3cxMSwgcm93Myk7Ci0g
IHEzID0gX19sc3hfdnBhY2tvZF9kKHJvdzEyLCByb3c0KTsKLSAgcTIgPSBfX2xzeF92cGFja29k
X2Qocm93MTMsIHJvdzUpOwotICBxMSA9IF9fbHN4X3ZwYWNrb2RfZChyb3cxNCwgcm93Nik7Ci0g
IHEwID0gX19sc3hfdnBhY2tvZF9kKHJvdzE1LCByb3c3KTsKLQotICBEVVAyX0FSRzIoX19sc3hf
dnBhY2tldl9iLCBxNiwgcTcsIHE0LCBxNSwgdG1wMCwgdG1wMSk7Ci0gIERVUDJfQVJHMihfX2xz
eF92cGFja29kX2IsIHE2LCBxNywgcTQsIHE1LCB0bXA0LCB0bXA1KTsKLQotICBEVVAyX0FSRzIo
X19sc3hfdnBhY2tldl9iLCBxMiwgcTMsIHEwLCBxMSwgcTUsIHE3KTsKLSAgRFVQMl9BUkcyKF9f
bHN4X3ZwYWNrb2RfYiwgcTIsIHEzLCBxMCwgcTEsIHRtcDYsIHRtcDcpOwotCi0gIERVUDJfQVJH
MihfX2xzeF92cGFja2V2X2gsIHRtcDEsIHRtcDAsIHE3LCBxNSwgdG1wMiwgdG1wMyk7Ci0gIHEw
ID0gX19sc3hfdnBhY2tldl93KHRtcDMsIHRtcDIpOwotICBxNCA9IF9fbHN4X3ZwYWNrb2Rfdyh0
bXAzLCB0bXAyKTsKLQotICB0bXAyID0gX19sc3hfdnBhY2tvZF9oKHRtcDEsIHRtcDApOwotICB0
bXAzID0gX19sc3hfdnBhY2tvZF9oKHE3LCBxNSk7Ci0gIHEyID0gX19sc3hfdnBhY2tldl93KHRt
cDMsIHRtcDIpOwotICBxNiA9IF9fbHN4X3ZwYWNrb2Rfdyh0bXAzLCB0bXAyKTsKLQotICBEVVAy
X0FSRzIoX19sc3hfdnBhY2tldl9oLCB0bXA1LCB0bXA0LCB0bXA3LCB0bXA2LCB0bXAyLCB0bXAz
KTsKLSAgcTEgPSBfX2xzeF92cGFja2V2X3codG1wMywgdG1wMik7Ci0gIHE1ID0gX19sc3hfdnBh
Y2tvZF93KHRtcDMsIHRtcDIpOwotCi0gIHRtcDIgPSBfX2xzeF92cGFja29kX2godG1wNSwgdG1w
NCk7Ci0gIHRtcDMgPSBfX2xzeF92cGFja29kX2godG1wNywgdG1wNik7Ci0gIHEzID0gX19sc3hf
dnBhY2tldl93KHRtcDMsIHRtcDIpOwotICBxNyA9IF9fbHN4X3ZwYWNrb2Rfdyh0bXAzLCB0bXAy
KTsKLQotICBMU1hfU1RfOChwNywgcDYsIHA1LCBwNCwgcDMsIHAyLCBwMSwgcDAsIG91dHB1dCwg
b3V0X3N0cmlkZSwgb3V0X3N0cmlkZTIsCi0gICAgICAgICAgIG91dF9zdHJpZGUzLCBvdXRfc3Ry
aWRlNCk7Ci0gIG91dHB1dCArPSBvdXRfc3RyaWRlNDsKLSAgTFNYX1NUXzgocTAsIHExLCBxMiwg
cTMsIHE0LCBxNSwgcTYsIHE3LCBvdXRwdXQsIG91dF9zdHJpZGUsIG91dF9zdHJpZGUyLAotICAg
ICAgICAgICBvdXRfc3RyaWRlMywgb3V0X3N0cmlkZTQpOwotfQotCi1zdGF0aWMgaW50MzJfdCB2
dF9scGZfdDRfYW5kX3Q4XzE2dyh1aW50OF90ICpkc3QsIHVpbnQ4X3QgKmZpbHRlcjQ4LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0X29yZywgaW50MzJf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OF90ICpiX2xpbWl0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKmxpbWl0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QgKnRocmVzaF9wdHIpIHsKLSAgaW50MzJfdCBzdHJpZGUyID0gc3Ry
aWRlIDw8IDE7Ci0gIGludDMyX3Qgc3RyaWRlMyA9IHN0cmlkZTIgKyBzdHJpZGU7Ci0gIGludDMy
X3Qgc3RyaWRlNCA9IHN0cmlkZTIgPDwgMTsKLSAgX19tMTI4aSBwMywgcDIsIHAxLCBwMCwgcTMs
IHEyLCBxMSwgcTA7Ci0gIF9fbTEyOGkgcDJfb3V0LCBwMV9vdXQsIHAwX291dCwgcTBfb3V0LCBx
MV9vdXQsIHEyX291dDsKLSAgX19tMTI4aSBmbGF0LCBtYXNrLCBoZXYsIHRocmVzaCwgYl9saW1p
dCwgbGltaXQ7Ci0gIF9fbTEyOGkgcDNfbCwgcDJfbCwgcDFfbCwgcDBfbCwgcTBfbCwgcTFfbCwg
cTJfbCwgcTNfbDsKLSAgX19tMTI4aSBwM19oLCBwMl9oLCBwMV9oLCBwMF9oLCBxMF9oLCBxMV9o
LCBxMl9oLCBxM19oOwotICBfX20xMjhpIHAyX2ZpbHQ4X2wsIHAxX2ZpbHQ4X2wsIHAwX2ZpbHQ4
X2w7Ci0gIF9fbTEyOGkgcTBfZmlsdDhfbCwgcTFfZmlsdDhfbCwgcTJfZmlsdDhfbDsKLSAgX19t
MTI4aSBwMl9maWx0OF9oLCBwMV9maWx0OF9oLCBwMF9maWx0OF9oOwotICBfX20xMjhpIHEwX2Zp
bHQ4X2gsIHExX2ZpbHQ4X2gsIHEyX2ZpbHQ4X2g7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVj
MiwgdmVjMywgdmVjNCwgdmVjNTsKLQotICAvKiBsb2FkIHZlY3RvciBlbGVtZW50cyAqLwotICBE
VVA0X0FSRzIoX19sc3hfdmxkLCBkc3QsIC02NCwgZHN0LCAtNDgsIGRzdCwgLTMyLCBkc3QsIC0x
NiwgcDMsIHAyLCBwMSwgcDApOwotICBEVVA0X0FSRzIoX19sc3hfdmxkLCBkc3QsIDAsIGRzdCwg
MTYsIGRzdCwgMzIsIGRzdCwgNDgsIHEwLCBxMSwgcTIsIHEzKTsKLQotICB0aHJlc2ggPSBfX2xz
eF92bGRyZXBsX2IodGhyZXNoX3B0ciwgMCk7Ci0gIGJfbGltaXQgPSBfX2xzeF92bGRyZXBsX2Io
Yl9saW1pdF9wdHIsIDApOwotICBsaW1pdCA9IF9fbHN4X3ZsZHJlcGxfYihsaW1pdF9wdHIsIDAp
OwotCi0gIC8qIG1hc2sgYW5kIGhldiAqLwotICBMUEZfTUFTS19IRVYocDMsIHAyLCBwMSwgcDAs
IHEwLCBxMSwgcTIsIHEzLCBsaW1pdCwgYl9saW1pdCwgdGhyZXNoLCBoZXYsCi0gICAgICAgICAg
ICAgICBtYXNrLCBmbGF0KTsKLSAgLyogZmxhdDQgKi8KLSAgVlA5X0ZMQVQ0KHAzLCBwMiwgcDAs
IHEwLCBxMiwgcTMsIGZsYXQpOwotICAvKiBmaWx0ZXI0ICovCi0gIFZQOV9MUEZfRklMVEVSNF80
VyhwMSwgcDAsIHEwLCBxMSwgbWFzaywgaGV2LCBwMV9vdXQsIHAwX291dCwgcTBfb3V0LCBxMV9v
dXQpOwotCi0gIC8qIGlmIGZsYXQgaXMgemVybyBmb3IgYWxsIHBpeGVscywgdGhlbiBubyBuZWVk
IHRvIGNhbGN1bGF0ZSBvdGhlciBmaWx0ZXIgKi8KLSAgaWYgKF9fbHN4X2J6X3YoZmxhdCkpIHsK
LSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgcDBfb3V0LCBwMV9vdXQsIHExX291dCwgcTBf
b3V0LCB2ZWMwLCB2ZWMxKTsKLSAgICB2ZWMyID0gX19sc3hfdmlsdmxfaCh2ZWMxLCB2ZWMwKTsK
LSAgICB2ZWMzID0gX19sc3hfdmlsdmhfaCh2ZWMxLCB2ZWMwKTsKLSAgICBEVVAyX0FSRzIoX19s
c3hfdmlsdmhfYiwgcDBfb3V0LCBwMV9vdXQsIHExX291dCwgcTBfb3V0LCB2ZWMwLCB2ZWMxKTsK
LSAgICB2ZWM0ID0gX19sc3hfdmlsdmxfaCh2ZWMxLCB2ZWMwKTsKLSAgICB2ZWM1ID0gX19sc3hf
dmlsdmhfaCh2ZWMxLCB2ZWMwKTsKLQotICAgIGRzdF9vcmcgLT0gMjsKLSAgICBfX2xzeF92c3Rl
bG1fdyh2ZWMyLCBkc3Rfb3JnLCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWMyLCBkc3Rf
b3JnICsgc3RyaWRlLCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWMyLCBkc3Rfb3JnICsg
c3RyaWRlMiwgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjMiwgZHN0X29yZyArIHN0cmlk
ZTMsIDAsIDMpOwotICAgIGRzdF9vcmcgKz0gc3RyaWRlNDsKLSAgICBfX2xzeF92c3RlbG1fdyh2
ZWMzLCBkc3Rfb3JnLCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWMzLCBkc3Rfb3JnICsg
c3RyaWRlLCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWMzLCBkc3Rfb3JnICsgc3RyaWRl
MiwgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjMywgZHN0X29yZyArIHN0cmlkZTMsIDAs
IDMpOwotICAgIGRzdF9vcmcgKz0gc3RyaWRlNDsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWM0LCBk
c3Rfb3JnLCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWM0LCBkc3Rfb3JnICsgc3RyaWRl
LCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWM0LCBkc3Rfb3JnICsgc3RyaWRlMiwgMCwg
Mik7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjNCwgZHN0X29yZyArIHN0cmlkZTMsIDAsIDMpOwot
ICAgIGRzdF9vcmcgKz0gc3RyaWRlNDsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWM1LCBkc3Rfb3Jn
LCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWM1LCBkc3Rfb3JnICsgc3RyaWRlLCAwLCAx
KTsKLSAgICBfX2xzeF92c3RlbG1fdyh2ZWM1LCBkc3Rfb3JnICsgc3RyaWRlMiwgMCwgMik7Ci0g
ICAgX19sc3hfdnN0ZWxtX3codmVjNSwgZHN0X29yZyArIHN0cmlkZTMsIDAsIDMpOwotCi0gICAg
cmV0dXJuIDE7Ci0gIH0KLQotICBEVVA0X0FSRzIoX19sc3hfdnNsbHdpbF9odV9idSwgcDMsIDAs
IHAyLCAwLCBwMSwgMCwgcDAsIDAsIHAzX2wsIHAyX2wsIHAxX2wsCi0gICAgICAgICAgICBwMF9s
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZzbGx3aWxfaHVfYnUsIHEwLCAwLCBxMSwgMCwgcTIsIDAs
IHEzLCAwLCBxMF9sLCBxMV9sLCBxMl9sLAotICAgICAgICAgICAgcTNfbCk7Ci0gIFZQOV9GSUxU
RVI4KHAzX2wsIHAyX2wsIHAxX2wsIHAwX2wsIHEwX2wsIHExX2wsIHEyX2wsIHEzX2wsIHAyX2Zp
bHQ4X2wsCi0gICAgICAgICAgICAgIHAxX2ZpbHQ4X2wsIHAwX2ZpbHQ4X2wsIHEwX2ZpbHQ4X2ws
IHExX2ZpbHQ4X2wsIHEyX2ZpbHQ4X2wpOwotICBEVVA0X0FSRzEoX19sc3hfdmV4dGhfaHVfYnUs
IHAzLCBwMiwgcDEsIHAwLCBwM19oLCBwMl9oLCBwMV9oLCBwMF9oKTsKLSAgRFVQNF9BUkcxKF9f
bHN4X3ZleHRoX2h1X2J1LCBxMCwgcTEsIHEyLCBxMywgcTBfaCwgcTFfaCwgcTJfaCwgcTNfaCk7
Ci0gIFZQOV9GSUxURVI4KHAzX2gsIHAyX2gsIHAxX2gsIHAwX2gsIHEwX2gsIHExX2gsIHEyX2gs
IHEzX2gsIHAyX2ZpbHQ4X2gsCi0gICAgICAgICAgICAgIHAxX2ZpbHQ4X2gsIHAwX2ZpbHQ4X2gs
IHEwX2ZpbHQ4X2gsIHExX2ZpbHQ4X2gsIHEyX2ZpbHQ4X2gpOwotCi0gIC8qIGNvbnZlcnQgMTYg
Yml0IG91dHB1dCBkYXRhIGludG8gOCBiaXQgKi8KLSAgRFVQNF9BUkcyKF9fbHN4X3ZwaWNrZXZf
YiwgcDJfZmlsdDhfaCwgcDJfZmlsdDhfbCwgcDFfZmlsdDhfaCwgcDFfZmlsdDhfbCwKLSAgICAg
ICAgICAgIHAwX2ZpbHQ4X2gsIHAwX2ZpbHQ4X2wsIHEwX2ZpbHQ4X2gsIHEwX2ZpbHQ4X2wsIHAy
X2ZpbHQ4X2wsCi0gICAgICAgICAgICBwMV9maWx0OF9sLCBwMF9maWx0OF9sLCBxMF9maWx0OF9s
KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfYiwgcTFfZmlsdDhfaCwgcTFfZmlsdDhfbCwg
cTJfZmlsdDhfaCwgcTJfZmlsdDhfbCwKLSAgICAgICAgICAgIHExX2ZpbHQ4X2wsIHEyX2ZpbHQ4
X2wpOwotCi0gIC8qIHN0b3JlIHBpeGVsIHZhbHVlcyAqLwotICBwMl9vdXQgPSBfX2xzeF92Yml0
c2VsX3YocDIsIHAyX2ZpbHQ4X2wsIGZsYXQpOwotICBwMV9vdXQgPSBfX2xzeF92Yml0c2VsX3Yo
cDFfb3V0LCBwMV9maWx0OF9sLCBmbGF0KTsKLSAgcDBfb3V0ID0gX19sc3hfdmJpdHNlbF92KHAw
X291dCwgcDBfZmlsdDhfbCwgZmxhdCk7Ci0gIHEwX291dCA9IF9fbHN4X3ZiaXRzZWxfdihxMF9v
dXQsIHEwX2ZpbHQ4X2wsIGZsYXQpOwotICBxMV9vdXQgPSBfX2xzeF92Yml0c2VsX3YocTFfb3V0
LCBxMV9maWx0OF9sLCBmbGF0KTsKLSAgcTJfb3V0ID0gX19sc3hfdmJpdHNlbF92KHEyLCBxMl9m
aWx0OF9sLCBmbGF0KTsKLQotICBfX2xzeF92c3QocDJfb3V0LCBmaWx0ZXI0OCwgMCk7Ci0gIF9f
bHN4X3ZzdChwMV9vdXQsIGZpbHRlcjQ4LCAxNik7Ci0gIF9fbHN4X3ZzdChwMF9vdXQsIGZpbHRl
cjQ4LCAzMik7Ci0gIF9fbHN4X3ZzdChxMF9vdXQsIGZpbHRlcjQ4LCA0OCk7Ci0gIF9fbHN4X3Zz
dChxMV9vdXQsIGZpbHRlcjQ4LCA2NCk7Ci0gIF9fbHN4X3ZzdChxMl9vdXQsIGZpbHRlcjQ4LCA4
MCk7Ci0gIF9fbHN4X3ZzdChmbGF0LCBmaWx0ZXI0OCwgOTYpOwotCi0gIHJldHVybiAwOwotfQot
Ci1zdGF0aWMgaW50MzJfdCB2dF9scGZfdDE2XzE2dyh1aW50OF90ICpkc3QsIHVpbnQ4X3QgKmRz
dF9vcmcsIGludDMyX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCAqZmlsdGVyNDgpIHsKLSAgX19tMTI4aSBmbGF0LCBmbGF0MiwgZmlsdGVyODsKLSAgX19t
MTI4aSBwNywgcDYsIHA1LCBwNCwgcDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzLCBxNCwg
cTUsIHE2LCBxNzsKLSAgX19tMTI4aSBvdXRfbCwgb3V0X2g7Ci0gIHY4dTE2IHA3X2xfaW4sIHA2
X2xfaW4sIHA1X2xfaW4sIHA0X2xfaW47Ci0gIHY4dTE2IHAzX2xfaW4sIHAyX2xfaW4sIHAxX2xf
aW4sIHAwX2xfaW47Ci0gIHY4dTE2IHE3X2xfaW4sIHE2X2xfaW4sIHE1X2xfaW4sIHE0X2xfaW47
Ci0gIHY4dTE2IHEzX2xfaW4sIHEyX2xfaW4sIHExX2xfaW4sIHEwX2xfaW47Ci0gIHY4dTE2IHA3
X2hfaW4sIHA2X2hfaW4sIHA1X2hfaW4sIHA0X2hfaW47Ci0gIHY4dTE2IHAzX2hfaW4sIHAyX2hf
aW4sIHAxX2hfaW4sIHAwX2hfaW47Ci0gIHY4dTE2IHE3X2hfaW4sIHE2X2hfaW4sIHE1X2hfaW4s
IHE0X2hfaW47Ci0gIHY4dTE2IHEzX2hfaW4sIHEyX2hfaW4sIHExX2hfaW4sIHEwX2hfaW47Ci0g
IHY4dTE2IHRtcDBfbCwgdG1wMV9sLCB0bXAwX2gsIHRtcDFfaDsKLSAgdWludDhfdCAqZHN0X3Rt
cCA9IGRzdCAtIDEyODsKLQotICBmbGF0ID0gX19sc3hfdmxkKGZpbHRlcjQ4LCA5Nik7Ci0KLSAg
RFVQNF9BUkcyKF9fbHN4X3ZsZCwgZHN0X3RtcCwgMCwgZHN0X3RtcCwgMTYsIGRzdF90bXAsIDMy
LCBkc3RfdG1wLCA0OCwgcDcsCi0gICAgICAgICAgICBwNiwgcDUsIHA0KTsKLSAgRFVQNF9BUkcy
KF9fbHN4X3ZsZCwgZHN0X3RtcCwgNjQsIGRzdF90bXAsIDgwLCBkc3RfdG1wLCA5NiwgZHN0X3Rt
cCwgMTEyLCBwMywKLSAgICAgICAgICAgIHAyLCBwMSwgcDApOwotICBEVVA0X0FSRzIoX19sc3hf
dmxkLCBkc3QsIDAsIGRzdCwgMTYsIGRzdCwgMzIsIGRzdCwgNDgsIHEwLCBxMSwgcTIsIHEzKTsK
LSAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgZHN0LCA2NCwgZHN0LCA4MCwgZHN0LCA5NiwgZHN0LCAx
MTIsIHE0LCBxNSwgcTYsIHE3KTsKLQotICBWUDlfRkxBVDUocDcsIHA2LCBwNSwgcDQsIHAwLCBx
MCwgcTQsIHE1LCBxNiwgcTcsIGZsYXQsIGZsYXQyKTsKLSAgLyogaWYgZmxhdDIgaXMgemVybyBm
b3IgYWxsIHBpeGVscywgdGhlbiBubyBuZWVkIHRvIGNhbGN1bGF0ZSBvdGhlciBmaWx0ZXIgKi8K
LSAgaWYgKF9fbHN4X2J6X3YoZmxhdDIpKSB7Ci0gICAgX19tMTI4aSB2ZWMwLCB2ZWMxLCB2ZWMy
LCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgZmlsdGVyNDgsIDAsIGZpbHRlcjQ4LCAxNiwgZmlsdGVyNDgsIDMyLCBmaWx0ZXI0OCwgNDgs
Ci0gICAgICAgICAgICAgIHAyLCBwMSwgcDAsIHEwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxk
LCBmaWx0ZXI0OCwgNjQsIGZpbHRlcjQ4LCA4MCwgcTEsIHEyKTsKLQotICAgIERVUDJfQVJHMihf
X2xzeF92aWx2bF9iLCBwMSwgcDIsIHEwLCBwMCwgdmVjMCwgdmVjMSk7Ci0gICAgdmVjMyA9IF9f
bHN4X3ZpbHZsX2godmVjMSwgdmVjMCk7Ci0gICAgdmVjNCA9IF9fbHN4X3ZpbHZoX2godmVjMSwg
dmVjMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIHAxLCBwMiwgcTAsIHAwLCB2ZWMw
LCB2ZWMxKTsKLSAgICB2ZWM2ID0gX19sc3hfdmlsdmxfaCh2ZWMxLCB2ZWMwKTsKLSAgICB2ZWM3
ID0gX19sc3hfdmlsdmhfaCh2ZWMxLCB2ZWMwKTsKLSAgICB2ZWMyID0gX19sc3hfdmlsdmxfYihx
MiwgcTEpOwotICAgIHZlYzUgPSBfX2xzeF92aWx2aF9iKHEyLCBxMSk7Ci0KLSAgICBkc3Rfb3Jn
IC09IDM7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjMywgZHN0X29yZywgMCwgMCk7Ci0gICAgX19s
c3hfdnN0ZWxtX2godmVjMiwgZHN0X29yZywgNCwgMCk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7
Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjMywgZHN0X29yZywgMCwgMSk7Ci0gICAgX19sc3hfdnN0
ZWxtX2godmVjMiwgZHN0X29yZywgNCwgMSk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAg
X19sc3hfdnN0ZWxtX3codmVjMywgZHN0X29yZywgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX2go
dmVjMiwgZHN0X29yZywgNCwgMik7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hf
dnN0ZWxtX3codmVjMywgZHN0X29yZywgMCwgMyk7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjMiwg
ZHN0X29yZywgNCwgMyk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxt
X3codmVjNCwgZHN0X29yZywgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjMiwgZHN0X29y
ZywgNCwgNCk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVj
NCwgZHN0X29yZywgMCwgMSk7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjMiwgZHN0X29yZywgNCwg
NSk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjNCwgZHN0
X29yZywgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjMiwgZHN0X29yZywgNCwgNik7Ci0g
ICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjNCwgZHN0X29yZywg
MCwgMyk7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjMiwgZHN0X29yZywgNCwgNyk7Ci0gICAgZHN0
X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjNiwgZHN0X29yZywgMCwgMCk7
Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjNSwgZHN0X29yZywgNCwgMCk7Ci0gICAgZHN0X29yZyAr
PSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjNiwgZHN0X29yZywgMCwgMSk7Ci0gICAg
X19sc3hfdnN0ZWxtX2godmVjNSwgZHN0X29yZywgNCwgMSk7Ci0gICAgZHN0X29yZyArPSBzdHJp
ZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjNiwgZHN0X29yZywgMCwgMik7Ci0gICAgX19sc3hf
dnN0ZWxtX2godmVjNSwgZHN0X29yZywgNCwgMik7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0g
ICAgX19sc3hfdnN0ZWxtX3codmVjNiwgZHN0X29yZywgMCwgMyk7Ci0gICAgX19sc3hfdnN0ZWxt
X2godmVjNSwgZHN0X29yZywgNCwgMyk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19s
c3hfdnN0ZWxtX3codmVjNywgZHN0X29yZywgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVj
NSwgZHN0X29yZywgNCwgNCk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0
ZWxtX3codmVjNywgZHN0X29yZywgMCwgMSk7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjNSwgZHN0
X29yZywgNCwgNSk7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3co
dmVjNywgZHN0X29yZywgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjNSwgZHN0X29yZywg
NCwgNik7Ci0gICAgZHN0X29yZyArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3codmVjNywg
ZHN0X29yZywgMCwgMyk7Ci0gICAgX19sc3hfdnN0ZWxtX2godmVjNSwgZHN0X29yZywgNCwgNyk7
Ci0KLSAgICByZXR1cm4gMTsKLSAgfQotCi0gIGRzdCAtPSA3ICogMTY7Ci0KLSAgcDdfbF9pbiA9
ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHA3LCAwKTsKLSAgcDZfbF9pbiA9ICh2OHUxNilf
X2xzeF92c2xsd2lsX2h1X2J1KHA2LCAwKTsKLSAgcDVfbF9pbiA9ICh2OHUxNilfX2xzeF92c2xs
d2lsX2h1X2J1KHA1LCAwKTsKLSAgcDRfbF9pbiA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1
KHA0LCAwKTsKLSAgcDNfbF9pbiA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHAzLCAwKTsK
LSAgcDJfbF9pbiA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHAyLCAwKTsKLSAgcDFfbF9p
biA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHAxLCAwKTsKLSAgcDBfbF9pbiA9ICh2OHUx
NilfX2xzeF92c2xsd2lsX2h1X2J1KHAwLCAwKTsKLSAgcTBfbF9pbiA9ICh2OHUxNilfX2xzeF92
c2xsd2lsX2h1X2J1KHEwLCAwKTsKLQotICB0bXAwX2wgPSBwN19sX2luIDw8IDM7Ci0gIHRtcDBf
bCAtPSBwN19sX2luOwotICB0bXAwX2wgKz0gcDZfbF9pbjsKLSAgdG1wMF9sICs9IHEwX2xfaW47
Ci0gIHRtcDFfbCA9IHA2X2xfaW4gKyBwNV9sX2luOwotICB0bXAxX2wgKz0gcDRfbF9pbjsKLSAg
dG1wMV9sICs9IHAzX2xfaW47Ci0gIHRtcDFfbCArPSBwMl9sX2luOwotICB0bXAxX2wgKz0gcDFf
bF9pbjsKLSAgdG1wMV9sICs9IHAwX2xfaW47Ci0gIHRtcDFfbCArPSB0bXAwX2w7Ci0gIG91dF9s
ID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9sLCA0KTsKLSAgcDdfaF9pbiA9ICh2OHUx
NilfX2xzeF92ZXh0aF9odV9idShwNyk7Ci0gIHA2X2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhf
aHVfYnUocDYpOwotICBwNV9oX2luID0gKHY4dTE2KV9fbHN4X3ZleHRoX2h1X2J1KHA1KTsKLSAg
cDRfaF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9odV9idShwNCk7Ci0gIHAzX2hfaW4gPSAodjh1
MTYpX19sc3hfdmV4dGhfaHVfYnUocDMpOwotICBwMl9oX2luID0gKHY4dTE2KV9fbHN4X3ZleHRo
X2h1X2J1KHAyKTsKLSAgcDFfaF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9odV9idShwMSk7Ci0g
IHAwX2hfaW4gPSAodjh1MTYpX19sc3hfdmV4dGhfaHVfYnUocDApOwotICBxMF9oX2luID0gKHY4
dTE2KV9fbHN4X3ZleHRoX2h1X2J1KHEwKTsKLQotICB0bXAwX2ggPSBwN19oX2luIDw8IDM7Ci0g
IHRtcDBfaCAtPSBwN19oX2luOwotICB0bXAwX2ggKz0gcDZfaF9pbjsKLSAgdG1wMF9oICs9IHEw
X2hfaW47Ci0gIHRtcDFfaCA9IHA2X2hfaW4gKyBwNV9oX2luOwotICB0bXAxX2ggKz0gcDRfaF9p
bjsKLSAgdG1wMV9oICs9IHAzX2hfaW47Ci0gIHRtcDFfaCArPSBwMl9oX2luOwotICB0bXAxX2gg
Kz0gcDFfaF9pbjsKLSAgdG1wMV9oICs9IHAwX2hfaW47Ci0gIHRtcDFfaCArPSB0bXAwX2g7Ci0g
IG91dF9oID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLQotICBvdXRfbCA9
IF9fbHN4X3ZwaWNrZXZfYihvdXRfaCwgb3V0X2wpOwotICBwNiA9IF9fbHN4X3ZiaXRzZWxfdihw
Niwgb3V0X2wsIGZsYXQyKTsKLSAgX19sc3hfdnN0KHA2LCBkc3QsIDApOwotCi0gIC8qIHA1ICov
Ci0gIHExX2xfaW4gPSAodjh1MTYpX19sc3hfdnNsbHdpbF9odV9idShxMSwgMCk7Ci0gIHRtcDBf
bCA9IHA1X2xfaW4gLSBwNl9sX2luOwotICB0bXAwX2wgKz0gcTFfbF9pbjsKLSAgdG1wMF9sIC09
IHA3X2xfaW47Ci0gIHRtcDFfbCArPSB0bXAwX2w7Ci0gIG91dF9sID0gX19sc3hfdnNyYXJpX2go
KF9fbTEyOGkpdG1wMV9sLCA0KTsKLSAgcTFfaF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9odV9i
dShxMSk7Ci0gIHRtcDBfaCA9IHA1X2hfaW4gLSBwNl9oX2luOwotICB0bXAwX2ggKz0gcTFfaF9p
bjsKLSAgdG1wMF9oIC09IHA3X2hfaW47Ci0gIHRtcDFfaCArPSB0bXAwX2g7Ci0gIG91dF9oID0g
X19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLSAgb3V0X2wgPSBfX2xzeF92cGlj
a2V2X2Iob3V0X2gsIG91dF9sKTsKLSAgcDUgPSBfX2xzeF92Yml0c2VsX3YocDUsIG91dF9sLCBm
bGF0Mik7Ci0gIF9fbHN4X3ZzdChwNSwgZHN0LCAxNik7Ci0KLSAgLyogcDQgKi8KLSAgcTJfbF9p
biA9ICh2OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHEyLCAwKTsKLSAgdG1wMF9sID0gcDRfbF9p
biAtIHA1X2xfaW47Ci0gIHRtcDBfbCArPSBxMl9sX2luOwotICB0bXAwX2wgLT0gcDdfbF9pbjsK
LSAgdG1wMV9sICs9IHRtcDBfbDsKLSAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0
bXAxX2wsIDQpOwotICBxMl9oX2luID0gKHY4dTE2KV9fbHN4X3ZleHRoX2h1X2J1KHEyKTsKLSAg
dG1wMF9oID0gcDRfaF9pbiAtIHA1X2hfaW47Ci0gIHRtcDBfaCArPSBxMl9oX2luOwotICB0bXAw
X2ggLT0gcDdfaF9pbjsKLSAgdG1wMV9oICs9IHRtcDBfaDsKLSAgb3V0X2ggPSBfX2xzeF92c3Jh
cmlfaCgoX19tMTI4aSl0bXAxX2gsIDQpOwotICBvdXRfbCA9IF9fbHN4X3ZwaWNrZXZfYihvdXRf
aCwgb3V0X2wpOwotICBwNCA9IF9fbHN4X3ZiaXRzZWxfdihwNCwgb3V0X2wsIGZsYXQyKTsKLSAg
X19sc3hfdnN0KHA0LCBkc3QsIDE2ICogMik7Ci0KLSAgLyogcDMgKi8KLSAgcTNfbF9pbiA9ICh2
OHUxNilfX2xzeF92c2xsd2lsX2h1X2J1KHEzLCAwKTsKLSAgdG1wMF9sID0gcDNfbF9pbiAtIHA0
X2xfaW47Ci0gIHRtcDBfbCArPSBxM19sX2luOwotICB0bXAwX2wgLT0gcDdfbF9pbjsKLSAgdG1w
MV9sICs9IHRtcDBfbDsKLSAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAxX2ws
IDQpOwotICBxM19oX2luID0gKHY4dTE2KV9fbHN4X3ZleHRoX2h1X2J1KHEzKTsKLSAgdG1wMF9o
ID0gcDNfaF9pbiAtIHA0X2hfaW47Ci0gIHRtcDBfaCArPSBxM19oX2luOwotICB0bXAwX2ggLT0g
cDdfaF9pbjsKLSAgdG1wMV9oICs9IHRtcDBfaDsKLSAgb3V0X2ggPSBfX2xzeF92c3JhcmlfaCgo
X19tMTI4aSl0bXAxX2gsIDQpOwotICBvdXRfbCA9IF9fbHN4X3ZwaWNrZXZfYihvdXRfaCwgb3V0
X2wpOwotICBwMyA9IF9fbHN4X3ZiaXRzZWxfdihwMywgb3V0X2wsIGZsYXQyKTsKLSAgX19sc3hf
dnN0KHAzLCBkc3QsIDE2ICogMyk7Ci0KLSAgLyogcDIgKi8KLSAgcTRfbF9pbiA9ICh2OHUxNilf
X2xzeF92c2xsd2lsX2h1X2J1KHE0LCAwKTsKLSAgZmlsdGVyOCA9IF9fbHN4X3ZsZChmaWx0ZXI0
OCwgMCk7Ci0gIHRtcDBfbCA9IHAyX2xfaW4gLSBwM19sX2luOwotICB0bXAwX2wgKz0gcTRfbF9p
bjsKLSAgdG1wMF9sIC09IHA3X2xfaW47Ci0gIHRtcDFfbCArPSB0bXAwX2w7Ci0gIG91dF9sID0g
X19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9sLCA0KTsKLSAgcTRfaF9pbiA9ICh2OHUxNilf
X2xzeF92ZXh0aF9odV9idShxNCk7Ci0gIHRtcDBfaCA9IHAyX2hfaW4gLSBwM19oX2luOwotICB0
bXAwX2ggKz0gcTRfaF9pbjsKLSAgdG1wMF9oIC09IHA3X2hfaW47Ci0gIHRtcDFfaCArPSB0bXAw
X2g7Ci0gIG91dF9oID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLSAgb3V0
X2wgPSBfX2xzeF92cGlja2V2X2Iob3V0X2gsIG91dF9sKTsKLSAgZmlsdGVyOCA9IF9fbHN4X3Zi
aXRzZWxfdihmaWx0ZXI4LCBvdXRfbCwgZmxhdDIpOwotICBfX2xzeF92c3QoZmlsdGVyOCwgZHN0
LCAxNiAqIDQpOwotCi0gIC8qIHAxICovCi0gIHE1X2xfaW4gPSAodjh1MTYpX19sc3hfdnNsbHdp
bF9odV9idShxNSwgMCk7Ci0gIGZpbHRlcjggPSBfX2xzeF92bGQoZmlsdGVyNDgsIDE2KTsKLSAg
dG1wMF9sID0gcDFfbF9pbiAtIHAyX2xfaW47Ci0gIHRtcDBfbCArPSBxNV9sX2luOwotICB0bXAw
X2wgLT0gcDdfbF9pbjsKLSAgdG1wMV9sICs9IHRtcDBfbDsKLSAgb3V0X2wgPSBfX2xzeF92c3Jh
cmlfaCgoX19tMTI4aSl0bXAxX2wsIDQpOwotICBxNV9oX2luID0gKHY4dTE2KV9fbHN4X3ZleHRo
X2h1X2J1KHE1KTsKLSAgdG1wMF9oID0gcDFfaF9pbiAtIHAyX2hfaW47Ci0gIHRtcDBfaCArPSBx
NV9oX2luOwotICB0bXAwX2ggLT0gcDdfaF9pbjsKLSAgdG1wMV9oICs9IHRtcDBfaDsKLSAgb3V0
X2ggPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSkodG1wMV9oKSwgNCk7Ci0gIG91dF9sID0gX19s
c3hfdnBpY2tldl9iKG91dF9oLCBvdXRfbCk7Ci0gIGZpbHRlcjggPSBfX2xzeF92Yml0c2VsX3Yo
ZmlsdGVyOCwgb3V0X2wsIGZsYXQyKTsKLSAgX19sc3hfdnN0KGZpbHRlcjgsIGRzdCwgMTYgKiA1
KTsKLQotICAvKiBwMCAqLwotICBxNl9sX2luID0gKHY4dTE2KV9fbHN4X3ZzbGx3aWxfaHVfYnUo
cTYsIDApOwotICBmaWx0ZXI4ID0gX19sc3hfdmxkKGZpbHRlcjQ4LCAzMik7Ci0gIHRtcDBfbCA9
IHAwX2xfaW4gLSBwMV9sX2luOwotICB0bXAwX2wgKz0gcTZfbF9pbjsKLSAgdG1wMF9sIC09IHA3
X2xfaW47Ci0gIHRtcDFfbCArPSB0bXAwX2w7Ci0gIG91dF9sID0gX19sc3hfdnNyYXJpX2goKF9f
bTEyOGkpdG1wMV9sLCA0KTsKLSAgcTZfaF9pbiA9ICh2OHUxNilfX2xzeF92ZXh0aF9odV9idShx
Nik7Ci0gIHRtcDBfaCA9IHAwX2hfaW4gLSBwMV9oX2luOwotICB0bXAwX2ggKz0gcTZfaF9pbjsK
LSAgdG1wMF9oIC09IHA3X2hfaW47Ci0gIHRtcDFfaCArPSB0bXAwX2g7Ci0gIG91dF9oID0gX19s
c3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLSAgb3V0X2wgPSBfX2xzeF92cGlja2V2
X2Iob3V0X2gsIG91dF9sKTsKLSAgZmlsdGVyOCA9IF9fbHN4X3ZiaXRzZWxfdihmaWx0ZXI4LCBv
dXRfbCwgZmxhdDIpOwotICBfX2xzeF92c3QoZmlsdGVyOCwgZHN0LCAxNiAqIDYpOwotCi0gIC8q
IHEwICovCi0gIHE3X2xfaW4gPSAodjh1MTYpX19sc3hfdnNsbHdpbF9odV9idShxNywgMCk7Ci0g
IGZpbHRlcjggPSBfX2xzeF92bGQoZmlsdGVyNDgsIDQ4KTsKLSAgdG1wMF9sID0gcTdfbF9pbiAt
IHAwX2xfaW47Ci0gIHRtcDBfbCArPSBxMF9sX2luOwotICB0bXAwX2wgLT0gcDdfbF9pbjsKLSAg
dG1wMV9sICs9IHRtcDBfbDsKLSAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgoX19tMTI4aSl0bXAx
X2wsIDQpOwotICBxN19oX2luID0gKHY4dTE2KV9fbHN4X3ZleHRoX2h1X2J1KHE3KTsKLSAgdG1w
MF9oID0gcTdfaF9pbiAtIHAwX2hfaW47Ci0gIHRtcDBfaCArPSBxMF9oX2luOwotICB0bXAwX2gg
LT0gcDdfaF9pbjsKLSAgdG1wMV9oICs9IHRtcDBfaDsKLSAgb3V0X2ggPSBfX2xzeF92c3Jhcmlf
aCgoX19tMTI4aSl0bXAxX2gsIDQpOwotICBvdXRfbCA9IF9fbHN4X3ZwaWNrZXZfYihvdXRfaCwg
b3V0X2wpOwotICBmaWx0ZXI4ID0gX19sc3hfdmJpdHNlbF92KGZpbHRlcjgsIG91dF9sLCBmbGF0
Mik7Ci0gIF9fbHN4X3ZzdChmaWx0ZXI4LCBkc3QsIDE2ICogNyk7Ci0KLSAgLyogcTEgKi8KLSAg
ZmlsdGVyOCA9IF9fbHN4X3ZsZChmaWx0ZXI0OCwgNjQpOwotICB0bXAwX2wgPSBxN19sX2luIC0g
cTBfbF9pbjsKLSAgdG1wMF9sICs9IHExX2xfaW47Ci0gIHRtcDBfbCAtPSBwNl9sX2luOwotICB0
bXAxX2wgKz0gdG1wMF9sOwotICBvdXRfbCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFf
bCwgNCk7Ci0gIHRtcDBfaCA9IHE3X2hfaW4gLSBxMF9oX2luOwotICB0bXAwX2ggKz0gcTFfaF9p
bjsKLSAgdG1wMF9oIC09IHA2X2hfaW47Ci0gIHRtcDFfaCArPSB0bXAwX2g7Ci0gIG91dF9oID0g
X19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLSAgb3V0X2wgPSBfX2xzeF92cGlj
a2V2X2Iob3V0X2gsIG91dF9sKTsKLSAgZmlsdGVyOCA9IF9fbHN4X3ZiaXRzZWxfdihmaWx0ZXI4
LCBvdXRfbCwgZmxhdDIpOwotICBfX2xzeF92c3QoZmlsdGVyOCwgZHN0LCAxNiAqIDgpOwotCi0g
IC8qIHEyICovCi0gIGZpbHRlcjggPSBfX2xzeF92bGQoZmlsdGVyNDgsIDgwKTsKLSAgdG1wMF9s
ID0gcTdfbF9pbiAtIHExX2xfaW47Ci0gIHRtcDBfbCArPSBxMl9sX2luOwotICB0bXAwX2wgLT0g
cDVfbF9pbjsKLSAgdG1wMV9sICs9IHRtcDBfbDsKLSAgb3V0X2wgPSBfX2xzeF92c3JhcmlfaCgo
X19tMTI4aSl0bXAxX2wsIDQpOwotICB0bXAwX2ggPSBxN19oX2luIC0gcTFfaF9pbjsKLSAgdG1w
MF9oICs9IHEyX2hfaW47Ci0gIHRtcDBfaCAtPSBwNV9oX2luOwotICB0bXAxX2ggKz0gdG1wMF9o
OwotICBvdXRfaCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfaCwgNCk7Ci0gIG91dF9s
ID0gX19sc3hfdnBpY2tldl9iKG91dF9oLCBvdXRfbCk7Ci0gIGZpbHRlcjggPSBfX2xzeF92Yml0
c2VsX3YoZmlsdGVyOCwgb3V0X2wsIGZsYXQyKTsKLSAgX19sc3hfdnN0KGZpbHRlcjgsIGRzdCwg
MTYgKiA5KTsKLQotICAvKiBxMyAqLwotICB0bXAwX2wgPSBxN19sX2luIC0gcTJfbF9pbjsKLSAg
dG1wMF9sICs9IHEzX2xfaW47Ci0gIHRtcDBfbCAtPSBwNF9sX2luOwotICB0bXAxX2wgKz0gdG1w
MF9sOwotICBvdXRfbCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfbCwgNCk7Ci0gIHRt
cDBfaCA9IHE3X2hfaW4gLSBxMl9oX2luOwotICB0bXAwX2ggKz0gcTNfaF9pbjsKLSAgdG1wMF9o
IC09IHA0X2hfaW47Ci0gIHRtcDFfaCArPSB0bXAwX2g7Ci0gIG91dF9oID0gX19sc3hfdnNyYXJp
X2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLSAgb3V0X2wgPSBfX2xzeF92cGlja2V2X2Iob3V0X2gs
IG91dF9sKTsKLSAgcTMgPSBfX2xzeF92Yml0c2VsX3YocTMsIG91dF9sLCBmbGF0Mik7Ci0gIF9f
bHN4X3ZzdChxMywgZHN0LCAxNiAqIDEwKTsKLQotICAvKiBxNCAqLwotICB0bXAwX2wgPSBxN19s
X2luIC0gcTNfbF9pbjsKLSAgdG1wMF9sICs9IHE0X2xfaW47Ci0gIHRtcDBfbCAtPSBwM19sX2lu
OwotICB0bXAxX2wgKz0gdG1wMF9sOwotICBvdXRfbCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhp
KXRtcDFfbCwgNCk7Ci0gIHRtcDBfaCA9IHE3X2hfaW4gLSBxM19oX2luOwotICB0bXAwX2ggKz0g
cTRfaF9pbjsKLSAgdG1wMF9oIC09IHAzX2hfaW47Ci0gIHRtcDFfaCArPSB0bXAwX2g7Ci0gIG91
dF9oID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0KTsKLSAgb3V0X2wgPSBfX2xz
eF92cGlja2V2X2Iob3V0X2gsIG91dF9sKTsKLSAgcTQgPSBfX2xzeF92Yml0c2VsX3YocTQsIG91
dF9sLCBmbGF0Mik7Ci0gIF9fbHN4X3ZzdChxNCwgZHN0LCAxNiAqIDExKTsKLQotICAvKiBxNSAq
LwotICB0bXAwX2wgPSBxN19sX2luIC0gcTRfbF9pbjsKLSAgdG1wMF9sICs9IHE1X2xfaW47Ci0g
IHRtcDBfbCAtPSBwMl9sX2luOwotICB0bXAxX2wgKz0gdG1wMF9sOwotICBvdXRfbCA9IF9fbHN4
X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfbCwgNCk7Ci0gIHRtcDBfaCA9IHE3X2hfaW4gLSBxNF9o
X2luOwotICB0bXAwX2ggKz0gcTVfaF9pbjsKLSAgdG1wMF9oIC09IHAyX2hfaW47Ci0gIHRtcDFf
aCArPSB0bXAwX2g7Ci0gIG91dF9oID0gX19sc3hfdnNyYXJpX2goKF9fbTEyOGkpdG1wMV9oLCA0
KTsKLSAgb3V0X2wgPSBfX2xzeF92cGlja2V2X2Iob3V0X2gsIG91dF9sKTsKLSAgcTUgPSBfX2xz
eF92Yml0c2VsX3YocTUsIG91dF9sLCBmbGF0Mik7Ci0gIF9fbHN4X3ZzdChxNSwgZHN0LCAxNiAq
IDEyKTsKLQotICAvKiBxNiAqLwotICB0bXAwX2wgPSBxN19sX2luIC0gcTVfbF9pbjsKLSAgdG1w
MF9sICs9IHE2X2xfaW47Ci0gIHRtcDBfbCAtPSBwMV9sX2luOwotICB0bXAxX2wgKz0gdG1wMF9s
OwotICBvdXRfbCA9IF9fbHN4X3ZzcmFyaV9oKChfX20xMjhpKXRtcDFfbCwgNCk7Ci0gIHRtcDBf
aCA9IHE3X2hfaW4gLSBxNV9oX2luOwotICB0bXAwX2ggKz0gcTZfaF9pbjsKLSAgdG1wMF9oIC09
IHAxX2hfaW47Ci0gIHRtcDFfaCArPSB0bXAwX2g7Ci0gIG91dF9oID0gX19sc3hfdnNyYXJpX2go
KF9fbTEyOGkpdG1wMV9oLCA0KTsKLSAgb3V0X2wgPSBfX2xzeF92cGlja2V2X2Iob3V0X2gsIG91
dF9sKTsKLSAgcTYgPSBfX2xzeF92Yml0c2VsX3YocTYsIG91dF9sLCBmbGF0Mik7Ci0gIF9fbHN4
X3ZzdChxNiwgZHN0LCAxNiAqIDEzKTsKLQotICByZXR1cm4gMDsKLX0KLQotdm9pZCB2cHhfbHBm
X3ZlcnRpY2FsXzE2X2R1YWxfbHN4KHVpbnQ4X3QgKnNyYywgaW50MzJfdCBwaXRjaCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiX2xpbWl0X3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsaW1pdF9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhy
ZXNoX3B0cikgewotICB1aW50OF90IGVhcmx5X2V4aXQgPSAwOwotICBERUNMQVJFX0FMSUdORUQo
MTYsIHVpbnQ4X3QsIHRyYW5zcG9zZWRfaW5wdXRbMTYgKiAyNF0pOwotICB1aW50OF90ICpmaWx0
ZXI0OCA9ICZ0cmFuc3Bvc2VkX2lucHV0WzE2ICogMTZdOwotCi0gIHRyYW5zcG9zZV8xNngxNigo
c3JjIC0gOCksIHBpdGNoLCAmdHJhbnNwb3NlZF9pbnB1dFswXSwgMTYpOwotCi0gIGVhcmx5X2V4
aXQgPQotICAgICAgdnRfbHBmX3Q0X2FuZF90OF8xNncoKHRyYW5zcG9zZWRfaW5wdXQgKyAxNiAq
IDgpLCAmZmlsdGVyNDhbMF0sIHNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpdGNo
LCBiX2xpbWl0X3B0ciwgbGltaXRfcHRyLCB0aHJlc2hfcHRyKTsKLQotICBpZiAoZWFybHlfZXhp
dCA9PSAwKSB7Ci0gICAgZWFybHlfZXhpdCA9Ci0gICAgICAgIHZ0X2xwZl90MTZfMTZ3KCh0cmFu
c3Bvc2VkX2lucHV0ICsgMTYgKiA4KSwgc3JjLCBwaXRjaCwgJmZpbHRlcjQ4WzBdKTsKLQotICAg
IGlmIChlYXJseV9leGl0ID09IDApIHsKLSAgICAgIHRyYW5zcG9zZV8xNngxNih0cmFuc3Bvc2Vk
X2lucHV0LCAxNiwgKHNyYyAtIDgpLCBwaXRjaCk7Ci0gICAgfQotICB9Ci19CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfNF9sc3guYyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvbG9vcGZpbHRlcl80X2xzeC5jCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5MzAwYjVjNWFlZmEuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfNF9sc3guYworKysgL2Rldi9udWxsCkBA
IC0xLDIxNCArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNh
biBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UK
LSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3Jh
bnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRp
bmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlICIuL3ZweF9k
c3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfbHN4Lmgi
Ci0KLXZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzRfbHN4KHVpbnQ4X3QgKnNyYywgaW50MzJfdCBw
aXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmJfbGlt
aXRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqbGlt
aXRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhy
ZXNoX3B0cikgewotICBfX20xMjhpIG1hc2ssIGhldiwgZmxhdCwgdGhyZXNoLCBiX2xpbWl0LCBs
aW1pdDsKLSAgX19tMTI4aSBwMywgcDIsIHAxLCBwMCwgcTMsIHEyLCBxMSwgcTAsIHAxX291dCwg
cDBfb3V0LCBxMF9vdXQsIHExX291dDsKLSAgaW50MzJfdCBwaXRjaDIgPSBwaXRjaCA8PCAxOwot
ICBpbnQzMl90IHBpdGNoMyA9IHBpdGNoMiArIHBpdGNoOwotICBpbnQzMl90IHBpdGNoNCA9IHBp
dGNoMiA8PCAxOwotCi0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIC1waXRjaDQsIHNyYywg
LXBpdGNoMywgc3JjLCAtcGl0Y2gyLCBzcmMsIC1waXRjaCwKLSAgICAgICAgICAgIHAzLCBwMiwg
cDEsIHAwKTsKLSAgcTAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3Zs
ZHgsIHNyYywgcGl0Y2gsIHNyYywgcGl0Y2gyLCBxMSwgcTIpOwotICBxMyA9IF9fbHN4X3ZsZHgo
c3JjLCBwaXRjaDMpOwotCi0gIHRocmVzaCA9IF9fbHN4X3ZsZHJlcGxfYih0aHJlc2hfcHRyLCAw
KTsKLSAgYl9saW1pdCA9IF9fbHN4X3ZsZHJlcGxfYihiX2xpbWl0X3B0ciwgMCk7Ci0gIGxpbWl0
ID0gX19sc3hfdmxkcmVwbF9iKGxpbWl0X3B0ciwgMCk7Ci0KLSAgTFBGX01BU0tfSEVWKHAzLCBw
MiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQsIGJfbGltaXQsIHRocmVzaCwgaGV2LAot
ICAgICAgICAgICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQOV9MUEZfRklMVEVSNF80VyhwMSwgcDAs
IHEwLCBxMSwgbWFzaywgaGV2LCBwMV9vdXQsIHAwX291dCwgcTBfb3V0LCBxMV9vdXQpOwotCi0g
IF9fbHN4X3ZzdGVsbV9kKHAxX291dCwgc3JjIC0gcGl0Y2gyLCAwLCAwKTsKLSAgX19sc3hfdnN0
ZWxtX2QocDBfb3V0LCBzcmMgLSBwaXRjaCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHEwX291
dCwgc3JjLCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX2QocTFfb3V0LCBzcmMgKyBwaXRjaCwgMCwg
MCk7Ci19Ci0KLXZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzRfZHVhbF9sc3godWludDhfdCAqc3Jj
LCBpbnQzMl90IHBpdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpiX2xpbWl0MF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4X3QgKmxpbWl0MF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnRocmVzaDBfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiX2xpbWl0MV9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmxpbWl0MV9wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnRocmVzaDFfcHRy
KSB7Ci0gIF9fbTEyOGkgbWFzaywgaGV2LCBmbGF0LCB0aHJlc2gwLCBiX2xpbWl0MCwgbGltaXQw
LCB0aHJlc2gxLCBiX2xpbWl0MSwgbGltaXQxOwotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAwLCBx
MywgcTIsIHExLCBxMDsKLSAgaW50MzJfdCBwaXRjaDIgPSBwaXRjaCA8PCAxOwotICBpbnQzMl90
IHBpdGNoMyA9IHBpdGNoMiArIHBpdGNoOwotICBpbnQzMl90IHBpdGNoNCA9IHBpdGNoMiA8PCAx
OwotCi0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIC1waXRjaDQsIHNyYywgLXBpdGNoMywg
c3JjLCAtcGl0Y2gyLCBzcmMsIC1waXRjaCwKLSAgICAgICAgICAgIHAzLCBwMiwgcDEsIHAwKTsK
LSAgcTAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywg
cGl0Y2gsIHNyYywgcGl0Y2gyLCBxMSwgcTIpOwotICBxMyA9IF9fbHN4X3ZsZHgoc3JjLCBwaXRj
aDMpOwotCi0gIHRocmVzaDAgPSBfX2xzeF92bGRyZXBsX2IodGhyZXNoMF9wdHIsIDApOwotICB0
aHJlc2gxID0gX19sc3hfdmxkcmVwbF9iKHRocmVzaDFfcHRyLCAwKTsKLSAgdGhyZXNoMCA9IF9f
bHN4X3ZpbHZsX2QodGhyZXNoMSwgdGhyZXNoMCk7Ci0KLSAgYl9saW1pdDAgPSBfX2xzeF92bGRy
ZXBsX2IoYl9saW1pdDBfcHRyLCAwKTsKLSAgYl9saW1pdDEgPSBfX2xzeF92bGRyZXBsX2IoYl9s
aW1pdDFfcHRyLCAwKTsKLSAgYl9saW1pdDAgPSBfX2xzeF92aWx2bF9kKGJfbGltaXQxLCBiX2xp
bWl0MCk7Ci0KLSAgbGltaXQwID0gX19sc3hfdmxkcmVwbF9iKGxpbWl0MF9wdHIsIDApOwotICBs
aW1pdDEgPSBfX2xzeF92bGRyZXBsX2IobGltaXQxX3B0ciwgMCk7Ci0gIGxpbWl0MCA9IF9fbHN4
X3ZpbHZsX2QobGltaXQxLCBsaW1pdDApOwotCi0gIExQRl9NQVNLX0hFVihwMywgcDIsIHAxLCBw
MCwgcTAsIHExLCBxMiwgcTMsIGxpbWl0MCwgYl9saW1pdDAsIHRocmVzaDAsIGhldiwKLSAgICAg
ICAgICAgICAgIG1hc2ssIGZsYXQpOwotICBWUDlfTFBGX0ZJTFRFUjRfNFcocDEsIHAwLCBxMCwg
cTEsIG1hc2ssIGhldiwgcDEsIHAwLCBxMCwgcTEpOwotCi0gIF9fbHN4X3ZzdHgocDEsIHNyYywg
LXBpdGNoMik7Ci0gIF9fbHN4X3ZzdHgocDAsIHNyYywgLXBpdGNoKTsKLSAgX19sc3hfdnN0KHEw
LCBzcmMsIDApOwotICBfX2xzeF92c3R4KHExLCBzcmMsIHBpdGNoKTsKLX0KLQotdm9pZCB2cHhf
bHBmX3ZlcnRpY2FsXzRfbHN4KHVpbnQ4X3QgKnNyYywgaW50MzJfdCBwaXRjaCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiX2xpbWl0X3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsaW1pdF9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoX3B0cikgewotICBfX20xMjhp
IG1hc2ssIGhldiwgZmxhdCwgbGltaXQsIHRocmVzaCwgYl9saW1pdDsKLSAgX19tMTI4aSBwMywg
cDIsIHAxLCBwMCwgcTMsIHEyLCBxMSwgcTA7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwg
dmVjMzsKLSAgaW50MzJfdCBwaXRjaDIgPSBwaXRjaCA8PCAxOwotICBpbnQzMl90IHBpdGNoMyA9
IHBpdGNoMiArIHBpdGNoOwotICBpbnQzMl90IHBpdGNoNCA9IHBpdGNoMiA8PCAxOwotICB1aW50
OF90ICpzcmNfdG1wID0gc3JjIC0gNDsKLQotICBwMyA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsK
LSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHBpdGNoLCBzcmNfdG1wLCBwaXRjaDIs
IHAyLCBwMSk7Ci0gIHAwID0gX19sc3hfdmxkeChzcmNfdG1wLCBwaXRjaDMpOwotICBzcmNfdG1w
ICs9IHBpdGNoNDsKLSAgcTAgPSBfX2xzeF92bGQoc3JjX3RtcCwgMCk7Ci0gIERVUDJfQVJHMihf
X2xzeF92bGR4LCBzcmNfdG1wLCBwaXRjaCwgc3JjX3RtcCwgcGl0Y2gyLCBxMSwgcTIpOwotICBx
MyA9IF9fbHN4X3ZsZHgoc3JjX3RtcCwgcGl0Y2gzKTsKLQotICB0aHJlc2ggPSBfX2xzeF92bGRy
ZXBsX2IodGhyZXNoX3B0ciwgMCk7Ci0gIGJfbGltaXQgPSBfX2xzeF92bGRyZXBsX2IoYl9saW1p
dF9wdHIsIDApOwotICBsaW1pdCA9IF9fbHN4X3ZsZHJlcGxfYihsaW1pdF9wdHIsIDApOwotCi0g
IExTWF9UUkFOU1BPU0U4eDhfQihwMywgcDIsIHAxLCBwMCwgcTAsIHExLCBxMiwgcTMsIHAzLCBw
MiwgcDEsIHAwLCBxMCwgcTEsIHEyLAotICAgICAgICAgICAgICAgICAgICAgcTMpOwotICBMUEZf
TUFTS19IRVYocDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzLCBsaW1pdCwgYl9saW1pdCwg
dGhyZXNoLCBoZXYsCi0gICAgICAgICAgICAgICBtYXNrLCBmbGF0KTsKLSAgVlA5X0xQRl9GSUxU
RVI0XzRXKHAxLCBwMCwgcTAsIHExLCBtYXNrLCBoZXYsIHAxLCBwMCwgcTAsIHExKTsKLSAgRFVQ
Ml9BUkcyKF9fbHN4X3ZpbHZsX2IsIHAwLCBwMSwgcTEsIHEwLCB2ZWMwLCB2ZWMxKTsKLSAgdmVj
MiA9IF9fbHN4X3ZpbHZsX2godmVjMSwgdmVjMCk7Ci0gIHZlYzMgPSBfX2xzeF92aWx2aF9oKHZl
YzEsIHZlYzApOwotCi0gIHNyYyAtPSAyOwotICBfX2xzeF92c3RlbG1fdyh2ZWMyLCBzcmMsIDAs
IDApOwotICBzcmMgKz0gcGl0Y2g7Ci0gIF9fbHN4X3ZzdGVsbV93KHZlYzIsIHNyYywgMCwgMSk7
Ci0gIHNyYyArPSBwaXRjaDsKLSAgX19sc3hfdnN0ZWxtX3codmVjMiwgc3JjLCAwLCAyKTsKLSAg
c3JjICs9IHBpdGNoOwotICBfX2xzeF92c3RlbG1fdyh2ZWMyLCBzcmMsIDAsIDMpOwotICBzcmMg
Kz0gcGl0Y2g7Ci0KLSAgX19sc3hfdnN0ZWxtX3codmVjMywgc3JjLCAwLCAwKTsKLSAgX19sc3hf
dnN0ZWxtX3codmVjMywgc3JjICsgcGl0Y2gsIDAsIDEpOwotICBfX2xzeF92c3RlbG1fdyh2ZWMz
LCBzcmMgKyBwaXRjaDIsIDAsIDIpOwotICBfX2xzeF92c3RlbG1fdyh2ZWMzLCBzcmMgKyBwaXRj
aDMsIDAsIDMpOwotfQotCi12b2lkIHZweF9scGZfdmVydGljYWxfNF9kdWFsX2xzeCh1aW50OF90
ICpzcmMsIGludDMyX3QgcGl0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90ICpiX2xpbWl0MF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpsaW1pdDBfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoMF9wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiX2xpbWl0MV9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsaW1pdDFfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoMV9wdHIpIHsKLSAg
X19tMTI4aSBtYXNrLCBoZXYsIGZsYXQ7Ci0gIF9fbTEyOGkgdGhyZXNoMCwgYl9saW1pdDAsIGxp
bWl0MCwgdGhyZXNoMSwgYl9saW1pdDEsIGxpbWl0MTsKLSAgX19tMTI4aSBwMywgcDIsIHAxLCBw
MCwgcTMsIHEyLCBxMSwgcTA7Ci0gIF9fbTEyOGkgcm93MCwgcm93MSwgcm93Miwgcm93Mywgcm93
NCwgcm93NSwgcm93Niwgcm93NzsKLSAgX19tMTI4aSByb3c4LCByb3c5LCByb3cxMCwgcm93MTEs
IHJvdzEyLCByb3cxMywgcm93MTQsIHJvdzE1OwotICBfX20xMjhpIHRtcDAsIHRtcDEsIHRtcDIs
IHRtcDMsIHRtcDQsIHRtcDU7Ci0gIGludDMyX3QgcGl0Y2gyID0gcGl0Y2ggPDwgMTsKLSAgaW50
MzJfdCBwaXRjaDMgPSBwaXRjaDIgKyBwaXRjaDsKLSAgaW50MzJfdCBwaXRjaDQgPSBwaXRjaDIg
PDwgMTsKLSAgdWludDhfdCAqc3JjX3RtcCA9IHNyYyAtIDQ7Ci0KLSAgcm93MCA9IF9fbHN4X3Zs
ZChzcmNfdG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHBpdGNoLCBz
cmNfdG1wLCBwaXRjaDIsIHJvdzEsIHJvdzIpOwotICByb3czID0gX19sc3hfdmxkeChzcmNfdG1w
LCBwaXRjaDMpOwotICBzcmNfdG1wICs9IHBpdGNoNDsKLSAgcm93NCA9IF9fbHN4X3ZsZChzcmNf
dG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHBpdGNoLCBzcmNfdG1w
LCBwaXRjaDIsIHJvdzUsIHJvdzYpOwotICByb3c3ID0gX19sc3hfdmxkeChzcmNfdG1wLCBwaXRj
aDMpOwotICBzcmNfdG1wICs9IHBpdGNoNDsKLSAgcm93OCA9IF9fbHN4X3ZsZChzcmNfdG1wLCAw
KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHBpdGNoLCBzcmNfdG1wLCBwaXRj
aDIsIHJvdzksIHJvdzEwKTsKLSAgcm93MTEgPSBfX2xzeF92bGR4KHNyY190bXAsIHBpdGNoMyk7
Ci0gIHNyY190bXAgKz0gcGl0Y2g0OwotICByb3cxMiA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsK
LSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHBpdGNoLCBzcmNfdG1wLCBwaXRjaDIs
IHJvdzEzLCByb3cxNCk7Ci0gIHJvdzE1ID0gX19sc3hfdmxkeChzcmNfdG1wLCBwaXRjaDMpOwot
Ci0gIExTWF9UUkFOU1BPU0UxNng4X0Iocm93MCwgcm93MSwgcm93Miwgcm93Mywgcm93NCwgcm93
NSwgcm93Niwgcm93Nywgcm93OCwKLSAgICAgICAgICAgICAgICAgICAgICByb3c5LCByb3cxMCwg
cm93MTEsIHJvdzEyLCByb3cxMywgcm93MTQsIHJvdzE1LCBwMywgcDIsCi0gICAgICAgICAgICAg
ICAgICAgICAgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMyk7Ci0KLSAgdGhyZXNoMCA9IF9fbHN4X3Zs
ZHJlcGxfYih0aHJlc2gwX3B0ciwgMCk7Ci0gIHRocmVzaDEgPSBfX2xzeF92bGRyZXBsX2IodGhy
ZXNoMV9wdHIsIDApOwotICB0aHJlc2gwID0gX19sc3hfdmlsdmxfZCh0aHJlc2gxLCB0aHJlc2gw
KTsKLQotICBiX2xpbWl0MCA9IF9fbHN4X3ZsZHJlcGxfYihiX2xpbWl0MF9wdHIsIDApOwotICBi
X2xpbWl0MSA9IF9fbHN4X3ZsZHJlcGxfYihiX2xpbWl0MV9wdHIsIDApOwotICBiX2xpbWl0MCA9
IF9fbHN4X3ZpbHZsX2QoYl9saW1pdDEsIGJfbGltaXQwKTsKLQotICBsaW1pdDAgPSBfX2xzeF92
bGRyZXBsX2IobGltaXQwX3B0ciwgMCk7Ci0gIGxpbWl0MSA9IF9fbHN4X3ZsZHJlcGxfYihsaW1p
dDFfcHRyLCAwKTsKLSAgbGltaXQwID0gX19sc3hfdmlsdmxfZChsaW1pdDEsIGxpbWl0MCk7Ci0K
LSAgTFBGX01BU0tfSEVWKHAzLCBwMiwgcDEsIHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQwLCBi
X2xpbWl0MCwgdGhyZXNoMCwgaGV2LAotICAgICAgICAgICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQ
OV9MUEZfRklMVEVSNF80VyhwMSwgcDAsIHEwLCBxMSwgbWFzaywgaGV2LCBwMSwgcDAsIHEwLCBx
MSk7Ci0gIERVUDJfQVJHMihfX2xzeF92aWx2bF9iLCBwMCwgcDEsIHExLCBxMCwgdG1wMCwgdG1w
MSk7Ci0gIHRtcDIgPSBfX2xzeF92aWx2bF9oKHRtcDEsIHRtcDApOwotICB0bXAzID0gX19sc3hf
dmlsdmhfaCh0bXAxLCB0bXAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIHAwLCBwMSwg
cTEsIHEwLCB0bXAwLCB0bXAxKTsKLSAgdG1wNCA9IF9fbHN4X3ZpbHZsX2godG1wMSwgdG1wMCk7
Ci0gIHRtcDUgPSBfX2xzeF92aWx2aF9oKHRtcDEsIHRtcDApOwotCi0gIHNyYyAtPSAyOwotICBf
X2xzeF92c3RlbG1fdyh0bXAyLCBzcmMsIDAsIDApOwotICBfX2xzeF92c3RlbG1fdyh0bXAyLCBz
cmMgKyBwaXRjaCwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDIsIHNyYyArIHBpdGNoMiwg
MCwgMik7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDIsIHNyYyArIHBpdGNoMywgMCwgMyk7Ci0gIHNy
YyArPSBwaXRjaDQ7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDMsIHNyYywgMCwgMCk7Ci0gIF9fbHN4
X3ZzdGVsbV93KHRtcDMsIHNyYyArIHBpdGNoLCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX3codG1w
Mywgc3JjICsgcGl0Y2gyLCAwLCAyKTsKLSAgX19sc3hfdnN0ZWxtX3codG1wMywgc3JjICsgcGl0
Y2gzLCAwLCAzKTsKLSAgc3JjICs9IHBpdGNoNDsKLSAgX19sc3hfdnN0ZWxtX3codG1wNCwgc3Jj
LCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX3codG1wNCwgc3JjICsgcGl0Y2gsIDAsIDEpOwotICBf
X2xzeF92c3RlbG1fdyh0bXA0LCBzcmMgKyBwaXRjaDIsIDAsIDIpOwotICBfX2xzeF92c3RlbG1f
dyh0bXA0LCBzcmMgKyBwaXRjaDMsIDAsIDMpOwotICBzcmMgKz0gcGl0Y2g0OwotICBfX2xzeF92
c3RlbG1fdyh0bXA1LCBzcmMsIDAsIDApOwotICBfX2xzeF92c3RlbG1fdyh0bXA1LCBzcmMgKyBw
aXRjaCwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDUsIHNyYyArIHBpdGNoMiwgMCwgMik7
Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDUsIHNyYyArIHBpdGNoMywgMCwgMyk7Ci19CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfOF9sc3guYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvbG9vcGZpbHRlcl84X2xzeC5jCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDIxOWJhNzFkNzQuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfOF9sc3guYworKysgL2Rldi9udWxs
CkBAIC0xLDQ1OCArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBw
cm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlz
IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0
IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3Vy
Y2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMg
Z3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmli
dXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlICIuL3Zw
eF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9kc3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfbHN4
LmgiCi0KLXZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzhfbHN4KHVpbnQ4X3QgKmRzdCwgaW50MzJf
dCBzdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpi
X2xpbWl0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
KmxpbWl0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnRocmVzaF9wdHIpIHsKLSAgX19tMTI4aSBtYXNrLCBoZXYsIGZsYXQsIHRocmVzaCwgYl9saW1p
dCwgbGltaXQ7Ci0gIF9fbTEyOGkgcDMsIHAyLCBwMSwgcDAsIHEzLCBxMiwgcTEsIHEwOwotICBf
X20xMjhpIHAyX291dCwgcDFfb3V0LCBwMF9vdXQsIHEwX291dCwgcTFfb3V0OwotICBfX20xMjhp
IHAyX2ZpbHRlcjgsIHAxX2ZpbHRlcjgsIHAwX2ZpbHRlcjg7Ci0gIF9fbTEyOGkgcTBfZmlsdGVy
OCwgcTFfZmlsdGVyOCwgcTJfZmlsdGVyODsKLSAgX19tMTI4aSBwM19sLCBwMl9sLCBwMV9sLCBw
MF9sLCBxM19sLCBxMl9sLCBxMV9sLCBxMF9sOwotCi0gIGludDMyX3Qgc3RyaWRlMiA9IHN0cmlk
ZSA8PCAxOwotICBpbnQzMl90IHN0cmlkZTMgPSBzdHJpZGUyICsgc3RyaWRlOwotICBpbnQzMl90
IHN0cmlkZTQgPSBzdHJpZGUyIDw8IDE7Ci0KLSAgLyogbG9hZCB2ZWN0b3IgZWxlbWVudHMgKi8K
LSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIGRzdCwgLXN0cmlkZTQsIGRzdCwgLXN0cmlkZTMsIGRz
dCwgLXN0cmlkZTIsIGRzdCwKLSAgICAgICAgICAgIC1zdHJpZGUsIHAzLCBwMiwgcDEsIHAwKTsK
LSAgcTAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGRzdCwg
c3RyaWRlLCBkc3QsIHN0cmlkZTIsIHExLCBxMik7Ci0gIHEzID0gX19sc3hfdmxkeChkc3QsIHN0
cmlkZTMpOwotCi0gIHRocmVzaCA9IF9fbHN4X3ZsZHJlcGxfYih0aHJlc2hfcHRyLCAwKTsKLSAg
Yl9saW1pdCA9IF9fbHN4X3ZsZHJlcGxfYihiX2xpbWl0X3B0ciwgMCk7Ci0gIGxpbWl0ID0gX19s
c3hfdmxkcmVwbF9iKGxpbWl0X3B0ciwgMCk7Ci0KLSAgTFBGX01BU0tfSEVWKHAzLCBwMiwgcDEs
IHAwLCBxMCwgcTEsIHEyLCBxMywgbGltaXQsIGJfbGltaXQsIHRocmVzaCwgaGV2LAotICAgICAg
ICAgICAgICAgbWFzaywgZmxhdCk7Ci0gIFZQOV9GTEFUNChwMywgcDIsIHAwLCBxMCwgcTIsIHEz
LCBmbGF0KTsKLSAgVlA5X0xQRl9GSUxURVI0XzRXKHAxLCBwMCwgcTAsIHExLCBtYXNrLCBoZXYs
IHAxX291dCwgcDBfb3V0LCBxMF9vdXQsIHExX291dCk7Ci0KLSAgZmxhdCA9IF9fbHN4X3ZpbHZs
X2QoZmxhdCwgZmxhdCk7Ci0KLSAgaWYgKF9fbHN4X2J6X3YoZmxhdCkpIHsKLSAgICBfX2xzeF92
c3RlbG1fZChwMV9vdXQsIGRzdCAtIHN0cmlkZTIsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV9k
KHAwX291dCwgZHN0IC0gc3RyaWRlLCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZChxMF9vdXQs
IGRzdCwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2QocTFfb3V0LCBkc3QgKyBzdHJpZGUsIDAs
IDApOwotICB9IGVsc2UgewotICAgIERVUDRfQVJHMihfX2xzeF92c2xsd2lsX2h1X2J1LCBwMywg
MCwgcDIsIDAsIHAxLCAwLCBwMCwgMCwgcDNfbCwgcDJfbCwgcDFfbCwKLSAgICAgICAgICAgICAg
cDBfbCk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZzbGx3aWxfaHVfYnUsIHEwLCAwLCBxMSwgMCwg
cTIsIDAsIHEzLCAwLCBxMF9sLCBxMV9sLCBxMl9sLAotICAgICAgICAgICAgICBxM19sKTsKLSAg
ICBWUDlfRklMVEVSOChwM19sLCBwMl9sLCBwMV9sLCBwMF9sLCBxMF9sLCBxMV9sLCBxMl9sLCBx
M19sLCBwMl9maWx0ZXI4LAotICAgICAgICAgICAgICAgIHAxX2ZpbHRlcjgsIHAwX2ZpbHRlcjgs
IHEwX2ZpbHRlcjgsIHExX2ZpbHRlcjgsIHEyX2ZpbHRlcjgpOwotCi0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZwaWNrZXZfYiwgcDFfZmlsdGVyOCwgcDJfZmlsdGVyOCwgcTBfZmlsdGVyOCwgcDBfZmls
dGVyOCwKLSAgICAgICAgICAgICAgcDFfZmlsdGVyOCwgcTBfZmlsdGVyOCk7Ci0gICAgcTJfZmls
dGVyOCA9IF9fbHN4X3ZwaWNrZXZfYihxMl9maWx0ZXI4LCBxMV9maWx0ZXI4KTsKLQotICAgIHAy
ID0gX19sc3hfdmlsdmxfZChwMV9vdXQsIHAyKTsKLSAgICBwMF9vdXQgPSBfX2xzeF92aWx2bF9k
KHEwX291dCwgcDBfb3V0KTsKLSAgICBxMV9vdXQgPSBfX2xzeF92aWx2bF9kKHEyLCBxMV9vdXQp
OwotCi0gICAgRFVQMl9BUkczKF9fbHN4X3ZiaXRzZWxfdiwgcDIsIHAxX2ZpbHRlcjgsIGZsYXQs
IHAwX291dCwgcTBfZmlsdGVyOCwgZmxhdCwKLSAgICAgICAgICAgICAgcDJfb3V0LCBwMV9vdXQp
OwotICAgIHAwX291dCA9IF9fbHN4X3ZiaXRzZWxfdihxMV9vdXQsIHEyX2ZpbHRlcjgsIGZsYXQp
OwotICAgIGRzdCAtPSBzdHJpZGUzOwotCi0gICAgX19sc3hfdnN0ZWxtX2QocDJfb3V0LCBkc3Qs
IDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV9kKHAyX291dCwgZHN0ICsgc3RyaWRlLCAwLCAxKTsK
LSAgICBfX2xzeF92c3RlbG1fZChwMV9vdXQsIGRzdCArIHN0cmlkZTIsIDAsIDApOwotICAgIF9f
bHN4X3ZzdGVsbV9kKHAxX291dCwgZHN0ICsgc3RyaWRlMywgMCwgMSk7Ci0KLSAgICBkc3QgKz0g
c3RyaWRlNDsKLSAgICBfX2xzeF92c3RlbG1fZChwMF9vdXQsIGRzdCwgMCwgMCk7Ci0gICAgZHN0
ICs9IHN0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZChwMF9vdXQsIGRzdCwgMCwgMSk7Ci0gIH0K
LX0KLQotdm9pZCB2cHhfbHBmX2hvcml6b250YWxfOF9kdWFsX2xzeCgKLSAgICB1aW50OF90ICpk
c3QsIGludDMyX3Qgc3RyaWRlLCBjb25zdCB1aW50OF90ICpiX2xpbWl0MCwKLSAgICBjb25zdCB1
aW50OF90ICpsaW1pdDAsIGNvbnN0IHVpbnQ4X3QgKnRocmVzaDAsIGNvbnN0IHVpbnQ4X3QgKmJf
bGltaXQxLAotICAgIGNvbnN0IHVpbnQ4X3QgKmxpbWl0MSwgY29uc3QgdWludDhfdCAqdGhyZXNo
MSkgewotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAwLCBxMywgcTIsIHExLCBxMDsKLSAgX19tMTI4
aSBwMl9vdXQsIHAxX291dCwgcDBfb3V0LCBxMF9vdXQsIHExX291dCwgcTJfb3V0OwotICBfX20x
MjhpIGZsYXQsIG1hc2ssIGhldiwgdGhyZXNoLCBiX2xpbWl0LCBsaW1pdDsKLSAgX19tMTI4aSBw
M19sLCBwMl9sLCBwMV9sLCBwMF9sLCBxMF9sLCBxMV9sLCBxMl9sLCBxM19sOwotICBfX20xMjhp
IHAzX2gsIHAyX2gsIHAxX2gsIHAwX2gsIHEwX2gsIHExX2gsIHEyX2gsIHEzX2g7Ci0gIF9fbTEy
OGkgcDJfZmlsdDhfbCwgcDFfZmlsdDhfbCwgcDBfZmlsdDhfbDsKLSAgX19tMTI4aSBxMF9maWx0
OF9sLCBxMV9maWx0OF9sLCBxMl9maWx0OF9sOwotICBfX20xMjhpIHAyX2ZpbHQ4X2gsIHAxX2Zp
bHQ4X2gsIHAwX2ZpbHQ4X2g7Ci0gIF9fbTEyOGkgcTBfZmlsdDhfaCwgcTFfZmlsdDhfaCwgcTJf
ZmlsdDhfaDsKLQotICBpbnQzMl90IHN0cmlkZTIgPSBzdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBz
dHJpZGUzID0gc3RyaWRlMiArIHN0cmlkZTsKLSAgaW50MzJfdCBzdHJpZGU0ID0gc3RyaWRlMiA8
PCAxOwotCi0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBkc3QsIC1zdHJpZGU0LCBkc3QsIC1zdHJp
ZGUzLCBkc3QsIC1zdHJpZGUyLCBkc3QsCi0gICAgICAgICAgICAtc3RyaWRlLCBwMywgcDIsIHAx
LCBwMCk7Ci0gIHEwID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4
LCBkc3QsIHN0cmlkZSwgZHN0LCBzdHJpZGUyLCBxMSwgcTIpOwotICBxMyA9IF9fbHN4X3ZsZHgo
ZHN0LCBzdHJpZGUzKTsKLQotICB0aHJlc2ggPSBfX2xzeF92bGRyZXBsX2IodGhyZXNoMCwgMCk7
Ci0gIHAyX291dCA9IF9fbHN4X3ZsZHJlcGxfYih0aHJlc2gxLCAwKTsKLSAgdGhyZXNoID0gX19s
c3hfdmlsdmxfZChwMl9vdXQsIHRocmVzaCk7Ci0KLSAgYl9saW1pdCA9IF9fbHN4X3ZsZHJlcGxf
YihiX2xpbWl0MCwgMCk7Ci0gIHAyX291dCA9IF9fbHN4X3ZsZHJlcGxfYihiX2xpbWl0MSwgMCk7
Ci0gIGJfbGltaXQgPSBfX2xzeF92aWx2bF9kKHAyX291dCwgYl9saW1pdCk7Ci0KLSAgbGltaXQg
PSBfX2xzeF92bGRyZXBsX2IobGltaXQwLCAwKTsKLSAgcDJfb3V0ID0gX19sc3hfdmxkcmVwbF9i
KGxpbWl0MSwgMCk7Ci0gIGxpbWl0ID0gX19sc3hfdmlsdmxfZChwMl9vdXQsIGxpbWl0KTsKLQot
ICAvKiBtYXNrIGFuZCBoZXYgKi8KLSAgTFBGX01BU0tfSEVWKHAzLCBwMiwgcDEsIHAwLCBxMCwg
cTEsIHEyLCBxMywgbGltaXQsIGJfbGltaXQsIHRocmVzaCwgaGV2LAotICAgICAgICAgICAgICAg
bWFzaywgZmxhdCk7Ci0gIFZQOV9GTEFUNChwMywgcDIsIHAwLCBxMCwgcTIsIHEzLCBmbGF0KTsK
LSAgVlA5X0xQRl9GSUxURVI0XzRXKHAxLCBwMCwgcTAsIHExLCBtYXNrLCBoZXYsIHAxX291dCwg
cDBfb3V0LCBxMF9vdXQsIHExX291dCk7Ci0KLSAgaWYgKF9fbHN4X2J6X3YoZmxhdCkpIHsKLSAg
ICBfX2xzeF92c3QocDFfb3V0LCBkc3QgLSBzdHJpZGUyLCAwKTsKLSAgICBfX2xzeF92c3QocDBf
b3V0LCBkc3QgLSBzdHJpZGUsIDApOwotICAgIF9fbHN4X3ZzdChxMF9vdXQsIGRzdCwgMCk7Ci0g
ICAgX19sc3hfdnN0KHExX291dCwgZHN0ICsgc3RyaWRlLCAwKTsKLSAgfSBlbHNlIHsKLSAgICBE
VVA0X0FSRzIoX19sc3hfdnNsbHdpbF9odV9idSwgcDMsIDAsIHAyLCAwLCBwMSwgMCwgcDAsIDAs
IHAzX2wsIHAyX2wsIHAxX2wsCi0gICAgICAgICAgICAgIHAwX2wpOwotICAgIERVUDRfQVJHMihf
X2xzeF92c2xsd2lsX2h1X2J1LCBxMCwgMCwgcTEsIDAsIHEyLCAwLCBxMywgMCwgcTBfbCwgcTFf
bCwgcTJfbCwKLSAgICAgICAgICAgICAgcTNfbCk7Ci0gICAgVlA5X0ZJTFRFUjgocDNfbCwgcDJf
bCwgcDFfbCwgcDBfbCwgcTBfbCwgcTFfbCwgcTJfbCwgcTNfbCwgcDJfZmlsdDhfbCwKLSAgICAg
ICAgICAgICAgICBwMV9maWx0OF9sLCBwMF9maWx0OF9sLCBxMF9maWx0OF9sLCBxMV9maWx0OF9s
LCBxMl9maWx0OF9sKTsKLQotICAgIERVUDRfQVJHMShfX2xzeF92ZXh0aF9odV9idSwgcDMsIHAy
LCBwMSwgcDAsIHAzX2gsIHAyX2gsIHAxX2gsIHAwX2gpOwotICAgIERVUDRfQVJHMShfX2xzeF92
ZXh0aF9odV9idSwgcTAsIHExLCBxMiwgcTMsIHEwX2gsIHExX2gsIHEyX2gsIHEzX2gpOwotICAg
IFZQOV9GSUxURVI4KHAzX2gsIHAyX2gsIHAxX2gsIHAwX2gsIHEwX2gsIHExX2gsIHEyX2gsIHEz
X2gsIHAyX2ZpbHQ4X2gsCi0gICAgICAgICAgICAgICAgcDFfZmlsdDhfaCwgcDBfZmlsdDhfaCwg
cTBfZmlsdDhfaCwgcTFfZmlsdDhfaCwgcTJfZmlsdDhfaCk7Ci0KLSAgICAvKiBjb252ZXJ0IDE2
IGJpdCBvdXRwdXQgZGF0YSBpbnRvIDggYml0ICovCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZwaWNr
ZXZfYiwgcDJfZmlsdDhfaCwgcDJfZmlsdDhfbCwgcDFfZmlsdDhfaCwgcDFfZmlsdDhfbCwKLSAg
ICAgICAgICAgICAgcDBfZmlsdDhfaCwgcDBfZmlsdDhfbCwgcTBfZmlsdDhfaCwgcTBfZmlsdDhf
bCwgcDJfZmlsdDhfbCwKLSAgICAgICAgICAgICAgcDFfZmlsdDhfbCwgcDBfZmlsdDhfbCwgcTBf
ZmlsdDhfbCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfYiwgcTFfZmlsdDhfaCwgcTFf
ZmlsdDhfbCwgcTJfZmlsdDhfaCwgcTJfZmlsdDhfbCwKLSAgICAgICAgICAgICAgcTFfZmlsdDhf
bCwgcTJfZmlsdDhfbCk7Ci0KLSAgICAvKiBzdG9yZSBwaXhlbCB2YWx1ZXMgKi8KLSAgICBwMl9v
dXQgPSBfX2xzeF92Yml0c2VsX3YocDIsIHAyX2ZpbHQ4X2wsIGZsYXQpOwotICAgIHAxX291dCA9
IF9fbHN4X3ZiaXRzZWxfdihwMV9vdXQsIHAxX2ZpbHQ4X2wsIGZsYXQpOwotICAgIHAwX291dCA9
IF9fbHN4X3ZiaXRzZWxfdihwMF9vdXQsIHAwX2ZpbHQ4X2wsIGZsYXQpOwotICAgIHEwX291dCA9
IF9fbHN4X3ZiaXRzZWxfdihxMF9vdXQsIHEwX2ZpbHQ4X2wsIGZsYXQpOwotICAgIHExX291dCA9
IF9fbHN4X3ZiaXRzZWxfdihxMV9vdXQsIHExX2ZpbHQ4X2wsIGZsYXQpOwotICAgIHEyX291dCA9
IF9fbHN4X3ZiaXRzZWxfdihxMiwgcTJfZmlsdDhfbCwgZmxhdCk7Ci0KLSAgICBfX2xzeF92c3Qo
cDJfb3V0LCBkc3QgLSBzdHJpZGUzLCAwKTsKLSAgICBfX2xzeF92c3QocDFfb3V0LCBkc3QgLSBz
dHJpZGUyLCAwKTsKLSAgICBfX2xzeF92c3QocDBfb3V0LCBkc3QgLSBzdHJpZGUsIDApOwotICAg
IF9fbHN4X3ZzdChxMF9vdXQsIGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0KHExX291dCwgZHN0ICsg
c3RyaWRlLCAwKTsKLSAgICBfX2xzeF92c3QocTJfb3V0LCBkc3QgKyBzdHJpZGUyLCAwKTsKLSAg
fQotfQotCi12b2lkIHZweF9scGZfdmVydGljYWxfOF9sc3godWludDhfdCAqZHN0LCBpbnQzMl90
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiX2xp
bWl0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsaW1p
dF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNo
X3B0cikgewotICBfX20xMjhpIHAzLCBwMiwgcDEsIHAwLCBxMywgcTIsIHExLCBxMDsKLSAgX19t
MTI4aSBwMV9vdXQsIHAwX291dCwgcTBfb3V0LCBxMV9vdXQ7Ci0gIF9fbTEyOGkgZmxhdCwgbWFz
aywgaGV2LCB0aHJlc2gsIGJfbGltaXQsIGxpbWl0OwotICBfX20xMjhpIHAzX2wsIHAyX2wsIHAx
X2wsIHAwX2wsIHEwX2wsIHExX2wsIHEyX2wsIHEzX2w7Ci0gIF9fbTEyOGkgcDJfZmlsdDhfbCwg
cDFfZmlsdDhfbCwgcDBfZmlsdDhfbDsKLSAgX19tMTI4aSBxMF9maWx0OF9sLCBxMV9maWx0OF9s
LCBxMl9maWx0OF9sOwotICBfX20xMjhpIHplcm8gPSBfX2xzeF92bGRpKDApOwotCi0gIGludDMy
X3Qgc3RyaWRlMiA9IHN0cmlkZSA8PCAxOwotICBpbnQzMl90IHN0cmlkZTMgPSBzdHJpZGUyICsg
c3RyaWRlOwotICBpbnQzMl90IHN0cmlkZTQgPSBzdHJpZGUyIDw8IDE7Ci0gIHVpbnQ4X3QgKmRz
dF90bXAgPSBkc3QgLSA0OwotCi0gIC8qIGxvYWQgdmVjdG9yIGVsZW1lbnRzICovCi0gIHAzID0g
X19sc3hfdmxkKGRzdF90bXAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgZHN0X3RtcCwg
c3RyaWRlLCBkc3RfdG1wLCBzdHJpZGUyLCBwMiwgcDEpOwotICBwMCA9IF9fbHN4X3ZsZHgoZHN0
X3RtcCwgc3RyaWRlMyk7Ci0gIGRzdF90bXAgKz0gc3RyaWRlNDsKLSAgcTAgPSBfX2xzeF92bGQo
ZHN0X3RtcCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3RfdG1wLCBzdHJpZGUsIGRz
dF90bXAsIHN0cmlkZTIsIHExLCBxMik7Ci0gIHEzID0gX19sc3hfdmxkeChkc3RfdG1wLCBzdHJp
ZGUzKTsKLQotICBMU1hfVFJBTlNQT1NFOHg4X0IocDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIs
IHEzLCBwMywgcDIsIHAxLCBwMCwgcTAsIHExLCBxMiwKLSAgICAgICAgICAgICAgICAgICAgIHEz
KTsKLQotICB0aHJlc2ggPSBfX2xzeF92bGRyZXBsX2IodGhyZXNoX3B0ciwgMCk7Ci0gIGJfbGlt
aXQgPSBfX2xzeF92bGRyZXBsX2IoYl9saW1pdF9wdHIsIDApOwotICBsaW1pdCA9IF9fbHN4X3Zs
ZHJlcGxfYihsaW1pdF9wdHIsIDApOwotCi0gIC8qIG1hc2sgYW5kIGhldiAqLwotICBMUEZfTUFT
S19IRVYocDMsIHAyLCBwMSwgcDAsIHEwLCBxMSwgcTIsIHEzLCBsaW1pdCwgYl9saW1pdCwgdGhy
ZXNoLCBoZXYsCi0gICAgICAgICAgICAgICBtYXNrLCBmbGF0KTsKLSAgLyogZmxhdDQgKi8KLSAg
VlA5X0ZMQVQ0KHAzLCBwMiwgcDAsIHEwLCBxMiwgcTMsIGZsYXQpOwotICAvKiBmaWx0ZXI0ICov
Ci0gIFZQOV9MUEZfRklMVEVSNF80VyhwMSwgcDAsIHEwLCBxMSwgbWFzaywgaGV2LCBwMV9vdXQs
IHAwX291dCwgcTBfb3V0LCBxMV9vdXQpOwotCi0gIGZsYXQgPSBfX2xzeF92aWx2bF9kKHplcm8s
IGZsYXQpOwotCi0gIC8qIGlmIGZsYXQgaXMgemVybyBmb3IgYWxsIHBpeGVscywgdGhlbiBubyBu
ZWVkIHRvIGNhbGN1bGF0ZSBvdGhlciBmaWx0ZXIgKi8KLSAgaWYgKF9fbHN4X2J6X3YoZmxhdCkp
IHsKLSAgICAvKiBTdG9yZSA0IHBpeGVscyBwMS1fcTEgKi8KLSAgICBEVVAyX0FSRzIoX19sc3hf
dmlsdmxfYiwgcDBfb3V0LCBwMV9vdXQsIHExX291dCwgcTBfb3V0LCBwMCwgcDEpOwotICAgIHAy
ID0gX19sc3hfdmlsdmxfaChwMSwgcDApOwotICAgIHAzID0gX19sc3hfdmlsdmhfaChwMSwgcDAp
OwotCi0gICAgZHN0IC09IDI7Ci0gICAgX19sc3hfdnN0ZWxtX3cocDIsIGRzdCwgMCwgMCk7Ci0g
ICAgX19sc3hfdnN0ZWxtX3cocDIsIGRzdCArIHN0cmlkZSwgMCwgMSk7Ci0gICAgX19sc3hfdnN0
ZWxtX3cocDIsIGRzdCArIHN0cmlkZTIsIDAsIDIpOwotICAgIF9fbHN4X3ZzdGVsbV93KHAyLCBk
c3QgKyBzdHJpZGUzLCAwLCAzKTsKLSAgICBkc3QgKz0gc3RyaWRlNDsKLSAgICBfX2xzeF92c3Rl
bG1fdyhwMywgZHN0LCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fdyhwMywgZHN0ICsgc3RyaWRl
LCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1fdyhwMywgZHN0ICsgc3RyaWRlMiwgMCwgMik7Ci0g
ICAgX19sc3hfdnN0ZWxtX3cocDMsIGRzdCArIHN0cmlkZTMsIDAsIDMpOwotICB9IGVsc2Ugewot
ICAgIERVUDRfQVJHMihfX2xzeF92aWx2bF9iLCB6ZXJvLCBwMywgemVybywgcDIsIHplcm8sIHAx
LCB6ZXJvLCBwMCwgcDNfbCwgcDJfbCwKLSAgICAgICAgICAgICAgcDFfbCwgcDBfbCk7Ci0gICAg
RFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHplcm8sIHEwLCB6ZXJvLCBxMSwgemVybywgcTIsIHpl
cm8sIHEzLCBxMF9sLCBxMV9sLAotICAgICAgICAgICAgICBxMl9sLCBxM19sKTsKLSAgICBWUDlf
RklMVEVSOChwM19sLCBwMl9sLCBwMV9sLCBwMF9sLCBxMF9sLCBxMV9sLCBxMl9sLCBxM19sLCBw
Ml9maWx0OF9sLAotICAgICAgICAgICAgICAgIHAxX2ZpbHQ4X2wsIHAwX2ZpbHQ4X2wsIHEwX2Zp
bHQ4X2wsIHExX2ZpbHQ4X2wsIHEyX2ZpbHQ4X2wpOwotICAgIC8qIGNvbnZlcnQgMTYgYml0IG91
dHB1dCBkYXRhIGludG8gOCBiaXQgKi8KLSAgICBEVVA0X0FSRzIoX19sc3hfdnBpY2tldl9iLCBw
Ml9maWx0OF9sLCBwMl9maWx0OF9sLCBwMV9maWx0OF9sLCBwMV9maWx0OF9sLAotICAgICAgICAg
ICAgICBwMF9maWx0OF9sLCBwMF9maWx0OF9sLCBxMF9maWx0OF9sLCBxMF9maWx0OF9sLCBwMl9m
aWx0OF9sLAotICAgICAgICAgICAgICBwMV9maWx0OF9sLCBwMF9maWx0OF9sLCBxMF9maWx0OF9s
KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9iLCBxMV9maWx0OF9sLCBxMV9maWx0OF9s
LCBxMl9maWx0OF9sLCBxMl9maWx0OF9sLAotICAgICAgICAgICAgICBxMV9maWx0OF9sLCBxMl9m
aWx0OF9sKTsKLSAgICAvKiBzdG9yZSBwaXhlbCB2YWx1ZXMgKi8KLSAgICBwMiA9IF9fbHN4X3Zi
aXRzZWxfdihwMiwgcDJfZmlsdDhfbCwgZmxhdCk7Ci0gICAgcDEgPSBfX2xzeF92Yml0c2VsX3Yo
cDFfb3V0LCBwMV9maWx0OF9sLCBmbGF0KTsKLSAgICBwMCA9IF9fbHN4X3ZiaXRzZWxfdihwMF9v
dXQsIHAwX2ZpbHQ4X2wsIGZsYXQpOwotICAgIHEwID0gX19sc3hfdmJpdHNlbF92KHEwX291dCwg
cTBfZmlsdDhfbCwgZmxhdCk7Ci0gICAgcTEgPSBfX2xzeF92Yml0c2VsX3YocTFfb3V0LCBxMV9m
aWx0OF9sLCBmbGF0KTsKLSAgICBxMiA9IF9fbHN4X3ZiaXRzZWxfdihxMiwgcTJfZmlsdDhfbCwg
ZmxhdCk7Ci0KLSAgICAvKiBTdG9yZSA2IHBpeGVscyBwMi1fcTIgKi8KLSAgICBEVVAyX0FSRzIo
X19sc3hfdmlsdmxfYiwgcDEsIHAyLCBxMCwgcDAsIHAzLCBxMyk7Ci0gICAgcDEgPSBfX2xzeF92
aWx2bF9oKHEzLCBwMyk7Ci0gICAgcDIgPSBfX2xzeF92aWx2aF9oKHEzLCBwMyk7Ci0gICAgcDMg
PSBfX2xzeF92aWx2bF9iKHEyLCBxMSk7Ci0gICAgZHN0IC09IDM7Ci0gICAgX19sc3hfdnN0ZWxt
X3cocDEsIGRzdCwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocDMsIGRzdCwgNCwgMCk7Ci0g
ICAgZHN0ICs9IHN0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyhwMSwgZHN0LCAwLCAxKTsKLSAg
ICBfX2xzeF92c3RlbG1faChwMywgZHN0LCA0LCAxKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAg
IF9fbHN4X3ZzdGVsbV93KHAxLCBkc3QsIDAsIDIpOwotICAgIF9fbHN4X3ZzdGVsbV9oKHAzLCBk
c3QsIDQsIDIpOwotICAgIGRzdCArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3cocDEsIGRz
dCwgMCwgMyk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocDMsIGRzdCwgNCwgMyk7Ci0gICAgZHN0ICs9
IHN0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyhwMiwgZHN0LCAwLCAwKTsKLSAgICBfX2xzeF92
c3RlbG1faChwMywgZHN0LCA0LCA0KTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3Zz
dGVsbV93KHAyLCBkc3QsIDAsIDEpOwotICAgIF9fbHN4X3ZzdGVsbV9oKHAzLCBkc3QsIDQsIDUp
OwotICAgIGRzdCArPSBzdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3cocDIsIGRzdCwgMCwgMik7
Ci0gICAgX19sc3hfdnN0ZWxtX2gocDMsIGRzdCwgNCwgNik7Ci0gICAgZHN0ICs9IHN0cmlkZTsK
LSAgICBfX2xzeF92c3RlbG1fdyhwMiwgZHN0LCAwLCAzKTsKLSAgICBfX2xzeF92c3RlbG1faChw
MywgZHN0LCA0LCA3KTsKLSAgfQotfQotCi12b2lkIHZweF9scGZfdmVydGljYWxfOF9kdWFsX2xz
eCh1aW50OF90ICpkc3QsIGludDMyX3Qgc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCAqYl9saW1pdDAsIGNvbnN0IHVpbnQ4X3QgKmxpbWl0MCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnRocmVzaDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiX2xpbWl0
MSwgY29uc3QgdWludDhfdCAqbGltaXQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqdGhyZXNoMSkgewotICB1aW50OF90ICpkc3RfdG1wID0gZHN0IC0g
NDsKLSAgX19tMTI4aSBwMywgcDIsIHAxLCBwMCwgcTMsIHEyLCBxMSwgcTA7Ci0gIF9fbTEyOGkg
cDFfb3V0LCBwMF9vdXQsIHEwX291dCwgcTFfb3V0OwotICBfX20xMjhpIGZsYXQsIG1hc2ssIGhl
diwgdGhyZXNoLCBiX2xpbWl0LCBsaW1pdDsKLSAgX19tMTI4aSByb3c0LCByb3c1LCByb3c2LCBy
b3c3LCByb3cxMiwgcm93MTMsIHJvdzE0LCByb3cxNTsKLSAgX19tMTI4aSBwM19sLCBwMl9sLCBw
MV9sLCBwMF9sLCBxMF9sLCBxMV9sLCBxMl9sLCBxM19sOwotICBfX20xMjhpIHAzX2gsIHAyX2gs
IHAxX2gsIHAwX2gsIHEwX2gsIHExX2gsIHEyX2gsIHEzX2g7Ci0gIF9fbTEyOGkgcDJfZmlsdDhf
bCwgcDFfZmlsdDhfbCwgcDBfZmlsdDhfbDsKLSAgX19tMTI4aSBxMF9maWx0OF9sLCBxMV9maWx0
OF9sLCBxMl9maWx0OF9sOwotICBfX20xMjhpIHAyX2ZpbHQ4X2gsIHAxX2ZpbHQ4X2gsIHAwX2Zp
bHQ4X2g7Ci0gIF9fbTEyOGkgcTBfZmlsdDhfaCwgcTFfZmlsdDhfaCwgcTJfZmlsdDhfaDsKLSAg
aW50MzJfdCBzdHJpZGUyID0gc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3RyaWRlMyA9IHN0cmlk
ZTIgKyBzdHJpZGU7Ci0gIGludDMyX3Qgc3RyaWRlNCA9IHN0cmlkZTIgPDwgMTsKLQotICBwMCA9
IF9fbHN4X3ZsZChkc3RfdG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGRzdF90bXAs
IHN0cmlkZSwgZHN0X3RtcCwgc3RyaWRlMiwgcDEsIHAyKTsKLSAgcDMgPSBfX2xzeF92bGR4KGRz
dF90bXAsIHN0cmlkZTMpOwotICBkc3RfdG1wICs9IHN0cmlkZTQ7Ci0gIHJvdzQgPSBfX2xzeF92
bGQoZHN0X3RtcCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3RfdG1wLCBzdHJpZGUs
IGRzdF90bXAsIHN0cmlkZTIsIHJvdzUsIHJvdzYpOwotICByb3c3ID0gX19sc3hfdmxkeChkc3Rf
dG1wLCBzdHJpZGUzKTsKLSAgZHN0X3RtcCArPSBzdHJpZGU0OwotCi0gIHEzID0gX19sc3hfdmxk
KGRzdF90bXAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgZHN0X3RtcCwgc3RyaWRlLCBk
c3RfdG1wLCBzdHJpZGUyLCBxMiwgcTEpOwotICBxMCA9IF9fbHN4X3ZsZHgoZHN0X3RtcCwgc3Ry
aWRlMyk7Ci0gIGRzdF90bXAgKz0gc3RyaWRlNDsKLSAgcm93MTIgPSBfX2xzeF92bGQoZHN0X3Rt
cCwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3RfdG1wLCBzdHJpZGUsIGRzdF90bXAs
IHN0cmlkZTIsIHJvdzEzLCByb3cxNCk7Ci0gIHJvdzE1ID0gX19sc3hfdmxkeChkc3RfdG1wLCBz
dHJpZGUzKTsKLQotICAvKiB0cmFuc3Bvc2UgMTZ4OCBtYXRyaXggaW50byA4eDE2ICovCi0gIExT
WF9UUkFOU1BPU0UxNng4X0IocDAsIHAxLCBwMiwgcDMsIHJvdzQsIHJvdzUsIHJvdzYsIHJvdzcs
IHEzLCBxMiwgcTEsIHEwLAotICAgICAgICAgICAgICAgICAgICAgIHJvdzEyLCByb3cxMywgcm93
MTQsIHJvdzE1LCBwMywgcDIsIHAxLCBwMCwgcTAsIHExLCBxMiwKLSAgICAgICAgICAgICAgICAg
ICAgICBxMyk7Ci0KLSAgdGhyZXNoID0gX19sc3hfdmxkcmVwbF9iKHRocmVzaDAsIDApOwotICBw
MV9vdXQgPSBfX2xzeF92bGRyZXBsX2IodGhyZXNoMSwgMCk7Ci0gIHRocmVzaCA9IF9fbHN4X3Zp
bHZsX2QocDFfb3V0LCB0aHJlc2gpOwotCi0gIGJfbGltaXQgPSBfX2xzeF92bGRyZXBsX2IoYl9s
aW1pdDAsIDApOwotICBwMV9vdXQgPSBfX2xzeF92bGRyZXBsX2IoYl9saW1pdDEsIDApOwotICBi
X2xpbWl0ID0gX19sc3hfdmlsdmxfZChwMV9vdXQsIGJfbGltaXQpOwotCi0gIGxpbWl0ID0gX19s
c3hfdmxkcmVwbF9iKGxpbWl0MCwgMCk7Ci0gIHAxX291dCA9IF9fbHN4X3ZsZHJlcGxfYihsaW1p
dDEsIDApOwotICBsaW1pdCA9IF9fbHN4X3ZpbHZsX2QocDFfb3V0LCBsaW1pdCk7Ci0KLSAgLyog
bWFzayBhbmQgaGV2ICovCi0gIExQRl9NQVNLX0hFVihwMywgcDIsIHAxLCBwMCwgcTAsIHExLCBx
MiwgcTMsIGxpbWl0LCBiX2xpbWl0LCB0aHJlc2gsIGhldiwKLSAgICAgICAgICAgICAgIG1hc2ss
IGZsYXQpOwotICAvKiBmbGF0NCAqLwotICBWUDlfRkxBVDQocDMsIHAyLCBwMCwgcTAsIHEyLCBx
MywgZmxhdCk7Ci0gIC8qIGZpbHRlcjQgKi8KLSAgVlA5X0xQRl9GSUxURVI0XzRXKHAxLCBwMCwg
cTAsIHExLCBtYXNrLCBoZXYsIHAxX291dCwgcDBfb3V0LCBxMF9vdXQsIHExX291dCk7Ci0gIC8q
IGlmIGZsYXQgaXMgemVybyBmb3IgYWxsIHBpeGVscywgdGhlbiBubyBuZWVkIHRvIGNhbGN1bGF0
ZSBvdGhlciBmaWx0ZXIgKi8KLSAgaWYgKF9fbHN4X2J6X3YoZmxhdCkpIHsKLSAgICBEVVAyX0FS
RzIoX19sc3hfdmlsdmxfYiwgcDBfb3V0LCBwMV9vdXQsIHExX291dCwgcTBfb3V0LCBwMCwgcDEp
OwotICAgIHAyID0gX19sc3hfdmlsdmxfaChwMSwgcDApOwotICAgIHAzID0gX19sc3hfdmlsdmhf
aChwMSwgcDApOwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBwMF9vdXQsIHAxX291dCwg
cTFfb3V0LCBxMF9vdXQsIHAwLCBwMSk7Ci0gICAgcTIgPSBfX2xzeF92aWx2bF9oKHAxLCBwMCk7
Ci0gICAgcTMgPSBfX2xzeF92aWx2aF9oKHAxLCBwMCk7Ci0gICAgZHN0IC09IDI7Ci0gICAgX19s
c3hfdnN0ZWxtX3cocDIsIGRzdCwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX3cocDIsIGRzdCAr
IHN0cmlkZSwgMCwgMSk7Ci0gICAgX19sc3hfdnN0ZWxtX3cocDIsIGRzdCArIHN0cmlkZTIsIDAs
IDIpOwotICAgIF9fbHN4X3ZzdGVsbV93KHAyLCBkc3QgKyBzdHJpZGUzLCAwLCAzKTsKLSAgICBk
c3QgKz0gc3RyaWRlNDsKLSAgICBfX2xzeF92c3RlbG1fdyhwMywgZHN0LCAwLCAwKTsKLSAgICBf
X2xzeF92c3RlbG1fdyhwMywgZHN0ICsgc3RyaWRlLCAwLCAxKTsKLSAgICBfX2xzeF92c3RlbG1f
dyhwMywgZHN0ICsgc3RyaWRlMiwgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX3cocDMsIGRzdCAr
IHN0cmlkZTMsIDAsIDMpOwotICAgIGRzdCArPSBzdHJpZGU0OwotICAgIF9fbHN4X3ZzdGVsbV93
KHEyLCBkc3QsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV93KHEyLCBkc3QgKyBzdHJpZGUsIDAs
IDEpOwotICAgIF9fbHN4X3ZzdGVsbV93KHEyLCBkc3QgKyBzdHJpZGUyLCAwLCAyKTsKLSAgICBf
X2xzeF92c3RlbG1fdyhxMiwgZHN0ICsgc3RyaWRlMywgMCwgMyk7Ci0gICAgZHN0ICs9IHN0cmlk
ZTQ7Ci0gICAgX19sc3hfdnN0ZWxtX3cocTMsIGRzdCwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxt
X3cocTMsIGRzdCArIHN0cmlkZSwgMCwgMSk7Ci0gICAgX19sc3hfdnN0ZWxtX3cocTMsIGRzdCAr
IHN0cmlkZTIsIDAsIDIpOwotICAgIF9fbHN4X3ZzdGVsbV93KHEzLCBkc3QgKyBzdHJpZGUzLCAw
LCAzKTsKLSAgfSBlbHNlIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnNsbHdpbF9odV9idSwgcDMs
IDAsIHAyLCAwLCBwMSwgMCwgcDAsIDAsIHAzX2wsIHAyX2wsIHAxX2wsCi0gICAgICAgICAgICAg
IHAwX2wpOwotICAgIERVUDRfQVJHMihfX2xzeF92c2xsd2lsX2h1X2J1LCBxMCwgMCwgcTEsIDAs
IHEyLCAwLCBxMywgMCwgcTBfbCwgcTFfbCwgcTJfbCwKLSAgICAgICAgICAgICAgcTNfbCk7Ci0g
ICAgVlA5X0ZJTFRFUjgocDNfbCwgcDJfbCwgcDFfbCwgcDBfbCwgcTBfbCwgcTFfbCwgcTJfbCwg
cTNfbCwgcDJfZmlsdDhfbCwKLSAgICAgICAgICAgICAgICBwMV9maWx0OF9sLCBwMF9maWx0OF9s
LCBxMF9maWx0OF9sLCBxMV9maWx0OF9sLCBxMl9maWx0OF9sKTsKLSAgICBEVVA0X0FSRzEoX19s
c3hfdmV4dGhfaHVfYnUsIHAzLCBwMiwgcDEsIHAwLCBwM19oLCBwMl9oLCBwMV9oLCBwMF9oKTsK
LSAgICBEVVA0X0FSRzEoX19sc3hfdmV4dGhfaHVfYnUsIHEwLCBxMSwgcTIsIHEzLCBxMF9oLCBx
MV9oLCBxMl9oLCBxM19oKTsKLQotICAgIC8qIGZpbHRlcjggKi8KLSAgICBWUDlfRklMVEVSOChw
M19oLCBwMl9oLCBwMV9oLCBwMF9oLCBxMF9oLCBxMV9oLCBxMl9oLCBxM19oLCBwMl9maWx0OF9o
LAotICAgICAgICAgICAgICAgIHAxX2ZpbHQ4X2gsIHAwX2ZpbHQ4X2gsIHEwX2ZpbHQ4X2gsIHEx
X2ZpbHQ4X2gsIHEyX2ZpbHQ4X2gpOwotCi0gICAgLyogY29udmVydCAxNiBiaXQgb3V0cHV0IGRh
dGEgaW50byA4IGJpdCAqLwotICAgIERVUDRfQVJHMihfX2xzeF92cGlja2V2X2IsIHAyX2ZpbHQ4
X2gsIHAyX2ZpbHQ4X2wsIHAxX2ZpbHQ4X2gsIHAxX2ZpbHQ4X2wsCi0gICAgICAgICAgICAgIHAw
X2ZpbHQ4X2gsIHAwX2ZpbHQ4X2wsIHEwX2ZpbHQ4X2gsIHEwX2ZpbHQ4X2wsIHAyX2ZpbHQ4X2ws
Ci0gICAgICAgICAgICAgIHAxX2ZpbHQ4X2wsIHAwX2ZpbHQ4X2wsIHEwX2ZpbHQ4X2wpOwotICAg
IERVUDJfQVJHMihfX2xzeF92cGlja2V2X2IsIHExX2ZpbHQ4X2gsIHExX2ZpbHQ4X2wsIHEyX2Zp
bHQ4X2gsIHEyX2ZpbHQ4X2wsCi0gICAgICAgICAgICAgIHExX2ZpbHQ4X2wsIHEyX2ZpbHQ4X2wp
OwotCi0gICAgLyogc3RvcmUgcGl4ZWwgdmFsdWVzICovCi0gICAgcDIgPSBfX2xzeF92Yml0c2Vs
X3YocDIsIHAyX2ZpbHQ4X2wsIGZsYXQpOwotICAgIHAxID0gX19sc3hfdmJpdHNlbF92KHAxX291
dCwgcDFfZmlsdDhfbCwgZmxhdCk7Ci0gICAgcDAgPSBfX2xzeF92Yml0c2VsX3YocDBfb3V0LCBw
MF9maWx0OF9sLCBmbGF0KTsKLSAgICBxMCA9IF9fbHN4X3ZiaXRzZWxfdihxMF9vdXQsIHEwX2Zp
bHQ4X2wsIGZsYXQpOwotICAgIHExID0gX19sc3hfdmJpdHNlbF92KHExX291dCwgcTFfZmlsdDhf
bCwgZmxhdCk7Ci0gICAgcTIgPSBfX2xzeF92Yml0c2VsX3YocTIsIHEyX2ZpbHQ4X2wsIGZsYXQp
OwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2IsIHAxLCBwMiwgcTAsIHAwLCBwMywgcTMp
OwotICAgIHAyX2ZpbHQ4X2wgPSBfX2xzeF92aWx2bF9oKHEzLCBwMyk7Ci0gICAgcDJfZmlsdDhf
aCA9IF9fbHN4X3ZpbHZoX2gocTMsIHAzKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfYiwg
cDEsIHAyLCBxMCwgcDAsIHAzLCBxMyk7Ci0gICAgcDBfZmlsdDhfbCA9IF9fbHN4X3ZpbHZsX2go
cTMsIHAzKTsKLSAgICBwMF9maWx0OF9oID0gX19sc3hfdmlsdmhfaChxMywgcDMpOwotICAgIHEx
X2ZpbHQ4X2wgPSBfX2xzeF92aWx2bF9iKHEyLCBxMSk7Ci0gICAgcTFfZmlsdDhfaCA9IF9fbHN4
X3ZpbHZoX2IocTIsIHExKTsKLQotICAgIGRzdCAtPSAzOwotICAgIF9fbHN4X3ZzdGVsbV93KHAy
X2ZpbHQ4X2wsIGRzdCwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfbCwgZHN0
LCA0LCAwKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAyX2ZpbHQ4
X2wsIGRzdCwgMCwgMSk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfbCwgZHN0LCA0LCAx
KTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAyX2ZpbHQ4X2wsIGRz
dCwgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfbCwgZHN0LCA0LCAyKTsKLSAg
ICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAyX2ZpbHQ4X2wsIGRzdCwgMCwg
Myk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfbCwgZHN0LCA0LCAzKTsKLSAgICBkc3Qg
Kz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAyX2ZpbHQ4X2gsIGRzdCwgMCwgMCk7Ci0g
ICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfbCwgZHN0LCA0LCA0KTsKLSAgICBkc3QgKz0gc3Ry
aWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAyX2ZpbHQ4X2gsIGRzdCwgMCwgMSk7Ci0gICAgX19s
c3hfdnN0ZWxtX2gocTFfZmlsdDhfbCwgZHN0LCA0LCA1KTsKLSAgICBkc3QgKz0gc3RyaWRlOwot
ICAgIF9fbHN4X3ZzdGVsbV93KHAyX2ZpbHQ4X2gsIGRzdCwgMCwgMik7Ci0gICAgX19sc3hfdnN0
ZWxtX2gocTFfZmlsdDhfbCwgZHN0LCA0LCA2KTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9f
bHN4X3ZzdGVsbV93KHAyX2ZpbHQ4X2gsIGRzdCwgMCwgMyk7Ci0gICAgX19sc3hfdnN0ZWxtX2go
cTFfZmlsdDhfbCwgZHN0LCA0LCA3KTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3Zz
dGVsbV93KHAwX2ZpbHQ4X2wsIGRzdCwgMCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmls
dDhfaCwgZHN0LCA0LCAwKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93
KHAwX2ZpbHQ4X2wsIGRzdCwgMCwgMSk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfaCwg
ZHN0LCA0LCAxKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAwX2Zp
bHQ4X2wsIGRzdCwgMCwgMik7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfaCwgZHN0LCA0
LCAyKTsKLSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAwX2ZpbHQ4X2ws
IGRzdCwgMCwgMyk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfaCwgZHN0LCA0LCAzKTsK
LSAgICBkc3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAwX2ZpbHQ4X2gsIGRzdCwg
MCwgMCk7Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfaCwgZHN0LCA0LCA0KTsKLSAgICBk
c3QgKz0gc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAwX2ZpbHQ4X2gsIGRzdCwgMCwgMSk7
Ci0gICAgX19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfaCwgZHN0LCA0LCA1KTsKLSAgICBkc3QgKz0g
c3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KHAwX2ZpbHQ4X2gsIGRzdCwgMCwgMik7Ci0gICAg
X19sc3hfdnN0ZWxtX2gocTFfZmlsdDhfaCwgZHN0LCA0LCA2KTsKLSAgICBkc3QgKz0gc3RyaWRl
OwotICAgIF9fbHN4X3ZzdGVsbV93KHAwX2ZpbHQ4X2gsIGRzdCwgMCwgMyk7Ci0gICAgX19sc3hf
dnN0ZWxtX2gocTFfZmlsdDhfaCwgZHN0LCA0LCA3KTsKLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9sb29wZmlsdGVyX2xzeC5oIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2xvb25nYXJjaC9sb29wZmlsdGVyX2xzeC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxYzQzODM2NTAzZGUuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvbG9vbmdhcmNoL2xvb3BmaWx0ZXJfbHN4LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjcgKzAs
MCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3Jz
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBp
cyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4g
QW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBm
b3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3Qg
YXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290
IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaWZuZGVmIFZQWF9WUFhfRFNQX0xPT05HQVJD
SF9MT09QRklMVEVSX0xTWF9IXwotI2RlZmluZSBWUFhfVlBYX0RTUF9MT09OR0FSQ0hfTE9PUEZJ
TFRFUl9MU1hfSF8KLQotI2luY2x1ZGUgInZweF91dGlsL2xvb25nc29uX2ludHJpbnNpY3MuaCIK
LQotI2RlZmluZSBMUEZfTUFTS19IRVYocDNfaW4sIHAyX2luLCBwMV9pbiwgcDBfaW4sIHEwX2lu
LCBxMV9pbiwgcTJfaW4sIHEzX2luLCBcCi0gICAgICAgICAgICAgICAgICAgICBsaW1pdF9pbiwg
Yl9saW1pdF9pbiwgdGhyZXNoX2luLCBoZXZfb3V0LCBtYXNrX291dCwgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgIGZsYXRfb3V0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBwM19hc3Vi
X3AyX20sIHAyX2FzdWJfcDFfbSwgcDFfYXN1Yl9wMF9tLCBxMV9hc3ViX3EwX207ICAgICAgICAg
IFwKLSAgICBfX20xMjhpIHAxX2FzdWJfcTFfbSwgcDBfYXN1Yl9xMF9tLCBxM19hc3ViX3EyX20s
IHEyX2FzdWJfcTFfbTsgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgLyog
YWJzb2x1dGUgc3VidHJhY3Rpb24gb2YgcGl4ZWwgdmFsdWVzICovICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBwM19hc3ViX3AyX20gPSBfX2xzeF92YWJzZF9idShwM19pbiwg
cDJfaW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAyX2FzdWJfcDFfbSA9
IF9fbHN4X3ZhYnNkX2J1KHAyX2luLCBwMV9pbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgcDFfYXN1Yl9wMF9tID0gX19sc3hfdmFic2RfYnUocDFfaW4sIHAwX2luKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBxMV9hc3ViX3EwX20gPSBfX2xzeF92YWJz
ZF9idShxMV9pbiwgcTBfaW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHEy
X2FzdWJfcTFfbSA9IF9fbHN4X3ZhYnNkX2J1KHEyX2luLCBxMV9pbik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgcTNfYXN1Yl9xMl9tID0gX19sc3hfdmFic2RfYnUocTNfaW4s
IHEyX2luKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBwMF9hc3ViX3EwX20g
PSBfX2xzeF92YWJzZF9idShwMF9pbiwgcTBfaW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIHAxX2FzdWJfcTFfbSA9IF9fbHN4X3ZhYnNkX2J1KHAxX2luLCBxMV9pbik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAv
KiBjYWxjdWxhdGlvbiBvZiBoZXYgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGZsYXRfb3V0ID0gX19sc3hfdm1heF9idShwMV9hc3ViX3Aw
X20sIHExX2FzdWJfcTBfbSk7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgaGV2X291dCA9IF9f
bHN4X3ZzbHRfYnUodGhyZXNoX2luLCBmbGF0X291dCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC8qIGNhbGN1bGF0aW9uIG9mIG1hc2sg
Ki8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
cDBfYXN1Yl9xMF9tID0gX19sc3hfdnNhZGRfYnUocDBfYXN1Yl9xMF9tLCBwMF9hc3ViX3EwX20p
OyAgICAgICAgICAgICAgIFwKLSAgICBwMV9hc3ViX3ExX20gPSBfX2xzeF92c3JsaV9iKHAxX2Fz
dWJfcTFfbSwgMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAwX2FzdWJfcTBf
bSA9IF9fbHN4X3ZzYWRkX2J1KHAwX2FzdWJfcTBfbSwgcDFfYXN1Yl9xMV9tKTsgICAgICAgICAg
ICAgICBcCi0gICAgbWFza19vdXQgPSBfX2xzeF92c2x0X2J1KGJfbGltaXRfaW4sIHAwX2FzdWJf
cTBfbSk7ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBtYXNrX291dCA9IF9fbHN4X3ZtYXhf
YnUoZmxhdF9vdXQsIG1hc2tfb3V0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHAzX2FzdWJfcDJfbSA9IF9fbHN4X3ZtYXhfYnUocDNfYXN1Yl9wMl9tLCBwMl9hc3ViX3AxX20p
OyAgICAgICAgICAgICAgICBcCi0gICAgbWFza19vdXQgPSBfX2xzeF92bWF4X2J1KHAzX2FzdWJf
cDJfbSwgbWFza19vdXQpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBxMl9hc3ViX3Ex
X20gPSBfX2xzeF92bWF4X2J1KHEyX2FzdWJfcTFfbSwgcTNfYXN1Yl9xMl9tKTsgICAgICAgICAg
ICAgICAgXAotICAgIG1hc2tfb3V0ID0gX19sc3hfdm1heF9idShxMl9hc3ViX3ExX20sIG1hc2tf
b3V0KTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBtYXNrX291dCA9IF9fbHN4X3ZzbHRfYnUobGltaXRfaW4sIG1hc2tfb3V0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIG1hc2tfb3V0ID0gX19sc3hfdnhvcmlfYihtYXNrX291
dCwgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDAp
Ci0KLSNkZWZpbmUgVlA5X0ZMQVQ0KHAzX2luLCBwMl9pbiwgcDBfaW4sIHEwX2luLCBxMl9pbiwg
cTNfaW4sIGZsYXRfb3V0KSAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9fbTEyOGkgcDJfYXN1Yl9wMCwgcTJfYXN1Yl9xMCwgcDNfYXN1Yl9wMCwgcTNfYXN1Yl9xMDsg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIGZsYXQ0X3RtcCA9IF9fbHN4X3ZsZGko
MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIERVUDRfQVJHMihfX2xzeF92YWJzZF9idSwgcDJfaW4sIHAwX2lu
LCBxMl9pbiwgcTBfaW4sIHAzX2luLCBwMF9pbiwgcTNfaW4sIFwKLSAgICAgICAgICAgICAgcTBf
aW4sIHAyX2FzdWJfcDAsIHEyX2FzdWJfcTAsIHAzX2FzdWJfcDAsIHEzX2FzdWJfcTApOyAgICAg
ICAgICBcCi0gICAgcDJfYXN1Yl9wMCA9IF9fbHN4X3ZtYXhfYnUocDJfYXN1Yl9wMCwgcTJfYXN1
Yl9xMCk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZsYXRfb3V0ID0gX19sc3hfdm1h
eF9idShwMl9hc3ViX3AwLCBmbGF0X291dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBwM19hc3ViX3AwID0gX19sc3hfdm1heF9idShwM19hc3ViX3AwLCBxM19hc3ViX3EwKTsg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmxhdF9vdXQgPSBfX2xzeF92bWF4X2J1KHAz
X2FzdWJfcDAsIGZsYXRfb3V0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBmbGF0X291dCA9IF9fbHN4X3ZzbHRfYnUoZmxhdDRfdG1w
LCBmbGF0X291dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmxhdF9vdXQg
PSBfX2xzeF92eG9yaV9iKGZsYXRfb3V0LCAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIGZsYXRfb3V0ID0gZmxhdF9vdXQgJiAobWFzayk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2Rl
ZmluZSBWUDlfRkxBVDUocDdfaW4sIHA2X2luLCBwNV9pbiwgcDRfaW4sIHAwX2luLCBxMF9pbiwg
cTRfaW4sIHE1X2luLCAgICAgIFwKLSAgICAgICAgICAgICAgICAgIHE2X2luLCBxN19pbiwgZmxh
dF9pbiwgZmxhdDJfb3V0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgZmxhdDVfdG1wID0gX19sc3hfdmxkaSgxKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHA0X2Fz
dWJfcDAsIHE0X2FzdWJfcTAsIHA1X2FzdWJfcDAsIHE1X2FzdWJfcTA7ICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX19tMTI4aSBwNl9hc3ViX3AwLCBxNl9hc3ViX3EwLCBwN19hc3ViX3AwLCBx
N19hc3ViX3EwOyAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDRfQVJHMihfX2xzeF92YWJz
ZF9idSwgcDRfaW4sIHAwX2luLCBxNF9pbiwgcTBfaW4sIHA1X2luLCBwMF9pbiwgcTVfaW4sIFwK
LSAgICAgICAgICAgICAgcTBfaW4sIHA0X2FzdWJfcDAsIHE0X2FzdWJfcTAsIHA1X2FzdWJfcDAs
IHE1X2FzdWJfcTApOyAgICAgICAgICBcCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZhYnNkX2J1LCBw
Nl9pbiwgcDBfaW4sIHE2X2luLCBxMF9pbiwgcDdfaW4sIHAwX2luLCBxN19pbiwgXAotICAgICAg
ICAgICAgICBxMF9pbiwgcDZfYXN1Yl9wMCwgcTZfYXN1Yl9xMCwgcDdfYXN1Yl9wMCwgcTdfYXN1
Yl9xMCk7ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcy
KF9fbHN4X3ZtYXhfYnUsIHA0X2FzdWJfcDAsIHE0X2FzdWJfcTAsIHA1X2FzdWJfcDAsIHE1X2Fz
dWJfcTAsICAgXAotICAgICAgICAgICAgICBwNF9hc3ViX3AwLCBmbGF0Ml9vdXQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmbGF0Ml9vdXQgPSBfX2xz
eF92bWF4X2J1KHA0X2FzdWJfcDAsIGZsYXQyX291dCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgcDZfYXN1Yl9wMCA9IF9fbHN4X3ZtYXhfYnUocDZfYXN1Yl9wMCwgcTZfYXN1Yl9x
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZsYXQyX291dCA9IF9fbHN4X3ZtYXhf
YnUocDZfYXN1Yl9wMCwgZmxhdDJfb3V0KTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBwN19hc3ViX3AwID0gX19sc3hfdm1heF9idShwN19hc3ViX3AwLCBxN19hc3ViX3EwKTsgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmxhdDJfb3V0ID0gX19sc3hfdm1heF9idShwN19h
c3ViX3AwLCBmbGF0Ml9vdXQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZsYXQy
X291dCA9IF9fbHN4X3ZzbHRfYnUoZmxhdDVfdG1wLCBmbGF0Ml9vdXQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBmbGF0Ml9vdXQgPSBfX2xzeF92eG9yaV9iKGZsYXQyX291dCwg
MHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmxhdDJfb3V0ID0g
ZmxhdDJfb3V0ICYgZmxhdF9pbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIFZQOV9MUEZfRklMVEVSNF80VyhwMV9p
biwgcDBfaW4sIHEwX2luLCBxMV9pbiwgbWFzaywgaGV2LCBwMV9vdXQsICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBwMF9vdXQsIHEwX291dCwgcTFfb3V0KSAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBwMV9tLCBwMF9tLCBx
MF9tLCBxMV9tLCBmaWx0LCBxMF9zdWJfcDAsIHQxLCB0MjsgICAgICAgICAgICAgICBcCi0gICAg
Y29uc3QgX19tMTI4aSBjbnN0NGIgPSBfX2xzeF92bGRpKDQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgY29uc3QgX19tMTI4aSBjbnN0M2IgPSBfX2xzeF92bGRpKDMp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQNF9BUkcyKF9fbHN4
X3Z4b3JpX2IsIHAxX2luLCAweDgwLCBwMF9pbiwgMHg4MCwgcTBfaW4sIDB4ODAsIHExX2luLCBc
Ci0gICAgICAgICAgICAgIDB4ODAsIHAxX20sIHAwX20sIHEwX20sIHExX20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3Zzc3ViX2IocDFfbSwgcTFf
bSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmlsdCAmPSBo
ZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcTBfc3ViX3AwID0gX19sc3hfdnNzdWJf
YihxMF9tLCBwMF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmls
dCA9IF9fbHN4X3ZzYWRkX2IoZmlsdCwgcTBfc3ViX3AwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3ZzYWRkX2IoZmlsdCwgcTBfc3ViX3AwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmlsdCA9IF9fbHN4X3ZzYWRk
X2IoZmlsdCwgcTBfc3ViX3AwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgZmlsdCAmPSBtYXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZzYWRkX2IsIGZpbHQsIGNu
c3Q0YiwgZmlsdCwgY25zdDNiLCB0MSwgdDIpOyAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZzcmFpX2IsIHQxLCAzLCB0MiwgMywgdDEsIHQyKTsgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcTBfbSA9IF9fbHN4X3Zzc3ViX2IocTBfbSwg
dDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcDBfbSA9
IF9fbHN4X3ZzYWRkX2IocDBfbSwgdDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHEwX20sIDB4ODAsIHAwX20s
IDB4ODAsIHEwX291dCwgcDBfb3V0KTsgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ZmlsdCA9IF9fbHN4X3ZzcmFyaV9iKHQxLCAxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgaGV2ID0gX19sc3hfdnhvcmlfYihoZXYsIDB4ZmYpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZmlsdCAmPSBoZXY7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgcTFfbSA9IF9fbHN4X3Zzc3ViX2IocTFfbSwgZmlsdCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgcDFfbSA9IF9fbHN4X3ZzYWRkX2IocDFfbSwgZmls
dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcy
KF9fbHN4X3Z4b3JpX2IsIHExX20sIDB4ODAsIHAxX20sIDB4ODAsIHExX291dCwgcDFfb3V0KTsg
ICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNkZWZpbmUgVlA5X0ZJTFRFUjgocDNfaW4sIHAyX2lu
LCBwMV9pbiwgcDBfaW4sIHEwX2luLCBxMV9pbiwgcTJfaW4sIHEzX2luLCBcCi0gICAgICAgICAg
ICAgICAgICAgIHAyX2ZpbHQ4X291dCwgcDFfZmlsdDhfb3V0LCBwMF9maWx0OF9vdXQsIHEwX2Zp
bHQ4X291dCwgXAotICAgICAgICAgICAgICAgICAgICBxMV9maWx0OF9vdXQsIHEyX2ZpbHQ4X291
dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX19tMTI4aSB0bXBfZmlsdDhfMCwgdG1wX2ZpbHQ4XzEsIHRtcF9maWx0OF8yOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0bXBfZmlsdDhf
MiA9IF9fbHN4X3ZhZGRfaChwMl9pbiwgcDFfaW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgdG1wX2ZpbHQ4XzIgPSBfX2xzeF92YWRkX2godG1wX2ZpbHQ4XzIsIHAwX2lu
KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHRtcF9maWx0OF8wID0gX19sc3hfdnNs
bGlfaChwM19pbiwgMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgdG1wX2ZpbHQ4XzAgPSBfX2xzeF92YWRkX2godG1wX2ZpbHQ4
XzAsIHRtcF9maWx0OF8yKTsgICAgICAgICAgICAgICAgICAgXAotICAgIHRtcF9maWx0OF8wID0g
X19sc3hfdmFkZF9oKHRtcF9maWx0OF8wLCBxMF9pbik7ICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICB0bXBfZmlsdDhfMSA9IF9fbHN4X3ZhZGRfaCh0bXBfZmlsdDhfMCwgcDNfaW4pOyAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdG1wX2ZpbHQ4XzEgPSBfX2xzeF92YWRkX2go
dG1wX2ZpbHQ4XzEsIHAyX2luKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHAyX2Zp
bHQ4X291dCA9IF9fbHN4X3ZzcmFyaV9oKHRtcF9maWx0OF8xLCAzKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdG1wX2ZpbHQ4XzEgPSBfX2xz
eF92YWRkX2godG1wX2ZpbHQ4XzAsIHAxX2luKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHRtcF9maWx0OF8xID0gX19sc3hfdmFkZF9oKHRtcF9maWx0OF8xLCBxMV9pbik7ICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBwMV9maWx0OF9vdXQgPSBfX2xzeF92c3JhcmlfaCh0
bXBfZmlsdDhfMSwgMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHRtcF9maWx0OF8xID0gX19sc3hfdmFkZF9oKHEyX2luLCBxMV9pbik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0bXBfZmlsdDhfMSA9IF9fbHN4X3Zh
ZGRfaCh0bXBfZmlsdDhfMSwgcTBfaW4pOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
dG1wX2ZpbHQ4XzIgPSBfX2xzeF92YWRkX2godG1wX2ZpbHQ4XzIsIHRtcF9maWx0OF8xKTsgICAg
ICAgICAgICAgICAgICAgXAotICAgIHRtcF9maWx0OF8wID0gX19sc3hfdmFkZF9oKHRtcF9maWx0
OF8yLCBwMF9pbik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0bXBfZmlsdDhfMCA9
IF9fbHN4X3ZhZGRfaCh0bXBfZmlsdDhfMCwgcDNfaW4pOyAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgcDBfZmlsdDhfb3V0ID0gX19sc3hfdnNyYXJpX2godG1wX2ZpbHQ4XzAsIDMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0bXBf
ZmlsdDhfMCA9IF9fbHN4X3ZhZGRfaChxMl9pbiwgcTNfaW4pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgdG1wX2ZpbHQ4XzAgPSBfX2xzeF92YWRkX2gocDBfaW4sIHRtcF9m
aWx0OF8wKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHRtcF9maWx0OF8wID0gX19s
c3hfdmFkZF9oKHRtcF9maWx0OF8wLCB0bXBfZmlsdDhfMSk7ICAgICAgICAgICAgICAgICAgIFwK
LSAgICB0bXBfZmlsdDhfMSA9IF9fbHN4X3ZhZGRfaChxM19pbiwgcTNfaW4pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgdG1wX2ZpbHQ4XzEgPSBfX2xzeF92YWRkX2godG1w
X2ZpbHQ4XzEsIHRtcF9maWx0OF8wKTsgICAgICAgICAgICAgICAgICAgXAotICAgIHEyX2ZpbHQ4
X291dCA9IF9fbHN4X3ZzcmFyaV9oKHRtcF9maWx0OF8xLCAzKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdG1wX2ZpbHQ4XzAgPSBfX2xzeF92
YWRkX2godG1wX2ZpbHQ4XzIsIHEzX2luKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHRtcF9maWx0OF8xID0gX19sc3hfdmFkZF9oKHRtcF9maWx0OF8wLCBxMF9pbik7ICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBxMF9maWx0OF9vdXQgPSBfX2xzeF92c3JhcmlfaCh0bXBf
ZmlsdDhfMSwgMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIHRtcF9maWx0OF8xID0gX19sc3hfdnN1Yl9oKHRtcF9maWx0OF8wLCBwMl9pbik7
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0bXBfZmlsdDhfMCA9IF9fbHN4X3ZhZGRf
aChxMV9pbiwgcTNfaW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdG1w
X2ZpbHQ4XzEgPSBfX2xzeF92YWRkX2godG1wX2ZpbHQ4XzAsIHRtcF9maWx0OF8xKTsgICAgICAg
ICAgICAgICAgICAgXAotICAgIHExX2ZpbHQ4X291dCA9IF9fbHN4X3ZzcmFyaV9oKHRtcF9maWx0
OF8xLCAzKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSB3aGlsZSAoMCkKLQotI2Vu
ZGlmICAvLyBWUFhfVlBYX0RTUF9MT09OR0FSQ0hfTE9PUEZJTFRFUl9MU1hfSF8KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvcXVhbnRpemVfbHN4LmMgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvbG9vbmdhcmNoL3F1YW50aXplX2xzeC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5YmIxNjkxZTJlMWIuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AvbG9vbmdhcmNoL3F1YW50aXplX2xzeC5jCisrKyAvZGV2L251bGwKQEAgLTEsMjQ0ICsw
LDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIyIFRoZSBXZWJNIHByb2plY3QgYXV0aG9y
cy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUu
IEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUg
Zm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0
IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgot
I2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAidnB4X3V0aWwvbG9vbmdzb25f
aW50cmluc2ljcy5oIgotI2luY2x1ZGUgInZwOS9jb21tb24vdnA5X3NjYW4uaCIKLSNpbmNsdWRl
ICJ2cDkvZW5jb2Rlci92cDlfYmxvY2suaCIKLQotc3RhdGljIElOTElORSBfX20xMjhpIGNhbGN1
bGF0ZV9xY29lZmYoX19tMTI4aSBjb2VmZiwgX19tMTI4aSBjb2VmZl9hYnMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20xMjhpIHJvdW5kLCBfX20xMjhpIHF1YW50
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19tMTI4aSBzaGlmdCwg
X19tMTI4aSBjbXBfbWFzaykgewotICBfX20xMjhpIHJvdW5kZWQsIHFjb2VmZjsKLQotICByb3Vu
ZGVkID0gX19sc3hfdnNhZGRfaChjb2VmZl9hYnMsIHJvdW5kKTsKLSAgcWNvZWZmID0gX19sc3hf
dm11aF9oKHJvdW5kZWQsIHF1YW50KTsKLSAgcWNvZWZmID0gX19sc3hfdmFkZF9oKHJvdW5kZWQs
IHFjb2VmZik7Ci0gIHFjb2VmZiA9IF9fbHN4X3ZtdWhfaChxY29lZmYsIHNoaWZ0KTsKLSAgcWNv
ZWZmID0gX19sc3hfdnNpZ25jb3ZfaChjb2VmZiwgcWNvZWZmKTsKLSAgcWNvZWZmID0gX19sc3hf
dmFuZF92KHFjb2VmZiwgY21wX21hc2spOwotCi0gIHJldHVybiBxY29lZmY7Ci19Ci0KLXN0YXRp
YyBJTkxJTkUgdm9pZCBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmUoX19tMTI4aSBxY29lZmYs
IF9fbTEyOGkgZGVxdWFudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MTZfdCAqZHFjb2VmZikgewotICBfX20xMjhpIGRxY29lZmYxNiA9IF9fbHN4
X3ZtdWxfaChxY29lZmYsIGRlcXVhbnQpOwotICBfX2xzeF92c3QoZHFjb2VmZjE2LCBkcWNvZWZm
LCAwKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9y
ZV8zMngzMihfX20xMjhpIHFjb2VmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgX19tMTI4aSBkZXF1YW50LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90ICpkcWNvZWZmKSB7Ci0g
IC8vIFVuLXNpZ24gdG8gYmlhcyByb3VuZGluZyBsaWtlIEMuCi0gIF9fbTEyOGkgbG93LCBoaWdo
LCBkcWNvZWZmMzJfMCwgZHFjb2VmZjMyXzEsIHJlczsKLSAgX19tMTI4aSB6ZXJvID0gX19sc3hf
dmxkaSgwKTsKLSAgX19tMTI4aSBjb2VmZiA9IF9fbHN4X3ZhYnNkX2gocWNvZWZmLCB6ZXJvKTsK
LQotICBjb25zdCBfX20xMjhpIHNpZ25fMCA9IF9fbHN4X3ZpbHZsX2gocWNvZWZmLCB6ZXJvKTsK
LSAgY29uc3QgX19tMTI4aSBzaWduXzEgPSBfX2xzeF92aWx2aF9oKHFjb2VmZiwgemVybyk7Ci0K
LSAgbG93ID0gX19sc3hfdm11bF9oKGNvZWZmLCBkZXF1YW50KTsKLSAgaGlnaCA9IF9fbHN4X3Zt
dWhfaChjb2VmZiwgZGVxdWFudCk7Ci0gIGRxY29lZmYzMl8wID0gX19sc3hfdmlsdmxfaChoaWdo
LCBsb3cpOwotICBkcWNvZWZmMzJfMSA9IF9fbHN4X3ZpbHZoX2goaGlnaCwgbG93KTsKLQotICAv
LyAiRGl2aWRlIiBieSAyLgotICBkcWNvZWZmMzJfMCA9IF9fbHN4X3ZzcmFpX3coZHFjb2VmZjMy
XzAsIDEpOwotICBkcWNvZWZmMzJfMSA9IF9fbHN4X3ZzcmFpX3coZHFjb2VmZjMyXzEsIDEpOwot
ICBkcWNvZWZmMzJfMCA9IF9fbHN4X3ZzaWduY292X3coc2lnbl8wLCBkcWNvZWZmMzJfMCk7Ci0g
IGRxY29lZmYzMl8xID0gX19sc3hfdnNpZ25jb3ZfdyhzaWduXzEsIGRxY29lZmYzMl8xKTsKLSAg
cmVzID0gX19sc3hfdnBpY2tldl9oKGRxY29lZmYzMl8xLCBkcWNvZWZmMzJfMCk7Ci0gIF9fbHN4
X3ZzdChyZXMsIGRxY29lZmYsIDApOwotfQotCi1zdGF0aWMgSU5MSU5FIF9fbTEyOGkgc2Nhbl9m
b3JfZW9iKF9fbTEyOGkgY29lZmYwLCBfX20xMjhpIGNvZWZmMSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqc2NhbiwgaW50IGluZGV4LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20xMjhpIHplcm8pIHsKLSAgY29uc3QgX19t
MTI4aSB6ZXJvX2NvZWZmMCA9IF9fbHN4X3ZzZXFfaChjb2VmZjAsIHplcm8pOwotICBjb25zdCBf
X20xMjhpIHplcm9fY29lZmYxID0gX19sc3hfdnNlcV9oKGNvZWZmMSwgemVybyk7Ci0gIF9fbTEy
OGkgc2NhbjAgPSBfX2xzeF92bGQoc2NhbiArIGluZGV4LCAwKTsKLSAgX19tMTI4aSBzY2FuMSA9
IF9fbHN4X3ZsZChzY2FuICsgaW5kZXggKyA4LCAwKTsKLSAgX19tMTI4aSBlb2IwLCBlb2IxOwot
Ci0gIGVvYjAgPSBfX2xzeF92YW5kbl92KHplcm9fY29lZmYwLCBzY2FuMCk7Ci0gIGVvYjEgPSBf
X2xzeF92YW5kbl92KHplcm9fY29lZmYxLCBzY2FuMSk7Ci0gIHJldHVybiBfX2xzeF92bWF4X2go
ZW9iMCwgZW9iMSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgaW50MTZfdCBhY2N1bXVsYXRlX2VvYihf
X20xMjhpIGVvYikgewotICBfX20xMjhpIGVvYl9zaHVmZmxlZDsKLSAgaW50MTZfdCByZXNfbTsK
LQotICBlb2Jfc2h1ZmZsZWQgPSBfX2xzeF92c2h1ZjRpX3coZW9iLCAweGUpOwotICBlb2IgPSBf
X2xzeF92bWF4X2goZW9iLCBlb2Jfc2h1ZmZsZWQpOwotICBlb2Jfc2h1ZmZsZWQgPSBfX2xzeF92
c2h1ZjRpX2goZW9iLCAweGUpOwotICBlb2IgPSBfX2xzeF92bWF4X2goZW9iLCBlb2Jfc2h1ZmZs
ZWQpOwotICBlb2Jfc2h1ZmZsZWQgPSBfX2xzeF92c2h1ZjRpX2goZW9iLCAweDEpOwotICBlb2Ig
PSBfX2xzeF92bWF4X2goZW9iLCBlb2Jfc2h1ZmZsZWQpOwotICByZXNfbSA9IF9fbHN4X3ZwaWNr
dmUyZ3JfaChlb2IsIDEpOwotCi0gIHJldHVybiByZXNfbTsKLX0KLQotI2lmICFDT05GSUdfVlA5
X0hJR0hCSVRERVBUSAotCi12b2lkIHZweF9xdWFudGl6ZV9iX2xzeChjb25zdCBpbnQxNl90ICpj
b2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwg
dWludDE2X3QgKmVvYl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
U2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7Ci0gIF9fbTEyOGkgemVybyA9IF9fbHN4X3Zs
ZGkoMCk7Ci0gIGludCBpbmRleCA9IDE2OwotICBjb25zdCBpbnQxNl90ICppc2NhbiA9IHNjYW5f
b3JkZXItPmlzY2FuOwotCi0gIF9fbTEyOGkgemJpbiwgcm91bmQsIHF1YW50LCBkZXF1YW50LCBx
dWFudF9zaGlmdDsKLSAgX19tMTI4aSBjb2VmZjAsIGNvZWZmMTsKLSAgX19tMTI4aSBxY29lZmYw
LCBxY29lZmYxOwotICBfX20xMjhpIGNtcF9tYXNrMCwgY21wX21hc2sxOwotICBfX20xMjhpIGVv
YiwgZW9iMDsKLQotICB6YmluID0gX19sc3hfdmxkKG1iX3BsYW5lLT56YmluLCAwKTsKLSAgcm91
bmQgPSBfX2xzeF92bGQobWJfcGxhbmUtPnJvdW5kLCAwKTsKLSAgcXVhbnQgPSBfX2xzeF92bGQo
bWJfcGxhbmUtPnF1YW50LCAwKTsKLSAgZGVxdWFudCA9IF9fbHN4X3ZsZChkZXF1YW50X3B0ciwg
MCk7Ci0gIHF1YW50X3NoaWZ0ID0gX19sc3hfdmxkKG1iX3BsYW5lLT5xdWFudF9zaGlmdCwgMCk7
Ci0gIC8vIEhhbmRsZSBvbmUgREMgYW5kIGZpcnN0IDE1IEFDLgotICBEVVAyX0FSRzIoX19sc3hf
dmxkLCBjb2VmZl9wdHIsIDAsIGNvZWZmX3B0ciwgMTYsIGNvZWZmMCwgY29lZmYxKTsKLSAgcWNv
ZWZmMCA9IF9fbHN4X3ZhYnNkX2goY29lZmYwLCB6ZXJvKTsKLSAgcWNvZWZmMSA9IF9fbHN4X3Zh
YnNkX2goY29lZmYxLCB6ZXJvKTsKLQotICBjbXBfbWFzazAgPSBfX2xzeF92c2xlX2goemJpbiwg
cWNvZWZmMCk7Ci0gIHpiaW4gPSBfX2xzeF92aWx2aF9kKHpiaW4sIHpiaW4pOwotICBjbXBfbWFz
azEgPSBfX2xzeF92c2xlX2goemJpbiwgcWNvZWZmMSk7Ci0KLSAgcWNvZWZmMCA9Ci0gICAgICBj
YWxjdWxhdGVfcWNvZWZmKGNvZWZmMCwgcWNvZWZmMCwgcm91bmQsIHF1YW50LCBxdWFudF9zaGlm
dCwgY21wX21hc2swKTsKLSAgcm91bmQgPSBfX2xzeF92aWx2aF9kKHJvdW5kLCByb3VuZCk7Ci0g
IHF1YW50ID0gX19sc3hfdmlsdmhfZChxdWFudCwgcXVhbnQpOwotICBxdWFudF9zaGlmdCA9IF9f
bHN4X3ZpbHZoX2QocXVhbnRfc2hpZnQsIHF1YW50X3NoaWZ0KTsKLSAgcWNvZWZmMSA9Ci0gICAg
ICBjYWxjdWxhdGVfcWNvZWZmKGNvZWZmMSwgcWNvZWZmMSwgcm91bmQsIHF1YW50LCBxdWFudF9z
aGlmdCwgY21wX21hc2sxKTsKLQotICBfX2xzeF92c3QocWNvZWZmMCwgcWNvZWZmX3B0ciwgMCk7
Ci0gIF9fbHN4X3ZzdChxY29lZmYxLCBxY29lZmZfcHRyLCAxNik7Ci0KLSAgY2FsY3VsYXRlX2Rx
Y29lZmZfYW5kX3N0b3JlKHFjb2VmZjAsIGRlcXVhbnQsIGRxY29lZmZfcHRyKTsKLSAgZGVxdWFu
dCA9IF9fbHN4X3ZpbHZoX2QoZGVxdWFudCwgZGVxdWFudCk7Ci0gIGNhbGN1bGF0ZV9kcWNvZWZm
X2FuZF9zdG9yZShxY29lZmYxLCBkZXF1YW50LCBkcWNvZWZmX3B0ciArIDgpOwotCi0gIGVvYiA9
IHNjYW5fZm9yX2VvYihxY29lZmYwLCBxY29lZmYxLCBpc2NhbiwgMCwgemVybyk7Ci0gIC8vIEFD
IG9ubHkgbG9vcC4KLSAgd2hpbGUgKGluZGV4IDwgbl9jb2VmZnMpIHsKLSAgICBjb2VmZjAgPSBf
X2xzeF92bGQoY29lZmZfcHRyICsgaW5kZXgsIDApOwotICAgIGNvZWZmMSA9IF9fbHN4X3ZsZChj
b2VmZl9wdHIgKyBpbmRleCArIDgsIDApOwotCi0gICAgcWNvZWZmMCA9IF9fbHN4X3ZhYnNkX2go
Y29lZmYwLCB6ZXJvKTsKLSAgICBxY29lZmYxID0gX19sc3hfdmFic2RfaChjb2VmZjEsIHplcm8p
OwotCi0gICAgY21wX21hc2swID0gX19sc3hfdnNsZV9oKHpiaW4sIHFjb2VmZjApOwotICAgIGNt
cF9tYXNrMSA9IF9fbHN4X3ZzbGVfaCh6YmluLCBxY29lZmYxKTsKLQotICAgIHFjb2VmZjAgPQot
ICAgICAgICBjYWxjdWxhdGVfcWNvZWZmKGNvZWZmMCwgcWNvZWZmMCwgcm91bmQsIHF1YW50LCBx
dWFudF9zaGlmdCwgY21wX21hc2swKTsKLSAgICBxY29lZmYxID0KLSAgICAgICAgY2FsY3VsYXRl
X3Fjb2VmZihjb2VmZjEsIHFjb2VmZjEsIHJvdW5kLCBxdWFudCwgcXVhbnRfc2hpZnQsIGNtcF9t
YXNrMSk7Ci0KLSAgICBfX2xzeF92c3QocWNvZWZmMCwgcWNvZWZmX3B0ciArIGluZGV4LCAwKTsK
LSAgICBfX2xzeF92c3QocWNvZWZmMSwgcWNvZWZmX3B0ciArIGluZGV4ICsgOCwgMCk7Ci0KLSAg
ICBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmUocWNvZWZmMCwgZGVxdWFudCwgZHFjb2VmZl9w
dHIgKyBpbmRleCk7Ci0gICAgY2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlKHFjb2VmZjEsIGRl
cXVhbnQsIGRxY29lZmZfcHRyICsgaW5kZXggKyA4KTsKLQotICAgIGVvYjAgPSBzY2FuX2Zvcl9l
b2IocWNvZWZmMCwgcWNvZWZmMSwgaXNjYW4sIGluZGV4LCB6ZXJvKTsKLSAgICBlb2IgPSBfX2xz
eF92bWF4X2goZW9iLCBlb2IwKTsKLQotICAgIGluZGV4ICs9IDE2OwotICB9Ci0KLSAgKmVvYl9w
dHIgPSBhY2N1bXVsYXRlX2VvYihlb2IpOwotfQotCi12b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMy
X2xzeChjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFu
X2xvd190ICpkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIp
IHsKLSAgX19tMTI4aSB6ZXJvID0gX19sc3hfdmxkaSgwKTsKLSAgaW50IGluZGV4OwotICBjb25z
dCBpbnQxNl90ICppc2NhbiA9IHNjYW5fb3JkZXItPmlzY2FuOwotCi0gIF9fbTEyOGkgemJpbiwg
cm91bmQsIHF1YW50LCBkZXF1YW50LCBxdWFudF9zaGlmdDsKLSAgX19tMTI4aSBjb2VmZjAsIGNv
ZWZmMSwgcWNvZWZmMCwgcWNvZWZmMSwgY21wX21hc2swLCBjbXBfbWFzazE7Ci0gIF9fbTEyOGkg
ZW9iID0gemVybywgZW9iMDsKLQotICB6YmluID0gX19sc3hfdmxkKG1iX3BsYW5lLT56YmluLCAw
KTsKLSAgemJpbiA9IF9fbHN4X3ZzcmFyaV9oKHpiaW4sIDEpOwotICByb3VuZCA9IF9fbHN4X3Zs
ZChtYl9wbGFuZS0+cm91bmQsIDApOwotICByb3VuZCA9IF9fbHN4X3ZzcmFyaV9oKHJvdW5kLCAx
KTsKLQotICBxdWFudCA9IF9fbHN4X3ZsZChtYl9wbGFuZS0+cXVhbnQsIDApOwotICBkZXF1YW50
ID0gX19sc3hfdmxkKGRlcXVhbnRfcHRyLCAwKTsKLSAgcXVhbnRfc2hpZnQgPSBfX2xzeF92bGQo
bWJfcGxhbmUtPnF1YW50X3NoaWZ0LCAwKTsKLSAgcXVhbnRfc2hpZnQgPSBfX2xzeF92c2xsaV9o
KHF1YW50X3NoaWZ0LCAxKTsKLSAgLy8gSGFuZGxlIG9uZSBEQyBhbmQgZmlyc3QgMTUgQUMuCi0g
IERVUDJfQVJHMihfX2xzeF92bGQsIGNvZWZmX3B0ciwgMCwgY29lZmZfcHRyLCAxNiwgY29lZmYw
LCBjb2VmZjEpOwotICBxY29lZmYwID0gX19sc3hfdmFic2RfaChjb2VmZjAsIHplcm8pOwotICBx
Y29lZmYxID0gX19sc3hfdmFic2RfaChjb2VmZjEsIHplcm8pOwotCi0gIGNtcF9tYXNrMCA9IF9f
bHN4X3ZzbGVfaCh6YmluLCBxY29lZmYwKTsKLSAgLy8gcmVtb3ZlIERDIGZyb20gemJpbgotICB6
YmluID0gX19sc3hfdmlsdmhfZCh6YmluLCB6YmluKTsKLSAgY21wX21hc2sxID0gX19sc3hfdnNs
ZV9oKHpiaW4sIHFjb2VmZjEpOwotCi0gIHFjb2VmZjAgPQotICAgICAgY2FsY3VsYXRlX3Fjb2Vm
Zihjb2VmZjAsIHFjb2VmZjAsIHJvdW5kLCBxdWFudCwgcXVhbnRfc2hpZnQsIGNtcF9tYXNrMCk7
Ci0gIC8vIHJlbW92ZSBEQyBpbiBxdWFudF9zaGlmdCwgcXVhbnQsIHF1YW50X3NoaWZ0Ci0gIHJv
dW5kID0gX19sc3hfdmlsdmhfZChyb3VuZCwgcm91bmQpOwotICBxdWFudCA9IF9fbHN4X3ZpbHZo
X2QocXVhbnQsIHF1YW50KTsKLSAgcXVhbnRfc2hpZnQgPSBfX2xzeF92aWx2aF9kKHF1YW50X3No
aWZ0LCBxdWFudF9zaGlmdCk7Ci0gIHFjb2VmZjEgPQotICAgICAgY2FsY3VsYXRlX3Fjb2VmZihj
b2VmZjEsIHFjb2VmZjEsIHJvdW5kLCBxdWFudCwgcXVhbnRfc2hpZnQsIGNtcF9tYXNrMSk7Ci0g
IF9fbHN4X3ZzdChxY29lZmYwLCBxY29lZmZfcHRyLCAwKTsKLSAgX19sc3hfdnN0KHFjb2VmZjEs
IHFjb2VmZl9wdHIsIDE2KTsKLQotICBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmVfMzJ4MzIo
cWNvZWZmMCwgZGVxdWFudCwgZHFjb2VmZl9wdHIpOwotICBkZXF1YW50ID0gX19sc3hfdmlsdmhf
ZChkZXF1YW50LCBkZXF1YW50KTsKLSAgY2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlXzMyeDMy
KHFjb2VmZjEsIGRlcXVhbnQsIGRxY29lZmZfcHRyICsgOCk7Ci0gIGVvYiA9IHNjYW5fZm9yX2Vv
YihxY29lZmYwLCBxY29lZmYxLCBpc2NhbiwgMCwgemVybyk7Ci0gIC8vIEFDIG9ubHkgbG9vcC4K
LSAgZm9yIChpbmRleCA9IDE2OyBpbmRleCA8IDMyICogMzI7IGluZGV4ICs9IDE2KSB7Ci0gICAg
Y29lZmYwID0gX19sc3hfdmxkKGNvZWZmX3B0ciArIGluZGV4LCAwKTsKLSAgICBjb2VmZjEgPSBf
X2xzeF92bGQoY29lZmZfcHRyICsgaW5kZXggKyA4LCAwKTsKLQotICAgIHFjb2VmZjAgPSBfX2xz
eF92YWJzZF9oKGNvZWZmMCwgemVybyk7Ci0gICAgcWNvZWZmMSA9IF9fbHN4X3ZhYnNkX2goY29l
ZmYxLCB6ZXJvKTsKLQotICAgIGNtcF9tYXNrMCA9IF9fbHN4X3ZzbGVfaCh6YmluLCBxY29lZmYw
KTsKLSAgICBjbXBfbWFzazEgPSBfX2xzeF92c2xlX2goemJpbiwgcWNvZWZmMSk7Ci0KLSAgICBx
Y29lZmYwID0KLSAgICAgICAgY2FsY3VsYXRlX3Fjb2VmZihjb2VmZjAsIHFjb2VmZjAsIHJvdW5k
LCBxdWFudCwgcXVhbnRfc2hpZnQsIGNtcF9tYXNrMCk7Ci0gICAgcWNvZWZmMSA9Ci0gICAgICAg
IGNhbGN1bGF0ZV9xY29lZmYoY29lZmYxLCBxY29lZmYxLCByb3VuZCwgcXVhbnQsIHF1YW50X3No
aWZ0LCBjbXBfbWFzazEpOwotICAgIF9fbHN4X3ZzdChxY29lZmYwLCBxY29lZmZfcHRyICsgaW5k
ZXgsIDApOwotICAgIF9fbHN4X3ZzdChxY29lZmYxLCBxY29lZmZfcHRyICsgaW5kZXggKyA4LCAw
KTsKLQotICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZV8zMngzMihxY29lZmYwLCBkZXF1
YW50LCBkcWNvZWZmX3B0ciArIGluZGV4KTsKLSAgICBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3Rv
cmVfMzJ4MzIocWNvZWZmMSwgZGVxdWFudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZHFjb2VmZl9wdHIgKyA4ICsgaW5kZXgpOwotICAgIGVvYjAgPSBzY2FuX2Zvcl9l
b2IocWNvZWZmMCwgcWNvZWZmMSwgaXNjYW4sIGluZGV4LCB6ZXJvKTsKLSAgICBlb2IgPSBfX2xz
eF92bWF4X2goZW9iLCBlb2IwKTsKLSAgfQotCi0gICplb2JfcHRyID0gYWNjdW11bGF0ZV9lb2Io
ZW9iKTsKLX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJj
aC9zYWRfbHN4LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3NhZF9sc3guYwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZmYmVkYjBkMGE2Li4wMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC9zYWRfbHN4LmMKKysrIC9kZXYvbnVsbApA
QCAtMSw3MTcgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJv
amVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBj
YW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl
Ci0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdy
YW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0
aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxl
IGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSAiLi92cHhf
Y29uZmlnLmgiCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhfdXRp
bC9sb29uZ3Nvbl9pbnRyaW5zaWNzLmgiCi0KLXN0YXRpYyBJTkxJTkUgX19tMTI4aSBzYWRfdWIy
X3VoKF9fbTEyOGkgaW4wLCBfX20xMjhpIGluMSwgX19tMTI4aSByZWYwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgX19tMTI4aSByZWYxKSB7Ci0gIF9fbTEyOGkgZGlmZjBfbSwg
ZGlmZjFfbSwgc2FkX20wOwotICBfX20xMjhpIHNhZF9tID0gX19sc3hfdmxkaSgwKTsKLQotICBk
aWZmMF9tID0gX19sc3hfdmFic2RfYnUoaW4wLCByZWYwKTsKLSAgZGlmZjFfbSA9IF9fbHN4X3Zh
YnNkX2J1KGluMSwgcmVmMSk7Ci0KLSAgc2FkX20wID0gX19sc3hfdmhhZGR3X2h1X2J1KGRpZmYw
X20sIGRpZmYwX20pOwotICBzYWRfbSA9IF9fbHN4X3ZhZGRfaChzYWRfbSwgc2FkX20wKTsKLSAg
c2FkX20wID0gX19sc3hfdmhhZGR3X2h1X2J1KGRpZmYxX20sIGRpZmYxX20pOwotICBzYWRfbSA9
IF9fbHN4X3ZhZGRfaChzYWRfbSwgc2FkX20wKTsKLQotICByZXR1cm4gc2FkX207Ci19Ci0KLXN0
YXRpYyBJTkxJTkUgdWludDMyX3QgaGFkZF91d191MzIoX19tMTI4aSBpbikgewotICBfX20xMjhp
IHJlczBfbTsKLSAgdWludDMyX3Qgc3VtX207Ci0KLSAgcmVzMF9tID0gX19sc3hfdmhhZGR3X2R1
X3d1KGluLCBpbik7Ci0gIHJlczBfbSA9IF9fbHN4X3ZoYWRkd19xdV9kdShyZXMwX20sIHJlczBf
bSk7Ci0gIHN1bV9tID0gX19sc3hfdnBpY2t2ZTJncl93KHJlczBfbSwgMCk7Ci0KLSAgcmV0dXJu
IHN1bV9tOwotfQotCi1zdGF0aWMgSU5MSU5FIHVpbnQzMl90IGhhZGRfdWhfdTMyKF9fbTEyOGkg
aW4pIHsKLSAgX19tMTI4aSByZXNfbTsKLSAgdWludDMyX3Qgc3VtX207Ci0KLSAgcmVzX20gPSBf
X2xzeF92aGFkZHdfd3VfaHUoaW4sIGluKTsKLSAgc3VtX20gPSBoYWRkX3V3X3UzMihyZXNfbSk7
Ci0KLSAgcmV0dXJuIHN1bV9tOwotfQotCi1zdGF0aWMgSU5MSU5FIGludDMyX3QgaGFkZF9zd19z
MzIoX19tMTI4aSBpbikgewotICBfX20xMjhpIHJlczBfbTsKLSAgaW50MzJfdCBzdW1fbTsKLQot
ICByZXMwX20gPSBfX2xzeF92aGFkZHdfZF93KGluLCBpbik7Ci0gIHJlczBfbSA9IF9fbHN4X3Zo
YWRkd19xX2QocmVzMF9tLCByZXMwX20pOwotICBzdW1fbSA9IF9fbHN4X3ZwaWNrdmUyZ3Jfdyhy
ZXMwX20sIDApOwotCi0gIHJldHVybiBzdW1fbTsKLX0KLQotc3RhdGljIHVpbnQzMl90IHNhZF84
d2lkdGhfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50MzJfdCByZWZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0KSB7
Ci0gIGludDMyX3QgaHRfY250OwotICB1aW50MzJfdCByZXM7Ci0gIF9fbTEyOGkgc3JjMCwgc3Jj
MSwgc3JjMiwgc3JjMywgcmVmMCwgcmVmMSwgcmVmMiwgcmVmMywgc2FkX3RtcDsKLSAgX19tMTI4
aSBzYWQgPSBfX2xzeF92bGRpKDApOwotCi0gIGZvciAoaHRfY250ID0gKGhlaWdodCA+PiAyKTsg
aHRfY250LS07KSB7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCByZWYsIDAsIHNy
YzAsIHJlZjApOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIHJlZiArPSByZWZfc3RyaWRl
OwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywgMCwgcmVmLCAwLCBzcmMxLCByZWYxKTsK
LSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICByZWYgKz0gcmVmX3N0cmlkZTsKLSAgICBEVVAy
X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHJlZiwgMCwgc3JjMiwgcmVmMik7Ci0gICAgc3JjICs9
IHNyY19zdHJpZGU7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZsZCwgc3JjLCAwLCByZWYsIDAsIHNyYzMsIHJlZjMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRl
OwotICAgIHJlZiArPSByZWZfc3RyaWRlOwotICAgIERVUDRfQVJHMihfX2xzeF92cGlja2V2X2Qs
IHNyYzEsIHNyYzAsIHNyYzMsIHNyYzIsIHJlZjEsIHJlZjAsIHJlZjMsIHJlZjIsCi0gICAgICAg
ICAgICAgIHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3Vo
KHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOwotICAgIHNhZCA9IF9fbHN4X3ZhZGRfaChzYWQsIHNh
ZF90bXApOwotICB9Ci0gIHJlcyA9IGhhZGRfdWhfdTMyKHNhZCk7Ci0gIHJldHVybiByZXM7Ci19
Ci0KLXN0YXRpYyB1aW50MzJfdCBzYWRfMTZ3aWR0aF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBp
bnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnJlZiwgaW50MzJfdCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgewotICBpbnQzMl90IGh0X2NudCA9IChoZWlnaHQg
Pj4gMik7Ci0gIHVpbnQzMl90IHJlczsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCByZWYwLCByZWYx
LCBzYWRfdG1wOwotICBfX20xMjhpIHNhZCA9IF9fbHN4X3ZsZGkoMCk7Ci0gIGludDMyX3Qgc3Jj
X3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgcmVmX3N0cmlkZTIgPSByZWZf
c3RyaWRlIDw8IDE7Ci0KLSAgZm9yICg7IGh0X2NudC0tOykgewotICAgIERVUDJfQVJHMihfX2xz
eF92bGQsIHNyYywgMCwgcmVmLCAwLCBzcmMwLCByZWYwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hf
dmxkeCwgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIHNyYzEsIHJlZjEpOwotICAg
IHNyYyArPSBzcmNfc3RyaWRlMjsKLSAgICByZWYgKz0gcmVmX3N0cmlkZTI7Ci0gICAgc2FkX3Rt
cCA9IHNhZF91YjJfdWgoc3JjMCwgc3JjMSwgcmVmMCwgcmVmMSk7Ci0gICAgc2FkID0gX19sc3hf
dmFkZF9oKHNhZCwgc2FkX3RtcCk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAs
IHJlZiwgMCwgc3JjMCwgcmVmMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3Jj
X3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBzcmMxLCByZWYxKTsKLSAgICBzcmMgKz0gc3JjX3N0
cmlkZTI7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGUyOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3Vo
KHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOwotICAgIHNhZCA9IF9fbHN4X3ZhZGRfaChzYWQsIHNh
ZF90bXApOwotICB9Ci0KLSAgcmVzID0gaGFkZF91aF91MzIoc2FkKTsKLSAgcmV0dXJuIHJlczsK
LX0KLQotc3RhdGljIHVpbnQzMl90IHNhZF8zMndpZHRoX2xzeChjb25zdCB1aW50OF90ICpzcmMs
IGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGludDMyX3QgaHRfY250ID0gKGhlaWdo
dCA+PiAyKTsKLSAgdWludDMyX3QgcmVzOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHJlZjAsIHJl
ZjE7Ci0gIF9fbTEyOGkgc2FkX3RtcDsKLSAgX19tMTI4aSBzYWQgPSBfX2xzeF92bGRpKDApOwot
Ci0gIGZvciAoOyBodF9jbnQtLTspIHsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAs
IHNyYywgMTYsIHNyYzAsIHNyYzEpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIERVUDJf
QVJHMihfX2xzeF92bGQsIHJlZiwgMCwgcmVmLCAxNiwgcmVmMCwgcmVmMSk7Ci0gICAgcmVmICs9
IHJlZl9zdHJpZGU7Ci0gICAgc2FkX3RtcCA9IHNhZF91YjJfdWgoc3JjMCwgc3JjMSwgcmVmMCwg
cmVmMSk7Ci0gICAgc2FkID0gX19sc3hfdmFkZF9oKHNhZCwgc2FkX3RtcCk7Ci0KLSAgICBEVVAy
X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgMTYsIHNyYzAsIHNyYzEpOwotICAgIHNyYyAr
PSBzcmNfc3RyaWRlOwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHJlZiwgMCwgcmVmLCAxNiwg
cmVmMCwgcmVmMSk7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGU7Ci0gICAgc2FkX3RtcCA9IHNhZF91
YjJfdWgoc3JjMCwgc3JjMSwgcmVmMCwgcmVmMSk7Ci0gICAgc2FkID0gX19sc3hfdmFkZF9oKHNh
ZCwgc2FkX3RtcCk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgMTYs
IHNyYzAsIHNyYzEpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIERVUDJfQVJHMihfX2xz
eF92bGQsIHJlZiwgMCwgcmVmLCAxNiwgcmVmMCwgcmVmMSk7Ci0gICAgcmVmICs9IHJlZl9zdHJp
ZGU7Ci0gICAgc2FkX3RtcCA9IHNhZF91YjJfdWgoc3JjMCwgc3JjMSwgcmVmMCwgcmVmMSk7Ci0g
ICAgc2FkID0gX19sc3hfdmFkZF9oKHNhZCwgc2FkX3RtcCk7Ci0KLSAgICBEVVAyX0FSRzIoX19s
c3hfdmxkLCBzcmMsIDAsIHNyYywgMTYsIHNyYzAsIHNyYzEpOwotICAgIHNyYyArPSBzcmNfc3Ry
aWRlOwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHJlZiwgMCwgcmVmLCAxNiwgcmVmMCwgcmVm
MSk7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGU7Ci0gICAgc2FkX3RtcCA9IHNhZF91YjJfdWgoc3Jj
MCwgc3JjMSwgcmVmMCwgcmVmMSk7Ci0gICAgc2FkID0gX19sc3hfdmFkZF9oKHNhZCwgc2FkX3Rt
cCk7Ci0gIH0KLSAgcmVzID0gaGFkZF91aF91MzIoc2FkKTsKLSAgcmV0dXJuIHJlczsKLX0KLQot
c3RhdGljIHVpbnQzMl90IHNhZF82NHdpZHRoX2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMy
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCAqcmVmLCBpbnQzMl90IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGludDMyX3QgaHRfY250ID0gKGhlaWdodCA+PiAx
KTsKLSAgdWludDMyX3Qgc2FkID0gMDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
OwotICBfX20xMjhpIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjM7Ci0gIF9fbTEyOGkgc2FkX3RtcDsK
LSAgX19tMTI4aSBzYWQwID0gX19sc3hfdmxkaSgwKTsKLSAgX19tMTI4aSBzYWQxID0gc2FkMDsK
LQotICBmb3IgKDsgaHRfY250LS07KSB7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAw
LCBzcmMsIDE2LCBzcmMsIDMyLCBzcmMsIDQ4LCBzcmMwLCBzcmMxLCBzcmMyLAotICAgICAgICAg
ICAgICBzcmMzKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hf
dmxkLCByZWYsIDAsIHJlZiwgMTYsIHJlZiwgMzIsIHJlZiwgNDgsIHJlZjAsIHJlZjEsIHJlZjIs
Ci0gICAgICAgICAgICAgIHJlZjMpOwotICAgIHJlZiArPSByZWZfc3RyaWRlOwotICAgIHNhZF90
bXAgPSBzYWRfdWIyX3VoKHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOwotICAgIHNhZDAgPSBfX2xz
eF92YWRkX2goc2FkMCwgc2FkX3RtcCk7Ci0gICAgc2FkX3RtcCA9IHNhZF91YjJfdWgoc3JjMiwg
c3JjMywgcmVmMiwgcmVmMyk7Ci0gICAgc2FkMSA9IF9fbHN4X3ZhZGRfaChzYWQxLCBzYWRfdG1w
KTsKLQotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHNyYywgMCwgc3JjLCAxNiwgc3JjLCAzMiwg
c3JjLCA0OCwgc3JjMCwgc3JjMSwgc3JjMiwKLSAgICAgICAgICAgICAgc3JjMyk7Ci0gICAgc3Jj
ICs9IHNyY19zdHJpZGU7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgcmVmLCAwLCByZWYsIDE2
LCByZWYsIDMyLCByZWYsIDQ4LCByZWYwLCByZWYxLCByZWYyLAotICAgICAgICAgICAgICByZWYz
KTsKLSAgICByZWYgKz0gcmVmX3N0cmlkZTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMw
LCBzcmMxLCByZWYwLCByZWYxKTsKLSAgICBzYWQwID0gX19sc3hfdmFkZF9oKHNhZDAsIHNhZF90
bXApOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3VoKHNyYzIsIHNyYzMsIHJlZjIsIHJlZjMpOwot
ICAgIHNhZDEgPSBfX2xzeF92YWRkX2goc2FkMSwgc2FkX3RtcCk7Ci0gIH0KLQotICBzYWQgPSBo
YWRkX3VoX3UzMihzYWQwKTsKLSAgc2FkICs9IGhhZGRfdWhfdTMyKHNhZDEpOwotCi0gIHJldHVy
biBzYWQ7Ci19Ci0KLXN0YXRpYyB2b2lkIHNhZF84d2lkdGhfeDRkX2xzeChjb25zdCB1aW50OF90
ICpzcmNfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgYXJlZl9wdHJbXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQzMl90IHJlZl9zdHJpZGUsIGludDMyX3QgaGVpZ2h0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpzYWRfYXJyYXkpIHsKLSAgaW50MzJf
dCBodF9jbnQgPSAoaGVpZ2h0ID4+IDIpOwotICBjb25zdCB1aW50OF90ICpyZWYwX3B0ciwgKnJl
ZjFfcHRyLCAqcmVmMl9wdHIsICpyZWYzX3B0cjsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMy
LCBzcmMzLCBzYWRfdG1wOwotICBfX20xMjhpIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMsIHJlZjQs
IHJlZjUsIHJlZjYsIHJlZjc7Ci0gIF9fbTEyOGkgcmVmOCwgcmVmOSwgcmVmMTAsIHJlZjExLCBy
ZWYxMiwgcmVmMTMsIHJlZjE0LCByZWYxNTsKLSAgX19tMTI4aSBzYWQwID0gX19sc3hfdmxkaSgw
KTsKLSAgX19tMTI4aSBzYWQxID0gc2FkMDsKLSAgX19tMTI4aSBzYWQyID0gc2FkMDsKLSAgX19t
MTI4aSBzYWQzID0gc2FkMDsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwg
MTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAg
aW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3QgcmVmX3N0
cmlkZTIgPSByZWZfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgcmVmX3N0cmlkZTMgPSByZWZfc3Ry
aWRlMiArIHJlZl9zdHJpZGU7Ci0gIGludDMyX3QgcmVmX3N0cmlkZTQgPSByZWZfc3RyaWRlMiA8
PCAxOwotCi0gIHJlZjBfcHRyID0gYXJlZl9wdHJbMF07Ci0gIHJlZjFfcHRyID0gYXJlZl9wdHJb
MV07Ci0gIHJlZjJfcHRyID0gYXJlZl9wdHJbMl07Ci0gIHJlZjNfcHRyID0gYXJlZl9wdHJbM107
Ci0KLSAgZm9yICg7IGh0X2NudC0tOykgewotICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjX3B0ciwg
MCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY19wdHIsIHNyY19zdHJpZGUsIHNyY19w
dHIsIHNyY19zdHJpZGUyLCBzcmMxLAotICAgICAgICAgICAgICBzcmMyKTsKLSAgICBzcmMzID0g
X19sc3hfdmxkeChzcmNfcHRyLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjX3B0ciArPSBzcmNfc3Ry
aWRlNDsKLSAgICByZWYwID0gX19sc3hfdmxkKHJlZjBfcHRyLCAwKTsKLSAgICBEVVAyX0FSRzIo
X19sc3hfdmxkeCwgcmVmMF9wdHIsIHJlZl9zdHJpZGUsIHJlZjBfcHRyLCByZWZfc3RyaWRlMiwg
cmVmMSwKLSAgICAgICAgICAgICAgcmVmMik7Ci0gICAgcmVmMyA9IF9fbHN4X3ZsZHgocmVmMF9w
dHIsIHJlZl9zdHJpZGUzKTsKLSAgICByZWYwX3B0ciArPSByZWZfc3RyaWRlNDsKLSAgICByZWY0
ID0gX19sc3hfdmxkKHJlZjFfcHRyLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgcmVm
MV9wdHIsIHJlZl9zdHJpZGUsIHJlZjFfcHRyLCByZWZfc3RyaWRlMiwgcmVmNSwKLSAgICAgICAg
ICAgICAgcmVmNik7Ci0gICAgcmVmNyA9IF9fbHN4X3ZsZHgocmVmMV9wdHIsIHJlZl9zdHJpZGUz
KTsKLSAgICByZWYxX3B0ciArPSByZWZfc3RyaWRlNDsKLSAgICByZWY4ID0gX19sc3hfdmxkKHJl
ZjJfcHRyLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgcmVmMl9wdHIsIHJlZl9zdHJp
ZGUsIHJlZjJfcHRyLCByZWZfc3RyaWRlMiwgcmVmOSwKLSAgICAgICAgICAgICAgcmVmMTApOwot
ICAgIHJlZjExID0gX19sc3hfdmxkeChyZWYyX3B0ciwgcmVmX3N0cmlkZTMpOwotICAgIHJlZjJf
cHRyICs9IHJlZl9zdHJpZGU0OwotICAgIHJlZjEyID0gX19sc3hfdmxkKHJlZjNfcHRyLCAwKTsK
LSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgcmVmM19wdHIsIHJlZl9zdHJpZGUsIHJlZjNfcHRy
LCByZWZfc3RyaWRlMiwgcmVmMTMsCi0gICAgICAgICAgICAgIHJlZjE0KTsKLSAgICByZWYxNSA9
IF9fbHN4X3ZsZHgocmVmM19wdHIsIHJlZl9zdHJpZGUzKTsKLSAgICByZWYzX3B0ciArPSByZWZf
c3RyaWRlNDsKLQotICAgIERVUDJfQVJHMihfX2xzeF92cGlja2V2X2QsIHNyYzEsIHNyYzAsIHNy
YzMsIHNyYzIsIHNyYzAsIHNyYzEpOwotICAgIERVUDJfQVJHMihfX2xzeF92cGlja2V2X2QsIHJl
ZjEsIHJlZjAsIHJlZjMsIHJlZjIsIHJlZjAsIHJlZjEpOwotICAgIHNhZF90bXAgPSBzYWRfdWIy
X3VoKHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOwotICAgIHNhZDAgPSBfX2xzeF92YWRkX2goc2Fk
MCwgc2FkX3RtcCk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9kLCByZWY1LCByZWY0
LCByZWY3LCByZWY2LCByZWYwLCByZWYxKTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMw
LCBzcmMxLCByZWYwLCByZWYxKTsKLSAgICBzYWQxID0gX19sc3hfdmFkZF9oKHNhZDEsIHNhZF90
bXApOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfZCwgcmVmOSwgcmVmOCwgcmVmMTEs
IHJlZjEwLCByZWYwLCByZWYxKTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMwLCBzcmMx
LCByZWYwLCByZWYxKTsKLSAgICBzYWQyID0gX19sc3hfdmFkZF9oKHNhZDIsIHNhZF90bXApOwot
Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZwaWNrZXZfZCwgcmVmMTMsIHJlZjEyLCByZWYxNSwgcmVm
MTQsIHJlZjAsIHJlZjEpOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3VoKHNyYzAsIHNyYzEsIHJl
ZjAsIHJlZjEpOwotICAgIHNhZDMgPSBfX2xzeF92YWRkX2goc2FkMywgc2FkX3RtcCk7Ci0gIH0K
LSAgc2FkX2FycmF5WzBdID0gaGFkZF91aF91MzIoc2FkMCk7Ci0gIHNhZF9hcnJheVsxXSA9IGhh
ZGRfdWhfdTMyKHNhZDEpOwotICBzYWRfYXJyYXlbMl0gPSBoYWRkX3VoX3UzMihzYWQyKTsKLSAg
c2FkX2FycmF5WzNdID0gaGFkZF91aF91MzIoc2FkMyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNhZF8x
NndpZHRoX3g0ZF9sc3goY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50MzJfdCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCBh
cmVmX3B0cltdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHJlZl9z
dHJpZGUsIGludDMyX3QgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCAqc2FkX2FycmF5KSB7Ci0gIGludDMyX3QgaHRfY250ID0gKGhlaWdodCA+PiAxKTsK
LSAgY29uc3QgdWludDhfdCAqcmVmMF9wdHIsICpyZWYxX3B0ciwgKnJlZjJfcHRyLCAqcmVmM19w
dHI7Ci0gIF9fbTEyOGkgc3JjLCByZWYwLCByZWYxLCByZWYyLCByZWYzLCBkaWZmLCBzYWRfdG1w
OwotICBfX20xMjhpIHNhZDAgPSBfX2xzeF92bGRpKDApOwotICBfX20xMjhpIHNhZDEgPSBzYWQw
OwotICBfX20xMjhpIHNhZDIgPSBzYWQwOwotICBfX20xMjhpIHNhZDMgPSBzYWQwOwotCi0gIHJl
ZjBfcHRyID0gYXJlZl9wdHJbMF07Ci0gIHJlZjFfcHRyID0gYXJlZl9wdHJbMV07Ci0gIHJlZjJf
cHRyID0gYXJlZl9wdHJbMl07Ci0gIHJlZjNfcHRyID0gYXJlZl9wdHJbM107Ci0KLSAgZm9yICg7
IGh0X2NudC0tOykgewotICAgIHNyYyA9IF9fbHN4X3ZsZChzcmNfcHRyLCAwKTsKLSAgICBzcmNf
cHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcmVmMCA9IF9fbHN4X3ZsZChyZWYwX3B0ciwgMCk7Ci0g
ICAgcmVmMF9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICByZWYxID0gX19sc3hfdmxkKHJlZjFfcHRy
LCAwKTsKLSAgICByZWYxX3B0ciArPSByZWZfc3RyaWRlOwotICAgIHJlZjIgPSBfX2xzeF92bGQo
cmVmMl9wdHIsIDApOwotICAgIHJlZjJfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgcmVmMyA9IF9f
bHN4X3ZsZChyZWYzX3B0ciwgMCk7Ci0gICAgcmVmM19wdHIgKz0gcmVmX3N0cmlkZTsKLQotICAg
IGRpZmYgPSBfX2xzeF92YWJzZF9idShzcmMsIHJlZjApOwotICAgIHNhZF90bXAgPSBfX2xzeF92
aGFkZHdfaHVfYnUoZGlmZiwgZGlmZik7Ci0gICAgc2FkMCA9IF9fbHN4X3ZhZGRfaChzYWQwLCBz
YWRfdG1wKTsKLSAgICBkaWZmID0gX19sc3hfdmFic2RfYnUoc3JjLCByZWYxKTsKLSAgICBzYWRf
dG1wID0gX19sc3hfdmhhZGR3X2h1X2J1KGRpZmYsIGRpZmYpOwotICAgIHNhZDEgPSBfX2xzeF92
YWRkX2goc2FkMSwgc2FkX3RtcCk7Ci0gICAgZGlmZiA9IF9fbHN4X3ZhYnNkX2J1KHNyYywgcmVm
Mik7Ci0gICAgc2FkX3RtcCA9IF9fbHN4X3ZoYWRkd19odV9idShkaWZmLCBkaWZmKTsKLSAgICBz
YWQyID0gX19sc3hfdmFkZF9oKHNhZDIsIHNhZF90bXApOwotICAgIGRpZmYgPSBfX2xzeF92YWJz
ZF9idShzcmMsIHJlZjMpOwotICAgIHNhZF90bXAgPSBfX2xzeF92aGFkZHdfaHVfYnUoZGlmZiwg
ZGlmZik7Ci0gICAgc2FkMyA9IF9fbHN4X3ZhZGRfaChzYWQzLCBzYWRfdG1wKTsKLQotICAgIHNy
YyA9IF9fbHN4X3ZsZChzcmNfcHRyLCAwKTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0g
ICAgcmVmMCA9IF9fbHN4X3ZsZChyZWYwX3B0ciwgMCk7Ci0gICAgcmVmMF9wdHIgKz0gcmVmX3N0
cmlkZTsKLSAgICByZWYxID0gX19sc3hfdmxkKHJlZjFfcHRyLCAwKTsKLSAgICByZWYxX3B0ciAr
PSByZWZfc3RyaWRlOwotICAgIHJlZjIgPSBfX2xzeF92bGQocmVmMl9wdHIsIDApOwotICAgIHJl
ZjJfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgcmVmMyA9IF9fbHN4X3ZsZChyZWYzX3B0ciwgMCk7
Ci0gICAgcmVmM19wdHIgKz0gcmVmX3N0cmlkZTsKLQotICAgIGRpZmYgPSBfX2xzeF92YWJzZF9i
dShzcmMsIHJlZjApOwotICAgIHNhZF90bXAgPSBfX2xzeF92aGFkZHdfaHVfYnUoZGlmZiwgZGlm
Zik7Ci0gICAgc2FkMCA9IF9fbHN4X3ZhZGRfaChzYWQwLCBzYWRfdG1wKTsKLSAgICBkaWZmID0g
X19sc3hfdmFic2RfYnUoc3JjLCByZWYxKTsKLSAgICBzYWRfdG1wID0gX19sc3hfdmhhZGR3X2h1
X2J1KGRpZmYsIGRpZmYpOwotICAgIHNhZDEgPSBfX2xzeF92YWRkX2goc2FkMSwgc2FkX3RtcCk7
Ci0gICAgZGlmZiA9IF9fbHN4X3ZhYnNkX2J1KHNyYywgcmVmMik7Ci0gICAgc2FkX3RtcCA9IF9f
bHN4X3ZoYWRkd19odV9idShkaWZmLCBkaWZmKTsKLSAgICBzYWQyID0gX19sc3hfdmFkZF9oKHNh
ZDIsIHNhZF90bXApOwotICAgIGRpZmYgPSBfX2xzeF92YWJzZF9idShzcmMsIHJlZjMpOwotICAg
IHNhZF90bXAgPSBfX2xzeF92aGFkZHdfaHVfYnUoZGlmZiwgZGlmZik7Ci0gICAgc2FkMyA9IF9f
bHN4X3ZhZGRfaChzYWQzLCBzYWRfdG1wKTsKLSAgfQotICBzYWRfYXJyYXlbMF0gPSBoYWRkX3Vo
X3UzMihzYWQwKTsKLSAgc2FkX2FycmF5WzFdID0gaGFkZF91aF91MzIoc2FkMSk7Ci0gIHNhZF9h
cnJheVsyXSA9IGhhZGRfdWhfdTMyKHNhZDIpOwotICBzYWRfYXJyYXlbM10gPSBoYWRkX3VoX3Uz
MihzYWQzKTsKLX0KLQotc3RhdGljIHZvaWQgc2FkXzMyd2lkdGhfeDRkX2xzeChjb25zdCB1aW50
OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgYXJlZl9wdHJbXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50MzJfdCByZWZfc3RyaWRlLCBpbnQzMl90IGhlaWdodCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnNhZF9hcnJheSkgewotICBjb25z
dCB1aW50OF90ICpyZWYwX3B0ciwgKnJlZjFfcHRyLCAqcmVmMl9wdHIsICpyZWYzX3B0cjsKLSAg
aW50MzJfdCBodF9jbnQgPSBoZWlnaHQ7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgcmVmMCwgcmVm
MSwgc2FkX3RtcDsKLSAgX19tMTI4aSBzYWQwID0gX19sc3hfdmxkaSgwKTsKLSAgX19tMTI4aSBz
YWQxID0gc2FkMDsKLSAgX19tMTI4aSBzYWQyID0gc2FkMDsKLSAgX19tMTI4aSBzYWQzID0gc2Fk
MDsKLQotICByZWYwX3B0ciA9IGFyZWZfcHRyWzBdOwotICByZWYxX3B0ciA9IGFyZWZfcHRyWzFd
OwotICByZWYyX3B0ciA9IGFyZWZfcHRyWzJdOwotICByZWYzX3B0ciA9IGFyZWZfcHRyWzNdOwot
Ci0gIGZvciAoOyBodF9jbnQtLTspIHsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAs
IHNyYywgMTYsIHNyYzAsIHNyYzEpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gICAgRFVQ
Ml9BUkcyKF9fbHN4X3ZsZCwgcmVmMF9wdHIsIDAsIHJlZjBfcHRyLCAxNiwgcmVmMCwgcmVmMSk7
Ci0gICAgcmVmMF9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChz
cmMwLCBzcmMxLCByZWYwLCByZWYxKTsKLSAgICBzYWQwID0gX19sc3hfdmFkZF9oKHNhZDAsIHNh
ZF90bXApOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgcmVmMV9wdHIsIDAsIHJlZjFfcHRy
LCAxNiwgcmVmMCwgcmVmMSk7Ci0gICAgcmVmMV9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICBzYWRf
dG1wID0gc2FkX3ViMl91aChzcmMwLCBzcmMxLCByZWYwLCByZWYxKTsKLSAgICBzYWQxID0gX19s
c3hfdmFkZF9oKHNhZDEsIHNhZF90bXApOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgcmVm
Ml9wdHIsIDAsIHJlZjJfcHRyLCAxNiwgcmVmMCwgcmVmMSk7Ci0gICAgcmVmMl9wdHIgKz0gcmVm
X3N0cmlkZTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMwLCBzcmMxLCByZWYwLCByZWYx
KTsKLSAgICBzYWQyID0gX19sc3hfdmFkZF9oKHNhZDIsIHNhZF90bXApOwotCi0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZsZCwgcmVmM19wdHIsIDAsIHJlZjNfcHRyLCAxNiwgcmVmMCwgcmVmMSk7Ci0g
ICAgcmVmM19wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMw
LCBzcmMxLCByZWYwLCByZWYxKTsKLSAgICBzYWQzID0gX19sc3hfdmFkZF9oKHNhZDMsIHNhZF90
bXApOwotICB9Ci0gIHNhZF9hcnJheVswXSA9IGhhZGRfdWhfdTMyKHNhZDApOwotICBzYWRfYXJy
YXlbMV0gPSBoYWRkX3VoX3UzMihzYWQxKTsKLSAgc2FkX2FycmF5WzJdID0gaGFkZF91aF91MzIo
c2FkMik7Ci0gIHNhZF9hcnJheVszXSA9IGhhZGRfdWhfdTMyKHNhZDMpOwotfQotCi1zdGF0aWMg
dm9pZCBzYWRfNjR3aWR0aF94NGRfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpj
b25zdCBhcmVmX3B0cltdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90
IHJlZl9zdHJpZGUsIGludDMyX3QgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MzJfdCAqc2FkX2FycmF5KSB7Ci0gIGNvbnN0IHVpbnQ4X3QgKnJlZjBfcHRyLCAq
cmVmMV9wdHIsICpyZWYyX3B0ciwgKnJlZjNfcHRyOwotICBpbnQzMl90IGh0X2NudCA9IGhlaWdo
dDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzOwotICBfX20xMjhpIHJlZjAsIHJl
ZjEsIHJlZjIsIHJlZjM7Ci0gIF9fbTEyOGkgc2FkLCBzYWRfdG1wOwotCi0gIF9fbTEyOGkgc2Fk
MF8wID0gX19sc3hfdmxkaSgwKTsKLSAgX19tMTI4aSBzYWQwXzEgPSBzYWQwXzA7Ci0gIF9fbTEy
OGkgc2FkMV8wID0gc2FkMF8wOwotICBfX20xMjhpIHNhZDFfMSA9IHNhZDBfMDsKLSAgX19tMTI4
aSBzYWQyXzAgPSBzYWQwXzA7Ci0gIF9fbTEyOGkgc2FkMl8xID0gc2FkMF8wOwotICBfX20xMjhp
IHNhZDNfMCA9IHNhZDBfMDsKLSAgX19tMTI4aSBzYWQzXzEgPSBzYWQwXzA7Ci0KLSAgcmVmMF9w
dHIgPSBhcmVmX3B0clswXTsKLSAgcmVmMV9wdHIgPSBhcmVmX3B0clsxXTsKLSAgcmVmMl9wdHIg
PSBhcmVmX3B0clsyXTsKLSAgcmVmM19wdHIgPSBhcmVmX3B0clszXTsKLQotICBmb3IgKDsgaHRf
Y250LS07KSB7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMs
IDMyLCBzcmMsIDQ4LCBzcmMwLCBzcmMxLCBzcmMyLAotICAgICAgICAgICAgICBzcmMzKTsKLSAg
ICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHJlZjBfcHRy
LCAwLCByZWYwX3B0ciwgMTYsIHJlZjBfcHRyLCAzMiwgcmVmMF9wdHIsIDQ4LAotICAgICAgICAg
ICAgICByZWYwLCByZWYxLCByZWYyLCByZWYzKTsKLSAgICByZWYwX3B0ciArPSByZWZfc3RyaWRl
OwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3VoKHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOwotICAg
IHNhZDBfMCA9IF9fbHN4X3ZhZGRfaChzYWQwXzAsIHNhZF90bXApOwotICAgIHNhZF90bXAgPSBz
YWRfdWIyX3VoKHNyYzIsIHNyYzMsIHJlZjIsIHJlZjMpOwotICAgIHNhZDBfMSA9IF9fbHN4X3Zh
ZGRfaChzYWQwXzEsIHNhZF90bXApOwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgcmVmMV9w
dHIsIDAsIHJlZjFfcHRyLCAxNiwgcmVmMV9wdHIsIDMyLCByZWYxX3B0ciwgNDgsCi0gICAgICAg
ICAgICAgIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMpOwotICAgIHJlZjFfcHRyICs9IHJlZl9zdHJp
ZGU7Ci0gICAgc2FkX3RtcCA9IHNhZF91YjJfdWgoc3JjMCwgc3JjMSwgcmVmMCwgcmVmMSk7Ci0g
ICAgc2FkMV8wID0gX19sc3hfdmFkZF9oKHNhZDFfMCwgc2FkX3RtcCk7Ci0gICAgc2FkX3RtcCA9
IHNhZF91YjJfdWgoc3JjMiwgc3JjMywgcmVmMiwgcmVmMyk7Ci0gICAgc2FkMV8xID0gX19sc3hf
dmFkZF9oKHNhZDFfMSwgc2FkX3RtcCk7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCByZWYy
X3B0ciwgMCwgcmVmMl9wdHIsIDE2LCByZWYyX3B0ciwgMzIsIHJlZjJfcHRyLCA0OCwKLSAgICAg
ICAgICAgICAgcmVmMCwgcmVmMSwgcmVmMiwgcmVmMyk7Ci0gICAgcmVmMl9wdHIgKz0gcmVmX3N0
cmlkZTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMwLCBzcmMxLCByZWYwLCByZWYxKTsK
LSAgICBzYWQyXzAgPSBfX2xzeF92YWRkX2goc2FkMl8wLCBzYWRfdG1wKTsKLSAgICBzYWRfdG1w
ID0gc2FkX3ViMl91aChzcmMyLCBzcmMzLCByZWYyLCByZWYzKTsKLSAgICBzYWQyXzEgPSBfX2xz
eF92YWRkX2goc2FkMl8xLCBzYWRfdG1wKTsKLQotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHJl
ZjNfcHRyLCAwLCByZWYzX3B0ciwgMTYsIHJlZjNfcHRyLCAzMiwgcmVmM19wdHIsIDQ4LAotICAg
ICAgICAgICAgICByZWYwLCByZWYxLCByZWYyLCByZWYzKTsKLSAgICByZWYzX3B0ciArPSByZWZf
c3RyaWRlOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3VoKHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEp
OwotICAgIHNhZDNfMCA9IF9fbHN4X3ZhZGRfaChzYWQzXzAsIHNhZF90bXApOwotICAgIHNhZF90
bXAgPSBzYWRfdWIyX3VoKHNyYzIsIHNyYzMsIHJlZjIsIHJlZjMpOwotICAgIHNhZDNfMSA9IF9f
bHN4X3ZhZGRfaChzYWQzXzEsIHNhZF90bXApOwotICB9Ci0gIHNhZCA9IF9fbHN4X3ZoYWRkd193
dV9odShzYWQwXzAsIHNhZDBfMCk7Ci0gIHNhZF90bXAgPSBfX2xzeF92aGFkZHdfd3VfaHUoc2Fk
MF8xLCBzYWQwXzEpOwotICBzYWQgPSBfX2xzeF92YWRkX3coc2FkLCBzYWRfdG1wKTsKLSAgc2Fk
X2FycmF5WzBdID0gaGFkZF91d191MzIoc2FkKTsKLQotICBzYWQgPSBfX2xzeF92aGFkZHdfd3Vf
aHUoc2FkMV8wLCBzYWQxXzApOwotICBzYWRfdG1wID0gX19sc3hfdmhhZGR3X3d1X2h1KHNhZDFf
MSwgc2FkMV8xKTsKLSAgc2FkID0gX19sc3hfdmFkZF93KHNhZCwgc2FkX3RtcCk7Ci0gIHNhZF9h
cnJheVsxXSA9IGhhZGRfdXdfdTMyKHNhZCk7Ci0KLSAgc2FkID0gX19sc3hfdmhhZGR3X3d1X2h1
KHNhZDJfMCwgc2FkMl8wKTsKLSAgc2FkX3RtcCA9IF9fbHN4X3ZoYWRkd193dV9odShzYWQyXzEs
IHNhZDJfMSk7Ci0gIHNhZCA9IF9fbHN4X3ZhZGRfdyhzYWQsIHNhZF90bXApOwotICBzYWRfYXJy
YXlbMl0gPSBoYWRkX3V3X3UzMihzYWQpOwotCi0gIHNhZCA9IF9fbHN4X3ZoYWRkd193dV9odShz
YWQzXzAsIHNhZDNfMCk7Ci0gIHNhZF90bXAgPSBfX2xzeF92aGFkZHdfd3VfaHUoc2FkM18xLCBz
YWQzXzEpOwotICBzYWQgPSBfX2xzeF92YWRkX3coc2FkLCBzYWRfdG1wKTsKLSAgc2FkX2FycmF5
WzNdID0gaGFkZF91d191MzIoc2FkKTsKLX0KLQotc3RhdGljIHVpbnQzMl90IGF2Z3NhZF8zMndp
ZHRoX2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVp
Z2h0LCBjb25zdCB1aW50OF90ICpzZWNfcHJlZCkgewotICBpbnQzMl90IHJlcywgaHRfY250ID0g
KGhlaWdodCA+PiAyKTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBz
cmM1LCBzcmM2LCBzcmM3OwotICBfX20xMjhpIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMsIHJlZjQs
IHJlZjUsIHJlZjYsIHJlZjc7Ci0gIF9fbTEyOGkgcHJlZDAsIHByZWQxLCBwcmVkMiwgcHJlZDMs
IHByZWQ0LCBwcmVkNSwgcHJlZDYsIHByZWQ3OwotICBfX20xMjhpIGNvbXAwLCBjb21wMSwgc2Fk
X3RtcDsKLSAgX19tMTI4aSBzYWQgPSBfX2xzeF92bGRpKDApOwotICB1aW50OF90ICpzcmNfdG1w
LCAqcmVmX3RtcDsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAg
aW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJf
dCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3QgcmVmX3N0cmlkZTIg
PSByZWZfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgcmVmX3N0cmlkZTMgPSByZWZfc3RyaWRlMiAr
IHJlZl9zdHJpZGU7Ci0gIGludDMyX3QgcmVmX3N0cmlkZTQgPSByZWZfc3RyaWRlMiA8PCAxOwot
Ci0gIGZvciAoOyBodF9jbnQtLTspIHsKLSAgICBzcmNfdG1wID0gKHVpbnQ4X3QgKilzcmMgKyAx
NjsKLSAgICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Zs
ZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMiwgc3JjNCk7Ci0gICAg
c3JjNiA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjMSA9IF9fbHN4X3Zs
ZChzcmNfdG1wLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcCwgc3JjX3N0
cmlkZSwgc3JjX3RtcCwgc3JjX3N0cmlkZTIsIHNyYzMsCi0gICAgICAgICAgICAgIHNyYzUpOwot
ICAgIHNyYzcgPSBfX2xzeF92bGR4KHNyY190bXAsIHNyY19zdHJpZGUzKTsKLSAgICBzcmMgKz0g
c3JjX3N0cmlkZTQ7Ci0KLSAgICByZWZfdG1wID0gKHVpbnQ4X3QgKilyZWYgKyAxNjsKLSAgICBy
ZWYwID0gX19sc3hfdmxkKHJlZiwgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHJlZiwg
cmVmX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlMiwgcmVmMiwgcmVmNCk7Ci0gICAgcmVmNiA9IF9f
bHN4X3ZsZHgocmVmLCByZWZfc3RyaWRlMyk7Ci0gICAgcmVmMSA9IF9fbHN4X3ZsZChyZWZfdG1w
LCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgcmVmX3RtcCwgcmVmX3N0cmlkZSwgcmVm
X3RtcCwgcmVmX3N0cmlkZTIsIHJlZjMsCi0gICAgICAgICAgICAgIHJlZjUpOwotICAgIHJlZjcg
PSBfX2xzeF92bGR4KHJlZl90bXAsIHJlZl9zdHJpZGUzKTsKLSAgICByZWYgKz0gcmVmX3N0cmlk
ZTQ7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBzZWNfcHJlZCwgMCwgc2VjX3ByZWQsIDMy
LCBzZWNfcHJlZCwgNjQsIHNlY19wcmVkLCA5NiwKLSAgICAgICAgICAgICAgcHJlZDAsIHByZWQy
LCBwcmVkNCwgcHJlZDYpOwotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHNlY19wcmVkLCAxNiwg
c2VjX3ByZWQsIDQ4LCBzZWNfcHJlZCwgODAsIHNlY19wcmVkLAotICAgICAgICAgICAgICAxMTIs
IHByZWQxLCBwcmVkMywgcHJlZDUsIHByZWQ3KTsKLSAgICBzZWNfcHJlZCArPSAxMjg7Ci0KLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmF2Z3JfYnUsIHByZWQwLCByZWYwLCBwcmVkMSwgcmVmMSwgY29t
cDAsIGNvbXAxKTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMwLCBzcmMxLCBjb21wMCwg
Y29tcDEpOwotICAgIHNhZCA9IF9fbHN4X3ZhZGRfaChzYWQsIHNhZF90bXApOwotICAgIERVUDJf
QVJHMihfX2xzeF92YXZncl9idSwgcHJlZDIsIHJlZjIsIHByZWQzLCByZWYzLCBjb21wMCwgY29t
cDEpOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3VoKHNyYzIsIHNyYzMsIGNvbXAwLCBjb21wMSk7
Ci0gICAgc2FkID0gX19sc3hfdmFkZF9oKHNhZCwgc2FkX3RtcCk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZhdmdyX2J1LCBwcmVkNCwgcmVmNCwgcHJlZDUsIHJlZjUsIGNvbXAwLCBjb21wMSk7Ci0g
ICAgc2FkX3RtcCA9IHNhZF91YjJfdWgoc3JjNCwgc3JjNSwgY29tcDAsIGNvbXAxKTsKLSAgICBz
YWQgPSBfX2xzeF92YWRkX2goc2FkLCBzYWRfdG1wKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmF2
Z3JfYnUsIHByZWQ2LCByZWY2LCBwcmVkNywgcmVmNywgY29tcDAsIGNvbXAxKTsKLSAgICBzYWRf
dG1wID0gc2FkX3ViMl91aChzcmM2LCBzcmM3LCBjb21wMCwgY29tcDEpOwotICAgIHNhZCA9IF9f
bHN4X3ZhZGRfaChzYWQsIHNhZF90bXApOwotICB9Ci0gIHJlcyA9IGhhZGRfdWhfdTMyKHNhZCk7
Ci0gIHJldHVybiByZXM7Ci19Ci0KLXN0YXRpYyB1aW50MzJfdCBhdmdzYWRfNjR3aWR0aF9sc3go
Y29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50MzJfdCByZWZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCwgY29u
c3QgdWludDhfdCAqc2VjX3ByZWQpIHsKLSAgaW50MzJfdCByZXMsIGh0X2NudCA9IChoZWlnaHQg
Pj4gMik7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgcmVmMCwgcmVmMSwgcmVm
MiwgcmVmMzsKLSAgX19tMTI4aSBjb21wMCwgY29tcDEsIGNvbXAyLCBjb21wMywgcHJlZDAsIHBy
ZWQxLCBwcmVkMiwgcHJlZDM7Ci0gIF9fbTEyOGkgc2FkLCBzYWRfdG1wOwotICBfX20xMjhpIHNh
ZDAgPSBfX2xzeF92bGRpKDApOwotICBfX20xMjhpIHNhZDEgPSBzYWQwOwotCi0gIGZvciAoOyBo
dF9jbnQtLTspIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgMTYsIHNy
YywgMzIsIHNyYywgNDgsIHNyYzAsIHNyYzEsIHNyYzIsCi0gICAgICAgICAgICAgIHNyYzMpOwot
ICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHJlZiwgMCwg
cmVmLCAxNiwgcmVmLCAzMiwgcmVmLCA0OCwgcmVmMCwgcmVmMSwgcmVmMiwKLSAgICAgICAgICAg
ICAgcmVmMyk7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGU7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgc2VjX3ByZWQsIDAsIHNlY19wcmVkLCAxNiwgc2VjX3ByZWQsIDMyLCBzZWNfcHJlZCwgNDgs
Ci0gICAgICAgICAgICAgIHByZWQwLCBwcmVkMSwgcHJlZDIsIHByZWQzKTsKLSAgICBzZWNfcHJl
ZCArPSA2NDsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmF2Z3JfYnUsIHByZWQwLCByZWYwLCBwcmVk
MSwgcmVmMSwgcHJlZDIsIHJlZjIsIHByZWQzLAotICAgICAgICAgICAgICByZWYzLCBjb21wMCwg
Y29tcDEsIGNvbXAyLCBjb21wMyk7Ci0gICAgc2FkX3RtcCA9IHNhZF91YjJfdWgoc3JjMCwgc3Jj
MSwgY29tcDAsIGNvbXAxKTsKLSAgICBzYWQwID0gX19sc3hfdmFkZF9oKHNhZDAsIHNhZF90bXAp
OwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3VoKHNyYzIsIHNyYzMsIGNvbXAyLCBjb21wMyk7Ci0g
ICAgc2FkMSA9IF9fbHN4X3ZhZGRfaChzYWQxLCBzYWRfdG1wKTsKLQotICAgIERVUDRfQVJHMihf
X2xzeF92bGQsIHNyYywgMCwgc3JjLCAxNiwgc3JjLCAzMiwgc3JjLCA0OCwgc3JjMCwgc3JjMSwg
c3JjMiwKLSAgICAgICAgICAgICAgc3JjMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAg
RFVQNF9BUkcyKF9fbHN4X3ZsZCwgcmVmLCAwLCByZWYsIDE2LCByZWYsIDMyLCByZWYsIDQ4LCBy
ZWYwLCByZWYxLCByZWYyLAotICAgICAgICAgICAgICByZWYzKTsKLSAgICByZWYgKz0gcmVmX3N0
cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBzZWNfcHJlZCwgMCwgc2VjX3ByZWQsIDE2
LCBzZWNfcHJlZCwgMzIsIHNlY19wcmVkLCA0OCwKLSAgICAgICAgICAgICAgcHJlZDAsIHByZWQx
LCBwcmVkMiwgcHJlZDMpOwotICAgIHNlY19wcmVkICs9IDY0OwotICAgIERVUDRfQVJHMihfX2xz
eF92YXZncl9idSwgcHJlZDAsIHJlZjAsIHByZWQxLCByZWYxLCBwcmVkMiwgcmVmMiwgcHJlZDMs
Ci0gICAgICAgICAgICAgIHJlZjMsIGNvbXAwLCBjb21wMSwgY29tcDIsIGNvbXAzKTsKLSAgICBz
YWRfdG1wID0gc2FkX3ViMl91aChzcmMwLCBzcmMxLCBjb21wMCwgY29tcDEpOwotICAgIHNhZDAg
PSBfX2xzeF92YWRkX2goc2FkMCwgc2FkX3RtcCk7Ci0gICAgc2FkX3RtcCA9IHNhZF91YjJfdWgo
c3JjMiwgc3JjMywgY29tcDIsIGNvbXAzKTsKLSAgICBzYWQxID0gX19sc3hfdmFkZF9oKHNhZDEs
IHNhZF90bXApOwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBz
cmMsIDMyLCBzcmMsIDQ4LCBzcmMwLCBzcmMxLCBzcmMyLAotICAgICAgICAgICAgICBzcmMzKTsK
LSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCByZWYsIDAs
IHJlZiwgMTYsIHJlZiwgMzIsIHJlZiwgNDgsIHJlZjAsIHJlZjEsIHJlZjIsCi0gICAgICAgICAg
ICAgIHJlZjMpOwotICAgIHJlZiArPSByZWZfc3RyaWRlOwotICAgIERVUDRfQVJHMihfX2xzeF92
bGQsIHNlY19wcmVkLCAwLCBzZWNfcHJlZCwgMTYsIHNlY19wcmVkLCAzMiwgc2VjX3ByZWQsIDQ4
LAotICAgICAgICAgICAgICBwcmVkMCwgcHJlZDEsIHByZWQyLCBwcmVkMyk7Ci0gICAgc2VjX3By
ZWQgKz0gNjQ7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZhdmdyX2J1LCBwcmVkMCwgcmVmMCwgcHJl
ZDEsIHJlZjEsIHByZWQyLCByZWYyLCBwcmVkMywKLSAgICAgICAgICAgICAgcmVmMywgY29tcDAs
IGNvbXAxLCBjb21wMiwgY29tcDMpOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3VoKHNyYzAsIHNy
YzEsIGNvbXAwLCBjb21wMSk7Ci0gICAgc2FkMCA9IF9fbHN4X3ZhZGRfaChzYWQwLCBzYWRfdG1w
KTsKLSAgICBzYWRfdG1wID0gc2FkX3ViMl91aChzcmMyLCBzcmMzLCBjb21wMiwgY29tcDMpOwot
ICAgIHNhZDEgPSBfX2xzeF92YWRkX2goc2FkMSwgc2FkX3RtcCk7Ci0KLSAgICBEVVA0X0FSRzIo
X19sc3hfdmxkLCBzcmMsIDAsIHNyYywgMTYsIHNyYywgMzIsIHNyYywgNDgsIHNyYzAsIHNyYzEs
IHNyYzIsCi0gICAgICAgICAgICAgIHNyYzMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAg
IERVUDRfQVJHMihfX2xzeF92bGQsIHJlZiwgMCwgcmVmLCAxNiwgcmVmLCAzMiwgcmVmLCA0OCwg
cmVmMCwgcmVmMSwgcmVmMiwKLSAgICAgICAgICAgICAgcmVmMyk7Ci0gICAgcmVmICs9IHJlZl9z
dHJpZGU7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc2VjX3ByZWQsIDAsIHNlY19wcmVkLCAx
Niwgc2VjX3ByZWQsIDMyLCBzZWNfcHJlZCwgNDgsCi0gICAgICAgICAgICAgIHByZWQwLCBwcmVk
MSwgcHJlZDIsIHByZWQzKTsKLSAgICBzZWNfcHJlZCArPSA2NDsKLSAgICBEVVA0X0FSRzIoX19s
c3hfdmF2Z3JfYnUsIHByZWQwLCByZWYwLCBwcmVkMSwgcmVmMSwgcHJlZDIsIHJlZjIsIHByZWQz
LAotICAgICAgICAgICAgICByZWYzLCBjb21wMCwgY29tcDEsIGNvbXAyLCBjb21wMyk7Ci0gICAg
c2FkX3RtcCA9IHNhZF91YjJfdWgoc3JjMCwgc3JjMSwgY29tcDAsIGNvbXAxKTsKLSAgICBzYWQw
ID0gX19sc3hfdmFkZF9oKHNhZDAsIHNhZF90bXApOwotICAgIHNhZF90bXAgPSBzYWRfdWIyX3Vo
KHNyYzIsIHNyYzMsIGNvbXAyLCBjb21wMyk7Ci0gICAgc2FkMSA9IF9fbHN4X3ZhZGRfaChzYWQx
LCBzYWRfdG1wKTsKLSAgfQotICBzYWQgPSBfX2xzeF92aGFkZHdfd3VfaHUoc2FkMCwgc2FkMCk7
Ci0gIHNhZF90bXAgPSBfX2xzeF92aGFkZHdfd3VfaHUoc2FkMSwgc2FkMSk7Ci0gIHNhZCA9IF9f
bHN4X3ZhZGRfdyhzYWQsIHNhZF90bXApOwotCi0gIHJlcyA9IGhhZGRfc3dfczMyKHNhZCk7Ci0g
IHJldHVybiByZXM7Ci19Ci0KLSNkZWZpbmUgVlBYX1NBRF84eEhUX0xTWChoZWlnaHQpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50MzJfdCB2cHhf
c2FkOHgjI2hlaWdodCMjX2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlk
ZSwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnJlZiwgaW50MzJfdCByZWZfc3RyaWRlKSB7IFwKLSAgICByZXR1cm4gc2FkXzh3aWR0aF9sc3go
c3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIGhlaWdodCk7ICAgICAgICAgXAotICB9
Ci0KLSNkZWZpbmUgVlBYX1NBRF8xNnhIVF9MU1goaGVpZ2h0KSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdWludDMyX3QgdnB4X3NhZDE2eCMjaGVpZ2h0
IyNfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50MzJf
dCByZWZfc3RyaWRlKSB7IFwKLSAgICByZXR1cm4gc2FkXzE2d2lkdGhfbHN4KHNyYywgc3JjX3N0
cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoZWlnaHQpOyAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5l
IFZQWF9TQURfMzJ4SFRfTFNYKGhlaWdodCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIHVpbnQzMl90IHZweF9zYWQzMngjI2hlaWdodCMjX2xzeChjb25z
dCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWYsIGludDMyX3QgcmVmX3N0cmlk
ZSkgeyBcCi0gICAgcmV0dXJuIHNhZF8zMndpZHRoX2xzeChzcmMsIHNyY19zdHJpZGUsIHJlZiwg
cmVmX3N0cmlkZSwgaGVpZ2h0KTsgICAgICAgICBcCi0gIH0KLQotI2RlZmluZSBWUFhfU0FEXzY0
eEhUX0xTWChoZWlnaHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICB1aW50MzJfdCB2cHhfc2FkNjR4IyNoZWlnaHQjI19sc3goY29uc3QgdWludDhfdCAq
c3JjLCBpbnQzMl90IHNyY19zdHJpZGUsICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJlZl9zdHJpZGUpIHsgXAotICAg
IHJldHVybiBzYWRfNjR3aWR0aF9sc3goc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUs
IGhlaWdodCk7ICAgICAgICAgXAotICB9Ci0KLSNkZWZpbmUgVlBYX1NBRF84eEhUeDREX0xTWCho
ZWlnaHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB2b2lkIHZw
eF9zYWQ4eCMjaGVpZ2h0IyN4NGRfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNf
c3RyaWRlLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqY29uc3QgcmVmc1s0XSwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMl90IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZHNbNF0pIHsgXAotICAgIHNh
ZF84d2lkdGhfeDRkX2xzeChzcmMsIHNyY19zdHJpZGUsIHJlZnMsIHJlZl9zdHJpZGUsIGhlaWdo
dCwgc2Fkcyk7ICBcCi0gIH0KLQotI2RlZmluZSBWUFhfU0FEXzE2eEhUeDREX0xTWChoZWlnaHQp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB2b2lkIHZweF9zYWQx
NngjI2hlaWdodCMjeDRkX2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlk
ZSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpj
b25zdCByZWZzW10sICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQzMl90IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzYWRzKSB7ICAgXAotICAgIHNhZF8x
NndpZHRoX3g0ZF9sc3goc3JjLCBzcmNfc3RyaWRlLCByZWZzLCByZWZfc3RyaWRlLCBoZWlnaHQs
IHNhZHMpOyAgXAotICB9Ci0KLSNkZWZpbmUgVlBYX1NBRF8zMnhIVHg0RF9MU1goaGVpZ2h0KSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdm9pZCB2cHhfc2FkMzJ4
IyNoZWlnaHQjI3g0ZF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUs
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29u
c3QgcmVmc1tdLCAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MzJfdCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkcykgeyAgIFwKLSAgICBzYWRfMzJ3
aWR0aF94NGRfbHN4KHNyYywgc3JjX3N0cmlkZSwgcmVmcywgcmVmX3N0cmlkZSwgaGVpZ2h0LCBz
YWRzKTsgIFwKLSAgfQotCi0jZGVmaW5lIFZQWF9TQURfNjR4SFR4NERfTFNYKGhlaWdodCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHZvaWQgdnB4X3NhZDY0eCMj
aGVpZ2h0IyN4NGRfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0
IHJlZnNbXSwgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludDMyX3QgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZHMpIHsgICBcCi0gICAgc2FkXzY0d2lk
dGhfeDRkX2xzeChzcmMsIHNyY19zdHJpZGUsIHJlZnMsIHJlZl9zdHJpZGUsIGhlaWdodCwgc2Fk
cyk7ICBcCi0gIH0KLQotI2RlZmluZSBWUFhfQVZHU0FEXzMyeEhUX0xTWChoZWlnaHQpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50MzJfdCB2cHhfc2FkMzJ4IyNo
ZWlnaHQjI19hdmdfbHN4KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
Y29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJl
ZiwgICAgICAgXAotICAgICAgaW50MzJfdCByZWZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzZWNv
bmRfcHJlZCkgeyAgICAgICAgICAgICAgICAgXAotICAgIHJldHVybiBhdmdzYWRfMzJ3aWR0aF9s
c3goc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIGhlaWdodCwgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2Vjb25kX3ByZWQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB9Ci0KLSNkZWZpbmUgVlBYX0FWR1NBRF82NHhIVF9MU1goaGVpZ2h0KSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdWludDMyX3QgdnB4X3NhZDY0eCMj
aGVpZ2h0IyNfYXZnX2xzeCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpy
ZWYsICAgICAgIFwKLSAgICAgIGludDMyX3QgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vj
b25kX3ByZWQpIHsgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gYXZnc2FkXzY0d2lkdGhf
bHN4KHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoZWlnaHQsIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlY29uZF9wcmVkKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIFNBRDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgVlBYX1NBRF82NHhIVF9MU1go
NjQpIFZQWF9TQURfNjR4SFR4NERfTFNYKDY0KSBWUFhfU0FEXzY0eEhUeDREX0xTWCgzMikgXAot
ICAgICAgVlBYX0FWR1NBRF82NHhIVF9MU1goNjQpCi0KLVNBRDY0Ci0KLSNkZWZpbmUgU0FEMzIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBWUFhfU0FEXzMyeEhUX0xTWCgzMikgVlBYX1NBRF8zMnhIVHg0RF9MU1goMzIpIFZQ
WF9TQURfMzJ4SFR4NERfTFNYKDY0KSBcCi0gICAgICBWUFhfQVZHU0FEXzMyeEhUX0xTWCgzMikK
LQotU0FEMzIKLQotI2RlZmluZSBTQUQxNiBWUFhfU0FEXzE2eEhUX0xTWCgxNikgVlBYX1NBRF8x
NnhIVHg0RF9MU1goMTYpCi0KLVNBRDE2Ci0KLSNkZWZpbmUgU0FEOCBWUFhfU0FEXzh4SFRfTFNY
KDgpIFZQWF9TQURfOHhIVHg0RF9MU1goOCkKLQotU0FEOAotCi0jdW5kZWYgU0FENjQKLSN1bmRl
ZiBTQUQzMgotI3VuZGVmIFNBRDE2Ci0jdW5kZWYgU0FEOApkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2xvb25nYXJjaC9zdWJfcGl4ZWxfdmFyaWFuY2VfbHN4LmMgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbG9vbmdhcmNoL3N1Yl9waXhlbF92YXJpYW5jZV9sc3guYwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzAwNzkzNTMxYzkwLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2xvb25nYXJjaC9zdWJfcGl4ZWxfdmFyaWFuY2VfbHN4LmMKKysrIC9kZXYv
bnVsbApAQCAtMSw4NzQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdl
Yk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAg
dGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUg
c291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmln
aHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29u
dHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9S
UyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSAi
Li92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhfcG9ydHMvbWVtLmgiCi0jaW5jbHVkZSAi
dnB4X2RzcC9sb29uZ2FyY2gvdmFyaWFuY2VfbHN4LmgiCi0jaW5jbHVkZSAidnB4X2RzcC92YXJp
YW5jZS5oIgotCi1zdGF0aWMgY29uc3QgdWludDhfdCBiaWxpbmVhcl9maWx0ZXJzX2xzeFs4XVsy
XSA9IHsKLSAgeyAxMjgsIDAgfSwgeyAxMTIsIDE2IH0sIHsgOTYsIDMyIH0sIHsgODAsIDQ4IH0s
Ci0gIHsgNjQsIDY0IH0sIHsgNDgsIDgwIH0sICB7IDMyLCA5NiB9LCB7IDE2LCAxMTIgfSwKLX07
Ci0KLSNkZWZpbmUgVkFSSUFOQ0VfV3hIKHNzZSwgZGlmZiwgc2hpZnQpIFwKLSAgKHNzZSkgLSAo
KCh1aW50MzJfdCkoZGlmZikgKiAoZGlmZikpID4+IChzaGlmdCkpCi0KLSNkZWZpbmUgVkFSSUFO
Q0VfTEFSR0VfV3hIKHNzZSwgZGlmZiwgc2hpZnQpIFwKLSAgKHNzZSkgLSAoKChpbnQ2NF90KShk
aWZmKSAqIChkaWZmKSkgPj4gKHNoaWZ0KSkKLQotc3RhdGljIHVpbnQzMl90IGF2Z19zc2VfZGlm
Zl82NHg2NF9sc3goY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHJlZl9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzZWNfcHJlZCwg
aW50MzJfdCAqZGlmZikgewotICBpbnQzMl90IHJlcywgaHRfY250ID0gMzI7Ci0gIF9fbTEyOGkg
c3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgcmVmMCwgcmVmMSwgcmVmMiwgcmVmMzsKLSAgX19tMTI4
aSBwcmVkMCwgcHJlZDEsIHByZWQyLCBwcmVkMywgdmVjLCB2ZWNfdG1wOwotICBfX20xMjhpIGF2
ZzAsIGF2ZzEsIGF2ZzIsIGF2ZzM7Ci0gIF9fbTEyOGkgdmFyID0gX19sc3hfdmxkaSgwKTsKLQot
ICBhdmcwID0gdmFyOwotICBhdmcxID0gdmFyOwotICBhdmcyID0gdmFyOwotICBhdmczID0gdmFy
OwotCi0gIGZvciAoOyBodF9jbnQtLTspIHsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBzZWNf
cHJlZCwgMCwgc2VjX3ByZWQsIDE2LCBzZWNfcHJlZCwgMzIsIHNlY19wcmVkLCA0OCwKLSAgICAg
ICAgICAgICAgcHJlZDAsIHByZWQxLCBwcmVkMiwgcHJlZDMpOwotICAgIHNlY19wcmVkICs9IDY0
OwotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHNyY19wdHIsIDAsIHNyY19wdHIsIDE2LCBzcmNf
cHRyLCAzMiwgc3JjX3B0ciwgNDgsCi0gICAgICAgICAgICAgIHNyYzAsIHNyYzEsIHNyYzIsIHNy
YzMpOwotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxk
LCByZWZfcHRyLCAwLCByZWZfcHRyLCAxNiwgcmVmX3B0ciwgMzIsIHJlZl9wdHIsIDQ4LAotICAg
ICAgICAgICAgICByZWYwLCByZWYxLCByZWYyLCByZWYzKTsKLSAgICByZWZfcHRyICs9IHJlZl9z
dHJpZGU7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdmF2Z3JfYnUsIHNyYzAsIHByZWQwLCBzcmMx
LCBwcmVkMSwgc3JjMiwgcHJlZDIsIHNyYzMsCi0gICAgICAgICAgICAgIHByZWQzLCBzcmMwLCBz
cmMxLCBzcmMyLCBzcmMzKTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMwLCByZWYwLCB2YXIsIGF2
ZzApOwotICAgIENBTENfTVNFX0FWR19CKHNyYzEsIHJlZjEsIHZhciwgYXZnMSk7Ci0gICAgQ0FM
Q19NU0VfQVZHX0Ioc3JjMiwgcmVmMiwgdmFyLCBhdmcyKTsKLSAgICBDQUxDX01TRV9BVkdfQihz
cmMzLCByZWYzLCB2YXIsIGF2ZzMpOwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc2VjX3By
ZWQsIDAsIHNlY19wcmVkLCAxNiwgc2VjX3ByZWQsIDMyLCBzZWNfcHJlZCwgNDgsCi0gICAgICAg
ICAgICAgIHByZWQwLCBwcmVkMSwgcHJlZDIsIHByZWQzKTsKLSAgICBzZWNfcHJlZCArPSA2NDsK
LSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBzcmNfcHRyLCAwLCBzcmNfcHRyLCAxNiwgc3JjX3B0
ciwgMzIsIHNyY19wdHIsIDQ4LAotICAgICAgICAgICAgICBzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
KTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwg
cmVmX3B0ciwgMCwgcmVmX3B0ciwgMTYsIHJlZl9wdHIsIDMyLCByZWZfcHRyLCA0OCwKLSAgICAg
ICAgICAgICAgcmVmMCwgcmVmMSwgcmVmMiwgcmVmMyk7Ci0gICAgcmVmX3B0ciArPSByZWZfc3Ry
aWRlOwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZhdmdyX2J1LCBzcmMwLCBwcmVkMCwgc3JjMSwg
cHJlZDEsIHNyYzIsIHByZWQyLCBzcmMzLAotICAgICAgICAgICAgICBwcmVkMywgc3JjMCwgc3Jj
MSwgc3JjMiwgc3JjMyk7Ci0gICAgQ0FMQ19NU0VfQVZHX0Ioc3JjMCwgcmVmMCwgdmFyLCBhdmcw
KTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMxLCByZWYxLCB2YXIsIGF2ZzEpOwotICAgIENBTENf
TVNFX0FWR19CKHNyYzIsIHJlZjIsIHZhciwgYXZnMik7Ci0gICAgQ0FMQ19NU0VfQVZHX0Ioc3Jj
MywgcmVmMywgdmFyLCBhdmczKTsKLSAgfQotICB2ZWMgPSBfX2xzeF92aGFkZHdfd19oKGF2ZzAs
IGF2ZzApOwotICB2ZWNfdG1wID0gX19sc3hfdmhhZGR3X3dfaChhdmcxLCBhdmcxKTsKLSAgdmVj
ID0gX19sc3hfdmFkZF93KHZlYywgdmVjX3RtcCk7Ci0gIHZlY190bXAgPSBfX2xzeF92aGFkZHdf
d19oKGF2ZzIsIGF2ZzIpOwotICB2ZWMgPSBfX2xzeF92YWRkX3codmVjLCB2ZWNfdG1wKTsKLSAg
dmVjX3RtcCA9IF9fbHN4X3ZoYWRkd193X2goYXZnMywgYXZnMyk7Ci0gIHZlYyA9IF9fbHN4X3Zh
ZGRfdyh2ZWMsIHZlY190bXApOwotICBIQUREX1NXX1MzMih2ZWMsICpkaWZmKTsKLSAgSEFERF9T
V19TMzIodmFyLCByZXMpOwotCi0gIHJldHVybiByZXM7Ci19Ci0KLXN0YXRpYyB1aW50MzJfdCBz
dWJfcGl4ZWxfc3NlX2RpZmZfOHdpZHRoX2hfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywg
aW50MzJfdCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpkc3QsCi0gICAgaW50MzJfdCBkc3Rf
c3RyaWRlLCBjb25zdCB1aW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0LCBpbnQzMl90ICpk
aWZmKSB7Ci0gIHVpbnQzMl90IGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsKLSAgaW50MzJfdCBy
ZXM7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgcmVmMCwgcmVmMSwgcmVmMiwg
cmVmMzsKLSAgX19tMTI4aSB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCBmaWx0MCwgb3V0LCB2ZWM7
Ci0gIF9fbTEyOGkgbWFzayA9IHsgMHgwNDAzMDMwMjAyMDEwMTAwLCAweDA4MDcwNzA2MDYwNTA1
MDQgfTsKLSAgX19tMTI4aSBhdmcgPSBfX2xzeF92bGRpKDApOwotICBfX20xMjhpIHZhciA9IGF2
ZzsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBz
cmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBzcmNfc3Ry
aWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTIgPSBkc3Rfc3Ry
aWRlIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3RyaWRlMiArIGRzdF9zdHJp
ZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTQgPSBkc3Rfc3RyaWRlMiA8PCAxOwotCi0gIGZpbHQw
ID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0gIGZvciAoOyBsb29wX2NudC0tOykgewot
ICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwg
c3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAgICBzcmMz
ID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUzKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTQ7
Ci0gICAgcmVmMCA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4
LCBkc3QsIGRzdF9zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZTIsIHJlZjEsIHJlZjIpOwotICAgIHJl
ZjMgPSBfX2xzeF92bGR4KGRzdCwgZHN0X3N0cmlkZTMpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRl
NDsKLQotICAgIERVUDJfQVJHMihfX2xzeF92cGlja2V2X2QsIHJlZjEsIHJlZjAsIHJlZjMsIHJl
ZjIsIHJlZjAsIHJlZjEpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMw
LCBtYXNrLCBzcmMxLCBzcmMxLCBtYXNrLCB2ZWMwLCB2ZWMxKTsKLSAgICBEVVAyX0FSRzMoX19s
c3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzaywgc3JjMywgc3JjMywgbWFzaywgdmVjMiwgdmVj
Myk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZp
bHQwLCB2ZWMyLCBmaWx0MCwgdmVjMywKLSAgICAgICAgICAgICAgZmlsdDAsIHZlYzAsIHZlYzEs
IHZlYzIsIHZlYzMpOwotICAgIERVUDRfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCB2ZWMwLCB2
ZWMwLCBGSUxURVJfQklUUywgdmVjMSwgdmVjMSwKLSAgICAgICAgICAgICAgRklMVEVSX0JJVFMs
IHZlYzIsIHZlYzIsIEZJTFRFUl9CSVRTLCB2ZWMzLCB2ZWMzLCBGSUxURVJfQklUUywKLSAgICAg
ICAgICAgICAgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gICAgb3V0ID0gX19sc3hfdnBhY2tl
dl9kKHNyYzEsIHNyYzApOwotICAgIENBTENfTVNFX0FWR19CKG91dCwgcmVmMCwgdmFyLCBhdmcp
OwotICAgIG91dCA9IF9fbHN4X3ZwYWNrZXZfZChzcmMzLCBzcmMyKTsKLSAgICBDQUxDX01TRV9B
VkdfQihvdXQsIHJlZjEsIHZhciwgYXZnKTsKLSAgfQotICB2ZWMgPSBfX2xzeF92aGFkZHdfd19o
KGF2ZywgYXZnKTsKLSAgSEFERF9TV19TMzIodmVjLCAqZGlmZik7Ci0gIEhBRERfU1dfUzMyKHZh
ciwgcmVzKTsKLSAgcmV0dXJuIHJlczsKLX0KLQotc3RhdGljIHVpbnQzMl90IHN1Yl9waXhlbF9z
c2VfZGlmZl8xNndpZHRoX2hfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBz
cmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpkc3QsCi0gICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBj
b25zdCB1aW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0LCBpbnQzMl90ICpkaWZmKSB7Ci0g
IHVpbnQzMl90IGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsKLSAgaW50MzJfdCByZXM7Ci0gIF9f
bTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNzsKLSAg
X19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBmaWx0MDsKLSAgX19tMTI4aSB2ZWMwLCB2
ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OwotICBfX20xMjhpIG91dDAs
IG91dDEsIG91dDIsIG91dDMsIG91dDQsIG91dDUsIG91dDYsIG91dDc7Ci0gIF9fbTEyOGkgdmVj
LCB2YXIgPSBfX2xzeF92bGRpKDApOwotICBfX20xMjhpIGF2ZyA9IHZhcjsKLSAgX19tMTI4aSBt
YXNrID0geyAweDA0MDMwMzAyMDIwMTAxMDAsIDB4MDgwNzA3MDYwNjA1MDUwNCB9OwotICBpbnQz
Ml90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUz
ID0gZHN0X3N0cmlkZTIgKyBkc3Rfc3RyaWRlOwotICBpbnQzMl90IGRzdF9zdHJpZGU0ID0gZHN0
X3N0cmlkZTIgPDwgMTsKLQotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwot
Ci0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywg
MCwgc3JjLCA4LCBzcmMwLCBzcmMxKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVAy
X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgOCwgc3JjMiwgc3JjMyk7Ci0gICAgc3JjICs9
IHNyY19zdHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDgsIHNy
YzQsIHNyYzUpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIERVUDJfQVJHMihfX2xzeF92
bGQsIHNyYywgMCwgc3JjLCA4LCBzcmM2LCBzcmM3KTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsK
LQotICAgIGRzdDAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxk
eCwgZHN0LCBkc3Rfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUyLCBkc3QxLCBkc3QyKTsKLSAgICBk
c3QzID0gX19sc3hfdmxkeChkc3QsIGRzdF9zdHJpZGUzKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlk
ZTQ7Ci0KLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzaywgc3Jj
MSwgc3JjMSwgbWFzaywgdmVjMCwgdmVjMSk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2Is
IHNyYzIsIHNyYzIsIG1hc2ssIHNyYzMsIHNyYzMsIG1hc2ssIHZlYzIsIHZlYzMpOwotICAgIERV
UDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM0LCBzcmM0LCBtYXNrLCBzcmM1LCBzcmM1LCBtYXNr
LCB2ZWM0LCB2ZWM1KTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNiwgc3JjNiwg
bWFzaywgc3JjNywgc3JjNywgbWFzaywgdmVjNiwgdmVjNyk7Ci0KLSAgICBEVVA0X0FSRzIoX19s
c3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwgZmlsdDAsIHZlYzIsIGZpbHQwLCB2ZWMz
LAotICAgICAgICAgICAgICBmaWx0MCwgb3V0MCwgb3V0MSwgb3V0Miwgb3V0Myk7Ci0gICAgRFVQ
NF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjNCwgZmlsdDAsIHZlYzUsIGZpbHQwLCB2ZWM2LCBm
aWx0MCwgdmVjNywKLSAgICAgICAgICAgICAgZmlsdDAsIG91dDQsIG91dDUsIG91dDYsIG91dDcp
OwotICAgIERVUDRfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCBvdXQxLCBvdXQwLCBGSUxURVJf
QklUUywgb3V0Mywgb3V0MiwKLSAgICAgICAgICAgICAgRklMVEVSX0JJVFMsIG91dDUsIG91dDQs
IEZJTFRFUl9CSVRTLCBvdXQ3LCBvdXQ2LCBGSUxURVJfQklUUywKLSAgICAgICAgICAgICAgc3Jj
MCwgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gICAgQ0FMQ19NU0VfQVZHX0Ioc3JjMCwgZHN0MCwgdmFy
LCBhdmcpOwotICAgIENBTENfTVNFX0FWR19CKHNyYzEsIGRzdDEsIHZhciwgYXZnKTsKLSAgICBD
QUxDX01TRV9BVkdfQihzcmMyLCBkc3QyLCB2YXIsIGF2Zyk7Ci0gICAgQ0FMQ19NU0VfQVZHX0Io
c3JjMywgZHN0MywgdmFyLCBhdmcpOwotICB9Ci0gIHZlYyA9IF9fbHN4X3ZoYWRkd193X2goYXZn
LCBhdmcpOwotICBIQUREX1NXX1MzMih2ZWMsICpkaWZmKTsKLSAgSEFERF9TV19TMzIodmFyLCBy
ZXMpOwotICByZXR1cm4gcmVzOwotfQotCi1zdGF0aWMgdWludDMyX3Qgc3ViX3BpeGVsX3NzZV9k
aWZmXzMyd2lkdGhfaF9sc3goCi0gICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmRzdCwKLSAgICBpbnQzMl90IGRzdF9zdHJpZGUsIGNvbnN0
IHVpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQsIGludDMyX3QgKmRpZmYpIHsKLSAgdWlu
dDMyX3Qgc3NlID0gMDsKLSAgaW50MzJfdCBkaWZmMFsyXTsKLQotICBzc2UgKz0gc3ViX3BpeGVs
X3NzZV9kaWZmXzE2d2lkdGhfaF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIsIGhlaWdo
dCwgJmRpZmYwWzBdKTsKLSAgc3JjICs9IDE2OwotICBkc3QgKz0gMTY7Ci0KLSAgc3NlICs9IHN1
Yl9waXhlbF9zc2VfZGlmZl8xNndpZHRoX2hfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVy
LCBoZWlnaHQsICZkaWZmMFsxXSk7Ci0KLSAgKmRpZmYgPSBkaWZmMFswXSArIGRpZmYwWzFdOwot
Ci0gIHJldHVybiBzc2U7Ci19Ci0KLXN0YXRpYyB1aW50MzJfdCBzdWJfcGl4ZWxfc3NlX2RpZmZf
OHdpZHRoX3ZfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpkc3QsCi0gICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBjb25zdCB1aW50
OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0LCBpbnQzMl90ICpkaWZmKSB7Ci0gIHVpbnQzMl90
IGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsKLSAgaW50MzJfdCByZXM7Ci0gIF9fbTEyOGkgcmVm
MCwgcmVmMSwgcmVmMiwgcmVmMywgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNDsKLSAgX19t
MTI4aSB2ZWMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMs
IGZpbHQwOwotICBfX20xMjhpIGF2ZyA9IF9fbHN4X3ZsZGkoMCk7Ci0gIF9fbTEyOGkgdmFyID0g
YXZnOwotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90
IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19z
dHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMiA9IGRzdF9z
dHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMyA9IGRzdF9zdHJpZGUyICsgZHN0X3N0
cmlkZTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlNCA9IGRzdF9zdHJpZGUyIDw8IDE7Ci0KLSAgZmls
dDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAwKTsKLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMs
IDApOwotICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAg
ICBzcmMxID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNy
Yywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMiwgc3JjMyk7Ci0gICAgc3JjNCA9
IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU0Owot
ICAgIHJlZjAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwg
ZHN0LCBkc3Rfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUyLCByZWYxLCByZWYyKTsKLSAgICByZWYz
ID0gX19sc3hfdmxkeChkc3QsIGRzdF9zdHJpZGUzKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTQ7
Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9kLCByZWYxLCByZWYwLCByZWYzLCByZWYy
LCByZWYwLCByZWYxKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMSwgc3JjMCwg
c3JjMiwgc3JjMSwgc3JjMywgc3JjMiwgc3JjNCwgc3JjMywKLSAgICAgICAgICAgICAgdmVjMCwg
dmVjMSwgdmVjMiwgdmVjMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwg
ZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBmaWx0MCwgdmVjMywKLSAgICAgICAgICAgICAgZmls
dDAsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJu
aV9idV9oLCB0bXAxLCB0bXAwLCBGSUxURVJfQklUUywgdG1wMywgdG1wMiwKLSAgICAgICAgICAg
ICAgRklMVEVSX0JJVFMsIHNyYzAsIHNyYzEpOwotICAgIENBTENfTVNFX0FWR19CKHNyYzAsIHJl
ZjAsIHZhciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMxLCByZWYxLCB2YXIsIGF2Zyk7
Ci0KLSAgICBzcmMwID0gc3JjNDsKLSAgfQotICB2ZWMgPSBfX2xzeF92aGFkZHdfd19oKGF2Zywg
YXZnKTsKLSAgSEFERF9TV19TMzIodmVjLCAqZGlmZik7Ci0gIEhBRERfU1dfUzMyKHZhciwgcmVz
KTsKLSAgcmV0dXJuIHJlczsKLX0KLQotc3RhdGljIHVpbnQzMl90IHN1Yl9waXhlbF9zc2VfZGlm
Zl8xNndpZHRoX3ZfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3Ry
aWRlLCBjb25zdCB1aW50OF90ICpkc3QsCi0gICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0LCBpbnQzMl90ICpkaWZmKSB7Ci0gIHVpbnQz
Ml90IGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsKLSAgaW50MzJfdCByZXM7Ci0gIF9fbTEyOGkg
cmVmMCwgcmVmMSwgcmVmMiwgcmVmMywgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNDsKLSAg
X19tMTI4aSBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzLCB0bXAwLCB0bXAxLCBmaWx0MCwgdmVjOwot
ICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7
Ci0gIF9fbTEyOGkgdmFyID0gX19sc3hfdmxkaSgwKTsKLSAgX19tMTI4aSBhdmcgPSB2YXI7Ci0g
IGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0
cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQg
PSBzcmNfc3RyaWRlMiA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8
PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rfc3RyaWRlOwot
ICBpbnQzMl90IGRzdF9zdHJpZGU0ID0gZHN0X3N0cmlkZTIgPDwgMTsKLQotICBmaWx0MCA9IF9f
bHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotCi0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsK
LSAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgc3Jj
MSA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNy
Y19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzIsIHNyYzMpOwotICAgIHNyYzQgPSBfX2xz
eF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLSAgICBy
ZWYwID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIGRzdCwg
ZHN0X3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlMiwgcmVmMSwgcmVmMik7Ci0gICAgcmVmMyA9IF9f
bHN4X3ZsZHgoZHN0LCBkc3Rfc3RyaWRlMyk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU0OwotCi0g
ICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHZlYzAs
IHZlYzIpOwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmMxLCBzcmMwLCBzcmMyLCBz
cmMxLCB2ZWMxLCB2ZWMzKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBm
aWx0MCwgdmVjMSwgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIG91dDAgPSBfX2xzeF92c3NyYXJu
aV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92
aWx2bF9iLCBzcmMzLCBzcmMyLCBzcmM0LCBzcmMzLCB2ZWM0LCB2ZWM2KTsKLSAgICBEVVAyX0FS
RzIoX19sc3hfdmlsdmhfYiwgc3JjMywgc3JjMiwgc3JjNCwgc3JjMywgdmVjNSwgdmVjNyk7Ci0g
ICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMiwgZmlsdDAsIHZlYzMsIGZpbHQwLCB0
bXAwLCB0bXAxKTsKLSAgICBvdXQxID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBG
SUxURVJfQklUUyk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM0LCBmaWx0
MCwgdmVjNSwgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIG91dDIgPSBfX2xzeF92c3NyYXJuaV9i
dV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9o
X2J1LCB2ZWM2LCBmaWx0MCwgdmVjNywgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIG91dDMgPSBf
X2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLQotICAgIHNyYzAg
PSBzcmM0OwotCi0gICAgQ0FMQ19NU0VfQVZHX0Iob3V0MCwgcmVmMCwgdmFyLCBhdmcpOwotICAg
IENBTENfTVNFX0FWR19CKG91dDEsIHJlZjEsIHZhciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdf
QihvdXQyLCByZWYyLCB2YXIsIGF2Zyk7Ci0gICAgQ0FMQ19NU0VfQVZHX0Iob3V0MywgcmVmMywg
dmFyLCBhdmcpOwotICB9Ci0gIHZlYyA9IF9fbHN4X3ZoYWRkd193X2goYXZnLCBhdmcpOwotICBI
QUREX1NXX1MzMih2ZWMsICpkaWZmKTsKLSAgSEFERF9TV19TMzIodmFyLCByZXMpOwotICByZXR1
cm4gcmVzOwotfQotCi1zdGF0aWMgdWludDMyX3Qgc3ViX3BpeGVsX3NzZV9kaWZmXzMyd2lkdGhf
dl9sc3goCi0gICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIGNvbnN0
IHVpbnQ4X3QgKmRzdCwKLSAgICBpbnQzMl90IGRzdF9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmZp
bHRlciwgaW50MzJfdCBoZWlnaHQsIGludDMyX3QgKmRpZmYpIHsKLSAgdWludDMyX3Qgc3NlID0g
MDsKLSAgaW50MzJfdCBkaWZmMFsyXTsKLQotICBzc2UgKz0gc3ViX3BpeGVsX3NzZV9kaWZmXzE2
d2lkdGhfdl9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIsIGhlaWdodCwgJmRpZmYwWzBd
KTsKLSAgc3JjICs9IDE2OwotICBkc3QgKz0gMTY7Ci0KLSAgc3NlICs9IHN1Yl9waXhlbF9zc2Vf
ZGlmZl8xNndpZHRoX3ZfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLCBoZWlnaHQsICZk
aWZmMFsxXSk7Ci0KLSAgKmRpZmYgPSBkaWZmMFswXSArIGRpZmYwWzFdOwotCi0gIHJldHVybiBz
c2U7Ci19Ci0KLXN0YXRpYyB1aW50MzJfdCBzdWJfcGl4ZWxfc3NlX2RpZmZfOHdpZHRoX2h2X2xz
eCgKLSAgICBjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgY29uc3QgdWlu
dDhfdCAqZHN0LAotICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgdWludDhfdCAqZmlsdGVy
X2hvcml6LCBjb25zdCB1aW50OF90ICpmaWx0ZXJfdmVydCwKLSAgICBpbnQzMl90IGhlaWdodCwg
aW50MzJfdCAqZGlmZikgewotICB1aW50MzJfdCBsb29wX2NudCA9IChoZWlnaHQgPj4gMik7Ci0g
IGludDMyX3QgcmVzOwotICBfX20xMjhpIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMsIHNyYzAsIHNy
YzEsIHNyYzIsIHNyYzMsIHNyYzQsIG91dDAsIG91dDE7Ci0gIF9fbTEyOGkgaHpfb3V0MCwgaHpf
b3V0MSwgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMywgdmVjLCB2ZWMwLCBmaWx0X2h6LCBmaWx0X3Z0
OwotICBfX20xMjhpIG1hc2sgPSB7IDB4MDQwMzAzMDIwMjAxMDEwMCwgMHgwODA3MDcwNjA2MDUw
NTA0IH07Ci0gIF9fbTEyOGkgYXZnID0gX19sc3hfdmxkaSgwKTsKLSAgX19tMTI4aSB2YXIgPSBh
dmc7Ci0KLSAgZmlsdF9oeiA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXJfaG9yaXosIDApOwotICBm
aWx0X3Z0ID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlcl92ZXJ0LCAwKTsKLQotICBzcmMwID0gX19s
c3hfdmxkKHNyYywgMCk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotICBIT1JJWl8yVEFQX0ZJTFRf
VUgoc3JjMCwgc3JjMCwgbWFzaywgZmlsdF9oeiwgRklMVEVSX0JJVFMsIGh6X291dDApOwotCi0g
IGZvciAoOyBsb29wX2NudC0tOykgewotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywgMCwg
ZHN0LCAwLCBzcmMxLCByZWYwKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIGRzdCwgMCwgc3Jj
MiwgcmVmMSk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBkc3QsIDAsIHNyYzMsIHJlZjIpOwot
ICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIERVUDJf
QVJHMihfX2xzeF92bGQsIHNyYywgMCwgZHN0LCAwLCBzcmM0LCByZWYzKTsKLSAgICBzcmMgKz0g
c3JjX3N0cmlkZTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIERVUDJfQVJHMihfX2xz
eF92cGlja2V2X2QsIHJlZjEsIHJlZjAsIHJlZjMsIHJlZjIsIHJlZjAsIHJlZjEpOwotICAgIEhP
UklaXzJUQVBfRklMVF9VSChzcmMxLCBzcmMxLCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywg
aHpfb3V0MSk7Ci0gICAgdmVjMCA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQxLCBoel9vdXQwKTsK
LSAgICB0bXAwID0gX19sc3hfdmRwMl9oX2J1KHZlYzAsIGZpbHRfdnQpOwotICAgIEhPUklaXzJU
QVBfRklMVF9VSChzcmMyLCBzcmMyLCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywgaHpfb3V0
MCk7Ci0gICAgdmVjMCA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQwLCBoel9vdXQxKTsKLSAgICB0
bXAxID0gX19sc3hfdmRwMl9oX2J1KHZlYzAsIGZpbHRfdnQpOwotCi0gICAgSE9SSVpfMlRBUF9G
SUxUX1VIKHNyYzMsIHNyYzMsIG1hc2ssIGZpbHRfaHosIEZJTFRFUl9CSVRTLCBoel9vdXQxKTsK
LSAgICB2ZWMwID0gX19sc3hfdnBhY2tldl9iKGh6X291dDEsIGh6X291dDApOwotICAgIHRtcDIg
PSBfX2xzeF92ZHAyX2hfYnUodmVjMCwgZmlsdF92dCk7Ci0gICAgSE9SSVpfMlRBUF9GSUxUX1VI
KHNyYzQsIHNyYzQsIG1hc2ssIGZpbHRfaHosIEZJTFRFUl9CSVRTLCBoel9vdXQwKTsKLSAgICB2
ZWMwID0gX19sc3hfdnBhY2tldl9iKGh6X291dDAsIGh6X291dDEpOwotICAgIHRtcDMgPSBfX2xz
eF92ZHAyX2hfYnUodmVjMCwgZmlsdF92dCk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5p
X2J1X2gsIHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTLCB0bXAzLCB0bXAyLAotICAgICAgICAgICAg
ICBGSUxURVJfQklUUywgb3V0MCwgb3V0MSk7Ci0gICAgQ0FMQ19NU0VfQVZHX0Iob3V0MCwgcmVm
MCwgdmFyLCBhdmcpOwotICAgIENBTENfTVNFX0FWR19CKG91dDEsIHJlZjEsIHZhciwgYXZnKTsK
LSAgfQotICB2ZWMgPSBfX2xzeF92aGFkZHdfd19oKGF2ZywgYXZnKTsKLSAgSEFERF9TV19TMzIo
dmVjLCAqZGlmZik7Ci0gIEhBRERfU1dfUzMyKHZhciwgcmVzKTsKLSAgcmV0dXJuIHJlczsKLX0K
LQotc3RhdGljIHVpbnQzMl90IHN1Yl9waXhlbF9zc2VfZGlmZl8xNndpZHRoX2h2X2xzeCgKLSAg
ICBjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAq
ZHN0LAotICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgdWludDhfdCAqZmlsdGVyX2hvcml6
LCBjb25zdCB1aW50OF90ICpmaWx0ZXJfdmVydCwKLSAgICBpbnQzMl90IGhlaWdodCwgaW50MzJf
dCAqZGlmZikgewotICB1aW50MzJfdCBsb29wX2NudCA9IChoZWlnaHQgPj4gMik7Ci0gIGludDMy
X3QgcmVzOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNy
YzYsIHNyYzc7Ci0gIF9fbTEyOGkgcmVmMCwgcmVmMSwgcmVmMiwgcmVmMywgZmlsdF9oeiwgZmls
dF92dCwgdmVjMCwgdmVjMTsKLSAgX19tMTI4aSBoel9vdXQwLCBoel9vdXQxLCBoel9vdXQyLCBo
el9vdXQzLCB0bXAwLCB0bXAxLCB2ZWM7Ci0gIF9fbTEyOGkgdmFyID0gX19sc3hfdmxkaSgwKTsK
LSAgX19tMTI4aSBhdmcgPSB2YXI7Ci0gIF9fbTEyOGkgbWFzayA9IHsgMHgwNDAzMDMwMjAyMDEw
MTAwLCAweDA4MDcwNzA2MDYwNTA1MDQgfTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMiA9IGRzdF9z
dHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMyA9IGRzdF9zdHJpZGUyICsgZHN0X3N0
cmlkZTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlNCA9IGRzdF9zdHJpZGUyIDw8IDE7Ci0KLSAgZmls
dF9oeiA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXJfaG9yaXosIDApOwotICBmaWx0X3Z0ID0gX19s
c3hfdmxkcmVwbF9oKGZpbHRlcl92ZXJ0LCAwKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmxkLCBz
cmMsIDAsIHNyYywgOCwgc3JjMCwgc3JjMSk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gIEhP
UklaXzJUQVBfRklMVF9VSChzcmMwLCBzcmMwLCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywg
aHpfb3V0MCk7Ci0gIEhPUklaXzJUQVBfRklMVF9VSChzcmMxLCBzcmMxLCBtYXNrLCBmaWx0X2h6
LCBGSUxURVJfQklUUywgaHpfb3V0Mik7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAg
RFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDgsIHNyYzAsIHNyYzEpOwotICAgIHNy
YyArPSBzcmNfc3RyaWRlOwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywgMCwgc3JjLCA4
LCBzcmMyLCBzcmMzKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19s
c3hfdmxkLCBzcmMsIDAsIHNyYywgOCwgc3JjNCwgc3JjNSk7Ci0gICAgc3JjICs9IHNyY19zdHJp
ZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDgsIHNyYzYsIHNyYzcp
OwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gICAgcmVmMCA9IF9fbHN4X3ZsZChkc3QsIDAp
OwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3QsIGRzdF9zdHJpZGUsIGRzdCwgZHN0X3N0
cmlkZTIsIHJlZjEsIHJlZjIpOwotICAgIHJlZjMgPSBfX2xzeF92bGR4KGRzdCwgZHN0X3N0cmlk
ZTMpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlNDsKLQotICAgIEhPUklaXzJUQVBfRklMVF9VSChz
cmMwLCBzcmMwLCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywgaHpfb3V0MSk7Ci0gICAgSE9S
SVpfMlRBUF9GSUxUX1VIKHNyYzEsIHNyYzEsIG1hc2ssIGZpbHRfaHosIEZJTFRFUl9CSVRTLCBo
el9vdXQzKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnBhY2tldl9iLCBoel9vdXQxLCBoel9vdXQw
LCBoel9vdXQzLCBoel9vdXQyLCB2ZWMwLCB2ZWMxKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRw
Ml9oX2J1LCB2ZWMwLCBmaWx0X3Z0LCB2ZWMxLCBmaWx0X3Z0LCB0bXAwLCB0bXAxKTsKLSAgICBz
cmMwID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0KLSAg
ICBIT1JJWl8yVEFQX0ZJTFRfVUgoc3JjMiwgc3JjMiwgbWFzaywgZmlsdF9oeiwgRklMVEVSX0JJ
VFMsIGh6X291dDApOwotICAgIEhPUklaXzJUQVBfRklMVF9VSChzcmMzLCBzcmMzLCBtYXNrLCBm
aWx0X2h6LCBGSUxURVJfQklUUywgaHpfb3V0Mik7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZwYWNr
ZXZfYiwgaHpfb3V0MCwgaHpfb3V0MSwgaHpfb3V0MiwgaHpfb3V0MywgdmVjMCwgdmVjMSk7Ci0g
ICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdF92dCwgdmVjMSwgZmlsdF92
dCwgdG1wMCwgdG1wMSk7Ci0gICAgc3JjMSA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1w
MCwgRklMVEVSX0JJVFMpOwotCi0gICAgSE9SSVpfMlRBUF9GSUxUX1VIKHNyYzQsIHNyYzQsIG1h
c2ssIGZpbHRfaHosIEZJTFRFUl9CSVRTLCBoel9vdXQxKTsKLSAgICBIT1JJWl8yVEFQX0ZJTFRf
VUgoc3JjNSwgc3JjNSwgbWFzaywgZmlsdF9oeiwgRklMVEVSX0JJVFMsIGh6X291dDMpOwotICAg
IERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291dDEsIGh6X291dDAsIGh6X291dDMsIGh6
X291dDIsIHZlYzAsIHZlYzEpOwotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAs
IGZpbHRfdnQsIHZlYzEsIGZpbHRfdnQsIHRtcDAsIHRtcDEpOwotICAgIHNyYzIgPSBfX2xzeF92
c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLQotICAgIEhPUklaXzJUQVBf
RklMVF9VSChzcmM2LCBzcmM2LCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywgaHpfb3V0MCk7
Ci0gICAgSE9SSVpfMlRBUF9GSUxUX1VIKHNyYzcsIHNyYzcsIG1hc2ssIGZpbHRfaHosIEZJTFRF
Ul9CSVRTLCBoel9vdXQyKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnBhY2tldl9iLCBoel9vdXQw
LCBoel9vdXQxLCBoel9vdXQyLCBoel9vdXQzLCB2ZWMwLCB2ZWMxKTsKLSAgICBEVVAyX0FSRzIo
X19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0X3Z0LCB2ZWMxLCBmaWx0X3Z0LCB0bXAwLCB0bXAx
KTsKLSAgICBzcmMzID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklU
Uyk7Ci0KLSAgICBDQUxDX01TRV9BVkdfQihzcmMwLCByZWYwLCB2YXIsIGF2Zyk7Ci0gICAgQ0FM
Q19NU0VfQVZHX0Ioc3JjMSwgcmVmMSwgdmFyLCBhdmcpOwotICAgIENBTENfTVNFX0FWR19CKHNy
YzIsIHJlZjIsIHZhciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMzLCByZWYzLCB2YXIs
IGF2Zyk7Ci0gIH0KLSAgdmVjID0gX19sc3hfdmhhZGR3X3dfaChhdmcsIGF2Zyk7Ci0gIEhBRERf
U1dfUzMyKHZlYywgKmRpZmYpOwotICBIQUREX1NXX1MzMih2YXIsIHJlcyk7Ci0KLSAgcmV0dXJu
IHJlczsKLX0KLQotc3RhdGljIHVpbnQzMl90IHN1Yl9waXhlbF9zc2VfZGlmZl8zMndpZHRoX2h2
X2xzeCgKLSAgICBjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgY29uc3Qg
dWludDhfdCAqZHN0LAotICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgdWludDhfdCAqZmls
dGVyX2hvcml6LCBjb25zdCB1aW50OF90ICpmaWx0ZXJfdmVydCwKLSAgICBpbnQzMl90IGhlaWdo
dCwgaW50MzJfdCAqZGlmZikgewotICB1aW50MzJfdCBzc2UgPSAwOwotICBpbnQzMl90IGRpZmYw
WzJdOwotCi0gIHNzZSArPSBzdWJfcGl4ZWxfc3NlX2RpZmZfMTZ3aWR0aF9odl9sc3goc3JjLCBz
cmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmlsdGVyX2hvcml6LCBmaWx0ZXJfdmVydCwgaGVpZ2h0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkaWZmMFswXSk7Ci0gIHNyYyAr
PSAxNjsKLSAgZHN0ICs9IDE2OwotCi0gIHNzZSArPSBzdWJfcGl4ZWxfc3NlX2RpZmZfMTZ3aWR0
aF9odl9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyX2hvcml6LCBmaWx0ZXJfdmVydCwg
aGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkaWZm
MFsxXSk7Ci0KLSAgKmRpZmYgPSBkaWZmMFswXSArIGRpZmYwWzFdOwotCi0gIHJldHVybiBzc2U7
Ci19Ci0KLXN0YXRpYyB1aW50MzJfdCBzdWJwZWxfYXZnX3NzZWRpZmZfMTZ3X2hfbHN4KAotICAg
IGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpk
c3QsCi0gICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzZWNfcHJlZCwgY29u
c3QgdWludDhfdCAqZmlsdGVyLAotICAgIGludDMyX3QgaGVpZ2h0LCBpbnQzMl90ICpkaWZmLCBp
bnQzMl90IHdpZHRoKSB7Ci0gIHVpbnQzMl90IGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsKLSAg
aW50MzJfdCByZXM7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3Jj
NSwgc3JjNiwgc3JjNzsKLSAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCB0bXAwLCB0
bXAxLCB0bXAyLCB0bXAzOwotICBfX20xMjhpIHByZWQwLCBwcmVkMSwgcHJlZDIsIHByZWQzLCBm
aWx0MCwgdmVjOwotICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUs
IHZlYzYsIHZlYzc7Ci0gIF9fbTEyOGkgb3V0MCwgb3V0MSwgb3V0Miwgb3V0Mywgb3V0NCwgb3V0
NSwgb3V0Niwgb3V0NzsKLSAgX19tMTI4aSBtYXNrID0geyAweDQwMzAzMDIwMjAxMDEwMCwgMHg4
MDcwNzA2MDYwNTA1MDQgfTsKLSAgX19tMTI4aSBhdmcgPSBfX2xzeF92bGRpKDApOwotICBfX20x
MjhpIHZhciA9IGF2ZzsKLQotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwot
Ci0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywg
MCwgc3JjLCA4LCBzcmMwLCBzcmMxKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVAy
X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgOCwgc3JjMiwgc3JjMyk7Ci0gICAgc3JjICs9
IHNyY19zdHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDgsIHNy
YzQsIHNyYzUpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIERVUDJfQVJHMihfX2xzeF92
bGQsIHNyYywgMCwgc3JjLCA4LCBzcmM2LCBzcmM3KTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsK
LQotICAgIGRzdDAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsK
LSAgICBkc3QxID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0g
ICAgZHN0MiA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAg
IGRzdDMgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAg
IHByZWQwID0gX19sc3hfdmxkKHNlY19wcmVkLCAwKTsKLSAgICBzZWNfcHJlZCArPSB3aWR0aDsK
LSAgICBwcmVkMSA9IF9fbHN4X3ZsZChzZWNfcHJlZCwgMCk7Ci0gICAgc2VjX3ByZWQgKz0gd2lk
dGg7Ci0gICAgcHJlZDIgPSBfX2xzeF92bGQoc2VjX3ByZWQsIDApOwotICAgIHNlY19wcmVkICs9
IHdpZHRoOwotICAgIHByZWQzID0gX19sc3hfdmxkKHNlY19wcmVkLCAwKTsKLSAgICBzZWNfcHJl
ZCArPSB3aWR0aDsKLQotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBt
YXNrLCBzcmMxLCBzcmMxLCBtYXNrLCB2ZWMwLCB2ZWMxKTsKLSAgICBEVVAyX0FSRzMoX19sc3hf
dnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzaywgc3JjMywgc3JjMywgbWFzaywgdmVjMiwgdmVjMyk7
Ci0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzQsIHNyYzQsIG1hc2ssIHNyYzUsIHNy
YzUsIG1hc2ssIHZlYzQsIHZlYzUpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM2
LCBzcmM2LCBtYXNrLCBzcmM3LCBzcmM3LCBtYXNrLCB2ZWM2LCB2ZWM3KTsKLQotICAgIERVUDRf
QVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVjMiwgZmls
dDAsIHZlYzMsCi0gICAgICAgICAgICAgIGZpbHQwLCBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzKTsK
LSAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM0LCBmaWx0MCwgdmVjNSwgZmlsdDAs
IHZlYzYsIGZpbHQwLCB2ZWM3LAotICAgICAgICAgICAgICBmaWx0MCwgb3V0NCwgb3V0NSwgb3V0
Niwgb3V0Nyk7Ci0gICAgRFVQNF9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIG91dDEsIG91dDAs
IEZJTFRFUl9CSVRTLCBvdXQzLCBvdXQyLAotICAgICAgICAgICAgICBGSUxURVJfQklUUywgb3V0
NSwgb3V0NCwgRklMVEVSX0JJVFMsIG91dDcsIG91dDYsIEZJTFRFUl9CSVRTLAotICAgICAgICAg
ICAgICB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmF2Z3Jf
YnUsIHRtcDAsIHByZWQwLCB0bXAxLCBwcmVkMSwgdG1wMiwgcHJlZDIsIHRtcDMsCi0gICAgICAg
ICAgICAgIHByZWQzLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLQotICAgIENBTENfTVNFX0FW
R19CKHRtcDAsIGRzdDAsIHZhciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdfQih0bXAxLCBkc3Qx
LCB2YXIsIGF2Zyk7Ci0gICAgQ0FMQ19NU0VfQVZHX0IodG1wMiwgZHN0MiwgdmFyLCBhdmcpOwot
ICAgIENBTENfTVNFX0FWR19CKHRtcDMsIGRzdDMsIHZhciwgYXZnKTsKLSAgfQotICB2ZWMgPSBf
X2xzeF92aGFkZHdfd19oKGF2ZywgYXZnKTsKLSAgSEFERF9TV19TMzIodmVjLCAqZGlmZik7Ci0g
IEhBRERfU1dfUzMyKHZhciwgcmVzKTsKLQotICByZXR1cm4gcmVzOwotfQotCi1zdGF0aWMgdWlu
dDMyX3Qgc3VicGVsX2F2Z19zc2VkaWZmXzE2d192X2xzeCgKLSAgICBjb25zdCB1aW50OF90ICpz
cmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqZHN0LAotICAgIGludDMyX3Qg
ZHN0X3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2VjX3ByZWQsIGNvbnN0IHVpbnQ4X3QgKmZpbHRl
ciwKLSAgICBpbnQzMl90IGhlaWdodCwgaW50MzJfdCAqZGlmZiwgaW50MzJfdCB3aWR0aCkgewot
ICB1aW50MzJfdCBsb29wX2NudCA9IChoZWlnaHQgPj4gMik7Ci0gIGludDMyX3QgcmVzOwotICBf
X20xMjhpIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMsIHByZWQwLCBwcmVkMSwgcHJlZDIsIHByZWQz
OwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIG91dDAsIG91dDEsIG91
dDIsIG91dDM7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwg
dmVjNiwgdmVjNzsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB2ZWMsIGZpbHQwOwotICBfX20xMjhp
IGF2ZyA9IF9fbHN4X3ZsZGkoMCk7Ci0gIF9fbTEyOGkgdmFyID0gYXZnOwotCi0gIGZpbHQwID0g
X19sc3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDAp
OwotICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBz
cmMxID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAgc3Jj
MiA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIHNyYzMg
PSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBzcmM0ID0g
X19sc3hfdmxkKHNyYywgMCk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAgICBwcmVkMCA9
IF9fbHN4X3ZsZChzZWNfcHJlZCwgMCk7Ci0gICAgc2VjX3ByZWQgKz0gd2lkdGg7Ci0gICAgcHJl
ZDEgPSBfX2xzeF92bGQoc2VjX3ByZWQsIDApOwotICAgIHNlY19wcmVkICs9IHdpZHRoOwotICAg
IHByZWQyID0gX19sc3hfdmxkKHNlY19wcmVkLCAwKTsKLSAgICBzZWNfcHJlZCArPSB3aWR0aDsK
LSAgICBwcmVkMyA9IF9fbHN4X3ZsZChzZWNfcHJlZCwgMCk7Ci0gICAgc2VjX3ByZWQgKz0gd2lk
dGg7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMSwgc3JjMCwgc3JjMiwgc3Jj
MSwgdmVjMCwgdmVjMik7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNyYzEsIHNyYzAs
IHNyYzIsIHNyYzEsIHZlYzEsIHZlYzMpOwotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUs
IHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgb3V0MCA9IF9fbHN4
X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotCi0gICAgRFVQMl9BUkcy
KF9fbHN4X3ZpbHZsX2IsIHNyYzMsIHNyYzIsIHNyYzQsIHNyYzMsIHZlYzQsIHZlYzYpOwotICAg
IERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmMzLCBzcmMyLCBzcmM0LCBzcmMzLCB2ZWM1LCB2
ZWM3KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMyLCBmaWx0MCwgdmVjMywg
ZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIG91dDEgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEs
IHRtcDAsIEZJTFRFUl9CSVRTKTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZl
YzQsIGZpbHQwLCB2ZWM1LCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgb3V0MiA9IF9fbHN4X3Zz
c3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotCi0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZkcDJfaF9idSwgdmVjNiwgZmlsdDAsIHZlYzcsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAg
ICBvdXQzID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0K
LSAgICBzcmMwID0gc3JjNDsKLSAgICByZWYwID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgZHN0
ICs9IGRzdF9zdHJpZGU7Ci0gICAgcmVmMSA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgIGRzdCAr
PSBkc3Rfc3RyaWRlOwotICAgIHJlZjIgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgICByZWYzID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdmF2Z3JfYnUsIG91dDAsIHByZWQwLCBv
dXQxLCBwcmVkMSwgb3V0MiwgcHJlZDIsIG91dDMsCi0gICAgICAgICAgICAgIHByZWQzLCBvdXQw
LCBvdXQxLCBvdXQyLCBvdXQzKTsKLQotICAgIENBTENfTVNFX0FWR19CKG91dDAsIHJlZjAsIHZh
ciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdfQihvdXQxLCByZWYxLCB2YXIsIGF2Zyk7Ci0gICAg
Q0FMQ19NU0VfQVZHX0Iob3V0MiwgcmVmMiwgdmFyLCBhdmcpOwotICAgIENBTENfTVNFX0FWR19C
KG91dDMsIHJlZjMsIHZhciwgYXZnKTsKLSAgfQotICB2ZWMgPSBfX2xzeF92aGFkZHdfd19oKGF2
ZywgYXZnKTsKLSAgSEFERF9TV19TMzIodmVjLCAqZGlmZik7Ci0gIEhBRERfU1dfUzMyKHZhciwg
cmVzKTsKLSAgcmV0dXJuIHJlczsKLX0KLQotc3RhdGljIHVpbnQzMl90IHN1YnBlbF9hdmdfc3Nl
ZGlmZl8xNndfaHZfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3Ry
aWRlLCBjb25zdCB1aW50OF90ICpkc3QsCi0gICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpzZWNfcHJlZCwgY29uc3QgdWludDhfdCAqZmlsdGVyX2hvcml6LAotICAgIGNvbnN0
IHVpbnQ4X3QgKmZpbHRlcl92ZXJ0LCBpbnQzMl90IGhlaWdodCwgaW50MzJfdCAqZGlmZiwgaW50
MzJfdCB3aWR0aCkgewotICB1aW50MzJfdCBsb29wX2NudCA9IChoZWlnaHQgPj4gMik7Ci0gIGlu
dDMyX3QgcmVzOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUs
IHNyYzYsIHNyYzc7Ci0gIF9fbTEyOGkgcmVmMCwgcmVmMSwgcmVmMiwgcmVmMywgcHJlZDAsIHBy
ZWQxLCBwcmVkMiwgcHJlZDM7Ci0gIF9fbTEyOGkgaHpfb3V0MCwgaHpfb3V0MSwgaHpfb3V0Miwg
aHpfb3V0MywgdG1wMCwgdG1wMTsKLSAgX19tMTI4aSBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzLCBm
aWx0X2h6LCBmaWx0X3Z0LCB2ZWMsIHZlYzAsIHZlYzE7Ci0gIF9fbTEyOGkgbWFzayA9IHsgMHg0
MDMwMzAyMDIwMTAxMDAsIDB4ODA3MDcwNjA2MDUwNTA0IH07Ci0gIF9fbTEyOGkgYXZnID0gX19s
c3hfdmxkaSgwKTsKLSAgX19tMTI4aSB2YXIgPSBhdmc7Ci0KLSAgZmlsdF9oeiA9IF9fbHN4X3Zs
ZHJlcGxfaChmaWx0ZXJfaG9yaXosIDApOwotICBmaWx0X3Z0ID0gX19sc3hfdmxkcmVwbF9oKGZp
bHRlcl92ZXJ0LCAwKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgOCwg
c3JjMCwgc3JjMSk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gIEhPUklaXzJUQVBfRklMVF9V
SChzcmMwLCBzcmMwLCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywgaHpfb3V0MCk7Ci0gIEhP
UklaXzJUQVBfRklMVF9VSChzcmMxLCBzcmMxLCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywg
aHpfb3V0Mik7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZsZCwgc3JjLCAwLCBzcmMsIDgsIHNyYzAsIHNyYzEpOwotICAgIHNyYyArPSBzcmNfc3RyaWRl
OwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywgMCwgc3JjLCA4LCBzcmMyLCBzcmMzKTsK
LSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAs
IHNyYywgOCwgc3JjNCwgc3JjNSk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDgsIHNyYzYsIHNyYzcpOwotICAgIHNyYyArPSBz
cmNfc3RyaWRlOwotCi0gICAgcHJlZDAgPSBfX2xzeF92bGQoc2VjX3ByZWQsIDApOwotICAgIHNl
Y19wcmVkICs9IHdpZHRoOwotICAgIHByZWQxID0gX19sc3hfdmxkKHNlY19wcmVkLCAwKTsKLSAg
ICBzZWNfcHJlZCArPSB3aWR0aDsKLSAgICBwcmVkMiA9IF9fbHN4X3ZsZChzZWNfcHJlZCwgMCk7
Ci0gICAgc2VjX3ByZWQgKz0gd2lkdGg7Ci0gICAgcHJlZDMgPSBfX2xzeF92bGQoc2VjX3ByZWQs
IDApOwotICAgIHNlY19wcmVkICs9IHdpZHRoOwotCi0gICAgSE9SSVpfMlRBUF9GSUxUX1VIKHNy
YzAsIHNyYzAsIG1hc2ssIGZpbHRfaHosIEZJTFRFUl9CSVRTLCBoel9vdXQxKTsKLSAgICBIT1JJ
Wl8yVEFQX0ZJTFRfVUgoc3JjMSwgc3JjMSwgbWFzaywgZmlsdF9oeiwgRklMVEVSX0JJVFMsIGh6
X291dDMpOwotICAgIERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291dDEsIGh6X291dDAs
IGh6X291dDMsIGh6X291dDIsIHZlYzAsIHZlYzEpOwotICAgIERVUDJfQVJHMihfX2xzeF92ZHAy
X2hfYnUsIHZlYzAsIGZpbHRfdnQsIHZlYzEsIGZpbHRfdnQsIHRtcDAsIHRtcDEpOwotICAgIG91
dDAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLQotICAg
IEhPUklaXzJUQVBfRklMVF9VSChzcmMyLCBzcmMyLCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklU
UywgaHpfb3V0MCk7Ci0gICAgSE9SSVpfMlRBUF9GSUxUX1VIKHNyYzMsIHNyYzMsIG1hc2ssIGZp
bHRfaHosIEZJTFRFUl9CSVRTLCBoel9vdXQyKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnBhY2tl
dl9iLCBoel9vdXQwLCBoel9vdXQxLCBoel9vdXQyLCBoel9vdXQzLCB2ZWMwLCB2ZWMxKTsKLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0X3Z0LCB2ZWMxLCBmaWx0X3Z0
LCB0bXAwLCB0bXAxKTsKLSAgICBvdXQxID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAw
LCBGSUxURVJfQklUUyk7Ci0KLSAgICBIT1JJWl8yVEFQX0ZJTFRfVUgoc3JjNCwgc3JjNCwgbWFz
aywgZmlsdF9oeiwgRklMVEVSX0JJVFMsIGh6X291dDEpOwotICAgIEhPUklaXzJUQVBfRklMVF9V
SChzcmM1LCBzcmM1LCBtYXNrLCBmaWx0X2h6LCBGSUxURVJfQklUUywgaHpfb3V0Myk7Ci0gICAg
RFVQMl9BUkcyKF9fbHN4X3ZwYWNrZXZfYiwgaHpfb3V0MSwgaHpfb3V0MCwgaHpfb3V0MywgaHpf
b3V0MiwgdmVjMCwgdmVjMSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwg
ZmlsdF92dCwgdmVjMSwgZmlsdF92dCwgdG1wMCwgdG1wMSk7Ci0gICAgb3V0MiA9IF9fbHN4X3Zz
c3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotCi0gICAgSE9SSVpfMlRBUF9G
SUxUX1VIKHNyYzYsIHNyYzYsIG1hc2ssIGZpbHRfaHosIEZJTFRFUl9CSVRTLCBoel9vdXQwKTsK
LSAgICBIT1JJWl8yVEFQX0ZJTFRfVUgoc3JjNywgc3JjNywgbWFzaywgZmlsdF9oeiwgRklMVEVS
X0JJVFMsIGh6X291dDIpOwotICAgIERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291dDAs
IGh6X291dDEsIGh6X291dDIsIGh6X291dDMsIHZlYzAsIHZlYzEpOwotICAgIERVUDJfQVJHMihf
X2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHRfdnQsIHZlYzEsIGZpbHRfdnQsIHRtcDAsIHRtcDEp
OwotICAgIG91dDMgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRT
KTsKLQotICAgIHJlZjAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlk
ZTsKLSAgICByZWYxID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gICAgcmVmMiA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwot
ICAgIHJlZjMgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQot
ICAgIERVUDRfQVJHMihfX2xzeF92YXZncl9idSwgb3V0MCwgcHJlZDAsIG91dDEsIHByZWQxLCBv
dXQyLCBwcmVkMiwgb3V0MywKLSAgICAgICAgICAgICAgcHJlZDMsIG91dDAsIG91dDEsIG91dDIs
IG91dDMpOwotCi0gICAgQ0FMQ19NU0VfQVZHX0Iob3V0MCwgcmVmMCwgdmFyLCBhdmcpOwotICAg
IENBTENfTVNFX0FWR19CKG91dDEsIHJlZjEsIHZhciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdf
QihvdXQyLCByZWYyLCB2YXIsIGF2Zyk7Ci0gICAgQ0FMQ19NU0VfQVZHX0Iob3V0MywgcmVmMywg
dmFyLCBhdmcpOwotICB9Ci0gIHZlYyA9IF9fbHN4X3ZoYWRkd193X2goYXZnLCBhdmcpOwotICBI
QUREX1NXX1MzMih2ZWMsICpkaWZmKTsKLSAgSEFERF9TV19TMzIodmFyLCByZXMpOwotICByZXR1
cm4gcmVzOwotfQotCi1zdGF0aWMgdWludDMyX3Qgc3ViX3BpeGVsX2F2Z19zc2VfZGlmZl82NHdp
ZHRoX2hfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICpkc3QsCi0gICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBjb25zdCB1aW50OF90
ICpzZWNfcHJlZCwgY29uc3QgdWludDhfdCAqZmlsdGVyLAotICAgIGludDMyX3QgaGVpZ2h0LCBp
bnQzMl90ICpkaWZmKSB7Ci0gIHVpbnQzMl90IGxvb3BfY250LCBzc2UgPSAwOwotICBpbnQzMl90
IGRpZmYwWzRdOwotCi0gIGZvciAobG9vcF9jbnQgPSAwOyBsb29wX2NudCA8IDQ7ICsrbG9vcF9j
bnQpIHsKLSAgICBzc2UgKz0KLSAgICAgICAgc3VicGVsX2F2Z19zc2VkaWZmXzE2d19oX2xzeChz
cmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgc2VjX3ByZWQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLCBoZWlnaHQsICZkaWZmMFtsb29wX2NudF0s
IDY0KTsKLSAgICBzcmMgKz0gMTY7Ci0gICAgZHN0ICs9IDE2OwotICAgIHNlY19wcmVkICs9IDE2
OwotICB9Ci0KLSAgKmRpZmYgPSBkaWZmMFswXSArIGRpZmYwWzFdICsgZGlmZjBbMl0gKyBkaWZm
MFszXTsKLQotICByZXR1cm4gc3NlOwotfQotCi1zdGF0aWMgdWludDMyX3Qgc3ViX3BpeGVsX2F2
Z19zc2VfZGlmZl82NHdpZHRoX3ZfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJf
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpkc3QsCi0gICAgaW50MzJfdCBkc3Rfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpzZWNfcHJlZCwgY29uc3QgdWludDhfdCAqZmlsdGVyLAotICAgIGlu
dDMyX3QgaGVpZ2h0LCBpbnQzMl90ICpkaWZmKSB7Ci0gIHVpbnQzMl90IGxvb3BfY250LCBzc2Ug
PSAwOwotICBpbnQzMl90IGRpZmYwWzRdOwotCi0gIGZvciAobG9vcF9jbnQgPSAwOyBsb29wX2Nu
dCA8IDQ7ICsrbG9vcF9jbnQpIHsKLSAgICBzc2UgKz0KLSAgICAgICAgc3VicGVsX2F2Z19zc2Vk
aWZmXzE2d192X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgc2VjX3ByZWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLCBoZWlnaHQsICZk
aWZmMFtsb29wX2NudF0sIDY0KTsKLSAgICBzcmMgKz0gMTY7Ci0gICAgZHN0ICs9IDE2OwotICAg
IHNlY19wcmVkICs9IDE2OwotICB9Ci0KLSAgKmRpZmYgPSBkaWZmMFswXSArIGRpZmYwWzFdICsg
ZGlmZjBbMl0gKyBkaWZmMFszXTsKLQotICByZXR1cm4gc3NlOwotfQotCi1zdGF0aWMgdWludDMy
X3Qgc3ViX3BpeGVsX2F2Z19zc2VfZGlmZl82NHdpZHRoX2h2X2xzeCgKLSAgICBjb25zdCB1aW50
OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqZHN0LAotICAgIGlu
dDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2VjX3ByZWQsIGNvbnN0IHVpbnQ4X3Qg
KmZpbHRlcl9ob3JpeiwKLSAgICBjb25zdCB1aW50OF90ICpmaWx0ZXJfdmVydCwgaW50MzJfdCBo
ZWlnaHQsIGludDMyX3QgKmRpZmYpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQsIHNzZSA9IDA7Ci0g
IGludDMyX3QgZGlmZjBbNF07Ci0KLSAgZm9yIChsb29wX2NudCA9IDA7IGxvb3BfY250IDwgNDsg
Kytsb29wX2NudCkgewotICAgIHNzZSArPSBzdWJwZWxfYXZnX3NzZWRpZmZfMTZ3X2h2X2xzeChz
cmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VjX3ByZWQsIGZpbHRlcl9ob3JpeiwgZmlsdGVyX3ZlcnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCwgJmRpZmYwW2xv
b3BfY250XSwgNjQpOwotICAgIHNyYyArPSAxNjsKLSAgICBkc3QgKz0gMTY7Ci0gICAgc2VjX3By
ZWQgKz0gMTY7Ci0gIH0KLQotICAqZGlmZiA9IGRpZmYwWzBdICsgZGlmZjBbMV0gKyBkaWZmMFsy
XSArIGRpZmYwWzNdOwotCi0gIHJldHVybiBzc2U7Ci19Ci0KLSNkZWZpbmUgVkFSSUFOQ0VfOFd4
OEgoc3NlLCBkaWZmKSBWQVJJQU5DRV9XeEgoc3NlLCBkaWZmLCA2KQotI2RlZmluZSBWQVJJQU5D
RV8xNld4MTZIKHNzZSwgZGlmZikgVkFSSUFOQ0VfV3hIKHNzZSwgZGlmZiwgOCkKLSNkZWZpbmUg
VkFSSUFOQ0VfMzJXeDMySChzc2UsIGRpZmYpIFZBUklBTkNFX0xBUkdFX1d4SChzc2UsIGRpZmYs
IDEwKQotI2RlZmluZSBWQVJJQU5DRV82NFd4NjRIKHNzZSwgZGlmZikgVkFSSUFOQ0VfTEFSR0Vf
V3hIKHNzZSwgZGlmZiwgMTIpCi0KLSNkZWZpbmUgVlBYX1NVQl9QSVhFTF9WQVJJQU5DRV9XRFhI
VF9MU1god2QsIGh0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdWludDMyX3Qg
dnB4X3N1Yl9waXhlbF92YXJpYW5jZSMjd2QjI3gjI2h0IyNfbHN4KCAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRl
LCBpbnQzMl90IHhfb2Zmc2V0LCAgICAgICAgICAgICAgIFwKLSAgICAgIGludDMyX3QgeV9vZmZz
ZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50MzJfdCByZWZfc3RyaWRlLCAgICAgICAgICAgICAg
IFwKLSAgICAgIHVpbnQzMl90ICpzc2UpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQzMl90IGRpZmY7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1
aW50MzJfdCB2YXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBjb25zdCB1aW50OF90ICpoX2ZpbHRlciA9IGJpbGluZWFy
X2ZpbHRlcnNfbHN4W3hfb2Zmc2V0XTsgICAgICAgICAgICAgICAgIFwKLSAgICBjb25zdCB1aW50
OF90ICp2X2ZpbHRlciA9IGJpbGluZWFyX2ZpbHRlcnNfbHN4W3lfb2Zmc2V0XTsgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoeV9vZmZzZXQpIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIGlmICh4X29mZnNldCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKnNzZSA9IHN1Yl9waXhlbF9zc2VfZGlm
Zl8jI3dkIyN3aWR0aF9odl9sc3goICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgIHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoX2ZpbHRlciwgdl9maWx0ZXIs
IGh0LCAmZGlmZik7IFwKLSAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKnNzZSA9IHN1
Yl9waXhlbF9zc2VfZGlmZl8jI3dkIyN3aWR0aF92X2xzeCggICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgIHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCB2X2Zp
bHRlciwgaHQsICZkaWZmKTsgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHZhciA9IFZBUklBTkNFXyMjd2QjI1d4IyNodCMj
SCgqc3NlLCBkaWZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9IGVsc2Ug
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIGlmICh4X29mZnNldCkgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKnNzZSA9IHN1Yl9w
aXhlbF9zc2VfZGlmZl8jI3dkIyN3aWR0aF9oX2xzeCggICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgIHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoX2ZpbHRl
ciwgaHQsICZkaWZmKTsgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgdmFyID0gVkFSSUFOQ0VfIyN3ZCMjV3gjI2h0IyNIKCpzc2UsIGRpZmYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdmFyID0g
dnB4X3ZhcmlhbmNlIyN3ZCMjeCMjaHQjI19sc3goc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9z
dHJpZGUsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Nl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1
cm4gdmFyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgfQotCi1WUFhfU1VCX1BJWEVMX1ZBUklBTkNFX1dEWEhUX0xTWCg4
LCA4KQotVlBYX1NVQl9QSVhFTF9WQVJJQU5DRV9XRFhIVF9MU1goMTYsIDE2KQotVlBYX1NVQl9Q
SVhFTF9WQVJJQU5DRV9XRFhIVF9MU1goMzIsIDMyKQotCi0jZGVmaW5lIFZQWF9TVUJfUElYRUxf
QVZHX1ZBUklBTkNFNjRYSEVJR0hUX0xTWChodCkgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIHVpbnQzMl90IHZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4IyNodCMjX2xzeCggICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBp
bnQzMl90IHNyY19zdHJpZGUsIGludDMyX3QgeF9vZmZzZXQsICAgICAgICAgICBcCi0gICAgICBp
bnQzMl90IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQzMl90IHJlZl9zdHJp
ZGUsICAgICAgICAgICBcCi0gICAgICB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNf
cHJlZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW50MzJfdCBkaWZm
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgY29uc3QgdWludDhfdCAqaF9maWx0ZXIgPSBiaWxpbmVhcl9maWx0ZXJzX2xz
eFt4X29mZnNldF07ICAgICAgICAgICAgICAgICBcCi0gICAgY29uc3QgdWludDhfdCAqdl9maWx0
ZXIgPSBiaWxpbmVhcl9maWx0ZXJzX2xzeFt5X29mZnNldF07ICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKHlfb2Zmc2V0KSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAo
eF9vZmZzZXQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICpzc2UgPSBzdWJfcGl4ZWxfYXZnX3NzZV9kaWZmXzY0d2lk
dGhfaHZfbHN4KCAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBzcmNfcHRy
LCBzcmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3RyaWRlLCBzZWNfcHJlZCwgaF9maWx0ZXIsICAg
ICBcCi0gICAgICAgICAgICB2X2ZpbHRlciwgaHQsICZkaWZmKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9IGVsc2UgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICpzc2UgPSBzdWJfcGl4ZWxfYXZnX3NzZV9kaWZmXzY0d2lkdGhfdl9sc3goICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZf
cHRyLCByZWZfc3RyaWRlLCBzZWNfcHJlZCwgdl9maWx0ZXIsIGh0LCBcCi0gICAgICAgICAgICAm
ZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSBlbHNlIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICBpZiAoeF9vZmZzZXQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICpzc2UgPSBzdWJfcGl4ZWxfYXZnX3Nz
ZV9kaWZmXzY0d2lkdGhfaF9sc3goICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICBzcmNfcHRyLCBzcmNfc3RyaWRlLCByZWZfcHRyLCByZWZfc3RyaWRlLCBzZWNfcHJlZCwg
aF9maWx0ZXIsIGh0LCBcCi0gICAgICAgICAgICAmZGlmZik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9IGVsc2UgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICpzc2UgPSBhdmdfc3NlX2RpZmZfNjR4IyNodCMjX2xzeChzcmNfcHRy
LCBzcmNfc3RyaWRlLCByZWZfcHRyLCAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZWZfc3RyaWRlLCBzZWNfcHJlZCwgJmRpZmYpOyAgICAgICBcCi0g
ICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgcmV0dXJuIFZBUklBTkNFXzY0V3gjI2h0IyNIKCpzc2UsIGRpZmYp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotVlBYX1NVQl9QSVhF
TF9BVkdfVkFSSUFOQ0U2NFhIRUlHSFRfTFNYKDY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL2xvb25nYXJjaC9zdWJ0cmFjdF9sc3guYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29u
Z2FyY2gvc3VidHJhY3RfbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0M2E1
YzVhOWIwYi4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gv
c3VidHJhY3RfbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSwzNzEgKzAsMCBAQAotLyoKLSAqICBD
b3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBp
bnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRo
ZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAq
ICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2Ug
dHJlZS4KLSAqLwotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhf
dXRpbC9sb29uZ3Nvbl9pbnRyaW5zaWNzLmgiCi0KLXN0YXRpYyB2b2lkIHN1Yl9ibGtfNHg0X2xz
eChjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcHJlZF9wdHIsIGludDMyX3QgcHJlZF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCAqZGlmZl9wdHIsIGlu
dDMyX3QgZGlmZl9zdHJpZGUpIHsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzOwot
ICBfX20xMjhpIHByZWQwLCBwcmVkMSwgcHJlZDIsIHByZWQzOwotICBfX20xMjhpIGRpZmYwLCBk
aWZmMTsKLSAgX19tMTI4aSByZWcwLCByZWcxOwotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3Jj
X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHByZWRfc3RyaWRlMiA9IHByZWRfc3RyaWRlIDw8IDE7
Ci0gIGludDMyX3QgZGlmZl9zdHJpZGUyID0gZGlmZl9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBz
cmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBwcmVkX3N0
cmlkZTMgPSBwcmVkX3N0cmlkZTIgKyBwcmVkX3N0cmlkZTsKLSAgaW50MzJfdCBkaWZmX3N0cmlk
ZTMgPSBkaWZmX3N0cmlkZTIgKyBkaWZmX3N0cmlkZTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxk
cmVwbF93LCBzcmNfcHRyLCAwLCBzcmNfcHRyICsgc3JjX3N0cmlkZSwgMCwKLSAgICAgICAgICAg
IHNyY19wdHIgKyBzcmNfc3RyaWRlMiwgMCwgc3JjX3B0ciArIHNyY19zdHJpZGUzLCAwLCBzcmMw
LCBzcmMxLAotICAgICAgICAgICAgc3JjMiwgc3JjMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGRy
ZXBsX3csIHByZWRfcHRyLCAwLCBwcmVkX3B0ciArIHByZWRfc3RyaWRlLCAwLAotICAgICAgICAg
ICAgcHJlZF9wdHIgKyBwcmVkX3N0cmlkZTIsIDAsIHByZWRfcHRyICsgcHJlZF9zdHJpZGUzLCAw
LCBwcmVkMCwKLSAgICAgICAgICAgIHByZWQxLCBwcmVkMiwgcHJlZDMpOwotICBEVVA0X0FSRzIo
X19sc3hfdmlsdmxfdywgc3JjMSwgc3JjMCwgc3JjMywgc3JjMiwgcHJlZDEsIHByZWQwLCBwcmVk
MywgcHJlZDIsCi0gICAgICAgICAgICBzcmMwLCBzcmMyLCBwcmVkMCwgcHJlZDIpOwotICBEVVAy
X0FSRzIoX19sc3hfdmlsdmxfZCwgc3JjMiwgc3JjMCwgcHJlZDIsIHByZWQwLCBzcmMwLCBwcmVk
MCk7Ci0gIHJlZzAgPSBfX2xzeF92aWx2bF9iKHNyYzAsIHByZWQwKTsKLSAgcmVnMSA9IF9fbHN4
X3ZpbHZoX2Ioc3JjMCwgcHJlZDApOwotICBEVVAyX0FSRzIoX19sc3hfdmhzdWJ3X2h1X2J1LCBy
ZWcwLCByZWcwLCByZWcxLCByZWcxLCBkaWZmMCwgZGlmZjEpOwotICBfX2xzeF92c3RlbG1fZChk
aWZmMCwgZGlmZl9wdHIsIDAsIDApOwotICBfX2xzeF92c3RlbG1fZChkaWZmMCwgZGlmZl9wdHIg
KyBkaWZmX3N0cmlkZSwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV9kKGRpZmYxLCBkaWZmX3B0ciAr
IGRpZmZfc3RyaWRlMiwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKGRpZmYxLCBkaWZmX3B0ciAr
IGRpZmZfc3RyaWRlMywgMCwgMSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN1Yl9ibGtfOHg4X2xzeChj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcHJlZF9wdHIsIGludDMyX3QgcHJlZF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCAqZGlmZl9wdHIsIGludDMy
X3QgZGlmZl9zdHJpZGUpIHsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0
LCBzcmM1LCBzcmM2LCBzcmM3OwotICBfX20xMjhpIHByZWQwLCBwcmVkMSwgcHJlZDIsIHByZWQz
LCBwcmVkNCwgcHJlZDUsIHByZWQ2LCBwcmVkNzsKLSAgX19tMTI4aSByZWcwLCByZWcxLCByZWcy
LCByZWczLCByZWc0LCByZWc1LCByZWc2LCByZWc3OwotICBpbnQzMl90IHNyY19zdHJpZGUyID0g
c3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHByZWRfc3RyaWRlMiA9IHByZWRfc3RyaWRlIDw8
IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZSA9IGRpZmZfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3QgcHJlZF9z
dHJpZGUzID0gcHJlZF9zdHJpZGUyICsgcHJlZF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlk
ZTIgPSBkc3Rfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRl
MiA8PCAxOwotICBpbnQzMl90IHByZWRfc3RyaWRlNCA9IHByZWRfc3RyaWRlMiA8PCAxOwotICBp
bnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZSArIGRzdF9zdHJpZGUyOwotCi0gIERVUDRf
QVJHMihfX2xzeF92bGRyZXBsX2QsIHNyY19wdHIsIDAsIHNyY19wdHIgKyBzcmNfc3RyaWRlLCAw
LAotICAgICAgICAgICAgc3JjX3B0ciArIHNyY19zdHJpZGUyLCAwLCBzcmNfcHRyICsgc3JjX3N0
cmlkZTMsIDAsIHNyYzAsIHNyYzEsCi0gICAgICAgICAgICBzcmMyLCBzcmMzKTsKLSAgRFVQNF9B
UkcyKF9fbHN4X3ZsZHJlcGxfZCwgcHJlZF9wdHIsIDAsIHByZWRfcHRyICsgcHJlZF9zdHJpZGUs
IDAsCi0gICAgICAgICAgICBwcmVkX3B0ciArIHByZWRfc3RyaWRlMiwgMCwgcHJlZF9wdHIgKyBw
cmVkX3N0cmlkZTMsIDAsIHByZWQwLAotICAgICAgICAgICAgcHJlZDEsIHByZWQyLCBwcmVkMyk7
Ci0gIHNyY19wdHIgKz0gc3JjX3N0cmlkZTQ7Ci0gIHByZWRfcHRyICs9IHByZWRfc3RyaWRlNDsK
LQotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9kLCBzcmNfcHRyLCAwLCBzcmNfcHRyICsgc3Jj
X3N0cmlkZSwgMCwKLSAgICAgICAgICAgIHNyY19wdHIgKyBzcmNfc3RyaWRlMiwgMCwgc3JjX3B0
ciArIHNyY19zdHJpZGUzLCAwLCBzcmM0LCBzcmM1LAotICAgICAgICAgICAgc3JjNiwgc3JjNyk7
Ci0gIERVUDRfQVJHMihfX2xzeF92bGRyZXBsX2QsIHByZWRfcHRyLCAwLCBwcmVkX3B0ciArIHBy
ZWRfc3RyaWRlLCAwLAotICAgICAgICAgICAgcHJlZF9wdHIgKyBwcmVkX3N0cmlkZTIsIDAsIHBy
ZWRfcHRyICsgcHJlZF9zdHJpZGUzLCAwLCBwcmVkNCwKLSAgICAgICAgICAgIHByZWQ1LCBwcmVk
NiwgcHJlZDcpOwotCi0gIERVUDRfQVJHMihfX2xzeF92aWx2bF9iLCBzcmMwLCBwcmVkMCwgc3Jj
MSwgcHJlZDEsIHNyYzIsIHByZWQyLCBzcmMzLCBwcmVkMywKLSAgICAgICAgICAgIHJlZzAsIHJl
ZzEsIHJlZzIsIHJlZzMpOwotICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjNCwgcHJlZDQs
IHNyYzUsIHByZWQ1LCBzcmM2LCBwcmVkNiwgc3JjNywgcHJlZDcsCi0gICAgICAgICAgICByZWc0
LCByZWc1LCByZWc2LCByZWc3KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zoc3Vid19odV9idSwgcmVn
MCwgcmVnMCwgcmVnMSwgcmVnMSwgcmVnMiwgcmVnMiwgcmVnMywgcmVnMywKLSAgICAgICAgICAg
IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwotICBEVVA0X0FSRzIoX19sc3hfdmhzdWJ3X2h1X2J1
LCByZWc0LCByZWc0LCByZWc1LCByZWc1LCByZWc2LCByZWc2LCByZWc3LCByZWc3LAotICAgICAg
ICAgICAgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNyk7Ci0gIF9fbHN4X3ZzdChzcmMwLCBkaWZmX3B0
ciwgMCk7Ci0gIF9fbHN4X3ZzdHgoc3JjMSwgZGlmZl9wdHIsIGRzdF9zdHJpZGUpOwotICBfX2xz
eF92c3R4KHNyYzIsIGRpZmZfcHRyLCBkc3Rfc3RyaWRlMik7Ci0gIF9fbHN4X3ZzdHgoc3JjMywg
ZGlmZl9wdHIsIGRzdF9zdHJpZGUzKTsKLSAgZGlmZl9wdHIgKz0gZHN0X3N0cmlkZTI7Ci0gIF9f
bHN4X3ZzdChzcmM0LCBkaWZmX3B0ciwgMCk7Ci0gIF9fbHN4X3ZzdHgoc3JjNSwgZGlmZl9wdHIs
IGRzdF9zdHJpZGUpOwotICBfX2xzeF92c3R4KHNyYzYsIGRpZmZfcHRyLCBkc3Rfc3RyaWRlMik7
Ci0gIF9fbHN4X3ZzdHgoc3JjNywgZGlmZl9wdHIsIGRzdF9zdHJpZGUzKTsKLX0KLQotc3RhdGlj
IHZvaWQgc3ViX2Jsa18xNngxNl9sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwcmVk
LCBpbnQzMl90IHByZWRfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MTZfdCAqZGlmZiwgaW50MzJfdCBkaWZmX3N0cmlkZSkgewotICBfX20xMjhpIHNyYzAsIHNyYzEs
IHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzc7Ci0gIF9fbTEyOGkgcHJlZDAsIHBy
ZWQxLCBwcmVkMiwgcHJlZDMsIHByZWQ0LCBwcmVkNSwgcHJlZDYsIHByZWQ3OwotICBfX20xMjhp
IHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzUsIHJlZzYsIHJlZzc7Ci0gIF9fbTEy
OGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMywgdG1wNCwgdG1wNSwgdG1wNiwgdG1wNzsKLSAgaW50
MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBwcmVkX3N0cmlk
ZTIgPSBwcmVkX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUgPSBkaWZmX3N0cmlk
ZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRl
OwotICBpbnQzMl90IHByZWRfc3RyaWRlMyA9IHByZWRfc3RyaWRlMiArIHByZWRfc3RyaWRlOwot
ICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19z
dHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBwcmVkX3N0cmlkZTQgPSBwcmVk
X3N0cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMyA9IGRzdF9zdHJpZGUgKyBkc3Rf
c3RyaWRlMjsKLSAgaW50MTZfdCAqZGlmZl90bXAgPSBkaWZmICsgODsKLQotICBEVVAyX0FSRzIo
X19sc3hfdmxkLCBzcmMsIDAsIHByZWQsIDAsIHNyYzAsIHByZWQwKTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNfc3Ry
aWRlMywKLSAgICAgICAgICAgIHNyYywgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMsIHNy
YzQpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgcHJlZCwgcHJlZF9zdHJpZGUsIHByZWQsIHBy
ZWRfc3RyaWRlMiwgcHJlZCwKLSAgICAgICAgICAgIHByZWRfc3RyaWRlMywgcHJlZCwgcHJlZF9z
dHJpZGU0LCBwcmVkMSwgcHJlZDIsIHByZWQzLCBwcmVkNCk7Ci0gIHNyYyArPSBzcmNfc3RyaWRl
NDsKLSAgcHJlZCArPSBwcmVkX3N0cmlkZTQ7Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmMs
IHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYywgc3JjX3N0cmlkZTMsCi0gICAgICAg
ICAgICBwcmVkLCBwcmVkX3N0cmlkZSwgc3JjNSwgc3JjNiwgc3JjNywgcHJlZDUpOwotICBEVVAy
X0FSRzIoX19sc3hfdmxkeCwgcHJlZCwgcHJlZF9zdHJpZGUyLCBwcmVkLCBwcmVkX3N0cmlkZTMs
IHByZWQ2LCBwcmVkNyk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlNDsKLSAgcHJlZCArPSBwcmVkX3N0
cmlkZTQ7Ci0gIERVUDRfQVJHMihfX2xzeF92aWx2bF9iLCBzcmMwLCBwcmVkMCwgc3JjMSwgcHJl
ZDEsIHNyYzIsIHByZWQyLCBzcmMzLCBwcmVkMywKLSAgICAgICAgICAgIHJlZzAsIHJlZzIsIHJl
ZzQsIHJlZzYpOwotICBEVVA0X0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjMCwgcHJlZDAsIHNyYzEs
IHByZWQxLCBzcmMyLCBwcmVkMiwgc3JjMywgcHJlZDMsCi0gICAgICAgICAgICByZWcxLCByZWcz
LCByZWc1LCByZWc3KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzQsIHByZWQ0LCBz
cmM1LCBwcmVkNSwgc3JjNiwgcHJlZDYsIHNyYzcsIHByZWQ3LAotICAgICAgICAgICAgdG1wMCwg
dG1wMiwgdG1wNCwgdG1wNik7Ci0gIERVUDRfQVJHMihfX2xzeF92aWx2aF9iLCBzcmM0LCBwcmVk
NCwgc3JjNSwgcHJlZDUsIHNyYzYsIHByZWQ2LCBzcmM3LCBwcmVkNywKLSAgICAgICAgICAgIHRt
cDEsIHRtcDMsIHRtcDUsIHRtcDcpOwotICBEVVA0X0FSRzIoX19sc3hfdmhzdWJ3X2h1X2J1LCBy
ZWcwLCByZWcwLCByZWcxLCByZWcxLCByZWcyLCByZWcyLCByZWczLCByZWczLAotICAgICAgICAg
ICAgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92aHN1YndfaHVf
YnUsIHJlZzQsIHJlZzQsIHJlZzUsIHJlZzUsIHJlZzYsIHJlZzYsIHJlZzcsIHJlZzcsCi0gICAg
ICAgICAgICBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zoc3Vi
d19odV9idSwgdG1wMCwgdG1wMCwgdG1wMSwgdG1wMSwgdG1wMiwgdG1wMiwgdG1wMywgdG1wMywK
LSAgICAgICAgICAgIHByZWQwLCBwcmVkMSwgcHJlZDIsIHByZWQzKTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3Zoc3Vid19odV9idSwgdG1wNCwgdG1wNCwgdG1wNSwgdG1wNSwgdG1wNiwgdG1wNiwgdG1w
NywgdG1wNywKLSAgICAgICAgICAgIHByZWQ0LCBwcmVkNSwgcHJlZDYsIHByZWQ3KTsKLSAgX19s
c3hfdnN0KHNyYzAsIGRpZmYsIDApOwotICBfX2xzeF92c3R4KHNyYzIsIGRpZmYsIGRzdF9zdHJp
ZGUpOwotICBfX2xzeF92c3R4KHNyYzQsIGRpZmYsIGRzdF9zdHJpZGUyKTsKLSAgX19sc3hfdnN0
eChzcmM2LCBkaWZmLCBkc3Rfc3RyaWRlMyk7Ci0gIF9fbHN4X3ZzdChzcmMxLCBkaWZmX3RtcCwg
MCk7Ci0gIF9fbHN4X3ZzdHgoc3JjMywgZGlmZl90bXAsIGRzdF9zdHJpZGUpOwotICBfX2xzeF92
c3R4KHNyYzUsIGRpZmZfdG1wLCBkc3Rfc3RyaWRlMik7Ci0gIF9fbHN4X3ZzdHgoc3JjNywgZGlm
Zl90bXAsIGRzdF9zdHJpZGUzKTsKLSAgZGlmZiArPSBkc3Rfc3RyaWRlMjsKLSAgZGlmZl90bXAg
Kz0gZHN0X3N0cmlkZTI7Ci0gIF9fbHN4X3ZzdChwcmVkMCwgZGlmZiwgMCk7Ci0gIF9fbHN4X3Zz
dHgocHJlZDIsIGRpZmYsIGRzdF9zdHJpZGUpOwotICBfX2xzeF92c3R4KHByZWQ0LCBkaWZmLCBk
c3Rfc3RyaWRlMik7Ci0gIF9fbHN4X3ZzdHgocHJlZDYsIGRpZmYsIGRzdF9zdHJpZGUzKTsKLSAg
X19sc3hfdnN0KHByZWQxLCBkaWZmX3RtcCwgMCk7Ci0gIF9fbHN4X3ZzdHgocHJlZDMsIGRpZmZf
dG1wLCBkc3Rfc3RyaWRlKTsKLSAgX19sc3hfdnN0eChwcmVkNSwgZGlmZl90bXAsIGRzdF9zdHJp
ZGUyKTsKLSAgX19sc3hfdnN0eChwcmVkNywgZGlmZl90bXAsIGRzdF9zdHJpZGUzKTsKLSAgZGlm
ZiArPSBkc3Rfc3RyaWRlMjsKLSAgZGlmZl90bXAgKz0gZHN0X3N0cmlkZTI7Ci0gIERVUDJfQVJH
MihfX2xzeF92bGQsIHNyYywgMCwgcHJlZCwgMCwgc3JjMCwgcHJlZDApOwotICBEVVA0X0FSRzIo
X19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMsIHNyY19z
dHJpZGUzLAotICAgICAgICAgICAgc3JjLCBzcmNfc3RyaWRlNCwgc3JjMSwgc3JjMiwgc3JjMywg
c3JjNCk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBwcmVkLCBwcmVkX3N0cmlkZSwgcHJlZCwg
cHJlZF9zdHJpZGUyLCBwcmVkLAotICAgICAgICAgICAgcHJlZF9zdHJpZGUzLCBwcmVkLCBwcmVk
X3N0cmlkZTQsIHByZWQxLCBwcmVkMiwgcHJlZDMsIHByZWQ0KTsKLSAgc3JjICs9IHNyY19zdHJp
ZGU0OwotICBwcmVkICs9IHByZWRfc3RyaWRlNDsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNy
Yywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNfc3RyaWRlMywKLSAgICAg
ICAgICAgIHByZWQsIHByZWRfc3RyaWRlLCBzcmM1LCBzcmM2LCBzcmM3LCBwcmVkNSk7Ci0gIERV
UDJfQVJHMihfX2xzeF92bGR4LCBwcmVkLCBwcmVkX3N0cmlkZTIsIHByZWQsIHByZWRfc3RyaWRl
MywgcHJlZDYsIHByZWQ3KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzAsIHByZWQw
LCBzcmMxLCBwcmVkMSwgc3JjMiwgcHJlZDIsIHNyYzMsIHByZWQzLAotICAgICAgICAgICAgcmVn
MCwgcmVnMiwgcmVnNCwgcmVnNik7Ci0gIERVUDRfQVJHMihfX2xzeF92aWx2aF9iLCBzcmMwLCBw
cmVkMCwgc3JjMSwgcHJlZDEsIHNyYzIsIHByZWQyLCBzcmMzLCBwcmVkMywKLSAgICAgICAgICAg
IHJlZzEsIHJlZzMsIHJlZzUsIHJlZzcpOwotICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgc3Jj
NCwgcHJlZDQsIHNyYzUsIHByZWQ1LCBzcmM2LCBwcmVkNiwgc3JjNywgcHJlZDcsCi0gICAgICAg
ICAgICB0bXAwLCB0bXAyLCB0bXA0LCB0bXA2KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZoX2Is
IHNyYzQsIHByZWQ0LCBzcmM1LCBwcmVkNSwgc3JjNiwgcHJlZDYsIHNyYzcsIHByZWQ3LAotICAg
ICAgICAgICAgdG1wMSwgdG1wMywgdG1wNSwgdG1wNyk7Ci0gIERVUDRfQVJHMihfX2xzeF92aHN1
YndfaHVfYnUsIHJlZzAsIHJlZzAsIHJlZzEsIHJlZzEsIHJlZzIsIHJlZzIsIHJlZzMsIHJlZzMs
Ci0gICAgICAgICAgICBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4
X3Zoc3Vid19odV9idSwgcmVnNCwgcmVnNCwgcmVnNSwgcmVnNSwgcmVnNiwgcmVnNiwgcmVnNywg
cmVnNywKLSAgICAgICAgICAgIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcpOwotICBEVVA0X0FSRzIo
X19sc3hfdmhzdWJ3X2h1X2J1LCB0bXAwLCB0bXAwLCB0bXAxLCB0bXAxLCB0bXAyLCB0bXAyLCB0
bXAzLCB0bXAzLAotICAgICAgICAgICAgcHJlZDAsIHByZWQxLCBwcmVkMiwgcHJlZDMpOwotICBE
VVA0X0FSRzIoX19sc3hfdmhzdWJ3X2h1X2J1LCB0bXA0LCB0bXA0LCB0bXA1LCB0bXA1LCB0bXA2
LCB0bXA2LCB0bXA3LCB0bXA3LAotICAgICAgICAgICAgcHJlZDQsIHByZWQ1LCBwcmVkNiwgcHJl
ZDcpOwotICBfX2xzeF92c3Qoc3JjMCwgZGlmZiwgMCk7Ci0gIF9fbHN4X3ZzdHgoc3JjMiwgZGlm
ZiwgZHN0X3N0cmlkZSk7Ci0gIF9fbHN4X3ZzdHgoc3JjNCwgZGlmZiwgZHN0X3N0cmlkZTIpOwot
ICBfX2xzeF92c3R4KHNyYzYsIGRpZmYsIGRzdF9zdHJpZGUzKTsKLSAgX19sc3hfdnN0KHNyYzEs
IGRpZmZfdG1wLCAwKTsKLSAgX19sc3hfdnN0eChzcmMzLCBkaWZmX3RtcCwgZHN0X3N0cmlkZSk7
Ci0gIF9fbHN4X3ZzdHgoc3JjNSwgZGlmZl90bXAsIGRzdF9zdHJpZGUyKTsKLSAgX19sc3hfdnN0
eChzcmM3LCBkaWZmX3RtcCwgZHN0X3N0cmlkZTMpOwotICBkaWZmICs9IGRzdF9zdHJpZGUyOwot
ICBkaWZmX3RtcCArPSBkc3Rfc3RyaWRlMjsKLSAgX19sc3hfdnN0KHByZWQwLCBkaWZmLCAwKTsK
LSAgX19sc3hfdnN0eChwcmVkMiwgZGlmZiwgZHN0X3N0cmlkZSk7Ci0gIF9fbHN4X3ZzdHgocHJl
ZDQsIGRpZmYsIGRzdF9zdHJpZGUyKTsKLSAgX19sc3hfdnN0eChwcmVkNiwgZGlmZiwgZHN0X3N0
cmlkZTMpOwotICBfX2xzeF92c3QocHJlZDEsIGRpZmZfdG1wLCAwKTsKLSAgX19sc3hfdnN0eChw
cmVkMywgZGlmZl90bXAsIGRzdF9zdHJpZGUpOwotICBfX2xzeF92c3R4KHByZWQ1LCBkaWZmX3Rt
cCwgZHN0X3N0cmlkZTIpOwotICBfX2xzeF92c3R4KHByZWQ3LCBkaWZmX3RtcCwgZHN0X3N0cmlk
ZTMpOwotfQotCi1zdGF0aWMgdm9pZCBzdWJfYmxrXzMyeDMyX2xzeChjb25zdCB1aW50OF90ICpz
cmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4X3QgKnByZWQsIGludDMyX3QgcHJlZF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQxNl90ICpkaWZmLCBpbnQzMl90IGRpZmZfc3RyaWRlKSB7Ci0gIF9f
bTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNzsKLSAg
X19tMTI4aSBwcmVkMCwgcHJlZDEsIHByZWQyLCBwcmVkMywgcHJlZDQsIHByZWQ1LCBwcmVkNiwg
cHJlZDc7Ci0gIF9fbTEyOGkgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMywgcmVnNCwgcmVnNSwgcmVn
NiwgcmVnNzsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0bXA0LCB0bXA1LCB0
bXA2LCB0bXA3OwotICB1aW50MzJfdCBsb29wX2NudDsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9
IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBwcmVkX3N0cmlkZTIgPSBwcmVkX3N0cmlkZSA8
PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwot
ICBpbnQzMl90IHByZWRfc3RyaWRlMyA9IHByZWRfc3RyaWRlMiArIHByZWRfc3RyaWRlOwotICBp
bnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBwcmVkX3N0
cmlkZTQgPSBwcmVkX3N0cmlkZTIgPDwgMTsKLQotICBmb3IgKGxvb3BfY250ID0gODsgbG9vcF9j
bnQtLTspIHsKLSAgICBjb25zdCB1aW50OF90ICpzcmNfdG1wID0gc3JjICsgMTY7Ci0gICAgY29u
c3QgdWludDhfdCAqcHJlZF90bXAgPSBwcmVkICsgMTY7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZCwgc3JjLCAwLCBzcmNfdG1wLCAwLCBwcmVkLCAwLCBwcmVkX3RtcCwgMCwgc3JjMCwgc3JjMSwK
LSAgICAgICAgICAgICAgcHJlZDAsIHByZWQxKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwg
c3JjLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmMsCi0gICAgICAgICAgICAg
IHNyY19zdHJpZGUyLCBzcmNfdG1wLCBzcmNfc3RyaWRlMiwgc3JjMiwgc3JjMywgc3JjNCwgc3Jj
NSk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZTMsIHNyY190bXAs
IHNyY19zdHJpZGUzLCBwcmVkLAotICAgICAgICAgICAgICBwcmVkX3N0cmlkZSwgcHJlZF90bXAs
IHByZWRfc3RyaWRlLCBzcmM2LCBzcmM3LCBwcmVkMiwgcHJlZDMpOwotICAgIERVUDRfQVJHMihf
X2xzeF92bGR4LCBwcmVkLCBwcmVkX3N0cmlkZTIsIHByZWRfdG1wLCBwcmVkX3N0cmlkZTIsIHBy
ZWQsCi0gICAgICAgICAgICAgIHByZWRfc3RyaWRlMywgcHJlZF90bXAsIHByZWRfc3RyaWRlMywg
cHJlZDQsIHByZWQ1LCBwcmVkNiwgcHJlZDcpOwotICAgIERVUDRfQVJHMihfX2xzeF92aWx2bF9i
LCBzcmMwLCBwcmVkMCwgc3JjMSwgcHJlZDEsIHNyYzIsIHByZWQyLCBzcmMzLCBwcmVkMywKLSAg
ICAgICAgICAgICAgcmVnMCwgcmVnMiwgcmVnNCwgcmVnNik7Ci0gICAgRFVQNF9BUkcyKF9fbHN4
X3ZpbHZoX2IsIHNyYzAsIHByZWQwLCBzcmMxLCBwcmVkMSwgc3JjMiwgcHJlZDIsIHNyYzMsIHBy
ZWQzLAotICAgICAgICAgICAgICByZWcxLCByZWczLCByZWc1LCByZWc3KTsKLSAgICBEVVA0X0FS
RzIoX19sc3hfdmlsdmxfYiwgc3JjNCwgcHJlZDQsIHNyYzUsIHByZWQ1LCBzcmM2LCBwcmVkNiwg
c3JjNywgcHJlZDcsCi0gICAgICAgICAgICAgIHRtcDAsIHRtcDIsIHRtcDQsIHRtcDYpOwotICAg
IERVUDRfQVJHMihfX2xzeF92aWx2aF9iLCBzcmM0LCBwcmVkNCwgc3JjNSwgcHJlZDUsIHNyYzYs
IHByZWQ2LCBzcmM3LCBwcmVkNywKLSAgICAgICAgICAgICAgdG1wMSwgdG1wMywgdG1wNSwgdG1w
Nyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Zoc3Vid19odV9idSwgcmVnMCwgcmVnMCwgcmVnMSwg
cmVnMSwgcmVnMiwgcmVnMiwgcmVnMywKLSAgICAgICAgICAgICAgcmVnMywgc3JjMCwgc3JjMSwg
c3JjMiwgc3JjMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Zoc3Vid19odV9idSwgcmVnNCwgcmVn
NCwgcmVnNSwgcmVnNSwgcmVnNiwgcmVnNiwgcmVnNywKLSAgICAgICAgICAgICAgcmVnNywgc3Jj
NCwgc3JjNSwgc3JjNiwgc3JjNyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Zoc3Vid19odV9idSwg
dG1wMCwgdG1wMCwgdG1wMSwgdG1wMSwgdG1wMiwgdG1wMiwgdG1wMywKLSAgICAgICAgICAgICAg
dG1wMywgcHJlZDAsIHByZWQxLCBwcmVkMiwgcHJlZDMpOwotICAgIERVUDRfQVJHMihfX2xzeF92
aHN1YndfaHVfYnUsIHRtcDQsIHRtcDQsIHRtcDUsIHRtcDUsIHRtcDYsIHRtcDYsIHRtcDcsCi0g
ICAgICAgICAgICAgIHRtcDcsIHByZWQ0LCBwcmVkNSwgcHJlZDYsIHByZWQ3KTsKLSAgICBzcmMg
Kz0gc3JjX3N0cmlkZTQ7Ci0gICAgcHJlZCArPSBwcmVkX3N0cmlkZTQ7Ci0gICAgX19sc3hfdnN0
KHNyYzAsIGRpZmYsIDApOwotICAgIF9fbHN4X3ZzdChzcmMxLCBkaWZmLCAxNik7Ci0gICAgX19s
c3hfdnN0KHNyYzIsIGRpZmYsIDMyKTsKLSAgICBfX2xzeF92c3Qoc3JjMywgZGlmZiwgNDgpOwot
ICAgIGRpZmYgKz0gZGlmZl9zdHJpZGU7Ci0gICAgX19sc3hfdnN0KHNyYzQsIGRpZmYsIDApOwot
ICAgIF9fbHN4X3ZzdChzcmM1LCBkaWZmLCAxNik7Ci0gICAgX19sc3hfdnN0KHNyYzYsIGRpZmYs
IDMyKTsKLSAgICBfX2xzeF92c3Qoc3JjNywgZGlmZiwgNDgpOwotICAgIGRpZmYgKz0gZGlmZl9z
dHJpZGU7Ci0gICAgX19sc3hfdnN0KHByZWQwLCBkaWZmLCAwKTsKLSAgICBfX2xzeF92c3QocHJl
ZDEsIGRpZmYsIDE2KTsKLSAgICBfX2xzeF92c3QocHJlZDIsIGRpZmYsIDMyKTsKLSAgICBfX2xz
eF92c3QocHJlZDMsIGRpZmYsIDQ4KTsKLSAgICBkaWZmICs9IGRpZmZfc3RyaWRlOwotICAgIF9f
bHN4X3ZzdChwcmVkNCwgZGlmZiwgMCk7Ci0gICAgX19sc3hfdnN0KHByZWQ1LCBkaWZmLCAxNik7
Ci0gICAgX19sc3hfdnN0KHByZWQ2LCBkaWZmLCAzMik7Ci0gICAgX19sc3hfdnN0KHByZWQ3LCBk
aWZmLCA0OCk7Ci0gICAgZGlmZiArPSBkaWZmX3N0cmlkZTsKLSAgfQotfQotCi1zdGF0aWMgdm9p
ZCBzdWJfYmxrXzY0eDY0X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnByZWQsIGlu
dDMyX3QgcHJlZF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90
ICpkaWZmLCBpbnQzMl90IGRpZmZfc3RyaWRlKSB7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3Jj
Miwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNzsKLSAgX19tMTI4aSBwcmVkMCwgcHJlZDEs
IHByZWQyLCBwcmVkMywgcHJlZDQsIHByZWQ1LCBwcmVkNiwgcHJlZDc7Ci0gIF9fbTEyOGkgcmVn
MCwgcmVnMSwgcmVnMiwgcmVnMywgcmVnNCwgcmVnNSwgcmVnNiwgcmVnNzsKLSAgX19tMTI4aSB0
bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0bXA0LCB0bXA1LCB0bXA2LCB0bXA3OwotICB1aW50MzJf
dCBsb29wX2NudDsKLQotICBmb3IgKGxvb3BfY250ID0gMzI7IGxvb3BfY250LS07KSB7Ci0gICAg
RFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMsIDMyLCBzcmMsIDQ4LCBz
cmMwLCBzcmMxLCBzcmMyLAotICAgICAgICAgICAgICBzcmMzKTsKLSAgICBEVVA0X0FSRzIoX19s
c3hfdmxkLCBwcmVkLCAwLCBwcmVkLCAxNiwgcHJlZCwgMzIsIHByZWQsIDQ4LCBwcmVkMCwgcHJl
ZDEsCi0gICAgICAgICAgICAgIHByZWQyLCBwcmVkMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7
Ci0gICAgcHJlZCArPSBwcmVkX3N0cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBzcmMs
IDAsIHNyYywgMTYsIHNyYywgMzIsIHNyYywgNDgsIHNyYzQsIHNyYzUsIHNyYzYsCi0gICAgICAg
ICAgICAgIHNyYzcpOwotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHByZWQsIDAsIHByZWQsIDE2
LCBwcmVkLCAzMiwgcHJlZCwgNDgsIHByZWQ0LCBwcmVkNSwKLSAgICAgICAgICAgICAgcHJlZDYs
IHByZWQ3KTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBwcmVkICs9IHByZWRfc3RyaWRl
OwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzAsIHByZWQwLCBzcmMxLCBwcmVk
MSwgc3JjMiwgcHJlZDIsIHNyYzMsIHByZWQzLAotICAgICAgICAgICAgICByZWcwLCByZWcyLCBy
ZWc0LCByZWc2KTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjMCwgcHJlZDAsIHNy
YzEsIHByZWQxLCBzcmMyLCBwcmVkMiwgc3JjMywgcHJlZDMsCi0gICAgICAgICAgICAgIHJlZzEs
IHJlZzMsIHJlZzUsIHJlZzcpOwotICAgIERVUDRfQVJHMihfX2xzeF92aWx2bF9iLCBzcmM0LCBw
cmVkNCwgc3JjNSwgcHJlZDUsIHNyYzYsIHByZWQ2LCBzcmM3LCBwcmVkNywKLSAgICAgICAgICAg
ICAgdG1wMCwgdG1wMiwgdG1wNCwgdG1wNik7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZoX2Is
IHNyYzQsIHByZWQ0LCBzcmM1LCBwcmVkNSwgc3JjNiwgcHJlZDYsIHNyYzcsIHByZWQ3LAotICAg
ICAgICAgICAgICB0bXAxLCB0bXAzLCB0bXA1LCB0bXA3KTsKLSAgICBEVVA0X0FSRzIoX19sc3hf
dmhzdWJ3X2h1X2J1LCByZWcwLCByZWcwLCByZWcxLCByZWcxLCByZWcyLCByZWcyLCByZWczLAot
ICAgICAgICAgICAgICByZWczLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBEVVA0X0FS
RzIoX19sc3hfdmhzdWJ3X2h1X2J1LCByZWc0LCByZWc0LCByZWc1LCByZWc1LCByZWc2LCByZWc2
LCByZWc3LAotICAgICAgICAgICAgICByZWc3LCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3KTsKLSAg
ICBEVVA0X0FSRzIoX19sc3hfdmhzdWJ3X2h1X2J1LCB0bXAwLCB0bXAwLCB0bXAxLCB0bXAxLCB0
bXAyLCB0bXAyLCB0bXAzLAotICAgICAgICAgICAgICB0bXAzLCBwcmVkMCwgcHJlZDEsIHByZWQy
LCBwcmVkMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Zoc3Vid19odV9idSwgdG1wNCwgdG1wNCwg
dG1wNSwgdG1wNSwgdG1wNiwgdG1wNiwgdG1wNywKLSAgICAgICAgICAgICAgdG1wNywgcHJlZDQs
IHByZWQ1LCBwcmVkNiwgcHJlZDcpOwotICAgIF9fbHN4X3ZzdChzcmMwLCBkaWZmLCAwKTsKLSAg
ICBfX2xzeF92c3Qoc3JjMSwgZGlmZiwgMTYpOwotICAgIF9fbHN4X3ZzdChzcmMyLCBkaWZmLCAz
Mik7Ci0gICAgX19sc3hfdnN0KHNyYzMsIGRpZmYsIDQ4KTsKLSAgICBfX2xzeF92c3Qoc3JjNCwg
ZGlmZiwgNjQpOwotICAgIF9fbHN4X3ZzdChzcmM1LCBkaWZmLCA4MCk7Ci0gICAgX19sc3hfdnN0
KHNyYzYsIGRpZmYsIDk2KTsKLSAgICBfX2xzeF92c3Qoc3JjNywgZGlmZiwgMTEyKTsKLSAgICBk
aWZmICs9IGRpZmZfc3RyaWRlOwotICAgIF9fbHN4X3ZzdChwcmVkMCwgZGlmZiwgMCk7Ci0gICAg
X19sc3hfdnN0KHByZWQxLCBkaWZmLCAxNik7Ci0gICAgX19sc3hfdnN0KHByZWQyLCBkaWZmLCAz
Mik7Ci0gICAgX19sc3hfdnN0KHByZWQzLCBkaWZmLCA0OCk7Ci0gICAgX19sc3hfdnN0KHByZWQ0
LCBkaWZmLCA2NCk7Ci0gICAgX19sc3hfdnN0KHByZWQ1LCBkaWZmLCA4MCk7Ci0gICAgX19sc3hf
dnN0KHByZWQ2LCBkaWZmLCA5Nik7Ci0gICAgX19sc3hfdnN0KHByZWQ3LCBkaWZmLCAxMTIpOwot
ICAgIGRpZmYgKz0gZGlmZl9zdHJpZGU7Ci0gIH0KLX0KLQotdm9pZCB2cHhfc3VidHJhY3RfYmxv
Y2tfbHN4KGludDMyX3Qgcm93cywgaW50MzJfdCBjb2xzLCBpbnQxNl90ICpkaWZmX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsIGNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnByZWRfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBwcmVkX3N0cmlkZSkgewotICBpZiAocm93cyA9PSBjb2xzKSB7Ci0g
ICAgc3dpdGNoIChyb3dzKSB7Ci0gICAgICBjYXNlIDQ6Ci0gICAgICAgIHN1Yl9ibGtfNHg0X2xz
eChzcmNfcHRyLCBzcmNfc3RyaWRlLCBwcmVkX3B0ciwgcHJlZF9zdHJpZGUsIGRpZmZfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9zdHJpZGUpOwotICAgICAgICBicmVhazsKLSAg
ICAgIGNhc2UgODoKLSAgICAgICAgc3ViX2Jsa184eDhfbHN4KHNyY19wdHIsIHNyY19zdHJpZGUs
IHByZWRfcHRyLCBwcmVkX3N0cmlkZSwgZGlmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBkaWZmX3N0cmlkZSk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSAxNjoKLSAgICAgICAg
c3ViX2Jsa18xNngxNl9sc3goc3JjX3B0ciwgc3JjX3N0cmlkZSwgcHJlZF9wdHIsIHByZWRfc3Ry
aWRlLCBkaWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZl9zdHJpZGUpOwot
ICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgMzI6Ci0gICAgICAgIHN1Yl9ibGtfMzJ4MzJfbHN4
KHNyY19wdHIsIHNyY19zdHJpZGUsIHByZWRfcHRyLCBwcmVkX3N0cmlkZSwgZGlmZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZfc3RyaWRlKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgICBjYXNlIDY0OgotICAgICAgICBzdWJfYmxrXzY0eDY0X2xzeChzcmNfcHRyLCBzcmNfc3Ry
aWRlLCBwcmVkX3B0ciwgcHJlZF9zdHJpZGUsIGRpZmZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBkaWZmX3N0cmlkZSk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgdnB4X3N1YnRyYWN0X2Jsb2NrX2Mocm93cywgY29scywgZGlmZl9wdHIsIGRpZmZfc3Ry
aWRlLCBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCBw
cmVkX3B0ciwgcHJlZF9zdHJpZGUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gIH0gZWxzZSB7
Ci0gICAgdnB4X3N1YnRyYWN0X2Jsb2NrX2Mocm93cywgY29scywgZGlmZl9wdHIsIGRpZmZfc3Ry
aWRlLCBzcmNfcHRyLCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHByZWRf
cHRyLCBwcmVkX3N0cmlkZSk7Ci0gIH0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9sb29uZ2FyY2gvdHhmbV9tYWNyb3NfbHN4LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdh
cmNoL3R4Zm1fbWFjcm9zX2xzeC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZDUx
NDgzMWJmMjEuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNo
L3R4Zm1fbWFjcm9zX2xzeC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAq
ICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi
eSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25h
bCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGlu
IHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkK
LSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3Vy
Y2UgdHJlZS4KLSAqLwotCi0jaWZuZGVmIFZQWF9WUFhfRFNQX0xPT05HQVJDSF9UWEZNX01BQ1JP
U19MU1hfSF8KLSNkZWZpbmUgVlBYX1ZQWF9EU1BfTE9PTkdBUkNIX1RYRk1fTUFDUk9TX0xTWF9I
XwotCi0jaW5jbHVkZSAidnB4X3V0aWwvbG9vbmdzb25faW50cmluc2ljcy5oIgotCi0jZGVmaW5l
IERPVFBfQ09OU1RfUEFJUihyZWcwLCByZWcxLCBjbnN0MCwgY25zdDEsIG91dDAsIG91dDEpICAg
ICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHMwX20sIHMxX20sIHMyX20sIHMz
X20sIHM0X20sIHM1X207ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBrMF9t
LCBrMV9tLCBrMl9tLCBrM19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBrMF9tID0gX19sc3hfdnJlcGxncjJ2cl9oKGNuc3QwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgazFfbSA9IF9fbHN4X3ZyZXBsZ3Iy
dnJfaChjbnN0MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGsyX20g
PSBfX2xzeF92cGFja2V2X2goazFfbSwgazBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIHJlZzEs
IHJlZzAsIHJlZzAsIHJlZzEsIHM1X20sIHMzX20pOyAgICAgXAotICAgIERVUDJfQVJHMihfX2xz
eF92aWx2aF9oLCByZWcxLCByZWcwLCByZWcwLCByZWcxLCBzNF9tLCBzMl9tKTsgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZtdWx3ZXZfd19oLCBzNV9tLCBrMF9t
LCBzNF9tLCBrMF9tLCBzMV9tLCBzMF9tKTsgXAotICAgIGszX20gPSBfX2xzeF92bXVsd29kX3df
aChzNV9tLCBrMV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzMV9tID0g
X19sc3hfdnN1Yl93KHMxX20sIGszX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgazNfbSA9IF9fbHN4X3ZtdWx3b2Rfd19oKHM0X20sIGsxX20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHMwX20gPSBfX2xzeF92c3ViX3coczBfbSwgazNfbSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
b3V0MCA9IF9fbHN4X3Zzc3Jhcm5pX2hfdyhzMF9tLCBzMV9tLCBEQ1RfQ09OU1RfQklUUyk7ICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl93X2gs
IHMzX20sIGsyX20sIHMyX20sIGsyX20sIHMxX20sIHMwX20pOyAgICBcCi0gICAgb3V0MSA9IF9f
bHN4X3Zzc3Jhcm5pX2hfdyhzMF9tLCBzMV9tLCBEQ1RfQ09OU1RfQklUUyk7ICAgICAgICAgICAg
XAotICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIERPVF9TSElGVF9SSUdIVF9QQ0tfSChpbjAsIGlu
MSwgaW4yLCBpbjMpICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgdHAw
X20sIHRwMV9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl93X2gsIGluMCwgaW4yLCBpbjEsIGluMiwg
dHAxX20sIHRwMF9tKTsgXAotICAgIGluMyA9IF9fbHN4X3Zzc3Jhcm5pX2hfdyh0cDFfbSwgdHAw
X20sIERDVF9DT05TVF9CSVRTKTsgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNlbmRpZiAgLy8g
VlBYX1ZQWF9EU1BfTE9PTkdBUkNIX1RYRk1fTUFDUk9TX0xTWF9IXwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92YXJpYW5jZV9sc3guYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9sb29uZ2FyY2gvdmFyaWFuY2VfbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDhmYWQzNDJjNzEyOS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9s
b29uZ2FyY2gvdmFyaWFuY2VfbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSwyNjMgKzAsMCBAQAot
LyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl
cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRk
aXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAot
ICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9y
cyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRo
ZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNs
dWRlICJ2cHhfZHNwL2xvb25nYXJjaC92YXJpYW5jZV9sc3guaCIKLQotI2RlZmluZSBWQVJJQU5D
RV9XeEgoc3NlLCBkaWZmLCBzaGlmdCkgXAotICAoc3NlKSAtICgoKHVpbnQzMl90KShkaWZmKSAq
IChkaWZmKSkgPj4gKHNoaWZ0KSkKLQotI2RlZmluZSBWQVJJQU5DRV9MQVJHRV9XeEgoc3NlLCBk
aWZmLCBzaGlmdCkgXAotICAoc3NlKSAtICgoKGludDY0X3QpKGRpZmYpICogKGRpZmYpKSA+PiAo
c2hpZnQpKQotCi1zdGF0aWMgdWludDMyX3Qgc3NlX2RpZmZfOHdpZHRoX2xzeChjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQzMl90IHJlZl9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCwgaW50
MzJfdCAqZGlmZikgewotICBpbnQzMl90IHJlcywgaHRfY250ID0gKGhlaWdodCA+PiAyKTsKLSAg
X19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCByZWYwLCByZWYxLCByZWYyLCByZWYzLCB2
ZWM7Ci0gIF9fbTEyOGkgYXZnID0gX19sc3hfdmxkaSgwKTsKLSAgX19tMTI4aSB2YXIgPSBhdmc7
Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3Jj
X3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlk
ZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotICBpbnQzMl90IHJlZl9zdHJpZGUyID0gcmVmX3N0cmlk
ZSA8PCAxOwotICBpbnQzMl90IHJlZl9zdHJpZGUzID0gcmVmX3N0cmlkZTIgKyByZWZfc3RyaWRl
OwotICBpbnQzMl90IHJlZl9zdHJpZGU0ID0gcmVmX3N0cmlkZTIgPDwgMTsKLQotICBmb3IgKDsg
aHRfY250LS07KSB7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjX3B0ciwgMCwgc3JjX3B0
ciArIHNyY19zdHJpZGUsIDAsCi0gICAgICAgICAgICAgIHNyY19wdHIgKyBzcmNfc3RyaWRlMiwg
MCwgc3JjX3B0ciArIHNyY19zdHJpZGUzLCAwLCBzcmMwLCBzcmMxLAotICAgICAgICAgICAgICBz
cmMyLCBzcmMzKTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU0OwotICAgIERVUDRfQVJHMihf
X2xzeF92bGQsIHJlZl9wdHIsIDAsIHJlZl9wdHIgKyByZWZfc3RyaWRlLCAwLAotICAgICAgICAg
ICAgICByZWZfcHRyICsgcmVmX3N0cmlkZTIsIDAsIHJlZl9wdHIgKyByZWZfc3RyaWRlMywgMCwg
cmVmMCwgcmVmMSwKLSAgICAgICAgICAgICAgcmVmMiwgcmVmMyk7Ci0gICAgcmVmX3B0ciArPSBy
ZWZfc3RyaWRlNDsKLQotICAgIERVUDRfQVJHMihfX2xzeF92cGlja2V2X2QsIHNyYzEsIHNyYzAs
IHNyYzMsIHNyYzIsIHJlZjEsIHJlZjAsIHJlZjMsIHJlZjIsCi0gICAgICAgICAgICAgIHNyYzAs
IHNyYzEsIHJlZjAsIHJlZjEpOwotICAgIENBTENfTVNFX0FWR19CKHNyYzAsIHJlZjAsIHZhciwg
YXZnKTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMxLCByZWYxLCB2YXIsIGF2Zyk7Ci0gIH0KLQot
ICB2ZWMgPSBfX2xzeF92aGFkZHdfd19oKGF2ZywgYXZnKTsKLSAgSEFERF9TV19TMzIodmVjLCAq
ZGlmZik7Ci0gIEhBRERfU1dfUzMyKHZhciwgcmVzKTsKLSAgcmV0dXJuIHJlczsKLX0KLQotc3Rh
dGljIHVpbnQzMl90IHNzZV9kaWZmXzE2d2lkdGhfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQzMl90IHJlZl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQsIGludDMyX3QgKmRpZmYp
IHsKLSAgaW50MzJfdCByZXMsIGh0X2NudCA9IChoZWlnaHQgPj4gMik7Ci0gIF9fbTEyOGkgc3Jj
LCByZWYsIHZlYzsKLSAgX19tMTI4aSBhdmcgPSBfX2xzeF92bGRpKDApOwotICBfX20xMjhpIHZh
ciA9IGF2ZzsKLQotICBmb3IgKDsgaHRfY250LS07KSB7Ci0gICAgc3JjID0gX19sc3hfdmxkKHNy
Y19wdHIsIDApOwotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByZWYgPSBfX2xzeF92
bGQocmVmX3B0ciwgMCk7Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAgIENBTENfTVNF
X0FWR19CKHNyYywgcmVmLCB2YXIsIGF2Zyk7Ci0KLSAgICBzcmMgPSBfX2xzeF92bGQoc3JjX3B0
ciwgMCk7Ci0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIHJlZiA9IF9fbHN4X3ZsZChy
ZWZfcHRyLCAwKTsKLSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgQ0FMQ19NU0VfQVZH
X0Ioc3JjLCByZWYsIHZhciwgYXZnKTsKLSAgICBzcmMgPSBfX2xzeF92bGQoc3JjX3B0ciwgMCk7
Ci0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIHJlZiA9IF9fbHN4X3ZsZChyZWZfcHRy
LCAwKTsKLSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgQ0FMQ19NU0VfQVZHX0Ioc3Jj
LCByZWYsIHZhciwgYXZnKTsKLQotICAgIHNyYyA9IF9fbHN4X3ZsZChzcmNfcHRyLCAwKTsKLSAg
ICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcmVmID0gX19sc3hfdmxkKHJlZl9wdHIsIDAp
OwotICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMsIHJl
ZiwgdmFyLCBhdmcpOwotICB9Ci0gIHZlYyA9IF9fbHN4X3ZoYWRkd193X2goYXZnLCBhdmcpOwot
ICBIQUREX1NXX1MzMih2ZWMsICpkaWZmKTsKLSAgSEFERF9TV19TMzIodmFyLCByZXMpOwotICBy
ZXR1cm4gcmVzOwotfQotCi1zdGF0aWMgdWludDMyX3Qgc3NlX2RpZmZfMzJ3aWR0aF9sc3goY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludDMyX3QgcmVm
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhl
aWdodCwgaW50MzJfdCAqZGlmZikgewotICBpbnQzMl90IHJlcywgaHRfY250ID0gKGhlaWdodCA+
PiAyKTsKLSAgX19tMTI4aSBhdmcgPSBfX2xzeF92bGRpKDApOwotICBfX20xMjhpIHNyYzAsIHNy
YzEsIHJlZjAsIHJlZjE7Ci0gIF9fbTEyOGkgdmVjOwotICBfX20xMjhpIHZhciA9IGF2ZzsKLQot
ICBmb3IgKDsgaHRfY250LS07KSB7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjX3B0ciwg
MCwgc3JjX3B0ciwgMTYsIHNyYzAsIHNyYzEpOwotICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsK
LSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCByZWZfcHRyLCAwLCByZWZfcHRyLCAxNiwgcmVmMCwg
cmVmMSk7Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAgIENBTENfTVNFX0FWR19CKHNy
YzAsIHJlZjAsIHZhciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMxLCByZWYxLCB2YXIs
IGF2Zyk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmNfcHRyLCAwLCBzcmNfcHRyLCAx
Niwgc3JjMCwgc3JjMSk7Ci0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIERVUDJfQVJH
MihfX2xzeF92bGQsIHJlZl9wdHIsIDAsIHJlZl9wdHIsIDE2LCByZWYwLCByZWYxKTsKLSAgICBy
ZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgQ0FMQ19NU0VfQVZHX0Ioc3JjMCwgcmVmMCwgdmFy
LCBhdmcpOwotICAgIENBTENfTVNFX0FWR19CKHNyYzEsIHJlZjEsIHZhciwgYXZnKTsKLQotICAg
IERVUDJfQVJHMihfX2xzeF92bGQsIHNyY19wdHIsIDAsIHNyY19wdHIsIDE2LCBzcmMwLCBzcmMx
KTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwg
cmVmX3B0ciwgMCwgcmVmX3B0ciwgMTYsIHJlZjAsIHJlZjEpOwotICAgIHJlZl9wdHIgKz0gcmVm
X3N0cmlkZTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMwLCByZWYwLCB2YXIsIGF2Zyk7Ci0gICAg
Q0FMQ19NU0VfQVZHX0Ioc3JjMSwgcmVmMSwgdmFyLCBhdmcpOwotCi0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZsZCwgc3JjX3B0ciwgMCwgc3JjX3B0ciwgMTYsIHNyYzAsIHNyYzEpOwotICAgIHNyY19w
dHIgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCByZWZfcHRyLCAwLCBy
ZWZfcHRyLCAxNiwgcmVmMCwgcmVmMSk7Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAg
IENBTENfTVNFX0FWR19CKHNyYzAsIHJlZjAsIHZhciwgYXZnKTsKLSAgICBDQUxDX01TRV9BVkdf
QihzcmMxLCByZWYxLCB2YXIsIGF2Zyk7Ci0gIH0KLQotICB2ZWMgPSBfX2xzeF92aGFkZHdfd19o
KGF2ZywgYXZnKTsKLSAgSEFERF9TV19TMzIodmVjLCAqZGlmZik7Ci0gIEhBRERfU1dfUzMyKHZh
ciwgcmVzKTsKLSAgcmV0dXJuIHJlczsKLX0KLQotc3RhdGljIHVpbnQzMl90IHNzZV9kaWZmXzY0
eDY0X2xzeChjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dDMyX3QgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MzJfdCAqZGlmZikgewotICBpbnQzMl90IHJlcywgaHRfY250ID0gMzI7Ci0gIF9fbTEyOGkgYXZn
MCA9IF9fbHN4X3ZsZGkoMCk7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMzsKLSAg
X19tMTI4aSByZWYwLCByZWYxLCByZWYyLCByZWYzOwotICBfX20xMjhpIHZlYzAsIHZlYzE7Ci0g
IF9fbTEyOGkgYXZnMSA9IGF2ZzA7Ci0gIF9fbTEyOGkgYXZnMiA9IGF2ZzA7Ci0gIF9fbTEyOGkg
YXZnMyA9IGF2ZzA7Ci0gIF9fbTEyOGkgdmFyID0gYXZnMDsKLQotICBmb3IgKDsgaHRfY250LS07
KSB7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjX3B0ciwgMCwgc3JjX3B0ciwgMTYsIHNy
Y19wdHIsIDMyLCBzcmNfcHRyLCA0OCwKLSAgICAgICAgICAgICAgc3JjMCwgc3JjMSwgc3JjMiwg
c3JjMyk7Ci0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIERVUDRfQVJHMihfX2xzeF92
bGQsIHJlZl9wdHIsIDAsIHJlZl9wdHIsIDE2LCByZWZfcHRyLCAzMiwgcmVmX3B0ciwgNDgsCi0g
ICAgICAgICAgICAgIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMpOwotICAgIHJlZl9wdHIgKz0gcmVm
X3N0cmlkZTsKLQotICAgIENBTENfTVNFX0FWR19CKHNyYzAsIHJlZjAsIHZhciwgYXZnMCk7Ci0g
ICAgQ0FMQ19NU0VfQVZHX0Ioc3JjMSwgcmVmMSwgdmFyLCBhdmcxKTsKLSAgICBDQUxDX01TRV9B
VkdfQihzcmMyLCByZWYyLCB2YXIsIGF2ZzIpOwotICAgIENBTENfTVNFX0FWR19CKHNyYzMsIHJl
ZjMsIHZhciwgYXZnMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjX3B0ciwgMCwgc3Jj
X3B0ciwgMTYsIHNyY19wdHIsIDMyLCBzcmNfcHRyLCA0OCwKLSAgICAgICAgICAgICAgc3JjMCwg
c3JjMSwgc3JjMiwgc3JjMyk7Ci0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIERVUDRf
QVJHMihfX2xzeF92bGQsIHJlZl9wdHIsIDAsIHJlZl9wdHIsIDE2LCByZWZfcHRyLCAzMiwgcmVm
X3B0ciwgNDgsCi0gICAgICAgICAgICAgIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMpOwotICAgIHJl
Zl9wdHIgKz0gcmVmX3N0cmlkZTsKLSAgICBDQUxDX01TRV9BVkdfQihzcmMwLCByZWYwLCB2YXIs
IGF2ZzApOwotICAgIENBTENfTVNFX0FWR19CKHNyYzEsIHJlZjEsIHZhciwgYXZnMSk7Ci0gICAg
Q0FMQ19NU0VfQVZHX0Ioc3JjMiwgcmVmMiwgdmFyLCBhdmcyKTsKLSAgICBDQUxDX01TRV9BVkdf
QihzcmMzLCByZWYzLCB2YXIsIGF2ZzMpOwotICB9Ci0gIHZlYzAgPSBfX2xzeF92aGFkZHdfd19o
KGF2ZzAsIGF2ZzApOwotICB2ZWMxID0gX19sc3hfdmhhZGR3X3dfaChhdmcxLCBhdmcxKTsKLSAg
dmVjMCA9IF9fbHN4X3ZhZGRfdyh2ZWMwLCB2ZWMxKTsKLSAgdmVjMSA9IF9fbHN4X3ZoYWRkd193
X2goYXZnMiwgYXZnMik7Ci0gIHZlYzAgPSBfX2xzeF92YWRkX3codmVjMCwgdmVjMSk7Ci0gIHZl
YzEgPSBfX2xzeF92aGFkZHdfd19oKGF2ZzMsIGF2ZzMpOwotICB2ZWMwID0gX19sc3hfdmFkZF93
KHZlYzAsIHZlYzEpOwotICBIQUREX1NXX1MzMih2ZWMwLCAqZGlmZik7Ci0gIEhBRERfU1dfUzMy
KHZhciwgcmVzKTsKLSAgcmV0dXJuIHJlczsKLX0KLQotI2RlZmluZSBWQVJJQU5DRV84V3g4SChz
c2UsIGRpZmYpIFZBUklBTkNFX1d4SChzc2UsIGRpZmYsIDYpCi0jZGVmaW5lIFZBUklBTkNFXzE2
V3gxNkgoc3NlLCBkaWZmKSBWQVJJQU5DRV9XeEgoc3NlLCBkaWZmLCA4KQotCi0jZGVmaW5lIFZB
UklBTkNFXzMyV3gzMkgoc3NlLCBkaWZmKSBWQVJJQU5DRV9MQVJHRV9XeEgoc3NlLCBkaWZmLCAx
MCkKLSNkZWZpbmUgVkFSSUFOQ0VfNjRXeDY0SChzc2UsIGRpZmYpIFZBUklBTkNFX0xBUkdFX1d4
SChzc2UsIGRpZmYsIDEyKQotCi0jZGVmaW5lIFZQWF9WQVJJQU5DRV9XRFhIVF9MU1god2QsIGh0
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50MzJfdCB2
cHhfdmFyaWFuY2UjI3dkIyN4IyNodCMjX2xzeCggICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpyZWYsICAgICAgICAgICAgICBcCi0gICAgICBpbnQzMl90IHJlZl9z
dHJpZGUsIHVpbnQzMl90ICpzc2UpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGludDMyX3QgZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgKnNzZSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBzc2VfZGlmZl8jI3dkIyN3aWR0aF9sc3go
c3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIGh0LCAmZGlmZik7IFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgcmV0dXJuIFZBUklBTkNFXyMjd2QjI1d4IyNodCMjSCgqc3Nl
LCBkaWZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLXN0YXRpYyB1
aW50MzJfdCBzc2VfMTZ3aWR0aF9sc3goY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50MzJfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
ICpyZWZfcHRyLCBpbnQzMl90IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGludDMyX3QgcmVzLCBodF9jbnQgPSAoaGVpZ2h0
ID4+IDIpOwotICBfX20xMjhpIHNyYywgcmVmOwotICBfX20xMjhpIHZhciA9IF9fbHN4X3ZsZGko
MCk7Ci0KLSAgZm9yICg7IGh0X2NudC0tOykgewotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNy
Y19wdHIsIDAsIHJlZl9wdHIsIDAsIHNyYywgcmVmKTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJp
ZGU7Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAgIENBTENfTVNFX0Ioc3JjLCByZWYs
IHZhcik7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmNfcHRyLCAwLCByZWZfcHRyLCAw
LCBzcmMsIHJlZik7Ci0gICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgIHJlZl9wdHIgKz0g
cmVmX3N0cmlkZTsKLSAgICBDQUxDX01TRV9CKHNyYywgcmVmLCB2YXIpOwotCi0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZsZCwgc3JjX3B0ciwgMCwgcmVmX3B0ciwgMCwgc3JjLCByZWYpOwotICAgIHNy
Y19wdHIgKz0gc3JjX3N0cmlkZTsKLSAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7Ci0gICAgQ0FM
Q19NU0VfQihzcmMsIHJlZiwgdmFyKTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyY19w
dHIsIDAsIHJlZl9wdHIsIDAsIHNyYywgcmVmKTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7
Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAgIENBTENfTVNFX0Ioc3JjLCByZWYsIHZh
cik7Ci0gIH0KLSAgSEFERF9TV19TMzIodmFyLCByZXMpOwotICByZXR1cm4gcmVzOwotfQotCi1W
UFhfVkFSSUFOQ0VfV0RYSFRfTFNYKDgsIDgpCi1WUFhfVkFSSUFOQ0VfV0RYSFRfTFNYKDE2LCAx
NikKLVZQWF9WQVJJQU5DRV9XRFhIVF9MU1goMzIsIDMyKQotCi11aW50MzJfdCB2cHhfdmFyaWFu
Y2U2NHg2NF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJl
Zl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnNzZSkg
ewotICBpbnQzMl90IGRpZmY7Ci0KLSAgKnNzZSA9IHNzZV9kaWZmXzY0eDY0X2xzeChzcmMsIHNy
Y19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgJmRpZmYpOwotCi0gIHJldHVybiBWQVJJQU5DRV82
NFd4NjRIKCpzc2UsIGRpZmYpOwotfQotCi11aW50MzJfdCB2cHhfbXNlMTZ4MTZfbHN4KGNvbnN0
IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpyZWYsIGludDMyX3QgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3QgKnNzZSkgewotICAqc3NlID0gc3NlXzE2d2lkdGhfbHN4
KHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCAxNik7Ci0KLSAgcmV0dXJuICpzc2U7
Ci19Ci0KLXZvaWQgdnB4X2dldDE2eDE2dmFyX2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMy
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpy
ZWYsIGludDMyX3QgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMl90ICpzdW0pIHsKLSAgKnNzZSA9IHNzZV9kaWZmXzE2d2lkdGhfbHN4KHNy
Yywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCAxNiwgc3VtKTsKLX0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdmFyaWFuY2VfbHN4LmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbG9vbmdhcmNoL3ZhcmlhbmNlX2xzeC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjZjllOTg5MGZmNmIuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvbG9vbmdhcmNoL3ZhcmlhbmNlX2xzeC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBA
QAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4g
YWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3Vu
ZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0
aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9m
IHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaWZuZGVmIFZQWF9WUFhfRFNQX0xPT05HQVJDSF9W
QVJJQU5DRV9MU1hfSF8KLSNkZWZpbmUgVlBYX1ZQWF9EU1BfTE9PTkdBUkNIX1ZBUklBTkNFX0xT
WF9IXwotCi0jaW5jbHVkZSAidnB4X3V0aWwvbG9vbmdzb25faW50cmluc2ljcy5oIgotCi0jZGVm
aW5lIEhBRERfU1dfUzMyKGluMCwgaW4xKSAgICAgICAgICAgICAgICAgIFwKLSAgZG8geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTEyOGkgcmVzMF9t
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXMwX20gPSBfX2xzeF92aGFkZHdfZF93KGlu
MCwgaW4wKTsgICAgICAgXAotICAgIHJlczBfbSA9IF9fbHN4X3ZoYWRkd19xX2QocmVzMF9tLCBy
ZXMwX20pOyBcCi0gICAgaW4xID0gX19sc3hfdnBpY2t2ZTJncl93KHJlczBfbSwgMCk7ICAgICAg
IFwKLSAgfSB3aGlsZSAoMCkKLQotI2RlZmluZSBIT1JJWl8yVEFQX0ZJTFRfVUgoaW4wLCBpbjEs
IG1hc2ssIGNvZWZmLCBzaGlmdCwgaW4yKSBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHRtcDBfbSwg
dG1wMV9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
dG1wMF9tID0gX19sc3hfdnNodWZfYihpbjEsIGluMCwgbWFzayk7ICAgICAgICAgICAgICAgICAg
IFwKLSAgICB0bXAxX20gPSBfX2xzeF92ZHAyX2hfYnUodG1wMF9tLCBjb2VmZik7ICAgICAgICAg
ICAgICAgICAgXAotICAgIGluMiA9IF9fbHN4X3ZzcmFyaV9oKHRtcDFfbSwgc2hpZnQpOyAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNkZWZpbmUgQ0FMQ19NU0VfQihz
cmMsIHJlZiwgdmFyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBzcmNfbDBfbSwgc3JjX2wxX207ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHJlc19s
MF9tLCByZXNfbDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3JjX2wwX20gPSBfX2xzeF92aWx2bF9iKHNyYywg
cmVmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzcmNfbDFfbSA9
IF9fbHN4X3ZpbHZoX2Ioc3JjLCByZWYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aHN1YndfaHVfYnUsIHNyY19sMF9tLCBzcmNfbDBf
bSwgc3JjX2wxX20sIHNyY19sMV9tLCBcCi0gICAgICAgICAgICAgIHJlc19sMF9tLCByZXNfbDFf
bSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2YXIgPSBf
X2xzeF92ZHAyYWRkX3dfaCh2YXIsIHJlc19sMF9tLCByZXNfbDBfbSk7ICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIHZhciA9IF9fbHN4X3ZkcDJhZGRfd19oKHZhciwgcmVzX2wxX20sIHJlc19s
MV9tKTsgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNkZWZpbmUgQ0FM
Q19NU0VfQVZHX0Ioc3JjLCByZWYsIHZhciwgc3ViKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBzcmNfbDBfbSwgc3JjX2wx
X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20x
MjhpIHJlc19sMF9tLCByZXNfbDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3JjX2wwX20gPSBfX2xzeF92aWx2
bF9iKHNyYywgcmVmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBz
cmNfbDFfbSA9IF9fbHN4X3ZpbHZoX2Ioc3JjLCByZWYpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aHN1YndfaHVfYnUsIHNyY19sMF9t
LCBzcmNfbDBfbSwgc3JjX2wxX20sIHNyY19sMV9tLCBcCi0gICAgICAgICAgICAgIHJlc19sMF9t
LCByZXNfbDFfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICB2YXIgPSBfX2xzeF92ZHAyYWRkX3dfaCh2YXIsIHJlc19sMF9tLCByZXNfbDBfbSk7ICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIHZhciA9IF9fbHN4X3ZkcDJhZGRfd19oKHZhciwgcmVzX2wx
X20sIHJlc19sMV9tKTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3ViID0gX19sc3hfdmFk
ZF9oKHN1YiwgcmVzX2wwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBzdWIgPSBfX2xzeF92YWRkX2goc3ViLCByZXNfbDFfbSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICB9IHdoaWxlICgwKQotCi0jZW5kaWYgIC8vIFZQWF9WUFhf
RFNQX0xPT05HQVJDSF9WQVJJQU5DRV9MU1hfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbHN4LmMgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfYXZnX2hvcml6X2xzeC5jCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYzU5MjI4ODEzZWUuLjAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfYXZnX2hvcml6X2xzeC5j
CisrKyAvZGV2L251bGwKQEAgLTEsOTcyICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAy
MDIyIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0g
KiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJv
b3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHBy
b3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRT
LiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4g
dGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQot
I2luY2x1ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVk
ZSAidnB4X2RzcC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlX2xzeC5oIgotCi1zdGF0aWMgY29uc3Qg
dWludDhfdCBtY19maWx0X21hc2tfYXJyWzE2ICogM10gPSB7Ci0gIC8qIDggd2lkdGggY2FzZXMg
Ki8KLSAgMCwgMSwgMSwgMiwgMiwgMywgMywgNCwgNCwgNSwgNSwgNiwgNiwgNywgNywgOCwKLSAg
LyogNCB3aWR0aCBjYXNlcyAqLwotICAwLCAxLCAxLCAyLCAyLCAzLCAzLCA0LCAxNiwgMTcsIDE3
LCAxOCwgMTgsIDE5LCAxOSwgMjAsCi0gIC8qIDQgd2lkdGggY2FzZXMgKi8KLSAgOCwgOSwgOSwg
MTAsIDEwLCAxMSwgMTEsIDEyLCAyNCwgMjUsIDI1LCAyNiwgMjYsIDI3LCAyNywgMjgKLX07Ci0K
LXN0YXRpYyB2b2lkIGNvbW1vbl9oel84dF9hbmRfYXZlcl9kc3RfNHg0X2xzeChjb25zdCB1aW50
OF90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyKSB7Ci0gIHVp
bnQ4X3QgKmRzdF90bXAgPSBkc3Q7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMzsK
LSAgX19tMTI4aSBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzOwotICBfX20xMjhp
IG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szOwotICBfX20xMjhpIHRtcDAsIHRtcDE7Ci0gIF9f
bTEyOGkgZHN0MCwgZHN0MSwgZHN0MiwgZHN0MzsKLQotICBtYXNrMCA9IF9fbHN4X3ZsZChtY19m
aWx0X21hc2tfYXJyLCAxNik7Ci0gIHNyYyAtPSAzOwotICBEVVAyX0FSRzIoX19sc3hfdmFkZGlf
YnUsIG1hc2swLCAyLCBtYXNrMCwgNCwgbWFzazEsIG1hc2syKTsKLSAgbWFzazMgPSBfX2xzeF92
YWRkaV9idShtYXNrMCwgNik7Ci0gIERVUDRfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlciwg
MCwgZmlsdGVyLCAyLCBmaWx0ZXIsIDQsIGZpbHRlciwgNiwKLSAgICAgICAgICAgIGZpbHRlcjAs
IGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMpOwotICBMU1hfTERfNChzcmMsIHNyY19zdHJpZGUs
IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwotICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3Jj
MCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAg
ICAgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gIEhPUklaXzhUQVBfNFdJRF80VkVDU19GSUxUKHNyYzAs
IHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzLCB0
bXAwLCB0bXAxKTsKLSAgZHN0MCA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0
X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QxID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDAp
OwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDIgPSBfX2xzeF92bGRyZXBsX3coZHN0
X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MyA9IF9fbHN4X3ZsZHJl
cGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0MCA9IF9fbHN4X3ZpbHZsX3coZHN0MSwgZHN0MCk7Ci0g
IGRzdDEgPSBfX2xzeF92aWx2bF93KGRzdDMsIGRzdDIpOwotICBkc3QwID0gX19sc3hfdmlsdmxf
ZChkc3QxLCBkc3QwKTsKLSAgdG1wMCA9IF9fbHN4X3Zzc3Jhcm5pX2JfaCh0bXAxLCB0bXAwLCA3
KTsKLSAgdG1wMCA9IF9fbHN4X3Z4b3JpX2IodG1wMCwgMTI4KTsKLSAgZHN0MCA9IF9fbHN4X3Zh
dmdyX2J1KHRtcDAsIGRzdDApOwotICBfX2xzeF92c3RlbG1fdyhkc3QwLCBkc3QsIDAsIDApOwot
ICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3coZHN0MCwgZHN0LCAwLCAxKTsK
LSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KGRzdDAsIGRzdCwgMCwgMik7
Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhkc3QwLCBkc3QsIDAsIDMp
OwotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHpfOHRfYW5kX2F2ZXJfZHN0XzR4OF9sc3goY29u
c3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcikg
ewotICB1aW50OF90ICpkc3RfdG1wID0gZHN0OwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzMsIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjM7Ci0gIF9fbTEyOGkgbWFz
azAsIG1hc2sxLCBtYXNrMiwgbWFzazMsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Ci0gIF9fbTEy
OGkgZHN0MCwgZHN0MTsKLQotICBtYXNrMCA9IF9fbHN4X3ZsZChtY19maWx0X21hc2tfYXJyLCAx
Nik7Ci0gIHNyYyAtPSAzOwotICBEVVAyX0FSRzIoX19sc3hfdmFkZGlfYnUsIG1hc2swLCAyLCBt
YXNrMCwgNCwgbWFzazEsIG1hc2syKTsKLSAgbWFzazMgPSBfX2xzeF92YWRkaV9idShtYXNrMCwg
Nik7Ci0gIERVUDRfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBm
aWx0ZXIsIDQsIGZpbHRlciwgNiwKLSAgICAgICAgICAgIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRl
cjIsIGZpbHRlcjMpOwotCi0gIExTWF9MRF80KHNyYywgc3JjX3N0cmlkZSwgc3JjMCwgc3JjMSwg
c3JjMiwgc3JjMyk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotICBEVVA0X0FSRzIoX19sc3hfdnhv
cmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAot
ICAgICAgICAgICAgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gIHRtcDAgPSBfX2xzeF92bGRyZXBsX3co
ZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgdG1wMSA9IF9fbHN4X3Zs
ZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICB0bXAyID0g
X19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0g
IHRtcDMgPSBfX2xzeF92bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0
cmlkZTsKLSAgdG1wMCA9IF9fbHN4X3ZpbHZsX3codG1wMSwgdG1wMCk7Ci0gIHRtcDEgPSBfX2xz
eF92aWx2bF93KHRtcDMsIHRtcDIpOwotICBkc3QwID0gX19sc3hfdmlsdmxfZCh0bXAxLCB0bXAw
KTsKLQotICB0bXAwID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9
IGRzdF9zdHJpZGU7Ci0gIHRtcDEgPSBfX2xzeF92bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRz
dF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgdG1wMiA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAw
KTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICB0bXAzID0gX19sc3hfdmxkcmVwbF93KGRz
dF90bXAsIDApOwotICB0bXAwID0gX19sc3hfdmlsdmxfdyh0bXAxLCB0bXAwKTsKLSAgdG1wMSA9
IF9fbHN4X3ZpbHZsX3codG1wMywgdG1wMik7Ci0gIGRzdDEgPSBfX2xzeF92aWx2bF9kKHRtcDEs
IHRtcDApOwotCi0gIEhPUklaXzhUQVBfNFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzLCB0bXAwLCB0bXAxKTsK
LSAgTFNYX0xEXzQoc3JjLCBzcmNfc3RyaWRlLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAg
RFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzAsIDEyOCwgc3JjMSwgMTI4LCBzcmMyLCAxMjgs
IHNyYzMsIDEyOCwgc3JjMCwKLSAgICAgICAgICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICBIT1JJ
Wl84VEFQXzRXSURfNFZFQ1NfRklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFz
azEsIG1hc2syLCBtYXNrMywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMCwg
ZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMywgdG1wMiwgdG1wMyk7Ci0gIERVUDRfQVJHMyhfX2xz
eF92c3NyYXJuaV9iX2gsIHRtcDAsIHRtcDAsIDcsIHRtcDEsIHRtcDEsIDcsIHRtcDIsIHRtcDIs
IDcsCi0gICAgICAgICAgICB0bXAzLCB0bXAzLCA3LCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsK
LSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2QsIHRtcDEsIHRtcDAsIHRtcDMsIHRtcDIsIHRtcDAs
IHRtcDEpOwotICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgdG1wMCwgMTI4LCB0bXAxLCAxMjgs
IHRtcDAsIHRtcDEpOwotICBEVVAyX0FSRzIoX19sc3hfdmF2Z3JfYnUsIHRtcDAsIGRzdDAsIHRt
cDEsIGRzdDEsIGRzdDAsIGRzdDEpOwotICBfX2xzeF92c3RlbG1fdyhkc3QwLCBkc3QsIDAsIDAp
OwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3coZHN0MCwgZHN0LCAwLCAx
KTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KGRzdDAsIGRzdCwgMCwg
Mik7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhkc3QwLCBkc3QsIDAs
IDMpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3coZHN0MSwgZHN0LCAw
LCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KGRzdDEsIGRzdCwg
MCwgMSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhkc3QxLCBkc3Qs
IDAsIDIpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3coZHN0MSwgZHN0
LCAwLCAzKTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6Xzh0X2FuZF9hdmVyX2RzdF80d19s
c3goY29uc3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUsIGlu
dDhfdCAqZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MzJfdCBoZWlnaHQpIHsKLSAgaWYgKGhlaWdodCA9PSA0KSB7Ci0gICAgY29tbW9uX2h6
Xzh0X2FuZF9hdmVyX2RzdF80eDRfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRl
LCBmaWx0ZXIpOwotICB9IGVsc2UgaWYgKGhlaWdodCA9PSA4KSB7Ci0gICAgY29tbW9uX2h6Xzh0
X2FuZF9hdmVyX2RzdF80eDhfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBm
aWx0ZXIpOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9oel84dF9hbmRfYXZlcl9kc3Rf
OHdfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRl
LCBpbnQ4X3QgKmZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4g
MjsKLSAgdWludDhfdCAqZHN0X3RtcCA9IGRzdDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMy
LCBzcmMzLCBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzOwotICBfX20xMjhpIG1h
c2swLCBtYXNrMSwgbWFzazIsIG1hc2szOwotICBfX20xMjhpIHRtcDAsIHRtcDEsIHRtcDIsIHRt
cDM7Ci0gIF9fbTEyOGkgZHN0MCwgZHN0MSwgZHN0MiwgZHN0MzsKLSAgaW50MzJfdCBzcmNfc3Ry
aWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJp
ZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8
IDE7Ci0gIHVpbnQ4X3QgKl9zcmMgPSAodWludDhfdCAqKXNyYyAtIDM7Ci0KLSAgbWFzazAgPSBf
X2xzeF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkaV9i
dSwgbWFzazAsIDIsIG1hc2swLCA0LCBtYXNrMSwgbWFzazIpOwotICBtYXNrMyA9IF9fbHN4X3Zh
ZGRpX2J1KG1hc2swLCA2KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyLCAw
LCBmaWx0ZXIsIDIsIGZpbHRlciwgNCwgZmlsdGVyLCA2LAotICAgICAgICAgICAgZmlsdGVyMCwg
ZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMyk7Ci0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAg
IHNyYzAgPSBfX2xzeF92bGQoX3NyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIF9z
cmMsIHNyY19zdHJpZGUsIF9zcmMsIHNyY19zdHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAgICBzcmMz
ID0gX19sc3hfdmxkeChfc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgX3NyYyArPSBzcmNfc3RyaWRl
NDsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNy
YzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMz
KTsKLSAgICBIT1JJWl84VEFQXzhXSURfNFZFQ1NfRklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
LCBtYXNrMCwgbWFzazEsIG1hc2syLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h
c2szLCBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzLCB0bXAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRtcDEsIHRtcDIsIHRtcDMpOwotICAgIGRzdDAgPSBfX2xz
eF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAg
IGRzdDEgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rf
c3RyaWRlOwotICAgIGRzdDIgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0
X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIGRzdDMgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwg
MCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2
bF9kLCBkc3QxLCBkc3QwLCBkc3QzLCBkc3QyLCBkc3QwLCBkc3QxKTsKLSAgICBEVVAyX0FSRzMo
X19sc3hfdnNzcmFybmlfYl9oLCB0bXAxLCB0bXAwLCA3LCB0bXAzLCB0bXAyLCA3LCB0bXAwLCB0
bXAxKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgdG1wMCwgMTI4LCB0bXAxLCAxMjgs
IHRtcDAsIHRtcDEpOwotICAgIERVUDJfQVJHMihfX2xzeF92YXZncl9idSwgdG1wMCwgZHN0MCwg
dG1wMSwgZHN0MSwgZHN0MCwgZHN0MSk7Ci0gICAgX19sc3hfdnN0ZWxtX2QoZHN0MCwgZHN0LCAw
LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZChkc3QwLCBk
c3QsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV9kKGRz
dDEsIGRzdCwgMCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxt
X2QoZHN0MSwgZHN0LCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgfQotfQotCi1z
dGF0aWMgdm9pZCBjb21tb25faHpfOHRfYW5kX2F2ZXJfZHN0XzE2d19sc3goY29uc3QgdWludDhf
dCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBo
ZWlnaHQpIHsKLSAgaW50MzJfdCBsb29wX2NudCA9IGhlaWdodCA+PiAxOwotICBpbnQzMl90IGRz
dF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8PCAxOwotICB1aW50OF90ICpkc3RfdG1wID0gZHN0Owot
ICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRl
cjIsIGZpbHRlcjM7Ci0gIF9fbTEyOGkgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazMsIGRzdDAs
IGRzdDEsIGRzdDIsIGRzdDM7Ci0gIF9fbTEyOGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMywgdG1w
NCwgdG1wNSwgdG1wNiwgdG1wNzsKLSAgX19tMTI4aSB0bXA4LCB0bXA5LCB0bXAxMCwgdG1wMTEs
IHRtcDEyLCB0bXAxMywgdG1wMTQsIHRtcDE1OwotCi0gIG1hc2swID0gX19sc3hfdmxkKG1jX2Zp
bHRfbWFza19hcnIsIDApOwotICBzcmMgLT0gMzsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRpX2J1
LCBtYXNrMCwgMiwgbWFzazAsIDQsIG1hc2sxLCBtYXNrMik7Ci0gIG1hc2szID0gX19sc3hfdmFk
ZGlfYnUobWFzazAsIDYpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXIsIDAs
IGZpbHRlciwgMiwgZmlsdGVyLCA0LCBmaWx0ZXIsIDYsCi0gICAgICAgICAgICBmaWx0ZXIwLCBm
aWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzKTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgOCwgc3JjMCwgc3JjMSk7Ci0gICAg
c3JjICs9IHNyY19zdHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMs
IDgsIHNyYzIsIHNyYzMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIGRzdDAgPSBfX2xz
eF92bGQoZHN0X3RtcCwgMCk7Ci0gICAgZHN0MSA9IF9fbHN4X3ZsZHgoZHN0X3RtcCwgZHN0X3N0
cmlkZSk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlMjsKLSAgICBEVVA0X0FSRzIoX19sc3hf
dnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMw
LAotICAgICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBEVVA0X0FSRzMoX19sc3hf
dnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzazAsIHNyYzEsIHNyYzEsIG1hc2swLCBzcmMyLCBzcmMy
LAotICAgICAgICAgICAgICBtYXNrMCwgc3JjMywgc3JjMywgbWFzazAsIHRtcDAsIHRtcDEsIHRt
cDIsIHRtcDMpOwotICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNr
MSwgc3JjMSwgc3JjMSwgbWFzazEsIHNyYzIsIHNyYzIsCi0gICAgICAgICAgICAgIG1hc2sxLCBz
cmMzLCBzcmMzLCBtYXNrMSwgdG1wNCwgdG1wNSwgdG1wNiwgdG1wNyk7Ci0gICAgRFVQNF9BUkcz
KF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1hc2syLCBzcmMxLCBzcmMxLCBtYXNrMiwgc3Jj
Miwgc3JjMiwKLSAgICAgICAgICAgICAgbWFzazIsIHNyYzMsIHNyYzMsIG1hc2syLCB0bXA4LCB0
bXA5LCB0bXAxMCwgdG1wMTEpOwotICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBz
cmMwLCBtYXNrMywgc3JjMSwgc3JjMSwgbWFzazMsIHNyYzIsIHNyYzIsCi0gICAgICAgICAgICAg
IG1hc2szLCBzcmMzLCBzcmMzLCBtYXNrMywgdG1wMTIsIHRtcDEzLCB0bXAxNCwgdG1wMTUpOwot
ICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYiwgdG1wMCwgZmlsdGVyMCwgdG1wMSwgZmlsdGVy
MCwgdG1wMiwgZmlsdGVyMCwgdG1wMywKLSAgICAgICAgICAgICAgZmlsdGVyMCwgdG1wMCwgdG1w
MSwgdG1wMiwgdG1wMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9iLCB0bXA4LCBmaWx0
ZXIyLCB0bXA5LCBmaWx0ZXIyLCB0bXAxMCwgZmlsdGVyMiwKLSAgICAgICAgICAgICAgdG1wMTEs
IGZpbHRlcjIsIHRtcDgsIHRtcDksIHRtcDEwLCB0bXAxMSk7Ci0gICAgRFVQNF9BUkczKF9fbHN4
X3ZkcDJhZGRfaF9iLCB0bXAwLCB0bXA0LCBmaWx0ZXIxLCB0bXAxLCB0bXA1LCBmaWx0ZXIxLCB0
bXAyLAotICAgICAgICAgICAgICB0bXA2LCBmaWx0ZXIxLCB0bXAzLCB0bXA3LCBmaWx0ZXIxLCB0
bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF9oX2Is
IHRtcDgsIHRtcDEyLCBmaWx0ZXIzLCB0bXA5LCB0bXAxMywgZmlsdGVyMywKLSAgICAgICAgICAg
ICAgdG1wMTAsIHRtcDE0LCBmaWx0ZXIzLCB0bXAxMSwgdG1wMTUsIGZpbHRlcjMsIHRtcDQsIHRt
cDUsIHRtcDYsCi0gICAgICAgICAgICAgIHRtcDcpOwotICAgIERVUDRfQVJHMihfX2xzeF92c2Fk
ZF9oLCB0bXAwLCB0bXA0LCB0bXAxLCB0bXA1LCB0bXAyLCB0bXA2LCB0bXAzLCB0bXA3LAotICAg
ICAgICAgICAgICB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBEVVAyX0FSRzMoX19sc3hf
dnNzcmFybmlfYl9oLCB0bXAxLCB0bXAwLCA3LCB0bXAzLCB0bXAyLCA3LCBkc3QyLCBkc3QzKTsK
LSAgICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgZHN0MiwgMTI4LCBkc3QzLCAxMjgsIGRzdDIs
IGRzdDMpOwotICAgIERVUDJfQVJHMihfX2xzeF92YXZncl9idSwgZHN0MCwgZHN0MiwgZHN0MSwg
ZHN0MywgZHN0MCwgZHN0MSk7Ci0gICAgX19sc3hfdnN0KGRzdDAsIGRzdCwgMCk7Ci0gICAgX19s
c3hfdnN0eChkc3QxLCBkc3QsIGRzdF9zdHJpZGUpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlMjsK
LSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHpfOHRfYW5kX2F2ZXJfZHN0XzMyd19sc3go
Y29uc3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRl
ciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQ7Ci0gIHVp
bnQ4X3QgKmRzdF90bXAgPSBkc3Q7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywg
ZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMzsKLSAgX19tMTI4aSBtYXNrMCwgbWFz
azEsIG1hc2syLCBtYXNrMywgZHN0MCwgZHN0MTsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0bXAy
LCB0bXAzLCB0bXA0LCB0bXA1LCB0bXA2LCB0bXA3OwotICBfX20xMjhpIHRtcDgsIHRtcDksIHRt
cDEwLCB0bXAxMSwgdG1wMTIsIHRtcDEzLCB0bXAxNCwgdG1wMTU7Ci0gIF9fbTEyOGkgc2h1ZmYg
PSB7IDB4MEYwRTBEMEMwQjBBMDkwOCwgMHgxNzE2MTUxNDEzMTIxMTEwIH07Ci0KLSAgbWFzazAg
PSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0gIHNyYyAtPSAzOwotICBEVVAyX0FS
RzIoX19sc3hfdmFkZGlfYnUsIG1hc2swLCAyLCBtYXNrMCwgNCwgbWFzazEsIG1hc2syKTsKLSAg
bWFzazMgPSBfX2xzeF92YWRkaV9idShtYXNrMCwgNik7Ci0gIERVUDRfQVJHMihfX2xzeF92bGRy
ZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBmaWx0ZXIsIDQsIGZpbHRlciwgNiwKLSAgICAg
ICAgICAgIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMpOwotICBmb3IgKDsgbG9v
cF9jbnQtLTspIHsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgMTYsIHNy
YzAsIHNyYzIpOwotICAgIHNyYzMgPSBfX2xzeF92bGQoc3JjLCAyNCk7Ci0gICAgc3JjMSA9IF9f
bHN4X3ZzaHVmX2Ioc3JjMiwgc3JjMCwgc2h1ZmYpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlOwot
ICAgIERVUDJfQVJHMihfX2xzeF92bGQsIGRzdF90bXAsIDAsIGRzdCwgMTYsIGRzdDAsIGRzdDEp
OwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlf
Yiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAg
ICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBEVVA0X0FSRzMoX19sc3hfdnNodWZf
Yiwgc3JjMCwgc3JjMCwgbWFzazAsIHNyYzEsIHNyYzEsIG1hc2swLCBzcmMyLCBzcmMyLAotICAg
ICAgICAgICAgICBtYXNrMCwgc3JjMywgc3JjMywgbWFzazAsIHRtcDAsIHRtcDEsIHRtcDIsIHRt
cDMpOwotICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrMSwgc3Jj
MSwgc3JjMSwgbWFzazEsIHNyYzIsIHNyYzIsCi0gICAgICAgICAgICAgIG1hc2sxLCBzcmMzLCBz
cmMzLCBtYXNrMSwgdG1wNCwgdG1wNSwgdG1wNiwgdG1wNyk7Ci0gICAgRFVQNF9BUkczKF9fbHN4
X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1hc2syLCBzcmMxLCBzcmMxLCBtYXNrMiwgc3JjMiwgc3Jj
MiwKLSAgICAgICAgICAgICAgbWFzazIsIHNyYzMsIHNyYzMsIG1hc2syLCB0bXA4LCB0bXA5LCB0
bXAxMCwgdG1wMTEpOwotICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBt
YXNrMywgc3JjMSwgc3JjMSwgbWFzazMsIHNyYzIsIHNyYzIsCi0gICAgICAgICAgICAgIG1hc2sz
LCBzcmMzLCBzcmMzLCBtYXNrMywgdG1wMTIsIHRtcDEzLCB0bXAxNCwgdG1wMTUpOwotICAgIERV
UDRfQVJHMihfX2xzeF92ZHAyX2hfYiwgdG1wMCwgZmlsdGVyMCwgdG1wMSwgZmlsdGVyMCwgdG1w
MiwgZmlsdGVyMCwgdG1wMywKLSAgICAgICAgICAgICAgZmlsdGVyMCwgdG1wMCwgdG1wMSwgdG1w
MiwgdG1wMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9iLCB0bXA4LCBmaWx0ZXIyLCB0
bXA5LCBmaWx0ZXIyLCB0bXAxMCwgZmlsdGVyMiwKLSAgICAgICAgICAgICAgdG1wMTEsIGZpbHRl
cjIsIHRtcDgsIHRtcDksIHRtcDEwLCB0bXAxMSk7Ci0gICAgRFVQNF9BUkczKF9fbHN4X3ZkcDJh
ZGRfaF9iLCB0bXAwLCB0bXA0LCBmaWx0ZXIxLCB0bXAxLCB0bXA1LCBmaWx0ZXIxLCB0bXAyLAot
ICAgICAgICAgICAgICB0bXA2LCBmaWx0ZXIxLCB0bXAzLCB0bXA3LCBmaWx0ZXIxLCB0bXAwLCB0
bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF9oX2IsIHRtcDgs
IHRtcDEyLCBmaWx0ZXIzLCB0bXA5LCB0bXAxMywgZmlsdGVyMywKLSAgICAgICAgICAgICAgdG1w
MTAsIHRtcDE0LCBmaWx0ZXIzLCB0bXAxMSwgdG1wMTUsIGZpbHRlcjMsIHRtcDQsIHRtcDUsIHRt
cDYsCi0gICAgICAgICAgICAgIHRtcDcpOwotICAgIERVUDRfQVJHMihfX2xzeF92c2FkZF9oLCB0
bXAwLCB0bXA0LCB0bXAxLCB0bXA1LCB0bXAyLCB0bXA2LCB0bXAzLCB0bXA3LAotICAgICAgICAg
ICAgICB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFy
bmlfYl9oLCB0bXAxLCB0bXAwLCA3LCB0bXAzLCB0bXAyLCA3LCB0bXAwLCB0bXAxKTsKLSAgICBE
VVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgdG1wMCwgMTI4LCB0bXAxLCAxMjgsIHRtcDAsIHRtcDEp
OwotICAgIERVUDJfQVJHMihfX2xzeF92YXZncl9idSwgZHN0MCwgdG1wMCwgZHN0MSwgdG1wMSwg
ZHN0MCwgZHN0MSk7Ci0gICAgX19sc3hfdnN0KGRzdDAsIGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0
KGRzdDEsIGRzdCwgMTYpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICB9Ci19Ci0KLXN0YXRp
YyB2b2lkIGNvbW1vbl9oel84dF9hbmRfYXZlcl9kc3RfNjR3X2xzeChjb25zdCB1aW50OF90ICpz
cmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJf
dCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdo
dCkgewotICBpbnQzMl90IGxvb3BfY250ID0gaGVpZ2h0OwotICBfX20xMjhpIHNyYzAsIHNyYzEs
IHNyYzIsIHNyYzM7Ci0gIF9fbTEyOGkgZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVy
MzsKLSAgX19tMTI4aSBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMzsKLSAgX19tMTI4aSBvdXQw
LCBvdXQxLCBvdXQyLCBvdXQzLCBkc3QwLCBkc3QxOwotICBfX20xMjhpIHNodWZmID0geyAweDBG
MEUwRDBDMEIwQTA5MDgsIDB4MTcxNjE1MTQxMzEyMTExMCB9OwotCi0gIG1hc2swID0gX19sc3hf
dmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwotICBzcmMgLT0gMzsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZhZGRpX2J1LCBtYXNrMCwgMiwgbWFzazAsIDQsIG1hc2sxLCBtYXNrMik7Ci0gIG1hc2szID0g
X19sc3hfdmFkZGlfYnUobWFzazAsIDYpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBm
aWx0ZXIsIDAsIGZpbHRlciwgMiwgZmlsdGVyLCA0LCBmaWx0ZXIsIDYsCi0gICAgICAgICAgICBm
aWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzKTsKLSAgZm9yICg7IGxvb3BfY250LS07
KSB7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMwLCBzcmMy
KTsKLSAgICBzcmMzID0gX19sc3hfdmxkKHNyYywgMjQpOwotICAgIHNyYzEgPSBfX2xzeF92c2h1
Zl9iKHNyYzIsIHNyYzAsIHNodWZmKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBkc3QsIDAs
IGRzdCwgMTYsIGRzdDAsIGRzdDEpOwotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMw
LCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAg
ICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICAgIEhPUklaXzhUQVBfOFdJRF80VkVDU19GSUxUKHNy
YzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWFzazMsIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRl
cjMsIG91dDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0MSwgb3V0Miwgb3V0
Myk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgb3V0MSwgb3V0MCwgNywgb3V0
Mywgb3V0MiwgNywgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIG91
dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmF2
Z3JfYnUsIG91dDAsIGRzdDAsIG91dDEsIGRzdDEsIG91dDAsIG91dDEpOwotICAgIF9fbHN4X3Zz
dChvdXQwLCBkc3QsIDApOwotICAgIF9fbHN4X3ZzdChvdXQxLCBkc3QsIDE2KTsKLQotICAgIERV
UDJfQVJHMihfX2xzeF92bGQsIHNyYywgMzIsIHNyYywgNDgsIHNyYzAsIHNyYzIpOwotICAgIHNy
YzMgPSBfX2xzeF92bGQoc3JjLCA1Nik7Ci0gICAgc3JjMSA9IF9fbHN4X3ZzaHVmX2Ioc3JjMiwg
c3JjMCwgc2h1ZmYpOwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIGRzdCwgMzIsIGRzdCwgNDgs
IGRzdDAsIGRzdDEpOwotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNy
YzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICAgIHNyYzEs
IHNyYzIsIHNyYzMpOwotICAgIEhPUklaXzhUQVBfOFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEs
IHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWFzazMsIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMsIG91dDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0MSwgb3V0Miwgb3V0Myk7Ci0gICAg
RFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgb3V0MSwgb3V0MCwgNywgb3V0Mywgb3V0Miwg
Nywgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIG91dDAsIDEyOCwg
b3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmF2Z3JfYnUsIG91
dDAsIGRzdDAsIG91dDEsIGRzdDEsIG91dDAsIG91dDEpOwotICAgIF9fbHN4X3ZzdChvdXQwLCBk
c3QsIDMyKTsKLSAgICBfX2xzeF92c3Qob3V0MSwgZHN0LCA0OCk7Ci0gICAgc3JjICs9IHNyY19z
dHJpZGU7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29t
bW9uX2h6XzJ0X2FuZF9hdmVyX2RzdF80eDRfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJp
ZGUsIHVpbnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXIpIHsKLSAgX19tMTI4aSBzcmMwLCBzcmMx
LCBzcmMyLCBzcmMzLCBtYXNrOwotICBfX20xMjhpIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMsIHZl
YzAsIHZlYzEsIGZpbHQwOwotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAx
OwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICB1
aW50OF90ICpkc3RfdG1wID0gZHN0OwotCi0gIG1hc2sgPSBfX2xzeF92bGQobWNfZmlsdF9tYXNr
X2FyciwgMTYpOwotCi0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBmaWx0MCA9IF9fbHN4
X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotCi0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAg
RFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwg
c3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICBk
c3QwID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJp
ZGU7Ci0gIGRzdDEgPSBfX2xzeF92bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0g
ZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0
X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QzID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDAp
OwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIERVUDJfQVJHMihfX2xzeF92aWx2bF93LCBk
c3QxLCBkc3QwLCBkc3QzLCBkc3QyLCBkc3QwLCBkc3QxKTsKLSAgZHN0MCA9IF9fbHN4X3ZpbHZs
X2QoZHN0MSwgZHN0MCk7Ci0gIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMxLCBzcmMwLCBt
YXNrLCBzcmMzLCBzcmMyLCBtYXNrLCB2ZWMwLCB2ZWMxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3Zk
cDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMwLCB2ZWMxKTsKLSAgdmVjMCA9
IF9fbHN4X3Zzc3Jhcm5pX2J1X2godmVjMSwgdmVjMCwgRklMVEVSX0JJVFMpOwotICB2ZWMwID0g
X19sc3hfdmF2Z3JfYnUodmVjMCwgZHN0MCk7Ci0gIF9fbHN4X3ZzdGVsbV93KHZlYzAsIGRzdCwg
MCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyh2ZWMwLCBkc3Qs
IDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3codmVjMCwgZHN0
LCAwLCAyKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KHZlYzAsIGRz
dCwgMCwgMyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9oel8ydF9hbmRfYXZlcl9kc3RfNHg4
X2xzeChjb25zdCB1aW50OF90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAq
ZmlsdGVyKSB7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwg
c3JjNiwgc3JjNywgbWFzazsKLSAgX19tMTI4aSBmaWx0MCwgdmVjMCwgdmVjMSwgdmVjMiwgdmVj
MywgcmVzMCwgcmVzMSwgcmVzMiwgcmVzMzsKLSAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBk
c3QzLCBkc3Q0OwotICBfX20xMjhpIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBz
cmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3Ry
aWRlMiA8PCAxOwotICB1aW50OF90ICpzcmNfdG1wMSA9ICh1aW50OF90ICopc3JjICsgc3JjX3N0
cmlkZTQ7Ci0gIHVpbnQ4X3QgKmRzdF90bXAgPSBkc3Q7Ci0KLSAgbWFzayA9IF9fbHN4X3ZsZCht
Y19maWx0X21hc2tfYXJyLCAxNik7Ci0KLSAgLyogcmVhcnJhbmdpbmcgZmlsdGVyICovCi0gIGZp
bHQwID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChz
cmMsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNy
Y19zdHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAgc3JjMyA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3Ry
aWRlMyk7Ci0KLSAgc3JjNCA9IF9fbHN4X3ZsZChzcmNfdG1wMSwgMCk7Ci0gIERVUDJfQVJHMihf
X2xzeF92bGR4LCBzcmNfdG1wMSwgc3JjX3N0cmlkZSwgc3JjX3RtcDEsIHNyY19zdHJpZGUyLCBz
cmM1LAotICAgICAgICAgICAgc3JjNik7Ci0gIHNyYzcgPSBfX2xzeF92bGR4KHNyY190bXAxLCBz
cmNfc3RyaWRlMyk7Ci0KLSAgZHN0MCA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAg
ZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QxID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAs
IDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDIgPSBfX2xzeF92bGRyZXBsX3co
ZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MyA9IF9fbHN4X3Zs
ZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBEVVAyX0FS
RzIoX19sc3hfdmlsdmxfdywgZHN0MSwgZHN0MCwgZHN0MywgZHN0MiwgZHN0MCwgZHN0MSk7Ci0g
IGRzdDAgPSBfX2xzeF92aWx2bF9kKGRzdDEsIGRzdDApOwotCi0gIGRzdDEgPSBfX2xzeF92bGRy
ZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9f
bHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBk
c3QzID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJp
ZGU7Ci0gIGRzdDQgPSBfX2xzeF92bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0g
ZHN0X3N0cmlkZTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX3csIGRzdDIsIGRzdDEsIGRzdDQs
IGRzdDMsIGRzdDEsIGRzdDIpOwotICBkc3QxID0gX19sc3hfdmlsdmxfZChkc3QyLCBkc3QxKTsK
LQotICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMSwgc3JjMCwgbWFzaywgc3JjMywgc3Jj
MiwgbWFzaywgdmVjMCwgdmVjMSk7Ci0gIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM1LCBz
cmM0LCBtYXNrLCBzcmM3LCBzcmM2LCBtYXNrLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBmaWx0MCwgdmVj
MywgZmlsdDAsCi0gICAgICAgICAgICB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3KTsKLSAgRFVQNF9B
UkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzQsIHZlYzQsIEZJTFRFUl9CSVRTLCB2ZWM1LCB2
ZWM1LAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIHZlYzYsIHZlYzYsIEZJTFRFUl9CSVRTLCB2
ZWM3LCB2ZWM3LCBGSUxURVJfQklUUywgcmVzMCwKLSAgICAgICAgICAgIHJlczEsIHJlczIsIHJl
czMpOwotICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfZCwgcmVzMSwgcmVzMCwgcmVzMywgcmVzMiwg
cmVzMCwgcmVzMik7Ci0gIERVUDJfQVJHMihfX2xzeF92YXZncl9idSwgcmVzMCwgZHN0MCwgcmVz
MiwgZHN0MSwgcmVzMCwgcmVzMik7Ci0KLSAgX19sc3hfdnN0ZWxtX3cocmVzMCwgZHN0LCAwLCAw
KTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KHJlczAsIGRzdCwgMCwg
MSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhyZXMwLCBkc3QsIDAs
IDIpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cocmVzMCwgZHN0LCAw
LCAzKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgX19sc3hfdnN0ZWxtX3cocmVzMiwgZHN0
LCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KHJlczIsIGRz
dCwgMCwgMSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhyZXMyLCBk
c3QsIDAsIDIpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cocmVzMiwg
ZHN0LCAwLCAzKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1v
bl9oel8ydF9hbmRfYXZlcl9kc3RfNHdfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSwg
dWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBpbnQ4X3QgKmZpbHRlciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGlmIChoZWln
aHQgPT0gNCkgewotICAgIGNvbW1vbl9oel8ydF9hbmRfYXZlcl9kc3RfNHg0X2xzeChzcmMsIHNy
Y19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyKTsKLSAgfSBlbHNlIGlmIChoZWlnaHQg
PT0gOCkgewotICAgIGNvbW1vbl9oel8ydF9hbmRfYXZlcl9kc3RfNHg4X2xzeChzcmMsIHNyY19z
dHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyKTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBj
b21tb25faHpfMnRfYW5kX2F2ZXJfZHN0Xzh4NF9sc3goY29uc3QgdWludDhfdCAqc3JjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0
cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcikgewotICBfX20xMjhpIHNyYzAsIHNy
YzEsIHNyYzIsIHNyYzMsIG1hc2s7Ci0gIF9fbTEyOGkgZmlsdDAsIGRzdDAsIGRzdDEsIGRzdDIs
IGRzdDM7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMzsKLSAgaW50MzJfdCBzcmNf
c3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19z
dHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgdWludDhfdCAqZHN0X3RtcCA9IGRzdDsKLQotICBtYXNr
ID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwotCi0gIC8qIHJlYXJyYW5naW5nIGZp
bHRlciAqLwotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotCi0gIHNyYzAg
PSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0
cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4
KHNyYywgc3JjX3N0cmlkZTMpOwotICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3Jj
MCwgbWFzaywgc3JjMSwgc3JjMSwgbWFzaywgdmVjMCwgdmVjMSk7Ci0gIERVUDJfQVJHMyhfX2xz
eF92c2h1Zl9iLCBzcmMyLCBzcmMyLCBtYXNrLCBzcmMzLCBzcmMzLCBtYXNrLCB2ZWMyLCB2ZWMz
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQw
LCB2ZWMyLCBmaWx0MCwgdmVjMywgZmlsdDAsCi0gICAgICAgICAgICB2ZWMwLCB2ZWMxLCB2ZWMy
LCB2ZWMzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzEsIHZlYzAsIEZJ
TFRFUl9CSVRTLCB2ZWMzLCB2ZWMyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIHZlYzAsIHZl
YzEpOwotICBkc3QwID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9
IGRzdF9zdHJpZGU7Ci0gIGRzdDEgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gIGRz
dF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9fbHN4X3ZsZHJlcGxfZChkc3RfdG1wLCAw
KTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QzID0gX19sc3hfdmxkcmVwbF9kKGRz
dF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4
X3ZpbHZsX2QsIGRzdDEsIGRzdDAsIGRzdDMsIGRzdDIsIGRzdDAsIGRzdDEpOwotICBEVVAyX0FS
RzIoX19sc3hfdmF2Z3JfYnUsIHZlYzAsIGRzdDAsIHZlYzEsIGRzdDEsIHZlYzAsIHZlYzEpOwot
ICBfX2xzeF92c3RlbG1fZCh2ZWMwLCBkc3QsIDAsIDApOwotICBkc3QgKz0gZHN0X3N0cmlkZTsK
LSAgX19sc3hfdnN0ZWxtX2QodmVjMCwgZHN0LCAwLCAxKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gIF9fbHN4X3ZzdGVsbV9kKHZlYzEsIGRzdCwgMCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRl
OwotICBfX2xzeF92c3RlbG1fZCh2ZWMxLCBkc3QsIDAsIDEpOwotfQotCi1zdGF0aWMgdm9pZCBj
b21tb25faHpfMnRfYW5kX2F2ZXJfZHN0Xzh4OG11bHRfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3Qg
KnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlk
ZSwKLSAgICBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgX19tMTI4aSBzcmMw
LCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrOwotICBfX20xMjhpIGZpbHQwLCBkc3QwLCBkc3QxLCBk
c3QyLCBkc3QzOwotICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzM7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBz
cmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIHVpbnQ4X3QgKmRzdF90bXAgPSBkc3Q7Ci0KLSAg
bWFzayA9IF9fbHN4X3ZsZChtY19maWx0X21hc2tfYXJyLCAwKTsKLQotICAvKiByZWFycmFuZ2lu
ZyBmaWx0ZXIgKi8KLSAgZmlsdDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAwKTsKLQotICBM
U1hfTERfNChzcmMsIHNyY19zdHJpZGUsIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwotICBzcmMg
Kz0gc3JjX3N0cmlkZTsKLQotICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwg
bWFzaywgc3JjMSwgc3JjMSwgbWFzaywgdmVjMCwgdmVjMSk7Ci0gIERVUDJfQVJHMyhfX2xzeF92
c2h1Zl9iLCBzcmMyLCBzcmMyLCBtYXNrLCBzcmMzLCBzcmMzLCBtYXNrLCB2ZWMyLCB2ZWMzKTsK
LSAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2
ZWMyLCBmaWx0MCwgdmVjMywgZmlsdDAsCi0gICAgICAgICAgICB2ZWMwLCB2ZWMxLCB2ZWMyLCB2
ZWMzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzEsIHZlYzAsIEZJTFRF
Ul9CSVRTLCB2ZWMzLCB2ZWMyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIHZlYzAsIHZlYzIp
OwotICBkc3QwID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRz
dF9zdHJpZGU7Ci0gIGRzdDEgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gIGRzdF90
bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9fbHN4X3ZsZHJlcGxfZChkc3RfdG1wLCAwKTsK
LSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QzID0gX19sc3hfdmxkcmVwbF9kKGRzdF90
bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIERVUDJfQVJHMihfX2xzeF92aWx2
bF9kLCBkc3QxLCBkc3QwLCBkc3QzLCBkc3QyLCBkc3QwLCBkc3QxKTsKLQotICBEVVAyX0FSRzIo
X19sc3hfdmF2Z3JfYnUsIHZlYzAsIGRzdDAsIHZlYzIsIGRzdDEsIHZlYzAsIHZlYzIpOwotICBf
X2xzeF92c3RlbG1fZCh2ZWMwLCBkc3QsIDAsIDApOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAg
X19sc3hfdnN0ZWxtX2QodmVjMCwgZHN0LCAwLCAxKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0g
IF9fbHN4X3ZzdGVsbV9kKHZlYzIsIGRzdCwgMCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwot
ICBfX2xzeF92c3RlbG1fZCh2ZWMyLCBkc3QsIDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsK
LQotICBMU1hfTERfNChzcmMsIHNyY19zdHJpZGUsIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwot
ICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNy
YzAsIG1hc2ssIHNyYzEsIHNyYzEsIG1hc2ssIHZlYzAsIHZlYzEpOwotICBEVVAyX0FSRzMoX19s
c3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzaywgc3JjMywgc3JjMywgbWFzaywgdmVjMiwgdmVj
Myk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZp
bHQwLCB2ZWMyLCBmaWx0MCwgdmVjMywgZmlsdDAsCi0gICAgICAgICAgICB2ZWMwLCB2ZWMxLCB2
ZWMyLCB2ZWMzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzEsIHZlYzAs
IEZJTFRFUl9CSVRTLCB2ZWMzLCB2ZWMyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIHZlYzAs
IHZlYzIpOwotICBkc3QwID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICBkc3RfdG1w
ICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDEgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0g
IGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9fbHN4X3ZsZHJlcGxfZChkc3RfdG1w
LCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QzID0gX19sc3hfdmxkcmVwbF9k
KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIERVUDJfQVJHMihfX2xz
eF92aWx2bF9kLCBkc3QxLCBkc3QwLCBkc3QzLCBkc3QyLCBkc3QwLCBkc3QxKTsKLSAgRFVQMl9B
UkcyKF9fbHN4X3ZhdmdyX2J1LCB2ZWMwLCBkc3QwLCB2ZWMyLCBkc3QxLCB2ZWMwLCB2ZWMyKTsK
LSAgX19sc3hfdnN0ZWxtX2QodmVjMCwgZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gIF9fbHN4X3ZzdGVsbV9kKHZlYzAsIGRzdCwgMCwgMSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRl
OwotICBfX2xzeF92c3RlbG1fZCh2ZWMyLCBkc3QsIDAsIDApOwotICBkc3QgKz0gZHN0X3N0cmlk
ZTsKLSAgX19sc3hfdnN0ZWxtX2QodmVjMiwgZHN0LCAwLCAxKTsKLSAgZHN0ICs9IGRzdF9zdHJp
ZGU7Ci0KLSAgaWYgKGhlaWdodCA9PSAxNikgewotICAgIExTWF9MRF80KHNyYywgc3JjX3N0cmlk
ZSwgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAg
ICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzaywgc3JjMSwgc3JjMSwg
bWFzaywgdmVjMCwgdmVjMSk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzIsIHNy
YzIsIG1hc2ssIHNyYzMsIHNyYzMsIG1hc2ssIHZlYzIsIHZlYzMpOwotICAgIERVUDRfQVJHMihf
X2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVjMiwgZmlsdDAsIHZl
YzMsCi0gICAgICAgICAgICAgIGZpbHQwLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgICBE
VVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgdmVjMSwgdmVjMCwgRklMVEVSX0JJVFMsIHZl
YzMsIHZlYzIsCi0gICAgICAgICAgICAgIEZJTFRFUl9CSVRTLCB2ZWMwLCB2ZWMyKTsKLSAgICBk
c3QwID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0
cmlkZTsKLSAgICBkc3QxID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90
bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBkc3QyID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDAp
OwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBkc3QzID0gX19sc3hfdmxkcmVwbF9k
KGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBEVVAyX0FSRzIo
X19sc3hfdmlsdmxfZCwgZHN0MSwgZHN0MCwgZHN0MywgZHN0MiwgZHN0MCwgZHN0MSk7Ci0gICAg
RFVQMl9BUkcyKF9fbHN4X3ZhdmdyX2J1LCB2ZWMwLCBkc3QwLCB2ZWMyLCBkc3QxLCB2ZWMwLCB2
ZWMyKTsKLSAgICBfX2xzeF92c3RlbG1fZCh2ZWMwLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBk
c3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV9kKHZlYzAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0
ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX2QodmVjMiwgZHN0LCAwLCAwKTsKLSAg
ICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZCh2ZWMyLCBkc3QsIDAsIDEp
OwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDAp
OwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0
cmlkZTIsIHNyYzEsIHNyYzIpOwotICAgIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlk
ZTMpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrLCBzcmMx
LCBzcmMxLCBtYXNrLCB2ZWMwLCB2ZWMxKTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwg
c3JjMiwgc3JjMiwgbWFzaywgc3JjMywgc3JjMywgbWFzaywgdmVjMiwgdmVjMyk7Ci0gICAgRFVQ
NF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBm
aWx0MCwgdmVjMywKLSAgICAgICAgICAgICAgZmlsdDAsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMp
OwotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCB2ZWMxLCB2ZWMwLCBGSUxURVJf
QklUUywgdmVjMywgdmVjMiwKLSAgICAgICAgICAgICAgRklMVEVSX0JJVFMsIHZlYzAsIHZlYzIp
OwotICAgIGRzdDAgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCAr
PSBkc3Rfc3RyaWRlOwotICAgIGRzdDEgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0g
ICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIGRzdDIgPSBfX2xzeF92bGRyZXBsX2QoZHN0
X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIGRzdDMgPSBfX2xzeF92
bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIERV
UDJfQVJHMihfX2xzeF92aWx2bF9kLCBkc3QxLCBkc3QwLCBkc3QzLCBkc3QyLCBkc3QwLCBkc3Qx
KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmF2Z3JfYnUsIHZlYzAsIGRzdDAsIHZlYzIsIGRzdDEs
IHZlYzAsIHZlYzIpOwotICAgIF9fbHN4X3ZzdGVsbV9kKHZlYzAsIGRzdCwgMCwgMCk7Ci0gICAg
ZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX2QodmVjMCwgZHN0LCAwLCAxKTsK
LSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZCh2ZWMyLCBkc3QsIDAs
IDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV9kKHZlYzIsIGRz
dCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQg
Y29tbW9uX2h6XzJ0X2FuZF9hdmVyX2RzdF84d19sc3goY29uc3QgdWludDhfdCAqc3JjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3Ry
aWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUsIGludDhfdCAqZmlsdGVyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHsKLSAgaWYg
KGhlaWdodCA9PSA0KSB7Ci0gICAgY29tbW9uX2h6XzJ0X2FuZF9hdmVyX2RzdF84eDRfbHN4KHNy
Yywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIpOwotICB9IGVsc2UgewotICAg
IGNvbW1vbl9oel8ydF9hbmRfYXZlcl9kc3RfOHg4bXVsdF9sc3goc3JjLCBzcmNfc3RyaWRlLCBk
c3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWx0ZXIsIGhlaWdodCk7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6XzJ0X2Fu
ZF9hdmVyX2RzdF8xNndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3Qg
KmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQz
Ml90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3Bf
Y250ID0gKGhlaWdodCA+PiAyKSAtIDE7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3Jj
Mywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgbWFzazsKLSAgX19tMTI4aSBmaWx0MCwgZHN0MDsK
LSAgX19tMTI4aSB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3
OwotICBfX20xMjhpIHJlczAsIHJlczEsIHJlczIsIHJlczMsIHJlczQsIHJlczUsIHJlczYsIHJl
czc7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0
cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotICB1aW50OF90ICpzcmNfdG1wMSA9ICh1aW50OF90
ICopc3JjICsgODsKLQotICBtYXNrID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwot
Ci0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChm
aWx0ZXIsIDApOwotCi0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9f
bHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMiwgc3JjNCk7
Ci0gIHNyYzYgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICBzcmMgKz0gc3JjX3N0
cmlkZTQ7Ci0KLSAgc3JjMSA9IF9fbHN4X3ZsZChzcmNfdG1wMSwgMCk7Ci0gIERVUDJfQVJHMihf
X2xzeF92bGR4LCBzcmNfdG1wMSwgc3JjX3N0cmlkZSwgc3JjX3RtcDEsIHNyY19zdHJpZGUyLCBz
cmMzLAotICAgICAgICAgICAgc3JjNSk7Ci0gIHNyYzcgPSBfX2xzeF92bGR4KHNyY190bXAxLCBz
cmNfc3RyaWRlMyk7Ci0gIHNyY190bXAxICs9IHNyY19zdHJpZGU0OwotCi0gIERVUDJfQVJHMyhf
X2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrLCBzcmMxLCBzcmMxLCBtYXNrLCB2ZWMwLCB2
ZWMxKTsKLSAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzIsIHNyYzIsIG1hc2ssIHNyYzMs
IHNyYzMsIG1hc2ssIHZlYzIsIHZlYzMpOwotICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3Jj
NCwgc3JjNCwgbWFzaywgc3JjNSwgc3JjNSwgbWFzaywgdmVjNCwgdmVjNSk7Ci0gIERVUDJfQVJH
MyhfX2xzeF92c2h1Zl9iLCBzcmM2LCBzcmM2LCBtYXNrLCBzcmM3LCBzcmM3LCBtYXNrLCB2ZWM2
LCB2ZWM3KTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVj
MSwgZmlsdDAsIHZlYzIsIGZpbHQwLCB2ZWMzLCBmaWx0MCwKLSAgICAgICAgICAgIHJlczAsIHJl
czEsIHJlczIsIHJlczMpOwotICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM0LCBmaWx0
MCwgdmVjNSwgZmlsdDAsIHZlYzYsIGZpbHQwLCB2ZWM3LCBmaWx0MCwKLSAgICAgICAgICAgIHJl
czQsIHJlczUsIHJlczYsIHJlczcpOwotICBEVVA0X0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwg
cmVzMSwgcmVzMCwgRklMVEVSX0JJVFMsIHJlczMsIHJlczIsCi0gICAgICAgICAgICBGSUxURVJf
QklUUywgcmVzNSwgcmVzNCwgRklMVEVSX0JJVFMsIHJlczcsIHJlczYsIEZJTFRFUl9CSVRTLCBy
ZXMwLAotICAgICAgICAgICAgcmVzMiwgcmVzNCwgcmVzNik7Ci0gIGRzdDAgPSBfX2xzeF92bGQo
ZHN0LCAwKTsKLSAgcmVzMCA9IF9fbHN4X3ZhdmdyX2J1KHJlczAsIGRzdDApOwotICBfX2xzeF92
c3QocmVzMCwgZHN0LCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgZHN0MCA9IF9fbHN4
X3ZsZChkc3QsIDApOwotICByZXMyID0gX19sc3hfdmF2Z3JfYnUocmVzMiwgZHN0MCk7Ci0gIF9f
bHN4X3ZzdChyZXMyLCBkc3QsIDApOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICBkc3QwID0g
X19sc3hfdmxkKGRzdCwgMCk7Ci0gIHJlczQgPSBfX2xzeF92YXZncl9idShyZXM0LCBkc3QwKTsK
LSAgX19sc3hfdnN0KHJlczQsIGRzdCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gIGRz
dDAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgcmVzNiA9IF9fbHN4X3ZhdmdyX2J1KHJlczYsIGRz
dDApOwotICBfX2xzeF92c3QocmVzNiwgZHN0LCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0K
LSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwot
ICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlk
ZTIsIHNyYzIsIHNyYzQpOwotICAgIHNyYzYgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMp
OwotICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLQotICAgIHNyYzEgPSBfX2xzeF92bGQoc3JjX3Rt
cDEsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wMSwgc3JjX3N0cmlkZSwg
c3JjX3RtcDEsIHNyY19zdHJpZGUyLCBzcmMzLAotICAgICAgICAgICAgICBzcmM1KTsKLSAgICBz
cmM3ID0gX19sc3hfdmxkeChzcmNfdG1wMSwgc3JjX3N0cmlkZTMpOwotICAgIHNyY190bXAxICs9
IHNyY19zdHJpZGU0OwotCi0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAs
IG1hc2ssIHNyYzEsIHNyYzEsIG1hc2ssIHZlYzAsIHZlYzEpOwotICAgIERVUDJfQVJHMyhfX2xz
eF92c2h1Zl9iLCBzcmMyLCBzcmMyLCBtYXNrLCBzcmMzLCBzcmMzLCBtYXNrLCB2ZWMyLCB2ZWMz
KTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNCwgc3JjNCwgbWFzaywgc3JjNSwg
c3JjNSwgbWFzaywgdmVjNCwgdmVjNSk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNy
YzYsIHNyYzYsIG1hc2ssIHNyYzcsIHNyYzcsIG1hc2ssIHZlYzYsIHZlYzcpOwotICAgIERVUDRf
QVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVjMiwgZmls
dDAsIHZlYzMsCi0gICAgICAgICAgICAgIGZpbHQwLCByZXMwLCByZXMxLCByZXMyLCByZXMzKTsK
LSAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM0LCBmaWx0MCwgdmVjNSwgZmlsdDAs
IHZlYzYsIGZpbHQwLCB2ZWM3LAotICAgICAgICAgICAgICBmaWx0MCwgcmVzNCwgcmVzNSwgcmVz
NiwgcmVzNyk7Ci0KLSAgICBEVVA0X0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgcmVzMSwgcmVz
MCwgRklMVEVSX0JJVFMsIHJlczMsIHJlczIsCi0gICAgICAgICAgICAgIEZJTFRFUl9CSVRTLCBy
ZXM1LCByZXM0LCBGSUxURVJfQklUUywgcmVzNywgcmVzNiwgRklMVEVSX0JJVFMsCi0gICAgICAg
ICAgICAgIHJlczAsIHJlczIsIHJlczQsIHJlczYpOwotICAgIGRzdDAgPSBfX2xzeF92bGQoZHN0
LCAwKTsKLSAgICByZXMwID0gX19sc3hfdmF2Z3JfYnUocmVzMCwgZHN0MCk7Ci0gICAgX19sc3hf
dnN0KHJlczAsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICBkc3QwID0g
X19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgcmVzMiA9IF9fbHN4X3ZhdmdyX2J1KHJlczIsIGRzdDAp
OwotICAgIF9fbHN4X3ZzdChyZXMyLCBkc3QsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwot
Ci0gICAgZHN0MCA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgIHJlczQgPSBfX2xzeF92YXZncl9i
dShyZXM0LCBkc3QwKTsKLSAgICBfX2xzeF92c3QocmVzNCwgZHN0LCAwKTsKLSAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLQotICAgIGRzdDAgPSBfX2xzeF92bGQoZHN0LCAwKTsKLSAgICByZXM2ID0g
X19sc3hfdmF2Z3JfYnUocmVzNiwgZHN0MCk7Ci0gICAgX19sc3hfdnN0KHJlczYsIGRzdCwgMCk7
Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6
XzJ0X2FuZF9hdmVyX2RzdF8zMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUsIHVp
bnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90
IGxvb3BfY250ID0gKGhlaWdodCA+PiAxKTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBz
cmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBtYXNrOwotICBfX20xMjhpIGZpbHQwLCBkc3Qw
LCBkc3QxOwotICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZl
YzYsIHZlYzc7Ci0gIF9fbTEyOGkgcmVzMCwgcmVzMSwgcmVzMiwgcmVzMywgcmVzNCwgcmVzNSwg
cmVzNiwgcmVzNzsKLSAgX19tMTI4aSBzaHVmZiA9IHsgMHgwRjBFMEQwQzBCMEEwOTA4LCAweDE3
MTYxNTE0MTMxMjExMTAgfTsKLQotICBtYXNrID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIs
IDApOwotCi0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBmaWx0MCA9IF9fbHN4X3ZsZHJl
cGxfaChmaWx0ZXIsIDApOwotCi0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIHNyYzAgPSBf
X2xzeF92bGQoc3JjLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDE2LCBzcmMs
IDI0LCBzcmMyLCBzcmMzKTsKLSAgICBzcmMxID0gX19sc3hfdnNodWZfYihzcmMyLCBzcmMwLCBz
aHVmZik7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAgc3JjNCA9IF9fbHN4X3ZsZChzcmMs
IDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywgMTYsIHNyYywgMjQsIHNyYzYsIHNy
YzcpOwotICAgIHNyYzUgPSBfX2xzeF92c2h1Zl9iKHNyYzYsIHNyYzQsIHNodWZmKTsKLSAgICBz
cmMgKz0gc3JjX3N0cmlkZTsKLQotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBz
cmMwLCBtYXNrLCBzcmMxLCBzcmMxLCBtYXNrLCB2ZWMwLCB2ZWMxKTsKLSAgICBEVVAyX0FSRzMo
X19sc3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzaywgc3JjMywgc3JjMywgbWFzaywgdmVjMiwg
dmVjMyk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzQsIHNyYzQsIG1hc2ssIHNy
YzUsIHNyYzUsIG1hc2ssIHZlYzQsIHZlYzUpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9i
LCBzcmM2LCBzcmM2LCBtYXNrLCBzcmM3LCBzcmM3LCBtYXNrLCB2ZWM2LCB2ZWM3KTsKLQotICAg
IERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVj
MiwgZmlsdDAsIHZlYzMsCi0gICAgICAgICAgICAgIGZpbHQwLCByZXMwLCByZXMxLCByZXMyLCBy
ZXMzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM0LCBmaWx0MCwgdmVjNSwg
ZmlsdDAsIHZlYzYsIGZpbHQwLCB2ZWM3LAotICAgICAgICAgICAgICBmaWx0MCwgcmVzNCwgcmVz
NSwgcmVzNiwgcmVzNyk7Ci0gICAgRFVQNF9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHJlczEs
IHJlczAsIEZJTFRFUl9CSVRTLCByZXMzLCByZXMyLAotICAgICAgICAgICAgICBGSUxURVJfQklU
UywgcmVzNSwgcmVzNCwgRklMVEVSX0JJVFMsIHJlczcsIHJlczYsIEZJTFRFUl9CSVRTLAotICAg
ICAgICAgICAgICByZXMwLCByZXMyLCByZXM0LCByZXM2KTsKLQotICAgIERVUDJfQVJHMihfX2xz
eF92bGQsIGRzdCwgMCwgZHN0LCAxNiwgZHN0MCwgZHN0MSk7Ci0gICAgcmVzMCA9IF9fbHN4X3Zh
dmdyX2J1KHJlczAsIGRzdDApOwotICAgIF9fbHN4X3ZzdChyZXMwLCBkc3QsIDApOwotICAgIHJl
czIgPSBfX2xzeF92YXZncl9idShyZXMyLCBkc3QxKTsKLSAgICBfX2xzeF92c3QocmVzMiwgZHN0
LCAxNik7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmxk
LCBkc3QsIDAsIGRzdCwgMTYsIGRzdDAsIGRzdDEpOwotICAgIHJlczQgPSBfX2xzeF92YXZncl9i
dShyZXM0LCBkc3QwKTsKLSAgICBfX2xzeF92c3QocmVzNCwgZHN0LCAwKTsKLSAgICByZXM2ID0g
X19sc3hfdmF2Z3JfYnUocmVzNiwgZHN0MSk7Ci0gICAgX19sc3hfdnN0KHJlczYsIGRzdCwgMTYp
OwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9o
el8ydF9hbmRfYXZlcl9kc3RfNjR3X2xzeChjb25zdCB1aW50OF90ICpzcmMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RyaWRlLCB1
aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJf
dCBsb29wX2NudCA9IGhlaWdodDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBz
cmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBtYXNrOwotICBfX20xMjhpIGZpbHQwLCBkc3QwLCBkc3Qx
LCBkc3QyLCBkc3QzOwotICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZl
YzUsIHZlYzYsIHZlYzc7Ci0gIF9fbTEyOGkgb3V0MCwgb3V0MSwgb3V0Miwgb3V0Mywgb3V0NCwg
b3V0NSwgb3V0Niwgb3V0NzsKLSAgX19tMTI4aSBzaHVmZiA9IHsgMHgwRjBFMEQwQzBCMEEwOTA4
LCAweDE3MTYxNTE0MTMxMjExMTAgfTsKLQotICBtYXNrID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFz
a19hcnIsIDApOwotCi0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBmaWx0MCA9IF9fbHN4
X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotCi0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIERV
UDRfQVJHMihfX2xzeF92bGQsIHNyYywgMCwgc3JjLCAxNiwgc3JjLCAzMiwgc3JjLCA0OCwgc3Jj
MCwgc3JjMiwgc3JjNCwKLSAgICAgICAgICAgICAgc3JjNik7Ci0gICAgc3JjNyA9IF9fbHN4X3Zs
ZChzcmMsIDU2KTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMiwgc3JjMCwgc2h1
ZmYsIHNyYzQsIHNyYzIsIHNodWZmLCBzcmMxLCBzcmMzKTsKLSAgICBzcmM1ID0gX19sc3hfdnNo
dWZfYihzcmM2LCBzcmM0LCBzaHVmZik7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAgICBE
VVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzaywgc3JjMSwgc3JjMSwgbWFz
aywgdmVjMCwgdmVjMSk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzIsIHNyYzIs
IG1hc2ssIHNyYzMsIHNyYzMsIG1hc2ssIHZlYzIsIHZlYzMpOwotICAgIERVUDJfQVJHMyhfX2xz
eF92c2h1Zl9iLCBzcmM0LCBzcmM0LCBtYXNrLCBzcmM1LCBzcmM1LCBtYXNrLCB2ZWM0LCB2ZWM1
KTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNiwgc3JjNiwgbWFzaywgc3JjNywg
c3JjNywgbWFzaywgdmVjNiwgdmVjNyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwg
dmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBmaWx0MCwgdmVjMywKLSAgICAgICAgICAg
ICAgZmlsdDAsIG91dDAsIG91dDEsIG91dDIsIG91dDMpOwotICAgIERVUDRfQVJHMihfX2xzeF92
ZHAyX2hfYnUsIHZlYzQsIGZpbHQwLCB2ZWM1LCBmaWx0MCwgdmVjNiwgZmlsdDAsIHZlYzcsCi0g
ICAgICAgICAgICAgIGZpbHQwLCBvdXQ0LCBvdXQ1LCBvdXQ2LCBvdXQ3KTsKLQotICAgIERVUDRf
QVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCBvdXQxLCBvdXQwLCBGSUxURVJfQklUUywgb3V0Mywg
b3V0MiwKLSAgICAgICAgICAgICAgRklMVEVSX0JJVFMsIG91dDUsIG91dDQsIEZJTFRFUl9CSVRT
LCBvdXQ3LCBvdXQ2LCBGSUxURVJfQklUUywKLSAgICAgICAgICAgICAgb3V0MCwgb3V0Miwgb3V0
NCwgb3V0Nik7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBkc3QsIDAsIGRzdCwgMTYsIGRz
dCwgMzIsIGRzdCwgNDgsIGRzdDAsIGRzdDEsIGRzdDIsCi0gICAgICAgICAgICAgIGRzdDMpOwot
ICAgIG91dDAgPSBfX2xzeF92YXZncl9idShvdXQwLCBkc3QwKTsKLSAgICBfX2xzeF92c3Qob3V0
MCwgZHN0LCAwKTsKLSAgICBvdXQyID0gX19sc3hfdmF2Z3JfYnUob3V0MiwgZHN0MSk7Ci0gICAg
X19sc3hfdnN0KG91dDIsIGRzdCwgMTYpOwotICAgIG91dDQgPSBfX2xzeF92YXZncl9idShvdXQ0
LCBkc3QyKTsKLSAgICBfX2xzeF92c3Qob3V0NCwgZHN0LCAzMik7Ci0gICAgb3V0NiA9IF9fbHN4
X3ZhdmdyX2J1KG91dDYsIGRzdDMpOwotICAgIF9fbHN4X3ZzdChvdXQ2LCBkc3QsIDQ4KTsKLSAg
ICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgfQotfQotCi12b2lkIHZweF9jb252b2x2ZThfYXZnX2hv
cml6X2xzeChjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBwdHJkaWZmX3QgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5l
bCAqZmlsdGVyLCBpbnQgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsIGludCB3LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpIHsKLSAgY29uc3QgaW50MTZfdCAqY29uc3Qg
ZmlsdGVyX3ggPSBmaWx0ZXJbeDBfcTRdOwotICBpbnQ4X3QgY250LCBmaWx0X2hvcls4XTsKLQot
ICBhc3NlcnQoeF9zdGVwX3E0ID09IDE2KTsKLSAgYXNzZXJ0KCgoY29uc3QgaW50MzJfdCAqKWZp
bHRlcl94KVsxXSAhPSAweDgwMDAwMCk7Ci0KLSAgZm9yIChjbnQgPSAwOyBjbnQgPCA4OyArK2Nu
dCkgewotICAgIGZpbHRfaG9yW2NudF0gPSBmaWx0ZXJfeFtjbnRdOwotICB9Ci0KLSAgaWYgKHZw
eF9nZXRfZmlsdGVyX3RhcHMoZmlsdGVyX3gpID09IDIpIHsKLSAgICBzd2l0Y2ggKHcpIHsKLSAg
ICAgIGNhc2UgNDoKLSAgICAgICAgY29tbW9uX2h6XzJ0X2FuZF9hdmVyX2RzdF80d19sc3goc3Jj
LCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsICZmaWx0X2hvclszXSwgaCk7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgY2FzZSA4OgotICAgICAgICBjb21tb25faHpfMnRfYW5kX2F2ZXJf
ZHN0Xzh3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlkZSwgJmZpbHRfaG9y
WzNdLCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDE2OgotICAgICAgICBjb21tb25f
aHpfMnRfYW5kX2F2ZXJfZHN0XzE2d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdClkc3Rf
c3RyaWRlLCAmZmlsdF9ob3JbM10sIGgpOwotICAgICAgICBicmVhazsKLQotICAgICAgY2FzZSAz
MjoKLSAgICAgICAgY29tbW9uX2h6XzJ0X2FuZF9hdmVyX2RzdF8zMndfbHN4KHNyYywgKGludDMy
X3Qpc3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGludDMyX3QpZHN0X3N0cmlkZSwgJmZpbHRfaG9yWzNdLCBoKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIDY0OgotICAgICAgICBjb21tb25faHpfMnRfYW5kX2F2ZXJfZHN0XzY0
d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLCAmZmlsdF9ob3JbM10s
IGgpOwotICAgICAgICBicmVhazsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIHZweF9jb252b2x2
ZThfYXZnX2hvcml6X2Moc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MF9xNCwgeF9zdGVwX3E0LCB5MF9x
NCwgeV9zdGVwX3E0LCB3LCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICB9IGVsc2Ugewot
ICAgIHN3aXRjaCAodykgewotICAgICAgY2FzZSA0OgotICAgICAgICBjb21tb25faHpfOHRfYW5k
X2F2ZXJfZHN0XzR3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlkZSwgZmls
dF9ob3IsIGgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgODoKLSAgICAgICAgY29tbW9u
X2h6Xzh0X2FuZF9hdmVyX2RzdF84d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9z
dHJpZGUsIGZpbHRfaG9yLCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDE2OgotICAg
ICAgICBjb21tb25faHpfOHRfYW5kX2F2ZXJfZHN0XzE2d19sc3goc3JjLCAoaW50MzJfdClzcmNf
c3RyaWRlLCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
aW50MzJfdClkc3Rfc3RyaWRlLCBmaWx0X2hvciwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAg
Y2FzZSAzMjoKLSAgICAgICAgY29tbW9uX2h6Xzh0X2FuZF9hdmVyX2RzdF8zMndfbHN4KHNyYywg
KGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlkZSwgZmlsdF9ob3IsIGgpOwotICAgICAgICBi
cmVhazsKLSAgICAgIGNhc2UgNjQ6Ci0gICAgICAgIGNvbW1vbl9oel84dF9hbmRfYXZlcl9kc3Rf
NjR3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsIGZpbHRfaG9yLCBo
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICB2cHhfY29udm9sdmU4
X2F2Z19ob3Jpel9jKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDBfcTQsIHhfc3RlcF9xNCwgeTBfcTQs
IHlfc3RlcF9xNCwgdywgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgfQotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmU4X2F2Z19sc3gu
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9hdmdfbHN4LmMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxYWJmNjIyYWQ4Zi4uMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9hdmdfbHN4
LmMKKysrIC9kZXYvbnVsbApAQCAtMSw3MzcgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMp
IDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoK
LSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs
aWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUg
cm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwg
cHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVO
VFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBp
biB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwot
Ci0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNs
dWRlICJ2cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmVfbHN4LmgiCi0KLXN0YXRpYyBjb25z
dCB1aW50OF90IG1jX2ZpbHRfbWFza19hcnJbMTYgKiAzXSA9IHsKLSAgLyogOCB3aWR0aCBjYXNl
cyAqLwotICAwLCAxLCAxLCAyLCAyLCAzLCAzLCA0LCA0LCA1LCA1LCA2LCA2LCA3LCA3LCA4LAot
ICAvKiA0IHdpZHRoIGNhc2VzICovCi0gIDAsIDEsIDEsIDIsIDIsIDMsIDMsIDQsIDE2LCAxNywg
MTcsIDE4LCAxOCwgMTksIDE5LCAyMCwKLSAgLyogNCB3aWR0aCBjYXNlcyAqLwotICA4LCA5LCA5
LCAxMCwgMTAsIDExLCAxMSwgMTIsIDI0LCAyNSwgMjUsIDI2LCAyNiwgMjcsIDI3LCAyOAotfTsK
LQotc3RhdGljIHZvaWQgY29tbW9uX2h2XzhodF84dnRfYW5kX2F2ZXJfZHN0XzR3X2xzeCgKLSAg
ICBjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LCBp
bnQzMl90IGRzdF9zdHJpZGUsCi0gICAgY29uc3QgaW50OF90ICpmaWx0ZXJfaG9yaXosIGNvbnN0
IGludDhfdCAqZmlsdGVyX3ZlcnQsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3Bf
Y250ID0gaGVpZ2h0ID4+IDI7Ci0gIHVpbnQ4X3QgKmRzdF90bXAgPSBkc3Q7Ci0gIF9fbTEyOGkg
c3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgc3JjOCwgc3Jj
OSwgc3JjMTA7Ci0gIF9fbTEyOGkgZmlsdF9oejAsIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9o
ejM7Ci0gIF9fbTEyOGkgZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0MiwgZmlsdF92dDM7Ci0g
IF9fbTEyOGkgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazM7Ci0gIF9fbTEyOGkgdG1wMCwgdG1w
MSwgdG1wMiwgdG1wMywgdG1wNCwgdG1wNTsKLSAgX19tMTI4aSBvdXQwLCBvdXQxOwotICBfX20x
MjhpIHNodWZmID0geyAweDBGMEUwRDBDMEIwQTA5MDgsIDB4MTcxNjE1MTQxMzEyMTExMCB9Owot
ICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19z
dHJpZGUzID0gc3JjX3N0cmlkZSArIHNyY19zdHJpZGUyOwotICBpbnQzMl90IHNyY19zdHJpZGU0
ID0gc3JjX3N0cmlkZTIgPDwgMTsKLSAgdWludDhfdCAqX3NyYyA9ICh1aW50OF90ICopc3JjIC0g
MyAtIHNyY19zdHJpZGUzOwotCi0gIG1hc2swID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIs
IDE2KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyX2hvcml6LCAwLCBmaWx0
ZXJfaG9yaXosIDIsIGZpbHRlcl9ob3JpeiwgNCwKLSAgICAgICAgICAgIGZpbHRlcl9ob3Jpeiwg
NiwgZmlsdF9oejAsIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICBEVVAyX0FSRzIo
X19sc3hfdmFkZGlfYnUsIG1hc2swLCAyLCBtYXNrMCwgNCwgbWFzazEsIG1hc2syKTsKLSAgbWFz
azMgPSBfX2xzeF92YWRkaV9idShtYXNrMCwgNik7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChfc3Jj
LCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIF9zcmMsIHNyY19zdHJpZGUsIF9zcmMsIHNy
Y19zdHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAgc3JjMyA9IF9fbHN4X3ZsZHgoX3NyYywgc3JjX3N0
cmlkZTMpOwotICBfc3JjICs9IHNyY19zdHJpZGU0OwotICBzcmM0ID0gX19sc3hfdmxkKF9zcmMs
IDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgX3NyYywgc3JjX3N0cmlkZSwgX3NyYywgc3Jj
X3N0cmlkZTIsIHNyYzUsIHNyYzYpOwotICBfc3JjICs9IHNyY19zdHJpZGUzOwotCi0gIERVUDRf
QVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMz
LCAxMjgsIHNyYzAsCi0gICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgRFVQMl9BUkcy
KF9fbHN4X3Z4b3JpX2IsIHNyYzQsIDEyOCwgc3JjNSwgMTI4LCBzcmM0LCBzcmM1KTsKLSAgc3Jj
NiA9IF9fbHN4X3Z4b3JpX2Ioc3JjNiwgMTI4KTsKLQotICB0bXAwID0gaG9yaXpfOHRhcF9maWx0
KHNyYzAsIHNyYzEsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgdG1w
MiA9IGhvcml6Xzh0YXBfZmlsdChzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNr
MywgZmlsdF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoy
LCBmaWx0X2h6Myk7Ci0gIHRtcDQgPSBob3Jpel84dGFwX2ZpbHQoc3JjNCwgc3JjNSwgbWFzazAs
IG1hc2sxLCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICB0bXA1ID0gaG9yaXpfOHRhcF9maWx0
KHNyYzUsIHNyYzYsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgRFVQ
Ml9BUkczKF9fbHN4X3ZzaHVmX2IsIHRtcDIsIHRtcDAsIHNodWZmLCB0bXA0LCB0bXAyLCBzaHVm
ZiwgdG1wMSwgdG1wMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlcl92ZXJ0
LCAwLCBmaWx0ZXJfdmVydCwgMiwgZmlsdGVyX3ZlcnQsIDQsCi0gICAgICAgICAgICBmaWx0ZXJf
dmVydCwgNiwgZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0MiwgZmlsdF92dDMpOwotICBEVVAy
X0FSRzIoX19sc3hfdnBhY2tldl9iLCB0bXAxLCB0bXAwLCB0bXAzLCB0bXAyLCB0bXAwLCB0bXAx
KTsKLSAgdG1wMiA9IF9fbHN4X3ZwYWNrZXZfYih0bXA1LCB0bXA0KTsKLSAgZm9yICg7IGxvb3Bf
Y250LS07KSB7Ci0gICAgc3JjNyA9IF9fbHN4X3ZsZChfc3JjLCAwKTsKLSAgICBEVVAyX0FSRzIo
X19sc3hfdmxkeCwgX3NyYywgc3JjX3N0cmlkZSwgX3NyYywgc3JjX3N0cmlkZTIsIHNyYzgsIHNy
YzkpOwotICAgIHNyYzEwID0gX19sc3hfdmxkeChfc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgX3Ny
YyArPSBzcmNfc3RyaWRlNDsKLSAgICBzcmMyID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDAp
OwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBzcmMzID0gX19sc3hfdmxkcmVwbF93
KGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBzcmM0ID0gX19s
c3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAg
ICBzcmM1ID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0
X3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfdywgc3JjMywgc3JjMiwgc3JjNSwg
c3JjNCwgc3JjMiwgc3JjMyk7Ci0gICAgc3JjMiA9IF9fbHN4X3ZpbHZsX2Qoc3JjMywgc3JjMik7
Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzcsIDEyOCwgc3JjOCwgMTI4LCBzcmM5
LCAxMjgsIHNyYzEwLCAxMjgsIHNyYzcsCi0gICAgICAgICAgICAgIHNyYzgsIHNyYzksIHNyYzEw
KTsKLSAgICB0bXAzID0gaG9yaXpfOHRhcF9maWx0KHNyYzcsIHNyYzgsIG1hc2swLCBtYXNrMSwg
bWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRf
aHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICAgIHRtcDQgPSBfX2xzeF92c2h1Zl9iKHRtcDMs
IHRtcDUsIHNodWZmKTsKLSAgICB0bXA0ID0gX19sc3hfdnBhY2tldl9iKHRtcDMsIHRtcDQpOwot
ICAgIG91dDAgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHRtcDAsIHRtcDEsIHRtcDIsIHRtcDQsIGZp
bHRfdnQwLCBmaWx0X3Z0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X3Z0
MiwgZmlsdF92dDMpOwotICAgIHNyYzEgPSBob3Jpel84dGFwX2ZpbHQoc3JjOSwgc3JjMTAsIG1h
c2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICAgIHNyYzAgPSBfX2xzeF92
c2h1Zl9iKHNyYzEsIHRtcDMsIHNodWZmKTsKLSAgICBzcmMwID0gX19sc3hfdnBhY2tldl9iKHNy
YzEsIHNyYzApOwotICAgIG91dDEgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHRtcDEsIHRtcDIsIHRt
cDQsIHNyYzAsIGZpbHRfdnQwLCBmaWx0X3Z0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaWx0X3Z0MiwgZmlsdF92dDMpOwotICAgIG91dDAgPSBfX2xzeF92c3NyYXJuaV9iX2go
b3V0MSwgb3V0MCwgRklMVEVSX0JJVFMpOwotICAgIG91dDAgPSBfX2xzeF92eG9yaV9iKG91dDAs
IDEyOCk7Ci0gICAgb3V0MCA9IF9fbHN4X3ZhdmdyX2J1KG91dDAsIHNyYzIpOwotICAgIF9fbHN4
X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAg
X19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsK
LSAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDIpOwotICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMyk7Ci0gICAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0KLSAgICB0bXA1ID0gc3JjMTsKLSAgICB0bXAwID0gdG1wMjsKLSAgICB0bXAx
ID0gdG1wNDsKLSAgICB0bXAyID0gc3JjMDsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25f
aHZfOGh0Xzh2dF9hbmRfYXZlcl9kc3RfOHdfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywg
aW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAg
ICBjb25zdCBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwgY29uc3QgaW50OF90ICpmaWx0ZXJfdmVydCwg
aW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsKLSAg
dWludDhfdCAqZHN0X3RtcCA9IGRzdDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
LCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsKLSAgX19tMTI4aSBm
aWx0X2h6MCwgZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0X2h6MzsKLSAgX19tMTI4aSBmaWx0X3Z0
MCwgZmlsdF92dDEsIGZpbHRfdnQyLCBmaWx0X3Z0MzsKLSAgX19tMTI4aSBtYXNrMCwgbWFzazEs
IG1hc2syLCBtYXNrMzsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0bXA0LCB0
bXA1LCB0bXA2OwotICBfX20xMjhpIG91dDAsIG91dDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIg
PSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlICsg
c3JjX3N0cmlkZTI7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwot
ICB1aW50OF90ICpfc3JjID0gKHVpbnQ4X3QgKilzcmMgLSAzIC0gc3JjX3N0cmlkZTM7Ci0KLSAg
bWFzazAgPSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0gIERVUDRfQVJHMihfX2xz
eF92bGRyZXBsX2gsIGZpbHRlcl9ob3JpeiwgMCwgZmlsdGVyX2hvcml6LCAyLCBmaWx0ZXJfaG9y
aXosIDQsCi0gICAgICAgICAgICBmaWx0ZXJfaG9yaXosIDYsIGZpbHRfaHowLCBmaWx0X2h6MSwg
ZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRpX2J1LCBtYXNrMCwg
MiwgbWFzazAsIDQsIG1hc2sxLCBtYXNrMik7Ci0gIG1hc2szID0gX19sc3hfdmFkZGlfYnUobWFz
azAsIDYpOwotCi0gIHNyYzAgPSBfX2xzeF92bGQoX3NyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xz
eF92bGR4LCBfc3JjLCBzcmNfc3RyaWRlLCBfc3JjLCBzcmNfc3RyaWRlMiwgc3JjMSwgc3JjMik7
Ci0gIHNyYzMgPSBfX2xzeF92bGR4KF9zcmMsIHNyY19zdHJpZGUzKTsKLSAgX3NyYyArPSBzcmNf
c3RyaWRlNDsKLSAgc3JjNCA9IF9fbHN4X3ZsZChfc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZsZHgsIF9zcmMsIHNyY19zdHJpZGUsIF9zcmMsIHNyY19zdHJpZGUyLCBzcmM1LCBzcmM2KTsK
LSAgX3NyYyArPSBzcmNfc3RyaWRlMzsKLSAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzAs
IDEyOCwgc3JjMSwgMTI4LCBzcmMyLCAxMjgsIHNyYzMsIDEyOCwgc3JjMCwKLSAgICAgICAgICAg
IHNyYzEsIHNyYzIsIHNyYzMpOwotICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjNCwgMTI4
LCBzcmM1LCAxMjgsIHNyYzQsIHNyYzUpOwotICBzcmM2ID0gX19sc3hfdnhvcmlfYihzcmM2LCAx
MjgpOwotCi0gIHNyYzAgPSBob3Jpel84dGFwX2ZpbHQoc3JjMCwgc3JjMCwgbWFzazAsIG1hc2sx
LCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRf
aHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICBzcmMxID0gaG9yaXpfOHRhcF9maWx0KHNyYzEs
IHNyYzEsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgc3JjMiA9IGhv
cml6Xzh0YXBfZmlsdChzcmMyLCBzcmMyLCBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMywgZmls
dF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0
X2h6Myk7Ci0gIHNyYzMgPSBob3Jpel84dGFwX2ZpbHQoc3JjMywgc3JjMywgbWFzazAsIG1hc2sx
LCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRf
aHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICBzcmM0ID0gaG9yaXpfOHRhcF9maWx0KHNyYzQs
IHNyYzQsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgc3JjNSA9IGhv
cml6Xzh0YXBfZmlsdChzcmM1LCBzcmM1LCBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMywgZmls
dF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0
X2h6Myk7Ci0gIHNyYzYgPSBob3Jpel84dGFwX2ZpbHQoc3JjNiwgc3JjNiwgbWFzazAsIG1hc2sx
LCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRf
aHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotCi0gIERVUDRfQVJHMihfX2xzeF92bGRyZXBsX2gs
IGZpbHRlcl92ZXJ0LCAwLCBmaWx0ZXJfdmVydCwgMiwgZmlsdGVyX3ZlcnQsIDQsCi0gICAgICAg
ICAgICBmaWx0ZXJfdmVydCwgNiwgZmlsdF92dDAsIGZpbHRfdnQxLCBmaWx0X3Z0MiwgZmlsdF92
dDMpOwotICBEVVA0X0FSRzIoX19sc3hfdnBhY2tldl9iLCBzcmMxLCBzcmMwLCBzcmMzLCBzcmMy
LCBzcmM1LCBzcmM0LCBzcmMyLCBzcmMxLAotICAgICAgICAgICAgdG1wMCwgdG1wMSwgdG1wMiwg
dG1wNCk7Ci0gIERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIHNyYzQsIHNyYzMsIHNyYzYsIHNy
YzUsIHRtcDUsIHRtcDYpOwotCi0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIHNyYzcgPSBf
X2xzeF92bGQoX3NyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIF9zcmMsIHNyY19z
dHJpZGUsIF9zcmMsIHNyY19zdHJpZGUyLCBzcmM4LCBzcmM5KTsKLSAgICBzcmMxMCA9IF9fbHN4
X3ZsZHgoX3NyYywgc3JjX3N0cmlkZTMpOwotICAgIF9zcmMgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAg
ICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjNywgMTI4LCBzcmM4LCAxMjgsIHNyYzksIDEy
OCwgc3JjMTAsIDEyOCwgc3JjNywKLSAgICAgICAgICAgICAgc3JjOCwgc3JjOSwgc3JjMTApOwot
ICAgIHNyYzcgPSBob3Jpel84dGFwX2ZpbHQoc3JjNywgc3JjNywgbWFzazAsIG1hc2sxLCBtYXNr
MiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEs
IGZpbHRfaHoyLCBmaWx0X2h6Myk7Ci0gICAgdG1wMyA9IF9fbHN4X3ZwYWNrZXZfYihzcmM3LCBz
cmM2KTsKLSAgICBvdXQwID0gZmlsdF84dGFwX2RwYWRkX3NfaCh0bXAwLCB0bXAxLCB0bXAyLCB0
bXAzLCBmaWx0X3Z0MCwgZmlsdF92dDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmlsdF92dDIsIGZpbHRfdnQzKTsKLSAgICBzcmM4ID0gaG9yaXpfOHRhcF9maWx0KHNyYzgsIHNy
YzgsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICAgIHNyYzAgPSBf
X2xzeF92cGFja2V2X2Ioc3JjOCwgc3JjNyk7Ci0gICAgb3V0MSA9IGZpbHRfOHRhcF9kcGFkZF9z
X2godG1wNCwgdG1wNSwgdG1wNiwgc3JjMCwgZmlsdF92dDAsIGZpbHRfdnQxLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbHRfdnQyLCBmaWx0X3Z0Myk7Ci0gICAgc3JjOSA9IGhv
cml6Xzh0YXBfZmlsdChzcmM5LCBzcmM5LCBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMywgZmls
dF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6MSwgZmlsdF9oejIsIGZp
bHRfaHozKTsKLSAgICBzcmMxID0gX19sc3hfdnBhY2tldl9iKHNyYzksIHNyYzgpOwotICAgIHNy
YzMgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHRtcDEsIHRtcDIsIHRtcDMsIHNyYzEsIGZpbHRfdnQw
LCBmaWx0X3Z0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X3Z0MiwgZmls
dF92dDMpOwotICAgIHNyYzEwID0gaG9yaXpfOHRhcF9maWx0KHNyYzEwLCBzcmMxMCwgbWFzazAs
IG1hc2sxLCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICAgIHNyYzIgPSBfX2xzeF92cGFj
a2V2X2Ioc3JjMTAsIHNyYzkpOwotICAgIHNyYzQgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHRtcDUs
IHRtcDYsIHNyYzAsIHNyYzIsIGZpbHRfdnQwLCBmaWx0X3Z0MSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0X3Z0MiwgZmlsdF92dDMpOwotICAgIERVUDJfQVJHMyhfX2xzeF92
c3NyYXJuaV9iX2gsIG91dDEsIG91dDAsIEZJTFRFUl9CSVRTLCBzcmM0LCBzcmMzLAotICAgICAg
ICAgICAgICBGSUxURVJfQklUUywgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4
b3JpX2IsIG91dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLSAgICBzcmM1ID0gX19s
c3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAg
ICBzcmM3ID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0
X3N0cmlkZTsKLSAgICBzcmM4ID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRz
dF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBzcmM5ID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAs
IDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmls
dmxfZCwgc3JjNywgc3JjNSwgc3JjOSwgc3JjOCwgc3JjNSwgc3JjNyk7Ci0gICAgRFVQMl9BUkcy
KF9fbHN4X3ZhdmdyX2J1LCBvdXQwLCBzcmM1LCBvdXQxLCBzcmM3LCBvdXQwLCBvdXQxKTsKLSAg
ICBfX2xzeF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRl
OwotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9z
dHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX2Qob3V0MSwgZHN0LCAwLCAwKTsKLSAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QsIDAsIDEpOwotICAgIGRz
dCArPSBkc3Rfc3RyaWRlOwotCi0gICAgc3JjNiA9IHNyYzEwOwotICAgIHRtcDAgPSB0bXAyOwot
ICAgIHRtcDEgPSB0bXAzOwotICAgIHRtcDIgPSBzcmMxOwotICAgIHRtcDQgPSB0bXA2OwotICAg
IHRtcDUgPSBzcmMwOwotICAgIHRtcDYgPSBzcmMyOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNv
bW1vbl9odl84aHRfOHZ0X2FuZF9hdmVyX2RzdF8xNndfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3Qg
KnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlk
ZSwKLSAgICBjb25zdCBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwgY29uc3QgaW50OF90ICpmaWx0ZXJf
dmVydCwgaW50MzJfdCBoZWlnaHQpIHsKLSAgY29tbW9uX2h2XzhodF84dnRfYW5kX2F2ZXJfZHN0
Xzh3X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJfaG9yaXosIGZpbHRlcl92ZXJ0LCBoZWln
aHQpOwotICBzcmMgKz0gODsKLSAgZHN0ICs9IDg7Ci0KLSAgY29tbW9uX2h2XzhodF84dnRfYW5k
X2F2ZXJfZHN0Xzh3X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJfaG9yaXosIGZpbHRlcl92
ZXJ0LCBoZWlnaHQpOwotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHZfOGh0Xzh2dF9hbmRfYXZl
cl9kc3RfMzJ3X2xzeCgKLSAgICBjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlk
ZSwgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgY29uc3QgaW50OF90ICpm
aWx0ZXJfaG9yaXosIGNvbnN0IGludDhfdCAqZmlsdGVyX3ZlcnQsIGludDMyX3QgaGVpZ2h0KSB7
Ci0gIGludDMyX3QgbXVsdGlwbGU4X2NudDsKLQotICBmb3IgKG11bHRpcGxlOF9jbnQgPSA0OyBt
dWx0aXBsZThfY250LS07KSB7Ci0gICAgY29tbW9uX2h2XzhodF84dnRfYW5kX2F2ZXJfZHN0Xzh3
X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl9ob3JpeiwgZmlsdGVyX3ZlcnQsIGhlaWdo
dCk7Ci0gICAgc3JjICs9IDg7Ci0gICAgZHN0ICs9IDg7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQg
Y29tbW9uX2h2XzhodF84dnRfYW5kX2F2ZXJfZHN0XzY0d19sc3goCi0gICAgY29uc3QgdWludDhf
dCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3Ry
aWRlLAotICAgIGNvbnN0IGludDhfdCAqZmlsdGVyX2hvcml6LCBjb25zdCBpbnQ4X3QgKmZpbHRl
cl92ZXJ0LCBpbnQzMl90IGhlaWdodCkgewotICBpbnQzMl90IG11bHRpcGxlOF9jbnQ7Ci0KLSAg
Zm9yIChtdWx0aXBsZThfY250ID0gODsgbXVsdGlwbGU4X2NudC0tOykgewotICAgIGNvbW1vbl9o
dl84aHRfOHZ0X2FuZF9hdmVyX2RzdF84d19sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJf
aG9yaXosIGZpbHRlcl92ZXJ0LCBoZWlnaHQpOwotCi0gICAgc3JjICs9IDg7Ci0gICAgZHN0ICs9
IDg7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h2XzJodF8ydnRfYW5kX2F2ZXJfZHN0
XzR4NF9sc3goCi0gICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVp
bnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgIGludDhfdCAqZmlsdGVyX2hvcml6
LCBpbnQ4X3QgKmZpbHRlcl92ZXJ0KSB7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3Jj
Mywgc3JjNCwgbWFzazsKLSAgX19tMTI4aSBmaWx0X2h6LCBmaWx0X3Z0LCB2ZWMwLCB2ZWMxOwot
ICBfX20xMjhpIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDM7Ci0gIF9fbTEyOGkgaHpfb3V0MCwgaHpf
b3V0MSwgaHpfb3V0MiwgaHpfb3V0MywgaHpfb3V0NCwgdG1wMCwgdG1wMTsKLSAgX19tMTI4aSBz
aHVmZiA9IHsgMHgwRjBFMEQwQzBCMEEwOTA4LCAweDE3MTYxNTE0MTMxMjExMTAgfTsKLQotICBp
bnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJp
ZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0g
c3JjX3N0cmlkZTIgPDwgMTsKLQotICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8
PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rfc3RyaWRlOwot
Ci0gIG1hc2sgPSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2FyciwgMTYpOwotICAvKiByZWFycmFu
Z2luZyBmaWx0ZXIgKi8KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyX2hvcml6
LCAwLCBmaWx0ZXJfdmVydCwgMCwgZmlsdF9oeiwgZmlsdF92dCk7Ci0KLSAgc3JjMCA9IF9fbHN4
X3ZsZChzcmMsIDApOwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBz
cmMsIHNyY19zdHJpZGUyLCBzcmMsIHNyY19zdHJpZGUzLAotICAgICAgICAgICAgc3JjLCBzcmNf
c3RyaWRlNCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCk7Ci0KLSAgaHpfb3V0MCA9IGhvcml6XzJ0
YXBfZmlsdF91aChzcmMwLCBzcmMxLCBtYXNrLCBmaWx0X2h6KTsKLSAgaHpfb3V0MiA9IGhvcml6
XzJ0YXBfZmlsdF91aChzcmMyLCBzcmMzLCBtYXNrLCBmaWx0X2h6KTsKLSAgaHpfb3V0NCA9IGhv
cml6XzJ0YXBfZmlsdF91aChzcmM0LCBzcmM0LCBtYXNrLCBmaWx0X2h6KTsKLSAgaHpfb3V0MSA9
IF9fbHN4X3ZzaHVmX2IoaHpfb3V0MiwgaHpfb3V0MCwgc2h1ZmYpOwotICBoel9vdXQzID0gX19s
c3hfdnBpY2tvZF9kKGh6X291dDQsIGh6X291dDIpOwotICBEVVAyX0FSRzIoX19sc3hfdnBhY2tl
dl9iLCBoel9vdXQxLCBoel9vdXQwLCBoel9vdXQzLCBoel9vdXQyLCB2ZWMwLCB2ZWMxKTsKLQot
ICBkc3QwID0gX19sc3hfdmxkcmVwbF93KGRzdCwgMCk7Ci0gIGRzdDEgPSBfX2xzeF92bGRyZXBs
X3coZHN0ICsgZHN0X3N0cmlkZSwgMCk7Ci0gIGRzdDIgPSBfX2xzeF92bGRyZXBsX3coZHN0ICsg
ZHN0X3N0cmlkZTIsIDApOwotICBkc3QzID0gX19sc3hfdmxkcmVwbF93KGRzdCArIGRzdF9zdHJp
ZGUzLCAwKTsKLSAgZHN0MCA9IF9fbHN4X3ZpbHZsX3coZHN0MSwgZHN0MCk7Ci0gIGRzdDEgPSBf
X2xzeF92aWx2bF93KGRzdDMsIGRzdDIpOwotICBkc3QwID0gX19sc3hfdmlsdmxfZChkc3QxLCBk
c3QwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdF92dCwgdmVjMSwg
ZmlsdF92dCwgdG1wMCwgdG1wMSk7Ci0gIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEs
IHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgdG1wMCA9IF9fbHN4X3ZhdmdyX2J1KHRtcDAsIGRzdDAp
OwotICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDApOwotICBfX2xzeF92c3RlbG1fdyh0
bXAwLCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX3codG1wMCwgZHN0
ICsgZHN0X3N0cmlkZTIsIDAsIDIpOwotICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QgKyBkc3Rf
c3RyaWRlMywgMCwgMyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9h
dmVyX2RzdF80eDhfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3Ry
aWRlLCB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICBpbnQ4X3QgKmZpbHRl
cl9ob3JpeiwgaW50OF90ICpmaWx0ZXJfdmVydCkgewotICB1aW50OF90ICpkc3RfdG1wID0gZHN0
OwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNy
YzcsIHNyYzgsIG1hc2s7Ci0gIF9fbTEyOGkgZmlsdF9oeiwgZmlsdF92dCwgdmVjMCwgdmVjMSwg
dmVjMiwgdmVjMywgcmVzMCwgcmVzMTsKLSAgX19tMTI4aSBoel9vdXQwLCBoel9vdXQxLCBoel9v
dXQyLCBoel9vdXQzLCBoel9vdXQ0LCBoel9vdXQ1LCBoel9vdXQ2OwotICBfX20xMjhpIGh6X291
dDcsIGh6X291dDgsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Ci0gIF9fbTEyOGkgZHN0MCwgZHN0
MSwgZHN0MiwgZHN0MywgZHN0NDsKLSAgX19tMTI4aSBzaHVmZiA9IHsgMHgwRjBFMEQwQzBCMEEw
OTA4LCAweDE3MTYxNTE0MTMxMjExMTAgfTsKLQotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3Jj
X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNf
c3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLQotICBt
YXNrID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDE2KTsKLQotICAvKiByZWFycmFuZ2lu
ZyBmaWx0ZXIgKi8KLSAgZmlsdF9oeiA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXJfaG9yaXosIDAp
OwotICBmaWx0X3Z0ID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlcl92ZXJ0LCAwKTsKLQotICBzcmMw
ID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19z
dHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYywgc3JjX3N0cmlkZTMsCi0gICAgICAgICAgICBz
cmMsIHNyY19zdHJpZGU0LCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0KTsKLSAgc3JjICs9IHNyY19z
dHJpZGU0OwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNy
Y19zdHJpZGUyLCBzcmMsIHNyY19zdHJpZGUzLAotICAgICAgICAgICAgc3JjLCBzcmNfc3RyaWRl
NCwgc3JjNSwgc3JjNiwgc3JjNywgc3JjOCk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlNDsKLQotICBo
el9vdXQwID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzAsIHNyYzEsIG1hc2ssIGZpbHRfaHopOwot
ICBoel9vdXQyID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzIsIHNyYzMsIG1hc2ssIGZpbHRfaHop
OwotICBoel9vdXQ0ID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzQsIHNyYzUsIG1hc2ssIGZpbHRf
aHopOwotICBoel9vdXQ2ID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzYsIHNyYzcsIG1hc2ssIGZp
bHRfaHopOwotICBoel9vdXQ4ID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzgsIHNyYzgsIG1hc2ss
IGZpbHRfaHopOwotICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgaHpfb3V0MiwgaHpfb3V0MCwg
c2h1ZmYsIGh6X291dDQsIGh6X291dDIsIHNodWZmLAotICAgICAgICAgICAgaHpfb3V0MSwgaHpf
b3V0Myk7Ci0gIGh6X291dDUgPSBfX2xzeF92c2h1Zl9iKGh6X291dDYsIGh6X291dDQsIHNodWZm
KTsKLSAgaHpfb3V0NyA9IF9fbHN4X3ZwaWNrb2RfZChoel9vdXQ4LCBoel9vdXQ2KTsKLQotICBk
c3QwID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJp
ZGU7Ci0gIGRzdDEgPSBfX2xzeF92bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0g
ZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0
X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QzID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDAp
OwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDAgPSBfX2xzeF92aWx2bF93KGRzdDEs
IGRzdDApOwotICBkc3QxID0gX19sc3hfdmlsdmxfdyhkc3QzLCBkc3QyKTsKLSAgZHN0MCA9IF9f
bHN4X3ZpbHZsX2QoZHN0MSwgZHN0MCk7Ci0KLSAgZHN0MSA9IF9fbHN4X3ZsZHJlcGxfdyhkc3Rf
dG1wLCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QyID0gX19sc3hfdmxkcmVw
bF93KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDMgPSBfX2xz
eF92bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0
NCA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0MSA9IF9fbHN4X3ZpbHZsX3co
ZHN0MiwgZHN0MSk7Ci0gIGRzdDIgPSBfX2xzeF92aWx2bF93KGRzdDQsIGRzdDMpOwotICBkc3Qx
ID0gX19sc3hfdmlsdmxfZChkc3QyLCBkc3QxKTsKLQotICBEVVA0X0FSRzIoX19sc3hfdnBhY2tl
dl9iLCBoel9vdXQxLCBoel9vdXQwLCBoel9vdXQzLCBoel9vdXQyLCBoel9vdXQ1LAotICAgICAg
ICAgICAgaHpfb3V0NCwgaHpfb3V0NywgaHpfb3V0NiwgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7
Ci0gIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHRfdnQsIHZlYzEsIGZpbHRf
dnQsIHZlYzIsIGZpbHRfdnQsIHZlYzMsCi0gICAgICAgICAgICBmaWx0X3Z0LCB0bXAwLCB0bXAx
LCB0bXAyLCB0bXAzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHRtcDEsIHRt
cDAsIEZJTFRFUl9CSVRTLCB0bXAzLCB0bXAyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIHJl
czAsIHJlczEpOwotICBEVVAyX0FSRzIoX19sc3hfdmF2Z3JfYnUsIHJlczAsIGRzdDAsIHJlczEs
IGRzdDEsIHJlczAsIHJlczEpOwotCi0gIF9fbHN4X3ZzdGVsbV93KHJlczAsIGRzdCwgMCwgMCk7
Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhyZXMwLCBkc3QsIDAsIDEp
OwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cocmVzMCwgZHN0LCAwLCAy
KTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KHJlczAsIGRzdCwgMCwg
Myk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gIF9fbHN4X3ZzdGVsbV93KHJlczEsIGRzdCwg
MCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyhyZXMxLCBkc3Qs
IDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cocmVzMSwgZHN0
LCAwLCAyKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KHJlczEsIGRz
dCwgMCwgMyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9hdmVyX2Rz
dF80d19sc3goCi0gICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVp
bnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgIGludDhfdCAqZmlsdGVyX2hvcml6
LCBpbnQ4X3QgKmZpbHRlcl92ZXJ0LCBpbnQzMl90IGhlaWdodCkgewotICBpZiAoaGVpZ2h0ID09
IDQpIHsKLSAgICBjb21tb25faHZfMmh0XzJ2dF9hbmRfYXZlcl9kc3RfNHg0X2xzeChzcmMsIHNy
Y19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWx0ZXJfaG9yaXosIGZpbHRlcl92ZXJ0KTsKLSAgfSBlbHNlIGlmICho
ZWlnaHQgPT0gOCkgewotICAgIGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9hdmVyX2RzdF80eDhfbHN4
KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl9ob3JpeiwgZmlsdGVyX3ZlcnQpOwotICB9Ci19
Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9hdmVyX2RzdF84eDRfbHN4KAot
ICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3Qs
IGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwgaW50OF90ICpm
aWx0ZXJfdmVydCkgewotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIG1h
c2s7Ci0gIF9fbTEyOGkgZmlsdF9oeiwgZmlsdF92dCwgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMzsK
LSAgX19tMTI4aSBoel9vdXQwLCBoel9vdXQxLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzOwotICBf
X20xMjhpIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDM7Ci0KLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9
IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsg
c3JjX3N0cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0K
LSAgdWludDhfdCAqZHN0X3RtcCA9IGRzdDsKLSAgbWFzayA9IF9fbHN4X3ZsZChtY19maWx0X21h
c2tfYXJyLCAwKTsKLSAgLyogcmVhcnJhbmdpbmcgZmlsdGVyICovCi0gIGZpbHRfaHogPSBfX2xz
eF92bGRyZXBsX2goZmlsdGVyX2hvcml6LCAwKTsKLSAgZmlsdF92dCA9IF9fbHN4X3ZsZHJlcGxf
aChmaWx0ZXJfdmVydCwgMCk7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVA0
X0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMs
IHNyY19zdHJpZGUzLAotICAgICAgICAgICAgc3JjLCBzcmNfc3RyaWRlNCwgc3JjMSwgc3JjMiwg
c3JjMywgc3JjNCk7Ci0KLSAgZHN0MCA9IF9fbHN4X3ZsZHJlcGxfZChkc3RfdG1wLCAwKTsKLSAg
ZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QxID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAs
IDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDIgPSBfX2xzeF92bGRyZXBsX2Qo
ZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MyA9IF9fbHN4X3Zs
ZHJlcGxfZChkc3RfdG1wLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2QsIGRzdDEsIGRz
dDAsIGRzdDMsIGRzdDIsIGRzdDAsIGRzdDEpOwotICBoel9vdXQwID0gaG9yaXpfMnRhcF9maWx0
X3VoKHNyYzAsIHNyYzAsIG1hc2ssIGZpbHRfaHopOwotICBoel9vdXQxID0gaG9yaXpfMnRhcF9m
aWx0X3VoKHNyYzEsIHNyYzEsIG1hc2ssIGZpbHRfaHopOwotICB2ZWMwID0gX19sc3hfdnBhY2tl
dl9iKGh6X291dDEsIGh6X291dDApOwotICB0bXAwID0gX19sc3hfdmRwMl9oX2J1KHZlYzAsIGZp
bHRfdnQpOwotCi0gIGh6X291dDAgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMiwgc3JjMiwgbWFz
aywgZmlsdF9oeik7Ci0gIHZlYzEgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MCwgaHpfb3V0MSk7
Ci0gIHRtcDEgPSBfX2xzeF92ZHAyX2hfYnUodmVjMSwgZmlsdF92dCk7Ci0KLSAgaHpfb3V0MSA9
IGhvcml6XzJ0YXBfZmlsdF91aChzcmMzLCBzcmMzLCBtYXNrLCBmaWx0X2h6KTsKLSAgdmVjMiA9
IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQxLCBoel9vdXQwKTsKLSAgdG1wMiA9IF9fbHN4X3ZkcDJf
aF9idSh2ZWMyLCBmaWx0X3Z0KTsKLQotICBoel9vdXQwID0gaG9yaXpfMnRhcF9maWx0X3VoKHNy
YzQsIHNyYzQsIG1hc2ssIGZpbHRfaHopOwotICB2ZWMzID0gX19sc3hfdnBhY2tldl9iKGh6X291
dDAsIGh6X291dDEpOwotICB0bXAzID0gX19sc3hfdmRwMl9oX2J1KHZlYzMsIGZpbHRfdnQpOwot
ICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgdG1wMSwgdG1wMCwgRklMVEVSX0JJVFMs
IHRtcDMsIHRtcDIsCi0gICAgICAgICAgICBGSUxURVJfQklUUywgdG1wMCwgdG1wMSk7Ci0gIEFW
R19TVDRfRCh0bXAwLCB0bXAxLCBkc3QwLCBkc3QxLCBkc3QsIGRzdF9zdHJpZGUpOwotfQotCi1z
dGF0aWMgdm9pZCBjb21tb25faHZfMmh0XzJ2dF9hbmRfYXZlcl9kc3RfOHg4bXVsdF9sc3goCi0g
ICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwg
aW50MzJfdCBkc3Rfc3RyaWRlLAotICAgIGludDhfdCAqZmlsdGVyX2hvcml6LCBpbnQ4X3QgKmZp
bHRlcl92ZXJ0LCBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJfdCBsb29wX2NudCA9IChoZWln
aHQgPj4gMik7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgbWFzazsK
LSAgX19tMTI4aSBmaWx0X2h6LCBmaWx0X3Z0LCB2ZWMwOwotICBfX20xMjhpIGh6X291dDAsIGh6
X291dDEsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Ci0gIF9fbTEyOGkgZHN0MCwgZHN0MSwgZHN0
MiwgZHN0MzsKLQotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBp
bnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90
IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLQotICB1aW50OF90ICpkc3RfdG1wID0g
ZHN0OwotCi0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBtYXNrID0gX19sc3hfdmxkKG1j
X2ZpbHRfbWFza19hcnIsIDApOwotCi0gIGZpbHRfaHogPSBfX2xzeF92bGRyZXBsX2goZmlsdGVy
X2hvcml6LCAwKTsKLSAgZmlsdF92dCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXJfdmVydCwgMCk7
Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBzcmMgKz0gc3JjX3N0cmlkZTsKLQot
ICBoel9vdXQwID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzAsIHNyYzAsIG1hc2ssIGZpbHRfaHop
OwotCi0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIHNyYzEgPSBfX2xzeF92bGQoc3JjLCAw
KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19z
dHJpZGUyLCBzcmMyLCBzcmMzKTsKLSAgICBzcmM0ID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJp
ZGUzKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAgICBoel9vdXQxID0gaG9yaXpfMnRh
cF9maWx0X3VoKHNyYzEsIHNyYzEsIG1hc2ssIGZpbHRfaHopOwotICAgIHZlYzAgPSBfX2xzeF92
cGFja2V2X2IoaHpfb3V0MSwgaHpfb3V0MCk7Ci0gICAgdG1wMCA9IF9fbHN4X3ZkcDJfaF9idSh2
ZWMwLCBmaWx0X3Z0KTsKLQotICAgIGh6X291dDAgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMiwg
c3JjMiwgbWFzaywgZmlsdF9oeik7Ci0gICAgdmVjMCA9IF9fbHN4X3ZwYWNrZXZfYihoel9vdXQw
LCBoel9vdXQxKTsKLSAgICB0bXAxID0gX19sc3hfdmRwMl9oX2J1KHZlYzAsIGZpbHRfdnQpOwot
Ci0gICAgaHpfb3V0MSA9IGhvcml6XzJ0YXBfZmlsdF91aChzcmMzLCBzcmMzLCBtYXNrLCBmaWx0
X2h6KTsKLSAgICB2ZWMwID0gX19sc3hfdnBhY2tldl9iKGh6X291dDEsIGh6X291dDApOwotICAg
IHRtcDIgPSBfX2xzeF92ZHAyX2hfYnUodmVjMCwgZmlsdF92dCk7Ci0KLSAgICBoel9vdXQwID0g
aG9yaXpfMnRhcF9maWx0X3VoKHNyYzQsIHNyYzQsIG1hc2ssIGZpbHRfaHopOwotICAgIHZlYzAg
PSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MCwgaHpfb3V0MSk7Ci0gICAgdG1wMyA9IF9fbHN4X3Zk
cDJfaF9idSh2ZWMwLCBmaWx0X3Z0KTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYnVf
aCwgdG1wMSwgdG1wMCwgRklMVEVSX0JJVFMsIHRtcDMsIHRtcDIsCi0gICAgICAgICAgICAgIEZJ
TFRFUl9CSVRTLCB0bXAwLCB0bXAxKTsKLQotICAgIGRzdDAgPSBfX2xzeF92bGRyZXBsX2QoZHN0
X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIGRzdDEgPSBfX2xzeF92
bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIGRz
dDIgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3Ry
aWRlOwotICAgIGRzdDMgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gICAgZHN0X3Rt
cCArPSBkc3Rfc3RyaWRlOwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9kLCBkc3QxLCBkc3Qw
LCBkc3QzLCBkc3QyLCBkc3QwLCBkc3QxKTsKLSAgICBBVkdfU1Q0X0QodG1wMCwgdG1wMSwgZHN0
MCwgZHN0MSwgZHN0LCBkc3Rfc3RyaWRlKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgfQot
fQotCi1zdGF0aWMgdm9pZCBjb21tb25faHZfMmh0XzJ2dF9hbmRfYXZlcl9kc3RfOHdfbHN4KAot
ICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3Qs
IGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwgaW50OF90ICpm
aWx0ZXJfdmVydCwgaW50MzJfdCBoZWlnaHQpIHsKLSAgaWYgKGhlaWdodCA9PSA0KSB7Ci0gICAg
Y29tbW9uX2h2XzJodF8ydnRfYW5kX2F2ZXJfZHN0Xzh4NF9sc3goc3JjLCBzcmNfc3RyaWRlLCBk
c3QsIGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmlsdGVyX2hvcml6LCBmaWx0ZXJfdmVydCk7Ci0gIH0gZWxzZSB7Ci0gICAgY29tbW9uX2h2
XzJodF8ydnRfYW5kX2F2ZXJfZHN0Xzh4OG11bHRfbHN4KAotICAgICAgICBzcmMsIHNyY19zdHJp
ZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyX2hvcml6LCBmaWx0ZXJfdmVydCwgaGVpZ2h0KTsK
LSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHZfMmh0XzJ2dF9hbmRfYXZlcl9kc3RfMTZ3
X2xzeCgKLSAgICBjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhf
dCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgaW50OF90ICpmaWx0ZXJfaG9yaXosIGlu
dDhfdCAqZmlsdGVyX3ZlcnQsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQ4X3QgKnNyY190bXAx
OwotICB1aW50MzJfdCBsb29wX2NudCA9IChoZWlnaHQgPj4gMik7Ci0gIF9fbTEyOGkgc3JjMCwg
c3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgbWFzazsKLSAgX19tMTI4
aSBmaWx0X2h6LCBmaWx0X3Z0LCB2ZWMwLCB2ZWMxLCBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzOwot
ICBfX20xMjhpIGh6X291dDAsIGh6X291dDEsIGh6X291dDIsIGh6X291dDMsIHRtcDAsIHRtcDEs
IHRtcDM7Ci0KLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50
MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBz
cmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0KLSAgaW50MzJfdCBkc3Rfc3RyaWRlMiA9
IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMyA9IGRzdF9zdHJpZGUyICsg
ZHN0X3N0cmlkZTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlNCA9IGRzdF9zdHJpZGUgPDwgMjsKLQot
ICBtYXNrID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwotICAvKiByZWFycmFuZ2lu
ZyBmaWx0ZXIgKi8KLSAgZmlsdF9oeiA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXJfaG9yaXosIDAp
OwotICBmaWx0X3Z0ID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlcl92ZXJ0LCAwKTsKLQotICBEVVAy
X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgOCwgc3JjMCwgc3JjMSk7Ci0gIHNyYyArPSBz
cmNfc3RyaWRlOwotCi0gIGh6X291dDAgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMCwgc3JjMCwg
bWFzaywgZmlsdF9oeik7Ci0gIGh6X291dDIgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMSwgc3Jj
MSwgbWFzaywgZmlsdF9oeik7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgc3JjMCA9
IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19z
dHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzIsIHNyYzQpOwotICAgIHNyYzYgPSBfX2xzeF92
bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICAgIHNyY190bXAxID0gKHVpbnQ4X3QgKikoc3JjICsg
OCk7Ci0gICAgc3JjMSA9IF9fbHN4X3ZsZChzcmNfdG1wMSwgMCk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZsZHgsIHNyY190bXAxLCBzcmNfc3RyaWRlLCBzcmNfdG1wMSwgc3JjX3N0cmlkZTIsIHNy
YzMsCi0gICAgICAgICAgICAgIHNyYzUpOwotICAgIHNyYzcgPSBfX2xzeF92bGR4KHNyY190bXAx
LCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU0OwotICAgIGRzdDAgPSBfX2xz
eF92bGQoZHN0LCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgZHN0LCBkc3Rfc3RyaWRl
LCBkc3QsIGRzdF9zdHJpZGUyLCBkc3QxLCBkc3QyKTsKLSAgICBkc3QzID0gX19sc3hfdmxkeChk
c3QsIGRzdF9zdHJpZGUzKTsKLQotICAgIGh6X291dDEgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3Jj
MCwgc3JjMCwgbWFzaywgZmlsdF9oeik7Ci0gICAgaHpfb3V0MyA9IGhvcml6XzJ0YXBfZmlsdF91
aChzcmMxLCBzcmMxLCBtYXNrLCBmaWx0X2h6KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnBhY2tl
dl9iLCBoel9vdXQxLCBoel9vdXQwLCBoel9vdXQzLCBoel9vdXQyLCB2ZWMwLCB2ZWMxKTsKLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0X3Z0LCB2ZWMxLCBmaWx0X3Z0
LCB0bXAwLCB0bXAxKTsKLSAgICB0bXAzID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAw
LCBGSUxURVJfQklUUyk7Ci0gICAgdG1wMyA9IF9fbHN4X3ZhdmdyX2J1KHRtcDMsIGRzdDApOwot
ICAgIF9fbHN4X3ZzdCh0bXAzLCBkc3QsIDApOwotCi0gICAgaHpfb3V0MCA9IGhvcml6XzJ0YXBf
ZmlsdF91aChzcmMyLCBzcmMyLCBtYXNrLCBmaWx0X2h6KTsKLSAgICBoel9vdXQyID0gaG9yaXpf
MnRhcF9maWx0X3VoKHNyYzMsIHNyYzMsIG1hc2ssIGZpbHRfaHopOwotICAgIERVUDJfQVJHMihf
X2xzeF92cGFja2V2X2IsIGh6X291dDAsIGh6X291dDEsIGh6X291dDIsIGh6X291dDMsIHZlYzAs
IHZlYzEpOwotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHRfdnQsIHZl
YzEsIGZpbHRfdnQsIHRtcDAsIHRtcDEpOwotICAgIHRtcDMgPSBfX2xzeF92c3NyYXJuaV9idV9o
KHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICB0bXAzID0gX19sc3hfdmF2Z3JfYnUodG1w
MywgZHN0MSk7Ci0gICAgX19sc3hfdnN0eCh0bXAzLCBkc3QsIGRzdF9zdHJpZGUpOwotCi0gICAg
aHpfb3V0MSA9IGhvcml6XzJ0YXBfZmlsdF91aChzcmM0LCBzcmM0LCBtYXNrLCBmaWx0X2h6KTsK
LSAgICBoel9vdXQzID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzUsIHNyYzUsIG1hc2ssIGZpbHRf
aHopOwotICAgIERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291dDEsIGh6X291dDAsIGh6
X291dDMsIGh6X291dDIsIHZlYzAsIHZlYzEpOwotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hf
YnUsIHZlYzAsIGZpbHRfdnQsIHZlYzEsIGZpbHRfdnQsIHRtcDAsIHRtcDEpOwotICAgIHRtcDMg
PSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICB0bXAz
ID0gX19sc3hfdmF2Z3JfYnUodG1wMywgZHN0Mik7Ci0gICAgX19sc3hfdnN0eCh0bXAzLCBkc3Qs
IGRzdF9zdHJpZGUyKTsKLQotICAgIGh6X291dDAgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjNiwg
c3JjNiwgbWFzaywgZmlsdF9oeik7Ci0gICAgaHpfb3V0MiA9IGhvcml6XzJ0YXBfZmlsdF91aChz
cmM3LCBzcmM3LCBtYXNrLCBmaWx0X2h6KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnBhY2tldl9i
LCBoel9vdXQwLCBoel9vdXQxLCBoel9vdXQyLCBoel9vdXQzLCB2ZWMwLCB2ZWMxKTsKLSAgICBE
VVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0X3Z0LCB2ZWMxLCBmaWx0X3Z0LCB0
bXAwLCB0bXAxKTsKLSAgICB0bXAzID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBG
SUxURVJfQklUUyk7Ci0gICAgdG1wMyA9IF9fbHN4X3ZhdmdyX2J1KHRtcDMsIGRzdDMpOwotICAg
IF9fbHN4X3ZzdHgodG1wMywgZHN0LCBkc3Rfc3RyaWRlMyk7Ci0gICAgZHN0ICs9IGRzdF9zdHJp
ZGU0OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9hdmVyX2Rz
dF8zMndfbHN4KAotICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1
aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICBpbnQ4X3QgKmZpbHRlcl9ob3Jp
eiwgaW50OF90ICpmaWx0ZXJfdmVydCwgaW50MzJfdCBoZWlnaHQpIHsKLSAgY29tbW9uX2h2XzJo
dF8ydnRfYW5kX2F2ZXJfZHN0XzE2d19sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl9ob3Jp
eiwgZmlsdGVyX3ZlcnQsIGhlaWdodCk7Ci0gIHNyYyArPSAxNjsKLSAgZHN0ICs9IDE2OwotCi0g
IGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9hdmVyX2RzdF8xNndfbHN4KHNyYywgc3JjX3N0cmlkZSwg
ZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWx0ZXJfaG9yaXosIGZpbHRlcl92ZXJ0LCBoZWlnaHQpOwotfQotCi1zdGF0aWMgdm9pZCBj
b21tb25faHZfMmh0XzJ2dF9hbmRfYXZlcl9kc3RfNjR3X2xzeCgKLSAgICBjb25zdCB1aW50OF90
ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJp
ZGUsCi0gICAgaW50OF90ICpmaWx0ZXJfaG9yaXosIGludDhfdCAqZmlsdGVyX3ZlcnQsIGludDMy
X3QgaGVpZ2h0KSB7Ci0gIGludDMyX3QgbXVsdGlwbGU4X2NudDsKLSAgZm9yIChtdWx0aXBsZThf
Y250ID0gNDsgbXVsdGlwbGU4X2NudC0tOykgewotICAgIGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9h
dmVyX2RzdF8xNndfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl9ob3JpeiwgZmlsdGVy
X3ZlcnQsIGhlaWdodCk7Ci0gICAgc3JjICs9IDE2OwotICAgIGRzdCArPSAxNjsKLSAgfQotfQot
Ci12b2lkIHZweF9jb252b2x2ZThfYXZnX2xzeChjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBw
dHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IElu
dGVycEtlcm5lbCAqZmlsdGVyLCBpbnQgeDBfcTQsIGludCB4X3N0ZXBfcTQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsIGludCB3LCBpbnQgaCkg
ewotICBjb25zdCBpbnQxNl90ICpjb25zdCBmaWx0ZXJfeCA9IGZpbHRlclt4MF9xNF07Ci0gIGNv
bnN0IGludDE2X3QgKmNvbnN0IGZpbHRlcl95ID0gZmlsdGVyW3kwX3E0XTsKLSAgaW50OF90IGNu
dCwgZmlsdF9ob3JbOF0sIGZpbHRfdmVyWzhdOwotCi0gIGFzc2VydCh4X3N0ZXBfcTQgPT0gMTYp
OwotICBhc3NlcnQoeV9zdGVwX3E0ID09IDE2KTsKLSAgYXNzZXJ0KCgoY29uc3QgaW50MzJfdCAq
KWZpbHRlcl94KVsxXSAhPSAweDgwMDAwMCk7Ci0gIGFzc2VydCgoKGNvbnN0IGludDMyX3QgKilm
aWx0ZXJfeSlbMV0gIT0gMHg4MDAwMDApOwotCi0gIGZvciAoY250ID0gMDsgY250IDwgODsgKytj
bnQpIHsKLSAgICBmaWx0X2hvcltjbnRdID0gZmlsdGVyX3hbY250XTsKLSAgICBmaWx0X3Zlcltj
bnRdID0gZmlsdGVyX3lbY250XTsKLSAgfQotICBpZiAodnB4X2dldF9maWx0ZXJfdGFwcyhmaWx0
ZXJfeCkgPT0gMiAmJgotICAgICAgdnB4X2dldF9maWx0ZXJfdGFwcyhmaWx0ZXJfeSkgPT0gMikg
ewotICAgIHN3aXRjaCAodykgewotICAgICAgY2FzZSA0OgotICAgICAgICBjb21tb25faHZfMmh0
XzJ2dF9hbmRfYXZlcl9kc3RfNHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRz
dF9zdHJpZGUsICZmaWx0X2hvclszXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmZmlsdF92ZXJbM10sIGgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNh
c2UgODoKLSAgICAgICAgY29tbW9uX2h2XzJodF8ydnRfYW5kX2F2ZXJfZHN0Xzh3X2xzeChzcmMs
IChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLCAmZmlsdF9ob3JbM10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpbHRfdmVyWzNdLCBo
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDE2OgotICAgICAgICBjb21tb25faHZfMmh0
XzJ2dF9hbmRfYXZlcl9kc3RfMTZ3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3Qp
ZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmZpbHRfaG9yWzNdLCAmZmlsdF92ZXJbM10sIGgpOwotICAgICAgICBicmVhazsKLSAgICAg
IGNhc2UgMzI6Ci0gICAgICAgIGNvbW1vbl9odl8yaHRfMnZ0X2FuZF9hdmVyX2RzdF8zMndfbHN4
KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmlsdF9ob3JbM10sICZmaWx0X3Zl
clszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA2NDoKLSAgICAgICAgY29tbW9u
X2h2XzJodF8ydnRfYW5kX2F2ZXJfZHN0XzY0d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRl
LCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChp
bnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZmaWx0X2hvclszXSwgJmZpbHRfdmVyWzNdLCBoKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICBkZWZhdWx0OgotICAgICAgICB2cHhfY29udm9sdmU4X2F2Z19jKHNyYywgc3JjX3N0
cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIsIHgwX3E0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHhfc3RlcF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwgdywgaCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLSAgfSBlbHNlIGlmICh2cHhfZ2V0X2ZpbHRlcl90YXBzKGZpbHRlcl94KSA9
PSAyIHx8Ci0gICAgICAgICAgICAgdnB4X2dldF9maWx0ZXJfdGFwcyhmaWx0ZXJfeSkgPT0gMikg
ewotICAgIHZweF9jb252b2x2ZThfYXZnX2Moc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJp
ZGUsIGZpbHRlciwgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICB4X3N0ZXBfcTQsIHkw
X3E0LCB5X3N0ZXBfcTQsIHcsIGgpOwotICB9IGVsc2UgewotICAgIHN3aXRjaCAodykgewotICAg
ICAgY2FzZSA0OgotICAgICAgICBjb21tb25faHZfOGh0Xzh2dF9hbmRfYXZlcl9kc3RfNHdfbHN4
KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsIGZpbHRfaG9yLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfdmVyLCBoKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDg6Ci0gICAgICAgIGNvbW1vbl9odl84aHRfOHZ0
X2FuZF9hdmVyX2RzdF84d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0
cmlkZSwgZmlsdF9ob3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmlsdF92ZXIsIGgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgMTY6Ci0gICAg
ICAgIGNvbW1vbl9odl84aHRfOHZ0X2FuZF9hdmVyX2RzdF8xNndfbHN4KHNyYywgKGludDMyX3Qp
c3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLCBmaWx0X2hvciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF92ZXIsIGgpOwotICAgICAgICBicmVh
azsKLSAgICAgIGNhc2UgMzI6Ci0gICAgICAgIGNvbW1vbl9odl84aHRfOHZ0X2FuZF9hdmVyX2Rz
dF8zMndfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLCBmaWx0
X2hvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
dF92ZXIsIGgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgNjQ6Ci0gICAgICAgIGNvbW1v
bl9odl84aHRfOHZ0X2FuZF9hdmVyX2RzdF82NHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlk
ZSwgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
aW50MzJfdClkc3Rfc3RyaWRlLCBmaWx0X2hvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdF92ZXIsIGgpOwotICAgICAgICBicmVhazsKLSAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHZweF9jb252b2x2ZThfYXZnX2Moc3JjLCBzcmNfc3RyaWRlLCBk
c3QsIGRzdF9zdHJpZGUsIGZpbHRlciwgeDBfcTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeF9zdGVwX3E0LCB5MF9xNCwgeV9zdGVwX3E0LCB3LCBoKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgfQotICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3Zw
eF9jb252b2x2ZThfYXZnX3ZlcnRfbHN4LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNo
L3ZweF9jb252b2x2ZThfYXZnX3ZlcnRfbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDVjNjQxM2RmNDRmNS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9s
b29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9sc3guYworKysgL2Rldi9udWxsCkBAIC0x
LDkxOCArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0
IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBi
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAq
ICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQg
Y2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcg
cHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4g
dGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxhc3NlcnQuaD4K
LSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9kc3AvbG9vbmdhcmNo
L3ZweF9jb252b2x2ZV9sc3guaCIKLQotc3RhdGljIHZvaWQgY29tbW9uX3Z0Xzh0X2FuZF9hdmVy
X2RzdF80d19sc3goY29uc3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQ4X3QgKmZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250ID0gKGhlaWdodCA+
PiAyKTsKLSAgdWludDhfdCAqZHN0X3RtcCA9IGRzdDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBz
cmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsKLSAg
X19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0bXA0LCB0bXA1OwotICBfX20xMjhpIHJl
ZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQ7Ci0gIF9fbTEyOGkgZmlsdGVyMCwgZmlsdGVyMSwg
ZmlsdGVyMiwgZmlsdGVyMzsKLSAgX19tMTI4aSBvdXQwLCBvdXQxOwotICBpbnQzMl90IHNyY19z
dHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0
cmlkZSArIHNyY19zdHJpZGUyOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIg
PDwgMTsKLSAgdWludDhfdCAqc3JjX3RtcDAgPSAodWludDhfdCAqKXNyYyAtIHNyY19zdHJpZGUz
OwotCi0gIERVUDRfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBm
aWx0ZXIsIDQsIGZpbHRlciwgNiwKLSAgICAgICAgICAgIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRl
cjIsIGZpbHRlcjMpOwotICBzcmMwID0gX19sc3hfdmxkKHNyY190bXAwLCAwKTsKLSAgRFVQMl9B
UkcyKF9fbHN4X3ZsZHgsIHNyY190bXAwLCBzcmNfc3RyaWRlLCBzcmNfdG1wMCwgc3JjX3N0cmlk
ZTIsIHNyYzEsCi0gICAgICAgICAgICBzcmMyKTsKLSAgc3JjMyA9IF9fbHN4X3ZsZHgoc3JjX3Rt
cDAsIHNyY19zdHJpZGUzKTsKLSAgc3JjX3RtcDAgKz0gc3JjX3N0cmlkZTQ7Ci0gIHNyYzQgPSBf
X2xzeF92bGQoc3JjX3RtcDAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcDAs
IHNyY19zdHJpZGUsIHNyY190bXAwLCBzcmNfc3RyaWRlMiwgc3JjNSwKLSAgICAgICAgICAgIHNy
YzYpOwotICBzcmNfdG1wMCArPSBzcmNfc3RyaWRlMzsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZs
X2IsIHNyYzEsIHNyYzAsIHNyYzMsIHNyYzIsIHNyYzUsIHNyYzQsIHNyYzIsIHNyYzEsIHRtcDAs
Ci0gICAgICAgICAgICB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZs
X2IsIHNyYzQsIHNyYzMsIHNyYzYsIHNyYzUsIHRtcDQsIHRtcDUpOwotICBEVVAyX0FSRzIoX19s
c3hfdmlsdmxfZCwgdG1wMywgdG1wMCwgdG1wNCwgdG1wMSwgcmVnMCwgcmVnMSk7Ci0gIHJlZzIg
PSBfX2xzeF92aWx2bF9kKHRtcDUsIHRtcDIpOwotICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwg
cmVnMCwgMTI4LCByZWcxLCAxMjgsIHJlZzAsIHJlZzEpOwotICByZWcyID0gX19sc3hfdnhvcmlf
YihyZWcyLCAxMjgpOwotCi0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIHNyYzcgPSBfX2xz
eF92bGQoc3JjX3RtcDAsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wMCwg
c3JjX3N0cmlkZSwgc3JjX3RtcDAsIHNyY19zdHJpZGUyLCBzcmM4LAotICAgICAgICAgICAgICBz
cmM5KTsKLSAgICBzcmMxMCA9IF9fbHN4X3ZsZHgoc3JjX3RtcDAsIHNyY19zdHJpZGUzKTsKLSAg
ICBzcmNfdG1wMCArPSBzcmNfc3RyaWRlNDsKLSAgICBzcmMwID0gX19sc3hfdmxkcmVwbF93KGRz
dF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBzcmMxID0gX19sc3hf
dmxkcmVwbF93KGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBz
cmMyID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0
cmlkZTsKLSAgICBzcmMzID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICAgIGRzdF90
bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfdywgc3JjMSwgc3Jj
MCwgc3JjMywgc3JjMiwgc3JjMCwgc3JjMSk7Ci0gICAgc3JjMCA9IF9fbHN4X3ZpbHZsX2Qoc3Jj
MSwgc3JjMCk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzcsIHNyYzYsIHNyYzgs
IHNyYzcsIHNyYzksIHNyYzgsIHNyYzEwLCBzcmM5LAotICAgICAgICAgICAgICB0bXAwLCB0bXAx
LCB0bXAyLCB0bXAzKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfZCwgdG1wMSwgdG1wMCwg
dG1wMywgdG1wMiwgcmVnMywgcmVnNCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHJl
ZzMsIDEyOCwgcmVnNCwgMTI4LCByZWczLCByZWc0KTsKLSAgICBvdXQwID0gZmlsdF84dGFwX2Rw
YWRkX3NfaChyZWcwLCByZWcxLCByZWcyLCByZWczLCBmaWx0ZXIwLCBmaWx0ZXIxLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgIG91dDEgPSBm
aWx0Xzh0YXBfZHBhZGRfc19oKHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIGZpbHRlcjAsIGZpbHRl
cjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMiwgZmlsdGVyMyk7Ci0g
ICAgb3V0MCA9IF9fbHN4X3Zzc3Jhcm5pX2JfaChvdXQxLCBvdXQwLCA3KTsKLSAgICBvdXQwID0g
X19sc3hfdnhvcmlfYihvdXQwLCAxMjgpOwotICAgIG91dDAgPSBfX2xzeF92YXZncl9idShvdXQw
LCBzcmMwKTsKLSAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDApOwotICAgIGRzdCAr
PSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMSk7Ci0gICAg
ZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAyKTsK
LSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAs
IDMpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIHJlZzAgPSByZWcyOwotICAgIHJlZzEg
PSByZWczOwotICAgIHJlZzIgPSByZWc0OwotICAgIHNyYzYgPSBzcmMxMDsKLSAgfQotfQotCi1z
dGF0aWMgdm9pZCBjb21tb25fdnRfOHRfYW5kX2F2ZXJfZHN0Xzh3X2xzeChjb25zdCB1aW50OF90
ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQz
Ml90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmlsdGVyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHsK
LSAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsKLSAgdWludDhfdCAqZHN0X3RtcCA9
IGRzdDsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2
LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyLCB0
bXAzOwotICBfX20xMjhpIHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzU7Ci0gIF9f
bTEyOGkgZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMzsKLSAgX19tMTI4aSBvdXQw
LCBvdXQxLCBvdXQyLCBvdXQzOwotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8
PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZSArIHNyY19zdHJpZGUyOwot
ICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLSAgdWludDhfdCAqc3Jj
X3RtcDAgPSAodWludDhfdCAqKXNyYyAtIHNyY19zdHJpZGUzOwotCi0gIERVUDRfQVJHMihfX2xz
eF92bGRyZXBsX2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBmaWx0ZXIsIDQsIGZpbHRlciwgNiwK
LSAgICAgICAgICAgIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMpOwotCi0gIHNy
YzAgPSBfX2xzeF92bGQoc3JjX3RtcDAsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3Jj
X3RtcDAsIHNyY19zdHJpZGUsIHNyY190bXAwLCBzcmNfc3RyaWRlMiwgc3JjMSwKLSAgICAgICAg
ICAgIHNyYzIpOwotICBzcmMzID0gX19sc3hfdmxkeChzcmNfdG1wMCwgc3JjX3N0cmlkZTMpOwot
ICBzcmNfdG1wMCArPSBzcmNfc3RyaWRlNDsKLSAgc3JjNCA9IF9fbHN4X3ZsZChzcmNfdG1wMCwg
MCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wMCwgc3JjX3N0cmlkZSwgc3JjX3Rt
cDAsIHNyY19zdHJpZGUyLCBzcmM1LAotICAgICAgICAgICAgc3JjNik7Ci0gIHNyY190bXAwICs9
IHNyY19zdHJpZGUzOwotICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMx
LCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAgICAgc3JjMSwgc3Jj
Miwgc3JjMyk7Ci0gIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCBzcmM0LCAxMjgsIHNyYzUsIDEy
OCwgc3JjNCwgc3JjNSk7Ci0gIHNyYzYgPSBfX2xzeF92eG9yaV9iKHNyYzYsIDEyOCk7Ci0gIERV
UDRfQVJHMihfX2xzeF92aWx2bF9iLCBzcmMxLCBzcmMwLCBzcmMzLCBzcmMyLCBzcmM1LCBzcmM0
LCBzcmMyLCBzcmMxLCByZWcwLAotICAgICAgICAgICAgcmVnMSwgcmVnMiwgcmVnMyk7Ci0gIERV
UDJfQVJHMihfX2xzeF92aWx2bF9iLCBzcmM0LCBzcmMzLCBzcmM2LCBzcmM1LCByZWc0LCByZWc1
KTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBzcmM3ID0gX19sc3hfdmxkKHNyY190
bXAwLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcDAsIHNyY19zdHJpZGUs
IHNyY190bXAwLCBzcmNfc3RyaWRlMiwgc3JjOCwKLSAgICAgICAgICAgICAgc3JjOSk7Ci0gICAg
c3JjMTAgPSBfX2xzeF92bGR4KHNyY190bXAwLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjX3RtcDAg
Kz0gc3JjX3N0cmlkZTQ7Ci0gICAgc3JjMCA9IF9fbHN4X3ZsZHJlcGxfZChkc3RfdG1wLCAwKTsK
LSAgICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gICAgc3JjMSA9IF9fbHN4X3ZsZHJlcGxfZChk
c3RfdG1wLCAwKTsKLSAgICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gICAgc3JjMiA9IF9fbHN4
X3ZsZHJlcGxfZChkc3RfdG1wLCAwKTsKLSAgICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gICAg
c3JjMyA9IF9fbHN4X3ZsZHJlcGxfZChkc3RfdG1wLCAwKTsKLSAgICBkc3RfdG1wICs9IGRzdF9z
dHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2QsIHNyYzEsIHNyYzAsIHNyYzMsIHNy
YzIsIHNyYzAsIHNyYzEpOwotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmM3LCAxMjgs
IHNyYzgsIDEyOCwgc3JjOSwgMTI4LCBzcmMxMCwgMTI4LCBzcmM3LAotICAgICAgICAgICAgICBz
cmM4LCBzcmM5LCBzcmMxMCk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzcsIHNy
YzYsIHNyYzgsIHNyYzcsIHNyYzksIHNyYzgsIHNyYzEwLCBzcmM5LAotICAgICAgICAgICAgICB0
bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBvdXQwID0gZmlsdF84dGFwX2RwYWRkX3NfaChy
ZWcwLCByZWcxLCByZWcyLCB0bXAwLCBmaWx0ZXIwLCBmaWx0ZXIxLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgIG91dDEgPSBmaWx0Xzh0YXBf
ZHBhZGRfc19oKHJlZzMsIHJlZzQsIHJlZzUsIHRtcDEsIGZpbHRlcjAsIGZpbHRlcjEsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMiwgZmlsdGVyMyk7Ci0gICAgb3V0MiA9
IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnMSwgcmVnMiwgdG1wMCwgdG1wMiwgZmlsdGVyMCwgZmls
dGVyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIyLCBmaWx0ZXIzKTsK
LSAgICBvdXQzID0gZmlsdF84dGFwX2RwYWRkX3NfaChyZWc0LCByZWc1LCB0bXAxLCB0bXAzLCBm
aWx0ZXIwLCBmaWx0ZXIxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIs
IGZpbHRlcjMpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDEsIG91dDAs
IDcsIG91dDMsIG91dDIsIDcsIG91dDAsIG91dDEpOwotICAgIERVUDJfQVJHMihfX2xzeF92eG9y
aV9iLCBvdXQwLCAxMjgsIG91dDEsIDEyOCwgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZhdmdyX2J1LCBvdXQwLCBzcmMwLCBvdXQxLCBzcmMxLCBvdXQwLCBvdXQxKTsKLSAgICBf
X2xzeF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwot
ICAgIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJp
ZGU7Ci0gICAgX19sc3hfdnN0ZWxtX2Qob3V0MSwgZHN0LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0
X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QsIDAsIDEpOwotICAgIGRzdCAr
PSBkc3Rfc3RyaWRlOwotICAgIHJlZzAgPSByZWcyOwotICAgIHJlZzEgPSB0bXAwOwotICAgIHJl
ZzIgPSB0bXAyOwotICAgIHJlZzMgPSByZWc1OwotICAgIHJlZzQgPSB0bXAxOwotICAgIHJlZzUg
PSB0bXAzOwotICAgIHNyYzYgPSBzcmMxMDsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25f
dnRfOHRfYW5kX2F2ZXJfZHN0XzE2d19tdWx0X2xzeCgKLSAgICBjb25zdCB1aW50OF90ICpzcmMs
IGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0g
ICAgY29uc3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0LCBpbnQzMl90IHdpZHRoKSB7
Ci0gIHVpbnQ4X3QgKnNyY190bXA7Ci0gIHVpbnQzMl90IGNudCA9IHdpZHRoID4+IDQ7Ci0gIF9f
bTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgc3Jj
OCwgc3JjOSwgc3JjMTA7Ci0gIF9fbTEyOGkgZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmls
dGVyMzsKLSAgX19tMTI4aSByZWcwLCByZWcxLCByZWcyLCByZWczLCByZWc0LCByZWc1OwotICBf
X20xMjhpIHJlZzYsIHJlZzcsIHJlZzgsIHJlZzksIHJlZzEwLCByZWcxMTsKLSAgX19tMTI4aSB0
bXAwLCB0bXAxLCB0bXAyLCB0bXAzOwotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlk
ZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZSArIHNyY19zdHJpZGUy
OwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBk
c3Rfc3RyaWRlMiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMyA9IGRz
dF9zdHJpZGUyICsgZHN0X3N0cmlkZTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlNCA9IGRzdF9zdHJp
ZGUyIDw8IDE7Ci0gIHVpbnQ4X3QgKnNyY190bXAwID0gKHVpbnQ4X3QgKilzcmMgLSBzcmNfc3Ry
aWRlMzsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXIsIDAsIGZpbHRlciwg
MiwgZmlsdGVyLCA0LCBmaWx0ZXIsIDYsCi0gICAgICAgICAgICBmaWx0ZXIwLCBmaWx0ZXIxLCBm
aWx0ZXIyLCBmaWx0ZXIzKTsKLSAgZm9yICg7IGNudC0tOykgewotICAgIHVpbnQzMl90IGxvb3Bf
Y250ID0gaGVpZ2h0ID4+IDI7Ci0gICAgdWludDhfdCAqZHN0X3JlZyA9IGRzdDsKLQotICAgIHNy
Y190bXAgPSBzcmNfdG1wMDsKLSAgICBzcmMwID0gX19sc3hfdmxkKHNyY190bXAsIDApOwotICAg
IERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNf
c3RyaWRlMiwgc3JjMSwKLSAgICAgICAgICAgICAgc3JjMik7Ci0gICAgc3JjMyA9IF9fbHN4X3Zs
ZHgoc3JjX3RtcCwgc3JjX3N0cmlkZTMpOwotICAgIHNyY190bXAgKz0gc3JjX3N0cmlkZTQ7Ci0g
ICAgc3JjNCA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxk
eCwgc3JjX3RtcCwgc3JjX3N0cmlkZSwgc3JjX3RtcCwgc3JjX3N0cmlkZTIsIHNyYzUsCi0gICAg
ICAgICAgICAgIHNyYzYpOwotICAgIHNyY190bXAgKz0gc3JjX3N0cmlkZTM7Ci0gICAgRFVQNF9B
UkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzAsIDEyOCwgc3JjMSwgMTI4LCBzcmMyLCAxMjgsIHNyYzMs
IDEyOCwgc3JjMCwKLSAgICAgICAgICAgICAgc3JjMSwgc3JjMiwgc3JjMyk7Ci0gICAgRFVQMl9B
UkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzQsIDEyOCwgc3JjNSwgMTI4LCBzcmM0LCBzcmM1KTsKLSAg
ICBzcmM2ID0gX19sc3hfdnhvcmlfYihzcmM2LCAxMjgpOwotICAgIERVUDRfQVJHMihfX2xzeF92
aWx2bF9iLCBzcmMxLCBzcmMwLCBzcmMzLCBzcmMyLCBzcmM1LCBzcmM0LCBzcmMyLCBzcmMxLAot
ICAgICAgICAgICAgICByZWcwLCByZWcxLCByZWcyLCByZWczKTsKLSAgICBEVVAyX0FSRzIoX19s
c3hfdmlsdmxfYiwgc3JjNCwgc3JjMywgc3JjNiwgc3JjNSwgcmVnNCwgcmVnNSk7Ci0gICAgRFVQ
NF9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNyYzEsIHNyYzAsIHNyYzMsIHNyYzIsIHNyYzUsIHNyYzQs
IHNyYzIsIHNyYzEsCi0gICAgICAgICAgICAgIHJlZzYsIHJlZzcsIHJlZzgsIHJlZzkpOwotICAg
IERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmM0LCBzcmMzLCBzcmM2LCBzcmM1LCByZWcxMCwg
cmVnMTEpOwotICAgIGZvciAoOyBsb29wX2NudC0tOykgewotICAgICAgc3JjNyA9IF9fbHN4X3Zs
ZChzcmNfdG1wLCAwKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wLCBzcmNf
c3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlMiwgc3JjOCwKLSAgICAgICAgICAgICAgICBzcmM5
KTsKLSAgICAgIHNyYzEwID0gX19sc3hfdmxkeChzcmNfdG1wLCBzcmNfc3RyaWRlMyk7Ci0gICAg
ICBzcmNfdG1wICs9IHNyY19zdHJpZGU0OwotICAgICAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2Is
IHNyYzcsIDEyOCwgc3JjOCwgMTI4LCBzcmM5LCAxMjgsIHNyYzEwLCAxMjgsCi0gICAgICAgICAg
ICAgICAgc3JjNywgc3JjOCwgc3JjOSwgc3JjMTApOwotICAgICAgRFVQNF9BUkcyKF9fbHN4X3Zp
bHZsX2IsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHNyYzksIHNyYzgsIHNyYzEwLCBzcmM5LAot
ICAgICAgICAgICAgICAgIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwotICAgICAgRFVQNF9BUkcy
KF9fbHN4X3ZpbHZoX2IsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHNyYzksIHNyYzgsIHNyYzEw
LCBzcmM5LAotICAgICAgICAgICAgICAgIHNyYzQsIHNyYzUsIHNyYzcsIHNyYzgpOwotICAgICAg
dG1wMCA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnMCwgcmVnMSwgcmVnMiwgc3JjMCwgZmlsdGVy
MCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZp
bHRlcjMpOwotICAgICAgdG1wMSA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnMywgcmVnNCwgcmVn
NSwgc3JjMSwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAgdG1wMiA9IGZpbHRfOHRhcF9kcGFkZF9zX2go
cmVnNiwgcmVnNywgcmVnOCwgc3JjNCwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAgdG1wMyA9IGZpbHRf
OHRhcF9kcGFkZF9zX2gocmVnOSwgcmVnMTAsIHJlZzExLCBzcmM1LCBmaWx0ZXIwLCBmaWx0ZXIx
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMiwgZmlsdGVyMyk7Ci0g
ICAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYl9oLCB0bXAyLCB0bXAwLCA3LCB0bXAzLCB0
bXAxLCA3LCB0bXAwLCB0bXAxKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCB0bXAw
LCAxMjgsIHRtcDEsIDEyOCwgdG1wMCwgdG1wMSk7Ci0gICAgICB0bXAyID0gX19sc3hfdmxkKGRz
dF9yZWcsIDApOwotICAgICAgdG1wMyA9IF9fbHN4X3ZsZHgoZHN0X3JlZywgZHN0X3N0cmlkZSk7
Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdmF2Z3JfYnUsIHRtcDAsIHRtcDIsIHRtcDEsIHRtcDMs
IHRtcDAsIHRtcDEpOwotICAgICAgX19sc3hfdnN0KHRtcDAsIGRzdF9yZWcsIDApOwotICAgICAg
X19sc3hfdnN0eCh0bXAxLCBkc3RfcmVnLCBkc3Rfc3RyaWRlKTsKLSAgICAgIHRtcDAgPSBmaWx0
Xzh0YXBfZHBhZGRfc19oKHJlZzEsIHJlZzIsIHNyYzAsIHNyYzIsIGZpbHRlcjAsIGZpbHRlcjEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIyLCBmaWx0ZXIzKTsKLSAg
ICAgIHRtcDEgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHJlZzQsIHJlZzUsIHNyYzEsIHNyYzMsIGZp
bHRlcjAsIGZpbHRlcjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIy
LCBmaWx0ZXIzKTsKLSAgICAgIHRtcDIgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHJlZzcsIHJlZzgs
IHNyYzQsIHNyYzcsIGZpbHRlcjAsIGZpbHRlcjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaWx0ZXIyLCBmaWx0ZXIzKTsKLSAgICAgIHRtcDMgPSBmaWx0Xzh0YXBfZHBhZGRf
c19oKHJlZzEwLCByZWcxMSwgc3JjNSwgc3JjOCwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAgRFVQMl9B
UkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgdG1wMiwgdG1wMCwgNywgdG1wMywgdG1wMSwgNywgdG1w
MCwgdG1wMSk7Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgdG1wMCwgMTI4LCB0bXAx
LCAxMjgsIHRtcDAsIHRtcDEpOwotICAgICAgdG1wMiA9IF9fbHN4X3ZsZHgoZHN0X3JlZywgZHN0
X3N0cmlkZTIpOwotICAgICAgdG1wMyA9IF9fbHN4X3ZsZHgoZHN0X3JlZywgZHN0X3N0cmlkZTMp
OwotICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZhdmdyX2J1LCB0bXAwLCB0bXAyLCB0bXAxLCB0bXAz
LCB0bXAwLCB0bXAxKTsKLSAgICAgIF9fbHN4X3ZzdHgodG1wMCwgZHN0X3JlZywgZHN0X3N0cmlk
ZTIpOwotICAgICAgX19sc3hfdnN0eCh0bXAxLCBkc3RfcmVnLCBkc3Rfc3RyaWRlMyk7Ci0gICAg
ICBkc3RfcmVnICs9IGRzdF9zdHJpZGU0OwotCi0gICAgICByZWcwID0gcmVnMjsKLSAgICAgIHJl
ZzEgPSBzcmMwOwotICAgICAgcmVnMiA9IHNyYzI7Ci0gICAgICByZWczID0gcmVnNTsKLSAgICAg
IHJlZzQgPSBzcmMxOwotICAgICAgcmVnNSA9IHNyYzM7Ci0gICAgICByZWc2ID0gcmVnODsKLSAg
ICAgIHJlZzcgPSBzcmM0OwotICAgICAgcmVnOCA9IHNyYzc7Ci0gICAgICByZWc5ID0gcmVnMTE7
Ci0gICAgICByZWcxMCA9IHNyYzU7Ci0gICAgICByZWcxMSA9IHNyYzg7Ci0gICAgICBzcmM2ID0g
c3JjMTA7Ci0gICAgfQotICAgIHNyY190bXAwICs9IDE2OwotICAgIGRzdCArPSAxNjsKLSAgfQot
fQotCi1zdGF0aWMgdm9pZCBjb21tb25fdnRfOHRfYW5kX2F2ZXJfZHN0XzE2d19sc3goY29uc3Qg
dWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRl
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90
IGhlaWdodCkgewotICBjb21tb25fdnRfOHRfYW5kX2F2ZXJfZHN0XzE2d19tdWx0X2xzeChzcmMs
IHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmlsdGVyLCBoZWlnaHQsIDE2KTsKLX0KLQotc3RhdGljIHZvaWQgY29t
bW9uX3Z0Xzh0X2FuZF9hdmVyX2RzdF8zMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJp
ZGUsIHVpbnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHsKLSAgY29tbW9u
X3Z0Xzh0X2FuZF9hdmVyX2RzdF8xNndfbXVsdF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRz
dF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
ciwgaGVpZ2h0LCAzMik7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92dF84dF9hbmRfYXZlcl9k
c3RfNjR3X2xzeChjb25zdCB1aW50OF90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDhfdCAqZmlsdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGNvbW1vbl92dF84dF9hbmRfYXZlcl9kc3Rf
MTZ3X211bHRfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIsIGhlaWdodCwgNjQpOwotfQot
Ci1zdGF0aWMgdm9pZCBjb21tb25fdnRfMnRfYW5kX2F2ZXJfZHN0XzR4NF9sc3goY29uc3QgdWlu
dDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcikgewotICBf
X20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQ7Ci0gIF9fbTEyOGkgZHN0MCwgZHN0
MSwgZHN0MiwgZHN0Mywgb3V0LCBmaWx0MCwgc3JjMjExMCwgc3JjNDMzMjsKLSAgX19tMTI4aSBz
cmMxMF9yLCBzcmMzMl9yLCBzcmMyMV9yLCBzcmM0M19yOwotICBfX20xMjhpIHRtcDAsIHRtcDE7
Ci0gIHVpbnQ4X3QgKmRzdF90bXAgPSBkc3Q7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNf
c3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19z
dHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotCi0gIGZp
bHQwID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0gIHNyYzAgPSBfX2xzeF92bGQoc3Jj
LCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNf
c3RyaWRlMiwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlk
ZTMpOwotICBzcmMgKz0gc3JjX3N0cmlkZTQ7Ci0gIHNyYzQgPSBfX2xzeF92bGQoc3JjLCAwKTsK
LSAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAgZHN0MCA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1w
LCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QxID0gX19sc3hfdmxkcmVwbF93
KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDIgPSBfX2xzeF92
bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MyA9
IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0MCA9IF9fbHN4X3ZpbHZsX3coZHN0
MSwgZHN0MCk7Ci0gIGRzdDEgPSBfX2xzeF92aWx2bF93KGRzdDMsIGRzdDIpOwotICBkc3QwID0g
X19sc3hfdmlsdmxfZChkc3QxLCBkc3QwKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNy
YzEsIHNyYzAsIHNyYzIsIHNyYzEsIHNyYzMsIHNyYzIsIHNyYzQsIHNyYzMsCi0gICAgICAgICAg
ICBzcmMxMF9yLCBzcmMyMV9yLCBzcmMzMl9yLCBzcmM0M19yKTsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZpbHZsX2QsIHNyYzIxX3IsIHNyYzEwX3IsIHNyYzQzX3IsIHNyYzMyX3IsIHNyYzIxMTAsCi0g
ICAgICAgICAgICBzcmM0MzMyKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgc3JjMjEx
MCwgZmlsdDAsIHNyYzQzMzIsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgdG1wMCA9IF9fbHN4X3Zz
c3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICBvdXQgPSBfX2xzeF92YXZn
cl9idSh0bXAwLCBkc3QwKTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0LCBkc3QsIDAsIDApOwotICBk
c3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0LCBkc3QsIDAsIDEpOwotICBk
c3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0LCBkc3QsIDAsIDIpOwotICBk
c3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0LCBkc3QsIDAsIDMpOwotICBk
c3QgKz0gZHN0X3N0cmlkZTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX3Z0XzJ0X2FuZF9hdmVy
X2RzdF80eDhfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGRz
dF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50OF90ICpmaWx0ZXIpIHsKLSAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBkc3Q0
OwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNy
YzcsIHNyYzgsIHNyYzg3X3I7Ci0gIF9fbTEyOGkgc3JjMTBfciwgc3JjMzJfciwgc3JjNTRfciwg
c3JjNzZfciwgc3JjMjFfciwgc3JjNDNfciwgc3JjNjVfcjsKLSAgX19tMTI4aSBzcmMyMTEwLCBz
cmM0MzMyLCBzcmM2NTU0LCBzcmM4Nzc2LCBmaWx0MDsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0
bXAyLCB0bXAzOwotICB1aW50OF90ICpkc3RfdG1wID0gZHN0OwotICBpbnQzMl90IHNyY19zdHJp
ZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlk
ZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwg
MTsKLQotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotICBzcmMwID0gX19s
c3hfdmxkKHNyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUs
IHNyYywgc3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwotICBzcmMzID0gX19sc3hfdmxkeChzcmMs
IHNyY19zdHJpZGUzKTsKLSAgc3JjICs9IHNyY19zdHJpZGU0OwotICBzcmM0ID0gX19sc3hfdmxk
KHNyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywg
c3JjX3N0cmlkZTIsIHNyYzUsIHNyYzYpOwotICBzcmM3ID0gX19sc3hfdmxkeChzcmMsIHNyY19z
dHJpZGUzKTsKLSAgc3JjICs9IHNyY19zdHJpZGU0OwotICBzcmM4ID0gX19sc3hfdmxkKHNyYywg
MCk7Ci0KLSAgZHN0MCA9IF9fbHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0X3RtcCAr
PSBkc3Rfc3RyaWRlOwotICBkc3QxID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICBk
c3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIGRzdDIgPSBfX2xzeF92bGRyZXBsX3coZHN0X3RtcCwg
MCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MyA9IF9fbHN4X3ZsZHJlcGxfdyhk
c3RfdG1wLCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QwID0gX19sc3hfdmls
dmxfdyhkc3QxLCBkc3QwKTsKLSAgZHN0MSA9IF9fbHN4X3ZpbHZsX3coZHN0MywgZHN0Mik7Ci0g
IGRzdDAgPSBfX2xzeF92aWx2bF9kKGRzdDEsIGRzdDApOwotCi0gIGRzdDEgPSBfX2xzeF92bGRy
ZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9f
bHN4X3ZsZHJlcGxfdyhkc3RfdG1wLCAwKTsKLSAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBk
c3QzID0gX19sc3hfdmxkcmVwbF93KGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJp
ZGU7Ci0gIGRzdDQgPSBfX2xzeF92bGRyZXBsX3coZHN0X3RtcCwgMCk7Ci0gIGRzdDEgPSBfX2xz
eF92aWx2bF93KGRzdDIsIGRzdDEpOwotICBkc3QyID0gX19sc3hfdmlsdmxfdyhkc3Q0LCBkc3Qz
KTsKLSAgZHN0MSA9IF9fbHN4X3ZpbHZsX2QoZHN0MiwgZHN0MSk7Ci0KLSAgRFVQNF9BUkcyKF9f
bHN4X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHNyYzMsIHNyYzIsIHNyYzQsIHNy
YzMsCi0gICAgICAgICAgICBzcmMxMF9yLCBzcmMyMV9yLCBzcmMzMl9yLCBzcmM0M19yKTsKLSAg
RFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzUsIHNyYzQsIHNyYzYsIHNyYzUsIHNyYzcsIHNy
YzYsIHNyYzgsIHNyYzcsCi0gICAgICAgICAgICBzcmM1NF9yLCBzcmM2NV9yLCBzcmM3Nl9yLCBz
cmM4N19yKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2QsIHNyYzIxX3IsIHNyYzEwX3IsIHNy
YzQzX3IsIHNyYzMyX3IsIHNyYzY1X3IsIHNyYzU0X3IsCi0gICAgICAgICAgICBzcmM4N19yLCBz
cmM3Nl9yLCBzcmMyMTEwLCBzcmM0MzMyLCBzcmM2NTU0LCBzcmM4Nzc2KTsKLSAgRFVQNF9BUkcy
KF9fbHN4X3ZkcDJfaF9idSwgc3JjMjExMCwgZmlsdDAsIHNyYzQzMzIsIGZpbHQwLCBzcmM2NTU0
LCBmaWx0MCwKLSAgICAgICAgICAgIHNyYzg3NzYsIGZpbHQwLCB0bXAwLCB0bXAxLCB0bXAyLCB0
bXAzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHRtcDEsIHRtcDAsIEZJTFRF
Ul9CSVRTLCB0bXAzLCB0bXAyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIHRtcDAsIHRtcDIp
OwotICBEVVAyX0FSRzIoX19sc3hfdmF2Z3JfYnUsIHRtcDAsIGRzdDAsIHRtcDIsIGRzdDEsIHRt
cDAsIHRtcDIpOwotICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDApOwotICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3codG1wMCwgZHN0LCAwLCAxKTsKLSAgZHN0ICs9
IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDAsIGRzdCwgMCwgMik7Ci0gIGRzdCAr
PSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDMpOwotICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLQotICBfX2xzeF92c3RlbG1fdyh0bXAyLCBkc3QsIDAsIDApOwotICBk
c3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX3codG1wMiwgZHN0LCAwLCAxKTsKLSAg
ZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDIsIGRzdCwgMCwgMik7Ci0g
IGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fdyh0bXAyLCBkc3QsIDAsIDMpOwot
fQotCi1zdGF0aWMgdm9pZCBjb21tb25fdnRfMnRfYW5kX2F2ZXJfZHN0XzR3X2xzeChjb25zdCB1
aW50OF90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwgaW50OF90ICpmaWx0
ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90
IGhlaWdodCkgewotICBpZiAoaGVpZ2h0ID09IDQpIHsKLSAgICBjb21tb25fdnRfMnRfYW5kX2F2
ZXJfZHN0XzR4NF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcik7
Ci0gIH0gZWxzZSBpZiAoaGVpZ2h0ID09IDgpIHsKLSAgICBjb21tb25fdnRfMnRfYW5kX2F2ZXJf
ZHN0XzR4OF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcik7Ci0g
IH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX3Z0XzJ0X2FuZF9hdmVyX2RzdF84eDRfbHN4KGNv
bnN0IHVpbnQ4X3QgKnNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXIp
IHsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0OwotICBfX20xMjhpIGRz
dDAsIGRzdDEsIGRzdDIsIGRzdDMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIGZpbHQwOwotICBf
X20xMjhpIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Ci0gIHVpbnQ4X3QgKmRzdF90bXAgPSBkc3Q7
Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3Jj
X3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlk
ZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotCi0gIGZpbHQwID0gX19sc3hfdmxkcmVwbF9oKGZpbHRl
ciwgMCk7Ci0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Zs
ZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNfc3RyaWRlMywK
LSAgICAgICAgICAgIHNyYywgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQpOwot
ICBkc3QwID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICBkc3RfdG1wICs9IGRzdF9z
dHJpZGU7Ci0gIGRzdDEgPSBfX2xzeF92bGRyZXBsX2QoZHN0X3RtcCwgMCk7Ci0gIGRzdF90bXAg
Kz0gZHN0X3N0cmlkZTsKLSAgZHN0MiA9IF9fbHN4X3ZsZHJlcGxfZChkc3RfdG1wLCAwKTsKLSAg
ZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICBkc3QzID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAs
IDApOwotICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gIERVUDJfQVJHMihfX2xzeF92aWx2bF9k
LCBkc3QxLCBkc3QwLCBkc3QzLCBkc3QyLCBkc3QwLCBkc3QxKTsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHZlYzAsIHZlYzEpOwotICBEVVAyX0FS
RzIoX19sc3hfdmlsdmxfYiwgc3JjMywgc3JjMiwgc3JjNCwgc3JjMywgdmVjMiwgdmVjMyk7Ci0g
IERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVj
MiwgZmlsdDAsIHZlYzMsIGZpbHQwLAotICAgICAgICAgICAgdG1wMCwgdG1wMSwgdG1wMiwgdG1w
Myk7Ci0gIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCB0bXAxLCB0bXAwLCBGSUxURVJf
QklUUywgdG1wMywgdG1wMiwKLSAgICAgICAgICAgIEZJTFRFUl9CSVRTLCB0bXAwLCB0bXAyKTsK
LSAgRFVQMl9BUkcyKF9fbHN4X3ZhdmdyX2J1LCB0bXAwLCBkc3QwLCB0bXAyLCBkc3QxLCB0bXAw
LCB0bXAyKTsKLSAgX19sc3hfdnN0ZWxtX2QodG1wMCwgZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV9kKHRtcDAsIGRzdCwgMCwgMSk7Ci0gIGRzdCArPSBk
c3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fZCh0bXAyLCBkc3QsIDAsIDApOwotICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX2QodG1wMiwgZHN0LCAwLCAxKTsKLX0KLQotc3Rh
dGljIHZvaWQgY29tbW9uX3Z0XzJ0X2FuZF9hdmVyX2RzdF84eDhtdWx0X2xzeCgKLSAgICBjb25z
dCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LCBpbnQzMl90
IGRzdF9zdHJpZGUsCi0gICAgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVp
bnQzMl90IGxvb3BfY250ID0gKGhlaWdodCA+PiAzKTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBz
cmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4OwotICBfX20xMjhpIGRzdDAs
IGRzdDEsIGRzdDIsIGRzdDMsIGRzdDQsIGRzdDU7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVj
MiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNywgZmlsdDA7Ci0gIF9fbTEyOGkgdG1wMCwg
dG1wMSwgdG1wMiwgdG1wMzsKLSAgdWludDhfdCAqZHN0X3RtcCA9IGRzdDsKLSAgaW50MzJfdCBz
cmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNy
Y19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19zdHJp
ZGUyIDw8IDE7Ci0KLSAgZmlsdDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAwKTsKLSAgc3Jj
MCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICBmb3IgKDsg
bG9vcF9jbnQtLTspIHsKLSAgICBzcmMxID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMiwg
c3JjMyk7Ci0gICAgc3JjNCA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3Jj
ICs9IHNyY19zdHJpZGU0OwotICAgIHNyYzUgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgICBEVVAy
X0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmM2
LCBzcmM3KTsKLSAgICBzcmM4ID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUzKTsKLSAgICBz
cmMgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAgICBkc3QwID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAs
IDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBkc3QxID0gX19sc3hfdmxkcmVw
bF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBkc3QyID0g
X19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsK
LSAgICBkc3QzID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0g
ZHN0X3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfZCwgZHN0MSwgZHN0MCwgZHN0
MywgZHN0MiwgZHN0MCwgZHN0MSk7Ci0KLSAgICBkc3QyID0gX19sc3hfdmxkcmVwbF9kKGRzdF90
bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBkc3QzID0gX19sc3hfdmxk
cmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICBkc3Q0
ID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAgKz0gZHN0X3N0cmlk
ZTsKLSAgICBkc3Q1ID0gX19sc3hfdmxkcmVwbF9kKGRzdF90bXAsIDApOwotICAgIGRzdF90bXAg
Kz0gZHN0X3N0cmlkZTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfZCwgZHN0MywgZHN0Miwg
ZHN0NSwgZHN0NCwgZHN0MiwgZHN0Myk7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwg
c3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgc3JjMywgc3JjMiwgc3JjNCwgc3JjMywKLSAgICAgICAg
ICAgICAgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZs
X2IsIHNyYzUsIHNyYzQsIHNyYzYsIHNyYzUsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsCi0gICAg
ICAgICAgICAgIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzcpOwotICAgIERVUDRfQVJHMihfX2xzeF92
ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVjMiwgZmlsdDAsIHZlYzMsCi0g
ICAgICAgICAgICAgIGZpbHQwLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLQotICAgIERVUDJf
QVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCB0bXAxLCB0bXAwLCBGSUxURVJfQklUUywgdG1wMywg
dG1wMiwKLSAgICAgICAgICAgICAgRklMVEVSX0JJVFMsIHRtcDAsIHRtcDIpOwotICAgIERVUDJf
QVJHMihfX2xzeF92YXZncl9idSwgdG1wMCwgZHN0MCwgdG1wMiwgZHN0MSwgdG1wMCwgdG1wMik7
Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMCwgZHN0LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0
cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZCh0bXAwLCBkc3QsIDAsIDEpOwotICAgIGRzdCArPSBk
c3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV9kKHRtcDIsIGRzdCwgMCwgMCk7Ci0gICAgZHN0
ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMiwgZHN0LCAwLCAxKTsKLSAg
ICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZl
YzQsIGZpbHQwLCB2ZWM1LCBmaWx0MCwgdmVjNiwgZmlsdDAsIHZlYzcsCi0gICAgICAgICAgICAg
IGZpbHQwLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNz
cmFybmlfYnVfaCwgdG1wMSwgdG1wMCwgRklMVEVSX0JJVFMsIHRtcDMsIHRtcDIsCi0gICAgICAg
ICAgICAgIEZJTFRFUl9CSVRTLCB0bXAwLCB0bXAyKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmF2
Z3JfYnUsIHRtcDAsIGRzdDIsIHRtcDIsIGRzdDMsIHRtcDAsIHRtcDIpOwotICAgIF9fbHN4X3Zz
dGVsbV9kKHRtcDAsIGRzdCwgMCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19s
c3hfdnN0ZWxtX2QodG1wMCwgZHN0LCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAg
ICBfX2xzeF92c3RlbG1fZCh0bXAyLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRl
OwotICAgIF9fbHN4X3ZzdGVsbV9kKHRtcDIsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9z
dHJpZGU7Ci0KLSAgICBzcmMwID0gc3JjODsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25f
dnRfMnRfYW5kX2F2ZXJfZHN0Xzh3X2xzeChjb25zdCB1aW50OF90ICpzcmMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyY19zdHJpZGUsIHVp
bnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludDMyX3QgZHN0X3N0cmlkZSwgaW50OF90ICpmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgewotICBpZiAoaGVpZ2h0
ID09IDQpIHsKLSAgICBjb21tb25fdnRfMnRfYW5kX2F2ZXJfZHN0Xzh4NF9sc3goc3JjLCBzcmNf
c3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcik7Ci0gIH0gZWxzZSB7Ci0gICAgY29tbW9u
X3Z0XzJ0X2FuZF9hdmVyX2RzdF84eDhtdWx0X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
ciwgaGVpZ2h0KTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25fdnRfMnRfYW5kX2F2ZXJf
ZHN0XzE2d19sc3goY29uc3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQgPSAo
aGVpZ2h0ID4+IDIpOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIGRz
dDAsIGRzdDEsIGRzdDIsIGRzdDMsIGZpbHQwOwotICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIs
IHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7Ci0gIF9fbTEyOGkgdG1wMCwgdG1wMTsKLSAg
aW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3Ry
aWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9
IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTIgPSBkc3Rfc3RyaWRlIDw8
IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3RyaWRlMiArIGRzdF9zdHJpZGU7Ci0K
LSAgZmlsdDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAwKTsKLSAgc3JjMCA9IF9fbHN4X3Zs
ZChzcmMsIDApOwotICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTsp
IHsKLSAgICBzcmMxID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Zs
ZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMiwgc3JjMyk7Ci0gICAg
c3JjNCA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjICs9IHNyY19zdHJp
ZGU0OwotCi0gICAgZHN0MCA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgIERVUDJfQVJHMihfX2xz
eF92bGR4LCBkc3QsIGRzdF9zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZTIsIGRzdDEsIGRzdDIpOwot
ICAgIGRzdDMgPSBfX2xzeF92bGR4KGRzdCwgZHN0X3N0cmlkZTMpOwotCi0gICAgRFVQMl9BUkcy
KF9fbHN4X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHZlYzAsIHZlYzIpOwotICAg
IERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmMxLCBzcmMwLCBzcmMyLCBzcmMxLCB2ZWMxLCB2
ZWMzKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwg
ZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEs
IHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICB0bXAwID0gX19sc3hfdmF2Z3JfYnUodG1wMCwgZHN0
MCk7Ci0gICAgX19sc3hfdnN0KHRtcDAsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMywgc3JjMiwgc3JjNCwgc3JjMywg
dmVjNCwgdmVjNik7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNyYzMsIHNyYzIsIHNy
YzQsIHNyYzMsIHZlYzUsIHZlYzcpOwotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZl
YzIsIGZpbHQwLCB2ZWMzLCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgdG1wMCA9IF9fbHN4X3Zz
c3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIHRtcDAgPSBfX2xzeF92
YXZncl9idSh0bXAwLCBkc3QxKTsKLSAgICBfX2xzeF92c3QodG1wMCwgZHN0LCAwKTsKLSAgICBk
c3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzQs
IGZpbHQwLCB2ZWM1LCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgdG1wMCA9IF9fbHN4X3Zzc3Jh
cm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIHRtcDAgPSBfX2xzeF92YXZn
cl9idSh0bXAwLCBkc3QyKTsKLSAgICBfX2xzeF92c3QodG1wMCwgZHN0LCAwKTsKLSAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzYsIGZp
bHQwLCB2ZWM3LCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgdG1wMCA9IF9fbHN4X3Zzc3Jhcm5p
X2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIHRtcDAgPSBfX2xzeF92YXZncl9i
dSh0bXAwLCBkc3QzKTsKLSAgICBfX2xzeF92c3QodG1wMCwgZHN0LCAwKTsKLSAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLQotICAgIHNyYzAgPSBzcmM0OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNv
bW1vbl92dF8ydF9hbmRfYXZlcl9kc3RfMzJ3X2xzeChjb25zdCB1aW50OF90ICpzcmMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3Ry
aWRlLCB1aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICB1
aW50MzJfdCBsb29wX2NudCA9IChoZWlnaHQgPj4gMik7Ci0gIHVpbnQ4X3QgKnNyY190bXAxOwot
ICB1aW50OF90ICpkc3RfdG1wMTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBz
cmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5OwotICBfX20xMjhpIGRzdDAsIGRzdDEs
IGRzdDIsIGRzdDMsIGRzdDQsIGRzdDUsIGRzdDYsIGRzdDc7Ci0gIF9fbTEyOGkgdmVjMCwgdmVj
MSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNywgZmlsdDA7Ci0gIF9fbTEyOGkg
dG1wMCwgdG1wMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAg
aW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJf
dCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTIg
PSBkc3Rfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3RyaWRlMiAr
IGRzdF9zdHJpZGU7Ci0KLSAgZmlsdDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAwKTsKLSAg
RFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMwLCBzcmM1KTsKLSAgc3Jj
ICs9IHNyY19zdHJpZGU7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgc3JjMSA9IF9f
bHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJp
ZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzIsIHNyYzMpOwotICAgIHNyYzQgPSBfX2xzeF92bGR4
KHNyYywgc3JjX3N0cmlkZTMpOwotCi0gICAgZHN0MCA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAg
IERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3QsIGRzdF9zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZTIs
IGRzdDEsIGRzdDIpOwotICAgIGRzdDMgPSBfX2xzeF92bGR4KGRzdCwgZHN0X3N0cmlkZTMpOwot
Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHZl
YzAsIHZlYzIpOwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmMxLCBzcmMwLCBzcmMy
LCBzcmMxLCB2ZWMxLCB2ZWMzKTsKLQotICAgIHNyY190bXAxID0gc3JjICsgMTY7Ci0gICAgc3Jj
NiA9IF9fbHN4X3ZsZChzcmNfdG1wMSwgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNy
Y190bXAxLCBzcmNfc3RyaWRlLCBzcmNfdG1wMSwgc3JjX3N0cmlkZTIsIHNyYzcsCi0gICAgICAg
ICAgICAgIHNyYzgpOwotICAgIHNyYzkgPSBfX2xzeF92bGR4KHNyY190bXAxLCBzcmNfc3RyaWRl
Myk7Ci0KLSAgICBkc3RfdG1wMSA9IGRzdCArIDE2OwotICAgIGRzdDQgPSBfX2xzeF92bGQoZHN0
X3RtcDEsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3RfdG1wMSwgZHN0X3N0cmlk
ZSwgZHN0X3RtcDEsIGRzdF9zdHJpZGUyLCBkc3Q1LAotICAgICAgICAgICAgICBkc3Q2KTsKLSAg
ICBkc3Q3ID0gX19sc3hfdmxkeChkc3RfdG1wMSwgZHN0X3N0cmlkZTMpOwotICAgIHNyYyArPSBz
cmNfc3RyaWRlNDsKLQotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQw
LCB2ZWMxLCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgdG1wMCA9IF9fbHN4X3Zzc3Jhcm5pX2J1
X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIHRtcDAgPSBfX2xzeF92YXZncl9idSh0
bXAwLCBkc3QwKTsKLSAgICBfX2xzeF92c3QodG1wMCwgZHN0LCAwKTsKLQotICAgIERVUDJfQVJH
MihfX2xzeF92ZHAyX2hfYnUsIHZlYzIsIGZpbHQwLCB2ZWMzLCBmaWx0MCwgdG1wMCwgdG1wMSk7
Ci0gICAgdG1wMCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMp
OwotICAgIHRtcDAgPSBfX2xzeF92YXZncl9idSh0bXAwLCBkc3QxKTsKLSAgICBfX2xzeF92c3R4
KHRtcDAsIGRzdCwgZHN0X3N0cmlkZSk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwg
c3JjMywgc3JjMiwgc3JjNCwgc3JjMywgdmVjNCwgdmVjNik7Ci0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZpbHZoX2IsIHNyYzMsIHNyYzIsIHNyYzQsIHNyYzMsIHZlYzUsIHZlYzcpOwotICAgIERVUDJf
QVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzQsIGZpbHQwLCB2ZWM1LCBmaWx0MCwgdG1wMCwgdG1w
MSk7Ci0gICAgdG1wMCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJ
VFMpOwotICAgIHRtcDAgPSBfX2xzeF92YXZncl9idSh0bXAwLCBkc3QyKTsKLSAgICBfX2xzeF92
c3R4KHRtcDAsIGRzdCwgZHN0X3N0cmlkZTIpOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJf
aF9idSwgdmVjNiwgZmlsdDAsIHZlYzcsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgICB0bXAwID0g
X19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0gICAgdG1wMCA9
IF9fbHN4X3ZhdmdyX2J1KHRtcDAsIGRzdDMpOwotICAgIF9fbHN4X3ZzdHgodG1wMCwgZHN0LCBk
c3Rfc3RyaWRlMyk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjNiwgc3JjNSwg
c3JjNywgc3JjNiwgdmVjMCwgdmVjMik7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNy
YzYsIHNyYzUsIHNyYzcsIHNyYzYsIHZlYzEsIHZlYzMpOwotICAgIERVUDJfQVJHMihfX2xzeF92
ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgdG1w
MCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIHRt
cDAgPSBfX2xzeF92YXZncl9idSh0bXAwLCBkc3Q0KTsKLSAgICBfX2xzeF92c3QodG1wMCwgZHN0
LCAxNik7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMyLCBmaWx0MCwgdmVj
MywgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRt
cDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICB0bXAwID0gX19sc3hfdmF2Z3JfYnUodG1wMCwg
ZHN0NSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0KHRtcDAsIGRzdCwg
MTYpOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzgsIHNyYzcsIHNyYzksIHNy
YzgsIHZlYzQsIHZlYzYpOwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmM4LCBzcmM3
LCBzcmM5LCBzcmM4LCB2ZWM1LCB2ZWM3KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1
LCB2ZWM0LCBmaWx0MCwgdmVjNSwgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIHRtcDAgPSBfX2xz
eF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICB0bXAwID0gX19s
c3hfdmF2Z3JfYnUodG1wMCwgZHN0Nik7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19s
c3hfdnN0KHRtcDAsIGRzdCwgMTYpOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwg
dmVjNiwgZmlsdDAsIHZlYzcsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgICB0bXAwID0gX19sc3hf
dnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0gICAgdG1wMCA9IF9fbHN4
X3ZhdmdyX2J1KHRtcDAsIGRzdDcpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4
X3ZzdCh0bXAwLCBkc3QsIDE2KTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIHNyYzAg
PSBzcmM0OwotICAgIHNyYzUgPSBzcmM5OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92
dF8ydF9hbmRfYXZlcl9kc3RfNjR3X2xzeChjb25zdCB1aW50OF90ICpzcmMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RyaWRlLCB1
aW50OF90ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJf
dCBsb29wX2NudCA9IChoZWlnaHQgPj4gMSk7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNf
c3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTIgPSBkc3Rfc3RyaWRlIDw8IDE7Ci0g
IHVpbnQ4X3QgKnNyY190bXAxOwotICB1aW50OF90ICpkc3RfdG1wMTsKLSAgX19tMTI4aSBzcmMw
LCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1OwotICBfX20xMjhpIHNyYzYsIHNyYzcsIHNy
YzgsIHNyYzksIHNyYzEwLCBzcmMxMSwgZmlsdDA7Ci0gIF9fbTEyOGkgZHN0MCwgZHN0MSwgZHN0
MiwgZHN0MywgZHN0NCwgZHN0NSwgZHN0NiwgZHN0NzsKLSAgX19tMTI4aSB2ZWMwLCB2ZWMxLCB2
ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OwotICBfX20xMjhpIHRtcDAsIHRtcDE7
Ci0KLSAgZmlsdDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAwKTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMsIDMyLCBzcmMsIDQ4LCBzcmMwLCBzcmMzLCBz
cmM2LAotICAgICAgICAgICAgc3JjOSk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gIGZvciAo
OyBsb29wX2NudC0tOykgewotICAgIHNyYzIgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZSk7
Ci0gICAgZHN0MSA9IF9fbHN4X3ZsZHgoZHN0LCBkc3Rfc3RyaWRlKTsKLSAgICBEVVA0X0FSRzIo
X19sc3hfdmxkLCBzcmMsIDAsIHNyYywgMTYsIHNyYywgMzIsIHNyYywgNDgsIHNyYzEsIHNyYzQs
IHNyYzcsCi0gICAgICAgICAgICAgIHNyYzEwKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBk
c3QsIDAsIGRzdCwgMTYsIGRzdCwgMzIsIGRzdCwgNDgsIGRzdDAsIGRzdDIsIGRzdDQsCi0gICAg
ICAgICAgICAgIGRzdDYpOwotICAgIHNyY190bXAxID0gKHVpbnQ4X3QgKilzcmMgKyAxNjsKLSAg
ICBzcmM1ID0gX19sc3hfdmxkeChzcmNfdG1wMSwgc3JjX3N0cmlkZSk7Ci0gICAgc3JjX3RtcDEg
PSBzcmNfdG1wMSArIDE2OwotICAgIHNyYzggPSBfX2xzeF92bGR4KHNyY190bXAxLCBzcmNfc3Ry
aWRlKTsKLSAgICBzcmNfdG1wMSA9IHNyY190bXAxICsgMTY7Ci0gICAgc3JjMTEgPSBfX2xzeF92
bGR4KHNyY190bXAxLCBzcmNfc3RyaWRlKTsKLQotICAgIGRzdF90bXAxID0gZHN0ICsgMTY7Ci0g
ICAgZHN0MyA9IF9fbHN4X3ZsZHgoZHN0X3RtcDEsIGRzdF9zdHJpZGUpOwotICAgIGRzdF90bXAx
ID0gZHN0ICsgMzI7Ci0gICAgZHN0NSA9IF9fbHN4X3ZsZHgoZHN0X3RtcDEsIGRzdF9zdHJpZGUp
OwotICAgIGRzdF90bXAxID0gZHN0ICsgNDg7Ci0gICAgZHN0NyA9IF9fbHN4X3ZsZHgoZHN0X3Rt
cDEsIGRzdF9zdHJpZGUpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlMjsKLQotICAgIERVUDJfQVJH
MihfX2xzeF92aWx2bF9iLCBzcmMxLCBzcmMwLCBzcmMyLCBzcmMxLCB2ZWMwLCB2ZWMyKTsKLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgdmVjMSwg
dmVjMyk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEs
IGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgICB0bXAwID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAx
LCB0bXAwLCBGSUxURVJfQklUUyk7Ci0gICAgdG1wMCA9IF9fbHN4X3ZhdmdyX2J1KHRtcDAsIGRz
dDApOwotICAgIF9fbHN4X3ZzdCh0bXAwLCBkc3QsIDApOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZkcDJfaF9idSwgdmVjMiwgZmlsdDAsIHZlYzMsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgICB0
bXAwID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0gICAg
dG1wMCA9IF9fbHN4X3ZhdmdyX2J1KHRtcDAsIGRzdDEpOwotICAgIF9fbHN4X3ZzdHgodG1wMCwg
ZHN0LCBkc3Rfc3RyaWRlKTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9iLCBzcmM0LCBz
cmMzLCBzcmM1LCBzcmM0LCB2ZWM0LCB2ZWM2KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhf
Yiwgc3JjNCwgc3JjMywgc3JjNSwgc3JjNCwgdmVjNSwgdmVjNyk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZkcDJfaF9idSwgdmVjNCwgZmlsdDAsIHZlYzUsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAg
ICB0bXAwID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0g
ICAgdG1wMCA9IF9fbHN4X3ZhdmdyX2J1KHRtcDAsIGRzdDIpOwotICAgIF9fbHN4X3ZzdCh0bXAw
LCBkc3QsIDE2KTsKLQotICAgIGRzdF90bXAxID0gZHN0ICsgMTY7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZkcDJfaF9idSwgdmVjNiwgZmlsdDAsIHZlYzcsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAg
ICB0bXAwID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0g
ICAgdG1wMCA9IF9fbHN4X3ZhdmdyX2J1KHRtcDAsIGRzdDMpOwotICAgIF9fbHN4X3ZzdHgodG1w
MCwgZHN0X3RtcDEsIGRzdF9zdHJpZGUpOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2Is
IHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHZlYzAsIHZlYzIpOwotICAgIERVUDJfQVJHMihfX2xz
eF92aWx2aF9iLCBzcmM3LCBzcmM2LCBzcmM4LCBzcmM3LCB2ZWMxLCB2ZWMzKTsKLSAgICBEVVAy
X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwgZmlsdDAsIHRtcDAsIHRt
cDEpOwotICAgIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9C
SVRTKTsKLSAgICB0bXAwID0gX19sc3hfdmF2Z3JfYnUodG1wMCwgZHN0NCk7Ci0gICAgX19sc3hf
dnN0KHRtcDAsIGRzdCwgMzIpOwotCi0gICAgZHN0X3RtcDEgPSBkc3RfdG1wMSArIDE2OwotICAg
IERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzIsIGZpbHQwLCB2ZWMzLCBmaWx0MCwgdG1w
MCwgdG1wMSk7Ci0gICAgdG1wMCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklM
VEVSX0JJVFMpOwotICAgIHRtcDAgPSBfX2xzeF92YXZncl9idSh0bXAwLCBkc3Q1KTsKLSAgICBf
X2xzeF92c3R4KHRtcDAsIGRzdF90bXAxLCBkc3Rfc3RyaWRlKTsKLQotICAgIERVUDJfQVJHMihf
X2xzeF92aWx2bF9iLCBzcmMxMCwgc3JjOSwgc3JjMTEsIHNyYzEwLCB2ZWM0LCB2ZWM2KTsKLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjMTAsIHNyYzksIHNyYzExLCBzcmMxMCwgdmVj
NSwgdmVjNyk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjNCwgZmlsdDAsIHZl
YzUsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgICB0bXAwID0gX19sc3hfdnNzcmFybmlfYnVfaCh0
bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0gICAgdG1wMCA9IF9fbHN4X3ZhdmdyX2J1KHRtcDAs
IGRzdDYpOwotICAgIF9fbHN4X3ZzdCh0bXAwLCBkc3QsIDQ4KTsKLQotICAgIGRzdF90bXAxID0g
ZHN0X3RtcDEgKyAxNjsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM2LCBmaWx0
MCwgdmVjNywgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9i
dV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICB0bXAwID0gX19sc3hfdmF2Z3JfYnUo
dG1wMCwgZHN0Nyk7Ci0gICAgX19sc3hfdnN0eCh0bXAwLCBkc3RfdG1wMSwgZHN0X3N0cmlkZSk7
Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGUyOwotCi0gICAgc3JjMCA9IHNyYzI7Ci0gICAgc3JjMyA9
IHNyYzU7Ci0gICAgc3JjNiA9IHNyYzg7Ci0gICAgc3JjOSA9IHNyYzExOwotICB9Ci19Ci0KLXZv
aWQgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAq
ZHN0LCBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSW50ZXJwS2VybmVsICpmaWx0ZXIsIGludCB4MF9xNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHhfc3RlcF9xNCwgaW50IHkwX3E0LCBpbnQgeV9zdGVwX3E0
LCBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpIHsKLSAgY29u
c3QgaW50MTZfdCAqY29uc3QgZmlsdGVyX3kgPSBmaWx0ZXJbeTBfcTRdOwotICBpbnQ4X3QgY250
LCBmaWx0X3Zlcls4XTsKLQotICBhc3NlcnQoeV9zdGVwX3E0ID09IDE2KTsKLSAgYXNzZXJ0KCgo
Y29uc3QgaW50MzJfdCAqKWZpbHRlcl95KVsxXSAhPSAweDgwMDAwMCk7Ci0KLSAgZm9yIChjbnQg
PSAwOyBjbnQgPCA4OyArK2NudCkgewotICAgIGZpbHRfdmVyW2NudF0gPSBmaWx0ZXJfeVtjbnRd
OwotICB9Ci0KLSAgaWYgKHZweF9nZXRfZmlsdGVyX3RhcHMoZmlsdGVyX3kpID09IDIpIHsKLSAg
ICBzd2l0Y2ggKHcpIHsKLSAgICAgIGNhc2UgNDoKLSAgICAgICAgY29tbW9uX3Z0XzJ0X2FuZF9h
dmVyX2RzdF80d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsICZmaWx0
X3ZlclszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA4OgotICAgICAgICBjb21t
b25fdnRfMnRfYW5kX2F2ZXJfZHN0Xzh3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0
X3N0cmlkZSwgJmZpbHRfdmVyWzNdLCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDE2
OgotICAgICAgICBjb21tb25fdnRfMnRfYW5kX2F2ZXJfZHN0XzE2d19sc3goc3JjLCAoaW50MzJf
dClzcmNfc3RyaWRlLCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLCAmZmlsdF92ZXJbM10sIGgpOwotICAgICAgICBicmVh
azsKLSAgICAgIGNhc2UgMzI6Ci0gICAgICAgIGNvbW1vbl92dF8ydF9hbmRfYXZlcl9kc3RfMzJ3
X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsICZmaWx0X3ZlclszXSwg
aCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA2NDoKLSAgICAgICAgY29tbW9uX3Z0XzJ0
X2FuZF9hdmVyX2RzdF82NHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlk
ZSwgJmZpbHRfdmVyWzNdLCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAg
ICAgICB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2Moc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9z
dHJpZGUsIGZpbHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgwX3E0LCB4
X3N0ZXBfcTQsIHkwX3E0LCB5X3N0ZXBfcTQsIHcsIGgpOwotICAgICAgICBicmVhazsKLSAgICB9
Ci0gIH0gZWxzZSB7Ci0gICAgc3dpdGNoICh3KSB7Ci0gICAgICBjYXNlIDQ6Ci0gICAgICAgIGNv
bW1vbl92dF84dF9hbmRfYXZlcl9kc3RfNHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwg
ZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdClk
c3Rfc3RyaWRlLCBmaWx0X3ZlciwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA4Ogot
ICAgICAgICBjb21tb25fdnRfOHRfYW5kX2F2ZXJfZHN0Xzh3X2xzeChzcmMsIChpbnQzMl90KXNy
Y19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGludDMyX3QpZHN0X3N0cmlkZSwgZmlsdF92ZXIsIGgpOwotICAgICAgICBicmVhazsKLSAgICAg
IGNhc2UgMTY6Ci0gICAgICAgIGNvbW1vbl92dF84dF9hbmRfYXZlcl9kc3RfMTZ3X2xzeChzcmMs
IChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsIGZpbHRfdmVyLCBoKTsKLQotICAgICAg
ICBicmVhazsKLSAgICAgIGNhc2UgMzI6Ci0gICAgICAgIGNvbW1vbl92dF84dF9hbmRfYXZlcl9k
c3RfMzJ3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsIGZpbHRfdmVy
LCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDY0OgotICAgICAgICBjb21tb25fdnRf
OHRfYW5kX2F2ZXJfZHN0XzY0d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdClkc3Rfc3Ry
aWRlLCBmaWx0X3ZlciwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgdnB4X2NvbnZvbHZlOF9hdmdfdmVydF9jKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3Ry
aWRlLCBmaWx0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MF9xNCwgeF9z
dGVwX3E0LCB5MF9xNCwgeV9zdGVwX3E0LCB3LCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
ICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252
b2x2ZThfaG9yaXpfbHN4LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252
b2x2ZThfaG9yaXpfbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjNjQ1OWE5
Nzg1NS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdnB4
X2NvbnZvbHZlOF9ob3Jpel9sc3guYworKysgL2Rldi9udWxsCkBAIC0xLDgxNCArMCwwIEBACi0v
KgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy
bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRp
dGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0g
KiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3Jz
IG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlICIuL3Zw
eF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZV9s
c3guaCIKLQotc3RhdGljIGNvbnN0IHVpbnQ4X3QgbWNfZmlsdF9tYXNrX2FyclsxNiAqIDNdID0g
ewotICAvKiA4IHdpZHRoIGNhc2VzICovCi0gIDAsIDEsIDEsIDIsIDIsIDMsIDMsIDQsIDQsIDUs
IDUsIDYsIDYsIDcsIDcsIDgsCi0gIC8qIDQgd2lkdGggY2FzZXMgKi8KLSAgMCwgMSwgMSwgMiwg
MiwgMywgMywgNCwgMTYsIDE3LCAxNywgMTgsIDE4LCAxOSwgMTksIDIwLAotICAvKiA0IHdpZHRo
IGNhc2VzICovCi0gIDgsIDksIDksIDEwLCAxMCwgMTEsIDExLCAxMiwgMjQsIDI1LCAyNSwgMjYs
IDI2LCAyNywgMjcsIDI4Ci19OwotCi1zdGF0aWMgdm9pZCBjb21tb25faHpfOHRfNHg0X2xzeChj
b25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIpIHsKLSAgX19t
MTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzOwotICBfX20xMjhpIGZpbHRlcjAsIGZpbHRlcjEs
IGZpbHRlcjIsIGZpbHRlcjM7Ci0gIF9fbTEyOGkgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazM7
Ci0gIF9fbTEyOGkgb3V0LCBvdXQwLCBvdXQxOwotCi0gIG1hc2swID0gX19sc3hfdmxkKG1jX2Zp
bHRfbWFza19hcnIsIDE2KTsKLSAgc3JjIC09IDM7Ci0gIERVUDRfQVJHMihfX2xzeF92bGRyZXBs
X2gsIGZpbHRlciwgMCwgZmlsdGVyLCAyLCBmaWx0ZXIsIDQsIGZpbHRlciwgNiwKLSAgICAgICAg
ICAgIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMpOwotICBEVVAyX0FSRzIoX19s
c3hfdmFkZGlfYnUsIG1hc2swLCAyLCBtYXNrMCwgNCwgbWFzazEsIG1hc2syKTsKLSAgbWFzazMg
PSBfX2xzeF92YWRkaV9idShtYXNrMCwgNik7Ci0KLSAgTFNYX0xEXzQoc3JjLCBzcmNfc3RyaWRl
LCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNy
YzAsIDEyOCwgc3JjMSwgMTI4LCBzcmMyLCAxMjgsIHNyYzMsIDEyOCwgc3JjMCwKLSAgICAgICAg
ICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICBIT1JJWl84VEFQXzRXSURfNFZFQ1NfRklMVChzcmMw
LCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMywg
b3V0MCwgb3V0MSk7Ci0gIG91dCA9IF9fbHN4X3Zzc3Jhcm5pX2JfaChvdXQxLCBvdXQwLCA3KTsK
LSAgb3V0ID0gX19sc3hfdnhvcmlfYihvdXQsIDEyOCk7Ci0gIF9fbHN4X3ZzdGVsbV93KG91dCwg
ZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KG91dCwg
ZHN0LCAwLCAxKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KG91dCwg
ZHN0LCAwLCAyKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV93KG91dCwg
ZHN0LCAwLCAzKTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6Xzh0XzR4OF9sc3goY29uc3Qg
dWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmlsdGVyKSB7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBz
cmNfc3RyaWRlICsgc3JjX3N0cmlkZTI7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3Ry
aWRlMiA8PCAxOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzM7Ci0gIF9fbTEyOGkg
ZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMzsKLSAgX19tMTI4aSBtYXNrMCwgbWFz
azEsIG1hc2syLCBtYXNrMzsKLSAgX19tMTI4aSBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzOwotICB1
aW50OF90ICpfc3JjID0gKHVpbnQ4X3QgKilzcmMgLSAzOwotCi0gIG1hc2swID0gX19sc3hfdmxk
KG1jX2ZpbHRfbWFza19hcnIsIDE2KTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRpX2J1LCBtYXNr
MCwgMiwgbWFzazAsIDQsIG1hc2sxLCBtYXNrMik7Ci0gIG1hc2szID0gX19sc3hfdmFkZGlfYnUo
bWFzazAsIDYpOwotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXIsIDAsIGZpbHRl
ciwgMiwgZmlsdGVyLCA0LCBmaWx0ZXIsIDYsCi0gICAgICAgICAgICBmaWx0ZXIwLCBmaWx0ZXIx
LCBmaWx0ZXIyLCBmaWx0ZXIzKTsKLQotICBzcmMwID0gX19sc3hfdmxkKF9zcmMsIDApOwotICBE
VVAyX0FSRzIoX19sc3hfdmxkeCwgX3NyYywgc3JjX3N0cmlkZSwgX3NyYywgc3JjX3N0cmlkZTIs
IHNyYzEsIHNyYzIpOwotICBzcmMzID0gX19sc3hfdmxkeChfc3JjLCBzcmNfc3RyaWRlMyk7Ci0g
IF9zcmMgKz0gc3JjX3N0cmlkZTQ7Ci0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAx
MjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICBz
cmMxLCBzcmMyLCBzcmMzKTsKLSAgSE9SSVpfOFRBUF80V0lEXzRWRUNTX0ZJTFQoc3JjMCwgc3Jj
MSwgc3JjMiwgc3JjMywgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMsIG91dDAs
IG91dDEpOwotICBzcmMwID0gX19sc3hfdmxkKF9zcmMsIDApOwotICBEVVAyX0FSRzIoX19sc3hf
dmxkeCwgX3NyYywgc3JjX3N0cmlkZSwgX3NyYywgc3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwot
ICBzcmMzID0gX19sc3hfdmxkeChfc3JjLCBzcmNfc3RyaWRlMyk7Ci0gIERVUDRfQVJHMihfX2xz
eF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNy
YzAsCi0gICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgSE9SSVpfOFRBUF80V0lEXzRW
RUNTX0ZJTFQoc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFz
azMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRl
cjIsIGZpbHRlcjMsIG91dDIsIG91dDMpOwotICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYl9o
LCBvdXQxLCBvdXQwLCA3LCBvdXQzLCBvdXQyLCA3LCBvdXQwLCBvdXQxKTsKLSAgRFVQMl9BUkcy
KF9fbHN4X3Z4b3JpX2IsIG91dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLQotICBf
X2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDApOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAg
X19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAxKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0g
IF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMik7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwot
ICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDMpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsK
LSAgX19sc3hfdnN0ZWxtX3cob3V0MSwgZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gIF9fbHN4X3ZzdGVsbV93KG91dDEsIGRzdCwgMCwgMSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRl
OwotICBfX2xzeF92c3RlbG1fdyhvdXQxLCBkc3QsIDAsIDIpOwotICBkc3QgKz0gZHN0X3N0cmlk
ZTsKLSAgX19sc3hfdnN0ZWxtX3cob3V0MSwgZHN0LCAwLCAzKTsKLX0KLQotc3RhdGljIHZvaWQg
Y29tbW9uX2h6Xzh0XzR3X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90
IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhf
dCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICBpZiAoaGVpZ2h0ID09IDQpIHsKLSAgICBj
b21tb25faHpfOHRfNHg0X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmls
dGVyKTsKLSAgfSBlbHNlIGlmIChoZWlnaHQgPT0gOCkgewotICAgIGNvbW1vbl9oel84dF80eDhf
bHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIpOwotICB9Ci19Ci0K
LXN0YXRpYyB2b2lkIGNvbW1vbl9oel84dF84eDRfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50
MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf
dCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlcikgewotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzM7Ci0gIF9fbTEyOGkgZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMzsKLSAg
X19tMTI4aSBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMzsKLSAgX19tMTI4aSBvdXQwLCBvdXQx
LCBvdXQyLCBvdXQzOwotCi0gIG1hc2swID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDAp
OwotICBzcmMgLT0gMzsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRpX2J1LCBtYXNrMCwgMiwgbWFz
azAsIDQsIG1hc2sxLCBtYXNrMik7Ci0gIG1hc2szID0gX19sc3hfdmFkZGlfYnUobWFzazAsIDYp
OwotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXIsIDAsIGZpbHRlciwgMiwgZmls
dGVyLCA0LCBmaWx0ZXIsIDYsCi0gICAgICAgICAgICBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIy
LCBmaWx0ZXIzKTsKLQotICBMU1hfTERfNChzcmMsIHNyY19zdHJpZGUsIHNyYzAsIHNyYzEsIHNy
YzIsIHNyYzMpOwotICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAx
MjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAgICAgc3JjMSwgc3JjMiwg
c3JjMyk7Ci0gIEhPUklaXzhUQVBfOFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNy
YzMsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzLCBvdXQwLCBvdXQxLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQyLCBvdXQzKTsKLSAgRFVQMl9BUkczKF9fbHN4
X3Zzc3Jhcm5pX2JfaCwgb3V0MSwgb3V0MCwgNywgb3V0Mywgb3V0MiwgNywgb3V0MCwgb3V0MSk7
Ci0gIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCBvdXQwLCAxMjgsIG91dDEsIDEyOCwgb3V0MCwg
b3V0MSk7Ci0gIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdCwgMCwgMCk7Ci0gIGRzdCArPSBkc3Rf
c3RyaWRlOwotICBfX2xzeF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDEpOwotICBkc3QgKz0gZHN0
X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX2Qob3V0MSwgZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV9kKG91dDEsIGRzdCwgMCwgMSk7Ci19Ci0KLXN0YXRp
YyB2b2lkIGNvbW1vbl9oel84dF84eDhtdWx0X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMy
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWlu
dDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNy
Y19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUgKyBzcmNf
c3RyaWRlMjsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0gIF9f
bTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMzsKLSAgX19tMTI4aSBmaWx0ZXIwLCBmaWx0ZXIx
LCBmaWx0ZXIyLCBmaWx0ZXIzOwotICBfX20xMjhpIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2sz
OwotICBfX20xMjhpIG91dDAsIG91dDEsIG91dDIsIG91dDM7Ci0gIHVpbnQ4X3QgKl9zcmMgPSAo
dWludDhfdCAqKXNyYyAtIDM7Ci0KLSAgbWFzazAgPSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2Fy
ciwgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkaV9idSwgbWFzazAsIDIsIG1hc2swLCA0LCBt
YXNrMSwgbWFzazIpOwotICBtYXNrMyA9IF9fbHN4X3ZhZGRpX2J1KG1hc2swLCA2KTsKLSAgRFVQ
NF9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyLCAwLCBmaWx0ZXIsIDIsIGZpbHRlciwgNCwg
ZmlsdGVyLCA2LAotICAgICAgICAgICAgZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVy
Myk7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgc3JjMCA9IF9fbHN4X3ZsZChfc3Jj
LCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgX3NyYywgc3JjX3N0cmlkZSwgX3NyYywg
c3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwotICAgIHNyYzMgPSBfX2xzeF92bGR4KF9zcmMsIHNy
Y19zdHJpZGUzKTsKLSAgICBfc3JjICs9IHNyY19zdHJpZGU0OwotICAgIERVUDRfQVJHMihfX2xz
eF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNy
YzAsCi0gICAgICAgICAgICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICAgIEhPUklaXzhUQVBfOFdJ
RF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzazMsIGZpbHRlcjAsIGZpbHRlcjEs
IGZpbHRlcjIsIGZpbHRlcjMsIG91dDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b3V0MSwgb3V0Miwgb3V0Myk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgb3V0
MSwgb3V0MCwgNywgb3V0Mywgb3V0MiwgNywgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3Z4b3JpX2IsIG91dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLSAgICBfX2xz
eF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAg
IF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gICAgX19sc3hfdnN0ZWxtX2Qob3V0MSwgZHN0LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0
cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QsIDAsIDEpOwotICAgIGRzdCArPSBk
c3Rfc3RyaWRlOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9oel84dF84d19sc3goY29u
c3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWln
aHQpIHsKLSAgaWYgKGhlaWdodCA9PSA0KSB7Ci0gICAgY29tbW9uX2h6Xzh0Xzh4NF9sc3goc3Jj
LCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcik7Ci0gIH0gZWxzZSB7Ci0gICAg
Y29tbW9uX2h6Xzh0Xzh4OG11bHRfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRl
LCBmaWx0ZXIsIGhlaWdodCk7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6Xzh0XzE2
d19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAqZmlsdGVyLCBp
bnQzMl90IGhlaWdodCkgewotICB1aW50MzJfdCBsb29wX2NudCA9IGhlaWdodCA+PiAxOwotICBp
bnQzMl90IHN0cmlkZSA9IHNyY19zdHJpZGUgPDwgMTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBz
cmMyLCBzcmMzOwotICBfX20xMjhpIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjM7
Ci0gIF9fbTEyOGkgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazM7Ci0gIF9fbTEyOGkgb3V0MCwg
b3V0MSwgb3V0Miwgb3V0MzsKLQotICBtYXNrMCA9IF9fbHN4X3ZsZChtY19maWx0X21hc2tfYXJy
LCAwKTsKLSAgc3JjIC09IDM7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkaV9idSwgbWFzazAsIDIs
IG1hc2swLCA0LCBtYXNrMSwgbWFzazIpOwotICBtYXNrMyA9IF9fbHN4X3ZhZGRpX2J1KG1hc2sw
LCA2KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyLCAwLCBmaWx0ZXIsIDIs
IGZpbHRlciwgNCwgZmlsdGVyLCA2LAotICAgICAgICAgICAgZmlsdGVyMCwgZmlsdGVyMSwgZmls
dGVyMiwgZmlsdGVyMyk7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgY29uc3QgdWlu
dDhfdCAqX3NyYyA9IHNyYyArIHNyY19zdHJpZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwg
c3JjLCAwLCBfc3JjLCAwLCBzcmMwLCBzcmMyKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBz
cmMsIDgsIF9zcmMsIDgsIHNyYzEsIHNyYzMpOwotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9i
LCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAg
ICAgICAgICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICAgIEhPUklaXzhUQVBfOFdJRF80VkVDU19G
SUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBtYXNrMSwgbWFzazIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbWFzazMsIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIs
IGZpbHRlcjMsIG91dDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0MSwgb3V0
Miwgb3V0Myk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgb3V0MSwgb3V0MCwg
Nywgb3V0Mywgb3V0MiwgNywgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3Jp
X2IsIG91dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLSAgICBfX2xzeF92c3Qob3V0
MCwgZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3Qob3V0MSwg
ZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBzcmMgKz0gc3RyaWRlOwotICB9
Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9oel84dF8zMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNy
YywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWlu
dDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMy
LCBzcmMzOwotICBfX20xMjhpIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjM7Ci0g
IF9fbTEyOGkgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazM7Ci0gIF9fbTEyOGkgb3V0MCwgb3V0
MSwgb3V0Miwgb3V0MzsKLSAgX19tMTI4aSBzaHVmZiA9IHsgMHgwRjBFMEQwQzBCMEEwOTA4LCAw
eDE3MTYxNTE0MTMxMjExMTAgfTsKLQotICBtYXNrMCA9IF9fbHN4X3ZsZChtY19maWx0X21hc2tf
YXJyLCAwKTsKLSAgc3JjIC09IDM7Ci0gIERVUDJfQVJHMihfX2xzeF92YWRkaV9idSwgbWFzazAs
IDIsIG1hc2swLCA0LCBtYXNrMSwgbWFzazIpOwotICBtYXNrMyA9IF9fbHN4X3ZhZGRpX2J1KG1h
c2swLCA2KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyLCAwLCBmaWx0ZXIs
IDIsIGZpbHRlciwgNCwgZmlsdGVyLCA2LAotICAgICAgICAgICAgZmlsdGVyMCwgZmlsdGVyMSwg
ZmlsdGVyMiwgZmlsdGVyMyk7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMwLCBzcmMyKTsKLSAgICBzcmMzID0g
X19sc3hfdmxkKHNyYywgMjQpOwotICAgIHNyYzEgPSBfX2xzeF92c2h1Zl9iKHNyYzIsIHNyYzAs
IHNodWZmKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhv
cmlfYiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAot
ICAgICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBIT1JJWl84VEFQXzhXSURfNFZF
Q1NfRklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazEsIG1hc2syLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2szLCBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0
ZXIyLCBmaWx0ZXIzLCBvdXQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dDEs
IG91dDIsIG91dDMpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDEsIG91
dDAsIDcsIG91dDMsIG91dDIsIDcsIG91dDAsIG91dDEpOwotICAgIERVUDJfQVJHMihfX2xzeF92
eG9yaV9iLCBvdXQwLCAxMjgsIG91dDEsIDEyOCwgb3V0MCwgb3V0MSk7Ci0gICAgX19sc3hfdnN0
KG91dDAsIGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0KG91dDEsIGRzdCwgMTYpOwotCi0gICAgRFVQ
Ml9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMwLCBzcmMyKTsKLSAgICBzcmMz
ID0gX19sc3hfdmxkKHNyYywgMjQpOwotICAgIHNyYzEgPSBfX2xzeF92c2h1Zl9iKHNyYzIsIHNy
YzAsIHNodWZmKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwg
c3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICAgIHNyYzEsIHNyYzIsIHNy
YzMpOwotICAgIEhPUklaXzhUQVBfOFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNy
YzMsIG1hc2swLCBtYXNrMSwgbWFzazIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bWFzazMsIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMsIG91dDAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3V0MSwgb3V0Miwgb3V0Myk7Ci0gICAgRFVQMl9BUkcz
KF9fbHN4X3Zzc3Jhcm5pX2JfaCwgb3V0MSwgb3V0MCwgNywgb3V0Mywgb3V0MiwgNywgb3V0MCwg
b3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIG91dDAsIDEyOCwgb3V0MSwgMTI4
LCBvdXQwLCBvdXQxKTsKLSAgICBfX2xzeF92c3Qob3V0MCwgZHN0LCAwKTsKLSAgICBfX2xzeF92
c3Qob3V0MSwgZHN0LCAxNik7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIH0KLX0KLQotc3Rh
dGljIHZvaWQgY29tbW9uX2h6Xzh0XzY0d19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpk
c3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICBpbnQzMl90IGxvb3Bf
Y250ID0gaGVpZ2h0OwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzM7Ci0gIF9fbTEy
OGkgZmlsdGVyMCwgZmlsdGVyMSwgZmlsdGVyMiwgZmlsdGVyMzsKLSAgX19tMTI4aSBtYXNrMCwg
bWFzazEsIG1hc2syLCBtYXNrMzsKLSAgX19tMTI4aSBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzOwot
ICBfX20xMjhpIHNodWZmID0geyAweDBGMEUwRDBDMEIwQTA5MDgsIDB4MTcxNjE1MTQxMzEyMTEx
MCB9OwotCi0gIG1hc2swID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwotICBzcmMg
LT0gMzsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRpX2J1LCBtYXNrMCwgMiwgbWFzazAsIDQsIG1h
c2sxLCBtYXNrMik7Ci0gIG1hc2szID0gX19sc3hfdmFkZGlfYnUobWFzazAsIDYpOwotICBEVVA0
X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXIsIDAsIGZpbHRlciwgMiwgZmlsdGVyLCA0LCBm
aWx0ZXIsIDYsCi0gICAgICAgICAgICBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIz
KTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBz
cmMsIDAsIHNyYywgMTYsIHNyYzAsIHNyYzIpOwotICAgIHNyYzMgPSBfX2xzeF92bGQoc3JjLCAy
NCk7Ci0gICAgc3JjMSA9IF9fbHN4X3ZzaHVmX2Ioc3JjMiwgc3JjMCwgc2h1ZmYpOwotICAgIERV
UDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBz
cmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICAgIEhP
UklaXzhUQVBfOFdJRF80VkVDU19GSUxUKHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIG1hc2swLCBt
YXNrMSwgbWFzazIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzazMsIGZpbHRl
cjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjMsIG91dDAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3V0MSwgb3V0Miwgb3V0Myk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jh
cm5pX2JfaCwgb3V0MSwgb3V0MCwgNywgb3V0Mywgb3V0MiwgNywgb3V0MCwgb3V0MSk7Ci0gICAg
RFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIG91dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQx
KTsKLSAgICBfX2xzeF92c3Qob3V0MCwgZHN0LCAwKTsKLSAgICBfX2xzeF92c3Qob3V0MSwgZHN0
LCAxNik7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDMyLCBzcmMsIDQ4LCBzcmMw
LCBzcmMyKTsKLSAgICBzcmMzID0gX19sc3hfdmxkKHNyYywgNTYpOwotICAgIHNyYzEgPSBfX2xz
eF92c2h1Zl9iKHNyYzIsIHNyYzAsIHNodWZmKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlf
Yiwgc3JjMCwgMTI4LCBzcmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAg
ICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBIT1JJWl84VEFQXzhXSURfNFZFQ1Nf
RklMVChzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrMCwgbWFzazEsIG1hc2syLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2szLCBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIy
LCBmaWx0ZXIzLCBvdXQwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dDEsIG91
dDIsIG91dDMpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDEsIG91dDAs
IDcsIG91dDMsIG91dDIsIDcsIG91dDAsIG91dDEpOwotICAgIERVUDJfQVJHMihfX2xzeF92eG9y
aV9iLCBvdXQwLCAxMjgsIG91dDEsIDEyOCwgb3V0MCwgb3V0MSk7Ci0gICAgX19sc3hfdnN0KG91
dDAsIGRzdCwgMzIpOwotICAgIF9fbHN4X3ZzdChvdXQxLCBkc3QsIDQ4KTsKLSAgICBzcmMgKz0g
c3JjX3N0cmlkZTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgfQotfQotCi1zdGF0aWMgdm9p
ZCBjb21tb25faHpfMnRfNHg0X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50
MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90
ICpmaWx0ZXIpIHsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBtYXNrOwotICBf
X20xMjhpIGZpbHQwLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCByZXMwLCByZXMxOwotICBpbnQz
Ml90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUz
ID0gc3JjX3N0cmlkZSArIHNyY19zdHJpZGUyOwotCi0gIGludDMyX3QgZHN0X3N0cmlkZTIgPSBk
c3Rfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3RyaWRlICsgZHN0
X3N0cmlkZTI7Ci0KLSAgbWFzayA9IF9fbHN4X3ZsZChtY19maWx0X21hc2tfYXJyLCAxNik7Ci0g
IC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0
ZXIsIDApOwotCi0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMSwgc3JjMik7Ci0g
IHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICBEVVAyX0FSRzMoX19sc3hf
dnNodWZfYiwgc3JjMSwgc3JjMCwgbWFzaywgc3JjMywgc3JjMiwgbWFzaywgdmVjMCwgdmVjMSk7
Ci0gIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwg
dmVjMiwgdmVjMyk7Ci0gIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCB2ZWMyLCB2ZWMy
LCBGSUxURVJfQklUUywgdmVjMywgdmVjMywKLSAgICAgICAgICAgIEZJTFRFUl9CSVRTLCByZXMw
LCByZXMxKTsKLQotICBfX2xzeF92c3RlbG1fdyhyZXMwLCBkc3QsIDAsIDApOwotICBfX2xzeF92
c3RlbG1fdyhyZXMwLCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX3co
cmVzMSwgZHN0ICsgZHN0X3N0cmlkZTIsIDAsIDApOwotICBfX2xzeF92c3RlbG1fdyhyZXMxLCBk
c3QgKyBkc3Rfc3RyaWRlMywgMCwgMSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9oel8ydF80
eDhfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcikgewotICBf
X20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7Ci0g
IF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywg
bWFzazsKLSAgX19tMTI4aSByZXMwLCByZXMxLCByZXMyLCByZXMzLCBmaWx0MDsKLSAgaW50MzJf
dCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9
IHNyY19zdHJpZGUgKyBzcmNfc3RyaWRlMjsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19z
dHJpZGUyIDw8IDE7Ci0KLSAgaW50MzJfdCBkc3Rfc3RyaWRlMiA9IGRzdF9zdHJpZGUgPDwgMTsK
LSAgaW50MzJfdCBkc3Rfc3RyaWRlMyA9IGRzdF9zdHJpZGUgKyBkc3Rfc3RyaWRlMjsKLQotICB1
aW50OF90ICpzcmNfdG1wMSA9IHNyYyArIHNyY19zdHJpZGU0OwotCi0gIG1hc2sgPSBfX2xzeF92
bGQobWNfZmlsdF9tYXNrX2FyciwgMTYpOwotCi0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwot
ICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotCi0gIHNyYzAgPSBfX2xzeF92
bGQoc3JjLCAwKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3Jj
LCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNfc3RyaWRlMywKLSAgICAgICAgICAgIHNyYywgc3JjX3N0
cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQpOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwg
c3JjX3RtcDEsIHNyY19zdHJpZGUsIHNyY190bXAxLCBzcmNfc3RyaWRlMiwgc3JjNSwKLSAgICAg
ICAgICAgIHNyYzYpOwotICBzcmM3ID0gX19sc3hfdmxkeChzcmNfdG1wMSwgc3JjX3N0cmlkZTMp
OwotCi0gIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMxLCBzcmMwLCBtYXNrLCBzcmMzLCBz
cmMyLCBtYXNrLCBzcmM1LCBzcmM0LCBtYXNrLAotICAgICAgICAgICAgc3JjNywgc3JjNiwgbWFz
aywgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7Ci0gIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUs
IHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVjMiwgZmlsdDAsIHZlYzMsIGZpbHQwLAotICAg
ICAgICAgICAgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNyk7Ci0gIERVUDRfQVJHMyhfX2xzeF92c3Ny
YXJuaV9idV9oLCB2ZWM0LCB2ZWM0LCBGSUxURVJfQklUUywgdmVjNSwgdmVjNSwKLSAgICAgICAg
ICAgIEZJTFRFUl9CSVRTLCB2ZWM2LCB2ZWM2LCBGSUxURVJfQklUUywgdmVjNywgdmVjNywgRklM
VEVSX0JJVFMsIHJlczAsCi0gICAgICAgICAgICByZXMxLCByZXMyLCByZXMzKTsKLQotICBfX2xz
eF92c3RlbG1fdyhyZXMwLCBkc3QsIDAsIDApOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19s
c3hfdnN0ZWxtX3cocmVzMCwgZHN0LCAwLCAxKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9f
bHN4X3ZzdGVsbV93KHJlczEsIGRzdCwgMCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBf
X2xzeF92c3RlbG1fdyhyZXMxLCBkc3QsIDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLQot
ICBfX2xzeF92c3RlbG1fdyhyZXMyLCBkc3QsIDAsIDApOwotICBfX2xzeF92c3RlbG1fdyhyZXMy
LCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX3cocmVzMywgZHN0ICsg
ZHN0X3N0cmlkZTIsIDAsIDApOwotICBfX2xzeF92c3RlbG1fdyhyZXMzLCBkc3QgKyBkc3Rfc3Ry
aWRlMywgMCwgMSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9oel8ydF80d19sc3goY29uc3Qg
dWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAg
aWYgKGhlaWdodCA9PSA0KSB7Ci0gICAgY29tbW9uX2h6XzJ0XzR4NF9sc3goc3JjLCBzcmNfc3Ry
aWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcik7Ci0gIH0gZWxzZSBpZiAoaGVpZ2h0ID09IDgp
IHsKLSAgICBjb21tb25faHpfMnRfNHg4X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0
cmlkZSwgZmlsdGVyKTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHpfMnRfOHg0X2xz
eChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXIpIHsKLSAgX19tMTI4
aSBmaWx0MCwgbWFzazsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzOwotICBfX20x
MjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzM7Ci0KLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNy
Y19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3Jj
X3N0cmlkZTsKLQotICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8PCAxOwotICBp
bnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rfc3RyaWRlOwotCi0gIG1hc2sg
PSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0KLSAgLyogcmVhcnJhbmdpbmcgZmls
dGVyICovCi0gIGZpbHQwID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0KLSAgc3JjMCA9
IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3Ry
aWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAgc3JjMyA9IF9fbHN4X3ZsZHgo
c3JjLCBzcmNfc3RyaWRlMyk7Ci0KLSAgRFVQNF9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNy
YzAsIG1hc2ssIHNyYzEsIHNyYzEsIG1hc2ssIHNyYzIsIHNyYzIsIG1hc2ssCi0gICAgICAgICAg
ICBzcmMzLCBzcmMzLCBtYXNrLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkcy
KF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBmaWx0MCwg
dmVjMywgZmlsdDAsCi0gICAgICAgICAgICB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQ
Ml9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzEsIHZlYzAsIEZJTFRFUl9CSVRTLCB2ZWMz
LCB2ZWMyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIHZlYzAsIHZlYzEpOwotCi0gIF9fbHN4
X3ZzdGVsbV9kKHZlYzAsIGRzdCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHZlYzAsIGRzdCAr
IGRzdF9zdHJpZGUsIDAsIDEpOwotICBfX2xzeF92c3RlbG1fZCh2ZWMxLCBkc3QgKyBkc3Rfc3Ry
aWRlMiwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHZlYzEsIGRzdCArIGRzdF9zdHJpZGUzLCAw
LCAxKTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6XzJ0Xzh4OG11bHRfbHN4KGNvbnN0IHVp
bnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdo
dCkgewotICBfX20xMjhpIGZpbHQwLCBtYXNrOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzMsIG91dDAsIG91dDE7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMzsKLQot
ICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19z
dHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0
ID0gc3JjX3N0cmlkZTIgPDwgMTsKLQotICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlk
ZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rfc3RyaWRl
OwotICBpbnQzMl90IGRzdF9zdHJpZGU0ID0gZHN0X3N0cmlkZTIgPDwgMTsKLQotICBtYXNrID0g
X19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwotCi0gIC8qIHJlYXJyYW5naW5nIGZpbHRl
ciAqLwotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotCi0gIHNyYzAgPSBf
X2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlk
ZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KHNy
Yywgc3JjX3N0cmlkZTMpOwotICBzcmMgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAgRFVQNF9BUkczKF9f
bHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1hc2ssIHNyYzEsIHNyYzEsIG1hc2ssIHNyYzIsIHNy
YzIsIG1hc2ssCi0gICAgICAgICAgICBzcmMzLCBzcmMzLCBtYXNrLCB2ZWMwLCB2ZWMxLCB2ZWMy
LCB2ZWMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEs
IGZpbHQwLCB2ZWMyLCBmaWx0MCwgdmVjMywgZmlsdDAsCi0gICAgICAgICAgICB2ZWMwLCB2ZWMx
LCB2ZWMyLCB2ZWMzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzEsIHZl
YzAsIEZJTFRFUl9CSVRTLCB2ZWMzLCB2ZWMyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIG91
dDAsIG91dDEpOwotCi0gIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdCwgMCwgMCk7Ci0gIGRzdCAr
PSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDEpOwotICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0ZWxtX2Qob3V0MSwgZHN0LCAwLCAwKTsKLSAgZHN0
ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdGVsbV9kKG91dDEsIGRzdCwgMCwgMSk7Ci0gIGRz
dCArPSBkc3Rfc3RyaWRlOwotCi0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQMl9B
UkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMSwg
c3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICBzcmMgKz0g
c3JjX3N0cmlkZTQ7Ci0KLSAgRFVQNF9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1h
c2ssIHNyYzEsIHNyYzEsIG1hc2ssIHNyYzIsIHNyYzIsIG1hc2ssCi0gICAgICAgICAgICBzcmMz
LCBzcmMzLCBtYXNrLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4
X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBmaWx0MCwgdmVjMywg
ZmlsdDAsCi0gICAgICAgICAgICB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQMl9BUkcz
KF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzEsIHZlYzAsIEZJTFRFUl9CSVRTLCB2ZWMzLCB2ZWMy
LAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIG91dDAsIG91dDEpOwotCi0gIF9fbHN4X3ZzdGVs
bV9kKG91dDAsIGRzdCwgMCwgMCk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3Rl
bG1fZChvdXQwLCBkc3QsIDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0
ZWxtX2Qob3V0MSwgZHN0LCAwLCAwKTsKLSAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIF9fbHN4X3Zz
dGVsbV9kKG91dDEsIGRzdCwgMCwgMSk7Ci0gIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gIGlmICho
ZWlnaHQgPT0gMTYpIHsKLSAgICB1aW50OF90ICpkc3RfdG1wMSA9IGRzdCArIGRzdF9zdHJpZGU0
OwotCi0gICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92
bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwotICAg
IHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICAgIHNyYyArPSBzcmNfc3Ry
aWRlNDsKLQotICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrLCBz
cmMxLCBzcmMxLCBtYXNrLCBzcmMyLCBzcmMyLAotICAgICAgICAgICAgICBtYXNrLCBzcmMzLCBz
cmMzLCBtYXNrLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hf
dmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwgZmlsdDAsIHZlYzIsIGZpbHQwLCB2ZWMzLAot
ICAgICAgICAgICAgICBmaWx0MCwgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7Ci0gICAgRFVQMl9B
UkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHZlYzEsIHZlYzAsIEZJTFRFUl9CSVRTLCB2ZWMzLCB2
ZWMyLAotICAgICAgICAgICAgICBGSUxURVJfQklUUywgb3V0MCwgb3V0MSk7Ci0KLSAgICBfX2xz
eF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRz
dCArIGRzdF9zdHJpZGUsIDAsIDEpOwotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDEsIGRzdCArIGRz
dF9zdHJpZGUyLCAwLCAwKTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QgKyBkc3Rfc3Ry
aWRlMywgMCwgMSk7Ci0KLSAgICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMSwg
c3JjMik7Ci0gICAgc3JjMyA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3Jj
ICs9IHNyY19zdHJpZGU0OwotCi0gICAgRFVQNF9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNy
YzAsIG1hc2ssIHNyYzEsIHNyYzEsIG1hc2ssIHNyYzIsIHNyYzIsCi0gICAgICAgICAgICAgIG1h
c2ssIHNyYzMsIHNyYzMsIG1hc2ssIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMpOwotICAgIERVUDRf
QVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVjMiwgZmls
dDAsIHZlYzMsCi0gICAgICAgICAgICAgIGZpbHQwLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsK
LSAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgdmVjMSwgdmVjMCwgRklMVEVSX0JJ
VFMsIHZlYzMsIHZlYzIsCi0gICAgICAgICAgICAgIEZJTFRFUl9CSVRTLCBvdXQwLCBvdXQxKTsK
LQotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdF90bXAxLCAwLCAwKTsKLSAgICBfX2xzeF92
c3RlbG1fZChvdXQwLCBkc3RfdG1wMSArIGRzdF9zdHJpZGUsIDAsIDEpOwotICAgIF9fbHN4X3Zz
dGVsbV9kKG91dDEsIGRzdF90bXAxICsgZHN0X3N0cmlkZTIsIDAsIDApOwotICAgIF9fbHN4X3Zz
dGVsbV9kKG91dDEsIGRzdF90bXAxICsgZHN0X3N0cmlkZTMsIDAsIDEpOwotICB9Ci19Ci0KLXN0
YXRpYyB2b2lkIGNvbW1vbl9oel8ydF84d19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRz
dCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgaWYgKGhlaWdodCA9PSA0KSB7Ci0g
ICAgY29tbW9uX2h6XzJ0Xzh4NF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUs
IGZpbHRlcik7Ci0gIH0gZWxzZSB7Ci0gICAgY29tbW9uX2h6XzJ0Xzh4OG11bHRfbHN4KHNyYywg
c3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIsIGhlaWdodCk7Ci0gIH0KLX0KLQot
c3RhdGljIHZvaWQgY29tbW9uX2h6XzJ0XzE2d19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQz
Ml90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90
ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJfdCBsb29wX2Nu
dCA9IChoZWlnaHQgPj4gMikgLSAxOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMs
IHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIG1hc2s7Ci0gIF9fbTEyOGkgZmlsdDAsIHZlYzAsIHZl
YzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7Ci0gIF9fbTEyOGkgb3V0MCwg
b3V0MSwgb3V0Miwgb3V0Mywgb3V0NCwgb3V0NSwgb3V0Niwgb3V0NzsKLQotICBpbnQzMl90IHNy
Y19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3Jj
X3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlk
ZTIgPDwgMTsKLQotICB1aW50OF90ICpzcmNfdG1wMSA9IHNyYyArIDg7Ci0gIG1hc2sgPSBfX2xz
eF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0gIGZpbHQwID0gX19sc3hfdmxkcmVwbF9oKGZp
bHRlciwgMCk7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVAyX0FSRzIoX19s
c3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMyLCBzcmM0KTsK
LSAgc3JjNiA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlMyk7Ci0gIHNyYzEgPSBfX2xzeF92
bGQoc3JjX3RtcDEsIDApOwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcDEsIHNyY19z
dHJpZGUsIHNyY190bXAxLCBzcmNfc3RyaWRlMiwgc3JjMywKLSAgICAgICAgICAgIHNyYzUpOwot
ICBzcmM3ID0gX19sc3hfdmxkeChzcmNfdG1wMSwgc3JjX3N0cmlkZTMpOwotICBzcmMgKz0gc3Jj
X3N0cmlkZTQ7Ci0KLSAgRFVQNF9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1hc2ss
IHNyYzEsIHNyYzEsIG1hc2ssIHNyYzIsIHNyYzIsIG1hc2ssCi0gICAgICAgICAgICBzcmMzLCBz
cmMzLCBtYXNrLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkczKF9fbHN4X3Zz
aHVmX2IsIHNyYzQsIHNyYzQsIG1hc2ssIHNyYzUsIHNyYzUsIG1hc2ssIHNyYzYsIHNyYzYsIG1h
c2ssCi0gICAgICAgICAgICBzcmM3LCBzcmM3LCBtYXNrLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQw
LCB2ZWMyLCBmaWx0MCwgdmVjMywgZmlsdDAsCi0gICAgICAgICAgICBvdXQwLCBvdXQxLCBvdXQy
LCBvdXQzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjNCwgZmlsdDAsIHZlYzUs
IGZpbHQwLCB2ZWM2LCBmaWx0MCwgdmVjNywgZmlsdDAsCi0gICAgICAgICAgICBvdXQ0LCBvdXQ1
LCBvdXQ2LCBvdXQ3KTsKLSAgRFVQNF9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIG91dDEsIG91
dDAsIEZJTFRFUl9CSVRTLCBvdXQzLCBvdXQyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMsIG91
dDUsIG91dDQsIEZJTFRFUl9CSVRTLCBvdXQ3LCBvdXQ2LCBGSUxURVJfQklUUywgb3V0MCwKLSAg
ICAgICAgICAgIG91dDEsIG91dDIsIG91dDMpOwotCi0gIF9fbHN4X3ZzdChvdXQwLCBkc3QsIDAp
OwotICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgX19sc3hfdnN0KG91dDEsIGRzdCwgMCk7Ci0gIGRz
dCArPSBkc3Rfc3RyaWRlOwotICBfX2xzeF92c3Qob3V0MiwgZHN0LCAwKTsKLSAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0gIF9fbHN4X3ZzdChvdXQzLCBkc3QsIDApOwotICBkc3QgKz0gZHN0X3N0cmlk
ZTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBzcmNfdG1wMSArPSBzcmNfc3RyaWRl
NDsKLQotICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hf
dmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMyLCBzcmM0KTsKLSAg
ICBzcmM2ID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUzKTsKLQotICAgIHNyYzEgPSBfX2xz
eF92bGQoc3JjX3RtcDEsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wMSwg
c3JjX3N0cmlkZSwgc3JjX3RtcDEsIHNyY19zdHJpZGUyLCBzcmMzLAotICAgICAgICAgICAgICBz
cmM1KTsKLSAgICBzcmM3ID0gX19sc3hfdmxkeChzcmNfdG1wMSwgc3JjX3N0cmlkZTMpOwotICAg
IHNyYyArPSBzcmNfc3RyaWRlNDsKLQotICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMw
LCBzcmMwLCBtYXNrLCBzcmMxLCBzcmMxLCBtYXNrLCBzcmMyLCBzcmMyLAotICAgICAgICAgICAg
ICBtYXNrLCBzcmMzLCBzcmMzLCBtYXNrLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgICBE
VVA0X0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNCwgc3JjNCwgbWFzaywgc3JjNSwgc3JjNSwgbWFz
aywgc3JjNiwgc3JjNiwKLSAgICAgICAgICAgICAgbWFzaywgc3JjNywgc3JjNywgbWFzaywgdmVj
NCwgdmVjNSwgdmVjNiwgdmVjNyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVj
MCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBmaWx0MCwgdmVjMywKLSAgICAgICAgICAgICAg
ZmlsdDAsIG91dDAsIG91dDEsIG91dDIsIG91dDMpOwotICAgIERVUDRfQVJHMihfX2xzeF92ZHAy
X2hfYnUsIHZlYzQsIGZpbHQwLCB2ZWM1LCBmaWx0MCwgdmVjNiwgZmlsdDAsIHZlYzcsCi0gICAg
ICAgICAgICAgIGZpbHQwLCBvdXQ0LCBvdXQ1LCBvdXQ2LCBvdXQ3KTsKLSAgICBEVVA0X0FSRzMo
X19sc3hfdnNzcmFybmlfYnVfaCwgb3V0MSwgb3V0MCwgRklMVEVSX0JJVFMsIG91dDMsIG91dDIs
Ci0gICAgICAgICAgICAgIEZJTFRFUl9CSVRTLCBvdXQ1LCBvdXQ0LCBGSUxURVJfQklUUywgb3V0
Nywgb3V0NiwgRklMVEVSX0JJVFMsCi0gICAgICAgICAgICAgIG91dDAsIG91dDEsIG91dDIsIG91
dDMpOwotCi0gICAgX19sc3hfdnN0KG91dDAsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJp
ZGU7Ci0gICAgX19sc3hfdnN0KG91dDEsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gICAgX19sc3hfdnN0KG91dDIsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0g
ICAgX19sc3hfdnN0KG91dDMsIGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gIH0K
LX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h6XzJ0XzMyd19sc3goY29uc3QgdWludDhfdCAqc3Jj
LCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJfdCBs
b29wX2NudCA9IChoZWlnaHQgPj4gMSk7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3Jj
Mywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgbWFzazsKLSAgX19tMTI4aSBmaWx0MCwgdmVjMCwg
dmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNzsKLSAgX19tMTI4aSBvdXQw
LCBvdXQxLCBvdXQyLCBvdXQzLCBvdXQ0LCBvdXQ1LCBvdXQ2LCBvdXQ3OwotICBfX20xMjhpIHNo
dWZmID0geyAweDBGMEUwRDBDMEIwQTA5MDgsIDB4MTcxNjE1MTQxMzEyMTExMCB9OwotCi0gIG1h
c2sgPSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0gIC8qIHJlYXJyYW5naW5nIGZp
bHRlciAqLwotICBmaWx0MCA9IF9fbHN4X3ZsZHJlcGxfaChmaWx0ZXIsIDApOwotCi0gIGZvciAo
OyBsb29wX2NudC0tOykgewotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywgMCwgc3JjLCAx
Niwgc3JjMCwgc3JjMik7Ci0gICAgc3JjMyA9IF9fbHN4X3ZsZChzcmMsIDI0KTsKLSAgICBzcmMx
ID0gX19sc3hfdnNodWZfYihzcmMyLCBzcmMwLCBzaHVmZik7Ci0gICAgc3JjICs9IHNyY19zdHJp
ZGU7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmM0LCBzcmM2
KTsKLSAgICBzcmM3ID0gX19sc3hfdmxkKHNyYywgMjQpOwotICAgIHNyYzUgPSBfX2xzeF92c2h1
Zl9iKHNyYzYsIHNyYzQsIHNodWZmKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICAgIERV
UDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrLCBzcmMxLCBzcmMxLCBtYXNr
LCBzcmMyLCBzcmMyLAotICAgICAgICAgICAgICBtYXNrLCBzcmMzLCBzcmMzLCBtYXNrLCB2ZWMw
LCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgICBEVVA0X0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNCwg
c3JjNCwgbWFzaywgc3JjNSwgc3JjNSwgbWFzaywgc3JjNiwgc3JjNiwKLSAgICAgICAgICAgICAg
bWFzaywgc3JjNywgc3JjNywgbWFzaywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNyk7Ci0gICAgRFVQ
NF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB2ZWMyLCBm
aWx0MCwgdmVjMywKLSAgICAgICAgICAgICAgZmlsdDAsIG91dDAsIG91dDEsIG91dDIsIG91dDMp
OwotICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzQsIGZpbHQwLCB2ZWM1LCBmaWx0
MCwgdmVjNiwgZmlsdDAsIHZlYzcsCi0gICAgICAgICAgICAgIGZpbHQwLCBvdXQ0LCBvdXQ1LCBv
dXQ2LCBvdXQ3KTsKLSAgICBEVVA0X0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgb3V0MSwgb3V0
MCwgRklMVEVSX0JJVFMsIG91dDMsIG91dDIsCi0gICAgICAgICAgICAgIEZJTFRFUl9CSVRTLCBv
dXQ1LCBvdXQ0LCBGSUxURVJfQklUUywgb3V0Nywgb3V0NiwgRklMVEVSX0JJVFMsCi0gICAgICAg
ICAgICAgIG91dDAsIG91dDEsIG91dDIsIG91dDMpOwotCi0gICAgX19sc3hfdnN0KG91dDAsIGRz
dCwgMCk7Ci0gICAgX19sc3hfdnN0KG91dDEsIGRzdCwgMTYpOwotICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotCi0gICAgX19sc3hfdnN0KG91dDIsIGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0KG91dDMs
IGRzdCwgMTYpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lk
IGNvbW1vbl9oel8ydF82NHdfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQz
Ml90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3Qg
KmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQ7
Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3Jj
NywgbWFzazsKLSAgX19tMTI4aSBmaWx0MCwgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwg
dmVjNSwgdmVjNiwgdmVjNzsKLSAgX19tMTI4aSBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzLCBvdXQ0
LCBvdXQ1LCBvdXQ2LCBvdXQ3OwotICBfX20xMjhpIHNodWZmID0geyAweDBGMEUwRDBDMEIwQTA5
MDgsIDB4MTcxNjE1MTQxMzEyMTExMCB9OwotCi0gIG1hc2sgPSBfX2xzeF92bGQobWNfZmlsdF9t
YXNrX2FyciwgMCk7Ci0KLSAgLyogcmVhcnJhbmdpbmcgZmlsdGVyICovCi0gIGZpbHQwID0gX19s
c3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAg
RFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMsIDMyLCBzcmMsIDQ4LCBz
cmMwLCBzcmMyLCBzcmM0LAotICAgICAgICAgICAgICBzcmM2KTsKLSAgICBzcmM3ID0gX19sc3hf
dmxkKHNyYywgNTYpOwotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMyLCBzcmMwLCBz
aHVmZiwgc3JjNCwgc3JjMiwgc2h1ZmYsIHNyYzEsIHNyYzMpOwotICAgIHNyYzUgPSBfX2xzeF92
c2h1Zl9iKHNyYzYsIHNyYzQsIHNodWZmKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLQotICAg
IERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrLCBzcmMxLCBzcmMxLCBt
YXNrLCBzcmMyLCBzcmMyLAotICAgICAgICAgICAgICBtYXNrLCBzcmMzLCBzcmMzLCBtYXNrLCB2
ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgICBEVVA0X0FSRzMoX19sc3hfdnNodWZfYiwgc3Jj
NCwgc3JjNCwgbWFzaywgc3JjNSwgc3JjNSwgbWFzaywgc3JjNiwgc3JjNiwKLSAgICAgICAgICAg
ICAgbWFzaywgc3JjNywgc3JjNywgbWFzaywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNyk7Ci0KLSAg
ICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwgZmlsdDAsIHZl
YzIsIGZpbHQwLCB2ZWMzLAotICAgICAgICAgICAgICBmaWx0MCwgb3V0MCwgb3V0MSwgb3V0Miwg
b3V0Myk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjNCwgZmlsdDAsIHZlYzUs
IGZpbHQwLCB2ZWM2LCBmaWx0MCwgdmVjNywKLSAgICAgICAgICAgICAgZmlsdDAsIG91dDQsIG91
dDUsIG91dDYsIG91dDcpOwotICAgIERVUDRfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCBvdXQx
LCBvdXQwLCBGSUxURVJfQklUUywgb3V0Mywgb3V0MiwKLSAgICAgICAgICAgICAgRklMVEVSX0JJ
VFMsIG91dDUsIG91dDQsIEZJTFRFUl9CSVRTLCBvdXQ3LCBvdXQ2LCBGSUxURVJfQklUUywKLSAg
ICAgICAgICAgICAgb3V0MCwgb3V0MSwgb3V0Miwgb3V0Myk7Ci0KLSAgICBfX2xzeF92c3Qob3V0
MCwgZHN0LCAwKTsKLSAgICBfX2xzeF92c3Qob3V0MSwgZHN0LCAxNik7Ci0gICAgX19sc3hfdnN0
KG91dDIsIGRzdCwgMzIpOwotICAgIF9fbHN4X3ZzdChvdXQzLCBkc3QsIDQ4KTsKLSAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLSAgfQotfQotCi12b2lkIHZweF9jb252b2x2ZThfaG9yaXpfbHN4KGNv
bnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCAqZmlsdGVyLCBpbnQgeDBf
cTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4X3N0ZXBfcTQsIGludCB5MF9x
NCwgaW50IHlfc3RlcF9xNCwgaW50IHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoKSB7Ci0gIGNvbnN0IGludDE2X3QgKmNvbnN0IGZpbHRlcl94ID0gZmlsdGVyW3gwX3E0XTsK
LSAgaW50OF90IGNudCwgZmlsdF9ob3JbOF07Ci0KLSAgYXNzZXJ0KHhfc3RlcF9xNCA9PSAxNik7
Ci0gIGFzc2VydCgoKGNvbnN0IGludDMyX3QgKilmaWx0ZXJfeClbMV0gIT0gMHg4MDAwMDApOwot
Ci0gIGZvciAoY250ID0gMDsgY250IDwgODsgKytjbnQpIHsKLSAgICBmaWx0X2hvcltjbnRdID0g
ZmlsdGVyX3hbY250XTsKLSAgfQotICBpZiAodnB4X2dldF9maWx0ZXJfdGFwcyhmaWx0ZXJfeCkg
PT0gMikgewotICAgIHN3aXRjaCAodykgewotICAgICAgY2FzZSA0OgotICAgICAgICBjb21tb25f
aHpfMnRfNHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LCAoaW50MzJfdClkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaWx0X2hvclszXSwgaCk7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA4OgotICAgICAgICBjb21tb25faHpfMnRfOHdfbHN4
KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LCAoaW50MzJfdClkc3Rfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZmaWx0X2hvclszXSwgaCk7Ci0gICAgICAgIGJyZWFr
OwotICAgICAgY2FzZSAxNjoKLSAgICAgICAgY29tbW9uX2h6XzJ0XzE2d19sc3goc3JjLCAoaW50
MzJfdClzcmNfc3RyaWRlLCBkc3QsIChpbnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZmaWx0X2hvclszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAg
Y2FzZSAzMjoKLSAgICAgICAgY29tbW9uX2h6XzJ0XzMyd19sc3goc3JjLCAoaW50MzJfdClzcmNf
c3RyaWRlLCBkc3QsIChpbnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZmaWx0X2hvclszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA2NDoK
LSAgICAgICAgY29tbW9uX2h6XzJ0XzY0d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBk
c3QsIChpbnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZm
aWx0X2hvclszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgZGVmYXVsdDoKLSAgICAgICAg
dnB4X2NvbnZvbHZlOF9ob3Jpel9jKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBm
aWx0ZXIsIHgwX3E0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeF9zdGVwX3E0LCB5
MF9xNCwgeV9zdGVwX3E0LCB3LCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICB9IGVsc2Ug
ewotICAgIHN3aXRjaCAodykgewotICAgICAgY2FzZSA0OgotICAgICAgICBjb21tb25faHpfOHRf
NHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LCAoaW50MzJfdClkc3Rfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaG9yLCBoKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICBjYXNlIDg6Ci0gICAgICAgIGNvbW1vbl9oel84dF84d19sc3goc3JjLCAoaW50
MzJfdClzcmNfc3RyaWRlLCBkc3QsIChpbnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmlsdF9ob3IsIGgpOwotICAgICAgICBicmVhazsKLQotICAgICAgY2Fz
ZSAxNjoKLSAgICAgICAgY29tbW9uX2h6Xzh0XzE2d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3Ry
aWRlLCBkc3QsIChpbnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHRfaG9yLCBoKTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICAgIGNhc2UgMzI6Ci0gICAg
ICAgIGNvbW1vbl9oel84dF8zMndfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LCAo
aW50MzJfdClkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2hv
ciwgaCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgICBjYXNlIDY0OgotICAgICAgICBjb21tb25f
aHpfOHRfNjR3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwgKGludDMyX3QpZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9ob3IsIGgpOwotICAg
ICAgICBicmVhazsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIHZweF9jb252b2x2ZThfaG9yaXpf
YyhzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyLCB4MF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHhfc3RlcF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwgdywg
aCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmU4X2xzeC5jIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmU4X2xzeC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5ZjVjZDZjZmU5MzEuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfbHN4LmMKKysrIC9kZXYvbnVsbApAQCAtMSw2OTcg
KzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRo
b3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJl
ZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBi
ZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2pl
Y3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5j
bHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhfZHNwL2xvb25nYXJjaC92cHhf
Y29udm9sdmVfbHN4LmgiCi0KLXN0YXRpYyBjb25zdCB1aW50OF90IG1jX2ZpbHRfbWFza19hcnJb
MTYgKiAzXSA9IHsKLSAgLyogOCB3aWR0aCBjYXNlcyAqLwotICAwLCAxLCAxLCAyLCAyLCAzLCAz
LCA0LCA0LCA1LCA1LCA2LCA2LCA3LCA3LCA4LAotICAvKiA0IHdpZHRoIGNhc2VzICovCi0gIDAs
IDEsIDEsIDIsIDIsIDMsIDMsIDQsIDE2LCAxNywgMTcsIDE4LCAxOCwgMTksIDE5LCAyMCwKLSAg
LyogNCB3aWR0aCBjYXNlcyAqLwotICA4LCA5LCA5LCAxMCwgMTAsIDExLCAxMSwgMTIsIDI0LCAy
NSwgMjUsIDI2LCAyNiwgMjcsIDI3LCAyOAotfTsKLQotc3RhdGljIHZvaWQgY29tbW9uX2h2Xzho
dF84dnRfNHdfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAq
ZmlsdGVyX2hvcml6LCBpbnQ4X3QgKmZpbHRlcl92ZXJ0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250ID0g
KGhlaWdodCA+PiAyKTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBz
cmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsKLSAgX19tMTI4aSBmaWx0X2h6MCwg
ZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0X2h6MzsKLSAgX19tMTI4aSBmaWx0X3Z0MCwgZmlsdF92
dDEsIGZpbHRfdnQyLCBmaWx0X3Z0MzsKLSAgX19tMTI4aSBtYXNrMCwgbWFzazEsIG1hc2syLCBt
YXNrMzsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0bXA0LCB0bXA1OwotICBf
X20xMjhpIG91dDAsIG91dDE7Ci0gIF9fbTEyOGkgc2h1ZmYgPSB7IDB4MEYwRTBEMEMwQjBBMDkw
OCwgMHgxNzE2MTUxNDEzMTIxMTEwIH07Ci0KLSAgbWFzazAgPSBfX2xzeF92bGQobWNfZmlsdF9t
YXNrX2FyciwgMTYpOwotICBzcmMgLT0gKDMgKyAzICogc3JjX3N0cmlkZSk7Ci0gIERVUDRfQVJH
MihfX2xzeF92bGRyZXBsX2gsIGZpbHRlcl9ob3JpeiwgMCwgZmlsdGVyX2hvcml6LCAyLCBmaWx0
ZXJfaG9yaXosIDQsCi0gICAgICAgICAgICBmaWx0ZXJfaG9yaXosIDYsIGZpbHRfaHowLCBmaWx0
X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZhZGRpX2J1LCBt
YXNrMCwgMiwgbWFzazAsIDQsIG1hc2sxLCBtYXNrMik7Ci0gIG1hc2szID0gX19sc3hfdmFkZGlf
YnUobWFzazAsIDYpOwotCi0gIExTWF9MRF80KHNyYywgc3JjX3N0cmlkZSwgc3JjMCwgc3JjMSwg
c3JjMiwgc3JjMyk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotICBzcmM0ID0gX19sc3hfdmxkKHNy
YywgMCk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotICBzcmM1ID0gX19sc3hfdmxkKHNyYywgMCk7
Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotICBzcmM2ID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIHNy
YyArPSBzcmNfc3RyaWRlOwotICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjMCwgMTI4LCBz
cmMxLCAxMjgsIHNyYzIsIDEyOCwgc3JjMywgMTI4LCBzcmMwLAotICAgICAgICAgICAgc3JjMSwg
c3JjMiwgc3JjMyk7Ci0gIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCBzcmM0LCAxMjgsIHNyYzUs
IDEyOCwgc3JjNCwgc3JjNSk7Ci0gIHNyYzYgPSBfX2xzeF92eG9yaV9iKHNyYzYsIDEyOCk7Ci0K
LSAgdG1wMCA9IGhvcml6Xzh0YXBfZmlsdChzcmMwLCBzcmMxLCBtYXNrMCwgbWFzazEsIG1hc2sy
LCBtYXNrMywgZmlsdF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZp
bHRfaHoyLCBmaWx0X2h6Myk7Ci0gIHRtcDIgPSBob3Jpel84dGFwX2ZpbHQoc3JjMiwgc3JjMywg
bWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICB0bXA0ID0gaG9yaXpfOHRh
cF9maWx0KHNyYzQsIHNyYzUsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsK
LSAgdG1wNSA9IGhvcml6Xzh0YXBfZmlsdChzcmM1LCBzcmM2LCBtYXNrMCwgbWFzazEsIG1hc2sy
LCBtYXNrMywgZmlsdF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZp
bHRfaHoyLCBmaWx0X2h6Myk7Ci0gIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCB0bXAyLCB0bXAw
LCBzaHVmZiwgdG1wNCwgdG1wMiwgc2h1ZmYsIHRtcDEsIHRtcDMpOwotICBEVVA0X0FSRzIoX19s
c3hfdmxkcmVwbF9oLCBmaWx0ZXJfdmVydCwgMCwgZmlsdGVyX3ZlcnQsIDIsIGZpbHRlcl92ZXJ0
LCA0LAotICAgICAgICAgICAgZmlsdGVyX3ZlcnQsIDYsIGZpbHRfdnQwLCBmaWx0X3Z0MSwgZmls
dF92dDIsIGZpbHRfdnQzKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZwYWNrZXZfYiwgdG1wMSwgdG1w
MCwgdG1wMywgdG1wMiwgdG1wMCwgdG1wMSk7Ci0gIHRtcDIgPSBfX2xzeF92cGFja2V2X2IodG1w
NSwgdG1wNCk7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgTFNYX0xEXzQoc3JjLCBz
cmNfc3RyaWRlLCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMCk7Ci0gICAgc3JjICs9IHNyY19zdHJp
ZGU7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzcsIDEyOCwgc3JjOCwgMTI4LCBz
cmM5LCAxMjgsIHNyYzEwLCAxMjgsIHNyYzcsCi0gICAgICAgICAgICAgIHNyYzgsIHNyYzksIHNy
YzEwKTsKLSAgICB0bXAzID0gaG9yaXpfOHRhcF9maWx0KHNyYzcsIHNyYzgsIG1hc2swLCBtYXNr
MSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp
bHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICAgIHRtcDQgPSBfX2xzeF92c2h1Zl9iKHRt
cDMsIHRtcDUsIHNodWZmKTsKLSAgICB0bXA0ID0gX19sc3hfdnBhY2tldl9iKHRtcDMsIHRtcDQp
OwotICAgIG91dDAgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHRtcDAsIHRtcDEsIHRtcDIsIHRtcDQs
IGZpbHRfdnQwLCBmaWx0X3Z0MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0
X3Z0MiwgZmlsdF92dDMpOwotICAgIHNyYzEgPSBob3Jpel84dGFwX2ZpbHQoc3JjOSwgc3JjMTAs
IG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICAgIHNyYzAgPSBfX2xz
eF92c2h1Zl9iKHNyYzEsIHRtcDMsIHNodWZmKTsKLSAgICBzcmMwID0gX19sc3hfdnBhY2tldl9i
KHNyYzEsIHNyYzApOwotICAgIG91dDEgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHRtcDEsIHRtcDIs
IHRtcDQsIHNyYzAsIGZpbHRfdnQwLCBmaWx0X3Z0MSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaWx0X3Z0MiwgZmlsdF92dDMpOwotICAgIG91dDAgPSBfX2xzeF92c3NyYXJuaV9i
X2gob3V0MSwgb3V0MCwgNyk7Ci0gICAgb3V0MCA9IF9fbHN4X3Z4b3JpX2Iob3V0MCwgMTI4KTsK
LSAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAyKTsKLSAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAsIDMpOwotICAg
IGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gICAgdG1wNSA9IHNyYzE7Ci0gICAgdG1wMCA9IHRtcDI7
Ci0gICAgdG1wMSA9IHRtcDQ7Ci0gICAgdG1wMiA9IHNyYzA7Ci0gIH0KLX0KLQotc3RhdGljIHZv
aWQgY29tbW9uX2h2XzhodF84dnRfOHdfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
KmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDhfdCAqZmlsdGVyX2hvcml6LCBpbnQ4X3QgKmZpbHRlcl92ZXJ0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQz
Ml90IGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMy
LCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsKLSAgX19t
MTI4aSBmaWx0X2h6MCwgZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0X2h6MzsKLSAgX19tMTI4aSBm
aWx0X3Z0MCwgZmlsdF92dDEsIGZpbHRfdnQyLCBmaWx0X3Z0MzsKLSAgX19tMTI4aSBtYXNrMCwg
bWFzazEsIG1hc2syLCBtYXNrMzsKLSAgX19tMTI4aSB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0
bXA0LCB0bXA1LCB0bXA2OwotICBfX20xMjhpIG91dDAsIG91dDE7Ci0KLSAgbWFzazAgPSBfX2xz
eF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0gIHNyYyAtPSAoMyArIDMgKiBzcmNfc3RyaWRl
KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyX2hvcml6LCAwLCBmaWx0ZXJf
aG9yaXosIDIsIGZpbHRlcl9ob3JpeiwgNCwKLSAgICAgICAgICAgIGZpbHRlcl9ob3JpeiwgNiwg
ZmlsdF9oejAsIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwotICBEVVAyX0FSRzIoX19s
c3hfdmFkZGlfYnUsIG1hc2swLCAyLCBtYXNrMCwgNCwgbWFzazEsIG1hc2syKTsKLSAgbWFzazMg
PSBfX2xzeF92YWRkaV9idShtYXNrMCwgNik7Ci0KLSAgTFNYX0xEXzQoc3JjLCBzcmNfc3RyaWRl
LCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgc3JjICs9IHNyY19zdHJpZGU7Ci0gIHNyYzQg
PSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgc3JjICs9IHNyY19zdHJpZGU7Ci0gIHNyYzUgPSBfX2xz
eF92bGQoc3JjLCAwKTsKLSAgc3JjICs9IHNyY19zdHJpZGU7Ci0gIHNyYzYgPSBfX2xzeF92bGQo
c3JjLCAwKTsKLSAgc3JjICs9IHNyY19zdHJpZGU7Ci0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9i
LCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAg
ICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNy
YzQsIDEyOCwgc3JjNSwgMTI4LCBzcmM0LCBzcmM1KTsKLSAgc3JjNiA9IF9fbHN4X3Z4b3JpX2Io
c3JjNiwgMTI4KTsKLQotICBzcmMwID0gaG9yaXpfOHRhcF9maWx0KHNyYzAsIHNyYzAsIG1hc2sw
LCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgc3JjMSA9IGhvcml6Xzh0YXBfZmls
dChzcmMxLCBzcmMxLCBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMywgZmlsdF9oejAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0X2h6Myk7Ci0gIHNy
YzIgPSBob3Jpel84dGFwX2ZpbHQoc3JjMiwgc3JjMiwgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFz
azMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6
MiwgZmlsdF9oejMpOwotICBzcmMzID0gaG9yaXpfOHRhcF9maWx0KHNyYzMsIHNyYzMsIG1hc2sw
LCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgc3JjNCA9IGhvcml6Xzh0YXBfZmls
dChzcmM0LCBzcmM0LCBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMywgZmlsdF9oejAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0X2h6Myk7Ci0gIHNy
YzUgPSBob3Jpel84dGFwX2ZpbHQoc3JjNSwgc3JjNSwgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFz
azMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6
MiwgZmlsdF9oejMpOwotICBzcmM2ID0gaG9yaXpfOHRhcF9maWx0KHNyYzYsIHNyYzYsIG1hc2sw
LCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxk
cmVwbF9oLCBmaWx0ZXJfdmVydCwgMCwgZmlsdGVyX3ZlcnQsIDIsIGZpbHRlcl92ZXJ0LCA0LAot
ICAgICAgICAgICAgZmlsdGVyX3ZlcnQsIDYsIGZpbHRfdnQwLCBmaWx0X3Z0MSwgZmlsdF92dDIs
IGZpbHRfdnQzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZwYWNrZXZfYiwgc3JjMSwgc3JjMCwgc3Jj
Mywgc3JjMiwgc3JjNSwgc3JjNCwgc3JjMiwgc3JjMSwKLSAgICAgICAgICAgIHRtcDAsIHRtcDEs
IHRtcDIsIHRtcDQpOwotICBEVVAyX0FSRzIoX19sc3hfdnBhY2tldl9iLCBzcmM0LCBzcmMzLCBz
cmM2LCBzcmM1LCB0bXA1LCB0bXA2KTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBM
U1hfTERfNChzcmMsIHNyY19zdHJpZGUsIHNyYzcsIHNyYzgsIHNyYzksIHNyYzEwKTsKLSAgICBz
cmMgKz0gc3JjX3N0cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdnhvcmlfYiwgc3JjNywgMTI4
LCBzcmM4LCAxMjgsIHNyYzksIDEyOCwgc3JjMTAsIDEyOCwgc3JjNywKLSAgICAgICAgICAgICAg
c3JjOCwgc3JjOSwgc3JjMTApOwotICAgIHNyYzcgPSBob3Jpel84dGFwX2ZpbHQoc3JjNywgc3Jj
NywgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsdF9oejEsIGZpbHRfaHoyLCBmaWx0X2h6Myk7Ci0gICAgdG1wMyA9IF9f
bHN4X3ZwYWNrZXZfYihzcmM3LCBzcmM2KTsKLSAgICBvdXQwID0gZmlsdF84dGFwX2RwYWRkX3Nf
aCh0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCBmaWx0X3Z0MCwgZmlsdF92dDEsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdF92dDIsIGZpbHRfdnQzKTsKLSAgICBzcmM4ID0gaG9y
aXpfOHRhcF9maWx0KHNyYzgsIHNyYzgsIG1hc2swLCBtYXNrMSwgbWFzazIsIG1hc2szLCBmaWx0
X2h6MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmls
dF9oejMpOwotICAgIHNyYzAgPSBfX2xzeF92cGFja2V2X2Ioc3JjOCwgc3JjNyk7Ci0gICAgb3V0
MSA9IGZpbHRfOHRhcF9kcGFkZF9zX2godG1wNCwgdG1wNSwgdG1wNiwgc3JjMCwgZmlsdF92dDAs
IGZpbHRfdnQxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfdnQyLCBmaWx0
X3Z0Myk7Ci0gICAgc3JjOSA9IGhvcml6Xzh0YXBfZmlsdChzcmM5LCBzcmM5LCBtYXNrMCwgbWFz
azEsIG1hc2syLCBtYXNrMywgZmlsdF9oejAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBm
aWx0X2h6MSwgZmlsdF9oejIsIGZpbHRfaHozKTsKLSAgICBzcmMxID0gX19sc3hfdnBhY2tldl9i
KHNyYzksIHNyYzgpOwotICAgIHNyYzMgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHRtcDEsIHRtcDIs
IHRtcDMsIHNyYzEsIGZpbHRfdnQwLCBmaWx0X3Z0MSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaWx0X3Z0MiwgZmlsdF92dDMpOwotICAgIHNyYzEwID0gaG9yaXpfOHRhcF9maWx0
KHNyYzEwLCBzcmMxMCwgbWFzazAsIG1hc2sxLCBtYXNrMiwgbWFzazMsIGZpbHRfaHowLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRfaHoxLCBmaWx0X2h6MiwgZmlsdF9oejMpOwot
ICAgIHNyYzIgPSBfX2xzeF92cGFja2V2X2Ioc3JjMTAsIHNyYzkpOwotICAgIHNyYzQgPSBmaWx0
Xzh0YXBfZHBhZGRfc19oKHRtcDUsIHRtcDYsIHNyYzAsIHNyYzIsIGZpbHRfdnQwLCBmaWx0X3Z0
MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X3Z0MiwgZmlsdF92dDMpOwot
ICAgIERVUDJfQVJHMyhfX2xzeF92c3NyYXJuaV9iX2gsIG91dDEsIG91dDAsIDcsIHNyYzQsIHNy
YzMsIDcsIG91dDAsIG91dDEpOwotICAgIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCBvdXQwLCAx
MjgsIG91dDEsIDEyOCwgb3V0MCwgb3V0MSk7Ci0gICAgX19sc3hfdnN0ZWxtX2Qob3V0MCwgZHN0
LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQw
LCBkc3QsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV9k
KG91dDEsIGRzdCwgMCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0
ZWxtX2Qob3V0MSwgZHN0LCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIHNy
YzYgPSBzcmMxMDsKLSAgICB0bXAwID0gdG1wMjsKLSAgICB0bXAxID0gdG1wMzsKLSAgICB0bXAy
ID0gc3JjMTsKLSAgICB0bXA0ID0gdG1wNjsKLSAgICB0bXA1ID0gc3JjMDsKLSAgICB0bXA2ID0g
c3JjMjsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHZfOGh0Xzh2dF8xNndfbHN4KGNv
bnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXJfaG9yaXos
IGludDhfdCAqZmlsdGVyX3ZlcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGNvbW1vbl9odl84aHRfOHZ0Xzh3X2xzeChzcmMsIHNy
Y19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyX2hvcml6LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsdGVyX3ZlcnQsIGhlaWdodCk7Ci0gIHNyYyArPSA4OwotICBkc3QgKz0g
ODsKLQotICBjb21tb25faHZfOGh0Xzh2dF84d19sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRz
dF9zdHJpZGUsIGZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
cl92ZXJ0LCBoZWlnaHQpOwotICBzcmMgKz0gODsKLSAgZHN0ICs9IDg7Ci19Ci0KLXN0YXRpYyB2
b2lkIGNvbW1vbl9odl84aHRfOHZ0XzMyd19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwgaW50OF90ICpmaWx0ZXJfdmVydCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHsKLSAg
aW50MzJfdCBtdWx0aXBsZThfY250OwotICBmb3IgKG11bHRpcGxlOF9jbnQgPSA0OyBtdWx0aXBs
ZThfY250LS07KSB7Ci0gICAgY29tbW9uX2h2XzhodF84dnRfOHdfbHN4KHNyYywgc3JjX3N0cmlk
ZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXJfaG9yaXosCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRlcl92ZXJ0LCBoZWlnaHQpOwotICAgIHNyYyArPSA4OwotICAgIGRzdCArPSA4
OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl84aHRfOHZ0XzY0d19sc3goY29uc3Qg
dWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwgaW50
OF90ICpmaWx0ZXJfdmVydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MzJfdCBoZWlnaHQpIHsKLSAgaW50MzJfdCBtdWx0aXBsZThfY250OwotICBmb3IgKG11bHRp
cGxlOF9jbnQgPSA4OyBtdWx0aXBsZThfY250LS07KSB7Ci0gICAgY29tbW9uX2h2XzhodF84dnRf
OHdfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXJfaG9yaXosCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl92ZXJ0LCBoZWlnaHQpOwotICAgIHNy
YyArPSA4OwotICAgIGRzdCArPSA4OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl8y
aHRfMnZ0XzR4NF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJf
dCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4
X3QgKmZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50OF90ICpmaWx0ZXJfdmVydCkgewotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMs
IHNyYzQsIG1hc2s7Ci0gIF9fbTEyOGkgZmlsdF92dCwgZmlsdF9oeiwgdmVjMCwgdmVjMTsKLSAg
X19tMTI4aSBoel9vdXQwLCBoel9vdXQxLCBoel9vdXQyLCBoel9vdXQzLCBoel9vdXQ0LCB0bXAw
LCB0bXAxOwotICBfX20xMjhpIHNodWZmID0geyAweDBGMEUwRDBDMEIwQTA5MDgsIDB4MTcxNjE1
MTQxMzEyMTExMCB9OwotCi0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7
Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlICsgc3JjX3N0cmlkZTI7Ci0gIGlu
dDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotCi0gIGludDMyX3QgZHN0X3N0
cmlkZTIgPSBkc3Rfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3Ry
aWRlMiArIGRzdF9zdHJpZGU7Ci0gIG1hc2sgPSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2Fyciwg
MTYpOwotCi0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBmaWx0X2h6ID0gX19sc3hfdmxk
cmVwbF9oKGZpbHRlcl9ob3JpeiwgMCk7Ci0gIGZpbHRfdnQgPSBfX2xzeF92bGRyZXBsX2goZmls
dGVyX3ZlcnQsIDApOwotCi0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQNF9BUkcy
KF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNf
c3RyaWRlMywKLSAgICAgICAgICAgIHNyYywgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMs
IHNyYzQpOwotICBoel9vdXQwID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzAsIHNyYzEsIG1hc2ss
IGZpbHRfaHopOwotICBoel9vdXQyID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzIsIHNyYzMsIG1h
c2ssIGZpbHRfaHopOwotICBoel9vdXQ0ID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzQsIHNyYzQs
IG1hc2ssIGZpbHRfaHopOwotCi0gIGh6X291dDEgPSBfX2xzeF92c2h1Zl9iKGh6X291dDIsIGh6
X291dDAsIHNodWZmKTsKLSAgaHpfb3V0MyA9IF9fbHN4X3ZwaWNrb2RfZChoel9vdXQ0LCBoel9v
dXQyKTsKLQotICBEVVAyX0FSRzIoX19sc3hfdnBhY2tldl9iLCBoel9vdXQxLCBoel9vdXQwLCBo
el9vdXQzLCBoel9vdXQyLCB2ZWMwLCB2ZWMxKTsKLSAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9i
dSwgdmVjMCwgZmlsdF92dCwgdmVjMSwgZmlsdF92dCwgdG1wMCwgdG1wMSk7Ci0gIERVUDJfQVJH
MyhfX2xzeF92c3NyYXJuaV9idV9oLCB0bXAwLCB0bXAwLCBGSUxURVJfQklUUywgdG1wMSwgdG1w
MSwKLSAgICAgICAgICAgIEZJTFRFUl9CSVRTLCB0bXAwLCB0bXAxKTsKLQotICBfX2xzeF92c3Rl
bG1fdyh0bXAwLCBkc3QsIDAsIDApOwotICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QgKyBkc3Rf
c3RyaWRlLCAwLCAxKTsKLSAgX19sc3hfdnN0ZWxtX3codG1wMSwgZHN0ICsgZHN0X3N0cmlkZTIs
IDAsIDApOwotICBfX2xzeF92c3RlbG1fdyh0bXAxLCBkc3QgKyBkc3Rfc3RyaWRlMywgMCwgMSk7
Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl9odl8yaHRfMnZ0XzR4OF9sc3goY29uc3QgdWludDhf
dCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcl9ob3JpeiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXJfdmVydCkgewotICBf
X20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNy
YzgsIG1hc2s7Ci0gIF9fbTEyOGkgZmlsdF9oeiwgZmlsdF92dCwgdmVjMCwgdmVjMSwgdmVjMiwg
dmVjMzsKLSAgX19tMTI4aSBoel9vdXQwLCBoel9vdXQxLCBoel9vdXQyLCBoel9vdXQzLCBoel9v
dXQ0LCBoel9vdXQ1LCBoel9vdXQ2OwotICBfX20xMjhpIGh6X291dDcsIGh6X291dDgsIHZlYzQs
IHZlYzUsIHZlYzYsIHZlYzc7Ci0gIF9fbTEyOGkgc2h1ZmYgPSB7IDB4MEYwRTBEMEMwQjBBMDkw
OCwgMHgxNzE2MTUxNDEzMTIxMTEwIH07Ci0KLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19z
dHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0
cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0KLSAgaW50
MzJfdCBkc3Rfc3RyaWRlMiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRl
MyA9IGRzdF9zdHJpZGUyICsgZHN0X3N0cmlkZTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlNCA9IGRz
dF9zdHJpZGUyIDw8IDE7Ci0KLSAgbWFzayA9IF9fbHN4X3ZsZChtY19maWx0X21hc2tfYXJyLCAx
Nik7Ci0KLSAgLyogcmVhcnJhbmdpbmcgZmlsdGVyICovCi0gIERVUDJfQVJHMihfX2xzeF92bGRy
ZXBsX2gsIGZpbHRlcl9ob3JpeiwgMCwgZmlsdGVyX3ZlcnQsIDAsIGZpbHRfaHosIGZpbHRfdnQp
OwotCi0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgs
IHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNfc3RyaWRlMywKLSAg
ICAgICAgICAgIHNyYywgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQpOwotICBz
cmMgKz0gc3JjX3N0cmlkZTQ7Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJp
ZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYywgc3JjX3N0cmlkZTMsCi0gICAgICAgICAgICBzcmMs
IHNyY19zdHJpZGU0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4KTsKLSAgc3JjICs9IHNyY19zdHJp
ZGU0OwotCi0gIGh6X291dDAgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMCwgc3JjMSwgbWFzaywg
ZmlsdF9oeik7Ci0gIGh6X291dDIgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMiwgc3JjMywgbWFz
aywgZmlsdF9oeik7Ci0gIGh6X291dDQgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjNCwgc3JjNSwg
bWFzaywgZmlsdF9oeik7Ci0gIGh6X291dDYgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjNiwgc3Jj
NywgbWFzaywgZmlsdF9oeik7Ci0gIGh6X291dDggPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjOCwg
c3JjOCwgbWFzaywgZmlsdF9oeik7Ci0KLSAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIGh6X291
dDIsIGh6X291dDAsIHNodWZmLCBoel9vdXQ0LCBoel9vdXQyLCBzaHVmZiwKLSAgICAgICAgICAg
IGh6X291dDEsIGh6X291dDMpOwotICBoel9vdXQ1ID0gX19sc3hfdnNodWZfYihoel9vdXQ2LCBo
el9vdXQ0LCBzaHVmZik7Ci0gIGh6X291dDcgPSBfX2xzeF92cGlja29kX2QoaHpfb3V0OCwgaHpf
b3V0Nik7Ci0gIERVUDRfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291dDEsIGh6X291dDAsIGh6
X291dDMsIGh6X291dDIsIGh6X291dDUsCi0gICAgICAgICAgICBoel9vdXQ0LCBoel9vdXQ3LCBo
el9vdXQ2LCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJf
aF9idSwgdmVjMCwgZmlsdF92dCwgdmVjMSwgZmlsdF92dCwgdmVjMiwgZmlsdF92dCwgdmVjMywK
LSAgICAgICAgICAgIGZpbHRfdnQsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzcpOwotICBEVVA0X0FS
RzMoX19sc3hfdnNzcmFybmlfYnVfaCwgdmVjNCwgdmVjNCwgRklMVEVSX0JJVFMsIHZlYzUsIHZl
YzUsCi0gICAgICAgICAgICBGSUxURVJfQklUUywgdmVjNiwgdmVjNiwgRklMVEVSX0JJVFMsIHZl
YzcsIHZlYzcsIEZJTFRFUl9CSVRTLCB2ZWM0LAotICAgICAgICAgICAgdmVjNSwgdmVjNiwgdmVj
Nyk7Ci0KLSAgX19sc3hfdnN0ZWxtX3codmVjNCwgZHN0LCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxt
X3codmVjNCwgZHN0ICsgZHN0X3N0cmlkZSwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV93KHZlYzUs
IGRzdCArIGRzdF9zdHJpZGUyLCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX3codmVjNSwgZHN0ICsg
ZHN0X3N0cmlkZTMsIDAsIDEpOwotICBkc3QgKz0gZHN0X3N0cmlkZTQ7Ci0gIF9fbHN4X3ZzdGVs
bV93KHZlYzYsIGRzdCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV93KHZlYzYsIGRzdCArIGRzdF9z
dHJpZGUsIDAsIDEpOwotICBfX2xzeF92c3RlbG1fdyh2ZWM3LCBkc3QgKyBkc3Rfc3RyaWRlMiwg
MCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV93KHZlYzcsIGRzdCArIGRzdF9zdHJpZGUzLCAwLCAxKTsK
LX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h2XzJodF8ydnRfNHdfbHN4KGNvbnN0IHVpbnQ4X3Qg
KnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyX2hvcml6LCBpbnQ4X3QgKmZpbHRl
cl92ZXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVp
Z2h0KSB7Ci0gIGlmIChoZWlnaHQgPT0gNCkgewotICAgIGNvbW1vbl9odl8yaHRfMnZ0XzR4NF9s
c3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcl9ob3JpeiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl92ZXJ0KTsKLSAgfSBlbHNlIGlmIChoZWln
aHQgPT0gOCkgewotICAgIGNvbW1vbl9odl8yaHRfMnZ0XzR4OF9sc3goc3JjLCBzcmNfc3RyaWRl
LCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRlcl92ZXJ0KTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHZfMmh0
XzJ2dF84eDRfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIGludDMyX3Qg
ZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90
ICpmaWx0ZXJfaG9yaXosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dDhfdCAqZmlsdGVyX3ZlcnQpIHsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBz
cmM0LCBtYXNrOwotICBfX20xMjhpIGZpbHRfaHosIGZpbHRfdnQsIHZlYzAsIHZlYzEsIHZlYzIs
IHZlYzM7Ci0gIF9fbTEyOGkgaHpfb3V0MCwgaHpfb3V0MSwgdG1wMCwgdG1wMSwgdG1wMiwgdG1w
MzsKLQotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90
IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19z
dHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLQotICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0
X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rf
c3RyaWRlOwotCi0gIG1hc2sgPSBfX2xzeF92bGQobWNfZmlsdF9tYXNrX2FyciwgMCk7Ci0KLSAg
LyogcmVhcnJhbmdpbmcgZmlsdGVyICovCi0gIERVUDJfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZp
bHRlcl9ob3JpeiwgMCwgZmlsdGVyX3ZlcnQsIDAsIGZpbHRfaHosIGZpbHRfdnQpOwotCi0gIHNy
YzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3Jj
X3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNfc3RyaWRlMywKLSAgICAgICAgICAg
IHNyYywgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQpOwotCi0gIGh6X291dDAg
PSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMCwgc3JjMCwgbWFzaywgZmlsdF9oeik7Ci0gIGh6X291
dDEgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMSwgc3JjMSwgbWFzaywgZmlsdF9oeik7Ci0gIHZl
YzAgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MSwgaHpfb3V0MCk7Ci0gIHRtcDAgPSBfX2xzeF92
ZHAyX2hfYnUodmVjMCwgZmlsdF92dCk7Ci0KLSAgaHpfb3V0MCA9IGhvcml6XzJ0YXBfZmlsdF91
aChzcmMyLCBzcmMyLCBtYXNrLCBmaWx0X2h6KTsKLSAgdmVjMSA9IF9fbHN4X3ZwYWNrZXZfYiho
el9vdXQwLCBoel9vdXQxKTsKLSAgdG1wMSA9IF9fbHN4X3ZkcDJfaF9idSh2ZWMxLCBmaWx0X3Z0
KTsKLQotICBoel9vdXQxID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzMsIHNyYzMsIG1hc2ssIGZp
bHRfaHopOwotICB2ZWMyID0gX19sc3hfdnBhY2tldl9iKGh6X291dDEsIGh6X291dDApOwotICB0
bXAyID0gX19sc3hfdmRwMl9oX2J1KHZlYzIsIGZpbHRfdnQpOwotCi0gIGh6X291dDAgPSBob3Jp
el8ydGFwX2ZpbHRfdWgoc3JjNCwgc3JjNCwgbWFzaywgZmlsdF9oeik7Ci0gIHZlYzMgPSBfX2xz
eF92cGFja2V2X2IoaHpfb3V0MCwgaHpfb3V0MSk7Ci0gIHRtcDMgPSBfX2xzeF92ZHAyX2hfYnUo
dmVjMywgZmlsdF92dCk7Ci0KLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHRtcDEs
IHRtcDAsIEZJTFRFUl9CSVRTLCB0bXAzLCB0bXAyLAotICAgICAgICAgICAgRklMVEVSX0JJVFMs
IHRtcDAsIHRtcDEpOwotCi0gIF9fbHN4X3ZzdGVsbV9kKHRtcDAsIGRzdCwgMCwgMCk7Ci0gIF9f
bHN4X3ZzdGVsbV9kKHRtcDAsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwotICBfX2xzeF92c3Rl
bG1fZCh0bXAxLCBkc3QgKyBkc3Rfc3RyaWRlMiwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV9kKHRt
cDEsIGRzdCArIGRzdF9zdHJpZGUzLCAwLCAxKTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h2
XzJodF8ydnRfOHg4bXVsdF9sc3goY29uc3QgdWludDhfdCAqc3JjLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGRz
dF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4
X3QgKmZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDhfdCAqZmlsdGVyX3ZlcnQsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxv
b3BfY250ID0gKGhlaWdodCA+PiAzKTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMz
LCBzcmM0LCBtYXNrOwotICBfX20xMjhpIGZpbHRfaHosIGZpbHRfdnQsIHZlYzA7Ci0gIF9fbTEy
OGkgaHpfb3V0MCwgaHpfb3V0MSwgdG1wMSwgdG1wMiwgdG1wMywgdG1wNDsKLQotICBpbnQzMl90
IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0g
c3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0
cmlkZTIgPDwgMTsKLQotICBtYXNrID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwot
Ci0gIC8qIHJlYXJyYW5naW5nIGZpbHRlciAqLwotICBEVVAyX0FSRzIoX19sc3hfdmxkcmVwbF9o
LCBmaWx0ZXJfaG9yaXosIDAsIGZpbHRlcl92ZXJ0LCAwLCBmaWx0X2h6LCBmaWx0X3Z0KTsKLQot
ICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gIGh6
X291dDAgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMCwgc3JjMCwgbWFzaywgZmlsdF9oeik7Ci0K
LSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgc3JjMSA9IF9fbHN4X3ZsZChzcmMsIDApOwot
ICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlk
ZTIsIHNyYzIsIHNyYzMpOwotICAgIHNyYzQgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMp
OwotICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLQotICAgIGh6X291dDEgPSBob3Jpel8ydGFwX2Zp
bHRfdWgoc3JjMSwgc3JjMSwgbWFzaywgZmlsdF9oeik7Ci0gICAgdmVjMCA9IF9fbHN4X3ZwYWNr
ZXZfYihoel9vdXQxLCBoel9vdXQwKTsKLSAgICB0bXAxID0gX19sc3hfdmRwMl9oX2J1KHZlYzAs
IGZpbHRfdnQpOwotCi0gICAgaHpfb3V0MCA9IGhvcml6XzJ0YXBfZmlsdF91aChzcmMyLCBzcmMy
LCBtYXNrLCBmaWx0X2h6KTsKLSAgICB2ZWMwID0gX19sc3hfdnBhY2tldl9iKGh6X291dDAsIGh6
X291dDEpOwotICAgIHRtcDIgPSBfX2xzeF92ZHAyX2hfYnUodmVjMCwgZmlsdF92dCk7Ci0KLSAg
ICBoel9vdXQxID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzMsIHNyYzMsIG1hc2ssIGZpbHRfaHop
OwotICAgIHZlYzAgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MSwgaHpfb3V0MCk7Ci0gICAgdG1w
MyA9IF9fbHN4X3ZkcDJfaF9idSh2ZWMwLCBmaWx0X3Z0KTsKLQotICAgIGh6X291dDAgPSBob3Jp
el8ydGFwX2ZpbHRfdWgoc3JjNCwgc3JjNCwgbWFzaywgZmlsdF9oeik7Ci0gICAgc3JjMSA9IF9f
bHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJp
ZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzIsIHNyYzMpOwotICAgIHNyYzQgPSBfX2xzeF92bGR4
KHNyYywgc3JjX3N0cmlkZTMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLSAgICB2ZWMwID0g
X19sc3hfdnBhY2tldl9iKGh6X291dDAsIGh6X291dDEpOwotICAgIHRtcDQgPSBfX2xzeF92ZHAy
X2hfYnUodmVjMCwgZmlsdF92dCk7Ci0KLSAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYnVf
aCwgdG1wMiwgdG1wMSwgRklMVEVSX0JJVFMsIHRtcDQsIHRtcDMsCi0gICAgICAgICAgICAgIEZJ
TFRFUl9CSVRTLCB0bXAxLCB0bXAyKTsKLQotICAgIF9fbHN4X3ZzdGVsbV9kKHRtcDEsIGRzdCwg
MCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMSwg
ZHN0LCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fZCh0
bXAyLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVs
bV9kKHRtcDIsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICBoel9v
dXQxID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzEsIHNyYzEsIG1hc2ssIGZpbHRfaHopOwotICAg
IHZlYzAgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MSwgaHpfb3V0MCk7Ci0gICAgdG1wMSA9IF9f
bHN4X3ZkcDJfaF9idSh2ZWMwLCBmaWx0X3Z0KTsKLQotICAgIGh6X291dDAgPSBob3Jpel8ydGFw
X2ZpbHRfdWgoc3JjMiwgc3JjMiwgbWFzaywgZmlsdF9oeik7Ci0gICAgdmVjMCA9IF9fbHN4X3Zw
YWNrZXZfYihoel9vdXQwLCBoel9vdXQxKTsKLSAgICB0bXAyID0gX19sc3hfdmRwMl9oX2J1KHZl
YzAsIGZpbHRfdnQpOwotCi0gICAgaHpfb3V0MSA9IGhvcml6XzJ0YXBfZmlsdF91aChzcmMzLCBz
cmMzLCBtYXNrLCBmaWx0X2h6KTsKLSAgICB2ZWMwID0gX19sc3hfdnBhY2tldl9iKGh6X291dDEs
IGh6X291dDApOwotICAgIHRtcDMgPSBfX2xzeF92ZHAyX2hfYnUodmVjMCwgZmlsdF92dCk7Ci0K
LSAgICBoel9vdXQwID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzQsIHNyYzQsIG1hc2ssIGZpbHRf
aHopOwotICAgIHZlYzAgPSBfX2xzeF92cGFja2V2X2IoaHpfb3V0MCwgaHpfb3V0MSk7Ci0gICAg
dG1wNCA9IF9fbHN4X3ZkcDJfaF9idSh2ZWMwLCBmaWx0X3Z0KTsKLQotICAgIERVUDJfQVJHMyhf
X2xzeF92c3NyYXJuaV9idV9oLCB0bXAyLCB0bXAxLCBGSUxURVJfQklUUywgdG1wNCwgdG1wMywK
LSAgICAgICAgICAgICAgRklMVEVSX0JJVFMsIHRtcDEsIHRtcDIpOwotCi0gICAgX19sc3hfdnN0
ZWxtX2QodG1wMSwgZHN0LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xz
eF92c3RlbG1fZCh0bXAxLCBkc3QsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAg
IF9fbHN4X3ZzdGVsbV9kKHRtcDIsIGRzdCwgMCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7
Ci0gICAgX19sc3hfdnN0ZWxtX2QodG1wMiwgZHN0LCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0
cmlkZTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21tb25faHZfMmh0XzJ2dF84d19sc3goY29u
c3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXJfaG9yaXosIGlu
dDhfdCAqZmlsdGVyX3ZlcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MzJfdCBoZWlnaHQpIHsKLSAgaWYgKGhlaWdodCA9PSA0KSB7Ci0gICAgY29tbW9uX2h2XzJo
dF8ydnRfOHg0X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyX2hv
cml6LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyX3ZlcnQpOwotICB9IGVs
c2UgewotICAgIGNvbW1vbl9odl8yaHRfMnZ0Xzh4OG11bHRfbHN4KHNyYywgc3JjX3N0cmlkZSwg
ZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
cl9ob3JpeiwgZmlsdGVyX3ZlcnQsIGhlaWdodCk7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29t
bW9uX2h2XzJodF8ydnRfMTZ3X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0
LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDhfdCAqZmlsdGVyX2hvcml6LCBpbnQ4X3QgKmZpbHRlcl92ZXJ0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJf
dCBsb29wX2NudCA9IChoZWlnaHQgPj4gMik7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwg
c3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgbWFzazsKLSAgX19tMTI4aSBmaWx0X2h6LCBm
aWx0X3Z0LCB2ZWMwLCB2ZWMxOwotICBfX20xMjhpIHRtcCwgdG1wMSwgdG1wMiwgaHpfb3V0MCwg
aHpfb3V0MSwgaHpfb3V0MiwgaHpfb3V0MzsKLQotICBpbnQzMl90IHNyY19zdHJpZGUyID0gc3Jj
X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0cmlkZTIgKyBzcmNf
c3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIgPDwgMTsKLQotICBt
YXNrID0gX19sc3hfdmxkKG1jX2ZpbHRfbWFza19hcnIsIDApOwotCi0gIC8qIHJlYXJyYW5naW5n
IGZpbHRlciAqLwotICBEVVAyX0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXJfaG9yaXosIDAs
IGZpbHRlcl92ZXJ0LCAwLCBmaWx0X2h6LCBmaWx0X3Z0KTsKLQotICBEVVAyX0FSRzIoX19sc3hf
dmxkLCBzcmMsIDAsIHNyYywgOCwgc3JjMCwgc3JjMSk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwot
Ci0gIGh6X291dDAgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMCwgc3JjMCwgbWFzaywgZmlsdF9o
eik7Ci0gIGh6X291dDIgPSBob3Jpel8ydGFwX2ZpbHRfdWgoc3JjMSwgc3JjMSwgbWFzaywgZmls
dF9oeik7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgdWludDhfdCAqc3JjX3RtcDAg
PSBzcmMgKyA4OwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmNfdG1wMCwg
MCwgc3JjMCwgc3JjMSk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlk
ZSwgc3JjX3RtcDAsIHNyY19zdHJpZGUsIHNyYywKLSAgICAgICAgICAgICAgc3JjX3N0cmlkZTIs
IHNyY190bXAwLCBzcmNfc3RyaWRlMiwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSk7Ci0gICAgRFVQ
Ml9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZTMsIHNyY190bXAwLCBzcmNfc3RyaWRl
Mywgc3JjNiwgc3JjNyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU0OwotCi0gICAgaHpfb3V0MSA9
IGhvcml6XzJ0YXBfZmlsdF91aChzcmMwLCBzcmMwLCBtYXNrLCBmaWx0X2h6KTsKLSAgICBoel9v
dXQzID0gaG9yaXpfMnRhcF9maWx0X3VoKHNyYzEsIHNyYzEsIG1hc2ssIGZpbHRfaHopOwotICAg
IERVUDJfQVJHMihfX2xzeF92cGFja2V2X2IsIGh6X291dDEsIGh6X291dDAsIGh6X291dDMsIGh6
X291dDIsIHZlYzAsIHZlYzEpOwotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAs
IGZpbHRfdnQsIHZlYzEsIGZpbHRfdnQsIHRtcDEsIHRtcDIpOwotICAgIHRtcCA9IF9fbHN4X3Zz
c3Jhcm5pX2J1X2godG1wMiwgdG1wMSwgRklMVEVSX0JJVFMpOwotICAgIF9fbHN4X3ZzdCh0bXAs
IGRzdCwgMCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICBoel9vdXQwID0gaG9yaXpf
MnRhcF9maWx0X3VoKHNyYzIsIHNyYzIsIG1hc2ssIGZpbHRfaHopOwotICAgIGh6X291dDIgPSBo
b3Jpel8ydGFwX2ZpbHRfdWgoc3JjMywgc3JjMywgbWFzaywgZmlsdF9oeik7Ci0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZwYWNrZXZfYiwgaHpfb3V0MCwgaHpfb3V0MSwgaHpfb3V0MiwgaHpfb3V0Mywg
dmVjMCwgdmVjMSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdF92
dCwgdmVjMSwgZmlsdF92dCwgdG1wMSwgdG1wMik7Ci0gICAgdG1wID0gX19sc3hfdnNzcmFybmlf
YnVfaCh0bXAyLCB0bXAxLCBGSUxURVJfQklUUyk7Ci0gICAgX19sc3hfdnN0KHRtcCwgZHN0LCAw
KTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIGh6X291dDEgPSBob3Jpel8ydGFwX2Zp
bHRfdWgoc3JjNCwgc3JjNCwgbWFzaywgZmlsdF9oeik7Ci0gICAgaHpfb3V0MyA9IGhvcml6XzJ0
YXBfZmlsdF91aChzcmM1LCBzcmM1LCBtYXNrLCBmaWx0X2h6KTsKLSAgICBEVVAyX0FSRzIoX19s
c3hfdnBhY2tldl9iLCBoel9vdXQxLCBoel9vdXQwLCBoel9vdXQzLCBoel9vdXQyLCB2ZWMwLCB2
ZWMxKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0X3Z0LCB2ZWMx
LCBmaWx0X3Z0LCB0bXAxLCB0bXAyKTsKLSAgICB0bXAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRt
cDIsIHRtcDEsIEZJTFRFUl9CSVRTKTsKLSAgICBfX2xzeF92c3QodG1wLCBkc3QsIDApOwotICAg
IGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gICAgaHpfb3V0MCA9IGhvcml6XzJ0YXBfZmlsdF91aChz
cmM2LCBzcmM2LCBtYXNrLCBmaWx0X2h6KTsKLSAgICBoel9vdXQyID0gaG9yaXpfMnRhcF9maWx0
X3VoKHNyYzcsIHNyYzcsIG1hc2ssIGZpbHRfaHopOwotICAgIERVUDJfQVJHMihfX2xzeF92cGFj
a2V2X2IsIGh6X291dDAsIGh6X291dDEsIGh6X291dDIsIGh6X291dDMsIHZlYzAsIHZlYzEpOwot
ICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHRfdnQsIHZlYzEsIGZpbHRf
dnQsIHRtcDEsIHRtcDIpOwotICAgIHRtcCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMiwgdG1w
MSwgRklMVEVSX0JJVFMpOwotICAgIF9fbHN4X3ZzdCh0bXAsIGRzdCwgMCk7Ci0gICAgZHN0ICs9
IGRzdF9zdHJpZGU7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h2XzJodF8ydnRfMzJ3
X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVy
X2hvcml6LCBpbnQ4X3QgKmZpbHRlcl92ZXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgewotICBjb21tb25faHZfMmh0XzJ2dF8xNndfbHN4
KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXJfaG9yaXosCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdGVyX3ZlcnQsIGhlaWdodCk7Ci0gIHNyYyArPSAxNjsK
LSAgZHN0ICs9IDE2OwotCi0gIGNvbW1vbl9odl8yaHRfMnZ0XzE2d19sc3goc3JjLCBzcmNfc3Ry
aWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcl9ob3JpeiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaWx0ZXJfdmVydCwgaGVpZ2h0KTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX2h2
XzJodF8ydnRfNjR3X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQz
Ml90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dDhfdCAqZmlsdGVyX2hvcml6LCBpbnQ4X3QgKmZpbHRlcl92ZXJ0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgewotICBpbnQzMl90IG11bHRp
cGxlOF9jbnQ7Ci0gIGZvciAobXVsdGlwbGU4X2NudCA9IDQ7IG11bHRpcGxlOF9jbnQtLTspIHsK
LSAgICBjb21tb25faHZfMmh0XzJ2dF8xNndfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rf
c3RyaWRlLCBmaWx0ZXJfaG9yaXosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0
ZXJfdmVydCwgaGVpZ2h0KTsKLSAgICBzcmMgKz0gMTY7Ci0gICAgZHN0ICs9IDE2OwotICB9Ci19
Ci0KLXZvaWQgdnB4X2NvbnZvbHZlOF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3QgZHN0X3N0cmlkZSwgY29uc3QgSW50ZXJwS2VybmVsICpmaWx0ZXIsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGludCB4MF9xNCwgaW50MzJfdCB4X3N0ZXBfcTQsIGludCB5MF9xNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgaW50MzJfdCB5X3N0ZXBfcTQsIGludDMyX3QgdywgaW50MzJfdCBo
KSB7Ci0gIGNvbnN0IGludDE2X3QgKmNvbnN0IGZpbHRlcl94ID0gZmlsdGVyW3gwX3E0XTsKLSAg
Y29uc3QgaW50MTZfdCAqY29uc3QgZmlsdGVyX3kgPSBmaWx0ZXJbeTBfcTRdOwotICBpbnQ4X3Qg
Y250LCBmaWx0X2hvcls4XSwgZmlsdF92ZXJbOF07Ci0KLSAgYXNzZXJ0KHhfc3RlcF9xNCA9PSAx
Nik7Ci0gIGFzc2VydCh5X3N0ZXBfcTQgPT0gMTYpOwotICBhc3NlcnQoKChjb25zdCBpbnQzMl90
ICopZmlsdGVyX3gpWzFdICE9IDB4ODAwMDAwKTsKLSAgYXNzZXJ0KCgoY29uc3QgaW50MzJfdCAq
KWZpbHRlcl95KVsxXSAhPSAweDgwMDAwMCk7Ci0KLSAgZm9yIChjbnQgPSAwOyBjbnQgPCA4OyAr
K2NudCkgewotICAgIGZpbHRfaG9yW2NudF0gPSBmaWx0ZXJfeFtjbnRdOwotICAgIGZpbHRfdmVy
W2NudF0gPSBmaWx0ZXJfeVtjbnRdOwotICB9Ci0KLSAgaWYgKHZweF9nZXRfZmlsdGVyX3RhcHMo
ZmlsdGVyX3gpID09IDIgJiYKLSAgICAgIHZweF9nZXRfZmlsdGVyX3RhcHMoZmlsdGVyX3kpID09
IDIpIHsKLSAgICBzd2l0Y2ggKHcpIHsKLSAgICAgIGNhc2UgNDoKLSAgICAgICAgY29tbW9uX2h2
XzJodF8ydnRfNHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlkZSwgJmZpbHRfaG9yWzNd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpbHRfdmVyWzNdLCAoaW50MzJf
dCloKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDg6Ci0gICAgICAgIGNvbW1vbl9odl8y
aHRfMnZ0Xzh3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsICZmaWx0X2hvclszXSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaWx0X3ZlclszXSwgKGludDMyX3Qp
aCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSAxNjoKLSAgICAgICAgY29tbW9uX2h2XzJo
dF8ydnRfMTZ3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLCAmZmlsdF9ob3JbM10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpbHRfdmVyWzNdLCAoaW50MzJf
dCloKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDMyOgotICAgICAgICBjb21tb25faHZf
Mmh0XzJ2dF8zMndfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQzMl90KWRzdF9zdHJpZGUsICZmaWx0X2hvclsz
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmlsdF92ZXJbM10sIChpbnQz
Ml90KWgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgNjQ6Ci0gICAgICAgIGNvbW1vbl9o
dl8yaHRfMnZ0XzY0d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlkZSwgJmZpbHRfaG9y
WzNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaWx0X3ZlclszXSwgKGlu
dDMyX3QpaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgdnB4X2Nv
bnZvbHZlOF9jKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIsIHgwX3E0
LAotICAgICAgICAgICAgICAgICAgICAgICAgeF9zdGVwX3E0LCB5MF9xNCwgeV9zdGVwX3E0LCB3
LCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICB9IGVsc2UgaWYgKHZweF9nZXRfZmlsdGVy
X3RhcHMoZmlsdGVyX3gpID09IDIgfHwKLSAgICAgICAgICAgICB2cHhfZ2V0X2ZpbHRlcl90YXBz
KGZpbHRlcl95KSA9PSAyKSB7Ci0gICAgdnB4X2NvbnZvbHZlOF9jKHNyYywgc3JjX3N0cmlkZSwg
ZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIsIHgwX3E0LCB4X3N0ZXBfcTQsCi0gICAgICAgICAgICAg
ICAgICAgIHkwX3E0LCB5X3N0ZXBfcTQsIHcsIGgpOwotICB9IGVsc2UgewotICAgIHN3aXRjaCAo
dykgewotICAgICAgY2FzZSA0OgotICAgICAgICBjb21tb25faHZfOGh0Xzh2dF80d19sc3goc3Jj
LCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoaW50MzJfdClkc3Rfc3RyaWRlLCBmaWx0X2hvciwgZmlsdF92ZXIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoaW50MzJfdCloKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ICBjYXNlIDg6Ci0gICAgICAgIGNvbW1vbl9odl84aHRfOHZ0Xzh3X2xzeChzcmMsIChpbnQzMl90
KXNyY19zdHJpZGUsIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQz
Ml90KWRzdF9zdHJpZGUsIGZpbHRfaG9yLCBmaWx0X3ZlciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChpbnQzMl90KWgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgMTY6
Ci0gICAgICAgIGNvbW1vbl9odl84aHRfOHZ0XzE2d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3Ry
aWRlLCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0
X3N0cmlkZSwgZmlsdF9ob3IsIGZpbHRfdmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChpbnQzMl90KWgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgMzI6Ci0gICAg
ICAgIGNvbW1vbl9odl84aHRfOHZ0XzMyd19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBk
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlk
ZSwgZmlsdF9ob3IsIGZpbHRfdmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChpbnQzMl90KWgpOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgNjQ6Ci0gICAgICAgIGNv
bW1vbl9odl84aHRfOHZ0XzY0d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludDMyX3QpZHN0X3N0cmlkZSwgZmls
dF9ob3IsIGZpbHRfdmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQz
Ml90KWgpOwotICAgICAgICBicmVhazsKLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIHZweF9jb252
b2x2ZThfYyhzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyLCB4MF9xNCwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHhfc3RlcF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwgdywg
aCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmU4X3ZlcnRfbHN4LmMgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfdmVydF9sc3guYwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjAyMmU0M2M4MzQxLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmU4X3ZlcnRfbHN4LmMKKysrIC9kZXYv
bnVsbApAQCAtMSw4MjUgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIFdl
Yk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAg
dGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUg
c291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmln
aHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29u
dHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9S
UyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSA8
YXNzZXJ0Lmg+Ci0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHhfZHNw
L2xvb25nYXJjaC92cHhfY29udm9sdmVfbHN4LmgiCi0KLXN0YXRpYyB2b2lkIGNvbW1vbl92dF84
dF80d19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlciwgaW50MzJf
dCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsKLSAgaW50MzJf
dCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9
IHNyY19zdHJpZGUgKyBzcmNfc3RyaWRlMjsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19z
dHJpZGUyIDw8IDE7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3Jj
NSwgc3JjNiwgc3JjNywgc3JjOCwgc3JjOSwgc3JjMTA7Ci0gIF9fbTEyOGkgdG1wMCwgdG1wMSwg
dG1wMiwgdG1wMywgdG1wNCwgdG1wNTsKLSAgX19tMTI4aSByZWcwLCByZWcxLCByZWcyLCByZWcz
LCByZWc0OwotICBfX20xMjhpIGZpbHRlcjAsIGZpbHRlcjEsIGZpbHRlcjIsIGZpbHRlcjM7Ci0g
IF9fbTEyOGkgb3V0MCwgb3V0MTsKLSAgdWludDhfdCAqX3NyYyA9ICh1aW50OF90ICopc3JjIC0g
c3JjX3N0cmlkZTM7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHJlcGxfaCwgZmlsdGVyLCAwLCBm
aWx0ZXIsIDIsIGZpbHRlciwgNCwgZmlsdGVyLCA2LAotICAgICAgICAgICAgZmlsdGVyMCwgZmls
dGVyMSwgZmlsdGVyMiwgZmlsdGVyMyk7Ci0gIHNyYzAgPSBfX2xzeF92bGQoX3NyYywgMCk7Ci0g
IERVUDJfQVJHMihfX2xzeF92bGR4LCBfc3JjLCBzcmNfc3RyaWRlLCBfc3JjLCBzcmNfc3RyaWRl
Miwgc3JjMSwgc3JjMik7Ci0gIHNyYzMgPSBfX2xzeF92bGR4KF9zcmMsIHNyY19zdHJpZGUzKTsK
LSAgX3NyYyArPSBzcmNfc3RyaWRlNDsKLSAgc3JjNCA9IF9fbHN4X3ZsZChfc3JjLCAwKTsKLSAg
RFVQMl9BUkcyKF9fbHN4X3ZsZHgsIF9zcmMsIHNyY19zdHJpZGUsIF9zcmMsIHNyY19zdHJpZGUy
LCBzcmM1LCBzcmM2KTsKLSAgX3NyYyArPSBzcmNfc3RyaWRlMzsKLSAgRFVQNF9BUkcyKF9fbHN4
X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzMsIHNyYzIsIHNyYzUsIHNyYzQsIHNyYzIsIHNyYzEs
IHRtcDAsCi0gICAgICAgICAgICB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgRFVQMl9BUkcyKF9fbHN4
X3ZpbHZsX2IsIHNyYzQsIHNyYzMsIHNyYzYsIHNyYzUsIHRtcDQsIHRtcDUpOwotICBEVVAyX0FS
RzIoX19sc3hfdmlsdmxfZCwgdG1wMywgdG1wMCwgdG1wNCwgdG1wMSwgcmVnMCwgcmVnMSk7Ci0g
IHJlZzIgPSBfX2xzeF92aWx2bF9kKHRtcDUsIHRtcDIpOwotICBEVVAyX0FSRzIoX19sc3hfdnhv
cmlfYiwgcmVnMCwgMTI4LCByZWcxLCAxMjgsIHJlZzAsIHJlZzEpOwotICByZWcyID0gX19sc3hf
dnhvcmlfYihyZWcyLCAxMjgpOwotCi0gIGZvciAoOyBsb29wX2NudC0tOykgewotICAgIHNyYzcg
PSBfX2xzeF92bGQoX3NyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIF9zcmMsIHNy
Y19zdHJpZGUsIF9zcmMsIHNyY19zdHJpZGUyLCBzcmM4LCBzcmM5KTsKLSAgICBzcmMxMCA9IF9f
bHN4X3ZsZHgoX3NyYywgc3JjX3N0cmlkZTMpOwotICAgIF9zcmMgKz0gc3JjX3N0cmlkZTQ7Ci0g
ICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHNyYzks
IHNyYzgsIHNyYzEwLCBzcmM5LAotICAgICAgICAgICAgICB0bXAwLCB0bXAxLCB0bXAyLCB0bXAz
KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfZCwgdG1wMSwgdG1wMCwgdG1wMywgdG1wMiwg
cmVnMywgcmVnNCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHJlZzMsIDEyOCwgcmVn
NCwgMTI4LCByZWczLCByZWc0KTsKLSAgICBvdXQwID0gZmlsdF84dGFwX2RwYWRkX3NfaChyZWcw
LCByZWcxLCByZWcyLCByZWczLCBmaWx0ZXIwLCBmaWx0ZXIxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgIG91dDEgPSBmaWx0Xzh0YXBfZHBh
ZGRfc19oKHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIGZpbHRlcjAsIGZpbHRlcjEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMiwgZmlsdGVyMyk7Ci0gICAgb3V0MCA9IF9f
bHN4X3Zzc3Jhcm5pX2JfaChvdXQxLCBvdXQwLCA3KTsKLSAgICBvdXQwID0gX19sc3hfdnhvcmlf
YihvdXQwLCAxMjgpOwotICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCwgMCwgMCk7Ci0gICAg
ZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAxKTsK
LSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QsIDAs
IDIpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRz
dCwgMCwgMyk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICByZWcwID0gcmVnMjsKLSAg
ICByZWcxID0gcmVnMzsKLSAgICByZWcyID0gcmVnNDsKLSAgICBzcmM2ID0gc3JjMTA7Ci0gIH0K
LX0KLQotc3RhdGljIHZvaWQgY29tbW9uX3Z0Xzh0Xzh3X2xzeChjb25zdCB1aW50OF90ICpzcmMs
IGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhlaWdodCkgewotICB1aW50MzJfdCBsb29w
X2NudCA9IGhlaWdodCA+PiAyOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNy
YzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgsIHNyYzksIHNyYzEwOwotICBfX20xMjhpIHRtcDAs
IHRtcDEsIHRtcDIsIHRtcDM7Ci0gIF9fbTEyOGkgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMywgcmVn
NCwgcmVnNTsKLSAgX19tMTI4aSBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzOwot
ICBfX20xMjhpIG91dDAsIG91dDEsIG91dDIsIG91dDM7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIg
PSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlICsg
c3JjX3N0cmlkZTI7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwot
ICBzcmMgPSBzcmMgLSBzcmNfc3RyaWRlMzsKLQotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9o
LCBmaWx0ZXIsIDAsIGZpbHRlciwgMiwgZmlsdGVyLCA0LCBmaWx0ZXIsIDYsCi0gICAgICAgICAg
ICBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzKTsKLQotICBzcmMwID0gX19sc3hf
dmxkKHNyYywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNy
Yywgc3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwotICBzcmMzID0gX19sc3hfdmxkeChzcmMsIHNy
Y19zdHJpZGUzKTsKLSAgc3JjICs9IHNyY19zdHJpZGU0OwotICBzcmM0ID0gX19sc3hfdmxkKHNy
YywgMCk7Ci0gIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3Jj
X3N0cmlkZTIsIHNyYzUsIHNyYzYpOwotICBzcmMgKz0gc3JjX3N0cmlkZTM7Ci0KLSAgRFVQNF9B
UkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzAsIDEyOCwgc3JjMSwgMTI4LCBzcmMyLCAxMjgsIHNyYzMs
IDEyOCwgc3JjMCwKLSAgICAgICAgICAgIHNyYzEsIHNyYzIsIHNyYzMpOwotICBEVVAyX0FSRzIo
X19sc3hfdnhvcmlfYiwgc3JjNCwgMTI4LCBzcmM1LCAxMjgsIHNyYzQsIHNyYzUpOwotICBzcmM2
ID0gX19sc3hfdnhvcmlfYihzcmM2LCAxMjgpOwotICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwg
c3JjMSwgc3JjMCwgc3JjMywgc3JjMiwgc3JjNSwgc3JjNCwgc3JjMiwgc3JjMSwgcmVnMCwKLSAg
ICAgICAgICAgIHJlZzEsIHJlZzIsIHJlZzMpOwotICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwg
c3JjNCwgc3JjMywgc3JjNiwgc3JjNSwgcmVnNCwgcmVnNSk7Ci0KLSAgZm9yICg7IGxvb3BfY250
LS07KSB7Ci0gICAgc3JjNyA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xz
eF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzgsIHNyYzkpOwot
ICAgIHNyYzEwID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUzKTsKLSAgICBzcmMgKz0gc3Jj
X3N0cmlkZTQ7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzcsIDEyOCwgc3JjOCwg
MTI4LCBzcmM5LCAxMjgsIHNyYzEwLCAxMjgsIHNyYzcsCi0gICAgICAgICAgICAgIHNyYzgsIHNy
YzksIHNyYzEwKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjNywgc3JjNiwgc3Jj
OCwgc3JjNywgc3JjOSwgc3JjOCwgc3JjMTAsIHNyYzksCi0gICAgICAgICAgICAgIHRtcDAsIHRt
cDEsIHRtcDIsIHRtcDMpOwotICAgIG91dDAgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHJlZzAsIHJl
ZzEsIHJlZzIsIHRtcDAsIGZpbHRlcjAsIGZpbHRlcjEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsdGVyMiwgZmlsdGVyMyk7Ci0gICAgb3V0MSA9IGZpbHRfOHRhcF9kcGFkZF9z
X2gocmVnMywgcmVnNCwgcmVnNSwgdG1wMSwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWx0ZXIyLCBmaWx0ZXIzKTsKLSAgICBvdXQyID0gZmlsdF84
dGFwX2RwYWRkX3NfaChyZWcxLCByZWcyLCB0bXAwLCB0bXAyLCBmaWx0ZXIwLCBmaWx0ZXIxLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgIG91
dDMgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHJlZzQsIHJlZzUsIHRtcDEsIHRtcDMsIGZpbHRlcjAs
IGZpbHRlcjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMiwgZmlsdGVy
Myk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2JfaCwgb3V0MSwgb3V0MCwgNywgb3V0
Mywgb3V0MiwgNywgb3V0MCwgb3V0MSk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIG91
dDAsIDEyOCwgb3V0MSwgMTI4LCBvdXQwLCBvdXQxKTsKLSAgICBfX2xzeF92c3RlbG1fZChvdXQw
LCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdGVsbV9k
KG91dDAsIGRzdCwgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0
ZWxtX2Qob3V0MSwgZHN0LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xz
eF92c3RlbG1fZChvdXQxLCBkc3QsIDAsIDEpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0g
ICAgcmVnMCA9IHJlZzI7Ci0gICAgcmVnMSA9IHRtcDA7Ci0gICAgcmVnMiA9IHRtcDI7Ci0gICAg
cmVnMyA9IHJlZzU7Ci0gICAgcmVnNCA9IHRtcDE7Ci0gICAgcmVnNSA9IHRtcDM7Ci0gICAgc3Jj
NiA9IHNyYzEwOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92dF84dF8xNndfbHN4KGNv
bnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQp
IHsKLSAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsKLSAgX19tMTI4aSBzcmMwLCBz
cmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMx
MDsKLSAgX19tMTI4aSBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzOwotICBfX20x
MjhpIHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzU7Ci0gIF9fbTEyOGkgcmVnNiwg
cmVnNywgcmVnOCwgcmVnOSwgcmVnMTAsIHJlZzExOwotICBfX20xMjhpIHRtcDAsIHRtcDEsIHRt
cDIsIHRtcDM7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGlu
dDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlICsgc3JjX3N0cmlkZTI7Ci0gIGludDMyX3Qg
c3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotICAvLyB1aW50OF90ICpfc3JjID0gKHVp
bnQ4X3QgKilzcmMgLSBzcmNfc3RyaWRlMzsKLSAgc3JjIC09IHNyY19zdHJpZGUzOwotICBEVVA0
X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXIsIDAsIGZpbHRlciwgMiwgZmlsdGVyLCA0LCBm
aWx0ZXIsIDYsCi0gICAgICAgICAgICBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIz
KTsKLQotICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4
LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYywgc3JjX3N0cmlkZTMsCi0g
ICAgICAgICAgICBzcmMsIHNyY19zdHJpZGU0LCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0KTsKLSAg
c3JjICs9IHNyY19zdHJpZGU0OwotICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3Ry
aWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmM1LCBzcmM2KTsKLSAgc3JjICs9IHNyY19zdHJpZGUz
OwotCi0gIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3Jj
MiwgMTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICBzcmMxLCBzcmMyLCBzcmMzKTsK
LSAgRFVQMl9BUkcyKF9fbHN4X3Z4b3JpX2IsIHNyYzQsIDEyOCwgc3JjNSwgMTI4LCBzcmM0LCBz
cmM1KTsKLSAgc3JjNiA9IF9fbHN4X3Z4b3JpX2Ioc3JjNiwgMTI4KTsKLSAgRFVQNF9BUkcyKF9f
bHN4X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzMsIHNyYzIsIHNyYzUsIHNyYzQsIHNyYzIsIHNy
YzEsIHJlZzAsCi0gICAgICAgICAgICByZWcxLCByZWcyLCByZWczKTsKLSAgRFVQMl9BUkcyKF9f
bHN4X3ZpbHZsX2IsIHNyYzQsIHNyYzMsIHNyYzYsIHNyYzUsIHJlZzQsIHJlZzUpOwotICBEVVA0
X0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjMSwgc3JjMCwgc3JjMywgc3JjMiwgc3JjNSwgc3JjNCwg
c3JjMiwgc3JjMSwgcmVnNiwKLSAgICAgICAgICAgIHJlZzcsIHJlZzgsIHJlZzkpOwotICBEVVAy
X0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjNCwgc3JjMywgc3JjNiwgc3JjNSwgcmVnMTAsIHJlZzEx
KTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBzcmM3ID0gX19sc3hfdmxkKHNyYywg
MCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNf
c3RyaWRlMiwgc3JjOCwgc3JjOSk7Ci0gICAgc3JjMTAgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0
cmlkZTMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLQotICAgIERVUDRfQVJHMihfX2xzeF92
eG9yaV9iLCBzcmM3LCAxMjgsIHNyYzgsIDEyOCwgc3JjOSwgMTI4LCBzcmMxMCwgMTI4LCBzcmM3
LAotICAgICAgICAgICAgICBzcmM4LCBzcmM5LCBzcmMxMCk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4
X3ZpbHZsX2IsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHNyYzksIHNyYzgsIHNyYzEwLCBzcmM5
LAotICAgICAgICAgICAgICBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBEVVA0X0FSRzIo
X19sc3hfdmlsdmhfYiwgc3JjNywgc3JjNiwgc3JjOCwgc3JjNywgc3JjOSwgc3JjOCwgc3JjMTAs
IHNyYzksCi0gICAgICAgICAgICAgIHNyYzQsIHNyYzUsIHNyYzcsIHNyYzgpOwotICAgIHRtcDAg
PSBmaWx0Xzh0YXBfZHBhZGRfc19oKHJlZzAsIHJlZzEsIHJlZzIsIHNyYzAsIGZpbHRlcjAsIGZp
bHRlcjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMiwgZmlsdGVyMyk7
Ci0gICAgdG1wMSA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnMywgcmVnNCwgcmVnNSwgc3JjMSwg
ZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIy
LCBmaWx0ZXIzKTsKLSAgICB0bXAyID0gZmlsdF84dGFwX2RwYWRkX3NfaChyZWc2LCByZWc3LCBy
ZWc4LCBzcmM0LCBmaWx0ZXIwLCBmaWx0ZXIxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgIHRtcDMgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHJl
ZzksIHJlZzEwLCByZWcxMSwgc3JjNSwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmaWx0ZXIyLCBmaWx0ZXIzKTsKLSAgICBEVVAyX0FSRzMoX19sc3hf
dnNzcmFybmlfYl9oLCB0bXAyLCB0bXAwLCA3LCB0bXAzLCB0bXAxLCA3LCB0bXAwLCB0bXAxKTsK
LSAgICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgdG1wMCwgMTI4LCB0bXAxLCAxMjgsIHRtcDAs
IHRtcDEpOwotICAgIF9fbHN4X3ZzdCh0bXAwLCBkc3QsIDApOwotICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotICAgIF9fbHN4X3ZzdCh0bXAxLCBkc3QsIDApOwotICAgIGRzdCArPSBkc3Rfc3RyaWRl
OwotICAgIHRtcDAgPSBmaWx0Xzh0YXBfZHBhZGRfc19oKHJlZzEsIHJlZzIsIHNyYzAsIHNyYzIs
IGZpbHRlcjAsIGZpbHRlcjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVy
MiwgZmlsdGVyMyk7Ci0gICAgdG1wMSA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnNCwgcmVnNSwg
c3JjMSwgc3JjMywgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaWx0ZXIyLCBmaWx0ZXIzKTsKLSAgICB0bXAyID0gZmlsdF84dGFwX2RwYWRkX3NfaChy
ZWc3LCByZWc4LCBzcmM0LCBzcmM3LCBmaWx0ZXIwLCBmaWx0ZXIxLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgIHRtcDMgPSBmaWx0Xzh0YXBf
ZHBhZGRfc19oKHJlZzEwLCByZWcxMSwgc3JjNSwgc3JjOCwgZmlsdGVyMCwgZmlsdGVyMSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIyLCBmaWx0ZXIzKTsKLSAgICBEVVAy
X0FSRzMoX19sc3hfdnNzcmFybmlfYl9oLCB0bXAyLCB0bXAwLCA3LCB0bXAzLCB0bXAxLCA3LCB0
bXAwLCB0bXAxKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdnhvcmlfYiwgdG1wMCwgMTI4LCB0bXAx
LCAxMjgsIHRtcDAsIHRtcDEpOwotICAgIF9fbHN4X3ZzdCh0bXAwLCBkc3QsIDApOwotICAgIGRz
dCArPSBkc3Rfc3RyaWRlOwotICAgIF9fbHN4X3ZzdCh0bXAxLCBkc3QsIDApOwotICAgIGRzdCAr
PSBkc3Rfc3RyaWRlOwotCi0gICAgcmVnMCA9IHJlZzI7Ci0gICAgcmVnMSA9IHNyYzA7Ci0gICAg
cmVnMiA9IHNyYzI7Ci0gICAgcmVnMyA9IHJlZzU7Ci0gICAgcmVnNCA9IHNyYzE7Ci0gICAgcmVn
NSA9IHNyYzM7Ci0gICAgcmVnNiA9IHJlZzg7Ci0gICAgcmVnNyA9IHNyYzQ7Ci0gICAgcmVnOCA9
IHNyYzc7Ci0gICAgcmVnOSA9IHJlZzExOwotICAgIHJlZzEwID0gc3JjNTsKLSAgICByZWcxMSA9
IHNyYzg7Ci0gICAgc3JjNiA9IHNyYzEwOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92
dF84dF8xNndfbXVsdF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50
MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDMyX3Qgd2lkdGgpIHsKLSAgdWludDhfdCAqc3JjX3RtcDsKLSAgdWlu
dDhfdCAqZHN0X3RtcDsKLSAgdWludDMyX3QgY250ID0gd2lkdGggPj4gNDsKLSAgX19tMTI4aSBz
cmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5
LCBzcmMxMDsKLSAgX19tMTI4aSBmaWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzOwot
ICBfX20xMjhpIHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzU7Ci0gIF9fbTEyOGkg
cmVnNiwgcmVnNywgcmVnOCwgcmVnOSwgcmVnMTAsIHJlZzExOwotICBfX20xMjhpIHRtcDAsIHRt
cDEsIHRtcDIsIHRtcDM7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7
Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlICsgc3JjX3N0cmlkZTI7Ci0gIGlu
dDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJp
ZGUyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlk
ZTIgKyBkc3Rfc3RyaWRlOwotICBpbnQzMl90IGRzdF9zdHJpZGU0ID0gZHN0X3N0cmlkZTIgPDwg
MTsKLSAgc3JjIC09IHNyY19zdHJpZGUzOwotICBEVVA0X0FSRzIoX19sc3hfdmxkcmVwbF9oLCBm
aWx0ZXIsIDAsIGZpbHRlciwgMiwgZmlsdGVyLCA0LCBmaWx0ZXIsIDYsCi0gICAgICAgICAgICBm
aWx0ZXIwLCBmaWx0ZXIxLCBmaWx0ZXIyLCBmaWx0ZXIzKTsKLQotICBmb3IgKDsgY250LS07KSB7
Ci0gICAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsKLQotICAgIHNyY190bXAgPSBz
cmM7Ci0gICAgZHN0X3RtcCA9IGRzdDsKLQotICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjX3RtcCwg
MCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHNyY19zdHJpZGUsIHNyY190
bXAsIHNyY19zdHJpZGUyLCBzcmMxLAotICAgICAgICAgICAgICBzcmMyKTsKLSAgICBzcmMzID0g
X19sc3hfdmxkeChzcmNfdG1wLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjX3RtcCArPSBzcmNfc3Ry
aWRlNDsKLSAgICBzcmM0ID0gX19sc3hfdmxkKHNyY190bXAsIDApOwotICAgIERVUDJfQVJHMihf
X2xzeF92bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlMiwgc3Jj
NSwKLSAgICAgICAgICAgICAgc3JjNik7Ci0gICAgc3JjX3RtcCArPSBzcmNfc3RyaWRlMzsKLQot
ICAgIERVUDRfQVJHMihfX2xzeF92eG9yaV9iLCBzcmMwLCAxMjgsIHNyYzEsIDEyOCwgc3JjMiwg
MTI4LCBzcmMzLCAxMjgsIHNyYzAsCi0gICAgICAgICAgICAgIHNyYzEsIHNyYzIsIHNyYzMpOwot
ICAgIERVUDJfQVJHMihfX2xzeF92eG9yaV9iLCBzcmM0LCAxMjgsIHNyYzUsIDEyOCwgc3JjNCwg
c3JjNSk7Ci0gICAgc3JjNiA9IF9fbHN4X3Z4b3JpX2Ioc3JjNiwgMTI4KTsKLSAgICBEVVA0X0FS
RzIoX19sc3hfdmlsdmxfYiwgc3JjMSwgc3JjMCwgc3JjMywgc3JjMiwgc3JjNSwgc3JjNCwgc3Jj
Miwgc3JjMSwKLSAgICAgICAgICAgICAgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMyk7Ci0gICAgRFVQ
Ml9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzQsIHNyYzMsIHNyYzYsIHNyYzUsIHJlZzQsIHJlZzUp
OwotICAgIERVUDRfQVJHMihfX2xzeF92aWx2aF9iLCBzcmMxLCBzcmMwLCBzcmMzLCBzcmMyLCBz
cmM1LCBzcmM0LCBzcmMyLCBzcmMxLAotICAgICAgICAgICAgICByZWc2LCByZWc3LCByZWc4LCBy
ZWc5KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjNCwgc3JjMywgc3JjNiwgc3Jj
NSwgcmVnMTAsIHJlZzExKTsKLQotICAgIGZvciAoOyBsb29wX2NudC0tOykgewotICAgICAgc3Jj
NyA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBz
cmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlMiwgc3JjOCwKLSAgICAgICAg
ICAgICAgICBzcmM5KTsKLSAgICAgIHNyYzEwID0gX19sc3hfdmxkeChzcmNfdG1wLCBzcmNfc3Ry
aWRlMyk7Ci0gICAgICBzcmNfdG1wICs9IHNyY19zdHJpZGU0OwotICAgICAgRFVQNF9BUkcyKF9f
bHN4X3Z4b3JpX2IsIHNyYzcsIDEyOCwgc3JjOCwgMTI4LCBzcmM5LCAxMjgsIHNyYzEwLCAxMjgs
Ci0gICAgICAgICAgICAgICAgc3JjNywgc3JjOCwgc3JjOSwgc3JjMTApOwotICAgICAgRFVQNF9B
UkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHNyYzksIHNyYzgsIHNy
YzEwLCBzcmM5LAotICAgICAgICAgICAgICAgIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwotICAg
ICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHNyYzks
IHNyYzgsIHNyYzEwLCBzcmM5LAotICAgICAgICAgICAgICAgIHNyYzQsIHNyYzUsIHNyYzcsIHNy
YzgpOwotICAgICAgdG1wMCA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnMCwgcmVnMSwgcmVnMiwg
c3JjMCwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAgdG1wMSA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVn
MywgcmVnNCwgcmVnNSwgc3JjMSwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAgdG1wMiA9IGZpbHRfOHRh
cF9kcGFkZF9zX2gocmVnNiwgcmVnNywgcmVnOCwgc3JjNCwgZmlsdGVyMCwgZmlsdGVyMSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAg
dG1wMyA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnOSwgcmVnMTAsIHJlZzExLCBzcmM1LCBmaWx0
ZXIwLCBmaWx0ZXIxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyMiwg
ZmlsdGVyMyk7Ci0gICAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYl9oLCB0bXAyLCB0bXAw
LCA3LCB0bXAzLCB0bXAxLCA3LCB0bXAwLCB0bXAxKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92
eG9yaV9iLCB0bXAwLCAxMjgsIHRtcDEsIDEyOCwgdG1wMCwgdG1wMSk7Ci0gICAgICBfX2xzeF92
c3QodG1wMCwgZHN0X3RtcCwgMCk7Ci0gICAgICBfX2xzeF92c3R4KHRtcDEsIGRzdF90bXAsIGRz
dF9zdHJpZGUpOwotICAgICAgdG1wMCA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnMSwgcmVnMiwg
c3JjMCwgc3JjMiwgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAgdG1wMSA9IGZpbHRfOHRhcF9kcGFkZF9z
X2gocmVnNCwgcmVnNSwgc3JjMSwgc3JjMywgZmlsdGVyMCwgZmlsdGVyMSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwotICAgICAgdG1wMiA9IGZp
bHRfOHRhcF9kcGFkZF9zX2gocmVnNywgcmVnOCwgc3JjNCwgc3JjNywgZmlsdGVyMCwgZmlsdGVy
MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjIsIGZpbHRlcjMpOwot
ICAgICAgdG1wMyA9IGZpbHRfOHRhcF9kcGFkZF9zX2gocmVnMTAsIHJlZzExLCBzcmM1LCBzcmM4
LCBmaWx0ZXIwLCBmaWx0ZXIxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
dGVyMiwgZmlsdGVyMyk7Ci0gICAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYl9oLCB0bXAy
LCB0bXAwLCA3LCB0bXAzLCB0bXAxLCA3LCB0bXAwLCB0bXAxKTsKLSAgICAgIERVUDJfQVJHMihf
X2xzeF92eG9yaV9iLCB0bXAwLCAxMjgsIHRtcDEsIDEyOCwgdG1wMCwgdG1wMSk7Ci0gICAgICBf
X2xzeF92c3R4KHRtcDAsIGRzdF90bXAsIGRzdF9zdHJpZGUyKTsKLSAgICAgIF9fbHN4X3ZzdHgo
dG1wMSwgZHN0X3RtcCwgZHN0X3N0cmlkZTMpOwotICAgICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRl
NDsKLQotICAgICAgcmVnMCA9IHJlZzI7Ci0gICAgICByZWcxID0gc3JjMDsKLSAgICAgIHJlZzIg
PSBzcmMyOwotICAgICAgcmVnMyA9IHJlZzU7Ci0gICAgICByZWc0ID0gc3JjMTsKLSAgICAgIHJl
ZzUgPSBzcmMzOwotICAgICAgcmVnNiA9IHJlZzg7Ci0gICAgICByZWc3ID0gc3JjNDsKLSAgICAg
IHJlZzggPSBzcmM3OwotICAgICAgcmVnOSA9IHJlZzExOwotICAgICAgcmVnMTAgPSBzcmM1Owot
ICAgICAgcmVnMTEgPSBzcmM4OwotICAgICAgc3JjNiA9IHNyYzEwOwotICAgIH0KLSAgICBzcmMg
Kz0gMTY7Ci0gICAgZHN0ICs9IDE2OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92dF84
dF8zMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlciwgaW50
MzJfdCBoZWlnaHQpIHsKLSAgY29tbW9uX3Z0Xzh0XzE2d19tdWx0X2xzeChzcmMsIHNyY19zdHJp
ZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyLCBoZWlnaHQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMzIpOwotfQotCi1zdGF0aWMgdm9pZCBjb21tb25fdnRfOHRfNjR3X2xzeChjb25z
dCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KSB7
Ci0gIGNvbW1vbl92dF84dF8xNndfbXVsdF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9z
dHJpZGUsIGZpbHRlciwgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY0KTsK
LX0KLQotc3RhdGljIHZvaWQgY29tbW9uX3Z0XzJ0XzR4NF9sc3goY29uc3QgdWludDhfdCAqc3Jj
LCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludDhfdCAqZmlsdGVyKSB7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwg
c3JjMywgc3JjNDsKLSAgX19tMTI4aSB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1
OwotICBfX20xMjhpIGZpbHQwLCB0bXAwLCB0bXAxOwotCi0gIGludDMyX3Qgc3JjX3N0cmlkZTIg
PSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlMiAr
IHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwot
ICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9z
dHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rfc3RyaWRlOwotCi0gIGZpbHQwID0gX19sc3hfdmxk
cmVwbF9oKGZpbHRlciwgMCk7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVA0
X0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMs
IHNyY19zdHJpZGUzLAotICAgICAgICAgICAgc3JjLCBzcmNfc3RyaWRlNCwgc3JjMSwgc3JjMiwg
c3JjMywgc3JjNCk7Ci0gIHNyYyArPSAoc3JjX3N0cmlkZTQgKyBzcmNfc3RyaWRlKTsKLQotICBE
VVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgc3JjMywgc3Jj
Miwgc3JjNCwgc3JjMywgdmVjMCwKLSAgICAgICAgICAgIHZlYzEsIHZlYzIsIHZlYzMpOwotICBE
VVAyX0FSRzIoX19sc3hfdmlsdmxfZCwgdmVjMSwgdmVjMCwgdmVjMywgdmVjMiwgdmVjNCwgdmVj
NSk7Ci0gIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzQsIGZpbHQwLCB2ZWM1LCBmaWx0
MCwgdG1wMCwgdG1wMSk7Ci0gIHRtcDAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAs
IEZJTFRFUl9CSVRTKTsKLQotICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QsIDAsIDApOwotICBf
X2xzeF92c3RlbG1fdyh0bXAwLCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKLSAgX19sc3hfdnN0
ZWxtX3codG1wMCwgZHN0ICsgZHN0X3N0cmlkZTIsIDAsIDIpOwotICBfX2xzeF92c3RlbG1fdyh0
bXAwLCBkc3QgKyBkc3Rfc3RyaWRlMywgMCwgMyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92
dF8ydF80eDhfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcikg
ewotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNy
YzcsIHNyYzg7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNTsK
LSAgX19tMTI4aSB2ZWM2LCB2ZWM3LCB2ZWM4LCB2ZWM5LCB2ZWMxMCwgdmVjMTE7Ci0gIF9fbTEy
OGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMzsKLSAgX19tMTI4aSBmaWx0MDsKLQotICBpbnQzMl90
IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0g
c3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0
cmlkZTIgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMiA9IGRzdF9zdHJpZGUgPDwgMTsKLSAg
aW50MzJfdCBkc3Rfc3RyaWRlMyA9IGRzdF9zdHJpZGUyICsgZHN0X3N0cmlkZTsKLSAgaW50MzJf
dCBkc3Rfc3RyaWRlNCA9IGRzdF9zdHJpZGUyIDw8IDE7Ci0gIHVpbnQ4X3QgKmRzdF90bXAxID0g
ZHN0ICsgZHN0X3N0cmlkZTQ7Ci0KLSAgZmlsdDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAw
KTsKLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBEVVA0X0FSRzIoX19sc3hfdmxkeCwg
c3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMsIHNyY19zdHJpZGUzLAotICAg
ICAgICAgICAgc3JjLCBzcmNfc3RyaWRlNCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCk7Ci0gIHNy
YyArPSBzcmNfc3RyaWRlNDsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlk
ZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjLCBzcmNfc3RyaWRlMywKLSAgICAgICAgICAgIHNyYywg
c3JjX3N0cmlkZTQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgpOwotICBzcmMgKz0gKHNyY19zdHJp
ZGU0ICsgc3JjX3N0cmlkZSk7Ci0KLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzEsIHNy
YzAsIHNyYzIsIHNyYzEsIHNyYzMsIHNyYzIsIHNyYzQsIHNyYzMsIHZlYzAsCi0gICAgICAgICAg
ICB2ZWMxLCB2ZWMyLCB2ZWMzKTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzUsIHNy
YzQsIHNyYzYsIHNyYzUsIHNyYzcsIHNyYzYsIHNyYzgsIHNyYzcsIHZlYzQsCi0gICAgICAgICAg
ICB2ZWM1LCB2ZWM2LCB2ZWM3KTsKLSAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2QsIHZlYzEsIHZl
YzAsIHZlYzMsIHZlYzIsIHZlYzUsIHZlYzQsIHZlYzcsIHZlYzYsIHZlYzgsCi0gICAgICAgICAg
ICB2ZWM5LCB2ZWMxMCwgdmVjMTEpOwotCi0gIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZl
YzgsIGZpbHQwLCB2ZWM5LCBmaWx0MCwgdmVjMTAsIGZpbHQwLCB2ZWMxMSwKLSAgICAgICAgICAg
IGZpbHQwLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKLSAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jh
cm5pX2J1X2gsIHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTLCB0bXAzLCB0bXAyLAotICAgICAgICAg
ICAgRklMVEVSX0JJVFMsIHRtcDAsIHRtcDEpOwotCi0gIF9fbHN4X3ZzdGVsbV93KHRtcDAsIGRz
dCwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDAsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEp
OwotICBfX2xzeF92c3RlbG1fdyh0bXAwLCBkc3QgKyBkc3Rfc3RyaWRlMiwgMCwgMik7Ci0gIF9f
bHN4X3ZzdGVsbV93KHRtcDAsIGRzdCArIGRzdF9zdHJpZGUzLCAwLCAzKTsKLQotICBfX2xzeF92
c3RlbG1fdyh0bXAxLCBkc3RfdG1wMSwgMCwgMCk7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDEsIGRz
dF90bXAxICsgZHN0X3N0cmlkZSwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV93KHRtcDEsIGRzdF90
bXAxICsgZHN0X3N0cmlkZTIsIDAsIDIpOwotICBfX2xzeF92c3RlbG1fdyh0bXAxLCBkc3RfdG1w
MSArIGRzdF9zdHJpZGUzLCAwLCAzKTsKLX0KLQotc3RhdGljIHZvaWQgY29tbW9uX3Z0XzJ0XzR3
X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBpbnQzMl90IGhl
aWdodCkgewotICBpZiAoaGVpZ2h0ID09IDQpIHsKLSAgICBjb21tb25fdnRfMnRfNHg0X2xzeChz
cmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyKTsKLSAgfSBlbHNlIGlmICho
ZWlnaHQgPT0gOCkgewotICAgIGNvbW1vbl92dF8ydF80eDhfbHN4KHNyYywgc3JjX3N0cmlkZSwg
ZHN0LCBkc3Rfc3RyaWRlLCBmaWx0ZXIpOwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92
dF8ydF84eDRfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlcikg
ewotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHZlYzAsIHZlYzEsIHZl
YzIsIHZlYzMsIGZpbHQwOwotICBfX20xMjhpIG91dDAsIG91dDEsIHRtcDAsIHRtcDEsIHRtcDIs
IHRtcDM7Ci0KLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50
MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBz
cmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTIgPSBk
c3Rfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3RyaWRlMiArIGRz
dF9zdHJpZGU7Ci0KLSAgZmlsdDAgPSBfX2xzeF92bGRyZXBsX2goZmlsdGVyLCAwKTsKLQotICBz
cmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNy
Y19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYywgc3JjX3N0cmlkZTMsCi0gICAgICAgICAg
ICBzcmMsIHNyY19zdHJpZGU0LCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0KTsKLQotICBEVVA0X0FS
RzIoX19sc3hfdmlsdmxfYiwgc3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgc3JjMywgc3JjMiwgc3Jj
NCwgc3JjMywgdmVjMCwKLSAgICAgICAgICAgIHZlYzEsIHZlYzIsIHZlYzMpOwotICBEVVA0X0FS
RzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwgZmlsdDAsIHZlYzIsIGZpbHQw
LCB2ZWMzLCBmaWx0MCwKLSAgICAgICAgICAgIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMpOwotICBE
VVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgdG1wMSwgdG1wMCwgRklMVEVSX0JJVFMsIHRt
cDMsIHRtcDIsCi0gICAgICAgICAgICBGSUxURVJfQklUUywgb3V0MCwgb3V0MSk7Ci0KLSAgX19s
c3hfdnN0ZWxtX2Qob3V0MCwgZHN0LCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX2Qob3V0MCwgZHN0
ICsgZHN0X3N0cmlkZSwgMCwgMSk7Ci0gIF9fbHN4X3ZzdGVsbV9kKG91dDEsIGRzdCArIGRzdF9z
dHJpZGUyLCAwLCAwKTsKLSAgX19sc3hfdnN0ZWxtX2Qob3V0MSwgZHN0ICsgZHN0X3N0cmlkZTMs
IDAsIDEpOwotfQotCi1zdGF0aWMgdm9pZCBjb21tb25fdnRfMnRfOHg4bXVsdF9sc3goY29uc3Qg
dWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVp
Z2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250ID0gKGhlaWdodCA+PiAzKTsKLSAgX19tMTI4aSBz
cmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4OwotICBf
X20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzcsIGZp
bHQwOwotICBfX20xMjhpIG91dDAsIG91dDEsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Ci0KLSAg
aW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3Ry
aWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9
IHNyY19zdHJpZGUyIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTIgPSBkc3Rfc3RyaWRlIDw8
IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3RyaWRlMiArIGRzdF9zdHJpZGU7Ci0g
IGludDMyX3QgZHN0X3N0cmlkZTQgPSBkc3Rfc3RyaWRlMiA8PCAxOwotCi0gIGZpbHQwID0gX19s
c3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0gIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAg
c3JjICs9IHNyY19zdHJpZGU7Ci0KLSAgZm9yICg7IGxvb3BfY250LS07KSB7Ci0gICAgc3JjMSA9
IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19z
dHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzIsIHNyYzMpOwotICAgIHNyYzQgPSBfX2xzeF92
bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLSAgICBzcmM1
ID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3Jj
X3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjNiwgc3JjNykKLSAgICBzcmM4ID0gX19sc3hf
dmxkeChzcmMsIHNyY19zdHJpZGUzKTsKLSAgICBzcmMgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAgICBE
VVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgc3JjMywgc3Jj
Miwgc3JjNCwgc3JjMywKLSAgICAgICAgICAgICAgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7Ci0g
ICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzUsIHNyYzQsIHNyYzYsIHNyYzUsIHNyYzcs
IHNyYzYsIHNyYzgsIHNyYzcsCi0gICAgICAgICAgICAgIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzcp
OwotICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0
MCwgdmVjMiwgZmlsdDAsIHZlYzMsCi0gICAgICAgICAgICAgIGZpbHQwLCB0bXAwLCB0bXAxLCB0
bXAyLCB0bXAzKTsKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgdG1wMSwgdG1w
MCwgRklMVEVSX0JJVFMsIHRtcDMsIHRtcDIsCi0gICAgICAgICAgICAgIEZJTFRFUl9CSVRTLCBv
dXQwLCBvdXQxKTsKLQotICAgIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdCwgMCwgMCk7Ci0gICAg
X19sc3hfdnN0ZWxtX2Qob3V0MCwgZHN0ICsgZHN0X3N0cmlkZSwgMCwgMSk7Ci0gICAgX19sc3hf
dnN0ZWxtX2Qob3V0MSwgZHN0ICsgZHN0X3N0cmlkZTIsIDAsIDApOwotICAgIF9fbHN4X3ZzdGVs
bV9kKG91dDEsIGRzdCArIGRzdF9zdHJpZGUzLCAwLCAxKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlk
ZTQ7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM0LCBmaWx0MCwgdmVjNSwg
ZmlsdDAsIHZlYzYsIGZpbHQwLCB2ZWM3LAotICAgICAgICAgICAgICBmaWx0MCwgdG1wMCwgdG1w
MSwgdG1wMiwgdG1wMyk7Ci0gICAgRFVQMl9BUkczKF9fbHN4X3Zzc3Jhcm5pX2J1X2gsIHRtcDEs
IHRtcDAsIEZJTFRFUl9CSVRTLCB0bXAzLCB0bXAyLAotICAgICAgICAgICAgICBGSUxURVJfQklU
Uywgb3V0MCwgb3V0MSk7Ci0KLSAgICBfX2xzeF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDApOwot
ICAgIF9fbHN4X3ZzdGVsbV9kKG91dDAsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwotICAgIF9f
bHN4X3ZzdGVsbV9kKG91dDEsIGRzdCArIGRzdF9zdHJpZGUyLCAwLCAwKTsKLSAgICBfX2xzeF92
c3RlbG1fZChvdXQxLCBkc3QgKyBkc3Rfc3RyaWRlMywgMCwgMSk7Ci0gICAgZHN0ICs9IGRzdF9z
dHJpZGU0OwotCi0gICAgc3JjMCA9IHNyYzg7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgY29tbW9u
X3Z0XzJ0Xzh3X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCAqZmlsdGVyLCBp
bnQzMl90IGhlaWdodCkgewotICBpZiAoaGVpZ2h0ID09IDQpIHsKLSAgICBjb21tb25fdnRfMnRf
OHg0X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyKTsKLSAgfSBl
bHNlIHsKLSAgICBjb21tb25fdnRfMnRfOHg4bXVsdF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3Qs
IGRzdF9zdHJpZGUsIGZpbHRlciwgaGVpZ2h0KTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb21t
b25fdnRfMnRfMTZ3X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90ICpmaWx0
ZXIsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIHVpbnQzMl90IGxvb3BfY250ID0gKGhlaWdodCA+PiAy
KTsKLSAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCB0bXAsIHRtcDAsIHRt
cDE7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwg
dmVjNywgZmlsdDA7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0g
IGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMy
X3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotCi0gIGZpbHQwID0gX19sc3hfdmxk
cmVwbF9oKGZpbHRlciwgMCk7Ci0KLSAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICBzcmMg
Kz0gc3JjX3N0cmlkZTsKLQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBzcmMxID0gX19s
c3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlk
ZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMiwgc3JjMyk7Ci0gICAgc3JjNCA9IF9fbHN4X3ZsZHgo
c3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU0OwotCi0gICAgRFVQMl9B
UkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHZlYzAsIHZlYzIpOwot
ICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmMxLCBzcmMwLCBzcmMyLCBzcmMxLCB2ZWMx
LCB2ZWMzKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVj
MSwgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIHRtcCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1w
MSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIF9fbHN4X3ZzdCh0bXAsIGRzdCwgMCk7Ci0gICAg
ZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjMywg
c3JjMiwgc3JjNCwgc3JjMywgdmVjNCwgdmVjNik7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZo
X2IsIHNyYzMsIHNyYzIsIHNyYzQsIHNyYzMsIHZlYzUsIHZlYzcpOwotICAgIERVUDJfQVJHMihf
X2xzeF92ZHAyX2hfYnUsIHZlYzIsIGZpbHQwLCB2ZWMzLCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0g
ICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0g
ICAgX19sc3hfdnN0KHRtcCwgZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAg
IERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzQsIGZpbHQwLCB2ZWM1LCBmaWx0MCwgdG1w
MCwgdG1wMSk7Ci0gICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxU
RVJfQklUUyk7Ci0gICAgX19sc3hfdnN0KHRtcCwgZHN0LCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0
cmlkZTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzYsIGZpbHQwLCB2ZWM3
LCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0gICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAx
LCB0bXAwLCBGSUxURVJfQklUUyk7Ci0gICAgX19sc3hfdnN0KHRtcCwgZHN0LCAwKTsKLSAgICBk
c3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIHNyYzAgPSBzcmM0OwotICB9Ci19Ci0KLXN0YXRpYyB2
b2lkIGNvbW1vbl92dF8ydF8zMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBp
bnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4
X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsKLSAgdWludDMyX3QgbG9vcF9jbnQgPSAoaGVp
Z2h0ID4+IDIpOwotICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUs
IHNyYzYsIHNyYzcsIHNyYzgsIHNyYzk7Ci0gIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVj
MywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNywgZmlsdDA7Ci0gIF9fbTEyOGkgdG1wLCB0bXAwLCB0
bXAxOwotCi0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMy
X3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3Jj
X3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0
X3N0cmlkZSA8PCAxOwotICBpbnQzMl90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rf
c3RyaWRlOwotICB1aW50OF90ICpzcmNfdG1wOwotCi0gIGZpbHQwID0gX19sc3hfdmxkcmVwbF9o
KGZpbHRlciwgMCk7Ci0KLSAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBz
cmMwLCBzcmM1KTsKLSAgc3JjICs9IHNyY19zdHJpZGU7Ci0gIHNyY190bXAgPSBzcmMgKyAxNjsK
LQotICBmb3IgKDsgbG9vcF9jbnQtLTspIHsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMs
IDAsIHNyY190bXAsIDAsIHNyYzEsIHNyYzYpOwotICAgIERVUDRfQVJHMihfX2xzeF92bGR4LCBz
cmMsIHNyY19zdHJpZGUsIHNyY190bXAsIHNyY19zdHJpZGUsIHNyYywKLSAgICAgICAgICAgICAg
c3JjX3N0cmlkZTIsIHNyY190bXAsIHNyY19zdHJpZGUyLCBzcmMyLCBzcmM3LCBzcmMzLCBzcmM4
KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlMywgc3JjX3RtcCwg
c3JjX3N0cmlkZTMsIHNyYzQsIHNyYzkpOwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9iLCBz
cmMxLCBzcmMwLCBzcmMyLCBzcmMxLCB2ZWMwLCB2ZWMyKTsKLSAgICBEVVAyX0FSRzIoX19sc3hf
dmlsdmhfYiwgc3JjMSwgc3JjMCwgc3JjMiwgc3JjMSwgdmVjMSwgdmVjMyk7Ci0gICAgc3JjICs9
IHNyY19zdHJpZGU0OwotICAgIHNyY190bXAgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAgICBEVVAyX0FS
RzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwgZmlsdDAsIHRtcDAsIHRtcDEp
OwotICAgIHRtcCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMp
OwotICAgIF9fbHN4X3ZzdCh0bXAsIGRzdCwgMCk7Ci0KLSAgICBEVVAyX0FSRzIoX19sc3hfdmRw
Ml9oX2J1LCB2ZWMyLCBmaWx0MCwgdmVjMywgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIHRtcCA9
IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIF9fbHN4
X3ZzdHgodG1wLCBkc3QsIGRzdF9zdHJpZGUpOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZs
X2IsIHNyYzMsIHNyYzIsIHNyYzQsIHNyYzMsIHZlYzQsIHZlYzYpOwotICAgIERVUDJfQVJHMihf
X2xzeF92aWx2aF9iLCBzcmMzLCBzcmMyLCBzcmM0LCBzcmMzLCB2ZWM1LCB2ZWM3KTsKLSAgICBE
VVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWM0LCBmaWx0MCwgdmVjNSwgZmlsdDAsIHRtcDAs
IHRtcDEpOwotICAgIHRtcCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVS
X0JJVFMpOwotICAgIF9fbHN4X3ZzdHgodG1wLCBkc3QsIGRzdF9zdHJpZGUyKTsKLQotICAgIERV
UDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzYsIGZpbHQwLCB2ZWM3LCBmaWx0MCwgdG1wMCwg
dG1wMSk7Ci0gICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJf
QklUUyk7Ci0gICAgX19sc3hfdnN0eCh0bXAsIGRzdCwgZHN0X3N0cmlkZTMpOwotCi0gICAgRFVQ
Ml9BUkcyKF9fbHN4X3ZpbHZsX2IsIHNyYzYsIHNyYzUsIHNyYzcsIHNyYzYsIHZlYzAsIHZlYzIp
OwotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCBzcmM2LCBzcmM1LCBzcmM3LCBzcmM2LCB2
ZWMxLCB2ZWMzKTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwg
dmVjMSwgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAgIHRtcCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2go
dG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAgIF9fbHN4X3ZzdCh0bXAsIGRzdCwgMTYpOwot
Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMiwgZmlsdDAsIHZlYzMsIGZpbHQw
LCB0bXAwLCB0bXAxKTsKLSAgICB0bXAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAs
IEZJTFRFUl9CSVRTKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3QodG1w
LCBkc3QsIDE2KTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9iLCBzcmM4LCBzcmM3LCBz
cmM5LCBzcmM4LCB2ZWM0LCB2ZWM2KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfYiwgc3Jj
OCwgc3JjNywgc3JjOSwgc3JjOCwgdmVjNSwgdmVjNyk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Zk
cDJfaF9idSwgdmVjNCwgZmlsdDAsIHZlYzUsIGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgICB0bXAg
PSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3QodG1wLCBkc3QsIDE2KTsKLQotICAgIERVUDJf
QVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzYsIGZpbHQwLCB2ZWM3LCBmaWx0MCwgdG1wMCwgdG1w
MSk7Ci0gICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklU
Uyk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0KHRtcCwgZHN0LCAxNik7
Ci0KLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgIHNyYzAgPSBzcmM0OwotICAgIHNyYzUg
PSBzcmM5OwotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvbW1vbl92dF8ydF82NHdfbHN4KGNvbnN0
IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBoZWlnaHQpIHsK
LSAgdWludDMyX3QgbG9vcF9jbnQgPSAoaGVpZ2h0ID4+IDEpOwotICBfX20xMjhpIHNyYzAsIHNy
YzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgsIHNyYzksIHNyYzEw
OwotICBfX20xMjhpIHNyYzExLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2
ZWM2LCB2ZWM3LCBmaWx0MDsKLSAgX19tMTI4aSB0bXAsIHRtcDAsIHRtcDE7Ci0KLSAgaW50MzJf
dCBzcmNfc3RyaWRlMiA9IHNyY19zdHJpZGUgPDwgMTsKLSAgaW50MzJfdCBkc3Rfc3RyaWRlMiA9
IGRzdF9zdHJpZGUgPDwgMTsKLSAgdWludDhfdCAqZHN0X3RtcDEgPSBkc3QgKyBkc3Rfc3RyaWRl
OwotCi0gIGZpbHQwID0gX19sc3hfdmxkcmVwbF9oKGZpbHRlciwgMCk7Ci0KLSAgRFVQNF9BUkcy
KF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMsIDMyLCBzcmMsIDQ4LCBzcmMwLCBzcmMz
LCBzcmM2LAotICAgICAgICAgICAgc3JjOSk7Ci0gIHNyYyArPSBzcmNfc3RyaWRlOwotCi0gIGZv
ciAoOyBsb29wX2NudC0tOykgewotICAgIHVpbnQ4X3QgKnNyY190bXAwID0gc3JjICsgc3JjX3N0
cmlkZTsKLQotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIHNyYywgMCwgc3JjLCAxNiwgc3JjLCAz
Miwgc3JjLCA0OCwgc3JjMSwgc3JjNCwgc3JjNywKLSAgICAgICAgICAgICAgc3JjMTApOwotICAg
IERVUDRfQVJHMihfX2xzeF92bGQsIHNyY190bXAwLCAwLCBzcmNfdG1wMCwgMTYsIHNyY190bXAw
LCAzMiwgc3JjX3RtcDAsIDQ4LAotICAgICAgICAgICAgICBzcmMyLCBzcmM1LCBzcmM4LCBzcmMx
MSk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGUyOwotCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZs
X2IsIHNyYzEsIHNyYzAsIHNyYzIsIHNyYzEsIHZlYzAsIHZlYzIpOwotICAgIERVUDJfQVJHMihf
X2xzeF92aWx2aF9iLCBzcmMxLCBzcmMwLCBzcmMyLCBzcmMxLCB2ZWMxLCB2ZWMzKTsKLSAgICBE
VVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1LCB2ZWMwLCBmaWx0MCwgdmVjMSwgZmlsdDAsIHRtcDAs
IHRtcDEpOwotICAgIHRtcCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVS
X0JJVFMpOwotICAgIF9fbHN4X3ZzdCh0bXAsIGRzdCwgMCk7Ci0KLSAgICBEVVAyX0FSRzIoX19s
c3hfdmRwMl9oX2J1LCB2ZWMyLCBmaWx0MCwgdmVjMywgZmlsdDAsIHRtcDAsIHRtcDEpOwotICAg
IHRtcCA9IF9fbHN4X3Zzc3Jhcm5pX2J1X2godG1wMSwgdG1wMCwgRklMVEVSX0JJVFMpOwotICAg
IF9fbHN4X3ZzdCh0bXAsIGRzdF90bXAxLCAwKTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92aWx2
bF9iLCBzcmM0LCBzcmMzLCBzcmM1LCBzcmM0LCB2ZWM0LCB2ZWM2KTsKLSAgICBEVVAyX0FSRzIo
X19sc3hfdmlsdmhfYiwgc3JjNCwgc3JjMywgc3JjNSwgc3JjNCwgdmVjNSwgdmVjNyk7Ci0gICAg
RFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjNCwgZmlsdDAsIHZlYzUsIGZpbHQwLCB0bXAw
LCB0bXAxKTsKLSAgICB0bXAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJTFRF
Ul9CSVRTKTsKLSAgICBfX2xzeF92c3QodG1wLCBkc3QsIDE2KTsKLQotICAgIERVUDJfQVJHMihf
X2xzeF92ZHAyX2hfYnUsIHZlYzYsIGZpbHQwLCB2ZWM3LCBmaWx0MCwgdG1wMCwgdG1wMSk7Ci0g
ICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7Ci0g
ICAgX19sc3hfdnN0KHRtcCwgZHN0X3RtcDEsIDE2KTsKLQotICAgIERVUDJfQVJHMihfX2xzeF92
aWx2bF9iLCBzcmM3LCBzcmM2LCBzcmM4LCBzcmM3LCB2ZWMwLCB2ZWMyKTsKLSAgICBEVVAyX0FS
RzIoX19sc3hfdmlsdmhfYiwgc3JjNywgc3JjNiwgc3JjOCwgc3JjNywgdmVjMSwgdmVjMyk7Ci0g
ICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjMCwgZmlsdDAsIHZlYzEsIGZpbHQwLCB0
bXAwLCB0bXAxKTsKLSAgICB0bXAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEsIHRtcDAsIEZJ
TFRFUl9CSVRTKTsKLSAgICBfX2xzeF92c3QodG1wLCBkc3QsIDMyKTsKLQotICAgIERVUDJfQVJH
MihfX2xzeF92ZHAyX2hfYnUsIHZlYzIsIGZpbHQwLCB2ZWMzLCBmaWx0MCwgdG1wMCwgdG1wMSk7
Ci0gICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxURVJfQklUUyk7
Ci0gICAgX19sc3hfdnN0KHRtcCwgZHN0X3RtcDEsIDMyKTsKLQotICAgIERVUDJfQVJHMihfX2xz
eF92aWx2bF9iLCBzcmMxMCwgc3JjOSwgc3JjMTEsIHNyYzEwLCB2ZWM0LCB2ZWM2KTsKLSAgICBE
VVAyX0FSRzIoX19sc3hfdmlsdmhfYiwgc3JjMTAsIHNyYzksIHNyYzExLCBzcmMxMCwgdmVjNSwg
dmVjNyk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idSwgdmVjNCwgZmlsdDAsIHZlYzUs
IGZpbHQwLCB0bXAwLCB0bXAxKTsKLSAgICB0bXAgPSBfX2xzeF92c3NyYXJuaV9idV9oKHRtcDEs
IHRtcDAsIEZJTFRFUl9CSVRTKTsKLSAgICBfX2xzeF92c3QodG1wLCBkc3QsIDQ4KTsKLQotICAg
IERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnUsIHZlYzYsIGZpbHQwLCB2ZWM3LCBmaWx0MCwgdG1w
MCwgdG1wMSk7Ci0gICAgdG1wID0gX19sc3hfdnNzcmFybmlfYnVfaCh0bXAxLCB0bXAwLCBGSUxU
RVJfQklUUyk7Ci0gICAgX19sc3hfdnN0KHRtcCwgZHN0X3RtcDEsIDQ4KTsKLSAgICBkc3QgKz0g
ZHN0X3N0cmlkZTI7Ci0gICAgZHN0X3RtcDEgKz0gZHN0X3N0cmlkZTI7Ci0KLSAgICBzcmMwID0g
c3JjMjsKLSAgICBzcmMzID0gc3JjNTsKLSAgICBzcmM2ID0gc3JjODsKLSAgICBzcmM5ID0gc3Jj
MTE7Ci0gIH0KLX0KLQotdm9pZCB2cHhfY29udm9sdmU4X3ZlcnRfbHN4KGNvbnN0IHVpbnQ4X3Qg
KnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCAqZHN0LCBwdHJkaWZmX3QgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDMyX3QgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0
ZXBfcTQsIGludCB3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7Ci0gIGNv
bnN0IGludDE2X3QgKmNvbnN0IGZpbHRlcl95ID0gZmlsdGVyW3kwX3E0XTsKLSAgaW50OF90IGNu
dCwgZmlsdF92ZXJbOF07Ci0KLSAgYXNzZXJ0KHlfc3RlcF9xNCA9PSAxNik7Ci0gIGFzc2VydCgo
KGNvbnN0IGludDMyX3QgKilmaWx0ZXJfeSlbMV0gIT0gMHg4MDAwMDApOwotCi0gIGZvciAoY250
ID0gODsgY250LS07KSB7Ci0gICAgZmlsdF92ZXJbY250XSA9IGZpbHRlcl95W2NudF07Ci0gIH0K
LQotICBpZiAodnB4X2dldF9maWx0ZXJfdGFwcyhmaWx0ZXJfeSkgPT0gMikgewotICAgIHN3aXRj
aCAodykgewotICAgICAgY2FzZSA0OgotICAgICAgICBjb21tb25fdnRfMnRfNHdfbHN4KHNyYywg
KGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LCAoaW50MzJfdClkc3Rfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZmaWx0X3ZlclszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAg
ICAgY2FzZSA4OgotICAgICAgICBjb21tb25fdnRfMnRfOHdfbHN4KHNyYywgKGludDMyX3Qpc3Jj
X3N0cmlkZSwgZHN0LCAoaW50MzJfdClkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZmaWx0X3ZlclszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSAxNjoK
LSAgICAgICAgY29tbW9uX3Z0XzJ0XzE2d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBk
c3QsIChpbnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZm
aWx0X3ZlclszXSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSAzMjoKLSAgICAgICAg
Y29tbW9uX3Z0XzJ0XzMyd19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsIChpbnQz
Ml90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaWx0X3Zlclsz
XSwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA2NDoKLSAgICAgICAgY29tbW9uX3Z0
XzJ0XzY0d19sc3goc3JjLCAoaW50MzJfdClzcmNfc3RyaWRlLCBkc3QsIChpbnQzMl90KWRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaWx0X3ZlclszXSwgaCk7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgdnB4X2NvbnZvbHZlOF92ZXJ0
X2Moc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlciwgeDBfcTQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHhfc3RlcF9xNCwgeTBfcTQsIHlfc3RlcF9xNCwgdywg
aCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgfSBlbHNlIHsKLSAgICBzd2l0Y2ggKHcpIHsK
LSAgICAgIGNhc2UgNDoKLSAgICAgICAgY29tbW9uX3Z0Xzh0XzR3X2xzeChzcmMsIChpbnQzMl90
KXNyY19zdHJpZGUsIGRzdCwgKGludDMyX3QpZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmaWx0X3ZlciwgaCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSA4Ogot
ICAgICAgICBjb21tb25fdnRfOHRfOHdfbHN4KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0
LCAoaW50MzJfdClkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRf
dmVyLCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDE2OgotICAgICAgICBjb21tb25f
dnRfOHRfMTZ3X2xzeChzcmMsIChpbnQzMl90KXNyY19zdHJpZGUsIGRzdCwgKGludDMyX3QpZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdF92ZXIsIGgpOwotICAg
ICAgICBicmVhazsKLSAgICAgIGNhc2UgMzI6Ci0gICAgICAgIGNvbW1vbl92dF84dF8zMndfbHN4
KHNyYywgKGludDMyX3Qpc3JjX3N0cmlkZSwgZHN0LCAoaW50MzJfdClkc3Rfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0X3ZlciwgaCk7Ci0gICAgICAgIGJyZWFrOwot
ICAgICAgY2FzZSA2NDoKLSAgICAgICAgY29tbW9uX3Z0Xzh0XzY0d19sc3goc3JjLCAoaW50MzJf
dClzcmNfc3RyaWRlLCBkc3QsIChpbnQzMl90KWRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbHRfdmVyLCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0
OgotICAgICAgICB2cHhfY29udm9sdmU4X3ZlcnRfYyhzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0
X3N0cmlkZSwgZmlsdGVyLCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeF9z
dGVwX3E0LCB5MF9xNCwgeV9zdGVwX3E0LCB3LCBoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
ICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252
b2x2ZV9hdmdfbHN4LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2
ZV9hdmdfbHN4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkYWQyOWVlZWRjMi4u
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29uZ2FyY2gvdnB4X2NvbnZv
bHZlX2F2Z19sc3guYworKysgL2Rldi9udWxsCkBAIC0xLDMyMSArMCwwIEBACi0vKgotICogIENv
cHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVz
ZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGlu
dGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhl
IGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICog
IGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0
cmVlLgotICovCi0KLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRjZC5oIgotI2luY2x1ZGUgInZweF91
dGlsL2xvb25nc29uX2ludHJpbnNpY3MuaCIKLQotc3RhdGljIHZvaWQgYXZnX3dpZHRoNF9sc3go
Y29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwgaW50MzJfdCBoZWln
aHQpIHsKLSAgaW50MzJfdCBjbnQ7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMTsKLSAgX19tMTI4aSBk
c3QwLCBkc3QxOwotCi0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0K
LSAgaWYgKChoZWlnaHQgJSAyKSA9PSAwKSB7Ci0gICAgZm9yIChjbnQgPSAoaGVpZ2h0IC8gMik7
IGNudC0tOykgewotICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgICAgc3JjMSA9
IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlKTsKLSAgICAgIHNyYyArPSBzcmNfc3RyaWRlMjsK
LQotICAgICAgZHN0MCA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgICAgZHN0MSA9IF9fbHN4X3Zs
ZHgoZHN0LCBkc3Rfc3RyaWRlKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92YXZncl9idSwgc3Jj
MCwgZHN0MCwgc3JjMSwgZHN0MSwgZHN0MCwgZHN0MSk7Ci0KLSAgICAgIF9fbHN4X3ZzdGVsbV93
KGRzdDAsIGRzdCwgMCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4
X3ZzdGVsbV93KGRzdDEsIGRzdCwgMCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAg
ICB9Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgYXZnX3dpZHRoOF9sc3goY29uc3QgdWludDhfdCAq
c3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwgaW50MzJfdCBoZWlnaHQpIHsKLSAgaW50MzJf
dCBjbnQgPSAoaGVpZ2h0IC8gNCk7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMzsK
LSAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzOwotCi0gIGludDMyX3Qgc3JjX3N0cmlk
ZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRl
MiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAx
OwotCi0gIGludDMyX3QgZHN0X3N0cmlkZTIgPSBkc3Rfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qg
ZHN0X3N0cmlkZTMgPSBkc3Rfc3RyaWRlMiArIGRzdF9zdHJpZGU7Ci0KLSAgZm9yICg7IGNudC0t
OykgewotICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgICBEVVAyX0FSRzIoX19sc3hf
dmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAg
ICBzcmMzID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUzKTsKLSAgICBzcmMgKz0gc3JjX3N0
cmlkZTQ7Ci0KLSAgICBkc3QwID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgRFVQMl9BUkcyKF9f
bHN4X3ZsZHgsIGRzdCwgZHN0X3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlMiwgZHN0MSwgZHN0Mik7
Ci0gICAgZHN0MyA9IF9fbHN4X3ZsZHgoZHN0LCBkc3Rfc3RyaWRlMyk7Ci0KLSAgICBEVVA0X0FS
RzIoX19sc3hfdmF2Z3JfYnUsIHNyYzAsIGRzdDAsIHNyYzEsIGRzdDEsIHNyYzIsIGRzdDIsIHNy
YzMsIGRzdDMsCi0gICAgICAgICAgICAgIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMpOwotCi0gICAg
X19sc3hfdnN0ZWxtX2QoZHN0MCwgZHN0LCAwLCAwKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTsK
LSAgICBfX2xzeF92c3RlbG1fZChkc3QxLCBkc3QsIDAsIDApOwotICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotICAgIF9fbHN4X3ZzdGVsbV9kKGRzdDIsIGRzdCwgMCwgMCk7Ci0gICAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0ZWxtX2QoZHN0MywgZHN0LCAwLCAwKTsKLSAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBhdmdfd2lkdGgxNl9sc3goY29u
c3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsIGludDMyX3QgaGVpZ2h0
KSB7Ci0gIGludDMyX3QgY250ID0gKGhlaWdodCAvIDgpOwotICBfX20xMjhpIHNyYzAsIHNyYzEs
IHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzc7Ci0gIF9fbTEyOGkgZHN0MCwgZHN0
MSwgZHN0MiwgZHN0MywgZHN0NCwgZHN0NSwgZHN0NiwgZHN0NzsKLQotICBpbnQzMl90IHNyY19z
dHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0gc3JjX3N0
cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0cmlkZTIg
PDwgMTsKLQotICBpbnQzMl90IGRzdF9zdHJpZGUyID0gZHN0X3N0cmlkZSA8PCAxOwotICBpbnQz
Ml90IGRzdF9zdHJpZGUzID0gZHN0X3N0cmlkZTIgKyBkc3Rfc3RyaWRlOwotICBpbnQzMl90IGRz
dF9zdHJpZGU0ID0gZHN0X3N0cmlkZTIgPDwgMTsKLQotICBmb3IgKDsgY250LS07KSB7Ci0gICAg
c3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMs
IHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwotICAgIHNyYzMgPSBf
X2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLSAg
ICBzcmM0ID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNy
Yywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjNSwgc3JjNik7Ci0gICAgc3JjNyA9
IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU0Owot
Ci0gICAgZHN0MCA9IF9fbHN4X3ZsZChkc3QsIDApOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4
LCBkc3QsIGRzdF9zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZTIsIGRzdDEsIGRzdDIpOwotICAgIGRz
dDMgPSBfX2xzeF92bGR4KGRzdCwgZHN0X3N0cmlkZTMpOwotICAgIGRzdCArPSBkc3Rfc3RyaWRl
NDsKLSAgICBkc3Q0ID0gX19sc3hfdmxkKGRzdCwgMCk7Ci0gICAgRFVQMl9BUkcyKF9fbHN4X3Zs
ZHgsIGRzdCwgZHN0X3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlMiwgZHN0NSwgZHN0Nik7Ci0gICAg
ZHN0NyA9IF9fbHN4X3ZsZHgoZHN0LCBkc3Rfc3RyaWRlMyk7Ci0gICAgZHN0IC09IGRzdF9zdHJp
ZGU0OwotCi0gICAgRFVQNF9BUkcyKF9fbHN4X3ZhdmdyX2J1LCBzcmMwLCBkc3QwLCBzcmMxLCBk
c3QxLCBzcmMyLCBkc3QyLCBzcmMzLCBkc3QzLAotICAgICAgICAgICAgICBkc3QwLCBkc3QxLCBk
c3QyLCBkc3QzKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmF2Z3JfYnUsIHNyYzQsIGRzdDQsIHNy
YzUsIGRzdDUsIHNyYzYsIGRzdDYsIHNyYzcsIGRzdDcsCi0gICAgICAgICAgICAgIGRzdDQsIGRz
dDUsIGRzdDYsIGRzdDcpOwotCi0gICAgX19sc3hfdnN0KGRzdDAsIGRzdCwgMCk7Ci0gICAgX19s
c3hfdnN0eChkc3QxLCBkc3QsIGRzdF9zdHJpZGUpOwotICAgIF9fbHN4X3ZzdHgoZHN0MiwgZHN0
LCBkc3Rfc3RyaWRlMik7Ci0gICAgX19sc3hfdnN0eChkc3QzLCBkc3QsIGRzdF9zdHJpZGUzKTsK
LSAgICBkc3QgKz0gZHN0X3N0cmlkZTQ7Ci0gICAgX19sc3hfdnN0KGRzdDQsIGRzdCwgMCk7Ci0g
ICAgX19sc3hfdnN0eChkc3Q1LCBkc3QsIGRzdF9zdHJpZGUpOwotICAgIF9fbHN4X3ZzdHgoZHN0
NiwgZHN0LCBkc3Rfc3RyaWRlMik7Ci0gICAgX19sc3hfdnN0eChkc3Q3LCBkc3QsIGRzdF9zdHJp
ZGUzKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTQ7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgYXZn
X3dpZHRoMzJfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRl
LCBpbnQzMl90IGhlaWdodCkgewotICBpbnQzMl90IGNudCA9IChoZWlnaHQgLyA4KTsKLSAgX19t
MTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3OwotICBf
X20xMjhpIHNyYzgsIHNyYzksIHNyYzEwLCBzcmMxMSwgc3JjMTIsIHNyYzEzLCBzcmMxNCwgc3Jj
MTU7Ci0gIF9fbTEyOGkgZHN0MCwgZHN0MSwgZHN0MiwgZHN0MywgZHN0NCwgZHN0NSwgZHN0Niwg
ZHN0NzsKLSAgX19tMTI4aSBkc3Q4LCBkc3Q5LCBkc3QxMCwgZHN0MTEsIGRzdDEyLCBkc3QxMywg
ZHN0MTQsIGRzdDE1OwotCi0gIGludDMyX3Qgc3JjX3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7
Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNfc3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGlu
dDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRlMiA8PCAxOwotCi0gIGludDMyX3QgZHN0X3N0
cmlkZTIgPSBkc3Rfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTMgPSBkc3Rfc3Ry
aWRlMiArIGRzdF9zdHJpZGU7Ci0gIGludDMyX3QgZHN0X3N0cmlkZTQgPSBkc3Rfc3RyaWRlMiA8
PCAxOwotCi0gIGZvciAoOyBjbnQtLTspIHsKLSAgICB1aW50OF90ICpkc3RfdG1wID0gZHN0Owot
ICAgIHVpbnQ4X3QgKmRzdF90bXAxID0gZHN0X3RtcCArIDE2OwotICAgIHVpbnQ4X3QgKnNyY190
bXAgPSBzcmMgKyAxNjsKLQotICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAwKTsKLSAgICBEVVAy
X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyY190bXAsIDAsIHNyYzAsIHNyYzEpOwotICAgIERV
UDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyY190bXAsIHNyY19zdHJpZGUs
IHNyYywKLSAgICAgICAgICAgICAgc3JjX3N0cmlkZTIsIHNyY190bXAsIHNyY19zdHJpZGUyLCBz
cmMyLCBzcmMzLCBzcmM0LCBzcmM1KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBz
cmNfc3RyaWRlMywgc3JjX3RtcCwgc3JjX3N0cmlkZTMsIHNyYzYsIHNyYzcpOwotICAgIHNyYyAr
PSBzcmNfc3RyaWRlNDsKLQotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIGRzdF90bXAsIDAsIGRz
dF90bXAxLCAwLCBkc3QwLCBkc3QxKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgZHN0X3Rt
cCwgZHN0X3N0cmlkZSwgZHN0X3RtcDEsIGRzdF9zdHJpZGUsIGRzdF90bXAsCi0gICAgICAgICAg
ICAgIGRzdF9zdHJpZGUyLCBkc3RfdG1wMSwgZHN0X3N0cmlkZTIsIGRzdDIsIGRzdDMsIGRzdDQs
IGRzdDUpOwotICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBkc3RfdG1wLCBkc3Rfc3RyaWRlMywg
ZHN0X3RtcDEsIGRzdF9zdHJpZGUzLCBkc3Q2LAotICAgICAgICAgICAgICBkc3Q3KTsKLSAgICBk
c3RfdG1wICs9IGRzdF9zdHJpZGU0OwotICAgIGRzdF90bXAxICs9IGRzdF9zdHJpZGU0OwotCi0g
ICAgc3JjX3RtcCA9IHNyYyArIDE2OwotICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywgMCwg
c3JjX3RtcCwgMCwgc3JjOCwgc3JjOSk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZHgsIHNyYywg
c3JjX3N0cmlkZSwgc3JjX3RtcCwgc3JjX3N0cmlkZSwgc3JjLAotICAgICAgICAgICAgICBzcmNf
c3RyaWRlMiwgc3JjX3RtcCwgc3JjX3N0cmlkZTIsIHNyYzEwLCBzcmMxMSwgc3JjMTIsIHNyYzEz
KTsKLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlMywgc3JjX3RtcCwg
c3JjX3N0cmlkZTMsIHNyYzE0LCBzcmMxNSk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU0OwotCi0g
ICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgZHN0X3RtcCwgMCwgZHN0X3RtcDEsIDAsIGRzdDgsIGRz
dDkpOwotICAgIERVUDRfQVJHMihfX2xzeF92bGR4LCBkc3RfdG1wLCBkc3Rfc3RyaWRlLCBkc3Rf
dG1wMSwgZHN0X3N0cmlkZSwgZHN0X3RtcCwKLSAgICAgICAgICAgICAgZHN0X3N0cmlkZTIsIGRz
dF90bXAxLCBkc3Rfc3RyaWRlMiwgZHN0MTAsIGRzdDExLCBkc3QxMiwgZHN0MTMpOwotICAgIERV
UDJfQVJHMihfX2xzeF92bGR4LCBkc3RfdG1wLCBkc3Rfc3RyaWRlMywgZHN0X3RtcDEsIGRzdF9z
dHJpZGUzLCBkc3QxNCwKLSAgICAgICAgICAgICAgZHN0MTUpOwotICAgIERVUDRfQVJHMihfX2xz
eF92YXZncl9idSwgc3JjMCwgZHN0MCwgc3JjMSwgZHN0MSwgc3JjMiwgZHN0Miwgc3JjMywgZHN0
MywKLSAgICAgICAgICAgICAgZHN0MCwgZHN0MSwgZHN0MiwgZHN0Myk7Ci0gICAgRFVQNF9BUkcy
KF9fbHN4X3ZhdmdyX2J1LCBzcmM0LCBkc3Q0LCBzcmM1LCBkc3Q1LCBzcmM2LCBkc3Q2LCBzcmM3
LCBkc3Q3LAotICAgICAgICAgICAgICBkc3Q0LCBkc3Q1LCBkc3Q2LCBkc3Q3KTsKLSAgICBEVVA0
X0FSRzIoX19sc3hfdmF2Z3JfYnUsIHNyYzgsIGRzdDgsIHNyYzksIGRzdDksIHNyYzEwLCBkc3Qx
MCwgc3JjMTEsCi0gICAgICAgICAgICAgIGRzdDExLCBkc3Q4LCBkc3Q5LCBkc3QxMCwgZHN0MTEp
OwotICAgIERVUDRfQVJHMihfX2xzeF92YXZncl9idSwgc3JjMTIsIGRzdDEyLCBzcmMxMywgZHN0
MTMsIHNyYzE0LCBkc3QxNCwgc3JjMTUsCi0gICAgICAgICAgICAgIGRzdDE1LCBkc3QxMiwgZHN0
MTMsIGRzdDE0LCBkc3QxNSk7Ci0KLSAgICBkc3RfdG1wID0gZHN0ICsgMTY7Ci0gICAgX19sc3hf
dnN0KGRzdDAsIGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0eChkc3QyLCBkc3QsIGRzdF9zdHJpZGUp
OwotICAgIF9fbHN4X3ZzdHgoZHN0NCwgZHN0LCBkc3Rfc3RyaWRlMik7Ci0gICAgX19sc3hfdnN0
eChkc3Q2LCBkc3QsIGRzdF9zdHJpZGUzKTsKLSAgICBfX2xzeF92c3QoZHN0MSwgZHN0X3RtcCwg
MCk7Ci0gICAgX19sc3hfdnN0eChkc3QzLCBkc3RfdG1wLCBkc3Rfc3RyaWRlKTsKLSAgICBfX2xz
eF92c3R4KGRzdDUsIGRzdF90bXAsIGRzdF9zdHJpZGUyKTsKLSAgICBfX2xzeF92c3R4KGRzdDcs
IGRzdF90bXAsIGRzdF9zdHJpZGUzKTsKLSAgICBkc3QgKz0gZHN0X3N0cmlkZTQ7Ci0KLSAgICBf
X2xzeF92c3QoZHN0OCwgZHN0LCAwKTsKLSAgICBfX2xzeF92c3R4KGRzdDEwLCBkc3QsIGRzdF9z
dHJpZGUpOwotICAgIF9fbHN4X3ZzdHgoZHN0MTIsIGRzdCwgZHN0X3N0cmlkZTIpOwotICAgIF9f
bHN4X3ZzdHgoZHN0MTQsIGRzdCwgZHN0X3N0cmlkZTMpOwotICAgIF9fbHN4X3ZzdChkc3Q5LCBk
c3RfdG1wMSwgMCk7Ci0gICAgX19sc3hfdnN0eChkc3QxMSwgZHN0X3RtcDEsIGRzdF9zdHJpZGUp
OwotICAgIF9fbHN4X3ZzdHgoZHN0MTMsIGRzdF90bXAxLCBkc3Rfc3RyaWRlMik7Ci0gICAgX19s
c3hfdnN0eChkc3QxNSwgZHN0X3RtcDEsIGRzdF9zdHJpZGUzKTsKLSAgICBkc3QgKz0gZHN0X3N0
cmlkZTQ7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgYXZnX3dpZHRoNjRfbHN4KGNvbnN0IHVpbnQ4
X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLCBpbnQzMl90IGhlaWdodCkgewotICBp
bnQzMl90IGNudCA9IChoZWlnaHQgLyA0KTsKLSAgdWludDhfdCAqZHN0X3RtcCA9IGRzdDsKLQot
ICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzc7
Ci0gIF9fbTEyOGkgc3JjOCwgc3JjOSwgc3JjMTAsIHNyYzExLCBzcmMxMiwgc3JjMTMsIHNyYzE0
LCBzcmMxNTsKLSAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBkc3Q0LCBkc3Q1LCBk
c3Q2LCBkc3Q3OwotICBfX20xMjhpIGRzdDgsIGRzdDksIGRzdDEwLCBkc3QxMSwgZHN0MTIsIGRz
dDEzLCBkc3QxNCwgZHN0MTU7Ci0KLSAgZm9yICg7IGNudC0tOykgewotICAgIERVUDRfQVJHMihf
X2xzeF92bGQsIHNyYywgMCwgc3JjLCAxNiwgc3JjLCAzMiwgc3JjLCA0OCwgc3JjMCwgc3JjMSwg
c3JjMiwKLSAgICAgICAgICAgICAgc3JjMyk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAg
RFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMsIDE2LCBzcmMsIDMyLCBzcmMsIDQ4LCBz
cmM0LCBzcmM1LCBzcmM2LAotICAgICAgICAgICAgICBzcmM3KTsKLSAgICBzcmMgKz0gc3JjX3N0
cmlkZTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmxkLCBzcmMsIDAsIHNyYywgMTYsIHNyYywgMzIs
IHNyYywgNDgsIHNyYzgsIHNyYzksIHNyYzEwLAotICAgICAgICAgICAgICBzcmMxMSk7Ci0gICAg
c3JjICs9IHNyY19zdHJpZGU7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgc3JjLCAwLCBzcmMs
IDE2LCBzcmMsIDMyLCBzcmMsIDQ4LCBzcmMxMiwgc3JjMTMsIHNyYzE0LAotICAgICAgICAgICAg
ICBzcmMxNSk7Ci0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0KLSAgICBEVVA0X0FSRzIoX19sc3hf
dmxkLCBkc3RfdG1wLCAwLCBkc3RfdG1wLCAxNiwgZHN0X3RtcCwgMzIsIGRzdF90bXAsIDQ4LAot
ICAgICAgICAgICAgICBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzKTsKLSAgICBkc3RfdG1wICs9IGRz
dF9zdHJpZGU7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZsZCwgZHN0X3RtcCwgMCwgZHN0X3RtcCwg
MTYsIGRzdF90bXAsIDMyLCBkc3RfdG1wLCA0OCwKLSAgICAgICAgICAgICAgZHN0NCwgZHN0NSwg
ZHN0NiwgZHN0Nyk7Ci0gICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgIERVUDRfQVJHMihf
X2xzeF92bGQsIGRzdF90bXAsIDAsIGRzdF90bXAsIDE2LCBkc3RfdG1wLCAzMiwgZHN0X3RtcCwg
NDgsCi0gICAgICAgICAgICAgIGRzdDgsIGRzdDksIGRzdDEwLCBkc3QxMSk7Ci0gICAgZHN0X3Rt
cCArPSBkc3Rfc3RyaWRlOwotICAgIERVUDRfQVJHMihfX2xzeF92bGQsIGRzdF90bXAsIDAsIGRz
dF90bXAsIDE2LCBkc3RfdG1wLCAzMiwgZHN0X3RtcCwgNDgsCi0gICAgICAgICAgICAgIGRzdDEy
LCBkc3QxMywgZHN0MTQsIGRzdDE1KTsKLSAgICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0KLSAg
ICBEVVA0X0FSRzIoX19sc3hfdmF2Z3JfYnUsIHNyYzAsIGRzdDAsIHNyYzEsIGRzdDEsIHNyYzIs
IGRzdDIsIHNyYzMsIGRzdDMsCi0gICAgICAgICAgICAgIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMp
OwotICAgIERVUDRfQVJHMihfX2xzeF92YXZncl9idSwgc3JjNCwgZHN0NCwgc3JjNSwgZHN0NSwg
c3JjNiwgZHN0Niwgc3JjNywgZHN0NywKLSAgICAgICAgICAgICAgZHN0NCwgZHN0NSwgZHN0Niwg
ZHN0Nyk7Ci0gICAgRFVQNF9BUkcyKF9fbHN4X3ZhdmdyX2J1LCBzcmM4LCBkc3Q4LCBzcmM5LCBk
c3Q5LCBzcmMxMCwgZHN0MTAsIHNyYzExLAotICAgICAgICAgICAgICBkc3QxMSwgZHN0OCwgZHN0
OSwgZHN0MTAsIGRzdDExKTsKLSAgICBEVVA0X0FSRzIoX19sc3hfdmF2Z3JfYnUsIHNyYzEyLCBk
c3QxMiwgc3JjMTMsIGRzdDEzLCBzcmMxNCwgZHN0MTQsIHNyYzE1LAotICAgICAgICAgICAgICBk
c3QxNSwgZHN0MTIsIGRzdDEzLCBkc3QxNCwgZHN0MTUpOwotCi0gICAgX19sc3hfdnN0KGRzdDAs
IGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0KGRzdDEsIGRzdCwgMTYpOwotICAgIF9fbHN4X3ZzdChk
c3QyLCBkc3QsIDMyKTsKLSAgICBfX2xzeF92c3QoZHN0MywgZHN0LCA0OCk7Ci0gICAgZHN0ICs9
IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hfdnN0KGRzdDQsIGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0
KGRzdDUsIGRzdCwgMTYpOwotICAgIF9fbHN4X3ZzdChkc3Q2LCBkc3QsIDMyKTsKLSAgICBfX2xz
eF92c3QoZHN0NywgZHN0LCA0OCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgX19sc3hf
dnN0KGRzdDgsIGRzdCwgMCk7Ci0gICAgX19sc3hfdnN0KGRzdDksIGRzdCwgMTYpOwotICAgIF9f
bHN4X3ZzdChkc3QxMCwgZHN0LCAzMik7Ci0gICAgX19sc3hfdnN0KGRzdDExLCBkc3QsIDQ4KTsK
LSAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICBfX2xzeF92c3QoZHN0MTIsIGRzdCwgMCk7Ci0g
ICAgX19sc3hfdnN0KGRzdDEzLCBkc3QsIDE2KTsKLSAgICBfX2xzeF92c3QoZHN0MTQsIGRzdCwg
MzIpOwotICAgIF9fbHN4X3ZzdChkc3QxNSwgZHN0LCA0OCk7Ci0gICAgZHN0ICs9IGRzdF9zdHJp
ZGU7Ci0gIH0KLX0KLQotdm9pZCB2cHhfY29udm9sdmVfYXZnX2xzeChjb25zdCB1aW50OF90ICpz
cmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQzMl90IHhfc3RlcF9xNCwgaW50IHkwX3E0LCBpbnQzMl90IHlfc3RlcF9x
NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCB3LCBpbnQzMl90IGgpIHsKLSAg
KHZvaWQpZmlsdGVyOwotICAodm9pZCl4MF9xNDsKLSAgKHZvaWQpeF9zdGVwX3E0OwotICAodm9p
ZCl5MF9xNDsKLSAgKHZvaWQpeV9zdGVwX3E0OwotICBzd2l0Y2ggKHcpIHsKLSAgICBjYXNlIDQ6
IHsKLSAgICAgIGF2Z193aWR0aDRfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRl
LCBoKTsKLSAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIGNhc2UgODogewotICAgICAgYXZnX3dp
ZHRoOF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGgpOwotICAgICAgYnJl
YWs7Ci0gICAgfQotICAgIGNhc2UgMTY6IHsKLSAgICAgIGF2Z193aWR0aDE2X2xzeChzcmMsIHNy
Y19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgaCk7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAg
Y2FzZSAzMjogewotICAgICAgYXZnX3dpZHRoMzJfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBk
c3Rfc3RyaWRlLCBoKTsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIDY0OiB7Ci0gICAg
ICBhdmdfd2lkdGg2NF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGgpOwot
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGRlZmF1bHQ6IHsKLSAgICAgIGludDMyX3QgbHAsIGNu
dDsKLSAgICAgIGZvciAoY250ID0gaDsgY250LS07KSB7Ci0gICAgICAgIGZvciAobHAgPSAwOyBs
cCA8IHc7ICsrbHApIHsKLSAgICAgICAgICBkc3RbbHBdID0gKCgoZHN0W2xwXSArIHNyY1tscF0p
ICsgMSkgPj4gMSk7Ci0gICAgICAgIH0KLSAgICAgICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAg
ICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgfQotICAgICAgYnJlYWs7Ci0gICAgfQotICB9
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9jb252b2x2
ZV9jb3B5X2xzeC5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9sdmVf
Y29weV9sc3guYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTNkYzcwOTdlZGNkLi4w
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29udm9s
dmVfY29weV9sc3guYworKysgL2Rldi9udWxsCkBAIC0xLDQzNyArMCwwIEBACi0vKgotICogIENv
cHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVz
ZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGlu
dGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhl
IGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICog
IGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0
cmVlLgotICovCi0KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlICIuL3ZweF9kc3BfcnRj
ZC5oIgotI2luY2x1ZGUgInZweF91dGlsL2xvb25nc29uX2ludHJpbnNpY3MuaCIKLQotc3RhdGlj
IHZvaWQgY29weV93aWR0aDhfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBk
c3Rfc3RyaWRlLCBpbnQzMl90IGhlaWdodCkgewotICBpbnQzMl90IGNudDsKLSAgX19tMTI4aSBz
cmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3OwotICBpbnQzMl90
IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUzID0g
c3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3JjX3N0
cmlkZTIgPDwgMTsKLQotICBpZiAoKGhlaWdodCAlIDEyKSA9PSAwKSB7Ci0gICAgZm9yIChjbnQg
PSAoaGVpZ2h0IC8gMTIpOyBjbnQtLTspIHsKLSAgICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjLCAw
KTsKLSAgICAgIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3Jj
X3N0cmlkZTIsIHNyYywgc3JjX3N0cmlkZTMsCi0gICAgICAgICAgICAgICAgc3JjLCBzcmNfc3Ry
aWRlNCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCk7Ci0gICAgICBzcmMgKz0gc3JjX3N0cmlkZTQ7
Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19z
dHJpZGUyLCBzcmM1LCBzcmM2KTsKLSAgICAgIHNyYyArPSBzcmNfc3RyaWRlMjsKLSAgICAgIHNy
YzcgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZSk7Ci0gICAgICBzcmMgKz0gc3JjX3N0cmlk
ZTI7Ci0KLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNyYzAsIGRzdCwgMCwgMCk7Ci0gICAgICBkc3Qg
Kz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNyYzEsIGRzdCwgMCwgMCk7Ci0g
ICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNyYzIsIGRzdCwg
MCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNy
YzMsIGRzdCwgMCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgICAgX19sc3hf
dnN0ZWxtX2Qoc3JjNCwgZHN0LCAwLCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAg
ICAgX19sc3hfdnN0ZWxtX2Qoc3JjNSwgZHN0LCAwLCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3Ry
aWRlOwotICAgICAgX19sc3hfdnN0ZWxtX2Qoc3JjNiwgZHN0LCAwLCAwKTsKLSAgICAgIGRzdCAr
PSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0ZWxtX2Qoc3JjNywgZHN0LCAwLCAwKTsKLSAg
ICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gICAgICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7
Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19z
dHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAgICAgIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0
cmlkZTMpOwotICAgICAgc3JjICs9IHNyY19zdHJpZGU0OwotCi0gICAgICBfX2xzeF92c3RlbG1f
ZChzcmMwLCBkc3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xz
eF92c3RlbG1fZChzcmMxLCBkc3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0g
ICAgICBfX2xzeF92c3RlbG1fZChzcmMyLCBkc3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9z
dHJpZGU7Ci0gICAgICBfX2xzeF92c3RlbG1fZChzcmMzLCBkc3QsIDAsIDApOwotICAgICAgZHN0
ICs9IGRzdF9zdHJpZGU7Ci0gICAgfQotICB9IGVsc2UgaWYgKChoZWlnaHQgJSA4KSA9PSAwKSB7
Ci0gICAgZm9yIChjbnQgPSBoZWlnaHQgPj4gMzsgY250LS07KSB7Ci0gICAgICBzcmMwID0gX19s
c3hfdmxkKHNyYywgMCk7Ci0gICAgICBEVVA0X0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3Ry
aWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMsIHNyY19zdHJpZGUzLAotICAgICAgICAgICAgICAg
IHNyYywgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQpOwotICAgICAgc3JjICs9
IHNyY19zdHJpZGU0OwotICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlk
ZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjNSwgc3JjNik7Ci0gICAgICBzcmMgKz0gc3JjX3N0cmlk
ZTI7Ci0gICAgICBzcmM3ID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUpOwotICAgICAgc3Jj
ICs9IHNyY19zdHJpZGUyOwotCi0gICAgICBfX2xzeF92c3RlbG1fZChzcmMwLCBkc3QsIDAsIDAp
OwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3RlbG1fZChzcmMxLCBk
c3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3RlbG1f
ZChzcmMyLCBkc3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xz
eF92c3RlbG1fZChzcmMzLCBkc3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0K
LSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNyYzQsIGRzdCwgMCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0
X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNyYzUsIGRzdCwgMCwgMCk7Ci0gICAgICBk
c3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNyYzYsIGRzdCwgMCwgMCk7
Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdGVsbV9kKHNyYzcsIGRz
dCwgMCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICB9Ci0gIH0gZWxzZSBpZiAo
KGhlaWdodCAlIDQpID09IDApIHsKLSAgICBmb3IgKGNudCA9IChoZWlnaHQgLyA0KTsgY250LS07
KSB7Ci0gICAgICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgICBEVVAyX0FSRzIoX19s
c3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMxLCBzcmMyKTsK
LSAgICAgIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotICAgICAgc3JjICs9
IHNyY19zdHJpZGU0OwotCi0gICAgICBfX2xzeF92c3RlbG1fZChzcmMwLCBkc3QsIDAsIDApOwot
ICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3RlbG1fZChzcmMxLCBkc3Qs
IDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3RlbG1fZChz
cmMyLCBkc3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92
c3RlbG1fZChzcmMzLCBkc3QsIDAsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAg
fQotICB9IGVsc2UgaWYgKChoZWlnaHQgJSAyKSA9PSAwKSB7Ci0gICAgZm9yIChjbnQgPSAoaGVp
Z2h0IC8gMik7IGNudC0tOykgewotICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAg
ICAgc3JjMSA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlKTsKLSAgICAgIHNyYyArPSBzcmNf
c3RyaWRlMjsKLQotICAgICAgX19sc3hfdnN0ZWxtX2Qoc3JjMCwgZHN0LCAwLCAwKTsKLSAgICAg
IGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0ZWxtX2Qoc3JjMSwgZHN0LCAwLCAw
KTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgIH0KLSAgfQotfQotCi1zdGF0aWMgdm9p
ZCBjb3B5XzE2bXVsdHg4bXVsdF9sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBp
bnQzMl90IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
MzJfdCBoZWlnaHQsIGludDMyX3Qgd2lkdGgpIHsKLSAgaW50MzJfdCBjbnQsIGxvb3BfY250Owot
ICB1aW50OF90ICpzcmNfdG1wOwotICB1aW50OF90ICpkc3RfdG1wOwotICBfX20xMjhpIHNyYzAs
IHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzc7Ci0gIGludDMyX3Qgc3Jj
X3N0cmlkZTIgPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTMgPSBzcmNf
c3RyaWRlMiArIHNyY19zdHJpZGU7Ci0gIGludDMyX3Qgc3JjX3N0cmlkZTQgPSBzcmNfc3RyaWRl
MiA8PCAxOwotCi0gIGZvciAoY250ID0gKHdpZHRoID4+IDQpOyBjbnQtLTspIHsKLSAgICBzcmNf
dG1wID0gKHVpbnQ4X3QgKilzcmM7Ci0gICAgZHN0X3RtcCA9IGRzdDsKLQotICAgIGZvciAobG9v
cF9jbnQgPSAoaGVpZ2h0ID4+IDMpOyBsb29wX2NudC0tOykgewotICAgICAgc3JjMCA9IF9fbHN4
X3ZsZChzcmNfdG1wLCAwKTsKLSAgICAgIERVUDRfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wLCBz
cmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlMiwgc3JjX3RtcCwKLSAgICAgICAgICAgICAg
ICBzcmNfc3RyaWRlMywgc3JjX3RtcCwgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNyYzMsIHNy
YzQpOwotICAgICAgc3JjX3RtcCArPSBzcmNfc3RyaWRlNDsKLSAgICAgIERVUDJfQVJHMihfX2xz
eF92bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlMiwgc3JjNSwK
LSAgICAgICAgICAgICAgICBzcmM2KTsKLSAgICAgIHNyY190bXAgKz0gc3JjX3N0cmlkZTI7Ci0g
ICAgICBzcmM3ID0gX19sc3hfdmxkeChzcmNfdG1wLCBzcmNfc3RyaWRlKTsKLSAgICAgIHNyY190
bXAgKz0gc3JjX3N0cmlkZTI7Ci0KLSAgICAgIF9fbHN4X3ZzdChzcmMwLCBkc3RfdG1wLCAwKTsK
LSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmMxLCBkc3Rf
dG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChz
cmMyLCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9f
bHN4X3ZzdChzcmMzLCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsK
LSAgICAgIF9fbHN4X3ZzdChzcmM0LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0
X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM1LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90
bXAgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM2LCBkc3RfdG1wLCAwKTsKLSAg
ICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM3LCBkc3RfdG1w
LCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICB9Ci0gICAgc3JjICs9IDE2
OwotICAgIGRzdCArPSAxNjsKLSAgfQotfQotCi1zdGF0aWMgdm9pZCBjb3B5X3dpZHRoMTZfbHN4
KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwgaW50MzJfdCBo
ZWlnaHQpIHsKLSAgaW50MzJfdCBjbnQ7Ci0gIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3Jj
Mywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNzsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMiA9IHNyY19z
dHJpZGUgPDwgMTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlMyA9IHNyY19zdHJpZGUyICsgc3JjX3N0
cmlkZTsKLSAgaW50MzJfdCBzcmNfc3RyaWRlNCA9IHNyY19zdHJpZGUyIDw8IDE7Ci0KLSAgaWYg
KChoZWlnaHQgJSAxMikgPT0gMCkgewotICAgIGZvciAoY250ID0gKGhlaWdodCAvIDEyKTsgY250
LS07KSB7Ci0gICAgICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgICBEVVA0X0FSRzIo
X19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMsIHNyY19z
dHJpZGUzLAotICAgICAgICAgICAgICAgIHNyYywgc3JjX3N0cmlkZTQsIHNyYzEsIHNyYzIsIHNy
YzMsIHNyYzQpOwotICAgICAgc3JjICs9IHNyY19zdHJpZGU0OwotICAgICAgRFVQMl9BUkcyKF9f
bHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjNSwgc3JjNik7
Ci0gICAgICBzcmMgKz0gc3JjX3N0cmlkZTI7Ci0gICAgICBzcmM3ID0gX19sc3hfdmxkeChzcmMs
IHNyY19zdHJpZGUpOwotICAgICAgc3JjICs9IHNyY19zdHJpZGUyOwotCi0gICAgICBfX2xzeF92
c3Qoc3JjMCwgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hf
dnN0KHNyYzEsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4
X3ZzdChzcmMyLCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xz
eF92c3Qoc3JjMywgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19s
c3hfdnN0KHNyYzQsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9f
bHN4X3ZzdChzcmM1LCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBf
X2xzeF92c3Qoc3JjNiwgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAg
X19sc3hfdnN0KHNyYzcsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAg
ICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwotICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgs
IHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlMiwgc3JjMSwgc3JjMik7Ci0gICAgICBz
cmMzID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJpZGUzKTsKLSAgICAgIHNyYyArPSBzcmNfc3Ry
aWRlNDsKLQotICAgICAgX19sc3hfdnN0KHNyYzAsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0
X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmMxLCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3Qoc3JjMiwgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBk
c3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0KHNyYzMsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgICB9Ci0gIH0gZWxzZSBpZiAoKGhlaWdodCAlIDgpID09IDApIHsKLSAg
ICBjb3B5XzE2bXVsdHg4bXVsdF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUs
IGhlaWdodCwgMTYpOwotICB9IGVsc2UgaWYgKChoZWlnaHQgJSA0KSA9PSAwKSB7Ci0gICAgZm9y
IChjbnQgPSAoaGVpZ2h0ID4+IDIpOyBjbnQtLTspIHsKLSAgICAgIHNyYzAgPSBfX2xzeF92bGQo
c3JjLCAwKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNy
Yywgc3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwotICAgICAgc3JjMyA9IF9fbHN4X3ZsZHgoc3Jj
LCBzcmNfc3RyaWRlMyk7Ci0gICAgICBzcmMgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAgICAgIF9fbHN4
X3ZzdChzcmMwLCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xz
eF92c3Qoc3JjMSwgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19s
c3hfdnN0KHNyYzIsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9f
bHN4X3ZzdChzcmMzLCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgfQot
ICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGNvcHlfd2lkdGgzMl9sc3goY29uc3QgdWludDhfdCAqc3Jj
LCBpbnQzMl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRlLCBpbnQzMl90IGhlaWdodCkgewotICBpbnQzMl90
IGNudDsKLSAgdWludDhfdCAqc3JjX3RtcDsKLSAgdWludDhfdCAqZHN0X3RtcDsKLSAgX19tMTI4
aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3OwotICBpbnQz
Ml90IHNyY19zdHJpZGUyID0gc3JjX3N0cmlkZSA8PCAxOwotICBpbnQzMl90IHNyY19zdHJpZGUz
ID0gc3JjX3N0cmlkZTIgKyBzcmNfc3RyaWRlOwotICBpbnQzMl90IHNyY19zdHJpZGU0ID0gc3Jj
X3N0cmlkZTIgPDwgMTsKLQotICBpZiAoKGhlaWdodCAlIDEyKSA9PSAwKSB7Ci0gICAgZm9yIChj
bnQgPSAoaGVpZ2h0IC8gMTIpOyBjbnQtLTspIHsKLSAgICAgIHNyYzAgPSBfX2xzeF92bGQoc3Jj
LCAwKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywg
c3JjX3N0cmlkZTIsIHNyYzEsIHNyYzIpOwotICAgICAgc3JjMyA9IF9fbHN4X3ZsZHgoc3JjLCBz
cmNfc3RyaWRlMyk7Ci0KLSAgICAgIHNyY190bXAgPSAodWludDhfdCAqKXNyYyArIDE2OwotICAg
ICAgc3JjNCA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsKLSAgICAgIERVUDJfQVJHMihfX2xzeF92
bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlMiwgc3JjNSwKLSAg
ICAgICAgICAgICAgICBzcmM2KTsKLSAgICAgIHNyYzcgPSBfX2xzeF92bGR4KHNyY190bXAsIHNy
Y19zdHJpZGUzKTsKLSAgICAgIHNyYyArPSBzcmNfc3RyaWRlNDsKLQotICAgICAgX19sc3hfdnN0
KHNyYzAsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3Zz
dChzcmMxLCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92
c3Qoc3JjMiwgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hf
dnN0KHNyYzMsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLQotICAgICAgZHN0
X3RtcCA9IGRzdCArIDE2OwotICAgICAgX19sc3hfdnN0KHNyYzQsIGRzdF90bXAsIDApOwotICAg
ICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0KHNyYzUsIGRzdF90bXAs
IDApOwotICAgICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0KHNyYzYs
IGRzdF90bXAsIDApOwotICAgICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hf
dnN0KHNyYzcsIGRzdF90bXAsIDApOwotICAgICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwotCi0g
ICAgICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdmxk
eCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMxLCBzcmMyKTsKLSAgICAg
IHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotCi0gICAgICBzcmNfdG1wID0g
KHVpbnQ4X3QgKilzcmMgKyAxNjsKLSAgICAgIHNyYzQgPSBfX2xzeF92bGQoc3JjX3RtcCwgMCk7
Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcCwgc3JjX3N0cmlkZSwgc3JjX3Rt
cCwgc3JjX3N0cmlkZTIsIHNyYzUsCi0gICAgICAgICAgICAgICAgc3JjNik7Ci0gICAgICBzcmM3
ID0gX19sc3hfdmxkeChzcmNfdG1wLCBzcmNfc3RyaWRlMyk7Ci0gICAgICBzcmMgKz0gc3JjX3N0
cmlkZTQ7Ci0KLSAgICAgIF9fbHN4X3ZzdChzcmMwLCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRz
dF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3Qoc3JjMSwgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBk
c3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0KHNyYzIsIGRzdCwgMCk7Ci0gICAgICBkc3QgKz0g
ZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmMzLCBkc3QsIDApOwotICAgICAgZHN0ICs9
IGRzdF9zdHJpZGU7Ci0KLSAgICAgIGRzdF90bXAgPSBkc3QgKyAxNjsKLSAgICAgIF9fbHN4X3Zz
dChzcmM0LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICAg
IF9fbHN4X3ZzdChzcmM1LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlk
ZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM2LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0g
ZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM3LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRz
dF90bXAgKz0gZHN0X3N0cmlkZTsKLQotICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwot
ICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3Ry
aWRlMiwgc3JjMSwgc3JjMik7Ci0gICAgICBzcmMzID0gX19sc3hfdmxkeChzcmMsIHNyY19zdHJp
ZGUzKTsKLQotICAgICAgc3JjX3RtcCA9ICh1aW50OF90ICopc3JjICsgMTY7Ci0gICAgICBzcmM0
ID0gX19sc3hfdmxkKHNyY190bXAsIDApOwotICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNy
Y190bXAsIHNyY19zdHJpZGUsIHNyY190bXAsIHNyY19zdHJpZGUyLCBzcmM1LAotICAgICAgICAg
ICAgICAgIHNyYzYpOwotICAgICAgc3JjNyA9IF9fbHN4X3ZsZHgoc3JjX3RtcCwgc3JjX3N0cmlk
ZTMpOwotICAgICAgc3JjICs9IHNyY19zdHJpZGU0OwotCi0gICAgICBfX2xzeF92c3Qoc3JjMCwg
ZHN0LCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0KHNyYzEs
IGRzdCwgMCk7Ci0gICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmMy
LCBkc3QsIDApOwotICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3Qoc3Jj
MywgZHN0LCAwKTsKLSAgICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotCi0gICAgICBkc3RfdG1wID0g
ZHN0ICsgMTY7Ci0gICAgICBfX2xzeF92c3Qoc3JjNCwgZHN0X3RtcCwgMCk7Ci0gICAgICBkc3Rf
dG1wICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3Qoc3JjNSwgZHN0X3RtcCwgMCk7Ci0g
ICAgICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3Qoc3JjNiwgZHN0X3Rt
cCwgMCk7Ci0gICAgICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3Qoc3Jj
NywgZHN0X3RtcCwgMCk7Ci0gICAgICBkc3RfdG1wICs9IGRzdF9zdHJpZGU7Ci0gICAgfQotICB9
IGVsc2UgaWYgKChoZWlnaHQgJSA4KSA9PSAwKSB7Ci0gICAgY29weV8xNm11bHR4OG11bHRfbHN4
KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBoZWlnaHQsIDMyKTsKLSAgfSBlbHNl
IGlmICgoaGVpZ2h0ICUgNCkgPT0gMCkgewotICAgIGZvciAoY250ID0gKGhlaWdodCA+PiAyKTsg
Y250LS07KSB7Ci0gICAgICBzcmMwID0gX19sc3hfdmxkKHNyYywgMCk7Ci0gICAgICBEVVAyX0FS
RzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGUyLCBzcmMxLCBz
cmMyKTsKLSAgICAgIHNyYzMgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZTMpOwotCi0gICAg
ICBzcmNfdG1wID0gKHVpbnQ4X3QgKilzcmMgKyAxNjsKLSAgICAgIHNyYzQgPSBfX2xzeF92bGQo
c3JjX3RtcCwgMCk7Ci0gICAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcCwgc3JjX3N0
cmlkZSwgc3JjX3RtcCwgc3JjX3N0cmlkZTIsIHNyYzUsCi0gICAgICAgICAgICAgICAgc3JjNik7
Ci0gICAgICBzcmM3ID0gX19sc3hfdmxkeChzcmNfdG1wLCBzcmNfc3RyaWRlMyk7Ci0gICAgICBz
cmMgKz0gc3JjX3N0cmlkZTQ7Ci0KLSAgICAgIF9fbHN4X3ZzdChzcmMwLCBkc3QsIDApOwotICAg
ICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICBfX2xzeF92c3Qoc3JjMSwgZHN0LCAwKTsKLSAg
ICAgIGRzdCArPSBkc3Rfc3RyaWRlOwotICAgICAgX19sc3hfdnN0KHNyYzIsIGRzdCwgMCk7Ci0g
ICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmMzLCBkc3QsIDApOwot
ICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0KLSAgICAgIGRzdF90bXAgPSBkc3QgKyAxNjsKLSAg
ICAgIF9fbHN4X3ZzdChzcmM0LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0
cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM1LCBkc3RfdG1wLCAwKTsKLSAgICAgIGRzdF90bXAg
Kz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM2LCBkc3RfdG1wLCAwKTsKLSAgICAg
IGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICAgIF9fbHN4X3ZzdChzcmM3LCBkc3RfdG1wLCAw
KTsKLSAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZTsKLSAgICB9Ci0gIH0KLX0KLQotc3RhdGlj
IHZvaWQgY29weV93aWR0aDY0X2xzeChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90
IGRzdF9zdHJpZGUsIGludDMyX3QgaGVpZ2h0KSB7Ci0gIGNvcHlfMTZtdWx0eDhtdWx0X2xzeChz
cmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgaGVpZ2h0LCA2NCk7Ci19Ci0KLXZvaWQg
dnB4X2NvbnZvbHZlX2NvcHlfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIHB0cmRpZmZf
dCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJwS2Vy
bmVsICpmaWx0ZXIsIGludCB4MF9xNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMy
X3QgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludDMyX3QgeV9zdGVwX3E0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50MzJfdCB3LCBpbnQzMl90IGgpIHsKLSAgKHZvaWQpZmlsdGVyOwot
ICAodm9pZCl4MF9xNDsKLSAgKHZvaWQpeF9zdGVwX3E0OwotICAodm9pZCl5MF9xNDsKLSAgKHZv
aWQpeV9zdGVwX3E0OwotCi0gIHN3aXRjaCAodykgewotICAgIGNhc2UgNDogewotICAgICAgdWlu
dDMyX3QgY250OwotICAgICAgX19tMTI4aSB0bXA7Ci0gICAgICBmb3IgKGNudCA9IGg7IGNudC0t
OykgewotICAgICAgICB0bXAgPSBfX2xzeF92bGRyZXBsX3coc3JjLCAwKTsKLSAgICAgICAgX19s
c3hfdnN0ZWxtX3codG1wLCBkc3QsIDAsIDApOwotICAgICAgICBzcmMgKz0gc3JjX3N0cmlkZTsK
LSAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Ci0gICAgICB9Ci0gICAgICBicmVhazsKLSAgICB9
Ci0gICAgY2FzZSA4OiB7Ci0gICAgICBjb3B5X3dpZHRoOF9sc3goc3JjLCBzcmNfc3RyaWRlLCBk
c3QsIGRzdF9zdHJpZGUsIGgpOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgMTY6IHsK
LSAgICAgIGNvcHlfd2lkdGgxNl9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUs
IGgpOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgMzI6IHsKLSAgICAgIGNvcHlfd2lk
dGgzMl9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGgpOwotICAgICAgYnJl
YWs7Ci0gICAgfQotICAgIGNhc2UgNjQ6IHsKLSAgICAgIGNvcHlfd2lkdGg2NF9sc3goc3JjLCBz
cmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIGgpOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAg
IGRlZmF1bHQ6IHsKLSAgICAgIHVpbnQzMl90IGNudDsKLSAgICAgIGZvciAoY250ID0gaDsgY250
LS07KSB7Ci0gICAgICAgIG1lbWNweShkc3QsIHNyYywgdyk7Ci0gICAgICAgIHNyYyArPSBzcmNf
c3RyaWRlOwotICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKLSAgICAgIH0KLSAgICAgIGJyZWFr
OwotICAgIH0KLSAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJj
aC92cHhfY29udm9sdmVfbHN4LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vbmdhcmNoL3ZweF9j
b252b2x2ZV9sc3guaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg4NmIwMDE5ODI3
Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL2xvb25nYXJjaC92cHhfY29u
dm9sdmVfbHN4LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMzggKzAsMCBAQAotLyoKLSAqICBDb3B5
cmlnaHQgKGMpIDIwMjIgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJT
RC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRl
bGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBm
aWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBi
ZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJl
ZS4KLSAqLwotCi0jaWZuZGVmIFZQWF9WUFhfRFNQX0xPT05HQVJDSF9WUFhfQ09OVk9MVkVfTFNY
X0hfCi0jZGVmaW5lIFZQWF9WUFhfRFNQX0xPT05HQVJDSF9WUFhfQ09OVk9MVkVfTFNYX0hfCi0K
LSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNpbmNsdWRlICJ2cHhfZHNwL3ZweF9maWx0ZXIu
aCIKLSNpbmNsdWRlICJ2cHhfdXRpbC9sb29uZ3Nvbl9pbnRyaW5zaWNzLmgiCi0KLXN0YXRpYyBJ
TkxJTkUgX19tMTI4aSBmaWx0Xzh0YXBfZHBhZGRfc19oKF9fbTEyOGkgX3JlZzAsIF9fbTEyOGkg
X3JlZzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20xMjhp
IF9yZWcyLCBfX20xMjhpIF9yZWczLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgX19tMTI4aSBfZmlsdGVyMCwgX19tMTI4aSBfZmlsdGVyMSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgX2ZpbHRlcjIsIF9fbTEyOGkg
X2ZpbHRlcjMpIHsKLSAgX19tMTI4aSBfdmVjMCwgX3ZlYzE7Ci0KLSAgX3ZlYzAgPSBfX2xzeF92
ZHAyX2hfYihfcmVnMCwgX2ZpbHRlcjApOwotICBfdmVjMCA9IF9fbHN4X3ZkcDJhZGRfaF9iKF92
ZWMwLCBfcmVnMSwgX2ZpbHRlcjEpOwotICBfdmVjMSA9IF9fbHN4X3ZkcDJfaF9iKF9yZWcyLCBf
ZmlsdGVyMik7Ci0gIF92ZWMxID0gX19sc3hfdmRwMmFkZF9oX2IoX3ZlYzEsIF9yZWczLCBfZmls
dGVyMyk7Ci0gIHJldHVybiBfX2xzeF92c2FkZF9oKF92ZWMwLCBfdmVjMSk7Ci19Ci0KLXN0YXRp
YyBJTkxJTkUgX19tMTI4aSBob3Jpel84dGFwX2ZpbHQoX19tMTI4aSBfc3JjMCwgX19tMTI4aSBf
c3JjMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19tMTI4aSBfbWFz
azAsIF9fbTEyOGkgX21hc2sxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfX20xMjhpIF9tYXNrMiwgX19tMTI4aSBfbWFzazMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF9fbTEyOGkgX2ZpbHRfaDAsIF9fbTEyOGkgX2ZpbHRfaDEsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgX2ZpbHRfaDIsIF9fbTEy
OGkgX2ZpbHRfaDMpIHsKLSAgX19tMTI4aSBfdG1wMCwgX3RtcDEsIF90bXAyLCBfdG1wMzsKLSAg
X19tMTI4aSBfb3V0OwotCi0gIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBfc3JjMSwgX3NyYzAs
IF9tYXNrMCwgX3NyYzEsIF9zcmMwLCBfbWFzazEsIF9zcmMxLAotICAgICAgICAgICAgX3NyYzAs
IF9tYXNrMiwgX3NyYzEsIF9zcmMwLCBfbWFzazMsIF90bXAwLCBfdG1wMSwgX3RtcDIsIF90bXAz
KTsKLSAgX291dCA9IGZpbHRfOHRhcF9kcGFkZF9zX2goX3RtcDAsIF90bXAxLCBfdG1wMiwgX3Rt
cDMsIF9maWx0X2gwLCBfZmlsdF9oMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Zp
bHRfaDIsIF9maWx0X2gzKTsKLSAgX291dCA9IF9fbHN4X3ZzcmFyaV9oKF9vdXQsIEZJTFRFUl9C
SVRTKTsKLSAgcmV0dXJuIF9fbHN4X3ZzYXRfaChfb3V0LCA3KTsKLX0KLQotc3RhdGljIElOTElO
RSBfX20xMjhpIGhvcml6XzJ0YXBfZmlsdF91aChfX20xMjhpIGluMCwgX19tMTI4aSBpbjEsIF9f
bTEyOGkgbWFzaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19t
MTI4aSBjb2VmZikgewotICBfX20xMjhpIHRtcDBfbSwgdG1wMV9tOwotCi0gIHRtcDBfbSA9IF9f
bHN4X3ZzaHVmX2IoaW4xLCBpbjAsIG1hc2spOwotICB0bXAxX20gPSBfX2xzeF92ZHAyX2hfYnUo
dG1wMF9tLCBjb2VmZik7Ci0gIHJldHVybiBfX2xzeF92c3JhcmlfaCh0bXAxX20sIEZJTFRFUl9C
SVRTKTsKLX0KLQotI2RlZmluZSBMU1hfTERfNChfc3JjLCBfc3RyaWRlLCBfc3JjMCwgX3NyYzEs
IF9zcmMyLCBfc3JjMykgXAotICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zcmMwID0gX19sc3hfdmxkKF9zcmMsIDApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zcmMgKz0gX3N0cmlkZTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zcmMxID0gX19sc3hfdmxk
KF9zcmMsIDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zcmMgKz0gX3N0
cmlkZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zcmMy
ID0gX19sc3hfdmxkKF9zcmMsIDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9zcmMgKz0gX3N0cmlkZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9zcmMzID0gX19sc3hfdmxkKF9zcmMsIDApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIEhPUklaXzhUQVBfNFdJRF80VkVDU19G
SUxUKF9zcmMwLCBfc3JjMSwgX3NyYzIsIF9zcmMzLCBfbWFzazAsIF9tYXNrMSwgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWFzazIsIF9tYXNrMywgX2ZpbHRlcjAsIF9m
aWx0ZXIxLCAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Zp
bHRlcjIsIF9maWx0ZXIzLCBfb3V0MCwgX291dDEpICAgICAgICAgICBcCi0gIGRvIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9fbTEyOGkgX3RtcDAsIF90bXAxLCBfdG1wMiwgX3RtcDMsIF90bXA0
LCBfdG1wNSwgX3RtcDYsIF90bXA3OyAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIF9yZWcwLCBf
cmVnMSwgX3JlZzIsIF9yZWczOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9i
LCBfc3JjMSwgX3NyYzAsIF9tYXNrMCwgX3NyYzMsIF9zcmMyLCBfbWFzazAsICAgICAgIFwKLSAg
ICAgICAgICAgICAgX3RtcDAsIF90bXAxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9iLCBfdG1w
MCwgX2ZpbHRlcjAsIF90bXAxLCBfZmlsdGVyMCwgX3JlZzAsIF9yZWcxKTsgXAotICAgIERVUDJf
QVJHMyhfX2xzeF92c2h1Zl9iLCBfc3JjMSwgX3NyYzAsIF9tYXNrMSwgX3NyYzMsIF9zcmMyLCBf
bWFzazEsICAgICAgIFwKLSAgICAgICAgICAgICAgX3RtcDIsIF90bXAzKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkczKF9f
bHN4X3ZkcDJhZGRfaF9iLCBfcmVnMCwgX3RtcDIsIF9maWx0ZXIxLCBfcmVnMSwgX3RtcDMsICAg
ICAgICAgXAotICAgICAgICAgICAgICBfZmlsdGVyMSwgX3JlZzAsIF9yZWcxKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzMoX19sc3hfdnNo
dWZfYiwgX3NyYzEsIF9zcmMwLCBfbWFzazIsIF9zcmMzLCBfc3JjMiwgX21hc2syLCAgICAgICBc
Ci0gICAgICAgICAgICAgIF90bXA0LCBfdG1wNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYiwg
X3RtcDQsIF9maWx0ZXIyLCBfdG1wNSwgX2ZpbHRlcjIsIF9yZWcyLCBfcmVnMyk7IFwKLSAgICBE
VVAyX0FSRzMoX19sc3hfdnNodWZfYiwgX3NyYzEsIF9zcmMwLCBfbWFzazMsIF9zcmMzLCBfc3Jj
MiwgX21hc2szLCAgICAgICBcCi0gICAgICAgICAgICAgIF90bXA2LCBfdG1wNyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDJfQVJH
MyhfX2xzeF92ZHAyYWRkX2hfYiwgX3JlZzIsIF90bXA2LCBfZmlsdGVyMywgX3JlZzMsIF90bXA3
LCAgICAgICAgIFwKLSAgICAgICAgICAgICAgX2ZpbHRlcjMsIF9yZWcyLCBfcmVnMyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4
X3ZzYWRkX2gsIF9yZWcwLCBfcmVnMiwgX3JlZzEsIF9yZWczLCBfb3V0MCwgX291dDEpOyAgICAg
ICAgXAotICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIEhPUklaXzhUQVBfOFdJRF80VkVDU19GSUxU
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zcmMw
LCBfc3JjMSwgX3NyYzIsIF9zcmMzLCBfbWFzazAsIF9tYXNrMSwgX21hc2syLCBfbWFzazMsIF9m
aWx0ZXIwLCAgICAgIFwKLSAgICBfZmlsdGVyMSwgX2ZpbHRlcjIsIF9maWx0ZXIzLCBfb3V0MCwg
X291dDEsIF9vdXQyLCBfb3V0MykgICAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fbTEyOGkgX3RtcDAsIF90bXAxLCBfdG1wMiwgX3RtcDMsIF90bXA0LCBf
dG1wNSwgX3RtcDYsIF90bXA3OyAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIF9yZWcwLCBfcmVn
MSwgX3JlZzIsIF9yZWczLCBfcmVnNCwgX3JlZzUsIF9yZWc2LCBfcmVnNzsgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBf
c3JjMCwgX3NyYzAsIF9tYXNrMCwgX3NyYzEsIF9zcmMxLCBfbWFzazAsICAgICAgIFwKLSAgICAg
ICAgICAgICAgX3NyYzIsIF9zcmMyLCBfbWFzazAsIF9zcmMzLCBfc3JjMywgX21hc2swLCBfdG1w
MCwgX3RtcDEsIF90bXAyLCBcCi0gICAgICAgICAgICAgIF90bXAzKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIERVUDRfQVJH
MihfX2xzeF92ZHAyX2hfYiwgX3RtcDAsIF9maWx0ZXIwLCBfdG1wMSwgX2ZpbHRlcjAsIF90bXAy
LCAgICAgICAgIFwKLSAgICAgICAgICAgICAgX2ZpbHRlcjAsIF90bXAzLCBfZmlsdGVyMCwgX3Jl
ZzAsIF9yZWcxLCBfcmVnMiwgX3JlZzMpOyAgICAgICAgICBcCi0gICAgRFVQNF9BUkczKF9fbHN4
X3ZzaHVmX2IsIF9zcmMwLCBfc3JjMCwgX21hc2syLCBfc3JjMSwgX3NyYzEsIF9tYXNrMiwgICAg
ICAgXAotICAgICAgICAgICAgICBfc3JjMiwgX3NyYzIsIF9tYXNrMiwgX3NyYzMsIF9zcmMzLCBf
bWFzazIsIF90bXAwLCBfdG1wMSwgX3RtcDIsIFwKLSAgICAgICAgICAgICAgX3RtcDMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9iLCBfdG1wMCwgX2ZpbHRlcjIsIF90bXAxLCBfZmls
dGVyMiwgX3RtcDIsICAgICAgICAgXAotICAgICAgICAgICAgICBfZmlsdGVyMiwgX3RtcDMsIF9m
aWx0ZXIyLCBfcmVnNCwgX3JlZzUsIF9yZWc2LCBfcmVnNyk7ICAgICAgICAgIFwKLSAgICBEVVA0
X0FSRzMoX19sc3hfdnNodWZfYiwgX3NyYzAsIF9zcmMwLCBfbWFzazEsIF9zcmMxLCBfc3JjMSwg
X21hc2sxLCAgICAgICBcCi0gICAgICAgICAgICAgIF9zcmMyLCBfc3JjMiwgX21hc2sxLCBfc3Jj
MywgX3NyYzMsIF9tYXNrMSwgX3RtcDQsIF90bXA1LCBfdG1wNiwgXAotICAgICAgICAgICAgICBf
dG1wNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF9oX2IsIF9yZWcwLCBfdG1wNCwg
X2ZpbHRlcjEsIF9yZWcxLCBfdG1wNSwgICAgICAgICBcCi0gICAgICAgICAgICAgIF9maWx0ZXIx
LCBfcmVnMiwgX3RtcDYsIF9maWx0ZXIxLCBfcmVnMywgX3RtcDcsIF9maWx0ZXIxLCBfcmVnMCwg
XAotICAgICAgICAgICAgICBfcmVnMSwgX3JlZzIsIF9yZWczKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVA0X0FSRzMoX19sc3hfdnNodWZfYiwg
X3NyYzAsIF9zcmMwLCBfbWFzazMsIF9zcmMxLCBfc3JjMSwgX21hc2szLCAgICAgICBcCi0gICAg
ICAgICAgICAgIF9zcmMyLCBfc3JjMiwgX21hc2szLCBfc3JjMywgX3NyYzMsIF9tYXNrMywgX3Rt
cDQsIF90bXA1LCBfdG1wNiwgXAotICAgICAgICAgICAgICBfdG1wNyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVA0X0FS
RzMoX19sc3hfdmRwMmFkZF9oX2IsIF9yZWc0LCBfdG1wNCwgX2ZpbHRlcjMsIF9yZWc1LCBfdG1w
NSwgICAgICAgICBcCi0gICAgICAgICAgICAgIF9maWx0ZXIzLCBfcmVnNiwgX3RtcDYsIF9maWx0
ZXIzLCBfcmVnNywgX3RtcDcsIF9maWx0ZXIzLCBfcmVnNCwgXAotICAgICAgICAgICAgICBfcmVn
NSwgX3JlZzYsIF9yZWc3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBEVVA0X0FSRzIoX19sc3hfdnNhZGRfaCwgX3JlZzAsIF9yZWc0LCBfcmVnMSwg
X3JlZzUsIF9yZWcyLCBfcmVnNiwgX3JlZzMsICBcCi0gICAgICAgICAgICAgIF9yZWc3LCBfb3V0
MCwgX291dDEsIF9vdXQyLCBfb3V0Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB9IHdoaWxlICgwKQotCi0jZGVmaW5lIEFWR19TVDRfRChpbjAsIGluMSwgZHN0MCwgZHN0MSwg
cGRzdCwgc3RyaWRlKSAgICAgICAgICAgICAgICBcCi0gIGRvIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4
aSB0bXAwX20sIHRtcDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZhdmdyX2J1LCBpbjAsIGRz
dDAsIGluMSwgZHN0MSwgdG1wMF9tLCB0bXAxX20pOyBcCi0gICAgX19sc3hfdnN0ZWxtX2QodG1w
MF9tLCBwZHN0LCAwLCAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcGRz
dCArPSBzdHJpZGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX19sc3hfdnN0ZWxtX2QodG1wMF9tLCBwZHN0LCAwLCAxKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgcGRzdCArPSBzdHJpZGU7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19sc3hfdnN0ZWxtX2Qo
dG1wMV9tLCBwZHN0LCAwLCAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
cGRzdCArPSBzdHJpZGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX19sc3hfdnN0ZWxtX2QodG1wMV9tLCBwZHN0LCAwLCAxKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNlbmRpZiAgLy8gVlBY
X1ZQWF9EU1BfTE9PTkdBUkNIX1ZQWF9DT05WT0xWRV9MU1hfSF8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9sb29wZmlsdGVyLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbG9vcGZpbHRl
ci5jCmluZGV4IGQ2NTA0YWFiMWY1Mi4uOTk1NjAyODMxNzIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvbG9vcGZpbHRlci5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9sb29wZmls
dGVyLmMKQEAgLTE1OSw3ICsxNTksNyBAQCB2b2lkIHZweF9scGZfdmVydGljYWxfNF9kdWFsX2Mo
dWludDhfdCAqcywgaW50IHBpdGNoLCBjb25zdCB1aW50OF90ICpibGltaXQwLAogICB2cHhfbHBm
X3ZlcnRpY2FsXzRfYyhzICsgOCAqIHBpdGNoLCBwaXRjaCwgYmxpbWl0MSwgbGltaXQxLCB0aHJl
c2gxKTsKIH0KIAotc3RhdGljIElOTElORSB2b2lkIGZpbHRlcjgoaW50OF90IG1hc2ssIHVpbnQ4
X3QgdGhyZXNoLCBpbnQ4X3QgZmxhdCwKK3N0YXRpYyBJTkxJTkUgdm9pZCBmaWx0ZXI4KGludDhf
dCBtYXNrLCB1aW50OF90IHRocmVzaCwgdWludDhfdCBmbGF0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDhfdCAqb3AzLCB1aW50OF90ICpvcDIsIHVpbnQ4X3QgKm9wMSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKm9wMCwgdWludDhfdCAqb3EwLCB1aW50OF90
ICpvcTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpvcTIsIHVpbnQ4X3Qg
Km9xMykgewpAQCAtMjMyLDggKzIzMiw4IEBAIHZvaWQgdnB4X2xwZl92ZXJ0aWNhbF84X2R1YWxf
Yyh1aW50OF90ICpzLCBpbnQgcGl0Y2gsIGNvbnN0IHVpbnQ4X3QgKmJsaW1pdDAsCiAgIHZweF9s
cGZfdmVydGljYWxfOF9jKHMgKyA4ICogcGl0Y2gsIHBpdGNoLCBibGltaXQxLCBsaW1pdDEsIHRo
cmVzaDEpOwogfQogCi1zdGF0aWMgSU5MSU5FIHZvaWQgZmlsdGVyMTYoaW50OF90IG1hc2ssIHVp
bnQ4X3QgdGhyZXNoLCBpbnQ4X3QgZmxhdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQ4X3QgZmxhdDIsIHVpbnQ4X3QgKm9wNywgdWludDhfdCAqb3A2LAorc3RhdGljIElOTElORSB2
b2lkIGZpbHRlcjE2KGludDhfdCBtYXNrLCB1aW50OF90IHRocmVzaCwgdWludDhfdCBmbGF0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZmxhdDIsIHVpbnQ4X3QgKm9wNywg
dWludDhfdCAqb3A2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKm9wNSwg
dWludDhfdCAqb3A0LCB1aW50OF90ICpvcDMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCAqb3AyLCB1aW50OF90ICpvcDEsIHVpbnQ4X3QgKm9wMCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90ICpvcTAsIHVpbnQ4X3QgKm9xMSwgdWludDhfdCAqb3EyLApA
QCAtNTA1LDcgKzUwNSw3IEBAIHZvaWQgdnB4X2hpZ2hiZF9scGZfdmVydGljYWxfNF9kdWFsX2Mo
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZCk7CiB9CiAKLXN0YXRpYyBJTkxJTkUg
dm9pZCBoaWdoYmRfZmlsdGVyOChpbnQ4X3QgbWFzaywgdWludDhfdCB0aHJlc2gsIGludDhfdCBm
bGF0LAorc3RhdGljIElOTElORSB2b2lkIGhpZ2hiZF9maWx0ZXI4KGludDhfdCBtYXNrLCB1aW50
OF90IHRocmVzaCwgdWludDhfdCBmbGF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQxNl90ICpvcDMsIHVpbnQxNl90ICpvcDIsIHVpbnQxNl90ICpvcDEsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKm9wMCwgdWludDE2X3QgKm9xMCwg
dWludDE2X3QgKm9xMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZf
dCAqb3EyLCB1aW50MTZfdCAqb3EzLCBpbnQgYmQpIHsKQEAgLTU4NCw4ICs1ODQsOCBAQCB2b2lk
IHZweF9oaWdoYmRfbHBmX3ZlcnRpY2FsXzhfZHVhbF9jKAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYmQpOwogfQogCi1zdGF0aWMgSU5MSU5FIHZvaWQgaGlnaGJkX2ZpbHRlcjE2KGlu
dDhfdCBtYXNrLCB1aW50OF90IHRocmVzaCwgaW50OF90IGZsYXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDhfdCBmbGF0MiwgdWludDE2X3QgKm9wNywgdWludDE2X3Qg
Km9wNiwKK3N0YXRpYyBJTkxJTkUgdm9pZCBoaWdoYmRfZmlsdGVyMTYoaW50OF90IG1hc2ssIHVp
bnQ4X3QgdGhyZXNoLCB1aW50OF90IGZsYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4X3QgZmxhdDIsIHVpbnQxNl90ICpvcDcsIHVpbnQxNl90ICpvcDYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90ICpvcDUsIHVpbnQxNl90ICpv
cDQsIHVpbnQxNl90ICpvcDMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQxNl90ICpvcDIsIHVpbnQxNl90ICpvcDEsIHVpbnQxNl90ICpvcDAsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90ICpvcTAsIHVpbnQxNl90ICpvcTEsIHVpbnQx
Nl90ICpvcTIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbWlwcy9tYWNyb3NfbXNh
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbWlwcy9tYWNyb3NfbXNhLmgKaW5kZXggNTM0NjJiNTlm
NGE4Li4zYzJmNTBjNzkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9taXBzL21h
Y3Jvc19tc2EuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbWlwcy9tYWNyb3NfbXNhLmgKQEAg
LTgzLDMzICs4MywzMSBAQAogICAgIHZhbF9saF9tOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0pCiAKLSNkZWZpbmUgTFcocHNyYykgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAoeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgY29uc3QgdWludDhf
dCAqcHNyY19sd19tID0gKGNvbnN0IHVpbnQ4X3QgKikocHNyYyk7IFwKLSAgICB1aW50MzJfdCB2
YWxfbHdfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc21f
XyBfX3ZvbGF0aWxlX18oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
Imx3ciAlW3ZhbF9sd19tXSwgMCglW3BzcmNfbHdfbV0pIFxuXHQiICAgICAgICAgXAotICAgICAg
ICAibHdsICVbdmFsX2x3X21dLCAzKCVbcHNyY19sd19tXSkgXG5cdCIgICAgICAgICBcCi0gICAg
ICAgIDogW3ZhbF9sd19tXSAiPSZyIih2YWxfbHdfbSkgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgOiBbcHNyY19sd19tXSAiciIocHNyY19sd19tKSk7ICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgdmFsX2x3X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyNkZWZpbmUgTFcocHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgdWludDhfdCAqcHNyY19sd19tID0g
KGNvbnN0IHVpbnQ4X3QgKikocHNyYyk7ICAgICAgICAgIFwKKyAgICB1aW50MzJfdCB2YWxfbHdf
bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oImx3ciAlW3ZhbF9sd19tXSwgMCglW3BzcmNfbHdf
bV0pIFxuXHQiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAibHdsICVbdmFsX2x3X21dLCAz
KCVbcHNyY19sd19tXSkgXG5cdCIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIDogW3ZhbF9s
d19tXSAiPSZyIih2YWxfbHdfbSkgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAg
ICAgOiBbcHNyY19sd19tXSAiciIocHNyY19sd19tKSk7ICAgICAgICAgIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIHZhbF9sd19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCiAgIH0pCiAKICNpZiAoX19taXBzID09IDY0KQotI2RlZmluZSBMRChwc3JjKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICh7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjb25zdCB1aW50
OF90ICpwc3JjX2xkX20gPSAoY29uc3QgdWludDhfdCAqKShwc3JjKTsgXAotICAgIHVpbnQ2NF90
IHZhbF9sZF9tID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2Fz
bV9fIF9fdm9sYXRpbGVfXyggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAibGRyICVbdmFsX2xkX21dLCAwKCVbcHNyY19sZF9tXSkgXG5cdCIgICAgICAgICBcCi0gICAg
ICAgICJsZGwgJVt2YWxfbGRfbV0sIDcoJVtwc3JjX2xkX21dKSBcblx0IiAgICAgICAgIFwKLSAg
ICAgICAgOiBbdmFsX2xkX21dICI9JnIiKHZhbF9sZF9tKSAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICA6IFtwc3JjX2xkX21dICJyIihwc3JjX2xkX20pKTsgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICB2YWxfbGRfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorI2RlZmluZSBMRChwc3JjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCB1aW50OF90ICpwc3JjX2xkX20g
PSAoY29uc3QgdWludDhfdCAqKShwc3JjKTsgICAgICAgICAgXAorICAgIHVpbnQ2NF90IHZhbF9s
ZF9tID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygibGRyICVbdmFsX2xkX21dLCAwKCVbcHNyY19s
ZF9tXSkgXG5cdCIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICJsZGwgJVt2YWxfbGRfbV0s
IDcoJVtwc3JjX2xkX21dKSBcblx0IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgOiBbdmFs
X2xkX21dICI9JnIiKHZhbF9sZF9tKSAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICA6IFtwc3JjX2xkX21dICJyIihwc3JjX2xkX20pKTsgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgdmFsX2xkX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgfSkKICNlbHNlICAvLyAhKF9fbWlwcyA9PSA2NCkKICNkZWZpbmUgTEQo
cHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
QEAgLTc3NCwxNiArNzcyLDE2IEBACiAgICBEZXRhaWxzICAgICA6IDQgc2lnbmVkIHdvcmQgZWxl
bWVudHMgb2YgJ2luJyB2ZWN0b3IgYXJlIGFkZGVkIHRvZ2V0aGVyIGFuZAogICAgICAgICAgICAg
ICAgICB0aGUgcmVzdWx0aW5nIGludGVnZXIgc3VtIGlzIHJldHVybmVkCiAqLwotI2RlZmluZSBI
QUREX1NXX1MzMihpbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgdjJpNjQgaGFkZF9zd19zMzJfcmVzMF9tLCBoYWRk
X3N3X3MzMl9yZXMxX207ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludDMyX3QgaGFkZF9z
d19zMzJfc3VtX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgaGFkZF9zd19zMzJfcmVzMF9tID0gX19tc2FfaGFkZF9zX2QoKHY0
aTMyKWluLCAodjRpMzIpaW4pOyAgICAgICAgXAotICAgIGhhZGRfc3dfczMyX3JlczFfbSA9IF9f
bXNhX3NwbGF0aV9kKGhhZGRfc3dfczMyX3JlczBfbSwgMSk7ICAgICAgIFwKLSAgICBoYWRkX3N3
X3MzMl9yZXMwX20gPSBoYWRkX3N3X3MzMl9yZXMwX20gKyBoYWRkX3N3X3MzMl9yZXMxX207ICAg
ICBcCi0gICAgaGFkZF9zd19zMzJfc3VtX20gPSBfX21zYV9jb3B5X3NfdygodjRpMzIpaGFkZF9z
d19zMzJfcmVzMF9tLCAwKTsgXAotICAgIGhhZGRfc3dfczMyX3N1bV9tOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgSEFERF9TV19TMzIo
aW4pICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2Mmk2NCByZXMwX20sIHJlczFfbTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQzMl90IHN1bV9tOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICByZXMwX20gPSBfX21zYV9oYWRkX3NfZCgodjRpMzIp
aW4sICh2NGkzMilpbik7IFwKKyAgICByZXMxX20gPSBfX21zYV9zcGxhdGlfZChyZXMwX20sIDEp
OyAgICAgICAgICAgIFwKKyAgICByZXMwX20gPSByZXMwX20gKyByZXMxX207ICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBzdW1fbSA9IF9fbXNhX2NvcHlfc193KCh2NGkzMilyZXMwX20sIDAp
OyAgICAgIFwKKyAgICBzdW1fbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgfSkKIAogLyogRGVzY3JpcHRpb24gOiBIb3Jpem9udGFsIGFkZGl0aW9uIG9mIDQg
dW5zaWduZWQgd29yZCBlbGVtZW50cwpAQCAtNzkzLDE2ICs3OTEsMTYgQEAKICAgIERldGFpbHMg
ICAgIDogNCB1bnNpZ25lZCB3b3JkIGVsZW1lbnRzIG9mICdpbicgdmVjdG9yIGFyZSBhZGRlZCB0
b2dldGhlciBhbmQKICAgICAgICAgICAgICAgICAgdGhlIHJlc3VsdGluZyBpbnRlZ2VyIHN1bSBp
cyByZXR1cm5lZAogKi8KLSNkZWZpbmUgSEFERF9VV19VMzIoaW4pICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgKHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICB2MnU2NCBoYWRkX3V3X3UzMl9yZXMwX20sIGhhZGRfdXdfdTMyX3JlczFfbTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50MzJfdCBoYWRkX3V3X3UzMl9z
dW1fbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBoYWRkX3V3X3UzMl9yZXMwX20gPSBfX21zYV9oYWRk
X3VfZCgodjR1MzIpaW4sICh2NHUzMilpbik7ICAgICAgICAgICAgICAgIFwKLSAgICBoYWRkX3V3
X3UzMl9yZXMxX20gPSAodjJ1NjQpX19tc2Ffc3BsYXRpX2QoKHYyaTY0KWhhZGRfdXdfdTMyX3Jl
czBfbSwgMSk7IFwKLSAgICBoYWRkX3V3X3UzMl9yZXMwX20gKz0gaGFkZF91d191MzJfcmVzMV9t
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBoYWRkX3V3X3UzMl9zdW1f
bSA9IF9fbXNhX2NvcHlfdV93KCh2NGkzMiloYWRkX3V3X3UzMl9yZXMwX20sIDApOyAgICAgICAg
IFwKLSAgICBoYWRkX3V3X3UzMl9zdW1fbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgSEFERF9VV19VMzIoaW4pICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2MnU2NCByZXMwX20sIHJlczFfbTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50MzJfdCBzdW1fbTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZXMwX20gPSBfX21zYV9oYWRkX3VfZCgo
djR1MzIpaW4sICh2NHUzMilpbik7ICAgIFwKKyAgICByZXMxX20gPSAodjJ1NjQpX19tc2Ffc3Bs
YXRpX2QoKHYyaTY0KXJlczBfbSwgMSk7IFwKKyAgICByZXMwX20gKz0gcmVzMV9tOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzdW1fbSA9IF9fbXNhX2NvcHlfdV93KCh2
NGkzMilyZXMwX20sIDApOyAgICAgICAgIFwKKyAgICBzdW1fbTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfSkKIAogLyogRGVzY3JpcHRpb24gOiBIb3Jp
em9udGFsIGFkZGl0aW9uIG9mIDggdW5zaWduZWQgaGFsZndvcmQgZWxlbWVudHMKQEAgLTgxMiwx
NCArODEwLDE0IEBACiAgICBEZXRhaWxzICAgICA6IDggdW5zaWduZWQgaGFsZndvcmQgZWxlbWVu
dHMgb2YgJ2luJyB2ZWN0b3IgYXJlIGFkZGVkCiAgICAgICAgICAgICAgICAgIHRvZ2V0aGVyIGFu
ZCB0aGUgcmVzdWx0aW5nIGludGVnZXIgc3VtIGlzIHJldHVybmVkCiAqLwotI2RlZmluZSBIQURE
X1VIX1UzMihpbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICh7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICB2NHUzMiBoYWRkX3VoX3UzMl9yZXNfbTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHVpbnQzMl90IGhhZGRfdWhfdTMyX3N1bV9tOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBoYWRkX3VoX3UzMl9yZXNfbSA9IF9fbXNh
X2hhZGRfdV93KCh2OHUxNilpbiwgKHY4dTE2KWluKTsgXAotICAgIGhhZGRfdWhfdTMyX3N1bV9t
ID0gSEFERF9VV19VMzIoaGFkZF91aF91MzJfcmVzX20pOyAgICAgICBcCi0gICAgaGFkZF91aF91
MzJfc3VtX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZp
bmUgSEFERF9VSF9VMzIoaW4pICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAoeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdjR1MzIgcmVz
X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50MzJfdCBzdW1f
bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVzX20gPSBfX21zYV9oYWRkX3Vf
dygodjh1MTYpaW4sICh2OHUxNilpbik7IFwKKyAgICBzdW1fbSA9IEhBRERfVVdfVTMyKHJlc19t
KTsgICAgICAgICAgICAgICAgICAgXAorICAgIHN1bV9tOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgIH0pCiAKIC8qIERlc2NyaXB0aW9uIDogSG9yaXpvbnRhbCBh
ZGRpdGlvbiBvZiB1bnNpZ25lZCBieXRlIHZlY3RvciBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL21pcHMvc2FkX21taS5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL21pcHMv
c2FkX21taS5jCmluZGV4IDdmNTg4MmJjYTMyYS4uZWFjYTQ3NzNmMmI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvbWlwcy9zYWRfbW1pLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L21pcHMvc2FkX21taS5jCkBAIC0zMzQsNiArMzM0LDE5IEBACiAgICJwYWRkdyAgICAgICVbZnRt
cDNdLCAgICVbZnRtcDNdLCAgICAgICAlW2Z0bXAxXSAgICAgICAgICAgIFxuXHQiCiAjZW5kaWYg
LyogX01JUFNfU0lNID09IF9BQklPMzIgKi8KIAorLy8gZGVwZW5kaW5nIG9uIGNhbGwgc2l0ZXMs
IHBhc3MgKipyZWZfYXJyYXkgdG8gYXZvaWQgJiBpbiBzdWJzZXF1ZW50IGNhbGwgYW5kCisvLyBk
ZS1kdXAgd2l0aCA0RCBiZWxvdy4KKyNkZWZpbmUgc2FkTXhOeEtfbW1pKG0sIG4sIGspICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdm9pZCB2cHhf
c2FkIyNtIyN4IyNuIyN4IyNrIyNfbW1pKGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJp
ZGUsICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QgKnJlZl9hcnJheSwgaW50IHJlZl9zdHJpZGUsIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90ICpzYWRfYXJyYXkpIHsgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBpbnQgaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGkgPSAwOyBpIDwgKGspOyArK2kp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
IHNhZF9hcnJheVtpXSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICB2cHhfc2FkIyNtIyN4IyNuIyNfbW1pKHNyYywg
c3JjX3N0cmlkZSwgJnJlZl9hcnJheVtpXSwgcmVmX3N0cmlkZSk7IFwKKyAgfQorCisvLyBUaGlz
IGFwcGVhcnMgdG8gYmUgZXF1aXZhbGVudCB0byB0aGUgYWJvdmUgd2hlbiBrID09IDQgYW5kIHJl
ZnMgaXMgY29uc3QKICNkZWZpbmUgc2FkTXhOeDREX21taShtLCBuKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB2b2lkIHZweF9zYWQjI20jI3gj
I24jI3g0ZF9tbWkoY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgICAgICAgICBc
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCBy
ZWZfYXJyYXlbXSwgICAgICAgICAgIFwKQEAgLTU3MCw2ICs1ODMsMTAgQEAgc3RhdGljIGlubGlu
ZSB1bnNpZ25lZCBpbnQgdnB4X3NhZDE2eChjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3Ry
aWRlLAogdnB4X3NhZDE2eE4oMzIpOwogdnB4X3NhZDE2eE4oMTYpOwogdnB4X3NhZDE2eE4oOCk7
CitzYWRNeE54S19tbWkoMTYsIDE2LCAzKTsKK3NhZE14TnhLX21taSgxNiwgMTYsIDgpOworc2Fk
TXhOeEtfbW1pKDE2LCA4LCAzKTsKK3NhZE14TnhLX21taSgxNiwgOCwgOCk7CiBzYWRNeE54NERf
bW1pKDE2LCAzMik7CiBzYWRNeE54NERfbW1pKDE2LCAxNik7CiBzYWRNeE54NERfbW1pKDE2LCA4
KTsKQEAgLTY2NCw2ICs2ODEsMTAgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgdnB4X3Nh
ZDh4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsCiB2cHhfc2FkOHhOKDE2KTsK
IHZweF9zYWQ4eE4oOCk7CiB2cHhfc2FkOHhOKDQpOworc2FkTXhOeEtfbW1pKDgsIDE2LCAzKTsK
K3NhZE14TnhLX21taSg4LCAxNiwgOCk7CitzYWRNeE54S19tbWkoOCwgOCwgMyk7CitzYWRNeE54
S19tbWkoOCwgOCwgOCk7CiBzYWRNeE54NERfbW1pKDgsIDE2KTsKIHNhZE14Tng0RF9tbWkoOCwg
OCk7CiBzYWRNeE54NERfbW1pKDgsIDQpOwpAQCAtNzU2LDYgKzc3Nyw4IEBAIHN0YXRpYyBpbmxp
bmUgdW5zaWduZWQgaW50IHZweF9zYWQ0eChjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3Ry
aWRlLAogCiB2cHhfc2FkNHhOKDgpOwogdnB4X3NhZDR4Tig0KTsKK3NhZE14TnhLX21taSg0LCA0
LCAzKTsKK3NhZE14TnhLX21taSg0LCA0LCA4KTsKIHNhZE14Tng0RF9tbWkoNCwgOCk7CiBzYWRN
eE54NERfbW1pKDQsIDQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbWlwcy9z
YWRfbXNhLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbWlwcy9zYWRfbXNhLmMKaW5kZXggYjBmOGZm
MWZkOTc2Li5hYjY4MWFlOWY4YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9taXBz
L3NhZF9tc2EuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvbWlwcy9zYWRfbXNhLmMKQEAgLTE1
OSw2ICsxNTksMzgwIEBAIHN0YXRpYyB1aW50MzJfdCBzYWRfNjR3aWR0aF9tc2EoY29uc3QgdWlu
dDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCiAgIHJldHVybiBzYWQ7CiB9CiAKK3N0YXRp
YyB2b2lkIHNhZF80d2lkdGhfeDNfbXNhKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludDMyX3Qg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9wdHIsIGludDMyX3QgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludDMyX3QgaGVpZ2h0LCB1aW50MzJfdCAqc2FkX2FycmF5KSB7CisgIGludDMyX3QgaHRf
Y250OworICB1aW50MzJfdCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzOworICB2MTZ1OCBzcmMgPSB7
IDAgfTsKKyAgdjE2dTggcmVmID0geyAwIH07CisgIHYxNnU4IHJlZjAsIHJlZjEsIHJlZjIsIHJl
ZjMsIGRpZmY7CisgIHY4dTE2IHNhZDAgPSB7IDAgfTsKKyAgdjh1MTYgc2FkMSA9IHsgMCB9Owor
ICB2OHUxNiBzYWQyID0geyAwIH07CisKKyAgZm9yIChodF9jbnQgPSAoaGVpZ2h0ID4+IDIpOyBo
dF9jbnQtLTspIHsKKyAgICBMVzQoc3JjX3B0ciwgc3JjX3N0cmlkZSwgc3JjMCwgc3JjMSwgc3Jj
Miwgc3JjMyk7CisgICAgc3JjX3B0ciArPSAoNCAqIHNyY19zdHJpZGUpOworICAgIElOU0VSVF9X
NF9VQihzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmMpOworCisgICAgTERfVUI0KHJlZl9wdHIs
IHJlZl9zdHJpZGUsIHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMpOworICAgIHJlZl9wdHIgKz0gKDQg
KiByZWZfc3RyaWRlKTsKKyAgICBTQURfSU5TVkVfVzRfVUIocmVmMCwgcmVmMSwgcmVmMiwgcmVm
MywgcmVmKTsKKyAgICBkaWZmID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYpOworICAgIHNhZDAg
Kz0gX19tc2FfaGFkZF91X2goZGlmZiwgZGlmZik7CisKKyAgICBTTERJX0IyX1VCKHJlZjAsIHJl
ZjEsIHJlZjAsIHJlZjEsIHJlZjAsIHJlZjEsIDEpOworICAgIFNMRElfQjJfVUIocmVmMiwgcmVm
MywgcmVmMiwgcmVmMywgcmVmMiwgcmVmMywgMSk7CisgICAgU0FEX0lOU1ZFX1c0X1VCKHJlZjAs
IHJlZjEsIHJlZjIsIHJlZjMsIHJlZik7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywg
cmVmKTsKKyAgICBzYWQxICs9IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisgICAgU0xE
SV9CMl9VQihyZWYwLCByZWYxLCByZWYwLCByZWYxLCByZWYwLCByZWYxLCAxKTsKKyAgICBTTERJ
X0IyX1VCKHJlZjIsIHJlZjMsIHJlZjIsIHJlZjMsIHJlZjIsIHJlZjMsIDEpOworICAgIFNBRF9J
TlNWRV9XNF9VQihyZWYwLCByZWYxLCByZWYyLCByZWYzLCByZWYpOworICAgIGRpZmYgPSBfX21z
YV9hc3ViX3VfYihzcmMsIHJlZik7CisgICAgc2FkMiArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBk
aWZmKTsKKyAgfQorCisgIHNhZF9hcnJheVswXSA9IEhBRERfVUhfVTMyKHNhZDApOworICBzYWRf
YXJyYXlbMV0gPSBIQUREX1VIX1UzMihzYWQxKTsKKyAgc2FkX2FycmF5WzJdID0gSEFERF9VSF9V
MzIoc2FkMik7Cit9CisKK3N0YXRpYyB2b2lkIHNhZF84d2lkdGhfeDNfbXNhKGNvbnN0IHVpbnQ4
X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJlZl9zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCwgdWludDMyX3QgKnNhZF9hcnJheSkgewor
ICBpbnQzMl90IGh0X2NudDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgc3JjMzsKKyAgdjE2
dTggcmVmMCwgcmVmMSwgcmVmMDAsIHJlZjExLCByZWYyMiwgcmVmMzM7CisgIHY4dTE2IHNhZDAg
PSB7IDAgfTsKKyAgdjh1MTYgc2FkMSA9IHsgMCB9OworICB2OHUxNiBzYWQyID0geyAwIH07CisK
KyAgZm9yIChodF9jbnQgPSAoaGVpZ2h0ID4+IDIpOyBodF9jbnQtLTspIHsKKyAgICBMRF9VQjQo
c3JjLCBzcmNfc3RyaWRlLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKKyAgICBzcmMgKz0gKDQg
KiBzcmNfc3RyaWRlKTsKKyAgICBMRF9VQjQocmVmLCByZWZfc3RyaWRlLCByZWYwMCwgcmVmMTEs
IHJlZjIyLCByZWYzMyk7CisgICAgcmVmICs9ICg0ICogcmVmX3N0cmlkZSk7CisgICAgUENLRVZf
RDRfVUIoc3JjMSwgc3JjMCwgc3JjMywgc3JjMiwgcmVmMTEsIHJlZjAwLCByZWYzMywgcmVmMjIs
IHNyYzAsIHNyYzEsCisgICAgICAgICAgICAgICAgcmVmMCwgcmVmMSk7CisgICAgc2FkMCArPSBT
QURfVUIyX1VIKHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOworCisgICAgU0xESV9CMl9VQihyZWYw
MCwgcmVmMTEsIHJlZjAwLCByZWYxMSwgcmVmMDAsIHJlZjExLCAxKTsKKyAgICBTTERJX0IyX1VC
KHJlZjIyLCByZWYzMywgcmVmMjIsIHJlZjMzLCByZWYyMiwgcmVmMzMsIDEpOworICAgIFBDS0VW
X0QyX1VCKHJlZjExLCByZWYwMCwgcmVmMzMsIHJlZjIyLCByZWYwLCByZWYxKTsKKyAgICBzYWQx
ICs9IFNBRF9VQjJfVUgoc3JjMCwgc3JjMSwgcmVmMCwgcmVmMSk7CisKKyAgICBTTERJX0IyX1VC
KHJlZjAwLCByZWYxMSwgcmVmMDAsIHJlZjExLCByZWYwMCwgcmVmMTEsIDEpOworICAgIFNMRElf
QjJfVUIocmVmMjIsIHJlZjMzLCByZWYyMiwgcmVmMzMsIHJlZjIyLCByZWYzMywgMSk7CisgICAg
UENLRVZfRDJfVUIocmVmMTEsIHJlZjAwLCByZWYzMywgcmVmMjIsIHJlZjAsIHJlZjEpOworICAg
IHNhZDIgKz0gU0FEX1VCMl9VSChzcmMwLCBzcmMxLCByZWYwLCByZWYxKTsKKyAgfQorCisgIHNh
ZF9hcnJheVswXSA9IEhBRERfVUhfVTMyKHNhZDApOworICBzYWRfYXJyYXlbMV0gPSBIQUREX1VI
X1UzMihzYWQxKTsKKyAgc2FkX2FycmF5WzJdID0gSEFERF9VSF9VMzIoc2FkMik7Cit9CisKK3N0
YXRpYyB2b2lkIHNhZF8xNndpZHRoX3gzX21zYShjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQz
Ml90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCAqcmVmX3B0ciwgaW50MzJfdCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludDMyX3QgaGVpZ2h0LCB1aW50MzJfdCAqc2FkX2FycmF5KSB7CisgIGludDMy
X3QgaHRfY250OworICB2MTZ1OCBzcmMsIHJlZiwgcmVmMCwgcmVmMSwgZGlmZjsKKyAgdjh1MTYg
c2FkMCA9IHsgMCB9OworICB2OHUxNiBzYWQxID0geyAwIH07CisgIHY4dTE2IHNhZDIgPSB7IDAg
fTsKKworICBmb3IgKGh0X2NudCA9IChoZWlnaHQgPj4gMSk7IGh0X2NudC0tOykgeworICAgIHNy
YyA9IExEX1VCKHNyY19wdHIpOworICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKKyAgICBMRF9V
QjIocmVmX3B0ciwgMTYsIHJlZjAsIHJlZjEpOworICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsK
KworICAgIGRpZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZjApOworICAgIHNhZDAgKz0gX19t
c2FfaGFkZF91X2goZGlmZiwgZGlmZik7CisKKyAgICByZWYgPSAodjE2dTgpX19tc2Ffc2xkaV9i
KCh2MTZpOClyZWYxLCAodjE2aTgpcmVmMCwgMSk7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9i
KHNyYywgcmVmKTsKKyAgICBzYWQxICs9IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisg
ICAgcmVmID0gKHYxNnU4KV9fbXNhX3NsZGlfYigodjE2aTgpcmVmMSwgKHYxNmk4KXJlZjAsIDIp
OworICAgIGRpZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZik7CisgICAgc2FkMiArPSBfX21z
YV9oYWRkX3VfaChkaWZmLCBkaWZmKTsKKworICAgIHNyYyA9IExEX1VCKHNyY19wdHIpOworICAg
IHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKKyAgICBMRF9VQjIocmVmX3B0ciwgMTYsIHJlZjAsIHJl
ZjEpOworICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKKworICAgIGRpZmYgPSBfX21zYV9hc3Vi
X3VfYihzcmMsIHJlZjApOworICAgIHNhZDAgKz0gX19tc2FfaGFkZF91X2goZGlmZiwgZGlmZik7
CisKKyAgICByZWYgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClyZWYxLCAodjE2aTgpcmVm
MCwgMSk7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVmKTsKKyAgICBzYWQxICs9
IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisgICAgcmVmID0gKHYxNnU4KV9fbXNhX3Ns
ZGlfYigodjE2aTgpcmVmMSwgKHYxNmk4KXJlZjAsIDIpOworICAgIGRpZmYgPSBfX21zYV9hc3Vi
X3VfYihzcmMsIHJlZik7CisgICAgc2FkMiArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBkaWZmKTsK
KyAgfQorCisgIHNhZF9hcnJheVswXSA9IEhBRERfVUhfVTMyKHNhZDApOworICBzYWRfYXJyYXlb
MV0gPSBIQUREX1VIX1UzMihzYWQxKTsKKyAgc2FkX2FycmF5WzJdID0gSEFERF9VSF9VMzIoc2Fk
Mik7Cit9CisKK3N0YXRpYyB2b2lkIHNhZF80d2lkdGhfeDhfbXNhKGNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludDMyX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludDMyX3QgcmVmX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0LCB1aW50MzJfdCAqc2FkX2FycmF5KSB7
CisgIGludDMyX3QgaHRfY250OworICB1aW50MzJfdCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzOwor
ICB2MTZ1OCByZWYwLCByZWYxLCByZWYyLCByZWYzLCBkaWZmOworICB2MTZ1OCBzcmMgPSB7IDAg
fTsKKyAgdjE2dTggcmVmID0geyAwIH07CisgIHY4dTE2IHNhZDAgPSB7IDAgfTsKKyAgdjh1MTYg
c2FkMSA9IHsgMCB9OworICB2OHUxNiBzYWQyID0geyAwIH07CisgIHY4dTE2IHNhZDMgPSB7IDAg
fTsKKyAgdjh1MTYgc2FkNCA9IHsgMCB9OworICB2OHUxNiBzYWQ1ID0geyAwIH07CisgIHY4dTE2
IHNhZDYgPSB7IDAgfTsKKyAgdjh1MTYgc2FkNyA9IHsgMCB9OworCisgIGZvciAoaHRfY250ID0g
KGhlaWdodCA+PiAyKTsgaHRfY250LS07KSB7CisgICAgTFc0KHNyY19wdHIsIHNyY19zdHJpZGUs
IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOworICAgIElOU0VSVF9XNF9VQihzcmMwLCBzcmMxLCBz
cmMyLCBzcmMzLCBzcmMpOworICAgIHNyY19wdHIgKz0gKDQgKiBzcmNfc3RyaWRlKTsKKyAgICBM
RF9VQjQocmVmX3B0ciwgcmVmX3N0cmlkZSwgcmVmMCwgcmVmMSwgcmVmMiwgcmVmMyk7CisgICAg
cmVmX3B0ciArPSAoNCAqIHJlZl9zdHJpZGUpOworCisgICAgU0FEX0lOU1ZFX1c0X1VCKHJlZjAs
IHJlZjEsIHJlZjIsIHJlZjMsIHJlZik7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywg
cmVmKTsKKyAgICBzYWQwICs9IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisgICAgU0xE
SV9CMl9VQihyZWYwLCByZWYxLCByZWYwLCByZWYxLCByZWYwLCByZWYxLCAxKTsKKyAgICBTTERJ
X0IyX1VCKHJlZjIsIHJlZjMsIHJlZjIsIHJlZjMsIHJlZjIsIHJlZjMsIDEpOworICAgIFNBRF9J
TlNWRV9XNF9VQihyZWYwLCByZWYxLCByZWYyLCByZWYzLCByZWYpOworICAgIGRpZmYgPSBfX21z
YV9hc3ViX3VfYihzcmMsIHJlZik7CisgICAgc2FkMSArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBk
aWZmKTsKKworICAgIFNMRElfQjJfVUIocmVmMCwgcmVmMSwgcmVmMCwgcmVmMSwgcmVmMCwgcmVm
MSwgMSk7CisgICAgU0xESV9CMl9VQihyZWYyLCByZWYzLCByZWYyLCByZWYzLCByZWYyLCByZWYz
LCAxKTsKKyAgICBTQURfSU5TVkVfVzRfVUIocmVmMCwgcmVmMSwgcmVmMiwgcmVmMywgcmVmKTsK
KyAgICBkaWZmID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYpOworICAgIHNhZDIgKz0gX19tc2Ff
aGFkZF91X2goZGlmZiwgZGlmZik7CisKKyAgICBTTERJX0IyX1VCKHJlZjAsIHJlZjEsIHJlZjAs
IHJlZjEsIHJlZjAsIHJlZjEsIDEpOworICAgIFNMRElfQjJfVUIocmVmMiwgcmVmMywgcmVmMiwg
cmVmMywgcmVmMiwgcmVmMywgMSk7CisgICAgU0FEX0lOU1ZFX1c0X1VCKHJlZjAsIHJlZjEsIHJl
ZjIsIHJlZjMsIHJlZik7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVmKTsKKyAg
ICBzYWQzICs9IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisgICAgU0xESV9CMl9VQihy
ZWYwLCByZWYxLCByZWYwLCByZWYxLCByZWYwLCByZWYxLCAxKTsKKyAgICBTTERJX0IyX1VCKHJl
ZjIsIHJlZjMsIHJlZjIsIHJlZjMsIHJlZjIsIHJlZjMsIDEpOworICAgIFNBRF9JTlNWRV9XNF9V
QihyZWYwLCByZWYxLCByZWYyLCByZWYzLCByZWYpOworICAgIGRpZmYgPSBfX21zYV9hc3ViX3Vf
YihzcmMsIHJlZik7CisgICAgc2FkNCArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBkaWZmKTsKKwor
ICAgIFNMRElfQjJfVUIocmVmMCwgcmVmMSwgcmVmMCwgcmVmMSwgcmVmMCwgcmVmMSwgMSk7Cisg
ICAgU0xESV9CMl9VQihyZWYyLCByZWYzLCByZWYyLCByZWYzLCByZWYyLCByZWYzLCAxKTsKKyAg
ICBTQURfSU5TVkVfVzRfVUIocmVmMCwgcmVmMSwgcmVmMiwgcmVmMywgcmVmKTsKKyAgICBkaWZm
ID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYpOworICAgIHNhZDUgKz0gX19tc2FfaGFkZF91X2go
ZGlmZiwgZGlmZik7CisKKyAgICBTTERJX0IyX1VCKHJlZjAsIHJlZjEsIHJlZjAsIHJlZjEsIHJl
ZjAsIHJlZjEsIDEpOworICAgIFNMRElfQjJfVUIocmVmMiwgcmVmMywgcmVmMiwgcmVmMywgcmVm
MiwgcmVmMywgMSk7CisgICAgU0FEX0lOU1ZFX1c0X1VCKHJlZjAsIHJlZjEsIHJlZjIsIHJlZjMs
IHJlZik7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVmKTsKKyAgICBzYWQ2ICs9
IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisgICAgU0xESV9CMl9VQihyZWYwLCByZWYx
LCByZWYwLCByZWYxLCByZWYwLCByZWYxLCAxKTsKKyAgICBTTERJX0IyX1VCKHJlZjIsIHJlZjMs
IHJlZjIsIHJlZjMsIHJlZjIsIHJlZjMsIDEpOworICAgIFNBRF9JTlNWRV9XNF9VQihyZWYwLCBy
ZWYxLCByZWYyLCByZWYzLCByZWYpOworICAgIGRpZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJl
Zik7CisgICAgc2FkNyArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBkaWZmKTsKKyAgfQorCisgIHNh
ZF9hcnJheVswXSA9IEhBRERfVUhfVTMyKHNhZDApOworICBzYWRfYXJyYXlbMV0gPSBIQUREX1VI
X1UzMihzYWQxKTsKKyAgc2FkX2FycmF5WzJdID0gSEFERF9VSF9VMzIoc2FkMik7CisgIHNhZF9h
cnJheVszXSA9IEhBRERfVUhfVTMyKHNhZDMpOworICBzYWRfYXJyYXlbNF0gPSBIQUREX1VIX1Uz
MihzYWQ0KTsKKyAgc2FkX2FycmF5WzVdID0gSEFERF9VSF9VMzIoc2FkNSk7CisgIHNhZF9hcnJh
eVs2XSA9IEhBRERfVUhfVTMyKHNhZDYpOworICBzYWRfYXJyYXlbN10gPSBIQUREX1VIX1UzMihz
YWQ3KTsKK30KKworc3RhdGljIHZvaWQgc2FkXzh3aWR0aF94OF9tc2EoY29uc3QgdWludDhfdCAq
c3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90ICpyZWYsIGludDMyX3QgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0LCB1aW50MzJfdCAqc2FkX2FycmF5KSB7CisgIGlu
dDMyX3QgaHRfY250OworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzOworICB2MTZ1OCBy
ZWYwLCByZWYxLCByZWYwMCwgcmVmMTEsIHJlZjIyLCByZWYzMzsKKyAgdjh1MTYgc2FkMCA9IHsg
MCB9OworICB2OHUxNiBzYWQxID0geyAwIH07CisgIHY4dTE2IHNhZDIgPSB7IDAgfTsKKyAgdjh1
MTYgc2FkMyA9IHsgMCB9OworICB2OHUxNiBzYWQ0ID0geyAwIH07CisgIHY4dTE2IHNhZDUgPSB7
IDAgfTsKKyAgdjh1MTYgc2FkNiA9IHsgMCB9OworICB2OHUxNiBzYWQ3ID0geyAwIH07CisKKyAg
Zm9yIChodF9jbnQgPSAoaGVpZ2h0ID4+IDIpOyBodF9jbnQtLTspIHsKKyAgICBMRF9VQjQoc3Jj
LCBzcmNfc3RyaWRlLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKKyAgICBzcmMgKz0gKDQgKiBz
cmNfc3RyaWRlKTsKKyAgICBMRF9VQjQocmVmLCByZWZfc3RyaWRlLCByZWYwMCwgcmVmMTEsIHJl
ZjIyLCByZWYzMyk7CisgICAgcmVmICs9ICg0ICogcmVmX3N0cmlkZSk7CisgICAgUENLRVZfRDRf
VUIoc3JjMSwgc3JjMCwgc3JjMywgc3JjMiwgcmVmMTEsIHJlZjAwLCByZWYzMywgcmVmMjIsIHNy
YzAsIHNyYzEsCisgICAgICAgICAgICAgICAgcmVmMCwgcmVmMSk7CisgICAgc2FkMCArPSBTQURf
VUIyX1VIKHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOworCisgICAgU0xESV9CMl9VQihyZWYwMCwg
cmVmMTEsIHJlZjAwLCByZWYxMSwgcmVmMDAsIHJlZjExLCAxKTsKKyAgICBTTERJX0IyX1VCKHJl
ZjIyLCByZWYzMywgcmVmMjIsIHJlZjMzLCByZWYyMiwgcmVmMzMsIDEpOworICAgIFBDS0VWX0Qy
X1VCKHJlZjExLCByZWYwMCwgcmVmMzMsIHJlZjIyLCByZWYwLCByZWYxKTsKKyAgICBzYWQxICs9
IFNBRF9VQjJfVUgoc3JjMCwgc3JjMSwgcmVmMCwgcmVmMSk7CisKKyAgICBTTERJX0IyX1VCKHJl
ZjAwLCByZWYxMSwgcmVmMDAsIHJlZjExLCByZWYwMCwgcmVmMTEsIDEpOworICAgIFNMRElfQjJf
VUIocmVmMjIsIHJlZjMzLCByZWYyMiwgcmVmMzMsIHJlZjIyLCByZWYzMywgMSk7CisgICAgUENL
RVZfRDJfVUIocmVmMTEsIHJlZjAwLCByZWYzMywgcmVmMjIsIHJlZjAsIHJlZjEpOworICAgIHNh
ZDIgKz0gU0FEX1VCMl9VSChzcmMwLCBzcmMxLCByZWYwLCByZWYxKTsKKworICAgIFNMRElfQjJf
VUIocmVmMDAsIHJlZjExLCByZWYwMCwgcmVmMTEsIHJlZjAwLCByZWYxMSwgMSk7CisgICAgU0xE
SV9CMl9VQihyZWYyMiwgcmVmMzMsIHJlZjIyLCByZWYzMywgcmVmMjIsIHJlZjMzLCAxKTsKKyAg
ICBQQ0tFVl9EMl9VQihyZWYxMSwgcmVmMDAsIHJlZjMzLCByZWYyMiwgcmVmMCwgcmVmMSk7Cisg
ICAgc2FkMyArPSBTQURfVUIyX1VIKHNyYzAsIHNyYzEsIHJlZjAsIHJlZjEpOworCisgICAgU0xE
SV9CMl9VQihyZWYwMCwgcmVmMTEsIHJlZjAwLCByZWYxMSwgcmVmMDAsIHJlZjExLCAxKTsKKyAg
ICBTTERJX0IyX1VCKHJlZjIyLCByZWYzMywgcmVmMjIsIHJlZjMzLCByZWYyMiwgcmVmMzMsIDEp
OworICAgIFBDS0VWX0QyX1VCKHJlZjExLCByZWYwMCwgcmVmMzMsIHJlZjIyLCByZWYwLCByZWYx
KTsKKyAgICBzYWQ0ICs9IFNBRF9VQjJfVUgoc3JjMCwgc3JjMSwgcmVmMCwgcmVmMSk7CisKKyAg
ICBTTERJX0IyX1VCKHJlZjAwLCByZWYxMSwgcmVmMDAsIHJlZjExLCByZWYwMCwgcmVmMTEsIDEp
OworICAgIFNMRElfQjJfVUIocmVmMjIsIHJlZjMzLCByZWYyMiwgcmVmMzMsIHJlZjIyLCByZWYz
MywgMSk7CisgICAgUENLRVZfRDJfVUIocmVmMTEsIHJlZjAwLCByZWYzMywgcmVmMjIsIHJlZjAs
IHJlZjEpOworICAgIHNhZDUgKz0gU0FEX1VCMl9VSChzcmMwLCBzcmMxLCByZWYwLCByZWYxKTsK
KworICAgIFNMRElfQjJfVUIocmVmMDAsIHJlZjExLCByZWYwMCwgcmVmMTEsIHJlZjAwLCByZWYx
MSwgMSk7CisgICAgU0xESV9CMl9VQihyZWYyMiwgcmVmMzMsIHJlZjIyLCByZWYzMywgcmVmMjIs
IHJlZjMzLCAxKTsKKyAgICBQQ0tFVl9EMl9VQihyZWYxMSwgcmVmMDAsIHJlZjMzLCByZWYyMiwg
cmVmMCwgcmVmMSk7CisgICAgc2FkNiArPSBTQURfVUIyX1VIKHNyYzAsIHNyYzEsIHJlZjAsIHJl
ZjEpOworCisgICAgU0xESV9CMl9VQihyZWYwMCwgcmVmMTEsIHJlZjAwLCByZWYxMSwgcmVmMDAs
IHJlZjExLCAxKTsKKyAgICBTTERJX0IyX1VCKHJlZjIyLCByZWYzMywgcmVmMjIsIHJlZjMzLCBy
ZWYyMiwgcmVmMzMsIDEpOworICAgIFBDS0VWX0QyX1VCKHJlZjExLCByZWYwMCwgcmVmMzMsIHJl
ZjIyLCByZWYwLCByZWYxKTsKKyAgICBzYWQ3ICs9IFNBRF9VQjJfVUgoc3JjMCwgc3JjMSwgcmVm
MCwgcmVmMSk7CisgIH0KKworICBzYWRfYXJyYXlbMF0gPSBIQUREX1VIX1UzMihzYWQwKTsKKyAg
c2FkX2FycmF5WzFdID0gSEFERF9VSF9VMzIoc2FkMSk7CisgIHNhZF9hcnJheVsyXSA9IEhBRERf
VUhfVTMyKHNhZDIpOworICBzYWRfYXJyYXlbM10gPSBIQUREX1VIX1UzMihzYWQzKTsKKyAgc2Fk
X2FycmF5WzRdID0gSEFERF9VSF9VMzIoc2FkNCk7CisgIHNhZF9hcnJheVs1XSA9IEhBRERfVUhf
VTMyKHNhZDUpOworICBzYWRfYXJyYXlbNl0gPSBIQUREX1VIX1UzMihzYWQ2KTsKKyAgc2FkX2Fy
cmF5WzddID0gSEFERF9VSF9VMzIoc2FkNyk7Cit9CisKK3N0YXRpYyB2b2lkIHNhZF8xNndpZHRo
X3g4X21zYShjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50MzJf
dCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVp
Z2h0LCB1aW50MzJfdCAqc2FkX2FycmF5KSB7CisgIGludDMyX3QgaHRfY250OworICB2MTZ1OCBz
cmMsIHJlZjAsIHJlZjEsIHJlZjsKKyAgdjE2dTggZGlmZjsKKyAgdjh1MTYgc2FkMCA9IHsgMCB9
OworICB2OHUxNiBzYWQxID0geyAwIH07CisgIHY4dTE2IHNhZDIgPSB7IDAgfTsKKyAgdjh1MTYg
c2FkMyA9IHsgMCB9OworICB2OHUxNiBzYWQ0ID0geyAwIH07CisgIHY4dTE2IHNhZDUgPSB7IDAg
fTsKKyAgdjh1MTYgc2FkNiA9IHsgMCB9OworICB2OHUxNiBzYWQ3ID0geyAwIH07CisKKyAgZm9y
IChodF9jbnQgPSAoaGVpZ2h0ID4+IDEpOyBodF9jbnQtLTspIHsKKyAgICBzcmMgPSBMRF9VQihz
cmNfcHRyKTsKKyAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7CisgICAgTERfVUIyKHJlZl9wdHIs
IDE2LCByZWYwLCByZWYxKTsKKyAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7CisKKyAgICBkaWZm
ID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYwKTsKKyAgICBzYWQwICs9IF9fbXNhX2hhZGRfdV9o
KGRpZmYsIGRpZmYpOworCisgICAgcmVmID0gKHYxNnU4KV9fbXNhX3NsZGlfYigodjE2aTgpcmVm
MSwgKHYxNmk4KXJlZjAsIDEpOworICAgIGRpZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZik7
CisgICAgc2FkMSArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBkaWZmKTsKKworICAgIHJlZiA9ICh2
MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXJlZjEsICh2MTZpOClyZWYwLCAyKTsKKyAgICBkaWZm
ID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYpOworICAgIHNhZDIgKz0gX19tc2FfaGFkZF91X2go
ZGlmZiwgZGlmZik7CisKKyAgICByZWYgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClyZWYx
LCAodjE2aTgpcmVmMCwgMyk7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVmKTsK
KyAgICBzYWQzICs9IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisgICAgcmVmID0gKHYx
NnU4KV9fbXNhX3NsZGlfYigodjE2aTgpcmVmMSwgKHYxNmk4KXJlZjAsIDQpOworICAgIGRpZmYg
PSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZik7CisgICAgc2FkNCArPSBfX21zYV9oYWRkX3VfaChk
aWZmLCBkaWZmKTsKKworICAgIHJlZiA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXJlZjEs
ICh2MTZpOClyZWYwLCA1KTsKKyAgICBkaWZmID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYpOwor
ICAgIHNhZDUgKz0gX19tc2FfaGFkZF91X2goZGlmZiwgZGlmZik7CisKKyAgICByZWYgPSAodjE2
dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClyZWYxLCAodjE2aTgpcmVmMCwgNik7CisgICAgZGlmZiA9
IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVmKTsKKyAgICBzYWQ2ICs9IF9fbXNhX2hhZGRfdV9oKGRp
ZmYsIGRpZmYpOworCisgICAgcmVmID0gKHYxNnU4KV9fbXNhX3NsZGlfYigodjE2aTgpcmVmMSwg
KHYxNmk4KXJlZjAsIDcpOworICAgIGRpZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZik7Cisg
ICAgc2FkNyArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBkaWZmKTsKKworICAgIHNyYyA9IExEX1VC
KHNyY19wdHIpOworICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKKyAgICBMRF9VQjIocmVmX3B0
ciwgMTYsIHJlZjAsIHJlZjEpOworICAgIHJlZl9wdHIgKz0gcmVmX3N0cmlkZTsKKworICAgIGRp
ZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZjApOworICAgIHNhZDAgKz0gX19tc2FfaGFkZF91
X2goZGlmZiwgZGlmZik7CisKKyAgICByZWYgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOCly
ZWYxLCAodjE2aTgpcmVmMCwgMSk7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVm
KTsKKyAgICBzYWQxICs9IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworCisgICAgcmVmID0g
KHYxNnU4KV9fbXNhX3NsZGlfYigodjE2aTgpcmVmMSwgKHYxNmk4KXJlZjAsIDIpOworICAgIGRp
ZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZik7CisgICAgc2FkMiArPSBfX21zYV9oYWRkX3Vf
aChkaWZmLCBkaWZmKTsKKworICAgIHJlZiA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXJl
ZjEsICh2MTZpOClyZWYwLCAzKTsKKyAgICBkaWZmID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYp
OworICAgIHNhZDMgKz0gX19tc2FfaGFkZF91X2goZGlmZiwgZGlmZik7CisKKyAgICByZWYgPSAo
djE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClyZWYxLCAodjE2aTgpcmVmMCwgNCk7CisgICAgZGlm
ZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVmKTsKKyAgICBzYWQ0ICs9IF9fbXNhX2hhZGRfdV9o
KGRpZmYsIGRpZmYpOworCisgICAgcmVmID0gKHYxNnU4KV9fbXNhX3NsZGlfYigodjE2aTgpcmVm
MSwgKHYxNmk4KXJlZjAsIDUpOworICAgIGRpZmYgPSBfX21zYV9hc3ViX3VfYihzcmMsIHJlZik7
CisgICAgc2FkNSArPSBfX21zYV9oYWRkX3VfaChkaWZmLCBkaWZmKTsKKworICAgIHJlZiA9ICh2
MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXJlZjEsICh2MTZpOClyZWYwLCA2KTsKKyAgICBkaWZm
ID0gX19tc2FfYXN1Yl91X2Ioc3JjLCByZWYpOworICAgIHNhZDYgKz0gX19tc2FfaGFkZF91X2go
ZGlmZiwgZGlmZik7CisKKyAgICByZWYgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClyZWYx
LCAodjE2aTgpcmVmMCwgNyk7CisgICAgZGlmZiA9IF9fbXNhX2FzdWJfdV9iKHNyYywgcmVmKTsK
KyAgICBzYWQ3ICs9IF9fbXNhX2hhZGRfdV9oKGRpZmYsIGRpZmYpOworICB9CisKKyAgc2FkX2Fy
cmF5WzBdID0gSEFERF9VSF9VMzIoc2FkMCk7CisgIHNhZF9hcnJheVsxXSA9IEhBRERfVUhfVTMy
KHNhZDEpOworICBzYWRfYXJyYXlbMl0gPSBIQUREX1VIX1UzMihzYWQyKTsKKyAgc2FkX2FycmF5
WzNdID0gSEFERF9VSF9VMzIoc2FkMyk7CisgIHNhZF9hcnJheVs0XSA9IEhBRERfVUhfVTMyKHNh
ZDQpOworICBzYWRfYXJyYXlbNV0gPSBIQUREX1VIX1UzMihzYWQ1KTsKKyAgc2FkX2FycmF5WzZd
ID0gSEFERF9VSF9VMzIoc2FkNik7CisgIHNhZF9hcnJheVs3XSA9IEhBRERfVUhfVTMyKHNhZDcp
OworfQorCiBzdGF0aWMgdm9pZCBzYWRfNHdpZHRoX3g0ZF9tc2EoY29uc3QgdWludDhfdCAqc3Jj
X3B0ciwgaW50MzJfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKmNvbnN0IGFyZWZfcHRyW10sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MzJfdCByZWZfc3RyaWRlLCBpbnQzMl90IGhlaWdodCwKQEAgLTY2MywzOCAr
MTAzNyw4MCBAQCBzdGF0aWMgdWludDMyX3QgYXZnc2FkXzY0d2lkdGhfbXNhKGNvbnN0IHVpbnQ4
X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAogICAgIHJldHVybiBzYWRfNjR3aWR0aF9tc2Eo
c3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIGhlaWdodCk7ICAgICAgICAgXAogICB9
CiAKKyNkZWZpbmUgVlBYX1NBRF80eEhFSUdIVHgzX01TQShoZWlnaHQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgIHZvaWQgdnB4X3NhZDR4IyNoZWlnaHQjI3gzX21zYShj
b25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJlZl9zdHJpZGUs
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpzYWRzKSB7ICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgc2FkXzR3aWR0aF94M19tc2Eoc3JjLCBzcmNfc3Ry
aWRlLCByZWYsIHJlZl9zdHJpZGUsIGhlaWdodCwgc2Fkcyk7ICAgXAorICB9CisKKyNkZWZpbmUg
VlBYX1NBRF84eEhFSUdIVHgzX01TQShoZWlnaHQpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgIHZvaWQgdnB4X3NhZDh4IyNoZWlnaHQjI3gzX21zYShjb25zdCB1aW50OF90
ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJlZl9zdHJpZGUsIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpzYWRzKSB7ICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgc2FkXzh3aWR0aF94M19tc2Eoc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJl
Zl9zdHJpZGUsIGhlaWdodCwgc2Fkcyk7ICAgXAorICB9CisKKyNkZWZpbmUgVlBYX1NBRF8xNnhI
RUlHSFR4M19NU0EoaGVpZ2h0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICB2b2lkIHZweF9zYWQxNngjI2hlaWdodCMjeDNfbXNhKGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50
MzJfdCBzcmNfc3RyaWRlLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCAqcmVmLCBpbnQzMl90IHJlZl9zdHJpZGUsIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc2FkcykgeyAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIHNhZF8xNndpZHRoX3gzX21zYShzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlk
ZSwgaGVpZ2h0LCBzYWRzKTsgICBcCisgIH0KKworI2RlZmluZSBWUFhfU0FEXzR4SEVJR0hUeDhf
TVNBKGhlaWdodCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdm9pZCB2
cHhfc2FkNHgjI2hlaWdodCMjeDhfbXNhKGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNf
c3RyaWRlLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
ICpyZWYsIGludDMyX3QgcmVmX3N0cmlkZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QgKnNhZHMpIHsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzYWRf
NHdpZHRoX3g4X21zYShzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgaGVpZ2h0LCBz
YWRzKTsgICBcCisgIH0KKworI2RlZmluZSBWUFhfU0FEXzh4SEVJR0hUeDhfTVNBKGhlaWdodCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdm9pZCB2cHhfc2FkOHgjI2hl
aWdodCMjeDhfbXNhKGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWYsIGludDMy
X3QgcmVmX3N0cmlkZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgKnNhZHMpIHsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzYWRfOHdpZHRoX3g4X21z
YShzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgaGVpZ2h0LCBzYWRzKTsgICBcCisg
IH0KKworI2RlZmluZSBWUFhfU0FEXzE2eEhFSUdIVHg4X01TQShoZWlnaHQpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgIHZvaWQgdnB4X3NhZDE2eCMjaGVpZ2h0IyN4OF9t
c2EoY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWYsIGludDMyX3QgcmVmX3N0
cmlkZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpzYWRz
KSB7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc2FkXzE2d2lkdGhfeDhfbXNhKHNyYywg
c3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoZWlnaHQsIHNhZHMpOyAgIFwKKyAgfQorCiAj
ZGVmaW5lIFZQWF9TQURfNHhIRUlHSFR4NERfTVNBKGhlaWdodCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgdm9pZCB2cHhfc2FkNHgjI2hlaWdodCMjeDRkX21zYShjb25z
dCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZnNbNF0sICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCByZWZfc3RyaWRlLCB1
aW50MzJfdCBzYWRzWzRdKSB7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OF90ICpjb25zdCByZWZzW10sICAgICAgICAgICAgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDMyX3QgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZHMpIHsg
ICBcCiAgICAgc2FkXzR3aWR0aF94NGRfbXNhKHNyYywgc3JjX3N0cmlkZSwgcmVmcywgcmVmX3N0
cmlkZSwgaGVpZ2h0LCBzYWRzKTsgIFwKICAgfQogCiAjZGVmaW5lIFZQWF9TQURfOHhIRUlHSFR4
NERfTVNBKGhlaWdodCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgdm9p
ZCB2cHhfc2FkOHgjI2hlaWdodCMjeDRkX21zYShjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qg
c3JjX3N0cmlkZSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QgKmNvbnN0IHJlZnNbNF0sICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MzJfdCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRzWzRdKSB7IFwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZz
W10sICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMy
X3QgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZHMpIHsgICBcCiAgICAgc2FkXzh3aWR0aF94NGRf
bXNhKHNyYywgc3JjX3N0cmlkZSwgcmVmcywgcmVmX3N0cmlkZSwgaGVpZ2h0LCBzYWRzKTsgIFwK
ICAgfQogCiAjZGVmaW5lIFZQWF9TQURfMTZ4SEVJR0hUeDREX01TQShoZWlnaHQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIHZvaWQgdnB4X3NhZDE2eCMjaGVpZ2h0IyN4
NGRfbXNhKGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZnNbNF0s
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3Qg
cmVmX3N0cmlkZSwgdWludDMyX3Qgc2Fkc1s0XSkgeyBcCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZnNbXSwgICAgICAgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgcmVmX3N0cmlkZSwgdWlu
dDMyX3QgKnNhZHMpIHsgICBcCiAgICAgc2FkXzE2d2lkdGhfeDRkX21zYShzcmMsIHNyY19zdHJp
ZGUsIHJlZnMsIHJlZl9zdHJpZGUsIGhlaWdodCwgc2Fkcyk7ICBcCiAgIH0KIAogI2RlZmluZSBW
UFhfU0FEXzMyeEhFSUdIVHg0RF9NU0EoaGVpZ2h0KSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAogICB2b2lkIHZweF9zYWQzMngjI2hlaWdodCMjeDRkX21zYShjb25zdCB1aW50
OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZzWzRdLCAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHJlZl9zdHJpZGUsIHVpbnQz
Ml90IHNhZHNbNF0pIHsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OF90ICpjb25zdCByZWZzW10sICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQzMl90IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzYWRzKSB7ICAg
XAogICAgIHNhZF8zMndpZHRoX3g0ZF9tc2Eoc3JjLCBzcmNfc3RyaWRlLCByZWZzLCByZWZfc3Ry
aWRlLCBoZWlnaHQsIHNhZHMpOyAgXAogICB9CiAKICNkZWZpbmUgVlBYX1NBRF82NHhIRUlHSFR4
NERfTVNBKGhlaWdodCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgdm9p
ZCB2cHhfc2FkNjR4IyNoZWlnaHQjI3g0ZF9tc2EoY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90
IHNyY19zdHJpZGUsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCAqY29uc3QgcmVmc1s0XSwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50MzJfdCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRzWzRdKSB7IFwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3Qg
cmVmc1tdLCAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MzJfdCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkcykgeyAgIFwKICAgICBzYWRfNjR3aWR0
aF94NGRfbXNhKHNyYywgc3JjX3N0cmlkZSwgcmVmcywgcmVmX3N0cmlkZSwgaGVpZ2h0LCBzYWRz
KTsgIFwKICAgfQogCkBAIC03NzAsMjEgKzExODYsMjkgQEAgVlBYX0FWR1NBRF8xNnhIRUlHSFRf
TVNBKDMyKTsKIAogLy8gMTZ4MTYKIFZQWF9TQURfMTZ4SEVJR0hUX01TQSgxNik7CitWUFhfU0FE
XzE2eEhFSUdIVHgzX01TQSgxNik7CitWUFhfU0FEXzE2eEhFSUdIVHg4X01TQSgxNik7CiBWUFhf
U0FEXzE2eEhFSUdIVHg0RF9NU0EoMTYpOwogVlBYX0FWR1NBRF8xNnhIRUlHSFRfTVNBKDE2KTsK
IAogLy8gMTZ4OAogVlBYX1NBRF8xNnhIRUlHSFRfTVNBKDgpOworVlBYX1NBRF8xNnhIRUlHSFR4
M19NU0EoOCk7CitWUFhfU0FEXzE2eEhFSUdIVHg4X01TQSg4KTsKIFZQWF9TQURfMTZ4SEVJR0hU
eDREX01TQSg4KTsKIFZQWF9BVkdTQURfMTZ4SEVJR0hUX01TQSg4KTsKIAogLy8gOHgxNgogVlBY
X1NBRF84eEhFSUdIVF9NU0EoMTYpOworVlBYX1NBRF84eEhFSUdIVHgzX01TQSgxNik7CitWUFhf
U0FEXzh4SEVJR0hUeDhfTVNBKDE2KTsKIFZQWF9TQURfOHhIRUlHSFR4NERfTVNBKDE2KTsKIFZQ
WF9BVkdTQURfOHhIRUlHSFRfTVNBKDE2KTsKIAogLy8gOHg4CiBWUFhfU0FEXzh4SEVJR0hUX01T
QSg4KTsKK1ZQWF9TQURfOHhIRUlHSFR4M19NU0EoOCk7CitWUFhfU0FEXzh4SEVJR0hUeDhfTVNB
KDgpOwogVlBYX1NBRF84eEhFSUdIVHg0RF9NU0EoOCk7CiBWUFhfQVZHU0FEXzh4SEVJR0hUX01T
QSg4KTsKIApAQCAtODAwLDUgKzEyMjQsNyBAQCBWUFhfQVZHU0FEXzR4SEVJR0hUX01TQSg4KTsK
IAogLy8gNHg0CiBWUFhfU0FEXzR4SEVJR0hUX01TQSg0KTsKK1ZQWF9TQURfNHhIRUlHSFR4M19N
U0EoNCk7CitWUFhfU0FEXzR4SEVJR0hUeDhfTVNBKDQpOwogVlBYX1NBRF80eEhFSUdIVHg0RF9N
U0EoNCk7CiBWUFhfQVZHU0FEXzR4SEVJR0hUX01TQSg0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC9wcGMvcXVhbnRpemVfdnN4LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvcHBjL3F1
YW50aXplX3ZzeC5jCmluZGV4IGFiNzFmNmUyMzUxNi4uZDg1ZTYzYmQxNDg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvcHBjL3F1YW50aXplX3ZzeC5jCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9wcGMvcXVhbnRpemVfdnN4LmMKQEAgLTc4LDEwICs3OCwxMSBAQCBzdGF0aWMgSU5M
SU5FIGludDE2eDhfdCBkZXF1YW50aXplX2NvZWZmXzMyKGludDE2eDhfdCBxY29lZmYsCiAgIHJl
dHVybiAoaW50MTZ4OF90KXZlY19wZXJtKGRxY29lZmZlLCBkcWNvZWZmbywgdmVjX3Blcm1fb2Rk
X2V2ZW5fcGFjayk7CiB9CiAKLXN0YXRpYyBJTkxJTkUgaW50MTZ4OF90IG5vbnplcm9fc2Nhbmlu
ZGV4KGludDE2eDhfdCBxY29lZmYsCitzdGF0aWMgSU5MSU5FIGludDE2eDhfdCBub256ZXJvX3Nj
YW5pbmRleChpbnQxNng4X3QgcWNvZWZmLCBib29sMTZ4OF90IG1hc2ssCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICppc2Nhbl9wdHIsIGlu
dCBpbmRleCkgewogICBpbnQxNng4X3Qgc2NhbiA9IHZlY192c3hfbGQoaW5kZXgsIGlzY2FuX3B0
cik7CiAgIGJvb2wxNng4X3QgemVyb19jb2VmZiA9IHZlY19jbXBlcShxY29lZmYsIHZlY196ZXJv
c19zMTYpOworICBzY2FuID0gdmVjX3N1YihzY2FuLCBtYXNrKTsKICAgcmV0dXJuIHZlY19hbmRj
KHNjYW4sIHplcm9fY29lZmYpOwogfQogCkBAIC05NCw4ICs5NSw4IEBAIHN0YXRpYyBJTkxJTkUg
aW50MTZ4OF90IHZlY19tYXhfYWNyb3NzKGludDE2eDhfdCBhKSB7CiB9CiAKIHZvaWQgdnB4X3F1
YW50aXplX2JfdnN4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2Vm
ZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICp6YmluX3B0ciwgY29u
c3QgaW50MTZfdCAqcm91bmRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCAqcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ss
IGNvbnN0IGludDE2X3QgKnpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50MTZfdCAqcm91bmRfcHRyLCBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9zaGlmdF9wdHIsIHRyYW5fbG93X3Qg
KnFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZm
X3B0ciwgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCAqZW9iX3B0ciwgY29uc3QgaW50MTZfdCAqc2Nhbl9wdHIsCkBAIC0xMjEsNiAr
MTIyLDggQEAgdm9pZCB2cHhfcXVhbnRpemVfYl92c3goY29uc3QgdHJhbl9sb3dfdCAqY29lZmZf
cHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKICAgemVyb19tYXNrMSA9IHZlY19jbXBnZShjb2VmZjFf
YWJzLCB6YmluKTsKIAogICAodm9pZClzY2FuX3B0cjsKKyAgKHZvaWQpc2tpcF9ibG9jazsKKyAg
YXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICBxY29lZmYwID0KICAgICAgIHF1YW50aXplX2NvZWZm
KGNvZWZmMCwgY29lZmYwX2Ficywgcm91bmQsIHF1YW50LCBxdWFudF9zaGlmdCwgemVyb19tYXNr
MCk7CkBAIC0xMzgsOCArMTQxLDggQEAgdm9pZCB2cHhfcXVhbnRpemVfYl92c3goY29uc3QgdHJh
bl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKICAgZHFjb2VmZjEgPSB2ZWNf
bWxhZGQocWNvZWZmMSwgZGVxdWFudCwgdmVjX3plcm9zX3MxNik7CiAgIHZlY192c3hfc3QoZHFj
b2VmZjEsIDE2LCBkcWNvZWZmX3B0cik7CiAKLSAgZW9iID0gdmVjX21heChub256ZXJvX3NjYW5p
bmRleChxY29lZmYwLCBpc2Nhbl9wdHIsIDApLAotICAgICAgICAgICAgICAgIG5vbnplcm9fc2Nh
bmluZGV4KHFjb2VmZjEsIGlzY2FuX3B0ciwgMTYpKTsKKyAgZW9iID0gdmVjX21heChub256ZXJv
X3NjYW5pbmRleChxY29lZmYwLCB6ZXJvX21hc2swLCBpc2Nhbl9wdHIsIDApLAorICAgICAgICAg
ICAgICAgIG5vbnplcm9fc2NhbmluZGV4KHFjb2VmZjEsIHplcm9fbWFzazEsIGlzY2FuX3B0ciwg
MTYpKTsKIAogICBpZiAobl9jb2VmZnMgPiAxNikgewogICAgIGludCBpbmRleCA9IDE2OwpAQCAt
MTc2LDkgKzE3OSwxMCBAQCB2b2lkIHZweF9xdWFudGl6ZV9iX3ZzeChjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAogICAgICAgdmVjX3ZzeF9zdChkcWNvZWZm
MSwgb2ZmMSwgZHFjb2VmZl9wdHIpOwogICAgICAgdmVjX3ZzeF9zdChkcWNvZWZmMiwgb2ZmMiwg
ZHFjb2VmZl9wdHIpOwogCi0gICAgICBlb2IgPSB2ZWNfbWF4KGVvYiwgbm9uemVyb19zY2FuaW5k
ZXgocWNvZWZmMCwgaXNjYW5fcHRyLCBvZmYwKSk7Ci0gICAgICBlb2IyID0gdmVjX21heChub256
ZXJvX3NjYW5pbmRleChxY29lZmYxLCBpc2Nhbl9wdHIsIG9mZjEpLAotICAgICAgICAgICAgICAg
ICAgICAgbm9uemVyb19zY2FuaW5kZXgocWNvZWZmMiwgaXNjYW5fcHRyLCBvZmYyKSk7CisgICAg
ICBlb2IgPQorICAgICAgICAgIHZlY19tYXgoZW9iLCBub256ZXJvX3NjYW5pbmRleChxY29lZmYw
LCB6ZXJvX21hc2swLCBpc2Nhbl9wdHIsIG9mZjApKTsKKyAgICAgIGVvYjIgPSB2ZWNfbWF4KG5v
bnplcm9fc2NhbmluZGV4KHFjb2VmZjEsIHplcm9fbWFzazEsIGlzY2FuX3B0ciwgb2ZmMSksCisg
ICAgICAgICAgICAgICAgICAgICBub256ZXJvX3NjYW5pbmRleChxY29lZmYyLCB6ZXJvX21hc2sy
LCBpc2Nhbl9wdHIsIG9mZjIpKTsKICAgICAgIGVvYiA9IHZlY19tYXgoZW9iLCBlb2IyKTsKIAog
ICAgICAgaW5kZXggKz0gMjQ7CkBAIC0xOTIsMTQgKzE5NiwxMiBAQCB2b2lkIHZweF9xdWFudGl6
ZV9iX3ZzeChjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAog
ICAqZW9iX3B0ciA9IGVvYlswXTsKIH0KIAotdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl92c3go
Y29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnpiaW5fcHRyLCBjb25zdCBpbnQx
Nl90ICpyb3VuZF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90ICpxdWFudF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90ICpxdWFudF9zaGlmdF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFu
X2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAq
ZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnNj
YW5fcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqaXNj
YW5fcHRyKSB7Cit2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX3ZzeCgKKyAgICBjb25zdCB0cmFu
X2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBpbnQgc2tpcF9ibG9jaywKKyAg
ICBjb25zdCBpbnQxNl90ICp6YmluX3B0ciwgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLCBjb25z
dCBpbnQxNl90ICpxdWFudF9wdHIsCisgICAgY29uc3QgaW50MTZfdCAqcXVhbnRfc2hpZnRfcHRy
LCB0cmFuX2xvd190ICpxY29lZmZfcHRyLAorICAgIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBj
b25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsCisgICAgY29uc3Qg
aW50MTZfdCAqc2Nhbl9wdHIsIGNvbnN0IGludDE2X3QgKmlzY2FuX3B0cikgewogICAvLyBJbiBz
dGFnZSAxLCB3ZSBxdWFudGl6ZSAxNiBjb2VmZnMgKERDICsgMTUgQUMpCiAgIC8vIEluIHN0YWdl
IDIsIHdlIGxvb3AgNDIgdGltZXMgYW5kIHF1YW50aXplIDI0IGNvZWZmcyBwZXIgaXRlcmF0aW9u
CiAgIC8vICgzMiAqIDMyIC0gMTYpIC8gMjQgPSA0MgpAQCAtMjI1LDcgKzIyNyw5IEBAIHZvaWQg
dnB4X3F1YW50aXplX2JfMzJ4MzJfdnN4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50
cHRyX3Qgbl9jb2VmZnMsCiAgIGludDE2eDhfdCBjb2VmZjFfYWJzID0gdmVjX2Ficyhjb2VmZjEp
OwogCiAgICh2b2lkKXNjYW5fcHRyOworICAodm9pZClza2lwX2Jsb2NrOwogICAodm9pZCluX2Nv
ZWZmczsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICAvLyAzMngzMiBxdWFudGl6YXRpb24g
cmVxdWlyZXMgdGhhdCB6YmluIGFuZCByb3VuZCBiZSBkaXZpZGVkIGJ5IDIKICAgemJpbiA9IHZl
Y19zcmEodmVjX2FkZCh6YmluLCB2ZWNfb25lc19zMTYpLCB2ZWNfb25lc191MTYpOwpAQCAtMjUw
LDggKzI1NCw4IEBAIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfdnN4KGNvbnN0IHRyYW5fbG93
X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCiAgIGRlcXVhbnQgPSB2ZWNfc3BsYXQo
ZGVxdWFudCwgMSk7ICAvLyByZW1vdmUgREMgZnJvbSBkZXF1YW50CiAgIHZlY192c3hfc3QoZGVx
dWFudGl6ZV9jb2VmZl8zMihxY29lZmYxLCBkZXF1YW50KSwgMTYsIGRxY29lZmZfcHRyKTsKIAot
ICBlb2IgPSB2ZWNfbWF4KG5vbnplcm9fc2NhbmluZGV4KHFjb2VmZjAsIGlzY2FuX3B0ciwgMCks
Ci0gICAgICAgICAgICAgICAgbm9uemVyb19zY2FuaW5kZXgocWNvZWZmMSwgaXNjYW5fcHRyLCAx
NikpOworICBlb2IgPSB2ZWNfbWF4KG5vbnplcm9fc2NhbmluZGV4KHFjb2VmZjAsIHplcm9fbWFz
azAsIGlzY2FuX3B0ciwgMCksCisgICAgICAgICAgICAgICAgbm9uemVyb19zY2FuaW5kZXgocWNv
ZWZmMSwgemVyb19tYXNrMSwgaXNjYW5fcHRyLCAxNikpOwogCiAgIGRvIHsKICAgICBpbnQxNng4
X3QgY29lZmYyLCBjb2VmZjJfYWJzLCBxY29lZmYyLCBlb2IyOwpAQCAtMjg0LDkgKzI4OCw5IEBA
IHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfdnN4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0
ciwgaW50cHRyX3Qgbl9jb2VmZnMsCiAgICAgdmVjX3ZzeF9zdChkZXF1YW50aXplX2NvZWZmXzMy
KHFjb2VmZjEsIGRlcXVhbnQpLCBvZmYxLCBkcWNvZWZmX3B0cik7CiAgICAgdmVjX3ZzeF9zdChk
ZXF1YW50aXplX2NvZWZmXzMyKHFjb2VmZjIsIGRlcXVhbnQpLCBvZmYyLCBkcWNvZWZmX3B0cik7
CiAKLSAgICBlb2IgPSB2ZWNfbWF4KGVvYiwgbm9uemVyb19zY2FuaW5kZXgocWNvZWZmMCwgaXNj
YW5fcHRyLCBvZmYwKSk7Ci0gICAgZW9iMiA9IHZlY19tYXgobm9uemVyb19zY2FuaW5kZXgocWNv
ZWZmMSwgaXNjYW5fcHRyLCBvZmYxKSwKLSAgICAgICAgICAgICAgICAgICBub256ZXJvX3NjYW5p
bmRleChxY29lZmYyLCBpc2Nhbl9wdHIsIG9mZjIpKTsKKyAgICBlb2IgPSB2ZWNfbWF4KGVvYiwg
bm9uemVyb19zY2FuaW5kZXgocWNvZWZmMCwgemVyb19tYXNrMCwgaXNjYW5fcHRyLCBvZmYwKSk7
CisgICAgZW9iMiA9IHZlY19tYXgobm9uemVyb19zY2FuaW5kZXgocWNvZWZmMSwgemVyb19tYXNr
MSwgaXNjYW5fcHRyLCBvZmYxKSwKKyAgICAgICAgICAgICAgICAgICBub256ZXJvX3NjYW5pbmRl
eChxY29lZmYyLCB6ZXJvX21hc2syLCBpc2Nhbl9wdHIsIG9mZjIpKTsKICAgICBlb2IgPSB2ZWNf
bWF4KGVvYiwgZW9iMik7CiAKICAgICAvLyAyNCBpbnQxNl90IGlzIDQ4IGJ5dGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvcHBjL3ZhcmlhbmNlX3ZzeC5jIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL3BwYy92YXJpYW5jZV92c3guYwppbmRleCA2YzZiYzlhMzAxOWIuLmJlOTYxNGEzNTg0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BwYy92YXJpYW5jZV92c3guYworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AvcHBjL3ZhcmlhbmNlX3ZzeC5jCkBAIC0yMjUsNyArMjI1LDcg
QEAgc3RhdGljIElOTElORSB2b2lkIHZhcmlhbmNlKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLAogICB9CiAKIC8qIElkZW50aWNhbCB0byB0aGUgdmFyaWFuY2UgY2FsbCBl
eGNlcHQgaXQgZG9lcyBub3QgY2FsY3VsYXRlIHRoZQotICogc3NlIC0gc3VtXjIgLyB3KmggYW5k
IHJldHVybnMgc3NlIGluIGFkZGl0aW9uIHRvIG1vZGlmeWluZyB0aGUgcGFzc2VkIGluCisgKiBz
c2UgLSBzdW1eMiAvIHcqaCBhbmQgcmV0dXJucyBzc2UgaW4gYWRkdGlvbiB0byBtb2RpZnlpbmcg
dGhlIHBhc3NlZCBpbgogICogdmFyaWFibGUuCiAgKi8KICNkZWZpbmUgTVNFKFcsIEgpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BzbnIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9w
c25yLmMKaW5kZXggZjBkNGU5MjdhZTNjLi40OGJhYzA0NTA4ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC9wc25yLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BzbnIuYwpAQCAt
MjYsNDQgKzI2LDU3IEBAIGRvdWJsZSB2cHhfc3NlX3RvX3BzbnIoZG91YmxlIHNhbXBsZXMsIGRv
dWJsZSBwZWFrLCBkb3VibGUgc3NlKSB7CiAvKiBUT0RPKHlhb3d1KTogVGhlIGJsb2NrX3Zhcmlh
bmNlIGNhbGxzIHRoZSB1bm9wdGltaXplZCB2ZXJzaW9ucyBvZiB2YXJpYW5jZSgpCiAgKiBhbmQg
aGlnaGJkXzhfdmFyaWFuY2UoKS4gSXQgc2hvdWxkIG5vdC4KICAqLwotc3RhdGljIGludDY0X3Qg
ZW5jb2Rlcl9zc2UoY29uc3QgdWludDhfdCAqYSwgaW50IGFfc3RyaWRlLCBjb25zdCB1aW50OF90
ICpiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJfc3RyaWRlLCBpbnQgdywgaW50
IGgpIHsKK3N0YXRpYyB2b2lkIGVuY29kZXJfdmFyaWFuY2UoY29uc3QgdWludDhfdCAqYSwgaW50
IGFfc3RyaWRlLCBjb25zdCB1aW50OF90ICpiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYl9zdHJpZGUsIGludCB3LCBpbnQgaCwgdW5zaWduZWQgaW50ICpzc2UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCAqc3VtKSB7CiAgIGludCBpLCBqOwotICBpbnQ2NF90
IHNzZSA9IDA7CisKKyAgKnN1bSA9IDA7CisgICpzc2UgPSAwOwogCiAgIGZvciAoaSA9IDA7IGkg
PCBoOyBpKyspIHsKICAgICBmb3IgKGogPSAwOyBqIDwgdzsgaisrKSB7CiAgICAgICBjb25zdCBp
bnQgZGlmZiA9IGFbal0gLSBiW2pdOwotICAgICAgc3NlICs9IGRpZmYgKiBkaWZmOworICAgICAg
KnN1bSArPSBkaWZmOworICAgICAgKnNzZSArPSBkaWZmICogZGlmZjsKICAgICB9CiAKICAgICBh
ICs9IGFfc3RyaWRlOwogICAgIGIgKz0gYl9zdHJpZGU7CiAgIH0KLQotICByZXR1cm4gc3NlOwog
fQogCiAjaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLXN0YXRpYyBpbnQ2NF90IGVuY29kZXJf
aGlnaGJkXzhfc3NlKGNvbnN0IHVpbnQ4X3QgKmE4LCBpbnQgYV9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiOCwgaW50IGJfc3RyaWRl
LCBpbnQgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7Citz
dGF0aWMgdm9pZCBlbmNvZGVyX2hpZ2hiZF92YXJpYW5jZTY0KGNvbnN0IHVpbnQ4X3QgKmE4LCBp
bnQgYV9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKmI4LCBpbnQgYl9zdHJpZGUsIGludCB3LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgaCwgdWludDY0X3QgKnNzZSwgaW50NjRfdCAqc3VtKSB7CiAg
IGludCBpLCBqOwotICBpbnQ2NF90IHNzZSA9IDA7CiAKICAgdWludDE2X3QgKmEgPSBDT05WRVJU
X1RPX1NIT1JUUFRSKGE4KTsKICAgdWludDE2X3QgKmIgPSBDT05WRVJUX1RPX1NIT1JUUFRSKGI4
KTsKKyAgKnN1bSA9IDA7CisgICpzc2UgPSAwOwogCiAgIGZvciAoaSA9IDA7IGkgPCBoOyBpKysp
IHsKICAgICBmb3IgKGogPSAwOyBqIDwgdzsgaisrKSB7CiAgICAgICBjb25zdCBpbnQgZGlmZiA9
IGFbal0gLSBiW2pdOwotICAgICAgc3NlICs9IGRpZmYgKiBkaWZmOworICAgICAgKnN1bSArPSBk
aWZmOworICAgICAgKnNzZSArPSBkaWZmICogZGlmZjsKICAgICB9CiAgICAgYSArPSBhX3N0cmlk
ZTsKICAgICBiICs9IGJfc3RyaWRlOwogICB9Cit9CiAKLSAgcmV0dXJuIHNzZTsKK3N0YXRpYyB2
b2lkIGVuY29kZXJfaGlnaGJkXzhfdmFyaWFuY2UoY29uc3QgdWludDhfdCAqYTgsIGludCBhX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqYjgsIGludCBiX3N0cmlkZSwgaW50IHcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBoLCB1bnNpZ25lZCBpbnQgKnNzZSwgaW50ICpzdW0pIHsKKyAgdWludDY0
X3Qgc3NlX2xvbmcgPSAwOworICBpbnQ2NF90IHN1bV9sb25nID0gMDsKKyAgZW5jb2Rlcl9oaWdo
YmRfdmFyaWFuY2U2NChhOCwgYV9zdHJpZGUsIGI4LCBiX3N0cmlkZSwgdywgaCwgJnNzZV9sb25n
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdW1fbG9uZyk7CisgICpzc2UgPSAodW5z
aWduZWQgaW50KXNzZV9sb25nOworICAqc3VtID0gKGludClzdW1fbG9uZzsKIH0KICNlbmRpZiAg
Ly8gQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKIApAQCAtNzIsMjMgKzg1LDI2IEBAIHN0YXRpYyBp
bnQ2NF90IGdldF9zc2UoY29uc3QgdWludDhfdCAqYSwgaW50IGFfc3RyaWRlLCBjb25zdCB1aW50
OF90ICpiLAogICBjb25zdCBpbnQgZHcgPSB3aWR0aCAlIDE2OwogICBjb25zdCBpbnQgZGggPSBo
ZWlnaHQgJSAxNjsKICAgaW50NjRfdCB0b3RhbF9zc2UgPSAwOworICB1bnNpZ25lZCBpbnQgc3Nl
ID0gMDsKKyAgaW50IHN1bSA9IDA7CiAgIGludCB4LCB5OwogCiAgIGlmIChkdyA+IDApIHsKLSAg
ICB0b3RhbF9zc2UgKz0gZW5jb2Rlcl9zc2UoJmFbd2lkdGggLSBkd10sIGFfc3RyaWRlLCAmYlt3
aWR0aCAtIGR3XSwgYl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR3LCBo
ZWlnaHQpOworICAgIGVuY29kZXJfdmFyaWFuY2UoJmFbd2lkdGggLSBkd10sIGFfc3RyaWRlLCAm
Ylt3aWR0aCAtIGR3XSwgYl9zdHJpZGUsIGR3LAorICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0
LCAmc3NlLCAmc3VtKTsKKyAgICB0b3RhbF9zc2UgKz0gc3NlOwogICB9CiAKICAgaWYgKGRoID4g
MCkgewotICAgIHRvdGFsX3NzZSArPQotICAgICAgICBlbmNvZGVyX3NzZSgmYVsoaGVpZ2h0IC0g
ZGgpICogYV9zdHJpZGVdLCBhX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgJmJbKGhlaWdo
dCAtIGRoKSAqIGJfc3RyaWRlXSwgYl9zdHJpZGUsIHdpZHRoIC0gZHcsIGRoKTsKKyAgICBlbmNv
ZGVyX3ZhcmlhbmNlKCZhWyhoZWlnaHQgLSBkaCkgKiBhX3N0cmlkZV0sIGFfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgJmJbKGhlaWdodCAtIGRoKSAqIGJfc3RyaWRlXSwgYl9zdHJpZGUs
IHdpZHRoIC0gZHcsIGRoLAorICAgICAgICAgICAgICAgICAgICAgJnNzZSwgJnN1bSk7CisgICAg
dG90YWxfc3NlICs9IHNzZTsKICAgfQogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQgLyAxNjsg
Kyt5KSB7CiAgICAgY29uc3QgdWludDhfdCAqcGEgPSBhOwogICAgIGNvbnN0IHVpbnQ4X3QgKnBi
ID0gYjsKLSAgICB1bnNpZ25lZCBpbnQgc3NlOwogICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAv
IDE2OyArK3gpIHsKICAgICAgIHZweF9tc2UxNngxNihwYSwgYV9zdHJpZGUsIHBiLCBiX3N0cmlk
ZSwgJnNzZSk7CiAgICAgICB0b3RhbF9zc2UgKz0gc3NlOwpAQCAtMTMwLDE5ICsxNDYsMjIgQEAg
c3RhdGljIGludDY0X3QgaGlnaGJkX2dldF9zc2UoY29uc3QgdWludDhfdCAqYSwgaW50IGFfc3Ry
aWRlLCBjb25zdCB1aW50OF90ICpiLAogICBpbnQgeCwgeTsKICAgY29uc3QgaW50IGR3ID0gd2lk
dGggJSAxNjsKICAgY29uc3QgaW50IGRoID0gaGVpZ2h0ICUgMTY7CisgIHVuc2lnbmVkIGludCBz
c2UgPSAwOworICBpbnQgc3VtID0gMDsKICAgaWYgKGR3ID4gMCkgewotICAgIHRvdGFsX3NzZSAr
PSBlbmNvZGVyX2hpZ2hiZF84X3NzZSgmYVt3aWR0aCAtIGR3XSwgYV9zdHJpZGUsICZiW3dpZHRo
IC0gZHddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiX3N0cmlkZSwg
ZHcsIGhlaWdodCk7CisgICAgZW5jb2Rlcl9oaWdoYmRfOF92YXJpYW5jZSgmYVt3aWR0aCAtIGR3
XSwgYV9zdHJpZGUsICZiW3dpZHRoIC0gZHddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYl9zdHJpZGUsIGR3LCBoZWlnaHQsICZzc2UsICZzdW0pOworICAgIHRvdGFsX3NzZSArPSBz
c2U7CiAgIH0KICAgaWYgKGRoID4gMCkgewotICAgIHRvdGFsX3NzZSArPSBlbmNvZGVyX2hpZ2hi
ZF84X3NzZSgmYVsoaGVpZ2h0IC0gZGgpICogYV9zdHJpZGVdLCBhX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJbKGhlaWdodCAtIGRoKSAqIGJfc3RyaWRl
XSwgYl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRo
IC0gZHcsIGRoKTsKKyAgICBlbmNvZGVyX2hpZ2hiZF84X3ZhcmlhbmNlKCZhWyhoZWlnaHQgLSBk
aCkgKiBhX3N0cmlkZV0sIGFfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmJbKGhlaWdodCAtIGRoKSAqIGJfc3RyaWRlXSwgYl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB3aWR0aCAtIGR3LCBkaCwgJnNzZSwgJnN1bSk7CisgICAgdG90YWxfc3Nl
ICs9IHNzZTsKICAgfQogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0IC8gMTY7ICsreSkgewogICAg
IGNvbnN0IHVpbnQ4X3QgKnBhID0gYTsKICAgICBjb25zdCB1aW50OF90ICpwYiA9IGI7Ci0gICAg
dW5zaWduZWQgaW50IHNzZTsKICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLyAxNjsgKyt4KSB7
CiAgICAgICB2cHhfaGlnaGJkXzhfbXNlMTZ4MTYocGEsIGFfc3RyaWRlLCBwYiwgYl9zdHJpZGUs
ICZzc2UpOwogICAgICAgdG90YWxfc3NlICs9IHNzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC9xdWFudGl6ZS5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3F1YW50aXplLmMKaW5kZXgg
ZmFjOTEzNmY4YzI3Li42MTgxOGY2OTJlNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC9xdWFudGl6ZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9xdWFudGl6ZS5jCkBAIC0xNCwx
MCArMTQsOCBAQAogI2luY2x1ZGUgInZweF9kc3AvcXVhbnRpemUuaCIKICNpbmNsdWRlICJ2cHhf
ZHNwL3ZweF9kc3BfY29tbW9uLmgiCiAjaW5jbHVkZSAidnB4X21lbS92cHhfbWVtLmgiCi0jaW5j
bHVkZSAidnA5L2NvbW1vbi92cDlfc2Nhbi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9i
bG9jay5oIgogCi12b2lkIHZweF9xdWFudGl6ZV9kYyhjb25zdCB0cmFuX2xvd190ICpjb2VmZl9w
dHIsIGludCBuX2NvZWZmcywKK3ZvaWQgdnB4X3F1YW50aXplX2RjKGNvbnN0IHRyYW5fbG93X3Qg
KmNvZWZmX3B0ciwgaW50IG5fY29lZmZzLCBpbnQgc2tpcF9ibG9jaywKICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50MTZfdCBxdWFudCwKICAg
ICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRx
Y29lZmZfcHRyLAogICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCBkZXF1YW50LCB1
aW50MTZfdCAqZW9iX3B0cikgewpAQCAtMzAsMjYgKzI4LDI4IEBAIHZvaWQgdnB4X3F1YW50aXpl
X2RjKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50IG5fY29lZmZzLAogICBtZW1zZXQo
cWNvZWZmX3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKnFjb2VmZl9wdHIpKTsKICAgbWVtc2V0
KGRxY29lZmZfcHRyLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZl9wdHIpKTsKIAotICB0
bXAgPSBjbGFtcChhYnNfY29lZmYgKyByb3VuZF9wdHJbcmMgIT0gMF0sIElOVDE2X01JTiwgSU5U
MTZfTUFYKTsKLSAgdG1wID0gKHRtcCAqIHF1YW50KSA+PiAxNjsKLSAgcWNvZWZmX3B0cltyY10g
PSAodG1wIF4gY29lZmZfc2lnbikgLSBjb2VmZl9zaWduOwotICBkcWNvZWZmX3B0cltyY10gPSBx
Y29lZmZfcHRyW3JjXSAqIGRlcXVhbnQ7Ci0gIGlmICh0bXApIGVvYiA9IDA7Ci0KKyAgaWYgKCFz
a2lwX2Jsb2NrKSB7CisgICAgdG1wID0gY2xhbXAoYWJzX2NvZWZmICsgcm91bmRfcHRyW3JjICE9
IDBdLCBJTlQxNl9NSU4sIElOVDE2X01BWCk7CisgICAgdG1wID0gKHRtcCAqIHF1YW50KSA+PiAx
NjsKKyAgICBxY29lZmZfcHRyW3JjXSA9ICh0bXAgXiBjb2VmZl9zaWduKSAtIGNvZWZmX3NpZ247
CisgICAgZHFjb2VmZl9wdHJbcmNdID0gcWNvZWZmX3B0cltyY10gKiBkZXF1YW50OworICAgIGlm
ICh0bXApIGVvYiA9IDA7CisgIH0KICAgKmVvYl9wdHIgPSBlb2IgKyAxOwogfQogCiAjaWYgQ09O
RklHX1ZQOV9ISUdIQklUREVQVEgKIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9kYyhjb25zdCB0
cmFuX2xvd190ICpjb2VmZl9wdHIsIGludCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsIGNvbnN0IGludDE2X3QgcXVhbnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9s
b3dfdCAqZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCBkZXF1YW50LCB1aW50MTZfdCAqZW9iX3B0cikgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBza2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCBxdWFudCwgdHJhbl9sb3dfdCAqcWNv
ZWZmX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZm
X3B0ciwgY29uc3QgaW50MTZfdCBkZXF1YW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQxNl90ICplb2JfcHRyKSB7CiAgIGludCBlb2IgPSAtMTsKIAogICBtZW1zZXQocWNvZWZm
X3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKnFjb2VmZl9wdHIpKTsKICAgbWVtc2V0KGRxY29l
ZmZfcHRyLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZl9wdHIpKTsKIAotICB7CisgIGlm
ICghc2tpcF9ibG9jaykgewogICAgIGNvbnN0IGludCBjb2VmZiA9IGNvZWZmX3B0clswXTsKICAg
ICBjb25zdCBpbnQgY29lZmZfc2lnbiA9IChjb2VmZiA+PiAzMSk7CiAgICAgY29uc3QgaW50IGFi
c19jb2VmZiA9IChjb2VmZiBeIGNvZWZmX3NpZ24pIC0gY29lZmZfc2lnbjsKQEAgLTU5LDEyICs1
OSwxMSBAQCB2b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfZGMoY29uc3QgdHJhbl9sb3dfdCAqY29l
ZmZfcHRyLCBpbnQgbl9jb2VmZnMsCiAgICAgZHFjb2VmZl9wdHJbMF0gPSBxY29lZmZfcHRyWzBd
ICogZGVxdWFudDsKICAgICBpZiAoYWJzX3Fjb2VmZikgZW9iID0gMDsKICAgfQotCiAgICplb2Jf
cHRyID0gZW9iICsgMTsKIH0KICNlbmRpZgogCi12b2lkIHZweF9xdWFudGl6ZV9kY18zMngzMihj
b25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsCit2b2lkIHZweF9xdWFudGl6ZV9kY18zMngzMihj
b25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludCBza2lwX2Jsb2NrLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLCBjb25zdCBpbnQxNl90IHF1
YW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwg
dHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQxNl90IGRlcXVhbnQsIHVpbnQxNl90ICplb2JfcHRyKSB7CkBAIC03OCwxOCArNzcsMTkg
QEAgdm9pZCB2cHhfcXVhbnRpemVfZGNfMzJ4MzIoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRy
LAogICBtZW1zZXQocWNvZWZmX3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKnFjb2VmZl9wdHIp
KTsKICAgbWVtc2V0KGRxY29lZmZfcHRyLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZl9w
dHIpKTsKIAotICB0bXAgPSBjbGFtcChhYnNfY29lZmYgKyBST1VORF9QT1dFUl9PRl9UV08ocm91
bmRfcHRyW3JjICE9IDBdLCAxKSwgSU5UMTZfTUlOLAotICAgICAgICAgICAgICBJTlQxNl9NQVgp
OwotICB0bXAgPSAodG1wICogcXVhbnQpID4+IDE1OwotICBxY29lZmZfcHRyW3JjXSA9ICh0bXAg
XiBjb2VmZl9zaWduKSAtIGNvZWZmX3NpZ247Ci0gIGRxY29lZmZfcHRyW3JjXSA9IHFjb2VmZl9w
dHJbcmNdICogZGVxdWFudCAvIDI7Ci0gIGlmICh0bXApIGVvYiA9IDA7Ci0KKyAgaWYgKCFza2lw
X2Jsb2NrKSB7CisgICAgdG1wID0gY2xhbXAoYWJzX2NvZWZmICsgUk9VTkRfUE9XRVJfT0ZfVFdP
KHJvdW5kX3B0cltyYyAhPSAwXSwgMSksCisgICAgICAgICAgICAgICAgSU5UMTZfTUlOLCBJTlQx
Nl9NQVgpOworICAgIHRtcCA9ICh0bXAgKiBxdWFudCkgPj4gMTU7CisgICAgcWNvZWZmX3B0clty
Y10gPSAodG1wIF4gY29lZmZfc2lnbikgLSBjb2VmZl9zaWduOworICAgIGRxY29lZmZfcHRyW3Jj
XSA9IHFjb2VmZl9wdHJbcmNdICogZGVxdWFudCAvIDI7CisgICAgaWYgKHRtcCkgZW9iID0gMDsK
KyAgfQogICAqZW9iX3B0ciA9IGVvYiArIDE7CiB9CiAKICNpZiBDT05GSUdfVlA5X0hJR0hCSVRE
RVBUSAotdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2RjXzMyeDMyKGNvbnN0IHRyYW5fbG93X3Qg
KmNvZWZmX3B0ciwKK3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9kY18zMngzMihjb25zdCB0cmFu
X2xvd190ICpjb2VmZl9wdHIsIGludCBza2lwX2Jsb2NrLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50MTZfdCBxdWFu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpxY29lZmZf
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29l
ZmZfcHRyLApAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9kY18z
MngzMihjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsCiAgIG1lbXNldChxY29lZmZfcHRyLCAw
LCBuX2NvZWZmcyAqIHNpemVvZigqcWNvZWZmX3B0cikpOwogICBtZW1zZXQoZHFjb2VmZl9wdHIs
IDAsIG5fY29lZmZzICogc2l6ZW9mKCpkcWNvZWZmX3B0cikpOwogCi0gIHsKKyAgaWYgKCFza2lw
X2Jsb2NrKSB7CiAgICAgY29uc3QgaW50IGNvZWZmID0gY29lZmZfcHRyWzBdOwogICAgIGNvbnN0
IGludCBjb2VmZl9zaWduID0gKGNvZWZmID4+IDMxKTsKICAgICBjb25zdCBpbnQgYWJzX2NvZWZm
ID0gKGNvZWZmIF4gY29lZmZfc2lnbikgLSBjb2VmZl9zaWduOwpAQCAtMTEwLDIzICsxMTAsMjMg
QEAgdm9pZCB2cHhfaGlnaGJkX3F1YW50aXplX2RjXzMyeDMyKGNvbnN0IHRyYW5fbG93X3QgKmNv
ZWZmX3B0ciwKICAgICBkcWNvZWZmX3B0clswXSA9IHFjb2VmZl9wdHJbMF0gKiBkZXF1YW50IC8g
MjsKICAgICBpZiAoYWJzX3Fjb2VmZikgZW9iID0gMDsKICAgfQotCiAgICplb2JfcHRyID0gZW9i
ICsgMTsKIH0KICNlbmRpZgogCiB2b2lkIHZweF9xdWFudGl6ZV9iX2MoY29uc3QgdHJhbl9sb3df
dCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9w
dHIsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVp
bnQxNl90ICplb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2Fu
T3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tp
cF9ibG9jaywgY29uc3QgaW50MTZfdCAqemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50MTZfdCAqcm91bmRfcHRyLCBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcXVhbnRfc2hpZnRfcHRyLCB0cmFuX2xv
d190ICpxY29lZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKmRxY29l
ZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCAqZW9iX3B0ciwgY29uc3QgaW50MTZfdCAqc2NhbiwKKyAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQxNl90ICppc2NhbikgewogICBpbnQgaSwgbm9uX3plcm9fY291bnQg
PSAoaW50KW5fY29lZmZzLCBlb2IgPSAtMTsKLSAgY29uc3QgaW50IHpiaW5zWzJdID0geyBtYl9w
bGFuZS0+emJpblswXSwgbWJfcGxhbmUtPnpiaW5bMV0gfTsKKyAgY29uc3QgaW50IHpiaW5zWzJd
ID0geyB6YmluX3B0clswXSwgemJpbl9wdHJbMV0gfTsKICAgY29uc3QgaW50IG56Ymluc1syXSA9
IHsgemJpbnNbMF0gKiAtMSwgemJpbnNbMV0gKiAtMSB9OwotICBjb25zdCBpbnQxNl90ICpyb3Vu
ZF9wdHIgPSBtYl9wbGFuZS0+cm91bmQ7Ci0gIGNvbnN0IGludDE2X3QgKnF1YW50X3B0ciA9IG1i
X3BsYW5lLT5xdWFudDsKLSAgY29uc3QgaW50MTZfdCAqcXVhbnRfc2hpZnRfcHRyID0gbWJfcGxh
bmUtPnF1YW50X3NoaWZ0OwotICBjb25zdCBpbnQxNl90ICpzY2FuID0gc2Nhbl9vcmRlci0+c2Nh
bjsKKyAgKHZvaWQpaXNjYW47CisgICh2b2lkKXNraXBfYmxvY2s7CisgIGFzc2VydCghc2tpcF9i
bG9jayk7CiAKICAgbWVtc2V0KHFjb2VmZl9wdHIsIDAsIG5fY29lZmZzICogc2l6ZW9mKCpxY29l
ZmZfcHRyKSk7CiAgIG1lbXNldChkcWNvZWZmX3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKmRx
Y29lZmZfcHRyKSk7CkBAIC0xNjYsMTcgKzE2NiwxOCBAQCB2b2lkIHZweF9xdWFudGl6ZV9iX2Mo
Y29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKIAogI2lmIENP
TkZJR19WUDlfSElHSEJJVERFUFRICiB2b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9jKGNvbnN0
IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9w
bGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssIGNvbnN0
IGludDE2X3QgKnpiaW5fcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQxNl90ICpyb3VuZF9wdHIsIGNvbnN0IGludDE2X3QgKnF1YW50X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcXVhbnRfc2hpZnRfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190
ICpkcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZf
dCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGludDE2
X3QgKmlzY2FuKSB7CiAgIGludCBpLCBub25femVyb19jb3VudCA9IChpbnQpbl9jb2VmZnMsIGVv
YiA9IC0xOwotICBjb25zdCBpbnQgemJpbnNbMl0gPSB7IG1iX3BsYW5lLT56YmluWzBdLCBtYl9w
bGFuZS0+emJpblsxXSB9OworICBjb25zdCBpbnQgemJpbnNbMl0gPSB7IHpiaW5fcHRyWzBdLCB6
YmluX3B0clsxXSB9OwogICBjb25zdCBpbnQgbnpiaW5zWzJdID0geyB6Ymluc1swXSAqIC0xLCB6
Ymluc1sxXSAqIC0xIH07Ci0gIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciA9IG1iX3BsYW5lLT5y
b3VuZDsKLSAgY29uc3QgaW50MTZfdCAqcXVhbnRfcHRyID0gbWJfcGxhbmUtPnF1YW50OwotICBj
b25zdCBpbnQxNl90ICpxdWFudF9zaGlmdF9wdHIgPSBtYl9wbGFuZS0+cXVhbnRfc2hpZnQ7Ci0g
IGNvbnN0IGludDE2X3QgKnNjYW4gPSBzY2FuX29yZGVyLT5zY2FuOworICAodm9pZClpc2NhbjsK
KyAgKHZvaWQpc2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKIAogICBtZW1zZXQo
cWNvZWZmX3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKnFjb2VmZl9wdHIpKTsKICAgbWVtc2V0
KGRxY29lZmZfcHRyLCAwLCBuX2NvZWZmcyAqIHNpemVvZigqZHFjb2VmZl9wdHIpKTsKQEAgLTIx
MywyMyArMjE0LDIzIEBAIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iX2MoY29uc3QgdHJhbl9s
b3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKIH0KICNlbmRpZgogCi12b2lkIHZw
eF9xdWFudGl6ZV9iXzMyeDMyX2MoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25z
dCBtYl9wbGFuZSwKK3ZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYyhjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICp6YmluX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsIGNvbnN0IGludDE2X3Qg
KnF1YW50X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpx
dWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAq
cWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0
IHNjYW5fb3JkZXIpIHsKLSAgY29uc3QgaW50IG5fY29lZmZzID0gMzIgKiAzMjsKLSAgY29uc3Qg
aW50IHpiaW5zWzJdID0geyBST1VORF9QT1dFUl9PRl9UV08obWJfcGxhbmUtPnpiaW5bMF0sIDEp
LAotICAgICAgICAgICAgICAgICAgICAgICAgIFJPVU5EX1BPV0VSX09GX1RXTyhtYl9wbGFuZS0+
emJpblsxXSwgMSkgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90
ICpzY2FuLCBjb25zdCBpbnQxNl90ICppc2NhbikgeworICBjb25zdCBpbnQgemJpbnNbMl0gPSB7
IFJPVU5EX1BPV0VSX09GX1RXTyh6YmluX3B0clswXSwgMSksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgUk9VTkRfUE9XRVJfT0ZfVFdPKHpiaW5fcHRyWzFdLCAxKSB9OwogICBjb25zdCBpbnQg
bnpiaW5zWzJdID0geyB6Ymluc1swXSAqIC0xLCB6Ymluc1sxXSAqIC0xIH07Ci0gIGNvbnN0IGlu
dDE2X3QgKnJvdW5kX3B0ciA9IG1iX3BsYW5lLT5yb3VuZDsKLSAgY29uc3QgaW50MTZfdCAqcXVh
bnRfcHRyID0gbWJfcGxhbmUtPnF1YW50OwotICBjb25zdCBpbnQxNl90ICpxdWFudF9zaGlmdF9w
dHIgPSBtYl9wbGFuZS0+cXVhbnRfc2hpZnQ7Ci0gIGNvbnN0IGludDE2X3QgKnNjYW4gPSBzY2Fu
X29yZGVyLT5zY2FuOwogCiAgIGludCBpZHggPSAwOwotICBpbnQgaWR4X2FyclszMiAqIDMyIC8q
IG5fY29lZmZzICovXTsKKyAgaW50IGlkeF9hcnJbMTAyNF07CiAgIGludCBpLCBlb2IgPSAtMTsK
KyAgKHZvaWQpaXNjYW47CisgICh2b2lkKXNraXBfYmxvY2s7CisgIGFzc2VydCghc2tpcF9ibG9j
ayk7CiAKICAgbWVtc2V0KHFjb2VmZl9wdHIsIDAsIG5fY29lZmZzICogc2l6ZW9mKCpxY29lZmZf
cHRyKSk7CiAgIG1lbXNldChkcWNvZWZmX3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKmRxY29l
ZmZfcHRyKSk7CkBAIC0yNzYsMjEgKzI3NywyMSBAQCB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMy
X2MoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLAogCiAjaWYgQ09ORklHX1ZQOV9ISUdIQklU
REVQVEgKIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX2MoCi0gICAgY29uc3QgdHJh
bl9sb3dfdCAqY29lZmZfcHRyLCBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3Qg
bWJfcGxhbmUsCi0gICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2Vm
Zl9wdHIsIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90ICplb2JfcHRy
LCBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7Ci0gIGNvbnN0IGlu
dHB0cl90IG5fY29lZmZzID0gMzIgKiAzMjsKLSAgY29uc3QgaW50IHpiaW5zWzJdID0geyBST1VO
RF9QT1dFUl9PRl9UV08obWJfcGxhbmUtPnpiaW5bMF0sIDEpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIFJPVU5EX1BPV0VSX09GX1RXTyhtYl9wbGFuZS0+emJpblsxXSwgMSkgfTsKKyAgICBj
b25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBpbnQgc2tpcF9i
bG9jaywKKyAgICBjb25zdCBpbnQxNl90ICp6YmluX3B0ciwgY29uc3QgaW50MTZfdCAqcm91bmRf
cHRyLCBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsCisgICAgY29uc3QgaW50MTZfdCAqcXVhbnRf
c2hpZnRfcHRyLCB0cmFuX2xvd190ICpxY29lZmZfcHRyLAorICAgIHRyYW5fbG93X3QgKmRxY29l
ZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsCisg
ICAgY29uc3QgaW50MTZfdCAqc2NhbiwgY29uc3QgaW50MTZfdCAqaXNjYW4pIHsKKyAgY29uc3Qg
aW50IHpiaW5zWzJdID0geyBST1VORF9QT1dFUl9PRl9UV08oemJpbl9wdHJbMF0sIDEpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIFJPVU5EX1BPV0VSX09GX1RXTyh6YmluX3B0clsxXSwgMSkg
fTsKICAgY29uc3QgaW50IG56Ymluc1syXSA9IHsgemJpbnNbMF0gKiAtMSwgemJpbnNbMV0gKiAt
MSB9OwotICBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIgPSBtYl9wbGFuZS0+cm91bmQ7Ci0gIGNv
bnN0IGludDE2X3QgKnF1YW50X3B0ciA9IG1iX3BsYW5lLT5xdWFudDsKLSAgY29uc3QgaW50MTZf
dCAqcXVhbnRfc2hpZnRfcHRyID0gbWJfcGxhbmUtPnF1YW50X3NoaWZ0OwotICBjb25zdCBpbnQx
Nl90ICpzY2FuID0gc2Nhbl9vcmRlci0+c2NhbjsKIAogICBpbnQgaWR4ID0gMDsKICAgaW50IGlk
eF9hcnJbMTAyNF07CiAgIGludCBpLCBlb2IgPSAtMTsKKyAgKHZvaWQpaXNjYW47CisgICh2b2lk
KXNraXBfYmxvY2s7CisgIGFzc2VydCghc2tpcF9ibG9jayk7CiAKICAgbWVtc2V0KHFjb2VmZl9w
dHIsIDAsIG5fY29lZmZzICogc2l6ZW9mKCpxY29lZmZfcHRyKSk7CiAgIG1lbXNldChkcWNvZWZm
X3B0ciwgMCwgbl9jb2VmZnMgKiBzaXplb2YoKmRxY29lZmZfcHRyKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AvcXVhbnRpemUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9xdWFudGl6
ZS5oCmluZGV4IDhlMTM4NDQ1ZTI4Ni4uN2NhYzE0MGU5ZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AvcXVhbnRpemUuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvcXVhbnRpemUu
aApAQCAtMTgsMjEgKzE4LDIyIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi12b2lkIHZweF9x
dWFudGl6ZV9kYyhjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludCBuX2NvZWZmcywKK3Zv
aWQgdnB4X3F1YW50aXplX2RjKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50IG5fY29l
ZmZzLCBpbnQgc2tpcF9ibG9jaywKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qg
KnJvdW5kX3B0ciwgY29uc3QgaW50MTZfdCBxdWFudCwKICAgICAgICAgICAgICAgICAgICAgIHRy
YW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50MTZfdCBkZXF1YW50LCB1aW50MTZfdCAqZW9iX3B0cik7Ci12
b2lkIHZweF9xdWFudGl6ZV9kY18zMngzMihjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsCit2
b2lkIHZweF9xdWFudGl6ZV9kY18zMngzMihjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGlu
dCBza2lwX2Jsb2NrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAq
cm91bmRfcHRyLCBjb25zdCBpbnQxNl90IHF1YW50LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90IGRlcXVhbnQsIHVpbnQxNl90ICpl
b2JfcHRyKTsKIAogI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICiB2b2lkIHZweF9oaWdoYmRf
cXVhbnRpemVfZGMoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnQgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLCBjb25z
dCBpbnQxNl90IHF1YW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3Qg
KnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QgZGVxdWFudCwgdWludDE2X3QgKmVvYl9wdHIpOwotdm9p
ZCB2cHhfaGlnaGJkX3F1YW50aXplX2RjXzMyeDMyKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50
MTZfdCAqcm91bmRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QgcXVhbnQsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGludDE2X3QgZGVxdWFudCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqZW9iX3B0cik7Cit2b2lkIHZweF9o
aWdoYmRfcXVhbnRpemVfZGNfMzJ4MzIoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnQg
c2tpcF9ibG9jaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90ICpyb3VuZF9wdHIsIGNvbnN0IGludDE2X3QgcXVhbnQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC9zYWQuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9zYWQuYwppbmRleCAy
YTRjODFkNTg4YzkuLjc2OTMyMjAxOWU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3NhZC5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9zYWQuYwpAQCAtNDAsMzUgKzQwLDMyIEBA
IHN0YXRpYyBJTkxJTkUgdW5zaWduZWQgaW50IHNhZChjb25zdCB1aW50OF90ICpzcmNfcHRyLCBp
bnQgc3JjX3N0cmlkZSwKICAgdW5zaWduZWQgaW50IHZweF9zYWQjI20jI3gjI24jI19hdmdfYygg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgIGNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCAgICAg
ICAgIFwKICAgICAgIGludCByZWZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCkg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBERUNMQVJFX0FMSUdORUQoMzIsIHVp
bnQ4X3QsIGNvbXBfcHJlZFttICogbl0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQ4X3QsIGNvbXBfcHJlZFttICogbl0pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICB2cHhfY29tcF9hdmdfcHJlZF9jKGNvbXBfcHJlZCwg
c2Vjb25kX3ByZWQsIG0sIG4sIHJlZl9wdHIsIHJlZl9zdHJpZGUpOyAgIFwKICAgICByZXR1cm4g
c2FkKHNyY19wdHIsIHNyY19zdHJpZGUsIGNvbXBfcHJlZCwgbSwgbSwgbik7ICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9z
YWRfc2tpcF8jI20jI3gjI24jI19jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCAgICAgICAgIFwKLSAgICAgIGludCByZWZfc3RyaWRlKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBy
ZXR1cm4gMiAqIHNhZChzcmNfcHRyLCAyICogc3JjX3N0cmlkZSwgcmVmX3B0ciwgMiAqIHJlZl9z
dHJpZGUsIChtKSwgICAgIFwKLSAgICAgICAgICAgICAgICAgICAobiAvIDIpKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfQogCi0vLyBDb21w
YXJlIHxzcmNfcHRyfCB0byA0IGRpc3RpbmN0IHJlZmVyZW5jZXMgaW4gfHJlZl9hcnJheVs0XXwK
Ky8vIGRlcGVuZGluZyBvbiBjYWxsIHNpdGVzLCBwYXNzICoqcmVmX2FycmF5IHRvIGF2b2lkICYg
aW4gc3Vic2VxdWVudCBjYWxsIGFuZAorLy8gZGUtZHVwIHdpdGggNEQgYmVsb3cuCisjZGVmaW5l
IHNhZE14TnhLKG0sIG4sIGspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgIHZvaWQgdnB4X3NhZCMjbSMjeCMjbiMjeCMjayMjX2MoY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsICAgICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUs
ICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKnNhZF9h
cnJheSkgeyAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IGk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgZm9yIChpID0gMDsgaSA8IGs7ICsraSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICBzYWRfYXJyYXlbaV0gPSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAg
dnB4X3NhZCMjbSMjeCMjbiMjX2Moc3JjX3B0ciwgc3JjX3N0cmlkZSwgJnJlZl9wdHJbaV0sIHJl
Zl9zdHJpZGUpOyBcCisgIH0KKworLy8gVGhpcyBhcHBlYXJzIHRvIGJlIGVxdWl2YWxlbnQgdG8g
dGhlIGFib3ZlIHdoZW4gayA9PSA0IGFuZCByZWZzIGlzIGNvbnN0CiAjZGVmaW5lIHNhZE14Tng0
RChtLCBuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICB2b2lkIHZweF9zYWQjI20jI3gjI24jI3g0ZF9jKGNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLCAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90
IHNhZF9hcnJheVs0XSkgeyAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVtdLCAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9h
cnJheSkgeyAgICAgICAgICBcCiAgICAgaW50IGk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGZvciAoaSA9
IDA7IGkgPCA0OyArK2kpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICAgIHNhZF9hcnJheVtpXSA9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgdnB4X3NhZCMj
bSMjeCMjbiMjX2Moc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX2FycmF5W2ldLCByZWZfc3RyaWRl
KTsgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdm9pZCB2cHhfc2FkX3NraXBfIyNtIyN4
IyNuIyN4NGRfYyhjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3Qg
cmVmX2FycmF5WzRdLCAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0pIHsgIFwKLSAgICBpbnQg
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgc2FkX2FycmF5
W2ldID0gMiAqIHNhZChzcmNfcHRyLCAyICogc3JjX3N0cmlkZSwgcmVmX2FycmF5W2ldLCAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAqIHJlZl9zdHJpZGUsICht
KSwgKG4gLyAyKSk7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICB9CiAKIC8qIGNsYW5nLWZvcm1hdCBvZmYgKi8KQEAgLTg2LDYgKzgzLDcgQEAgc2FkTXhO
eDREKDMyLCA2NCkKIAogLy8gMzJ4MzIKIHNhZE14TigzMiwgMzIpCitzYWRNeE54SygzMiwgMzIs
IDgpCiBzYWRNeE54NEQoMzIsIDMyKQogCiAvLyAzMngxNgpAQCAtOTgsMTggKzk2LDI2IEBAIHNh
ZE14Tng0RCgxNiwgMzIpCiAKIC8vIDE2eDE2CiBzYWRNeE4oMTYsIDE2KQorc2FkTXhOeEsoMTYs
IDE2LCAzKQorc2FkTXhOeEsoMTYsIDE2LCA4KQogc2FkTXhOeDREKDE2LCAxNikKIAogLy8gMTZ4
OAogc2FkTXhOKDE2LCA4KQorc2FkTXhOeEsoMTYsIDgsIDMpCitzYWRNeE54SygxNiwgOCwgOCkK
IHNhZE14Tng0RCgxNiwgOCkKIAogLy8gOHgxNgogc2FkTXhOKDgsIDE2KQorc2FkTXhOeEsoOCwg
MTYsIDMpCitzYWRNeE54Syg4LCAxNiwgOCkKIHNhZE14Tng0RCg4LCAxNikKIAogLy8gOHg4CiBz
YWRNeE4oOCwgOCkKK3NhZE14TnhLKDgsIDgsIDMpCitzYWRNeE54Syg4LCA4LCA4KQogc2FkTXhO
eDREKDgsIDgpCiAKIC8vIDh4NApAQCAtMTIyLDYgKzEyOCw4IEBAIHNhZE14Tng0RCg0LCA4KQog
CiAvLyA0eDQKIHNhZE14Tig0LCA0KQorc2FkTXhOeEsoNCwgNCwgMykKK3NhZE14TnhLKDQsIDQs
IDgpCiBzYWRNeE54NEQoNCwgNCkKIC8qIGNsYW5nLWZvcm1hdCBvbiAqLwogCkBAIC0xNzEsMzIg
KzE3OSwxNyBAQCBzdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBoaWdoYmRfc2FkYihjb25zdCB1
aW50OF90ICpzcmM4X3B0ciwgaW50IHNyY19zdHJpZGUsCiAgICAgdnB4X2hpZ2hiZF9jb21wX2F2
Z19wcmVkX2MoY29tcF9wcmVkLCBDT05WRVJUX1RPX1NIT1JUUFRSKHNlY29uZF9wcmVkKSwgbSwg
XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4sIENPTlZFUlRfVE9fU0hPUlRQVFIo
cmVmX3B0ciksIHJlZl9zdHJpZGUpOyAgIFwKICAgICByZXR1cm4gaGlnaGJkX3NhZGIoc3JjX3B0
ciwgc3JjX3N0cmlkZSwgY29tcF9wcmVkLCBtLCBtLCBuKTsgICAgICAgICAgICAgICBcCi0gIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8j
I20jI3gjI24jI19jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0
IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBpbnQgcmVmX3N0cmlkZSkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHJldHVybiAyICogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgaGlnaGJkX3NhZChzcmMsIDIgKiBzcmNfc3RyaWRlLCByZWYsIDIg
KiByZWZfc3RyaWRlLCAobSksIChuIC8gMikpOyBcCiAgIH0KIAotI2RlZmluZSBoaWdoYmRfc2Fk
TXhOeDREKG0sIG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgdm9pZCB2cHhfaGlnaGJkX3NhZCMjbSMjeCMjbiMjeDRkX2MoY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKSB7IFwKLSAgICBpbnQgaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9y
IChpID0gMDsgaSA8IDQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgc2FkX2FycmF5W2ldID0gdnB4X2hpZ2hiZF9zYWQjI20j
I3gjI24jI19jKHNyY19wdHIsIHNyY19zdHJpZGUsICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZfYXJyYXlbaV0sIHJlZl9zdHJp
ZGUpOyAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXyMjbSMjeCMjbiMjeDRkX2MoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmMsIGlu
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sICAgXAotICAg
ICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSkgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChp
ID0gMDsgaSA8IDQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgc2FkX2FycmF5W2ldID0gdnB4X2hpZ2hiZF9zYWRfc2tpcF8j
I20jI3gjI24jI19jKCAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBzcmMsIHNy
Y19zdHJpZGUsIHJlZl9hcnJheVtpXSwgcmVmX3N0cmlkZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBoaWdoYmRfc2FkTXhOeDRE
KG0sIG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICB2b2lkIHZweF9oaWdoYmRfc2FkIyNtIyN4IyNuIyN4NGRfYyhjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbXSwgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNh
ZF9hcnJheSkgeyAgXAorICAgIGludCBpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaSA9IDA7IGkg
PCA0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgc2FkX2FycmF5W2ldID0gdnB4X2hpZ2hiZF9zYWQjI20jI3gjI24jI19jKHNy
Y19wdHIsIHNyY19zdHJpZGUsICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlZl9hcnJheVtpXSwgcmVmX3N0cmlkZSk7ICAgXAorICAg
IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICB9CiAKIC8qIGNsYW5nLWZvcm1hdCBvZmYgKi8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92YXJpYW5jZS5jIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3ZhcmlhbmNlLmMKaW5kZXggMWM0NzY1NDJmYTEwLi4zMGI1NWRjYjQwNzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X2RzcC92YXJpYW5jZS5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92
YXJpYW5jZS5jCkBAIC0xNTYsNyArMTU2LDcgQEAgc3RhdGljIHZvaWQgdmFyX2ZpbHRlcl9ibG9j
azJkX2JpbF9zZWNvbmRfcGFzcygKICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkKSB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHVpbnQxNl90
IGZkYXRhM1soSCArIDEpICogV107ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCiAgICAgdWludDhfdCB0ZW1wMltIICogV107ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBERUNMQVJFX0FMSUdORUQoMzIs
IHVpbnQ4X3QsIHRlbXAzW0ggKiBXXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIERFQ0xBUkVfQUxJR05FRCgxNiwgdWludDhfdCwgdGVtcDNbSCAqIFddKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB2YXJfZmls
dGVyX2Jsb2NrMmRfYmlsX2ZpcnN0X3Bhc3Moc3JjX3B0ciwgZmRhdGEzLCBzcmNfc3RyaWRlLCAx
LCBIICsgMSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXLCBiaWxp
bmVhcl9maWx0ZXJzW3hfb2Zmc2V0XSk7ICAgICAgICBcCkBAIC0xODAsNyArMTgwLDcgQEAgc3Rh
dGljIHZvaWQgdmFyX2ZpbHRlcl9ibG9jazJkX2JpbF9zZWNvbmRfcGFzcygKICAgfQogCiAvKiBJ
ZGVudGljYWwgdG8gdGhlIHZhcmlhbmNlIGNhbGwgZXhjZXB0IGl0IGRvZXMgbm90IGNhbGN1bGF0
ZSB0aGUKLSAqIHNzZSAtIHN1bV4yIC8gdypoIGFuZCByZXR1cm5zIHNzZSBpbiBhZGRpdGlvbiB0
byBtb2RpZnlpbmcgdGhlIHBhc3NlZCBpbgorICogc3NlIC0gc3VtXjIgLyB3KmggYW5kIHJldHVy
bnMgc3NlIGluIGFkZHRpb24gdG8gbW9kaWZ5aW5nIHRoZSBwYXNzZWQgaW4KICAqIHZhcmlhYmxl
LgogICovCiAjZGVmaW5lIE1TRShXLCBIKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtNTQ5LDkgKzU0OSw5IEBAIEhJR0hCRF9NU0Uo
MTYsIDgpCiBISUdIQkRfTVNFKDgsIDE2KQogSElHSEJEX01TRSg4LCA4KQogCi12b2lkIHZweF9o
aWdoYmRfY29tcF9hdmdfcHJlZF9jKHVpbnQxNl90ICpjb21wX3ByZWQsIGNvbnN0IHVpbnQxNl90
ICpwcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBo
ZWlnaHQsIGNvbnN0IHVpbnQxNl90ICpyZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByZWZfc3RyaWRlKSB7Cit2b2lkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZCh1aW50
MTZfdCAqY29tcF9wcmVkLCBjb25zdCB1aW50MTZfdCAqcHJlZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwgY29uc3QgdWludDE2X3QgKnJlZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKSB7CiAgIGludCBp
LCBqOwogICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyArK2kpIHsKICAgICBmb3IgKGogPSAwOyBq
IDwgd2lkdGg7ICsraikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZhcmlhbmNl
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdmFyaWFuY2UuaAppbmRleCBjY2RiMmY5MGJhNjMuLmY4
YjQ0ZjAzZDFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3ZhcmlhbmNlLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3ZhcmlhbmNlLmgKQEAgLTU5LDYgKzU5LDggQEAgdHlwZWRl
ZiBzdHJ1Y3QgdmFyaWFuY2VfdnRhYmxlIHsKICAgdnB4X3NhZF9mbl90IHNkZjsKICAgdnB4X3Zh
cmlhbmNlX2ZuX3QgdmY7CiAgIHZweF9zdWJwaXh2YXJpYW5jZV9mbl90IHN2ZjsKKyAgdnB4X3Nh
ZF9tdWx0aV9mbl90IHNkeDNmOworICB2cHhfc2FkX211bHRpX2ZuX3Qgc2R4OGY7CiAgIHZweF9z
YWRfbXVsdGlfZF9mbl90IHNkeDRkZjsKICNpZiBWUFhfQVJDSF9YODYgfHwgVlBYX0FSQ0hfWDg2
XzY0CiAgIHZwOF9jb3B5MzJ4bl9mbl90IGNvcHltZW07CkBAIC02OSwxNSArNzEsMTIgQEAgdHlw
ZWRlZiBzdHJ1Y3QgdmFyaWFuY2VfdnRhYmxlIHsKICNpZiBDT05GSUdfVlA5CiB0eXBlZGVmIHN0
cnVjdCB2cDlfdmFyaWFuY2VfdnRhYmxlIHsKICAgdnB4X3NhZF9mbl90IHNkZjsKLSAgLy8gU2Ft
ZSBhcyBub3JtYWwgc2FkLCBidXQgZG93bnNhbXBsZSB0aGUgcm93cyBieSBhIGZhY3RvciBvZiAy
LgotICB2cHhfc2FkX2ZuX3Qgc2RzZjsKICAgdnB4X3NhZF9hdmdfZm5fdCBzZGFmOwogICB2cHhf
dmFyaWFuY2VfZm5fdCB2ZjsKICAgdnB4X3N1YnBpeHZhcmlhbmNlX2ZuX3Qgc3ZmOwogICB2cHhf
c3VicF9hdmdfdmFyaWFuY2VfZm5fdCBzdmFmOwogICB2cHhfc2FkX211bHRpX2RfZm5fdCBzZHg0
ZGY7Ci0gIC8vIFNhbWUgYXMgc2FkeDQsIGJ1dCBkb3duc2FtcGxlIHRoZSByb3dzIGJ5IGEgZmFj
dG9yIG9mIDIuCi0gIHZweF9zYWRfbXVsdGlfZF9mbl90IHNkc3g0ZGY7CisgIHZweF9zYWRfbXVs
dGlfZm5fdCBzZHg4ZjsKIH0gdnA5X3ZhcmlhbmNlX2ZuX3B0cl90OwogI2VuZGlmICAvLyBDT05G
SUdfVlA5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNwLm1rIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3ZweF9kc3AubWsKaW5kZXggODRmZDk2OWRhYTlmLi4wMTY1MzEwMmVm
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNwLm1rCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC92cHhfZHNwLm1rCkBAIC03NCw3ICs3NCw2IEBAIGVuZGlmICMgQ09ORklH
X1BPU1RQUk9DCiBEU1BfU1JDUy0kKEhBVkVfTkVPTl9BU00pICs9IGFybS9pbnRyYXByZWRfbmVv
bl9hc20kKEFTTSkKIERTUF9TUkNTLSQoSEFWRV9ORU9OKSArPSBhcm0vaW50cmFwcmVkX25lb24u
YwogRFNQX1NSQ1MtJChIQVZFX01TQSkgKz0gbWlwcy9pbnRyYXByZWRfbXNhLmMKLURTUF9TUkNT
LSQoSEFWRV9MU1gpICs9IGxvb25nYXJjaC9pbnRyYXByZWRfbHN4LmMKIERTUF9TUkNTLSQoSEFW
RV9EU1BSMikgICs9IG1pcHMvaW50cmFwcmVkNF9kc3ByMi5jCiBEU1BfU1JDUy0kKEhBVkVfRFNQ
UjIpICArPSBtaXBzL2ludHJhcHJlZDhfZHNwcjIuYwogRFNQX1NSQ1MtJChIQVZFX0RTUFIyKSAg
Kz0gbWlwcy9pbnRyYXByZWQxNl9kc3ByMi5jCkBAIC0xMzMsMTAgKzEzMiw2IEBAIERTUF9TUkNT
LXllcyArPSBhcm0vdnB4X2NvbnZvbHZlX2NvcHlfbmVvbi5jCiBEU1BfU1JDUy15ZXMgKz0gYXJt
L3ZweF9jb252b2x2ZThfbmVvbi5jCiBEU1BfU1JDUy15ZXMgKz0gYXJtL3ZweF9jb252b2x2ZV9h
dmdfbmVvbi5jCiBEU1BfU1JDUy15ZXMgKz0gYXJtL3ZweF9jb252b2x2ZV9uZW9uLmMKLURTUF9T
UkNTLSQoSEFWRV9ORU9OX0RPVFBST0QpICs9IGFybS92cHhfY29udm9sdmU4X25lb25fZG90cHJv
ZC5jCi1EU1BfU1JDUy0kKEhBVkVfTkVPTl9ET1RQUk9EKSArPSBhcm0vdnB4X2NvbnZvbHZlX25l
b25fZG90cHJvZC5jCi1EU1BfU1JDUy0kKEhBVkVfTkVPTl9JOE1NKSArPSBhcm0vdnB4X2NvbnZv
bHZlOF9uZW9uX2k4bW0uYwotRFNQX1NSQ1MtJChIQVZFX05FT05fSThNTSkgKz0gYXJtL3ZweF9j
b252b2x2ZV9uZW9uX2k4bW0uYwogZW5kaWYgICMgSEFWRV9ORU9OCiBlbmRpZiAgIyBIQVZFX05F
T05fQVNNCiAKQEAgLTE2NywxNyArMTYyLDYgQEAgRFNQX1NSQ1MtJChIQVZFX0RTUFIyKSAgKz0g
bWlwcy9jb252b2x2ZThfdmVydF9kc3ByMi5jCiAKIERTUF9TUkNTLSQoSEFWRV9WU1gpICArPSBw
cGMvdnB4X2NvbnZvbHZlX3ZzeC5jCiAKLSMgY29tbW9uIChsc3gpCi1EU1BfU1JDUy0kKEhBVkVf
TFNYKSArPSBsb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpfbHN4LmMKLURTUF9TUkNT
LSQoSEFWRV9MU1gpICs9IGxvb25nYXJjaC92cHhfY29udm9sdmU4X2F2Z192ZXJ0X2xzeC5jCi1E
U1BfU1JDUy0kKEhBVkVfTFNYKSArPSBsb29uZ2FyY2gvdnB4X2NvbnZvbHZlOF9ob3Jpel9sc3gu
YwotRFNQX1NSQ1MtJChIQVZFX0xTWCkgKz0gbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfdmVydF9s
c3guYwotRFNQX1NSQ1MtJChIQVZFX0xTWCkgKz0gbG9vbmdhcmNoL3ZweF9jb252b2x2ZThfbHN4
LmMKLURTUF9TUkNTLSQoSEFWRV9MU1gpICs9IGxvb25nYXJjaC92cHhfY29udm9sdmU4X2F2Z19s
c3guYwotRFNQX1NSQ1MtJChIQVZFX0xTWCkgKz0gbG9vbmdhcmNoL3ZweF9jb252b2x2ZV9hdmdf
bHN4LmMKLURTUF9TUkNTLSQoSEFWRV9MU1gpICs9IGxvb25nYXJjaC92cHhfY29udm9sdmVfY29w
eV9sc3guYwotRFNQX1NSQ1MtJChIQVZFX0xTWCkgKz0gbG9vbmdhcmNoL3ZweF9jb252b2x2ZV9s
c3guaAotCiAjIGxvb3AgZmlsdGVycwogRFNQX1NSQ1MteWVzICs9IGxvb3BmaWx0ZXIuYwogCkBA
IC0yMDQsMTEgKzE4OCw2IEBAIERTUF9TUkNTLSQoSEFWRV9EU1BSMikgICs9IG1pcHMvbG9vcGZp
bHRlcl9tYl9kc3ByMi5jCiBEU1BfU1JDUy0kKEhBVkVfRFNQUjIpICArPSBtaXBzL2xvb3BmaWx0
ZXJfbWJfaG9yaXpfZHNwcjIuYwogRFNQX1NSQ1MtJChIQVZFX0RTUFIyKSAgKz0gbWlwcy9sb29w
ZmlsdGVyX21iX3ZlcnRfZHNwcjIuYwogCi1EU1BfU1JDUy0kKEhBVkVfTFNYKSAgICArPSBsb29u
Z2FyY2gvbG9vcGZpbHRlcl9sc3guaAotRFNQX1NSQ1MtJChIQVZFX0xTWCkgICAgKz0gbG9vbmdh
cmNoL2xvb3BmaWx0ZXJfMTZfbHN4LmMKLURTUF9TUkNTLSQoSEFWRV9MU1gpICAgICs9IGxvb25n
YXJjaC9sb29wZmlsdGVyXzhfbHN4LmMKLURTUF9TUkNTLSQoSEFWRV9MU1gpICAgICs9IGxvb25n
YXJjaC9sb29wZmlsdGVyXzRfbHN4LmMKLQogaWZlcSAoJChDT05GSUdfVlA5X0hJR0hCSVRERVBU
SCkseWVzKQogRFNQX1NSQ1MtJChIQVZFX05FT04pICAgKz0gYXJtL2hpZ2hiZF9sb29wZmlsdGVy
X25lb24uYwogRFNQX1NSQ1MtJChIQVZFX1NTRTIpICAgKz0geDg2L2hpZ2hiZF9sb29wZmlsdGVy
X3NzZTIuYwpAQCAtMjE4LDcgKzE5Nyw2IEBAIGVuZGlmICMgQ09ORklHX1ZQOQogRFNQX1NSQ1Mt
eWVzICAgICAgICAgICAgKz0gdHhmbV9jb21tb24uaAogRFNQX1NSQ1MtJChIQVZFX1NTRTIpICAg
Kz0geDg2L3R4Zm1fY29tbW9uX3NzZTIuaAogRFNQX1NSQ1MtJChIQVZFX01TQSkgICAgKz0gbWlw
cy90eGZtX21hY3Jvc19tc2EuaAotRFNQX1NSQ1MtJChIQVZFX0xTWCkgICAgKz0gbG9vbmdhcmNo
L3R4Zm1fbWFjcm9zX2xzeC5oCiAjIGZvcndhcmQgdHJhbnNmb3JtCiBpZmVxICgkKENPTkZJR19W
UDlfRU5DT0RFUikseWVzKQogRFNQX1NSQ1MteWVzICAgICAgICAgICAgKz0gZndkX3R4Zm0uYwpA
QCAtMjMwLDIxICsyMDgsMTggQEAgRFNQX1NSQ1MtJChIQVZFX1NTRTIpICAgKz0geDg2L2Z3ZF9k
Y3QzMngzMl9pbXBsX3NzZTIuaAogaWZlcSAoJChWUFhfQVJDSF9YODZfNjQpLHllcykKIERTUF9T
UkNTLSQoSEFWRV9TU1NFMykgICs9IHg4Ni9md2RfdHhmbV9zc3NlM194ODZfNjQuYXNtCiBlbmRp
ZgorRFNQX1NSQ1MtJChIQVZFX0FWWDIpICAgKz0geDg2L2Z3ZF90eGZtX2F2eDIuYwogRFNQX1NS
Q1MtJChIQVZFX0FWWDIpICAgKz0geDg2L2Z3ZF9kY3QzMngzMl9pbXBsX2F2eDIuaAotRFNQX1NS
Q1MtJChIQVZFX05FT04pICAgKz0gYXJtL2ZkY3Q0eDRfbmVvbi5jCi1EU1BfU1JDUy0kKEhBVkVf
TkVPTikgICArPSBhcm0vZmRjdDh4OF9uZW9uLmMKK0RTUF9TUkNTLSQoSEFWRV9ORU9OKSAgICs9
IGFybS9mZGN0X25lb24uYwogRFNQX1NSQ1MtJChIQVZFX05FT04pICAgKz0gYXJtL2ZkY3QxNngx
Nl9uZW9uLmMKIERTUF9TUkNTLSQoSEFWRV9ORU9OKSAgICs9IGFybS9mZGN0MzJ4MzJfbmVvbi5j
CiBEU1BfU1JDUy0kKEhBVkVfTkVPTikgICArPSBhcm0vZmRjdF9wYXJ0aWFsX25lb24uYworRFNQ
X1NSQ1MtJChIQVZFX05FT04pICAgKz0gYXJtL2Z3ZF90eGZtX25lb24uYwogRFNQX1NSQ1MtJChI
QVZFX01TQSkgICAgKz0gbWlwcy9md2RfdHhmbV9tc2EuaAogRFNQX1NSQ1MtJChIQVZFX01TQSkg
ICAgKz0gbWlwcy9md2RfdHhmbV9tc2EuYwotRFNQX1NSQ1MtJChIQVZFX0xTWCkgICAgKz0gbG9v
bmdhcmNoL2Z3ZF90eGZtX2xzeC5oCi1EU1BfU1JDUy0kKEhBVkVfTFNYKSAgICArPSBsb29uZ2Fy
Y2gvZndkX3R4Zm1fbHN4LmMKIAogaWZuZXEgKCQoQ09ORklHX1ZQOV9ISUdIQklUREVQVEgpLHll
cykKLURTUF9TUkNTLSQoSEFWRV9BVlgyKSAgICs9IHg4Ni9md2RfdHhmbV9hdngyLmMKIERTUF9T
UkNTLSQoSEFWRV9NU0EpICAgICs9IG1pcHMvZndkX2RjdDMyeDMyX21zYS5jCi1EU1BfU1JDUy0k
KEhBVkVfTFNYKSAgICArPSBsb29uZ2FyY2gvZndkX2RjdDMyeDMyX2xzeC5jCiBlbmRpZiAgIyAh
Q09ORklHX1ZQOV9ISUdIQklUREVQVEgKIAogRFNQX1NSQ1MtJChIQVZFX1ZTWCkgICAgKz0gcHBj
L2ZkY3QzMngzMl92c3guYwpAQCAtMjU2LDcgKzIzMSw2IEBAIERTUF9TUkNTLXllcyAgICAgICAg
ICAgICs9IGludl90eGZtLmgKIERTUF9TUkNTLXllcyAgICAgICAgICAgICs9IGludl90eGZtLmMK
IERTUF9TUkNTLSQoSEFWRV9TU0UyKSAgICs9IHg4Ni9pbnZfdHhmbV9zc2UyLmgKIERTUF9TUkNT
LSQoSEFWRV9TU0UyKSAgICs9IHg4Ni9pbnZfdHhmbV9zc2UyLmMKLURTUF9TUkNTLSQoSEFWRV9B
VlgyKSAgICs9IHg4Ni9pbnZfdHhmbV9hdngyLmMKIERTUF9TUkNTLSQoSEFWRV9TU0UyKSAgICs9
IHg4Ni9pbnZfd2h0X3NzZTIuYXNtCiBEU1BfU1JDUy0kKEhBVkVfU1NTRTMpICArPSB4ODYvaW52
X3R4Zm1fc3NzZTMuaAogRFNQX1NSQ1MtJChIQVZFX1NTU0UzKSAgKz0geDg2L2ludl90eGZtX3Nz
c2UzLmMKQEAgLTI3OCw4ICsyNTIsNiBAQCBEU1BfU1JDUy0kKEhBVkVfRFNQUjIpICs9IG1pcHMv
aXRyYW5zOF9kc3ByMi5jCiBEU1BfU1JDUy0kKEhBVkVfRFNQUjIpICs9IG1pcHMvaXRyYW5zMTZf
ZHNwcjIuYwogRFNQX1NSQ1MtJChIQVZFX0RTUFIyKSArPSBtaXBzL2l0cmFuczMyX2RzcHIyLmMK
IERTUF9TUkNTLSQoSEFWRV9EU1BSMikgKz0gbWlwcy9pdHJhbnMzMl9jb2xzX2RzcHIyLmMKLQot
RFNQX1NSQ1MtJChIQVZFX0xTWCkgICArPSBsb29uZ2FyY2gvaWRjdDMyeDMyX2xzeC5jCiBlbHNl
ICAjIENPTkZJR19WUDlfSElHSEJJVERFUFRICiBEU1BfU1JDUy0kKEhBVkVfTkVPTikgICs9IGFy
bS9oaWdoYmRfaWRjdDR4NF9hZGRfbmVvbi5jCiBEU1BfU1JDUy0kKEhBVkVfTkVPTikgICs9IGFy
bS9oaWdoYmRfaWRjdDh4OF9hZGRfbmVvbi5jCkBAIC0zMzEsMTQgKzMwMywxMCBAQCBEU1BfU1JD
Uy0kKEhBVkVfU1NFMikgICArPSB4ODYvcXVhbnRpemVfc3NlMi5oCiBEU1BfU1JDUy0kKEhBVkVf
U1NTRTMpICArPSB4ODYvcXVhbnRpemVfc3NzZTMuYwogRFNQX1NSQ1MtJChIQVZFX1NTU0UzKSAg
Kz0geDg2L3F1YW50aXplX3Nzc2UzLmgKIERTUF9TUkNTLSQoSEFWRV9BVlgpICAgICs9IHg4Ni9x
dWFudGl6ZV9hdnguYwotRFNQX1NSQ1MtJChIQVZFX0FWWDIpICAgKz0geDg2L3F1YW50aXplX2F2
eDIuYwogRFNQX1NSQ1MtJChIQVZFX05FT04pICAgKz0gYXJtL3F1YW50aXplX25lb24uYwogRFNQ
X1NSQ1MtJChIQVZFX1ZTWCkgICAgKz0gcHBjL3F1YW50aXplX3ZzeC5jCi1EU1BfU1JDUy0kKEhB
VkVfTFNYKSAgICArPSBsb29uZ2FyY2gvcXVhbnRpemVfbHN4LmMKIGlmZXEgKCQoQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEgpLHllcykKIERTUF9TUkNTLSQoSEFWRV9TU0UyKSAgICs9IHg4Ni9oaWdo
YmRfcXVhbnRpemVfaW50cmluX3NzZTIuYwotRFNQX1NSQ1MtJChIQVZFX0FWWDIpICAgKz0geDg2
L2hpZ2hiZF9xdWFudGl6ZV9pbnRyaW5fYXZ4Mi5jCi1EU1BfU1JDUy0kKEhBVkVfTkVPTikgICAr
PSBhcm0vaGlnaGJkX3F1YW50aXplX25lb24uYwogZW5kaWYKIAogIyBhdmcKQEAgLTM0NywxMiAr
MzE1LDcgQEAgRFNQX1NSQ1MtJChIQVZFX1NTRTIpICArPSB4ODYvYXZnX2ludHJpbl9zc2UyLmMK
IERTUF9TUkNTLSQoSEFWRV9BVlgyKSAgKz0geDg2L2F2Z19pbnRyaW5fYXZ4Mi5jCiBEU1BfU1JD
Uy0kKEhBVkVfTkVPTikgICs9IGFybS9hdmdfbmVvbi5jCiBEU1BfU1JDUy0kKEhBVkVfTkVPTikg
ICs9IGFybS9oYWRhbWFyZF9uZW9uLmMKLWlmZXEgKCQoQ09ORklHX1ZQOV9ISUdIQklUREVQVEgp
LHllcykKLURTUF9TUkNTLSQoSEFWRV9ORU9OKSAgKz0gYXJtL2hpZ2hiZF9oYWRhbWFyZF9uZW9u
LmMKLURTUF9TUkNTLSQoSEFWRV9ORU9OKSAgKz0gYXJtL2hpZ2hiZF9hdmdfbmVvbi5jCi1lbmRp
ZgogRFNQX1NSQ1MtJChIQVZFX01TQSkgICArPSBtaXBzL2F2Z19tc2EuYwotRFNQX1NSQ1MtJChI
QVZFX0xTWCkgICArPSBsb29uZ2FyY2gvYXZnX2xzeC5jCiBpZmVxICgkKFZQWF9BUkNIX1g4Nl82
NCkseWVzKQogRFNQX1NSQ1MtJChIQVZFX1NTU0UzKSArPSB4ODYvYXZnX3Nzc2UzX3g4Nl82NC5h
c20KIGVuZGlmCkBAIC0zNzMsMjIgKzMzNiwyMCBAQCBEU1BfU1JDUy0kKEhBVkVfU1NFMikgICAr
PSB4ODYvc3VtX3NxdWFyZXNfc3NlMi5jCiBEU1BfU1JDUy0kKEhBVkVfTVNBKSAgICArPSBtaXBz
L3N1bV9zcXVhcmVzX21zYS5jCiAKIERTUF9TUkNTLSQoSEFWRV9ORU9OKSAgICs9IGFybS9zYWQ0
ZF9uZW9uLmMKLURTUF9TUkNTLSQoSEFWRV9ORU9OX0RPVFBST0QpICs9IGFybS9zYWQ0ZF9uZW9u
X2RvdHByb2QuYwogRFNQX1NSQ1MtJChIQVZFX05FT04pICAgKz0gYXJtL3NhZF9uZW9uLmMKLURT
UF9TUkNTLSQoSEFWRV9ORU9OX0RPVFBST0QpICs9IGFybS9zYWRfbmVvbl9kb3Rwcm9kLmMKIERT
UF9TUkNTLSQoSEFWRV9ORU9OKSAgICs9IGFybS9zdWJ0cmFjdF9uZW9uLmMKIAogRFNQX1NSQ1Mt
JChIQVZFX01TQSkgICAgKz0gbWlwcy9zYWRfbXNhLmMKIERTUF9TUkNTLSQoSEFWRV9NU0EpICAg
ICs9IG1pcHMvc3VidHJhY3RfbXNhLmMKIAotRFNQX1NSQ1MtJChIQVZFX0xTWCkgICAgKz0gbG9v
bmdhcmNoL3NhZF9sc3guYwotCiBEU1BfU1JDUy0kKEhBVkVfTU1JKSAgICArPSBtaXBzL3NhZF9t
bWkuYwogRFNQX1NSQ1MtJChIQVZFX01NSSkgICAgKz0gbWlwcy9zdWJ0cmFjdF9tbWkuYwogCitE
U1BfU1JDUy0kKEhBVkVfU1NFMykgICArPSB4ODYvc2FkX3NzZTMuYXNtCitEU1BfU1JDUy0kKEhB
VkVfU1NTRTMpICArPSB4ODYvc2FkX3Nzc2UzLmFzbQorRFNQX1NSQ1MtJChIQVZFX1NTRTRfMSkg
Kz0geDg2L3NhZF9zc2U0LmFzbQogRFNQX1NSQ1MtJChIQVZFX0FWWDIpICAgKz0geDg2L3NhZDRk
X2F2eDIuYwogRFNQX1NSQ1MtJChIQVZFX0FWWDIpICAgKz0geDg2L3NhZF9hdngyLmMKLURTUF9T
UkNTLSQoSEFWRV9BVlgyKSAgICs9IHg4Ni9zdWJ0cmFjdF9hdngyLmMKIERTUF9TUkNTLSQoSEFW
RV9BVlg1MTIpICs9IHg4Ni9zYWQ0ZF9hdng1MTIuYwogCiBEU1BfU1JDUy0kKEhBVkVfU1NFMikg
ICArPSB4ODYvc2FkNGRfc3NlMi5hc20KQEAgLTM5OCwxNSArMzU5LDkgQEAgRFNQX1NSQ1MtJChI
QVZFX1NTRTIpICAgKz0geDg2L3N1YnRyYWN0X3NzZTIuYXNtCiBEU1BfU1JDUy0kKEhBVkVfVlNY
KSArPSBwcGMvc2FkX3ZzeC5jCiBEU1BfU1JDUy0kKEhBVkVfVlNYKSArPSBwcGMvc3VidHJhY3Rf
dnN4LmMKIAotRFNQX1NSQ1MtJChIQVZFX0xTWCkgICAgKz0gbG9vbmdhcmNoL3N1YnRyYWN0X2xz
eC5jCi0KIGlmZXEgKCQoQ09ORklHX1ZQOV9ISUdIQklUREVQVEgpLHllcykKIERTUF9TUkNTLSQo
SEFWRV9TU0UyKSArPSB4ODYvaGlnaGJkX3NhZDRkX3NzZTIuYXNtCiBEU1BfU1JDUy0kKEhBVkVf
U1NFMikgKz0geDg2L2hpZ2hiZF9zYWRfc3NlMi5hc20KLURTUF9TUkNTLSQoSEFWRV9ORU9OKSAr
PSBhcm0vaGlnaGJkX3NhZDRkX25lb24uYwotRFNQX1NSQ1MtJChIQVZFX05FT04pICs9IGFybS9o
aWdoYmRfc2FkX25lb24uYwotRFNQX1NSQ1MtJChIQVZFX0FWWDIpICs9IHg4Ni9oaWdoYmRfc2Fk
NGRfYXZ4Mi5jCi1EU1BfU1JDUy0kKEhBVkVfQVZYMikgKz0geDg2L2hpZ2hiZF9zYWRfYXZ4Mi5j
CiBlbmRpZiAgIyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCiBlbmRpZiAgIyBDT05GSUdfRU5D
T0RFUlMKQEAgLTQxOCwyMCArMzczLDEzIEBAIERTUF9TUkNTLXllcyAgICAgICAgICAgICs9IHZh
cmlhbmNlLmgKIERTUF9TUkNTLSQoSEFWRV9ORU9OKSAgICs9IGFybS9hdmdfcHJlZF9uZW9uLmMK
IERTUF9TUkNTLSQoSEFWRV9ORU9OKSAgICs9IGFybS9zdWJwZWxfdmFyaWFuY2VfbmVvbi5jCiBE
U1BfU1JDUy0kKEhBVkVfTkVPTikgICArPSBhcm0vdmFyaWFuY2VfbmVvbi5jCi1EU1BfU1JDUy0k
KEhBVkVfTkVPTl9ET1RQUk9EKSAgICs9IGFybS92YXJpYW5jZV9uZW9uX2RvdHByb2QuYwogCiBE
U1BfU1JDUy0kKEhBVkVfTVNBKSAgICArPSBtaXBzL3ZhcmlhbmNlX21zYS5jCiBEU1BfU1JDUy0k
KEhBVkVfTVNBKSAgICArPSBtaXBzL3N1Yl9waXhlbF92YXJpYW5jZV9tc2EuYwogCi1EU1BfU1JD
Uy0kKEhBVkVfTFNYKSAgICArPSBsb29uZ2FyY2gvdmFyaWFuY2VfbHN4LmgKLURTUF9TUkNTLSQo
SEFWRV9MU1gpICAgICs9IGxvb25nYXJjaC92YXJpYW5jZV9sc3guYwotRFNQX1NSQ1MtJChIQVZF
X0xTWCkgICAgKz0gbG9vbmdhcmNoL3N1Yl9waXhlbF92YXJpYW5jZV9sc3guYwotRFNQX1NSQ1Mt
JChIQVZFX0xTWCkgICAgKz0gbG9vbmdhcmNoL2F2Z19wcmVkX2xzeC5jCi0KIERTUF9TUkNTLSQo
SEFWRV9NTUkpICAgICs9IG1pcHMvdmFyaWFuY2VfbW1pLmMKIAogRFNQX1NSQ1MtJChIQVZFX1NT
RTIpICAgKz0geDg2L2F2Z19wcmVkX3NzZTIuYwotRFNQX1NSQ1MtJChIQVZFX0FWWDIpICAgKz0g
eDg2L2F2Z19wcmVkX2F2eDIuYwogRFNQX1NSQ1MtJChIQVZFX1NTRTIpICAgKz0geDg2L3Zhcmlh
bmNlX3NzZTIuYyAgIyBDb250YWlucyBTU0UyIGFuZCBTU1NFMwogRFNQX1NSQ1MtJChIQVZFX0FW
WDIpICAgKz0geDg2L3ZhcmlhbmNlX2F2eDIuYwogRFNQX1NSQ1MtJChIQVZFX1ZTWCkgICAgKz0g
cHBjL3ZhcmlhbmNlX3ZzeC5jCkBAIC00NDYsOSArMzk0LDYgQEAgaWZlcSAoJChDT05GSUdfVlA5
X0hJR0hCSVRERVBUSCkseWVzKQogRFNQX1NSQ1MtJChIQVZFX1NTRTIpICAgKz0geDg2L2hpZ2hi
ZF92YXJpYW5jZV9zc2UyLmMKIERTUF9TUkNTLSQoSEFWRV9TU0UyKSAgICs9IHg4Ni9oaWdoYmRf
dmFyaWFuY2VfaW1wbF9zc2UyLmFzbQogRFNQX1NSQ1MtJChIQVZFX1NTRTIpICAgKz0geDg2L2hp
Z2hiZF9zdWJwZWxfdmFyaWFuY2VfaW1wbF9zc2UyLmFzbQotRFNQX1NSQ1MtJChIQVZFX05FT04p
ICAgKz0gYXJtL2hpZ2hiZF9hdmdfcHJlZF9uZW9uLmMKLURTUF9TUkNTLSQoSEFWRV9ORU9OKSAg
ICs9IGFybS9oaWdoYmRfdmFyaWFuY2VfbmVvbi5jCi1EU1BfU1JDUy0kKEhBVkVfTkVPTikgICAr
PSBhcm0vaGlnaGJkX3N1YnBlbF92YXJpYW5jZV9uZW9uLmMKIGVuZGlmICAjIENPTkZJR19WUDlf
SElHSEJJVERFUFRICiBlbmRpZiAgIyBDT05GSUdfRU5DT0RFUlMgfHwgQ09ORklHX1BPU1RQUk9D
IHx8IENPTkZJR19WUDlfUE9TVFBST0MKIApAQCAtNDY4LDkgKzQxMyw2IEBAIERTUF9TUkNTLSQo
SEFWRV9WU1gpICArPSBwcGMvYml0ZGVwdGhfY29udmVyc2lvbl92c3guaAogRFNQX1NSQ1MtJChI
QVZFX1NTRTIpICs9IHg4Ni9tZW1fc3NlMi5oCiBEU1BfU1JDUy0kKEhBVkVfU1NFMikgKz0geDg2
L3RyYW5zcG9zZV9zc2UyLmgKIAotIyBMU1ggdXRpbGl0aWVzCi1EU1BfU1JDUy0kKEhBVkVfTFNY
KSAgKz0gbG9vbmdhcmNoL2JpdGRlcHRoX2NvbnZlcnNpb25fbHN4LmgKLQogRFNQX1NSQ1Mtbm8g
Kz0gJChEU1BfU1JDU19SRU1PVkUteWVzKQogCiBEU1BfU1JDUy15ZXMgKz0gdnB4X2RzcF9ydGNk
LmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3ZweF9kc3BfY29tbW9uLmgKaW5kZXggNGI5NDZkNzU2MDllLi4yZGU0
NDk1NDY1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNwX2NvbW1vbi5o
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oCkBAIC00NSwyMSArNDUs
OSBAQCB0eXBlZGVmIGludDE2X3QgdHJhbl9sb3dfdDsKIAogdHlwZWRlZiBpbnQxNl90IHRyYW5f
Y29lZl90OwogCi0vLyBWaXN1YWwgU3R1ZGlvIDIwMjIgKGNsLmV4ZSkgdGFyZ2V0aW5nIEFBcmNo
NjQgd2l0aCBvcHRpbWl6YXRpb25zIGVuYWJsZWQKLS8vIHByb2R1Y2VzIGludmFsaWQgY29kZSBm
b3IgY2xpcF9waXhlbCgpIHdoZW4gdGhlIHJldHVybiB0eXBlIGlzIHVpbnQ4X3QuCi0vLyBTZWU6
Ci0vLyBodHRwczovL2RldmVsb3BlcmNvbW11bml0eS52aXN1YWxzdHVkaW8uY29tL3QvTWlzb3B0
aW1pemF0aW9uLWZvci1BUk02NC1pbi1WUy0yMDIyLTE3LzEwMzYzMzYxCi0vLyBUT0RPKGp6ZXJu
KTogY2hlY2sgdGhlIGNvbXBpbGVyIHZlcnNpb24gYWZ0ZXIgYSBmaXggZm9yIHRoZSBpc3N1ZSBp
cwotLy8gcmVsZWFzZWQuCi0jaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgZGVmaW5lZChfTV9BUk02
NCkgJiYgIWRlZmluZWQoX19jbGFuZ19fKQotc3RhdGljIElOTElORSBpbnQgY2xpcF9waXhlbChp
bnQgdmFsKSB7Ci0gIHJldHVybiAodmFsID4gMjU1KSA/IDI1NSA6ICh2YWwgPCAwKSA/IDAgOiB2
YWw7Ci19Ci0jZWxzZQogc3RhdGljIElOTElORSB1aW50OF90IGNsaXBfcGl4ZWwoaW50IHZhbCkg
ewogICByZXR1cm4gKHZhbCA+IDI1NSkgPyAyNTUgOiAodmFsIDwgMCkgPyAwIDogdmFsOwogfQot
I2VuZGlmCiAKIHN0YXRpYyBJTkxJTkUgaW50IGNsYW1wKGludCB2YWx1ZSwgaW50IGxvdywgaW50
IGhpZ2gpIHsKICAgcmV0dXJuIHZhbHVlIDwgbG93ID8gbG93IDogKHZhbHVlID4gaGlnaCA/IGhp
Z2ggOiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2RzcF9ydGNk
X2RlZnMucGwgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2RzcF9ydGNkX2RlZnMucGwKaW5kZXgg
YzljZGMyODVmMjgzLi5mZDdlZWZkYWQwNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC92cHhfZHNwX3J0Y2RfZGVmcy5wbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvdnB4X2RzcF9y
dGNkX2RlZnMucGwKQEAgLTE3LDEwICsxNyw2IEBAIHByaW50IDw8RU9GCiAjaW5jbHVkZSAidnB4
L3ZweF9pbnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5oIgogI2lu
Y2x1ZGUgInZweF9kc3AvdnB4X2ZpbHRlci5oIgotI2lmIENPTkZJR19WUDlfRU5DT0RFUgotIHN0
cnVjdCBtYWNyb2Jsb2NrX3BsYW5lOwotIHN0cnVjdCBTY2FuT3JkZXI7Ci0jZW5kaWYKIAogRU9G
CiB9CkBAIC00Miw3ICszOCw3IEBAIGlmICgkb3B0c3thcmNofSBlcSAieDg2XzY0IikgewogIwog
CiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfNHg0LywgInVpbnQ4X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3Qg
KmxlZnQiOwotc3BlY2lhbGl6ZSBxdy92cHhfZDIwN19wcmVkaWN0b3JfNHg0IG5lb24gc3NlMi87
CitzcGVjaWFsaXplIHF3L3ZweF9kMjA3X3ByZWRpY3Rvcl80eDQgc3NlMi87CiAKIGFkZF9wcm90
byBxdy92b2lkIHZweF9kNDVfcHJlZGljdG9yXzR4NC8sICJ1aW50OF90ICpkc3QsIHB0cmRpZmZf
dCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0IjsKIHNw
ZWNpYWxpemUgcXcvdnB4X2Q0NV9wcmVkaWN0b3JfNHg0IG5lb24gc3NlMi87CkBAIC01MCw3ICs0
Niw3IEBAIHNwZWNpYWxpemUgcXcvdnB4X2Q0NV9wcmVkaWN0b3JfNHg0IG5lb24gc3NlMi87CiBh
ZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDQ1ZV9wcmVkaWN0b3JfNHg0LywgInVpbnQ4X3QgKmRzdCwg
cHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxl
ZnQiOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl80eDQvLCAidWludDhf
dCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWlu
dDhfdCAqbGVmdCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9kNjNfcHJlZGljdG9yXzR4NCBuZW9uIHNz
c2UzLzsKK3NwZWNpYWxpemUgcXcvdnB4X2Q2M19wcmVkaWN0b3JfNHg0IHNzc2UzLzsKIAogYWRk
X3Byb3RvIHF3L3ZvaWQgdnB4X2Q2M2VfcHJlZGljdG9yXzR4NC8sICJ1aW50OF90ICpkc3QsIHB0
cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0
IjsKIApAQCAtNjEsMTMgKzU3LDEyIEBAIHNwZWNpYWxpemUgcXcvdnB4X2hfcHJlZGljdG9yXzR4
NCBuZW9uIGRzcHIyIG1zYSBzc2UyLzsKIGFkZF9wcm90byBxdy92b2lkIHZweF9oZV9wcmVkaWN0
b3JfNHg0LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAq
YWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDEx
N19wcmVkaWN0b3JfNHg0LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3Qg
dWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwotc3BlY2lhbGl6ZSBxdy92cHhf
ZDExN19wcmVkaWN0b3JfNHg0IG5lb24vOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDEzNV9w
cmVkaWN0b3JfNHg0LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWlu
dDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwogc3BlY2lhbGl6ZSBxdy92cHhfZDEz
NV9wcmVkaWN0b3JfNHg0IG5lb24vOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDE1M19wcmVk
aWN0b3JfNHg0LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhf
dCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwotc3BlY2lhbGl6ZSBxdy92cHhfZDE1M19w
cmVkaWN0b3JfNHg0IG5lb24gc3NzZTMvOworc3BlY2lhbGl6ZSBxdy92cHhfZDE1M19wcmVkaWN0
b3JfNHg0IHNzc2UzLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3ZfcHJlZGljdG9yXzR4NC8s
ICJ1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBj
b25zdCB1aW50OF90ICpsZWZ0IjsKIHNwZWNpYWxpemUgcXcvdnB4X3ZfcHJlZGljdG9yXzR4NCBu
ZW9uIG1zYSBzc2UyLzsKQEAgLTkxLDcgKzg2LDcgQEAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2Rj
XzEyOF9wcmVkaWN0b3JfNHg0LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY28K
IHNwZWNpYWxpemUgcXcvdnB4X2RjXzEyOF9wcmVkaWN0b3JfNHg0IG1zYSBuZW9uIHNzZTIvOwog
CiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDIwN19wcmVkaWN0b3JfOHg4LywgInVpbnQ4X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3Qg
KmxlZnQiOwotc3BlY2lhbGl6ZSBxdy92cHhfZDIwN19wcmVkaWN0b3JfOHg4IG5lb24gc3NzZTMv
Oworc3BlY2lhbGl6ZSBxdy92cHhfZDIwN19wcmVkaWN0b3JfOHg4IHNzc2UzLzsKIAogYWRkX3By
b3RvIHF3L3ZvaWQgdnB4X2Q0NV9wcmVkaWN0b3JfOHg4LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlm
Zl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwog
IyBUT0RPKGNyYnVnLmNvbS93ZWJtLzE1MjIpOiBSZS1lbmFibGUgdnN4IGltcGxlbWVudGF0aW9u
LgpAQCAtOTksMjAgKzk0LDE5IEBAIHNwZWNpYWxpemUgcXcvdnB4X2Q0NV9wcmVkaWN0b3JfOHg4
IG5lb24gc3NlMi87CiAKIGFkZF9wcm90byBxdy92b2lkIHZweF9kNjNfcHJlZGljdG9yXzh4OC8s
ICJ1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBj
b25zdCB1aW50OF90ICpsZWZ0IjsKICMgVE9ETyhjcmJ1Zy5jb20vd2VibS8xNTIyKTogUmUtZW5h
YmxlIHZzeCBpbXBsZW1lbnRhdGlvbi4KLXNwZWNpYWxpemUgcXcvdnB4X2Q2M19wcmVkaWN0b3Jf
OHg4IG5lb24gc3NzZTMvOworc3BlY2lhbGl6ZSBxdy92cHhfZDYzX3ByZWRpY3Rvcl84eDggc3Nz
ZTMvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaF9wcmVkaWN0b3JfOHg4LywgInVpbnQ4X3Qg
KmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4
X3QgKmxlZnQiOwogIyBUT0RPKGNyYnVnLmNvbS93ZWJtLzE1MjIpOiBSZS1lbmFibGUgdnN4IGlt
cGxlbWVudGF0aW9uLgogc3BlY2lhbGl6ZSBxdy92cHhfaF9wcmVkaWN0b3JfOHg4IG5lb24gZHNw
cjIgbXNhIHNzZTIvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfOHg4
LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUs
IGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwotc3BlY2lhbGl6ZSBxdy92cHhfZDExN19wcmVkaWN0b3Jf
OHg4IG5lb24vOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfOHg4Lywg
InVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNv
bnN0IHVpbnQ4X3QgKmxlZnQiOwogc3BlY2lhbGl6ZSBxdy92cHhfZDEzNV9wcmVkaWN0b3JfOHg4
IG5lb24vOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDE1M19wcmVkaWN0b3JfOHg4LywgInVp
bnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0
IHVpbnQ4X3QgKmxlZnQiOwotc3BlY2lhbGl6ZSBxdy92cHhfZDE1M19wcmVkaWN0b3JfOHg4IG5l
b24gc3NzZTMvOworc3BlY2lhbGl6ZSBxdy92cHhfZDE1M19wcmVkaWN0b3JfOHg4IHNzc2UzLzsK
IAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3ZfcHJlZGljdG9yXzh4OC8sICJ1aW50OF90ICpkc3Qs
IHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICps
ZWZ0IjsKIHNwZWNpYWxpemUgcXcvdnB4X3ZfcHJlZGljdG9yXzh4OCBuZW9uIG1zYSBzc2UyLzsK
QEAgLTEyMyw3ICsxMTcsNyBAQCBzcGVjaWFsaXplIHF3L3ZweF90bV9wcmVkaWN0b3JfOHg4IG5l
b24gZHNwcjIgbXNhIHNzZTIvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZGNfcHJlZGljdG9y
Xzh4OC8sICJ1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFi
b3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0IjsKICMgVE9ETyhjcmJ1Zy5jb20vd2VibS8xNTIyKTog
UmUtZW5hYmxlIHZzeCBpbXBsZW1lbnRhdGlvbi4KLXNwZWNpYWxpemUgcXcvdnB4X2RjX3ByZWRp
Y3Rvcl84eDggZHNwcjIgbmVvbiBtc2Egc3NlMiBsc3gvOworc3BlY2lhbGl6ZSBxdy92cHhfZGNf
cHJlZGljdG9yXzh4OCBkc3ByMiBuZW9uIG1zYSBzc2UyLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQg
dnB4X2RjX3RvcF9wcmVkaWN0b3JfOHg4LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlk
ZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwogc3BlY2lhbGl6
ZSBxdy92cHhfZGNfdG9wX3ByZWRpY3Rvcl84eDggbmVvbiBtc2Egc3NlMi87CkBAIC0xMzUsMjUg
KzEyOSwyNCBAQCBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZGNfMTI4X3ByZWRpY3Rvcl84eDgvLCAi
dWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBjbwogc3BlY2lhbGl6ZSBxdy92cHhfZGNf
MTI4X3ByZWRpY3Rvcl84eDggbmVvbiBtc2Egc3NlMi87CiAKIGFkZF9wcm90byBxdy92b2lkIHZw
eF9kMjA3X3ByZWRpY3Rvcl8xNngxNi8sICJ1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUs
IGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0IjsKLXNwZWNpYWxpemUg
cXcvdnB4X2QyMDdfcHJlZGljdG9yXzE2eDE2IG5lb24gc3NzZTMvOworc3BlY2lhbGl6ZSBxdy92
cHhfZDIwN19wcmVkaWN0b3JfMTZ4MTYgc3NzZTMvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhf
ZDQ1X3ByZWRpY3Rvcl8xNngxNi8sICJ1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0IjsKIHNwZWNpYWxpemUgcXcv
dnB4X2Q0NV9wcmVkaWN0b3JfMTZ4MTYgbmVvbiBzc3NlMyB2c3gvOwogCiBhZGRfcHJvdG8gcXcv
dm9pZCB2cHhfZDYzX3ByZWRpY3Rvcl8xNngxNi8sICJ1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBz
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICpsZWZ0IjsKLXNwZWNp
YWxpemUgcXcvdnB4X2Q2M19wcmVkaWN0b3JfMTZ4MTYgbmVvbiBzc3NlMyB2c3gvOworc3BlY2lh
bGl6ZSBxdy92cHhfZDYzX3ByZWRpY3Rvcl8xNngxNiBzc3NlMyB2c3gvOwogCiBhZGRfcHJvdG8g
cXcvdm9pZCB2cHhfaF9wcmVkaWN0b3JfMTZ4MTYvLCAidWludDhfdCAqZHN0LCBwdHJkaWZmX3Qg
c3RyaWRlLCBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCI7CiBzcGVj
aWFsaXplIHF3L3ZweF9oX3ByZWRpY3Rvcl8xNngxNiBuZW9uIGRzcHIyIG1zYSBzc2UyIHZzeC87
CiAKIGFkZF9wcm90byBxdy92b2lkIHZweF9kMTE3X3ByZWRpY3Rvcl8xNngxNi8sICJ1aW50OF90
ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50
OF90ICpsZWZ0IjsKLXNwZWNpYWxpemUgcXcvdnB4X2QxMTdfcHJlZGljdG9yXzE2eDE2IG5lb24v
OwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDEzNV9wcmVkaWN0b3JfMTZ4MTYvLCAidWludDhf
dCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWlu
dDhfdCAqbGVmdCI7CiBzcGVjaWFsaXplIHF3L3ZweF9kMTM1X3ByZWRpY3Rvcl8xNngxNiBuZW9u
LzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2QxNTNfcHJlZGljdG9yXzE2eDE2LywgInVpbnQ4
X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVp
bnQ4X3QgKmxlZnQiOwotc3BlY2lhbGl6ZSBxdy92cHhfZDE1M19wcmVkaWN0b3JfMTZ4MTYgbmVv
biBzc3NlMy87CitzcGVjaWFsaXplIHF3L3ZweF9kMTUzX3ByZWRpY3Rvcl8xNngxNiBzc3NlMy87
CiAKIGFkZF9wcm90byBxdy92b2lkIHZweF92X3ByZWRpY3Rvcl8xNngxNi8sICJ1aW50OF90ICpk
c3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90
ICpsZWZ0IjsKIHNwZWNpYWxpemUgcXcvdnB4X3ZfcHJlZGljdG9yXzE2eDE2IG5lb24gbXNhIHNz
ZTIgdnN4LzsKQEAgLTE2Miw3ICsxNTUsNyBAQCBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfdG1fcHJl
ZGljdG9yXzE2eDE2LywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29ucwogc3Bl
Y2lhbGl6ZSBxdy92cHhfdG1fcHJlZGljdG9yXzE2eDE2IG5lb24gbXNhIHNzZTIgdnN4LzsKIAog
YWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2RjX3ByZWRpY3Rvcl8xNngxNi8sICJ1aW50OF90ICpkc3Qs
IHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90ICps
ZWZ0IjsKLXNwZWNpYWxpemUgcXcvdnB4X2RjX3ByZWRpY3Rvcl8xNngxNiBkc3ByMiBuZW9uIG1z
YSBzc2UyIHZzeCBsc3gvOworc3BlY2lhbGl6ZSBxdy92cHhfZGNfcHJlZGljdG9yXzE2eDE2IGRz
cHIyIG5lb24gbXNhIHNzZTIgdnN4LzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2RjX3RvcF9w
cmVkaWN0b3JfMTZ4MTYvLCAidWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1
aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCI7CiBzcGVjaWFsaXplIHF3L3ZweF9k
Y190b3BfcHJlZGljdG9yXzE2eDE2IG5lb24gbXNhIHNzZTIgdnN4LzsKQEAgLTE3NCwyNSArMTY3
LDI0IEBAIGFkZF9wcm90byBxdy92b2lkIHZweF9kY18xMjhfcHJlZGljdG9yXzE2eDE2LywgInVp
bnQ4X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwKIHNwZWNpYWxpemUgcXcvdnB4X2RjXzEyOF9w
cmVkaWN0b3JfMTZ4MTYgbmVvbiBtc2Egc3NlMiB2c3gvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2
cHhfZDIwN19wcmVkaWN0b3JfMzJ4MzIvLCAidWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRl
LCBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCI7Ci1zcGVjaWFsaXpl
IHF3L3ZweF9kMjA3X3ByZWRpY3Rvcl8zMngzMiBuZW9uIHNzc2UzLzsKK3NwZWNpYWxpemUgcXcv
dnB4X2QyMDdfcHJlZGljdG9yXzMyeDMyIHNzc2UzLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4
X2Q0NV9wcmVkaWN0b3JfMzJ4MzIvLCAidWludDhfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBj
b25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCI7CiBzcGVjaWFsaXplIHF3
L3ZweF9kNDVfcHJlZGljdG9yXzMyeDMyIG5lb24gc3NzZTMgdnN4LzsKIAogYWRkX3Byb3RvIHF3
L3ZvaWQgdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzIvLCAidWludDhfdCAqZHN0LCBwdHJkaWZmX3Qg
c3RyaWRlLCBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVmdCI7Ci1zcGVj
aWFsaXplIHF3L3ZweF9kNjNfcHJlZGljdG9yXzMyeDMyIG5lb24gc3NzZTMgdnN4LzsKK3NwZWNp
YWxpemUgcXcvdnB4X2Q2M19wcmVkaWN0b3JfMzJ4MzIgc3NzZTMgdnN4LzsKIAogYWRkX3Byb3Rv
IHF3L3ZvaWQgdnB4X2hfcHJlZGljdG9yXzMyeDMyLywgInVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90
IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3QgKmxlZnQiOwogc3Bl
Y2lhbGl6ZSBxdy92cHhfaF9wcmVkaWN0b3JfMzJ4MzIgbmVvbiBtc2Egc3NlMiB2c3gvOwogCiBh
ZGRfcHJvdG8gcXcvdm9pZCB2cHhfZDExN19wcmVkaWN0b3JfMzJ4MzIvLCAidWludDhfdCAqZHN0
LCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAq
bGVmdCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9kMTE3X3ByZWRpY3Rvcl8zMngzMiBuZW9uLzsKIAog
YWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2QxMzVfcHJlZGljdG9yXzMyeDMyLywgInVpbnQ4X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDhfdCAqYWJvdmUsIGNvbnN0IHVpbnQ4X3Qg
KmxlZnQiOwogc3BlY2lhbGl6ZSBxdy92cHhfZDEzNV9wcmVkaWN0b3JfMzJ4MzIgbmVvbi87CiAK
IGFkZF9wcm90byBxdy92b2lkIHZweF9kMTUzX3ByZWRpY3Rvcl8zMngzMi8sICJ1aW50OF90ICpk
c3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmFib3ZlLCBjb25zdCB1aW50OF90
ICpsZWZ0IjsKLXNwZWNpYWxpemUgcXcvdnB4X2QxNTNfcHJlZGljdG9yXzMyeDMyIG5lb24gc3Nz
ZTMvOworc3BlY2lhbGl6ZSBxdy92cHhfZDE1M19wcmVkaWN0b3JfMzJ4MzIgc3NzZTMvOwogCiBh
ZGRfcHJvdG8gcXcvdm9pZCB2cHhfdl9wcmVkaWN0b3JfMzJ4MzIvLCAidWludDhfdCAqZHN0LCBw
dHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50OF90ICphYm92ZSwgY29uc3QgdWludDhfdCAqbGVm
dCI7CiBzcGVjaWFsaXplIHF3L3ZweF92X3ByZWRpY3Rvcl8zMngzMiBuZW9uIG1zYSBzc2UyIHZz
eC87CkBAIC0yMTUsMjUgKzIwNywyNSBAQCBzcGVjaWFsaXplIHF3L3ZweF9kY18xMjhfcHJlZGlj
dG9yXzMyeDMyIG1zYSBuZW9uIHNzZTIgdnN4LzsKICMgSGlnaCBiaXRkZXB0aCBmdW5jdGlvbnMK
IGlmICh2cHhfY29uZmlnKCJDT05GSUdfVlA5X0hJR0hCSVRERVBUSCIpIGVxICJ5ZXMiKSB7CiAg
IGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfNHg0LywgInVpbnQx
Nl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3Qg
dWludDE2X3QgKmxlZnQsIGludCBiZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9kMjA3
X3ByZWRpY3Rvcl80eDQgbmVvbiBzc2UyLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2Qy
MDdfcHJlZGljdG9yXzR4NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJk
X2Q0NV9wcmVkaWN0b3JfNHg0LywgInVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNv
bnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCI7CiAgIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9kNDVfcHJlZGljdG9yXzR4NCBuZW9uIHNzc2UzLzsKIAog
ICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfNHg0LywgInVpbnQx
Nl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3Qg
dWludDE2X3QgKmxlZnQsIGludCBiZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9kNjNf
cHJlZGljdG9yXzR4NCBuZW9uIHNzZTIvOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZDYz
X3ByZWRpY3Rvcl80eDQgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9o
X3ByZWRpY3Rvcl80eDQvLCAidWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3Qg
dWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKICAgc3BlY2lh
bGl6ZSBxdy92cHhfaGlnaGJkX2hfcHJlZGljdG9yXzR4NCBuZW9uIHNzZTIvOwogCiAgIGFkZF9w
cm90byBxdy92b2lkIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfNHg0LywgInVpbnQxNl90ICpk
c3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3QgdWludDE2
X3QgKmxlZnQsIGludCBiZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9kMTE3X3ByZWRp
Y3Rvcl80eDQgbmVvbiBzc2UyLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2QxMTdfcHJl
ZGljdG9yXzR4NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX2QxMzVf
cHJlZGljdG9yXzR4NC8sICJ1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1
aW50MTZfdCAqYWJvdmUsIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQiOwogICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfNHg0IG5lb24gc3NlMi87CiAKICAgYWRk
X3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl80eDQvLCAidWludDE2X3Qg
KmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50
MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2QxNTNfcHJl
ZGljdG9yXzR4NCBuZW9uIHNzZTIvOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZDE1M19w
cmVkaWN0b3JfNHg0IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfdl9w
cmVkaWN0b3JfNHg0LywgInVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVp
bnQxNl90ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCI7CiAgIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF92X3ByZWRpY3Rvcl80eDQgbmVvbiBzc2UyLzsKQEAgLTI1NCwyNSAr
MjQ2LDI1IEBAIGlmICh2cHhfY29uZmlnKCJDT05GSUdfVlA5X0hJR0hCSVRERVBUSCIpIGVxICJ5
ZXMiKSB7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9kY18xMjhfcHJlZGljdG9yXzR4NCBu
ZW9uIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0
b3JfOHg4LywgInVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQxNl90
ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCI7Ci0gIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl84eDggbmVvbiBzc3NlMy87CisgIHNwZWNpYWxpemUg
cXcvdnB4X2hpZ2hiZF9kMjA3X3ByZWRpY3Rvcl84eDggc3NzZTMvOwogCiAgIGFkZF9wcm90byBx
dy92b2lkIHZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl84eDgvLCAidWludDE2X3QgKmRzdCwgcHRy
ZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAqbGVm
dCwgaW50IGJkIjsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2Q0NV9wcmVkaWN0b3JfOHg4
IG5lb24gc3NzZTMvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDYzX3ByZWRp
Y3Rvcl84eDgvLCAidWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2
X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfOHg4IG5lb24gc3NzZTMvOworICBzcGVjaWFsaXpl
IHF3L3ZweF9oaWdoYmRfZDYzX3ByZWRpY3Rvcl84eDggc3NzZTMvOwogCiAgIGFkZF9wcm90byBx
dy92b2lkIHZweF9oaWdoYmRfaF9wcmVkaWN0b3JfOHg4LywgInVpbnQxNl90ICpkc3QsIHB0cmRp
ZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxlZnQs
IGludCBiZCI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9oX3ByZWRpY3Rvcl84eDggbmVv
biBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX2QxMTdfcHJlZGljdG9y
Xzh4OC8sICJ1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50MTZfdCAq
YWJvdmUsIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQiOwotICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfZDExN19wcmVkaWN0b3JfOHg4IG5lb24gc3NzZTMvOworICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfOHg4IHNzc2UzLzsKIAogICBhZGRfcHJvdG8gcXcv
dm9pZCB2cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzh4OC8sICJ1aW50MTZfdCAqZHN0LCBwdHJk
aWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50MTZfdCAqYWJvdmUsIGNvbnN0IHVpbnQxNl90ICpsZWZ0
LCBpbnQgYmQiOwogICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfOHg4
IG5lb24gc3NzZTMvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDE1M19wcmVk
aWN0b3JfOHg4LywgInVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQx
Nl90ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCI7Ci0gIHNwZWNpYWxpemUg
cXcvdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDggbmVvbiBzc3NlMy87CisgIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF9kMTUzX3ByZWRpY3Rvcl84eDggc3NzZTMvOwogCiAgIGFkZF9wcm90
byBxdy92b2lkIHZweF9oaWdoYmRfdl9wcmVkaWN0b3JfOHg4LywgInVpbnQxNl90ICpkc3QsIHB0
cmRpZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxl
ZnQsIGludCBiZCI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF92X3ByZWRpY3Rvcl84eDgg
bmVvbiBzc2UyLzsKQEAgLTI5MywyNSArMjg1LDI1IEBAIGlmICh2cHhfY29uZmlnKCJDT05GSUdf
VlA5X0hJR0hCSVRERVBUSCIpIGVxICJ5ZXMiKSB7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hi
ZF9kY18xMjhfcHJlZGljdG9yXzh4OCBuZW9uIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy92b2lk
IHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMTZ4MTYvLCAidWludDE2X3QgKmRzdCwgcHRyZGlm
Zl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAqbGVmdCwg
aW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2QyMDdfcHJlZGljdG9yXzE2eDE2
IG5lb24gc3NzZTMvOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3Jf
MTZ4MTYgc3NzZTMvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDQ1X3ByZWRp
Y3Rvcl8xNngxNi8sICJ1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50
MTZfdCAqYWJvdmUsIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQiOwogICBzcGVjaWFsaXpl
IHF3L3ZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl8xNngxNiBuZW9uIHNzc2UzLzsKIAogICBhZGRf
cHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMTZ4MTYvLCAidWludDE2X3Qg
KmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50
MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2Q2M19wcmVk
aWN0b3JfMTZ4MTYgbmVvbiBzc3NlMy87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9kNjNf
cHJlZGljdG9yXzE2eDE2IHNzc2UzLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJk
X2hfcHJlZGljdG9yXzE2eDE2LywgInVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBzdHJpZGUsIGNv
bnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBiZCI7CiAgIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9oX3ByZWRpY3Rvcl8xNngxNiBuZW9uIHNzZTIvOwogCiAg
IGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMTZ4MTYvLCAidWlu
dDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25z
dCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2Qx
MTdfcHJlZGljdG9yXzE2eDE2IG5lb24gc3NzZTMvOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfZDExN19wcmVkaWN0b3JfMTZ4MTYgc3NzZTMvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZw
eF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfMTZ4MTYvLCAidWludDE2X3QgKmRzdCwgcHRyZGlmZl90
IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50
IGJkIjsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9yXzE2eDE2IG5l
b24gc3NzZTMvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDE1M19wcmVkaWN0
b3JfMTZ4MTYvLCAidWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2
X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzE2eDE2IG5lb24gc3NzZTMvOworICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMTZ4MTYgc3NzZTMvOwogCiAgIGFkZF9w
cm90byBxdy92b2lkIHZweF9oaWdoYmRfdl9wcmVkaWN0b3JfMTZ4MTYvLCAidWludDE2X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZf
dCAqbGVmdCwgaW50IGJkIjsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3ZfcHJlZGljdG9y
XzE2eDE2IG5lb24gc3NlMi87CkBAIC0zMzIsMjUgKzMyNCwyNSBAQCBpZiAodnB4X2NvbmZpZygi
Q09ORklHX1ZQOV9ISUdIQklUREVQVEgiKSBlcSAieWVzIikgewogICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfZGNfMTI4X3ByZWRpY3Rvcl8xNngxNiBuZW9uIHNzZTIvOwogCiAgIGFkZF9wcm90
byBxdy92b2lkIHZweF9oaWdoYmRfZDIwN19wcmVkaWN0b3JfMzJ4MzIvLCAidWludDE2X3QgKmRz
dCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZf
dCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2QyMDdfcHJlZGlj
dG9yXzMyeDMyIG5lb24gc3NzZTMvOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZDIwN19w
cmVkaWN0b3JfMzJ4MzIgc3NzZTMvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRf
ZDQ1X3ByZWRpY3Rvcl8zMngzMi8sICJ1aW50MTZfdCAqZHN0LCBwdHJkaWZmX3Qgc3RyaWRlLCBj
b25zdCB1aW50MTZfdCAqYWJvdmUsIGNvbnN0IHVpbnQxNl90ICpsZWZ0LCBpbnQgYmQiOwogICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZDQ1X3ByZWRpY3Rvcl8zMngzMiBuZW9uIHNzc2UzLzsK
IAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX2Q2M19wcmVkaWN0b3JfMzJ4MzIvLCAi
dWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBj
b25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJk
X2Q2M19wcmVkaWN0b3JfMzJ4MzIgbmVvbiBzc3NlMy87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF9kNjNfcHJlZGljdG9yXzMyeDMyIHNzc2UzLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2
cHhfaGlnaGJkX2hfcHJlZGljdG9yXzMyeDMyLywgInVpbnQxNl90ICpkc3QsIHB0cmRpZmZfdCBz
dHJpZGUsIGNvbnN0IHVpbnQxNl90ICphYm92ZSwgY29uc3QgdWludDE2X3QgKmxlZnQsIGludCBi
ZCI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9oX3ByZWRpY3Rvcl8zMngzMiBuZW9uIHNz
ZTIvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMzJ4
MzIvLCAidWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFi
b3ZlLCBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX2QxMTdfcHJlZGljdG9yXzMyeDMyIG5lb24gc3NzZTMvOworICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfZDExN19wcmVkaWN0b3JfMzJ4MzIgc3NzZTMvOwogCiAgIGFkZF9wcm90byBx
dy92b2lkIHZweF9oaWdoYmRfZDEzNV9wcmVkaWN0b3JfMzJ4MzIvLCAidWludDE2X3QgKmRzdCwg
cHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAq
bGVmdCwgaW50IGJkIjsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2QxMzVfcHJlZGljdG9y
XzMyeDMyIG5lb24gc3NzZTMvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfZDE1
M19wcmVkaWN0b3JfMzJ4MzIvLCAidWludDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29u
c3QgdWludDE2X3QgKmFib3ZlLCBjb25zdCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKLSAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkX2QxNTNfcHJlZGljdG9yXzMyeDMyIG5lb24gc3NzZTMvOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZDE1M19wcmVkaWN0b3JfMzJ4MzIgc3NzZTMvOwog
CiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfdl9wcmVkaWN0b3JfMzJ4MzIvLCAidWlu
dDE2X3QgKmRzdCwgcHRyZGlmZl90IHN0cmlkZSwgY29uc3QgdWludDE2X3QgKmFib3ZlLCBjb25z
dCB1aW50MTZfdCAqbGVmdCwgaW50IGJkIjsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3Zf
cHJlZGljdG9yXzMyeDMyIG5lb24gc3NlMi87CkBAIC0zNzYsMjggKzM2OCwyOCBAQCBpZiAodnB4
X2NvbmZpZygiQ09ORklHX1ZQOSIpIGVxICJ5ZXMiKSB7CiAjIFN1YiBQaXhlbCBGaWx0ZXJzCiAj
CiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfY29udm9sdmVfY29weS8sICJjb25zdCB1aW50OF90ICpz
cmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3Ry
aWRlLCBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LCBpbnQgeF9zdGVwX3E0
LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsIGludCB3LCBpbnQgaCI7Ci1zcGVjaWFsaXplIHF3
L3ZweF9jb252b2x2ZV9jb3B5IG5lb24gZHNwcjIgbXNhIHNzZTIgdnN4IGxzeC87CitzcGVjaWFs
aXplIHF3L3ZweF9jb252b2x2ZV9jb3B5IG5lb24gZHNwcjIgbXNhIHNzZTIgdnN4LzsKIAogYWRk
X3Byb3RvIHF3L3ZvaWQgdnB4X2NvbnZvbHZlX2F2Zy8sICJjb25zdCB1aW50OF90ICpzcmMsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLCBj
b25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LCBpbnQgeF9zdGVwX3E0LCBpbnQg
eTBfcTQsIGludCB5X3N0ZXBfcTQsIGludCB3LCBpbnQgaCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9j
b252b2x2ZV9hdmcgbmVvbiBkc3ByMiBtc2Egc3NlMiB2c3ggbW1pIGxzeC87CitzcGVjaWFsaXpl
IHF3L3ZweF9jb252b2x2ZV9hdmcgbmVvbiBkc3ByMiBtc2Egc3NlMiB2c3ggbW1pLzsKIAogYWRk
X3Byb3RvIHF3L3ZvaWQgdnB4X2NvbnZvbHZlOC8sICJjb25zdCB1aW50OF90ICpzcmMsIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLCBjb25z
dCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LCBpbnQgeF9zdGVwX3E0LCBpbnQgeTBf
cTQsIGludCB5X3N0ZXBfcTQsIGludCB3LCBpbnQgaCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9jb252
b2x2ZTggc3NlMiBzc3NlMyBhdngyIG5lb24gbmVvbl9kb3Rwcm9kIG5lb25faThtbSBkc3ByMiBt
c2EgdnN4IG1taSBsc3gvOworc3BlY2lhbGl6ZSBxdy92cHhfY29udm9sdmU4IHNzZTIgc3NzZTMg
YXZ4MiBuZW9uIGRzcHIyIG1zYSB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2Nv
bnZvbHZlOF9ob3Jpei8sICJjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LCB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLCBjb25zdCBJbnRlcnBLZXJuZWwg
KmZpbHRlciwgaW50IHgwX3E0LCBpbnQgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBf
cTQsIGludCB3LCBpbnQgaCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9jb252b2x2ZThfaG9yaXogc3Nl
MiBzc3NlMyBhdngyIG5lb24gbmVvbl9kb3Rwcm9kIG5lb25faThtbSBkc3ByMiBtc2EgdnN4IG1t
aSBsc3gvOworc3BlY2lhbGl6ZSBxdy92cHhfY29udm9sdmU4X2hvcml6IHNzZTIgc3NzZTMgYXZ4
MiBuZW9uIGRzcHIyIG1zYSB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2NvbnZv
bHZlOF92ZXJ0LywgImNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19zdHJpZGUsIHVp
bnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsIGNvbnN0IEludGVycEtlcm5lbCAqZmls
dGVyLCBpbnQgeDBfcTQsIGludCB4X3N0ZXBfcTQsIGludCB5MF9xNCwgaW50IHlfc3RlcF9xNCwg
aW50IHcsIGludCBoIjsKLXNwZWNpYWxpemUgcXcvdnB4X2NvbnZvbHZlOF92ZXJ0IHNzZTIgc3Nz
ZTMgYXZ4MiBuZW9uIG5lb25fZG90cHJvZCBuZW9uX2k4bW0gZHNwcjIgbXNhIHZzeCBtbWkgbHN4
LzsKK3NwZWNpYWxpemUgcXcvdnB4X2NvbnZvbHZlOF92ZXJ0IHNzZTIgc3NzZTMgYXZ4MiBuZW9u
IGRzcHIyIG1zYSB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2NvbnZvbHZlOF9h
dmcvLCAiY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAq
ZHN0LCBwdHJkaWZmX3QgZHN0X3N0cmlkZSwgY29uc3QgSW50ZXJwS2VybmVsICpmaWx0ZXIsIGlu
dCB4MF9xNCwgaW50IHhfc3RlcF9xNCwgaW50IHkwX3E0LCBpbnQgeV9zdGVwX3E0LCBpbnQgdywg
aW50IGgiOwotc3BlY2lhbGl6ZSBxdy92cHhfY29udm9sdmU4X2F2ZyBzc2UyIHNzc2UzIGF2eDIg
bmVvbiBuZW9uX2RvdHByb2QgbmVvbl9pOG1tIGRzcHIyIG1zYSB2c3ggbW1pIGxzeC87CitzcGVj
aWFsaXplIHF3L3ZweF9jb252b2x2ZThfYXZnIHNzZTIgc3NzZTMgYXZ4MiBuZW9uIGRzcHIyIG1z
YSB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXov
LCAiY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0
LCBwdHJkaWZmX3QgZHN0X3N0cmlkZSwgY29uc3QgSW50ZXJwS2VybmVsICpmaWx0ZXIsIGludCB4
MF9xNCwgaW50IHhfc3RlcF9xNCwgaW50IHkwX3E0LCBpbnQgeV9zdGVwX3E0LCBpbnQgdywgaW50
IGgiOwotc3BlY2lhbGl6ZSBxdy92cHhfY29udm9sdmU4X2F2Z19ob3JpeiBzc2UyIHNzc2UzIGF2
eDIgbmVvbiBuZW9uX2RvdHByb2QgbmVvbl9pOG1tIGRzcHIyIG1zYSB2c3ggbW1pIGxzeC87Citz
cGVjaWFsaXplIHF3L3ZweF9jb252b2x2ZThfYXZnX2hvcml6IHNzZTIgc3NzZTMgYXZ4MiBuZW9u
IGRzcHIyIG1zYSB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2NvbnZvbHZlOF9h
dmdfdmVydC8sICJjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50
OF90ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLCBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRl
ciwgaW50IHgwX3E0LCBpbnQgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsIGlu
dCB3LCBpbnQgaCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9jb252b2x2ZThfYXZnX3ZlcnQgc3NlMiBz
c3NlMyBhdngyIG5lb24gbmVvbl9kb3Rwcm9kIG5lb25faThtbSBkc3ByMiBtc2EgdnN4IG1taSBs
c3gvOworc3BlY2lhbGl6ZSBxdy92cHhfY29udm9sdmU4X2F2Z192ZXJ0IHNzZTIgc3NzZTMgYXZ4
MiBuZW9uIGRzcHIyIG1zYSB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NjYWxl
ZF8yZC8sICJjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50OF90
ICpkc3QsIHB0cmRpZmZfdCBkc3Rfc3RyaWRlLCBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwg
aW50IHgwX3E0LCBpbnQgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGludCB5X3N0ZXBfcTQsIGludCB3
LCBpbnQgaCI7CiBzcGVjaWFsaXplIHF3L3ZweF9zY2FsZWRfMmQgc3NzZTMgbmVvbiBtc2EvOwpA
QCAtNDUwLDM3ICs0NDIsMzcgQEAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2xwZl92ZXJ0aWNhbF8x
Ni8sICJ1aW50OF90ICpzLCBpbnQgcGl0Y2gsIGNvbnN0IHVpbnQ4X3QgKmIKIHNwZWNpYWxpemUg
cXcvdnB4X2xwZl92ZXJ0aWNhbF8xNiBzc2UyIG5lb24gZHNwcjIgbXNhLzsKIAogYWRkX3Byb3Rv
IHF3L3ZvaWQgdnB4X2xwZl92ZXJ0aWNhbF8xNl9kdWFsLywgInVpbnQ4X3QgKnMsIGludCBwaXRj
aCwgY29uc3QgdWludDhfdCAqYmxpbWl0LCBjb25zdCB1aW50OF90ICpsaW1pdCwgY29uc3QgdWlu
dDhfdCAqdGhyZXNoIjsKLXNwZWNpYWxpemUgcXcvdnB4X2xwZl92ZXJ0aWNhbF8xNl9kdWFsIHNz
ZTIgbmVvbiBkc3ByMiBtc2EgbHN4LzsKK3NwZWNpYWxpemUgcXcvdnB4X2xwZl92ZXJ0aWNhbF8x
Nl9kdWFsIHNzZTIgbmVvbiBkc3ByMiBtc2EvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfbHBm
X3ZlcnRpY2FsXzgvLCAidWludDhfdCAqcywgaW50IHBpdGNoLCBjb25zdCB1aW50OF90ICpibGlt
aXQsIGNvbnN0IHVpbnQ4X3QgKmxpbWl0LCBjb25zdCB1aW50OF90ICp0aHJlc2giOwotc3BlY2lh
bGl6ZSBxdy92cHhfbHBmX3ZlcnRpY2FsXzggc3NlMiBuZW9uIGRzcHIyIG1zYSBsc3gvOworc3Bl
Y2lhbGl6ZSBxdy92cHhfbHBmX3ZlcnRpY2FsXzggc3NlMiBuZW9uIGRzcHIyIG1zYS87CiAKIGFk
ZF9wcm90byBxdy92b2lkIHZweF9scGZfdmVydGljYWxfOF9kdWFsLywgInVpbnQ4X3QgKnMsIGlu
dCBwaXRjaCwgY29uc3QgdWludDhfdCAqYmxpbWl0MCwgY29uc3QgdWludDhfdCAqbGltaXQwLCBj
b25zdCB1aW50OF90ICp0aHJlc2gwLCBjb25zdCB1aW50OF90ICpibGltaXQxLCBjb25zdCB1aW50
OF90ICpsaW1pdDEsIGNvbnN0IHVpbnQ4X3QgKnRocmVzaDEiOwotc3BlY2lhbGl6ZSBxdy92cHhf
bHBmX3ZlcnRpY2FsXzhfZHVhbCBzc2UyIG5lb24gZHNwcjIgbXNhIGxzeC87CitzcGVjaWFsaXpl
IHF3L3ZweF9scGZfdmVydGljYWxfOF9kdWFsIHNzZTIgbmVvbiBkc3ByMiBtc2EvOwogCiBhZGRf
cHJvdG8gcXcvdm9pZCB2cHhfbHBmX3ZlcnRpY2FsXzQvLCAidWludDhfdCAqcywgaW50IHBpdGNo
LCBjb25zdCB1aW50OF90ICpibGltaXQsIGNvbnN0IHVpbnQ4X3QgKmxpbWl0LCBjb25zdCB1aW50
OF90ICp0aHJlc2giOwotc3BlY2lhbGl6ZSBxdy92cHhfbHBmX3ZlcnRpY2FsXzQgc3NlMiBuZW9u
IGRzcHIyIG1zYSBsc3gvOworc3BlY2lhbGl6ZSBxdy92cHhfbHBmX3ZlcnRpY2FsXzQgc3NlMiBu
ZW9uIGRzcHIyIG1zYS87CiAKIGFkZF9wcm90byBxdy92b2lkIHZweF9scGZfdmVydGljYWxfNF9k
dWFsLywgInVpbnQ4X3QgKnMsIGludCBwaXRjaCwgY29uc3QgdWludDhfdCAqYmxpbWl0MCwgY29u
c3QgdWludDhfdCAqbGltaXQwLCBjb25zdCB1aW50OF90ICp0aHJlc2gwLCBjb25zdCB1aW50OF90
ICpibGltaXQxLCBjb25zdCB1aW50OF90ICpsaW1pdDEsIGNvbnN0IHVpbnQ4X3QgKnRocmVzaDEi
Owotc3BlY2lhbGl6ZSBxdy92cHhfbHBmX3ZlcnRpY2FsXzRfZHVhbCBzc2UyIG5lb24gZHNwcjIg
bXNhIGxzeC87CitzcGVjaWFsaXplIHF3L3ZweF9scGZfdmVydGljYWxfNF9kdWFsIHNzZTIgbmVv
biBkc3ByMiBtc2EvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfbHBmX2hvcml6b250YWxfMTYv
LCAidWludDhfdCAqcywgaW50IHBpdGNoLCBjb25zdCB1aW50OF90ICpibGltaXQsIGNvbnN0IHVp
bnQ4X3QgKmxpbWl0LCBjb25zdCB1aW50OF90ICp0aHJlc2giOwogc3BlY2lhbGl6ZSBxdy92cHhf
bHBmX2hvcml6b250YWxfMTYgc3NlMiBhdngyIG5lb24gZHNwcjIgbXNhLzsKIAogYWRkX3Byb3Rv
IHF3L3ZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzE2X2R1YWwvLCAidWludDhfdCAqcywgaW50IHBp
dGNoLCBjb25zdCB1aW50OF90ICpibGltaXQsIGNvbnN0IHVpbnQ4X3QgKmxpbWl0LCBjb25zdCB1
aW50OF90ICp0aHJlc2giOwotc3BlY2lhbGl6ZSBxdy92cHhfbHBmX2hvcml6b250YWxfMTZfZHVh
bCBzc2UyIGF2eDIgbmVvbiBkc3ByMiBtc2EgbHN4LzsKK3NwZWNpYWxpemUgcXcvdnB4X2xwZl9o
b3Jpem9udGFsXzE2X2R1YWwgc3NlMiBhdngyIG5lb24gZHNwcjIgbXNhLzsKIAogYWRkX3Byb3Rv
IHF3L3ZvaWQgdnB4X2xwZl9ob3Jpem9udGFsXzgvLCAidWludDhfdCAqcywgaW50IHBpdGNoLCBj
b25zdCB1aW50OF90ICpibGltaXQsIGNvbnN0IHVpbnQ4X3QgKmxpbWl0LCBjb25zdCB1aW50OF90
ICp0aHJlc2giOwotc3BlY2lhbGl6ZSBxdy92cHhfbHBmX2hvcml6b250YWxfOCBzc2UyIG5lb24g
ZHNwcjIgbXNhIGxzeC87CitzcGVjaWFsaXplIHF3L3ZweF9scGZfaG9yaXpvbnRhbF84IHNzZTIg
bmVvbiBkc3ByMiBtc2EvOwogCiBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfbHBmX2hvcml6b250YWxf
OF9kdWFsLywgInVpbnQ4X3QgKnMsIGludCBwaXRjaCwgY29uc3QgdWludDhfdCAqYmxpbWl0MCwg
Y29uc3QgdWludDhfdCAqbGltaXQwLCBjb25zdCB1aW50OF90ICp0aHJlc2gwLCBjb25zdCB1aW50
OF90ICpibGltaXQxLCBjb25zdCB1aW50OF90ICpsaW1pdDEsIGNvbnN0IHVpbnQ4X3QgKnRocmVz
aDEiOwotc3BlY2lhbGl6ZSBxdy92cHhfbHBmX2hvcml6b250YWxfOF9kdWFsIHNzZTIgbmVvbiBk
c3ByMiBtc2EgbHN4LzsKK3NwZWNpYWxpemUgcXcvdnB4X2xwZl9ob3Jpem9udGFsXzhfZHVhbCBz
c2UyIG5lb24gZHNwcjIgbXNhLzsKIAogYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2xwZl9ob3Jpem9u
dGFsXzQvLCAidWludDhfdCAqcywgaW50IHBpdGNoLCBjb25zdCB1aW50OF90ICpibGltaXQsIGNv
bnN0IHVpbnQ4X3QgKmxpbWl0LCBjb25zdCB1aW50OF90ICp0aHJlc2giOwotc3BlY2lhbGl6ZSBx
dy92cHhfbHBmX2hvcml6b250YWxfNCBzc2UyIG5lb24gZHNwcjIgbXNhIGxzeC87CitzcGVjaWFs
aXplIHF3L3ZweF9scGZfaG9yaXpvbnRhbF80IHNzZTIgbmVvbiBkc3ByMiBtc2EvOwogCiBhZGRf
cHJvdG8gcXcvdm9pZCB2cHhfbHBmX2hvcml6b250YWxfNF9kdWFsLywgInVpbnQ4X3QgKnMsIGlu
dCBwaXRjaCwgY29uc3QgdWludDhfdCAqYmxpbWl0MCwgY29uc3QgdWludDhfdCAqbGltaXQwLCBj
b25zdCB1aW50OF90ICp0aHJlc2gwLCBjb25zdCB1aW50OF90ICpibGltaXQxLCBjb25zdCB1aW50
OF90ICpsaW1pdDEsIGNvbnN0IHVpbnQ4X3QgKnRocmVzaDEiOwotc3BlY2lhbGl6ZSBxdy92cHhf
bHBmX2hvcml6b250YWxfNF9kdWFsIHNzZTIgbmVvbiBkc3ByMiBtc2EgbHN4LzsKK3NwZWNpYWxp
emUgcXcvdnB4X2xwZl9ob3Jpem9udGFsXzRfZHVhbCBzc2UyIG5lb24gZHNwcjIgbXNhLzsKIH0g
I0NPTkZJR19WUDkKIAogaWYgKHZweF9jb25maWcoIkNPTkZJR19WUDlfSElHSEJJVERFUFRIIikg
ZXEgInllcyIpIHsKQEAgLTUzNSw4ICs1MjcsNiBAQCBpZiAodnB4X2NvbmZpZygiQ09ORklHX1ZQ
OV9ISUdIQklUREVQVEgiKSBlcSAieWVzIikgewogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9m
ZGN0NHg0XzEvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50
IHN0cmlkZSI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2ZkY3Q0eDRfMSBzc2UyIG5lb24vOwotICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfZmRjdDR4NF8xIG5lb24vOwotICAkdnB4X2hpZ2hiZF9m
ZGN0NHg0XzFfbmVvbj12cHhfZmRjdDR4NF8xX25lb247CiAKICAgYWRkX3Byb3RvIHF3L3ZvaWQg
dnB4X2ZkY3Q4eDgvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwg
aW50IHN0cmlkZSI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2ZkY3Q4eDggbmVvbiBzc2UyLzsKQEAg
LTU2MCw1MyArNTUwLDUxIEBAIGlmICh2cHhfY29uZmlnKCJDT05GSUdfVlA5X0hJR0hCSVRERVBU
SCIpIGVxICJ5ZXMiKSB7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2ZkY3QzMngzMl8xIHNzZTIgbmVv
bi87CiAKICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9mZGN0NHg0LywgImNvbnN0IGlu
dDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUiOwotICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfZmRjdDR4NCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfZmRjdDR4NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJk
X2ZkY3Q4eDgvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50
IHN0cmlkZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9mZGN0OHg4IHNzZTIgbmVvbi87
CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9mZGN0OHg4IHNzZTIvOwogCiAgIGFkZF9wcm90
byBxdy92b2lkIHZweF9oaWdoYmRfZmRjdDh4OF8xLywgImNvbnN0IGludDE2X3QgKmlucHV0LCB0
cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUiOwogICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfZmRjdDh4OF8xIG5lb24vOwogICAkdnB4X2hpZ2hiZF9mZGN0OHg4XzFfbmVvbj12cHhfZmRj
dDh4OF8xX25lb247CiAKICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9mZGN0MTZ4MTYv
LCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50IHN0cmlkZSI7
Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9mZGN0MTZ4MTYgc3NlMiBuZW9uLzsKKyAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkX2ZkY3QxNngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcv
dm9pZCB2cHhfaGlnaGJkX2ZkY3QxNngxNl8xLywgImNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFu
X2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRf
ZmRjdDE2eDE2XzEgbmVvbi87CiAKICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9mZGN0
MzJ4MzIvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50IHN0
cmlkZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9mZGN0MzJ4MzIgc3NlMiBuZW9uLzsK
KyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2ZkY3QzMngzMiBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdm9pZCB2cHhfaGlnaGJkX2ZkY3QzMngzMl9yZC8sICJjb25zdCBpbnQxNl90ICppbnB1
dCwgdHJhbl9sb3dfdCAqb3V0cHV0LCBpbnQgc3RyaWRlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX2ZkY3QzMngzMl9yZCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfZmRjdDMyeDMyX3JkIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRf
ZmRjdDMyeDMyXzEvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwg
aW50IHN0cmlkZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9mZGN0MzJ4MzJfMSBuZW9u
LzsKIH0gZWxzZSB7CiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9mZGN0NHg0LywgImNvbnN0IGlu
dDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUiOwotICBzcGVjaWFs
aXplIHF3L3ZweF9mZGN0NHg0IG5lb24gc3NlMiBtc2EgbHN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92
cHhfZmRjdDR4NCBuZW9uIHNzZTIgbXNhLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZmRj
dDR4NF8xLywgImNvbnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBz
dHJpZGUiOwogICBzcGVjaWFsaXplIHF3L3ZweF9mZGN0NHg0XzEgc3NlMiBuZW9uLzsKIAogICBh
ZGRfcHJvdG8gcXcvdm9pZCB2cHhfZmRjdDh4OC8sICJjb25zdCBpbnQxNl90ICppbnB1dCwgdHJh
bl9sb3dfdCAqb3V0cHV0LCBpbnQgc3RyaWRlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfZmRjdDh4
OCBzc2UyIG5lb24gbXNhIGxzeC8sICIkc3NzZTNfeDg2XzY0IjsKKyAgc3BlY2lhbGl6ZSBxdy92
cHhfZmRjdDh4OCBzc2UyIG5lb24gbXNhLywgIiRzc3NlM194ODZfNjQiOwogCiAgIGFkZF9wcm90
byBxdy92b2lkIHZweF9mZGN0OHg4XzEvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93
X3QgKm91dHB1dCwgaW50IHN0cmlkZSI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2ZkY3Q4eDhfMSBz
c2UyIG5lb24gbXNhLzsKIAogICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfZmRjdDE2eDE2LywgImNv
bnN0IGludDE2X3QgKmlucHV0LCB0cmFuX2xvd190ICpvdXRwdXQsIGludCBzdHJpZGUiOwotICBz
cGVjaWFsaXplIHF3L3ZweF9mZGN0MTZ4MTYgbmVvbiBzc2UyIGF2eDIgbXNhIGxzeC87CisgIHNw
ZWNpYWxpemUgcXcvdnB4X2ZkY3QxNngxNiBuZW9uIHNzZTIgbXNhLzsKIAogICBhZGRfcHJvdG8g
cXcvdm9pZCB2cHhfZmRjdDE2eDE2XzEvLCAiY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93
X3QgKm91dHB1dCwgaW50IHN0cmlkZSI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X2ZkY3QxNngxNl8x
IHNzZTIgbmVvbiBtc2EvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9mZGN0MzJ4MzIvLCAi
Y29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dCwgaW50IHN0cmlkZSI7Ci0g
IHNwZWNpYWxpemUgcXcvdnB4X2ZkY3QzMngzMiBuZW9uIHNzZTIgYXZ4MiBtc2EgbHN4LzsKKyAg
c3BlY2lhbGl6ZSBxdy92cHhfZmRjdDMyeDMyIG5lb24gc3NlMiBhdngyIG1zYS87CiAKICAgYWRk
X3Byb3RvIHF3L3ZvaWQgdnB4X2ZkY3QzMngzMl9yZC8sICJjb25zdCBpbnQxNl90ICppbnB1dCwg
dHJhbl9sb3dfdCAqb3V0cHV0LCBpbnQgc3RyaWRlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfZmRj
dDMyeDMyX3JkIHNzZTIgYXZ4MiBuZW9uIG1zYSB2c3ggbHN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92
cHhfZmRjdDMyeDMyX3JkIHNzZTIgYXZ4MiBuZW9uIG1zYSB2c3gvOwogCiAgIGFkZF9wcm90byBx
dy92b2lkIHZweF9mZGN0MzJ4MzJfMS8sICJjb25zdCBpbnQxNl90ICppbnB1dCwgdHJhbl9sb3df
dCAqb3V0cHV0LCBpbnQgc3RyaWRlIjsKICAgc3BlY2lhbGl6ZSBxdy92cHhfZmRjdDMyeDMyXzEg
c3NlMiBuZW9uIG1zYS87CkBAIC02NDEsMTIgKzYyOSwxMiBAQCBpZiAodnB4X2NvbmZpZygiQ09O
RklHX0VNVUxBVEVfSEFSRFdBUkUiKSBuZSAieWVzIikgewogICBzcGVjaWFsaXplIHF3L3ZweF9p
ZGN0OHg4XzY0X2FkZCBuZW9uIHNzZTIgdnN4LzsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaWRjdDh4
OF8xMl9hZGQgbmVvbiBzc2UyIHNzc2UzLzsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaWRjdDh4OF8x
X2FkZCBuZW9uIHNzZTIvOwotICBzcGVjaWFsaXplIHF3L3ZweF9pZGN0MTZ4MTZfMjU2X2FkZCBu
ZW9uIHNzZTIgYXZ4MiB2c3gvOworICBzcGVjaWFsaXplIHF3L3ZweF9pZGN0MTZ4MTZfMjU2X2Fk
ZCBuZW9uIHNzZTIgdnN4LzsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaWRjdDE2eDE2XzM4X2FkZCBu
ZW9uIHNzZTIvOwogICBzcGVjaWFsaXplIHF3L3ZweF9pZGN0MTZ4MTZfMTBfYWRkIG5lb24gc3Nl
Mi87CiAgIHNwZWNpYWxpemUgcXcvdnB4X2lkY3QxNngxNl8xX2FkZCBuZW9uIHNzZTIvOwotICBz
cGVjaWFsaXplIHF3L3ZweF9pZGN0MzJ4MzJfMTAyNF9hZGQgbmVvbiBzc2UyIGF2eDIgdnN4LzsK
LSAgc3BlY2lhbGl6ZSBxdy92cHhfaWRjdDMyeDMyXzEzNV9hZGQgbmVvbiBzc2UyIHNzc2UzIGF2
eDIvOworICBzcGVjaWFsaXplIHF3L3ZweF9pZGN0MzJ4MzJfMTAyNF9hZGQgbmVvbiBzc2UyIHZz
eC87CisgIHNwZWNpYWxpemUgcXcvdnB4X2lkY3QzMngzMl8xMzVfYWRkIG5lb24gc3NlMiBzc3Nl
My87CiAgIHNwZWNpYWxpemUgcXcvdnB4X2lkY3QzMngzMl8zNF9hZGQgbmVvbiBzc2UyIHNzc2Uz
LzsKICAgc3BlY2lhbGl6ZSBxdy92cHhfaWRjdDMyeDMyXzFfYWRkIG5lb24gc3NlMi87CiAgIHNw
ZWNpYWxpemUgcXcvdnB4X2l3aHQ0eDRfMTZfYWRkIHNzZTIgdnN4LzsKQEAgLTY2NCwxMyArNjUy
LDEyIEBAIGlmICh2cHhfY29uZmlnKCJDT05GSUdfRU1VTEFURV9IQVJEV0FSRSIpIG5lICJ5ZXMi
KSB7CiAgICAgJHZweF9pZGN0MTZ4MTZfMzhfYWRkX21zYT12cHhfaWRjdDE2eDE2XzI1Nl9hZGRf
bXNhOwogICAgIHNwZWNpYWxpemUgcXcvdnB4X2lkY3QxNngxNl8xMF9hZGQgZHNwcjIgbXNhLzsK
ICAgICBzcGVjaWFsaXplIHF3L3ZweF9pZGN0MTZ4MTZfMV9hZGQgZHNwcjIgbXNhLzsKLSAgICBz
cGVjaWFsaXplIHF3L3ZweF9pZGN0MzJ4MzJfMTAyNF9hZGQgZHNwcjIgbXNhIGxzeC87CisgICAg
c3BlY2lhbGl6ZSBxdy92cHhfaWRjdDMyeDMyXzEwMjRfYWRkIGRzcHIyIG1zYS87CiAgICAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaWRjdDMyeDMyXzEzNV9hZGQgZHNwcjIgbXNhLzsKICAgICAkdnB4X2lk
Y3QzMngzMl8xMzVfYWRkX2RzcHIyPXZweF9pZGN0MzJ4MzJfMTAyNF9hZGRfZHNwcjI7CiAgICAg
JHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9tc2E9dnB4X2lkY3QzMngzMl8xMDI0X2FkZF9tc2E7Ci0g
ICAgJHZweF9pZGN0MzJ4MzJfMTM1X2FkZF9sc3g9dnB4X2lkY3QzMngzMl8xMDI0X2FkZF9sc3g7
Ci0gICAgc3BlY2lhbGl6ZSBxdy92cHhfaWRjdDMyeDMyXzM0X2FkZCBkc3ByMiBtc2EgbHN4LzsK
LSAgICBzcGVjaWFsaXplIHF3L3ZweF9pZGN0MzJ4MzJfMV9hZGQgZHNwcjIgbXNhIGxzeC87Cisg
ICAgc3BlY2lhbGl6ZSBxdy92cHhfaWRjdDMyeDMyXzM0X2FkZCBkc3ByMiBtc2EvOworICAgIHNw
ZWNpYWxpemUgcXcvdnB4X2lkY3QzMngzMl8xX2FkZCBkc3ByMiBtc2EvOwogICAgIHNwZWNpYWxp
emUgcXcvdnB4X2l3aHQ0eDRfMTZfYWRkIG1zYS87CiAgICAgc3BlY2lhbGl6ZSBxdy92cHhfaXdo
dDR4NF8xX2FkZCBtc2EvOwogICB9ICMgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICkBAIC03MjIs
MTggKzcwOSwxOCBAQCBpZiAodnB4X2NvbmZpZygiQ09ORklHX1ZQOV9ISUdIQklUREVQVEgiKSBl
cSAieWVzIikgewogIyBRdWFudGl6YXRpb24KICMKIGlmICh2cHhfY29uZmlnKCJDT05GSUdfVlA5
X0VOQ09ERVIiKSBlcSAieWVzIikgewotICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfcXVhbnRpemVf
Yi8sICJjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBjb25z
dCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUsIHRyYW5fbG93X3QgKnFj
b2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50
X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNj
YW5fb3JkZXIiOwotICBzcGVjaWFsaXplIHF3L3ZweF9xdWFudGl6ZV9iIG5lb24gc3NlMiBzc3Nl
MyBhdnggYXZ4MiB2c3ggbHN4LzsKKyAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3F1YW50aXplX2Iv
LCAiY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywgaW50IHNr
aXBfYmxvY2ssIGNvbnN0IGludDE2X3QgKnpiaW5fcHRyLCBjb25zdCBpbnQxNl90ICpyb3VuZF9w
dHIsIGNvbnN0IGludDE2X3QgKnF1YW50X3B0ciwgY29uc3QgaW50MTZfdCAqcXVhbnRfc2hpZnRf
cHRyLCB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgY29u
c3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLCBjb25zdCBpbnQxNl90
ICpzY2FuLCBjb25zdCBpbnQxNl90ICppc2NhbiI7CisgIHNwZWNpYWxpemUgcXcvdnB4X3F1YW50
aXplX2IgbmVvbiBzc2UyIHNzc2UzIGF2eCB2c3gvOwogCi0gIGFkZF9wcm90byBxdy92b2lkIHZw
eF9xdWFudGl6ZV9iXzMyeDMyLywgImNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgY29uc3Qg
c3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLCB0cmFuX2xvd190ICpxY29l
ZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgY29uc3QgaW50MTZfdCAqZGVxdWFudF9w
dHIsIHVpbnQxNl90ICplb2JfcHRyLCBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2Fu
X29yZGVyIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfcXVhbnRpemVfYl8zMngzMiBuZW9uIHNzc2Uz
IGF2eCBhdngyIHZzeCBsc3gvOworICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfcXVhbnRpemVfYl8z
MngzMi8sICJjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBp
bnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqemJpbl9wdHIsIGNvbnN0IGludDE2X3QgKnJv
dW5kX3B0ciwgY29uc3QgaW50MTZfdCAqcXVhbnRfcHRyLCBjb25zdCBpbnQxNl90ICpxdWFudF9z
aGlmdF9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRy
LCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGlu
dDE2X3QgKnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuIjsKKyAgc3BlY2lhbGl6ZSBxdy92cHhf
cXVhbnRpemVfYl8zMngzMiBuZW9uIHNzc2UzIGF2eCB2c3gvOwogCiAgIGlmICh2cHhfY29uZmln
KCJDT05GSUdfVlA5X0hJR0hCSVRERVBUSCIpIGVxICJ5ZXMiKSB7Ci0gICAgYWRkX3Byb3RvIHF3
L3ZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iLywgImNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0
ciwgaW50cHRyX3Qgbl9jb2VmZnMsIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25z
dCBtYl9wbGFuZSwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9w
dHIsIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwgY29uc3Qg
c3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlciI7Ci0gICAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkX3F1YW50aXplX2IgbmVvbiBzc2UyIGF2eDIvOworICAgIGFkZF9wcm90byBxdy92
b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYi8sICJjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIs
IGludHB0cl90IG5fY29lZmZzLCBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqemJpbl9w
dHIsIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50MTZfdCAqcXVhbnRfcHRyLCBj
b25zdCBpbnQxNl90ICpxdWFudF9zaGlmdF9wdHIsIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRy
YW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2
X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuIjsK
KyAgICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfcXVhbnRpemVfYiBzc2UyLzsKIAotICAgIGFk
ZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMi8sICJjb25zdCB0cmFu
X2xvd190ICpjb2VmZl9wdHIsIGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBt
Yl9wbGFuZSwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIs
IGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwgY29uc3Qgc3Ry
dWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlciI7Ci0gICAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX3F1YW50aXplX2JfMzJ4MzIgbmVvbiBzc2UyIGF2eDIvOworICAgIGFkZF9wcm90byBx
dy92b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMi8sICJjb25zdCB0cmFuX2xvd190ICpj
b2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLCBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZf
dCAqemJpbl9wdHIsIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50MTZfdCAqcXVh
bnRfcHRyLCBjb25zdCBpbnQxNl90ICpxdWFudF9zaGlmdF9wdHIsIHRyYW5fbG93X3QgKnFjb2Vm
Zl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0
ciwgdWludDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGludDE2X3Qg
KmlzY2FuIjsKKyAgICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMiBz
c2UyLzsKICAgfSAgIyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogfSAgIyBDT05GSUdfVlA5X0VO
Q09ERVIKIApAQCAtNzQyLDQwICs3MjksNDAgQEAgaWYgKHZweF9jb25maWcoIkNPTkZJR19FTkNP
REVSUyIpIGVxICJ5ZXMiKSB7CiAjIEJsb2NrIHN1YnRyYWN0aW9uCiAjCiBhZGRfcHJvdG8gcXcv
dm9pZCB2cHhfc3VidHJhY3RfYmxvY2svLCAiaW50IHJvd3MsIGludCBjb2xzLCBpbnQxNl90ICpk
aWZmX3B0ciwgcHRyZGlmZl90IGRpZmZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcHJlZF9wdHIsIHB0cmRpZmZfdCBw
cmVkX3N0cmlkZSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zdWJ0cmFjdF9ibG9jayBuZW9uIG1zYSBt
bWkgc3NlMiBhdngyIHZzeCBsc3gvOworc3BlY2lhbGl6ZSBxdy92cHhfc3VidHJhY3RfYmxvY2sg
bmVvbiBtc2EgbW1pIHNzZTIgdnN4LzsKIAogIwogIyBTaW5nbGUgYmxvY2sgU0FECiAjCiBhZGRf
cHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9zYWQ2NHg2NC8sICJjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJp
ZGUiOwotc3BlY2lhbGl6ZSBxdy92cHhfc2FkNjR4NjQgbmVvbiBuZW9uX2RvdHByb2QgYXZ4MiBt
c2Egc3NlMiB2c3ggbW1pIGxzeC87CitzcGVjaWFsaXplIHF3L3ZweF9zYWQ2NHg2NCBuZW9uIGF2
eDIgbXNhIHNzZTIgdnN4IG1taS87CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3Nh
ZDY0eDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWQ2
NHgzMiBuZW9uIG5lb25fZG90cHJvZCBhdngyIG1zYSBzc2UyIHZzeCBtbWkvOworc3BlY2lhbGl6
ZSBxdy92cHhfc2FkNjR4MzIgbmVvbiBhdngyIG1zYSBzc2UyIHZzeCBtbWkvOwogCiBhZGRfcHJv
dG8gcXcvdW5zaWduZWQgaW50IHZweF9zYWQzMng2NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUi
Owotc3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4NjQgbmVvbiBuZW9uX2RvdHByb2QgYXZ4MiBtc2Eg
c3NlMiB2c3ggbW1pLzsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDMyeDY0IG5lb24gYXZ4MiBtc2Eg
c3NlMiB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzIv
LCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLXNwZWNpYWxpemUgcXcvdnB4X3NhZDMyeDMyIG5l
b24gbmVvbl9kb3Rwcm9kIGF2eDIgbXNhIHNzZTIgdnN4IG1taSBsc3gvOworc3BlY2lhbGl6ZSBx
dy92cHhfc2FkMzJ4MzIgbmVvbiBhdngyIG1zYSBzc2UyIHZzeCBtbWkvOwogCiBhZGRfcHJvdG8g
cXcvdW5zaWduZWQgaW50IHZweF9zYWQzMngxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBp
bnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwot
c3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4MTYgbmVvbiBuZW9uX2RvdHByb2QgYXZ4MiBtc2Egc3Nl
MiB2c3ggbW1pLzsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDMyeDE2IG5lb24gYXZ4MiBtc2Egc3Nl
MiB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkMTZ4MzIvLCAi
Y29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJl
Zl9wdHIsIGludCByZWZfc3RyaWRlIjsKLXNwZWNpYWxpemUgcXcvdnB4X3NhZDE2eDMyIG5lb24g
bmVvbl9kb3Rwcm9kIG1zYSBzc2UyIHZzeCBtbWkvOworc3BlY2lhbGl6ZSBxdy92cHhfc2FkMTZ4
MzIgbmVvbiBtc2Egc3NlMiB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2
cHhfc2FkMTZ4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLXNwZWNpYWxpemUgcXcvdnB4
X3NhZDE2eDE2IG5lb24gbmVvbl9kb3Rwcm9kIG1zYSBzc2UyIHZzeCBtbWkgbHN4LzsKK3NwZWNp
YWxpemUgcXcvdnB4X3NhZDE2eDE2IG5lb24gbXNhIHNzZTIgdnN4IG1taS87CiAKIGFkZF9wcm90
byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZDE2eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwg
aW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsK
LXNwZWNpYWxpemUgcXcvdnB4X3NhZDE2eDggbmVvbiBuZW9uX2RvdHByb2QgbXNhIHNzZTIgdnN4
IG1taS87CitzcGVjaWFsaXplIHF3L3ZweF9zYWQxNng4IG5lb24gbXNhIHNzZTIgdnN4IG1taS87
CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZDh4MTYvLCAiY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCBy
ZWZfc3RyaWRlIjsKIHNwZWNpYWxpemUgcXcvdnB4X3NhZDh4MTYgbmVvbiBtc2Egc3NlMiB2c3gg
bW1pLzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkOHg4LywgImNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBp
bnQgcmVmX3N0cmlkZSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWQ4eDggbmVvbiBtc2Egc3NlMiB2
c3ggbW1pIGxzeC87CitzcGVjaWFsaXplIHF3L3ZweF9zYWQ4eDggbmVvbiBtc2Egc3NlMiB2c3gg
bW1pLzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkOHg0LywgImNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBp
bnQgcmVmX3N0cmlkZSI7CiBzcGVjaWFsaXplIHF3L3ZweF9zYWQ4eDQgbmVvbiBtc2Egc3NlMiB2
c3ggbW1pLzsKQEAgLTc4Niw0NSArNzczLDYgQEAgc3BlY2lhbGl6ZSBxdy92cHhfc2FkNHg4IG5l
b24gbXNhIHNzZTIgbW1pLzsKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZDR4NC8s
ICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAq
cmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwogc3BlY2lhbGl6ZSBxdy92cHhfc2FkNHg0IG5lb24g
bXNhIHNzZTIgbW1pLzsKIAotYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkX3NraXBf
NjR4NjQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVp
bnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLXNwZWNpYWxpemUgcXcvdnB4X3NhZF9z
a2lwXzY0eDY0IG5lb24gbmVvbl9kb3Rwcm9kIGF2eDIgc3NlMi87Ci0KLWFkZF9wcm90byBxdy91
bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzY0eDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7
Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWRfc2tpcF82NHgzMiBuZW9uIG5lb25fZG90cHJvZCBhdngy
IHNzZTIvOwotCi1hZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMng2NC8s
ICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAq
cmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotc3BlY2lhbGl6ZSBxdy92cHhfc2FkX3NraXBfMzJ4
NjQgbmVvbiBuZW9uX2RvdHByb2QgYXZ4MiBzc2UyLzsKLQotYWRkX3Byb3RvIHF3L3Vuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfMzJ4MzIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLXNwZWNp
YWxpemUgcXcvdnB4X3NhZF9za2lwXzMyeDMyIG5lb24gbmVvbl9kb3Rwcm9kIGF2eDIgc3NlMi87
Ci0KLWFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzMyeDE2LywgImNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWRfc2tpcF8zMngxNiBuZW9u
IG5lb25fZG90cHJvZCBhdngyIHNzZTIvOwotCi1hZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZw
eF9zYWRfc2tpcF8xNngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotc3BlY2lhbGl6ZSBx
dy92cHhfc2FkX3NraXBfMTZ4MzIgbmVvbiBuZW9uX2RvdHByb2Qgc3NlMi87Ci0KLWFkZF9wcm90
byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZF9za2lwXzE2eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0
cmlkZSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWRfc2tpcF8xNngxNiBuZW9uIG5lb25fZG90cHJv
ZCBzc2UyLzsKLQotYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfMTZ4OC8s
ICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAq
cmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotc3BlY2lhbGl6ZSBxdy92cHhfc2FkX3NraXBfMTZ4
OCBuZW9uIG5lb25fZG90cHJvZCBzc2UyLzsKLQotYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2
cHhfc2FkX3NraXBfOHgxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotc3BlY2lhbGl6ZSBx
dy92cHhfc2FkX3NraXBfOHgxNiBuZW9uIHNzZTIvOwotCi1hZGRfcHJvdG8gcXcvdW5zaWduZWQg
aW50IHZweF9zYWRfc2tpcF84eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLXNwZWNpYWxp
emUgcXcvdnB4X3NhZF9za2lwXzh4OCBuZW9uIHNzZTIvOwotCi1hZGRfcHJvdG8gcXcvdW5zaWdu
ZWQgaW50IHZweF9zYWRfc2tpcF84eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLXNwZWNp
YWxpemUgcXcvdnB4X3NhZF9za2lwXzh4NCBuZW9uLzsKLQotYWRkX3Byb3RvIHF3L3Vuc2lnbmVk
IGludCB2cHhfc2FkX3NraXBfNHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci1zcGVjaWFs
aXplIHF3L3ZweF9zYWRfc2tpcF80eDggbmVvbiBzc2UyLzsKLQotYWRkX3Byb3RvIHF3L3Vuc2ln
bmVkIGludCB2cHhfc2FkX3NraXBfNHg0LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci1zcGVj
aWFsaXplIHF3L3ZweF9zYWRfc2tpcF80eDQgbmVvbi87Ci0KICMKICMgQXZnCiAjCkBAIC04NDAs
NzQgKzc4OCw3NSBAQCBpZiAodnB4X2NvbmZpZygiQ09ORklHX1ZQOV9FTkNPREVSIikgZXEgInll
cyIpIHsKIAogICBpZiAodnB4X2NvbmZpZygiQ09ORklHX1ZQOV9ISUdIQklUREVQVEgiKSBlcSAi
eWVzIikgewogICAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oYWRhbWFyZF84eDgvLCAiY29uc3Qg
aW50MTZfdCAqc3JjX2RpZmYsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB0cmFuX2xvd190ICpjb2Vm
ZiI7Ci0gICAgc3BlY2lhbGl6ZSBxdy92cHhfaGFkYW1hcmRfOHg4IHNzZTIgbmVvbiB2c3ggbHN4
LywgIiRzc3NlM194ODZfNjQiOworICAgIHNwZWNpYWxpemUgcXcvdnB4X2hhZGFtYXJkXzh4OCBz
c2UyIG5lb24gdnN4LywgIiRzc3NlM194ODZfNjQiOwogCiAgICAgYWRkX3Byb3RvIHF3L3ZvaWQg
dnB4X2hhZGFtYXJkXzE2eDE2LywgImNvbnN0IGludDE2X3QgKnNyY19kaWZmLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwgdHJhbl9sb3dfdCAqY29lZmYiOwotICAgIHNwZWNpYWxpemUgcXcvdnB4X2hh
ZGFtYXJkXzE2eDE2IGF2eDIgc3NlMiBuZW9uIHZzeCBsc3gvOworICAgIHNwZWNpYWxpemUgcXcv
dnB4X2hhZGFtYXJkXzE2eDE2IGF2eDIgc3NlMiBuZW9uIHZzeC87CiAKICAgICBhZGRfcHJvdG8g
cXcvdm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzIvLCAiY29uc3QgaW50MTZfdCAqc3JjX2RpZmYsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLCB0cmFuX2xvd190ICpjb2VmZiI7Ci0gICAgc3BlY2lhbGl6ZSBx
dy92cHhfaGFkYW1hcmRfMzJ4MzIgc3NlMiBhdngyIG5lb24vOworICAgIHNwZWNpYWxpemUgcXcv
dnB4X2hhZGFtYXJkXzMyeDMyIHNzZTIgYXZ4Mi87CiAKICAgICBhZGRfcHJvdG8gcXcvdm9pZCB2
cHhfaGlnaGJkX2hhZGFtYXJkXzh4OC8sICJjb25zdCBpbnQxNl90ICpzcmNfZGlmZiwgcHRyZGlm
Zl90IHNyY19zdHJpZGUsIHRyYW5fbG93X3QgKmNvZWZmIjsKLSAgICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfaGFkYW1hcmRfOHg4IGF2eDIgbmVvbi87CisgICAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX2hhZGFtYXJkXzh4OCBhdngyLzsKIAogICAgIGFkZF9wcm90byBxdy92b2lkIHZweF9o
aWdoYmRfaGFkYW1hcmRfMTZ4MTYvLCAiY29uc3QgaW50MTZfdCAqc3JjX2RpZmYsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLCB0cmFuX2xvd190ICpjb2VmZiI7Ci0gICAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX2hhZGFtYXJkXzE2eDE2IGF2eDIgbmVvbi87CisgICAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX2hhZGFtYXJkXzE2eDE2IGF2eDIvOwogCiAgICAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4
X2hpZ2hiZF9oYWRhbWFyZF8zMngzMi8sICJjb25zdCBpbnQxNl90ICpzcmNfZGlmZiwgcHRyZGlm
Zl90IHNyY19zdHJpZGUsIHRyYW5fbG93X3QgKmNvZWZmIjsKLSAgICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfaGFkYW1hcmRfMzJ4MzIgYXZ4MiBuZW9uLzsKKyAgICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfaGFkYW1hcmRfMzJ4MzIgYXZ4Mi87CiAKICAgICBhZGRfcHJvdG8gcXcvaW50IHZw
eF9zYXRkLywgImNvbnN0IHRyYW5fbG93X3QgKmNvZWZmLCBpbnQgbGVuZ3RoIjsKICAgICBzcGVj
aWFsaXplIHF3L3ZweF9zYXRkIGF2eDIgc3NlMiBuZW9uLzsKIAogICAgIGFkZF9wcm90byBxdy9p
bnQgdnB4X2hpZ2hiZF9zYXRkLywgImNvbnN0IHRyYW5fbG93X3QgKmNvZWZmLCBpbnQgbGVuZ3Ro
IjsKLSAgICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2F0ZCBhdngyIG5lb24vOworICAgIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYXRkIGF2eDIvOwogICB9IGVsc2UgewogICAgIGFkZF9w
cm90byBxdy92b2lkIHZweF9oYWRhbWFyZF84eDgvLCAiY29uc3QgaW50MTZfdCAqc3JjX2RpZmYs
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBpbnQxNl90ICpjb2VmZiI7Ci0gICAgc3BlY2lhbGl6ZSBx
dy92cHhfaGFkYW1hcmRfOHg4IHNzZTIgbmVvbiBtc2EgdnN4IGxzeC8sICIkc3NzZTNfeDg2XzY0
IjsKKyAgICBzcGVjaWFsaXplIHF3L3ZweF9oYWRhbWFyZF84eDggc3NlMiBuZW9uIG1zYSB2c3gv
LCAiJHNzc2UzX3g4Nl82NCI7CiAKICAgICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGFkYW1hcmRf
MTZ4MTYvLCAiY29uc3QgaW50MTZfdCAqc3JjX2RpZmYsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBp
bnQxNl90ICpjb2VmZiI7Ci0gICAgc3BlY2lhbGl6ZSBxdy92cHhfaGFkYW1hcmRfMTZ4MTYgYXZ4
MiBzc2UyIG5lb24gbXNhIHZzeCBsc3gvOworICAgIHNwZWNpYWxpemUgcXcvdnB4X2hhZGFtYXJk
XzE2eDE2IGF2eDIgc3NlMiBuZW9uIG1zYSB2c3gvOwogCiAgICAgYWRkX3Byb3RvIHF3L3ZvaWQg
dnB4X2hhZGFtYXJkXzMyeDMyLywgImNvbnN0IGludDE2X3QgKnNyY19kaWZmLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwgaW50MTZfdCAqY29lZmYiOwotICAgIHNwZWNpYWxpemUgcXcvdnB4X2hhZGFt
YXJkXzMyeDMyIHNzZTIgYXZ4MiBuZW9uLzsKKyAgICBzcGVjaWFsaXplIHF3L3ZweF9oYWRhbWFy
ZF8zMngzMiBzc2UyIGF2eDIvOwogCiAgICAgYWRkX3Byb3RvIHF3L2ludCB2cHhfc2F0ZC8sICJj
b25zdCBpbnQxNl90ICpjb2VmZiwgaW50IGxlbmd0aCI7CiAgICAgc3BlY2lhbGl6ZSBxdy92cHhf
c2F0ZCBhdngyIHNzZTIgbmVvbiBtc2EvOwogICB9CiAKLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4
X2ludF9wcm9fcm93LywgImludDE2X3QgaGJ1ZlsxNl0sIGNvbnN0IHVpbnQ4X3QgKnJlZiwgY29u
c3QgaW50IHJlZl9zdHJpZGUsIGNvbnN0IGludCBoZWlnaHQiOwotICBzcGVjaWFsaXplIHF3L3Zw
eF9pbnRfcHJvX3JvdyBuZW9uIHNzZTIgbXNhLzsKKyAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2lu
dF9wcm9fcm93LywgImludDE2X3QgKmhidWYsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgY29uc3QgaW50
IHJlZl9zdHJpZGUsIGNvbnN0IGludCBoZWlnaHQiOworICBzcGVjaWFsaXplIHF3L3ZweF9pbnRf
cHJvX3JvdyBzc2UyIG5lb24gbXNhLzsKKwogICBhZGRfcHJvdG8gcXcvaW50MTZfdCB2cHhfaW50
X3Byb19jb2wvLCAiY29uc3QgdWludDhfdCAqcmVmLCBjb25zdCBpbnQgd2lkdGgiOwotICBzcGVj
aWFsaXplIHF3L3ZweF9pbnRfcHJvX2NvbCBuZW9uIHNzZTIgbXNhLzsKKyAgc3BlY2lhbGl6ZSBx
dy92cHhfaW50X3Byb19jb2wgc3NlMiBuZW9uIG1zYS87CiAKICAgYWRkX3Byb3RvIHF3L2ludCB2
cHhfdmVjdG9yX3Zhci8sICJjb25zdCBpbnQxNl90ICpyZWYsIGNvbnN0IGludDE2X3QgKnNyYywg
Y29uc3QgaW50IGJ3bCI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X3ZlY3Rvcl92YXIgbmVvbiBzc2Uy
IG1zYS87CiB9ICAjIENPTkZJR19WUDlfRU5DT0RFUgogCiBhZGRfcHJvdG8gcXcvdW5zaWduZWQg
aW50IHZweF9zYWQ2NHg2NF9hdmcvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCBjb25zdCB1aW50
OF90ICpzZWNvbmRfcHJlZCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWQ2NHg2NF9hdmcgbmVvbiBu
ZW9uX2RvdHByb2QgYXZ4MiBtc2Egc3NlMiB2c3ggbW1pIGxzeC87CitzcGVjaWFsaXplIHF3L3Zw
eF9zYWQ2NHg2NF9hdmcgbmVvbiBhdngyIG1zYSBzc2UyIHZzeCBtbWkvOwogCiBhZGRfcHJvdG8g
cXcvdW5zaWduZWQgaW50IHZweF9zYWQ2NHgzMl9hdmcvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWQ2NHgz
Ml9hdmcgbmVvbiBuZW9uX2RvdHByb2QgYXZ4MiBtc2Egc3NlMiB2c3ggbW1pLzsKK3NwZWNpYWxp
emUgcXcvdnB4X3NhZDY0eDMyX2F2ZyBuZW9uIGF2eDIgbXNhIHNzZTIgdnN4IG1taS87CiAKIGFk
ZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZDMyeDY0X2F2Zy8sICJjb25zdCB1aW50OF90
ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJl
Zl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLXNwZWNpYWxpemUgcXcvdnB4
X3NhZDMyeDY0X2F2ZyBuZW9uIG5lb25fZG90cHJvZCBhdngyIG1zYSBzc2UyIHZzeCBtbWkvOwor
c3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4NjRfYXZnIG5lb24gYXZ4MiBtc2Egc3NlMiB2c3ggbW1p
LzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkMzJ4MzJfYXZnLywgImNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotc3BlY2lhbGl6
ZSBxdy92cHhfc2FkMzJ4MzJfYXZnIG5lb24gbmVvbl9kb3Rwcm9kIGF2eDIgbXNhIHNzZTIgdnN4
IG1taSBsc3gvOworc3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4MzJfYXZnIG5lb24gYXZ4MiBtc2Eg
c3NlMiB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2FkMzJ4MTZf
YXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50
OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQi
Owotc3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4MTZfYXZnIG5lb24gbmVvbl9kb3Rwcm9kIGF2eDIg
bXNhIHNzZTIgdnN4IG1taS87CitzcGVjaWFsaXplIHF3L3ZweF9zYWQzMngxNl9hdmcgbmVvbiBh
dngyIG1zYSBzc2UyIHZzeCBtbWkvOwogCiBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9z
YWQxNngzMl9hdmcvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzZWNv
bmRfcHJlZCI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWQxNngzMl9hdmcgbmVvbiBuZW9uX2RvdHBy
b2QgbXNhIHNzZTIgdnN4IG1taS87CitzcGVjaWFsaXplIHF3L3ZweF9zYWQxNngzMl9hdmcgbmVv
biBtc2Egc3NlMiB2c3ggbW1pLzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfc2Fk
MTZ4MTZfYXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25z
dCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25k
X3ByZWQiOwotc3BlY2lhbGl6ZSBxdy92cHhfc2FkMTZ4MTZfYXZnIG5lb24gbmVvbl9kb3Rwcm9k
IG1zYSBzc2UyIHZzeCBtbWkvOworc3BlY2lhbGl6ZSBxdy92cHhfc2FkMTZ4MTZfYXZnIG5lb24g
bXNhIHNzZTIgdnN4IG1taS87CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZDE2
eDhfYXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3By
ZWQiOwotc3BlY2lhbGl6ZSBxdy92cHhfc2FkMTZ4OF9hdmcgbmVvbiBuZW9uX2RvdHByb2QgbXNh
IHNzZTIgdnN4IG1taS87CitzcGVjaWFsaXplIHF3L3ZweF9zYWQxNng4X2F2ZyBuZW9uIG1zYSBz
c2UyIHZzeCBtbWkvOwogCiBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9zYWQ4eDE2X2F2
Zy8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsK
IHNwZWNpYWxpemUgcXcvdnB4X3NhZDh4MTZfYXZnIG5lb24gbXNhIHNzZTIgbW1pLzsKQEAgLTky
NSw4NSArODc0LDg0IEBAIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3NhZDR4NF9hdmcv
LCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpCiBzcGVjaWFsaXplIHF3L3Zw
eF9zYWQ0eDRfYXZnIG5lb24gbXNhIHNzZTIgbW1pLzsKIAogIwotIyBNdWx0aS1ibG9jayBTQUQs
IGNvbXBhcmluZyBhIHJlZmVyZW5jZSB0byBOIGluZGVwZW5kZW50IGJsb2NrcworIyBNdWx0aS1i
bG9jayBTQUQsIGNvbXBhcmluZyBhIHJlZmVyZW5jZSB0byBOIGJsb2NrcyAxIHBpeGVsIGFwYXJ0
IGhvcml6b250YWxseQogIwotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZDY0eDY0eDRkLywgImNv
bnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25z
dCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0iOwot
c3BlY2lhbGl6ZSBxdy92cHhfc2FkNjR4NjR4NGQgYXZ4NTEyIGF2eDIgbmVvbiBuZW9uX2RvdHBy
b2QgbXNhIHNzZTIgdnN4IG1taSBsc3gvOwotCi1hZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkNjR4
MzJ4NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVp
bnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9h
cnJheVs0XSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWQ2NHgzMng0ZCBuZW9uIG5lb25fZG90cHJv
ZCBtc2Egc3NlMiB2c3ggbW1pIGxzeC87CisjIEJsb2NrcyBvZiAzCithZGRfcHJvdG8gcXcvdm9p
ZCB2cHhfc2FkMTZ4MTZ4My8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzYWRf
YXJyYXkiOworc3BlY2lhbGl6ZSBxdy92cHhfc2FkMTZ4MTZ4MyBzc2UzIHNzc2UzIG1zYSBtbWkv
OwogCi1hZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkMzJ4NjR4NGQvLCAiY29uc3QgdWludDhfdCAq
c3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0
XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci1zcGVjaWFsaXplIHF3
L3ZweF9zYWQzMng2NHg0ZCBuZW9uIG5lb25fZG90cHJvZCBtc2Egc3NlMiB2c3ggbW1pIGxzeC87
CithZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkMTZ4OHgzLywgImNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlk
ZSwgdWludDMyX3QgKnNhZF9hcnJheSI7CitzcGVjaWFsaXplIHF3L3ZweF9zYWQxNng4eDMgc3Nl
MyBzc3NlMyBtc2EgbW1pLzsKIAotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZDMyeDMyeDRkLywg
ImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpj
b25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0i
Owotc3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4MzJ4NGQgYXZ4MiBuZW9uIG5lb25fZG90cHJvZCBt
c2Egc3NlMiB2c3ggbW1pIGxzeC87CithZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkOHgxNngzLywg
ImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpy
ZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJheSI7CitzcGVjaWFsaXpl
IHF3L3ZweF9zYWQ4eDE2eDMgc3NlMyBtc2EgbW1pLzsKIAotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4
X3NhZDMyeDE2eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJf
dCBzYWRfYXJyYXlbNF0iOwotc3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4MTZ4NGQgbmVvbiBuZW9u
X2RvdHByb2QgbXNhIHNzZTIgdnN4IG1taS87CithZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkOHg4
eDMvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4
X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkX2FycmF5IjsKK3NwZWNp
YWxpemUgcXcvdnB4X3NhZDh4OHgzIHNzZTMgbXNhIG1taS87CiAKLWFkZF9wcm90byBxdy92b2lk
IHZweF9zYWQxNngzMng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdIjsKLXNwZWNpYWxpemUgcXcvdnB4X3NhZDE2eDMyeDRkIG5lb24g
bmVvbl9kb3Rwcm9kIG1zYSBzc2UyIHZzeCBtbWkvOworYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3Nh
ZDR4NHgzLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJheSI7Citz
cGVjaWFsaXplIHF3L3ZweF9zYWQ0eDR4MyBzc2UzIG1zYSBtbWkvOwogCi1hZGRfcHJvdG8gcXcv
dm9pZCB2cHhfc2FkMTZ4MTZ4NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUs
IHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWQxNngxNng0ZCBu
ZW9uIG5lb25fZG90cHJvZCBtc2Egc3NlMiB2c3ggbW1pIGxzeC87CisjIEJsb2NrcyBvZiA4Cith
ZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkMzJ4MzJ4OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUs
IHVpbnQzMl90ICpzYWRfYXJyYXkiOworc3BlY2lhbGl6ZSBxdy92cHhfc2FkMzJ4MzJ4OCBhdngy
LzsKIAotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZDE2eDh4NGQvLCAiY29uc3QgdWludDhfdCAq
c3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0
XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci1zcGVjaWFsaXplIHF3
L3ZweF9zYWQxNng4eDRkIG5lb24gbmVvbl9kb3Rwcm9kIG1zYSBzc2UyIHZzeCBtbWkvOworYWRk
X3Byb3RvIHF3L3ZvaWQgdnB4X3NhZDE2eDE2eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwg
aW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1
aW50MzJfdCAqc2FkX2FycmF5IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDE2eDE2eDggc3NlNF8x
IG1zYSBtbWkvOwogCi1hZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkOHgxNng0ZC8sICJjb25zdCB1
aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVm
X2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLXNwZWNp
YWxpemUgcXcvdnB4X3NhZDh4MTZ4NGQgbmVvbiBtc2Egc3NlMiBtbWkvOworYWRkX3Byb3RvIHF3
L3ZvaWQgdnB4X3NhZDE2eDh4OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpz
YWRfYXJyYXkiOworc3BlY2lhbGl6ZSBxdy92cHhfc2FkMTZ4OHg4IHNzZTRfMSBtc2EgbW1pLzsK
IAotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZDh4OHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBp
bnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLXNwZWNpYWxpemUgcXcvdnB4
X3NhZDh4OHg0ZCBuZW9uIG1zYSBzc2UyIG1taSBsc3gvOworYWRkX3Byb3RvIHF3L3ZvaWQgdnB4
X3NhZDh4MTZ4OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzYWRfYXJyYXki
Oworc3BlY2lhbGl6ZSBxdy92cHhfc2FkOHgxNng4IHNzZTRfMSBtc2EgbW1pLzsKIAotYWRkX3By
b3RvIHF3L3ZvaWQgdnB4X3NhZDh4NHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQg
c3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0
cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLXNwZWNpYWxpemUgcXcvdnB4X3NhZDh4NHg0
ZCBuZW9uIG1zYSBzc2UyIG1taS87CithZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkOHg4eDgvLCAi
Y29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJl
Zl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkX2FycmF5IjsKK3NwZWNpYWxpemUg
cXcvdnB4X3NhZDh4OHg4IHNzZTRfMSBtc2EgbW1pLzsKIAotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4
X3NhZDR4OHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qg
c2FkX2FycmF5WzRdIjsKLXNwZWNpYWxpemUgcXcvdnB4X3NhZDR4OHg0ZCBuZW9uIG1zYSBzc2Uy
IG1taS87Ci0KLWFkZF9wcm90byBxdy92b2lkIHZweF9zYWQ0eDR4NGQvLCAiY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJh
eVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci1zcGVjaWFsaXpl
IHF3L3ZweF9zYWQ0eDR4NGQgbmVvbiBtc2Egc3NlMiBtbWkvOworYWRkX3Byb3RvIHF3L3ZvaWQg
dnB4X3NhZDR4NHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJh
eSI7CitzcGVjaWFsaXplIHF3L3ZweF9zYWQ0eDR4OCBzc2U0XzEgbXNhIG1taS87CiAKLWFkZF9w
cm90byBxdy92b2lkIHZweF9zYWRfc2tpcF82NHg2NHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBp
bnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLXNwZWNpYWxpemUgcXcvdnB4
X3NhZF9za2lwXzY0eDY0eDRkIG5lb24gbmVvbl9kb3Rwcm9kIGF2eDIgc3NlMi87CisjCisjIE11
bHRpLWJsb2NrIFNBRCwgY29tcGFyaW5nIGEgcmVmZXJlbmNlIHRvIE4gaW5kZXBlbmRlbnQgYmxv
Y2tzCisjCithZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkNjR4NjR4NGQvLCAiY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKiBjb25zdCByZWZfYXJy
YXlbXSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzYWRfYXJyYXkiOworc3BlY2lhbGl6ZSBx
dy92cHhfc2FkNjR4NjR4NGQgYXZ4NTEyIGF2eDIgbmVvbiBtc2Egc3NlMiB2c3ggbW1pLzsKIAot
YWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZF9za2lwXzY0eDMyeDRkLywgImNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlb
NF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0iOwotc3BlY2lhbGl6ZSBx
dy92cHhfc2FkX3NraXBfNjR4MzJ4NGQgbmVvbiBuZW9uX2RvdHByb2QgYXZ4MiBzc2UyLzsKK2Fk
ZF9wcm90byBxdy92b2lkIHZweF9zYWQ2NHgzMng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqIGNvbnN0IHJlZl9hcnJheVtdLCBpbnQg
cmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJheSI7CitzcGVjaWFsaXplIHF3L3ZweF9zYWQ2
NHgzMng0ZCBuZW9uIG1zYSBzc2UyIHZzeCBtbWkvOwogCi1hZGRfcHJvdG8gcXcvdm9pZCB2cHhf
c2FkX3NraXBfMzJ4NjR4NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJp
ZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVp
bnQzMl90IHNhZF9hcnJheVs0XSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWRfc2tpcF8zMng2NHg0
ZCBuZW9uIG5lb25fZG90cHJvZCBhdngyIHNzZTIvOworYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3Nh
ZDMyeDY0eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25z
dCB1aW50OF90ICogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAq
c2FkX2FycmF5IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDMyeDY0eDRkIG5lb24gbXNhIHNzZTIg
dnN4IG1taS87CiAKLWFkZF9wcm90byBxdy92b2lkIHZweF9zYWRfc2tpcF8zMngzMng0ZC8sICJj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29u
c3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsK
LXNwZWNpYWxpemUgcXcvdnB4X3NhZF9za2lwXzMyeDMyeDRkIG5lb24gbmVvbl9kb3Rwcm9kIGF2
eDIgc3NlMi87CithZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkMzJ4MzJ4NGQvLCAiY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKiBjb25zdCByZWZf
YXJyYXlbXSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzYWRfYXJyYXkiOworc3BlY2lhbGl6
ZSBxdy92cHhfc2FkMzJ4MzJ4NGQgYXZ4MiBuZW9uIG1zYSBzc2UyIHZzeCBtbWkvOwogCi1hZGRf
cHJvdG8gcXcvdm9pZCB2cHhfc2FkX3NraXBfMzJ4MTZ4NGQvLCAiY29uc3QgdWludDhfdCAqc3Jj
X3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwg
aW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci1zcGVjaWFsaXplIHF3L3Zw
eF9zYWRfc2tpcF8zMngxNng0ZCBuZW9uIG5lb25fZG90cHJvZCBhdngyIHNzZTIvOworYWRkX3By
b3RvIHF3L3ZvaWQgdnB4X3NhZDMyeDE2eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZf
c3RyaWRlLCB1aW50MzJfdCAqc2FkX2FycmF5IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDMyeDE2
eDRkIG5lb24gbXNhIHNzZTIgdnN4IG1taS87CiAKLWFkZF9wcm90byBxdy92b2lkIHZweF9zYWRf
c2tpcF8xNngzMng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMy
X3Qgc2FkX2FycmF5WzRdIjsKLXNwZWNpYWxpemUgcXcvdnB4X3NhZF9za2lwXzE2eDMyeDRkIG5l
b24gbmVvbl9kb3Rwcm9kIHNzZTIvOworYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZDE2eDMyeDRk
LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90
ICogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkX2FycmF5
IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDE2eDMyeDRkIG5lb24gbXNhIHNzZTIgdnN4IG1taS87
CiAKLWFkZF9wcm90byBxdy92b2lkIHZweF9zYWRfc2tpcF8xNngxNng0ZC8sICJjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2Fy
cmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLXNwZWNpYWxp
emUgcXcvdnB4X3NhZF9za2lwXzE2eDE2eDRkIG5lb24gbmVvbl9kb3Rwcm9kIHNzZTIvOworYWRk
X3Byb3RvIHF3L3ZvaWQgdnB4X3NhZDE2eDE2eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICogY29uc3QgcmVmX2FycmF5W10sIGludCBy
ZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkX2FycmF5IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDE2
eDE2eDRkIG5lb24gbXNhIHNzZTIgdnN4IG1taS87CiAKLWFkZF9wcm90byBxdy92b2lkIHZweF9z
YWRfc2tpcF8xNng4eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50
MzJfdCBzYWRfYXJyYXlbNF0iOwotc3BlY2lhbGl6ZSBxdy92cHhfc2FkX3NraXBfMTZ4OHg0ZCBu
ZW9uIG5lb25fZG90cHJvZCBzc2UyLzsKK2FkZF9wcm90byBxdy92b2lkIHZweF9zYWQxNng4eDRk
LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90
ICogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkX2FycmF5
IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDE2eDh4NGQgbmVvbiBtc2Egc3NlMiB2c3ggbW1pLzsK
IAotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZF9za2lwXzh4MTZ4NGQvLCAiY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJh
eVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci1zcGVjaWFsaXpl
IHF3L3ZweF9zYWRfc2tpcF84eDE2eDRkIG5lb24gc3NlMi87CithZGRfcHJvdG8gcXcvdm9pZCB2
cHhfc2FkOHgxNng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqIGNvbnN0IHJlZl9hcnJheVtdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMy
X3QgKnNhZF9hcnJheSI7CitzcGVjaWFsaXplIHF3L3ZweF9zYWQ4eDE2eDRkIG5lb24gbXNhIHNz
ZTIgbW1pLzsKIAotYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X3NhZF9za2lwXzh4OHg0ZC8sICJjb25z
dCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3Qg
cmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLXNw
ZWNpYWxpemUgcXcvdnB4X3NhZF9za2lwXzh4OHg0ZCBuZW9uIHNzZTIvOworYWRkX3Byb3RvIHF3
L3ZvaWQgdnB4X3NhZDh4OHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqIGNvbnN0IHJlZl9hcnJheVtdLCBpbnQgcmVmX3N0cmlkZSwg
dWludDMyX3QgKnNhZF9hcnJheSI7CitzcGVjaWFsaXplIHF3L3ZweF9zYWQ4eDh4NGQgbmVvbiBt
c2Egc3NlMiBtbWkvOwogCi1hZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkX3NraXBfOHg0eDRkLywg
ImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpj
b25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0i
Owotc3BlY2lhbGl6ZSBxdy92cHhfc2FkX3NraXBfOHg0eDRkIG5lb24vOworYWRkX3Byb3RvIHF3
L3ZvaWQgdnB4X3NhZDh4NHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqIGNvbnN0IHJlZl9hcnJheVtdLCBpbnQgcmVmX3N0cmlkZSwg
dWludDMyX3QgKnNhZF9hcnJheSI7CitzcGVjaWFsaXplIHF3L3ZweF9zYWQ4eDR4NGQgbmVvbiBt
c2Egc3NlMiBtbWkvOwogCi1hZGRfcHJvdG8gcXcvdm9pZCB2cHhfc2FkX3NraXBfNHg4eDRkLywg
ImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpj
b25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0i
Owotc3BlY2lhbGl6ZSBxdy92cHhfc2FkX3NraXBfNHg4eDRkIG5lb24gc3NlMi87CithZGRfcHJv
dG8gcXcvdm9pZCB2cHhfc2FkNHg4eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3Ry
aWRlLCB1aW50MzJfdCAqc2FkX2FycmF5IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDR4OHg0ZCBu
ZW9uIG1zYSBzc2UyIG1taS87CiAKLWFkZF9wcm90byBxdy92b2lkIHZweF9zYWRfc2tpcF80eDR4
NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4
X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSI7Ci1zcGVjaWFsaXplIHF3L3ZweF9zYWRfc2tpcF80eDR4NGQgbmVvbi87CithZGRfcHJv
dG8gcXcvdm9pZCB2cHhfc2FkNHg0eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3Ry
aWRlLCB1aW50MzJfdCAqc2FkX2FycmF5IjsKK3NwZWNpYWxpemUgcXcvdnB4X3NhZDR4NHg0ZCBu
ZW9uIG1zYSBzc2UyIG1taS87CiAKIGFkZF9wcm90byBxdy91aW50NjRfdCB2cHhfc3VtX3NxdWFy
ZXNfMmRfaTE2LywgImNvbnN0IGludDE2X3QgKnNyYywgaW50IHN0cmlkZSwgaW50IHNpemUiOwog
c3BlY2lhbGl6ZSBxdy92cHhfc3VtX3NxdWFyZXNfMmRfaTE2IG5lb24gc3NlMiBtc2EvOwpAQCAt
MTAyNCwyMjAgKzk3MiwxMzYgQEAgaWYgKHZweF9jb25maWcoIkNPTkZJR19WUDlfSElHSEJJVERF
UFRIIikgZXEgInllcyIpIHsKICAgIyBCbG9jayBzdWJ0cmFjdGlvbgogICAjCiAgIGFkZF9wcm90
byBxdy92b2lkIHZweF9oaWdoYmRfc3VidHJhY3RfYmxvY2svLCAiaW50IHJvd3MsIGludCBjb2xz
LCBpbnQxNl90ICpkaWZmX3B0ciwgcHRyZGlmZl90IGRpZmZfc3RyaWRlLCBjb25zdCB1aW50OF90
ICpzcmM4X3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnByZWQ4X3B0
ciwgcHRyZGlmZl90IHByZWRfc3RyaWRlLCBpbnQgYmQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfc3VidHJhY3RfYmxvY2sgbmVvbiBhdngyLzsKIAogICAjCiAgICMgU2luZ2xlIGJsb2Nr
IFNBRAogICAjCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQ2NHg2
NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRf
c2FkNjR4NjQgc3NlMiBuZW9uIGF2eDIvOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2Fk
NjR4NjQgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZDY0eDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF9zYWQ2NHgzMiBzc2UyIG5lb24gYXZ4Mi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hi
ZF9zYWQ2NHgzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkMzJ4NjQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLSAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkX3NhZDMyeDY0IHNzZTIgbmVvbiBhdngyLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX3NhZDMyeDY0IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4
X2hpZ2hiZF9zYWQzMngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXpl
IHF3L3ZweF9oaWdoYmRfc2FkMzJ4MzIgc3NlMiBuZW9uIGF2eDIvOworICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfc2FkMzJ4MzIgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDMyeDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci0gIHNwZWNp
YWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQzMngxNiBzc2UyIG5lb24gYXZ4Mi87CisgIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF9zYWQzMngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50
IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLSAg
c3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDE2eDMyIHNzZTIgbmVvbiBhdngyLzsKKyAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDE2eDMyIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQxNngxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUi
OwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMTZ4MTYgc3NlMiBuZW9uIGF2eDIvOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMTZ4MTYgc3NlMi87CiAKICAgYWRkX3Byb3Rv
IHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDgvLCAiY29uc3QgdWludDhfdCAqc3Jj
X3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3Ry
aWRlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDE2eDggc3NlMiBuZW9uIGF2eDIv
OworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMTZ4OCBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNi8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9z
dHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkOHgxNiBzc2UyIG5lb24vOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkOHgxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8g
cXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlk
ZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ4eDggc3NlMiBuZW9uLzsKKyAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDh4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHg0LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci0g
IHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ4eDQgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6
ZSBxdy92cHhfaGlnaGJkX3NhZDh4NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkNHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci0gIHNwZWNp
YWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ0eDggbmVvbi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDR4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQg
c3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkNHg0IG5lb24vOwotCi0gIGFkZF9wcm90byBxdy91
bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHg2NC8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9z
dHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkX3NraXBfNjR4NjQgbmVvbiBz
c2UyIGF2eDIvOwotCi0gIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF82NHgzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfc2FkX3NraXBfNjR4MzIgbmVvbiBzc2UyIGF2eDIvOwotCi0gIGFkZF9wcm90byBx
dy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMng2NC8sICJjb25zdCB1aW50OF90
ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJl
Zl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkX3NraXBfMzJ4NjQgbmVv
biBzc2UyIGF2eDIvOwotCi0gIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF8zMngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MzIgbmVvbiBzc2UyIGF2eDIvOwotCi0gIGFkZF9wcm90
byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNi8sICJjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50
IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTYg
bmVvbiBzc2UyIGF2eDIvOwotCi0gIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXpl
IHF3L3ZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzIgbmVvbiBzc2UyIGF2eDIvOwotCi0gIGFkZF9w
cm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNngxNi8sICJjb25zdCB1
aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkX3NraXBfMTZ4
MTYgbmVvbiBzc2UyIGF2eDIvOwotCi0gIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF9zYWRfc2tpcF8xNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci0gIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF9zYWRfc2tpcF8xNng4IG5lb24gc3NlMiBhdngyLzsKLQotICBhZGRf
cHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNi8sICJjb25zdCB1
aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkX3NraXBfOHgx
NiBuZW9uIHNzZTIvOwotCi0gIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWRfc2tpcF84eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlIjsKLSAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkX3NhZF9za2lwXzh4OCBuZW9uIHNzZTIvOwotCi0gIGFkZF9wcm90byBxdy91bnNp
Z25lZCBpbnQgdnB4X2hpZ2hiZF9zYWRfc2tpcF84eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZF9za2lwXzh4NCBuZW9uLzsKLQotICBh
ZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfNHg4LywgImNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWRfc2tpcF80
eDggbmVvbi87Ci0KLSAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzR4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3Qg
dWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUiOwotICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfc2FkX3NraXBfNHg0IG5lb24vOwogCiAgICMKICAgIyBBdmcKICAgIwogICBhZGRfcHJv
dG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfYXZnXzh4OC8sICJjb25zdCB1aW50OF90ICpz
OCwgaW50IHAiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfYXZnXzh4OCBzc2UyIG5lb24v
OworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfYXZnXzh4OCBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfYXZnXzR4NC8sICJjb25zdCB1aW50OF90ICpz
OCwgaW50IHAiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfYXZnXzR4NCBzc2UyIG5lb24v
OworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfYXZnXzR4NCBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdm9pZCB2cHhfaGlnaGJkX21pbm1heF84eDgvLCAiY29uc3QgdWludDhfdCAqczgsIGlu
dCBwLCBjb25zdCB1aW50OF90ICpkOCwgaW50IGRwLCBpbnQgKm1pbiwgaW50ICptYXgiOwotICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfbWlubWF4Xzh4OCBuZW9uLzsKIAogICBhZGRfcHJvdG8g
cXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNjR4NjRfYXZnLywgImNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVm
X3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfc2FkNjR4NjRfYXZnIHNzZTIgbmVvbiBhdngyLzsKKyAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkX3NhZDY0eDY0X2F2ZyBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfc2FkNjR4MzJfYXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2Fk
NjR4MzJfYXZnIHNzZTIgbmVvbiBhdngyLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3Nh
ZDY0eDMyX2F2ZyBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfc2FkMzJ4NjRfYXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAq
c2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMzJ4NjRfYXZnIHNz
ZTIgbmVvbiBhdngyLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDMyeDY0X2F2ZyBz
c2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MzJf
YXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50
OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQi
OwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMzJ4MzJfYXZnIHNzZTIgbmVvbiBhdngy
LzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDMyeDMyX2F2ZyBzc2UyLzsKIAogICBh
ZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnLywgImNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfc2FkMzJ4MTZfYXZnIHNzZTIgbmVvbiBhdngyLzsKKyAgc3BlY2lh
bGl6ZSBxdy92cHhfaGlnaGJkX3NhZDMyeDE2X2F2ZyBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcv
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MzJfYXZnLywgImNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfc2FkMTZ4MzJfYXZnIHNzZTIgbmVvbiBhdngyLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX3NhZDE2eDMyX2F2ZyBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29uc3Qg
dWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMTZ4
MTZfYXZnIHNzZTIgbmVvbiBhdngyLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDE2
eDE2X2F2ZyBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
c2FkMTZ4OF9hdmcvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzZWNv
bmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQxNng4X2F2ZyBzc2UyIG5l
b24gYXZ4Mi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQxNng4X2F2ZyBzc2UyLzsK
IAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkOHgxNl9hdmcvLCAi
Y29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJl
Zl9wdHIsIGludCByZWZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ4eDE2X2F2ZyBzc2UyIG5lb24vOworICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfc2FkOHgxNl9hdmcgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDh4OF9hdmcvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hi
ZF9zYWQ4eDhfYXZnIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ4
eDhfYXZnIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9z
YWQ4eDRfYXZnLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25z
dCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25k
X3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkOHg0X2F2ZyBzc2UyIG5lb24v
OworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkOHg0X2F2ZyBzc2UyLzsKIAogICBhZGRf
cHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkNHg4X2F2Zy8sICJjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50
IHJlZl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkX3NhZDR4OF9hdmcgbmVvbi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVk
IGludCB2cHhfaGlnaGJkX3NhZDR4NF9hdmcvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50
IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCBjb25z
dCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ0
eDRfYXZnIG5lb24vOwogCiAgICMKICAgIyBNdWx0aS1ibG9jayBTQUQsIGNvbXBhcmluZyBhIHJl
ZmVyZW5jZSB0byBOIGluZGVwZW5kZW50IGJsb2NrcwogICAjCi0gIGFkZF9wcm90byBxdy92b2lk
IHZweF9oaWdoYmRfc2FkNjR4NjR4NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJp
ZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9z
YWQ2NHg2NHg0ZCBzc2UyIG5lb24gYXZ4Mi87Ci0KLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hp
Z2hiZF9zYWQ2NHgzMng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDY0eDMy
eDRkIHNzZTIgbmVvbiBhdngyLzsKLQotICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX3Nh
ZDMyeDY0eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25z
dCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBz
YWRfYXJyYXlbNF0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMzJ4NjR4NGQgc3Nl
MiBuZW9uIGF2eDIvOwotCi0gIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2FkMzJ4MzJ4
NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4
X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQzMngzMng0ZCBzc2UyIG5lb24g
YXZ4Mi87Ci0KLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWQzMngxNng0ZC8sICJj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29u
c3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsK
LSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDMyeDE2eDRkIHNzZTIgbmVvbiBhdngyLzsK
LQotICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkLywgImNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25zdCByZWZf
YXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0iOwotICBzcGVj
aWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkMTZ4MzJ4NGQgc3NlMiBuZW9uIGF2eDIvOwotCi0gIGFk
ZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2FkMTZ4MTZ4NGQvLCAiY29uc3QgdWludDhfdCAq
c3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0
XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci0gIHNwZWNpYWxpemUg
cXcvdnB4X2hpZ2hiZF9zYWQxNngxNng0ZCBzc2UyIG5lb24gYXZ4Mi87Ci0KLSAgYWRkX3Byb3Rv
IHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWQxNng4eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCBy
ZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfc2FkMTZ4OHg0ZCBzc2UyIG5lb24gYXZ4Mi87Ci0KLSAgYWRkX3Byb3RvIHF3L3ZvaWQg
dnB4X2hpZ2hiZF9zYWQ4eDE2eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRl
LCB1aW50MzJfdCBzYWRfYXJyYXlbNF0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2Fk
OHgxNng0ZCBzc2UyIG5lb24vOwotCi0gIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2Fk
OHg4eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRf
YXJyYXlbNF0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkOHg4eDRkIHNzZTIgbmVv
bi87Ci0KLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDR4NGQvLCAiY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJl
Zl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci0gIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ4eDR4NGQgc3NlMiBuZW9uLzsKLQotICBhZGRfcHJv
dG8gcXcvdm9pZCB2cHhfaGlnaGJkX3NhZDR4OHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQg
cmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkX3NhZDR4OHg0ZCBzc2UyIG5lb24vOwotCi0gIGFkZF9wcm90byBxdy92b2lkIHZweF9o
aWdoYmRfc2FkNHg0eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCByZWZfc3RyaWRlLCB1aW50
MzJfdCBzYWRfYXJyYXlbNF0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkNHg0eDRk
IHNzZTIgbmVvbi87Ci0KLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF82
NHg2NHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3Qg
dWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2Fk
X2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZF9za2lwXzY0eDY0eDRk
IG5lb24gc3NlMiBhdngyLzsKKyAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHg2
NHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWlu
dDhfdCogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkX2Fy
cmF5IjsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDY0eDY0eDRkIHNzZTIvOwogCi0g
IGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfNjR4MzJ4NGQvLCAiY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJl
Zl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci0gIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWRfc2tpcF82NHgzMng0ZCBuZW9uIHNzZTIgYXZ4Mi87
CisgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2FkNjR4MzJ4NGQvLCAiY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9h
cnJheVtdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJheSI7CisgIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF9zYWQ2NHgzMng0ZCBzc2UyLzsKIAotICBhZGRfcHJvdG8gcXcvdm9p
ZCB2cHhfaGlnaGJkX3NhZF9za2lwXzMyeDY0eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sIGludCBy
ZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfc2FkX3NraXBfMzJ4NjR4NGQgbmVvbiBzc2UyIGF2eDIvOworICBhZGRfcHJvdG8gcXcv
dm9pZCB2cHhfaGlnaGJkX3NhZDMyeDY0eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwgaW50IHJlZl9z
dHJpZGUsIHVpbnQzMl90ICpzYWRfYXJyYXkiOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRf
c2FkMzJ4NjR4NGQgc3NlMi87CiAKLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWRf
c2tpcF8zMngzMng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMy
X3Qgc2FkX2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZF9za2lwXzMy
eDMyeDRkIG5lb24gc3NlMiBhdngyLzsKKyAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9z
YWQzMngzMng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29u
c3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAq
c2FkX2FycmF5IjsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDMyeDMyeDRkIHNzZTIv
OwogCi0gIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4MTZ4NGQvLCAi
Y29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNv
bnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7
Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngxNng0ZCBuZW9uIHNzZTIg
YXZ4Mi87CisgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2FkMzJ4MTZ4NGQvLCAiY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QqIGNvbnN0
IHJlZl9hcnJheVtdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJheSI7CisgIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQzMngxNng0ZCBzc2UyLzsKIAotICBhZGRfcHJvdG8g
cXcvdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzE2eDMyeDRkLywgImNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0s
IGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0iOwotICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfc2FkX3NraXBfMTZ4MzJ4NGQgbmVvbiBzc2UyIGF2eDIvOworICBhZGRfcHJv
dG8gcXcvdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDMyeDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwgaW50
IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzYWRfYXJyYXkiOworICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfc2FkMTZ4MzJ4NGQgc3NlMi87CiAKLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hi
ZF9zYWRfc2tpcF8xNngxNng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwg
dWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZF9z
a2lwXzE2eDE2eDRkIG5lb24gc3NlMiBhdngyLzsKKyAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hp
Z2hiZF9zYWQxNngxNng0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCogY29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3RyaWRlLCB1aW50
MzJfdCAqc2FkX2FycmF5IjsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDE2eDE2eDRk
IHNzZTIvOwogCi0gIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfMTZ4OHg0
ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5
WzRdIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZF9za2lwXzE2eDh4NGQgbmVvbiBz
c2UyIGF2eDIvOworICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX3NhZDE2eDh4NGQvLCAi
Y29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QqIGNv
bnN0IHJlZl9hcnJheVtdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJheSI7Cisg
IHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQxNng4eDRkIHNzZTIvOwogCi0gIGFkZF9wcm90
byBxdy92b2lkIHZweF9oaWdoYmRfc2FkX3NraXBfOHgxNng0ZC8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRd
LCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkX3NhZF9za2lwXzh4MTZ4NGQgbmVvbiBzc2UyLzsKKyAgYWRkX3Byb3RvIHF3
L3ZvaWQgdnB4X2hpZ2hiZF9zYWQ4eDE2eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwgaW50IHJlZl9z
dHJpZGUsIHVpbnQzMl90ICpzYWRfYXJyYXkiOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRf
c2FkOHgxNng0ZCBzc2UyLzsKIAotICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX3NhZF9z
a2lwXzh4OHg0ZC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qg
c2FkX2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZF9za2lwXzh4OHg0
ZCBuZW9uIHNzZTIvOworICBhZGRfcHJvdG8gcXcvdm9pZCB2cHhfaGlnaGJkX3NhZDh4OHg0ZC8s
ICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCog
Y29uc3QgcmVmX2FycmF5W10sIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc2FkX2FycmF5IjsK
KyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX3NhZDh4OHg0ZCBzc2UyLzsKIAotICBhZGRfcHJv
dG8gcXcvdm9pZCB2cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZC8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRd
LCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkX3NhZF9za2lwXzh4NHg0ZCBuZW9uLzsKKyAgYWRkX3Byb3RvIHF3L3ZvaWQg
dnB4X2hpZ2hiZF9zYWQ4eDR4NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJlZl9hcnJheVtdLCBpbnQgcmVmX3N0cmlkZSwg
dWludDMyX3QgKnNhZF9hcnJheSI7CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ4eDR4
NGQgc3NlMi87CiAKLSAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4
NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4
X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJh
eVs0XSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDh4NGQgbmVvbiBz
c2UyLzsKKyAgYWRkX3Byb3RvIHF3L3ZvaWQgdnB4X2hpZ2hiZF9zYWQ0eDh4NGQvLCAiY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QqIGNvbnN0IHJl
Zl9hcnJheVtdLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNhZF9hcnJheSI7CisgIHNwZWNp
YWxpemUgcXcvdnB4X2hpZ2hiZF9zYWQ0eDh4NGQgc3NlMi87CiAKLSAgYWRkX3Byb3RvIHF3L3Zv
aWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF80eDR4NGQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwg
aW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgaW50IHJl
Zl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF9zYWRfc2tpcF80eDR4NGQgbmVvbi87CisgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdo
YmRfc2FkNHg0eDRkLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90KiBjb25zdCByZWZfYXJyYXlbXSwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90
ICpzYWRfYXJyYXkiOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfc2FkNHg0eDRkIHNzZTIv
OwogCiAgICMKICAgIyBTdHJ1Y3R1cmVkIFNpbWlsYXJpdHkgKFNTSU0pCkBAIC0xMjU0LDczICsx
MTE4LDczIEBAIGlmICh2cHhfY29uZmlnKCJDT05GSUdfRU5DT0RFUlMiKSBlcSAieWVzIiB8fCB2
cHhfY29uZmlnKCJDT05GSUdfUE9TVFBST0MiKSBlcSAiCiAjIFZhcmlhbmNlCiAjCiBhZGRfcHJv
dG8gcXcvdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTY0eDY0LywgImNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0
cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF92YXJpYW5jZTY0
eDY0IHNzZTIgYXZ4MiBuZW9uIG5lb25fZG90cHJvZCBtc2EgbW1pIHZzeCBsc3gvOworICBzcGVj
aWFsaXplIHF3L3ZweF92YXJpYW5jZTY0eDY0IHNzZTIgYXZ4MiBuZW9uIG1zYSBtbWkgdnN4LzsK
IAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHgzMi8sICJjb25zdCB1
aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
dmFyaWFuY2U2NHgzMiBzc2UyIGF2eDIgbmVvbiBuZW9uX2RvdHByb2QgbXNhIG1taSB2c3gvOwor
ICBzcGVjaWFsaXplIHF3L3ZweF92YXJpYW5jZTY0eDMyIHNzZTIgYXZ4MiBuZW9uIG1zYSBtbWkg
dnN4LzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMng2NC8sICJj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVm
X3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfdmFyaWFuY2UzMng2NCBzc2UyIGF2eDIgbmVvbiBuZW9uX2RvdHByb2QgbXNhIG1taSB2
c3gvOworICBzcGVjaWFsaXplIHF3L3ZweF92YXJpYW5jZTMyeDY0IHNzZTIgYXZ4MiBuZW9uIG1z
YSBtbWkgdnN4LzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UzMngz
Mi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lh
bGl6ZSBxdy92cHhfdmFyaWFuY2UzMngzMiBzc2UyIGF2eDIgbmVvbiBuZW9uX2RvdHByb2QgbXNh
IG1taSB2c3ggbHN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfdmFyaWFuY2UzMngzMiBzc2UyIGF2
eDIgbmVvbiBtc2EgbW1pIHZzeC87CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X3Zh
cmlhbmNlMzJ4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNv
bnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7
Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlMzJ4MTYgc3NlMiBhdngyIG5lb24gbmVvbl9k
b3Rwcm9kIG1zYSBtbWkgdnN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfdmFyaWFuY2UzMngxNiBz
c2UyIGF2eDIgbmVvbiBtc2EgbW1pIHZzeC87CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQg
dnB4X3ZhcmlhbmNlMTZ4MzIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJp
ZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQg
KnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlMTZ4MzIgc3NlMiBhdngyIG5lb24g
bmVvbl9kb3Rwcm9kIG1zYSBtbWkgdnN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfdmFyaWFuY2Ux
NngzMiBzc2UyIGF2eDIgbmVvbiBtc2EgbW1pIHZzeC87CiAKIGFkZF9wcm90byBxdy91bnNpZ25l
ZCBpbnQgdnB4X3ZhcmlhbmNlMTZ4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25l
ZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlMTZ4MTYgc3NlMiBhdngy
IG5lb24gbmVvbl9kb3Rwcm9kIG1zYSBtbWkgdnN4IGxzeC87CisgIHNwZWNpYWxpemUgcXcvdnB4
X3ZhcmlhbmNlMTZ4MTYgc3NlMiBhdngyIG5lb24gbXNhIG1taSB2c3gvOwogCiBhZGRfcHJvdG8g
cXcvdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTE2eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlMTZ4OCBz
c2UyIGF2eDIgbmVvbiBuZW9uX2RvdHByb2QgbXNhIG1taSB2c3gvOworICBzcGVjaWFsaXplIHF3
L3ZweF92YXJpYW5jZTE2eDggc3NlMiBhdngyIG5lb24gbXNhIG1taSB2c3gvOwogCiBhZGRfcHJv
dG8gcXcvdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4MTYvLCAiY29uc3QgdWludDhfdCAqc3Jj
X3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3Ry
aWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlOHgx
NiBzc2UyIGF2eDIgbmVvbiBuZW9uX2RvdHByb2QgbXNhIG1taSB2c3gvOworICBzcGVjaWFsaXpl
IHF3L3ZweF92YXJpYW5jZTh4MTYgc3NlMiBuZW9uIG1zYSBtbWkgdnN4LzsKIAogYWRkX3Byb3Rv
IHF3L3Vuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U4eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlOHg4IHNz
ZTIgYXZ4MiBuZW9uIG5lb25fZG90cHJvZCBtc2EgbW1pIHZzeCBsc3gvOworICBzcGVjaWFsaXpl
IHF3L3ZweF92YXJpYW5jZTh4OCBzc2UyIG5lb24gbXNhIG1taSB2c3gvOwogCiBhZGRfcHJvdG8g
cXcvdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUs
IHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfdmFyaWFuY2U4eDQgc3Nl
MiBhdngyIG5lb24gbmVvbl9kb3Rwcm9kIG1zYSBtbWkgdnN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92
cHhfdmFyaWFuY2U4eDQgc3NlMiBuZW9uIG1zYSBtbWkgdnN4LzsKIAogYWRkX3Byb3RvIHF3L3Vu
c2lnbmVkIGludCB2cHhfdmFyaWFuY2U0eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50
IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNp
Z25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlNHg4IHNzZTIgbmVv
biBuZW9uX2RvdHByb2QgbXNhIG1taSB2c3gvOworICBzcGVjaWFsaXplIHF3L3ZweF92YXJpYW5j
ZTR4OCBzc2UyIG5lb24gbXNhIG1taSB2c3gvOwogCiBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50
IHZweF92YXJpYW5jZTR4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAq
c3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfdmFyaWFuY2U0eDQgc3NlMiBuZW9uIG5lb25fZG90
cHJvZCBtc2EgbW1pIHZzeC87CisgIHNwZWNpYWxpemUgcXcvdnB4X3ZhcmlhbmNlNHg0IHNzZTIg
bmVvbiBtc2EgbW1pIHZzeC87CiAKICMKICMgU3BlY2lhbHR5IFZhcmlhbmNlCiAjCiBhZGRfcHJv
dG8gcXcvdm9pZCB2cHhfZ2V0MTZ4MTZ2YXIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50
IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNp
Z25lZCBpbnQgKnNzZSwgaW50ICpzdW0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9nZXQxNngxNnZh
ciBzc2UyIGF2eDIgbmVvbiBuZW9uX2RvdHByb2QgbXNhIHZzeCBsc3gvOworICBzcGVjaWFsaXpl
IHF3L3ZweF9nZXQxNngxNnZhciBzc2UyIGF2eDIgbmVvbiBtc2EgdnN4LzsKIAogYWRkX3Byb3Rv
IHF3L3ZvaWQgdnB4X2dldDh4OHZhci8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3Jj
X3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVk
IGludCAqc3NlLCBpbnQgKnN1bSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2dldDh4OHZhciBzc2Uy
IG5lb24gbmVvbl9kb3Rwcm9kIG1zYSB2c3gvOworICBzcGVjaWFsaXplIHF3L3ZweF9nZXQ4eDh2
YXIgc3NlMiBuZW9uIG1zYSB2c3gvOwogCiBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9t
c2UxNngxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3Qg
dWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAg
c3BlY2lhbGl6ZSBxdy92cHhfbXNlMTZ4MTYgc3NlMiBhdngyIG5lb24gbmVvbl9kb3Rwcm9kIG1z
YSBtbWkgdnN4IGxzeC87CisgIHNwZWNpYWxpemUgcXcvdnB4X21zZTE2eDE2IHNzZTIgYXZ4MiBu
ZW9uIG1zYSBtbWkgdnN4LzsKIAogYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfbXNlMTZ4
OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lh
bGl6ZSBxdy92cHhfbXNlMTZ4OCBzc2UyIGF2eDIgbmVvbiBuZW9uX2RvdHByb2QgbXNhIG1taSB2
c3gvOworICBzcGVjaWFsaXplIHF3L3ZweF9tc2UxNng4IHNzZTIgYXZ4MiBtc2EgbW1pIHZzeC87
CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X21zZTh4MTYvLCAiY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCBy
ZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X21zZTh4
MTYgc3NlMiBuZW9uIG5lb25fZG90cHJvZCBtc2EgbW1pIHZzeC87CisgIHNwZWNpYWxpemUgcXcv
dnB4X21zZTh4MTYgc3NlMiBtc2EgbW1pIHZzeC87CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBp
bnQgdnB4X21zZTh4OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3Nl
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfbXNlOHg4IHNzZTIgbmVvbiBuZW9uX2RvdHByb2QgbXNh
IG1taSB2c3gvOworICBzcGVjaWFsaXplIHF3L3ZweF9tc2U4eDggc3NlMiBtc2EgbW1pIHZzeC87
CiAKIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2dldF9tYl9zcy8sICJjb25zdCBpbnQx
Nl90ICoiOwogICBzcGVjaWFsaXplIHF3L3ZweF9nZXRfbWJfc3Mgc3NlMiBtc2EgdnN4LzsKIAog
YWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfZ2V0NHg0c3NlX2NzLywgImNvbnN0IHVuc2ln
bmVkIGNoYXIgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpy
ZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2dldDR4NHNzZV9j
cyBuZW9uIG5lb25fZG90cHJvZCBtc2EgdnN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfZ2V0NHg0
c3NlX2NzIG5lb24gbXNhIHZzeC87CiAKIGFkZF9wcm90byBxdy92b2lkIHZweF9jb21wX2F2Z19w
cmVkLywgInVpbnQ4X3QgKmNvbXBfcHJlZCwgY29uc3QgdWludDhfdCAqcHJlZCwgaW50IHdpZHRo
LCBpbnQgaGVpZ2h0LCBjb25zdCB1aW50OF90ICpyZWYsIGludCByZWZfc3RyaWRlIjsKLSAgc3Bl
Y2lhbGl6ZSBxdy92cHhfY29tcF9hdmdfcHJlZCBuZW9uIHNzZTIgYXZ4MiB2c3ggbHN4LzsKKyAg
c3BlY2lhbGl6ZSBxdy92cHhfY29tcF9hdmdfcHJlZCBuZW9uIHNzZTIgdnN4LzsKIAogIwogIyBT
dWJwaXhlbCBWYXJpYW5jZQpAQCAtMTMzNSw3ICsxMTk5LDcgQEAgYWRkX3Byb3RvIHF3L3VpbnQz
Ml90IHZweF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQKICAgc3BlY2lhbGl6ZSBxdy92cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMzJ4NjQgbmVvbiBt
c2EgbW1pIHNzZTIgc3NzZTMvOwogCiBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X3N1Yl9waXhl
bF92YXJpYW5jZTMyeDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50
IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9zdWJfcGl4
ZWxfdmFyaWFuY2UzMngzMiBhdngyIG5lb24gbXNhIG1taSBzc2UyIHNzc2UzIGxzeC87CisgIHNw
ZWNpYWxpemUgcXcvdnB4X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIGF2eDIgbmVvbiBtc2EgbW1p
IHNzZTIgc3NzZTMvOwogCiBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJp
YW5jZTMyeDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQg
eF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9z
dHJpZGUsIHVpbnQzMl90ICpzc2UiOwogICBzcGVjaWFsaXplIHF3L3ZweF9zdWJfcGl4ZWxfdmFy
aWFuY2UzMngxNiBuZW9uIG1zYSBtbWkgc3NlMiBzc3NlMy87CkBAIC0xMzQ0LDcgKzEyMDgsNyBA
QCBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyLywgImNv
bnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludAogICBzcGVjaWFsaXplIHF3L3ZweF9zdWJfcGl4ZWxf
dmFyaWFuY2UxNngzMiBuZW9uIG1zYSBtbWkgc3NlMiBzc3NlMy87CiAKIGFkZF9wcm90byBxdy91
aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4MTYvLCAiY29uc3QgdWludDhfdCAqc3Jj
X3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSI7Ci0gIHNwZWNp
YWxpemUgcXcvdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2IG5lb24gbXNhIG1taSBzc2UyIHNz
c2UzIGxzeC87CisgIHNwZWNpYWxpemUgcXcvdnB4X3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2IG5l
b24gbXNhIG1taSBzc2UyIHNzc2UzLzsKIAogYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9zdWJf
cGl4ZWxfdmFyaWFuY2UxNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwogICBzcGVjaWFsaXplIHF3L3ZweF9zdWJf
cGl4ZWxfdmFyaWFuY2UxNng4IG5lb24gbXNhIG1taSBzc2UyIHNzc2UzLzsKQEAgLTEzNTMsNyAr
MTIxNyw3IEBAIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgx
Ni8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQKICAgc3BlY2lhbGl6ZSBxdy92cHhfc3Vi
X3BpeGVsX3ZhcmlhbmNlOHgxNiBuZW9uIG1zYSBtbWkgc3NlMiBzc3NlMy87CiAKIGFkZF9wcm90
byBxdy91aW50MzJfdCB2cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4LywgImNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29u
c3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBz
cGVjaWFsaXplIHF3L3ZweF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDggbmVvbiBtc2EgbW1pIHNzZTIg
c3NzZTMgbHN4LzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg4IG5l
b24gbXNhIG1taSBzc2UyIHNzc2UzLzsKIAogYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9zdWJf
cGl4ZWxfdmFyaWFuY2U4eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJp
ZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBp
bnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSI7CiAgIHNwZWNpYWxpemUgcXcvdnB4X3N1Yl9w
aXhlbF92YXJpYW5jZTh4NCBuZW9uIG1zYSBtbWkgc3NlMiBzc3NlMy87CkBAIC0xMzY1LDcgKzEy
MjksNyBAQCBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X3N1Yl9waXhlbF92YXJpYW5jZTR4NC8s
ICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgcwogICBzcGVjaWFsaXplIHF3L3ZweF9zdWJf
cGl4ZWxfdmFyaWFuY2U0eDQgbmVvbiBtc2EgbW1pIHNzZTIgc3NzZTMvOwogCiBhZGRfcHJvdG8g
cXcvdWludDMyX3QgdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NC8sICJjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQs
IGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBj
b25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHg2NCBuZW9uIGF2eDIgbXNhIG1taSBzc2UyIHNzc2UzIGxzeC87Cisg
IHNwZWNpYWxpemUgcXcvdnB4X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCBuZW9uIGF2eDIg
bXNhIG1taSBzc2UyIHNzc2UzLzsKIAogYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlNjR4MzIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19z
dHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3By
ZWQiOwogICBzcGVjaWFsaXplIHF3L3ZweF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIgbmVv
biBtc2EgbW1pIHNzZTIgc3NzZTMvOwpAQCAtMTQwNSwzOTcgKzEyNjksMzY5IEBAIGFkZF9wcm90
byBxdy91aW50MzJfdCB2cHhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4NC8sICJjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpCiAKIGlmICh2cHhfY29uZmlnKCJDT05GSUdfVlA5X0hJR0hCSVRERVBU
SCIpIGVxICJ5ZXMiKSB7CiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8x
Ml92YXJpYW5jZTY0eDY0LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpz
c2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NCBzc2UyIG5l
b24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHg2NCBzc2UyLzsK
IAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U2NHgz
Mi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lh
bGl6ZSBxdy92cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzIgc3NlMiBuZW9uLzsKKyAgc3BlY2lh
bGl6ZSBxdy92cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNjR4MzIgc3NlMi87CiAKICAgYWRkX3Byb3Rv
IHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4NjQvLCAiY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF8xMl92YXJpYW5jZTMyeDY0IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF8xMl92YXJpYW5jZTMyeDY0IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBp
bnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTMyeDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwg
dW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfdmFyaWFu
Y2UzMngzMiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfdmFyaWFu
Y2UzMngzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRf
MTJfdmFyaWFuY2UzMngxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAq
c3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTYgc3NlMiBu
ZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMzJ4MTYgc3NlMi87
CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX3ZhcmlhbmNlMTZ4
MzIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4
X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNp
YWxpemUgcXcvdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDMyIHNzZTIgbmVvbi87CisgIHNwZWNp
YWxpemUgcXcvdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDMyIHNzZTIvOwogCiAgIGFkZF9wcm90
byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTE2eDE2LywgImNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBp
bnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfMTJfdmFyaWFuY2UxNngxNiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfMTJfdmFyaWFuY2UxNngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQg
aW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2UxNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwg
dW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfdmFyaWFu
Y2UxNng4IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl92YXJpYW5j
ZTE2eDggc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEy
X3ZhcmlhbmNlOHgxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3Nl
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHgxNiBzc2UyIG5lb24v
OworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDE2IHNzZTIvOwogCiAg
IGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4OC8sICJj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVm
X3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkXzEyX3ZhcmlhbmNlOHg4IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF8xMl92YXJpYW5jZTh4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfMTJfdmFyaWFuY2U4eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl92YXJp
YW5jZTh4NCBuZW9uLzsKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEy
X3ZhcmlhbmNlNHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2Ui
OwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfdmFyaWFuY2U0eDggbmVvbi87CiAgIGFk
ZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMl92YXJpYW5jZTR4NC8sICJjb25z
dCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0
ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkXzEyX3ZhcmlhbmNlNHg0IG5lb24vOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25l
ZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTY0eDY0LywgImNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlk
ZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfdmFy
aWFuY2U2NHg2NCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfdmFy
aWFuY2U2NHg2NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdo
YmRfMTBfdmFyaWFuY2U2NHgzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGlu
dCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4MzIgc3Nl
MiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNjR4MzIgc3Nl
Mi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNl
MzJ4NjQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVp
bnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDY0IHNzZTIgbmVvbi87CisgIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDY0IHNzZTIvOwogCiAgIGFkZF9w
cm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTMyeDMyLywgImNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfMTBfdmFyaWFuY2UzMngzMiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfMTBfdmFyaWFuY2UzMngzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UzMngxNi8sICJjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJp
ZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlMzJ4MTYgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3Zh
cmlhbmNlMzJ4MTYgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGln
aGJkXzEwX3ZhcmlhbmNlMTZ4MzIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19z
dHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBp
bnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDMyIHNz
ZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDMyIHNz
ZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92YXJpYW5j
ZTE2eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngxNiBzc2UyIG5lb24vOworICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNngxNiBzc2UyLzsKIAogICBhZGRf
cHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4LywgImNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRy
LCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfMTBfdmFyaWFuY2UxNng4IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4
X2hpZ2hiZF8xMF92YXJpYW5jZTE2eDggc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVk
IGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHgxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUs
IHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3Zhcmlh
bmNlOHgxNiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfdmFyaWFu
Y2U4eDE2IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8x
MF92YXJpYW5jZTh4OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3Nl
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3ZhcmlhbmNlOHg4IHNzZTIgbmVvbi87
CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4OCBzc2UyLzsKIAogICBh
ZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfMTBfdmFyaWFuY2U4eDQvLCAiY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9w
dHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF8xMF92YXJpYW5jZTh4NCBuZW9uLzsKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVk
IGludCB2cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwg
dW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfdmFyaWFu
Y2U0eDggbmVvbi87CiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF8xMF92
YXJpYW5jZTR4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29u
c3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsK
LSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3ZhcmlhbmNlNHg0IG5lb24vOwogCiAgIGFk
ZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjQvLCAiY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9w
dHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF84X3ZhcmlhbmNlNjR4NjQgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkXzhfdmFyaWFuY2U2NHg2NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdW5zaWdu
ZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTY0eDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlk
ZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF92YXJp
YW5jZTY0eDMyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3Zhcmlh
bmNlNjR4MzIgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJk
XzhfdmFyaWFuY2UzMng2NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVkIGludCAq
c3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfdmFyaWFuY2UzMng2NCBzc2UyIG5l
b24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF92YXJpYW5jZTMyeDY0IHNzZTIvOwog
CiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MzIv
LCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMzJ4MzIgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6
ZSBxdy92cHhfaGlnaGJkXzhfdmFyaWFuY2UzMngzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcv
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTMyeDE2LywgImNvbnN0IHVpbnQ4X3Qg
KnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVm
X3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRf
OF92YXJpYW5jZTMyeDE2IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84
X3ZhcmlhbmNlMzJ4MTYgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhf
aGlnaGJkXzhfdmFyaWFuY2UxNngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3Jj
X3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVk
IGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngzMiBz
c2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDMyIHNz
ZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNl
MTZ4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVp
bnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3ZhcmlhbmNlMTZ4MTYgc3NlMiBuZW9uLzsKKyAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfdmFyaWFuY2UxNngxNiBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTE2eDgvLCAiY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF84X3ZhcmlhbmNlMTZ4OCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfOF92YXJpYW5jZTE2eDggc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2
cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWdu
ZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF92YXJpYW5jZTh4MTYg
c3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfdmFyaWFuY2U4eDE2IHNz
ZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84X3ZhcmlhbmNl
OHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50
OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVj
aWFsaXplIHF3L3ZweF9oaWdoYmRfOF92YXJpYW5jZTh4OCBzc2UyIG5lb24vOworICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfOF92YXJpYW5jZTh4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcv
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF92YXJpYW5jZTh4NC8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9z
dHJpZGUsIHVuc2lnbmVkIGludCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhf
dmFyaWFuY2U4eDQgbmVvbi87CiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hi
ZF84X3ZhcmlhbmNlNHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpz
c2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF92YXJpYW5jZTR4OCBuZW9uLzsKICAg
YWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzhfdmFyaWFuY2U0eDQvLCAiY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9w
dHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF84X3ZhcmlhbmNlNHg0IG5lb24vOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZw
eF9oaWdoYmRfOF9nZXQxNngxNnZhci8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3Jj
X3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVuc2lnbmVk
IGludCAqc3NlLCBpbnQgKnN1bSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X2dldDE2
eDE2dmFyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X2dldDE2eDE2
dmFyIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfOF9nZXQ4eDh2YXIv
LCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSwgaW50ICpzdW0iOwot
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9nZXQ4eDh2YXIgc3NlMiBuZW9uLzsKKyAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfZ2V0OHg4dmFyIHNzZTIvOwogCiAgIGFkZF9wcm90byBx
dy92b2lkIHZweF9oaWdoYmRfMTBfZ2V0MTZ4MTZ2YXIvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCB1bnNpZ25lZCBpbnQgKnNzZSwgaW50ICpzdW0iOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfMTBfZ2V0MTZ4MTZ2YXIgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJk
XzEwX2dldDE2eDE2dmFyIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRf
MTBfZ2V0OHg4dmFyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBj
b25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2Us
IGludCAqc3VtIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX2dldDh4OHZhciBzc2Uy
IG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfZ2V0OHg4dmFyIHNzZTIvOwog
CiAgIGFkZF9wcm90byBxdy92b2lkIHZweF9oaWdoYmRfMTJfZ2V0MTZ4MTZ2YXIvLCAiY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIs
IGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSwgaW50ICpzdW0iOwotICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfMTJfZ2V0MTZ4MTZ2YXIgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6
ZSBxdy92cHhfaGlnaGJkXzEyX2dldDE2eDE2dmFyIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy92
b2lkIHZweF9oaWdoYmRfMTJfZ2V0OHg4dmFyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5z
aWduZWQgaW50ICpzc2UsIGludCAqc3VtIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEy
X2dldDh4OHZhciBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfZ2V0
OHg4dmFyIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF84
X21zZTE2eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25z
dCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwot
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9tc2UxNngxNiBzc2UyIG5lb24vOworICBzcGVj
aWFsaXplIHF3L3ZweF9oaWdoYmRfOF9tc2UxNngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcv
dW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF9tc2UxNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlk
ZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9tc2Ux
Nng4IG5lb24vOwogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9oaWdoYmRfOF9tc2U4
eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50
OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVj
aWFsaXplIHF3L3ZweF9oaWdoYmRfOF9tc2U4eDE2IG5lb24vOwogICBhZGRfcHJvdG8gcXcvdW5z
aWduZWQgaW50IHZweF9oaWdoYmRfOF9tc2U4eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwg
aW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1
bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X21zZTh4OCBz
c2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9tc2U4eDggc3NlMi87CiAK
ICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTE2eDE2LywgImNv
bnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZf
cHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfMTBfbXNlMTZ4MTYgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzEwX21zZTE2eDE2IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQg
dnB4X2hpZ2hiZF8xMF9tc2UxNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQg
aW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfbXNlMTZ4OCBuZW9uLzsK
ICAgYWRkX3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEwX21zZTh4MTYvLCAiY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9w
dHIsIGludCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF8xMF9tc2U4eDE2IG5lb24vOwogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50
IHZweF9oaWdoYmRfMTBfbXNlOHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQg
aW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfbXNlOHg4IHNzZTIgbmVv
bi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9tc2U4eDggc3NlMi87CiAKICAgYWRk
X3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX21zZTE2eDE2LywgImNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBp
bnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9o
aWdoYmRfMTJfbXNlMTZ4MTYgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJk
XzEyX21zZTE2eDE2IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91bnNpZ25lZCBpbnQgdnB4X2hp
Z2hiZF8xMl9tc2UxNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpz
c2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfbXNlMTZ4OCBuZW9uLzsKICAgYWRk
X3Byb3RvIHF3L3Vuc2lnbmVkIGludCB2cHhfaGlnaGJkXzEyX21zZTh4MTYvLCAiY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dCByZWZfc3RyaWRlLCB1bnNpZ25lZCBpbnQgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF8xMl9tc2U4eDE2IG5lb24vOwogICBhZGRfcHJvdG8gcXcvdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfMTJfbXNlOHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRl
LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdW5zaWduZWQgaW50ICpz
c2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfbXNlOHg4IHNzZTIgbmVvbi87Cisg
IHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9tc2U4eDggc3NlMi87CiAKICAgYWRkX3Byb3Rv
IHF3L3ZvaWQgdnB4X2hpZ2hiZF9jb21wX2F2Z19wcmVkLywgInVpbnQxNl90ICpjb21wX3ByZWQs
IGNvbnN0IHVpbnQxNl90ICpwcmVkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNvbnN0IHVpbnQx
Nl90ICpyZWYsIGludCByZWZfc3RyaWRlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkX2Nv
bXBfYXZnX3ByZWQgbmVvbiBzc2UyLzsKIAogICAjCiAgICMgU3VicGl4ZWwgVmFyaWFuY2UKICAg
IwogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFu
Y2U2NHg2NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhf
b2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3Ry
aWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9w
aXhlbF92YXJpYW5jZTY0eDY0IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hi
ZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMi8sICJjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQs
IGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsK
LSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyIHNz
ZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFu
Y2U2NHgzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2UzMng2NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3Jj
X3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9w
dHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IHNzZTIgbmVvbi87CisgIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NCBzc2UyLzsKIAogICBh
ZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngz
Mi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0
LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1
aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92
YXJpYW5jZTMyeDMyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2UzMngzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNi8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTMyeDE2IHNzZTIgbmVv
bi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UzMngx
NiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfdmFyaWFuY2UxNngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMiBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNi8sICJj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQg
eV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJf
dCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTE2eDE2IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4
ZWxfdmFyaWFuY2UxNngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hp
Z2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhf
dCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXpl
IHF3L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCBzc2UyIG5lb24vOworICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX3ZhcmlhbmNlMTZ4OCBzc2UyLzsK
IAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFu
Y2U4eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9v
ZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJp
ZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfc3ViX3Bp
eGVsX3ZhcmlhbmNlOHgxNiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRf
MTJfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMy
X3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDgvLCAiY29uc3QgdWludDhfdCAq
c3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25z
dCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSI7Ci0gIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U4eDggc3NlMiBuZW9u
LzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4OCBz
c2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGlu
dCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVm
X3N0cmlkZSwgdWludDMyX3QgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9z
dWJfcGl4ZWxfdmFyaWFuY2U4eDQgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGln
aGJkXzEyX3N1Yl9waXhlbF92YXJpYW5jZTh4NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDgvLCAiY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBj
b25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSI7Ci0g
IHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfdmFyaWFuY2U0eDggbmVvbi87
CiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF92YXJpYW5j
ZTR4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zm
c2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhl
bF92YXJpYW5jZTR4NCBuZW9uLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hi
ZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBp
bnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0IHNzZTIgbmVvbi87CisgIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2NCBzc2UyLzsK
IAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFu
Y2U2NHgzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhf
b2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3Ry
aWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9w
aXhlbF92YXJpYW5jZTY0eDMyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hi
ZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWlu
dDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMng2NC8sICJjb25zdCB1aW50
OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQs
IGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsK
LSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0IHNz
ZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFu
Y2UzMng2NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfdmFyaWFuY2UzMngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3Jj
X3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9w
dHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiBzc2UyLzsKIAogICBh
ZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngx
Ni8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0
LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1
aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92
YXJpYW5jZTMyeDE2IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9z
dWJfcGl4ZWxfdmFyaWFuY2UzMngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3Qg
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMi8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3Bl
Y2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyIHNzZTIgbmVv
bi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngz
MiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfdmFyaWFuY2UxNngxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTE2eDE2IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNiBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2UxNng4LywgImNv
bnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5
X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90
ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNl
MTZ4OCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVs
X3ZhcmlhbmNlMTZ4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hi
ZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGlu
dCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAq
cmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBzc2UyIG5lb24vOworICBzcGVj
aWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBzc2UyLzsKIAog
ICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4
eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNl
dCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwg
dWludDMyX3QgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
dmFyaWFuY2U4eDggc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1
Yl9waXhlbF92YXJpYW5jZTh4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50
OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSI7Ci0gIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFuY2U4eDQgc3NlMiBuZW9uLzsKKyAg
c3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTh4NCBzc2UyLzsK
IAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfdmFyaWFu
Y2U0eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29m
ZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlk
ZSwgdWludDMyX3QgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfdmFyaWFuY2U0eDggbmVvbi87CiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJk
XzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQg
c3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJl
Zl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF92YXJpYW5jZTR4NCBuZW9uLzsKIAogICBhZGRfcHJvdG8g
cXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTY0eDY0LywgImNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29m
ZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpz
c2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHg2
NCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFy
aWFuY2U2NHg2NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTY0eDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBz
cmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVm
X3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3Zw
eF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMiBzc2UyIG5lb24vOworICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2U2NHgzMiBzc2UyLzsKIAogICBh
ZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDY0
LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQs
IGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVp
bnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFy
aWFuY2UzMng2NCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfdmFyaWFuY2UzMng2NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTMyeDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWlu
dDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiBzc2UyIG5lb24vOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngzMiBzc2Uy
LzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJp
YW5jZTMyeDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQg
eF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9z
dHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJf
cGl4ZWxfdmFyaWFuY2UzMngxNiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UzMngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWlu
dDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDMyLywgImNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwot
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngzMiBzc2Uy
IG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2Ux
NngzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9w
aXhlbF92YXJpYW5jZTE2eDE2LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfdmFyaWFuY2UxNngxNiBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2eDgvLCAiY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlf
b2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qg
KnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTE2
eDggc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3Zh
cmlhbmNlMTZ4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTh4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZf
cHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4MTYgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6
ZSBxdy92cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHgxNiBzc2UyLzsKIAogICBhZGRf
cHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4OC8sICJj
b25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQg
eV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJf
dCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNl
OHg4IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92
YXJpYW5jZTh4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84
X3N1Yl9waXhlbF92YXJpYW5jZTh4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3Jj
X3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9w
dHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlOHg0IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUg
cXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTh4NCBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92YXJpYW5jZTR4OC8sICJjb25z
dCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9v
ZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAq
c3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfc3ViX3BpeGVsX3ZhcmlhbmNlNHg4
IG5lb24vOwogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF92
YXJpYW5jZTR4NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50
IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZf
c3RyaWRlLCB1aW50MzJfdCAqc3NlIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX3ZhcmlhbmNlNHg0IG5lb24vOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NC8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1
aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlNjR4NjQgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIv
LCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwg
aW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWlu
dDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyIHNzZTIgbmVvbi87Cisg
IHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIg
c3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTMyeDY0LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVk
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Uz
Mng2NCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTMyeDY0IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMi8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1
aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MzIgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMiBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYv
LCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwg
aW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWlu
dDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3
L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2IHNzZTIgbmVvbi87Cisg
IHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYg
c3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTE2eDMyLywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVk
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Ux
NngzMiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVs
X2F2Z192YXJpYW5jZTE2eDMyIHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNi8sICJjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1
aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMl9zdWJf
cGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTYgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNiBzc2UyLzsKIAogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OC8s
ICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBp
bnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50
MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4OCBzc2UyIG5lb24vOworICBz
cGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDggc3Nl
Mi87CiAKICAgYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTh4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUs
IGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQg
cmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwot
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTYg
c3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2U4eDE2IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJk
XzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDgvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwg
aW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90
ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAq
c2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2
Z192YXJpYW5jZTh4OCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTJf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMy
X3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0LywgImNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UsIGNv
bnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEy
X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDQgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDQgc3NlMi87CiAKICAgYWRkX3By
b3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfMTJfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4OC8s
ICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBp
bnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50
MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg4IG5lb24vOwogICBhZGRfcHJv
dG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMl9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNHg0Lywg
ImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGlu
dCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQz
Ml90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBxdy92
cHhfaGlnaGJkXzEyX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDQgbmVvbi87CiAKICAgYWRkX3By
b3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0
LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQs
IGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVp
bnQzMl90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2NHg2NCBzc2UyIG5lb24vOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDY0
IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHgzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIs
IGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJl
ZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
NjR4MzIgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHgzMiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjQvLCAiY29uc3QgdWludDhfdCAq
c3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25z
dCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3Qg
dWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4NjQgc3NlMi87CiAKICAgYWRkX3By
b3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMy
LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQs
IGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVp
bnQzMl90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMiBzc2UyIG5lb24vOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDMy
IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UzMngxNi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIs
IGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJl
ZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNl
MzJ4MTYgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UzMngxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIvLCAiY29uc3QgdWludDhfdCAq
c3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25z
dCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3Qg
dWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4
X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MzIgc3NlMi87CiAKICAgYWRkX3By
b3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2
LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQs
IGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVp
bnQzMl90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBx
dy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNiBzc2UyIG5lb24vOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDE2
IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2UxNng4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVk
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2Ux
Nng4IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMTZ4OCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hp
Z2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNi8sICJjb25zdCB1aW50OF90ICpzcmNf
cHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVp
bnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50
OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlOHgxNiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdo
YmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTYgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3
L3VpbnQzMl90IHZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4OC8sICJjb25z
dCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9v
ZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAq
c3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hp
Z2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IHNzZTIgbmVvbi87CisgIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF8xMF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IHNzZTIvOwogCiAg
IGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFu
Y2U4eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29m
ZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlk
ZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCBzc2UyIG5lb24v
OworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4
NCBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF8xMF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlNHg4LywgImNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3Ry
aWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVk
IjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzEwX3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0
eDggbmVvbi87CiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzEwX3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U0eDQvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJp
ZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBp
bnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQi
OwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfMTBfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4
NCBuZW9uLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhl
bF9hdmdfdmFyaWFuY2U2NHg2NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIs
IGludCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJl
ZCI7Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U2
NHg2NCBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlNjR4NjQgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9o
aWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlNjR4MzIvLCAiY29uc3QgdWludDhfdCAqc3Jj
X3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1
aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWlu
dDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4
ZWxfYXZnX3ZhcmlhbmNlNjR4MzIgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGln
aGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTY0eDMyIHNzZTIvOwogCiAgIGFkZF9wcm90byBx
dy91aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0LywgImNv
bnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5
X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90
ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTMyeDY0IHNzZTIgbmVvbi87CisgIHNwZWNp
YWxpemUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMng2NCBzc2UyLzsK
IAogICBhZGRfcHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFy
aWFuY2UzMngzMi8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50
IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZf
c3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNw
ZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMngzMiBzc2Uy
IG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zhcmlh
bmNlMzJ4MzIgc3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMzJ4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50
IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90ICpy
ZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAqc2Vj
b25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3Zh
cmlhbmNlMzJ4MTYgc3NlMiBuZW9uLzsKKyAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhfc3Vi
X3BpeGVsX2F2Z192YXJpYW5jZTMyeDE2IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJf
dCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyLywgImNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90ICpzc2UsIGNv
bnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhfaGlnaGJkXzhf
c3ViX3BpeGVsX2F2Z192YXJpYW5jZTE2eDMyIHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcv
dnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngzMiBzc2UyLzsKIAogICBhZGRf
cHJvdG8gcXcvdWludDMyX3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngx
Ni8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0
LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1
aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUg
cXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNngxNiBzc2UyIG5lb24vOwor
ICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlMTZ4MTYg
c3NlMi87CiAKICAgYWRkX3Byb3RvIHF3L3VpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxf
YXZnX3ZhcmlhbmNlMTZ4OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlk
ZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGlu
dCByZWZfc3RyaWRlLCB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7
Ci0gIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2UxNng4
IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdf
dmFyaWFuY2UxNng4IHNzZTIvOwogCiAgIGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJk
Xzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4MTYvLCAiY29uc3QgdWludDhfdCAqc3JjX3B0ciwg
aW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBjb25zdCB1aW50OF90
ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29uc3QgdWludDhfdCAq
c2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZn
X3ZhcmlhbmNlOHgxNiBzc2UyIG5lb24vOworICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHgxNiBzc2UyLzsKIAogICBhZGRfcHJvdG8gcXcvdWludDMy
X3QgdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDgvLCAiY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LCBj
b25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3QgKnNzZSwgY29u
c3QgdWludDhfdCAqc2Vjb25kX3ByZWQiOwotICBzcGVjaWFsaXplIHF3L3ZweF9oaWdoYmRfOF9z
dWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg4IHNzZTIgbmVvbi87CisgIHNwZWNpYWxpemUgcXcvdnB4
X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U4eDggc3NlMi87CiAKICAgYWRkX3Byb3Rv
IHF3L3VpbnQzMl90IHZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0LywgImNv
bnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9vZmZzZXQsIGludCB5
X29mZnNldCwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90
ICpzc2UsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVkIjsKLSAgc3BlY2lhbGl6ZSBxdy92cHhf
aGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTh4NCBzc2UyIG5lb24vOworICBzcGVjaWFs
aXplIHF3L3ZweF9oaWdoYmRfOF9zdWJfcGl4ZWxfYXZnX3ZhcmlhbmNlOHg0IHNzZTIvOwogCiAg
IGFkZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5j
ZTR4OC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zm
c2V0LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRl
LCB1aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxp
emUgcXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDggbmVvbi87CiAgIGFk
ZF9wcm90byBxdy91aW50MzJfdCB2cHhfaGlnaGJkXzhfc3ViX3BpeGVsX2F2Z192YXJpYW5jZTR4
NC8sICJjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0
LCBpbnQgeV9vZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLCB1
aW50MzJfdCAqc3NlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCI7Ci0gIHNwZWNpYWxpemUg
cXcvdnB4X2hpZ2hiZF84X3N1Yl9waXhlbF9hdmdfdmFyaWFuY2U0eDQgbmVvbi87CiAKIH0gICMg
Q09ORklHX1ZQOV9ISUdIQklUREVQVEgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3g4Ni9hdmdfaW50cmluX2F2eDIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX2ludHJp
bl9hdngyLmMKaW5kZXggNjFlNGU3M2M1YmVkLi4zZjRmNTc3YTIxZGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX2ludHJpbl9hdngyLmMKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL3g4Ni9hdmdfaW50cmluX2F2eDIuYwpAQCAtMTA0LDcgKzEwNCw3IEBAIHZvaWQgdnB4
X2hpZ2hiZF9oYWRhbWFyZF84eDhfYXZ4Mihjb25zdCBpbnQxNl90ICpzcmNfZGlmZiwgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCiAgIHNyYzE2WzRdID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20x
MjhpICopKHNyY19kaWZmICs9IHNyY19zdHJpZGUpKTsKICAgc3JjMTZbNV0gPSBfbW1fbG9hZHVf
c2kxMjgoKGNvbnN0IF9fbTEyOGkgKikoc3JjX2RpZmYgKz0gc3JjX3N0cmlkZSkpOwogICBzcmMx
Nls2XSA9IF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKShzcmNfZGlmZiArPSBzcmNf
c3RyaWRlKSk7Ci0gIHNyYzE2WzddID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICop
KHNyY19kaWZmICsgc3JjX3N0cmlkZSkpOworICBzcmMxNls3XSA9IF9tbV9sb2FkdV9zaTEyOCgo
Y29uc3QgX19tMTI4aSAqKShzcmNfZGlmZiArPSBzcmNfc3RyaWRlKSk7CiAKICAgc3JjMzJbMF0g
PSBfbW0yNTZfY3Z0ZXBpMTZfZXBpMzIoc3JjMTZbMF0pOwogICBzcmMzMlsxXSA9IF9tbTI1Nl9j
dnRlcGkxNl9lcGkzMihzcmMxNlsxXSk7CkBAIC0yMTgsMTQgKzIxOCw2IEBAIHZvaWQgdnB4X2hp
Z2hiZF9oYWRhbWFyZF8zMngzMl9hdngyKGNvbnN0IGludDE2X3QgKnNyY19kaWZmLAogfQogI2Vu
ZGlmICAvLyBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogCi1zdGF0aWMgSU5MSU5FIHZvaWQgc2ln
bl9leHRlbmRfMTZiaXRfdG9fMzJiaXRfYXZ4MihfX20yNTZpIGluLCBfX20yNTZpIHplcm8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20yNTZp
ICpvdXRfbG8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfX20yNTZpICpvdXRfaGkpIHsKLSAgY29uc3QgX19tMjU2aSBzaWduX2JpdHMgPSBfbW0y
NTZfY21wZ3RfZXBpMTYoemVybywgaW4pOwotICAqb3V0X2xvID0gX21tMjU2X3VucGFja2xvX2Vw
aTE2KGluLCBzaWduX2JpdHMpOwotICAqb3V0X2hpID0gX21tMjU2X3VucGFja2hpX2VwaTE2KGlu
LCBzaWduX2JpdHMpOwotfQotCiBzdGF0aWMgdm9pZCBoYWRhbWFyZF9jb2w4eDJfYXZ4MihfX20y
NTZpICppbiwgaW50IGl0ZXIpIHsKICAgX19tMjU2aSBhMCA9IGluWzBdOwogICBfX20yNTZpIGEx
ID0gaW5bMV07CkBAIC0zMTIsNyArMzA0LDcgQEAgc3RhdGljIHZvaWQgaGFkYW1hcmRfOHg4eDJf
YXZ4Mihjb25zdCBpbnQxNl90ICpzcmNfZGlmZiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgIHNy
Y1s0XSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShzcmNfZGlmZiArPSBz
cmNfc3RyaWRlKSk7CiAgIHNyY1s1XSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2
aSAqKShzcmNfZGlmZiArPSBzcmNfc3RyaWRlKSk7CiAgIHNyY1s2XSA9IF9tbTI1Nl9sb2FkdV9z
aTI1NigoY29uc3QgX19tMjU2aSAqKShzcmNfZGlmZiArPSBzcmNfc3RyaWRlKSk7Ci0gIHNyY1s3
XSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShzcmNfZGlmZiArIHNyY19z
dHJpZGUpKTsKKyAgc3JjWzddID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICop
KHNyY19kaWZmICs9IHNyY19zdHJpZGUpKTsKIAogICBoYWRhbWFyZF9jb2w4eDJfYXZ4MihzcmMs
IDApOwogICBoYWRhbWFyZF9jb2w4eDJfYXZ4MihzcmMsIDEpOwpAQCAtNDA4LDEyICs0MDAsNiBA
QCB2b2lkIHZweF9oYWRhbWFyZF8zMngzMl9hdngyKGNvbnN0IGludDE2X3QgKnNyY19kaWZmLCBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgaW50MTZfdCAqdF9jb2VmZiA9IGNvZWZmOwogI2VuZGlm
CiAgIGludCBpZHg7Ci0gIF9fbTI1NmkgY29lZmYwX2xvLCBjb2VmZjFfbG8sIGNvZWZmMl9sbywg
Y29lZmYzX2xvLCBiMF9sbywgYjFfbG8sIGIyX2xvLAotICAgICAgYjNfbG87Ci0gIF9fbTI1Nmkg
Y29lZmYwX2hpLCBjb2VmZjFfaGksIGNvZWZmMl9oaSwgY29lZmYzX2hpLCBiMF9oaSwgYjFfaGks
IGIyX2hpLAotICAgICAgYjNfaGk7Ci0gIF9fbTI1NmkgYjAsIGIxLCBiMiwgYjM7Ci0gIGNvbnN0
IF9fbTI1NmkgemVybyA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7CiAgIGZvciAoaWR4ID0gMDsg
aWR4IDwgNDsgKytpZHgpIHsKICAgICAvLyBzcmNfZGlmZjogOSBiaXQsIGR5bmFtaWMgcmFuZ2Ug
Wy0yNTUsIDI1NV0KICAgICBjb25zdCBpbnQxNl90ICpzcmNfcHRyID0KQEAgLTQyOCwzOCArNDE0
LDE1IEBAIHZvaWQgdnB4X2hhZGFtYXJkXzMyeDMyX2F2eDIoY29uc3QgaW50MTZfdCAqc3JjX2Rp
ZmYsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgIGNvbnN0IF9fbTI1NmkgY29lZmYyID0gX21t
MjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopKHRfY29lZmYgKyA1MTIpKTsKICAgICBj
b25zdCBfX20yNTZpIGNvZWZmMyA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAq
KSh0X2NvZWZmICsgNzY4KSk7CiAKLSAgICAvLyBTaWduIGV4dGVuZCAxNiBiaXQgdG8gMzIgYml0
LgotICAgIHNpZ25fZXh0ZW5kXzE2Yml0X3RvXzMyYml0X2F2eDIoY29lZmYwLCB6ZXJvLCAmY29l
ZmYwX2xvLCAmY29lZmYwX2hpKTsKLSAgICBzaWduX2V4dGVuZF8xNmJpdF90b18zMmJpdF9hdngy
KGNvZWZmMSwgemVybywgJmNvZWZmMV9sbywgJmNvZWZmMV9oaSk7Ci0gICAgc2lnbl9leHRlbmRf
MTZiaXRfdG9fMzJiaXRfYXZ4Mihjb2VmZjIsIHplcm8sICZjb2VmZjJfbG8sICZjb2VmZjJfaGkp
OwotICAgIHNpZ25fZXh0ZW5kXzE2Yml0X3RvXzMyYml0X2F2eDIoY29lZmYzLCB6ZXJvLCAmY29l
ZmYzX2xvLCAmY29lZmYzX2hpKTsKLQotICAgIGIwX2xvID0gX21tMjU2X2FkZF9lcGkzMihjb2Vm
ZjBfbG8sIGNvZWZmMV9sbyk7Ci0gICAgYjBfaGkgPSBfbW0yNTZfYWRkX2VwaTMyKGNvZWZmMF9o
aSwgY29lZmYxX2hpKTsKLQotICAgIGIxX2xvID0gX21tMjU2X3N1Yl9lcGkzMihjb2VmZjBfbG8s
IGNvZWZmMV9sbyk7Ci0gICAgYjFfaGkgPSBfbW0yNTZfc3ViX2VwaTMyKGNvZWZmMF9oaSwgY29l
ZmYxX2hpKTsKLQotICAgIGIyX2xvID0gX21tMjU2X2FkZF9lcGkzMihjb2VmZjJfbG8sIGNvZWZm
M19sbyk7Ci0gICAgYjJfaGkgPSBfbW0yNTZfYWRkX2VwaTMyKGNvZWZmMl9oaSwgY29lZmYzX2hp
KTsKLQotICAgIGIzX2xvID0gX21tMjU2X3N1Yl9lcGkzMihjb2VmZjJfbG8sIGNvZWZmM19sbyk7
Ci0gICAgYjNfaGkgPSBfbW0yNTZfc3ViX2VwaTMyKGNvZWZmMl9oaSwgY29lZmYzX2hpKTsKLQot
ICAgIGIwX2xvID0gX21tMjU2X3NyYWlfZXBpMzIoYjBfbG8sIDIpOwotICAgIGIxX2xvID0gX21t
MjU2X3NyYWlfZXBpMzIoYjFfbG8sIDIpOwotICAgIGIyX2xvID0gX21tMjU2X3NyYWlfZXBpMzIo
YjJfbG8sIDIpOwotICAgIGIzX2xvID0gX21tMjU2X3NyYWlfZXBpMzIoYjNfbG8sIDIpOwotCi0g
ICAgYjBfaGkgPSBfbW0yNTZfc3JhaV9lcGkzMihiMF9oaSwgMik7Ci0gICAgYjFfaGkgPSBfbW0y
NTZfc3JhaV9lcGkzMihiMV9oaSwgMik7Ci0gICAgYjJfaGkgPSBfbW0yNTZfc3JhaV9lcGkzMihi
Ml9oaSwgMik7Ci0gICAgYjNfaGkgPSBfbW0yNTZfc3JhaV9lcGkzMihiM19oaSwgMik7CisgICAg
X19tMjU2aSBiMCA9IF9tbTI1Nl9hZGRfZXBpMTYoY29lZmYwLCBjb2VmZjEpOworICAgIF9fbTI1
NmkgYjEgPSBfbW0yNTZfc3ViX2VwaTE2KGNvZWZmMCwgY29lZmYxKTsKKyAgICBfX20yNTZpIGIy
ID0gX21tMjU2X2FkZF9lcGkxNihjb2VmZjIsIGNvZWZmMyk7CisgICAgX19tMjU2aSBiMyA9IF9t
bTI1Nl9zdWJfZXBpMTYoY29lZmYyLCBjb2VmZjMpOwogCi0gICAgYjAgPSBfbW0yNTZfcGFja3Nf
ZXBpMzIoYjBfbG8sIGIwX2hpKTsKLSAgICBiMSA9IF9tbTI1Nl9wYWNrc19lcGkzMihiMV9sbywg
YjFfaGkpOwotICAgIGIyID0gX21tMjU2X3BhY2tzX2VwaTMyKGIyX2xvLCBiMl9oaSk7Ci0gICAg
YjMgPSBfbW0yNTZfcGFja3NfZXBpMzIoYjNfbG8sIGIzX2hpKTsKKyAgICBiMCA9IF9tbTI1Nl9z
cmFpX2VwaTE2KGIwLCAyKTsKKyAgICBiMSA9IF9tbTI1Nl9zcmFpX2VwaTE2KGIxLCAyKTsKKyAg
ICBiMiA9IF9tbTI1Nl9zcmFpX2VwaTE2KGIyLCAyKTsKKyAgICBiMyA9IF9tbTI1Nl9zcmFpX2Vw
aTE2KGIzLCAyKTsKIAogICAgIHN0b3JlX3RyYW5fbG93KF9tbTI1Nl9hZGRfZXBpMTYoYjAsIGIy
KSwgY29lZmYpOwogICAgIHN0b3JlX3RyYW5fbG93KF9tbTI1Nl9hZGRfZXBpMTYoYjEsIGIzKSwg
Y29lZmYgKyAyNTYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9hdmdfaW50
cmluX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX2ludHJpbl9zc2UyLmMKaW5k
ZXggNDQ0N2RmYWI3Y2RmLi4zY2JhMjU4ZjYxOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC94ODYvYXZnX2ludHJpbl9zc2UyLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9h
dmdfaW50cmluX3NzZTIuYwpAQCAtMTUsMTQgKzE1LDYgQEAKICNpbmNsdWRlICJ2cHhfZHNwL3g4
Ni9iaXRkZXB0aF9jb252ZXJzaW9uX3NzZTIuaCIKICNpbmNsdWRlICJ2cHhfcG9ydHMvbWVtLmgi
CiAKLXN0YXRpYyBJTkxJTkUgdm9pZCBzaWduX2V4dGVuZF8xNmJpdF90b18zMmJpdF9zc2UyKF9f
bTEyOGkgaW4sIF9fbTEyOGkgemVybywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgKm91dF9sbywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgKm91dF9oaSkgewotICBjb25z
dCBfX20xMjhpIHNpZ25fYml0cyA9IF9tbV9jbXBsdF9lcGkxNihpbiwgemVybyk7Ci0gICpvdXRf
bG8gPSBfbW1fdW5wYWNrbG9fZXBpMTYoaW4sIHNpZ25fYml0cyk7Ci0gICpvdXRfaGkgPSBfbW1f
dW5wYWNraGlfZXBpMTYoaW4sIHNpZ25fYml0cyk7Ci19Ci0KIHZvaWQgdnB4X21pbm1heF84eDhf
c3NlMihjb25zdCB1aW50OF90ICpzLCBpbnQgcCwgY29uc3QgdWludDhfdCAqZCwgaW50IGRwLAog
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqbWluLCBpbnQgKm1heCkgewogICBfX20xMjhp
IHUwLCBzMCwgZDAsIGRpZmYsIG1heGFic2RpZmYsIG1pbmFic2RpZmYsIG5lZ2RpZmYsIGFic2Rp
ZmYwLCBhYnNkaWZmOwpAQCAtMTcyLDcgKzE2NCw3IEBAIHVuc2lnbmVkIGludCB2cHhfaGlnaGJk
X2F2Z184eDhfc3NlMihjb25zdCB1aW50OF90ICpzOCwgaW50IHApIHsKICAgczAgPSBfbW1fYWRk
X2VwaTMyKHMwLCBzMSk7CiAgIHMwID0gX21tX2FkZF9lcGkzMihzMCwgX21tX3NybGlfc2kxMjgo
czAsIDgpKTsKICAgczAgPSBfbW1fYWRkX2VwaTMyKHMwLCBfbW1fc3JsaV9zaTEyOChzMCwgNCkp
OwotICBhdmcgPSAodW5zaWduZWQgaW50KV9tbV9jdnRzaTEyOF9zaTMyKHMwKTsKKyAgYXZnID0g
X21tX2N2dHNpMTI4X3NpMzIoczApOwogCiAgIHJldHVybiAoYXZnICsgMzIpID4+IDY7CiB9CkBA
IC0yODMsNyArMjc1LDcgQEAgc3RhdGljIElOTElORSB2b2lkIGhhZGFtYXJkXzh4OF9zc2UyKGNv
bnN0IGludDE2X3QgKnNyY19kaWZmLAogICBzcmNbNF0gPSBfbW1fbG9hZF9zaTEyOCgoY29uc3Qg
X19tMTI4aSAqKShzcmNfZGlmZiArPSBzcmNfc3RyaWRlKSk7CiAgIHNyY1s1XSA9IF9tbV9sb2Fk
X3NpMTI4KChjb25zdCBfX20xMjhpICopKHNyY19kaWZmICs9IHNyY19zdHJpZGUpKTsKICAgc3Jj
WzZdID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKikoc3JjX2RpZmYgKz0gc3JjX3N0
cmlkZSkpOwotICBzcmNbN10gPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKShzcmNf
ZGlmZiArIHNyY19zdHJpZGUpKTsKKyAgc3JjWzddID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9f
bTEyOGkgKikoc3JjX2RpZmYgKz0gc3JjX3N0cmlkZSkpOwogCiAgIGhhZGFtYXJkX2NvbDhfc3Nl
MihzcmMsIDApOwogICBoYWRhbWFyZF9jb2w4X3NzZTIoc3JjLCAxKTsKQEAgLTQwOCwxMiArNDAw
LDYgQEAgdm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzJfc3NlMihjb25zdCBpbnQxNl90ICpzcmNfZGlm
ZiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgIGludDE2X3QgKnRfY29lZmYgPSBjb2VmZjsKICNl
bmRpZgogICBpbnQgaWR4OwotICBfX20xMjhpIGNvZWZmMF9sbywgY29lZmYxX2xvLCBjb2VmZjJf
bG8sIGNvZWZmM19sbywgYjBfbG8sIGIxX2xvLCBiMl9sbywKLSAgICAgIGIzX2xvOwotICBfX20x
MjhpIGNvZWZmMF9oaSwgY29lZmYxX2hpLCBjb2VmZjJfaGksIGNvZWZmM19oaSwgYjBfaGksIGIx
X2hpLCBiMl9oaSwKLSAgICAgIGIzX2hpOwotICBfX20xMjhpIGIwLCBiMSwgYjIsIGIzOwotICBj
b25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0emVyb19zaTEyOCgpOwogICBmb3IgKGlkeCA9IDA7
IGlkeCA8IDQ7ICsraWR4KSB7CiAgICAgY29uc3QgaW50MTZfdCAqc3JjX3B0ciA9CiAgICAgICAg
IHNyY19kaWZmICsgKGlkeCA+PiAxKSAqIDE2ICogc3JjX3N0cmlkZSArIChpZHggJiAweDAxKSAq
IDE2OwpAQCAtNDI3LDM4ICs0MTMsMTUgQEAgdm9pZCB2cHhfaGFkYW1hcmRfMzJ4MzJfc3NlMihj
b25zdCBpbnQxNl90ICpzcmNfZGlmZiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgX19tMTI4
aSBjb2VmZjIgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKSh0X2NvZWZmICsgNTEy
KSk7CiAgICAgX19tMTI4aSBjb2VmZjMgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAq
KSh0X2NvZWZmICsgNzY4KSk7CiAKLSAgICAvLyBTaWduIGV4dGVuZCAxNiBiaXQgdG8gMzIgYml0
LgotICAgIHNpZ25fZXh0ZW5kXzE2Yml0X3RvXzMyYml0X3NzZTIoY29lZmYwLCB6ZXJvLCAmY29l
ZmYwX2xvLCAmY29lZmYwX2hpKTsKLSAgICBzaWduX2V4dGVuZF8xNmJpdF90b18zMmJpdF9zc2Uy
KGNvZWZmMSwgemVybywgJmNvZWZmMV9sbywgJmNvZWZmMV9oaSk7Ci0gICAgc2lnbl9leHRlbmRf
MTZiaXRfdG9fMzJiaXRfc3NlMihjb2VmZjIsIHplcm8sICZjb2VmZjJfbG8sICZjb2VmZjJfaGkp
OwotICAgIHNpZ25fZXh0ZW5kXzE2Yml0X3RvXzMyYml0X3NzZTIoY29lZmYzLCB6ZXJvLCAmY29l
ZmYzX2xvLCAmY29lZmYzX2hpKTsKLQotICAgIGIwX2xvID0gX21tX2FkZF9lcGkzMihjb2VmZjBf
bG8sIGNvZWZmMV9sbyk7Ci0gICAgYjBfaGkgPSBfbW1fYWRkX2VwaTMyKGNvZWZmMF9oaSwgY29l
ZmYxX2hpKTsKLQotICAgIGIxX2xvID0gX21tX3N1Yl9lcGkzMihjb2VmZjBfbG8sIGNvZWZmMV9s
byk7Ci0gICAgYjFfaGkgPSBfbW1fc3ViX2VwaTMyKGNvZWZmMF9oaSwgY29lZmYxX2hpKTsKLQot
ICAgIGIyX2xvID0gX21tX2FkZF9lcGkzMihjb2VmZjJfbG8sIGNvZWZmM19sbyk7Ci0gICAgYjJf
aGkgPSBfbW1fYWRkX2VwaTMyKGNvZWZmMl9oaSwgY29lZmYzX2hpKTsKLQotICAgIGIzX2xvID0g
X21tX3N1Yl9lcGkzMihjb2VmZjJfbG8sIGNvZWZmM19sbyk7Ci0gICAgYjNfaGkgPSBfbW1fc3Vi
X2VwaTMyKGNvZWZmMl9oaSwgY29lZmYzX2hpKTsKLQotICAgIGIwX2xvID0gX21tX3NyYWlfZXBp
MzIoYjBfbG8sIDIpOwotICAgIGIxX2xvID0gX21tX3NyYWlfZXBpMzIoYjFfbG8sIDIpOwotICAg
IGIyX2xvID0gX21tX3NyYWlfZXBpMzIoYjJfbG8sIDIpOwotICAgIGIzX2xvID0gX21tX3NyYWlf
ZXBpMzIoYjNfbG8sIDIpOwotCi0gICAgYjBfaGkgPSBfbW1fc3JhaV9lcGkzMihiMF9oaSwgMik7
Ci0gICAgYjFfaGkgPSBfbW1fc3JhaV9lcGkzMihiMV9oaSwgMik7Ci0gICAgYjJfaGkgPSBfbW1f
c3JhaV9lcGkzMihiMl9oaSwgMik7Ci0gICAgYjNfaGkgPSBfbW1fc3JhaV9lcGkzMihiM19oaSwg
Mik7CisgICAgX19tMTI4aSBiMCA9IF9tbV9hZGRfZXBpMTYoY29lZmYwLCBjb2VmZjEpOworICAg
IF9fbTEyOGkgYjEgPSBfbW1fc3ViX2VwaTE2KGNvZWZmMCwgY29lZmYxKTsKKyAgICBfX20xMjhp
IGIyID0gX21tX2FkZF9lcGkxNihjb2VmZjIsIGNvZWZmMyk7CisgICAgX19tMTI4aSBiMyA9IF9t
bV9zdWJfZXBpMTYoY29lZmYyLCBjb2VmZjMpOwogCi0gICAgYjAgPSBfbW1fcGFja3NfZXBpMzIo
YjBfbG8sIGIwX2hpKTsKLSAgICBiMSA9IF9tbV9wYWNrc19lcGkzMihiMV9sbywgYjFfaGkpOwot
ICAgIGIyID0gX21tX3BhY2tzX2VwaTMyKGIyX2xvLCBiMl9oaSk7Ci0gICAgYjMgPSBfbW1fcGFj
a3NfZXBpMzIoYjNfbG8sIGIzX2hpKTsKKyAgICBiMCA9IF9tbV9zcmFpX2VwaTE2KGIwLCAyKTsK
KyAgICBiMSA9IF9tbV9zcmFpX2VwaTE2KGIxLCAyKTsKKyAgICBiMiA9IF9tbV9zcmFpX2VwaTE2
KGIyLCAyKTsKKyAgICBiMyA9IF9tbV9zcmFpX2VwaTE2KGIzLCAyKTsKIAogICAgIGNvZWZmMCA9
IF9tbV9hZGRfZXBpMTYoYjAsIGIyKTsKICAgICBjb2VmZjEgPSBfbW1fYWRkX2VwaTE2KGIxLCBi
Myk7CkBAIC01MDEsNyArNDY0LDcgQEAgaW50IHZweF9zYXRkX3NzZTIoY29uc3QgdHJhbl9sb3df
dCAqY29lZmYsIGludCBsZW5ndGgpIHsKICAgcmV0dXJuIF9tbV9jdnRzaTEyOF9zaTMyKGFjY3Vt
KTsKIH0KIAotdm9pZCB2cHhfaW50X3Byb19yb3dfc3NlMihpbnQxNl90IGhidWZbMTZdLCBjb25z
dCB1aW50OF90ICpyZWYsCit2b2lkIHZweF9pbnRfcHJvX3Jvd19zc2UyKGludDE2X3QgKmhidWYs
IGNvbnN0IHVpbnQ4X3QgKnJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
IHJlZl9zdHJpZGUsIGNvbnN0IGludCBoZWlnaHQpIHsKICAgaW50IGlkeDsKICAgX19tMTI4aSB6
ZXJvID0gX21tX3NldHplcm9fc2kxMjgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC94ODYvYXZnX3ByZWRfYXZ4Mi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9hdmdfcHJlZF9h
dngyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MzU3OTk4YzliYi4uMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX3ByZWRfYXZ4Mi5jCisrKyAv
ZGV2L251bGwKQEAgLTEsMTExICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRo
ZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQot
ICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2Yg
dGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5
IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxs
IGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFV
VEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1
ZGUgPGFzc2VydC5oPgotI2luY2x1ZGUgPGltbWludHJpbi5oPgotCi0jaW5jbHVkZSAiLi92cHhf
ZHNwX3J0Y2QuaCIKLQotdm9pZCB2cHhfY29tcF9hdmdfcHJlZF9hdngyKHVpbnQ4X3QgKmNvbXBf
cHJlZCwgY29uc3QgdWludDhfdCAqcHJlZCwgaW50IHdpZHRoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBoZWlnaHQsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJpZGUp
IHsKLSAgaW50IHJvdyA9IDA7Ci0gIC8vIGNvbXBfcHJlZCBhbmQgcHJlZCBtdXN0IGJlIDMyIGJ5
dGUgYWxpZ25lZC4KLSAgYXNzZXJ0KCgoaW50cHRyX3QpY29tcF9wcmVkICUgMzIpID09IDApOwot
ICBhc3NlcnQoKChpbnRwdHJfdClwcmVkICUgMzIpID09IDApOwotCi0gIGlmICh3aWR0aCA9PSA4
KSB7Ci0gICAgYXNzZXJ0KGhlaWdodCAlIDQgPT0gMCk7Ci0gICAgZG8gewotICAgICAgY29uc3Qg
X19tMjU2aSBwID0gX21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilwcmVkKTsKLSAg
ICAgIGNvbnN0IF9fbTEyOGkgcl8wID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICop
cmVmKTsKLSAgICAgIGNvbnN0IF9fbTEyOGkgcl8xID0KLSAgICAgICAgICBfbW1fbG9hZGxfZXBp
NjQoKGNvbnN0IF9fbTEyOGkgKikocmVmICsgMiAqIHJlZl9zdHJpZGUpKTsKLQotICAgICAgY29u
c3QgX19tMTI4aSByMSA9IF9tbV9jYXN0cHNfc2kxMjgoX21tX2xvYWRoX3BpKAotICAgICAgICAg
IF9tbV9jYXN0c2kxMjhfcHMocl8wKSwgKGNvbnN0IF9fbTY0ICopKHJlZiArIHJlZl9zdHJpZGUp
KSk7Ci0gICAgICBjb25zdCBfX20xMjhpIHIyID0gX21tX2Nhc3Rwc19zaTEyOChfbW1fbG9hZGhf
cGkoCi0gICAgICAgICAgX21tX2Nhc3RzaTEyOF9wcyhyXzEpLCAoY29uc3QgX19tNjQgKikocmVm
ICsgMyAqIHJlZl9zdHJpZGUpKSk7Ci0KLSAgICAgIGNvbnN0IF9fbTI1NmkgcmVmXzAxMjMgPQot
ICAgICAgICAgIF9tbTI1Nl9pbnNlcnRpMTI4X3NpMjU2KF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYo
cjEpLCByMiwgMSk7Ci0gICAgICBjb25zdCBfX20yNTZpIGF2ZyA9IF9tbTI1Nl9hdmdfZXB1OChw
LCByZWZfMDEyMyk7Ci0KLSAgICAgIF9tbTI1Nl9zdG9yZV9zaTI1NigoX19tMjU2aSAqKWNvbXBf
cHJlZCwgYXZnKTsKLQotICAgICAgcm93ICs9IDQ7Ci0gICAgICBwcmVkICs9IDMyOwotICAgICAg
Y29tcF9wcmVkICs9IDMyOwotICAgICAgcmVmICs9IDQgKiByZWZfc3RyaWRlOwotICAgIH0gd2hp
bGUgKHJvdyA8IGhlaWdodCk7Ci0gIH0gZWxzZSBpZiAod2lkdGggPT0gMTYpIHsKLSAgICBhc3Nl
cnQoaGVpZ2h0ICUgNCA9PSAwKTsKLSAgICBkbyB7Ci0gICAgICBjb25zdCBfX20yNTZpIHByZWRf
MCA9IF9tbTI1Nl9sb2FkX3NpMjU2KChjb25zdCBfX20yNTZpICopcHJlZCk7Ci0gICAgICBjb25z
dCBfX20yNTZpIHByZWRfMSA9IF9tbTI1Nl9sb2FkX3NpMjU2KChjb25zdCBfX20yNTZpICopKHBy
ZWQgKyAzMikpOwotICAgICAgY29uc3QgX19tMjU2aSB0bXAwID0KLSAgICAgICAgICBfbW0yNTZf
Y2FzdHNpMTI4X3NpMjU2KF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKXJlZikpOwot
ICAgICAgY29uc3QgX19tMjU2aSByZWZfMCA9IF9tbTI1Nl9pbnNlcnRpMTI4X3NpMjU2KAotICAg
ICAgICAgIHRtcDAsIF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKShyZWYgKyByZWZf
c3RyaWRlKSksIDEpOwotICAgICAgY29uc3QgX19tMjU2aSB0bXAxID0gX21tMjU2X2Nhc3RzaTEy
OF9zaTI1NigKLSAgICAgICAgICBfbW1fbG9hZHVfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKikocmVm
ICsgMiAqIHJlZl9zdHJpZGUpKSk7Ci0gICAgICBjb25zdCBfX20yNTZpIHJlZl8xID0gX21tMjU2
X2luc2VydGkxMjhfc2kyNTYoCi0gICAgICAgICAgdG1wMSwgX21tX2xvYWR1X3NpMTI4KChjb25z
dCBfX20xMjhpICopKHJlZiArIDMgKiByZWZfc3RyaWRlKSksIDEpOwotICAgICAgY29uc3QgX19t
MjU2aSBhdmVyYWdlXzAgPSBfbW0yNTZfYXZnX2VwdTgocHJlZF8wLCByZWZfMCk7Ci0gICAgICBj
b25zdCBfX20yNTZpIGF2ZXJhZ2VfMSA9IF9tbTI1Nl9hdmdfZXB1OChwcmVkXzEsIHJlZl8xKTsK
LSAgICAgIF9tbTI1Nl9zdG9yZV9zaTI1NigoX19tMjU2aSAqKWNvbXBfcHJlZCwgYXZlcmFnZV8w
KTsKLSAgICAgIF9tbTI1Nl9zdG9yZV9zaTI1NigoX19tMjU2aSAqKShjb21wX3ByZWQgKyAzMiks
IGF2ZXJhZ2VfMSk7Ci0KLSAgICAgIHJvdyArPSA0OwotICAgICAgcHJlZCArPSA2NDsKLSAgICAg
IGNvbXBfcHJlZCArPSA2NDsKLSAgICAgIHJlZiArPSA0ICogcmVmX3N0cmlkZTsKLSAgICB9IHdo
aWxlIChyb3cgPCBoZWlnaHQpOwotICB9IGVsc2UgaWYgKHdpZHRoID09IDMyKSB7Ci0gICAgYXNz
ZXJ0KGhlaWdodCAlIDIgPT0gMCk7Ci0gICAgZG8gewotICAgICAgY29uc3QgX19tMjU2aSBwcmVk
XzAgPSBfbW0yNTZfbG9hZF9zaTI1NigoY29uc3QgX19tMjU2aSAqKXByZWQpOwotICAgICAgY29u
c3QgX19tMjU2aSBwcmVkXzEgPSBfbW0yNTZfbG9hZF9zaTI1NigoY29uc3QgX19tMjU2aSAqKShw
cmVkICsgMzIpKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgcmVmXzAgPSBfbW0yNTZfbG9hZHVfc2ky
NTYoKGNvbnN0IF9fbTI1NmkgKilyZWYpOwotICAgICAgY29uc3QgX19tMjU2aSByZWZfMSA9Ci0g
ICAgICAgICAgX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopKHJlZiArIHJlZl9z
dHJpZGUpKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgYXZlcmFnZV8wID0gX21tMjU2X2F2Z19lcHU4
KHByZWRfMCwgcmVmXzApOwotICAgICAgY29uc3QgX19tMjU2aSBhdmVyYWdlXzEgPSBfbW0yNTZf
YXZnX2VwdTgocHJlZF8xLCByZWZfMSk7Ci0gICAgICBfbW0yNTZfc3RvcmVfc2kyNTYoKF9fbTI1
NmkgKiljb21wX3ByZWQsIGF2ZXJhZ2VfMCk7Ci0gICAgICBfbW0yNTZfc3RvcmVfc2kyNTYoKF9f
bTI1NmkgKikoY29tcF9wcmVkICsgMzIpLCBhdmVyYWdlXzEpOwotCi0gICAgICByb3cgKz0gMjsK
LSAgICAgIHByZWQgKz0gNjQ7Ci0gICAgICBjb21wX3ByZWQgKz0gNjQ7Ci0gICAgICByZWYgKz0g
MiAqIHJlZl9zdHJpZGU7Ci0gICAgfSB3aGlsZSAocm93IDwgaGVpZ2h0KTsKLSAgfSBlbHNlIGlm
ICh3aWR0aCAlIDY0ID09IDApIHsKLSAgICBkbyB7Ci0gICAgICBpbnQgeDsKLSAgICAgIGZvciAo
eCA9IDA7IHggPCB3aWR0aDsgeCArPSA2NCkgewotICAgICAgICBjb25zdCBfX20yNTZpIHByZWRf
MCA9IF9tbTI1Nl9sb2FkX3NpMjU2KChjb25zdCBfX20yNTZpICopKHByZWQgKyB4KSk7Ci0gICAg
ICAgIGNvbnN0IF9fbTI1NmkgcHJlZF8xID0KLSAgICAgICAgICAgIF9tbTI1Nl9sb2FkX3NpMjU2
KChjb25zdCBfX20yNTZpICopKHByZWQgKyB4ICsgMzIpKTsKLSAgICAgICAgY29uc3QgX19tMjU2
aSByZWZfMCA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWYgKyB4KSk7
Ci0gICAgICAgIGNvbnN0IF9fbTI1NmkgcmVmXzEgPQotICAgICAgICAgICAgX21tMjU2X2xvYWR1
X3NpMjU2KChjb25zdCBfX20yNTZpICopKHJlZiArIHggKyAzMikpOwotICAgICAgICBjb25zdCBf
X20yNTZpIGF2ZXJhZ2VfMCA9IF9tbTI1Nl9hdmdfZXB1OChwcmVkXzAsIHJlZl8wKTsKLSAgICAg
ICAgY29uc3QgX19tMjU2aSBhdmVyYWdlXzEgPSBfbW0yNTZfYXZnX2VwdTgocHJlZF8xLCByZWZf
MSk7Ci0gICAgICAgIF9tbTI1Nl9zdG9yZV9zaTI1NigoX19tMjU2aSAqKShjb21wX3ByZWQgKyB4
KSwgYXZlcmFnZV8wKTsKLSAgICAgICAgX21tMjU2X3N0b3JlX3NpMjU2KChfX20yNTZpICopKGNv
bXBfcHJlZCArIHggKyAzMiksIGF2ZXJhZ2VfMSk7Ci0gICAgICB9Ci0gICAgICByb3crKzsKLSAg
ICAgIHByZWQgKz0gd2lkdGg7Ci0gICAgICBjb21wX3ByZWQgKz0gd2lkdGg7Ci0gICAgICByZWYg
Kz0gcmVmX3N0cmlkZTsKLSAgICB9IHdoaWxlIChyb3cgPCBoZWlnaHQpOwotICB9IGVsc2Ugewot
ICAgIHZweF9jb21wX2F2Z19wcmVkX3NzZTIoY29tcF9wcmVkLCBwcmVkLCB3aWR0aCwgaGVpZ2h0
LCByZWYsIHJlZl9zdHJpZGUpOwotICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AveDg2L2F2Z19wcmVkX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvYXZnX3ByZWRf
c3NlMi5jCmluZGV4IGM2ZTcwZjc0NGUwOS4uZTRlMWUwZTdhMmMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AveDg2L2F2Z19wcmVkX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AveDg2L2F2Z19wcmVkX3NzZTIuYwpAQCAtNDYsOSArNDYsOSBAQCB2b2lkIHZweF9jb21wX2F2
Z19wcmVkX3NzZTIodWludDhfdCAqY29tcF9wcmVkLCBjb25zdCB1aW50OF90ICpwcmVkLCBpbnQg
d2lkdGgsCiAgICAgICAgIHIgPSBfbW1fbG9hZHVfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKilyZWYp
OwogICAgICAgICByZWYgKz0gMTY7CiAgICAgICB9IGVsc2UgaWYgKHdpZHRoID09IDQpIHsKLSAg
ICAgICAgciA9IF9tbV9zZXRfZXBpMzIobG9hZHVfaW50MzIocmVmICsgMyAqIHJlZl9zdHJpZGUp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkdV9pbnQzMihyZWYgKyAyICogcmVmX3N0
cmlkZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWR1X2ludDMyKHJlZiArIHJlZl9z
dHJpZGUpLCBsb2FkdV9pbnQzMihyZWYpKTsKKyAgICAgICAgciA9IF9tbV9zZXRfZXBpMzIobG9h
ZHVfdWludDMyKHJlZiArIDMgKiByZWZfc3RyaWRlKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgbG9hZHVfdWludDMyKHJlZiArIDIgKiByZWZfc3RyaWRlKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9hZHVfdWludDMyKHJlZiArIHJlZl9zdHJpZGUpLCBsb2FkdV91aW50MzIocmVm
KSk7CiAKICAgICAgICAgcmVmICs9IDQgKiByZWZfc3RyaWRlOwogICAgICAgfSBlbHNlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvY29udm9sdmVfYXZ4Mi5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3g4Ni9jb252b2x2ZV9hdngyLmgKaW5kZXggZWJlZTk2NGIxODk4Li45OWJj
OTYzN2ZjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvY29udm9sdmVfYXZ4
Mi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvY29udm9sdmVfYXZ4Mi5oCkBAIC0xMjks
OCArMTI5LDkgQEAgc3RhdGljIElOTElORSB2b2lkIG1tMjU2X3N0b3JldTJfZXBpNjQoX19tMTI4
aSAqY29uc3QgZHN0X3B0cl8xLAogc3RhdGljIElOTElORSB2b2lkIG1tMjU2X3N0b3JldTJfZXBp
MzIoX19tMTI4aSAqY29uc3QgZHN0X3B0cl8xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgX19tMTI4aSAqY29uc3QgZHN0X3B0cl8yLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgX19tMjU2aSAqY29uc3Qgc3JjKSB7Ci0gICooKGlu
dCAqKShkc3RfcHRyXzEpKSA9IF9tbV9jdnRzaTEyOF9zaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kx
MjgoKnNyYykpOwotICAqKChpbnQgKikoZHN0X3B0cl8yKSkgPSBfbW1fY3Z0c2kxMjhfc2kzMihf
bW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoKnNyYywgMSkpOworICAqKCh1aW50MzJfdCAqKShkc3Rf
cHRyXzEpKSA9IF9tbV9jdnRzaTEyOF9zaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoKnNyYykp
OworICAqKCh1aW50MzJfdCAqKShkc3RfcHRyXzIpKSA9CisgICAgICBfbW1fY3Z0c2kxMjhfc2kz
MihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoKnNyYywgMSkpOwogfQogCiBzdGF0aWMgSU5MSU5F
IF9fbTI1NmkgbW0yNTZfcm91bmRfZXBpMzIoY29uc3QgX19tMjU2aSAqY29uc3Qgc3JjLApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9md2RfZGN0MzJ4MzJfaW1wbF9hdngyLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2Z3ZF9kY3QzMngzMl9pbXBsX2F2eDIuaAppbmRleCBm
M2E4MDIwMjkyNGYuLjNmMTU4YjVlNGUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3g4Ni9md2RfZGN0MzJ4MzJfaW1wbF9hdngyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4
Ni9md2RfZGN0MzJ4MzJfaW1wbF9hdngyLmgKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBGRENUMzJ4
MzJfMkRfQVZYMihjb25zdCBpbnQxNl90ICppbnB1dCwgaW50MTZfdCAqb3V0cHV0X29yZywgaW50
IHN0cmlkZSkgewogICBjb25zdCBfX20yNTZpIGtfX2Nvc3BpX20yMV9wMTEgPSBwYWlyMjU2X3Nl
dF9lcGkxNigtY29zcGlfMjFfNjQsIGNvc3BpXzExXzY0KTsKICAgY29uc3QgX19tMjU2aSBrX19j
b3NwaV9tMDVfcDI3ID0gcGFpcjI1Nl9zZXRfZXBpMTYoLWNvc3BpXzVfNjQsIGNvc3BpXzI3XzY0
KTsKICAgY29uc3QgX19tMjU2aSBrX19EQ1RfQ09OU1RfUk9VTkRJTkcgPSBfbW0yNTZfc2V0MV9l
cGkzMihEQ1RfQ09OU1RfUk9VTkRJTkcpOwotICBjb25zdCBfX20yNTZpIGtaZXJvID0gX21tMjU2
X3NldHplcm9fc2kyNTYoKTsKKyAgY29uc3QgX19tMjU2aSBrWmVybyA9IF9tbTI1Nl9zZXQxX2Vw
aTE2KDApOwogICBjb25zdCBfX20yNTZpIGtPbmUgPSBfbW0yNTZfc2V0MV9lcGkxNigxKTsKICAg
Ly8gRG8gdGhlIHR3byB0cmFuc2Zvcm0vdHJhbnNwb3NlIHBhc3NlcwogICBpbnQgcGFzczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvZndkX2RjdDMyeDMyX2ltcGxfc3NlMi5o
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9md2RfZGN0MzJ4MzJfaW1wbF9zc2UyLmgKaW5kZXgg
YmYzNTBiNmRhMDcxLi5hYzEyNDZmYWE1OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC94ODYvZndkX2RjdDMyeDMyX2ltcGxfc3NlMi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94
ODYvZndkX2RjdDMyeDMyX2ltcGxfc3NlMi5oCkBAIC0xMDAsNyArMTAwLDcgQEAgdm9pZCBGRENU
MzJ4MzJfMkQoY29uc3QgaW50MTZfdCAqaW5wdXQsIHRyYW5fbG93X3QgKm91dHB1dF9vcmcsIGlu
dCBzdHJpZGUpIHsKICAgY29uc3QgX19tMTI4aSBrX19jb3NwaV9tMjFfcDExID0gcGFpcl9zZXRf
ZXBpMTYoLWNvc3BpXzIxXzY0LCBjb3NwaV8xMV82NCk7CiAgIGNvbnN0IF9fbTEyOGkga19fY29z
cGlfbTA1X3AyNyA9IHBhaXJfc2V0X2VwaTE2KC1jb3NwaV81XzY0LCBjb3NwaV8yN182NCk7CiAg
IGNvbnN0IF9fbTEyOGkga19fRENUX0NPTlNUX1JPVU5ESU5HID0gX21tX3NldDFfZXBpMzIoRENU
X0NPTlNUX1JPVU5ESU5HKTsKLSAgY29uc3QgX19tMTI4aSBrWmVybyA9IF9tbV9zZXR6ZXJvX3Np
MTI4KCk7CisgIGNvbnN0IF9fbTEyOGkga1plcm8gPSBfbW1fc2V0MV9lcGkxNigwKTsKICAgY29u
c3QgX19tMTI4aSBrT25lID0gX21tX3NldDFfZXBpMTYoMSk7CiAKICAgLy8gRG8gdGhlIHR3byB0
cmFuc2Zvcm0vdHJhbnNwb3NlIHBhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3g4Ni9md2RfdHhmbV9hdngyLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2Z3ZF90eGZtX2F2
eDIuYwppbmRleCBjOGY1NGE0OWNiYTYuLmEyZWQ0MjBlMzdlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3g4Ni9md2RfdHhmbV9hdngyLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3g4Ni9md2RfdHhmbV9hdngyLmMKQEAgLTgsMzgyICs4LDkgQEAKICAqICBiZSBmb3VuZCBpbiB0
aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KICAqLwogCi0j
aW5jbHVkZSA8aW1taW50cmluLmg+ICAvLyBBVlgyCiAjaW5jbHVkZSAiLi92cHhfY29uZmlnLmgi
CiAjaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKIAotI2luY2x1ZGUgInZweF9kc3AvdHhmbV9j
b21tb24uaCIKLSNkZWZpbmUgQUREMjU2X0VQSTE2IF9tbTI1Nl9hZGRfZXBpMTYKLSNkZWZpbmUg
U1VCMjU2X0VQSTE2IF9tbTI1Nl9zdWJfZXBpMTYKLQotc3RhdGljIElOTElORSB2b2lkIGxvYWRf
YnVmZmVyXzE2Yml0X3RvXzE2Yml0X2F2eDIoY29uc3QgaW50MTZfdCAqaW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlLCBfX20y
NTZpICpvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgb3V0X3NpemUsIGludCBwYXNzKSB7Ci0gIGludCBpOwotICBjb25zdCBfX20yNTZp
IGtPbmUgPSBfbW0yNTZfc2V0MV9lcGkxNigxKTsKLSAgaWYgKHBhc3MgPT0gMCkgewotICAgIGZv
ciAoaSA9IDA7IGkgPCBvdXRfc2l6ZTsgaSsrKSB7Ci0gICAgICBvdXRbaV0gPSBfbW0yNTZfbG9h
ZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoaW4gKyBpICogc3RyaWRlKSk7Ci0gICAgICAvLyB4
ID0geCA8PCAyCi0gICAgICBvdXRbaV0gPSBfbW0yNTZfc2xsaV9lcGkxNihvdXRbaV0sIDIpOwot
ICAgIH0KLSAgfSBlbHNlIHsKLSAgICBmb3IgKGkgPSAwOyBpIDwgb3V0X3NpemU7IGkrKykgewot
ICAgICAgb3V0W2ldID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopKGluICsg
aSAqIDE2KSk7Ci0gICAgICAvLyB4ID0gKHggKyAxKSA+PiAyCi0gICAgICBvdXRbaV0gPSBfbW0y
NTZfYWRkX2VwaTE2KG91dFtpXSwga09uZSk7Ci0gICAgICBvdXRbaV0gPSBfbW0yNTZfc3JhaV9l
cGkxNihvdXRbaV0sIDIpOwotICAgIH0KLSAgfQotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdHJh
bnNwb3NlMl84eDhfYXZ4Mihjb25zdCBfX20yNTZpICpjb25zdCBpbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTI1NmkgKmNvbnN0IG91dCkgewotICBpbnQgaTsK
LSAgX19tMjU2aSB0WzE2XSwgdVsxNl07Ci0gIC8vICgxc3QsIDJuZCkgPT0+IChsbywgaGkpCi0g
IC8vICAgKDAsIDEpICAgPT0+ICAoMCwgMSkKLSAgLy8gICAoMiwgMykgICA9PT4gICgyLCAzKQot
ICAvLyAgICg0LCA1KSAgID09PiAgKDQsIDUpCi0gIC8vICAgKDYsIDcpICAgPT0+ICAoNiwgNykK
LSAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgewotICAgIHRbMiAqIGldID0gX21tMjU2X3VucGFj
a2xvX2VwaTE2KGluWzIgKiBpXSwgaW5bMiAqIGkgKyAxXSk7Ci0gICAgdFsyICogaSArIDFdID0g
X21tMjU2X3VucGFja2hpX2VwaTE2KGluWzIgKiBpXSwgaW5bMiAqIGkgKyAxXSk7Ci0gIH0KLQot
ICAvLyAoMXN0LCAybmQpID09PiAobG8sIGhpKQotICAvLyAgICgwLCAyKSAgID09PiAgKDAsIDIp
Ci0gIC8vICAgKDEsIDMpICAgPT0+ICAoMSwgMykKLSAgLy8gICAoNCwgNikgICA9PT4gICg0LCA2
KQotICAvLyAgICg1LCA3KSAgID09PiAgKDUsIDcpCi0gIGZvciAoaSA9IDA7IGkgPCAyOyBpKysp
IHsKLSAgICB1W2ldID0gX21tMjU2X3VucGFja2xvX2VwaTMyKHRbaV0sIHRbaSArIDJdKTsKLSAg
ICB1W2kgKyAyXSA9IF9tbTI1Nl91bnBhY2toaV9lcGkzMih0W2ldLCB0W2kgKyAyXSk7Ci0KLSAg
ICB1W2kgKyA0XSA9IF9tbTI1Nl91bnBhY2tsb19lcGkzMih0W2kgKyA0XSwgdFtpICsgNl0pOwot
ICAgIHVbaSArIDZdID0gX21tMjU2X3VucGFja2hpX2VwaTMyKHRbaSArIDRdLCB0W2kgKyA2XSk7
Ci0gIH0KLQotICAvLyAoMXN0LCAybmQpID09PiAobG8sIGhpKQotICAvLyAgICgwLCA0KSAgID09
PiAgKDAsIDEpCi0gIC8vICAgKDEsIDUpICAgPT0+ICAoNCwgNSkKLSAgLy8gICAoMiwgNikgICA9
PT4gICgyLCAzKQotICAvLyAgICgzLCA3KSAgID09PiAgKDYsIDcpCi0gIGZvciAoaSA9IDA7IGkg
PCAyOyBpKyspIHsKLSAgICBvdXRbMiAqIGldID0gX21tMjU2X3VucGFja2xvX2VwaTY0KHVbMiAq
IGldLCB1WzIgKiBpICsgNF0pOwotICAgIG91dFsyICogaSArIDFdID0gX21tMjU2X3VucGFja2hp
X2VwaTY0KHVbMiAqIGldLCB1WzIgKiBpICsgNF0pOwotCi0gICAgb3V0WzIgKiBpICsgNF0gPSBf
bW0yNTZfdW5wYWNrbG9fZXBpNjQodVsyICogaSArIDFdLCB1WzIgKiBpICsgNV0pOwotICAgIG91
dFsyICogaSArIDVdID0gX21tMjU2X3VucGFja2hpX2VwaTY0KHVbMiAqIGkgKyAxXSwgdVsyICog
aSArIDVdKTsKLSAgfQotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgdHJhbnNwb3NlXzE2Yml0XzE2
eDE2X2F2eDIoY29uc3QgX19tMjU2aSAqY29uc3QgaW4sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX19tMjU2aSAqY29uc3Qgb3V0KSB7Ci0gIF9fbTI1Nmkg
dFsxNl07Ci0KLSNkZWZpbmUgTE9BREwoaWR4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdFtpZHhdID0gX21tMjU2X2Nhc3Rz
aTEyOF9zaTI1NihfbW1fbG9hZF9zaTEyOCgoX19tMTI4aSBjb25zdCAqKSZpbltpZHhdKSk7IFwK
LSAgdFtpZHhdID0gX21tMjU2X2luc2VydGkxMjhfc2kyNTYoICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHRbaWR4XSwgX21tX2xvYWRfc2kxMjgoKF9f
bTEyOGkgY29uc3QgKikmaW5baWR4ICsgOF0pLCAxKTsKLQotI2RlZmluZSBMT0FEUihpZHgpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIHRbOCArIGlkeF0gPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoX21t
X2xvYWRfc2kxMjgoKF9fbTEyOGkgY29uc3QgKikmaW5baWR4XSArIDEpKTsgXAotICB0WzggKyBp
ZHhdID0gX21tMjU2X2luc2VydGkxMjhfc2kyNTYoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICB0WzggKyBpZHhdLCBfbW1fbG9hZF9zaTEyOCgoX19tMTI4aSBj
b25zdCAqKSZpbltpZHggKyA4XSArIDEpLCAxKTsKLQotICAvLyBsb2FkIGxlZnQgOHgxNgotICBM
T0FETCgwKQotICBMT0FETCgxKQotICBMT0FETCgyKQotICBMT0FETCgzKQotICBMT0FETCg0KQot
ICBMT0FETCg1KQotICBMT0FETCg2KQotICBMT0FETCg3KQotCi0gIC8vIGxvYWQgcmlnaHQgOHgx
NgotICBMT0FEUigwKQotICBMT0FEUigxKQotICBMT0FEUigyKQotICBMT0FEUigzKQotICBMT0FE
Uig0KQotICBMT0FEUig1KQotICBMT0FEUig2KQotICBMT0FEUig3KQotCi0gIC8vIGdldCB0aGUg
dG9wIDE2eDggcmVzdWx0Ci0gIHRyYW5zcG9zZTJfOHg4X2F2eDIodCwgb3V0KTsKLSAgLy8gZ2V0
IHRoZSBib3R0b20gMTZ4OCByZXN1bHQKLSAgdHJhbnNwb3NlMl84eDhfYXZ4MigmdFs4XSwgJm91
dFs4XSk7Ci19Ci0KLS8vIFN0b3JlIDggMTYtYml0IHZhbHVlcy4gU2lnbiBleHRlbmQgdGhlIHZh
bHVlcy4KLXN0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV9idWZmZXJfMTZiaXRfdG9fMzJiaXRfdzE2
X2F2eDIoY29uc3QgX19tMjU2aSAqY29uc3QgaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKm91dCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
IHN0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50IG91dF9zaXplKSB7Ci0gIGludCBpOwotICBmb3IgKGkgPSAwOyBp
IDwgb3V0X3NpemU7ICsraSkgewotICAgIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1NmkgKiko
b3V0KSwgaW5baV0pOwotICAgIG91dCArPSBzdHJpZGU7Ci0gIH0KLX0KLQotI2RlZmluZSBQQUlS
MjU2X1NFVF9FUEkxNihhLCBiKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBfbW0yNTZfc2V0X2VwaTE2KChpbnQxNl90KShiKSwgKGludDE2X3QpKGEpLCAo
aW50MTZfdCkoYiksIChpbnQxNl90KShhKSwgXAotICAgICAgICAgICAgICAgICAgIChpbnQxNl90
KShiKSwgKGludDE2X3QpKGEpLCAoaW50MTZfdCkoYiksIChpbnQxNl90KShhKSwgXAotICAgICAg
ICAgICAgICAgICAgIChpbnQxNl90KShiKSwgKGludDE2X3QpKGEpLCAoaW50MTZfdCkoYiksIChp
bnQxNl90KShhKSwgXAotICAgICAgICAgICAgICAgICAgIChpbnQxNl90KShiKSwgKGludDE2X3Qp
KGEpLCAoaW50MTZfdCkoYiksIChpbnQxNl90KShhKSkKLQotc3RhdGljIElOTElORSBfX20yNTZp
IG11bHQyNTZfcm91bmRfc2hpZnQoY29uc3QgX19tMjU2aSAqcGluMCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9fbTI1NmkgKnBpbjEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfX20yNTZpICpwbXVsdGlw
bGllciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9f
bTI1NmkgKnByb3VuZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGludCBzaGlmdCkgewotICBjb25zdCBfX20yNTZpIHUwID0gX21tMjU2X21hZGRf
ZXBpMTYoKnBpbjAsICpwbXVsdGlwbGllcik7Ci0gIGNvbnN0IF9fbTI1NmkgdTEgPSBfbW0yNTZf
bWFkZF9lcGkxNigqcGluMSwgKnBtdWx0aXBsaWVyKTsKLSAgY29uc3QgX19tMjU2aSB2MCA9IF9t
bTI1Nl9hZGRfZXBpMzIodTAsICpwcm91bmRpbmcpOwotICBjb25zdCBfX20yNTZpIHYxID0gX21t
MjU2X2FkZF9lcGkzMih1MSwgKnByb3VuZGluZyk7Ci0gIGNvbnN0IF9fbTI1NmkgdzAgPSBfbW0y
NTZfc3JhaV9lcGkzMih2MCwgc2hpZnQpOwotICBjb25zdCBfX20yNTZpIHcxID0gX21tMjU2X3Ny
YWlfZXBpMzIodjEsIHNoaWZ0KTsKLSAgcmV0dXJuIF9tbTI1Nl9wYWNrc19lcGkzMih3MCwgdzEp
OwotfQotCi1zdGF0aWMgSU5MSU5FIHZvaWQgZmRjdDE2eDE2XzFEX2F2eDIoX19tMjU2aSAqaW5w
dXQsIF9fbTI1NmkgKm91dHB1dCkgewotICBpbnQgaTsKLSAgX19tMjU2aSBzdGVwMls0XTsKLSAg
X19tMjU2aSBpbls4XTsKLSAgX19tMjU2aSBzdGVwMVs4XTsKLSAgX19tMjU2aSBzdGVwM1s4XTsK
LQotICBjb25zdCBfX20yNTZpIGtfX2Nvc3BpX3AxNl9wMTYgPSBfbW0yNTZfc2V0MV9lcGkxNihj
b3NwaV8xNl82NCk7Ci0gIGNvbnN0IF9fbTI1Nmkga19fY29zcGlfcDE2X20xNiA9IFBBSVIyNTZf
U0VUX0VQSTE2KGNvc3BpXzE2XzY0LCAtY29zcGlfMTZfNjQpOwotICBjb25zdCBfX20yNTZpIGtf
X2Nvc3BpX3AyNF9wMDggPSBQQUlSMjU2X1NFVF9FUEkxNihjb3NwaV8yNF82NCwgY29zcGlfOF82
NCk7Ci0gIGNvbnN0IF9fbTI1Nmkga19fY29zcGlfcDA4X20yNCA9IFBBSVIyNTZfU0VUX0VQSTE2
KGNvc3BpXzhfNjQsIC1jb3NwaV8yNF82NCk7Ci0gIGNvbnN0IF9fbTI1Nmkga19fY29zcGlfbTA4
X3AyNCA9IFBBSVIyNTZfU0VUX0VQSTE2KC1jb3NwaV84XzY0LCBjb3NwaV8yNF82NCk7Ci0gIGNv
bnN0IF9fbTI1Nmkga19fY29zcGlfcDI4X3AwNCA9IFBBSVIyNTZfU0VUX0VQSTE2KGNvc3BpXzI4
XzY0LCBjb3NwaV80XzY0KTsKLSAgY29uc3QgX19tMjU2aSBrX19jb3NwaV9tMDRfcDI4ID0gUEFJ
UjI1Nl9TRVRfRVBJMTYoLWNvc3BpXzRfNjQsIGNvc3BpXzI4XzY0KTsKLSAgY29uc3QgX19tMjU2
aSBrX19jb3NwaV9wMTJfcDIwID0gUEFJUjI1Nl9TRVRfRVBJMTYoY29zcGlfMTJfNjQsIGNvc3Bp
XzIwXzY0KTsKLSAgY29uc3QgX19tMjU2aSBrX19jb3NwaV9tMjBfcDEyID0gUEFJUjI1Nl9TRVRf
RVBJMTYoLWNvc3BpXzIwXzY0LCBjb3NwaV8xMl82NCk7Ci0gIGNvbnN0IF9fbTI1Nmkga19fY29z
cGlfcDMwX3AwMiA9IFBBSVIyNTZfU0VUX0VQSTE2KGNvc3BpXzMwXzY0LCBjb3NwaV8yXzY0KTsK
LSAgY29uc3QgX19tMjU2aSBrX19jb3NwaV9wMTRfcDE4ID0gUEFJUjI1Nl9TRVRfRVBJMTYoY29z
cGlfMTRfNjQsIGNvc3BpXzE4XzY0KTsKLSAgY29uc3QgX19tMjU2aSBrX19jb3NwaV9tMDJfcDMw
ID0gUEFJUjI1Nl9TRVRfRVBJMTYoLWNvc3BpXzJfNjQsIGNvc3BpXzMwXzY0KTsKLSAgY29uc3Qg
X19tMjU2aSBrX19jb3NwaV9tMThfcDE0ID0gUEFJUjI1Nl9TRVRfRVBJMTYoLWNvc3BpXzE4XzY0
LCBjb3NwaV8xNF82NCk7Ci0gIGNvbnN0IF9fbTI1Nmkga19fY29zcGlfcDIyX3AxMCA9IFBBSVIy
NTZfU0VUX0VQSTE2KGNvc3BpXzIyXzY0LCBjb3NwaV8xMF82NCk7Ci0gIGNvbnN0IF9fbTI1Nmkg
a19fY29zcGlfcDA2X3AyNiA9IFBBSVIyNTZfU0VUX0VQSTE2KGNvc3BpXzZfNjQsIGNvc3BpXzI2
XzY0KTsKLSAgY29uc3QgX19tMjU2aSBrX19jb3NwaV9tMTBfcDIyID0gUEFJUjI1Nl9TRVRfRVBJ
MTYoLWNvc3BpXzEwXzY0LCBjb3NwaV8yMl82NCk7Ci0gIGNvbnN0IF9fbTI1Nmkga19fY29zcGlf
bTI2X3AwNiA9IFBBSVIyNTZfU0VUX0VQSTE2KC1jb3NwaV8yNl82NCwgY29zcGlfNl82NCk7Ci0g
IGNvbnN0IF9fbTI1Nmkga19fRENUX0NPTlNUX1JPVU5ESU5HID0gX21tMjU2X3NldDFfZXBpMzIo
RENUX0NPTlNUX1JPVU5ESU5HKTsKLQotICAvLyBDYWxjdWxhdGUgaW5wdXQgZm9yIHRoZSBmaXJz
dCA4IHJlc3VsdHMuCi0gIGZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKLSAgICBpbltpXSA9IEFE
RDI1Nl9FUEkxNihpbnB1dFtpXSwgaW5wdXRbMTUgLSBpXSk7Ci0gIH0KLQotICAvLyBDYWxjdWxh
dGUgaW5wdXQgZm9yIHRoZSBuZXh0IDggcmVzdWx0cy4KLSAgZm9yIChpID0gMDsgaSA8IDg7IGkr
KykgewotICAgIHN0ZXAxW2ldID0gU1VCMjU2X0VQSTE2KGlucHV0WzcgLSBpXSwgaW5wdXRbOCAr
IGldKTsKLSAgfQotCi0gIC8vIFdvcmsgb24gdGhlIGZpcnN0IGVpZ2h0IHZhbHVlczsgZmRjdDgo
aW5wdXQsIGV2ZW5fcmVzdWx0cyk7Ci0gIHsKLSAgICAvLyBBZGQvc3VidHJhY3QKLSAgICBjb25z
dCBfX20yNTZpIHEwID0gQUREMjU2X0VQSTE2KGluWzBdLCBpbls3XSk7Ci0gICAgY29uc3QgX19t
MjU2aSBxMSA9IEFERDI1Nl9FUEkxNihpblsxXSwgaW5bNl0pOwotICAgIGNvbnN0IF9fbTI1Nmkg
cTIgPSBBREQyNTZfRVBJMTYoaW5bMl0sIGluWzVdKTsKLSAgICBjb25zdCBfX20yNTZpIHEzID0g
QUREMjU2X0VQSTE2KGluWzNdLCBpbls0XSk7Ci0gICAgY29uc3QgX19tMjU2aSBxNCA9IFNVQjI1
Nl9FUEkxNihpblszXSwgaW5bNF0pOwotICAgIGNvbnN0IF9fbTI1NmkgcTUgPSBTVUIyNTZfRVBJ
MTYoaW5bMl0sIGluWzVdKTsKLSAgICBjb25zdCBfX20yNTZpIHE2ID0gU1VCMjU2X0VQSTE2KGlu
WzFdLCBpbls2XSk7Ci0gICAgY29uc3QgX19tMjU2aSBxNyA9IFNVQjI1Nl9FUEkxNihpblswXSwg
aW5bN10pOwotCi0gICAgLy8gV29yayBvbiBmaXJzdCBmb3VyIHJlc3VsdHMKLSAgICB7Ci0gICAg
ICAvLyBBZGQvc3VidHJhY3QKLSAgICAgIGNvbnN0IF9fbTI1NmkgcjAgPSBBREQyNTZfRVBJMTYo
cTAsIHEzKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgcjEgPSBBREQyNTZfRVBJMTYocTEsIHEyKTsK
LSAgICAgIGNvbnN0IF9fbTI1NmkgcjIgPSBTVUIyNTZfRVBJMTYocTEsIHEyKTsKLSAgICAgIGNv
bnN0IF9fbTI1NmkgcjMgPSBTVUIyNTZfRVBJMTYocTAsIHEzKTsKLQotICAgICAgLy8gSW50ZXJs
ZWF2ZSB0byBkbyB0aGUgbXVsdGlwbHkgYnkgY29uc3RhbnRzIHdoaWNoIGdldHMgdXMKLSAgICAg
IC8vIGludG8gMzIgYml0cy4KLSAgICAgIHsKLSAgICAgICAgY29uc3QgX19tMjU2aSB0MCA9IF9t
bTI1Nl91bnBhY2tsb19lcGkxNihyMCwgcjEpOwotICAgICAgICBjb25zdCBfX20yNTZpIHQxID0g
X21tMjU2X3VucGFja2hpX2VwaTE2KHIwLCByMSk7Ci0gICAgICAgIGNvbnN0IF9fbTI1NmkgdDIg
PSBfbW0yNTZfdW5wYWNrbG9fZXBpMTYocjIsIHIzKTsKLSAgICAgICAgY29uc3QgX19tMjU2aSB0
MyA9IF9tbTI1Nl91bnBhY2toaV9lcGkxNihyMiwgcjMpOwotCi0gICAgICAgIG91dHB1dFswXSA9
IG11bHQyNTZfcm91bmRfc2hpZnQoJnQwLCAmdDEsICZrX19jb3NwaV9wMTZfcDE2LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZrX19EQ1RfQ09OU1RfUk9VTkRJTkcs
IERDVF9DT05TVF9CSVRTKTsKLSAgICAgICAgb3V0cHV0WzhdID0gbXVsdDI1Nl9yb3VuZF9zaGlm
dCgmdDAsICZ0MSwgJmtfX2Nvc3BpX3AxNl9tMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmtfX0RDVF9DT05TVF9ST1VORElORywgRENUX0NPTlNUX0JJVFMpOwot
ICAgICAgICBvdXRwdXRbNF0gPSBtdWx0MjU2X3JvdW5kX3NoaWZ0KCZ0MiwgJnQzLCAma19fY29z
cGlfcDI0X3AwOCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma19f
RENUX0NPTlNUX1JPVU5ESU5HLCBEQ1RfQ09OU1RfQklUUyk7Ci0gICAgICAgIG91dHB1dFsxMl0g
PQotICAgICAgICAgICAgbXVsdDI1Nl9yb3VuZF9zaGlmdCgmdDIsICZ0MywgJmtfX2Nvc3BpX20w
OF9wMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZrX19EQ1RfQ09OU1RfUk9V
TkRJTkcsIERDVF9DT05TVF9CSVRTKTsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBXb3JrIG9u
IG5leHQgZm91ciByZXN1bHRzCi0gICAgewotICAgICAgLy8gSW50ZXJsZWF2ZSB0byBkbyB0aGUg
bXVsdGlwbHkgYnkgY29uc3RhbnRzIHdoaWNoIGdldHMgdXMKLSAgICAgIC8vIGludG8gMzIgYml0
cy4KLSAgICAgIGNvbnN0IF9fbTI1NmkgZDAgPSBfbW0yNTZfdW5wYWNrbG9fZXBpMTYocTYsIHE1
KTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgZDEgPSBfbW0yNTZfdW5wYWNraGlfZXBpMTYocTYsIHE1
KTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgcjAgPSBtdWx0MjU2X3JvdW5kX3NoaWZ0KAotICAgICAg
ICAgICZkMCwgJmQxLCAma19fY29zcGlfcDE2X20xNiwgJmtfX0RDVF9DT05TVF9ST1VORElORywg
RENUX0NPTlNUX0JJVFMpOwotICAgICAgY29uc3QgX19tMjU2aSByMSA9IG11bHQyNTZfcm91bmRf
c2hpZnQoCi0gICAgICAgICAgJmQwLCAmZDEsICZrX19jb3NwaV9wMTZfcDE2LCAma19fRENUX0NP
TlNUX1JPVU5ESU5HLCBEQ1RfQ09OU1RfQklUUyk7Ci0KLSAgICAgIHsKLSAgICAgICAgLy8gQWRk
L3N1YnRyYWN0Ci0gICAgICAgIGNvbnN0IF9fbTI1NmkgeDAgPSBBREQyNTZfRVBJMTYocTQsIHIw
KTsKLSAgICAgICAgY29uc3QgX19tMjU2aSB4MSA9IFNVQjI1Nl9FUEkxNihxNCwgcjApOwotICAg
ICAgICBjb25zdCBfX20yNTZpIHgyID0gU1VCMjU2X0VQSTE2KHE3LCByMSk7Ci0gICAgICAgIGNv
bnN0IF9fbTI1NmkgeDMgPSBBREQyNTZfRVBJMTYocTcsIHIxKTsKLQotICAgICAgICAvLyBJbnRl
cmxlYXZlIHRvIGRvIHRoZSBtdWx0aXBseSBieSBjb25zdGFudHMgd2hpY2ggZ2V0cyB1cwotICAg
ICAgICAvLyBpbnRvIDMyIGJpdHMuCi0gICAgICAgIHsKLSAgICAgICAgICBjb25zdCBfX20yNTZp
IHQwID0gX21tMjU2X3VucGFja2xvX2VwaTE2KHgwLCB4Myk7Ci0gICAgICAgICAgY29uc3QgX19t
MjU2aSB0MSA9IF9tbTI1Nl91bnBhY2toaV9lcGkxNih4MCwgeDMpOwotICAgICAgICAgIGNvbnN0
IF9fbTI1NmkgdDIgPSBfbW0yNTZfdW5wYWNrbG9fZXBpMTYoeDEsIHgyKTsKLSAgICAgICAgICBj
b25zdCBfX20yNTZpIHQzID0gX21tMjU2X3VucGFja2hpX2VwaTE2KHgxLCB4Mik7Ci0gICAgICAg
ICAgb3V0cHV0WzJdID0KLSAgICAgICAgICAgICAgbXVsdDI1Nl9yb3VuZF9zaGlmdCgmdDAsICZ0
MSwgJmtfX2Nvc3BpX3AyOF9wMDQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmtfX0RDVF9DT05TVF9ST1VORElORywgRENUX0NPTlNUX0JJVFMpOwotICAgICAgICAgIG91dHB1
dFsxNF0gPQotICAgICAgICAgICAgICBtdWx0MjU2X3JvdW5kX3NoaWZ0KCZ0MCwgJnQxLCAma19f
Y29zcGlfbTA0X3AyOCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma19fRENU
X0NPTlNUX1JPVU5ESU5HLCBEQ1RfQ09OU1RfQklUUyk7Ci0gICAgICAgICAgb3V0cHV0WzEwXSA9
Ci0gICAgICAgICAgICAgIG11bHQyNTZfcm91bmRfc2hpZnQoJnQyLCAmdDMsICZrX19jb3NwaV9w
MTJfcDIwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZrX19EQ1RfQ09OU1Rf
Uk9VTkRJTkcsIERDVF9DT05TVF9CSVRTKTsKLSAgICAgICAgICBvdXRwdXRbNl0gPQotICAgICAg
ICAgICAgICBtdWx0MjU2X3JvdW5kX3NoaWZ0KCZ0MiwgJnQzLCAma19fY29zcGlfbTIwX3AxMiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma19fRENUX0NPTlNUX1JPVU5ESU5H
LCBEQ1RfQ09OU1RfQklUUyk7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0gIH0KLSAgLy8g
V29yayBvbiB0aGUgbmV4dCBlaWdodCB2YWx1ZXM7IHN0ZXAxIC0+IG9kZF9yZXN1bHRzCi0gIHsg
IC8vIHN0ZXAgMgotICAgIHsKLSAgICAgIGNvbnN0IF9fbTI1NmkgdDAgPSBfbW0yNTZfdW5wYWNr
bG9fZXBpMTYoc3RlcDFbNV0sIHN0ZXAxWzJdKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgdDEgPSBf
bW0yNTZfdW5wYWNraGlfZXBpMTYoc3RlcDFbNV0sIHN0ZXAxWzJdKTsKLSAgICAgIGNvbnN0IF9f
bTI1NmkgdDIgPSBfbW0yNTZfdW5wYWNrbG9fZXBpMTYoc3RlcDFbNF0sIHN0ZXAxWzNdKTsKLSAg
ICAgIGNvbnN0IF9fbTI1NmkgdDMgPSBfbW0yNTZfdW5wYWNraGlfZXBpMTYoc3RlcDFbNF0sIHN0
ZXAxWzNdKTsKLSAgICAgIHN0ZXAyWzBdID0gbXVsdDI1Nl9yb3VuZF9zaGlmdCgmdDAsICZ0MSwg
JmtfX2Nvc3BpX3AxNl9tMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmtfX0RDVF9DT05TVF9ST1VORElORywgRENUX0NPTlNUX0JJVFMpOwotICAgICAgc3RlcDJbMV0g
PSBtdWx0MjU2X3JvdW5kX3NoaWZ0KCZ0MiwgJnQzLCAma19fY29zcGlfcDE2X20xNiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma19fRENUX0NPTlNUX1JPVU5ESU5HLCBE
Q1RfQ09OU1RfQklUUyk7Ci0gICAgICBzdGVwMlsyXSA9IG11bHQyNTZfcm91bmRfc2hpZnQoJnQw
LCAmdDEsICZrX19jb3NwaV9wMTZfcDE2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZrX19EQ1RfQ09OU1RfUk9VTkRJTkcsIERDVF9DT05TVF9CSVRTKTsKLSAgICAgIHN0
ZXAyWzNdID0gbXVsdDI1Nl9yb3VuZF9zaGlmdCgmdDIsICZ0MywgJmtfX2Nvc3BpX3AxNl9wMTYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtfX0RDVF9DT05TVF9ST1VO
RElORywgRENUX0NPTlNUX0JJVFMpOwotICAgIH0KLSAgICAvLyBzdGVwIDMKLSAgICB7Ci0gICAg
ICBzdGVwM1swXSA9IEFERDI1Nl9FUEkxNihzdGVwMVswXSwgc3RlcDJbMV0pOwotICAgICAgc3Rl
cDNbMV0gPSBBREQyNTZfRVBJMTYoc3RlcDFbMV0sIHN0ZXAyWzBdKTsKLSAgICAgIHN0ZXAzWzJd
ID0gU1VCMjU2X0VQSTE2KHN0ZXAxWzFdLCBzdGVwMlswXSk7Ci0gICAgICBzdGVwM1szXSA9IFNV
QjI1Nl9FUEkxNihzdGVwMVswXSwgc3RlcDJbMV0pOwotICAgICAgc3RlcDNbNF0gPSBTVUIyNTZf
RVBJMTYoc3RlcDFbN10sIHN0ZXAyWzNdKTsKLSAgICAgIHN0ZXAzWzVdID0gU1VCMjU2X0VQSTE2
KHN0ZXAxWzZdLCBzdGVwMlsyXSk7Ci0gICAgICBzdGVwM1s2XSA9IEFERDI1Nl9FUEkxNihzdGVw
MVs2XSwgc3RlcDJbMl0pOwotICAgICAgc3RlcDNbN10gPSBBREQyNTZfRVBJMTYoc3RlcDFbN10s
IHN0ZXAyWzNdKTsKLSAgICB9Ci0gICAgLy8gc3RlcCA0Ci0gICAgewotICAgICAgY29uc3QgX19t
MjU2aSB0MCA9IF9tbTI1Nl91bnBhY2tsb19lcGkxNihzdGVwM1sxXSwgc3RlcDNbNl0pOwotICAg
ICAgY29uc3QgX19tMjU2aSB0MSA9IF9tbTI1Nl91bnBhY2toaV9lcGkxNihzdGVwM1sxXSwgc3Rl
cDNbNl0pOwotICAgICAgY29uc3QgX19tMjU2aSB0MiA9IF9tbTI1Nl91bnBhY2tsb19lcGkxNihz
dGVwM1syXSwgc3RlcDNbNV0pOwotICAgICAgY29uc3QgX19tMjU2aSB0MyA9IF9tbTI1Nl91bnBh
Y2toaV9lcGkxNihzdGVwM1syXSwgc3RlcDNbNV0pOwotICAgICAgc3RlcDJbMF0gPSBtdWx0MjU2
X3JvdW5kX3NoaWZ0KCZ0MCwgJnQxLCAma19fY29zcGlfbTA4X3AyNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAma19fRENUX0NPTlNUX1JPVU5ESU5HLCBEQ1RfQ09OU1Rf
QklUUyk7Ci0gICAgICBzdGVwMlsxXSA9IG11bHQyNTZfcm91bmRfc2hpZnQoJnQyLCAmdDMsICZr
X19jb3NwaV9wMjRfcDA4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZr
X19EQ1RfQ09OU1RfUk9VTkRJTkcsIERDVF9DT05TVF9CSVRTKTsKLSAgICAgIHN0ZXAyWzJdID0g
bXVsdDI1Nl9yb3VuZF9zaGlmdCgmdDAsICZ0MSwgJmtfX2Nvc3BpX3AyNF9wMDgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtfX0RDVF9DT05TVF9ST1VORElORywgRENU
X0NPTlNUX0JJVFMpOwotICAgICAgc3RlcDJbM10gPSBtdWx0MjU2X3JvdW5kX3NoaWZ0KCZ0Miwg
JnQzLCAma19fY29zcGlfcDA4X20yNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAma19fRENUX0NPTlNUX1JPVU5ESU5HLCBEQ1RfQ09OU1RfQklUUyk7Ci0gICAgfQotICAg
IC8vIHN0ZXAgNQotICAgIHsKLSAgICAgIHN0ZXAxWzBdID0gQUREMjU2X0VQSTE2KHN0ZXAzWzBd
LCBzdGVwMlswXSk7Ci0gICAgICBzdGVwMVsxXSA9IFNVQjI1Nl9FUEkxNihzdGVwM1swXSwgc3Rl
cDJbMF0pOwotICAgICAgc3RlcDFbMl0gPSBBREQyNTZfRVBJMTYoc3RlcDNbM10sIHN0ZXAyWzFd
KTsKLSAgICAgIHN0ZXAxWzNdID0gU1VCMjU2X0VQSTE2KHN0ZXAzWzNdLCBzdGVwMlsxXSk7Ci0g
ICAgICBzdGVwMVs0XSA9IFNVQjI1Nl9FUEkxNihzdGVwM1s0XSwgc3RlcDJbM10pOwotICAgICAg
c3RlcDFbNV0gPSBBREQyNTZfRVBJMTYoc3RlcDNbNF0sIHN0ZXAyWzNdKTsKLSAgICAgIHN0ZXAx
WzZdID0gU1VCMjU2X0VQSTE2KHN0ZXAzWzddLCBzdGVwMlsyXSk7Ci0gICAgICBzdGVwMVs3XSA9
IEFERDI1Nl9FUEkxNihzdGVwM1s3XSwgc3RlcDJbMl0pOwotICAgIH0KLSAgICAvLyBzdGVwIDYK
LSAgICB7Ci0gICAgICBjb25zdCBfX20yNTZpIHQwID0gX21tMjU2X3VucGFja2xvX2VwaTE2KHN0
ZXAxWzBdLCBzdGVwMVs3XSk7Ci0gICAgICBjb25zdCBfX20yNTZpIHQxID0gX21tMjU2X3VucGFj
a2hpX2VwaTE2KHN0ZXAxWzBdLCBzdGVwMVs3XSk7Ci0gICAgICBjb25zdCBfX20yNTZpIHQyID0g
X21tMjU2X3VucGFja2xvX2VwaTE2KHN0ZXAxWzFdLCBzdGVwMVs2XSk7Ci0gICAgICBjb25zdCBf
X20yNTZpIHQzID0gX21tMjU2X3VucGFja2hpX2VwaTE2KHN0ZXAxWzFdLCBzdGVwMVs2XSk7Ci0g
ICAgICBvdXRwdXRbMV0gPSBtdWx0MjU2X3JvdW5kX3NoaWZ0KCZ0MCwgJnQxLCAma19fY29zcGlf
cDMwX3AwMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtfX0RDVF9D
T05TVF9ST1VORElORywgRENUX0NPTlNUX0JJVFMpOwotICAgICAgb3V0cHV0WzldID0gbXVsdDI1
Nl9yb3VuZF9zaGlmdCgmdDIsICZ0MywgJmtfX2Nvc3BpX3AxNF9wMTgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZrX19EQ1RfQ09OU1RfUk9VTkRJTkcsIERDVF9DT05T
VF9CSVRTKTsKLSAgICAgIG91dHB1dFsxNV0gPSBtdWx0MjU2X3JvdW5kX3NoaWZ0KCZ0MCwgJnQx
LCAma19fY29zcGlfbTAyX3AzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZrX19EQ1RfQ09OU1RfUk9VTkRJTkcsIERDVF9DT05TVF9CSVRTKTsKLSAgICAgIG91dHB1
dFs3XSA9IG11bHQyNTZfcm91bmRfc2hpZnQoJnQyLCAmdDMsICZrX19jb3NwaV9tMThfcDE0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma19fRENUX0NPTlNUX1JPVU5E
SU5HLCBEQ1RfQ09OU1RfQklUUyk7Ci0gICAgfQotICAgIHsKLSAgICAgIGNvbnN0IF9fbTI1Nmkg
dDAgPSBfbW0yNTZfdW5wYWNrbG9fZXBpMTYoc3RlcDFbMl0sIHN0ZXAxWzVdKTsKLSAgICAgIGNv
bnN0IF9fbTI1NmkgdDEgPSBfbW0yNTZfdW5wYWNraGlfZXBpMTYoc3RlcDFbMl0sIHN0ZXAxWzVd
KTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgdDIgPSBfbW0yNTZfdW5wYWNrbG9fZXBpMTYoc3RlcDFb
M10sIHN0ZXAxWzRdKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgdDMgPSBfbW0yNTZfdW5wYWNraGlf
ZXBpMTYoc3RlcDFbM10sIHN0ZXAxWzRdKTsKLSAgICAgIG91dHB1dFs1XSA9IG11bHQyNTZfcm91
bmRfc2hpZnQoJnQwLCAmdDEsICZrX19jb3NwaV9wMjJfcDEwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAma19fRENUX0NPTlNUX1JPVU5ESU5HLCBEQ1RfQ09OU1RfQklU
Uyk7Ci0gICAgICBvdXRwdXRbMTNdID0gbXVsdDI1Nl9yb3VuZF9zaGlmdCgmdDIsICZ0MywgJmtf
X2Nvc3BpX3AwNl9wMjYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
a19fRENUX0NPTlNUX1JPVU5ESU5HLCBEQ1RfQ09OU1RfQklUUyk7Ci0gICAgICBvdXRwdXRbMTFd
ID0gbXVsdDI1Nl9yb3VuZF9zaGlmdCgmdDAsICZ0MSwgJmtfX2Nvc3BpX20xMF9wMjIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma19fRENUX0NPTlNUX1JPVU5ESU5H
LCBEQ1RfQ09OU1RfQklUUyk7Ci0gICAgICBvdXRwdXRbM10gPSBtdWx0MjU2X3JvdW5kX3NoaWZ0
KCZ0MiwgJnQzLCAma19fY29zcGlfbTI2X3AwNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmtfX0RDVF9DT05TVF9ST1VORElORywgRENUX0NPTlNUX0JJVFMpOwotICAg
IH0KLSAgfQotfQotCi12b2lkIHZweF9mZGN0MTZ4MTZfYXZ4Mihjb25zdCBpbnQxNl90ICppbnB1
dCwgdHJhbl9sb3dfdCAqb3V0cHV0LCBpbnQgc3RyaWRlKSB7Ci0gIGludCBwYXNzOwotICBERUNM
QVJFX0FMSUdORUQoMzIsIGludDE2X3QsIGludGVybWVkaWF0ZVsyNTZdKTsKLSAgaW50MTZfdCAq
b3V0MCA9IGludGVybWVkaWF0ZTsKLSAgdHJhbl9sb3dfdCAqb3V0MSA9IG91dHB1dDsKLSAgY29u
c3QgaW50IHdpZHRoID0gMTY7Ci0gIGNvbnN0IGludCBoZWlnaHQgPSAxNjsKLSAgX19tMjU2aSBi
dWYwWzE2XSwgYnVmMVsxNl07Ci0KLSAgLy8gVHdvIHRyYW5zZm9ybSBhbmQgdHJhbnNwb3NlIHBh
c3NlcwotICAvLyBQcm9jZXNzIDE2IGNvbHVtbnMgKHRyYW5zcG9zZWQgcm93cyBpbiBzZWNvbmQg
cGFzcykgYXQgYSB0aW1lLgotICBmb3IgKHBhc3MgPSAwOyBwYXNzIDwgMjsgKytwYXNzKSB7Ci0g
ICAgLy8gTG9hZCBhbmQgcHJlLWNvbmRpdGlvbiBpbnB1dC4KLSAgICBsb2FkX2J1ZmZlcl8xNmJp
dF90b18xNmJpdF9hdngyKGlucHV0LCBzdHJpZGUsIGJ1ZjEsIGhlaWdodCwgcGFzcyk7Ci0KLSAg
ICAvLyBDYWxjdWxhdGUgZGN0IGZvciAxNngxNiB2YWx1ZXMKLSAgICBmZGN0MTZ4MTZfMURfYXZ4
MihidWYxLCBidWYwKTsKLQotICAgIC8vIFRyYW5zcG9zZSB0aGUgcmVzdWx0cy4KLSAgICB0cmFu
c3Bvc2VfMTZiaXRfMTZ4MTZfYXZ4MihidWYwLCBidWYxKTsKLQotICAgIGlmIChwYXNzID09IDAp
IHsKLSAgICAgIHN0b3JlX2J1ZmZlcl8xNmJpdF90b18zMmJpdF93MTZfYXZ4MihidWYxLCBvdXQw
LCB3aWR0aCwgaGVpZ2h0KTsKLSAgICB9IGVsc2UgewotICAgICAgc3RvcmVfYnVmZmVyXzE2Yml0
X3RvXzMyYml0X3cxNl9hdngyKGJ1ZjEsIG91dDEsIHdpZHRoLCBoZWlnaHQpOwotICAgIH0KLSAg
ICAvLyBTZXR1cCBpbi9vdXQgZm9yIG5leHQgcGFzcy4KLSAgICBpbnB1dCA9IGludGVybWVkaWF0
ZTsKLSAgfQotfQotCiAjaWYgIUNPTkZJR19WUDlfSElHSEJJVERFUFRICiAjZGVmaW5lIEZEQ1Qz
MngzMl8yRF9BVlgyIHZweF9mZGN0MzJ4MzJfcmRfYXZ4MgogI2RlZmluZSBGRENUMzJ4MzJfSElH
SF9QUkVDSVNJT04gMApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRf
Y29udm9sdmVfYXZ4Mi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfY29udm9sdmVf
YXZ4Mi5jCmluZGV4IDAxYTUyZWM4YmY0Mi4uMzIwOTYyNTYxN2RiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9jb252b2x2ZV9hdngyLmMKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9oaWdoYmRfY29udm9sdmVfYXZ4Mi5jCkBAIC0xNDY1LDEwICsxNDY1LDEw
IEBAIGhpZ2hiZF9maWx0ZXI4XzFkZnVuY3Rpb24gdnB4X2hpZ2hiZF9maWx0ZXJfYmxvY2sxZDRf
djJfc3NlMjsKICNkZWZpbmUgdnB4X2hpZ2hiZF9maWx0ZXJfYmxvY2sxZDRfaDRfYXZnX2F2eDIg
XAogICB2cHhfaGlnaGJkX2ZpbHRlcl9ibG9jazFkNF9oOF9hdmdfYXZ4MgogCi1ISUdIX0ZVTl9D
T05WXzFEKGhvcml6LCB4MF9xNCwgeF9zdGVwX3E0LCBoLCBzcmMsICwgYXZ4MiwgMCkKK0hJR0hf
RlVOX0NPTlZfMUQoaG9yaXosIHgwX3E0LCB4X3N0ZXBfcTQsIGgsIHNyYywgLCBhdngyLCAwKTsK
IEhJR0hfRlVOX0NPTlZfMUQodmVydCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwKLSAgICAgICAgICAg
ICAgICAgc3JjIC0gc3JjX3N0cmlkZSAqIChudW1fdGFwcyAvIDIgLSAxKSwgLCBhdngyLCAwKQot
SElHSF9GVU5fQ09OVl8yRCgsIGF2eDIsIDApCisgICAgICAgICAgICAgICAgIHNyYyAtIHNyY19z
dHJpZGUgKiAobnVtX3RhcHMgLyAyIC0gMSksICwgYXZ4MiwgMCk7CitISUdIX0ZVTl9DT05WXzJE
KCwgYXZ4MiwgMCk7CiAKIC8vIEZyb20gdnB4X2RzcC94ODYvdnB4X2hpZ2hfc3VicGl4ZWxfOHRf
c3NlMi5hc20uCiBoaWdoYmRfZmlsdGVyOF8xZGZ1bmN0aW9uIHZweF9oaWdoYmRfZmlsdGVyX2Js
b2NrMWQ0X2g4X2F2Z19zc2UyOwpAQCAtMTQ4Nyw5ICsxNDg3LDkgQEAgaGlnaGJkX2ZpbHRlcjhf
MWRmdW5jdGlvbiB2cHhfaGlnaGJkX2ZpbHRlcl9ibG9jazFkNF92Ml9hdmdfc3NlMjsKICNkZWZp
bmUgdnB4X2hpZ2hiZF9maWx0ZXJfYmxvY2sxZDRfdjJfYXZnX2F2eDIgXAogICB2cHhfaGlnaGJk
X2ZpbHRlcl9ibG9jazFkNF92Ml9hdmdfc3NlMgogCi1ISUdIX0ZVTl9DT05WXzFEKGF2Z19ob3Jp
eiwgeDBfcTQsIHhfc3RlcF9xNCwgaCwgc3JjLCBhdmdfLCBhdngyLCAxKQorSElHSF9GVU5fQ09O
Vl8xRChhdmdfaG9yaXosIHgwX3E0LCB4X3N0ZXBfcTQsIGgsIHNyYywgYXZnXywgYXZ4MiwgMSk7
CiBISUdIX0ZVTl9DT05WXzFEKGF2Z192ZXJ0LCB5MF9xNCwgeV9zdGVwX3E0LCB2LAotICAgICAg
ICAgICAgICAgICBzcmMgLSBzcmNfc3RyaWRlICogKG51bV90YXBzIC8gMiAtIDEpLCBhdmdfLCBh
dngyLCAxKQotSElHSF9GVU5fQ09OVl8yRChhdmdfLCBhdngyLCAxKQorICAgICAgICAgICAgICAg
ICBzcmMgLSBzcmNfc3RyaWRlICogKG51bV90YXBzIC8gMiAtIDEpLCBhdmdfLCBhdngyLCAxKTsK
K0hJR0hfRlVOX0NPTlZfMkQoYXZnXywgYXZ4MiwgMSk7CiAKICN1bmRlZiBISUdIQkRfRlVOQwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfaW52X3R4Zm1fc3NlMi5o
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfaW52X3R4Zm1fc3NlMi5oCmluZGV4IDFk
MDczOTFiMDI3ZC4uNzhjZjkxMTFkOTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L2hpZ2hiZF9pbnZfdHhmbV9zc2UyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9o
aWdoYmRfaW52X3R4Zm1fc3NlMi5oCkBAIC0yNDksNyArMjQ5LDcgQEAgc3RhdGljIElOTElORSB2
b2lkIGhpZ2hiZF9pZGN0MTZfNGNvbF9zdGFnZTcoY29uc3QgX19tMTI4aSAqY29uc3QgaW4sCiAK
IHN0YXRpYyBJTkxJTkUgX19tMTI4aSBhZGRfY2xhbXAoY29uc3QgX19tMTI4aSBpbjAsIGNvbnN0
IF9fbTEyOGkgaW4xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQg
YmQpIHsKLSAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldHplcm9fc2kxMjgoKTsKKyAgY29u
c3QgX19tMTI4aSB6ZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAgIC8vIEZhc3RlciB0aGFuIF9t
bV9zZXQxX2VwaTE2KCgxIDw8IGJkKSAtIDEpLgogICBjb25zdCBfX20xMjhpIG9uZSA9IF9tbV9z
ZXQxX2VwaTE2KDEpOwogICBjb25zdCBfX20xMjhpIG1heCA9IF9tbV9zdWJfZXBpMTYoX21tX3Ns
bGlfZXBpMTYob25lLCBiZCksIG9uZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L2hpZ2hiZF9sb29wZmlsdGVyX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGln
aGJkX2xvb3BmaWx0ZXJfc3NlMi5jCmluZGV4IDlmNDU2MjNkZWVlYi4uZDI2NWZjMWE5MjE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9sb29wZmlsdGVyX3NzZTIu
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9sb29wZmlsdGVyX3NzZTIuYwpA
QCAtMTgsNyArMTgsNyBAQCBzdGF0aWMgSU5MSU5FIF9fbTEyOGkgc2lnbmVkX2NoYXJfY2xhbXBf
YmRfc3NlMihfX20xMjhpIHZhbHVlLCBpbnQgYmQpIHsKICAgX19tMTI4aSBsYm91bmRlZDsKICAg
X19tMTI4aSByZXR2YWw7CiAKLSAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldHplcm9fc2kx
MjgoKTsKKyAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAgIGNvbnN0
IF9fbTEyOGkgb25lID0gX21tX3NldDFfZXBpMTYoMSk7CiAgIF9fbTEyOGkgdDgwLCBtYXgsIG1p
bjsKIApAQCAtNTEsNyArNTEsNyBAQCB2b2lkIHZweF9oaWdoYmRfbHBmX2hvcml6b250YWxfMTZf
c3NlMih1aW50MTZfdCAqcywgaW50IHBpdGNoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYmxpbWl0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqbGltaXQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICp0aHJlc2gsIGludCBiZCkgewot
ICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0emVyb19zaTEyOCgpOworICBjb25zdCBfX20x
MjhpIHplcm8gPSBfbW1fc2V0MV9lcGkxNigwKTsKICAgY29uc3QgX19tMTI4aSBvbmUgPSBfbW1f
c2V0MV9lcGkxNigxKTsKICAgX19tMTI4aSBibGltaXRfdiwgbGltaXRfdiwgdGhyZXNoX3Y7CiAg
IF9fbTEyOGkgcTcsIHA3LCBxNiwgcDYsIHE1LCBwNSwgcTQsIHA0LCBxMywgcDMsIHEyLCBwMiwg
cTEsIHAxLCBxMCwgcDA7CkBAIC00OTIsNyArNDkyLDcgQEAgdm9pZCB2cHhfaGlnaGJkX2xwZl9o
b3Jpem9udGFsXzhfc3NlMih1aW50MTZfdCAqcywgaW50IHBpdGNoLAogICBERUNMQVJFX0FMSUdO
RUQoMTYsIHVpbnQxNl90LCBmbGF0X29xMlsxNl0pOwogICBERUNMQVJFX0FMSUdORUQoMTYsIHVp
bnQxNl90LCBmbGF0X29xMVsxNl0pOwogICBERUNMQVJFX0FMSUdORUQoMTYsIHVpbnQxNl90LCBm
bGF0X29xMFsxNl0pOwotICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0emVyb19zaTEyOCgp
OworICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0MV9lcGkxNigwKTsKICAgX19tMTI4aSBi
bGltaXRfdiwgbGltaXRfdiwgdGhyZXNoX3Y7CiAgIF9fbTEyOGkgbWFzaywgaGV2LCBmbGF0Owog
ICBfX20xMjhpIHAzID0gX21tX2xvYWRfc2kxMjgoKF9fbTEyOGkgKikocyAtIDQgKiBwaXRjaCkp
OwpAQCAtNzIwLDcgKzcyMCw3IEBAIHZvaWQgdnB4X2hpZ2hiZF9scGZfaG9yaXpvbnRhbF80X3Nz
ZTIodWludDE2X3QgKnMsIGludCBwaXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDhfdCAqYmxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpsaW1pdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqdGhyZXNoLCBpbnQgYmQpIHsKLSAgY29u
c3QgX19tMTI4aSB6ZXJvID0gX21tX3NldHplcm9fc2kxMjgoKTsKKyAgY29uc3QgX19tMTI4aSB6
ZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAgIF9fbTEyOGkgYmxpbWl0X3YsIGxpbWl0X3YsIHRo
cmVzaF92OwogICBfX20xMjhpIG1hc2ssIGhldiwgZmxhdDsKICAgX19tMTI4aSBwMyA9IF9tbV9s
b2FkdV9zaTEyOCgoX19tMTI4aSAqKShzIC0gNCAqIHBpdGNoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9xdWFudGl6ZV9pbnRyaW5fYXZ4Mi5jIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfcXVhbnRpemVfaW50cmluX2F2eDIuYwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzVjYTU1NDA0OWI0Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfcXVhbnRpemVfaW50cmluX2F2eDIuYworKysgL2Rl
di9udWxsCkBAIC0xLDI1NCArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUg
V2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBv
ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAq
ICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRo
ZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBy
aWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBj
b250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRI
T1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRl
IDxpbW1pbnRyaW4uaD4KLQotI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAi
dnA5L2NvbW1vbi92cDlfc2Nhbi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVyL3ZwOV9ibG9jay5o
IgotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIGluaXRfb25lX3FwKGNvbnN0IF9fbTEy
OGkgKnAsIF9fbTI1NmkgKnFwKSB7Ci0gIGNvbnN0IF9fbTEyOGkgc2lnbiA9IF9tbV9zcmFpX2Vw
aTE2KCpwLCAxNSk7Ci0gIGNvbnN0IF9fbTEyOGkgZGMgPSBfbW1fdW5wYWNrbG9fZXBpMTYoKnAs
IHNpZ24pOwotICBjb25zdCBfX20xMjhpIGFjID0gX21tX3VucGFja2hpX2VwaTE2KCpwLCBzaWdu
KTsKLSAgKnFwID0gX21tMjU2X2luc2VydGYxMjhfc2kyNTYoX21tMjU2X2Nhc3RzaTEyOF9zaTI1
NihkYyksIGFjLCAxKTsKLX0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCB1cGRhdGVf
cXAoX19tMjU2aSAqcXApIHsKLSAgaW50IGk7Ci0gIGZvciAoaSA9IDA7IGkgPCA1OyArK2kpIHsK
LSAgICBxcFtpXSA9IF9tbTI1Nl9wZXJtdXRlMngxMjhfc2kyNTYocXBbaV0sIHFwW2ldLCAweDEx
KTsKLSAgfQotfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIGluaXRfcXAoCi0gICAg
Y29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLCBjb25zdCBpbnQx
Nl90ICpkZXF1YW50X3B0ciwKLSAgICBfX20yNTZpICpxcCwgaW50IGxvZ19zY2FsZSkgewotICBj
b25zdCBfX20xMjhpIHpiaW4gPSBfbW1fbG9hZHVfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKiltYl9w
bGFuZS0+emJpbik7Ci0gIGNvbnN0IF9fbTEyOGkgcm91bmQgPSBfbW1fbG9hZHVfc2kxMjgoKGNv
bnN0IF9fbTEyOGkgKiltYl9wbGFuZS0+cm91bmQpOwotICBjb25zdCBfX20xMjhpIHF1YW50ID0g
X21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopbWJfcGxhbmUtPnF1YW50KTsKLSAgY29u
c3QgX19tMTI4aSBkZXF1YW50ID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopZGVx
dWFudF9wdHIpOwotICBjb25zdCBfX20xMjhpIHF1YW50X3NoaWZ0ID0KLSAgICAgIF9tbV9sb2Fk
dV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKW1iX3BsYW5lLT5xdWFudF9zaGlmdCk7Ci0gIGluaXRf
b25lX3FwKCZ6YmluLCAmcXBbMF0pOwotICBpbml0X29uZV9xcCgmcm91bmQsICZxcFsxXSk7Ci0g
IGluaXRfb25lX3FwKCZxdWFudCwgJnFwWzJdKTsKLSAgaW5pdF9vbmVfcXAoJmRlcXVhbnQsICZx
cFszXSk7Ci0gIGluaXRfb25lX3FwKCZxdWFudF9zaGlmdCwgJnFwWzRdKTsKLSAgaWYgKGxvZ19z
Y2FsZSA+IDApIHsKLSAgICBjb25zdCBfX20yNTZpIHJuZCA9IF9tbTI1Nl9zZXQxX2VwaTMyKChp
bnQxNl90KSgxIDw8IChsb2dfc2NhbGUgLSAxKSkpOwotICAgIHFwWzBdID0gX21tMjU2X2FkZF9l
cGkzMihxcFswXSwgcm5kKTsKLSAgICBxcFswXSA9IF9tbTI1Nl9zcmFpX2VwaTMyKHFwWzBdLCBs
b2dfc2NhbGUpOwotCi0gICAgcXBbMV0gPSBfbW0yNTZfYWRkX2VwaTMyKHFwWzFdLCBybmQpOwot
ICAgIHFwWzFdID0gX21tMjU2X3NyYWlfZXBpMzIocXBbMV0sIGxvZ19zY2FsZSk7Ci0gIH0KLSAg
Ly8gU3VidHJhY3RpbmcgMSBoZXJlIGVsaW1pbmF0ZXMgYSBfbW0yNTZfY21wZXFfZXBpMzIoKSBp
bnN0cnVjdGlvbiB3aGVuCi0gIC8vIGNhbGN1bGF0aW5nIHRoZSB6YmluIG1hc2suCi0gIHFwWzBd
ID0gX21tMjU2X3N1Yl9lcGkzMihxcFswXSwgX21tMjU2X3NldDFfZXBpMzIoMSkpOwotfQotCi0v
LyBOb3RlOgotLy8gKnggaXMgdmVjdG9yIG11bHRpcGxpZWQgYnkgKnkgd2hpY2ggaXMgMTYgaW50
MzJfdCBwYXJhbGxlbCBtdWx0aXBsaWNhdGlvbgotLy8gYW5kIHJpZ2h0IHNoaWZ0IDE2LiAgVGhl
IG91dHB1dCwgMTYgaW50MzJfdCBpcyBzYXZlIGluICpwLgotc3RhdGljIFZQWF9GT1JDRV9JTkxJ
TkUgX19tMjU2aSBtbTI1Nl9tdWxfc2hpZnRfZXBpMzIoY29uc3QgX19tMjU2aSAqeCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9f
bTI1NmkgKnkpIHsKLSAgX19tMjU2aSBwcm9kX2xvID0gX21tMjU2X211bF9lcGkzMigqeCwgKnkp
OwotICBfX20yNTZpIHByb2RfaGkgPSBfbW0yNTZfc3JsaV9lcGk2NCgqeCwgMzIpOwotICBjb25z
dCBfX20yNTZpIG11bHRfaGkgPSBfbW0yNTZfc3JsaV9lcGk2NCgqeSwgMzIpOwotICBjb25zdCBf
X20yNTZpIG1hc2sgPSBfbW0yNTZfc2V0X2VwaTMyKDAsIC0xLCAwLCAtMSwgMCwgLTEsIDAsIC0x
KTsKLSAgcHJvZF9oaSA9IF9tbTI1Nl9tdWxfZXBpMzIocHJvZF9oaSwgbXVsdF9oaSk7Ci0gIHBy
b2RfbG8gPSBfbW0yNTZfc3JsaV9lcGk2NChwcm9kX2xvLCAxNik7Ci0gIHByb2RfbG8gPSBfbW0y
NTZfYW5kX3NpMjU2KHByb2RfbG8sIG1hc2spOwotICBwcm9kX2hpID0gX21tMjU2X3NybGlfZXBp
NjQocHJvZF9oaSwgMTYpOwotICBwcm9kX2hpID0gX21tMjU2X3NsbGlfZXBpNjQocHJvZF9oaSwg
MzIpOwotICByZXR1cm4gX21tMjU2X29yX3NpMjU2KHByb2RfbG8sIHByb2RfaGkpOwotfQotCi1z
dGF0aWMgVlBYX0ZPUkNFX0lOTElORSBfX20yNTZpIGdldF9tYXhfbGFuZV9lb2IoY29uc3QgaW50
MTZfdCAqaXNjYW5fcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF9fbTI1NmkgZW9ibWF4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF9fbTI1NmkgbnpfbWFzaykgewotICBjb25zdCBfX20yNTZpIHBh
Y2tlZF9uel9tYXNrID0gX21tMjU2X3BhY2tzX2VwaTMyKG56X21hc2ssIG56X21hc2spOwotICBj
b25zdCBfX20yNTZpIHBhY2tlZF9uel9tYXNrX3Blcm0gPQotICAgICAgX21tMjU2X3Blcm11dGU0
eDY0X2VwaTY0KHBhY2tlZF9uel9tYXNrLCAweEQ4KTsKLSAgY29uc3QgX19tMjU2aSBpc2NhbiA9
Ci0gICAgICBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19t
MTI4aSAqKWlzY2FuX3B0cikpOwotICBjb25zdCBfX20yNTZpIG56X2lzY2FuID0gX21tMjU2X2Fu
ZF9zaTI1Nihpc2NhbiwgcGFja2VkX256X21hc2tfcGVybSk7Ci0gIHJldHVybiBfbW0yNTZfbWF4
X2VwaTE2KGVvYm1heCwgbnpfaXNjYW4pOwotfQotCi0vLyBHZXQgdGhlIG1heCBlb2IgZnJvbSB0
aGUgbG93ZXIgMTI4IGJpdHMuCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB1aW50MTZfdCBnZXRf
bWF4X2VvYihfX20yNTZpIGVvYikgewotICBfX20yNTZpIGVvYl9zOwotICBlb2JfcyA9IF9tbTI1
Nl9zaHVmZmxlX2VwaTMyKGVvYiwgMHhlKTsKLSAgZW9iID0gX21tMjU2X21heF9lcGkxNihlb2Is
IGVvYl9zKTsKLSAgZW9iX3MgPSBfbW0yNTZfc2h1ZmZsZWxvX2VwaTE2KGVvYiwgMHhlKTsKLSAg
ZW9iID0gX21tMjU2X21heF9lcGkxNihlb2IsIGVvYl9zKTsKLSAgZW9iX3MgPSBfbW0yNTZfc2h1
ZmZsZWxvX2VwaTE2KGVvYiwgMSk7Ci0gIGVvYiA9IF9tbTI1Nl9tYXhfZXBpMTYoZW9iLCBlb2Jf
cyk7Ci0jaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSIDwgMTkxMCkKLSAgcmV0dXJu
IF9tbV9jdnRzaTEyOF9zaTMyKF9tbTI1Nl9leHRyYWN0aTEyOF9zaTI1Nihlb2IsIDApKSAmIDB4
ZmZmZjsKLSNlbHNlCi0gIHJldHVybiAodWludDE2X3QpX21tMjU2X2V4dHJhY3RfZXBpMTYoZW9i
LCAwKTsKLSNlbmRpZgotfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIHF1YW50aXpl
KGNvbnN0IF9fbTI1NmkgKnFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmlzY2FuX3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmLCB0cmFuX2xvd190ICpkcWNv
ZWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20yNTZpICplb2Ip
IHsKLSAgY29uc3QgX19tMjU2aSBjb2VmZiA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19t
MjU2aSAqKWNvZWZmX3B0cik7Ci0gIGNvbnN0IF9fbTI1NmkgYWJzX2NvZWZmID0gX21tMjU2X2Fi
c19lcGkzMihjb2VmZik7Ci0gIGNvbnN0IF9fbTI1NmkgemJpbl9tYXNrID0gX21tMjU2X2NtcGd0
X2VwaTMyKGFic19jb2VmZiwgcXBbMF0pOwotCi0gIGlmIChfbW0yNTZfbW92ZW1hc2tfZXBpOCh6
YmluX21hc2spID09IDApIHsKLSAgICBjb25zdCBfX20yNTZpIHplcm8gPSBfbW0yNTZfc2V0emVy
b19zaTI1NigpOwotICAgIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1NmkgKilxY29lZmYsIHpl
cm8pOwotICAgIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1NmkgKilkcWNvZWZmLCB6ZXJvKTsK
LSAgICByZXR1cm47Ci0gIH0KLSAgewotICAgIGNvbnN0IF9fbTI1NmkgdG1wX3JuZCA9Ci0gICAg
ICAgIF9tbTI1Nl9hbmRfc2kyNTYoX21tMjU2X2FkZF9lcGkzMihhYnNfY29lZmYsIHFwWzFdKSwg
emJpbl9tYXNrKTsKLSAgICBjb25zdCBfX20yNTZpIHRtcCA9IG1tMjU2X211bF9zaGlmdF9lcGkz
MigmdG1wX3JuZCwgJnFwWzJdKTsKLSAgICBjb25zdCBfX20yNTZpIHRtcDIgPSBfbW0yNTZfYWRk
X2VwaTMyKHRtcCwgdG1wX3JuZCk7Ci0gICAgY29uc3QgX19tMjU2aSBhYnNfcSA9IG1tMjU2X211
bF9zaGlmdF9lcGkzMigmdG1wMiwgJnFwWzRdKTsKLSAgICBjb25zdCBfX20yNTZpIGFic19kcSA9
IF9tbTI1Nl9tdWxsb19lcGkzMihhYnNfcSwgcXBbM10pOwotICAgIGNvbnN0IF9fbTI1Nmkgbnpf
bWFzayA9IF9tbTI1Nl9jbXBndF9lcGkzMihhYnNfcSwgX21tMjU2X3NldHplcm9fc2kyNTYoKSk7
Ci0gICAgY29uc3QgX19tMjU2aSBxID0gX21tMjU2X3NpZ25fZXBpMzIoYWJzX3EsIGNvZWZmKTsK
LSAgICBjb25zdCBfX20yNTZpIGRxID0gX21tMjU2X3NpZ25fZXBpMzIoYWJzX2RxLCBjb2VmZik7
Ci0KLSAgICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopcWNvZWZmLCBxKTsKLSAgICBf
bW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopZHFjb2VmZiwgZHEpOwotCi0gICAgKmVvYiA9
IGdldF9tYXhfbGFuZV9lb2IoaXNjYW5fcHRyLCAqZW9iLCBuel9tYXNrKTsKLSAgfQotfQotCi12
b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9hdngyKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0
ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAq
ZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRlcikgewot
ICBjb25zdCBpbnQgc3RlcCA9IDg7Ci0gIF9fbTI1NmkgZW9iID0gX21tMjU2X3NldHplcm9fc2ky
NTYoKTsKLSAgX19tMjU2aSBxcFs1XTsKLSAgY29uc3QgaW50MTZfdCAqaXNjYW4gPSBzY2FuX29y
ZGVyLT5pc2NhbjsKLQotICBpbml0X3FwKG1iX3BsYW5lLCBkZXF1YW50X3B0ciwgcXAsIDApOwot
Ci0gIHF1YW50aXplKHFwLCBjb2VmZl9wdHIsIGlzY2FuLCBxY29lZmZfcHRyLCBkcWNvZWZmX3B0
ciwgJmVvYik7Ci0KLSAgY29lZmZfcHRyICs9IHN0ZXA7Ci0gIHFjb2VmZl9wdHIgKz0gc3RlcDsK
LSAgZHFjb2VmZl9wdHIgKz0gc3RlcDsKLSAgaXNjYW4gKz0gc3RlcDsKLSAgbl9jb2VmZnMgLT0g
c3RlcDsKLQotICB1cGRhdGVfcXAocXApOwotCi0gIHdoaWxlIChuX2NvZWZmcyA+IDApIHsKLSAg
ICBxdWFudGl6ZShxcCwgY29lZmZfcHRyLCBpc2NhbiwgcWNvZWZmX3B0ciwgZHFjb2VmZl9wdHIs
ICZlb2IpOwotCi0gICAgY29lZmZfcHRyICs9IHN0ZXA7Ci0gICAgcWNvZWZmX3B0ciArPSBzdGVw
OwotICAgIGRxY29lZmZfcHRyICs9IHN0ZXA7Ci0gICAgaXNjYW4gKz0gc3RlcDsKLSAgICBuX2Nv
ZWZmcyAtPSBzdGVwOwotICB9Ci0KLSAgKmVvYl9wdHIgPSBnZXRfbWF4X2VvYihlb2IpOwotfQot
Ci1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSBfX20yNTZpIG1tMjU2X211bF9zaGlmdF9lcGkzMl9s
b2dzY2FsZShjb25zdCBfX20yNTZpICp4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX19tMjU2aSAqeSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBsb2dfc2NhbGUpIHsKLSAgX19tMjU2aSBwcm9kX2xvID0gX21tMjU2X211bF9lcGkzMigq
eCwgKnkpOwotICBfX20yNTZpIHByb2RfaGkgPSBfbW0yNTZfc3JsaV9lcGk2NCgqeCwgMzIpOwot
ICBjb25zdCBfX20yNTZpIG11bHRfaGkgPSBfbW0yNTZfc3JsaV9lcGk2NCgqeSwgMzIpOwotICBj
b25zdCBfX20yNTZpIG1hc2sgPSBfbW0yNTZfc2V0X2VwaTMyKDAsIC0xLCAwLCAtMSwgMCwgLTEs
IDAsIC0xKTsKLSAgcHJvZF9oaSA9IF9tbTI1Nl9tdWxfZXBpMzIocHJvZF9oaSwgbXVsdF9oaSk7
Ci0gIHByb2RfbG8gPSBfbW0yNTZfc3JsaV9lcGk2NChwcm9kX2xvLCAxNiAtIGxvZ19zY2FsZSk7
Ci0gIHByb2RfbG8gPSBfbW0yNTZfYW5kX3NpMjU2KHByb2RfbG8sIG1hc2spOwotICBwcm9kX2hp
ID0gX21tMjU2X3NybGlfZXBpNjQocHJvZF9oaSwgMTYgLSBsb2dfc2NhbGUpOwotICBwcm9kX2hp
ID0gX21tMjU2X3NsbGlfZXBpNjQocHJvZF9oaSwgMzIpOwotICByZXR1cm4gX21tMjU2X29yX3Np
MjU2KHByb2RfbG8sIHByb2RfaGkpOwotfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lk
IHF1YW50aXplX2JfMzJ4MzIoCi0gICAgY29uc3QgX19tMjU2aSAqcXAsIGNvbnN0IHRyYW5fbG93
X3QgKmNvZWZmX3B0ciwgY29uc3QgaW50MTZfdCAqaXNjYW5fcHRyLAotICAgIHRyYW5fbG93X3Qg
KnFjb2VmZiwgdHJhbl9sb3dfdCAqZHFjb2VmZiwgX19tMjU2aSAqZW9iKSB7Ci0gIGNvbnN0IF9f
bTI1NmkgY29lZmYgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKiljb2VmZl9w
dHIpOwotICBjb25zdCBfX20yNTZpIGFic19jb2VmZiA9IF9tbTI1Nl9hYnNfZXBpMzIoY29lZmYp
OwotICBjb25zdCBfX20yNTZpIHpiaW5fbWFzayA9IF9tbTI1Nl9jbXBndF9lcGkzMihhYnNfY29l
ZmYsIHFwWzBdKTsKLQotICBpZiAoX21tMjU2X21vdmVtYXNrX2VwaTgoemJpbl9tYXNrKSA9PSAw
KSB7Ci0gICAgY29uc3QgX19tMjU2aSB6ZXJvID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKLSAg
ICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopcWNvZWZmLCB6ZXJvKTsKLSAgICBfbW0y
NTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopZHFjb2VmZiwgemVybyk7Ci0gICAgcmV0dXJuOwot
ICB9Ci0KLSAgewotICAgIGNvbnN0IF9fbTI1NmkgdG1wX3JuZCA9Ci0gICAgICAgIF9tbTI1Nl9h
bmRfc2kyNTYoX21tMjU2X2FkZF9lcGkzMihhYnNfY29lZmYsIHFwWzFdKSwgemJpbl9tYXNrKTsK
LSAgICAvLyBjb25zdCBpbnQ2NF90IHRtcDIgPSAoKHRtcHcgKiBxdWFudF9wdHJbcmMgIT0gMF0p
ID4+IDE2KSArIHRtcHc7Ci0gICAgY29uc3QgX19tMjU2aSB0bXAgPSBtbTI1Nl9tdWxfc2hpZnRf
ZXBpMzJfbG9nc2NhbGUoJnRtcF9ybmQsICZxcFsyXSwgMCk7Ci0gICAgY29uc3QgX19tMjU2aSB0
bXAyID0gX21tMjU2X2FkZF9lcGkzMih0bXAsIHRtcF9ybmQpOwotICAgIC8vIGNvbnN0IGludCBh
YnNfcWNvZWZmID0gKGludCkoKHRtcDIgKiBxdWFudF9zaGlmdF9wdHJbcmMgIT0gMF0pID4+IDE1
KTsKLSAgICBjb25zdCBfX20yNTZpIGFic19xID0gbW0yNTZfbXVsX3NoaWZ0X2VwaTMyX2xvZ3Nj
YWxlKCZ0bXAyLCAmcXBbNF0sIDEpOwotICAgIGNvbnN0IF9fbTI1NmkgYWJzX2RxID0KLSAgICAg
ICAgX21tMjU2X3NybGlfZXBpMzIoX21tMjU2X211bGxvX2VwaTMyKGFic19xLCBxcFszXSksIDEp
OwotICAgIGNvbnN0IF9fbTI1NmkgbnpfbWFzayA9IF9tbTI1Nl9jbXBndF9lcGkzMihhYnNfcSwg
X21tMjU2X3NldHplcm9fc2kyNTYoKSk7Ci0gICAgY29uc3QgX19tMjU2aSBxID0gX21tMjU2X3Np
Z25fZXBpMzIoYWJzX3EsIGNvZWZmKTsKLSAgICBjb25zdCBfX20yNTZpIGRxID0gX21tMjU2X3Np
Z25fZXBpMzIoYWJzX2RxLCBjb2VmZik7Ci0KLSAgICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20y
NTZpICopcWNvZWZmLCBxKTsKLSAgICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopZHFj
b2VmZiwgZHEpOwotCi0gICAgKmVvYiA9IGdldF9tYXhfbGFuZV9lb2IoaXNjYW5fcHRyLCAqZW9i
LCBuel9tYXNrKTsKLSAgfQotfQotCi12b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl8zMngzMl9h
dngyKAotICAgIGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgY29uc3Qgc3RydWN0IG1hY3Jv
YmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLAotICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIs
IHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwKLSAg
ICB1aW50MTZfdCAqZW9iX3B0ciwgY29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9v
cmRlcikgewotICBjb25zdCB1bnNpZ25lZCBpbnQgc3RlcCA9IDg7Ci0gIGludHB0cl90IG5fY29l
ZmZzID0gMzIgKiAzMjsKLSAgY29uc3QgaW50MTZfdCAqaXNjYW4gPSBzY2FuX29yZGVyLT5pc2Nh
bjsKLSAgX19tMjU2aSBlb2IgPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBfX20yNTZpIHFw
WzVdOwotCi0gIGluaXRfcXAobWJfcGxhbmUsIGRlcXVhbnRfcHRyLCBxcCwgMSk7Ci0KLSAgcXVh
bnRpemVfYl8zMngzMihxcCwgY29lZmZfcHRyLCBpc2NhbiwgcWNvZWZmX3B0ciwgZHFjb2VmZl9w
dHIsICZlb2IpOwotCi0gIGNvZWZmX3B0ciArPSBzdGVwOwotICBxY29lZmZfcHRyICs9IHN0ZXA7
Ci0gIGRxY29lZmZfcHRyICs9IHN0ZXA7Ci0gIGlzY2FuICs9IHN0ZXA7Ci0gIG5fY29lZmZzIC09
IHN0ZXA7Ci0KLSAgdXBkYXRlX3FwKHFwKTsKLQotICB3aGlsZSAobl9jb2VmZnMgPiAwKSB7Ci0g
ICAgcXVhbnRpemVfYl8zMngzMihxcCwgY29lZmZfcHRyLCBpc2NhbiwgcWNvZWZmX3B0ciwgZHFj
b2VmZl9wdHIsICZlb2IpOwotCi0gICAgY29lZmZfcHRyICs9IHN0ZXA7Ci0gICAgcWNvZWZmX3B0
ciArPSBzdGVwOwotICAgIGRxY29lZmZfcHRyICs9IHN0ZXA7Ci0gICAgaXNjYW4gKz0gc3RlcDsK
LSAgICBuX2NvZWZmcyAtPSBzdGVwOwotICB9Ci0KLSAgKmVvYl9wdHIgPSBnZXRfbWF4X2VvYihl
b2IpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfcXVhbnRp
emVfaW50cmluX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJkX3F1YW50aXpl
X2ludHJpbl9zc2UyLmMKaW5kZXggYWRhZTYwNzU2ZDdiLi43MTQ5ZTRmYjc0MDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJkX3F1YW50aXplX2ludHJpbl9zc2UyLmMK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfcXVhbnRpemVfaW50cmluX3NzZTIu
YwpAQCAtMTUsMjIgKzE1LDE5IEBACiAjaW5jbHVkZSAidnB4X2RzcC92cHhfZHNwX2NvbW1vbi5o
IgogI2luY2x1ZGUgInZweF9tZW0vdnB4X21lbS5oIgogI2luY2x1ZGUgInZweF9wb3J0cy9tZW0u
aCIKLSNpbmNsdWRlICJ2cDkvY29tbW9uL3ZwOV9zY2FuLmgiCi0jaW5jbHVkZSAidnA5L2VuY29k
ZXIvdnA5X2Jsb2NrLmgiCiAKKyNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAogdm9pZCB2cHhf
aGlnaGJkX3F1YW50aXplX2Jfc3NlMihjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0
cl90IGNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
bWFjcm9ibG9ja19wbGFuZSAqbWJfcGxhbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBza2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICp6YmluX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnF1YW50X3NoaWZ0X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwg
dHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nh
bl9vcmRlcikgewotICBpbnQgaSwgaiwgbm9uX3plcm9fcmVncyA9IChpbnQpY291bnQgLyA0LCBl
b2JfaSA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qg
KnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuKSB7CisgIGludCBpLCBqLCBub25femVyb19yZWdz
ID0gKGludCljb3VudCAvIDQsIGVvYl9pID0gLTE7CiAgIF9fbTEyOGkgemJpbnNbMl07CiAgIF9f
bTEyOGkgbnpiaW5zWzJdOwotICBjb25zdCBpbnQxNl90ICppc2NhbiA9IHNjYW5fb3JkZXItPmlz
Y2FuOwotICBjb25zdCBpbnQxNl90ICp6YmluX3B0ciA9IG1iX3BsYW5lLT56YmluOwotICBjb25z
dCBpbnQxNl90ICpyb3VuZF9wdHIgPSBtYl9wbGFuZS0+cm91bmQ7Ci0gIGNvbnN0IGludDE2X3Qg
KnF1YW50X3B0ciA9IG1iX3BsYW5lLT5xdWFudDsKLSAgY29uc3QgaW50MTZfdCAqcXVhbnRfc2hp
ZnRfcHRyID0gbWJfcGxhbmUtPnF1YW50X3NoaWZ0OwogCiAgIHpiaW5zWzBdID0gX21tX3NldF9l
cGkzMigoaW50KXpiaW5fcHRyWzFdLCAoaW50KXpiaW5fcHRyWzFdLCAoaW50KXpiaW5fcHRyWzFd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCl6YmluX3B0clswXSk7CkBAIC00MSw2
ICszOCwxMCBAQCB2b2lkIHZweF9oaWdoYmRfcXVhbnRpemVfYl9zc2UyKGNvbnN0IHRyYW5fbG93
X3QgKmNvZWZmX3B0ciwgaW50cHRyX3QgY291bnQsCiAgIG56Ymluc1swXSA9IF9tbV9zdWJfZXBp
MzIobnpiaW5zWzBdLCB6Ymluc1swXSk7CiAgIG56Ymluc1sxXSA9IF9tbV9zdWJfZXBpMzIobnpi
aW5zWzFdLCB6Ymluc1sxXSk7CiAKKyAgKHZvaWQpc2NhbjsKKyAgKHZvaWQpc2tpcF9ibG9jazsK
KyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKKwogICBtZW1zZXQocWNvZWZmX3B0ciwgMCwgY291bnQg
KiBzaXplb2YoKnFjb2VmZl9wdHIpKTsKICAgbWVtc2V0KGRxY29lZmZfcHRyLCAwLCBjb3VudCAq
IHNpemVvZigqZHFjb2VmZl9wdHIpKTsKIApAQCAtODMsMjkgKzg0LDMxIEBAIHZvaWQgdnB4X2hp
Z2hiZF9xdWFudGl6ZV9iX3NzZTIoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJf
dCBjb3VudCwKICAgICAgICAgY29uc3QgaW50NjRfdCB0bXA0ID0gKCh0bXAzICogcXVhbnRfcHRy
W2sgIT0gMF0pID4+IDE2KSArIHRtcDM7CiAgICAgICAgIGNvbnN0IHVpbnQzMl90IGFic19xY29l
ZmYgPQogICAgICAgICAgICAgKHVpbnQzMl90KSgodG1wNCAqIHF1YW50X3NoaWZ0X3B0cltrICE9
IDBdKSA+PiAxNik7Ci0gICAgICAgIHFjb2VmZl9wdHJba10gPQotICAgICAgICAgICAgKGludCko
YWJzX3Fjb2VmZiBeICh1aW50MzJfdCljb2VmZl9zaWduW2pdKSAtIGNvZWZmX3NpZ25bal07Cisg
ICAgICAgIHFjb2VmZl9wdHJba10gPSAoaW50KShhYnNfcWNvZWZmIF4gY29lZmZfc2lnbltqXSkg
LSBjb2VmZl9zaWduW2pdOwogICAgICAgICBkcWNvZWZmX3B0cltrXSA9IHFjb2VmZl9wdHJba10g
KiBkZXF1YW50X3B0cltrICE9IDBdOwogICAgICAgICBpZiAoYWJzX3Fjb2VmZikgZW9iX2kgPSBp
c2NhbltrXSA+IGVvYl9pID8gaXNjYW5ba10gOiBlb2JfaTsKICAgICAgIH0KICAgICB9CiAgIH0K
LSAgKmVvYl9wdHIgPSBlb2JfaTsKKyAgKmVvYl9wdHIgPSBlb2JfaSArIDE7CiB9CiAKIHZvaWQg
dnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX3NzZTIoCi0gICAgY29uc3QgdHJhbl9sb3dfdCAq
Y29lZmZfcHRyLCBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUs
Ci0gICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNv
bnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLAotICAgIHVpbnQxNl90ICplb2JfcHRyLCBjb25zdCBz
dHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7CisgICAgY29uc3QgdHJhbl9sb3df
dCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywgaW50IHNraXBfYmxvY2ssCisgICAgY29u
c3QgaW50MTZfdCAqemJpbl9wdHIsIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50
MTZfdCAqcXVhbnRfcHRyLAorICAgIGNvbnN0IGludDE2X3QgKnF1YW50X3NoaWZ0X3B0ciwgdHJh
bl9sb3dfdCAqcWNvZWZmX3B0ciwKKyAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgY29uc3Qg
aW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAorICAgIGNvbnN0IGludDE2
X3QgKnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuKSB7CiAgIF9fbTEyOGkgemJpbnNbMl07CiAg
IF9fbTEyOGkgbnpiaW5zWzJdOwogICBpbnQgaWR4ID0gMDsKICAgaW50IGlkeF9hcnJbMTAyNF07
Ci0gIGludCBpLCBlb2IgPSAwOwotICBjb25zdCBpbnRwdHJfdCBuX2NvZWZmcyA9IDMyICogMzI7
Ci0gIGNvbnN0IGludDE2X3QgKmlzY2FuID0gc2Nhbl9vcmRlci0+aXNjYW47Ci0gIGNvbnN0IGlu
dCB6YmluMF90bXAgPSBST1VORF9QT1dFUl9PRl9UV08obWJfcGxhbmUtPnpiaW5bMF0sIDEpOwot
ICBjb25zdCBpbnQgemJpbjFfdG1wID0gUk9VTkRfUE9XRVJfT0ZfVFdPKG1iX3BsYW5lLT56Ymlu
WzFdLCAxKTsKKyAgaW50IGksIGVvYiA9IC0xOworICBjb25zdCBpbnQgemJpbjBfdG1wID0gUk9V
TkRfUE9XRVJfT0ZfVFdPKHpiaW5fcHRyWzBdLCAxKTsKKyAgY29uc3QgaW50IHpiaW4xX3RtcCA9
IFJPVU5EX1BPV0VSX09GX1RXTyh6YmluX3B0clsxXSwgMSk7CisgICh2b2lkKXNjYW47CisgICh2
b2lkKXNraXBfYmxvY2s7CisgIGFzc2VydCghc2tpcF9ibG9jayk7CiAKICAgemJpbnNbMF0gPSBf
bW1fc2V0X2VwaTMyKHpiaW4xX3RtcCwgemJpbjFfdG1wLCB6YmluMV90bXAsIHpiaW4wX3RtcCk7
CiAgIHpiaW5zWzFdID0gX21tX3NldDFfZXBpMzIoemJpbjFfdG1wKTsKQEAgLTE0MCwxNCArMTQz
LDE0IEBAIHZvaWQgdnB4X2hpZ2hiZF9xdWFudGl6ZV9iXzMyeDMyX3NzZTIoCiAgICAgY29uc3Qg
aW50IGNvZWZmID0gY29lZmZfcHRyW3JjXTsKICAgICBjb25zdCBpbnQgY29lZmZfc2lnbiA9IChj
b2VmZiA+PiAzMSk7CiAgICAgY29uc3QgaW50IGFic19jb2VmZiA9IChjb2VmZiBeIGNvZWZmX3Np
Z24pIC0gY29lZmZfc2lnbjsKLSAgICBjb25zdCBpbnQ2NF90IHRtcDEgPQotICAgICAgICBhYnNf
Y29lZmYgKyBST1VORF9QT1dFUl9PRl9UV08obWJfcGxhbmUtPnJvdW5kW3JjICE9IDBdLCAxKTsK
LSAgICBjb25zdCBpbnQ2NF90IHRtcDIgPSAoKHRtcDEgKiBtYl9wbGFuZS0+cXVhbnRbcmMgIT0g
MF0pID4+IDE2KSArIHRtcDE7CisgICAgY29uc3QgaW50NjRfdCB0bXAxID0gYWJzX2NvZWZmICsg
Uk9VTkRfUE9XRVJfT0ZfVFdPKHJvdW5kX3B0cltyYyAhPSAwXSwgMSk7CisgICAgY29uc3QgaW50
NjRfdCB0bXAyID0gKCh0bXAxICogcXVhbnRfcHRyW3JjICE9IDBdKSA+PiAxNikgKyB0bXAxOwog
ICAgIGNvbnN0IHVpbnQzMl90IGFic19xY29lZmYgPQotICAgICAgICAodWludDMyX3QpKCh0bXAy
ICogbWJfcGxhbmUtPnF1YW50X3NoaWZ0W3JjICE9IDBdKSA+PiAxNSk7Ci0gICAgcWNvZWZmX3B0
cltyY10gPSAoaW50KShhYnNfcWNvZWZmIF4gKHVpbnQzMl90KWNvZWZmX3NpZ24pIC0gY29lZmZf
c2lnbjsKKyAgICAgICAgKHVpbnQzMl90KSgodG1wMiAqIHF1YW50X3NoaWZ0X3B0cltyYyAhPSAw
XSkgPj4gMTUpOworICAgIHFjb2VmZl9wdHJbcmNdID0gKGludCkoYWJzX3Fjb2VmZiBeIGNvZWZm
X3NpZ24pIC0gY29lZmZfc2lnbjsKICAgICBkcWNvZWZmX3B0cltyY10gPSBxY29lZmZfcHRyW3Jj
XSAqIGRlcXVhbnRfcHRyW3JjICE9IDBdIC8gMjsKICAgICBpZiAoYWJzX3Fjb2VmZikgZW9iID0g
aXNjYW5baWR4X2FycltpXV0gPiBlb2IgPyBpc2NhbltpZHhfYXJyW2ldXSA6IGVvYjsKICAgfQot
ICAqZW9iX3B0ciA9IGVvYjsKKyAgKmVvYl9wdHIgPSBlb2IgKyAxOwogfQorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9zYWQ0ZF9hdngyLmMgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv
bGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9zYWQ0ZF9hdngyLmMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGU0ODNmZGNlNzM3Zi4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X2RzcC94ODYvaGlnaGJkX3NhZDRkX2F2eDIuYworKysgL2Rldi9udWxsCkBAIC0xLDQ2MiAr
MCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhv
cnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl
IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVl
LiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJl
IGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVj
dCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJv
b3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0jaW5jbHVkZSA8aW1taW50cmluLmg+ICAvLyBB
VlgyCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2cHgvdnB4X2ludGVn
ZXIuaCIKLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCBjYWxjX2ZpbmFsXzQoY29uc3Qg
X19tMjU2aSAqY29uc3Qgc3VtcyAvKls0XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKSB7Ci0gIGNvbnN0IF9fbTI1Nmkg
dDAgPSBfbW0yNTZfaGFkZF9lcGkzMihzdW1zWzBdLCBzdW1zWzFdKTsKLSAgY29uc3QgX19tMjU2
aSB0MSA9IF9tbTI1Nl9oYWRkX2VwaTMyKHN1bXNbMl0sIHN1bXNbM10pOwotICBjb25zdCBfX20y
NTZpIHQyID0gX21tMjU2X2hhZGRfZXBpMzIodDAsIHQxKTsKLSAgY29uc3QgX19tMTI4aSBzdW0g
PSBfbW1fYWRkX2VwaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgodDIpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KHQyLCAxKSk7
Ci0gIF9tbV9zdG9yZXVfc2kxMjgoKF9fbTEyOGkgKilzYWRfYXJyYXksIHN1bSk7Ci19Ci0KLXN0
YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQgaGlnaGJkX3NhZDY0eEh4NGQoX19tMjU2aSAqc3Vt
c18xNiAvKls0XSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50MTZfdCAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKnJlZnNbNF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgaGVp
Z2h0KSB7Ci0gIGludCBpOwotICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyArK2kpIHsKLSAgICAv
LyBsb2FkIHNyYyBhbmQgYWxsIHJlZltdCi0gICAgY29uc3QgX19tMjU2aSBzMCA9IF9tbTI1Nl9s
b2FkX3NpMjU2KChjb25zdCBfX20yNTZpICopc3JjKTsKLSAgICBjb25zdCBfX20yNTZpIHMxID0g
X21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjICsgMTYpKTsKLSAgICBjb25z
dCBfX20yNTZpIHMyID0gX21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjICsg
MzIpKTsKLSAgICBjb25zdCBfX20yNTZpIHMzID0gX21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9f
bTI1NmkgKikoc3JjICsgNDgpKTsKLSAgICBpbnQgeDsKLQotICAgIGZvciAoeCA9IDA7IHggPCA0
OyArK3gpIHsKLSAgICAgIF9fbTI1Nmkgcls0XTsKLSAgICAgIHJbMF0gPSBfbW0yNTZfbG9hZHVf
c2kyNTYoKGNvbnN0IF9fbTI1NmkgKilyZWZzW3hdKTsKLSAgICAgIHJbMV0gPSBfbW0yNTZfbG9h
ZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikocmVmc1t4XSArIDE2KSk7Ci0gICAgICByWzJdID0g
X21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopKHJlZnNbeF0gKyAzMikpOwotICAg
ICAgclszXSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWZzW3hdICsg
NDgpKTsKLQotICAgICAgLy8gYWJzb2x1dGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBldmVyeSByZWZb
XSB0byBzcmMKLSAgICAgIHJbMF0gPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9zdWJfZXBpMTYo
clswXSwgczApKTsKLSAgICAgIHJbMV0gPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9zdWJfZXBp
MTYoclsxXSwgczEpKTsKLSAgICAgIHJbMl0gPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9zdWJf
ZXBpMTYoclsyXSwgczIpKTsKLSAgICAgIHJbM10gPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9z
dWJfZXBpMTYoclszXSwgczMpKTsKLQotICAgICAgLy8gc3VtIGV2ZXJ5IGFicyBkaWZmCi0gICAg
ICBzdW1zXzE2W3hdID0gX21tMjU2X2FkZF9lcGkxNihzdW1zXzE2W3hdLCBfbW0yNTZfYWRkX2Vw
aTE2KHJbMF0sIHJbMV0pKTsKLSAgICAgIHN1bXNfMTZbeF0gPSBfbW0yNTZfYWRkX2VwaTE2KHN1
bXNfMTZbeF0sIF9tbTI1Nl9hZGRfZXBpMTYoclsyXSwgclszXSkpOwotICAgIH0KLQotICAgIHNy
YyArPSBzcmNfc3RyaWRlOwotICAgIHJlZnNbMF0gKz0gcmVmX3N0cmlkZTsKLSAgICByZWZzWzFd
ICs9IHJlZl9zdHJpZGU7Ci0gICAgcmVmc1syXSArPSByZWZfc3RyaWRlOwotICAgIHJlZnNbM10g
Kz0gcmVmX3N0cmlkZTsKLSAgfQotfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIGhp
Z2hiZF9zYWQ2NHhOeDRkX2F2eDIoCi0gICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwKLSAgICBpbnQgcmVm
X3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdLCBpbnQgbikgewotICBjb25zdCB1aW50MTZf
dCAqc3JjID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsKLSAgdWludDE2X3QgKnJlZnNb
NF07Ci0gIF9fbTI1Nmkgc3Vtc18xNls0XTsKLSAgX19tMjU2aSBzdW1zXzMyWzRdOwotICBpbnQg
aTsKLQotICByZWZzWzBdID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfYXJyYXlbMF0pOwotICBy
ZWZzWzFdID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfYXJyYXlbMV0pOwotICByZWZzWzJdID0g
Q09OVkVSVF9UT19TSE9SVFBUUihyZWZfYXJyYXlbMl0pOwotICByZWZzWzNdID0gQ09OVkVSVF9U
T19TSE9SVFBUUihyZWZfYXJyYXlbM10pOwotICBzdW1zXzMyWzBdID0gX21tMjU2X3NldHplcm9f
c2kyNTYoKTsKLSAgc3Vtc18zMlsxXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gIHN1bXNf
MzJbMl0gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBzdW1zXzMyWzNdID0gX21tMjU2X3Nl
dHplcm9fc2kyNTYoKTsKLQotICBmb3IgKGkgPSAwOyBpIDwgKG4gLyAyKTsgKytpKSB7Ci0gICAg
c3Vtc18xNlswXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gICAgc3Vtc18xNlsxXSA9IF9t
bTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gICAgc3Vtc18xNlsyXSA9IF9tbTI1Nl9zZXR6ZXJvX3Np
MjU2KCk7Ci0gICAgc3Vtc18xNlszXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0KLSAgICBo
aWdoYmRfc2FkNjR4SHg0ZChzdW1zXzE2LCBzcmMsIHNyY19zdHJpZGUsIHJlZnMsIHJlZl9zdHJp
ZGUsIDIpOwotCi0gICAgLyogc3Vtc18xNiB3aWxsIG91dHJhbmdlIGFmdGVyIDIgcm93cywgc28g
YWRkIGN1cnJlbnQgc3Vtc18xNiB0bwotICAgICAqIHN1bXNfMzIqLwotICAgIHN1bXNfMzJbMF0g
PSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBzdW1zXzMyWzBdLAotICAgICAgICBfbW0yNTZf
YWRkX2VwaTMyKAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9jYXN0
c2kyNTZfc2kxMjgoc3Vtc18xNlswXSkpLAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2Vw
aTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2WzBdLCAxKSkpKTsKLSAgICBzdW1z
XzMyWzFdID0gX21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgc3Vtc18zMlsxXSwKLSAgICAgICAg
X21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0y
NTZfY2FzdHNpMjU2X3NpMTI4KHN1bXNfMTZbMV0pKSwKLSAgICAgICAgICAgIF9tbTI1Nl9jdnRl
cHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoc3Vtc18xNlsxXSwgMSkpKSk7Ci0g
ICAgc3Vtc18zMlsyXSA9IF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgIHN1bXNfMzJbMl0sCi0g
ICAgICAgIF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBp
MzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2WzJdKSksCi0gICAgICAgICAgICBfbW0y
NTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KHN1bXNfMTZbMl0sIDEp
KSkpOwotICAgIHN1bXNfMzJbM10gPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBzdW1zXzMy
WzNdLAotICAgICAgICBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICAgICAgX21tMjU2X2N2dGVw
dTE2X2VwaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3Vtc18xNlszXSkpLAotICAgICAgICAg
ICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2
WzNdLCAxKSkpKTsKLQotICAgIHNyYyArPSBzcmNfc3RyaWRlIDw8IDE7Ci0gIH0KLSAgY2FsY19m
aW5hbF80KHN1bXNfMzIsIHNhZF9hcnJheSk7Ci19Ci0KLSNkZWZpbmUgSElHSEJEX1NBRDY0WE5Y
NEQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIHZvaWQgdnB4X2hpZ2hiZF9zYWQ2NHgjI24jI3g0ZF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNy
YywgaW50IHNyY19zdHJpZGUsICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90
IHNhZF9hcnJheVs0XSkgeyBcCi0gICAgaGlnaGJkX3NhZDY0eE54NGRfYXZ4MihzcmMsIHNyY19z
dHJpZGUsIHJlZl9hcnJheSwgcmVmX3N0cmlkZSwgc2FkX2FycmF5LCAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIEhJR0hCRF9TQURTS0lQNjRYTng0RChuKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdm9pZCB2cHhfaGln
aGJkX3NhZF9za2lwXzY0eCMjbiMjeDRkX2F2eDIoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgY29uc3Qg
dWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLCBcCi0gICAgICBpbnQgcmVmX3N0cmlkZSwgdWlu
dDMyX3Qgc2FkX2FycmF5WzRdKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBoaWdoYmRfc2FkNjR4Tng0ZF9hdngyKHNyYywgMiAqIHNyY19zdHJpZGUsIHJlZl9hcnJheSwg
MiAqIHJlZl9zdHJpZGUsICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FkX2FycmF5
LCBuIC8gMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc2FkX2FycmF5
WzBdIDw8PSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBzYWRfYXJyYXlbMV0gPDw9IDE7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNhZF9hcnJheVsyXSA8PD0gMTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgc2FkX2FycmF5WzNdIDw8PSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lk
IGhpZ2hiZF9zYWQzMnhIeDRkKF9fbTI1NmkgKnN1bXNfMTYgLypbNF0qLywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKnNyYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQxNl90ICpyZWZzWzRdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmVmX3N0cmlkZSwgaW50IGhlaWdodCkgewotICBpbnQgaTsKLSAgZm9yIChp
ID0gMDsgaSA8IGhlaWdodDsgaSsrKSB7Ci0gICAgX19tMjU2aSByWzhdOwotCi0gICAgLy8gbG9h
ZCBzcmMgYW5kIGFsbCByZWZbXQotICAgIGNvbnN0IF9fbTI1NmkgcyA9IF9tbTI1Nl9sb2FkX3Np
MjU2KChjb25zdCBfX20yNTZpICopc3JjKTsKLSAgICBjb25zdCBfX20yNTZpIHMyID0gX21tMjU2
X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjICsgMTYpKTsKLSAgICByWzBdID0gX21t
MjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopcmVmc1swXSk7Ci0gICAgclsxXSA9IF9t
bTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWZzWzBdICsgMTYpKTsKLSAgICBy
WzJdID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopcmVmc1sxXSk7Ci0gICAg
clszXSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWZzWzFdICsgMTYp
KTsKLSAgICByWzRdID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopcmVmc1sy
XSk7Ci0gICAgcls1XSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWZz
WzJdICsgMTYpKTsKLSAgICByWzZdID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZp
ICopcmVmc1szXSk7Ci0gICAgcls3XSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2
aSAqKShyZWZzWzNdICsgMTYpKTsKLQotICAgIC8vIGFic29sdXRlIGRpZmZlcmVuY2VzIGJldHdl
ZW4gZXZlcnkgcmVmW10gdG8gc3JjCi0gICAgclswXSA9IF9tbTI1Nl9hYnNfZXBpMTYoX21tMjU2
X3N1Yl9lcGkxNihyWzBdLCBzKSk7Ci0gICAgclsxXSA9IF9tbTI1Nl9hYnNfZXBpMTYoX21tMjU2
X3N1Yl9lcGkxNihyWzFdLCBzMikpOwotICAgIHJbMl0gPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1
Nl9zdWJfZXBpMTYoclsyXSwgcykpOwotICAgIHJbM10gPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1
Nl9zdWJfZXBpMTYoclszXSwgczIpKTsKLSAgICByWzRdID0gX21tMjU2X2Fic19lcGkxNihfbW0y
NTZfc3ViX2VwaTE2KHJbNF0sIHMpKTsKLSAgICByWzVdID0gX21tMjU2X2Fic19lcGkxNihfbW0y
NTZfc3ViX2VwaTE2KHJbNV0sIHMyKSk7Ci0gICAgcls2XSA9IF9tbTI1Nl9hYnNfZXBpMTYoX21t
MjU2X3N1Yl9lcGkxNihyWzZdLCBzKSk7Ci0gICAgcls3XSA9IF9tbTI1Nl9hYnNfZXBpMTYoX21t
MjU2X3N1Yl9lcGkxNihyWzddLCBzMikpOwotCi0gICAgLy8gc3VtIGV2ZXJ5IGFicyBkaWZmCi0g
ICAgc3Vtc18xNlswXSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3Vtc18xNlswXSwgX21tMjU2X2FkZF9l
cGkxNihyWzBdLCByWzFdKSk7Ci0gICAgc3Vtc18xNlsxXSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3Vt
c18xNlsxXSwgX21tMjU2X2FkZF9lcGkxNihyWzJdLCByWzNdKSk7Ci0gICAgc3Vtc18xNlsyXSA9
IF9tbTI1Nl9hZGRfZXBpMTYoc3Vtc18xNlsyXSwgX21tMjU2X2FkZF9lcGkxNihyWzRdLCByWzVd
KSk7Ci0gICAgc3Vtc18xNlszXSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3Vtc18xNlszXSwgX21tMjU2
X2FkZF9lcGkxNihyWzZdLCByWzddKSk7Ci0KLSAgICBzcmMgKz0gc3JjX3N0cmlkZTsKLSAgICBy
ZWZzWzBdICs9IHJlZl9zdHJpZGU7Ci0gICAgcmVmc1sxXSArPSByZWZfc3RyaWRlOwotICAgIHJl
ZnNbMl0gKz0gcmVmX3N0cmlkZTsKLSAgICByZWZzWzNdICs9IHJlZl9zdHJpZGU7Ci0gIH0KLX0K
LQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCBoaWdoYmRfc2FkMzJ4Tng0ZF9hdngyKAot
ICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90
ICpjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9h
cnJheVs0XSwgaW50IG4pIHsKLSAgY29uc3QgdWludDE2X3QgKnNyYyA9IENPTlZFUlRfVE9fU0hP
UlRQVFIoc3JjX3B0cik7Ci0gIHVpbnQxNl90ICpyZWZzWzRdOwotICBfX20yNTZpIHN1bXNfMTZb
NF07Ci0gIF9fbTI1Nmkgc3Vtc18zMls0XTsKLSAgaW50IGk7Ci0KLSAgcmVmc1swXSA9IENPTlZF
UlRfVE9fU0hPUlRQVFIocmVmX2FycmF5WzBdKTsKLSAgcmVmc1sxXSA9IENPTlZFUlRfVE9fU0hP
UlRQVFIocmVmX2FycmF5WzFdKTsKLSAgcmVmc1syXSA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVm
X2FycmF5WzJdKTsKLSAgcmVmc1szXSA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX2FycmF5WzNd
KTsKLSAgc3Vtc18zMlswXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gIHN1bXNfMzJbMV0g
PSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBzdW1zXzMyWzJdID0gX21tMjU2X3NldHplcm9f
c2kyNTYoKTsKLSAgc3Vtc18zMlszXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0KLSAgZm9y
IChpID0gMDsgaSA8IChuIC8gOCk7ICsraSkgewotICAgIHN1bXNfMTZbMF0gPSBfbW0yNTZfc2V0
emVyb19zaTI1NigpOwotICAgIHN1bXNfMTZbMV0gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwot
ICAgIHN1bXNfMTZbMl0gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICAgIHN1bXNfMTZbM10g
PSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotCi0gICAgaGlnaGJkX3NhZDMyeEh4NGQoc3Vtc18x
Niwgc3JjLCBzcmNfc3RyaWRlLCByZWZzLCByZWZfc3RyaWRlLCA4KTsKLQotICAgIC8qIHN1bXNf
MTYgd2lsbCBvdXRyYW5nZSBhZnRlciA4IHJvd3MsIHNvIGFkZCBjdXJyZW50IHN1bXNfMTYgdG8K
LSAgICAgKiBzdW1zXzMyKi8KLSAgICBzdW1zXzMyWzBdID0gX21tMjU2X2FkZF9lcGkzMigKLSAg
ICAgICAgc3Vtc18zMlswXSwKLSAgICAgICAgX21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgICAg
IF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHN1bXNfMTZbMF0p
KSwKLSAgICAgICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhf
c2kyNTYoc3Vtc18xNlswXSwgMSkpKSk7Ci0gICAgc3Vtc18zMlsxXSA9IF9tbTI1Nl9hZGRfZXBp
MzIoCi0gICAgICAgIHN1bXNfMzJbMV0sCi0gICAgICAgIF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAg
ICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1z
XzE2WzFdKSksCi0gICAgICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2V4dHJh
Y3RmMTI4X3NpMjU2KHN1bXNfMTZbMV0sIDEpKSkpOwotICAgIHN1bXNfMzJbMl0gPSBfbW0yNTZf
YWRkX2VwaTMyKAotICAgICAgICBzdW1zXzMyWzJdLAotICAgICAgICBfbW0yNTZfYWRkX2VwaTMy
KAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kx
Mjgoc3Vtc18xNlsyXSkpLAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1
Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2WzJdLCAxKSkpKTsKLSAgICBzdW1zXzMyWzNdID0g
X21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgc3Vtc18zMlszXSwKLSAgICAgICAgX21tMjU2X2Fk
ZF9lcGkzMigKLSAgICAgICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfY2FzdHNp
MjU2X3NpMTI4KHN1bXNfMTZbM10pKSwKLSAgICAgICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkz
MihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoc3Vtc18xNlszXSwgMSkpKSk7Ci0KLSAgICBzcmMg
Kz0gc3JjX3N0cmlkZSA8PCAzOwotICB9Ci0gIGNhbGNfZmluYWxfNChzdW1zXzMyLCBzYWRfYXJy
YXkpOwotfQotCi0jZGVmaW5lIEhJR0hCRF9TQUQzMlhOWDREKG4pICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB2b2lkIHZweF9oaWdoYmRfc2Fk
MzJ4IyNuIyN4NGRfYXZ4Mihjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLCAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAq
Y29uc3QgcmVmX2FycmF5WzRdLCAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlbNF0pIHsgXAotICAg
IGhpZ2hiZF9zYWQzMnhOeDRkX2F2eDIoc3JjLCBzcmNfc3RyaWRlLCByZWZfYXJyYXksIHJlZl9z
dHJpZGUsIHNhZF9hcnJheSwgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG4pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotI2Rl
ZmluZSBISUdIQkRfU0FEU0tJUDMyWE54NEQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIHZvaWQgdnB4X2hpZ2hiZF9zYWRfc2tpcF8zMngjI24jI3g0
ZF9hdngyKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVp
bnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJh
eVs0XSwgXAotICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSkgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaGlnaGJkX3NhZDMyeE54NGRfYXZ4
MihzcmMsIDIgKiBzcmNfc3RyaWRlLCByZWZfYXJyYXksIDIgKiByZWZfc3RyaWRlLCAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNhZF9hcnJheSwgbiAvIDIpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHNhZF9hcnJheVswXSA8PD0gMTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc2FkX2FycmF5
WzFdIDw8PSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBzYWRfYXJyYXlbMl0gPDw9IDE7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNhZF9hcnJheVszXSA8PD0gMTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IH0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCBoaWdoYmRfc2FkMTZ4SHg0ZChfX20y
NTZpICpzdW1zXzE2IC8qWzRdKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqcmVmc1s0XSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUs
IGludCBoZWlnaHQpIHsKLSAgaW50IGk7Ci0gIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykg
ewotICAgIF9fbTI1Nmkgcls0XTsKLQotICAgIC8vIGxvYWQgc3JjIGFuZCBhbGwgcmVmW10KLSAg
ICBjb25zdCBfX20yNTZpIHMgPSBfbW0yNTZfbG9hZF9zaTI1NigoY29uc3QgX19tMjU2aSAqKXNy
Yyk7Ci0gICAgclswXSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKXJlZnNb
MF0pOwotICAgIHJbMV0gPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilyZWZz
WzFdKTsKLSAgICByWzJdID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopcmVm
c1syXSk7Ci0gICAgclszXSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKXJl
ZnNbM10pOwotCi0gICAgLy8gYWJzb2x1dGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBldmVyeSByZWZb
XSB0byBzcmMKLSAgICByWzBdID0gX21tMjU2X2Fic19lcGkxNihfbW0yNTZfc3ViX2VwaTE2KHJb
MF0sIHMpKTsKLSAgICByWzFdID0gX21tMjU2X2Fic19lcGkxNihfbW0yNTZfc3ViX2VwaTE2KHJb
MV0sIHMpKTsKLSAgICByWzJdID0gX21tMjU2X2Fic19lcGkxNihfbW0yNTZfc3ViX2VwaTE2KHJb
Ml0sIHMpKTsKLSAgICByWzNdID0gX21tMjU2X2Fic19lcGkxNihfbW0yNTZfc3ViX2VwaTE2KHJb
M10sIHMpKTsKLQotICAgIC8vIHN1bSBldmVyeSBhYnMgZGlmZgotICAgIHN1bXNfMTZbMF0gPSBf
bW0yNTZfYWRkX2VwaTE2KHN1bXNfMTZbMF0sIHJbMF0pOwotICAgIHN1bXNfMTZbMV0gPSBfbW0y
NTZfYWRkX2VwaTE2KHN1bXNfMTZbMV0sIHJbMV0pOwotICAgIHN1bXNfMTZbMl0gPSBfbW0yNTZf
YWRkX2VwaTE2KHN1bXNfMTZbMl0sIHJbMl0pOwotICAgIHN1bXNfMTZbM10gPSBfbW0yNTZfYWRk
X2VwaTE2KHN1bXNfMTZbM10sIHJbM10pOwotCi0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAg
cmVmc1swXSArPSByZWZfc3RyaWRlOwotICAgIHJlZnNbMV0gKz0gcmVmX3N0cmlkZTsKLSAgICBy
ZWZzWzJdICs9IHJlZl9zdHJpZGU7Ci0gICAgcmVmc1szXSArPSByZWZfc3RyaWRlOwotICB9Ci19
Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQgaGlnaGJkX3NhZDE2eE54NGRfYXZ4MigK
LSAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqY29uc3QgcmVmX2FycmF5WzRdLAotICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRf
YXJyYXlbNF0sIGludCBuKSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMgPSBDT05WRVJUX1RPX1NI
T1JUUFRSKHNyY19wdHIpOwotICB1aW50MTZfdCAqcmVmc1s0XTsKLSAgX19tMjU2aSBzdW1zXzE2
WzRdOwotICBfX20yNTZpIHN1bXNfMzJbNF07Ci0gIGNvbnN0IGludCBoZWlnaHQgPSBWUFhNSU4o
MTYsIG4pOwotICBjb25zdCBpbnQgbnVtX2l0ZXJzID0gbiAvIGhlaWdodDsKLSAgaW50IGk7Ci0K
LSAgcmVmc1swXSA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX2FycmF5WzBdKTsKLSAgcmVmc1sx
XSA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX2FycmF5WzFdKTsKLSAgcmVmc1syXSA9IENPTlZF
UlRfVE9fU0hPUlRQVFIocmVmX2FycmF5WzJdKTsKLSAgcmVmc1szXSA9IENPTlZFUlRfVE9fU0hP
UlRQVFIocmVmX2FycmF5WzNdKTsKLSAgc3Vtc18zMlswXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2
KCk7Ci0gIHN1bXNfMzJbMV0gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBzdW1zXzMyWzJd
ID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKLSAgc3Vtc18zMlszXSA9IF9tbTI1Nl9zZXR6ZXJv
X3NpMjU2KCk7Ci0KLSAgZm9yIChpID0gMDsgaSA8IG51bV9pdGVyczsgKytpKSB7Ci0gICAgc3Vt
c18xNlswXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gICAgc3Vtc18xNlsxXSA9IF9tbTI1
Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gICAgc3Vtc18xNlsyXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2
KCk7Ci0gICAgc3Vtc18xNlszXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0KLSAgICBoaWdo
YmRfc2FkMTZ4SHg0ZChzdW1zXzE2LCBzcmMsIHNyY19zdHJpZGUsIHJlZnMsIHJlZl9zdHJpZGUs
IGhlaWdodCk7Ci0KLSAgICAvLyBzdW1zXzE2IHdpbGwgb3V0cmFuZ2UgYWZ0ZXIgMTYgcm93cywg
c28gYWRkIGN1cnJlbnQgc3Vtc18xNiB0byBzdW1zXzMyCi0gICAgc3Vtc18zMlswXSA9IF9tbTI1
Nl9hZGRfZXBpMzIoCi0gICAgICAgIHN1bXNfMzJbMF0sCi0gICAgICAgIF9tbTI1Nl9hZGRfZXBp
MzIoCi0gICAgICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9z
aTEyOChzdW1zXzE2WzBdKSksCi0gICAgICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21t
MjU2X2V4dHJhY3RmMTI4X3NpMjU2KHN1bXNfMTZbMF0sIDEpKSkpOwotICAgIHN1bXNfMzJbMV0g
PSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBzdW1zXzMyWzFdLAotICAgICAgICBfbW0yNTZf
YWRkX2VwaTMyKAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9jYXN0
c2kyNTZfc2kxMjgoc3Vtc18xNlsxXSkpLAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2Vw
aTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2WzFdLCAxKSkpKTsKLSAgICBzdW1z
XzMyWzJdID0gX21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgc3Vtc18zMlsyXSwKLSAgICAgICAg
X21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0y
NTZfY2FzdHNpMjU2X3NpMTI4KHN1bXNfMTZbMl0pKSwKLSAgICAgICAgICAgIF9tbTI1Nl9jdnRl
cHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoc3Vtc18xNlsyXSwgMSkpKSk7Ci0g
ICAgc3Vtc18zMlszXSA9IF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgIHN1bXNfMzJbM10sCi0g
ICAgICAgIF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBp
MzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2WzNdKSksCi0gICAgICAgICAgICBfbW0y
NTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KHN1bXNfMTZbM10sIDEp
KSkpOwotCi0gICAgc3JjICs9IHNyY19zdHJpZGUgPDwgNDsKLSAgfQotICBjYWxjX2ZpbmFsXzQo
c3Vtc18zMiwgc2FkX2FycmF5KTsKLX0KLQotI2RlZmluZSBISUdIQkRfU0FEMTZYTlg0RChuKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdm9p
ZCB2cHhfaGlnaGJkX3NhZDE2eCMjbiMjeDRkX2F2eDIoY29uc3QgdWludDhfdCAqc3JjLCBpbnQg
c3JjX3N0cmlkZSwgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0XSwgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qgc2FkX2Fy
cmF5WzRdKSB7IFwKLSAgICBoaWdoYmRfc2FkMTZ4Tng0ZF9hdngyKHNyYywgc3JjX3N0cmlkZSwg
cmVmX2FycmF5LCByZWZfc3RyaWRlLCBzYWRfYXJyYXksICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICB9Ci0KLSNkZWZpbmUgSElHSEJEX1NBRFNLSVAxNlhOeDREKG4pICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB2b2lkIHZweF9oaWdoYmRfc2Fk
X3NraXBfMTZ4IyNuIyN4NGRfYXZ4MiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICBjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90
ICpjb25zdCByZWZfYXJyYXlbNF0sIFwKLSAgICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBz
YWRfYXJyYXlbNF0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGhpZ2hi
ZF9zYWQxNnhOeDRkX2F2eDIoc3JjLCAyICogc3JjX3N0cmlkZSwgcmVmX2FycmF5LCAyICogcmVm
X3N0cmlkZSwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzYWRfYXJyYXksIG4gLyAy
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzYWRfYXJyYXlbMF0gPDw9
IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIHNhZF9hcnJheVsxXSA8PD0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc2FkX2FycmF5WzJdIDw8PSAxOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzYWRf
YXJyYXlbM10gPDw9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICB9Ci0KLXZvaWQgdnB4X2hpZ2hiZF9zYWQxNngxNng0ZF9hdngyKGNv
bnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5WzRdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQzMl90IHNhZF9h
cnJheVs0XSkgewotICBjb25zdCB1aW50MTZfdCAqc3JjID0gQ09OVkVSVF9UT19TSE9SVFBUUihz
cmNfcHRyKTsKLSAgdWludDE2X3QgKnJlZnNbNF07Ci0gIF9fbTI1Nmkgc3Vtc18xNls0XTsKLQot
ICByZWZzWzBdID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfYXJyYXlbMF0pOwotICByZWZzWzFd
ID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfYXJyYXlbMV0pOwotICByZWZzWzJdID0gQ09OVkVS
VF9UT19TSE9SVFBUUihyZWZfYXJyYXlbMl0pOwotICByZWZzWzNdID0gQ09OVkVSVF9UT19TSE9S
VFBUUihyZWZfYXJyYXlbM10pOwotICBzdW1zXzE2WzBdID0gX21tMjU2X3NldHplcm9fc2kyNTYo
KTsKLSAgc3Vtc18xNlsxXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gIHN1bXNfMTZbMl0g
PSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBzdW1zXzE2WzNdID0gX21tMjU2X3NldHplcm9f
c2kyNTYoKTsKLQotICBoaWdoYmRfc2FkMTZ4SHg0ZChzdW1zXzE2LCBzcmMsIHNyY19zdHJpZGUs
IHJlZnMsIHJlZl9zdHJpZGUsIDE2KTsKLQotICB7Ci0gICAgX19tMjU2aSBzdW1zXzMyWzRdOwot
ICAgIHN1bXNfMzJbMF0gPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBfbW0yNTZfY3Z0ZXB1
MTZfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2WzBdKSksCi0gICAgICAgIF9t
bTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoc3Vtc18xNlswXSwg
MSkpKTsKLSAgICBzdW1zXzMyWzFdID0gX21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgX21tMjU2
X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3Vtc18xNlsxXSkpLAotICAg
ICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KHN1bXNf
MTZbMV0sIDEpKSk7Ci0gICAgc3Vtc18zMlsyXSA9IF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAg
IF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHN1bXNfMTZbMl0p
KSwKLSAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1
NihzdW1zXzE2WzJdLCAxKSkpOwotICAgIHN1bXNfMzJbM10gPSBfbW0yNTZfYWRkX2VwaTMyKAot
ICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1z
XzE2WzNdKSksCi0gICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYx
Mjhfc2kyNTYoc3Vtc18xNlszXSwgMSkpKTsKLSAgICBjYWxjX2ZpbmFsXzQoc3Vtc18zMiwgc2Fk
X2FycmF5KTsKLSAgfQotfQotCi12b2lkIHZweF9oaWdoYmRfc2FkMTZ4OHg0ZF9hdngyKGNvbnN0
IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCB1aW50MzJfdCBzYWRfYXJyYXlb
NF0pIHsKLSAgY29uc3QgdWludDE2X3QgKnNyYyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjX3B0
cik7Ci0gIHVpbnQxNl90ICpyZWZzWzRdOwotICBfX20yNTZpIHN1bXNfMTZbNF07Ci0KLSAgcmVm
c1swXSA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX2FycmF5WzBdKTsKLSAgcmVmc1sxXSA9IENP
TlZFUlRfVE9fU0hPUlRQVFIocmVmX2FycmF5WzFdKTsKLSAgcmVmc1syXSA9IENPTlZFUlRfVE9f
U0hPUlRQVFIocmVmX2FycmF5WzJdKTsKLSAgcmVmc1szXSA9IENPTlZFUlRfVE9fU0hPUlRQVFIo
cmVmX2FycmF5WzNdKTsKLSAgc3Vtc18xNlswXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0g
IHN1bXNfMTZbMV0gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBzdW1zXzE2WzJdID0gX21t
MjU2X3NldHplcm9fc2kyNTYoKTsKLSAgc3Vtc18xNlszXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2
KCk7Ci0KLSAgaGlnaGJkX3NhZDE2eEh4NGQoc3Vtc18xNiwgc3JjLCBzcmNfc3RyaWRlLCByZWZz
LCByZWZfc3RyaWRlLCA4KTsKLQotICB7Ci0gICAgX19tMjU2aSBzdW1zXzMyWzRdOwotICAgIHN1
bXNfMzJbMF0gPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBp
MzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2WzBdKSksCi0gICAgICAgIF9tbTI1Nl9j
dnRlcHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoc3Vtc18xNlswXSwgMSkpKTsK
LSAgICBzdW1zXzMyWzFdID0gX21tMjU2X2FkZF9lcGkzMigKLSAgICAgICAgX21tMjU2X2N2dGVw
dTE2X2VwaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3Vtc18xNlsxXSkpLAotICAgICAgICBf
bW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KHN1bXNfMTZbMV0s
IDEpKSk7Ci0gICAgc3Vtc18zMlsyXSA9IF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgIF9tbTI1
Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHN1bXNfMTZbMl0pKSwKLSAg
ICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1z
XzE2WzJdLCAxKSkpOwotICAgIHN1bXNfMzJbM10gPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAg
ICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2WzNd
KSksCi0gICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhfc2ky
NTYoc3Vtc18xNlszXSwgMSkpKTsKLSAgICBjYWxjX2ZpbmFsXzQoc3Vtc18zMiwgc2FkX2FycmF5
KTsKLSAgfQotfQotCi0vLyBjbGFuZy1mb3JtYXQgb2ZmCi1ISUdIQkRfU0FENjRYTlg0RCg2NCkK
LUhJR0hCRF9TQURTS0lQNjRYTng0RCg2NCkKLQotSElHSEJEX1NBRDY0WE5YNEQoMzIpCi1ISUdI
QkRfU0FEU0tJUDY0WE54NEQoMzIpCi0KLUhJR0hCRF9TQUQzMlhOWDREKDY0KQotSElHSEJEX1NB
RFNLSVAzMlhOeDREKDY0KQotCi1ISUdIQkRfU0FEMzJYTlg0RCgzMikKLUhJR0hCRF9TQURTS0lQ
MzJYTng0RCgzMikKLQotSElHSEJEX1NBRDMyWE5YNEQoMTYpCi1ISUdIQkRfU0FEU0tJUDMyWE54
NEQoMTYpCi0KLUhJR0hCRF9TQUQxNlhOWDREKDMyKQotSElHSEJEX1NBRFNLSVAxNlhOeDREKDMy
KQotCi1ISUdIQkRfU0FEU0tJUDE2WE54NEQoMTYpCi0KLUhJR0hCRF9TQURTS0lQMTZYTng0RCg4
KQotICAgIC8vIGNsYW5nLWZvcm1hdCBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3g4Ni9oaWdoYmRfc2FkNGRfc3NlMi5hc20gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2hpZ2hi
ZF9zYWQ0ZF9zc2UyLmFzbQppbmRleCBhMDc4OTJkODExZTMuLjZjMmE2MWUwMTk3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfc2FkNGRfc3NlMi5hc20KKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfc2FkNGRfc3NlMi5hc20KQEAgLTIxMywxMiAr
MjEzLDcgQEAgU0VDVElPTiAudGV4dAogOyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90
ICpyZWZbNF0sIGludCByZWZfc3RyaWRlLAogOyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCByZXNbNF0pOwogOyB3aGVyZSBOeE4gPSA2NHg2NCwgMzJ4MzIsIDE2eDE2LCAxNng4LCA4
eDE2IG9yIDh4OAotOyBNYWNybyBBcmd1bWVudHM6Ci07ICAgMTogV2lkdGgKLTsgICAyOiBIZWln
aHQKLTsgICAzOiBJZiAwLCB0aGVuIG5vcm1hbCBzYWQsIGlmIDIsIHRoZW4gc2tpcCBldmVyeSBv
dGhlciByb3cKLSVtYWNybyBISUdIX1NBRE5YTjREIDItMyAwCi0laWYgJTMgPT0gMCAgOyBub3Jt
YWwgc2FkCislbWFjcm8gSElHSF9TQUROWE40RCAyCiAlaWYgVU5JWDY0CiBjZ2xvYmFsIGhpZ2hi
ZF9zYWQlMXglMng0ZCwgNSwgOCwgOCwgc3JjLCBzcmNfc3RyaWRlLCByZWYxLCByZWZfc3RyaWRl
LCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMsIHJlZjIsIHJlZjMsIHJlZjQK
QEAgLTIyNiwxNSArMjIxLDYgQEAgY2dsb2JhbCBoaWdoYmRfc2FkJTF4JTJ4NGQsIDUsIDgsIDgs
IHNyYywgc3JjX3N0cmlkZSwgcmVmMSwgcmVmX3N0cmlkZSwgXAogY2dsb2JhbCBoaWdoYmRfc2Fk
JTF4JTJ4NGQsIDQsIDcsIDgsIHNyYywgc3JjX3N0cmlkZSwgcmVmMSwgcmVmX3N0cmlkZSwgXAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmMiwgcmVmMywgcmVmNAogJWVuZGlmCi0l
ZWxzZSAgOyAlMyA9PSAyLCBkb3duc2FtcGxlCi0laWYgVU5JWDY0Ci1jZ2xvYmFsIGhpZ2hiZF9z
YWRfc2tpcF8lMXglMng0ZCwgNSwgOCwgOCwgc3JjLCBzcmNfc3RyaWRlLCByZWYxLCByZWZfc3Ry
aWRlLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMsIHJlZjIsIHJlZjMsIHJl
ZjQKLSVlbHNlCi1jZ2xvYmFsIGhpZ2hiZF9zYWRfc2tpcF8lMXglMng0ZCwgNCwgNywgOCwgc3Jj
LCBzcmNfc3RyaWRlLCByZWYxLCByZWZfc3RyaWRlLCBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZWYyLCByZWYzLCByZWY0Ci0lZW5kaWYgIDsKLSVlbmRpZiAgOyBzYWQvYXZnL3Nr
aXAKIAogOyBzZXQgbTEKICAgcHVzaCAgICAgICAgICAgICAgICBzcmNxCkBAIC0yNDMsMTAgKzIy
OSw2IEBAIGNnbG9iYWwgaGlnaGJkX3NhZF9za2lwXyUxeCUyeDRkLCA0LCA3LCA4LCBzcmMsIHNy
Y19zdHJpZGUsIHJlZjEsIHJlZl9zdHJpZGUsIFwKICAgcHNodWZkICAgICAgICAgICAgICAgIG0x
LCBtMSwgMHgwCiAgIHBvcCAgICAgICAgICAgICAgICAgc3JjcQogCi0laWYgJTMgPT0gMiAgOyBz
a2lwIHJvd3MKLSAgbGVhICAgICAgICAgIHNyY19zdHJpZGVkLCBbMipzcmNfc3RyaWRlZF0KLSAg
bGVhICAgICAgICAgIHJlZl9zdHJpZGVkLCBbMipyZWZfc3RyaWRlZF0KLSVlbmRpZiAgOyBza2lw
IHJvd3MKICAgbW92c3hkaWZuaWRuIHNyY19zdHJpZGVxLCBzcmNfc3RyaWRlZAogICBtb3ZzeGRp
Zm5pZG4gcmVmX3N0cmlkZXEsIHJlZl9zdHJpZGVkCiAgIG1vdiAgICAgICAgICAgICAgICByZWYy
cSwgW3JlZjFxK2dwcnNpemUqMV0KQEAgLTI2MiwxNSArMjQ0LDkgQEAgY2dsb2JhbCBoaWdoYmRf
c2FkX3NraXBfJTF4JTJ4NGQsIDQsIDcsIDgsIHNyYywgc3JjX3N0cmlkZSwgcmVmMSwgcmVmX3N0
cmlkZSwgXAogICBzaGwgICAgICAgICAgICAgICAgcmVmMXEsIDEKIAogICBISUdIX1BST0NFU1Nf
JTF4Mng0IDEsIDAsIDAsIHNyY19zdHJpZGVxLCByZWZfc3RyaWRlcSwgMQotJWlmICUzID09IDIg
IDsgIERvd25zYW1wbGluZyBieSB0d28KLSVkZWZpbmUgbnVtX3JlcCAoJTItOCkvNAotJWVsc2UK
LSVkZWZpbmUgbnVtX3JlcCAoJTItNCkvMgotJWVuZGlmCi0lcmVwIG51bV9yZXAKKyVyZXAgKCUy
LTQpLzIKICAgSElHSF9QUk9DRVNTXyUxeDJ4NCAwLCAwLCAwLCBzcmNfc3RyaWRlcSwgcmVmX3N0
cmlkZXEsIDEKICVlbmRyZXAKLSV1bmRlZiByZXAKICAgSElHSF9QUk9DRVNTXyUxeDJ4NCAwLCAw
LCAwLCBzcmNfc3RyaWRlcSwgcmVmX3N0cmlkZXEsIDAKICAgOyBOLkIuIEhJR0hfUFJPQ0VTUyBv
dXRwdXRzIGR3b3JkcyAoMzIgYml0cykKICAgOyBzbyBpbiBoaWdoIGJpdCBkZXB0aCBldmVuIHRo
ZSBzbWFsbGVzdCB3aWR0aCAoNCkgbmVlZHMgMTI4Yml0cyBpLmUuIFhNTQpAQCAtMjg5LDkgKzI2
NSw2IEBAIGNnbG9iYWwgaGlnaGJkX3NhZF9za2lwXyUxeCUyeDRkLCA0LCA3LCA4LCBzcmMsIHNy
Y19zdHJpZGUsIHJlZjEsIHJlZl9zdHJpZGUsIFwKICAgcGFkZGQgICAgICAgICAgICAgICAgIG00
LCBtMAogICBwYWRkZCAgICAgICAgICAgICAgICAgbTYsIG0xCiAgIHB1bnBja2xxZHEgICAgICAg
ICAgICBtNCwgbTYKLSVpZiAlMyA9PSAyICA7IHNraXAgcm93cwotICBwc2xsZCAgICAgICAgICAg
ICAgICAgbTQsIDEKLSVlbmRpZgogICBtb3ZpZm5pZG4gICAgICAgICAgICAgcjQsIHI0bXAKICAg
bW92dSAgICAgICAgICAgICAgICBbcjRdLCBtNAogICBSRVQKQEAgLTMxMiwxNSArMjg1LDMgQEAg
SElHSF9TQUROWE40RCAgOCwgIDgKIEhJR0hfU0FETlhONEQgIDgsICA0CiBISUdIX1NBRE5YTjRE
ICA0LCAgOAogSElHSF9TQUROWE40RCAgNCwgIDQKLQotSElHSF9TQUROWE40RCA2NCwgNjQsIDIK
LUhJR0hfU0FETlhONEQgNjQsIDMyLCAyCi1ISUdIX1NBRE5YTjREIDMyLCA2NCwgMgotSElHSF9T
QUROWE40RCAzMiwgMzIsIDIKLUhJR0hfU0FETlhONEQgMzIsIDE2LCAyCi1ISUdIX1NBRE5YTjRE
IDE2LCAzMiwgMgotSElHSF9TQUROWE40RCAxNiwgMTYsIDIKLUhJR0hfU0FETlhONEQgMTYsICA4
LCAyCi1ISUdIX1NBRE5YTjREICA4LCAxNiwgMgotSElHSF9TQUROWE40RCAgOCwgIDgsIDIKLUhJ
R0hfU0FETlhONEQgIDQsICA4LCAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2
L2hpZ2hiZF9zYWRfYXZ4Mi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfc2FkX2F2
eDIuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhmOGViOGJmYTEyLi4wMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfc2FkX2F2eDIuYworKysg
L2Rldi9udWxsCkBAIC0xLDUyMiArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBU
aGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UK
LSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9m
IHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0
eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFs
bCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBB
VVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0jaW5jbHVk
ZSA8aW1taW50cmluLmg+Ci0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKLSNpbmNsdWRlICJ2
cHgvdnB4X2ludGVnZXIuaCIKLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdW5zaWduZWQgaW50
IGNhbGNfZmluYWwoY29uc3QgX19tMjU2aSBzdW1zXzMyKSB7Ci0gIGNvbnN0IF9fbTI1NmkgdDAg
PSBfbW0yNTZfYWRkX2VwaTMyKHN1bXNfMzIsIF9tbTI1Nl9zcmxpX3NpMjU2KHN1bXNfMzIsIDgp
KTsKLSAgY29uc3QgX19tMjU2aSB0MSA9IF9tbTI1Nl9hZGRfZXBpMzIodDAsIF9tbTI1Nl9zcmxp
X3NpMjU2KHQwLCA0KSk7Ci0gIGNvbnN0IF9fbTEyOGkgc3VtID0gX21tX2FkZF9lcGkzMihfbW0y
NTZfY2FzdHNpMjU2X3NpMTI4KHQxKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1Nih0MSwgMSkpOwotICByZXR1cm4gKHVuc2lnbmVk
IGludClfbW1fY3Z0c2kxMjhfc2kzMihzdW0pOwotfQotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElO
RSB2b2lkIGhpZ2hiZF9zYWQ2NHhIKF9fbTI1NmkgKnN1bXNfMTYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpzcmMsIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MTZfdCAqcmVmLCBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewotICBpbnQgaTsKLSAgZm9yIChpID0gMDsgaSA8
IGhlaWdodDsgKytpKSB7Ci0gICAgLy8gbG9hZCBzcmMgYW5kIGFsbCByZWZbXQotICAgIGNvbnN0
IF9fbTI1NmkgczAgPSBfbW0yNTZfbG9hZF9zaTI1NigoY29uc3QgX19tMjU2aSAqKXNyYyk7Ci0g
ICAgY29uc3QgX19tMjU2aSBzMSA9IF9tbTI1Nl9sb2FkX3NpMjU2KChjb25zdCBfX20yNTZpICop
KHNyYyArIDE2KSk7Ci0gICAgY29uc3QgX19tMjU2aSBzMiA9IF9tbTI1Nl9sb2FkX3NpMjU2KChj
b25zdCBfX20yNTZpICopKHNyYyArIDMyKSk7Ci0gICAgY29uc3QgX19tMjU2aSBzMyA9IF9tbTI1
Nl9sb2FkX3NpMjU2KChjb25zdCBfX20yNTZpICopKHNyYyArIDQ4KSk7Ci0gICAgY29uc3QgX19t
MjU2aSByMCA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKXJlZik7Ci0gICAg
Y29uc3QgX19tMjU2aSByMSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShy
ZWYgKyAxNikpOwotICAgIGNvbnN0IF9fbTI1NmkgcjIgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNv
bnN0IF9fbTI1NmkgKikocmVmICsgMzIpKTsKLSAgICBjb25zdCBfX20yNTZpIHIzID0gX21tMjU2
X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopKHJlZiArIDQ4KSk7Ci0gICAgLy8gYWJzb2x1
dGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBldmVyeSByZWZbXSB0byBzcmMKLSAgICBjb25zdCBfX20y
NTZpIGFic19kaWZmMCA9IF9tbTI1Nl9hYnNfZXBpMTYoX21tMjU2X3N1Yl9lcGkxNihyMCwgczAp
KTsKLSAgICBjb25zdCBfX20yNTZpIGFic19kaWZmMSA9IF9tbTI1Nl9hYnNfZXBpMTYoX21tMjU2
X3N1Yl9lcGkxNihyMSwgczEpKTsKLSAgICBjb25zdCBfX20yNTZpIGFic19kaWZmMiA9IF9tbTI1
Nl9hYnNfZXBpMTYoX21tMjU2X3N1Yl9lcGkxNihyMiwgczIpKTsKLSAgICBjb25zdCBfX20yNTZp
IGFic19kaWZmMyA9IF9tbTI1Nl9hYnNfZXBpMTYoX21tMjU2X3N1Yl9lcGkxNihyMywgczMpKTsK
LSAgICAvLyBzdW0gZXZlcnkgYWJzIGRpZmYKLSAgICAqc3Vtc18xNiA9Ci0gICAgICAgIF9tbTI1
Nl9hZGRfZXBpMTYoKnN1bXNfMTYsIF9tbTI1Nl9hZGRfZXBpMTYoYWJzX2RpZmYwLCBhYnNfZGlm
ZjEpKTsKLSAgICAqc3Vtc18xNiA9Ci0gICAgICAgIF9tbTI1Nl9hZGRfZXBpMTYoKnN1bXNfMTYs
IF9tbTI1Nl9hZGRfZXBpMTYoYWJzX2RpZmYyLCBhYnNfZGlmZjMpKTsKLQotICAgIHNyYyArPSBz
cmNfc3RyaWRlOwotICAgIHJlZiArPSByZWZfc3RyaWRlOwotICB9Ci19Ci0KLXN0YXRpYyBWUFhf
Rk9SQ0VfSU5MSU5FIHVuc2lnbmVkIGludCBoaWdoYmRfc2FkNjR4Tl9hdngyKGNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBuKSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMgPSBDT05WRVJU
X1RPX1NIT1JUUFRSKHNyY19wdHIpOwotICB1aW50MTZfdCAqcmVmID0gQ09OVkVSVF9UT19TSE9S
VFBUUihyZWZfcHRyKTsKLSAgX19tMjU2aSBzdW1zXzMyID0gX21tMjU2X3NldHplcm9fc2kyNTYo
KTsKLSAgaW50IGk7Ci0KLSAgZm9yIChpID0gMDsgaSA8IChuIC8gMik7ICsraSkgewotICAgIF9f
bTI1Nmkgc3Vtc18xNiA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0KLSAgICBoaWdoYmRfc2Fk
NjR4SCgmc3Vtc18xNiwgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIDIpOwotCi0g
ICAgLyogc3Vtc18xNiB3aWxsIG91dHJhbmdlIGFmdGVyIDIgcm93cywgc28gYWRkIGN1cnJlbnQg
c3Vtc18xNiB0bwotICAgICAqIHN1bXNfMzIqLwotICAgIHN1bXNfMzIgPSBfbW0yNTZfYWRkX2Vw
aTMyKAotICAgICAgICBzdW1zXzMyLAotICAgICAgICBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAg
ICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3Vtc18x
NikpLAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEy
OF9zaTI1NihzdW1zXzE2LCAxKSkpKTsKLQotICAgIHNyYyArPSBzcmNfc3RyaWRlIDw8IDE7Ci0g
ICAgcmVmICs9IHJlZl9zdHJpZGUgPDwgMTsKLSAgfQotICByZXR1cm4gY2FsY19maW5hbChzdW1z
XzMyKTsKLX0KLQotI2RlZmluZSBISUdIQkRfU0FENjRYTihuKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9o
aWdoYmRfc2FkNjR4IyNuIyNfYXZ4Mihjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRl
LCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDhfdCAqcmVmLCAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlKSB7ICAgICAgICAgICAgICAgICAgIFwKLSAg
ICByZXR1cm4gaGlnaGJkX3NhZDY0eE5fYXZ4MihzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0
cmlkZSwgbik7ICAgICAgICAgICBcCi0gIH0KLQotI2RlZmluZSBISUdIQkRfU0FEU0tJUDY0eE4o
bikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZF9za2lwXzY0eCMjbiMjX2F2eDIoICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJp
ZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwgICAgICAgICAgICAgICAgXAotICAgICAgaW50IHJlZl9z
dHJpZGUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgcmV0dXJuIDIgKiBoaWdoYmRfc2FkNjR4Tl9hdngyKHNyYywgMiAqIHNyY19z
dHJpZGUsIHJlZiwgMiAqIHJlZl9zdHJpZGUsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbiAvIDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9
Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQgaGlnaGJkX3NhZDMyeEgoX19tMjU2aSAq
c3Vtc18xNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDE2X3QgKnNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90ICpyZWYsIGludCByZWZfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7Ci0g
IGludCBpOwotICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyArK2kpIHsKLSAgICAvLyBsb2FkIHNy
YyBhbmQgYWxsIHJlZltdCi0gICAgY29uc3QgX19tMjU2aSBzMCA9IF9tbTI1Nl9sb2FkX3NpMjU2
KChjb25zdCBfX20yNTZpICopc3JjKTsKLSAgICBjb25zdCBfX20yNTZpIHMxID0gX21tMjU2X2xv
YWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjICsgMTYpKTsKLSAgICBjb25zdCBfX20yNTZp
IHIwID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopcmVmKTsKLSAgICBjb25z
dCBfX20yNTZpIHIxID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopKHJlZiAr
IDE2KSk7Ci0gICAgLy8gYWJzb2x1dGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBldmVyeSByZWZbXSB0
byBzcmMKLSAgICBjb25zdCBfX20yNTZpIGFic19kaWZmMCA9IF9tbTI1Nl9hYnNfZXBpMTYoX21t
MjU2X3N1Yl9lcGkxNihyMCwgczApKTsKLSAgICBjb25zdCBfX20yNTZpIGFic19kaWZmMSA9IF9t
bTI1Nl9hYnNfZXBpMTYoX21tMjU2X3N1Yl9lcGkxNihyMSwgczEpKTsKLSAgICAvLyBzdW0gZXZl
cnkgYWJzIGRpZmYKLSAgICAqc3Vtc18xNiA9IF9tbTI1Nl9hZGRfZXBpMTYoKnN1bXNfMTYsIGFi
c19kaWZmMCk7Ci0gICAgKnN1bXNfMTYgPSBfbW0yNTZfYWRkX2VwaTE2KCpzdW1zXzE2LCBhYnNf
ZGlmZjEpOwotCi0gICAgc3JjICs9IHNyY19zdHJpZGU7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGU7
Ci0gIH0KLX0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdW5zaWduZWQgaW50IGhpZ2hiZF9z
YWQzMnhOX2F2eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG4pIHsKLSAgY29uc3Qg
dWludDE2X3QgKnNyYyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjX3B0cik7Ci0gIHVpbnQxNl90
ICpyZWYgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl9wdHIpOwotICBfX20yNTZpIHN1bXNfMzIg
PSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBpbnQgaTsKLQotICBmb3IgKGkgPSAwOyBpIDwg
KG4gLyA4KTsgKytpKSB7Ci0gICAgX19tMjU2aSBzdW1zXzE2ID0gX21tMjU2X3NldHplcm9fc2ky
NTYoKTsKLQotICAgIGhpZ2hiZF9zYWQzMnhIKCZzdW1zXzE2LCBzcmMsIHNyY19zdHJpZGUsIHJl
ZiwgcmVmX3N0cmlkZSwgOCk7Ci0KLSAgICAvKiBzdW1zXzE2IHdpbGwgb3V0cmFuZ2UgYWZ0ZXIg
OCByb3dzLCBzbyBhZGQgY3VycmVudCBzdW1zXzE2IHRvCi0gICAgICogc3Vtc18zMiovCi0gICAg
c3Vtc18zMiA9IF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgIHN1bXNfMzIsCi0gICAgICAgIF9t
bTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2
X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2KSksCi0gICAgICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZf
ZXBpMzIoX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KHN1bXNfMTYsIDEpKSkpOwotCi0gICAgc3Jj
ICs9IHNyY19zdHJpZGUgPDwgMzsKLSAgICByZWYgKz0gcmVmX3N0cmlkZSA8PCAzOwotICB9Ci0g
IHJldHVybiBjYWxjX2ZpbmFsKHN1bXNfMzIpOwotfQotCi0jZGVmaW5lIEhJR0hCRF9TQUQzMlhO
KG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICB1bnNpZ25lZCBpbnQgdnB4X2hpZ2hiZF9zYWQzMngjI24jI19hdngyKGNvbnN0IHVpbnQ4
X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpyZWYsICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUpIHsg
ICAgICAgICAgICAgICAgICAgXAotICAgIHJldHVybiBoaWdoYmRfc2FkMzJ4Tl9hdngyKHNyYywg
c3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBuKTsgICAgICAgICAgIFwKLSAgfQotCi0jZGVm
aW5lIEhJR0hCRF9TQURTS0lQMzJ4TihuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkX3NraXBfMzJ4
IyNuIyNfYXZ4MiggICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgY29uc3QgdWlu
dDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmLCAgICAgICAgICAg
ICAgICBcCi0gICAgICBpbnQgcmVmX3N0cmlkZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gMiAqIGhpZ2hiZF9zYWQz
MnhOX2F2eDIoc3JjLCAyICogc3JjX3N0cmlkZSwgcmVmLCAyICogcmVmX3N0cmlkZSwgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuIC8gMik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIH0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgdm9pZCBo
aWdoYmRfc2FkMTZ4SChfX20yNTZpICpzdW1zXzE2LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKnJl
ZiwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBoZWlnaHQpIHsKLSAgaW50IGk7Ci0gIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7
IGkgKz0gMikgewotICAgIC8vIGxvYWQgc3JjIGFuZCBhbGwgcmVmW10KLSAgICBjb25zdCBfX20y
NTZpIHMwID0gX21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilzcmMpOwotICAgIGNv
bnN0IF9fbTI1NmkgczEgPSBfbW0yNTZfbG9hZF9zaTI1NigoY29uc3QgX19tMjU2aSAqKShzcmMg
KyBzcmNfc3RyaWRlKSk7Ci0gICAgY29uc3QgX19tMjU2aSByMCA9IF9tbTI1Nl9sb2FkdV9zaTI1
NigoY29uc3QgX19tMjU2aSAqKXJlZik7Ci0gICAgY29uc3QgX19tMjU2aSByMSA9IF9tbTI1Nl9s
b2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWYgKyByZWZfc3RyaWRlKSk7Ci0gICAgLy8g
YWJzb2x1dGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBldmVyeSByZWZbXSB0byBzcmMKLSAgICBjb25z
dCBfX20yNTZpIGFic19kaWZmMCA9IF9tbTI1Nl9hYnNfZXBpMTYoX21tMjU2X3N1Yl9lcGkxNihy
MCwgczApKTsKLSAgICBjb25zdCBfX20yNTZpIGFic19kaWZmMSA9IF9tbTI1Nl9hYnNfZXBpMTYo
X21tMjU2X3N1Yl9lcGkxNihyMSwgczEpKTsKLSAgICAvLyBzdW0gZXZlcnkgYWJzIGRpZmYKLSAg
ICAqc3Vtc18xNiA9IF9tbTI1Nl9hZGRfZXBpMTYoKnN1bXNfMTYsIGFic19kaWZmMCk7Ci0gICAg
KnN1bXNfMTYgPSBfbW0yNTZfYWRkX2VwaTE2KCpzdW1zXzE2LCBhYnNfZGlmZjEpOwotCi0gICAg
c3JjICs9IHNyY19zdHJpZGUgPDwgMTsKLSAgICByZWYgKz0gcmVmX3N0cmlkZSA8PCAxOwotICB9
Ci19Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHVuc2lnbmVkIGludCBoaWdoYmRfc2FkMTZ4
Tl9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QgKnJlZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuKSB7Ci0gIGNvbnN0IHVpbnQx
Nl90ICpzcmMgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyY19wdHIpOwotICB1aW50MTZfdCAqcmVm
ID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsKLSAgX19tMjU2aSBzdW1zXzMyID0gX21t
MjU2X3NldHplcm9fc2kyNTYoKTsKLSAgY29uc3QgaW50IGhlaWdodCA9IFZQWE1JTigxNiwgbik7
Ci0gIGNvbnN0IGludCBudW1faXRlcnMgPSBuIC8gaGVpZ2h0OwotICBpbnQgaTsKLQotICBmb3Ig
KGkgPSAwOyBpIDwgbnVtX2l0ZXJzOyArK2kpIHsKLSAgICBfX20yNTZpIHN1bXNfMTYgPSBfbW0y
NTZfc2V0emVyb19zaTI1NigpOwotCi0gICAgaGlnaGJkX3NhZDE2eEgoJnN1bXNfMTYsIHNyYywg
c3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBoZWlnaHQpOwotCi0gICAgLy8gc3Vtc18xNiB3
aWxsIG91dHJhbmdlIGFmdGVyIDE2IHJvd3MsIHNvIGFkZCBjdXJyZW50IHN1bXNfMTYgdG8gc3Vt
c18zMgotICAgIHN1bXNfMzIgPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBzdW1zXzMyLAot
ICAgICAgICBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2Vw
aTMyKF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3Vtc18xNikpLAotICAgICAgICAgICAgX21tMjU2
X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2LCAxKSkpKTsK
LQotICAgIHNyYyArPSBzcmNfc3RyaWRlIDw8IDQ7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGUgPDwg
NDsKLSAgfQotICByZXR1cm4gY2FsY19maW5hbChzdW1zXzMyKTsKLX0KLQotI2RlZmluZSBISUdI
QkRfU0FEMTZYTihuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4IyNuIyNfYXZ4Mihj
b25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLCBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmLCAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZf
c3RyaWRlKSB7ICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gaGlnaGJkX3NhZDE2eE5f
YXZ4MihzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgbik7ICAgICAgICAgICBcCi0g
IH0KLQotI2RlZmluZSBISUdIQkRfU0FEU0tJUDE2eE4obikgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3Nh
ZF9za2lwXzE2eCMjbiMjX2F2eDIoICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZiwg
ICAgICAgICAgICAgICAgXAotICAgICAgaW50IHJlZl9zdHJpZGUpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcmV0dXJuIDIgKiBo
aWdoYmRfc2FkMTZ4Tl9hdngyKHNyYywgMiAqIHNyY19zdHJpZGUsIHJlZiwgMiAqIHJlZl9zdHJp
ZGUsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbiAvIDIpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLXVuc2lnbmVkIGludCB2cHhfaGln
aGJkX3NhZDE2eDE2X2F2eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJl
Zl9wdHIsIGludCByZWZfc3RyaWRlKSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMgPSBDT05WRVJU
X1RPX1NIT1JUUFRSKHNyY19wdHIpOwotICB1aW50MTZfdCAqcmVmID0gQ09OVkVSVF9UT19TSE9S
VFBUUihyZWZfcHRyKTsKLSAgX19tMjU2aSBzdW1zXzE2ID0gX21tMjU2X3NldHplcm9fc2kyNTYo
KTsKLQotICBoaWdoYmRfc2FkMTZ4SCgmc3Vtc18xNiwgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJl
Zl9zdHJpZGUsIDE2KTsKLQotICB7Ci0gICAgY29uc3QgX19tMjU2aSBzdW1zXzMyID0gX21tMjU2
X2FkZF9lcGkzMigKLSAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9jYXN0c2ky
NTZfc2kxMjgoc3Vtc18xNikpLAotICAgICAgICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2
X2V4dHJhY3RmMTI4X3NpMjU2KHN1bXNfMTYsIDEpKSk7Ci0gICAgcmV0dXJuIGNhbGNfZmluYWwo
c3Vtc18zMik7Ci0gIH0KLX0KLQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4OF9hdngy
KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3Ry
aWRlKSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyY19w
dHIpOwotICB1aW50MTZfdCAqcmVmID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsKLSAg
X19tMjU2aSBzdW1zXzE2ID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKLQotICBoaWdoYmRfc2Fk
MTZ4SCgmc3Vtc18xNiwgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIDgpOwotCi0g
IHsKLSAgICBjb25zdCBfX20yNTZpIHN1bXNfMzIgPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAg
ICBfbW0yNTZfY3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2KSks
Ci0gICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYo
c3Vtc18xNiwgMSkpKTsKLSAgICByZXR1cm4gY2FsY19maW5hbChzdW1zXzMyKTsKLSAgfQotfQot
Ci0vLyBjbGFuZy1mb3JtYXQgb2ZmCi1ISUdIQkRfU0FENjRYTig2NCkKLUhJR0hCRF9TQURTS0lQ
NjR4Tig2NCkKLUhJR0hCRF9TQUQ2NFhOKDMyKQotSElHSEJEX1NBRFNLSVA2NHhOKDMyKQotSElH
SEJEX1NBRDMyWE4oNjQpCi1ISUdIQkRfU0FEU0tJUDMyeE4oNjQpCi1ISUdIQkRfU0FEMzJYTigz
MikKLUhJR0hCRF9TQURTS0lQMzJ4TigzMikKLUhJR0hCRF9TQUQzMlhOKDE2KQotSElHSEJEX1NB
RFNLSVAzMnhOKDE2KQotSElHSEJEX1NBRDE2WE4oMzIpCi1ISUdIQkRfU0FEU0tJUDE2eE4oMzIp
Ci1ISUdIQkRfU0FEU0tJUDE2eE4oMTYpCi1ISUdIQkRfU0FEU0tJUDE2eE4oOCkKLS8vY2xhbmct
Zm9ybWF0IG9uCi0KLS8vIEFWRyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1zdGF0aWMgVlBYX0ZPUkNFX0lO
TElORSB2b2lkIGhpZ2hiZF9zYWQ2NHhIX2F2ZyhfX20yNTZpICpzdW1zXzE2LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKnNy
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLCB1aW50MTZfdCAqcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQxNl90ICpzZWMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7Ci0g
IGludCBpOwotICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyArK2kpIHsKLSAgICAvLyBsb2FkIHNy
YyBhbmQgYWxsIHJlZltdCi0gICAgY29uc3QgX19tMjU2aSBzMCA9IF9tbTI1Nl9sb2FkX3NpMjU2
KChjb25zdCBfX20yNTZpICopc3JjKTsKLSAgICBjb25zdCBfX20yNTZpIHMxID0gX21tMjU2X2xv
YWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjICsgMTYpKTsKLSAgICBjb25zdCBfX20yNTZp
IHMyID0gX21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjICsgMzIpKTsKLSAg
ICBjb25zdCBfX20yNTZpIHMzID0gX21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKiko
c3JjICsgNDgpKTsKLSAgICBjb25zdCBfX20yNTZpIHIwID0gX21tMjU2X2xvYWR1X3NpMjU2KChj
b25zdCBfX20yNTZpICopcmVmKTsKLSAgICBjb25zdCBfX20yNTZpIHIxID0gX21tMjU2X2xvYWR1
X3NpMjU2KChjb25zdCBfX20yNTZpICopKHJlZiArIDE2KSk7Ci0gICAgY29uc3QgX19tMjU2aSBy
MiA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWYgKyAzMikpOwotICAg
IGNvbnN0IF9fbTI1NmkgcjMgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKiko
cmVmICsgNDgpKTsKLSAgICBjb25zdCBfX20yNTZpIHgwID0gX21tMjU2X2xvYWR1X3NpMjU2KChj
b25zdCBfX20yNTZpICopc2VjKTsKLSAgICBjb25zdCBfX20yNTZpIHgxID0gX21tMjU2X2xvYWR1
X3NpMjU2KChjb25zdCBfX20yNTZpICopKHNlYyArIDE2KSk7Ci0gICAgY29uc3QgX19tMjU2aSB4
MiA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShzZWMgKyAzMikpOwotICAg
IGNvbnN0IF9fbTI1NmkgeDMgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKiko
c2VjICsgNDgpKTsKLSAgICBjb25zdCBfX20yNTZpIGF2ZzAgPSBfbW0yNTZfYXZnX2VwdTE2KHIw
LCB4MCk7Ci0gICAgY29uc3QgX19tMjU2aSBhdmcxID0gX21tMjU2X2F2Z19lcHUxNihyMSwgeDEp
OwotICAgIGNvbnN0IF9fbTI1NmkgYXZnMiA9IF9tbTI1Nl9hdmdfZXB1MTYocjIsIHgyKTsKLSAg
ICBjb25zdCBfX20yNTZpIGF2ZzMgPSBfbW0yNTZfYXZnX2VwdTE2KHIzLCB4Myk7Ci0gICAgLy8g
YWJzb2x1dGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBldmVyeSByZWYvcHJlZCBhdmcgdG8gc3JjCi0g
ICAgY29uc3QgX19tMjU2aSBhYnNfZGlmZjAgPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9zdWJf
ZXBpMTYoYXZnMCwgczApKTsKLSAgICBjb25zdCBfX20yNTZpIGFic19kaWZmMSA9IF9tbTI1Nl9h
YnNfZXBpMTYoX21tMjU2X3N1Yl9lcGkxNihhdmcxLCBzMSkpOwotICAgIGNvbnN0IF9fbTI1Nmkg
YWJzX2RpZmYyID0gX21tMjU2X2Fic19lcGkxNihfbW0yNTZfc3ViX2VwaTE2KGF2ZzIsIHMyKSk7
Ci0gICAgY29uc3QgX19tMjU2aSBhYnNfZGlmZjMgPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9z
dWJfZXBpMTYoYXZnMywgczMpKTsKLSAgICAvLyBzdW0gZXZlcnkgYWJzIGRpZmYKLSAgICAqc3Vt
c18xNiA9Ci0gICAgICAgIF9tbTI1Nl9hZGRfZXBpMTYoKnN1bXNfMTYsIF9tbTI1Nl9hZGRfZXBp
MTYoYWJzX2RpZmYwLCBhYnNfZGlmZjEpKTsKLSAgICAqc3Vtc18xNiA9Ci0gICAgICAgIF9tbTI1
Nl9hZGRfZXBpMTYoKnN1bXNfMTYsIF9tbTI1Nl9hZGRfZXBpMTYoYWJzX2RpZmYyLCBhYnNfZGlm
ZjMpKTsKLQotICAgIHNyYyArPSBzcmNfc3RyaWRlOwotICAgIHJlZiArPSByZWZfc3RyaWRlOwot
ICAgIHNlYyArPSA2NDsKLSAgfQotfQotCi0jZGVmaW5lIEhJR0hCRF9TQUQ2NFhOX0FWRyhuKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVuc2ln
bmVkIGludCB2cHhfaGlnaGJkX3NhZDY0eCMjbiMjX2F2Z19hdngyKCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgICAgICAgICBcCi0gICAgICBpbnQgcmVmX3N0
cmlkZSwgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgY29uc3QgdWludDE2X3QgKnNyYyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3Jj
X3B0cik7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDE2X3QgKnJlZiA9IENPTlZF
UlRfVE9fU0hPUlRQVFIocmVmX3B0cik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgdWludDE2X3QgKnNlYyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMjU2aSBzdW1zXzMyID0gX21tMjU2X3NldHpl
cm9fc2kyNTYoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW50IGk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChpID0gMDsgaSA8
IChuIC8gMik7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICBfX20yNTZpIHN1bXNfMTYgPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICBoaWdoYmRfc2FkNjR4SF9hdmcoJnN1bXNfMTYsIHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZf
c3RyaWRlLCBzZWMsIDIpOyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAvKiBzdW1z
XzE2IHdpbGwgb3V0cmFuZ2UgYWZ0ZXIgMiByb3dzLCBzbyBhZGQgY3VycmVudCBzdW1zXzE2IHRv
ICAgICAgICBcCi0gICAgICAgKiBzdW1zXzMyKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBzdW1zXzMyID0gX21tMjU2
X2FkZF9lcGkzMiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgc3Vtc18zMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgX21tMjU2X2FkZF9lcGkzMiggICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHN1bXNf
MTYpKSwgICAgICAgICBcCi0gICAgICAgICAgICAgIF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0y
NTZfZXh0cmFjdGYxMjhfc2kyNTYoc3Vtc18xNiwgMSkpKSk7ICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICBzcmMgKz0gc3JjX3N0cmlkZSA8PCAxOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICByZWYgKz0gcmVmX3N0cmlkZSA8
PCAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICBzZWMgKz0gNjQgPDwgMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcmV0dXJu
IGNhbGNfZmluYWwoc3Vtc18zMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIH0KLQotLy8gNjR4NjQKLUhJR0hCRF9TQUQ2NFhOX0FWRyg2NCkKLQot
Ly8gNjR4MzIKLUhJR0hCRF9TQUQ2NFhOX0FWRygzMikKLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJ
TkUgdm9pZCBoaWdoYmRfc2FkMzJ4SF9hdmcoX19tMjU2aSAqc3Vtc18xNiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpzcmMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwgdWludDE2X3QgKnJlZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCB1aW50MTZfdCAqc2VjLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewotICBp
bnQgaTsKLSAgZm9yIChpID0gMDsgaSA8IGhlaWdodDsgKytpKSB7Ci0gICAgLy8gbG9hZCBzcmMg
YW5kIGFsbCByZWZbXQotICAgIGNvbnN0IF9fbTI1NmkgczAgPSBfbW0yNTZfbG9hZF9zaTI1Nigo
Y29uc3QgX19tMjU2aSAqKXNyYyk7Ci0gICAgY29uc3QgX19tMjU2aSBzMSA9IF9tbTI1Nl9sb2Fk
X3NpMjU2KChjb25zdCBfX20yNTZpICopKHNyYyArIDE2KSk7Ci0gICAgY29uc3QgX19tMjU2aSBy
MCA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKXJlZik7Ci0gICAgY29uc3Qg
X19tMjU2aSByMSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShyZWYgKyAx
NikpOwotICAgIGNvbnN0IF9fbTI1NmkgeDAgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9f
bTI1NmkgKilzZWMpOwotICAgIGNvbnN0IF9fbTI1NmkgeDEgPSBfbW0yNTZfbG9hZHVfc2kyNTYo
KGNvbnN0IF9fbTI1NmkgKikoc2VjICsgMTYpKTsKLSAgICBjb25zdCBfX20yNTZpIGF2ZzAgPSBf
bW0yNTZfYXZnX2VwdTE2KHIwLCB4MCk7Ci0gICAgY29uc3QgX19tMjU2aSBhdmcxID0gX21tMjU2
X2F2Z19lcHUxNihyMSwgeDEpOwotICAgIC8vIGFic29sdXRlIGRpZmZlcmVuY2VzIGJldHdlZW4g
ZXZlcnkgcmVmL3ByZWQgYXZnIHRvIHNyYwotICAgIGNvbnN0IF9fbTI1NmkgYWJzX2RpZmYwID0g
X21tMjU2X2Fic19lcGkxNihfbW0yNTZfc3ViX2VwaTE2KGF2ZzAsIHMwKSk7Ci0gICAgY29uc3Qg
X19tMjU2aSBhYnNfZGlmZjEgPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9zdWJfZXBpMTYoYXZn
MSwgczEpKTsKLSAgICAvLyBzdW0gZXZlcnkgYWJzIGRpZmYKLSAgICAqc3Vtc18xNiA9IF9tbTI1
Nl9hZGRfZXBpMTYoKnN1bXNfMTYsIGFic19kaWZmMCk7Ci0gICAgKnN1bXNfMTYgPSBfbW0yNTZf
YWRkX2VwaTE2KCpzdW1zXzE2LCBhYnNfZGlmZjEpOwotCi0gICAgc3JjICs9IHNyY19zdHJpZGU7
Ci0gICAgcmVmICs9IHJlZl9zdHJpZGU7Ci0gICAgc2VjICs9IDMyOwotICB9Ci19Ci0KLSNkZWZp
bmUgSElHSEJEX1NBRDMyWE5fQVZHKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMzJ4IyNuIyNf
YXZnX2F2eDIoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCAg
ICAgICAgIFwKLSAgICAgIGludCByZWZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJl
ZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjb25zdCB1aW50MTZfdCAqc3Jj
ID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB1aW50MTZfdCAqcmVmID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50MTZfdCAqc2VjID0gQ09OVkVSVF9UT19T
SE9SVFBUUihzZWNvbmRfcHJlZCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20y
NTZpIHN1bXNfMzIgPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBpbnQgaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBmb3IgKGkgPSAwOyBpIDwgKG4gLyA4KTsgKytpKSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIF9fbTI1Nmkgc3Vtc18xNiA9IF9t
bTI1Nl9zZXR6ZXJvX3NpMjU2KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGhpZ2hiZF9zYWQzMnhIX2F2Zygmc3Vtc18xNiwg
c3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIHNlYywgOCk7IFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIC8qIHN1bXNfMTYgd2lsbCBvdXRyYW5nZSBhZnRlciA4IHJvd3Ms
IHNvIGFkZCBjdXJyZW50IHN1bXNfMTYgdG8gICAgICAgIFwKLSAgICAgICAqIHN1bXNfMzIqLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIHN1bXNfMzIgPSBfbW0yNTZfYWRkX2VwaTMyKCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBzdW1zXzMyLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICBfbW0yNTZfYWRkX2VwaTMyKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9t
bTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3Vtc18xNikpLCAgICAgICAgIFwKLSAgICAgICAgICAgICAg
X21tMjU2X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2LCAx
KSkpKTsgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNyYyArPSBzcmNfc3RyaWRl
IDw8IDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIHJlZiArPSByZWZfc3RyaWRlIDw8IDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNlYyArPSAzMiA8PCAzOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gY2FsY19maW5hbChzdW1zXzMyKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi0vLyAzMng2NAot
SElHSEJEX1NBRDMyWE5fQVZHKDY0KQotCi0vLyAzMngzMgotSElHSEJEX1NBRDMyWE5fQVZHKDMy
KQotCi0vLyAzMngxNgotSElHSEJEX1NBRDMyWE5fQVZHKDE2KQotCi1zdGF0aWMgVlBYX0ZPUkNF
X0lOTElORSB2b2lkIGhpZ2hiZF9zYWQxNnhIX2F2ZyhfX20yNTZpICpzdW1zXzE2LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3Qg
KnNyYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLCB1aW50MTZfdCAqcmVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIHVpbnQxNl90ICpzZWMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7
Ci0gIGludCBpOwotICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyBpICs9IDIpIHsKLSAgICAvLyBs
b2FkIHNyYyBhbmQgYWxsIHJlZltdCi0gICAgY29uc3QgX19tMjU2aSBzMCA9IF9tbTI1Nl9sb2Fk
X3NpMjU2KChjb25zdCBfX20yNTZpICopc3JjKTsKLSAgICBjb25zdCBfX20yNTZpIHMxID0gX21t
MjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjICsgc3JjX3N0cmlkZSkpOwotICAg
IGNvbnN0IF9fbTI1NmkgcjAgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKily
ZWYpOwotICAgIGNvbnN0IF9fbTI1NmkgcjEgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9f
bTI1NmkgKikocmVmICsgcmVmX3N0cmlkZSkpOwotICAgIGNvbnN0IF9fbTI1NmkgeDAgPSBfbW0y
NTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilzZWMpOwotICAgIGNvbnN0IF9fbTI1Nmkg
eDEgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc2VjICsgMTYpKTsKLSAg
ICBjb25zdCBfX20yNTZpIGF2ZzAgPSBfbW0yNTZfYXZnX2VwdTE2KHIwLCB4MCk7Ci0gICAgY29u
c3QgX19tMjU2aSBhdmcxID0gX21tMjU2X2F2Z19lcHUxNihyMSwgeDEpOwotICAgIC8vIGFic29s
dXRlIGRpZmZlcmVuY2VzIGJldHdlZW4gZXZlcnkgcmVmW10gdG8gc3JjCi0gICAgY29uc3QgX19t
MjU2aSBhYnNfZGlmZjAgPSBfbW0yNTZfYWJzX2VwaTE2KF9tbTI1Nl9zdWJfZXBpMTYoYXZnMCwg
czApKTsKLSAgICBjb25zdCBfX20yNTZpIGFic19kaWZmMSA9IF9tbTI1Nl9hYnNfZXBpMTYoX21t
MjU2X3N1Yl9lcGkxNihhdmcxLCBzMSkpOwotICAgIC8vIHN1bSBldmVyeSBhYnMgZGlmZgotICAg
ICpzdW1zXzE2ID0gX21tMjU2X2FkZF9lcGkxNigqc3Vtc18xNiwgYWJzX2RpZmYwKTsKLSAgICAq
c3Vtc18xNiA9IF9tbTI1Nl9hZGRfZXBpMTYoKnN1bXNfMTYsIGFic19kaWZmMSk7Ci0KLSAgICBz
cmMgKz0gc3JjX3N0cmlkZSA8PCAxOwotICAgIHJlZiArPSByZWZfc3RyaWRlIDw8IDE7Ci0gICAg
c2VjICs9IDMyOwotICB9Ci19Ci0KLXVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eDMyX2F2
Z19hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVk
KSB7Ci0gIGNvbnN0IHVpbnQxNl90ICpzcmMgPSBDT05WRVJUX1RPX1NIT1JUUFRSKHNyY19wdHIp
OwotICB1aW50MTZfdCAqcmVmID0gQ09OVkVSVF9UT19TSE9SVFBUUihyZWZfcHRyKTsKLSAgdWlu
dDE2X3QgKnNlYyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc2Vjb25kX3ByZWQpOwotICBfX20yNTZp
IHN1bXNfMzIgPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICBpbnQgaTsKLQotICBmb3IgKGkg
PSAwOyBpIDwgMjsgKytpKSB7Ci0gICAgX19tMjU2aSBzdW1zXzE2ID0gX21tMjU2X3NldHplcm9f
c2kyNTYoKTsKLQotICAgIGhpZ2hiZF9zYWQxNnhIX2F2Zygmc3Vtc18xNiwgc3JjLCBzcmNfc3Ry
aWRlLCByZWYsIHJlZl9zdHJpZGUsIHNlYywgMTYpOwotCi0gICAgLy8gc3Vtc18xNiB3aWxsIG91
dHJhbmdlIGFmdGVyIDE2IHJvd3MsIHNvIGFkZCBjdXJyZW50IHN1bXNfMTYgdG8gc3Vtc18zMgot
ICAgIHN1bXNfMzIgPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBzdW1zXzMyLAotICAgICAg
ICBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICAgICAgX21tMjU2X2N2dGVwdTE2X2VwaTMyKF9t
bTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3Vtc18xNikpLAotICAgICAgICAgICAgX21tMjU2X2N2dGVw
dTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2LCAxKSkpKTsKLQotICAg
IHNyYyArPSBzcmNfc3RyaWRlIDw8IDQ7Ci0gICAgcmVmICs9IHJlZl9zdHJpZGUgPDwgNDsKLSAg
ICBzZWMgKz0gMTYgPDwgNDsKLSAgfQotICByZXR1cm4gY2FsY19maW5hbChzdW1zXzMyKTsKLX0K
LQotdW5zaWduZWQgaW50IHZweF9oaWdoYmRfc2FkMTZ4MTZfYXZnX2F2eDIoY29uc3QgdWludDhf
dCAqc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCAqcmVmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc2Vjb25kX3ByZWQpIHsKLSAgY29uc3QgdWludDE2
X3QgKnNyYyA9IENPTlZFUlRfVE9fU0hPUlRQVFIoc3JjX3B0cik7Ci0gIHVpbnQxNl90ICpyZWYg
PSBDT05WRVJUX1RPX1NIT1JUUFRSKHJlZl9wdHIpOwotICB1aW50MTZfdCAqc2VjID0gQ09OVkVS
VF9UT19TSE9SVFBUUihzZWNvbmRfcHJlZCk7Ci0gIF9fbTI1Nmkgc3Vtc18xNiA9IF9tbTI1Nl9z
ZXR6ZXJvX3NpMjU2KCk7Ci0KLSAgaGlnaGJkX3NhZDE2eEhfYXZnKCZzdW1zXzE2LCBzcmMsIHNy
Y19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgc2VjLCAxNik7Ci0KLSAgewotICAgIGNvbnN0IF9f
bTI1Nmkgc3Vtc18zMiA9IF9tbTI1Nl9hZGRfZXBpMzIoCi0gICAgICAgIF9tbTI1Nl9jdnRlcHUx
Nl9lcGkzMihfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHN1bXNfMTYpKSwKLSAgICAgICAgX21tMjU2
X2N2dGVwdTE2X2VwaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzdW1zXzE2LCAxKSkpOwot
ICAgIHJldHVybiBjYWxjX2ZpbmFsKHN1bXNfMzIpOwotICB9Ci19Ci0KLXVuc2lnbmVkIGludCB2
cHhfaGlnaGJkX3NhZDE2eDhfYXZnX2F2eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzZWNvbmRfcHJlZCkgewotICBjb25z
dCB1aW50MTZfdCAqc3JjID0gQ09OVkVSVF9UT19TSE9SVFBUUihzcmNfcHRyKTsKLSAgdWludDE2
X3QgKnJlZiA9IENPTlZFUlRfVE9fU0hPUlRQVFIocmVmX3B0cik7Ci0gIHVpbnQxNl90ICpzZWMg
PSBDT05WRVJUX1RPX1NIT1JUUFRSKHNlY29uZF9wcmVkKTsKLSAgX19tMjU2aSBzdW1zXzE2ID0g
X21tMjU2X3NldHplcm9fc2kyNTYoKTsKLQotICBoaWdoYmRfc2FkMTZ4SF9hdmcoJnN1bXNfMTYs
IHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBzZWMsIDgpOwotCi0gIHsKLSAgICBj
b25zdCBfX20yNTZpIHN1bXNfMzIgPSBfbW0yNTZfYWRkX2VwaTMyKAotICAgICAgICBfbW0yNTZf
Y3Z0ZXB1MTZfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1zXzE2KSksCi0gICAgICAg
IF9tbTI1Nl9jdnRlcHUxNl9lcGkzMihfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoc3Vtc18xNiwg
MSkpKTsKLSAgICByZXR1cm4gY2FsY19maW5hbChzdW1zXzMyKTsKLSAgfQotfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfc2FkX3NzZTIuYXNtIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9oaWdoYmRfc2FkX3NzZTIuYXNtCmluZGV4IDYyYWQyMjM3ZmZiZS4uNmEx
YTZmM2Q2MjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2hpZ2hiZF9zYWRf
c3NlMi5hc20KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfc2FkX3NzZTIuYXNt
CkBAIC0xMiwxMSArMTIsNiBAQAogCiBTRUNUSU9OIC50ZXh0CiAKLTsgTWFjcm8gQXJndW1lbnRz
Ci07IEFyZyAxOiBXaWR0aAotOyBBcmcgMjogSGVpZ2h0Ci07IEFyZyAzOiBOdW1iZXIgb2YgZ2Vu
ZXJhbCBwdXJwb3NlIHJlZ2lzdGVycwotOyBBcmcgNDogVHlwZSBvZiBmdW5jdGlvbjogaWYgMCwg
bm9ybWFsIHNhZDsgaWYgMSwgYXZnOyBpZiAyLCBza2lwIHJvd3MKICVtYWNybyBISUdIX1NBRF9G
TiA0CiAlaWYgJTQgPT0gMAogJWlmICUzID09IDUKQEAgLTI1LDcgKzIwLDcgQEAgY2dsb2JhbCBo
aWdoYmRfc2FkJTF4JTIsIDQsICUzLCA3LCBzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlk
ZSwgbl9yb3dzCiBjZ2xvYmFsIGhpZ2hiZF9zYWQlMXglMiwgNCwgJTMsIDcsIHNyYywgc3JjX3N0
cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Jj
X3N0cmlkZTMsIHJlZl9zdHJpZGUzLCBuX3Jvd3MKICVlbmRpZiA7ICUzID09IDUvNwotJWVsaWYg
JTQgPT0gMSA7IGF2ZworJWVsc2UgOyBhdmcKICVpZiAlMyA9PSA1CiBjZ2xvYmFsIGhpZ2hiZF9z
YWQlMXglMl9hdmcsIDUsIDEgKyAlMywgNywgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJp
ZGUsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZF9wcmVkLCBu
X3Jvd3MKQEAgLTQwLDE4ICszNSw3IEBAIGNnbG9iYWwgaGlnaGJkX3NhZCUxeCUyX2F2ZywgNSwg
VlBYX0FSQ0hfWDg2XzY0ICsgJTMsIDcsIHNyYywgc3JjX3N0cmlkZSwgXAogJWRlZmluZSBuX3Jv
d3NkIGR3b3JkIHIwbQogJWVuZGlmIDsgeDg2LTMyLzY0CiAlZW5kaWYgOyAlMyA9PSA1LzcKLSVl
bHNlICA7ICU0ID09IDIsIHNraXAgcm93cwotJWlmICUzID09IDUKLWNnbG9iYWwgaGlnaGJkX3Nh
ZF9za2lwXyUxeCUyLCA0LCAlMywgNywgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUs
IG5fcm93cwotJWVsc2UgOyAlMyA9PSA3Ci1jZ2xvYmFsIGhpZ2hiZF9zYWRfc2tpcF8lMXglMiwg
NCwgJTMsIDcsIHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZTMsIHJlZl9zdHJpZGUzLCBuX3Jvd3MKLSVlbmRp
ZiA7ICUzID09IDUvNwotJWVuZGlmIDsgc2FkL2F2Zy9za2lwCi0laWYgJTQgPT0gMiAgOyBkb3Vi
bGUgdGhlIHN0cmlkZSBpZiB3ZSBhcmUgc2tpcHBpbmcgcm93cwotICBsZWEgICAgICAgICAgc3Jj
X3N0cmlkZWQsIFtzcmNfc3RyaWRlZCoyXQotICBsZWEgICAgICAgICAgcmVmX3N0cmlkZWQsIFty
ZWZfc3RyaWRlZCoyXQotJWVuZGlmCislZW5kaWYgOyBhdmcvc2FkCiAgIG1vdnN4ZGlmbmlkbiBz
cmNfc3RyaWRlcSwgc3JjX3N0cmlkZWQKICAgbW92c3hkaWZuaWRuIHJlZl9zdHJpZGVxLCByZWZf
c3RyaWRlZAogJWlmICUzID09IDcKQEAgLTcwLDExICs1NCw3IEBAIGNnbG9iYWwgaGlnaGJkX3Nh
ZF9za2lwXyUxeCUyLCA0LCAlMywgNywgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUs
IFwKIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpyZWYsIGlu
dCByZWZfc3RyaWRlKTsKICVtYWNybyBISUdIX1NBRDY0WE4gMS0yIDAKICAgSElHSF9TQURfRk4g
NjQsICUxLCA1LCAlMgotJWlmICUyID09IDIgIDsgc2tpcCByb3dzLCBzbyBkaXZpZGUgbnVtYmVy
IG9mIHJvd3MgYnkgMgotICBtb3YgICAgICAgICAgICAgIG5fcm93c2QsICUxLzIKLSVlbHNlCiAg
IG1vdiAgICAgICAgICAgICAgbl9yb3dzZCwgJTEKLSVlbmRpZgogICBweG9yICAgICAgICAgICAg
ICAgICAgbTAsIG0wCiAgIHB4b3IgICAgICAgICAgICAgICAgICBtNiwgbTYKIApAQCAtMTY2LDkg
KzE0Niw2IEBAIGNnbG9iYWwgaGlnaGJkX3NhZF9za2lwXyUxeCUyLCA0LCAlMywgNywgc3JjLCBz
cmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIFwKICAgcHVucGNrbGRxICAgICAgICAgICAgIG0w
LCBtNgogICBtb3ZobHBzICAgICAgICAgICAgICAgbTEsIG0wCiAgIHBhZGRkICAgICAgICAgICAg
ICAgICBtMCwgbTEKLSVpZiAlMiA9PSAyICA7IHdlIHNraXBwZWQgcm93cywgc28gd2UgbmVlZCB0
byBkb3VibGUgdGhlIHNhZAotICBwc2xsZCAgICAgICAgICAgICAgICAgbTAsIDEKLSVlbmRpZgog
ICBtb3ZkICAgICAgICAgICAgICAgICBlYXgsIG0wCiAgIFJFVAogJWVuZG1hY3JvCkBAIC0xNzgs
MTkgKzE1NSwxMyBAQCBISUdIX1NBRDY0WE4gNjQgOyBoaWdoYmRfc2FkNjR4NjRfc3NlMgogSElH
SF9TQUQ2NFhOIDMyIDsgaGlnaGJkX3NhZDY0eDMyX3NzZTIKIEhJR0hfU0FENjRYTiA2NCwgMSA7
IGhpZ2hiZF9zYWQ2NHg2NF9hdmdfc3NlMgogSElHSF9TQUQ2NFhOIDMyLCAxIDsgaGlnaGJkX3Nh
ZDY0eDMyX2F2Z19zc2UyCi1ISUdIX1NBRDY0WE4gNjQsIDIgOyBoaWdoYmRfc2FkX3NraXBfNjR4
NjRfc3NlMgotSElHSF9TQUQ2NFhOIDMyLCAyIDsgaGlnaGJkX3NhZF9za2lwXzY0eDMyX3NzZTIK
IAogCiA7IHVuc2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDMyeHsxNiwzMiw2NH1fc3NlMih1aW50
OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLAogOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJpZGUpOwogJW1hY3JvIEhJR0hfU0FEMzJY
TiAxLTIgMAogICBISUdIX1NBRF9GTiAzMiwgJTEsIDUsICUyCi0laWYgJTIgPT0gMiAgOyBza2lw
IHJvd3MsIHNvIGRpdmlkZSBudW1iZXIgb2Ygcm93cyBieSAyCi0gIG1vdiAgICAgICAgICAgICAg
bl9yb3dzZCwgJTEvMgotJWVsc2UKICAgbW92ICAgICAgICAgICAgICBuX3Jvd3NkLCAlMQotJWVu
ZGlmCiAgIHB4b3IgICAgICAgICAgICAgICAgICBtMCwgbTAKICAgcHhvciAgICAgICAgICAgICAg
ICAgIG02LCBtNgogCkBAIC0yNDIsOSArMjEzLDYgQEAgSElHSF9TQUQ2NFhOIDMyLCAyIDsgaGln
aGJkX3NhZF9za2lwXzY0eDMyX3NzZTIKICAgcHVucGNrbGRxICAgICAgICAgICAgIG0wLCBtNgog
ICBtb3ZobHBzICAgICAgICAgICAgICAgbTEsIG0wCiAgIHBhZGRkICAgICAgICAgICAgICAgICBt
MCwgbTEKLSVpZiAlMiA9PSAyICA7IHdlIHNraXBwZWQgcm93cywgc28gd2UgbmVlZCB0byBkb3Vi
bGUgdGhlIHNhZAotICBwc2xsZCAgICAgICAgICAgICAgICAgbTAsIDEKLSVlbmRpZgogICBtb3Zk
ICAgICAgICAgICAgICAgICBlYXgsIG0wCiAgIFJFVAogJWVuZG1hY3JvCkBAIC0yNTYsMTkgKzIy
NCwxMiBAQCBISUdIX1NBRDMyWE4gMTYgOyBoaWdoYmRfc2FkMzJ4MTZfc3NlMgogSElHSF9TQUQz
MlhOIDY0LCAxIDsgaGlnaGJkX3NhZDMyeDY0X2F2Z19zc2UyCiBISUdIX1NBRDMyWE4gMzIsIDEg
OyBoaWdoYmRfc2FkMzJ4MzJfYXZnX3NzZTIKIEhJR0hfU0FEMzJYTiAxNiwgMSA7IGhpZ2hiZF9z
YWQzMngxNl9hdmdfc3NlMgotSElHSF9TQUQzMlhOIDY0LCAyIDsgaGlnaGJkX3NhZF9za2lwXzMy
eDY0X3NzZTIKLUhJR0hfU0FEMzJYTiAzMiwgMiA7IGhpZ2hiZF9zYWRfc2tpcF8zMngzMl9zc2Uy
Ci1ISUdIX1NBRDMyWE4gMTYsIDIgOyBoaWdoYmRfc2FkX3NraXBfMzJ4MTZfc3NlMgogCiA7IHVu
c2lnbmVkIGludCB2cHhfaGlnaGJkX3NhZDE2eHs4LDE2LDMyfV9zc2UyKHVpbnQ4X3QgKnNyYywg
aW50IHNyY19zdHJpZGUsCiA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCAqcmVmLCBpbnQgcmVmX3N0cmlkZSk7CiAlbWFjcm8gSElHSF9TQUQxNlhOIDEtMiAwCiAg
IEhJR0hfU0FEX0ZOIDE2LCAlMSwgNSwgJTIKLSVpZiAlMiA9PSAyICA7IHNraXAgcm93cywgc28g
ZGl2aWRlIG51bWJlciBvZiByb3dzIGJ5IDIKLSAgbW92ICAgICAgICAgICAgICBuX3Jvd3NkLCAl
MS80Ci0lZWxzZQogICBtb3YgICAgICAgICAgICAgIG5fcm93c2QsICUxLzIKLSVlbmRpZgogICBw
eG9yICAgICAgICAgICAgICAgICAgbTAsIG0wCiAgIHB4b3IgICAgICAgICAgICAgICAgICBtNiwg
bTYKIApAQCAtMzIwLDkgKzI4MSw2IEBAIEhJR0hfU0FEMzJYTiAxNiwgMiA7IGhpZ2hiZF9zYWRf
c2tpcF8zMngxNl9zc2UyCiAgIHB1bnBja2xkcSAgICAgICAgICAgICBtMCwgbTYKICAgbW92aGxw
cyAgICAgICAgICAgICAgIG0xLCBtMAogICBwYWRkZCAgICAgICAgICAgICAgICAgbTAsIG0xCi0l
aWYgJTIgPT0gMiAgOyB3ZSBza2lwcGVkIHJvd3MsIHNvIHdlIG5lZWQgdG8gZG91YmxlIHRoZSBz
YWQKLSAgcHNsbGQgICAgICAgICAgICAgICAgIG0wLCAxCi0lZW5kaWYKICAgbW92ZCAgICAgICAg
ICAgICAgICAgZWF4LCBtMAogICBSRVQKICVlbmRtYWNybwpAQCAtMzM0LDE5ICsyOTIsMTMgQEAg
SElHSF9TQUQxNlhOICA4IDsgaGlnaGJkX3NhZDE2eDhfc3NlMgogSElHSF9TQUQxNlhOIDMyLCAx
IDsgaGlnaGJkX3NhZDE2eDMyX2F2Z19zc2UyCiBISUdIX1NBRDE2WE4gMTYsIDEgOyBoaWdoYmRf
c2FkMTZ4MTZfYXZnX3NzZTIKIEhJR0hfU0FEMTZYTiAgOCwgMSA7IGhpZ2hiZF9zYWQxNng4X2F2
Z19zc2UyCi1ISUdIX1NBRDE2WE4gMzIsIDIgOyBoaWdoYmRfc2FkX3NraXBfMTZ4MzJfc3NlMgot
SElHSF9TQUQxNlhOIDE2LCAyIDsgaGlnaGJkX3NhZF9za2lwXzE2eDE2X3NzZTIKLUhJR0hfU0FE
MTZYTiAgOCwgMiA7IGhpZ2hiZF9zYWRfc2tpcF8xNng4X3NzZTIKKwogCiA7IHVuc2lnbmVkIGlu
dCB2cHhfaGlnaGJkX3NhZDh4ezQsOCwxNn1fc3NlMih1aW50OF90ICpzcmMsIGludCBzcmNfc3Ry
aWRlLAogOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnJlZiwg
aW50IHJlZl9zdHJpZGUpOwogJW1hY3JvIEhJR0hfU0FEOFhOIDEtMiAwCiAgIEhJR0hfU0FEX0ZO
IDgsICUxLCA3LCAlMgotJWlmICUyID09IDIgIDsgc2tpcCByb3dzLCBzbyBkaXZpZGUgbnVtYmVy
IG9mIHJvd3MgYnkgMgotICBtb3YgICAgICAgICAgICAgIG5fcm93c2QsICUxLzgKLSVlbHNlCiAg
IG1vdiAgICAgICAgICAgICAgbl9yb3dzZCwgJTEvNAotJWVuZGlmCiAgIHB4b3IgICAgICAgICAg
ICAgICAgICBtMCwgbTAKICAgcHhvciAgICAgICAgICAgICAgICAgIG02LCBtNgogCkBAIC0zOTgs
OSArMzUwLDYgQEAgSElHSF9TQUQxNlhOICA4LCAyIDsgaGlnaGJkX3NhZF9za2lwXzE2eDhfc3Nl
MgogICBwdW5wY2tsZHEgICAgICAgICAgICAgbTAsIG02CiAgIG1vdmhscHMgICAgICAgICAgICAg
ICBtMSwgbTAKICAgcGFkZGQgICAgICAgICAgICAgICAgIG0wLCBtMQotJWlmICUyID09IDIgIDsg
d2Ugc2tpcHBlZCByb3dzLCBzbyB3ZSBuZWVkIHRvIGRvdWJsZSB0aGUgc2FkCi0gIHBzbGxkICAg
ICAgICAgICAgICAgICBtMCwgMQotJWVuZGlmCiAgIG1vdmQgICAgICAgICAgICAgICAgIGVheCwg
bTAKICAgUkVUCiAlZW5kbWFjcm8KQEAgLTQxMiw1ICszNjEsMyBAQCBISUdIX1NBRDhYTiAgNCA7
IGhpZ2hiZF9zYWQ4eDRfc3NlMgogSElHSF9TQUQ4WE4gMTYsIDEgOyBoaWdoYmRfc2FkOHgxNl9h
dmdfc3NlMgogSElHSF9TQUQ4WE4gIDgsIDEgOyBoaWdoYmRfc2FkOHg4X2F2Z19zc2UyCiBISUdI
X1NBRDhYTiAgNCwgMSA7IGhpZ2hiZF9zYWQ4eDRfYXZnX3NzZTIKLUhJR0hfU0FEOFhOIDE2LCAy
IDsgaGlnaGJkX3NhZF9za2lwXzh4MTZfc3NlMgotSElHSF9TQUQ4WE4gIDgsIDIgOyBoaWdoYmRf
c2FkX3NraXBfOHg4X3NzZTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGln
aGJkX3ZhcmlhbmNlX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJkX3Zhcmlh
bmNlX3NzZTIuYwppbmRleCAzODFlMGFkMTkzMzcuLmRkNmNmYmIyYzRjMSAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9oaWdoYmRfdmFyaWFuY2Vfc3NlMi5jCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgvdnB4X2RzcC94ODYvaGlnaGJkX3ZhcmlhbmNlX3NzZTIuYwpAQCAtNyw3ICs3LDYgQEAK
ICAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhv
cnMgbWF5CiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0
aGUgc291cmNlIHRyZWUuCiAgKi8KLSNpbmNsdWRlIDxlbW1pbnRyaW4uaD4gIC8vIFNTRTIKIAog
I2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgogI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCkBA
IC0xMjIsOCArMTIxLDggQEAgc3RhdGljIHZvaWQgaGlnaGJkXzEyX3ZhcmlhbmNlX3NzZTIoY29u
c3QgdWludDE2X3QgKnNyYywgaW50IHNyY19zdHJpZGUsCiAgICAgKnNzZSA9IFJPVU5EX1BPV0VS
X09GX1RXTygqc3NlLCA4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgIH0KIAotSElHSF9HRVRfVkFSKDE2KQotSElHSF9HRVRfVkFSKDgpCitISUdIX0dFVF9WQVIo
MTYpOworSElHSF9HRVRfVkFSKDgpOwogCiAjdW5kZWYgSElHSF9HRVRfVkFSCiAKQEAgLTE2OCwx
NiArMTY3LDE2IEBAIEhJR0hfR0VUX1ZBUig4KQogICAgIHJldHVybiAodmFyID49IDApID8gKHVp
bnQzMl90KXZhciA6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB9CiAK
LVZBUl9GTig2NCwgNjQsIDE2LCAxMikKLVZBUl9GTig2NCwgMzIsIDE2LCAxMSkKLVZBUl9GTigz
MiwgNjQsIDE2LCAxMSkKLVZBUl9GTigzMiwgMzIsIDE2LCAxMCkKLVZBUl9GTigzMiwgMTYsIDE2
LCA5KQotVkFSX0ZOKDE2LCAzMiwgMTYsIDkpCi1WQVJfRk4oMTYsIDE2LCAxNiwgOCkKLVZBUl9G
TigxNiwgOCwgOCwgNykKLVZBUl9GTig4LCAxNiwgOCwgNykKLVZBUl9GTig4LCA4LCA4LCA2KQor
VkFSX0ZOKDY0LCA2NCwgMTYsIDEyKTsKK1ZBUl9GTig2NCwgMzIsIDE2LCAxMSk7CitWQVJfRk4o
MzIsIDY0LCAxNiwgMTEpOworVkFSX0ZOKDMyLCAzMiwgMTYsIDEwKTsKK1ZBUl9GTigzMiwgMTYs
IDE2LCA5KTsKK1ZBUl9GTigxNiwgMzIsIDE2LCA5KTsKK1ZBUl9GTigxNiwgMTYsIDE2LCA4KTsK
K1ZBUl9GTigxNiwgOCwgOCwgNyk7CitWQVJfRk4oOCwgMTYsIDgsIDcpOworVkFSX0ZOKDgsIDgs
IDgsIDYpOwogCiAjdW5kZWYgVkFSX0ZOCiAKQEAgLTI1NiwxMCArMjU1LDEwIEBAIHVuc2lnbmVk
IGludCB2cHhfaGlnaGJkXzEyX21zZTh4OF9zc2UyKGNvbnN0IHVpbnQ4X3QgKnNyYzgsIGludCBz
cmNfc3RyaWRlLAogICAgICAgY29uc3QgdWludDE2X3QgKnJlZiwgcHRyZGlmZl90IHJlZl9zdHJp
ZGUsIGludCBoZWlnaHQsICAgICAgICAgICAgICAgICBcCiAgICAgICB1bnNpZ25lZCBpbnQgKnNz
ZSwgdm9pZCAqdW51c2VkMCwgdm9pZCAqdW51c2VkKTsKICNkZWZpbmUgREVDTFMob3B0KSBcCi0g
IERFQ0woOCwgb3B0KSAgICAgXAorICBERUNMKDgsIG9wdCk7ICAgIFwKICAgREVDTCgxNiwgb3B0
KQogCi1ERUNMUyhzc2UyKQorREVDTFMoc3NlMik7CiAKICN1bmRlZiBERUNMUwogI3VuZGVmIERF
Q0wKQEAgLTM4NCwyMCArMzgzLDIwIEBAIERFQ0xTKHNzZTIpCiAgICAgcmV0dXJuICh2YXIgPj0g
MCkgPyAodWludDMyX3QpdmFyIDogMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICB9CiAKLSNkZWZpbmUgRk5TKG9wdCkgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
Rk4oNjQsIDY0LCAxNiwgNiwgNiwgb3B0LCAoaW50NjRfdCkpIFwKLSAgRk4oNjQsIDMyLCAxNiwg
NiwgNSwgb3B0LCAoaW50NjRfdCkpIFwKLSAgRk4oMzIsIDY0LCAxNiwgNSwgNiwgb3B0LCAoaW50
NjRfdCkpIFwKLSAgRk4oMzIsIDMyLCAxNiwgNSwgNSwgb3B0LCAoaW50NjRfdCkpIFwKLSAgRk4o
MzIsIDE2LCAxNiwgNSwgNCwgb3B0LCAoaW50NjRfdCkpIFwKLSAgRk4oMTYsIDMyLCAxNiwgNCwg
NSwgb3B0LCAoaW50NjRfdCkpIFwKLSAgRk4oMTYsIDE2LCAxNiwgNCwgNCwgb3B0LCAoaW50NjRf
dCkpIFwKLSAgRk4oMTYsIDgsIDE2LCA0LCAzLCBvcHQsIChpbnQ2NF90KSkgIFwKLSAgRk4oOCwg
MTYsIDgsIDMsIDQsIG9wdCwgKGludDY0X3QpKSAgIFwKLSAgRk4oOCwgOCwgOCwgMywgMywgb3B0
LCAoaW50NjRfdCkpICAgIFwKLSAgRk4oOCwgNCwgOCwgMywgMiwgb3B0LCAoaW50NjRfdCkpCi0K
LUZOUyhzc2UyKQorI2RlZmluZSBGTlMob3B0KSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
Rk4oNjQsIDY0LCAxNiwgNiwgNiwgb3B0LCAoaW50NjRfdCkpOyBcCisgIEZOKDY0LCAzMiwgMTYs
IDYsIDUsIG9wdCwgKGludDY0X3QpKTsgXAorICBGTigzMiwgNjQsIDE2LCA1LCA2LCBvcHQsIChp
bnQ2NF90KSk7IFwKKyAgRk4oMzIsIDMyLCAxNiwgNSwgNSwgb3B0LCAoaW50NjRfdCkpOyBcCisg
IEZOKDMyLCAxNiwgMTYsIDUsIDQsIG9wdCwgKGludDY0X3QpKTsgXAorICBGTigxNiwgMzIsIDE2
LCA0LCA1LCBvcHQsIChpbnQ2NF90KSk7IFwKKyAgRk4oMTYsIDE2LCAxNiwgNCwgNCwgb3B0LCAo
aW50NjRfdCkpOyBcCisgIEZOKDE2LCA4LCAxNiwgNCwgMywgb3B0LCAoaW50NjRfdCkpOyAgXAor
ICBGTig4LCAxNiwgOCwgMywgNCwgb3B0LCAoaW50NjRfdCkpOyAgIFwKKyAgRk4oOCwgOCwgOCwg
MywgMywgb3B0LCAoaW50NjRfdCkpOyAgICBcCisgIEZOKDgsIDQsIDgsIDMsIDIsIG9wdCwgKGlu
dDY0X3QpKTsKKworRk5TKHNzZTIpOwogCiAjdW5kZWYgRk5TCiAjdW5kZWYgRk4KQEAgLTQxMyw3
ICs0MTIsNyBAQCBGTlMoc3NlMikKICAgREVDTCgxNiwgb3B0MSkgICAgXAogICBERUNMKDgsIG9w
dDEpCiAKLURFQ0xTKHNzZTIpCitERUNMUyhzc2UyKTsKICN1bmRlZiBERUNMCiAjdW5kZWYgREVD
TFMKIApAQCAtNTQzLDY2ICs1NDIsMjAgQEAgREVDTFMoc3NlMikKICAgICByZXR1cm4gKHZhciA+
PSAwKSA/ICh1aW50MzJfdCl2YXIgOiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgIH0KIAotI2RlZmluZSBGTlMob3B0MSkgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgRk4oNjQsIDY0LCAxNiwgNiwgNiwgb3B0MSwgKGludDY0X3QpKSBcCi0gIEZOKDY0LCAzMiwg
MTYsIDYsIDUsIG9wdDEsIChpbnQ2NF90KSkgXAotICBGTigzMiwgNjQsIDE2LCA1LCA2LCBvcHQx
LCAoaW50NjRfdCkpIFwKLSAgRk4oMzIsIDMyLCAxNiwgNSwgNSwgb3B0MSwgKGludDY0X3QpKSBc
Ci0gIEZOKDMyLCAxNiwgMTYsIDUsIDQsIG9wdDEsIChpbnQ2NF90KSkgXAotICBGTigxNiwgMzIs
IDE2LCA0LCA1LCBvcHQxLCAoaW50NjRfdCkpIFwKLSAgRk4oMTYsIDE2LCAxNiwgNCwgNCwgb3B0
MSwgKGludDY0X3QpKSBcCi0gIEZOKDE2LCA4LCAxNiwgNCwgMywgb3B0MSwgKGludDY0X3QpKSAg
XAotICBGTig4LCAxNiwgOCwgNCwgMywgb3B0MSwgKGludDY0X3QpKSAgIFwKLSAgRk4oOCwgOCwg
OCwgMywgMywgb3B0MSwgKGludDY0X3QpKSAgICBcCi0gIEZOKDgsIDQsIDgsIDMsIDIsIG9wdDEs
IChpbnQ2NF90KSkKLQotRk5TKHNzZTIpCisjZGVmaW5lIEZOUyhvcHQxKSAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgRk4oNjQsIDY0LCAxNiwgNiwgNiwgb3B0MSwgKGludDY0X3QpKTsgXAor
ICBGTig2NCwgMzIsIDE2LCA2LCA1LCBvcHQxLCAoaW50NjRfdCkpOyBcCisgIEZOKDMyLCA2NCwg
MTYsIDUsIDYsIG9wdDEsIChpbnQ2NF90KSk7IFwKKyAgRk4oMzIsIDMyLCAxNiwgNSwgNSwgb3B0
MSwgKGludDY0X3QpKTsgXAorICBGTigzMiwgMTYsIDE2LCA1LCA0LCBvcHQxLCAoaW50NjRfdCkp
OyBcCisgIEZOKDE2LCAzMiwgMTYsIDQsIDUsIG9wdDEsIChpbnQ2NF90KSk7IFwKKyAgRk4oMTYs
IDE2LCAxNiwgNCwgNCwgb3B0MSwgKGludDY0X3QpKTsgXAorICBGTigxNiwgOCwgMTYsIDQsIDMs
IG9wdDEsIChpbnQ2NF90KSk7ICBcCisgIEZOKDgsIDE2LCA4LCA0LCAzLCBvcHQxLCAoaW50NjRf
dCkpOyAgIFwKKyAgRk4oOCwgOCwgOCwgMywgMywgb3B0MSwgKGludDY0X3QpKTsgICAgXAorICBG
Tig4LCA0LCA4LCAzLCAyLCBvcHQxLCAoaW50NjRfdCkpOworCitGTlMoc3NlMik7CiAKICN1bmRl
ZiBGTlMKICN1bmRlZiBGTgotCi12b2lkIHZweF9oaWdoYmRfY29tcF9hdmdfcHJlZF9zc2UyKHVp
bnQxNl90ICpjb21wX3ByZWQsIGNvbnN0IHVpbnQxNl90ICpwcmVkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNvbnN0IHVpbnQxNl90
ICpyZWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRl
KSB7Ci0gIGludCBpLCBqOwotICBpZiAod2lkdGggPiA4KSB7Ci0gICAgZm9yIChpID0gMDsgaSA8
IGhlaWdodDsgKytpKSB7Ci0gICAgICBmb3IgKGogPSAwOyBqIDwgd2lkdGg7IGogKz0gMTYpIHsK
LSAgICAgICAgY29uc3QgX19tMTI4aSBwMCA9IF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4
aSAqKSZwcmVkW2pdKTsKLSAgICAgICAgY29uc3QgX19tMTI4aSBwMSA9IF9tbV9sb2FkdV9zaTEy
OCgoY29uc3QgX19tMTI4aSAqKSZwcmVkW2ogKyA4XSk7Ci0gICAgICAgIGNvbnN0IF9fbTEyOGkg
cjAgPSBfbW1fbG9hZHVfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKikmcmVmW2pdKTsKLSAgICAgICAg
Y29uc3QgX19tMTI4aSByMSA9IF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKSZyZWZb
aiArIDhdKTsKLSAgICAgICAgX21tX3N0b3JldV9zaTEyOCgoX19tMTI4aSAqKSZjb21wX3ByZWRb
al0sIF9tbV9hdmdfZXB1MTYocDAsIHIwKSk7Ci0gICAgICAgIF9tbV9zdG9yZXVfc2kxMjgoKF9f
bTEyOGkgKikmY29tcF9wcmVkW2ogKyA4XSwgX21tX2F2Z19lcHUxNihwMSwgcjEpKTsKLSAgICAg
IH0KLSAgICAgIGNvbXBfcHJlZCArPSB3aWR0aDsKLSAgICAgIHByZWQgKz0gd2lkdGg7Ci0gICAg
ICByZWYgKz0gcmVmX3N0cmlkZTsKLSAgICB9Ci0gIH0gZWxzZSBpZiAod2lkdGggPT0gOCkgewot
ICAgIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7IGkgKz0gMikgewotICAgICAgY29uc3QgX19tMTI4
aSBwMCA9IF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKSZwcmVkWzBdKTsKLSAgICAg
IGNvbnN0IF9fbTEyOGkgcDEgPSBfbW1fbG9hZHVfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKikmcHJl
ZFs4XSk7Ci0gICAgICBjb25zdCBfX20xMjhpIHIwID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBf
X20xMjhpICopJnJlZlswXSk7Ci0gICAgICBjb25zdCBfX20xMjhpIHIxID0gX21tX2xvYWR1X3Np
MTI4KChjb25zdCBfX20xMjhpICopJnJlZltyZWZfc3RyaWRlXSk7Ci0gICAgICBfbW1fc3RvcmV1
X3NpMTI4KChfX20xMjhpICopJmNvbXBfcHJlZFswXSwgX21tX2F2Z19lcHUxNihwMCwgcjApKTsK
LSAgICAgIF9tbV9zdG9yZXVfc2kxMjgoKF9fbTEyOGkgKikmY29tcF9wcmVkWzhdLCBfbW1fYXZn
X2VwdTE2KHAxLCByMSkpOwotICAgICAgY29tcF9wcmVkICs9IDggPDwgMTsKLSAgICAgIHByZWQg
Kz0gOCA8PCAxOwotICAgICAgcmVmICs9IHJlZl9zdHJpZGUgPDwgMTsKLSAgICB9Ci0gIH0gZWxz
ZSB7Ci0gICAgYXNzZXJ0KHdpZHRoID09IDQpOwotICAgIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7
IGkgKz0gMikgewotICAgICAgY29uc3QgX19tMTI4aSBwMCA9IF9tbV9sb2FkbF9lcGk2NCgoY29u
c3QgX19tMTI4aSAqKSZwcmVkWzBdKTsKLSAgICAgIGNvbnN0IF9fbTEyOGkgcDEgPSBfbW1fbG9h
ZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKikmcHJlZFs0XSk7Ci0gICAgICBjb25zdCBfX20xMjhp
IHIwID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopJnJlZlswXSk7Ci0gICAgICBj
b25zdCBfX20xMjhpIHIxID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopJnJlZlty
ZWZfc3RyaWRlXSk7Ci0gICAgICBfbW1fc3RvcmVsX2VwaTY0KChfX20xMjhpICopJmNvbXBfcHJl
ZFswXSwgX21tX2F2Z19lcHUxNihwMCwgcjApKTsKLSAgICAgIF9tbV9zdG9yZWxfZXBpNjQoKF9f
bTEyOGkgKikmY29tcF9wcmVkWzRdLCBfbW1fYXZnX2VwdTE2KHAxLCByMSkpOwotICAgICAgY29t
cF9wcmVkICs9IDQgPDwgMTsKLSAgICAgIHByZWQgKz0gNCA8PCAxOwotICAgICAgcmVmICs9IHJl
Zl9zdHJpZGUgPDwgMTsKLSAgICB9Ci0gIH0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X2RzcC94ODYvaW52X3R4Zm1fYXZ4Mi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9pbnZfdHhm
bV9hdngyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1MjQzNWQyNDA5Mi4uMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaW52X3R4Zm1fYXZ4Mi5jCisr
KyAvZGV2L251bGwKQEAgLTEsNjI2ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIz
IFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAg
VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z
ZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qg
b2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3Bl
cnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAg
QWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhl
IEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2lu
Y2x1ZGUgPGltbWludHJpbi5oPiAgLy8gQVZYMgotCi0jaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2Qu
aCIKLSNpbmNsdWRlICJ2cHhfZHNwL3R4Zm1fY29tbW9uLmgiCi0KLSNkZWZpbmUgUEFJUjI1Nl9T
RVRfRVBJMTYoYSwgYikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgX21tMjU2X3NldF9lcGkxNigoaW50MTZfdCkoYiksIChpbnQxNl90KShhKSwgKGludDE2
X3QpKGIpLCAoaW50MTZfdCkoYSksIFwKLSAgICAgICAgICAgICAgICAgICAoaW50MTZfdCkoYiks
IChpbnQxNl90KShhKSwgKGludDE2X3QpKGIpLCAoaW50MTZfdCkoYSksIFwKLSAgICAgICAgICAg
ICAgICAgICAoaW50MTZfdCkoYiksIChpbnQxNl90KShhKSwgKGludDE2X3QpKGIpLCAoaW50MTZf
dCkoYSksIFwKLSAgICAgICAgICAgICAgICAgICAoaW50MTZfdCkoYiksIChpbnQxNl90KShhKSwg
KGludDE2X3QpKGIpLCAoaW50MTZfdCkoYSkpCi0KLXN0YXRpYyBJTkxJTkUgdm9pZCBpZGN0X2xv
YWQxNngxNihjb25zdCB0cmFuX2xvd190ICppbnB1dCwgX19tMjU2aSAqaW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSkgewotICBpbnQgaTsKLSAgLy8gTG9h
ZCAxNngxNiB2YWx1ZXMKLSAgZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKLSNpZiBDT05GSUdf
VlA5X0hJR0hCSVRERVBUSAotICAgIGNvbnN0IF9fbTEyOGkgaW4wID0gX21tX2xvYWR1X3NpMTI4
KChjb25zdCBfX20xMjhpICopKGlucHV0ICsgaSAqIHN0cmlkZSkpOwotICAgIGNvbnN0IF9fbTEy
OGkgaW4xID0KLSAgICAgICAgX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopKChpbnB1
dCArIGkgKiBzdHJpZGUpICsgNCkpOwotICAgIGNvbnN0IF9fbTEyOGkgaW4yID0KLSAgICAgICAg
X21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopKChpbnB1dCArIGkgKiBzdHJpZGUpICsg
OCkpOwotICAgIGNvbnN0IF9fbTEyOGkgaW4zID0KLSAgICAgICAgX21tX2xvYWR1X3NpMTI4KChj
b25zdCBfX20xMjhpICopKChpbnB1dCArIGkgKiBzdHJpZGUpICsgMTIpKTsKLSAgICBjb25zdCBf
X20xMjhpIGxzID0gX21tX3BhY2tzX2VwaTMyKGluMCwgaW4xKTsKLSAgICBjb25zdCBfX20xMjhp
IHJzID0gX21tX3BhY2tzX2VwaTMyKGluMiwgaW4zKTsKLSAgICBpbltpXSA9IF9tbTI1Nl9pbnNl
cnRpMTI4X3NpMjU2KF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYobHMpLCBycywgMSk7Ci0jZWxzZQot
ICAgIGluW2ldID0gX21tMjU2X2xvYWRfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoaW5wdXQgKyBp
ICogc3RyaWRlKSk7Ci0jZW5kaWYKLSAgfQotfQotCi1zdGF0aWMgSU5MSU5FIF9fbTI1NmkgZGN0
X3JvdW5kX3NoaWZ0X2F2eDIoX19tMjU2aSBpbikgewotICBjb25zdCBfX20yNTZpIHQgPSBfbW0y
NTZfYWRkX2VwaTMyKGluLCBfbW0yNTZfc2V0MV9lcGkzMihEQ1RfQ09OU1RfUk9VTkRJTkcpKTsK
LSAgcmV0dXJuIF9tbTI1Nl9zcmFpX2VwaTMyKHQsIERDVF9DT05TVF9CSVRTKTsKLX0KLQotc3Rh
dGljIElOTElORSBfX20yNTZpIGlkY3RfbWFkZF9yb3VuZF9zaGlmdF9hdngyKF9fbTI1NmkgKmlu
LCBfX20yNTZpICpjb3NwaSkgewotICBjb25zdCBfX20yNTZpIHQgPSBfbW0yNTZfbWFkZF9lcGkx
NigqaW4sICpjb3NwaSk7Ci0gIHJldHVybiBkY3Rfcm91bmRfc2hpZnRfYXZ4Mih0KTsKLX0KLQot
Ly8gQ2FsY3VsYXRlIHRoZSBkb3QgcHJvZHVjdCBiZXR3ZWVuIGluMC8xIGFuZCB4IGFuZCB3cmFw
IHRvIHNob3J0Lgotc3RhdGljIElOTElORSBfX20yNTZpIGlkY3RfY2FsY193cmFwbG93X2F2eDIo
X19tMjU2aSAqaW4wLCBfX20yNTZpICppbjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfX20yNTZpICp4KSB7Ci0gIGNvbnN0IF9fbTI1NmkgdDAgPSBpZGN0
X21hZGRfcm91bmRfc2hpZnRfYXZ4MihpbjAsIHgpOwotICBjb25zdCBfX20yNTZpIHQxID0gaWRj
dF9tYWRkX3JvdW5kX3NoaWZ0X2F2eDIoaW4xLCB4KTsKLSAgcmV0dXJuIF9tbTI1Nl9wYWNrc19l
cGkzMih0MCwgdDEpOwotfQotCi0vLyBNdWx0aXBseSBlbGVtZW50cyBieSBjb25zdGFudHMgYW5k
IGFkZCB0aGVtIHRvZ2V0aGVyLgotc3RhdGljIElOTElORSB2b2lkIGJ1dHRlcmZseTE2KF9fbTI1
NmkgaW4wLCBfX20yNTZpIGluMSwgaW50IGMwLCBpbnQgYzEsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgX19tMjU2aSAqb3V0MCwgX19tMjU2aSAqb3V0MSkgewotICBfX20yNTZpIGNz
dDAgPSBQQUlSMjU2X1NFVF9FUEkxNihjMCwgLWMxKTsKLSAgX19tMjU2aSBjc3QxID0gUEFJUjI1
Nl9TRVRfRVBJMTYoYzEsIGMwKTsKLSAgX19tMjU2aSBsbyA9IF9tbTI1Nl91bnBhY2tsb19lcGkx
NihpbjAsIGluMSk7Ci0gIF9fbTI1NmkgaGkgPSBfbW0yNTZfdW5wYWNraGlfZXBpMTYoaW4wLCBp
bjEpOwotICAqb3V0MCA9IGlkY3RfY2FsY193cmFwbG93X2F2eDIoJmxvLCAmaGksICZjc3QwKTsK
LSAgKm91dDEgPSBpZGN0X2NhbGNfd3JhcGxvd19hdngyKCZsbywgJmhpLCAmY3N0MSk7Ci19Ci0K
LXN0YXRpYyBJTkxJTkUgdm9pZCBpZGN0MTZfMTZjb2woX19tMjU2aSAqaW4sIF9fbTI1NmkgKm91
dCkgewotICBfX20yNTZpIHN0ZXAxWzE2XSwgc3RlcDJbMTZdOwotCi0gIC8vIHN0YWdlIDIKLSAg
YnV0dGVyZmx5MTYoaW5bMV0sIGluWzE1XSwgY29zcGlfMzBfNjQsIGNvc3BpXzJfNjQsICZzdGVw
Mls4XSwgJnN0ZXAyWzE1XSk7Ci0gIGJ1dHRlcmZseTE2KGluWzldLCBpbls3XSwgY29zcGlfMTRf
NjQsIGNvc3BpXzE4XzY0LCAmc3RlcDJbOV0sICZzdGVwMlsxNF0pOwotICBidXR0ZXJmbHkxNihp
bls1XSwgaW5bMTFdLCBjb3NwaV8yMl82NCwgY29zcGlfMTBfNjQsICZzdGVwMlsxMF0sICZzdGVw
MlsxM10pOwotICBidXR0ZXJmbHkxNihpblsxM10sIGluWzNdLCBjb3NwaV82XzY0LCBjb3NwaV8y
Nl82NCwgJnN0ZXAyWzExXSwgJnN0ZXAyWzEyXSk7Ci0KLSAgLy8gc3RhZ2UgMwotICBidXR0ZXJm
bHkxNihpblsyXSwgaW5bMTRdLCBjb3NwaV8yOF82NCwgY29zcGlfNF82NCwgJnN0ZXAxWzRdLCAm
c3RlcDFbN10pOwotICBidXR0ZXJmbHkxNihpblsxMF0sIGluWzZdLCBjb3NwaV8xMl82NCwgY29z
cGlfMjBfNjQsICZzdGVwMVs1XSwgJnN0ZXAxWzZdKTsKLSAgc3RlcDFbOF0gPSBfbW0yNTZfYWRk
X2VwaTE2KHN0ZXAyWzhdLCBzdGVwMls5XSk7Ci0gIHN0ZXAxWzldID0gX21tMjU2X3N1Yl9lcGkx
NihzdGVwMls4XSwgc3RlcDJbOV0pOwotICBzdGVwMVsxMF0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0
ZXAyWzExXSwgc3RlcDJbMTBdKTsKLSAgc3RlcDFbMTFdID0gX21tMjU2X2FkZF9lcGkxNihzdGVw
MlsxMF0sIHN0ZXAyWzExXSk7Ci0gIHN0ZXAxWzEyXSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDJb
MTJdLCBzdGVwMlsxM10pOwotICBzdGVwMVsxM10gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAyWzEy
XSwgc3RlcDJbMTNdKTsKLSAgc3RlcDFbMTRdID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMlsxNV0s
IHN0ZXAyWzE0XSk7Ci0gIHN0ZXAxWzE1XSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDJbMTRdLCBz
dGVwMlsxNV0pOwotCi0gIC8vIHN0YWdlIDQKLSAgYnV0dGVyZmx5MTYoaW5bMF0sIGluWzhdLCBj
b3NwaV8xNl82NCwgY29zcGlfMTZfNjQsICZzdGVwMlsxXSwgJnN0ZXAyWzBdKTsKLSAgYnV0dGVy
Zmx5MTYoaW5bNF0sIGluWzEyXSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsICZzdGVwMlsyXSwg
JnN0ZXAyWzNdKTsKLSAgYnV0dGVyZmx5MTYoc3RlcDFbMTRdLCBzdGVwMVs5XSwgY29zcGlfMjRf
NjQsIGNvc3BpXzhfNjQsICZzdGVwMls5XSwKLSAgICAgICAgICAgICAgJnN0ZXAyWzE0XSk7Ci0g
IGJ1dHRlcmZseTE2KHN0ZXAxWzEwXSwgc3RlcDFbMTNdLCAtY29zcGlfOF82NCwgLWNvc3BpXzI0
XzY0LCAmc3RlcDJbMTNdLAotICAgICAgICAgICAgICAmc3RlcDJbMTBdKTsKLSAgc3RlcDJbNV0g
PSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAxWzRdLCBzdGVwMVs1XSk7Ci0gIHN0ZXAxWzRdID0gX21t
MjU2X2FkZF9lcGkxNihzdGVwMVs0XSwgc3RlcDFbNV0pOwotICBzdGVwMls2XSA9IF9tbTI1Nl9z
dWJfZXBpMTYoc3RlcDFbN10sIHN0ZXAxWzZdKTsKLSAgc3RlcDFbN10gPSBfbW0yNTZfYWRkX2Vw
aTE2KHN0ZXAxWzZdLCBzdGVwMVs3XSk7Ci0gIHN0ZXAyWzhdID0gc3RlcDFbOF07Ci0gIHN0ZXAy
WzExXSA9IHN0ZXAxWzExXTsKLSAgc3RlcDJbMTJdID0gc3RlcDFbMTJdOwotICBzdGVwMlsxNV0g
PSBzdGVwMVsxNV07Ci0KLSAgLy8gc3RhZ2UgNQotICBzdGVwMVswXSA9IF9tbTI1Nl9hZGRfZXBp
MTYoc3RlcDJbMF0sIHN0ZXAyWzNdKTsKLSAgc3RlcDFbMV0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0
ZXAyWzFdLCBzdGVwMlsyXSk7Ci0gIHN0ZXAxWzJdID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMlsx
XSwgc3RlcDJbMl0pOwotICBzdGVwMVszXSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDJbMF0sIHN0
ZXAyWzNdKTsKLSAgYnV0dGVyZmx5MTYoc3RlcDJbNl0sIHN0ZXAyWzVdLCBjb3NwaV8xNl82NCwg
Y29zcGlfMTZfNjQsICZzdGVwMVs1XSwKLSAgICAgICAgICAgICAgJnN0ZXAxWzZdKTsKLSAgc3Rl
cDFbOF0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzhdLCBzdGVwMlsxMV0pOwotICBzdGVwMVs5
XSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDJbOV0sIHN0ZXAyWzEwXSk7Ci0gIHN0ZXAxWzEwXSA9
IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDJbOV0sIHN0ZXAyWzEwXSk7Ci0gIHN0ZXAxWzExXSA9IF9t
bTI1Nl9zdWJfZXBpMTYoc3RlcDJbOF0sIHN0ZXAyWzExXSk7Ci0gIHN0ZXAxWzEyXSA9IF9tbTI1
Nl9zdWJfZXBpMTYoc3RlcDJbMTVdLCBzdGVwMlsxMl0pOwotICBzdGVwMVsxM10gPSBfbW0yNTZf
c3ViX2VwaTE2KHN0ZXAyWzE0XSwgc3RlcDJbMTNdKTsKLSAgc3RlcDFbMTRdID0gX21tMjU2X2Fk
ZF9lcGkxNihzdGVwMlsxNF0sIHN0ZXAyWzEzXSk7Ci0gIHN0ZXAxWzE1XSA9IF9tbTI1Nl9hZGRf
ZXBpMTYoc3RlcDJbMTVdLCBzdGVwMlsxMl0pOwotCi0gIC8vIHN0YWdlIDYKLSAgc3RlcDJbMF0g
PSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAxWzBdLCBzdGVwMVs3XSk7Ci0gIHN0ZXAyWzFdID0gX21t
MjU2X2FkZF9lcGkxNihzdGVwMVsxXSwgc3RlcDFbNl0pOwotICBzdGVwMlsyXSA9IF9tbTI1Nl9h
ZGRfZXBpMTYoc3RlcDFbMl0sIHN0ZXAxWzVdKTsKLSAgc3RlcDJbM10gPSBfbW0yNTZfYWRkX2Vw
aTE2KHN0ZXAxWzNdLCBzdGVwMVs0XSk7Ci0gIHN0ZXAyWzRdID0gX21tMjU2X3N1Yl9lcGkxNihz
dGVwMVszXSwgc3RlcDFbNF0pOwotICBzdGVwMls1XSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDFb
Ml0sIHN0ZXAxWzVdKTsKLSAgc3RlcDJbNl0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAxWzFdLCBz
dGVwMVs2XSk7Ci0gIHN0ZXAyWzddID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMVswXSwgc3RlcDFb
N10pOwotICBidXR0ZXJmbHkxNihzdGVwMVsxM10sIHN0ZXAxWzEwXSwgY29zcGlfMTZfNjQsIGNv
c3BpXzE2XzY0LCAmc3RlcDJbMTBdLAotICAgICAgICAgICAgICAmc3RlcDJbMTNdKTsKLSAgYnV0
dGVyZmx5MTYoc3RlcDFbMTJdLCBzdGVwMVsxMV0sIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwg
JnN0ZXAyWzExXSwKLSAgICAgICAgICAgICAgJnN0ZXAyWzEyXSk7Ci0KLSAgLy8gc3RhZ2UgNwot
ICBvdXRbMF0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzBdLCBzdGVwMVsxNV0pOwotICBvdXRb
MV0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzFdLCBzdGVwMVsxNF0pOwotICBvdXRbMl0gPSBf
bW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzJdLCBzdGVwMlsxM10pOwotICBvdXRbM10gPSBfbW0yNTZf
YWRkX2VwaTE2KHN0ZXAyWzNdLCBzdGVwMlsxMl0pOwotICBvdXRbNF0gPSBfbW0yNTZfYWRkX2Vw
aTE2KHN0ZXAyWzRdLCBzdGVwMlsxMV0pOwotICBvdXRbNV0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0
ZXAyWzVdLCBzdGVwMlsxMF0pOwotICBvdXRbNl0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzZd
LCBzdGVwMVs5XSk7Ci0gIG91dFs3XSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDJbN10sIHN0ZXAx
WzhdKTsKLSAgb3V0WzhdID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMls3XSwgc3RlcDFbOF0pOwot
ICBvdXRbOV0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAyWzZdLCBzdGVwMVs5XSk7Ci0gIG91dFsx
MF0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAyWzVdLCBzdGVwMlsxMF0pOwotICBvdXRbMTFdID0g
X21tMjU2X3N1Yl9lcGkxNihzdGVwMls0XSwgc3RlcDJbMTFdKTsKLSAgb3V0WzEyXSA9IF9tbTI1
Nl9zdWJfZXBpMTYoc3RlcDJbM10sIHN0ZXAyWzEyXSk7Ci0gIG91dFsxM10gPSBfbW0yNTZfc3Vi
X2VwaTE2KHN0ZXAyWzJdLCBzdGVwMlsxM10pOwotICBvdXRbMTRdID0gX21tMjU2X3N1Yl9lcGkx
NihzdGVwMlsxXSwgc3RlcDFbMTRdKTsKLSAgb3V0WzE1XSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3Rl
cDJbMF0sIHN0ZXAxWzE1XSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCByZWNvbl9hbmRfc3Rv
cmUxNih1aW50OF90ICpkZXN0LCBfX20yNTZpIGluX3gpIHsKLSAgY29uc3QgX19tMjU2aSB6ZXJv
ID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKLSAgX19tMjU2aSBkMCA9IF9tbTI1Nl9jYXN0c2kx
Mjhfc2kyNTYoX21tX2xvYWR1X3NpMTI4KChfX20xMjhpICopKGRlc3QpKSk7Ci0gIGQwID0gX21t
MjU2X3Blcm11dGU0eDY0X2VwaTY0KGQwLCAweGQ4KTsKLSAgZDAgPSBfbW0yNTZfdW5wYWNrbG9f
ZXBpOChkMCwgemVybyk7Ci0gIGQwID0gX21tMjU2X2FkZF9lcGkxNihpbl94LCBkMCk7Ci0gIGQw
ID0gX21tMjU2X3BhY2t1c19lcGkxNigKLSAgICAgIGQwLCBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2
KF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihkMCwgMSkpKTsKLQotICBfbW1fc3RvcmV1X3NpMTI4
KChfX20xMjhpICopZGVzdCwgX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChkMCkpOwotfQotCi1zdGF0
aWMgSU5MSU5FIHZvaWQgd3JpdGVfYnVmZmVyXzE2eDEodWludDhfdCAqZGVzdCwgX19tMjU2aSBp
bikgewotICBjb25zdCBfX20yNTZpIGZpbmFsX3JvdW5kaW5nID0gX21tMjU2X3NldDFfZXBpMTYo
MSA8PCA1KTsKLSAgX19tMjU2aSBvdXQ7Ci0gIG91dCA9IF9tbTI1Nl9hZGRzX2VwaTE2KGluLCBm
aW5hbF9yb3VuZGluZyk7Ci0gIG91dCA9IF9tbTI1Nl9zcmFpX2VwaTE2KG91dCwgNik7Ci0gIHJl
Y29uX2FuZF9zdG9yZTE2KGRlc3QsIG91dCk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBzdG9y
ZV9idWZmZXJfMTZ4MzIoX19tMjU2aSAqaW4sIHVpbnQ4X3QgKmRzdCwgaW50IHN0cmlkZSkgewot
ICBjb25zdCBfX20yNTZpIGZpbmFsX3JvdW5kaW5nID0gX21tMjU2X3NldDFfZXBpMTYoMSA8PCA1
KTsKLSAgaW50IGogPSAwOwotICB3aGlsZSAoaiA8IDMyKSB7Ci0gICAgaW5bal0gPSBfbW0yNTZf
YWRkc19lcGkxNihpbltqXSwgZmluYWxfcm91bmRpbmcpOwotICAgIGluW2ogKyAxXSA9IF9tbTI1
Nl9hZGRzX2VwaTE2KGluW2ogKyAxXSwgZmluYWxfcm91bmRpbmcpOwotCi0gICAgaW5bal0gPSBf
bW0yNTZfc3JhaV9lcGkxNihpbltqXSwgNik7Ci0gICAgaW5baiArIDFdID0gX21tMjU2X3NyYWlf
ZXBpMTYoaW5baiArIDFdLCA2KTsKLQotICAgIHJlY29uX2FuZF9zdG9yZTE2KGRzdCwgaW5bal0p
OwotICAgIGRzdCArPSBzdHJpZGU7Ci0gICAgcmVjb25fYW5kX3N0b3JlMTYoZHN0LCBpbltqICsg
MV0pOwotICAgIGRzdCArPSBzdHJpZGU7Ci0gICAgaiArPSAyOwotICB9Ci19Ci0KLXN0YXRpYyBJ
TkxJTkUgdm9pZCB0cmFuc3Bvc2UyXzh4OF9hdngyKF9fbTI1NmkgKmluLCBfX20yNTZpICpvdXQp
IHsKLSAgaW50IGk7Ci0gIF9fbTI1NmkgdFsxNl0sIHVbMTZdOwotICAvLyAoMXN0LCAybmQpID09
PiAobG8sIGhpKQotICAvLyAgICgwLCAxKSAgID09PiAgKDAsIDEpCi0gIC8vICAgKDIsIDMpICAg
PT0+ICAoMiwgMykKLSAgLy8gICAoNCwgNSkgICA9PT4gICg0LCA1KQotICAvLyAgICg2LCA3KSAg
ID09PiAgKDYsIDcpCi0gIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKLSAgICB0WzIgKiBpXSA9
IF9tbTI1Nl91bnBhY2tsb19lcGkxNihpblsyICogaV0sIGluWzIgKiBpICsgMV0pOwotICAgIHRb
MiAqIGkgKyAxXSA9IF9tbTI1Nl91bnBhY2toaV9lcGkxNihpblsyICogaV0sIGluWzIgKiBpICsg
MV0pOwotICB9Ci0KLSAgLy8gKDFzdCwgMm5kKSA9PT4gKGxvLCBoaSkKLSAgLy8gICAoMCwgMikg
ICA9PT4gICgwLCAyKQotICAvLyAgICgxLCAzKSAgID09PiAgKDEsIDMpCi0gIC8vICAgKDQsIDYp
ICAgPT0+ICAoNCwgNikKLSAgLy8gICAoNSwgNykgICA9PT4gICg1LCA3KQotICBmb3IgKGkgPSAw
OyBpIDwgMjsgaSsrKSB7Ci0gICAgdVtpXSA9IF9tbTI1Nl91bnBhY2tsb19lcGkzMih0W2ldLCB0
W2kgKyAyXSk7Ci0gICAgdVtpICsgMl0gPSBfbW0yNTZfdW5wYWNraGlfZXBpMzIodFtpXSwgdFtp
ICsgMl0pOwotCi0gICAgdVtpICsgNF0gPSBfbW0yNTZfdW5wYWNrbG9fZXBpMzIodFtpICsgNF0s
IHRbaSArIDZdKTsKLSAgICB1W2kgKyA2XSA9IF9tbTI1Nl91bnBhY2toaV9lcGkzMih0W2kgKyA0
XSwgdFtpICsgNl0pOwotICB9Ci0KLSAgLy8gKDFzdCwgMm5kKSA9PT4gKGxvLCBoaSkKLSAgLy8g
ICAoMCwgNCkgICA9PT4gICgwLCAxKQotICAvLyAgICgxLCA1KSAgID09PiAgKDQsIDUpCi0gIC8v
ICAgKDIsIDYpICAgPT0+ICAoMiwgMykKLSAgLy8gICAoMywgNykgICA9PT4gICg2LCA3KQotICBm
b3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7Ci0gICAgb3V0WzIgKiBpXSA9IF9tbTI1Nl91bnBhY2ts
b19lcGk2NCh1WzIgKiBpXSwgdVsyICogaSArIDRdKTsKLSAgICBvdXRbMiAqIGkgKyAxXSA9IF9t
bTI1Nl91bnBhY2toaV9lcGk2NCh1WzIgKiBpXSwgdVsyICogaSArIDRdKTsKLQotICAgIG91dFsy
ICogaSArIDRdID0gX21tMjU2X3VucGFja2xvX2VwaTY0KHVbMiAqIGkgKyAxXSwgdVsyICogaSAr
IDVdKTsKLSAgICBvdXRbMiAqIGkgKyA1XSA9IF9tbTI1Nl91bnBhY2toaV9lcGk2NCh1WzIgKiBp
ICsgMV0sIHVbMiAqIGkgKyA1XSk7Ci0gIH0KLX0KLQotc3RhdGljIElOTElORSB2b2lkIHRyYW5z
cG9zZV8xNmJpdF8xNngxNl9hdngyKF9fbTI1NmkgKmluLCBfX20yNTZpICpvdXQpIHsKLSAgX19t
MjU2aSB0WzE2XTsKLQotI2RlZmluZSBMT0FETChpZHgpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB0W2lkeF0gPSBfbW0yNTZf
Y2FzdHNpMTI4X3NpMjU2KF9tbV9sb2FkX3NpMTI4KChfX20xMjhpIGNvbnN0ICopJmluW2lkeF0p
KTsgXAotICB0W2lkeF0gPSBfbW0yNTZfaW5zZXJ0aTEyOF9zaTI1NiggICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgdFtpZHhdLCBfbW1fbG9hZF9zaTEy
OCgoX19tMTI4aSBjb25zdCAqKSZpblsoaWR4KSArIDhdKSwgMSk7Ci0KLSNkZWZpbmUgTE9BRFIo
aWR4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB0WzggKyAoaWR4KV0gPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBfbW0yNTZfY2FzdHNpMTI4X3Np
MjU2KF9tbV9sb2FkX3NpMTI4KChfX20xMjhpIGNvbnN0ICopJmluW2lkeF0gKyAxKSk7IFwKLSAg
dFs4ICsgKGlkeCldID0gX21tMjU2X2luc2VydGkxMjhfc2kyNTYoICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgdFs4ICsgKGlkeCldLCBfbW1fbG9hZF9zaTEyOCgo
X19tMTI4aSBjb25zdCAqKSZpblsoaWR4KSArIDhdICsgMSksIDEpOwotCi0gIC8vIGxvYWQgbGVm
dCA4eDE2Ci0gIExPQURMKDApCi0gIExPQURMKDEpCi0gIExPQURMKDIpCi0gIExPQURMKDMpCi0g
IExPQURMKDQpCi0gIExPQURMKDUpCi0gIExPQURMKDYpCi0gIExPQURMKDcpCi0KLSAgLy8gbG9h
ZCByaWdodCA4eDE2Ci0gIExPQURSKDApCi0gIExPQURSKDEpCi0gIExPQURSKDIpCi0gIExPQURS
KDMpCi0gIExPQURSKDQpCi0gIExPQURSKDUpCi0gIExPQURSKDYpCi0gIExPQURSKDcpCi0KLSAg
Ly8gZ2V0IHRoZSB0b3AgMTZ4OCByZXN1bHQKLSAgdHJhbnNwb3NlMl84eDhfYXZ4Mih0LCBvdXQp
OwotICAvLyBnZXQgdGhlIGJvdHRvbSAxNng4IHJlc3VsdAotICB0cmFuc3Bvc2UyXzh4OF9hdngy
KCZ0WzhdLCAmb3V0WzhdKTsKLX0KLQotdm9pZCB2cHhfaWRjdDE2eDE2XzI1Nl9hZGRfYXZ4Mihj
b25zdCB0cmFuX2xvd190ICppbnB1dCwgdWludDhfdCAqZGVzdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZSkgewotICBpbnQgaTsKLSAgX19tMjU2aSBpblsxNl07
Ci0KLSAgLy8gTG9hZCAxNngxNiB2YWx1ZXMKLSAgaWRjdF9sb2FkMTZ4MTYoaW5wdXQsIGluLCAx
Nik7Ci0KLSAgdHJhbnNwb3NlXzE2Yml0XzE2eDE2X2F2eDIoaW4sIGluKTsKLSAgaWRjdDE2XzE2
Y29sKGluLCBpbik7Ci0KLSAgdHJhbnNwb3NlXzE2Yml0XzE2eDE2X2F2eDIoaW4sIGluKTsKLSAg
aWRjdDE2XzE2Y29sKGluLCBpbik7Ci0KLSAgZm9yIChpID0gMDsgaSA8IDE2OyArK2kpIHsKLSAg
ICB3cml0ZV9idWZmZXJfMTZ4MShkZXN0ICsgaSAqIHN0cmlkZSwgaW5baV0pOwotICB9Ci19Ci0K
LS8vIE9ubHkgZG8gYWRkaXRpb24gYW5kIHN1YnRyYWN0aW9uIGJ1dHRlcmZseSwgc2l6ZSA9IDE2
LCAzMgotc3RhdGljIElOTElORSB2b2lkIGFkZF9zdWJfYnV0dGVyZmx5X2F2eDIoX19tMjU2aSAq
aW4sIF9fbTI1NmkgKm91dCwgaW50IHNpemUpIHsKLSAgaW50IGkgPSAwOwotICBjb25zdCBpbnQg
bnVtID0gc2l6ZSA+PiAxOwotICBjb25zdCBpbnQgYm91bmQgPSBzaXplIC0gMTsKLSAgd2hpbGUg
KGkgPCBudW0pIHsKLSAgICBvdXRbaV0gPSBfbW0yNTZfYWRkX2VwaTE2KGluW2ldLCBpbltib3Vu
ZCAtIGldKTsKLSAgICBvdXRbYm91bmQgLSBpXSA9IF9tbTI1Nl9zdWJfZXBpMTYoaW5baV0sIGlu
W2JvdW5kIC0gaV0pOwotICAgIGkrKzsKLSAgfQotfQotCi0vLyBGb3IgZWFjaCAxNngzMiBibG9j
ayBfX20yNTZpIGluWzMyXSwKLS8vIElucHV0IHdpdGggaW5kZXgsIDAsIDQsIDgsIDEyLCAxNiwg
MjAsIDI0LCAyOAotLy8gb3V0cHV0IHBpeGVsczogMC03IGluIF9fbTI1Nmkgb3V0WzMyXQotc3Rh
dGljIElOTElORSB2b2lkIGlkY3QzMl8xMDI0XzE2eDMyX3F1YXJ0ZXJfMShfX20yNTZpICppbiwg
X19tMjU2aSAqb3V0KSB7Ci0gIF9fbTI1Nmkgc3RlcDFbOF0sIHN0ZXAyWzhdOwotCi0gIC8vIHN0
YWdlIDMKLSAgYnV0dGVyZmx5MTYoaW5bNF0sIGluWzI4XSwgY29zcGlfMjhfNjQsIGNvc3BpXzRf
NjQsICZzdGVwMVs0XSwgJnN0ZXAxWzddKTsKLSAgYnV0dGVyZmx5MTYoaW5bMjBdLCBpblsxMl0s
IGNvc3BpXzEyXzY0LCBjb3NwaV8yMF82NCwgJnN0ZXAxWzVdLCAmc3RlcDFbNl0pOwotCi0gIC8v
IHN0YWdlIDQKLSAgYnV0dGVyZmx5MTYoaW5bMF0sIGluWzE2XSwgY29zcGlfMTZfNjQsIGNvc3Bp
XzE2XzY0LCAmc3RlcDJbMV0sICZzdGVwMlswXSk7Ci0gIGJ1dHRlcmZseTE2KGluWzhdLCBpblsy
NF0sIGNvc3BpXzI0XzY0LCBjb3NwaV84XzY0LCAmc3RlcDJbMl0sICZzdGVwMlszXSk7Ci0gIHN0
ZXAyWzRdID0gX21tMjU2X2FkZF9lcGkxNihzdGVwMVs0XSwgc3RlcDFbNV0pOwotICBzdGVwMls1
XSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDFbNF0sIHN0ZXAxWzVdKTsKLSAgc3RlcDJbNl0gPSBf
bW0yNTZfc3ViX2VwaTE2KHN0ZXAxWzddLCBzdGVwMVs2XSk7Ci0gIHN0ZXAyWzddID0gX21tMjU2
X2FkZF9lcGkxNihzdGVwMVs3XSwgc3RlcDFbNl0pOwotCi0gIC8vIHN0YWdlIDUKLSAgc3RlcDFb
MF0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzBdLCBzdGVwMlszXSk7Ci0gIHN0ZXAxWzFdID0g
X21tMjU2X2FkZF9lcGkxNihzdGVwMlsxXSwgc3RlcDJbMl0pOwotICBzdGVwMVsyXSA9IF9tbTI1
Nl9zdWJfZXBpMTYoc3RlcDJbMV0sIHN0ZXAyWzJdKTsKLSAgc3RlcDFbM10gPSBfbW0yNTZfc3Vi
X2VwaTE2KHN0ZXAyWzBdLCBzdGVwMlszXSk7Ci0gIHN0ZXAxWzRdID0gc3RlcDJbNF07Ci0gIGJ1
dHRlcmZseTE2KHN0ZXAyWzZdLCBzdGVwMls1XSwgY29zcGlfMTZfNjQsIGNvc3BpXzE2XzY0LCAm
c3RlcDFbNV0sCi0gICAgICAgICAgICAgICZzdGVwMVs2XSk7Ci0gIHN0ZXAxWzddID0gc3RlcDJb
N107Ci0KLSAgLy8gc3RhZ2UgNgotICBvdXRbMF0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAxWzBd
LCBzdGVwMVs3XSk7Ci0gIG91dFsxXSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDFbMV0sIHN0ZXAx
WzZdKTsKLSAgb3V0WzJdID0gX21tMjU2X2FkZF9lcGkxNihzdGVwMVsyXSwgc3RlcDFbNV0pOwot
ICBvdXRbM10gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAxWzNdLCBzdGVwMVs0XSk7Ci0gIG91dFs0
XSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDFbM10sIHN0ZXAxWzRdKTsKLSAgb3V0WzVdID0gX21t
MjU2X3N1Yl9lcGkxNihzdGVwMVsyXSwgc3RlcDFbNV0pOwotICBvdXRbNl0gPSBfbW0yNTZfc3Vi
X2VwaTE2KHN0ZXAxWzFdLCBzdGVwMVs2XSk7Ci0gIG91dFs3XSA9IF9tbTI1Nl9zdWJfZXBpMTYo
c3RlcDFbMF0sIHN0ZXAxWzddKTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGlkY3QzMl8xNngz
Ml9xdWFydGVyXzJfc3RhZ2VfNF90b182KF9fbTI1NmkgKnN0ZXAxLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTI1NmkgKm91dCkgewot
ICBfX20yNTZpIHN0ZXAyWzMyXTsKLQotICAvLyBzdGFnZSA0Ci0gIHN0ZXAyWzhdID0gc3RlcDFb
OF07Ci0gIHN0ZXAyWzE1XSA9IHN0ZXAxWzE1XTsKLSAgYnV0dGVyZmx5MTYoc3RlcDFbMTRdLCBz
dGVwMVs5XSwgY29zcGlfMjRfNjQsIGNvc3BpXzhfNjQsICZzdGVwMls5XSwKLSAgICAgICAgICAg
ICAgJnN0ZXAyWzE0XSk7Ci0gIGJ1dHRlcmZseTE2KHN0ZXAxWzEzXSwgc3RlcDFbMTBdLCAtY29z
cGlfOF82NCwgY29zcGlfMjRfNjQsICZzdGVwMlsxMF0sCi0gICAgICAgICAgICAgICZzdGVwMlsx
M10pOwotICBzdGVwMlsxMV0gPSBzdGVwMVsxMV07Ci0gIHN0ZXAyWzEyXSA9IHN0ZXAxWzEyXTsK
LQotICAvLyBzdGFnZSA1Ci0gIHN0ZXAxWzhdID0gX21tMjU2X2FkZF9lcGkxNihzdGVwMls4XSwg
c3RlcDJbMTFdKTsKLSAgc3RlcDFbOV0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzldLCBzdGVw
MlsxMF0pOwotICBzdGVwMVsxMF0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAyWzldLCBzdGVwMlsx
MF0pOwotICBzdGVwMVsxMV0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAyWzhdLCBzdGVwMlsxMV0p
OwotICBzdGVwMVsxMl0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAyWzE1XSwgc3RlcDJbMTJdKTsK
LSAgc3RlcDFbMTNdID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMlsxNF0sIHN0ZXAyWzEzXSk7Ci0g
IHN0ZXAxWzE0XSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDJbMTRdLCBzdGVwMlsxM10pOwotICBz
dGVwMVsxNV0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAyWzE1XSwgc3RlcDJbMTJdKTsKLQotICAv
LyBzdGFnZSA2Ci0gIG91dFs4XSA9IHN0ZXAxWzhdOwotICBvdXRbOV0gPSBzdGVwMVs5XTsKLSAg
YnV0dGVyZmx5MTYoc3RlcDFbMTNdLCBzdGVwMVsxMF0sIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82
NCwgJm91dFsxMF0sCi0gICAgICAgICAgICAgICZvdXRbMTNdKTsKLSAgYnV0dGVyZmx5MTYoc3Rl
cDFbMTJdLCBzdGVwMVsxMV0sIGNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCwgJm91dFsxMV0sCi0g
ICAgICAgICAgICAgICZvdXRbMTJdKTsKLSAgb3V0WzE0XSA9IHN0ZXAxWzE0XTsKLSAgb3V0WzE1
XSA9IHN0ZXAxWzE1XTsKLX0KLQotLy8gRm9yIGVhY2ggMTZ4MzIgYmxvY2sgX19tMjU2aSBpblsz
Ml0sCi0vLyBJbnB1dCB3aXRoIGluZGV4LCAyLCA2LCAxMCwgMTQsIDE4LCAyMiwgMjYsIDMwCi0v
LyBvdXRwdXQgcGl4ZWxzOiA4LTE1IGluIF9fbTI1Nmkgb3V0WzMyXQotc3RhdGljIElOTElORSB2
b2lkIGlkY3QzMl8xMDI0XzE2eDMyX3F1YXJ0ZXJfMihfX20yNTZpICppbiwgX19tMjU2aSAqb3V0
KSB7Ci0gIF9fbTI1Nmkgc3RlcDFbMTZdLCBzdGVwMlsxNl07Ci0KLSAgLy8gc3RhZ2UgMgotICBi
dXR0ZXJmbHkxNihpblsyXSwgaW5bMzBdLCBjb3NwaV8zMF82NCwgY29zcGlfMl82NCwgJnN0ZXAy
WzhdLCAmc3RlcDJbMTVdKTsKLSAgYnV0dGVyZmx5MTYoaW5bMThdLCBpblsxNF0sIGNvc3BpXzE0
XzY0LCBjb3NwaV8xOF82NCwgJnN0ZXAyWzldLCAmc3RlcDJbMTRdKTsKLSAgYnV0dGVyZmx5MTYo
aW5bMTBdLCBpblsyMl0sIGNvc3BpXzIyXzY0LCBjb3NwaV8xMF82NCwgJnN0ZXAyWzEwXSwgJnN0
ZXAyWzEzXSk7Ci0gIGJ1dHRlcmZseTE2KGluWzI2XSwgaW5bNl0sIGNvc3BpXzZfNjQsIGNvc3Bp
XzI2XzY0LCAmc3RlcDJbMTFdLCAmc3RlcDJbMTJdKTsKLQotICAvLyBzdGFnZSAzCi0gIHN0ZXAx
WzhdID0gX21tMjU2X2FkZF9lcGkxNihzdGVwMls4XSwgc3RlcDJbOV0pOwotICBzdGVwMVs5XSA9
IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDJbOF0sIHN0ZXAyWzldKTsKLSAgc3RlcDFbMTBdID0gX21t
MjU2X3N1Yl9lcGkxNihzdGVwMlsxMV0sIHN0ZXAyWzEwXSk7Ci0gIHN0ZXAxWzExXSA9IF9tbTI1
Nl9hZGRfZXBpMTYoc3RlcDJbMTFdLCBzdGVwMlsxMF0pOwotICBzdGVwMVsxMl0gPSBfbW0yNTZf
YWRkX2VwaTE2KHN0ZXAyWzEyXSwgc3RlcDJbMTNdKTsKLSAgc3RlcDFbMTNdID0gX21tMjU2X3N1
Yl9lcGkxNihzdGVwMlsxMl0sIHN0ZXAyWzEzXSk7Ci0gIHN0ZXAxWzE0XSA9IF9tbTI1Nl9zdWJf
ZXBpMTYoc3RlcDJbMTVdLCBzdGVwMlsxNF0pOwotICBzdGVwMVsxNV0gPSBfbW0yNTZfYWRkX2Vw
aTE2KHN0ZXAyWzE1XSwgc3RlcDJbMTRdKTsKLQotICBpZGN0MzJfMTZ4MzJfcXVhcnRlcl8yX3N0
YWdlXzRfdG9fNihzdGVwMSwgb3V0KTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGlkY3QzMl8x
NngzMl9xdWFydGVyXzNfNF9zdGFnZV80X3RvXzcoX19tMjU2aSAqc3RlcDEsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20yNTZpICpv
dXQpIHsKLSAgX19tMjU2aSBzdGVwMlszMl07Ci0KLSAgLy8gc3RhZ2UgNAotICBzdGVwMlsxNl0g
PSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAxWzE2XSwgc3RlcDFbMTldKTsKLSAgc3RlcDJbMTddID0g
X21tMjU2X2FkZF9lcGkxNihzdGVwMVsxN10sIHN0ZXAxWzE4XSk7Ci0gIHN0ZXAyWzE4XSA9IF9t
bTI1Nl9zdWJfZXBpMTYoc3RlcDFbMTddLCBzdGVwMVsxOF0pOwotICBzdGVwMlsxOV0gPSBfbW0y
NTZfc3ViX2VwaTE2KHN0ZXAxWzE2XSwgc3RlcDFbMTldKTsKLSAgc3RlcDJbMjBdID0gX21tMjU2
X3N1Yl9lcGkxNihzdGVwMVsyM10sIHN0ZXAxWzIwXSk7Ci0gIHN0ZXAyWzIxXSA9IF9tbTI1Nl9z
dWJfZXBpMTYoc3RlcDFbMjJdLCBzdGVwMVsyMV0pOwotICBzdGVwMlsyMl0gPSBfbW0yNTZfYWRk
X2VwaTE2KHN0ZXAxWzIyXSwgc3RlcDFbMjFdKTsKLSAgc3RlcDJbMjNdID0gX21tMjU2X2FkZF9l
cGkxNihzdGVwMVsyM10sIHN0ZXAxWzIwXSk7Ci0KLSAgc3RlcDJbMjRdID0gX21tMjU2X2FkZF9l
cGkxNihzdGVwMVsyNF0sIHN0ZXAxWzI3XSk7Ci0gIHN0ZXAyWzI1XSA9IF9tbTI1Nl9hZGRfZXBp
MTYoc3RlcDFbMjVdLCBzdGVwMVsyNl0pOwotICBzdGVwMlsyNl0gPSBfbW0yNTZfc3ViX2VwaTE2
KHN0ZXAxWzI1XSwgc3RlcDFbMjZdKTsKLSAgc3RlcDJbMjddID0gX21tMjU2X3N1Yl9lcGkxNihz
dGVwMVsyNF0sIHN0ZXAxWzI3XSk7Ci0gIHN0ZXAyWzI4XSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3Rl
cDFbMzFdLCBzdGVwMVsyOF0pOwotICBzdGVwMlsyOV0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAx
WzMwXSwgc3RlcDFbMjldKTsKLSAgc3RlcDJbMzBdID0gX21tMjU2X2FkZF9lcGkxNihzdGVwMVsy
OV0sIHN0ZXAxWzMwXSk7Ci0gIHN0ZXAyWzMxXSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDFbMjhd
LCBzdGVwMVszMV0pOwotCi0gIC8vIHN0YWdlIDUKLSAgc3RlcDFbMTZdID0gc3RlcDJbMTZdOwot
ICBzdGVwMVsxN10gPSBzdGVwMlsxN107Ci0gIGJ1dHRlcmZseTE2KHN0ZXAyWzI5XSwgc3RlcDJb
MThdLCBjb3NwaV8yNF82NCwgY29zcGlfOF82NCwgJnN0ZXAxWzE4XSwKLSAgICAgICAgICAgICAg
JnN0ZXAxWzI5XSk7Ci0gIGJ1dHRlcmZseTE2KHN0ZXAyWzI4XSwgc3RlcDJbMTldLCBjb3NwaV8y
NF82NCwgY29zcGlfOF82NCwgJnN0ZXAxWzE5XSwKLSAgICAgICAgICAgICAgJnN0ZXAxWzI4XSk7
Ci0gIGJ1dHRlcmZseTE2KHN0ZXAyWzI3XSwgc3RlcDJbMjBdLCAtY29zcGlfOF82NCwgY29zcGlf
MjRfNjQsICZzdGVwMVsyMF0sCi0gICAgICAgICAgICAgICZzdGVwMVsyN10pOwotICBidXR0ZXJm
bHkxNihzdGVwMlsyNl0sIHN0ZXAyWzIxXSwgLWNvc3BpXzhfNjQsIGNvc3BpXzI0XzY0LCAmc3Rl
cDFbMjFdLAotICAgICAgICAgICAgICAmc3RlcDFbMjZdKTsKLSAgc3RlcDFbMjJdID0gc3RlcDJb
MjJdOwotICBzdGVwMVsyM10gPSBzdGVwMlsyM107Ci0gIHN0ZXAxWzI0XSA9IHN0ZXAyWzI0XTsK
LSAgc3RlcDFbMjVdID0gc3RlcDJbMjVdOwotICBzdGVwMVszMF0gPSBzdGVwMlszMF07Ci0gIHN0
ZXAxWzMxXSA9IHN0ZXAyWzMxXTsKLQotICAvLyBzdGFnZSA2Ci0gIG91dFsxNl0gPSBfbW0yNTZf
YWRkX2VwaTE2KHN0ZXAxWzE2XSwgc3RlcDFbMjNdKTsKLSAgb3V0WzE3XSA9IF9tbTI1Nl9hZGRf
ZXBpMTYoc3RlcDFbMTddLCBzdGVwMVsyMl0pOwotICBvdXRbMThdID0gX21tMjU2X2FkZF9lcGkx
NihzdGVwMVsxOF0sIHN0ZXAxWzIxXSk7Ci0gIG91dFsxOV0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0
ZXAxWzE5XSwgc3RlcDFbMjBdKTsKLSAgc3RlcDJbMjBdID0gX21tMjU2X3N1Yl9lcGkxNihzdGVw
MVsxOV0sIHN0ZXAxWzIwXSk7Ci0gIHN0ZXAyWzIxXSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDFb
MThdLCBzdGVwMVsyMV0pOwotICBzdGVwMlsyMl0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAxWzE3
XSwgc3RlcDFbMjJdKTsKLSAgc3RlcDJbMjNdID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMVsxNl0s
IHN0ZXAxWzIzXSk7Ci0KLSAgc3RlcDJbMjRdID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMVszMV0s
IHN0ZXAxWzI0XSk7Ci0gIHN0ZXAyWzI1XSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3RlcDFbMzBdLCBz
dGVwMVsyNV0pOwotICBzdGVwMlsyNl0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAxWzI5XSwgc3Rl
cDFbMjZdKTsKLSAgc3RlcDJbMjddID0gX21tMjU2X3N1Yl9lcGkxNihzdGVwMVsyOF0sIHN0ZXAx
WzI3XSk7Ci0gIG91dFsyOF0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAxWzI3XSwgc3RlcDFbMjhd
KTsKLSAgb3V0WzI5XSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDFbMjZdLCBzdGVwMVsyOV0pOwot
ICBvdXRbMzBdID0gX21tMjU2X2FkZF9lcGkxNihzdGVwMVsyNV0sIHN0ZXAxWzMwXSk7Ci0gIG91
dFszMV0gPSBfbW0yNTZfYWRkX2VwaTE2KHN0ZXAxWzI0XSwgc3RlcDFbMzFdKTsKLQotICAvLyBz
dGFnZSA3Ci0gIGJ1dHRlcmZseTE2KHN0ZXAyWzI3XSwgc3RlcDJbMjBdLCBjb3NwaV8xNl82NCwg
Y29zcGlfMTZfNjQsICZvdXRbMjBdLAotICAgICAgICAgICAgICAmb3V0WzI3XSk7Ci0gIGJ1dHRl
cmZseTE2KHN0ZXAyWzI2XSwgc3RlcDJbMjFdLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsICZv
dXRbMjFdLAotICAgICAgICAgICAgICAmb3V0WzI2XSk7Ci0gIGJ1dHRlcmZseTE2KHN0ZXAyWzI1
XSwgc3RlcDJbMjJdLCBjb3NwaV8xNl82NCwgY29zcGlfMTZfNjQsICZvdXRbMjJdLAotICAgICAg
ICAgICAgICAmb3V0WzI1XSk7Ci0gIGJ1dHRlcmZseTE2KHN0ZXAyWzI0XSwgc3RlcDJbMjNdLCBj
b3NwaV8xNl82NCwgY29zcGlfMTZfNjQsICZvdXRbMjNdLAotICAgICAgICAgICAgICAmb3V0WzI0
XSk7Ci19Ci0KLXN0YXRpYyBJTkxJTkUgdm9pZCBpZGN0MzJfMTAyNF8xNngzMl9xdWFydGVyXzFf
MihfX20yNTZpICppbiwgX19tMjU2aSAqb3V0KSB7Ci0gIF9fbTI1NmkgdGVtcFsxNl07Ci0KLSAg
Ly8gRm9yIGVhY2ggMTZ4MzIgYmxvY2sgX19tMjU2aSBpblszMl0sCi0gIC8vIElucHV0IHdpdGgg
aW5kZXgsIDAsIDQsIDgsIDEyLCAxNiwgMjAsIDI0LCAyOAotICAvLyBvdXRwdXQgcGl4ZWxzOiAw
LTcgaW4gX19tMjU2aSBvdXRbMzJdCi0gIGlkY3QzMl8xMDI0XzE2eDMyX3F1YXJ0ZXJfMShpbiwg
dGVtcCk7Ci0KLSAgLy8gSW5wdXQgd2l0aCBpbmRleCwgMiwgNiwgMTAsIDE0LCAxOCwgMjIsIDI2
LCAzMAotICAvLyBvdXRwdXQgcGl4ZWxzOiA4LTE1IGluIF9fbTI1Nmkgb3V0WzMyXQotICBpZGN0
MzJfMTAyNF8xNngzMl9xdWFydGVyXzIoaW4sIHRlbXApOwotCi0gIC8vIHN0YWdlIDcKLSAgYWRk
X3N1Yl9idXR0ZXJmbHlfYXZ4Mih0ZW1wLCBvdXQsIDE2KTsKLX0KLQotLy8gRm9yIGVhY2ggMTZ4
MzIgYmxvY2sgX19tMjU2aSBpblszMl0sCi0vLyBJbnB1dCB3aXRoIG9kZCBpbmRleCwKLS8vIDEs
IDMsIDUsIDcsIDksIDExLCAxMywgMTUsIDE3LCAxOSwgMjEsIDIzLCAyNSwgMjcsIDI5LCAzMQot
Ly8gb3V0cHV0IHBpeGVsczogMTYtMjMsIDI0LTMxIGluIF9fbTI1Nmkgb3V0WzMyXQotc3RhdGlj
IElOTElORSB2b2lkIGlkY3QzMl8xMDI0XzE2eDMyX3F1YXJ0ZXJfM180KF9fbTI1NmkgKmluLCBf
X20yNTZpICpvdXQpIHsKLSAgX19tMjU2aSBzdGVwMVszMl0sIHN0ZXAyWzMyXTsKLQotICAvLyBz
dGFnZSAxCi0gIGJ1dHRlcmZseTE2KGluWzFdLCBpblszMV0sIGNvc3BpXzMxXzY0LCBjb3NwaV8x
XzY0LCAmc3RlcDFbMTZdLCAmc3RlcDFbMzFdKTsKLSAgYnV0dGVyZmx5MTYoaW5bMTddLCBpblsx
NV0sIGNvc3BpXzE1XzY0LCBjb3NwaV8xN182NCwgJnN0ZXAxWzE3XSwgJnN0ZXAxWzMwXSk7Ci0g
IGJ1dHRlcmZseTE2KGluWzldLCBpblsyM10sIGNvc3BpXzIzXzY0LCBjb3NwaV85XzY0LCAmc3Rl
cDFbMThdLCAmc3RlcDFbMjldKTsKLSAgYnV0dGVyZmx5MTYoaW5bMjVdLCBpbls3XSwgY29zcGlf
N182NCwgY29zcGlfMjVfNjQsICZzdGVwMVsxOV0sICZzdGVwMVsyOF0pOwotCi0gIGJ1dHRlcmZs
eTE2KGluWzVdLCBpblsyN10sIGNvc3BpXzI3XzY0LCBjb3NwaV81XzY0LCAmc3RlcDFbMjBdLCAm
c3RlcDFbMjddKTsKLSAgYnV0dGVyZmx5MTYoaW5bMjFdLCBpblsxMV0sIGNvc3BpXzExXzY0LCBj
b3NwaV8yMV82NCwgJnN0ZXAxWzIxXSwgJnN0ZXAxWzI2XSk7Ci0KLSAgYnV0dGVyZmx5MTYoaW5b
MTNdLCBpblsxOV0sIGNvc3BpXzE5XzY0LCBjb3NwaV8xM182NCwgJnN0ZXAxWzIyXSwgJnN0ZXAx
WzI1XSk7Ci0gIGJ1dHRlcmZseTE2KGluWzI5XSwgaW5bM10sIGNvc3BpXzNfNjQsIGNvc3BpXzI5
XzY0LCAmc3RlcDFbMjNdLCAmc3RlcDFbMjRdKTsKLQotICAvLyBzdGFnZSAyCi0gIHN0ZXAyWzE2
XSA9IF9tbTI1Nl9hZGRfZXBpMTYoc3RlcDFbMTZdLCBzdGVwMVsxN10pOwotICBzdGVwMlsxN10g
PSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAxWzE2XSwgc3RlcDFbMTddKTsKLSAgc3RlcDJbMThdID0g
X21tMjU2X3N1Yl9lcGkxNihzdGVwMVsxOV0sIHN0ZXAxWzE4XSk7Ci0gIHN0ZXAyWzE5XSA9IF9t
bTI1Nl9hZGRfZXBpMTYoc3RlcDFbMTldLCBzdGVwMVsxOF0pOwotICBzdGVwMlsyMF0gPSBfbW0y
NTZfYWRkX2VwaTE2KHN0ZXAxWzIwXSwgc3RlcDFbMjFdKTsKLSAgc3RlcDJbMjFdID0gX21tMjU2
X3N1Yl9lcGkxNihzdGVwMVsyMF0sIHN0ZXAxWzIxXSk7Ci0gIHN0ZXAyWzIyXSA9IF9tbTI1Nl9z
dWJfZXBpMTYoc3RlcDFbMjNdLCBzdGVwMVsyMl0pOwotICBzdGVwMlsyM10gPSBfbW0yNTZfYWRk
X2VwaTE2KHN0ZXAxWzIzXSwgc3RlcDFbMjJdKTsKLQotICBzdGVwMlsyNF0gPSBfbW0yNTZfYWRk
X2VwaTE2KHN0ZXAxWzI0XSwgc3RlcDFbMjVdKTsKLSAgc3RlcDJbMjVdID0gX21tMjU2X3N1Yl9l
cGkxNihzdGVwMVsyNF0sIHN0ZXAxWzI1XSk7Ci0gIHN0ZXAyWzI2XSA9IF9tbTI1Nl9zdWJfZXBp
MTYoc3RlcDFbMjddLCBzdGVwMVsyNl0pOwotICBzdGVwMlsyN10gPSBfbW0yNTZfYWRkX2VwaTE2
KHN0ZXAxWzI3XSwgc3RlcDFbMjZdKTsKLSAgc3RlcDJbMjhdID0gX21tMjU2X2FkZF9lcGkxNihz
dGVwMVsyOF0sIHN0ZXAxWzI5XSk7Ci0gIHN0ZXAyWzI5XSA9IF9tbTI1Nl9zdWJfZXBpMTYoc3Rl
cDFbMjhdLCBzdGVwMVsyOV0pOwotICBzdGVwMlszMF0gPSBfbW0yNTZfc3ViX2VwaTE2KHN0ZXAx
WzMxXSwgc3RlcDFbMzBdKTsKLSAgc3RlcDJbMzFdID0gX21tMjU2X2FkZF9lcGkxNihzdGVwMVsz
MV0sIHN0ZXAxWzMwXSk7Ci0KLSAgLy8gc3RhZ2UgMwotICBzdGVwMVsxNl0gPSBzdGVwMlsxNl07
Ci0gIHN0ZXAxWzMxXSA9IHN0ZXAyWzMxXTsKLSAgYnV0dGVyZmx5MTYoc3RlcDJbMzBdLCBzdGVw
MlsxN10sIGNvc3BpXzI4XzY0LCBjb3NwaV80XzY0LCAmc3RlcDFbMTddLAotICAgICAgICAgICAg
ICAmc3RlcDFbMzBdKTsKLSAgYnV0dGVyZmx5MTYoc3RlcDJbMjldLCBzdGVwMlsxOF0sIC1jb3Nw
aV80XzY0LCBjb3NwaV8yOF82NCwgJnN0ZXAxWzE4XSwKLSAgICAgICAgICAgICAgJnN0ZXAxWzI5
XSk7Ci0gIHN0ZXAxWzE5XSA9IHN0ZXAyWzE5XTsKLSAgc3RlcDFbMjBdID0gc3RlcDJbMjBdOwot
ICBidXR0ZXJmbHkxNihzdGVwMlsyNl0sIHN0ZXAyWzIxXSwgY29zcGlfMTJfNjQsIGNvc3BpXzIw
XzY0LCAmc3RlcDFbMjFdLAotICAgICAgICAgICAgICAmc3RlcDFbMjZdKTsKLSAgYnV0dGVyZmx5
MTYoc3RlcDJbMjVdLCBzdGVwMlsyMl0sIC1jb3NwaV8yMF82NCwgY29zcGlfMTJfNjQsICZzdGVw
MVsyMl0sCi0gICAgICAgICAgICAgICZzdGVwMVsyNV0pOwotICBzdGVwMVsyM10gPSBzdGVwMlsy
M107Ci0gIHN0ZXAxWzI0XSA9IHN0ZXAyWzI0XTsKLSAgc3RlcDFbMjddID0gc3RlcDJbMjddOwot
ICBzdGVwMVsyOF0gPSBzdGVwMlsyOF07Ci0KLSAgaWRjdDMyXzE2eDMyX3F1YXJ0ZXJfM180X3N0
YWdlXzRfdG9fNyhzdGVwMSwgb3V0KTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGlkY3QzMl8x
MDI0XzE2eDMyKF9fbTI1NmkgKmluLCBfX20yNTZpICpvdXQpIHsKLSAgX19tMjU2aSB0ZW1wWzMy
XTsKLQotICAvLyBGb3IgZWFjaCAxNngzMiBibG9jayBfX20yNTZpIGluWzMyXSwKLSAgLy8gSW5w
dXQgd2l0aCBpbmRleCwgMCwgNCwgOCwgMTIsIDE2LCAyMCwgMjQsIDI4Ci0gIC8vIG91dHB1dCBw
aXhlbHM6IDAtNyBpbiBfX20yNTZpIG91dFszMl0KLSAgLy8gQU5ECi0gIC8vIElucHV0IHdpdGgg
aW5kZXgsIDIsIDYsIDEwLCAxNCwgMTgsIDIyLCAyNiwgMzAKLSAgLy8gb3V0cHV0IHBpeGVsczog
OC0xNSBpbiBfX20yNTZpIG91dFszMl0KLSAgaWRjdDMyXzEwMjRfMTZ4MzJfcXVhcnRlcl8xXzIo
aW4sIHRlbXApOwotCi0gIC8vIEZvciBlYWNoIDE2eDMyIGJsb2NrIF9fbTI1NmkgaW5bMzJdLAot
ICAvLyBJbnB1dCB3aXRoIG9kZCBpbmRleCwKLSAgLy8gMSwgMywgNSwgNywgOSwgMTEsIDEzLCAx
NSwgMTcsIDE5LCAyMSwgMjMsIDI1LCAyNywgMjksIDMxCi0gIC8vIG91dHB1dCBwaXhlbHM6IDE2
LTIzLCAyNC0zMSBpbiBfX20yNTZpIG91dFszMl0KLSAgaWRjdDMyXzEwMjRfMTZ4MzJfcXVhcnRl
cl8zXzQoaW4sIHRlbXApOwotCi0gIC8vIGZpbmFsIHN0YWdlCi0gIGFkZF9zdWJfYnV0dGVyZmx5
X2F2eDIodGVtcCwgb3V0LCAzMik7Ci19Ci0KLXZvaWQgdnB4X2lkY3QzMngzMl8xMDI0X2FkZF9h
dngyKGNvbnN0IHRyYW5fbG93X3QgKmlucHV0LCB1aW50OF90ICpkZXN0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZSkgewotICBfX20yNTZpIGxbMzJdLCByWzMy
XSwgb3V0WzMyXSwgKmluOwotICBpbnQgaTsKLQotICBpbiA9IGw7Ci0KLSAgZm9yIChpID0gMDsg
aSA8IDI7IGkrKykgewotICAgIGlkY3RfbG9hZDE2eDE2KGlucHV0LCBpbiwgMzIpOwotICAgIHRy
YW5zcG9zZV8xNmJpdF8xNngxNl9hdngyKGluLCBpbik7Ci0KLSAgICBpZGN0X2xvYWQxNngxNihp
bnB1dCArIDE2LCBpbiArIDE2LCAzMik7Ci0gICAgdHJhbnNwb3NlXzE2Yml0XzE2eDE2X2F2eDIo
aW4gKyAxNiwgaW4gKyAxNik7Ci0gICAgaWRjdDMyXzEwMjRfMTZ4MzIoaW4sIGluKTsKLQotICAg
IGluID0gcjsKLSAgICBpbnB1dCArPSAzMiA8PCA0OwotICB9Ci0KLSAgZm9yIChpID0gMDsgaSA8
IDMyOyBpICs9IDE2KSB7Ci0gICAgdHJhbnNwb3NlXzE2Yml0XzE2eDE2X2F2eDIobCArIGksIG91
dCk7Ci0gICAgdHJhbnNwb3NlXzE2Yml0XzE2eDE2X2F2eDIociArIGksIG91dCArIDE2KTsKLSAg
ICBpZGN0MzJfMTAyNF8xNngzMihvdXQsIG91dCk7Ci0KLSAgICBzdG9yZV9idWZmZXJfMTZ4MzIo
b3V0LCBkZXN0LCBzdHJpZGUpOwotICAgIGRlc3QgKz0gMTY7Ci0gIH0KLX0KLQotLy8gQ2FzZSB3
aGVuIG9ubHkgdXBwZXItbGVmdCAxNngxNiBoYXMgbm9uLXplcm8gY29lZmYKLXZvaWQgdnB4X2lk
Y3QzMngzMl8xMzVfYWRkX2F2eDIoY29uc3QgdHJhbl9sb3dfdCAqaW5wdXQsIHVpbnQ4X3QgKmRl
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUpIHsKLSAgX19t
MjU2aSBpblszMl0sIGlvWzMyXSwgb3V0WzMyXTsKLSAgaW50IGk7Ci0KLSAgZm9yIChpID0gMTY7
IGkgPCAzMjsgaSsrKSB7Ci0gICAgaW5baV0gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwotICB9
Ci0KLSAgLy8gcm93cwotICBpZGN0X2xvYWQxNngxNihpbnB1dCwgaW4sIDMyKTsKLSAgdHJhbnNw
b3NlXzE2Yml0XzE2eDE2X2F2eDIoaW4sIGluKTsKLSAgaWRjdDMyXzEwMjRfMTZ4MzIoaW4sIGlv
KTsKLQotICAvLyBjb2x1bW5zCi0gIGZvciAoaSA9IDA7IGkgPCAzMjsgaSArPSAxNikgewotICAg
IHRyYW5zcG9zZV8xNmJpdF8xNngxNl9hdngyKGlvICsgaSwgaW4pOwotICAgIGlkY3QzMl8xMDI0
XzE2eDMyKGluLCBvdXQpOwotCi0gICAgc3RvcmVfYnVmZmVyXzE2eDMyKG91dCwgZGVzdCwgc3Ry
aWRlKTsKLSAgICBkZXN0ICs9IDE2OwotICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AveDg2L2ludl90eGZtX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvaW52X3R4
Zm1fc3NlMi5jCmluZGV4IGY0MmIzZGY4NDk1Ny4uNGIwMmRhOTY2NjQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AveDg2L2ludl90eGZtX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AveDg2L2ludl90eGZtX3NzZTIuYwpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgaWFkc3Q4
X3NzZTIoX19tMTI4aSAqY29uc3QgaW4pIHsKICAgY29uc3QgX19tMTI4aSBrX19jb3NwaV9tMjRf
cDA4ID0gcGFpcl9zZXRfZXBpMTYoLWNvc3BpXzI0XzY0LCBjb3NwaV84XzY0KTsKICAgY29uc3Qg
X19tMTI4aSBrX19jb3NwaV9wMTZfbTE2ID0gcGFpcl9zZXRfZXBpMTYoY29zcGlfMTZfNjQsIC1j
b3NwaV8xNl82NCk7CiAgIGNvbnN0IF9fbTEyOGkga19fY29zcGlfcDE2X3AxNiA9IF9tbV9zZXQx
X2VwaTE2KGNvc3BpXzE2XzY0KTsKLSAgY29uc3QgX19tMTI4aSBrWmVybyA9IF9tbV9zZXR6ZXJv
X3NpMTI4KCk7CisgIGNvbnN0IF9fbTEyOGkga1plcm8gPSBfbW1fc2V0MV9lcGkxNigwKTsKICAg
X19tMTI4aSBzWzhdLCB1WzE2XSwgdls4XSwgd1sxNl07CiAKICAgLy8gdHJhbnNwb3NlCkBAIC01
NDYsNyArNTQ2LDcgQEAgdm9pZCB2cHhfaWFkc3QxNl84Y29sX3NzZTIoX19tMTI4aSAqY29uc3Qg
aW4pIHsKICAgY29uc3QgX19tMTI4aSBrX19jb3NwaV9wMTZfcDE2ID0gX21tX3NldDFfZXBpMTYo
Y29zcGlfMTZfNjQpOwogICBjb25zdCBfX20xMjhpIGtfX2Nvc3BpX3AxNl9tMTYgPSBwYWlyX3Nl
dF9lcGkxNihjb3NwaV8xNl82NCwgLWNvc3BpXzE2XzY0KTsKICAgY29uc3QgX19tMTI4aSBrX19j
b3NwaV9tMTZfcDE2ID0gcGFpcl9zZXRfZXBpMTYoLWNvc3BpXzE2XzY0LCBjb3NwaV8xNl82NCk7
Ci0gIGNvbnN0IF9fbTEyOGkga1plcm8gPSBfbW1fc2V0emVyb19zaTEyOCgpOworICBjb25zdCBf
X20xMjhpIGtaZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAKICAgdVswXSA9IF9tbV91bnBhY2ts
b19lcGkxNihpblsxNV0sIGluWzBdKTsKICAgdVsxXSA9IF9tbV91bnBhY2toaV9lcGkxNihpblsx
NV0sIGluWzBdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvbG9vcGZpbHRl
cl9hdngyLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L2xvb3BmaWx0ZXJfYXZ4Mi5jCmluZGV4
IGE1OGZiNjU1Mzk2ZS4uYmUzOTE5OTJhZjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AveDg2L2xvb3BmaWx0ZXJfYXZ4Mi5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvbG9v
cGZpbHRlcl9hdngyLmMKQEAgLTE4LDcgKzE4LDcgQEAgdm9pZCB2cHhfbHBmX2hvcml6b250YWxf
MTZfYXZ4Mih1bnNpZ25lZCBjaGFyICpzLCBpbnQgcGl0Y2gsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmxpbWl0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICp0aHJlc2gpIHsKICAgX19tMTI4
aSBtYXNrLCBoZXYsIGZsYXQsIGZsYXQyOwotICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0
emVyb19zaTEyOCgpOworICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0MV9lcGkxNigwKTsK
ICAgY29uc3QgX19tMTI4aSBvbmUgPSBfbW1fc2V0MV9lcGk4KDEpOwogICBfX20xMjhpIHE3cDcs
IHE2cDYsIHE1cDUsIHE0cDQsIHEzcDMsIHEycDIsIHExcDEsIHEwcDAsIHAwcTAsIHAxcTE7CiAg
IF9fbTEyOGkgYWJzX3AxcDA7CkBAIC0zNzIsNyArMzcyLDcgQEAgdm9pZCB2cHhfbHBmX2hvcml6
b250YWxfMTZfZHVhbF9hdngyKHVuc2lnbmVkIGNoYXIgKnMsIGludCBwaXRjaCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpsaW1pdCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFy
ICp0aHJlc2gpIHsKICAgX19tMTI4aSBtYXNrLCBoZXYsIGZsYXQsIGZsYXQyOwotICBjb25zdCBf
X20xMjhpIHplcm8gPSBfbW1fc2V0emVyb19zaTEyOCgpOworICBjb25zdCBfX20xMjhpIHplcm8g
PSBfbW1fc2V0MV9lcGkxNigwKTsKICAgY29uc3QgX19tMTI4aSBvbmUgPSBfbW1fc2V0MV9lcGk4
KDEpOwogICBfX20xMjhpIHA3LCBwNiwgcDU7CiAgIF9fbTEyOGkgcDQsIHAzLCBwMiwgcDEsIHAw
LCBxMCwgcTEsIHEyLCBxMywgcTQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2
L2xvb3BmaWx0ZXJfc3NlMi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9sb29wZmlsdGVyX3Nz
ZTIuYwppbmRleCA2ZWEzNGNkZDE2YjYuLmI2ZmYyNDgzNGI5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3g4Ni9sb29wZmlsdGVyX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AveDg2L2xvb3BmaWx0ZXJfc3NlMi5jCkBAIC0xMDYsNyArMTA2LDcgQEAgc3RhdGljIElOTElO
RSBfX20xMjhpIGFic19kaWZmKF9fbTEyOGkgYSwgX19tMTI4aSBiKSB7CiAKIHZvaWQgdnB4X2xw
Zl9ob3Jpem9udGFsXzRfc3NlMih1aW50OF90ICpzLCBpbnQgcGl0Y2gsIGNvbnN0IHVpbnQ4X3Qg
KmJsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICps
aW1pdCwgY29uc3QgdWludDhfdCAqdGhyZXNoKSB7Ci0gIGNvbnN0IF9fbTEyOGkgemVybyA9IF9t
bV9zZXR6ZXJvX3NpMTI4KCk7CisgIGNvbnN0IF9fbTEyOGkgemVybyA9IF9tbV9zZXQxX2VwaTE2
KDApOwogICBjb25zdCBfX20xMjhpIGxpbWl0X3YgPQogICAgICAgX21tX3VucGFja2xvX2VwaTY0
KF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKWJsaW1pdCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopbGltaXQpKTsKQEAg
LTE0MCw3ICsxNDAsNyBAQCB2b2lkIHZweF9scGZfaG9yaXpvbnRhbF80X3NzZTIodWludDhfdCAq
cywgaW50IHBpdGNoLCBjb25zdCB1aW50OF90ICpibGltaXQsCiAKIHZvaWQgdnB4X2xwZl92ZXJ0
aWNhbF80X3NzZTIodWludDhfdCAqcywgaW50IHBpdGNoLCBjb25zdCB1aW50OF90ICpibGltaXQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmxpbWl0LCBjb25z
dCB1aW50OF90ICp0aHJlc2gpIHsKLSAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldHplcm9f
c2kxMjgoKTsKKyAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAgIGNv
bnN0IF9fbTEyOGkgbGltaXRfdiA9CiAgICAgICBfbW1fdW5wYWNrbG9fZXBpNjQoX21tX2xvYWRs
X2VwaTY0KChjb25zdCBfX20xMjhpICopYmxpbWl0KSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKilsaW1pdCkpOwpAQCAtMjExLDI4ICsy
MTEsMjggQEAgdm9pZCB2cHhfbHBmX3ZlcnRpY2FsXzRfc3NlMih1aW50OF90ICpzLCBpbnQgcGl0
Y2gsIGNvbnN0IHVpbnQ4X3QgKmJsaW1pdCwKICAgLy8gMDAgMTAgMjAgMzAgMDEgMTEgMjEgMzEg
IDAyIDEyIDIyIDMyIDAzIDEzIDIzIDMzCiAgIHBzMXBzMCA9IF9tbV91bnBhY2tsb19lcGk4KHBz
MXBzMCwgeDApOwogCi0gIHN0b3JldV9pbnQzMihzICsgMCAqIHBpdGNoIC0gMiwgX21tX2N2dHNp
MTI4X3NpMzIocHMxcHMwKSk7CisgIHN0b3JldV91aW50MzIocyArIDAgKiBwaXRjaCAtIDIsIF9t
bV9jdnRzaTEyOF9zaTMyKHBzMXBzMCkpOwogICBwczFwczAgPSBfbW1fc3JsaV9zaTEyOChwczFw
czAsIDQpOwotICBzdG9yZXVfaW50MzIocyArIDEgKiBwaXRjaCAtIDIsIF9tbV9jdnRzaTEyOF9z
aTMyKHBzMXBzMCkpOworICBzdG9yZXVfdWludDMyKHMgKyAxICogcGl0Y2ggLSAyLCBfbW1fY3Z0
c2kxMjhfc2kzMihwczFwczApKTsKICAgcHMxcHMwID0gX21tX3NybGlfc2kxMjgocHMxcHMwLCA0
KTsKLSAgc3RvcmV1X2ludDMyKHMgKyAyICogcGl0Y2ggLSAyLCBfbW1fY3Z0c2kxMjhfc2kzMihw
czFwczApKTsKKyAgc3RvcmV1X3VpbnQzMihzICsgMiAqIHBpdGNoIC0gMiwgX21tX2N2dHNpMTI4
X3NpMzIocHMxcHMwKSk7CiAgIHBzMXBzMCA9IF9tbV9zcmxpX3NpMTI4KHBzMXBzMCwgNCk7Ci0g
IHN0b3JldV9pbnQzMihzICsgMyAqIHBpdGNoIC0gMiwgX21tX2N2dHNpMTI4X3NpMzIocHMxcHMw
KSk7CisgIHN0b3JldV91aW50MzIocyArIDMgKiBwaXRjaCAtIDIsIF9tbV9jdnRzaTEyOF9zaTMy
KHBzMXBzMCkpOwogCi0gIHN0b3JldV9pbnQzMihzICsgNCAqIHBpdGNoIC0gMiwgX21tX2N2dHNp
MTI4X3NpMzIocXMxcXMwKSk7CisgIHN0b3JldV91aW50MzIocyArIDQgKiBwaXRjaCAtIDIsIF9t
bV9jdnRzaTEyOF9zaTMyKHFzMXFzMCkpOwogICBxczFxczAgPSBfbW1fc3JsaV9zaTEyOChxczFx
czAsIDQpOwotICBzdG9yZXVfaW50MzIocyArIDUgKiBwaXRjaCAtIDIsIF9tbV9jdnRzaTEyOF9z
aTMyKHFzMXFzMCkpOworICBzdG9yZXVfdWludDMyKHMgKyA1ICogcGl0Y2ggLSAyLCBfbW1fY3Z0
c2kxMjhfc2kzMihxczFxczApKTsKICAgcXMxcXMwID0gX21tX3NybGlfc2kxMjgocXMxcXMwLCA0
KTsKLSAgc3RvcmV1X2ludDMyKHMgKyA2ICogcGl0Y2ggLSAyLCBfbW1fY3Z0c2kxMjhfc2kzMihx
czFxczApKTsKKyAgc3RvcmV1X3VpbnQzMihzICsgNiAqIHBpdGNoIC0gMiwgX21tX2N2dHNpMTI4
X3NpMzIocXMxcXMwKSk7CiAgIHFzMXFzMCA9IF9tbV9zcmxpX3NpMTI4KHFzMXFzMCwgNCk7Ci0g
IHN0b3JldV9pbnQzMihzICsgNyAqIHBpdGNoIC0gMiwgX21tX2N2dHNpMTI4X3NpMzIocXMxcXMw
KSk7CisgIHN0b3JldV91aW50MzIocyArIDcgKiBwaXRjaCAtIDIsIF9tbV9jdnRzaTEyOF9zaTMy
KHFzMXFzMCkpOwogfQogCiB2b2lkIHZweF9scGZfaG9yaXpvbnRhbF8xNl9zc2UyKHVuc2lnbmVk
IGNoYXIgKnMsIGludCBwaXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdW5zaWduZWQgY2hhciAqYmxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1bnNpZ25lZCBjaGFyICpsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqdGhyZXNoKSB7Ci0gIGNvbnN0IF9fbTEyOGkgemVy
byA9IF9tbV9zZXR6ZXJvX3NpMTI4KCk7CisgIGNvbnN0IF9fbTEyOGkgemVybyA9IF9tbV9zZXQx
X2VwaTE2KDApOwogICBjb25zdCBfX20xMjhpIG9uZSA9IF9tbV9zZXQxX2VwaTgoMSk7CiAgIGNv
bnN0IF9fbTEyOGkgYmxpbWl0X3YgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKWJs
aW1pdCk7CiAgIGNvbnN0IF9fbTEyOGkgbGltaXRfdiA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBf
X20xMjhpICopbGltaXQpOwpAQCAtNTk0LDcgKzU5NCw3IEBAIHZvaWQgdnB4X2xwZl9ob3Jpem9u
dGFsXzE2X2R1YWxfc3NlMih1bnNpZ25lZCBjaGFyICpzLCBpbnQgcGl0Y2gsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqYmxpbWl0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIg
KmxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2ln
bmVkIGNoYXIgKnRocmVzaCkgewotICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0emVyb19z
aTEyOCgpOworICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0MV9lcGkxNigwKTsKICAgY29u
c3QgX19tMTI4aSBvbmUgPSBfbW1fc2V0MV9lcGk4KDEpOwogICBjb25zdCBfX20xMjhpIGJsaW1p
dF92ID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKilibGltaXQpOwogICBjb25zdCBf
X20xMjhpIGxpbWl0X3YgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKWxpbWl0KTsK
QEAgLTkzMiw3ICs5MzIsNyBAQCB2b2lkIHZweF9scGZfaG9yaXpvbnRhbF84X3NzZTIodW5zaWdu
ZWQgY2hhciAqcywgaW50IHBpdGNoLAogICBERUNMQVJFX0FMSUdORUQoMTYsIHVuc2lnbmVkIGNo
YXIsIGZsYXRfb3EyWzE2XSk7CiAgIERFQ0xBUkVfQUxJR05FRCgxNiwgdW5zaWduZWQgY2hhciwg
ZmxhdF9vcTFbMTZdKTsKICAgREVDTEFSRV9BTElHTkVEKDE2LCB1bnNpZ25lZCBjaGFyLCBmbGF0
X29xMFsxNl0pOwotICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0emVyb19zaTEyOCgpOwor
ICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0MV9lcGkxNigwKTsKICAgY29uc3QgX19tMTI4
aSBibGltaXRfdiA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopYmxpbWl0KTsKICAg
Y29uc3QgX19tMTI4aSBsaW1pdF92ID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKils
aW1pdCk7CiAgIGNvbnN0IF9fbTEyOGkgdGhyZXNoX3YgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3Qg
X19tMTI4aSAqKXRocmVzaCk7CkBAIC0xMTUyLDcgKzExNTIsNyBAQCB2b2lkIHZweF9scGZfaG9y
aXpvbnRhbF84X2R1YWxfc3NlMigKICAgREVDTEFSRV9BTElHTkVEKDE2LCB1bnNpZ25lZCBjaGFy
LCBmbGF0X29xMlsxNl0pOwogICBERUNMQVJFX0FMSUdORUQoMTYsIHVuc2lnbmVkIGNoYXIsIGZs
YXRfb3ExWzE2XSk7CiAgIERFQ0xBUkVfQUxJR05FRCgxNiwgdW5zaWduZWQgY2hhciwgZmxhdF9v
cTBbMTZdKTsKLSAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldHplcm9fc2kxMjgoKTsKKyAg
Y29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAgIGNvbnN0IF9fbTEyOGkg
YmxpbWl0ID0KICAgICAgIF9tbV91bnBhY2tsb19lcGk2NChfbW1fbG9hZF9zaTEyOCgoY29uc3Qg
X19tMTI4aSAqKWJsaW1pdDApLAogICAgICAgICAgICAgICAgICAgICAgICAgIF9tbV9sb2FkX3Np
MTI4KChjb25zdCBfX20xMjhpICopYmxpbWl0MSkpOwpAQCAtMTQwNiw3ICsxNDA2LDcgQEAgdm9p
ZCB2cHhfbHBmX2hvcml6b250YWxfNF9kdWFsX3NzZTIodW5zaWduZWQgY2hhciAqcywgaW50IHBp
dGNoLAogICBjb25zdCBfX20xMjhpIHRocmVzaCA9CiAgICAgICBfbW1fdW5wYWNrbG9fZXBpNjQo
X21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKil0aHJlc2gwKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKXRocmVzaDEpKTsKLSAg
Y29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldHplcm9fc2kxMjgoKTsKKyAgY29uc3QgX19tMTI4
aSB6ZXJvID0gX21tX3NldDFfZXBpMTYoMCk7CiAgIF9fbTEyOGkgcDMsIHAyLCBwMSwgcDAsIHEw
LCBxMSwgcTIsIHEzOwogICBfX20xMjhpIG1hc2ssIGhldiwgZmxhdDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9tZW1fc3NlMi5oIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4
Ni9tZW1fc3NlMi5oCmluZGV4IDAzMWYzNjFhNDFkNC4uMjU4YWIzOGU2MDZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L21lbV9zc2UyLmgKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3g4Ni9tZW1fc3NlMi5oCkBAIC0xNiwyNCArMTYsMjQgQEAKIAogI2luY2x1ZGUgIi4vdnB4
X2NvbmZpZy5oIgogCi1zdGF0aWMgSU5MSU5FIHZvaWQgc3RvcmV1X2ludDMyKHZvaWQgKmRzdCwg
aW50MzJfdCB2KSB7CitzdGF0aWMgSU5MSU5FIHZvaWQgc3RvcmV1X3VpbnQzMih2b2lkICpkc3Qs
IHVpbnQzMl90IHYpIHsKICAgbWVtY3B5KGRzdCwgJnYsIHNpemVvZih2KSk7CiB9CiAKLXN0YXRp
YyBJTkxJTkUgaW50MzJfdCBsb2FkdV9pbnQzMihjb25zdCB2b2lkICpzcmMpIHsKLSAgaW50MzJf
dCB2Oworc3RhdGljIElOTElORSB1aW50MzJfdCBsb2FkdV91aW50MzIoY29uc3Qgdm9pZCAqc3Jj
KSB7CisgIHVpbnQzMl90IHY7CiAgIG1lbWNweSgmdiwgc3JjLCBzaXplb2YodikpOwogICByZXR1
cm4gdjsKIH0KIAogc3RhdGljIElOTElORSBfX20xMjhpIGxvYWRfdW5hbGlnbmVkX3UzMihjb25z
dCB2b2lkICphKSB7Ci0gIGludCB2YWw7CisgIHVpbnQzMl90IHZhbDsKICAgbWVtY3B5KCZ2YWws
IGEsIHNpemVvZih2YWwpKTsKICAgcmV0dXJuIF9tbV9jdnRzaTMyX3NpMTI4KHZhbCk7CiB9CiAK
IHN0YXRpYyBJTkxJTkUgdm9pZCBzdG9yZV91bmFsaWduZWRfdTMyKHZvaWQgKmNvbnN0IGEsIGNv
bnN0IF9fbTEyOGkgdikgewotICBjb25zdCBpbnQgdmFsID0gX21tX2N2dHNpMTI4X3NpMzIodik7
CisgIGNvbnN0IHVpbnQzMl90IHZhbCA9IF9tbV9jdnRzaTEyOF9zaTMyKHYpOwogICBtZW1jcHko
YSwgJnZhbCwgc2l6ZW9mKHZhbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AveDg2L3Bvc3RfcHJvY19zc2UyLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3Bvc3RfcHJv
Y19zc2UyLmMKaW5kZXggMTE5ZmE3Y2QxYTAwLi5kMTAyOWFmYzRmZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC94ODYvcG9zdF9wcm9jX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AveDg2L3Bvc3RfcHJvY19zc2UyLmMKQEAgLTM2LDcgKzM2LDcgQEAgdm9pZCB2cHhfbWJw
b3N0X3Byb2NfZG93bl9zc2UyKHVuc2lnbmVkIGNoYXIgKmRzdCwgaW50IHBpdGNoLCBpbnQgcm93
cywKICAgICBfX20xMjhpIHMgPSBfbW1fbG9hZGxfZXBpNjQoKF9fbTEyOGkgKilkc3QpOwogICAg
IF9fbTEyOGkgc3VtLCBzdW1zcV8wLCBzdW1zcV8xOwogICAgIF9fbTEyOGkgdG1wXzAsIHRtcF8x
OwotICAgIF9fbTEyOGkgYmVsb3dfY29udGV4dCA9IF9tbV9zZXR6ZXJvX3NpMTI4KCk7CisgICAg
X19tMTI4aSBiZWxvd19jb250ZXh0OwogCiAgICAgcyA9IF9tbV91bnBhY2tsb19lcGk4KHMsIHpl
cm8pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3F1YW50aXplX2F2eC5j
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9hdnguYwppbmRleCA1ZmY1YWJjMTEw
NjYuLjBhOTFkMzZlYWY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFu
dGl6ZV9hdnguYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3F1YW50aXplX2F2eC5jCkBA
IC0xOSwxOCArMTksMTcgQEAKICNpbmNsdWRlICJ2cHhfZHNwL3g4Ni9iaXRkZXB0aF9jb252ZXJz
aW9uX3NzZTIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmgiCiAjaW5j
bHVkZSAidnB4X2RzcC94ODYvcXVhbnRpemVfc3NzZTMuaCIKLSNpbmNsdWRlICJ2cDkvY29tbW9u
L3ZwOV9zY2FuLmgiCi0jaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2Jsb2NrLmgiCiAKIHZvaWQg
dnB4X3F1YW50aXplX2JfYXZ4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qg
bl9jb2VmZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9j
a19wbGFuZSAqY29uc3QgbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICB0cmFuX2xv
d190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNj
YW5fb3JkZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBza2lwX2Jsb2NrLCBjb25z
dCBpbnQxNl90ICp6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QgKnJvdW5kX3B0ciwgY29uc3QgaW50MTZfdCAqcXVhbnRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCAqcXVhbnRfc2hpZnRfcHRyLCB0cmFuX2xvd190ICpxY29l
ZmZfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIs
IGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDE2X3QgKmVvYl9wdHIsIGNvbnN0IGludDE2X3QgKnNjYW4sCisgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90ICppc2NhbikgewogICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1f
c2V0emVyb19zaTEyOCgpOwogICBjb25zdCBfX20yNTZpIGJpZ196ZXJvID0gX21tMjU2X3NldHpl
cm9fc2kyNTYoKTsKICAgaW50IGluZGV4OwotICBjb25zdCBpbnQxNl90ICppc2NhbiA9IHNjYW5f
b3JkZXItPmlzY2FuOwogCiAgIF9fbTEyOGkgemJpbiwgcm91bmQsIHF1YW50LCBkZXF1YW50LCBz
aGlmdDsKICAgX19tMTI4aSBjb2VmZjAsIGNvZWZmMTsKQEAgLTM5LDkgKzM4LDE0IEBAIHZvaWQg
dnB4X3F1YW50aXplX2JfYXZ4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qg
bl9jb2VmZnMsCiAgIF9fbTEyOGkgYWxsX3plcm87CiAgIF9fbTEyOGkgZW9iID0gemVybywgZW9i
MDsKIAorICAodm9pZClzY2FuOworICAodm9pZClza2lwX2Jsb2NrOworICBhc3NlcnQoIXNraXBf
YmxvY2spOworCiAgICplb2JfcHRyID0gMDsKIAotICBsb2FkX2JfdmFsdWVzKG1iX3BsYW5lLCAm
emJpbiwgJnJvdW5kLCAmcXVhbnQsIGRlcXVhbnRfcHRyLCAmZGVxdWFudCwgJnNoaWZ0KTsKKyAg
bG9hZF9iX3ZhbHVlcyh6YmluX3B0ciwgJnpiaW4sIHJvdW5kX3B0ciwgJnJvdW5kLCBxdWFudF9w
dHIsICZxdWFudCwKKyAgICAgICAgICAgICAgICBkZXF1YW50X3B0ciwgJmRlcXVhbnQsIHF1YW50
X3NoaWZ0X3B0ciwgJnNoaWZ0KTsKIAogICAvLyBEbyBEQyBhbmQgZmlyc3QgMTUgQUMuCiAgIGNv
ZWZmMCA9IGxvYWRfdHJhbl9sb3coY29lZmZfcHRyKTsKQEAgLTkxLDcgKzk1LDggQEAgdm9pZCB2
cHhfcXVhbnRpemVfYl9hdngoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLCBpbnRwdHJfdCBu
X2NvZWZmcywKICAgICBkZXF1YW50ID0gX21tX3VucGFja2hpX2VwaTY0KGRlcXVhbnQsIGRlcXVh
bnQpOwogICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZShxY29lZmYxLCBkZXF1YW50LCBk
cWNvZWZmX3B0ciArIDgpOwogCi0gICAgZW9iID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNv
ZWZmMSwgaXNjYW4sIDAsIHplcm8pOworICAgIGVvYiA9CisgICAgICAgIHNjYW5fZm9yX2VvYigm
cWNvZWZmMCwgJnFjb2VmZjEsIGNtcF9tYXNrMCwgY21wX21hc2sxLCBpc2NhbiwgMCwgemVybyk7
CiAgIH0KIAogICAvLyBBQyBvbmx5IGxvb3AuCkBAIC0xMzEsMjIgKzEzNiwyNiBAQCB2b2lkIHZw
eF9xdWFudGl6ZV9iX2F2eChjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5f
Y29lZmZzLAogICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZShxY29lZmYwLCBkZXF1YW50
LCBkcWNvZWZmX3B0ciArIGluZGV4KTsKICAgICBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmUo
cWNvZWZmMSwgZGVxdWFudCwgZHFjb2VmZl9wdHIgKyBpbmRleCArIDgpOwogCi0gICAgZW9iMCA9
IHNjYW5fZm9yX2VvYigmcWNvZWZmMCwgJnFjb2VmZjEsIGlzY2FuLCBpbmRleCwgemVybyk7Cisg
ICAgZW9iMCA9IHNjYW5fZm9yX2VvYigmcWNvZWZmMCwgJnFjb2VmZjEsIGNtcF9tYXNrMCwgY21w
X21hc2sxLCBpc2NhbiwgaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICB6ZXJvKTsKICAg
ICBlb2IgPSBfbW1fbWF4X2VwaTE2KGVvYiwgZW9iMCk7CiAgIH0KIAogICAqZW9iX3B0ciA9IGFj
Y3VtdWxhdGVfZW9iKGVvYik7CiB9CiAKLXZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfYXZ4KGNv
bnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9wbGFuZSwKK3ZvaWQgdnB4
X3F1YW50aXplX2JfMzJ4MzJfYXZ4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRy
X3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9j
aywgY29uc3QgaW50MTZfdCAqemJpbl9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90ICpyb3VuZF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBpbnQxNl90ICpxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cmFuX2xvd190ICpxY29lZmZfcHRyLCB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRy
LCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0IHNjYW5fb3JkZXIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnNjYW4sIGNvbnN0IGludDE2X3QgKmlzY2FuKSB7
CiAgIGNvbnN0IF9fbTEyOGkgemVybyA9IF9tbV9zZXR6ZXJvX3NpMTI4KCk7CisgIGNvbnN0IF9f
bTEyOGkgb25lID0gX21tX3NldDFfZXBpMTYoMSk7CiAgIGNvbnN0IF9fbTI1NmkgYmlnX3plcm8g
PSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwogICBpbnQgaW5kZXg7Ci0gIGNvbnN0IGludDE2X3Qg
KmlzY2FuID0gc2Nhbl9vcmRlci0+aXNjYW47CiAKICAgX19tMTI4aSB6YmluLCByb3VuZCwgcXVh
bnQsIGRlcXVhbnQsIHNoaWZ0OwogICBfX20xMjhpIGNvZWZmMCwgY29lZmYxOwpAQCAtMTU1LDgg
KzE2NCwyOSBAQCB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX2F2eChjb25zdCB0cmFuX2xvd190
ICpjb2VmZl9wdHIsCiAgIF9fbTEyOGkgYWxsX3plcm87CiAgIF9fbTEyOGkgZW9iID0gemVybywg
ZW9iMDsKIAotICBsb2FkX2JfdmFsdWVzMzJ4MzIobWJfcGxhbmUsICZ6YmluLCAmcm91bmQsICZx
dWFudCwgZGVxdWFudF9wdHIsICZkZXF1YW50LAotICAgICAgICAgICAgICAgICAgICAgJnNoaWZ0
KTsKKyAgKHZvaWQpc2NhbjsKKyAgKHZvaWQpbl9jb2VmZnM7CisgICh2b2lkKXNraXBfYmxvY2s7
CisgIGFzc2VydCghc2tpcF9ibG9jayk7CisKKyAgLy8gU2V0dXAgZ2xvYmFsIHZhbHVlcy4KKyAg
Ly8gVGhlIDMyeDMyIGhhbHZlcyB6YmluIGFuZCByb3VuZC4KKyAgemJpbiA9IF9tbV9sb2FkX3Np
MTI4KChjb25zdCBfX20xMjhpICopemJpbl9wdHIpOworICAvLyBTaGlmdCB3aXRoIHJvdW5kaW5n
LgorICB6YmluID0gX21tX2FkZF9lcGkxNih6YmluLCBvbmUpOworICB6YmluID0gX21tX3NybGlf
ZXBpMTYoemJpbiwgMSk7CisgIC8vIHg4NiBoYXMgbm8gImdyZWF0ZXIgKm9yIGVxdWFsKiIgY29t
cGFyaXNvbi4gU3VidHJhY3QgMSBmcm9tIHpiaW4gc28KKyAgLy8gaXQgaXMgYSBzdHJpY3QgImdy
ZWF0ZXIiIGNvbXBhcmlzb24uCisgIHpiaW4gPSBfbW1fc3ViX2VwaTE2KHpiaW4sIG9uZSk7CisK
KyAgcm91bmQgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKXJvdW5kX3B0cik7Cisg
IHJvdW5kID0gX21tX2FkZF9lcGkxNihyb3VuZCwgb25lKTsKKyAgcm91bmQgPSBfbW1fc3JsaV9l
cGkxNihyb3VuZCwgMSk7CisKKyAgcXVhbnQgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4
aSAqKXF1YW50X3B0cik7CisgIGRlcXVhbnQgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4
aSAqKWRlcXVhbnRfcHRyKTsKKyAgc2hpZnQgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4
aSAqKXF1YW50X3NoaWZ0X3B0cik7CisgIHNoaWZ0ID0gX21tX3NsbGlfZXBpMTYoc2hpZnQsIDEp
OwogCiAgIC8vIERvIERDIGFuZCBmaXJzdCAxNSBBQy4KICAgY29lZmYwID0gbG9hZF90cmFuX2xv
dyhjb2VmZl9wdHIpOwpAQCAtMjA0LDcgKzIzNCw4IEBAIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4
MzJfYXZ4KGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwKICAgICBkZXF1YW50ID0gX21tX3Vu
cGFja2hpX2VwaTY0KGRlcXVhbnQsIGRlcXVhbnQpOwogICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2Fu
ZF9zdG9yZV8zMngzMihxY29lZmYxLCBkZXF1YW50LCB6ZXJvLCBkcWNvZWZmX3B0ciArIDgpOwog
Ci0gICAgZW9iID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgaXNjYW4sIDAsIHpl
cm8pOworICAgIGVvYiA9CisgICAgICAgIHNjYW5fZm9yX2VvYigmcWNvZWZmMCwgJnFjb2VmZjEs
IGNtcF9tYXNrMCwgY21wX21hc2sxLCBpc2NhbiwgMCwgemVybyk7CiAgIH0KIAogICAvLyBBQyBv
bmx5IGxvb3AuCkBAIC0yNDYsNyArMjc3LDggQEAgdm9pZCB2cHhfcXVhbnRpemVfYl8zMngzMl9h
dngoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLAogICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2Fu
ZF9zdG9yZV8zMngzMihxY29lZmYxLCBkZXF1YW50LCB6ZXJvLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkcWNvZWZmX3B0ciArIGluZGV4ICsgOCk7CiAKLSAgICBlb2Iw
ID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgaXNjYW4sIGluZGV4LCB6ZXJvKTsK
KyAgICBlb2IwID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgY21wX21hc2swLCBj
bXBfbWFzazEsIGlzY2FuLCBpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHplcm8pOwog
ICAgIGVvYiA9IF9tbV9tYXhfZXBpMTYoZW9iLCBlb2IwKTsKICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9kc3AveDg2L3F1YW50aXplX2F2eDIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC94ODYvcXVhbnRpemVfYXZ4Mi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDg3
MmY2YmNhZGQuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3F1YW50
aXplX2F2eDIuYworKysgL2Rldi9udWxsCkBAIC0xLDI5MCArMCwwIEBACi0vKgotICogIENvcHly
aWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE
LXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
IGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVs
bGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZp
bGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJl
IGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVl
LgotICovCi0KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxpbW1pbnRyaW4uaD4KLQot
I2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgiCi0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgi
Ci0jaW5jbHVkZSAidnA5L2NvbW1vbi92cDlfc2Nhbi5oIgotI2luY2x1ZGUgInZwOS9lbmNvZGVy
L3ZwOV9ibG9jay5oIgotCi1zdGF0aWMgVlBYX0ZPUkNFX0lOTElORSB2b2lkIGxvYWRfYl92YWx1
ZXNfYXZ4MigKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqbWJfcGxhbmUsIF9f
bTI1NmkgKnpiaW4sIF9fbTI1NmkgKnJvdW5kLAotICAgIF9fbTI1NmkgKnF1YW50LCBjb25zdCBp
bnQxNl90ICpkZXF1YW50X3B0ciwgX19tMjU2aSAqZGVxdWFudCwKLSAgICBfX20yNTZpICpzaGlm
dCwgaW50IGxvZ19zY2FsZSkgewotICAqemJpbiA9Ci0gICAgICBfbW0yNTZfY2FzdHNpMTI4X3Np
MjU2KF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopbWJfcGxhbmUtPnpiaW4pKTsKLSAg
KnpiaW4gPSBfbW0yNTZfcGVybXV0ZTR4NjRfZXBpNjQoKnpiaW4sIDB4NTQpOwotICBpZiAobG9n
X3NjYWxlID4gMCkgewotICAgIGNvbnN0IF9fbTI1Nmkgcm5kID0gX21tMjU2X3NldDFfZXBpMTYo
KGludDE2X3QpKDEgPDwgKGxvZ19zY2FsZSAtIDEpKSk7Ci0gICAgKnpiaW4gPSBfbW0yNTZfYWRk
X2VwaTE2KCp6YmluLCBybmQpOwotICAgICp6YmluID0gX21tMjU2X3NyYWlfZXBpMTYoKnpiaW4s
IGxvZ19zY2FsZSk7Ci0gIH0KLSAgLy8gU3VidHJhY3RpbmcgMSBoZXJlIGVsaW1pbmF0ZXMgYSBf
bW0yNTZfY21wZXFfZXBpMTYoKSBpbnN0cnVjdGlvbiB3aGVuCi0gIC8vIGNhbGN1bGF0aW5nIHRo
ZSB6YmluIG1hc2suIChTZWUgcXVhbnRpemVfYl9sb2dzY2FsZXswLDEsMn1fMTYpCi0gICp6Ymlu
ID0gX21tMjU2X3N1Yl9lcGkxNigqemJpbiwgX21tMjU2X3NldDFfZXBpMTYoMSkpOwotCi0gICpy
b3VuZCA9Ci0gICAgICBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KF9tbV9sb2FkX3NpMTI4KChjb25z
dCBfX20xMjhpICopbWJfcGxhbmUtPnJvdW5kKSk7Ci0gICpyb3VuZCA9IF9tbTI1Nl9wZXJtdXRl
NHg2NF9lcGk2NCgqcm91bmQsIDB4NTQpOwotICBpZiAobG9nX3NjYWxlID4gMCkgewotICAgIGNv
bnN0IF9fbTI1Nmkgcm5kID0gX21tMjU2X3NldDFfZXBpMTYoKGludDE2X3QpKDEgPDwgKGxvZ19z
Y2FsZSAtIDEpKSk7Ci0gICAgKnJvdW5kID0gX21tMjU2X2FkZF9lcGkxNigqcm91bmQsIHJuZCk7
Ci0gICAgKnJvdW5kID0gX21tMjU2X3NyYWlfZXBpMTYoKnJvdW5kLCBsb2dfc2NhbGUpOwotICB9
Ci0KLSAgKnF1YW50ID0KLSAgICAgIF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoX21tX2xvYWRfc2kx
MjgoKGNvbnN0IF9fbTEyOGkgKiltYl9wbGFuZS0+cXVhbnQpKTsKLSAgKnF1YW50ID0gX21tMjU2
X3Blcm11dGU0eDY0X2VwaTY0KCpxdWFudCwgMHg1NCk7Ci0gICpkZXF1YW50ID0KLSAgICAgIF9t
bTI1Nl9jYXN0c2kxMjhfc2kyNTYoX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKilkZXF1
YW50X3B0cikpOwotICAqZGVxdWFudCA9IF9tbTI1Nl9wZXJtdXRlNHg2NF9lcGk2NCgqZGVxdWFu
dCwgMHg1NCk7Ci0gICpzaGlmdCA9IF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoCi0gICAgICBfbW1f
bG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKW1iX3BsYW5lLT5xdWFudF9zaGlmdCkpOwotICAq
c2hpZnQgPSBfbW0yNTZfcGVybXV0ZTR4NjRfZXBpNjQoKnNoaWZ0LCAweDU0KTsKLX0KLQotc3Rh
dGljIFZQWF9GT1JDRV9JTkxJTkUgX19tMjU2aQotbG9hZF9jb2VmZmljaWVudHNfYXZ4Mihjb25z
dCB0cmFuX2xvd190ICpjb2VmZl9wdHIpIHsKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAot
ICAvLyB0eXBlZGVmIGludDMyX3QgdHJhbl9sb3dfdDsKLSAgY29uc3QgX19tMjU2aSBjb2VmZjEg
PSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKiljb2VmZl9wdHIpOwotICBjb25z
dCBfX20yNTZpIGNvZWZmMiA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShj
b2VmZl9wdHIgKyA4KSk7Ci0gIHJldHVybiBfbW0yNTZfcGFja3NfZXBpMzIoY29lZmYxLCBjb2Vm
ZjIpOwotI2Vsc2UKLSAgLy8gdHlwZWRlZiBpbnQxNl90IHRyYW5fbG93X3Q7Ci0gIHJldHVybiBf
bW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKiljb2VmZl9wdHIpOwotI2VuZGlmCi19
Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIHZvaWQgc3RvcmVfY29lZmZpY2llbnRzX2F2eDIo
X19tMjU2aSBjb2VmZl92YWxzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpjb2VmZl9wdHIpIHsKLSNpZiBDT05GSUdfVlA5
X0hJR0hCSVRERVBUSAotICAvLyB0eXBlZGVmIGludDMyX3QgdHJhbl9sb3dfdDsKLSAgX19tMjU2
aSBjb2VmZl9zaWduID0gX21tMjU2X3NyYWlfZXBpMTYoY29lZmZfdmFscywgMTUpOwotICBfX20y
NTZpIGNvZWZmX3ZhbHNfbG8gPSBfbW0yNTZfdW5wYWNrbG9fZXBpMTYoY29lZmZfdmFscywgY29l
ZmZfc2lnbik7Ci0gIF9fbTI1NmkgY29lZmZfdmFsc19oaSA9IF9tbTI1Nl91bnBhY2toaV9lcGkx
Nihjb2VmZl92YWxzLCBjb2VmZl9zaWduKTsKLSAgX21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2
aSAqKWNvZWZmX3B0ciwgY29lZmZfdmFsc19sbyk7Ci0gIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9f
bTI1NmkgKikoY29lZmZfcHRyICsgOCksIGNvZWZmX3ZhbHNfaGkpOwotI2Vsc2UKLSAgLy8gdHlw
ZWRlZiBpbnQxNl90IHRyYW5fbG93X3Q7Ci0gIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1Nmkg
Kiljb2VmZl9wdHIsIGNvZWZmX3ZhbHMpOwotI2VuZGlmCi19Ci0KLXN0YXRpYyBWUFhfRk9SQ0Vf
SU5MSU5FIF9fbTI1NmkKLXF1YW50aXplX2JfMTYoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRy
LCB0cmFuX2xvd190ICpxY29lZmZfcHRyLAotICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNv
ZWZmX3B0ciwgX19tMjU2aSAqdl9xdWFudCwgX19tMjU2aSAqdl9kZXF1YW50LAotICAgICAgICAg
ICAgICBfX20yNTZpICp2X3JvdW5kLCBfX20yNTZpICp2X3piaW4sIF9fbTI1NmkgKnZfcXVhbnRf
c2hpZnQpIHsKLSAgY29uc3QgX19tMjU2aSB2X2NvZWZmID0gbG9hZF9jb2VmZmljaWVudHNfYXZ4
Mihjb2VmZl9wdHIpOwotICBjb25zdCBfX20yNTZpIHZfYWJzX2NvZWZmID0gX21tMjU2X2Fic19l
cGkxNih2X2NvZWZmKTsKLSAgY29uc3QgX19tMjU2aSB2X3piaW5fbWFzayA9IF9tbTI1Nl9jbXBn
dF9lcGkxNih2X2Fic19jb2VmZiwgKnZfemJpbik7Ci0KLSAgaWYgKF9tbTI1Nl9tb3ZlbWFza19l
cGk4KHZfemJpbl9tYXNrKSA9PSAwKSB7Ci0gICAgX21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2
aSAqKXFjb2VmZl9wdHIsIF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCkpOwotICAgIF9tbTI1Nl9zdG9y
ZXVfc2kyNTYoKF9fbTI1NmkgKilkcWNvZWZmX3B0ciwgX21tMjU2X3NldHplcm9fc2kyNTYoKSk7
Ci0jaWYgQ09ORklHX1ZQOV9ISUdIQklUREVQVEgKLSAgICBfbW0yNTZfc3RvcmVfc2kyNTYoKF9f
bTI1NmkgKikocWNvZWZmX3B0ciArIDgpLCBfbW0yNTZfc2V0emVyb19zaTI1NigpKTsKLSAgICBf
bW0yNTZfc3RvcmVfc2kyNTYoKF9fbTI1NmkgKikoZHFjb2VmZl9wdHIgKyA4KSwgX21tMjU2X3Nl
dHplcm9fc2kyNTYoKSk7Ci0jZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAg
cmV0dXJuIF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gIH0KLSAgewotICAgIC8vIHRtcCA9IHZf
emJpbl9tYXNrID8gKGludDY0X3QpYWJzX2NvZWZmICsgbG9nX3NjYWxlZF9yb3VuZCA6IDAKLSAg
ICBjb25zdCBfX20yNTZpIHZfdG1wX3JuZCA9Ci0gICAgICAgIF9tbTI1Nl9hbmRfc2kyNTYoX21t
MjU2X2FkZHNfZXBpMTYodl9hYnNfY29lZmYsICp2X3JvdW5kKSwgdl96YmluX21hc2spOwotCi0g
ICAgY29uc3QgX19tMjU2aSB2X3RtcDMyX2EgPSBfbW0yNTZfbXVsaGlfZXBpMTYodl90bXBfcm5k
LCAqdl9xdWFudCk7Ci0gICAgY29uc3QgX19tMjU2aSB2X3RtcDMyX2IgPSBfbW0yNTZfYWRkX2Vw
aTE2KHZfdG1wMzJfYSwgdl90bXBfcm5kKTsKLSAgICBjb25zdCBfX20yNTZpIHZfdG1wMzIgPSBf
bW0yNTZfbXVsaGlfZXBpMTYodl90bXAzMl9iLCAqdl9xdWFudF9zaGlmdCk7Ci0gICAgY29uc3Qg
X19tMjU2aSB2X256X21hc2sgPQotICAgICAgICBfbW0yNTZfY21wZ3RfZXBpMTYodl90bXAzMiwg
X21tMjU2X3NldHplcm9fc2kyNTYoKSk7Ci0gICAgY29uc3QgX19tMjU2aSB2X3Fjb2VmZiA9IF9t
bTI1Nl9zaWduX2VwaTE2KHZfdG1wMzIsIHZfY29lZmYpOwotI2lmIENPTkZJR19WUDlfSElHSEJJ
VERFUFRICi0gICAgY29uc3QgX19tMjU2aSBsb3cgPSBfbW0yNTZfbXVsbG9fZXBpMTYodl9xY29l
ZmYsICp2X2RlcXVhbnQpOwotICAgIGNvbnN0IF9fbTI1NmkgaGlnaCA9IF9tbTI1Nl9tdWxoaV9l
cGkxNih2X3Fjb2VmZiwgKnZfZGVxdWFudCk7Ci0KLSAgICBjb25zdCBfX20yNTZpIHZfZHFjb2Vm
Zl9sbyA9IF9tbTI1Nl91bnBhY2tsb19lcGkxNihsb3csIGhpZ2gpOwotICAgIGNvbnN0IF9fbTI1
Nmkgdl9kcWNvZWZmX2hpID0gX21tMjU2X3VucGFja2hpX2VwaTE2KGxvdywgaGlnaCk7Ci0jZWxz
ZQotICAgIGNvbnN0IF9fbTI1Nmkgdl9kcWNvZWZmID0gX21tMjU2X211bGxvX2VwaTE2KHZfcWNv
ZWZmLCAqdl9kZXF1YW50KTsKLSNlbmRpZgotCi0gICAgc3RvcmVfY29lZmZpY2llbnRzX2F2eDIo
dl9xY29lZmYsIHFjb2VmZl9wdHIpOwotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi0gICAg
X21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2aSAqKShkcWNvZWZmX3B0ciksIHZfZHFjb2VmZl9s
byk7Ci0gICAgX21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2aSAqKShkcWNvZWZmX3B0ciArIDgp
LCB2X2RxY29lZmZfaGkpOwotI2Vsc2UKLSAgICBzdG9yZV9jb2VmZmljaWVudHNfYXZ4Mih2X2Rx
Y29lZmYsIGRxY29lZmZfcHRyKTsKLSNlbmRpZgotICAgIHJldHVybiB2X256X21hc2s7Ci0gIH0K
LX0KLQotc3RhdGljIFZQWF9GT1JDRV9JTkxJTkUgX19tMjU2aSBnZXRfbWF4X2xhbmVfZW9iKGNv
bnN0IGludDE2X3QgKmlzY2FuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF9fbTI1Nmkgdl9lb2JtYXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX19tMjU2aSB2X21hc2spIHsKLSNpZiBDT05GSUdfVlA5
X0hJR0hCSVRERVBUSAotICBjb25zdCBfX20yNTZpIHZfaXNjYW4gPSBfbW0yNTZfcGVybXV0ZTR4
NjRfZXBpNjQoCi0gICAgICBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilpc2Nh
biksIDB4RDgpOwotI2Vsc2UKLSAgY29uc3QgX19tMjU2aSB2X2lzY2FuID0gX21tMjU2X2xvYWR1
X3NpMjU2KChjb25zdCBfX20yNTZpICopaXNjYW4pOwotI2VuZGlmCi0gIGNvbnN0IF9fbTI1Nmkg
dl9uel9pc2NhbiA9IF9tbTI1Nl9hbmRfc2kyNTYodl9pc2Nhbiwgdl9tYXNrKTsKLSAgcmV0dXJu
IF9tbTI1Nl9tYXhfZXBpMTYodl9lb2JtYXgsIHZfbnpfaXNjYW4pOwotfQotCi1zdGF0aWMgVlBY
X0ZPUkNFX0lOTElORSBpbnQxNl90IGFjY3VtdWxhdGVfZW9iMjU2KF9fbTI1NmkgZW9iMjU2KSB7
Ci0gIGNvbnN0IF9fbTEyOGkgZW9iX2xvID0gX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChlb2IyNTYp
OwotICBjb25zdCBfX20xMjhpIGVvYl9oaSA9IF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1Nihlb2Iy
NTYsIDEpOwotICBfX20xMjhpIGVvYiA9IF9tbV9tYXhfZXBpMTYoZW9iX2xvLCBlb2JfaGkpOwot
ICBfX20xMjhpIGVvYl9zaHVmZmxlZCA9IF9tbV9zaHVmZmxlX2VwaTMyKGVvYiwgMHhlKTsKLSAg
ZW9iID0gX21tX21heF9lcGkxNihlb2IsIGVvYl9zaHVmZmxlZCk7Ci0gIGVvYl9zaHVmZmxlZCA9
IF9tbV9zaHVmZmxlbG9fZXBpMTYoZW9iLCAweGUpOwotICBlb2IgPSBfbW1fbWF4X2VwaTE2KGVv
YiwgZW9iX3NodWZmbGVkKTsKLSAgZW9iX3NodWZmbGVkID0gX21tX3NodWZmbGVsb19lcGkxNihl
b2IsIDB4MSk7Ci0gIGVvYiA9IF9tbV9tYXhfZXBpMTYoZW9iLCBlb2Jfc2h1ZmZsZWQpOwotICBy
ZXR1cm4gX21tX2V4dHJhY3RfZXBpMTYoZW9iLCAxKTsKLX0KLQotdm9pZCB2cHhfcXVhbnRpemVf
Yl9hdngyKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNv
bnN0IG1iX3BsYW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKnFjb2Vm
Zl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVy
KSB7Ci0gIF9fbTI1Nmkgdl96YmluLCB2X3JvdW5kLCB2X3F1YW50LCB2X2RlcXVhbnQsIHZfcXVh
bnRfc2hpZnQsIHZfbnpfbWFzazsKLSAgX19tMjU2aSB2X2VvYm1heCA9IF9tbTI1Nl9zZXR6ZXJv
X3NpMjU2KCk7Ci0gIGludHB0cl90IGNvdW50OwotICBjb25zdCBpbnQxNl90ICppc2NhbiA9IHNj
YW5fb3JkZXItPmlzY2FuOwotCi0gIGxvYWRfYl92YWx1ZXNfYXZ4MihtYl9wbGFuZSwgJnZfemJp
biwgJnZfcm91bmQsICZ2X3F1YW50LCBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICZ2X2RlcXVhbnQsICZ2X3F1YW50X3NoaWZ0LCAwKTsKLSAgLy8gRG8gREMgYW5kIGZpcnN0IDE1
IEFDLgotICB2X256X21hc2sgPSBxdWFudGl6ZV9iXzE2KGNvZWZmX3B0ciwgcWNvZWZmX3B0ciwg
ZHFjb2VmZl9wdHIsICZ2X3F1YW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2X2Rl
cXVhbnQsICZ2X3JvdW5kLCAmdl96YmluLCAmdl9xdWFudF9zaGlmdCk7Ci0KLSAgdl9lb2JtYXgg
PSBnZXRfbWF4X2xhbmVfZW9iKGlzY2FuLCB2X2VvYm1heCwgdl9uel9tYXNrKTsKLQotICB2X3Jv
dW5kID0gX21tMjU2X3VucGFja2hpX2VwaTY0KHZfcm91bmQsIHZfcm91bmQpOwotICB2X3F1YW50
ID0gX21tMjU2X3VucGFja2hpX2VwaTY0KHZfcXVhbnQsIHZfcXVhbnQpOwotICB2X2RlcXVhbnQg
PSBfbW0yNTZfdW5wYWNraGlfZXBpNjQodl9kZXF1YW50LCB2X2RlcXVhbnQpOwotICB2X3F1YW50
X3NoaWZ0ID0gX21tMjU2X3VucGFja2hpX2VwaTY0KHZfcXVhbnRfc2hpZnQsIHZfcXVhbnRfc2hp
ZnQpOwotICB2X3piaW4gPSBfbW0yNTZfdW5wYWNraGlfZXBpNjQodl96YmluLCB2X3piaW4pOwot
Ci0gIGZvciAoY291bnQgPSBuX2NvZWZmcyAtIDE2OyBjb3VudCA+IDA7IGNvdW50IC09IDE2KSB7
Ci0gICAgY29lZmZfcHRyICs9IDE2OwotICAgIHFjb2VmZl9wdHIgKz0gMTY7Ci0gICAgZHFjb2Vm
Zl9wdHIgKz0gMTY7Ci0gICAgaXNjYW4gKz0gMTY7Ci0gICAgdl9uel9tYXNrID0gcXVhbnRpemVf
Yl8xNihjb2VmZl9wdHIsIHFjb2VmZl9wdHIsIGRxY29lZmZfcHRyLCAmdl9xdWFudCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2X2RlcXVhbnQsICZ2X3JvdW5kLCAmdl96YmluLCAm
dl9xdWFudF9zaGlmdCk7Ci0KLSAgICB2X2VvYm1heCA9IGdldF9tYXhfbGFuZV9lb2IoaXNjYW4s
IHZfZW9ibWF4LCB2X256X21hc2spOwotICB9Ci0KLSAgKmVvYl9wdHIgPSBhY2N1bXVsYXRlX2Vv
YjI1Nih2X2VvYm1heCk7Ci19Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5FIF9fbTI1NmkgcXVh
bnRpemVfYl8zMngzMl8xNigKLSAgICBjb25zdCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIHRyYW5f
bG93X3QgKnFjb2VmZl9wdHIsCi0gICAgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsIGNvbnN0IGlu
dDE2X3QgKmlzY2FuLCBfX20yNTZpICp2X3F1YW50LAotICAgIF9fbTI1NmkgKnZfZGVxdWFudCwg
X19tMjU2aSAqdl9yb3VuZCwgX19tMjU2aSAqdl96YmluLAotICAgIF9fbTI1NmkgKnZfcXVhbnRf
c2hpZnQsIF9fbTI1NmkgKnZfZW9ibWF4KSB7Ci0gIGNvbnN0IF9fbTI1Nmkgdl9jb2VmZiA9IGxv
YWRfY29lZmZpY2llbnRzX2F2eDIoY29lZmZfcHRyKTsKLSAgY29uc3QgX19tMjU2aSB2X2Fic19j
b2VmZiA9IF9tbTI1Nl9hYnNfZXBpMTYodl9jb2VmZik7Ci0gIGNvbnN0IF9fbTI1Nmkgdl96Ymlu
X21hc2sgPSBfbW0yNTZfY21wZ3RfZXBpMTYodl9hYnNfY29lZmYsICp2X3piaW4pOwotCi0gIGlm
IChfbW0yNTZfbW92ZW1hc2tfZXBpOCh2X3piaW5fbWFzaykgPT0gMCkgewotICAgIF9tbTI1Nl9z
dG9yZV9zaTI1NigoX19tMjU2aSAqKXFjb2VmZl9wdHIsIF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCkp
OwotICAgIF9tbTI1Nl9zdG9yZV9zaTI1NigoX19tMjU2aSAqKWRxY29lZmZfcHRyLCBfbW0yNTZf
c2V0emVyb19zaTI1NigpKTsKLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAgIF9tbTI1
Nl9zdG9yZV9zaTI1NigoX19tMjU2aSAqKShxY29lZmZfcHRyICsgOCksIF9tbTI1Nl9zZXR6ZXJv
X3NpMjU2KCkpOwotICAgIF9tbTI1Nl9zdG9yZV9zaTI1NigoX19tMjU2aSAqKShkcWNvZWZmX3B0
ciArIDgpLCBfbW0yNTZfc2V0emVyb19zaTI1NigpKTsKLSNlbmRpZgotICAgIHJldHVybiAqdl9l
b2JtYXg7Ci0gIH0KLSAgewotICAgIC8vIHRtcCA9IHZfemJpbl9tYXNrID8gKGludDY0X3QpYWJz
X2NvZWZmICsgcm91bmQgOiAwCi0gICAgY29uc3QgX19tMjU2aSB2X3RtcF9ybmQgPQotICAgICAg
ICBfbW0yNTZfYW5kX3NpMjU2KF9tbTI1Nl9hZGRzX2VwaTE2KHZfYWJzX2NvZWZmLCAqdl9yb3Vu
ZCksIHZfemJpbl9tYXNrKTsKLSAgICAvLyAgdG1wMzIgPSAoaW50KSgoKCgodG1wICogcXVhbnRf
cHRyW3JjICE9IDBdKSA+PiAxNikgKyB0bXApICoKLSAgICAvLyAgICAgICAgICAgICAgICAgcXVh
bnRfc2hpZnRfcHRyW3JjICE9IDBdKSA+PiAxNSk7Ci0gICAgY29uc3QgX19tMjU2aSB2X3RtcDMy
X2EgPSBfbW0yNTZfbXVsaGlfZXBpMTYodl90bXBfcm5kLCAqdl9xdWFudCk7Ci0gICAgY29uc3Qg
X19tMjU2aSB2X3RtcDMyX2IgPSBfbW0yNTZfYWRkX2VwaTE2KHZfdG1wMzJfYSwgdl90bXBfcm5k
KTsKLSAgICBjb25zdCBfX20yNTZpIHZfdG1wMzJfaGkgPQotICAgICAgICBfbW0yNTZfc2xsaV9l
cGkxNihfbW0yNTZfbXVsaGlfZXBpMTYodl90bXAzMl9iLCAqdl9xdWFudF9zaGlmdCksIDEpOwot
ICAgIGNvbnN0IF9fbTI1Nmkgdl90bXAzMl9sbyA9Ci0gICAgICAgIF9tbTI1Nl9zcmxpX2VwaTE2
KF9tbTI1Nl9tdWxsb19lcGkxNih2X3RtcDMyX2IsICp2X3F1YW50X3NoaWZ0KSwgMTUpOwotICAg
IGNvbnN0IF9fbTI1Nmkgdl90bXAzMiA9IF9tbTI1Nl9vcl9zaTI1Nih2X3RtcDMyX2hpLCB2X3Rt
cDMyX2xvKTsKLSAgICBjb25zdCBfX20yNTZpIHZfcWNvZWZmID0gX21tMjU2X3NpZ25fZXBpMTYo
dl90bXAzMiwgdl9jb2VmZik7Ci0gICAgY29uc3QgX19tMjU2aSB2X3NpZ25fbG8gPQotICAgICAg
ICBfbW0yNTZfdW5wYWNrbG9fZXBpMTYoX21tMjU2X3NldHplcm9fc2kyNTYoKSwgdl9jb2VmZik7
Ci0gICAgY29uc3QgX19tMjU2aSB2X3NpZ25faGkgPQotICAgICAgICBfbW0yNTZfdW5wYWNraGlf
ZXBpMTYoX21tMjU2X3NldHplcm9fc2kyNTYoKSwgdl9jb2VmZik7Ci0gICAgY29uc3QgX19tMjU2
aSBsb3cgPSBfbW0yNTZfbXVsbG9fZXBpMTYodl90bXAzMiwgKnZfZGVxdWFudCk7Ci0gICAgY29u
c3QgX19tMjU2aSBoaWdoID0gX21tMjU2X211bGhpX2VwaTE2KHZfdG1wMzIsICp2X2RlcXVhbnQp
OwotICAgIGNvbnN0IF9fbTI1Nmkgdl9kcWNvZWZmX2xvID0gX21tMjU2X3NpZ25fZXBpMzIoCi0g
ICAgICAgIF9tbTI1Nl9zcmxpX2VwaTMyKF9tbTI1Nl91bnBhY2tsb19lcGkxNihsb3csIGhpZ2gp
LCAxKSwgdl9zaWduX2xvKTsKLSAgICBjb25zdCBfX20yNTZpIHZfZHFjb2VmZl9oaSA9IF9tbTI1
Nl9zaWduX2VwaTMyKAotICAgICAgICBfbW0yNTZfc3JsaV9lcGkzMihfbW0yNTZfdW5wYWNraGlf
ZXBpMTYobG93LCBoaWdoKSwgMSksIHZfc2lnbl9oaSk7Ci0gICAgY29uc3QgX19tMjU2aSB2X256
X21hc2sgPQotICAgICAgICBfbW0yNTZfY21wZ3RfZXBpMTYodl90bXAzMiwgX21tMjU2X3NldHpl
cm9fc2kyNTYoKSk7Ci0KLSAgICBzdG9yZV9jb2VmZmljaWVudHNfYXZ4Mih2X3Fjb2VmZiwgcWNv
ZWZmX3B0cik7Ci0KLSNpZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSAotICAgIF9tbTI1Nl9zdG9y
ZXVfc2kyNTYoKF9fbTI1NmkgKikoZHFjb2VmZl9wdHIpLCB2X2RxY29lZmZfbG8pOwotICAgIF9t
bTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1NmkgKikoZHFjb2VmZl9wdHIgKyA4KSwgdl9kcWNvZWZm
X2hpKTsKLSNlbHNlCi0gICAgc3RvcmVfY29lZmZpY2llbnRzX2F2eDIoX21tMjU2X3BhY2tzX2Vw
aTMyKHZfZHFjb2VmZl9sbywgdl9kcWNvZWZmX2hpKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkcWNvZWZmX3B0cik7Ci0jZW5kaWYKLQotICAgIHJldHVybiBnZXRfbWF4X2xhbmVfZW9i
KGlzY2FuLCAqdl9lb2JtYXgsIHZfbnpfbWFzayk7Ci0gIH0KLX0KLQotdm9pZCB2cHhfcXVhbnRp
emVfYl8zMngzMl9hdngyKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3Qg
bWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNv
ZWZmX3B0ciwgdHJhbl9sb3dfdCAqZHFjb2VmZl9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MTZfdCAqZGVxdWFudF9wdHIsIHVpbnQxNl90ICplb2JfcHRyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNv
bnN0IHNjYW5fb3JkZXIpIHsKLSAgX19tMjU2aSB2X3piaW4sIHZfcm91bmQsIHZfcXVhbnQsIHZf
ZGVxdWFudCwgdl9xdWFudF9zaGlmdDsKLSAgX19tMjU2aSB2X2VvYm1heCA9IF9tbTI1Nl9zZXR6
ZXJvX3NpMjU2KCk7Ci0gIGludHB0cl90IGNvdW50OwotICBjb25zdCBpbnQxNl90ICppc2NhbiA9
IHNjYW5fb3JkZXItPmlzY2FuOwotCi0gIGxvYWRfYl92YWx1ZXNfYXZ4MihtYl9wbGFuZSwgJnZf
emJpbiwgJnZfcm91bmQsICZ2X3F1YW50LCBkZXF1YW50X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICZ2X2RlcXVhbnQsICZ2X3F1YW50X3NoaWZ0LCAxKTsKLQotICAvLyBEbyBEQyBhbmQgZmly
c3QgMTUgQUMuCi0gIHZfZW9ibWF4ID0gcXVhbnRpemVfYl8zMngzMl8xNihjb2VmZl9wdHIsIHFj
b2VmZl9wdHIsIGRxY29lZmZfcHRyLCBpc2NhbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZ2X3F1YW50LCAmdl9kZXF1YW50LCAmdl9yb3VuZCwgJnZfemJpbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZ2X3F1YW50X3NoaWZ0LCAmdl9lb2JtYXgpOwotCi0g
IHZfcm91bmQgPSBfbW0yNTZfdW5wYWNraGlfZXBpNjQodl9yb3VuZCwgdl9yb3VuZCk7Ci0gIHZf
cXVhbnQgPSBfbW0yNTZfdW5wYWNraGlfZXBpNjQodl9xdWFudCwgdl9xdWFudCk7Ci0gIHZfZGVx
dWFudCA9IF9tbTI1Nl91bnBhY2toaV9lcGk2NCh2X2RlcXVhbnQsIHZfZGVxdWFudCk7Ci0gIHZf
cXVhbnRfc2hpZnQgPSBfbW0yNTZfdW5wYWNraGlfZXBpNjQodl9xdWFudF9zaGlmdCwgdl9xdWFu
dF9zaGlmdCk7Ci0gIHZfemJpbiA9IF9tbTI1Nl91bnBhY2toaV9lcGk2NCh2X3piaW4sIHZfemJp
bik7Ci0KLSAgZm9yIChjb3VudCA9ICgzMiAqIDMyKSAtIDE2OyBjb3VudCA+IDA7IGNvdW50IC09
IDE2KSB7Ci0gICAgY29lZmZfcHRyICs9IDE2OwotICAgIHFjb2VmZl9wdHIgKz0gMTY7Ci0gICAg
ZHFjb2VmZl9wdHIgKz0gMTY7Ci0gICAgaXNjYW4gKz0gMTY7Ci0gICAgdl9lb2JtYXggPSBxdWFu
dGl6ZV9iXzMyeDMyXzE2KGNvZWZmX3B0ciwgcWNvZWZmX3B0ciwgZHFjb2VmZl9wdHIsIGlzY2Fu
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdl9xdWFudCwgJnZfZGVxdWFu
dCwgJnZfcm91bmQsICZ2X3piaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ2X3F1YW50X3NoaWZ0LCAmdl9lb2JtYXgpOwotICB9Ci0KLSAgKmVvYl9wdHIgPSBhY2N1bXVs
YXRlX2VvYjI1Nih2X2VvYm1heCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L3F1YW50aXplX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvcXVhbnRpemVfc3Nl
Mi5jCmluZGV4IDY0ODM4ZWFhN2QzNi4uZTM4YTQwNTlhYjdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AveDg2L3F1YW50aXplX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L3F1YW50aXplX3NzZTIuYwpAQCAtMTYsMTYgKzE2LDE2IEBACiAjaW5jbHVkZSAidnB4L3Zw
eF9pbnRlZ2VyLmgiCiAjaW5jbHVkZSAidnB4X2RzcC94ODYvYml0ZGVwdGhfY29udmVyc2lvbl9z
c2UyLmgiCiAjaW5jbHVkZSAidnB4X2RzcC94ODYvcXVhbnRpemVfc3NlMi5oIgotI2luY2x1ZGUg
InZwOS9jb21tb24vdnA5X3NjYW4uaCIKIAogdm9pZCB2cHhfcXVhbnRpemVfYl9zc2UyKGNvbnN0
IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5l
LAotICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93X3QgKnFjb2VmZl9wdHIsIHRyYW5f
bG93X3QgKmRxY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2
X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgU2Nhbk9yZGVyICpjb25zdCBzY2FuX29yZGVyKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNraXBfYmxvY2ssIGNvbnN0IGludDE2X3QgKnpiaW5fcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29u
c3QgaW50MTZfdCAqcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDE2X3QgKnF1YW50X3NoaWZ0X3B0ciwgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuX2xvd190ICpkcWNvZWZmX3B0ciwgY29uc3QgaW50MTZfdCAq
ZGVxdWFudF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKmVvYl9wdHIs
IGNvbnN0IGludDE2X3QgKnNjYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
MTZfdCAqaXNjYW4pIHsKICAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21tX3NldHplcm9fc2kxMjgo
KTsKICAgaW50IGluZGV4ID0gMTY7Ci0gIGNvbnN0IGludDE2X3QgKmlzY2FuID0gc2Nhbl9vcmRl
ci0+aXNjYW47CiAKICAgX19tMTI4aSB6YmluLCByb3VuZCwgcXVhbnQsIGRlcXVhbnQsIHNoaWZ0
OwogICBfX20xMjhpIGNvZWZmMCwgY29lZmYxLCBjb2VmZjBfc2lnbiwgY29lZmYxX3NpZ247CkBA
IC0zMyw4ICszMywxMyBAQCB2b2lkIHZweF9xdWFudGl6ZV9iX3NzZTIoY29uc3QgdHJhbl9sb3df
dCAqY29lZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKICAgX19tMTI4aSBjbXBfbWFzazAsIGNt
cF9tYXNrMTsKICAgX19tMTI4aSBlb2IsIGVvYjA7CiAKKyAgKHZvaWQpc2NhbjsKKyAgKHZvaWQp
c2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKKwogICAvLyBTZXR1cCBnbG9iYWwg
dmFsdWVzLgotICBsb2FkX2JfdmFsdWVzKG1iX3BsYW5lLCAmemJpbiwgJnJvdW5kLCAmcXVhbnQs
IGRlcXVhbnRfcHRyLCAmZGVxdWFudCwgJnNoaWZ0KTsKKyAgbG9hZF9iX3ZhbHVlcyh6YmluX3B0
ciwgJnpiaW4sIHJvdW5kX3B0ciwgJnJvdW5kLCBxdWFudF9wdHIsICZxdWFudCwKKyAgICAgICAg
ICAgICAgICBkZXF1YW50X3B0ciwgJmRlcXVhbnQsIHF1YW50X3NoaWZ0X3B0ciwgJnNoaWZ0KTsK
IAogICAvLyBEbyBEQyBhbmQgZmlyc3QgMTUgQUMuCiAgIGNvZWZmMCA9IGxvYWRfdHJhbl9sb3co
Y29lZmZfcHRyKTsKQEAgLTczLDcgKzc4LDcgQEAgdm9pZCB2cHhfcXVhbnRpemVfYl9zc2UyKGNv
bnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCiAgIGRlcXVhbnQg
PSBfbW1fdW5wYWNraGlfZXBpNjQoZGVxdWFudCwgZGVxdWFudCk7CiAgIGNhbGN1bGF0ZV9kcWNv
ZWZmX2FuZF9zdG9yZShxY29lZmYxLCBkZXF1YW50LCBkcWNvZWZmX3B0ciArIDgpOwogCi0gIGVv
YiA9IHNjYW5fZm9yX2VvYigmcWNvZWZmMCwgJnFjb2VmZjEsIGlzY2FuLCAwLCB6ZXJvKTsKKyAg
ZW9iID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgY21wX21hc2swLCBjbXBfbWFz
azEsIGlzY2FuLCAwLCB6ZXJvKTsKIAogICAvLyBBQyBvbmx5IGxvb3AuCiAgIHdoaWxlIChpbmRl
eCA8IG5fY29lZmZzKSB7CkBAIC0xMDMsNyArMTA4LDggQEAgdm9pZCB2cHhfcXVhbnRpemVfYl9z
c2UyKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qgbl9jb2VmZnMsCiAgICAg
Y2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlKHFjb2VmZjAsIGRlcXVhbnQsIGRxY29lZmZfcHRy
ICsgaW5kZXgpOwogICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZShxY29lZmYxLCBkZXF1
YW50LCBkcWNvZWZmX3B0ciArIGluZGV4ICsgOCk7CiAKLSAgICBlb2IwID0gc2Nhbl9mb3JfZW9i
KCZxY29lZmYwLCAmcWNvZWZmMSwgaXNjYW4sIGluZGV4LCB6ZXJvKTsKKyAgICBlb2IwID0gc2Nh
bl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgY21wX21hc2swLCBjbXBfbWFzazEsIGlzY2Fu
LCBpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHplcm8pOwogICAgIGVvYiA9IF9tbV9t
YXhfZXBpMTYoZW9iLCBlb2IwKTsKIAogICAgIGluZGV4ICs9IDE2OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L3F1YW50aXplX3NzZTIuaAppbmRleCA4MmM3NTVhMGNmODkuLmFmZTJmOTI0YjM0MSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmgKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc2UyLmgKQEAgLTE1LDU0ICsxNSwxOCBAQAog
CiAjaW5jbHVkZSAiLi92cHhfY29uZmlnLmgiCiAjaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgi
Ci0jaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2Jsb2NrLmgiCiAKLXN0YXRpYyBJTkxJTkUgdm9p
ZCBsb2FkX2JfdmFsdWVzKGNvbnN0IHN0cnVjdCBtYWNyb2Jsb2NrX3BsYW5lICpjb25zdCBtYl9w
bGFuZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgKnpiaW4sIF9f
bTEyOGkgKnJvdW5kLCBfX20xMjhpICpxdWFudCwKK3N0YXRpYyBJTkxJTkUgdm9pZCBsb2FkX2Jf
dmFsdWVzKGNvbnN0IGludDE2X3QgKnpiaW5fcHRyLCBfX20xMjhpICp6YmluLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLCBfX20xMjhp
ICpyb3VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3Qg
KnF1YW50X3B0ciwgX19tMTI4aSAqcXVhbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgX19tMTI4aSAqZGVxdWFudCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgKnNoaWZ0KSB7Ci0gICp6YmluID0g
X21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKiltYl9wbGFuZS0+emJpbik7Ci0gICpyb3Vu
ZCA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopbWJfcGxhbmUtPnJvdW5kKTsKLSAg
KnF1YW50ID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKiltYl9wbGFuZS0+cXVhbnQp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqc2hpZnRf
cHRyLCBfX20xMjhpICpzaGlmdCkgeworICAqemJpbiA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBf
X20xMjhpICopemJpbl9wdHIpOworICAqcm91bmQgPSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19t
MTI4aSAqKXJvdW5kX3B0cik7CisgICpxdWFudCA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20x
MjhpICopcXVhbnRfcHRyKTsKICAgKnpiaW4gPSBfbW1fc3ViX2VwaTE2KCp6YmluLCBfbW1fc2V0
MV9lcGkxNigxKSk7CiAgICpkZXF1YW50ID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkg
KilkZXF1YW50X3B0cik7Ci0gICpzaGlmdCA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhp
ICopbWJfcGxhbmUtPnF1YW50X3NoaWZ0KTsKLX0KLQotc3RhdGljIElOTElORSB2b2lkIGxvYWRf
Yl92YWx1ZXMzMngzMigKLSAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3Qg
bWJfcGxhbmUsIF9fbTEyOGkgKnpiaW4sCi0gICAgX19tMTI4aSAqcm91bmQsIF9fbTEyOGkgKnF1
YW50LCBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwKLSAgICBfX20xMjhpICpkZXF1YW50LCBf
X20xMjhpICpzaGlmdCkgewotICBjb25zdCBfX20xMjhpIG9uZSA9IF9tbV9zZXQxX2VwaTE2KDEp
OwotICAvLyBUaGUgMzJ4MzIgaGFsdmVzIHpiaW4gYW5kIHJvdW5kLgotICAqemJpbiA9IF9tbV9s
b2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopbWJfcGxhbmUtPnpiaW4pOwotICAvLyBTaGlmdCB3
aXRoIHJvdW5kaW5nLgotICAqemJpbiA9IF9tbV9hZGRfZXBpMTYoKnpiaW4sIG9uZSk7Ci0gICp6
YmluID0gX21tX3NybGlfZXBpMTYoKnpiaW4sIDEpOwotICAvLyB4ODYgaGFzIG5vICJncmVhdGVy
ICpvciBlcXVhbCoiIGNvbXBhcmlzb24uIFN1YnRyYWN0IDEgZnJvbSB6YmluIHNvCi0gIC8vIGl0
IGlzIGEgc3RyaWN0ICJncmVhdGVyIiBjb21wYXJpc29uLgotICAqemJpbiA9IF9tbV9zdWJfZXBp
MTYoKnpiaW4sIG9uZSk7Ci0KLSAgKnJvdW5kID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEy
OGkgKiltYl9wbGFuZS0+cm91bmQpOwotICAqcm91bmQgPSBfbW1fYWRkX2VwaTE2KCpyb3VuZCwg
b25lKTsKLSAgKnJvdW5kID0gX21tX3NybGlfZXBpMTYoKnJvdW5kLCAxKTsKLQotICAqcXVhbnQg
PSBfbW1fbG9hZF9zaTEyOCgoY29uc3QgX19tMTI4aSAqKW1iX3BsYW5lLT5xdWFudCk7Ci0gICpk
ZXF1YW50ID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKilkZXF1YW50X3B0cik7Ci0g
ICpzaGlmdCA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopbWJfcGxhbmUtPnF1YW50
X3NoaWZ0KTsKLSAgLy8gSSBzdXNwZWN0IHRoaXMgaXMgbm90IHRlY2huaWNhbGx5IE9LIGJlY2F1
c2UgcXVhbnRfc2hpZnQgY2FuIGJlIHVwCi0gIC8vIHRvIDEgPDwgMTYgYW5kIHNoaWZ0aW5nIHVw
IGFnYWluIHdpbGwgb3V0cmFuZ2UgdGhhdCwgYnV0IHRoZSB0ZXN0IGlzIG5vdAotICAvLyBjb21w
cmVoZW5zaXZlIGVub3VnaCB0byBjYXRjaCB0aGF0IGFuZCAiaXQncyBiZWVuIHRoYXQgd2F5IGZv
cmV2ZXIiCi0gICpzaGlmdCA9IF9tbV9zbGxpX2VwaTE2KCpzaGlmdCwgMSk7Ci19Ci0KLXN0YXRp
YyBJTkxJTkUgdm9pZCBsb2FkX2ZwX3ZhbHVlcyhjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFu
ZSAqbWJfcGxhbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19tMTI4aSAq
cm91bmQsIF9fbTEyOGkgKnF1YW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDE2X3QgKmRlcXVhbnRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF9fbTEyOGkgKmRlcXVhbnQpIHsKLSAgKnJvdW5kID0gX21tX2xvYWRfc2kxMjgoKGNv
bnN0IF9fbTEyOGkgKiltYl9wbGFuZS0+cm91bmRfZnApOwotICAqcXVhbnQgPSBfbW1fbG9hZF9z
aTEyOCgoY29uc3QgX19tMTI4aSAqKW1iX3BsYW5lLT5xdWFudF9mcCk7Ci0gICpkZXF1YW50ID0g
X21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKilkZXF1YW50X3B0cik7CisgICpzaGlmdCA9
IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopc2hpZnRfcHRyKTsKIH0KIAogLy8gV2l0
aCBzc3NlMyBhbmQgbGF0ZXIgYWJzKCkgYW5kIHNpZ24oKSBhcmUgcHJlZmVycmVkLgpAQCAtOTgs
OCArNjIsMTEgQEAgc3RhdGljIElOTElORSB2b2lkIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9y
ZShfX20xMjhpIHFjb2VmZiwgX19tMTI4aSBkZXF1YW50LAogI2VuZGlmICAvLyBDT05GSUdfVlA5
X0hJR0hCSVRERVBUSAogfQogCi0vLyBTY2FuIDE2IHZhbHVlcyBmb3IgZW9iIHJlZmVyZW5jZSBp
biBzY2FuLgorLy8gU2NhbiAxNiB2YWx1ZXMgZm9yIGVvYiByZWZlcmVuY2UgaW4gc2Nhbi4gVXNl
IG1hc2tzICgtMSkgZnJvbSBjb21wYXJpbmcgdG8KKy8vIHpiaW4gdG8gYWRkIDEgdG8gdGhlIGlu
ZGV4IGluICdzY2FuJy4KIHN0YXRpYyBJTkxJTkUgX19tMTI4aSBzY2FuX2Zvcl9lb2IoX19tMTI4
aSAqY29lZmYwLCBfX20xMjhpICpjb2VmZjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IF9fbTEyOGkgemJpbl9tYXNrMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgX19tMTI4aSB6YmluX21hc2sxLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpzY2FuLCBjb25zdCBpbnQgaW5kZXgsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9fbTEyOGkgemVybykgewog
ICBjb25zdCBfX20xMjhpIHplcm9fY29lZmYwID0gX21tX2NtcGVxX2VwaTE2KCpjb2VmZjAsIHpl
cm8pOwpAQCAtMTA3LDYgKzc0LDkgQEAgc3RhdGljIElOTElORSBfX20xMjhpIHNjYW5fZm9yX2Vv
YihfX20xMjhpICpjb2VmZjAsIF9fbTEyOGkgKmNvZWZmMSwKICAgX19tMTI4aSBzY2FuMCA9IF9t
bV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopKHNjYW4gKyBpbmRleCkpOwogICBfX20xMjhp
IHNjYW4xID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKikoc2NhbiArIGluZGV4ICsg
OCkpOwogICBfX20xMjhpIGVvYjAsIGVvYjE7CisgIC8vIEFkZCBvbmUgdG8gY29udmVydCBmcm9t
IGluZGljZXMgdG8gY291bnRzCisgIHNjYW4wID0gX21tX3N1Yl9lcGkxNihzY2FuMCwgemJpbl9t
YXNrMCk7CisgIHNjYW4xID0gX21tX3N1Yl9lcGkxNihzY2FuMSwgemJpbl9tYXNrMSk7CiAgIGVv
YjAgPSBfbW1fYW5kbm90X3NpMTI4KHplcm9fY29lZmYwLCBzY2FuMCk7CiAgIGVvYjEgPSBfbW1f
YW5kbm90X3NpMTI4KHplcm9fY29lZmYxLCBzY2FuMSk7CiAgIHJldHVybiBfbW1fbWF4X2VwaTE2
KGVvYjAsIGVvYjEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6
ZV9zc3NlMy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFudGl6ZV9zc3NlMy5jCmluZGV4
IDJjNmQ4NTFhMTY4My4uZmMxZDkxOTU5ZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9k
c3AveDg2L3F1YW50aXplX3Nzc2UzLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9xdWFu
dGl6ZV9zc3NlMy5jCkBAIC0xNiwxNyArMTYsMTYgQEAKICNpbmNsdWRlICJ2cHhfZHNwL3g4Ni9i
aXRkZXB0aF9jb252ZXJzaW9uX3NzZTIuaCIKICNpbmNsdWRlICJ2cHhfZHNwL3g4Ni9xdWFudGl6
ZV9zc2UyLmgiCiAjaW5jbHVkZSAidnB4X2RzcC94ODYvcXVhbnRpemVfc3NzZTMuaCIKLSNpbmNs
dWRlICJ2cDkvY29tbW9uL3ZwOV9zY2FuLmgiCi0jaW5jbHVkZSAidnA5L2VuY29kZXIvdnA5X2Js
b2NrLmgiCiAKIHZvaWQgdnB4X3F1YW50aXplX2Jfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCAqY29l
ZmZfcHRyLCBpbnRwdHJfdCBuX2NvZWZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IG1hY3JvYmxvY2tfcGxhbmUgKmNvbnN0IG1iX3BsYW5lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2tpcF9ibG9jaywgY29uc3QgaW50MTZfdCAqemJpbl9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnJvdW5kX3B0ciwgY29uc3Qg
aW50MTZfdCAqcXVhbnRfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx
Nl90ICpxdWFudF9zaGlmdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5fbG93
X3QgKnFjb2VmZl9wdHIsIHRyYW5fbG93X3QgKmRxY29lZmZfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQxNl90ICpkZXF1YW50X3B0ciwgdWludDE2X3QgKmVvYl9wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBTY2FuT3JkZXIgKmNvbnN0
IHNjYW5fb3JkZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAq
c2NhbiwgY29uc3QgaW50MTZfdCAqaXNjYW4pIHsKICAgY29uc3QgX19tMTI4aSB6ZXJvID0gX21t
X3NldHplcm9fc2kxMjgoKTsKICAgaW50IGluZGV4ID0gMTY7Ci0gIGNvbnN0IGludDE2X3QgKmlz
Y2FuID0gc2Nhbl9vcmRlci0+aXNjYW47CiAKICAgX19tMTI4aSB6YmluLCByb3VuZCwgcXVhbnQs
IGRlcXVhbnQsIHNoaWZ0OwogICBfX20xMjhpIGNvZWZmMCwgY29lZmYxOwpAQCAtMzQsNyArMzMs
MTIgQEAgdm9pZCB2cHhfcXVhbnRpemVfYl9zc3NlMyhjb25zdCB0cmFuX2xvd190ICpjb2VmZl9w
dHIsIGludHB0cl90IG5fY29lZmZzLAogICBfX20xMjhpIGNtcF9tYXNrMCwgY21wX21hc2sxOwog
ICBfX20xMjhpIGVvYiwgZW9iMDsKIAotICBsb2FkX2JfdmFsdWVzKG1iX3BsYW5lLCAmemJpbiwg
JnJvdW5kLCAmcXVhbnQsIGRlcXVhbnRfcHRyLCAmZGVxdWFudCwgJnNoaWZ0KTsKKyAgKHZvaWQp
c2NhbjsKKyAgKHZvaWQpc2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsKKworICBs
b2FkX2JfdmFsdWVzKHpiaW5fcHRyLCAmemJpbiwgcm91bmRfcHRyLCAmcm91bmQsIHF1YW50X3B0
ciwgJnF1YW50LAorICAgICAgICAgICAgICAgIGRlcXVhbnRfcHRyLCAmZGVxdWFudCwgcXVhbnRf
c2hpZnRfcHRyLCAmc2hpZnQpOwogCiAgIC8vIERvIERDIGFuZCBmaXJzdCAxNSBBQy4KICAgY29l
ZmYwID0gbG9hZF90cmFuX2xvdyhjb2VmZl9wdHIpOwpAQCAtNjgsNyArNzIsNyBAQCB2b2lkIHZw
eF9xdWFudGl6ZV9iX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50cHRyX3Qg
bl9jb2VmZnMsCiAgIGRlcXVhbnQgPSBfbW1fdW5wYWNraGlfZXBpNjQoZGVxdWFudCwgZGVxdWFu
dCk7CiAgIGNhbGN1bGF0ZV9kcWNvZWZmX2FuZF9zdG9yZShxY29lZmYxLCBkZXF1YW50LCBkcWNv
ZWZmX3B0ciArIDgpOwogCi0gIGVvYiA9IHNjYW5fZm9yX2VvYigmcWNvZWZmMCwgJnFjb2VmZjEs
IGlzY2FuLCAwLCB6ZXJvKTsKKyAgZW9iID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZm
MSwgY21wX21hc2swLCBjbXBfbWFzazEsIGlzY2FuLCAwLCB6ZXJvKTsKIAogICAvLyBBQyBvbmx5
IGxvb3AuCiAgIHdoaWxlIChpbmRleCA8IG5fY29lZmZzKSB7CkBAIC05Niw3ICsxMDAsOCBAQCB2
b2lkIHZweF9xdWFudGl6ZV9iX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwgaW50
cHRyX3Qgbl9jb2VmZnMsCiAgICAgY2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlKHFjb2VmZjAs
IGRlcXVhbnQsIGRxY29lZmZfcHRyICsgaW5kZXgpOwogICAgIGNhbGN1bGF0ZV9kcWNvZWZmX2Fu
ZF9zdG9yZShxY29lZmYxLCBkZXF1YW50LCBkcWNvZWZmX3B0ciArIGluZGV4ICsgOCk7CiAKLSAg
ICBlb2IwID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgaXNjYW4sIGluZGV4LCB6
ZXJvKTsKKyAgICBlb2IwID0gc2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgY21wX21h
c2swLCBjbXBfbWFzazEsIGlzY2FuLCBpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHpl
cm8pOwogICAgIGVvYiA9IF9tbV9tYXhfZXBpMTYoZW9iLCBlb2IwKTsKIAogICAgIGluZGV4ICs9
IDE2OwpAQCAtMTA1LDE0ICsxMTAsMTcgQEAgdm9pZCB2cHhfcXVhbnRpemVfYl9zc3NlMyhjb25z
dCB0cmFuX2xvd190ICpjb2VmZl9wdHIsIGludHB0cl90IG5fY29lZmZzLAogICAqZW9iX3B0ciA9
IGFjY3VtdWxhdGVfZW9iKGVvYik7CiB9CiAKLXZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfc3Nz
ZTMoY29uc3QgdHJhbl9sb3dfdCAqY29lZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgbWFjcm9ibG9ja19wbGFuZSAqY29uc3QgbWJfcGxhbmUsCit2
b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0
ciwgaW50cHRyX3Qgbl9jb2VmZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBza2lwX2Jsb2NrLCBjb25zdCBpbnQxNl90ICp6YmluX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqcm91bmRfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpxdWFudF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnF1YW50X3NoaWZ0X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbl9sb3dfdCAqcWNvZWZmX3B0ciwgdHJhbl9s
b3dfdCAqZHFjb2VmZl9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDE2X3QgKmRlcXVhbnRfcHRyLCB1aW50MTZfdCAqZW9iX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFNjYW5PcmRlciAqY29uc3Qgc2Nhbl9vcmRl
cikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpzY2Fu
LCBjb25zdCBpbnQxNl90ICppc2NhbikgewogICBjb25zdCBfX20xMjhpIHplcm8gPSBfbW1fc2V0
emVyb19zaTEyOCgpOworICBjb25zdCBfX20xMjhpIG9uZSA9IF9tbV9zZXQxX2VwaTE2KDEpOwog
ICBpbnQgaW5kZXg7Ci0gIGNvbnN0IGludDE2X3QgKmlzY2FuID0gc2Nhbl9vcmRlci0+aXNjYW47
CiAKICAgX19tMTI4aSB6YmluLCByb3VuZCwgcXVhbnQsIGRlcXVhbnQsIHNoaWZ0OwogICBfX20x
MjhpIGNvZWZmMCwgY29lZmYxOwpAQCAtMTIxLDggKzEyOSwzMiBAQCB2b2lkIHZweF9xdWFudGl6
ZV9iXzMyeDMyX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QgKmNvZWZmX3B0ciwKICAgX19tMTI4aSBh
bGxfemVybzsKICAgX19tMTI4aSBlb2IgPSB6ZXJvLCBlb2IwOwogCi0gIGxvYWRfYl92YWx1ZXMz
MngzMihtYl9wbGFuZSwgJnpiaW4sICZyb3VuZCwgJnF1YW50LCBkZXF1YW50X3B0ciwgJmRlcXVh
bnQsCi0gICAgICAgICAgICAgICAgICAgICAmc2hpZnQpOworICAodm9pZClzY2FuOworICAodm9p
ZCluX2NvZWZmczsKKyAgKHZvaWQpc2tpcF9ibG9jazsKKyAgYXNzZXJ0KCFza2lwX2Jsb2NrKTsK
KworICAvLyBTZXR1cCBnbG9iYWwgdmFsdWVzLgorICAvLyBUaGUgMzJ4MzIgaGFsdmVzIHpiaW4g
YW5kIHJvdW5kLgorICB6YmluID0gX21tX2xvYWRfc2kxMjgoKGNvbnN0IF9fbTEyOGkgKil6Ymlu
X3B0cik7CisgIC8vIFNoaWZ0IHdpdGggcm91bmRpbmcuCisgIHpiaW4gPSBfbW1fYWRkX2VwaTE2
KHpiaW4sIG9uZSk7CisgIHpiaW4gPSBfbW1fc3JsaV9lcGkxNih6YmluLCAxKTsKKyAgLy8geDg2
IGhhcyBubyAiZ3JlYXRlciAqb3IgZXF1YWwqIiBjb21wYXJpc29uLiBTdWJ0cmFjdCAxIGZyb20g
emJpbiBzbworICAvLyBpdCBpcyBhIHN0cmljdCAiZ3JlYXRlciIgY29tcGFyaXNvbi4KKyAgemJp
biA9IF9tbV9zdWJfZXBpMTYoemJpbiwgb25lKTsKKworICByb3VuZCA9IF9tbV9sb2FkX3NpMTI4
KChjb25zdCBfX20xMjhpICopcm91bmRfcHRyKTsKKyAgcm91bmQgPSBfbW1fYWRkX2VwaTE2KHJv
dW5kLCBvbmUpOworICByb3VuZCA9IF9tbV9zcmxpX2VwaTE2KHJvdW5kLCAxKTsKKworICBxdWFu
dCA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopcXVhbnRfcHRyKTsKKyAgZGVxdWFu
dCA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopZGVxdWFudF9wdHIpOworICBzaGlm
dCA9IF9tbV9sb2FkX3NpMTI4KChjb25zdCBfX20xMjhpICopcXVhbnRfc2hpZnRfcHRyKTsKKyAg
Ly8gSSBzdXNwZWN0IHRoaXMgaXMgbm90IHRlY2huaWNhbGx5IE9LIGJlY2F1c2UgcXVhbnRfc2hp
ZnQgY2FuIGJlIHVwCisgIC8vIHRvIDEgPDwgMTYgYW5kIHNoaWZ0aW5nIHVwIGFnYWluIHdpbGwg
b3V0cmFuZ2UgdGhhdCwgYnV0IHRoZSB0ZXN0IGlzIG5vdAorICAvLyBjb21wcmVoZW5zaXZlIGVu
b3VnaCB0byBjYXRjaCB0aGF0IGFuZCAiaXQncyBiZWVuIHRoYXQgd2F5IGZvcmV2ZXIiCisgIHNo
aWZ0ID0gX21tX3NsbGlfZXBpMTYoc2hpZnQsIDEpOwogCiAgIC8vIERvIERDIGFuZCBmaXJzdCAx
NSBBQy4KICAgY29lZmYwID0gbG9hZF90cmFuX2xvdyhjb2VmZl9wdHIpOwpAQCAtMTc0LDcgKzIw
Niw4IEBAIHZvaWQgdnB4X3F1YW50aXplX2JfMzJ4MzJfc3NzZTMoY29uc3QgdHJhbl9sb3dfdCAq
Y29lZmZfcHRyLAogICAgIGRlcXVhbnQgPSBfbW1fdW5wYWNraGlfZXBpNjQoZGVxdWFudCwgZGVx
dWFudCk7CiAgICAgY2FsY3VsYXRlX2RxY29lZmZfYW5kX3N0b3JlXzMyeDMyKHFjb2VmZjEsIGRl
cXVhbnQsIHplcm8sIGRxY29lZmZfcHRyICsgOCk7CiAKLSAgICBlb2IgPSBzY2FuX2Zvcl9lb2Io
JnFjb2VmZjAsICZxY29lZmYxLCBpc2NhbiwgMCwgemVybyk7CisgICAgZW9iID0KKyAgICAgICAg
c2Nhbl9mb3JfZW9iKCZxY29lZmYwLCAmcWNvZWZmMSwgY21wX21hc2swLCBjbXBfbWFzazEsIGlz
Y2FuLCAwLCB6ZXJvKTsKICAgfQogCiAgIC8vIEFDIG9ubHkgbG9vcC4KQEAgLTIyMCw3ICsyNTMs
OCBAQCB2b2lkIHZweF9xdWFudGl6ZV9iXzMyeDMyX3Nzc2UzKGNvbnN0IHRyYW5fbG93X3QgKmNv
ZWZmX3B0ciwKICAgICBjYWxjdWxhdGVfZHFjb2VmZl9hbmRfc3RvcmVfMzJ4MzIocWNvZWZmMSwg
ZGVxdWFudCwgemVybywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHFj
b2VmZl9wdHIgKyA4ICsgaW5kZXgpOwogCi0gICAgZW9iMCA9IHNjYW5fZm9yX2VvYigmcWNvZWZm
MCwgJnFjb2VmZjEsIGlzY2FuLCBpbmRleCwgemVybyk7CisgICAgZW9iMCA9IHNjYW5fZm9yX2Vv
YigmcWNvZWZmMCwgJnFjb2VmZjEsIGNtcF9tYXNrMCwgY21wX21hc2sxLCBpc2NhbiwgaW5kZXgs
CisgICAgICAgICAgICAgICAgICAgICAgICB6ZXJvKTsKICAgICBlb2IgPSBfbW1fbWF4X2VwaTE2
KGVvYiwgZW9iMCk7CiAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9z
YWQ0ZF9hdngyLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3NhZDRkX2F2eDIuYwppbmRleCBj
ZjcxMTE5ODNiMmYuLmE1YzRmOGM1MzcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw
L3g4Ni9zYWQ0ZF9hdngyLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9zYWQ0ZF9hdngy
LmMKQEAgLTExLDEyICsxMSw4IEBACiAjaW5jbHVkZSAiLi92cHhfZHNwX3J0Y2QuaCIKICNpbmNs
dWRlICJ2cHgvdnB4X2ludGVnZXIuaCIKIAotLy8gTm90ZSB3aXRoIHN1bXNbNF0gc29tZSB2ZXJz
aW9ucyBvZiBWaXN1YWwgU3R1ZGlvIG1heSBmYWlsIGR1ZSB0byBwYXJhbWV0ZXIKLS8vIGFsaWdu
bWVudCwgdGhvdWdoIHRoZSBmdW5jdGlvbnMgc2hvdWxkIGJlIGVxdWl2YWxlbnQ6Ci0vLyBlcnJv
ciBDMjcxOTogJ3N1bXMnOiBmb3JtYWwgcGFyYW1ldGVyIHdpdGggcmVxdWVzdGVkIGFsaWdubWVu
dCBvZiAzMiB3b24ndCBiZQotLy8gYWxpZ25lZAogc3RhdGljIElOTElORSB2b2lkIGNhbGNfZmlu
YWxfNChjb25zdCBfX20yNTZpICpjb25zdCBzdW1zIC8qWzRdKi8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHNhZF9hcnJheVs0XSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCAqc2FkX2FycmF5KSB7CiAgIGNvbnN0IF9fbTI1Nmkg
dDAgPSBfbW0yNTZfaGFkZF9lcGkzMihzdW1zWzBdLCBzdW1zWzFdKTsKICAgY29uc3QgX19tMjU2
aSB0MSA9IF9tbTI1Nl9oYWRkX2VwaTMyKHN1bXNbMl0sIHN1bXNbM10pOwogICBjb25zdCBfX20y
NTZpIHQyID0gX21tMjU2X2hhZGRfZXBpMzIodDAsIHQxKTsKQEAgLTI1LDEwICsyMSw5IEBAIHN0
YXRpYyBJTkxJTkUgdm9pZCBjYWxjX2ZpbmFsXzQoY29uc3QgX19tMjU2aSAqY29uc3Qgc3VtcyAv
Kls0XSovLAogICBfbW1fc3RvcmV1X3NpMTI4KChfX20xMjhpICopc2FkX2FycmF5LCBzdW0pOwog
fQogCi1zdGF0aWMgSU5MSU5FIHZvaWQgc2FkMzJ4aHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByZWZfc3RyaWRlLCBpbnQgaCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2FkX2FycmF5WzRdKSB7Cit2b2lkIHZweF9zYWQz
MngzMng0ZF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0s
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pIHsKICAgaW50IGk7CiAgIGNvbnN0IHVpbnQ4X3QgKnJlZnNbNF07CiAgIF9fbTI1
Nmkgc3Vtc1s0XTsKQEAgLTQyLDcgKzM3LDcgQEAgc3RhdGljIElOTElORSB2b2lkIHNhZDMyeGh4
NGRfYXZ4Mihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKICAgc3Vtc1sy
XSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7CiAgIHN1bXNbM10gPSBfbW0yNTZfc2V0emVyb19z
aTI1NigpOwogCi0gIGZvciAoaSA9IDA7IGkgPCBoOyBpKyspIHsKKyAgZm9yIChpID0gMDsgaSA8
IDMyOyBpKyspIHsKICAgICBfX20yNTZpIHJbNF07CiAKICAgICAvLyBsb2FkIHNyYyBhbmQgYWxs
IHJlZltdCkBAIC03NCwxMCArNjksNjYgQEAgc3RhdGljIElOTElORSB2b2lkIHNhZDMyeGh4NGRf
YXZ4Mihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKICAgY2FsY19maW5h
bF80KHN1bXMsIHNhZF9hcnJheSk7CiB9CiAKLXN0YXRpYyBJTkxJTkUgdm9pZCBzYWQ2NHhoeDRk
X2F2eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHJlZl9hcnJheVs0
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9zdHJpZGUsIGlu
dCBoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRfYXJy
YXlbNF0pIHsKK3ZvaWQgdnB4X3NhZDMyeDMyeDhfYXZ4Mihjb25zdCB1aW50OF90ICpzcmNfcHRy
LCBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90
ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
MzJfdCAqc2FkX2FycmF5KSB7CisgIGludCBpOworICBfX20yNTZpIHN1bXNbOF07CisKKyAgc3Vt
c1swXSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7CisgIHN1bXNbMV0gPSBfbW0yNTZfc2V0emVy
b19zaTI1NigpOworICBzdW1zWzJdID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKKyAgc3Vtc1sz
XSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7CisgIHN1bXNbNF0gPSBfbW0yNTZfc2V0emVyb19z
aTI1NigpOworICBzdW1zWzVdID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKKyAgc3Vtc1s2XSA9
IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7CisgIHN1bXNbN10gPSBfbW0yNTZfc2V0emVyb19zaTI1
NigpOworCisgIGZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKSB7CisgICAgX19tMjU2aSByWzhdOwor
CisgICAgLy8gbG9hZCBzcmMgYW5kIGFsbCByZWZbXQorICAgIGNvbnN0IF9fbTI1NmkgcyA9IF9t
bTI1Nl9sb2FkX3NpMjU2KChjb25zdCBfX20yNTZpICopc3JjX3B0cik7CisgICAgclswXSA9IF9t
bTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKSZyZWZfcHRyWzBdKTsKKyAgICByWzFd
ID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopJnJlZl9wdHJbMV0pOworICAg
IHJbMl0gPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikmcmVmX3B0clsyXSk7
CisgICAgclszXSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKSZyZWZfcHRy
WzNdKTsKKyAgICByWzRdID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25zdCBfX20yNTZpICopJnJl
Zl9wdHJbNF0pOworICAgIHJbNV0gPSBfbW0yNTZfbG9hZHVfc2kyNTYoKGNvbnN0IF9fbTI1Nmkg
KikmcmVmX3B0cls1XSk7CisgICAgcls2XSA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoY29uc3QgX19t
MjU2aSAqKSZyZWZfcHRyWzZdKTsKKyAgICByWzddID0gX21tMjU2X2xvYWR1X3NpMjU2KChjb25z
dCBfX20yNTZpICopJnJlZl9wdHJbN10pOworCisgICAgLy8gc3VtIG9mIHRoZSBhYnNvbHV0ZSBk
aWZmZXJlbmNlcyBiZXR3ZWVuIGV2ZXJ5IHJlZltdIHRvIHNyYworICAgIHJbMF0gPSBfbW0yNTZf
c2FkX2VwdTgoclswXSwgcyk7CisgICAgclsxXSA9IF9tbTI1Nl9zYWRfZXB1OChyWzFdLCBzKTsK
KyAgICByWzJdID0gX21tMjU2X3NhZF9lcHU4KHJbMl0sIHMpOworICAgIHJbM10gPSBfbW0yNTZf
c2FkX2VwdTgoclszXSwgcyk7CisgICAgcls0XSA9IF9tbTI1Nl9zYWRfZXB1OChyWzRdLCBzKTsK
KyAgICByWzVdID0gX21tMjU2X3NhZF9lcHU4KHJbNV0sIHMpOworICAgIHJbNl0gPSBfbW0yNTZf
c2FkX2VwdTgocls2XSwgcyk7CisgICAgcls3XSA9IF9tbTI1Nl9zYWRfZXB1OChyWzddLCBzKTsK
KworICAgIC8vIHN1bSBldmVyeSByZWZbXQorICAgIHN1bXNbMF0gPSBfbW0yNTZfYWRkX2VwaTMy
KHN1bXNbMF0sIHJbMF0pOworICAgIHN1bXNbMV0gPSBfbW0yNTZfYWRkX2VwaTMyKHN1bXNbMV0s
IHJbMV0pOworICAgIHN1bXNbMl0gPSBfbW0yNTZfYWRkX2VwaTMyKHN1bXNbMl0sIHJbMl0pOwor
ICAgIHN1bXNbM10gPSBfbW0yNTZfYWRkX2VwaTMyKHN1bXNbM10sIHJbM10pOworICAgIHN1bXNb
NF0gPSBfbW0yNTZfYWRkX2VwaTMyKHN1bXNbNF0sIHJbNF0pOworICAgIHN1bXNbNV0gPSBfbW0y
NTZfYWRkX2VwaTMyKHN1bXNbNV0sIHJbNV0pOworICAgIHN1bXNbNl0gPSBfbW0yNTZfYWRkX2Vw
aTMyKHN1bXNbNl0sIHJbNl0pOworICAgIHN1bXNbN10gPSBfbW0yNTZfYWRkX2VwaTMyKHN1bXNb
N10sIHJbN10pOworCisgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOworICAgIHJlZl9wdHIgKz0g
cmVmX3N0cmlkZTsKKyAgfQorCisgIGNhbGNfZmluYWxfNChzdW1zLCBzYWRfYXJyYXkpOworICBj
YWxjX2ZpbmFsXzQoc3VtcyArIDQsIHNhZF9hcnJheSArIDQpOworfQorCit2b2lkIHZweF9zYWQ2
NHg2NHg0ZF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0s
IGludCByZWZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzYWRf
YXJyYXlbNF0pIHsKICAgX19tMjU2aSBzdW1zWzRdOwogICBpbnQgaTsKICAgY29uc3QgdWludDhf
dCAqcmVmc1s0XTsKQEAgLTkxLDcgKzE0Miw3IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBzYWQ2NHho
eDRkX2F2eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCiAgIHN1bXNb
Ml0gPSBfbW0yNTZfc2V0emVyb19zaTI1NigpOwogICBzdW1zWzNdID0gX21tMjU2X3NldHplcm9f
c2kyNTYoKTsKIAotICBmb3IgKGkgPSAwOyBpIDwgaDsgaSsrKSB7CisgIGZvciAoaSA9IDA7IGkg
PCA2NDsgaSsrKSB7CiAgICAgX19tMjU2aSByX2xvWzRdLCByX2hpWzRdOwogICAgIC8vIGxvYWQg
NjQgYnl0ZXMgZnJvbSBzcmMgYW5kIGFsbCByZWZbXQogICAgIGNvbnN0IF9fbTI1Nmkgc19sbyA9
IF9tbTI1Nl9sb2FkX3NpMjU2KChjb25zdCBfX20yNTZpICopc3JjX3B0cik7CkBAIC0xMzQsNTEg
KzE4NSwzIEBAIHN0YXRpYyBJTkxJTkUgdm9pZCBzYWQ2NHhoeDRkX2F2eDIoY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCiAKICAgY2FsY19maW5hbF80KHN1bXMsIHNhZF9h
cnJheSk7CiB9Ci0KLSNkZWZpbmUgU0FENjRfSChoKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdm9pZCB2cHhfc2FkNjR4IyNoIyN4
NGRfYXZ4Mihjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLCAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJy
YXlbNF0sICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVm
X3N0cmlkZSwgdWludDMyX3Qgc2FkX2FycmF5WzRdKSB7ICAgIFwKLSAgICBzYWQ2NHhoeDRkX2F2
eDIoc3JjLCBzcmNfc3RyaWRlLCByZWZfYXJyYXksIHJlZl9zdHJpZGUsIGgsIHNhZF9hcnJheSk7
IFwKLSAgfQotCi0jZGVmaW5lIFNBRDMyX0goaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHZvaWQgdnB4X3NhZDMyeCMjaCMjeDRk
X2F2eDIoY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5
WzRdLCAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZl9z
dHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSkgeyAgICBcCi0gICAgc2FkMzJ4aHg0ZF9hdngy
KHNyYywgc3JjX3N0cmlkZSwgcmVmX2FycmF5LCByZWZfc3RyaWRlLCBoLCBzYWRfYXJyYXkpOyBc
Ci0gIH0KLQotU0FENjRfSCg2NCkKLVNBRDMyX0goMzIpCi0KLSNkZWZpbmUgU0FEUzY0X0goaCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgdm9pZCB2cHhfc2FkX3NraXBfNjR4IyNoIyN4NGRfYXZ4Mihjb25zdCB1aW50OF90ICpz
cmMsIGludCBzcmNfc3RyaWRlLCAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OF90ICpjb25zdCByZWZfYXJyYXlbNF0sICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVmX3N0cmlkZSwgdWludDMyX3Qg
c2FkX2FycmF5WzRdKSB7IFwKLSAgICBzYWQ2NHhoeDRkX2F2eDIoc3JjLCAyICogc3JjX3N0cmlk
ZSwgcmVmX2FycmF5LCAyICogcmVmX3N0cmlkZSwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgKChoKSA+PiAxKSwgc2FkX2FycmF5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBzYWRfYXJyYXlbMF0gPDw9IDE7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzYWRfYXJyYXlbMV0gPDw9IDE7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBzYWRfYXJyYXlbMl0gPDw9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzYWRfYXJyYXlbM10gPDw9IDE7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi0j
ZGVmaW5lIFNBRFMzMl9IKGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIHZvaWQgdnB4X3NhZF9za2lwXzMyeCMjaCMjeDRkX2F2
eDIoY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5
WzRdLCAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJl
Zl9zdHJpZGUsIHVpbnQzMl90IHNhZF9hcnJheVs0XSkgeyBcCi0gICAgc2FkMzJ4aHg0ZF9hdngy
KHNyYywgMiAqIHNyY19zdHJpZGUsIHJlZl9hcnJheSwgMiAqIHJlZl9zdHJpZGUsICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICgoaCkgPj4gMSksIHNhZF9hcnJheSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc2FkX2FycmF5WzBdIDw8PSAxOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
c2FkX2FycmF5WzFdIDw8PSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgc2FkX2FycmF5WzJdIDw8PSAxOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc2FkX2FycmF5
WzNdIDw8PSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIH0KLQotU0FEUzY0X0goNjQpCi1TQURTNjRfSCgzMikKLQotU0FEUzMyX0go
NjQpCi1TQURTMzJfSCgzMikKLVNBRFMzMl9IKDE2KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL3g4Ni9zYWQ0ZF9hdng1MTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkNGRf
YXZ4NTEyLmMKaW5kZXggY2ZkMjNmZWRkOTVlLi40YzVkNzA0NjRkZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkNGRfYXZ4NTEyLmMKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3g4Ni9zYWQ0ZF9hdng1MTIuYwpAQCAtMTMsNyArMTMsNyBAQAogCiB2b2lkIHZweF9zYWQ2
NHg2NHg0ZF9hdng1MTIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3QgcmVmX2FycmF5
WzRdLCBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBzYWRfYXJyYXlbNF0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBy
ZXNbNF0pIHsKICAgX19tNTEyaSBzcmNfcmVnLCByZWYwX3JlZywgcmVmMV9yZWcsIHJlZjJfcmVn
LCByZWYzX3JlZzsKICAgX19tNTEyaSBzdW1fcmVmMCwgc3VtX3JlZjEsIHN1bV9yZWYyLCBzdW1f
cmVmMzsKICAgX19tNTEyaSBzdW1fbWxvdywgc3VtX21oaWdoOwpAQCAtNzgsNiArNzgsNiBAQCB2
b2lkIHZweF9zYWQ2NHg2NHg0ZF9hdng1MTIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNy
Y19zdHJpZGUsCiAgICAgc3VtMTI4ID0gX21tX2FkZF9lcGkzMihfbW0yNTZfY2FzdHNpMjU2X3Np
MTI4KHN1bTI1NiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbW0yNTZfZXh0cmFjdGYx
Mjhfc2kyNTYoc3VtMjU2LCAxKSk7CiAKLSAgICBfbW1fc3RvcmV1X3NpMTI4KChfX20xMjhpICop
KHNhZF9hcnJheSksIHN1bTEyOCk7CisgICAgX21tX3N0b3JldV9zaTEyOCgoX19tMTI4aSAqKShy
ZXMpLCBzdW0xMjgpOwogICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2
L3NhZDRkX3NzZTIuYXNtIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9zYWQ0ZF9zc2UyLmFzbQpp
bmRleCBlZDRlYTNlZjliMmIuLjNmNmU1NWNlOWE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL3g4Ni9zYWQ0ZF9zc2UyLmFzbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3Nh
ZDRkX3NzZTIuYXNtCkBAIC0xNzksMjcgKzE3OSwxMyBAQCBTRUNUSU9OIC50ZXh0CiA7ICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnJlZls0XSwgaW50IHJlZl9zdHJpZGUsCiA7ICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJlc1s0XSk7CiA7IHdoZXJlIE54TiA9IDY0
eDY0LCAzMngzMiwgMTZ4MTYsIDE2eDgsIDh4MTYsIDh4OCwgOHg0LCA0eDggYW5kIDR4NAotJW1h
Y3JvIFNBRE5YTjREIDItMyAwCi0laWYgJTMgPT0gMSAgOyBza2lwIHJvd3MKLSVpZiBVTklYNjQK
LWNnbG9iYWwgc2FkX3NraXBfJTF4JTJ4NGQsIDUsIDgsIDgsIHNyYywgc3JjX3N0cmlkZSwgcmVm
MSwgcmVmX3N0cmlkZSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLCByZWYy
LCByZWYzLCByZWY0Ci0lZWxzZQotY2dsb2JhbCBzYWRfc2tpcF8lMXglMng0ZCwgNCwgNywgOCwg
c3JjLCBzcmNfc3RyaWRlLCByZWYxLCByZWZfc3RyaWRlLCBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZWYyLCByZWYzLCByZWY0Ci0lZW5kaWYKLSVlbHNlICA7IG5vcm1hbCBzYWQK
KyVtYWNybyBTQUROWE40RCAyCiAlaWYgVU5JWDY0CiBjZ2xvYmFsIHNhZCUxeCUyeDRkLCA1LCA4
LCA4LCBzcmMsIHNyY19zdHJpZGUsIHJlZjEsIHJlZl9zdHJpZGUsIFwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlcywgcmVmMiwgcmVmMywgcmVmNAogJWVsc2UKIGNnbG9iYWwgc2Fk
JTF4JTJ4NGQsIDQsIDcsIDgsIHNyYywgc3JjX3N0cmlkZSwgcmVmMSwgcmVmX3N0cmlkZSwgXAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmMiwgcmVmMywgcmVmNAotJWVuZGlmCi0l
ZW5kaWYKLSVpZiAlMyA9PSAxCi0gIGxlYSAgICAgICAgICBzcmNfc3RyaWRlZCwgWzIqc3JjX3N0
cmlkZWRdCi0gIGxlYSAgICAgICAgICByZWZfc3RyaWRlZCwgWzIqcmVmX3N0cmlkZWRdCiAlZW5k
aWYKICAgbW92c3hkaWZuaWRuIHNyY19zdHJpZGVxLCBzcmNfc3RyaWRlZAogICBtb3ZzeGRpZm5p
ZG4gcmVmX3N0cmlkZXEsIHJlZl9zdHJpZGVkCkBAIC0yMDksMTUgKzE5NSw5IEBAIGNnbG9iYWwg
c2FkJTF4JTJ4NGQsIDQsIDcsIDgsIHNyYywgc3JjX3N0cmlkZSwgcmVmMSwgcmVmX3N0cmlkZSwg
XAogICBtb3YgICAgICAgICAgICAgICAgcmVmMXEsIFtyZWYxcStncHJzaXplKjBdCiAKICAgUFJP
Q0VTU18lMXgyeDQgMSwgMCwgMCwgc3JjX3N0cmlkZXEsIHJlZl9zdHJpZGVxLCAxCi0laWYgJTMg
PT0gMSAgOyBkb3duc2FtcGxlIG51bWJlciBvZiByb3dzIGJ5IDIKLSVkZWZpbmUgbnVtX3JlcCAo
JTItOCkvNAotJWVsc2UKLSVkZWZpbmUgbnVtX3JlcCAoJTItNCkvMgotJWVuZGlmCi0lcmVwIG51
bV9yZXAKKyVyZXAgKCUyLTQpLzIKICAgUFJPQ0VTU18lMXgyeDQgMCwgMCwgMCwgc3JjX3N0cmlk
ZXEsIHJlZl9zdHJpZGVxLCAxCiAlZW5kcmVwCi0ldW5kZWYgbnVtX3JlcAogICBQUk9DRVNTXyUx
eDJ4NCAwLCAwLCAwLCBzcmNfc3RyaWRlcSwgcmVmX3N0cmlkZXEsIDAKIAogJWlmICUxID4gNApA
QCAtMjMxLDE5ICsyMTEsMTIgQEAgY2dsb2JhbCBzYWQlMXglMng0ZCwgNCwgNywgOCwgc3JjLCBz
cmNfc3RyaWRlLCByZWYxLCByZWZfc3RyaWRlLCBcCiAgIHB1bnBja2hxZHEgICAgICAgICAgICBt
NSwgbTcKICAgbW92aWZuaWRuICAgICAgICAgICAgIHI0LCByNG1wCiAgIHBhZGRkICAgICAgICAg
ICAgICAgICBtNCwgbTUKLSVpZiAlMyA9PSAxCi0gIHBzbGxkICAgICAgICAgICAgICAgICBtNCwg
MQotJWVuZGlmCiAgIG1vdnUgICAgICAgICAgICAgICAgW3I0XSwgbTQKICAgUkVUCiAlZWxzZQog
ICBtb3ZpZm5pZG4gICAgICAgICAgICAgcjQsIHI0bXAKICAgcHNodWZkICAgICAgICAgICAgbTYs
IG02LCAweDA4CiAgIHBzaHVmZCAgICAgICAgICAgIG03LCBtNywgMHgwOAotJWlmICUzID09IDEK
LSAgcHNsbGQgICAgICAgICAgICAgICAgIG02LCAxCi0gIHBzbGxkICAgICAgICAgICAgICAgICBt
NywgMQotJWVuZGlmCiAgIG1vdnEgICAgICAgICAgICAgIFtyNCswXSwgbTYKICAgbW92cSAgICAg
ICAgICAgICAgW3I0KzhdLCBtNwogICBSRVQKQEAgLTI2NCwxNSArMjM3LDMgQEAgU0FETlhONEQg
IDgsICA4CiBTQUROWE40RCAgOCwgIDQKIFNBRE5YTjREICA0LCAgOAogU0FETlhONEQgIDQsICA0
Ci0KLVNBRE5YTjREIDY0LCA2NCwgMQotU0FETlhONEQgNjQsIDMyLCAxCi1TQUROWE40RCAzMiwg
NjQsIDEKLVNBRE5YTjREIDMyLCAzMiwgMQotU0FETlhONEQgMzIsIDE2LCAxCi1TQUROWE40RCAx
NiwgMzIsIDEKLVNBRE5YTjREIDE2LCAxNiwgMQotU0FETlhONEQgMTYsICA4LCAxCi1TQUROWE40
RCAgOCwgMTYsIDEKLVNBRE5YTjREICA4LCAgOCwgMQotU0FETlhONEQgIDQsICA4LCAxCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3NhZF9hdngyLmMgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AveDg2L3NhZF9hdngyLmMKaW5kZXggZTAwNDk0ZDc2NmUxLi5kOTQ0MTM0MzA1NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX2F2eDIuYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9kc3AveDg2L3NhZF9hdngyLmMKQEAgLTExLDEyMCArMTEsODggQEAKICNpbmNsdWRl
ICIuL3ZweF9kc3BfcnRjZC5oIgogI2luY2x1ZGUgInZweF9wb3J0cy9tZW0uaCIKIAotc3RhdGlj
IElOTElORSB1bnNpZ25lZCBpbnQgc2FkNjR4aF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIs
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoKSB7Ci0gIGludCBpLCByZXM7Ci0gIF9fbTI1
Nmkgc2FkMV9yZWcsIHNhZDJfcmVnLCByZWYxX3JlZywgcmVmMl9yZWc7Ci0gIF9fbTI1Nmkgc3Vt
X3NhZCA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gIF9fbTI1Nmkgc3VtX3NhZF9oOwotICBf
X20xMjhpIHN1bV9zYWQxMjg7Ci0gIGZvciAoaSA9IDA7IGkgPCBoOyBpKyspIHsKLSAgICByZWYx
X3JlZyA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoX19tMjU2aSBjb25zdCAqKXJlZl9wdHIpOwotICAg
IHJlZjJfcmVnID0gX21tMjU2X2xvYWR1X3NpMjU2KChfX20yNTZpIGNvbnN0ICopKHJlZl9wdHIg
KyAzMikpOwotICAgIHNhZDFfcmVnID0KLSAgICAgICAgX21tMjU2X3NhZF9lcHU4KHJlZjFfcmVn
LCBfbW0yNTZfbG9hZHVfc2kyNTYoKF9fbTI1NmkgY29uc3QgKilzcmNfcHRyKSk7Ci0gICAgc2Fk
Ml9yZWcgPSBfbW0yNTZfc2FkX2VwdTgoCi0gICAgICAgIHJlZjJfcmVnLCBfbW0yNTZfbG9hZHVf
c2kyNTYoKF9fbTI1NmkgY29uc3QgKikoc3JjX3B0ciArIDMyKSkpOwotICAgIHN1bV9zYWQgPSBf
bW0yNTZfYWRkX2VwaTMyKHN1bV9zYWQsIF9tbTI1Nl9hZGRfZXBpMzIoc2FkMV9yZWcsIHNhZDJf
cmVnKSk7Ci0gICAgcmVmX3B0ciArPSByZWZfc3RyaWRlOwotICAgIHNyY19wdHIgKz0gc3JjX3N0
cmlkZTsKLSAgfQotICBzdW1fc2FkX2ggPSBfbW0yNTZfc3JsaV9zaTI1NihzdW1fc2FkLCA4KTsK
LSAgc3VtX3NhZCA9IF9tbTI1Nl9hZGRfZXBpMzIoc3VtX3NhZCwgc3VtX3NhZF9oKTsKLSAgc3Vt
X3NhZDEyOCA9IF9tbTI1Nl9leHRyYWN0aTEyOF9zaTI1NihzdW1fc2FkLCAxKTsKLSAgc3VtX3Nh
ZDEyOCA9IF9tbV9hZGRfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1fc2FkKSwgc3Vt
X3NhZDEyOCk7Ci0gIHJlcyA9IF9tbV9jdnRzaTEyOF9zaTMyKHN1bV9zYWQxMjgpOwotICByZXR1
cm4gcmVzOwotfQotCi1zdGF0aWMgSU5MSU5FIHVuc2lnbmVkIGludCBzYWQzMnhoX2F2eDIoY29u
c3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgaW50IHJlZl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgpIHsKLSAg
aW50IGksIHJlczsKLSAgX19tMjU2aSBzYWQxX3JlZywgc2FkMl9yZWcsIHJlZjFfcmVnLCByZWYy
X3JlZzsKLSAgX19tMjU2aSBzdW1fc2FkID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsKLSAgX19t
MjU2aSBzdW1fc2FkX2g7Ci0gIF9fbTEyOGkgc3VtX3NhZDEyODsKLSAgY29uc3QgaW50IHJlZjJf
c3RyaWRlID0gcmVmX3N0cmlkZSA8PCAxOwotICBjb25zdCBpbnQgc3JjMl9zdHJpZGUgPSBzcmNf
c3RyaWRlIDw8IDE7Ci0gIGNvbnN0IGludCBtYXggPSBoID4+IDE7Ci0gIGZvciAoaSA9IDA7IGkg
PCBtYXg7IGkrKykgewotICAgIHJlZjFfcmVnID0gX21tMjU2X2xvYWR1X3NpMjU2KChfX20yNTZp
IGNvbnN0ICopcmVmX3B0cik7Ci0gICAgcmVmMl9yZWcgPSBfbW0yNTZfbG9hZHVfc2kyNTYoKF9f
bTI1NmkgY29uc3QgKikocmVmX3B0ciArIHJlZl9zdHJpZGUpKTsKLSAgICBzYWQxX3JlZyA9Ci0g
ICAgICAgIF9tbTI1Nl9zYWRfZXB1OChyZWYxX3JlZywgX21tMjU2X2xvYWR1X3NpMjU2KChfX20y
NTZpIGNvbnN0ICopc3JjX3B0cikpOwotICAgIHNhZDJfcmVnID0gX21tMjU2X3NhZF9lcHU4KAot
ICAgICAgICByZWYyX3JlZywgX21tMjU2X2xvYWR1X3NpMjU2KChfX20yNTZpIGNvbnN0ICopKHNy
Y19wdHIgKyBzcmNfc3RyaWRlKSkpOwotICAgIHN1bV9zYWQgPSBfbW0yNTZfYWRkX2VwaTMyKHN1
bV9zYWQsIF9tbTI1Nl9hZGRfZXBpMzIoc2FkMV9yZWcsIHNhZDJfcmVnKSk7Ci0gICAgcmVmX3B0
ciArPSByZWYyX3N0cmlkZTsKLSAgICBzcmNfcHRyICs9IHNyYzJfc3RyaWRlOwotICB9Ci0gIHN1
bV9zYWRfaCA9IF9tbTI1Nl9zcmxpX3NpMjU2KHN1bV9zYWQsIDgpOwotICBzdW1fc2FkID0gX21t
MjU2X2FkZF9lcGkzMihzdW1fc2FkLCBzdW1fc2FkX2gpOwotICBzdW1fc2FkMTI4ID0gX21tMjU2
X2V4dHJhY3RpMTI4X3NpMjU2KHN1bV9zYWQsIDEpOwotICBzdW1fc2FkMTI4ID0gX21tX2FkZF9l
cGkzMihfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHN1bV9zYWQpLCBzdW1fc2FkMTI4KTsKLSAgcmVz
ID0gX21tX2N2dHNpMTI4X3NpMzIoc3VtX3NhZDEyOCk7Ci0gIHJldHVybiByZXM7Ci19Ci0KICNk
ZWZpbmUgRlNBRDY0X0goaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgdW5zaWduZWQgaW50IHZweF9zYWQ2NHgjI2gjI19hdngy
KGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCAgIFwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZf
c3RyaWRlKSB7IFwKLSAgICByZXR1cm4gc2FkNjR4aF9hdngyKHNyY19wdHIsIHNyY19zdHJpZGUs
IHJlZl9wdHIsIHJlZl9zdHJpZGUsIGgpOyAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIEZTQURT
NjRfSChoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIHVuc2lnbmVkIGludCB2cHhfc2FkX3NraXBfNjR4IyNoIyNfYXZ4MiggICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBjb25zdCB1aW50OF90ICpz
cmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAqcmVmX3B0ciwgICAgICAgICBc
Ci0gICAgICBpbnQgcmVmX3N0cmlkZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcmV0dXJuIDIgKiBzYWQ2NHhoX2F2eDIoc3Jj
X3B0ciwgc3JjX3N0cmlkZSAqIDIsIHJlZl9wdHIsIHJlZl9zdHJpZGUgKiAyLCBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaCAvIDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgaW50IGksIHJlczsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19tMjU2aSBzYWQx
X3JlZywgc2FkMl9yZWcsIHJlZjFfcmVnLCByZWYyX3JlZzsgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgX19tMjU2aSBzdW1fc2FkID0gX21tMjU2X3NldHplcm9fc2kyNTYoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19tMjU2aSBzdW1fc2FkX2g7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgX19tMTI4aSBzdW1fc2FkMTI4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpID0gMDsgaSA8IGg7IGkrKykgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICByZWYx
X3JlZyA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoX19tMjU2aSBjb25zdCAqKXJlZl9wdHIpOyAgICAg
ICAgICAgICAgICBcCisgICAgICByZWYyX3JlZyA9IF9tbTI1Nl9sb2FkdV9zaTI1NigoX19tMjU2
aSBjb25zdCAqKShyZWZfcHRyICsgMzIpKTsgICAgICAgICBcCisgICAgICBzYWQxX3JlZyA9IF9t
bTI1Nl9zYWRfZXB1OCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICAgcmVmMV9yZWcsIF9tbTI1Nl9sb2FkdV9zaTI1NigoX19tMjU2aSBjb25z
dCAqKXNyY19wdHIpKTsgICAgICAgICAgICBcCisgICAgICBzYWQyX3JlZyA9IF9tbTI1Nl9zYWRf
ZXB1OCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgcmVmMl9yZWcsIF9tbTI1Nl9sb2FkdV9zaTI1NigoX19tMjU2aSBjb25zdCAqKShzcmNf
cHRyICsgMzIpKSk7ICAgICBcCisgICAgICBzdW1fc2FkID0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgX21t
MjU2X2FkZF9lcGkzMihzdW1fc2FkLCBfbW0yNTZfYWRkX2VwaTMyKHNhZDFfcmVnLCBzYWQyX3Jl
ZykpOyAgICBcCisgICAgICByZWZfcHRyICs9IHJlZl9zdHJpZGU7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBzcmNfcHRyICs9IHNyY19z
dHJpZGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3VtX3NhZF9oID0gX21tMjU2X3NybGlfc2ky
NTYoc3VtX3NhZCwgOCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3Vt
X3NhZCA9IF9tbTI1Nl9hZGRfZXBpMzIoc3VtX3NhZCwgc3VtX3NhZF9oKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgc3VtX3NhZDEyOCA9IF9tbTI1Nl9leHRyYWN0aTEyOF9zaTI1
NihzdW1fc2FkLCAxKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3VtX3NhZDEyOCA9
IF9tbV9hZGRfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzdW1fc2FkKSwgc3VtX3NhZDEy
OCk7ICBcCisgICAgcmVzID0gX21tX2N2dHNpMTI4X3NpMzIoc3VtX3NhZDEyOCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIHJlczsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
IH0KIAogI2RlZmluZSBGU0FEMzJfSChoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeCMj
aCMjX2F2eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsICAgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0ciwg
aW50IHJlZl9zdHJpZGUpIHsgXAotICAgIHJldHVybiBzYWQzMnhoX2F2eDIoc3JjX3B0ciwgc3Jj
X3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgaCk7ICAgICAgICAgXAotICB9Ci0KLSNkZWZp
bmUgRlNBRFMzMl9IKGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgdW5zaWduZWQgaW50IHZweF9zYWRfc2tpcF8zMngjI2gjI19h
dngyKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpyZWZfcHRyLCAg
ICAgICAgIFwKLSAgICAgIGludCByZWZfc3RyaWRlKSB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZXR1cm4gMiAqIHNhZDMyeGhf
YXZ4MihzcmNfcHRyLCBzcmNfc3RyaWRlICogMiwgcmVmX3B0ciwgcmVmX3N0cmlkZSAqIDIsIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoIC8gMik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgaSwgcmVzOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX20y
NTZpIHNhZDFfcmVnLCBzYWQyX3JlZywgcmVmMV9yZWcsIHJlZjJfcmVnOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBfX20yNTZpIHN1bV9zYWQgPSBfbW0yNTZfc2V0emVyb19zaTI1
NigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX20yNTZpIHN1bV9z
YWRfaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBfX20xMjhpIHN1bV9zYWQxMjg7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgcmVmMl9zdHJpZGUgPSByZWZf
c3RyaWRlIDw8IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBpbnQgc3JjMl9zdHJpZGUgPSBzcmNfc3RyaWRlIDw8IDE7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgbWF4ID0gaCA+PiAxOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGkg
PSAwOyBpIDwgbWF4OyBpKyspIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgIHJlZjFfcmVnID0gX21tMjU2X2xvYWR1X3NpMjU2KChfX20yNTZp
IGNvbnN0ICopcmVmX3B0cik7ICAgICAgICAgICAgICAgIFwKKyAgICAgIHJlZjJfcmVnID0gX21t
MjU2X2xvYWR1X3NpMjU2KChfX20yNTZpIGNvbnN0ICopKHJlZl9wdHIgKyByZWZfc3RyaWRlKSk7
IFwKKyAgICAgIHNhZDFfcmVnID0gX21tMjU2X3NhZF9lcHU4KCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICByZWYxX3JlZywgX21tMjU2X2xv
YWR1X3NpMjU2KChfX20yNTZpIGNvbnN0ICopc3JjX3B0cikpOyAgICAgICAgICAgIFwKKyAgICAg
IHNhZDJfcmVnID0gX21tMjU2X3NhZF9lcHU4KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICByZWYyX3JlZywgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBfbW0y
NTZfbG9hZHVfc2kyNTYoKF9fbTI1NmkgY29uc3QgKikoc3JjX3B0ciArIHNyY19zdHJpZGUpKSk7
ICAgICAgIFwKKyAgICAgIHN1bV9zYWQgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBfbW0yNTZfYWRkX2Vw
aTMyKHN1bV9zYWQsIF9tbTI1Nl9hZGRfZXBpMzIoc2FkMV9yZWcsIHNhZDJfcmVnKSk7ICAgIFwK
KyAgICAgIHJlZl9wdHIgKz0gcmVmMl9zdHJpZGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHNyY19wdHIgKz0gc3JjMl9zdHJpZGU7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBzdW1fc2FkX2ggPSBfbW0yNTZfc3JsaV9zaTI1NihzdW1fc2Fk
LCA4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzdW1fc2FkID0gX21t
MjU2X2FkZF9lcGkzMihzdW1fc2FkLCBzdW1fc2FkX2gpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBzdW1fc2FkMTI4ID0gX21tMjU2X2V4dHJhY3RpMTI4X3NpMjU2KHN1bV9zYWQs
IDEpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzdW1fc2FkMTI4ID0gX21tX2FkZF9l
cGkzMihfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHN1bV9zYWQpLCBzdW1fc2FkMTI4KTsgIFwKKyAg
ICByZXMgPSBfbW1fY3Z0c2kxMjhfc2kzMihzdW1fc2FkMTI4KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICByZXR1cm4gcmVzOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfQogCiAjZGVm
aW5lIEZTQUQ2NCAgXAotICBGU0FENjRfSCg2NCkgIFwKLSAgRlNBRDY0X0goMzIpICBcCi0gIEZT
QURTNjRfSCg2NCkgXAotICBGU0FEUzY0X0goMzIpCisgIEZTQUQ2NF9IKDY0KTsgXAorICBGU0FE
NjRfSCgzMik7CiAKICNkZWZpbmUgRlNBRDMyICBcCi0gIEZTQUQzMl9IKDY0KSAgXAotICBGU0FE
MzJfSCgzMikgIFwKLSAgRlNBRDMyX0goMTYpICBcCi0gIEZTQURTMzJfSCg2NCkgXAotICBGU0FE
UzMyX0goMzIpIFwKLSAgRlNBRFMzMl9IKDE2KQorICBGU0FEMzJfSCg2NCk7IFwKKyAgRlNBRDMy
X0goMzIpOyBcCisgIEZTQUQzMl9IKDE2KTsKIAotRlNBRDY0Ci1GU0FEMzIKK0ZTQUQ2NDsKK0ZT
QUQzMjsKIAogI3VuZGVmIEZTQUQ2NAogI3VuZGVmIEZTQUQzMgogI3VuZGVmIEZTQUQ2NF9ICiAj
dW5kZWYgRlNBRDMyX0gKLSN1bmRlZiBGU0FEUzY0X0gKLSN1bmRlZiBGU0FEUzMyX0gKIAogI2Rl
ZmluZSBGU0FEQVZHNjRfSChoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICB1bnNpZ25lZCBpbnQgdnB4X3NhZDY0eCMjaCMjX2F2Z19h
dngyKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIs
ICAgICAgICAgXAogICAgICAgaW50IHJlZl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9w
cmVkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludCBpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIGludCBpLCByZXM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fbTI1Nmkgc2FkMV9yZWcsIHNhZDJfcmVn
LCByZWYxX3JlZywgcmVmMl9yZWc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9f
bTI1Nmkgc3VtX3NhZCA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIF9fbTI1Nmkgc3VtX3NhZF9oOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTUwLDE0ICsxMTgs
MTUgQEAgRlNBRDMyCiAgICAgc3VtX3NhZCA9IF9tbTI1Nl9hZGRfZXBpMzIoc3VtX3NhZCwgc3Vt
X3NhZF9oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgc3VtX3NhZDEyOCA9IF9t
bTI1Nl9leHRyYWN0aTEyOF9zaTI1NihzdW1fc2FkLCAxKTsgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgc3VtX3NhZDEyOCA9IF9tbV9hZGRfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEy
OChzdW1fc2FkKSwgc3VtX3NhZDEyOCk7ICBcCi0gICAgcmV0dXJuICh1bnNpZ25lZCBpbnQpX21t
X2N2dHNpMTI4X3NpMzIoc3VtX3NhZDEyOCk7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
cmVzID0gX21tX2N2dHNpMTI4X3NpMzIoc3VtX3NhZDEyOCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIHJlczsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0KIAogI2RlZmlu
ZSBGU0FEQVZHMzJfSChoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICB1bnNpZ25lZCBpbnQgdnB4X3NhZDMyeCMjaCMjX2F2Z19hdngy
KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgY29uc3QgdWlu
dDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsICAg
ICAgICAgXAogICAgICAgaW50IHJlZl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNlY29uZF9wcmVk
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludCBpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGludCBpLCByZXM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fbTI1Nmkgc2FkMV9yZWcsIHNhZDJfcmVnLCBy
ZWYxX3JlZywgcmVmMl9yZWc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fbTI1
Nmkgc3VtX3NhZCA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIF9fbTI1Nmkgc3VtX3NhZF9oOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTg3LDIwICsxNTYsMjEg
QEAgRlNBRDMyCiAgICAgc3VtX3NhZCA9IF9tbTI1Nl9hZGRfZXBpMzIoc3VtX3NhZCwgc3VtX3Nh
ZF9oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgc3VtX3NhZDEyOCA9IF9tbTI1
Nl9leHRyYWN0aTEyOF9zaTI1NihzdW1fc2FkLCAxKTsgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgc3VtX3NhZDEyOCA9IF9tbV9hZGRfZXBpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChz
dW1fc2FkKSwgc3VtX3NhZDEyOCk7ICBcCi0gICAgcmV0dXJuICh1bnNpZ25lZCBpbnQpX21tX2N2
dHNpMTI4X3NpMzIoc3VtX3NhZDEyOCk7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVz
ID0gX21tX2N2dHNpMTI4X3NpMzIoc3VtX3NhZDEyOCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIHJlczsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIH0KIAotI2RlZmluZSBG
U0FEQVZHNjQgXAotICBGU0FEQVZHNjRfSCg2NCkgXAotICBGU0FEQVZHNjRfSCgzMikKKyNkZWZp
bmUgRlNBREFWRzY0ICBcCisgIEZTQURBVkc2NF9IKDY0KTsgXAorICBGU0FEQVZHNjRfSCgzMik7
CiAKLSNkZWZpbmUgRlNBREFWRzMyIFwKLSAgRlNBREFWRzMyX0goNjQpIFwKLSAgRlNBREFWRzMy
X0goMzIpIFwKLSAgRlNBREFWRzMyX0goMTYpCisjZGVmaW5lIEZTQURBVkczMiAgXAorICBGU0FE
QVZHMzJfSCg2NCk7IFwKKyAgRlNBREFWRzMyX0goMzIpOyBcCisgIEZTQURBVkczMl9IKDE2KTsK
IAotRlNBREFWRzY0Ci1GU0FEQVZHMzIKK0ZTQURBVkc2NDsKK0ZTQURBVkczMjsKIAogI3VuZGVm
IEZTQURBVkc2NAogI3VuZGVmIEZTQURBVkczMgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhf
ZHNwL3g4Ni9zYWRfc3NlMi5hc20gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3NhZF9zc2UyLmFz
bQppbmRleCA2MjdlNDYzYmY4ZmIuLmU0ZTFiYzNlOThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhfZHNwL3g4Ni9zYWRfc3NlMi5hc20KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9z
YWRfc3NlMi5hc20KQEAgLTEyLDI5ICsxMiwxNSBAQAogCiBTRUNUSU9OIC50ZXh0CiAKLTsgTWFj
cm8gQXJndW1lbnRzCi07IEFyZyAxOiBXaWR0aAotOyBBcmcgMjogSGVpZ2h0Ci07IEFyZyAzOiBO
dW1iZXIgb2YgZ2VuZXJhbCBwdXJwb3NlIHJlZ2lzdGVycwotOyBBcmcgNDogVHlwZSBvZiBmdW5j
dGlvbjogaWYgMCwgbm9ybWFsIHNhZDsgaWYgMSwgYXZnOyBpZiAyLCBza2lwIHJvd3MKICVtYWNy
byBTQURfRk4gNAotJWlmICU0ID09IDAgOyBub3JtYWwgc2FkCislaWYgJTQgPT0gMAogJWlmICUz
ID09IDUKIGNnbG9iYWwgc2FkJTF4JTIsIDQsICUzLCA1LCBzcmMsIHNyY19zdHJpZGUsIHJlZiwg
cmVmX3N0cmlkZSwgbl9yb3dzCiAlZWxzZSA7ICUzID09IDcKIGNnbG9iYWwgc2FkJTF4JTIsIDQs
ICUzLCA2LCBzcmMsIHNyY19zdHJpZGUsIHJlZiwgcmVmX3N0cmlkZSwgXAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNyY19zdHJpZGUzLCByZWZfc3RyaWRlMywgbl9yb3dzCiAlZW5kaWYg
OyAlMyA9PSA1LzcKLQotJWVsaWYgJTQgPT0gMiA7IHNraXAKLSVpZiAlMyA9PSA1Ci1jZ2xvYmFs
IHNhZF9za2lwXyUxeCUyLCA0LCAlMywgNSwgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJp
ZGUsIG5fcm93cwotJWVsc2UgOyAlMyA9PSA3Ci1jZ2xvYmFsIHNhZF9za2lwXyUxeCUyLCA0LCAl
MywgNiwgc3JjLCBzcmNfc3RyaWRlLCByZWYsIHJlZl9zdHJpZGUsIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzcmNfc3RyaWRlMywgcmVmX3N0cmlkZTMsIG5fcm93cwotJWVuZGlmIDsg
JTMgPT0gNS83Ci0KLSVlbHNlCislZWxzZSA7IGF2ZwogJWlmICUzID09IDUKIGNnbG9iYWwgc2Fk
JTF4JTJfYXZnLCA1LCAxICsgJTMsIDUsIHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRl
LCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRfcHJlZCwgbl9y
b3dzCkBAIC00OSwxMSArMzUsNyBAQCBjZ2xvYmFsIHNhZCUxeCUyX2F2ZywgNSwgVlBYX0FSQ0hf
WDg2XzY0ICsgJTMsIDYsIHNyYywgc3JjX3N0cmlkZSwgXAogJWRlZmluZSBuX3Jvd3NkIGR3b3Jk
IHIwbQogJWVuZGlmIDsgeDg2LTMyLzY0CiAlZW5kaWYgOyAlMyA9PSA1LzcKLSVlbmRpZiA7IHNh
ZC9hdmcvc2tpcAotJWlmICU0ID09IDI7IHNraXAgcm93cyBzbyBkb3VibGUgdGhlIHN0cmlkZQot
bGVhICAgICAgICAgICBzcmNfc3RyaWRlZCwgW3NyY19zdHJpZGVkKjJdCi1sZWEgICAgICAgICAg
IHJlZl9zdHJpZGVkLCBbcmVmX3N0cmlkZWQqMl0KLSVlbmRpZiA7ICU0IHNraXAKKyVlbmRpZiA7
IGF2Zy9zYWQKICAgbW92c3hkaWZuaWRuIHNyY19zdHJpZGVxLCBzcmNfc3RyaWRlZAogICBtb3Zz
eGRpZm5pZG4gcmVmX3N0cmlkZXEsIHJlZl9zdHJpZGVkCiAlaWYgJTMgPT0gNwpAQCAtNjYsMTEg
KzQ4LDcgQEAgbGVhICAgICAgICAgICByZWZfc3RyaWRlZCwgW3JlZl9zdHJpZGVkKjJdCiA7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpyZWYsIGludCByZWZfc3RyaWRl
KTsKICVtYWNybyBTQUQ2NFhOIDEtMiAwCiAgIFNBRF9GTiA2NCwgJTEsIDUsICUyCi0laWYgJTIg
PT0gMgotICBtb3YgICAgICAgICAgICAgIG5fcm93c2QsICUxLzIKLSVlbHNlCiAgIG1vdiAgICAg
ICAgICAgICAgbl9yb3dzZCwgJTEKLSVlbmRpZgogICBweG9yICAgICAgICAgICAgICAgICAgbTAs
IG0wCiAubG9vcDoKICAgbW92dSAgICAgICAgICAgICAgICAgIG0xLCBbcmVmcV0KQEAgLTk5LDkg
Kzc3LDYgQEAgbGVhICAgICAgICAgICByZWZfc3RyaWRlZCwgW3JlZl9zdHJpZGVkKjJdCiAKICAg
bW92aGxwcyAgICAgICAgICAgICAgIG0xLCBtMAogICBwYWRkZCAgICAgICAgICAgICAgICAgbTAs
IG0xCi0laWYgJTIgPT0gMiA7IHdlIHNraXBwZWQgcm93cywgc28gbm93IHdlIG5lZWQgdG8gZG91
YmxlIHRoZSBzYWQKLSAgcHNsbGQgICAgICAgICAgICAgICAgIG0wLCAxCi0lZW5kaWYKICAgbW92
ZCAgICAgICAgICAgICAgICAgZWF4LCBtMAogICBSRVQKICVlbmRtYWNybwpAQCAtMTExLDE4ICs4
NiwxMiBAQCBTQUQ2NFhOIDY0IDsgc2FkNjR4NjRfc3NlMgogU0FENjRYTiAzMiA7IHNhZDY0eDMy
X3NzZTIKIFNBRDY0WE4gNjQsIDEgOyBzYWQ2NHg2NF9hdmdfc3NlMgogU0FENjRYTiAzMiwgMSA7
IHNhZDY0eDMyX2F2Z19zc2UyCi1TQUQ2NFhOICA2NCwgMiAgOyBzYWQ2NHg2NF9za2lwX3NzZTIK
LVNBRDY0WE4gIDMyLCAyICA7IHNhZDY0eDMyX3NraXBfc3NlMgogCiA7IHVuc2lnbmVkIGludCB2
cHhfc2FkMzJ4MzJfc3NlMih1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLAogOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcmVmLCBpbnQgcmVmX3N0cmlkZSk7CiAl
bWFjcm8gU0FEMzJYTiAxLTIgMAogICBTQURfRk4gMzIsICUxLCA1LCAlMgotJWlmICUyID09IDIK
LSAgbW92ICAgICAgICAgICAgICBuX3Jvd3NkLCAlMS80Ci0lZWxzZQogICBtb3YgICAgICAgICAg
ICAgIG5fcm93c2QsICUxLzIKLSVlbmRpZgogICBweG9yICAgICAgICAgICAgICAgICAgbTAsIG0w
CiAubG9vcDoKICAgbW92dSAgICAgICAgICAgICAgICAgIG0xLCBbcmVmcV0KQEAgLTE1MSw5ICsx
MjAsNiBAQCBTQUQ2NFhOICAzMiwgMiAgOyBzYWQ2NHgzMl9za2lwX3NzZTIKIAogICBtb3ZobHBz
ICAgICAgICAgICAgICAgbTEsIG0wCiAgIHBhZGRkICAgICAgICAgICAgICAgICBtMCwgbTEKLSVp
ZiAlMiA9PSAyIDsgd2Ugc2tpcHBlZCByb3dzLCBzbyBub3cgd2UgbmVlZCB0byBkb3VibGUgdGhl
IHNhZAotICBwc2xsZCAgICAgICAgICAgICAgICAgbTAsIDEKLSVlbmRpZgogICBtb3ZkICAgICAg
ICAgICAgICAgICBlYXgsIG0wCiAgIFJFVAogJWVuZG1hY3JvCkBAIC0xNjUsMTkgKzEzMSwxMiBA
QCBTQUQzMlhOIDE2IDsgc2FkMzJ4MTZfc3NlMgogU0FEMzJYTiA2NCwgMSA7IHNhZDMyeDY0X2F2
Z19zc2UyCiBTQUQzMlhOIDMyLCAxIDsgc2FkMzJ4MzJfYXZnX3NzZTIKIFNBRDMyWE4gMTYsIDEg
OyBzYWQzMngxNl9hdmdfc3NlMgotU0FEMzJYTiA2NCwgMiA7IHNhZDMyeDY0X3NraXBfc3NlMgot
U0FEMzJYTiAzMiwgMiA7IHNhZDMyeDMyX3NraXBfc3NlMgotU0FEMzJYTiAxNiwgMiA7IHNhZDMy
eDE2X3NraXBfc3NlMgogCiA7IHVuc2lnbmVkIGludCB2cHhfc2FkMTZ4ezgsMTZ9X3NzZTIodWlu
dDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwKIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90ICpyZWYsIGludCByZWZfc3RyaWRlKTsKICVtYWNybyBTQUQxNlhOIDEt
MiAwCiAgIFNBRF9GTiAxNiwgJTEsIDcsICUyCi0laWYgJTIgPT0gMgotICBtb3YgICAgICAgICAg
ICAgIG5fcm93c2QsICUxLzgKLSVlbHNlCiAgIG1vdiAgICAgICAgICAgICAgbl9yb3dzZCwgJTEv
NAotJWVuZGlmCiAgIHB4b3IgICAgICAgICAgICAgICAgICBtMCwgbTAKIAogLmxvb3A6CkBAIC0y
MDcsOSArMTY2LDYgQEAgU0FEMzJYTiAxNiwgMiA7IHNhZDMyeDE2X3NraXBfc3NlMgogCiAgIG1v
dmhscHMgICAgICAgICAgICAgICBtMSwgbTAKICAgcGFkZGQgICAgICAgICAgICAgICAgIG0wLCBt
MQotJWlmICUyID09IDIgOyB3ZSBza2lwcGVkIHJvd3MsIHNvIG5vdyB3ZSBuZWVkIHRvIGRvdWJs
ZSB0aGUgc2FkCi0gIHBzbGxkICAgICAgICAgICAgICAgICBtMCwgMQotJWVuZGlmCiAgIG1vdmQg
ICAgICAgICAgICAgICAgIGVheCwgbTAKICAgUkVUCiAlZW5kbWFjcm8KQEAgLTIyMSwxOSArMTc3
LDEyIEBAIFNBRDE2WE4gIDggOyBzYWQxNng4X3NzZTIKIFNBRDE2WE4gMzIsIDEgOyBzYWQxNngz
Ml9hdmdfc3NlMgogU0FEMTZYTiAxNiwgMSA7IHNhZDE2eDE2X2F2Z19zc2UyCiBTQUQxNlhOICA4
LCAxIDsgc2FkMTZ4OF9hdmdfc3NlMgotU0FEMTZYTiAzMiwgMiA7IHNhZDE2eDMyX3NraXBfc3Nl
MgotU0FEMTZYTiAxNiwgMiA7IHNhZDE2eDE2X3NraXBfc3NlMgotU0FEMTZYTiAgOCwgMiA7IHNh
ZDE2eDhfc2tpcF9zc2UyCiAKIDsgdW5zaWduZWQgaW50IHZweF9zYWQ4eHs4LDE2fV9zc2UyKHVp
bnQ4X3QgKnNyYywgaW50IHNyY19zdHJpZGUsCiA7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90ICpyZWYsIGludCByZWZfc3RyaWRlKTsKICVtYWNybyBTQUQ4WE4gMS0y
IDAKICAgU0FEX0ZOIDgsICUxLCA3LCAlMgotJWlmICUyID09IDIKLSAgbW92ICAgICAgICAgICAg
ICBuX3Jvd3NkLCAlMS84Ci0lZWxzZQogICBtb3YgICAgICAgICAgICAgIG5fcm93c2QsICUxLzQK
LSVlbmRpZgogICBweG9yICAgICAgICAgICAgICAgICAgbTAsIG0wCiAKIC5sb29wOgpAQCAtMjYx
LDkgKzIxMCw2IEBAIFNBRDE2WE4gIDgsIDIgOyBzYWQxNng4X3NraXBfc3NlMgogCiAgIG1vdmhs
cHMgICAgICAgICAgICAgICBtMSwgbTAKICAgcGFkZGQgICAgICAgICAgICAgICAgIG0wLCBtMQot
JWlmICUyID09IDIgOyB3ZSBza2lwcGVkIHJvd3MsIHNvIG5vdyB3ZSBuZWVkIHRvIGRvdWJsZSB0
aGUgc2FkCi0gIHBzbGxkICAgICAgICAgICAgICAgICBtMCwgMQotJWVuZGlmCiAgIG1vdmQgICAg
ICAgICAgICAgICAgIGVheCwgbTAKICAgUkVUCiAlZW5kbWFjcm8KQEAgLTI3NSwxOCArMjIxLDEy
IEBAIFNBRDhYTiAgNCA7IHNhZDh4NF9zc2UyCiBTQUQ4WE4gMTYsIDEgOyBzYWQ4eDE2X2F2Z19z
c2UyCiBTQUQ4WE4gIDgsIDEgOyBzYWQ4eDhfYXZnX3NzZTIKIFNBRDhYTiAgNCwgMSA7IHNhZDh4
NF9hdmdfc3NlMgotU0FEOFhOIDE2LCAyIDsgc2FkOHgxNl9za2lwX3NzZTIKLVNBRDhYTiAgOCwg
MiA7IHNhZDh4OF9za2lwX3NzZTIKIAogOyB1bnNpZ25lZCBpbnQgdnB4X3NhZDR4ezQsIDh9X3Nz
ZTIodWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwKIDsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QgKnJlZiwgaW50IHJlZl9zdHJpZGUpOwogJW1hY3JvIFNBRDRY
TiAxLTIgMAogICBTQURfRk4gNCwgJTEsIDcsICUyCi0laWYgJTIgPT0gMgotICBtb3YgICAgICAg
ICAgICAgIG5fcm93c2QsICUxLzgKLSVlbHNlCiAgIG1vdiAgICAgICAgICAgICAgbl9yb3dzZCwg
JTEvNAotJWVuZGlmCiAgIHB4b3IgICAgICAgICAgICAgICAgICBtMCwgbTAKIAogLmxvb3A6CkBA
IC0zMTcsOSArMjU3LDYgQEAgU0FEOFhOICA4LCAyIDsgc2FkOHg4X3NraXBfc3NlMgogCiAgIG1v
dmhscHMgICAgICAgICAgICAgICBtMSwgbTAKICAgcGFkZGQgICAgICAgICAgICAgICAgIG0wLCBt
MQotJWlmICUyID09IDIgOyB3ZSBza2lwcGVkIHJvd3MsIHNvIG5vdyB3ZSBuZWVkIHRvIGRvdWJs
ZSB0aGUgc2FkCi0gIHBzbGxkICAgICAgICAgICAgICAgICBtMCwgMQotJWVuZGlmCiAgIG1vdmQg
ICAgICAgICAgICAgICAgIGVheCwgbTAKICAgUkVUCiAlZW5kbWFjcm8KQEAgLTMyOSw0ICsyNjYs
MyBAQCBTQUQ0WE4gIDggOyBzYWQ0eDhfc3NlCiBTQUQ0WE4gIDQgOyBzYWQ0eDRfc3NlCiBTQUQ0
WE4gIDgsIDEgOyBzYWQ0eDhfYXZnX3NzZQogU0FENFhOICA0LCAxIDsgc2FkNHg0X2F2Z19zc2UK
LVNBRDRYTiAgOCwgMiA7IHNhZDR4OF9za2lwX3NzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92
cHhfZHNwL3g4Ni9zYWRfc3NlMy5hc20gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3NhZF9zc2Uz
LmFzbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmFjYmQyZTRmYTEy
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3NzZTMuYXNt
CkBAIC0wLDAgKzEsMzc2IEBACis7Cis7ICBDb3B5cmlnaHQgKGMpIDIwMTAgVGhlIFdlYk0gcHJv
amVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorOworOyAgVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQorOyAgdGhhdCBjYW4g
YmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCis7
ICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQg
Y2FuIGJlIGZvdW5kCis7ICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBw
cm9qZWN0IGF1dGhvcnMgbWF5Cis7ICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRo
ZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKzsKKworJWluY2x1ZGUgInZweF9wb3J0cy94ODZf
YWJpX3N1cHBvcnQuYXNtIgorCislbWFjcm8gU1RBQ0tfRlJBTUVfQ1JFQVRFX1gzIDAKKyVpZiBB
QklfSVNfMzJCSVQKKyAgJWRlZmluZSAgICAgc3JjX3B0ciAgICAgICByc2kKKyAgJWRlZmluZSAg
ICAgc3JjX3N0cmlkZSAgICByYXgKKyAgJWRlZmluZSAgICAgcmVmX3B0ciAgICAgICByZGkKKyAg
JWRlZmluZSAgICAgcmVmX3N0cmlkZSAgICByZHgKKyAgJWRlZmluZSAgICAgZW5kX3B0ciAgICAg
ICByY3gKKyAgJWRlZmluZSAgICAgcmV0X3ZhciAgICAgICByYngKKyAgJWRlZmluZSAgICAgcmVz
dWx0X3B0ciAgICBhcmcoNCkKKyAgJWRlZmluZSAgICAgaGVpZ2h0ICAgICAgICBkd29yZCBwdHIg
YXJnKDQpCisgICAgcHVzaCAgICAgICAgcmJwCisgICAgbW92ICAgICAgICAgcmJwLCAgICAgICAg
cnNwCisgICAgcHVzaCAgICAgICAgcnNpCisgICAgcHVzaCAgICAgICAgcmRpCisgICAgcHVzaCAg
ICAgICAgcmJ4CisKKyAgICBtb3YgICAgICAgICByc2ksICAgICAgICBhcmcoMCkgICAgICAgICAg
ICAgIDsgc3JjX3B0cgorICAgIG1vdiAgICAgICAgIHJkaSwgICAgICAgIGFyZygyKSAgICAgICAg
ICAgICAgOyByZWZfcHRyCisKKyAgICBtb3ZzeGQgICAgICByYXgsICAgICAgICBkd29yZCBwdHIg
YXJnKDEpICAgIDsgc3JjX3N0cmlkZQorICAgIG1vdnN4ZCAgICAgIHJkeCwgICAgICAgIGR3b3Jk
IHB0ciBhcmcoMykgICAgOyByZWZfc3RyaWRlCislZWxzZQorICAlaWYgTElCVlBYX1lBU01fV0lO
NjQKKyAgICBTQVZFX1hNTSA3LCB1CisgICAgJWRlZmluZSAgICAgc3JjX3B0ciAgICAgcmN4Cisg
ICAgJWRlZmluZSAgICAgc3JjX3N0cmlkZSAgcmR4CisgICAgJWRlZmluZSAgICAgcmVmX3B0ciAg
ICAgcjgKKyAgICAlZGVmaW5lICAgICByZWZfc3RyaWRlICByOQorICAgICVkZWZpbmUgICAgIGVu
ZF9wdHIgICAgIHIxMAorICAgICVkZWZpbmUgICAgIHJldF92YXIgICAgIHIxMQorICAgICVkZWZp
bmUgICAgIHJlc3VsdF9wdHIgIFtyc3AreG1tX3N0YWNrX3NwYWNlKzgrNCo4XQorICAgICVkZWZp
bmUgICAgIGhlaWdodCAgICAgIGR3b3JkIHB0ciBbcnNwK3htbV9zdGFja19zcGFjZSs4KzQqOF0K
KyAgJWVsc2UKKyAgICAlZGVmaW5lICAgICBzcmNfcHRyICAgICByZGkKKyAgICAlZGVmaW5lICAg
ICBzcmNfc3RyaWRlICByc2kKKyAgICAlZGVmaW5lICAgICByZWZfcHRyICAgICByZHgKKyAgICAl
ZGVmaW5lICAgICByZWZfc3RyaWRlICByY3gKKyAgICAlZGVmaW5lICAgICBlbmRfcHRyICAgICBy
OQorICAgICVkZWZpbmUgICAgIHJldF92YXIgICAgIHIxMAorICAgICVkZWZpbmUgICAgIHJlc3Vs
dF9wdHIgIHI4CisgICAgJWRlZmluZSAgICAgaGVpZ2h0ICAgICAgcjgKKyAgJWVuZGlmCislZW5k
aWYKKworJWVuZG1hY3JvCisKKyVtYWNybyBTVEFDS19GUkFNRV9ERVNUUk9ZX1gzIDAKKyAgJWRl
ZmluZSAgICAgc3JjX3B0cgorICAlZGVmaW5lICAgICBzcmNfc3RyaWRlCisgICVkZWZpbmUgICAg
IHJlZl9wdHIKKyAgJWRlZmluZSAgICAgcmVmX3N0cmlkZQorICAlZGVmaW5lICAgICBlbmRfcHRy
CisgICVkZWZpbmUgICAgIHJldF92YXIKKyAgJWRlZmluZSAgICAgcmVzdWx0X3B0cgorICAlZGVm
aW5lICAgICBoZWlnaHQKKworJWlmIEFCSV9JU18zMkJJVAorICAgIHBvcCAgICAgICAgIHJieAor
ICAgIHBvcCAgICAgICAgIHJkaQorICAgIHBvcCAgICAgICAgIHJzaQorICAgIHBvcCAgICAgICAg
IHJicAorJWVsc2UKKyAgJWlmIExJQlZQWF9ZQVNNX1dJTjY0CisgICAgUkVTVE9SRV9YTU0KKyAg
JWVuZGlmCislZW5kaWYKKyAgICByZXQKKyVlbmRtYWNybworCislbWFjcm8gUFJPQ0VTU18xNlgy
WDMgNQorJWlmICUxPT0wCisgICAgICAgIG1vdmRxYSAgICAgICAgICB4bW0wLCAgICAgICBYTU1X
T1JEIFBUUiBbJTJdCisgICAgICAgIGxkZHF1ICAgICAgICAgICB4bW01LCAgICAgICBYTU1XT1JE
IFBUUiBbJTNdCisgICAgICAgIGxkZHF1ICAgICAgICAgICB4bW02LCAgICAgICBYTU1XT1JEIFBU
UiBbJTMrMV0KKyAgICAgICAgbGRkcXUgICAgICAgICAgIHhtbTcsICAgICAgIFhNTVdPUkQgUFRS
IFslMysyXQorCisgICAgICAgIHBzYWRidyAgICAgICAgICB4bW01LCAgICAgICB4bW0wCisgICAg
ICAgIHBzYWRidyAgICAgICAgICB4bW02LCAgICAgICB4bW0wCisgICAgICAgIHBzYWRidyAgICAg
ICAgICB4bW03LCAgICAgICB4bW0wCislZWxzZQorICAgICAgICBtb3ZkcWEgICAgICAgICAgeG1t
MCwgICAgICAgWE1NV09SRCBQVFIgWyUyXQorICAgICAgICBsZGRxdSAgICAgICAgICAgeG1tMSwg
ICAgICAgWE1NV09SRCBQVFIgWyUzXQorICAgICAgICBsZGRxdSAgICAgICAgICAgeG1tMiwgICAg
ICAgWE1NV09SRCBQVFIgWyUzKzFdCisgICAgICAgIGxkZHF1ICAgICAgICAgICB4bW0zLCAgICAg
ICBYTU1XT1JEIFBUUiBbJTMrMl0KKworICAgICAgICBwc2FkYncgICAgICAgICAgeG1tMSwgICAg
ICAgeG1tMAorICAgICAgICBwc2FkYncgICAgICAgICAgeG1tMiwgICAgICAgeG1tMAorICAgICAg
ICBwc2FkYncgICAgICAgICAgeG1tMywgICAgICAgeG1tMAorCisgICAgICAgIHBhZGR3ICAgICAg
ICAgICB4bW01LCAgICAgICB4bW0xCisgICAgICAgIHBhZGR3ICAgICAgICAgICB4bW02LCAgICAg
ICB4bW0yCisgICAgICAgIHBhZGR3ICAgICAgICAgICB4bW03LCAgICAgICB4bW0zCislZW5kaWYK
KyAgICAgICAgbW92ZHFhICAgICAgICAgIHhtbTAsICAgICAgIFhNTVdPUkQgUFRSIFslMislNF0K
KyAgICAgICAgbGRkcXUgICAgICAgICAgIHhtbTEsICAgICAgIFhNTVdPUkQgUFRSIFslMyslNV0K
KyAgICAgICAgbGRkcXUgICAgICAgICAgIHhtbTIsICAgICAgIFhNTVdPUkQgUFRSIFslMyslNSsx
XQorICAgICAgICBsZGRxdSAgICAgICAgICAgeG1tMywgICAgICAgWE1NV09SRCBQVFIgWyUzKyU1
KzJdCisKKyVpZiAlMT09MCB8fCAlMT09MQorICAgICAgICBsZWEgICAgICAgICAgICAgJTIsICAg
ICAgICAgWyUyKyU0KjJdCisgICAgICAgIGxlYSAgICAgICAgICAgICAlMywgICAgICAgICBbJTMr
JTUqMl0KKyVlbmRpZgorCisgICAgICAgIHBzYWRidyAgICAgICAgICB4bW0xLCAgICAgICB4bW0w
CisgICAgICAgIHBzYWRidyAgICAgICAgICB4bW0yLCAgICAgICB4bW0wCisgICAgICAgIHBzYWRi
dyAgICAgICAgICB4bW0zLCAgICAgICB4bW0wCisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHht
bTUsICAgICAgIHhtbTEKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTYsICAgICAgIHhtbTIK
KyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTcsICAgICAgIHhtbTMKKyVlbmRtYWNybworCisl
bWFjcm8gUFJPQ0VTU184WDJYMyA1CislaWYgJTE9PTAKKyAgICAgICAgbW92cSAgICAgICAgICAg
IG1tMCwgICAgICAgUVdPUkQgUFRSIFslMl0KKyAgICAgICAgbW92cSAgICAgICAgICAgIG1tNSwg
ICAgICAgUVdPUkQgUFRSIFslM10KKyAgICAgICAgbW92cSAgICAgICAgICAgIG1tNiwgICAgICAg
UVdPUkQgUFRSIFslMysxXQorICAgICAgICBtb3ZxICAgICAgICAgICAgbW03LCAgICAgICBRV09S
RCBQVFIgWyUzKzJdCisKKyAgICAgICAgcHNhZGJ3ICAgICAgICAgIG1tNSwgICAgICAgbW0wCisg
ICAgICAgIHBzYWRidyAgICAgICAgICBtbTYsICAgICAgIG1tMAorICAgICAgICBwc2FkYncgICAg
ICAgICAgbW03LCAgICAgICBtbTAKKyVlbHNlCisgICAgICAgIG1vdnEgICAgICAgICAgICBtbTAs
ICAgICAgIFFXT1JEIFBUUiBbJTJdCisgICAgICAgIG1vdnEgICAgICAgICAgICBtbTEsICAgICAg
IFFXT1JEIFBUUiBbJTNdCisgICAgICAgIG1vdnEgICAgICAgICAgICBtbTIsICAgICAgIFFXT1JE
IFBUUiBbJTMrMV0KKyAgICAgICAgbW92cSAgICAgICAgICAgIG1tMywgICAgICAgUVdPUkQgUFRS
IFslMysyXQorCisgICAgICAgIHBzYWRidyAgICAgICAgICBtbTEsICAgICAgIG1tMAorICAgICAg
ICBwc2FkYncgICAgICAgICAgbW0yLCAgICAgICBtbTAKKyAgICAgICAgcHNhZGJ3ICAgICAgICAg
IG1tMywgICAgICAgbW0wCisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIG1tNSwgICAgICAgbW0x
CisgICAgICAgIHBhZGR3ICAgICAgICAgICBtbTYsICAgICAgIG1tMgorICAgICAgICBwYWRkdyAg
ICAgICAgICAgbW03LCAgICAgICBtbTMKKyVlbmRpZgorICAgICAgICBtb3ZxICAgICAgICAgICAg
bW0wLCAgICAgICBRV09SRCBQVFIgWyUyKyU0XQorICAgICAgICBtb3ZxICAgICAgICAgICAgbW0x
LCAgICAgICBRV09SRCBQVFIgWyUzKyU1XQorICAgICAgICBtb3ZxICAgICAgICAgICAgbW0yLCAg
ICAgICBRV09SRCBQVFIgWyUzKyU1KzFdCisgICAgICAgIG1vdnEgICAgICAgICAgICBtbTMsICAg
ICAgIFFXT1JEIFBUUiBbJTMrJTUrMl0KKworJWlmICUxPT0wIHx8ICUxPT0xCisgICAgICAgIGxl
YSAgICAgICAgICAgICAlMiwgICAgICAgIFslMislNCoyXQorICAgICAgICBsZWEgICAgICAgICAg
ICAgJTMsICAgICAgICBbJTMrJTUqMl0KKyVlbmRpZgorCisgICAgICAgIHBzYWRidyAgICAgICAg
ICBtbTEsICAgICAgIG1tMAorICAgICAgICBwc2FkYncgICAgICAgICAgbW0yLCAgICAgICBtbTAK
KyAgICAgICAgcHNhZGJ3ICAgICAgICAgIG1tMywgICAgICAgbW0wCisKKyAgICAgICAgcGFkZHcg
ICAgICAgICAgIG1tNSwgICAgICAgbW0xCisgICAgICAgIHBhZGR3ICAgICAgICAgICBtbTYsICAg
ICAgIG1tMgorICAgICAgICBwYWRkdyAgICAgICAgICAgbW03LCAgICAgICBtbTMKKyVlbmRtYWNy
bworCitTRUNUSU9OIC50ZXh0CisKKzt2b2lkIGludCB2cHhfc2FkMTZ4MTZ4M19zc2UzKAorOyAg
ICB1bnNpZ25lZCBjaGFyICpzcmNfcHRyLAorOyAgICBpbnQgIHNyY19zdHJpZGUsCis7ICAgIHVu
c2lnbmVkIGNoYXIgKnJlZl9wdHIsCis7ICAgIGludCAgcmVmX3N0cmlkZSwKKzsgICAgaW50ICAq
cmVzdWx0cykKK2dsb2JhbHN5bSh2cHhfc2FkMTZ4MTZ4M19zc2UzKQorc3ltKHZweF9zYWQxNngx
NngzX3NzZTMpOgorCisgICAgU1RBQ0tfRlJBTUVfQ1JFQVRFX1gzCisKKyAgICAgICAgUFJPQ0VT
U18xNlgyWDMgMCwgc3JjX3B0ciwgcmVmX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3N0cmlkZQorICAg
ICAgICBQUk9DRVNTXzE2WDJYMyAxLCBzcmNfcHRyLCByZWZfcHRyLCBzcmNfc3RyaWRlLCByZWZf
c3RyaWRlCisgICAgICAgIFBST0NFU1NfMTZYMlgzIDEsIHNyY19wdHIsIHJlZl9wdHIsIHNyY19z
dHJpZGUsIHJlZl9zdHJpZGUKKyAgICAgICAgUFJPQ0VTU18xNlgyWDMgMSwgc3JjX3B0ciwgcmVm
X3B0ciwgc3JjX3N0cmlkZSwgcmVmX3N0cmlkZQorICAgICAgICBQUk9DRVNTXzE2WDJYMyAxLCBz
cmNfcHRyLCByZWZfcHRyLCBzcmNfc3RyaWRlLCByZWZfc3RyaWRlCisgICAgICAgIFBST0NFU1Nf
MTZYMlgzIDEsIHNyY19wdHIsIHJlZl9wdHIsIHNyY19zdHJpZGUsIHJlZl9zdHJpZGUKKyAgICAg
ICAgUFJPQ0VTU18xNlgyWDMgMSwgc3JjX3B0ciwgcmVmX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3N0
cmlkZQorICAgICAgICBQUk9DRVNTXzE2WDJYMyAyLCBzcmNfcHRyLCByZWZfcHRyLCBzcmNfc3Ry
aWRlLCByZWZfc3RyaWRlCisKKyAgICAgICAgbW92ICAgICAgICAgICAgIHJjeCwgICAgICAgIHJl
c3VsdF9wdHIKKworICAgICAgICBtb3ZxICAgICAgICAgICAgeG1tMCwgICAgICAgeG1tNQorICAg
ICAgICBwc3JsZHEgICAgICAgICAgeG1tNSwgICAgICAgOAorCisgICAgICAgIHBhZGR3ICAgICAg
ICAgICB4bW0wLCAgICAgICB4bW01CisgICAgICAgIG1vdmQgICAgICAgICAgICBbcmN4XSwgICAg
ICB4bW0wCis7LQorICAgICAgICBtb3ZxICAgICAgICAgICAgeG1tMCwgICAgICAgeG1tNgorICAg
ICAgICBwc3JsZHEgICAgICAgICAgeG1tNiwgICAgICAgOAorCisgICAgICAgIHBhZGR3ICAgICAg
ICAgICB4bW0wLCAgICAgICB4bW02CisgICAgICAgIG1vdmQgICAgICAgICAgICBbcmN4KzRdLCAg
ICB4bW0wCis7LQorICAgICAgICBtb3ZxICAgICAgICAgICAgeG1tMCwgICAgICAgeG1tNworICAg
ICAgICBwc3JsZHEgICAgICAgICAgeG1tNywgICAgICAgOAorCisgICAgICAgIHBhZGR3ICAgICAg
ICAgICB4bW0wLCAgICAgICB4bW03CisgICAgICAgIG1vdmQgICAgICAgICAgICBbcmN4KzhdLCAg
ICB4bW0wCisKKyAgICBTVEFDS19GUkFNRV9ERVNUUk9ZX1gzCisKKzt2b2lkIGludCB2cHhfc2Fk
MTZ4OHgzX3NzZTMoCis7ICAgIHVuc2lnbmVkIGNoYXIgKnNyY19wdHIsCis7ICAgIGludCAgc3Jj
X3N0cmlkZSwKKzsgICAgdW5zaWduZWQgY2hhciAqcmVmX3B0ciwKKzsgICAgaW50ICByZWZfc3Ry
aWRlLAorOyAgICBpbnQgICpyZXN1bHRzKQorZ2xvYmFsc3ltKHZweF9zYWQxNng4eDNfc3NlMykK
K3N5bSh2cHhfc2FkMTZ4OHgzX3NzZTMpOgorCisgICAgU1RBQ0tfRlJBTUVfQ1JFQVRFX1gzCisK
KyAgICAgICAgUFJPQ0VTU18xNlgyWDMgMCwgc3JjX3B0ciwgcmVmX3B0ciwgc3JjX3N0cmlkZSwg
cmVmX3N0cmlkZQorICAgICAgICBQUk9DRVNTXzE2WDJYMyAxLCBzcmNfcHRyLCByZWZfcHRyLCBz
cmNfc3RyaWRlLCByZWZfc3RyaWRlCisgICAgICAgIFBST0NFU1NfMTZYMlgzIDEsIHNyY19wdHIs
IHJlZl9wdHIsIHNyY19zdHJpZGUsIHJlZl9zdHJpZGUKKyAgICAgICAgUFJPQ0VTU18xNlgyWDMg
Miwgc3JjX3B0ciwgcmVmX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3N0cmlkZQorCisgICAgICAgIG1v
diAgICAgICAgICAgICByY3gsICAgICAgICByZXN1bHRfcHRyCisKKyAgICAgICAgbW92cSAgICAg
ICAgICAgIHhtbTAsICAgICAgIHhtbTUKKyAgICAgICAgcHNybGRxICAgICAgICAgIHhtbTUsICAg
ICAgIDgKKworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tMCwgICAgICAgeG1tNQorICAgICAg
ICBtb3ZkICAgICAgICAgICAgW3JjeF0sICAgICAgeG1tMAorOy0KKyAgICAgICAgbW92cSAgICAg
ICAgICAgIHhtbTAsICAgICAgIHhtbTYKKyAgICAgICAgcHNybGRxICAgICAgICAgIHhtbTYsICAg
ICAgIDgKKworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tMCwgICAgICAgeG1tNgorICAgICAg
ICBtb3ZkICAgICAgICAgICAgW3JjeCs0XSwgICAgeG1tMAorOy0KKyAgICAgICAgbW92cSAgICAg
ICAgICAgIHhtbTAsICAgICAgIHhtbTcKKyAgICAgICAgcHNybGRxICAgICAgICAgIHhtbTcsICAg
ICAgIDgKKworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tMCwgICAgICAgeG1tNworICAgICAg
ICBtb3ZkICAgICAgICAgICAgW3JjeCs4XSwgICAgeG1tMAorCisgICAgU1RBQ0tfRlJBTUVfREVT
VFJPWV9YMworCis7dm9pZCBpbnQgdnB4X3NhZDh4MTZ4M19zc2UzKAorOyAgICB1bnNpZ25lZCBj
aGFyICpzcmNfcHRyLAorOyAgICBpbnQgIHNyY19zdHJpZGUsCis7ICAgIHVuc2lnbmVkIGNoYXIg
KnJlZl9wdHIsCis7ICAgIGludCAgcmVmX3N0cmlkZSwKKzsgICAgaW50ICAqcmVzdWx0cykKK2ds
b2JhbHN5bSh2cHhfc2FkOHgxNngzX3NzZTMpCitzeW0odnB4X3NhZDh4MTZ4M19zc2UzKToKKwor
ICAgIFNUQUNLX0ZSQU1FX0NSRUFURV9YMworCisgICAgICAgIFBST0NFU1NfOFgyWDMgMCwgc3Jj
X3B0ciwgcmVmX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3N0cmlkZQorICAgICAgICBQUk9DRVNTXzhY
MlgzIDEsIHNyY19wdHIsIHJlZl9wdHIsIHNyY19zdHJpZGUsIHJlZl9zdHJpZGUKKyAgICAgICAg
UFJPQ0VTU184WDJYMyAxLCBzcmNfcHRyLCByZWZfcHRyLCBzcmNfc3RyaWRlLCByZWZfc3RyaWRl
CisgICAgICAgIFBST0NFU1NfOFgyWDMgMSwgc3JjX3B0ciwgcmVmX3B0ciwgc3JjX3N0cmlkZSwg
cmVmX3N0cmlkZQorICAgICAgICBQUk9DRVNTXzhYMlgzIDEsIHNyY19wdHIsIHJlZl9wdHIsIHNy
Y19zdHJpZGUsIHJlZl9zdHJpZGUKKyAgICAgICAgUFJPQ0VTU184WDJYMyAxLCBzcmNfcHRyLCBy
ZWZfcHRyLCBzcmNfc3RyaWRlLCByZWZfc3RyaWRlCisgICAgICAgIFBST0NFU1NfOFgyWDMgMSwg
c3JjX3B0ciwgcmVmX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3N0cmlkZQorICAgICAgICBQUk9DRVNT
XzhYMlgzIDIsIHNyY19wdHIsIHJlZl9wdHIsIHNyY19zdHJpZGUsIHJlZl9zdHJpZGUKKworICAg
ICAgICBtb3YgICAgICAgICAgICAgcmN4LCAgICAgICAgcmVzdWx0X3B0cgorCisgICAgICAgIHB1
bnBja2xkcSAgICAgICBtbTUsICAgICAgICBtbTYKKworICAgICAgICBtb3ZxICAgICAgICAgICAg
W3JjeF0sICAgICAgbW01CisgICAgICAgIG1vdmQgICAgICAgICAgICBbcmN4KzhdLCAgICBtbTcK
KworICAgIFNUQUNLX0ZSQU1FX0RFU1RST1lfWDMKKworO3ZvaWQgaW50IHZweF9zYWQ4eDh4M19z
c2UzKAorOyAgICB1bnNpZ25lZCBjaGFyICpzcmNfcHRyLAorOyAgICBpbnQgIHNyY19zdHJpZGUs
Cis7ICAgIHVuc2lnbmVkIGNoYXIgKnJlZl9wdHIsCis7ICAgIGludCAgcmVmX3N0cmlkZSwKKzsg
ICAgaW50ICAqcmVzdWx0cykKK2dsb2JhbHN5bSh2cHhfc2FkOHg4eDNfc3NlMykKK3N5bSh2cHhf
c2FkOHg4eDNfc3NlMyk6CisKKyAgICBTVEFDS19GUkFNRV9DUkVBVEVfWDMKKworICAgICAgICBQ
Uk9DRVNTXzhYMlgzIDAsIHNyY19wdHIsIHJlZl9wdHIsIHNyY19zdHJpZGUsIHJlZl9zdHJpZGUK
KyAgICAgICAgUFJPQ0VTU184WDJYMyAxLCBzcmNfcHRyLCByZWZfcHRyLCBzcmNfc3RyaWRlLCBy
ZWZfc3RyaWRlCisgICAgICAgIFBST0NFU1NfOFgyWDMgMSwgc3JjX3B0ciwgcmVmX3B0ciwgc3Jj
X3N0cmlkZSwgcmVmX3N0cmlkZQorICAgICAgICBQUk9DRVNTXzhYMlgzIDIsIHNyY19wdHIsIHJl
Zl9wdHIsIHNyY19zdHJpZGUsIHJlZl9zdHJpZGUKKworICAgICAgICBtb3YgICAgICAgICAgICAg
cmN4LCAgICAgICAgcmVzdWx0X3B0cgorCisgICAgICAgIHB1bnBja2xkcSAgICAgICBtbTUsICAg
ICAgICBtbTYKKworICAgICAgICBtb3ZxICAgICAgICAgICAgW3JjeF0sICAgICAgbW01CisgICAg
ICAgIG1vdmQgICAgICAgICAgICBbcmN4KzhdLCAgICBtbTcKKworICAgIFNUQUNLX0ZSQU1FX0RF
U1RST1lfWDMKKworO3ZvaWQgaW50IHZweF9zYWQ0eDR4M19zc2UzKAorOyAgICB1bnNpZ25lZCBj
aGFyICpzcmNfcHRyLAorOyAgICBpbnQgIHNyY19zdHJpZGUsCis7ICAgIHVuc2lnbmVkIGNoYXIg
KnJlZl9wdHIsCis7ICAgIGludCAgcmVmX3N0cmlkZSwKKzsgICAgaW50ICAqcmVzdWx0cykKK2ds
b2JhbHN5bSh2cHhfc2FkNHg0eDNfc3NlMykKK3N5bSh2cHhfc2FkNHg0eDNfc3NlMyk6CisKKyAg
ICBTVEFDS19GUkFNRV9DUkVBVEVfWDMKKworICAgICAgICBtb3ZkICAgICAgICAgICAgbW0wLCAg
ICAgICAgRFdPUkQgUFRSIFtzcmNfcHRyXQorICAgICAgICBtb3ZkICAgICAgICAgICAgbW0xLCAg
ICAgICAgRFdPUkQgUFRSIFtyZWZfcHRyXQorCisgICAgICAgIG1vdmQgICAgICAgICAgICBtbTIs
ICAgICAgICBEV09SRCBQVFIgW3NyY19wdHIrc3JjX3N0cmlkZV0KKyAgICAgICAgbW92ZCAgICAg
ICAgICAgIG1tMywgICAgICAgIERXT1JEIFBUUiBbcmVmX3B0cityZWZfc3RyaWRlXQorCisgICAg
ICAgIHB1bnBja2xidyAgICAgICBtbTAsICAgICAgICBtbTIKKyAgICAgICAgcHVucGNrbGJ3ICAg
ICAgIG1tMSwgICAgICAgIG1tMworCisgICAgICAgIG1vdmQgICAgICAgICAgICBtbTQsICAgICAg
ICBEV09SRCBQVFIgW3JlZl9wdHIrMV0KKyAgICAgICAgbW92ZCAgICAgICAgICAgIG1tNSwgICAg
ICAgIERXT1JEIFBUUiBbcmVmX3B0cisyXQorCisgICAgICAgIG1vdmQgICAgICAgICAgICBtbTIs
ICAgICAgICBEV09SRCBQVFIgW3JlZl9wdHIrcmVmX3N0cmlkZSsxXQorICAgICAgICBtb3ZkICAg
ICAgICAgICAgbW0zLCAgICAgICAgRFdPUkQgUFRSIFtyZWZfcHRyK3JlZl9zdHJpZGUrMl0KKwor
ICAgICAgICBwc2FkYncgICAgICAgICAgbW0xLCAgICAgICAgbW0wCisKKyAgICAgICAgcHVucGNr
bGJ3ICAgICAgIG1tNCwgICAgICAgIG1tMgorICAgICAgICBwdW5wY2tsYncgICAgICAgbW01LCAg
ICAgICAgbW0zCisKKyAgICAgICAgcHNhZGJ3ICAgICAgICAgIG1tNCwgICAgICAgIG1tMAorICAg
ICAgICBwc2FkYncgICAgICAgICAgbW01LCAgICAgICAgbW0wCisKKyAgICAgICAgbGVhICAgICAg
ICAgICAgIHNyY19wdHIsICAgIFtzcmNfcHRyK3NyY19zdHJpZGUqMl0KKyAgICAgICAgbGVhICAg
ICAgICAgICAgIHJlZl9wdHIsICAgIFtyZWZfcHRyK3JlZl9zdHJpZGUqMl0KKworICAgICAgICBt
b3ZkICAgICAgICAgICAgbW0wLCAgICAgICAgRFdPUkQgUFRSIFtzcmNfcHRyXQorICAgICAgICBt
b3ZkICAgICAgICAgICAgbW0yLCAgICAgICAgRFdPUkQgUFRSIFtyZWZfcHRyXQorCisgICAgICAg
IG1vdmQgICAgICAgICAgICBtbTMsICAgICAgICBEV09SRCBQVFIgW3NyY19wdHIrc3JjX3N0cmlk
ZV0KKyAgICAgICAgbW92ZCAgICAgICAgICAgIG1tNiwgICAgICAgIERXT1JEIFBUUiBbcmVmX3B0
cityZWZfc3RyaWRlXQorCisgICAgICAgIHB1bnBja2xidyAgICAgICBtbTAsICAgICAgICBtbTMK
KyAgICAgICAgcHVucGNrbGJ3ICAgICAgIG1tMiwgICAgICAgIG1tNgorCisgICAgICAgIG1vdmQg
ICAgICAgICAgICBtbTMsICAgICAgICBEV09SRCBQVFIgW3JlZl9wdHIrMV0KKyAgICAgICAgbW92
ZCAgICAgICAgICAgIG1tNywgICAgICAgIERXT1JEIFBUUiBbcmVmX3B0cisyXQorCisgICAgICAg
IHBzYWRidyAgICAgICAgICBtbTIsICAgICAgICBtbTAKKworICAgICAgICBwYWRkdyAgICAgICAg
ICAgbW0xLCAgICAgICAgbW0yCisKKyAgICAgICAgbW92ZCAgICAgICAgICAgIG1tMiwgICAgICAg
IERXT1JEIFBUUiBbcmVmX3B0cityZWZfc3RyaWRlKzFdCisgICAgICAgIG1vdmQgICAgICAgICAg
ICBtbTYsICAgICAgICBEV09SRCBQVFIgW3JlZl9wdHIrcmVmX3N0cmlkZSsyXQorCisgICAgICAg
IHB1bnBja2xidyAgICAgICBtbTMsICAgICAgICBtbTIKKyAgICAgICAgcHVucGNrbGJ3ICAgICAg
IG1tNywgICAgICAgIG1tNgorCisgICAgICAgIHBzYWRidyAgICAgICAgICBtbTMsICAgICAgICBt
bTAKKyAgICAgICAgcHNhZGJ3ICAgICAgICAgIG1tNywgICAgICAgIG1tMAorCisgICAgICAgIHBh
ZGR3ICAgICAgICAgICBtbTMsICAgICAgICBtbTQKKyAgICAgICAgcGFkZHcgICAgICAgICAgIG1t
NywgICAgICAgIG1tNQorCisgICAgICAgIG1vdiAgICAgICAgICAgICByY3gsICAgICAgICByZXN1
bHRfcHRyCisKKyAgICAgICAgcHVucGNrbGRxICAgICAgIG1tMSwgICAgICAgIG1tMworCisgICAg
ICAgIG1vdnEgICAgICAgICAgICBbcmN4XSwgICAgICBtbTEKKyAgICAgICAgbW92ZCAgICAgICAg
ICAgIFtyY3grOF0sICAgIG1tNworCisgICAgU1RBQ0tfRlJBTUVfREVTVFJPWV9YMwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni9zYWRfc3NlNC5hc20gYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AveDg2L3NhZF9zc2U0LmFzbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAuLjA4MThlZDVmMGFjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz
cC94ODYvc2FkX3NzZTQuYXNtCkBAIC0wLDAgKzEsMzYxIEBACis7Cis7ICBDb3B5cmlnaHQgKGMp
IDIwMTAgVGhlIFdlYk0gcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorOwor
OyAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZQorOyAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlCis7ICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9w
ZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCis7ICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAg
QWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Cis7ICBiZSBmb3VuZCBpbiB0aGUg
QVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKzsKKworCislaW5j
bHVkZSAidnB4X3BvcnRzL3g4Nl9hYmlfc3VwcG9ydC5hc20iCisKKyVtYWNybyBQUk9DRVNTXzE2
WDJYOCAxCislaWYgJTEKKyAgICAgICAgbW92ZHFhICAgICAgICAgIHhtbTAsICAgICAgIFhNTVdP
UkQgUFRSIFtyc2ldCisgICAgICAgIG1vdnEgICAgICAgICAgICB4bW0xLCAgICAgICBNTVdPUkQg
UFRSIFtyZGldCisgICAgICAgIG1vdnEgICAgICAgICAgICB4bW0zLCAgICAgICBNTVdPUkQgUFRS
IFtyZGkrOF0KKyAgICAgICAgbW92cSAgICAgICAgICAgIHhtbTIsICAgICAgIE1NV09SRCBQVFIg
W3JkaSsxNl0KKyAgICAgICAgcHVucGNrbHFkcSAgICAgIHhtbTEsICAgICAgIHhtbTMKKyAgICAg
ICAgcHVucGNrbHFkcSAgICAgIHhtbTMsICAgICAgIHhtbTIKKworICAgICAgICBtb3ZkcWEgICAg
ICAgICAgeG1tMiwgICAgICAgeG1tMQorICAgICAgICBtcHNhZGJ3ICAgICAgICAgeG1tMSwgICAg
ICAgeG1tMCwgIDB4MAorICAgICAgICBtcHNhZGJ3ICAgICAgICAgeG1tMiwgICAgICAgeG1tMCwg
IDB4NQorCisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW0wLCAgICAgICA4CisKKyAgICAgICAg
bW92ZHFhICAgICAgICAgIHhtbTQsICAgICAgIHhtbTMKKyAgICAgICAgbXBzYWRidyAgICAgICAg
IHhtbTMsICAgICAgIHhtbTAsICAweDAKKyAgICAgICAgbXBzYWRidyAgICAgICAgIHhtbTQsICAg
ICAgIHhtbTAsICAweDUKKworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tMSwgICAgICAgeG1t
MgorICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tMSwgICAgICAgeG1tMworICAgICAgICBwYWRk
dyAgICAgICAgICAgeG1tMSwgICAgICAgeG1tNAorJWVsc2UKKyAgICAgICAgbW92ZHFhICAgICAg
ICAgIHhtbTAsICAgICAgIFhNTVdPUkQgUFRSIFtyc2ldCisgICAgICAgIG1vdnEgICAgICAgICAg
ICB4bW01LCAgICAgICBNTVdPUkQgUFRSIFtyZGldCisgICAgICAgIG1vdnEgICAgICAgICAgICB4
bW0zLCAgICAgICBNTVdPUkQgUFRSIFtyZGkrOF0KKyAgICAgICAgbW92cSAgICAgICAgICAgIHht
bTIsICAgICAgIE1NV09SRCBQVFIgW3JkaSsxNl0KKyAgICAgICAgcHVucGNrbHFkcSAgICAgIHht
bTUsICAgICAgIHhtbTMKKyAgICAgICAgcHVucGNrbHFkcSAgICAgIHhtbTMsICAgICAgIHhtbTIK
KworICAgICAgICBtb3ZkcWEgICAgICAgICAgeG1tMiwgICAgICAgeG1tNQorICAgICAgICBtcHNh
ZGJ3ICAgICAgICAgeG1tNSwgICAgICAgeG1tMCwgIDB4MAorICAgICAgICBtcHNhZGJ3ICAgICAg
ICAgeG1tMiwgICAgICAgeG1tMCwgIDB4NQorCisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW0w
LCAgICAgICA4CisKKyAgICAgICAgbW92ZHFhICAgICAgICAgIHhtbTQsICAgICAgIHhtbTMKKyAg
ICAgICAgbXBzYWRidyAgICAgICAgIHhtbTMsICAgICAgIHhtbTAsICAweDAKKyAgICAgICAgbXBz
YWRidyAgICAgICAgIHhtbTQsICAgICAgIHhtbTAsICAweDUKKworICAgICAgICBwYWRkdyAgICAg
ICAgICAgeG1tNSwgICAgICAgeG1tMgorICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tNSwgICAg
ICAgeG1tMworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tNSwgICAgICAgeG1tNAorCisgICAg
ICAgIHBhZGR3ICAgICAgICAgICB4bW0xLCAgICAgICB4bW01CislZW5kaWYKKyAgICAgICAgbW92
ZHFhICAgICAgICAgIHhtbTAsICAgICAgIFhNTVdPUkQgUFRSIFtyc2kgKyByYXhdCisgICAgICAg
IG1vdnEgICAgICAgICAgICB4bW01LCAgICAgICBNTVdPUkQgUFRSIFtyZGkrIHJkeF0KKyAgICAg
ICAgbW92cSAgICAgICAgICAgIHhtbTMsICAgICAgIE1NV09SRCBQVFIgW3JkaSsgcmR4KzhdCisg
ICAgICAgIG1vdnEgICAgICAgICAgICB4bW0yLCAgICAgICBNTVdPUkQgUFRSIFtyZGkrIHJkeCsx
Nl0KKyAgICAgICAgcHVucGNrbHFkcSAgICAgIHhtbTUsICAgICAgIHhtbTMKKyAgICAgICAgcHVu
cGNrbHFkcSAgICAgIHhtbTMsICAgICAgIHhtbTIKKworICAgICAgICBsZWEgICAgICAgICAgICAg
cnNpLCAgICAgICAgW3JzaStyYXgqMl0KKyAgICAgICAgbGVhICAgICAgICAgICAgIHJkaSwgICAg
ICAgIFtyZGkrcmR4KjJdCisKKyAgICAgICAgbW92ZHFhICAgICAgICAgIHhtbTIsICAgICAgIHht
bTUKKyAgICAgICAgbXBzYWRidyAgICAgICAgIHhtbTUsICAgICAgIHhtbTAsICAweDAKKyAgICAg
ICAgbXBzYWRidyAgICAgICAgIHhtbTIsICAgICAgIHhtbTAsICAweDUKKworICAgICAgICBwc3Js
ZHEgICAgICAgICAgeG1tMCwgICAgICAgOAorICAgICAgICBtb3ZkcWEgICAgICAgICAgeG1tNCwg
ICAgICAgeG1tMworICAgICAgICBtcHNhZGJ3ICAgICAgICAgeG1tMywgICAgICAgeG1tMCwgIDB4
MAorICAgICAgICBtcHNhZGJ3ICAgICAgICAgeG1tNCwgICAgICAgeG1tMCwgIDB4NQorCisgICAg
ICAgIHBhZGR3ICAgICAgICAgICB4bW01LCAgICAgICB4bW0yCisgICAgICAgIHBhZGR3ICAgICAg
ICAgICB4bW01LCAgICAgICB4bW0zCisgICAgICAgIHBhZGR3ICAgICAgICAgICB4bW01LCAgICAg
ICB4bW00CisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTEsICAgICAgIHhtbTUKKyVlbmRt
YWNybworCislbWFjcm8gUFJPQ0VTU184WDJYOCAxCislaWYgJTEKKyAgICAgICAgbW92cSAgICAg
ICAgICAgIHhtbTAsICAgICAgIE1NV09SRCBQVFIgW3JzaV0KKyAgICAgICAgbW92cSAgICAgICAg
ICAgIHhtbTEsICAgICAgIE1NV09SRCBQVFIgW3JkaV0KKyAgICAgICAgbW92cSAgICAgICAgICAg
IHhtbTMsICAgICAgIE1NV09SRCBQVFIgW3JkaSs4XQorICAgICAgICBwdW5wY2tscWRxICAgICAg
eG1tMSwgICAgICAgeG1tMworCisgICAgICAgIG1vdmRxYSAgICAgICAgICB4bW0yLCAgICAgICB4
bW0xCisgICAgICAgIG1wc2FkYncgICAgICAgICB4bW0xLCAgICAgICB4bW0wLCAgMHgwCisgICAg
ICAgIG1wc2FkYncgICAgICAgICB4bW0yLCAgICAgICB4bW0wLCAgMHg1CisgICAgICAgIHBhZGR3
ICAgICAgICAgICB4bW0xLCAgICAgICB4bW0yCislZWxzZQorICAgICAgICBtb3ZxICAgICAgICAg
ICAgeG1tMCwgICAgICAgTU1XT1JEIFBUUiBbcnNpXQorICAgICAgICBtb3ZxICAgICAgICAgICAg
eG1tNSwgICAgICAgTU1XT1JEIFBUUiBbcmRpXQorICAgICAgICBtb3ZxICAgICAgICAgICAgeG1t
MywgICAgICAgTU1XT1JEIFBUUiBbcmRpKzhdCisgICAgICAgIHB1bnBja2xxZHEgICAgICB4bW01
LCAgICAgICB4bW0zCisKKyAgICAgICAgbW92ZHFhICAgICAgICAgIHhtbTIsICAgICAgIHhtbTUK
KyAgICAgICAgbXBzYWRidyAgICAgICAgIHhtbTUsICAgICAgIHhtbTAsICAweDAKKyAgICAgICAg
bXBzYWRidyAgICAgICAgIHhtbTIsICAgICAgIHhtbTAsICAweDUKKyAgICAgICAgcGFkZHcgICAg
ICAgICAgIHhtbTUsICAgICAgIHhtbTIKKworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tMSwg
ICAgICAgeG1tNQorJWVuZGlmCisgICAgICAgIG1vdnEgICAgICAgICAgICB4bW0wLCAgICAgICBN
TVdPUkQgUFRSIFtyc2kgKyByYXhdCisgICAgICAgIG1vdnEgICAgICAgICAgICB4bW01LCAgICAg
ICBNTVdPUkQgUFRSIFtyZGkrIHJkeF0KKyAgICAgICAgbW92cSAgICAgICAgICAgIHhtbTMsICAg
ICAgIE1NV09SRCBQVFIgW3JkaSsgcmR4KzhdCisgICAgICAgIHB1bnBja2xxZHEgICAgICB4bW01
LCAgICAgICB4bW0zCisKKyAgICAgICAgbGVhICAgICAgICAgICAgIHJzaSwgICAgICAgIFtyc2kr
cmF4KjJdCisgICAgICAgIGxlYSAgICAgICAgICAgICByZGksICAgICAgICBbcmRpK3JkeCoyXQor
CisgICAgICAgIG1vdmRxYSAgICAgICAgICB4bW0yLCAgICAgICB4bW01CisgICAgICAgIG1wc2Fk
YncgICAgICAgICB4bW01LCAgICAgICB4bW0wLCAgMHgwCisgICAgICAgIG1wc2FkYncgICAgICAg
ICB4bW0yLCAgICAgICB4bW0wLCAgMHg1CisgICAgICAgIHBhZGR3ICAgICAgICAgICB4bW01LCAg
ICAgICB4bW0yCisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTEsICAgICAgIHhtbTUKKyVl
bmRtYWNybworCislbWFjcm8gUFJPQ0VTU180WDJYOCAxCislaWYgJTEKKyAgICAgICAgbW92ZCAg
ICAgICAgICAgIHhtbTAsICAgICAgIFtyc2ldCisgICAgICAgIG1vdnEgICAgICAgICAgICB4bW0x
LCAgICAgICBNTVdPUkQgUFRSIFtyZGldCisgICAgICAgIG1vdnEgICAgICAgICAgICB4bW0zLCAg
ICAgICBNTVdPUkQgUFRSIFtyZGkrOF0KKyAgICAgICAgcHVucGNrbHFkcSAgICAgIHhtbTEsICAg
ICAgIHhtbTMKKworICAgICAgICBtcHNhZGJ3ICAgICAgICAgeG1tMSwgICAgICAgeG1tMCwgIDB4
MAorJWVsc2UKKyAgICAgICAgbW92ZCAgICAgICAgICAgIHhtbTAsICAgICAgIFtyc2ldCisgICAg
ICAgIG1vdnEgICAgICAgICAgICB4bW01LCAgICAgICBNTVdPUkQgUFRSIFtyZGldCisgICAgICAg
IG1vdnEgICAgICAgICAgICB4bW0zLCAgICAgICBNTVdPUkQgUFRSIFtyZGkrOF0KKyAgICAgICAg
cHVucGNrbHFkcSAgICAgIHhtbTUsICAgICAgIHhtbTMKKworICAgICAgICBtcHNhZGJ3ICAgICAg
ICAgeG1tNSwgICAgICAgeG1tMCwgIDB4MAorCisgICAgICAgIHBhZGR3ICAgICAgICAgICB4bW0x
LCAgICAgICB4bW01CislZW5kaWYKKyAgICAgICAgbW92ZCAgICAgICAgICAgIHhtbTAsICAgICAg
IFtyc2kgKyByYXhdCisgICAgICAgIG1vdnEgICAgICAgICAgICB4bW01LCAgICAgICBNTVdPUkQg
UFRSIFtyZGkrIHJkeF0KKyAgICAgICAgbW92cSAgICAgICAgICAgIHhtbTMsICAgICAgIE1NV09S
RCBQVFIgW3JkaSsgcmR4KzhdCisgICAgICAgIHB1bnBja2xxZHEgICAgICB4bW01LCAgICAgICB4
bW0zCisKKyAgICAgICAgbGVhICAgICAgICAgICAgIHJzaSwgICAgICAgIFtyc2krcmF4KjJdCisg
ICAgICAgIGxlYSAgICAgICAgICAgICByZGksICAgICAgICBbcmRpK3JkeCoyXQorCisgICAgICAg
IG1wc2FkYncgICAgICAgICB4bW01LCAgICAgICB4bW0wLCAgMHgwCisKKyAgICAgICAgcGFkZHcg
ICAgICAgICAgIHhtbTEsICAgICAgIHhtbTUKKyVlbmRtYWNybworCislbWFjcm8gV1JJVEVfQVNf
SU5UUyAwCisgICAgbW92ICAgICAgICAgICAgIHJkaSwgICAgICAgIGFyZyg0KSAgICAgICAgICAg
O1Jlc3VsdHMKKyAgICBweG9yICAgICAgICAgICAgeG1tMCwgeG1tMAorICAgIG1vdmRxYSAgICAg
ICAgICB4bW0yLCB4bW0xCisgICAgcHVucGNrbHdkICAgICAgIHhtbTEsIHhtbTAKKyAgICBwdW5w
Y2tod2QgICAgICAgeG1tMiwgeG1tMAorCisgICAgbW92ZHFhICAgICAgICAgIFtyZGldLCAgICB4
bW0xCisgICAgbW92ZHFhICAgICAgICAgIFtyZGkgKyAxNl0sICAgIHhtbTIKKyVlbmRtYWNybwor
CitTRUNUSU9OIC50ZXh0CisKKzt2b2lkIHZweF9zYWQxNngxNng4X3NzZTRfMSgKKzsgICAgY29u
c3QgdW5zaWduZWQgY2hhciAqc3JjX3B0ciwKKzsgICAgaW50ICBzcmNfc3RyaWRlLAorOyAgICBj
b25zdCB1bnNpZ25lZCBjaGFyICpyZWZfcHRyLAorOyAgICBpbnQgIHJlZl9zdHJpZGUsCis7ICAg
IHVuc2lnbmVkIHNob3J0ICpzYWRfYXJyYXkpOworZ2xvYmFsc3ltKHZweF9zYWQxNngxNng4X3Nz
ZTRfMSkKK3N5bSh2cHhfc2FkMTZ4MTZ4OF9zc2U0XzEpOgorICAgIHB1c2ggICAgICAgIHJicAor
ICAgIG1vdiAgICAgICAgIHJicCwgcnNwCisgICAgU0hBRE9XX0FSR1NfVE9fU1RBQ0sgNQorICAg
IHB1c2ggICAgICAgIHJzaQorICAgIHB1c2ggICAgICAgIHJkaQorICAgIDsgZW5kIHByb2xvZwor
CisgICAgbW92ICAgICAgICAgICAgIHJzaSwgICAgICAgIGFyZygwKSAgICAgICAgICAgO3NyY19w
dHIKKyAgICBtb3YgICAgICAgICAgICAgcmRpLCAgICAgICAgYXJnKDIpICAgICAgICAgICA7cmVm
X3B0cgorCisgICAgbW92c3hkICAgICAgICAgIHJheCwgICAgICAgIGR3b3JkIHB0ciBhcmcoMSkg
O3NyY19zdHJpZGUKKyAgICBtb3ZzeGQgICAgICAgICAgcmR4LCAgICAgICAgZHdvcmQgcHRyIGFy
ZygzKSA7cmVmX3N0cmlkZQorCisgICAgUFJPQ0VTU18xNlgyWDggMQorICAgIFBST0NFU1NfMTZY
Mlg4IDAKKyAgICBQUk9DRVNTXzE2WDJYOCAwCisgICAgUFJPQ0VTU18xNlgyWDggMAorICAgIFBS
T0NFU1NfMTZYMlg4IDAKKyAgICBQUk9DRVNTXzE2WDJYOCAwCisgICAgUFJPQ0VTU18xNlgyWDgg
MAorICAgIFBST0NFU1NfMTZYMlg4IDAKKworICAgIFdSSVRFX0FTX0lOVFMKKworICAgIDsgYmVn
aW4gZXBpbG9nCisgICAgcG9wICAgICAgICAgcmRpCisgICAgcG9wICAgICAgICAgcnNpCisgICAg
VU5TSEFET1dfQVJHUworICAgIHBvcCAgICAgICAgIHJicAorICAgIHJldAorCisKKzt2b2lkIHZw
eF9zYWQxNng4eDhfc3NlNF8xKAorOyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzcmNfcHRyLAor
OyAgICBpbnQgIHNyY19zdHJpZGUsCis7ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlZl9wdHIs
Cis7ICAgIGludCAgcmVmX3N0cmlkZSwKKzsgICAgdW5zaWduZWQgc2hvcnQgKnNhZF9hcnJheQor
Oyk7CitnbG9iYWxzeW0odnB4X3NhZDE2eDh4OF9zc2U0XzEpCitzeW0odnB4X3NhZDE2eDh4OF9z
c2U0XzEpOgorICAgIHB1c2ggICAgICAgIHJicAorICAgIG1vdiAgICAgICAgIHJicCwgcnNwCisg
ICAgU0hBRE9XX0FSR1NfVE9fU1RBQ0sgNQorICAgIHB1c2ggICAgICAgIHJzaQorICAgIHB1c2gg
ICAgICAgIHJkaQorICAgIDsgZW5kIHByb2xvZworCisgICAgbW92ICAgICAgICAgICAgIHJzaSwg
ICAgICAgIGFyZygwKSAgICAgICAgICAgO3NyY19wdHIKKyAgICBtb3YgICAgICAgICAgICAgcmRp
LCAgICAgICAgYXJnKDIpICAgICAgICAgICA7cmVmX3B0cgorCisgICAgbW92c3hkICAgICAgICAg
IHJheCwgICAgICAgIGR3b3JkIHB0ciBhcmcoMSkgO3NyY19zdHJpZGUKKyAgICBtb3ZzeGQgICAg
ICAgICAgcmR4LCAgICAgICAgZHdvcmQgcHRyIGFyZygzKSA7cmVmX3N0cmlkZQorCisgICAgUFJP
Q0VTU18xNlgyWDggMQorICAgIFBST0NFU1NfMTZYMlg4IDAKKyAgICBQUk9DRVNTXzE2WDJYOCAw
CisgICAgUFJPQ0VTU18xNlgyWDggMAorCisgICAgV1JJVEVfQVNfSU5UUworCisgICAgOyBiZWdp
biBlcGlsb2cKKyAgICBwb3AgICAgICAgICByZGkKKyAgICBwb3AgICAgICAgICByc2kKKyAgICBV
TlNIQURPV19BUkdTCisgICAgcG9wICAgICAgICAgcmJwCisgICAgcmV0CisKKworO3ZvaWQgdnB4
X3NhZDh4OHg4X3NzZTRfMSgKKzsgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc3JjX3B0ciwKKzsg
ICAgaW50ICBzcmNfc3RyaWRlLAorOyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpyZWZfcHRyLAor
OyAgICBpbnQgIHJlZl9zdHJpZGUsCis7ICAgIHVuc2lnbmVkIHNob3J0ICpzYWRfYXJyYXkKKzsp
OworZ2xvYmFsc3ltKHZweF9zYWQ4eDh4OF9zc2U0XzEpCitzeW0odnB4X3NhZDh4OHg4X3NzZTRf
MSk6CisgICAgcHVzaCAgICAgICAgcmJwCisgICAgbW92ICAgICAgICAgcmJwLCByc3AKKyAgICBT
SEFET1dfQVJHU19UT19TVEFDSyA1CisgICAgcHVzaCAgICAgICAgcnNpCisgICAgcHVzaCAgICAg
ICAgcmRpCisgICAgOyBlbmQgcHJvbG9nCisKKyAgICBtb3YgICAgICAgICAgICAgcnNpLCAgICAg
ICAgYXJnKDApICAgICAgICAgICA7c3JjX3B0cgorICAgIG1vdiAgICAgICAgICAgICByZGksICAg
ICAgICBhcmcoMikgICAgICAgICAgIDtyZWZfcHRyCisKKyAgICBtb3ZzeGQgICAgICAgICAgcmF4
LCAgICAgICAgZHdvcmQgcHRyIGFyZygxKSA7c3JjX3N0cmlkZQorICAgIG1vdnN4ZCAgICAgICAg
ICByZHgsICAgICAgICBkd29yZCBwdHIgYXJnKDMpIDtyZWZfc3RyaWRlCisKKyAgICBQUk9DRVNT
XzhYMlg4IDEKKyAgICBQUk9DRVNTXzhYMlg4IDAKKyAgICBQUk9DRVNTXzhYMlg4IDAKKyAgICBQ
Uk9DRVNTXzhYMlg4IDAKKworICAgIFdSSVRFX0FTX0lOVFMKKworICAgIDsgYmVnaW4gZXBpbG9n
CisgICAgcG9wICAgICAgICAgcmRpCisgICAgcG9wICAgICAgICAgcnNpCisgICAgVU5TSEFET1df
QVJHUworICAgIHBvcCAgICAgICAgIHJicAorICAgIHJldAorCisKKzt2b2lkIHZweF9zYWQ4eDE2
eDhfc3NlNF8xKAorOyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzcmNfcHRyLAorOyAgICBpbnQg
IHNyY19zdHJpZGUsCis7ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlZl9wdHIsCis7ICAgIGlu
dCAgcmVmX3N0cmlkZSwKKzsgICAgdW5zaWduZWQgc2hvcnQgKnNhZF9hcnJheQorOyk7CitnbG9i
YWxzeW0odnB4X3NhZDh4MTZ4OF9zc2U0XzEpCitzeW0odnB4X3NhZDh4MTZ4OF9zc2U0XzEpOgor
ICAgIHB1c2ggICAgICAgIHJicAorICAgIG1vdiAgICAgICAgIHJicCwgcnNwCisgICAgU0hBRE9X
X0FSR1NfVE9fU1RBQ0sgNQorICAgIHB1c2ggICAgICAgIHJzaQorICAgIHB1c2ggICAgICAgIHJk
aQorICAgIDsgZW5kIHByb2xvZworCisgICAgbW92ICAgICAgICAgICAgIHJzaSwgICAgICAgIGFy
ZygwKSAgICAgICAgICAgO3NyY19wdHIKKyAgICBtb3YgICAgICAgICAgICAgcmRpLCAgICAgICAg
YXJnKDIpICAgICAgICAgICA7cmVmX3B0cgorCisgICAgbW92c3hkICAgICAgICAgIHJheCwgICAg
ICAgIGR3b3JkIHB0ciBhcmcoMSkgO3NyY19zdHJpZGUKKyAgICBtb3ZzeGQgICAgICAgICAgcmR4
LCAgICAgICAgZHdvcmQgcHRyIGFyZygzKSA7cmVmX3N0cmlkZQorCisgICAgUFJPQ0VTU184WDJY
OCAxCisgICAgUFJPQ0VTU184WDJYOCAwCisgICAgUFJPQ0VTU184WDJYOCAwCisgICAgUFJPQ0VT
U184WDJYOCAwCisgICAgUFJPQ0VTU184WDJYOCAwCisgICAgUFJPQ0VTU184WDJYOCAwCisgICAg
UFJPQ0VTU184WDJYOCAwCisgICAgUFJPQ0VTU184WDJYOCAwCisKKyAgICBXUklURV9BU19JTlRT
CisKKyAgICA7IGJlZ2luIGVwaWxvZworICAgIHBvcCAgICAgICAgIHJkaQorICAgIHBvcCAgICAg
ICAgIHJzaQorICAgIFVOU0hBRE9XX0FSR1MKKyAgICBwb3AgICAgICAgICByYnAKKyAgICByZXQK
KworCis7dm9pZCB2cHhfc2FkNHg0eDhfc3NlNF8xKAorOyAgICBjb25zdCB1bnNpZ25lZCBjaGFy
ICpzcmNfcHRyLAorOyAgICBpbnQgIHNyY19zdHJpZGUsCis7ICAgIGNvbnN0IHVuc2lnbmVkIGNo
YXIgKnJlZl9wdHIsCis7ICAgIGludCAgcmVmX3N0cmlkZSwKKzsgICAgdW5zaWduZWQgc2hvcnQg
KnNhZF9hcnJheQorOyk7CitnbG9iYWxzeW0odnB4X3NhZDR4NHg4X3NzZTRfMSkKK3N5bSh2cHhf
c2FkNHg0eDhfc3NlNF8xKToKKyAgICBwdXNoICAgICAgICByYnAKKyAgICBtb3YgICAgICAgICBy
YnAsIHJzcAorICAgIFNIQURPV19BUkdTX1RPX1NUQUNLIDUKKyAgICBwdXNoICAgICAgICByc2kK
KyAgICBwdXNoICAgICAgICByZGkKKyAgICA7IGVuZCBwcm9sb2cKKworICAgIG1vdiAgICAgICAg
ICAgICByc2ksICAgICAgICBhcmcoMCkgICAgICAgICAgIDtzcmNfcHRyCisgICAgbW92ICAgICAg
ICAgICAgIHJkaSwgICAgICAgIGFyZygyKSAgICAgICAgICAgO3JlZl9wdHIKKworICAgIG1vdnN4
ZCAgICAgICAgICByYXgsICAgICAgICBkd29yZCBwdHIgYXJnKDEpIDtzcmNfc3RyaWRlCisgICAg
bW92c3hkICAgICAgICAgIHJkeCwgICAgICAgIGR3b3JkIHB0ciBhcmcoMykgO3JlZl9zdHJpZGUK
KworICAgIFBST0NFU1NfNFgyWDggMQorICAgIFBST0NFU1NfNFgyWDggMAorCisgICAgV1JJVEVf
QVNfSU5UUworCisgICAgOyBiZWdpbiBlcGlsb2cKKyAgICBwb3AgICAgICAgICByZGkKKyAgICBw
b3AgICAgICAgICByc2kKKyAgICBVTlNIQURPV19BUkdTCisgICAgcG9wICAgICAgICAgcmJwCisg
ICAgcmV0CisKKworCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3Nz
c2UzLmFzbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3Nzc2UzLmFzbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmE1YmM2ZDczMDZjMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc2FkX3Nzc2UzLmFzbQpAQCAtMCwwICsxLDM3
MiBAQAorOworOyAgQ29weXJpZ2h0IChjKSAyMDEwIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKzsKKzsgIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv
dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKKzsgIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorOyAgdHJlZS4gQW4gYWRk
aXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAor
OyAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3Jz
IG1heQorOyAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUg
c291cmNlIHRyZWUuCis7CisKKworJWluY2x1ZGUgInZweF9wb3J0cy94ODZfYWJpX3N1cHBvcnQu
YXNtIgorCislbWFjcm8gUFJPQ0VTU18xNlgyWDMgMQorJWlmICUxCisgICAgICAgIG1vdmRxYSAg
ICAgICAgICB4bW0wLCAgICAgICBYTU1XT1JEIFBUUiBbcnNpXQorICAgICAgICBsZGRxdSAgICAg
ICAgICAgeG1tNSwgICAgICAgWE1NV09SRCBQVFIgW3JkaV0KKyAgICAgICAgbGRkcXUgICAgICAg
ICAgIHhtbTYsICAgICAgIFhNTVdPUkQgUFRSIFtyZGkrMV0KKyAgICAgICAgbGRkcXUgICAgICAg
ICAgIHhtbTcsICAgICAgIFhNTVdPUkQgUFRSIFtyZGkrMl0KKworICAgICAgICBwc2FkYncgICAg
ICAgICAgeG1tNSwgICAgICAgeG1tMAorICAgICAgICBwc2FkYncgICAgICAgICAgeG1tNiwgICAg
ICAgeG1tMAorICAgICAgICBwc2FkYncgICAgICAgICAgeG1tNywgICAgICAgeG1tMAorJWVsc2UK
KyAgICAgICAgbW92ZHFhICAgICAgICAgIHhtbTAsICAgICAgIFhNTVdPUkQgUFRSIFtyc2ldCisg
ICAgICAgIGxkZHF1ICAgICAgICAgICB4bW0xLCAgICAgICBYTU1XT1JEIFBUUiBbcmRpXQorICAg
ICAgICBsZGRxdSAgICAgICAgICAgeG1tMiwgICAgICAgWE1NV09SRCBQVFIgW3JkaSsxXQorICAg
ICAgICBsZGRxdSAgICAgICAgICAgeG1tMywgICAgICAgWE1NV09SRCBQVFIgW3JkaSsyXQorCisg
ICAgICAgIHBzYWRidyAgICAgICAgICB4bW0xLCAgICAgICB4bW0wCisgICAgICAgIHBzYWRidyAg
ICAgICAgICB4bW0yLCAgICAgICB4bW0wCisgICAgICAgIHBzYWRidyAgICAgICAgICB4bW0zLCAg
ICAgICB4bW0wCisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTUsICAgICAgIHhtbTEKKyAg
ICAgICAgcGFkZHcgICAgICAgICAgIHhtbTYsICAgICAgIHhtbTIKKyAgICAgICAgcGFkZHcgICAg
ICAgICAgIHhtbTcsICAgICAgIHhtbTMKKyVlbmRpZgorICAgICAgICBtb3ZkcWEgICAgICAgICAg
eG1tMCwgICAgICAgWE1NV09SRCBQVFIgW3JzaStyYXhdCisgICAgICAgIGxkZHF1ICAgICAgICAg
ICB4bW0xLCAgICAgICBYTU1XT1JEIFBUUiBbcmRpK3JkeF0KKyAgICAgICAgbGRkcXUgICAgICAg
ICAgIHhtbTIsICAgICAgIFhNTVdPUkQgUFRSIFtyZGkrcmR4KzFdCisgICAgICAgIGxkZHF1ICAg
ICAgICAgICB4bW0zLCAgICAgICBYTU1XT1JEIFBUUiBbcmRpK3JkeCsyXQorCisgICAgICAgIGxl
YSAgICAgICAgICAgICByc2ksICAgICAgICBbcnNpK3JheCoyXQorICAgICAgICBsZWEgICAgICAg
ICAgICAgcmRpLCAgICAgICAgW3JkaStyZHgqMl0KKworICAgICAgICBwc2FkYncgICAgICAgICAg
eG1tMSwgICAgICAgeG1tMAorICAgICAgICBwc2FkYncgICAgICAgICAgeG1tMiwgICAgICAgeG1t
MAorICAgICAgICBwc2FkYncgICAgICAgICAgeG1tMywgICAgICAgeG1tMAorCisgICAgICAgIHBh
ZGR3ICAgICAgICAgICB4bW01LCAgICAgICB4bW0xCisgICAgICAgIHBhZGR3ICAgICAgICAgICB4
bW02LCAgICAgICB4bW0yCisgICAgICAgIHBhZGR3ICAgICAgICAgICB4bW03LCAgICAgICB4bW0z
CislZW5kbWFjcm8KKworJW1hY3JvIFBST0NFU1NfMTZYMlgzX09GRlNFVCAyCislaWYgJTEKKyAg
ICAgICAgbW92ZHFhICAgICAgICAgIHhtbTAsICAgICAgIFhNTVdPUkQgUFRSIFtyc2ldCisgICAg
ICAgIG1vdmRxYSAgICAgICAgICB4bW00LCAgICAgICBYTU1XT1JEIFBUUiBbcmRpXQorICAgICAg
ICBtb3ZkcWEgICAgICAgICAgeG1tNywgICAgICAgWE1NV09SRCBQVFIgW3JkaSsxNl0KKworICAg
ICAgICBtb3ZkcWEgICAgICAgICAgeG1tNSwgICAgICAgeG1tNworICAgICAgICBwYWxpZ25yICAg
ICAgICAgeG1tNSwgICAgICAgeG1tNCwgICAgICAgJTIKKworICAgICAgICBtb3ZkcWEgICAgICAg
ICAgeG1tNiwgICAgICAgeG1tNworICAgICAgICBwYWxpZ25yICAgICAgICAgeG1tNiwgICAgICAg
eG1tNCwgICAgICAgKCUyKzEpCisKKyAgICAgICAgcGFsaWduciAgICAgICAgIHhtbTcsICAgICAg
IHhtbTQsICAgICAgICglMisyKQorCisgICAgICAgIHBzYWRidyAgICAgICAgICB4bW01LCAgICAg
ICB4bW0wCisgICAgICAgIHBzYWRidyAgICAgICAgICB4bW02LCAgICAgICB4bW0wCisgICAgICAg
IHBzYWRidyAgICAgICAgICB4bW03LCAgICAgICB4bW0wCislZWxzZQorICAgICAgICBtb3ZkcWEg
ICAgICAgICAgeG1tMCwgICAgICAgWE1NV09SRCBQVFIgW3JzaV0KKyAgICAgICAgbW92ZHFhICAg
ICAgICAgIHhtbTQsICAgICAgIFhNTVdPUkQgUFRSIFtyZGldCisgICAgICAgIG1vdmRxYSAgICAg
ICAgICB4bW0zLCAgICAgICBYTU1XT1JEIFBUUiBbcmRpKzE2XQorCisgICAgICAgIG1vdmRxYSAg
ICAgICAgICB4bW0xLCAgICAgICB4bW0zCisgICAgICAgIHBhbGlnbnIgICAgICAgICB4bW0xLCAg
ICAgICB4bW00LCAgICAgICAlMgorCisgICAgICAgIG1vdmRxYSAgICAgICAgICB4bW0yLCAgICAg
ICB4bW0zCisgICAgICAgIHBhbGlnbnIgICAgICAgICB4bW0yLCAgICAgICB4bW00LCAgICAgICAo
JTIrMSkKKworICAgICAgICBwYWxpZ25yICAgICAgICAgeG1tMywgICAgICAgeG1tNCwgICAgICAg
KCUyKzIpCisKKyAgICAgICAgcHNhZGJ3ICAgICAgICAgIHhtbTEsICAgICAgIHhtbTAKKyAgICAg
ICAgcHNhZGJ3ICAgICAgICAgIHhtbTIsICAgICAgIHhtbTAKKyAgICAgICAgcHNhZGJ3ICAgICAg
ICAgIHhtbTMsICAgICAgIHhtbTAKKworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tNSwgICAg
ICAgeG1tMQorICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tNiwgICAgICAgeG1tMgorICAgICAg
ICBwYWRkdyAgICAgICAgICAgeG1tNywgICAgICAgeG1tMworJWVuZGlmCisgICAgICAgIG1vdmRx
YSAgICAgICAgICB4bW0wLCAgICAgICBYTU1XT1JEIFBUUiBbcnNpK3JheF0KKyAgICAgICAgbW92
ZHFhICAgICAgICAgIHhtbTQsICAgICAgIFhNTVdPUkQgUFRSIFtyZGkrcmR4XQorICAgICAgICBt
b3ZkcWEgICAgICAgICAgeG1tMywgICAgICAgWE1NV09SRCBQVFIgW3JkaStyZHgrMTZdCisKKyAg
ICAgICAgbW92ZHFhICAgICAgICAgIHhtbTEsICAgICAgIHhtbTMKKyAgICAgICAgcGFsaWduciAg
ICAgICAgIHhtbTEsICAgICAgIHhtbTQsICAgICAgICUyCisKKyAgICAgICAgbW92ZHFhICAgICAg
ICAgIHhtbTIsICAgICAgIHhtbTMKKyAgICAgICAgcGFsaWduciAgICAgICAgIHhtbTIsICAgICAg
IHhtbTQsICAgICAgICglMisxKQorCisgICAgICAgIHBhbGlnbnIgICAgICAgICB4bW0zLCAgICAg
ICB4bW00LCAgICAgICAoJTIrMikKKworICAgICAgICBsZWEgICAgICAgICAgICAgcnNpLCAgICAg
ICAgW3JzaStyYXgqMl0KKyAgICAgICAgbGVhICAgICAgICAgICAgIHJkaSwgICAgICAgIFtyZGkr
cmR4KjJdCisKKyAgICAgICAgcHNhZGJ3ICAgICAgICAgIHhtbTEsICAgICAgIHhtbTAKKyAgICAg
ICAgcHNhZGJ3ICAgICAgICAgIHhtbTIsICAgICAgIHhtbTAKKyAgICAgICAgcHNhZGJ3ICAgICAg
ICAgIHhtbTMsICAgICAgIHhtbTAKKworICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tNSwgICAg
ICAgeG1tMQorICAgICAgICBwYWRkdyAgICAgICAgICAgeG1tNiwgICAgICAgeG1tMgorICAgICAg
ICBwYWRkdyAgICAgICAgICAgeG1tNywgICAgICAgeG1tMworJWVuZG1hY3JvCisKKyVtYWNybyBQ
Uk9DRVNTXzE2WDE2WDNfT0ZGU0VUIDIKKyUyX2FsaWduZWRfYnlfJTE6CisKKyAgICAgICAgc3Vi
ICAgICAgICAgICAgIHJkaSwgICAgICAgICUxCisKKyAgICAgICAgUFJPQ0VTU18xNlgyWDNfT0ZG
U0VUIDEsICUxCisgICAgICAgIFBST0NFU1NfMTZYMlgzX09GRlNFVCAwLCAlMQorICAgICAgICBQ
Uk9DRVNTXzE2WDJYM19PRkZTRVQgMCwgJTEKKyAgICAgICAgUFJPQ0VTU18xNlgyWDNfT0ZGU0VU
IDAsICUxCisgICAgICAgIFBST0NFU1NfMTZYMlgzX09GRlNFVCAwLCAlMQorICAgICAgICBQUk9D
RVNTXzE2WDJYM19PRkZTRVQgMCwgJTEKKyAgICAgICAgUFJPQ0VTU18xNlgyWDNfT0ZGU0VUIDAs
ICUxCisgICAgICAgIFBST0NFU1NfMTZYMlgzX09GRlNFVCAwLCAlMQorCisgICAgICAgIGptcCAg
ICAgICAgICAgICAlMl9zdG9yZV9vZmYKKworJWVuZG1hY3JvCisKKyVtYWNybyBQUk9DRVNTXzE2
WDhYM19PRkZTRVQgMgorJTJfYWxpZ25lZF9ieV8lMToKKworICAgICAgICBzdWIgICAgICAgICAg
ICAgcmRpLCAgICAgICAgJTEKKworICAgICAgICBQUk9DRVNTXzE2WDJYM19PRkZTRVQgMSwgJTEK
KyAgICAgICAgUFJPQ0VTU18xNlgyWDNfT0ZGU0VUIDAsICUxCisgICAgICAgIFBST0NFU1NfMTZY
MlgzX09GRlNFVCAwLCAlMQorICAgICAgICBQUk9DRVNTXzE2WDJYM19PRkZTRVQgMCwgJTEKKwor
ICAgICAgICBqbXAgICAgICAgICAgICAgJTJfc3RvcmVfb2ZmCisKKyVlbmRtYWNybworCitTRUNU
SU9OIC50ZXh0CisKKzt2b2lkIGludCB2cHhfc2FkMTZ4MTZ4M19zc3NlMygKKzsgICAgdW5zaWdu
ZWQgY2hhciAqc3JjX3B0ciwKKzsgICAgaW50ICBzcmNfc3RyaWRlLAorOyAgICB1bnNpZ25lZCBj
aGFyICpyZWZfcHRyLAorOyAgICBpbnQgIHJlZl9zdHJpZGUsCis7ICAgIGludCAgKnJlc3VsdHMp
CitnbG9iYWxzeW0odnB4X3NhZDE2eDE2eDNfc3NzZTMpCitzeW0odnB4X3NhZDE2eDE2eDNfc3Nz
ZTMpOgorICAgIHB1c2ggICAgICAgIHJicAorICAgIG1vdiAgICAgICAgIHJicCwgcnNwCisgICAg
U0hBRE9XX0FSR1NfVE9fU1RBQ0sgNQorICAgIFNBVkVfWE1NIDcKKyAgICBwdXNoICAgICAgICBy
c2kKKyAgICBwdXNoICAgICAgICByZGkKKyAgICBwdXNoICAgICAgICByY3gKKyAgICA7IGVuZCBw
cm9sb2cKKworICAgICAgICBtb3YgICAgICAgICAgICAgcnNpLCAgICAgICAgYXJnKDApIDtzcmNf
cHRyCisgICAgICAgIG1vdiAgICAgICAgICAgICByZGksICAgICAgICBhcmcoMikgO3JlZl9wdHIK
KworICAgICAgICBtb3YgICAgICAgICAgICAgcmR4LCAgICAgICAgMHhmCisgICAgICAgIGFuZCAg
ICAgICAgICAgICByZHgsICAgICAgICByZGkKKworICAgICAgICBqbXAgLnZweF9zYWQxNngxNngz
X3Nzc2UzX3NraXB0YWJsZQorLnZweF9zYWQxNngxNngzX3Nzc2UzX2p1bXB0YWJsZToKKyAgICAg
ICAgZGQgLnZweF9zYWQxNngxNngzX3Nzc2UzX2FsaWduZWRfYnlfMCAgLSAudnB4X3NhZDE2eDE2
eDNfc3NzZTNfZG9fanVtcAorICAgICAgICBkZCAudnB4X3NhZDE2eDE2eDNfc3NzZTNfYWxpZ25l
ZF9ieV8xICAtIC52cHhfc2FkMTZ4MTZ4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhf
c2FkMTZ4MTZ4M19zc3NlM19hbGlnbmVkX2J5XzIgIC0gLnZweF9zYWQxNngxNngzX3Nzc2UzX2Rv
X2p1bXAKKyAgICAgICAgZGQgLnZweF9zYWQxNngxNngzX3Nzc2UzX2FsaWduZWRfYnlfMyAgLSAu
dnB4X3NhZDE2eDE2eDNfc3NzZTNfZG9fanVtcAorICAgICAgICBkZCAudnB4X3NhZDE2eDE2eDNf
c3NzZTNfYWxpZ25lZF9ieV80ICAtIC52cHhfc2FkMTZ4MTZ4M19zc3NlM19kb19qdW1wCisgICAg
ICAgIGRkIC52cHhfc2FkMTZ4MTZ4M19zc3NlM19hbGlnbmVkX2J5XzUgIC0gLnZweF9zYWQxNngx
NngzX3Nzc2UzX2RvX2p1bXAKKyAgICAgICAgZGQgLnZweF9zYWQxNngxNngzX3Nzc2UzX2FsaWdu
ZWRfYnlfNiAgLSAudnB4X3NhZDE2eDE2eDNfc3NzZTNfZG9fanVtcAorICAgICAgICBkZCAudnB4
X3NhZDE2eDE2eDNfc3NzZTNfYWxpZ25lZF9ieV83ICAtIC52cHhfc2FkMTZ4MTZ4M19zc3NlM19k
b19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4MTZ4M19zc3NlM19hbGlnbmVkX2J5XzggIC0g
LnZweF9zYWQxNngxNngzX3Nzc2UzX2RvX2p1bXAKKyAgICAgICAgZGQgLnZweF9zYWQxNngxNngz
X3Nzc2UzX2FsaWduZWRfYnlfOSAgLSAudnB4X3NhZDE2eDE2eDNfc3NzZTNfZG9fanVtcAorICAg
ICAgICBkZCAudnB4X3NhZDE2eDE2eDNfc3NzZTNfYWxpZ25lZF9ieV8xMCAtIC52cHhfc2FkMTZ4
MTZ4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4MTZ4M19zc3NlM19hbGln
bmVkX2J5XzExIC0gLnZweF9zYWQxNngxNngzX3Nzc2UzX2RvX2p1bXAKKyAgICAgICAgZGQgLnZw
eF9zYWQxNngxNngzX3Nzc2UzX2FsaWduZWRfYnlfMTIgLSAudnB4X3NhZDE2eDE2eDNfc3NzZTNf
ZG9fanVtcAorICAgICAgICBkZCAudnB4X3NhZDE2eDE2eDNfc3NzZTNfYWxpZ25lZF9ieV8xMyAt
IC52cHhfc2FkMTZ4MTZ4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4MTZ4
M19zc3NlM19hbGlnbmVkX2J5XzE0IC0gLnZweF9zYWQxNngxNngzX3Nzc2UzX2RvX2p1bXAKKyAg
ICAgICAgZGQgLnZweF9zYWQxNngxNngzX3Nzc2UzX2FsaWduZWRfYnlfMTUgLSAudnB4X3NhZDE2
eDE2eDNfc3NzZTNfZG9fanVtcAorLnZweF9zYWQxNngxNngzX3Nzc2UzX3NraXB0YWJsZToKKwor
ICAgICAgICBjYWxsIC52cHhfc2FkMTZ4MTZ4M19zc3NlM19kb19qdW1wCisudnB4X3NhZDE2eDE2
eDNfc3NzZTNfZG9fanVtcDoKKyAgICAgICAgcG9wICAgICAgICAgICAgIHJjeCAgICAgICAgICAg
ICAgICAgICAgICAgICA7IGdldCB0aGUgYWRkcmVzcyBvZiBkb19qdW1wCisgICAgICAgIG1vdiAg
ICAgICAgICAgICByYXgsICAudnB4X3NhZDE2eDE2eDNfc3NzZTNfanVtcHRhYmxlIC0gLnZweF9z
YWQxNngxNngzX3Nzc2UzX2RvX2p1bXAKKyAgICAgICAgYWRkICAgICAgICAgICAgIHJheCwgIHJj
eCAgOyBnZXQgdGhlIGFic29sdXRlIGFkZHJlc3Mgb2YgdnB4X3NhZDE2eDE2eDNfc3NzZTNfanVt
cHRhYmxlCisKKyAgICAgICAgbW92c3hkICAgICAgICAgIHJheCwgIGR3b3JkIFtyYXggKyA0KnJk
eF0gICA7IGdldCB0aGUgMzIgYml0IG9mZnNldCBmcm9tIHRoZSBqdW1wdGFibGUKKyAgICAgICAg
YWRkICAgICAgICAgICAgIHJjeCwgICAgICAgIHJheAorCisgICAgICAgIG1vdnN4ZCAgICAgICAg
ICByYXgsICAgICAgICBkd29yZCBwdHIgYXJnKDEpIDtzcmNfc3RyaWRlCisgICAgICAgIG1vdnN4
ZCAgICAgICAgICByZHgsICAgICAgICBkd29yZCBwdHIgYXJnKDMpIDtyZWZfc3RyaWRlCisKKyAg
ICAgICAgam1wICAgICAgICAgICAgIHJjeAorCisgICAgICAgIFBST0NFU1NfMTZYMTZYM19PRkZT
RVQgMCwgIC52cHhfc2FkMTZ4MTZ4M19zc3NlMworICAgICAgICBQUk9DRVNTXzE2WDE2WDNfT0ZG
U0VUIDEsICAudnB4X3NhZDE2eDE2eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VTU18xNlgxNlgzX09G
RlNFVCAyLCAgLnZweF9zYWQxNngxNngzX3Nzc2UzCisgICAgICAgIFBST0NFU1NfMTZYMTZYM19P
RkZTRVQgMywgIC52cHhfc2FkMTZ4MTZ4M19zc3NlMworICAgICAgICBQUk9DRVNTXzE2WDE2WDNf
T0ZGU0VUIDQsICAudnB4X3NhZDE2eDE2eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VTU18xNlgxNlgz
X09GRlNFVCA1LCAgLnZweF9zYWQxNngxNngzX3Nzc2UzCisgICAgICAgIFBST0NFU1NfMTZYMTZY
M19PRkZTRVQgNiwgIC52cHhfc2FkMTZ4MTZ4M19zc3NlMworICAgICAgICBQUk9DRVNTXzE2WDE2
WDNfT0ZGU0VUIDcsICAudnB4X3NhZDE2eDE2eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VTU18xNlgx
NlgzX09GRlNFVCA4LCAgLnZweF9zYWQxNngxNngzX3Nzc2UzCisgICAgICAgIFBST0NFU1NfMTZY
MTZYM19PRkZTRVQgOSwgIC52cHhfc2FkMTZ4MTZ4M19zc3NlMworICAgICAgICBQUk9DRVNTXzE2
WDE2WDNfT0ZGU0VUIDEwLCAudnB4X3NhZDE2eDE2eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VTU18x
NlgxNlgzX09GRlNFVCAxMSwgLnZweF9zYWQxNngxNngzX3Nzc2UzCisgICAgICAgIFBST0NFU1Nf
MTZYMTZYM19PRkZTRVQgMTIsIC52cHhfc2FkMTZ4MTZ4M19zc3NlMworICAgICAgICBQUk9DRVNT
XzE2WDE2WDNfT0ZGU0VUIDEzLCAudnB4X3NhZDE2eDE2eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VT
U18xNlgxNlgzX09GRlNFVCAxNCwgLnZweF9zYWQxNngxNngzX3Nzc2UzCisKKy52cHhfc2FkMTZ4
MTZ4M19zc3NlM19hbGlnbmVkX2J5XzE1OgorICAgICAgICBQUk9DRVNTXzE2WDJYMyAxCisgICAg
ICAgIFBST0NFU1NfMTZYMlgzIDAKKyAgICAgICAgUFJPQ0VTU18xNlgyWDMgMAorICAgICAgICBQ
Uk9DRVNTXzE2WDJYMyAwCisgICAgICAgIFBST0NFU1NfMTZYMlgzIDAKKyAgICAgICAgUFJPQ0VT
U18xNlgyWDMgMAorICAgICAgICBQUk9DRVNTXzE2WDJYMyAwCisgICAgICAgIFBST0NFU1NfMTZY
MlgzIDAKKworLnZweF9zYWQxNngxNngzX3Nzc2UzX3N0b3JlX29mZjoKKyAgICAgICAgbW92ICAg
ICAgICAgICAgIHJkaSwgICAgICAgIGFyZyg0KSA7UmVzdWx0cworCisgICAgICAgIG1vdnEgICAg
ICAgICAgICB4bW0wLCAgICAgICB4bW01CisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW01LCAg
ICAgICA4CisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTAsICAgICAgIHhtbTUKKyAgICAg
ICAgbW92ZCAgICAgICAgICAgIFtyZGldLCAgICAgIHhtbTAKKzstCisgICAgICAgIG1vdnEgICAg
ICAgICAgICB4bW0wLCAgICAgICB4bW02CisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW02LCAg
ICAgICA4CisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTAsICAgICAgIHhtbTYKKyAgICAg
ICAgbW92ZCAgICAgICAgICAgIFtyZGkrNF0sICAgIHhtbTAKKzstCisgICAgICAgIG1vdnEgICAg
ICAgICAgICB4bW0wLCAgICAgICB4bW03CisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW03LCAg
ICAgICA4CisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTAsICAgICAgIHhtbTcKKyAgICAg
ICAgbW92ZCAgICAgICAgICAgIFtyZGkrOF0sICAgIHhtbTAKKworICAgIDsgYmVnaW4gZXBpbG9n
CisgICAgcG9wICAgICAgICAgcmN4CisgICAgcG9wICAgICAgICAgcmRpCisgICAgcG9wICAgICAg
ICAgcnNpCisgICAgUkVTVE9SRV9YTU0KKyAgICBVTlNIQURPV19BUkdTCisgICAgcG9wICAgICAg
ICAgcmJwCisgICAgcmV0CisKKzt2b2lkIGludCB2cHhfc2FkMTZ4OHgzX3Nzc2UzKAorOyAgICB1
bnNpZ25lZCBjaGFyICpzcmNfcHRyLAorOyAgICBpbnQgIHNyY19zdHJpZGUsCis7ICAgIHVuc2ln
bmVkIGNoYXIgKnJlZl9wdHIsCis7ICAgIGludCAgcmVmX3N0cmlkZSwKKzsgICAgaW50ICAqcmVz
dWx0cykKK2dsb2JhbHN5bSh2cHhfc2FkMTZ4OHgzX3Nzc2UzKQorc3ltKHZweF9zYWQxNng4eDNf
c3NzZTMpOgorICAgIHB1c2ggICAgICAgIHJicAorICAgIG1vdiAgICAgICAgIHJicCwgcnNwCisg
ICAgU0hBRE9XX0FSR1NfVE9fU1RBQ0sgNQorICAgIFNBVkVfWE1NIDcKKyAgICBwdXNoICAgICAg
ICByc2kKKyAgICBwdXNoICAgICAgICByZGkKKyAgICBwdXNoICAgICAgICByY3gKKyAgICA7IGVu
ZCBwcm9sb2cKKworICAgICAgICBtb3YgICAgICAgICAgICAgcnNpLCAgICAgICAgYXJnKDApIDtz
cmNfcHRyCisgICAgICAgIG1vdiAgICAgICAgICAgICByZGksICAgICAgICBhcmcoMikgO3JlZl9w
dHIKKworICAgICAgICBtb3YgICAgICAgICAgICAgcmR4LCAgICAgICAgMHhmCisgICAgICAgIGFu
ZCAgICAgICAgICAgICByZHgsICAgICAgICByZGkKKworICAgICAgICBqbXAgLnZweF9zYWQxNng4
eDNfc3NzZTNfc2tpcHRhYmxlCisudnB4X3NhZDE2eDh4M19zc3NlM19qdW1wdGFibGU6CisgICAg
ICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfMCAgLSAudnB4X3NhZDE2eDh4
M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRf
YnlfMSAgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2Fk
MTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfMiAgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1w
CisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfMyAgLSAudnB4X3Nh
ZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2Fs
aWduZWRfYnlfNCAgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52
cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfNSAgLSAudnB4X3NhZDE2eDh4M19zc3NlM19k
b19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfNiAgLSAu
dnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nz
c2UzX2FsaWduZWRfYnlfNyAgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAg
IGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfOCAgLSAudnB4X3NhZDE2eDh4M19z
c3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlf
OSAgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4
OHgzX3Nzc2UzX2FsaWduZWRfYnlfMTAgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisg
ICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfMTEgLSAudnB4X3NhZDE2
eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWdu
ZWRfYnlfMTIgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhf
c2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfMTMgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19q
dW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2FsaWduZWRfYnlfMTQgLSAudnB4
X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisgICAgICAgIGRkIC52cHhfc2FkMTZ4OHgzX3Nzc2Uz
X2FsaWduZWRfYnlfMTUgLSAudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wCisudnB4X3NhZDE2
eDh4M19zc3NlM19za2lwdGFibGU6CisKKyAgICAgICAgY2FsbCAudnB4X3NhZDE2eDh4M19zc3Nl
M19kb19qdW1wCisudnB4X3NhZDE2eDh4M19zc3NlM19kb19qdW1wOgorICAgICAgICBwb3AgICAg
ICAgICAgICAgcmN4ICAgICAgICAgICAgICAgICAgICAgICAgIDsgZ2V0IHRoZSBhZGRyZXNzIG9m
IGRvX2p1bXAKKyAgICAgICAgbW92ICAgICAgICAgICAgIHJheCwgIC52cHhfc2FkMTZ4OHgzX3Nz
c2UzX2p1bXB0YWJsZSAtIC52cHhfc2FkMTZ4OHgzX3Nzc2UzX2RvX2p1bXAKKyAgICAgICAgYWRk
ICAgICAgICAgICAgIHJheCwgIHJjeCAgOyBnZXQgdGhlIGFic29sdXRlIGFkZHJlc3Mgb2YgdnB4
X3NhZDE2eDh4M19zc3NlM19qdW1wdGFibGUKKworICAgICAgICBtb3ZzeGQgICAgICAgICAgcmF4
LCAgZHdvcmQgW3JheCArIDQqcmR4XSAgIDsgZ2V0IHRoZSAzMiBiaXQgb2Zmc2V0IGZyb20gdGhl
IGp1bXB0YWJsZQorICAgICAgICBhZGQgICAgICAgICAgICAgcmN4LCAgICAgICAgcmF4CisKKyAg
ICAgICAgbW92c3hkICAgICAgICAgIHJheCwgICAgICAgIGR3b3JkIHB0ciBhcmcoMSkgO3NyY19z
dHJpZGUKKyAgICAgICAgbW92c3hkICAgICAgICAgIHJkeCwgICAgICAgIGR3b3JkIHB0ciBhcmco
MykgO3JlZl9zdHJpZGUKKworICAgICAgICBqbXAgICAgICAgICAgICAgcmN4CisKKyAgICAgICAg
UFJPQ0VTU18xNlg4WDNfT0ZGU0VUIDAsICAudnB4X3NhZDE2eDh4M19zc3NlMworICAgICAgICBQ
Uk9DRVNTXzE2WDhYM19PRkZTRVQgMSwgIC52cHhfc2FkMTZ4OHgzX3Nzc2UzCisgICAgICAgIFBS
T0NFU1NfMTZYOFgzX09GRlNFVCAyLCAgLnZweF9zYWQxNng4eDNfc3NzZTMKKyAgICAgICAgUFJP
Q0VTU18xNlg4WDNfT0ZGU0VUIDMsICAudnB4X3NhZDE2eDh4M19zc3NlMworICAgICAgICBQUk9D
RVNTXzE2WDhYM19PRkZTRVQgNCwgIC52cHhfc2FkMTZ4OHgzX3Nzc2UzCisgICAgICAgIFBST0NF
U1NfMTZYOFgzX09GRlNFVCA1LCAgLnZweF9zYWQxNng4eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VT
U18xNlg4WDNfT0ZGU0VUIDYsICAudnB4X3NhZDE2eDh4M19zc3NlMworICAgICAgICBQUk9DRVNT
XzE2WDhYM19PRkZTRVQgNywgIC52cHhfc2FkMTZ4OHgzX3Nzc2UzCisgICAgICAgIFBST0NFU1Nf
MTZYOFgzX09GRlNFVCA4LCAgLnZweF9zYWQxNng4eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VTU18x
Nlg4WDNfT0ZGU0VUIDksICAudnB4X3NhZDE2eDh4M19zc3NlMworICAgICAgICBQUk9DRVNTXzE2
WDhYM19PRkZTRVQgMTAsIC52cHhfc2FkMTZ4OHgzX3Nzc2UzCisgICAgICAgIFBST0NFU1NfMTZY
OFgzX09GRlNFVCAxMSwgLnZweF9zYWQxNng4eDNfc3NzZTMKKyAgICAgICAgUFJPQ0VTU18xNlg4
WDNfT0ZGU0VUIDEyLCAudnB4X3NhZDE2eDh4M19zc3NlMworICAgICAgICBQUk9DRVNTXzE2WDhY
M19PRkZTRVQgMTMsIC52cHhfc2FkMTZ4OHgzX3Nzc2UzCisgICAgICAgIFBST0NFU1NfMTZYOFgz
X09GRlNFVCAxNCwgLnZweF9zYWQxNng4eDNfc3NzZTMKKworLnZweF9zYWQxNng4eDNfc3NzZTNf
YWxpZ25lZF9ieV8xNToKKworICAgICAgICBQUk9DRVNTXzE2WDJYMyAxCisgICAgICAgIFBST0NF
U1NfMTZYMlgzIDAKKyAgICAgICAgUFJPQ0VTU18xNlgyWDMgMAorICAgICAgICBQUk9DRVNTXzE2
WDJYMyAwCisKKy52cHhfc2FkMTZ4OHgzX3Nzc2UzX3N0b3JlX29mZjoKKyAgICAgICAgbW92ICAg
ICAgICAgICAgIHJkaSwgICAgICAgIGFyZyg0KSA7UmVzdWx0cworCisgICAgICAgIG1vdnEgICAg
ICAgICAgICB4bW0wLCAgICAgICB4bW01CisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW01LCAg
ICAgICA4CisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTAsICAgICAgIHhtbTUKKyAgICAg
ICAgbW92ZCAgICAgICAgICAgIFtyZGldLCAgICAgIHhtbTAKKzstCisgICAgICAgIG1vdnEgICAg
ICAgICAgICB4bW0wLCAgICAgICB4bW02CisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW02LCAg
ICAgICA4CisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTAsICAgICAgIHhtbTYKKyAgICAg
ICAgbW92ZCAgICAgICAgICAgIFtyZGkrNF0sICAgIHhtbTAKKzstCisgICAgICAgIG1vdnEgICAg
ICAgICAgICB4bW0wLCAgICAgICB4bW03CisgICAgICAgIHBzcmxkcSAgICAgICAgICB4bW03LCAg
ICAgICA4CisKKyAgICAgICAgcGFkZHcgICAgICAgICAgIHhtbTAsICAgICAgIHhtbTcKKyAgICAg
ICAgbW92ZCAgICAgICAgICAgIFtyZGkrOF0sICAgIHhtbTAKKworICAgIDsgYmVnaW4gZXBpbG9n
CisgICAgcG9wICAgICAgICAgcmN4CisgICAgcG9wICAgICAgICAgcmRpCisgICAgcG9wICAgICAg
ICAgcnNpCisgICAgUkVTVE9SRV9YTU0KKyAgICBVTlNIQURPV19BUkdTCisgICAgcG9wICAgICAg
ICAgcmJwCisgICAgcmV0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3N1YnRy
YWN0X2F2eDIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc3VidHJhY3RfYXZ4Mi5jCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ODQ5NTgxZWQ0NGQuLjAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3N1YnRyYWN0X2F2eDIuYworKysgL2Rldi9udWxsCkBA
IC0xLDIwMyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNh
biBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UK
LSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3Jh
bnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFsbCBjb250cmlidXRp
bmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlIDxhc3NlcnQu
aD4KLSNpbmNsdWRlIDxpbW1pbnRyaW4uaD4KLQotI2luY2x1ZGUgIi4vdnB4X2RzcF9ydGNkLmgi
Ci0jaW5jbHVkZSAidnB4L3ZweF9pbnRlZ2VyLmgiCi0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5F
IHZvaWQgc3VidHJhY3QzMl9hdngyKGludDE2X3QgKmRpZmZfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnByZWRfcHRyKSB7Ci0gIGNvbnN0IF9fbTI1NmkgcyA9IF9tbTI1Nl9sZGRxdV9zaTI1NigoY29u
c3QgX19tMjU2aSAqKXNyY19wdHIpOwotICBjb25zdCBfX20yNTZpIHAgPSBfbW0yNTZfbGRkcXVf
c2kyNTYoKGNvbnN0IF9fbTI1NmkgKilwcmVkX3B0cik7Ci0gIGNvbnN0IF9fbTI1Nmkgc18wID0g
X21tMjU2X2N2dGVwdThfZXBpMTYoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzKSk7Ci0gIGNvbnN0
IF9fbTI1Nmkgc18xID0gX21tMjU2X2N2dGVwdThfZXBpMTYoX21tMjU2X2V4dHJhY3RpMTI4X3Np
MjU2KHMsIDEpKTsKLSAgY29uc3QgX19tMjU2aSBwXzAgPSBfbW0yNTZfY3Z0ZXB1OF9lcGkxNihf
bW0yNTZfY2FzdHNpMjU2X3NpMTI4KHApKTsKLSAgY29uc3QgX19tMjU2aSBwXzEgPSBfbW0yNTZf
Y3Z0ZXB1OF9lcGkxNihfbW0yNTZfZXh0cmFjdGkxMjhfc2kyNTYocCwgMSkpOwotICBjb25zdCBf
X20yNTZpIGRfMCA9IF9tbTI1Nl9zdWJfZXBpMTYoc18wLCBwXzApOwotICBjb25zdCBfX20yNTZp
IGRfMSA9IF9tbTI1Nl9zdWJfZXBpMTYoc18xLCBwXzEpOwotICBfbW0yNTZfc3RvcmV1X3NpMjU2
KChfX20yNTZpICopZGlmZl9wdHIsIGRfMCk7Ci0gIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1
NmkgKikoZGlmZl9wdHIgKyAxNiksIGRfMSk7Ci19Ci0KLXN0YXRpYyBWUFhfRk9SQ0VfSU5MSU5F
IHZvaWQgc3VidHJhY3RfYmxvY2tfMTZ4bl9hdngyKAotICAgIGludCByb3dzLCBpbnQxNl90ICpk
aWZmX3B0ciwgcHRyZGlmZl90IGRpZmZfc3RyaWRlLCBjb25zdCB1aW50OF90ICpzcmNfcHRyLAot
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpwcmVkX3B0ciwgcHRyZGlm
Zl90IHByZWRfc3RyaWRlKSB7Ci0gIGludCBqOwotICBmb3IgKGogPSAwOyBqIDwgcm93czsgKytq
KSB7Ci0gICAgY29uc3QgX19tMTI4aSBzID0gX21tX2xkZHF1X3NpMTI4KChjb25zdCBfX20xMjhp
ICopc3JjX3B0cik7Ci0gICAgY29uc3QgX19tMTI4aSBwID0gX21tX2xkZHF1X3NpMTI4KChjb25z
dCBfX20xMjhpICopcHJlZF9wdHIpOwotICAgIGNvbnN0IF9fbTI1Nmkgc18wID0gX21tMjU2X2N2
dGVwdThfZXBpMTYocyk7Ci0gICAgY29uc3QgX19tMjU2aSBwXzAgPSBfbW0yNTZfY3Z0ZXB1OF9l
cGkxNihwKTsKLSAgICBjb25zdCBfX20yNTZpIGRfMCA9IF9tbTI1Nl9zdWJfZXBpMTYoc18wLCBw
XzApOwotICAgIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1NmkgKilkaWZmX3B0ciwgZF8wKTsK
LSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcHJlZF9wdHIgKz0gcHJlZF9zdHJpZGU7
Ci0gICAgZGlmZl9wdHIgKz0gZGlmZl9zdHJpZGU7Ci0gIH0KLX0KLQotc3RhdGljIFZQWF9GT1JD
RV9JTkxJTkUgdm9pZCBzdWJ0cmFjdF9ibG9ja18zMnhuX2F2eDIoCi0gICAgaW50IHJvd3MsIGlu
dDE2X3QgKmRpZmZfcHRyLCBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNy
Y19wdHIsCi0gICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnByZWRfcHRy
LCBwdHJkaWZmX3QgcHJlZF9zdHJpZGUpIHsKLSAgaW50IGo7Ci0gIGZvciAoaiA9IDA7IGogPCBy
b3dzOyArK2opIHsKLSAgICBzdWJ0cmFjdDMyX2F2eDIoZGlmZl9wdHIsIHNyY19wdHIsIHByZWRf
cHRyKTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcHJlZF9wdHIgKz0gcHJlZF9z
dHJpZGU7Ci0gICAgZGlmZl9wdHIgKz0gZGlmZl9zdHJpZGU7Ci0gIH0KLX0KLQotc3RhdGljIFZQ
WF9GT1JDRV9JTkxJTkUgdm9pZCBzdWJ0cmFjdF9ibG9ja182NHhuX2F2eDIoCi0gICAgaW50IHJv
d3MsIGludDE2X3QgKmRpZmZfcHRyLCBwdHJkaWZmX3QgZGlmZl9zdHJpZGUsIGNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsCi0gICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnBy
ZWRfcHRyLCBwdHJkaWZmX3QgcHJlZF9zdHJpZGUpIHsKLSAgaW50IGo7Ci0gIGZvciAoaiA9IDA7
IGogPCByb3dzOyArK2opIHsKLSAgICBzdWJ0cmFjdDMyX2F2eDIoZGlmZl9wdHIsIHNyY19wdHIs
IHByZWRfcHRyKTsKLSAgICBzdWJ0cmFjdDMyX2F2eDIoZGlmZl9wdHIgKyAzMiwgc3JjX3B0ciAr
IDMyLCBwcmVkX3B0ciArIDMyKTsKLSAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgcHJl
ZF9wdHIgKz0gcHJlZF9zdHJpZGU7Ci0gICAgZGlmZl9wdHIgKz0gZGlmZl9zdHJpZGU7Ci0gIH0K
LX0KLQotdm9pZCB2cHhfc3VidHJhY3RfYmxvY2tfYXZ4MihpbnQgcm93cywgaW50IGNvbHMsIGlu
dDE2X3QgKmRpZmZfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
ZGlmZl9zdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBjb25zdCB1aW50OF90ICpwcmVkX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHByZWRfc3RyaWRlKSB7Ci0g
IHN3aXRjaCAoY29scykgewotICAgIGNhc2UgMTY6Ci0gICAgICBzdWJ0cmFjdF9ibG9ja18xNnhu
X2F2eDIocm93cywgZGlmZl9wdHIsIGRpZmZfc3RyaWRlLCBzcmNfcHRyLCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWRfcHRyLCBwcmVkX3N0cmlkZSk7Ci0g
ICAgICBicmVhazsKLSAgICBjYXNlIDMyOgotICAgICAgc3VidHJhY3RfYmxvY2tfMzJ4bl9hdngy
KHJvd3MsIGRpZmZfcHRyLCBkaWZmX3N0cmlkZSwgc3JjX3B0ciwgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVkX3B0ciwgcHJlZF9zdHJpZGUpOwotICAgICAg
YnJlYWs7Ci0gICAgY2FzZSA2NDoKLSAgICAgIHN1YnRyYWN0X2Jsb2NrXzY0eG5fYXZ4Mihyb3dz
LCBkaWZmX3B0ciwgZGlmZl9zdHJpZGUsIHNyY19wdHIsIHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJlZF9wdHIsIHByZWRfc3RyaWRlKTsKLSAgICAgIGJyZWFr
OwotICAgIGRlZmF1bHQ6Ci0gICAgICB2cHhfc3VidHJhY3RfYmxvY2tfc3NlMihyb3dzLCBjb2xz
LCBkaWZmX3B0ciwgZGlmZl9zdHJpZGUsIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzcmNfc3RyaWRlLCBwcmVkX3B0ciwgcHJlZF9zdHJpZGUpOwotICAgICAgYnJlYWs7
Ci0gIH0KLX0KLQotI2lmIENPTkZJR19WUDlfSElHSEJJVERFUFRICi12b2lkIHZweF9oaWdoYmRf
c3VidHJhY3RfYmxvY2tfYXZ4MihpbnQgcm93cywgaW50IGNvbHMsIGludDE2X3QgKmRpZmZfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IGRpZmZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAq
c3JjOF9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QgKnByZWQ4X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBwcmVkX3N0cmlkZSwgaW50IGJkKSB7Ci0gIHVpbnQxNl90ICpzcmNfcHRyID0gQ09O
VkVSVF9UT19TSE9SVFBUUihzcmM4X3B0cik7Ci0gIHVpbnQxNl90ICpwcmVkX3B0ciA9IENPTlZF
UlRfVE9fU0hPUlRQVFIocHJlZDhfcHRyKTsKLSAgKHZvaWQpYmQ7Ci0gIGlmIChjb2xzID09IDY0
KSB7Ci0gICAgaW50IGogPSByb3dzOwotICAgIGRvIHsKLSAgICAgIGNvbnN0IF9fbTI1NmkgczAg
PSBfbW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilzcmNfcHRyKTsKLSAgICAgIGNv
bnN0IF9fbTI1NmkgczEgPSBfbW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3Jj
X3B0ciArIDE2KSk7Ci0gICAgICBjb25zdCBfX20yNTZpIHMyID0gX21tMjU2X2xkZHF1X3NpMjU2
KChjb25zdCBfX20yNTZpICopKHNyY19wdHIgKyAzMikpOwotICAgICAgY29uc3QgX19tMjU2aSBz
MyA9IF9tbTI1Nl9sZGRxdV9zaTI1NigoY29uc3QgX19tMjU2aSAqKShzcmNfcHRyICsgNDgpKTsK
LSAgICAgIGNvbnN0IF9fbTI1NmkgcDAgPSBfbW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1
NmkgKilwcmVkX3B0cik7Ci0gICAgICBjb25zdCBfX20yNTZpIHAxID0gX21tMjU2X2xkZHF1X3Np
MjU2KChjb25zdCBfX20yNTZpICopKHByZWRfcHRyICsgMTYpKTsKLSAgICAgIGNvbnN0IF9fbTI1
NmkgcDIgPSBfbW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikocHJlZF9wdHIgKyAz
MikpOwotICAgICAgY29uc3QgX19tMjU2aSBwMyA9IF9tbTI1Nl9sZGRxdV9zaTI1NigoY29uc3Qg
X19tMjU2aSAqKShwcmVkX3B0ciArIDQ4KSk7Ci0gICAgICBjb25zdCBfX20yNTZpIGQwID0gX21t
MjU2X3N1Yl9lcGkxNihzMCwgcDApOwotICAgICAgY29uc3QgX19tMjU2aSBkMSA9IF9tbTI1Nl9z
dWJfZXBpMTYoczEsIHAxKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgZDIgPSBfbW0yNTZfc3ViX2Vw
aTE2KHMyLCBwMik7Ci0gICAgICBjb25zdCBfX20yNTZpIGQzID0gX21tMjU2X3N1Yl9lcGkxNihz
MywgcDMpOwotICAgICAgX21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2aSAqKWRpZmZfcHRyLCBk
MCk7Ci0gICAgICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopKGRpZmZfcHRyICsgMTYp
LCBkMSk7Ci0gICAgICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopKGRpZmZfcHRyICsg
MzIpLCBkMik7Ci0gICAgICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZpICopKGRpZmZfcHRy
ICsgNDgpLCBkMyk7Ci0gICAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7Ci0gICAgICBwcmVkX3B0
ciArPSBwcmVkX3N0cmlkZTsKLSAgICAgIGRpZmZfcHRyICs9IGRpZmZfc3RyaWRlOwotICAgIH0g
d2hpbGUgKC0taiAhPSAwKTsKLSAgfSBlbHNlIGlmIChjb2xzID09IDMyKSB7Ci0gICAgaW50IGog
PSByb3dzOwotICAgIGRvIHsKLSAgICAgIGNvbnN0IF9fbTI1NmkgczAgPSBfbW0yNTZfbGRkcXVf
c2kyNTYoKGNvbnN0IF9fbTI1NmkgKilzcmNfcHRyKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgczEg
PSBfbW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKikoc3JjX3B0ciArIDE2KSk7Ci0g
ICAgICBjb25zdCBfX20yNTZpIHAwID0gX21tMjU2X2xkZHF1X3NpMjU2KChjb25zdCBfX20yNTZp
ICopcHJlZF9wdHIpOwotICAgICAgY29uc3QgX19tMjU2aSBwMSA9IF9tbTI1Nl9sZGRxdV9zaTI1
NigoY29uc3QgX19tMjU2aSAqKShwcmVkX3B0ciArIDE2KSk7Ci0gICAgICBjb25zdCBfX20yNTZp
IGQwID0gX21tMjU2X3N1Yl9lcGkxNihzMCwgcDApOwotICAgICAgY29uc3QgX19tMjU2aSBkMSA9
IF9tbTI1Nl9zdWJfZXBpMTYoczEsIHAxKTsKLSAgICAgIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9f
bTI1NmkgKilkaWZmX3B0ciwgZDApOwotICAgICAgX21tMjU2X3N0b3JldV9zaTI1NigoX19tMjU2
aSAqKShkaWZmX3B0ciArIDE2KSwgZDEpOwotICAgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwot
ICAgICAgcHJlZF9wdHIgKz0gcHJlZF9zdHJpZGU7Ci0gICAgICBkaWZmX3B0ciArPSBkaWZmX3N0
cmlkZTsKLSAgICB9IHdoaWxlICgtLWogIT0gMCk7Ci0gIH0gZWxzZSBpZiAoY29scyA9PSAxNikg
ewotICAgIGludCBqID0gcm93czsKLSAgICBkbyB7Ci0gICAgICBjb25zdCBfX20yNTZpIHMwID0g
X21tMjU2X2xkZHF1X3NpMjU2KChjb25zdCBfX20yNTZpICopc3JjX3B0cik7Ci0gICAgICBjb25z
dCBfX20yNTZpIHMxID0KLSAgICAgICAgICBfbW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1
NmkgKikoc3JjX3B0ciArIHNyY19zdHJpZGUpKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgcDAgPSBf
bW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1NmkgKilwcmVkX3B0cik7Ci0gICAgICBjb25z
dCBfX20yNTZpIHAxID0KLSAgICAgICAgICBfbW0yNTZfbGRkcXVfc2kyNTYoKGNvbnN0IF9fbTI1
NmkgKikocHJlZF9wdHIgKyBwcmVkX3N0cmlkZSkpOwotICAgICAgY29uc3QgX19tMjU2aSBkMCA9
IF9tbTI1Nl9zdWJfZXBpMTYoczAsIHAwKTsKLSAgICAgIGNvbnN0IF9fbTI1NmkgZDEgPSBfbW0y
NTZfc3ViX2VwaTE2KHMxLCBwMSk7Ci0gICAgICBfbW0yNTZfc3RvcmV1X3NpMjU2KChfX20yNTZp
ICopZGlmZl9wdHIsIGQwKTsKLSAgICAgIF9tbTI1Nl9zdG9yZXVfc2kyNTYoKF9fbTI1NmkgKiko
ZGlmZl9wdHIgKyBkaWZmX3N0cmlkZSksIGQxKTsKLSAgICAgIHNyY19wdHIgKz0gc3JjX3N0cmlk
ZSA8PCAxOwotICAgICAgcHJlZF9wdHIgKz0gcHJlZF9zdHJpZGUgPDwgMTsKLSAgICAgIGRpZmZf
cHRyICs9IGRpZmZfc3RyaWRlIDw8IDE7Ci0gICAgICBqIC09IDI7Ci0gICAgfSB3aGlsZSAoaiAh
PSAwKTsKLSAgfSBlbHNlIGlmIChjb2xzID09IDgpIHsKLSAgICBpbnQgaiA9IHJvd3M7Ci0gICAg
ZG8gewotICAgICAgY29uc3QgX19tMTI4aSBzMCA9IF9tbV9sZGRxdV9zaTEyOCgoY29uc3QgX19t
MTI4aSAqKXNyY19wdHIpOwotICAgICAgY29uc3QgX19tMTI4aSBzMSA9Ci0gICAgICAgICAgX21t
X2xkZHF1X3NpMTI4KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgKyBzcmNfc3RyaWRlKSk7Ci0g
ICAgICBjb25zdCBfX20xMjhpIHAwID0gX21tX2xkZHF1X3NpMTI4KChjb25zdCBfX20xMjhpICop
cHJlZF9wdHIpOwotICAgICAgY29uc3QgX19tMTI4aSBwMSA9Ci0gICAgICAgICAgX21tX2xkZHF1
X3NpMTI4KChjb25zdCBfX20xMjhpICopKHByZWRfcHRyICsgcHJlZF9zdHJpZGUpKTsKLSAgICAg
IGNvbnN0IF9fbTEyOGkgZDAgPSBfbW1fc3ViX2VwaTE2KHMwLCBwMCk7Ci0gICAgICBjb25zdCBf
X20xMjhpIGQxID0gX21tX3N1Yl9lcGkxNihzMSwgcDEpOwotICAgICAgX21tX3N0b3JldV9zaTEy
OCgoX19tMTI4aSAqKWRpZmZfcHRyLCBkMCk7Ci0gICAgICBfbW1fc3RvcmV1X3NpMTI4KChfX20x
MjhpICopKGRpZmZfcHRyICsgZGlmZl9zdHJpZGUpLCBkMSk7Ci0gICAgICBzcmNfcHRyICs9IHNy
Y19zdHJpZGUgPDwgMTsKLSAgICAgIHByZWRfcHRyICs9IHByZWRfc3RyaWRlIDw8IDE7Ci0gICAg
ICBkaWZmX3B0ciArPSBkaWZmX3N0cmlkZSA8PCAxOwotICAgICAgaiAtPSAyOwotICAgIH0gd2hp
bGUgKGogIT0gMCk7Ci0gIH0gZWxzZSB7Ci0gICAgaW50IGogPSByb3dzOwotICAgIGFzc2VydChj
b2xzID09IDQpOwotICAgIGRvIHsKLSAgICAgIGNvbnN0IF9fbTEyOGkgczAgPSBfbW1fbG9hZGxf
ZXBpNjQoKGNvbnN0IF9fbTEyOGkgKilzcmNfcHRyKTsKLSAgICAgIGNvbnN0IF9fbTEyOGkgczEg
PQotICAgICAgICAgIF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsg
c3JjX3N0cmlkZSkpOwotICAgICAgY29uc3QgX19tMTI4aSBwMCA9IF9tbV9sb2FkbF9lcGk2NCgo
Y29uc3QgX19tMTI4aSAqKXByZWRfcHRyKTsKLSAgICAgIGNvbnN0IF9fbTEyOGkgcDEgPQotICAg
ICAgICAgIF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKShwcmVkX3B0ciArIHByZWRf
c3RyaWRlKSk7Ci0gICAgICBjb25zdCBfX20xMjhpIGQwID0gX21tX3N1Yl9lcGkxNihzMCwgcDAp
OwotICAgICAgY29uc3QgX19tMTI4aSBkMSA9IF9tbV9zdWJfZXBpMTYoczEsIHAxKTsKLSAgICAg
IF9tbV9zdG9yZWxfZXBpNjQoKF9fbTEyOGkgKilkaWZmX3B0ciwgZDApOwotICAgICAgX21tX3N0
b3JlbF9lcGk2NCgoX19tMTI4aSAqKShkaWZmX3B0ciArIGRpZmZfc3RyaWRlKSwgZDEpOwotICAg
ICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlIDw8IDE7Ci0gICAgICBwcmVkX3B0ciArPSBwcmVkX3N0
cmlkZSA8PCAxOwotICAgICAgZGlmZl9wdHIgKz0gZGlmZl9zdHJpZGUgPDwgMTsKLSAgICAgIGog
LT0gMjsKLSAgICB9IHdoaWxlIChqICE9IDApOwotICB9Ci19Ci0jZW5kaWYgIC8vIENPTkZJR19W
UDlfSElHSEJJVERFUFRICmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3N1bV9z
cXVhcmVzX3NzZTIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvc3VtX3NxdWFyZXNfc3NlMi5j
CmluZGV4IGRmNjUxNGIyYzQ5NC4uMTRmM2IzNWMwMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L3N1bV9zcXVhcmVzX3NzZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3Av
eDg2L3N1bV9zcXVhcmVzX3NzZTIuYwpAQCAtMzMsNyArMzMsNyBAQCB1aW50NjRfdCB2cHhfc3Vt
X3NxdWFyZXNfMmRfaTE2X3NzZTIoY29uc3QgaW50MTZfdCAqc3JjLCBpbnQgc3RyaWRlLCBpbnQg
c2l6ZSkgewogICB9IGVsc2UgewogICAgIC8vIEdlbmVyaWMgY2FzZQogICAgIGludCByID0gc2l6
ZTsKLSAgICBjb25zdCBfX20xMjhpIHZfemV4dF9tYXNrX3EgPSBfbW1fc2V0X2VwaTMyKDAsIC0x
LCAwLCAtMSk7CisgICAgY29uc3QgX19tMTI4aSB2X3pleHRfbWFza19xID0gX21tX3NldF9lcGkz
MigwLCAweGZmZmZmZmZmLCAwLCAweGZmZmZmZmZmKTsKICAgICBfX20xMjhpIHZfYWNjX3EgPSBf
bW1fc2V0emVyb19zaTEyOCgpOwogCiAgICAgYXNzZXJ0KHNpemUgJSA4ID09IDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92YXJpYW5jZV9hdngyLmMgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9kc3AveDg2L3ZhcmlhbmNlX2F2eDIuYwppbmRleCA4MzA1YjlmMjBmMDQuLjkyMzJhY2Jm
YmIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92YXJpYW5jZV9hdngyLmMK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2
cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92YXJpYW5jZV9hdngyLmMKQEAgLTk4LDQxICs5
OCw2IEBAIHN0YXRpYyBJTkxJTkUgX19tMjU2aSBzdW1fdG9fMzJiaXRfYXZ4Mihjb25zdCBfX20y
NTZpIHN1bSkgewogICByZXR1cm4gX21tMjU2X2FkZF9lcGkzMihzdW1fbG8sIHN1bV9oaSk7CiB9
CiAKLXN0YXRpYyBJTkxJTkUgdm9pZCB2YXJpYW5jZThfa2VybmVsX2F2eDIoCi0gICAgY29uc3Qg
dWludDhfdCAqY29uc3Qgc3JjLCBjb25zdCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhfdCAq
Y29uc3QgcmVmLAotICAgIGNvbnN0IGludCByZWZfc3RyaWRlLCBfX20yNTZpICpjb25zdCBzc2Us
IF9fbTI1NmkgKmNvbnN0IHN1bSkgewotICBfX20xMjhpIHNyYzAsIHNyYzEsIHJlZjAsIHJlZjE7
Ci0gIF9fbTI1Nmkgc3MsIHJyLCBkaWZmOwotCi0gIC8vIDAgMCAwLi4uLiAwIHMwNyBzMDYgczA1
IHMwNCBzMDMgczAyIHMwMSBzMDAKLSAgc3JjMCA9IF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19t
MTI4aSAqKShzcmMgKyAwICogc3JjX3N0cmlkZSkpOwotCi0gIC8vIDAgMCAwLi4uLiAwIHMxNyBz
MTYgczE1IHMxNCBzMTMgczEyIHMxMSBzMTAKLSAgc3JjMSA9IF9tbV9sb2FkbF9lcGk2NCgoY29u
c3QgX19tMTI4aSAqKShzcmMgKyAxICogc3JjX3N0cmlkZSkpOwotCi0gIC8vIHMxNyBzMTYuLi5z
MTEgczEwIHMwNyBzMDYuLi5zMDEgczAwICg4Yml0KQotICBzcmMwID0gX21tX3VucGFja2xvX2Vw
aTY0KHNyYzAsIHNyYzEpOwotCi0gIC8vIHMxNyBzMTYuLi5zMTEgczEwIHMwNyBzMDYuLi5zMDEg
czAwICgxNiBiaXQpCi0gIHNzID0gX21tMjU2X2N2dGVwdThfZXBpMTYoc3JjMCk7Ci0KLSAgLy8g
MCAwIDAuLi4uIDAgcjA3IHIwNiByMDUgcjA0IHIwMyByMDIgcjAxIHIwMAotICByZWYwID0gX21t
X2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopKHJlZiArIDAgKiByZWZfc3RyaWRlKSk7Ci0K
LSAgLy8gMCAwIDAuLi4uIDAgcjE3IHIxNiAwIHIxNSAwIHIxNCAwIHIxMyAwIHIxMiAwIHIxMSAw
IHIxMAotICByZWYxID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopKHJlZiArIDEg
KiByZWZfc3RyaWRlKSk7Ci0KLSAgLy8gcjE3IHIxNi4uLnIxMSByMTAgcjA3IHIwNi4uLnIwMSBy
MDAgKDggYml0KQotICByZWYwID0gX21tX3VucGFja2xvX2VwaTY0KHJlZjAsIHJlZjEpOwotCi0g
IC8vIHIxNyByMTYuLi5yMTEgcjEwIHIwNyByMDYuLi5yMDEgcjAwICgxNiBiaXQpCi0gIHJyID0g
X21tMjU2X2N2dGVwdThfZXBpMTYocmVmMCk7Ci0KLSAgZGlmZiA9IF9tbTI1Nl9zdWJfZXBpMTYo
c3MsIHJyKTsKLSAgKnNzZSA9IF9tbTI1Nl9hZGRfZXBpMzIoKnNzZSwgX21tMjU2X21hZGRfZXBp
MTYoZGlmZiwgZGlmZikpOwotICAqc3VtID0gX21tMjU2X2FkZF9lcGkxNigqc3VtLCBkaWZmKTsK
LX0KLQogc3RhdGljIElOTElORSB2b2lkIHZhcmlhbmNlMTZfa2VybmVsX2F2eDIoCiAgICAgY29u
c3QgdWludDhfdCAqY29uc3Qgc3JjLCBjb25zdCBpbnQgc3JjX3N0cmlkZSwgY29uc3QgdWludDhf
dCAqY29uc3QgcmVmLAogICAgIGNvbnN0IGludCByZWZfc3RyaWRlLCBfX20yNTZpICpjb25zdCBz
c2UsIF9fbTI1NmkgKmNvbnN0IHN1bSkgewpAQCAtMTU0LDIxICsxMTksNiBAQCBzdGF0aWMgSU5M
SU5FIHZvaWQgdmFyaWFuY2UzMl9rZXJuZWxfYXZ4Mihjb25zdCB1aW50OF90ICpjb25zdCBzcmMs
CiAgIHZhcmlhbmNlX2tlcm5lbF9hdngyKHMsIHIsIHNzZSwgc3VtKTsKIH0KIAotc3RhdGljIElO
TElORSB2b2lkIHZhcmlhbmNlOF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyYywgY29uc3QgaW50IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhf
dCAqcmVmLCBjb25zdCBpbnQgcmVmX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQgaCwgX19tMjU2aSAqY29uc3QgdnNzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBfX20yNTZpICpjb25zdCB2c3VtKSB7Ci0gIGludCBpOwotICAq
dnN1bSA9IF9tbTI1Nl9zZXR6ZXJvX3NpMjU2KCk7Ci0gICp2c3NlID0gX21tMjU2X3NldHplcm9f
c2kyNTYoKTsKLQotICBmb3IgKGkgPSAwOyBpIDwgaDsgaSArPSAyKSB7Ci0gICAgdmFyaWFuY2U4
X2tlcm5lbF9hdngyKHNyYywgc3JjX3N0cmlkZSwgcmVmLCByZWZfc3RyaWRlLCB2c3NlLCB2c3Vt
KTsKLSAgICBzcmMgKz0gMiAqIHNyY19zdHJpZGU7Ci0gICAgcmVmICs9IDIgKiByZWZfc3RyaWRl
OwotICB9Ci19Ci0KIHN0YXRpYyBJTkxJTkUgdm9pZCB2YXJpYW5jZTE2X2F2eDIoY29uc3QgdWlu
dDhfdCAqc3JjLCBjb25zdCBpbnQgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmLCBjb25zdCBpbnQgcmVmX3N0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGgsIF9fbTI1NmkgKmNv
bnN0IHZzc2UsCkBAIC02NDAsMjAgKzU5MCwxNyBAQCBzdGF0aWMgSU5MSU5FIGludCBzdWJfcGl4
X3ZhcjMyeGgoY29uc3QgdWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwKICAgcmV0dXJuIHN1
bTsKIH0KIAotc3RhdGljIGludCBzdWJfcGl4ZWxfdmFyaWFuY2UzMnhoX2F2eDIoY29uc3QgdWlu
dDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4X29mZnNldCwgaW50IHlfb2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqZHN0LCBpbnQgZHN0X3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsIHVuc2ln
bmVkIGludCAqc3NlKSB7CitzdGF0aWMgdW5zaWduZWQgaW50IHN1Yl9waXhlbF92YXJpYW5jZTMy
eGhfYXZ4MigKKyAgICBjb25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfc3RyaWRlLCBpbnQgeF9v
ZmZzZXQsIGludCB5X29mZnNldCwKKyAgICBjb25zdCB1aW50OF90ICpkc3QsIGludCBkc3Rfc3Ry
aWRlLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBpbnQgKnNzZSkgewogICByZXR1cm4gc3ViX3BpeF92
YXIzMnhoKHNyYywgc3JjX3N0cmlkZSwgeF9vZmZzZXQsIHlfb2Zmc2V0LCBkc3QsIGRzdF9zdHJp
ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgMCwgaGVpZ2h0LCBzc2UpOwog
fQogCi1zdGF0aWMgaW50IHN1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMnhoX2F2eDIoY29uc3QgdWlu
dDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeF9vZmZzZXQsIGludCB5X29mZnNldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpkc3QsIGludCBkc3Rf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgKnNlY29uZF9wcmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzZWNvbmRfc3RyaWRlLCBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqc3NlKSB7CitzdGF0aWMg
dW5zaWduZWQgaW50IHN1Yl9waXhlbF9hdmdfdmFyaWFuY2UzMnhoX2F2eDIoCisgICAgY29uc3Qg
dWludDhfdCAqc3JjLCBpbnQgc3JjX3N0cmlkZSwgaW50IHhfb2Zmc2V0LCBpbnQgeV9vZmZzZXQs
CisgICAgY29uc3QgdWludDhfdCAqZHN0LCBpbnQgZHN0X3N0cmlkZSwgY29uc3QgdWludDhfdCAq
c2Vjb25kX3ByZWQsCisgICAgaW50IHNlY29uZF9zdHJpZGUsIGludCBoZWlnaHQsIHVuc2lnbmVk
IGludCAqc3NlKSB7CiAgIHJldHVybiBzdWJfcGl4X3ZhcjMyeGgoc3JjLCBzcmNfc3RyaWRlLCB4
X29mZnNldCwgeV9vZmZzZXQsIGRzdCwgZHN0X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWNvbmRfcHJlZCwgc2Vjb25kX3N0cmlkZSwgMSwgaGVpZ2h0LCBzc2UpOwogfQpAQCAt
NjYyLDM2ICs2MDksNiBAQCB0eXBlZGVmIHZvaWQgKCpnZXRfdmFyX2F2eDIpKGNvbnN0IHVpbnQ4
X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OF90ICpyZWZfcHRyLCBpbnQgcmVmX3N0cmlkZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpzc2UsIGludCAqc3VtKTsKIAotdW5zaWduZWQg
aW50IHZweF92YXJpYW5jZTh4NF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg
KnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCAqc3NlKSB7Ci0gIF9fbTI1NmkgdnNzZSwgdnN1bTsKLSAgaW50IHN1
bTsKLSAgdmFyaWFuY2U4X2F2eDIoc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0
cmlkZSwgNCwgJnZzc2UsICZ2c3VtKTsKLSAgdmFyaWFuY2VfZmluYWxfZnJvbV8xNmJpdF9zdW1f
YXZ4Mih2c3NlLCB2c3VtLCBzc2UsICZzdW0pOwotICByZXR1cm4gKnNzZSAtICgoc3VtICogc3Vt
KSA+PiA1KTsKLX0KLQotdW5zaWduZWQgaW50IHZweF92YXJpYW5jZTh4OF9hdngyKGNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqc3NlKSB7Ci0gIF9fbTI1
NmkgdnNzZSwgdnN1bTsKLSAgaW50IHN1bTsKLSAgdmFyaWFuY2U4X2F2eDIoc3JjX3B0ciwgc3Jj
X3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwgOCwgJnZzc2UsICZ2c3VtKTsKLSAgdmFyaWFu
Y2VfZmluYWxfZnJvbV8xNmJpdF9zdW1fYXZ4Mih2c3NlLCB2c3VtLCBzc2UsICZzdW0pOwotICBy
ZXR1cm4gKnNzZSAtICgoc3VtICogc3VtKSA+PiA2KTsKLX0KLQotdW5zaWduZWQgaW50IHZweF92
YXJpYW5jZTh4MTZfYXZ4Mihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcmVmX3B0
ciwgaW50IHJlZl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCAqc3NlKSB7Ci0gIF9fbTI1NmkgdnNzZSwgdnN1bTsKLSAgaW50IHN1bTsKLSAg
dmFyaWFuY2U4X2F2eDIoc3JjX3B0ciwgc3JjX3N0cmlkZSwgcmVmX3B0ciwgcmVmX3N0cmlkZSwg
MTYsICZ2c3NlLCAmdnN1bSk7Ci0gIHZhcmlhbmNlX2ZpbmFsX2Zyb21fMTZiaXRfc3VtX2F2eDIo
dnNzZSwgdnN1bSwgc3NlLCAmc3VtKTsKLSAgcmV0dXJuICpzc2UgLSAoKHN1bSAqIHN1bSkgPj4g
Nyk7Ci19Ci0KIHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2UxNng4X2F2eDIoY29uc3QgdWludDhf
dCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4X3QgKnJlZl9wdHIsIGludCByZWZfc3RyaWRlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnNzZSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92YXJpYW5jZV9zc2UyLmMgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9kc3AveDg2L3ZhcmlhbmNlX3NzZTIuYwppbmRleCBkNmViMTJkYTFhY2IuLjM3ZWY2NGVjYWEw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92YXJpYW5jZV9zc2UyLmMKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgv
c291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92YXJpYW5jZV9zc2UyLmMKQEAgLTE5LDcgKzE5LDcg
QEAKIHN0YXRpYyBJTkxJTkUgdW5zaWduZWQgaW50IGFkZDMyeDRfc3NlMihfX20xMjhpIHZhbCkg
ewogICB2YWwgPSBfbW1fYWRkX2VwaTMyKHZhbCwgX21tX3NybGlfc2kxMjgodmFsLCA4KSk7CiAg
IHZhbCA9IF9tbV9hZGRfZXBpMzIodmFsLCBfbW1fc3JsaV9zaTEyOCh2YWwsIDQpKTsKLSAgcmV0
dXJuICh1bnNpZ25lZCBpbnQpX21tX2N2dHNpMTI4X3NpMzIodmFsKTsKKyAgcmV0dXJuIF9tbV9j
dnRzaTEyOF9zaTMyKHZhbCk7CiB9CiAKIHVuc2lnbmVkIGludCB2cHhfZ2V0X21iX3NzX3NzZTIo
Y29uc3QgaW50MTZfdCAqc3JjX3B0cikgewpAQCAtMzYsOCArMzYsOCBAQCB1bnNpZ25lZCBpbnQg
dnB4X2dldF9tYl9zc19zc2UyKGNvbnN0IGludDE2X3QgKnNyY19wdHIpIHsKIH0KIAogc3RhdGlj
IElOTElORSBfX20xMjhpIGxvYWQ0eDJfc3NlMihjb25zdCB1aW50OF90ICpjb25zdCBwLCBjb25z
dCBpbnQgc3RyaWRlKSB7Ci0gIGNvbnN0IF9fbTEyOGkgcDAgPSBfbW1fY3Z0c2kzMl9zaTEyOChs
b2FkdV9pbnQzMihwICsgMCAqIHN0cmlkZSkpOwotICBjb25zdCBfX20xMjhpIHAxID0gX21tX2N2
dHNpMzJfc2kxMjgobG9hZHVfaW50MzIocCArIDEgKiBzdHJpZGUpKTsKKyAgY29uc3QgX19tMTI4
aSBwMCA9IF9tbV9jdnRzaTMyX3NpMTI4KGxvYWR1X3VpbnQzMihwICsgMCAqIHN0cmlkZSkpOwor
ICBjb25zdCBfX20xMjhpIHAxID0gX21tX2N2dHNpMzJfc2kxMjgobG9hZHVfdWludDMyKHAgKyAx
ICogc3RyaWRlKSk7CiAgIGNvbnN0IF9fbTEyOGkgcDAxID0gX21tX3VucGFja2xvX2VwaTMyKHAw
LCBwMSk7CiAgIHJldHVybiBfbW1fdW5wYWNrbG9fZXBpOChwMDEsIF9tbV9zZXR6ZXJvX3NpMTI4
KCkpOwogfQpAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgdmFyaWFuY2VfZmlu
YWxfNTEyX3BlbF9zc2UyKF9fbTEyOGkgdnNzZSwgX19tMTI4aSB2c3VtLAogICB2c3VtID0gX21t
X2FkZF9lcGkxNih2c3VtLCBfbW1fc3JsaV9zaTEyOCh2c3VtLCA4KSk7CiAgIHZzdW0gPSBfbW1f
dW5wYWNrbG9fZXBpMTYodnN1bSwgdnN1bSk7CiAgIHZzdW0gPSBfbW1fc3JhaV9lcGkzMih2c3Vt
LCAxNik7Ci0gICpzdW0gPSAoaW50KWFkZDMyeDRfc3NlMih2c3VtKTsKKyAgKnN1bSA9IGFkZDMy
eDRfc3NlMih2c3VtKTsKIH0KIAogc3RhdGljIElOTElORSBfX20xMjhpIHN1bV90b18zMmJpdF9z
c2UyKGNvbnN0IF9fbTEyOGkgc3VtKSB7CkBAIC05Nyw3ICs5Nyw3IEBAIHN0YXRpYyBJTkxJTkUg
X19tMTI4aSBzdW1fdG9fMzJiaXRfc3NlMihjb25zdCBfX20xMjhpIHN1bSkgewogLy8gQ2FuIGhh
bmRsZSAxMDI0IHBpeGVscycgZGlmZiBzdW0gKHN1Y2ggYXMgMzJ4MzIpCiBzdGF0aWMgSU5MSU5F
IGludCBzdW1fZmluYWxfc3NlMihjb25zdCBfX20xMjhpIHN1bSkgewogICBjb25zdCBfX20xMjhp
IHQgPSBzdW1fdG9fMzJiaXRfc3NlMihzdW0pOwotICByZXR1cm4gKGludClhZGQzMng0X3NzZTIo
dCk7CisgIHJldHVybiBhZGQzMng0X3NzZTIodCk7CiB9CiAKIHN0YXRpYyBJTkxJTkUgdm9pZCB2
YXJpYW5jZTRfc3NlMihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBjb25zdCBpbnQgc3JjX3N0cmlk
ZSwKQEAgLTM0OSw3ICszNDksNyBAQCB1bnNpZ25lZCBpbnQgdnB4X3ZhcmlhbmNlMzJ4NjRfc3Nl
Mihjb25zdCB1aW50OF90ICpzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwKICAgICB2c3VtID0gX21t
X2FkZF9lcGkzMih2c3VtLCBzdW1fdG9fMzJiaXRfc3NlMih2c3VtMTYpKTsKICAgfQogICAqc3Nl
ID0gYWRkMzJ4NF9zc2UyKHZzc2UpOwotICBzdW0gPSAoaW50KWFkZDMyeDRfc3NlMih2c3VtKTsK
KyAgc3VtID0gYWRkMzJ4NF9zc2UyKHZzdW0pOwogICByZXR1cm4gKnNzZSAtICh1bnNpZ25lZCBp
bnQpKCgoaW50NjRfdClzdW0gKiBzdW0pID4+IDExKTsKIH0KIApAQCAtMzY5LDcgKzM2OSw3IEBA
IHVuc2lnbmVkIGludCB2cHhfdmFyaWFuY2U2NHgzMl9zc2UyKGNvbnN0IHVpbnQ4X3QgKnNyY19w
dHIsIGludCBzcmNfc3RyaWRlLAogICAgIHZzdW0gPSBfbW1fYWRkX2VwaTMyKHZzdW0sIHN1bV90
b18zMmJpdF9zc2UyKHZzdW0xNikpOwogICB9CiAgICpzc2UgPSBhZGQzMng0X3NzZTIodnNzZSk7
Ci0gIHN1bSA9IChpbnQpYWRkMzJ4NF9zc2UyKHZzdW0pOworICBzdW0gPSBhZGQzMng0X3NzZTIo
dnN1bSk7CiAgIHJldHVybiAqc3NlIC0gKHVuc2lnbmVkIGludCkoKChpbnQ2NF90KXN1bSAqIHN1
bSkgPj4gMTEpOwogfQogCkBAIC0zODksNyArMzg5LDcgQEAgdW5zaWduZWQgaW50IHZweF92YXJp
YW5jZTY0eDY0X3NzZTIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwgaW50IHNyY19zdHJpZGUsCiAg
ICAgdnN1bSA9IF9tbV9hZGRfZXBpMzIodnN1bSwgc3VtX3RvXzMyYml0X3NzZTIodnN1bTE2KSk7
CiAgIH0KICAgKnNzZSA9IGFkZDMyeDRfc3NlMih2c3NlKTsKLSAgc3VtID0gKGludClhZGQzMng0
X3NzZTIodnN1bSk7CisgIHN1bSA9IGFkZDMyeDRfc3NlMih2c3VtKTsKICAgcmV0dXJuICpzc2Ug
LSAodW5zaWduZWQgaW50KSgoKGludDY0X3Qpc3VtICogc3VtKSA+PiAxMik7CiB9CiAKQEAgLTQ3
MSwyMyArNDcxLDIzIEBAIERFQ0xTKHNzc2UzLCBzc3NlMyk7CiAgICAgICAgICAgICh1bnNpZ25l
ZCBpbnQpKGNhc3RfcHJvZChjYXN0IHNlICogc2UpID4+ICh3bG9nMiArIGhsb2cyKSk7ICAgIFwK
ICAgfQogCi0jZGVmaW5lIEZOUyhvcHQxLCBvcHQyKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBGTig2NCwgNjQsIDE2LCA2LCA2LCBvcHQxLCAoaW50NjRfdCksIChpbnQ2NF90KSkg
IFwKLSAgRk4oNjQsIDMyLCAxNiwgNiwgNSwgb3B0MSwgKGludDY0X3QpLCAoaW50NjRfdCkpICBc
Ci0gIEZOKDMyLCA2NCwgMTYsIDUsIDYsIG9wdDEsIChpbnQ2NF90KSwgKGludDY0X3QpKSAgXAot
ICBGTigzMiwgMzIsIDE2LCA1LCA1LCBvcHQxLCAoaW50NjRfdCksIChpbnQ2NF90KSkgIFwKLSAg
Rk4oMzIsIDE2LCAxNiwgNSwgNCwgb3B0MSwgKGludDY0X3QpLCAoaW50NjRfdCkpICBcCi0gIEZO
KDE2LCAzMiwgMTYsIDQsIDUsIG9wdDEsIChpbnQ2NF90KSwgKGludDY0X3QpKSAgXAotICBGTigx
NiwgMTYsIDE2LCA0LCA0LCBvcHQxLCAodWludDMyX3QpLCAoaW50NjRfdCkpIFwKLSAgRk4oMTYs
IDgsIDE2LCA0LCAzLCBvcHQxLCAoaW50MzJfdCksIChpbnQzMl90KSkgICBcCi0gIEZOKDgsIDE2
LCA4LCAzLCA0LCBvcHQxLCAoaW50MzJfdCksIChpbnQzMl90KSkgICAgXAotICBGTig4LCA4LCA4
LCAzLCAzLCBvcHQxLCAoaW50MzJfdCksIChpbnQzMl90KSkgICAgIFwKLSAgRk4oOCwgNCwgOCwg
MywgMiwgb3B0MSwgKGludDMyX3QpLCAoaW50MzJfdCkpICAgICBcCi0gIEZOKDQsIDgsIDQsIDIs
IDMsIG9wdDEsIChpbnQzMl90KSwgKGludDMyX3QpKSAgICAgXAorI2RlZmluZSBGTlMob3B0MSwg
b3B0MikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIEZOKDY0LCA2NCwgMTYsIDYs
IDYsIG9wdDEsIChpbnQ2NF90KSwgKGludDY0X3QpKTsgIFwKKyAgRk4oNjQsIDMyLCAxNiwgNiwg
NSwgb3B0MSwgKGludDY0X3QpLCAoaW50NjRfdCkpOyAgXAorICBGTigzMiwgNjQsIDE2LCA1LCA2
LCBvcHQxLCAoaW50NjRfdCksIChpbnQ2NF90KSk7ICBcCisgIEZOKDMyLCAzMiwgMTYsIDUsIDUs
IG9wdDEsIChpbnQ2NF90KSwgKGludDY0X3QpKTsgIFwKKyAgRk4oMzIsIDE2LCAxNiwgNSwgNCwg
b3B0MSwgKGludDY0X3QpLCAoaW50NjRfdCkpOyAgXAorICBGTigxNiwgMzIsIDE2LCA0LCA1LCBv
cHQxLCAoaW50NjRfdCksIChpbnQ2NF90KSk7ICBcCisgIEZOKDE2LCAxNiwgMTYsIDQsIDQsIG9w
dDEsICh1aW50MzJfdCksIChpbnQ2NF90KSk7IFwKKyAgRk4oMTYsIDgsIDE2LCA0LCAzLCBvcHQx
LCAoaW50MzJfdCksIChpbnQzMl90KSk7ICAgXAorICBGTig4LCAxNiwgOCwgMywgNCwgb3B0MSwg
KGludDMyX3QpLCAoaW50MzJfdCkpOyAgICBcCisgIEZOKDgsIDgsIDgsIDMsIDMsIG9wdDEsIChp
bnQzMl90KSwgKGludDMyX3QpKTsgICAgIFwKKyAgRk4oOCwgNCwgOCwgMywgMiwgb3B0MSwgKGlu
dDMyX3QpLCAoaW50MzJfdCkpOyAgICAgXAorICBGTig0LCA4LCA0LCAyLCAzLCBvcHQxLCAoaW50
MzJfdCksIChpbnQzMl90KSk7ICAgICBcCiAgIEZOKDQsIDQsIDQsIDIsIDIsIG9wdDEsIChpbnQz
Ml90KSwgKGludDMyX3QpKQogCi1GTlMoc3NlMiwgc3NlMikKLUZOUyhzc3NlMywgc3NzZTMpCitG
TlMoc3NlMiwgc3NlMik7CitGTlMoc3NzZTMsIHNzc2UzKTsKIAogI3VuZGVmIEZOUwogI3VuZGVm
IEZOCkBAIC01NDMsMjMgKzU0MywyMyBAQCBERUNMUyhzc3NlMywgc3NzZTMpOwogICAgICAgICAg
ICAodW5zaWduZWQgaW50KShjYXN0X3Byb2QoY2FzdCBzZSAqIHNlKSA+PiAod2xvZzIgKyBobG9n
MikpOyAgICBcCiAgIH0KIAotI2RlZmluZSBGTlMob3B0MSwgb3B0MikgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgRk4oNjQsIDY0LCAxNiwgNiwgNiwgb3B0MSwgKGludDY0X3QpLCAo
aW50NjRfdCkpICBcCi0gIEZOKDY0LCAzMiwgMTYsIDYsIDUsIG9wdDEsIChpbnQ2NF90KSwgKGlu
dDY0X3QpKSAgXAotICBGTigzMiwgNjQsIDE2LCA1LCA2LCBvcHQxLCAoaW50NjRfdCksIChpbnQ2
NF90KSkgIFwKLSAgRk4oMzIsIDMyLCAxNiwgNSwgNSwgb3B0MSwgKGludDY0X3QpLCAoaW50NjRf
dCkpICBcCi0gIEZOKDMyLCAxNiwgMTYsIDUsIDQsIG9wdDEsIChpbnQ2NF90KSwgKGludDY0X3Qp
KSAgXAotICBGTigxNiwgMzIsIDE2LCA0LCA1LCBvcHQxLCAoaW50NjRfdCksIChpbnQ2NF90KSkg
IFwKLSAgRk4oMTYsIDE2LCAxNiwgNCwgNCwgb3B0MSwgKHVpbnQzMl90KSwgKGludDY0X3QpKSBc
Ci0gIEZOKDE2LCA4LCAxNiwgNCwgMywgb3B0MSwgKHVpbnQzMl90KSwgKGludDMyX3QpKSAgXAot
ICBGTig4LCAxNiwgOCwgMywgNCwgb3B0MSwgKHVpbnQzMl90KSwgKGludDMyX3QpKSAgIFwKLSAg
Rk4oOCwgOCwgOCwgMywgMywgb3B0MSwgKHVpbnQzMl90KSwgKGludDMyX3QpKSAgICBcCi0gIEZO
KDgsIDQsIDgsIDMsIDIsIG9wdDEsICh1aW50MzJfdCksIChpbnQzMl90KSkgICAgXAotICBGTig0
LCA4LCA0LCAyLCAzLCBvcHQxLCAodWludDMyX3QpLCAoaW50MzJfdCkpICAgIFwKKyNkZWZpbmUg
Rk5TKG9wdDEsIG9wdDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBGTig2NCwg
NjQsIDE2LCA2LCA2LCBvcHQxLCAoaW50NjRfdCksIChpbnQ2NF90KSk7ICBcCisgIEZOKDY0LCAz
MiwgMTYsIDYsIDUsIG9wdDEsIChpbnQ2NF90KSwgKGludDY0X3QpKTsgIFwKKyAgRk4oMzIsIDY0
LCAxNiwgNSwgNiwgb3B0MSwgKGludDY0X3QpLCAoaW50NjRfdCkpOyAgXAorICBGTigzMiwgMzIs
IDE2LCA1LCA1LCBvcHQxLCAoaW50NjRfdCksIChpbnQ2NF90KSk7ICBcCisgIEZOKDMyLCAxNiwg
MTYsIDUsIDQsIG9wdDEsIChpbnQ2NF90KSwgKGludDY0X3QpKTsgIFwKKyAgRk4oMTYsIDMyLCAx
NiwgNCwgNSwgb3B0MSwgKGludDY0X3QpLCAoaW50NjRfdCkpOyAgXAorICBGTigxNiwgMTYsIDE2
LCA0LCA0LCBvcHQxLCAodWludDMyX3QpLCAoaW50NjRfdCkpOyBcCisgIEZOKDE2LCA4LCAxNiwg
NCwgMywgb3B0MSwgKHVpbnQzMl90KSwgKGludDMyX3QpKTsgIFwKKyAgRk4oOCwgMTYsIDgsIDMs
IDQsIG9wdDEsICh1aW50MzJfdCksIChpbnQzMl90KSk7ICAgXAorICBGTig4LCA4LCA4LCAzLCAz
LCBvcHQxLCAodWludDMyX3QpLCAoaW50MzJfdCkpOyAgICBcCisgIEZOKDgsIDQsIDgsIDMsIDIs
IG9wdDEsICh1aW50MzJfdCksIChpbnQzMl90KSk7ICAgIFwKKyAgRk4oNCwgOCwgNCwgMiwgMywg
b3B0MSwgKHVpbnQzMl90KSwgKGludDMyX3QpKTsgICAgXAogICBGTig0LCA0LCA0LCAyLCAyLCBv
cHQxLCAodWludDMyX3QpLCAoaW50MzJfdCkpCiAKLUZOUyhzc2UyLCBzc2UpCi1GTlMoc3NzZTMs
IHNzc2UzKQorRk5TKHNzZTIsIHNzZSk7CitGTlMoc3NzZTMsIHNzc2UzKTsKIAogI3VuZGVmIEZO
UwogI3VuZGVmIEZOCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3ZweF9zdWJw
aXhlbF80dF9pbnRyaW5fc3NlMi5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92cHhfc3VicGl4
ZWxfNHRfaW50cmluX3NzZTIuYwppbmRleCAyMWEzNWFlM2MzMWQuLjIzOTE3OTAyODQ4NSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92cHhfc3VicGl4ZWxfNHRfaW50cmluX3Nz
ZTIuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AveDg2L3ZweF9zdWJwaXhlbF80dF9pbnRyaW5f
c3NlMi5jCkBAIC00ODUsNyArNDg1LDcgQEAgc3RhdGljIHZvaWQgdnB4X2ZpbHRlcl9ibG9jazFk
NF9oNF9zc2UyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCiAgICAgLy8gU2F0dXJhdGUgYW5kIGNv
bnZlcnQgdG8gOC1iaXQgd29yZHMKICAgICBkc3RfZmlyc3QgPSBfbW1fcGFja3VzX2VwaTE2KGRz
dF9maXJzdCwgX21tX3NldHplcm9fc2kxMjgoKSk7CiAKLSAgICAqKChpbnQgKikoZHN0X3B0cikp
ID0gX21tX2N2dHNpMTI4X3NpMzIoZHN0X2ZpcnN0KTsKKyAgICAqKCh1aW50MzJfdCAqKShkc3Rf
cHRyKSkgPSBfbW1fY3Z0c2kxMjhfc2kzMihkc3RfZmlyc3QpOwogCiAgICAgc3JjX3B0ciArPSBz
cmNfc3RyaWRlOwogICAgIGRzdF9wdHIgKz0gZHN0X3N0cmlkZTsKQEAgLTU4OSw4ICs1ODksOCBA
QCBzdGF0aWMgdm9pZCB2cHhfZmlsdGVyX2Jsb2NrMWQ0X3Y0X3NzZTIoY29uc3QgdWludDhfdCAq
c3JjX3B0ciwKICAgICByZXNfcmVnXzAxMjMgPSBfbW1fcGFja3VzX2VwaTE2KHJlc19yZWdfMDEy
M19sbywgcmVnX3plcm8pOwogCiAgICAgLy8gU2F2ZSBvbmx5IGhhbGYgb2YgdGhlIHJlZ2lzdGVy
ICg4IHdvcmRzKQotICAgICooKGludCAqKShkc3RfcHRyKSkgPSBfbW1fY3Z0c2kxMjhfc2kzMihy
ZXNfcmVnX20xMDEyKTsKLSAgICAqKChpbnQgKikoZHN0X3B0ciArIGRzdF9zdHJpZGUpKSA9IF9t
bV9jdnRzaTEyOF9zaTMyKHJlc19yZWdfMDEyMyk7CisgICAgKigodWludDMyX3QgKikoZHN0X3B0
cikpID0gX21tX2N2dHNpMTI4X3NpMzIocmVzX3JlZ19tMTAxMik7CisgICAgKigodWludDMyX3Qg
KikoZHN0X3B0ciArIGRzdF9zdHJpZGUpKSA9IF9tbV9jdnRzaTEyOF9zaTMyKHJlc19yZWdfMDEy
Myk7CiAKICAgICAvLyBVcGRhdGUgdGhlIHNvdXJjZSBieSB0d28gcm93cwogICAgIHNyY19wdHIg
Kz0gc3JjX3N0cmlkZV91bnJvbGxlZDsKQEAgLTEwNDAsMTIgKzEwNDAsMTIgQEAgZmlsdGVyOF8x
ZGZ1bmN0aW9uIHZweF9maWx0ZXJfYmxvY2sxZDRfaDJfYXZnX3NzZTI7CiAvLyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgw
X3E0LAogLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCB4X3N0ZXBf
cTQsIGludCB5MF9xNCwgaW50IHlfc3RlcF9xNCwKIC8vICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3LCBpbnQgaCk7Ci1GVU5fQ09OVl8xRChob3JpeiwgeDBfcTQsIHhfc3Rl
cF9xNCwgaCwgc3JjLCAsIHNzZTIsIDApCitGVU5fQ09OVl8xRChob3JpeiwgeDBfcTQsIHhfc3Rl
cF9xNCwgaCwgc3JjLCAsIHNzZTIsIDApOwogRlVOX0NPTlZfMUQodmVydCwgeTBfcTQsIHlfc3Rl
cF9xNCwgdiwgc3JjIC0gKG51bV90YXBzIC8gMiAtIDEpICogc3JjX3N0cmlkZSwgLAotICAgICAg
ICAgICAgc3NlMiwgMCkKLUZVTl9DT05WXzFEKGF2Z19ob3JpeiwgeDBfcTQsIHhfc3RlcF9xNCwg
aCwgc3JjLCBhdmdfLCBzc2UyLCAxKQorICAgICAgICAgICAgc3NlMiwgMCk7CitGVU5fQ09OVl8x
RChhdmdfaG9yaXosIHgwX3E0LCB4X3N0ZXBfcTQsIGgsIHNyYywgYXZnXywgc3NlMiwgMSk7CiBG
VU5fQ09OVl8xRChhdmdfdmVydCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwKLSAgICAgICAgICAgIHNy
YyAtIChudW1fdGFwcyAvIDIgLSAxKSAqIHNyY19zdHJpZGUsIGF2Z18sIHNzZTIsIDEpCisgICAg
ICAgICAgICBzcmMgLSAobnVtX3RhcHMgLyAyIC0gMSkgKiBzcmNfc3RyaWRlLCBhdmdfLCBzc2Uy
LCAxKTsKIAogLy8gdm9pZCB2cHhfY29udm9sdmU4X3NzZTIoY29uc3QgdWludDhfdCAqc3JjLCBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
KmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsCkBAIC0xMDU3LDggKzEwNTcsOCBAQCBGVU5fQ09O
Vl8xRChhdmdfdmVydCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwKIC8vICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwgaW50IHgwX3E0LAogLy8gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgeF9zdGVwX3E0LCBpbnQgeTBfcTQsIGlu
dCB5X3N0ZXBfcTQsCiAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsIGludCBo
KTsKLUZVTl9DT05WXzJEKCwgc3NlMiwgMCkKLUZVTl9DT05WXzJEKGF2Z18sIHNzZTIsIDEpCitG
VU5fQ09OVl8yRCgsIHNzZTIsIDApOworRlVOX0NPTlZfMkQoYXZnXywgc3NlMiwgMSk7CiAKICNp
ZiBDT05GSUdfVlA5X0hJR0hCSVRERVBUSCAmJiBWUFhfQVJDSF9YODZfNjQKIC8vIEZyb20gdnB4
X2RzcC94ODYvdnB4X2hpZ2hfc3VicGl4ZWxfOHRfc3NlMi5hc20uCkBAIC0xMTM5LDEyICsxMTM5
LDEyIEBAIGhpZ2hiZF9maWx0ZXI4XzFkZnVuY3Rpb24gdnB4X2hpZ2hiZF9maWx0ZXJfYmxvY2sx
ZDRfaDJfYXZnX3NzZTI7CiAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgaW50MTZfdCAqZmlsdGVyX3ksCiAvLyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHlfc3RlcF9xNCwKIC8vICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgdywgaW50IGgsIGludCBiZCk7Ci1ISUdIX0ZVTl9DT05WXzFE
KGhvcml6LCB4MF9xNCwgeF9zdGVwX3E0LCBoLCBzcmMsICwgc3NlMiwgMCkKK0hJR0hfRlVOX0NP
TlZfMUQoaG9yaXosIHgwX3E0LCB4X3N0ZXBfcTQsIGgsIHNyYywgLCBzc2UyLCAwKTsKIEhJR0hf
RlVOX0NPTlZfMUQodmVydCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwKLSAgICAgICAgICAgICAgICAg
c3JjIC0gc3JjX3N0cmlkZSAqIChudW1fdGFwcyAvIDIgLSAxKSwgLCBzc2UyLCAwKQotSElHSF9G
VU5fQ09OVl8xRChhdmdfaG9yaXosIHgwX3E0LCB4X3N0ZXBfcTQsIGgsIHNyYywgYXZnXywgc3Nl
MiwgMSkKKyAgICAgICAgICAgICAgICAgc3JjIC0gc3JjX3N0cmlkZSAqIChudW1fdGFwcyAvIDIg
LSAxKSwgLCBzc2UyLCAwKTsKK0hJR0hfRlVOX0NPTlZfMUQoYXZnX2hvcml6LCB4MF9xNCwgeF9z
dGVwX3E0LCBoLCBzcmMsIGF2Z18sIHNzZTIsIDEpOwogSElHSF9GVU5fQ09OVl8xRChhdmdfdmVy
dCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwKLSAgICAgICAgICAgICAgICAgc3JjIC0gc3JjX3N0cmlk
ZSAqIChudW1fdGFwcyAvIDIgLSAxKSwgYXZnXywgc3NlMiwgMSkKKyAgICAgICAgICAgICAgICAg
c3JjIC0gc3JjX3N0cmlkZSAqIChudW1fdGFwcyAvIDIgLSAxKSwgYXZnXywgc3NlMiwgMSk7CiAK
IC8vIHZvaWQgdnB4X2hpZ2hiZF9jb252b2x2ZThfc3NlMihjb25zdCB1aW50OF90ICpzcmMsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAogLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsCkBAIC0xMTU2LDYgKzExNTYsNiBAQCBI
SUdIX0ZVTl9DT05WXzFEKGF2Z192ZXJ0LCB5MF9xNCwgeV9zdGVwX3E0LCB2LAogLy8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRlcnBLZXJuZWwgKmZpbHRlciwg
aW50IHgwX3E0LAogLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90
IHhfc3RlcF9xNCwgaW50IHkwX3E0LAogLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeV9zdGVwX3E0LCBpbnQgdywgaW50IGgsIGludCBiZCk7Ci1ISUdIX0ZVTl9DT05W
XzJEKCwgc3NlMiwgMCkKLUhJR0hfRlVOX0NPTlZfMkQoYXZnXywgc3NlMiwgMSkKK0hJR0hfRlVO
X0NPTlZfMkQoLCBzc2UyLCAwKTsKK0hJR0hfRlVOX0NPTlZfMkQoYXZnXywgc3NlMiwgMSk7CiAj
ZW5kaWYgIC8vIENPTkZJR19WUDlfSElHSEJJVERFUFRIICYmIFZQWF9BUkNIX1g4Nl82NApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92cHhfc3VicGl4ZWxfOHRfaW50cmluX2F2
eDIuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdnB4X3N1YnBpeGVsXzh0X2ludHJpbl9hdngy
LmMKaW5kZXggNTI2YzI4MzgyM2RlLi4xZWFhMTliZmM1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvdnB4X2RzcC94ODYvdnB4X3N1YnBpeGVsXzh0X2ludHJpbl9hdngyLmMKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC92cHhfZHNwL3g4Ni92cHhfc3VicGl4ZWxfOHRfaW50cmluX2F2eDIuYwpAQCAtMTUsNyAr
MTUsNiBAQAogI2luY2x1ZGUgInZweF9kc3AveDg2L2NvbnZvbHZlLmgiCiAjaW5jbHVkZSAidnB4
X2RzcC94ODYvY29udm9sdmVfYXZ4Mi5oIgogI2luY2x1ZGUgInZweF9kc3AveDg2L2NvbnZvbHZl
X3NzZTIuaCIKLSNpbmNsdWRlICJ2cHhfZHNwL3g4Ni9jb252b2x2ZV9zc3NlMy5oIgogI2luY2x1
ZGUgInZweF9wb3J0cy9tZW0uaCIKIAogLy8gZmlsdGVycyBmb3IgMTZfaDgKQEAgLTM5LDI3ICsz
OCw2IEBAIERFQ0xBUkVfQUxJR05FRCgzMiwgc3RhdGljIGNvbnN0IHVpbnQ4X3QsIGZpbHQ0X2ds
b2JhbF9hdngyWzMyXSkgPSB7CiAgIDYsIDcsIDcsIDgsIDgsIDksIDksIDEwLCAxMCwgMTEsIDEx
LCAxMiwgMTIsIDEzLCAxMywgMTQKIH07CiAKLURFQ0xBUkVfQUxJR05FRCgzMiwgc3RhdGljIGNv
bnN0IHVpbnQ4X3QsIGZpbHRfZDRfZ2xvYmFsX2F2eDJbNjRdKSA9IHsKLSAgMCwgMSwgMiwgMywg
IDEsIDIsIDMsIDQsIDIsIDMsIDQsIDUsIDMsIDQsIDUsIDYsIDAsIDEsIDIsIDMsICAxLCAyLAot
ICAzLCA0LCAyLCAzLCAgNCwgNSwgMywgNCwgNSwgNiwgNCwgNSwgNiwgNywgNSwgNiwgNywgOCwg
NiwgNywgIDgsIDksCi0gIDcsIDgsIDksIDEwLCA0LCA1LCA2LCA3LCA1LCA2LCA3LCA4LCA2LCA3
LCA4LCA5LCA3LCA4LCA5LCAxMCwKLX07Ci0KLSNkZWZpbmUgQ0FMQ19DT05WT0xWRThfSE9SWl9S
T1cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgc3Jj
UmVnID0gbW0yNTZfbG9hZHUyX3NpMTI4KHNyY19wdHIgLSAzLCBzcmNfcHRyIC0gMyArIHNyY19w
aXRjaCk7ICAgICAgICAgIFwKLSAgczFbMF0gPSBfbW0yNTZfc2h1ZmZsZV9lcGk4KHNyY1JlZywg
ZmlsdFswXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgczFbMV0gPSBfbW0y
NTZfc2h1ZmZsZV9lcGk4KHNyY1JlZywgZmlsdFsxXSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgczFbMl0gPSBfbW0yNTZfc2h1ZmZsZV9lcGk4KHNyY1JlZywgZmlsdFsyXSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgczFbM10gPSBfbW0yNTZfc2h1ZmZs
ZV9lcGk4KHNyY1JlZywgZmlsdFszXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgczFbMF0gPSBjb252b2x2ZThfMTZfYXZ4MihzMSwgZjEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgczFbMF0gPSBfbW0yNTZfcGFja3VzX2VwaTE2KHMx
WzBdLCBzMVswXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgc3JjX3B0
ciArPSBzcmNfc3RyaWRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgX21tX3N0b3JlbF9lcGk2NCgoX19tMTI4aSAqKSZvdXRwdXRfcHRy
WzBdLCBfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHMxWzBdKSk7IFwKLSAgb3V0cHV0X3B0ciArPSBv
dXRwdXRfcGl0Y2g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgX21tX3N0b3JlbF9lcGk2NCgoX19tMTI4aSAqKSZvdXRwdXRfcHRyWzBdLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICBfbW0yNTZf
ZXh0cmFjdGYxMjhfc2kyNTYoczFbMF0sIDEpKTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
b3V0cHV0X3B0ciArPSBvdXRwdXRfcGl0Y2g7Ci0KIHN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfZmls
dGVyX2Jsb2NrMWQxNl9oOF94X2F2eDIoCiAgICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgcHRy
ZGlmZl90IHNyY19waXhlbHNfcGVyX2xpbmUsIHVpbnQ4X3QgKm91dHB1dF9wdHIsCiAgICAgcHRy
ZGlmZl90IG91dHB1dF9waXRjaCwgdWludDMyX3Qgb3V0cHV0X2hlaWdodCwgY29uc3QgaW50MTZf
dCAqZmlsdGVyLApAQCAtODMsNyArNjEsMTIgQEAgc3RhdGljIElOTElORSB2b2lkIHZweF9maWx0
ZXJfYmxvY2sxZDE2X2g4X3hfYXZ4MigKICAgICBfX20yNTZpIHNyY1JlZzsKIAogICAgIC8vIGxv
YWQgdGhlIDIgc3RyaWRlcyBvZiBzb3VyY2UKLSAgICBzcmNSZWcgPSBtbTI1Nl9sb2FkdTJfc2kx
Mjgoc3JjX3B0ciAtIDMsIHNyY19wdHIgKyBzcmNfcGl4ZWxzX3Blcl9saW5lIC0gMyk7CisgICAg
c3JjUmVnID0KKyAgICAgICAgX21tMjU2X2Nhc3RzaTEyOF9zaTI1NihfbW1fbG9hZHVfc2kxMjgo
KGNvbnN0IF9fbTEyOGkgKikoc3JjX3B0ciAtIDMpKSk7CisgICAgc3JjUmVnID0gX21tMjU2X2lu
c2VydGkxMjhfc2kyNTYoCisgICAgICAgIHNyY1JlZywKKyAgICAgICAgX21tX2xvYWR1X3NpMTI4
KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgKyBzcmNfcGl4ZWxzX3Blcl9saW5lIC0gMykpLAor
ICAgICAgICAxKTsKIAogICAgIC8vIGZpbHRlciB0aGUgc291cmNlIGJ1ZmZlcgogICAgIHNbMF0g
PSBfbW0yNTZfc2h1ZmZsZV9lcGk4KHNyY1JlZywgZmlsdFswXSk7CkBAIC05NCw3ICs3NywxMiBA
QCBzdGF0aWMgSU5MSU5FIHZvaWQgdnB4X2ZpbHRlcl9ibG9jazFkMTZfaDhfeF9hdngyKAogCiAg
ICAgLy8gcmVhZGluZyAyIHN0cmlkZXMgb2YgdGhlIG5leHQgMTYgYnl0ZXMKICAgICAvLyAocGFy
dCBvZiBpdCB3YXMgYmVpbmcgcmVhZCBieSBlYXJsaWVyIHJlYWQpCi0gICAgc3JjUmVnID0gbW0y
NTZfbG9hZHUyX3NpMTI4KHNyY19wdHIgKyA1LCBzcmNfcHRyICsgc3JjX3BpeGVsc19wZXJfbGlu
ZSArIDUpOworICAgIHNyY1JlZyA9CisgICAgICAgIF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoX21t
X2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgKyA1KSkpOworICAgIHNyY1Jl
ZyA9IF9tbTI1Nl9pbnNlcnRpMTI4X3NpMjU2KAorICAgICAgICBzcmNSZWcsCisgICAgICAgIF9t
bV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsgc3JjX3BpeGVsc19wZXJf
bGluZSArIDUpKSwKKyAgICAgICAgMSk7CiAKICAgICAvLyBmaWx0ZXIgdGhlIHNvdXJjZSBidWZm
ZXIKICAgICBzWzBdID0gX21tMjU2X3NodWZmbGVfZXBpOChzcmNSZWcsIGZpbHRbMF0pOwpAQCAt
MTA5LDM3ICs5Nyw2MCBAQCBzdGF0aWMgSU5MSU5FIHZvaWQgdnB4X2ZpbHRlcl9ibG9jazFkMTZf
aDhfeF9hdngyKAogCiAgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwogCisgICAgLy8gYXZlcmFn
ZSBpZiBuZWNlc3NhcnkKKyAgICBvdXRSZWcxID0gX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChvdXRS
ZWczMmIxKTsKKyAgICBvdXRSZWcyID0gX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KG91dFJlZzMy
YjEsIDEpOwogICAgIGlmIChhdmcpIHsKLSAgICAgIGNvbnN0IF9fbTI1Nmkgb3V0UmVnID0gbW0y
NTZfbG9hZHUyX3NpMTI4KAotICAgICAgICAgIChfX20xMjhpICopb3V0cHV0X3B0ciwgKF9fbTEy
OGkgKikob3V0cHV0X3B0ciArIG91dHB1dF9waXRjaCkpOwotICAgICAgb3V0UmVnMzJiMSA9IF9t
bTI1Nl9hdmdfZXB1OChvdXRSZWczMmIxLCBvdXRSZWcpOworICAgICAgb3V0UmVnMSA9IF9tbV9h
dmdfZXB1OChvdXRSZWcxLCBfbW1fbG9hZF9zaTEyOCgoX19tMTI4aSAqKW91dHB1dF9wdHIpKTsK
KyAgICAgIG91dFJlZzIgPSBfbW1fYXZnX2VwdTgoCisgICAgICAgICAgb3V0UmVnMiwgX21tX2xv
YWRfc2kxMjgoKF9fbTEyOGkgKikob3V0cHV0X3B0ciArIG91dHB1dF9waXRjaCkpKTsKICAgICB9
Ci0gICAgbW0yNTZfc3RvcmUyX3NpMTI4KChfX20xMjhpICopb3V0cHV0X3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgKF9fbTEyOGkgKikob3V0cHV0X3B0ciArIG91dHB1dF9waXRjaCksICZv
dXRSZWczMmIxKTsKKworICAgIC8vIHNhdmUgMTYgYnl0ZXMKKyAgICBfbW1fc3RvcmVfc2kxMjgo
KF9fbTEyOGkgKilvdXRwdXRfcHRyLCBvdXRSZWcxKTsKKworICAgIC8vIHNhdmUgdGhlIG5leHQg
MTYgYml0cworICAgIF9tbV9zdG9yZV9zaTEyOCgoX19tMTI4aSAqKShvdXRwdXRfcHRyICsgb3V0
cHV0X3BpdGNoKSwgb3V0UmVnMik7CisKICAgICBvdXRwdXRfcHRyICs9IGRzdF9zdHJpZGU7CiAg
IH0KIAogICAvLyBpZiB0aGUgbnVtYmVyIG9mIHN0cmlkZXMgaXMgb2RkLgogICAvLyBwcm9jZXNz
IG9ubHkgMTYgYnl0ZXMKICAgaWYgKGkgPiAwKSB7Ci0gICAgY29uc3QgX19tMTI4aSBzcmNSZWcx
ID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgLSAzKSk7Ci0gICAg
Y29uc3QgX19tMTI4aSBzcmNSZWcyID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICop
KHNyY19wdHIgKyA1KSk7Ci0gICAgY29uc3QgX19tMjU2aSBzcmNSZWcgPQotICAgICAgICBfbW0y
NTZfaW5zZXJ0aTEyOF9zaTI1NihfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KHNyY1JlZzEpLCBzcmNS
ZWcyLCAxKTsKKyAgICBfX20xMjhpIHNyY1JlZzsKKworICAgIC8vIGxvYWQgdGhlIGZpcnN0IDE2
IGJ5dGVzIG9mIHRoZSBsYXN0IHJvdworICAgIHNyY1JlZyA9IF9tbV9sb2FkdV9zaTEyOCgoY29u
c3QgX19tMTI4aSAqKShzcmNfcHRyIC0gMykpOwogCiAgICAgLy8gZmlsdGVyIHRoZSBzb3VyY2Ug
YnVmZmVyCi0gICAgc1swXSA9IF9tbTI1Nl9zaHVmZmxlX2VwaTgoc3JjUmVnLCBmaWx0WzBdKTsK
LSAgICBzWzFdID0gX21tMjU2X3NodWZmbGVfZXBpOChzcmNSZWcsIGZpbHRbMV0pOwotICAgIHNb
Ml0gPSBfbW0yNTZfc2h1ZmZsZV9lcGk4KHNyY1JlZywgZmlsdFsyXSk7Ci0gICAgc1szXSA9IF9t
bTI1Nl9zaHVmZmxlX2VwaTgoc3JjUmVnLCBmaWx0WzNdKTsKKyAgICBzWzBdID0gX21tMjU2X2Nh
c3RzaTEyOF9zaTI1NigKKyAgICAgICAgX21tX3NodWZmbGVfZXBpOChzcmNSZWcsIF9tbTI1Nl9j
YXN0c2kyNTZfc2kxMjgoZmlsdFswXSkpKTsKKyAgICBzWzFdID0gX21tMjU2X2Nhc3RzaTEyOF9z
aTI1NigKKyAgICAgICAgX21tX3NodWZmbGVfZXBpOChzcmNSZWcsIF9tbTI1Nl9jYXN0c2kyNTZf
c2kxMjgoZmlsdFsxXSkpKTsKKyAgICBzWzJdID0gX21tMjU2X2Nhc3RzaTEyOF9zaTI1NigKKyAg
ICAgICAgX21tX3NodWZmbGVfZXBpOChzcmNSZWcsIF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoZmls
dFsyXSkpKTsKKyAgICBzWzNdID0gX21tMjU2X2Nhc3RzaTEyOF9zaTI1NigKKyAgICAgICAgX21t
X3NodWZmbGVfZXBpOChzcmNSZWcsIF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoZmlsdFszXSkpKTsK
KyAgICBvdXRSZWcxID0gY29udm9sdmU4XzhfYXZ4MihzLCBmKTsKKworICAgIC8vIHJlYWRpbmcg
dGhlIG5leHQgMTYgYnl0ZXMKKyAgICAvLyAocGFydCBvZiBpdCB3YXMgYmVpbmcgcmVhZCBieSBl
YXJsaWVyIHJlYWQpCisgICAgc3JjUmVnID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhp
ICopKHNyY19wdHIgKyA1KSk7CiAKLSAgICAvLyBUaGUgbG93IGFuZCBoaWdoIDEyOC1iaXRzIG9m
IGVhY2ggbGFuZSBjb250YWluIHRoZSBmaXJzdCBhbmQgc2Vjb25kCi0gICAgLy8gY29udm9sdmUg
cmVzdWx0IHJlc3BlY3RpdmVseQotICAgIG91dFJlZzMyYjEgPSBjb252b2x2ZThfMTZfYXZ4Mihz
LCBmKTsKLSAgICBvdXRSZWcxID0gX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChvdXRSZWczMmIxKTsK
LSAgICBvdXRSZWcyID0gX21tMjU2X2V4dHJhY3RmMTI4X3NpMjU2KG91dFJlZzMyYjEsIDEpOwor
ICAgIC8vIGZpbHRlciB0aGUgc291cmNlIGJ1ZmZlcgorICAgIHNbMF0gPSBfbW0yNTZfY2FzdHNp
MTI4X3NpMjU2KAorICAgICAgICBfbW1fc2h1ZmZsZV9lcGk4KHNyY1JlZywgX21tMjU2X2Nhc3Rz
aTI1Nl9zaTEyOChmaWx0WzBdKSkpOworICAgIHNbMV0gPSBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2
KAorICAgICAgICBfbW1fc2h1ZmZsZV9lcGk4KHNyY1JlZywgX21tMjU2X2Nhc3RzaTI1Nl9zaTEy
OChmaWx0WzFdKSkpOworICAgIHNbMl0gPSBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KAorICAgICAg
ICBfbW1fc2h1ZmZsZV9lcGk4KHNyY1JlZywgX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChmaWx0WzJd
KSkpOworICAgIHNbM10gPSBfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KAorICAgICAgICBfbW1fc2h1
ZmZsZV9lcGk4KHNyY1JlZywgX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChmaWx0WzNdKSkpOworICAg
IG91dFJlZzIgPSBjb252b2x2ZThfOF9hdngyKHMsIGYpOwogCi0gICAgLy8gc2hyaW5rIHRvIDgg
Yml0IGVhY2ggMTYgYml0cworICAgIC8vIHNocmluayB0byA4IGJpdCBlYWNoIDE2IGJpdHMsIHRo
ZSBsb3cgYW5kIGhpZ2ggNjQtYml0cyBvZiBlYWNoIGxhbmUKKyAgICAvLyBjb250YWluIHRoZSBm
aXJzdCBhbmQgc2Vjb25kIGNvbnZvbHZlIHJlc3VsdCByZXNwZWN0aXZlbHkKICAgICBvdXRSZWcx
ID0gX21tX3BhY2t1c19lcGkxNihvdXRSZWcxLCBvdXRSZWcyKTsKIAogICAgIC8vIGF2ZXJhZ2Ug
aWYgbmVjZXNzYXJ5CkBAIC0xNjYsNjMgKzE3NywxMSBAQCBzdGF0aWMgdm9pZCB2cHhfZmlsdGVy
X2Jsb2NrMWQxNl9oOF9hdmdfYXZ4MigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG91dHB1dF9oZWlnaHQsIGZpbHRlciwgMSk7CiB9CiAKLXN0YXRpYyB2b2lkIHZweF9maWx0ZXJf
YmxvY2sxZDhfaDhfYXZ4MigKLSAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBwdHJkaWZmX3Qg
c3JjX3BpdGNoLCB1aW50OF90ICpvdXRwdXRfcHRyLAotICAgIHB0cmRpZmZfdCBvdXRwdXRfcGl0
Y2gsIHVpbnQzMl90IG91dHB1dF9oZWlnaHQsIGNvbnN0IGludDE2X3QgKmZpbHRlcikgewotICBf
X20yNTZpIGZpbHRbNF0sIGYxWzRdLCBzMVs0XSwgc3JjUmVnOwotICBfX20xMjhpIGZbNF0sIHNb
NF07Ci0gIGludCB5ID0gb3V0cHV0X2hlaWdodDsKLQotICAvLyBNdWx0aXBseSB0aGUgc2l6ZSBv
ZiB0aGUgc291cmNlIHN0cmlkZSBieSB0d28KLSAgY29uc3QgcHRyZGlmZl90IHNyY19zdHJpZGUg
PSBzcmNfcGl0Y2ggPDwgMTsKLQotICBzaHVmZmxlX2ZpbHRlcl9hdngyKGZpbHRlciwgZjEpOwot
ICBmaWx0WzBdID0gX21tMjU2X2xvYWRfc2kyNTYoKF9fbTI1NmkgY29uc3QgKilmaWx0MV9nbG9i
YWxfYXZ4Mik7Ci0gIGZpbHRbMV0gPSBfbW0yNTZfbG9hZF9zaTI1NigoX19tMjU2aSBjb25zdCAq
KWZpbHQyX2dsb2JhbF9hdngyKTsKLSAgZmlsdFsyXSA9IF9tbTI1Nl9sb2FkX3NpMjU2KChfX20y
NTZpIGNvbnN0ICopZmlsdDNfZ2xvYmFsX2F2eDIpOwotICBmaWx0WzNdID0gX21tMjU2X2xvYWRf
c2kyNTYoKF9fbTI1NmkgY29uc3QgKilmaWx0NF9nbG9iYWxfYXZ4Mik7Ci0KLSAgLy8gUHJvY2Vz
cyBuZXh0IDQgcm93cwotICB3aGlsZSAoeSA+IDMpIHsKLSAgICBDQUxDX0NPTlZPTFZFOF9IT1Ja
X1JPVwotICAgIENBTENfQ09OVk9MVkU4X0hPUlpfUk9XCi0gICAgeSAtPSA0OwotICB9Ci0KLSAg
Ly8gSWYgcmVtYWluaW5nLCB0aGVuIHByb2Nlc3MgMiByb3dzIGF0IGEgdGltZQotICB3aGlsZSAo
eSA+IDEpIHsKLSAgICBDQUxDX0NPTlZPTFZFOF9IT1JaX1JPVwotICAgIHkgLT0gMjsKLSAgfQot
Ci0gIC8vIEZvciB0aGUgcmVtYWluaW5nIGhlaWdodC4KLSAgaWYgKHkgPiAwKSB7Ci0gICAgY29u
c3QgX19tMTI4aSBzcmNfcmVnXzEyOCA9IF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgX19tMTI4aSAq
KShzcmNfcHRyIC0gMykpOwotCi0gICAgZlswXSA9IF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoZjFb
MF0pOwotICAgIGZbMV0gPSBfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KGYxWzFdKTsKLSAgICBmWzJd
ID0gX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChmMVsyXSk7Ci0gICAgZlszXSA9IF9tbTI1Nl9jYXN0
c2kyNTZfc2kxMjgoZjFbM10pOwotCi0gICAgLy8gZmlsdGVyIHRoZSBzb3VyY2UgYnVmZmVyCi0g
ICAgc1swXSA9IF9tbV9zaHVmZmxlX2VwaTgoc3JjX3JlZ18xMjgsIF9tbTI1Nl9jYXN0c2kyNTZf
c2kxMjgoZmlsdFswXSkpOwotICAgIHNbMV0gPSBfbW1fc2h1ZmZsZV9lcGk4KHNyY19yZWdfMTI4
LCBfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KGZpbHRbMV0pKTsKLSAgICBzWzJdID0gX21tX3NodWZm
bGVfZXBpOChzcmNfcmVnXzEyOCwgX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChmaWx0WzJdKSk7Ci0g
ICAgc1szXSA9IF9tbV9zaHVmZmxlX2VwaTgoc3JjX3JlZ18xMjgsIF9tbTI1Nl9jYXN0c2kyNTZf
c2kxMjgoZmlsdFszXSkpOwotICAgIHNbMF0gPSBjb252b2x2ZThfOF9zc3NlMyhzLCBmKTsKLQot
ICAgIC8vIFNhdHVyYXRlIDE2Yml0IHZhbHVlIHRvIDhiaXQuCi0gICAgc1swXSA9IF9tbV9wYWNr
dXNfZXBpMTYoc1swXSwgc1swXSk7Ci0KLSAgICAvLyBTYXZlIG9ubHkgOCBieXRlcwotICAgIF9t
bV9zdG9yZWxfZXBpNjQoKF9fbTEyOGkgKikmb3V0cHV0X3B0clswXSwgc1swXSk7Ci0gIH0KLX0K
LQogc3RhdGljIElOTElORSB2b2lkIHZweF9maWx0ZXJfYmxvY2sxZDE2X3Y4X3hfYXZ4MigKICAg
ICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3BpdGNoLCB1aW50OF90ICpv
dXRwdXRfcHRyLAogICAgIHB0cmRpZmZfdCBvdXRfcGl0Y2gsIHVpbnQzMl90IG91dHB1dF9oZWln
aHQsIGNvbnN0IGludDE2X3QgKmZpbHRlciwKICAgICBjb25zdCBpbnQgYXZnKSB7CisgIF9fbTEy
OGkgb3V0UmVnMSwgb3V0UmVnMjsKICAgX19tMjU2aSBzcmNSZWdIZWFkMTsKICAgdW5zaWduZWQg
aW50IGk7CiAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBkc3Rfc3RyaWRlOwpAQCAtMjY4LDkgKzIy
Nyw2IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfZmlsdGVyX2Jsb2NrMWQxNl92OF94X2F2eDIo
CiAgICAgczJbMl0gPSBfbW0yNTZfdW5wYWNraGlfZXBpOChzMzJiWzRdLCBzMzJiWzVdKTsKICAg
fQogCi0gIC8vIFRoZSBvdXRwdXRfaGVpZ2h0IGlzIGFsd2F5cyBhIG11bHRpcGxlIG9mIHR3by4K
LSAgYXNzZXJ0KCEob3V0cHV0X2hlaWdodCAmIDEpKTsKLQogICBmb3IgKGkgPSBvdXRwdXRfaGVp
Z2h0OyBpID4gMTsgaSAtPSAyKSB7CiAgICAgX19tMjU2aSBzcmNSZWdIZWFkMiwgc3JjUmVnSGVh
ZDM7CiAKQEAgLTMwMSwxNCArMjU3LDE5IEBAIHN0YXRpYyBJTkxJTkUgdm9pZCB2cHhfZmlsdGVy
X2Jsb2NrMWQxNl92OF94X2F2eDIoCiAgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwogCiAgICAg
Ly8gYXZlcmFnZSBpZiBuZWNlc3NhcnkKKyAgICBvdXRSZWcxID0gX21tMjU2X2Nhc3RzaTI1Nl9z
aTEyOChzMVswXSk7CisgICAgb3V0UmVnMiA9IF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzMVsw
XSwgMSk7CiAgICAgaWYgKGF2ZykgewotICAgICAgY29uc3QgX19tMjU2aSBvdXRSZWcgPSBtbTI1
Nl9sb2FkdTJfc2kxMjgoCi0gICAgICAgICAgKF9fbTEyOGkgKilvdXRwdXRfcHRyLCAoX19tMTI4
aSAqKShvdXRwdXRfcHRyICsgb3V0X3BpdGNoKSk7Ci0gICAgICBzMVswXSA9IF9tbTI1Nl9hdmdf
ZXB1OChzMVswXSwgb3V0UmVnKTsKKyAgICAgIG91dFJlZzEgPSBfbW1fYXZnX2VwdTgob3V0UmVn
MSwgX21tX2xvYWRfc2kxMjgoKF9fbTEyOGkgKilvdXRwdXRfcHRyKSk7CisgICAgICBvdXRSZWcy
ID0gX21tX2F2Z19lcHU4KAorICAgICAgICAgIG91dFJlZzIsIF9tbV9sb2FkX3NpMTI4KChfX20x
MjhpICopKG91dHB1dF9wdHIgKyBvdXRfcGl0Y2gpKSk7CiAgICAgfQogCi0gICAgbW0yNTZfc3Rv
cmUyX3NpMTI4KChfX20xMjhpICopb3V0cHV0X3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAg
KF9fbTEyOGkgKikob3V0cHV0X3B0ciArIG91dF9waXRjaCksIHMxKTsKKyAgICAvLyBzYXZlIDE2
IGJ5dGVzCisgICAgX21tX3N0b3JlX3NpMTI4KChfX20xMjhpICopb3V0cHV0X3B0ciwgb3V0UmVn
MSk7CisKKyAgICAvLyBzYXZlIHRoZSBuZXh0IDE2IGJpdHMKKyAgICBfbW1fc3RvcmVfc2kxMjgo
KF9fbTEyOGkgKikob3V0cHV0X3B0ciArIG91dF9waXRjaCksIG91dFJlZzIpOwogCiAgICAgb3V0
cHV0X3B0ciArPSBkc3Rfc3RyaWRlOwogCkBAIC0zMjEsNiArMjgyLDM1IEBAIHN0YXRpYyBJTkxJ
TkUgdm9pZCB2cHhfZmlsdGVyX2Jsb2NrMWQxNl92OF94X2F2eDIoCiAgICAgczJbMl0gPSBzMlsz
XTsKICAgICBzcmNSZWdIZWFkMSA9IHNyY1JlZ0hlYWQzOwogICB9CisKKyAgLy8gaWYgdGhlIG51
bWJlciBvZiBzdHJpZGVzIGlzIG9kZC4KKyAgLy8gcHJvY2VzcyBvbmx5IDE2IGJ5dGVzCisgIGlm
IChpID4gMCkgeworICAgIC8vIGxvYWQgdGhlIGxhc3QgMTYgYnl0ZXMKKyAgICBjb25zdCBfX20x
MjhpIHNyY1JlZ0hlYWQyID0KKyAgICAgICAgX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhp
ICopKHNyY19wdHIgKyBzcmNfcGl0Y2ggKiA3KSk7CisKKyAgICAvLyBtZXJnZSB0aGUgbGFzdCAy
IHJlc3VsdHMgdG9nZXRoZXIKKyAgICBzMVswXSA9IF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoCisg
ICAgICAgIF9tbV91bnBhY2tsb19lcGk4KF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3JjUmVnSGVh
ZDEpLCBzcmNSZWdIZWFkMikpOworICAgIHMyWzBdID0gX21tMjU2X2Nhc3RzaTEyOF9zaTI1NigK
KyAgICAgICAgX21tX3VucGFja2hpX2VwaTgoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzcmNSZWdI
ZWFkMSksIHNyY1JlZ0hlYWQyKSk7CisKKyAgICBvdXRSZWcxID0gY29udm9sdmU4XzhfYXZ4Mihz
MSwgZik7CisgICAgb3V0UmVnMiA9IGNvbnZvbHZlOF84X2F2eDIoczIsIGYpOworCisgICAgLy8g
c2hyaW5rIHRvIDggYml0IGVhY2ggMTYgYml0cywgdGhlIGxvdyBhbmQgaGlnaCA2NC1iaXRzIG9m
IGVhY2ggbGFuZQorICAgIC8vIGNvbnRhaW4gdGhlIGZpcnN0IGFuZCBzZWNvbmQgY29udm9sdmUg
cmVzdWx0IHJlc3BlY3RpdmVseQorICAgIG91dFJlZzEgPSBfbW1fcGFja3VzX2VwaTE2KG91dFJl
ZzEsIG91dFJlZzIpOworCisgICAgLy8gYXZlcmFnZSBpZiBuZWNlc3NhcnkKKyAgICBpZiAoYXZn
KSB7CisgICAgICBvdXRSZWcxID0gX21tX2F2Z19lcHU4KG91dFJlZzEsIF9tbV9sb2FkX3NpMTI4
KChfX20xMjhpICopb3V0cHV0X3B0cikpOworICAgIH0KKworICAgIC8vIHNhdmUgMTYgYnl0ZXMK
KyAgICBfbW1fc3RvcmVfc2kxMjgoKF9fbTEyOGkgKilvdXRwdXRfcHRyLCBvdXRSZWcxKTsKKyAg
fQogfQogCiBzdGF0aWMgdm9pZCB2cHhfZmlsdGVyX2Jsb2NrMWQxNl92OF9hdngyKGNvbnN0IHVp
bnQ4X3QgKnNyY19wdHIsCkBAIC01NzAsNiArNTYwLDkgQEAgc3RhdGljIHZvaWQgdnB4X2ZpbHRl
cl9ibG9jazFkOF9oNF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCiAgIGNvbnN0IHB0cmRp
ZmZfdCB1bnJvbGxlZF9kc3Rfc3RyaWRlID0gZHN0X3N0cmlkZSA8PCAxOwogICBpbnQgaDsKIAor
ICBfX20yNTZpIHNyY19yZWcsIHNyY19yZWdfc2hpZnRfMCwgc3JjX3JlZ19zaGlmdF8yOworICBf
X20yNTZpIGRzdF9yZWc7CisgIF9fbTI1NmkgdG1wXzAsIHRtcF8xOwogICBfX20yNTZpIGlkeF9z
aGlmdF8wID0KICAgICAgIF9tbTI1Nl9zZXRyX2VwaTgoMCwgMSwgMSwgMiwgMiwgMywgMywgNCwg
NCwgNSwgNSwgNiwgNiwgNywgNywgOCwgMCwgMSwgMSwKICAgICAgICAgICAgICAgICAgICAgICAg
MiwgMiwgMywgMywgNCwgNCwgNSwgNSwgNiwgNiwgNywgNywgOCk7CkBAIC01OTAsMTEgKzU4Myw5
IEBAIHN0YXRpYyB2b2lkIHZweF9maWx0ZXJfYmxvY2sxZDhfaDRfYXZ4Mihjb25zdCB1aW50OF90
ICpzcmNfcHRyLAogCiAgIGZvciAoaCA9IGhlaWdodDsgaCA+PSAyOyBoIC09IDIpIHsKICAgICAv
LyBMb2FkIHRoZSBzb3VyY2UKLSAgICBjb25zdCBfX20yNTZpIHNyY19yZWcgPSBtbTI1Nl9sb2Fk
dTJfc2kxMjgoc3JjX3B0ciwgc3JjX3B0ciArIHNyY19zdHJpZGUpOwotICAgIF9fbTI1NmkgZHN0
X3JlZzsKLSAgICBfX20yNTZpIHRtcF8wLCB0bXBfMTsKLSAgICBjb25zdCBfX20yNTZpIHNyY19y
ZWdfc2hpZnRfMCA9IF9tbTI1Nl9zaHVmZmxlX2VwaTgoc3JjX3JlZywgaWR4X3NoaWZ0XzApOwot
ICAgIGNvbnN0IF9fbTI1Nmkgc3JjX3JlZ19zaGlmdF8yID0gX21tMjU2X3NodWZmbGVfZXBpOChz
cmNfcmVnLCBpZHhfc2hpZnRfMik7CisgICAgc3JjX3JlZyA9IG1tMjU2X2xvYWR1Ml9zaTEyOChz
cmNfcHRyLCBzcmNfcHRyICsgc3JjX3N0cmlkZSk7CisgICAgc3JjX3JlZ19zaGlmdF8wID0gX21t
MjU2X3NodWZmbGVfZXBpOChzcmNfcmVnLCBpZHhfc2hpZnRfMCk7CisgICAgc3JjX3JlZ19zaGlm
dF8yID0gX21tMjU2X3NodWZmbGVfZXBpOChzcmNfcmVnLCBpZHhfc2hpZnRfMik7CiAKICAgICAv
LyBHZXQgdGhlIG91dHB1dAogICAgIHRtcF8wID0gX21tMjU2X21hZGR1YnNfZXBpMTYoc3JjX3Jl
Z19zaGlmdF8wLCBrZXJuZWxfcmVnXzIzKTsKQEAgLTYxNSw5ICs2MDYsOSBAQCBzdGF0aWMgdm9p
ZCB2cHhfZmlsdGVyX2Jsb2NrMWQ4X2g0X2F2eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwKIAog
ICAvLyBSZXBlYXQgZm9yIHRoZSBsYXN0IHJvdyBpZiBuZWVkZWQKICAgaWYgKGggPiAwKSB7Ci0g
ICAgY29uc3QgX19tMTI4aSBzcmNfcmVnID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhp
ICopc3JjX3B0cik7CisgICAgX19tMTI4aSBzcmNfcmVnID0gX21tX2xvYWR1X3NpMTI4KChjb25z
dCBfX20xMjhpICopc3JjX3B0cik7CiAgICAgX19tMTI4aSBkc3RfcmVnOwotICAgIGNvbnN0IF9f
bTEyOGkgcmVnXzMyXzEyOCA9IF9tbV9zZXQxX2VwaTE2KDMyKTsgIC8vIFVzZWQgZm9yIHJvdW5k
aW5nCisgICAgY29uc3QgX19tMTI4aSByZWdfMzIgPSBfbW1fc2V0MV9lcGkxNigzMik7ICAvLyBV
c2VkIGZvciByb3VuZGluZwogICAgIF9fbTEyOGkgdG1wXzAsIHRtcF8xOwogCiAgICAgX19tMTI4
aSBzcmNfcmVnX3NoaWZ0XzAgPQpAQCAtNjMxLDcgKzYyMiw3IEBAIHN0YXRpYyB2b2lkIHZweF9m
aWx0ZXJfYmxvY2sxZDhfaDRfYXZ4Mihjb25zdCB1aW50OF90ICpzcmNfcHRyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChrZXJuZWxfcmVnXzQ1
KSk7CiAgICAgZHN0X3JlZyA9IF9tbV9hZGRzX2VwaTE2KHRtcF8wLCB0bXBfMSk7CiAKLSAgICBk
c3RfcmVnID0gbW1fcm91bmRfZXBpMTZfc3NlMigmZHN0X3JlZywgJnJlZ18zMl8xMjgsIDYpOwor
ICAgIGRzdF9yZWcgPSBtbV9yb3VuZF9lcGkxNl9zc2UyKCZkc3RfcmVnLCAmcmVnXzMyLCA2KTsK
IAogICAgIGRzdF9yZWcgPSBfbW1fcGFja3VzX2VwaTE2KGRzdF9yZWcsIF9tbV9zZXR6ZXJvX3Np
MTI4KCkpOwogCkBAIC03NTAsNiArNzQxLDggQEAgc3RhdGljIHZvaWQgdnB4X2ZpbHRlcl9ibG9j
azFkNF9oNF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsCiAgIGNvbnN0IHB0cmRpZmZfdCB1
bnJvbGxlZF9zcmNfc3RyaWRlID0gc3JjX3N0cmlkZSA8PCAxOwogICBjb25zdCBwdHJkaWZmX3Qg
dW5yb2xsZWRfZHN0X3N0cmlkZSA9IGRzdF9zdHJpZGUgPDwgMTsKIAorICBfX20yNTZpIHNyY19y
ZWcsIHNyY19yZWdfc2h1ZjsKKyAgX19tMjU2aSBkc3Q7CiAgIF9fbTI1Nmkgc2h1Zl9pZHggPQog
ICAgICAgX21tMjU2X3NldHJfZXBpOCgwLCAxLCAyLCAzLCAxLCAyLCAzLCA0LCAyLCAzLCA0LCA1
LCAzLCA0LCA1LCA2LCAwLCAxLCAyLAogICAgICAgICAgICAgICAgICAgICAgICAzLCAxLCAyLCAz
LCA0LCAyLCAzLCA0LCA1LCAzLCA0LCA1LCA2KTsKQEAgLTc2NiwxMiArNzU5LDEyIEBAIHN0YXRp
YyB2b2lkIHZweF9maWx0ZXJfYmxvY2sxZDRfaDRfYXZ4Mihjb25zdCB1aW50OF90ICpzcmNfcHRy
LAogCiAgIGZvciAoaCA9IGhlaWdodDsgaCA+IDE7IGggLT0gMikgewogICAgIC8vIExvYWQgdGhl
IHNvdXJjZQotICAgIGNvbnN0IF9fbTI1Nmkgc3JjX3JlZyA9IG1tMjU2X2xvYWR1Ml9lcGk2NCgK
LSAgICAgICAgKGNvbnN0IF9fbTEyOGkgKilzcmNfcHRyLCAoY29uc3QgX19tMTI4aSAqKShzcmNf
cHRyICsgc3JjX3N0cmlkZSkpOwotICAgIGNvbnN0IF9fbTI1Nmkgc3JjX3JlZ19zaHVmID0gX21t
MjU2X3NodWZmbGVfZXBpOChzcmNfcmVnLCBzaHVmX2lkeCk7CisgICAgc3JjX3JlZyA9IG1tMjU2
X2xvYWR1Ml9lcGk2NCgoY29uc3QgX19tMTI4aSAqKXNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsgc3JjX3N0cmlkZSkp
OworICAgIHNyY19yZWdfc2h1ZiA9IF9tbTI1Nl9zaHVmZmxlX2VwaTgoc3JjX3JlZywgc2h1Zl9p
ZHgpOwogCiAgICAgLy8gR2V0IHRoZSByZXN1bHQKLSAgICBfX20yNTZpIGRzdCA9IF9tbTI1Nl9t
YWRkdWJzX2VwaTE2KHNyY19yZWdfc2h1Ziwga2VybmVsX3JlZyk7CisgICAgZHN0ID0gX21tMjU2
X21hZGR1YnNfZXBpMTYoc3JjX3JlZ19zaHVmLCBrZXJuZWxfcmVnKTsKICAgICBkc3QgPSBfbW0y
NTZfaGFkZHNfZXBpMTYoZHN0LCBfbW0yNTZfc2V0emVyb19zaTI1NigpKTsKIAogICAgIC8vIFJv
dW5kIHJlc3VsdApAQCAtNzkwLDcgKzc4Myw3IEBAIHN0YXRpYyB2b2lkIHZweF9maWx0ZXJfYmxv
Y2sxZDRfaDRfYXZ4Mihjb25zdCB1aW50OF90ICpzcmNfcHRyLAogCiAgIGlmIChoID4gMCkgewog
ICAgIC8vIExvYWQgdGhlIHNvdXJjZQotICAgIGNvbnN0IF9fbTEyOGkgcmVnXzMyXzEyOCA9IF9t
bV9zZXQxX2VwaTE2KDMyKTsgIC8vIFVzZWQgZm9yIHJvdW5kaW5nCisgICAgY29uc3QgX19tMTI4
aSByZWdfMzIgPSBfbW1fc2V0MV9lcGkxNigzMik7ICAvLyBVc2VkIGZvciByb3VuZGluZwogICAg
IF9fbTEyOGkgc3JjX3JlZyA9IF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKXNyY19w
dHIpOwogICAgIF9fbTEyOGkgc3JjX3JlZ19zaHVmID0KICAgICAgICAgX21tX3NodWZmbGVfZXBp
OChzcmNfcmVnLCBfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KHNodWZfaWR4KSk7CkBAIC04MDEsMTEg
Kzc5NCwxMSBAQCBzdGF0aWMgdm9pZCB2cHhfZmlsdGVyX2Jsb2NrMWQ0X2g0X2F2eDIoY29uc3Qg
dWludDhfdCAqc3JjX3B0ciwKICAgICBkc3QgPSBfbW1faGFkZHNfZXBpMTYoZHN0LCBfbW1fc2V0
emVyb19zaTEyOCgpKTsKIAogICAgIC8vIFJvdW5kIHJlc3VsdAotICAgIGRzdCA9IG1tX3JvdW5k
X2VwaTE2X3NzZTIoJmRzdCwgJnJlZ18zMl8xMjgsIDYpOworICAgIGRzdCA9IG1tX3JvdW5kX2Vw
aTE2X3NzZTIoJmRzdCwgJnJlZ18zMiwgNik7CiAKICAgICAvLyBQYWNrIHRvIDgtYml0cwogICAg
IGRzdCA9IF9tbV9wYWNrdXNfZXBpMTYoZHN0LCBfbW1fc2V0emVyb19zaTEyOCgpKTsKLSAgICAq
KChpbnQgKikoZHN0X3B0cikpID0gX21tX2N2dHNpMTI4X3NpMzIoZHN0KTsKKyAgICAqKCh1aW50
MzJfdCAqKShkc3RfcHRyKSkgPSBfbW1fY3Z0c2kxMjhfc2kzMihkc3QpOwogICB9CiB9CiAKQEAg
LTg5OSwzOTkgKzg5MiwyMiBAQCBzdGF0aWMgdm9pZCB2cHhfZmlsdGVyX2Jsb2NrMWQ0X3Y0X2F2
eDIoY29uc3QgdWludDhfdCAqc3JjX3B0ciwKICAgfQogfQogCi1zdGF0aWMgdm9pZCB2cHhfZmls
dGVyX2Jsb2NrMWQ4X3Y4X2F2eDIoCi0gICAgY29uc3QgdWludDhfdCAqc3JjX3B0ciwgcHRyZGlm
Zl90IHNyY19waXRjaCwgdWludDhfdCAqb3V0cHV0X3B0ciwKLSAgICBwdHJkaWZmX3Qgb3V0X3Bp
dGNoLCB1aW50MzJfdCBvdXRwdXRfaGVpZ2h0LCBjb25zdCBpbnQxNl90ICpmaWx0ZXIpIHsKLSAg
X19tMjU2aSBmWzRdLCBzc1s0XTsKLSAgX19tMjU2aSByWzhdOwotICBfX20xMjhpIHNbOV07Ci0K
LSAgdW5zaWduZWQgaW50IHkgPSBvdXRwdXRfaGVpZ2h0OwotICAvLyBNdWx0aXBseSB0aGUgc2l6
ZSBvZiB0aGUgc291cmNlIHN0cmlkZSBieSB0d28KLSAgY29uc3QgcHRyZGlmZl90IHNyY19zdHJp
ZGUgPSBzcmNfcGl0Y2ggPDwgMTsKLQotICAvLyBUaGUgb3V0cHV0X2hlaWdodCBpcyBhbHdheXMg
YSBtdWx0aXBsZSBvZiB0d28uCi0gIGFzc2VydCghKG91dHB1dF9oZWlnaHQgJiAxKSk7Ci0KLSAg
c2h1ZmZsZV9maWx0ZXJfYXZ4MihmaWx0ZXIsIGYpOwotICBzWzBdID0gX21tX2xvYWRsX2VwaTY0
KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgKyAwICogc3JjX3BpdGNoKSk7Ci0gIHNbMV0gPSBf
bW1fbG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKikoc3JjX3B0ciArIDEgKiBzcmNfcGl0Y2gp
KTsKLSAgc1syXSA9IF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsg
MiAqIHNyY19waXRjaCkpOwotICBzWzNdID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhp
ICopKHNyY19wdHIgKyAzICogc3JjX3BpdGNoKSk7Ci0gIHNbNF0gPSBfbW1fbG9hZGxfZXBpNjQo
KGNvbnN0IF9fbTEyOGkgKikoc3JjX3B0ciArIDQgKiBzcmNfcGl0Y2gpKTsKLSAgc1s1XSA9IF9t
bV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsgNSAqIHNyY19waXRjaCkp
OwotICBzWzZdID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgKyA2
ICogc3JjX3BpdGNoKSk7Ci0KLSAgLy8gbWVyZ2UgdGhlIHJlc3VsdCB0b2dldGhlcgotICAvLyBy
WzBdOiAgICAwIDAgMCAwIDAgMCAwIDAgcjE3IHIxNiByMTUgcjE0IHIxMyByMTIgcjExIHIxMCB8
IDAgMCAwIDAgMCAwIDAgMAotICAvLyByMDcgcjA2IHIwNSByMDQgcjAzIHIwMiByMDEgcjAwCi0g
IHJbMF0gPSBfbW0yNTZfaW5zZXJ0aTEyOF9zaTI1NihfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KHNb
MF0pLCBzWzFdLCAxKTsKLQotICAvLyByWzFdOiAgICAwIDAgMCAwIDAgMCAwIDAgcjI3IHIyNiBy
MjUgcjI0IHIyMyByMjIgcjIxIHIyMCB8IDAgMCAwIDAgMCAwIDAgMAotICAvLyByMTcgcjE2IHIx
NSByMTQgcjEzIHIxMiByMTEgcjEwCi0gIHJbMV0gPSBfbW0yNTZfaW5zZXJ0aTEyOF9zaTI1Nihf
bW0yNTZfY2FzdHNpMTI4X3NpMjU2KHNbMV0pLCBzWzJdLCAxKTsKLQotICAvLyByWzJdOiAgICAw
IDAgMCAwIDAgMCAwIDAgcjM3IHIzNiByMzUgcjM0IHIzMyByMzIgcjMxIHIzMCB8IDAgMCAwIDAg
MCAwIDAgMAotICAvLyByMjcgcjI2IHIyNSByMjQgcjIzIHIyMiByMjEgcjIwCi0gIHJbMl0gPSBf
bW0yNTZfaW5zZXJ0aTEyOF9zaTI1NihfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KHNbMl0pLCBzWzNd
LCAxKTsKLQotICAvLyByWzNdOiAgICAwIDAgMCAwIDAgMCAwIDAgcjQ3IHI0NiByNDUgcjQ0IHI0
MyByNDIgcjQxIHI0MCB8IDAgMCAwIDAgMCAwIDAgMAotICAvLyByMzcgcjM2IHIzNSByMzQgcjMz
IHIzMiByMzEgcjMwCi0gIHJbM10gPSBfbW0yNTZfaW5zZXJ0aTEyOF9zaTI1NihfbW0yNTZfY2Fz
dHNpMTI4X3NpMjU2KHNbM10pLCBzWzRdLCAxKTsKLQotICAvLyByWzRdOiAgICAwIDAgMCAwIDAg
MCAwIDAgcjU3IHI1NiByNTUgcjU0IHI1MyByNTIgcjUxIHI1MCB8IDAgMCAwIDAgMCAwIDAgMAot
ICAvLyByNDcgcjQ2IHI0NSByNDQgcjQzIHI0MiByNDEgcjQwCi0gIHJbNF0gPSBfbW0yNTZfaW5z
ZXJ0aTEyOF9zaTI1NihfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KHNbNF0pLCBzWzVdLCAxKTsKLQot
ICAvLyByWzVdOiAgICAwIDAgMCAwIDAgMCAwIDAgcjY3IHI2NiByNjUgcjY0IHI2MyByNjIgcjYx
IHI2MCB8IDAgMCAwIDAgMCAwIDAgMAotICAvLyByNTcgcjU2IHI1NSByNTQgcjUzIHI1MiByNTEg
cjUwCi0gIHJbNV0gPSBfbW0yNTZfaW5zZXJ0aTEyOF9zaTI1NihfbW0yNTZfY2FzdHNpMTI4X3Np
MjU2KHNbNV0pLCBzWzZdLCAxKTsKLQotICAvLyBNZXJnZSB0b2dldGhlcgotICAvLyBzc1swXTog
fHIyNyByMTd8Li4uLi4uLnxyMjEgcjExfHIyMCByMTAgfHwgcjE3IHIwN3wuLi4uLnxyMTIgcjAy
fHIxMQotICAvLyByMDF8cjEwIHIwMHwKLSAgc3NbMF0gPSBfbW0yNTZfdW5wYWNrbG9fZXBpOChy
WzBdLCByWzFdKTsKLQotICAvLyBzc1swXTogfHI0NyByMzd8Li4uLi4uLnxyNDEgcjMxfHI0MCBy
MzAgfHwgcjM3IHIyN3wuLi4uLnxyMzIgcjIyfHIzMQotICAvLyByMjF8cjMwIHIyMHwKLSAgc3Nb
MV0gPSBfbW0yNTZfdW5wYWNrbG9fZXBpOChyWzJdLCByWzNdKTsKLQotICAvLyBzc1syXTogfHI2
NyByNTd8Li4uLi4uLnxyNjEgcjUxfHI2MCByNTAgfHwgcjU3IHI0N3wuLi4uLnxyNTIgcjQyfHI1
MQotICAvLyByNDF8cjUwIHI0MHwKLSAgc3NbMl0gPSBfbW0yNTZfdW5wYWNrbG9fZXBpOChyWzRd
LCByWzVdKTsKLQotICAvLyBQcm9jZXNzIDIgcm93cyBhdCBhIHRpbWUKLSAgZG8gewotICAgIHNb
N10gPSBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKikoc3JjX3B0ciArIDcgKiBzcmNf
cGl0Y2gpKTsKLSAgICBzWzhdID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopKHNy
Y19wdHIgKyA4ICogc3JjX3BpdGNoKSk7Ci0KLSAgICAvLyByWzZdOiAgICAwIDAgMCAwIDAgMCAw
IDAgcjc3IHI3NiByNzUgcjc0IHI3MyByNzIgcjcxIHI3MCB8IDAgMCAwIDAgMCAwIDAKLSAgICAv
LyAwIHI2NyByNjYgcjY1IHI2NCByNjMgcjYyIHI2MSByNjAKLSAgICByWzZdID0gX21tMjU2X2lu
c2VydGkxMjhfc2kyNTYoX21tMjU2X2Nhc3RzaTEyOF9zaTI1NihzWzZdKSwgc1s3XSwgMSk7Ci0g
ICAgLy8gcls3XTogICAgMCAwIDAgMCAwIDAgMCAwIHI4NyByODYgcjg1IHI4NCByODMgcjgyIHI4
MSByODAgfCAwIDAgMCAwIDAgMCAwCi0gICAgLy8gMCByNzcgcjc2IHI3NSByNzQgcjczIHI3MiBy
NzEgcjcwCi0gICAgcls3XSA9IF9tbTI1Nl9pbnNlcnRpMTI4X3NpMjU2KF9tbTI1Nl9jYXN0c2kx
Mjhfc2kyNTYoc1s3XSksIHNbOF0sIDEpOwotCi0gICAgLy8gc3NbM10gOiB8IHI4NyByNzcgfCAu
Li4uLi4ufCByODEgcjcxIHwgcjgwIHI3MCB8fCByNzcgcjY3IHwgLi4uLi58IHI3MgotICAgIC8v
IHI2MiB8IHI3MSByNjF8cjcwIHI2MHwKLSAgICBzc1szXSA9IF9tbTI1Nl91bnBhY2tsb19lcGk4
KHJbNl0sIHJbN10pOwotICAgIHNzWzBdID0gY29udm9sdmU4XzE2X2F2eDIoc3MsIGYpOwotICAg
IHNzWzBdID0gX21tMjU2X3BhY2t1c19lcGkxNihzc1swXSwgc3NbMF0pOwotICAgIHNyY19wdHIg
Kz0gc3JjX3N0cmlkZTsKLQotICAgIC8qIHNoaWZ0IGRvd24gdHdvIHJvd3MgKi8KLSAgICBzWzZd
ID0gc1s4XTsKLSAgICBfbW1fc3RvcmVsX2VwaTY0KChfX20xMjhpICopJm91dHB1dF9wdHJbMF0s
IF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3NbMF0pKTsKLSAgICBvdXRwdXRfcHRyICs9IG91dF9w
aXRjaDsKLSAgICBfbW1fc3RvcmVsX2VwaTY0KChfX20xMjhpICopJm91dHB1dF9wdHJbMF0sCi0g
ICAgICAgICAgICAgICAgICAgICBfbW0yNTZfZXh0cmFjdGYxMjhfc2kyNTYoc3NbMF0sIDEpKTsK
LSAgICBvdXRwdXRfcHRyICs9IG91dF9waXRjaDsKLSAgICBzc1swXSA9IHNzWzFdOwotICAgIHNz
WzFdID0gc3NbMl07Ci0gICAgc3NbMl0gPSBzc1szXTsKLSAgICB5IC09IDI7Ci0gIH0gd2hpbGUg
KHkgPiAxKTsKLX0KLQotc3RhdGljIHZvaWQgdnB4X2ZpbHRlcl9ibG9jazFkNF9oOF9hdngyKAot
ICAgIGNvbnN0IHVpbnQ4X3QgKnNyY19wdHIsIHB0cmRpZmZfdCBzcmNfcGl0Y2gsIHVpbnQ4X3Qg
Km91dHB1dF9wdHIsCi0gICAgcHRyZGlmZl90IG91dHB1dF9waXRjaCwgdWludDMyX3Qgb3V0cHV0
X2hlaWdodCwgY29uc3QgaW50MTZfdCAqZmlsdGVyKSB7Ci0gIF9fbTEyOGkgZmlsdGVyc1JlZzsK
LSAgX19tMjU2aSBhZGRGaWx0ZXJSZWc2NF8yNTZiaXQ7Ci0gIHVuc2lnbmVkIGludCB5ID0gb3V0
cHV0X2hlaWdodDsKLQotICBhc3NlcnQob3V0cHV0X2hlaWdodCA+IDEpOwotCi0gIGFkZEZpbHRl
clJlZzY0XzI1NmJpdCA9IF9tbTI1Nl9zZXQxX2VwaTE2KDMyKTsKLQotICAvLyBmNyBmNiBmNSBm
NCBmMyBmMiBmMSBmMCAoMTYgYml0KQotICBmaWx0ZXJzUmVnID0gX21tX2xvYWR1X3NpMTI4KChj
b25zdCBfX20xMjhpICopZmlsdGVyKTsKLQotICAvLyBjb252ZXJ0aW5nIHRoZSAxNiBiaXQgKHNo
b3J0KSB0byA4IGJpdCAoYnl0ZSkgYW5kIGhhdmUgdGhlIHNhbWUgZGF0YQotICAvLyBpbiBib3Ro
IGxhbmVzIG9mIDEyOCBiaXQgcmVnaXN0ZXIuCi0gIC8vIGY3IGY2IGY1IGY0IGYzIGYyIGYxIGYw
IHx8IGY3IGY2IGY1IGY0IGYzIGYyIGYxIGYwICg4IGJpdCBlYWNoKQotICBmaWx0ZXJzUmVnID0g
X21tX3BhY2tzX2VwaTE2KGZpbHRlcnNSZWcsIGZpbHRlcnNSZWcpOwotCi0gIHsKLSAgICBwdHJk
aWZmX3Qgc3JjX3N0cmlkZTsKLSAgICBfX20yNTZpIGZpbHQxUmVnLCBmaWx0MlJlZywgZmlyc3RG
aWx0ZXJzLCBzZWNvbmRGaWx0ZXJzOwotICAgIC8vIGhhdmUgdGhlIHNhbWUgZGF0YSBpbiBib3Ro
IGxhbmVzIG9mIGEgMjU2IGJpdCByZWdpc3RlcgotICAgIC8vIGY3IGY2IGY1IGY0IGYzIGYyIGYx
IGYwIGY3IGY2IGY1IGY0IGYzIGYyIGYxIGYwIHwgZjcgZjYgZjUgZjQgZjMgZjIgZjEgZjAKLSAg
ICAvLyBmNyBmNiBmNSBmNCBmMyBmMiBmMSBmMCAoOGJpdCBlYWNoKQotICAgIGNvbnN0IF9fbTI1
NmkgZmlsdGVyc1JlZzMyID0gX21tMjU2X2Jyb2FkY2FzdHNpMTI4X3NpMjU2KGZpbHRlcnNSZWcp
OwotCi0gICAgLy8gZHVwbGljYXRlIG9ubHkgdGhlIGZpcnN0IDMyIGJpdHMKLSAgICAvLyBmMyBm
MiBmMSBmMHxmMyBmMiBmMSBmMHxmMyBmMiBmMSBmMHxmMyBmMiBmMSBmMCB8IGYzIGYyIGYxIGYw
fGYzIGYyIGYxCi0gICAgLy8gZjB8ZjMgZjIgZjEgZjB8ZjMgZjIgZjEgZjAKLSAgICBmaXJzdEZp
bHRlcnMgPSBfbW0yNTZfc2h1ZmZsZV9lcGkzMihmaWx0ZXJzUmVnMzIsIDApOwotICAgIC8vIGR1
cGxpY2F0ZSBvbmx5IHRoZSBzZWNvbmQgMzIgYml0cwotICAgIC8vIGY3IGY2IGY1IGY0fGY3IGY2
IGY1IGY0fGY3IGY2IGY1IGY0fGY3IGY2IGY1IGY0IHwgZjcgZjYgZjUgZjR8ZjcgZjYgZjUKLSAg
ICAvLyBmNHxmNyBmNiBmNSBmNHxmNyBmNiBmNSBmNAotICAgIHNlY29uZEZpbHRlcnMgPSBfbW0y
NTZfc2h1ZmZsZV9lcGkzMihmaWx0ZXJzUmVnMzIsIDB4NTUpOwotCi0gICAgLy8gczYgczUgczQg
czMgczUgczQgczMgczIgczQgczMgczIgczEgczMgczIgczEgczAgfCBzNiBzNSBzNCBzMyBzNSBz
NCBzMwotICAgIC8vIHMyIHM0IHMzIHMyIHMxIHMzIHMyIHMxIHMwCi0gICAgZmlsdDFSZWcgPSBf
bW0yNTZfbG9hZF9zaTI1NigoX19tMjU2aSBjb25zdCAqKWZpbHRfZDRfZ2xvYmFsX2F2eDIpOwot
Ci0gICAgLy8gczEwIHM5IHM4IHM3IHM5IHM4IHM3IHM2IHM4IHM3IHM2IHM1IHM3IHM2IHM1IHM0
IHwgczEwIHM5IHM4IHM3IHM5IHM4IHM3Ci0gICAgLy8gczYgczggczcgczYgczUgczcgczYgczUg
czQKLSAgICBmaWx0MlJlZyA9IF9tbTI1Nl9sb2FkX3NpMjU2KChfX20yNTZpIGNvbnN0ICopKGZp
bHRfZDRfZ2xvYmFsX2F2eDIgKyAzMikpOwotCi0gICAgLy8gbXVsdGlwbGUgdGhlIHNpemUgb2Yg
dGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gc3RyaWRlIGJ5IHR3bwotICAgIHNyY19zdHJpZGUg
PSBzcmNfcGl0Y2ggPDwgMTsKLQotICAgIGRvIHsKLSAgICAgIF9fbTI1Nmkgc3JjUmVnRmlsdDMy
YjFfMSwgc3JjUmVnRmlsdDMyYjIsIHNyY1JlZzMyYjE7Ci0gICAgICAvLyBsb2FkIHRoZSAyIHN0
cmlkZXMgb2Ygc291cmNlCi0gICAgICAvLyByMTE1IHIxMTQgLi4uLi4uIHIxNSByMTQgcjEzIHIx
MiByMTEgcjEwIHwgcjAxNSByMDE0IHIwMTMgLi4uLi4uIHIwNwotICAgICAgLy8gcjA2IHIwNSBy
MDQgcjAzIHIwMiByMDEgcjAwCi0gICAgICBzcmNSZWczMmIxID0gbW0yNTZfbG9hZHUyX3NpMTI4
KHNyY19wdHIgLSAzLCBzcmNfcHRyIC0gMyArIHNyY19waXRjaCk7Ci0KLSAgICAgIC8vIGZpbHRl
ciB0aGUgc291cmNlIGJ1ZmZlcgotICAgICAgLy8gcjE2IHIxNSByMTQgcjEzIHIxNSByMTQgcjEz
IHIxMiByMTQgcjEzIHIxMiByMTEgcjEzIHIxMiByMTEgcjEwIHwgcjA2Ci0gICAgICAvLyByMDUg
cjA0IHIwMyByMDUgcjA0IHIwMyByMDIgcjA0IHIwMyByMDIgcjAxIHIwMyByMDIgcjAxIHIwMAot
ICAgICAgc3JjUmVnRmlsdDMyYjFfMSA9IF9tbTI1Nl9zaHVmZmxlX2VwaTgoc3JjUmVnMzJiMSwg
ZmlsdDFSZWcpOwotCi0gICAgICAvLyBtdWx0aXBseSA0IGFkamFjZW50IGVsZW1lbnRzIHdpdGgg
dGhlIGZpbHRlciBhbmQgYWRkIHRoZSByZXN1bHQKLSAgICAgIC8vIC4uLnxmMypyMTQrZjIqcjEz
fGYxKnIxMytmMCpyMTJ8ZjMqcjEzK2YyKnIxMnxmMSpyMTErZjAqcjEwfHwuLi4KLSAgICAgIC8v
IHxmMSpyMDMrZjAqcjAyfGYzKnIwNCtmMipyMDN8ZjEqcjAyK2YwKnIwMXxmMypyMDMrZjIqcjAy
fGYxKnIwMStmMCpyMDAKLSAgICAgIHNyY1JlZ0ZpbHQzMmIxXzEgPSBfbW0yNTZfbWFkZHVic19l
cGkxNihzcmNSZWdGaWx0MzJiMV8xLCBmaXJzdEZpbHRlcnMpOwotCi0gICAgICAvLyBmaWx0ZXIg
dGhlIHNvdXJjZSBidWZmZXIKLSAgICAgIC8vIHIxMTAgcjE5IHIxOCByMTd8cjE5IHIxOCByMTcg
cjE2fHIxOCByMTcgcjE2IHIxNXxyMTcgcjE2IHIxNSByMTR8fHIwMTAKLSAgICAgIC8vIHIwOSBy
MDggcjA3fHIwOSByMDggcjA3IHIwNnxyMDggcjA3IHIwNiByMDV8cjA3IHIwNiByMDUgcjA0Ci0g
ICAgICBzcmNSZWdGaWx0MzJiMiA9IF9tbTI1Nl9zaHVmZmxlX2VwaTgoc3JjUmVnMzJiMSwgZmls
dDJSZWcpOwotCi0gICAgICAvLyBtdWx0aXBseSA0IGFkamFjZW50IGVsZW1lbnRzIHdpdGggdGhl
IGZpbHRlciBhbmQgYWRkIHRoZSByZXN1bHQKLSAgICAgIC8vIHIwMTAgcjA5IHIwOCByMDd8cjkg
cjA4IHIwNyByMDZ8cjA4IHIwNyByMDYgcjA1fHIwNyByMDYgcjA1IHIwNHx8cjAxMAotICAgICAg
Ly8gcjA5IHIwOCByMDd8cjkgcjA4IHIwNyByMDZ8cjA4IHIwNyByMDYgcjA1fHIwNyByMDYgcjA1
IHIwNAotICAgICAgc3JjUmVnRmlsdDMyYjIgPSBfbW0yNTZfbWFkZHVic19lcGkxNihzcmNSZWdG
aWx0MzJiMiwgc2Vjb25kRmlsdGVycyk7Ci0KLSAgICAgIHNyY1JlZ0ZpbHQzMmIxXzEgPQotICAg
ICAgICAgIF9tbTI1Nl9hZGRfZXBpMTYoc3JjUmVnRmlsdDMyYjFfMSwgYWRkRmlsdGVyUmVnNjRf
MjU2Yml0KTsKLSAgICAgIHNyY1JlZ0ZpbHQzMmIxXzEgPSBfbW0yNTZfYWRkc19lcGkxNihzcmNS
ZWdGaWx0MzJiMV8xLCBzcmNSZWdGaWx0MzJiMik7Ci0KLSAgICAgIHNyY1JlZ0ZpbHQzMmIxXzEg
PQotICAgICAgICAgIF9tbTI1Nl9oYWRkc19lcGkxNihzcmNSZWdGaWx0MzJiMV8xLCBfbW0yNTZf
c2V0emVyb19zaTI1NigpKTsKLQotICAgICAgLy8gMCAwIDAgMCBSMTMgUjEyIFIxMSBSMTAgfHwg
MCAwIDAgMCBSMDMgUjAyIFIwMSBSMDAgKDE2Yml0KQotICAgICAgc3JjUmVnRmlsdDMyYjFfMSA9
IF9tbTI1Nl9zcmFpX2VwaTE2KHNyY1JlZ0ZpbHQzMmIxXzEsIDcpOwotCi0gICAgICAvLyA4emVy
b3MgMCAwIDAgMCBSMTMgUjEyIFIxMSBSMTAgfHwgOHplcm9zIDAgMCAwIDAgUjAzIFIwMiBSMDEg
UjAwICg4Yml0KQotICAgICAgc3JjUmVnRmlsdDMyYjFfMSA9Ci0gICAgICAgICAgX21tMjU2X3Bh
Y2t1c19lcGkxNihzcmNSZWdGaWx0MzJiMV8xLCBfbW0yNTZfc2V0emVyb19zaTI1NigpKTsKLQot
ICAgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwotICAgICAgLy8gc2F2ZSBmaXJzdCByb3cgNCB2
YWx1ZXMKLSAgICAgICooKGludCAqKSZvdXRwdXRfcHRyWzBdKSA9Ci0gICAgICAgICAgX21tX2N2
dHNpMTI4X3NpMzIoX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChzcmNSZWdGaWx0MzJiMV8xKSk7Ci0g
ICAgICBvdXRwdXRfcHRyICs9IG91dHB1dF9waXRjaDsKLQotICAgICAgLy8gc2F2ZSBzZWNvbmQg
cm93IDQgdmFsdWVzCi0gICAgICAqKChpbnQgKikmb3V0cHV0X3B0clswXSkgPQotICAgICAgICAg
IF9tbV9jdnRzaTEyOF9zaTMyKF9tbTI1Nl9leHRyYWN0ZjEyOF9zaTI1NihzcmNSZWdGaWx0MzJi
MV8xLCAxKSk7Ci0gICAgICBvdXRwdXRfcHRyICs9IG91dHB1dF9waXRjaDsKLQotICAgICAgeSA9
IHkgLSAyOwotICAgIH0gd2hpbGUgKHkgPiAxKTsKLQotICAgIC8vIEZvciByZW1haW5pbmcgaGVp
Z2h0Ci0gICAgaWYgKHkgPiAwKSB7Ci0gICAgICBfX20xMjhpIHNyY1JlZzEsIHNyY1JlZ0ZpbHQx
XzEsIGFkZEZpbHRlclJlZzY0OwotICAgICAgX19tMTI4aSBzcmNSZWdGaWx0MjsKLQotICAgICAg
YWRkRmlsdGVyUmVnNjQgPSBfbW1fc2V0MV9lcGkzMigoaW50KTB4MDQwMDA0MHUpOwotCi0gICAg
ICBzcmNSZWcxID0gX21tX2xvYWR1X3NpMTI4KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgLSAz
KSk7Ci0KLSAgICAgIC8vIGZpbHRlciB0aGUgc291cmNlIGJ1ZmZlcgotICAgICAgc3JjUmVnRmls
dDFfMSA9Ci0gICAgICAgICAgX21tX3NodWZmbGVfZXBpOChzcmNSZWcxLCBfbW0yNTZfY2FzdHNp
MjU2X3NpMTI4KGZpbHQxUmVnKSk7Ci0KLSAgICAgIC8vIG11bHRpcGx5IDQgYWRqYWNlbnQgZWxl
bWVudHMgd2l0aCB0aGUgZmlsdGVyIGFuZCBhZGQgdGhlIHJlc3VsdAotICAgICAgc3JjUmVnRmls
dDFfMSA9IF9tbV9tYWRkdWJzX2VwaTE2KHNyY1JlZ0ZpbHQxXzEsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChmaXJzdEZpbHRl
cnMpKTsKLQotICAgICAgLy8gZmlsdGVyIHRoZSBzb3VyY2UgYnVmZmVyCi0gICAgICBzcmNSZWdG
aWx0MiA9IF9tbV9zaHVmZmxlX2VwaTgoc3JjUmVnMSwgX21tMjU2X2Nhc3RzaTI1Nl9zaTEyOChm
aWx0MlJlZykpOwotCi0gICAgICAvLyBtdWx0aXBseSA0IGFkamFjZW50IGVsZW1lbnRzIHdpdGgg
dGhlIGZpbHRlciBhbmQgYWRkIHRoZSByZXN1bHQKLSAgICAgIHNyY1JlZ0ZpbHQyID0KLSAgICAg
ICAgICBfbW1fbWFkZHVic19lcGkxNihzcmNSZWdGaWx0MiwgX21tMjU2X2Nhc3RzaTI1Nl9zaTEy
OChzZWNvbmRGaWx0ZXJzKSk7Ci0KLSAgICAgIHNyY1JlZ0ZpbHQxXzEgPSBfbW1fYWRkc19lcGkx
NihzcmNSZWdGaWx0MV8xLCBzcmNSZWdGaWx0Mik7Ci0gICAgICBzcmNSZWdGaWx0MV8xID0gX21t
X2hhZGRzX2VwaTE2KHNyY1JlZ0ZpbHQxXzEsIF9tbV9zZXR6ZXJvX3NpMTI4KCkpOwotICAgICAg
Ly8gc2hpZnQgYnkgNiBiaXQgZWFjaCAxNiBiaXQKLSAgICAgIHNyY1JlZ0ZpbHQxXzEgPSBfbW1f
YWRkc19lcGkxNihzcmNSZWdGaWx0MV8xLCBhZGRGaWx0ZXJSZWc2NCk7Ci0gICAgICBzcmNSZWdG
aWx0MV8xID0gX21tX3NyYWlfZXBpMTYoc3JjUmVnRmlsdDFfMSwgNyk7Ci0KLSAgICAgIC8vIHNo
cmluayB0byA4IGJpdCBlYWNoIDE2IGJpdHMsIHRoZSBmaXJzdCBsYW5lIGNvbnRhaW4gdGhlIGZp
cnN0Ci0gICAgICAvLyBjb252b2x2ZSByZXN1bHQgYW5kIHRoZSBzZWNvbmQgbGFuZSBjb250YWlu
IHRoZSBzZWNvbmQgY29udm9sdmUgcmVzdWx0Ci0gICAgICBzcmNSZWdGaWx0MV8xID0gX21tX3Bh
Y2t1c19lcGkxNihzcmNSZWdGaWx0MV8xLCBfbW1fc2V0emVyb19zaTEyOCgpKTsKLQotICAgICAg
Ly8gc2F2ZSA0IGJ5dGVzCi0gICAgICAqKChpbnQgKikob3V0cHV0X3B0cikpID0gX21tX2N2dHNp
MTI4X3NpMzIoc3JjUmVnRmlsdDFfMSk7Ci0gICAgfQotICB9Ci19Ci0KLXN0YXRpYyB2b2lkIHZw
eF9maWx0ZXJfYmxvY2sxZDRfdjhfYXZ4MigKLSAgICBjb25zdCB1aW50OF90ICpzcmNfcHRyLCBw
dHJkaWZmX3Qgc3JjX3BpdGNoLCB1aW50OF90ICpvdXRwdXRfcHRyLAotICAgIHB0cmRpZmZfdCBv
dXRfcGl0Y2gsIHVpbnQzMl90IG91dHB1dF9oZWlnaHQsIGNvbnN0IGludDE2X3QgKmZpbHRlcikg
ewotICBfX20yNTZpIGZbNF0sIHNzWzRdOwotICBfX20yNTZpIHJbOV0sIHJyWzJdOwotICBfX20x
MjhpIHNbMTFdOwotCi0gIHVuc2lnbmVkIGludCB5ID0gb3V0cHV0X2hlaWdodDsKLSAgLy8gTXVs
dGlwbHkgdGhlIHNpemUgb2YgdGhlIHNvdXJjZSBzdHJpZGUgYnkgZm91cgotICBjb25zdCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSA9IHNyY19waXRjaCA8PCAyOwotICBjb25zdCBwdHJkaWZmX3Qgb3V0
X3N0cmlkZSA9IG91dF9waXRjaCA8PCAyOwotCi0gIC8vIFRoZSBvdXRwdXRfaGVpZ2h0IGlzIGFs
d2F5cyBhIG11bHRpcGxlIG9mIHR3by4KLSAgYXNzZXJ0KCEob3V0cHV0X2hlaWdodCAmIDB4MDEp
KTsKLQotICBzaHVmZmxlX2ZpbHRlcl9hdngyKGZpbHRlciwgZik7Ci0KLSAgc1swXSA9IF9tbV9s
b2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsgMCAqIHNyY19waXRjaCkpOwot
ICBzWzFdID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgKyAxICog
c3JjX3BpdGNoKSk7Ci0gIHNbMl0gPSBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKiko
c3JjX3B0ciArIDIgKiBzcmNfcGl0Y2gpKTsKLSAgc1szXSA9IF9tbV9sb2FkbF9lcGk2NCgoY29u
c3QgX19tMTI4aSAqKShzcmNfcHRyICsgMyAqIHNyY19waXRjaCkpOwotICBzWzRdID0gX21tX2xv
YWRsX2VwaTY0KChjb25zdCBfX20xMjhpICopKHNyY19wdHIgKyA0ICogc3JjX3BpdGNoKSk7Ci0g
IHNbNV0gPSBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKikoc3JjX3B0ciArIDUgKiBz
cmNfcGl0Y2gpKTsKLSAgc1s2XSA9IF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKShz
cmNfcHRyICsgNiAqIHNyY19waXRjaCkpOwotCi0gIHJbMF0gPSBfbW0yNTZfaW5zZXJ0aTEyOF9z
aTI1NihfbW0yNTZfY2FzdHNpMTI4X3NpMjU2KHNbMF0pLCBzWzJdLCAxKTsKLSAgclsxXSA9IF9t
bTI1Nl9pbnNlcnRpMTI4X3NpMjU2KF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoc1sxXSksIHNbM10s
IDEpOwotICByWzJdID0gX21tMjU2X2luc2VydGkxMjhfc2kyNTYoX21tMjU2X2Nhc3RzaTEyOF9z
aTI1NihzWzJdKSwgc1s0XSwgMSk7Ci0gIHJbM10gPSBfbW0yNTZfaW5zZXJ0aTEyOF9zaTI1Nihf
bW0yNTZfY2FzdHNpMTI4X3NpMjU2KHNbM10pLCBzWzVdLCAxKTsKLSAgcls0XSA9IF9tbTI1Nl9p
bnNlcnRpMTI4X3NpMjU2KF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoc1s0XSksIHNbNl0sIDEpOwot
Ci0gIC8vIHIzNy4uLi4ucjI0Li5yMzMuLnIzMSByMzAgcjIzIHIyMiByMjEgcjIwfHIxNy4uLi5y
MTQgcjA3Li5yMDUgcjA0IHIxMyByMTIKLSAgLy8gcjExIHIxMCByMDMgcjAyIHIwMSByMDAKLSAg
cnJbMF0gPSBfbW0yNTZfdW5wYWNrbG9fZXBpMzIoclswXSwgclsxXSk7Ci0KLSAgLy8gcjQ3Li4u
Li5yMzQuLnI0My4ucjQxIHI0MCByMzMgcjMyIHIzMSByMzB8cjI3Li4uLnIyNCByMTcuLnIxNSBy
MTQgcjIzIHIyMgotICAvLyByMjEgcjIwIHIxMyByMTIgcjExIHIxMAotICByclsxXSA9IF9tbTI1
Nl91bnBhY2tsb19lcGkzMihyWzFdLCByWzJdKTsKLQotICAvLyByNDMgcjMzLi4uLnI0MCByMzB8
cjMzIHIyMy4uLi5yMzAgcjIwfHxyMjMgcjEzLi4uLnIyMCByMTB8cjEzIHIwMy4uLi5yMTAKLSAg
Ly8gcjAwfAotICBzc1swXSA9IF9tbTI1Nl91bnBhY2tsb19lcGk4KHJyWzBdLCByclsxXSk7Ci0K
LSAgLy8gcjM3Li4uLi5yMjQuLnIzMy4ucjMxIHIzMCByMjMgcjIyIHIyMSByMjB8fHIxNy4uLi5y
MTQgcjA3Li5yMDUgcjA0IHIxMyByMTIKLSAgLy8gcjExIHIxMCByMDMgcjAyIHIwMSByMDAKLSAg
cnJbMF0gPSBfbW0yNTZfdW5wYWNrbG9fZXBpMzIoclsyXSwgclszXSk7Ci0KLSAgLy8gcjQ3Li4u
Li5yMzQuLnI0My4ucjQxIHI0MCByMzMgcjMyIHIzMSByMzB8cjI3Li4uLnIyNCByMTcuLnIxNSBy
MTQgcjIzIHIyMgotICAvLyByMjEgcjIwIHIxMyByMTIgcjExIHIxMAotICByclsxXSA9IF9tbTI1
Nl91bnBhY2tsb19lcGkzMihyWzNdLCByWzRdKTsKLQotICAvLyByNjMgcjUzLi4uLnI2MCByNTB8
cjUzIHI0My4uLi5yNTAgcjQwfHxyNDMgcjMzLi4uLnI0MCByMzB8cjMzIHIyMy4uLi5yMzAKLSAg
Ly8gcjIwfAotICBzc1sxXSA9IF9tbTI1Nl91bnBhY2tsb19lcGk4KHJyWzBdLCByclsxXSk7Ci0g
IC8vIFByb2Nlc3MgNCByb3dzIGF0IGEgdGltZQotICB3aGlsZSAoeSA+PSA0KSB7Ci0gICAgc1s3
XSA9IF9tbV9sb2FkbF9lcGk2NCgoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsgNyAqIHNyY19w
aXRjaCkpOwotICAgIHNbOF0gPSBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKikoc3Jj
X3B0ciArIDggKiBzcmNfcGl0Y2gpKTsKLSAgICBzWzldID0gX21tX2xvYWRsX2VwaTY0KChjb25z
dCBfX20xMjhpICopKHNyY19wdHIgKyA5ICogc3JjX3BpdGNoKSk7Ci0gICAgc1sxMF0gPSBfbW1f
bG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKikoc3JjX3B0ciArIDEwICogc3JjX3BpdGNoKSk7
Ci0KLSAgICByWzVdID0gX21tMjU2X2luc2VydGkxMjhfc2kyNTYoX21tMjU2X2Nhc3RzaTEyOF9z
aTI1NihzWzVdKSwgc1s3XSwgMSk7Ci0gICAgcls2XSA9IF9tbTI1Nl9pbnNlcnRpMTI4X3NpMjU2
KF9tbTI1Nl9jYXN0c2kxMjhfc2kyNTYoc1s2XSksIHNbOF0sIDEpOwotICAgIHJyWzBdID0gX21t
MjU2X3VucGFja2xvX2VwaTMyKHJbNF0sIHJbNV0pOwotICAgIHJyWzFdID0gX21tMjU2X3VucGFj
a2xvX2VwaTMyKHJbNV0sIHJbNl0pOwotICAgIHNzWzJdID0gX21tMjU2X3VucGFja2xvX2VwaTgo
cnJbMF0sIHJyWzFdKTsKLQotICAgIHJbN10gPSBfbW0yNTZfaW5zZXJ0aTEyOF9zaTI1NihfbW0y
NTZfY2FzdHNpMTI4X3NpMjU2KHNbN10pLCBzWzldLCAxKTsKLSAgICByWzhdID0gX21tMjU2X2lu
c2VydGkxMjhfc2kyNTYoX21tMjU2X2Nhc3RzaTEyOF9zaTI1NihzWzhdKSwgc1sxMF0sIDEpOwot
ICAgIHJyWzBdID0gX21tMjU2X3VucGFja2xvX2VwaTMyKHJbNl0sIHJbN10pOwotICAgIHJyWzFd
ID0gX21tMjU2X3VucGFja2xvX2VwaTMyKHJbN10sIHJbOF0pOwotICAgIHNzWzNdID0gX21tMjU2
X3VucGFja2xvX2VwaTgocnJbMF0sIHJyWzFdKTsKLQotICAgIHNzWzBdID0gY29udm9sdmU4XzE2
X2F2eDIoc3MsIGYpOwotCi0gICAgLy8gcjMgcjIgcjMgcjIgcjEgcjAgcjEgcjAKLSAgICBzc1sw
XSA9IF9tbTI1Nl9wYWNrdXNfZXBpMTYoc3NbMF0sIHNzWzBdKTsKLSAgICBzcmNfcHRyICs9IHNy
Y19zdHJpZGU7Ci0KLSAgICBtbTI1Nl9zdG9yZXUyX2VwaTMyKChfX20xMjhpICpjb25zdClvdXRw
dXRfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgKF9fbTEyOGkgKmNvbnN0KShvdXRwdXRf
cHRyICsgKDIgKiBvdXRfcGl0Y2gpKSwgc3MpOwotCi0gICAgc3NbMF0gPSBfbW0yNTZfc3JsaV9z
aTI1Nihzc1swXSwgNCk7Ci0KLSAgICBtbTI1Nl9zdG9yZXUyX2VwaTMyKChfX20xMjhpICpjb25z
dCkob3V0cHV0X3B0ciArICgxICogb3V0X3BpdGNoKSksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAoX19tMTI4aSAqY29uc3QpKG91dHB1dF9wdHIgKyAoMyAqIG91dF9waXRjaCkpLCBzcyk7Ci0K
LSAgICBvdXRwdXRfcHRyICs9IG91dF9zdHJpZGU7Ci0KLSAgICBzc1swXSA9IHNzWzJdOwotICAg
IHNzWzFdID0gc3NbM107Ci0KLSAgICBzWzZdID0gc1sxMF07Ci0gICAgc1s1XSA9IHNbOV07Ci0K
LSAgICByWzRdID0gcls4XTsKLSAgICB5IC09IDQ7Ci0gIH0KLQotICAvLyBQcm9jZXNzIDIgcm93
cwotICBpZiAoeSA9PSAyKSB7Ci0gICAgX19tMTI4aSBzczFbNF0sIGYxWzRdLCByMVs0XTsKLQot
ICAgIHNbNF0gPSBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IF9fbTEyOGkgKikoc3JjX3B0ciArIDQg
KiBzcmNfcGl0Y2gpKTsKLSAgICBzWzddID0gX21tX2xvYWRsX2VwaTY0KChjb25zdCBfX20xMjhp
ICopKHNyY19wdHIgKyA3ICogc3JjX3BpdGNoKSk7Ci0gICAgc1s4XSA9IF9tbV9sb2FkbF9lcGk2
NCgoY29uc3QgX19tMTI4aSAqKShzcmNfcHRyICsgOCAqIHNyY19waXRjaCkpOwotCi0gICAgZjFb
MF0gPSBfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KGZbMF0pOwotICAgIGYxWzFdID0gX21tMjU2X2Nh
c3RzaTI1Nl9zaTEyOChmWzFdKTsKLSAgICBmMVsyXSA9IF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgo
ZlsyXSk7Ci0gICAgZjFbM10gPSBfbW0yNTZfY2FzdHNpMjU2X3NpMTI4KGZbM10pOwotCi0gICAg
cjFbMF0gPSBfbW1fdW5wYWNrbG9fZXBpMzIoc1s0XSwgc1s1XSk7Ci0gICAgcjFbMV0gPSBfbW1f
dW5wYWNrbG9fZXBpMzIoc1s1XSwgc1s2XSk7Ci0KLSAgICAvLyBSNy02IHh4eHggLi4gLiAuIHh8
IHI3MyByNzIgcjcxIHI3MCByNjMgcjYyIHI2MSByNjAKLSAgICByMVsyXSA9IF9tbV91bnBhY2ts
b19lcGkzMihzWzZdLCBzWzddKTsKLQotICAgIC8vIFI4LTcgeHh4eCAuLiAuIC4geHwgcjgzIHI4
MiByODEgcjgwIHI3MyByNzIgcjcxIHI3MAotICAgIHIxWzNdID0gX21tX3VucGFja2xvX2VwaTMy
KHNbN10sIHNbOF0pOwotCi0gICAgLy8gcjIzIHIxMy4uLi5yMjAgcjEwfHIxMyByMDMuLi4ucjEw
IHIwMAotICAgIHNzMVswXSA9IF9tbTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3NbMF0pOwotCi0gICAg
Ly8gcjQzIHIzMy4uLi5yNDAgcjMwfHIzMyByMjMuLi4ucjMwIHIyMAotICAgIHNzMVsxXSA9IF9t
bTI1Nl9jYXN0c2kyNTZfc2kxMjgoc3NbMV0pOwotCi0gICAgLy8gcjYzIHI1My4uLi5yNjAgcjUw
fHI1MyByNDMuLi4ucjUwIHI0MAotICAgIHNzMVsyXSA9IF9tbV91bnBhY2tsb19lcGk4KHIxWzBd
LCByMVsxXSk7Ci0KLSAgICAvLyByODMgcjczLi4uLnI4MCByNzB8cjczIHI2My4uLi5yNzAgcjYw
Ci0gICAgc3MxWzNdID0gX21tX3VucGFja2xvX2VwaTgocjFbMl0sIHIxWzNdKTsKLQotICAgIHNz
MVswXSA9IGNvbnZvbHZlOF84X3Nzc2UzKHNzMSwgZjEpOwotCi0gICAgLy8gcjEgcjAgcjEgcjAK
LSAgICBzczFbMF0gPSBfbW1fcGFja3VzX2VwaTE2KHNzMVswXSwgc3MxWzBdKTsKLQotICAgIC8v
IFNhdmUgZmlyc3Qgcm93IDQgdmFsdWVzCi0gICAgKigoaW50ICopJm91dHB1dF9wdHJbMF0pID0g
X21tX2N2dHNpMTI4X3NpMzIoc3MxWzBdKTsKLSAgICBvdXRwdXRfcHRyICs9IG91dF9waXRjaDsK
LQotICAgIHNzMVswXSA9IF9tbV9zcmxpX3NpMTI4KHNzMVswXSwgNCk7Ci0gICAgLy8gU2F2ZSBz
ZWNvbmQgcm93IDQgdmFsdWVzCi0gICAgKigoaW50ICopJm91dHB1dF9wdHJbMF0pID0gX21tX2N2
dHNpMTI4X3NpMzIoc3MxWzBdKTsKLSAgfQotfQotCiAjaWYgSEFWRV9BVlgyICYmIEhBVkVfU1NT
RTMKK2ZpbHRlcjhfMWRmdW5jdGlvbiB2cHhfZmlsdGVyX2Jsb2NrMWQ0X3Y4X3Nzc2UzOwogI2lm
IFZQWF9BUkNIX1g4Nl82NAogZmlsdGVyOF8xZGZ1bmN0aW9uIHZweF9maWx0ZXJfYmxvY2sxZDhf
djhfaW50cmluX3Nzc2UzOwogZmlsdGVyOF8xZGZ1bmN0aW9uIHZweF9maWx0ZXJfYmxvY2sxZDhf
aDhfaW50cmluX3Nzc2UzOwogZmlsdGVyOF8xZGZ1bmN0aW9uIHZweF9maWx0ZXJfYmxvY2sxZDRf
aDhfaW50cmluX3Nzc2UzOwotI2Vsc2UgICAvLyBWUFhfQVJDSF9YODYKKyNkZWZpbmUgdnB4X2Zp
bHRlcl9ibG9jazFkOF92OF9hdngyIHZweF9maWx0ZXJfYmxvY2sxZDhfdjhfaW50cmluX3Nzc2Uz
CisjZGVmaW5lIHZweF9maWx0ZXJfYmxvY2sxZDhfaDhfYXZ4MiB2cHhfZmlsdGVyX2Jsb2NrMWQ4
X2g4X2ludHJpbl9zc3NlMworI2RlZmluZSB2cHhfZmlsdGVyX2Jsb2NrMWQ0X2g4X2F2eDIgdnB4
X2ZpbHRlcl9ibG9jazFkNF9oOF9pbnRyaW5fc3NzZTMKKyNlbHNlICAvLyBWUFhfQVJDSF9YODYK
IGZpbHRlcjhfMWRmdW5jdGlvbiB2cHhfZmlsdGVyX2Jsb2NrMWQ4X3Y4X3Nzc2UzOwogZmlsdGVy
OF8xZGZ1bmN0aW9uIHZweF9maWx0ZXJfYmxvY2sxZDhfaDhfc3NzZTM7CiBmaWx0ZXI4XzFkZnVu
Y3Rpb24gdnB4X2ZpbHRlcl9ibG9jazFkNF9oOF9zc3NlMzsKKyNkZWZpbmUgdnB4X2ZpbHRlcl9i
bG9jazFkOF92OF9hdngyIHZweF9maWx0ZXJfYmxvY2sxZDhfdjhfc3NzZTMKKyNkZWZpbmUgdnB4
X2ZpbHRlcl9ibG9jazFkOF9oOF9hdngyIHZweF9maWx0ZXJfYmxvY2sxZDhfaDhfc3NzZTMKKyNk
ZWZpbmUgdnB4X2ZpbHRlcl9ibG9jazFkNF9oOF9hdngyIHZweF9maWx0ZXJfYmxvY2sxZDRfaDhf
c3NzZTMKICNlbmRpZiAgLy8gVlBYX0FSQ0hfWDg2XzY0CiBmaWx0ZXI4XzFkZnVuY3Rpb24gdnB4
X2ZpbHRlcl9ibG9jazFkOF92OF9hdmdfc3NzZTM7CiBmaWx0ZXI4XzFkZnVuY3Rpb24gdnB4X2Zp
bHRlcl9ibG9jazFkOF9oOF9hdmdfc3NzZTM7CkBAIC0xMzA3LDYgKzkyMyw3IEBAIGZpbHRlcjhf
MWRmdW5jdGlvbiB2cHhfZmlsdGVyX2Jsb2NrMWQ4X3YyX3Nzc2UzOwogZmlsdGVyOF8xZGZ1bmN0
aW9uIHZweF9maWx0ZXJfYmxvY2sxZDhfaDJfc3NzZTM7CiBmaWx0ZXI4XzFkZnVuY3Rpb24gdnB4
X2ZpbHRlcl9ibG9jazFkNF92Ml9zc3NlMzsKIGZpbHRlcjhfMWRmdW5jdGlvbiB2cHhfZmlsdGVy
X2Jsb2NrMWQ0X2gyX3Nzc2UzOworI2RlZmluZSB2cHhfZmlsdGVyX2Jsb2NrMWQ0X3Y4X2F2eDIg
dnB4X2ZpbHRlcl9ibG9jazFkNF92OF9zc3NlMwogI2RlZmluZSB2cHhfZmlsdGVyX2Jsb2NrMWQx
Nl92Ml9hdngyIHZweF9maWx0ZXJfYmxvY2sxZDE2X3YyX3Nzc2UzCiAjZGVmaW5lIHZweF9maWx0
ZXJfYmxvY2sxZDE2X2gyX2F2eDIgdnB4X2ZpbHRlcl9ibG9jazFkMTZfaDJfc3NzZTMKICNkZWZp
bmUgdnB4X2ZpbHRlcl9ibG9jazFkOF92Ml9hdngyIHZweF9maWx0ZXJfYmxvY2sxZDhfdjJfc3Nz
ZTMKQEAgLTEzNTIsMTIgKzk2OSwxMiBAQCBmaWx0ZXI4XzFkZnVuY3Rpb24gdnB4X2ZpbHRlcl9i
bG9jazFkNF9oMl9hdmdfc3NzZTM7CiAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSW50ZXJwS2VybmVsICpmaWx0ZXIsIGludCB4MF9xNCwKIC8vICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHhfc3RlcF9xNCwgaW50IHkwX3E0LAogLy8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5X3N0ZXBfcTQsIGludCB3LCBp
bnQgaCk7Ci1GVU5fQ09OVl8xRChob3JpeiwgeDBfcTQsIHhfc3RlcF9xNCwgaCwgc3JjLCAsIGF2
eDIsIDApCitGVU5fQ09OVl8xRChob3JpeiwgeDBfcTQsIHhfc3RlcF9xNCwgaCwgc3JjLCAsIGF2
eDIsIDApOwogRlVOX0NPTlZfMUQodmVydCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwgc3JjIC0gc3Jj
X3N0cmlkZSAqIChudW1fdGFwcyAvIDIgLSAxKSwgLAotICAgICAgICAgICAgYXZ4MiwgMCkKLUZV
Tl9DT05WXzFEKGF2Z19ob3JpeiwgeDBfcTQsIHhfc3RlcF9xNCwgaCwgc3JjLCBhdmdfLCBhdngy
LCAxKQorICAgICAgICAgICAgYXZ4MiwgMCk7CitGVU5fQ09OVl8xRChhdmdfaG9yaXosIHgwX3E0
LCB4X3N0ZXBfcTQsIGgsIHNyYywgYXZnXywgYXZ4MiwgMSk7CiBGVU5fQ09OVl8xRChhdmdfdmVy
dCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwKLSAgICAgICAgICAgIHNyYyAtIHNyY19zdHJpZGUgKiAo
bnVtX3RhcHMgLyAyIC0gMSksIGF2Z18sIGF2eDIsIDEpCisgICAgICAgICAgICBzcmMgLSBzcmNf
c3RyaWRlICogKG51bV90YXBzIC8gMiAtIDEpLCBhdmdfLCBhdngyLCAxKTsKIAogLy8gdm9pZCB2
cHhfY29udm9sdmU4X2F2eDIoY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKIC8vICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBk
c3Rfc3RyaWRlLApAQCAtMTM2OSw2ICs5ODYsNiBAQCBGVU5fQ09OVl8xRChhdmdfdmVydCwgeTBf
cTQsIHlfc3RlcF9xNCwgdiwKIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
SW50ZXJwS2VybmVsICpmaWx0ZXIsIGludCB4MF9xNCwKIC8vICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50MzJfdCB4X3N0ZXBfcTQsIGludCB5MF9xNCwgaW50IHlfc3RlcF9xNCwKIC8v
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsIGludCBoKTsKLUZVTl9DT05WXzJE
KCwgYXZ4MiwgMCkKLUZVTl9DT05WXzJEKGF2Z18sIGF2eDIsIDEpCitGVU5fQ09OVl8yRCgsIGF2
eDIsIDApOworRlVOX0NPTlZfMkQoYXZnXywgYXZ4MiwgMSk7CiAjZW5kaWYgIC8vIEhBVkVfQVgy
ICYmIEhBVkVfU1NTRTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdnB4X3N1
YnBpeGVsXzh0X2ludHJpbl9zc3NlMy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3g4Ni92cHhfc3Vi
cGl4ZWxfOHRfaW50cmluX3Nzc2UzLmMKaW5kZXggNGVhMjc1MmQzOGE5Li43NzM1NWEyMDg1Yjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdnB4X3N1YnBpeGVsXzh0X2ludHJp
bl9zc3NlMy5jCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC94ODYvdnB4X3N1YnBpeGVsXzh0X2lu
dHJpbl9zc3NlMy5jCkBAIC01ODAsNyArNTgwLDcgQEAgc3RhdGljIHZvaWQgdnB4X2ZpbHRlcl9i
bG9jazFkNF9oNF9zc3NlMyhjb25zdCB1aW50OF90ICpzcmNfcHRyLAogCiAgICAgLy8gUGFjayB0
byA4LWJpdHMKICAgICBkc3RfZmlyc3QgPSBfbW1fcGFja3VzX2VwaTE2KGRzdF9maXJzdCwgX21t
X3NldHplcm9fc2kxMjgoKSk7Ci0gICAgKigoaW50ICopKGRzdF9wdHIpKSA9IF9tbV9jdnRzaTEy
OF9zaTMyKGRzdF9maXJzdCk7CisgICAgKigodWludDMyX3QgKikoZHN0X3B0cikpID0gX21tX2N2
dHNpMTI4X3NpMzIoZHN0X2ZpcnN0KTsKIAogICAgIHNyY19wdHIgKz0gc3JjX3N0cmlkZTsKICAg
ICBkc3RfcHRyICs9IGRzdF9zdHJpZGU7CkBAIC02NjYsOCArNjY2LDggQEAgc3RhdGljIHZvaWQg
dnB4X2ZpbHRlcl9ibG9jazFkNF92NF9zc3NlMyhjb25zdCB1aW50OF90ICpzcmNfcHRyLAogICAg
IHJlZ18xID0gX21tX3BhY2t1c19lcGkxNihyZWdfMSwgcmVnXzEpOwogCiAgICAgLy8gU2F2ZSB0
aGUgcmVzdWx0Ci0gICAgKigoaW50ICopKGRzdF9wdHIpKSA9IF9tbV9jdnRzaTEyOF9zaTMyKHJl
Z18wKTsKLSAgICAqKChpbnQgKikoZHN0X3B0ciArIGRzdF9zdHJpZGUpKSA9IF9tbV9jdnRzaTEy
OF9zaTMyKHJlZ18xKTsKKyAgICAqKCh1aW50MzJfdCAqKShkc3RfcHRyKSkgPSBfbW1fY3Z0c2kx
Mjhfc2kzMihyZWdfMCk7CisgICAgKigodWludDMyX3QgKikoZHN0X3B0ciArIGRzdF9zdHJpZGUp
KSA9IF9tbV9jdnRzaTEyOF9zaTMyKHJlZ18xKTsKIAogICAgIC8vIFVwZGF0ZSB0aGUgc291cmNl
IGJ5IHR3byByb3dzCiAgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlX3Vucm9sbGVkOwpAQCAtNzMx
LDEyICs3MzEsMTIgQEAgZmlsdGVyOF8xZGZ1bmN0aW9uIHZweF9maWx0ZXJfYmxvY2sxZDRfaDJf
YXZnX3Nzc2UzOwogLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IElu
dGVycEtlcm5lbCAqZmlsdGVyLCBpbnQgeDBfcTQsCiAvLyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MzJfdCB4X3N0ZXBfcTQsIGludCB5MF9xNCwKIC8vICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeV9zdGVwX3E0LCBpbnQgdywgaW50IGgpOwotRlVO
X0NPTlZfMUQoaG9yaXosIHgwX3E0LCB4X3N0ZXBfcTQsIGgsIHNyYywgLCBzc3NlMywgMCkKK0ZV
Tl9DT05WXzFEKGhvcml6LCB4MF9xNCwgeF9zdGVwX3E0LCBoLCBzcmMsICwgc3NzZTMsIDApOwog
RlVOX0NPTlZfMUQodmVydCwgeTBfcTQsIHlfc3RlcF9xNCwgdiwgc3JjIC0gc3JjX3N0cmlkZSAq
IChudW1fdGFwcyAvIDIgLSAxKSwgLAotICAgICAgICAgICAgc3NzZTMsIDApCi1GVU5fQ09OVl8x
RChhdmdfaG9yaXosIHgwX3E0LCB4X3N0ZXBfcTQsIGgsIHNyYywgYXZnXywgc3NzZTMsIDEpCisg
ICAgICAgICAgICBzc3NlMywgMCk7CitGVU5fQ09OVl8xRChhdmdfaG9yaXosIHgwX3E0LCB4X3N0
ZXBfcTQsIGgsIHNyYywgYXZnXywgc3NzZTMsIDEpOwogRlVOX0NPTlZfMUQoYXZnX3ZlcnQsIHkw
X3E0LCB5X3N0ZXBfcTQsIHYsCi0gICAgICAgICAgICBzcmMgLSBzcmNfc3RyaWRlICogKG51bV90
YXBzIC8gMiAtIDEpLCBhdmdfLCBzc3NlMywgMSkKKyAgICAgICAgICAgIHNyYyAtIHNyY19zdHJp
ZGUgKiAobnVtX3RhcHMgLyAyIC0gMSksIGF2Z18sIHNzc2UzLCAxKTsKIAogc3RhdGljIHZvaWQg
ZmlsdGVyX2hvcml6X3c4X3Nzc2UzKGNvbnN0IHVpbnQ4X3QgKmNvbnN0IHNyYywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAg
LTEwODMsNSArMTA4Myw1IEBAIHZvaWQgdnB4X3NjYWxlZF8yZF9zc3NlMyhjb25zdCB1aW50OF90
ICpzcmMsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCiAvLyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVycEtlcm5lbCAqZmlsdGVyLCBpbnQgeDBfcTQs
CiAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgeF9zdGVwX3E0LCBpbnQg
eTBfcTQsIGludCB5X3N0ZXBfcTQsCiAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3LCBpbnQgaCk7Ci1GVU5fQ09OVl8yRCgsIHNzc2UzLCAwKQotRlVOX0NPTlZfMkQoYXZnXywg
c3NzZTMsIDEpCitGVU5fQ09OVl8yRCgsIHNzc2UzLCAwKTsKK0ZVTl9DT05WXzJEKGF2Z18sIHNz
c2UzLCAxKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2FhcmNoMzJfY3B1ZGV0
ZWN0LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hYXJjaDMyX2NwdWRldGVjdC5jCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzlmNGZmOGVhOTMuLjAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweF9wb3J0cy9hYXJjaDMyX2NwdWRldGVjdC5jCisrKyAvZGV2L251bGwKQEAg
LTEsOTAgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMjMgVGhlIFdlYk0gcHJvamVj
dCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqICBVc2Ugb2YgdGhpcyBzb3Vy
Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAgdGhhdCBjYW4g
YmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0g
KiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50
IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5n
IHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGlu
IHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotLy8gRmVhdHVyZSBkZXRlY3Rpb24g
Y29kZSBmb3IgQXJtdjctQSAvIEFBcmNoMzIuCi0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIK
LSNpbmNsdWRlICJhcm1fY3B1ZGV0ZWN0LmgiCi0KLSNpZiAhQ09ORklHX1JVTlRJTUVfQ1BVX0RF
VEVDVAotCi1zdGF0aWMgaW50IGFybV9nZXRfY3B1X2NhcHModm9pZCkgewotICAvLyBUaGlzIGZ1
bmN0aW9uIHNob3VsZCBhY3R1YWxseSBiZSBhIG5vLW9wLiBUaGVyZSBpcyBubyB3YXkgdG8gYWRq
dXN0IGFueSBvZgotICAvLyB0aGVzZSBiZWNhdXNlIHRoZSBSVENEIHRhYmxlcyBkbyBub3QgZXhp
c3Q6IHRoZSBmdW5jdGlvbnMgYXJlIGNhbGxlZAotICAvLyBzdGF0aWNhbGx5LgotICBpbnQgZmxh
Z3MgPSAwOwotI2lmIEhBVkVfTkVPTgotICBmbGFncyB8PSBIQVNfTkVPTjsKLSNlbmRpZiAgLy8g
SEFWRV9ORU9OCi0gIHJldHVybiBmbGFnczsKLX0KLQotI2VsaWYgZGVmaW5lZChfTVNDX1ZFUikg
IC8vIGVuZCAhQ09ORklHX1JVTlRJTUVfQ1BVX0RFVEVDVAotCi1zdGF0aWMgaW50IGFybV9nZXRf
Y3B1X2NhcHModm9pZCkgewotICBpbnQgZmxhZ3MgPSAwOwotI2lmIEhBVkVfTkVPTiB8fCBIQVZF
X05FT05fQVNNCi0gIC8vIE1TVkMgaGFzIG5vIGlubGluZSBfX2FzbSBzdXBwb3J0IGZvciBBcm0s
IGJ1dCBpdCBkb2VzIGxldCB5b3UgX19lbWl0Ci0gIC8vIGluc3RydWN0aW9ucyB2aWEgdGhlaXIg
YXNzZW1ibGVkIGhleCBjb2RlLgotICAvLyBBbGwgb2YgdGhlc2UgaW5zdHJ1Y3Rpb25zIHNob3Vs
ZCBiZSBlc3NlbnRpYWxseSBub3BzLgotICBfX3RyeSB7Ci0gICAgLy8gVk9SUiBxMCxxMCxxMAot
ICAgIF9fZW1pdCgweEYyMjAwMTUwKTsKLSAgICBmbGFncyB8PSBIQVNfTkVPTjsKLSAgfSBfX2V4
Y2VwdCAoR2V0RXhjZXB0aW9uQ29kZSgpID09IEVYQ0VQVElPTl9JTExFR0FMX0lOU1RSVUNUSU9O
KSB7Ci0gICAgLy8gSWdub3JlIGV4Y2VwdGlvbi4KLSAgfQotI2VuZGlmICAvLyBIQVZFX05FT04g
fHwgSEFWRV9ORU9OX0FTTQotICByZXR1cm4gZmxhZ3M7Ci19Ci0KLSNlbGlmIGRlZmluZWQoQU5E
Uk9JRF9VU0VfQ1BVX0ZFQVRVUkVTX0xJQikKLQotc3RhdGljIGludCBhcm1fZ2V0X2NwdV9jYXBz
KHZvaWQpIHsKLSAgaW50IGZsYWdzID0gMDsKLSNpZiBIQVZFX05FT04gfHwgSEFWRV9ORU9OX0FT
TQotICB1aW50NjRfdCBmZWF0dXJlcyA9IGFuZHJvaWRfZ2V0Q3B1RmVhdHVyZXMoKTsKLSAgaWYg
KGZlYXR1cmVzICYgQU5EUk9JRF9DUFVfQVJNX0ZFQVRVUkVfTkVPTikgewotICAgIGZsYWdzIHw9
IEhBU19ORU9OOwotICB9Ci0jZW5kaWYgIC8vIEhBVkVfTkVPTiB8fCBIQVZFX05FT05fQVNNCi0g
IHJldHVybiBmbGFnczsKLX0KLQotI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pICAvLyBlbmQgZGVm
aW5lZChBT01fVVNFX0FORFJPSURfQ1BVX0ZFQVRVUkVTKQotCi0jaW5jbHVkZSA8c3lzL2F1eHYu
aD4KLQotLy8gRGVmaW5lIGh3Y2FwIHZhbHVlcyBvdXJzZWx2ZXM6IGJ1aWxkaW5nIHdpdGggYW4g
b2xkIGF1eHYgaGVhZGVyIHdoZXJlIHRoZXNlCi0vLyBod2NhcCB2YWx1ZXMgYXJlIG5vdCBkZWZp
bmVkIHNob3VsZCBub3QgcHJldmVudCBmZWF0dXJlcyBmcm9tIGJlaW5nIGVuYWJsZWQuCi0jZGVm
aW5lIFZQWF9BQVJDSDMyX0hXQ0FQX05FT04gKDEgPDwgMTIpCi0KLXN0YXRpYyBpbnQgYXJtX2dl
dF9jcHVfY2Fwcyh2b2lkKSB7Ci0gIGludCBmbGFncyA9IDA7Ci0gIHVuc2lnbmVkIGxvbmcgaHdj
YXAgPSBnZXRhdXh2YWwoQVRfSFdDQVApOwotI2lmIEhBVkVfTkVPTiB8fCBIQVZFX05FT05fQVNN
Ci0gIGlmIChod2NhcCAmIFZQWF9BQVJDSDMyX0hXQ0FQX05FT04pIHsKLSAgICBmbGFncyB8PSBI
QVNfTkVPTjsKLSAgfQotI2VuZGlmICAvLyBIQVZFX05FT04gfHwgSEFWRV9ORU9OX0FTTQotICBy
ZXR1cm4gZmxhZ3M7Ci19Ci0jZWxzZSAgIC8vIGVuZCBfX2xpbnV4X18KLSNlcnJvciBcCi0gICAg
IlJ1bnRpbWUgQ1BVIGRldGVjdGlvbiBzZWxlY3RlZCwgYnV0IG5vIENQVSBkZXRlY3Rpb24gbWV0
aG9kIGF2YWlsYWJsZSIgXAotImZvciB5b3VyIHBsYXRmb3JtLiBSZXJ1biBjb25maWd1cmUgd2l0
aCAtLWRpc2FibGUtcnVudGltZS1jcHUtZGV0ZWN0LiIKLSNlbmRpZgotCi1pbnQgYXJtX2NwdV9j
YXBzKHZvaWQpIHsKLSAgaW50IGZsYWdzID0gMDsKLSAgaWYgKGFybV9jcHVfZW52X2ZsYWdzKCZm
bGFncykpIHsKLSAgICByZXR1cm4gZmxhZ3M7Ci0gIH0KLSAgcmV0dXJuIGFybV9nZXRfY3B1X2Nh
cHMoKSAmIGFybV9jcHVfZW52X21hc2soKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4
X3BvcnRzL2FhcmNoNjRfY3B1ZGV0ZWN0LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hYXJjaDY0
X2NwdWRldGVjdC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjBlMjczNTQ1MzIu
LjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hYXJjaDY0X2NwdWRldGVj
dC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTc2ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChj
KSAyMDIzIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAq
Ci0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
bGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhl
IHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFs
IHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRF
TlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAgYmUgZm91bmQg
aW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gKi8K
LQotI2luY2x1ZGUgIi4vdnB4X2NvbmZpZy5oIgotI2luY2x1ZGUgImFybV9jcHVkZXRlY3QuaCIK
LQotI2lmIGRlZmluZWQoX19BUFBMRV9fKQotI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KLSNlbmRp
ZgotCi0jaWYgIUNPTkZJR19SVU5USU1FX0NQVV9ERVRFQ1QKLQotc3RhdGljIGludCBhcm1fZ2V0
X2NwdV9jYXBzKHZvaWQpIHsKLSAgLy8gVGhpcyBmdW5jdGlvbiBzaG91bGQgYWN0dWFsbHkgYmUg
YSBuby1vcC4gVGhlcmUgaXMgbm8gd2F5IHRvIGFkanVzdCBhbnkgb2YKLSAgLy8gdGhlc2UgYmVj
YXVzZSB0aGUgUlRDRCB0YWJsZXMgZG8gbm90IGV4aXN0OiB0aGUgZnVuY3Rpb25zIGFyZSBjYWxs
ZWQKLSAgLy8gc3RhdGljYWxseS4KLSAgaW50IGZsYWdzID0gMDsKLSNpZiBIQVZFX05FT04KLSAg
ZmxhZ3MgfD0gSEFTX05FT047Ci0jZW5kaWYgIC8vIEhBVkVfTkVPTgotICByZXR1cm4gZmxhZ3M7
Ci19Ci0KLSNlbGlmIGRlZmluZWQoX19BUFBMRV9fKSAgLy8gZW5kICFDT05GSUdfUlVOVElNRV9D
UFVfREVURUNUCi0KLS8vIHN5c2N0bGJ5bmFtZSgpIHBhcmFtZXRlciBkb2N1bWVudGF0aW9uIGZv
ciBpbnN0cnVjdGlvbiBzZXQgY2hhcmFjdGVyaXN0aWNzOgotLy8gaHR0cHM6Ly9kZXZlbG9wZXIu
YXBwbGUuY29tL2RvY3VtZW50YXRpb24va2VybmVsLzEzODc0NDYtc3lzY3RsYnluYW1lL2RldGVy
bWluaW5nX2luc3RydWN0aW9uX3NldF9jaGFyYWN0ZXJpc3RpY3MKLSNpZiBIQVZFX05FT05fRE9U
UFJPRCB8fCBIQVZFX05FT05fSThNTQotc3RhdGljIElOTElORSBpbnQ2NF90IGhhdmVfZmVhdHVy
ZShjb25zdCBjaGFyICpmZWF0dXJlKSB7Ci0gIGludDY0X3QgZmVhdHVyZV9wcmVzZW50ID0gMDsK
LSAgc2l6ZV90IHNpemUgPSBzaXplb2YoZmVhdHVyZV9wcmVzZW50KTsKLSAgaWYgKHN5c2N0bGJ5
bmFtZShmZWF0dXJlLCAmZmVhdHVyZV9wcmVzZW50LCAmc2l6ZSwgTlVMTCwgMCkgIT0gMCkgewot
ICAgIHJldHVybiAwOwotICB9Ci0gIHJldHVybiBmZWF0dXJlX3ByZXNlbnQ7Ci19Ci0jZW5kaWYK
LQotc3RhdGljIGludCBhcm1fZ2V0X2NwdV9jYXBzKHZvaWQpIHsKLSAgaW50IGZsYWdzID0gMDsK
LSNpZiBIQVZFX05FT04KLSAgZmxhZ3MgfD0gSEFTX05FT047Ci0jZW5kaWYgIC8vIEhBVkVfTkVP
TgotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChoYXZlX2ZlYXR1cmUoImh3Lm9wdGlvbmFs
LmFybS5GRUFUX0RvdFByb2QiKSkgewotICAgIGZsYWdzIHw9IEhBU19ORU9OX0RPVFBST0Q7Ci0g
IH0KLSNlbmRpZiAgLy8gSEFWRV9ORU9OX0RPVFBST0QKLSNpZiBIQVZFX05FT05fSThNTQotICBp
ZiAoaGF2ZV9mZWF0dXJlKCJody5vcHRpb25hbC5hcm0uRkVBVF9JOE1NIikpIHsKLSAgICBmbGFn
cyB8PSBIQVNfTkVPTl9JOE1NOwotICB9Ci0jZW5kaWYgIC8vIEhBVkVfTkVPTl9JOE1NCi0gIHJl
dHVybiBmbGFnczsKLX0KLQotI2VsaWYgZGVmaW5lZChfV0lOMzIpICAvLyBlbmQgX19BUFBMRV9f
Ci0KLXN0YXRpYyBpbnQgYXJtX2dldF9jcHVfY2Fwcyh2b2lkKSB7Ci0gIGludCBmbGFncyA9IDA7
Ci0vLyBJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50KCkgcGFyYW1ldGVyIGRvY3VtZW50YXRpb246
Ci0vLyBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvd2luZG93cy93aW4zMi9hcGkv
cHJvY2Vzc3RocmVhZHNhcGkvbmYtcHJvY2Vzc3RocmVhZHNhcGktaXNwcm9jZXNzb3JmZWF0dXJl
cHJlc2VudCNwYXJhbWV0ZXJzCi0jaWYgSEFWRV9ORU9OCi0gIGZsYWdzIHw9IEhBU19ORU9OOyAg
Ly8gTmVvbiBpcyBtYW5kYXRvcnkgaW4gQXJtdjguMC1BLgotI2VuZGlmICAvLyBIQVZFX05FT04K
LSNpZiBIQVZFX05FT05fRE9UUFJPRAotLy8gU3VwcG9ydCBmb3IgUEZfQVJNX1Y4Ml9EUF9JTlNU
UlVDVElPTlNfQVZBSUxBQkxFIHdhcyBhZGRlZCBpbiBXaW5kb3dzIFNESwotLy8gMjAzNDgsIHN1
cHBvcnRlZCBieSBXaW5kb3dzIDExIGFuZCBXaW5kb3dzIFNlcnZlciAyMDIyLgotI2lmIGRlZmlu
ZWQoUEZfQVJNX1Y4Ml9EUF9JTlNUUlVDVElPTlNfQVZBSUxBQkxFKQotICBpZiAoSXNQcm9jZXNz
b3JGZWF0dXJlUHJlc2VudChQRl9BUk1fVjgyX0RQX0lOU1RSVUNUSU9OU19BVkFJTEFCTEUpKSB7
Ci0gICAgZmxhZ3MgfD0gSEFTX05FT05fRE9UUFJPRDsKLSAgfQotI2VuZGlmICAvLyBkZWZpbmVk
KFBGX0FSTV9WODJfRFBfSU5TVFJVQ1RJT05TX0FWQUlMQUJMRSkKLSNlbmRpZiAgLy8gSEFWRV9O
RU9OX0RPVFBST0QKLSAgLy8gTm8gSThNTSBmZWF0dXJlIGRldGVjdGlvbiBhdmFpbGFibGUgb24g
V2luZG93cyBhdCB0aW1lIG9mIHdyaXRpbmcuCi0gIHJldHVybiBmbGFnczsKLX0KLQotI2VsaWYg
ZGVmaW5lZChBTkRST0lEX1VTRV9DUFVfRkVBVFVSRVNfTElCKQotCi1zdGF0aWMgaW50IGFybV9n
ZXRfY3B1X2NhcHModm9pZCkgewotICBpbnQgZmxhZ3MgPSAwOwotI2lmIEhBVkVfTkVPTgotICBm
bGFncyB8PSBIQVNfTkVPTjsgIC8vIE5lb24gaXMgbWFuZGF0b3J5IGluIEFybXY4LjAtQS4KLSNl
bmRpZiAgLy8gSEFWRV9ORU9OCi0gIHJldHVybiBmbGFnczsKLX0KLQotI2VsaWYgZGVmaW5lZChf
X2xpbnV4X18pICAvLyBlbmQgZGVmaW5lZChWUFhfVVNFX0FORFJPSURfQ1BVX0ZFQVRVUkVTKQot
Ci0jaW5jbHVkZSA8c3lzL2F1eHYuaD4KLQotLy8gRGVmaW5lIGh3Y2FwIHZhbHVlcyBvdXJzZWx2
ZXM6IGJ1aWxkaW5nIHdpdGggYW4gb2xkIGF1eHYgaGVhZGVyIHdoZXJlIHRoZXNlCi0vLyBod2Nh
cCB2YWx1ZXMgYXJlIG5vdCBkZWZpbmVkIHNob3VsZCBub3QgcHJldmVudCBmZWF0dXJlcyBmcm9t
IGJlaW5nIGVuYWJsZWQuCi0jZGVmaW5lIFZQWF9BQVJDSDY0X0hXQ0FQX0FTSU1ERFAgKDEgPDwg
MjApCi0jZGVmaW5lIFZQWF9BQVJDSDY0X0hXQ0FQMl9JOE1NICgxIDw8IDEzKQotCi1zdGF0aWMg
aW50IGFybV9nZXRfY3B1X2NhcHModm9pZCkgewotICBpbnQgZmxhZ3MgPSAwOwotICB1bnNpZ25l
ZCBsb25nIGh3Y2FwID0gZ2V0YXV4dmFsKEFUX0hXQ0FQKTsKLSAgdW5zaWduZWQgbG9uZyBod2Nh
cDIgPSBnZXRhdXh2YWwoQVRfSFdDQVAyKTsKLSNpZiBIQVZFX05FT04KLSAgZmxhZ3MgfD0gSEFT
X05FT047ICAvLyBOZW9uIGlzIG1hbmRhdG9yeSBpbiBBcm12OC4wLUEuCi0jZW5kaWYgIC8vIEhB
VkVfTkVPTgotI2lmIEhBVkVfTkVPTl9ET1RQUk9ECi0gIGlmIChod2NhcCAmIFZQWF9BQVJDSDY0
X0hXQ0FQX0FTSU1ERFApIHsKLSAgICBmbGFncyB8PSBIQVNfTkVPTl9ET1RQUk9EOwotICB9Ci0j
ZW5kaWYgIC8vIEhBVkVfTkVPTl9ET1RQUk9ECi0jaWYgSEFWRV9ORU9OX0k4TU0KLSAgaWYgKGh3
Y2FwMiAmIFZQWF9BQVJDSDY0X0hXQ0FQMl9JOE1NKSB7Ci0gICAgZmxhZ3MgfD0gSEFTX05FT05f
SThNTTsKLSAgfQotI2VuZGlmICAvLyBIQVZFX05FT05fSThNTQotICByZXR1cm4gZmxhZ3M7Ci19
Ci0KLSNlbGlmIGRlZmluZWQoX19GdWNoc2lhX18pICAvLyBlbmQgX19saW51eF9fCi0KLSNpbmNs
dWRlIDx6aXJjb24vZmVhdHVyZXMuaD4KLSNpbmNsdWRlIDx6aXJjb24vc3lzY2FsbHMuaD4KLQot
Ly8gQWRkZWQgaW4gaHR0cHM6Ly9mdWNoc2lhLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvZnVj
aHNpYS8rLzg5NDI4Mi4KLSNpZm5kZWYgWlhfQVJNNjRfRkVBVFVSRV9JU0FfSThNTQotI2RlZmlu
ZSBaWF9BUk02NF9GRUFUVVJFX0lTQV9JOE1NICgodWludDMyX3QpKDF1IDw8IDE5KSkKLSNlbmRp
ZgotCi1zdGF0aWMgaW50IGFybV9nZXRfY3B1X2NhcHModm9pZCkgewotICBpbnQgZmxhZ3MgPSAw
OwotI2lmIEhBVkVfTkVPTgotICBmbGFncyB8PSBIQVNfTkVPTjsgIC8vIE5lb24gaXMgbWFuZGF0
b3J5IGluIEFybXY4LjAtQS4KLSNlbmRpZiAgLy8gSEFWRV9ORU9OCi0gIHVpbnQzMl90IGZlYXR1
cmVzOwotICB6eF9zdGF0dXNfdCBzdGF0dXMgPSB6eF9zeXN0ZW1fZ2V0X2ZlYXR1cmVzKFpYX0ZF
QVRVUkVfS0lORF9DUFUsICZmZWF0dXJlcyk7Ci0gIGlmIChzdGF0dXMgIT0gWlhfT0spIHsKLSAg
ICByZXR1cm4gZmxhZ3M7Ci0gIH0KLSNpZiBIQVZFX05FT05fRE9UUFJPRAotICBpZiAoZmVhdHVy
ZXMgJiBaWF9BUk02NF9GRUFUVVJFX0lTQV9EUCkgewotICAgIGZsYWdzIHw9IEhBU19ORU9OX0RP
VFBST0Q7Ci0gIH0KLSNlbmRpZiAgLy8gSEFWRV9ORU9OX0RPVFBST0QKLSNpZiBIQVZFX05FT05f
SThNTQotICBpZiAoZmVhdHVyZXMgJiBaWF9BUk02NF9GRUFUVVJFX0lTQV9JOE1NKSB7Ci0gICAg
ZmxhZ3MgfD0gSEFTX05FT05fSThNTTsKLSAgfQotI2VuZGlmICAvLyBIQVZFX05FT05fSThNTQot
ICByZXR1cm4gZmxhZ3M7Ci19Ci0KLSNlbHNlICAvLyBlbmQgX19GdWNoc2lhX18KLSNlcnJvciBc
Ci0gICAgIlJ1bnRpbWUgQ1BVIGRldGVjdGlvbiBzZWxlY3RlZCwgYnV0IG5vIENQVSBkZXRlY3Rp
b24gbWV0aG9kIGF2YWlsYWJsZSIgXAotImZvciB5b3VyIHBsYXRmb3JtLiBSZXJ1biBjb25maWd1
cmUgd2l0aCAtLWRpc2FibGUtcnVudGltZS1jcHUtZGV0ZWN0LiIKLSNlbmRpZgotCi1pbnQgYXJt
X2NwdV9jYXBzKHZvaWQpIHsKLSAgaW50IGZsYWdzID0gMDsKLSAgaWYgKCFhcm1fY3B1X2Vudl9m
bGFncygmZmxhZ3MpKSB7Ci0gICAgZmxhZ3MgPSBhcm1fZ2V0X2NwdV9jYXBzKCkgJiBhcm1fY3B1
X2Vudl9tYXNrKCk7Ci0gIH0KLQotICAvLyBSZXN0cmljdCBmbGFnczogRkVBVF9JOE1NIGFzc3Vt
ZXMgdGhhdCBGRUFUX0RvdFByb2QgaXMgYXZhaWxhYmxlLgotICBpZiAoIShmbGFncyAmIEhBU19O
RU9OX0RPVFBST0QpKSB7Ci0gICAgZmxhZ3MgJj0gfkhBU19ORU9OX0k4TU07Ci0gIH0KLQotICBy
ZXR1cm4gZmxhZ3M7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm0uaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X3BvcnRzL2FybS5oCmluZGV4IDY1OTA5ZDgyNjA1Yi4uNjQ1OGEyYzVi
MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm0uaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGli
dnB4L3ZweF9wb3J0cy9hcm0uaApAQCAtMTcsMTIgKzE3LDEyIEBACiBleHRlcm4gIkMiIHsKICNl
bmRpZgogCi0vLyBBcm12Ny1BIG9wdGlvbmFsIE5lb24gaW5zdHJ1Y3Rpb25zLCBtYW5kYXRvcnkg
ZnJvbSBBcm12OC4wLUEuCi0jZGVmaW5lIEhBU19ORU9OICgxIDw8IDApCi0vLyBBcm12OC4yLUEg
b3B0aW9uYWwgTmVvbiBkb3QtcHJvZHVjdCBpbnN0cnVjdGlvbnMsIG1hbmRhdG9yeSBmcm9tIEFy
bXY4LjQtQS4KLSNkZWZpbmUgSEFTX05FT05fRE9UUFJPRCAoMSA8PCAxKQotLy8gQXJtdjguMi1B
IG9wdGlvbmFsIE5lb24gaThtbSBpbnN0cnVjdGlvbnMsIG1hbmRhdG9yeSBmcm9tIEFybXY4LjYt
QS4KLSNkZWZpbmUgSEFTX05FT05fSThNTSAoMSA8PCAyKQorLypBUk12NVRFICJFbmhhbmNlZCBE
U1AiIGluc3RydWN0aW9ucy4qLworI2RlZmluZSBIQVNfRURTUCAweDAxCisvKkFSTXY2ICJQYXJh
bGxlbCIgb3IgIk1lZGlhIiBpbnN0cnVjdGlvbnMuKi8KKyNkZWZpbmUgSEFTX01FRElBIDB4MDIK
Ky8qQVJNdjcgb3B0aW9uYWwgTkVPTiBpbnN0cnVjdGlvbnMuKi8KKyNkZWZpbmUgSEFTX05FT04g
MHgwNAogCiBpbnQgYXJtX2NwdV9jYXBzKHZvaWQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9wb3J0cy9hcm1fY3B1ZGV0ZWN0LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm1fY3B1
ZGV0ZWN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40ZjlkNDgw
YWRlNmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm1fY3B1ZGV0
ZWN0LmMKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAyMDEwIFRoZSBX
ZWJNIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiAgVXNlIG9m
IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQorICog
IHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZQorICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJp
Z2h0cyBncmFudCBjYW4gYmUgZm91bmQKKyAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNv
bnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5CisgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhP
UlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCisgKi8KKworI2luY2x1ZGUg
PHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAiLi92cHhfY29uZmln
LmgiCisjaW5jbHVkZSAidnB4X3BvcnRzL2FybS5oIgorCisjaWZkZWYgV0lOQVBJX0ZBTUlMWQor
I2luY2x1ZGUgPHdpbmFwaWZhbWlseS5oPgorI2lmICFXSU5BUElfRkFNSUxZX1BBUlRJVElPTihX
SU5BUElfUEFSVElUSU9OX0RFU0tUT1ApCisjZGVmaW5lIGdldGVudih4KSBOVUxMCisjZW5kaWYK
KyNlbmRpZgorCitzdGF0aWMgaW50IGFybV9jcHVfZW52X2ZsYWdzKGludCAqZmxhZ3MpIHsKKyAg
Y2hhciAqZW52OworICBlbnYgPSBnZXRlbnYoIlZQWF9TSU1EX0NBUFMiKTsKKyAgaWYgKGVudiAm
JiAqZW52KSB7CisgICAgKmZsYWdzID0gKGludClzdHJ0b2woZW52LCBOVUxMLCAwKTsKKyAgICBy
ZXR1cm4gMDsKKyAgfQorICAqZmxhZ3MgPSAwOworICByZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBp
bnQgYXJtX2NwdV9lbnZfbWFzayh2b2lkKSB7CisgIGNoYXIgKmVudjsKKyAgZW52ID0gZ2V0ZW52
KCJWUFhfU0lNRF9DQVBTX01BU0siKTsKKyAgcmV0dXJuIGVudiAmJiAqZW52ID8gKGludClzdHJ0
b2woZW52LCBOVUxMLCAwKSA6IH4wOworfQorCisjaWYgIUNPTkZJR19SVU5USU1FX0NQVV9ERVRF
Q1QKKworaW50IGFybV9jcHVfY2Fwcyh2b2lkKSB7CisgIC8qIFRoaXMgZnVuY3Rpb24gc2hvdWxk
IGFjdHVhbGx5IGJlIGEgbm8tb3AuIFRoZXJlIGlzIG5vIHdheSB0byBhZGp1c3QgYW55IG9mCisg
ICAqIHRoZXNlIGJlY2F1c2UgdGhlIFJUQ0QgdGFibGVzIGRvIG5vdCBleGlzdDogdGhlIGZ1bmN0
aW9ucyBhcmUgY2FsbGVkCisgICAqIHN0YXRpY2FsbHkgKi8KKyAgaW50IGZsYWdzOworICBpbnQg
bWFzazsKKyAgaWYgKCFhcm1fY3B1X2Vudl9mbGFncygmZmxhZ3MpKSB7CisgICAgcmV0dXJuIGZs
YWdzOworICB9CisgIG1hc2sgPSBhcm1fY3B1X2Vudl9tYXNrKCk7CisjaWYgSEFWRV9ORU9OIHx8
IEhBVkVfTkVPTl9BU00KKyAgZmxhZ3MgfD0gSEFTX05FT047CisjZW5kaWYgLyogSEFWRV9ORU9O
ICB8fCBIQVZFX05FT05fQVNNICovCisgIHJldHVybiBmbGFncyAmIG1hc2s7Cit9CisKKyNlbGlm
IGRlZmluZWQoX01TQ19WRVIpIC8qIGVuZCAhQ09ORklHX1JVTlRJTUVfQ1BVX0RFVEVDVCAqLwor
LypGb3IgR2V0RXhjZXB0aW9uQ29kZSgpIGFuZCBFWENFUFRJT05fSUxMRUdBTF9JTlNUUlVDVElP
Ti4qLworI2lmbmRlZiBXSU4zMl9MRUFOX0FORF9NRUFOCisjZGVmaW5lIFdJTjMyX0xFQU5fQU5E
X01FQU4KKyNlbmRpZgorI2lmbmRlZiBXSU4zMl9FWFRSQV9MRUFOCisjZGVmaW5lIFdJTjMyX0VY
VFJBX0xFQU4KKyNlbmRpZgorI2luY2x1ZGUgPHdpbmRvd3MuaD4KKworaW50IGFybV9jcHVfY2Fw
cyh2b2lkKSB7CisgIGludCBmbGFnczsKKyAgaW50IG1hc2s7CisgIGlmICghYXJtX2NwdV9lbnZf
ZmxhZ3MoJmZsYWdzKSkgeworICAgIHJldHVybiBmbGFnczsKKyAgfQorICBtYXNrID0gYXJtX2Nw
dV9lbnZfbWFzaygpOworLyogTVNWQyBoYXMgbm8gaW5saW5lIF9fYXNtIHN1cHBvcnQgZm9yIEFS
TSwgYnV0IGl0IGRvZXMgbGV0IHlvdSBfX2VtaXQKKyAqICBpbnN0cnVjdGlvbnMgdmlhIHRoZWly
IGFzc2VtYmxlZCBoZXggY29kZS4KKyAqIEFsbCBvZiB0aGVzZSBpbnN0cnVjdGlvbnMgc2hvdWxk
IGJlIGVzc2VudGlhbGx5IG5vcHMuCisgKi8KKyNpZiBIQVZFX05FT04gfHwgSEFWRV9ORU9OX0FT
TQorICBpZiAobWFzayAmIEhBU19ORU9OKSB7CisgICAgX190cnkgeworICAgICAgLypWT1JSIHEw
LHEwLHEwKi8KKyAgICAgIF9fZW1pdCgweEYyMjAwMTUwKTsKKyAgICAgIGZsYWdzIHw9IEhBU19O
RU9OOworICAgIH0gX19leGNlcHQgKEdldEV4Y2VwdGlvbkNvZGUoKSA9PSBFWENFUFRJT05fSUxM
RUdBTF9JTlNUUlVDVElPTikgeworICAgICAgLypJZ25vcmUgZXhjZXB0aW9uLiovCisgICAgfQor
ICB9CisjZW5kaWYgLyogSEFWRV9ORU9OIHx8IEhBVkVfTkVPTl9BU00gKi8KKyAgcmV0dXJuIGZs
YWdzICYgbWFzazsKK30KKworI2VsaWYgZGVmaW5lZChfX0FORFJPSURfXykgLyogZW5kIF9NU0Nf
VkVSICovCisjaW5jbHVkZSA8Y3B1LWZlYXR1cmVzLmg+CisKK2ludCBhcm1fY3B1X2NhcHModm9p
ZCkgeworICBpbnQgZmxhZ3M7CisgIGludCBtYXNrOworICB1aW50NjRfdCBmZWF0dXJlczsKKyAg
aWYgKCFhcm1fY3B1X2Vudl9mbGFncygmZmxhZ3MpKSB7CisgICAgcmV0dXJuIGZsYWdzOworICB9
CisgIG1hc2sgPSBhcm1fY3B1X2Vudl9tYXNrKCk7CisgIGZlYXR1cmVzID0gYW5kcm9pZF9nZXRD
cHVGZWF0dXJlcygpOworCisjaWYgSEFWRV9ORU9OIHx8IEhBVkVfTkVPTl9BU00KKyAgaWYgKGZl
YXR1cmVzICYgQU5EUk9JRF9DUFVfQVJNX0ZFQVRVUkVfTkVPTikgZmxhZ3MgfD0gSEFTX05FT047
CisjZW5kaWYgLyogSEFWRV9ORU9OIHx8IEhBVkVfTkVPTl9BU00gKi8KKyAgcmV0dXJuIGZsYWdz
ICYgbWFzazsKK30KKworI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pIC8qIGVuZCBfX0FORFJPSURf
XyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKworaW50IGFybV9jcHVfY2Fwcyh2b2lkKSB7Cisg
IEZJTEUgKmZpbjsKKyAgaW50IGZsYWdzOworICBpbnQgbWFzazsKKyAgaWYgKCFhcm1fY3B1X2Vu
dl9mbGFncygmZmxhZ3MpKSB7CisgICAgcmV0dXJuIGZsYWdzOworICB9CisgIG1hc2sgPSBhcm1f
Y3B1X2Vudl9tYXNrKCk7CisgIC8qIFJlYWRpbmcgL3Byb2Mvc2VsZi9hdXh2IHdvdWxkIGJlIGVh
c2llciwgYnV0IHRoYXQgZG9lc24ndCB3b3JrIHJlbGlhYmx5CisgICAqICBvbiBBbmRyb2lkLgor
ICAgKiBUaGlzIGFsc28gbWVhbnMgdGhhdCBkZXRlY3Rpb24gd2lsbCBmYWlsIGluIFNjcmF0Y2hi
b3guCisgICAqLworICBmaW4gPSBmb3BlbigiL3Byb2MvY3B1aW5mbyIsICJyIik7CisgIGlmIChm
aW4gIT0gTlVMTCkgeworICAgIC8qIDUxMiBzaG91bGQgYmUgZW5vdWdoIGZvciBhbnlib2R5IChp
dCdzIGV2ZW4gZW5vdWdoIGZvciBhbGwgdGhlIGZsYWdzCisgICAgICogdGhhdCB4ODYgaGFzIGFj
Y3VtdWxhdGVkLi4uIHNvIGZhcikuCisgICAgICovCisgICAgY2hhciBidWZbNTEyXTsKKyAgICB3
aGlsZSAoZmdldHMoYnVmLCA1MTEsIGZpbikgIT0gTlVMTCkgeworI2lmIEhBVkVfTkVPTiB8fCBI
QVZFX05FT05fQVNNCisgICAgICBpZiAobWVtY21wKGJ1ZiwgIkZlYXR1cmVzIiwgOCkgPT0gMCkg
eworICAgICAgICBjaGFyICpwOworICAgICAgICBwID0gc3Ryc3RyKGJ1ZiwgIiBuZW9uIik7Cisg
ICAgICAgIGlmIChwICE9IE5VTEwgJiYgKHBbNV0gPT0gJyAnIHx8IHBbNV0gPT0gJ1xuJykpIHsK
KyAgICAgICAgICBmbGFncyB8PSBIQVNfTkVPTjsKKyAgICAgICAgfQorICAgICAgfQorI2VuZGlm
IC8qIEhBVkVfTkVPTiB8fCBIQVZFX05FT05fQVNNICovCisgICAgfQorICAgIGZjbG9zZShmaW4p
OworICB9CisgIHJldHVybiBmbGFncyAmIG1hc2s7Cit9CisjZWxzZSAgLyogZW5kIF9fbGludXhf
XyAqLworI2Vycm9yIFwKKyAgICAiLS1lbmFibGUtcnVudGltZS1jcHUtZGV0ZWN0IHNlbGVjdGVk
LCBidXQgbm8gQ1BVIGRldGVjdGlvbiBtZXRob2QgIiBcCisiYXZhaWxhYmxlIGZvciB5b3VyIHBs
YXRmb3JtLiBSZWNvbmZpZ3VyZSB3aXRoIC0tZGlzYWJsZS1ydW50aW1lLWNwdS1kZXRlY3QuIgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm1fY3B1ZGV0ZWN0Lmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9wb3J0cy9hcm1fY3B1ZGV0ZWN0LmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDg4MTM5N2FiYzIxZi4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv
dnB4X3BvcnRzL2FybV9jcHVkZXRlY3QuaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAK
LS8qCi0gKiAgQ29weXJpZ2h0IChjKSAyMDIzIFRoZSBXZWJNIHByb2plY3QgYXV0aG9ycy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292
ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFk
ZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQK
LSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhv
cnMgbWF5Ci0gKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0
aGUgc291cmNlIHRyZWUuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0
cmluZy5oPgotCi0jaW5jbHVkZSAidnB4X2NvbmZpZy5oIgotI2luY2x1ZGUgInZweF9wb3J0cy9h
cm0uaCIKLQotI2lmIGRlZmluZWQoX1dJTjMyKQotI3VuZGVmIFdJTjMyX0xFQU5fQU5EX01FQU4K
LSNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgotI3VuZGVmIFdJTjMyX0VYVFJBX0xFQU4KLSNk
ZWZpbmUgV0lOMzJfRVhUUkFfTEVBTgotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNlbmRpZgotCi0j
aWZkZWYgV0lOQVBJX0ZBTUlMWQotI2luY2x1ZGUgPHdpbmFwaWZhbWlseS5oPgotI2lmICFXSU5B
UElfRkFNSUxZX1BBUlRJVElPTihXSU5BUElfUEFSVElUSU9OX0RFU0tUT1ApCi0jZGVmaW5lIGdl
dGVudih4KSBOVUxMCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChfX0FORFJPSURfXykg
JiYgKF9fQU5EUk9JRF9BUElfXyA8IDE4KQotI2RlZmluZSBBTkRST0lEX1VTRV9DUFVfRkVBVFVS
RVNfTElCIDEKLS8vIFVzZSBnZXRhdXh2YWwoKSB3aGVuIHRhcmdldGluZyAoNjQtYml0KSBBbmRy
b2lkIHdpdGggQVBJIGxldmVsID49IDE4LgotLy8gZ2V0YXV4dmFsKCkgaXMgc3VwcG9ydGVkIHNp
bmNlIEFuZHJvaWQgQVBJIGxldmVsIDE4IChBbmRyb2lkIDQuMy4pCi0vLyBGaXJzdCBBbmRyb2lk
IHZlcnNpb24gd2l0aCA2NC1iaXQgc3VwcG9ydCB3YXMgQW5kcm9pZCA1LnggKEFQSSBsZXZlbCAy
MSkuCi0jaW5jbHVkZSA8Y3B1LWZlYXR1cmVzLmg+Ci0jZW5kaWYKLQotc3RhdGljIElOTElORSBp
bnQgYXJtX2NwdV9lbnZfZmxhZ3MoaW50ICpmbGFncykgewotICBjb25zdCBjaGFyICplbnYgPSBn
ZXRlbnYoIlZQWF9TSU1EX0NBUFMiKTsKLSAgaWYgKGVudiAmJiAqZW52KSB7Ci0gICAgKmZsYWdz
ID0gKGludClzdHJ0b2woZW52LCBOVUxMLCAwKTsKLSAgICByZXR1cm4gMTsKLSAgfQotICByZXR1
cm4gMDsKLX0KLQotc3RhdGljIElOTElORSBpbnQgYXJtX2NwdV9lbnZfbWFzayh2b2lkKSB7Ci0g
IGNvbnN0IGNoYXIgKmVudiA9IGdldGVudigiVlBYX1NJTURfQ0FQU19NQVNLIik7Ci0gIHJldHVy
biBlbnYgJiYgKmVudiA/IChpbnQpc3RydG9sKGVudiwgTlVMTCwgMCkgOiB+MDsKLX0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2JpdG9wcy5oIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9y
dHMvYml0b3BzLmgKaW5kZXggMWI1Y2RhYTZkZDAwLi41YjJmMzFjZDExZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvdnB4X3BvcnRzL2JpdG9wcy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRz
L2JpdG9wcy5oCkBAIC0yNiwzMiArMjYsMjAgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLS8v
IFRoZXNlIHZlcnNpb25zIG9mIGdldF9sc2IoKSBhbmQgZ2V0X21zYigpIGFyZSBvbmx5IHZhbGlk
IHdoZW4gbiAhPSAwCi0vLyBiZWNhdXNlIGFsbCBvZiB0aGUgb3B0aW1pemVkIHZlcnNpb25zIGFy
ZSB1bmRlZmluZWQgd2hlbiBuID09IDA6CisvLyBUaGVzZSB2ZXJzaW9ucyBvZiBnZXRfbXNiKCkg
YXJlIG9ubHkgdmFsaWQgd2hlbiBuICE9IDAgYmVjYXVzZSBhbGwKKy8vIG9mIHRoZSBvcHRpbWl6
ZWQgdmVyc2lvbnMgYXJlIHVuZGVmaW5lZCB3aGVuIG4gPT0gMDoKIC8vIGh0dHBzOi8vZ2NjLmdu
dS5vcmcvb25saW5lZG9jcy9nY2MvT3RoZXItQnVpbHRpbnMuaHRtbAogCiAvLyB1c2UgR05VIGJ1
aWx0aW5zIHdoZXJlIGF2YWlsYWJsZS4KICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBcCiAgICAg
KChfX0dOVUNfXyA9PSAzICYmIF9fR05VQ19NSU5PUl9fID49IDQpIHx8IF9fR05VQ19fID49IDQp
Ci1zdGF0aWMgSU5MSU5FIGludCBnZXRfbHNiKHVuc2lnbmVkIGludCBuKSB7Ci0gIGFzc2VydChu
ICE9IDApOwotICByZXR1cm4gX19idWlsdGluX2N0eihuKTsKLX0KLQogc3RhdGljIElOTElORSBp
bnQgZ2V0X21zYih1bnNpZ25lZCBpbnQgbikgewogICBhc3NlcnQobiAhPSAwKTsKICAgcmV0dXJu
IDMxIF4gX19idWlsdGluX2NseihuKTsKIH0KICNlbGlmIGRlZmluZWQoVVNFX01TQ19JTlRSSU5T
SUNTKQotI3ByYWdtYSBpbnRyaW5zaWMoX0JpdFNjYW5Gb3J3YXJkKQogI3ByYWdtYSBpbnRyaW5z
aWMoX0JpdFNjYW5SZXZlcnNlKQogCi1zdGF0aWMgSU5MSU5FIGludCBnZXRfbHNiKHVuc2lnbmVk
IGludCBuKSB7Ci0gIHVuc2lnbmVkIGxvbmcgZmlyc3Rfc2V0X2JpdDsgIC8vIE5PTElOVChydW50
aW1lL2ludCkKLSAgX0JpdFNjYW5Gb3J3YXJkKCZmaXJzdF9zZXRfYml0LCBuKTsKLSAgcmV0dXJu
IGZpcnN0X3NldF9iaXQ7Ci19Ci0KIHN0YXRpYyBJTkxJTkUgaW50IGdldF9tc2IodW5zaWduZWQg
aW50IG4pIHsKICAgdW5zaWduZWQgbG9uZyBmaXJzdF9zZXRfYml0OwogICBhc3NlcnQobiAhPSAw
KTsKQEAgLTYwLDEzICs0OCw2IEBAIHN0YXRpYyBJTkxJTkUgaW50IGdldF9tc2IodW5zaWduZWQg
aW50IG4pIHsKIH0KICN1bmRlZiBVU0VfTVNDX0lOVFJJTlNJQ1MKICNlbHNlCi1zdGF0aWMgSU5M
SU5FIGludCBnZXRfbHNiKHVuc2lnbmVkIGludCBuKSB7Ci0gIGludCBpOwotICBhc3NlcnQobiAh
PSAwKTsKLSAgZm9yIChpID0gMDsgaSA8IDMyICYmICEobiAmIDEpOyArK2kpIG4gPj49IDE7Ci0g
IHJldHVybiBpOwotfQotCiAvLyBSZXR1cm5zIChpbnQpZmxvb3IobG9nMihuKSkuIG4gbXVzdCBi
ZSA+IDAuCiBzdGF0aWMgSU5MSU5FIGludCBnZXRfbXNiKHVuc2lnbmVkIGludCBuKSB7CiAgIGlu
dCBsb2cgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvY29tcGlsZXJfYXR0
cmlidXRlcy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvY29tcGlsZXJfYXR0cmlidXRlcy5oCmlu
ZGV4IDRiNDY4NzQ5YjhiZC4uMzU0MzUyMDE2Y2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9wb3J0cy9jb21waWxlcl9hdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMv
Y29tcGlsZXJfYXR0cmlidXRlcy5oCkBAIC0yOSwyMyArMjksMTMgQEAKICNlbmRpZiAgLy8gX19o
YXNfZmVhdHVyZShhZGRyZXNzX3Nhbml0aXplcikgfHwgZGVmaW5lZChfX1NBTklUSVpFX0FERFJF
U1NfXykKIAogI2lmIGRlZmluZWQoX19jbGFuZ19fKSAmJiBfX2hhc19hdHRyaWJ1dGUobm9fc2Fu
aXRpemUpCi0vLyBCb3RoIG9mIHRoZXNlIGhhdmUgZGVmaW5lZCBiZWhhdmlvciBhbmQgYXJlIHVz
ZWQgaW4gY2VydGFpbiBvcGVyYXRpb25zIG9yCi0vLyBvcHRpbWl6YXRpb25zIHRoZXJlb2YuIFRo
ZXJlIGFyZSBjYXNlcyB3aGVyZSBhbiBvdmVyZmxvdyBtYXkgYmUgdW5pbnRlbmRlZCwKLS8vIGhv
d2V2ZXIsIHNvIHVzZSBvZiB0aGVzZSBhdHRyaWJ1dGVzIHNob3VsZCBiZSBkb25lIHdpdGggY2Fy
ZS4KICNkZWZpbmUgVlBYX05PX1VOU0lHTkVEX09WRVJGTE9XX0NIRUNLIFwKICAgX19hdHRyaWJ1
dGVfXygobm9fc2FuaXRpemUoInVuc2lnbmVkLWludGVnZXItb3ZlcmZsb3ciKSkpCi0jaWYgX19j
bGFuZ19tYWpvcl9fID49IDEyCi0jZGVmaW5lIFZQWF9OT19VTlNJR05FRF9TSElGVF9DSEVDSyBc
Ci0gIF9fYXR0cmlidXRlX18oKG5vX3Nhbml0aXplKCJ1bnNpZ25lZC1zaGlmdC1iYXNlIikpKQot
I2VuZGlmICAvLyBfX2NsYW5nX18gPj0gMTIKLSNlbmRpZiAgLy8gX19jbGFuZ19fCisjZW5kaWYK
IAogI2lmbmRlZiBWUFhfTk9fVU5TSUdORURfT1ZFUkZMT1dfQ0hFQ0sKICNkZWZpbmUgVlBYX05P
X1VOU0lHTkVEX09WRVJGTE9XX0NIRUNLCiAjZW5kaWYKLSNpZm5kZWYgVlBYX05PX1VOU0lHTkVE
X1NISUZUX0NIRUNLCi0jZGVmaW5lIFZQWF9OT19VTlNJR05FRF9TSElGVF9DSEVDSwotI2VuZGlm
CiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBWYXJpYWJsZSBhdHRyaWJ1dGVzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbG9vbmdhcmNoLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw
eF9wb3J0cy9sb29uZ2FyY2guaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkzZmY5
ZjVmMGY4Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvbG9vbmdhcmNo
LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChjKSAy
MDIxIExvb25nc29uIFRlY2hub2xvZ3kgQ29ycG9yYXRpb24gTGltaXRlZAotICogQ29udHJpYnV0
ZWQgYnkgSmluIEJvICA8amluYm9AbG9vbmdzb24uY24+Ci0gKiBDb250cmlidXRlZCBieSBMdSBX
YW5nIDx3YW5nbHVAbG9vbmdzb24uY24+Ci0gKgotICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogdGhhdCBjYW4gYmUgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCi0gKiB0cmVlLiBB
biBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZv
dW5kCi0gKiBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1
dGhvcnMgbWF5Ci0gKiBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9m
IHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaWZuZGVmIFZQWF9WUFhfUE9SVFNfTE9PTkdBUkNI
X0hfCi0jZGVmaW5lIFZQWF9WUFhfUE9SVFNfTE9PTkdBUkNIX0hfCi0KLSNpZmRlZiBfX2NwbHVz
cGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQotI2RlZmluZSBIQVNfTFNYIDB4MDEKLSNkZWZp
bmUgSEFTX0xBU1ggMHgwMgotCi1pbnQgbG9vbmdhcmNoX2NwdV9jYXBzKHZvaWQpOwotCi0jaWZk
ZWYgX19jcGx1c3BsdXMKLX0gIC8vIGV4dGVybiAiQyIKLSNlbmRpZgotCi0jZW5kaWYgIC8vIFZQ
WF9WUFhfUE9SVFNfTE9PTkdBUkNIX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0
cy9sb29uZ2FyY2hfY3B1ZGV0ZWN0LmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9sb29uZ2FyY2hf
Y3B1ZGV0ZWN0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNDMyMmQzNWUxYS4u
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL2xvb25nYXJjaF9jcHVkZXRl
Y3QuYworKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMp
IDIwMjEgTG9vbmdzb24gVGVjaG5vbG9neSBDb3Jwb3JhdGlvbiBMaW1pdGVkCi0gKiBDb250cmli
dXRlZCBieSBKaW4gQm8gIDxqaW5ib0Bsb29uZ3Nvbi5jbj4KLSAqIENvbnRyaWJ1dGVkIGJ5IEx1
IFdhbmcgPHdhbmdsdUBsb29uZ3Nvbi5jbj4KLSAqCi0gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiB0aGF0IGNhbiBiZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqIHRyZWUu
IEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUg
Zm91bmQKLSAqIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3Qg
YXV0aG9ycyBtYXkKLSAqIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qg
b2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlICIuL3ZweF9jb25maWcuaCIKLSNp
bmNsdWRlICJ2cHhfcG9ydHMvbG9vbmdhcmNoLmgiCi0KLSNkZWZpbmUgTE9PTkdBUkNIX0NGRzIg
MHgwMgotI2RlZmluZSBMT09OR0FSQ0hfQ0ZHMl9MU1ggKDEgPDwgNikKLSNkZWZpbmUgTE9PTkdB
UkNIX0NGRzJfTEFTWCAoMSA8PCA3KQotCi0jaWYgQ09ORklHX1JVTlRJTUVfQ1BVX0RFVEVDVAot
I2lmIGRlZmluZWQoX19sb29uZ2FyY2hfXykgJiYgZGVmaW5lZChfX2xpbnV4X18pCi1pbnQgbG9v
bmdhcmNoX2NwdV9jYXBzKHZvaWQpIHsKLSAgaW50IHJlZyA9IDA7Ci0gIGludCBmbGFnID0gMDsK
LQotICBfX2FzbV9fIHZvbGF0aWxlKCJjcHVjZmcgJTAsICUxIFxuXHQiIDogIismciIocmVnKSA6
ICJyIihMT09OR0FSQ0hfQ0ZHMikpOwotICBpZiAocmVnICYgTE9PTkdBUkNIX0NGRzJfTFNYKSBm
bGFnIHw9IEhBU19MU1g7Ci0KLSAgaWYgKHJlZyAmIExPT05HQVJDSF9DRkcyX0xBU1gpIGZsYWcg
fD0gSEFTX0xBU1g7Ci0KLSAgcmV0dXJuIGZsYWc7Ci19Ci0jZWxzZSAvKiBlbmQgX19sb29uZ2Fy
Y2hfXyAmJiBfX2xpbnV4X18gKi8KLSNlcnJvciBcCi0gICAgIi0tZW5hYmxlLXJ1bnRpbWUtY3B1
LWRldGVjdCBzZWxlY3RlZCwgYnV0IG5vIENQVSBkZXRlY3Rpb24gbWV0aG9kICIgXAotImF2YWls
YWJsZSBmb3IgeW91ciBwbGF0Zm9ybS4gUmVjb25maWd1cmUgd2l0aCAtLWRpc2FibGUtcnVudGlt
ZS1jcHUtZGV0ZWN0LiIKLSNlbmRpZgotI2Vsc2UgLyogZW5kIENPTkZJR19SVU5USU1FX0NQVV9E
RVRFQ1QgKi8KLWludCBsb29uZ2FyY2hfY3B1X2NhcHModm9pZCkgeyByZXR1cm4gMDsgfQotI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0cy9taXBzLmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4
L3ZweF9wb3J0cy9taXBzLmgKaW5kZXggNDM5ZGU3NTRmZDRhLi5iZGM3NTI1ZjdiZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
dnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL21pcHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9w
b3J0cy9taXBzLmgKQEAgLTgsOCArOCw4IEBACiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMg
ZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCiAgKi8KIAotI2lmbmRlZiBWUFhf
VlBYX1BPUlRTX01JUFNfSF8KLSNkZWZpbmUgVlBYX1ZQWF9QT1JUU19NSVBTX0hfCisjaWZuZGVm
IFZQWF9QT1JUU19NSVBTX0hfCisjZGVmaW5lIFZQWF9QT1JUU19NSVBTX0hfCiAKICNpZmRlZiBf
X2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC0yNCw0ICsyNCw0IEBAIGludCBtaXBzX2NwdV9j
YXBzKHZvaWQpOwogfSAgLy8gZXh0ZXJuICJDIgogI2VuZGlmCiAKLSNlbmRpZiAgLy8gVlBYX1ZQ
WF9QT1JUU19NSVBTX0hfCisjZW5kaWYgIC8vIFZQWF9QT1JUU19NSVBTX0hfCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9wb3J0cy92cHhfb25jZS5oIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMv
dnB4X29uY2UuaAppbmRleCBkOGE4ZWQ4OWZlZmEuLjRlYjU5MmI4N2U1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhfcG9ydHMvdnB4X29uY2UuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9wb3J0
cy92cHhfb25jZS5oCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyB2b2lkIG9uY2Uodm9pZCAoKmZ1
bmMpKHZvaWQpKSB7CiAjZGVmaW5lIElOQ0xfRE9TCiAjaW5jbHVkZSA8b3MyLmg+CiBzdGF0aWMg
dm9pZCBvbmNlKHZvaWQgKCpmdW5jKSh2b2lkKSkgewotICBzdGF0aWMgdm9sYXRpbGUgaW50IGRv
bmU7CisgIHN0YXRpYyBpbnQgZG9uZTsKIAogICAvKiBJZiB0aGUgaW5pdGlhbGl6YXRpb24gaXMg
Y29tcGxldGUsIHJldHVybiBlYXJseS4gKi8KICAgaWYgKGRvbmUpIHJldHVybjsKQEAgLTEyOCw3
ICsxMjgsNyBAQCBzdGF0aWMgdm9pZCBvbmNlKHZvaWQgKCpmdW5jKSh2b2lkKSkgewogICovCiAK
IHN0YXRpYyB2b2lkIG9uY2Uodm9pZCAoKmZ1bmMpKHZvaWQpKSB7Ci0gIHN0YXRpYyB2b2xhdGls
ZSBpbnQgZG9uZTsKKyAgc3RhdGljIGludCBkb25lOwogCiAgIGlmICghZG9uZSkgewogICAgIGZ1
bmMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL3ZweF9wb3J0cy5tayBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj
ZS9saWJ2cHgvdnB4X3BvcnRzL3ZweF9wb3J0cy5tawppbmRleCA5MzI3OWRiZWJjN2EuLmU1MDAx
YmU0OTY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMvdnB4X3BvcnRzLm1rCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL3ZweF9wb3J0cy5tawpAQCAtMzYsMTIgKzM2LDcgQEAg
UE9SVFNfU1JDUy15ZXMgKz0geDg2LmgKIFBPUlRTX1NSQ1MteWVzICs9IHg4Nl9hYmlfc3VwcG9y
dC5hc20KIGVuZGlmCiAKLWlmZXEgKCQoVlBYX0FSQ0hfQUFSQ0g2NCkseWVzKQotUE9SVFNfU1JD
Uy15ZXMgKz0gYWFyY2g2NF9jcHVkZXRlY3QuYwotZWxzZQotUE9SVFNfU1JDUy0kKFZQWF9BUkNI
X0FSTSkgKz0gYWFyY2gzMl9jcHVkZXRlY3QuYwotZW5kaWYKLVBPUlRTX1NSQ1MtJChWUFhfQVJD
SF9BUk0pICs9IGFybV9jcHVkZXRlY3QuaAorUE9SVFNfU1JDUy0kKFZQWF9BUkNIX0FSTSkgKz0g
YXJtX2NwdWRldGVjdC5jCiBQT1JUU19TUkNTLSQoVlBYX0FSQ0hfQVJNKSArPSBhcm0uaAogCiBQ
T1JUU19TUkNTLSQoVlBYX0FSQ0hfUFBDKSArPSBwcGNfY3B1ZGV0ZWN0LmMKQEAgLTUwLDkgKzQ1
LDYgQEAgUE9SVFNfU1JDUy0kKFZQWF9BUkNIX1BQQykgKz0gcHBjLmgKIFBPUlRTX1NSQ1MtJChW
UFhfQVJDSF9NSVBTKSArPSBtaXBzX2NwdWRldGVjdC5jCiBQT1JUU19TUkNTLSQoVlBYX0FSQ0hf
TUlQUykgKz0gbWlwcy5oCiAKLVBPUlRTX1NSQ1MtJChWUFhfQVJDSF9MT09OR0FSQ0gpICs9IGxv
b25nYXJjaF9jcHVkZXRlY3QuYwotUE9SVFNfU1JDUy0kKFZQWF9BUkNIX0xPT05HQVJDSCkgKz0g
bG9vbmdhcmNoLmgKLQogaWZlcSAoJChWUFhfQVJDSF9NSVBTKSwgeWVzKQogUE9SVFNfU1JDUy15
ZXMgKz0gYXNtZGVmc19tbWkuaAogZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3Bv
cnRzL3g4Ni5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfcG9ydHMveDg2LmgKaW5kZXggNzk1ZmIyOTIzZjM1
Li5hZDNkYTg0YWNhOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL3g4Ni5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4
L3NvdXJjZS9saWJ2cHgvdnB4X3BvcnRzL3g4Ni5oCkBAIC00Nyw3ICs0Nyw3IEBAIHR5cGVkZWYg
ZW51bSB7CiAjZGVmaW5lIGNwdWlkKGZ1bmMsIGZ1bmMyLCBheCwgYngsIGN4LCBkeCkgICAgICAg
ICAgICAgICAgICAgICAgXAogICBfX2FzbV9fIF9fdm9sYXRpbGVfXygiY3B1aWQgICAgICAgICAg
IFxuXHQiICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgOiAiPWEi
KGF4KSwgIj1iIihieCksICI9YyIoY3gpLCAiPWQiKGR4KSBcCi0gICAgICAgICAgICAgICAgICAg
ICAgIDogImEiKGZ1bmMpLCAiYyIoZnVuYzIpKQorICAgICAgICAgICAgICAgICAgICAgICA6ICJh
IihmdW5jKSwgImMiKGZ1bmMyKSk7CiAjZWxzZQogI2RlZmluZSBjcHVpZChmdW5jLCBmdW5jMiwg
YXgsIGJ4LCBjeCwgZHgpICAgICBcCiAgIF9fYXNtX18gX192b2xhdGlsZV9fKCAgICAgICAgICAg
ICAgICAgICAgICAgIFwKQEAgLTU1LDcgKzU1LDcgQEAgdHlwZWRlZiBlbnVtIHsKICAgICAgICJj
cHVpZCAgICAgICAgICAgICAgXG5cdCIgICAgICAgICAgICAgICAgXAogICAgICAgInhjaGcgJSVl
ZGksICUlZWJ4ICBcblx0IiAgICAgICAgICAgICAgICBcCiAgICAgICA6ICI9YSIoYXgpLCAiPUQi
KGJ4KSwgIj1jIihjeCksICI9ZCIoZHgpIFwKLSAgICAgIDogImEiKGZ1bmMpLCAiYyIoZnVuYzIp
KQorICAgICAgOiAiYSIoZnVuYyksICJjIihmdW5jMikpOwogI2VuZGlmCiAjZWxpZiBkZWZpbmVk
KF9fU1VOUFJPX0MpIHx8IFwKICAgICBkZWZpbmVkKF9fU1VOUFJPX0NDKSAvKiBlbmQgX19HTlVD
X18gb3IgX19BTkRST0lEX18qLwpAQCAtNjcsNyArNjcsNyBAQCB0eXBlZGVmIGVudW0gewogICAg
ICAgIm1vdmwgJWVieCwgJWVkaSBcblx0IiAgICAgICAgICAgICAgICAgICBcCiAgICAgICAieGNo
ZyAlcnNpLCAlcmJ4IFxuXHQiICAgICAgICAgICAgICAgICAgIFwKICAgICAgIDogIj1hIihheCks
ICI9RCIoYngpLCAiPWMiKGN4KSwgIj1kIihkeCkgXAotICAgICAgOiAiYSIoZnVuYyksICJjIihm
dW5jMikpCisgICAgICA6ICJhIihmdW5jKSwgImMiKGZ1bmMyKSk7CiAjZWxzZQogI2RlZmluZSBj
cHVpZChmdW5jLCBmdW5jMiwgYXgsIGJ4LCBjeCwgZHgpICAgICBcCiAgIGFzbSB2b2xhdGlsZSgg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTc2LDcgKzc2LDcgQEAgdHlwZWRl
ZiBlbnVtIHsKICAgICAgICJtb3ZsICVlYngsICVlZGkgIFxuXHQiICAgICAgICAgICAgICAgICAg
XAogICAgICAgInBvcGwgJWVieCAgICAgICAgXG5cdCIgICAgICAgICAgICAgICAgICBcCiAgICAg
ICA6ICI9YSIoYXgpLCAiPUQiKGJ4KSwgIj1jIihjeCksICI9ZCIoZHgpIFwKLSAgICAgIDogImEi
KGZ1bmMpLCAiYyIoZnVuYzIpKQorICAgICAgOiAiYSIoZnVuYyksICJjIihmdW5jMikpOwogI2Vu
ZGlmCiAjZWxzZSAvKiBlbmQgX19TVU5QUk9fXyAqLwogI2lmIFZQWF9BUkNIX1g4Nl82NApAQCAt
MjQyLDcgKzI0Miw3IEBAIHN0YXRpYyBJTkxJTkUgaW50IHg4Nl9zaW1kX2NhcHModm9pZCkgewog
Ly8geDg2X3JlYWR0c2MgZGlyZWN0bHksIGJ1dCBwcmV2ZW50IHRoZSBDUFUncyBvdXQtb2Ytb3Jk
ZXIgZXhlY3V0aW9uIGZyb20KIC8vIGFmZmVjdGluZyB0aGUgbWVhc3VyZW1lbnQgKGJ5IGhhdmlu
ZyBlYXJsaWVyL2xhdGVyIGluc3RydWN0aW9ucyBiZSBldmFsdWF0ZWQKIC8vIGluIHRoZSB0aW1l
IGludGVydmFsKS4gU2VlIHRoZSB3aGl0ZSBwYXBlciwgIkhvdyB0byBCZW5jaG1hcmsgQ29kZQot
Ly8gRXhlY3V0aW9uIFRpbWVzIG9uIEludGVsKFIpIElBLTMyIGFuZCBJQS02NCBJbnN0cnVjdGlv
biBTZXQgQXJjaGl0ZWN0dXJlcyIgYnkKKy8vIEV4ZWN1dGlvbiBUaW1lcyBvbiBJbnRlbMKuIElB
LTMyIGFuZCBJQS02NCBJbnN0cnVjdGlvbiBTZXQgQXJjaGl0ZWN0dXJlcyIgYnkKIC8vIEdhYnJp
ZWxlIFBhb2xvbmkgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAvLwogLy8gSWYgeW91IGFyZSB0aW1p
bmcgYSBsYXJnZSBmdW5jdGlvbiAoQ1BVIHRpbWUgPiBhIGNvdXBsZSBvZiBzZWNvbmRzKSwgdXNl
CkBAIC0zMDgsNyArMzA4LDYgQEAgc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgeDg2X3JlYWR0
c2NwKHZvaWQpIHsKIAogc3RhdGljIElOTElORSB1bnNpZ25lZCBpbnQgeDg2X3RzY19zdGFydCh2
b2lkKSB7CiAgIHVuc2lnbmVkIGludCByZWdfZWF4LCByZWdfZWJ4LCByZWdfZWN4LCByZWdfZWR4
OwotICAvLyBUaGlzIGNhbGwgc2hvdWxkIG5vdCBiZSByZW1vdmVkLiBTZWUgZnVuY3Rpb24gbm90
ZXMgYWJvdmUuCiAgIGNwdWlkKDAsIDAsIHJlZ19lYXgsIHJlZ19lYngsIHJlZ19lY3gsIHJlZ19l
ZHgpOwogICAvLyBBdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiB1bnVzZWQtYnV0LXNldCB2YXJp
YWJsZXMuCiAgICh2b2lkKXJlZ19lYXg7CkBAIC0zMjEsNyArMzIwLDYgQEAgc3RhdGljIElOTElO
RSB1bnNpZ25lZCBpbnQgeDg2X3RzY19zdGFydCh2b2lkKSB7CiBzdGF0aWMgSU5MSU5FIHVuc2ln
bmVkIGludCB4ODZfdHNjX2VuZCh2b2lkKSB7CiAgIHVpbnQzMl90IHYgPSB4ODZfcmVhZHRzY3Ao
KTsKICAgdW5zaWduZWQgaW50IHJlZ19lYXgsIHJlZ19lYngsIHJlZ19lY3gsIHJlZ19lZHg7Ci0g
IC8vIFRoaXMgY2FsbCBzaG91bGQgbm90IGJlIHJlbW92ZWQuIFNlZSBmdW5jdGlvbiBub3RlcyBh
Ym92ZS4KICAgY3B1aWQoMCwgMCwgcmVnX2VheCwgcmVnX2VieCwgcmVnX2VjeCwgcmVnX2VkeCk7
CiAgIC8vIEF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIHVudXNlZC1idXQtc2V0IHZhcmlhYmxl
cy4KICAgKHZvaWQpcmVnX2VheDsKQEAgLTM5MSw3ICszODksNyBAQCBzdGF0aWMgSU5MSU5FIHVu
c2lnbmVkIGludCB4ODdfc2V0X2RvdWJsZV9wcmVjaXNpb24odm9pZCkgewogICAvLyBSZXNlcnZl
ZCAgICAgICAgICAgICAgICAgICAgICAwMUIKICAgLy8gRG91YmxlIFByZWNpc2lvbiAoNTMtQml0
cykgICAgMTBCCiAgIC8vIEV4dGVuZGVkIFByZWNpc2lvbiAoNjQtQml0cykgIDExQgotICB4ODdf
c2V0X2NvbnRyb2xfd29yZCgobW9kZSAmIH4weDMwMHUpIHwgMHgyMDB1KTsKKyAgeDg3X3NldF9j
b250cm9sX3dvcmQoKG1vZGUgJiB+MHgzMDApIHwgMHgyMDApOwogICByZXR1cm4gbW9kZTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy95djEyY29uZmlnLmMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF9zY2FsZS9nZW5lcmljL3l2MTJjb25maWcuYwppbmRleCBjNTJkYWIw
NTg4MTUuLmVlZTI5MWMzMGQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2Vu
ZXJpYy95djEyY29uZmlnLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfc2NhbGUvZ2VuZXJpYy95djEy
Y29uZmlnLmMKQEAgLTY0LDEwICs2NCw2IEBAIGludCB2cDhfeXYxMl9yZWFsbG9jX2ZyYW1lX2J1
ZmZlcihZVjEyX0JVRkZFUl9DT05GSUcgKnliZiwgaW50IHdpZHRoLAogCiAgICAgaWYgKCF5YmYt
PmJ1ZmZlcl9hbGxvYykgewogICAgICAgeWJmLT5idWZmZXJfYWxsb2MgPSAodWludDhfdCAqKXZw
eF9tZW1hbGlnbigzMiwgZnJhbWVfc2l6ZSk7Ci0gICAgICBpZiAoIXliZi0+YnVmZmVyX2FsbG9j
KSB7Ci0gICAgICAgIHliZi0+YnVmZmVyX2FsbG9jX3N6ID0gMDsKLSAgICAgICAgcmV0dXJuIC0x
OwotICAgICAgfQogI2lmIGRlZmluZWQoX19oYXNfZmVhdHVyZSkKICNpZiBfX2hhc19mZWF0dXJl
KG1lbW9yeV9zYW5pdGl6ZXIpCiAgICAgICAvLyBUaGlzIG1lbXNldCBpcyBuZWVkZWQgZm9yIGZp
eGluZyB0aGUgaXNzdWUgb2YgdXNpbmcgdW5pbml0aWFsaXplZApAQCAtNzksNyArNzUsNyBAQCBp
bnQgdnA4X3l2MTJfcmVhbGxvY19mcmFtZV9idWZmZXIoWVYxMl9CVUZGRVJfQ09ORklHICp5YmYs
IGludCB3aWR0aCwKICAgICAgIHliZi0+YnVmZmVyX2FsbG9jX3N6ID0gZnJhbWVfc2l6ZTsKICAg
ICB9CiAKLSAgICBpZiAoeWJmLT5idWZmZXJfYWxsb2Nfc3ogPCBmcmFtZV9zaXplKSByZXR1cm4g
LTE7CisgICAgaWYgKCF5YmYtPmJ1ZmZlcl9hbGxvYyB8fCB5YmYtPmJ1ZmZlcl9hbGxvY19zeiA8
IGZyYW1lX3NpemUpIHJldHVybiAtMTsKIAogICAgIC8qIE9ubHkgc3VwcG9ydCBhbGxvY2F0aW5n
IGJ1ZmZlcnMgdGhhdCBoYXZlIGEgYm9yZGVyIHRoYXQncyBhIG11bHRpcGxlCiAgICAgICogb2Yg
MzIuIFRoZSBib3JkZXIgcmVzdHJpY3Rpb24gaXMgcmVxdWlyZWQgdG8gZ2V0IDE2LWJ5dGUgYWxp
Z25tZW50IG9mCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF91dGlsL2xvb25nc29uX2ludHJp
bnNpY3MuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X3V0aWwvbG9vbmdzb25faW50cmluc2ljcy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOGI5ZTZkYjAyMzMuLjAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9z
b3VyY2UvbGlidnB4L3ZweF91dGlsL2xvb25nc29uX2ludHJpbnNpY3MuaAorKysgL2Rldi9udWxs
CkBAIC0xLDIwOTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAyMiBUaGUgV2ViTSBw
cm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogdGhhdCBj
YW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl
Ci0gKiB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3Jh
bnQgY2FuIGJlIGZvdW5kCi0gKiBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGlu
ZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGlu
IHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqCi0gKi8KLQotI2lmbmRlZiBWUFhfVlBY
X1VUSUxfTE9PTkdTT05fSU5UUklOU0lDU19IXwotI2RlZmluZSBWUFhfVlBYX1VUSUxfTE9PTkdT
T05fSU5UUklOU0lDU19IXwotCi0vKgotICogQ29weXJpZ2h0IChjKSAyMDIxIExvb25nc29uIFRl
Y2hub2xvZ3kgQ29ycG9yYXRpb24gTGltaXRlZAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs
aWNlbnNlCi0gKiB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UKLSAqIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHBy
b3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqIGluIHRoZSBmaWxlIFBBVEVOVFMu
ICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqIGJlIGZvdW5kIGluIHRo
ZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICoKLSAqIENv
bnRyaWJ1dGVkIGJ5IFNoaXlvdSBZaW4gPHlpbnNoaXlvdS1oZkBsb29uZ3Nvbi5jbj4KLSAqICAg
ICAgICAgICAgICAgIFhpd2VpIEd1ICAgPGd1eGl3ZWktaGZAbG9vbmdzb24uY24+Ci0gKiAgICAg
ICAgICAgICAgICBMdSBXYW5nICAgIDx3YW5nbHVAbG9vbmdzb24uY24+Ci0gKgotICogVGhpcyBm
aWxlIGlzIGEgaGVhZGVyIGZpbGUgZm9yIGxvb25nYXJjaCBidWlsdGluIGV4dGVuc2lvbi4KLSAq
Ci0gKi8KLQotI2lmbmRlZiBMT09OR1NPTl9JTlRSSU5TSUNTX0gKLSNkZWZpbmUgTE9PTkdTT05f
SU5UUklOU0lDU19ICi0KLS8qKgotICogTUFKT1IgdmVyc2lvbjogTWFjcm8gdXNhZ2UgY2hhbmdl
cy4KLSAqIE1JTk9SIHZlcnNpb246IEFkZCBuZXcgZnVuY3Rpb25zLCBvciBidWcgZml4ZXMuCi0g
KiBNSUNSTyB2ZXJzaW9uOiBDb21tZW50IGNoYW5nZXMgb3IgaW1wbGVtZW50YXRpb24gY2hhbmdl
cy4KLSAqLwotI2RlZmluZSBMU09NX1ZFUlNJT05fTUFKT1IgMQotI2RlZmluZSBMU09NX1ZFUlNJ
T05fTUlOT1IgMgotI2RlZmluZSBMU09NX1ZFUlNJT05fTUlDUk8gMQotCi0jZGVmaW5lIERVUDJf
QVJHMShfSU5TLCBfSU4wLCBfSU4xLCBfT1VUMCwgX09VVDEpIFwKLSAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9PVVQwID0gX0lOUyhfSU4w
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX09VVDEgPSBfSU5TKF9JTjEpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIERVUDJfQVJHMihfSU5T
LCBfSU4wLCBfSU4xLCBfSU4yLCBfSU4zLCBfT1VUMCwgX09VVDEpIFwKLSAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9P
VVQwID0gX0lOUyhfSU4wLCBfSU4xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX09VVDEgPSBfSU5TKF9JTjIsIF9JTjMpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIERVUDJfQVJHMyhfSU5TLCBfSU4wLCBfSU4xLCBfSU4y
LCBfSU4zLCBfSU40LCBfSU41LCBfT1VUMCwgX09VVDEpIFwKLSAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9PVVQwID0gX0lOUyhfSU4wLCBfSU4xLCBfSU4yKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX09VVDEgPSBfSU5TKF9JTjMsIF9JTjQsIF9JTjUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi0jZGVmaW5lIERV
UDRfQVJHMShfSU5TLCBfSU4wLCBfSU4xLCBfSU4yLCBfSU4zLCBfT1VUMCwgX09VVDEsIF9PVVQy
LCBfT1VUMykgXAotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzEoX0lOUywgX0lO
MCwgX0lOMSwgX09VVDAsIF9PVVQxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgRFVQMl9BUkcxKF9JTlMsIF9JTjIsIF9JTjMsIF9PVVQyLCBfT1VUMyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLSNkZWZpbmUgRFVQNF9BUkcyKF9JTlMsIF9JTjAs
IF9JTjEsIF9JTjIsIF9JTjMsIF9JTjQsIF9JTjUsIF9JTjYsIF9JTjcsIF9PVVQwLCBcCi0gICAg
ICAgICAgICAgICAgICBfT1VUMSwgX09VVDIsIF9PVVQzKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FS
RzIoX0lOUywgX0lOMCwgX0lOMSwgX0lOMiwgX0lOMywgX09VVDAsIF9PVVQxKTsgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9JTlMsIF9JTjQsIF9JTjUsIF9JTjYsIF9JTjcs
IF9PVVQyLCBfT1VUMyk7ICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLSNkZWZpbmUgRFVQ
NF9BUkczKF9JTlMsIF9JTjAsIF9JTjEsIF9JTjIsIF9JTjMsIF9JTjQsIF9JTjUsIF9JTjYsIF9J
TjcsIF9JTjgsIFwKLSAgICAgICAgICAgICAgICAgIF9JTjksIF9JTjEwLCBfSU4xMSwgX09VVDAs
IF9PVVQxLCBfT1VUMiwgX09VVDMpICAgICAgICAgICAgIFwKLSAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBEVVAyX0FSRzMoX0lOUywgX0lOMCwgX0lOMSwgX0lOMiwgX0lOMywgX0lONCwgX0lO
NSwgX09VVDAsIF9PVVQxKTsgICAgICAgIFwKLSAgICBEVVAyX0FSRzMoX0lOUywgX0lONiwgX0lO
NywgX0lOOCwgX0lOOSwgX0lOMTAsIF9JTjExLCBfT1VUMiwgX09VVDMpOyAgICAgIFwKLSAgfQot
Ci0jaWZkZWYgX19sb29uZ2FyY2hfc3gKLSNpbmNsdWRlIDxsc3hpbnRyaW4uaD4KLS8qCi0gKiA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBEb3QgcHJvZHVjdCAmIGFkZGl0
aW9uIG9mIGJ5dGUgdmVjdG9yIGVsZW1lbnRzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBp
bl9jLCBpbl9oLCBpbl9sCi0gKiAgICAgICAgICAgICAgIE91dHB1dHMgLSBvdXQKLSAqICAgICAg
ICAgICAgICAgUmV0dXJuIFR5cGUgLSBoYWxmd29yZAotICogRGV0YWlscyAgICAgOiBTaWduZWQg
Ynl0ZSBlbGVtZW50cyBmcm9tIGluX2ggYXJlIG11bHRpcGxpZWQgYnkKLSAqICAgICAgICAgICAg
ICAgc2lnbmVkIGJ5dGUgZWxlbWVudHMgZnJvbSBpbl9sLCBhbmQgdGhlbiBhZGRlZCBhZGphY2Vu
dCB0bwotICogICAgICAgICAgICAgICBlYWNoIG90aGVyIHRvIGdldCBhIHJlc3VsdCB0d2ljZSB0
aGUgc2l6ZSBvZiBpbnB1dC4gVGhlbgotICogICAgICAgICAgICAgICB0aGUgcmVzdWx0cyBhcmUg
YWRkZWQgdG8gc2lnbmVkIGhhbGYtd29yZCBlbGVtZW50cyBmcm9tIGluX2MuCi0gKiBFeGFtcGxl
ICAgICA6IG91dCA9IF9fbHN4X3ZkcDJhZGRfaF9iKGluX2MsIGluX2gsIGluX2wpCi0gKiAgICAg
ICAgaW5fYyA6IDEsMiwzLDQsIDEsMiwzLDQKLSAqICAgICAgICBpbl9oIDogMSwyLDMsNCwgNSw2
LDcsOCwgMSwyLDMsNCwgNSw2LDcsOAotICogICAgICAgIGluX2wgOiA4LDcsNiw1LCA0LDMsMiwx
LCA4LDcsNiw1LCA0LDMsMiwxCi0gKiAgICAgICAgIG91dCA6IDIzLDQwLDQxLDI2LCAyMyw0MCw0
MSwyNgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20xMjhp
IF9fbHN4X3ZkcDJhZGRfaF9iKF9fbTEyOGkgaW5fYywgX19tMTI4aSBpbl9oLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgaW5fbCkgewotICBfX20xMjhp
IG91dDsKLQotICBvdXQgPSBfX2xzeF92bWFkZHdldl9oX2IoaW5fYywgaW5faCwgaW5fbCk7Ci0g
IG91dCA9IF9fbHN4X3ZtYWRkd29kX2hfYihvdXQsIGluX2gsIGluX2wpOwotICByZXR1cm4gb3V0
OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogRG90
IHByb2R1Y3QgJiBhZGRpdGlvbiBvZiBieXRlIHZlY3RvciBlbGVtZW50cwotICogQXJndW1lbnRz
ICAgOiBJbnB1dHMgIC0gaW5fYywgaW5faCwgaW5fbAotICogICAgICAgICAgICAgICBPdXRwdXRz
IC0gb3V0Ci0gKiAgICAgICAgICAgICAgIFJldHVybiBUeXBlIC0gaGFsZndvcmQKLSAqIERldGFp
bHMgICAgIDogVW5zaWduZWQgYnl0ZSBlbGVtZW50cyBmcm9tIGluX2ggYXJlIG11bHRpcGxpZWQg
YnkKLSAqICAgICAgICAgICAgICAgdW5zaWduZWQgYnl0ZSBlbGVtZW50cyBmcm9tIGluX2wsIGFu
ZCB0aGVuIGFkZGVkIGFkamFjZW50IHRvCi0gKiAgICAgICAgICAgICAgIGVhY2ggb3RoZXIgdG8g
Z2V0IGEgcmVzdWx0IHR3aWNlIHRoZSBzaXplIG9mIGlucHV0LgotICogICAgICAgICAgICAgICBU
aGUgcmVzdWx0cyBhcmUgYWRkZWQgdG8gc2lnbmVkIGhhbGYtd29yZCBlbGVtZW50cyBmcm9tIGlu
X2MuCi0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9fbHN4X3ZkcDJhZGRfaF9idShpbl9jLCBpbl9o
LCBpbl9sKQotICogICAgICAgIGluX2MgOiAxLDIsMyw0LCAxLDIsMyw0Ci0gKiAgICAgICAgaW5f
aCA6IDEsMiwzLDQsIDUsNiw3LDgsIDEsMiwzLDQsIDUsNiw3LDgKLSAqICAgICAgICBpbl9sIDog
OCw3LDYsNSwgNCwzLDIsMSwgOCw3LDYsNSwgNCwzLDIsMQotICogICAgICAgICBvdXQgOiAyMyw0
MCw0MSwyNiwgMjMsNDAsNDEsMjYKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLXN0YXRp
YyBpbmxpbmUgX19tMTI4aSBfX2xzeF92ZHAyYWRkX2hfYnUoX19tMTI4aSBpbl9jLCBfX20xMjhp
IGluX2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkg
aW5fbCkgewotICBfX20xMjhpIG91dDsKLQotICBvdXQgPSBfX2xzeF92bWFkZHdldl9oX2J1KGlu
X2MsIGluX2gsIGluX2wpOwotICBvdXQgPSBfX2xzeF92bWFkZHdvZF9oX2J1KG91dCwgaW5faCwg
aW5fbCk7Ci0gIHJldHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
ICogRGVzY3JpcHRpb24gOiBEb3QgcHJvZHVjdCAmIGFkZGl0aW9uIG9mIGJ5dGUgdmVjdG9yIGVs
ZW1lbnRzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBpbl9jLCBpbl9oLCBpbl9sCi0gKiAg
ICAgICAgICAgICAgIE91dHB1dHMgLSBvdXQKLSAqICAgICAgICAgICAgICAgUmV0dXJuIFR5cGUg
LSBoYWxmd29yZAotICogRGV0YWlscyAgICAgOiBVbnNpZ25lZCBieXRlIGVsZW1lbnRzIGZyb20g
aW5faCBhcmUgbXVsdGlwbGllZCBieQotICogICAgICAgICAgICAgICBzaWduZWQgYnl0ZSBlbGVt
ZW50cyBmcm9tIGluX2wsIGFuZCB0aGVuIGFkZGVkIGFkamFjZW50IHRvCi0gKiAgICAgICAgICAg
ICAgIGVhY2ggb3RoZXIgdG8gZ2V0IGEgcmVzdWx0IHR3aWNlIHRoZSBzaXplIG9mIGlucHV0Lgot
ICogICAgICAgICAgICAgICBUaGUgcmVzdWx0cyBhcmUgYWRkZWQgdG8gc2lnbmVkIGhhbGYtd29y
ZCBlbGVtZW50cyBmcm9tIGluX2MuCi0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9fbHN4X3ZkcDJh
ZGRfaF9idV9iKGluX2MsIGluX2gsIGluX2wpCi0gKiAgICAgICAgaW5fYyA6IDEsMSwxLDEsIDEs
MSwxLDEKLSAqICAgICAgICBpbl9oIDogMSwyLDMsNCwgNSw2LDcsOCwgMSwyLDMsNCwgNSw2LDcs
OAotICogICAgICAgIGluX2wgOiAtMSwtMiwtMywtNCwgLTUsLTYsLTcsLTgsIDEsMiwzLDQsIDUs
Niw3LDgKLSAqICAgICAgICAgb3V0IDogLTQsLTI0LC02MCwtMTEyLCA2LDI2LDYyLDExNAotICog
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20xMjhpIF9fbHN4X3Zk
cDJhZGRfaF9idV9iKF9fbTEyOGkgaW5fYywgX19tMTI4aSBpbl9oLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTEyOGkgaW5fbCkgewotICBfX20xMjhpIG91
dDsKLQotICBvdXQgPSBfX2xzeF92bWFkZHdldl9oX2J1X2IoaW5fYywgaW5faCwgaW5fbCk7Ci0g
IG91dCA9IF9fbHN4X3ZtYWRkd29kX2hfYnVfYihvdXQsIGluX2gsIGluX2wpOwotICByZXR1cm4g
b3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDog
RG90IHByb2R1Y3QgJiBhZGRpdGlvbiBvZiBoYWxmLXdvcmQgdmVjdG9yIGVsZW1lbnRzCi0gKiBB
cmd1bWVudHMgICA6IElucHV0cyAgLSBpbl9jLCBpbl9oLCBpbl9sCi0gKiAgICAgICAgICAgICAg
IE91dHB1dHMgLSBvdXQKLSAqICAgICAgICAgICAgICAgUmV0dXJuIFR5cGUgLSBfX20xMjhpCi0g
KiBEZXRhaWxzICAgICA6IFNpZ25lZCBoYWxmLXdvcmQgZWxlbWVudHMgZnJvbSBpbl9oIGFyZSBt
dWx0aXBsaWVkIGJ5Ci0gKiAgICAgICAgICAgICAgIHNpZ25lZCBoYWxmLXdvcmQgZWxlbWVudHMg
ZnJvbSBpbl9sLCBhbmQgdGhlbiBhZGRlZCBhZGphY2VudCB0bwotICogICAgICAgICAgICAgICBl
YWNoIG90aGVyIHRvIGdldCBhIHJlc3VsdCB0d2ljZSB0aGUgc2l6ZSBvZiBpbnB1dC4KLSAqICAg
ICAgICAgICAgICAgVGhlbiB0aGUgcmVzdWx0cyBhcmUgYWRkZWQgdG8gc2lnbmVkIHdvcmQgZWxl
bWVudHMgZnJvbSBpbl9jLgotICogRXhhbXBsZSAgICAgOiBvdXQgPSBfX2xzeF92ZHAyYWRkX2hf
Yihpbl9jLCBpbl9oLCBpbl9sKQotICogICAgICAgIGluX2MgOiAxLDIsMyw0Ci0gKiAgICAgICAg
aW5faCA6IDEsMiwzLDQsIDUsNiw3LDgKLSAqICAgICAgICBpbl9sIDogOCw3LDYsNSwgNCwzLDIs
MQotICogICAgICAgICBvdXQgOiAyMyw0MCw0MSwyNgotICogPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LSAqLwotc3RhdGljIGlubGluZSBfX20xMjhpIF9fbHN4X3ZkcDJhZGRfd19oKF9fbTEyOGkgaW5f
YywgX19tMTI4aSBpbl9oLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF9fbTEyOGkgaW5fbCkgewotICBfX20xMjhpIG91dDsKLQotICBvdXQgPSBfX2xzeF92bWFkZHdl
dl93X2goaW5fYywgaW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbHN4X3ZtYWRkd29kX3dfaChvdXQs
IGluX2gsIGluX2wpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLSAqIERlc2NyaXB0aW9uIDogRG90IHByb2R1Y3Qgb2YgYnl0ZSB2ZWN0b3IgZWxlbWVu
dHMKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIGluX2gsIGluX2wKLSAqICAgICAgICAgICAg
ICAgT3V0cHV0cyAtIG91dAotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIGhhbGZ3b3Jk
Ci0gKiBEZXRhaWxzICAgICA6IFNpZ25lZCBieXRlIGVsZW1lbnRzIGZyb20gaW5faCBhcmUgbXVs
dGlwbGllZCBieQotICogICAgICAgICAgICAgICBzaWduZWQgYnl0ZSBlbGVtZW50cyBmcm9tIGlu
X2wsIGFuZCB0aGVuIGFkZGVkIGFkamFjZW50IHRvCi0gKiAgICAgICAgICAgICAgIGVhY2ggb3Ro
ZXIgdG8gZ2V0IGEgcmVzdWx0IHR3aWNlIHRoZSBzaXplIG9mIGlucHV0LgotICogRXhhbXBsZSAg
ICAgOiBvdXQgPSBfX2xzeF92ZHAyX2hfYihpbl9oLCBpbl9sKQotICogICAgICAgIGluX2ggOiAx
LDIsMyw0LCA1LDYsNyw4LCAxLDIsMyw0LCA1LDYsNyw4Ci0gKiAgICAgICAgaW5fbCA6IDgsNyw2
LDUsIDQsMywyLDEsIDgsNyw2LDUsIDQsMywyLDEKLSAqICAgICAgICAgb3V0IDogMjIsMzgsMzgs
MjIsIDIyLDM4LDM4LDIyCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5s
aW5lIF9fbTEyOGkgX19sc3hfdmRwMl9oX2IoX19tMTI4aSBpbl9oLCBfX20xMjhpIGluX2wpIHsK
LSAgX19tMTI4aSBvdXQ7Ci0KLSAgb3V0ID0gX19sc3hfdm11bHdldl9oX2IoaW5faCwgaW5fbCk7
Ci0gIG91dCA9IF9fbHN4X3ZtYWRkd29kX2hfYihvdXQsIGluX2gsIGluX2wpOwotICByZXR1cm4g
b3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDog
RG90IHByb2R1Y3Qgb2YgYnl0ZSB2ZWN0b3IgZWxlbWVudHMKLSAqIEFyZ3VtZW50cyAgIDogSW5w
dXRzICAtIGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0cyAtIG91dAotICogICAg
ICAgICAgICAgICBSZXR1cm4gVHlwZSAtIGhhbGZ3b3JkCi0gKiBEZXRhaWxzICAgICA6IFVuc2ln
bmVkIGJ5dGUgZWxlbWVudHMgZnJvbSBpbl9oIGFyZSBtdWx0aXBsaWVkIGJ5Ci0gKiAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGJ5dGUgZWxlbWVudHMgZnJvbSBpbl9sLCBhbmQgdGhlbiBhZGRlZCBh
ZGphY2VudCB0bwotICogICAgICAgICAgICAgICBlYWNoIG90aGVyIHRvIGdldCBhIHJlc3VsdCB0
d2ljZSB0aGUgc2l6ZSBvZiBpbnB1dC4KLSAqIEV4YW1wbGUgICAgIDogb3V0ID0gX19sc3hfdmRw
Ml9oX2J1KGluX2gsIGluX2wpCi0gKiAgICAgICAgaW5faCA6IDEsMiwzLDQsIDUsNiw3LDgsIDEs
MiwzLDQsIDUsNiw3LDgKLSAqICAgICAgICBpbl9sIDogOCw3LDYsNSwgNCwzLDIsMSwgOCw3LDYs
NSwgNCwzLDIsMQotICogICAgICAgICBvdXQgOiAyMiwzOCwzOCwyMiwgMjIsMzgsMzgsMjIKLSAq
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLXN0YXRpYyBpbmxpbmUgX19tMTI4aSBfX2xzeF92
ZHAyX2hfYnUoX19tMTI4aSBpbl9oLCBfX20xMjhpIGluX2wpIHsKLSAgX19tMTI4aSBvdXQ7Ci0K
LSAgb3V0ID0gX19sc3hfdm11bHdldl9oX2J1KGluX2gsIGluX2wpOwotICBvdXQgPSBfX2xzeF92
bWFkZHdvZF9oX2J1KG91dCwgaW5faCwgaW5fbCk7Ci0gIHJldHVybiBvdXQ7Ci19Ci0KLS8qCi0g
KiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBEb3QgcHJvZHVjdCBvZiBi
eXRlIHZlY3RvciBlbGVtZW50cwotICogQXJndW1lbnRzICAgOiBJbnB1dHMgIC0gaW5faCwgaW5f
bAotICogICAgICAgICAgICAgICBPdXRwdXRzIC0gb3V0Ci0gKiAgICAgICAgICAgICAgIFJldHVy
biBUeXBlIC0gaGFsZndvcmQKLSAqIERldGFpbHMgICAgIDogVW5zaWduZWQgYnl0ZSBlbGVtZW50
cyBmcm9tIGluX2ggYXJlIG11bHRpcGxpZWQgYnkKLSAqICAgICAgICAgICAgICAgc2lnbmVkIGJ5
dGUgZWxlbWVudHMgZnJvbSBpbl9sLCBhbmQgdGhlbiBhZGRlZCBhZGphY2VudCB0bwotICogICAg
ICAgICAgICAgICBlYWNoIG90aGVyIHRvIGdldCBhIHJlc3VsdCB0d2ljZSB0aGUgc2l6ZSBvZiBp
bnB1dC4KLSAqIEV4YW1wbGUgICAgIDogb3V0ID0gX19sc3hfdmRwMl9oX2J1X2IoaW5faCwgaW5f
bCkKLSAqICAgICAgICBpbl9oIDogMSwyLDMsNCwgNSw2LDcsOCwgMSwyLDMsNCwgNSw2LDcsOAot
ICogICAgICAgIGluX2wgOiA4LDcsNiw1LCA0LDMsMiwxLCA4LDcsNiw1LCA0LDMsMiwtMQotICog
ICAgICAgICBvdXQgOiAyMiwzOCwzOCwyMiwgMjIsMzgsMzgsNgotICogPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20xMjhpIF9fbHN4X3ZkcDJfaF9idV9iKF9fbTEy
OGkgaW5faCwgX19tMTI4aSBpbl9sKSB7Ci0gIF9fbTEyOGkgb3V0OwotCi0gIG91dCA9IF9fbHN4
X3ZtdWx3ZXZfaF9idV9iKGluX2gsIGluX2wpOwotICBvdXQgPSBfX2xzeF92bWFkZHdvZF9oX2J1
X2Iob3V0LCBpbl9oLCBpbl9sKTsKLSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IERvdCBwcm9kdWN0IG9mIGJ5dGUgdmVjdG9y
IGVsZW1lbnRzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBpbl9oLCBpbl9sCi0gKiAgICAg
ICAgICAgICAgIE91dHB1dHMgLSBvdXQKLSAqICAgICAgICAgICAgICAgUmV0dXJuIFR5cGUgLSBo
YWxmd29yZAotICogRGV0YWlscyAgICAgOiBTaWduZWQgYnl0ZSBlbGVtZW50cyBmcm9tIGluX2gg
YXJlIG11bHRpcGxpZWQgYnkKLSAqICAgICAgICAgICAgICAgc2lnbmVkIGJ5dGUgZWxlbWVudHMg
ZnJvbSBpbl9sLCBhbmQgdGhlbiBhZGRlZCBhZGphY2VudCB0bwotICogICAgICAgICAgICAgICBl
YWNoIG90aGVyIHRvIGdldCBhIHJlc3VsdCB0d2ljZSB0aGUgc2l6ZSBvZiBpbnB1dC4KLSAqIEV4
YW1wbGUgICAgIDogb3V0ID0gX19sc3hfdmRwMl93X2goaW5faCwgaW5fbCkKLSAqICAgICAgICBp
bl9oIDogMSwyLDMsNCwgNSw2LDcsOAotICogICAgICAgIGluX2wgOiA4LDcsNiw1LCA0LDMsMiwx
Ci0gKiAgICAgICAgIG91dCA6IDIyLDM4LDM4LDIyCi0gKiA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
ICovCi1zdGF0aWMgaW5saW5lIF9fbTEyOGkgX19sc3hfdmRwMl93X2goX19tMTI4aSBpbl9oLCBf
X20xMjhpIGluX2wpIHsKLSAgX19tMTI4aSBvdXQ7Ci0KLSAgb3V0ID0gX19sc3hfdm11bHdldl93
X2goaW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbHN4X3ZtYWRkd29kX3dfaChvdXQsIGluX2gsIGlu
X2wpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAq
IERlc2NyaXB0aW9uIDogRG90IHByb2R1Y3Qgb2YgYnl0ZSB2ZWN0b3IgZWxlbWVudHMKLSAqIEFy
Z3VtZW50cyAgIDogSW5wdXRzICAtIGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0
cyAtIG91dAotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIGRvdWJsZQotICogRGV0YWls
cyAgICAgOiBTaWduZWQgYnl0ZSBlbGVtZW50cyBmcm9tIGluX2ggYXJlIG11bHRpcGxpZWQgYnkK
LSAqICAgICAgICAgICAgICAgc2lnbmVkIGJ5dGUgZWxlbWVudHMgZnJvbSBpbl9sLCBhbmQgdGhl
biBhZGRlZCBhZGphY2VudCB0bwotICogICAgICAgICAgICAgICBlYWNoIG90aGVyIHRvIGdldCBh
IHJlc3VsdCB0d2ljZSB0aGUgc2l6ZSBvZiBpbnB1dC4KLSAqIEV4YW1wbGUgICAgIDogb3V0ID0g
X19sc3hfdmRwMl9kX3coaW5faCwgaW5fbCkKLSAqICAgICAgICBpbl9oIDogMSwyLDMsNAotICog
ICAgICAgIGluX2wgOiA4LDcsNiw1Ci0gKiAgICAgICAgIG91dCA6IDIyLDM4Ci0gKiA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9fbTEyOGkgX19sc3hfdmRwMl9kX3co
X19tMTI4aSBpbl9oLCBfX20xMjhpIGluX2wpIHsKLSAgX19tMTI4aSBvdXQ7Ci0KLSAgb3V0ID0g
X19sc3hfdm11bHdldl9kX3coaW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbHN4X3ZtYWRkd29kX2Rf
dyhvdXQsIGluX2gsIGluX2wpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogQ2xpcCBhbGwgaGFsZndvcmQgZWxlbWVudHMg
b2YgaW5wdXQgdmVjdG9yIGJldHdlZW4gbWluICYgbWF4Ci0gKiAgICAgICAgICAgICAgIG91dCA9
ICgoX2luKSA8IChtaW4pKSA/IChtaW4pIDogKCgoX2luKSA+IChtYXgpKSA/IChtYXgpIDoKLSAq
ICAgICAgICAgICAgICAgKF9pbikpCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBfaW4gIChp
bnB1dCB2ZWN0b3IpCi0gKiAgICAgICAgICAgICAgICAgICAgICAgLSBtaW4gIChtaW4gdGhyZXNo
b2xkKQotICogICAgICAgICAgICAgICAgICAgICAgIC0gbWF4ICAobWF4IHRocmVzaG9sZCkKLSAq
ICAgICAgICAgICAgICAgT3V0cHV0cyAtIG91dCAgKG91dHB1dCB2ZWN0b3Igd2l0aCBjbGlwcGVk
IGVsZW1lbnRzKQotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIHNpZ25lZCBoYWxmd29y
ZAotICogRXhhbXBsZSAgICAgOiBvdXQgPSBfX2xzeF92Y2xpcF9oKF9pbikKLSAqICAgICAgICAg
X2luIDogLTgsMiwyODAsMjQ5LCAtOCwyNTUsMjgwLDI0OQotICogICAgICAgICBtaW4gOiAxLDEs
MSwxLCAxLDEsMSwxCi0gKiAgICAgICAgIG1heCA6IDksOSw5LDksIDksOSw5LDkKLSAqICAgICAg
ICAgb3V0IDogMSwyLDksOSwgMSw5LDksOQotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwot
c3RhdGljIGlubGluZSBfX20xMjhpIF9fbHN4X3ZjbGlwX2goX19tMTI4aSBfaW4sIF9fbTEyOGkg
bWluLCBfX20xMjhpIG1heCkgewotICBfX20xMjhpIG91dDsKLQotICBvdXQgPSBfX2xzeF92bWF4
X2gobWluLCBfaW4pOwotICBvdXQgPSBfX2xzeF92bWluX2gobWF4LCBvdXQpOwotICByZXR1cm4g
b3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDog
U2V0IGVhY2ggZWxlbWVudCBvZiB2ZWN0b3IgYmV0d2VlbiAwIGFuZCAyNTUKLSAqIEFyZ3VtZW50
cyAgIDogSW5wdXRzICAtIF9pbgotICogICAgICAgICAgICAgICBPdXRwdXRzIC0gb3V0Ci0gKiAg
ICAgICAgICAgICAgIFJldHVybiBUeXBlIC0gaGFsZndvcmQKLSAqIERldGFpbHMgICAgIDogU2ln
bmVkIGJ5dGUgZWxlbWVudHMgZnJvbSBfaW4gYXJlIGNsYW1wZWQgYmV0d2VlbiAwIGFuZCAyNTUu
Ci0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9fbHN4X3ZjbGlwMjU1X2goX2luKQotICogICAgICAg
ICBfaW4gOiAtOCwyNTUsMjgwLDI0OSwgLTgsMjU1LDI4MCwyNDkKLSAqICAgICAgICAgb3V0IDog
MCwyNTUsMjU1LDI0OSwgMCwyNTUsMjU1LDI0OQotICogPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAq
Lwotc3RhdGljIGlubGluZSBfX20xMjhpIF9fbHN4X3ZjbGlwMjU1X2goX19tMTI4aSBfaW4pIHsK
LSAgX19tMTI4aSBvdXQ7Ci0KLSAgb3V0ID0gX19sc3hfdm1heGlfaChfaW4sIDApOwotICBvdXQg
PSBfX2xzeF92c2F0X2h1KG91dCwgNyk7Ci0gIHJldHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBTZXQgZWFjaCBlbGVtZW50IG9mIHZl
Y3RvciBiZXR3ZWVuIDAgYW5kIDI1NQotICogQXJndW1lbnRzICAgOiBJbnB1dHMgIC0gX2luCi0g
KiAgICAgICAgICAgICAgIE91dHB1dHMgLSBvdXQKLSAqICAgICAgICAgICAgICAgUmV0dXJuIFR5
cGUgLSB3b3JkCi0gKiBEZXRhaWxzICAgICA6IFNpZ25lZCBieXRlIGVsZW1lbnRzIGZyb20gX2lu
IGFyZSBjbGFtcGVkIGJldHdlZW4gMCBhbmQgMjU1LgotICogRXhhbXBsZSAgICAgOiBvdXQgPSBf
X2xzeF92Y2xpcDI1NV93KF9pbikKLSAqICAgICAgICAgX2luIDogLTgsMjU1LDI4MCwyNDkKLSAq
ICAgICAgICAgb3V0IDogMCwyNTUsMjU1LDI0OQotICogPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAq
Lwotc3RhdGljIGlubGluZSBfX20xMjhpIF9fbHN4X3ZjbGlwMjU1X3coX19tMTI4aSBfaW4pIHsK
LSAgX19tMTI4aSBvdXQ7Ci0KLSAgb3V0ID0gX19sc3hfdm1heGlfdyhfaW4sIDApOwotICBvdXQg
PSBfX2xzeF92c2F0X3d1KG91dCwgNyk7Ci0gIHJldHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBTd2FwIHR3byB2YXJpYWJsZXMKLSAq
IEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIF9pbjAsIF9pbjEKLSAqICAgICAgICAgICAgICAgT3V0
cHV0cyAtIF9pbjAsIF9pbjEgKGluLXBsYWNlKQotICogRGV0YWlscyAgICAgOiBTd2FwcGluZyBv
ZiB0d28gaW5wdXQgdmFyaWFibGVzIHVzaW5nIHhvcgotICogRXhhbXBsZSAgICAgOiBMU1hfU1dB
UChfaW4wLCBfaW4xKQotICogICAgICAgIF9pbjAgOiAxLDIsMyw0Ci0gKiAgICAgICAgX2luMSA6
IDUsNiw3LDgKLSAqICAgX2luMChvdXQpIDogNSw2LDcsOAotICogICBfaW4xKG91dCkgOiAxLDIs
Myw0Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIExTWF9TV0FQKF9pbjAs
IF9pbjEpICAgICAgICAgXAotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfaW4wID0gX19sc3hfdnhvcl92KF9pbjAsIF9pbjEpOyBcCi0gICAgX2luMSA9IF9fbHN4
X3Z4b3JfdihfaW4wLCBfaW4xKTsgXAotICAgIF9pbjAgPSBfX2xzeF92eG9yX3YoX2luMCwgX2lu
MSk7IFwKLSAgfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9u
IDogVHJhbnNwb3NlIDR4NCBibG9jayB3aXRoIHdvcmQgZWxlbWVudHMgaW4gdmVjdG9ycwotICog
QXJndW1lbnRzICAgOiBJbnB1dHMgIC0gaW4wLCBpbjEsIGluMiwgaW4zCi0gKiAgICAgICAgICAg
ICAgIE91dHB1dHMgLSBvdXQwLCBvdXQxLCBvdXQyLCBvdXQzCi0gKiBEZXRhaWxzICAgICA6Ci0g
KiBFeGFtcGxlICAgICA6Ci0gKiAgICAgICAgICAgICAgIDEsIDIsIDMsIDQgICAgICAgICAgICAx
LCA1LCA5LDEzCi0gKiAgICAgICAgICAgICAgIDUsIDYsIDcsIDggICAgdG8gICAgICAyLCA2LDEw
LDE0Ci0gKiAgICAgICAgICAgICAgIDksMTAsMTEsMTIgID09PT09PiAgICAzLCA3LDExLDE1Ci0g
KiAgICAgICAgICAgICAgMTMsMTQsMTUsMTYgICAgICAgICAgICA0LCA4LDEyLDE2Ci0gKiA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIExTWF9UUkFOU1BPU0U0eDRfVyhfaW4wLCBf
aW4xLCBfaW4yLCBfaW4zLCBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MykgXAotICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIF90MCwgX3QxLCBfdDIsIF90MzsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF90MCA9IF9fbHN4X3ZpbHZsX3coX2luMSwgX2luMCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdDEgPSBfX2xzeF92aWx2aF93
KF9pbjEsIF9pbjApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX3QyID0gX19sc3hfdmlsdmxfdyhfaW4zLCBfaW4yKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90MyA9IF9fbHN4X3ZpbHZoX3coX2luMywg
X2luMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
b3V0MCA9IF9fbHN4X3ZpbHZsX2QoX3QyLCBfdDApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xzeF92aWx2aF9kKF90MiwgX3QwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQyID0g
X19sc3hfdmlsdmxfZChfdDMsIF90MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfb3V0MyA9IF9fbHN4X3ZpbHZoX2QoX3QzLCBfdDEpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotLyoKLSAqID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IFRyYW5zcG9zZSA4eDggYmxvY2sgd2l0
aCBieXRlIGVsZW1lbnRzIGluIHZlY3RvcnMKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIF9p
bjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9pbjQsIF9pbjUsIF9pbjYsIF9pbjcKLSAqICAgICAgICAg
ICAgICAgT3V0cHV0cyAtIF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQzLCBfb3V0NCwgX291dDUs
IF9vdXQ2LAotICogICAgICAgICAgICAgICBfb3V0NwotICogRGV0YWlscyAgICAgOiBUaGUgcm93
cyBvZiB0aGUgbWF0cml4IGJlY29tZSBjb2x1bW5zLCBhbmQgdGhlIGNvbHVtbnMKLSAqICAgICAg
ICAgICAgICAgYmVjb21lIHJvd3MuCi0gKiBFeGFtcGxlICAgICA6IExTWF9UUkFOU1BPU0U4eDhf
QgotICogICAgICAgIF9pbjAgOiAwMCwwMSwwMiwwMywwNCwwNSwwNiwwNywgMDAsMDAsMDAsMDAs
MDAsMDAsMDAsMDAKLSAqICAgICAgICBfaW4xIDogMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsIDAw
LDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKiAgICAgICAgX2luMiA6IDIwLDIxLDIyLDIzLDI0LDI1
LDI2LDI3LCAwMCwwMCwwMCwwMCwwMCwwMCwwMCwwMAotICogICAgICAgIF9pbjMgOiAzMCwzMSwz
MiwzMywzNCwzNSwzNiwzNywgMDAsMDAsMDAsMDAsMDAsMDAsMDAsMDAKLSAqICAgICAgICBfaW40
IDogNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsIDAwLDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKiAg
ICAgICAgX2luNSA6IDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LCAwMCwwMCwwMCwwMCwwMCwwMCww
MCwwMAotICogICAgICAgIF9pbjYgOiA2MCw2MSw2Miw2Myw2NCw2NSw2Niw2NywgMDAsMDAsMDAs
MDAsMDAsMDAsMDAsMDAKLSAqICAgICAgICBfaW43IDogNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcs
IDAwLDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKgotICogICAgICBfIG91dDAgOiAwMCwxMCwyMCwz
MCw0MCw1MCw2MCw3MCwgMDAsMDAsMDAsMDAsMDAsMDAsMDAsMDAKLSAqICAgICAgXyBvdXQxIDog
MDEsMTEsMjEsMzEsNDEsNTEsNjEsNzEsIDAwLDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKiAgICAg
IF8gb3V0MiA6IDAyLDEyLDIyLDMyLDQyLDUyLDYyLDcyLCAwMCwwMCwwMCwwMCwwMCwwMCwwMCww
MAotICogICAgICBfIG91dDMgOiAwMywxMywyMywzMyw0Myw1Myw2Myw3MywgMDAsMDAsMDAsMDAs
MDAsMDAsMDAsMDAKLSAqICAgICAgXyBvdXQ0IDogMDQsMTQsMjQsMzQsNDQsNTQsNjQsNzQsIDAw
LDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKiAgICAgIF8gb3V0NSA6IDA1LDE1LDI1LDM1LDQ1LDU1
LDY1LDc1LCAwMCwwMCwwMCwwMCwwMCwwMCwwMCwwMAotICogICAgICBfIG91dDYgOiAwNiwxNiwy
NiwzNiw0Niw1Niw2Niw3NiwgMDAsMDAsMDAsMDAsMDAsMDAsMDAsMDAKLSAqICAgICAgXyBvdXQ3
IDogMDcsMTcsMjcsMzcsNDcsNTcsNjcsNzcsIDAwLDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKiA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIExTWF9UUkFOU1BPU0U4eDhfQihfaW4w
LCBfaW4xLCBfaW4yLCBfaW4zLCBfaW40LCBfaW41LCBfaW42LCBfaW43LCAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMsIF9vdXQ0LCBfb3V0
NSwgX291dDYsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3KSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9fbTEyOGkgemVybyA9IHsgMCB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIHNodWY4ID0geyAweDBGMEUwRDBDMEIw
QTA5MDgsIDB4MTcxNjE1MTQxMzEyMTExMCB9OyAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBf
dDAsIF90MSwgX3QyLCBfdDMsIF90NCwgX3Q1LCBfdDYsIF90NzsgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdDAgPSBfX2xzeF92aWx2bF9iKF9p
bjIsIF9pbjApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X3QxID0gX19sc3hfdmlsdmxfYihfaW4zLCBfaW4xKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF90MiA9IF9fbHN4X3ZpbHZsX2IoX2luNiwgX2luNCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdDMgPSBfX2xzeF92
aWx2bF9iKF9pbjcsIF9pbjUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX3Q0ID0gX19sc3hfdmlsdmxfYihfdDEsIF90MCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90NSA9IF9fbHN4X3ZpbHZoX2IoX3QxLCBf
dDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdDYg
PSBfX2xzeF92aWx2bF9iKF90MywgX3QyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX3Q3ID0gX19sc3hfdmlsdmhfYihfdDMsIF90Mik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sc3hfdmls
dmxfdyhfdDYsIF90NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfb3V0MiA9IF9fbHN4X3ZpbHZoX3coX3Q2LCBfdDQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDQgPSBfX2xzeF92aWx2bF93KF90NywgX3Q1
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2ID0g
X19sc3hfdmlsdmhfdyhfdDcsIF90NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfb3V0MSA9IF9fbHN4X3ZzaHVmX2IoemVybywgX291dDAsIHNodWY4KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDMgPSBfX2xzeF92c2h1Zl9i
KHplcm8sIF9vdXQyLCBzaHVmOCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9vdXQ1ID0gX19sc3hfdnNodWZfYih6ZXJvLCBfb3V0NCwgc2h1ZjgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NyA9IF9fbHN4X3ZzaHVmX2IoemVybywgX291dDYs
IHNodWY4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotLyoKLSAqID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IFRyYW5zcG9zZSA4eDggYmxvY2sg
d2l0aCBoYWxmLXdvcmQgZWxlbWVudHMgaW4gdmVjdG9ycwotICogQXJndW1lbnRzICAgOiBJbnB1
dHMgIC0gaW4wLCBpbjEsIGluMiwgaW4zLCBpbjQsIGluNSwgaW42LCBpbjcKLSAqICAgICAgICAg
ICAgICAgT3V0cHV0cyAtIG91dDAsIG91dDEsIG91dDIsIG91dDMsIG91dDQsIG91dDUsIG91dDYs
IG91dDcKLSAqIERldGFpbHMgICAgIDoKLSAqIEV4YW1wbGUgICAgIDoKLSAqICAgICAgICAgICAg
ICAwMCwwMSwwMiwwMywwNCwwNSwwNiwwNyAgICAgICAgICAgMDAsMTAsMjAsMzAsNDAsNTAsNjAs
NzAKLSAqICAgICAgICAgICAgICAxMCwxMSwxMiwxMywxNCwxNSwxNiwxNyAgICAgICAgICAgMDEs
MTEsMjEsMzEsNDEsNTEsNjEsNzEKLSAqICAgICAgICAgICAgICAyMCwyMSwyMiwyMywyNCwyNSwy
NiwyNyAgICAgICAgICAgMDIsMTIsMjIsMzIsNDIsNTIsNjIsNzIKLSAqICAgICAgICAgICAgICAz
MCwzMSwzMiwzMywzNCwzNSwzNiwzNyAgICB0byAgICAgMDMsMTMsMjMsMzMsNDMsNTMsNjMsNzMK
LSAqICAgICAgICAgICAgICA0MCw0MSw0Miw0Myw0NCw0NSw0Niw0NyAgPT09PT09PiAgMDQsMTQs
MjQsMzQsNDQsNTQsNjQsNzQKLSAqICAgICAgICAgICAgICA1MCw1MSw1Miw1Myw1NCw1NSw1Niw1
NyAgICAgICAgICAgMDUsMTUsMjUsMzUsNDUsNTUsNjUsNzUKLSAqICAgICAgICAgICAgICA2MCw2
MSw2Miw2Myw2NCw2NSw2Niw2NyAgICAgICAgICAgMDYsMTYsMjYsMzYsNDYsNTYsNjYsNzYKLSAq
ICAgICAgICAgICAgICA3MCw3MSw3Miw3Myw3NCw3NSw3Niw3NyAgICAgICAgICAgMDcsMTcsMjcs
MzcsNDcsNTcsNjcsNzcKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLSNkZWZpbmUgTFNY
X1RSQU5TUE9TRTh4OF9IKF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9pbjQsIF9pbjUsIF9pbjYs
IF9pbjcsICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBfb3V0MCwgX291dDEsIF9vdXQy
LCBfb3V0MywgX291dDQsIF9vdXQ1LCBfb3V0NiwgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgX291dDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBfczAsIF9zMSwgX3QwLCBfdDEsIF90Miwg
X3QzLCBfdDQsIF90NSwgX3Q2LCBfdDc7ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBfczAgPSBfX2xzeF92aWx2bF9oKF9pbjYsIF9pbjQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3MxID0gX19sc3hfdmlsdmxfaChfaW43
LCBfaW41KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90
MCA9IF9fbHN4X3ZpbHZsX2goX3MxLCBfczApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfdDEgPSBfX2xzeF92aWx2aF9oKF9zMSwgX3MwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3MwID0gX19sc3hfdmls
dmhfaChfaW42LCBfaW40KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9zMSA9IF9fbHN4X3ZpbHZoX2goX2luNywgX2luNSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdDIgPSBfX2xzeF92aWx2bF9oKF9zMSwgX3Mw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3QzID0g
X19sc3hfdmlsdmhfaChfczEsIF9zMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9zMCA9IF9fbHN4X3ZpbHZsX2goX2luMiwgX2luMCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfczEgPSBfX2xzeF92aWx2bF9o
KF9pbjMsIF9pbjEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX3Q0ID0gX19sc3hfdmlsdmxfaChfczEsIF9zMCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF90NSA9IF9fbHN4X3ZpbHZoX2goX3MxLCBfczApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfczAgPSBfX2xz
eF92aWx2aF9oKF9pbjIsIF9pbjApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX3MxID0gX19sc3hfdmlsdmhfaChfaW4zLCBfaW4xKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90NiA9IF9fbHN4X3ZpbHZsX2goX3Mx
LCBfczApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
dDcgPSBfX2xzeF92aWx2aF9oKF9zMSwgX3MwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sc3hf
dnBpY2tldl9kKF90MCwgX3Q0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfb3V0MiA9IF9fbHN4X3ZwaWNrZXZfZChfdDEsIF90NSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDQgPSBfX2xzeF92cGlja2V2X2QoX3Qy
LCBfdDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2
ID0gX19sc3hfdnBpY2tldl9kKF90MywgX3Q3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfb3V0MSA9IF9fbHN4X3ZwaWNrb2RfZChfdDAsIF90NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDMgPSBfX2xzeF92cGlj
a29kX2QoX3QxLCBfdDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9vdXQ1ID0gX19sc3hfdnBpY2tvZF9kKF90MiwgX3Q2KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NyA9IF9fbHN4X3ZwaWNrb2RfZChfdDMsIF90
Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotLyoKLSAq
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IFRyYW5zcG9zZSBpbnB1dCA4
eDQgYnl0ZSBibG9jayBpbnRvIDR4OAotICogQXJndW1lbnRzICAgOiBJbnB1dHMgIC0gX2luMCwg
X2luMSwgX2luMiwgX2luMyAgICAgIChpbnB1dCA4eDQgYnl0ZSBibG9jaykKLSAqICAgICAgICAg
ICAgICAgT3V0cHV0cyAtIF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQzICAob3V0cHV0IDR4OCBi
eXRlIGJsb2NrKQotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIGFzIHBlciBSVFlQRQot
ICogRGV0YWlscyAgICAgOiBUaGUgcm93cyBvZiB0aGUgbWF0cml4IGJlY29tZSBjb2x1bW5zLCBh
bmQgdGhlIGNvbHVtbnMgYmVjb21lCi0gKiAgICAgICAgICAgICAgIHJvd3MuCi0gKiBFeGFtcGxl
ICAgICA6IExTWF9UUkFOU1BPU0U4eDRfQgotICogICAgICAgIF9pbjAgOiAwMCwwMSwwMiwwMyww
MCwwMCwwMCwwMCwgMDAsMDAsMDAsMDAsMDAsMDAsMDAsMDAKLSAqICAgICAgICBfaW4xIDogMTAs
MTEsMTIsMTMsMDAsMDAsMDAsMDAsIDAwLDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKiAgICAgICAg
X2luMiA6IDIwLDIxLDIyLDIzLDAwLDAwLDAwLDAwLCAwMCwwMCwwMCwwMCwwMCwwMCwwMCwwMAot
ICogICAgICAgIF9pbjMgOiAzMCwzMSwzMiwzMywwMCwwMCwwMCwwMCwgMDAsMDAsMDAsMDAsMDAs
MDAsMDAsMDAKLSAqICAgICAgICBfaW40IDogNDAsNDEsNDIsNDMsMDAsMDAsMDAsMDAsIDAwLDAw
LDAwLDAwLDAwLDAwLDAwLDAwCi0gKiAgICAgICAgX2luNSA6IDUwLDUxLDUyLDUzLDAwLDAwLDAw
LDAwLCAwMCwwMCwwMCwwMCwwMCwwMCwwMCwwMAotICogICAgICAgIF9pbjYgOiA2MCw2MSw2Miw2
MywwMCwwMCwwMCwwMCwgMDAsMDAsMDAsMDAsMDAsMDAsMDAsMDAKLSAqICAgICAgICBfaW43IDog
NzAsNzEsNzIsNzMsMDAsMDAsMDAsMDAsIDAwLDAwLDAwLDAwLDAwLDAwLDAwLDAwCi0gKgotICog
ICAgICAgX291dDAgOiAwMCwxMCwyMCwzMCw0MCw1MCw2MCw3MCwgMDAsMDAsMDAsMDAsMDAsMDAs
MDAsMDAKLSAqICAgICAgIF9vdXQxIDogMDEsMTEsMjEsMzEsNDEsNTEsNjEsNzEsIDAwLDAwLDAw
LDAwLDAwLDAwLDAwLDAwCi0gKiAgICAgICBfb3V0MiA6IDAyLDEyLDIyLDMyLDQyLDUyLDYyLDcy
LCAwMCwwMCwwMCwwMCwwMCwwMCwwMCwwMAotICogICAgICAgX291dDMgOiAwMywxMywyMywzMyw0
Myw1Myw2Myw3MywgMDAsMDAsMDAsMDAsMDAsMDAsMDAsMDAKLSAqID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0gKi8KLSNkZWZpbmUgTFNYX1RSQU5TUE9TRTh4NF9CKF9pbjAsIF9pbjEsIF9pbjIsIF9p
bjMsIF9pbjQsIF9pbjUsIF9pbjYsIF9pbjcsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQzKSAgICAgICAgICAgICAgICAgICAgIFwKLSAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfX20xMjhpIF90bXAwX20sIF90bXAxX20sIF90bXAyX20sIF90
bXAzX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfdG1wMF9tID0gX19sc3hfdnBhY2tldl93KF9pbjQsIF9pbjApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wMV9tID0gX19sc3hfdnBhY2tldl93KF9pbjUs
IF9pbjEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wMl9tID0g
X19sc3hfdmlsdmxfYihfdG1wMV9tLCBfdG1wMF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBfdG1wMF9tID0gX19sc3hfdnBhY2tldl93KF9pbjYsIF9pbjIpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wMV9tID0gX19sc3hfdnBhY2tldl93
KF9pbjcsIF9pbjMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfdG1wM19tID0gX19sc3hfdmlsdmxfYihfdG1wMV9tLCBfdG1wMF9t
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wMF9tID0gX19sc3hfdmls
dmxfaChfdG1wM19tLCBfdG1wMl9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfdG1wMV9tID0gX19sc3hfdmlsdmhfaChfdG1wM19tLCBfdG1wMl9tKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MCA9IF9fbHN4
X3ZpbHZsX3coX3RtcDFfbSwgX3RtcDBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfb3V0MiA9IF9fbHN4X3ZpbHZoX3coX3RtcDFfbSwgX3RtcDBfbSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MSA9IF9fbHN4X3ZpbHZoX2QoX291dDIs
IF9vdXQwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MyA9
IF9fbHN4X3ZpbHZoX2QoX291dDAsIF9vdXQyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0
aW9uIDogVHJhbnNwb3NlIDE2eDggYmxvY2sgd2l0aCBieXRlIGVsZW1lbnRzIGluIHZlY3RvcnMK
LSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUs
IGluNiwgaW43LCBpbjgKLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGluOSwgaW4xMCwgaW4x
MSwgaW4xMiwgaW4xMywgaW4xNCwgaW4xNQotICogICAgICAgICAgICAgICBPdXRwdXRzIC0gb3V0
MCwgb3V0MSwgb3V0Miwgb3V0Mywgb3V0NCwgb3V0NSwgb3V0Niwgb3V0NwotICogRGV0YWlscyAg
ICAgOgotICogRXhhbXBsZSAgICAgOgotICogICAgICAgICAgICAgIDAwMCwwMDEsMDAyLDAwMyww
MDQsMDA1LDAwNiwwMDcKLSAqICAgICAgICAgICAgICAwMDgsMDA5LDAxMCwwMTEsMDEyLDAxMyww
MTQsMDE1Ci0gKiAgICAgICAgICAgICAgMDE2LDAxNywwMTgsMDE5LDAyMCwwMjEsMDIyLDAyMwot
ICogICAgICAgICAgICAgIDAyNCwwMjUsMDI2LDAyNywwMjgsMDI5LDAzMCwwMzEKLSAqICAgICAg
ICAgICAgICAwMzIsMDMzLDAzNCwwMzUsMDM2LDAzNywwMzgsMDM5Ci0gKiAgICAgICAgICAgICAg
MDQwLDA0MSwwNDIsMDQzLDA0NCwwNDUsMDQ2LDA0NyAgICAgICAgMDAwLDAwOCwuLi4sMTEyLDEy
MAotICogICAgICAgICAgICAgIDA0OCwwNDksMDUwLDA1MSwwNTIsMDUzLDA1NCwwNTUgICAgICAg
IDAwMSwwMDksLi4uLDExMywxMjEKLSAqICAgICAgICAgICAgICAwNTYsMDU3LDA1OCwwNTksMDYw
LDA2MSwwNjIsMDYzICAgdG8gICAwMDIsMDEwLC4uLiwxMTQsMTIyCi0gKiAgICAgICAgICAgICAg
MDY0LDA2OCwwNjYsMDY3LDA2OCwwNjksMDcwLDA3MSA9PT09PT4gMDAzLDAxMSwuLi4sMTE1LDEy
MwotICogICAgICAgICAgICAgIDA3MiwwNzMsMDc0LDA3NSwwNzYsMDc3LDA3OCwwNzkgICAgICAg
IDAwNCwwMTIsLi4uLDExNiwxMjQKLSAqICAgICAgICAgICAgICAwODAsMDgxLDA4MiwwODMsMDg0
LDA4NSwwODYsMDg3ICAgICAgICAwMDUsMDEzLC4uLiwxMTcsMTI1Ci0gKiAgICAgICAgICAgICAg
MDg4LDA4OSwwOTAsMDkxLDA5MiwwOTMsMDk0LDA5NSAgICAgICAgMDA2LDAxNCwuLi4sMTE4LDEy
NgotICogICAgICAgICAgICAgIDA5NiwwOTcsMDk4LDA5OSwxMDAsMTAxLDEwMiwxMDMgICAgICAg
IDAwNywwMTUsLi4uLDExOSwxMjcKLSAqICAgICAgICAgICAgICAxMDQsMTA1LDEwNiwxMDcsMTA4
LDEwOSwxMTAsMTExCi0gKiAgICAgICAgICAgICAgMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4
LDExOQotICogICAgICAgICAgICAgIDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxMjcKLSAq
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLSNkZWZpbmUgTFNYX1RSQU5TUE9TRTE2eDhfQihf
aW4wLCBfaW4xLCBfaW4yLCBfaW4zLCBfaW40LCBfaW41LCBfaW42LCBfaW43LCAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF9pbjgsIF9pbjksIF9pbjEwLCBfaW4xMSwgX2luMTIsIF9p
bjEzLCBfaW4xNCwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2luMTUsIF9vdXQw
LCBfb3V0MSwgX291dDIsIF9vdXQzLCBfb3V0NCwgX291dDUsIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBfb3V0NiwgX291dDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMTI4aSBfdG1wMCwgX3RtcDEsIF90
bXAyLCBfdG1wMywgX3RtcDQsIF90bXA1LCBfdG1wNiwgX3RtcDc7ICAgICAgICAgIFwKLSAgICBf
X20xMjhpIF90MCwgX3QxLCBfdDIsIF90MywgX3Q0LCBfdDUsIF90NiwgX3Q3OyAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIERVUDRfQVJHMihfX2xzeF92aWx2bF9iLCBfaW4yLCBfaW4w
LCBfaW4zLCBfaW4xLCBfaW42LCBfaW40LCBfaW43LCBfaW41LCBcCi0gICAgICAgICAgICAgIF90
bXAwLCBfdG1wMSwgX3RtcDIsIF90bXAzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBEVVA0X0FSRzIoX19sc3hfdmlsdmxfYiwgX2luMTAsIF9pbjgsIF9pbjExLCBf
aW45LCBfaW4xNCwgX2luMTIsIF9pbjE1LCAgXAotICAgICAgICAgICAgICBfaW4xMywgX3RtcDQs
IF90bXA1LCBfdG1wNiwgX3RtcDcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
RFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2IsIF90bXAxLCBfdG1wMCwgX3RtcDMsIF90bXAyLCBfdDAs
IF90Mik7ICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfYiwgX3RtcDEsIF90
bXAwLCBfdG1wMywgX3RtcDIsIF90MSwgX3QzKTsgICAgICAgICAgXAotICAgIERVUDJfQVJHMihf
X2xzeF92aWx2bF9iLCBfdG1wNSwgX3RtcDQsIF90bXA3LCBfdG1wNiwgX3Q0LCBfdDYpOyAgICAg
ICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIF90bXA1LCBfdG1wNCwgX3RtcDcs
IF90bXA2LCBfdDUsIF90Nyk7ICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxf
dywgX3QyLCBfdDAsIF90MywgX3QxLCBfdG1wMCwgX3RtcDQpOyAgICAgICAgICAgICAgXAotICAg
IERVUDJfQVJHMihfX2xzeF92aWx2aF93LCBfdDIsIF90MCwgX3QzLCBfdDEsIF90bXAyLCBfdG1w
Nik7ICAgICAgICAgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX3csIF90NiwgX3Q0
LCBfdDcsIF90NSwgX3RtcDEsIF90bXA1KTsgICAgICAgICAgICAgIFwKLSAgICBEVVAyX0FSRzIo
X19sc3hfdmlsdmhfdywgX3Q2LCBfdDQsIF90NywgX3Q1LCBfdG1wMywgX3RtcDcpOyAgICAgICAg
ICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9kLCBfdG1wMSwgX3RtcDAsIF90bXAz
LCBfdG1wMiwgX291dDAsIF9vdXQyKTsgICAgICBcCi0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZo
X2QsIF90bXAxLCBfdG1wMCwgX3RtcDMsIF90bXAyLCBfb3V0MSwgX291dDMpOyAgICAgIFwKLSAg
ICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfZCwgX3RtcDUsIF90bXA0LCBfdG1wNywgX3RtcDYsIF9v
dXQ0LCBfb3V0Nik7ICAgICAgXAotICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9kLCBfdG1wNSwg
X3RtcDQsIF90bXA3LCBfdG1wNiwgX291dDUsIF9vdXQ3KTsgICAgICBcCi0gIH0KLQotLyoKLSAq
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IEJ1dHRlcmZseSBvZiA0IGlu
cHV0IHZlY3RvcnMKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIGluMCwgaW4xLCBpbjIsIGlu
MwotICogICAgICAgICAgICAgICBPdXRwdXRzIC0gb3V0MCwgb3V0MSwgb3V0Miwgb3V0MwotICog
RGV0YWlscyAgICAgOiBCdXR0ZXJmbHkgb3BlcmF0aW9uCi0gKiBFeGFtcGxlICAgICA6Ci0gKiAg
ICAgICAgICAgICAgIG91dDAgPSBpbjAgKyBpbjM7Ci0gKiAgICAgICAgICAgICAgIG91dDEgPSBp
bjEgKyBpbjI7Ci0gKiAgICAgICAgICAgICAgIG91dDIgPSBpbjEgLSBpbjI7Ci0gKiAgICAgICAg
ICAgICAgIG91dDMgPSBpbjAgLSBpbjM7Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi0j
ZGVmaW5lIExTWF9CVVRURVJGTFlfNF9CKF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9vdXQwLCBf
b3V0MSwgX291dDIsIF9vdXQzKSBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDAg
PSBfX2xzeF92YWRkX2IoX2luMCwgX2luMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xzeF92YWRkX2IoX2luMSwgX2luMik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xzeF92
c3ViX2IoX2luMSwgX2luMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX291dDMgPSBfX2xzeF92c3ViX2IoX2luMCwgX2luMyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLSNkZWZpbmUgTFNYX0JVVFRFUkZMWV80
X0goX2luMCwgX2luMSwgX2luMiwgX2luMywgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMpIFwK
LSAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MCA9IF9fbHN4X3ZhZGRfaChfaW4wLCBf
aW4zKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0
MSA9IF9fbHN4X3ZhZGRfaChfaW4xLCBfaW4yKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfb3V0MiA9IF9fbHN4X3ZzdWJfaChfaW4xLCBfaW4yKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MyA9IF9fbHN4
X3ZzdWJfaChfaW4wLCBfaW4zKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgfQotI2RlZmluZSBMU1hfQlVUVEVSRkxZXzRfVyhfaW4wLCBfaW4xLCBfaW4yLCBf
aW4zLCBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MykgXAotICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9vdXQwID0gX19sc3hfdmFkZF93KF9pbjAsIF9pbjMpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQxID0gX19sc3hfdmFkZF93KF9pbjEs
IF9pbjIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9v
dXQyID0gX19sc3hfdnN1Yl93KF9pbjEsIF9pbjIpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0gX19sc3hfdnN1Yl93KF9pbjAsIF9pbjMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0jZGVmaW5lIExT
WF9CVVRURVJGTFlfNF9EKF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9vdXQwLCBfb3V0MSwgX291
dDIsIF9vdXQzKSBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDAgPSBfX2xzeF92
YWRkX2QoX2luMCwgX2luMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX291dDEgPSBfX2xzeF92YWRkX2QoX2luMSwgX2luMik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xzeF92c3ViX2QoX2lu
MSwgX2luMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X291dDMgPSBfX2xzeF92c3ViX2QoX2luMCwgX2luMyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIH0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0g
KiBEZXNjcmlwdGlvbiA6IEJ1dHRlcmZseSBvZiA4IGlucHV0IHZlY3RvcnMKLSAqIEFyZ3VtZW50
cyAgIDogSW5wdXRzICAtIF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIH4KLSAqICAgICAgICAgICAg
ICAgT3V0cHV0cyAtIF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQzLCB+Ci0gKiBEZXRhaWxzICAg
ICA6IEJ1dHRlcmZseSBvcGVyYXRpb24KLSAqIEV4YW1wbGUgICAgIDoKLSAqICAgICAgICAgICAg
ICBfb3V0MCA9IF9pbjAgKyBfaW43OwotICogICAgICAgICAgICAgIF9vdXQxID0gX2luMSArIF9p
bjY7Ci0gKiAgICAgICAgICAgICAgX291dDIgPSBfaW4yICsgX2luNTsKLSAqICAgICAgICAgICAg
ICBfb3V0MyA9IF9pbjMgKyBfaW40OwotICogICAgICAgICAgICAgIF9vdXQ0ID0gX2luMyAtIF9p
bjQ7Ci0gKiAgICAgICAgICAgICAgX291dDUgPSBfaW4yIC0gX2luNTsKLSAqICAgICAgICAgICAg
ICBfb3V0NiA9IF9pbjEgLSBfaW42OwotICogICAgICAgICAgICAgIF9vdXQ3ID0gX2luMCAtIF9p
bjc7Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIExTWF9CVVRURVJGTFlf
OF9CKF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9pbjQsIF9pbjUsIF9pbjYsIF9pbjcsICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQzLCBfb3V0
NCwgX291dDUsIF9vdXQ2LCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3KSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX291dDAgPSBfX2xzeF92YWRkX2IoX2luMCwgX2luNyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xzeF92YWRkX2IoX2luMSwg
X2luNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIg
PSBfX2xzeF92YWRkX2IoX2luMiwgX2luNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX291dDMgPSBfX2xzeF92YWRkX2IoX2luMywgX2luNCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDQgPSBfX2xzeF92c3ViX2Io
X2luMywgX2luNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X291dDUgPSBfX2xzeF92c3ViX2IoX2luMiwgX2luNSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX291dDYgPSBfX2xzeF92c3ViX2IoX2luMSwgX2luNik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDcgPSBfX2xzeF92
c3ViX2IoX2luMCwgX2luNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIH0KLQotI2RlZmluZSBMU1hfQlVUVEVSRkxZXzhfSChfaW4wLCBfaW4xLCBfaW4yLCBfaW4z
LCBfaW40LCBfaW41LCBfaW42LCBfaW43LCAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBf
b3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MywgX291dDQsIF9vdXQ1LCBfb3V0NiwgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBfb3V0NykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sc3hfdmFk
ZF9oKF9pbjAsIF9pbjcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9vdXQxID0gX19sc3hfdmFkZF9oKF9pbjEsIF9pbjYpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQyID0gX19sc3hfdmFkZF9oKF9pbjIsIF9pbjUp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0gX19s
c3hfdmFkZF9oKF9pbjMsIF9pbjQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF9vdXQ0ID0gX19sc3hfdnN1Yl9oKF9pbjMsIF9pbjQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ1ID0gX19sc3hfdnN1Yl9oKF9pbjIs
IF9pbjUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2
ID0gX19sc3hfdnN1Yl9oKF9pbjEsIF9pbjYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9vdXQ3ID0gX19sc3hfdnN1Yl9oKF9pbjAsIF9pbjcpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLSNkZWZpbmUgTFNYX0JVVFRF
UkZMWV84X1coX2luMCwgX2luMSwgX2luMiwgX2luMywgX2luNCwgX2luNSwgX2luNiwgX2luNywg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMs
IF9vdXQ0LCBfb3V0NSwgX291dDYsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX291dDcp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfb3V0MCA9IF9fbHN4X3ZhZGRfdyhfaW4wLCBfaW43KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MSA9IF9fbHN4X3ZhZGRfdyhf
aW4xLCBfaW42KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
b3V0MiA9IF9fbHN4X3ZhZGRfdyhfaW4yLCBfaW41KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfb3V0MyA9IF9fbHN4X3ZhZGRfdyhfaW4zLCBfaW40KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NCA9IF9fbHN4X3Zz
dWJfdyhfaW4zLCBfaW40KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfb3V0NSA9IF9fbHN4X3ZzdWJfdyhfaW4yLCBfaW41KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NiA9IF9fbHN4X3ZzdWJfdyhfaW4xLCBfaW42
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NyA9IF9f
bHN4X3ZzdWJfdyhfaW4wLCBfaW43KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgfQotCi0jZGVmaW5lIExTWF9CVVRURVJGTFlfOF9EKF9pbjAsIF9pbjEsIF9pbjIs
IF9pbjMsIF9pbjQsIF9pbjUsIF9pbjYsIF9pbjcsICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQzLCBfb3V0NCwgX291dDUsIF9vdXQ2LCBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3KSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDAgPSBfX2xz
eF92YWRkX2QoX2luMCwgX2luNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX291dDEgPSBfX2xzeF92YWRkX2QoX2luMSwgX2luNik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xzeF92YWRkX2QoX2luMiwg
X2luNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDMg
PSBfX2xzeF92YWRkX2QoX2luMywgX2luNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX291dDQgPSBfX2xzeF92c3ViX2QoX2luMywgX2luNCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDUgPSBfX2xzeF92c3ViX2Qo
X2luMiwgX2luNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X291dDYgPSBfX2xzeF92c3ViX2QoX2luMSwgX2luNik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX291dDcgPSBfX2xzeF92c3ViX2QoX2luMCwgX2luNyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotLyoKLSAqID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IEJ1dHRlcmZseSBvZiAxNiBpbnB1dCB2
ZWN0b3JzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBfaW4wLCBfaW4xLCBfaW4yLCBfaW4z
LCB+Ci0gKiAgICAgICAgICAgICAgIE91dHB1dHMgLSBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0
MywgfgotICogRGV0YWlscyAgICAgOiBCdXR0ZXJmbHkgb3BlcmF0aW9uCi0gKiBFeGFtcGxlICAg
ICA6Ci0gKiAgICAgICAgICAgICAgX291dDAgPSBfaW4wICsgX2luMTU7Ci0gKiAgICAgICAgICAg
ICAgX291dDEgPSBfaW4xICsgX2luMTQ7Ci0gKiAgICAgICAgICAgICAgX291dDIgPSBfaW4yICsg
X2luMTM7Ci0gKiAgICAgICAgICAgICAgX291dDMgPSBfaW4zICsgX2luMTI7Ci0gKiAgICAgICAg
ICAgICAgX291dDQgPSBfaW40ICsgX2luMTE7Ci0gKiAgICAgICAgICAgICAgX291dDUgPSBfaW41
ICsgX2luMTA7Ci0gKiAgICAgICAgICAgICAgX291dDYgPSBfaW42ICsgX2luOTsKLSAqICAgICAg
ICAgICAgICBfb3V0NyA9IF9pbjcgKyBfaW44OwotICogICAgICAgICAgICAgIF9vdXQ4ID0gX2lu
NyAtIF9pbjg7Ci0gKiAgICAgICAgICAgICAgX291dDkgPSBfaW42IC0gX2luOTsKLSAqICAgICAg
ICAgICAgICBfb3V0MTAgPSBfaW41IC0gX2luMTA7Ci0gKiAgICAgICAgICAgICAgX291dDExID0g
X2luNCAtIF9pbjExOwotICogICAgICAgICAgICAgIF9vdXQxMiA9IF9pbjMgLSBfaW4xMjsKLSAq
ICAgICAgICAgICAgICBfb3V0MTMgPSBfaW4yIC0gX2luMTM7Ci0gKiAgICAgICAgICAgICAgX291
dDE0ID0gX2luMSAtIF9pbjE0OwotICogICAgICAgICAgICAgIF9vdXQxNSA9IF9pbjAgLSBfaW4x
NTsKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLQotI2RlZmluZSBMU1hfQlVUVEVSRkxZ
XzE2X0IoX2luMCwgX2luMSwgX2luMiwgX2luMywgX2luNCwgX2luNSwgX2luNiwgX2luNywgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbjgsIF9pbjksIF9pbjEwLCBfaW4xMSwg
X2luMTIsIF9pbjEzLCBfaW4xNCwgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBf
aW4xNSwgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMsIF9vdXQ0LCBfb3V0NSwgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX291dDYsIF9vdXQ3LCBfb3V0OCwgX291dDksIF9vdXQx
MCwgX291dDExLCBfb3V0MTIsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQxMywg
X291dDE0LCBfb3V0MTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sc3hfdmFkZF9iKF9pbjAsIF9pbjE1KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MSA9IF9fbHN4
X3ZhZGRfYihfaW4xLCBfaW4xNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX291dDIgPSBfX2xzeF92YWRkX2IoX2luMiwgX2luMTMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0gX19sc3hfdmFkZF9i
KF9pbjMsIF9pbjEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfb3V0NCA9IF9fbHN4X3ZhZGRfYihfaW40LCBfaW4xMSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDUgPSBfX2xzeF92YWRkX2IoX2luNSwg
X2luMTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9v
dXQ2ID0gX19sc3hfdmFkZF9iKF9pbjYsIF9pbjkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NyA9IF9fbHN4X3ZhZGRfYihfaW43LCBfaW44KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9vdXQ4ID0gX19sc3hfdnN1Yl9iKF9pbjcsIF9pbjgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0OSA9IF9fbHN4X3Zz
dWJfYihfaW42LCBfaW45KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX291dDEwID0gX19sc3hfdnN1Yl9iKF9pbjUsIF9pbjEwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQxMSA9IF9fbHN4X3ZzdWJfYihf
aW40LCBfaW4xMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfb3V0MTIgPSBfX2xzeF92c3ViX2IoX2luMywgX2luMTIpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEzID0gX19sc3hfdnN1Yl9iKF9pbjIsIF9p
bjEzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQx
NCA9IF9fbHN4X3ZzdWJfYihfaW4xLCBfaW4xNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfb3V0MTUgPSBfX2xzeF92c3ViX2IoX2luMCwgX2luMTUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotI2RlZmluZSBM
U1hfQlVUVEVSRkxZXzE2X0goX2luMCwgX2luMSwgX2luMiwgX2luMywgX2luNCwgX2luNSwgX2lu
NiwgX2luNywgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbjgsIF9pbjksIF9p
bjEwLCBfaW4xMSwgX2luMTIsIF9pbjEzLCBfaW4xNCwgICAgICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBfaW4xNSwgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMsIF9vdXQ0LCBfb3V0
NSwgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgX291dDYsIF9vdXQ3LCBfb3V0OCwg
X291dDksIF9vdXQxMCwgX291dDExLCBfb3V0MTIsIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF9vdXQxMywgX291dDE0LCBfb3V0MTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sc3hfdmFkZF9oKF9pbjAs
IF9pbjE1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
b3V0MSA9IF9fbHN4X3ZhZGRfaChfaW4xLCBfaW4xNCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xzeF92YWRkX2goX2luMiwgX2luMTMp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0g
X19sc3hfdmFkZF9oKF9pbjMsIF9pbjEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfb3V0NCA9IF9fbHN4X3ZhZGRfaChfaW40LCBfaW4xMSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDUgPSBfX2xzeF92
YWRkX2goX2luNSwgX2luMTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF9vdXQ2ID0gX19sc3hfdmFkZF9oKF9pbjYsIF9pbjkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NyA9IF9fbHN4X3ZhZGRfaChf
aW43LCBfaW44KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ4ID0gX19sc3hfdnN1Yl9oKF9pbjcsIF9p
bjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0
OSA9IF9fbHN4X3ZzdWJfaChfaW42LCBfaW45KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX291dDEwID0gX19sc3hfdnN1Yl9oKF9pbjUsIF9pbjEwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQxMSA9IF9f
bHN4X3ZzdWJfaChfaW40LCBfaW4xMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfb3V0MTIgPSBfX2xzeF92c3ViX2goX2luMywgX2luMTIpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEzID0gX19sc3hfdnN1
Yl9oKF9pbjIsIF9pbjEzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9vdXQxNCA9IF9fbHN4X3ZzdWJfaChfaW4xLCBfaW4xNCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MTUgPSBfX2xzeF92c3ViX2goX2lu
MCwgX2luMTUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0K
LQotI2RlZmluZSBMU1hfQlVUVEVSRkxZXzE2X1coX2luMCwgX2luMSwgX2luMiwgX2luMywgX2lu
NCwgX2luNSwgX2luNiwgX2luNywgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9p
bjgsIF9pbjksIF9pbjEwLCBfaW4xMSwgX2luMTIsIF9pbjEzLCBfaW4xNCwgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBfaW4xNSwgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMs
IF9vdXQ0LCBfb3V0NSwgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgX291dDYsIF9v
dXQ3LCBfb3V0OCwgX291dDksIF9vdXQxMCwgX291dDExLCBfb3V0MTIsIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF9vdXQxMywgX291dDE0LCBfb3V0MTUpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sc3hf
dmFkZF93KF9pbjAsIF9pbjE1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBfb3V0MSA9IF9fbHN4X3ZhZGRfdyhfaW4xLCBfaW4xNCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xzeF92YWRkX3co
X2luMiwgX2luMTMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9vdXQzID0gX19sc3hfdmFkZF93KF9pbjMsIF9pbjEyKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NCA9IF9fbHN4X3ZhZGRfdyhfaW40LCBf
aW4xMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291
dDUgPSBfX2xzeF92YWRkX3coX2luNSwgX2luMTApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2ID0gX19sc3hfdmFkZF93KF9pbjYsIF9pbjkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NyA9IF9f
bHN4X3ZhZGRfdyhfaW43LCBfaW44KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ4ID0gX19sc3hfdnN1
Yl93KF9pbjcsIF9pbjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfb3V0OSA9IF9fbHN4X3ZzdWJfdyhfaW42LCBfaW45KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEwID0gX19sc3hfdnN1Yl93KF9p
bjUsIF9pbjEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9vdXQxMSA9IF9fbHN4X3ZzdWJfdyhfaW40LCBfaW4xMSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MTIgPSBfX2xzeF92c3ViX3coX2luMywgX2lu
MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEz
ID0gX19sc3hfdnN1Yl93KF9pbjIsIF9pbjEzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9vdXQxNCA9IF9fbHN4X3ZzdWJfdyhfaW4xLCBfaW4xNCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MTUgPSBfX2xz
eF92c3ViX3coX2luMCwgX2luMTUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIH0KLQotI2RlZmluZSBMU1hfQlVUVEVSRkxZXzE2X0QoX2luMCwgX2luMSwgX2lu
MiwgX2luMywgX2luNCwgX2luNSwgX2luNiwgX2luNywgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF9pbjgsIF9pbjksIF9pbjEwLCBfaW4xMSwgX2luMTIsIF9pbjEzLCBfaW4xNCwg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBfaW4xNSwgX291dDAsIF9vdXQxLCBf
b3V0MiwgX291dDMsIF9vdXQ0LCBfb3V0NSwgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgX291dDYsIF9vdXQ3LCBfb3V0OCwgX291dDksIF9vdXQxMCwgX291dDExLCBfb3V0MTIsIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQxMywgX291dDE0LCBfb3V0MTUpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9v
dXQwID0gX19sc3hfdmFkZF9kKF9pbjAsIF9pbjE1KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MSA9IF9fbHN4X3ZhZGRfZChfaW4xLCBfaW4xNCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBf
X2xzeF92YWRkX2QoX2luMiwgX2luMTMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9vdXQzID0gX19sc3hfdmFkZF9kKF9pbjMsIF9pbjEyKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NCA9IF9fbHN4X3Zh
ZGRfZChfaW40LCBfaW4xMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX291dDUgPSBfX2xzeF92YWRkX2QoX2luNSwgX2luMTApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2ID0gX19sc3hfdmFkZF9kKF9p
bjYsIF9pbjkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfb3V0NyA9IF9fbHN4X3ZhZGRfZChfaW43LCBfaW44KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ4
ID0gX19sc3hfdnN1Yl9kKF9pbjcsIF9pbjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfb3V0OSA9IF9fbHN4X3ZzdWJfZChfaW42LCBfaW45KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEwID0gX19s
c3hfdnN1Yl9kKF9pbjUsIF9pbjEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9vdXQxMSA9IF9fbHN4X3ZzdWJfZChfaW40LCBfaW4xMSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MTIgPSBfX2xzeF92c3Vi
X2QoX2luMywgX2luMTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX291dDEzID0gX19sc3hfdnN1Yl9kKF9pbjIsIF9pbjEzKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQxNCA9IF9fbHN4X3ZzdWJfZChfaW4x
LCBfaW4xNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
b3V0MTUgPSBfX2xzeF92c3ViX2QoX2luMCwgX2luMTUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIH0KLQotI2VuZGlmICAvLyBMU1gKLQotI2lmZGVmIF9fbG9v
bmdhcmNoX2FzeAotI2luY2x1ZGUgPGxhc3hpbnRyaW4uaD4KLS8qCi0gKiA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotICogRGVzY3JpcHRpb24gOiBEb3QgcHJvZHVjdCBvZiBieXRlIHZlY3RvciBlbGVt
ZW50cwotICogQXJndW1lbnRzICAgOiBJbnB1dHMgLSBpbl9oLCBpbl9sCi0gKiAgICAgICAgICAg
ICAgIE91dHB1dCAtIG91dAotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIHNpZ25lZCBo
YWxmd29yZAotICogRGV0YWlscyAgICAgOiBVbnNpZ25lZCBieXRlIGVsZW1lbnRzIGZyb20gaW5f
aCBhcmUgbXVsdGlwbGllZCB3aXRoCi0gKiAgICAgICAgICAgICAgIHVuc2lnbmVkIGJ5dGUgZWxl
bWVudHMgZnJvbSBpbl9sIHByb2R1Y2luZyBhIHJlc3VsdAotICogICAgICAgICAgICAgICB0d2lj
ZSB0aGUgc2l6ZSBvZiBpbnB1dCBpLmUuIHNpZ25lZCBoYWxmd29yZC4KLSAqICAgICAgICAgICAg
ICAgVGhlbiB0aGVzZSBtdWx0aXBsaWVkIHJlc3VsdHMgb2YgYWRqYWNlbnQgb2RkLWV2ZW4gZWxl
bWVudHMKLSAqICAgICAgICAgICAgICAgYXJlIGFkZGVkIHRvIHRoZSBvdXQgdmVjdG9yCi0gKiBF
eGFtcGxlICAgICA6IFNlZSBvdXQgPSBfX2xhc3hfeHZkcDJfd19oKGluX2gsIGluX2wpCi0gKiA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19sYXN4X3h2
ZHAyX2hfYnUoX19tMjU2aSBpbl9oLCBfX20yNTZpIGluX2wpIHsKLSAgX19tMjU2aSBvdXQ7Ci0K
LSAgb3V0ID0gX19sYXN4X3h2bXVsd2V2X2hfYnUoaW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbGFz
eF94dm1hZGR3b2RfaF9idShvdXQsIGluX2gsIGluX2wpOwotICByZXR1cm4gb3V0OwotfQotCi0v
KgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogRG90IHByb2R1Y3Qg
b2YgYnl0ZSB2ZWN0b3IgZWxlbWVudHMKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzIC0gaW5faCwg
aW5fbAotICogICAgICAgICAgICAgICBPdXRwdXQgLSBvdXQKLSAqICAgICAgICAgICAgICAgUmV0
dXJuIFR5cGUgLSBzaWduZWQgaGFsZndvcmQKLSAqIERldGFpbHMgICAgIDogU2lnbmVkIGJ5dGUg
ZWxlbWVudHMgZnJvbSBpbl9oIGFyZSBtdWx0aXBsaWVkIHdpdGgKLSAqICAgICAgICAgICAgICAg
c2lnbmVkIGJ5dGUgZWxlbWVudHMgZnJvbSBpbl9sIHByb2R1Y2luZyBhIHJlc3VsdAotICogICAg
ICAgICAgICAgICB0d2ljZSB0aGUgc2l6ZSBvZiBpbnB1dCBpLmUuIHNpZ25lZCBoYWxmd29yZC4K
LSAqICAgICAgICAgICAgICAgVGhlbiB0aGVzZSBtdWx0aXBsaWNhdGlvbiByZXN1bHRzIG9mIGFk
amFjZW50IG9kZC1ldmVuIGVsZW1lbnRzCi0gKiAgICAgICAgICAgICAgIGFyZSBhZGRlZCB0byB0
aGUgb3V0IHZlY3RvcgotICogRXhhbXBsZSAgICAgOiBTZWUgb3V0ID0gX19sYXN4X3h2ZHAyX3df
aChpbl9oLCBpbl9sKQotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGlu
ZSBfX20yNTZpIF9fbGFzeF94dmRwMl9oX2IoX19tMjU2aSBpbl9oLCBfX20yNTZpIGluX2wpIHsK
LSAgX19tMjU2aSBvdXQ7Ci0KLSAgb3V0ID0gX19sYXN4X3h2bXVsd2V2X2hfYihpbl9oLCBpbl9s
KTsKLSAgb3V0ID0gX19sYXN4X3h2bWFkZHdvZF9oX2Iob3V0LCBpbl9oLCBpbl9sKTsKLSAgcmV0
dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlv
biA6IERvdCBwcm9kdWN0IG9mIGhhbGZ3b3JkIHZlY3RvciBlbGVtZW50cwotICogQXJndW1lbnRz
ICAgOiBJbnB1dHMgLSBpbl9oLCBpbl9sCi0gKiAgICAgICAgICAgICAgIE91dHB1dCAtIG91dAot
ICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIHNpZ25lZCB3b3JkCi0gKiBEZXRhaWxzICAg
ICA6IFNpZ25lZCBoYWxmd29yZCBlbGVtZW50cyBmcm9tIGluX2ggYXJlIG11bHRpcGxpZWQgd2l0
aAotICogICAgICAgICAgICAgICBzaWduZWQgaGFsZndvcmQgZWxlbWVudHMgZnJvbSBpbl9sIHBy
b2R1Y2luZyBhIHJlc3VsdAotICogICAgICAgICAgICAgICB0d2ljZSB0aGUgc2l6ZSBvZiBpbnB1
dCBpLmUuIHNpZ25lZCB3b3JkLgotICogICAgICAgICAgICAgICBUaGVuIHRoZXNlIG11bHRpcGxp
ZWQgcmVzdWx0cyBvZiBhZGphY2VudCBvZGQtZXZlbiBlbGVtZW50cwotICogICAgICAgICAgICAg
ICBhcmUgYWRkZWQgdG8gdGhlIG91dCB2ZWN0b3IuCi0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9f
bGFzeF94dmRwMl93X2goaW5faCwgaW5fbCkKLSAqICAgICAgICBpbl9oIDogMSwyLDMsNCwgNSw2
LDcsOCwgMSwyLDMsNCwgNSw2LDcsOAotICogICAgICAgIGluX2wgOiA4LDcsNiw1LCA0LDMsMiwx
LCA4LDcsNiw1LCA0LDMsMiwxCi0gKiAgICAgICAgIG91dCA6IDIyLDM4LDM4LDIyLCAyMiwzOCwz
OCwyMgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20yNTZp
IF9fbGFzeF94dmRwMl93X2goX19tMjU2aSBpbl9oLCBfX20yNTZpIGluX2wpIHsKLSAgX19tMjU2
aSBvdXQ7Ci0KLSAgb3V0ID0gX19sYXN4X3h2bXVsd2V2X3dfaChpbl9oLCBpbl9sKTsKLSAgb3V0
ID0gX19sYXN4X3h2bWFkZHdvZF93X2gob3V0LCBpbl9oLCBpbl9sKTsKLSAgcmV0dXJuIG91dDsK
LX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IERvdCBw
cm9kdWN0IG9mIHdvcmQgdmVjdG9yIGVsZW1lbnRzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAt
IGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0gb3V0Ci0gKiAgICAgICAgICAg
ICAgIFJldHVybiBUeXBlIC0gc2lnbmVkIGRvdWJsZQotICogRGV0YWlscyAgICAgOiBTaWduZWQg
d29yZCBlbGVtZW50cyBmcm9tIGluX2ggYXJlIG11bHRpcGxpZWQgd2l0aAotICogICAgICAgICAg
ICAgICBzaWduZWQgd29yZCBlbGVtZW50cyBmcm9tIGluX2wgcHJvZHVjaW5nIGEgcmVzdWx0Ci0g
KiAgICAgICAgICAgICAgIHR3aWNlIHRoZSBzaXplIG9mIGlucHV0IGkuZS4gc2lnbmVkIGRvdWJs
ZS13b3JkLgotICogICAgICAgICAgICAgICBUaGVuIHRoZXNlIG11bHRpcGxpZWQgcmVzdWx0cyBv
ZiBhZGphY2VudCBvZGQtZXZlbiBlbGVtZW50cwotICogICAgICAgICAgICAgICBhcmUgYWRkZWQg
dG8gdGhlIG91dCB2ZWN0b3IuCi0gKiBFeGFtcGxlICAgICA6IFNlZSBvdXQgPSBfX2xhc3hfeHZk
cDJfd19oKGluX2gsIGluX2wpCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMg
aW5saW5lIF9fbTI1NmkgX19sYXN4X3h2ZHAyX2RfdyhfX20yNTZpIGluX2gsIF9fbTI1NmkgaW5f
bCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZtdWx3ZXZfZF93KGluX2gs
IGluX2wpOwotICBvdXQgPSBfX2xhc3hfeHZtYWRkd29kX2RfdyhvdXQsIGluX2gsIGluX2wpOwot
ICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2Ny
aXB0aW9uIDogRG90IHByb2R1Y3Qgb2YgaGFsZndvcmQgdmVjdG9yIGVsZW1lbnRzCi0gKiBBcmd1
bWVudHMgICA6IElucHV0cyAtIGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0g
b3V0Ci0gKiAgICAgICAgICAgICAgIFJldHVybiBUeXBlIC0gc2lnbmVkIHdvcmQKLSAqIERldGFp
bHMgICAgIDogVW5zaWduZWQgaGFsZndvcmQgZWxlbWVudHMgZnJvbSBpbl9oIGFyZSBtdWx0aXBs
aWVkIHdpdGgKLSAqICAgICAgICAgICAgICAgc2lnbmVkIGhhbGZ3b3JkIGVsZW1lbnRzIGZyb20g
aW5fbCBwcm9kdWNpbmcgYSByZXN1bHQKLSAqICAgICAgICAgICAgICAgdHdpY2UgdGhlIHNpemUg
b2YgaW5wdXQgaS5lLiB1bnNpZ25lZCB3b3JkLgotICogICAgICAgICAgICAgICBNdWx0aXBsaWNh
dGlvbiByZXN1bHQgb2YgYWRqYWNlbnQgb2RkLWV2ZW4gZWxlbWVudHMKLSAqICAgICAgICAgICAg
ICAgYXJlIGFkZGVkIHRvIHRoZSBvdXQgdmVjdG9yCi0gKiBFeGFtcGxlICAgICA6IFNlZSBvdXQg
PSBfX2xhc3hfeHZkcDJfd19oKGluX2gsIGluX2wpCi0gKiA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
ICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19sYXN4X3h2ZHAyX3dfaHVfaChfX20yNTZpIGlu
X2gsIF9fbTI1NmkgaW5fbCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZt
dWx3ZXZfd19odV9oKGluX2gsIGluX2wpOwotICBvdXQgPSBfX2xhc3hfeHZtYWRkd29kX3dfaHVf
aChvdXQsIGluX2gsIGluX2wpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogRG90IHByb2R1Y3QgJiBhZGRpdGlvbiBvZiBi
eXRlIHZlY3RvciBlbGVtZW50cwotICogQXJndW1lbnRzICAgOiBJbnB1dHMgLSBpbl9oLCBpbl9s
Ci0gKiAgICAgICAgICAgICAgIE91dHB1dCAtIG91dAotICogICAgICAgICAgICAgICBSZXR1cm4g
VHlwZSAtIGhhbGZ3b3JkCi0gKiBEZXRhaWxzICAgICA6IFNpZ25lZCBieXRlIGVsZW1lbnRzIGZy
b20gaW5faCBhcmUgbXVsdGlwbGllZCB3aXRoCi0gKiAgICAgICAgICAgICAgIHNpZ25lZCBieXRl
IGVsZW1lbnRzIGZyb20gaW5fbCBwcm9kdWNpbmcgYSByZXN1bHQKLSAqICAgICAgICAgICAgICAg
dHdpY2UgdGhlIHNpemUgb2YgaW5wdXQgaS5lLiBzaWduZWQgaGFsZndvcmQuCi0gKiAgICAgICAg
ICAgICAgIFRoZW4gdGhlc2UgbXVsdGlwbGllZCByZXN1bHRzIG9mIGFkamFjZW50IG9kZC1ldmVu
IGVsZW1lbnRzCi0gKiAgICAgICAgICAgICAgIGFyZSBhZGRlZCB0byB0aGUgaW5fYyB2ZWN0b3Iu
Ci0gKiBFeGFtcGxlICAgICA6IFNlZSBvdXQgPSBfX2xhc3hfeHZkcDJhZGRfd19oKGluX2MsIGlu
X2gsIGluX2wpCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9f
bTI1NmkgX19sYXN4X3h2ZHAyYWRkX2hfYihfX20yNTZpIGluX2MsIF9fbTI1NmkgaW5faCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTI1NmkgaW5fbCkgewot
ICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZtYWRkd2V2X2hfYihpbl9jLCBpbl9o
LCBpbl9sKTsKLSAgb3V0ID0gX19sYXN4X3h2bWFkZHdvZF9oX2Iob3V0LCBpbl9oLCBpbl9sKTsK
LSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNj
cmlwdGlvbiA6IERvdCBwcm9kdWN0ICYgYWRkaXRpb24gb2YgYnl0ZSB2ZWN0b3IgZWxlbWVudHMK
LSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzIC0gaW5faCwgaW5fbAotICogICAgICAgICAgICAgICBP
dXRwdXQgLSBvdXQKLSAqICAgICAgICAgICAgICAgUmV0dXJuIFR5cGUgLSBoYWxmd29yZAotICog
RGV0YWlscyAgICAgOiBVbnNpZ25lZCBieXRlIGVsZW1lbnRzIGZyb20gaW5faCBhcmUgbXVsdGlw
bGllZCB3aXRoCi0gKiAgICAgICAgICAgICAgIHVuc2lnbmVkIGJ5dGUgZWxlbWVudHMgZnJvbSBp
bl9sIHByb2R1Y2luZyBhIHJlc3VsdAotICogICAgICAgICAgICAgICB0d2ljZSB0aGUgc2l6ZSBv
ZiBpbnB1dCBpLmUuIHNpZ25lZCBoYWxmd29yZC4KLSAqICAgICAgICAgICAgICAgVGhlbiB0aGVz
ZSBtdWx0aXBsaWVkIHJlc3VsdHMgb2YgYWRqYWNlbnQgb2RkLWV2ZW4gZWxlbWVudHMKLSAqICAg
ICAgICAgICAgICAgYXJlIGFkZGVkIHRvIHRoZSBpbl9jIHZlY3Rvci4KLSAqIEV4YW1wbGUgICAg
IDogU2VlIG91dCA9IF9fbGFzeF94dmRwMmFkZF93X2goaW5fYywgaW5faCwgaW5fbCkKLSAqID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0gKi8KLXN0YXRpYyBpbmxpbmUgX19tMjU2aSBfX2xhc3hfeHZk
cDJhZGRfaF9idShfX20yNTZpIGluX2MsIF9fbTI1NmkgaW5faCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBfX20yNTZpIGluX2wpIHsKLSAgX19tMjU2aSBvdXQ7
Ci0KLSAgb3V0ID0gX19sYXN4X3h2bWFkZHdldl9oX2J1KGluX2MsIGluX2gsIGluX2wpOwotICBv
dXQgPSBfX2xhc3hfeHZtYWRkd29kX2hfYnUob3V0LCBpbl9oLCBpbl9sKTsKLSAgcmV0dXJuIG91
dDsKLX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IERv
dCBwcm9kdWN0ICYgYWRkaXRpb24gb2YgYnl0ZSB2ZWN0b3IgZWxlbWVudHMKLSAqIEFyZ3VtZW50
cyAgIDogSW5wdXRzIC0gaW5faCwgaW5fbAotICogICAgICAgICAgICAgICBPdXRwdXQgLSBvdXQK
LSAqICAgICAgICAgICAgICAgUmV0dXJuIFR5cGUgLSBoYWxmd29yZAotICogRGV0YWlscyAgICAg
OiBVbnNpZ25lZCBieXRlIGVsZW1lbnRzIGZyb20gaW5faCBhcmUgbXVsdGlwbGllZCB3aXRoCi0g
KiAgICAgICAgICAgICAgIHNpZ25lZCBieXRlIGVsZW1lbnRzIGZyb20gaW5fbCBwcm9kdWNpbmcg
YSByZXN1bHQKLSAqICAgICAgICAgICAgICAgdHdpY2UgdGhlIHNpemUgb2YgaW5wdXQgaS5lLiBz
aWduZWQgaGFsZndvcmQuCi0gKiAgICAgICAgICAgICAgIFRoZW4gdGhlc2UgbXVsdGlwbGllZCBy
ZXN1bHRzIG9mIGFkamFjZW50IG9kZC1ldmVuIGVsZW1lbnRzCi0gKiAgICAgICAgICAgICAgIGFy
ZSBhZGRlZCB0byB0aGUgaW5fYyB2ZWN0b3IuCi0gKiBFeGFtcGxlICAgICA6IFNlZSBvdXQgPSBf
X2xhc3hfeHZkcDJhZGRfd19oKGluX2MsIGluX2gsIGluX2wpCi0gKiA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19sYXN4X3h2ZHAyYWRkX2hfYnVfYihf
X20yNTZpIGluX2MsIF9fbTI1NmkgaW5faCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF9fbTI1NmkgaW5fbCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQg
PSBfX2xhc3hfeHZtYWRkd2V2X2hfYnVfYihpbl9jLCBpbl9oLCBpbl9sKTsKLSAgb3V0ID0gX19s
YXN4X3h2bWFkZHdvZF9oX2J1X2Iob3V0LCBpbl9oLCBpbl9sKTsKLSAgcmV0dXJuIG91dDsKLX0K
LQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IERvdCBwcm9k
dWN0IG9mIGhhbGZ3b3JkIHZlY3RvciBlbGVtZW50cwotICogQXJndW1lbnRzICAgOiBJbnB1dHMg
LSBpbl9jLCBpbl9oLCBpbl9sCi0gKiAgICAgICAgICAgICAgIE91dHB1dCAtIG91dAotICogICAg
ICAgICAgICAgICBSZXR1cm4gVHlwZSAtIHBlciBSVFlQRQotICogRGV0YWlscyAgICAgOiBTaWdu
ZWQgaGFsZndvcmQgZWxlbWVudHMgZnJvbSBpbl9oIGFyZSBtdWx0aXBsaWVkIHdpdGgKLSAqICAg
ICAgICAgICAgICAgc2lnbmVkIGhhbGZ3b3JkIGVsZW1lbnRzIGZyb20gaW5fbCBwcm9kdWNpbmcg
YSByZXN1bHQKLSAqICAgICAgICAgICAgICAgdHdpY2UgdGhlIHNpemUgb2YgaW5wdXQgaS5lLiBz
aWduZWQgd29yZC4KLSAqICAgICAgICAgICAgICAgTXVsdGlwbGljYXRpb24gcmVzdWx0IG9mIGFk
amFjZW50IG9kZC1ldmVuIGVsZW1lbnRzCi0gKiAgICAgICAgICAgICAgIGFyZSBhZGRlZCB0byB0
aGUgaW5fYyB2ZWN0b3IuCi0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9fbGFzeF94dmRwMmFkZF93
X2goaW5fYywgaW5faCwgaW5fbCkKLSAqICAgICAgICBpbl9jIDogMSwyLDMsNCwgMSwyLDMsNAot
ICogICAgICAgIGluX2ggOiAxLDIsMyw0LCA1LDYsNyw4LCAxLDIsMyw0LCA1LDYsNyw4LAotICog
ICAgICAgIGluX2wgOiA4LDcsNiw1LCA0LDMsMiwxLCA4LDcsNiw1LCA0LDMsMiwxLAotICogICAg
ICAgICBvdXQgOiAyMyw0MCw0MSwyNiwgMjMsNDAsNDEsMjYKLSAqID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0gKi8KLXN0YXRpYyBpbmxpbmUgX19tMjU2aSBfX2xhc3hfeHZkcDJhZGRfd19oKF9fbTI1
NmkgaW5fYywgX19tMjU2aSBpbl9oLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgX19tMjU2aSBpbl9sKSB7Ci0gIF9fbTI1Nmkgb3V0OwotCi0gIG91dCA9IF9fbGFz
eF94dm1hZGR3ZXZfd19oKGluX2MsIGluX2gsIGluX2wpOwotICBvdXQgPSBfX2xhc3hfeHZtYWRk
d29kX3dfaChvdXQsIGluX2gsIGluX2wpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogRG90IHByb2R1Y3Qgb2YgaGFsZndv
cmQgdmVjdG9yIGVsZW1lbnRzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAtIGluX2MsIGluX2gs
IGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0gb3V0Ci0gKiAgICAgICAgICAgICAgIFJl
dHVybiBUeXBlIC0gc2lnbmVkIHdvcmQKLSAqIERldGFpbHMgICAgIDogVW5zaWduZWQgaGFsZndv
cmQgZWxlbWVudHMgZnJvbSBpbl9oIGFyZSBtdWx0aXBsaWVkIHdpdGgKLSAqICAgICAgICAgICAg
ICAgdW5zaWduZWQgaGFsZndvcmQgZWxlbWVudHMgZnJvbSBpbl9sIHByb2R1Y2luZyBhIHJlc3Vs
dAotICogICAgICAgICAgICAgICB0d2ljZSB0aGUgc2l6ZSBvZiBpbnB1dCBpLmUuIHNpZ25lZCB3
b3JkLgotICogICAgICAgICAgICAgICBNdWx0aXBsaWNhdGlvbiByZXN1bHQgb2YgYWRqYWNlbnQg
b2RkLWV2ZW4gZWxlbWVudHMKLSAqICAgICAgICAgICAgICAgYXJlIGFkZGVkIHRvIHRoZSBpbl9j
IHZlY3Rvci4KLSAqIEV4YW1wbGUgICAgIDogU2VlIG91dCA9IF9fbGFzeF94dmRwMmFkZF93X2go
aW5fYywgaW5faCwgaW5fbCkKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLXN0YXRpYyBp
bmxpbmUgX19tMjU2aSBfX2xhc3hfeHZkcDJhZGRfd19odShfX20yNTZpIGluX2MsIF9fbTI1Nmkg
aW5faCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX20yNTZp
IGluX2wpIHsKLSAgX19tMjU2aSBvdXQ7Ci0KLSAgb3V0ID0gX19sYXN4X3h2bWFkZHdldl93X2h1
KGluX2MsIGluX2gsIGluX2wpOwotICBvdXQgPSBfX2xhc3hfeHZtYWRkd29kX3dfaHUob3V0LCBp
bl9oLCBpbl9sKTsKLSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0gKiBEZXNjcmlwdGlvbiA6IERvdCBwcm9kdWN0IG9mIGhhbGZ3b3JkIHZlY3RvciBlbGVt
ZW50cwotICogQXJndW1lbnRzICAgOiBJbnB1dHMgLSBpbl9jLCBpbl9oLCBpbl9sCi0gKiAgICAg
ICAgICAgICAgIE91dHB1dCAtIG91dAotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIHNp
Z25lZCB3b3JkCi0gKiBEZXRhaWxzICAgICA6IFVuc2lnbmVkIGhhbGZ3b3JkIGVsZW1lbnRzIGZy
b20gaW5faCBhcmUgbXVsdGlwbGllZCB3aXRoCi0gKiAgICAgICAgICAgICAgIHNpZ25lZCBoYWxm
d29yZCBlbGVtZW50cyBmcm9tIGluX2wgcHJvZHVjaW5nIGEgcmVzdWx0Ci0gKiAgICAgICAgICAg
ICAgIHR3aWNlIHRoZSBzaXplIG9mIGlucHV0IGkuZS4gc2lnbmVkIHdvcmQuCi0gKiAgICAgICAg
ICAgICAgIE11bHRpcGxpY2F0aW9uIHJlc3VsdCBvZiBhZGphY2VudCBvZGQtZXZlbiBlbGVtZW50
cwotICogICAgICAgICAgICAgICBhcmUgYWRkZWQgdG8gdGhlIGluX2MgdmVjdG9yCi0gKiBFeGFt
cGxlICAgICA6IFNlZSBvdXQgPSBfX2xhc3hfeHZkcDJhZGRfd19oKGluX2MsIGluX2gsIGluX2wp
Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19s
YXN4X3h2ZHAyYWRkX3dfaHVfaChfX20yNTZpIGluX2MsIF9fbTI1NmkgaW5faCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTI1NmkgaW5fbCkgewotICBf
X20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZtYWRkd2V2X3dfaHVfaChpbl9jLCBpbl9o
LCBpbl9sKTsKLSAgb3V0ID0gX19sYXN4X3h2bWFkZHdvZF93X2h1X2gob3V0LCBpbl9oLCBpbl9s
KTsKLSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBE
ZXNjcmlwdGlvbiA6IFZlY3RvciBVbnNpZ25lZCBEb3QgUHJvZHVjdCBhbmQgU3VidHJhY3QKLSAq
IEFyZ3VtZW50cyAgIDogSW5wdXRzIC0gaW5fYywgaW5faCwgaW5fbAotICogICAgICAgICAgICAg
ICBPdXRwdXQgLSBvdXQKLSAqICAgICAgICAgICAgICAgUmV0dXJuIFR5cGUgLSBzaWduZWQgaGFs
ZndvcmQKLSAqIERldGFpbHMgICAgIDogVW5zaWduZWQgYnl0ZSBlbGVtZW50cyBmcm9tIGluX2gg
YXJlIG11bHRpcGxpZWQgd2l0aAotICogICAgICAgICAgICAgICB1bnNpZ25lZCBieXRlIGVsZW1l
bnRzIGZyb20gaW5fbCBwcm9kdWNpbmcgYSByZXN1bHQKLSAqICAgICAgICAgICAgICAgdHdpY2Ug
dGhlIHNpemUgb2YgaW5wdXQgaS5lLiBzaWduZWQgaGFsZndvcmQuCi0gKiAgICAgICAgICAgICAg
IE11bHRpcGxpY2F0aW9uIHJlc3VsdCBvZiBhZGphY2VudCBvZGQtZXZlbiBlbGVtZW50cwotICog
ICAgICAgICAgICAgICBhcmUgYWRkZWQgdG9nZXRoZXIgYW5kIHN1YnRyYWN0ZWQgZnJvbSBkb3Vi
bGUgd2lkdGggZWxlbWVudHMKLSAqICAgICAgICAgICAgICAgaW5fYyB2ZWN0b3IuCi0gKiBFeGFt
cGxlICAgICA6IFNlZSBvdXQgPSBfX2xhc3hfeHZkcDJzdWJfd19oKGluX2MsIGluX2gsIGluX2wp
Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19s
YXN4X3h2ZHAyc3ViX2hfYnUoX19tMjU2aSBpbl9jLCBfX20yNTZpIGluX2gsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19tMjU2aSBpbl9sKSB7Ci0gIF9fbTI1
Nmkgb3V0OwotCi0gIG91dCA9IF9fbGFzeF94dm11bHdldl9oX2J1KGluX2gsIGluX2wpOwotICBv
dXQgPSBfX2xhc3hfeHZtYWRkd29kX2hfYnUob3V0LCBpbl9oLCBpbl9sKTsKLSAgb3V0ID0gX19s
YXN4X3h2c3ViX2goaW5fYywgb3V0KTsKLSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IFZlY3RvciBTaWduZWQgRG90IFByb2R1
Y3QgYW5kIFN1YnRyYWN0Ci0gKiBBcmd1bWVudHMgICA6IElucHV0cyAtIGluX2MsIGluX2gsIGlu
X2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0gb3V0Ci0gKiAgICAgICAgICAgICAgIFJldHVy
biBUeXBlIC0gc2lnbmVkIHdvcmQKLSAqIERldGFpbHMgICAgIDogU2lnbmVkIGhhbGZ3b3JkIGVs
ZW1lbnRzIGZyb20gaW5faCBhcmUgbXVsdGlwbGllZCB3aXRoCi0gKiAgICAgICAgICAgICAgIFNp
Z25lZCBoYWxmd29yZCBlbGVtZW50cyBmcm9tIGluX2wgcHJvZHVjaW5nIGEgcmVzdWx0Ci0gKiAg
ICAgICAgICAgICAgIHR3aWNlIHRoZSBzaXplIG9mIGlucHV0IGkuZS4gc2lnbmVkIHdvcmQuCi0g
KiAgICAgICAgICAgICAgIE11bHRpcGxpY2F0aW9uIHJlc3VsdCBvZiBhZGphY2VudCBvZGQtZXZl
biBlbGVtZW50cwotICogICAgICAgICAgICAgICBhcmUgYWRkZWQgdG9nZXRoZXIgYW5kIHN1YnRy
YWN0ZWQgZnJvbSBkb3VibGUgd2lkdGggZWxlbWVudHMKLSAqICAgICAgICAgICAgICAgaW5fYyB2
ZWN0b3IuCi0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9fbGFzeF94dmRwMnN1Yl93X2goaW5fYywg
aW5faCwgaW5fbCkKLSAqICAgICAgICBpbl9jIDogMCwwLDAsMCwgMCwwLDAsMAotICogICAgICAg
IGluX2ggOiAzLDEsMywwLCAwLDAsMCwxLCAwLDAsMSwxLCAwLDAsMCwxCi0gKiAgICAgICAgaW5f
bCA6IDIsMSwxLDAsIDEsMCwwLDAsIDAsMCwxLDAsIDEsMCwwLDEKLSAqICAgICAgICAgb3V0IDog
LTcsLTMsMCwwLCAwLC0xLDAsLTEKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLXN0YXRp
YyBpbmxpbmUgX19tMjU2aSBfX2xhc3hfeHZkcDJzdWJfd19oKF9fbTI1NmkgaW5fYywgX19tMjU2
aSBpbl9oLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19tMjU2
aSBpbl9sKSB7Ci0gIF9fbTI1Nmkgb3V0OwotCi0gIG91dCA9IF9fbGFzeF94dm11bHdldl93X2go
aW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbGFzeF94dm1hZGR3b2Rfd19oKG91dCwgaW5faCwgaW5f
bCk7Ci0gIG91dCA9IF9fbGFzeF94dnN1Yl93KGluX2MsIG91dCk7Ci0gIHJldHVybiBvdXQ7Ci19
Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBEb3QgcHJv
ZHVjdCBvZiBoYWxmd29yZCB2ZWN0b3IgZWxlbWVudHMKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRz
IC0gaW5faCwgaW5fbAotICogICAgICAgICAgICAgICBPdXRwdXQgLSBvdXQKLSAqICAgICAgICAg
ICAgICAgUmV0dXJuIFR5cGUgLSBzaWduZWQgd29yZAotICogRGV0YWlscyAgICAgOiBTaWduZWQg
aGFsZndvcmQgZWxlbWVudHMgZnJvbSBpbl9oIGFyZSBtdWx0aXBsaWVkIHdpdGgKLSAqICAgICAg
ICAgICAgICAgc2lnbmVkIGhhbGZ3b3JkIGVsZW1lbnRzIGZyb20gaW5fbCBwcm9kdWNpbmcgYSBy
ZXN1bHQKLSAqICAgICAgICAgICAgICAgZm91ciB0aW1lcyB0aGUgc2l6ZSBvZiBpbnB1dCBpLmUu
IHNpZ25lZCBkb3VibGV3b3JkLgotICogICAgICAgICAgICAgICBUaGVuIHRoZXNlIG11bHRpcGxp
Y2F0aW9uIHJlc3VsdHMgb2YgZm91ciBhZGphY2VudCBlbGVtZW50cwotICogICAgICAgICAgICAg
ICBhcmUgYWRkZWQgdG9nZXRoZXIgYW5kIHN0b3JlZCB0byB0aGUgb3V0IHZlY3Rvci4KLSAqIEV4
YW1wbGUgICAgIDogb3V0ID0gX19sYXN4X3h2ZHA0X2RfaChpbl9oLCBpbl9sKQotICogICAgICAg
IGluX2ggOiAgMywxLDMsMCwgMCwwLDAsMSwgMCwwLDEsLTEsIDAsMCwwLDEKLSAqICAgICAgICBp
bl9sIDogLTIsMSwxLDAsIDEsMCwwLDAsIDAsMCwxLCAwLCAxLDAsMCwxCi0gKiAgICAgICAgIG91
dCA6IC0yLDAsMSwxCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5l
IF9fbTI1NmkgX19sYXN4X3h2ZHA0X2RfaChfX20yNTZpIGluX2gsIF9fbTI1NmkgaW5fbCkgewot
ICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZtdWx3ZXZfd19oKGluX2gsIGluX2wp
OwotICBvdXQgPSBfX2xhc3hfeHZtYWRkd29kX3dfaChvdXQsIGluX2gsIGluX2wpOwotICBvdXQg
PSBfX2xhc3hfeHZoYWRkd19kX3cob3V0LCBvdXQpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgot
ICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogVGhlIGhpZ2ggaGFsZiBv
ZiB0aGUgdmVjdG9yIGVsZW1lbnRzIGFyZSBleHBhbmRlZCBhbmQKLSAqICAgICAgICAgICAgICAg
YWRkZWQgYWZ0ZXIgYmVpbmcgZG91YmxlZC4KLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzIC0gaW5f
aCwgaW5fbAotICogICAgICAgICAgICAgICBPdXRwdXQgLSBvdXQKLSAqIERldGFpbHMgICAgIDog
VGhlIGluX2ggdmVjdG9yIGFuZCB0aGUgaW5fbCB2ZWN0b3IgYXJlIGFkZGVkIGFmdGVyIHRoZQot
ICogICAgICAgICAgICAgICBoaWdoZXIgaGFsZiBvZiB0aGUgdHdvLWZvbGQgc2lnbiBleHRlbnNp
b24gKHNpZ25lZCBieXRlCi0gKiAgICAgICAgICAgICAgIHRvIHNpZ25lZCBoYWxmd29yZCkgYW5k
IHN0b3JlZCB0byB0aGUgb3V0IHZlY3Rvci4KLSAqIEV4YW1wbGUgICAgIDogU2VlIG91dCA9IF9f
bGFzeF94dmFkZHdoX3dfaChpbl9oLCBpbl9sKQotICogPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAq
Lwotc3RhdGljIGlubGluZSBfX20yNTZpIF9fbGFzeF94dmFkZHdoX2hfYihfX20yNTZpIGluX2gs
IF9fbTI1NmkgaW5fbCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZpbHZo
X2IoaW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbGFzeF94dmhhZGR3X2hfYihvdXQsIG91dCk7Ci0g
IHJldHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3Jp
cHRpb24gOiBUaGUgaGlnaCBoYWxmIG9mIHRoZSB2ZWN0b3IgZWxlbWVudHMgYXJlIGV4cGFuZGVk
IGFuZAotICogICAgICAgICAgICAgICBhZGRlZCBhZnRlciBiZWluZyBkb3VibGVkLgotICogQXJn
dW1lbnRzICAgOiBJbnB1dHMgLSBpbl9oLCBpbl9sCi0gKiAgICAgICAgICAgICAgIE91dHB1dCAt
IG91dAotICogRGV0YWlscyAgICAgOiBUaGUgaW5faCB2ZWN0b3IgYW5kIHRoZSBpbl9sIHZlY3Rv
ciBhcmUgYWRkZWQgYWZ0ZXIgdGhlCi0gKiAgICAgICAgICAgICAgIGhpZ2hlciBoYWxmIG9mIHRo
ZSB0d28tZm9sZCBzaWduIGV4dGVuc2lvbiAoc2lnbmVkIGhhbGZ3b3JkCi0gKiAgICAgICAgICAg
ICAgIHRvIHNpZ25lZCB3b3JkKSBhbmQgc3RvcmVkIHRvIHRoZSBvdXQgdmVjdG9yLgotICogRXhh
bXBsZSAgICAgOiBvdXQgPSBfX2xhc3hfeHZhZGR3aF93X2goaW5faCwgaW5fbCkKLSAqICAgICAg
ICBpbl9oIDogMywgMCwzLDAsIDAsMCwwLC0xLCAwLDAsMSwtMSwgMCwwLDAsMQotICogICAgICAg
IGluX2wgOiAyLC0xLDEsMiwgMSwwLDAsIDAsIDEsMCwxLCAwLCAxLDAsMCwxCi0gKiAgICAgICAg
IG91dCA6IDEsMCwwLC0xLCAxLDAsMCwgMgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwot
c3RhdGljIGlubGluZSBfX20yNTZpIF9fbGFzeF94dmFkZHdoX3dfaChfX20yNTZpIGluX2gsIF9f
bTI1NmkgaW5fbCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZpbHZoX2go
aW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbGFzeF94dmhhZGR3X3dfaChvdXQsIG91dCk7Ci0gIHJl
dHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRp
b24gOiBUaGUgbG93IGhhbGYgb2YgdGhlIHZlY3RvciBlbGVtZW50cyBhcmUgZXhwYW5kZWQgYW5k
Ci0gKiAgICAgICAgICAgICAgIGFkZGVkIGFmdGVyIGJlaW5nIGRvdWJsZWQuCi0gKiBBcmd1bWVu
dHMgICA6IElucHV0cyAtIGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0gb3V0
Ci0gKiBEZXRhaWxzICAgICA6IFRoZSBpbl9oIHZlY3RvciBhbmQgdGhlIGluX2wgdmVjdG9yIGFy
ZSBhZGRlZCBhZnRlciB0aGUKLSAqICAgICAgICAgICAgICAgbG93ZXIgaGFsZiBvZiB0aGUgdHdv
LWZvbGQgc2lnbiBleHRlbnNpb24gKHNpZ25lZCBieXRlCi0gKiAgICAgICAgICAgICAgIHRvIHNp
Z25lZCBoYWxmd29yZCkgYW5kIHN0b3JlZCB0byB0aGUgb3V0IHZlY3Rvci4KLSAqIEV4YW1wbGUg
ICAgIDogU2VlIG91dCA9IF9fbGFzeF94dmFkZHdsX3dfaChpbl9oLCBpbl9sKQotICogPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20yNTZpIF9fbGFzeF94dmFkZHds
X2hfYihfX20yNTZpIGluX2gsIF9fbTI1NmkgaW5fbCkgewotICBfX20yNTZpIG91dDsKLQotICBv
dXQgPSBfX2xhc3hfeHZpbHZsX2IoaW5faCwgaW5fbCk7Ci0gIG91dCA9IF9fbGFzeF94dmhhZGR3
X2hfYihvdXQsIG91dCk7Ci0gIHJldHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotICogRGVzY3JpcHRpb24gOiBUaGUgbG93IGhhbGYgb2YgdGhlIHZlY3RvciBlbGVt
ZW50cyBhcmUgZXhwYW5kZWQgYW5kCi0gKiAgICAgICAgICAgICAgIGFkZGVkIGFmdGVyIGJlaW5n
IGRvdWJsZWQuCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAtIGluX2gsIGluX2wKLSAqICAgICAg
ICAgICAgICAgT3V0cHV0IC0gb3V0Ci0gKiBEZXRhaWxzICAgICA6IFRoZSBpbl9oIHZlY3RvciBh
bmQgdGhlIGluX2wgdmVjdG9yIGFyZSBhZGRlZCBhZnRlciB0aGUKLSAqICAgICAgICAgICAgICAg
bG93ZXIgaGFsZiBvZiB0aGUgdHdvLWZvbGQgc2lnbiBleHRlbnNpb24gKHNpZ25lZCBoYWxmd29y
ZAotICogICAgICAgICAgICAgICB0byBzaWduZWQgd29yZCkgYW5kIHN0b3JlZCB0byB0aGUgb3V0
IHZlY3Rvci4KLSAqIEV4YW1wbGUgICAgIDogb3V0ID0gX19sYXN4X3h2YWRkd2xfd19oKGluX2gs
IGluX2wpCi0gKiAgICAgICAgaW5faCA6IDMsIDAsMywwLCAwLDAsMCwtMSwgMCwwLDEsLTEsIDAs
MCwwLDEKLSAqICAgICAgICBpbl9sIDogMiwtMSwxLDIsIDEsMCwwLCAwLCAxLDAsMSwgMCwgMSww
LDAsMQotICogICAgICAgICBvdXQgOiA1LC0xLDQsMiwgMSwwLDIsLTEKLSAqID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0gKi8KLXN0YXRpYyBpbmxpbmUgX19tMjU2aSBfX2xhc3hfeHZhZGR3bF93X2go
X19tMjU2aSBpbl9oLCBfX20yNTZpIGluX2wpIHsKLSAgX19tMjU2aSBvdXQ7Ci0KLSAgb3V0ID0g
X19sYXN4X3h2aWx2bF9oKGluX2gsIGluX2wpOwotICBvdXQgPSBfX2xhc3hfeHZoYWRkd193X2go
b3V0LCBvdXQpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLSAqIERlc2NyaXB0aW9uIDogVGhlIGxvdyBoYWxmIG9mIHRoZSB2ZWN0b3IgZWxlbWVudHMg
YXJlIGV4cGFuZGVkIGFuZAotICogICAgICAgICAgICAgICBhZGRlZCBhZnRlciBiZWluZyBkb3Vi
bGVkLgotICogQXJndW1lbnRzICAgOiBJbnB1dHMgLSBpbl9oLCBpbl9sCi0gKiAgICAgICAgICAg
ICAgIE91dHB1dCAtIG91dAotICogRGV0YWlscyAgICAgOiBUaGUgb3V0IHZlY3RvciBhbmQgdGhl
IG91dCB2ZWN0b3IgYXJlIGFkZGVkIGFmdGVyIHRoZQotICogICAgICAgICAgICAgICBsb3dlciBo
YWxmIG9mIHRoZSB0d28tZm9sZCB6ZXJvIGV4dGVuc2lvbiAodW5zaWduZWQgYnl0ZQotICogICAg
ICAgICAgICAgICB0byB1bnNpZ25lZCBoYWxmd29yZCkgYW5kIHN0b3JlZCB0byB0aGUgb3V0IHZl
Y3Rvci4KLSAqIEV4YW1wbGUgICAgIDogU2VlIG91dCA9IF9fbGFzeF94dmFkZHdsX3dfaChpbl9o
LCBpbl9sKQotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20y
NTZpIF9fbGFzeF94dmFkZHdsX2hfYnUoX19tMjU2aSBpbl9oLCBfX20yNTZpIGluX2wpIHsKLSAg
X19tMjU2aSBvdXQ7Ci0KLSAgb3V0ID0gX19sYXN4X3h2aWx2bF9iKGluX2gsIGluX2wpOwotICBv
dXQgPSBfX2xhc3hfeHZoYWRkd19odV9idShvdXQsIG91dCk7Ci0gIHJldHVybiBvdXQ7Ci19Ci0K
LS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBUaGUgbG93IGhh
bGYgb2YgdGhlIHZlY3RvciBlbGVtZW50cyBhcmUgZXhwYW5kZWQgYW5kCi0gKiAgICAgICAgICAg
ICAgIGFkZGVkIGFmdGVyIGJlaW5nIGRvdWJsZWQuCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAt
IGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0gb3V0Ci0gKiBEZXRhaWxzICAg
ICA6IFRoZSBpbl9sIHZlY3RvciBhZnRlciBkb3VibGUgemVybyBleHRlbnNpb24gKHVuc2lnbmVk
IGJ5dGUgdG8KLSAqICAgICAgICAgICAgICAgc2lnbmVkIGhhbGZ3b3JkKe+8jGFkZGVkIHRvIHRo
ZSBpbl9oIHZlY3Rvci4KLSAqIEV4YW1wbGUgICAgIDogU2VlIG91dCA9IF9fbGFzeF94dmFkZHdf
d193X2goaW5faCwgaW5fbCkKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLXN0YXRpYyBp
bmxpbmUgX19tMjU2aSBfX2xhc3hfeHZhZGR3X2hfaF9idShfX20yNTZpIGluX2gsIF9fbTI1Nmkg
aW5fbCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZzbGx3aWxfaHVfYnUo
aW5fbCwgMCk7Ci0gIG91dCA9IF9fbGFzeF94dmFkZF9oKGluX2gsIG91dCk7Ci0gIHJldHVybiBv
dXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBU
aGUgbG93IGhhbGYgb2YgdGhlIHZlY3RvciBlbGVtZW50cyBhcmUgZXhwYW5kZWQgYW5kCi0gKiAg
ICAgICAgICAgICAgIGFkZGVkIGFmdGVyIGJlaW5nIGRvdWJsZWQuCi0gKiBBcmd1bWVudHMgICA6
IElucHV0cyAtIGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0gb3V0Ci0gKiBE
ZXRhaWxzICAgICA6IFRoZSBpbl9sIHZlY3RvciBhZnRlciBkb3VibGUgc2lnbiBleHRlbnNpb24g
KHNpZ25lZCBoYWxmd29yZCB0bwotICogICAgICAgICAgICAgICBzaWduZWQgd29yZCksIGFkZGVk
IHRvIHRoZSBpbl9oIHZlY3Rvci4KLSAqIEV4YW1wbGUgICAgIDogb3V0ID0gX19sYXN4X3h2YWRk
d193X3dfaChpbl9oLCBpbl9sKQotICogICAgICAgIGluX2ggOiAwLCAxLDAsMCwgLTEsMCwwLDEs
Ci0gKiAgICAgICAgaW5fbCA6IDIsLTEsMSwyLCAgMSwwLDAsMCwgMCwwLDEsMCwgMSwwLDAsMSwK
LSAqICAgICAgICAgb3V0IDogMiwgMCwxLDIsIC0xLDAsMSwxLAotICogPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20yNTZpIF9fbGFzeF94dmFkZHdfd193X2goX19t
MjU2aSBpbl9oLCBfX20yNTZpIGluX2wpIHsKLSAgX19tMjU2aSBvdXQ7Ci0KLSAgb3V0ID0gX19s
YXN4X3h2c2xsd2lsX3dfaChpbl9sLCAwKTsKLSAgb3V0ID0gX19sYXN4X3h2YWRkX3coaW5faCwg
b3V0KTsKLSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0g
KiBEZXNjcmlwdGlvbiA6IE11bHRpcGxpY2F0aW9uIGFuZCBhZGRpdGlvbiBjYWxjdWxhdGlvbiBh
ZnRlciBleHBhbnNpb24KLSAqICAgICAgICAgICAgICAgb2YgdGhlIGxvd2VyIGhhbGYgb2YgdGhl
IHZlY3Rvci4KLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzIC0gaW5fYywgaW5faCwgaW5fbAotICog
ICAgICAgICAgICAgICBPdXRwdXQgLSBvdXQKLSAqIERldGFpbHMgICAgIDogVGhlIGluX2ggdmVj
dG9yIGFuZCB0aGUgaW5fbCB2ZWN0b3IgYXJlIG11bHRpcGxpZWQgYWZ0ZXIKLSAqICAgICAgICAg
ICAgICAgdGhlIGxvd2VyIGhhbGYgb2YgdGhlIHR3by1mb2xkIHNpZ24gZXh0ZW5zaW9uIChzaWdu
ZWQgaGFsZndvcmQKLSAqICAgICAgICAgICAgICAgdG8gc2lnbmVkIHdvcmQpLCBhbmQgdGhlIHJl
c3VsdCBpcyBhZGRlZCB0byB0aGUgdmVjdG9yIGluX2MsCi0gKiAgICAgICAgICAgICAgIHRoZW4g
c3RvcmVkIHRvIHRoZSBvdXQgdmVjdG9yLgotICogRXhhbXBsZSAgICAgOiBvdXQgPSBfX2xhc3hf
eHZtYWRkd2xfd19oKGluX2MsIGluX2gsIGluX2wpCi0gKiAgICAgICAgaW5fYyA6IDEsMiwzLDQs
IDUsNiw3LDgKLSAqICAgICAgICBpbl9oIDogMSwyLDMsNCwgMSwyLDMsNCwgNSw2LDcsOCwgNSw2
LDcsOAotICogICAgICAgIGluX2wgOiAyMDAsIDMwMCwgNDAwLCA1MDAsICAyMDAwLCAzMDAwLCA0
MDAwLCA1MDAwLAotICogICAgICAgICAgICAgIC0yMDAsLTMwMCwtNDAwLC01MDAsIC0yMDAwLC0z
MDAwLC00MDAwLC01MDAwCi0gKiAgICAgICAgIG91dCA6IDIwMSwgNjAyLDEyMDMsMjAwNCwgLTk5
NSwgLTE3OTQsLTI3OTMsLTM5OTIKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLXN0YXRp
YyBpbmxpbmUgX19tMjU2aSBfX2xhc3hfeHZtYWRkd2xfd19oKF9fbTI1NmkgaW5fYywgX19tMjU2
aSBpbl9oLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19tMjU2
aSBpbl9sKSB7Ci0gIF9fbTI1NmkgdG1wMCwgdG1wMSwgb3V0OwotCi0gIHRtcDAgPSBfX2xhc3hf
eHZzbGx3aWxfd19oKGluX2gsIDApOwotICB0bXAxID0gX19sYXN4X3h2c2xsd2lsX3dfaChpbl9s
LCAwKTsKLSAgdG1wMCA9IF9fbGFzeF94dm11bF93KHRtcDAsIHRtcDEpOwotICBvdXQgPSBfX2xh
c3hfeHZhZGRfdyh0bXAwLCBpbl9jKTsKLSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IE11bHRpcGxpY2F0aW9uIGFuZCBhZGRp
dGlvbiBjYWxjdWxhdGlvbiBhZnRlciBleHBhbnNpb24KLSAqICAgICAgICAgICAgICAgb2YgdGhl
IGhpZ2hlciBoYWxmIG9mIHRoZSB2ZWN0b3IuCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAtIGlu
X2MsIGluX2gsIGluX2wKLSAqICAgICAgICAgICAgICAgT3V0cHV0IC0gb3V0Ci0gKiBEZXRhaWxz
ICAgICA6IFRoZSBpbl9oIHZlY3RvciBhbmQgdGhlIGluX2wgdmVjdG9yIGFyZSBtdWx0aXBsaWVk
IGFmdGVyCi0gKiAgICAgICAgICAgICAgIHRoZSBoaWdoZXIgaGFsZiBvZiB0aGUgdHdvLWZvbGQg
c2lnbiBleHRlbnNpb24gKHNpZ25lZAotICogICAgICAgICAgICAgICBoYWxmd29yZCB0byBzaWdu
ZWQgd29yZCksIGFuZCB0aGUgcmVzdWx0IGlzIGFkZGVkIHRvCi0gKiAgICAgICAgICAgICAgIHRo
ZSB2ZWN0b3IgaW5fYywgdGhlbiBzdG9yZWQgdG8gdGhlIG91dCB2ZWN0b3IuCi0gKiBFeGFtcGxl
ICAgICA6IFNlZSBvdXQgPSBfX2xhc3hfeHZtYWRkd2xfd19oKGluX2MsIGluX2gsIGluX2wpCi0g
KiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19sYXN4
X3h2bWFkZHdoX3dfaChfX20yNTZpIGluX2MsIF9fbTI1NmkgaW5faCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fbTI1NmkgaW5fbCkgewotICBfX20yNTZpIHRt
cDAsIHRtcDEsIG91dDsKLQotICB0bXAwID0gX19sYXN4X3h2aWx2aF9oKGluX2gsIGluX2gpOwot
ICB0bXAxID0gX19sYXN4X3h2aWx2aF9oKGluX2wsIGluX2wpOwotICB0bXAwID0gX19sYXN4X3h2
bXVsd2V2X3dfaCh0bXAwLCB0bXAxKTsKLSAgb3V0ID0gX19sYXN4X3h2YWRkX3codG1wMCwgaW5f
Yyk7Ci0gIHJldHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICog
RGVzY3JpcHRpb24gOiBNdWx0aXBsaWNhdGlvbiBjYWxjdWxhdGlvbiBhZnRlciBleHBhbnNpb24g
b2YgdGhlIGxvd2VyCi0gKiAgICAgICAgICAgICAgIGhhbGYgb2YgdGhlIHZlY3Rvci4KLSAqIEFy
Z3VtZW50cyAgIDogSW5wdXRzIC0gaW5faCwgaW5fbAotICogICAgICAgICAgICAgICBPdXRwdXQg
LSBvdXQKLSAqIERldGFpbHMgICAgIDogVGhlIGluX2ggdmVjdG9yIGFuZCB0aGUgaW5fbCB2ZWN0
b3IgYXJlIG11bHRpcGxpZWQgYWZ0ZXIKLSAqICAgICAgICAgICAgICAgdGhlIGxvd2VyIGhhbGYg
b2YgdGhlIHR3by1mb2xkIHNpZ24gZXh0ZW5zaW9uIChzaWduZWQKLSAqICAgICAgICAgICAgICAg
aGFsZndvcmQgdG8gc2lnbmVkIHdvcmQpLCB0aGVuIHN0b3JlZCB0byB0aGUgb3V0IHZlY3Rvci4K
LSAqIEV4YW1wbGUgICAgIDogb3V0ID0gX19sYXN4X3h2bXVsd2xfd19oKGluX2gsIGluX2wpCi0g
KiAgICAgICAgaW5faCA6IDMsLTEsMywwLCAwLDAsMCwtMSwgMCwwLDEsLTEsIDAsMCwwLDEKLSAq
ICAgICAgICBpbl9sIDogMiwtMSwxLDIsIDEsMCwwLCAwLCAwLDAsMSwgMCwgMSwwLDAsMQotICog
ICAgICAgICBvdXQgOiA2LDEsMywwLCAwLDAsMSwwCi0gKiA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
ICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19sYXN4X3h2bXVsd2xfd19oKF9fbTI1NmkgaW5f
aCwgX19tMjU2aSBpbl9sKSB7Ci0gIF9fbTI1NmkgdG1wMCwgdG1wMSwgb3V0OwotCi0gIHRtcDAg
PSBfX2xhc3hfeHZzbGx3aWxfd19oKGluX2gsIDApOwotICB0bXAxID0gX19sYXN4X3h2c2xsd2ls
X3dfaChpbl9sLCAwKTsKLSAgb3V0ID0gX19sYXN4X3h2bXVsX3codG1wMCwgdG1wMSk7Ci0gIHJl
dHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRp
b24gOiBNdWx0aXBsaWNhdGlvbiBjYWxjdWxhdGlvbiBhZnRlciBleHBhbnNpb24gb2YgdGhlIGxv
d2VyCi0gKiAgICAgICAgICAgICAgIGhhbGYgb2YgdGhlIHZlY3Rvci4KLSAqIEFyZ3VtZW50cyAg
IDogSW5wdXRzIC0gaW5faCwgaW5fbAotICogICAgICAgICAgICAgICBPdXRwdXQgLSBvdXQKLSAq
IERldGFpbHMgICAgIDogVGhlIGluX2ggdmVjdG9yIGFuZCB0aGUgaW5fbCB2ZWN0b3IgYXJlIG11
bHRpcGxpZWQgYWZ0ZXIKLSAqICAgICAgICAgICAgICAgdGhlIGxvd2VyIGhhbGYgb2YgdGhlIHR3
by1mb2xkIHNpZ24gZXh0ZW5zaW9uIChzaWduZWQKLSAqICAgICAgICAgICAgICAgaGFsZndvcmQg
dG8gc2lnbmVkIHdvcmQpLCB0aGVuIHN0b3JlZCB0byB0aGUgb3V0IHZlY3Rvci4KLSAqIEV4YW1w
bGUgICAgIDogb3V0ID0gX19sYXN4X3h2bXVsd2hfd19oKGluX2gsIGluX2wpCi0gKiAgICAgICAg
aW5faCA6IDMsLTEsMywwLCAwLDAsMCwtMSwgMCwwLDEsLTEsIDAsMCwwLDEKLSAqICAgICAgICBp
bl9sIDogMiwtMSwxLDIsIDEsMCwwLCAwLCAwLDAsMSwgMCwgMSwwLDAsMQotICogICAgICAgICBv
dXQgOiAwLDAsMCwwLCAwLDAsMCwxCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0
aWMgaW5saW5lIF9fbTI1NmkgX19sYXN4X3h2bXVsd2hfd19oKF9fbTI1NmkgaW5faCwgX19tMjU2
aSBpbl9sKSB7Ci0gIF9fbTI1NmkgdG1wMCwgdG1wMSwgb3V0OwotCi0gIHRtcDAgPSBfX2xhc3hf
eHZpbHZoX2goaW5faCwgaW5faCk7Ci0gIHRtcDEgPSBfX2xhc3hfeHZpbHZoX2goaW5fbCwgaW5f
bCk7Ci0gIG91dCA9IF9fbGFzeF94dm11bHdldl93X2godG1wMCwgdG1wMSk7Ci0gIHJldHVybiBv
dXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRpb24gOiBU
aGUgbG93IGhhbGYgb2YgdGhlIHZlY3RvciBlbGVtZW50cyBhcmUgYWRkZWQgdG8gdGhlIGhpZ2gg
aGFsZgotICogICAgICAgICAgICAgICBhZnRlciBiZWluZyBkb3VibGVkLCB0aGVuIHNhdHVyYXRl
ZC4KLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzIC0gaW5faCwgaW5fbAotICogICAgICAgICAgICAg
ICBPdXRwdXQgLSBvdXQKLSAqIERldGFpbHMgICAgIDogVGhlIGluX2ggdmVjdG9yIGFkZHMgdGhl
IGluX2wgdmVjdG9yIGFmdGVyIHRoZSBsb3dlciBoYWxmIG9mCi0gKiAgICAgICAgICAgICAgIHRo
ZSB0d28tZm9sZCB6ZXJvIGV4dGVuc2lvbiAodW5zaWduZWQgYnl0ZSB0byB1bnNpZ25lZAotICog
ICAgICAgICAgICAgICBoYWxmd29yZCkgYW5kIHRoZW4gc2F0dXJhdGVkLiBUaGUgcmVzdWx0cyBh
cmUgc3RvcmVkIHRvIHRoZSBvdXQKLSAqICAgICAgICAgICAgICAgdmVjdG9yLgotICogRXhhbXBs
ZSAgICAgOiBvdXQgPSBfX2xhc3hfeHZzYWRkd19odV9odV9idShpbl9oLCBpbl9sKQotICogICAg
ICAgIGluX2ggOiAyLDY1NTMyLDEsMiwgMSwwLDAsMCwgMCwwLDEsMCwgMSwwLDAsMQotICogICAg
ICAgIGluX2wgOiAzLDYsMywwLCAwLDAsMCwxLCAwLDAsMSwxLCAwLDAsMCwxLCAzLDE4LDMsMCwg
MCwwLDAsMSwgMCwwLDEsMSwKLSAqICAgICAgICAgICAgICAgMCwwLDAsMQotICogICAgICAgIG91
dCAgOiA1LDY1NTM1LDQsMiwgMSwwLDAsMSwgMywxOCw0LDAsIDEsMCwwLDIsCi0gKiA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9fbTI1NmkgX19sYXN4X3h2c2FkZHdf
aHVfaHVfYnUoX19tMjU2aSBpbl9oLCBfX20yNTZpIGluX2wpIHsKLSAgX19tMjU2aSB0bXAxLCBv
dXQ7Ci0gIF9fbTI1NmkgemVybyA9IHsgMCB9OwotCi0gIHRtcDEgPSBfX2xhc3hfeHZpbHZsX2Io
emVybywgaW5fbCk7Ci0gIG91dCA9IF9fbGFzeF94dnNhZGRfaHUoaW5faCwgdG1wMSk7Ci0gIHJl
dHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRp
b24gOiBDbGlwIGFsbCBoYWxmd29yZCBlbGVtZW50cyBvZiBpbnB1dCB2ZWN0b3IgYmV0d2VlbiBt
aW4gJiBtYXgKLSAqICAgICAgICAgICAgICAgb3V0ID0gKChpbikgPCAobWluKSkgPyAobWluKSA6
ICgoKGluKSA+IChtYXgpKSA/IChtYXgpIDogKGluKSkKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRz
ICAtIGluICAgIChpbnB1dCB2ZWN0b3IpCi0gKiAgICAgICAgICAgICAgICAgICAgICAgLSBtaW4g
ICAobWluIHRocmVzaG9sZCkKLSAqICAgICAgICAgICAgICAgICAgICAgICAtIG1heCAgIChtYXgg
dGhyZXNob2xkKQotICogICAgICAgICAgICAgICBPdXRwdXRzIC0gaW4gICAgKG91dHB1dCB2ZWN0
b3Igd2l0aCBjbGlwcGVkIGVsZW1lbnRzKQotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAt
IHNpZ25lZCBoYWxmd29yZAotICogRXhhbXBsZSAgICAgOiBvdXQgPSBfX2xhc3hfeHZjbGlwX2go
aW4sIG1pbiwgbWF4KQotICogICAgICAgICAgaW4gOiAtOCwyLDI4MCwyNDksIC04LDI1NSwyODAs
MjQ5LCA0LDQsNCw0LCA1LDUsNSw1Ci0gKiAgICAgICAgIG1pbiA6IDEsMSwxLDEsIDEsMSwxLDEs
IDEsMSwxLDEsIDEsMSwxLDEKLSAqICAgICAgICAgbWF4IDogOSw5LDksOSwgOSw5LDksOSwgOSw5
LDksOSwgOSw5LDksOQotICogICAgICAgICBvdXQgOiAxLDIsOSw5LCAxLDksOSw5LCA0LDQsNCw0
LCA1LDUsNSw1Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi1zdGF0aWMgaW5saW5lIF9f
bTI1NmkgX19sYXN4X3h2Y2xpcF9oKF9fbTI1NmkgaW4sIF9fbTI1NmkgbWluLCBfX20yNTZpIG1h
eCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZtYXhfaChtaW4sIGluKTsK
LSAgb3V0ID0gX19sYXN4X3h2bWluX2gobWF4LCBvdXQpOwotICByZXR1cm4gb3V0OwotfQotCi0v
KgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogQ2xpcCBhbGwgc2ln
bmVkIGhhbGZ3b3JkIGVsZW1lbnRzIG9mIGlucHV0IHZlY3RvcgotICogICAgICAgICAgICAgICBi
ZXR3ZWVuIDAgJiAyNTUKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIGluICAgKGlucHV0IHZl
Y3RvcikKLSAqICAgICAgICAgICAgICAgT3V0cHV0cyAtIG91dCAgKG91dHB1dCB2ZWN0b3Igd2l0
aCBjbGlwcGVkIGVsZW1lbnRzKQotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIHNpZ25l
ZCBoYWxmd29yZAotICogRXhhbXBsZSAgICAgOiBTZWUgb3V0ID0gX19sYXN4X3h2Y2xpcDI1NV93
KGluKQotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20yNTZp
IF9fbGFzeF94dmNsaXAyNTVfaChfX20yNTZpIGluKSB7Ci0gIF9fbTI1Nmkgb3V0OwotCi0gIG91
dCA9IF9fbGFzeF94dm1heGlfaChpbiwgMCk7Ci0gIG91dCA9IF9fbGFzeF94dnNhdF9odShvdXQs
IDcpOwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAq
IERlc2NyaXB0aW9uIDogQ2xpcCBhbGwgc2lnbmVkIHdvcmQgZWxlbWVudHMgb2YgaW5wdXQgdmVj
dG9yCi0gKiAgICAgICAgICAgICAgIGJldHdlZW4gMCAmIDI1NQotICogQXJndW1lbnRzICAgOiBJ
bnB1dHMgLSBpbiAgIChpbnB1dCB2ZWN0b3IpCi0gKiAgICAgICAgICAgICAgIE91dHB1dCAtIG91
dCAgKG91dHB1dCB2ZWN0b3Igd2l0aCBjbGlwcGVkIGVsZW1lbnRzKQotICogICAgICAgICAgICAg
ICBSZXR1cm4gVHlwZSAtIHNpZ25lZCB3b3JkCi0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9fbGFz
eF94dmNsaXAyNTVfdyhpbikKLSAqICAgICAgICAgIGluIDogLTgsMjU1LDI4MCwyNDksIC04LDI1
NSwyODAsMjQ5Ci0gKiAgICAgICAgIG91dCA6ICAwLDI1NSwyNTUsMjQ5LCAgMCwyNTUsMjU1LDI0
OQotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20yNTZpIF9f
bGFzeF94dmNsaXAyNTVfdyhfX20yNTZpIGluKSB7Ci0gIF9fbTI1Nmkgb3V0OwotCi0gIG91dCA9
IF9fbGFzeF94dm1heGlfdyhpbiwgMCk7Ci0gIG91dCA9IF9fbGFzeF94dnNhdF93dShvdXQsIDcp
OwotICByZXR1cm4gb3V0OwotfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERl
c2NyaXB0aW9uIDogSW5kZXhlZCBoYWxmd29yZCBlbGVtZW50IHZhbHVlcyBhcmUgcmVwbGljYXRl
ZCB0byBhbGwKLSAqICAgICAgICAgICAgICAgZWxlbWVudHMgaW4gb3V0cHV0IHZlY3Rvci4gSWYg
J2lkeCA8IDgnIHVzZSB4dnNwbGF0aV9sXyosCi0gKiAgICAgICAgICAgICAgIGlmICdpZHggPj0g
OCcgdXNlIHh2c3BsYXRpX2hfKi4KLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzIC0gaW4sIGlkeAot
ICogICAgICAgICAgICAgICBPdXRwdXQgLSBvdXQKLSAqIERldGFpbHMgICAgIDogSWR4IGVsZW1l
bnQgdmFsdWUgZnJvbSBpbiB2ZWN0b3IgaXMgcmVwbGljYXRlZCB0byBhbGwKLSAqICAgICAgICAg
ICAgICAgZWxlbWVudHMgaW4gb3V0IHZlY3Rvci4KLSAqICAgICAgICAgICAgICAgVmFsaWQgaW5k
ZXggcmFuZ2UgZm9yIGhhbGZ3b3JkIG9wZXJhdGlvbiBpcyAwLTcKLSAqIEV4YW1wbGUgICAgIDog
b3V0ID0gX19sYXN4X3h2c3BsYXRpX2xfaChpbiwgaWR4KQotICogICAgICAgICAgaW4gOiAyMCwx
MCwxMSwxMiwgMTMsMTQsMTUsMTYsIDAsMCwyLDAsIDAsMCwwLDAKLSAqICAgICAgICAgaWR4IDog
MHgwMgotICogICAgICAgICBvdXQgOiAxMSwxMSwxMSwxMSwgMTEsMTEsMTEsMTEsIDExLDExLDEx
LDExLCAxMSwxMSwxMSwxMQotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotc3RhdGljIGlu
bGluZSBfX20yNTZpIF9fbGFzeF94dnNwbGF0aV9sX2goX19tMjU2aSBpbiwgaW50IGlkeCkgewot
ICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZwZXJtaV9xKGluLCBpbiwgMHgwMik7
Ci0gIG91dCA9IF9fbGFzeF94dnJlcGx2ZV9oKG91dCwgaWR4KTsKLSAgcmV0dXJuIG91dDsKLX0K
LQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IEluZGV4ZWQg
aGFsZndvcmQgZWxlbWVudCB2YWx1ZXMgYXJlIHJlcGxpY2F0ZWQgdG8gYWxsCi0gKiAgICAgICAg
ICAgICAgIGVsZW1lbnRzIGluIG91dHB1dCB2ZWN0b3IuIElmICdpZHggPCA4JyB1c2UgeHZzcGxh
dGlfbF8qLAotICogICAgICAgICAgICAgICBpZiAnaWR4ID49IDgnIHVzZSB4dnNwbGF0aV9oXyou
Ci0gKiBBcmd1bWVudHMgICA6IElucHV0cyAtIGluLCBpZHgKLSAqICAgICAgICAgICAgICAgT3V0
cHV0IC0gb3V0Ci0gKiBEZXRhaWxzICAgICA6IElkeCBlbGVtZW50IHZhbHVlIGZyb20gaW4gdmVj
dG9yIGlzIHJlcGxpY2F0ZWQgdG8gYWxsCi0gKiAgICAgICAgICAgICAgIGVsZW1lbnRzIGluIG91
dCB2ZWN0b3IuCi0gKiAgICAgICAgICAgICAgIFZhbGlkIGluZGV4IHJhbmdlIGZvciBoYWxmd29y
ZCBvcGVyYXRpb24gaXMgMC03Ci0gKiBFeGFtcGxlICAgICA6IG91dCA9IF9fbGFzeF94dnNwbGF0
aV9oX2goaW4sIGlkeCkKLSAqICAgICAgICAgIGluIDogMjAsMTAsMTEsMTIsIDEzLDE0LDE1LDE2
LCAwLDIsMCwwLCAwLDAsMCwwCi0gKiAgICAgICAgIGlkeCA6IDB4MDkKLSAqICAgICAgICAgb3V0
IDogMiwyLDIsMiwgMiwyLDIsMiwgMiwyLDIsMiwgMiwyLDIsMgotICogPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLSAqLwotc3RhdGljIGlubGluZSBfX20yNTZpIF9fbGFzeF94dnNwbGF0aV9oX2goX19t
MjU2aSBpbiwgaW50IGlkeCkgewotICBfX20yNTZpIG91dDsKLQotICBvdXQgPSBfX2xhc3hfeHZw
ZXJtaV9xKGluLCBpbiwgMHgxMyk7Ci0gIG91dCA9IF9fbGFzeF94dnJlcGx2ZV9oKG91dCwgaWR4
KTsKLSAgcmV0dXJuIG91dDsKLX0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBE
ZXNjcmlwdGlvbiA6IFRyYW5zcG9zZSA0eDQgYmxvY2sgd2l0aCBkb3VibGUtd29yZCBlbGVtZW50
cyBpbiB2ZWN0b3JzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBfaW4wLCBfaW4xLCBfaW4y
LCBfaW4zCi0gKiAgICAgICAgICAgICAgIE91dHB1dHMgLSBfb3V0MCwgX291dDEsIF9vdXQyLCBf
b3V0MwotICogRXhhbXBsZSAgICAgOiBMQVNYX1RSQU5TUE9TRTR4NF9ECi0gKiAgICAgICAgX2lu
MCA6IDEsMiwzLDQKLSAqICAgICAgICBfaW4xIDogMSwyLDMsNAotICogICAgICAgIF9pbjIgOiAx
LDIsMyw0Ci0gKiAgICAgICAgX2luMyA6IDEsMiwzLDQKLSAqCi0gKiAgICAgICBfb3V0MCA6IDEs
MSwxLDEKLSAqICAgICAgIF9vdXQxIDogMiwyLDIsMgotICogICAgICAgX291dDIgOiAzLDMsMywz
Ci0gKiAgICAgICBfb3V0MyA6IDQsNCw0LDQKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8K
LSNkZWZpbmUgTEFTWF9UUkFOU1BPU0U0eDRfRChfaW4wLCBfaW4xLCBfaW4yLCBfaW4zLCBfb3V0
MCwgX291dDEsIF9vdXQyLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgX291dDMpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfX20yNTZpIF90bXAwLCBfdG1wMSwgX3RtcDIsIF90bXAzOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDAgPSBfX2xhc3hfeHZpbHZsX2QoX2luMSwgX2lu
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAxID0gX19sYXN4
X3h2aWx2aF9kKF9pbjEsIF9pbjApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfdG1wMiA9IF9fbGFzeF94dmlsdmxfZChfaW4zLCBfaW4yKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDMgPSBfX2xhc3hfeHZpbHZoX2QoX2luMywgX2lu
Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sYXN4
X3h2cGVybWlfcShfdG1wMiwgX3RtcDAsIDB4MjApOyAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfb3V0MiA9IF9fbGFzeF94dnBlcm1pX3EoX3RtcDIsIF90bXAwLCAweDMxKTsgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXAzLCBf
dG1wMSwgMHgyMCk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0gX19sYXN4
X3h2cGVybWlfcShfdG1wMywgX3RtcDEsIDB4MzEpOyAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogVHJh
bnNwb3NlIDh4OCBibG9jayB3aXRoIHdvcmQgZWxlbWVudHMgaW4gdmVjdG9ycwotICogQXJndW1l
bnRzICAgOiBJbnB1dHMgIC0gX2luMCwgX2luMSwgX2luMiwgX2luMywgX2luNCwgX2luNSwgX2lu
NiwgX2luNwotICogICAgICAgICAgICAgICBPdXRwdXRzIC0gX291dDAsIF9vdXQxLCBfb3V0Miwg
X291dDMsIF9vdXQ0LCBfb3V0NSwgX291dDYsCi0gKiAgICAgICAgICAgICAgIF9vdXQ3Ci0gKiBF
eGFtcGxlICAgICA6IExBU1hfVFJBTlNQT1NFOHg4X1cKLSAqICAgICAgICBfaW4wIDogMSwyLDMs
NCw1LDYsNyw4Ci0gKiAgICAgICAgX2luMSA6IDIsMiwzLDQsNSw2LDcsOAotICogICAgICAgIF9p
bjIgOiAzLDIsMyw0LDUsNiw3LDgKLSAqICAgICAgICBfaW4zIDogNCwyLDMsNCw1LDYsNyw4Ci0g
KiAgICAgICAgX2luNCA6IDUsMiwzLDQsNSw2LDcsOAotICogICAgICAgIF9pbjUgOiA2LDIsMyw0
LDUsNiw3LDgKLSAqICAgICAgICBfaW42IDogNywyLDMsNCw1LDYsNyw4Ci0gKiAgICAgICAgX2lu
NyA6IDgsMiwzLDQsNSw2LDcsOAotICoKLSAqICAgICAgIF9vdXQwIDogMSwyLDMsNCw1LDYsNyw4
Ci0gKiAgICAgICBfb3V0MSA6IDIsMiwyLDIsMiwyLDIsMgotICogICAgICAgX291dDIgOiAzLDMs
MywzLDMsMywzLDMKLSAqICAgICAgIF9vdXQzIDogNCw0LDQsNCw0LDQsNCw0Ci0gKiAgICAgICBf
b3V0NCA6IDUsNSw1LDUsNSw1LDUsNQotICogICAgICAgX291dDUgOiA2LDYsNiw2LDYsNiw2LDYK
LSAqICAgICAgIF9vdXQ2IDogNyw3LDcsNyw3LDcsNyw3Ci0gKiAgICAgICBfb3V0NyA6IDgsOCw4
LDgsOCw4LDgsOAotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotI2RlZmluZSBMQVNYX1RS
QU5TUE9TRTh4OF9XKF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9pbjQsIF9pbjUsIF9pbjYsIF9p
bjcsICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgX291dDAsIF9vdXQxLCBfb3V0Miwg
X291dDMsIF9vdXQ0LCBfb3V0NSwgX291dDYsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfb3V0NykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19tMjU2aSBfczBfbSwgX3MxX207ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX20yNTZpIF90
bXAwX20sIF90bXAxX20sIF90bXAyX20sIF90bXAzX207ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fbTI1NmkgX3RtcDRfbSwgX3RtcDVfbSwgX3RtcDZfbSwgX3RtcDdfbTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfczBfbSA9IF9fbGFzeF94dmlsdmxfdyhfaW4yLCBfaW4wKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9zMV9tID0gX19sYXN4X3h2aWx2bF93KF9pbjMsIF9p
bjEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDBfbSA9
IF9fbGFzeF94dmlsdmxfdyhfczFfbSwgX3MwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfdG1wMV9tID0gX19sYXN4X3h2aWx2aF93KF9zMV9tLCBfczBfbSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zMF9tID0gX19sYXN4X3h2aWx2
aF93KF9pbjIsIF9pbjApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX3MxX20gPSBfX2xhc3hfeHZpbHZoX3coX2luMywgX2luMSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wMl9tID0gX19sYXN4X3h2aWx2bF93KF9zMV9t
LCBfczBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAzX20g
PSBfX2xhc3hfeHZpbHZoX3coX3MxX20sIF9zMF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX3MwX20gPSBfX2xhc3hfeHZpbHZsX3coX2luNiwgX2luNCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfczFfbSA9IF9fbGFzeF94dmls
dmxfdyhfaW43LCBfaW41KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF90bXA0X20gPSBfX2xhc3hfeHZpbHZsX3coX3MxX20sIF9zMF9tKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDVfbSA9IF9fbGFzeF94dmlsdmhfdyhfczFf
bSwgX3MwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfczBfbSA9
IF9fbGFzeF94dmlsdmhfdyhfaW42LCBfaW40KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9zMV9tID0gX19sYXN4X3h2aWx2aF93KF9pbjcsIF9pbjUpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDZfbSA9IF9fbGFzeF94
dmlsdmxfdyhfczFfbSwgX3MwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfdG1wN19tID0gX19sYXN4X3h2aWx2aF93KF9zMV9tLCBfczBfbSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sYXN4X3h2cGVybWlfcShfdG1w
NF9tLCBfdG1wMF9tLCAweDIwKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEg
PSBfX2xhc3hfeHZwZXJtaV9xKF90bXA1X20sIF90bXAxX20sIDB4MjApOyAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfb3V0MiA9IF9fbGFzeF94dnBlcm1pX3EoX3RtcDZfbSwgX3RtcDJf
bSwgMHgyMCk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0gX19sYXN4X3h2
cGVybWlfcShfdG1wN19tLCBfdG1wM19tLCAweDIwKTsgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX291dDQgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXA0X20sIF90bXAwX20sIDB4MzEpOyAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NSA9IF9fbGFzeF94dnBlcm1pX3EoX3Rt
cDVfbSwgX3RtcDFfbSwgMHgzMSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2
ID0gX19sYXN4X3h2cGVybWlfcShfdG1wNl9tLCBfdG1wMl9tLCAweDMxKTsgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX291dDcgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXA3X20sIF90bXAz
X20sIDB4MzEpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotCi0vKgotICogPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogVHJhbnNwb3NlIGlucHV0IDE2eDggYnl0
ZSBibG9jawotICogQXJndW1lbnRzICAgOiBJbnB1dHMgIC0gX2luMCwgX2luMSwgX2luMiwgX2lu
MywgX2luNCwgX2luNSwgX2luNiwgX2luNywKLSAqICAgICAgICAgICAgICAgICAgICAgICAgIF9p
bjgsIF9pbjksIF9pbjEwLCBfaW4xMSwgX2luMTIsIF9pbjEzLCBfaW4xNCwgX2luMTUKLSAqICAg
ICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCAxNng4IGJ5dGUgYmxvY2spCi0gKiAgICAgICAg
ICAgICAgIE91dHB1dHMgLSBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MywgX291dDQsIF9vdXQ1
LCBfb3V0NiwKLSAqICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3IChvdXRwdXQgOHgxNiBi
eXRlIGJsb2NrKQotICogRGV0YWlscyAgICAgOiBUaGUgcm93cyBvZiB0aGUgbWF0cml4IGJlY29t
ZSBjb2x1bW5zLCBhbmQgdGhlIGNvbHVtbnMgYmVjb21lCi0gKiAgICAgICAgICAgICAgIHJvd3Mu
Ci0gKiBFeGFtcGxlICAgICA6IFNlZSBMQVNYX1RSQU5TUE9TRTE2eDhfSAotICogPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLSAqLwotI2RlZmluZSBMQVNYX1RSQU5TUE9TRTE2eDhfQihfaW4wLCBfaW4x
LCBfaW4yLCBfaW4zLCBfaW40LCBfaW41LCBfaW42LCBfaW43LCAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfaW44LCBfaW45LCBfaW4xMCwgX2luMTEsIF9pbjEyLCBfaW4xMywgX2lu
MTQsICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW4xNSwgX291dDAsIF9vdXQx
LCBfb3V0MiwgX291dDMsIF9vdXQ0LCBfb3V0NSwgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfb3V0NiwgX291dDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTI1NmkgX3RtcDBfbSwgX3RtcDFfbSwgX3Rt
cDJfbSwgX3RtcDNfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTI1
NmkgX3RtcDRfbSwgX3RtcDVfbSwgX3RtcDZfbSwgX3RtcDdfbTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAwX20gPSBfX2xh
c3hfeHZpbHZsX2IoX2luMiwgX2luMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF90bXAxX20gPSBfX2xhc3hfeHZpbHZsX2IoX2luMywgX2luMSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAyX20gPSBfX2xhc3hfeHZpbHZs
X2IoX2luNiwgX2luNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF90bXAzX20gPSBfX2xhc3hfeHZpbHZsX2IoX2luNywgX2luNSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF90bXA0X20gPSBfX2xhc3hfeHZpbHZsX2IoX2luMTAs
IF9pbjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXA1X20g
PSBfX2xhc3hfeHZpbHZsX2IoX2luMTEsIF9pbjkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF90bXA2X20gPSBfX2xhc3hfeHZpbHZsX2IoX2luMTQsIF9pbjEyKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXA3X20gPSBfX2xhc3hf
eHZpbHZsX2IoX2luMTUsIF9pbjEzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9vdXQwID0gX19sYXN4X3h2aWx2bF9iKF90bXAxX20sIF90bXAwX20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQxID0gX19sYXN4X3h2aWx2aF9iKF90
bXAxX20sIF90bXAwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9v
dXQyID0gX19sYXN4X3h2aWx2bF9iKF90bXAzX20sIF90bXAyX20pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0gX19sYXN4X3h2aWx2aF9iKF90bXAzX20sIF90
bXAyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ0ID0gX19s
YXN4X3h2aWx2bF9iKF90bXA1X20sIF90bXA0X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9vdXQ1ID0gX19sYXN4X3h2aWx2aF9iKF90bXA1X20sIF90bXA0X20pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2ID0gX19sYXN4X3h2aWx2
bF9iKF90bXA3X20sIF90bXA2X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9vdXQ3ID0gX19sYXN4X3h2aWx2aF9iKF90bXA3X20sIF90bXA2X20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAwX20gPSBfX2xhc3hfeHZpbHZsX3coX291
dDIsIF9vdXQwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAy
X20gPSBfX2xhc3hfeHZpbHZoX3coX291dDIsIF9vdXQwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF90bXA0X20gPSBfX2xhc3hfeHZpbHZsX3coX291dDMsIF9vdXQx
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXA2X20gPSBfX2xh
c3hfeHZpbHZoX3coX291dDMsIF9vdXQxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF90bXAxX20gPSBfX2xhc3hfeHZpbHZsX3coX291dDYsIF9vdXQ0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAzX20gPSBfX2xhc3hfeHZpbHZo
X3coX291dDYsIF9vdXQ0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF90bXA1X20gPSBfX2xhc3hfeHZpbHZsX3coX291dDcsIF9vdXQ1KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF90bXA3X20gPSBfX2xhc3hfeHZpbHZoX3coX291dDcs
IF9vdXQ1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0g
X19sYXN4X3h2aWx2bF9kKF90bXAxX20sIF90bXAwX20pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9vdXQxID0gX19sYXN4X3h2aWx2aF9kKF90bXAxX20sIF90bXAwX20p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQyID0gX19sYXN4X3h2
aWx2bF9kKF90bXAzX20sIF90bXAyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9vdXQzID0gX19sYXN4X3h2aWx2aF9kKF90bXAzX20sIF90bXAyX20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ0ID0gX19sYXN4X3h2aWx2bF9kKF90
bXA1X20sIF90bXA0X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9v
dXQ1ID0gX19sYXN4X3h2aWx2aF9kKF90bXA1X20sIF90bXA0X20pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2ID0gX19sYXN4X3h2aWx2bF9kKF90bXA3X20sIF90
bXA2X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ3ID0gX19s
YXN4X3h2aWx2aF9kKF90bXA3X20sIF90bXA2X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB9Ci0KLS8qCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICogRGVzY3JpcHRp
b24gOiBUcmFuc3Bvc2UgaW5wdXQgMTZ4OCBieXRlIGJsb2NrCi0gKiBBcmd1bWVudHMgICA6IElu
cHV0cyAgLSBfaW4wLCBfaW4xLCBfaW4yLCBfaW4zLCBfaW40LCBfaW41LCBfaW42LCBfaW43LAot
ICogICAgICAgICAgICAgICAgICAgICAgICAgX2luOCwgX2luOSwgX2luMTAsIF9pbjExLCBfaW4x
MiwgX2luMTMsIF9pbjE0LCBfaW4xNQotICogICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0
IDE2eDggYnl0ZSBibG9jaykKLSAqICAgICAgICAgICAgICAgT3V0cHV0cyAtIF9vdXQwLCBfb3V0
MSwgX291dDIsIF9vdXQzLCBfb3V0NCwgX291dDUsIF9vdXQ2LAotICogICAgICAgICAgICAgICAg
ICAgICAgICAgX291dDcgKG91dHB1dCA4eDE2IGJ5dGUgYmxvY2spCi0gKiBEZXRhaWxzICAgICA6
IFRoZSByb3dzIG9mIHRoZSBtYXRyaXggYmVjb21lIGNvbHVtbnMsIGFuZCB0aGUgY29sdW1ucyBi
ZWNvbWUKLSAqICAgICAgICAgICAgICAgcm93cy4KLSAqIEV4YW1wbGUgICAgIDogTEFTWF9UUkFO
U1BPU0UxNng4X0gKLSAqICAgICAgICBfaW4wIDogMSwyLDMsNCw1LDYsNyw4LDAsMCwwLDAsMCww
LDAsMAotICogICAgICAgIF9pbjEgOiAyLDIsMyw0LDUsNiw3LDgsMCwwLDAsMCwwLDAsMCwwCi0g
KiAgICAgICAgX2luMiA6IDMsMiwzLDQsNSw2LDcsOCwwLDAsMCwwLDAsMCwwLDAKLSAqICAgICAg
ICBfaW4zIDogNCwyLDMsNCw1LDYsNyw4LDAsMCwwLDAsMCwwLDAsMAotICogICAgICAgIF9pbjQg
OiA1LDIsMyw0LDUsNiw3LDgsMCwwLDAsMCwwLDAsMCwwCi0gKiAgICAgICAgX2luNSA6IDYsMiwz
LDQsNSw2LDcsOCwwLDAsMCwwLDAsMCwwLDAKLSAqICAgICAgICBfaW42IDogNywyLDMsNCw1LDYs
Nyw4LDAsMCwwLDAsMCwwLDAsMAotICogICAgICAgIF9pbjcgOiA4LDIsMyw0LDUsNiw3LDgsMCww
LDAsMCwwLDAsMCwwCi0gKiAgICAgICAgX2luOCA6IDksMiwzLDQsNSw2LDcsOCwwLDAsMCwwLDAs
MCwwLDAKLSAqICAgICAgICBfaW45IDogMSwyLDMsNCw1LDYsNyw4LDAsMCwwLDAsMCwwLDAsMAot
ICogICAgICAgX2luMTAgOiAwLDIsMyw0LDUsNiw3LDgsMCwwLDAsMCwwLDAsMCwwCi0gKiAgICAg
ICBfaW4xMSA6IDIsMiwzLDQsNSw2LDcsOCwwLDAsMCwwLDAsMCwwLDAKLSAqICAgICAgIF9pbjEy
IDogMywyLDMsNCw1LDYsNyw4LDAsMCwwLDAsMCwwLDAsMAotICogICAgICAgX2luMTMgOiA3LDIs
Myw0LDUsNiw3LDgsMCwwLDAsMCwwLDAsMCwwCi0gKiAgICAgICBfaW4xNCA6IDUsMiwzLDQsNSw2
LDcsOCwwLDAsMCwwLDAsMCwwLDAKLSAqICAgICAgIF9pbjE1IDogNiwyLDMsNCw1LDYsNyw4LDAs
MCwwLDAsMCwwLDAsMAotICoKLSAqICAgICAgIF9vdXQwIDogMSwyLDMsNCw1LDYsNyw4LDksMSww
LDIsMyw3LDUsNgotICogICAgICAgX291dDEgOiAyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIs
MiwyCi0gKiAgICAgICBfb3V0MiA6IDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMKLSAq
ICAgICAgIF9vdXQzIDogNCw0LDQsNCw0LDQsNCw0LDQsNCw0LDQsNCw0LDQsNAotICogICAgICAg
X291dDQgOiA1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1Ci0gKiAgICAgICBfb3V0NSA6
IDYsNiw2LDYsNiw2LDYsNiw2LDYsNiw2LDYsNiw2LDYKLSAqICAgICAgIF9vdXQ2IDogNyw3LDcs
Nyw3LDcsNyw3LDcsNyw3LDcsNyw3LDcsNwotICogICAgICAgX291dDcgOiA4LDgsOCw4LDgsOCw4
LDgsOCw4LDgsOCw4LDgsOCw4Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi0jZGVmaW5l
IExBU1hfVFJBTlNQT1NFMTZ4OF9IKF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9pbjQsIF9pbjUs
IF9pbjYsIF9pbjcsICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbjgsIF9pbjks
IF9pbjEwLCBfaW4xMSwgX2luMTIsIF9pbjEzLCBfaW4xNCwgICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF9pbjE1LCBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MywgX291dDQsIF9v
dXQ1LCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ2LCBfb3V0NykgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX19tMjU2aSBfdG1wMF9tLCBfdG1wMV9tLCBfdG1wMl9tLCBfdG1wM19tOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMjU2aSBfdG1wNF9tLCBfdG1wNV9tLCBfdG1w
Nl9tLCBfdG1wN19tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19tMjU2
aSBfdDAsIF90MSwgX3QyLCBfdDMsIF90NCwgX3Q1LCBfdDYsIF90NzsgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDBfbSA9IF9fbGFz
eF94dmlsdmxfaChfaW4yLCBfaW4wKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX3RtcDFfbSA9IF9fbGFzeF94dmlsdmxfaChfaW4zLCBfaW4xKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDJfbSA9IF9fbGFzeF94dmlsdmxf
aChfaW42LCBfaW40KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X3RtcDNfbSA9IF9fbGFzeF94dmlsdmxfaChfaW43LCBfaW41KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDRfbSA9IF9fbGFzeF94dmlsdmxfaChfaW4xMCwg
X2luOCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDVfbSA9
IF9fbGFzeF94dmlsdmxfaChfaW4xMSwgX2luOSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX3RtcDZfbSA9IF9fbGFzeF94dmlsdmxfaChfaW4xNCwgX2luMTIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDdfbSA9IF9fbGFzeF94
dmlsdmxfaChfaW4xNSwgX2luMTMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX3QwID0gX19sYXN4X3h2aWx2bF9oKF90bXAxX20sIF90bXAwX20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3QxID0gX19sYXN4X3h2aWx2aF9oKF90bXAx
X20sIF90bXAwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3Qy
ID0gX19sYXN4X3h2aWx2bF9oKF90bXAzX20sIF90bXAyX20pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX3QzID0gX19sYXN4X3h2aWx2aF9oKF90bXAzX20sIF90bXAy
X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3Q0ID0gX19sYXN4
X3h2aWx2bF9oKF90bXA1X20sIF90bXA0X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX3Q1ID0gX19sYXN4X3h2aWx2aF9oKF90bXA1X20sIF90bXA0X20pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3Q2ID0gX19sYXN4X3h2aWx2bF9o
KF90bXA3X20sIF90bXA2X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX3Q3ID0gX19sYXN4X3h2aWx2aF9oKF90bXA3X20sIF90bXA2X20pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDBfbSA9IF9fbGFzeF94dmlsdmxfZChfdDIs
IF90MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDJf
bSA9IF9fbGFzeF94dmlsdmhfZChfdDIsIF90MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX3RtcDRfbSA9IF9fbGFzeF94dmlsdmxfZChfdDMsIF90MSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDZfbSA9IF9fbGFz
eF94dmlsdmhfZChfdDMsIF90MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX3RtcDFfbSA9IF9fbGFzeF94dmlsdmxfZChfdDYsIF90NCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDNfbSA9IF9fbGFzeF94dmlsdmhf
ZChfdDYsIF90NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X3RtcDVfbSA9IF9fbGFzeF94dmlsdmxfZChfdDcsIF90NSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDdfbSA9IF9fbGFzeF94dmlsdmhfZChfdDcsIF90
NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDAgPSBf
X2xhc3hfeHZwZXJtaV9xKF90bXAxX20sIF90bXAwX20sIDB4MjApOyAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX291dDEgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXAzX20sIF90bXAyX20s
IDB4MjApOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xhc3hfeHZw
ZXJtaV9xKF90bXA1X20sIF90bXA0X20sIDB4MjApOyAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX291dDMgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXA3X20sIF90bXA2X20sIDB4MjApOyAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3Rt
cDBfbSA9IF9fbGFzeF94dmlsdmhfaChfaW4yLCBfaW4wKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX3RtcDFfbSA9IF9fbGFzeF94dmlsdmhfaChfaW4zLCBfaW4x
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDJfbSA9IF9f
bGFzeF94dmlsdmhfaChfaW42LCBfaW40KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX3RtcDNfbSA9IF9fbGFzeF94dmlsdmhfaChfaW43LCBfaW41KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDRfbSA9IF9fbGFzeF94dmls
dmhfaChfaW4xMCwgX2luOCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX3RtcDVfbSA9IF9fbGFzeF94dmlsdmhfaChfaW4xMSwgX2luOSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDZfbSA9IF9fbGFzeF94dmlsdmhfaChfaW4x
NCwgX2luMTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDdf
bSA9IF9fbGFzeF94dmlsdmhfaChfaW4xNSwgX2luMTMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX3QwID0gX19sYXN4X3h2aWx2bF9oKF90bXAxX20sIF90bXAwX20p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3QxID0gX19sYXN4X3h2
aWx2aF9oKF90bXAxX20sIF90bXAwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX3QyID0gX19sYXN4X3h2aWx2bF9oKF90bXAzX20sIF90bXAyX20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3QzID0gX19sYXN4X3h2aWx2aF9oKF90
bXAzX20sIF90bXAyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X3Q0ID0gX19sYXN4X3h2aWx2bF9oKF90bXA1X20sIF90bXA0X20pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX3Q1ID0gX19sYXN4X3h2aWx2aF9oKF90bXA1X20sIF90
bXA0X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3Q2ID0gX19s
YXN4X3h2aWx2bF9oKF90bXA3X20sIF90bXA2X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX3Q3ID0gX19sYXN4X3h2aWx2aF9oKF90bXA3X20sIF90bXA2X20pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDBfbSA9IF9fbGFzeF94
dmlsdmxfZChfdDIsIF90MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX3RtcDJfbSA9IF9fbGFzeF94dmlsdmhfZChfdDIsIF90MCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDRfbSA9IF9fbGFzeF94dmlsdmxfZChf
dDMsIF90MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3Rt
cDZfbSA9IF9fbGFzeF94dmlsdmhfZChfdDMsIF90MSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX3RtcDFfbSA9IF9fbGFzeF94dmlsdmxfZChfdDYsIF90NCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDNfbSA9IF9f
bGFzeF94dmlsdmhfZChfdDYsIF90NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX3RtcDVfbSA9IF9fbGFzeF94dmlsdmxfZChfdDcsIF90NSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDdfbSA9IF9fbGFzeF94dmls
dmhfZChfdDcsIF90NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX291dDQgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXAxX20sIF90bXAwX20sIDB4MjApOyAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDUgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXAz
X20sIF90bXAyX20sIDB4MjApOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDYg
PSBfX2xhc3hfeHZwZXJtaV9xKF90bXA1X20sIF90bXA0X20sIDB4MjApOyAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX291dDcgPSBfX2xhc3hfeHZwZXJtaV9xKF90bXA3X20sIF90bXA2
X20sIDB4MjApOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotLyoKLSAqID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IFRyYW5zcG9zZSA0eDQgYmxvY2sgd2l0
aCBoYWxmd29yZCBlbGVtZW50cyBpbiB2ZWN0b3JzCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAg
LSBfaW4wLCBfaW4xLCBfaW4yLCBfaW4zCi0gKiAgICAgICAgICAgICAgIE91dHB1dHMgLSBfb3V0
MCwgX291dDEsIF9vdXQyLCBfb3V0MwotICogICAgICAgICAgICAgICBSZXR1cm4gVHlwZSAtIHNp
Z25lZCBoYWxmd29yZAotICogRGV0YWlscyAgICAgOiBUaGUgcm93cyBvZiB0aGUgbWF0cml4IGJl
Y29tZSBjb2x1bW5zLCBhbmQgdGhlIGNvbHVtbnMgYmVjb21lCi0gKiAgICAgICAgICAgICAgIHJv
d3MuCi0gKiBFeGFtcGxlICAgICA6IFNlZSBMQVNYX1RSQU5TUE9TRTh4OF9ICi0gKiA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIExBU1hfVFJBTlNQT1NFNHg0X0goX2luMCwgX2lu
MSwgX2luMiwgX2luMywgX291dDAsIF9vdXQxLCBfb3V0MiwgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF9vdXQzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19tMjU2aSBfczBfbSwgX3MxX207ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfczBfbSA9IF9fbGFzeF94dmlsdmxfaChfaW4xLCBfaW4wKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX3MxX20gPSBfX2xhc3hfeHZpbHZsX2goX2luMywgX2lu
Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19sYXN4
X3h2aWx2bF93KF9zMV9tLCBfczBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfb3V0MiA9IF9fbGFzeF94dmlsdmhfdyhfczFfbSwgX3MwX20pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xhc3hfeHZpbHZoX2QoX291dDAsIF9v
dXQwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQzID0gX19sYXN4
X3h2aWx2aF9kKF9vdXQyLCBfb3V0Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogVHJh
bnNwb3NlIGlucHV0IDh4OCBieXRlIGJsb2NrCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBf
aW4wLCBfaW4xLCBfaW4yLCBfaW4zLCBfaW40LCBfaW41LCBfaW42LCBfaW43Ci0gKiAgICAgICAg
ICAgICAgICAgICAgICAgICAoaW5wdXQgOHg4IGJ5dGUgYmxvY2spCi0gKiAgICAgICAgICAgICAg
IE91dHB1dHMgLSBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MywgX291dDQsIF9vdXQ1LCBfb3V0
NiwKLSAqICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3IChvdXRwdXQgOHg4IGJ5dGUgYmxv
Y2spCi0gKiBFeGFtcGxlICAgICA6IFNlZSBMQVNYX1RSQU5TUE9TRTh4OF9ICi0gKiA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIExBU1hfVFJBTlNQT1NFOHg4X0IoX2luMCwgX2lu
MSwgX2luMiwgX2luMywgX2luNCwgX2luNSwgX2luNiwgX2luNywgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MywgX291dDQsIF9vdXQ1LCBf
b3V0NiwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfX20yNTZpIF90bXAwX20sIF90bXAxX20sIF90bXAyX20sIF90bXAzX207ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTI1NmkgX3RtcDRfbSwgX3RtcDVfbSwgX3RtcDZf
bSwgX3RtcDdfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDBfbSA9
IF9fbGFzeF94dmlsdmxfYihfaW4yLCBfaW4wKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfdG1wMV9tID0gX19sYXN4X3h2aWx2bF9iKF9pbjMsIF9pbjEpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXAyX20gPSBfX2xhc3hfeHZp
bHZsX2IoX2luNiwgX2luNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX3RtcDNfbSA9IF9fbGFzeF94dmlsdmxfYihfaW43LCBfaW41KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wNF9tID0gX19sYXN4X3h2aWx2bF9iKF90bXAx
X20sIF90bXAwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXA1X20g
PSBfX2xhc3hfeHZpbHZoX2IoX3RtcDFfbSwgX3RtcDBfbSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX3RtcDZfbSA9IF9fbGFzeF94dmlsdmxfYihfdG1wM19tLCBfdG1wMl9t
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wN19tID0gX19sYXN4X3h2
aWx2aF9iKF90bXAzX20sIF90bXAyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9vdXQwID0gX19sYXN4X3h2aWx2bF93KF90bXA2X20sIF90bXA0X20pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xhc3hfeHZpbHZoX3coX3RtcDZf
bSwgX3RtcDRfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NCA9
IF9fbGFzeF94dmlsdmxfdyhfdG1wN19tLCBfdG1wNV9tKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9vdXQ2ID0gX19sYXN4X3h2aWx2aF93KF90bXA3X20sIF90bXA1X20p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xhc3hfeHZi
c3JsX3YoX291dDAsIDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfb3V0MyA9IF9fbGFzeF94dmJzcmxfdihfb3V0MiwgOCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ1ID0gX19sYXN4X3h2YnNybF92KF9vdXQ0
LCA4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDcg
PSBfX2xhc3hfeHZic3JsX3YoX291dDYsIDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2Ny
aXB0aW9uIDogVHJhbnNwb3NlIDh4OCBibG9jayB3aXRoIGhhbGZ3b3JkIGVsZW1lbnRzIGluIHZl
Y3RvcnMuCi0gKiBBcmd1bWVudHMgICA6IElucHV0cyAgLSBfaW4wLCBfaW4xLCB+Ci0gKiAgICAg
ICAgICAgICAgIE91dHB1dHMgLSBfb3V0MCwgX291dDEsIH4KLSAqIERldGFpbHMgICAgIDogVGhl
IHJvd3Mgb2YgdGhlIG1hdHJpeCBiZWNvbWUgY29sdW1ucywgYW5kIHRoZSBjb2x1bW5zIGJlY29t
ZQotICogICAgICAgICAgICAgICByb3dzLgotICogRXhhbXBsZSAgICAgOiBMQVNYX1RSQU5TUE9T
RTh4OF9ICi0gKiAgICAgICAgX2luMCA6IDEsMiwzLDQsIDUsNiw3LDgsIDEsMiwzLDQsIDUsNiw3
LDgKLSAqICAgICAgICBfaW4xIDogOCwyLDMsNCwgNSw2LDcsOCwgOCwyLDMsNCwgNSw2LDcsOAot
ICogICAgICAgIF9pbjIgOiA4LDIsMyw0LCA1LDYsNyw4LCA4LDIsMyw0LCA1LDYsNyw4Ci0gKiAg
ICAgICAgX2luMyA6IDEsMiwzLDQsIDUsNiw3LDgsIDEsMiwzLDQsIDUsNiw3LDgKLSAqICAgICAg
ICBfaW40IDogOSwyLDMsNCwgNSw2LDcsOCwgOSwyLDMsNCwgNSw2LDcsOAotICogICAgICAgIF9p
bjUgOiAxLDIsMyw0LCA1LDYsNyw4LCAxLDIsMyw0LCA1LDYsNyw4Ci0gKiAgICAgICAgX2luNiA6
IDEsMiwzLDQsIDUsNiw3LDgsIDEsMiwzLDQsIDUsNiw3LDgKLSAqICAgICAgICBfaW43IDogOSwy
LDMsNCwgNSw2LDcsOCwgOSwyLDMsNCwgNSw2LDcsOAotICoKLSAqICAgICAgIF9vdXQwIDogMSw4
LDgsMSwgOSwxLDEsOSwgMSw4LDgsMSwgOSwxLDEsOQotICogICAgICAgX291dDEgOiAyLDIsMiwy
LCAyLDIsMiwyLCAyLDIsMiwyLCAyLDIsMiwyCi0gKiAgICAgICBfb3V0MiA6IDMsMywzLDMsIDMs
MywzLDMsIDMsMywzLDMsIDMsMywzLDMKLSAqICAgICAgIF9vdXQzIDogNCw0LDQsNCwgNCw0LDQs
NCwgNCw0LDQsNCwgNCw0LDQsNAotICogICAgICAgX291dDQgOiA1LDUsNSw1LCA1LDUsNSw1LCA1
LDUsNSw1LCA1LDUsNSw1Ci0gKiAgICAgICBfb3V0NSA6IDYsNiw2LDYsIDYsNiw2LDYsIDYsNiw2
LDYsIDYsNiw2LDYKLSAqICAgICAgIF9vdXQ2IDogNyw3LDcsNywgNyw3LDcsNywgNyw3LDcsNywg
Nyw3LDcsNwotICogICAgICAgX291dDcgOiA4LDgsOCw4LCA4LDgsOCw4LCA4LDgsOCw4LCA4LDgs
OCw4Ci0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIExBU1hfVFJBTlNQT1NF
OHg4X0goX2luMCwgX2luMSwgX2luMiwgX2luMywgX2luNCwgX2luNSwgX2luNiwgX2luNywgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0Mywg
X291dDQsIF9vdXQ1LCBfb3V0NiwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfX20yNTZpIF9zMF9tLCBfczFfbTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fbTI1NmkgX3RtcDBfbSwg
X3RtcDFfbSwgX3RtcDJfbSwgX3RtcDNfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX19tMjU2aSBfdG1wNF9tLCBfdG1wNV9tLCBfdG1wNl9tLCBfdG1wN19tOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zMF9t
ID0gX19sYXN4X3h2aWx2bF9oKF9pbjYsIF9pbjQpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX3MxX20gPSBfX2xhc3hfeHZpbHZsX2goX2luNywgX2luNSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfdG1wMF9tID0gX19sYXN4
X3h2aWx2bF9oKF9zMV9tLCBfczBfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF90bXAxX20gPSBfX2xhc3hfeHZpbHZoX2goX3MxX20sIF9zMF9tKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3MwX20gPSBfX2xhc3hfeHZpbHZoX2goX2lu
NiwgX2luNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfczFf
bSA9IF9fbGFzeF94dmlsdmhfaChfaW43LCBfaW41KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF90bXAyX20gPSBfX2xhc3hfeHZpbHZsX2goX3MxX20sIF9zMF9t
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3RtcDNfbSA9IF9fbGFz
eF94dmlsdmhfaChfczFfbSwgX3MwX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9zMF9tID0gX19sYXN4X3h2aWx2bF9oKF9p
bjIsIF9pbjApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX3Mx
X20gPSBfX2xhc3hfeHZpbHZsX2goX2luMywgX2luMSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfdG1wNF9tID0gX19sYXN4X3h2aWx2bF9oKF9zMV9tLCBfczBf
bSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90bXA1X20gPSBfX2xh
c3hfeHZpbHZoX2goX3MxX20sIF9zMF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgX3MwX20gPSBfX2xhc3hfeHZpbHZoX2goX2luMiwgX2luMCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfczFfbSA9IF9fbGFzeF94dmlsdmhfaChf
aW4zLCBfaW4xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF90
bXA2X20gPSBfX2xhc3hfeHZpbHZsX2goX3MxX20sIF9zMF9tKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX3RtcDdfbSA9IF9fbGFzeF94dmlsdmhfaChfczFfbSwgX3Mw
X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF9vdXQwID0gX19sYXN4X3h2cGlja2V2X2QoX3RtcDBfbSwgX3RtcDRfbSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xhc3hfeHZwaWNrZXZf
ZChfdG1wMV9tLCBfdG1wNV9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
b3V0NCA9IF9fbGFzeF94dnBpY2tldl9kKF90bXAyX20sIF90bXA2X20pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF9vdXQ2ID0gX19sYXN4X3h2cGlja2V2X2QoX3RtcDNfbSwg
X3RtcDdfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xh
c3hfeHZwaWNrb2RfZChfdG1wMF9tLCBfdG1wNF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBfb3V0MyA9IF9fbGFzeF94dnBpY2tvZF9kKF90bXAxX20sIF90bXA1X20pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ1ID0gX19sYXN4X3h2cGlja29k
X2QoX3RtcDJfbSwgX3RtcDZfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X291dDcgPSBfX2xhc3hfeHZwaWNrb2RfZChfdG1wM19tLCBfdG1wN19tKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgfQotCi0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAq
IERlc2NyaXB0aW9uIDogQnV0dGVyZmx5IG9mIDQgaW5wdXQgdmVjdG9ycwotICogQXJndW1lbnRz
ICAgOiBJbnB1dHMgIC0gX2luMCwgX2luMSwgX2luMiwgX2luMwotICogICAgICAgICAgICAgICBP
dXRwdXRzIC0gX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMKLSAqIERldGFpbHMgICAgIDogQnV0
dGVyZmx5IG9wZXJhdGlvbgotICogRXhhbXBsZSAgICAgOiBMQVNYX0JVVFRFUkZMWV80Ci0gKiAg
ICAgICAgICAgICAgIF9vdXQwID0gX2luMCArIF9pbjM7Ci0gKiAgICAgICAgICAgICAgIF9vdXQx
ID0gX2luMSArIF9pbjI7Ci0gKiAgICAgICAgICAgICAgIF9vdXQyID0gX2luMSAtIF9pbjI7Ci0g
KiAgICAgICAgICAgICAgIF9vdXQzID0gX2luMCAtIF9pbjM7Ci0gKiA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotICovCi0jZGVmaW5lIExBU1hfQlVUVEVSRkxZXzRfQihfaW4wLCBfaW4xLCBfaW4yLCBf
aW4zLCBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MykgXAotICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfb3V0MCA9IF9fbGFzeF94dmFkZF9iKF9pbjAsIF9pbjMpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xhc3hfeHZhZGRfYihf
aW4xLCBfaW4yKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9vdXQyID0gX19sYXN4X3h2c3ViX2IoX2luMSwgX2luMik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MyA9IF9fbGFzeF94dnN1Yl9iKF9pbjAsIF9p
bjMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLSNkZWZp
bmUgTEFTWF9CVVRURVJGTFlfNF9IKF9pbjAsIF9pbjEsIF9pbjIsIF9pbjMsIF9vdXQwLCBfb3V0
MSwgX291dDIsIF9vdXQzKSBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0g
X19sYXN4X3h2YWRkX2goX2luMCwgX2luMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfb3V0MSA9IF9fbGFzeF94dmFkZF9oKF9pbjEsIF9pbjIpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xhc3hf
eHZzdWJfaChfaW4xLCBfaW4yKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF9vdXQzID0gX19sYXN4X3h2c3ViX2goX2luMCwgX2luMyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQotI2RlZmluZSBMQVNYX0JVVFRFUkZM
WV80X1coX2luMCwgX2luMSwgX2luMiwgX2luMywgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMp
IFwKLSAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDAgPSBfX2xhc3hfeHZhZGRfdyhf
aW4wLCBfaW4zKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9vdXQxID0gX19sYXN4X3h2YWRkX3coX2luMSwgX2luMik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MiA9IF9fbGFzeF94dnN1Yl93KF9pbjEsIF9p
bjIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDMg
PSBfX2xhc3hfeHZzdWJfdyhfaW4wLCBfaW4zKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICB9Ci0jZGVmaW5lIExBU1hfQlVUVEVSRkxZXzRfRChfaW4wLCBfaW4x
LCBfaW4yLCBfaW4zLCBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MykgXAotICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfb3V0MCA9IF9fbGFzeF94dmFkZF9kKF9pbjAsIF9pbjMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xhc3hf
eHZhZGRfZChfaW4xLCBfaW4yKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIF9vdXQyID0gX19sYXN4X3h2c3ViX2QoX2luMSwgX2luMik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MyA9IF9fbGFzeF94dnN1Yl9k
KF9pbjAsIF9pbjMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IH0KLQotLyoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKiBEZXNjcmlwdGlvbiA6IEJ1dHRl
cmZseSBvZiA4IGlucHV0IHZlY3RvcnMKLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIF9pbjAs
IF9pbjEsIF9pbjIsIF9pbjMsIH4KLSAqICAgICAgICAgICAgICAgT3V0cHV0cyAtIF9vdXQwLCBf
b3V0MSwgX291dDIsIF9vdXQzLCB+Ci0gKiBEZXRhaWxzICAgICA6IEJ1dHRlcmZseSBvcGVyYXRp
b24KLSAqIEV4YW1wbGUgICAgIDogTEFTWF9CVVRURVJGTFlfOAotICogICAgICAgICAgICAgICBf
b3V0MCA9IF9pbjAgKyBfaW43OwotICogICAgICAgICAgICAgICBfb3V0MSA9IF9pbjEgKyBfaW42
OwotICogICAgICAgICAgICAgICBfb3V0MiA9IF9pbjIgKyBfaW41OwotICogICAgICAgICAgICAg
ICBfb3V0MyA9IF9pbjMgKyBfaW40OwotICogICAgICAgICAgICAgICBfb3V0NCA9IF9pbjMgLSBf
aW40OwotICogICAgICAgICAgICAgICBfb3V0NSA9IF9pbjIgLSBfaW41OwotICogICAgICAgICAg
ICAgICBfb3V0NiA9IF9pbjEgLSBfaW42OwotICogICAgICAgICAgICAgICBfb3V0NyA9IF9pbjAg
LSBfaW43OwotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLwotI2RlZmluZSBMQVNYX0JVVFRF
UkZMWV84X0IoX2luMCwgX2luMSwgX2luMiwgX2luMywgX2luNCwgX2luNSwgX2luNiwgX2luNywg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQwLCBfb3V0MSwgX291dDIsIF9vdXQz
LCBfb3V0NCwgX291dDUsIF9vdXQ2LCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBfb3V0
NykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfb3V0MCA9IF9fbGFzeF94dmFkZF9iKF9pbjAsIF9pbjcpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDEgPSBfX2xhc3hfeHZh
ZGRfYihfaW4xLCBfaW42KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9vdXQyID0gX19sYXN4X3h2YWRkX2IoX2luMiwgX2luNSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MyA9IF9fbGFzeF94dmFkZF9iKF9pbjMsIF9p
bjQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDQgPSBf
X2xhc3hfeHZzdWJfYihfaW4zLCBfaW40KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9vdXQ1ID0gX19sYXN4X3h2c3ViX2IoX2luMiwgX2luNSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NiA9IF9fbGFzeF94dnN1Yl9i
KF9pbjEsIF9pbjYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X291dDcgPSBfX2xhc3hfeHZzdWJfYihfaW4wLCBfaW43KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICB9Ci0KLSNkZWZpbmUgTEFTWF9CVVRURVJGTFlfOF9IKF9pbjAs
IF9pbjEsIF9pbjIsIF9pbjMsIF9pbjQsIF9pbjUsIF9pbjYsIF9pbjcsICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBfb3V0MCwgX291dDEsIF9vdXQyLCBfb3V0MywgX291dDQsIF9vdXQ1
LCBfb3V0NiwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgX291dDcpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX291dDAgPSBfX2xhc3hfeHZhZGRfaChfaW4wLCBfaW43KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQxID0gX19sYXN4X3h2YWRkX2goX2luMSwgX2lu
Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MiA9IF9f
bGFzeF94dmFkZF9oKF9pbjIsIF9pbjUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX291dDMgPSBfX2xhc3hfeHZhZGRfaChfaW4zLCBfaW40KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ0ID0gX19sYXN4X3h2c3ViX2go
X2luMywgX2luNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
b3V0NSA9IF9fbGFzeF94dnN1Yl9oKF9pbjIsIF9pbjUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX291dDYgPSBfX2xhc3hfeHZzdWJfaChfaW4xLCBfaW42KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ3ID0gX19sYXN4
X3h2c3ViX2goX2luMCwgX2luNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgfQotCi0jZGVmaW5lIExBU1hfQlVUVEVSRkxZXzhfVyhfaW4wLCBfaW4xLCBfaW4yLCBf
aW4zLCBfaW40LCBfaW41LCBfaW42LCBfaW43LCAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgX291dDAsIF9vdXQxLCBfb3V0MiwgX291dDMsIF9vdXQ0LCBfb3V0NSwgX291dDYsIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQ3KSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQwID0gX19s
YXN4X3h2YWRkX3coX2luMCwgX2luNyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBfb3V0MSA9IF9fbGFzeF94dmFkZF93KF9pbjEsIF9pbjYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDIgPSBfX2xhc3hfeHZhZGRfdyhf
aW4yLCBfaW41KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9v
dXQzID0gX19sYXN4X3h2YWRkX3coX2luMywgX2luNCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfb3V0NCA9IF9fbGFzeF94dnN1Yl93KF9pbjMsIF9pbjQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291dDUgPSBfX2xhc3hf
eHZzdWJfdyhfaW4yLCBfaW41KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9vdXQ2ID0gX19sYXN4X3h2c3ViX3coX2luMSwgX2luNik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NyA9IF9fbGFzeF94dnN1Yl93KF9pbjAs
IF9pbjcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KLQotI2Rl
ZmluZSBMQVNYX0JVVFRFUkZMWV84X0QoX2luMCwgX2luMSwgX2luMiwgX2luMywgX2luNCwgX2lu
NSwgX2luNiwgX2luNywgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF9vdXQwLCBfb3V0
MSwgX291dDIsIF9vdXQzLCBfb3V0NCwgX291dDUsIF9vdXQ2LCBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBfb3V0NykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MCA9IF9fbGFzeF94dmFkZF9kKF9p
bjAsIF9pbjcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX291
dDEgPSBfX2xhc3hfeHZhZGRfZChfaW4xLCBfaW42KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9vdXQyID0gX19sYXN4X3h2YWRkX2QoX2luMiwgX2luNSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0MyA9IF9fbGFzeF94
dmFkZF9kKF9pbjMsIF9pbjQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX291dDQgPSBfX2xhc3hfeHZzdWJfZChfaW4zLCBfaW40KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9vdXQ1ID0gX19sYXN4X3h2c3ViX2QoX2luMiwg
X2luNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfb3V0NiA9
IF9fbGFzeF94dnN1Yl9kKF9pbjEsIF9pbjYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX291dDcgPSBfX2xhc3hfeHZzdWJfZChfaW4wLCBfaW43KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9Ci0KLSNlbmRpZiAgLy8gTEFTWAot
Ci0vKgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIERlc2NyaXB0aW9uIDogUHJpbnQgb3V0
IGVsZW1lbnRzIGluIHZlY3Rvci4KLSAqIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIFJUWVBFLCBf
ZWxlbWVudF9udW0sIF9pbjAsIF9lbnRlcgotICogICAgICAgICAgICAgICBPdXRwdXRzIC0KLSAq
IERldGFpbHMgICAgIDogUHJpbnQgb3V0ICdfZWxlbWVudF9udW0nIGVsZW1lbnRzIGluICdSVFlQ
RScgdmVjdG9yICdfaW4wJywgaWYKLSAqICAgICAgICAgICAgICAgJ19lbnRlcicgaXMgVFJVRSwg
cHJlZml4ICJcblZQOiIgd2lsbCBiZSBhZGRlZCBmaXJzdC4KLSAqIEV4YW1wbGUgICAgIDogVkVD
VF9QUklOVCh2NGkzMiw0LGluMCwxKTsgLy8gaW4wOiAxLDIsMyw0Ci0gKiAgICAgICAgICAgICAg
IFZQOjEsMiwzLDQsCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICovCi0jZGVmaW5lIFZFQ1Rf
UFJJTlQoUlRZUEUsIGVsZW1lbnRfbnVtLCBpbjAsIGVudGVyKSAgICAgICAgICAgICAgICAgXAot
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBSVFlQRSBfdG1wMCA9IChSVFlQRSlpbjA7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW50IF9pID0gMDsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmIChlbnRlcikgcHJp
bnRmKCJcblZQOiIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBm
b3IgKF9pID0gMDsgX2kgPCBlbGVtZW50X251bTsgX2krKykgcHJpbnRmKCIlZCwiLCBfdG1wMFtf
aV0pOyBcCi0gIH0KLQotI2VuZGlmIC8qIExPT05HU09OX0lOVFJJTlNJQ1NfSCAqLwotI2VuZGlm
IC8qIFZQWF9WUFhfVVRJTF9MT09OR1NPTl9JTlRSSU5TSUNTX0hfICovCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweGRlYy5jIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhkZWMuYwppbmRleCBiZmU2YzFkNmJh
OWMuLmFkMzY4YTIzMGI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhkZWMuYworKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy
Y2UvbGlidnB4L3ZweGRlYy5jCkBAIC00NDYsNyArNDQ2LDcgQEAgc3RhdGljIHZvaWQgZ2VuZXJh
dGVfZmlsZW5hbWUoY29uc3QgY2hhciAqcGF0dGVybiwgY2hhciAqb3V0LCBzaXplX3QgcV9sZW4s
CiAgICAgICAgIGNhc2UgJzcnOiBzbnByaW50ZihxLCBxX2xlbiAtIDEsICIlMDdkIiwgZnJhbWVf
aW4pOyBicmVhazsKICAgICAgICAgY2FzZSAnOCc6IHNucHJpbnRmKHEsIHFfbGVuIC0gMSwgIiUw
OGQiLCBmcmFtZV9pbik7IGJyZWFrOwogICAgICAgICBjYXNlICc5Jzogc25wcmludGYocSwgcV9s
ZW4gLSAxLCAiJTA5ZCIsIGZyYW1lX2luKTsgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6IGRpZSgi
VW5yZWNvZ25pemVkIHBhdHRlcm4gJSUlY1xuIiwgcFsxXSk7CisgICAgICAgIGRlZmF1bHQ6IGRp
ZSgiVW5yZWNvZ25pemVkIHBhdHRlcm4gJSUlY1xuIiwgcFsxXSk7IGJyZWFrOwogICAgICAgfQog
CiAgICAgICBwYXRfbGVuID0gc3RybGVuKHEpOwpAQCAtNTgxLDEwICs1ODEsNyBAQCBzdGF0aWMg
aW50IG1haW5fbG9vcChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3ZfKSB7CiAgIC8qIFBhcnNl
IGNvbW1hbmQgbGluZSAqLwogICBleGVjX25hbWUgPSBhcmd2X1swXTsKICAgYXJndiA9IGFyZ3Zf
ZHVwKGFyZ2MgLSAxLCBhcmd2XyArIDEpOwotICBpZiAoIWFyZ3YpIHsKLSAgICBmcHJpbnRmKHN0
ZGVyciwgIkVycm9yIGFsbG9jYXRpbmcgYXJndW1lbnQgbGlzdFxuIik7Ci0gICAgcmV0dXJuIEVY
SVRfRkFJTFVSRTsKLSAgfQorCiAgIGZvciAoYXJnaSA9IGFyZ2ogPSBhcmd2OyAoKmFyZ2ogPSAq
YXJnaSk7IGFyZ2kgKz0gYXJnLmFyZ3Zfc3RlcCkgewogICAgIG1lbXNldCgmYXJnLCAwLCBzaXpl
b2YoYXJnKSk7CiAgICAgYXJnLmFyZ3Zfc3RlcCA9IDE7CkBAIC04MTgsMTAgKzgxNSw2IEBAIHN0
YXRpYyBpbnQgbWFpbl9sb29wKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndl8pIHsKICAgICBl
eHRfZmJfbGlzdC5udW1fZXh0ZXJuYWxfZnJhbWVfYnVmZmVycyA9IG51bV9leHRlcm5hbF9mcmFt
ZV9idWZmZXJzOwogICAgIGV4dF9mYl9saXN0LmV4dF9mYiA9IChzdHJ1Y3QgRXh0ZXJuYWxGcmFt
ZUJ1ZmZlciAqKWNhbGxvYygKICAgICAgICAgbnVtX2V4dGVybmFsX2ZyYW1lX2J1ZmZlcnMsIHNp
emVvZigqZXh0X2ZiX2xpc3QuZXh0X2ZiKSk7Ci0gICAgaWYgKCFleHRfZmJfbGlzdC5leHRfZmIp
IHsKLSAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGFsbG9jYXRlIEV4dGVybmFsRnJh
bWVCdWZmZXJcbiIpOwotICAgICAgZ290byBmYWlsOwotICAgIH0KICAgICBpZiAodnB4X2NvZGVj
X3NldF9mcmFtZV9idWZmZXJfZnVuY3Rpb25zKCZkZWNvZGVyLCBnZXRfdnA5X2ZyYW1lX2J1ZmZl
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2Vf
dnA5X2ZyYW1lX2J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZleHRfZmJfbGlzdCkpIHsKQEAgLTkzNywxMSArOTMwLDYgQEAgc3RhdGljIGludCBt
YWluX2xvb3AoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2XykgewogICAgICAgICAgIH0KICAg
ICAgICAgICBzY2FsZWRfaW1nID0KICAgICAgICAgICAgICAgdnB4X2ltZ19hbGxvYyhOVUxMLCBp
bWctPmZtdCwgcmVuZGVyX3dpZHRoLCByZW5kZXJfaGVpZ2h0LCAxNik7Ci0gICAgICAgICAgaWYg
KCFzY2FsZWRfaW1nKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBh
bGxvY2F0ZSBzY2FsZWQgaW1hZ2UgKCVkIHggJWQpXG4iLAotICAgICAgICAgICAgICAgICAgICBy
ZW5kZXJfd2lkdGgsIHJlbmRlcl9oZWlnaHQpOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAg
ICAgICAgIH0KICAgICAgICAgICBzY2FsZWRfaW1nLT5iaXRfZGVwdGggPSBpbWctPmJpdF9kZXB0
aDsKICAgICAgICAgfQogCkBAIC05NzgsMTAgKzk2Niw2IEBAIHN0YXRpYyBpbnQgbWFpbl9sb29w
KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndl8pIHsKICAgICAgICAgaWYgKCFpbWdfc2hpZnRl
ZCkgewogICAgICAgICAgIGltZ19zaGlmdGVkID0KICAgICAgICAgICAgICAgdnB4X2ltZ19hbGxv
YyhOVUxMLCBzaGlmdGVkX2ZtdCwgaW1nLT5kX3csIGltZy0+ZF9oLCAxNik7Ci0gICAgICAgICAg
aWYgKCFpbWdfc2hpZnRlZCkgewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQg
dG8gYWxsb2NhdGUgaW1hZ2VcbiIpOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAg
IH0KICAgICAgICAgICBpbWdfc2hpZnRlZC0+Yml0X2RlcHRoID0gb3V0cHV0X2JpdF9kZXB0aDsK
ICAgICAgICAgfQogICAgICAgICBpZiAob3V0cHV0X2JpdF9kZXB0aCA+IGltZy0+Yml0X2RlcHRo
KSB7CkBAIC05OTYsNyArOTgwLDcgQEAgc3RhdGljIGludCBtYWluX2xvb3AoaW50IGFyZ2MsIGNv
bnN0IGNoYXIgKiphcmd2XykgewogCiAgICAgICBpZiAoc2luZ2xlX2ZpbGUpIHsKICAgICAgICAg
aWYgKHVzZV95NG0pIHsKLSAgICAgICAgICBjaGFyIHk0bV9idWZbWTRNX0JVRkZFUl9TSVpFXSA9
IHsgMCB9OworICAgICAgICAgIGNoYXIgYnVmW1k0TV9CVUZGRVJfU0laRV0gPSB7IDAgfTsKICAg
ICAgICAgICBzaXplX3QgbGVuID0gMDsKICAgICAgICAgICBpZiAoaW1nLT5mbXQgPT0gVlBYX0lN
R19GTVRfSTQ0MCB8fCBpbWctPmZtdCA9PSBWUFhfSU1HX0ZNVF9JNDQwMTYpIHsKICAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiQ2Fubm90IHByb2R1Y2UgeTRtIG91dHB1dCBmb3IgNDQwIHNh
bXBsaW5nLlxuIik7CkBAIC0xMDA1LDIyICs5ODksMjEgQEAgc3RhdGljIGludCBtYWluX2xvb3Ao
aW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2XykgewogICAgICAgICAgIGlmIChmcmFtZV9vdXQg
PT0gMSkgewogICAgICAgICAgICAgLy8gWTRNIGZpbGUgaGVhZGVyCiAgICAgICAgICAgICBsZW4g
PSB5NG1fd3JpdGVfZmlsZV9oZWFkZXIoCi0gICAgICAgICAgICAgICAgeTRtX2J1Ziwgc2l6ZW9m
KHk0bV9idWYpLCB2cHhfaW5wdXRfY3R4LndpZHRoLAotICAgICAgICAgICAgICAgIHZweF9pbnB1
dF9jdHguaGVpZ2h0LCAmdnB4X2lucHV0X2N0eC5mcmFtZXJhdGUsIGltZy0+Zm10LAotICAgICAg
ICAgICAgICAgIGltZy0+Yml0X2RlcHRoKTsKKyAgICAgICAgICAgICAgICBidWYsIHNpemVvZihi
dWYpLCB2cHhfaW5wdXRfY3R4LndpZHRoLCB2cHhfaW5wdXRfY3R4LmhlaWdodCwKKyAgICAgICAg
ICAgICAgICAmdnB4X2lucHV0X2N0eC5mcmFtZXJhdGUsIGltZy0+Zm10LCBpbWctPmJpdF9kZXB0
aCk7CiAgICAgICAgICAgICBpZiAoZG9fbWQ1KSB7Ci0gICAgICAgICAgICAgIE1ENVVwZGF0ZSgm
bWQ1X2N0eCwgKG1kNWJ5dGUgKil5NG1fYnVmLCAodW5zaWduZWQgaW50KWxlbik7CisgICAgICAg
ICAgICAgIE1ENVVwZGF0ZSgmbWQ1X2N0eCwgKG1kNWJ5dGUgKilidWYsICh1bnNpZ25lZCBpbnQp
bGVuKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgIGZwdXRzKHk0bV9idWYs
IG91dGZpbGUpOworICAgICAgICAgICAgICBmcHV0cyhidWYsIG91dGZpbGUpOwogICAgICAgICAg
ICAgfQogICAgICAgICAgIH0KIAogICAgICAgICAgIC8vIFk0TSBmcmFtZSBoZWFkZXIKLSAgICAg
ICAgICBsZW4gPSB5NG1fd3JpdGVfZnJhbWVfaGVhZGVyKHk0bV9idWYsIHNpemVvZih5NG1fYnVm
KSk7CisgICAgICAgICAgbGVuID0geTRtX3dyaXRlX2ZyYW1lX2hlYWRlcihidWYsIHNpemVvZihi
dWYpKTsKICAgICAgICAgICBpZiAoZG9fbWQ1KSB7Ci0gICAgICAgICAgICBNRDVVcGRhdGUoJm1k
NV9jdHgsIChtZDVieXRlICopeTRtX2J1ZiwgKHVuc2lnbmVkIGludClsZW4pOworICAgICAgICAg
ICAgTUQ1VXBkYXRlKCZtZDVfY3R4LCAobWQ1Ynl0ZSAqKWJ1ZiwgKHVuc2lnbmVkIGludClsZW4p
OwogICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmcHV0cyh5NG1fYnVmLCBvdXRmaWxl
KTsKKyAgICAgICAgICAgIGZwdXRzKGJ1Ziwgb3V0ZmlsZSk7CiAgICAgICAgICAgfQogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgIGlmIChmcmFtZV9vdXQgPT0gMSkgewpAQCAtMTEyNywxMCAr
MTExMCw2IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndl8pIHsKICAgaW50
IGVycm9yID0gMDsKIAogICBhcmd2ID0gYXJndl9kdXAoYXJnYyAtIDEsIGFyZ3ZfICsgMSk7Ci0g
IGlmICghYXJndikgewotICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3IgYWxsb2NhdGluZyBhcmd1
bWVudCBsaXN0XG4iKTsKLSAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICB9CiAgIGZvciAoYXJn
aSA9IGFyZ2ogPSBhcmd2OyAoKmFyZ2ogPSAqYXJnaSk7IGFyZ2kgKz0gYXJnLmFyZ3Zfc3RlcCkg
ewogICAgIG1lbXNldCgmYXJnLCAwLCBzaXplb2YoYXJnKSk7CiAgICAgYXJnLmFyZ3Zfc3RlcCA9
IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweGVuYy5jIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhlbmMu
YwppbmRleCAzOGQ2OWExOTIzYWYuLjUwNDJlNjg4Yzk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZw
eC92cHhlbmMuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweGVuYy5jCkBAIC01OCw4ICs1OCw4IEBAIHN0
YXRpYyBzaXplX3Qgd3JhcF9md3JpdGUoY29uc3Qgdm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSwgc2l6
ZV90IG5tZW1iLAogCiBzdGF0aWMgY29uc3QgY2hhciAqZXhlY19uYW1lOwogCi1zdGF0aWMgVlBY
X1RPT0xTX0ZPUk1BVF9QUklOVEYoMywgMCkgdm9pZCB3YXJuX29yX2V4aXRfb25fZXJyb3J2KAot
ICAgIHZweF9jb2RlY19jdHhfdCAqY3R4LCBpbnQgZmF0YWwsIGNvbnN0IGNoYXIgKnMsIHZhX2xp
c3QgYXApIHsKK3N0YXRpYyB2b2lkIHdhcm5fb3JfZXhpdF9vbl9lcnJvcnYodnB4X2NvZGVjX2N0
eF90ICpjdHgsIGludCBmYXRhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgY2hhciAqcywgdmFfbGlzdCBhcCkgewogICBpZiAoY3R4LT5lcnIpIHsKICAgICBjb25z
dCBjaGFyICpkZXRhaWwgPSB2cHhfY29kZWNfZXJyb3JfZGV0YWlsKGN0eCk7CiAKQEAgLTcyLDkg
KzcyLDcgQEAgc3RhdGljIFZQWF9UT09MU19GT1JNQVRfUFJJTlRGKDMsIDApIHZvaWQgd2Fybl9v
cl9leGl0X29uX2Vycm9ydigKICAgfQogfQogCi1zdGF0aWMgVlBYX1RPT0xTX0ZPUk1BVF9QUklO
VEYoMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzKSB2b2lkIGN0eF9leGl0X29u
X2Vycm9yKHZweF9jb2RlY19jdHhfdCAqY3R4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcywgLi4uKSB7CitzdGF0
aWMgdm9pZCBjdHhfZXhpdF9vbl9lcnJvcih2cHhfY29kZWNfY3R4X3QgKmN0eCwgY29uc3QgY2hh
ciAqcywgLi4uKSB7CiAgIHZhX2xpc3QgYXA7CiAKICAgdmFfc3RhcnQoYXAsIHMpOwpAQCAtODIs
OCArODAsOCBAQCBzdGF0aWMgVlBYX1RPT0xTX0ZPUk1BVF9QUklOVEYoMiwKICAgdmFfZW5kKGFw
KTsKIH0KIAotc3RhdGljIFZQWF9UT09MU19GT1JNQVRfUFJJTlRGKDMsIDQpIHZvaWQgd2Fybl9v
cl9leGl0X29uX2Vycm9yKAotICAgIHZweF9jb2RlY19jdHhfdCAqY3R4LCBpbnQgZmF0YWwsIGNv
bnN0IGNoYXIgKnMsIC4uLikgeworc3RhdGljIHZvaWQgd2Fybl9vcl9leGl0X29uX2Vycm9yKHZw
eF9jb2RlY19jdHhfdCAqY3R4LCBpbnQgZmF0YWwsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgY2hhciAqcywgLi4uKSB7CiAgIHZhX2xpc3QgYXA7CiAKICAgdmFfc3Rh
cnQoYXAsIHMpOwpAQCAtMTE2LDYgKzExNCwxMCBAQCBzdGF0aWMgY29uc3QgYXJnX2RlZl90IHBh
c3NfYXJnID0KICAgICBBUkdfREVGKE5VTEwsICJwYXNzIiwgMSwgIlBhc3MgdG8gZXhlY3V0ZSAo
MS8yKSIpOwogc3RhdGljIGNvbnN0IGFyZ19kZWZfdCBmcGZfbmFtZSA9CiAgICAgQVJHX0RFRihO
VUxMLCAiZnBmIiwgMSwgIkZpcnN0IHBhc3Mgc3RhdGlzdGljcyBmaWxlIG5hbWUiKTsKKyNpZiBD
T05GSUdfRlBfTUJfU1RBVFMKK3N0YXRpYyBjb25zdCBhcmdfZGVmX3QgZnBtYmZfbmFtZSA9Cisg
ICAgQVJHX0RFRihOVUxMLCAiZnBtYmYiLCAxLCAiRmlyc3QgcGFzcyBibG9jayBzdGF0aXN0aWNz
IGZpbGUgbmFtZSIpOworI2VuZGlmCiBzdGF0aWMgY29uc3QgYXJnX2RlZl90IGxpbWl0ID0KICAg
ICBBUkdfREVGKE5VTEwsICJsaW1pdCIsIDEsICJTdG9wIGVuY29kaW5nIGFmdGVyIG4gaW5wdXQg
ZnJhbWVzIik7CiBzdGF0aWMgY29uc3QgYXJnX2RlZl90IHNraXAgPQpAQCAtMjg1LDY0ICsyODcs
NiBAQCBzdGF0aWMgY29uc3QgYXJnX2RlZl90ICpyY19hcmdzW10gPSB7CiAgICZidWZfc3osICAg
ICAgICAgICAmYnVmX2luaXRpYWxfc3osICAgICAmYnVmX29wdGltYWxfc3osIE5VTEwKIH07CiAK
LSNpZiBDT05GSUdfVlA5X0VOQ09ERVIKLXN0YXRpYyBjb25zdCBhcmdfZGVmX3QgdXNlX3Zpemll
cl9yY19wYXJhbXMgPQotICAgIEFSR19ERUYoTlVMTCwgInVzZS12aXppZXItcmMtcGFyYW1zIiwg
MSwgIlVzZSB2aXppZXIgcmMgcGFyYW1zIik7Ci1zdGF0aWMgY29uc3QgYXJnX2RlZl90IGFjdGl2
ZV93cV9mYWN0b3IgPQotICAgIEFSR19ERUYoTlVMTCwgImFjdGl2ZS13cS1mYWN0b3IiLCAxLCAi
QWN0aXZlIHdvcnN0IHF1YWxpdHkgZmFjdG9yIik7Ci1zdGF0aWMgY29uc3QgYXJnX2RlZl90IGVy
cl9wZXJfbWJfZmFjdG9yID0KLSAgICBBUkdfREVGKE5VTEwsICJlcnItcGVyLW1iLWZhY3RvciIs
IDEsICJFcnJvciBwZXIgbWFjcm9ibG9jayBmYWN0b3IiKTsKLXN0YXRpYyBjb25zdCBhcmdfZGVm
X3Qgc3JfZGVmYXVsdF9kZWNheV9saW1pdCA9IEFSR19ERUYoCi0gICAgTlVMTCwgInNyLWRlZmF1
bHQtZGVjYXktbGltaXQiLCAxLCAiU2Vjb25kIHJlZmVyZW5jZSBkZWZhdWx0IGRlY2F5IGxpbWl0
Iik7Ci1zdGF0aWMgY29uc3QgYXJnX2RlZl90IHNyX2RpZmZfZmFjdG9yID0KLSAgICBBUkdfREVG
KE5VTEwsICJzci1kaWZmLWZhY3RvciIsIDEsICJTZWNvbmQgcmVmZXJlbmNlIGRpZmYgZmFjdG9y
Iik7Ci1zdGF0aWMgY29uc3QgYXJnX2RlZl90IGtmX2Vycl9wZXJfbWJfZmFjdG9yID0gQVJHX0RF
RigKLSAgICBOVUxMLCAia2YtZXJyLXBlci1tYi1mYWN0b3IiLCAxLCAiS2V5ZnJhbWUgZXJyb3Ig
cGVyIG1hY3JvYmxvY2sgZmFjdG9yIik7Ci1zdGF0aWMgY29uc3QgYXJnX2RlZl90IGtmX2ZyYW1l
X21pbl9ib29zdF9mYWN0b3IgPQotICAgIEFSR19ERUYoTlVMTCwgImtmLWZyYW1lLW1pbi1ib29z
dC1mYWN0b3IiLCAxLCAiS2V5ZnJhbWUgbWluIGJvb3N0Iik7Ci1zdGF0aWMgY29uc3QgYXJnX2Rl
Zl90IGtmX2ZyYW1lX21heF9ib29zdF9maXJzdF9mYWN0b3IgPQotICAgIEFSR19ERUYoTlVMTCwg
ImtmLWZyYW1lLW1heC1ib29zdC1maXJzdC1mYWN0b3IiLCAxLAotICAgICAgICAgICAgIk1heCBr
ZXlmcmFtZSBib29zdCBhZGp1c3RtZW50IGZhY3RvciBmb3IgZmlyc3QgZnJhbWUiKTsKLXN0YXRp
YyBjb25zdCBhcmdfZGVmX3Qga2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnNfZmFjdG9yID0KLSAgICBB
UkdfREVGKE5VTEwsICJrZi1mcmFtZS1tYXgtYm9vc3Qtc3Vicy1mYWN0b3IiLCAxLAotICAgICAg
ICAgICAgIk1heCBib29zdCBhZGp1c3RtZW50IGZhY3RvciBmb3Igc3Vic2VxdWVudCBLRnMiKTsK
LXN0YXRpYyBjb25zdCBhcmdfZGVmX3Qga2ZfbWF4X3RvdGFsX2Jvb3N0X2ZhY3RvciA9IEFSR19E
RUYoCi0gICAgTlVMTCwgImtmLW1heC10b3RhbC1ib29zdC1mYWN0b3IiLCAxLCAiS2V5ZnJhbWUg
bWF4IHRvdGFsIGJvb3N0IGZhY3RvciIpOwotc3RhdGljIGNvbnN0IGFyZ19kZWZfdCBnZl9tYXhf
dG90YWxfYm9vc3RfZmFjdG9yID0KLSAgICBBUkdfREVGKE5VTEwsICJnZi1tYXgtdG90YWwtYm9v
c3QtZmFjdG9yIiwgMSwKLSAgICAgICAgICAgICJHb2xkZW4gZnJhbWUgbWF4IHRvdGFsIGJvb3N0
IGZhY3RvciIpOwotc3RhdGljIGNvbnN0IGFyZ19kZWZfdCBnZl9mcmFtZV9tYXhfYm9vc3RfZmFj
dG9yID0KLSAgICBBUkdfREVGKE5VTEwsICJnZi1mcmFtZS1tYXgtYm9vc3QtZmFjdG9yIiwgMSwK
LSAgICAgICAgICAgICJHb2xkZW4gZnJhbWUgbWF4IHBlciBmcmFtZSBib29zdCBmYWN0b3IiKTsK
LXN0YXRpYyBjb25zdCBhcmdfZGVmX3Qgem1fZmFjdG9yID0KLSAgICBBUkdfREVGKE5VTEwsICJ6
bS1mYWN0b3IiLCAxLCAiWmVybyBtb3Rpb24gcG93ZXIgZmFjdG9yIik7Ci1zdGF0aWMgY29uc3Qg
YXJnX2RlZl90IHJkX211bHRfaW50ZXJfcXBfZmFjID0KLSAgICBBUkdfREVGKE5VTEwsICJyZC1t
dWx0LWludGVyLXFwLWZhYyIsIDEsCi0gICAgICAgICAgICAiUkQgbXVsdGlwbGllciBhZGp1c3Rt
ZW50IGZvciBpbnRlciBmcmFtZXMiKTsKLXN0YXRpYyBjb25zdCBhcmdfZGVmX3QgcmRfbXVsdF9h
cmZfcXBfZmFjID0KLSAgICBBUkdfREVGKE5VTEwsICJyZC1tdWx0LWFyZi1xcC1mYWMiLCAxLAot
ICAgICAgICAgICAgIlJEIG11bHRpcGxpZXIgYWRqdXN0bWVudCBmb3IgYWx0LXJlZiBmcmFtZXMi
KTsKLXN0YXRpYyBjb25zdCBhcmdfZGVmX3QgcmRfbXVsdF9rZXlfcXBfZmFjID0gQVJHX0RFRigK
LSAgICBOVUxMLCAicmQtbXVsdC1rZXktcXAtZmFjIiwgMSwgIlJEIG11bHRpcGxpZXIgYWRqdXN0
bWVudCBmb3Iga2V5IGZyYW1lcyIpOwotc3RhdGljIGNvbnN0IGFyZ19kZWZfdCAqdml6aWVyX3Jj
X2FyZ3NbXSA9IHsgJnVzZV92aXppZXJfcmNfcGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJmFjdGl2ZV93cV9mYWN0b3IsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyX3Blcl9tYl9mYWN0b3IsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3JfZGVmYXVsdF9kZWNh
eV9saW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZz
cl9kaWZmX2ZhY3RvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZrZl9lcnJfcGVyX21iX2ZhY3RvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZrZl9mcmFtZV9taW5fYm9vc3RfZmFjdG9yLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtmX2ZyYW1lX21heF9ib29zdF9maXJz
dF9mYWN0b3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
a2ZfZnJhbWVfbWF4X2Jvb3N0X3N1YnNfZmFjdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJmtmX21heF90b3RhbF9ib29zdF9mYWN0b3IsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ2ZfbWF4X3RvdGFsX2Jvb3N0
X2ZhY3RvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZn
Zl9mcmFtZV9tYXhfYm9vc3RfZmFjdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJnptX2ZhY3RvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZyZF9tdWx0X2ludGVyX3FwX2ZhYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZF9tdWx0X2FyZl9xcF9mYWMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmRfbXVsdF9rZXlfcXBfZmFj
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCB9Owot
I2VuZGlmCi0KIHN0YXRpYyBjb25zdCBhcmdfZGVmX3QgYmlhc19wY3QgPQogICAgIEFSR19ERUYo
TlVMTCwgImJpYXMtcGN0IiwgMSwgIkNCUi9WQlIgYmlhcyAoMD1DQlIsIDEwMD1WQlIpIik7CiBz
dGF0aWMgY29uc3QgYXJnX2RlZl90IG1pbnNlY3Rpb25fcGN0ID0KQEAgLTUyNCwxMiArNDY4LDkg
QEAgc3RhdGljIGNvbnN0IGFyZ19kZWZfdCByb3dfbXQgPQogCiBzdGF0aWMgY29uc3QgYXJnX2Rl
Zl90IGRpc2FibGVfbG9vcGZpbHRlciA9CiAgICAgQVJHX0RFRihOVUxMLCAiZGlzYWJsZS1sb29w
ZmlsdGVyIiwgMSwKLSAgICAgICAgICAgICJDb250cm9sIExvb3BmaWx0ZXIgaW4gVlA5OlxuIgot
ICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIK
KyAgICAgICAgICAgICJDb250cm9sIExvb3BmaWx0ZXIgaW4gVlA5XG4iCiAgICAgICAgICAgICAi
MDogTG9vcGZpbHRlciBvbiBmb3IgYWxsIGZyYW1lcyAoZGVmYXVsdClcbiIKLSAgICAgICAgICAg
ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAgICAgICAgICAg
ICAiMTogTG9vcGZpbHRlciBvZmYgZm9yIG5vbiByZWZlcmVuY2UgZnJhbWVzXG4iCi0gICAgICAg
ICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgogICAgICAg
ICAgICAgIjI6IExvb3BmaWx0ZXIgb2ZmIGZvciBhbGwgZnJhbWVzIik7CiAjZW5kaWYKIApAQCAt
NjMyLDggKzU3Myw2IEBAIHN0YXRpYyB2b2lkIHNob3dfaGVscChGSUxFICpmb3V0LCBpbnQgc2hv
cnRoZWxwKSB7CiAjaWYgQ09ORklHX1ZQOV9FTkNPREVSCiAgIGZwcmludGYoZm91dCwgIlxuVlA5
IFNwZWNpZmljIE9wdGlvbnM6XG4iKTsKICAgYXJnX3Nob3dfdXNhZ2UoZm91dCwgdnA5X2FyZ3Mp
OwotICBmcHJpbnRmKGZvdXQsICJcblZpemllciBSYXRlIENvbnRyb2wgT3B0aW9uczpcbiIpOwot
ICBhcmdfc2hvd191c2FnZShmb3V0LCB2aXppZXJfcmNfYXJncyk7CiAjZW5kaWYKICAgZnByaW50
Zihmb3V0LAogICAgICAgICAgICJcblN0cmVhbSB0aW1lYmFzZSAoLS10aW1lYmFzZSk6XG4iCkBA
IC02NzUsNiArNjE0LDkgQEAgc3RydWN0IHN0cmVhbV9jb25maWcgewogICBzdHJ1Y3QgdnB4X2Nv
ZGVjX2VuY19jZmcgY2ZnOwogICBjb25zdCBjaGFyICpvdXRfZm47CiAgIGNvbnN0IGNoYXIgKnN0
YXRzX2ZuOworI2lmIENPTkZJR19GUF9NQl9TVEFUUworICBjb25zdCBjaGFyICpmcG1iX3N0YXRz
X2ZuOworI2VuZGlmCiAgIHN0ZXJlb19mb3JtYXRfdCBzdGVyZW9fZm10OwogICBpbnQgYXJnX2N0
cmxzW0FSR19DVFJMX0NOVF9NQVhdWzJdOwogICBpbnQgYXJnX2N0cmxfY250OwpAQCAtNzAyLDYg
KzY0NCw5IEBAIHN0cnVjdCBzdHJlYW1fc3RhdGUgewogICB1aW50NjRfdCBjeF90aW1lOwogICBz
aXplX3QgbmJ5dGVzOwogICBzdGF0c19pb190IHN0YXRzOworI2lmIENPTkZJR19GUF9NQl9TVEFU
UworICBzdGF0c19pb190IGZwbWJfc3RhdHM7CisjZW5kaWYKICAgc3RydWN0IHZweF9pbWFnZSAq
aW1nOwogICB2cHhfY29kZWNfY3R4X3QgZGVjb2RlcjsKICAgaW50IG1pc21hdGNoX3NlZW47CkBA
IC05MzgsNiArODgzLDEwIEBAIHN0YXRpYyBpbnQgcGFyc2Vfc3RyZWFtX3BhcmFtcyhzdHJ1Y3Qg
VnB4RW5jb2RlckNvbmZpZyAqZ2xvYmFsLAogICAgICAgY29uZmlnLT5vdXRfZm4gPSBhcmcudmFs
OwogICAgIH0gZWxzZSBpZiAoYXJnX21hdGNoKCZhcmcsICZmcGZfbmFtZSwgYXJnaSkpIHsKICAg
ICAgIGNvbmZpZy0+c3RhdHNfZm4gPSBhcmcudmFsOworI2lmIENPTkZJR19GUF9NQl9TVEFUUwor
ICAgIH0gZWxzZSBpZiAoYXJnX21hdGNoKCZhcmcsICZmcG1iZl9uYW1lLCBhcmdpKSkgeworICAg
ICAgY29uZmlnLT5mcG1iX3N0YXRzX2ZuID0gYXJnLnZhbDsKKyNlbmRpZgogICAgIH0gZWxzZSBp
ZiAoYXJnX21hdGNoKCZhcmcsICZ1c2Vfd2VibSwgYXJnaSkpIHsKICNpZiBDT05GSUdfV0VCTV9J
TwogICAgICAgY29uZmlnLT53cml0ZV93ZWJtID0gMTsKQEAgLTEwMzQsNDAgKzk4Myw2IEBAIHN0
YXRpYyBpbnQgcGFyc2Vfc3RyZWFtX3BhcmFtcyhzdHJ1Y3QgVnB4RW5jb2RlckNvbmZpZyAqZ2xv
YmFsLAogICAgICAgY29uZmlnLT5jZmcua2ZfbWF4X2Rpc3QgPSBhcmdfcGFyc2VfdWludCgmYXJn
KTsKICAgICB9IGVsc2UgaWYgKGFyZ19tYXRjaCgmYXJnLCAma2ZfZGlzYWJsZWQsIGFyZ2kpKSB7
CiAgICAgICBjb25maWctPmNmZy5rZl9tb2RlID0gVlBYX0tGX0RJU0FCTEVEOwotI2lmIENPTkZJ
R19WUDlfRU5DT0RFUgotICAgIH0gZWxzZSBpZiAoYXJnX21hdGNoKCZhcmcsICZ1c2Vfdml6aWVy
X3JjX3BhcmFtcywgYXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+Y2ZnLnVzZV92aXppZXJfcmNfcGFy
YW1zID0gYXJnX3BhcnNlX2ludCgmYXJnKTsKLSAgICB9IGVsc2UgaWYgKGFyZ19tYXRjaCgmYXJn
LCAmYWN0aXZlX3dxX2ZhY3RvciwgYXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+Y2ZnLmFjdGl2ZV93
cV9mYWN0b3IgPSBhcmdfcGFyc2VfcmF0aW9uYWwoJmFyZyk7Ci0gICAgfSBlbHNlIGlmIChhcmdf
bWF0Y2goJmFyZywgJmVycl9wZXJfbWJfZmFjdG9yLCBhcmdpKSkgewotICAgICAgY29uZmlnLT5j
ZmcuZXJyX3Blcl9tYl9mYWN0b3IgPSBhcmdfcGFyc2VfcmF0aW9uYWwoJmFyZyk7Ci0gICAgfSBl
bHNlIGlmIChhcmdfbWF0Y2goJmFyZywgJnNyX2RlZmF1bHRfZGVjYXlfbGltaXQsIGFyZ2kpKSB7
Ci0gICAgICBjb25maWctPmNmZy5zcl9kZWZhdWx0X2RlY2F5X2xpbWl0ID0gYXJnX3BhcnNlX3Jh
dGlvbmFsKCZhcmcpOwotICAgIH0gZWxzZSBpZiAoYXJnX21hdGNoKCZhcmcsICZzcl9kaWZmX2Zh
Y3RvciwgYXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+Y2ZnLnNyX2RpZmZfZmFjdG9yID0gYXJnX3Bh
cnNlX3JhdGlvbmFsKCZhcmcpOwotICAgIH0gZWxzZSBpZiAoYXJnX21hdGNoKCZhcmcsICZrZl9l
cnJfcGVyX21iX2ZhY3RvciwgYXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+Y2ZnLmtmX2Vycl9wZXJf
bWJfZmFjdG9yID0gYXJnX3BhcnNlX3JhdGlvbmFsKCZhcmcpOwotICAgIH0gZWxzZSBpZiAoYXJn
X21hdGNoKCZhcmcsICZrZl9mcmFtZV9taW5fYm9vc3RfZmFjdG9yLCBhcmdpKSkgewotICAgICAg
Y29uZmlnLT5jZmcua2ZfZnJhbWVfbWluX2Jvb3N0X2ZhY3RvciA9IGFyZ19wYXJzZV9yYXRpb25h
bCgmYXJnKTsKLSAgICB9IGVsc2UgaWYgKGFyZ19tYXRjaCgmYXJnLCAma2ZfZnJhbWVfbWF4X2Jv
b3N0X2ZpcnN0X2ZhY3RvciwgYXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+Y2ZnLmtmX2ZyYW1lX21h
eF9ib29zdF9maXJzdF9mYWN0b3IgPSBhcmdfcGFyc2VfcmF0aW9uYWwoJmFyZyk7Ci0gICAgfSBl
bHNlIGlmIChhcmdfbWF0Y2goJmFyZywgJmtmX2ZyYW1lX21heF9ib29zdF9zdWJzX2ZhY3Rvciwg
YXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+Y2ZnLmtmX2ZyYW1lX21heF9ib29zdF9zdWJzX2ZhY3Rv
ciA9IGFyZ19wYXJzZV9yYXRpb25hbCgmYXJnKTsKLSAgICB9IGVsc2UgaWYgKGFyZ19tYXRjaCgm
YXJnLCAma2ZfbWF4X3RvdGFsX2Jvb3N0X2ZhY3RvciwgYXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+
Y2ZnLmtmX21heF90b3RhbF9ib29zdF9mYWN0b3IgPSBhcmdfcGFyc2VfcmF0aW9uYWwoJmFyZyk7
Ci0gICAgfSBlbHNlIGlmIChhcmdfbWF0Y2goJmFyZywgJmdmX21heF90b3RhbF9ib29zdF9mYWN0
b3IsIGFyZ2kpKSB7Ci0gICAgICBjb25maWctPmNmZy5nZl9tYXhfdG90YWxfYm9vc3RfZmFjdG9y
ID0gYXJnX3BhcnNlX3JhdGlvbmFsKCZhcmcpOwotICAgIH0gZWxzZSBpZiAoYXJnX21hdGNoKCZh
cmcsICZnZl9mcmFtZV9tYXhfYm9vc3RfZmFjdG9yLCBhcmdpKSkgewotICAgICAgY29uZmlnLT5j
ZmcuZ2ZfZnJhbWVfbWF4X2Jvb3N0X2ZhY3RvciA9IGFyZ19wYXJzZV9yYXRpb25hbCgmYXJnKTsK
LSAgICB9IGVsc2UgaWYgKGFyZ19tYXRjaCgmYXJnLCAmem1fZmFjdG9yLCBhcmdpKSkgewotICAg
ICAgY29uZmlnLT5jZmcuem1fZmFjdG9yID0gYXJnX3BhcnNlX3JhdGlvbmFsKCZhcmcpOwotICAg
IH0gZWxzZSBpZiAoYXJnX21hdGNoKCZhcmcsICZyZF9tdWx0X2ludGVyX3FwX2ZhYywgYXJnaSkp
IHsKLSAgICAgIGNvbmZpZy0+Y2ZnLnJkX211bHRfaW50ZXJfcXBfZmFjID0gYXJnX3BhcnNlX3Jh
dGlvbmFsKCZhcmcpOwotICAgIH0gZWxzZSBpZiAoYXJnX21hdGNoKCZhcmcsICZyZF9tdWx0X2Fy
Zl9xcF9mYWMsIGFyZ2kpKSB7Ci0gICAgICBjb25maWctPmNmZy5yZF9tdWx0X2FyZl9xcF9mYWMg
PSBhcmdfcGFyc2VfcmF0aW9uYWwoJmFyZyk7Ci0gICAgfSBlbHNlIGlmIChhcmdfbWF0Y2goJmFy
ZywgJnJkX211bHRfa2V5X3FwX2ZhYywgYXJnaSkpIHsKLSAgICAgIGNvbmZpZy0+Y2ZnLnJkX211
bHRfa2V5X3FwX2ZhYyA9IGFyZ19wYXJzZV9yYXRpb25hbCgmYXJnKTsKLSNlbmRpZgogI2lmIENP
TkZJR19WUDlfSElHSEJJVERFUFRICiAgICAgfSBlbHNlIGlmIChhcmdfbWF0Y2goJmFyZywgJnRl
c3QxNmJpdGludGVybmFsYXJnLCBhcmdpKSkgewogICAgICAgaWYgKHN0cmNtcChnbG9iYWwtPmNv
ZGVjLT5uYW1lLCAidnA5IikgPT0gMCkgewpAQCAtMTE2MCw2ICsxMDc1LDE3IEBAIHN0YXRpYyB2
b2lkIHZhbGlkYXRlX3N0cmVhbV9jb25maWcoY29uc3Qgc3RydWN0IHN0cmVhbV9zdGF0ZSAqc3Ry
ZWFtLAogICAgICAgICBmYXRhbCgiU3RyZWFtICVkOiBkdXBsaWNhdGUgc3RhdHMgZmlsZSAoZnJv
bSBzdHJlYW0gJWQpIiwKICAgICAgICAgICAgICAgc3RyZWFtaS0+aW5kZXgsIHN0cmVhbS0+aW5k
ZXgpOwogICAgIH0KKworI2lmIENPTkZJR19GUF9NQl9TVEFUUworICAgIC8qIENoZWNrIGZvciB0
d28gc3RyZWFtcyBzaGFyaW5nIGEgbWIgc3RhdHMgZmlsZS4gKi8KKyAgICBpZiAoc3RyZWFtaSAh
PSBzdHJlYW0pIHsKKyAgICAgIGNvbnN0IGNoYXIgKmEgPSBzdHJlYW0tPmNvbmZpZy5mcG1iX3N0
YXRzX2ZuOworICAgICAgY29uc3QgY2hhciAqYiA9IHN0cmVhbWktPmNvbmZpZy5mcG1iX3N0YXRz
X2ZuOworICAgICAgaWYgKGEgJiYgYiAmJiAhc3RyY21wKGEsIGIpKQorICAgICAgICBmYXRhbCgi
U3RyZWFtICVkOiBkdXBsaWNhdGUgbWIgc3RhdHMgZmlsZSAoZnJvbSBzdHJlYW0gJWQpIiwKKyAg
ICAgICAgICAgICAgc3RyZWFtaS0+aW5kZXgsIHN0cmVhbS0+aW5kZXgpOworICAgIH0KKyNlbmRp
ZgogICB9CiB9CiAKQEAgLTEyNTEsMTAgKzExNzcsNiBAQCBzdGF0aWMgdm9pZCBzaG93X3N0cmVh
bV9jb25maWcoc3RydWN0IHN0cmVhbV9zdGF0ZSAqc3RyZWFtLAogICBTSE9XKGtmX21vZGUpOwog
ICBTSE9XKGtmX21pbl9kaXN0KTsKICAgU0hPVyhrZl9tYXhfZGlzdCk7Ci0gIC8vIFRlbXBvcmFy
eSB1c2UgZm9yIGRlYnVnCi0gIFNIT1codXNlX3Zpemllcl9yY19wYXJhbXMpOwotICBTSE9XKGFj
dGl2ZV93cV9mYWN0b3IubnVtKTsKLSAgU0hPVyhhY3RpdmVfd3FfZmFjdG9yLmRlbik7CiB9CiAK
IHN0YXRpYyB2b2lkIG9wZW5fb3V0cHV0X2ZpbGUoc3RydWN0IHN0cmVhbV9zdGF0ZSAqc3RyZWFt
LApAQCAtMTMxOCwxMSArMTI0MCwyNiBAQCBzdGF0aWMgdm9pZCBzZXR1cF9wYXNzKHN0cnVjdCBz
dHJlYW1fc3RhdGUgKnN0cmVhbSwKICAgICAgIGZhdGFsKCJGYWlsZWQgdG8gb3BlbiBzdGF0aXN0
aWNzIHN0b3JlIik7CiAgIH0KIAorI2lmIENPTkZJR19GUF9NQl9TVEFUUworICBpZiAoc3RyZWFt
LT5jb25maWcuZnBtYl9zdGF0c19mbikgeworICAgIGlmICghc3RhdHNfb3Blbl9maWxlKCZzdHJl
YW0tPmZwbWJfc3RhdHMsIHN0cmVhbS0+Y29uZmlnLmZwbWJfc3RhdHNfZm4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgcGFzcykpCisgICAgICBmYXRhbCgiRmFpbGVkIHRvIG9wZW4gbWIgc3Rh
dGlzdGljcyBzdG9yZSIpOworICB9IGVsc2UgeworICAgIGlmICghc3RhdHNfb3Blbl9tZW0oJnN0
cmVhbS0+ZnBtYl9zdGF0cywgcGFzcykpCisgICAgICBmYXRhbCgiRmFpbGVkIHRvIG9wZW4gbWIg
c3RhdGlzdGljcyBzdG9yZSIpOworICB9CisjZW5kaWYKKwogICBzdHJlYW0tPmNvbmZpZy5jZmcu
Z19wYXNzID0gZ2xvYmFsLT5wYXNzZXMgPT0gMgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID8gcGFzcyA/IFZQWF9SQ19MQVNUX1BBU1MgOiBWUFhfUkNfRklSU1RfUEFTUwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogVlBYX1JDX09ORV9QQVNTOwogICBpZiAo
cGFzcykgewogICAgIHN0cmVhbS0+Y29uZmlnLmNmZy5yY190d29wYXNzX3N0YXRzX2luID0gc3Rh
dHNfZ2V0KCZzdHJlYW0tPnN0YXRzKTsKKyNpZiBDT05GSUdfRlBfTUJfU1RBVFMKKyAgICBzdHJl
YW0tPmNvbmZpZy5jZmcucmNfZmlyc3RwYXNzX21iX3N0YXRzX2luID0KKyAgICAgICAgc3RhdHNf
Z2V0KCZzdHJlYW0tPmZwbWJfc3RhdHMpOworI2VuZGlmCiAgIH0KIAogICBzdHJlYW0tPmN4X3Rp
bWUgPSAwOwpAQCAtMTUzNCw2ICsxNDcxLDEzIEBAIHN0YXRpYyB2b2lkIGdldF9jeF9kYXRhKHN0
cnVjdCBzdHJlYW1fc3RhdGUgKnN0cmVhbSwKICAgICAgICAgICAgICAgICAgICAgcGt0LT5kYXRh
LnR3b3Bhc3Nfc3RhdHMuc3opOwogICAgICAgICBzdHJlYW0tPm5ieXRlcyArPSBwa3QtPmRhdGEu
cmF3LnN6OwogICAgICAgICBicmVhazsKKyNpZiBDT05GSUdfRlBfTUJfU1RBVFMKKyAgICAgIGNh
c2UgVlBYX0NPREVDX0ZQTUJfU1RBVFNfUEtUOgorICAgICAgICBzdGF0c193cml0ZSgmc3RyZWFt
LT5mcG1iX3N0YXRzLCBwa3QtPmRhdGEuZmlyc3RwYXNzX21iX3N0YXRzLmJ1ZiwKKyAgICAgICAg
ICAgICAgICAgICAgcGt0LT5kYXRhLmZpcnN0cGFzc19tYl9zdGF0cy5zeik7CisgICAgICAgIHN0
cmVhbS0+bmJ5dGVzICs9IHBrdC0+ZGF0YS5yYXcuc3o7CisgICAgICAgIGJyZWFrOworI2VuZGlm
CiAgICAgICBjYXNlIFZQWF9DT0RFQ19QU05SX1BLVDoKIAogICAgICAgICBpZiAoZ2xvYmFsLT5z
aG93X3BzbnIpIHsKQEAgLTE1ODYsMTQgKzE1MzAsMTMgQEAgc3RhdGljIHZvaWQgdGVzdF9kZWNv
ZGUoc3RydWN0IHN0cmVhbV9zdGF0ZSAqc3RyZWFtLAogICAvKiBHZXQgdGhlIGludGVybmFsIHJl
ZmVyZW5jZSBmcmFtZSAqLwogICBpZiAoc3RyY21wKGNvZGVjLT5uYW1lLCAidnA4IikgPT0gMCkg
ewogICAgIHN0cnVjdCB2cHhfcmVmX2ZyYW1lIHJlZl9lbmMsIHJlZl9kZWM7Ci0gICAgaW50IGFs
aWduZWRfd2lkdGggPSAoc3RyZWFtLT5jb25maWcuY2ZnLmdfdyArIDE1KSAmIH4xNTsKLSAgICBp
bnQgYWxpZ25lZF9oZWlnaHQgPSAoc3RyZWFtLT5jb25maWcuY2ZnLmdfaCArIDE1KSAmIH4xNTsK
KyAgICBpbnQgd2lkdGgsIGhlaWdodDsKIAotICAgIHZweF9pbWdfYWxsb2MoJnJlZl9lbmMuaW1n
LCBWUFhfSU1HX0ZNVF9JNDIwLCBhbGlnbmVkX3dpZHRoLCBhbGlnbmVkX2hlaWdodCwKLSAgICAg
ICAgICAgICAgICAgIDEpOworICAgIHdpZHRoID0gKHN0cmVhbS0+Y29uZmlnLmNmZy5nX3cgKyAx
NSkgJiB+MTU7CisgICAgaGVpZ2h0ID0gKHN0cmVhbS0+Y29uZmlnLmNmZy5nX2ggKyAxNSkgJiB+
MTU7CisgICAgdnB4X2ltZ19hbGxvYygmcmVmX2VuYy5pbWcsIFZQWF9JTUdfRk1UX0k0MjAsIHdp
ZHRoLCBoZWlnaHQsIDEpOwogICAgIGVuY19pbWcgPSByZWZfZW5jLmltZzsKLSAgICB2cHhfaW1n
X2FsbG9jKCZyZWZfZGVjLmltZywgVlBYX0lNR19GTVRfSTQyMCwgYWxpZ25lZF93aWR0aCwgYWxp
Z25lZF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAxKTsKKyAgICB2cHhfaW1nX2FsbG9jKCZy
ZWZfZGVjLmltZywgVlBYX0lNR19GTVRfSTQyMCwgd2lkdGgsIGhlaWdodCwgMSk7CiAgICAgZGVj
X2ltZyA9IHJlZl9kZWMuaW1nOwogCiAgICAgcmVmX2VuYy5mcmFtZV90eXBlID0gVlA4X0xBU1Rf
RlJBTUU7CkBAIC0xNzA3LDEwICsxNjUwLDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNo
YXIgKiphcmd2XykgewogICAgKiBjb2RlYy4KICAgICovCiAgIGFyZ3YgPSBhcmd2X2R1cChhcmdj
IC0gMSwgYXJndl8gKyAxKTsKLSAgaWYgKCFhcmd2KSB7Ci0gICAgZnByaW50ZihzdGRlcnIsICJF
cnJvciBhbGxvY2F0aW5nIGFyZ3VtZW50IGxpc3RcbiIpOwotICAgIHJldHVybiBFWElUX0ZBSUxV
UkU7Ci0gIH0KICAgcGFyc2VfZ2xvYmFsX2NvbmZpZygmZ2xvYmFsLCBhcmd2KTsKIAogICBpZiAo
YXJnYyA8IDMpIHVzYWdlX2V4aXQoKTsKQEAgLTE5NzAsOSArMTkwOSwxMCBAQCBpbnQgbWFpbihp
bnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3ZfKSB7CiAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIGNvbnN0IGludDY0X3QgaW5wdXRfcG9zID0gZnRlbGxvKGlucHV0LmZpbGUpOwogICAg
ICAgICAgICAgY29uc3QgaW50NjRfdCBpbnB1dF9wb3NfbGFnZ2VkID0gaW5wdXRfcG9zIC0gbGFn
Z2VkX2NvdW50OworICAgICAgICAgICAgY29uc3QgaW50NjRfdCBsaW1pdCA9IGlucHV0Lmxlbmd0
aDsKIAogICAgICAgICAgICAgcmF0ZSA9IGN4X3RpbWUgPyBpbnB1dF9wb3NfbGFnZ2VkICogKGlu
dDY0X3QpMTAwMDAwMCAvIGN4X3RpbWUgOiAwOwotICAgICAgICAgICAgcmVtYWluaW5nID0gaW5w
dXQubGVuZ3RoIC0gaW5wdXRfcG9zICsgbGFnZ2VkX2NvdW50OworICAgICAgICAgICAgcmVtYWlu
aW5nID0gbGltaXQgLSBpbnB1dF9wb3MgKyBsYWdnZWRfY291bnQ7CiAgICAgICAgICAgfQogCiAg
ICAgICAgICAgYXZlcmFnZV9yYXRlID0KQEAgLTIwMzEsNiArMTk3MSwxMCBAQCBpbnQgbWFpbihp
bnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3ZfKSB7CiAKICAgICBGT1JFQUNIX1NUUkVBTShzdGF0
c19jbG9zZSgmc3RyZWFtLT5zdGF0cywgZ2xvYmFsLnBhc3NlcyAtIDEpKTsKIAorI2lmIENPTkZJ
R19GUF9NQl9TVEFUUworICAgIEZPUkVBQ0hfU1RSRUFNKHN0YXRzX2Nsb3NlKCZzdHJlYW0tPmZw
bWJfc3RhdHMsIGdsb2JhbC5wYXNzZXMgLSAxKSk7CisjZW5kaWYKKwogICAgIGlmIChnbG9iYWwu
cGFzcykgYnJlYWs7CiAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhzdGF0cy5jIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291
cmNlL2xpYnZweC92cHhzdGF0cy5jCmluZGV4IGMwZGQxNGU0NTAwOC4uMTQyZTM2N2JiNDhjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweHN0YXRzLmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhzdGF0
cy5jCkBAIC00MSw3ICs0MSw3IEBAIGludCBzdGF0c19vcGVuX2ZpbGUoc3RhdHNfaW9fdCAqc3Rh
dHMsIGNvbnN0IGNoYXIgKmZwZiwgaW50IHBhc3MpIHsKICAgICBzdGF0cy0+YnVmLmJ1ZiA9IG1h
bGxvYyhzdGF0cy0+YnVmX2FsbG9jX3N6KTsKIAogICAgIGlmICghc3RhdHMtPmJ1Zi5idWYpCi0g
ICAgICBmYXRhbCgiRmFpbGVkIHRvIGFsbG9jYXRlIGZpcnN0LXBhc3Mgc3RhdHMgYnVmZmVyICgl
dSBieXRlcykiLAorICAgICAgZmF0YWwoIkZhaWxlZCB0byBhbGxvY2F0ZSBmaXJzdC1wYXNzIHN0
YXRzIGJ1ZmZlciAoJWx1IGJ5dGVzKSIsCiAgICAgICAgICAgICAodW5zaWduZWQgaW50KXN0YXRz
LT5idWZfYWxsb2Nfc3opOwogCiAgICAgbmJ5dGVzID0gZnJlYWQoc3RhdHMtPmJ1Zi5idWYsIDEs
IHN0YXRzLT5idWYuc3osIHN0YXRzLT5maWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvd2Fy
bmluZ3MuYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlidnB4L3NvdXJjZS9saWJ2cHgvd2FybmluZ3MuYwppbmRleCAzZTZlNzAyNTM2NTMuLmE4MGRh
NTI3ZjdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC93YXJuaW5ncy5jCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2
cHgvd2FybmluZ3MuYwpAQCAtOTgsNyArOTgsNyBAQCB2b2lkIGNoZWNrX2VuY29kZXJfY29uZmln
KGludCBkaXNhYmxlX3Byb21wdCwKICAgLyogQ291bnQgYW5kIHByaW50IHdhcm5pbmdzLiAqLwog
ICBmb3IgKHdhcm5pbmcgPSB3YXJuaW5nX2xpc3Qud2FybmluZ19ub2RlOyB3YXJuaW5nICE9IE5V
TEw7CiAgICAgICAgd2FybmluZyA9IHdhcm5pbmctPm5leHRfd2FybmluZywgKytudW1fd2Fybmlu
Z3MpIHsKLSAgICB3YXJuKCIlcyIsIHdhcm5pbmctPndhcm5pbmdfc3RyaW5nKTsKKyAgICB3YXJu
KHdhcm5pbmctPndhcm5pbmdfc3RyaW5nKTsKICAgfQogCiAgIGZyZWVfd2FybmluZ19saXN0KCZ3
YXJuaW5nX2xpc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC93ZWJtZGVjLmNjIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xp
YnZweC93ZWJtZGVjLmNjCmluZGV4IGY3NjcxYmI2NDExMy4uNjhjNmY0NzgyZDdkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZw
eC9zb3VyY2UvbGlidnB4L3dlYm1kZWMuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC93ZWJtZGVjLmNjCkBA
IC0yMTAsOCArMjEwLDYgQEAgaW50IHdlYm1fZ3Vlc3NfZnJhbWVyYXRlKHN0cnVjdCBXZWJtSW5w
dXRDb250ZXh0ICp3ZWJtX2N0eCwKICAgdnB4X2N0eC0+ZnJhbWVyYXRlLmRlbm9taW5hdG9yID0K
ICAgICAgIHN0YXRpY19jYXN0PGludD4od2VibV9jdHgtPnRpbWVzdGFtcF9ucyAvIDEwMDApOwog
ICBkZWxldGVbXSBidWZmZXI7Ci0gIC8vIHdlYm1fY3R4LT5idWZmZXIgaXMgYXNzaWduZWQgdG8g
dGhlIGJ1ZmZlciBwb2ludGVyIGluIHdlYm1fcmVhZF9mcmFtZSgpLgotICB3ZWJtX2N0eC0+YnVm
ZmVyID0gbnVsbHB0cjsKIAogICBnZXRfZmlyc3RfY2x1c3Rlcih3ZWJtX2N0eCk7CiAgIHdlYm1f
Y3R4LT5ibG9jayA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3dlYm1kZWMuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgvd2VibWRlYy5oCmluZGV4IDZhZTdlZTE2ZDBiZi4uZDg2MThiMDdkNjc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnZweC9zb3VyY2UvbGlidnB4L3dlYm1kZWMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3dlYm1kZWMu
aApAQCAtMjcsNyArMjcsNyBAQCBzdHJ1Y3QgV2VibUlucHV0Q29udGV4dCB7CiAgIGNvbnN0IHZv
aWQgKmJsb2NrOwogICBpbnQgYmxvY2tfZnJhbWVfaW5kZXg7CiAgIGludCB2aWRlb190cmFja19p
bmRleDsKLSAgaW50NjRfdCB0aW1lc3RhbXBfbnM7CisgIHVpbnQ2NF90IHRpbWVzdGFtcF9uczsK
ICAgaW50IGlzX2tleV9mcmFtZTsKICAgaW50IHJlYWNoZWRfZW9zOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgveTRtZW5jLmMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3k0bWVuYy5jCmluZGV4IDE4Nzc5ODEy
NzljMC4uMDJiNzI5ZTViYmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3k0bWVuYy5jCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlidnB4L3Nv
dXJjZS9saWJ2cHgveTRtZW5jLmMKQEAgLTE3LDM0ICsxNywzOSBAQCBpbnQgeTRtX3dyaXRlX2Zp
bGVfaGVhZGVyKGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAog
ICBjb25zdCBjaGFyICpjb2xvcjsKICAgc3dpdGNoIChiaXRfZGVwdGgpIHsKICAgICBjYXNlIDg6
Ci0gICAgICBjb2xvciA9IGZtdCA9PSBWUFhfSU1HX0ZNVF9JNDQ0ICAgPyAiQzQ0NFxuIgotICAg
ICAgICAgICAgICA6IGZtdCA9PSBWUFhfSU1HX0ZNVF9JNDIyID8gIkM0MjJcbiIKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJDNDIwanBlZ1xuIjsKKyAgICAgIGNv
bG9yID0gZm10ID09IFZQWF9JTUdfRk1UX0k0NDQKKyAgICAgICAgICAgICAgICAgID8gIkM0NDRc
biIKKyAgICAgICAgICAgICAgICAgIDogZm10ID09IFZQWF9JTUdfRk1UX0k0MjIgPyAiQzQyMlxu
IiA6ICJDNDIwanBlZ1xuIjsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgOToKLSAgICAgIGNvbG9y
ID0gZm10ID09IFZQWF9JTUdfRk1UX0k0NDQxNiAgID8gIkM0NDRwOSBYWVNDU1M9NDQ0UDlcbiIK
LSAgICAgICAgICAgICAgOiBmbXQgPT0gVlBYX0lNR19GTVRfSTQyMjE2ID8gIkM0MjJwOSBYWVND
U1M9NDIyUDlcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog
IkM0MjBwOSBYWVNDU1M9NDIwUDlcbiI7CisgICAgICBjb2xvciA9IGZtdCA9PSBWUFhfSU1HX0ZN
VF9JNDQ0MTYKKyAgICAgICAgICAgICAgICAgID8gIkM0NDRwOSBYWVNDU1M9NDQ0UDlcbiIKKyAg
ICAgICAgICAgICAgICAgIDogZm10ID09IFZQWF9JTUdfRk1UX0k0MjIxNiA/ICJDNDIycDkgWFlT
Q1NTPTQyMlA5XG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOiAiQzQyMHA5IFhZU0NTUz00MjBQOVxuIjsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgMTA6
Ci0gICAgICBjb2xvciA9IGZtdCA9PSBWUFhfSU1HX0ZNVF9JNDQ0MTYgICA/ICJDNDQ0cDEwIFhZ
U0NTUz00NDRQMTBcbiIKLSAgICAgICAgICAgICAgOiBmbXQgPT0gVlBYX0lNR19GTVRfSTQyMjE2
ID8gIkM0MjJwMTAgWFlTQ1NTPTQyMlAxMFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOiAiQzQyMHAxMCBYWVNDU1M9NDIwUDEwXG4iOworICAgICAgY29sb3Ig
PSBmbXQgPT0gVlBYX0lNR19GTVRfSTQ0NDE2CisgICAgICAgICAgICAgICAgICA/ICJDNDQ0cDEw
IFhZU0NTUz00NDRQMTBcbiIKKyAgICAgICAgICAgICAgICAgIDogZm10ID09IFZQWF9JTUdfRk1U
X0k0MjIxNiA/ICJDNDIycDEwIFhZU0NTUz00MjJQMTBcbiIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJDNDIwcDEwIFhZU0NTUz00MjBQMTBcbiI7CiAg
ICAgICBicmVhazsKICAgICBjYXNlIDEyOgotICAgICAgY29sb3IgPSBmbXQgPT0gVlBYX0lNR19G
TVRfSTQ0NDE2ICAgPyAiQzQ0NHAxMiBYWVNDU1M9NDQ0UDEyXG4iCi0gICAgICAgICAgICAgIDog
Zm10ID09IFZQWF9JTUdfRk1UX0k0MjIxNiA/ICJDNDIycDEyIFhZU0NTUz00MjJQMTJcbiIKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIkM0MjBwMTIgWFlTQ1NT
PTQyMFAxMlxuIjsKKyAgICAgIGNvbG9yID0gZm10ID09IFZQWF9JTUdfRk1UX0k0NDQxNgorICAg
ICAgICAgICAgICAgICAgPyAiQzQ0NHAxMiBYWVNDU1M9NDQ0UDEyXG4iCisgICAgICAgICAgICAg
ICAgICA6IGZtdCA9PSBWUFhfSU1HX0ZNVF9JNDIyMTYgPyAiQzQyMnAxMiBYWVNDU1M9NDIyUDEy
XG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiQzQy
MHAxMiBYWVNDU1M9NDIwUDEyXG4iOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAxNDoKLSAgICAg
IGNvbG9yID0gZm10ID09IFZQWF9JTUdfRk1UX0k0NDQxNiAgID8gIkM0NDRwMTQgWFlTQ1NTPTQ0
NFAxNFxuIgotICAgICAgICAgICAgICA6IGZtdCA9PSBWUFhfSU1HX0ZNVF9JNDIyMTYgPyAiQzQy
MnAxNCBYWVNDU1M9NDIyUDE0XG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6ICJDNDIwcDE0IFhZU0NTUz00MjBQMTRcbiI7CisgICAgICBjb2xvciA9IGZtdCA9
PSBWUFhfSU1HX0ZNVF9JNDQ0MTYKKyAgICAgICAgICAgICAgICAgID8gIkM0NDRwMTQgWFlTQ1NT
PTQ0NFAxNFxuIgorICAgICAgICAgICAgICAgICAgOiBmbXQgPT0gVlBYX0lNR19GTVRfSTQyMjE2
ID8gIkM0MjJwMTQgWFlTQ1NTPTQyMlAxNFxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDogIkM0MjBwMTQgWFlTQ1NTPTQyMFAxNFxuIjsKICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgMTY6Ci0gICAgICBjb2xvciA9IGZtdCA9PSBWUFhfSU1HX0ZNVF9JNDQ0
MTYgICA/ICJDNDQ0cDE2IFhZU0NTUz00NDRQMTZcbiIKLSAgICAgICAgICAgICAgOiBmbXQgPT0g
VlBYX0lNR19GTVRfSTQyMjE2ID8gIkM0MjJwMTYgWFlTQ1NTPTQyMlAxNlxuIgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiQzQyMHAxNiBYWVNDU1M9NDIwUDE2
XG4iOworICAgICAgY29sb3IgPSBmbXQgPT0gVlBYX0lNR19GTVRfSTQ0NDE2CisgICAgICAgICAg
ICAgICAgICA/ICJDNDQ0cDE2IFhZU0NTUz00NDRQMTZcbiIKKyAgICAgICAgICAgICAgICAgIDog
Zm10ID09IFZQWF9JTUdfRk1UX0k0MjIxNiA/ICJDNDIycDE2IFhZU0NTUz00MjJQMTZcbiIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJDNDIwcDE2IFhZ
U0NTUz00MjBQMTZcbiI7CiAgICAgICBicmVhazsKICAgICBkZWZhdWx0OiBjb2xvciA9IE5VTEw7
IGFzc2VydCgwKTsKICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC95NG1pbnB1dC5jIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl
L2xpYnZweC95NG1pbnB1dC5jCmluZGV4IDIxMGNlNTJmY2UwYy4uZjkyM2VkYTM0YWVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
YnZweC9zb3VyY2UvbGlidnB4L3k0bWlucHV0LmMKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC95NG1pbnB1dC5j
CkBAIC0yMSwxMyArMjEsMTIgQEAKIC8vIFJlYWRzICdzaXplJyBieXRlcyBmcm9tICdmaWxlJyBp
bnRvICdidWYnIHdpdGggc29tZSBmYXVsdCB0b2xlcmFuY2UuCiAvLyBSZXR1cm5zIHRydWUgb24g
c3VjY2Vzcy4KIHN0YXRpYyBpbnQgZmlsZV9yZWFkKHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUsIEZJ
TEUgKmZpbGUpIHsKLSAgY29uc3QgaW50IGtNYXhUcmllcyA9IDU7Ci0gIGludCB0cnlfY291bnQg
PSAwOwotICBpbnQgZmlsZV9lcnJvciA9IDA7CisgIGNvbnN0IGludCBrTWF4UmV0cmllcyA9IDU7
CisgIGludCByZXRyeV9jb3VudCA9IDA7CisgIGludCBmaWxlX2Vycm9yOwogICBzaXplX3QgbGVu
ID0gMDsKLSAgd2hpbGUgKCFmZW9mKGZpbGUpICYmIGxlbiA8IHNpemUgJiYgdHJ5X2NvdW50IDwg
a01heFRyaWVzKSB7CisgIGRvIHsKICAgICBjb25zdCBzaXplX3QgbiA9IGZyZWFkKCh1aW50OF90
ICopYnVmICsgbGVuLCAxLCBzaXplIC0gbGVuLCBmaWxlKTsKLSAgICArK3RyeV9jb3VudDsKICAg
ICBsZW4gKz0gbjsKICAgICBmaWxlX2Vycm9yID0gZmVycm9yKGZpbGUpOwogICAgIGlmIChmaWxl
X2Vycm9yKSB7CkBAIC00MCwxMyArMzksMTMgQEAgc3RhdGljIGludCBmaWxlX3JlYWQodm9pZCAq
YnVmLCBzaXplX3Qgc2l6ZSwgRklMRSAqZmlsZSkgewogICAgICAgICByZXR1cm4gMDsKICAgICAg
IH0KICAgICB9Ci0gIH0KKyAgfSB3aGlsZSAoIWZlb2YoZmlsZSkgJiYgbGVuIDwgc2l6ZSAmJiAr
K3JldHJ5X2NvdW50IDwga01heFJldHJpZXMpOwogCiAgIGlmICghZmVvZihmaWxlKSAmJiBsZW4g
IT0gc2l6ZSkgewogICAgIGZwcmludGYoc3RkZXJyLAogICAgICAgICAgICAgIkVycm9yIHJlYWRp
bmcgZmlsZTogJXUgb2YgJXUgYnl0ZXMgcmVhZCwiCi0gICAgICAgICAgICAiIGVycm9yOiAlZCwg
dHJpZXM6ICVkLCAlZDogJXNcbiIsCi0gICAgICAgICAgICAodWludDMyX3QpbGVuLCAodWludDMy
X3Qpc2l6ZSwgZmlsZV9lcnJvciwgdHJ5X2NvdW50LCBlcnJubywKKyAgICAgICAgICAgICIgZXJy
b3I6ICVkLCByZXRyaWVzOiAlZCwgJWQ6ICVzXG4iLAorICAgICAgICAgICAgKHVpbnQzMl90KWxl
biwgKHVpbnQzMl90KXNpemUsIGZpbGVfZXJyb3IsIHJldHJ5X2NvdW50LCBlcnJubywKICAgICAg
ICAgICAgIHN0cmVycm9yKGVycm5vKSk7CiAgIH0KICAgcmV0dXJuIGxlbiA9PSBzaXplOwpAQCAt
Mjg2LDYgKzI4NSwyNiBAQCBzdGF0aWMgdm9pZCB5NG1fNDJ4bXBlZzJfNDJ4anBlZ19oZWxwZXIo
dW5zaWduZWQgY2hhciAqX2RzdCwKICAgfQogfQogCisvKkhhbmRsZXMgYm90aCA0MjIgYW5kIDQy
MG1wZWcyIHRvIDQyMmpwZWcgYW5kIDQyMGpwZWcsIHJlc3BlY3RpdmVseS4qLworc3RhdGljIHZv
aWQgeTRtX2NvbnZlcnRfNDJ4bXBlZzJfNDJ4anBlZyh5NG1faW5wdXQgKl95NG0sIHVuc2lnbmVk
IGNoYXIgKl9kc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGNoYXIgKl9hdXgpIHsKKyAgaW50IGNfdzsKKyAgaW50IGNfaDsKKyAgaW50IGNfc3o7
CisgIGludCBwbGk7CisgIC8qU2tpcCBwYXN0IHRoZSBsdW1hIGRhdGEuKi8KKyAgX2RzdCArPSBf
eTRtLT5waWNfdyAqIF95NG0tPnBpY19oOworICAvKkNvbXB1dGUgdGhlIHNpemUgb2YgZWFjaCBj
aHJvbWEgcGxhbmUuKi8KKyAgY193ID0gKF95NG0tPnBpY193ICsgX3k0bS0+ZHN0X2NfZGVjX2gg
LSAxKSAvIF95NG0tPmRzdF9jX2RlY19oOworICBjX2ggPSAoX3k0bS0+cGljX2ggKyBfeTRtLT5k
c3RfY19kZWNfdiAtIDEpIC8gX3k0bS0+ZHN0X2NfZGVjX3Y7CisgIGNfc3ogPSBjX3cgKiBjX2g7
CisgIGZvciAocGxpID0gMTsgcGxpIDwgMzsgcGxpKyspIHsKKyAgICB5NG1fNDJ4bXBlZzJfNDJ4
anBlZ19oZWxwZXIoX2RzdCwgX2F1eCwgY193LCBjX2gpOworICAgIF9kc3QgKz0gY19zejsKKyAg
ICBfYXV4ICs9IGNfc3o7CisgIH0KK30KKwogLypUaGlzIGZvcm1hdCBpcyBvbmx5IHVzZWQgZm9y
IGludGVybGFjZWQgY29udGVudCwgYnV0IGlzIGluY2x1ZGVkIGZvcgogICAgY29tcGxldGVuZXNz
LgogCkBAIC04NzAsOCArODg5LDcgQEAgaW50IHk0bV9pbnB1dF9vcGVuKHk0bV9pbnB1dCAqeTRt
X2N0eCwgRklMRSAqZmlsZSwgY2hhciAqc2tpcF9idWZmZXIsCiAgIHk0bV9jdHgtPmF1eF9idWYg
PSBOVUxMOwogICB5NG1fY3R4LT5kc3RfYnVmID0gTlVMTDsKICAgaWYgKHN0cmNtcCh5NG1fY3R4
LT5jaHJvbWFfdHlwZSwgIjQyMCIpID09IDAgfHwKLSAgICAgIHN0cmNtcCh5NG1fY3R4LT5jaHJv
bWFfdHlwZSwgIjQyMGpwZWciKSA9PSAwIHx8Ci0gICAgICBzdHJjbXAoeTRtX2N0eC0+Y2hyb21h
X3R5cGUsICI0MjBtcGVnMiIpID09IDApIHsKKyAgICAgIHN0cmNtcCh5NG1fY3R4LT5jaHJvbWFf
dHlwZSwgIjQyMGpwZWciKSA9PSAwKSB7CiAgICAgeTRtX2N0eC0+c3JjX2NfZGVjX2ggPSB5NG1f
Y3R4LT5kc3RfY19kZWNfaCA9IHk0bV9jdHgtPnNyY19jX2RlY192ID0KICAgICAgICAgeTRtX2N0
eC0+ZHN0X2NfZGVjX3YgPSAyOwogICAgIHk0bV9jdHgtPmRzdF9idWZfcmVhZF9zeiA9CkBAIC05
MTYsNiArOTM0LDE0IEBAIGludCB5NG1faW5wdXRfb3Blbih5NG1faW5wdXQgKnk0bV9jdHgsIEZJ
TEUgKmZpbGUsIGNoYXIgKnNraXBfYnVmZmVyLAogICAgICAgZnByaW50ZihzdGRlcnIsICJVbnN1
cHBvcnRlZCBjb252ZXJzaW9uIGZyb20gNDIwcDEyIHRvIDQyMGpwZWdcbiIpOwogICAgICAgcmV0
dXJuIC0xOwogICAgIH0KKyAgfSBlbHNlIGlmIChzdHJjbXAoeTRtX2N0eC0+Y2hyb21hX3R5cGUs
ICI0MjBtcGVnMiIpID09IDApIHsKKyAgICB5NG1fY3R4LT5zcmNfY19kZWNfaCA9IHk0bV9jdHgt
PmRzdF9jX2RlY19oID0geTRtX2N0eC0+c3JjX2NfZGVjX3YgPQorICAgICAgICB5NG1fY3R4LT5k
c3RfY19kZWNfdiA9IDI7CisgICAgeTRtX2N0eC0+ZHN0X2J1Zl9yZWFkX3N6ID0geTRtX2N0eC0+
cGljX3cgKiB5NG1fY3R4LT5waWNfaDsKKyAgICAvKkNocm9tYSBmaWx0ZXIgcmVxdWlyZWQ6IHJl
YWQgaW50byB0aGUgYXV4IGJ1ZiBmaXJzdC4qLworICAgIHk0bV9jdHgtPmF1eF9idWZfc3ogPSB5
NG1fY3R4LT5hdXhfYnVmX3JlYWRfc3ogPQorICAgICAgICAyICogKCh5NG1fY3R4LT5waWNfdyAr
IDEpIC8gMikgKiAoKHk0bV9jdHgtPnBpY19oICsgMSkgLyAyKTsKKyAgICB5NG1fY3R4LT5jb252
ZXJ0ID0geTRtX2NvbnZlcnRfNDJ4bXBlZzJfNDJ4anBlZzsKICAgfSBlbHNlIGlmIChzdHJjbXAo
eTRtX2N0eC0+Y2hyb21hX3R5cGUsICI0MjBwYWxkdiIpID09IDApIHsKICAgICB5NG1fY3R4LT5z
cmNfY19kZWNfaCA9IHk0bV9jdHgtPmRzdF9jX2RlY19oID0geTRtX2N0eC0+c3JjX2NfZGVjX3Yg
PQogICAgICAgICB5NG1fY3R4LT5kc3RfY19kZWNfdiA9IDI7CkBAIC0xMDg4LDE1ICsxMTE0LDkg
QEAgaW50IHk0bV9pbnB1dF9vcGVuKHk0bV9pbnB1dCAqeTRtX2N0eCwgRklMRSAqZmlsZSwgY2hh
ciAqc2tpcF9idWZmZXIsCiAgICAgeTRtX2N0eC0+ZHN0X2J1ZiA9ICh1bnNpZ25lZCBjaGFyICop
bWFsbG9jKHk0bV9jdHgtPmRzdF9idWZfc3opOwogICBlbHNlCiAgICAgeTRtX2N0eC0+ZHN0X2J1
ZiA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9jKDIgKiB5NG1fY3R4LT5kc3RfYnVmX3N6KTsKLSAg
aWYgKCF5NG1fY3R4LT5kc3RfYnVmKSByZXR1cm4gLTE7CiAKLSAgaWYgKHk0bV9jdHgtPmF1eF9i
dWZfc3ogPiAwKSB7CisgIGlmICh5NG1fY3R4LT5hdXhfYnVmX3N6ID4gMCkKICAgICB5NG1fY3R4
LT5hdXhfYnVmID0gKHVuc2lnbmVkIGNoYXIgKiltYWxsb2MoeTRtX2N0eC0+YXV4X2J1Zl9zeik7
Ci0gICAgaWYgKCF5NG1fY3R4LT5hdXhfYnVmKSB7Ci0gICAgICBmcmVlKHk0bV9jdHgtPmRzdF9i
dWYpOwotICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgfQogICByZXR1cm4gMDsKIH0KIApAQCAt
MTE0OCw3ICsxMTY4LDYgQEAgaW50IHk0bV9pbnB1dF9mZXRjaF9mcmFtZSh5NG1faW5wdXQgKl95
NG0sIEZJTEUgKl9maW4sIHZweF9pbWFnZV90ICpfaW1nKSB7CiAgIF9pbWctPmZtdCA9IF95NG0t
PnZweF9mbXQ7CiAgIF9pbWctPncgPSBfaW1nLT5kX3cgPSBfeTRtLT5waWNfdzsKICAgX2ltZy0+
aCA9IF9pbWctPmRfaCA9IF95NG0tPnBpY19oOwotICBfaW1nLT5iaXRfZGVwdGggPSBfeTRtLT5i
aXRfZGVwdGg7CiAgIF9pbWctPnhfY2hyb21hX3NoaWZ0ID0gX3k0bS0+ZHN0X2NfZGVjX2ggPj4g
MTsKICAgX2ltZy0+eV9jaHJvbWFfc2hpZnQgPSBfeTRtLT5kc3RfY19kZWNfdiA+PiAxOwogICBf
aW1nLT5icHMgPSBfeTRtLT5icHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZDRlNjY2NTAzMjJlLi41NTg3OGE2YmU1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9saWJ3ZWJydGMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTQ3Nyw3ICs0NzcsNiBAQAogCQk0MTBCQTEyMzI1NzBGNjBDMDAyRTJGOEEgLyogZGVw
cmVjYXRlZF9ydHBfc2VuZGVyX2VncmVzcy5jYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMEJBMTIxMjU3MEY2MEMwMDJFMkY4QSAvKiBkZXByZWNhdGVk
X3J0cF9zZW5kZXJfZWdyZXNzLmNjICovOyB9OwogCQk0MTBCQTEyNDI1NzBGNjBDMDAyRTJGOEEg
LyogZGVwcmVjYXRlZF9ydHBfc2VuZGVyX2VncmVzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQkExMjIyNTcwRjYwQzAwMkUyRjhBIC8qIGRlcHJl
Y2F0ZWRfcnRwX3NlbmRlcl9lZ3Jlc3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
dWJsaWMsICk7IH07IH07CiAJCTQxMEJBMTJEMjU3MEY2RTQwMDJFMkY4QSAvKiBsaWJhb21fYXYx
X2VuY29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMEJBMTJCMjU3MEY2RTMwMDJFMkY4QSAvKiBsaWJhb21fYXYxX2VuY29kZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07Ci0JCTQxMENCRkM3MkIyMEMz
RDEwMDAwNURBMiAvKiB2cDlfcXVhbnRpemVfc3NzZTMuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMENCRkM2MkIyMEMzRDAwMDAwNURBMiAvKiB2cDlf
cXVhbnRpemVfc3NzZTMuYyAqLzsgfTsKIAkJNDExMDlBQUUxRTVGQTE5MjAwQzA5NTVBIC8qIHZp
ZGVvX2ZyYW1lX2J1ZmZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDExMDlBQTcxRTVGQTE5MjAwQzA5NTVBIC8qIHZpZGVvX2ZyYW1lX2J1ZmZlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJNDExMDlB
QjAxRTVGQTE5MjAwQzA5NTVBIC8qIGJpdHJhdGVfYWRqdXN0ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTA5QUE5MUU1RkExOTIwMEMwOTU1QSAv
KiBiaXRyYXRlX2FkanVzdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGlj
LCApOyB9OyB9OwogCQk0MTE5Mjc1RTJBMzc1QUNDMDA3QzA5RjYgLyogYV9zdHJleC5jIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExOTI3NUQyQTM3NUFD
QzAwN0MwOUY2IC8qIGFfc3RyZXguYyAqLzsgfTsKQEAgLTE3MDksMTUgKzE3MDgsMTggQEAKIAkJ
NDE0MDM3NkYyNEFBMzEyMTAwQkNFOUIyIC8qIHZwOV9paHRfbmVvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0MDM3NjgyNEFBMzEyMDAwQkNFOUIy
IC8qIHZwOV9paHRfbmVvbi5oICovOyB9OwogCQk0MTQwMzc3MDI0QUEzMTIxMDBCQ0U5QjIgLyog
dnA5X2lodDh4OF9hZGRfbmVvbi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE0MDM3NjkyNEFBMzEyMDAwQkNFOUIyIC8qIHZwOV9paHQ4eDhfYWRkX25l
b24uYyAqLzsgfTsKIAkJNDE0MDM3NzIyNEFBMzEyMTAwQkNFOUIyIC8qIHZwOV9paHQxNngxNl9h
ZGRfbmVvbi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE0MDM3NkIyNEFBMzEyMTAwQkNFOUIyIC8qIHZwOV9paHQxNngxNl9hZGRfbmVvbi5jICovOyB9
OworCQk0MTQwMzc4NDI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X3F1YW50aXplX3Nzc2UzX3g4Nl82
NC5hc20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQw
Mzc3NjI0QUEzMkQ5MDBCQ0U5QjIgLyogdnA5X3F1YW50aXplX3Nzc2UzX3g4Nl82NC5hc20gKi87
IH07CiAJCTQxNDAzNzg1MjRBQTMyREMwMEJDRTlCMiAvKiB0ZW1wb3JhbF9maWx0ZXJfc3NlNC5j
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0MDM3Nzcy
NEFBMzJEOTAwQkNFOUIyIC8qIHRlbXBvcmFsX2ZpbHRlcl9zc2U0LmMgKi87IH07CiAJCTQxNDAz
Nzg2MjRBQTMyREMwMEJDRTlCMiAvKiB2cDlfZnJhbWVfc2NhbGVfc3NzZTMuYyBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDAzNzc4MjRBQTMyRDkwMEJD
RTlCMiAvKiB2cDlfZnJhbWVfc2NhbGVfc3NzZTMuYyAqLzsgfTsKIAkJNDE0MDM3ODcyNEFBMzJE
QzAwQkNFOUIyIC8qIHZwOV9oaWdoYmRfYmxvY2tfZXJyb3JfaW50cmluX3NzZTIuYyBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDAzNzc5MjRBQTMyREEw
MEJDRTlCMiAvKiB2cDlfaGlnaGJkX2Jsb2NrX2Vycm9yX2ludHJpbl9zc2UyLmMgKi87IH07CiAJ
CTQxNDAzNzg4MjRBQTMyREMwMEJDRTlCMiAvKiBoaWdoYmRfdGVtcG9yYWxfZmlsdGVyX3NzZTQu
YyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDAzNzdB
MjRBQTMyREEwMEJDRTlCMiAvKiBoaWdoYmRfdGVtcG9yYWxfZmlsdGVyX3NzZTQuYyAqLzsgfTsK
IAkJNDE0MDM3ODkyNEFBMzJEQzAwQkNFOUIyIC8qIHZwOV9kZW5vaXNlcl9zc2UyLmMgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQwMzc3QjI0QUEzMkRB
MDBCQ0U5QjIgLyogdnA5X2Rlbm9pc2VyX3NzZTIuYyAqLzsgfTsKKwkJNDE0MDM3OEEyNEFBMzJE
QzAwQkNFOUIyIC8qIHRlbXBvcmFsX2ZpbHRlcl9jb25zdGFudHMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDAzNzdDMjRBQTMyREIwMEJDRTlCMiAv
KiB0ZW1wb3JhbF9maWx0ZXJfY29uc3RhbnRzLmggKi87IH07CiAJCTQxNDAzNzhCMjRBQTMyREMw
MEJDRTlCMiAvKiB2cDlfZXJyb3Jfc3NlMi5hc20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQwMzc3RDI0QUEzMkRCMDBCQ0U5QjIgLyogdnA5X2Vycm9y
X3NzZTIuYXNtICovOyB9OwogCQk0MTQwMzc4QzI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2RjdF9p
bnRyaW5fc3NlMi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE0MDM3N0UyNEFBMzJEQjAwQkNFOUIyIC8qIHZwOV9kY3RfaW50cmluX3NzZTIuYyAqLzsg
fTsKIAkJNDE0MDM3OEQyNEFBMzJEQzAwQkNFOUIyIC8qIHZwOV9xdWFudGl6ZV9zc2UyLmMgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQwMzc3RjI0QUEz
MkRCMDBCQ0U5QjIgLyogdnA5X3F1YW50aXplX3NzZTIuYyAqLzsgfTsKIAkJNDE0MDM3OEUyNEFB
MzJEQzAwQkNFOUIyIC8qIHZwOV9kY3Rfc3NlMi5hc20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQwMzc4MDI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2Rj
dF9zc2UyLmFzbSAqLzsgfTsKKwkJNDE0MDM3OEYyNEFBMzJEQzAwQkNFOUIyIC8qIHZwOV9kaWFt
b25kX3NlYXJjaF9zYWRfYXZ4LmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTQwMzc4MTI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2RpYW1vbmRfc2VhcmNo
X3NhZF9hdnguYyAqLzsgfTsKIAkJNDE0MDM3OUYyNEFCMkZCNTAwQkNFOUIyIC8qIGV0aHJlYWRp
bmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDAz
NzkwMjRBQjJGQjIwMEJDRTlCMiAvKiBldGhyZWFkaW5nLmggKi87IH07CiAJCTQxNDAzN0EwMjRB
QjJGQjUwMEJDRTlCMiAvKiBxdWFudGl6ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE0MDM3OTEyNEFCMkZCMjAwQkNFOUIyIC8qIHF1YW50aXplLmgg
Ki87IH07CiAJCTQxNDAzN0ExMjRBQjJGQjUwMEJDRTlCMiAvKiBzZWdtZW50YXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDAzNzkyMjRBQjJG
QjIwMEJDRTlCMiAvKiBzZWdtZW50YXRpb24uaCAqLzsgfTsKQEAgLTI0NTgsNTEgKzI0NjAsNiBA
QAogCQk0MUFCMzMxNTJCMUY4RDc3MDBDRUM3QUUgLyogY29tcG91bmRfY29udm9sdmVfbmVvbl9k
b3Rwcm9kLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MUQwMTIwMDJCMURFNjI2MDBCMDUzODggLyogY29tcG91bmRfY29udm9sdmVfbmVvbl9kb3Rwcm9k
LmMgKi87IH07CiAJCTQxQUIzMzE2MkIxRjhENzcwMENFQzdBRSAvKiB2YXJpYW5jZV9uZW9uX2Rv
dHByb2QuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
RDAxMUJCMkIxREU1OTEwMEIwNTM4OCAvKiB2YXJpYW5jZV9uZW9uX2RvdHByb2QuYyAqLzsgfTsK
IAkJNDFBQjMzMTcyQjFGOEQ3NzAwQ0VDN0FFIC8qIHNhZHhkX25lb25fZG90cHJvZC5jIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDExQ0EyQjFERTU5
NjAwQjA1Mzg4IC8qIHNhZHhkX25lb25fZG90cHJvZC5jICovOyB9OwotCQk0MUFCMzJBNjJCMUY2
QTA4MDBDRUM3QUUgLyogdnA5X2hpZ2hiZF90ZW1wb3JhbF9maWx0ZXJfbmVvbi5jIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyQTEyQjFGNkEwNzAw
Q0VDN0FFIC8qIHZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX25lb24uYyAqLzsgfTsKLQkJNDFB
QjMyQTcyQjFGNkEwODAwQ0VDN0FFIC8qIHZwOV9kY3RfbmVvbi5jIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyQTIyQjFGNkEwNzAwQ0VDN0FFIC8q
IHZwOV9kY3RfbmVvbi5jICovOyB9OwotCQk0MUFCMzJBODJCMUY2QTA4MDBDRUM3QUUgLyogdnA5
X2hpZ2hiZF9lcnJvcl9uZW9uLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUFCMzJBMzJCMUY2QTA4MDBDRUM3QUUgLyogdnA5X2hpZ2hiZF9lcnJvcl9u
ZW9uLmMgKi87IH07Ci0JCTQxQUIzMkE5MkIxRjZBMDgwMENFQzdBRSAvKiB2cDlfdGVtcG9yYWxf
ZmlsdGVyX25lb24uYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxQUIzMkE0MkIxRjZBMDgwMENFQzdBRSAvKiB2cDlfdGVtcG9yYWxfZmlsdGVyX25lb24u
YyAqLzsgfTsKLQkJNDFBQjMyQUEyQjFGNkEwODAwQ0VDN0FFIC8qIHZwOV9kaWFtb25kX3NlYXJj
aF9zYWRfbmVvbi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFBQjMyQTUyQjFGNkEwODAwQ0VDN0FFIC8qIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVv
bi5jICovOyB9OwotCQk0MUFCMzJCMDJCMUY2QkEwMDBDRUM3QUUgLyogdnA5X3RlbXBvcmFsX2Zp
bHRlcl9jb25zdGFudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxQUIzMkFCMkIxRjZCOUYwMENFQzdBRSAvKiB2cDlfdGVtcG9yYWxfZmlsdGVyX2Nv
bnN0YW50cy5oICovOyB9OwotCQk0MUFCMzJCMTJCMUY2QkEwMDBDRUM3QUUgLyogdnA5X3RwbF9t
b2RlbC5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFB
QjMyQUMyQjFGNkI5RjAwQ0VDN0FFIC8qIHZwOV90cGxfbW9kZWwuYyAqLzsgfTsKLQkJNDFBQjMy
QjIyQjFGNkJBMDAwQ0VDN0FFIC8qIHZwOV90cGxfbW9kZWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQUIzMkFEMkIxRjZCOUYwMENFQzdBRSAvKiB2
cDlfdHBsX21vZGVsLmggKi87IH07Ci0JCTQxQUIzMkIzMkIxRjZCQTAwMENFQzdBRSAvKiB2cDlf
Zmlyc3RwYXNzLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MUFCMzJBRTJCMUY2QkEwMDBDRUM3QUUgLyogdnA5X2ZpcnN0cGFzcy5jICovOyB9OwotCQk0
MUFCMzJCNDJCMUY2QkEwMDBDRUM3QUUgLyogdnA5X2ZpcnN0cGFzcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyQUYyQjFGNkJBMDAwQ0VDN0FF
IC8qIHZwOV9maXJzdHBhc3MuaCAqLzsgfTsKLQkJNDFBQjMyQzkyQjFGNkJFOTAwQ0VDN0FFIC8q
IGZkY3RfbmVvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFBQjMyQjUyQjFGNkJFNTAwQ0VDN0FFIC8qIGZkY3RfbmVvbi5oICovOyB9OwotCQk0MUFC
MzJDQTJCMUY2QkU5MDBDRUM3QUUgLyogZmRjdDR4NF9uZW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFCMzJCNjJCMUY2QkU1MDBDRUM3QUUgLyog
ZmRjdDR4NF9uZW9uLmggKi87IH07Ci0JCTQxQUIzMkNCMkIxRjZCRTkwMENFQzdBRSAvKiBmZGN0
MzJ4MzJfbmVvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFBQjMyQjcyQjFGNkJFNTAwQ0VDN0FFIC8qIGZkY3QzMngzMl9uZW9uLmggKi87IH07Ci0J
CTQxQUIzMkNDMkIxRjZCRTkwMENFQzdBRSAvKiBoaWdoYmRfc2FkNGRfbmVvbi5jIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyQjgyQjFGNkJFNTAw
Q0VDN0FFIC8qIGhpZ2hiZF9zYWQ0ZF9uZW9uLmMgKi87IH07Ci0JCTQxQUIzMkNEMkIxRjZCRTkw
MENFQzdBRSAvKiBoaWdoYmRfYXZnX25lb24uYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxQUIzMkI5MkIxRjZCRTYwMENFQzdBRSAvKiBoaWdoYmRfYXZn
X25lb24uYyAqLzsgfTsKLQkJNDFBQjMyQ0UyQjFGNkJFOTAwQ0VDN0FFIC8qIGZkY3Q4eDhfbmVv
bi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMy
QkEyQjFGNkJFNjAwQ0VDN0FFIC8qIGZkY3Q4eDhfbmVvbi5jICovOyB9OwotCQk0MUFCMzJDRjJC
MUY2QkU5MDBDRUM3QUUgLyogZmRjdDh4OF9uZW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFCMzJCQjJCMUY2QkU2MDBDRUM3QUUgLyogZmRjdDh4
OF9uZW9uLmggKi87IH07Ci0JCTQxQUIzMkQwMkIxRjZCRTkwMENFQzdBRSAvKiBoaWdoYmRfdmFy
aWFuY2VfbmVvbl9kb3Rwcm9kLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUFCMzJCQzJCMUY2QkU2MDBDRUM3QUUgLyogaGlnaGJkX3ZhcmlhbmNlX25l
b25fZG90cHJvZC5jICovOyB9OwotCQk0MUFCMzJEMTJCMUY2QkU5MDBDRUM3QUUgLyogaGlnaGJk
X3ZhcmlhbmNlX25lb24uYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxQUIzMkJEMkIxRjZCRTcwMENFQzdBRSAvKiBoaWdoYmRfdmFyaWFuY2VfbmVvbi5j
ICovOyB9OwotCQk0MUFCMzJEMjJCMUY2QkU5MDBDRUM3QUUgLyogaGlnaGJkX2F2Z19wcmVkX25l
b24uYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQUIz
MkJFMkIxRjZCRTcwMENFQzdBRSAvKiBoaWdoYmRfYXZnX3ByZWRfbmVvbi5jICovOyB9OwotCQk0
MUFCMzJEMzJCMUY2QkU5MDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlX25lb25fZG90cHJvZC5jIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyQkYyQjFG
NkJFNzAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZV9uZW9uX2RvdHByb2QuYyAqLzsgfTsKLQkJNDFB
QjMyRDQyQjFGNkJFOTAwQ0VDN0FFIC8qIGZkY3Q0eDRfbmVvbi5jIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyQzAyQjFGNkJFNzAwQ0VDN0FFIC8q
IGZkY3Q0eDRfbmVvbi5jICovOyB9OwotCQk0MUFCMzJENTJCMUY2QkU5MDBDRUM3QUUgLyogZmRj
dDE2eDE2X25lb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxQUIzMkMxMkIxRjZCRTgwMENFQzdBRSAvKiBmZGN0MTZ4MTZfbmVvbi5oICovOyB9Owot
CQk0MUFCMzJENjJCMUY2QkU5MDBDRUM3QUUgLyogaGlnaGJkX2hhZGFtYXJkX25lb24uYyBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQUIzMkMyMkIxRjZC
RTgwMENFQzdBRSAvKiBoaWdoYmRfaGFkYW1hcmRfbmVvbi5jICovOyB9OwotCQk0MUFCMzJENzJC
MUY2QkU5MDBDRUM3QUUgLyogc2FkNGRfbmVvbl9kb3Rwcm9kLmMgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFCMzJDMzJCMUY2QkU4MDBDRUM3QUUgLyog
c2FkNGRfbmVvbl9kb3Rwcm9kLmMgKi87IH07Ci0JCTQxQUIzMkQ4MkIxRjZCRTkwMENFQzdBRSAv
KiBzYWRfbmVvbl9kb3Rwcm9kLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUFCMzJDNDJCMUY2QkU4MDBDRUM3QUUgLyogc2FkX25lb25fZG90cHJvZC5j
ICovOyB9OwotCQk0MUFCMzJEOTJCMUY2QkU5MDBDRUM3QUUgLyogaGlnaGJkX3NhZF9uZW9uLmMg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFCMzJDNTJC
MUY2QkU5MDBDRUM3QUUgLyogaGlnaGJkX3NhZF9uZW9uLmMgKi87IH07Ci0JCTQxQUIzMkRBMkIx
RjZCRTkwMENFQzdBRSAvKiB2YXJpYW5jZV9uZW9uX2RvdHByb2QuYyBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQUIzMkM2MkIxRjZCRTkwMENFQzdBRSAv
KiB2YXJpYW5jZV9uZW9uX2RvdHByb2QuYyAqLzsgfTsKLQkJNDFBQjMyREIyQjFGNkJFOTAwQ0VD
N0FFIC8qIGhpZ2hiZF9xdWFudGl6ZV9uZW9uLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFCMzJDNzJCMUY2QkU5MDBDRUM3QUUgLyogaGlnaGJkX3F1
YW50aXplX25lb24uYyAqLzsgfTsKLQkJNDFBQjMyREMyQjFGNkJFOTAwQ0VDN0FFIC8qIGhpZ2hi
ZF9zdWJwZWxfdmFyaWFuY2VfbmVvbi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFBQjMyQzgyQjFGNkJFOTAwQ0VDN0FFIC8qIGhpZ2hiZF9zdWJwZWxf
dmFyaWFuY2VfbmVvbi5jICovOyB9OwotCQk0MUFCMzJERTJCMUY2QzUwMDBDRUM3QUUgLyogYWFy
Y2g2NF9jcHVkZXRlY3QuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxQUIzMkREMkIxRjZDNTAwMENFQzdBRSAvKiBhYXJjaDY0X2NwdWRldGVjdC5jICov
OyB9OwotCQk0MUFCMzJFMTJCMUY2Qzg4MDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9uZW9uX2Rv
dHByb2QuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
QUIzMkRGMkIxRjZDODgwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X25lb25fZG90cHJvZC5jICov
OyB9OwotCQk0MUFCMzJFMjJCMUY2Qzg4MDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9uZW9uX2Fz
bS5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMy
RTAyQjFGNkM4ODAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfbmVvbl9hc20uYyAqLzsgfTsKLQkJ
NDFBQjMyRUUyQjFGNkNENDAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfYXZnX2hvcml6X2ZpbHRl
cl90eXBlMl9uZW9uLmFzbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxQUIzMkUzMkIxRjZDRDAwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X2F2Z19ob3Jp
el9maWx0ZXJfdHlwZTJfbmVvbi5hc20gKi87IH07Ci0JCTQxQUIzMkVGMkIxRjZDRDQwMENFQzdB
RSAvKiB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2ZpbHRlcl90eXBlMV9uZW9uLmFzbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQUIzMkU0MkIxRjZDRDEw
MENFQzdBRSAvKiB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2ZpbHRlcl90eXBlMV9uZW9uLmFzbSAq
LzsgfTsKLQkJNDFBQjMyRjEyQjFGNkNENDAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfaG9yaXpf
ZmlsdGVyX3R5cGUxX25lb24uYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFBQjMyRTYyQjFGNkNEMTAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfaG9y
aXpfZmlsdGVyX3R5cGUxX25lb24uYXNtICovOyB9OwotCQk0MUFCMzJGMjJCMUY2Q0Q0MDBDRUM3
QUUgLyogdnB4X2NvbnZvbHZlOF9ob3Jpel9maWx0ZXJfdHlwZTJfbmVvbi5hc20gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFCMzJFNzJCMUY2Q0QxMDBD
RUM3QUUgLyogdnB4X2NvbnZvbHZlOF9ob3Jpel9maWx0ZXJfdHlwZTJfbmVvbi5hc20gKi87IH07
Ci0JCTQxQUIzMkYzMkIxRjZDRDQwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X25lb25fYXNtLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUFCMzJFODJC
MUY2Q0QyMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9uZW9uX2FzbS5oICovOyB9OwotCQk0MUFC
MzJGNTJCMUY2Q0Q0MDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF92ZXJ0X2ZpbHRlcl90eXBlMV9u
ZW9uLmFzbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
QUIzMkVBMkIxRjZDRDIwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X3ZlcnRfZmlsdGVyX3R5cGUx
X25lb24uYXNtICovOyB9OwotCQk0MUFCMzJGNjJCMUY2Q0Q0MDBDRUM3QUUgLyogdnB4X2NvbnZv
bHZlOF9hdmdfaG9yaXpfZmlsdGVyX3R5cGUxX25lb24uYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyRUIyQjFGNkNEMzAwQ0VDN0FFIC8qIHZw
eF9jb252b2x2ZThfYXZnX2hvcml6X2ZpbHRlcl90eXBlMV9uZW9uLmFzbSAqLzsgfTsKLQkJNDFB
QjMyRjcyQjFGNkNENDAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfdmVydF9maWx0ZXJfdHlwZTJf
bmVvbi5hc20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MUFCMzJFQzJCMUY2Q0QzMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF92ZXJ0X2ZpbHRlcl90eXBl
Ml9uZW9uLmFzbSAqLzsgfTsKLQkJNDFBQjMyRjgyQjFGNkNENDAwQ0VDN0FFIC8qIHZweF9jb252
b2x2ZThfYXZnX3ZlcnRfZmlsdGVyX3R5cGUyX25lb24uYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBQjMyRUQyQjFGNkNEMzAwQ0VDN0FFIC8qIHZw
eF9jb252b2x2ZThfYXZnX3ZlcnRfZmlsdGVyX3R5cGUyX25lb24uYXNtICovOyB9OwotCQk0MUFC
MzMyNDJCMjA2MUEwMDBDRUM3QUUgLyogdnB4X3N1YnBpeGVsXzh0X2ludHJpbl9zc3NlMy5jIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUUzQzkyMTJF
MkQ5MDAwRTIyNDgyIC8qIHZweF9zdWJwaXhlbF84dF9pbnRyaW5fc3NzZTMuYyAqLzsgfTsKLQkJ
NDFBQjMzMjUyQjIwNjFBMDAwQ0VDN0FFIC8qIHZweF9zdWJwaXhlbF9iaWxpbmVhcl9zc3NlMy5h
c20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM2Mjk3
NDIxMkUzNjU2MDAyMzEzRDQgLyogdnB4X3N1YnBpeGVsX2JpbGluZWFyX3Nzc2UzLmFzbSAqLzsg
fTsKLQkJNDFBQjMzMjYyQjIwNjFBMDAwQ0VDN0FFIC8qIHZweF9zdWJwaXhlbF84dF9zc3NlMy5h
c20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM2Mjk2
QjIxMkUzNjU0MDAyMzEzRDQgLyogdnB4X3N1YnBpeGVsXzh0X3Nzc2UzLmFzbSAqLzsgfTsKIAkJ
NDFCNjc1QjcyMTY1OTlBODAwNDBBNzVEIC8qIGhpZ2hiZF9pZGN0MTZ4MTZfYWRkX3NzZTIuYyBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQkFFM0NGMjEy
RTJEOTEwMEUyMjQ4MiAvKiBoaWdoYmRfaWRjdDE2eDE2X2FkZF9zc2UyLmMgKi87IH07CiAJCTQx
QjY3NUI5MjE2NTk5QTgwMDQwQTc1RCAvKiBoaWdoYmRfaWRjdDMyeDMyX2FkZF9zc2UyLmMgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM2MjkwRTIxMkUy
REUyMDAyMzEzRDQgLyogaGlnaGJkX2lkY3QzMngzMl9hZGRfc3NlMi5jICovOyB9OwogCQk0MUI2
NzVCQjIxNjU5OUE4MDA0MEE3NUQgLyogaGlnaGJkX2lkY3Q0eDRfYWRkX3NzZTIuYyBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzYyOTEwMjEyRTJERTMw
MDIzMTNENCAvKiBoaWdoYmRfaWRjdDR4NF9hZGRfc3NlMi5jICovOyB9OwpAQCAtMjgzNCw2ICsy
NzkxLDcgQEAKIAkJNDFDNjI4RkEyMTJFMkRCMDAwMjMxM0Q0IC8qIGF2Z19pbnRyaW5fc3NlMi5j
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUUzQ0My
MTJFMkQ5MTAwRTIyNDgyIC8qIGF2Z19pbnRyaW5fc3NlMi5jICovOyB9OwogCQk0MUM2MjhGQzIx
MkUyREIwMDAyMzEzRDQgLyogZndkX3R4Zm1fc3NlMi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUUzRDAyMTJFMkQ5MjAwRTIyNDgyIC8qIGZ3ZF90
eGZtX3NzZTIuYyAqLzsgfTsKIAkJNDFDNjI5MDcyMTJFMkRCMDAwMjMxM0Q0IC8qIGxvb3BmaWx0
ZXJfc3NlMi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDFCQUUzQ0EyMTJFMkQ5MDAwRTIyNDgyIC8qIGxvb3BmaWx0ZXJfc3NlMi5jICovOyB9OworCQk0
MUM2MjkwRDIxMkUyREIwMDAyMzEzRDQgLyogdnB4X3N1YnBpeGVsXzh0X2ludHJpbl9zc3NlMy5j
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUUzQzky
MTJFMkQ5MDAwRTIyNDgyIC8qIHZweF9zdWJwaXhlbF84dF9pbnRyaW5fc3NzZTMuYyAqLzsgfTsK
IAkJNDFDNjI5MUQyMTJFMkRFOTAwMjMxM0Q0IC8qIHF1YW50aXplX3NzZTIuYyBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzYyOTBGMjEyRTJERTMwMDIz
MTNENCAvKiBxdWFudGl6ZV9zc2UyLmMgKi87IH07CiAJCTQxQzYyOTFGMjEyRTJERTkwMDIzMTNE
NCAvKiBhdmdfcHJlZF9zc2UyLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUM2MjkxMTIxMkUyREU0MDAyMzEzRDQgLyogYXZnX3ByZWRfc3NlMi5jICov
OyB9OwogCQk0MUM2MjkyMjIxMkUyREU5MDAyMzEzRDQgLyogdmFyaWFuY2Vfc3NlMi5jIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNjI5MTQyMTJFMkRF
NTAwMjMxM0Q0IC8qIHZhcmlhbmNlX3NzZTIuYyAqLzsgfTsKQEAgLTI4ODQsNiArMjg0Miw3IEBA
CiAJCTQxQ0IwQTExMjE1QzhEOTQwMDk3QjhBQSAvKiB2cHhfY29uZmlnLmFzbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDVFQjlGMjEyRTAyQ0MwMDhD
MEMyMCAvKiB2cHhfY29uZmlnLmFzbSAqLzsgfTsKIAkJNDFDQjBBMjgyMTVDOERBQjAwOTdCOEFB
IC8qIGZ3ZF90eGZtX2ltcGxfc3NlMi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFDQjBBMTIyMTVDOERBNDAwOTdCOEFBIC8qIGZ3ZF90eGZtX2ltcGxf
c3NlMi5oICovOyB9OwogCQk0MUNCMEEyOTIxNUM4REFCMDA5N0I4QUEgLyogbWVtX3NzZTIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQ0IwQTEzMjE1
QzhEQTQwMDk3QjhBQSAvKiBtZW1fc3NlMi5oICovOyB9OworCQk0MUNCMEEyQTIxNUM4REFCMDA5
N0I4QUEgLyogc2FkX3NzZTMuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFDQjBBMTQyMTVDOERBNDAwOTdCOEFBIC8qIHNhZF9zc2UzLmFzbSAqLzsg
fTsKIAkJNDFDQjBBMkIyMTVDOERBQjAwOTdCOEFBIC8qIGJpdGRlcHRoX2NvbnZlcnNpb25fc3Nl
Mi5hc20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUNC
MEExNTIxNUM4REE0MDA5N0I4QUEgLyogYml0ZGVwdGhfY29udmVyc2lvbl9zc2UyLmFzbSAqLzsg
fTsKIAkJNDFDQjBBMkMyMTVDOERBQjAwOTdCOEFBIC8qIHR4Zm1fY29tbW9uX3NzZTIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQ0IwQTE2MjE1QzhE
QTUwMDk3QjhBQSAvKiB0eGZtX2NvbW1vbl9zc2UyLmggKi87IH07CiAJCTQxQ0IwQTJEMjE1QzhE
QUIwMDk3QjhBQSAvKiBhdmdfc3NzZTNfeDg2XzY0LmFzbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQ0IwQTE3MjE1QzhEQTUwMDk3QjhBQSAvKiBhdmdf
c3NzZTNfeDg2XzY0LmFzbSAqLzsgfTsKQEAgLTI5MTAsNiArMjg2OSw4IEBACiAJCTQxQ0IwQTQ2
MjE1QzhEQzkwMDk3QjhBQSAvKiBpbnRyYXByZWRfc3NzZTMuYXNtIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNjI5NkEyMTJFMzY1NDAwMjMxM0Q0IC8q
IGludHJhcHJlZF9zc3NlMy5hc20gKi87IH07CiAJCTQxQ0IwQTQ3MjE1QzhEQzkwMDk3QjhBQSAv
KiBpbnZfd2h0X3NzZTIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDFDNjI5NjAyMTJFMzY1MjAwMjMxM0Q0IC8qIGludl93aHRfc3NlMi5hc20gKi87
IH07CiAJCTQxQ0IwQTQ4MjE1QzhEQzkwMDk3QjhBQSAvKiBzYWRfc3NlMi5hc20gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM2Mjk2RTIxMkUzNjU1MDAy
MzEzRDQgLyogc2FkX3NzZTIuYXNtICovOyB9OworCQk0MUNCMEE0OTIxNUM4REM5MDA5N0I4QUEg
Lyogc2FkX3NzZTQuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFDNjI5NjgyMTJFMzY1NDAwMjMxM0Q0IC8qIHNhZF9zc2U0LmFzbSAqLzsgfTsKKwkJ
NDFDQjBBNEEyMTVDOERDOTAwOTdCOEFBIC8qIHNhZF9zc3NlMy5hc20gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM2Mjk1RTIxMkUzNjUyMDAyMzEzRDQg
Lyogc2FkX3Nzc2UzLmFzbSAqLzsgfTsKIAkJNDFDQjBBNEIyMTVDOERDOTAwOTdCOEFBIC8qIHNh
ZDRkX3NzZTIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFDNjI5NjkyMTJFMzY1NDAwMjMxM0Q0IC8qIHNhZDRkX3NzZTIuYXNtICovOyB9OwogCQk0
MUNCMEE0QzIxNUM4REM5MDA5N0I4QUEgLyogc3NpbV9vcHRfeDg2XzY0LmFzbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzYyOTVGMjEyRTM2NTIwMDIz
MTNENCAvKiBzc2ltX29wdF94ODZfNjQuYXNtICovOyB9OwogCQk0MUNCMEE0RDIxNUM4REM5MDA5
N0I4QUEgLyogc3VicGVsX3ZhcmlhbmNlX3NzZTIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNjI5NzMyMTJFMzY1NjAwMjMxM0Q0IC8qIHN1YnBl
bF92YXJpYW5jZV9zc2UyLmFzbSAqLzsgfTsKQEAgLTI5MTcsNyArMjg3OCw5IEBACiAJCTQxQ0Iw
QTRGMjE1QzhEQzkwMDk3QjhBQSAvKiB2cHhfY29udm9sdmVfY29weV9zc2UyLmFzbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzYyOTYyMjEyRTM2NTIw
MDIzMTNENCAvKiB2cHhfY29udm9sdmVfY29weV9zc2UyLmFzbSAqLzsgfTsKIAkJNDFDQjBBNTAy
MTVDOERDOTAwOTdCOEFBIC8qIHZweF9oaWdoX3N1YnBpeGVsXzh0X3NzZTIuYXNtIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNjI5NjUyMTJFMzY1MzAw
MjMxM0Q0IC8qIHZweF9oaWdoX3N1YnBpeGVsXzh0X3NzZTIuYXNtICovOyB9OwogCQk0MUNCMEE1
MTIxNUM4REM5MDA5N0I4QUEgLyogdnB4X3N1YnBpeGVsXzh0X3NzZTIuYXNtIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNjI5NzEyMTJFMzY1NjAwMjMx
M0Q0IC8qIHZweF9zdWJwaXhlbF84dF9zc2UyLmFzbSAqLzsgfTsKKwkJNDFDQjBBNTIyMTVDOERD
OTAwOTdCOEFBIC8qIHZweF9zdWJwaXhlbF84dF9zc3NlMy5hc20gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM2Mjk2QjIxMkUzNjU0MDAyMzEzRDQgLyog
dnB4X3N1YnBpeGVsXzh0X3Nzc2UzLmFzbSAqLzsgfTsKIAkJNDFDQjBBNTMyMTVDOERDOTAwOTdC
OEFBIC8qIHZweF9zdWJwaXhlbF9iaWxpbmVhcl9zc2UyLmFzbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzYyOTZGMjEyRTM2NTUwMDIzMTNENCAvKiB2
cHhfc3VicGl4ZWxfYmlsaW5lYXJfc3NlMi5hc20gKi87IH07CisJCTQxQ0IwQTU0MjE1QzhEQzkw
MDk3QjhBQSAvKiB2cHhfc3VicGl4ZWxfYmlsaW5lYXJfc3NzZTMuYXNtIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNjI5NzQyMTJFMzY1NjAwMjMxM0Q0
IC8qIHZweF9zdWJwaXhlbF9iaWxpbmVhcl9zc3NlMy5hc20gKi87IH07CiAJCTQxQ0IwQTU5MjE1
QzkwNTAwMDk3QjhBQSAvKiBzdWJwaXhlbF9zc3NlMy5hc20gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUNCMEE1ODIxNUM5MDUwMDA5N0I4QUEgLyogc3Vi
cGl4ZWxfc3NzZTMuYXNtICovOyB9OwogCQk0MUNCMEE1QTIxNUM5MDc1MDA5N0I4QUEgLyogZGN0
X3NzZTIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE2NzMxREMyMTJFMDQ1RDAwMTI4MEVCIC8qIGRjdF9zc2UyLmFzbSAqLzsgfTsKIAkJNDFDQjBB
NUMyMTVDOTA3NTAwOTdCOEFBIC8qIGZ3YWxzaF9zc2UyLmFzbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNjczMUUxMjEyRTA0NUUwMDEyODBFQiAvKiBm
d2Fsc2hfc3NlMi5hc20gKi87IH07CkBAIC0yOTMxLDYgKzI4OTQsNyBAQAogCQk0MUNCQUY5QjIx
MkUwMzkzMDBERTFFMUQgLyogdGhyZWFkaW5nLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTA1RUJCMzIxMkUwMzVDMDA4QzBDMjAgLyogdGhyZWFkaW5n
LmMgKi87IH07CiAJCTQxQ0JBRjlDMjEyRTAzOTMwMERFMUUxRCAvKiB0cmVlcmVhZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTA1RUJCNjIxMkUw
MzVEMDA4QzBDMjAgLyogdHJlZXJlYWRlci5oICovOyB9OwogCQk0MUNEQzY2RDI4RjZGQzJDMDA2
MDNFNTkgLyogUlRDV3JhcHBlZE5hdGl2ZVZpZGVvRGVjb2Rlci5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzk1NDAzMjE2OTg1MjAwMDI4MjY2QiAv
KiBSVENXcmFwcGVkTmF0aXZlVmlkZW9EZWNvZGVyLm1tICovOyB9OworCQk0MUQwMTE1ODJCMTYz
OUQ3MDBCMDUzODggLyogdnA5X3RlbXBvcmFsX2ZpbHRlci5jIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0MDM2M0MyNEFBMzBBMDAwQkNFOUIyIC8qIHZw
OV90ZW1wb3JhbF9maWx0ZXIuYyAqLzsgfTsKIAkJNDFEMDExODIyQjFEREU4RjAwQjA1Mzg4IC8q
IGtlY2Nhay5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDFEMDExODEyQjFEREU4RjAwQjA1Mzg4IC8qIGtlY2Nhay5jICovOyB9OwogCQk0MUQwMTE4NDJC
MURERUNBMDBCMDUzODggLyogaW9zLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUQwMTE4MzJCMURERUNBMDBCMDUzODggLyogaW9zLmMgKi87IH07CiAJ
CTQxRDAxMTg2MkIxRERGMDMwMEIwNTM4OCAvKiBnZXRlbnRyb3B5LmMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTE4NTJCMURERjAzMDBCMDUzODgg
LyogZ2V0ZW50cm9weS5jICovOyB9OwpAQCAtMzExNiw5ICszMDgwLDExIEBACiAJCTQxRUVENzdD
MjE1MkVEOEUwMDBGMkExNiAvKiBhdmdfbmVvbi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5NDc4ODMyMTUyRUQ0MzAwMjc1MjU3IC8qIGF2Z19uZW9u
LmMgKi87IH07CiAJCTQxRUVENzdEMjE1MkVEOEUwMDBGMkExNiAvKiBhdmdfcHJlZF9uZW9uLmMg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTk0Nzg2RTIx
NTJFRDNEMDAyNzUyNTcgLyogYXZnX3ByZWRfbmVvbi5jICovOyB9OwogCQk0MUVFRDc3RTIxNTJF
RDhFMDAwRjJBMTYgLyogZGVibG9ja19uZW9uLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTk1M0MwNDIxNTJFRDYzMDAxMzY2MjUgLyogZGVibG9ja19u
ZW9uLmMgKi87IH07CisJCTQxRUVENzdGMjE1MkVEOEUwMDBGMkExNiAvKiBmZGN0X25lb24uYyBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTEwMEYwMjE1
MkVEMTgwMEE2RjE3QiAvKiBmZGN0X25lb24uYyAqLzsgfTsKIAkJNDFFRUQ3ODAyMTUyRUQ4RTAw
MEYyQTE2IC8qIGZkY3RfcGFydGlhbF9uZW9uLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTk0Nzg4MTIxNTJFRDQzMDAyNzUyNTcgLyogZmRjdF9wYXJ0
aWFsX25lb24uYyAqLzsgfTsKIAkJNDFFRUQ3ODEyMTUyRUQ4RTAwMEYyQTE2IC8qIGZkY3QxNngx
Nl9uZW9uLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTk0Nzg4QjIxNTJFRDQ2MDAyNzUyNTcgLyogZmRjdDE2eDE2X25lb24uYyAqLzsgfTsKIAkJNDFF
RUQ3ODIyMTUyRUQ4RTAwMEYyQTE2IC8qIGZkY3QzMngzMl9uZW9uLmMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTk0Nzg4MDIxNTJFRDQzMDAyNzUyNTcg
LyogZmRjdDMyeDMyX25lb24uYyAqLzsgfTsKKwkJNDFFRUQ3ODMyMTUyRUQ4RTAwMEYyQTE2IC8q
IGZ3ZF90eGZtX25lb24uYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxOTUzQzA2MjE1MkVENjMwMDEzNjYyNSAvKiBmd2RfdHhmbV9uZW9uLmMgKi87IH07
CiAJCTQxRUVENzg0MjE1MkVEOEUwMDBGMkExNiAvKiBoYWRhbWFyZF9uZW9uLmMgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTk0Nzg3NTIxNTJFRDQwMDAy
NzUyNTcgLyogaGFkYW1hcmRfbmVvbi5jICovOyB9OwogCQk0MUVFRDc5NDIxNTJFRDhFMDAwRjJB
MTYgLyogaWRjdF9uZW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTk1M0JGRjIxNTJFRDYxMDAxMzY2MjUgLyogaWRjdF9uZW9uLmggKi87IH07CiAJ
CTQxRUVENzk2MjE1MkVEOEUwMDBGMkExNiAvKiBpZGN0NHg0XzFfYWRkX25lb24uYyBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTEwMEVDMjE1MkVEMTcw
MEE2RjE3QiAvKiBpZGN0NHg0XzFfYWRkX25lb24uYyAqLzsgfTsKQEAgLTMxNDksNiArMzExNSw3
IEBACiAJCTQxRUVEN0I5MjE1MkVEOEUwMDBGMkExNiAvKiB2cHhfY29udm9sdmU4X25lb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTQ3ODZGMjE1
MkVEM0QwMDI3NTI1NyAvKiB2cHhfY29udm9sdmU4X25lb24uaCAqLzsgfTsKIAkJNDFFRUQ3QkEy
MTUyRUQ4RTAwMEYyQTE2IC8qIHZweF9zY2FsZWRfY29udm9sdmU4X25lb24uYyBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTEwMEY0MjE1MkVEMTkwMEE2
RjE3QiAvKiB2cHhfc2NhbGVkX2NvbnZvbHZlOF9uZW9uLmMgKi87IH07CiAJCTQxRUVEN0JEMjE1
MkVFQzkwMDBGMkExNiAvKiBhcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxRUVEN0JCMjE1MkVFQzgwMDBGMkExNiAvKiBhcm0uaCAqLzsgfTsKKwkJ
NDFFRUQ3QkUyMTUyRUVDOTAwMEYyQTE2IC8qIGFybV9jcHVkZXRlY3QuYyBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRUVEN0JDMjE1MkVFQzgwMDBGMkEx
NiAvKiBhcm1fY3B1ZGV0ZWN0LmMgKi87IH07CiAJCTQxRUVEN0JGMjE1MkYxRkIwMDBGMkExNiAv
KiBvbnl4X2lmLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTY3MzFBODIxMkUwNDI2MDAxMjgwRUIgLyogb255eF9pZi5jICovOyB9OwogCQk0MUYyNjM1
RjIxMjY3QURGMDAyNzRGNTkgLyogYnVpbHRpbl92aWRlb19kZWNvZGVyX2ZhY3RvcnkuY2MgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUREQjI3MzIxMjY3
QUMwMDAyOTZENDcgLyogYnVpbHRpbl92aWRlb19kZWNvZGVyX2ZhY3RvcnkuY2MgKi87IH07CiAJ
CTQxRjI2MzYwMjEyNjdBREYwMDI3NEY1OSAvKiBidWlsdGluX3ZpZGVvX2RlY29kZXJfZmFjdG9y
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEREIy
NzYyMTI2N0FDMTAwMjk2RDQ3IC8qIGJ1aWx0aW5fdmlkZW9fZGVjb2Rlcl9mYWN0b3J5LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwpAQCAtNjM0Nyw3ICs2
MzE0LDYgQEAKIAkJNDEwQkExMjYyNTcwRjZBNTAwMkUyRjhBIC8qIGxpYmFvbV9hdjFfZGVjb2Rl
cl9hYnNlbnQuY2MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBsaWJhb21f
YXYxX2RlY29kZXJfYWJzZW50LmNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBC
QTEyQjI1NzBGNkUzMDAyRTJGOEEgLyogbGliYW9tX2F2MV9lbmNvZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGxpYmFvbV9hdjFfZW5jb2Rlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTBCQTEyQzI1NzBGNkU0MDAyRTJGOEEgLyogbGliYW9tX2F2MV9l
bmNvZGVyX2Fic2VudC5jYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGxp
YmFvbV9hdjFfZW5jb2Rlcl9hYnNlbnQuY2M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxMENCRkM2MkIyMEMzRDAwMDAwNURBMiAvKiB2cDlfcXVhbnRpemVfc3NzZTMuYyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gdnA5X3F1YW50aXplX3Nzc2UzLmM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTA5QUE3MUU1RkExOTIwMEMwOTU1QSAvKiB2aWRlb19m
cmFtZV9idWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gdmlkZW9fZnJh
bWVfYnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTA5QUE5MUU1RkEx
OTIwMEMwOTU1QSAvKiBiaXRyYXRlX2FkanVzdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IGJpdHJhdGVfYWRqdXN0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDExNTIxRDMyMTY5ODIxRjAwMEFCQUY3IC8qIGhlbHBlcnMuY2MgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBoZWxwZXJzLmNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzYzMywxNSAr
NzU5OSwxOCBAQAogCQk0MTQwMzc2QjI0QUEzMTIxMDBCQ0U5QjIgLyogdnA5X2lodDE2eDE2X2Fk
ZF9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZwOV9paHQxNngxNl9h
ZGRfbmVvbi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQwMzc3NDI0QUEzMkQ4
MDBCQ0U5QjIgLyogdnA5X3F1YW50aXplX2F2eDIuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5j
OyBwYXRoID0gdnA5X3F1YW50aXplX2F2eDIuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDE0MDM3NzUyNEFBMzJEOTAwQkNFOUIyIC8qIHZwOV9lcnJvcl9hdngyLmMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZwOV9lcnJvcl9hdngyLmM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxNDAzNzc2MjRBQTMyRDkwMEJDRTlCMiAvKiB2cDlfcXVhbnRpemVf
c3NzZTNfeDg2XzY0LmFzbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYXNtLmFzbTsgcGF0aCA9IHZwOV9xdWFudGl6ZV9zc3NlM194
ODZfNjQuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQwMzc3NzI0QUEzMkQ5
MDBCQ0U5QjIgLyogdGVtcG9yYWxfZmlsdGVyX3NzZTQuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBwYXRoID0gdGVtcG9yYWxfZmlsdGVyX3NzZTQuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE0MDM3NzgyNEFBMzJEOTAwQkNFOUIyIC8qIHZwOV9mcmFtZV9zY2FsZV9zc3Nl
My5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSB2cDlfZnJhbWVfc2NhbGVfc3Nz
ZTMuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0MDM3NzkyNEFBMzJEQTAwQkNF
OUIyIC8qIHZwOV9oaWdoYmRfYmxvY2tfZXJyb3JfaW50cmluX3NzZTIuYyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5jOyBwYXRoID0gdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9pbnRyaW5fc3NlMi5j
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQwMzc3QTI0QUEzMkRBMDBCQ0U5QjIg
LyogaGlnaGJkX3RlbXBvcmFsX2ZpbHRlcl9zc2U0LmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
YzsgcGF0aCA9IGhpZ2hiZF90ZW1wb3JhbF9maWx0ZXJfc3NlNC5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTQwMzc3QjI0QUEzMkRBMDBCQ0U5QjIgLyogdnA5X2Rlbm9pc2VyX3Nz
ZTIuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gdnA5X2Rlbm9pc2VyX3NzZTIu
Yzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE0MDM3N0MyNEFBMzJEQjAwQkNFOUIy
IC8qIHRlbXBvcmFsX2ZpbHRlcl9jb25zdGFudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gdGVtcG9yYWxfZmlsdGVyX2NvbnN0YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTQwMzc3RDI0QUEzMkRCMDBCQ0U5QjIgLyogdnA5X2Vycm9yX3NzZTIuYXNt
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5hc20uYXNtOyBwYXRoID0gdnA5X2Vycm9yX3NzZTIuYXNtOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTQwMzc3RTI0QUEzMkRCMDBCQ0U5QjIgLyogdnA5X2RjdF9pbnRyaW5f
c3NlMi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSB2cDlfZGN0X2ludHJpbl9z
c2UyLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNDAzNzdGMjRBQTMyREIwMEJD
RTlCMiAvKiB2cDlfcXVhbnRpemVfc3NlMi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBh
dGggPSB2cDlfcXVhbnRpemVfc3NlMi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTQwMzc4MDI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2RjdF9zc2UyLmFzbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYXNtLmFzbTsg
cGF0aCA9IHZwOV9kY3Rfc3NlMi5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
NDAzNzgxMjRBQTMyREMwMEJDRTlCMiAvKiB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2F2eC5jICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX2F2
eC5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQwMzc5MDI0QUIyRkIyMDBCQ0U5
QjIgLyogZXRocmVhZGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBldGhy
ZWFkaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNDAzNzkxMjRBQjJGQjIw
MEJDRTlCMiAvKiBxdWFudGl6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBx
dWFudGl6ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQwMzc5MjI0QUIyRkIy
MDBCQ0U5QjIgLyogc2VnbWVudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IHNlZ21lbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODE4NCw2
ICs4MTUzLDcgQEAKIAkJNDE5MTAwRUQyMTUyRUQxNzAwQTZGMTdCIC8qIGlkY3Q4eDhfYWRkX25l
b24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5jOyBwYXRoID0gaWRjdDh4OF9hZGRfbmVvbi5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTkxMDBFRTIxNTJFRDE4MDBBNkYxN0IgLyogaWRjdF9uZW9uLmFzbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYXNtLmFzbTsgcGF0aCA9IGlkY3RfbmVvbi5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxOTEwMEVGMjE1MkVEMTgwMEE2RjE3QiAvKiB0cmFuc3Bvc2VfbmVvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSB0cmFuc3Bvc2VfbmVvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTkxMDBGMDIxNTJFRDE4MDBBNkYxN0IgLyogZmRjdF9uZW9uLmMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9
IGZkY3RfbmVvbi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTkxMDBGMTIxNTJF
RDE4MDBBNkYxN0IgLyogaGlnaGJkX2lkY3QzMngzMl8zNF9hZGRfbmVvbi5jICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBh
dGggPSBoaWdoYmRfaWRjdDMyeDMyXzM0X2FkZF9uZW9uLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxOTEwMEYyMjE1MkVEMTgwMEE2RjE3QiAvKiBpZGN0MTZ4MTZfMV9hZGRfbmVv
bi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmM7IHBhdGggPSBpZGN0MTZ4MTZfMV9hZGRfbmVvbi5jOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTkxMDBGMzIxNTJFRDE4MDBBNkYxN0IgLyogdnB4X2NvbnZvbHZl
OF9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZweF9jb252b2x2ZThfbmVvbi5jOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtODI3Nyw2ICs4MjQ3LDcgQEAKIAkJNDE5NTNDMDEyMTUyRUQ2
MjAwMTM2NjI1IC8qIGlkY3Q0eDRfMV9hZGRfbmVvbi5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IHBhdGggPSBp
ZGN0NHg0XzFfYWRkX25lb24uYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTk1
M0MwMjIxNTJFRDYyMDAxMzY2MjUgLyogc2FkX25lb24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gc2FkX25l
b24uYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5NTNDMDQyMTUyRUQ2MzAwMTM2
NjI1IC8qIGRlYmxvY2tfbmVvbi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBkZWJsb2NrX25lb24uYzsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE5NTNDMDYyMTUyRUQ2MzAwMTM2NjI1IC8qIGZ3
ZF90eGZtX25lb24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gZndkX3R4Zm1fbmVvbi5jOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTk1M0MwNzIxNTJFRDY0MDAxMzY2MjUgLyogaWRjdDh4OF8x
X2FkZF9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IGlkY3Q4eDhfMV9hZGRfbmVvbi5jOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTk1M0MwODIxNTJFRDY0MDAxMzY2MjUgLyogaGlnaGJk
X3ZweF9jb252b2x2ZV9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IGhpZ2hiZF92cHhfY29udm9sdmVf
bmVvbi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTk1M0MwOTIxNTJFRDY0MDAx
MzY2MjUgLyogcXVhbnRpemVfbmVvbi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBxdWFudGl6ZV9uZW9uLmM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NTIzLDQ5ICs4NDk0LDYgQEAKIAkJNDFB
MzkyMEYxRUZDNEFGRTAwQzQ1MTZBIC8qIHdpbmRvd3MuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBwYXRoID0gd2luZG93cy5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUEz
OTIxODFFRkM1QUI4MDBDNDUxNkEgLyogeDI1NTE5LWFzbS1hcm0uUyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYXNtOyBwYXRoID0gIngyNTUxOS1hc20tYXJtLlMiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MUFBODU3OTJCMUY1RjQ5MDA3NTZFRUIgLyogaGFzaF9hcm1fY3JjMzIuYyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gaGFzaF9hcm1fY3JjMzIuYzsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMyQTEyQjFGNkEwNzAwQ0VDN0FFIC8qIHZwOV9o
aWdoYmRfdGVtcG9yYWxfZmlsdGVyX25lb24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBw
YXRoID0gdnA5X2hpZ2hiZF90ZW1wb3JhbF9maWx0ZXJfbmVvbi5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk0MUFCMzJBMjJCMUY2QTA3MDBDRUM3QUUgLyogdnA5X2RjdF9uZW9uLmMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZwOV9kY3RfbmVvbi5jOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJBMzJCMUY2QTA4MDBDRUM3QUUgLyogdnA5X2hp
Z2hiZF9lcnJvcl9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZwOV9o
aWdoYmRfZXJyb3JfbmVvbi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJB
NDJCMUY2QTA4MDBDRUM3QUUgLyogdnA5X3RlbXBvcmFsX2ZpbHRlcl9uZW9uLmMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZwOV90ZW1wb3JhbF9maWx0ZXJfbmVvbi5jOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJBNTJCMUY2QTA4MDBDRUM3QUUgLyogdnA5
X2RpYW1vbmRfc2VhcmNoX3NhZF9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0
aCA9IHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfbmVvbi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk0MUFCMzJBQjJCMUY2QjlGMDBDRUM3QUUgLyogdnA5X3RlbXBvcmFsX2ZpbHRlcl9j
b25zdGFudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gdnA5X3RlbXBvcmFs
X2ZpbHRlcl9jb25zdGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMy
QUMyQjFGNkI5RjAwQ0VDN0FFIC8qIHZwOV90cGxfbW9kZWwuYyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5jOyBwYXRoID0gdnA5X3RwbF9tb2RlbC5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk0MUFCMzJBRDJCMUY2QjlGMDBDRUM3QUUgLyogdnA5X3RwbF9tb2RlbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSB2cDlfdHBsX21vZGVsLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTQxQUIzMkFFMkIxRjZCQTAwMENFQzdBRSAvKiB2cDlfZmlyc3RwYXNz
LmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZwOV9maXJzdHBhc3MuYzsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMyQUYyQjFGNkJBMDAwQ0VDN0FFIC8qIHZw
OV9maXJzdHBhc3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gdnA5X2ZpcnN0
cGFzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJCNTJCMUY2QkU1MDBD
RUM3QUUgLyogZmRjdF9uZW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGZk
Y3RfbmVvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJCNjJCMUY2QkU1
MDBDRUM3QUUgLyogZmRjdDR4NF9uZW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IGZkY3Q0eDRfbmVvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJC
NzJCMUY2QkU1MDBDRUM3QUUgLyogZmRjdDMyeDMyX25lb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gZmRjdDMyeDMyX25lb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJNDFBQjMyQjgyQjFGNkJFNTAwQ0VDN0FFIC8qIGhpZ2hiZF9zYWQ0ZF9uZW9uLmMgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IGhpZ2hiZF9zYWQ0ZF9uZW9uLmM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxQUIzMkI5MkIxRjZCRTYwMENFQzdBRSAvKiBoaWdo
YmRfYXZnX25lb24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gaGlnaGJkX2F2
Z19uZW9uLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxQUIzMkJBMkIxRjZCRTYw
MENFQzdBRSAvKiBmZGN0OHg4X25lb24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRo
ID0gZmRjdDh4OF9uZW9uLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxQUIzMkJC
MkIxRjZCRTYwMENFQzdBRSAvKiBmZGN0OHg4X25lb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gZmRjdDh4OF9uZW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxQUIzMkJDMkIxRjZCRTYwMENFQzdBRSAvKiBoaWdoYmRfdmFyaWFuY2VfbmVvbl9kb3Rwcm9k
LmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IGhpZ2hiZF92YXJpYW5jZV9uZW9u
X2RvdHByb2QuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMyQkQyQjFGNkJF
NzAwQ0VDN0FFIC8qIGhpZ2hiZF92YXJpYW5jZV9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuYzsgcGF0aCA9IGhpZ2hiZF92YXJpYW5jZV9uZW9uLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTQxQUIzMkJFMkIxRjZCRTcwMENFQzdBRSAvKiBoaWdoYmRfYXZnX3ByZWRfbmVv
bi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBoaWdoYmRfYXZnX3ByZWRfbmVv
bi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJCRjJCMUY2QkU3MDBDRUM3
QUUgLyogdnB4X2NvbnZvbHZlX25lb25fZG90cHJvZC5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
LmM7IHBhdGggPSB2cHhfY29udm9sdmVfbmVvbl9kb3Rwcm9kLmM7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTQxQUIzMkMwMkIxRjZCRTcwMENFQzdBRSAvKiBmZGN0NHg0X25lb24uYyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gZmRjdDR4NF9uZW9uLmM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxQUIzMkMxMkIxRjZCRTgwMENFQzdBRSAvKiBmZGN0MTZ4
MTZfbmVvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBmZGN0MTZ4MTZfbmVv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJDMjJCMUY2QkU4MDBDRUM3
QUUgLyogaGlnaGJkX2hhZGFtYXJkX25lb24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBw
YXRoID0gaGlnaGJkX2hhZGFtYXJkX25lb24uYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNDFBQjMyQzMyQjFGNkJFODAwQ0VDN0FFIC8qIHNhZDRkX25lb25fZG90cHJvZC5jICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBzYWQ0ZF9uZW9uX2RvdHByb2QuYzsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMyQzQyQjFGNkJFODAwQ0VDN0FFIC8qIHNhZF9u
ZW9uX2RvdHByb2QuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gc2FkX25lb25f
ZG90cHJvZC5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJDNTJCMUY2QkU5
MDBDRUM3QUUgLyogaGlnaGJkX3NhZF9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsg
cGF0aCA9IGhpZ2hiZF9zYWRfbmVvbi5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
MUFCMzJDNjJCMUY2QkU5MDBDRUM3QUUgLyogdmFyaWFuY2VfbmVvbl9kb3Rwcm9kLmMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZhcmlhbmNlX25lb25fZG90cHJvZC5jOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJDNzJCMUY2QkU5MDBDRUM3QUUgLyogaGln
aGJkX3F1YW50aXplX25lb24uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gaGln
aGJkX3F1YW50aXplX25lb24uYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMy
QzgyQjFGNkJFOTAwQ0VDN0FFIC8qIGhpZ2hiZF9zdWJwZWxfdmFyaWFuY2VfbmVvbi5jICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBoaWdoYmRfc3VicGVsX3ZhcmlhbmNlX25lb24u
Yzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMyREQyQjFGNkM1MDAwQ0VDN0FF
IC8qIGFhcmNoNjRfY3B1ZGV0ZWN0LmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9
IGFhcmNoNjRfY3B1ZGV0ZWN0LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxQUIz
MkRGMkIxRjZDODgwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X25lb25fZG90cHJvZC5jICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSB2cHhfY29udm9sdmU4X25lb25fZG90cHJvZC5j
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJFMDJCMUY2Qzg4MDBDRUM3QUUg
LyogdnB4X2NvbnZvbHZlOF9uZW9uX2FzbS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBh
dGggPSB2cHhfY29udm9sdmU4X25lb25fYXNtLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTQxQUIzMkUzMkIxRjZDRDAwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9m
aWx0ZXJfdHlwZTJfbmVvbi5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IHBhdGggPSB2cHhfY29udm9sdmU4X2F2
Z19ob3Jpel9maWx0ZXJfdHlwZTJfbmVvbi5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTQxQUIzMkU0MkIxRjZDRDEwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2Zp
bHRlcl90eXBlMV9uZW9uLmFzbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYXNtLmFzbTsgcGF0aCA9IHZweF9jb252b2x2ZThfYXZn
X3ZlcnRfZmlsdGVyX3R5cGUxX25lb24uYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk0MUFCMzJFNjJCMUY2Q0QxMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9ob3Jpel9maWx0ZXJf
dHlwZTFfbmVvbi5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IHBhdGggPSB2cHhfY29udm9sdmU4X2hvcml6X2Zp
bHRlcl90eXBlMV9uZW9uLmFzbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFBQjMy
RTcyQjFGNkNEMTAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfaG9yaXpfZmlsdGVyX3R5cGUyX25l
b24uYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5hc20uYXNtOyBwYXRoID0gdnB4X2NvbnZvbHZlOF9ob3Jpel9maWx0ZXJfdHlw
ZTJfbmVvbi5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxQUIzMkU4MkIxRjZD
RDIwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X25lb25fYXNtLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IHZweF9jb252b2x2ZThfbmVvbl9hc20uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNDFBQjMyRUEyQjFGNkNEMjAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThf
dmVydF9maWx0ZXJfdHlwZTFfbmVvbi5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IHBhdGggPSB2cHhfY29udm9s
dmU4X3ZlcnRfZmlsdGVyX3R5cGUxX25lb24uYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk0MUFCMzJFQjJCMUY2Q0QzMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpf
ZmlsdGVyX3R5cGUxX25lb24uYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBwYXRoID0gdnB4X2NvbnZvbHZlOF9h
dmdfaG9yaXpfZmlsdGVyX3R5cGUxX25lb24uYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk0MUFCMzJFQzJCMUY2Q0QzMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF92ZXJ0X2ZpbHRl
cl90eXBlMl9uZW9uLmFzbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYXNtLmFzbTsgcGF0aCA9IHZweF9jb252b2x2ZThfdmVydF9m
aWx0ZXJfdHlwZTJfbmVvbi5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxQUIz
MkVEMkIxRjZDRDMwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2ZpbHRlcl90eXBl
Ml9uZW9uLmFzbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYXNtLmFzbTsgcGF0aCA9IHZweF9jb252b2x2ZThfYXZnX3ZlcnRfZmls
dGVyX3R5cGUyX25lb24uYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUFCMzJG
OTJCMUY2RDlGMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9uZW9uX2k4bW0uYyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gdnB4X2NvbnZvbHZlOF9uZW9uX2k4bW0uYzsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCOEQ3NUMyOEM4ODc0RDAwRTVGQTM3IC8qIGkyMTBf
YnVmZmVyLmNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gaTIxMF9idWZm
ZXIuY2M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQjhENzVEMjhDODg3NEUwMEU1
RkEzNyAvKiBpNDIyX2J1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBp
NDIyX2J1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUI4RDc1RTI4Qzg4
NzRFMDBFNUZBMzcgLyogaTQyMl9idWZmZXIuY2MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBpNDIyX2J1ZmZlci5jYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTg5MTAsNiArODgzOCw3IEBACiAJCTQxQzYyOTE5MjEyRTJERTcwMDIzMTNENCAvKiBpbnZfdHhm
bV9zc3NlMy5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGggPSBpbnZfdHhmbV9zc3Nl
My5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUM2MjkxQTIxMkUyREU4MDAyMzEz
RDQgLyogc3VtX3NxdWFyZXNfc3NlMi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IHBhdGgg
PSBzdW1fc3F1YXJlc19zc2UyLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQzYy
OTFCMjEyRTJERTgwMDIzMTNENCAvKiB2YXJpYW5jZV9hdngyLmMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuYzsgcGF0aCA9IHZhcmlhbmNlX2F2eDIuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDFDNjI5NUUyMTJFMzY1MjAwMjMxM0Q0IC8qIHNhZF9zc3NlMy5hc20gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5h
c207IHBhdGggPSBzYWRfc3NzZTMuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MUM2Mjk1RjIxMkUzNjUyMDAyMzEzRDQgLyogc3NpbV9vcHRfeDg2XzY0LmFzbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYXNtLmFz
bTsgcGF0aCA9IHNzaW1fb3B0X3g4Nl82NC5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxQzYyOTYwMjEyRTM2NTIwMDIzMTNENCAvKiBpbnZfd2h0X3NzZTIuYXNtICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20u
YXNtOyBwYXRoID0gaW52X3dodF9zc2UyLmFzbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDFDNjI5NjEyMTJFMzY1MjAwMjMxM0Q0IC8qIGhpZ2hiZF9zYWRfc3NlMi5hc20gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFz
bS5hc207IHBhdGggPSBoaWdoYmRfc2FkX3NzZTIuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtODkxOSw2ICs4ODQ4LDcgQEAKIAkJNDFDNjI5NjUyMTJFMzY1MzAwMjMxM0Q0IC8q
IHZweF9oaWdoX3N1YnBpeGVsXzh0X3NzZTIuYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBwYXRoID0gdnB4X2hp
Z2hfc3VicGl4ZWxfOHRfc3NlMi5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
QzYyOTY2MjEyRTM2NTMwMDIzMTNENCAvKiBoaWdoYmRfdmFyaWFuY2VfaW1wbF9zc2UyLmFzbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYXNtLmFzbTsgcGF0aCA9IGhpZ2hiZF92YXJpYW5jZV9pbXBsX3NzZTIuYXNtOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MUM2Mjk2NzIxMkUzNjUzMDAyMzEzRDQgLyogZGVibG9j
a19zc2UyLmFzbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYXNtLmFzbTsgcGF0aCA9IGRlYmxvY2tfc3NlMi5hc207IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxQzYyOTY4MjEyRTM2NTQwMDIzMTNENCAvKiBzYWRfc3Nl
NC5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmFzbS5hc207IHBhdGggPSBzYWRfc3NlNC5hc207IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxQzYyOTY5MjEyRTM2NTQwMDIzMTNENCAvKiBzYWQ0ZF9zc2UyLmFzbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYXNtLmFzbTsgcGF0aCA9IHNhZDRkX3NzZTIuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MUM2Mjk2QTIxMkUzNjU0MDAyMzEzRDQgLyogaW50cmFwcmVkX3Nzc2UzLmFzbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYXNtLmFzbTsgcGF0aCA9IGludHJhcHJlZF9zc3NlMy5hc207IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxQzYyOTZCMjEyRTM2NTQwMDIzMTNENCAvKiB2cHhfc3VicGl4ZWxfOHRf
c3NzZTMuYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5hc20uYXNtOyBwYXRoID0gdnB4X3N1YnBpeGVsXzh0X3Nzc2UzLmFzbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg5NDUsNiArODg3NSw3IEBACiAJCTQxQ0Iw
QTAzMjE1QzhENzYwMDk3QjhBQSAvKiBpd2Fsc2hfc3NlMi5hc20gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IHBhdGgg
PSBpd2Fsc2hfc3NlMi5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQ0IwQTEy
MjE1QzhEQTQwMDk3QjhBQSAvKiBmd2RfdHhmbV9pbXBsX3NzZTIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gZndkX3R4Zm1faW1wbF9zc2UyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxQ0IwQTEzMjE1QzhEQTQwMDk3QjhBQSAvKiBtZW1fc3NlMi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBtZW1fc3NlMi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MUNCMEExNDIxNUM4REE0MDA5N0I4QUEgLyogc2FkX3NzZTMuYXNtICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5hc20uYXNtOyBwYXRoID0gc2FkX3NzZTMuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MUNCMEExNTIxNUM4REE0MDA5N0I4QUEgLyogYml0ZGVwdGhfY29udmVyc2lvbl9zc2Uy
LmFzbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYXNtLmFzbTsgcGF0aCA9IGJpdGRlcHRoX2NvbnZlcnNpb25fc3NlMi5hc207IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQ0IwQTE2MjE1QzhEQTUwMDk3QjhBQSAvKiB0
eGZtX2NvbW1vbl9zc2UyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHR4Zm1f
Y29tbW9uX3NzZTIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFDQjBBMTcyMTVD
OERBNTAwOTdCOEFBIC8qIGF2Z19zc3NlM194ODZfNjQuYXNtICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBwYXRoID0g
YXZnX3Nzc2UzX3g4Nl82NC5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTYx
LDYgKzkwOTIsOCBAQAogCQk0MUUwMkNEMjIxMjczNjA3MDBDMjdDRDYgLyogc2FtcGxlX2NvdW50
ZXIuY2MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBzYW1wbGVfY291bnRl
ci5jYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFMDJDRDcyMTI3MzYzQzAwQzI3
Q0Q2IC8qIHRyYW5zcG9ydF9mZWVkYmFja19hZGFwdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHRyYW5z
cG9ydF9mZWVkYmFja19hZGFwdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
RTU5RTkzMjNBQ0I2NTIwMDk1QTk0QiAvKiBzeXN0ZW1fc3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
c3lzdGVtX3N0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRTU5RTk0MjNB
Q0MxMjMwMDk1QTk0QiAvKiB2cDhfcnRjZF9ub19hY2NlbGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gdnA4X3J0Y2Rfbm9fYWNjZWxlcmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxRTU5RTk1MjNBQ0MxMjMwMDk1QTk0QiAvKiB2cHhfZHNwX3J0Y2Rfbm9fYWNjZWxlcmF0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHZweF9kc3BfcnRjZF9ub19hY2NlbGVyYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFODRCQzkyNDM0QzRBMjAwRDM0RTQxIC8qIFdl
YktpdERlY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0RGVj
b2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUU4NEJDQTI0MzRDNEEzMDBE
MzRFNDEgLyogV2ViS2l0RGVjb2Rlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYktpdERlY29kZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxRTkwQzJDMkIyMjBCOTkwMDk2Q0RCMyAvKiBsaWJ3ZWJydGMuZGVidWcuZXhwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5leHBv
cnRzOyBwYXRoID0gbGlid2VicnRjLmRlYnVnLmV4cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTkyMzEsNiArOTE2NCw3IEBACiAJCTQxRUVENzdBMjE1MkVEODMwMDBGMkExNiAvKiBp
bnRyYXByZWRfbmVvbl9hc20uYXNtICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5hc20uYXNtOyBwYXRoID0gaW50cmFwcmVkX25lb25f
YXNtLmFzbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFRUQ3N0IyMTUyRUQ4NDAw
MEYyQTE2IC8qIHZweF9jb252b2x2ZV9uZW9uLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IHZweF9jb252b2x2
ZV9uZW9uLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRUVEN0JCMjE1MkVFQzgw
MDBGMkExNiAvKiBhcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gYXJtLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRUVEN0JDMjE1MkVFQzgwMDBGMkExNiAv
KiBhcm1fY3B1ZGV0ZWN0LmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IGFybV9j
cHVkZXRlY3QuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFRUZEOUUyMTJFMDNF
QjAwRTU0RTkzIC8qIGVuY29kZW12LmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuYzsgcGF0aCA9IGVuY29kZW12LmM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRUVGRDlGMjEyRTAzRUIwMEU1NEU5MyAvKiBwaWNr
bHBmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHBpY2tscGYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDFFRUZEQTAyMTJFMDNFQzAwRTU0RTkzIC8qIGJsb2NrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IGJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTM4NywxMSArMTEzMjEs
MTMgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNDEwNUVCOUIy
MTJFMDJDQzAwOEMwQzIwIC8qIHZwOF9ydGNkLmggKi8sCisJCQkJNDFFNTlFOTQyM0FDQzEyMzAw
OTVBOTRCIC8qIHZwOF9ydGNkX25vX2FjY2VsZXJhdGlvbi5oICovLAogCQkJCTQxMDVFQjlFMjEy
RTAyQ0MwMDhDMEMyMCAvKiB2cDlfcnRjZC5oICovLAogCQkJCTQxMDVFQjlGMjEyRTAyQ0MwMDhD
MEMyMCAvKiB2cHhfY29uZmlnLmFzbSAqLywKIAkJCQk0MTA1RUI5OTIxMkUwMkNCMDA4QzBDMjAg
LyogdnB4X2NvbmZpZy5jICovLAogCQkJCTQxMDVFQjlEMjEyRTAyQ0MwMDhDMEMyMCAvKiB2cHhf
Y29uZmlnLmggKi8sCiAJCQkJNDEwNUVCOUMyMTJFMDJDQzAwOEMwQzIwIC8qIHZweF9kc3BfcnRj
ZC5oICovLAorCQkJCTQxRTU5RTk1MjNBQ0MxMjMwMDk1QTk0QiAvKiB2cHhfZHNwX3J0Y2Rfbm9f
YWNjZWxlcmF0aW9uLmggKi8sCiAJCQkJNDEwNUVCOUEyMTJFMDJDQjAwOEMwQzIwIC8qIHZweF9z
Y2FsZV9ydGNkLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IHg2NDsKQEAgLTExNDY3LDggKzExNDAz
LDggQEAKIAkJNDEwNUVCQUIyMTJFMDMwQjAwOEMwQzIwIC8qIHZweF9wb3J0cyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNDFBQjMyREQyQjFGNkM1MDAw
Q0VDN0FFIC8qIGFhcmNoNjRfY3B1ZGV0ZWN0LmMgKi8sCiAJCQkJNDFFRUQ3QkIyMTUyRUVDODAw
MEYyQTE2IC8qIGFybS5oICovLAorCQkJCTQxRUVEN0JDMjE1MkVFQzgwMDBGMkExNiAvKiBhcm1f
Y3B1ZGV0ZWN0LmMgKi8sCiAJCQkJNDE0MDM2MUQyNEFBMkU2NzAwQkNFOUIyIC8qIGVtbXNfbW14
LmMgKi8sCiAJCQkJNzJDREMzNzcyQUIwQ0U5MzAwNjQwRTg1IC8qIG1lbV9vcHMuaCAqLywKIAkJ
CQk0NDkxODcyNjJBQjM4MTMyMDA3MjY2RjIgLyogbWVtX29wc19hbGlnbmVkLmggKi8sCkBAIC0x
MzMxMCw4ICsxMzI0Niw2IEBACiAJCQkJNDFENzI5MTMyNjY1MENDMzAwNjUxQTBCIC8qIHZwOV9l
eHRfcmF0ZWN0cmwuaCAqLywKIAkJCQk0MTQwMzY3MDI0QUEzMEFEMDBCQ0U5QjIgLyogdnA5X2V4
dGVuZC5jICovLAogCQkJCTQxNDAzNjRFMjRBQTMwQTUwMEJDRTlCMiAvKiB2cDlfZXh0ZW5kLmgg
Ki8sCi0JCQkJNDFBQjMyQUUyQjFGNkJBMDAwQ0VDN0FFIC8qIHZwOV9maXJzdHBhc3MuYyAqLywK
LQkJCQk0MUFCMzJBRjJCMUY2QkEwMDBDRUM3QUUgLyogdnA5X2ZpcnN0cGFzcy5oICovLAogCQkJ
CTQxNDAzNjg4MjRBQTMwQjYwMEJDRTlCMiAvKiB2cDlfZnJhbWVfc2NhbGUuYyAqLywKIAkJCQk0
MTQwMzY2MzI0QUEzMEFBMDBCQ0U5QjIgLyogdnA5X2pvYl9xdWV1ZS5oICovLAogCQkJCTQxNDAz
NjZEMjRBQTMwQUMwMEJDRTlCMiAvKiB2cDlfbG9va2FoZWFkLmMgKi8sCkBAIC0xMzM1MywxMSAr
MTMyODcsOCBAQAogCQkJCTQxNDAzNjc4MjRBQTMwQUYwMEJDRTlCMiAvKiB2cDlfc3ZjX2xheWVy
Y29udGV4dC5oICovLAogCQkJCTQxNDAzNjNDMjRBQTMwQTAwMEJDRTlCMiAvKiB2cDlfdGVtcG9y
YWxfZmlsdGVyLmMgKi8sCiAJCQkJNDE0MDM2M0UyNEFBMzBBMTAwQkNFOUIyIC8qIHZwOV90ZW1w
b3JhbF9maWx0ZXIuaCAqLywKLQkJCQk0MUFCMzJBQjJCMUY2QjlGMDBDRUM3QUUgLyogdnA5X3Rl
bXBvcmFsX2ZpbHRlcl9jb25zdGFudHMuaCAqLywKIAkJCQk0MTQwMzY3OTI0QUEzMEFGMDBCQ0U5
QjIgLyogdnA5X3Rva2VuaXplLmMgKi8sCiAJCQkJNDE0MDM2NTUyNEFBMzBBNzAwQkNFOUIyIC8q
IHZwOV90b2tlbml6ZS5oICovLAotCQkJCTQxQUIzMkFDMkIxRjZCOUYwMENFQzdBRSAvKiB2cDlf
dHBsX21vZGVsLmMgKi8sCi0JCQkJNDFBQjMyQUQyQjFGNkI5RjAwQ0VDN0FFIC8qIHZwOV90cGxf
bW9kZWwuaCAqLywKIAkJCQk0MTQwMzY2MDI0QUEzMEE5MDBCQ0U5QjIgLyogdnA5X3RyZWV3cml0
ZXIuYyAqLywKIAkJCQk0MTQwMzY3QTI0QUEzMEFGMDBCQ0U5QjIgLyogdnA5X3RyZWV3cml0ZXIu
aCAqLywKIAkJCSk7CkBAIC0xMzQ2OCwxNyArMTMzOTksMTkgQEAKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNDE0MDM3N0EyNEFBMzJEQTAwQkNFOUIyIC8qIGhpZ2hi
ZF90ZW1wb3JhbF9maWx0ZXJfc3NlNC5jICovLAorCQkJCTQxNDAzNzdDMjRBQTMyREIwMEJDRTlC
MiAvKiB0ZW1wb3JhbF9maWx0ZXJfY29uc3RhbnRzLmggKi8sCiAJCQkJNDE0MDM3NzcyNEFBMzJE
OTAwQkNFOUIyIC8qIHRlbXBvcmFsX2ZpbHRlcl9zc2U0LmMgKi8sCiAJCQkJNDE0MDM3N0UyNEFB
MzJEQjAwQkNFOUIyIC8qIHZwOV9kY3RfaW50cmluX3NzZTIuYyAqLywKIAkJCQk0MTQwMzc4MDI0
QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2RjdF9zc2UyLmFzbSAqLywKIAkJCQk0MTQwMzc3QjI0QUEz
MkRBMDBCQ0U5QjIgLyogdnA5X2Rlbm9pc2VyX3NzZTIuYyAqLywKKwkJCQk0MTQwMzc4MTI0QUEz
MkRDMDBCQ0U5QjIgLyogdnA5X2RpYW1vbmRfc2VhcmNoX3NhZF9hdnguYyAqLywKIAkJCQk0MTQw
Mzc3NTI0QUEzMkQ5MDBCQ0U5QjIgLyogdnA5X2Vycm9yX2F2eDIuYyAqLywKIAkJCQk0MTQwMzc3
RDI0QUEzMkRCMDBCQ0U5QjIgLyogdnA5X2Vycm9yX3NzZTIuYXNtICovLAogCQkJCTQxNDAzNzc4
MjRBQTMyRDkwMEJDRTlCMiAvKiB2cDlfZnJhbWVfc2NhbGVfc3NzZTMuYyAqLywKIAkJCQk0MTQw
Mzc3OTI0QUEzMkRBMDBCQ0U5QjIgLyogdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9pbnRyaW5fc3Nl
Mi5jICovLAogCQkJCTQxNDAzNzc0MjRBQTMyRDgwMEJDRTlCMiAvKiB2cDlfcXVhbnRpemVfYXZ4
Mi5jICovLAogCQkJCTQxNDAzNzdGMjRBQTMyREIwMEJDRTlCMiAvKiB2cDlfcXVhbnRpemVfc3Nl
Mi5jICovLAotCQkJCTQxMENCRkM2MkIyMEMzRDAwMDAwNURBMiAvKiB2cDlfcXVhbnRpemVfc3Nz
ZTMuYyAqLywKKwkJCQk0MTQwMzc3NjI0QUEzMkQ5MDBCQ0U5QjIgLyogdnA5X3F1YW50aXplX3Nz
c2UzX3g4Nl82NC5hc20gKi8sCiAJCQkpOwogCQkJcGF0aCA9IHg4NjsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CkBAIC0xNDEzNiwxOSArMTQwNjksMTEgQEAKIAkJCQk0MTk0Nzg2RTIxNTJF
RDNEMDAyNzUyNTcgLyogYXZnX3ByZWRfbmVvbi5jICovLAogCQkJCTQxOTUzQzA0MjE1MkVENjMw
MDEzNjYyNSAvKiBkZWJsb2NrX25lb24uYyAqLywKIAkJCQk0MTk0Nzg4QjIxNTJFRDQ2MDAyNzUy
NTcgLyogZmRjdDE2eDE2X25lb24uYyAqLywKLQkJCQk0MUFCMzJDMTJCMUY2QkU4MDBDRUM3QUUg
LyogZmRjdDE2eDE2X25lb24uaCAqLywKIAkJCQk0MTk0Nzg4MDIxNTJFRDQzMDAyNzUyNTcgLyog
ZmRjdDMyeDMyX25lb24uYyAqLywKLQkJCQk0MUFCMzJCNzJCMUY2QkU1MDBDRUM3QUUgLyogZmRj
dDMyeDMyX25lb24uaCAqLywKLQkJCQk0MUFCMzJDMDJCMUY2QkU3MDBDRUM3QUUgLyogZmRjdDR4
NF9uZW9uLmMgKi8sCi0JCQkJNDFBQjMyQjYyQjFGNkJFNTAwQ0VDN0FFIC8qIGZkY3Q0eDRfbmVv
bi5oICovLAotCQkJCTQxQUIzMkJBMkIxRjZCRTYwMENFQzdBRSAvKiBmZGN0OHg4X25lb24uYyAq
LywKLQkJCQk0MUFCMzJCQjJCMUY2QkU2MDBDRUM3QUUgLyogZmRjdDh4OF9uZW9uLmggKi8sCi0J
CQkJNDFBQjMyQjUyQjFGNkJFNTAwQ0VDN0FFIC8qIGZkY3RfbmVvbi5oICovLAorCQkJCTQxOTEw
MEYwMjE1MkVEMTgwMEE2RjE3QiAvKiBmZGN0X25lb24uYyAqLywKIAkJCQk0MTk0Nzg4MTIxNTJF
RDQzMDAyNzUyNTcgLyogZmRjdF9wYXJ0aWFsX25lb24uYyAqLywKKwkJCQk0MTk1M0MwNjIxNTJF
RDYzMDAxMzY2MjUgLyogZndkX3R4Zm1fbmVvbi5jICovLAogCQkJCTQxOTQ3ODc1MjE1MkVENDAw
MDI3NTI1NyAvKiBoYWRhbWFyZF9uZW9uLmMgKi8sCi0JCQkJNDFBQjMyQjkyQjFGNkJFNjAwQ0VD
N0FFIC8qIGhpZ2hiZF9hdmdfbmVvbi5jICovLAotCQkJCTQxQUIzMkJFMkIxRjZCRTcwMENFQzdB
RSAvKiBoaWdoYmRfYXZnX3ByZWRfbmVvbi5jICovLAotCQkJCTQxQUIzMkMyMkIxRjZCRTgwMENF
QzdBRSAvKiBoaWdoYmRfaGFkYW1hcmRfbmVvbi5jICovLAogCQkJCTQxOTQ3ODcwMjE1MkVEM0Uw
MDI3NTI1NyAvKiBoaWdoYmRfaWRjdDE2eDE2X2FkZF9uZW9uLmMgKi8sCiAJCQkJNDE5NDc4OEEy
MTUyRUQ0NjAwMjc1MjU3IC8qIGhpZ2hiZF9pZGN0MzJ4MzJfMTAyNF9hZGRfbmVvbi5jICovLAog
CQkJCTQxOTQ3ODc2MjE1MkVENDAwMDI3NTI1NyAvKiBoaWdoYmRfaWRjdDMyeDMyXzEzNV9hZGRf
bmVvbi5jICovLApAQCAtMTQxNTksMTIgKzE0MDg0LDYgQEAKIAkJCQk0MTkxMDBFQjIxNTJFRDE3
MDBBNkYxN0IgLyogaGlnaGJkX2lkY3RfbmVvbi5oICovLAogCQkJCTQxOTQ3ODc0MjE1MkVEM0Yw
MDI3NTI1NyAvKiBoaWdoYmRfaW50cmFwcmVkX25lb24uYyAqLywKIAkJCQk0MTk0Nzg3QzIxNTJF
RDQyMDAyNzUyNTcgLyogaGlnaGJkX2xvb3BmaWx0ZXJfbmVvbi5jICovLAotCQkJCTQxQUIzMkM3
MkIxRjZCRTkwMENFQzdBRSAvKiBoaWdoYmRfcXVhbnRpemVfbmVvbi5jICovLAotCQkJCTQxQUIz
MkI4MkIxRjZCRTUwMENFQzdBRSAvKiBoaWdoYmRfc2FkNGRfbmVvbi5jICovLAotCQkJCTQxQUIz
MkM1MkIxRjZCRTkwMENFQzdBRSAvKiBoaWdoYmRfc2FkX25lb24uYyAqLywKLQkJCQk0MUFCMzJD
ODJCMUY2QkU5MDBDRUM3QUUgLyogaGlnaGJkX3N1YnBlbF92YXJpYW5jZV9uZW9uLmMgKi8sCi0J
CQkJNDFBQjMyQkQyQjFGNkJFNzAwQ0VDN0FFIC8qIGhpZ2hiZF92YXJpYW5jZV9uZW9uLmMgKi8s
Ci0JCQkJNDFBQjMyQkMyQjFGNkJFNjAwQ0VDN0FFIC8qIGhpZ2hiZF92YXJpYW5jZV9uZW9uX2Rv
dHByb2QuYyAqLywKIAkJCQk0MTk0Nzg3NzIxNTJFRDQwMDAyNzUyNTcgLyogaGlnaGJkX3ZweF9j
b252b2x2ZThfbmVvbi5jICovLAogCQkJCTQxOTQ3ODg1MjE1MkVENDQwMDI3NTI1NyAvKiBoaWdo
YmRfdnB4X2NvbnZvbHZlX2F2Z19uZW9uLmMgKi8sCiAJCQkJNDE5NDc4ODYyMTUyRUQ0NDAwMjc1
MjU3IC8qIGhpZ2hiZF92cHhfY29udm9sdmVfY29weV9uZW9uLmMgKi8sCkBAIC0xNDE5Miw5ICsx
NDExMSw3IEBACiAJCQkJNDE5MTAwRTkyMTUyRUQxNzAwQTZGMTdCIC8qIG1lbV9uZW9uLmggKi8s
CiAJCQkJNDE5NTNDMDkyMTUyRUQ2NDAwMTM2NjI1IC8qIHF1YW50aXplX25lb24uYyAqLywKIAkJ
CQk0MTkxMDBGNTIxNTJFRDE5MDBBNkYxN0IgLyogc2FkNGRfbmVvbi5jICovLAotCQkJCTQxQUIz
MkMzMkIxRjZCRTgwMENFQzdBRSAvKiBzYWQ0ZF9uZW9uX2RvdHByb2QuYyAqLywKIAkJCQk0MTk1
M0MwMjIxNTJFRDYyMDAxMzY2MjUgLyogc2FkX25lb24uYyAqLywKLQkJCQk0MUFCMzJDNDJCMUY2
QkU4MDBDRUM3QUUgLyogc2FkX25lb25fZG90cHJvZC5jICovLAogCQkJCTQxRUVENzc4MjE1MkVE
ODMwMDBGMkExNiAvKiBzYXZlX3JlZ19uZW9uLmFzbSAqLywKIAkJCQk0MTk0Nzg3MTIxNTJFRDNF
MDAyNzUyNTcgLyogc3VicGVsX3ZhcmlhbmNlX25lb24uYyAqLywKIAkJCQk0MTk0Nzg3QjIxNTJF
RDQyMDAyNzUyNTcgLyogc3VidHJhY3RfbmVvbi5jICovLApAQCAtMTQyMDIsMjcgKzE0MTE5LDEz
IEBACiAJCQkJNDE0MDM3QjcyNEFCMzVFMTAwQkNFOUIyIC8qIHN1bV9zcXVhcmVzX25lb24uYyAq
LywKIAkJCQk0MTkxMDBFRjIxNTJFRDE4MDBBNkYxN0IgLyogdHJhbnNwb3NlX25lb24uaCAqLywK
IAkJCQk0MTk0Nzg3RDIxNTJFRDQyMDAyNzUyNTcgLyogdmFyaWFuY2VfbmVvbi5jICovLAotCQkJ
CTQxQUIzMkM2MkIxRjZCRTkwMENFQzdBRSAvKiB2YXJpYW5jZV9uZW9uX2RvdHByb2QuYyAqLywK
LQkJCQk0MUFCMzJFQjJCMUY2Q0QzMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpf
ZmlsdGVyX3R5cGUxX25lb24uYXNtICovLAotCQkJCTQxQUIzMkUzMkIxRjZDRDAwMENFQzdBRSAv
KiB2cHhfY29udm9sdmU4X2F2Z19ob3Jpel9maWx0ZXJfdHlwZTJfbmVvbi5hc20gKi8sCi0JCQkJ
NDFBQjMyRTQyQjFGNkNEMTAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfYXZnX3ZlcnRfZmlsdGVy
X3R5cGUxX25lb24uYXNtICovLAotCQkJCTQxQUIzMkVEMkIxRjZDRDMwMENFQzdBRSAvKiB2cHhf
Y29udm9sdmU4X2F2Z192ZXJ0X2ZpbHRlcl90eXBlMl9uZW9uLmFzbSAqLywKLQkJCQk0MUFCMzJF
NjJCMUY2Q0QxMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9ob3Jpel9maWx0ZXJfdHlwZTFfbmVv
bi5hc20gKi8sCi0JCQkJNDFBQjMyRTcyQjFGNkNEMTAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThf
aG9yaXpfZmlsdGVyX3R5cGUyX25lb24uYXNtICovLAogCQkJCTQxOTEwMEYzMjE1MkVEMTgwMEE2
RjE3QiAvKiB2cHhfY29udm9sdmU4X25lb24uYyAqLywKIAkJCQk0MTk0Nzg2RjIxNTJFRDNEMDAy
NzUyNTcgLyogdnB4X2NvbnZvbHZlOF9uZW9uLmggKi8sCi0JCQkJNDFBQjMyRTAyQjFGNkM4ODAw
Q0VDN0FFIC8qIHZweF9jb252b2x2ZThfbmVvbl9hc20uYyAqLywKLQkJCQk0MUFCMzJFODJCMUY2
Q0QyMDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9uZW9uX2FzbS5oICovLAotCQkJCTQxQUIzMkRG
MkIxRjZDODgwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X25lb25fZG90cHJvZC5jICovLAotCQkJ
CTQxQUIzMkY5MkIxRjZEOUYwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X25lb25faThtbS5jICov
LAotCQkJCTQxQUIzMkVBMkIxRjZDRDIwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X3ZlcnRfZmls
dGVyX3R5cGUxX25lb24uYXNtICovLAotCQkJCTQxQUIzMkVDMkIxRjZDRDMwMENFQzdBRSAvKiB2
cHhfY29udm9sdmU4X3ZlcnRfZmlsdGVyX3R5cGUyX25lb24uYXNtICovLAogCQkJCTQxOTQ3ODcz
MjE1MkVEM0YwMDI3NTI1NyAvKiB2cHhfY29udm9sdmVfYXZnX25lb24uYyAqLywKIAkJCQk0MTk0
Nzg3QTIxNTJFRDQxMDAyNzUyNTcgLyogdnB4X2NvbnZvbHZlX2F2Z19uZW9uX2FzbS5hc20gKi8s
CiAJCQkJNDE5MTAwRUEyMTUyRUQxNzAwQTZGMTdCIC8qIHZweF9jb252b2x2ZV9jb3B5X25lb24u
YyAqLywKIAkJCQk0MTk0Nzg3MjIxNTJFRDNGMDAyNzUyNTcgLyogdnB4X2NvbnZvbHZlX2NvcHlf
bmVvbl9hc20uYXNtICovLAogCQkJCTQxRUVENzdCMjE1MkVEODQwMDBGMkExNiAvKiB2cHhfY29u
dm9sdmVfbmVvbi5jICovLAotCQkJCTQxQUIzMkJGMkIxRjZCRTcwMENFQzdBRSAvKiB2cHhfY29u
dm9sdmVfbmVvbl9kb3Rwcm9kLmMgKi8sCiAJCQkJNDE5MTAwRjQyMTUyRUQxOTAwQTZGMTdCIC8q
IHZweF9zY2FsZWRfY29udm9sdmU4X25lb24uYyAqLywKIAkJCSk7CiAJCQlwYXRoID0gYXJtOwpA
QCAtMTU0MDQsNiArMTUzMDcsOSBAQAogCQkJCTQxQzYyOTY5MjEyRTM2NTQwMDIzMTNENCAvKiBz
YWQ0ZF9zc2UyLmFzbSAqLywKIAkJCQk0MUJBRTNDQjIxMkUyRDkwMDBFMjI0ODIgLyogc2FkX2F2
eDIuYyAqLywKIAkJCQk0MUM2Mjk2RTIxMkUzNjU1MDAyMzEzRDQgLyogc2FkX3NzZTIuYXNtICov
LAorCQkJCTQxQ0IwQTE0MjE1QzhEQTQwMDk3QjhBQSAvKiBzYWRfc3NlMy5hc20gKi8sCisJCQkJ
NDFDNjI5NjgyMTJFMzY1NDAwMjMxM0Q0IC8qIHNhZF9zc2U0LmFzbSAqLywKKwkJCQk0MUM2Mjk1
RTIxMkUzNjUyMDAyMzEzRDQgLyogc2FkX3Nzc2UzLmFzbSAqLywKIAkJCQk0MUM2Mjk1RjIxMkUz
NjUyMDAyMzEzRDQgLyogc3NpbV9vcHRfeDg2XzY0LmFzbSAqLywKIAkJCQk0MUM2Mjk3MzIxMkUz
NjU2MDAyMzEzRDQgLyogc3VicGVsX3ZhcmlhbmNlX3NzZTIuYXNtICovLAogCQkJCTQxQzYyOTYz
MjEyRTM2NTMwMDIzMTNENCAvKiBzdWJ0cmFjdF9zc2UyLmFzbSAqLywKQEAgLTE2NDE2LDE1ICsx
NjMyMiwxMCBAQAogCQk0NDI0NTkzMDJBQ0I4RUJEMDBFMTA1QTEgLyogbmVvbiAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNDFBQjMyQTIyQjFGNkEwNzAw
Q0VDN0FFIC8qIHZwOV9kY3RfbmVvbi5jICovLAogCQkJCTQxNDAzN0FGMjRBQjM1OTYwMEJDRTlC
MiAvKiB2cDlfZGVub2lzZXJfbmVvbi5jICovLAotCQkJCTQxQUIzMkE1MkIxRjZBMDgwMENFQzdB
RSAvKiB2cDlfZGlhbW9uZF9zZWFyY2hfc2FkX25lb24uYyAqLywKIAkJCQk0MTQwMzdCMDI0QUIz
NTk2MDBCQ0U5QjIgLyogdnA5X2Vycm9yX25lb24uYyAqLywKIAkJCQk0MTQwMzdCMTI0QUIzNTk3
MDBCQ0U5QjIgLyogdnA5X2ZyYW1lX3NjYWxlX25lb24uYyAqLywKLQkJCQk0MUFCMzJBMzJCMUY2
QTA4MDBDRUM3QUUgLyogdnA5X2hpZ2hiZF9lcnJvcl9uZW9uLmMgKi8sCi0JCQkJNDFBQjMyQTEy
QjFGNkEwNzAwQ0VDN0FFIC8qIHZwOV9oaWdoYmRfdGVtcG9yYWxfZmlsdGVyX25lb24uYyAqLywK
IAkJCQk0MTQwMzdCMjI0QUIzNTk3MDBCQ0U5QjIgLyogdnA5X3F1YW50aXplX25lb24uYyAqLywK
LQkJCQk0MUFCMzJBNDJCMUY2QTA4MDBDRUM3QUUgLyogdnA5X3RlbXBvcmFsX2ZpbHRlcl9uZW9u
LmMgKi8sCiAJCQkpOwogCQkJcGF0aCA9IG5lb247CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OwpAQCAtMjAzODksMTEgKzIwMjkwLDYgQEAKIAkJCQk0MTQwMzdBNjI0QUIyRkI1MDBCQ0U5QjIg
LyogZW5jb2RlbWIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNjczMUNCMjEyRTA0MzAwMDEyODBF
QiAvKiBlbmNvZGVtdi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE0MDM3OUYyNEFCMkZCNTAwQkNF
OUIyIC8qIGV0aHJlYWRpbmcuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxQUIzMkQ1MkIxRjZCRTkw
MENFQzdBRSAvKiBmZGN0MTZ4MTZfbmVvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDFBQjMyQ0Iy
QjFGNkJFOTAwQ0VDN0FFIC8qIGZkY3QzMngzMl9uZW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQk0
MUFCMzJDQTJCMUY2QkU5MDBDRUM3QUUgLyogZmRjdDR4NF9uZW9uLmggaW4gSGVhZGVycyAqLywK
LQkJCQk0MUFCMzJDRjJCMUY2QkU5MDBDRUM3QUUgLyogZmRjdDh4OF9uZW9uLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0MUFCMzJDOTJCMUY2QkU5MDBDRUM3QUUgLyogZmRjdF9uZW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MTY3MzFDQzIxMkUwNDMwMDAxMjgwRUIgLyogZmlyc3RwYXNzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MUNCMEEzNzIxNUM4REFCMDA5N0I4QUEgLyogZndkX2RjdDMyeDMy
X2ltcGxfc3NlMi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEzMzBBMkEyMTJFMkJERjAwMjgwOTM5
IC8qIGZ3ZF90eGZtLmggaW4gSGVhZGVycyAqLywKQEAgLTIwNDIzLDYgKzIwMzE5LDcgQEAKIAkJ
CQk0MTQwMzYyRTI0QUEzMDY2MDBCQ0U5QjIgLyogc2ltcGxlX2VuY29kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDFFRUQ3QUUyMTUyRUQ4RTAwMEYyQTE2IC8qIHN1bV9uZW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MTQwMzdBOTI0QUIyRkI1MDBCQ0U5QjIgLyogdGVtcG9yYWxfZmlsdGVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0MTQwMzc4QTI0QUEzMkRDMDBCQ0U5QjIgLyogdGVtcG9yYWxf
ZmlsdGVyX2NvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCQTA0RTYyMTY1OTkyODAw
QjUyN0UwIC8qIHRocmVhZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2NzMxRDAyMTJFMDQz
MDAwMTI4MEVCIC8qIHRva2VuaXplLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUVFRDdBRjIxNTJF
RDhFMDAwRjJBMTYgLyogdHJhbnNwb3NlX25lb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjA0Njcs
NyArMjAzNjQsNiBAQAogCQkJCTQxRDcyOTE1MjY2NTBDQzQwMDY1MUEwQiAvKiB2cDlfZXh0X3Jh
dGVjdHJsLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTQwMzY5RjI0QUEzMEI2MDBCQ0U5QjIgLyog
dnA5X2V4dGVuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE0MDM3NDYyNEFBMzBEQTAwQkNFOUIy
IC8qIHZwOV9maWx0ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxQUIzMkI0MkIxRjZCQTAwMENF
QzdBRSAvKiB2cDlfZmlyc3RwYXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTQwMzc1MzI0QUEz
MERBMDBCQ0U5QjIgLyogdnA5X2ZyYW1lX2J1ZmZlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
NDAzNzM1MjRBQTMwRDkwMEJDRTlCMiAvKiB2cDlfaWRjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDE0MDM2MzMyNEFBMzA2NjAwQkNFOUIyIC8qIHZwOV9pZmFjZV9jb21tb24uaCBpbiBIZWFkZXJz
ICovLApAQCAtMjA1MDgsMTQgKzIwNDA0LDExIEBACiAJCQkJNDE0MDM2OUIyNEFBMzBCNjAwQkNF
OUIyIC8qIHZwOV9zdWJleHAuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNDAzNkM5MjRBQTMwQjcw
MEJDRTlCMiAvKiB2cDlfc3ZjX2xheWVyY29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE0
MDM2OEYyNEFBMzBCNjAwQkNFOUIyIC8qIHZwOV90ZW1wb3JhbF9maWx0ZXIuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTQxQUIzMkIwMkIxRjZCQTAwMENFQzdBRSAvKiB2cDlfdGVtcG9yYWxfZmlsdGVy
X2NvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE0MDM3NDEyNEFBMzBEQTAwQkNFOUIy
IC8qIHZwOV90aHJlYWRfY29tbW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTQwMzcyRjI0QUEz
MEQ5MDBCQ0U5QjIgLyogdnA5X3RpbGVfY29tbW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTQw
MzZBNjI0QUEzMEI3MDBCQ0U5QjIgLyogdnA5X3Rva2VuaXplLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk0MUFCMzJCMjJCMUY2QkEwMDBDRUM3QUUgLyogdnA5X3RwbF9tb2RlbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDE0MDM2Q0IyNEFBMzBCNzAwQkNFOUIyIC8qIHZwOV90cmVld3JpdGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MUVFRDdCOTIxNTJFRDhFMDAwRjJBMTYgLyogdnB4X2NvbnZvbHZl
OF9uZW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MUFCMzJGMzJCMUY2Q0Q0MDBDRUM3QUUgLyog
dnB4X2NvbnZvbHZlOF9uZW9uX2FzbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEzMzBBMzEyMTJF
MkJGNTAwMjgwOTM5IC8qIHZweF9tZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzMwQTM1MjEy
RTJDMUYwMDI4MDkzOSAvKiB2cHhfc2NhbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQkFFM0Mx
MjEyRTJDNUIwMEUyMjQ4MiAvKiB2cHhfdGhyZWFkLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNjg0
LDEwICsyMzU3NywxMCBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWls
ZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJNDFBQjMyREUyQjFG
NkM1MDAwQ0VDN0FFIC8qIGFhcmNoNjRfY3B1ZGV0ZWN0LmMgaW4gU291cmNlcyAqLywKIAkJCQk0
MTMzMEExMzIxMkUyQkRGMDAyODA5MzkgLyogYWRkX25vaXNlLmMgaW4gU291cmNlcyAqLywKIAkJ
CQk0MUNCMEEzRTIxNUM4REM5MDA5N0I4QUEgLyogYWRkX25vaXNlX3NzZTIuYXNtIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDFDNjI5MzcyMTJFMkYxRTAwMjMxM0Q0IC8qIGFsbG9jY29tbW9uLmMgaW4g
U291cmNlcyAqLywKKwkJCQk0MUVFRDdCRTIxNTJFRUM5MDAwRjJBMTYgLyogYXJtX2NwdWRldGVj
dC5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDEzMzBBMTQyMTJFMkJERjAwMjgwOTM5IC8qIGF2Zy5j
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDFDNjI4RkEyMTJFMkRCMDAwMjMxM0Q0IC8qIGF2Z19pbnRy
aW5fc3NlMi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFFRUQ3N0MyMTUyRUQ4RTAwMEYyQTE2IC8q
IGF2Z19uZW9uLmMgaW4gU291cmNlcyAqLywKQEAgLTIzNzQyLDIwICsyMzYzNSwxNyBAQAogCQkJ
CTQxMzMwQTE4MjEyRTJCREYwMDI4MDkzOSAvKiBmYXN0c3NpbS5jIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFFRUQ3ODEyMTUyRUQ4RTAwMEYyQTE2IC8qIGZkY3QxNngxNl9uZW9uLmMgaW4gU291cmNl
cyAqLywKIAkJCQk0MUVFRDc4MjIxNTJFRDhFMDAwRjJBMTYgLyogZmRjdDMyeDMyX25lb24uYyBp
biBTb3VyY2VzICovLAotCQkJCTQxQUIzMkQ0MkIxRjZCRTkwMENFQzdBRSAvKiBmZGN0NHg0X25l
b24uYyBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkNFMkIxRjZCRTkwMENFQzdBRSAvKiBmZGN0
OHg4X25lb24uYyBpbiBTb3VyY2VzICovLAorCQkJCTQxRUVENzdGMjE1MkVEOEUwMDBGMkExNiAv
KiBmZGN0X25lb24uYyBpbiBTb3VyY2VzICovLAogCQkJCTQxRUVENzgwMjE1MkVEOEUwMDBGMkEx
NiAvKiBmZGN0X3BhcnRpYWxfbmVvbi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFDNjI5NDEyMTJF
MkYxRTAwMjMxM0Q0IC8qIGZpbHRlci5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFDNjI5NDIyMTJF
MkYxRTAwMjMxM0Q0IC8qIGZpbmRuZWFybXYuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxQ0IwQTVD
MjE1QzkwNzUwMDk3QjhBQSAvKiBmd2Fsc2hfc3NlMi5hc20gaW4gU291cmNlcyAqLywKIAkJCQk0
MTMzMEExOTIxMkUyQkRGMDAyODA5MzkgLyogZndkX3R4Zm0uYyBpbiBTb3VyY2VzICovLAorCQkJ
CTQxRUVENzgzMjE1MkVEOEUwMDBGMkExNiAvKiBmd2RfdHhmbV9uZW9uLmMgaW4gU291cmNlcyAq
LywKIAkJCQk0MUM2MjhGQzIxMkUyREIwMDAyMzEzRDQgLyogZndkX3R4Zm1fc3NlMi5jIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDFDQjBBNDAyMTVDOERDOTAwOTdCOEFBIC8qIGZ3ZF90eGZtX3Nzc2Uz
X3g4Nl82NC5hc20gaW4gU291cmNlcyAqLywKIAkJCQk0MTc1RUEwQjIxNjU5NkREMDBCNDYzOTAg
LyogZ2VuX3NjYWxlcnMuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxRUVENzg0MjE1MkVEOEUwMDBG
MkExNiAvKiBoYWRhbWFyZF9uZW9uLmMgaW4gU291cmNlcyAqLywKLQkJCQk0MUFCMzJDRDJCMUY2
QkU5MDBDRUM3QUUgLyogaGlnaGJkX2F2Z19uZW9uLmMgaW4gU291cmNlcyAqLywKLQkJCQk0MUFC
MzJEMjJCMUY2QkU5MDBDRUM3QUUgLyogaGlnaGJkX2F2Z19wcmVkX25lb24uYyBpbiBTb3VyY2Vz
ICovLAotCQkJCTQxQUIzMkQ2MkIxRjZCRTkwMENFQzdBRSAvKiBoaWdoYmRfaGFkYW1hcmRfbmVv
bi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5QkE5QzQyQjE1RjNDMDAwRTBEODI1IC8qIGhpZ2hi
ZF9pZGN0MTZ4MTZfYWRkX25lb24uYyBpbiBTb3VyY2VzICovLAogCQkJCTQxQjY3NUI3MjE2NTk5
QTgwMDQwQTc1RCAvKiBoaWdoYmRfaWRjdDE2eDE2X2FkZF9zc2UyLmMgaW4gU291cmNlcyAqLywK
IAkJCQk0MTQwMzYxODI0QUEyQjk3MDBCQ0U5QjIgLyogaGlnaGJkX2lkY3QxNngxNl9hZGRfc3Nl
NC5jIGluIFNvdXJjZXMgKi8sCkBAIC0yMzc3OCwxNyArMjM2NjgsMTEgQEAKIAkJCQk0MTlCQTlC
QzJCMTVGMzk4MDBFMEQ4MjUgLyogaGlnaGJkX2xvb3BmaWx0ZXJfbmVvbi5jIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDFCNjc1QzEyMTY1OTlBODAwNDBBNzVEIC8qIGhpZ2hiZF9sb29wZmlsdGVyX3Nz
ZTIuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxQjY3NUMyMjE2NTk5QTgwMDQwQTc1RCAvKiBoaWdo
YmRfcXVhbnRpemVfaW50cmluX3NzZTIuYyBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkRCMkIx
RjZCRTkwMENFQzdBRSAvKiBoaWdoYmRfcXVhbnRpemVfbmVvbi5jIGluIFNvdXJjZXMgKi8sCi0J
CQkJNDFBQjMyQ0MyQjFGNkJFOTAwQ0VDN0FFIC8qIGhpZ2hiZF9zYWQ0ZF9uZW9uLmMgaW4gU291
cmNlcyAqLywKIAkJCQk0MUNCMEE0MjIxNUM4REM5MDA5N0I4QUEgLyogaGlnaGJkX3NhZDRkX3Nz
ZTIuYXNtIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFBQjMyRDkyQjFGNkJFOTAwQ0VDN0FFIC8qIGhp
Z2hiZF9zYWRfbmVvbi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFDQjBBNDEyMTVDOERDOTAwOTdC
OEFBIC8qIGhpZ2hiZF9zYWRfc3NlMi5hc20gaW4gU291cmNlcyAqLywKIAkJCQk0MUNCMEE0MzIx
NUM4REM5MDA5N0I4QUEgLyogaGlnaGJkX3N1YnBlbF92YXJpYW5jZV9pbXBsX3NzZTIuYXNtIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNDFBQjMyREMyQjFGNkJFOTAwQ0VDN0FFIC8qIGhpZ2hiZF9zdWJw
ZWxfdmFyaWFuY2VfbmVvbi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE0MDM3ODgyNEFBMzJEQzAw
QkNFOUIyIC8qIGhpZ2hiZF90ZW1wb3JhbF9maWx0ZXJfc3NlNC5jIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFDQjBBNDQyMTVDOERDOTAwOTdCOEFBIC8qIGhpZ2hiZF92YXJpYW5jZV9pbXBsX3NzZTIu
YXNtIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFBQjMyRDEyQjFGNkJFOTAwQ0VDN0FFIC8qIGhpZ2hi
ZF92YXJpYW5jZV9uZW9uLmMgaW4gU291cmNlcyAqLywKLQkJCQk0MUFCMzJEMDJCMUY2QkU5MDBD
RUM3QUUgLyogaGlnaGJkX3ZhcmlhbmNlX25lb25fZG90cHJvZC5jIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFCNjc1QzMyMTY1OTlBODAwNDBBNzVEIC8qIGhpZ2hiZF92YXJpYW5jZV9zc2UyLmMgaW4g
U291cmNlcyAqLywKIAkJCQk0MTlCQTlCNTJCMTVGMzBGMDBFMEQ4MjUgLyogaGlnaGJkX3ZweF9j
b252b2x2ZThfbmVvbi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5QkE5QjkyQjE1RjM2MDAwRTBE
ODI1IC8qIGhpZ2hiZF92cHhfY29udm9sdmVfYXZnX25lb24uYyBpbiBTb3VyY2VzICovLApAQCAt
MjM4NjUsMTEgKzIzNzQ5LDEyIEBACiAJCQkJNDFDNjI5NEQyMTJFMkYxRTAwMjMxM0Q0IC8qIHJ0
Y2QuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxNDAzNjFCMjRBQTJEOTEwMEJDRTlCMiAvKiBzYWQu
YyBpbiBTb3VyY2VzICovLAogCQkJCTQxRUVEN0FBMjE1MkVEOEUwMDBGMkExNiAvKiBzYWQ0ZF9u
ZW9uLmMgaW4gU291cmNlcyAqLywKLQkJCQk0MUFCMzJENzJCMUY2QkU5MDBDRUM3QUUgLyogc2Fk
NGRfbmVvbl9kb3Rwcm9kLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MUNCMEE0QjIxNUM4REM5MDA5
N0I4QUEgLyogc2FkNGRfc3NlMi5hc20gaW4gU291cmNlcyAqLywKIAkJCQk0MUVFRDdBOTIxNTJF
RDhFMDAwRjJBMTYgLyogc2FkX25lb24uYyBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkQ4MkIx
RjZCRTkwMENFQzdBRSAvKiBzYWRfbmVvbl9kb3Rwcm9kLmMgaW4gU291cmNlcyAqLywKIAkJCQk0
MUNCMEE0ODIxNUM4REM5MDA5N0I4QUEgLyogc2FkX3NzZTIuYXNtIGluIFNvdXJjZXMgKi8sCisJ
CQkJNDFDQjBBMkEyMTVDOERBQjAwOTdCOEFBIC8qIHNhZF9zc2UzLmFzbSBpbiBTb3VyY2VzICov
LAorCQkJCTQxQ0IwQTQ5MjE1QzhEQzkwMDk3QjhBQSAvKiBzYWRfc3NlNC5hc20gaW4gU291cmNl
cyAqLywKKwkJCQk0MUNCMEE0QTIxNUM4REM5MDA5N0I4QUEgLyogc2FkX3Nzc2UzLmFzbSBpbiBT
b3VyY2VzICovLAogCQkJCTQxNjczMUJFMjEyRTA0MzAwMDEyODBFQiAvKiBzZWdtZW50YXRpb24u
YyBpbiBTb3VyY2VzICovLAogCQkJCTQxQzYyOTRFMjEyRTJGMUUwMDIzMTNENCAvKiBzZXR1cGlu
dHJhcmVjb24uYyBpbiBTb3VyY2VzICovLAogCQkJCTQxOTEwMEIyMjE1MkVDOTAwMEE2RjE3QiAv
KiBzaG9ydGZkY3RfbmVvbi5jIGluIFNvdXJjZXMgKi8sCkBAIC0yMzg5OSw3ICsyMzc4NCw2IEBA
CiAJCQkJNDE2NzMxQzAyMTJFMDQzMDAwMTI4MEVCIC8qIHRyZWV3cml0ZXIuYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxNjU5QzE0MjE2NTk3QjcwMENDQkRDMiAvKiB2YXJpYW5jZS5jIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDFFRUQ3QjAyMTUyRUQ4RTAwMEYyQTE2IC8qIHZhcmlhbmNlX25lb24uYyBp
biBTb3VyY2VzICovLAotCQkJCTQxQUIzMkRBMkIxRjZCRTkwMENFQzdBRSAvKiB2YXJpYW5jZV9u
ZW9uX2RvdHByb2QuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxQzYyOTIyMjEyRTJERTkwMDIzMTNE
NCAvKiB2YXJpYW5jZV9zc2UyLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTY1OUMwRDIxNjU5NzU3
MDBDQ0JEQzIgLyogdnA4X2FzbV9zdHVicy5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE2MkJBMzcy
MTY1OTYxNjAwNDRGMzQ0IC8qIHZwOF9jeF9pZmFjZS5jIGluIFNvdXJjZXMgKi8sCkBAIC0yMzky
Nyw3ICsyMzgxMSw2IEBACiAJCQkJNDE0MDM2MkYyNEFBMzA2NjAwQkNFOUIyIC8qIHZwOV9jeF9p
ZmFjZS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE0MDM2OTUyNEFBMzBCNjAwQkNFOUIyIC8qIHZw
OV9kY3QuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxNDAzNzhDMjRBQTMyREMwMEJDRTlCMiAvKiB2
cDlfZGN0X2ludHJpbl9zc2UyLmMgaW4gU291cmNlcyAqLywKLQkJCQk0MUFCMzJBNzJCMUY2QTA4
MDBDRUM3QUUgLyogdnA5X2RjdF9uZW9uLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzc4RTI0
QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2RjdF9zc2UyLmFzbSBpbiBTb3VyY2VzICovLAogCQkJCTQx
NDAzNzQwMjRBQTMwREEwMEJDRTlCMiAvKiB2cDlfZGVidWdtb2Rlcy5jIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDE0MDM2RUEyNEFBMzBCQzAwQkNFOUIyIC8qIHZwOV9kZWNvZGVmcmFtZS5jIGluIFNv
dXJjZXMgKi8sCkBAIC0yMzkzNyw3ICsyMzgyMCw3IEBACiAJCQkJNDE0MDM3QjMyNEFCMzU5NzAw
QkNFOUIyIC8qIHZwOV9kZW5vaXNlcl9uZW9uLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzc4
OTI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2Rlbm9pc2VyX3NzZTIuYyBpbiBTb3VyY2VzICovLAog
CQkJCTQxNDAzNkVEMjRBQTMwQkMwMEJDRTlCMiAvKiB2cDlfZGV0b2tlbml6ZS5jIGluIFNvdXJj
ZXMgKi8sCi0JCQkJNDFBQjMyQUEyQjFGNkEwODAwQ0VDN0FFIC8qIHZwOV9kaWFtb25kX3NlYXJj
aF9zYWRfbmVvbi5jIGluIFNvdXJjZXMgKi8sCisJCQkJNDE0MDM3OEYyNEFBMzJEQzAwQkNFOUIy
IC8qIHZwOV9kaWFtb25kX3NlYXJjaF9zYWRfYXZ4LmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQw
MzZFQjI0QUEzMEJDMDBCQ0U5QjIgLyogdnA5X2RzdWJleHAuYyBpbiBTb3VyY2VzICovLAogCQkJ
CTQxNDAzNjMyMjRBQTMwNjYwMEJDRTlCMiAvKiB2cDlfZHhfaWZhY2UuYyBpbiBTb3VyY2VzICov
LAogCQkJCTQxNDAzNkM2MjRBQTMwQjcwMEJDRTlCMiAvKiB2cDlfZW5jb2RlZnJhbWUuYyBpbiBT
b3VyY2VzICovLApAQCAtMjM5NTMsMjAgKzIzODM2LDE3IEBACiAJCQkJNDFENzI5MTYyNjY1MEND
NDAwNjUxQTBCIC8qIHZwOV9leHRfcmF0ZWN0cmwuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxNDAz
NkMxMjRBQTMwQjcwMEJDRTlCMiAvKiB2cDlfZXh0ZW5kLmMgaW4gU291cmNlcyAqLywKIAkJCQk0
MTQwMzc0NzI0QUEzMERBMDBCQ0U5QjIgLyogdnA5X2ZpbHRlci5jIGluIFNvdXJjZXMgKi8sCi0J
CQkJNDFBQjMyQjMyQjFGNkJBMDAwQ0VDN0FFIC8qIHZwOV9maXJzdHBhc3MuYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxNDAzNzMzMjRBQTMwRDkwMEJDRTlCMiAvKiB2cDlfZnJhbWVfYnVmZmVycy5j
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDE0MDM2RDkyNEFBMzBCNzAwQkNFOUIyIC8qIHZwOV9mcmFt
ZV9zY2FsZS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE0MDM3QjUyNEFCMzU5NzAwQkNFOUIyIC8q
IHZwOV9mcmFtZV9zY2FsZV9uZW9uLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzc4NjI0QUEz
MkRDMDBCQ0U5QjIgLyogdnA5X2ZyYW1lX3NjYWxlX3Nzc2UzLmMgaW4gU291cmNlcyAqLywKIAkJ
CQk0MTQwMzc4NzI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X2hpZ2hiZF9ibG9ja19lcnJvcl9pbnRy
aW5fc3NlMi5jIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFBQjMyQTgyQjFGNkEwODAwQ0VDN0FFIC8q
IHZwOV9oaWdoYmRfZXJyb3JfbmVvbi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5QkE5QjMyQjE1
RjJBRDAwRTBEODI1IC8qIHZwOV9oaWdoYmRfaWh0MTZ4MTZfYWRkX25lb24uYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxNDAzNzYwMjRBQTMxMTUwMEJDRTlCMiAvKiB2cDlfaGlnaGJkX2lodDE2eDE2
X2FkZF9zc2U0LmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTlCQTlCNDJCMTVGMzAzMDBFMEQ4MjUg
LyogdnA5X2hpZ2hiZF9paHQ0eDRfYWRkX25lb24uYyBpbiBTb3VyY2VzICovLAogCQkJCTQxNDAz
NzYxMjRBQTMxMTUwMEJDRTlCMiAvKiB2cDlfaGlnaGJkX2lodDR4NF9hZGRfc3NlNC5jIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDE5QkE5QjYyQjE1RjMzMTAwRTBEODI1IC8qIHZwOV9oaWdoYmRfaWh0
OHg4X2FkZF9uZW9uLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzc2NDI0QUEzMTE1MDBCQ0U5
QjIgLyogdnA5X2hpZ2hiZF9paHQ4eDhfYWRkX3NzZTQuYyBpbiBTb3VyY2VzICovLAotCQkJCTQx
QUIzMkE2MkIxRjZBMDgwMENFQzdBRSAvKiB2cDlfaGlnaGJkX3RlbXBvcmFsX2ZpbHRlcl9uZW9u
LmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzczRDI0QUEzMERBMDBCQ0U5QjIgLyogdnA5X2lk
Y3QuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxNDAzNzYyMjRBQTMxMTUwMEJDRTlCMiAvKiB2cDlf
aWRjdF9pbnRyaW5fc3NlMi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE0MDM2MkQyNEFBMzA2NjAw
QkNFOUIyIC8qIHZwOV9pZmFjZV9jb21tb24uYyBpbiBTb3VyY2VzICovLApAQCAtMjM5OTIsNyAr
MjM4NzIsNyBAQAogCQkJCTQxNDAzNkEzMjRBQTMwQjYwMEJDRTlCMiAvKiB2cDlfcXVhbnRpemUu
YyBpbiBTb3VyY2VzICovLAogCQkJCTQxNDAzN0I2MjRBQjM1OTcwMEJDRTlCMiAvKiB2cDlfcXVh
bnRpemVfbmVvbi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE0MDM3OEQyNEFBMzJEQzAwQkNFOUIy
IC8qIHZwOV9xdWFudGl6ZV9zc2UyLmMgaW4gU291cmNlcyAqLywKLQkJCQk0MTBDQkZDNzJCMjBD
M0QxMDAwMDVEQTIgLyogdnA5X3F1YW50aXplX3Nzc2UzLmMgaW4gU291cmNlcyAqLywKKwkJCQk0
MTQwMzc4NDI0QUEzMkRDMDBCQ0U5QjIgLyogdnA5X3F1YW50aXplX3Nzc2UzX3g4Nl82NC5hc20g
aW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzY4QzI0QUEzMEI2MDBCQ0U5QjIgLyogdnA5X3JhdGVj
dHJsLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzZEMzI0QUEzMEI3MDBCQ0U5QjIgLyogdnA5
X3JkLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzZCMjI0QUEzMEI3MDBCQ0U5QjIgLyogdnA5
X3Jkb3B0LmMgaW4gU291cmNlcyAqLywKQEAgLTI0MDA4LDMyICsyMzg4OCwyMCBAQAogCQkJCTQx
NDAzNjk2MjRBQTMwQjYwMEJDRTlCMiAvKiB2cDlfc3BlZWRfZmVhdHVyZXMuYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxNDAzNjlEMjRBQTMwQjYwMEJDRTlCMiAvKiB2cDlfc3ViZXhwLmMgaW4gU291
cmNlcyAqLywKIAkJCQk0MTQwMzZDRDI0QUEzMEI3MDBCQ0U5QjIgLyogdnA5X3N2Y19sYXllcmNv
bnRleHQuYyBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkE5MkIxRjZBMDgwMENFQzdBRSAvKiB2
cDlfdGVtcG9yYWxfZmlsdGVyX25lb24uYyBpbiBTb3VyY2VzICovLAorCQkJCTQxRDAxMTU4MkIx
NjM5RDcwMEIwNTM4OCAvKiB2cDlfdGVtcG9yYWxfZmlsdGVyLmMgaW4gU291cmNlcyAqLywKIAkJ
CQk0MTQwMzczQzI0QUEzMERBMDBCQ0U5QjIgLyogdnA5X3RocmVhZF9jb21tb24uYyBpbiBTb3Vy
Y2VzICovLAogCQkJCTQxNDAzNzRDMjRBQTMwREEwMEJDRTlCMiAvKiB2cDlfdGlsZV9jb21tb24u
YyBpbiBTb3VyY2VzICovLAogCQkJCTQxNDAzNkNBMjRBQTMwQjcwMEJDRTlCMiAvKiB2cDlfdG9r
ZW5pemUuYyBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkIxMkIxRjZCQTAwMENFQzdBRSAvKiB2
cDlfdHBsX21vZGVsLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTQwMzZCMTI0QUEzMEI3MDBCQ0U5
QjIgLyogdnA5X3RyZWV3cml0ZXIuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxOEIxNEUwMjE2NTk1
OUYwMDQ2RTAzRiAvKiB2cHhfY29kZWMuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxQ0IwQTExMjE1
QzhEOTQwMDk3QjhBQSAvKiB2cHhfY29uZmlnLmFzbSBpbiBTb3VyY2VzICovLAogCQkJCTQxMjk0
MDhBMjEyRTBDQzQwMEFEOTVFNyAvKiB2cHhfY29uZmlnLmMgaW4gU291cmNlcyAqLywKIAkJCQk0
MTMzMEEyNjIxMkUyQkRGMDAyODA5MzkgLyogdnB4X2NvbnZvbHZlLmMgaW4gU291cmNlcyAqLywK
LQkJCQk0MUFCMzJGNjJCMUY2Q0Q0MDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlOF9hdmdfaG9yaXpf
ZmlsdGVyX3R5cGUxX25lb24uYXNtIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFBQjMyRUUyQjFGNkNE
NDAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfYXZnX2hvcml6X2ZpbHRlcl90eXBlMl9uZW9uLmFz
bSBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkVGMkIxRjZDRDQwMENFQzdBRSAvKiB2cHhfY29u
dm9sdmU4X2F2Z192ZXJ0X2ZpbHRlcl90eXBlMV9uZW9uLmFzbSBpbiBTb3VyY2VzICovLAotCQkJ
CTQxQUIzMkY4MkIxRjZDRDQwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X2F2Z192ZXJ0X2ZpbHRl
cl90eXBlMl9uZW9uLmFzbSBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkYxMkIxRjZDRDQwMENF
QzdBRSAvKiB2cHhfY29udm9sdmU4X2hvcml6X2ZpbHRlcl90eXBlMV9uZW9uLmFzbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTQxQUIzMkYyMkIxRjZDRDQwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X2hv
cml6X2ZpbHRlcl90eXBlMl9uZW9uLmFzbSBpbiBTb3VyY2VzICovLAogCQkJCTQxRUVEN0I4MjE1
MkVEOEUwMDBGMkExNiAvKiB2cHhfY29udm9sdmU4X25lb24uYyBpbiBTb3VyY2VzICovLAotCQkJ
CTQxQUIzMkUyMkIxRjZDODgwMENFQzdBRSAvKiB2cHhfY29udm9sdmU4X25lb25fYXNtLmMgaW4g
U291cmNlcyAqLywKLQkJCQk0MUFCMzJFMTJCMUY2Qzg4MDBDRUM3QUUgLyogdnB4X2NvbnZvbHZl
OF9uZW9uX2RvdHByb2QuYyBpbiBTb3VyY2VzICovLAotCQkJCTQxQUIzMkY1MkIxRjZDRDQwMENF
QzdBRSAvKiB2cHhfY29udm9sdmU4X3ZlcnRfZmlsdGVyX3R5cGUxX25lb24uYXNtIGluIFNvdXJj
ZXMgKi8sCi0JCQkJNDFBQjMyRjcyQjFGNkNENDAwQ0VDN0FFIC8qIHZweF9jb252b2x2ZThfdmVy
dF9maWx0ZXJfdHlwZTJfbmVvbi5hc20gaW4gU291cmNlcyAqLywKIAkJCQk0MUVFRDdCMjIxNTJF
RDhFMDAwRjJBMTYgLyogdnB4X2NvbnZvbHZlX2F2Z19uZW9uLmMgaW4gU291cmNlcyAqLywKIAkJ
CQk0MUVFRDdCNDIxNTJFRDhFMDAwRjJBMTYgLyogdnB4X2NvbnZvbHZlX2NvcHlfbmVvbi5jIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDFDQjBBNEYyMTVDOERDOTAwOTdCOEFBIC8qIHZweF9jb252b2x2
ZV9jb3B5X3NzZTIuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFFRUQ3QjUyMTUyRUQ4RTAwMEYy
QTE2IC8qIHZweF9jb252b2x2ZV9uZW9uLmMgaW4gU291cmNlcyAqLywKLQkJCQk0MUFCMzJEMzJC
MUY2QkU5MDBDRUM3QUUgLyogdnB4X2NvbnZvbHZlX25lb25fZG90cHJvZC5jIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDE4QjE0RTEyMTY1OTU5RjAwNDZFMDNGIC8qIHZweF9kZWNvZGVyLmMgaW4gU291
cmNlcyAqLywKIAkJCQk0MTMzMEEyNzIxMkUyQkRGMDAyODA5MzkgLyogdnB4X2RzcF9ydGNkLmMg
aW4gU291cmNlcyAqLywKIAkJCQk0MThCMTRFMjIxNjU5NTlGMDA0NkUwM0YgLyogdnB4X2VuY29k
ZXIuYyBpbiBTb3VyY2VzICovLApAQCAtMjQwNDUsMTEgKzIzOTEzLDExIEBACiAJCQkJNDEzMzBB
MzQyMTJFMkMxRjAwMjgwOTM5IC8qIHZweF9zY2FsZV9ydGNkLmMgaW4gU291cmNlcyAqLywKIAkJ
CQk0MUVFRDdCQTIxNTJFRDhFMDAwRjJBMTYgLyogdnB4X3NjYWxlZF9jb252b2x2ZThfbmVvbi5j
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDE0MDM2MEUyNEFBMjUzQTAwQkNFOUIyIC8qIHZweF9zdWJw
aXhlbF80dF9pbnRyaW5fc3NlMi5jIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFBQjMzMjQyQjIwNjFB
MDAwQ0VDN0FFIC8qIHZweF9zdWJwaXhlbF84dF9pbnRyaW5fc3NzZTMuYyBpbiBTb3VyY2VzICov
LAorCQkJCTQxQzYyOTBEMjEyRTJEQjAwMDIzMTNENCAvKiB2cHhfc3VicGl4ZWxfOHRfaW50cmlu
X3Nzc2UzLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MUNCMEE1MTIxNUM4REM5MDA5N0I4QUEgLyog
dnB4X3N1YnBpeGVsXzh0X3NzZTIuYXNtIGluIFNvdXJjZXMgKi8sCi0JCQkJNDFBQjMzMjYyQjIw
NjFBMDAwQ0VDN0FFIC8qIHZweF9zdWJwaXhlbF84dF9zc3NlMy5hc20gaW4gU291cmNlcyAqLywK
KwkJCQk0MUNCMEE1MjIxNUM4REM5MDA5N0I4QUEgLyogdnB4X3N1YnBpeGVsXzh0X3Nzc2UzLmFz
bSBpbiBTb3VyY2VzICovLAogCQkJCTQxQ0IwQTUzMjE1QzhEQzkwMDk3QjhBQSAvKiB2cHhfc3Vi
cGl4ZWxfYmlsaW5lYXJfc3NlMi5hc20gaW4gU291cmNlcyAqLywKLQkJCQk0MUFCMzMyNTJCMjA2
MUEwMDBDRUM3QUUgLyogdnB4X3N1YnBpeGVsX2JpbGluZWFyX3Nzc2UzLmFzbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTQxQ0IwQTU0MjE1QzhEQzkwMDk3QjhBQSAvKiB2cHhfc3VicGl4ZWxfYmlsaW5l
YXJfc3NzZTMuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFCQUUzQzAyMTJFMkM1QjAwRTIyNDgy
IC8qIHZweF90aHJlYWQuYyBpbiBTb3VyY2VzICovLAogCQkJCTQxQkFFM0MyMjEyRTJDNUIwMEUy
MjQ4MiAvKiB2cHhfd3JpdGVfeXV2X2ZyYW1lLmMgaW4gU291cmNlcyAqLywKIAkJCQk0MTc1RUEw
RDIxNjU5NkREMDBCNDYzOTAgLyogeXYxMmNvbmZpZy5jIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>